@cluesmith/codev 3.3.0 → 3.3.2

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 (202) hide show
  1. package/dashboard-dist/assets/{index-JCbkpAcV.js → index-D3XaKpZW.js} +45 -43
  2. package/dashboard-dist/assets/index-D3XaKpZW.js.map +1 -0
  3. package/dashboard-dist/index.html +1 -1
  4. package/dist/agent-farm/cli.d.ts.map +1 -1
  5. package/dist/agent-farm/cli.js +99 -36
  6. package/dist/agent-farm/cli.js.map +1 -1
  7. package/dist/agent-farm/commands/reset/constants.d.ts +119 -1
  8. package/dist/agent-farm/commands/reset/constants.d.ts.map +1 -1
  9. package/dist/agent-farm/commands/reset/constants.js +119 -1
  10. package/dist/agent-farm/commands/reset/constants.js.map +1 -1
  11. package/dist/agent-farm/commands/reset/context.d.ts +20 -2
  12. package/dist/agent-farm/commands/reset/context.d.ts.map +1 -1
  13. package/dist/agent-farm/commands/reset/context.js +44 -3
  14. package/dist/agent-farm/commands/reset/context.js.map +1 -1
  15. package/dist/agent-farm/commands/reset/index.d.ts +7 -7
  16. package/dist/agent-farm/commands/reset/index.js +8 -8
  17. package/dist/agent-farm/commands/reset/index.js.map +1 -1
  18. package/dist/agent-farm/commands/reset/receipt.d.ts +1 -1
  19. package/dist/agent-farm/commands/reset/receipt.d.ts.map +1 -1
  20. package/dist/agent-farm/commands/reset/receipt.js +19 -8
  21. package/dist/agent-farm/commands/reset/receipt.js.map +1 -1
  22. package/dist/agent-farm/commands/reset/reorient.d.ts +1 -1
  23. package/dist/agent-farm/commands/reset/reorient.d.ts.map +1 -1
  24. package/dist/agent-farm/commands/reset/reorient.js +12 -5
  25. package/dist/agent-farm/commands/reset/reorient.js.map +1 -1
  26. package/dist/agent-farm/commands/reset/self.d.ts +335 -0
  27. package/dist/agent-farm/commands/reset/self.d.ts.map +1 -0
  28. package/dist/agent-farm/commands/reset/self.js +636 -0
  29. package/dist/agent-farm/commands/reset/self.js.map +1 -0
  30. package/dist/agent-farm/commands/reset.d.ts +18 -3
  31. package/dist/agent-farm/commands/reset.d.ts.map +1 -1
  32. package/dist/agent-farm/commands/reset.js +55 -33
  33. package/dist/agent-farm/commands/reset.js.map +1 -1
  34. package/dist/agent-farm/commands/self-refresh.d.ts +60 -0
  35. package/dist/agent-farm/commands/self-refresh.d.ts.map +1 -0
  36. package/dist/agent-farm/commands/self-refresh.js +506 -0
  37. package/dist/agent-farm/commands/self-refresh.js.map +1 -0
  38. package/dist/agent-farm/commands/send.d.ts.map +1 -1
  39. package/dist/agent-farm/commands/send.js +27 -2
  40. package/dist/agent-farm/commands/send.js.map +1 -1
  41. package/dist/agent-farm/commands/spawn-worktree.js +1 -1
  42. package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
  43. package/dist/agent-farm/commands/spawn.d.ts +7 -0
  44. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  45. package/dist/agent-farm/commands/spawn.js +13 -1
  46. package/dist/agent-farm/commands/spawn.js.map +1 -1
  47. package/dist/agent-farm/commands/tower.d.ts.map +1 -1
  48. package/dist/agent-farm/commands/tower.js +13 -0
  49. package/dist/agent-farm/commands/tower.js.map +1 -1
  50. package/dist/agent-farm/lib/reconnect-backoff.d.ts +10 -0
  51. package/dist/agent-farm/lib/reconnect-backoff.d.ts.map +1 -1
  52. package/dist/agent-farm/lib/reconnect-backoff.js +10 -0
  53. package/dist/agent-farm/lib/reconnect-backoff.js.map +1 -1
  54. package/dist/agent-farm/lib/tower-client.d.ts +12 -0
  55. package/dist/agent-farm/lib/tower-client.d.ts.map +1 -1
  56. package/dist/agent-farm/lib/tower-client.js +12 -0
  57. package/dist/agent-farm/lib/tower-client.js.map +1 -1
  58. package/dist/agent-farm/lib/tunnel-client.d.ts.map +1 -1
  59. package/dist/agent-farm/lib/tunnel-client.js +7 -3
  60. package/dist/agent-farm/lib/tunnel-client.js.map +1 -1
  61. package/dist/agent-farm/servers/canvas-relay.d.ts +60 -0
  62. package/dist/agent-farm/servers/canvas-relay.d.ts.map +1 -0
  63. package/dist/agent-farm/servers/canvas-relay.js +376 -0
  64. package/dist/agent-farm/servers/canvas-relay.js.map +1 -0
  65. package/dist/agent-farm/servers/gate-profiles.d.ts +1 -1
  66. package/dist/agent-farm/servers/gate-profiles.js +1 -1
  67. package/dist/agent-farm/servers/mailbox-delivery.d.ts +141 -13
  68. package/dist/agent-farm/servers/mailbox-delivery.d.ts.map +1 -1
  69. package/dist/agent-farm/servers/mailbox-delivery.js +172 -16
  70. package/dist/agent-farm/servers/mailbox-delivery.js.map +1 -1
  71. package/dist/agent-farm/servers/mailbox-wiring.d.ts +24 -2
  72. package/dist/agent-farm/servers/mailbox-wiring.d.ts.map +1 -1
  73. package/dist/agent-farm/servers/mailbox-wiring.js +92 -32
  74. package/dist/agent-farm/servers/mailbox-wiring.js.map +1 -1
  75. package/dist/agent-farm/servers/message-write.d.ts +58 -18
  76. package/dist/agent-farm/servers/message-write.d.ts.map +1 -1
  77. package/dist/agent-farm/servers/message-write.js +73 -28
  78. package/dist/agent-farm/servers/message-write.js.map +1 -1
  79. package/dist/agent-farm/servers/overview.d.ts +19 -0
  80. package/dist/agent-farm/servers/overview.d.ts.map +1 -1
  81. package/dist/agent-farm/servers/overview.js +78 -1
  82. package/dist/agent-farm/servers/overview.js.map +1 -1
  83. package/dist/agent-farm/servers/render-gate.d.ts +13 -0
  84. package/dist/agent-farm/servers/render-gate.d.ts.map +1 -1
  85. package/dist/agent-farm/servers/render-gate.js +21 -0
  86. package/dist/agent-farm/servers/render-gate.js.map +1 -1
  87. package/dist/agent-farm/servers/session-submit.d.ts +221 -28
  88. package/dist/agent-farm/servers/session-submit.d.ts.map +1 -1
  89. package/dist/agent-farm/servers/session-submit.js +334 -43
  90. package/dist/agent-farm/servers/session-submit.js.map +1 -1
  91. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  92. package/dist/agent-farm/servers/tower-routes.js +269 -64
  93. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  94. package/dist/agent-farm/servers/tower-server.js +25 -3
  95. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  96. package/dist/agent-farm/servers/tower-terminals.d.ts +6 -0
  97. package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
  98. package/dist/agent-farm/servers/tower-terminals.js +30 -5
  99. package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
  100. package/dist/agent-farm/servers/tower-tunnel.d.ts.map +1 -1
  101. package/dist/agent-farm/servers/tower-tunnel.js +14 -0
  102. package/dist/agent-farm/servers/tower-tunnel.js.map +1 -1
  103. package/dist/agent-farm/servers/tower-websocket.d.ts +6 -1
  104. package/dist/agent-farm/servers/tower-websocket.d.ts.map +1 -1
  105. package/dist/agent-farm/servers/tower-websocket.js +90 -37
  106. package/dist/agent-farm/servers/tower-websocket.js.map +1 -1
  107. package/dist/agent-farm/types.d.ts +37 -2
  108. package/dist/agent-farm/types.d.ts.map +1 -1
  109. package/dist/agent-farm/utils/harness.d.ts +3 -3
  110. package/dist/agent-farm/utils/harness.js +1 -1
  111. package/dist/agent-farm/utils/message-format.d.ts +67 -3
  112. package/dist/agent-farm/utils/message-format.d.ts.map +1 -1
  113. package/dist/agent-farm/utils/message-format.js +127 -14
  114. package/dist/agent-farm/utils/message-format.js.map +1 -1
  115. package/dist/agent-farm/utils/server-utils.d.ts +86 -4
  116. package/dist/agent-farm/utils/server-utils.d.ts.map +1 -1
  117. package/dist/agent-farm/utils/server-utils.js +303 -5
  118. package/dist/agent-farm/utils/server-utils.js.map +1 -1
  119. package/dist/commands/porch/context-refresh.d.ts +181 -0
  120. package/dist/commands/porch/context-refresh.d.ts.map +1 -0
  121. package/dist/commands/porch/context-refresh.js +270 -0
  122. package/dist/commands/porch/context-refresh.js.map +1 -0
  123. package/dist/commands/porch/index.d.ts +6 -0
  124. package/dist/commands/porch/index.d.ts.map +1 -1
  125. package/dist/commands/porch/index.js +46 -0
  126. package/dist/commands/porch/index.js.map +1 -1
  127. package/dist/commands/porch/next.d.ts +0 -9
  128. package/dist/commands/porch/next.d.ts.map +1 -1
  129. package/dist/commands/porch/next.js +133 -4
  130. package/dist/commands/porch/next.js.map +1 -1
  131. package/dist/commands/porch/protocol.d.ts.map +1 -1
  132. package/dist/commands/porch/protocol.js +102 -0
  133. package/dist/commands/porch/protocol.js.map +1 -1
  134. package/dist/commands/porch/types.d.ts +61 -0
  135. package/dist/commands/porch/types.d.ts.map +1 -1
  136. package/dist/lib/forge-contracts.d.ts +9 -0
  137. package/dist/lib/forge-contracts.d.ts.map +1 -1
  138. package/dist/lib/forge-contracts.js.map +1 -1
  139. package/dist/lib/github.d.ts +15 -1
  140. package/dist/lib/github.d.ts.map +1 -1
  141. package/dist/lib/github.js +17 -0
  142. package/dist/lib/github.js.map +1 -1
  143. package/dist/lib/self-refresh-invocation.d.ts +60 -0
  144. package/dist/lib/self-refresh-invocation.d.ts.map +1 -0
  145. package/dist/lib/self-refresh-invocation.js +64 -0
  146. package/dist/lib/self-refresh-invocation.js.map +1 -0
  147. package/dist/lib/test-env.d.ts +50 -0
  148. package/dist/lib/test-env.d.ts.map +1 -1
  149. package/dist/lib/test-env.js +76 -0
  150. package/dist/lib/test-env.js.map +1 -1
  151. package/dist/terminal/attach-replay.d.ts +39 -0
  152. package/dist/terminal/attach-replay.d.ts.map +1 -0
  153. package/dist/terminal/attach-replay.js +76 -0
  154. package/dist/terminal/attach-replay.js.map +1 -0
  155. package/dist/terminal/pty-manager.d.ts.map +1 -1
  156. package/dist/terminal/pty-manager.js +35 -17
  157. package/dist/terminal/pty-manager.js.map +1 -1
  158. package/dist/terminal/pty-session.d.ts +81 -12
  159. package/dist/terminal/pty-session.d.ts.map +1 -1
  160. package/dist/terminal/pty-session.js +113 -25
  161. package/dist/terminal/pty-session.js.map +1 -1
  162. package/dist/terminal/session-screen.d.ts +25 -0
  163. package/dist/terminal/session-screen.d.ts.map +1 -1
  164. package/dist/terminal/session-screen.js +53 -8
  165. package/dist/terminal/session-screen.js.map +1 -1
  166. package/package.json +10 -7
  167. package/scripts/forge/gitea/pr-view.sh +4 -1
  168. package/scripts/forge/github/pr-view.sh +1 -1
  169. package/scripts/forge/gitlab/pr-view.sh +4 -1
  170. package/skeleton/.claude/skills/afx/SKILL.md +54 -0
  171. package/skeleton/.claude/skills/arch-save/SKILL.md +8 -2
  172. package/skeleton/.claude/skills/builder-refresh/SKILL.md +138 -0
  173. package/skeleton/.codex/skills/afx/SKILL.md +54 -0
  174. package/skeleton/.codex/skills/arch-save/SKILL.md +8 -2
  175. package/skeleton/.codex/skills/builder-refresh/SKILL.md +138 -0
  176. package/skeleton/protocol-schema.json +17 -0
  177. package/skeleton/protocols/air/protocol.json +1 -1
  178. package/skeleton/protocols/aspir/protocol.json +5 -1
  179. package/skeleton/protocols/bugfix/protocol.json +1 -1
  180. package/skeleton/protocols/experiment/protocol.json +1 -1
  181. package/skeleton/protocols/maintain/protocol.json +1 -1
  182. package/skeleton/protocols/pir/builder-prompt.md +3 -2
  183. package/skeleton/protocols/pir/prompts/implement.md +1 -1
  184. package/skeleton/protocols/pir/prompts/plan.md +1 -1
  185. package/skeleton/protocols/pir/prompts/review.md +1 -1
  186. package/skeleton/protocols/pir/protocol.json +1 -1
  187. package/skeleton/protocols/pir/protocol.md +4 -4
  188. package/skeleton/protocols/protocol-schema.json +17 -0
  189. package/skeleton/protocols/research/protocol.json +1 -1
  190. package/skeleton/protocols/spike/protocol.json +1 -1
  191. package/skeleton/protocols/spir/protocol.json +5 -1
  192. package/skeleton/resources/commands/agent-farm.md +14 -11
  193. package/skeleton/roles/builder.md +3 -4
  194. package/templates/3d-viewer.html +32 -4
  195. package/templates/open.html +58 -12
  196. package/templates/tower.html +26 -7
  197. package/templates/vendor/three-3MFLoader.js +1478 -0
  198. package/templates/vendor/three-STLLoader.js +410 -0
  199. package/templates/vendor/three-TrackballControls.js +828 -0
  200. package/templates/vendor/three-fflate.module.js +2474 -0
  201. package/templates/vendor/three.module.js +53044 -0
  202. package/dashboard-dist/assets/index-JCbkpAcV.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-client.js","sourceRoot":"","sources":["../../../src/agent-farm/lib/tunnel-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunnel-client.js","sourceRoot":"","sources":["../../../src/agent-farm/lib/tunnel-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Canvas command relay + live view registry for Tower (spec 1401).
