@goah/cli 0.11.4 → 0.13.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 (160) hide show
  1. package/dist/cli.js +165 -66
  2. package/dist/cli.js.map +1 -1
  3. package/dist/console/assets/index-3sYrDMmt.css +1 -0
  4. package/dist/console/assets/index-Rtc_B7cs.js +52 -0
  5. package/dist/console/assets/index-Rtc_B7cs.js.map +1 -0
  6. package/dist/console/index.html +2 -2
  7. package/dist/control.d.ts +13 -13
  8. package/dist/control.d.ts.map +1 -1
  9. package/dist/control.js +77 -50
  10. package/dist/control.js.map +1 -1
  11. package/dist/index.d.ts +6 -23
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +156 -28
  14. package/dist/index.js.map +1 -1
  15. package/dist/live-config.js +2 -2
  16. package/dist/live-config.js.map +1 -1
  17. package/dist/prompt-queue.d.ts.map +1 -1
  18. package/dist/prompt-queue.js +5 -0
  19. package/dist/prompt-queue.js.map +1 -1
  20. package/dist/setup-wizard.d.ts +13 -2
  21. package/dist/setup-wizard.d.ts.map +1 -1
  22. package/dist/setup-wizard.js +87 -63
  23. package/dist/setup-wizard.js.map +1 -1
  24. package/dist/thread-inspect.d.ts +47 -0
  25. package/dist/thread-inspect.d.ts.map +1 -0
  26. package/dist/thread-inspect.js +78 -0
  27. package/dist/thread-inspect.js.map +1 -0
  28. package/dist/transcript.d.ts +2 -0
  29. package/dist/transcript.d.ts.map +1 -0
  30. package/dist/transcript.js +2 -0
  31. package/dist/transcript.js.map +1 -0
  32. package/dist/tui-theme.d.ts +1 -0
  33. package/dist/tui-theme.d.ts.map +1 -1
  34. package/dist/tui-theme.js +1 -0
  35. package/dist/tui-theme.js.map +1 -1
  36. package/dist/tui.d.ts +16 -3
  37. package/dist/tui.d.ts.map +1 -1
  38. package/dist/tui.js +332 -80
  39. package/dist/tui.js.map +1 -1
  40. package/dist/update.d.ts +1 -0
  41. package/dist/update.d.ts.map +1 -1
  42. package/dist/update.js +15 -7
  43. package/dist/update.js.map +1 -1
  44. package/dist/web-console.d.ts +1 -1
  45. package/dist/web-console.d.ts.map +1 -1
  46. package/dist/web-console.js +27 -37
  47. package/dist/web-console.js.map +1 -1
  48. package/dist/welcome.d.ts +2 -2
  49. package/dist/welcome.d.ts.map +1 -1
  50. package/dist/welcome.js +24 -36
  51. package/dist/welcome.js.map +1 -1
  52. package/node_modules/goah-ledger-contract/dist/execution.d.ts +272 -130
  53. package/node_modules/goah-ledger-contract/dist/execution.d.ts.map +1 -1
  54. package/node_modules/goah-ledger-contract/dist/execution.js +31 -19
  55. package/node_modules/goah-ledger-contract/dist/execution.js.map +1 -1
  56. package/node_modules/goah-ledger-contract/dist/index.d.ts +1 -2
  57. package/node_modules/goah-ledger-contract/dist/index.d.ts.map +1 -1
  58. package/node_modules/goah-ledger-contract/dist/index.js +1 -2
  59. package/node_modules/goah-ledger-contract/dist/index.js.map +1 -1
  60. package/node_modules/goah-ledger-contract/dist/kernel.d.ts +1 -1
  61. package/node_modules/goah-ledger-contract/dist/kernel.d.ts.map +1 -1
  62. package/node_modules/goah-ledger-contract/dist/kernel.js +1 -1
  63. package/node_modules/goah-ledger-contract/dist/kernel.js.map +1 -1
  64. package/node_modules/goah-ledger-contract/dist/transcript.d.ts +63 -0
  65. package/node_modules/goah-ledger-contract/dist/transcript.d.ts.map +1 -0
  66. package/node_modules/goah-ledger-contract/dist/transcript.js +115 -0
  67. package/node_modules/goah-ledger-contract/dist/transcript.js.map +1 -0
  68. package/node_modules/goah-ledger-contract/package.json +3 -4
  69. package/node_modules/goah-ledger-sqlite/dist/index.d.ts +32 -23
  70. package/node_modules/goah-ledger-sqlite/dist/index.d.ts.map +1 -1
  71. package/node_modules/goah-ledger-sqlite/dist/index.js +764 -394
  72. package/node_modules/goah-ledger-sqlite/dist/index.js.map +1 -1
  73. package/node_modules/goah-ledger-sqlite/package.json +2 -2
  74. package/node_modules/goah-runner-pi/dist/configurator.d.ts.map +1 -1
  75. package/node_modules/goah-runner-pi/dist/configurator.js +186 -30
  76. package/node_modules/goah-runner-pi/dist/configurator.js.map +1 -1
  77. package/node_modules/goah-runner-pi/dist/credential-store.d.ts +2 -0
  78. package/node_modules/goah-runner-pi/dist/credential-store.d.ts.map +1 -1
  79. package/node_modules/goah-runner-pi/dist/credential-store.js +117 -23
  80. package/node_modules/goah-runner-pi/dist/credential-store.js.map +1 -1
  81. package/node_modules/goah-runner-pi/dist/index.d.ts +18 -6
  82. package/node_modules/goah-runner-pi/dist/index.d.ts.map +1 -1
  83. package/node_modules/goah-runner-pi/dist/index.js +97 -12
  84. package/node_modules/goah-runner-pi/dist/index.js.map +1 -1
  85. package/node_modules/goah-runner-pi/dist/pi-worker.d.ts +6 -2
  86. package/node_modules/goah-runner-pi/dist/pi-worker.d.ts.map +1 -1
  87. package/node_modules/goah-runner-pi/dist/pi-worker.js +232 -70
  88. package/node_modules/goah-runner-pi/dist/pi-worker.js.map +1 -1
  89. package/node_modules/goah-runner-pi/dist/steering-no-ack.test-fixture.d.ts +2 -0
  90. package/node_modules/goah-runner-pi/dist/steering-no-ack.test-fixture.d.ts.map +1 -0
  91. package/node_modules/goah-runner-pi/dist/steering-no-ack.test-fixture.js +3 -0
  92. package/node_modules/goah-runner-pi/dist/steering-no-ack.test-fixture.js.map +1 -0
  93. package/node_modules/goah-runner-pi/dist/steering-reject.test-fixture.d.ts +2 -0
  94. package/node_modules/goah-runner-pi/dist/steering-reject.test-fixture.d.ts.map +1 -0
  95. package/node_modules/goah-runner-pi/dist/steering-reject.test-fixture.js +5 -0
  96. package/node_modules/goah-runner-pi/dist/steering-reject.test-fixture.js.map +1 -0
  97. package/node_modules/goah-runner-pi/dist/steering-worker.test-fixture.d.ts +2 -0
  98. package/node_modules/goah-runner-pi/dist/steering-worker.test-fixture.d.ts.map +1 -0
  99. package/node_modules/goah-runner-pi/dist/steering-worker.test-fixture.js +5 -0
  100. package/node_modules/goah-runner-pi/dist/steering-worker.test-fixture.js.map +1 -0
  101. package/node_modules/goah-runner-pi/dist/test-helpers.d.ts +1 -1
  102. package/node_modules/goah-runner-pi/dist/test-helpers.d.ts.map +1 -1
  103. package/node_modules/goah-runner-pi/dist/test-helpers.js +3 -1
  104. package/node_modules/goah-runner-pi/dist/test-helpers.js.map +1 -1
  105. package/node_modules/goah-runner-pi/dist/verification-worker.d.ts.map +1 -1
  106. package/node_modules/goah-runner-pi/dist/verification-worker.js +3 -5
  107. package/node_modules/goah-runner-pi/dist/verification-worker.js.map +1 -1
  108. package/node_modules/goah-runner-pi/package.json +2 -2
  109. package/node_modules/goah-supervisor/dist/context-view.d.ts +4 -5
  110. package/node_modules/goah-supervisor/dist/context-view.d.ts.map +1 -1
  111. package/node_modules/goah-supervisor/dist/context-view.js +7 -20
  112. package/node_modules/goah-supervisor/dist/context-view.js.map +1 -1
  113. package/node_modules/goah-supervisor/dist/index.d.ts +38 -36
  114. package/node_modules/goah-supervisor/dist/index.d.ts.map +1 -1
  115. package/node_modules/goah-supervisor/dist/index.js +762 -575
  116. package/node_modules/goah-supervisor/dist/index.js.map +1 -1
  117. package/node_modules/goah-supervisor/dist/roles.d.ts +2 -1
  118. package/node_modules/goah-supervisor/dist/roles.d.ts.map +1 -1
  119. package/node_modules/goah-supervisor/dist/roles.js +20 -5
  120. package/node_modules/goah-supervisor/dist/roles.js.map +1 -1
  121. package/node_modules/goah-supervisor/dist/verification.d.ts +8 -29
  122. package/node_modules/goah-supervisor/dist/verification.d.ts.map +1 -1
  123. package/node_modules/goah-supervisor/dist/verification.js +71 -46
  124. package/node_modules/goah-supervisor/dist/verification.js.map +1 -1
  125. package/node_modules/goah-supervisor/package.json +2 -2
  126. package/node_modules/goah-testkit/dist/faux-runner-worker.js +16 -9
  127. package/node_modules/goah-testkit/dist/faux-runner-worker.js.map +1 -1
  128. package/node_modules/goah-testkit/dist/index.d.ts +13 -16
  129. package/node_modules/goah-testkit/dist/index.d.ts.map +1 -1
  130. package/node_modules/goah-testkit/dist/index.js +27 -44
  131. package/node_modules/goah-testkit/dist/index.js.map +1 -1
  132. package/node_modules/goah-testkit/package.json +5 -5
  133. package/package.json +7 -8
  134. package/dist/console/assets/index-BJTGvlCH.js +0 -52
  135. package/dist/console/assets/index-BJTGvlCH.js.map +0 -1
  136. package/dist/console/assets/index-msBn41Cl.css +0 -1
  137. package/dist/inspect.d.ts +0 -61
  138. package/dist/inspect.d.ts.map +0 -1
  139. package/dist/inspect.js +0 -110
  140. package/dist/inspect.js.map +0 -1
  141. package/dist/metrics.d.ts +0 -2
  142. package/dist/metrics.d.ts.map +0 -1
  143. package/dist/metrics.js +0 -2
  144. package/dist/metrics.js.map +0 -1
  145. package/dist/session.d.ts +0 -2
  146. package/dist/session.d.ts.map +0 -1
  147. package/dist/session.js +0 -2
  148. package/dist/session.js.map +0 -1
  149. package/node_modules/goah-ledger-contract/dist/metrics.d.ts +0 -40
  150. package/node_modules/goah-ledger-contract/dist/metrics.d.ts.map +0 -1
  151. package/node_modules/goah-ledger-contract/dist/metrics.js +0 -25
  152. package/node_modules/goah-ledger-contract/dist/metrics.js.map +0 -1
  153. package/node_modules/goah-ledger-contract/dist/session.d.ts +0 -63
  154. package/node_modules/goah-ledger-contract/dist/session.d.ts.map +0 -1
  155. package/node_modules/goah-ledger-contract/dist/session.js +0 -115
  156. package/node_modules/goah-ledger-contract/dist/session.js.map +0 -1
  157. package/node_modules/goah-testkit/dist/mock-connector-worker.d.ts +0 -2
  158. package/node_modules/goah-testkit/dist/mock-connector-worker.d.ts.map +0 -1
  159. package/node_modules/goah-testkit/dist/mock-connector-worker.js +0 -29
  160. package/node_modules/goah-testkit/dist/mock-connector-worker.js.map +0 -1
