@vm0/cli 9.145.2 → 9.145.4

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.
@@ -74083,7 +74083,7 @@ if (DSN) {
74083
74083
  init2({
74084
74084
  dsn: DSN,
74085
74085
  environment: process.env.SENTRY_ENVIRONMENT ?? "production",
74086
- release: "9.145.2",
74086
+ release: "9.145.4",
74087
74087
  sendDefaultPii: false,
74088
74088
  tracesSampleRate: 0,
74089
74089
  shutdownTimeout: 500,
@@ -74102,7 +74102,7 @@ if (DSN) {
74102
74102
  }
74103
74103
  });
74104
74104
  setContext("cli", {
74105
- version: "9.145.2",
74105
+ version: "9.145.4",
74106
74106
  command: process.argv.slice(2).join(" ")
74107
74107
  });
74108
74108
  setContext("runtime", {
@@ -93212,10 +93212,11 @@ var composesByIdContract = c.router({
93212
93212
  path: "/api/agent/composes/:id",
93213
93213
  headers: authHeadersSchema,
93214
93214
  pathParams: external_exports.object({
93215
- id: external_exports.string().min(1, "Compose ID is required")
93215
+ id: external_exports.string().uuid("Compose ID must be a valid UUID")
93216
93216
  }),
93217
93217
  responses: {
93218
93218
  200: composeResponseSchema,
93219
+ 400: apiErrorSchema,
93219
93220
  401: apiErrorSchema,
93220
93221
  403: apiErrorSchema,
93221
93222
  404: apiErrorSchema
@@ -93344,10 +93345,11 @@ var composesInstructionsContract = c.router({
93344
93345
  path: "/api/agent/composes/:id/instructions",
93345
93346
  headers: authHeadersSchema,
93346
93347
  pathParams: external_exports.object({
93347
- id: external_exports.string().min(1, "Compose ID is required")
93348
+ id: external_exports.string().uuid("Compose ID must be a valid UUID")
93348
93349
  }),
93349
93350
  responses: {
93350
93351
  200: composeInstructionsResponseSchema,
93352
+ 400: apiErrorSchema,
93351
93353
  401: apiErrorSchema,
93352
93354
  403: apiErrorSchema,
93353
93355
  404: apiErrorSchema
@@ -102340,6 +102342,22 @@ init_esm_shims();
102340
102342
 
102341
102343
  // ../../packages/api-contracts/src/contracts/model-providers.ts
102342
102344
  init_esm_shims();
102345
+ var SUPPORTED_RUN_MODELS = [
102346
+ "claude-opus-4-7",
102347
+ "claude-opus-4-6",
102348
+ "claude-sonnet-4-6",
102349
+ "gpt-5.5",
102350
+ "gpt-5.4",
102351
+ "deepseek-v4-pro",
102352
+ "kimi-k2.6",
102353
+ "kimi-k2.5",
102354
+ "glm-5.1"
102355
+ ];
102356
+ var supportedRunModelSchema = external_exports.enum(SUPPORTED_RUN_MODELS);
102357
+ var modelProviderCredentialScopeSchema = external_exports.enum(["org", "member"]);
102358
+ var SUPPORTED_RUN_MODEL_SET = new Set(
102359
+ SUPPORTED_RUN_MODELS
102360
+ );
102343
102361
  var VM0_MODEL_TO_PROVIDER = {
102344
102362
  "claude-opus-4-7": {
102345
102363
  concreteType: "anthropic-api-key",
@@ -118149,6 +118167,15 @@ var resumeSessionSchema = external_exports.object({
118149
118167
  sessionId: external_exports.string(),
118150
118168
  sessionHistory: external_exports.string()
118151
118169
  });
118170
+ var secretConnectorMetadataSchema = external_exports.object({
118171
+ sourceType: external_exports.enum(["connector", "model-provider"]),
118172
+ sourceUserId: external_exports.string().optional(),
118173
+ metadataKey: external_exports.string().optional()
118174
+ });
118175
+ var secretConnectorMetadataMapSchema = external_exports.record(
118176
+ external_exports.string(),
118177
+ secretConnectorMetadataSchema
118178
+ );
118152
118179
  var storedExecutionContextSchema = external_exports.object({
118153
118180
  workingDir: external_exports.string(),
118154
118181
  storageManifest: storageManifestSchema.nullable(),
@@ -118158,6 +118185,8 @@ var storedExecutionContextSchema = external_exports.object({
118158
118185
  // AES-256-GCM encrypted Record<string, string> (secret name → value)
118159
118186
  // Maps secret names to OAuth connector types for runtime token refresh (e.g. { "GMAIL_ACCESS_TOKEN": "gmail" })
118160
118187
  secretConnectorMap: external_exports.record(external_exports.string(), external_exports.string()).nullable().optional(),
118188
+ // Per-secret refresh metadata, used when a handler needs owner-specific storage (e.g. personal model providers)
118189
+ secretConnectorMetadataMap: secretConnectorMetadataMapSchema.nullable().optional(),
118161
118190
  cliAgentType: external_exports.string(),
118162
118191
  // Debug flag to force real Claude in mock environments (internal use only)
118163
118192
  debugNoMockClaude: external_exports.boolean().optional(),
@@ -118204,6 +118233,8 @@ var executionContextSchema = external_exports.object({
118204
118233
  encryptedSecrets: external_exports.string().nullable(),
118205
118234
  // Maps secret names to OAuth connector types for runtime token refresh
118206
118235
  secretConnectorMap: external_exports.record(external_exports.string(), external_exports.string()).nullable().optional(),
118236
+ // Per-secret refresh metadata, used when a handler needs owner-specific storage (e.g. personal model providers)
118237
+ secretConnectorMetadataMap: secretConnectorMetadataMapSchema.nullable().optional(),
118207
118238
  cliAgentType: external_exports.string(),
118208
118239
  // Debug flag to force real Claude in mock environments (internal use only)
118209
118240
  debugNoMockClaude: external_exports.boolean().optional(),
@@ -118623,10 +118654,11 @@ var zeroComposesByIdContract = c35.router({
118623
118654
  path: "/api/zero/composes/:id",
118624
118655
  headers: authHeadersSchema,
118625
118656
  pathParams: external_exports.object({
118626
- id: external_exports.string().min(1, "Compose ID is required")
118657
+ id: external_exports.string().uuid("Compose ID must be a valid UUID")
118627
118658
  }),
118628
118659
  responses: {
118629
118660
  200: composeResponseSchema,
118661
+ 400: apiErrorSchema,
118630
118662
  401: apiErrorSchema,
118631
118663
  403: apiErrorSchema,
118632
118664
  404: apiErrorSchema
@@ -119796,12 +119828,24 @@ var voiceChatTaskSchema = external_exports.object({
119796
119828
  startedAt: external_exports.string().nullable(),
119797
119829
  finishedAt: external_exports.string().nullable()
119798
119830
  });
119799
- var tokenResponseSchema = external_exports.object({
119831
+ var legacyTokenResponseSchema = external_exports.object({
119800
119832
  client_secret: external_exports.object({
119801
119833
  value: external_exports.string(),
119802
119834
  expires_at: external_exports.number()
119803
119835
  })
119804
119836
  });
119837
+ var relayBootstrapResponseSchema = external_exports.object({
119838
+ relayUrl: external_exports.url(),
119839
+ relayToken: external_exports.string(),
119840
+ expiresAt: external_exports.number(),
119841
+ sessionId: external_exports.uuid(),
119842
+ transport: external_exports.enum(["websocket"]),
119843
+ minimumCreditsRequired: external_exports.number().int().nonnegative().optional()
119844
+ });
119845
+ var tokenResponseSchema = external_exports.union([
119846
+ legacyTokenResponseSchema,
119847
+ relayBootstrapResponseSchema
119848
+ ]);
119805
119849
  var createSessionBodySchema = external_exports.object({ agentId: external_exports.uuid() });
119806
119850
  var appendItemBodySchema = external_exports.object({
119807
119851
  role: voiceChatItemRoleSchema,
@@ -119940,12 +119984,13 @@ var zeroVoiceChatContract = c54.router({
119940
119984
  200: tokenResponseSchema,
119941
119985
  400: apiErrorSchema,
119942
119986
  401: apiErrorSchema,
119987
+ 402: apiErrorSchema,
119943
119988
  403: apiErrorSchema,
119944
119989
  404: apiErrorSchema,
119945
119990
  500: apiErrorSchema,
119946
119991
  503: apiErrorSchema
119947
119992
  },
119948
- summary: "Mint an ephemeral OpenAI realtime token for voice-chat"
119993
+ summary: "Mint a voice-chat token. Returns either the legacy OpenAI client_secret or, when VoiceChatRealtimeBilling is ON, a VM0 relay bootstrap (relayUrl + HMAC relayToken)."
119949
119994
  }
119950
119995
  });
119951
119996
 
@@ -120607,6 +120652,18 @@ var FEATURE_SWITCHES = {
120607
120652
  description: "Enable per-user (BYOK) model providers in addition to org-level. When off: Personal tab in Preferences is hidden; personal-tier API endpoints return 404; the prefer_personal_provider checkbox on agents/schedules is hidden; the resolver ignores the flag (treats as false). Staff-only during rollout; per-user toggle via Lab.",
120608
120653
  enabled: false,
120609
120654
  enabledOrgIdHashes: STAFF_ORG_ID_HASHES
120655
+ },
120656
+ ["modelFirstModelProvider" /* ModelFirstModelProvider */]: {
120657
+ maintainer: "lancy@vm0.ai",
120658
+ description: "Gate the model-first model provider selection foundation. When off, all provider-first resolver, UI, CLI, and legacy model provider defaults remain unchanged. When on, follow-up work can use org model policies, canonical models, and member-scoped OAuth credentials.",
120659
+ enabled: false,
120660
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
120661
+ },
120662
+ ["voiceChatRealtimeBilling" /* VoiceChatRealtimeBilling */]: {
120663
+ maintainer: "lancy@vm0.ai",
120664
+ description: "Switch the voice-chat token endpoint to mint a VM0 relay-bootstrap instead of an OpenAI client_secret. When OFF, browsers receive the legacy ephemeral OpenAI token. When ON, the route runs credit + pricing admission and mints a short-lived HMAC relay token; the browser opens a WebSocket to /api/zero/voice-chat/relay (sub-issue #12139). Staff-only during rollout; operator flips per org via the feature-switch overrides API.",
120665
+ enabled: false,
120666
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
120610
120667
  }
120611
120668
  };
120612
120669
  function isFeatureEnabled(key, ctx) {
@@ -121987,4 +122044,4 @@ undici/lib/web/fetch/body.js:
121987
122044
  undici/lib/web/websocket/frame.js:
121988
122045
  (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
121989
122046
  */
121990
- //# sourceMappingURL=chunk-OXSVCIKP.js.map
122047
+ //# sourceMappingURL=chunk-2CIMPE42.js.map