@volter-ai-dev/supercode-ui 0.1.71 → 0.1.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +24 -0
  2. package/activity.mjs +2 -2
  3. package/chunks/{chunk-O7Q2PELK.mjs → chunk-2FG7VKIW.mjs} +1 -1
  4. package/chunks/{chunk-XD2WJYSL.mjs → chunk-4XUMCWPC.mjs} +1 -1
  5. package/chunks/{chunk-LQMYNJPU.mjs → chunk-E65I2I2L.mjs} +1 -1
  6. package/chunks/{chunk-OW42DS6P.mjs → chunk-IL5T2AST.mjs} +4 -4
  7. package/chunks/{chunk-ATCOWFRV.mjs → chunk-TKTOVDXB.mjs} +40 -6
  8. package/chunks/{chunk-SSYNT434.mjs → chunk-WRK5TBX3.mjs} +1 -1
  9. package/components.mjs +6 -6
  10. package/embed.mjs +5 -5
  11. package/logo.mjs +1 -1
  12. package/messenger.mjs +5 -5
  13. package/package.json +21 -3
  14. package/react/activity.mjs +2 -2
  15. package/react/chunks/{chunk-ZM5X5LOF.mjs → chunk-LYRIQE5M.mjs} +1 -1
  16. package/react/chunks/{chunk-ZXD7NZXI.mjs → chunk-NJC6S2AW.mjs} +1 -1
  17. package/react/chunks/{chunk-2RIHDJT6.mjs → chunk-QL6QEYPK.mjs} +4 -4
  18. package/react/chunks/{chunk-TQHX2DQG.mjs → chunk-UGL6AB2K.mjs} +1 -1
  19. package/react/chunks/{chunk-GV5KV5UY.mjs → chunk-VFOVJ4S3.mjs} +40 -6
  20. package/react/chunks/{chunk-GYQOTTZ5.mjs → chunk-YK7SJ6EH.mjs} +1 -1
  21. package/react/components.mjs +6 -6
  22. package/react/logo.mjs +1 -1
  23. package/react/messenger.mjs +5 -5
  24. package/react/sessions.mjs +2 -2
  25. package/react/settings.mjs +2 -2
  26. package/react/subagents.mjs +2 -2
  27. package/react/supervision-components.mjs +1354 -0
  28. package/react/supervision.d.ts +36 -0
  29. package/sessions.mjs +2 -2
  30. package/settings.mjs +2 -2
  31. package/source-inventory.d.ts +240 -0
  32. package/source-inventory.mjs +367 -0
  33. package/styles.css +92 -0
  34. package/subagents.mjs +2 -2
  35. package/supervision-components.d.ts +36 -0
  36. package/supervision-components.mjs +1354 -0
  37. package/supervision.d.ts +242 -0
  38. package/supervision.mjs +349 -0
package/README.md CHANGED
@@ -372,3 +372,27 @@ honest unavailable-preview state rather than a broken thumbnail or deceptive act
372
372
  An embedding product such as Vibewaiting should therefore be small: Lucarne owns its iframe and
373
373
  launcher lifecycle, Supercode owns this UI and the controller semantics, and Vibewaiting only
374
374
  bridges state/intents plus host-specific theme and persistence policy.
375
+
376
+ ## Native supervision (0.1.72)
377
+
378
+ Independent workflow, job/run, configuration inventory and approval compositions
379
+ are available from `./preact/supervision` and `./react/supervision`. Their bounded
380
+ projections and native host adapters live in `./supervision`. These do not need
381
+ a conversation controller. A host supplies source scopes and native SDK clients.
382
+
383
+ `createSupervisionHost` binds job discovery, profile-scoped run history and
384
+ confirmed pause, resume, run requests and deletion for Hermes, OpenClaw and the orchestrator. `createSourceInventoryHost`
385
+ reads profiles, channels, routes, triggers, skills and memory; it does not turn
386
+ instance-wide native readers into per-profile readers. `createApprovalHost`
387
+ requires the existing native connection and session, re-reads a pending choice,
388
+ and requires a matching decision receipt. Configuration inventories are read-only. `JobControls` requires explicit host capabilities and keeps run-request receipts distinct from completed runs.
389
+
390
+ The public parts include `JobList`, `OrchestrationJobs`, `SourceInspector` and
391
+ `ApprovalInbox`; see the source inventory and supervision parts stories. Native
392
+ unknowns, discovery failures and delivery failures remain distinct states.
393
+
394
+ Validation: package build, TypeScript checks and 49 headless tests pass, including
395
+ colliding job IDs across orchestrator profiles and confirmation of a paused job.
396
+ Workbench separately exercised these components in normal Chrome and native job
397
+ creation/history/pause against a disposable orchestrator home. This does not claim
398
+ full scheduling migration, write editors, or live permission round-trip coverage.
package/activity.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  AgentActivityLauncher
3
- } from "./chunks/chunk-XD2WJYSL.mjs";
4
- import "./chunks/chunk-ATCOWFRV.mjs";
3
+ } from "./chunks/chunk-4XUMCWPC.mjs";
4
+ import "./chunks/chunk-TKTOVDXB.mjs";
5
5
  import "./chunks/chunk-LS6JBXNT.mjs";