@@ -1,9 +1,10 @@
1
- import { chmod, mkdir, readFile, rename, writeFile } from "node:fs/promises";
1
+ import { chmod, mkdir, readFile, rename, rm, stat, writeFile } from "node:fs/promises";
2
+ import { randomUUID } from "node:crypto";
2
3
  import { dirname } from "node:path";
3
4
  /** Small file-backed implementation of Pi's credential contract. */
4
5
  export class JsonCredentialStore {
5
6
  path;
6
- #tails = new Map();
7
+ #tail = Promise.resolve();
7
8
  constructor(path) {
8
9
  this.path = path;
9
10
  }
@@ -12,52 +13,123 @@ export class JsonCredentialStore {
12
13
  return Object.entries(await this.#readAll()).map(([providerId, credential]) => ({ providerId, type: credential.type }));
13
14
  }
14
15
  async modify(providerId, fn) {
15
- const previous = this.#tails.get(providerId) ?? Promise.resolve();
16
- let result;
17
- const next = previous.then(async () => {
16
+ return this.#enqueue(async () => {
18
17
  const all = await this.#readAll();
19
- result = await fn(all[providerId]);
18
+ const result = await fn(all[providerId]);
20
19
  if (result !== undefined) {
21
20
  all[providerId] = result;
22
21
  await this.#writeAll(all);
23
22
  }
23
+ return result;
24
24
  });
25
- this.#tails.set(providerId, next);
26
- try {
27
- await next;
28
- }
29
- finally {
30
- if (this.#tails.get(providerId) === next)
31
- this.#tails.delete(providerId);
32
- }
33
- return result;
34
25
  }
35
26
  async delete(providerId) {
36
- const previous = this.#tails.get(providerId) ?? Promise.resolve();
37
- const next = previous.then(async () => {
27
+ await this.#enqueue(async () => {
38
28
  const all = await this.#readAll();
39
29
  if (!(providerId in all))
40
30
  return;
41
31
  delete all[providerId];
42
32
  await this.#writeAll(all);
43
33
  });
44
- this.#tails.set(providerId, next);
34
+ }
35
+ async replaceFileIfUnchanged(expected, next) {
36
+ await this.#enqueue(async () => {
37
+ const current = await this.#readRaw();
38
+ if (!buffersEqual(current, expected))
39
+ throw new Error("Credentials changed in another process during setup; retry to avoid overwriting them.");
40
+ if (next === null)
41
+ await rm(this.path, { force: true });
42
+ else {
43
+ await mkdir(dirname(this.path), { recursive: true });
44
+ const temporary = `${this.path}.${process.pid}.replace.tmp`;
45
+ await writeFile(temporary, next, { mode: 0o600 });
46
+ await rename(temporary, this.path);
47
+ await chmod(this.path, 0o600);
48
+ }
49
+ });
50
+ }
51
+ async replaceProviderIfUnchanged(providerId, expected, next) {
52
+ await this.#enqueue(async () => {
53
+ const all = await this.#readAll();
54
+ if (!sameCredential(all[providerId], expected))
55
+ throw new Error(`Credentials for ${providerId} changed in another process; refusing to overwrite them.`);
56
+ if (next === undefined)
57
+ delete all[providerId];
58
+ else
59
+ all[providerId] = next;
60
+ await this.#writeAll(all);
61
+ });
62
+ }
63
+ #enqueue(operation) {
64
+ const run = this.#tail.then(() => this.#withFileLock(operation));
65
+ this.#tail = run.then(() => undefined, () => undefined);
66
+ return run;
67
+ }
68
+ async #withFileLock(operation) {
69
+ const lock = `${this.path}.lock`;
70
+ const ownerPath = `${lock}/owner.json`;
71
+ const token = randomUUID();
72
+ const deadline = Date.now() + 5_000;
73
+ await mkdir(dirname(this.path), { recursive: true });
74
+ while (true) {
75
+ let acquired = false;
76
+ try {
77
+ await mkdir(lock);
78
+ acquired = true;
79
+ }
80
+ catch (error) {
81
+ if (error.code !== "EEXIST")
82
+ throw error;
83
+ const owner = await readLockOwner(ownerPath);
84
+ const info = owner ? null : await stat(lock).catch((statError) => statError.code === "ENOENT" ? null : Promise.reject(statError));
85
+ if (!owner && !info)
86
+ continue;
87
+ if (owner ? !processIsAlive(owner.pid) : Date.now() - info.mtimeMs > 5_000) {
88
+ const stale = `${lock}.stale.${token}`;
89
+ try {
90
+ await rename(lock, stale);
91
+ await rm(stale, { recursive: true, force: true });
92
+ }
93
+ catch (reclaimError) {
94
+ if (reclaimError.code !== "ENOENT")
95
+ throw reclaimError;
96
+ }
97
+ continue;
98
+ }
99
+ if (Date.now() >= deadline)
100
+ throw new Error("Timed out waiting for the credential store lock");
101
+ await new Promise((resolve) => setTimeout(resolve, 25));
102
+ }
103
+ if (acquired) {
104
+ try {
105
+ await writeFile(ownerPath, JSON.stringify({ pid: process.pid, token }));
106
+ }
107
+ catch (error) {
108
+ await rm(lock, { recursive: true, force: true });
109
+ throw error;
110
+ }
111
+ break;
112
+ }
113
+ }
45
114
  try {
46
- await next;
115
+ return await operation();
47
116
  }
