@excitedjs/agent-runtime-claude-code 1.0.0-beta.170 → 1.0.0-beta.173

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/README.md CHANGED
@@ -34,9 +34,11 @@ through the same package-loader path as external `npm:` providers.
34
34
 
35
35
  ## Turn lifecycle
36
36
 
37
- The public runtime boundary returns one stable `RuntimeTurn` object for a
38
- logical Claude command set. Inputs merged before session creation and supported
39
- live steering reuse that exact object. Command UUIDs are private wire aliases;
37
+ The public runtime boundary returns one `RuntimeSubmission` handle per accepted
38
+ send, settled by an immutable provider-owned `RuntimeCompletion` created at each
39
+ real native result boundary. Inputs merged before session creation and supported
40
+ live steering settle with the same completion object; queued sends settle with
41
+ distinct completions in native order. Command UUIDs are private wire aliases;
40
42
  when `msg_lifecycle_v1` is available, all aliases must reach a terminal command
41
43
  state and a final result must be captured before the object settles. Live steer
42
44
  fails loudly without that capability. Runtime stop fences queued session work,
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAEL,0BAA0B,EAE1B,KAAK,0BAA0B,EAChC,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EACV,wBAAwB,EAGxB,oBAAoB,EACpB,8BAA8B,EAC9B,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AASlC;;;;;;GAMG;AACH,MAAM,WAAW,qCAAqC;IACpD;;;;;OAKG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,8EAA8E;IAC9E,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,mEAAmE;IACnE,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAC/D,0EAA0E;IAC1E,qBAAqB,CAAC,EAAE,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;CACxE;AAED,eAAO,MAAM,sCAAsC,EAAE,wBAGpD,CAAC;AAyBF;;;;;;GAMG;AACH,wBAAgB,oCAAoC,CAClD,OAAO,GAAE,qCAA0C,GAClD,oBAAoB,CAAC,0BAA0B,CAAC,CA8ElD;AAED,gFAAgF;AAChF,OAAO,EAAE,0BAA0B,EAAE,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,MAAM,gCAAgC,GAC1C,sBAAsB,CAAC,8BAA8B,CAAC,CAAC;AAEzD;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,qCAAqC,EAAE,2BAA2B,CAAC,0BAA0B,CAEvB,CAAC;AAE7E,eAAe,qCAAqC,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAEL,0BAA0B,EAE1B,KAAK,0BAA0B,EAChC,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EACV,wBAAwB,EAGxB,oBAAoB,EACpB,8BAA8B,EAC9B,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AASlC;;;;;;GAMG;AACH,MAAM,WAAW,qCAAqC;IACpD;;;;;OAKG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,8EAA8E;IAC9E,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,mEAAmE;IACnE,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAC/D,0EAA0E;IAC1E,qBAAqB,CAAC,EAAE,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;CACxE;AAED,eAAO,MAAM,sCAAsC,EAAE,wBAGpD,CAAC;AAyBF;;;;;;GAMG;AACH,wBAAgB,oCAAoC,CAClD,OAAO,GAAE,qCAA0C,GAClD,oBAAoB,CAAC,0BAA0B,CAAC,CA+ElD;AAED,gFAAgF;AAChF,OAAO,EAAE,0BAA0B,EAAE,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,MAAM,gCAAgC,GAC1C,sBAAsB,CAAC,8BAA8B,CAAC,CAAC;AAEzD;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,qCAAqC,EAAE,2BAA2B,CAAC,0BAA0B,CAEvB,CAAC;AAE7E,eAAe,qCAAqC,CAAC"}
package/dist/provider.js CHANGED
@@ -72,6 +72,7 @@ export function createClaudeCodeAgentRuntimeProvider(options = {}) {
72
72
  config: context.config,
73
73
  cwd: context.cwd,
74
74
  state: context.state,
75
+ activitySink: context.activitySink,
75
76
  paths: context.paths,
76
77
  mcpServers: context.mcpServers,
77
78
  sessionFactory,
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,8BAA8B,GAE/B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,8BAA8B,GAE/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAY9D,SAAS,4BAA4B,CACnC,MAAqC;IAErC,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;IACpE,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AA2BD,MAAM,CAAC,MAAM,sCAAsC,GAA6B;IAC9E,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IAC3B,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE;CAC/D,CAAC;AAEF,MAAM,8BAA8B,GAAmC;IACrE,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,cAAc;IACpB,GAAG,EAAE;QACH,MAAM,EAAE,SAAS;QACjB,EAAE,EAAE,aAAa;QACjB,GAAG,EAAE,gCAAgC;KACtC;CACF,CAAC;AAEF,qEAAqE;AACrE,SAAS,wBAAwB,CAC/B,UAA8B;IAE9B,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,gEAAgE;YAC9D,uBAAuB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oCAAoC,CAClD,UAAiD,EAAE;IAEnD,MAAM,cAAc,GAClB,OAAO,CAAC,cAAc,IAAI,8BAA8B,CAAC;IAC3D,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACxE,OAAO;QACL,GAAG,EAAE,gCAAgC;QACrC,UAAU,EACR,OAAO,CAAC,UAAU,KAAK,SAAS;YAC9B,CAAC,CAAC,8BAA8B;YAChC,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,UAAU,CAAC;QAClD,eAAe,EAAE,GAAG,EAAE,CAAC,sCAAsC;QAC7D,UAAU,EAAE,gCAAgC;QAC5C,OAAO,EAAE;YACP,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO;gBAC7B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBAC7B,OAAO,EAAE,wBAAwB;oBACjC,YAAY,EAAE,uBAAuB;oBACrC,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,CAAC;SACF;QACD,UAAU,CAAC,SAAS,EAAE,OAAO;YAC3B,OAAO,8BAA8B,CACnC,SAAS,EACT,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,MAAM,CACf,CAAC;QACJ,CAAC;QACD,cAAc,EAAE,oBAAoB;QACpC,aAAa,CACX,OAA8D;YAE9D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;YACJ,CAAC;YACD,MAAM,kBAAkB,GAAG,4BAA4B,CACrD,OAAO,CAAC,YAAY,EAAE,MAAM,CAC7B,CAAC;YACF,MAAM,IAAI,GAA0B;gBAClC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,cAAc;gBACd,cAAc;gBACd,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;oBACjC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;oBAClC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS;oBACpC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE;oBACxC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS;oBACvC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE;oBAC9C,CAAC,CAAC,EAAE,CAAC;gBACP,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,GAAG,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS;oBACzC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE;oBAClD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;oBAC7C,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE;oBAC1D,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,kBAAkB,KAAK,SAAS;oBAClC,CAAC,CAAC,EAAE,kBAAkB,EAAE;oBACxB,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC;YACF,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,OAAO,EAAE,0BAA0B,EAAE,CAAC;AAWtC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,qCAAqC,GACzC,CAAC,OAAO,EAAE,EAAE,CACV,oCAAoC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;AAE7E,eAAe,qCAAqC,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
package/dist/rpc.d.ts CHANGED
@@ -1,11 +1,37 @@
1
1
  /**
2
2
  * Claude Code stream-json turn RPC.
3
3
  *
4
- * The supervisor owns the child process. This class owns one in-flight turn,
5
- * stdout line demux, turn aggregation, and defensive control-request replies.
4
+ * The supervisor owns the child process. This class owns one in-flight command
5
+ * group, stdout line demux, command drainage, and defensive control replies.
6
+ *
7
+ * One resident CLI execution window can span several submitted commands: a
8
+ * live steer is written while the CLI is already running. How the CLI answers them is
9
+ * not fixed, which is what makes settlement subtle (probed against a live
10
+ * 2.1.231 resident session):
11
+ *
12
+ * - **Commands fold.** A message that arrives while the in-flight turn is
13
+ * inside a tool call is absorbed into that turn at the next query-loop
14
+ * boundary. Several commands then share ONE `result` (3 → 1 observed), and
15
+ * a folded command's uuid never appears on any `result`. Folding does not
16
+ * depend on `priority`.
17
+ * - **Or they do not.** A command that arrives between turns runs on its own
18
+ * and gets its own `result`.
19
+ * - **`result.user_message_uuid` is not a completion ledger.** It is present
20
+ * only sometimes, is not reliably the first-submitted uuid of a fold, and
21
+ * is absent entirely on the `error_during_execution` artifact a
22
+ * `priority: 'now'` interrupt produces.
23
+ * - **`command_lifecycle` is the attribution signal.** Started commands identify
24
+ * the submissions represented by the next native `result`; terminal states
25
+ * drain the resident execution window. Its ordering against `result` is not
26
+ * stable.
27
+ *
28
+ * Every valid `result` is forwarded immediately as its own native completion
29
+ * boundary. Lifecycle terminality only decides when the command group has
30
+ * drained and the resident session may accept a new initial command; it never
31
+ * aggregates several results into one completion.
6
32
  */
7
33
  import type { Writable } from 'node:stream';
8
- import type { TurnOutcome, TurnSubmitOptions } from './types.js';
34
+ import type { TurnSubmitOptions } from './types.js';
9
35
  /** Provider-private admission classification; never crosses the neutral API. */
10
36
  export declare class ClaudeSteerAdmissionError extends Error {
11
37
  readonly admission: 'failed' | 'ambiguous';
@@ -16,6 +42,7 @@ export interface ClaudeCodeStreamRpcOptions {
16
42
  log?: (level: 'info' | 'warn' | 'error', msg: string, err?: unknown) => void;
17
43
  reapOnTimeout: () => void;
18
44
  onRemoteControlUrl?: (url: string) => void;
45
+ onProtocolEvent?: import('./types.js').ClaudeCodeSessionSpec['onProtocolEvent'];
19
46
  }
20
47
  export declare class ClaudeCodeStreamRpc {
21
48
  private readonly stdin;
@@ -25,8 +52,8 @@ export declare class ClaudeCodeStreamRpc {
25
52
  private lifecycleSupported;
26
53
  private remoteControlRequestId;
27
54
  constructor(stdin: Writable, options: ClaudeCodeStreamRpcOptions);
28
- submitTurn(prompt: string, options?: TurnSubmitOptions): Promise<TurnOutcome>;
29
- steerTurn(prompt: string, options?: TurnSubmitOptions): Promise<void>;
55
+ submitTurn(prompt: string, options?: TurnSubmitOptions, commandUuid?: string): Promise<void>;
56
+ steerTurn(prompt: string, options?: TurnSubmitOptions, commandUuid?: string): Promise<void>;
30
57
  private writeSteer;
31
58
  onStdoutChunk(chunk: string): void;
32
59
  failPending(err: Error): void;
@@ -36,6 +63,40 @@ export declare class ClaudeCodeStreamRpc {
36
63
  * returning it so the caller can resolve or reject it exactly once.
37
64
  */
38
65
  private settlePending;
66
+ /**
67
+ * Mark a submitted command as producing nothing further, then re-check
68
+ * settlement. `abnormalReason` is `null` for the normal ending (`completed`)
69
+ * and a short phrase for a command that never ran — those are logged,
70
+ * because the CLI gives no other trace of a command it declined.
71
+ *
72
+ * A command ending abnormally never fails the turn by itself: the probe
73
+ * shows a `cancelled` command coexisting with another that answers normally
74
+ * (that is exactly what a `priority: 'now'` interrupt looks like), so
75
+ * rejecting on `cancelled` — as the pre-#342 code did — is wrong.
76
+ */
77
+ private markCommandTerminal;
78
+ /**
79
+ * The drainage gate: every submitted command has reached a terminal
80
+ * lifecycle state AND at least one valid `result` has been seen. Result
81
+ * identity and settlement have already been forwarded one-by-one.
82
+ *
83
+ * Two escapes, both anti-hang:
84
+ *
85
+ * - no lifecycle signal at all (`msg_lifecycle_v1` absent, so no
86
+ * `command_lifecycle` will ever arrive) — the `result` is then the only
87
+ * terminal event there is, so settle on it;
88
+ * - every command terminal, none of them ever ran, and no result — nothing
89
+ * can answer this turn, so fail it loudly. The idle deadline is not an
90
+ * acceptable backstop here: it reaps the resident child, and any inbound
91
+ * line re-arms it, so a healthy session could be killed long after the
92
+ * turn became unanswerable.
93
+ *
94
+ * When a command *did* run but no result has arrived yet, this waits: the
95
+ * probe shows terminal lifecycle states arriving both before and after the
96
+ * result they belong to, so "terminal, therefore no result is coming" is not
97
+ * a sound inference.
98
+ */
99
+ private settleIfReady;
39
100
  /**
40
101
  * (Re)arm the per-turn idle deadline. `turnTimeoutMs` is a *max-idle* window,
41
102
  * not a total-turn cap: any inbound stream line for this turn pushes it out
@@ -45,7 +106,6 @@ export declare class ClaudeCodeStreamRpc {
45
106
  */
46
107
  private armIdleTimer;
47
108
  private onLine;
48
- private tryComplete;
49
109
  private decideLifecycleSupport;
50
110
  private flushCapabilityWaiters;
51
111
  private rejectCapabilityWaiters;
package/dist/rpc.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAY5C,OAAO,KAAK,EAAc,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAkC7E,gFAAgF;AAChF,qBAAa,yBAA0B,SAAQ,KAAK;IAEhD,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,WAAW;gBAAjC,SAAS,EAAE,QAAQ,GAAG,WAAW,EAC1C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY;CAKzB;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7E,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,qBAAa,mBAAmB;IAO5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,kBAAkB,CAAwB;IAClD,OAAO,CAAC,sBAAsB,CAAuB;gBAGlC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,0BAA0B;IAGhD,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,WAAW,CAAC;IA6CjB,SAAS,CACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAuBhB,OAAO,CAAC,UAAU;IAoClB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIlC,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAI7B,mBAAmB,IAAI,IAAI;IAM3B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAYrB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,MAAM;IA6Dd,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,iBAAiB;CAyB1B"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAY5C,OAAO,KAAK,EAAc,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAmDhE,gFAAgF;AAChF,qBAAa,yBAA0B,SAAQ,KAAK;IAEhD,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,WAAW;gBAAjC,SAAS,EAAE,QAAQ,GAAG,WAAW,EAC1C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY;CAKzB;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7E,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,eAAe,CAAC,EAAE,OAAO,YAAY,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;CACjF;AAED,qBAAa,mBAAmB;IAO5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,kBAAkB,CAAwB;IAClD,OAAO,CAAC,sBAAsB,CAAuB;gBAGlC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,0BAA0B;IAGhD,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,EAC/B,WAAW,GAAE,MAAqB,GACjC,OAAO,CAAC,IAAI,CAAC;IA8CV,SAAS,CACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,EAC/B,WAAW,GAAE,MAAqB,GACjC,OAAO,CAAC,IAAI,CAAC;IAuBhB,OAAO,CAAC,UAAU;IA6ClB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIlC,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAI7B,mBAAmB,IAAI,IAAI;IAM3B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAiBrB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,aAAa;IAwBrB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,MAAM;IA8Gd,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,iBAAiB;CAyB1B"}
package/dist/rpc.js CHANGED
@@ -1,8 +1,34 @@
1
1
  /**
2
2
  * Claude Code stream-json turn RPC.
3
3
  *
4
- * The supervisor owns the child process. This class owns one in-flight turn,
5
- * stdout line demux, turn aggregation, and defensive control-request replies.
4
+ * The supervisor owns the child process. This class owns one in-flight command
5
+ * group, stdout line demux, command drainage, and defensive control replies.
6
+ *
7
+ * One resident CLI execution window can span several submitted commands: a
8
+ * live steer is written while the CLI is already running. How the CLI answers them is
9
+ * not fixed, which is what makes settlement subtle (probed against a live
10
+ * 2.1.231 resident session):
11
+ *
12
+ * - **Commands fold.** A message that arrives while the in-flight turn is
13
+ * inside a tool call is absorbed into that turn at the next query-loop
14
+ * boundary. Several commands then share ONE `result` (3 → 1 observed), and
15
+ * a folded command's uuid never appears on any `result`. Folding does not
16
+ * depend on `priority`.
17
+ * - **Or they do not.** A command that arrives between turns runs on its own
18
+ * and gets its own `result`.
19
+ * - **`result.user_message_uuid` is not a completion ledger.** It is present
20
+ * only sometimes, is not reliably the first-submitted uuid of a fold, and
21
+ * is absent entirely on the `error_during_execution` artifact a
22
+ * `priority: 'now'` interrupt produces.
23
+ * - **`command_lifecycle` is the attribution signal.** Started commands identify
24
+ * the submissions represented by the next native `result`; terminal states
25
+ * drain the resident execution window. Its ordering against `result` is not
26
+ * stable.
27
+ *
28
+ * Every valid `result` is forwarded immediately as its own native completion
29
+ * boundary. Lifecycle terminality only decides when the command group has
30
+ * drained and the resident session may accept a new initial command; it never
31
+ * aggregates several results into one completion.
6
32
  */
7
33
  import { randomUUID } from 'node:crypto';
8
34
  import { buildCanUseToolAllow, buildControlAck, buildRemoteControlEnable, buildUserMessage, LineBuffer, parseLine, TurnAggregator, } from './stream.js';
@@ -26,7 +52,7 @@ export class ClaudeCodeStreamRpc {
26
52
  this.stdin = stdin;
27
53
  this.options = options;
28
54
  }
29
- async submitTurn(prompt, options = {}) {
55
+ async submitTurn(prompt, options = {}, commandUuid = randomUUID()) {
30
56
  if (!this.stdin.writable) {
31
57
  return Promise.reject(new Error('claude resident child is not running'));
32
58
  }
@@ -39,14 +65,15 @@ export class ClaudeCodeStreamRpc {
39
65
  reject,
40
66
  aggregator: new TurnAggregator(),
41
67
  timer: null,
42
- commands: new Map(),
68
+ submitted: [commandUuid],
69
+ terminal: new Set(),
70
+ startedSinceResult: new Set(),
71
+ ranAnyCommand: false,
72
+ sawResult: false,
73
+ lastAbnormalReason: null,
43
74
  capabilityWaiters: [],
44
75
  writeWaiters: new Map(),
45
- finalOutcome: null,
46
- resultCount: 0,
47
76
  };
48
- const commandUuid = randomUUID();
49
- pending.commands.set(commandUuid, 'accepted');
50
77
  this.pending = pending;
51
78
  // Arm the idle deadline (reset on every inbound stream line in `onLine`).
52
79
  this.armIdleTimer(pending);
@@ -66,7 +93,7 @@ export class ClaudeCodeStreamRpc {
66
93
  }
67
94
  });
68
95
  }
69
- async steerTurn(prompt, options = {}) {
96
+ async steerTurn(prompt, options = {}, commandUuid = randomUUID()) {
70
97
  if (!this.stdin.writable) {
71
98
  return Promise.reject(preAdmissionError('claude resident child is not running'));
72
99
  }
@@ -79,23 +106,32 @@ export class ClaudeCodeStreamRpc {
79
106
  }
80
107
  if (this.lifecycleSupported === null) {
81
108
  return new Promise((resolve, reject) => {
82
- pending.capabilityWaiters.push({ prompt, options, resolve, reject });
109
+ pending.capabilityWaiters.push({ prompt, options, commandUuid, resolve, reject });
83
110
  });
84
111
  }
85
- return this.writeSteer(pending, prompt, options);
112
+ return this.writeSteer(pending, prompt, options, commandUuid);
86
113
  }
87
- writeSteer(pending, prompt, options) {
114
+ writeSteer(pending, prompt, options, commandUuid = randomUUID()) {
88
115
  if (this.pending !== pending) {
89
116
  return Promise.reject(capabilityUndecidedTurnEndedError());
90
117
  }
91
118
  if (!this.stdin.writable) {
92
119
  return Promise.reject(preAdmissionError('claude resident child is not running'));
93
120
  }
94
- const commandUuid = randomUUID();
95
- pending.commands.set(commandUuid, 'accepted');
121
+ // The steer joins this resident execution window: from here on it cannot drain
122
+ // until this command has also reached a terminal lifecycle state.
123
+ pending.submitted.push(commandUuid);
96
124
  return new Promise((resolve, reject) => {
97
125
  pending.writeWaiters.set(commandUuid, { resolve, reject });
98
- const fail = (error) => this.rejectWriteWaiter(pending, commandUuid, ambiguousWriteError(error));
126
+ const fail = (error) => {
127
+ // A steer whose write failed will never reach the CLI, so no
128
+ // `command_lifecycle` is coming for it: mark it terminal here or the
129
+ // turn waits on a signal that cannot arrive. Reject the waiter first,
130
+ // since marking may settle the turn and settlement rejects surviving
131
+ // waiters with the generic write-unconfirmed message.
132
+ this.rejectWriteWaiter(pending, commandUuid, ambiguousWriteError(error));
133
+ this.markCommandTerminal(pending, commandUuid, 'steer write failed');
134
+ };
99
135
  try {
100
136
  this.stdin.write(`${buildUserMessage(prompt, { priority: 'now', ...options }, commandUuid)}\n`, (err) => {
101
137
  if (err != null) {
@@ -127,17 +163,94 @@ export class ClaudeCodeStreamRpc {
127
163
  * Detach the in-flight turn: clear its deadline timer and null `pending`,
128
164
  * returning it so the caller can resolve or reject it exactly once.
129
165
  */
130
- settlePending(capabilityFailure = capabilityUndecidedTurnEndedError()) {
166
+ settlePending(failure) {
131
167
  const pending = this.pending;
132
168
  if (pending === null)
133
169
  return null;
134
170
  if (pending.timer !== null)
135
171
  clearTimeout(pending.timer);
136
172
  this.pending = null;
137
- this.rejectCapabilityWaiters(pending, capabilityFailure);
138
- this.rejectWriteWaiters(pending, capabilityFailure);
173
+ // On an explicit failure (write error, stop, idle reap) both waiter kinds
174
+ // get the real error. On a clean `result` settlement there is no error:
175
+ // capability waiters never got a decision, while write waiters were written
176
+ // but unconfirmed — distinct messages for distinct conditions.
177
+ this.rejectCapabilityWaiters(pending, failure ?? capabilityUndecidedTurnEndedError());
178
+ this.rejectWriteWaiters(pending, failure ?? steerWriteUnconfirmedError());
139
179
  return pending;
140
180
  }
181
+ /**
182
+ * Mark a submitted command as producing nothing further, then re-check
183
+ * settlement. `abnormalReason` is `null` for the normal ending (`completed`)
184
+ * and a short phrase for a command that never ran — those are logged,
185
+ * because the CLI gives no other trace of a command it declined.
186
+ *
187
+ * A command ending abnormally never fails the turn by itself: the probe
188
+ * shows a `cancelled` command coexisting with another that answers normally
189
+ * (that is exactly what a `priority: 'now'` interrupt looks like), so
190
+ * rejecting on `cancelled` — as the pre-#342 code did — is wrong.
191
+ */
192
+ markCommandTerminal(pending, commandUuid, abnormalReason) {
193
+ if (!pending.submitted.includes(commandUuid))
194
+ return;
195
+ if (!pending.terminal.has(commandUuid)) {
196
+ pending.terminal.add(commandUuid);
197
+ if (abnormalReason === null) {
198
+ pending.ranAnyCommand = true;
199
+ }
200
+ else {
201
+ pending.lastAbnormalReason = abnormalReason;
202
+ this.options.log?.('warn', `claude command ${commandUuid} ${abnormalReason}; it will not ` +
203
+ 'produce further output for this turn');
204
+ }
205
+ }
206
+ this.settleIfReady(pending);
207
+ }
208
+ /**
209
+ * The drainage gate: every submitted command has reached a terminal
210
+ * lifecycle state AND at least one valid `result` has been seen. Result
211
+ * identity and settlement have already been forwarded one-by-one.
212
+ *
213
+ * Two escapes, both anti-hang:
214
+ *
215
+ * - no lifecycle signal at all (`msg_lifecycle_v1` absent, so no
216
+ * `command_lifecycle` will ever arrive) — the `result` is then the only
217
+ * terminal event there is, so settle on it;
218
+ * - every command terminal, none of them ever ran, and no result — nothing
219
+ * can answer this turn, so fail it loudly. The idle deadline is not an
220
+ * acceptable backstop here: it reaps the resident child, and any inbound
221
+ * line re-arms it, so a healthy session could be killed long after the
222
+ * turn became unanswerable.
223
+ *
224
+ * When a command *did* run but no result has arrived yet, this waits: the
225
+ * probe shows terminal lifecycle states arriving both before and after the
226
+ * result they belong to, so "terminal, therefore no result is coming" is not
227
+ * a sound inference.
228
+ */
229
+ settleIfReady(pending) {
230
+ if (this.pending !== pending)
231
+ return;
232
+ if (pending.sawResult && this.lifecycleSupported !== true) {
233
+ this.settlePending()?.resolve();
234
+ return;
235
+ }
236
+ if (pending.startedSinceResult.size > 0)
237
+ return;
238
+ for (const commandUuid of pending.submitted) {
239
+ if (!pending.terminal.has(commandUuid))
240
+ return;
241
+ }
242
+ if (pending.sawResult) {
243
+ this.settlePending()?.resolve();
244
+ return;
245
+ }
246
+ if (pending.ranAnyCommand)
247
+ return;
248
+ const error = new Error('claude turn ended without running any of its commands ' +
249
+ `(last: ${pending.lastAbnormalReason ?? 'no command reached the CLI'})`);
250
+ // Pass the cause into `settlePending` so surviving steer waiters get the
251
+ // real reason instead of the generic write-unconfirmed message.
252
+ this.settlePending(error)?.reject(error);
253
+ }
141
254
  /**
142
255
  * (Re)arm the per-turn idle deadline. `turnTimeoutMs` is a *max-idle* window,
143
256
  * not a total-turn cap: any inbound stream line for this turn pushes it out
@@ -173,34 +286,77 @@ export class ClaudeCodeStreamRpc {
173
286
  break;
174
287
  case 'assistant':
175
288
  this.pending?.aggregator.accept(line);
289
+ this.options.onProtocolEvent?.({ kind: 'stream', line });
176
290
  break;
177
291
  case 'command_lifecycle': {
178
292
  const pending = this.pending;
179
- if (pending === null ||
180
- line.commandUuid === null ||
181
- line.state === null ||
182
- !pending.commands.has(line.commandUuid)) {
293
+ if (pending === null || line.commandUuid === null)
183
294
  break;
295
+ if (line.state !== null) {
296
+ this.options.onProtocolEvent?.({
297
+ kind: 'command_lifecycle',
298
+ commandUuid: line.commandUuid,
299
+ state: line.state,
300
+ });
184
301
  }
302
+ if (line.state === 'started')
303
+ pending.startedSinceResult.add(line.commandUuid);
304
+ // `command_lifecycle` does double duty: it coordinates live-steer
305
+ // admission (writeWaiters) and proves lifecycle capability, and its
306
+ // terminal states are the drainage gate when the CLI represents several
307
+ // started commands with one `result`.
185
308
  const newlySupported = this.lifecycleSupported === null;
186
309
  if (newlySupported)
187
310
  this.lifecycleSupported = true;
188
311
  this.resolveWriteWaiter(pending, line.commandUuid);
189
- pending.commands.set(line.commandUuid, line.state);
190
- this.tryComplete(pending);
191
312
  if (newlySupported && this.pending === pending) {
192
313
  this.flushCapabilityWaiters(pending);
193
314
  }
315
+ if (this.pending !== pending)
316
+ break;
317
+ if (line.state === 'completed') {
318
+ this.markCommandTerminal(pending, line.commandUuid, null);
319
+ }
320
+ else if (line.state === 'cancelled' || line.state === 'discarded' || line.state === 'refused') {
321
+ pending.startedSinceResult.delete(line.commandUuid);
322
+ this.markCommandTerminal(pending, line.commandUuid, `was ${line.state} by claude`);
323
+ }
194
324
  break;
195
325
  }
196
326
  case 'result': {
197
- if (this.pending === null)
327
+ const pending = this.pending;
328
+ if (pending === null) {
329
+ const error = new Error('claude result envelope arrived without an attributable command group');
330
+ this.options.log?.('error', error.message, error);
331
+ this.options.reapOnTimeout();
332
+ break;
333
+ }
334
+ const commandUuid = line.outcome.userMessageUuid;
335
+ if (commandUuid !== null && !pending.submitted.includes(commandUuid)) {
336
+ const error = new Error(`claude result envelope for unsubmitted command ${commandUuid}; ` +
337
+ 'native completion ownership is ambiguous');
338
+ this.options.log?.('error', error.message, error);
339
+ this.settlePending(error)?.reject(error);
340
+ this.options.reapOnTimeout();
341
+ break;
342
+ }
343
+ // The interrupt artifact (`error_during_execution` with no result) is
344
+ // not a native answer boundary. Older valid results may omit the uuid.
345
+ if (line.outcome.subtype === 'error_during_execution' &&
346
+ line.outcome.userMessageUuid === null &&
347
+ line.outcome.text === null) {
348
+ this.options.log?.('warn', 'claude interrupt result artifact ignored');
198
349
  break;
199
- this.pending.aggregator.accept(line);
200
- const outcome = this.pending.aggregator.outcome();
201
- this.pending.finalOutcome = outcome;
202
- this.pending.resultCount += 1;
203
- this.tryComplete(this.pending);
350
+ }
351
+ pending.aggregator.accept(line);
352
+ const outcome = pending.aggregator.takeOutcome();
353
+ pending.startedSinceResult.clear();
354
+ pending.sawResult = true;
355
+ this.options.onProtocolEvent?.({
356
+ kind: 'result',
357
+ outcome,
358
+ });
359
+ this.settleIfReady(pending);
204
360
  break;
205
361
  }
206
362
  case 'control_request':
@@ -213,35 +369,10 @@ export class ClaudeCodeStreamRpc {
213
369
  this.options.log?.('warn', `claude stream-json parse error: ${line.raw}`);
214
370
  break;
215
371
  default:
372
+ this.options.onProtocolEvent?.({ kind: 'stream', line });
216
373
  break;
217
374
  }
218
375
  }
219
- tryComplete(pending) {
220
- if (this.pending !== pending)
221
- return;
222
- if (this.lifecycleSupported !== true) {
223
- if (pending.finalOutcome !== null) {
224
- this.settlePending()?.resolve(pending.finalOutcome);
225
- }
226
- return;
227
- }
228
- const states = [...pending.commands.values()];
229
- if (states.some((state) => !isTerminalCommandState(state)))
230
- return;
231
- const unsuccessful = states.find((state) => state === 'cancelled' || state === 'discarded');
232
- if (unsuccessful !== undefined) {
233
- const error = new Error(`claude command was ${unsuccessful}`);
234
- this.settlePending(error)?.reject(error);
235
- return;
236
- }
237
- const completedCommandCount = states.filter((state) => state === 'completed').length;
238
- if (pending.finalOutcome === null ||
239
- pending.resultCount < completedCommandCount) {
240
- return;
241
- }
242
- const outcome = pending.finalOutcome;
243
- this.settlePending()?.resolve(outcome);
244
- }
245
376
  decideLifecycleSupport(supported) {
246
377
  if (this.lifecycleSupported !== null)
247
378
  return;
@@ -258,7 +389,7 @@ export class ClaudeCodeStreamRpc {
258
389
  flushCapabilityWaiters(pending) {
259
390
  const waiters = pending.capabilityWaiters.splice(0);
260
391
  for (const waiter of waiters) {
261
- void this.writeSteer(pending, waiter.prompt, waiter.options).then(waiter.resolve, waiter.reject);
392
+ void this.writeSteer(pending, waiter.prompt, waiter.options, waiter.commandUuid).then(waiter.resolve, waiter.reject);
262
393
  }
263
394
  }
264
395
  rejectCapabilityWaiters(pending, error) {
@@ -330,9 +461,6 @@ export class ClaudeCodeStreamRpc {
330
461
  this.options.log?.('warn', `claude remote control enable failed${error !== null ? `: ${error}` : ''}`);
331
462
  }
332
463
  }
333
- function isTerminalCommandState(state) {
334
- return state === 'completed' || state === 'cancelled' || state === 'discarded';
335
- }
336
464
  function lifecycleUnsupportedError() {
337
465
  return preAdmissionError('claude resident session cannot prove live-steer lifecycle: ' +
338
466
  'msg_lifecycle_v1 is unavailable');
@@ -340,6 +468,9 @@ function lifecycleUnsupportedError() {
340
468
  function capabilityUndecidedTurnEndedError() {
341
469
  return preAdmissionError('claude resident turn ended before live-steer capability was decided');
342
470
  }
471
+ function steerWriteUnconfirmedError() {
472
+ return new ClaudeSteerAdmissionError('ambiguous', 'claude resident turn ended before the steer write was confirmed');
473
+ }
343
474
  function preAdmissionError(message, cause) {
344
475
  return new ClaudeSteerAdmissionError('failed', message, cause === undefined ? undefined : { cause });
345
476
  }
package/dist/rpc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,cAAc,GACf,MAAM,aAAa,CAAC;AAoDrB,gFAAgF;AAChF,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAEvC;IADX,YACW,SAAiC,EAC1C,OAAe,EACf,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAJf,cAAS,GAAT,SAAS,CAAwB;QAK1C,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAUD,MAAM,OAAO,mBAAmB;IAOX;IACA;IAPF,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;IACpC,OAAO,GAAuB,IAAI,CAAC;IACnC,kBAAkB,GAAmB,IAAI,CAAC;IAC1C,sBAAsB,GAAkB,IAAI,CAAC;IAErD,YACmB,KAAe,EACf,OAAmC;QADnC,UAAK,GAAL,KAAK,CAAU;QACf,YAAO,GAAP,OAAO,CAA4B;IACnD,CAAC;IAEJ,KAAK,CAAC,UAAU,CACd,MAAc,EACd,UAA6B,EAAE,EAC/B,cAAsB,UAAU,EAAE;QAElC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,6CAA6C,CAAC,CACzD,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAgB;gBAC3B,OAAO;gBACP,MAAM;gBACN,UAAU,EAAE,IAAI,cAAc,EAAE;gBAChC,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,CAAC,WAAW,CAAC;gBACxB,QAAQ,EAAE,IAAI,GAAG,EAAE;gBACnB,kBAAkB,EAAE,IAAI,GAAG,EAAE;gBAC7B,aAAa,EAAE,KAAK;gBACpB,SAAS,EAAE,KAAK;gBAChB,kBAAkB,EAAE,IAAI;gBACxB,iBAAiB,EAAE,EAAE;gBACrB,YAAY,EAAE,IAAI,GAAG,EAAE;aACxB,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,0EAA0E;YAC1E,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,KAAK,CACd,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,EACrD,CAAC,GAAG,EAAE,EAAE;oBACN,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;wBAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CACb,MAAc,EACd,UAA6B,EAAE,EAC/B,cAAsB,UAAU,EAAE;QAElC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,MAAM,CACnB,iBAAiB,CAAC,sCAAsC,CAAC,CAC1D,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,MAAM,CACnB,iBAAiB,CAAC,4CAA4C,CAAC,CAChE,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,IAAI,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YACrC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACpF,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAEO,UAAU,CAChB,OAAoB,EACpB,MAAc,EACd,OAA0B,EAC1B,cAAsB,UAAU,EAAE;QAElC,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC,MAAM,CAAC,iCAAiC,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,MAAM,CACnB,iBAAiB,CAAC,sCAAsC,CAAC,CAC1D,CAAC;QACJ,CAAC;QACD,+EAA+E;QAC/E,kEAAkE;QAClE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,CAAC,KAAc,EAAQ,EAAE;gBACpC,6DAA6D;gBAC7D,qEAAqE;gBACrE,sEAAsE;gBACtE,qEAAqE;gBACrE,sDAAsD;gBACtD,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzE,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC;YACvE,CAAC,CAAC;YACF,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,KAAK,CACd,GAAG,gBAAgB,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,WAAW,CAAC,IAAI,EAC7E,CAAC,GAAG,EAAE,EAAE;oBACN,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;wBAChB,IAAI,CAAC,GAAG,CAAC,CAAC;wBACV,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAChD,CAAC,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,WAAW,CAAC,GAAU;QACpB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,OAAO;QACjC,IAAI,CAAC,sBAAsB,GAAG,UAAU,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACjF,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,OAAe;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;YAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,0EAA0E;QAC1E,wEAAwE;QACxE,4EAA4E;QAC5E,+DAA+D;QAC/D,IAAI,CAAC,uBAAuB,CAC1B,OAAO,EACP,OAAO,IAAI,iCAAiC,EAAE,CAC/C,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;OAUG;IACK,mBAAmB,CACzB,OAAoB,EACpB,WAAmB,EACnB,cAA6B;QAE7B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO;QACrD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAClC,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC5B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,kBAAkB,GAAG,cAAc,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAChB,MAAM,EACN,kBAAkB,WAAW,IAAI,cAAc,gBAAgB;oBAC7D,sCAAsC,CACzC,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACK,aAAa,CAAC,OAAoB;QACxC,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO;QACrC,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YAC1D,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO;QAChD,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;gBAAE,OAAO;QACjD,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,aAAa;YAAE,OAAO;QAClC,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,wDAAwD;YACtD,UAAU,OAAO,CAAC,kBAAkB,IAAI,4BAA4B,GAAG,CAC1E,CAAC;QACF,yEAAyE;QACzE,gEAAgE;QAChE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACK,YAAY,CAAC,OAAoB;QACvC,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;YAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;gBAAE,OAAO;YACrC,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,wDAAwD,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,CACvF,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAChB,OAAO,EACP,+CAA+C,IAAI,CAAC,OAAO,CAAC,aAAa,4BAA4B,CACtG,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,IAAgB;QAC7B,sEAAsE;QACtE,uEAAuE;QACvE,mCAAmC;QACnC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM;gBACT,IAAI,CAAC,sBAAsB,CACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAC/C,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzD,MAAM;YACR,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC7B,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI;oBAAE,MAAM;gBACzD,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBACxB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;wBAC7B,IAAI,EAAE,mBAAmB;wBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;qBAClB,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;oBAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC/E,kEAAkE;gBAClE,oEAAoE;gBACpE,wEAAwE;gBACxE,sCAAsC;gBACtC,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC;gBACxD,IAAI,cAAc;oBAAE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBACnD,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACnD,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBAC/C,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;gBACvC,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;oBAAE,MAAM;gBACpC,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;oBAC/B,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC5D,CAAC;qBAAM,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAChG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACpD,IAAI,CAAC,mBAAmB,CACtB,OAAO,EACP,IAAI,CAAC,WAAW,EAChB,OAAO,IAAI,CAAC,KAAK,YAAY,CAC9B,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC7B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,sEAAsE,CACvE,CAAC;oBACF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAClD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC7B,MAAM;gBACR,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;gBACjD,IAAI,WAAW,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrE,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,kDAAkD,WAAW,IAAI;wBAC/D,0CAA0C,CAC7C,CAAC;oBACF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAClD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC7B,MAAM;gBACR,CAAC;gBACD,sEAAsE;gBACtE,uEAAuE;gBACvE,IACE,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,wBAAwB;oBACjD,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,IAAI;oBACrC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,EAC1B,CAAC;oBACD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;oBACvE,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,EAAG,CAAC;gBAClD,OAAO,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBACnC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;oBAC7B,IAAI,EAAE,QAAQ;oBACd,OAAO;iBACR,CAAC,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC5B,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB;gBACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClE,MAAM;YACR,KAAK,kBAAkB;gBACrB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3E,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAChB,MAAM,EACN,mCAAmC,IAAI,CAAC,GAAG,EAAE,CAC9C,CAAC;gBACF,MAAM;YACR;gBACE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzD,MAAM;QACV,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,SAAkB;QAC/C,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI;YAAE,OAAO;QAC7C,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QAC7B,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACrE,CAAC;IAEO,sBAAsB,CAAC,OAAoB;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,KAAK,IAAI,CAAC,UAAU,CAClB,OAAO,EACP,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,WAAW,CACnB,CAAC,IAAI,CACJ,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,MAAM,CACd,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,OAAoB,EAAE,KAAY;QAChE,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,KAAK,YAAY,yBAAyB;YACxD,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAEO,kBAAkB,CAAC,OAAoB,EAAE,WAAmB;QAClE,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAEO,iBAAiB,CACvB,OAAoB,EACpB,WAAmB,EACnB,KAAY;QAEZ,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAEO,kBAAkB,CAAC,OAAoB,EAAE,KAAY;QAC3D,MAAM,OAAO,GAAG,KAAK,YAAY,yBAAyB;YACxD,KAAK,CAAC,SAAS,KAAK,WAAW;YAC/B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC7B,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAEO,gBAAgB,CACtB,SAAwB,EACxB,OAAsB,EACtB,OAAgC;QAEhC,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,OAAO;QACvD,yEAAyE;QACzE,sBAAsB;QACtB,IAAI,KAAa,CAAC;QAClB,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,KAAK,GACT,OAAO,QAAQ,KAAK,QAAQ;gBAC5B,QAAQ,KAAK,IAAI;gBACjB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACtB,CAAC,CAAE,QAAoC;gBACvC,CAAC,CAAC,EAAE,CAAC;YACT,KAAK,GAAG,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,iBAAiB,CACvB,SAAwB,EACxB,EAAW,EACX,QAAwC,EACxC,KAAoB;QAEpB,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,sBAAsB;YAAE,OAAO;QAC5E,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,EAAE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC/D,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAChB,MAAM,EACN,sDAAsD,CACvD,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAChB,MAAM,EACN,sCAAsC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3E,CAAC;IACJ,CAAC;CACF;AAED,SAAS,yBAAyB;IAChC,OAAO,iBAAiB,CACtB,6DAA6D;QAC3D,iCAAiC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,iCAAiC;IACxC,OAAO,iBAAiB,CACtB,qEAAqE,CACtE,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO,IAAI,yBAAyB,CAClC,WAAW,EACX,iEAAiE,CAClE,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,KAAa;IACvD,OAAO,IAAI,yBAAyB,CAClC,QAAQ,EACR,OAAO,EACP,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAC5C,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,IAAI,yBAAyB,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AgentRuntimeMcpServer, AgentRuntimePathContext, AgentRuntimeSkillSource, AgentRuntimeStateCallbacks, DreamuxLogger } from '@excitedjs/dreamux-types';
1
+ import type { AgentRuntimeMcpServer, AgentRuntimePathContext, AgentRuntimeSkillSource, AgentRuntimeStateCallbacks, DreamuxLogger, RuntimeActivitySink } from '@excitedjs/dreamux-types';
2
2
  import type { DispatcherClaudeCodeConfig } from './config.js';
3
3
  import type { ClaudeCodeSessionFactory } from './supervisor.js';
4
4
  /** Neutral host capabilities required by one resident Claude Code runtime. */
@@ -25,5 +25,6 @@ export interface ClaudeCodeRuntimeDeps {
25
25
  }) => Promise<string>;
26
26
  sourceIdDedupeWindow?: number;
27
27
  logger?: DreamuxLogger;
28
+ activitySink: RuntimeActivitySink;
28
29
  }
29
30
  //# sourceMappingURL=runtime-deps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-deps.d.ts","sourceRoot":"","sources":["../src/runtime-deps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,aAAa,EACd,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,8EAA8E;AAC9E,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,0BAA0B,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,0BAA0B,CAAC;IAClC,KAAK,EAAE,uBAAuB,CAAC;IAC/B,UAAU,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC7C,cAAc,EAAE,wBAAwB,CAAC;IACzC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAClD,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;QACvB,MAAM,EAAE,OAAO,CAAC;KACjB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB"}
1
+ {"version":3,"file":"runtime-deps.d.ts","sourceRoot":"","sources":["../src/runtime-deps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,aAAa,EACb,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,8EAA8E;AAC9E,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,0BAA0B,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,0BAA0B,CAAC;IAClC,KAAK,EAAE,uBAAuB,CAAC;IAC/B,UAAU,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC7C,cAAc,EAAE,wBAAwB,CAAC;IACzC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAClD,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;QACvB,MAAM,EAAE,OAAO,CAAC;KACjB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,YAAY,EAAE,mBAAmB,CAAC;CACnC"}