6
6
  export {
7
7
  AgentActivityLauncher
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  HarnessLogo
3
- } from "./chunk-ATCOWFRV.mjs";
3
+ } from "./chunk-TKTOVDXB.mjs";
4
4
  import {
5
5
  LoadingStatus
6
6
  } from "./chunk-LOP6XOON.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  HarnessLogo
3
- } from "./chunk-ATCOWFRV.mjs";
3
+ } from "./chunk-TKTOVDXB.mjs";
4
4
  import {
5
5
  projectAgentActivity
6
6
  } from "./chunk-LS6JBXNT.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  HarnessLogo
3
- } from "./chunk-ATCOWFRV.mjs";
3
+ } from "./chunk-TKTOVDXB.mjs";
4
4
  import {
5
5
  Conversation
6
6
  } from "./chunk-LOP6XOON.mjs";
@@ -3,16 +3,16 @@ import {
3
3
  HarnessPicker,
4
4
  HarnessReadiness,
5
5
  HarnessSettingsPanel
6
- } from "./chunk-SSYNT434.mjs";
6
+ } from "./chunk-WRK5TBX3.mjs";
7
7
  import {
8
8
  SessionList
9
- } from "./chunk-O7Q2PELK.mjs";
9
+ } from "./chunk-2FG7VKIW.mjs";
10
10
  import {
11
11
  SubagentInspector
12
- } from "./chunk-LQMYNJPU.mjs";
12
+ } from "./chunk-E65I2I2L.mjs";
13
13
  import {
14
14
  HarnessLogo
15
- } from "./chunk-ATCOWFRV.mjs";
15
+ } from "./chunk-TKTOVDXB.mjs";
16
16
  import {
17
17
  Conversation
18
18
  } from "./chunk-LOP6XOON.mjs";
@@ -42,12 +42,43 @@ var LOGOS = {
42
42
  ]
43
43
  },
44
44
  // Product mark shared with the first-party browser frontend favicon.