48
117
  finally {
49
- if (this.#tails.get(providerId) === next)
50
- this.#tails.delete(providerId);
118
+ if ((await readLockOwner(ownerPath))?.token === token)
119
+ await rm(lock, { recursive: true, force: true });
51
120
  }
52
121
  }
53
122
  async #readAll() {
54
123
  try {
55
124
  return JSON.parse(await readFile(this.path, "utf8"));
56
125
  }
57
- catch {
58
- return {};
126
+ catch (error) {
127
+ if (error.code === "ENOENT")
128
+ return {};
129
+ throw error;
59
130
  }
60
131
  }
132
+ async #readRaw() { return readFile(this.path).catch((error) => error.code === "ENOENT" ? null : Promise.reject(error)); }
61
133
  async #writeAll(value) {
62
134
  await mkdir(dirname(this.path), { recursive: true });
63
135
  const temporary = `${this.path}.${process.pid}.tmp`;
@@ -66,4 +138,26 @@ export class JsonCredentialStore {
66
138
  await chmod(this.path, 0o600);
67
139
  }
68
140
  }
141
+ function buffersEqual(left, right) { return left === null || right === null ? left === right : left.equals(right); }
142
+ function sameCredential(left, right) { return JSON.stringify(left) === JSON.stringify(right); }
143
+ async function readLockOwner(path) {
144
+ try {
145
+ const value = JSON.parse(await readFile(path, "utf8"));
146
+ return Number.isInteger(value.pid) && Number(value.pid) > 0 && typeof value.token === "string" ? value : null;
147
+ }
148
+ catch (error) {
149
+ if (error.code === "ENOENT" || error instanceof SyntaxError)
150
+ return null;
151
+ throw error;
152
+ }
153
+ }
154
+ function processIsAlive(pid) {
155
+ try {
156
+ process.kill(pid, 0);
157
+ return true;
158
+ }
159
+ catch (error) {
160
+ return error.code === "EPERM";
161
+ }
162
+ }
69
163
  //# sourceMappingURL=credential-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../src/credential-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../src/credential-store.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type JsonValue, type AgentCapability, type AssistantResponse, type RunRequest, type Runner, type RunnerHandle, type RunnerResult, type TurnContext, type WakeOutput } from "goah-ledger-contract";
