@vm0/cli 9.238.3 → 9.238.5
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/{agent-CTMIX4TA.js → agent-KS3ULPSZ.js} +6 -8
- package/{agent-CTMIX4TA.js.map → agent-KS3ULPSZ.js.map} +1 -1
- package/{banking-7EIKU7WX.js → banking-2B3GDOIE.js} +4 -6
- package/{banking-7EIKU7WX.js.map → banking-2B3GDOIE.js.map} +1 -1
- package/bill.generated-5FJHQPXY.js +16 -0
- package/bill.generated-5FJHQPXY.js.map +1 -0
- package/bill.generated-HYFQCA2Q.js +16 -0
- package/bill.generated-HYFQCA2Q.js.map +1 -0
- package/{chat-5MN7N3LD.js → chat-HP7XYF7H.js} +5 -7
- package/{chat-5MN7N3LD.js.map → chat-HP7XYF7H.js.map} +1 -1
- package/{chunk-65ZW3GHG.js → chunk-EJBHYDGP.js} +5 -7
- package/{chunk-65ZW3GHG.js.map → chunk-EJBHYDGP.js.map} +1 -1
- package/{chunk-XX3HVOWG.js → chunk-GIACTMOF.js} +18 -1015
- package/chunk-GIACTMOF.js.map +1 -0
- package/{chunk-ADBNTM34.js → chunk-H4Y7JDZB.js} +1947 -78
- package/chunk-H4Y7JDZB.js.map +1 -0
- package/{chunk-3LJFZEZ5.js → chunk-OCOHCUE3.js} +922 -290
- package/chunk-OCOHCUE3.js.map +1 -0
- package/{chunk-NAFRQSTL.js → chunk-T3XOMNS6.js} +3 -3
- package/{chunk-3SWR53IF.js → chunk-TEJZT6KB.js} +4 -4
- package/{chunk-3SZJPIMX.js → chunk-UHVWYX44.js} +2 -2
- package/{chunk-22VWTDX6.js → chunk-VC7E6IA7.js} +2830 -1325
- package/chunk-VC7E6IA7.js.map +1 -0
- package/{chunk-WPUM3KGN.js → chunk-VUER2HGS.js} +2 -2
- package/{chunk-4ODVSQ6H.js → chunk-YQ5ZYQN3.js} +2 -2
- package/{computer-use-JW6NHZFY.js → computer-use-6GZVM5S6.js} +3 -4
- package/{computer-use-JW6NHZFY.js.map → computer-use-6GZVM5S6.js.map} +1 -1
- package/{connector-II52GGER.js → connector-SFMD6HBQ.js} +5 -7
- package/{connector-II52GGER.js.map → connector-SFMD6HBQ.js.map} +1 -1
- package/copper.generated-PZRA3BV7.js +16 -0
- package/copper.generated-PZRA3BV7.js.map +1 -0
- package/copper.generated-UBWQDA5K.js +16 -0
- package/copper.generated-UBWQDA5K.js.map +1 -0
- package/{credit-SDMLLER2.js → credit-B465R4TF.js} +5 -7
- package/{credit-SDMLLER2.js.map → credit-B465R4TF.js.map} +1 -1
- package/datadog.generated-S4YB2V57.js +16 -0
- package/datadog.generated-S4YB2V57.js.map +1 -0
- package/datadog.generated-Z3O2DYLP.js +16 -0
- package/datadog.generated-Z3O2DYLP.js.map +1 -0
- package/{developer-support-7OGYYIJ2.js → developer-support-6GM2UW5P.js} +3 -4
- package/{developer-support-7OGYYIJ2.js.map → developer-support-6GM2UW5P.js.map} +1 -1
- package/{doctor-UJIIOA33.js → doctor-Z3HFRIKJ.js} +104 -18
- package/doctor-Z3HFRIKJ.js.map +1 -0
- package/expensify.generated-G2ZGBKBQ.js +16 -0
- package/expensify.generated-G2ZGBKBQ.js.map +1 -0
- package/expensify.generated-OHAW3AHP.js +16 -0
- package/expensify.generated-OHAW3AHP.js.map +1 -0
- package/{generate-DPGQKZTH.js → generate-37CJMAVG.js} +5 -7
- package/{generate-DPGQKZTH.js.map → generate-37CJMAVG.js.map} +1 -1
- package/{github-DA62AJIQ.js → github-6CSR7332.js} +3 -4
- package/{github-DA62AJIQ.js.map → github-6CSR7332.js.map} +1 -1
- package/{goal-WWM7OYBQ.js → goal-XURMW5OS.js} +3 -4
- package/{goal-WWM7OYBQ.js.map → goal-XURMW5OS.js.map} +1 -1
- package/google-contacts.generated-FL6Z7MTD.js +16 -0
- package/google-contacts.generated-FL6Z7MTD.js.map +1 -0
- package/google-contacts.generated-Q67YBTPW.js +16 -0
- package/google-contacts.generated-Q67YBTPW.js.map +1 -0
- package/google-forms.generated-AOKO24AB.js +16 -0
- package/google-forms.generated-AOKO24AB.js.map +1 -0
- package/google-forms.generated-KDCHIV43.js +16 -0
- package/google-forms.generated-KDCHIV43.js.map +1 -0
- package/{host-YMKJGV6R.js → host-EVFNV5BX.js} +4 -6
- package/{host-YMKJGV6R.js.map → host-EVFNV5BX.js.map} +1 -1
- package/index.js +14 -17
- package/index.js.map +1 -1
- package/{logs-FKXVE6QD.js → logs-DR7ZTWBK.js} +7 -10
- package/{logs-FKXVE6QD.js.map → logs-DR7ZTWBK.js.map} +1 -1
- package/{maps-MWMFHA72.js → maps-IAVJJMRT.js} +4 -6
- package/{maps-MWMFHA72.js.map → maps-IAVJJMRT.js.map} +1 -1
- package/{memory-KAGWT3GE.js → memory-X765S3ZI.js} +4 -6
- package/{memory-KAGWT3GE.js.map → memory-X765S3ZI.js.map} +1 -1
- package/{model-67UDE3IM.js → model-ZYVNUG47.js} +6 -8
- package/{model-67UDE3IM.js.map → model-ZYVNUG47.js.map} +1 -1
- package/{model-provider-YGNGMT6S.js → model-provider-SZIIRXS3.js} +5 -7
- package/{model-provider-YGNGMT6S.js.map → model-provider-SZIIRXS3.js.map} +1 -1
- package/netsuite.generated-3NXSZOXT.js +16 -0
- package/netsuite.generated-3NXSZOXT.js.map +1 -0
- package/netsuite.generated-XV3WXA4I.js +16 -0
- package/netsuite.generated-XV3WXA4I.js.map +1 -0
- package/{org-L52CQ6HJ.js → org-GBDLJZSE.js} +10 -12
- package/{org-L52CQ6HJ.js.map → org-GBDLJZSE.js.map} +1 -1
- package/package.json +1 -1
- package/paypal.generated-MDKROCJG.js +16 -0
- package/paypal.generated-MDKROCJG.js.map +1 -0
- package/paypal.generated-YZYYL7HX.js +16 -0
- package/paypal.generated-YZYYL7HX.js.map +1 -0
- package/{phone-VYQKHTRX.js → phone-KA4NZFQC.js} +4 -6
- package/{phone-VYQKHTRX.js.map → phone-KA4NZFQC.js.map} +1 -1
- package/{preference-7ULJO7RD.js → preference-TEMJHA73.js} +4 -6
- package/{preference-7ULJO7RD.js.map → preference-TEMJHA73.js.map} +1 -1
- package/ramp.generated-GDRLFPGX.js +16 -0
- package/ramp.generated-GDRLFPGX.js.map +1 -0
- package/ramp.generated-RJKZQLIG.js +16 -0
- package/ramp.generated-RJKZQLIG.js.map +1 -0
- package/{relationship-TNCKBWUW.js → relationship-OXV2SPNL.js} +4 -6
- package/{relationship-TNCKBWUW.js.map → relationship-OXV2SPNL.js.map} +1 -1
- package/{resource-V4AXTBFL.js → resource-2WREU3GR.js} +4 -6
- package/{resource-V4AXTBFL.js.map → resource-2WREU3GR.js.map} +1 -1
- package/{search-ABCFRK5K.js → search-V5V5IHY7.js} +7 -10
- package/{search-ABCFRK5K.js.map → search-V5V5IHY7.js.map} +1 -1
- package/{secret-6C53IEKW.js → secret-LIAHG47P.js} +12 -26
- package/secret-LIAHG47P.js.map +1 -0
- package/{slack-H4OQPL4A.js → slack-BUOXO2HU.js} +4 -6
- package/{slack-H4OQPL4A.js.map → slack-BUOXO2HU.js.map} +1 -1
- package/{teams-RLQBP3SK.js → teams-G7TYHRJB.js} +4 -6
- package/{teams-RLQBP3SK.js.map → teams-G7TYHRJB.js.map} +1 -1
- package/{telegram-TKQOVOWL.js → telegram-DEHNZSEN.js} +4 -6
- package/{telegram-TKQOVOWL.js.map → telegram-DEHNZSEN.js.map} +1 -1
- package/{variable-5PRGXPQX.js → variable-RMYF6NVZ.js} +4 -6
- package/{variable-5PRGXPQX.js.map → variable-RMYF6NVZ.js.map} +1 -1
- package/{video-CVM7TXWW.js → video-XEYMVSIU.js} +2 -3
- package/{video-CVM7TXWW.js.map → video-XEYMVSIU.js.map} +1 -1
- package/{web-E3KRU54R.js → web-4REDKON3.js} +3 -4
- package/{web-E3KRU54R.js.map → web-4REDKON3.js.map} +1 -1
- package/{whoami-7JOZNZEZ.js → whoami-66W7DPQX.js} +6 -8
- package/{whoami-7JOZNZEZ.js.map → whoami-66W7DPQX.js.map} +1 -1
- package/workday.generated-4MPT7O3V.js +16 -0
- package/workday.generated-4MPT7O3V.js.map +1 -0
- package/workday.generated-AHL44LEE.js +16 -0
- package/workday.generated-AHL44LEE.js.map +1 -0
- package/{workflow-RAR37LR4.js → workflow-PBJVC6HV.js} +5 -7
- package/workflow-PBJVC6HV.js.map +1 -0
- package/zero.js +34 -51
- package/zero.js.map +1 -1
- package/automation-7MAK66QT.js +0 -31
- package/automation-7MAK66QT.js.map +0 -1
- package/chunk-22VWTDX6.js.map +0 -1
- package/chunk-3LJFZEZ5.js.map +0 -1
- package/chunk-ADBNTM34.js.map +0 -1
- package/chunk-JUTUEPIR.js +0 -512
- package/chunk-JUTUEPIR.js.map +0 -1
- package/chunk-NBAZLPV3.js +0 -1301
- package/chunk-NBAZLPV3.js.map +0 -1
- package/chunk-XX3HVOWG.js.map +0 -1
- package/doctor-UJIIOA33.js.map +0 -1
- package/schedule-OSHL7HWT.js +0 -33
- package/schedule-OSHL7HWT.js.map +0 -1
- package/secret-6C53IEKW.js.map +0 -1
- package/workflow-RAR37LR4.js.map +0 -1
- /package/{chunk-NAFRQSTL.js.map → chunk-T3XOMNS6.js.map} +0 -0
- /package/{chunk-3SWR53IF.js.map → chunk-TEJZT6KB.js.map} +0 -0
- /package/{chunk-3SZJPIMX.js.map → chunk-UHVWYX44.js.map} +0 -0
- /package/{chunk-WPUM3KGN.js.map → chunk-VUER2HGS.js.map} +0 -0
- /package/{chunk-4ODVSQ6H.js.map → chunk-YQ5ZYQN3.js.map} +0 -0
|
@@ -13,1001 +13,20 @@ import {
|
|
|
13
13
|
handleError,
|
|
14
14
|
headersWithCliClientHeaders,
|
|
15
15
|
initClient,
|
|
16
|
-
initContract
|
|
17
|
-
|
|
16
|
+
initContract,
|
|
17
|
+
isSupportedRunModel,
|
|
18
|
+
modelProviderCodexRuntimeConfigSchema,
|
|
19
|
+
modelProviderListResponseSchema,
|
|
20
|
+
modelProviderTypeSchema,
|
|
21
|
+
orgModelPoliciesResponseSchema,
|
|
22
|
+
updateOrgModelPoliciesRequestSchema,
|
|
23
|
+
upsertModelProviderRequestSchema,
|
|
24
|
+
upsertModelProviderResponseSchema
|
|
25
|
+
} from "./chunk-VC7E6IA7.js";
|
|
18
26
|
import {
|
|
19
27
|
init_esm_shims
|
|
20
28
|
} from "./chunk-DIRAZ3YX.js";
|
|
21
29
|
|
|
22
|
-
// ../../packages/api-contracts/src/contracts/model-providers.ts
|
|
23
|
-
init_esm_shims();
|
|
24
|
-
|
|
25
|
-
// ../../packages/connectors/src/feature-switch-key.ts
|
|
26
|
-
init_esm_shims();
|
|
27
|
-
|
|
28
|
-
// ../../packages/api-contracts/src/contracts/model-price-tiers.ts
|
|
29
|
-
init_esm_shims();
|
|
30
|
-
var SUPPORTED_RUN_MODELS = [
|
|
31
|
-
"claude-fable-5",
|
|
32
|
-
"gpt-5.6-sol",
|
|
33
|
-
"gpt-5.6-terra",
|
|
34
|
-
"gpt-5.6-luna",
|
|
35
|
-
"gpt-5.5",
|
|
36
|
-
"claude-opus-4-8",
|
|
37
|
-
"claude-opus-4-7",
|
|
38
|
-
"claude-opus-4-6",
|
|
39
|
-
"claude-sonnet-5",
|
|
40
|
-
"claude-sonnet-4-6",
|
|
41
|
-
"deepseek-v4-pro",
|
|
42
|
-
"kimi-k2.7-code",
|
|
43
|
-
"MiniMax-M3",
|
|
44
|
-
"glm-5.2",
|
|
45
|
-
"glm-5.1",
|
|
46
|
-
"mimo-v2.5",
|
|
47
|
-
"hy3-preview",
|
|
48
|
-
"gpt-5.4",
|
|
49
|
-
"gpt-5.4-mini"
|
|
50
|
-
];
|
|
51
|
-
var VM0_MODEL_PRICE_TIER = Object.freeze({
|
|
52
|
-
"claude-fable-5": "$$$$",
|
|
53
|
-
"gpt-5.6-sol": "$$$",
|
|
54
|
-
"gpt-5.6-terra": "$$",
|
|
55
|
-
"gpt-5.6-luna": "$",
|
|
56
|
-
"gpt-5.5": "$$$",
|
|
57
|
-
"claude-opus-4-8": "$$$",
|
|
58
|
-
"claude-opus-4-7": "$$$",
|
|
59
|
-
"claude-opus-4-6": "$$$",
|
|
60
|
-
"claude-sonnet-5": "$$",
|
|
61
|
-
"claude-sonnet-4-6": "$$",
|
|
62
|
-
"deepseek-v4-pro": "$",
|
|
63
|
-
"kimi-k2.7-code": "$",
|
|
64
|
-
"MiniMax-M3": "$",
|
|
65
|
-
"glm-5.2": "$",
|
|
66
|
-
"glm-5.1": "$",
|
|
67
|
-
"mimo-v2.5": "$",
|
|
68
|
-
"hy3-preview": "$",
|
|
69
|
-
"gpt-5.4": "$$",
|
|
70
|
-
"gpt-5.4-mini": "$"
|
|
71
|
-
});
|
|
72
|
-
var VM0_MODEL_PRICE_TIER_LABEL = Object.freeze({
|
|
73
|
-
$: "Economy tier for everyday simple tasks",
|
|
74
|
-
$$: "Balanced cost and performance",
|
|
75
|
-
$$$: "Frontier flagship model",
|
|
76
|
-
$$$$: "Premium frontier model for the hardest tasks"
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
// ../../packages/api-contracts/src/contracts/model-provider-types.ts
|
|
80
|
-
init_esm_shims();
|
|
81
|
-
var MODEL_PROVIDER_TYPE_IDS = [
|
|
82
|
-
"claude-code-oauth-token",
|
|
83
|
-
"anthropic-api-key",
|
|
84
|
-
"openrouter-api-key",
|
|
85
|
-
"moonshot-api-key",
|
|
86
|
-
"minimax-api-key",
|
|
87
|
-
"deepseek-api-key",
|
|
88
|
-
"zai-api-key",
|
|
89
|
-
"vercel-ai-gateway",
|
|
90
|
-
"openrouter-codex",
|
|
91
|
-
"vercel-ai-gateway-codex",
|
|
92
|
-
"openai-api-key",
|
|
93
|
-
"codex-oauth-token",
|
|
94
|
-
"azure-foundry",
|
|
95
|
-
"aws-bedrock",
|
|
96
|
-
"vm0"
|
|
97
|
-
];
|
|
98
|
-
|
|
99
|
-
// ../../packages/api-contracts/src/contracts/model-provider-firewalls.ts
|
|
100
|
-
init_esm_shims();
|
|
101
|
-
var MODEL_PROVIDER_ENV_PLACEHOLDERS = {
|
|
102
|
-
// Placeholder: sk-ant-api03-{93 word/hyphen chars}AA (108 chars total)
|
|
103
|
-
// Source: Semgrep regex \Bsk-ant-api03-[\w\-]{93}AA\B
|
|
104
|
-
// https://semgrep.dev/blog/2025/secrets-story-and-prefixed-secrets/
|
|
105
|
-
ANTHROPIC_API_KEY: "sk-ant-api03-CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCofAA",
|
|
106
|
-
// Placeholder: sk-ant-oat01-{93 word/hyphen chars}AA (108 chars total)
|
|
107
|
-
// Source: same structure as API key; prefix from claude setup-token output
|
|
108
|
-
// https://github.com/anthropics/claude-code/issues/18340
|
|
109
|
-
// Example: sk-ant-oat01-xxxxx...xxxxx (1-year OAuth token)
|
|
110
|
-
CLAUDE_CODE_OAUTH_TOKEN: "sk-ant-oat01-CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCofAA",
|
|
111
|
-
// Generic bearer-token marker for Claude-compatible gateways that map
|
|
112
|
-
// provider-specific secrets into ANTHROPIC_AUTH_TOKEN.
|
|
113
|
-
ANTHROPIC_AUTH_TOKEN: "sk-CoffeeSafeLocalCoffeeSafeLocalCo",
|
|
114
|
-
// Placeholder: sk-proj-{chars}T3BlbkFJ{chars} (typical project key shape)
|
|
115
|
-
// Source: mirrors the OpenAI connector firewall placeholder shape.
|
|
116
|
-
OPENAI_API_KEY: "sk-proj-CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocaT3BlbkFJCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLoca",
|
|
117
|
-
// Opaque fake marker, not a JWT. Codex ChatGPT mode reads auth.json, while
|
|
118
|
-
// firewall auth substitutes this marker at egress.
|
|
119
|
-
CHATGPT_ACCESS_TOKEN: "chatgpt-token-CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocal",
|
|
120
|
-
CHATGPT_ACCOUNT_ID: "ws_VM0_PLACEHOLDER_DO_NOT_TRUST",
|
|
121
|
-
CHATGPT_REFRESH_TOKEN: "rt_VM0_PLACEHOLDER_DO_NOT_TRUST"
|
|
122
|
-
};
|
|
123
|
-
var MODEL_PROVIDER_FIREWALL_PROVIDER_CONFIGS = {
|
|
124
|
-
"anthropic-api-key": {
|
|
125
|
-
framework: "claude-code",
|
|
126
|
-
secretName: "ANTHROPIC_API_KEY"
|
|
127
|
-
},
|
|
128
|
-
"claude-code-oauth-token": {
|
|
129
|
-
framework: "claude-code",
|
|
130
|
-
secretName: "CLAUDE_CODE_OAUTH_TOKEN"
|
|
131
|
-
},
|
|
132
|
-
"openrouter-api-key": {
|
|
133
|
-
framework: "claude-code",
|
|
134
|
-
secretName: "OPENROUTER_API_KEY",
|
|
135
|
-
anthropicBaseUrl: "https://openrouter.ai/api"
|
|
136
|
-
},
|
|
137
|
-
"moonshot-api-key": {
|
|
138
|
-
framework: "claude-code",
|
|
139
|
-
secretName: "MOONSHOT_API_KEY",
|
|
140
|
-
anthropicBaseUrl: "https://api.moonshot.ai/anthropic"
|
|
141
|
-
},
|
|
142
|
-
"minimax-api-key": {
|
|
143
|
-
framework: "claude-code",
|
|
144
|
-
secretName: "MINIMAX_API_KEY",
|
|
145
|
-
anthropicBaseUrl: "https://api.minimax.io/anthropic"
|
|
146
|
-
},
|
|
147
|
-
"deepseek-api-key": {
|
|
148
|
-
framework: "claude-code",
|
|
149
|
-
secretName: "DEEPSEEK_API_KEY",
|
|
150
|
-
anthropicBaseUrl: "https://api.deepseek.com/anthropic"
|
|
151
|
-
},
|
|
152
|
-
"zai-api-key": {
|
|
153
|
-
framework: "claude-code",
|
|
154
|
-
secretName: "ZAI_API_KEY",
|
|
155
|
-
anthropicBaseUrl: "https://api.z.ai/api/anthropic"
|
|
156
|
-
},
|
|
157
|
-
"vercel-ai-gateway": {
|
|
158
|
-
framework: "claude-code",
|
|
159
|
-
secretName: "VERCEL_AI_GATEWAY_API_KEY",
|
|
160
|
-
anthropicBaseUrl: "https://ai-gateway.vercel.sh"
|
|
161
|
-
},
|
|
162
|
-
"openrouter-codex": {
|
|
163
|
-
framework: "codex",
|
|
164
|
-
secretName: "OPENROUTER_API_KEY",
|
|
165
|
-
openaiBaseUrl: "https://openrouter.ai/api/v1"
|
|
166
|
-
},
|
|
167
|
-
"vercel-ai-gateway-codex": {
|
|
168
|
-
framework: "codex",
|
|
169
|
-
secretName: "VERCEL_AI_GATEWAY_API_KEY",
|
|
170
|
-
openaiBaseUrl: "https://ai-gateway.vercel.sh/v1"
|
|
171
|
-
},
|
|
172
|
-
"openai-api-key": {
|
|
173
|
-
framework: "codex",
|
|
174
|
-
secretName: "OPENAI_API_KEY"
|
|
175
|
-
}
|
|
176
|
-
};
|
|
177
|
-
var ANTHROPIC_API_BASE = "https://api.anthropic.com";
|
|
178
|
-
function isLegacySingleSecretProvider(type) {
|
|
179
|
-
return type !== "codex-oauth-token";
|
|
180
|
-
}
|
|
181
|
-
function getFirewallBaseUrl(type) {
|
|
182
|
-
if (!isLegacySingleSecretProvider(type)) {
|
|
183
|
-
return "https://chatgpt.com/backend-api/codex";
|
|
184
|
-
}
|
|
185
|
-
const config = MODEL_PROVIDER_FIREWALL_PROVIDER_CONFIGS[type];
|
|
186
|
-
if (config.framework === "codex") {
|
|
187
|
-
return config.openaiBaseUrl?.replace(/\/+$/, "") ?? "https://api.openai.com/v1/responses";
|
|
188
|
-
}
|
|
189
|
-
const base = (config.anthropicBaseUrl ?? ANTHROPIC_API_BASE).replace(
|
|
190
|
-
/\/+$/,
|
|
191
|
-
""
|
|
192
|
-
);
|
|
193
|
-
return `${base}/v1/messages`;
|
|
194
|
-
}
|
|
195
|
-
function mpFirewall(type, authHeader, placeholderValue) {
|
|
196
|
-
const secretName = MODEL_PROVIDER_FIREWALL_PROVIDER_CONFIGS[type].secretName;
|
|
197
|
-
const secretRef = `\${{ secrets.${secretName} }}`;
|
|
198
|
-
const headerValue = authHeader.valuePrefix ? `${authHeader.valuePrefix} ${secretRef}` : secretRef;
|
|
199
|
-
return {
|
|
200
|
-
name: `model-provider:${type}`,
|
|
201
|
-
apis: [
|
|
202
|
-
{
|
|
203
|
-
base: getFirewallBaseUrl(type),
|
|
204
|
-
auth: { headers: { [authHeader.name]: headerValue } },
|
|
205
|
-
permissions: []
|
|
206
|
-
}
|
|
207
|
-
],
|
|
208
|
-
placeholders: { [secretName]: placeholderValue }
|
|
209
|
-
};
|
|
210
|
-
}
|
|
211
|
-
var MODEL_PROVIDER_FIREWALL_CONFIGS = {
|
|
212
|
-
"anthropic-api-key": mpFirewall(
|
|
213
|
-
"anthropic-api-key",
|
|
214
|
-
{ name: "x-api-key" },
|
|
215
|
-
MODEL_PROVIDER_ENV_PLACEHOLDERS.ANTHROPIC_API_KEY
|
|
216
|
-
),
|
|
217
|
-
"claude-code-oauth-token": mpFirewall(
|
|
218
|
-
"claude-code-oauth-token",
|
|
219
|
-
{ name: "Authorization", valuePrefix: "Bearer" },
|
|
220
|
-
MODEL_PROVIDER_ENV_PLACEHOLDERS.CLAUDE_CODE_OAUTH_TOKEN
|
|
221
|
-
),
|
|
222
|
-
"openrouter-api-key": mpFirewall(
|
|
223
|
-
"openrouter-api-key",
|
|
224
|
-
{ name: "Authorization", valuePrefix: "Bearer" },
|
|
225
|
-
MODEL_PROVIDER_ENV_PLACEHOLDERS.ANTHROPIC_AUTH_TOKEN
|
|
226
|
-
),
|
|
227
|
-
"moonshot-api-key": mpFirewall(
|
|
228
|
-
"moonshot-api-key",
|
|
229
|
-
{ name: "Authorization", valuePrefix: "Bearer" },
|
|
230
|
-
MODEL_PROVIDER_ENV_PLACEHOLDERS.ANTHROPIC_AUTH_TOKEN
|
|
231
|
-
),
|
|
232
|
-
"minimax-api-key": mpFirewall(
|
|
233
|
-
"minimax-api-key",
|
|
234
|
-
{ name: "Authorization", valuePrefix: "Bearer" },
|
|
235
|
-
MODEL_PROVIDER_ENV_PLACEHOLDERS.ANTHROPIC_AUTH_TOKEN
|
|
236
|
-
),
|
|
237
|
-
"deepseek-api-key": mpFirewall(
|
|
238
|
-
"deepseek-api-key",
|
|
239
|
-
{ name: "Authorization", valuePrefix: "Bearer" },
|
|
240
|
-
MODEL_PROVIDER_ENV_PLACEHOLDERS.ANTHROPIC_AUTH_TOKEN
|
|
241
|
-
),
|
|
242
|
-
"zai-api-key": mpFirewall(
|
|
243
|
-
"zai-api-key",
|
|
244
|
-
{ name: "Authorization", valuePrefix: "Bearer" },
|
|
245
|
-
MODEL_PROVIDER_ENV_PLACEHOLDERS.ANTHROPIC_AUTH_TOKEN
|
|
246
|
-
),
|
|
247
|
-
"vercel-ai-gateway": mpFirewall(
|
|
248
|
-
"vercel-ai-gateway",
|
|
249
|
-
{ name: "Authorization", valuePrefix: "Bearer" },
|
|
250
|
-
MODEL_PROVIDER_ENV_PLACEHOLDERS.ANTHROPIC_AUTH_TOKEN
|
|
251
|
-
),
|
|
252
|
-
// Codex-framework twin of openrouter-api-key. It reuses the same stored
|
|
253
|
-
// OpenRouter secret, but the sandbox env name is OPENAI_API_KEY because codex
|
|
254
|
-
// SDK hits OpenAI-compatible paths (/chat/completions, /responses) under
|
|
255
|
-
// https://openrouter.ai/api/v1.
|
|
256
|
-
"openrouter-codex": mpFirewall(
|
|
257
|
-
"openrouter-codex",
|
|
258
|
-
{ name: "Authorization", valuePrefix: "Bearer" },
|
|
259
|
-
MODEL_PROVIDER_ENV_PLACEHOLDERS.OPENAI_API_KEY
|
|
260
|
-
),
|
|
261
|
-
// Codex-framework twin of vercel-ai-gateway. It reuses the same stored Vercel
|
|
262
|
-
// secret, but the sandbox env name is OPENAI_API_KEY. Base URL is scoped to
|
|
263
|
-
// the /v1 prefix so codex can use either /chat/completions or /responses.
|
|
264
|
-
"vercel-ai-gateway-codex": mpFirewall(
|
|
265
|
-
"vercel-ai-gateway-codex",
|
|
266
|
-
{ name: "Authorization", valuePrefix: "Bearer" },
|
|
267
|
-
MODEL_PROVIDER_ENV_PLACEHOLDERS.OPENAI_API_KEY
|
|
268
|
-
),
|
|
269
|
-
"openai-api-key": mpFirewall(
|
|
270
|
-
"openai-api-key",
|
|
271
|
-
{ name: "Authorization", valuePrefix: "Bearer" },
|
|
272
|
-
MODEL_PROVIDER_ENV_PLACEHOLDERS.OPENAI_API_KEY
|
|
273
|
-
),
|
|
274
|
-
// ChatGPT OAuth provider: multi-header injection plus unknown-policy auth.openai.com deny.
|
|
275
|
-
"codex-oauth-token": {
|
|
276
|
-
name: "model-provider:codex-oauth-token",
|
|
277
|
-
apis: [
|
|
278
|
-
{
|
|
279
|
-
base: "https://chatgpt.com/backend-api/codex",
|
|
280
|
-
auth: {
|
|
281
|
-
headers: {
|
|
282
|
-
Authorization: "Bearer ${{ secrets.CHATGPT_ACCESS_TOKEN }}",
|
|
283
|
-
"ChatGPT-Account-ID": "${{ secrets.CHATGPT_ACCOUNT_ID }}"
|
|
284
|
-
}
|
|
285
|
-
},
|
|
286
|
-
permissions: [
|
|
287
|
-
{
|
|
288
|
-
name: "codex:api",
|
|
289
|
-
description: "Access the ChatGPT Codex backend with GET and POST requests.",
|
|
290
|
-
rules: ["GET /{path*}", "POST /{path*}"]
|
|
291
|
-
}
|
|
292
|
-
]
|
|
293
|
-
},
|
|
294
|
-
{
|
|
295
|
-
base: "https://auth.openai.com",
|
|
296
|
-
auth: { headers: {} },
|
|
297
|
-
permissions: []
|
|
298
|
-
}
|
|
299
|
-
],
|
|
300
|
-
defaultPolicies: {
|
|
301
|
-
unknownPolicy: "deny"
|
|
302
|
-
},
|
|
303
|
-
placeholders: {
|
|
304
|
-
CHATGPT_ACCESS_TOKEN: MODEL_PROVIDER_ENV_PLACEHOLDERS.CHATGPT_ACCESS_TOKEN,
|
|
305
|
-
CHATGPT_ACCOUNT_ID: MODEL_PROVIDER_ENV_PLACEHOLDERS.CHATGPT_ACCOUNT_ID,
|
|
306
|
-
CHATGPT_REFRESH_TOKEN: MODEL_PROVIDER_ENV_PLACEHOLDERS.CHATGPT_REFRESH_TOKEN
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
};
|
|
310
|
-
var MINIMAX_CODEX_FIREWALL_CONFIG = {
|
|
311
|
-
name: "model-provider:minimax-api-key",
|
|
312
|
-
apis: [
|
|
313
|
-
{
|
|
314
|
-
base: "https://api.minimax.io/v1",
|
|
315
|
-
auth: {
|
|
316
|
-
headers: {
|
|
317
|
-
Authorization: "Bearer ${{ secrets.MINIMAX_API_KEY }}"
|
|
318
|
-
}
|
|
319
|
-
},
|
|
320
|
-
permissions: []
|
|
321
|
-
}
|
|
322
|
-
],
|
|
323
|
-
placeholders: {
|
|
324
|
-
MINIMAX_API_KEY: MODEL_PROVIDER_ENV_PLACEHOLDERS.OPENAI_API_KEY
|
|
325
|
-
}
|
|
326
|
-
};
|
|
327
|
-
|
|
328
|
-
// ../../packages/api-contracts/src/contracts/model-providers.ts
|
|
329
|
-
var modelProviderCodexRuntimeConfigSchema = external_exports.object({
|
|
330
|
-
providerId: external_exports.string().regex(/^[A-Za-z0-9_-]+$/),
|
|
331
|
-
name: external_exports.string().min(1),
|
|
332
|
-
baseUrl: external_exports.url(),
|
|
333
|
-
envKey: external_exports.string().regex(/^[A-Za-z_][A-Za-z0-9_]*$/),
|
|
334
|
-
wireApi: external_exports.literal("responses"),
|
|
335
|
-
supportsWebsockets: external_exports.boolean(),
|
|
336
|
-
modelCatalog: external_exports.record(external_exports.string(), external_exports.unknown()).optional()
|
|
337
|
-
});
|
|
338
|
-
var GATED_MODEL_PROVIDER_FEATURE_SWITCHES = {};
|
|
339
|
-
var FRAMEWORK_SWITCHED_MODEL_PROVIDER_FEATURE_SWITCHES = {
|
|
340
|
-
"minimax-api-key": "codexFrameworkForMinimax" /* CodexFrameworkForMinimax */
|
|
341
|
-
};
|
|
342
|
-
function isModelProviderTypeEnabled(type, featureStates) {
|
|
343
|
-
const switchKey = GATED_MODEL_PROVIDER_FEATURE_SWITCHES[type];
|
|
344
|
-
return switchKey ? featureStates?.[switchKey] === true : true;
|
|
345
|
-
}
|
|
346
|
-
var DEFAULT_ORG_MODEL_POLICY_DEFAULT_MODEL = "gpt-5.6-terra";
|
|
347
|
-
var supportedRunModelSchema = external_exports.enum(SUPPORTED_RUN_MODELS);
|
|
348
|
-
var modelProviderCredentialScopeSchema = external_exports.enum(["org", "member"]);
|
|
349
|
-
var SUPPORTED_RUN_MODEL_SET = new Set(
|
|
350
|
-
SUPPORTED_RUN_MODELS
|
|
351
|
-
);
|
|
352
|
-
function isSupportedRunModel(model) {
|
|
353
|
-
return typeof model === "string" && SUPPORTED_RUN_MODEL_SET.has(model);
|
|
354
|
-
}
|
|
355
|
-
function getVm0ModelPriceTier(model) {
|
|
356
|
-
return isSupportedRunModel(model) ? VM0_MODEL_PRICE_TIER[model] : void 0;
|
|
357
|
-
}
|
|
358
|
-
var VM0_MODEL_TO_PROVIDER = {
|
|
359
|
-
"claude-fable-5": {
|
|
360
|
-
concreteType: "anthropic-api-key",
|
|
361
|
-
vendor: "anthropic"
|
|
362
|
-
},
|
|
363
|
-
"claude-opus-4-8": {
|
|
364
|
-
concreteType: "anthropic-api-key",
|
|
365
|
-
vendor: "anthropic"
|
|
366
|
-
},
|
|
367
|
-
"claude-opus-4-7": {
|
|
368
|
-
concreteType: "anthropic-api-key",
|
|
369
|
-
vendor: "anthropic"
|
|
370
|
-
},
|
|
371
|
-
"claude-opus-4-6": {
|
|
372
|
-
concreteType: "anthropic-api-key",
|
|
373
|
-
vendor: "anthropic"
|
|
374
|
-
},
|
|
375
|
-
"claude-sonnet-5": {
|
|
376
|
-
concreteType: "anthropic-api-key",
|
|
377
|
-
vendor: "anthropic"
|
|
378
|
-
},
|
|
379
|
-
"claude-sonnet-4-6": {
|
|
380
|
-
concreteType: "anthropic-api-key",
|
|
381
|
-
vendor: "anthropic"
|
|
382
|
-
},
|
|
383
|
-
"glm-5.2": {
|
|
384
|
-
concreteType: "zai-api-key",
|
|
385
|
-
vendor: "zai"
|
|
386
|
-
},
|
|
387
|
-
"glm-5.1": {
|
|
388
|
-
concreteType: "zai-api-key",
|
|
389
|
-
vendor: "zai"
|
|
390
|
-
},
|
|
391
|
-
"mimo-v2.5": {
|
|
392
|
-
concreteType: "openrouter-api-key",
|
|
393
|
-
vendor: "openrouter",
|
|
394
|
-
apiModel: "xiaomi/mimo-v2.5"
|
|
395
|
-
},
|
|
396
|
-
"hy3-preview": {
|
|
397
|
-
concreteType: "openrouter-api-key",
|
|
398
|
-
vendor: "openrouter",
|
|
399
|
-
apiModel: "tencent/hy3-preview"
|
|
400
|
-
},
|
|
401
|
-
"kimi-k2.7-code": {
|
|
402
|
-
concreteType: "moonshot-api-key",
|
|
403
|
-
vendor: "moonshot"
|
|
404
|
-
},
|
|
405
|
-
"MiniMax-M3": {
|
|
406
|
-
concreteType: "minimax-api-key",
|
|
407
|
-
vendor: "minimax"
|
|
408
|
-
},
|
|
409
|
-
"deepseek-v4-pro": {
|
|
410
|
-
concreteType: "deepseek-api-key",
|
|
411
|
-
vendor: "deepseek"
|
|
412
|
-
},
|
|
413
|
-
"gpt-5.6-sol": {
|
|
414
|
-
concreteType: "openai-api-key",
|
|
415
|
-
vendor: "openai"
|
|
416
|
-
},
|
|
417
|
-
"gpt-5.6-terra": {
|
|
418
|
-
concreteType: "openai-api-key",
|
|
419
|
-
vendor: "openai"
|
|
420
|
-
},
|
|
421
|
-
"gpt-5.6-luna": {
|
|
422
|
-
concreteType: "openai-api-key",
|
|
423
|
-
vendor: "openai"
|
|
424
|
-
},
|
|
425
|
-
"gpt-5.5": {
|
|
426
|
-
concreteType: "openai-api-key",
|
|
427
|
-
vendor: "openai"
|
|
428
|
-
},
|
|
429
|
-
"gpt-5.4": {
|
|
430
|
-
concreteType: "openai-api-key",
|
|
431
|
-
vendor: "openai"
|
|
432
|
-
},
|
|
433
|
-
"gpt-5.4-mini": {
|
|
434
|
-
concreteType: "openai-api-key",
|
|
435
|
-
vendor: "openai"
|
|
436
|
-
}
|
|
437
|
-
};
|
|
438
|
-
var MODEL_PROVIDER_TYPES = {
|
|
439
|
-
"claude-code-oauth-token": {
|
|
440
|
-
framework: "claude-code",
|
|
441
|
-
secretName: "CLAUDE_CODE_OAUTH_TOKEN",
|
|
442
|
-
label: "Claude Code (OAuth Token)",
|
|
443
|
-
secretLabel: "OAuth token",
|
|
444
|
-
helpText: "To get your OAuth token, run: claude setup-token\n(Requires Claude Pro or Max subscription)",
|
|
445
|
-
envBindings: {
|
|
446
|
-
CLAUDE_CODE_OAUTH_TOKEN: "$secret",
|
|
447
|
-
ANTHROPIC_MODEL: "$model"
|
|
448
|
-
},
|
|
449
|
-
models: [
|
|
450
|
-
"claude-fable-5",
|
|
451
|
-
"claude-sonnet-5",
|
|
452
|
-
"claude-sonnet-4-6",
|
|
453
|
-
"claude-opus-4-8",
|
|
454
|
-
"claude-opus-4-7",
|
|
455
|
-
"claude-opus-4-6"
|
|
456
|
-
],
|
|
457
|
-
defaultModel: "claude-sonnet-4-6"
|
|
458
|
-
},
|
|
459
|
-
"anthropic-api-key": {
|
|
460
|
-
framework: "claude-code",
|
|
461
|
-
secretName: "ANTHROPIC_API_KEY",
|
|
462
|
-
label: "Anthropic",
|
|
463
|
-
secretLabel: "API key",
|
|
464
|
-
helpText: "Get your API key at: https://console.anthropic.com/settings/keys",
|
|
465
|
-
envBindings: {
|
|
466
|
-
ANTHROPIC_API_KEY: "$secret",
|
|
467
|
-
ANTHROPIC_MODEL: "$model"
|
|
468
|
-
},
|
|
469
|
-
models: [
|
|
470
|
-
"claude-fable-5",
|
|
471
|
-
"claude-sonnet-5",
|
|
472
|
-
"claude-sonnet-4-6",
|
|
473
|
-
"claude-opus-4-8",
|
|
474
|
-
"claude-opus-4-7",
|
|
475
|
-
"claude-opus-4-6"
|
|
476
|
-
],
|
|
477
|
-
defaultModel: "claude-sonnet-4-6"
|
|
478
|
-
},
|
|
479
|
-
"openrouter-api-key": {
|
|
480
|
-
framework: "claude-code",
|
|
481
|
-
secretName: "OPENROUTER_API_KEY",
|
|
482
|
-
label: "OpenRouter",
|
|
483
|
-
secretLabel: "API key",
|
|
484
|
-
helpText: "Get your API key at: https://openrouter.ai/settings/keys",
|
|
485
|
-
envBindings: {
|
|
486
|
-
ANTHROPIC_AUTH_TOKEN: "$secret",
|
|
487
|
-
ANTHROPIC_BASE_URL: "https://openrouter.ai/api",
|
|
488
|
-
ANTHROPIC_API_KEY: "",
|
|
489
|
-
ANTHROPIC_MODEL: "$model",
|
|
490
|
-
ANTHROPIC_DEFAULT_OPUS_MODEL: "$model",
|
|
491
|
-
ANTHROPIC_DEFAULT_SONNET_MODEL: "$model",
|
|
492
|
-
ANTHROPIC_DEFAULT_HAIKU_MODEL: "$model",
|
|
493
|
-
CLAUDE_CODE_SUBAGENT_MODEL: "$model"
|
|
494
|
-
},
|
|
495
|
-
models: [
|
|
496
|
-
"anthropic/claude-fable-5",
|
|
497
|
-
"anthropic/claude-opus-4.8",
|
|
498
|
-
"anthropic/claude-opus-4.7",
|
|
499
|
-
"anthropic/claude-sonnet-5",
|
|
500
|
-
"anthropic/claude-sonnet-4.6",
|
|
501
|
-
"anthropic/claude-opus-4.6",
|
|
502
|
-
"anthropic/claude-opus-4.5",
|
|
503
|
-
"anthropic/claude-sonnet-4.5",
|
|
504
|
-
"z-ai/glm-5.2",
|
|
505
|
-
"z-ai/glm-5.1",
|
|
506
|
-
"xiaomi/mimo-v2.5",
|
|
507
|
-
"tencent/hy3-preview",
|
|
508
|
-
"deepseek/deepseek-v4-pro"
|
|
509
|
-
],
|
|
510
|
-
defaultModel: ""
|
|
511
|
-
},
|
|
512
|
-
"moonshot-api-key": {
|
|
513
|
-
framework: "claude-code",
|
|
514
|
-
secretName: "MOONSHOT_API_KEY",
|
|
515
|
-
label: "Moonshot (Kimi)",
|
|
516
|
-
secretLabel: "API key",
|
|
517
|
-
helpText: "Get your API key at: https://platform.moonshot.ai/console/api-keys",
|
|
518
|
-
envBindings: {
|
|
519
|
-
ANTHROPIC_AUTH_TOKEN: "$secret",
|
|
520
|
-
ANTHROPIC_BASE_URL: "https://api.moonshot.ai/anthropic",
|
|
521
|
-
ANTHROPIC_MODEL: "$model",
|
|
522
|
-
ANTHROPIC_DEFAULT_OPUS_MODEL: "$model",
|
|
523
|
-
ANTHROPIC_DEFAULT_SONNET_MODEL: "$model",
|
|
524
|
-
ANTHROPIC_DEFAULT_HAIKU_MODEL: "$model",
|
|
525
|
-
CLAUDE_CODE_SUBAGENT_MODEL: "$model",
|
|
526
|
-
// Moonshot rejects Anthropic document blocks; keep attachments as text.
|
|
527
|
-
CLAUDE_CODE_DISABLE_ATTACHMENTS: "1"
|
|
528
|
-
},
|
|
529
|
-
models: [
|
|
530
|
-
"kimi-k2.7-code",
|
|
531
|
-
"kimi-k2-thinking-turbo",
|
|
532
|
-
"kimi-k2-thinking"
|
|
533
|
-
],
|
|
534
|
-
defaultModel: "kimi-k2.7-code"
|
|
535
|
-
},
|
|
536
|
-
"minimax-api-key": {
|
|
537
|
-
framework: "claude-code",
|
|
538
|
-
secretName: "MINIMAX_API_KEY",
|
|
539
|
-
label: "MiniMax",
|
|
540
|
-
secretLabel: "API key",
|
|
541
|
-
helpText: "Get your API key at: https://platform.minimax.io/user-center/basic-information/interface-key",
|
|
542
|
-
envBindings: {
|
|
543
|
-
ANTHROPIC_AUTH_TOKEN: "$secret",
|
|
544
|
-
ANTHROPIC_BASE_URL: "https://api.minimax.io/anthropic",
|
|
545
|
-
ANTHROPIC_MODEL: "$model",
|
|
546
|
-
ANTHROPIC_DEFAULT_OPUS_MODEL: "$model",
|
|
547
|
-
ANTHROPIC_DEFAULT_SONNET_MODEL: "$model",
|
|
548
|
-
ANTHROPIC_DEFAULT_HAIKU_MODEL: "$model",
|
|
549
|
-
CLAUDE_CODE_SUBAGENT_MODEL: "$model",
|
|
550
|
-
API_TIMEOUT_MS: "3000000",
|
|
551
|
-
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: "1",
|
|
552
|
-
// MiniMax does not document support for Anthropic document blocks.
|
|
553
|
-
CLAUDE_CODE_DISABLE_ATTACHMENTS: "1"
|
|
554
|
-
},
|
|
555
|
-
models: ["MiniMax-M3", "MiniMax-M2.1"],
|
|
556
|
-
defaultModel: "MiniMax-M3"
|
|
557
|
-
},
|
|
558
|
-
"deepseek-api-key": {
|
|
559
|
-
framework: "claude-code",
|
|
560
|
-
secretName: "DEEPSEEK_API_KEY",
|
|
561
|
-
label: "DeepSeek",
|
|
562
|
-
secretLabel: "API key",
|
|
563
|
-
helpText: "Get your API key at: https://platform.deepseek.com/api_keys",
|
|
564
|
-
envBindings: {
|
|
565
|
-
ANTHROPIC_AUTH_TOKEN: "$secret",
|
|
566
|
-
ANTHROPIC_BASE_URL: "https://api.deepseek.com/anthropic",
|
|
567
|
-
ANTHROPIC_MODEL: "$model",
|
|
568
|
-
ANTHROPIC_DEFAULT_OPUS_MODEL: "$model",
|
|
569
|
-
ANTHROPIC_DEFAULT_SONNET_MODEL: "$model",
|
|
570
|
-
ANTHROPIC_DEFAULT_HAIKU_MODEL: "$model",
|
|
571
|
-
CLAUDE_CODE_SUBAGENT_MODEL: "$model",
|
|
572
|
-
API_TIMEOUT_MS: "600000",
|
|
573
|
-
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: "1",
|
|
574
|
-
// DeepSeek explicitly rejects Anthropic document blocks.
|
|
575
|
-
CLAUDE_CODE_DISABLE_ATTACHMENTS: "1"
|
|
576
|
-
},
|
|
577
|
-
models: ["deepseek-v4-pro"],
|
|
578
|
-
defaultModel: "deepseek-v4-pro"
|
|
579
|
-
},
|
|
580
|
-
"zai-api-key": {
|
|
581
|
-
framework: "claude-code",
|
|
582
|
-
secretName: "ZAI_API_KEY",
|
|
583
|
-
label: "Z.AI (GLM)",
|
|
584
|
-
secretLabel: "API key",
|
|
585
|
-
helpText: "Get your API key at: https://z.ai/model-api",
|
|
586
|
-
envBindings: {
|
|
587
|
-
ANTHROPIC_AUTH_TOKEN: "$secret",
|
|
588
|
-
ANTHROPIC_BASE_URL: "https://api.z.ai/api/anthropic",
|
|
589
|
-
ANTHROPIC_MODEL: "$model",
|
|
590
|
-
ANTHROPIC_DEFAULT_OPUS_MODEL: "$model",
|
|
591
|
-
ANTHROPIC_DEFAULT_SONNET_MODEL: "$model",
|
|
592
|
-
ANTHROPIC_DEFAULT_HAIKU_MODEL: "$model",
|
|
593
|
-
CLAUDE_CODE_SUBAGENT_MODEL: "$model",
|
|
594
|
-
API_TIMEOUT_MS: "3000000"
|
|
595
|
-
},
|
|
596
|
-
models: [
|
|
597
|
-
"glm-5.2",
|
|
598
|
-
"glm-5.1",
|
|
599
|
-
"glm-5",
|
|
600
|
-
"glm-4.7",
|
|
601
|
-
"glm-4.5-air"
|
|
602
|
-
],
|
|
603
|
-
defaultModel: "glm-5.2"
|
|
604
|
-
},
|
|
605
|
-
"vercel-ai-gateway": {
|
|
606
|
-
framework: "claude-code",
|
|
607
|
-
secretName: "VERCEL_AI_GATEWAY_API_KEY",
|
|
608
|
-
label: "Vercel AI Gateway",
|
|
609
|
-
secretLabel: "API key",
|
|
610
|
-
helpText: "Get your API key from the Vercel AI Gateway dashboard",
|
|
611
|
-
envBindings: {
|
|
612
|
-
ANTHROPIC_AUTH_TOKEN: "$secret",
|
|
613
|
-
ANTHROPIC_BASE_URL: "https://ai-gateway.vercel.sh",
|
|
614
|
-
ANTHROPIC_API_KEY: "",
|
|
615
|
-
ANTHROPIC_MODEL: "$model",
|
|
616
|
-
ANTHROPIC_DEFAULT_OPUS_MODEL: "$model",
|
|
617
|
-
ANTHROPIC_DEFAULT_SONNET_MODEL: "$model",
|
|
618
|
-
ANTHROPIC_DEFAULT_HAIKU_MODEL: "$model",
|
|
619
|
-
CLAUDE_CODE_SUBAGENT_MODEL: "$model"
|
|
620
|
-
},
|
|
621
|
-
models: [
|
|
622
|
-
"anthropic/claude-fable-5",
|
|
623
|
-
"anthropic/claude-opus-4.8",
|
|
624
|
-
"anthropic/claude-opus-4.7",
|
|
625
|
-
"anthropic/claude-opus-4.6",
|
|
626
|
-
"anthropic/claude-sonnet-5",
|
|
627
|
-
"anthropic/claude-opus-4.5",
|
|
628
|
-
"anthropic/claude-sonnet-4.6",
|
|
629
|
-
"anthropic/claude-sonnet-4.5",
|
|
630
|
-
"minimax/minimax-m2.5",
|
|
631
|
-
"zai/glm-5-turbo"
|
|
632
|
-
],
|
|
633
|
-
defaultModel: "anthropic/claude-sonnet-4.6"
|
|
634
|
-
},
|
|
635
|
-
// Codex-framework twin of openrouter-api-key. Same upstream gateway (OpenRouter)
|
|
636
|
-
// and same API key (shared secretName), but routes through OpenRouter's
|
|
637
|
-
// OpenAI-compatible endpoint surface for GPT models that codex CLI requires.
|
|
638
|
-
// Pairing rule: the claude-code entry serves Anthropic Messages API
|
|
639
|
-
// (/v1/messages); this codex entry serves OpenAI Chat Completions / Responses
|
|
640
|
-
// (/v1/chat/completions, /v1/responses) under the same /api/v1 prefix.
|
|
641
|
-
"openrouter-codex": {
|
|
642
|
-
framework: "codex",
|
|
643
|
-
secretName: "OPENROUTER_API_KEY",
|
|
644
|
-
label: "OpenRouter (Codex)",
|
|
645
|
-
secretLabel: "API key",
|
|
646
|
-
helpText: "Get your API key at: https://openrouter.ai/settings/keys",
|
|
647
|
-
envBindings: {
|
|
648
|
-
OPENAI_API_KEY: "$secret",
|
|
649
|
-
OPENAI_BASE_URL: "https://openrouter.ai/api/v1",
|
|
650
|
-
OPENAI_MODEL: "$model"
|
|
651
|
-
},
|
|
652
|
-
models: [
|
|
653
|
-
"openai/gpt-5.5",
|
|
654
|
-
"openai/gpt-5.4",
|
|
655
|
-
"openai/gpt-5.4-mini"
|
|
656
|
-
],
|
|
657
|
-
defaultModel: "openai/gpt-5.5"
|
|
658
|
-
},
|
|
659
|
-
// Codex-framework twin of vercel-ai-gateway. Vercel exposes both
|
|
660
|
-
// Anthropic Messages and OpenAI Chat Completions / Responses on the same
|
|
661
|
-
// base URL, distinguished by path. The claude-code entry uses /v1/messages;
|
|
662
|
-
// this codex entry uses /v1/chat/completions or /v1/responses (codex CLI
|
|
663
|
-
// picks the path it needs).
|
|
664
|
-
"vercel-ai-gateway-codex": {
|
|
665
|
-
framework: "codex",
|
|
666
|
-
secretName: "VERCEL_AI_GATEWAY_API_KEY",
|
|
667
|
-
label: "Vercel AI Gateway (Codex)",
|
|
668
|
-
secretLabel: "API key",
|
|
669
|
-
helpText: "Get your API key from the Vercel AI Gateway dashboard",
|
|
670
|
-
envBindings: {
|
|
671
|
-
OPENAI_API_KEY: "$secret",
|
|
672
|
-
OPENAI_BASE_URL: "https://ai-gateway.vercel.sh/v1",
|
|
673
|
-
OPENAI_MODEL: "$model"
|
|
674
|
-
},
|
|
675
|
-
models: [
|
|
676
|
-
"openai/gpt-5.5",
|
|
677
|
-
"openai/gpt-5.4",
|
|
678
|
-
"openai/gpt-5.4-mini"
|
|
679
|
-
],
|
|
680
|
-
defaultModel: "openai/gpt-5.5"
|
|
681
|
-
},
|
|
682
|
-
"openai-api-key": {
|
|
683
|
-
framework: "codex",
|
|
684
|
-
secretName: "OPENAI_API_KEY",
|
|
685
|
-
label: "OpenAI",
|
|
686
|
-
secretLabel: "API key",
|
|
687
|
-
helpText: "Get your API key at: https://platform.openai.com/api-keys",
|
|
688
|
-
envBindings: {
|
|
689
|
-
OPENAI_API_KEY: "$secret",
|
|
690
|
-
OPENAI_MODEL: "$model"
|
|
691
|
-
},
|
|
692
|
-
models: [
|
|
693
|
-
"gpt-5.6-sol",
|
|
694
|
-
"gpt-5.6-terra",
|
|
695
|
-
"gpt-5.6-luna",
|
|
696
|
-
"gpt-5.5",
|
|
697
|
-
"gpt-5.4",
|
|
698
|
-
"gpt-5.4-mini"
|
|
699
|
-
],
|
|
700
|
-
defaultModel: "gpt-5.5"
|
|
701
|
-
},
|
|
702
|
-
"codex-oauth-token": {
|
|
703
|
-
framework: "codex",
|
|
704
|
-
label: "ChatGPT (Codex)",
|
|
705
|
-
helpText: "Run `codex login` on your machine, then paste the resulting ~/.codex/auth.json contents to authorize ChatGPT (Plus / Pro / Business / Edu / Enterprise) for Codex.",
|
|
706
|
-
authMethods: {
|
|
707
|
-
// Paste-based auth: client posts CODEX_AUTH_JSON, server parses it via
|
|
708
|
-
// codex-auth-json-parser.ts and persists the four derived CHATGPT_*
|
|
709
|
-
// fields. The raw blob is NEVER stored. The wire-shape secret
|
|
710
|
-
// (CODEX_AUTH_JSON) is declared optional+serverOnly so the contract
|
|
711
|
-
// accepts it on POST without persisting; the four CHATGPT_* fields are
|
|
712
|
-
// the canonical stored secrets and the firewall layer reads from those.
|
|
713
|
-
auth_json: {
|
|
714
|
-
label: "Codex auth.json",
|
|
715
|
-
helpText: "Run `codex login` locally, then paste the contents of ~/.codex/auth.json below.",
|
|
716
|
-
secrets: {
|
|
717
|
-
CODEX_AUTH_JSON: {
|
|
718
|
-
label: "auth.json contents",
|
|
719
|
-
required: false,
|
|
720
|
-
serverOnly: true,
|
|
721
|
-
placeholder: '{"OPENAI_API_KEY":null,"tokens":{...}}',
|
|
722
|
-
helpText: "Paste the entire contents of ~/.codex/auth.json"
|
|
723
|
-
},
|
|
724
|
-
// CHATGPT_ACCESS_TOKEN and CHATGPT_ACCOUNT_ID reach the sandbox env
|
|
725
|
-
// as placeholder values (substituted by the firewall token-replacement
|
|
726
|
-
// layer at egress) — keeping them non-serverOnly preserves the
|
|
727
|
-
// placeholder injection path. CHATGPT_REFRESH_TOKEN and
|
|
728
|
-
// CHATGPT_ID_TOKEN stay serverOnly per the #7365 invariant.
|
|
729
|
-
//
|
|
730
|
-
// All four are `derived: true` — the server-side parser populates
|
|
731
|
-
// them from the user-pasted CODEX_AUTH_JSON. The UI MUST NOT render
|
|
732
|
-
// them as input fields (per #12024).
|
|
733
|
-
CHATGPT_ACCESS_TOKEN: {
|
|
734
|
-
label: "CHATGPT_ACCESS_TOKEN",
|
|
735
|
-
required: true,
|
|
736
|
-
derived: true
|
|
737
|
-
},
|
|
738
|
-
CHATGPT_REFRESH_TOKEN: {
|
|
739
|
-
label: "CHATGPT_REFRESH_TOKEN",
|
|
740
|
-
required: true,
|
|
741
|
-
serverOnly: true,
|
|
742
|
-
derived: true
|
|
743
|
-
},
|
|
744
|
-
CHATGPT_ACCOUNT_ID: {
|
|
745
|
-
label: "CHATGPT_ACCOUNT_ID",
|
|
746
|
-
required: true,
|
|
747
|
-
derived: true
|
|
748
|
-
},
|
|
749
|
-
CHATGPT_ID_TOKEN: {
|
|
750
|
-
label: "CHATGPT_ID_TOKEN",
|
|
751
|
-
required: true,
|
|
752
|
-
serverOnly: true,
|
|
753
|
-
derived: true
|
|
754
|
-
}
|
|
755
|
-
}
|
|
756
|
-
}
|
|
757
|
-
},
|
|
758
|
-
defaultAuthMethod: "auth_json",
|
|
759
|
-
envBindings: {
|
|
760
|
-
CHATGPT_ACCESS_TOKEN: "$secrets.CHATGPT_ACCESS_TOKEN",
|
|
761
|
-
CHATGPT_ACCOUNT_ID: "$secrets.CHATGPT_ACCOUNT_ID",
|
|
762
|
-
OPENAI_MODEL: "$model"
|
|
763
|
-
},
|
|
764
|
-
models: [
|
|
765
|
-
"gpt-5.6-sol",
|
|
766
|
-
"gpt-5.6-terra",
|
|
767
|
-
"gpt-5.6-luna",
|
|
768
|
-
"gpt-5.5",
|
|
769
|
-
"gpt-5.4",
|
|
770
|
-
"gpt-5.4-mini"
|
|
771
|
-
],
|
|
772
|
-
defaultModel: "gpt-5.5"
|
|
773
|
-
},
|
|
774
|
-
"azure-foundry": {
|
|
775
|
-
framework: "claude-code",
|
|
776
|
-
label: "Azure Foundry",
|
|
777
|
-
helpText: "Run Claude on Microsoft Azure Foundry.\nSetup guide: https://code.claude.com/docs/en/microsoft-foundry",
|
|
778
|
-
authMethods: {
|
|
779
|
-
"api-key": {
|
|
780
|
-
label: "API Key",
|
|
781
|
-
helpText: "Use an Azure Foundry API key for authentication",
|
|
782
|
-
secrets: {
|
|
783
|
-
ANTHROPIC_FOUNDRY_API_KEY: {
|
|
784
|
-
label: "ANTHROPIC_FOUNDRY_API_KEY",
|
|
785
|
-
required: true,
|
|
786
|
-
helpText: "API key from Azure Foundry portal (Endpoints and keys)"
|
|
787
|
-
},
|
|
788
|
-
ANTHROPIC_FOUNDRY_RESOURCE: {
|
|
789
|
-
label: "ANTHROPIC_FOUNDRY_RESOURCE",
|
|
790
|
-
required: true,
|
|
791
|
-
placeholder: "my-resource",
|
|
792
|
-
helpText: "Azure resource name (from portal URL)"
|
|
793
|
-
}
|
|
794
|
-
}
|
|
795
|
-
}
|
|
796
|
-
},
|
|
797
|
-
defaultAuthMethod: "api-key",
|
|
798
|
-
envBindings: {
|
|
799
|
-
CLAUDE_CODE_USE_FOUNDRY: "1",
|
|
800
|
-
ANTHROPIC_FOUNDRY_API_KEY: "$secrets.ANTHROPIC_FOUNDRY_API_KEY",
|
|
801
|
-
ANTHROPIC_FOUNDRY_RESOURCE: "$secrets.ANTHROPIC_FOUNDRY_RESOURCE",
|
|
802
|
-
ANTHROPIC_MODEL: "$model"
|
|
803
|
-
},
|
|
804
|
-
models: [],
|
|
805
|
-
defaultModel: "",
|
|
806
|
-
allowCustomModel: true,
|
|
807
|
-
customModelPlaceholder: "claude-sonnet-4-5"
|
|
808
|
-
},
|
|
809
|
-
"aws-bedrock": {
|
|
810
|
-
framework: "claude-code",
|
|
811
|
-
label: "AWS Bedrock",
|
|
812
|
-
helpText: "Run Claude on AWS Bedrock.\nSetup guide: https://code.claude.com/docs/en/amazon-bedrock",
|
|
813
|
-
authMethods: {
|
|
814
|
-
"api-key": {
|
|
815
|
-
label: "Bedrock API Key",
|
|
816
|
-
helpText: "Use a Bedrock API key for authentication",
|
|
817
|
-
secrets: {
|
|
818
|
-
AWS_BEARER_TOKEN_BEDROCK: {
|
|
819
|
-
label: "AWS_BEARER_TOKEN_BEDROCK",
|
|
820
|
-
required: true,
|
|
821
|
-
helpText: "Bedrock API key from AWS console"
|
|
822
|
-
},
|
|
823
|
-
AWS_REGION: {
|
|
824
|
-
label: "AWS_REGION",
|
|
825
|
-
required: true,
|
|
826
|
-
placeholder: "us-east-1",
|
|
827
|
-
helpText: "e.g., us-east-1, us-west-2"
|
|
828
|
-
}
|
|
829
|
-
}
|
|
830
|
-
},
|
|
831
|
-
"access-keys": {
|
|
832
|
-
label: "IAM Access Keys",
|
|
833
|
-
helpText: "Use IAM access key secrets",
|
|
834
|
-
secrets: {
|
|
835
|
-
AWS_ACCESS_KEY_ID: {
|
|
836
|
-
label: "AWS_ACCESS_KEY_ID",
|
|
837
|
-
required: true,
|
|
838
|
-
helpText: "IAM access key ID"
|
|
839
|
-
},
|
|
840
|
-
AWS_SECRET_ACCESS_KEY: {
|
|
841
|
-
label: "AWS_SECRET_ACCESS_KEY",
|
|
842
|
-
required: true,
|
|
843
|
-
helpText: "IAM secret access key"
|
|
844
|
-
},
|
|
845
|
-
AWS_SESSION_TOKEN: {
|
|
846
|
-
label: "AWS_SESSION_TOKEN",
|
|
847
|
-
required: false,
|
|
848
|
-
helpText: "Optional, for temporary secrets"
|
|
849
|
-
},
|
|
850
|
-
AWS_REGION: {
|
|
851
|
-
label: "AWS_REGION",
|
|
852
|
-
required: true,
|
|
853
|
-
placeholder: "us-east-1",
|
|
854
|
-
helpText: "e.g., us-east-1, us-west-2"
|
|
855
|
-
}
|
|
856
|
-
}
|
|
857
|
-
}
|
|
858
|
-
},
|
|
859
|
-
defaultAuthMethod: "api-key",
|
|
860
|
-
envBindings: {
|
|
861
|
-
CLAUDE_CODE_USE_BEDROCK: "1",
|
|
862
|
-
AWS_REGION: "$secrets.AWS_REGION",
|
|
863
|
-
AWS_BEARER_TOKEN_BEDROCK: "$secrets.AWS_BEARER_TOKEN_BEDROCK",
|
|
864
|
-
AWS_ACCESS_KEY_ID: "$secrets.AWS_ACCESS_KEY_ID",
|
|
865
|
-
AWS_SECRET_ACCESS_KEY: "$secrets.AWS_SECRET_ACCESS_KEY",
|
|
866
|
-
AWS_SESSION_TOKEN: "$secrets.AWS_SESSION_TOKEN",
|
|
867
|
-
ANTHROPIC_MODEL: "$model"
|
|
868
|
-
},
|
|
869
|
-
models: [],
|
|
870
|
-
defaultModel: "",
|
|
871
|
-
allowCustomModel: true,
|
|
872
|
-
customModelPlaceholder: "anthropic.claude-sonnet-4-20250514-v1:0"
|
|
873
|
-
},
|
|
874
|
-
vm0: {
|
|
875
|
-
framework: "claude-code",
|
|
876
|
-
label: "VM0 Managed",
|
|
877
|
-
models: Object.keys(VM0_MODEL_TO_PROVIDER),
|
|
878
|
-
defaultModel: DEFAULT_ORG_MODEL_POLICY_DEFAULT_MODEL
|
|
879
|
-
}
|
|
880
|
-
};
|
|
881
|
-
var HIDDEN_PROVIDER_LIST = ["aws-bedrock", "azure-foundry"];
|
|
882
|
-
var HIDDEN_PROVIDER_TYPES = new Set(
|
|
883
|
-
HIDDEN_PROVIDER_LIST
|
|
884
|
-
);
|
|
885
|
-
function getSelectableProviderTypes(featureStates) {
|
|
886
|
-
return Object.keys(MODEL_PROVIDER_TYPES).filter(
|
|
887
|
-
(type) => {
|
|
888
|
-
return !HIDDEN_PROVIDER_TYPES.has(type) && isModelProviderTypeEnabled(type, featureStates);
|
|
889
|
-
}
|
|
890
|
-
);
|
|
891
|
-
}
|
|
892
|
-
var modelProviderTypeSchema = external_exports.enum(MODEL_PROVIDER_TYPE_IDS);
|
|
893
|
-
var modelProviderFrameworkSchema = external_exports.enum(["claude-code", "codex"]);
|
|
894
|
-
function hasAuthMethods(type) {
|
|
895
|
-
const config = MODEL_PROVIDER_TYPES[type];
|
|
896
|
-
if (!config) return false;
|
|
897
|
-
return "authMethods" in config;
|
|
898
|
-
}
|
|
899
|
-
function getAuthMethodsForType(type) {
|
|
900
|
-
const config = MODEL_PROVIDER_TYPES[type];
|
|
901
|
-
if (!config) return void 0;
|
|
902
|
-
return "authMethods" in config ? config.authMethods : void 0;
|
|
903
|
-
}
|
|
904
|
-
function getDefaultAuthMethod(type) {
|
|
905
|
-
const config = MODEL_PROVIDER_TYPES[type];
|
|
906
|
-
return "defaultAuthMethod" in config ? config.defaultAuthMethod : void 0;
|
|
907
|
-
}
|
|
908
|
-
function getSecretsForAuthMethod(type, authMethod) {
|
|
909
|
-
const authMethods = getAuthMethodsForType(type);
|
|
910
|
-
if (!authMethods || !(authMethod in authMethods)) {
|
|
911
|
-
return void 0;
|
|
912
|
-
}
|
|
913
|
-
const method = authMethods[authMethod];
|
|
914
|
-
return method?.secrets;
|
|
915
|
-
}
|
|
916
|
-
var modelProviderSubscriptionUsageWindowSchema = external_exports.object({
|
|
917
|
-
usedPercent: external_exports.number().nullable(),
|
|
918
|
-
remainingPercent: external_exports.number().nullable(),
|
|
919
|
-
resetAt: external_exports.string().nullable(),
|
|
920
|
-
windowSeconds: external_exports.number().nullable()
|
|
921
|
-
});
|
|
922
|
-
var modelProviderSubscriptionUsageSchema = external_exports.object({
|
|
923
|
-
fiveHour: modelProviderSubscriptionUsageWindowSchema.nullable(),
|
|
924
|
-
weekly: modelProviderSubscriptionUsageWindowSchema.nullable()
|
|
925
|
-
});
|
|
926
|
-
var modelProviderResponseSchema = external_exports.object({
|
|
927
|
-
id: external_exports.uuid(),
|
|
928
|
-
type: modelProviderTypeSchema,
|
|
929
|
-
framework: modelProviderFrameworkSchema,
|
|
930
|
-
secretName: external_exports.string().nullable(),
|
|
931
|
-
// Legacy single-secret (deprecated for multi-auth)
|
|
932
|
-
authMethod: external_exports.string().nullable(),
|
|
933
|
-
// For multi-auth providers
|
|
934
|
-
secretNames: external_exports.array(external_exports.string()).nullable(),
|
|
935
|
-
// For multi-auth providers
|
|
936
|
-
isDefault: external_exports.boolean(),
|
|
937
|
-
selectedModel: external_exports.string().nullable(),
|
|
938
|
-
createdAt: external_exports.string(),
|
|
939
|
-
updatedAt: external_exports.string(),
|
|
940
|
-
// OAuth account metadata populated by provider-specific connect flows. Other
|
|
941
|
-
// provider types omit these.
|
|
942
|
-
accountEmail: external_exports.string().nullable().optional(),
|
|
943
|
-
workspaceName: external_exports.string().nullable().optional(),
|
|
944
|
-
planType: external_exports.string().nullable().optional(),
|
|
945
|
-
// Subscription quota metadata. Providers omit these until an upstream source
|
|
946
|
-
// exposes the reset cadence or next reset timestamp.
|
|
947
|
-
subscriptionResetPeriod: external_exports.string().nullable().optional(),
|
|
948
|
-
subscriptionNextResetAt: external_exports.string().nullable().optional(),
|
|
949
|
-
subscriptionUsage: modelProviderSubscriptionUsageSchema.nullable().optional(),
|
|
950
|
-
subscriptionResetCredits: external_exports.number().int().nonnegative().nullable().optional(),
|
|
951
|
-
// OAuth refresh state. `needsReconnect` flips to true when the firewall's
|
|
952
|
-
// refresh attempt fails (#11921 writes this on the model_providers row).
|
|
953
|
-
// `lastRefreshErrorCode` carries the typed code from `ChatgptRefreshError`
|
|
954
|
-
// (e.g. `refresh_token_expired`) so the UI can render an actionable
|
|
955
|
-
// re-connect message. Both fields are always emitted for OAuth-typed
|
|
956
|
-
// providers; non-OAuth types default to false / null.
|
|
957
|
-
needsReconnect: external_exports.boolean(),
|
|
958
|
-
lastRefreshErrorCode: external_exports.string().nullable()
|
|
959
|
-
});
|
|
960
|
-
var modelProviderListResponseSchema = external_exports.object({
|
|
961
|
-
modelProviders: external_exports.array(modelProviderResponseSchema)
|
|
962
|
-
});
|
|
963
|
-
var upsertModelProviderRequestSchema = external_exports.object({
|
|
964
|
-
type: modelProviderTypeSchema,
|
|
965
|
-
secret: external_exports.string().min(1).optional(),
|
|
966
|
-
// Legacy single secret
|
|
967
|
-
authMethod: external_exports.string().optional(),
|
|
968
|
-
// For multi-auth providers
|
|
969
|
-
secrets: external_exports.record(external_exports.string(), external_exports.string()).optional(),
|
|
970
|
-
// For multi-auth providers
|
|
971
|
-
selectedModel: external_exports.string().optional()
|
|
972
|
-
});
|
|
973
|
-
var upsertModelProviderResponseSchema = external_exports.object({
|
|
974
|
-
provider: modelProviderResponseSchema,
|
|
975
|
-
created: external_exports.boolean()
|
|
976
|
-
});
|
|
977
|
-
var orgModelPolicyRouteStatusSchema = external_exports.enum([
|
|
978
|
-
"valid",
|
|
979
|
-
"missing_provider",
|
|
980
|
-
"invalid"
|
|
981
|
-
]);
|
|
982
|
-
var orgModelPolicySchema = external_exports.object({
|
|
983
|
-
id: external_exports.uuid(),
|
|
984
|
-
model: supportedRunModelSchema,
|
|
985
|
-
modelLabel: external_exports.string(),
|
|
986
|
-
isDefault: external_exports.boolean(),
|
|
987
|
-
defaultProviderType: modelProviderTypeSchema,
|
|
988
|
-
credentialScope: modelProviderCredentialScopeSchema,
|
|
989
|
-
modelProviderId: external_exports.uuid().nullable(),
|
|
990
|
-
routeStatus: orgModelPolicyRouteStatusSchema,
|
|
991
|
-
routeStatusReason: external_exports.string().nullable(),
|
|
992
|
-
createdAt: external_exports.string(),
|
|
993
|
-
updatedAt: external_exports.string()
|
|
994
|
-
});
|
|
995
|
-
var updateOrgModelPolicySchema = external_exports.object({
|
|
996
|
-
model: supportedRunModelSchema,
|
|
997
|
-
isDefault: external_exports.boolean(),
|
|
998
|
-
defaultProviderType: modelProviderTypeSchema,
|
|
999
|
-
credentialScope: modelProviderCredentialScopeSchema,
|
|
1000
|
-
modelProviderId: external_exports.uuid().nullable()
|
|
1001
|
-
});
|
|
1002
|
-
var orgModelPoliciesResponseSchema = external_exports.object({
|
|
1003
|
-
policies: external_exports.array(orgModelPolicySchema),
|
|
1004
|
-
workspaceDefaultModel: supportedRunModelSchema.nullable(),
|
|
1005
|
-
workspaceDefaultPolicyId: external_exports.uuid().nullable()
|
|
1006
|
-
});
|
|
1007
|
-
var updateOrgModelPoliciesRequestSchema = external_exports.object({
|
|
1008
|
-
policies: external_exports.array(updateOrgModelPolicySchema)
|
|
1009
|
-
});
|
|
1010
|
-
|
|
1011
30
|
// src/lib/api/domains/registry-resources.ts
|
|
1012
31
|
init_esm_shims();
|
|
1013
32
|
|
|
@@ -5665,15 +4684,6 @@ var pagedChatMessageBaseSchema = external_exports.object({
|
|
|
5665
4684
|
attachFiles: external_exports.array(resolvedAttachFileSchema).optional(),
|
|
5666
4685
|
generationTemplate: generationTemplateRequestSchema.optional(),
|
|
5667
4686
|
sequenceNumber: external_exports.number().nullable().optional(),
|
|
5668
|
-
// Deprecated legacy schedule automation metadata. Migration 0545 clears
|
|
5669
|
-
// existing values; new message writes no longer populate these fields.
|
|
5670
|
-
automationId: external_exports.string().optional(),
|
|
5671
|
-
automationTitle: external_exports.string().optional(),
|
|
5672
|
-
automationSnapshot: external_exports.object({
|
|
5673
|
-
id: external_exports.string(),
|
|
5674
|
-
title: external_exports.string(),
|
|
5675
|
-
description: external_exports.string().nullable()
|
|
5676
|
-
}).optional(),
|
|
5677
4687
|
workflowSnapshot: external_exports.object({
|
|
5678
4688
|
id: external_exports.string().uuid().optional(),
|
|
5679
4689
|
agentId: external_exports.string().uuid().optional(),
|
|
@@ -11224,8 +10234,14 @@ var secretResponseSchema = external_exports.object({
|
|
|
11224
10234
|
createdAt: external_exports.string(),
|
|
11225
10235
|
updatedAt: external_exports.string()
|
|
11226
10236
|
});
|
|
10237
|
+
var secretListItemResponseSchema = secretResponseSchema.extend({
|
|
10238
|
+
connectorDisplay: external_exports.object({
|
|
10239
|
+
label: external_exports.string(),
|
|
10240
|
+
environmentNames: external_exports.array(external_exports.string())
|
|
10241
|
+
}).nullable()
|
|
10242
|
+
});
|
|
11227
10243
|
var secretListResponseSchema = external_exports.object({
|
|
11228
|
-
secrets: external_exports.array(
|
|
10244
|
+
secrets: external_exports.array(secretListItemResponseSchema)
|
|
11229
10245
|
});
|
|
11230
10246
|
var setSecretRequestSchema = external_exports.object({
|
|
11231
10247
|
name: secretNameSchema,
|
|
@@ -15181,19 +14197,6 @@ export {
|
|
|
15181
14197
|
validateBaseUrl,
|
|
15182
14198
|
validateAuthBaseUrl,
|
|
15183
14199
|
authHeadersSchema,
|
|
15184
|
-
supportedRunModelSchema,
|
|
15185
|
-
getVm0ModelPriceTier,
|
|
15186
|
-
MODEL_PROVIDER_TYPES,
|
|
15187
|
-
getSelectableProviderTypes,
|
|
15188
|
-
modelProviderTypeSchema,
|
|
15189
|
-
hasAuthMethods,
|
|
15190
|
-
getAuthMethodsForType,
|
|
15191
|
-
getDefaultAuthMethod,
|
|
15192
|
-
getSecretsForAuthMethod,
|
|
15193
|
-
modelProviderResponseSchema,
|
|
15194
|
-
modelProviderListResponseSchema,
|
|
15195
|
-
upsertModelProviderRequestSchema,
|
|
15196
|
-
upsertModelProviderResponseSchema,
|
|
15197
14200
|
runnerGroupSchema,
|
|
15198
14201
|
volumeConfigSchema,
|
|
15199
14202
|
agentDefinitionSchema,
|
|
@@ -15353,4 +14356,4 @@ export {
|
|
|
15353
14356
|
completeHostedSite,
|
|
15354
14357
|
getHostedSiteFiles
|
|
15355
14358
|
};
|
|
15356
|
-
//# sourceMappingURL=chunk-
|
|
14359
|
+
//# sourceMappingURL=chunk-GIACTMOF.js.map
|