45
- supercode: {
45
+ // OpenClaw's own mark: docs/assets/pixel-lobster.svg from openclaw/openclaw,
46
+ // transcribed rect-for-rect as one path per fill (pixel art needs
47
+ // crisp edges, so the rects stay axis-aligned unit squares).
48
+ openclaw: {
49
+ viewBox: "0 0 16 16",
50
+ paths: [
51
+ ["path", { fill: "#3a0a0d", d: "M1 5h1v3h-1zM2 4h1v1h-1zM2 8h1v1h-1zM3 3h1v1h-1zM3 9h1v1h-1zM4 2h1v1h-1zM4 10h1v1h-1zM5 2h6v1h-6zM11 2h1v1h-1zM12 3h1v1h-1zM12 9h1v1h-1zM13 4h1v1h-1zM13 8h1v1h-1zM14 5h1v3h-1zM5 11h6v1h-6zM4 12h1v1h-1zM11 12h1v1h-1zM3 13h1v1h-1zM12 13h1v1h-1zM5 14h6v1h-6z" }],
52
+ ["path", { fill: "#ff4f40", d: "M5 3h6v1h-6zM4 4h8v1h-8zM3 5h10v1h-10zM3 6h10v1h-10zM3 7h10v1h-10zM4 8h8v1h-8zM5 9h6v1h-6zM5 12h6v1h-6zM6 13h4v1h-4z" }],
53
+ ["path", { fill: "#ff775f", d: "M1 6h2v1h-2zM2 5h1v1h-1zM2 7h1v1h-1zM13 6h2v1h-2zM13 5h1v1h-1zM13 7h1v1h-1z" }],
54
+ ["path", { fill: "#081016", d: "M6 5h1v1h-1zM9 5h1v1h-1z" }],
55
+ ["path", { fill: "#f5fbff", d: "M6 4h1v1h-1zM9 4h1v1h-1z" }]
56
+ ]
57
+ },
58
+ // The orchestrator is supercode's own harness id (ORC-7): the same cowl,
59
+ // slate on the dark tile with the session-green eyes — the one that conducts.
60
+ orchestrator: {
46
61
  viewBox: "0 0 64 64",
47
62
  paths: [
48
63
  ["rect", { width: "64", height: "64", rx: "14", fill: "#111923" }],
49
- ["path", { d: "M18 21h28v6H18zm0 13h18v6H18z", fill: "#5f8fff" }],
50
- ["circle", { cx: "46", cy: "37", r: "7", fill: "none", stroke: "#8ce0aa", strokeWidth: "4" }]
64
+ ["path", { fill: "#4a5568", "shape-rendering": "crispEdges", d: "M6 2h4v4h-4zM54 2h4v4h-4zM6 6h8v4h-8zM50 6h8v4h-8zM6 10h12v4h-12zM22 10h20v4h-20zM46 10h12v4h-12zM6 14h52v4h-52zM6 18h52v4h-52zM6 22h52v4h-52zM6 26h52v4h-52zM2 30h60v4h-60zM2 34h60v4h-60zM2 38h60v4h-60zM2 42h12v4h-12zM22 42h20v4h-20zM50 42h12v4h-12zM6 46h12v4h-12zM26 46h12v4h-12zM46 46h12v4h-12zM6 50h52v4h-52zM10 54h4v4h-4zM50 54h4v4h-4zM14 58h8v4h-8zM42 58h8v4h-8z" }],
65
+ ["path", { fill: "#8ce0aa", "shape-rendering": "crispEdges", d: "M14 42h8v4h-8zM42 42h8v4h-8zM18 46h8v4h-8zM38 46h8v4h-8z" }],
66
+ ["path", { fill: "#e8b89a", "shape-rendering": "crispEdges", d: "M14 54h36v4h-36zM22 58h20v4h-20z" }]
67
+ ]
68
+ },
69
+ // supercode's mark: the pixel cowl. A 15×15 sprite drawn the way pixel
70
+ // artists draw the character — the ear's outer edge continues the head's
71
+ // side and only its inner edge slants; a one-cell notch parts each ear from
72
+ // the crown; the head widens by one cell at the eye band; the eyes are
73
+ // two-cell slits whose lower row steps inward. One path per fill, cells on
74
+ // a 4-unit grid inside the 64 tile, so the edges stay crisp at every size.
75
+ supercode: {
76
+ viewBox: "0 0 64 64",
77
+ paths: [
78
+ ["rect", { width: "64", height: "64", rx: "14", fill: "#f7f7f5" }],
79
+ ["path", { fill: "#0a0a0a", "shape-rendering": "crispEdges", d: "M6 2h4v4h-4zM54 2h4v4h-4zM6 6h8v4h-8zM50 6h8v4h-8zM6 10h12v4h-12zM22 10h20v4h-20zM46 10h12v4h-12zM6 14h52v4h-52zM6 18h52v4h-52zM6 22h52v4h-52zM6 26h52v4h-52zM2 30h60v4h-60zM2 34h60v4h-60zM2 38h60v4h-60zM2 42h12v4h-12zM22 42h20v4h-20zM50 42h12v4h-12zM6 46h12v4h-12zM26 46h12v4h-12zM46 46h12v4h-12zM6 50h52v4h-52zM10 54h4v4h-4zM50 54h4v4h-4zM14 58h8v4h-8zM42 58h8v4h-8z" }],
80
+ ["path", { fill: "#f7f7f5", "shape-rendering": "crispEdges", d: "M14 42h8v4h-8zM42 42h8v4h-8zM18 46h8v4h-8zM38 46h8v4h-8z" }],
81
+ ["path", { fill: "#e8b89a", "shape-rendering": "crispEdges", d: "M14 54h36v4h-36zM22 58h20v4h-20z" }]
51
82
  ]
52
83
  }
53
84
  };