3
+ *
4
+ * Lets any CONTROLLER (a control device, a companion app, a test harness) drive an open
5
+ * artifact-canvas view over Tower's existing channels:
6
+ * - host -> Tower: REST on `/api/canvas/views` (register / heartbeat / unregister).
7
+ * - controller -> Tower: REST POST `/api/canvas/command`.
8
+ * - Tower -> host: SSE `canvas-command` at /api/events, addressed to one resolved view.
9
+ *
10
+ * Why this is not just another verb on `command-relay.ts`: that relay is a fire-and-forget
11
+ * broadcast which answers `{ok:true}` whether or not anything is listening. It structurally
12
+ * cannot say "no canvas is open", and it cannot pick one view among several. Both are hard
13
+ * requirements here, so Tower keeps a registry of live views, resolves exactly ONE target, and
14
+ * reports which one it drove.
15
+ *
16
+ * The registry is deliberately in-memory and lease-based: a view is a live UI surface, not
17
+ * durable state, and a host that dies without unregistering must age out rather than linger as
18
+ * a ghost that silently swallows commands.
19
+ */
20
+ import type * as http from 'node:http';
21
+ import type { CanvasView } from '@cluesmith/codev-types';
22
+ export declare const CANVAS_COMMAND_ROUTE = "/api/canvas/command";
23
+ export declare const CANVAS_VIEWS_ROUTE = "/api/canvas/views";
24
+ /** Everything under this prefix belongs to this module. */
25
+ export declare const CANVAS_ROUTE_PREFIX = "/api/canvas/";
26
+ /** How often a host should heartbeat to keep its lease alive. */
27
+ export declare const CANVAS_VIEW_HEARTBEAT_MS = 30000;
28
+ /**
29
+ * How long a view survives without a heartbeat. Three missed beats: long enough to ride out a
30
+ * busy event loop or a paused debugger, short enough that a killed host's ghost view stops
31
+ * absorbing commands quickly.
32
+ */
33
+ export declare const CANVAS_VIEW_LEASE_MS = 90000;
34
+ export interface CanvasRelayDeps {
35
+ /** Fan an event out to all SSE clients (wraps broadcastNotification). */
36
+ broadcast: (type: string, body: unknown) => void;
37
+ /** Injectable clock, so lease expiry is tested by advancing time rather than waiting. */
38
+ now: () => number;
39
+ }
40
+ /** The slice of Tower's RouteContext this module needs (avoids a type import cycle). */
41
+ interface CanvasRouteCtx {
42
+ broadcastNotification: (n: {
43
+ type: string;
44
+ title: string;
45
+ body: string;
46
+ }) => void;
47
+ }
48
+ /** Wire the module's dependencies. */
49
+ export declare function initCanvasRelay(d: CanvasRelayDeps): void;
50
+ /** Tear down state (used by tests and shutdown). */
51
+ export declare function shutdownCanvasRelay(): void;
52
+ /**
53
+ * Single entry point for `/api/canvas/*`, delegated from tower-routes. Lazily initializes from
54
+ * the RouteContext on first hit, then dispatches.
55
+ */
56
+ export declare function handleCanvasRoute(req: http.IncomingMessage, res: http.ServerResponse, url: URL, ctx: CanvasRouteCtx): Promise<void>;
57
+ /** Live views, for tests and diagnostics. Never part of the wire surface. */
58
+ export declare function listCanvasViewsForTest(): CanvasView[];
59
+ export {};
60
+ //# sourceMappingURL=canvas-relay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-relay.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/canvas-relay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AAIvC,OAAO,KAAK,EAIV,UAAU,EAGX,MAAM,wBAAwB,CAAC;AAQhC,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAC1D,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AAGtD,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAC/C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAmE3C,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,yFAAyF;IACzF,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB;AAED,wFAAwF;AACxF,UAAU,cAAc;IACtB,qBAAqB,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACnF;AAOD,sCAAsC;AACtC,wBAAgB,eAAe,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,CAGxD;AAED,oDAAoD;AACpD,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C;AAsDD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CAwBf;AA6MD,6EAA6E;AAC7E,wBAAgB,sBAAsB,IAAI,UAAU,EAAE,CAOrD"}
@@ -0,0 +1,376 @@
1
+ /**
2
+ * Canvas command relay + live view registry for Tower (spec 1401).
3
+ *
4
+ * Lets any CONTROLLER (a control device, a companion app, a test harness) drive an open
5
+ * artifact-canvas view over Tower's existing channels:
6
+ * - host -> Tower: REST on `/api/canvas/views` (register / heartbeat / unregister).
7
+ * - controller -> Tower: REST POST `/api/canvas/command`.
8
+ * - Tower -> host: SSE `canvas-command` at /api/events, addressed to one resolved view.
9
+ *
10
+ * Why this is not just another verb on `command-relay.ts`: that relay is a fire-and-forget
11
+ * broadcast which answers `{ok:true}` whether or not anything is listening. It structurally
12
+ * cannot say "no canvas is open", and it cannot pick one view among several. Both are hard
13
+ * requirements here, so Tower keeps a registry of live views, resolves exactly ONE target, and
14
+ * reports which one it drove.
15
+ *
16
+ * The registry is deliberately in-memory and lease-based: a view is a live UI surface, not
17
+ * durable state, and a host that dies without unregistering must age out rather than linger as
18
+ * a ghost that silently swallows commands.
19
+ */
20
+ import * as path from 'node:path';
21
+ import * as fs from 'node:fs';
22
+ import { randomUUID } from 'node:crypto';
23
+ import { parseJsonBody } from '../utils/server-utils.js';
24
+ // Wire names — the canonical contract lives in @cluesmith/codev-types
25
+ // (CANVAS_COMMAND_ROUTE / CANVAS_VIEWS_ROUTE / CANVAS_COMMAND_EVENT) and must match these. They
26
+ // are re-declared locally because codev runs UNBUNDLED from dist/ and codev-types is a
27
+ // compile-time-only (type) dependency with no runtime dist on the codev side, so a runtime value
28
+ // import from it would not resolve. Same reason command-relay.ts re-declares COMMAND_ROUTE.
29
+ export const CANVAS_COMMAND_ROUTE = '/api/canvas/command';
30
+ export const CANVAS_VIEWS_ROUTE = '/api/canvas/views';
31
+ const CANVAS_COMMAND_EVENT = 'canvas-command';
32
+ /** Everything under this prefix belongs to this module. */
33
+ export const CANVAS_ROUTE_PREFIX = '/api/canvas/';
34
+ /** How often a host should heartbeat to keep its lease alive. */
35
+ export const CANVAS_VIEW_HEARTBEAT_MS = 30_000;
36
+ /**
37
+ * How long a view survives without a heartbeat. Three missed beats: long enough to ride out a
38
+ * busy event loop or a paused debugger, short enough that a killed host's ghost view stops
39
+ * absorbing commands quickly.
40
+ */
41
+ export const CANVAS_VIEW_LEASE_MS = 90_000;
42
+ /**
43
+ * The closed command vocabulary as runtime data, so an unknown command can be rejected. The
44
+ * assertion below fails to compile if `CanvasCommand` gains a member that is missing here, which
45
+ * is what keeps Tower's validation from silently falling behind the contract.
46
+ */
47
+ const CANVAS_COMMANDS = [
48
+ 'block-next',
49
+ 'block-prev',
50
+ 'comment-next',
51
+ 'comment-prev',
52
+ 'heading-next',
53
+ 'heading-prev',
54
+ 'column-forward',
55
+ 'column-back',
56
+ 'viewport-down',
57
+ 'viewport-up',
58
+ 'doc-start',
59
+ 'doc-end',
60
+ 'composer-open',
61
+ 'composer-submit',
62
+ 'composer-cancel',
63
+ 'composer-open-or-submit',
64
+ 'reading-mode-toggle',
65
+ ];
66
+ /** The commands `count` is valid on. Same drift protection as above. */
67
+ const TRAVERSAL_COMMANDS = [
68
+ 'block-next',
69
+ 'block-prev',
70
+ 'comment-next',
71
+ 'comment-prev',
72
+ 'heading-next',
73
+ 'heading-prev',
74
+ 'column-forward',
75
+ 'column-back',
76
+ 'viewport-down',
77
+ 'viewport-up',
78
+ ];
79
+ const views = new Map();
80
+ let sequence = 0;
81
+ let deps = null;
82
+ let inited = false;
83
+ /** Wire the module's dependencies. */
84
+ export function initCanvasRelay(d) {
85
+ deps = d;
86
+ inited = true;
87
+ }
88
+ /** Tear down state (used by tests and shutdown). */
89
+ export function shutdownCanvasRelay() {
90
+ views.clear();
91
+ sequence = 0;
92
+ deps = null;
93
+ inited = false;
94
+ }
95
+ /**
96
+ * Resolve a path the same way the file-tab registry does, so the two agree on what "the same
97
+ * file" means: follow symlinks, fall back to resolving the parent when the file itself does not
98
+ * exist, and finally to a plain absolute path.
99
+ */
100
+ function canonicalPath(raw) {
101
+ try {
102
+ return fs.realpathSync(raw);
103
+ }
104
+ catch {
105
+ try {
106
+ return path.join(fs.realpathSync(path.dirname(raw)), path.basename(raw));
107
+ }
108
+ catch {
109
+ return path.resolve(raw);
110
+ }
111
+ }
112
+ }
113
+ /** Drop views whose lease has lapsed. Called on every access, so no timer is needed. */
114
+ function sweep(nowMs) {
115
+ for (const [id, view] of views) {
116
+ if (nowMs - view.lastSeenAt > CANVAS_VIEW_LEASE_MS)
117
+ views.delete(id);
118
+ }
119
+ }
120
+ /**
121
+ * Pick the single view a command should go to.
122
+ *
123
+ * Zero matches is the caller's problem to hear about, not something to paper over. More than one
124
+ * match resolves to the most recently active view and NEVER fans out: delivering
125
+ * `composer-submit` to two views of one file would post the comment twice.
126
+ */
127
+ function resolveTarget(workspace, file, nowMs) {
128
+ sweep(nowMs);
129
+ const ws = canonicalPath(workspace);
130
+ let wanted = null;
131
+ if (file !== undefined)
132
+ wanted = canonicalPath(file);
133
+ const matches = [];
134
+ for (const view of views.values()) {
135
+ if (view.workspace !== ws)
136
+ continue;
137
+ if (wanted !== null && view.file !== wanted)
138
+ continue;
139
+ matches.push(view);
140
+ }
141
+ if (matches.length === 0)
142
+ return null;
143
+ matches.sort((a, b) => {
144
+ if (b.lastActiveAt !== a.lastActiveAt)
145
+ return b.lastActiveAt - a.lastActiveAt;
146
+ return b.sequence - a.sequence;
147
+ });
148
+ return matches[0];
149
+ }
150
+ /**
151
+ * Single entry point for `/api/canvas/*`, delegated from tower-routes. Lazily initializes from
152
+ * the RouteContext on first hit, then dispatches.
153
+ */
154
+ export async function handleCanvasRoute(req, res, url, ctx) {
155
+ if (!inited) {
156
+ initCanvasRelay({
157
+ broadcast: (type, body) => ctx.broadcastNotification({ type, title: type, body: JSON.stringify(body) }),
158
+ now: () => Date.now(),
159
+ });
160
+ }
161
+ if (req.method === 'POST' && url.pathname === CANVAS_COMMAND_ROUTE) {
162
+ return handleCanvasCommand(req, res);
163
+ }
164
+ if (req.method === 'POST' && url.pathname === CANVAS_VIEWS_ROUTE) {
165
+ return handleRegisterView(req, res);
166
+ }
167
+ const viewMatch = url.pathname.match(/^\/api\/canvas\/views\/([^/]+)(\/heartbeat)?$/);
168
+ if (viewMatch) {
169
+ const viewId = decodeURIComponent(viewMatch[1]);
170
+ if (req.method === 'POST' && viewMatch[2])
171
+ return handleHeartbeat(req, res, viewId);
172
+ if (req.method === 'DELETE' && !viewMatch[2])
173
+ return handleUnregisterView(res, viewId);
174
+ }
175
+ sendJson(res, 404, { ok: false, error: 'Unknown canvas route' });
176
+ }
177
+ /** POST /api/canvas/views — a host registers one live canvas view. */
178
+ async function handleRegisterView(req, res) {
179
+ const d = requireDeps();
180
+ let parsed;
181
+ try {
182
+ parsed = await parseJsonBody(req);
183
+ }
184
+ catch {
185
+ return sendJson(res, 400, { ok: false, error: 'Invalid JSON' });
186
+ }
187
+ const body = asObject(parsed);
188
+ if (!body)
189
+ return sendJson(res, 400, { ok: false, error: 'Invalid JSON' });
190
+ if (!isNonEmptyString(body.workspace)) {
191
+ return sendJson(res, 400, { ok: false, error: 'Missing workspace' });
192
+ }
193
+ if (!isNonEmptyString(body.file)) {
194
+ return sendJson(res, 400, { ok: false, error: 'Missing file' });
195
+ }
196
+ const nowMs = d.now();
197
+ sweep(nowMs);
198
+ sequence += 1;
199
+ const viewId = `canvas-${randomUUID()}`;
200
+ const file = canonicalPath(body.file);
201
+ // One registration per VIEW, never per file: two panels showing the same document are two
202
+ // views with distinct ids, which is precisely the case the MRU rule exists to disambiguate.
203
+ views.set(viewId, {
204
+ viewId,
205
+ workspace: canonicalPath(body.workspace),
206
+ file,
207
+ lastActiveAt: nowMs,
208
+ lastSeenAt: nowMs,
209
+ sequence,
210
+ });
211
+ const result = { ok: true, viewId, file };
212
+ return sendJson(res, 200, result);
213
+ }
214
+ /**
215
+ * POST /api/canvas/views/:viewId/heartbeat — keep the lease alive.
216
+ *
217
+ * `focused: true` additionally makes this the most recently active view. Tower stamps both times
218
+ * itself; host clocks are never trusted, so MRU stays deterministic across hosts whose clocks
219
+ * disagree.
220
+ */
221
+ async function handleHeartbeat(req, res, viewId) {
222
+ const d = requireDeps();
223
+ let parsed;
224
+ try {
225
+ parsed = await parseJsonBody(req);
226
+ }
227
+ catch {
228
+ // A bodyless heartbeat is valid and already parses as `{}` ("still here, not necessarily
229
+ // focused"), so reaching here means the body was genuinely malformed. Renewing the lease on
230
+ // a payload we could not read would be extending liveness on the strength of a broken
231
+ // request.
232
+ return sendJson(res, 400, { ok: false, error: 'Invalid JSON' });
233
+ }
234
+ const body = asObject(parsed);
235
+ if (!body)
236
+ return sendJson(res, 400, { ok: false, error: 'Invalid JSON' });
237
+ // `focused` is optional but typed: a non-boolean violates `CanvasViewHeartbeat`. Reject before
238
+ // touching the lease, matching how the command route treats a bad `count` — a payload that does
239
+ // not meet the contract should not buy liveness just because the rest of it parsed.
240
+ if (body.focused !== undefined && typeof body.focused !== 'boolean') {
241
+ return sendJson(res, 400, { ok: false, error: 'focused must be a boolean' });
242
+ }
243
+ const nowMs = d.now();
244
+ sweep(nowMs);
245
+ const view = views.get(viewId);
246
+ // 404 rather than a silent re-create: a host holding an id Tower has forgotten (a restart, an
247
+ // expired lease) must learn that and re-register, or it would heartbeat into the void forever.
248
+ if (!view)
249
+ return sendJson(res, 404, { ok: false, error: 'Unknown view' });
250
+ view.lastSeenAt = nowMs;
251
+ if (body.focused === true)
252
+ view.lastActiveAt = nowMs;
253
+ return sendJson(res, 200, { ok: true });
254
+ }
255
+ /** DELETE /api/canvas/views/:viewId — the host's view is gone. */
256
+ function handleUnregisterView(res, viewId) {
257
+ const existed = views.delete(viewId);
258
+ if (!existed)
259
+ return sendJson(res, 404, { ok: false, error: 'Unknown view' });
260
+ return sendJson(res, 200, { ok: true });
261
+ }
262
+ /**
263
+ * POST /api/canvas/command — run one command against the resolved target view.
264
+ *
265
+ * Answers explicitly in every case: `no-canvas` (404) when the selector matches nothing,
266
+ * `invalid-request` (400) when the payload is malformed, and the resolved target on success.
267
+ * Delivery itself rides SSE and is best-effort; what is guaranteed is the ANSWER about targeting.
268
+ */
269
+ async function handleCanvasCommand(req, res) {
270
+ const d = requireDeps();
271
+ let parsed;
272
+ try {
273
+ parsed = await parseJsonBody(req);
274
+ }
275
+ catch {
276
+ return sendJson(res, 400, invalidRequest('Invalid JSON'));
277
+ }
278
+ const raw = asObject(parsed);
279
+ if (!raw)
280
+ return sendJson(res, 400, invalidRequest('Invalid JSON'));
281
+ const invalid = validateCommandRequest(raw);
282
+ if (invalid)
283
+ return sendJson(res, 400, invalidRequest(invalid));
284
+ const workspace = raw.workspace;
285
+ const file = raw.file;
286
+ const command = raw.command;
287
+ const count = raw.count;
288
+ const nowMs = d.now();
289
+ const target = resolveTarget(workspace, file, nowMs);
290
+ if (!target) {
291
+ const noCanvas = {
292
+ ok: false,
293
+ code: 'no-canvas',
294
+ error: 'No canvas view is open for that workspace/file',
295
+ };
296
+ return sendJson(res, 404, noCanvas);
297
+ }
298
+ const event = { viewId: target.viewId, command };
299
+ if (count !== undefined)
300
+ event.count = count;
301
+ d.broadcast(CANVAS_COMMAND_EVENT, event);
302
+ // Driving a view is activity: it keeps that view the MRU target for the follow-up commands a
303
+ // controller is about to send, even though it never took focus in its host.
304
+ //
305
+ // It is deliberately NOT liveness. Delivery is fire-and-forget over SSE and proves nothing
306
+ // about the host still being alive, so refreshing the lease here would mean a ghost view kept
307
+ // renewing itself for as long as a controller kept driving it — exactly when the reviewer most
308
+ // needs to be told there is no canvas. Only a heartbeat, which only a live host can send,
309
+ // extends the lease.
310
+ target.lastActiveAt = nowMs;
311
+ const ok = {
312
+ ok: true,
313
+ target: { viewId: target.viewId, file: target.file },
314
+ };
315
+ return sendJson(res, 200, ok);
316
+ }
317
+ /** Returns an error message when the payload is not a valid command request, else null. */
318
+ function validateCommandRequest(raw) {
319
+ if (!isNonEmptyString(raw.workspace))
320
+ return 'Missing workspace';
321
+ if (raw.file !== undefined && !isNonEmptyString(raw.file))
322
+ return 'Invalid file';
323
+ if (typeof raw.command !== 'string')
324
+ return 'Missing command';
325
+ if (!CANVAS_COMMANDS.includes(raw.command)) {
326
+ return `Unknown command: ${raw.command}`;
327
+ }
328
+ if (raw.count !== undefined) {
329
+ const count = raw.count;
330
+ if (typeof count !== 'number' || !Number.isInteger(count) || count < 1) {
331
+ return 'count must be a positive integer';
332
+ }
333
+ if (!TRAVERSAL_COMMANDS.includes(raw.command)) {
334
+ return `count is not valid for ${raw.command}`;
335
+ }
336
+ }
337
+ return null;
338
+ }
339
+ /** Every command-route failure carries a wire `code`; this keeps that impossible to forget. */
340
+ function invalidRequest(error) {
341
+ return { ok: false, code: 'invalid-request', error };
342
+ }
343
+ function isNonEmptyString(value) {
344
+ return typeof value === 'string' && value.trim().length > 0;
345
+ }
346
+ /**
347
+ * `parseJsonBody` is typed as returning an object but will happily resolve a literal `null`, a
348
+ * bare array, or a number, since those are all valid JSON. Reading a field off `null` throws,
349
+ * which would escape as a 500 with no wire `code` — the one thing the error contract forbids.
350
+ */
351
+ function asObject(value) {
352
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
353
+ return null;
354
+ return value;
355
+ }
356
+ /** Access the wired deps, throwing a clear error if init was skipped. */
357
+ function requireDeps() {
358
+ if (!deps)
359
+ throw new Error('Canvas relay not initialized');
360
+ return deps;
361
+ }
362
+ /** Write a JSON response with the given status code. */
363
+ function sendJson(res, status, body) {
364
+ res.writeHead(status, { 'Content-Type': 'application/json' });
365
+ res.end(JSON.stringify(body));
366
+ }
367
+ /** Live views, for tests and diagnostics. Never part of the wire surface. */
368
+ export function listCanvasViewsForTest() {
369
+ return [...views.values()].map((v) => ({
370
+ viewId: v.viewId,
371
+ workspace: v.workspace,
372
+ file: v.file,
373
+ lastActiveAt: v.lastActiveAt,
374
+ }));
375
+ }
376
+ //# sourceMappingURL=canvas-relay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-relay.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/canvas-relay.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ export interface AppIdentity {
60
60
  * launches — a builder run through `.builder-start.sh` whose `command` is the
61
61
  * shell, not the agent — resolve to `null` here; the delivery wiring (Phase 4)
62
62
  * supplies the resolved agent command for those (it already reads the launch
63
- * script to identify the harness, as `afx reset` does). Fail-safe by
63
+ * script to identify the harness, as `afx refresh` does). Fail-safe by
64
64
  * construction: an unresolved identity is held and surfaced, never guessed.
65
65
  */
66
66
  export declare function resolveProfile(identity: AppIdentity): GateProfile | null;
@@ -98,7 +98,7 @@ const PROFILES_BY_HARNESS = {
98
98
  * launches — a builder run through `.builder-start.sh` whose `command` is the
99
99
  * shell, not the agent — resolve to `null` here; the delivery wiring (Phase 4)
100
100
  * supplies the resolved agent command for those (it already reads the launch
101
- * script to identify the harness, as `afx reset` does). Fail-safe by
101
+ * script to identify the harness, as `afx refresh` does). Fail-safe by
102
102
  * construction: an unresolved identity is held and surfaced, never guessed.
103
103
  */
104
104
  export function resolveProfile(identity) {