@goah/cli 0.9.1 → 0.10.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 (63) hide show
  1. package/dist/cli.js +251 -18
  2. package/dist/cli.js.map +1 -1
  3. package/dist/control.d.ts +10 -3
  4. package/dist/control.d.ts.map +1 -1
  5. package/dist/control.js +24 -9
  6. package/dist/control.js.map +1 -1
  7. package/dist/index.d.ts +9 -9
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +63 -62
  10. package/dist/index.js.map +1 -1
  11. package/dist/live-config.d.ts +4 -6
  12. package/dist/live-config.d.ts.map +1 -1
  13. package/dist/live-config.js +22 -11
  14. package/dist/live-config.js.map +1 -1
  15. package/dist/runner-registry.d.ts +8 -0
  16. package/dist/runner-registry.d.ts.map +1 -0
  17. package/dist/runner-registry.js +12 -0
  18. package/dist/runner-registry.js.map +1 -0
  19. package/dist/setup-wizard.d.ts +4 -7
  20. package/dist/setup-wizard.d.ts.map +1 -1
  21. package/dist/setup-wizard.js +82 -127
  22. package/dist/setup-wizard.js.map +1 -1
  23. package/dist/tui.d.ts +8 -0
  24. package/dist/tui.d.ts.map +1 -1
  25. package/dist/tui.js +121 -21
  26. package/dist/tui.js.map +1 -1
  27. package/dist/welcome.d.ts +9 -3
  28. package/dist/welcome.d.ts.map +1 -1
  29. package/dist/welcome.js +40 -5
  30. package/dist/welcome.js.map +1 -1
  31. package/node_modules/goah-ledger-contract/dist/execution.d.ts +53 -0
  32. package/node_modules/goah-ledger-contract/dist/execution.d.ts.map +1 -1
  33. package/node_modules/goah-ledger-contract/dist/execution.js.map +1 -1
  34. package/node_modules/goah-runner-pi/dist/configurator.d.ts +19 -0
  35. package/node_modules/goah-runner-pi/dist/configurator.d.ts.map +1 -0
  36. package/node_modules/goah-runner-pi/dist/configurator.js +219 -0
  37. package/node_modules/goah-runner-pi/dist/configurator.js.map +1 -0
  38. package/node_modules/goah-runner-pi/dist/credential-store.d.ts +12 -0
  39. package/node_modules/goah-runner-pi/dist/credential-store.d.ts.map +1 -0
  40. package/node_modules/goah-runner-pi/dist/credential-store.js +69 -0
  41. package/node_modules/goah-runner-pi/dist/credential-store.js.map +1 -0
  42. package/node_modules/goah-runner-pi/dist/env-spec.d.ts +1 -0
  43. package/node_modules/goah-runner-pi/dist/env-spec.d.ts.map +1 -1
  44. package/node_modules/goah-runner-pi/dist/env-spec.js +8 -0
  45. package/node_modules/goah-runner-pi/dist/env-spec.js.map +1 -1
  46. package/node_modules/goah-runner-pi/dist/index.d.ts +8 -2
  47. package/node_modules/goah-runner-pi/dist/index.d.ts.map +1 -1
  48. package/node_modules/goah-runner-pi/dist/index.js +16 -8
  49. package/node_modules/goah-runner-pi/dist/index.js.map +1 -1
  50. package/node_modules/goah-runner-pi/dist/model-provider.d.ts +26 -9
  51. package/node_modules/goah-runner-pi/dist/model-provider.d.ts.map +1 -1
  52. package/node_modules/goah-runner-pi/dist/model-provider.js +84 -91
  53. package/node_modules/goah-runner-pi/dist/model-provider.js.map +1 -1
  54. package/node_modules/goah-runner-pi/dist/pi-worker.d.ts.map +1 -1
  55. package/node_modules/goah-runner-pi/dist/pi-worker.js +16 -7
  56. package/node_modules/goah-runner-pi/dist/pi-worker.js.map +1 -1
  57. package/node_modules/goah-runner-pi/dist/verification-worker.js +2 -2
  58. package/node_modules/goah-runner-pi/dist/verification-worker.js.map +1 -1
  59. package/node_modules/goah-supervisor/dist/index.d.ts +14 -2
  60. package/node_modules/goah-supervisor/dist/index.d.ts.map +1 -1
  61. package/node_modules/goah-supervisor/dist/index.js +60 -2
  62. package/node_modules/goah-supervisor/dist/index.js.map +1 -1
  63. package/package.json +1 -1
@@ -6,7 +6,7 @@ import { Agent } from "@earendil-works/pi-agent-core";
6
6
  import { fauxAssistantMessage, fauxToolCall, Type } from "@earendil-works/pi-ai";