@@ -59,8 +90,10 @@ var LOGO_CHROME = {
59
90
  gemini: { background: "#f7f7f5", color: "#6e79dc" },
60
91
  goose: { background: "#f7f7f5", color: "#101010" },
61
92
  pi: { background: "#efefeb", color: "#111" },
62
- supercode: { background: "#111923", color: "#f7f7f5" },
63
- hermes: { background: "#111", color: "#ffd700" }
93
+ supercode: { background: "#f7f7f5", color: "#0a0a0a" },
94
+ hermes: { background: "#111", color: "#ffd700" },
95
+ openclaw: { background: "#f7f7f5", color: "#ff4f40" },
96
+ orchestrator: { background: "#111923", color: "#8ce0aa" }
64
97
  };
65
98
  function escapeSvgAttribute(value) {
66
99
  return String(value).replaceAll("&", "&amp;").replaceAll('"', "&quot;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
@@ -72,7 +105,8 @@ var SVG_ATTRIBUTE_NAMES = Object.freeze({
72
105
  textAnchor: "text-anchor",
73
106
  fontSize: "font-size",
74
107
  fontFamily: "font-family",
75
- fontWeight: "font-weight"
108
+ fontWeight: "font-weight",
109
+ strokeLinecap: "stroke-linecap"
76
110
  });
77
111
  function harnessLogoDataUrl(id) {
78
112
  const logo = LOGOS[id];
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  HarnessLogo
3
- } from "./chunk-ATCOWFRV.mjs";
3
+ } from "./chunk-TKTOVDXB.mjs";
4
4
  import {
5
5
  harnessDisplayName
6
6
  } from "./chunk-LS6JBXNT.mjs";
package/components.mjs CHANGED
@@ -4,28 +4,28 @@ import {
4
4
  MessengerSessions,
5
5
  SupercodeMessenger,
6
6
  useMessenger
7
- } from "./chunks/chunk-OW42DS6P.mjs";
7
+ } from "./chunks/chunk-IL5T2AST.mjs";
8
8
  import {
9
9
  HarnessAdvisory,
10
10
  HarnessPicker,
11
11
  HarnessReadiness,
12
12
  HarnessSettingsPanel
13
- } from "./chunks/chunk-SSYNT434.mjs";
13
+ } from "./chunks/chunk-WRK5TBX3.mjs";
14
14
  import {
15
15
  AgentActivityLauncher
16
- } from "./chunks/chunk-XD2WJYSL.mjs";
16
+ } from "./chunks/chunk-4XUMCWPC.mjs";
17
17
  import {
18
18
  SessionList,
19
19
  SessionRow
20
- } from "./chunks/chunk-O7Q2PELK.mjs";
20
+ } from "./chunks/chunk-2FG7VKIW.mjs";
21
21
  import {
22
22
  SubagentInspector
23
- } from "./chunks/chunk-LQMYNJPU.mjs";
23
+ } from "./chunks/chunk-E65I2I2L.mjs";
24
24
  import {
25
25
  HarnessLogo,
26
26
  harnessLogoDataUrl,
27
27
  hasHarnessLogo
28
- } from "./chunks/chunk-ATCOWFRV.mjs";
28
+ } from "./chunks/chunk-TKTOVDXB.mjs";
29
29
  import {
30
30
  ActivityGroup,
31
31
  Conversation,
package/embed.mjs CHANGED
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  SupercodeMessenger
3
- } from "./chunks/chunk-OW42DS6P.mjs";
4
- import "./chunks/chunk-SSYNT434.mjs";
5
- import "./chunks/chunk-O7Q2PELK.mjs";
6
- import "./chunks/chunk-LQMYNJPU.mjs";
7
- import "./chunks/chunk-ATCOWFRV.mjs";
3
+ } from "./chunks/chunk-IL5T2AST.mjs";
4
+ import "./chunks/chunk-WRK5TBX3.mjs";
5
+ import "./chunks/chunk-2FG7VKIW.mjs";
6
+ import "./chunks/chunk-E65I2I2L.mjs";
7
+ import "./chunks/chunk-TKTOVDXB.mjs";
8
8
  import "./chunks/chunk-LOP6XOON.mjs";
9
9
  import "./chunks/chunk-SJ3YTA6Z.mjs";
10
10
  import "./chunks/chunk-V3UM7H7W.mjs";
package/logo.mjs CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  HarnessLogo,
3
3
  harnessLogoDataUrl,
4
4
  hasHarnessLogo
