@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.
Files changed (288) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +20 -0
  3. package/dist/apps/runtime/create-opengoat-runtime.d.ts +14 -0
  4. package/dist/apps/runtime/create-opengoat-runtime.js +23 -0
  5. package/dist/apps/runtime/create-opengoat-runtime.js.map +1 -0
  6. package/dist/core/acp/application/acp-agent.d.ts +60 -0
  7. package/dist/core/acp/application/acp-agent.js +424 -0
  8. package/dist/core/acp/application/acp-agent.js.map +1 -0
  9. package/dist/core/acp/application/session-store.d.ts +13 -0
  10. package/dist/core/acp/application/session-store.js +40 -0
  11. package/dist/core/acp/application/session-store.js.map +1 -0
  12. package/dist/core/acp/domain/meta.d.ts +7 -0
  13. package/dist/core/acp/domain/meta.js +31 -0
  14. package/dist/core/acp/domain/meta.js.map +1 -0
  15. package/dist/core/acp/domain/session.d.ts +23 -0
  16. package/dist/core/acp/domain/session.js +2 -0
  17. package/dist/core/acp/domain/session.js.map +1 -0
  18. package/dist/core/acp/index.d.ts +5 -0
  19. package/dist/core/acp/index.js +4 -0
  20. package/dist/core/acp/index.js.map +1 -0
  21. package/dist/core/agents/application/agent-manifest.service.d.ts +20 -0
  22. package/dist/core/agents/application/agent-manifest.service.js +89 -0
  23. package/dist/core/agents/application/agent-manifest.service.js.map +1 -0
  24. package/dist/core/agents/application/agent.service.d.ts +25 -0
  25. package/dist/core/agents/application/agent.service.js +191 -0
  26. package/dist/core/agents/application/agent.service.js.map +1 -0
  27. package/dist/core/agents/application/workspace-context.service.d.ts +28 -0
  28. package/dist/core/agents/application/workspace-context.service.js +157 -0
  29. package/dist/core/agents/application/workspace-context.service.js.map +1 -0
  30. package/dist/core/agents/domain/agent-manifest.d.ts +37 -0
  31. package/dist/core/agents/domain/agent-manifest.js +228 -0
  32. package/dist/core/agents/domain/agent-manifest.js.map +1 -0
  33. package/dist/core/agents/domain/workspace-context.d.ts +13 -0
  34. package/dist/core/agents/domain/workspace-context.js +14 -0
  35. package/dist/core/agents/domain/workspace-context.js.map +1 -0
  36. package/dist/core/agents/index.d.ts +6 -0
  37. package/dist/core/agents/index.js +6 -0
  38. package/dist/core/agents/index.js.map +1 -0
  39. package/dist/core/bootstrap/application/bootstrap.service.d.ts +24 -0
  40. package/dist/core/bootstrap/application/bootstrap.service.js +108 -0
  41. package/dist/core/bootstrap/application/bootstrap.service.js.map +1 -0
  42. package/dist/core/bootstrap/index.d.ts +1 -0
  43. package/dist/core/bootstrap/index.js +2 -0
  44. package/dist/core/bootstrap/index.js.map +1 -0
  45. package/dist/core/domain/agent-id.d.ts +3 -0
  46. package/dist/core/domain/agent-id.js +12 -0
  47. package/dist/core/domain/agent-id.js.map +1 -0
  48. package/dist/core/domain/agent.d.ts +39 -0
  49. package/dist/core/domain/agent.js +2 -0
  50. package/dist/core/domain/agent.js.map +1 -0
  51. package/dist/core/domain/opengoat-paths.d.ts +29 -0
  52. package/dist/core/domain/opengoat-paths.js +2 -0
  53. package/dist/core/domain/opengoat-paths.js.map +1 -0
  54. package/dist/core/gateway/domain/protocol.d.ts +113 -0
  55. package/dist/core/gateway/domain/protocol.js +394 -0
  56. package/dist/core/gateway/domain/protocol.js.map +1 -0
  57. package/dist/core/gateway/index.d.ts +2 -0
  58. package/dist/core/gateway/index.js +2 -0
  59. package/dist/core/gateway/index.js.map +1 -0
  60. package/dist/core/llm/application/vercel-ai-text-runtime.d.ts +26 -0
  61. package/dist/core/llm/application/vercel-ai-text-runtime.js +223 -0
  62. package/dist/core/llm/application/vercel-ai-text-runtime.js.map +1 -0
  63. package/dist/core/llm/domain/text-runtime.d.ts +22 -0
  64. package/dist/core/llm/domain/text-runtime.js +2 -0
  65. package/dist/core/llm/domain/text-runtime.js.map +1 -0
  66. package/dist/core/llm/index.d.ts +2 -0
  67. package/dist/core/llm/index.js +2 -0
  68. package/dist/core/llm/index.js.map +1 -0
  69. package/dist/core/logging/application/structured-logger.d.ts +29 -0
  70. package/dist/core/logging/application/structured-logger.js +86 -0
  71. package/dist/core/logging/application/structured-logger.js.map +1 -0
  72. package/dist/core/logging/domain/logger.d.ts +16 -0
  73. package/dist/core/logging/domain/logger.js +18 -0
  74. package/dist/core/logging/domain/logger.js.map +1 -0
  75. package/dist/core/logging/index.d.ts +3 -0
  76. package/dist/core/logging/index.js +3 -0
  77. package/dist/core/logging/index.js.map +1 -0
  78. package/dist/core/opengoat/application/opengoat.service.d.ts +84 -0
  79. package/dist/core/opengoat/application/opengoat.service.js +308 -0
  80. package/dist/core/opengoat/application/opengoat.service.js.map +1 -0
  81. package/dist/core/opengoat/index.d.ts +1 -0
  82. package/dist/core/opengoat/index.js +2 -0
  83. package/dist/core/opengoat/index.js.map +1 -0
  84. package/dist/core/orchestration/application/orchestration-planner.service.d.ts +28 -0
  85. package/dist/core/orchestration/application/orchestration-planner.service.js +279 -0
  86. package/dist/core/orchestration/application/orchestration-planner.service.js.map +1 -0
  87. package/dist/core/orchestration/application/orchestration.service.d.ts +52 -0
  88. package/dist/core/orchestration/application/orchestration.service.js +1044 -0
  89. package/dist/core/orchestration/application/orchestration.service.js.map +1 -0
  90. package/dist/core/orchestration/application/routing.service.d.ts +11 -0
  91. package/dist/core/orchestration/application/routing.service.js +108 -0
  92. package/dist/core/orchestration/application/routing.service.js.map +1 -0
  93. package/dist/core/orchestration/domain/loop.d.ts +119 -0
  94. package/dist/core/orchestration/domain/loop.js +2 -0
  95. package/dist/core/orchestration/domain/loop.js.map +1 -0
  96. package/dist/core/orchestration/domain/routing.d.ts +58 -0
  97. package/dist/core/orchestration/domain/routing.js +2 -0
  98. package/dist/core/orchestration/domain/routing.js.map +1 -0
  99. package/dist/core/orchestration/domain/run-events.d.ts +21 -0
  100. package/dist/core/orchestration/domain/run-events.js +2 -0
  101. package/dist/core/orchestration/domain/run-events.js.map +1 -0
  102. package/dist/core/orchestration/index.d.ts +6 -0
  103. package/dist/core/orchestration/index.js +4 -0
  104. package/dist/core/orchestration/index.js.map +1 -0
  105. package/dist/core/plugins/application/plugin.service.d.ts +32 -0
  106. package/dist/core/plugins/application/plugin.service.js +236 -0
  107. package/dist/core/plugins/application/plugin.service.js.map +1 -0
  108. package/dist/core/plugins/domain/openclaw-compat.d.ts +60 -0
  109. package/dist/core/plugins/domain/openclaw-compat.js +9 -0
  110. package/dist/core/plugins/domain/openclaw-compat.js.map +1 -0
  111. package/dist/core/plugins/index.d.ts +3 -0
  112. package/dist/core/plugins/index.js +3 -0
  113. package/dist/core/plugins/index.js.map +1 -0
  114. package/dist/core/ports/command-runner.port.d.ts +14 -0
  115. package/dist/core/ports/command-runner.port.js +2 -0
  116. package/dist/core/ports/command-runner.port.js.map +1 -0
  117. package/dist/core/ports/file-system.port.d.ts +9 -0
  118. package/dist/core/ports/file-system.port.js +2 -0
  119. package/dist/core/ports/file-system.port.js.map +1 -0
  120. package/dist/core/ports/path.port.d.ts +3 -0
  121. package/dist/core/ports/path.port.js +2 -0
  122. package/dist/core/ports/path.port.js.map +1 -0
  123. package/dist/core/ports/paths-provider.port.d.ts +4 -0
  124. package/dist/core/ports/paths-provider.port.js +2 -0
  125. package/dist/core/ports/paths-provider.port.js.map +1 -0
  126. package/dist/core/providers/application/provider.service.d.ts +80 -0
  127. package/dist/core/providers/application/provider.service.js +391 -0
  128. package/dist/core/providers/application/provider.service.js.map +1 -0
  129. package/dist/core/providers/base-provider.d.ts +20 -0
  130. package/dist/core/providers/base-provider.js +44 -0
  131. package/dist/core/providers/base-provider.js.map +1 -0
  132. package/dist/core/providers/cli-provider.d.ts +26 -0
  133. package/dist/core/providers/cli-provider.js +151 -0
  134. package/dist/core/providers/cli-provider.js.map +1 -0
  135. package/dist/core/providers/command-executor.d.ts +12 -0
  136. package/dist/core/providers/command-executor.js +76 -0
  137. package/dist/core/providers/command-executor.js.map +1 -0
  138. package/dist/core/providers/errors.d.ts +30 -0
  139. package/dist/core/providers/errors.js +52 -0
  140. package/dist/core/providers/errors.js.map +1 -0
  141. package/dist/core/providers/index.d.ts +18 -0
  142. package/dist/core/providers/index.js +27 -0
  143. package/dist/core/providers/index.js.map +1 -0
  144. package/dist/core/providers/loader.d.ts +2 -0
  145. package/dist/core/providers/loader.js +99 -0
  146. package/dist/core/providers/loader.js.map +1 -0
  147. package/dist/core/providers/onboarding.d.ts +13 -0
  148. package/dist/core/providers/onboarding.js +149 -0
  149. package/dist/core/providers/onboarding.js.map +1 -0
  150. package/dist/core/providers/provider-module.d.ts +19 -0
  151. package/dist/core/providers/provider-module.js +2 -0
  152. package/dist/core/providers/provider-module.js.map +1 -0
  153. package/dist/core/providers/provider-session.d.ts +3 -0
  154. package/dist/core/providers/provider-session.js +44 -0
  155. package/dist/core/providers/provider-session.js.map +1 -0
  156. package/dist/core/providers/providers/claude/index.d.ts +4 -0
  157. package/dist/core/providers/providers/claude/index.js +19 -0
  158. package/dist/core/providers/providers/claude/index.js.map +1 -0
  159. package/dist/core/providers/providers/claude/provider.d.ts +8 -0
  160. package/dist/core/providers/providers/claude/provider.js +106 -0
  161. package/dist/core/providers/providers/claude/provider.js.map +1 -0
  162. package/dist/core/providers/providers/codex/index.d.ts +4 -0
  163. package/dist/core/providers/providers/codex/index.js +19 -0
  164. package/dist/core/providers/providers/codex/index.js.map +1 -0
  165. package/dist/core/providers/providers/codex/provider.d.ts +7 -0
  166. package/dist/core/providers/providers/codex/provider.js +31 -0
  167. package/dist/core/providers/providers/codex/provider.js.map +1 -0
  168. package/dist/core/providers/providers/cursor/index.d.ts +4 -0
  169. package/dist/core/providers/providers/cursor/index.js +19 -0
  170. package/dist/core/providers/providers/cursor/index.js.map +1 -0
  171. package/dist/core/providers/providers/cursor/provider.d.ts +11 -0
  172. package/dist/core/providers/providers/cursor/provider.js +90 -0
  173. package/dist/core/providers/providers/cursor/provider.js.map +1 -0
  174. package/dist/core/providers/providers/extended-http/catalog.d.ts +40 -0
  175. package/dist/core/providers/providers/extended-http/catalog.js +728 -0
  176. package/dist/core/providers/providers/extended-http/catalog.js.map +1 -0
  177. package/dist/core/providers/providers/extended-http/index.d.ts +5 -0
  178. package/dist/core/providers/providers/extended-http/index.js +13 -0
  179. package/dist/core/providers/providers/extended-http/index.js.map +1 -0
  180. package/dist/core/providers/providers/extended-http/provider.d.ts +31 -0
  181. package/dist/core/providers/providers/extended-http/provider.js +580 -0
  182. package/dist/core/providers/providers/extended-http/provider.js.map +1 -0
  183. package/dist/core/providers/providers/gemini/index.d.ts +4 -0
  184. package/dist/core/providers/providers/gemini/index.js +37 -0
  185. package/dist/core/providers/providers/gemini/index.js.map +1 -0
  186. package/dist/core/providers/providers/gemini/provider.d.ts +7 -0
  187. package/dist/core/providers/providers/gemini/provider.js +59 -0
  188. package/dist/core/providers/providers/gemini/provider.js.map +1 -0
  189. package/dist/core/providers/providers/grok/index.d.ts +4 -0
  190. package/dist/core/providers/providers/grok/index.js +41 -0
  191. package/dist/core/providers/providers/grok/index.js.map +1 -0
  192. package/dist/core/providers/providers/grok/provider.d.ts +13 -0
  193. package/dist/core/providers/providers/grok/provider.js +95 -0
  194. package/dist/core/providers/providers/grok/provider.js.map +1 -0
  195. package/dist/core/providers/providers/openai/index.d.ts +4 -0
  196. package/dist/core/providers/providers/openai/index.js +45 -0
  197. package/dist/core/providers/providers/openai/index.js.map +1 -0
  198. package/dist/core/providers/providers/openai/provider.d.ts +14 -0
  199. package/dist/core/providers/providers/openai/provider.js +203 -0
  200. package/dist/core/providers/providers/openai/provider.js.map +1 -0
  201. package/dist/core/providers/providers/openclaw/index.d.ts +4 -0
  202. package/dist/core/providers/providers/openclaw/index.js +31 -0
  203. package/dist/core/providers/providers/openclaw/index.js.map +1 -0
  204. package/dist/core/providers/providers/openclaw/provider.d.ts +11 -0
  205. package/dist/core/providers/providers/openclaw/provider.js +108 -0
  206. package/dist/core/providers/providers/openclaw/provider.js.map +1 -0
  207. package/dist/core/providers/providers/opencode/index.d.ts +4 -0
  208. package/dist/core/providers/providers/opencode/index.js +23 -0
  209. package/dist/core/providers/providers/opencode/index.js.map +1 -0
  210. package/dist/core/providers/providers/opencode/provider.d.ts +11 -0
  211. package/dist/core/providers/providers/opencode/provider.js +215 -0
  212. package/dist/core/providers/providers/opencode/provider.js.map +1 -0
  213. package/dist/core/providers/providers/openrouter/index.d.ts +4 -0
  214. package/dist/core/providers/providers/openrouter/index.js +37 -0
  215. package/dist/core/providers/providers/openrouter/index.js.map +1 -0
  216. package/dist/core/providers/providers/openrouter/provider.d.ts +13 -0
  217. package/dist/core/providers/providers/openrouter/provider.js +80 -0
  218. package/dist/core/providers/providers/openrouter/provider.js.map +1 -0
  219. package/dist/core/providers/registry.d.ts +13 -0
  220. package/dist/core/providers/registry.js +36 -0
  221. package/dist/core/providers/registry.js.map +1 -0
  222. package/dist/core/providers/types.d.ts +101 -0
  223. package/dist/core/providers/types.js +2 -0
  224. package/dist/core/providers/types.js.map +1 -0
  225. package/dist/core/scenarios/application/scenario-runner.service.d.ts +23 -0
  226. package/dist/core/scenarios/application/scenario-runner.service.js +172 -0
  227. package/dist/core/scenarios/application/scenario-runner.service.js.map +1 -0
  228. package/dist/core/scenarios/domain/scenario.d.ts +43 -0
  229. package/dist/core/scenarios/domain/scenario.js +2 -0
  230. package/dist/core/scenarios/domain/scenario.js.map +1 -0
  231. package/dist/core/scenarios/index.d.ts +2 -0
  232. package/dist/core/scenarios/index.js +2 -0
  233. package/dist/core/scenarios/index.js.map +1 -0
  234. package/dist/core/sessions/application/session.service.d.ts +74 -0
  235. package/dist/core/sessions/application/session.service.js +895 -0
  236. package/dist/core/sessions/application/session.service.js.map +1 -0
  237. package/dist/core/sessions/domain/session.d.ts +80 -0
  238. package/dist/core/sessions/domain/session.js +24 -0
  239. package/dist/core/sessions/domain/session.js.map +1 -0
  240. package/dist/core/sessions/domain/transcript.d.ts +28 -0
  241. package/dist/core/sessions/domain/transcript.js +10 -0
  242. package/dist/core/sessions/domain/transcript.js.map +1 -0
  243. package/dist/core/sessions/errors.d.ts +12 -0
  244. package/dist/core/sessions/errors.js +22 -0
  245. package/dist/core/sessions/errors.js.map +1 -0
  246. package/dist/core/sessions/index.d.ts +6 -0
  247. package/dist/core/sessions/index.js +4 -0
  248. package/dist/core/sessions/index.js.map +1 -0
  249. package/dist/core/skills/application/skill.service.d.ts +24 -0
  250. package/dist/core/skills/application/skill.service.js +375 -0
  251. package/dist/core/skills/application/skill.service.js.map +1 -0
  252. package/dist/core/skills/domain/skill.d.ts +62 -0
  253. package/dist/core/skills/domain/skill.js +46 -0
  254. package/dist/core/skills/domain/skill.js.map +1 -0
  255. package/dist/core/skills/index.d.ts +3 -0
  256. package/dist/core/skills/index.js +3 -0
  257. package/dist/core/skills/index.js.map +1 -0
  258. package/dist/core/templates/default-templates.d.ts +19 -0
  259. package/dist/core/templates/default-templates.js +259 -0
  260. package/dist/core/templates/default-templates.js.map +1 -0
  261. package/dist/index.d.ts +27 -0
  262. package/dist/index.js +28 -0
  263. package/dist/index.js.map +1 -0
  264. package/dist/platform/node/acp-server.d.ts +12 -0
  265. package/dist/platform/node/acp-server.js +18 -0
  266. package/dist/platform/node/acp-server.js.map +1 -0
  267. package/dist/platform/node/dotenv.d.ts +6 -0
  268. package/dist/platform/node/dotenv.js +67 -0
  269. package/dist/platform/node/dotenv.js.map +1 -0
  270. package/dist/platform/node/node-command-runner.d.ts +4 -0
  271. package/dist/platform/node/node-command-runner.js +29 -0
  272. package/dist/platform/node/node-command-runner.js.map +1 -0
  273. package/dist/platform/node/node-file-system.d.ts +10 -0
  274. package/dist/platform/node/node-file-system.js +47 -0
  275. package/dist/platform/node/node-file-system.js.map +1 -0
  276. package/dist/platform/node/node-logger.d.ts +9 -0
  277. package/dist/platform/node/node-logger.js +124 -0
  278. package/dist/platform/node/node-logger.js.map +1 -0
  279. package/dist/platform/node/node-path.port.d.ts +9 -0
  280. package/dist/platform/node/node-path.port.js +41 -0
  281. package/dist/platform/node/node-path.port.js.map +1 -0
  282. package/dist/platform/node/opengoat-gateway-client.d.ts +19 -0
  283. package/dist/platform/node/opengoat-gateway-client.js +194 -0
  284. package/dist/platform/node/opengoat-gateway-client.js.map +1 -0
  285. package/dist/platform/node/opengoat-gateway-server.d.ts +53 -0
  286. package/dist/platform/node/opengoat-gateway-server.js +906 -0
  287. package/dist/platform/node/opengoat-gateway-server.js.map +1 -0
  288. 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":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAa3C,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;YACjC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;YACjD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,IAAI,CAAC;YACf,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,IAAI,CAAC;YACf,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,eAAe,GAAG,CAAC,KAAY,EAAE,EAAE;YACvC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,gBAAgB,GAAG,CAAC,IAAmB,EAAE,EAAE;YAC/C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,OAAO,CAAC;gBACN,IAAI,EAAE,IAAI,IAAI,CAAC;gBACf,MAAM;gBACN,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,OAAO,CAAC,WAAW,EAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACjE,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,eAAe,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAC1B,eAAe,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3E,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA+B;IACvD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -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,2 @@
1
+ import type { ProviderRegistry } from "./registry.js";
2
+ export declare function loadProviderModules(registry: ProviderRegistry): Promise<void>;
@@ -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":"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"}
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=provider-module.js.map
@@ -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"}
@@ -0,0 +1,4 @@
1
+ import type { ProviderModule } from "../../provider-module.js";
2
+ import { ClaudeProvider } from "./provider.js";
3
+ export declare const providerModule: ProviderModule;
4
+ export { ClaudeProvider };