@opengoat/core 2026.2.9 → 2026.2.14

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 (199) hide show
  1. package/README.md +3 -3
  2. package/dist/core/acp/application/acp-agent.js +4 -8
  3. package/dist/core/acp/application/acp-agent.js.map +1 -1
  4. package/dist/core/agents/application/agent-manifest.service.d.ts +1 -4
  5. package/dist/core/agents/application/agent-manifest.service.js +39 -52
  6. package/dist/core/agents/application/agent-manifest.service.js.map +1 -1
  7. package/dist/core/agents/application/agent.service.d.ts +43 -4
  8. package/dist/core/agents/application/agent.service.js +476 -55
  9. package/dist/core/agents/application/agent.service.js.map +1 -1
  10. package/dist/core/agents/domain/agent-manifest.d.ts +10 -4
  11. package/dist/core/agents/domain/agent-manifest.js +118 -25
  12. package/dist/core/agents/domain/agent-manifest.js.map +1 -1
  13. package/dist/core/agents/index.d.ts +1 -3
  14. package/dist/core/agents/index.js +1 -3
  15. package/dist/core/agents/index.js.map +1 -1
  16. package/dist/core/boards/application/board.service.d.ts +64 -0
  17. package/dist/core/boards/application/board.service.js +590 -0
  18. package/dist/core/boards/application/board.service.js.map +1 -0
  19. package/dist/core/boards/domain/board.d.ts +30 -0
  20. package/dist/core/boards/domain/board.js +2 -0
  21. package/dist/core/boards/domain/board.js.map +1 -0
  22. package/dist/core/boards/index.d.ts +2 -0
  23. package/dist/core/boards/index.js +2 -0
  24. package/dist/core/boards/index.js.map +1 -0
  25. package/dist/core/bootstrap/application/bootstrap.service.d.ts +5 -2
  26. package/dist/core/bootstrap/application/bootstrap.service.js +32 -17
  27. package/dist/core/bootstrap/application/bootstrap.service.js.map +1 -1
  28. package/dist/core/domain/agent-id.d.ts +1 -1
  29. package/dist/core/domain/agent-id.js +1 -1
  30. package/dist/core/domain/agent-id.js.map +1 -1
  31. package/dist/core/domain/agent.d.ts +31 -8
  32. package/dist/core/domain/opengoat-paths.d.ts +1 -0
  33. package/dist/core/opengoat/application/opengoat.service.d.ts +111 -27
  34. package/dist/core/opengoat/application/opengoat.service.js +1048 -136
  35. package/dist/core/opengoat/application/opengoat.service.js.map +1 -1
  36. package/dist/core/opengoat/index.d.ts +1 -0
  37. package/dist/core/orchestration/application/orchestration.service.d.ts +8 -21
  38. package/dist/core/orchestration/application/orchestration.service.js +59 -871
  39. package/dist/core/orchestration/application/orchestration.service.js.map +1 -1
  40. package/dist/core/orchestration/application/routing.service.js +10 -8
  41. package/dist/core/orchestration/application/routing.service.js.map +1 -1
  42. package/dist/core/orchestration/domain/routing.d.ts +0 -17
  43. package/dist/core/orchestration/domain/run-events.d.ts +1 -1
  44. package/dist/core/orchestration/index.d.ts +0 -2
  45. package/dist/core/orchestration/index.js +0 -1
  46. package/dist/core/orchestration/index.js.map +1 -1
  47. package/dist/core/providers/application/provider.service.d.ts +16 -32
  48. package/dist/core/providers/application/provider.service.js +178 -202
  49. package/dist/core/providers/application/provider.service.js.map +1 -1
  50. package/dist/core/providers/cli-provider.d.ts +1 -0
  51. package/dist/core/providers/cli-provider.js +66 -1
  52. package/dist/core/providers/cli-provider.js.map +1 -1
  53. package/dist/core/providers/image-input.d.ts +16 -0
  54. package/dist/core/providers/image-input.js +158 -0
  55. package/dist/core/providers/image-input.js.map +1 -0
  56. package/dist/core/providers/index.d.ts +1 -7
  57. package/dist/core/providers/index.js +0 -13
  58. package/dist/core/providers/index.js.map +1 -1
  59. package/dist/core/providers/loader.js +1 -95
  60. package/dist/core/providers/loader.js.map +1 -1
  61. package/dist/core/providers/providers/openclaw/provider.js +213 -32
  62. package/dist/core/providers/providers/openclaw/provider.js.map +1 -1
  63. package/dist/core/providers/types.d.ts +8 -3
  64. package/dist/core/scenarios/application/scenario-runner.service.d.ts +0 -1
  65. package/dist/core/scenarios/application/scenario-runner.service.js +30 -87
  66. package/dist/core/scenarios/application/scenario-runner.service.js.map +1 -1
  67. package/dist/core/scenarios/domain/scenario.d.ts +0 -15
  68. package/dist/core/sessions/application/session.service.d.ts +10 -4
  69. package/dist/core/sessions/application/session.service.js +87 -89
  70. package/dist/core/sessions/application/session.service.js.map +1 -1
  71. package/dist/core/sessions/domain/session.d.ts +3 -3
  72. package/dist/core/sessions/domain/transcript.d.ts +1 -1
  73. package/dist/core/sessions/index.d.ts +1 -1
  74. package/dist/core/sessions/index.js.map +1 -1
  75. package/dist/core/skills/application/skill.service.d.ts +2 -3
  76. package/dist/core/skills/application/skill.service.js +153 -56
  77. package/dist/core/skills/application/skill.service.js.map +1 -1
  78. package/dist/core/skills/domain/skill.d.ts +2 -2
  79. package/dist/core/skills/domain/skill.js +4 -2
  80. package/dist/core/skills/domain/skill.js.map +1 -1
  81. package/dist/core/templates/assets/ceo/BOOTSTRAP.md +41 -0
  82. package/dist/core/templates/assets/ceo/ROLE.md +15 -0
  83. package/dist/core/templates/assets/organization/MISSION.md +73 -0
  84. package/dist/core/templates/assets/organization/STRATEGY.md +107 -0
  85. package/dist/core/templates/assets/organization/VISION.md +80 -0
  86. package/dist/core/templates/assets/organization/wiki/index.md +15 -0
  87. package/dist/core/templates/assets/skills/og-board-individual/SKILL.md +148 -0
  88. package/dist/core/templates/assets/skills/og-board-manager/SKILL.md +140 -0
  89. package/dist/core/templates/default-templates.d.ts +17 -14
  90. package/dist/core/templates/default-templates.js +115 -212
  91. package/dist/core/templates/default-templates.js.map +1 -1
  92. package/dist/index.d.ts +1 -4
  93. package/dist/index.js +1 -4
  94. package/dist/index.js.map +1 -1
  95. package/dist/platform/node/node-path.port.js +1 -0
  96. package/dist/platform/node/node-path.port.js.map +1 -1
  97. package/package.json +16 -13
  98. package/dist/core/agents/application/workspace-context.service.d.ts +0 -28
  99. package/dist/core/agents/application/workspace-context.service.js +0 -157
  100. package/dist/core/agents/application/workspace-context.service.js.map +0 -1
  101. package/dist/core/agents/domain/workspace-context.d.ts +0 -13
  102. package/dist/core/agents/domain/workspace-context.js +0 -14
  103. package/dist/core/agents/domain/workspace-context.js.map +0 -1
  104. package/dist/core/gateway/domain/protocol.d.ts +0 -113
  105. package/dist/core/gateway/domain/protocol.js +0 -394
  106. package/dist/core/gateway/domain/protocol.js.map +0 -1
  107. package/dist/core/gateway/index.d.ts +0 -2
  108. package/dist/core/gateway/index.js +0 -2
  109. package/dist/core/gateway/index.js.map +0 -1
  110. package/dist/core/llm/application/vercel-ai-text-runtime.d.ts +0 -26
  111. package/dist/core/llm/application/vercel-ai-text-runtime.js +0 -223
  112. package/dist/core/llm/application/vercel-ai-text-runtime.js.map +0 -1
  113. package/dist/core/llm/domain/text-runtime.d.ts +0 -22
  114. package/dist/core/llm/domain/text-runtime.js +0 -2
  115. package/dist/core/llm/domain/text-runtime.js.map +0 -1
  116. package/dist/core/llm/index.d.ts +0 -2
  117. package/dist/core/llm/index.js +0 -2
  118. package/dist/core/llm/index.js.map +0 -1
  119. package/dist/core/orchestration/application/orchestration-planner.service.d.ts +0 -28
  120. package/dist/core/orchestration/application/orchestration-planner.service.js +0 -279
  121. package/dist/core/orchestration/application/orchestration-planner.service.js.map +0 -1
  122. package/dist/core/orchestration/domain/loop.d.ts +0 -119
  123. package/dist/core/orchestration/domain/loop.js +0 -2
  124. package/dist/core/orchestration/domain/loop.js.map +0 -1
  125. package/dist/core/plugins/application/plugin.service.d.ts +0 -32
  126. package/dist/core/plugins/application/plugin.service.js +0 -236
  127. package/dist/core/plugins/application/plugin.service.js.map +0 -1
  128. package/dist/core/plugins/domain/openclaw-compat.d.ts +0 -60
  129. package/dist/core/plugins/domain/openclaw-compat.js +0 -9
  130. package/dist/core/plugins/domain/openclaw-compat.js.map +0 -1
  131. package/dist/core/plugins/index.d.ts +0 -3
  132. package/dist/core/plugins/index.js +0 -3
  133. package/dist/core/plugins/index.js.map +0 -1
  134. package/dist/core/providers/onboarding.d.ts +0 -13
  135. package/dist/core/providers/onboarding.js +0 -149
  136. package/dist/core/providers/onboarding.js.map +0 -1
  137. package/dist/core/providers/providers/claude/index.d.ts +0 -4
  138. package/dist/core/providers/providers/claude/index.js +0 -19
  139. package/dist/core/providers/providers/claude/index.js.map +0 -1
  140. package/dist/core/providers/providers/claude/provider.d.ts +0 -8
  141. package/dist/core/providers/providers/claude/provider.js +0 -106
  142. package/dist/core/providers/providers/claude/provider.js.map +0 -1
  143. package/dist/core/providers/providers/codex/index.d.ts +0 -4
  144. package/dist/core/providers/providers/codex/index.js +0 -19
  145. package/dist/core/providers/providers/codex/index.js.map +0 -1
  146. package/dist/core/providers/providers/codex/provider.d.ts +0 -7
  147. package/dist/core/providers/providers/codex/provider.js +0 -31
  148. package/dist/core/providers/providers/codex/provider.js.map +0 -1
  149. package/dist/core/providers/providers/cursor/index.d.ts +0 -4
  150. package/dist/core/providers/providers/cursor/index.js +0 -19
  151. package/dist/core/providers/providers/cursor/index.js.map +0 -1
  152. package/dist/core/providers/providers/cursor/provider.d.ts +0 -11
  153. package/dist/core/providers/providers/cursor/provider.js +0 -90
  154. package/dist/core/providers/providers/cursor/provider.js.map +0 -1
  155. package/dist/core/providers/providers/extended-http/catalog.d.ts +0 -40
  156. package/dist/core/providers/providers/extended-http/catalog.js +0 -728
  157. package/dist/core/providers/providers/extended-http/catalog.js.map +0 -1
  158. package/dist/core/providers/providers/extended-http/index.d.ts +0 -5
  159. package/dist/core/providers/providers/extended-http/index.js +0 -13
  160. package/dist/core/providers/providers/extended-http/index.js.map +0 -1
  161. package/dist/core/providers/providers/extended-http/provider.d.ts +0 -31
  162. package/dist/core/providers/providers/extended-http/provider.js +0 -580
  163. package/dist/core/providers/providers/extended-http/provider.js.map +0 -1
  164. package/dist/core/providers/providers/gemini/index.d.ts +0 -4
  165. package/dist/core/providers/providers/gemini/index.js +0 -37
  166. package/dist/core/providers/providers/gemini/index.js.map +0 -1
  167. package/dist/core/providers/providers/gemini/provider.d.ts +0 -7
  168. package/dist/core/providers/providers/gemini/provider.js +0 -59
  169. package/dist/core/providers/providers/gemini/provider.js.map +0 -1
  170. package/dist/core/providers/providers/grok/index.d.ts +0 -4
  171. package/dist/core/providers/providers/grok/index.js +0 -41
  172. package/dist/core/providers/providers/grok/index.js.map +0 -1
  173. package/dist/core/providers/providers/grok/provider.d.ts +0 -13
  174. package/dist/core/providers/providers/grok/provider.js +0 -95
  175. package/dist/core/providers/providers/grok/provider.js.map +0 -1
  176. package/dist/core/providers/providers/openai/index.d.ts +0 -4
  177. package/dist/core/providers/providers/openai/index.js +0 -45
  178. package/dist/core/providers/providers/openai/index.js.map +0 -1
  179. package/dist/core/providers/providers/openai/provider.d.ts +0 -14
  180. package/dist/core/providers/providers/openai/provider.js +0 -203
  181. package/dist/core/providers/providers/openai/provider.js.map +0 -1
  182. package/dist/core/providers/providers/opencode/index.d.ts +0 -4
  183. package/dist/core/providers/providers/opencode/index.js +0 -23
  184. package/dist/core/providers/providers/opencode/index.js.map +0 -1
  185. package/dist/core/providers/providers/opencode/provider.d.ts +0 -11
  186. package/dist/core/providers/providers/opencode/provider.js +0 -215
  187. package/dist/core/providers/providers/opencode/provider.js.map +0 -1
  188. package/dist/core/providers/providers/openrouter/index.d.ts +0 -4
  189. package/dist/core/providers/providers/openrouter/index.js +0 -37
  190. package/dist/core/providers/providers/openrouter/index.js.map +0 -1
  191. package/dist/core/providers/providers/openrouter/provider.d.ts +0 -13
  192. package/dist/core/providers/providers/openrouter/provider.js +0 -80
  193. package/dist/core/providers/providers/openrouter/provider.js.map +0 -1
  194. package/dist/platform/node/opengoat-gateway-client.d.ts +0 -19
  195. package/dist/platform/node/opengoat-gateway-client.js +0 -194
  196. package/dist/platform/node/opengoat-gateway-client.js.map +0 -1
  197. package/dist/platform/node/opengoat-gateway-server.d.ts +0 -53
  198. package/dist/platform/node/opengoat-gateway-server.js +0 -906
  199. package/dist/platform/node/opengoat-gateway-server.js.map +0 -1