5
- } from "./chunks/chunk-ATCOWFRV.mjs";
5
+ } from "./chunks/chunk-TKTOVDXB.mjs";
6
6
  export {
7
7
  HarnessLogo,
8
8
  harnessLogoDataUrl,
package/messenger.mjs CHANGED
@@ -4,11 +4,11 @@ import {
4
4
  MessengerSessions,
5
5
  SupercodeMessenger,
6
6
  useMessenger
7
- } from "./chunks/chunk-OW42DS6P.mjs";
8
- import "./chunks/chunk-SSYNT434.mjs";
9
- import "./chunks/chunk-O7Q2PELK.mjs";
10
- import "./chunks/chunk-LQMYNJPU.mjs";
11
- import "./chunks/chunk-ATCOWFRV.mjs";
7
+ } from "./chunks/chunk-IL5T2AST.mjs";
8
+ import "./chunks/chunk-WRK5TBX3.mjs";
9
+ import "./chunks/chunk-2FG7VKIW.mjs";
10
+ import "./chunks/chunk-E65I2I2L.mjs";
11
+ import "./chunks/chunk-TKTOVDXB.mjs";
12
12
  import "./chunks/chunk-LOP6XOON.mjs";
13
13
  import "./chunks/chunk-SJ3YTA6Z.mjs";
14
14
  import "./chunks/chunk-V3UM7H7W.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volter-ai-dev/supercode-ui",
3
- "version": "0.1.71",
3
+ "version": "0.1.72",
4
4
  "type": "module",
5
5
  "description": "Composable default UI kit for Supercode-powered coding-agent experiences",
6
6
  "exports": {
@@ -104,7 +104,19 @@
104
104
  "types": "./embed.d.ts",
105
105
  "import": "./embed.mjs"
106
106
  },
107
- "./styles.css": "./styles.css"
107
+ "./styles.css": "./styles.css",
108
+ "./supervision": {
109
+ "types": "./supervision.d.ts",
110
+ "import": "./supervision.mjs"
111
+ },
112
+ "./preact/supervision": {
113
+ "types": "./supervision-components.d.ts",
114
+ "import": "./supervision-components.mjs"
115
+ },
116
+ "./react/supervision": {
117
+ "types": "./react/supervision.d.ts",
118
+ "import": "./react/supervision-components.mjs"
119
+ }
108
120
  },
109
121
  "types": "./index.d.ts",
110
122
  "files": [
@@ -141,7 +153,13 @@
141
153
  "index.d.ts",
142
154
  "styles.css",
143
155
  "README.md",
144
- "chunks"
156
+ "chunks",
157
+ "supervision.mjs",
158
+ "supervision.d.ts",
159
+ "source-inventory.mjs",
160
+ "source-inventory.d.ts",
161
+ "supervision-components.mjs",
162
+ "supervision-components.d.ts"
145
163
  ],
146
164
  "scripts": {
147
165
  "build": "node scripts/build.mjs",
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  AgentActivityLauncher
3
- } from "./chunks/chunk-ZM5X5LOF.mjs";
4
- import "./chunks/chunk-GV5KV5UY.mjs";
3
+ } from "./chunks/chunk-LYRIQE5M.mjs";
4
+ import "./chunks/chunk-VFOVJ4S3.mjs";
5
5
  import "./chunks/chunk-LS6JBXNT.mjs";
6
6
  export {
7
7
  AgentActivityLauncher
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  HarnessLogo
3
- } from "./chunk-GV5KV5UY.mjs";
3
+ } from "./chunk-VFOVJ4S3.mjs";
4
4
  import {
5
5
  projectAgentActivity
6
6
  } from "./chunk-LS6JBXNT.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  HarnessLogo
3
- } from "./chunk-GV5KV5UY.mjs";
3
+ } from "./chunk-VFOVJ4S3.mjs";
4
4
  import {
5
5
  LoadingStatus
6
6
  } from "./chunk-UKMTRNJN.mjs";
@@ -3,16 +3,16 @@ import {
3
3
  HarnessPicker,
4
4
  HarnessReadiness,
5
5
  HarnessSettingsPanel
6
- } from "./chunk-GYQOTTZ5.mjs";
6
+ } from "./chunk-YK7SJ6EH.mjs";
7
7
  import {
8
8
  SessionList
9
- } from "./chunk-ZXD7NZXI.mjs";
9
+ } from "./chunk-NJC6S2AW.mjs";
10
10
  import {
11
11
  SubagentInspector
12
- } from "./chunk-TQHX2DQG.mjs";
12
+ } from "./chunk-UGL6AB2K.mjs";
13
13
  import {
14
14
  HarnessLogo
15
- } from "./chunk-GV5KV5UY.mjs";
15
+ } from "./chunk-VFOVJ4S3.mjs";
16
16
  import {
17
17
  Conversation
18
18
  } from "./chunk-UKMTRNJN.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  HarnessLogo
