poly-weaver 0.13.4 → 0.14.0

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 (230) hide show
  1. package/dist/agents/executors/dsl.d.ts +11 -0
  2. package/dist/agents/executors/dsl.d.ts.map +1 -0
  3. package/dist/agents/executors/dsl.js +11 -0
  4. package/dist/agents/executors/dsl.js.map +1 -0
  5. package/dist/agents/executors/index.d.ts +8 -0
  6. package/dist/agents/executors/index.d.ts.map +1 -0
  7. package/dist/agents/executors/index.js +17 -0
  8. package/dist/agents/executors/index.js.map +1 -0
  9. package/dist/agents/executors/prompts.d.ts +18 -0
  10. package/dist/agents/executors/prompts.d.ts.map +1 -0
  11. package/dist/agents/executors/prompts.js +62 -0
  12. package/dist/agents/executors/prompts.js.map +1 -0
  13. package/dist/agents/executors/types.d.ts +8 -0
  14. package/dist/agents/executors/types.d.ts.map +1 -0
  15. package/dist/agents/executors/types.js +2 -0
  16. package/dist/agents/executors/types.js.map +1 -0
  17. package/dist/agents/index.d.ts +2 -0
  18. package/dist/agents/index.d.ts.map +1 -1
  19. package/dist/agents/index.js +4 -0
  20. package/dist/agents/index.js.map +1 -1
  21. package/dist/agents/registry.d.ts +1 -1
  22. package/dist/agents/registry.d.ts.map +1 -1
  23. package/dist/agents/registry.js +3 -0
  24. package/dist/agents/registry.js.map +1 -1
  25. package/dist/agents/runner.d.ts.map +1 -1
  26. package/dist/agents/runner.js +20 -45
  27. package/dist/agents/runner.js.map +1 -1
  28. package/dist/ansi.d.ts +4 -0
  29. package/dist/ansi.d.ts.map +1 -1
  30. package/dist/ansi.js +4 -0
  31. package/dist/ansi.js.map +1 -1
  32. package/dist/cli.js +1 -0
  33. package/dist/cli.js.map +1 -1
  34. package/dist/config.d.ts +2 -2
  35. package/dist/config.d.ts.map +1 -1
  36. package/dist/crosscheck/broadcast-composer.d.ts +89 -0
  37. package/dist/crosscheck/broadcast-composer.d.ts.map +1 -0
  38. package/dist/crosscheck/broadcast-composer.js +431 -0
  39. package/dist/crosscheck/broadcast-composer.js.map +1 -0
  40. package/dist/crosscheck/coordinator.d.ts +154 -0
  41. package/dist/crosscheck/coordinator.d.ts.map +1 -0
  42. package/dist/crosscheck/coordinator.js +1695 -0
  43. package/dist/crosscheck/coordinator.js.map +1 -0
  44. package/dist/crosscheck/key-helpers.d.ts +16 -0
  45. package/dist/crosscheck/key-helpers.d.ts.map +1 -0
  46. package/dist/crosscheck/key-helpers.js +42 -0
  47. package/dist/crosscheck/key-helpers.js.map +1 -0
  48. package/dist/crosscheck/live-agent-session.d.ts +38 -0
  49. package/dist/crosscheck/live-agent-session.d.ts.map +1 -0
  50. package/dist/crosscheck/live-agent-session.js +126 -0
  51. package/dist/crosscheck/live-agent-session.js.map +1 -0
  52. package/dist/crosscheck/reconcile.d.ts +10 -0
  53. package/dist/crosscheck/reconcile.d.ts.map +1 -0
  54. package/dist/crosscheck/reconcile.js +29 -0
  55. package/dist/crosscheck/reconcile.js.map +1 -0
  56. package/dist/crosscheck/state.d.ts +102 -0
  57. package/dist/crosscheck/state.d.ts.map +1 -0
  58. package/dist/crosscheck/state.js +221 -0
  59. package/dist/crosscheck/state.js.map +1 -0
  60. package/dist/dsl.d.ts +2 -0
  61. package/dist/dsl.d.ts.map +1 -1
  62. package/dist/dsl.js +2 -1
  63. package/dist/dsl.js.map +1 -1
  64. package/dist/dump/service.d.ts +6 -3
  65. package/dist/dump/service.d.ts.map +1 -1
  66. package/dist/dump/service.js +32 -12
  67. package/dist/dump/service.js.map +1 -1
  68. package/dist/flow/built-in/crosscheck-factory.d.ts +15 -0
  69. package/dist/flow/built-in/crosscheck-factory.d.ts.map +1 -0
  70. package/dist/flow/built-in/crosscheck-factory.js +60 -0
  71. package/dist/flow/built-in/crosscheck-factory.js.map +1 -0
  72. package/dist/flow/built-in/crosscheck.d.ts +6 -0
  73. package/dist/flow/built-in/crosscheck.d.ts.map +1 -0
  74. package/dist/flow/built-in/crosscheck.js +6 -0
  75. package/dist/flow/built-in/crosscheck.js.map +1 -0
  76. package/dist/flow/built-in/default-factory.d.ts.map +1 -1
  77. package/dist/flow/built-in/default-factory.js +1 -0
  78. package/dist/flow/built-in/default-factory.js.map +1 -1
  79. package/dist/flow/built-in/simplify-factory.d.ts.map +1 -1
  80. package/dist/flow/built-in/simplify-factory.js +1 -0
  81. package/dist/flow/built-in/simplify-factory.js.map +1 -1
  82. package/dist/flow/custom/load.d.ts.map +1 -1
  83. package/dist/flow/custom/load.js +4 -0
  84. package/dist/flow/custom/load.js.map +1 -1
  85. package/dist/flow/dsl.d.ts +1 -0
  86. package/dist/flow/dsl.d.ts.map +1 -1
  87. package/dist/flow/dsl.js +1 -0
  88. package/dist/flow/dsl.js.map +1 -1
  89. package/dist/flow/index.d.ts +2 -1
  90. package/dist/flow/index.d.ts.map +1 -1
  91. package/dist/flow/index.js +2 -1
  92. package/dist/flow/index.js.map +1 -1
  93. package/dist/flow/params.d.ts +7 -1
  94. package/dist/flow/params.d.ts.map +1 -1
  95. package/dist/flow/params.js +28 -13
  96. package/dist/flow/params.js.map +1 -1
  97. package/dist/flow/types.d.ts +8 -1
  98. package/dist/flow/types.d.ts.map +1 -1
  99. package/dist/flow/types.js.map +1 -1
  100. package/dist/offscreen/controller.d.ts +9 -3
  101. package/dist/offscreen/controller.d.ts.map +1 -1
  102. package/dist/offscreen/controller.js +149 -75
  103. package/dist/offscreen/controller.js.map +1 -1
  104. package/dist/offscreen/fork-busy.d.ts +2 -1
  105. package/dist/offscreen/fork-busy.d.ts.map +1 -1
  106. package/dist/offscreen/fork-busy.js +5 -2
  107. package/dist/offscreen/fork-busy.js.map +1 -1
  108. package/dist/offscreen/fork.d.ts +1 -1
  109. package/dist/offscreen/fork.d.ts.map +1 -1
  110. package/dist/offscreen/fork.js +4 -2
  111. package/dist/offscreen/fork.js.map +1 -1
  112. package/dist/offscreen/inquiry-sender.d.ts +4 -9
  113. package/dist/offscreen/inquiry-sender.d.ts.map +1 -1
  114. package/dist/offscreen/inquiry-sender.js +5 -54
  115. package/dist/offscreen/inquiry-sender.js.map +1 -1
  116. package/dist/offscreen/session-turn-monitor.d.ts +66 -0
  117. package/dist/offscreen/session-turn-monitor.d.ts.map +1 -0
  118. package/dist/offscreen/session-turn-monitor.js +257 -0
  119. package/dist/offscreen/session-turn-monitor.js.map +1 -0
  120. package/dist/orchestrator.d.ts +7 -6
  121. package/dist/orchestrator.d.ts.map +1 -1
  122. package/dist/orchestrator.js +122 -61
  123. package/dist/orchestrator.js.map +1 -1
  124. package/dist/preview-panel.d.ts +1 -0
  125. package/dist/preview-panel.d.ts.map +1 -1
  126. package/dist/preview-panel.js +24 -20
  127. package/dist/preview-panel.js.map +1 -1
  128. package/dist/providers/claude/completion.d.ts +1 -0
  129. package/dist/providers/claude/completion.d.ts.map +1 -1
  130. package/dist/providers/claude/completion.js +5 -0
  131. package/dist/providers/claude/completion.js.map +1 -1
  132. package/dist/providers/claude/composer.d.ts +6 -0
  133. package/dist/providers/claude/composer.d.ts.map +1 -0
  134. package/dist/providers/claude/composer.js +7 -0
  135. package/dist/providers/claude/composer.js.map +1 -0
  136. package/dist/providers/claude/session.d.ts +1 -0
  137. package/dist/providers/claude/session.d.ts.map +1 -1
  138. package/dist/providers/claude/session.js +21 -1
  139. package/dist/providers/claude/session.js.map +1 -1
  140. package/dist/providers/claude/strategy.d.ts +6 -1
  141. package/dist/providers/claude/strategy.d.ts.map +1 -1
  142. package/dist/providers/claude/strategy.js +40 -11
  143. package/dist/providers/claude/strategy.js.map +1 -1
  144. package/dist/providers/codex/composer.d.ts +6 -0
  145. package/dist/providers/codex/composer.d.ts.map +1 -0
  146. package/dist/providers/codex/composer.js +143 -0
  147. package/dist/providers/codex/composer.js.map +1 -0
  148. package/dist/providers/codex/plan-mode-activator.d.ts +4 -6
  149. package/dist/providers/codex/plan-mode-activator.d.ts.map +1 -1
  150. package/dist/providers/codex/plan-mode-activator.js +16 -21
  151. package/dist/providers/codex/plan-mode-activator.js.map +1 -1
  152. package/dist/providers/codex/strategy.d.ts +5 -1
  153. package/dist/providers/codex/strategy.d.ts.map +1 -1
  154. package/dist/providers/codex/strategy.js +8 -3
  155. package/dist/providers/codex/strategy.js.map +1 -1
  156. package/dist/providers/composer-utils.d.ts +9 -0
  157. package/dist/providers/composer-utils.d.ts.map +1 -0
  158. package/dist/providers/composer-utils.js +218 -0
  159. package/dist/providers/composer-utils.js.map +1 -0
  160. package/dist/providers/copilot/completion.d.ts +6 -2
  161. package/dist/providers/copilot/completion.d.ts.map +1 -1
  162. package/dist/providers/copilot/completion.js +56 -11
  163. package/dist/providers/copilot/completion.js.map +1 -1
  164. package/dist/providers/copilot/composer.d.ts +6 -0
  165. package/dist/providers/copilot/composer.d.ts.map +1 -0
  166. package/dist/providers/copilot/composer.js +10 -0
  167. package/dist/providers/copilot/composer.js.map +1 -0
  168. package/dist/providers/copilot/strategy.d.ts +6 -1
  169. package/dist/providers/copilot/strategy.d.ts.map +1 -1
  170. package/dist/providers/copilot/strategy.js +69 -12
  171. package/dist/providers/copilot/strategy.js.map +1 -1
  172. package/dist/providers/fork.d.ts +3 -1
  173. package/dist/providers/fork.d.ts.map +1 -1
  174. package/dist/providers/fork.js.map +1 -1
  175. package/dist/providers/index.d.ts +1 -1
  176. package/dist/providers/index.d.ts.map +1 -1
  177. package/dist/providers/live.d.ts +17 -0
  178. package/dist/providers/live.d.ts.map +1 -0
  179. package/dist/providers/live.js +201 -0
  180. package/dist/providers/live.js.map +1 -0
  181. package/dist/providers/session-launch.d.ts +25 -0
  182. package/dist/providers/session-launch.d.ts.map +1 -0
  183. package/dist/providers/session-launch.js +54 -0
  184. package/dist/providers/session-launch.js.map +1 -0
  185. package/dist/providers/types.d.ts +75 -4
  186. package/dist/providers/types.d.ts.map +1 -1
  187. package/dist/providers/types.js.map +1 -1
  188. package/dist/resume-tui.d.ts.map +1 -1
  189. package/dist/resume-tui.js +3 -1
  190. package/dist/resume-tui.js.map +1 -1
  191. package/dist/session/list.d.ts.map +1 -1
  192. package/dist/session/list.js +5 -3
  193. package/dist/session/list.js.map +1 -1
  194. package/dist/session/locator.d.ts.map +1 -1
  195. package/dist/session/locator.js +6 -22
  196. package/dist/session/locator.js.map +1 -1
  197. package/dist/session/reader.d.ts +8 -0
  198. package/dist/session/reader.d.ts.map +1 -1
  199. package/dist/session/reader.js +12 -2
  200. package/dist/session/reader.js.map +1 -1
  201. package/dist/session/resume.d.ts.map +1 -1
  202. package/dist/session/resume.js +1 -0
  203. package/dist/session/resume.js.map +1 -1
  204. package/dist/session/session-store.d.ts +3 -0
  205. package/dist/session/session-store.d.ts.map +1 -1
  206. package/dist/session/session-store.js +18 -6
  207. package/dist/session/session-store.js.map +1 -1
  208. package/dist/startup-tui.js +2 -2
  209. package/dist/startup-tui.js.map +1 -1
  210. package/dist/status-bar.d.ts +3 -0
  211. package/dist/status-bar.d.ts.map +1 -1
  212. package/dist/status-bar.js.map +1 -1
  213. package/dist/terminal/host.d.ts +19 -3
  214. package/dist/terminal/host.d.ts.map +1 -1
  215. package/dist/terminal/host.js +45 -7
  216. package/dist/terminal/host.js.map +1 -1
  217. package/dist/terminal/kitty-negotiator.js +1 -1
  218. package/dist/terminal/kitty-negotiator.js.map +1 -1
  219. package/dist/terminal/paste-submit.d.ts +18 -27
  220. package/dist/terminal/paste-submit.d.ts.map +1 -1
  221. package/dist/terminal/paste-submit.js +81 -128
  222. package/dist/terminal/paste-submit.js.map +1 -1
  223. package/dist/terminal-input.d.ts.map +1 -1
  224. package/dist/terminal-input.js +3 -4
  225. package/dist/terminal-input.js.map +1 -1
  226. package/dist/util/abortable-sleep.d.ts +6 -0
  227. package/dist/util/abortable-sleep.d.ts.map +1 -0
  228. package/dist/util/abortable-sleep.js +40 -0
  229. package/dist/util/abortable-sleep.js.map +1 -0
  230. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../src/crosscheck/coordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { TerminalKey } from "../terminal-input.js";
