@goah/cli 0.9.2 → 0.10.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.
Files changed (67) hide show
  1. package/dist/cli.js +257 -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 -126
  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/update.d.ts +15 -0
  28. package/dist/update.d.ts.map +1 -0
  29. package/dist/update.js +59 -0
  30. package/dist/update.js.map +1 -0
  31. package/dist/welcome.d.ts +9 -3
  32. package/dist/welcome.d.ts.map +1 -1
  33. package/dist/welcome.js +40 -5
  34. package/dist/welcome.js.map +1 -1
  35. package/node_modules/goah-ledger-contract/dist/execution.d.ts +53 -0
  36. package/node_modules/goah-ledger-contract/dist/execution.d.ts.map +1 -1
  37. package/node_modules/goah-ledger-contract/dist/execution.js.map +1 -1
  38. package/node_modules/goah-runner-pi/dist/configurator.d.ts +19 -0
  39. package/node_modules/goah-runner-pi/dist/configurator.d.ts.map +1 -0
  40. package/node_modules/goah-runner-pi/dist/configurator.js +219 -0
  41. package/node_modules/goah-runner-pi/dist/configurator.js.map +1 -0
  42. package/node_modules/goah-runner-pi/dist/credential-store.d.ts +12 -0
  43. package/node_modules/goah-runner-pi/dist/credential-store.d.ts.map +1 -0
  44. package/node_modules/goah-runner-pi/dist/credential-store.js +69 -0
  45. package/node_modules/goah-runner-pi/dist/credential-store.js.map +1 -0
  46. package/node_modules/goah-runner-pi/dist/env-spec.d.ts +1 -0
  47. package/node_modules/goah-runner-pi/dist/env-spec.d.ts.map +1 -1
  48. package/node_modules/goah-runner-pi/dist/env-spec.js +8 -0
  49. package/node_modules/goah-runner-pi/dist/env-spec.js.map +1 -1
  50. package/node_modules/goah-runner-pi/dist/index.d.ts +8 -2
  51. package/node_modules/goah-runner-pi/dist/index.d.ts.map +1 -1
  52. package/node_modules/goah-runner-pi/dist/index.js +16 -8
  53. package/node_modules/goah-runner-pi/dist/index.js.map +1 -1
  54. package/node_modules/goah-runner-pi/dist/model-provider.d.ts +26 -9
  55. package/node_modules/goah-runner-pi/dist/model-provider.d.ts.map +1 -1
  56. package/node_modules/goah-runner-pi/dist/model-provider.js +84 -91
  57. package/node_modules/goah-runner-pi/dist/model-provider.js.map +1 -1
  58. package/node_modules/goah-runner-pi/dist/pi-worker.d.ts.map +1 -1
  59. package/node_modules/goah-runner-pi/dist/pi-worker.js +16 -7
  60. package/node_modules/goah-runner-pi/dist/pi-worker.js.map +1 -1
  61. package/node_modules/goah-runner-pi/dist/verification-worker.js +2 -2
  62. package/node_modules/goah-runner-pi/dist/verification-worker.js.map +1 -1
  63. package/node_modules/goah-supervisor/dist/index.d.ts +14 -2
  64. package/node_modules/goah-supervisor/dist/index.d.ts.map +1 -1
  65. package/node_modules/goah-supervisor/dist/index.js +60 -2
  66. package/node_modules/goah-supervisor/dist/index.js.map +1 -1
  67. package/package.json +1 -1