3
- } from "./chunk-GV5KV5UY.mjs";
3
+ } from "./chunk-VFOVJ4S3.mjs";
4
4
  import {
5
5
  Conversation
6
6
  } from "./chunk-UKMTRNJN.mjs";
@@ -42,12 +42,43 @@ var LOGOS = {
42
42
  ]
43
43
  },
44
44
  // Product mark shared with the first-party browser frontend favicon.
45
- supercode: {
45
+ // OpenClaw's own mark: docs/assets/pixel-lobster.svg from openclaw/openclaw,
46
+ // transcribed rect-for-rect as one path per fill (pixel art needs
47
+ // crisp edges, so the rects stay axis-aligned unit squares).
48
+ openclaw: {
49
+ viewBox: "0 0 16 16",
50
+ paths: [
51
+ ["path", { fill: "#3a0a0d", d: "M1 5h1v3h-1zM2 4h1v1h-1zM2 8h1v1h-1zM3 3h1v1h-1zM3 9h1v1h-1zM4 2h1v1h-1zM4 10h1v1h-1zM5 2h6v1h-6zM11 2h1v1h-1zM12 3h1v1h-1zM12 9h1v1h-1zM13 4h1v1h-1zM13 8h1v1h-1zM14 5h1v3h-1zM5 11h6v1h-6zM4 12h1v1h-1zM11 12h1v1h-1zM3 13h1v1h-1zM12 13h1v1h-1zM5 14h6v1h-6z" }],
52
+ ["path", { fill: "#ff4f40", d: "M5 3h6v1h-6zM4 4h8v1h-8zM3 5h10v1h-10zM3 6h10v1h-10zM3 7h10v1h-10zM4 8h8v1h-8zM5 9h6v1h-6zM5 12h6v1h-6zM6 13h4v1h-4z" }],
53
+ ["path", { fill: "#ff775f", d: "M1 6h2v1h-2zM2 5h1v1h-1zM2 7h1v1h-1zM13 6h2v1h-2zM13 5h1v1h-1zM13 7h1v1h-1z" }],
54
+ ["path", { fill: "#081016", d: "M6 5h1v1h-1zM9 5h1v1h-1z" }],
55
+ ["path", { fill: "#f5fbff", d: "M6 4h1v1h-1zM9 4h1v1h-1z" }]
56
+ ]
57
+ },
58
+ // The orchestrator is supercode's own harness id (ORC-7): the same cowl,
59
+ // slate on the dark tile with the session-green eyes — the one that conducts.
60
+ orchestrator: {
46
61
  viewBox: "0 0 64 64",
47
62
  paths: [
48
63
  ["rect", { width: "64", height: "64", rx: "14", fill: "#111923" }],
49
- ["path", { d: "M18 21h28v6H18zm0 13h18v6H18z", fill: "#5f8fff" }],
50
- ["circle", { cx: "46", cy: "37", r: "7", fill: "none", stroke: "#8ce0aa", strokeWidth: "4" }]
64
+ ["path", { fill: "#4a5568", "shape-rendering": "crispEdges", d: "M6 2h4v4h-4zM54 2h4v4h-4zM6 6h8v4h-8zM50 6h8v4h-8zM6 10h12v4h-12zM22 10h20v4h-20zM46 10h12v4h-12zM6 14h52v4h-52zM6 18h52v4h-52zM6 22h52v4h-52zM6 26h52v4h-52zM2 30h60v4h-60zM2 34h60v4h-60zM2 38h60v4h-60zM2 42h12v4h-12zM22 42h20v4h-20zM50 42h12v4h-12zM6 46h12v4h-12zM26 46h12v4h-12zM46 46h12v4h-12zM6 50h52v4h-52zM10 54h4v4h-4zM50 54h4v4h-4zM14 58h8v4h-8zM42 58h8v4h-8z" }],
65
+ ["path", { fill: "#8ce0aa", "shape-rendering": "crispEdges", d: "M14 42h8v4h-8zM42 42h8v4h-8zM18 46h8v4h-8zM38 46h8v4h-8z" }],
66
+ ["path", { fill: "#e8b89a", "shape-rendering": "crispEdges", d: "M14 54h36v4h-36zM22 58h20v4h-20z" }]
67
+ ]
68
+ },
69
+ // supercode's mark: the pixel cowl. A 15×15 sprite drawn the way pixel
70
+ // artists draw the character — the ear's outer edge continues the head's
71
+ // side and only its inner edge slants; a one-cell notch parts each ear from
72
+ // the crown; the head widens by one cell at the eye band; the eyes are
73
+ // two-cell slits whose lower row steps inward. One path per fill, cells on
74
+ // a 4-unit grid inside the 64 tile, so the edges stay crisp at every size.
75
+ supercode: {
76
+ viewBox: "0 0 64 64",
77
+ paths: [
78
+ ["rect", { width: "64", height: "64", rx: "14", fill: "#f7f7f5" }],
79
+ ["path", { fill: "#0a0a0a", "shape-rendering": "crispEdges", d: "M6 2h4v4h-4zM54 2h4v4h-4zM6 6h8v4h-8zM50 6h8v4h-8zM6 10h12v4h-12zM22 10h20v4h-20zM46 10h12v4h-12zM6 14h52v4h-52zM6 18h52v4h-52zM6 22h52v4h-52zM6 26h52v4h-52zM2 30h60v4h-60zM2 34h60v4h-60zM2 38h60v4h-60zM2 42h12v4h-12zM22 42h20v4h-20zM50 42h12v4h-12zM6 46h12v4h-12zM26 46h12v4h-12zM46 46h12v4h-12zM6 50h52v4h-52zM10 54h4v4h-4zM50 54h4v4h-4zM14 58h8v4h-8zM42 58h8v4h-8z" }],
80
+ ["path", { fill: "#f7f7f5", "shape-rendering": "crispEdges", d: "M14 42h8v4h-8zM42 42h8v4h-8zM18 46h8v4h-8zM38 46h8v4h-8z" }],
81
+ ["path", { fill: "#e8b89a", "shape-rendering": "crispEdges", d: "M14 54h36v4h-36zM22 58h20v4h-20z" }]
51
82
  ]
52
83
  }
53
84
  };
