@opengoat/core 2026.2.9
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/LICENSE +21 -0
- package/README.md +20 -0
- package/dist/apps/runtime/create-opengoat-runtime.d.ts +14 -0
- package/dist/apps/runtime/create-opengoat-runtime.js +23 -0
- package/dist/apps/runtime/create-opengoat-runtime.js.map +1 -0
- package/dist/core/acp/application/acp-agent.d.ts +60 -0
- package/dist/core/acp/application/acp-agent.js +424 -0
- package/dist/core/acp/application/acp-agent.js.map +1 -0
- package/dist/core/acp/application/session-store.d.ts +13 -0
- package/dist/core/acp/application/session-store.js +40 -0
- package/dist/core/acp/application/session-store.js.map +1 -0
- package/dist/core/acp/domain/meta.d.ts +7 -0
- package/dist/core/acp/domain/meta.js +31 -0
- package/dist/core/acp/domain/meta.js.map +1 -0
- package/dist/core/acp/domain/session.d.ts +23 -0
- package/dist/core/acp/domain/session.js +2 -0
- package/dist/core/acp/domain/session.js.map +1 -0
- package/dist/core/acp/index.d.ts +5 -0
- package/dist/core/acp/index.js +4 -0
- package/dist/core/acp/index.js.map +1 -0
- package/dist/core/agents/application/agent-manifest.service.d.ts +20 -0
- package/dist/core/agents/application/agent-manifest.service.js +89 -0
- package/dist/core/agents/application/agent-manifest.service.js.map +1 -0
- package/dist/core/agents/application/agent.service.d.ts +25 -0
- package/dist/core/agents/application/agent.service.js +191 -0
- package/dist/core/agents/application/agent.service.js.map +1 -0
- package/dist/core/agents/application/workspace-context.service.d.ts +28 -0
- package/dist/core/agents/application/workspace-context.service.js +157 -0
- package/dist/core/agents/application/workspace-context.service.js.map +1 -0
- package/dist/core/agents/domain/agent-manifest.d.ts +37 -0
- package/dist/core/agents/domain/agent-manifest.js +228 -0
- package/dist/core/agents/domain/agent-manifest.js.map +1 -0
- package/dist/core/agents/domain/workspace-context.d.ts +13 -0
- package/dist/core/agents/domain/workspace-context.js +14 -0
- package/dist/core/agents/domain/workspace-context.js.map +1 -0
- package/dist/core/agents/index.d.ts +6 -0
- package/dist/core/agents/index.js +6 -0
- package/dist/core/agents/index.js.map +1 -0
- package/dist/core/bootstrap/application/bootstrap.service.d.ts +24 -0
- package/dist/core/bootstrap/application/bootstrap.service.js +108 -0
- package/dist/core/bootstrap/application/bootstrap.service.js.map +1 -0
- package/dist/core/bootstrap/index.d.ts +1 -0
- package/dist/core/bootstrap/index.js +2 -0
- package/dist/core/bootstrap/index.js.map +1 -0
- package/dist/core/domain/agent-id.d.ts +3 -0
- package/dist/core/domain/agent-id.js +12 -0
- package/dist/core/domain/agent-id.js.map +1 -0
- package/dist/core/domain/agent.d.ts +39 -0
- package/dist/core/domain/agent.js +2 -0
- package/dist/core/domain/agent.js.map +1 -0
- package/dist/core/domain/opengoat-paths.d.ts +29 -0
- package/dist/core/domain/opengoat-paths.js +2 -0
- package/dist/core/domain/opengoat-paths.js.map +1 -0
- package/dist/core/gateway/domain/protocol.d.ts +113 -0
- package/dist/core/gateway/domain/protocol.js +394 -0
- package/dist/core/gateway/domain/protocol.js.map +1 -0
- package/dist/core/gateway/index.d.ts +2 -0
- package/dist/core/gateway/index.js +2 -0
- package/dist/core/gateway/index.js.map +1 -0
- package/dist/core/llm/application/vercel-ai-text-runtime.d.ts +26 -0
- package/dist/core/llm/application/vercel-ai-text-runtime.js +223 -0
- package/dist/core/llm/application/vercel-ai-text-runtime.js.map +1 -0
- package/dist/core/llm/domain/text-runtime.d.ts +22 -0
- package/dist/core/llm/domain/text-runtime.js +2 -0
- package/dist/core/llm/domain/text-runtime.js.map +1 -0
- package/dist/core/llm/index.d.ts +2 -0
- package/dist/core/llm/index.js +2 -0
- package/dist/core/llm/index.js.map +1 -0
- package/dist/core/logging/application/structured-logger.d.ts +29 -0
- package/dist/core/logging/application/structured-logger.js +86 -0
- package/dist/core/logging/application/structured-logger.js.map +1 -0
- package/dist/core/logging/domain/logger.d.ts +16 -0
- package/dist/core/logging/domain/logger.js +18 -0
- package/dist/core/logging/domain/logger.js.map +1 -0
- package/dist/core/logging/index.d.ts +3 -0
- package/dist/core/logging/index.js +3 -0
- package/dist/core/logging/index.js.map +1 -0
- package/dist/core/opengoat/application/opengoat.service.d.ts +84 -0
- package/dist/core/opengoat/application/opengoat.service.js +308 -0
- package/dist/core/opengoat/application/opengoat.service.js.map +1 -0
- package/dist/core/opengoat/index.d.ts +1 -0
- package/dist/core/opengoat/index.js +2 -0
- package/dist/core/opengoat/index.js.map +1 -0
- package/dist/core/orchestration/application/orchestration-planner.service.d.ts +28 -0
- package/dist/core/orchestration/application/orchestration-planner.service.js +279 -0
- package/dist/core/orchestration/application/orchestration-planner.service.js.map +1 -0
- package/dist/core/orchestration/application/orchestration.service.d.ts +52 -0
- package/dist/core/orchestration/application/orchestration.service.js +1044 -0
- package/dist/core/orchestration/application/orchestration.service.js.map +1 -0
- package/dist/core/orchestration/application/routing.service.d.ts +11 -0
- package/dist/core/orchestration/application/routing.service.js +108 -0
- package/dist/core/orchestration/application/routing.service.js.map +1 -0
- package/dist/core/orchestration/domain/loop.d.ts +119 -0
- package/dist/core/orchestration/domain/loop.js +2 -0
- package/dist/core/orchestration/domain/loop.js.map +1 -0
- package/dist/core/orchestration/domain/routing.d.ts +58 -0
- package/dist/core/orchestration/domain/routing.js +2 -0
- package/dist/core/orchestration/domain/routing.js.map +1 -0
- package/dist/core/orchestration/domain/run-events.d.ts +21 -0
- package/dist/core/orchestration/domain/run-events.js +2 -0
- package/dist/core/orchestration/domain/run-events.js.map +1 -0
- package/dist/core/orchestration/index.d.ts +6 -0
- package/dist/core/orchestration/index.js +4 -0
- package/dist/core/orchestration/index.js.map +1 -0
- package/dist/core/plugins/application/plugin.service.d.ts +32 -0
- package/dist/core/plugins/application/plugin.service.js +236 -0
- package/dist/core/plugins/application/plugin.service.js.map +1 -0
- package/dist/core/plugins/domain/openclaw-compat.d.ts +60 -0
- package/dist/core/plugins/domain/openclaw-compat.js +9 -0
- package/dist/core/plugins/domain/openclaw-compat.js.map +1 -0
- package/dist/core/plugins/index.d.ts +3 -0
- package/dist/core/plugins/index.js +3 -0
- package/dist/core/plugins/index.js.map +1 -0
- package/dist/core/ports/command-runner.port.d.ts +14 -0
- package/dist/core/ports/command-runner.port.js +2 -0
- package/dist/core/ports/command-runner.port.js.map +1 -0
- package/dist/core/ports/file-system.port.d.ts +9 -0
- package/dist/core/ports/file-system.port.js +2 -0
- package/dist/core/ports/file-system.port.js.map +1 -0
- package/dist/core/ports/path.port.d.ts +3 -0
- package/dist/core/ports/path.port.js +2 -0
- package/dist/core/ports/path.port.js.map +1 -0
- package/dist/core/ports/paths-provider.port.d.ts +4 -0
- package/dist/core/ports/paths-provider.port.js +2 -0
- package/dist/core/ports/paths-provider.port.js.map +1 -0
- package/dist/core/providers/application/provider.service.d.ts +80 -0
- package/dist/core/providers/application/provider.service.js +391 -0
- package/dist/core/providers/application/provider.service.js.map +1 -0
- package/dist/core/providers/base-provider.d.ts +20 -0
- package/dist/core/providers/base-provider.js +44 -0
- package/dist/core/providers/base-provider.js.map +1 -0
- package/dist/core/providers/cli-provider.d.ts +26 -0
- package/dist/core/providers/cli-provider.js +151 -0
- package/dist/core/providers/cli-provider.js.map +1 -0
- package/dist/core/providers/command-executor.d.ts +12 -0
- package/dist/core/providers/command-executor.js +76 -0
- package/dist/core/providers/command-executor.js.map +1 -0
- package/dist/core/providers/errors.d.ts +30 -0
- package/dist/core/providers/errors.js +52 -0
- package/dist/core/providers/errors.js.map +1 -0
- package/dist/core/providers/index.d.ts +18 -0
- package/dist/core/providers/index.js +27 -0
- package/dist/core/providers/index.js.map +1 -0
- package/dist/core/providers/loader.d.ts +2 -0
- package/dist/core/providers/loader.js +99 -0
- package/dist/core/providers/loader.js.map +1 -0
- package/dist/core/providers/onboarding.d.ts +13 -0
- package/dist/core/providers/onboarding.js +149 -0
- package/dist/core/providers/onboarding.js.map +1 -0
- package/dist/core/providers/provider-module.d.ts +19 -0
- package/dist/core/providers/provider-module.js +2 -0
- package/dist/core/providers/provider-module.js.map +1 -0
- package/dist/core/providers/provider-session.d.ts +3 -0
- package/dist/core/providers/provider-session.js +44 -0
- package/dist/core/providers/provider-session.js.map +1 -0
- package/dist/core/providers/providers/claude/index.d.ts +4 -0
- package/dist/core/providers/providers/claude/index.js +19 -0
- package/dist/core/providers/providers/claude/index.js.map +1 -0
- package/dist/core/providers/providers/claude/provider.d.ts +8 -0
- package/dist/core/providers/providers/claude/provider.js +106 -0
- package/dist/core/providers/providers/claude/provider.js.map +1 -0
- package/dist/core/providers/providers/codex/index.d.ts +4 -0
- package/dist/core/providers/providers/codex/index.js +19 -0
- package/dist/core/providers/providers/codex/index.js.map +1 -0
- package/dist/core/providers/providers/codex/provider.d.ts +7 -0
- package/dist/core/providers/providers/codex/provider.js +31 -0
- package/dist/core/providers/providers/codex/provider.js.map +1 -0
- package/dist/core/providers/providers/cursor/index.d.ts +4 -0
- package/dist/core/providers/providers/cursor/index.js +19 -0
- package/dist/core/providers/providers/cursor/index.js.map +1 -0
- package/dist/core/providers/providers/cursor/provider.d.ts +11 -0
- package/dist/core/providers/providers/cursor/provider.js +90 -0
- package/dist/core/providers/providers/cursor/provider.js.map +1 -0
- package/dist/core/providers/providers/extended-http/catalog.d.ts +40 -0
- package/dist/core/providers/providers/extended-http/catalog.js +728 -0
- package/dist/core/providers/providers/extended-http/catalog.js.map +1 -0
- package/dist/core/providers/providers/extended-http/index.d.ts +5 -0
- package/dist/core/providers/providers/extended-http/index.js +13 -0
- package/dist/core/providers/providers/extended-http/index.js.map +1 -0
- package/dist/core/providers/providers/extended-http/provider.d.ts +31 -0
- package/dist/core/providers/providers/extended-http/provider.js +580 -0
- package/dist/core/providers/providers/extended-http/provider.js.map +1 -0
- package/dist/core/providers/providers/gemini/index.d.ts +4 -0
- package/dist/core/providers/providers/gemini/index.js +37 -0
- package/dist/core/providers/providers/gemini/index.js.map +1 -0
- package/dist/core/providers/providers/gemini/provider.d.ts +7 -0
- package/dist/core/providers/providers/gemini/provider.js +59 -0
- package/dist/core/providers/providers/gemini/provider.js.map +1 -0
- package/dist/core/providers/providers/grok/index.d.ts +4 -0
- package/dist/core/providers/providers/grok/index.js +41 -0
- package/dist/core/providers/providers/grok/index.js.map +1 -0
- package/dist/core/providers/providers/grok/provider.d.ts +13 -0
- package/dist/core/providers/providers/grok/provider.js +95 -0
- package/dist/core/providers/providers/grok/provider.js.map +1 -0
- package/dist/core/providers/providers/openai/index.d.ts +4 -0
- package/dist/core/providers/providers/openai/index.js +45 -0
- package/dist/core/providers/providers/openai/index.js.map +1 -0
- package/dist/core/providers/providers/openai/provider.d.ts +14 -0
- package/dist/core/providers/providers/openai/provider.js +203 -0
- package/dist/core/providers/providers/openai/provider.js.map +1 -0
- package/dist/core/providers/providers/openclaw/index.d.ts +4 -0
- package/dist/core/providers/providers/openclaw/index.js +31 -0
- package/dist/core/providers/providers/openclaw/index.js.map +1 -0
- package/dist/core/providers/providers/openclaw/provider.d.ts +11 -0
- package/dist/core/providers/providers/openclaw/provider.js +108 -0
- package/dist/core/providers/providers/openclaw/provider.js.map +1 -0
- package/dist/core/providers/providers/opencode/index.d.ts +4 -0
- package/dist/core/providers/providers/opencode/index.js +23 -0
- package/dist/core/providers/providers/opencode/index.js.map +1 -0
- package/dist/core/providers/providers/opencode/provider.d.ts +11 -0
- package/dist/core/providers/providers/opencode/provider.js +215 -0
- package/dist/core/providers/providers/opencode/provider.js.map +1 -0
- package/dist/core/providers/providers/openrouter/index.d.ts +4 -0
- package/dist/core/providers/providers/openrouter/index.js +37 -0
- package/dist/core/providers/providers/openrouter/index.js.map +1 -0
- package/dist/core/providers/providers/openrouter/provider.d.ts +13 -0
- package/dist/core/providers/providers/openrouter/provider.js +80 -0
- package/dist/core/providers/providers/openrouter/provider.js.map +1 -0
- package/dist/core/providers/registry.d.ts +13 -0
- package/dist/core/providers/registry.js +36 -0
- package/dist/core/providers/registry.js.map +1 -0
- package/dist/core/providers/types.d.ts +101 -0
- package/dist/core/providers/types.js +2 -0
- package/dist/core/providers/types.js.map +1 -0
- package/dist/core/scenarios/application/scenario-runner.service.d.ts +23 -0
- package/dist/core/scenarios/application/scenario-runner.service.js +172 -0
- package/dist/core/scenarios/application/scenario-runner.service.js.map +1 -0
- package/dist/core/scenarios/domain/scenario.d.ts +43 -0
- package/dist/core/scenarios/domain/scenario.js +2 -0
- package/dist/core/scenarios/domain/scenario.js.map +1 -0
- package/dist/core/scenarios/index.d.ts +2 -0
- package/dist/core/scenarios/index.js +2 -0
- package/dist/core/scenarios/index.js.map +1 -0
- package/dist/core/sessions/application/session.service.d.ts +74 -0
- package/dist/core/sessions/application/session.service.js +895 -0
- package/dist/core/sessions/application/session.service.js.map +1 -0
- package/dist/core/sessions/domain/session.d.ts +80 -0
- package/dist/core/sessions/domain/session.js +24 -0
- package/dist/core/sessions/domain/session.js.map +1 -0
- package/dist/core/sessions/domain/transcript.d.ts +28 -0
- package/dist/core/sessions/domain/transcript.js +10 -0
- package/dist/core/sessions/domain/transcript.js.map +1 -0
- package/dist/core/sessions/errors.d.ts +12 -0
- package/dist/core/sessions/errors.js +22 -0
- package/dist/core/sessions/errors.js.map +1 -0
- package/dist/core/sessions/index.d.ts +6 -0
- package/dist/core/sessions/index.js +4 -0
- package/dist/core/sessions/index.js.map +1 -0
- package/dist/core/skills/application/skill.service.d.ts +24 -0
- package/dist/core/skills/application/skill.service.js +375 -0
- package/dist/core/skills/application/skill.service.js.map +1 -0
- package/dist/core/skills/domain/skill.d.ts +62 -0
- package/dist/core/skills/domain/skill.js +46 -0
- package/dist/core/skills/domain/skill.js.map +1 -0
- package/dist/core/skills/index.d.ts +3 -0
- package/dist/core/skills/index.js +3 -0
- package/dist/core/skills/index.js.map +1 -0
- package/dist/core/templates/default-templates.d.ts +19 -0
- package/dist/core/templates/default-templates.js +259 -0
- package/dist/core/templates/default-templates.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/platform/node/acp-server.d.ts +12 -0
- package/dist/platform/node/acp-server.js +18 -0
- package/dist/platform/node/acp-server.js.map +1 -0
- package/dist/platform/node/dotenv.d.ts +6 -0
- package/dist/platform/node/dotenv.js +67 -0
- package/dist/platform/node/dotenv.js.map +1 -0
- package/dist/platform/node/node-command-runner.d.ts +4 -0
- package/dist/platform/node/node-command-runner.js +29 -0
- package/dist/platform/node/node-command-runner.js.map +1 -0
- package/dist/platform/node/node-file-system.d.ts +10 -0
- package/dist/platform/node/node-file-system.js +47 -0
- package/dist/platform/node/node-file-system.js.map +1 -0
- package/dist/platform/node/node-logger.d.ts +9 -0
- package/dist/platform/node/node-logger.js +124 -0
- package/dist/platform/node/node-logger.js.map +1 -0
- package/dist/platform/node/node-path.port.d.ts +9 -0
- package/dist/platform/node/node-path.port.js +41 -0
- package/dist/platform/node/node-path.port.js.map +1 -0
- package/dist/platform/node/opengoat-gateway-client.d.ts +19 -0
- package/dist/platform/node/opengoat-gateway-client.js +194 -0
- package/dist/platform/node/opengoat-gateway-client.js.map +1 -0
- package/dist/platform/node/opengoat-gateway-server.d.ts +53 -0
- package/dist/platform/node/opengoat-gateway-server.js +906 -0
- package/dist/platform/node/opengoat-gateway-server.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-provider.js","sourceRoot":"","sources":["../../../src/core/providers/cli-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ProviderExecutionResult } from "./types.js";
|
|
2
|
+
interface ExecuteCommandOptions {
|
|
3
|
+
command: string;
|
|
4
|
+
args: string[];
|
|
5
|
+
cwd?: string;
|
|
6
|
+
env?: NodeJS.ProcessEnv;
|
|
7
|
+
abortSignal?: AbortSignal;
|
|
8
|
+
onStdout?: (chunk: string) => void;
|
|
9
|
+
onStderr?: (chunk: string) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function executeCommand(options: ExecuteCommandOptions): Promise<ProviderExecutionResult>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
export function executeCommand(options) {
|
|
3
|
+
return new Promise((resolve, reject) => {
|
|
4
|
+
if (options.abortSignal?.aborted) {
|
|
5
|
+
reject(createAbortError());
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const child = spawn(options.command, options.args, {
|
|
9
|
+
cwd: options.cwd,
|
|
10
|
+
env: options.env,
|
|
11
|
+
stdio: ["ignore", "pipe", "pipe"]
|
|
12
|
+
});
|
|
13
|
+
let stdout = "";
|
|
14
|
+
let stderr = "";
|
|
15
|
+
child.stdout.on("data", (chunk) => {
|
|
16
|
+
const text = chunk.toString();
|
|
17
|
+
stdout += text;
|
|
18
|
+
options.onStdout?.(text);
|
|
19
|
+
});
|
|
20
|
+
child.stderr.on("data", (chunk) => {
|
|
21
|
+
const text = chunk.toString();
|
|
22
|
+
stderr += text;
|
|
23
|
+
options.onStderr?.(text);
|
|
24
|
+
});
|
|
25
|
+
let settled = false;
|
|
26
|
+
const finishWithError = (error) => {
|
|
27
|
+
if (settled) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
settled = true;
|
|
31
|
+
cleanup();
|
|
32
|
+
reject(error);
|
|
33
|
+
};
|
|
34
|
+
const finishWithResult = (code) => {
|
|
35
|
+
if (settled) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
settled = true;
|
|
39
|
+
cleanup();
|
|
40
|
+
resolve({
|
|
41
|
+
code: code ?? 1,
|
|
42
|
+
stdout,
|
|
43
|
+
stderr
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
const cleanup = () => {
|
|
47
|
+
options.abortSignal?.removeEventListener("abort", handleAbort);
|
|
48
|
+
};
|
|
49
|
+
const handleAbort = () => {
|
|
50
|
+
terminateProcess(child);
|
|
51
|
+
finishWithError(createAbortError());
|
|
52
|
+
};
|
|
53
|
+
options.abortSignal?.addEventListener("abort", handleAbort, { once: true });
|
|
54
|
+
child.on("error", (error) => finishWithError(error instanceof Error ? error : new Error(String(error))));
|
|
55
|
+
child.on("close", (code) => {
|
|
56
|
+
finishWithResult(code);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function terminateProcess(child) {
|
|
61
|
+
if (child.killed) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
child.kill("SIGTERM");
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// ignore termination errors
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function createAbortError() {
|
|
72
|
+
const error = new Error("Command execution aborted.");
|
|
73
|
+
error.name = "AbortError";
|
|
74
|
+
return error;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=command-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-executor.js","sourceRoot":"","sources":["../../../src/core/providers/command-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare class OpenGoatProviderError extends Error {
|
|
2
|
+
constructor(message: string);
|
|
3
|
+
}
|
|
4
|
+
export declare class ProviderNotFoundError extends OpenGoatProviderError {
|
|
5
|
+
constructor(providerId: string, availableProviderIds: string[]);
|
|
6
|
+
}
|
|
7
|
+
export declare class UnsupportedProviderOptionError extends OpenGoatProviderError {
|
|
8
|
+
constructor(providerId: string, optionName: string);
|
|
9
|
+
}
|
|
10
|
+
export declare class UnsupportedProviderActionError extends OpenGoatProviderError {
|
|
11
|
+
constructor(providerId: string, action: string);
|
|
12
|
+
}
|
|
13
|
+
export declare class ProviderCommandNotFoundError extends OpenGoatProviderError {
|
|
14
|
+
constructor(providerId: string, command: string);
|
|
15
|
+
}
|
|
16
|
+
export declare class ProviderAuthenticationError extends OpenGoatProviderError {
|
|
17
|
+
constructor(providerId: string, message: string);
|
|
18
|
+
}
|
|
19
|
+
export declare class ProviderRuntimeError extends OpenGoatProviderError {
|
|
20
|
+
constructor(providerId: string, message: string);
|
|
21
|
+
}
|
|
22
|
+
export declare class AgentConfigNotFoundError extends OpenGoatProviderError {
|
|
23
|
+
constructor(agentId: string);
|
|
24
|
+
}
|
|
25
|
+
export declare class InvalidAgentConfigError extends OpenGoatProviderError {
|
|
26
|
+
constructor(agentId: string, configPath: string, message?: string);
|
|
27
|
+
}
|
|
28
|
+
export declare class InvalidProviderConfigError extends OpenGoatProviderError {
|
|
29
|
+
constructor(providerId: string, configPath: string, message?: string);
|
|
30
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export class OpenGoatProviderError extends Error {
|
|
2
|
+
constructor(message) {
|
|
3
|
+
super(message);
|
|
4
|
+
this.name = this.constructor.name;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class ProviderNotFoundError extends OpenGoatProviderError {
|
|
8
|
+
constructor(providerId, availableProviderIds) {
|
|
9
|
+
super(`Unknown provider "${providerId}". Available providers: ${availableProviderIds.join(", ")}.`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class UnsupportedProviderOptionError extends OpenGoatProviderError {
|
|
13
|
+
constructor(providerId, optionName) {
|
|
14
|
+
super(`Provider "${providerId}" does not support ${optionName}.`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class UnsupportedProviderActionError extends OpenGoatProviderError {
|
|
18
|
+
constructor(providerId, action) {
|
|
19
|
+
super(`Provider "${providerId}" does not support action "${action}".`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class ProviderCommandNotFoundError extends OpenGoatProviderError {
|
|
23
|
+
constructor(providerId, command) {
|
|
24
|
+
super(`Provider "${providerId}" command "${command}" was not found or not executable.`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export class ProviderAuthenticationError extends OpenGoatProviderError {
|
|
28
|
+
constructor(providerId, message) {
|
|
29
|
+
super(`Provider "${providerId}" authentication error: ${message}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export class ProviderRuntimeError extends OpenGoatProviderError {
|
|
33
|
+
constructor(providerId, message) {
|
|
34
|
+
super(`Provider "${providerId}" runtime error: ${message}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export class AgentConfigNotFoundError extends OpenGoatProviderError {
|
|
38
|
+
constructor(agentId) {
|
|
39
|
+
super(`Agent "${agentId}" was not found. Create it first with: opengoat agent create \"${agentId}\"`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export class InvalidAgentConfigError extends OpenGoatProviderError {
|
|
43
|
+
constructor(agentId, configPath, message = "invalid JSON") {
|
|
44
|
+
super(`Agent "${agentId}" has an invalid config at ${configPath}: ${message}.`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export class InvalidProviderConfigError extends OpenGoatProviderError {
|
|
48
|
+
constructor(providerId, configPath, message = "invalid JSON") {
|
|
49
|
+
super(`Provider "${providerId}" has an invalid config at ${configPath}: ${message}.`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/core/providers/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAmB,OAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,qBAAqB;IAC9D,YAAmB,UAAkB,EAAE,oBAA8B;QACnE,KAAK,CACH,qBAAqB,UAAU,2BAA2B,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7F,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,8BAA+B,SAAQ,qBAAqB;IACvE,YAAmB,UAAkB,EAAE,UAAkB;QACvD,KAAK,CAAC,aAAa,UAAU,sBAAsB,UAAU,GAAG,CAAC,CAAC;IACpE,CAAC;CACF;AAED,MAAM,OAAO,8BAA+B,SAAQ,qBAAqB;IACvE,YAAmB,UAAkB,EAAE,MAAc;QACnD,KAAK,CAAC,aAAa,UAAU,8BAA8B,MAAM,IAAI,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,4BAA6B,SAAQ,qBAAqB;IACrE,YAAmB,UAAkB,EAAE,OAAe;QACpD,KAAK,CACH,aAAa,UAAU,cAAc,OAAO,oCAAoC,CACjF,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,qBAAqB;IACpE,YAAmB,UAAkB,EAAE,OAAe;QACpD,KAAK,CAAC,aAAa,UAAU,2BAA2B,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,qBAAqB;IAC7D,YAAmB,UAAkB,EAAE,OAAe;QACpD,KAAK,CAAC,aAAa,UAAU,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,qBAAqB;IACjE,YAAmB,OAAe;QAChC,KAAK,CACH,UAAU,OAAO,kEAAkE,OAAO,IAAI,CAC/F,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,qBAAqB;IAChE,YAAmB,OAAe,EAAE,UAAkB,EAAE,OAAO,GAAG,cAAc;QAC9E,KAAK,CAAC,UAAU,OAAO,8BAA8B,UAAU,KAAK,OAAO,GAAG,CAAC,CAAC;IAClF,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,qBAAqB;IACnE,YAAmB,UAAkB,EAAE,UAAkB,EAAE,OAAO,GAAG,cAAc;QACjF,KAAK,CAAC,aAAa,UAAU,8BAA8B,UAAU,KAAK,OAAO,GAAG,CAAC,CAAC;IACxF,CAAC;CACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ProviderSummary } from "./types.js";
|
|
2
|
+
import { ProviderRegistry } from "./registry.js";
|
|
3
|
+
export declare const DEFAULT_PROVIDER_ID = "codex";
|
|
4
|
+
export declare function createDefaultProviderRegistry(): Promise<ProviderRegistry>;
|
|
5
|
+
export declare function registerBuiltinProviders(registry: ProviderRegistry): Promise<void>;
|
|
6
|
+
export declare function listProviderSummaries(registry: ProviderRegistry): ProviderSummary[];
|
|
7
|
+
export { ProviderRegistry, type ProviderFactory } from "./registry.js";
|
|
8
|
+
export { BaseProvider } from "./base-provider.js";
|
|
9
|
+
export { BaseCliProvider, type BaseCliProviderConfig } from "./cli-provider.js";
|
|
10
|
+
export { ProviderService } from "./application/provider.service.js";
|
|
11
|
+
export type { AgentRuntimeProfile, ProviderStoredConfig } from "./application/provider.service.js";
|
|
12
|
+
export { buildProviderFamilies, filterProvidersForOnboarding, isDefaultOnboardingAgent, resolveOnboardingProviderSetupUrl, selectProvidersForOnboarding, sortProvidersForOnboarding } from "./onboarding.js";
|
|
13
|
+
export type { ProviderOnboardingFamily } from "./onboarding.js";
|
|
14
|
+
export { loadProviderModules } from "./loader.js";
|
|
15
|
+
export type { ProviderModule } from "./provider-module.js";
|
|
16
|
+
export type { ProviderOnboardingEnvField, ProviderOnboardingSpec } from "./provider-module.js";
|
|
17
|
+
export type { Provider, ProviderAuthOptions, ProviderCreateAgentOptions, ProviderDeleteAgentOptions, ProviderCapabilities, ProviderExecutionResult, ProviderInvocationLifecycleEvent, ProviderInvocationLifecycleHooks, ProviderInvokeOptions, ProviderInvokeRuntimeContext, ProviderKind, ProviderSummary, AgentProviderBinding } from "./types.js";
|
|
18
|
+
export { AgentConfigNotFoundError, InvalidAgentConfigError, InvalidProviderConfigError, OpenGoatProviderError, ProviderAuthenticationError, ProviderCommandNotFoundError, ProviderNotFoundError, ProviderRuntimeError, UnsupportedProviderActionError, UnsupportedProviderOptionError } from "./errors.js";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { loadProviderModules } from "./loader.js";
|
|
2
|
+
import { ProviderRegistry } from "./registry.js";
|
|
3
|
+
export const DEFAULT_PROVIDER_ID = "codex";
|
|
4
|
+
export async function createDefaultProviderRegistry() {
|
|
5
|
+
const registry = new ProviderRegistry();
|
|
6
|
+
await loadProviderModules(registry);
|
|
7
|
+
return registry;
|
|
8
|
+
}
|
|
9
|
+
export async function registerBuiltinProviders(registry) {
|
|
10
|
+
await loadProviderModules(registry);
|
|
11
|
+
}
|
|
12
|
+
export function listProviderSummaries(registry) {
|
|
13
|
+
return registry.listProviders().map((provider) => ({
|
|
14
|
+
id: provider.id,
|
|
15
|
+
displayName: provider.displayName,
|
|
16
|
+
kind: provider.kind,
|
|
17
|
+
capabilities: provider.capabilities
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
export { ProviderRegistry } from "./registry.js";
|
|
21
|
+
export { BaseProvider } from "./base-provider.js";
|
|
22
|
+
export { BaseCliProvider } from "./cli-provider.js";
|
|
23
|
+
export { ProviderService } from "./application/provider.service.js";
|
|
24
|
+
export { buildProviderFamilies, filterProvidersForOnboarding, isDefaultOnboardingAgent, resolveOnboardingProviderSetupUrl, selectProvidersForOnboarding, sortProvidersForOnboarding } from "./onboarding.js";
|
|
25
|
+
export { loadProviderModules } from "./loader.js";
|
|
26
|
+
export { AgentConfigNotFoundError, InvalidAgentConfigError, InvalidProviderConfigError, OpenGoatProviderError, ProviderAuthenticationError, ProviderCommandNotFoundError, ProviderNotFoundError, ProviderRuntimeError, UnsupportedProviderActionError, UnsupportedProviderOptionError } from "./errors.js";
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/providers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAwB,MAAM,eAAe,CAAC;AAEvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,6BAA6B;IACjD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACxC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,QAA0B;IACvE,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAA0B;IAC9D,OAAO,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACjD,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,QAAQ,CAAC,YAAY;KACpC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAwB,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAA8B,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,wBAAwB,EACxB,iCAAiC,EACjC,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAkBlD,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,8BAA8B,EAC/B,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { access, readdir } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
4
|
+
import { providerModule as claudeProviderModule } from "./providers/claude/index.js";
|
|
5
|
+
import { providerModule as codexProviderModule } from "./providers/codex/index.js";
|
|
6
|
+
import { providerModule as cursorProviderModule } from "./providers/cursor/index.js";
|
|
7
|
+
import { providerModule as geminiProviderModule } from "./providers/gemini/index.js";
|
|
8
|
+
import { providerModule as grokProviderModule } from "./providers/grok/index.js";
|
|
9
|
+
import { providerModule as openaiProviderModule } from "./providers/openai/index.js";
|
|
10
|
+
import { providerModule as openclawProviderModule } from "./providers/openclaw/index.js";
|
|
11
|
+
import { providerModules as extendedHttpProviderModules } from "./providers/extended-http/index.js";
|
|
12
|
+
import { providerModule as opencodeProviderModule } from "./providers/opencode/index.js";
|
|
13
|
+
import { providerModule as openrouterProviderModule } from "./providers/openrouter/index.js";
|
|
14
|
+
const providersRootDir = path.join(path.dirname(fileURLToPath(import.meta.url)), "providers");
|
|
15
|
+
const staticProviderModules = [
|
|
16
|
+
claudeProviderModule,
|
|
17
|
+
codexProviderModule,
|
|
18
|
+
cursorProviderModule,
|
|
19
|
+
geminiProviderModule,
|
|
20
|
+
grokProviderModule,
|
|
21
|
+
openaiProviderModule,
|
|
22
|
+
openclawProviderModule,
|
|
23
|
+
opencodeProviderModule,
|
|
24
|
+
openrouterProviderModule,
|
|
25
|
+
...extendedHttpProviderModules
|
|
26
|
+
];
|
|
27
|
+
export async function loadProviderModules(registry) {
|
|
28
|
+
let loadedCount = 0;
|
|
29
|
+
let providersDirMissing = false;
|
|
30
|
+
try {
|
|
31
|
+
const entries = await readdir(providersRootDir, { withFileTypes: true });
|
|
32
|
+
for (const entry of entries) {
|
|
33
|
+
if (!entry.isDirectory()) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const providerDir = path.join(providersRootDir, entry.name);
|
|
37
|
+
const modulePath = await resolveModulePath(providerDir);
|
|
38
|
+
if (!modulePath) {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
const imported = (await import(pathToFileURL(modulePath).href));
|
|
42
|
+
loadedCount += registerProviderModules(registry, resolveProviderModules(imported));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
if (!isMissingProvidersDirError(error)) {
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
providersDirMissing = true;
|
|
50
|
+
}
|
|
51
|
+
if (providersDirMissing || loadedCount === 0) {
|
|
52
|
+
registerProviderModules(registry, staticProviderModules);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function resolveProviderModules(imported) {
|
|
56
|
+
if (Array.isArray(imported.providerModules) && imported.providerModules.length > 0) {
|
|
57
|
+
return imported.providerModules;
|
|
58
|
+
}
|
|
59
|
+
if (imported.providerModule) {
|
|
60
|
+
return [imported.providerModule];
|
|
61
|
+
}
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
function registerProviderModules(registry, providerModules) {
|
|
65
|
+
if (providerModules.length === 0) {
|
|
66
|
+
return 0;
|
|
67
|
+
}
|
|
68
|
+
for (const providerModule of providerModules) {
|
|
69
|
+
registry.register(providerModule.id, providerModule.create, providerModule);
|
|
70
|
+
}
|
|
71
|
+
return providerModules.length;
|
|
72
|
+
}
|
|
73
|
+
async function resolveModulePath(providerDir) {
|
|
74
|
+
const candidates = ["index.js", "index.ts"];
|
|
75
|
+
for (const candidate of candidates) {
|
|
76
|
+
const fullPath = path.join(providerDir, candidate);
|
|
77
|
+
if (await exists(fullPath)) {
|
|
78
|
+
return fullPath;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
async function exists(filePath) {
|
|
84
|
+
try {
|
|
85
|
+
await access(filePath);
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function isMissingProvidersDirError(error) {
|
|
93
|
+
if (!(error instanceof Error)) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
const withCode = error;
|
|
97
|
+
return withCode.code === "ENOENT";
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/providers/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ProviderSummary } from "./types.js";
|
|
2
|
+
export interface ProviderOnboardingFamily {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
hint?: string;
|
|
6
|
+
providerIds: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare function isDefaultOnboardingAgent(agentId: string): boolean;
|
|
9
|
+
export declare function filterProvidersForOnboarding(agentId: string, providers: ProviderSummary[]): ProviderSummary[];
|
|
10
|
+
export declare function sortProvidersForOnboarding(providers: ProviderSummary[]): ProviderSummary[];
|
|
11
|
+
export declare function selectProvidersForOnboarding(agentId: string, providers: ProviderSummary[]): ProviderSummary[];
|
|
12
|
+
export declare function buildProviderFamilies(providers: ProviderSummary[]): ProviderOnboardingFamily[];
|
|
13
|
+
export declare function resolveOnboardingProviderSetupUrl(providerId: string): string | undefined;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { DEFAULT_AGENT_ID } from "../domain/agent-id.js";
|
|
2
|
+
const ONBOARDING_PROVIDER_ORDER = [
|
|
3
|
+
"openai",
|
|
4
|
+
"anthropic",
|
|
5
|
+
"grok",
|
|
6
|
+
"openrouter",
|
|
7
|
+
"google",
|
|
8
|
+
"gemini",
|
|
9
|
+
"amazon-bedrock",
|
|
10
|
+
"azure-openai-responses",
|
|
11
|
+
"groq",
|
|
12
|
+
"mistral",
|
|
13
|
+
"moonshot",
|
|
14
|
+
"ollama",
|
|
15
|
+
"claude",
|
|
16
|
+
"codex",
|
|
17
|
+
"cursor",
|
|
18
|
+
"opencode",
|
|
19
|
+
"openclaw"
|
|
20
|
+
];
|
|
21
|
+
const providerPriorityById = new Map(ONBOARDING_PROVIDER_ORDER.map((id, index) => [id, index]));
|
|
22
|
+
const ORGANIZED_PROVIDER_FAMILIES = [
|
|
23
|
+
{ id: "openai", label: "OpenAI", providerIds: ["openai", "openai-codex", "azure-openai-responses"] },
|
|
24
|
+
{ id: "anthropic", label: "Anthropic", providerIds: ["anthropic"] },
|
|
25
|
+
{ id: "minimax", label: "MiniMax", providerIds: ["minimax", "minimax-cn", "minimax-portal"] },
|
|
26
|
+
{ id: "moonshot", label: "Moonshot AI (Kimi)", providerIds: ["moonshot", "kimi-coding"] },
|
|
27
|
+
{
|
|
28
|
+
id: "google",
|
|
29
|
+
label: "Google",
|
|
30
|
+
providerIds: ["google", "google-antigravity", "google-gemini-cli", "google-vertex"]
|
|
31
|
+
},
|
|
32
|
+
{ id: "openrouter", label: "OpenRouter", providerIds: ["openrouter"] },
|
|
33
|
+
{ id: "qwen", label: "Qwen", hint: "OAuth", providerIds: ["qwen-portal"] },
|
|
34
|
+
{ id: "zai", label: "Z.AI (GLM)", providerIds: ["zai"] },
|
|
35
|
+
{ id: "copilot", label: "Copilot", providerIds: ["github-copilot", "copilot-proxy"] },
|
|
36
|
+
{ id: "vercel", label: "Vercel AI Gateway", providerIds: ["vercel-ai-gateway"] },
|
|
37
|
+
{ id: "opencode", label: "OpenCode Zen", providerIds: ["opencode-zen"] },
|
|
38
|
+
{ id: "xiaomi", label: "Xiaomi", providerIds: ["xiaomi"] },
|
|
39
|
+
{ id: "synthetic", label: "Synthetic", providerIds: ["synthetic"] },
|
|
40
|
+
{ id: "venice", label: "Venice AI", providerIds: ["venice"] },
|
|
41
|
+
{ id: "cloudflare", label: "Cloudflare AI Gateway", providerIds: ["cloudflare-ai-gateway"] },
|
|
42
|
+
{ id: "groq", label: "Groq", providerIds: ["groq"] },
|
|
43
|
+
{ id: "mistral", label: "Mistral", providerIds: ["mistral"] },
|
|
44
|
+
{ id: "qianfan", label: "Qianfan", providerIds: ["qianfan"] },
|
|
45
|
+
{ id: "bedrock", label: "Amazon Bedrock", providerIds: ["amazon-bedrock"] },
|
|
46
|
+
{ id: "cerebras", label: "Cerebras", providerIds: ["cerebras"] },
|
|
47
|
+
{ id: "chutes", label: "Chutes", providerIds: ["chutes"] },
|
|
48
|
+
{ id: "huggingface", label: "Hugging Face", providerIds: ["huggingface"] },
|
|
49
|
+
{ id: "ollama", label: "Ollama", providerIds: ["ollama"] },
|
|
50
|
+
{ id: "cli-tools", label: "Local CLI tools", providerIds: ["claude", "codex", "cursor", "gemini", "opencode", "openclaw"] }
|
|
51
|
+
];
|
|
52
|
+
const PROVIDER_SETUP_URLS = {
|
|
53
|
+
openai: "https://platform.openai.com/api-keys",
|
|
54
|
+
"openai-codex": "https://platform.openai.com",
|
|
55
|
+
anthropic: "https://console.anthropic.com/settings/keys",
|
|
56
|
+
google: "https://aistudio.google.com/app/apikey",
|
|
57
|
+
"google-antigravity": "https://github.com/openclaw/google-antigravity-auth",
|
|
58
|
+
"google-gemini-cli": "https://github.com/openclaw/google-gemini-cli-auth",
|
|
59
|
+
grok: "https://console.x.ai",
|
|
60
|
+
groq: "https://console.groq.com/keys",
|
|
61
|
+
openrouter: "https://openrouter.ai/keys",
|
|
62
|
+
moonshot: "https://platform.moonshot.ai",
|
|
63
|
+
"kimi-coding": "https://platform.moonshot.ai",
|
|
64
|
+
mistral: "https://console.mistral.ai/api-keys",
|
|
65
|
+
cerebras: "https://cloud.cerebras.ai/platform",
|
|
66
|
+
chutes: "https://chutes.ai/docs/sign-in-with-chutes/overview",
|
|
67
|
+
huggingface: "https://huggingface.co/settings/tokens",
|
|
68
|
+
minimax: "https://platform.minimax.io",
|
|
69
|
+
"minimax-cn": "https://platform.minimax.io",
|
|
70
|
+
"minimax-portal": "https://platform.minimax.io",
|
|
71
|
+
"qwen-portal": "https://chat.qwen.ai",
|
|
72
|
+
zai: "https://bigmodel.cn",
|
|
73
|
+
qianfan: "https://cloud.baidu.com/product/wenxinworkshop",
|
|
74
|
+
"vercel-ai-gateway": "https://vercel.com/dashboard/ai-gateway",
|
|
75
|
+
"cloudflare-ai-gateway": "https://dash.cloudflare.com",
|
|
76
|
+
"github-copilot": "https://github.com/features/copilot",
|
|
77
|
+
"copilot-proxy": "https://github.com/openclaw/copilot-proxy",
|
|
78
|
+
venice: "https://venice.ai",
|
|
79
|
+
synthetic: "https://synthetic.new",
|
|
80
|
+
xiaomi: "https://platform.xiaomi.com"
|
|
81
|
+
};
|
|
82
|
+
export function isDefaultOnboardingAgent(agentId) {
|
|
83
|
+
return agentId.trim().toLowerCase() === DEFAULT_AGENT_ID;
|
|
84
|
+
}
|
|
85
|
+
export function filterProvidersForOnboarding(agentId, providers) {
|
|
86
|
+
if (!isDefaultOnboardingAgent(agentId)) {
|
|
87
|
+
return providers;
|
|
88
|
+
}
|
|
89
|
+
return providers.filter((provider) => provider.kind === "http");
|
|
90
|
+
}
|
|
91
|
+
export function sortProvidersForOnboarding(providers) {
|
|
92
|
+
return providers.slice().sort((left, right) => {
|
|
93
|
+
if (left.kind !== right.kind) {
|
|
94
|
+
return left.kind === "http" ? -1 : 1;
|
|
95
|
+
}
|
|
96
|
+
const leftPriority = providerPriorityById.get(left.id) ?? Number.MAX_SAFE_INTEGER;
|
|
97
|
+
const rightPriority = providerPriorityById.get(right.id) ?? Number.MAX_SAFE_INTEGER;
|
|
98
|
+
if (leftPriority !== rightPriority) {
|
|
99
|
+
return leftPriority - rightPriority;
|
|
100
|
+
}
|
|
101
|
+
const byName = left.displayName.localeCompare(right.displayName);
|
|
102
|
+
if (byName !== 0) {
|
|
103
|
+
return byName;
|
|
104
|
+
}
|
|
105
|
+
return left.id.localeCompare(right.id);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
export function selectProvidersForOnboarding(agentId, providers) {
|
|
109
|
+
return sortProvidersForOnboarding(filterProvidersForOnboarding(agentId, providers));
|
|
110
|
+
}
|
|
111
|
+
export function buildProviderFamilies(providers) {
|
|
112
|
+
const providerById = new Map(providers.map((provider) => [provider.id, provider]));
|
|
113
|
+
const families = [];
|
|
114
|
+
const usedProviderIds = new Set();
|
|
115
|
+
for (const family of ORGANIZED_PROVIDER_FAMILIES) {
|
|
116
|
+
const presentIds = family.providerIds.filter((id) => providerById.has(id));
|
|
117
|
+
if (presentIds.length === 0) {
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
presentIds.forEach((id) => usedProviderIds.add(id));
|
|
121
|
+
families.push({
|
|
122
|
+
id: family.id,
|
|
123
|
+
label: family.label,
|
|
124
|
+
...(family.hint ? { hint: family.hint } : {}),
|
|
125
|
+
providerIds: presentIds
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
const leftovers = providers
|
|
129
|
+
.filter((provider) => !usedProviderIds.has(provider.id))
|
|
130
|
+
.sort((left, right) => {
|
|
131
|
+
const byName = left.displayName.localeCompare(right.displayName);
|
|
132
|
+
if (byName !== 0) {
|
|
133
|
+
return byName;
|
|
134
|
+
}
|
|
135
|
+
return left.id.localeCompare(right.id);
|
|
136
|
+
});
|
|
137
|
+
for (const provider of leftovers) {
|
|
138
|
+
families.push({
|
|
139
|
+
id: `provider:${provider.id}`,
|
|
140
|
+
label: provider.displayName,
|
|
141
|
+
providerIds: [provider.id]
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
return families;
|
|
145
|
+
}
|
|
146
|
+
export function resolveOnboardingProviderSetupUrl(providerId) {
|
|
147
|
+
return PROVIDER_SETUP_URLS[providerId];
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=onboarding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../../src/core/providers/onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAUzD,MAAM,yBAAyB,GAAG;IAChC,QAAQ;IACR,WAAW;IACX,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,gBAAgB;IAChB,wBAAwB;IACxB,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,UAAU;CACF,CAAC;AAEX,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,yBAAyB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAC1D,CAAC;AAEF,MAAM,2BAA2B,GAA+B;IAC9D,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,wBAAwB,CAAC,EAAE;IACpG,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE;IACnE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAAE;IAC7F,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE;IACzF;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,eAAe,CAAC;KACpF;IACD,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE;IACtE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE;IAC1E,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE;IACxD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC,EAAE;IACrF,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC,mBAAmB,CAAC,EAAE;IAChF,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,cAAc,CAAC,EAAE;IACxE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE;IAC1D,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE;IACnE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE;IAC7D,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAC,uBAAuB,CAAC,EAAE;IAC5F,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE;IACpD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE;IAC7D,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE;IAC7D,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,gBAAgB,CAAC,EAAE;IAC3E,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE;IAChE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE;IAC1D,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE;IAC1E,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE;IAC1D,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;CAC5H,CAAC;AAEF,MAAM,mBAAmB,GAA2B;IAClD,MAAM,EAAE,sCAAsC;IAC9C,cAAc,EAAE,6BAA6B;IAC7C,SAAS,EAAE,6CAA6C;IACxD,MAAM,EAAE,wCAAwC;IAChD,oBAAoB,EAAE,qDAAqD;IAC3E,mBAAmB,EAAE,oDAAoD;IACzE,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,+BAA+B;IACrC,UAAU,EAAE,4BAA4B;IACxC,QAAQ,EAAE,8BAA8B;IACxC,aAAa,EAAE,8BAA8B;IAC7C,OAAO,EAAE,qCAAqC;IAC9C,QAAQ,EAAE,oCAAoC;IAC9C,MAAM,EAAE,qDAAqD;IAC7D,WAAW,EAAE,wCAAwC;IACrD,OAAO,EAAE,6BAA6B;IACtC,YAAY,EAAE,6BAA6B;IAC3C,gBAAgB,EAAE,6BAA6B;IAC/C,aAAa,EAAE,sBAAsB;IACrC,GAAG,EAAE,qBAAqB;IAC1B,OAAO,EAAE,gDAAgD;IACzD,mBAAmB,EAAE,yCAAyC;IAC9D,uBAAuB,EAAE,6BAA6B;IACtD,gBAAgB,EAAE,qCAAqC;IACvD,eAAe,EAAE,2CAA2C;IAC5D,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,uBAAuB;IAClC,MAAM,EAAE,6BAA6B;CACtC,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAe,EAAE,SAA4B;IACxF,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,SAA4B;IACrE,OAAO,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC;QAClF,MAAM,aAAa,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC;QACpF,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;YACnC,OAAO,YAAY,GAAG,aAAa,CAAC;QACtC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACjE,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAe,EAAE,SAA4B;IACxF,OAAO,0BAA0B,CAAC,4BAA4B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAA4B;IAChE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAU,CAAC,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAA+B,EAAE,CAAC;IAChD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAE1C,KAAK,MAAM,MAAM,IAAI,2BAA2B,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,WAAW,EAAE,UAAU;SACxB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,SAAS;SACxB,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACvD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACjE,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IACL,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,YAAY,QAAQ,CAAC,EAAE,EAAE;YAC7B,KAAK,EAAE,QAAQ,CAAC,WAAW;YAC3B,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,UAAkB;IAClE,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Provider } from "./types.js";
|
|
2
|
+
export interface ProviderOnboardingEnvField {
|
|
3
|
+
key: string;
|
|
4
|
+
description: string;
|
|
5
|
+
required?: boolean;
|
|
6
|
+
secret?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface ProviderOnboardingSpec {
|
|
9
|
+
env?: ProviderOnboardingEnvField[];
|
|
10
|
+
auth?: {
|
|
11
|
+
supported: boolean;
|
|
12
|
+
description: string;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export interface ProviderModule {
|
|
16
|
+
id: string;
|
|
17
|
+
create: () => Provider;
|
|
18
|
+
onboarding?: ProviderOnboardingSpec;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-module.js","sourceRoot":"","sources":["../../../src/core/providers/provider-module.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ProviderExecutionResult } from "./types.js";
|
|
2
|
+
export declare function attachProviderSessionId(result: ProviderExecutionResult, fallbackProviderSessionId?: string): ProviderExecutionResult;
|
|
3
|
+
export declare function extractProviderSessionId(raw: string): string | undefined;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
const SESSION_ID_PATTERNS = [
|
|
2
|
+
/"sessionID"\s*:\s*"([^"\s]+)"/i,
|
|
3
|
+
/"sessionId"\s*:\s*"([^"\s]+)"/i,
|
|
4
|
+
/"chatId"\s*:\s*"([^"\s]+)"/i,
|
|
5
|
+
/\bsession(?:\s+id)?\s*[:=]\s*([a-z0-9][a-z0-9._-]{5,})\b/i,
|
|
6
|
+
/\bchat(?:\s+id)?\s*[:=]\s*([a-z0-9][a-z0-9._-]{5,})\b/i
|
|
7
|
+
];
|
|
8
|
+
const UUID_PATTERN = /\b[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\b/i;
|
|
9
|
+
export function attachProviderSessionId(result, fallbackProviderSessionId) {
|
|
10
|
+
const explicit = fallbackProviderSessionId?.trim();
|
|
11
|
+
if (explicit) {
|
|
12
|
+
return {
|
|
13
|
+
...result,
|
|
14
|
+
providerSessionId: explicit
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const discovered = extractProviderSessionId([result.stdout, result.stderr].join("\n"));
|
|
18
|
+
if (!discovered) {
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
...result,
|
|
23
|
+
providerSessionId: discovered
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function extractProviderSessionId(raw) {
|
|
27
|
+
const input = raw.trim();
|
|
28
|
+
if (!input) {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
for (const pattern of SESSION_ID_PATTERNS) {
|
|
32
|
+
const match = pattern.exec(input);
|
|
33
|
+
const candidate = match?.[1]?.trim();
|
|
34
|
+
if (candidate) {
|
|
35
|
+
return candidate;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const uuid = UUID_PATTERN.exec(input)?.[0]?.trim();
|
|
39
|
+
if (uuid) {
|
|
40
|
+
return uuid;
|
|
41
|
+
}
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=provider-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-session.js","sourceRoot":"","sources":["../../../src/core/providers/provider-session.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAa;IACpC,gCAAgC;IAChC,gCAAgC;IAChC,6BAA6B;IAC7B,2DAA2D;IAC3D,wDAAwD;CACzD,CAAC;AAEF,MAAM,YAAY,GAAG,8EAA8E,CAAC;AAEpG,MAAM,UAAU,uBAAuB,CACrC,MAA+B,EAC/B,yBAAkC;IAElC,MAAM,QAAQ,GAAG,yBAAyB,EAAE,IAAI,EAAE,CAAC;IACnD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,GAAG,MAAM;YACT,iBAAiB,EAAE,QAAQ;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,wBAAwB,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,iBAAiB,EAAE,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACrC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACnD,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|