1
+ import { type AgentHandoff, type HandoffValidationResult, type JsonValue, type AssistantResponse, type RunRequest, type Runner, type RunnerHandle, type RunnerCandidateResult, type RunnerRpcMethod, type TurnContext } from "goah-ledger-contract";
2
2
  export { createPiModel, defaultAuthFile, modelCatalog, providerCatalog, resolvedApiKey, LOCAL_PROVIDERS, type ModelSummary, type ProviderSummary } from "./model-provider.js";
3
3
  export { JsonCredentialStore } from "./credential-store.js";
4
4
  export { createPiProcessRunner, piConfig, piEnvironment, piRunnerConfigurator, type PiRunnerConfig } from "./configurator.js";
@@ -9,15 +9,21 @@ export interface PiStep {
9
9
  data: JsonValue;
10
10
  }>;
11
11
  response?: AssistantResponse;
12
- handoff?: WakeOutput;
12
+ handoff?: {
13
+ response: AssistantResponse;
14
+ handoff: AgentHandoff;
15
+ };
13
16
  stopped?: boolean;
14
17
  }
15
- export interface PiSession {
18
+ export interface PiRunnerSession {
16
19
  step(): Promise<PiStep>;
20
+ feedback(validation: Exclude<HandoffValidationResult, {
21
+ accepted: true;
22
+ }>): Promise<void>;
17
23
  close(): Promise<void>;
18
24
  }
19
25
  export interface PiDriver {
20
- createSession(request: RunRequest): Promise<PiSession>;
26
+ createRunnerSession(request: RunRequest): Promise<PiRunnerSession>;
21
27
  }
22
28
  /** In-process adapter for tests and for use inside a ProcessRunner worker. */
23
29
  export declare class PiRunnerAdapter {
@@ -35,6 +41,9 @@ export interface ProcessRunnerOptions {
35
41
  /** Unresolved env spec (may contain `env:NAME` references); resolved at every spawn. */
36
42
  envSpec?: Record<string, string> | undefined;
37
43
  inheritEnv?: string[];
44
+ /** Worker implements the live steering control message. */
45
+ steering?: boolean;
46
+ steerAckTimeoutMs?: number;
38
47
  killGraceMs?: number;
39
48
  timeoutMs?: number;
40
49
  /** Resolve private per-wake runtime material (for example scoped model auth) before the worker starts. Never enters RunRequest context or Ledger events. */
@@ -54,11 +63,14 @@ export declare class ProcessRunner implements Runner {
54
63
  prepare(request: RunRequest): RunnerHandle;
55
64
  terminateProcess(pid: number): Promise<void>;
56
65
  }
57
- export type WorkerRpc = (method: AgentCapability, params: JsonValue) => Promise<JsonValue>;
66
+ export type WorkerRpc = (method: RunnerRpcMethod, params: JsonValue) => Promise<JsonValue>;
67
+ export interface WorkerControls {
68
+ onSteer(listener: (message: string) => boolean): void;
69
+ }
58
70
  export type WorkerRun = (request: WorkerRequest, emit: (event: {
59
71
  type: string;
60
72
  data: JsonValue;
61
- }) => void, rpc: WorkerRpc) => Promise<RunnerResult>;
73
+ }) => void, rpc: WorkerRpc, controls: WorkerControls) => Promise<RunnerCandidateResult>;
62
74
  /** Entry helper for runner executables. It exits when its parent disappears. */
63
75
  export declare function runProcessWorker(run: WorkerRun): Promise<void>;
64
76
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { spawn } from "node:child_process";
2
2
  import { createInterface } from "node:readline";
3
3
  import { resolveEnvSpec } from "./env-spec.js";
4
4
  import { fileURLToPath } from "node:url";