@@ -59,8 +90,10 @@ var LOGO_CHROME = {
59
90
  gemini: { background: "#f7f7f5", color: "#6e79dc" },
60
91
  goose: { background: "#f7f7f5", color: "#101010" },
61
92
  pi: { background: "#efefeb", color: "#111" },
62
- supercode: { background: "#111923", color: "#f7f7f5" },
63
- hermes: { background: "#111", color: "#ffd700" }
93
+ supercode: { background: "#f7f7f5", color: "#0a0a0a" },
94
+ hermes: { background: "#111", color: "#ffd700" },
95
+ openclaw: { background: "#f7f7f5", color: "#ff4f40" },
96
+ orchestrator: { background: "#111923", color: "#8ce0aa" }
64
97
  };
65
98
  function escapeSvgAttribute(value) {
66
99
  return String(value).replaceAll("&", "&amp;").replaceAll('"', "&quot;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
@@ -72,7 +105,8 @@ var SVG_ATTRIBUTE_NAMES = Object.freeze({
72
105
  textAnchor: "text-anchor",
73
106
  fontSize: "font-size",
74
107
  fontFamily: "font-family",
75
- fontWeight: "font-weight"
108
+ fontWeight: "font-weight",
109
+ strokeLinecap: "stroke-linecap"
76
110
  });
77
111
  function harnessLogoDataUrl(id) {
78
112
  const logo = LOGOS[id];
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  HarnessLogo
3
- } from "./chunk-GV5KV5UY.mjs";
3
+ } from "./chunk-VFOVJ4S3.mjs";
4
4
  import {
5
5
  harnessDisplayName
6
6
  } from "./chunk-LS6JBXNT.mjs";
@@ -4,28 +4,28 @@ import {
4
4
  MessengerSessions,
5
5
  SupercodeMessenger,
6
6
  useMessenger
7
- } from "./chunks/chunk-2RIHDJT6.mjs";
7
+ } from "./chunks/chunk-QL6QEYPK.mjs";
8
8
  import {
9
9
  HarnessAdvisory,
10
10
  HarnessPicker,
11
11
  HarnessReadiness,
12
12
  HarnessSettingsPanel
13
- } from "./chunks/chunk-GYQOTTZ5.mjs";
13
+ } from "./chunks/chunk-YK7SJ6EH.mjs";
14
14
  import {
15
15
  AgentActivityLauncher
16
- } from "./chunks/chunk-ZM5X5LOF.mjs";
16
+ } from "./chunks/chunk-LYRIQE5M.mjs";
17
17
  import {
18
18
  SessionList,
19
19
  SessionRow
20
- } from "./chunks/chunk-ZXD7NZXI.mjs";
20
+ } from "./chunks/chunk-NJC6S2AW.mjs";
21
21
  import {
22
22
  SubagentInspector
23
- } from "./chunks/chunk-TQHX2DQG.mjs";
23
+ } from "./chunks/chunk-UGL6AB2K.mjs";
24
24
  import {
25
25
  HarnessLogo,
26
26
  harnessLogoDataUrl,
27
27
  hasHarnessLogo
28
- } from "./chunks/chunk-GV5KV5UY.mjs";
28
+ } from "./chunks/chunk-VFOVJ4S3.mjs";
29
29
  import {
30
30
  ActivityGroup,
31
31
  Conversation,
package/react/logo.mjs CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  HarnessLogo,
3
3
  harnessLogoDataUrl,
4
4
  hasHarnessLogo
5
- } from "./chunks/chunk-GV5KV5UY.mjs";
5
+ } from "./chunks/chunk-VFOVJ4S3.mjs";
6
6
  export {
7
7
  HarnessLogo,
8
8
  harnessLogoDataUrl,
@@ -4,11 +4,11 @@ import {
4
4
  MessengerSessions,
5
5
  SupercodeMessenger,
6
6
  useMessenger
7
- } from "./chunks/chunk-2RIHDJT6.mjs";
8
- import "./chunks/chunk-GYQOTTZ5.mjs";
9
- import "./chunks/chunk-ZXD7NZXI.mjs";
10
- import "./chunks/chunk-TQHX2DQG.mjs";
11
- import "./chunks/chunk-GV5KV5UY.mjs";
7
+ } from "./chunks/chunk-QL6QEYPK.mjs";
8
+ import "./chunks/chunk-YK7SJ6EH.mjs";
9
+ import "./chunks/chunk-NJC6S2AW.mjs";
10
+ import "./chunks/chunk-UGL6AB2K.mjs";
11
+ import "./chunks/chunk-VFOVJ4S3.mjs";
12
12
  import "./chunks/chunk-UKMTRNJN.mjs";