7
7
  import { SESSION_FORMAT_VERSION } from "goah-ledger-contract";
8
8
  import { runProcessWorker } from "./index.js";
9
- import { createPiModel, providerApiKey } from "./model-provider.js";
9
+ import { createPiModel } from "./model-provider.js";
10
10
  export function compactMessages(messages, maxRecent = 8) {
11
11
  if (messages.length <= maxRecent + 1)
12
12
  return messages;
@@ -20,12 +20,17 @@ export function compactMessages(messages, maxRecent = 8) {
20
20
  }
21
21
  export async function runPiWorker() {
22
22
  await runProcessWorker(async (request, emit, rpc) => {
23
- const provider = process.env.GOAH_PI_PROVIDER ?? "anthropic";
24
- const modelId = process.env.GOAH_PI_MODEL;
23
+ const contextRecord = typeof request.context === "object" && request.context !== null && !Array.isArray(request.context) ? request.context : {};
24
+ const profile = contextRecord.runnerProfile && typeof contextRecord.runnerProfile === "object" && !Array.isArray(contextRecord.runnerProfile) ? contextRecord.runnerProfile : {};
25
+ const runnerConfig = profile.config && typeof profile.config === "object" && !Array.isArray(profile.config) ? profile.config : {};
26
+ const provider = typeof runnerConfig.provider === "string" ? runnerConfig.provider : process.env.GOAH_PI_PROVIDER ?? "anthropic";
27
+ const modelId = typeof runnerConfig.model === "string" ? runnerConfig.model : process.env.GOAH_PI_MODEL;
25
28
  if (!modelId)
26
29
  throw new Error("GOAH_PI_MODEL is required");
27
30
  const configured = createPiModel(provider, modelId);
28
- const { models, model } = configured;
31
+ const { models } = configured;
32
+ const privateAuth = request.runtime && typeof request.runtime === "object" && !Array.isArray(request.runtime) ? request.runtime : {};
33
+ const model = typeof privateAuth.baseUrl === "string" ? { ...configured.model, baseUrl: privateAuth.baseUrl } : configured.model;
29
34
  if (provider === "faux") {
30
35
  const faux = configured.faux;
31
36
  const handoff = JSON.parse(process.env.GOAH_PI_FAUX_HANDOFF ?? "{}");
@@ -47,7 +52,6 @@ export async function runPiWorker() {
47
52
  return id;
48
53
  };
49
54
  const root = resolve(process.cwd());
50
- const contextRecord = typeof request.context === "object" && request.context !== null && !Array.isArray(request.context) ? request.context : {};
51
55
  const capabilities = Array.isArray(contextRecord.capabilities)
52
56
  ? new Set(contextRecord.capabilities.filter((value) => typeof value === "string"))
53
57
  : undefined;
@@ -62,6 +66,7 @@ export async function runPiWorker() {
62
66
  initialState: {
63
67
  systemPrompt,
64
68
  model,
69
+ thinkingLevel: typeof runnerConfig.thinking === "string" ? runnerConfig.thinking : "off",
65
70
  tools,
66
71
  },
67
72
  streamFn: async (requestModel, context, options) => {
@@ -78,9 +83,13 @@ export async function runPiWorker() {
78
83
  sourceSeqs,
79
84
  },
80
85
  });
81
- return models.streamSimple(requestModel, context, { ...options, ...(process.env.GOAH_PI_CACHE_RETENTION === "none" ? { cacheRetention: "none" } : {}) });
86
+ const runtimeProvider = models.getProvider(requestModel.provider);
87
+ if (!runtimeProvider)
88
+ throw new Error(`Provider not found: ${requestModel.provider}`);
89
+ const runtimeModel = typeof privateAuth.baseUrl === "string" ? { ...requestModel, baseUrl: privateAuth.baseUrl } : requestModel;
90
+ return runtimeProvider.streamSimple(runtimeModel, context, { ...options, ...(typeof privateAuth.apiKey === "string" ? { apiKey: privateAuth.apiKey } : {}), ...(privateAuth.headers && typeof privateAuth.headers === "object" && !Array.isArray(privateAuth.headers) ? { headers: privateAuth.headers } : {}), ...(process.env.GOAH_PI_CACHE_RETENTION === "none" ? { cacheRetention: "none" } : {}) });
82
91
  },
83
- getApiKey: (id) => providerApiKey(id),
92
+ getApiKey: () => typeof privateAuth.apiKey === "string" ? privateAuth.apiKey : undefined,
84
93
  transformContext: async (messages) => {
85
94
  let view = messages;
86
95
  if (estimateMessages(messages) >= contextPolicy.compactAtTokens) {
@@ -1 +1 @@
1
- {"version":3,"file":"pi-worker.js","sourceRoot":"","sources":["../src/pi-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi-worker.js","sourceRoot":"","sources":["../src/pi-worker.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { fileURLToPath } from "node:url";
3
3
  import { resolve } from "node:path";
4
4
  import { Agent } from "@earendil-works/pi-agent-core";
5
5
  import { fauxAssistantMessage, fauxToolCall, Type } from "@earendil-works/pi-ai";
6
- import { createPiModel, providerApiKey } from "./model-provider.js";
6
+ import { createPiModel, resolvedApiKey } from "./model-provider.js";
7
7
  export async function runVerificationWorker() {
8
8
  const lines = createInterface({ input: process.stdin });
9
9
  for await (const line of lines) {
@@ -31,7 +31,7 @@ export async function runVerificationWorker() {
31
31
  : request.operation === "reason_audit"
32
32
  ? "Compare already-audited facts against revealed action reasons. Identify unsupported claims or omitted counterevidence."
33
33
  : "Verify the handoff against trace facts and action evidence. Never trust self-report without support.";
34
- const agent = new Agent({ initialState: { systemPrompt: `${systemPrompt} You must call report_findings exactly once.`, model, tools: [tool] }, streamFn: models.streamSimple.bind(models), getApiKey: providerApiKey, shouldStopAfterTurn: () => result !== null });
34
+ const agent = new Agent({ initialState: { systemPrompt: `${systemPrompt} You must call report_findings exactly once.`, model, tools: [tool] }, streamFn: models.streamSimple.bind(models), getApiKey: (id) => resolvedApiKey(models, id), shouldStopAfterTurn: () => result !== null });
35
35
  agent.subscribe((event) => { if (event.type === "message_end" && event.message.role === "assistant")
36
36
  tokensUsed += event.message.usage.totalTokens; });
37
37
  await agent.prompt(JSON.stringify(request.input));
@@ -1 +1 @@
1
- {"version":3,"file":"verification-worker.js","sourceRoot":"","sources":["../src/verification-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-worker.js","sourceRoot":"","sources":["../src/verification-worker.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,15 @@
1
- import { type ActionSnapshot, type AgentProfile, type AuditAdvice, type Clock, type ConnectorProcessSpec, type DelegationRequest, type DelegationResult, type GoalSnapshot, type GoalCompletionRequest, type GoalPhase, type JsonValue, type Ledger, type MailSnapshot, type MetricEvaluation, type MetricContract, type MetricProcessSpec, type MetricSample, type ReassignmentRequest, type ReassignmentResult, type Runner, type TeamMemberView, type WakeSnapshot } from "goah-ledger-contract";
1
+ import { type ActionSnapshot, type AgentProfile, type AuditAdvice, type Clock, type ConnectorProcessSpec, type DelegationRequest, type DelegationResult, type GoalSnapshot, type GoalCompletionRequest, type GoalPhase, type JsonValue, type Ledger, type MailSnapshot, type MetricEvaluation, type MetricContract, type MetricProcessSpec, type MetricSample, type ReassignmentRequest, type ReassignmentResult, type Runner, type RunnerHandle, type RunnerProfile, type TeamMemberView, type WakeSnapshot } from "goah-ledger-contract";
2
2
  export { composeActiveContext, selectRecoveryEvents, type ActiveContextInput, type ActiveContextView } from "./context-view.js";
3
+ /** Dispatches each wake to the runner selected by its opaque Runner Profile. */
4
+ export declare class RunnerRouter implements Runner {
5
+ #private;
6
+ readonly runners: ReadonlyMap<string, Runner>;
7
+ readonly fallback: string;
8
+ readonly isolation: "process";
9
+ constructor(runners: ReadonlyMap<string, Runner>, fallback?: string);
10
+ prepare(request: Parameters<Runner["prepare"]>[0]): RunnerHandle;
11
+ terminateProcess(pid: number): Promise<void>;
12
+ }
3
13
  export interface SupervisorOptions {
4
14
  leaseMs?: number;
5
15
  memoryTailChars?: number;
@@ -15,6 +25,7 @@ export interface SupervisorOptions {
15
25
  baseDelayMs: number;
16
26
  };
17
27
  profiles?: AgentProfile[];
28
+ runnerProfiles?: RunnerProfile[];
18
29
  verifyMetricsAfterWake?: boolean;
19
30
  }
20
31
  export declare class Supervisor {
@@ -31,7 +42,7 @@ export declare class Supervisor {
31
42
  * The next tick claims wakes through the new runner, and spawn-time env
32
43
  * resolution applies the new credentials to the next spawn.
33
44
  */
34
- swapRunner(runner: Runner): void;
45
+ swapRunner(runner: Runner, profiles?: RunnerProfile[]): void;
35
46
  get runner(): Runner;
36
47
  createGoal(goal: GoalSnapshot, actor?: string): void;
37
48
  startGoal(objective: string, id?: string): {
@@ -51,6 +62,7 @@ export declare class Supervisor {
51
62
  completeGoal(request: GoalCompletionRequest, actor?: string, wakeId?: string): GoalSnapshot;
52
63
  transitionGoal(id: string, phase: GoalPhase, actor?: string): GoalSnapshot;
53
64
  planWake(agent: string, at: string, reason: string, setBy?: string): WakeSnapshot | null;
65
+ stopAgentWake(agent: string): Promise<WakeSnapshot | null>;
54
66
  recover(): Promise<void>;
55
67
  tick(): Promise<WakeSnapshot | null>;
56
68
  runAvailable(concurrency?: number, maxWakes?: number): Promise<WakeSnapshot[]>;
@@ -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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"}
@@ -4,6 +4,37 @@ import { capabilityFor, controlStream, evaluateMetric, goalStream, interruptedSe
4
4
  import { composeActiveContext, selectRecoveryEvents, selectWorkingMemory } from "./context-view.js";
5
5
  import { defaultRolePrompt } from "./roles.js";
6
6
  export { composeActiveContext, selectRecoveryEvents } from "./context-view.js";
7
+ /** Dispatches each wake to the runner selected by its opaque Runner Profile. */
8
+ export class RunnerRouter {
9
+ runners;
10
+ fallback;
11
+ isolation = "process";
12
+ #byPid = new Map();
13
+ constructor(runners, fallback = "default") {
14
+ this.runners = runners;
15
+ this.fallback = fallback;
16
+ }
17
+ prepare(request) {
18
+ const context = request.context && typeof request.context === "object" && !Array.isArray(request.context) ? request.context : {};
19
+ const profile = context.runnerProfile && typeof context.runnerProfile === "object" && !Array.isArray(context.runnerProfile) ? context.runnerProfile : {};
20
+ const id = typeof profile.id === "string" ? profile.id : this.fallback;
21
+ const runner = this.runners.get(id);
22
+ if (!runner)
23
+ throw new Error(`runner profile is not configured: ${id}`);
24
+ const handle = runner.prepare(request);
25
+ if (handle.pid)
26
+ this.#byPid.set(handle.pid, runner);
27
+ void handle.result.finally(() => { if (handle.pid)
28
+ this.#byPid.delete(handle.pid); });
29
+ return handle;
30
+ }
31
+ async terminateProcess(pid) {
32
+ const runner = this.#byPid.get(pid);
33
+ if (!runner)
34
+ return;
35
+ await runner.terminateProcess(pid);
36
+ }
37
+ }
7
38
  export class Supervisor {
8
39
  ledger;
9
40
  clock;
@@ -19,6 +50,8 @@ export class Supervisor {
19
50
  #silence;
20
51
  #retryPolicy;
21
52
  #profiles;
53
+ #runnerProfiles;
54
+ #handles = new Map();
22
55
  #verifyMetricsAfterWake;
23
56
  #runner;
24
57
  constructor(ledger, runner, clock, options = {}) {
@@ -33,6 +66,7 @@ export class Supervisor {
33
66
  this.#silence = options.silence === null ? null : { maxSilentMs: options.silence?.maxSilentMs ?? 12 * 3_600_000, notify: options.silence?.notify ?? "ceo" };
34
67
  this.#retryPolicy = options.retryPolicy ?? { maxAttempts: 0, baseDelayMs: 1_000 };
35
68
  this.#profiles = new Map([["ceo", { agent: "ceo", role: "ceo" }], ...(options.profiles ?? []).map((profile) => [profile.agent, profile])]);
69
+ this.#runnerProfiles = new Map((options.runnerProfiles ?? []).map((profile) => [profile.id, profile]));
36
70
  this.#verifyMetricsAfterWake = options.verifyMetricsAfterWake ?? false;
37
71
  }
38
72
  registerConnector(connector) { this.#connectors.set(connector.manifest.connector, connector); }
@@ -47,11 +81,16 @@ export class Supervisor {
47
81
  * The next tick claims wakes through the new runner, and spawn-time env
48
82
  * resolution applies the new credentials to the next spawn.
49
83
  */
50
- swapRunner(runner) {
84
+ swapRunner(runner, profiles) {
51
85
  const active = this.ledger.wakes().filter((wake) => wake.status === "leased" || wake.status === "running");
52
86
  if (active.length > 0)
53
87
  throw new Error("cannot swap runner while a wake is leased or running");
54
88
  this.#runner = runner;
89
+ if (profiles) {
90
+ this.#runnerProfiles.clear();
91
+ for (const profile of profiles)
92
+ this.#runnerProfiles.set(profile.id, profile);
93
+ }
55
94
  }
56
95
  get runner() { return this.#runner; }
57
96
  createGoal(goal, actor = "human") { this.ledger.putGoal(goal, actor); }
@@ -139,6 +178,21 @@ export class Supervisor {
139
178
  this.ledger.putSchedule(schedule, setBy);
140
179
  return at <= this.#now() ? this.#enqueueSchedule(schedule) : null;
141
180
  }
181
+ async stopAgentWake(agent) {
182
+ const wake = this.ledger.wakes().find((item) => item.agent === agent && ["running", "leased", "queued"].includes(item.status));
183
+ if (!wake)
184
+ return null;
185
+ if (wake.status === "queued") {
186
+ this.#suppressQueuedWake(agent, "stopped by human");
187
+ return this.#wake(wake.id);
188
+ }
189
+ const handle = this.#handles.get(wake.id);
190
+ if (handle)
191
+ await handle.terminate();
192
+ else if (wake.runnerPid)
193
+ await this.runner.terminateProcess(wake.runnerPid);
194
+ return this.#wake(wake.id);
195
+ }
142
196
  async recover() {
143
197
  this.ledger.recoverDispatchingActions();
144
198
  for (const expired of this.ledger.expiredWakes(this.#now())) {
@@ -166,6 +220,7 @@ export class Supervisor {
166
220
  emit: (trace) => this.ledger.appendRunnerEvent({ streamId: wakeStream(running.id), ts: this.#now(), actor: running.agent, type: trace.type, data: trace.data }, leaseToken),
167
221
  rpc: (method, params) => this.#agentRpc(running, leaseToken, method, params),
168
222
  });
223
+ this.#handles.set(running.id, handle);
169
224
  if (handle.pid)
170
225
  running = this.ledger.attachWakeProcess(running.id, leaseToken, handle.pid, this.#now());
171
226
  renewal = setInterval(() => {
@@ -183,6 +238,7 @@ export class Supervisor {
183
238
  clearInterval(renewal);
184
239
  renewal = undefined;
185
240
  await handle.terminate();
241
+ this.#handles.delete(running.id);
186
242
  if (result.outcome === "abnormal") {
187
243
  await this.#markAbnormal(running, result.reason);
188
244
  return this.#wake(running.id);
@@ -209,6 +265,7 @@ export class Supervisor {
209
265
  clearInterval(renewal);
210
266
  if (handle)
211
267
  await handle.terminate();
268
+ this.#handles.delete(running.id);
212
269
  await this.#markAbnormal(running, error instanceof Error ? error.message : String(error));
213
270
  return this.#wake(running.id);
214
271
  }
@@ -423,7 +480,8 @@ export class Supervisor {
423
480
  const actions = this.ledger.actions().filter((action) => action.agent === wake.agent && (action.status === "unknown" || Boolean(action.auditAdvice && !action.adviceAcked)));
424
481
  const revisionWarnings = goals.flatMap((goal) => this.#goalRevisionWarning(goal));
425
482
  const workingMemory = selectWorkingMemory(this.ledger.readStream(memoryStream(wake.agent)), this.#memoryTailChars);
426
- return composeActiveContext({ role, capabilities, systemPrompt: profile.systemPrompt ?? defaultRolePrompt(role), wake, goals, mail, actions, lastHandoff: handoff, teamHandoffs, team: role === "ceo" ? this.teamList() : [], revisionWarnings, recoveryEvents, workingMemory });
483
+ const runnerProfile = this.#runnerProfiles.get(profile.runnerProfile ?? "default");
484
+ return { ...composeActiveContext({ role, capabilities, systemPrompt: profile.systemPrompt ?? defaultRolePrompt(role), wake, goals, mail, actions, lastHandoff: handoff, teamHandoffs, team: role === "ceo" ? this.teamList() : [], revisionWarnings, recoveryEvents, workingMemory }), ...(runnerProfile ? { runnerProfile } : {}) };
427
485
  }
428
486
  #requiredConnector(name) { const value = this.#connectors.get(name); if (!value)
429
487
  throw new Error(`connector not registered: ${name}`); return value; }