@@ -1,728 +0,0 @@
1
- const field = (key, description, options = {}) => ({
2
- key,
3
- description,
4
- required: options.required,
5
- secret: options.secret
6
- });
7
- function resolveCloudflareGatewayBaseUrl(env) {
8
- const accountId = env.CLOUDFLARE_AI_GATEWAY_ACCOUNT_ID?.trim();
9
- const gatewayId = env.CLOUDFLARE_AI_GATEWAY_GATEWAY_ID?.trim();
10
- if (!accountId || !gatewayId) {
11
- return undefined;
12
- }
13
- return `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/anthropic`;
14
- }
15
- export const extendedHttpProviderCatalog = [
16
- {
17
- id: "amazon-bedrock",
18
- displayName: "Amazon Bedrock",
19
- protocol: "bedrock-converse",
20
- endpoint: {},
21
- requiredEnv: [field("AMAZON_BEDROCK_MODEL", "Default Bedrock model id", { required: true })],
22
- modelEnvVar: "AMAZON_BEDROCK_MODEL",
23
- stripProviderPrefix: true
24
- },
25
- {
26
- id: "anthropic",
27
- displayName: "Anthropic",
28
- protocol: "anthropic-messages",
29
- endpoint: {
30
- baseUrl: "https://api.anthropic.com",
31
- baseUrlEnvVar: "ANTHROPIC_BASE_URL",
32
- endpointPath: "/v1/messages",
33
- endpointPathEnvVar: "ANTHROPIC_ENDPOINT_PATH",
34
- endpointEnvVar: "ANTHROPIC_ENDPOINT"
35
- },
36
- auth: {
37
- envVars: ["ANTHROPIC_API_KEY", "ANTHROPIC_OAUTH_TOKEN"],
38
- header: "x-api-key",
39
- oauthTokenHeader: "bearer"
40
- },
41
- requiredEnv: [
42
- field("ANTHROPIC_API_KEY", "Anthropic API key (or set ANTHROPIC_OAUTH_TOKEN)", {
43
- required: true,
44
- secret: true
45
- })
46
- ],
47
- modelEnvVar: "ANTHROPIC_MODEL",
48
- defaultModel: "claude-opus-4-5",
49
- stripProviderPrefix: true,
50
- fixedHeaders: {
51
- "anthropic-version": "2023-06-01"
52
- },
53
- headersFromEnv: [{ name: "anthropic-version", envVar: "ANTHROPIC_VERSION" }],
54
- maxTokensEnvVar: "ANTHROPIC_MAX_TOKENS",
55
- defaultMaxTokens: 4096
56
- },
57
- {
58
- id: "azure-openai-responses",
59
- displayName: "Azure OpenAI Responses",
60
- protocol: "openai-chat",
61
- endpoint: {
62
- endpointEnvVar: "AZURE_OPENAI_ENDPOINT"
63
- },
64
- auth: {
65
- envVars: ["AZURE_OPENAI_API_KEY"],
66
- header: "api-key"
67
- },
68
- requiredEnv: [
69
- field("AZURE_OPENAI_API_KEY", "Azure OpenAI API key", { required: true, secret: true }),
70
- field("AZURE_OPENAI_ENDPOINT", "Azure OpenAI endpoint (full chat completions URL)", {
71
- required: true
72
- }),
73
- field("AZURE_OPENAI_MODEL", "Azure OpenAI model/deployment id", { required: true })
74
- ],
75
- modelEnvVar: "AZURE_OPENAI_MODEL",
76
- stripProviderPrefix: true
77
- },
78
- {
79
- id: "cerebras",
80
- displayName: "Cerebras",
81
- protocol: "openai-chat",
82
- endpoint: {
83
- baseUrl: "https://api.cerebras.ai/v1",
84
- baseUrlEnvVar: "CEREBRAS_BASE_URL",
85
- endpointPath: "/chat/completions",
86
- endpointPathEnvVar: "CEREBRAS_ENDPOINT_PATH",
87
- endpointEnvVar: "CEREBRAS_ENDPOINT"
88
- },
89
- auth: {
90
- envVars: ["CEREBRAS_API_KEY"],
91
- header: "bearer"
92
- },
93
- requiredEnv: [field("CEREBRAS_API_KEY", "Cerebras API key", { required: true, secret: true })],
94
- modelEnvVar: "CEREBRAS_MODEL",
95
- stripProviderPrefix: true
96
- },
97
- {
98
- id: "chutes",
99
- displayName: "Chutes",
100
- protocol: "openai-chat",
101
- endpoint: {
102
- baseUrl: "https://llm.chutes.ai/v1",
103
- baseUrlEnvVar: "CHUTES_BASE_URL",
104
- endpointPath: "/chat/completions",
105
- endpointPathEnvVar: "CHUTES_ENDPOINT_PATH",
106
- endpointEnvVar: "CHUTES_ENDPOINT"
107
- },
108
- auth: {
109
- envVars: ["CHUTES_API_KEY", "CHUTES_OAUTH_TOKEN"],
110
- header: "bearer",
111
- oauthTokenHeader: "bearer"
112
- },
113
- requiredEnv: [
114
- field("CHUTES_API_KEY", "Chutes API key (or set CHUTES_OAUTH_TOKEN)", {
115
- required: true,
116
- secret: true
117
- })
118
- ],
119
- modelEnvVar: "CHUTES_MODEL",
120
- stripProviderPrefix: true
121
- },
122
- {
123
- id: "cloudflare-ai-gateway",
124
- displayName: "Cloudflare AI Gateway",
125
- protocol: "anthropic-messages",
126
- endpoint: {
127
- resolveBaseUrl: resolveCloudflareGatewayBaseUrl,
128
- endpointPath: "/v1/messages",
129
- endpointPathEnvVar: "CLOUDFLARE_AI_GATEWAY_ENDPOINT_PATH",
130
- endpointEnvVar: "CLOUDFLARE_AI_GATEWAY_ENDPOINT"
131
- },
132
- auth: {
133
- envVars: ["CLOUDFLARE_AI_GATEWAY_API_KEY"],
134
- header: "bearer"
135
- },
136
- requiredEnv: [
137
- field("CLOUDFLARE_AI_GATEWAY_API_KEY", "Cloudflare AI Gateway API key", {
138
- required: true,
139
- secret: true
140
- }),
141
- field("CLOUDFLARE_AI_GATEWAY_ACCOUNT_ID", "Cloudflare account id", { required: true }),
142
- field("CLOUDFLARE_AI_GATEWAY_GATEWAY_ID", "Cloudflare AI Gateway id", { required: true })
143
- ],
144
- modelEnvVar: "CLOUDFLARE_AI_GATEWAY_MODEL",
145
- defaultModel: "claude-sonnet-4-5",
146
- stripProviderPrefix: true,
147
- fixedHeaders: {
148
- "anthropic-version": "2023-06-01"
149
- },
150
- maxTokensEnvVar: "CLOUDFLARE_AI_GATEWAY_MAX_TOKENS",
151
- defaultMaxTokens: 4096
152
- },
153
- {
154
- id: "copilot-proxy",
155
- displayName: "Copilot Proxy",
156
- protocol: "openai-chat",
157
- endpoint: {
158
- baseUrl: "http://127.0.0.1:4141/v1",
159
- baseUrlEnvVar: "COPILOT_PROXY_BASE_URL",
160
- endpointPath: "/chat/completions",
161
- endpointPathEnvVar: "COPILOT_PROXY_ENDPOINT_PATH",
162
- endpointEnvVar: "COPILOT_PROXY_ENDPOINT"
163
- },
164
- auth: {
165
- envVars: ["COPILOT_GITHUB_TOKEN", "GH_TOKEN", "GITHUB_TOKEN"],
166
- header: "bearer"
167
- },
168
- requiredEnv: [
169
- field("COPILOT_GITHUB_TOKEN", "GitHub token (use guided GitHub login)", {
170
- required: true,
171
- secret: true
172
- })
173
- ],
174
- modelEnvVar: "COPILOT_PROXY_MODEL",
175
- stripProviderPrefix: true
176
- },
177
- {
178
- id: "github-copilot",
179
- displayName: "GitHub Copilot",
180
- protocol: "openai-chat",
181
- endpoint: {
182
- baseUrl: "https://api.githubcopilot.com",
183
- baseUrlEnvVar: "GITHUB_COPILOT_BASE_URL",
184
- endpointPath: "/chat/completions",
185
- endpointPathEnvVar: "GITHUB_COPILOT_ENDPOINT_PATH",
186
- endpointEnvVar: "GITHUB_COPILOT_ENDPOINT"
187
- },
188
- auth: {
189
- envVars: ["COPILOT_GITHUB_TOKEN", "GH_TOKEN", "GITHUB_TOKEN"],
190
- header: "bearer"
191
- },
192
- requiredEnv: [
193
- field("COPILOT_GITHUB_TOKEN", "GitHub token (use guided GitHub login)", {
194
- required: true,
195
- secret: true
196
- })
197
- ],
198
- modelEnvVar: "GITHUB_COPILOT_MODEL",
199
- stripProviderPrefix: true
200
- },
201
- {
202
- id: "google",
203
- displayName: "Google Gemini",
204
- protocol: "openai-chat",
205
- endpoint: {
206
- baseUrl: "https://generativelanguage.googleapis.com/v1beta/openai",
207
- baseUrlEnvVar: "GOOGLE_BASE_URL",
208
- endpointPath: "/chat/completions",
209
- endpointPathEnvVar: "GOOGLE_ENDPOINT_PATH",
210
- endpointEnvVar: "GOOGLE_ENDPOINT"
211
- },
212
- auth: {
213
- envVars: ["GEMINI_API_KEY", "GOOGLE_API_KEY"],
214
- header: "bearer"
215
- },
216
- requiredEnv: [
217
- field("GEMINI_API_KEY", "Gemini API key", { required: true, secret: true }),
218
- field("GEMINI_MODEL", "Optional default model id")
219
- ],
220
- modelEnvVar: "GEMINI_MODEL",
221
- defaultModel: "gemini-3-pro-preview",
222
- stripProviderPrefix: true
223
- },
224
- {
225
- id: "google-antigravity",
226
- displayName: "Google Antigravity",
227
- protocol: "openai-chat",
228
- endpoint: {
229
- baseUrl: "https://cloudcode-pa.googleapis.com/v1",
230
- baseUrlEnvVar: "GOOGLE_ANTIGRAVITY_BASE_URL",
231
- endpointPath: "/chat/completions",
232
- endpointPathEnvVar: "GOOGLE_ANTIGRAVITY_ENDPOINT_PATH",
233
- endpointEnvVar: "GOOGLE_ANTIGRAVITY_ENDPOINT"
234
- },
235
- auth: {
236
- envVars: ["GOOGLE_ANTIGRAVITY_TOKEN"],
237
- header: "bearer"
238
- },
239
- requiredEnv: [
240
- field("GOOGLE_ANTIGRAVITY_TOKEN", "Google Antigravity OAuth token (use guided sign-in)", {
241
- required: true,
242
- secret: true
243
- })
244
- ],
245
- modelEnvVar: "GOOGLE_ANTIGRAVITY_MODEL",
246
- stripProviderPrefix: true
247
- },
248
- {
249
- id: "google-gemini-cli",
250
- displayName: "Google Gemini CLI OAuth",
251
- protocol: "openai-chat",
252
- endpoint: {
253
- baseUrl: "https://cloudcode-pa.googleapis.com/v1",
254
- baseUrlEnvVar: "GOOGLE_GEMINI_CLI_BASE_URL",
255
- endpointPath: "/chat/completions",
256
- endpointPathEnvVar: "GOOGLE_GEMINI_CLI_ENDPOINT_PATH",
257
- endpointEnvVar: "GOOGLE_GEMINI_CLI_ENDPOINT"
258
- },
259
- auth: {
260
- envVars: ["GOOGLE_GEMINI_CLI_OAUTH_TOKEN"],
261
- header: "bearer"
262
- },
263
- requiredEnv: [
264
- field("GOOGLE_GEMINI_CLI_OAUTH_TOKEN", "Google Gemini CLI OAuth token (use guided sign-in)", {
265
- required: true,
266
- secret: true
267
- })
268
- ],
269
- modelEnvVar: "GOOGLE_GEMINI_CLI_MODEL",
270
- stripProviderPrefix: true
271
- },
272
- {
273
- id: "google-vertex",
274
- displayName: "Google Vertex",
275
- protocol: "openai-chat",
276
- endpoint: {
277
- baseUrlEnvVar: "GOOGLE_VERTEX_BASE_URL",
278
- endpointPath: "/chat/completions",
279
- endpointPathEnvVar: "GOOGLE_VERTEX_ENDPOINT_PATH",
280
- endpointEnvVar: "GOOGLE_VERTEX_ENDPOINT"
281
- },
282
- auth: {
283
- envVars: ["GOOGLE_VERTEX_ACCESS_TOKEN"],
284
- header: "bearer"
285
- },
286
- requiredEnv: [
287
- field("GOOGLE_VERTEX_BASE_URL", "Google Vertex OpenAI-compatible base URL", {
288
- required: true
289
- }),
290
- field("GOOGLE_VERTEX_ACCESS_TOKEN", "Google Vertex access token", {
291
- required: true,
292
- secret: true
293
- })
294
- ],
295
- modelEnvVar: "GOOGLE_VERTEX_MODEL",
296
- stripProviderPrefix: true
297
- },
298
- {
299
- id: "groq",
300
- displayName: "Groq",
301
- protocol: "openai-chat",
302
- endpoint: {
303
- baseUrl: "https://api.groq.com/openai/v1",
304
- baseUrlEnvVar: "GROQ_BASE_URL",
305
- endpointPath: "/chat/completions",
306
- endpointPathEnvVar: "GROQ_ENDPOINT_PATH",
307
- endpointEnvVar: "GROQ_ENDPOINT"
308
- },
309
- auth: {
310
- envVars: ["GROQ_API_KEY"],
311
- header: "bearer"
312
- },
313
- requiredEnv: [field("GROQ_API_KEY", "Groq API key", { required: true, secret: true })],
314
- modelEnvVar: "GROQ_MODEL",
315
- defaultModel: "llama-3.3-70b-versatile",
316
- stripProviderPrefix: true
317
- },
318
- {
319
- id: "huggingface",
320
- displayName: "Hugging Face",
321
- protocol: "openai-chat",
322
- endpoint: {
323
- baseUrl: "https://router.huggingface.co/v1",
324
- baseUrlEnvVar: "HUGGINGFACE_BASE_URL",
325
- endpointPath: "/chat/completions",
326
- endpointPathEnvVar: "HUGGINGFACE_ENDPOINT_PATH",
327
- endpointEnvVar: "HUGGINGFACE_ENDPOINT"
328
- },
329
- auth: {
330
- envVars: ["HF_TOKEN"],
331
- header: "bearer"
332
- },
333
- requiredEnv: [field("HF_TOKEN", "Hugging Face token", { required: true, secret: true })],
334
- modelEnvVar: "HUGGINGFACE_MODEL",
335
- stripProviderPrefix: true
336
- },
337
- {
338
- id: "kimi-coding",
339
- displayName: "Kimi Coding",
340
- protocol: "openai-chat",
341
- endpoint: {
342
- baseUrl: "https://api.moonshot.ai/v1",
343
- baseUrlEnvVar: "KIMI_CODING_BASE_URL",
344
- endpointPath: "/chat/completions",
345
- endpointPathEnvVar: "KIMI_CODING_ENDPOINT_PATH",
346
- endpointEnvVar: "KIMI_CODING_ENDPOINT"
347
- },
348
- auth: {
349
- envVars: ["KIMI_API_KEY", "KIMICODE_API_KEY"],
350
- header: "bearer"
351
- },
352
- requiredEnv: [
353
- field("KIMI_API_KEY", "Kimi Coding API key (or set KIMICODE_API_KEY)", {
354
- required: true,
355
- secret: true
356
- })
357
- ],
358
- modelEnvVar: "KIMI_CODING_MODEL",
359
- defaultModel: "k2p5",
360
- stripProviderPrefix: true
361
- },
362
- {
363
- id: "minimax",
364
- displayName: "MiniMax",
365
- protocol: "openai-chat",
366
- endpoint: {
367
- baseUrl: "https://api.minimax.chat/v1",
368
- baseUrlEnvVar: "MINIMAX_BASE_URL",
369
- endpointPath: "/chat/completions",
370
- endpointPathEnvVar: "MINIMAX_ENDPOINT_PATH",
371
- endpointEnvVar: "MINIMAX_ENDPOINT"
372
- },
373
- auth: {
374
- envVars: ["MINIMAX_API_KEY"],
375
- header: "bearer"
376
- },
377
- requiredEnv: [field("MINIMAX_API_KEY", "MiniMax API key", { required: true, secret: true })],
378
- modelEnvVar: "MINIMAX_MODEL",
379
- defaultModel: "MiniMax-M2.1",
380
- stripProviderPrefix: true
381
- },
382
- {
383
- id: "minimax-cn",
384
- displayName: "MiniMax CN",
385
- protocol: "openai-chat",
386
- endpoint: {
387
- baseUrl: "https://api.minimax.chat/v1",
388
- baseUrlEnvVar: "MINIMAX_CN_BASE_URL",
389
- endpointPath: "/chat/completions",
390
- endpointPathEnvVar: "MINIMAX_CN_ENDPOINT_PATH",
391
- endpointEnvVar: "MINIMAX_CN_ENDPOINT"
392
- },
393
- auth: {
394
- envVars: ["MINIMAX_API_KEY"],
395
- header: "bearer"
396
- },
397
- requiredEnv: [field("MINIMAX_API_KEY", "MiniMax API key", { required: true, secret: true })],
398
- modelEnvVar: "MINIMAX_CN_MODEL",
399
- defaultModel: "MiniMax-M2.1-lightning",
400
- stripProviderPrefix: true
401
- },
402
- {
403
- id: "minimax-portal",
404
- displayName: "MiniMax Portal OAuth",
405
- protocol: "anthropic-messages",
406
- endpoint: {
407
- baseUrl: "https://api.minimax.io/anthropic",
408
- baseUrlEnvVar: "MINIMAX_PORTAL_BASE_URL",
409
- endpointPath: "/v1/messages",
410
- endpointPathEnvVar: "MINIMAX_PORTAL_ENDPOINT_PATH",
411
- endpointEnvVar: "MINIMAX_PORTAL_ENDPOINT"
412
- },
413
- auth: {
414
- envVars: ["MINIMAX_OAUTH_TOKEN", "MINIMAX_API_KEY"],
415
- header: "x-api-key",
416
- oauthTokenHeader: "bearer"
417
- },
418
- requiredEnv: [
419
- field("MINIMAX_OAUTH_TOKEN", "MiniMax OAuth token (use guided sign-in, or set MINIMAX_API_KEY)", {
420
- required: true,
421
- secret: true
422
- })
423
- ],
424
- modelEnvVar: "MINIMAX_PORTAL_MODEL",
425
- defaultModel: "MiniMax-M2.1",
426
- stripProviderPrefix: true,
427
- fixedHeaders: {
428
- "anthropic-version": "2023-06-01"
429
- },
430
- maxTokensEnvVar: "MINIMAX_PORTAL_MAX_TOKENS",
431
- defaultMaxTokens: 4096
432
- },
433
- {
434
- id: "mistral",
435
- displayName: "Mistral",
436
- protocol: "openai-chat",
437
- endpoint: {
438
- baseUrl: "https://api.mistral.ai/v1",
439
- baseUrlEnvVar: "MISTRAL_BASE_URL",
440
- endpointPath: "/chat/completions",
441
- endpointPathEnvVar: "MISTRAL_ENDPOINT_PATH",
442
- endpointEnvVar: "MISTRAL_ENDPOINT"
443
- },
444
- auth: {
445
- envVars: ["MISTRAL_API_KEY"],
446
- header: "bearer"
447
- },
448
- requiredEnv: [field("MISTRAL_API_KEY", "Mistral API key", { required: true, secret: true })],
449
- modelEnvVar: "MISTRAL_MODEL",
450
- defaultModel: "mistral-large-latest",
451
- stripProviderPrefix: true
452
- },
453
- {
454
- id: "moonshot",
455
- displayName: "Moonshot",
456
- protocol: "openai-chat",
457
- endpoint: {
458
- baseUrl: "https://api.moonshot.ai/v1",
459
- baseUrlEnvVar: "MOONSHOT_BASE_URL",
460
- endpointPath: "/chat/completions",
461
- endpointPathEnvVar: "MOONSHOT_ENDPOINT_PATH",
462
- endpointEnvVar: "MOONSHOT_ENDPOINT"
463
- },
464
- auth: {
465
- envVars: ["MOONSHOT_API_KEY"],
466
- header: "bearer"
467
- },
468
- requiredEnv: [field("MOONSHOT_API_KEY", "Moonshot API key", { required: true, secret: true })],
469
- modelEnvVar: "MOONSHOT_MODEL",
470
- defaultModel: "kimi-k2.5",
471
- stripProviderPrefix: true
472
- },
473
- {
474
- id: "ollama",
475
- displayName: "Ollama",
476
- protocol: "openai-chat",
477
- endpoint: {
478
- baseUrl: "http://127.0.0.1:11434/v1",
479
- baseUrlEnvVar: "OLLAMA_BASE_URL",
480
- endpointPath: "/chat/completions",
481
- endpointPathEnvVar: "OLLAMA_ENDPOINT_PATH",
482
- endpointEnvVar: "OLLAMA_ENDPOINT"
483
- },
484
- auth: {
485
- envVars: ["OLLAMA_API_KEY"],
486
- header: "bearer",
487
- optional: true
488
- },
489
- requiredEnv: [],
490
- modelEnvVar: "OLLAMA_MODEL",
491
- defaultModel: "llama3.3",
492
- stripProviderPrefix: true
493
- },
494
- {
495
- id: "openai-codex",
496
- displayName: "OpenAI Codex OAuth",
497
- protocol: "openai-chat",
498
- endpoint: {
499
- baseUrl: "https://api.openai.com/v1",
500
- baseUrlEnvVar: "OPENAI_CODEX_BASE_URL",
501
- endpointPath: "/chat/completions",
502
- endpointPathEnvVar: "OPENAI_CODEX_ENDPOINT_PATH",
503
- endpointEnvVar: "OPENAI_CODEX_ENDPOINT"
504
- },
505
- auth: {
506
- envVars: ["OPENAI_CODEX_OAUTH_TOKEN", "OPENAI_API_KEY"],
507
- header: "bearer"
508
- },
509
- requiredEnv: [
510
- field("OPENAI_CODEX_OAUTH_TOKEN", "OpenAI Codex OAuth token (or set OPENAI_API_KEY; API key recommended)", {
511
- required: true,
512
- secret: true
513
- })
514
- ],
515
- modelEnvVar: "OPENAI_CODEX_MODEL",
516
- defaultModel: "gpt-5.3-codex",
517
- stripProviderPrefix: true
518
- },
519
- {
520
- id: "opencode-zen",
521
- displayName: "OpenCode Zen",
522
- protocol: "openai-chat",
523
- endpoint: {
524
- baseUrl: "https://opencode.ai/zen/v1",
525
- baseUrlEnvVar: "OPENCODE_ZEN_BASE_URL",
526
- endpointPath: "/chat/completions",
527
- endpointPathEnvVar: "OPENCODE_ZEN_ENDPOINT_PATH",
528
- endpointEnvVar: "OPENCODE_ZEN_ENDPOINT"
529
- },
530
- auth: {
531
- envVars: ["OPENCODE_API_KEY", "OPENCODE_ZEN_API_KEY"],
532
- header: "bearer"
533
- },
534
- requiredEnv: [
535
- field("OPENCODE_API_KEY", "OpenCode Zen API key (or set OPENCODE_ZEN_API_KEY)", {
536
- required: true,
537
- secret: true
538
- })
539
- ],
540
- modelEnvVar: "OPENCODE_ZEN_MODEL",
541
- defaultModel: "claude-opus-4-6",
542
- stripProviderPrefix: true
543
- },
544
- {
545
- id: "qianfan",
546
- displayName: "Qianfan",
547
- protocol: "openai-chat",
548
- endpoint: {
549
- baseUrl: "https://qianfan.baidubce.com/v2",
550
- baseUrlEnvVar: "QIANFAN_BASE_URL",
551
- endpointPath: "/chat/completions",
552
- endpointPathEnvVar: "QIANFAN_ENDPOINT_PATH",
553
- endpointEnvVar: "QIANFAN_ENDPOINT"
554
- },
555
- auth: {
556
- envVars: ["QIANFAN_API_KEY"],
557
- header: "bearer"
558
- },
559
- requiredEnv: [field("QIANFAN_API_KEY", "Qianfan API key", { required: true, secret: true })],
560
- modelEnvVar: "QIANFAN_MODEL",
561
- defaultModel: "deepseek-v3.2",
562
- stripProviderPrefix: true
563
- },
564
- {
565
- id: "qwen-portal",
566
- displayName: "Qwen Portal OAuth",
567
- protocol: "openai-chat",
568
- endpoint: {
569
- baseUrl: "https://portal.qwen.ai/v1",
570
- baseUrlEnvVar: "QWEN_PORTAL_BASE_URL",
571
- endpointPath: "/chat/completions",
572
- endpointPathEnvVar: "QWEN_PORTAL_ENDPOINT_PATH",
573
- endpointEnvVar: "QWEN_PORTAL_ENDPOINT"
574
- },
575
- auth: {
576
- envVars: ["QWEN_OAUTH_TOKEN", "QWEN_PORTAL_API_KEY"],
577
- header: "bearer"
578
- },
579
- requiredEnv: [
580
- field("QWEN_OAUTH_TOKEN", "Qwen OAuth token (use guided sign-in, or set QWEN_PORTAL_API_KEY)", {
581
- required: true,
582
- secret: true
583
- })
584
- ],
585
- modelEnvVar: "QWEN_PORTAL_MODEL",
586
- defaultModel: "coder-model",
587
- stripProviderPrefix: true
588
- },
589
- {
590
- id: "synthetic",
591
- displayName: "Synthetic",
592
- protocol: "anthropic-messages",
593
- endpoint: {
594
- baseUrl: "https://api.synthetic.new/anthropic",
595
- baseUrlEnvVar: "SYNTHETIC_BASE_URL",
596
- endpointPath: "/v1/messages",
597
- endpointPathEnvVar: "SYNTHETIC_ENDPOINT_PATH",
598
- endpointEnvVar: "SYNTHETIC_ENDPOINT"
599
- },
600
- auth: {
601
- envVars: ["SYNTHETIC_API_KEY"],
602
- header: "x-api-key"
603
- },
604
- requiredEnv: [field("SYNTHETIC_API_KEY", "Synthetic API key", { required: true, secret: true })],
605
- modelEnvVar: "SYNTHETIC_MODEL",
606
- defaultModel: "hf:MiniMaxAI/MiniMax-M2.1",
607
- stripProviderPrefix: true,
608
- fixedHeaders: {
609
- "anthropic-version": "2023-06-01"
610
- },
611
- maxTokensEnvVar: "SYNTHETIC_MAX_TOKENS",
612
- defaultMaxTokens: 4096
613
- },
614
- {
615
- id: "venice",
616
- displayName: "Venice",
617
- protocol: "openai-chat",
618
- endpoint: {
619
- baseUrl: "https://api.venice.ai/api/v1",
620
- baseUrlEnvVar: "VENICE_BASE_URL",
621
- endpointPath: "/chat/completions",
622
- endpointPathEnvVar: "VENICE_ENDPOINT_PATH",
623
- endpointEnvVar: "VENICE_ENDPOINT"
624
- },
625
- auth: {
626
- envVars: ["VENICE_API_KEY"],
627
- header: "bearer"
628
- },
629
- requiredEnv: [field("VENICE_API_KEY", "Venice API key", { required: true, secret: true })],
630
- modelEnvVar: "VENICE_MODEL",
631
- defaultModel: "llama-3.3-70b",
632
- stripProviderPrefix: true
633
- },
634
- {
635
- id: "vercel-ai-gateway",
636
- displayName: "Vercel AI Gateway",
637
- protocol: "openai-chat",
638
- endpoint: {
639
- baseUrl: "https://ai-gateway.vercel.sh/v1",
640
- baseUrlEnvVar: "VERCEL_AI_GATEWAY_BASE_URL",
641
- endpointPath: "/chat/completions",
642
- endpointPathEnvVar: "VERCEL_AI_GATEWAY_ENDPOINT_PATH",
643
- endpointEnvVar: "VERCEL_AI_GATEWAY_ENDPOINT"
644
- },
645
- auth: {
646
- envVars: ["AI_GATEWAY_API_KEY"],
647
- header: "bearer"
648
- },
649
- requiredEnv: [
650
- field("AI_GATEWAY_API_KEY", "Vercel AI Gateway API key", {
651
- required: true,
652
- secret: true
653
- })
654
- ],
655
- modelEnvVar: "AI_GATEWAY_MODEL",
656
- defaultModel: "anthropic/claude-opus-4.6",
657
- stripProviderPrefix: true
658
- },
659
- {
660
- id: "xiaomi",
661
- displayName: "Xiaomi",
662
- protocol: "anthropic-messages",
663
- endpoint: {
664
- baseUrl: "https://api.xiaomimimo.com/anthropic",
665
- baseUrlEnvVar: "XIAOMI_BASE_URL",
666
- endpointPath: "/v1/messages",
667
- endpointPathEnvVar: "XIAOMI_ENDPOINT_PATH",
668
- endpointEnvVar: "XIAOMI_ENDPOINT"
669
- },
670
- auth: {
671
- envVars: ["XIAOMI_API_KEY"],
672
- header: "x-api-key"
673
- },
674
- requiredEnv: [field("XIAOMI_API_KEY", "Xiaomi API key", { required: true, secret: true })],
675
- modelEnvVar: "XIAOMI_MODEL",
676
- defaultModel: "mimo-v2-flash",
677
- stripProviderPrefix: true,
678
- fixedHeaders: {
679
- "anthropic-version": "2023-06-01"
680
- },
681
- maxTokensEnvVar: "XIAOMI_MAX_TOKENS",
682
- defaultMaxTokens: 4096
683
- },
684
- {
685
- id: "zai",
686
- displayName: "Z.AI",
687
- protocol: "openai-chat",
688
- endpoint: {
689
- baseUrl: "https://api.z.ai/v1",
690
- baseUrlEnvVar: "ZAI_BASE_URL",
691
- endpointPath: "/chat/completions",
692
- endpointPathEnvVar: "ZAI_ENDPOINT_PATH",
693
- endpointEnvVar: "ZAI_ENDPOINT"
694
- },
695
- auth: {
696
- envVars: ["ZAI_API_KEY", "Z_AI_API_KEY"],
697
- header: "bearer"
698
- },
699
- requiredEnv: [
700
- field("ZAI_API_KEY", "Z.AI API key (or set Z_AI_API_KEY)", {
701
- required: true,
702
- secret: true
703
- })
704
- ],
705
- modelEnvVar: "ZAI_MODEL",
706
- defaultModel: "glm-4.7",
707
- stripProviderPrefix: true
708
- }
709
- ];
710
- const modelEnvByProviderId = new Map(extendedHttpProviderCatalog.map((spec) => [spec.id, spec.modelEnvVar]));
711
- export function resolveExtendedHttpProviderModelEnvVar(providerId) {
712
- return modelEnvByProviderId.get(providerId.trim().toLowerCase());
713
- }
714
- export function resolveExtendedHttpProviderOnboarding(spec) {
715
- const env = spec.requiredEnv.map((entry) => ({ ...entry }));
716
- const hasRequiredModelField = env.some((fieldEntry) => fieldEntry.key === spec.modelEnvVar && Boolean(fieldEntry.required));
717
- if (!spec.defaultModel && !hasRequiredModelField) {
718
- env.push(field(spec.modelEnvVar, `Default model for ${spec.displayName}`, { required: true }));
719
- }
720
- return {
721
- env,
722
- auth: {
723
- supported: false,
724
- description: "Configure required credentials directly in provider settings."
725
- }
726
- };
727
- }
728
- //# sourceMappingURL=catalog.js.map