5
- import { assertHandoff, } from "goah-ledger-contract";
5
+ import { assertTurnOutput, } from "goah-ledger-contract";
6
6
  export { createPiModel, defaultAuthFile, modelCatalog, providerCatalog, resolvedApiKey, LOCAL_PROVIDERS } from "./model-provider.js";
7
7
  export { JsonCredentialStore } from "./credential-store.js";
8
8
  export { createPiProcessRunner, piConfig, piEnvironment, piRunnerConfigurator } from "./configurator.js";
@@ -23,7 +23,7 @@ export class PiRunnerAdapter {
23
23
  if (started)
24
24
  return;
25
25
  started = true;
26
- void this.#run(request).then(resolveResult);
26
+ void this.#run(request).then(resolveResult, (error) => resolveResult({ outcome: "abnormal", reason: error instanceof Error ? error.message : String(error) }));
27
27
  },
28
28
  result,
29
29
  terminate: async () => undefined,
@@ -31,27 +31,39 @@ export class PiRunnerAdapter {
31
31
  }
32
32
  async terminateProcess(pid) { await terminatePid(pid, 500); }
33
33
  async #run(request) {
34
- const session = await this.driver.createSession(request);
34
+ const runnerSession = await this.driver.createRunnerSession(request);
35
35
  try {
36
36
  while (true) {
37
- const step = await session.step();
37
+ const step = await runnerSession.step();
38
38
  for (const trace of step.trace ?? [])
39
39
  request.emit(trace);
40
40
  if (step.response)
41
41
  return { outcome: "response", response: step.response };
42
42
  if (step.handoff) {
43
- assertHandoff(step.handoff.handoff);
44
- return { outcome: "handoff", output: step.handoff };
43
+ const validation = await request.rpc?.("goal.handoff.validate", { handoff: step.handoff.handoff, candidateMessage: step.handoff.response.content });
44
+ if (!validation)
45
+ return { outcome: "abnormal", reason: "Handoff validation is unavailable" };
46
+ request.emit({ type: "message.assistant.completed", data: { message: { id: `adapter:${request.execution.id}:handoff:${validation.attemptId}`, role: "assistant", content: [{ type: "text", text: step.handoff.response.content }], stopReason: "toolUse" }, completionIntent: "handoff", commitState: "provisional" } });
47
+ if (!validation.accepted) {
48
+ if (validation.fatal)
49
+ return { outcome: "abnormal", reason: validation.issues.map((issue) => issue.message).join("; ") };
50
+ await runnerSession.feedback(validation);
51
+ request.emit({ type: "runner.handoff_rejected", data: { attemptId: validation.attemptId, issues: validation.issues } });
52
+ continue;
53
+ }
54
+ const output = { validationAttemptId: validation.attemptId, validationToken: validation.token, handoff: step.handoff.handoff };
55
+ assertTurnOutput(output);
56
+ return { outcome: "handoff", output };
45
57
  }
46
58
  if (step.stopped)
47
- return { outcome: "abnormal", reason: request.turn.goalBinding ? "runner stopped without a valid handoff" : "runner stopped without a response" };
59
+ return { outcome: "abnormal", reason: request.turn.goalBinding ? "runner stopped without a readable response and valid handoff" : "runner stopped without a response" };
48
60
  }
49
61
  }
50
62
  catch (error) {
51
63
  return { outcome: "abnormal", reason: error instanceof Error ? error.message : String(error) };
52
64
  }
53
65
  finally {
54
- await session.close();
66
+ await runnerSession.close();
55
67
  }
56
68
  }
57
69
  }
