@goah/cli 0.11.5 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/LICENSE +201 -0
- package/dist/THIRD-PARTY-NOTICES.md +2319 -0
- package/dist/anthropic-messages-WBFOHES5.js +7214 -0
- package/dist/azure-openai-responses-NZFH3PO6.js +253 -0
- package/dist/chunk-25XSBFX6.js +639 -0
- package/dist/chunk-2QBQZGXF.js +110 -0
- package/dist/chunk-2ZP2NBW3.js +345 -0
- package/dist/chunk-4KA63VNZ.js +2 -0
- package/dist/chunk-4M6TXTT5.js +86 -0
- package/dist/chunk-4US7ZHT3.js +20 -0
- package/dist/chunk-6M3OOCKO.js +11809 -0
- package/dist/chunk-7AXAFDPG.js +17 -0
- package/dist/chunk-BXA47DTF.js +548 -0
- package/dist/chunk-FSBUS2BI.js +26 -0
- package/dist/chunk-GKDRAHLI.js +4787 -0
- package/dist/chunk-H462EFJP.js +89 -0
- package/dist/chunk-IIJQ3DW4.js +35 -0
- package/dist/chunk-JQD5EWJY.js +34 -0
- package/dist/chunk-K26BVR6O.js +61 -0
- package/dist/chunk-KAO7WIXG.js +31 -0
- package/dist/chunk-LBKI23CC.js +9810 -0
- package/dist/chunk-LKBKZEHT.js +41 -0
- package/dist/chunk-MD7TLTXZ.js +18 -0
- package/dist/chunk-MPXK7QBL.js +868 -0
- package/dist/chunk-NRLGWZJC.js +11 -0
- package/dist/chunk-PFEV3HWI.js +1178 -0
- package/dist/chunk-QBD6EJ2Z.js +1746 -0
- package/dist/chunk-R6I3VKME.js +132 -0
- package/dist/chunk-TJON22J4.js +87 -0
- package/dist/chunk-ULY36ME4.js +33097 -0
- package/dist/chunk-VWEV4LTH.js +25 -0
- package/dist/chunk-X7UWW2PN.js +883 -0
- package/dist/chunk-XALZLRYK.js +9221 -0
- package/dist/chunk-XPQKM3L7.js +57 -0
- package/dist/chunk-YH6YJ2IB.js +1773 -0
- package/dist/cli.d.ts +0 -2
- package/dist/cli.js +13148 -506
- package/dist/console/assets/index-3sYrDMmt.css +1 -0
- package/dist/console/assets/index-B1vGMXKr.js +52 -0
- package/dist/console/assets/index-B1vGMXKr.js.map +1 -0
- package/dist/console/index.html +2 -2
- package/dist/dist-65MDQA4Q.js +1126 -0
- package/dist/dist-KNR2XL6J.js +39 -0
- package/dist/execution.d.ts +557 -2
- package/dist/execution.js +37 -2
- package/dist/faux-runner-worker.js +128 -0
- package/dist/google-generative-ai-YMHXZSFE.js +422 -0
- package/dist/google-vertex-X6DB3ZQ6.js +471 -0
- package/dist/index.d.ts +855 -44
- package/dist/index.js +84 -257
- package/dist/kernel.d.ts +39 -2
- package/dist/kernel.js +21 -2
- package/dist/mistral-conversations-TY3MMD6G.js +718 -0
- package/dist/multipart-parser-F6M4NJZU.js +373 -0
- package/dist/openai-codex-responses-BRDUMLN5.js +1374 -0
- package/dist/openai-completions-CX634XN3.js +1139 -0
- package/dist/openai-responses-HMCXJIHT.js +300 -0
- package/dist/openrouter-images-KTWET2H2.js +148 -0
- package/dist/pi-messages-XL5OEC4K.js +307 -0
- package/dist/pi-worker.js +671 -0
- package/dist/runner-pi.d.ts +342 -2
- package/dist/runner-pi.js +46 -2
- package/dist/runner-registry-M776E3SE.js +22 -0
- package/dist/sqlite.d.ts +446 -2
- package/dist/sqlite.js +15 -2
- package/dist/src-F2KBSV4T.js +1398 -0
- package/dist/supervisor.d.ts +625 -2
- package/dist/supervisor.js +39 -2
- package/dist/testkit.d.ts +564 -2
- package/dist/testkit.js +127 -2
- package/dist/transcript.d.ts +84 -0
- package/dist/transcript.js +25 -0
- package/dist/verification-worker.js +72 -0
- package/package.json +3 -28
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/console/assets/index-BJTGvlCH.js +0 -52
- package/dist/console/assets/index-BJTGvlCH.js.map +0 -1
- package/dist/console/assets/index-msBn41Cl.css +0 -1
- package/dist/control.d.ts +0 -106
- package/dist/control.d.ts.map +0 -1
- package/dist/control.js +0 -215
- package/dist/control.js.map +0 -1
- package/dist/execution.d.ts.map +0 -1
- package/dist/execution.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/inspect.d.ts +0 -61
- package/dist/inspect.d.ts.map +0 -1
- package/dist/inspect.js +0 -110
- package/dist/inspect.js.map +0 -1
- package/dist/kernel.d.ts.map +0 -1
- package/dist/kernel.js.map +0 -1
- package/dist/live-config.d.ts +0 -10
- package/dist/live-config.d.ts.map +0 -1
- package/dist/live-config.js +0 -44
- package/dist/live-config.js.map +0 -1
- package/dist/metrics.d.ts +0 -2
- package/dist/metrics.d.ts.map +0 -1
- package/dist/metrics.js +0 -2
- package/dist/metrics.js.map +0 -1
- package/dist/prompt-queue.d.ts +0 -13
- package/dist/prompt-queue.d.ts.map +0 -1
- package/dist/prompt-queue.js +0 -30
- package/dist/prompt-queue.js.map +0 -1
- package/dist/runner-pi.d.ts.map +0 -1
- package/dist/runner-pi.js.map +0 -1
- package/dist/runner-registry.d.ts +0 -8
- package/dist/runner-registry.d.ts.map +0 -1
- package/dist/runner-registry.js +0 -12
- package/dist/runner-registry.js.map +0 -1
- package/dist/searchable-select.d.ts +0 -24
- package/dist/searchable-select.d.ts.map +0 -1
- package/dist/searchable-select.js +0 -61
- package/dist/searchable-select.js.map +0 -1
- package/dist/secret-input.d.ts +0 -8
- package/dist/secret-input.d.ts.map +0 -1
- package/dist/secret-input.js +0 -14
- package/dist/secret-input.js.map +0 -1
- package/dist/session.d.ts +0 -2
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -2
- package/dist/session.js.map +0 -1
- package/dist/setup-wizard.d.ts +0 -11
- package/dist/setup-wizard.d.ts.map +0 -1
- package/dist/setup-wizard.js +0 -130
- package/dist/setup-wizard.js.map +0 -1
- package/dist/sqlite.d.ts.map +0 -1
- package/dist/sqlite.js.map +0 -1
- package/dist/supervisor.d.ts.map +0 -1
- package/dist/supervisor.js.map +0 -1
- package/dist/testkit.d.ts.map +0 -1
- package/dist/testkit.js.map +0 -1
- package/dist/tui-theme.d.ts +0 -16
- package/dist/tui-theme.d.ts.map +0 -1
- package/dist/tui-theme.js +0 -18
- package/dist/tui-theme.js.map +0 -1
- package/dist/tui.d.ts +0 -18
- package/dist/tui.d.ts.map +0 -1
- package/dist/tui.js +0 -583
- package/dist/tui.js.map +0 -1
- package/dist/update.d.ts +0 -15
- package/dist/update.d.ts.map +0 -1
- package/dist/update.js +0 -59
- package/dist/update.js.map +0 -1
- package/dist/web-console.d.ts +0 -33
- package/dist/web-console.d.ts.map +0 -1
- package/dist/web-console.js +0 -252
- package/dist/web-console.js.map +0 -1
- package/dist/welcome.d.ts +0 -30
- package/dist/welcome.d.ts.map +0 -1
- package/dist/welcome.js +0 -81
- package/dist/welcome.js.map +0 -1
- package/node_modules/goah-ledger-contract/dist/execution.d.ts +0 -402
- package/node_modules/goah-ledger-contract/dist/execution.d.ts.map +0 -1
- package/node_modules/goah-ledger-contract/dist/execution.js +0 -40
- package/node_modules/goah-ledger-contract/dist/execution.js.map +0 -1
- package/node_modules/goah-ledger-contract/dist/index.d.ts +0 -5
- package/node_modules/goah-ledger-contract/dist/index.d.ts.map +0 -1
- package/node_modules/goah-ledger-contract/dist/index.js +0 -5
- package/node_modules/goah-ledger-contract/dist/index.js.map +0 -1
- package/node_modules/goah-ledger-contract/dist/kernel.d.ts +0 -37
- package/node_modules/goah-ledger-contract/dist/kernel.d.ts.map +0 -1
- package/node_modules/goah-ledger-contract/dist/kernel.js +0 -8
- package/node_modules/goah-ledger-contract/dist/kernel.js.map +0 -1
- package/node_modules/goah-ledger-contract/dist/metrics.d.ts +0 -40
- package/node_modules/goah-ledger-contract/dist/metrics.d.ts.map +0 -1
- package/node_modules/goah-ledger-contract/dist/metrics.js +0 -25
- package/node_modules/goah-ledger-contract/dist/metrics.js.map +0 -1
- package/node_modules/goah-ledger-contract/dist/session.d.ts +0 -63
- package/node_modules/goah-ledger-contract/dist/session.d.ts.map +0 -1
- package/node_modules/goah-ledger-contract/dist/session.js +0 -115
- package/node_modules/goah-ledger-contract/dist/session.js.map +0 -1
- package/node_modules/goah-ledger-contract/package.json +0 -29
- package/node_modules/goah-ledger-sqlite/dist/index.d.ts +0 -77
- package/node_modules/goah-ledger-sqlite/dist/index.d.ts.map +0 -1
- package/node_modules/goah-ledger-sqlite/dist/index.js +0 -884
- package/node_modules/goah-ledger-sqlite/dist/index.js.map +0 -1
- package/node_modules/goah-ledger-sqlite/package.json +0 -26
- package/node_modules/goah-runner-pi/dist/configurator.d.ts +0 -20
- package/node_modules/goah-runner-pi/dist/configurator.d.ts.map +0 -1
- package/node_modules/goah-runner-pi/dist/configurator.js +0 -267
- package/node_modules/goah-runner-pi/dist/configurator.js.map +0 -1
- package/node_modules/goah-runner-pi/dist/credential-store.d.ts +0 -12
- package/node_modules/goah-runner-pi/dist/credential-store.d.ts.map +0 -1
- package/node_modules/goah-runner-pi/dist/credential-store.js +0 -69
- package/node_modules/goah-runner-pi/dist/credential-store.js.map +0 -1
- package/node_modules/goah-runner-pi/dist/env-spec.d.ts +0 -17
- package/node_modules/goah-runner-pi/dist/env-spec.d.ts.map +0 -1
- package/node_modules/goah-runner-pi/dist/env-spec.js +0 -95
- package/node_modules/goah-runner-pi/dist/env-spec.js.map +0 -1
- package/node_modules/goah-runner-pi/dist/index.d.ts +0 -64
- package/node_modules/goah-runner-pi/dist/index.d.ts.map +0 -1
- package/node_modules/goah-runner-pi/dist/index.js +0 -241
- package/node_modules/goah-runner-pi/dist/index.js.map +0 -1
- package/node_modules/goah-runner-pi/dist/model-provider.d.ts +0 -30
- package/node_modules/goah-runner-pi/dist/model-provider.d.ts.map +0 -1
- package/node_modules/goah-runner-pi/dist/model-provider.js +0 -96
- package/node_modules/goah-runner-pi/dist/model-provider.js.map +0 -1
- package/node_modules/goah-runner-pi/dist/pi-worker.d.ts +0 -29
- package/node_modules/goah-runner-pi/dist/pi-worker.d.ts.map +0 -1
- package/node_modules/goah-runner-pi/dist/pi-worker.js +0 -428
- package/node_modules/goah-runner-pi/dist/pi-worker.js.map +0 -1
- package/node_modules/goah-runner-pi/dist/test-helpers.d.ts +0 -4
- package/node_modules/goah-runner-pi/dist/test-helpers.d.ts.map +0 -1
- package/node_modules/goah-runner-pi/dist/test-helpers.js +0 -11
- package/node_modules/goah-runner-pi/dist/test-helpers.js.map +0 -1
- package/node_modules/goah-runner-pi/dist/verification-worker.d.ts +0 -2
- package/node_modules/goah-runner-pi/dist/verification-worker.d.ts.map +0 -1
- package/node_modules/goah-runner-pi/dist/verification-worker.js +0 -48
- package/node_modules/goah-runner-pi/dist/verification-worker.js.map +0 -1
- package/node_modules/goah-runner-pi/package.json +0 -28
- package/node_modules/goah-supervisor/dist/context-view.d.ts +0 -31
- package/node_modules/goah-supervisor/dist/context-view.d.ts.map +0 -1
- package/node_modules/goah-supervisor/dist/context-view.js +0 -71
- package/node_modules/goah-supervisor/dist/context-view.js.map +0 -1
- package/node_modules/goah-supervisor/dist/index.d.ts +0 -94
- package/node_modules/goah-supervisor/dist/index.d.ts.map +0 -1
- package/node_modules/goah-supervisor/dist/index.js +0 -888
- package/node_modules/goah-supervisor/dist/index.js.map +0 -1
- package/node_modules/goah-supervisor/dist/roles.d.ts +0 -3
- package/node_modules/goah-supervisor/dist/roles.d.ts.map +0 -1
- package/node_modules/goah-supervisor/dist/roles.js +0 -14
- package/node_modules/goah-supervisor/dist/roles.js.map +0 -1
- package/node_modules/goah-supervisor/dist/verification.d.ts +0 -82
- package/node_modules/goah-supervisor/dist/verification.d.ts.map +0 -1
- package/node_modules/goah-supervisor/dist/verification.js +0 -110
- package/node_modules/goah-supervisor/dist/verification.js.map +0 -1
- package/node_modules/goah-supervisor/package.json +0 -26
- package/node_modules/goah-testkit/dist/faux-runner-worker.d.ts +0 -2
- package/node_modules/goah-testkit/dist/faux-runner-worker.d.ts.map +0 -1
- package/node_modules/goah-testkit/dist/faux-runner-worker.js +0 -75
- package/node_modules/goah-testkit/dist/faux-runner-worker.js.map +0 -1
- package/node_modules/goah-testkit/dist/index.d.ts +0 -52
- package/node_modules/goah-testkit/dist/index.d.ts.map +0 -1
- package/node_modules/goah-testkit/dist/index.js +0 -113
- package/node_modules/goah-testkit/dist/index.js.map +0 -1
- package/node_modules/goah-testkit/dist/mock-connector-worker.d.ts +0 -2
- package/node_modules/goah-testkit/dist/mock-connector-worker.d.ts.map +0 -1
- package/node_modules/goah-testkit/dist/mock-connector-worker.js +0 -29
- package/node_modules/goah-testkit/dist/mock-connector-worker.js.map +0 -1
- package/node_modules/goah-testkit/package.json +0 -29
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Spawn-time credential resolution.
|
|
3
|
-
*
|
|
4
|
-
* Config files hold only `env:NAME` references — never secrets. Values are
|
|
5
|
-
* resolved when a child process is spawned, so credential rotation (a changed
|
|
6
|
-
* shell export on a fresh attach, or an edited `.env` file) takes effect on the
|
|
7
|
-
* next wake without restarting the resident Supervisor.
|
|
8
|
-
*
|
|
9
|
-
* Resolution order, first match wins:
|
|
10
|
-
* 1. the supervisor process environment
|
|
11
|
-
* 2. `<workspace>/.env`
|
|
12
|
-
* 3. `~/.goah/.env`
|
|
13
|
-
*/
|
|
14
|
-
import { readFileSync } from "node:fs";
|
|
15
|
-
import { homedir } from "node:os";
|
|
16
|
-
import { join } from "node:path";
|
|
17
|
-
export const ENV_REFERENCE_PREFIX = "env:";
|
|
18
|
-
export const OPTIONAL_ENV_REFERENCE_PREFIX = "env?:";
|
|
19
|
-
/** Parse one `.env` file into key/value pairs; missing files yield {}. Minimal grammar: KEY=VALUE, quotes stripped, comments and blanks ignored. */
|
|
20
|
-
export function parseEnvFile(text) {
|
|
21
|
-
const values = {};
|
|
22
|
-
for (const rawLine of text.split("\n")) {
|
|
23
|
-
const line = rawLine.trim();
|
|
24
|
-
if (line === "" || line.startsWith("#"))
|
|
25
|
-
continue;
|
|
26
|
-
const equals = line.indexOf("=");
|
|
27
|
-
if (equals <= 0)
|
|
28
|
-
continue;
|
|
29
|
-
const key = line.slice(0, equals).trim();
|
|
30
|
-
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(key))
|
|
31
|
-
continue;
|
|
32
|
-
let value = line.slice(equals + 1).trim();
|
|
33
|
-
if ((value.startsWith('"') && value.endsWith('"') && value.length >= 2) || (value.startsWith("'") && value.endsWith("'") && value.length >= 2))
|
|
34
|
-
value = value.slice(1, -1);
|
|
35
|
-
values[key] = value;
|
|
36
|
-
}
|
|
37
|
-
return values;
|
|
38
|
-
}
|
|
39
|
-
function readEnvFile(path) {
|
|
40
|
-
try {
|
|
41
|
-
return parseEnvFile(readFileSync(path, "utf8"));
|
|
42
|
-
}
|
|
43
|
-
catch {
|
|
44
|
-
return {};
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
export function envFileChain(source) {
|
|
48
|
-
if (!source)
|
|
49
|
-
return [];
|
|
50
|
-
const files = [join(source.root, ".env"), join(homedir(), ".goah", ".env")];
|
|
51
|
-
// First match wins: earlier files in the chain shadow later ones.
|
|
52
|
-
const merged = {};
|
|
53
|
-
for (let index = files.length - 1; index >= 0; index -= 1)
|
|
54
|
-
Object.assign(merged, readEnvFile(files[index]));
|
|
55
|
-
return [merged];
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Resolve an env spec for one spawn. Literal values pass through; `env:NAME`
|
|
59
|
-
* references consult the chain above. An unresolvable reference throws with the
|
|
60
|
-
* variable name so the wake fails honestly instead of spawning a child that
|
|
61
|
-
* would fail opaquely at its first model call.
|
|
62
|
-
*/
|
|
63
|
-
export function resolveEnvSpec(spec, source) {
|
|
64
|
-
if (!spec)
|
|
65
|
-
return {};
|
|
66
|
-
const [fileLayer] = envFileChain(source);
|
|
67
|
-
const resolved = {};
|
|
68
|
-
for (const [key, value] of Object.entries(spec)) {
|
|
69
|
-
if (value.startsWith(OPTIONAL_ENV_REFERENCE_PREFIX)) {
|
|
70
|
-
const name = value.slice(OPTIONAL_ENV_REFERENCE_PREFIX.length);
|
|
71
|
-
const optional = process.env[name] ?? fileLayer?.[name];
|
|
72
|
-
if (optional !== undefined)
|
|
73
|
-
resolved[key] = optional;
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
if (!value.startsWith(ENV_REFERENCE_PREFIX)) {
|
|
77
|
-
resolved[key] = value;
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
const name = value.slice(ENV_REFERENCE_PREFIX.length);
|
|
81
|
-
const fromProcess = process.env[name];
|
|
82
|
-
if (fromProcess !== undefined) {
|
|
83
|
-
resolved[key] = fromProcess;
|
|
84
|
-
continue;
|
|
85
|
-
}
|
|
86
|
-
const fromFile = fileLayer?.[name];
|
|
87
|
-
if (fromFile !== undefined) {
|
|
88
|
-
resolved[key] = fromFile;
|
|
89
|
-
continue;
|
|
90
|
-
}
|
|
91
|
-
throw new Error(`environment variable is missing: ${name} (set it in your shell, <workspace>/.env, or ~/.goah/.env)`);
|
|
92
|
-
}
|
|
93
|
-
return resolved;
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=env-spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env-spec.js","sourceRoot":"","sources":["../src/env-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { type JsonValue, type AgentCapability, type AssistantResponse, type RunRequest, type Runner, type RunnerHandle, type RunnerResult, type TurnContext, type WakeOutput } from "goah-ledger-contract";
|
|
2
|
-
export { createPiModel, defaultAuthFile, modelCatalog, providerCatalog, resolvedApiKey, LOCAL_PROVIDERS, type ModelSummary, type ProviderSummary } from "./model-provider.js";
|
|
3
|
-
export { JsonCredentialStore } from "./credential-store.js";
|
|
4
|
-
export { createPiProcessRunner, piConfig, piEnvironment, piRunnerConfigurator, type PiRunnerConfig } from "./configurator.js";
|
|
5
|
-
export { resolveEnvSpec } from "./env-spec.js";
|
|
6
|
-
export interface PiStep {
|
|
7
|
-
trace?: Array<{
|
|
8
|
-
type: string;
|
|
9
|
-
data: JsonValue;
|
|
10
|
-
}>;
|
|
11
|
-
response?: AssistantResponse;
|
|
12
|
-
handoff?: WakeOutput;
|
|
13
|
-
stopped?: boolean;
|
|
14
|
-
}
|
|
15
|
-
export interface PiSession {
|
|
16
|
-
step(): Promise<PiStep>;
|
|
17
|
-
close(): Promise<void>;
|
|
18
|
-
}
|
|
19
|
-
export interface PiDriver {
|
|
20
|
-
createSession(request: RunRequest): Promise<PiSession>;
|
|
21
|
-
}
|
|
22
|
-
/** In-process adapter for tests and for use inside a ProcessRunner worker. */
|
|
23
|
-
export declare class PiRunnerAdapter {
|
|
24
|
-
#private;
|
|
25
|
-
private readonly driver;
|
|
26
|
-
constructor(driver: PiDriver);
|
|
27
|
-
prepare(request: RunRequest): RunnerHandle;
|
|
28
|
-
terminateProcess(pid: number): Promise<void>;
|
|
29
|
-
}
|
|
30
|
-
export interface ProcessRunnerOptions {
|
|
31
|
-
command: string;
|
|
32
|
-
args?: string[];
|
|
33
|
-
cwd?: string;
|
|
34
|
-
env?: Record<string, string>;
|
|
35
|
-
/** Unresolved env spec (may contain `env:NAME` references); resolved at every spawn. */
|
|
36
|
-
envSpec?: Record<string, string> | undefined;
|
|
37
|
-
inheritEnv?: string[];
|
|
38
|
-
killGraceMs?: number;
|
|
39
|
-
timeoutMs?: number;
|
|
40
|
-
/** Resolve private per-wake runtime material (for example scoped model auth) before the worker starts. Never enters RunRequest context or Ledger events. */
|
|
41
|
-
prepareRuntime?: (request: RunRequest) => Promise<JsonValue | undefined>;
|
|
42
|
-
}
|
|
43
|
-
export declare function piWorkerPath(): string;
|
|
44
|
-
export declare function verificationWorkerPath(): string;
|
|
45
|
-
type WorkerRequest = Omit<RunRequest, "now" | "emit" | "rpc" | "turn"> & {
|
|
46
|
-
turn?: TurnContext;
|
|
47
|
-
runtime?: JsonValue;
|
|
48
|
-
};
|
|
49
|
-
/** Real process boundary. The child stays idle until begin() sends its request. */
|
|
50
|
-
export declare class ProcessRunner implements Runner {
|
|
51
|
-
readonly options: ProcessRunnerOptions;
|
|
52
|
-
readonly isolation: "process";
|
|
53
|
-
constructor(options: ProcessRunnerOptions);
|
|
54
|
-
prepare(request: RunRequest): RunnerHandle;
|
|
55
|
-
terminateProcess(pid: number): Promise<void>;
|
|
56
|
-
}
|
|
57
|
-
export type WorkerRpc = (method: AgentCapability, params: JsonValue) => Promise<JsonValue>;
|
|
58
|
-
export type WorkerRun = (request: WorkerRequest, emit: (event: {
|
|
59
|
-
type: string;
|
|
60
|
-
data: JsonValue;
|
|
61
|
-
}) => void, rpc: WorkerRpc) => Promise<RunnerResult>;
|
|
62
|
-
/** Entry helper for runner executables. It exits when its parent disappears. */
|
|
63
|
-
export declare function runProcessWorker(run: WorkerRun): Promise<void>;
|
|
64
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
import { spawn } from "node:child_process";
|
|
2
|
-
import { createInterface } from "node:readline";
|
|
3
|
-
import { resolveEnvSpec } from "./env-spec.js";
|
|
4
|
-
import { fileURLToPath } from "node:url";
|
|
5
|
-
import { assertHandoff, } from "goah-ledger-contract";
|
|
6
|
-
export { createPiModel, defaultAuthFile, modelCatalog, providerCatalog, resolvedApiKey, LOCAL_PROVIDERS } from "./model-provider.js";
|
|
7
|
-
export { JsonCredentialStore } from "./credential-store.js";
|
|
8
|
-
export { createPiProcessRunner, piConfig, piEnvironment, piRunnerConfigurator } from "./configurator.js";
|
|
9
|
-
export { resolveEnvSpec } from "./env-spec.js";
|
|
10
|
-
/** In-process adapter for tests and for use inside a ProcessRunner worker. */
|
|
11
|
-
export class PiRunnerAdapter {
|
|
12
|
-
driver;
|
|
13
|
-
constructor(driver) {
|
|
14
|
-
this.driver = driver;
|
|
15
|
-
}
|
|
16
|
-
prepare(request) {
|
|
17
|
-
let started = false;
|
|
18
|
-
let resolveResult;
|
|
19
|
-
const result = new Promise((resolve) => { resolveResult = resolve; });
|
|
20
|
-
return {
|
|
21
|
-
pid: null,
|
|
22
|
-
begin: () => {
|
|
23
|
-
if (started)
|
|
24
|
-
return;
|
|
25
|
-
started = true;
|
|
26
|
-
void this.#run(request).then(resolveResult);
|
|
27
|
-
},
|
|
28
|
-
result,
|
|
29
|
-
terminate: async () => undefined,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
async terminateProcess(pid) { await terminatePid(pid, 500); }
|
|
33
|
-
async #run(request) {
|
|
34
|
-
const session = await this.driver.createSession(request);
|
|
35
|
-
try {
|
|
36
|
-
while (true) {
|
|
37
|
-
const step = await session.step();
|
|
38
|
-
for (const trace of step.trace ?? [])
|
|
39
|
-
request.emit(trace);
|
|
40
|
-
if (step.response)
|
|
41
|
-
return { outcome: "response", response: step.response };
|
|
42
|
-
if (step.handoff) {
|
|
43
|
-
assertHandoff(step.handoff.handoff);
|
|
44
|
-
return { outcome: "handoff", output: step.handoff };
|
|
45
|
-
}
|
|
46
|
-
if (step.stopped)
|
|
47
|
-
return { outcome: "abnormal", reason: request.turn.goalBinding ? "runner stopped without a valid handoff" : "runner stopped without a response" };
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
return { outcome: "abnormal", reason: error instanceof Error ? error.message : String(error) };
|
|
52
|
-
}
|
|
53
|
-
finally {
|
|
54
|
-
await session.close();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
export function piWorkerPath() { return fileURLToPath(new URL("./pi-worker.js", import.meta.url)); }
|
|
59
|
-
export function verificationWorkerPath() { return fileURLToPath(new URL("./verification-worker.js", import.meta.url)); }
|
|
60
|
-
/** Real process boundary. The child stays idle until begin() sends its request. */
|
|
61
|
-
export class ProcessRunner {
|
|
62
|
-
options;
|
|
63
|
-
isolation = "process";
|
|
64
|
-
constructor(options) {
|
|
65
|
-
this.options = options;
|
|
66
|
-
}
|
|
67
|
-
prepare(request) {
|
|
68
|
-
const explicit = this.options.envSpec ? resolveEnvSpec(this.options.envSpec, { root: this.options.cwd ?? process.cwd() }) : this.options.env;
|
|
69
|
-
const child = spawn(this.options.command, this.options.args ?? [], {
|
|
70
|
-
detached: process.platform !== "win32",
|
|
71
|
-
...(this.options.cwd ? { cwd: this.options.cwd } : {}),
|
|
72
|
-
env: childEnvironment(explicit, this.options.inheritEnv),
|
|
73
|
-
});
|
|
74
|
-
let started = false;
|
|
75
|
-
let timedOut = false;
|
|
76
|
-
let messageResult = null;
|
|
77
|
-
let protocolError = null;
|
|
78
|
-
let stderr = "";
|
|
79
|
-
let timer;
|
|
80
|
-
let settled = false;
|
|
81
|
-
let resolveResult;
|
|
82
|
-
const result = new Promise((resolve) => { resolveResult = resolve; });
|
|
83
|
-
const settle = (value) => { if (!settled) {
|
|
84
|
-
settled = true;
|
|
85
|
-
resolveResult(value);
|
|
86
|
-
} };
|
|
87
|
-
child.stderr?.on("data", (chunk) => { stderr += chunk.toString(); });
|
|
88
|
-
const lines = createInterface({ input: child.stdout });
|
|
89
|
-
lines.on("line", (line) => {
|
|
90
|
-
try {
|
|
91
|
-
const message = JSON.parse(line);
|
|
92
|
-
if (message.type === "trace")
|
|
93
|
-
request.emit(message.event);
|
|
94
|
-
else if (message.type === "rpc_request") {
|
|
95
|
-
void Promise.resolve(request.rpc?.(message.method, message.params) ?? Promise.reject(new Error("runner RPC is unavailable")))
|
|
96
|
-
.then((result) => child.stdin?.write(`${JSON.stringify({ type: "rpc_response", id: message.id, result })}\n`))
|
|
97
|
-
.catch((error) => child.stdin?.write(`${JSON.stringify({ type: "rpc_response", id: message.id, error: error instanceof Error ? error.message : String(error) })}\n`));
|
|
98
|
-
}
|
|
99
|
-
else
|
|
100
|
-
messageResult = message.result;
|
|
101
|
-
}
|
|
102
|
-
catch (error) {
|
|
103
|
-
protocolError = error instanceof Error ? error.message : String(error);
|
|
104
|
-
void terminate();
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
child.once("error", (error) => { if (timer)
|
|
108
|
-
clearTimeout(timer); settle({ outcome: "abnormal", reason: error.message }); });
|
|
109
|
-
child.once("close", (code, signal) => {
|
|
110
|
-
if (timer)
|
|
111
|
-
clearTimeout(timer);
|
|
112
|
-
if (protocolError)
|
|
113
|
-
settle({ outcome: "abnormal", reason: `runner protocol error: ${protocolError}` });
|
|
114
|
-
else if (messageResult)
|
|
115
|
-
settle(messageResult);
|
|
116
|
-
else if (timedOut)
|
|
117
|
-
settle({ outcome: "abnormal", reason: "runner-specific timeout exceeded and process was killed" });
|
|
118
|
-
else
|
|
119
|
-
settle({ outcome: "abnormal", reason: stderr.trim() || `runner exited without a result (${code ?? signal ?? "unknown"})` });
|
|
120
|
-
});
|
|
121
|
-
const terminate = async () => {
|
|
122
|
-
if (child.pid)
|
|
123
|
-
await terminateOwnedChild(child, this.options.killGraceMs ?? 500);
|
|
124
|
-
};
|
|
125
|
-
return {
|
|
126
|
-
pid: child.pid ?? null,
|
|
127
|
-
begin: () => {
|
|
128
|
-
if (started)
|
|
129
|
-
return;
|
|
130
|
-
started = true;
|
|
131
|
-
void (async () => {
|
|
132
|
-
try {
|
|
133
|
-
const runtime = await this.options.prepareRuntime?.(request);
|
|
134
|
-
const serializable = { wake: request.wake, turn: request.turn, context: request.context, ...(runtime !== undefined ? { runtime } : {}) };
|
|
135
|
-
child.stdin?.write(`${JSON.stringify({ type: "start", request: serializable })}\n`);
|
|
136
|
-
if (this.options.timeoutMs)
|
|
137
|
-
timer = setTimeout(() => { timedOut = true; void terminate(); }, this.options.timeoutMs);
|
|
138
|
-
}
|
|
139
|
-
catch (error) {
|
|
140
|
-
protocolError = error instanceof Error ? error.message : String(error);
|
|
141
|
-
await terminate();
|
|
142
|
-
}
|
|
143
|
-
})();
|
|
144
|
-
},
|
|
145
|
-
result,
|
|
146
|
-
terminate,
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
async terminateProcess(pid) { await terminatePid(pid, this.options.killGraceMs ?? 500); }
|
|
150
|
-
}
|
|
151
|
-
/** Entry helper for runner executables. It exits when its parent disappears. */
|
|
152
|
-
export async function runProcessWorker(run) {
|
|
153
|
-
const parent = process.ppid;
|
|
154
|
-
const monitor = setInterval(() => {
|
|
155
|
-
if (process.ppid !== parent || !isAlive(parent))
|
|
156
|
-
process.exit(70);
|
|
157
|
-
}, 250);
|
|
158
|
-
monitor.unref();
|
|
159
|
-
const input = createInterface({ input: process.stdin });
|
|
160
|
-
const iterator = input[Symbol.asyncIterator]();
|
|
161
|
-
const first = await iterator.next();
|
|
162
|
-
if (first.done)
|
|
163
|
-
throw new Error("runner parent closed before start");
|
|
164
|
-
const start = JSON.parse(first.value);
|
|
165
|
-
if (start.type !== "start")
|
|
166
|
-
throw new Error("first runner message must be start");
|
|
167
|
-
const pending = new Map();
|
|
168
|
-
void (async () => {
|
|
169
|
-
for await (const line of { [Symbol.asyncIterator]: () => iterator }) {
|
|
170
|
-
const message = JSON.parse(line);
|
|
171
|
-
if (message.type !== "rpc_response")
|
|
172
|
-
continue;
|
|
173
|
-
const waiter = pending.get(message.id);
|
|
174
|
-
if (!waiter)
|
|
175
|
-
continue;
|
|
176
|
-
pending.delete(message.id);
|
|
177
|
-
if (message.error)
|
|
178
|
-
waiter.reject(new Error(message.error));
|
|
179
|
-
else
|
|
180
|
-
waiter.resolve(message.result ?? null);
|
|
181
|
-
}
|
|
182
|
-
})();
|
|
183
|
-
const rpc = (method, params) => new Promise((resolve, reject) => {
|
|
184
|
-
const id = crypto.randomUUID();
|
|
185
|
-
pending.set(id, { resolve, reject });
|
|
186
|
-
process.stdout.write(`${JSON.stringify({ type: "rpc_request", id, method, params })}\n`);
|
|
187
|
-
});
|
|
188
|
-
const result = await run(start.request, (event) => process.stdout.write(`${JSON.stringify({ type: "trace", event })}\n`), rpc);
|
|
189
|
-
process.stdout.write(`${JSON.stringify({ type: "result", result })}\n`);
|
|
190
|
-
input.close();
|
|
191
|
-
process.stdin.unref();
|
|
192
|
-
clearInterval(monitor);
|
|
193
|
-
}
|
|
194
|
-
async function terminateOwnedChild(child, graceMs) {
|
|
195
|
-
if (!child.pid || child.exitCode !== null || child.signalCode !== null)
|
|
196
|
-
return;
|
|
197
|
-
signalPid(child.pid, "SIGTERM");
|
|
198
|
-
await Promise.race([new Promise((resolve) => child.once("close", () => resolve())), delay(graceMs)]);
|
|
199
|
-
if (child.exitCode === null && child.signalCode === null) {
|
|
200
|
-
signalPid(child.pid, "SIGKILL");
|
|
201
|
-
await new Promise((resolve) => child.once("close", () => resolve()));
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
async function terminatePid(pid, graceMs) {
|
|
205
|
-
if (!isAlive(pid))
|
|
206
|
-
return;
|
|
207
|
-
signalPid(pid, "SIGTERM");
|
|
208
|
-
const deadline = Date.now() + graceMs;
|
|
209
|
-
while (isAlive(pid) && Date.now() < deadline)
|
|
210
|
-
await delay(25);
|
|
211
|
-
if (isAlive(pid))
|
|
212
|
-
signalPid(pid, "SIGKILL");
|
|
213
|
-
const killDeadline = Date.now() + graceMs;
|
|
214
|
-
while (isAlive(pid) && Date.now() < killDeadline)
|
|
215
|
-
await delay(25);
|
|
216
|
-
if (isAlive(pid))
|
|
217
|
-
throw new Error(`runner process ${pid} did not exit after SIGKILL`);
|
|
218
|
-
}
|
|
219
|
-
function signalPid(pid, signal) {
|
|
220
|
-
try {
|
|
221
|
-
process.kill(process.platform === "win32" ? pid : -pid, signal);
|
|
222
|
-
}
|
|
223
|
-
catch { }
|
|
224
|
-
}
|
|
225
|
-
function isAlive(pid) { try {
|
|
226
|
-
process.kill(pid, 0);
|
|
227
|
-
return true;
|
|
228
|
-
}
|
|
229
|
-
catch {
|
|
230
|
-
return false;
|
|
231
|
-
} }
|
|
232
|
-
function delay(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); }
|
|
233
|
-
function childEnvironment(explicit = {}, inherited = []) {
|
|
234
|
-
const names = new Set(["PATH", "TMPDIR", "TMP", "TEMP", "SYSTEMROOT", ...inherited]);
|
|
235
|
-
const env = {};
|
|
236
|
-
for (const name of names)
|
|
237
|
-
if (process.env[name] !== undefined)
|
|
238
|
-
env[name] = process.env[name];
|
|
239
|
-
return { ...env, ...explicit };
|
|
240
|
-
}
|
|
241
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { fauxProvider, type Api, type Model, type MutableModels } from "@earendil-works/pi-ai";
|
|
2
|
-
export declare const LOCAL_PROVIDERS: readonly ["ollama", "lm-studio", "llama.cpp"];
|
|
3
|
-
export type LocalProvider = typeof LOCAL_PROVIDERS[number];
|
|
4
|
-
export interface ProviderSummary {
|
|
5
|
-
id: string;
|
|
6
|
-
name: string;
|
|
7
|
-
modelCount: number;
|
|
8
|
-
oauth: boolean;
|
|
9
|
-
apiKey: boolean;
|
|
10
|
-
local: boolean;
|
|
11
|
-
}
|
|
12
|
-
export interface ModelSummary {
|
|
13
|
-
provider: string;
|
|
14
|
-
id: string;
|
|
15
|
-
name: string;
|
|
16
|
-
contextWindow: number;
|
|
17
|
-
maxTokens: number;
|
|
18
|
-
reasoning: boolean;
|
|
19
|
-
}
|
|
20
|
-
export interface ConfiguredPiModel {
|
|
21
|
-
models: MutableModels;
|
|
22
|
-
model: Model<Api>;
|
|
23
|
-
faux?: ReturnType<typeof fauxProvider>;
|
|
24
|
-
}
|
|
25
|
-
export declare function defaultAuthFile(): string;
|
|
26
|
-
export declare function providerCatalog(): ProviderSummary[];
|
|
27
|
-
export declare function modelCatalog(provider?: string): ModelSummary[];
|
|
28
|
-
export declare function createPiModel(provider: string, modelId: string, env?: NodeJS.ProcessEnv): ConfiguredPiModel;
|
|
29
|
-
export declare function resolvedApiKey(models: MutableModels, provider: string): Promise<string | undefined>;
|
|
30
|
-
//# sourceMappingURL=model-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-provider.d.ts","sourceRoot":"","sources":["../src/model-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2E,YAAY,EAAE,KAAK,GAAG,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAOxK,eAAO,MAAM,eAAe,+CAAgD,CAAC;AAC7E,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,WAAW,eAAe;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE;AAClI,MAAM,WAAW,YAAY;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE;AAC1I,MAAM,WAAW,iBAAiB;IAAG,MAAM,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;CAAE;AAEvH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,eAAe,IAAI,eAAe,EAAE,CAWnD;AAED,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAW9D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,iBAAiB,CAgBxH;AAcD,wBAAsB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEzG"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { homedir } from "node:os";
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
import { createModels, createProvider, defaultProviderAuthContext, envApiKeyAuth, fauxProvider } from "@earendil-works/pi-ai";
|
|
4
|
-
import { openAICompletionsApi } from "@earendil-works/pi-ai/api/openai-completions.lazy";
|
|
5
|
-
import { openAIResponsesApi } from "@earendil-works/pi-ai/api/openai-responses.lazy";
|
|
6
|
-
import { anthropicMessagesApi } from "@earendil-works/pi-ai/api/anthropic-messages.lazy";
|
|
7
|
-
import { builtinModels, builtinProviders, getBuiltinModels, getBuiltinProviders } from "@earendil-works/pi-ai/providers/all";
|
|
8
|
-
import { JsonCredentialStore } from "./credential-store.js";
|
|
9
|
-
export const LOCAL_PROVIDERS = ["ollama", "lm-studio", "llama.cpp"];
|
|
10
|
-
export function defaultAuthFile() {
|
|
11
|
-
return process.env.GOAH_PI_AUTH_FILE ?? join(process.env.GOAH_STATE_HOME ?? join(homedir(), ".goah"), "auth.json");
|
|
12
|
-
}
|
|
13
|
-
export function providerCatalog() {
|
|
14
|
-
const rows = builtinProviders().map((provider) => ({
|
|
15
|
-
id: provider.id,
|
|
16
|
-
name: provider.name,
|
|
17
|
-
modelCount: provider.getModels().length,
|
|
18
|
-
oauth: provider.auth.oauth !== undefined,
|
|
19
|
-
apiKey: provider.auth.apiKey !== undefined,
|
|
20
|
-
local: false,
|
|
21
|
-
}));
|
|
22
|
-
for (const id of LOCAL_PROVIDERS)
|
|
23
|
-
rows.push({ id, name: localName(id), modelCount: 0, oauth: false, apiKey: false, local: true });
|
|
24
|
-
return rows.sort((left, right) => left.name.localeCompare(right.name));
|
|
25
|
-
}
|
|
26
|
-
export function modelCatalog(provider) {
|
|
27
|
-
if (provider && isLocalProvider(provider))
|
|
28
|
-
return [];
|
|
29
|
-
const providers = provider ? [provider] : getBuiltinProviders();
|
|
30
|
-
return providers.flatMap((providerId) => getBuiltinModels(providerId).map((model) => ({
|
|
31
|
-
provider: model.provider,
|
|
32
|
-
id: model.id,
|
|
33
|
-
name: model.name,
|
|
34
|
-
contextWindow: model.contextWindow,
|
|
35
|
-
maxTokens: model.maxTokens,
|
|
36
|
-
reasoning: model.reasoning,
|
|
37
|
-
})));
|
|
38
|
-
}
|
|
39
|
-
export function createPiModel(provider, modelId, env = process.env) {
|
|
40
|
-
if (provider === "faux") {
|
|
41
|
-
const models = createModels();
|
|
42
|
-
const faux = fauxProvider({ provider, models: [{ id: modelId, contextWindow: 128_000, maxTokens: 32_000 }] });
|
|
43
|
-
models.setProvider(faux.provider);
|
|
44
|
-
return { models, model: faux.getModel(), faux };
|
|
45
|
-
}
|
|
46
|
-
const ambient = defaultProviderAuthContext();
|
|
47
|
-
const models = builtinModels({ credentials: new JsonCredentialStore(env.GOAH_PI_AUTH_FILE ?? defaultAuthFile()), authContext: { env: async (name) => env[name] ?? ambient.env(name), fileExists: ambient.fileExists } });
|
|
48
|
-
if (isLocalProvider(provider))
|
|
49
|
-
models.setProvider(localProvider(provider, modelId, env));
|
|
50
|
-
else if (!models.getProvider(provider) && env.GOAH_PI_BASE_URL)
|
|
51
|
-
models.setProvider(customProvider(provider, modelId, env));
|
|
52
|
-
const model = models.getModel(provider, modelId);
|
|
53
|
-
if (!model)
|
|
54
|
-
throw new Error(`Model not found: ${provider}/${modelId}`);
|
|
55
|
-
const baseUrl = env.GOAH_PI_BASE_URL;
|
|
56
|
-
return { models, model: baseUrl ? { ...model, baseUrl } : model };
|
|
57
|
-
}
|
|
58
|
-
function customProvider(provider, modelId, env) {
|
|
59
|
-
const api = env.GOAH_PI_API ?? "openai-completions";
|
|
60
|
-
const baseUrl = env.GOAH_PI_BASE_URL;
|
|
61
|
-
const model = {
|
|
62
|
-
id: modelId, name: modelId, api, provider, baseUrl,
|
|
63
|
-
reasoning: env.GOAH_PI_REASONING === "true", input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
64
|
-
contextWindow: positive(env.GOAH_PI_CONTEXT_WINDOW_TOKENS, 128_000), maxTokens: positive(env.GOAH_PI_MAX_OUTPUT_TOKENS, 16_384),
|
|
65
|
-
};
|
|
66
|
-
const stream = api === "anthropic-messages" ? anthropicMessagesApi() : api === "openai-responses" ? openAIResponsesApi() : openAICompletionsApi();
|
|
67
|
-
return createProvider({ id: provider, name: provider, baseUrl, auth: { apiKey: envApiKeyAuth(`${provider} API key`, ["GOAH_PI_API_KEY"]) }, models: [model], api: stream });
|
|
68
|
-
}
|
|
69
|
-
export async function resolvedApiKey(models, provider) {
|
|
70
|
-
return (await models.getAuth(provider))?.auth.apiKey;
|
|
71
|
-
}
|
|
72
|
-
function localProvider(provider, modelId, env) {
|
|
73
|
-
const baseUrl = env.GOAH_PI_BASE_URL ?? localBaseUrl(provider);
|
|
74
|
-
const model = {
|
|
75
|
-
id: modelId, name: modelId, api: "openai-completions", provider, baseUrl,
|
|
76
|
-
reasoning: false, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
77
|
-
contextWindow: positive(env.GOAH_PI_CONTEXT_WINDOW_TOKENS, 128_000),
|
|
78
|
-
maxTokens: positive(env.GOAH_PI_MAX_OUTPUT_TOKENS, 16_384),
|
|
79
|
-
};
|
|
80
|
-
return createProvider({
|
|
81
|
-
id: provider, name: localName(provider), baseUrl,
|
|
82
|
-
auth: { apiKey: { name: `${localName(provider)} local`, check: async () => ({ type: "api_key", source: "local" }), resolve: async () => ({ auth: {}, source: "local" }) } },
|
|
83
|
-
models: [model], api: openAICompletionsApi(),
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
function localBaseUrl(provider) {
|
|
87
|
-
if (provider === "ollama")
|
|
88
|
-
return process.env.OLLAMA_BASE_URL ?? "http://127.0.0.1:11434/v1";
|
|
89
|
-
if (provider === "lm-studio")
|
|
90
|
-
return process.env.LM_STUDIO_BASE_URL ?? "http://127.0.0.1:1234/v1";
|
|
91
|
-
return process.env.LLAMA_CPP_BASE_URL ?? "http://127.0.0.1:8080/v1";
|
|
92
|
-
}
|
|
93
|
-
function localName(provider) { return provider === "ollama" ? "Ollama" : provider === "lm-studio" ? "LM Studio" : "llama.cpp"; }
|
|
94
|
-
function isLocalProvider(value) { return LOCAL_PROVIDERS.includes(value); }
|
|
95
|
-
function positive(value, fallback) { const parsed = Number(value); return Number.isInteger(parsed) && parsed > 0 ? parsed : fallback; }
|
|
96
|
-
//# sourceMappingURL=model-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-provider.js","sourceRoot":"","sources":["../src/model-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { type AgentMessage } from "@earendil-works/pi-agent-core";
|
|
2
|
-
import { type JsonValue } from "goah-ledger-contract";
|
|
3
|
-
export declare function compactMessages(messages: AgentMessage[], maxRecent?: number): AgentMessage[];
|
|
4
|
-
export declare function runPiWorker(): Promise<void>;
|
|
5
|
-
/** Persist only model behavior, never transport credentials or abort handles. */
|
|
6
|
-
export declare function snapshotModelConfig(options: unknown): JsonValue;
|
|
7
|
-
export declare function bashTimeoutMs(requested: number | undefined, env?: NodeJS.ProcessEnv): number;
|
|
8
|
-
/** Shell execution with a process-group timeout: a hung command becomes a model-visible tool error instead of a stalled wake. */
|
|
9
|
-
export declare function runBashCommand(root: string, input: {
|
|
10
|
-
command: string;
|
|
11
|
-
timeoutMs?: number;
|
|
12
|
-
}, signal?: AbortSignal): Promise<{
|
|
13
|
-
content: Array<{
|
|
14
|
-
type: "text";
|
|
15
|
-
text: string;
|
|
16
|
-
}>;
|
|
17
|
-
details: unknown;
|
|
18
|
-
isError?: boolean;
|
|
19
|
-
}>;
|
|
20
|
-
export declare function validateNextWakeAt(value: string | undefined, wakeStartedAt: string | null): string | null;
|
|
21
|
-
export interface ContextPolicy {
|
|
22
|
-
compactAtTokens: number;
|
|
23
|
-
retainAfterCompactTokens: number;
|
|
24
|
-
}
|
|
25
|
-
export declare function resolveContextPolicy(contextWindowTokens: number, env: NodeJS.ProcessEnv): ContextPolicy;
|
|
26
|
-
export declare function compactMessagesToTokenBudget(messages: AgentMessage[], retainTokens: number): AgentMessage[];
|
|
27
|
-
/** User-visible assistant prose only; reasoning and tool blocks stay structured in the ledger. */
|
|
28
|
-
export declare function assistantResponseText(message: AgentMessage): string;
|
|
29
|
-
//# sourceMappingURL=pi-worker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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;AA6DD,kGAAkG;AAClG,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAQnE"}
|