@@ -0,0 +1,219 @@
1
+ import { builtinModels } from "@earendil-works/pi-ai/providers/all";
2
+ import { ProcessRunner, piWorkerPath, resolveEnvSpec } from "./index.js";
3
+ import { JsonCredentialStore } from "./credential-store.js";
4
+ import { createPiModel, defaultAuthFile, modelCatalog, providerCatalog } from "./model-provider.js";
5
+ export function piRunnerConfigurator() {
6
+ return {
7
+ describe: () => ({ id: "pi", name: "Pi", description: "Direct multi-provider model runner", commands: [{ name: "model", description: "List or switch provider/model" }, { name: "auth", description: "Inspect, login, or logout provider credentials" }] }),
8
+ setup: setupPi,
9
+ doctor: doctorPi,
10
+ runCommand: runPiCommand,
11
+ };
12
+ }
13
+ export function createPiProcessRunner(configValue, root) {
14
+ const config = piConfig(configValue);
15
+ createPiModel(config.provider, config.model, piEnvironment(config));
16
+ const privateEnv = piEnvironment(config);
17
+ return new ProcessRunner({
18
+ command: process.execPath,
19
+ args: [piWorkerPath()],
20
+ cwd: root,
21
+ envSpec: workerEnvironment(config),
22
+ prepareRuntime: async () => {
23
+ const resolved = resolveEnvSpec(privateEnv, { root });
24
+ const configured = createPiModel(config.provider, config.model, resolved);
25
+ const auth = await configured.models.getAuth(config.provider);
26
+ if (!auth && config.provider !== "faux" && !["ollama", "lm-studio", "llama.cpp"].includes(config.provider))
27
+ throw new Error(`No credentials for ${config.provider}. Run \`goah auth login ${config.provider}\` or configure ${config.apiKeyEnv ?? defaultApiKeyEnv(config.provider)}.`);
28
+ return (auth?.auth ?? {});
29
+ },
30
+ });
31
+ }
32
+ async function setupPi(current, interaction) {
33
+ const before = current ? piConfig(current) : null;
34
+ const providers = [...providerCatalog(), { id: "custom", name: "Custom endpoint", modelCount: 0, oauth: false, apiKey: true, local: false }, { id: "faux", name: "Offline demo", modelCount: 1, oauth: false, apiKey: false, local: true }];
35
+ const provider = await interaction.select({ title: "Pi provider", description: "Type to filter. Authentication and models are owned by the Pi runner.", choices: providers.map((entry) => ({ value: entry.id, label: entry.name, description: `${entry.id}${entry.oauth ? " · OAuth" : ""}${entry.local ? " · local" : ` · ${entry.modelCount} models`}` })) });
36
+ if (!provider)
37
+ return null;
38
+ const providerId = provider === "custom" ? await interaction.input({ title: "Custom provider", prompt: "Provider ID", initial: before?.provider ?? "custom" }) : provider;
39
+ if (!providerId)
40
+ return null;
41
+ const catalog = ["ollama", "lm-studio", "llama.cpp"].includes(providerId) ? await discoverLocalModels(providerId) : modelCatalog(providerId);
42
+ const selected = catalog.length ? await interaction.select({ title: "Pi model", description: `${provider} · type to filter`, choices: [...catalog.map((model) => ({ value: model.id, label: model.name, description: `${model.id} · ${Math.round(model.contextWindow / 1000)}k${model.reasoning ? " · reasoning" : ""}` })), { value: "__custom__", label: "Custom model…" }] }) : "__custom__";
43
+ if (!selected)
44
+ return null;
45
+ const model = selected === "__custom__" ? await interaction.input({ title: "Pi model", prompt: "Model ID", ...(before?.provider === provider ? { initial: before.model } : {}) }) : selected;
46
+ if (!model)
47
+ return null;
48
+ const config = { provider: providerId, model, thinking: before?.thinking ?? (providerId === "faux" ? "off" : "medium"), authFile: defaultAuthFile() };
49
+ const descriptor = providers.find((entry) => entry.id === provider);
50
+ if (descriptor.oauth) {
51
+ const auth = await interaction.select({ title: "Authentication", description: "Stored OAuth is preferred; API keys may remain in environment variables.", choices: [{ value: "existing", label: "Use existing credentials" }, { value: "login", label: "Sign in with OAuth" }, { value: "env", label: "Use API key environment variable" }] });
52
+ if (!auth)
53
+ return null;
54
+ if (auth === "login")
55
+ await oauthLogin(provider, config.authFile, interaction);
56
+ if (auth === "env") {
57
+ const value = await interaction.input({ title: "API key", description: "Only the variable name is stored.", prompt: "Environment variable", initial: defaultApiKeyEnv(provider) });
58
+ if (value)
59
+ config.apiKeyEnv = value;
60
+ }
61
+ }
62
+ else if (!descriptor.local && provider !== "faux") {
63
+ const value = await interaction.input({ title: "API key", description: "Only the variable name is stored.", prompt: "Environment variable", initial: defaultApiKeyEnv(provider) });
64
+ if (value)
65
+ config.apiKeyEnv = value;
66
+ }
67
+ if (["ollama", "lm-studio", "llama.cpp"].includes(provider)) {
68
+ const baseUrl = await interaction.input({ title: "Local endpoint", prompt: "OpenAI-compatible base URL", initial: localBaseUrl(provider) });
69
+ if (baseUrl)
70
+ config.baseUrl = baseUrl;
71
+ config.contextWindowTokens = positive(await interaction.input({ title: "Context window", prompt: "Tokens", initial: "128000" }), 128_000);
72
+ config.maxOutputTokens = positive(await interaction.input({ title: "Max output", prompt: "Tokens", initial: "16384" }), 16_384);
73
+ }
74
+ if (provider === "custom") {
75
+ const baseUrl = await interaction.input({ title: "Custom endpoint", prompt: "Base URL" });
76
+ if (!baseUrl)
77
+ return null;
78
+ config.baseUrl = baseUrl;
79
+ const api = await interaction.select({ title: "Wire API", choices: [{ value: "openai-completions", label: "OpenAI Chat Completions" }, { value: "openai-responses", label: "OpenAI Responses" }, { value: "anthropic-messages", label: "Anthropic Messages" }] });
80
+ if (!api)
81
+ return null;
82
+ config.api = api;
83
+ config.contextWindowTokens = positive(await interaction.input({ title: "Context window", prompt: "Tokens", initial: "128000" }), 128_000);
84
+ config.maxOutputTokens = positive(await interaction.input({ title: "Max output", prompt: "Tokens", initial: "16384" }), 16_384);
85
+ }
86
+ return config;
87
+ }
88
+ async function doctorPi(value, context) {
89
+ const config = piConfig(value);
90
+ const env = resolveEnvSpec(piEnvironment(config), { root: context?.root ?? process.cwd() });
91
+ const configured = createPiModel(config.provider, config.model, env);
92
+ const auth = config.provider === "faux" || ["ollama", "lm-studio", "llama.cpp"].includes(config.provider) ? { source: "local" } : await configured.models.getAuth(config.provider);
93
+ return [
94
+ { ok: true, name: "model", detail: `${config.provider}/${config.model} · context ${configured.model.contextWindow} · output ${configured.model.maxTokens}` },
95
+ { ok: Boolean(auth), name: "auth", detail: auth?.source ?? `No credentials for ${config.provider}; use runner auth login or configure ${config.apiKeyEnv ?? defaultApiKeyEnv(config.provider)}` },
96
+ ];
97
+ }
98
+ async function runPiCommand(command, args, value, interaction) {
99
+ const config = piConfig(value);
100
+ if (command === "model") {
101
+ if (!args.length || args[0] === "list") {
102
+ const provider = args[1] ?? config.provider;
103
+ return { output: modelCatalog(provider).map((model) => `${provider}/${model.id}`) };
104
+ }
105
+ const target = args[0];
106
+ const slash = target.indexOf("/");
107
+ const provider = slash > 0 && providerCatalog().some((entry) => entry.id === target.slice(0, slash)) ? target.slice(0, slash) : config.provider;
108
+ const model = provider === config.provider && slash < 0 ? target : target.slice(slash + 1);
109
+ createPiModel(provider, model, piEnvironment({ ...config, provider, model }));
110
+ return { config: { ...config, provider, model }, output: [`Pi target changed to ${provider}/${model}`] };
111
+ }
112
+ if (command === "auth") {
113
+ const action = args[0] ?? "status";
114
+ const provider = args[1] ?? config.provider;
115
+ const store = new JsonCredentialStore(config.authFile ?? defaultAuthFile());
116
+ if (action === "status" || action === "list") {
117
+ const saved = new Set((await store.list()).map((item) => item.providerId));
118
+ const rows = providerCatalog().filter((item) => action === "list" || saved.has(item.id)).map((item) => `${saved.has(item.id) ? "✓" : "·"} ${item.id}${item.oauth ? " · OAuth" : ""}`);
119
+ return { output: rows.length ? rows : ["No stored OAuth credentials."] };
120
+ }
121
+ if (action === "login") {
122
+ await oauthLogin(provider, config.authFile ?? defaultAuthFile(), interaction);
123
+ return { output: [`Signed in to ${provider}`] };
124
+ }
125
+ if (action === "logout") {
126
+ await store.delete(provider);
127
+ return { output: [`Signed out of ${provider}`] };
128
+ }
129
+ throw new Error(`Unknown Pi auth command: ${action}`);
130
+ }
131
+ throw new Error(`Unknown Pi runner command: ${command}`);
132
+ }
133
+ async function oauthLogin(providerId, authFile, interaction) {
134
+ const models = builtinModels({ credentials: new JsonCredentialStore(authFile) });
135
+ const provider = models.getProvider(providerId);
136
+ if (!provider?.auth.oauth)
137
+ throw new Error(`${providerId} does not provide OAuth login.`);
138
+ await models.login(providerId, "oauth", {
139
+ prompt: (prompt) => authPrompt(prompt, interaction),
140
+ notify: (event) => authEvent(event, interaction),
141
+ });
142
+ }
143
+ async function authPrompt(prompt, interaction) {
144
+ if (prompt.type === "select") {
145
+ const answer = await interaction.select({ title: "Authentication", description: prompt.message, choices: prompt.options.map((option) => ({ value: option.id, label: option.label, ...(option.description ? { description: option.description } : {}) })) });
146
+ if (!answer)
147
+ throw new Error("Authentication cancelled.");
148
+ return answer;
149
+ }
150
+ const answer = await interaction.input({ title: "Authentication", prompt: prompt.message, ...(prompt.placeholder ? { initial: prompt.placeholder } : {}) });
151
+ if (answer === null)
152
+ throw new Error("Authentication cancelled.");
153
+ return answer;
154
+ }
155
+ function authEvent(event, interaction) {
156
+ if (event.type === "auth_url") {
157
+ interaction.notify(`${event.instructions ?? "Complete sign-in in your browser."}\n${event.url}`);
158
+ interaction.openUrl?.(event.url);
159
+ }
160
+ else if (event.type === "device_code") {
161
+ interaction.notify(`Open ${event.verificationUri} and enter ${event.userCode}`);
162
+ interaction.openUrl?.(event.verificationUri);
163
+ }
164
+ else
165
+ interaction.notify(event.message);
166
+ }
167
+ export function piConfig(value) {
168
+ if (!value || typeof value !== "object" || Array.isArray(value))
169
+ throw new Error("Pi runner configuration is missing.");
170
+ const config = value;
171
+ if (!config.provider || !config.model)
172
+ throw new Error("Pi runner requires provider and model. Run `goah runner setup`.");
173
+ return config;
174
+ }
175
+ export function piEnvironment(config) {
176
+ const env = { GOAH_PI_PROVIDER: config.provider, GOAH_PI_MODEL: config.model, GOAH_PI_AUTH_FILE: config.authFile ?? defaultAuthFile() };
177
+ if (config.provider === "faux")
178
+ env.GOAH_PI_FAUX_HANDOFF = JSON.stringify(config.fauxHandoff ?? { observations: ["faux runner completed"], results: [], nextSteps: [] });
179
+ if (config.provider !== "faux" && !["ollama", "lm-studio", "llama.cpp"].includes(config.provider)) {
180
+ const key = config.api ? "GOAH_PI_API_KEY" : defaultApiKeyEnv(config.provider);
181
+ env[key] = `env?:${config.apiKeyEnv ?? defaultApiKeyEnv(config.provider)}`;
182
+ }
183
+ if (config.baseUrl)
184
+ env.GOAH_PI_BASE_URL = config.baseUrl;
185
+ if (config.api)
186
+ env.GOAH_PI_API = config.api;
187
+ if (config.contextWindowTokens)
188
+ env.GOAH_PI_CONTEXT_WINDOW_TOKENS = String(config.contextWindowTokens);
189
+ if (config.maxOutputTokens)
190
+ env.GOAH_PI_MAX_OUTPUT_TOKENS = String(config.maxOutputTokens);
191
+ return env;
192
+ }
193
+ function workerEnvironment(config) {
194
+ const env = piEnvironment(config);
195
+ for (const key of Object.keys(env))
196
+ if (key.endsWith("API_KEY") || env[key]?.startsWith("env?:") || env[key]?.startsWith("env:"))
197
+ delete env[key];
198
+ env.GOAH_PI_AUTH_FILE = "";
199
+ return env;
200
+ }
201
+ function defaultApiKeyEnv(provider) { const map = { anthropic: "ANTHROPIC_API_KEY", openai: "OPENAI_API_KEY", google: "GEMINI_API_KEY", openrouter: "OPENROUTER_API_KEY", xai: "XAI_API_KEY", groq: "GROQ_API_KEY", mistral: "MISTRAL_API_KEY", deepseek: "DEEPSEEK_API_KEY", nvidia: "NVIDIA_API_KEY", "github-copilot": "COPILOT_GITHUB_TOKEN", "kimi-coding": "KIMI_API_KEY" }; return map[provider] ?? `${provider.toUpperCase().replace(/[^A-Z0-9]+/g, "_")}_API_KEY`; }
202
+ function localBaseUrl(provider) { return provider === "ollama" ? "http://127.0.0.1:11434/v1" : provider === "lm-studio" ? "http://127.0.0.1:1234/v1" : "http://127.0.0.1:8080/v1"; }
203
+ function positive(value, fallback) { const parsed = Number(value); return Number.isInteger(parsed) && parsed > 0 ? parsed : fallback; }
204
+ async function discoverLocalModels(provider) {
205
+ const base = localBaseUrl(provider);
206
+ const url = provider === "ollama" ? `${base.replace(/\/v1\/?$/, "")}/api/tags` : `${base.replace(/\/$/, "")}/models`;
207
+ try {
208
+ const response = await fetch(url, { signal: AbortSignal.timeout(1_500) });
209
+ if (!response.ok)
210
+ return [];
211
+ const body = await response.json();
212
+ const ids = provider === "ollama" ? (body.models ?? []).map((item) => item.name) : (body.data ?? []).map((item) => item.id);
213
+ return ids.filter((id) => Boolean(id)).map((id) => ({ provider, id, name: id, contextWindow: 128_000, maxTokens: 16_384, reasoning: false }));
214
+ }
215
+ catch {
216
+ return [];
217
+ }
218
+ }
219
+ //# sourceMappingURL=configurator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurator.js","sourceRoot":"","sources":["../src/configurator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Credential, CredentialInfo, CredentialStore } from "@earendil-works/pi-ai";
2
+ /** Small file-backed implementation of Pi's credential contract. */
3
+ export declare class JsonCredentialStore implements CredentialStore {
4
+ #private;
5
+ readonly path: string;
6
+ constructor(path: string);
7
+ read(providerId: string): Promise<Credential | undefined>;
8
+ list(): Promise<readonly CredentialInfo[]>;
9
+ modify(providerId: string, fn: (current: Credential | undefined) => Promise<Credential | undefined>): Promise<Credential | undefined>;
10
+ delete(providerId: string): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=credential-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../src/credential-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEzF,oEAAoE;AACpE,qBAAa,mBAAoB,YAAW,eAAe;;IAE7C,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;IAE3B,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IACzD,IAAI,IAAI,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC;IAI1C,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,KAAK,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAarI,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAwBhD"}
@@ -0,0 +1,69 @@
1
+ import { chmod, mkdir, readFile, rename, writeFile } from "node:fs/promises";
2
+ import { dirname } from "node:path";
3
+ /** Small file-backed implementation of Pi's credential contract. */
4
+ export class JsonCredentialStore {
5
+ path;
6
+ #tails = new Map();
7
+ constructor(path) {
8
+ this.path = path;
9
+ }
10
+ async read(providerId) { return (await this.#readAll())[providerId]; }
11
+ async list() {
12
+ return Object.entries(await this.#readAll()).map(([providerId, credential]) => ({ providerId, type: credential.type }));
13
+ }
14
+ async modify(providerId, fn) {
15
+ const previous = this.#tails.get(providerId) ?? Promise.resolve();
16
+ let result;
17
+ const next = previous.then(async () => {
18
+ const all = await this.#readAll();
19
+ result = await fn(all[providerId]);
20
+ if (result !== undefined) {
21
+ all[providerId] = result;
22
+ await this.#writeAll(all);
23
+ }
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
+ }
35
+ async delete(providerId) {
36
+ const previous = this.#tails.get(providerId) ?? Promise.resolve();
37
+ const next = previous.then(async () => {
38
+ const all = await this.#readAll();
39
+ if (!(providerId in all))
40
+ return;
41
+ delete all[providerId];
42
+ await this.#writeAll(all);
43
+ });
44
+ this.#tails.set(providerId, next);
45
+ try {
46
+ await next;
47
+ }
48
+ finally {
49
+ if (this.#tails.get(providerId) === next)
50
+ this.#tails.delete(providerId);
51
+ }
52
+ }
53
+ async #readAll() {
54
+ try {
55
+ return JSON.parse(await readFile(this.path, "utf8"));
56
+ }
57
+ catch {
58
+ return {};
59
+ }
60
+ }
61
+ async #writeAll(value) {
62
+ await mkdir(dirname(this.path), { recursive: true });
63
+ const temporary = `${this.path}.${process.pid}.tmp`;
64
+ await writeFile(temporary, `${JSON.stringify(value, null, 2)}\n`, { mode: 0o600 });
65
+ await rename(temporary, this.path);
66
+ await chmod(this.path, 0o600);
67
+ }
68
+ }
69
+ //# sourceMappingURL=credential-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../src/credential-store.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export interface EnvSpecSource {
3
3
  root: string;
4
4
  }
5
5
  export declare const ENV_REFERENCE_PREFIX = "env:";
6
+ export declare const OPTIONAL_ENV_REFERENCE_PREFIX = "env?:";
6
7
  /** Parse one `.env` file into key/value pairs; missing files yield {}. Minimal grammar: KEY=VALUE, quotes stripped, comments and blanks ignored. */
7
8
  export declare function parseEnvFile(text: string): Record<string, string>;
8
9
  export declare function envFileChain(source: EnvSpecSource | undefined): Array<Record<string, string>>;
@@ -1 +1 @@
1
- {"version":3,"file":"env-spec.d.ts","sourceRoot":"","sources":["../src/env-spec.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAE3C,oJAAoJ;AACpJ,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcjE;AAMD,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAO7F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAclI"}
1
+ {"version":3,"file":"env-spec.d.ts","sourceRoot":"","sources":["../src/env-spec.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAC3C,eAAO,MAAM,6BAA6B,UAAU,CAAC;AAErD,oJAAoJ;AACpJ,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcjE;AAMD,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAO7F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBlI"}
@@ -15,6 +15,7 @@ import { readFileSync } from "node:fs";
15
15
  import { homedir } from "node:os";
16
16
  import { join } from "node:path";
17
17
  export const ENV_REFERENCE_PREFIX = "env:";
18
+ export const OPTIONAL_ENV_REFERENCE_PREFIX = "env?:";
18
19
  /** Parse one `.env` file into key/value pairs; missing files yield {}. Minimal grammar: KEY=VALUE, quotes stripped, comments and blanks ignored. */
19
20
  export function parseEnvFile(text) {
20
21
  const values = {};
@@ -65,6 +66,13 @@ export function resolveEnvSpec(spec, source) {
65
66
  const [fileLayer] = envFileChain(source);
66
67
  const resolved = {};
67
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
+ }
68
76
  if (!value.startsWith(ENV_REFERENCE_PREFIX)) {
69
77
  resolved[key] = value;
70
78
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"env-spec.js","sourceRoot":"","sources":["../src/env-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-spec.js","sourceRoot":"","sources":["../src/env-spec.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { type JsonValue, type AgentCapability, type RunRequest, type Runner, type RunnerHandle, type RunnerResult, type WakeOutput } from "goah-ledger-contract";
2
- export { createPiModel, parseModelCapabilities } from "./model-provider.js";
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";
3
5
  export { resolveEnvSpec } from "./env-spec.js";
4
6
  export interface PiStep {
5
7
  trace?: Array<{
@@ -34,10 +36,14 @@ export interface ProcessRunnerOptions {
34
36
  inheritEnv?: string[];
35
37
  killGraceMs?: number;
36
38
  timeoutMs?: number;
39
+ /** Resolve private per-wake runtime material (for example scoped model auth) before the worker starts. Never enters RunRequest context or Ledger events. */
40
+ prepareRuntime?: (request: RunRequest) => Promise<JsonValue | undefined>;
37
41
  }
38
42
  export declare function piWorkerPath(): string;
39
43
  export declare function verificationWorkerPath(): string;
40
- type WorkerRequest = Omit<RunRequest, "now" | "emit" | "rpc">;
44
+ type WorkerRequest = Omit<RunRequest, "now" | "emit" | "rpc"> & {
45
+ runtime?: JsonValue;
46
+ };
41
47
  /** Real process boundary. The child stays idle until begin() sends its request. */
42
48
  export declare class ProcessRunner implements Runner {
43
49
  readonly options: ProcessRunnerOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,SAAS;IAAG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE;AAC9E,MAAM,WAAW,QAAQ;IAAG,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;CAAE;AAEpF,8EAA8E;AAC9E,qBAAa,eAAe;;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,QAAQ;IAE7C,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,YAAY;IAgBpC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAoBnD;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,IAAI,MAAM,CAAsE;AAC5G,wBAAgB,sBAAsB,IAAI,MAAM,CAAgF;AAEhI,KAAK,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC;AAS9D,mFAAmF;AACnF,qBAAa,aAAc,YAAW,MAAM;IAE9B,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IADlD,QAAQ,CAAC,SAAS,EAAG,SAAS,CAAU;gBACnB,OAAO,EAAE,oBAAoB;IAElD,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,YAAY;IA+DpC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CACnD;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;AAC3F,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,KAAK,IAAI,EAAE,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAEpJ,gFAAgF;AAChF,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@ import { createInterface } from "node:readline";
3
3
  import { resolveEnvSpec } from "./env-spec.js";
4
4
  import { fileURLToPath } from "node:url";
5
5
  import { assertHandoff, } from "goah-ledger-contract";
6
- export { createPiModel, parseModelCapabilities } from "./model-provider.js";
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";
7
9
  export { resolveEnvSpec } from "./env-spec.js";
8
10
  /** In-process adapter for tests and for use inside a ProcessRunner worker. */
9
11
  export class PiRunnerAdapter {
@@ -124,13 +126,19 @@ export class ProcessRunner {
124
126
  if (started)
125
127
  return;
126
128
  started = true;
127
- const serializable = {
128
- wake: request.wake,
129
- context: request.context,
130
- };
131
- child.stdin?.write(`${JSON.stringify({ type: "start", request: serializable })}\n`);
132
- if (this.options.timeoutMs)
133
- timer = setTimeout(() => { timedOut = true; void terminate(); }, this.options.timeoutMs);
129
+ void (async () => {
130
+ try {
131
+ const runtime = await this.options.prepareRuntime?.(request);
132
+ const serializable = { wake: request.wake, context: request.context, ...(runtime !== undefined ? { runtime } : {}) };
133
+ child.stdin?.write(`${JSON.stringify({ type: "start", request: serializable })}\n`);
134
+ if (this.options.timeoutMs)
135
+ timer = setTimeout(() => { timedOut = true; void terminate(); }, this.options.timeoutMs);
136
+ }
137
+ catch (error) {
138
+ protocolError = error instanceof Error ? error.message : String(error);
139
+ await terminate();
140
+ }
141
+ })();
134
142
  },
135
143
  result,
136
144
  terminate,
@@ -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":"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"}
@@ -1,13 +1,30 @@
1
- import { createModels, fauxProvider, type Api, type Model } from "@earendil-works/pi-ai";
2
- export interface ModelCapabilities {
3
- contextWindowTokens: number;
4
- maxOutputTokensPerTurn: number;
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;
5
11
  }
6
- export declare function createPiModel(provider: string, modelId: string, env?: NodeJS.ProcessEnv): {
7
- models: ReturnType<typeof createModels>;
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;
8
22
  model: Model<Api>;
9
23
  faux?: ReturnType<typeof fauxProvider>;
10
- };
11
- export declare function parseModelCapabilities(value: string | undefined): ModelCapabilities;
12
- export declare function providerApiKey(provider: string): string | undefined;
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>;
13
30
  //# sourceMappingURL=model-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-provider.d.ts","sourceRoot":"","sources":["../src/model-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGZ,YAAY,EACZ,KAAK,GAAG,EACR,KAAK,KAAK,EACX,MAAM,uBAAuB,CAAC;AAO/B,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG;IACtG,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACxC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CACxC,CA4DA;AAMD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,CASnF;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKnE"}
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"}