@@ -78,19 +90,45 @@ export class ProcessRunner {
78
90
  let stderr = "";
79
91
  let timer;
80
92
  let settled = false;
93
+ let resolveStartReady;
94
+ const startReady = new Promise((resolve) => { resolveStartReady = resolve; });
81
95
  let resolveResult;
96
+ const pendingSteering = new Map();
82
97
  const result = new Promise((resolve) => { resolveResult = resolve; });
83
98
  const settle = (value) => { if (!settled) {
84
99
  settled = true;
85
100
  resolveResult(value);
86
101
  } };
87
- child.stderr?.on("data", (chunk) => { stderr += chunk.toString(); });
102
+ child.stderr?.on("data", (chunk) => { stderr = `${stderr}${chunk.toString()}`.slice(-65_536); });
103
+ let protocolLineBytes = 0;
104
+ child.stdout?.on("data", (chunk) => { for (const byte of chunk) {
105
+ if (byte === 10)
106
+ protocolLineBytes = 0;
107
+ else if (++protocolLineBytes > 1_000_000 && !protocolError) {
108
+ protocolError = "runner protocol line exceeded 1 MB";
109
+ void terminate();
110
+ break;
111
+ }
112
+ } });
88
113
  const lines = createInterface({ input: child.stdout });
89
114
  lines.on("line", (line) => {
115
+ if (protocolError)
116
+ return;
90
117
  try {
91
118
  const message = JSON.parse(line);
92
119
  if (message.type === "trace")
93
120
  request.emit(message.event);
121
+ else if (message.type === "steer_ack") {
122
+ const pending = pendingSteering.get(message.id);
123
+ if (pending) {
124
+ pendingSteering.delete(message.id);
125
+ clearTimeout(pending.timer);
126
+ if (message.accepted)
127
+ pending.resolve();
128
+ else
129
+ pending.reject(new Error("runner is no longer accepting steering messages"));
130
+ }
131
+ }
94
132
  else if (message.type === "rpc_request") {
95
133
  void Promise.resolve(request.rpc?.(message.method, message.params) ?? Promise.reject(new Error("runner RPC is unavailable")))
96
134
  .then((result) => child.stdin?.write(`${JSON.stringify({ type: "rpc_response", id: message.id, result })}\n`))
@@ -104,9 +142,15 @@ export class ProcessRunner {
104
142
  void terminate();
105
143
  }
106
144
  });
107
- child.once("error", (error) => { if (timer)
145
+ child.once("error", (error) => { resolveStartReady(); if (timer)
108
146
  clearTimeout(timer); settle({ outcome: "abnormal", reason: error.message }); });
109
147
  child.once("close", (code, signal) => {
148
+ resolveStartReady();
149
+ for (const pending of pendingSteering.values()) {
150
+ clearTimeout(pending.timer);
151
+ pending.reject(new Error("runner closed before acknowledging the steering message"));
152
+ }
153
+ pendingSteering.clear();
110
154
  if (timer)
111
155
  clearTimeout(timer);
112
156
  if (protocolError)
@@ -131,18 +175,40 @@ export class ProcessRunner {
131
175
  void (async () => {
132
176
  try {
133
177
  const runtime = await this.options.prepareRuntime?.(request);
134
- const serializable = { wake: request.wake, turn: request.turn, context: request.context, ...(runtime !== undefined ? { runtime } : {}) };
178
+ const serializable = { agent: request.agent, execution: request.execution, ...(request.sourceWake ? { sourceWake: request.sourceWake } : {}), ...(request.sourceWakeTriggers ? { sourceWakeTriggers: request.sourceWakeTriggers } : {}), turn: request.turn, context: request.context, ...(runtime !== undefined ? { runtime } : {}) };
135
179
  child.stdin?.write(`${JSON.stringify({ type: "start", request: serializable })}\n`);
180
+ resolveStartReady();
136
181
  if (this.options.timeoutMs)
137
182
  timer = setTimeout(() => { timedOut = true; void terminate(); }, this.options.timeoutMs);
138
183
  }
139
184
  catch (error) {
140
185
  protocolError = error instanceof Error ? error.message : String(error);
186
+ resolveStartReady();
141
187
  await terminate();
142
188
  }
143
189
  })();
144
190
  },
145
191
  result,
192
+ ...(this.options.steering ? { steer: async (message) => {
193
+ if (!started)
194
+ throw new Error("runner is not accepting steering messages");
195
+ await startReady;
196
+ if (settled || protocolError || !child.stdin?.writable)
197
+ throw new Error("runner is not accepting steering messages");
198
+ const id = crypto.randomUUID();
199
+ await new Promise((resolve, reject) => {
200
+ const timer = setTimeout(() => { pendingSteering.delete(id); reject(new Error("runner did not acknowledge the steering message in time")); }, this.options.steerAckTimeoutMs ?? 2_000);
201
+ timer.unref();
202
+ pendingSteering.set(id, { resolve, reject, timer });
203
+ child.stdin.write(`${JSON.stringify({ type: "steer", id, message })}\n`, (error) => { if (error) {
204
+ const pending = pendingSteering.get(id);
205
+ if (pending)
206
+ clearTimeout(pending.timer);
207
+ pendingSteering.delete(id);
208
+ reject(error);
209
+ } });
210
+ });
211
+ } } : {}),
146
212
  terminate,
147
213
  };
148
214
  }
@@ -165,9 +231,26 @@ export async function runProcessWorker(run) {
165
231
  if (start.type !== "start")
166
232
  throw new Error("first runner message must be start");
167
233
  const pending = new Map();
234
+ const queuedSteering = [];
235
+ let steerListener;
236
+ const deliverSteer = (id, message) => {
237
+ let accepted = false;
238
+ try {
239
+ accepted = steerListener?.(message) === true;
240
+ }
241
+ catch { }
242
+ process.stdout.write(`${JSON.stringify({ type: "steer_ack", id, accepted })}\n`);
243
+ };
168
244
  void (async () => {
169
245
  for await (const line of { [Symbol.asyncIterator]: () => iterator }) {
170
246
  const message = JSON.parse(line);
247
+ if (message.type === "steer") {
248
+ if (steerListener)
249
+ deliverSteer(message.id, message.message);
250
+ else
251
+ queuedSteering.push(message);
252
+ continue;
253
+ }
171
254
  if (message.type !== "rpc_response")
172
255
  continue;
173
256
  const waiter = pending.get(message.id);
@@ -185,7 +268,9 @@ export async function runProcessWorker(run) {
185
268
  pending.set(id, { resolve, reject });
186
269
  process.stdout.write(`${JSON.stringify({ type: "rpc_request", id, method, params })}\n`);
187
270
  });
188
- const result = await run(start.request, (event) => process.stdout.write(`${JSON.stringify({ type: "trace", event })}\n`), rpc);
271
+ const controls = { onSteer: (listener) => { steerListener = listener; for (const message of queuedSteering.splice(0))
272
+ deliverSteer(message.id, message.message); } };
273
+ const result = await run(start.request, (event) => process.stdout.write(`${JSON.stringify({ type: "trace", event })}\n`), rpc, controls);
189
274
  process.stdout.write(`${JSON.stringify({ type: "result", result })}\n`);
190
275
  input.close();
191
276
  process.stdin.unref();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,gBAAgB,GAYjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAA2C,MAAM,qBAAqB,CAAC;AAC9K,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAuB,MAAM,mBAAmB,CAAC;AAC9H,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAW/C,8EAA8E;AAC9E,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,MAAgB;QAAhB,WAAM,GAAN,MAAM,CAAU;IAAG,CAAC;IAEjD,OAAO,CAAC,OAAmB;QACzB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,aAAuD,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,EAAE,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,OAAO;YACL,GAAG,EAAE,IAAI;YACT,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,EAAC,CAAC,KAAK,EAAC,EAAE,CAAA,aAAa,CAAC,EAAC,OAAO,EAAC,UAAU,EAAC,MAAM,EAAC,KAAK,YAAY,KAAK,CAAA,CAAC,CAAA,KAAK,CAAC,OAAO,CAAA,CAAC,CAAA,MAAM,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,CAAC;YACrJ,CAAC;YACD,MAAM;YACN,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;SACjC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAW,IAAmB,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpF,KAAK,CAAC,IAAI,CAAC,OAAmB;QAC5B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;gBACxC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;oBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1D,IAAI,IAAI,CAAC,QAAQ;oBAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3E,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,MAAM,UAAU,GAAC,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,uBAAuB,EAAC,EAAC,OAAO,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAC,gBAAgB,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAyB,CAAiD,CAAC;oBAAA,IAAG,CAAC,UAAU;wBAAC,OAAM,EAAC,OAAO,EAAC,UAAU,EAAC,MAAM,EAAC,mCAAmC,EAAC,CAAC;oBAAA,OAAO,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,6BAA6B,EAAC,IAAI,EAAC,EAAC,OAAO,EAAC,EAAC,EAAE,EAAC,WAAW,OAAO,CAAC,SAAS,CAAC,EAAE,YAAY,UAAU,CAAC,SAAS,EAAE,EAAC,IAAI,EAAC,WAAW,EAAC,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAC,CAAC,EAAC,UAAU,EAAC,SAAS,EAAC,EAAC,gBAAgB,EAAC,SAAS,EAAC,WAAW,EAAC,aAAa,EAAC,EAAC,CAAC,CAAC;oBAAA,IAAG,CAAC,UAAU,CAAC,QAAQ,EAAC,CAAC;wBAAA,IAAG,UAAU,CAAC,KAAK;4BAAC,OAAM,EAAC,OAAO,EAAC,UAAU,EAAC,MAAM,EAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAC,EAAE,CAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC;wBAAA,MAAM,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;wBAAA,OAAO,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,yBAAyB,EAAC,IAAI,EAAC,EAAC,SAAS,EAAC,UAAU,CAAC,SAAS,EAAC,MAAM,EAAC,UAAU,CAAC,MAAM,EAAyB,EAAC,CAAC,CAAC;wBAAA,SAAS;oBAAA,CAAC;oBAAA,MAAM,MAAM,GAAY,EAAC,mBAAmB,EAAC,UAAU,CAAC,SAAS,EAAC,eAAe,EAAC,UAAU,CAAC,KAAK,EAAC,OAAO,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAC,CAAC;oBAAA,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;gBAC3kC,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO;oBAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,8DAA8D,CAAC,CAAC,CAAC,mCAAmC,EAAE,CAAC;YAC5L,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACjG,CAAC;gBAAS,CAAC;YACT,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;CACF;AAmBD,MAAM,UAAU,YAAY,KAAa,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5G,MAAM,UAAU,sBAAsB,KAAa,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAahI,mFAAmF;AACnF,MAAM,OAAO,aAAa;IAEH;IADZ,SAAS,GAAG,SAAkB,CAAC;IACxC,YAAqB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;IAAG,CAAC;IAEtD,OAAO,CAAC,OAAmB;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAC7I,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE;YACjE,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;YACtC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;SACzD,CAAC,CAAC;QACH,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,aAAa,GAAiC,IAAI,CAAC;QACvD,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAiC,CAAC;QACtC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,iBAA8B,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,GAAG,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,IAAI,aAAuD,CAAC;QAC5D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkF,CAAC;QAClH,MAAM,MAAM,GAAG,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,EAAE,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,CAAC,KAA4B,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;YAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC,CAAC,CAAC,CAAC;QAE7G,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,MAAM,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzG,IAAI,iBAAiB,GAAC,CAAC,CAAC;QAAA,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAC,CAAC,KAAY,EAAC,EAAE,GAAC,KAAI,MAAM,IAAI,IAAI,KAAK,EAAC,CAAC;YAAA,IAAG,IAAI,KAAG,EAAE;gBAAC,iBAAiB,GAAC,CAAC,CAAC;iBAAK,IAAG,EAAE,iBAAiB,GAAC,SAAS,IAAE,CAAC,aAAa,EAAC,CAAC;gBAAA,aAAa,GAAC,oCAAoC,CAAC;gBAAA,KAAK,SAAS,EAAE,CAAC;gBAAA,MAAM;YAAA,CAAC;QAAA,CAAC,CAAA,CAAC,CAAC,CAAC;QACjQ,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAO,EAAE,CAAC,CAAC;QACxD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAG,aAAa;gBAAC,OAAO;YACxB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC;gBAClD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;oBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;qBACrD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACtC,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAChD,IAAI,OAAO,EAAE,CAAC;wBAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAAC,IAAI,OAAO,CAAC,QAAQ;4BAAE,OAAO,CAAC,OAAO,EAAE,CAAC;;4BAAM,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC;oBAAC,CAAC;gBAC/M,CAAC;qBACI,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACxC,KAAK,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;yBAC1H,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAA0B,CAAC,IAAI,CAAC,CAAC;yBACrI,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClM,CAAC;;oBAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,aAAa,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,KAAK,SAAS,EAAE,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjJ,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACnC,iBAAiB,EAAE,CAAC;YACpB,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;gBAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC,CAAC;YAAC,CAAC;YACtK,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,aAAa;gBAAE,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,0BAA0B,aAAa,EAAE,EAAE,CAAC,CAAC;iBACjG,IAAI,aAAa;gBAAE,MAAM,CAAC,aAAa,CAAC,CAAC;iBACzC,IAAI,QAAQ;gBAAE,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,yDAAyD,EAAE,CAAC,CAAC;;gBACjH,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,mCAAmC,IAAI,IAAI,MAAM,IAAI,SAAS,GAAG,EAAE,CAAC,CAAC;QACnI,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;YAC3B,IAAI,KAAK,CAAC,GAAG;gBAAE,MAAM,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC;QACnF,CAAC,CAAC;QACF,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;YACtB,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,KAAK,CAAC,KAAK,IAAI,EAAE;oBACf,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC;wBAC7D,MAAM,YAAY,GAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;wBACtV,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAA0B,CAAC,IAAI,CAAC,CAAC;wBAC5G,iBAAiB,EAAE,CAAC;wBACpB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS;4BAAE,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACvH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,aAAa,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACvE,iBAAiB,EAAE,CAAC;wBACpB,MAAM,SAAS,EAAE,CAAC;oBACpB,CAAC;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,CAAC;YACD,MAAM;YACN,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;oBAC7D,IAAI,CAAC,OAAO;wBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBAC3E,MAAM,UAAU,CAAC;oBACjB,IAAI,OAAO,IAAI,aAAa,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ;wBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBACrH,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;oBAC/B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC,CAAC;wBACvL,KAAK,CAAC,KAAK,EAAE,CAAC;wBACd,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;wBACpD,KAAK,CAAC,KAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAA0B,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,EAAE,CAAC;4BAAC,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BAAC,IAAI,OAAO;gCAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjQ,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACT,SAAS;SACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAW,IAAmB,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;CACjH;AAMD,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAc;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC,EAAE,GAAG,CAAC,CAAC;IACR,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,KAAK,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAkB,CAAC;IACvD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2E,CAAC;IACnG,MAAM,cAAc,GAA2C,EAAE,CAAC;IAClE,IAAI,aAAyD,CAAC;IAC9D,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,OAAe,EAAQ,EAAE;QACzD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC;YAAC,QAAQ,GAAG,aAAa,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAA0B,CAAC,IAAI,CAAC,CAAC;IAC3G,CAAC,CAAC;IACF,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC;YAClD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,IAAI,aAAa;oBAAE,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;;oBAAM,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAChG,SAAS;YACX,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc;gBAAE,SAAS;YAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,OAAO,CAAC,KAAK;gBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;;gBAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,GAAG,GAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzE,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAmB,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,aAAa,GAAG,QAAQ,CAAC,CAAC,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrL,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IACxE,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,aAAa,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,KAAmB,EAAE,OAAe;IACrE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI;QAAE,OAAO;IAC/E,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAChC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3G,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACzD,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAChC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,OAAe;IACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO;IAC1B,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;QAAE,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY;QAAE,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,6BAA6B,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,MAAsB;IACpD,IAAI,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACnF,CAAC;AACD,SAAS,OAAO,CAAC,GAAW,IAAa,IAAI,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAAC,OAAO,IAAI,CAAC;AAAC,CAAC;AAAC,MAAM,CAAC;IAAC,OAAO,KAAK,CAAC;AAAC,CAAC,CAAC,CAAC;AAC7G,SAAS,KAAK,CAAC,EAAU,IAAmB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACvG,SAAS,gBAAgB,CAAC,WAAmC,EAAE,EAAE,YAAsB,EAAE;IACvF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IACrF,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7F,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;AACjC,CAAC"}
@@ -9,7 +9,7 @@ export declare function bashTimeoutMs(requested: number | undefined, env?: NodeJ
9
9
  export declare function runBashCommand(root: string, input: {
10
10
  command: string;
11
11
  timeoutMs?: number;
12
- }, signal?: AbortSignal): Promise<{
12
+ }, signal?: AbortSignal, protectedPaths?: string[]): Promise<{
13
13
  content: Array<{
14
14
  type: "text";
15
15
  text: string;
@@ -17,11 +17,15 @@ export declare function runBashCommand(root: string, input: {
17
17
  details: unknown;
18
18
  isError?: boolean;
19
19
  }>;
20
- export declare function validateNextWakeAt(value: string | undefined, wakeStartedAt: string | null): string | null;
21
20
  export interface ContextPolicy {
22
21
  compactAtTokens: number;
23
22
  retainAfterCompactTokens: number;
24
23
  }
25
24
  export declare function resolveContextPolicy(contextWindowTokens: number, env: NodeJS.ProcessEnv): ContextPolicy;
26
25
  export declare function compactMessagesToTokenBudget(messages: AgentMessage[], retainTokens: number): AgentMessage[];
26
+ export declare function scopedRunnerPath(root: string, path: string, protectedPaths?: string[]): string;
27
+ export declare function linuxSandboxArgs(command: string, root: string, protectedPaths: string[], sandboxTemp: string | null): string[];
28
+ export declare function sandboxWorkspacePaths(root: string, protectedPaths: string[]): string[];
29
+ /** User-visible assistant prose only; reasoning and tool blocks stay structured in the ledger. */
30
+ export declare function assistantResponseText(message: AgentMessage): string;
27
31
  //# sourceMappingURL=pi-worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pi-worker.d.ts","sourceRoot":"","sources":["../src/pi-worker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,YAAY,EAAkB,MAAM,+BAA+B,CAAC;AAEzF,OAAO,EAAgD,KAAK,SAAS,EAA2D,MAAM,sBAAsB,CAAC;AAK7J,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,SAAS,SAAI,GAAG,YAAY,EAAE,CASvF;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAgIjD;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAK/D;AAiFD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAIzG;AAED,iIAAiI;AACjI,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA2BzN;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAMzG;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,oBAAoB,CAAC,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,aAAa,CAMvG;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,YAAY,EAAE,CAqB3G"}
1
+ {"version":3,"file":"pi-worker.d.ts","sourceRoot":"","sources":["../src/pi-worker.ts"],"names":[],"mappings":"AAMA,OAAO,EAAS,KAAK,YAAY,EAAkB,MAAM,+BAA+B,CAAC;AAEzF,OAAO,EAAoG,KAAK,SAAS,EAAuE,MAAM,sBAAsB,CAAC;AAK7N,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,SAAS,SAAI,GAAG,YAAY,EAAE,CASvF;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAuJjD;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAK/D;AAwED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAIzG;AAED,iIAAiI;AACjI,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAsCxP;AAGD,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,oBAAoB,CAAC,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,aAAa,CAMvG;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,YAAY,EAAE,CAqB3G;AAkCD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,GAAE,MAAM,EAAO,GAAG,MAAM,CAMlG;AAsBD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAS9H;AAUD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAKtF;AA0CD,kGAAkG;AAClG,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAQnE"}