13
13
  import "./chunks/chunk-7ES5FSLG.mjs";
14
14
  import "./chunks/chunk-UKHDCPME.mjs";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  SessionList,
3
3
  SessionRow
4
- } from "./chunks/chunk-ZXD7NZXI.mjs";
5
- import "./chunks/chunk-GV5KV5UY.mjs";
4
+ } from "./chunks/chunk-NJC6S2AW.mjs";
5
+ import "./chunks/chunk-VFOVJ4S3.mjs";
6
6
  import "./chunks/chunk-UKMTRNJN.mjs";
7
7
  import "./chunks/chunk-UKHDCPME.mjs";
8
8
  import "./chunks/chunk-LS6JBXNT.mjs";
@@ -3,8 +3,8 @@ import {
3
3
  HarnessPicker,
4
4
  HarnessReadiness,
5
5
  HarnessSettingsPanel
6
- } from "./chunks/chunk-GYQOTTZ5.mjs";
7
- import "./chunks/chunk-GV5KV5UY.mjs";
6
+ } from "./chunks/chunk-YK7SJ6EH.mjs";
7
+ import "./chunks/chunk-VFOVJ4S3.mjs";
8
8
  import "./chunks/chunk-LS6JBXNT.mjs";
9
9
  import "./chunks/chunk-OINC7LV7.mjs";
10
10
  export {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SubagentInspector
3
- } from "./chunks/chunk-TQHX2DQG.mjs";
4
- import "./chunks/chunk-GV5KV5UY.mjs";
3
+ } from "./chunks/chunk-UGL6AB2K.mjs";
4
+ import "./chunks/chunk-VFOVJ4S3.mjs";
5
5
  import "./chunks/chunk-UKMTRNJN.mjs";
6
6
  import "./chunks/chunk-UKHDCPME.mjs";
7
7
  import "./chunks/chunk-LS6JBXNT.mjs";