rebrand: Switchboard Core → Armature
- Rename Go module switchboard-core → armature (155+ files) - Rename Docker image → gobha/armature - Rename K8s resources, secrets, deployments - Rename Prometheus metrics switchboard_* → armature_* - Rename env vars SWITCHBOARD_ADMIN_* → ARMATURE_ADMIN_* - Rename DB names switchboard_core* → armature* - Update all frontend branding, notification templates, docs - Update CI scripts, e2e tests, Keycloak realm, nginx conf - Rename scripts/switchboard-ca.sh → scripts/armature-ca.sh - Rename k8s/switchboard.yaml → k8s/armature.yaml - Rename chart alerting/dashboard files - Fix: DockerHub push uses env: binding for secret injection - Helm chart updated (name, labels, template functions, dashboard, alerting) - Replace favicon/icon assets with Armature brand No functional changes. Pure mechanical rename + CI fix. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Packages
|
||||
|
||||
Installable `.pkg` archives for Chat Switchboard. Each subdirectory is a
|
||||
Installable `.pkg` archives for Chat Armature. Each subdirectory is a
|
||||
package — either a surface (routable UI), an extension (hooks/tools/pipes),
|
||||
or both (`full` type).
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"version": "0.1.0",
|
||||
"tier": "browser",
|
||||
"icon": "🐛",
|
||||
"author": "Switchboard Core",
|
||||
"author": "Armature",
|
||||
"description": "Public bug report submission with severity-based routing, team assignment, and SLA timers.",
|
||||
"permissions": [],
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"tier": "starlark",
|
||||
"version": "0.2.0",
|
||||
"description": "Core chat library — conversations, messages, participants, read cursors. Usable by other packages via lib.require().",
|
||||
"author": "switchboard",
|
||||
"author": "armature",
|
||||
|
||||
"permissions": ["db.write", "realtime.publish"],
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"version": "0.2.0",
|
||||
"icon": "\ud83d\udcac",
|
||||
"description": "Chat surface — conversations, messaging, typing indicators, read receipts.",
|
||||
"author": "switchboard",
|
||||
"author": "armature",
|
||||
|
||||
"permissions": ["db.write", "realtime.publish"],
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"version": "0.1.0",
|
||||
"tier": "browser",
|
||||
"icon": "📝",
|
||||
"author": "Switchboard Core",
|
||||
"author": "Armature",
|
||||
"description": "Multi-party content review with quorum signoff and revision cycle.",
|
||||
"permissions": [],
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "1.0.0",
|
||||
"type": "extension",
|
||||
"tier": "browser",
|
||||
"author": "switchboard",
|
||||
"author": "armature",
|
||||
"description": "Renders ```csv code blocks as sortable, interactive HTML tables",
|
||||
"requires": [],
|
||||
"permissions": [],
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// ==========================================
|
||||
// Switchboard Core — Dashboard Package (v0.31.1)
|
||||
// Armature — Dashboard Package (v0.31.1)
|
||||
// ==========================================
|
||||
// SDK Exercise Surface. Exercises every sw.* primitive with ZERO
|
||||
// component CSS overrides. All styling comes from the SDK itself.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"type": "full",
|
||||
"version": "0.31.1",
|
||||
"tier": "browser",
|
||||
"author": "Switchboard Core",
|
||||
"author": "Armature",
|
||||
"icon": "📊",
|
||||
"description": "Project dashboard exercising all SDK primitives (requires legacy sw.* SDK — dormant until rewritten)",
|
||||
"requires": ["legacy-sdk"],
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "1.0.0",
|
||||
"type": "extension",
|
||||
"tier": "browser",
|
||||
"author": "switchboard",
|
||||
"author": "armature",
|
||||
"description": "Renders ```diff code blocks with syntax-highlighted additions, deletions, and context lines",
|
||||
"requires": [],
|
||||
"permissions": [],
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// ==========================================
|
||||
// Switchboard Core — Editor Package (v0.31.0)
|
||||
// Armature — Editor Package (v0.31.0)
|
||||
// ==========================================
|
||||
// Installable .pkg that provides the code editor surface.
|
||||
// Mounts into #extension-mount (surface-extension template).
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"type": "full",
|
||||
"version": "0.31.0",
|
||||
"tier": "browser",
|
||||
"author": "Switchboard Core",
|
||||
"author": "Armature",
|
||||
"icon": "✏️",
|
||||
"description": "Code editor with workspace management, file tree, and AI assist (requires legacy sw.* SDK — dormant until rewritten)",
|
||||
"requires": ["legacy-sdk"],
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"version": "0.1.0",
|
||||
"tier": "starlark",
|
||||
"icon": "🏢",
|
||||
"author": "Switchboard Core",
|
||||
"author": "Armature",
|
||||
"description": "Employee onboarding with automated provisioning, manager signoff, and welcome notification.",
|
||||
"permissions": ["db.write", "notifications.send"],
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"version": "0.2.0",
|
||||
"icon": "🔀",
|
||||
"description": "Gitea issue and PR board powered by the gitea-client library. Uses extension connections for authentication.",
|
||||
"author": "switchboard",
|
||||
"author": "armature",
|
||||
|
||||
"permissions": ["connections.read"],
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"tier": "starlark",
|
||||
"version": "1.0.1",
|
||||
"description": "Shared Gitea client — connections, API helpers, optional data caching.",
|
||||
"author": "switchboard",
|
||||
"author": "armature",
|
||||
|
||||
"permissions": ["api.http", "connections.read", "db.read", "db.write"],
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
type: 'full',
|
||||
version: '0.31.1',
|
||||
tier: 'browser',
|
||||
author: 'Switchboard Core',
|
||||
author: 'Armature',
|
||||
description: 'Project dashboard exercising all SDK primitives',
|
||||
route: '/s/dashboard',
|
||||
permissions: [],
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
type: 'full',
|
||||
version: '0.31.0',
|
||||
tier: 'browser',
|
||||
author: 'Switchboard Core',
|
||||
author: 'Armature',
|
||||
description: 'Code editor with workspace management',
|
||||
route: '/s/editor',
|
||||
layout: 'editor',
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
var resp = await fetch(T.base + '/metrics');
|
||||
T.assert(resp.ok, 'expected 200 from /metrics, got ' + resp.status);
|
||||
var text = await resp.text();
|
||||
T.assert(text.indexOf('switchboard_http_requests_total') !== -1, 'expected switchboard_http_requests_total in /metrics');
|
||||
T.assert(text.indexOf('switchboard_http_request_duration_seconds') !== -1, 'expected switchboard_http_request_duration_seconds in /metrics');
|
||||
T.assert(text.indexOf('switchboard_websocket_connections') !== -1, 'expected switchboard_websocket_connections in /metrics');
|
||||
T.assert(text.indexOf('armature_http_requests_total') !== -1, 'expected armature_http_requests_total in /metrics');
|
||||
T.assert(text.indexOf('armature_http_request_duration_seconds') !== -1, 'expected armature_http_request_duration_seconds in /metrics');
|
||||
T.assert(text.indexOf('armature_websocket_connections') !== -1, 'expected armature_websocket_connections in /metrics');
|
||||
});
|
||||
|
||||
// -- GET /api/docs (Swagger UI) --
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* 8. tier-security.js — Adversarial red-team tests (auth, cross-tenant, input validation)
|
||||
* 9. tier-providers.js — Three-tier provider CRUD + live completions
|
||||
* 10. tier-packaging.js — Extension permission lifecycle + secrets (v0.29.0)
|
||||
* 11. tier-sdk.js — Switchboard SDK contract tests
|
||||
* 11. tier-sdk.js — Armature SDK contract tests
|
||||
* 12. ui.js — Render functions, export, provider setup panel
|
||||
* 11. (this file) — Boot
|
||||
*/
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Validates Preact SDK (sw/sdk/index.js) contract: boot, identity,
|
||||
* REST client, events, theme, pipe registration, execution ordering,
|
||||
* scoping, halt semantics, error isolation, introspection.
|
||||
* v0.37.14: Updated from Switchboard.init() to boot() API.
|
||||
* v0.37.14: Updated from Armature.init() to boot() API.
|
||||
*/
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
@@ -236,7 +236,7 @@
|
||||
}, 'Providers');
|
||||
T.el.controls.appendChild(btnProv);
|
||||
|
||||
// SDK tier button — tests switchboard-sdk.js contract
|
||||
// SDK tier button — tests armature-sdk.js contract
|
||||
var btnSdk = $('button', {
|
||||
className: (typeof window.sw !== 'undefined') ? 'btn-secondary' : 'btn-ghost',
|
||||
style: { opacity: (typeof window.sw !== 'undefined') ? '1' : '0.5' },
|
||||
@@ -368,7 +368,7 @@
|
||||
var totalMs = T.results.reduce(function (s, r) { return s + r.duration; }, 0);
|
||||
|
||||
var lines = [];
|
||||
lines.push('=== Switchboard Core ICD Test Report ===');
|
||||
lines.push('=== Armature ICD Test Report ===');
|
||||
lines.push('Generated: ' + now);
|
||||
lines.push('Platform: v' + (T.manifest.version || '0.28.0'));
|
||||
lines.push('User: ' + T.user.username + ' (' + T.user.role + ')');
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "1.0.0",
|
||||
"type": "extension",
|
||||
"tier": "browser",
|
||||
"author": "switchboard",
|
||||
"author": "armature",
|
||||
"description": "Executes JavaScript in a sandboxed iframe. Allows the LLM to run code, verify calculations, and transform data — no server compute required.",
|
||||
"requires": ["chat"],
|
||||
"permissions": [],
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "1.0.0",
|
||||
"type": "extension",
|
||||
"tier": "browser",
|
||||
"author": "switchboard",
|
||||
"author": "armature",
|
||||
"description": "Renders LaTeX math expressions: ```latex blocks and inline $...$ / $$...$$ syntax",
|
||||
"requires": [],
|
||||
"permissions": [],
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "2.0.0",
|
||||
"type": "extension",
|
||||
"tier": "browser",
|
||||
"author": "switchboard",
|
||||
"author": "armature",
|
||||
"description": "Renders ```mermaid code blocks as interactive SVG diagrams with zoom/pan, SVG/PNG export, and source copy",
|
||||
"requires": [],
|
||||
"permissions": [],
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"version": "0.8.0",
|
||||
"icon": "📝",
|
||||
"description": "Markdown notes surface with rich editor, folders, tags, backlinks, import/export, sidebar tabs, document outline, and note graph.",
|
||||
"author": "switchboard",
|
||||
"author": "armature",
|
||||
|
||||
"permissions": ["db.write"],
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "1.0.0",
|
||||
"type": "extension",
|
||||
"tier": "browser",
|
||||
"author": "switchboard",
|
||||
"author": "armature",
|
||||
"description": "Tests regular expressions against input strings. Allows the LLM to verify regex patterns and see matches, groups, and indices.",
|
||||
"requires": ["chat"],
|
||||
"permissions": [],
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"type": "full",
|
||||
"version": "0.1.0",
|
||||
"tier": "browser",
|
||||
"author": "Switchboard Core",
|
||||
"author": "Armature",
|
||||
"icon": "⏰",
|
||||
"description": "Manage cron jobs and scheduled automations",
|
||||
"route": "/s/schedules",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"version": "0.1.0",
|
||||
"icon": "✅",
|
||||
"description": "Task management surface with lifecycle events, webhook integration, and scheduled reminders.",
|
||||
"author": "switchboard",
|
||||
"author": "armature",
|
||||
|
||||
"permissions": ["db.write", "notifications.send"],
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"layout": "single",
|
||||
"version": "0.1.0",
|
||||
"description": "Example surface demonstrating Starlark API routes, extension-owned DB tables, admin settings, and SDK integration.",
|
||||
"author": "switchboard",
|
||||
"author": "armature",
|
||||
|
||||
"permissions": ["api.http", "db.read", "db.write"],
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"version": "0.1.0",
|
||||
"tier": "starlark",
|
||||
"icon": "🔔",
|
||||
"author": "Switchboard Core",
|
||||
"author": "Armature",
|
||||
"description": "Outbound webhook delivery with connection credential support and delivery logging.",
|
||||
"permissions": ["api.http", "connections.read", "db.write"],
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"tier": "starlark",
|
||||
"version": "0.1.0",
|
||||
"description": "Creates scoped chat conversations when workflow stages require team collaboration. Wire into stage_config as an on_advance hook.",
|
||||
"author": "switchboard",
|
||||
"author": "armature",
|
||||
|
||||
"permissions": ["db.write", "realtime.publish"],
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// ==========================================
|
||||
// Switchboard Core — Workflow Demo Surface
|
||||
// Armature — Workflow Demo Surface
|
||||
// ==========================================
|
||||
// Interactive walkthrough of the four example workflow packages.
|
||||
// Shows workflow cards with feature badges, stage flow diagrams,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"version": "0.1.0",
|
||||
"tier": "browser",
|
||||
"icon": "🎓",
|
||||
"author": "Switchboard Core",
|
||||
"author": "Armature",
|
||||
"description": "Interactive demo surface for example workflow packages. Cards, stage diagrams, and API walkthroughs.",
|
||||
"route": "/s/workflow-demo",
|
||||
"auth": "authenticated",
|
||||
|
||||
Reference in New Issue
Block a user