2
+ /**
3
+ * Matches a control byte both on the legacy VT control path and on the
4
+ * Kitty keyboard protocol path, where Ctrl+<letter> is reported as the
5
+ * letter's keycode (ASCII `byte + 96`) with the Ctrl modifier bit set.
6
+ */
7
+ export declare function isControlKey(key: TerminalKey, byte: number): boolean;
8
+ /** Plain Enter (no Shift): submits. Distinct from Shift+Enter, which inserts a newline. */
9
+ export declare function isEnterKey(key: TerminalKey, childKittyFlags: number): boolean;
10
+ /** Shift+Enter: only distinguishable from plain Enter via the Kitty keyboard protocol. */
11
+ export declare function isShiftEnterKey(key: TerminalKey): boolean;
12
+ /** Ctrl+J on either the legacy VT control path or Kitty keyboard protocol. */
13
+ export declare function isCtrlJKey(key: TerminalKey): boolean;
14
+ /** Shift+Tab: reported through the Kitty keyboard protocol as keycode 9 with the Shift bit set. */
15
+ export declare function isShiftTabKey(key: TerminalKey): boolean;
16
+ //# sourceMappingURL=key-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-helpers.d.ts","sourceRoot":"","sources":["../../src/crosscheck/key-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAYpE;AAED,2FAA2F;AAC3F,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAK7E;AAED,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAIzD;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAEpD;AAED,mGAAmG;AACnG,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAIvD"}
@@ -0,0 +1,42 @@
1
+ import { encodeKeysToBytes } from "../terminal/key-to-bytes.js";
2
+ /**
3
+ * Matches a control byte both on the legacy VT control path and on the
4
+ * Kitty keyboard protocol path, where Ctrl+<letter> is reported as the
5
+ * letter's keycode (ASCII `byte + 96`) with the Ctrl modifier bit set.
6
+ */
7
+ export function isControlKey(key, byte) {
8
+ return (key.kind === "control" && key.byte === byte)
9
+ || (byte === 0x03
10
+ && key.kind === "kitty-key"
11
+ && key.keyCode === 3)
12
+ || (key.kind === "kitty-key"
13
+ && key.keyCode === byte + 96
14
+ && ((key.modifiers - 1) & 0x04) !== 0);
15
+ }
16
+ /** Plain Enter (no Shift): submits. Distinct from Shift+Enter, which inserts a newline. */
17
+ export function isEnterKey(key, childKittyFlags) {
18
+ if (key.kind === "enter")
19
+ return true;
20
+ if (key.kind !== "kitty-key" || key.keyCode !== 13)
21
+ return false;
22
+ if (key.modifiers === 1)
23
+ return true;
24
+ return encodeKeysToBytes([key], { childKittyFlags }).equals(Buffer.from([0x0d]));
25
+ }
26
+ /** Shift+Enter: only distinguishable from plain Enter via the Kitty keyboard protocol. */
27
+ export function isShiftEnterKey(key) {
28
+ return key.kind === "kitty-key"
29
+ && key.keyCode === 13
30
+ && ((key.modifiers - 1) & 0x01) !== 0;
31
+ }
32
+ /** Ctrl+J on either the legacy VT control path or Kitty keyboard protocol. */
33
+ export function isCtrlJKey(key) {
34
+ return isControlKey(key, 0x0a);
35
+ }
36
+ /** Shift+Tab: reported through the Kitty keyboard protocol as keycode 9 with the Shift bit set. */
37
+ export function isShiftTabKey(key) {
38
+ return key.kind === "kitty-key"
39
+ && key.keyCode === 9
40
+ && ((key.modifiers - 1) & 0x01) !== 0;
41
+ }
42
+ //# sourceMappingURL=key-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-helpers.js","sourceRoot":"","sources":["../../src/crosscheck/key-helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAgB,EAAE,IAAY;IACzD,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;WAC/C,CACD,IAAI,KAAK,IAAI;eACV,GAAG,CAAC,IAAI,KAAK,WAAW;eACxB,GAAG,CAAC,OAAO,KAAK,CAAC,CACrB;WACE,CACD,GAAG,CAAC,IAAI,KAAK,WAAW;eACrB,GAAG,CAAC,OAAO,KAAK,IAAI,GAAG,EAAE;eACzB,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CACtC,CAAC;AACN,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,UAAU,CAAC,GAAgB,EAAE,eAAuB;IAClE,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACjE,IAAI,GAAG,CAAC,SAAS,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,eAAe,CAAC,GAAgB;IAC9C,OAAO,GAAG,CAAC,IAAI,KAAK,WAAW;WAC1B,GAAG,CAAC,OAAO,KAAK,EAAE;WAClB,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,UAAU,CAAC,GAAgB;IACzC,OAAO,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,aAAa,CAAC,GAAgB;IAC5C,OAAO,GAAG,CAAC,IAAI,KAAK,WAAW;WAC1B,GAAG,CAAC,OAAO,KAAK,CAAC;WACjB,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { PtyExitEvent, PtyHandle } from "../pty/types.js";
2
+ import { PtyTailBuffer } from "../dump/pty-tail-buffer.js";
3
+ import type { DriverName } from "../flow/types.js";
4
+ import { type MouseMode } from "../terminal/mouse-mode-tracker.js";
5
+ import { VirtualTerminal } from "../terminal/virtual-terminal.js";
6
+ import type { LiveSessionIdentity, LiveSessionLaunchOptions } from "../providers/types.js";
7
+ export interface LiveAgentSessionOptions extends LiveSessionLaunchOptions {
8
+ driver: DriverName;
9
+ cols: number;
10
+ rows: number;
11
+ sessionFileWaitMs?: number;
12
+ onRender: () => void;
13
+ onExit?: (event: PtyExitEvent) => void;
14
+ onSpawn?: (session: LiveAgentSession) => void;
15
+ onOscClipboard?: (data: string) => void;
16
+ }
17
+ export declare class LiveAgentSession {
18
+ readonly driver: DriverName;
19
+ readonly pty: PtyHandle;
20
+ readonly vt: VirtualTerminal;
21
+ readonly baseline: number;
22
+ readonly resumed: boolean;
23
+ readonly ptyTail: PtyTailBuffer;
24
+ private readonly mouseTracker;
25
+ private readonly kittyNegotiator;
26
+ private readonly lifecycle;
27
+ private _identity;
28
+ private constructor();
29
+ get identity(): LiveSessionIdentity;
30
+ get identityReady(): boolean;
31
+ static launch(opts: LiveAgentSessionOptions): Promise<LiveAgentSession>;
32
+ mouseModes(): MouseMode[];
33
+ hasMouseReporting(): boolean;
34
+ get childKittyFlags(): number;
35
+ resize(cols: number, rows: number): void;
36
+ close(): void;
37
+ }
38
+ //# sourceMappingURL=live-agent-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-agent-session.d.ts","sourceRoot":"","sources":["../../src/crosscheck/live-agent-session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,qBAAa,gBAAgB;IAIzB,QAAQ,CAAC,MAAM,EAAE,UAAU;IAC3B,QAAQ,CAAC,GAAG,EAAE,SAAS;IACvB,QAAQ,CAAC,EAAE,EAAE,eAAe;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO;IACzB,QAAQ,CAAC,OAAO,EAAE,aAAa;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAX5B,OAAO,CAAC,SAAS,CAAkC;IAEnD,OAAO;IAYP,IAAI,QAAQ,IAAI,mBAAmB,CAGlC;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;WAEY,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmE7E,UAAU,IAAI,SAAS,EAAE;IAIzB,iBAAiB,IAAI,OAAO;IAI5B,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxC,KAAK,IAAI,IAAI;CAMd"}
@@ -0,0 +1,126 @@
1
+ import { spawnPty } from "../pty/spawn.js";
2
+ import { PtyTailBuffer } from "../dump/pty-tail-buffer.js";
3
+ import { MouseModeTracker } from "../terminal/mouse-mode-tracker.js";
4
+ import { VirtualTerminal } from "../terminal/virtual-terminal.js";
5
+ import { resolveProvider } from "../providers/registry.js";
6
+ import { throwIfAborted } from "../session/locator.js";
7
+ import { ChildKittyNegotiator } from "../terminal/kitty-negotiator.js";
8
+ export class LiveAgentSession {
9
+ driver;
10
+ pty;
11
+ vt;
12
+ baseline;
13
+ resumed;
14
+ ptyTail;
15
+ mouseTracker;
16
+ kittyNegotiator;
17
+ lifecycle;
18
+ _identity;
19
+ constructor(driver, pty, vt, baseline, resumed, ptyTail, mouseTracker, kittyNegotiator, lifecycle) {
20
+ this.driver = driver;
21
+ this.pty = pty;
22
+ this.vt = vt;
23
+ this.baseline = baseline;
24
+ this.resumed = resumed;
25
+ this.ptyTail = ptyTail;
26
+ this.mouseTracker = mouseTracker;
27
+ this.kittyNegotiator = kittyNegotiator;
28
+ this.lifecycle = lifecycle;
29
+ }
30
+ get identity() {
31
+ if (!this._identity)
32
+ throw new Error("Live session identity is not available yet");
33
+ return this._identity;
34
+ }
35
+ get identityReady() {
36
+ return this._identity !== undefined;
37
+ }
38
+ static async launch(opts) {
39
+ const provider = resolveProvider(opts.driver);
40
+ const launch = await provider.live.buildLaunch(opts);
41
+ const vt = new VirtualTerminal(opts.cols, opts.rows, {
42
+ onOscClipboard: opts.onOscClipboard,
43
+ });
44
+ const ptyTail = new PtyTailBuffer();
45
+ const mouseTracker = new MouseModeTracker();
46
+ const kittyNegotiator = new ChildKittyNegotiator();
47
+ const lifecycle = { closed: false };
48
+ let pty;
49
+ let session;
50
+ try {
51
+ throwIfAborted(opts.signal);
52
+ pty = spawnPty({
53
+ command: launch.command,
54
+ args: launch.args,
55
+ cwd: opts.workdir,
56
+ ...(launch.env && { env: launch.env }),
57
+ cols: opts.cols,
58
+ rows: opts.rows,
59
+ interactive: true,
60
+ });
61
+ pty.onData((data) => {
62
+ if (lifecycle.closed)
63
+ return;
64
+ ptyTail.append(data);
65
+ mouseTracker.processChunk(data);
66
+ const kittyReply = kittyNegotiator.processChunk(data);
67
+ if (kittyReply.length > 0)
68
+ pty.write(kittyReply);
69
+ const stickyBottom = !vt.isScrolledBack;
70
+ vt.write(data, () => {
71
+ if (stickyBottom)
72
+ vt.scrollToBottom();
73
+ opts.onRender();
74
+ });
75
+ });
76
+ pty.onExit((event) => {
77
+ if (!lifecycle.closed)
78
+ opts.onExit?.(event);
79
+ });
80
+ session = new LiveAgentSession(opts.driver, pty, vt, launch.baseline, launch.resumeIdentity !== undefined, ptyTail, mouseTracker, kittyNegotiator, lifecycle);
81
+ pty.openGate();
82
+ opts.onSpawn?.(session);
83
+ const identity = await provider.live.locateSessionFile(launch, {
84
+ timeoutMs: opts.sessionFileWaitMs,
85
+ output: opts.output,
86
+ signal: opts.signal,
87
+ });
88
+ session._identity = identity;
89
+ return session;
90
+ }
91
+ catch (err) {
92
+ lifecycle.closed = true;
93
+ launch.release();
94
+ try {
95
+ pty?.kill();
96
+ }
97
+ catch { }
98
+ vt.dispose();
99
+ throw err;
100
+ }
101
+ }
102
+ mouseModes() {
103
+ return this.mouseTracker.snapshot();
104
+ }
105
+ hasMouseReporting() {
106
+ return this.mouseTracker.hasActiveReportingMode();
107
+ }
108
+ get childKittyFlags() {
109
+ return this.kittyNegotiator.activeFlags;
110
+ }
111
+ resize(cols, rows) {
112
+ this.vt.resize(cols, rows);
113
+ this.pty.resize(cols, rows);
114
+ }
115
+ close() {
116
+ if (this.lifecycle.closed)
117
+ return;
118
+ this.lifecycle.closed = true;
119
+ try {
120
+ this.pty.kill();
121
+ }
122
+ catch { }
123
+ this.vt.dispose();
124
+ }
125
+ }
126
+ //# sourceMappingURL=live-agent-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-agent-session.js","sourceRoot":"","sources":["../../src/crosscheck/live-agent-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface ReviewItem {
2
+ description: string;
3
+ [key: string]: unknown;
4
+ }
5
+ export interface CrosscheckReviewResult {
6
+ changes: ReviewItem[];
7
+ rejected: ReviewItem[];
8
+ }
9
+ export declare function readReviewResult(path: string): Promise<CrosscheckReviewResult | undefined>;
10
+ //# sourceMappingURL=reconcile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../src/crosscheck/reconcile.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAkB7C"}
@@ -0,0 +1,29 @@
1
+ import { readJsonIfExists } from "../session/persistence.js";
2
+ export async function readReviewResult(path) {
3
+ let raw;
4
+ try {
5
+ raw = await readJsonIfExists(path);
6
+ }
7
+ catch {
8
+ return undefined;
9
+ }
10
+ if (!isRecord(raw))
11
+ return undefined;
12
+ if (!Array.isArray(raw.changes) || !Array.isArray(raw.rejected)) {
13
+ return undefined;
14
+ }
15
+ if (!raw.changes.every(isReviewItem) || !raw.rejected.every(isReviewItem)) {
16
+ return undefined;
17
+ }
18
+ return {
19
+ changes: raw.changes,
20
+ rejected: raw.rejected,
21
+ };
22
+ }
23
+ function isRecord(value) {
24
+ return typeof value === "object" && value !== null && !Array.isArray(value);
25
+ }
26
+ function isReviewItem(value) {
27
+ return isRecord(value) && typeof value.description === "string";
28
+ }
29
+ //# sourceMappingURL=reconcile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../src/crosscheck/reconcile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAY7D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAY;IAEZ,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,gBAAgB,CAAU,IAAI,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC;AAClE,CAAC"}
@@ -0,0 +1,102 @@
1
+ import type { DriverName } from "../flow/types.js";
2
+ import type { CrosscheckAgent } from "../agents/executors/types.js";
3
+ import type { LiveSessionIdentity } from "../providers/types.js";
4
+ export type DispatchSideStatus = "pending" | "submitted" | "delivered";
5
+ export type DispatchPhase = "crosscheck" | "reconcile";
6
+ export interface CrosscheckSessionState extends LiveSessionIdentity {
7
+ driver: DriverName;
8
+ /** A fresh fallback replaced the session while a crosscheck was pending. */
9
+ pendingDispatchBaselineReset?: true;
10
+ }
11
+ export interface CrosscheckDispatch {
12
+ token: string;
13
+ phase: DispatchPhase;
14
+ round?: number;
15
+ agents: Record<CrosscheckAgent, {
16
+ status: DispatchSideStatus;
17
+ baseline: number;
18
+ }>;
19
+ }
20
+ /**
21
+ * `initial` is the original task, delivered to both agents at launch.
22
+ * `steer` redirects the current generation with new guidance and requires a
23
+ * complete replacement result. `follow-up` treats the Broadcast text as a
24
+ * brand-new task and starts a fresh generation from scratch.
25
+ */
26
+ export type CrosscheckGenerationKind = "initial" | "steer" | "follow-up";
27
+ export interface CrosscheckGeneration {
28
+ /** Monotonic sequence starting at 0 for the initial generation. */
29
+ id: number;
30
+ kind: CrosscheckGenerationKind;
31
+ /** Committed prompt text: the task for `initial`/`follow-up`, or the guidance for `steer`. */
32
+ prompt: string;
33
+ /** Complete task context required to reconstruct this generation in a fresh session. */
34
+ effectiveTask?: string;
35
+ /** Ordered Steer guidance applied since the effective task was established. */
36
+ steerHistory: string[];
37
+ /** Deterministic per-agent result file paths unique to this generation. */
38
+ resultFiles: Record<CrosscheckAgent, string>;
39
+ /** Prior submit counts used to prove this generation was submitted. */
40
+ deliverySubmitCounts?: Record<CrosscheckAgent, number>;
41
+ /** Whether this generation's one-shot crosscheck has already fired. */
42
+ consumed: boolean;
43
+ dispatch?: CrosscheckDispatch;
44
+ /** Completed reconcile rounds; 0 means none completed. */
45
+ reconcileRound: number;
46
+ /** Latest reconcile gate settlement found valid JSON files. */
47
+ reconcileSettled: boolean;
48
+ /** Ctrl+X may start the next reconcile round when all other gates pass. */
49
+ reconcileAllowed: boolean;
50
+ /** Latest settlement found missing or malformed review JSON. */
51
+ reconcileJsonMissing: boolean;
52
+ /** A delivered crosscheck/reconcile dispatch still needs idle-time JSON validation. */
53
+ reconcilePendingSettlement: boolean;
54
+ }
55
+ export interface CrosscheckRuntimeState {
56
+ version: 3;
57
+ sessions: Partial<Record<CrosscheckAgent, CrosscheckSessionState>>;
58
+ generation: CrosscheckGeneration;
59
+ }
60
+ export declare const CROSSCHECK_STATE_FILE = "crosscheck-state.json";
61
+ /**
62
+ * Deterministic per-agent, per-generation result file name. Generation 0
63
+ * (the initial generation) keeps the original `agent-*-result.md` names for
64
+ * backward compatibility; every later Steer/Follow-up generation gets a
65
+ * unique indexed name so a late-arriving result from a superseded prompt can
66
+ * never satisfy the newest generation.
67
+ */
68
+ export declare function generationResultFileName(agent: CrosscheckAgent, generationId: number): string;
69
+ export declare function generationResultFilePath(persistentDir: string, agent: CrosscheckAgent, generationId: number): string;
70
+ export declare function crosscheckJsonFileName(agent: CrosscheckAgent, generationId: number): string;
71
+ export declare function crosscheckJsonFilePath(persistentDir: string, agent: CrosscheckAgent, generationId: number): string;
72
+ export declare function reconcileJsonFileName(agent: CrosscheckAgent, generationId: number, round: number): string;
73
+ export declare function reconcileJsonFilePath(persistentDir: string, agent: CrosscheckAgent, generationId: number, round: number): string;
74
+ export declare class CrosscheckStateStore {
75
+ private readonly path;
76
+ private readonly persistentDir;
77
+ private state;
78
+ private writes;
79
+ private constructor();
80
+ static open(persistentDir: string): Promise<CrosscheckStateStore>;
81
+ snapshot(): CrosscheckRuntimeState;
82
+ generationId(): number;
83
+ generationConsumed(): boolean;
84
+ hasDispatch(): boolean;
85
+ dispatchPhase(): DispatchPhase | undefined;
86
+ dispatchAgentStatus(agent: CrosscheckAgent): DispatchSideStatus | undefined;
87
+ reconcileAllowed(): boolean;
88
+ reconcileSettled(): boolean;
89
+ reconcilePendingSettlement(): boolean;
90
+ reconcileJsonMissing(): boolean;
91
+ /** Deterministic result file path for `agent` at `generationId` (defaults to the current generation). */
92
+ resultFilePath(agent: CrosscheckAgent, generationId?: number): string;
93
+ update(mutate: (state: CrosscheckRuntimeState) => void): Promise<void>;
94
+ /**
95
+ * Starts the next generation: bumps the id, records its kind and committed
96
+ * prompt, points each agent at fresh indexed result files, and resets the
97
+ * crosscheck-consumed/dispatch state so the new generation starts clean.
98
+ */
99
+ startGeneration(kind: "steer" | "follow-up", prompt: string, deliverySubmitCounts?: Record<CrosscheckAgent, number>): Promise<void>;
100
+ ensureEffectiveTask(task: string): Promise<void>;
101
+ }
102
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/crosscheck/state.ts"],"names":[],"mappings":"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"}