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.
- package/dist/agents/executors/dsl.d.ts +11 -0
- package/dist/agents/executors/dsl.d.ts.map +1 -0
- package/dist/agents/executors/dsl.js +11 -0
- package/dist/agents/executors/dsl.js.map +1 -0
- package/dist/agents/executors/index.d.ts +8 -0
- package/dist/agents/executors/index.d.ts.map +1 -0
- package/dist/agents/executors/index.js +17 -0
- package/dist/agents/executors/index.js.map +1 -0
- package/dist/agents/executors/prompts.d.ts +18 -0
- package/dist/agents/executors/prompts.d.ts.map +1 -0
- package/dist/agents/executors/prompts.js +62 -0
- package/dist/agents/executors/prompts.js.map +1 -0
- package/dist/agents/executors/types.d.ts +8 -0
- package/dist/agents/executors/types.d.ts.map +1 -0
- package/dist/agents/executors/types.js +2 -0
- package/dist/agents/executors/types.js.map +1 -0
- package/dist/agents/index.d.ts +2 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +4 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/registry.d.ts +1 -1
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +3 -0
- package/dist/agents/registry.js.map +1 -1
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +20 -45
- package/dist/agents/runner.js.map +1 -1
- package/dist/ansi.d.ts +4 -0
- package/dist/ansi.d.ts.map +1 -1
- package/dist/ansi.js +4 -0
- package/dist/ansi.js.map +1 -1
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/crosscheck/broadcast-composer.d.ts +89 -0
- package/dist/crosscheck/broadcast-composer.d.ts.map +1 -0
- package/dist/crosscheck/broadcast-composer.js +431 -0
- package/dist/crosscheck/broadcast-composer.js.map +1 -0
- package/dist/crosscheck/coordinator.d.ts +154 -0
- package/dist/crosscheck/coordinator.d.ts.map +1 -0
- package/dist/crosscheck/coordinator.js +1695 -0
- package/dist/crosscheck/coordinator.js.map +1 -0
- package/dist/crosscheck/key-helpers.d.ts +16 -0
- package/dist/crosscheck/key-helpers.d.ts.map +1 -0
- package/dist/crosscheck/key-helpers.js +42 -0
- package/dist/crosscheck/key-helpers.js.map +1 -0
- package/dist/crosscheck/live-agent-session.d.ts +38 -0
- package/dist/crosscheck/live-agent-session.d.ts.map +1 -0
- package/dist/crosscheck/live-agent-session.js +126 -0
- package/dist/crosscheck/live-agent-session.js.map +1 -0
- package/dist/crosscheck/reconcile.d.ts +10 -0
- package/dist/crosscheck/reconcile.d.ts.map +1 -0
- package/dist/crosscheck/reconcile.js +29 -0
- package/dist/crosscheck/reconcile.js.map +1 -0
- package/dist/crosscheck/state.d.ts +102 -0
- package/dist/crosscheck/state.d.ts.map +1 -0
- package/dist/crosscheck/state.js +221 -0
- package/dist/crosscheck/state.js.map +1 -0
- package/dist/dsl.d.ts +2 -0
- package/dist/dsl.d.ts.map +1 -1
- package/dist/dsl.js +2 -1
- package/dist/dsl.js.map +1 -1
- package/dist/dump/service.d.ts +6 -3
- package/dist/dump/service.d.ts.map +1 -1
- package/dist/dump/service.js +32 -12
- package/dist/dump/service.js.map +1 -1
- package/dist/flow/built-in/crosscheck-factory.d.ts +15 -0
- package/dist/flow/built-in/crosscheck-factory.d.ts.map +1 -0
- package/dist/flow/built-in/crosscheck-factory.js +60 -0
- package/dist/flow/built-in/crosscheck-factory.js.map +1 -0
- package/dist/flow/built-in/crosscheck.d.ts +6 -0
- package/dist/flow/built-in/crosscheck.d.ts.map +1 -0
- package/dist/flow/built-in/crosscheck.js +6 -0
- package/dist/flow/built-in/crosscheck.js.map +1 -0
- package/dist/flow/built-in/default-factory.d.ts.map +1 -1
- package/dist/flow/built-in/default-factory.js +1 -0
- package/dist/flow/built-in/default-factory.js.map +1 -1
- package/dist/flow/built-in/simplify-factory.d.ts.map +1 -1
- package/dist/flow/built-in/simplify-factory.js +1 -0
- package/dist/flow/built-in/simplify-factory.js.map +1 -1
- package/dist/flow/custom/load.d.ts.map +1 -1
- package/dist/flow/custom/load.js +4 -0
- package/dist/flow/custom/load.js.map +1 -1
- package/dist/flow/dsl.d.ts +1 -0
- package/dist/flow/dsl.d.ts.map +1 -1
- package/dist/flow/dsl.js +1 -0
- package/dist/flow/dsl.js.map +1 -1
- package/dist/flow/index.d.ts +2 -1
- package/dist/flow/index.d.ts.map +1 -1
- package/dist/flow/index.js +2 -1
- package/dist/flow/index.js.map +1 -1
- package/dist/flow/params.d.ts +7 -1
- package/dist/flow/params.d.ts.map +1 -1
- package/dist/flow/params.js +28 -13
- package/dist/flow/params.js.map +1 -1
- package/dist/flow/types.d.ts +8 -1
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/flow/types.js.map +1 -1
- package/dist/offscreen/controller.d.ts +9 -3
- package/dist/offscreen/controller.d.ts.map +1 -1
- package/dist/offscreen/controller.js +149 -75
- package/dist/offscreen/controller.js.map +1 -1
- package/dist/offscreen/fork-busy.d.ts +2 -1
- package/dist/offscreen/fork-busy.d.ts.map +1 -1
- package/dist/offscreen/fork-busy.js +5 -2
- package/dist/offscreen/fork-busy.js.map +1 -1
- package/dist/offscreen/fork.d.ts +1 -1
- package/dist/offscreen/fork.d.ts.map +1 -1
- package/dist/offscreen/fork.js +4 -2
- package/dist/offscreen/fork.js.map +1 -1
- package/dist/offscreen/inquiry-sender.d.ts +4 -9
- package/dist/offscreen/inquiry-sender.d.ts.map +1 -1
- package/dist/offscreen/inquiry-sender.js +5 -54
- package/dist/offscreen/inquiry-sender.js.map +1 -1
- package/dist/offscreen/session-turn-monitor.d.ts +66 -0
- package/dist/offscreen/session-turn-monitor.d.ts.map +1 -0
- package/dist/offscreen/session-turn-monitor.js +257 -0
- package/dist/offscreen/session-turn-monitor.js.map +1 -0
- package/dist/orchestrator.d.ts +7 -6
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +122 -61
- package/dist/orchestrator.js.map +1 -1
- package/dist/preview-panel.d.ts +1 -0
- package/dist/preview-panel.d.ts.map +1 -1
- package/dist/preview-panel.js +24 -20
- package/dist/preview-panel.js.map +1 -1
- package/dist/providers/claude/completion.d.ts +1 -0
- package/dist/providers/claude/completion.d.ts.map +1 -1
- package/dist/providers/claude/completion.js +5 -0
- package/dist/providers/claude/completion.js.map +1 -1
- package/dist/providers/claude/composer.d.ts +6 -0
- package/dist/providers/claude/composer.d.ts.map +1 -0
- package/dist/providers/claude/composer.js +7 -0
- package/dist/providers/claude/composer.js.map +1 -0
- package/dist/providers/claude/session.d.ts +1 -0
- package/dist/providers/claude/session.d.ts.map +1 -1
- package/dist/providers/claude/session.js +21 -1
- package/dist/providers/claude/session.js.map +1 -1
- package/dist/providers/claude/strategy.d.ts +6 -1
- package/dist/providers/claude/strategy.d.ts.map +1 -1
- package/dist/providers/claude/strategy.js +40 -11
- package/dist/providers/claude/strategy.js.map +1 -1
- package/dist/providers/codex/composer.d.ts +6 -0
- package/dist/providers/codex/composer.d.ts.map +1 -0
- package/dist/providers/codex/composer.js +143 -0
- package/dist/providers/codex/composer.js.map +1 -0
- package/dist/providers/codex/plan-mode-activator.d.ts +4 -6
- package/dist/providers/codex/plan-mode-activator.d.ts.map +1 -1
- package/dist/providers/codex/plan-mode-activator.js +16 -21
- package/dist/providers/codex/plan-mode-activator.js.map +1 -1
- package/dist/providers/codex/strategy.d.ts +5 -1
- package/dist/providers/codex/strategy.d.ts.map +1 -1
- package/dist/providers/codex/strategy.js +8 -3
- package/dist/providers/codex/strategy.js.map +1 -1
- package/dist/providers/composer-utils.d.ts +9 -0
- package/dist/providers/composer-utils.d.ts.map +1 -0
- package/dist/providers/composer-utils.js +218 -0
- package/dist/providers/composer-utils.js.map +1 -0
- package/dist/providers/copilot/completion.d.ts +6 -2
- package/dist/providers/copilot/completion.d.ts.map +1 -1
- package/dist/providers/copilot/completion.js +56 -11
- package/dist/providers/copilot/completion.js.map +1 -1
- package/dist/providers/copilot/composer.d.ts +6 -0
- package/dist/providers/copilot/composer.d.ts.map +1 -0
- package/dist/providers/copilot/composer.js +10 -0
- package/dist/providers/copilot/composer.js.map +1 -0
- package/dist/providers/copilot/strategy.d.ts +6 -1
- package/dist/providers/copilot/strategy.d.ts.map +1 -1
- package/dist/providers/copilot/strategy.js +69 -12
- package/dist/providers/copilot/strategy.js.map +1 -1
- package/dist/providers/fork.d.ts +3 -1
- package/dist/providers/fork.d.ts.map +1 -1
- package/dist/providers/fork.js.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/live.d.ts +17 -0
- package/dist/providers/live.d.ts.map +1 -0
- package/dist/providers/live.js +201 -0
- package/dist/providers/live.js.map +1 -0
- package/dist/providers/session-launch.d.ts +25 -0
- package/dist/providers/session-launch.d.ts.map +1 -0
- package/dist/providers/session-launch.js +54 -0
- package/dist/providers/session-launch.js.map +1 -0
- package/dist/providers/types.d.ts +75 -4
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/resume-tui.d.ts.map +1 -1
- package/dist/resume-tui.js +3 -1
- package/dist/resume-tui.js.map +1 -1
- package/dist/session/list.d.ts.map +1 -1
- package/dist/session/list.js +5 -3
- package/dist/session/list.js.map +1 -1
- package/dist/session/locator.d.ts.map +1 -1
- package/dist/session/locator.js +6 -22
- package/dist/session/locator.js.map +1 -1
- package/dist/session/reader.d.ts +8 -0
- package/dist/session/reader.d.ts.map +1 -1
- package/dist/session/reader.js +12 -2
- package/dist/session/reader.js.map +1 -1
- package/dist/session/resume.d.ts.map +1 -1
- package/dist/session/resume.js +1 -0
- package/dist/session/resume.js.map +1 -1
- package/dist/session/session-store.d.ts +3 -0
- package/dist/session/session-store.d.ts.map +1 -1
- package/dist/session/session-store.js +18 -6
- package/dist/session/session-store.js.map +1 -1
- package/dist/startup-tui.js +2 -2
- package/dist/startup-tui.js.map +1 -1
- package/dist/status-bar.d.ts +3 -0
- package/dist/status-bar.d.ts.map +1 -1
- package/dist/status-bar.js.map +1 -1
- package/dist/terminal/host.d.ts +19 -3
- package/dist/terminal/host.d.ts.map +1 -1
- package/dist/terminal/host.js +45 -7
- package/dist/terminal/host.js.map +1 -1
- package/dist/terminal/kitty-negotiator.js +1 -1
- package/dist/terminal/kitty-negotiator.js.map +1 -1
- package/dist/terminal/paste-submit.d.ts +18 -27
- package/dist/terminal/paste-submit.d.ts.map +1 -1
- package/dist/terminal/paste-submit.js +81 -128
- package/dist/terminal/paste-submit.js.map +1 -1
- package/dist/terminal-input.d.ts.map +1 -1
- package/dist/terminal-input.js +3 -4
- package/dist/terminal-input.js.map +1 -1
- package/dist/util/abortable-sleep.d.ts +6 -0
- package/dist/util/abortable-sleep.d.ts.map +1 -0
- package/dist/util/abortable-sleep.js +40 -0
- package/dist/util/abortable-sleep.js.map +1 -0
- 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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"}
|