@vm0/cli 9.203.0 → 9.204.0

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.
@@ -80403,7 +80403,7 @@ if (DSN) {
80403
80403
  init2({
80404
80404
  dsn: DSN,
80405
80405
  environment: process.env.SENTRY_ENVIRONMENT ?? "production",
80406
- release: "9.203.0",
80406
+ release: "9.204.0",
80407
80407
  sendDefaultPii: false,
80408
80408
  tracesSampleRate: 0,
80409
80409
  shutdownTimeout: 500,
@@ -80422,7 +80422,7 @@ if (DSN) {
80422
80422
  }
80423
80423
  });
80424
80424
  setContext("cli", {
80425
- version: "9.203.0",
80425
+ version: "9.204.0",
80426
80426
  command: process.argv.slice(2).join(" ")
80427
80427
  });
80428
80428
  setContext("runtime", {
@@ -120023,6 +120023,43 @@ var zeroUserConnectorsContract = c20.router({
120023
120023
  }
120024
120024
  });
120025
120025
 
120026
+ // ../../packages/api-contracts/src/contracts/zero-agent-custom-connectors.ts
120027
+ init_esm_shims();
120028
+ var c21 = initContract();
120029
+ var agentCustomConnectorEnabledIdsSchema = external_exports.object({
120030
+ enabledIds: external_exports.array(external_exports.string().uuid())
120031
+ });
120032
+ var zeroAgentCustomConnectorsContract = c21.router({
120033
+ get: {
120034
+ method: "GET",
120035
+ path: "/api/zero/agents/:id/custom-connectors",
120036
+ headers: authHeadersSchema,
120037
+ pathParams: external_exports.object({ id: external_exports.string().uuid() }),
120038
+ responses: {
120039
+ 200: agentCustomConnectorEnabledIdsSchema,
120040
+ 401: apiErrorSchema,
120041
+ 403: apiErrorSchema,
120042
+ 404: apiErrorSchema
120043
+ },
120044
+ summary: "Get enabled custom connector ids for user on agent"
120045
+ },
120046
+ update: {
120047
+ method: "PUT",
120048
+ path: "/api/zero/agents/:id/custom-connectors",
120049
+ headers: authHeadersSchema,
120050
+ pathParams: external_exports.object({ id: external_exports.string().uuid() }),
120051
+ body: agentCustomConnectorEnabledIdsSchema,
120052
+ responses: {
120053
+ 200: agentCustomConnectorEnabledIdsSchema,
120054
+ 400: apiErrorSchema,
120055
+ 401: apiErrorSchema,
120056
+ 403: apiErrorSchema,
120057
+ 404: apiErrorSchema
120058
+ },
120059
+ summary: "Replace enabled custom connector ids for user on agent"
120060
+ }
120061
+ });
120062
+
120026
120063
  // src/lib/api/domains/zero-agents.ts
120027
120064
  async function createZeroAgent(body) {
120028
120065
  const config4 = await getClientConfig();
@@ -120076,6 +120113,16 @@ async function getZeroAgentUserConnectors(id) {
120076
120113
  `Failed to get connector permissions for zero agent "${id}"`
120077
120114
  );
120078
120115
  }
120116
+ async function getZeroAgentCustomConnectors(id) {
120117
+ const config4 = await getClientConfig();
120118
+ const client = initClient(zeroAgentCustomConnectorsContract, config4);
120119
+ const result = await client.get({ params: { id } });
120120
+ if (result.status === 200) return result.body.enabledIds;
120121
+ handleError(
120122
+ result,
120123
+ `Failed to get custom connector permissions for zero agent "${id}"`
120124
+ );
120125
+ }
120079
120126
  async function listZeroUserPermissionGrants(agentId) {
120080
120127
  const config4 = await getClientConfig();
120081
120128
  const client = initClient(zeroUserPermissionGrantsContract, config4);
@@ -120102,12 +120149,13 @@ init_esm_shims();
120102
120149
 
120103
120150
  // ../../packages/api-contracts/src/contracts/zero-goals.ts
120104
120151
  init_esm_shims();
120105
- var c21 = initContract();
120152
+ var c22 = initContract();
120106
120153
  var zeroGoalStatusSchema = external_exports.enum(["active", "blocked", "complete"]);
120107
120154
  var zeroGoalStopReasonSchema = external_exports.enum(["paused", "blocked", "failed"]);
120108
120155
  var zeroGoalPreferenceSchema = external_exports.object({
120109
120156
  version: external_exports.literal(1),
120110
120157
  objective: external_exports.string().min(1),
120158
+ objectiveBrief: external_exports.string().min(1).optional(),
120111
120159
  tokenBudget: external_exports.number().int().positive().optional(),
120112
120160
  stopReason: zeroGoalStopReasonSchema.optional()
120113
120161
  });
@@ -120126,7 +120174,7 @@ var zeroGoalResponseSchema = external_exports.object({
120126
120174
  tokenBudget: external_exports.number().int().positive().optional(),
120127
120175
  stopReason: zeroGoalStopReasonSchema.optional()
120128
120176
  });
120129
- var zeroGoalsContract = c21.router({
120177
+ var zeroGoalsContract = c22.router({
120130
120178
  create: {
120131
120179
  method: "POST",
120132
120180
  path: "/api/zero/goal",
@@ -120171,7 +120219,7 @@ var zeroGoalsContract = c21.router({
120171
120219
  method: "POST",
120172
120220
  path: "/api/zero/goal/complete",
120173
120221
  headers: authHeadersSchema,
120174
- body: c21.noBody(),
120222
+ body: c22.noBody(),
120175
120223
  responses: {
120176
120224
  200: zeroGoalResponseSchema,
120177
120225
  401: apiErrorSchema,
@@ -120184,7 +120232,7 @@ var zeroGoalsContract = c21.router({
120184
120232
  method: "POST",
120185
120233
  path: "/api/zero/goal/block",
120186
120234
  headers: authHeadersSchema,
120187
- body: c21.noBody(),
120235
+ body: c22.noBody(),
120188
120236
  responses: {
120189
120237
  200: zeroGoalResponseSchema,
120190
120238
  401: apiErrorSchema,
@@ -120197,7 +120245,7 @@ var zeroGoalsContract = c21.router({
120197
120245
  method: "POST",
120198
120246
  path: "/api/zero/goal/resume",
120199
120247
  headers: authHeadersSchema,
120200
- body: c21.noBody(),
120248
+ body: c22.noBody(),
120201
120249
  responses: {
120202
120250
  200: zeroGoalResponseSchema,
120203
120251
  401: apiErrorSchema,
@@ -120258,8 +120306,8 @@ init_esm_shims();
120258
120306
 
120259
120307
  // ../../packages/api-contracts/src/contracts/zero-connectors.ts
120260
120308
  init_esm_shims();
120261
- var c22 = initContract();
120262
- var zeroConnectorsMainContract = c22.router({
120309
+ var c23 = initContract();
120310
+ var zeroConnectorsMainContract = c23.router({
120263
120311
  list: {
120264
120312
  method: "GET",
120265
120313
  path: "/api/zero/connectors",
@@ -120273,7 +120321,7 @@ var zeroConnectorsMainContract = c22.router({
120273
120321
  summary: "List all connectors (zero proxy)"
120274
120322
  }
120275
120323
  });
120276
- var zeroConnectorsByTypeContract = c22.router({
120324
+ var zeroConnectorsByTypeContract = c23.router({
120277
120325
  get: {
120278
120326
  method: "GET",
120279
120327
  path: "/api/zero/connectors/:type",
@@ -120293,14 +120341,14 @@ var zeroConnectorsByTypeContract = c22.router({
120293
120341
  headers: authHeadersSchema,
120294
120342
  pathParams: external_exports.object({ type: connectorTypeSchema }),
120295
120343
  responses: {
120296
- 204: c22.noBody(),
120344
+ 204: c23.noBody(),
120297
120345
  401: apiErrorSchema,
120298
120346
  404: apiErrorSchema
120299
120347
  },
120300
120348
  summary: "Disconnect a connector (zero proxy)"
120301
120349
  }
120302
120350
  });
120303
- var zeroConnectorScopeDiffContract = c22.router({
120351
+ var zeroConnectorScopeDiffContract = c23.router({
120304
120352
  getScopeDiff: {
120305
120353
  method: "GET",
120306
120354
  path: "/api/zero/connectors/:type/scope-diff",
@@ -120315,7 +120363,7 @@ var zeroConnectorScopeDiffContract = c22.router({
120315
120363
  summary: "Get scope diff for a connector"
120316
120364
  }
120317
120365
  });
120318
- var zeroConnectorOauthStartContract = c22.router({
120366
+ var zeroConnectorOauthStartContract = c23.router({
120319
120367
  start: {
120320
120368
  method: "POST",
120321
120369
  path: "/api/zero/connectors/:type/oauth/start",
@@ -120332,7 +120380,7 @@ var zeroConnectorOauthStartContract = c22.router({
120332
120380
  summary: "Create connector OAuth handoff and authorization URL"
120333
120381
  }
120334
120382
  });
120335
- var zeroConnectorManualGrantContract = c22.router({
120383
+ var zeroConnectorManualGrantContract = c23.router({
120336
120384
  connect: {
120337
120385
  method: "POST",
120338
120386
  path: "/api/zero/connectors/:type/manual-grant",
@@ -120353,7 +120401,7 @@ var zeroConnectorManualGrantContract = c22.router({
120353
120401
  summary: "Connect a connector with a manual grant"
120354
120402
  }
120355
120403
  });
120356
- var zeroConnectorOauthDeviceAuthSessionContract = c22.router({
120404
+ var zeroConnectorOauthDeviceAuthSessionContract = c23.router({
120357
120405
  create: {
120358
120406
  method: "POST",
120359
120407
  path: "/api/zero/connectors/:type/oauth/device/sessions",
@@ -120392,7 +120440,7 @@ var zeroConnectorOauthDeviceAuthSessionContract = c22.router({
120392
120440
  summary: "Poll connector OAuth device authorization session"
120393
120441
  }
120394
120442
  });
120395
- var zeroConnectorExternalCodeSessionContract = c22.router({
120443
+ var zeroConnectorExternalCodeSessionContract = c23.router({
120396
120444
  create: {
120397
120445
  method: "POST",
120398
120446
  path: "/api/zero/connectors/:type/external-code/sessions",
@@ -120439,7 +120487,7 @@ var connectorSearchItemSchema = external_exports.object({
120439
120487
  var connectorSearchResponseSchema = external_exports.object({
120440
120488
  connectors: external_exports.array(connectorSearchItemSchema)
120441
120489
  });
120442
- var zeroConnectorsSearchContract = c22.router({
120490
+ var zeroConnectorsSearchContract = c23.router({
120443
120491
  search: {
120444
120492
  method: "GET",
120445
120493
  path: "/api/zero/connectors/search",
@@ -120454,6 +120502,275 @@ var zeroConnectorsSearchContract = c22.router({
120454
120502
  }
120455
120503
  });
120456
120504
 
120505
+ // ../../packages/api-contracts/src/contracts/zero-custom-connectors.ts
120506
+ init_esm_shims();
120507
+ var c24 = initContract();
120508
+ var customConnectorFieldKindSchema = external_exports.enum(["secret", "variable"]);
120509
+ var customConnectorFieldSchema = external_exports.object({
120510
+ key: external_exports.string().min(1).max(64),
120511
+ label: external_exports.string().min(1).max(128),
120512
+ kind: customConnectorFieldKindSchema,
120513
+ required: external_exports.boolean(),
120514
+ description: external_exports.string().max(512).optional()
120515
+ });
120516
+ var customConnectorHeaderInjectionSchema = external_exports.object({
120517
+ name: external_exports.string().min(1).max(128),
120518
+ valueTemplate: external_exports.string().min(1).max(2048)
120519
+ });
120520
+ var customConnectorQueryInjectionSchema = external_exports.object({
120521
+ name: external_exports.string().min(1).max(128),
120522
+ valueTemplate: external_exports.string().min(1).max(2048)
120523
+ });
120524
+ var customConnectorResponseSchema = external_exports.object({
120525
+ id: external_exports.string().uuid(),
120526
+ slug: external_exports.string(),
120527
+ displayName: external_exports.string(),
120528
+ prefixes: external_exports.array(external_exports.string()),
120529
+ headerName: external_exports.string(),
120530
+ headerTemplate: external_exports.string(),
120531
+ prefixTemplates: external_exports.array(external_exports.string()),
120532
+ fields: external_exports.array(customConnectorFieldSchema),
120533
+ headerInjections: external_exports.array(customConnectorHeaderInjectionSchema),
120534
+ queryInjections: external_exports.array(customConnectorQueryInjectionSchema),
120535
+ connected: external_exports.boolean(),
120536
+ missingRequiredFields: external_exports.array(external_exports.string()),
120537
+ configuredFieldKeys: external_exports.array(external_exports.string()),
120538
+ createdAt: external_exports.string(),
120539
+ updatedAt: external_exports.string(),
120540
+ hasSecret: external_exports.boolean()
120541
+ });
120542
+ var customConnectorListResponseSchema = external_exports.object({
120543
+ connectors: external_exports.array(customConnectorResponseSchema)
120544
+ });
120545
+ var customConnectorPrefixSchema = external_exports.string().min(1).refine(
120546
+ (value) => {
120547
+ try {
120548
+ new URL(value);
120549
+ return true;
120550
+ } catch {
120551
+ return false;
120552
+ }
120553
+ },
120554
+ { message: "Invalid URL" }
120555
+ );
120556
+ var createCustomConnectorBodySchema = external_exports.object({
120557
+ displayName: external_exports.string().min(1).max(128),
120558
+ prefixes: external_exports.array(customConnectorPrefixSchema).min(1).optional(),
120559
+ headerName: external_exports.string().min(1).max(128).optional(),
120560
+ headerTemplate: external_exports.string().min(1).optional(),
120561
+ prefixTemplates: external_exports.array(external_exports.string().min(1)).min(1).optional(),
120562
+ fields: external_exports.array(customConnectorFieldSchema).optional(),
120563
+ headerInjections: external_exports.array(customConnectorHeaderInjectionSchema).optional(),
120564
+ queryInjections: external_exports.array(customConnectorQueryInjectionSchema).optional(),
120565
+ slug: external_exports.string().optional()
120566
+ });
120567
+ var updateCustomConnectorBodySchema = external_exports.object({
120568
+ displayName: external_exports.string().min(1).max(128),
120569
+ prefixTemplates: external_exports.array(external_exports.string().min(1)).min(1),
120570
+ fields: external_exports.array(customConnectorFieldSchema),
120571
+ headerInjections: external_exports.array(customConnectorHeaderInjectionSchema),
120572
+ queryInjections: external_exports.array(customConnectorQueryInjectionSchema)
120573
+ });
120574
+ var setCustomConnectorSecretBodySchema = external_exports.object({
120575
+ value: external_exports.string().min(1)
120576
+ });
120577
+ var customConnectorValueInputSchema = external_exports.object({
120578
+ key: external_exports.string().min(1).max(64),
120579
+ kind: customConnectorFieldKindSchema,
120580
+ value: external_exports.string().min(1)
120581
+ });
120582
+ var setCustomConnectorValuesBodySchema = external_exports.object({
120583
+ values: external_exports.array(customConnectorValueInputSchema)
120584
+ });
120585
+ var patchCustomConnectorBodySchema = external_exports.object({
120586
+ displayName: external_exports.string().min(1).max(128)
120587
+ });
120588
+ var customConnectorProposalSchema = external_exports.object({
120589
+ operation: external_exports.enum(["create", "update"]),
120590
+ connectorId: external_exports.string().uuid().optional(),
120591
+ displayName: external_exports.string().min(1).max(128),
120592
+ prefixTemplates: external_exports.array(external_exports.string().min(1)).min(1),
120593
+ fields: external_exports.array(customConnectorFieldSchema),
120594
+ headerInjections: external_exports.array(customConnectorHeaderInjectionSchema),
120595
+ queryInjections: external_exports.array(customConnectorQueryInjectionSchema),
120596
+ notes: external_exports.string().max(2048).optional()
120597
+ });
120598
+ var saveCustomConnectorProposalBodySchema = external_exports.object({
120599
+ proposal: customConnectorProposalSchema,
120600
+ values: external_exports.array(customConnectorValueInputSchema),
120601
+ agentId: external_exports.string().uuid().optional()
120602
+ });
120603
+ var saveCustomConnectorProposalResponseSchema = external_exports.object({
120604
+ connector: customConnectorResponseSchema,
120605
+ authorizedAgentId: external_exports.string().uuid().optional()
120606
+ });
120607
+ var zeroCustomConnectorsContract = c24.router({
120608
+ list: {
120609
+ method: "GET",
120610
+ path: "/api/zero/custom-connectors",
120611
+ headers: authHeadersSchema,
120612
+ responses: {
120613
+ 200: customConnectorListResponseSchema,
120614
+ 401: apiErrorSchema,
120615
+ 500: apiErrorSchema
120616
+ },
120617
+ summary: "List org custom connectors"
120618
+ },
120619
+ create: {
120620
+ method: "POST",
120621
+ path: "/api/zero/custom-connectors",
120622
+ headers: authHeadersSchema,
120623
+ body: createCustomConnectorBodySchema,
120624
+ responses: {
120625
+ 201: customConnectorResponseSchema,
120626
+ 400: apiErrorSchema,
120627
+ 401: apiErrorSchema,
120628
+ 403: apiErrorSchema,
120629
+ 500: apiErrorSchema
120630
+ },
120631
+ summary: "Create an org custom connector"
120632
+ }
120633
+ });
120634
+ var zeroCustomConnectorByIdContract = c24.router({
120635
+ get: {
120636
+ method: "GET",
120637
+ path: "/api/zero/custom-connectors/:id",
120638
+ headers: authHeadersSchema,
120639
+ pathParams: external_exports.object({ id: external_exports.string().uuid() }),
120640
+ responses: {
120641
+ 200: customConnectorResponseSchema,
120642
+ 401: apiErrorSchema,
120643
+ 403: apiErrorSchema,
120644
+ 404: apiErrorSchema,
120645
+ 500: apiErrorSchema
120646
+ },
120647
+ summary: "Get an org custom connector"
120648
+ },
120649
+ delete: {
120650
+ method: "DELETE",
120651
+ path: "/api/zero/custom-connectors/:id",
120652
+ headers: authHeadersSchema,
120653
+ pathParams: external_exports.object({ id: external_exports.string().uuid() }),
120654
+ responses: {
120655
+ 204: c24.noBody(),
120656
+ 401: apiErrorSchema,
120657
+ 403: apiErrorSchema,
120658
+ 404: apiErrorSchema,
120659
+ 500: apiErrorSchema
120660
+ },
120661
+ summary: "Delete an org custom connector"
120662
+ },
120663
+ patch: {
120664
+ method: "PATCH",
120665
+ path: "/api/zero/custom-connectors/:id",
120666
+ headers: authHeadersSchema,
120667
+ pathParams: external_exports.object({ id: external_exports.string().uuid() }),
120668
+ body: patchCustomConnectorBodySchema,
120669
+ responses: {
120670
+ 200: customConnectorResponseSchema,
120671
+ 400: apiErrorSchema,
120672
+ 401: apiErrorSchema,
120673
+ 403: apiErrorSchema,
120674
+ 404: apiErrorSchema,
120675
+ 500: apiErrorSchema
120676
+ },
120677
+ summary: "Rename an org custom connector"
120678
+ },
120679
+ update: {
120680
+ method: "PUT",
120681
+ path: "/api/zero/custom-connectors/:id",
120682
+ headers: authHeadersSchema,
120683
+ pathParams: external_exports.object({ id: external_exports.string().uuid() }),
120684
+ body: updateCustomConnectorBodySchema,
120685
+ responses: {
120686
+ 200: customConnectorResponseSchema,
120687
+ 400: apiErrorSchema,
120688
+ 401: apiErrorSchema,
120689
+ 403: apiErrorSchema,
120690
+ 404: apiErrorSchema,
120691
+ 500: apiErrorSchema
120692
+ },
120693
+ summary: "Update an org custom connector definition"
120694
+ }
120695
+ });
120696
+ var zeroCustomConnectorSecretContract = c24.router({
120697
+ set: {
120698
+ method: "PUT",
120699
+ path: "/api/zero/custom-connectors/:id/secret",
120700
+ headers: authHeadersSchema,
120701
+ pathParams: external_exports.object({ id: external_exports.string().uuid() }),
120702
+ body: setCustomConnectorSecretBodySchema,
120703
+ responses: {
120704
+ 204: c24.noBody(),
120705
+ 400: apiErrorSchema,
120706
+ 401: apiErrorSchema,
120707
+ 404: apiErrorSchema,
120708
+ 500: apiErrorSchema
120709
+ },
120710
+ summary: "Set the calling user's secret for a custom connector"
120711
+ },
120712
+ delete: {
120713
+ method: "DELETE",
120714
+ path: "/api/zero/custom-connectors/:id/secret",
120715
+ headers: authHeadersSchema,
120716
+ pathParams: external_exports.object({ id: external_exports.string().uuid() }),
120717
+ responses: {
120718
+ 204: c24.noBody(),
120719
+ 401: apiErrorSchema,
120720
+ 404: apiErrorSchema,
120721
+ 500: apiErrorSchema
120722
+ },
120723
+ summary: "Clear the calling user's secret for a custom connector"
120724
+ }
120725
+ });
120726
+ var zeroCustomConnectorValuesContract = c24.router({
120727
+ set: {
120728
+ method: "PUT",
120729
+ path: "/api/zero/custom-connectors/:id/values",
120730
+ headers: authHeadersSchema,
120731
+ pathParams: external_exports.object({ id: external_exports.string().uuid() }),
120732
+ body: setCustomConnectorValuesBodySchema,
120733
+ responses: {
120734
+ 200: customConnectorResponseSchema,
120735
+ 400: apiErrorSchema,
120736
+ 401: apiErrorSchema,
120737
+ 404: apiErrorSchema,
120738
+ 500: apiErrorSchema
120739
+ },
120740
+ summary: "Set the calling user's values for a custom connector"
120741
+ },
120742
+ delete: {
120743
+ method: "DELETE",
120744
+ path: "/api/zero/custom-connectors/:id/values",
120745
+ headers: authHeadersSchema,
120746
+ pathParams: external_exports.object({ id: external_exports.string().uuid() }),
120747
+ responses: {
120748
+ 204: c24.noBody(),
120749
+ 401: apiErrorSchema,
120750
+ 404: apiErrorSchema,
120751
+ 500: apiErrorSchema
120752
+ },
120753
+ summary: "Clear the calling user's values for a custom connector"
120754
+ }
120755
+ });
120756
+ var zeroCustomConnectorProposalContract = c24.router({
120757
+ save: {
120758
+ method: "POST",
120759
+ path: "/api/zero/custom-connectors/proposals/save",
120760
+ headers: authHeadersSchema,
120761
+ body: saveCustomConnectorProposalBodySchema,
120762
+ responses: {
120763
+ 200: saveCustomConnectorProposalResponseSchema,
120764
+ 400: apiErrorSchema,
120765
+ 401: apiErrorSchema,
120766
+ 403: apiErrorSchema,
120767
+ 404: apiErrorSchema,
120768
+ 500: apiErrorSchema
120769
+ },
120770
+ summary: "Save a custom connector proposal"
120771
+ }
120772
+ });
120773
+
120457
120774
  // src/lib/api/domains/zero-connectors.ts
120458
120775
  async function listZeroConnectors() {
120459
120776
  const config4 = await getClientConfig();
@@ -120502,6 +120819,27 @@ async function connectZeroConnectorManualGrant(type, authMethod, values) {
120502
120819
  }
120503
120820
  handleError(result, `Failed to connect connector "${type}"`);
120504
120821
  }
120822
+ async function listZeroCustomConnectors() {
120823
+ const config4 = await getClientConfig();
120824
+ const client = initClient(zeroCustomConnectorsContract, config4);
120825
+ const result = await client.list({ headers: {} });
120826
+ if (result.status === 200) {
120827
+ return result.body.connectors;
120828
+ }
120829
+ handleError(result, "Failed to list custom connectors");
120830
+ }
120831
+ async function getZeroCustomConnector(id) {
120832
+ const config4 = await getClientConfig();
120833
+ const client = initClient(zeroCustomConnectorByIdContract, config4);
120834
+ const result = await client.get({ params: { id }, headers: {} });
120835
+ if (result.status === 200) {
120836
+ return result.body;
120837
+ }
120838
+ if (result.status === 404) {
120839
+ return null;
120840
+ }
120841
+ handleError(result, `Failed to get custom connector "${id}"`);
120842
+ }
120505
120843
 
120506
120844
  // src/lib/api/domains/zero-runs.ts
120507
120845
  init_esm_shims();
@@ -120514,7 +120852,7 @@ init_esm_shims();
120514
120852
 
120515
120853
  // ../../packages/api-contracts/src/contracts/storages.ts
120516
120854
  init_esm_shims();
120517
- var c23 = initContract();
120855
+ var c25 = initContract();
120518
120856
  var storageTypeSchema = external_exports.enum(["volume", "artifact"]);
120519
120857
  var versionQuerySchema = external_exports.string().regex(/^[a-f0-9]{8,64}$/i, "Version must be 8-64 hex characters").optional();
120520
120858
  var uploadStorageResponseSchema = external_exports.object({
@@ -120525,7 +120863,7 @@ var uploadStorageResponseSchema = external_exports.object({
120525
120863
  type: storageTypeSchema,
120526
120864
  deduplicated: external_exports.boolean()
120527
120865
  });
120528
- var storagesContract = c23.router({
120866
+ var storagesContract = c25.router({
120529
120867
  /**
120530
120868
  * POST /api/storages
120531
120869
  * Upload a storage (tar.gz file)
@@ -120542,7 +120880,7 @@ var storagesContract = c23.router({
120542
120880
  path: "/api/storages",
120543
120881
  headers: authHeadersSchema,
120544
120882
  contentType: "multipart/form-data",
120545
- body: c23.type(),
120883
+ body: c25.type(),
120546
120884
  responses: {
120547
120885
  200: uploadStorageResponseSchema,
120548
120886
  400: apiErrorSchema,
@@ -120571,9 +120909,9 @@ var storagesContract = c23.router({
120571
120909
  }),
120572
120910
  responses: {
120573
120911
  // Binary response - actual handling done at route level
120574
- 200: c23.otherResponse({
120912
+ 200: c25.otherResponse({
120575
120913
  contentType: "application/gzip",
120576
- body: c23.type()
120914
+ body: c25.type()
120577
120915
  }),
120578
120916
  400: apiErrorSchema,
120579
120917
  401: apiErrorSchema,
@@ -120598,7 +120936,7 @@ var presignedUploadSchema = external_exports.object({
120598
120936
  key: external_exports.string(),
120599
120937
  presignedUrl: external_exports.url()
120600
120938
  });
120601
- var storagesPrepareContract = c23.router({
120939
+ var storagesPrepareContract = c25.router({
120602
120940
  prepare: {
120603
120941
  method: "POST",
120604
120942
  path: "/api/storages/prepare",
@@ -120633,7 +120971,7 @@ var storagesPrepareContract = c23.router({
120633
120971
  summary: "Prepare for direct S3 upload"
120634
120972
  }
120635
120973
  });
120636
- var storagesCommitContract = c23.router({
120974
+ var storagesCommitContract = c25.router({
120637
120975
  commit: {
120638
120976
  method: "POST",
120639
120977
  path: "/api/storages/commit",
@@ -120667,7 +121005,7 @@ var storagesCommitContract = c23.router({
120667
121005
  summary: "Commit uploaded storage"
120668
121006
  }
120669
121007
  });
120670
- var storagesDownloadContract = c23.router({
121008
+ var storagesDownloadContract = c25.router({
120671
121009
  download: {
120672
121010
  method: "GET",
120673
121011
  path: "/api/storages/download",
@@ -120703,7 +121041,7 @@ var storagesDownloadContract = c23.router({
120703
121041
  summary: "Get presigned download URL"
120704
121042
  }
120705
121043
  });
120706
- var storagesListContract = c23.router({
121044
+ var storagesListContract = c25.router({
120707
121045
  list: {
120708
121046
  method: "GET",
120709
121047
  path: "/api/storages/list",
@@ -120731,17 +121069,17 @@ var storagesListContract = c23.router({
120731
121069
  });
120732
121070
 
120733
121071
  // ../../packages/api-contracts/src/contracts/webhooks.ts
120734
- var c24 = initContract();
121072
+ var c26 = initContract();
120735
121073
  var thirdPartyWebhookErrorSchema = external_exports.object({ error: external_exports.string() });
120736
121074
  var thirdPartyWebhookOkSchema = external_exports.union([
120737
121075
  external_exports.string(),
120738
121076
  external_exports.object({ message: external_exports.literal("pong") })
120739
121077
  ]);
120740
- var webhookClerkContract = c24.router({
121078
+ var webhookClerkContract = c26.router({
120741
121079
  post: {
120742
121080
  method: "POST",
120743
121081
  path: "/api/webhooks/clerk",
120744
- body: c24.type(),
121082
+ body: c26.type(),
120745
121083
  responses: {
120746
121084
  200: thirdPartyWebhookOkSchema,
120747
121085
  401: thirdPartyWebhookErrorSchema
@@ -120749,11 +121087,11 @@ var webhookClerkContract = c24.router({
120749
121087
  summary: "Handle Clerk organization and user webhooks"
120750
121088
  }
120751
121089
  });
120752
- var webhookGithubContract = c24.router({
121090
+ var webhookGithubContract = c26.router({
120753
121091
  post: {
120754
121092
  method: "POST",
120755
121093
  path: "/api/webhooks/github",
120756
- body: c24.type(),
121094
+ body: c26.type(),
120757
121095
  responses: {
120758
121096
  200: thirdPartyWebhookOkSchema,
120759
121097
  400: thirdPartyWebhookErrorSchema,
@@ -120763,11 +121101,11 @@ var webhookGithubContract = c24.router({
120763
121101
  summary: "Handle GitHub App webhooks"
120764
121102
  }
120765
121103
  });
120766
- var webhookStripeContract = c24.router({
121104
+ var webhookStripeContract = c26.router({
120767
121105
  post: {
120768
121106
  method: "POST",
120769
121107
  path: "/api/webhooks/stripe",
120770
- body: c24.type(),
121108
+ body: c26.type(),
120771
121109
  responses: {
120772
121110
  200: thirdPartyWebhookOkSchema,
120773
121111
  401: thirdPartyWebhookErrorSchema,
@@ -120782,11 +121120,11 @@ var gmailWebhookResponseSchema = external_exports.object({
120782
121120
  dispatched: external_exports.number(),
120783
121121
  duplicates: external_exports.number()
120784
121122
  });
120785
- var webhookGmailContract = c24.router({
121123
+ var webhookGmailContract = c26.router({
120786
121124
  post: {
120787
121125
  method: "POST",
120788
121126
  path: "/api/webhooks/gmail",
120789
- body: c24.type(),
121127
+ body: c26.type(),
120790
121128
  responses: {
120791
121129
  200: gmailWebhookResponseSchema,
120792
121130
  400: thirdPartyWebhookErrorSchema,
@@ -120797,7 +121135,7 @@ var webhookGmailContract = c24.router({
120797
121135
  summary: "Handle Gmail Pub/Sub push notifications"
120798
121136
  }
120799
121137
  });
120800
- var webhookBuiltInGenerationFalContract = c24.router({
121138
+ var webhookBuiltInGenerationFalContract = c26.router({
120801
121139
  post: {
120802
121140
  method: "POST",
120803
121141
  path: "/api/webhooks/built-in-generations/fal/:generationId",
@@ -120808,7 +121146,7 @@ var webhookBuiltInGenerationFalContract = c24.router({
120808
121146
  token: external_exports.string().min(1),
120809
121147
  visualKey: external_exports.string().min(1).optional()
120810
121148
  }),
120811
- body: c24.type(),
121149
+ body: c26.type(),
120812
121150
  responses: {
120813
121151
  200: thirdPartyWebhookOkSchema,
120814
121152
  400: thirdPartyWebhookErrorSchema,
@@ -120818,7 +121156,7 @@ var webhookBuiltInGenerationFalContract = c24.router({
120818
121156
  summary: "Handle fal built-in generation webhooks"
120819
121157
  }
120820
121158
  });
120821
- var webhookBuiltInGenerationBytePlusContract = c24.router({
121159
+ var webhookBuiltInGenerationBytePlusContract = c26.router({
120822
121160
  post: {
120823
121161
  method: "POST",
120824
121162
  path: "/api/webhooks/built-in-generations/byteplus/:generationId",
@@ -120829,7 +121167,7 @@ var webhookBuiltInGenerationBytePlusContract = c24.router({
120829
121167
  token: external_exports.string().min(1),
120830
121168
  visualKey: external_exports.string().min(1).optional()
120831
121169
  }),
120832
- body: c24.type(),
121170
+ body: c26.type(),
120833
121171
  responses: {
120834
121172
  200: thirdPartyWebhookOkSchema,
120835
121173
  400: thirdPartyWebhookErrorSchema,
@@ -120889,7 +121227,7 @@ var firewallAuthResponseSchema = external_exports.object({
120889
121227
  refreshedConnectors: external_exports.array(external_exports.string()),
120890
121228
  refreshedSecrets: external_exports.array(external_exports.string())
120891
121229
  });
120892
- var webhookFirewallAuthContract = c24.router({
121230
+ var webhookFirewallAuthContract = c26.router({
120893
121231
  /**
120894
121232
  * POST /api/webhooks/agent/firewall/auth
120895
121233
  * Resolve firewall auth templates and refresh access tokens on demand.
@@ -120931,7 +121269,7 @@ var webhookFirewallAuthContract = c24.router({
120931
121269
  summary: "Resolve firewall auth templates"
120932
121270
  }
120933
121271
  });
120934
- var webhookEventsContract = c24.router({
121272
+ var webhookEventsContract = c26.router({
120935
121273
  /**
120936
121274
  * POST /api/webhooks/agent/events
120937
121275
  * Receive agent events from sandbox
@@ -120958,7 +121296,7 @@ var webhookEventsContract = c24.router({
120958
121296
  summary: "Receive agent events from sandbox"
120959
121297
  }
120960
121298
  });
120961
- var webhookCompleteContract = c24.router({
121299
+ var webhookCompleteContract = c26.router({
120962
121300
  /**
120963
121301
  * POST /api/webhooks/agent/complete
120964
121302
  * Handle agent run completion (success or failure)
@@ -120995,7 +121333,7 @@ var webhookCompleteContract = c24.router({
120995
121333
  summary: "Handle agent run completion"
120996
121334
  }
120997
121335
  });
120998
- var webhookCheckpointsContract = c24.router({
121336
+ var webhookCheckpointsContract = c26.router({
120999
121337
  /**
121000
121338
  * POST /api/webhooks/agent/checkpoints
121001
121339
  * Create a recoverable checkpoint for an agent run.
@@ -121034,7 +121372,7 @@ var webhookCheckpointsContract = c24.router({
121034
121372
  summary: "Create checkpoint for agent run"
121035
121373
  }
121036
121374
  });
121037
- var webhookCheckpointsPrepareHistoryContract = c24.router({
121375
+ var webhookCheckpointsPrepareHistoryContract = c26.router({
121038
121376
  prepare: {
121039
121377
  method: "POST",
121040
121378
  path: "/api/webhooks/agent/checkpoints/prepare-history",
@@ -121057,7 +121395,7 @@ var webhookCheckpointsPrepareHistoryContract = c24.router({
121057
121395
  summary: "Get presigned URL for uploading session history to S3"
121058
121396
  }
121059
121397
  });
121060
- var webhookHeartbeatContract = c24.router({
121398
+ var webhookHeartbeatContract = c26.router({
121061
121399
  /**
121062
121400
  * POST /api/webhooks/agent/heartbeat
121063
121401
  * Receive heartbeat signals from sandbox
@@ -121081,7 +121419,7 @@ var webhookHeartbeatContract = c24.router({
121081
121419
  summary: "Receive heartbeat from sandbox"
121082
121420
  }
121083
121421
  });
121084
- var webhookStoragesContract = c24.router({
121422
+ var webhookStoragesContract = c26.router({
121085
121423
  /**
121086
121424
  * POST /api/webhooks/agent/storages
121087
121425
  * Create a new version of a storage from sandbox
@@ -121097,7 +121435,7 @@ var webhookStoragesContract = c24.router({
121097
121435
  path: "/api/webhooks/agent/storages",
121098
121436
  headers: authHeadersSchema,
121099
121437
  contentType: "multipart/form-data",
121100
- body: c24.type(),
121438
+ body: c26.type(),
121101
121439
  responses: {
121102
121440
  200: external_exports.object({
121103
121441
  versionId: external_exports.string(),
@@ -121113,7 +121451,7 @@ var webhookStoragesContract = c24.router({
121113
121451
  summary: "Upload storage version from sandbox"
121114
121452
  }
121115
121453
  });
121116
- var webhookStoragesIncrementalContract = c24.router({
121454
+ var webhookStoragesIncrementalContract = c26.router({
121117
121455
  /**
121118
121456
  * POST /api/webhooks/agent/storages/incremental
121119
121457
  * Create a new version using incremental upload
@@ -121131,7 +121469,7 @@ var webhookStoragesIncrementalContract = c24.router({
121131
121469
  path: "/api/webhooks/agent/storages/incremental",
121132
121470
  headers: authHeadersSchema,
121133
121471
  contentType: "multipart/form-data",
121134
- body: c24.type(),
121472
+ body: c26.type(),
121135
121473
  responses: {
121136
121474
  200: external_exports.object({
121137
121475
  versionId: external_exports.string(),
@@ -121169,7 +121507,7 @@ var sandboxOperationSchema = external_exports.object({
121169
121507
  success: external_exports.boolean(),
121170
121508
  error: external_exports.string().optional()
121171
121509
  });
121172
- var webhookTelemetryContract = c24.router({
121510
+ var webhookTelemetryContract = c26.router({
121173
121511
  /**
121174
121512
  * POST /api/webhooks/agent/telemetry
121175
121513
  * Receive telemetry data (system log, metrics, network logs, and sandbox operations) from sandbox
@@ -121198,7 +121536,7 @@ var webhookTelemetryContract = c24.router({
121198
121536
  summary: "Receive telemetry data from sandbox"
121199
121537
  }
121200
121538
  });
121201
- var webhookStoragesPrepareContract = c24.router({
121539
+ var webhookStoragesPrepareContract = c26.router({
121202
121540
  prepare: {
121203
121541
  method: "POST",
121204
121542
  path: "/api/webhooks/agent/storages/prepare",
@@ -121232,7 +121570,7 @@ var webhookStoragesPrepareContract = c24.router({
121232
121570
  summary: "Prepare for direct S3 upload from sandbox"
121233
121571
  }
121234
121572
  });
121235
- var webhookStoragesCommitContract = c24.router({
121573
+ var webhookStoragesCommitContract = c26.router({
121236
121574
  commit: {
121237
121575
  method: "POST",
121238
121576
  path: "/api/webhooks/agent/storages/commit",
@@ -121274,7 +121612,7 @@ var webhookUsageEventItemSchema = external_exports.object({
121274
121612
  category: external_exports.string().min(1).max(100),
121275
121613
  quantity: external_exports.number().int().min(0)
121276
121614
  }).strict();
121277
- var webhookUsageEventContract = c24.router({
121615
+ var webhookUsageEventContract = c26.router({
121278
121616
  send: {
121279
121617
  method: "POST",
121280
121618
  path: "/api/webhooks/agent/usage-event",
@@ -121307,7 +121645,7 @@ var webhookModelUsageObservationItemSchema = external_exports.object({
121307
121645
  category: modelUsageObservationCategorySchema,
121308
121646
  quantity: external_exports.number().int().min(1)
121309
121647
  }).strict();
121310
- var webhookModelUsageObservationContract = c24.router({
121648
+ var webhookModelUsageObservationContract = c26.router({
121311
121649
  send: {
121312
121650
  method: "POST",
121313
121651
  path: "/api/webhooks/agent/model-usage-observation",
@@ -121345,7 +121683,7 @@ var zeroRunRequestSchema = unifiedRunRequestSchema.omit({
121345
121683
  agentId: external_exports.string().optional(),
121346
121684
  modelProvider: external_exports.string().optional()
121347
121685
  });
121348
- var c25 = initContract();
121686
+ var c27 = initContract();
121349
121687
  var zeroLogPaginationQuerySchema = createLogPaginationQuerySchema({
121350
121688
  cursorKind: "sequence"
121351
121689
  });
@@ -121355,7 +121693,7 @@ var zeroNetworkLogPaginationQuerySchema = createLogPaginationQuerySchema({
121355
121693
  defaultLimit: 500,
121356
121694
  defaultOrder: "asc"
121357
121695
  });
121358
- var zeroRunsMainContract = c25.router({
121696
+ var zeroRunsMainContract = c27.router({
121359
121697
  create: {
121360
121698
  method: "POST",
121361
121699
  path: "/api/zero/runs",
@@ -121374,7 +121712,7 @@ var zeroRunsMainContract = c25.router({
121374
121712
  summary: "Create and execute agent run (zero proxy)"
121375
121713
  }
121376
121714
  });
121377
- var zeroRunsByIdContract = c25.router({
121715
+ var zeroRunsByIdContract = c27.router({
121378
121716
  getById: {
121379
121717
  method: "GET",
121380
121718
  path: "/api/zero/runs/:id",
@@ -121392,7 +121730,7 @@ var zeroRunsByIdContract = c25.router({
121392
121730
  summary: "Get agent run by ID (zero proxy)"
121393
121731
  }
121394
121732
  });
121395
- var zeroRunsCancelContract = c25.router({
121733
+ var zeroRunsCancelContract = c27.router({
121396
121734
  cancel: {
121397
121735
  method: "POST",
121398
121736
  path: "/api/zero/runs/:id/cancel",
@@ -121411,7 +121749,7 @@ var zeroRunsCancelContract = c25.router({
121411
121749
  summary: "Cancel a pending or running run (zero proxy)"
121412
121750
  }
121413
121751
  });
121414
- var zeroRunsQueueContract = c25.router({
121752
+ var zeroRunsQueueContract = c27.router({
121415
121753
  getQueue: {
121416
121754
  method: "GET",
121417
121755
  path: "/api/zero/runs/queue",
@@ -121424,7 +121762,7 @@ var zeroRunsQueueContract = c25.router({
121424
121762
  summary: "Get org run queue status (zero proxy)"
121425
121763
  }
121426
121764
  });
121427
- var zeroRunAgentEventsContract = c25.router({
121765
+ var zeroRunAgentEventsContract = c27.router({
121428
121766
  getAgentEvents: {
121429
121767
  method: "GET",
121430
121768
  path: "/api/zero/runs/:id/telemetry/agent",
@@ -121487,7 +121825,7 @@ var runContextResponseSchema = external_exports.object({
121487
121825
  artifact: runContextArtifactSchema.nullable(),
121488
121826
  featureFlags: external_exports.record(external_exports.string(), external_exports.boolean()).nullable()
121489
121827
  });
121490
- var zeroRunContextContract = c25.router({
121828
+ var zeroRunContextContract = c27.router({
121491
121829
  getContext: {
121492
121830
  method: "GET",
121493
121831
  path: "/api/zero/runs/:id/context",
@@ -121505,7 +121843,7 @@ var zeroRunContextContract = c25.router({
121505
121843
  summary: "Get run execution context snapshot for debugging"
121506
121844
  }
121507
121845
  });
121508
- var zeroRunNetworkLogsContract = c25.router({
121846
+ var zeroRunNetworkLogsContract = c27.router({
121509
121847
  getNetworkLogs: {
121510
121848
  method: "GET",
121511
121849
  path: "/api/zero/runs/:id/network",
@@ -121527,7 +121865,7 @@ var zeroRunNetworkLogsContract = c25.router({
121527
121865
  var runRunnerResponseSchema = external_exports.object({
121528
121866
  sandboxReuseResult: sandboxReuseResultSchema.nullable()
121529
121867
  });
121530
- var zeroRunRunnerContract = c25.router({
121868
+ var zeroRunRunnerContract = c27.router({
121531
121869
  getRunner: {
121532
121870
  method: "GET",
121533
121871
  path: "/api/zero/runs/:id/runner",
@@ -121545,7 +121883,7 @@ var zeroRunRunnerContract = c25.router({
121545
121883
  summary: "Get runner-level metadata for a run"
121546
121884
  }
121547
121885
  });
121548
- var zeroLogsSearchContract = c25.router({
121886
+ var zeroLogsSearchContract = c27.router({
121549
121887
  searchLogs: {
121550
121888
  method: "GET",
121551
121889
  path: "/api/zero/logs/search",
@@ -121712,7 +122050,7 @@ init_esm_shims();
121712
122050
 
121713
122051
  // ../../packages/api-contracts/src/contracts/zero-developer-support.ts
121714
122052
  init_esm_shims();
121715
- var c26 = initContract();
122053
+ var c28 = initContract();
121716
122054
  var developerSupportBodySchema = external_exports.object({
121717
122055
  title: external_exports.string().min(1, "Title is required"),
121718
122056
  description: external_exports.string().min(1, "Description is required"),
@@ -121724,7 +122062,7 @@ var consentCodeResponseSchema = external_exports.object({
121724
122062
  var submitResponseSchema = external_exports.object({
121725
122063
  reference: external_exports.string()
121726
122064
  });
121727
- var zeroDeveloperSupportContract = c26.router({
122065
+ var zeroDeveloperSupportContract = c28.router({
121728
122066
  submit: {
121729
122067
  method: "POST",
121730
122068
  path: "/api/zero/developer-support",
@@ -121761,7 +122099,7 @@ init_esm_shims();
121761
122099
 
121762
122100
  // ../../packages/api-contracts/src/contracts/zero-computer-use.ts
121763
122101
  init_esm_shims();
121764
- var c27 = initContract();
122102
+ var c29 = initContract();
121765
122103
  var computerUseHostStatusSchema = external_exports.enum(["online", "offline"]);
121766
122104
  var computerUseReadCommandKindSchema = external_exports.enum([
121767
122105
  "apps.list",
@@ -122091,7 +122429,7 @@ var computerUseAuditEventSchema = external_exports.object({
122091
122429
  var computerUseAuditEventListResponseSchema = external_exports.object({
122092
122430
  auditEvents: external_exports.array(computerUseAuditEventSchema)
122093
122431
  });
122094
- var zeroComputerUseHostsContract = c27.router({
122432
+ var zeroComputerUseHostsContract = c29.router({
122095
122433
  start: {
122096
122434
  method: "POST",
122097
122435
  path: "/api/zero/computer-use/hosts/start",
@@ -122130,7 +122468,7 @@ var zeroComputerUseHostsContract = c27.router({
122130
122468
  summary: "Delete a desktop computer-use host"
122131
122469
  }
122132
122470
  });
122133
- var zeroComputerUseHeartbeatContract = c27.router({
122471
+ var zeroComputerUseHeartbeatContract = c29.router({
122134
122472
  heartbeat: {
122135
122473
  method: "POST",
122136
122474
  path: "/api/zero/computer-use/heartbeat",
@@ -122155,7 +122493,7 @@ var zeroComputerUseHeartbeatContract = c27.router({
122155
122493
  summary: "Stop a desktop computer-use host"
122156
122494
  }
122157
122495
  });
122158
- var zeroComputerUseCommandContract = c27.router({
122496
+ var zeroComputerUseCommandContract = c29.router({
122159
122497
  create: {
122160
122498
  method: "POST",
122161
122499
  path: "/api/zero/computer-use/commands",
@@ -122190,7 +122528,7 @@ var zeroComputerUseCommandContract = c27.router({
122190
122528
  headers: authHeadersSchema,
122191
122529
  pathParams: commandIdPathParamsSchema,
122192
122530
  responses: {
122193
- 200: c27.noBody(),
122531
+ 200: c29.noBody(),
122194
122532
  401: apiErrorSchema,
122195
122533
  403: apiErrorSchema,
122196
122534
  404: apiErrorSchema
@@ -122198,7 +122536,7 @@ var zeroComputerUseCommandContract = c27.router({
122198
122536
  summary: "Download a desktop computer-use command screenshot"
122199
122537
  }
122200
122538
  });
122201
- var zeroComputerUseWriteCommandContract = c27.router({
122539
+ var zeroComputerUseWriteCommandContract = c29.router({
122202
122540
  create: {
122203
122541
  method: "POST",
122204
122542
  path: "/api/zero/computer-use/write-commands",
@@ -122215,7 +122553,7 @@ var zeroComputerUseWriteCommandContract = c27.router({
122215
122553
  summary: "Create a desktop computer-use write command"
122216
122554
  }
122217
122555
  });
122218
- var zeroComputerUseHostCommandsContract = c27.router({
122556
+ var zeroComputerUseHostCommandsContract = c29.router({
122219
122557
  next: {
122220
122558
  method: "POST",
122221
122559
  path: "/api/zero/computer-use/host/commands/next",
@@ -122243,7 +122581,7 @@ var zeroComputerUseHostCommandsContract = c27.router({
122243
122581
  summary: "Complete a desktop computer-use command"
122244
122582
  }
122245
122583
  });
122246
- var zeroComputerUseAuditEventsContract = c27.router({
122584
+ var zeroComputerUseAuditEventsContract = c29.router({
122247
122585
  list: {
122248
122586
  method: "GET",
122249
122587
  path: "/api/zero/computer-use/audit-events",
@@ -122554,7 +122892,7 @@ init_esm_shims();
122554
122892
 
122555
122893
  // ../../packages/api-contracts/src/contracts/sessions.ts
122556
122894
  init_esm_shims();
122557
- var c28 = initContract();
122895
+ var c30 = initContract();
122558
122896
  var sessionResponseSchema = external_exports.object({
122559
122897
  id: external_exports.string(),
122560
122898
  agentComposeId: external_exports.string(),
@@ -122595,7 +122933,7 @@ var checkpointResponseSchema = external_exports.object({
122595
122933
  volumeVersionsSnapshot: volumeVersionsSnapshotSchema2.nullable(),
122596
122934
  createdAt: external_exports.string()
122597
122935
  });
122598
- var sessionsByIdContract = c28.router({
122936
+ var sessionsByIdContract = c30.router({
122599
122937
  /**
122600
122938
  * GET /api/agent/sessions/:id
122601
122939
  * Get session by ID
@@ -122616,7 +122954,7 @@ var sessionsByIdContract = c28.router({
122616
122954
  summary: "Get session by ID"
122617
122955
  }
122618
122956
  });
122619
- var checkpointsByIdContract = c28.router({
122957
+ var checkpointsByIdContract = c30.router({
122620
122958
  /**
122621
122959
  * GET /api/agent/checkpoints/:id
122622
122960
  * Get checkpoint by ID
@@ -122778,9 +123116,9 @@ init_esm_shims();
122778
123116
 
122779
123117
  // ../../packages/api-contracts/src/contracts/zero-model-providers.ts
122780
123118
  init_esm_shims();
122781
- var c29 = initContract();
123119
+ var c31 = initContract();
122782
123120
  var orgUpsertModelProviderRequestSchema = upsertModelProviderRequestSchema.omit({ selectedModel: true });
122783
- var zeroModelProvidersMainContract = c29.router({
123121
+ var zeroModelProvidersMainContract = c31.router({
122784
123122
  list: {
122785
123123
  method: "GET",
122786
123124
  path: "/api/zero/model-providers",
@@ -122809,7 +123147,7 @@ var zeroModelProvidersMainContract = c29.router({
122809
123147
  summary: "Create or update an org-level model provider (admin only)"
122810
123148
  }
122811
123149
  });
122812
- var zeroModelProvidersByTypeContract = c29.router({
123150
+ var zeroModelProvidersByTypeContract = c31.router({
122813
123151
  delete: {
122814
123152
  method: "DELETE",
122815
123153
  path: "/api/zero/model-providers/:type",
@@ -122818,7 +123156,7 @@ var zeroModelProvidersByTypeContract = c29.router({
122818
123156
  type: modelProviderTypeSchema
122819
123157
  }),
122820
123158
  responses: {
122821
- 204: c29.noBody(),
123159
+ 204: c31.noBody(),
122822
123160
  401: apiErrorSchema,
122823
123161
  403: apiErrorSchema,
122824
123162
  404: apiErrorSchema,
@@ -122864,7 +123202,7 @@ init_esm_shims();
122864
123202
 
122865
123203
  // ../../packages/api-contracts/src/contracts/zero-workflows.ts
122866
123204
  init_esm_shims();
122867
- var c30 = initContract();
123205
+ var c32 = initContract();
122868
123206
  var zeroWorkflowVisibilitySchema = external_exports.enum(["public", "private"]);
122869
123207
  var zeroWorkflowNameSchema = external_exports.string().min(2).max(64).regex(/^[a-z0-9][a-z0-9-]*[a-z0-9]$/);
122870
123208
  var RESERVED_SKILL_FILE = "SKILL.md";
@@ -123066,7 +123404,7 @@ var zeroWorkflowRunResponseSchema = external_exports.object({
123066
123404
  runId: external_exports.string()
123067
123405
  });
123068
123406
  var workflowIdParams = external_exports.object({ workflowId: external_exports.string().uuid() });
123069
- var zeroWorkflowsCollectionContract = c30.router({
123407
+ var zeroWorkflowsCollectionContract = c32.router({
123070
123408
  list: {
123071
123409
  method: "GET",
123072
123410
  path: "/api/zero/workflows",
@@ -123094,7 +123432,7 @@ var zeroWorkflowsCollectionContract = c30.router({
123094
123432
  summary: "Create a workflow under an agent"
123095
123433
  }
123096
123434
  });
123097
- var zeroWorkflowsDetailContract = c30.router({
123435
+ var zeroWorkflowsDetailContract = c32.router({
123098
123436
  get: {
123099
123437
  method: "GET",
123100
123438
  path: "/api/zero/workflows/:workflowId",
@@ -123128,9 +123466,9 @@ var zeroWorkflowsDetailContract = c30.router({
123128
123466
  path: "/api/zero/workflows/:workflowId",
123129
123467
  headers: authHeadersSchema,
123130
123468
  pathParams: workflowIdParams,
123131
- body: c30.noBody(),
123469
+ body: c32.noBody(),
123132
123470
  responses: {
123133
- 204: c30.noBody(),
123471
+ 204: c32.noBody(),
123134
123472
  401: apiErrorSchema,
123135
123473
  403: apiErrorSchema,
123136
123474
  404: apiErrorSchema
@@ -123157,7 +123495,7 @@ var zeroWorkflowsDetailContract = c30.router({
123157
123495
  path: "/api/zero/workflows/:workflowId/run",
123158
123496
  headers: authHeadersSchema,
123159
123497
  pathParams: workflowIdParams,
123160
- body: c30.noBody(),
123498
+ body: c32.noBody(),
123161
123499
  responses: {
123162
123500
  200: zeroWorkflowRunResponseSchema,
123163
123501
  401: apiErrorSchema,
@@ -123168,13 +123506,13 @@ var zeroWorkflowsDetailContract = c30.router({
123168
123506
  summary: "Run the workflow once in a new chat thread (equivalent to /slug)"
123169
123507
  }
123170
123508
  });
123171
- var zeroWorkflowVisibilityContract = c30.router({
123509
+ var zeroWorkflowVisibilityContract = c32.router({
123172
123510
  requestPublish: {
123173
123511
  method: "POST",
123174
123512
  path: "/api/zero/workflows/:workflowId/request-publish",
123175
123513
  headers: authHeadersSchema,
123176
123514
  pathParams: workflowIdParams,
123177
- body: c30.noBody(),
123515
+ body: c32.noBody(),
123178
123516
  responses: {
123179
123517
  200: zeroWorkflowSummarySchema,
123180
123518
  400: apiErrorSchema,
@@ -123189,7 +123527,7 @@ var zeroWorkflowVisibilityContract = c30.router({
123189
123527
  path: "/api/zero/workflows/:workflowId/cancel-publish-request",
123190
123528
  headers: authHeadersSchema,
123191
123529
  pathParams: workflowIdParams,
123192
- body: c30.noBody(),
123530
+ body: c32.noBody(),
123193
123531
  responses: {
123194
123532
  200: zeroWorkflowSummarySchema,
123195
123533
  400: apiErrorSchema,
@@ -123204,7 +123542,7 @@ var zeroWorkflowVisibilityContract = c30.router({
123204
123542
  path: "/api/zero/workflows/:workflowId/approve-publish",
123205
123543
  headers: authHeadersSchema,
123206
123544
  pathParams: workflowIdParams,
123207
- body: c30.noBody(),
123545
+ body: c32.noBody(),
123208
123546
  responses: {
123209
123547
  200: zeroWorkflowSummarySchema,
123210
123548
  400: apiErrorSchema,
@@ -123219,7 +123557,7 @@ var zeroWorkflowVisibilityContract = c30.router({
123219
123557
  path: "/api/zero/workflows/:workflowId/reject-publish",
123220
123558
  headers: authHeadersSchema,
123221
123559
  pathParams: workflowIdParams,
123222
- body: c30.noBody(),
123560
+ body: c32.noBody(),
123223
123561
  responses: {
123224
123562
  200: zeroWorkflowSummarySchema,
123225
123563
  400: apiErrorSchema,
@@ -123234,7 +123572,7 @@ var zeroWorkflowVisibilityContract = c30.router({
123234
123572
  path: "/api/zero/workflows/:workflowId/demote",
123235
123573
  headers: authHeadersSchema,
123236
123574
  pathParams: workflowIdParams,
123237
- body: c30.noBody(),
123575
+ body: c32.noBody(),
123238
123576
  responses: {
123239
123577
  200: zeroWorkflowSummarySchema,
123240
123578
  400: apiErrorSchema,
@@ -123246,7 +123584,7 @@ var zeroWorkflowVisibilityContract = c30.router({
123246
123584
  }
123247
123585
  });
123248
123586
  var triggerIdParams = external_exports.object({ id: external_exports.string().uuid() });
123249
- var zeroWorkflowTriggersContract = c30.router({
123587
+ var zeroWorkflowTriggersContract = c32.router({
123250
123588
  list: {
123251
123589
  method: "GET",
123252
123590
  path: "/api/zero/workflows/:workflowId/triggers",
@@ -123310,9 +123648,9 @@ var zeroWorkflowTriggersContract = c30.router({
123310
123648
  path: "/api/zero/workflow-triggers/:id",
123311
123649
  headers: authHeadersSchema,
123312
123650
  pathParams: triggerIdParams,
123313
- body: c30.noBody(),
123651
+ body: c32.noBody(),
123314
123652
  responses: {
123315
- 204: c30.noBody(),
123653
+ 204: c32.noBody(),
123316
123654
  401: apiErrorSchema,
123317
123655
  403: apiErrorSchema,
123318
123656
  404: apiErrorSchema
@@ -123324,7 +123662,7 @@ var zeroWorkflowTriggersContract = c30.router({
123324
123662
  path: "/api/zero/workflow-triggers/:id/enable",
123325
123663
  headers: authHeadersSchema,
123326
123664
  pathParams: triggerIdParams,
123327
- body: c30.noBody(),
123665
+ body: c32.noBody(),
123328
123666
  responses: {
123329
123667
  200: zeroWorkflowTriggerSummarySchema,
123330
123668
  401: apiErrorSchema,
@@ -123339,7 +123677,7 @@ var zeroWorkflowTriggersContract = c30.router({
123339
123677
  path: "/api/zero/workflow-triggers/:id/disable",
123340
123678
  headers: authHeadersSchema,
123341
123679
  pathParams: triggerIdParams,
123342
- body: c30.noBody(),
123680
+ body: c32.noBody(),
123343
123681
  responses: {
123344
123682
  200: zeroWorkflowTriggerSummarySchema,
123345
123683
  401: apiErrorSchema,
@@ -123353,7 +123691,7 @@ var zeroWorkflowTriggersContract = c30.router({
123353
123691
  path: "/api/zero/workflow-triggers/:id/run",
123354
123692
  headers: authHeadersSchema,
123355
123693
  pathParams: triggerIdParams,
123356
- body: c30.noBody(),
123694
+ body: c32.noBody(),
123357
123695
  responses: {
123358
123696
  200: external_exports.object({ runId: external_exports.string() }),
123359
123697
  401: apiErrorSchema,
@@ -123483,7 +123821,7 @@ import { pipeline } from "stream/promises";
123483
123821
 
123484
123822
  // ../../packages/api-contracts/src/contracts/integrations.ts
123485
123823
  init_esm_shims();
123486
- var c31 = initContract();
123824
+ var c33 = initContract();
123487
123825
  var sendSlackMessageBodySchema = external_exports.object({
123488
123826
  channel: external_exports.string().min(1, "Channel ID is required").optional(),
123489
123827
  user: external_exports.string().min(1, "User ID is required").optional(),
@@ -123501,7 +123839,7 @@ var sendSlackMessageResponseSchema = external_exports.object({
123501
123839
  ts: external_exports.string().optional(),
123502
123840
  channel: external_exports.string().optional()
123503
123841
  });
123504
- var integrationsSlackMessageContract = c31.router({
123842
+ var integrationsSlackMessageContract = c33.router({
123505
123843
  sendMessage: {
123506
123844
  method: "POST",
123507
123845
  path: "/api/zero/integrations/slack/message",
@@ -123529,7 +123867,7 @@ var sendTelegramMessageResponseSchema = external_exports.object({
123529
123867
  messageId: external_exports.number().int(),
123530
123868
  chatId: external_exports.string()
123531
123869
  });
123532
- var integrationsTelegramMessageContract = c31.router({
123870
+ var integrationsTelegramMessageContract = c33.router({
123533
123871
  sendMessage: {
123534
123872
  method: "POST",
123535
123873
  path: "/api/zero/integrations/telegram/message",
@@ -123557,7 +123895,7 @@ var sendPhoneMessageResponseSchema = external_exports.object({
123557
123895
  channel: external_exports.string().nullable(),
123558
123896
  toNumber: external_exports.string()
123559
123897
  });
123560
- var integrationsPhoneMessageContract = c31.router({
123898
+ var integrationsPhoneMessageContract = c33.router({
123561
123899
  sendMessage: {
123562
123900
  method: "POST",
123563
123901
  path: "/api/zero/integrations/phone/message",
@@ -123577,14 +123915,14 @@ var integrationsPhoneMessageContract = c31.router({
123577
123915
  var phoneDownloadFileQuerySchema = external_exports.object({
123578
123916
  file_id: external_exports.string().min(1, "file_id query parameter is required")
123579
123917
  });
123580
- var integrationsPhoneDownloadFileContract = c31.router({
123918
+ var integrationsPhoneDownloadFileContract = c33.router({
123581
123919
  download: {
123582
123920
  method: "GET",
123583
123921
  path: "/api/zero/integrations/phone/download-file",
123584
123922
  headers: authHeadersSchema,
123585
123923
  query: phoneDownloadFileQuerySchema,
123586
123924
  responses: {
123587
- 200: c31.type(),
123925
+ 200: c33.type(),
123588
123926
  400: apiErrorSchema,
123589
123927
  401: apiErrorSchema,
123590
123928
  403: apiErrorSchema,
@@ -123619,7 +123957,7 @@ var telegramBotListItemSchema = external_exports.object({
123619
123957
  var listTelegramBotsResponseSchema = external_exports.object({
123620
123958
  bots: external_exports.array(telegramBotListItemSchema)
123621
123959
  });
123622
- var integrationsTelegramBotListContract = c31.router({
123960
+ var integrationsTelegramBotListContract = c33.router({
123623
123961
  listBots: {
123624
123962
  method: "GET",
123625
123963
  path: "/api/zero/integrations/telegram/bots",
@@ -123640,7 +123978,7 @@ var slackUploadInitResponseSchema = external_exports.object({
123640
123978
  uploadUrl: external_exports.string(),
123641
123979
  fileId: external_exports.string()
123642
123980
  });
123643
- var integrationsSlackUploadInitContract = c31.router({
123981
+ var integrationsSlackUploadInitContract = c33.router({
123644
123982
  init: {
123645
123983
  method: "POST",
123646
123984
  path: "/api/zero/integrations/slack/upload-file/init",
@@ -123669,7 +124007,7 @@ var telegramUploadInitResponseSchema = external_exports.object({
123669
124007
  contentType: external_exports.string(),
123670
124008
  size: external_exports.number().int().nonnegative()
123671
124009
  });
123672
- var integrationsTelegramUploadInitContract = c31.router({
124010
+ var integrationsTelegramUploadInitContract = c33.router({
123673
124011
  init: {
123674
124012
  method: "POST",
123675
124013
  path: "/api/zero/integrations/telegram/upload-file/init",
@@ -123701,7 +124039,7 @@ var telegramUploadCompleteResponseSchema = external_exports.object({
123701
124039
  size: external_exports.number().int().nonnegative(),
123702
124040
  url: external_exports.string()
123703
124041
  });
123704
- var integrationsTelegramUploadCompleteContract = c31.router({
124042
+ var integrationsTelegramUploadCompleteContract = c33.router({
123705
124043
  complete: {
123706
124044
  method: "POST",
123707
124045
  path: "/api/zero/integrations/telegram/upload-file/complete",
@@ -123731,7 +124069,7 @@ var githubUploadInitResponseSchema = external_exports.object({
123731
124069
  contentType: external_exports.string(),
123732
124070
  size: external_exports.number().int().nonnegative()
123733
124071
  });
123734
- var integrationsGithubUploadInitContract = c31.router({
124072
+ var integrationsGithubUploadInitContract = c33.router({
123735
124073
  init: {
123736
124074
  method: "POST",
123737
124075
  path: "/api/zero/integrations/github/upload-file/init",
@@ -123762,7 +124100,7 @@ var githubUploadCompleteResponseSchema = external_exports.object({
123762
124100
  size: external_exports.number().int().nonnegative(),
123763
124101
  url: external_exports.string()
123764
124102
  });
123765
- var integrationsGithubUploadCompleteContract = c31.router({
124103
+ var integrationsGithubUploadCompleteContract = c33.router({
123766
124104
  complete: {
123767
124105
  method: "POST",
123768
124106
  path: "/api/zero/integrations/github/upload-file/complete",
@@ -123793,7 +124131,7 @@ var phoneUploadInitResponseSchema = external_exports.object({
123793
124131
  contentType: external_exports.string(),
123794
124132
  size: external_exports.number().int().nonnegative()
123795
124133
  });
123796
- var integrationsPhoneUploadInitContract = c31.router({
124134
+ var integrationsPhoneUploadInitContract = c33.router({
123797
124135
  init: {
123798
124136
  method: "POST",
123799
124137
  path: "/api/zero/integrations/phone/upload-file/init",
@@ -123824,7 +124162,7 @@ var phoneUploadCompleteResponseSchema = external_exports.object({
123824
124162
  size: external_exports.number().int().nonnegative(),
123825
124163
  url: external_exports.string()
123826
124164
  });
123827
- var integrationsPhoneUploadCompleteContract = c31.router({
124165
+ var integrationsPhoneUploadCompleteContract = c33.router({
123828
124166
  complete: {
123829
124167
  method: "POST",
123830
124168
  path: "/api/zero/integrations/phone/upload-file/complete",
@@ -123852,7 +124190,7 @@ var slackUploadCompleteResponseSchema = external_exports.object({
123852
124190
  fileId: external_exports.string(),
123853
124191
  permalink: external_exports.string()
123854
124192
  });
123855
- var integrationsSlackUploadCompleteContract = c31.router({
124193
+ var integrationsSlackUploadCompleteContract = c33.router({
123856
124194
  complete: {
123857
124195
  method: "POST",
123858
124196
  path: "/api/zero/integrations/slack/upload-file/complete",
@@ -124035,7 +124373,7 @@ import { pipeline as pipeline3 } from "stream/promises";
124035
124373
 
124036
124374
  // ../../packages/api-contracts/src/contracts/integrations-github.ts
124037
124375
  init_esm_shims();
124038
- var c32 = initContract();
124376
+ var c34 = initContract();
124039
124377
  var githubInstallationEnvironmentSchema = external_exports.object({
124040
124378
  requiredSecrets: external_exports.array(external_exports.string()),
124041
124379
  requiredVars: external_exports.array(external_exports.string()),
@@ -124123,7 +124461,7 @@ var createGithubLabelListenerResponseSchema = external_exports.object({
124123
124461
  var updateGithubLabelListenerResponseSchema = external_exports.object({
124124
124462
  listener: githubLabelListenerSchema
124125
124463
  });
124126
- var integrationsGithubContract = c32.router({
124464
+ var integrationsGithubContract = c34.router({
124127
124465
  getInstallation: {
124128
124466
  method: "GET",
124129
124467
  path: "/api/integrations/github",
@@ -124157,7 +124495,7 @@ var integrationsGithubContract = c32.router({
124157
124495
  method: "DELETE",
124158
124496
  path: "/api/integrations/github/link",
124159
124497
  headers: authHeadersSchema,
124160
- body: c32.noBody(),
124498
+ body: c34.noBody(),
124161
124499
  responses: {
124162
124500
  200: githubIntegrationActionResponseSchema,
124163
124501
  401: apiErrorSchema,
@@ -124170,7 +124508,7 @@ var integrationsGithubContract = c32.router({
124170
124508
  method: "DELETE",
124171
124509
  path: "/api/integrations/github",
124172
124510
  headers: authHeadersSchema,
124173
- body: c32.noBody(),
124511
+ body: c34.noBody(),
124174
124512
  responses: {
124175
124513
  200: deleteGithubInstallationResponseSchema,
124176
124514
  401: apiErrorSchema,
@@ -124233,7 +124571,7 @@ var integrationsGithubContract = c32.router({
124233
124571
  path: "/api/integrations/github/label-listeners/:listenerId",
124234
124572
  pathParams: external_exports.object({ listenerId: external_exports.string().uuid() }),
124235
124573
  headers: authHeadersSchema,
124236
- body: c32.noBody(),
124574
+ body: c34.noBody(),
124237
124575
  responses: {
124238
124576
  200: githubIntegrationActionResponseSchema,
124239
124577
  401: apiErrorSchema,
@@ -124435,7 +124773,7 @@ init_esm_shims();
124435
124773
 
124436
124774
  // ../../packages/api-contracts/src/contracts/automations.ts
124437
124775
  init_esm_shims();
124438
- var c33 = initContract();
124776
+ var c35 = initContract();
124439
124777
  var triggerBaseShape = {
124440
124778
  id: external_exports.string().uuid(),
124441
124779
  automationId: external_exports.string().uuid(),
@@ -124547,8 +124885,7 @@ var createAutomationRequestSchema = external_exports.object({
124547
124885
  // automation to an existing owned chat thread; when omitted, the server
124548
124886
  // creates a web chat thread and links it.
124549
124887
  chatThreadId: external_exports.string().uuid("Invalid chat thread ID").optional(),
124550
- // Create-with-first-trigger sugar; a triggerless automation is allowed.
124551
- trigger: createTriggerRequestSchema.optional()
124888
+ trigger: createTriggerRequestSchema
124552
124889
  });
124553
124890
  var updateAutomationRequestSchema = external_exports.object({
124554
124891
  name: external_exports.string().min(1).max(64).optional(),
@@ -124572,7 +124909,7 @@ var refParamsSchema = external_exports.object({
124572
124909
  var triggerIdParamsSchema = external_exports.object({
124573
124910
  id: external_exports.string().uuid("Invalid trigger ID")
124574
124911
  });
124575
- var automationsMainContract = c33.router({
124912
+ var automationsMainContract = c35.router({
124576
124913
  create: {
124577
124914
  method: "POST",
124578
124915
  path: "/api/automations",
@@ -124585,7 +124922,7 @@ var automationsMainContract = c33.router({
124585
124922
  403: apiErrorSchema,
124586
124923
  404: apiErrorSchema
124587
124924
  },
124588
- summary: "Create an automation (optionally with its first trigger)"
124925
+ summary: "Create an automation with its schedule trigger"
124589
124926
  },
124590
124927
  list: {
124591
124928
  method: "GET",
@@ -124608,7 +124945,7 @@ var automationsMainContract = c33.router({
124608
124945
  pathParams: triggerIdParamsSchema,
124609
124946
  body: external_exports.object({ enabled: external_exports.boolean() }),
124610
124947
  responses: {
124611
- 204: c33.noBody(),
124948
+ 204: c35.noBody(),
124612
124949
  400: apiErrorSchema,
124613
124950
  401: apiErrorSchema,
124614
124951
  403: apiErrorSchema,
@@ -124617,7 +124954,7 @@ var automationsMainContract = c33.router({
124617
124954
  summary: "Enable or disable a thread-bound workflow/goal trigger"
124618
124955
  }
124619
124956
  });
124620
- var automationsByRefContract = c33.router({
124957
+ var automationsByRefContract = c35.router({
124621
124958
  show: {
124622
124959
  method: "GET",
124623
124960
  path: "/api/automations/:ref",
@@ -124653,7 +124990,7 @@ var automationsByRefContract = c33.router({
124653
124990
  headers: authHeadersSchema,
124654
124991
  pathParams: refParamsSchema,
124655
124992
  responses: {
124656
- 204: c33.noBody(),
124993
+ 204: c35.noBody(),
124657
124994
  400: apiErrorSchema,
124658
124995
  401: apiErrorSchema,
124659
124996
  403: apiErrorSchema,
@@ -124674,7 +125011,7 @@ var automationsByRefContract = c33.router({
124674
125011
  403: apiErrorSchema,
124675
125012
  404: apiErrorSchema
124676
125013
  },
124677
- summary: "Enable an automation (all triggers resume)"
125014
+ summary: "Enable an automation"
124678
125015
  },
124679
125016
  disable: {
124680
125017
  method: "POST",
@@ -124689,7 +125026,7 @@ var automationsByRefContract = c33.router({
124689
125026
  403: apiErrorSchema,
124690
125027
  404: apiErrorSchema
124691
125028
  },
124692
- summary: "Disable an automation (suspends all triggers)"
125029
+ summary: "Disable an automation"
124693
125030
  },
124694
125031
  run: {
124695
125032
  method: "POST",
@@ -124709,40 +125046,9 @@ var automationsByRefContract = c33.router({
124709
125046
  503: apiErrorSchema
124710
125047
  },
124711
125048
  summary: "Manually fire an automation (instruction-only, no event)"
124712
- },
124713
- addTrigger: {
124714
- method: "POST",
124715
- path: "/api/automations/:ref/triggers",
124716
- headers: authHeadersSchema,
124717
- pathParams: refParamsSchema,
124718
- body: createTriggerRequestSchema,
124719
- responses: {
124720
- 201: triggerMutationResponseSchema,
124721
- 400: apiErrorSchema,
124722
- 401: apiErrorSchema,
124723
- 403: apiErrorSchema,
124724
- 404: apiErrorSchema
124725
- },
124726
- summary: "Add a trigger to an automation"
124727
- },
124728
- listTriggers: {
124729
- method: "GET",
124730
- path: "/api/automations/:ref/triggers",
124731
- headers: authHeadersSchema,
124732
- pathParams: refParamsSchema,
124733
- responses: {
124734
- 200: external_exports.object({
124735
- triggers: external_exports.array(automationTriggerResponseSchema)
124736
- }),
124737
- 400: apiErrorSchema,
124738
- 401: apiErrorSchema,
124739
- 403: apiErrorSchema,
124740
- 404: apiErrorSchema
124741
- },
124742
- summary: "List an automation's triggers"
124743
125049
  }
124744
125050
  });
124745
- var automationTriggersContract = c33.router({
125051
+ var automationTriggersContract = c35.router({
124746
125052
  show: {
124747
125053
  method: "GET",
124748
125054
  path: "/api/automation-triggers/:id",
@@ -124771,19 +125077,6 @@ var automationTriggersContract = c33.router({
124771
125077
  },
124772
125078
  summary: "Replace a time trigger's schedule config (kind may switch among cron/once/loop)"
124773
125079
  },
124774
- remove: {
124775
- method: "DELETE",
124776
- path: "/api/automation-triggers/:id",
124777
- headers: authHeadersSchema,
124778
- pathParams: triggerIdParamsSchema,
124779
- responses: {
124780
- 204: c33.noBody(),
124781
- 401: apiErrorSchema,
124782
- 403: apiErrorSchema,
124783
- 404: apiErrorSchema
124784
- },
124785
- summary: "Remove a trigger"
124786
- },
124787
125080
  enable: {
124788
125081
  method: "POST",
124789
125082
  path: "/api/automation-triggers/:id/enable",
@@ -124888,33 +125181,6 @@ async function runAutomation(ref) {
124888
125181
  }
124889
125182
  handleError(result, `Failed to run automation "${ref}"`);
124890
125183
  }
124891
- async function addAutomationTrigger(ref, body) {
124892
- const config4 = await getClientConfig();
124893
- const client = initClient(automationsByRefContract, config4);
124894
- const result = await client.addTrigger({ params: { ref }, body });
124895
- if (result.status === 201) {
124896
- return result.body;
124897
- }
124898
- handleError(result, `Failed to add trigger to automation "${ref}"`);
124899
- }
124900
- async function listAutomationTriggers(ref) {
124901
- const config4 = await getClientConfig();
124902
- const client = initClient(automationsByRefContract, config4);
124903
- const result = await client.listTriggers({ params: { ref } });
124904
- if (result.status === 200) {
124905
- return result.body;
124906
- }
124907
- handleError(result, `Failed to list triggers of automation "${ref}"`);
124908
- }
124909
- async function showAutomationTrigger(id) {
124910
- const config4 = await getClientConfig();
124911
- const client = initClient(automationTriggersContract, config4);
124912
- const result = await client.show({ params: { id } });
124913
- if (result.status === 200) {
124914
- return result.body;
124915
- }
124916
- handleError(result, `Trigger not found: ${id}`);
124917
- }
124918
125184
  async function updateAutomationTrigger(id, body) {
124919
125185
  const config4 = await getClientConfig();
124920
125186
  const client = initClient(automationTriggersContract, config4);
@@ -124924,33 +125190,6 @@ async function updateAutomationTrigger(id, body) {
124924
125190
  }
124925
125191
  handleError(result, `Failed to update trigger ${id}`);
124926
125192
  }
124927
- async function removeAutomationTrigger(id) {
124928
- const config4 = await getClientConfig();
124929
- const client = initClient(automationTriggersContract, config4);
124930
- const result = await client.remove({ params: { id } });
124931
- if (result.status === 204) {
124932
- return;
124933
- }
124934
- handleError(result, `Failed to remove trigger ${id}`);
124935
- }
124936
- async function enableAutomationTrigger(id) {
124937
- const config4 = await getClientConfig();
124938
- const client = initClient(automationTriggersContract, config4);
124939
- const result = await client.enable({ params: { id }, body: {} });
124940
- if (result.status === 200) {
124941
- return result.body;
124942
- }
124943
- handleError(result, `Failed to enable trigger ${id}`);
124944
- }
124945
- async function disableAutomationTrigger(id) {
124946
- const config4 = await getClientConfig();
124947
- const client = initClient(automationTriggersContract, config4);
124948
- const result = await client.disable({ params: { id }, body: {} });
124949
- if (result.status === 200) {
124950
- return result.body;
124951
- }
124952
- handleError(result, `Failed to disable trigger ${id}`);
124953
- }
124954
125193
 
124955
125194
  // src/lib/api/domains/zero-logs.ts
124956
125195
  init_esm_shims();
@@ -161700,6 +161939,239 @@ init_esm_shims();
161700
161939
 
161701
161940
  // ../../packages/core/src/presentation-template-items.ts
161702
161941
  init_esm_shims();
161942
+ var PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES = {
161943
+ "playful-launch-presentation": {
161944
+ prism: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/3fdd4c9f-a935-494b-9536-c897951928e4/template-card-presentation-playful-launch-presentation-prism-card-viewport-480x270.jpg",
161945
+ carnival: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/23c9aaea-459a-4cbb-a32d-cc2d56104479/template-card-presentation-playful-launch-presentation-carnival-card-viewport-480x270.jpg",
161946
+ "pop-art": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/b18715c6-cb7c-4b18-8592-95d85e952be9/template-card-presentation-playful-launch-presentation-pop-art-card-viewport-480x270.jpg",
161947
+ "warm-sand": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/4cdf7311-1a9b-42ce-a636-d760e2e1371c/template-card-presentation-playful-launch-presentation-warm-sand-card-viewport-480x270.jpg",
161948
+ "bauhaus-primary": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/6340797e-1c29-48ba-85ed-1206c2261c01/template-card-presentation-playful-launch-presentation-bauhaus-primary-card-viewport-480x270.jpg",
161949
+ "nordic-frost": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/ee42f55e-cd52-4eb3-8def-98c67b5345f2/template-card-presentation-playful-launch-presentation-nordic-frost-card-viewport-480x270.jpg",
161950
+ "forest-editorial": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/7c6035d7-0bc2-4a2e-9b1d-b1281901c4d2/template-card-presentation-playful-launch-presentation-forest-editorial-card-viewport-480x270.jpg",
161951
+ "coral-studio": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/0b0c614d-9935-4da2-b77d-f2f6731143fc/template-card-presentation-playful-launch-presentation-coral-studio-card-viewport-480x270.jpg",
161952
+ "slate-corporate": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/c9e3e1c1-9cd5-453a-bc17-d95bb863277e/template-card-presentation-playful-launch-presentation-slate-corporate-card-viewport-480x270.jpg",
161953
+ "terracotta-clay": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/af9fdc64-337e-448a-9777-875e6b014ef6/template-card-presentation-playful-launch-presentation-terracotta-clay-card-viewport-480x270.jpg",
161954
+ "berry-pop": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/2c2c7382-39ff-4894-b08f-1d4a4c57a1b1/template-card-presentation-playful-launch-presentation-berry-pop-card-viewport-480x270.jpg",
161955
+ "citrus-fresh": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/349a62cf-e185-4ee8-ae97-4e7bee04d6e1/template-card-presentation-playful-launch-presentation-citrus-fresh-card-viewport-480x270.jpg",
161956
+ "mauve-dusk": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/90f44e0a-f4e0-4a67-b11f-229c543d3496/template-card-presentation-playful-launch-presentation-mauve-dusk-card-viewport-480x270.jpg",
161957
+ "mono-ink": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/126fa883-1d1d-4ee1-8b2b-8bdd9ef3d192/template-card-presentation-playful-launch-presentation-mono-ink-card-viewport-480x270.jpg",
161958
+ "sunset-maroon": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/41044d22-7e19-465f-a299-c61038c5af32/template-card-presentation-playful-launch-presentation-sunset-maroon-card-viewport-480x270.jpg",
161959
+ "mint-tech": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/aeaf37fa-8046-49d6-96f7-14791c73f8a6/template-card-presentation-playful-launch-presentation-mint-tech-card-viewport-480x270.jpg",
161960
+ "midnight-mono": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/9432a0c8-5767-4b44-ba80-c27385648823/template-card-presentation-playful-launch-presentation-midnight-mono-card-viewport-480x270.jpg",
161961
+ "ocean-deep": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/0b690c81-7cc1-4123-9229-3d2ea2ae1d78/template-card-presentation-playful-launch-presentation-ocean-deep-card-viewport-480x270.jpg",
161962
+ "gold-luxe": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/22af50ce-d3ac-4f01-9270-8f696441ddb9/template-card-presentation-playful-launch-presentation-gold-luxe-card-viewport-480x270.jpg"
161963
+ },
161964
+ "botane-organic-deck": {
161965
+ prism: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/22b39b00-a587-492b-8ee9-6de38d6b52c9/template-card-presentation-botane-organic-deck-prism-480x270.jpg",
161966
+ carnival: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/9d67357a-5cf9-4908-b9a1-c593660b3069/template-card-presentation-botane-organic-deck-carnival-480x270.jpg",
161967
+ "pop-art": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/6be84b44-e42a-4aa7-88ea-3f07d9b9ae44/template-card-presentation-botane-organic-deck-pop-art-480x270.jpg",
161968
+ "warm-sand": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/88c3fd59-e5d6-47ef-b2fd-7dbbec97dafc/template-card-presentation-botane-organic-deck-warm-sand-480x270.jpg",
161969
+ "bauhaus-primary": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/0ea58157-a4b6-43ac-bd42-9ade3c116df6/template-card-presentation-botane-organic-deck-bauhaus-primary-480x270.jpg",
161970
+ "nordic-frost": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/aa13a247-9fca-43fd-8722-9c0b0e9903d3/template-card-presentation-botane-organic-deck-nordic-frost-480x270.jpg",
161971
+ "forest-editorial": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/1d47bc73-1d8d-4564-b5b2-9d9d4397add7/template-card-presentation-botane-organic-deck-forest-editorial-480x270.jpg",
161972
+ "coral-studio": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/af44680b-3dd6-48f4-a731-20a3cc68d7a8/template-card-presentation-botane-organic-deck-coral-studio-480x270.jpg",
161973
+ "slate-corporate": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/7dad7d60-be7b-43f6-82e6-fe134d14632b/template-card-presentation-botane-organic-deck-slate-corporate-480x270.jpg",
161974
+ "terracotta-clay": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/27c9c014-5bb8-4b84-b877-b6eb695a513e/template-card-presentation-botane-organic-deck-terracotta-clay-480x270.jpg",
161975
+ "berry-pop": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/7f438407-226a-4c60-ade2-cc15cdfb6d56/template-card-presentation-botane-organic-deck-berry-pop-480x270.jpg",
161976
+ "citrus-fresh": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/66393b8b-3858-43fe-8d7e-1fc937a21e18/template-card-presentation-botane-organic-deck-citrus-fresh-480x270.jpg",
161977
+ "mauve-dusk": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/1c323733-847f-4075-9e8d-db8049567429/template-card-presentation-botane-organic-deck-mauve-dusk-480x270.jpg",
161978
+ "mono-ink": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/e72b4f99-6310-40aa-b063-5b78a1d16f0c/template-card-presentation-botane-organic-deck-mono-ink-480x270.jpg",
161979
+ "sunset-maroon": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/7d4a32e4-2536-40c9-a398-fc4be26422ed/template-card-presentation-botane-organic-deck-sunset-maroon-480x270.jpg",
161980
+ "mint-tech": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/c487c671-1a72-4021-a77a-dcf07c448398/template-card-presentation-botane-organic-deck-mint-tech-480x270.jpg",
161981
+ "midnight-mono": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/8b209d47-5c67-4b57-86a8-221f7cbc066d/template-card-presentation-botane-organic-deck-midnight-mono-480x270.jpg",
161982
+ "ocean-deep": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/c893c560-816c-43cf-9614-2afed6bcc61b/template-card-presentation-botane-organic-deck-ocean-deep-480x270.jpg",
161983
+ "gold-luxe": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/53c17a02-b1d7-4d8f-9889-405d6a25c569/template-card-presentation-botane-organic-deck-gold-luxe-480x270.jpg"
161984
+ },
161985
+ "business-data-presentation": {
161986
+ prism: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/a76f2e07-7dda-49d5-b564-042f4d148a85/template-card-presentation-business-data-presentation-prism-480x270.jpg",
161987
+ carnival: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/28ac093f-beb7-46b1-ae39-6c4c48516ad1/template-card-presentation-business-data-presentation-carnival-480x270.jpg",
161988
+ "pop-art": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/faf5cca5-e04d-4112-b332-9201ffb3862f/template-card-presentation-business-data-presentation-pop-art-480x270.jpg",
161989
+ "warm-sand": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/636e3241-2612-476c-86c2-3db48a54bfba/template-card-presentation-business-data-presentation-warm-sand-480x270.jpg",
161990
+ "bauhaus-primary": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/8c3464a6-a12f-4a5d-b5ba-d046f365dd5d/template-card-presentation-business-data-presentation-bauhaus-primary-480x270.jpg",
161991
+ "nordic-frost": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/8e171c40-3981-437f-ace5-442a635bf7cd/template-card-presentation-business-data-presentation-nordic-frost-480x270.jpg",
161992
+ "forest-editorial": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/0a4b0a9b-4f72-4ba9-82fb-740d812679b6/template-card-presentation-business-data-presentation-forest-editorial-480x270.jpg",
161993
+ "coral-studio": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/08a0e1d4-6fb4-46dc-91d8-47fa3c321c48/template-card-presentation-business-data-presentation-coral-studio-480x270.jpg",
161994
+ "slate-corporate": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/5d7b4731-e7b3-4e90-a00f-054268537ea1/template-card-presentation-business-data-presentation-slate-corporate-480x270.jpg",
161995
+ "terracotta-clay": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/3f46ada8-a8bf-4151-8b5d-1eb6c556c496/template-card-presentation-business-data-presentation-terracotta-clay-480x270.jpg",
161996
+ "berry-pop": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/15719762-1f45-4a3c-a994-a1f845ce2b32/template-card-presentation-business-data-presentation-berry-pop-480x270.jpg",
161997
+ "citrus-fresh": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/92858b3d-806e-4054-9bad-30306700e36f/template-card-presentation-business-data-presentation-citrus-fresh-480x270.jpg",
161998
+ "mauve-dusk": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/3223ef51-66a4-4944-9ae7-eba2a19c6a86/template-card-presentation-business-data-presentation-mauve-dusk-480x270.jpg",
161999
+ "mono-ink": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/87f81cd6-4be9-4d9e-895a-b41388b65fc3/template-card-presentation-business-data-presentation-mono-ink-480x270.jpg",
162000
+ "sunset-maroon": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/0510c1cd-39e8-4d5e-a704-2960b54ac57e/template-card-presentation-business-data-presentation-sunset-maroon-480x270.jpg",
162001
+ "mint-tech": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/af5183df-fe5e-4abf-9e0c-be4beb5e39db/template-card-presentation-business-data-presentation-mint-tech-480x270.jpg",
162002
+ "midnight-mono": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/b8d05f51-46bf-4246-8cbe-dee0dbd0ddf0/template-card-presentation-business-data-presentation-midnight-mono-480x270.jpg",
162003
+ "ocean-deep": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/1e4c9873-c4a0-45a8-aaa9-6173aa2752b0/template-card-presentation-business-data-presentation-ocean-deep-480x270.jpg",
162004
+ "gold-luxe": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/8c354fb3-3181-4313-9ffd-900db05c9546/template-card-presentation-business-data-presentation-gold-luxe-480x270.jpg"
162005
+ },
162006
+ "crayon-learning-deck": {
162007
+ prism: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/5ad2a10b-e1b2-4068-b295-6f6ea980b10d/template-card-presentation-crayon-learning-deck-prism-480x270.jpg",
162008
+ carnival: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/f3d6fbeb-40c5-4d1a-927e-7351589d75ae/template-card-presentation-crayon-learning-deck-carnival-480x270.jpg",
162009
+ "pop-art": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/45cc2914-953a-4696-9bcb-4a906f60206c/template-card-presentation-crayon-learning-deck-pop-art-480x270.jpg",
162010
+ "warm-sand": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/9f0395ef-644d-4d2d-9629-8bca7925ef23/template-card-presentation-crayon-learning-deck-warm-sand-480x270.jpg",
162011
+ "bauhaus-primary": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/57e2967d-04ba-4803-9929-3e3b79dcea77/template-card-presentation-crayon-learning-deck-bauhaus-primary-480x270.jpg",
162012
+ "nordic-frost": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/6f819453-92ab-4f62-8d24-10bbe07d3dd1/template-card-presentation-crayon-learning-deck-nordic-frost-480x270.jpg",
162013
+ "forest-editorial": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/ec7efcc4-a75a-4d10-9394-fa1e0eb5f0af/template-card-presentation-crayon-learning-deck-forest-editorial-480x270.jpg",
162014
+ "coral-studio": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/75836030-9d44-49fa-bdd5-376a9f1cded0/template-card-presentation-crayon-learning-deck-coral-studio-480x270.jpg",
162015
+ "slate-corporate": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/fa26e6dc-a24c-47e5-bd74-93c29fc57b02/template-card-presentation-crayon-learning-deck-slate-corporate-480x270.jpg",
162016
+ "terracotta-clay": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/47a76803-bdd3-4494-aa66-555aadbdeb7a/template-card-presentation-crayon-learning-deck-terracotta-clay-480x270.jpg",
162017
+ "berry-pop": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/19a13f79-1ac0-4626-8414-62a72782f98d/template-card-presentation-crayon-learning-deck-berry-pop-480x270.jpg",
162018
+ "citrus-fresh": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/5bdd32ad-1742-4297-ae0c-1983dcc86adf/template-card-presentation-crayon-learning-deck-citrus-fresh-480x270.jpg",
162019
+ "mauve-dusk": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/783c3fe0-84db-43aa-bf88-9f08c6111d85/template-card-presentation-crayon-learning-deck-mauve-dusk-480x270.jpg",
162020
+ "mono-ink": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/85aea6f3-8263-489e-a3b4-08787eb87dae/template-card-presentation-crayon-learning-deck-mono-ink-480x270.jpg",
162021
+ "sunset-maroon": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/3ebc3f44-315f-40d2-a445-2d8b27b897e1/template-card-presentation-crayon-learning-deck-sunset-maroon-480x270.jpg",
162022
+ "mint-tech": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/04ea9189-7b4d-409b-aeb6-bd3676b7b160/template-card-presentation-crayon-learning-deck-mint-tech-480x270.jpg",
162023
+ "midnight-mono": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/35741f02-e2f3-4fe5-b8cf-7151b08c795e/template-card-presentation-crayon-learning-deck-midnight-mono-480x270.jpg",
162024
+ "ocean-deep": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/ddc8e4f0-7b1b-4114-aafc-1643c140c3e8/template-card-presentation-crayon-learning-deck-ocean-deep-480x270.jpg",
162025
+ "gold-luxe": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/61434bae-6617-41de-b2fe-2e80bb87c476/template-card-presentation-crayon-learning-deck-gold-luxe-480x270.jpg"
162026
+ },
162027
+ "creative-agency-presentation": {
162028
+ prism: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/51ee4460-a199-4d90-b153-ddb8c93c4a23/template-card-presentation-creative-agency-presentation-prism-480x270.jpg",
162029
+ carnival: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/74ebfead-5a7e-4dca-ae53-537e22e8ea94/template-card-presentation-creative-agency-presentation-carnival-480x270.jpg",
162030
+ "pop-art": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/8b44aba5-e1a2-45dc-830f-cdd8e73e34bf/template-card-presentation-creative-agency-presentation-pop-art-480x270.jpg",
162031
+ "warm-sand": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/37f903d6-4fa0-4e5b-b5b4-191312b01934/template-card-presentation-creative-agency-presentation-warm-sand-480x270.jpg",
162032
+ "bauhaus-primary": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/99b37c78-975f-4a9c-a1a3-afb48ea81dee/template-card-presentation-creative-agency-presentation-bauhaus-primary-480x270.jpg",
162033
+ "nordic-frost": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/101c03f5-933f-4d66-b27e-fa1b9becdca8/template-card-presentation-creative-agency-presentation-nordic-frost-480x270.jpg",
162034
+ "forest-editorial": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/2fe07921-21f8-455e-8333-9a6414c8900d/template-card-presentation-creative-agency-presentation-forest-editorial-480x270.jpg",
162035
+ "coral-studio": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/6678ba38-e067-4cfd-9035-07ef21ce08ef/template-card-presentation-creative-agency-presentation-coral-studio-480x270.jpg",
162036
+ "slate-corporate": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/e758047b-7b7d-44da-af0b-1697488f59af/template-card-presentation-creative-agency-presentation-slate-corporate-480x270.jpg",
162037
+ "terracotta-clay": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/bc42341e-d67d-493f-b6e8-7dd8ab8c96b2/template-card-presentation-creative-agency-presentation-terracotta-clay-480x270.jpg",
162038
+ "berry-pop": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/19b4dff9-e02f-4cde-86c0-c08386d99553/template-card-presentation-creative-agency-presentation-berry-pop-480x270.jpg",
162039
+ "citrus-fresh": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/ed72a37f-b391-4787-9bf3-e56b06ab18f5/template-card-presentation-creative-agency-presentation-citrus-fresh-480x270.jpg",
162040
+ "mauve-dusk": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/2595cc14-acac-477a-a248-464a99e5ed8a/template-card-presentation-creative-agency-presentation-mauve-dusk-480x270.jpg",
162041
+ "mono-ink": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/b734d3d5-2ad7-4414-ac8d-25513476bf73/template-card-presentation-creative-agency-presentation-mono-ink-480x270.jpg",
162042
+ "sunset-maroon": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/be290733-629f-42d4-bc09-d36e43b9b204/template-card-presentation-creative-agency-presentation-sunset-maroon-480x270.jpg",
162043
+ "mint-tech": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/af5a99b3-01a9-46b8-abe6-942175ad87d6/template-card-presentation-creative-agency-presentation-mint-tech-480x270.jpg",
162044
+ "midnight-mono": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/aa3a2db2-5337-4635-a16b-c6112c98bfe0/template-card-presentation-creative-agency-presentation-midnight-mono-480x270.jpg",
162045
+ "ocean-deep": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/0f165828-caf1-48b2-8d54-13b2c2d0c5da/template-card-presentation-creative-agency-presentation-ocean-deep-480x270.jpg",
162046
+ "gold-luxe": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/8c28c840-2cee-4a8d-892a-f08ab8caf8dd/template-card-presentation-creative-agency-presentation-gold-luxe-480x270.jpg"
162047
+ },
162048
+ "data-report-presentation": {
162049
+ prism: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/e42d11f9-ced9-4451-b488-e1aa97c4a1b8/template-card-presentation-data-report-presentation-prism-480x270.jpg",
162050
+ carnival: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/828955a0-3356-45f8-88cf-b0aba3765a05/template-card-presentation-data-report-presentation-carnival-480x270.jpg",
162051
+ "pop-art": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/ad7c60ec-9dfd-407b-ad9e-352f35ec94b5/template-card-presentation-data-report-presentation-pop-art-480x270.jpg",
162052
+ "warm-sand": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/14577d14-c2ba-49f2-834e-baad8c5ce718/template-card-presentation-data-report-presentation-warm-sand-480x270.jpg",
162053
+ "bauhaus-primary": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/b8481c1f-20b2-4845-8d22-735588ce1285/template-card-presentation-data-report-presentation-bauhaus-primary-480x270.jpg",
162054
+ "nordic-frost": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/c8ae63e3-1fb5-49ca-9757-8eed48c1672f/template-card-presentation-data-report-presentation-nordic-frost-480x270.jpg",
162055
+ "forest-editorial": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/edcea92f-d82b-40cc-8463-0698a5f38e29/template-card-presentation-data-report-presentation-forest-editorial-480x270.jpg",
162056
+ "coral-studio": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/9c12e441-7ea3-46f0-b41c-15f5644ff767/template-card-presentation-data-report-presentation-coral-studio-480x270.jpg",
162057
+ "slate-corporate": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/baa3fde2-d161-4e98-8c16-44c6062584d8/template-card-presentation-data-report-presentation-slate-corporate-480x270.jpg",
162058
+ "terracotta-clay": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/c90dfbe1-d940-4eac-9397-83e42edc6112/template-card-presentation-data-report-presentation-terracotta-clay-480x270.jpg",
162059
+ "berry-pop": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/f93555ee-8a25-4845-8895-a9e64d0e7338/template-card-presentation-data-report-presentation-berry-pop-480x270.jpg",
162060
+ "citrus-fresh": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/856de09e-c8ed-4216-adc9-1834a9c9c307/template-card-presentation-data-report-presentation-citrus-fresh-480x270.jpg",
162061
+ "mauve-dusk": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/ffaa999a-2198-4d49-8703-1b6f9efea15b/template-card-presentation-data-report-presentation-mauve-dusk-480x270.jpg",
162062
+ "mono-ink": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/4ef87d43-c6cf-49e6-95c5-cad382fc4d74/template-card-presentation-data-report-presentation-mono-ink-480x270.jpg",
162063
+ "sunset-maroon": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/2ce9c3e6-349e-4e36-b312-2c76e7154f9c/template-card-presentation-data-report-presentation-sunset-maroon-480x270.jpg",
162064
+ "mint-tech": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/e0bf59fc-9118-4b97-9d6b-35e483c268f2/template-card-presentation-data-report-presentation-mint-tech-480x270.jpg",
162065
+ "midnight-mono": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/a58ad362-6591-4bd6-8c96-c7ac8d568deb/template-card-presentation-data-report-presentation-midnight-mono-480x270.jpg",
162066
+ "ocean-deep": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/3fc150d1-0662-4862-aaa5-7854342efa1d/template-card-presentation-data-report-presentation-ocean-deep-480x270.jpg",
162067
+ "gold-luxe": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/23e79ef9-21ff-42b0-bc31-0bc3c63576eb/template-card-presentation-data-report-presentation-gold-luxe-480x270.jpg"
162068
+ },
162069
+ "editorial-magazine-deck": {
162070
+ prism: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/526c7e25-711e-4c95-9afe-f94980582ba2/template-card-presentation-editorial-magazine-deck-prism-480x270.jpg",
162071
+ carnival: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/4295a1bb-fbc1-4899-9843-f1b87817e70b/template-card-presentation-editorial-magazine-deck-carnival-480x270.jpg",
162072
+ "pop-art": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/7cf45c65-148f-4575-8bef-e28b22a8917e/template-card-presentation-editorial-magazine-deck-pop-art-480x270.jpg",
162073
+ "warm-sand": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/19ae2c4e-0eb0-478a-8304-32325bd4b439/template-card-presentation-editorial-magazine-deck-warm-sand-480x270.jpg",
162074
+ "bauhaus-primary": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/7d84909f-a876-494b-abff-ad901d8ade4a/template-card-presentation-editorial-magazine-deck-bauhaus-primary-480x270.jpg",
162075
+ "nordic-frost": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/fa5d3c39-fd3f-4158-b92a-c6138f97a0ad/template-card-presentation-editorial-magazine-deck-nordic-frost-480x270.jpg",
162076
+ "forest-editorial": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/94db032e-6920-4025-a392-74768c4c39e4/template-card-presentation-editorial-magazine-deck-forest-editorial-480x270.jpg",
162077
+ "coral-studio": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/3d9eec7b-a903-4bc8-bd4e-d31ceab50b24/template-card-presentation-editorial-magazine-deck-coral-studio-480x270.jpg",
162078
+ "slate-corporate": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/fe7c93ad-86ba-4014-9e21-5bfbaf1a38a6/template-card-presentation-editorial-magazine-deck-slate-corporate-480x270.jpg",
162079
+ "terracotta-clay": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/6db0a32c-3b27-4fe0-a2be-297b186c8a67/template-card-presentation-editorial-magazine-deck-terracotta-clay-480x270.jpg",
162080
+ "berry-pop": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/f33d0102-cf46-4f35-a17f-92dab9f3c6a6/template-card-presentation-editorial-magazine-deck-berry-pop-480x270.jpg",
162081
+ "citrus-fresh": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/05eb7e18-a368-4cdd-9195-85a5dc080fd3/template-card-presentation-editorial-magazine-deck-citrus-fresh-480x270.jpg",
162082
+ "mauve-dusk": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/16658b63-c8c2-4ff6-a261-abc78f3e1400/template-card-presentation-editorial-magazine-deck-mauve-dusk-480x270.jpg",
162083
+ "mono-ink": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/3086694c-f5bf-4a22-9bbf-552329c7cfeb/template-card-presentation-editorial-magazine-deck-mono-ink-480x270.jpg",
162084
+ "sunset-maroon": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/3f37b2c3-6b9b-4ffb-a4a9-d1df97ce45a8/template-card-presentation-editorial-magazine-deck-sunset-maroon-480x270.jpg",
162085
+ "mint-tech": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/d00fc3d6-1264-4ae0-8447-39649caa2c5e/template-card-presentation-editorial-magazine-deck-mint-tech-480x270.jpg",
162086
+ "midnight-mono": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/8a73d2e3-f8e2-48b2-b4da-18ee9149ae58/template-card-presentation-editorial-magazine-deck-midnight-mono-480x270.jpg",
162087
+ "ocean-deep": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/59d24086-15d8-4906-8d24-670151045382/template-card-presentation-editorial-magazine-deck-ocean-deep-480x270.jpg",
162088
+ "gold-luxe": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/d3f82958-eb00-4f83-8041-712182d8fbea/template-card-presentation-editorial-magazine-deck-gold-luxe-480x270.jpg"
162089
+ },
162090
+ "landing-consulting-deck": {
162091
+ prism: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/958f8825-0924-4468-b6d3-e3b52db0e53d/template-card-presentation-landing-consulting-deck-prism-480x270.jpg",
162092
+ carnival: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/052c51d8-5da6-475e-990d-126d3b50d94f/template-card-presentation-landing-consulting-deck-carnival-480x270.jpg",
162093
+ "pop-art": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/51af1529-5019-4a3f-bf78-a5a653480afb/template-card-presentation-landing-consulting-deck-pop-art-480x270.jpg",
162094
+ "warm-sand": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/05efe404-d3d7-4295-bde7-524435b1eaca/template-card-presentation-landing-consulting-deck-warm-sand-480x270.jpg",
162095
+ "bauhaus-primary": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/eadfd062-60ea-49bf-86c3-7681d5245131/template-card-presentation-landing-consulting-deck-bauhaus-primary-480x270.jpg",
162096
+ "nordic-frost": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/7f5538f8-2c72-4b16-b379-eda7a28aeb7a/template-card-presentation-landing-consulting-deck-nordic-frost-480x270.jpg",
162097
+ "forest-editorial": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/eae820a9-c41d-470e-98f0-592e800b2528/template-card-presentation-landing-consulting-deck-forest-editorial-480x270.jpg",
162098
+ "coral-studio": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/fc81f5ab-f7b8-45c8-a68d-cdb7d151f12d/template-card-presentation-landing-consulting-deck-coral-studio-480x270.jpg",
162099
+ "slate-corporate": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/2536880b-b6aa-446c-9b00-204cd03d5eb6/template-card-presentation-landing-consulting-deck-slate-corporate-480x270.jpg",
162100
+ "terracotta-clay": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/58d91f16-2eab-470a-9509-87ec96b6c97c/template-card-presentation-landing-consulting-deck-terracotta-clay-480x270.jpg",
162101
+ "berry-pop": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/1c1c29e5-3d04-4a49-9257-591a2c3a3db4/template-card-presentation-landing-consulting-deck-berry-pop-480x270.jpg",
162102
+ "citrus-fresh": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/92c9ef5a-2e9e-4268-b8b7-83fcbf93b388/template-card-presentation-landing-consulting-deck-citrus-fresh-480x270.jpg",
162103
+ "mauve-dusk": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/dbc509d8-5244-4c7a-aa48-fbef7213b98d/template-card-presentation-landing-consulting-deck-mauve-dusk-480x270.jpg",
162104
+ "mono-ink": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/ed96861a-c353-40f9-8bf2-0d055c6cb88a/template-card-presentation-landing-consulting-deck-mono-ink-480x270.jpg",
162105
+ "sunset-maroon": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/867b502e-ff31-4bc0-9ec0-e843f2df768d/template-card-presentation-landing-consulting-deck-sunset-maroon-480x270.jpg",
162106
+ "mint-tech": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/1adbabc7-5978-4203-9166-67a1f85c8c38/template-card-presentation-landing-consulting-deck-mint-tech-480x270.jpg",
162107
+ "midnight-mono": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/fdc7d3f5-00ae-44f0-bd5e-274983d7c956/template-card-presentation-landing-consulting-deck-midnight-mono-480x270.jpg",
162108
+ "ocean-deep": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/2157f813-c843-4e77-a519-a9c6dbef4a1b/template-card-presentation-landing-consulting-deck-ocean-deep-480x270.jpg",
162109
+ "gold-luxe": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/509192b6-3238-403a-9aa7-68cd592bd2a3/template-card-presentation-landing-consulting-deck-gold-luxe-480x270.jpg"
162110
+ },
162111
+ "lumina-creative-studio": {
162112
+ prism: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/24ab5772-b44d-41ef-87b9-e3787576eaba/template-card-presentation-lumina-creative-studio-prism-480x270.jpg",
162113
+ carnival: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/37edb48b-e85b-4a11-a2f2-f4df04a231a0/template-card-presentation-lumina-creative-studio-carnival-480x270.jpg",
162114
+ "pop-art": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/9e0984f5-37a1-49ff-ac7a-dd588606f70c/template-card-presentation-lumina-creative-studio-pop-art-480x270.jpg",
162115
+ "warm-sand": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/8550a61b-3d22-4513-8a57-8f35fd826661/template-card-presentation-lumina-creative-studio-warm-sand-480x270.jpg",
162116
+ "bauhaus-primary": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/fee2df64-1e3d-42e4-8299-fac1ac7e3fe7/template-card-presentation-lumina-creative-studio-bauhaus-primary-480x270.jpg",
162117
+ "nordic-frost": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/c43ccc1f-94fd-43dd-9c57-8d6b715aa99c/template-card-presentation-lumina-creative-studio-nordic-frost-480x270.jpg",
162118
+ "forest-editorial": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/62a9514b-408c-42c8-9ffb-f687e11a3f32/template-card-presentation-lumina-creative-studio-forest-editorial-480x270.jpg",
162119
+ "coral-studio": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/58638cbd-d7b8-4b17-8eed-dbc05143cae5/template-card-presentation-lumina-creative-studio-coral-studio-480x270.jpg",
162120
+ "slate-corporate": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/8776ce8c-62f4-4402-af88-6a22c4e95c92/template-card-presentation-lumina-creative-studio-slate-corporate-480x270.jpg",
162121
+ "terracotta-clay": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/2c9d17c2-ab0f-4958-a7e7-a307b99dfaab/template-card-presentation-lumina-creative-studio-terracotta-clay-480x270.jpg",
162122
+ "berry-pop": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/f5920fef-6a64-4a87-80fd-ddd94b7b5edc/template-card-presentation-lumina-creative-studio-berry-pop-480x270.jpg",
162123
+ "citrus-fresh": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/3b640c98-9a29-4e45-9f5a-ad105185bac8/template-card-presentation-lumina-creative-studio-citrus-fresh-480x270.jpg",
162124
+ "mauve-dusk": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/ffaacf52-c017-43d3-8308-9befe4a5d0ac/template-card-presentation-lumina-creative-studio-mauve-dusk-480x270.jpg",
162125
+ "mono-ink": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/57336143-0284-4d83-80dc-c51414bba94a/template-card-presentation-lumina-creative-studio-mono-ink-480x270.jpg",
162126
+ "sunset-maroon": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/b11772b3-4bcc-4b5c-a3e9-40b10eebbcbe/template-card-presentation-lumina-creative-studio-sunset-maroon-480x270.jpg",
162127
+ "mint-tech": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/d82ce111-2a70-4dc0-ae3f-98ac611834e5/template-card-presentation-lumina-creative-studio-mint-tech-480x270.jpg",
162128
+ "midnight-mono": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/ea6a81a9-93e6-489e-86f1-04cba5f2ea70/template-card-presentation-lumina-creative-studio-midnight-mono-480x270.jpg",
162129
+ "ocean-deep": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/9fcabe71-161c-4274-a46a-2f3eb5b25977/template-card-presentation-lumina-creative-studio-ocean-deep-480x270.jpg",
162130
+ "gold-luxe": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/c0542b96-b50b-4cd2-9007-1fe4f82bb587/template-card-presentation-lumina-creative-studio-gold-luxe-480x270.jpg"
162131
+ },
162132
+ "mosaic-geometric-pitch": {
162133
+ prism: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/a982a6b1-8fdc-4289-8795-2b7246a2d726/template-card-presentation-mosaic-geometric-pitch-prism-480x270.jpg",
162134
+ carnival: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/0db220d0-9738-4b99-b5a3-e7eee40a88aa/template-card-presentation-mosaic-geometric-pitch-carnival-480x270.jpg",
162135
+ "pop-art": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/e2521733-073a-4da2-8455-b283f571927b/template-card-presentation-mosaic-geometric-pitch-pop-art-480x270.jpg",
162136
+ "warm-sand": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/57565ff1-d558-4936-8e24-1cd5b0014b87/template-card-presentation-mosaic-geometric-pitch-warm-sand-480x270.jpg",
162137
+ "bauhaus-primary": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/88a60e0f-df7b-49a2-a8f7-19f0c801622e/template-card-presentation-mosaic-geometric-pitch-bauhaus-primary-480x270.jpg",
162138
+ "nordic-frost": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/aa6f8884-167d-4d6d-82a4-85d40bac19bb/template-card-presentation-mosaic-geometric-pitch-nordic-frost-480x270.jpg",
162139
+ "forest-editorial": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/22567c61-5586-43ec-b3c4-aab8deca4ffe/template-card-presentation-mosaic-geometric-pitch-forest-editorial-480x270.jpg",
162140
+ "coral-studio": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/3db12737-3136-41a6-a5e7-6d0ccff7340f/template-card-presentation-mosaic-geometric-pitch-coral-studio-480x270.jpg",
162141
+ "slate-corporate": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/4df0a838-acbd-4f53-ae63-74f505d1129c/template-card-presentation-mosaic-geometric-pitch-slate-corporate-480x270.jpg",
162142
+ "terracotta-clay": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/a64204a2-0680-41bd-b397-1e20a6446408/template-card-presentation-mosaic-geometric-pitch-terracotta-clay-480x270.jpg",
162143
+ "berry-pop": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/4e634d29-0a68-4fd3-b07e-836c0c3cf2d6/template-card-presentation-mosaic-geometric-pitch-berry-pop-480x270.jpg",
162144
+ "citrus-fresh": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/e9305416-c3bc-41e4-a6a1-9d6194e1ec4d/template-card-presentation-mosaic-geometric-pitch-citrus-fresh-480x270.jpg",
162145
+ "mauve-dusk": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/0d787389-008e-46c4-9b81-752a24de857a/template-card-presentation-mosaic-geometric-pitch-mauve-dusk-480x270.jpg",
162146
+ "mono-ink": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/04e86233-ea5d-4282-bbad-2985264cd343/template-card-presentation-mosaic-geometric-pitch-mono-ink-480x270.jpg",
162147
+ "sunset-maroon": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/8ad1adc8-7729-411b-8afd-97651654d02e/template-card-presentation-mosaic-geometric-pitch-sunset-maroon-480x270.jpg",
162148
+ "mint-tech": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/99b30c38-c342-4084-b355-f56c7b4cacfd/template-card-presentation-mosaic-geometric-pitch-mint-tech-480x270.jpg",
162149
+ "midnight-mono": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/20f96dd0-d516-438a-ad19-3039b7c507fd/template-card-presentation-mosaic-geometric-pitch-midnight-mono-480x270.jpg",
162150
+ "ocean-deep": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/4c01fdb2-c583-4da8-85c1-f7f3049205a9/template-card-presentation-mosaic-geometric-pitch-ocean-deep-480x270.jpg",
162151
+ "gold-luxe": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/1ce1152f-4e00-4776-bee4-e05a36001f22/template-card-presentation-mosaic-geometric-pitch-gold-luxe-480x270.jpg"
162152
+ },
162153
+ "playful-pop-deck": {
162154
+ prism: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/713a8a9f-bbe8-46c0-bab6-7ee2ef7b3214/template-card-presentation-playful-pop-deck-prism-480x270.jpg",
162155
+ carnival: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/4eb1fc1e-626e-4268-9063-3a0473a4404d/template-card-presentation-playful-pop-deck-carnival-480x270.jpg",
162156
+ "pop-art": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/abe35004-601e-4f18-b911-e602087cd9e9/template-card-presentation-playful-pop-deck-pop-art-480x270.jpg",
162157
+ "warm-sand": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/538836ed-a51e-4206-861a-1b78aa96be4f/template-card-presentation-playful-pop-deck-warm-sand-480x270.jpg",
162158
+ "bauhaus-primary": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/94540e77-ffcd-4efa-b4de-6ca9f59f0225/template-card-presentation-playful-pop-deck-bauhaus-primary-480x270.jpg",
162159
+ "nordic-frost": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/a8e06483-b673-4b7e-9092-2de06e8324dc/template-card-presentation-playful-pop-deck-nordic-frost-480x270.jpg",
162160
+ "forest-editorial": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/1af2e5f2-b49e-4acf-b33c-46e31178fb33/template-card-presentation-playful-pop-deck-forest-editorial-480x270.jpg",
162161
+ "coral-studio": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/933f157f-0bf2-49f0-a2de-59aa6b66fa01/template-card-presentation-playful-pop-deck-coral-studio-480x270.jpg",
162162
+ "slate-corporate": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/bb4846ee-5c6b-4a74-b5f5-d34c9fb5bd47/template-card-presentation-playful-pop-deck-slate-corporate-480x270.jpg",
162163
+ "terracotta-clay": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/8ecb0c14-c424-4587-827e-ca1b5cd373b2/template-card-presentation-playful-pop-deck-terracotta-clay-480x270.jpg",
162164
+ "berry-pop": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/0d0aaed1-ebac-41a6-824b-420f3f4210a8/template-card-presentation-playful-pop-deck-berry-pop-480x270.jpg",
162165
+ "citrus-fresh": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/ce9e7da3-9bac-40b6-a890-d8dc8f1bbf7f/template-card-presentation-playful-pop-deck-citrus-fresh-480x270.jpg",
162166
+ "mauve-dusk": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/e579c875-3bc1-40ee-aefc-3ac2ab34c042/template-card-presentation-playful-pop-deck-mauve-dusk-480x270.jpg",
162167
+ "mono-ink": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/edb23ae4-33be-4ec1-a3eb-bc58bad2c9f3/template-card-presentation-playful-pop-deck-mono-ink-480x270.jpg",
162168
+ "sunset-maroon": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/de043c23-a139-4bc4-874d-cbacac71de30/template-card-presentation-playful-pop-deck-sunset-maroon-480x270.jpg",
162169
+ "mint-tech": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/cc9f54cb-6fb8-46c8-8b7f-56ea5f942b79/template-card-presentation-playful-pop-deck-mint-tech-480x270.jpg",
162170
+ "midnight-mono": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/6e8f80f4-0455-489f-b8f9-61fa7baab714/template-card-presentation-playful-pop-deck-midnight-mono-480x270.jpg",
162171
+ "ocean-deep": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/e20b7280-f848-43f9-a3b7-dd4aef57b252/template-card-presentation-playful-pop-deck-ocean-deep-480x270.jpg",
162172
+ "gold-luxe": "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/fd5b80cd-6816-48a8-b341-7de669c623d8/template-card-presentation-playful-pop-deck-gold-luxe-480x270.jpg"
162173
+ }
162174
+ };
161703
162175
  var BOTANE_ORGANIC_PREVIEW_IMAGES = [
161704
162176
  "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/64d1a85a-9347-48fb-860b-073180385b66/botane-organic-deck.png",
161705
162177
  "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/a43f103f-e4b3-40b0-a326-c37a2240e6b5/slide-02.png",
@@ -162030,7 +162502,8 @@ var PRESENTATION_TEMPLATE_PICKER_ITEMS = [
162030
162502
  prompt: "/gen presentation with design system `playful-editorial` and template `html-ppt-playful-launch`, create a 15-slide launch deck for SproutPop, a playful habit-building app for remote teams introducing a shared 30-day wellness challenge. Present it to people and culture leaders with cover, agenda, launch story, audience pain points, product vision, feature tour, rollout timeline, activation moments, team, early metrics, testimonials, pricing, and next steps. Make it saturated, joyful, idea-led, and structured.",
162031
162503
  embedUrl: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/daf7c2d1-5195-4c09-ad4b-8d85778fc104/playful-launch-presentation.html",
162032
162504
  previewImage: PLAYFUL_LAUNCH_CDN_PREVIEW_IMAGES[0],
162033
- cardPreviewImage: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/bd6ce25a-6e94-4b9a-a77b-7827086c7c6d/template-card-presentation-playful-launch-presentation-480x270.jpg",
162505
+ cardPreviewImagesByTheme: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["playful-launch-presentation"],
162506
+ cardPreviewImage: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["playful-launch-presentation"]["carnival"],
162034
162507
  previewImages: PLAYFUL_LAUNCH_CDN_PREVIEW_IMAGES,
162035
162508
  colorSystemId: "color-system:carnival",
162036
162509
  designSystemId: "design-system:playful-editorial",
@@ -162042,7 +162515,8 @@ var PRESENTATION_TEMPLATE_PICKER_ITEMS = [
162042
162515
  prompt: "/gen presentation with design system `botane-organic` and template `html-ppt-botane-organic`, create a 15-slide brand story deck for Moss & Moon, a coastal wellness retreat launching a seasonal herb garden, tea bar, and slow-living membership program. Present it to hospitality partners with cover, agenda, origin story, guest philosophy, retreat spaces, treatment menu, garden-to-table process, photography gallery, sustainability metrics, member testimonials, packages, and contact. Make it calm, editorial, rounded, and organic.",
162043
162516
  embedUrl: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/0babab92-7ad9-414e-b44f-7a060ed48bcc/botane-organic-deck.html",
162044
162517
  previewImage: BOTANE_ORGANIC_PREVIEW_IMAGES[0],
162045
- cardPreviewImage: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/5afda839-ba20-4a63-bf35-0f7d3b6524a9/template-card-presentation-botane-organic-deck-480x270.jpg",
162518
+ cardPreviewImagesByTheme: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["botane-organic-deck"],
162519
+ cardPreviewImage: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["botane-organic-deck"]["mauve-dusk"],
162046
162520
  previewImages: BOTANE_ORGANIC_PREVIEW_IMAGES,
162047
162521
  colorSystemId: "color-system:mauve-dusk",
162048
162522
  designSystemId: "design-system:botane-organic",
@@ -162054,7 +162528,8 @@ var PRESENTATION_TEMPLATE_PICKER_ITEMS = [
162054
162528
  prompt: "/gen presentation with design system `business-data` and template `html-ppt-business-data`, create a 15-slide executive data readout for HarborCart, an omnichannel grocery retailer reviewing 2026 growth, loyalty behavior, basket mix, and store-to-delivery conversion. Present it to the leadership team with cover, agenda, business context, KPI scorecard, regional segments, channel comparison, customer cohorts, operational drivers, forecast, strategic bets, risks, recommendations, and appendix contact. Make it number-first, chart-led, confident, modern, and readable.",
162055
162529
  embedUrl: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/95648bba-2a52-497e-b1b8-9cdd0cab9d93/business-data-presentation.html",
162056
162530
  previewImage: BUSINESS_DATA_CDN_PREVIEW_IMAGES[0],
162057
- cardPreviewImage: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/27b0767f-0df0-42e3-ad1e-ed878e69d796/template-card-presentation-business-data-presentation-480x270.jpg",
162531
+ cardPreviewImagesByTheme: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["business-data-presentation"],
162532
+ cardPreviewImage: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["business-data-presentation"]["berry-pop"],
162058
162533
  previewImages: BUSINESS_DATA_CDN_PREVIEW_IMAGES,
162059
162534
  colorSystemId: "color-system:berry-pop",
162060
162535
  designSystemId: "design-system:business-data",
@@ -162066,7 +162541,8 @@ var PRESENTATION_TEMPLATE_PICKER_ITEMS = [
162066
162541
  prompt: "/gen presentation with design system `crayon` and template `html-ppt-crayon`, create a 15-slide parent-night deck for Rainbow Lab, a summer art-and-science camp where kids build storybooks, cardboard cities, and tiny robots. Present it to families with cover, agenda, camp promise, learning goals, weekly themes, instructor team, sample day, workshop stations, student gallery, safety plan, progress metrics, parent quotes, pricing, and registration steps. Make it bright, rounded, joyful, and crayon-like.",
162067
162542
  embedUrl: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/63af1d38-51e8-493e-b975-1728f4f796da/crayon-learning-deck.html",
162068
162543
  previewImage: CRAYON_PREVIEW_IMAGES[0],
162069
- cardPreviewImage: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/ce37d6be-85f3-40eb-b380-09445cb944a6/template-card-presentation-crayon-learning-deck-480x270.jpg",
162544
+ cardPreviewImagesByTheme: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["crayon-learning-deck"],
162545
+ cardPreviewImage: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["crayon-learning-deck"]["prism"],
162070
162546
  previewImages: CRAYON_PREVIEW_IMAGES,
162071
162547
  previewHtmls: CRAYON_PREVIEW_HTMLS,
162072
162548
  colorSystemId: "color-system:prism",
@@ -162079,7 +162555,8 @@ var PRESENTATION_TEMPLATE_PICKER_ITEMS = [
162079
162555
  prompt: "/gen presentation with design system `creative-agency` and template `html-ppt-creative-agency`, create a 15-slide rebrand pitch for Northstar Studio proposing a new identity, website, and launch campaign for a boutique hotel group expanding into three coastal cities. Present it to the client board with cover, agenda, brand challenge, strategic insight, creative direction, visual territories, service scope, project process, case-study gallery, launch roadmap, impact metrics, client quotes, investment, and contact. Make it minimal, editorial, sharp, and agency-grade.",
162080
162556
  embedUrl: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/527ad859-e0dd-4cfd-90a4-09e5030b71e1/creative-agency-presentation.html",
162081
162557
  previewImage: CREATIVE_AGENCY_PREVIEW_IMAGES[0],
162082
- cardPreviewImage: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/6fd65b4a-8c3d-4219-9461-5558a0d71fcb/template-card-presentation-creative-agency-presentation-480x270.jpg",
162558
+ cardPreviewImagesByTheme: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["creative-agency-presentation"],
162559
+ cardPreviewImage: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["creative-agency-presentation"]["coral-studio"],
162083
162560
  previewImages: CREATIVE_AGENCY_PREVIEW_IMAGES,
162084
162561
  previewHtmls: CREATIVE_AGENCY_PREVIEW_HTMLS,
162085
162562
  colorSystemId: "color-system:coral-studio",
@@ -162092,7 +162569,8 @@ var PRESENTATION_TEMPLATE_PICKER_ITEMS = [
162092
162569
  prompt: "/gen presentation with design system `data-report` and template `html-ppt-data-report`, create a 15-slide research findings deck for MetroPulse, a city mobility study comparing bike-share, buses, rideshare, and commuter rail across 12 neighborhoods. Present it to urban planning stakeholders with cover, contents, study context, methodology, demand trends, neighborhood segments, mode comparison, peak-hour bottlenecks, equity impact, emissions estimate, 12-month forecast, recommendations, summary, and contact. Make it chart-led, sharp, vivid, and number-first.",
162093
162570
  embedUrl: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/920c6119-1833-4902-bda9-327af1bd8f7f/data-report-presentation.html",
162094
162571
  previewImage: DATA_REPORT_PREVIEW_IMAGES[0],
162095
- cardPreviewImage: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/6b336b2c-c2ce-489a-9b3a-faca4813b4de/template-card-presentation-data-report-presentation-480x270.jpg",
162572
+ cardPreviewImagesByTheme: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["data-report-presentation"],
162573
+ cardPreviewImage: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["data-report-presentation"]["prism"],
162096
162574
  previewImages: DATA_REPORT_PREVIEW_IMAGES,
162097
162575
  previewHtmls: DATA_REPORT_PREVIEW_HTMLS,
162098
162576
  colorSystemId: "color-system:prism",
@@ -162105,7 +162583,8 @@ var PRESENTATION_TEMPLATE_PICKER_ITEMS = [
162105
162583
  prompt: "/gen presentation with design system `editorial-magazine` and template `html-ppt-editorial-magazine`, create a 15-slide media kit for Field Notes Quarterly, an independent culture magazine pitching its autumn issue on craft, travel, food, and design to premium sponsors. Include cover, editor letter, issue theme, audience profile, editorial departments, contributor roster, feature previews, photography gallery, distribution plan, partnership formats, audience metrics, sponsor examples, rate card, production timeline, and contact. Make it restrained, paper-forward, serif, and magazine-like.",
162106
162584
  embedUrl: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/85360bd6-8b80-43ba-9c9c-001b7d96f205/editorial-magazine-deck.html",
162107
162585
  previewImage: EDITORIAL_MAGAZINE_PREVIEW_IMAGES[0],
162108
- cardPreviewImage: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/7f394ba6-e2a6-4622-8562-421e72055fdd/template-card-presentation-editorial-magazine-deck-480x270.jpg",
162586
+ cardPreviewImagesByTheme: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["editorial-magazine-deck"],
162587
+ cardPreviewImage: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["editorial-magazine-deck"]["warm-sand"],
162109
162588
  previewImages: EDITORIAL_MAGAZINE_PREVIEW_IMAGES,
162110
162589
  previewHtmls: EDITORIAL_MAGAZINE_PREVIEW_HTMLS,
162111
162590
  colorSystemId: "color-system:warm-sand",
@@ -162118,7 +162597,8 @@ var PRESENTATION_TEMPLATE_PICKER_ITEMS = [
162118
162597
  prompt: "/gen presentation with design system `landing-consulting` and template `html-ppt-landing-consulting`, create a 15-slide growth proposal for ScaleBridge advising a B2B fintech SaaS team on reducing onboarding drop-off and improving trial-to-paid conversion. Present it to the revenue leadership team with cover, agenda, opportunity size, diagnosis, desired outcomes, engagement model, workstreams, sprint process, benchmark gallery, proof metrics, client testimonials, pricing tiers, decision timeline, and contact. Make it landing-page-like, sharp, high-contrast, and conversion-oriented.",
162119
162598
  embedUrl: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/998aed16-60a1-4d84-b60e-1ab093de8fa6/landing-consulting-deck.html",
162120
162599
  previewImage: LANDING_CONSULTING_PREVIEW_IMAGES[0],
162121
- cardPreviewImage: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/8e59681b-5504-4907-b357-0d3f3801174b/template-card-presentation-landing-consulting-deck-480x270.jpg",
162600
+ cardPreviewImagesByTheme: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["landing-consulting-deck"],
162601
+ cardPreviewImage: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["landing-consulting-deck"]["pop-art"],
162122
162602
  previewImages: LANDING_CONSULTING_PREVIEW_IMAGES,
162123
162603
  previewHtmls: LANDING_CONSULTING_PREVIEW_HTMLS,
162124
162604
  colorSystemId: "color-system:pop-art",
@@ -162131,7 +162611,8 @@ var PRESENTATION_TEMPLATE_PICKER_ITEMS = [
162131
162611
  prompt: "/gen presentation with design system `lumina` and template `html-ppt-lumina`, create a 15-slide portfolio deck for LensLab Studio, a photography and motion team pitching a beauty brand's global campaign shoot across studio sets, street casting, and social cutdowns. Include cover, agenda, studio point of view, campaign concept, team, production services, creative process, location plan, image gallery, motion deliverables, campaign metrics, client quotes, package options, and contact. Make it bold, sticker-tagged, sharp, and creative-studio oriented.",
162132
162612
  embedUrl: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/08fe05a2-a7dd-4355-822d-14fb6a0987b3/lumina-creative-studio.html",
162133
162613
  previewImage: LUMINA_PREVIEW_IMAGES[0],
162134
- cardPreviewImage: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/129bc4b6-df50-4537-88a9-6e42c533c8ad/template-card-presentation-lumina-creative-studio-480x270.jpg",
162614
+ cardPreviewImagesByTheme: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["lumina-creative-studio"],
162615
+ cardPreviewImage: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["lumina-creative-studio"]["prism"],
162135
162616
  previewImages: LUMINA_PREVIEW_IMAGES,
162136
162617
  previewHtmls: LUMINA_PREVIEW_HTMLS,
162137
162618
  colorSystemId: "color-system:prism",
@@ -162144,7 +162625,8 @@ var PRESENTATION_TEMPLATE_PICKER_ITEMS = [
162144
162625
  prompt: "/gen presentation with design system `mosaic-geometric` and template `html-ppt-mosaic-geometric`, create a 15-slide modular identity pitch for CivicLink, a new transit app unifying buses, bikes, scooters, and commuter rail under one visual system. Present it to city innovation leaders with cover, agenda, brand problem, design principles, logo grid, color and icon system, app moments, rollout process, station signage gallery, accessibility impact, pilot metrics, stakeholder quotes, implementation budget, and contact. Make it bold, modular, Bauhaus-geometric, and colourful.",
162145
162626
  embedUrl: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/65f0f224-4bf0-4b11-9f3e-ddb1a11b1ec3/mosaic-geometric-pitch.html",
162146
162627
  previewImage: MOSAIC_GEOMETRIC_PREVIEW_IMAGES[0],
162147
- cardPreviewImage: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/8e5e8b1e-b34c-405a-9c71-0058c16751ff/template-card-presentation-mosaic-geometric-pitch-480x270.jpg",
162628
+ cardPreviewImagesByTheme: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["mosaic-geometric-pitch"],
162629
+ cardPreviewImage: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["mosaic-geometric-pitch"]["carnival"],
162148
162630
  previewImages: MOSAIC_GEOMETRIC_PREVIEW_IMAGES,
162149
162631
  previewHtmls: MOSAIC_GEOMETRIC_PREVIEW_HTMLS,
162150
162632
  colorSystemId: "color-system:carnival",
@@ -162157,7 +162639,8 @@ var PRESENTATION_TEMPLATE_PICKER_ITEMS = [
162157
162639
  prompt: "/gen presentation with design system `playful-pop` and template `html-ppt-playful-pop`, create a 15-slide campus launch deck for FizzPop, a sparkling tea brand planning a colorful back-to-school sampling tour, creator challenge, and limited-edition flavor drop. Present it to retail and student ambassador partners with cover, agenda, brand world, audience insight, campaign idea, flavor lineup, activation map, event flow, content plan, gallery, reach metrics, partner testimonials, budget, and contact. Make it neon, bouncy, rounded, and pop-art playful.",
162158
162640
  embedUrl: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/6b2f388a-119f-4ecc-8638-5cc309779b67/playful-pop-deck.html",
162159
162641
  previewImage: PLAYFUL_POP_PREVIEW_IMAGES[0],
162160
- cardPreviewImage: "https://cdn.vm0.io/artifacts/user_3EWY21Oe3f15kfs3yYmbGgDb3NV/790e2212-a7e1-40bc-8e9f-57754cfd01e5/template-card-presentation-playful-pop-deck-480x270.jpg",
162642
+ cardPreviewImagesByTheme: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["playful-pop-deck"],
162643
+ cardPreviewImage: PRESENTATION_TEMPLATE_PICKER_CARD_PREVIEW_IMAGES["playful-pop-deck"]["pop-art"],
162161
162644
  previewImages: PLAYFUL_POP_PREVIEW_IMAGES,
162162
162645
  previewHtmls: PLAYFUL_POP_PREVIEW_HTMLS,
162163
162646
  colorSystemId: "color-system:pop-art",
@@ -162988,11 +163471,11 @@ init_esm_shims();
162988
163471
 
162989
163472
  // ../../packages/api-contracts/src/contracts/health.ts
162990
163473
  init_esm_shims();
162991
- var c34 = initContract();
163474
+ var c36 = initContract();
162992
163475
  var healthResponseSchema = external_exports.object({
162993
163476
  status: external_exports.literal("ok")
162994
163477
  });
162995
- var healthContract = c34.router({
163478
+ var healthContract = c36.router({
162996
163479
  check: {
162997
163480
  method: "GET",
162998
163481
  path: "/health",
@@ -163002,7 +163485,7 @@ var healthContract = c34.router({
163002
163485
  summary: "Check API health"
163003
163486
  }
163004
163487
  });
163005
- var healthAuthContract = c34.router({
163488
+ var healthAuthContract = c36.router({
163006
163489
  check: {
163007
163490
  method: "GET",
163008
163491
  path: "/health/auth",
@@ -163023,7 +163506,7 @@ var healthAuthContract = c34.router({
163023
163506
 
163024
163507
  // ../../packages/api-contracts/src/contracts/desktop-auth.ts
163025
163508
  init_esm_shims();
163026
- var c35 = initContract();
163509
+ var c37 = initContract();
163027
163510
  var desktopAuthCallbackSchemes = [
163028
163511
  "ai.vm0.zero.desktop",
163029
163512
  "ai.vm0.zero.desktop.dev"
@@ -163040,7 +163523,7 @@ var desktopAuthHandoffStatusSchema = external_exports.enum([
163040
163523
  var desktopAuthHandoffPathParamsSchema = external_exports.object({
163041
163524
  handoffId: external_exports.string().uuid()
163042
163525
  });
163043
- var desktopAuthHandoffContract = c35.router({
163526
+ var desktopAuthHandoffContract = c37.router({
163044
163527
  create: {
163045
163528
  method: "POST",
163046
163529
  path: "/api/desktop-auth/handoff",
@@ -163096,7 +163579,7 @@ var desktopAuthHandoffContract = c35.router({
163096
163579
  summary: "Mark desktop auth handoff complete"
163097
163580
  }
163098
163581
  });
163099
- var desktopAuthConsumeContract = c35.router({
163582
+ var desktopAuthConsumeContract = c37.router({
163100
163583
  consume: {
163101
163584
  method: "POST",
163102
163585
  path: "/api/desktop-auth/consume",
@@ -163116,7 +163599,7 @@ var desktopAuthConsumeContract = c35.router({
163116
163599
 
163117
163600
  // ../../packages/api-contracts/src/contracts/zero-user-model-preference.ts
163118
163601
  init_esm_shims();
163119
- var c36 = initContract();
163602
+ var c38 = initContract();
163120
163603
  var userModelPreferenceResponseSchema = external_exports.object({
163121
163604
  selectedModel: supportedRunModelSchema.nullable(),
163122
163605
  updatedAt: external_exports.string().nullable()
@@ -163124,7 +163607,7 @@ var userModelPreferenceResponseSchema = external_exports.object({
163124
163607
  var updateUserModelPreferenceRequestSchema = external_exports.object({
163125
163608
  selectedModel: supportedRunModelSchema.nullable()
163126
163609
  });
163127
- var zeroUserModelPreferenceContract = c36.router({
163610
+ var zeroUserModelPreferenceContract = c38.router({
163128
163611
  get: {
163129
163612
  method: "GET",
163130
163613
  path: "/api/zero/user-model-preference",
@@ -163157,7 +163640,7 @@ var zeroUserModelPreferenceContract = c36.router({
163157
163640
 
163158
163641
  // ../../packages/api-contracts/src/contracts/test-telegram-dispatch-probe.ts
163159
163642
  init_esm_shims();
163160
- var c37 = initContract();
163643
+ var c39 = initContract();
163161
163644
  var testTelegramDispatchProbeBodySchema = external_exports.unknown().optional();
163162
163645
  var testTelegramDispatchProbeSuccessSchema = external_exports.object({
163163
163646
  ok: external_exports.literal(true)
@@ -163174,7 +163657,7 @@ var testTelegramDispatchProbeHandlerErrorSchema = external_exports.object({
163174
163657
  stack: external_exports.string().optional()
163175
163658
  })
163176
163659
  });
163177
- var testTelegramDispatchProbeContract = c37.router({
163660
+ var testTelegramDispatchProbeContract = c39.router({
163178
163661
  post: {
163179
163662
  method: "POST",
163180
163663
  path: "/api/test/telegram-dispatch-probe",
@@ -163219,7 +163702,7 @@ var internalCallbackErrorSchema = external_exports.object({
163219
163702
  });
163220
163703
 
163221
163704
  // ../../packages/api-contracts/src/contracts/zero-email.ts
163222
- var c38 = initContract();
163705
+ var c40 = initContract();
163223
163706
  var emailRecipientsSchema = external_exports.array(external_exports.string()).optional();
163224
163707
  var zeroEmailReplyCallbackPayloadSchema = external_exports.object({
163225
163708
  emailThreadSessionId: external_exports.string(),
@@ -163242,7 +163725,7 @@ var zeroEmailTriggerCallbackPayloadSchema = external_exports.object({
163242
163725
  replyRecipientTo: emailRecipientsSchema,
163243
163726
  replyRecipientCc: emailRecipientsSchema
163244
163727
  }).passthrough();
163245
- var zeroEmailReplyCallbackContract = c38.router({
163728
+ var zeroEmailReplyCallbackContract = c40.router({
163246
163729
  post: {
163247
163730
  method: "POST",
163248
163731
  path: "/api/zero/email/callbacks/reply",
@@ -163259,7 +163742,7 @@ var zeroEmailReplyCallbackContract = c38.router({
163259
163742
  summary: "Handle Zero email reply completion callbacks"
163260
163743
  }
163261
163744
  });
163262
- var zeroEmailTriggerCallbackContract = c38.router({
163745
+ var zeroEmailTriggerCallbackContract = c40.router({
163263
163746
  post: {
163264
163747
  method: "POST",
163265
163748
  path: "/api/zero/email/callbacks/trigger",
@@ -163276,7 +163759,7 @@ var zeroEmailTriggerCallbackContract = c38.router({
163276
163759
  summary: "Handle Zero email trigger completion callbacks"
163277
163760
  }
163278
163761
  });
163279
- var zeroEmailInboundContract = c38.router({
163762
+ var zeroEmailInboundContract = c40.router({
163280
163763
  post: {
163281
163764
  method: "POST",
163282
163765
  path: "/api/zero/email/inbound",
@@ -163296,8 +163779,8 @@ var zeroEmailInboundContract = c38.router({
163296
163779
 
163297
163780
  // ../../packages/api-contracts/src/contracts/auth.ts
163298
163781
  init_esm_shims();
163299
- var c39 = initContract();
163300
- var authContract = c39.router({
163782
+ var c41 = initContract();
163783
+ var authContract = c41.router({
163301
163784
  /**
163302
163785
  * GET /api/auth/me
163303
163786
  * Get current user information
@@ -163322,7 +163805,7 @@ var authContract = c39.router({
163322
163805
 
163323
163806
  // ../../packages/api-contracts/src/contracts/user-export.ts
163324
163807
  init_esm_shims();
163325
- var c40 = initContract();
163808
+ var c42 = initContract();
163326
163809
  var exportJobStatusSchema = external_exports.enum([
163327
163810
  "pending",
163328
163811
  "running",
@@ -163347,7 +163830,7 @@ var userExportStartResponseSchema = external_exports.object({
163347
163830
  jobId: external_exports.string().uuid(),
163348
163831
  status: external_exports.enum(["pending", "running"])
163349
163832
  });
163350
- var userExportContract = c40.router({
163833
+ var userExportContract = c42.router({
163351
163834
  get: {
163352
163835
  method: "GET",
163353
163836
  path: "/api/user/export",
@@ -163378,7 +163861,7 @@ var userExportContract = c40.router({
163378
163861
 
163379
163862
  // ../../packages/api-contracts/src/contracts/email-unsubscribe.ts
163380
163863
  init_esm_shims();
163381
- var c41 = initContract();
163864
+ var c43 = initContract();
163382
163865
  var emailUnsubscribeQuerySchema = external_exports.object({
163383
163866
  token: external_exports.string().optional()
163384
163867
  });
@@ -163388,13 +163871,13 @@ var emailUnsubscribeResponseSchema = external_exports.object({
163388
163871
  var emailUnsubscribeErrorSchema = external_exports.object({
163389
163872
  error: external_exports.string()
163390
163873
  });
163391
- var emailUnsubscribeContract = c41.router({
163874
+ var emailUnsubscribeContract = c43.router({
163392
163875
  get: {
163393
163876
  method: "GET",
163394
163877
  path: "/api/email/unsubscribe",
163395
163878
  query: emailUnsubscribeQuerySchema,
163396
163879
  responses: {
163397
- 200: c41.otherResponse({
163880
+ 200: c43.otherResponse({
163398
163881
  contentType: "text/html",
163399
163882
  body: external_exports.unknown()
163400
163883
  }),
@@ -163417,8 +163900,8 @@ var emailUnsubscribeContract = c41.router({
163417
163900
 
163418
163901
  // ../../packages/api-contracts/src/contracts/connectors-type-callback.ts
163419
163902
  init_esm_shims();
163420
- var c42 = initContract();
163421
- var connectorsTypeCallbackContract = c42.router({
163903
+ var c44 = initContract();
163904
+ var connectorsTypeCallbackContract = c44.router({
163422
163905
  callback: {
163423
163906
  method: "GET",
163424
163907
  path: "/api/connectors/:type/callback",
@@ -163433,7 +163916,7 @@ var connectorsTypeCallbackContract = c42.router({
163433
163916
  error_description: external_exports.string().optional()
163434
163917
  }),
163435
163918
  responses: {
163436
- 307: c42.noBody()
163919
+ 307: c44.noBody()
163437
163920
  },
163438
163921
  summary: "Complete connector OAuth authorization"
163439
163922
  }
@@ -163441,7 +163924,7 @@ var connectorsTypeCallbackContract = c42.router({
163441
163924
 
163442
163925
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-authorize.ts
163443
163926
  init_esm_shims();
163444
- var c43 = initContract();
163927
+ var c45 = initContract();
163445
163928
  var testOAuthProviderAuthorizeErrorSchema = external_exports.object({
163446
163929
  error: external_exports.string()
163447
163930
  });
@@ -163453,13 +163936,13 @@ var testOAuthProviderAuthorizeQuerySchema = external_exports.object({
163453
163936
  scope: external_exports.string().optional(),
163454
163937
  state: external_exports.string().optional()
163455
163938
  });
163456
- var testOAuthProviderAuthorizeContract = c43.router({
163939
+ var testOAuthProviderAuthorizeContract = c45.router({
163457
163940
  authorize: {
163458
163941
  method: "GET",
163459
163942
  path: "/api/test/oauth-provider/authorize",
163460
163943
  query: testOAuthProviderAuthorizeQuerySchema,
163461
163944
  responses: {
163462
- 302: c43.noBody(),
163945
+ 302: c45.noBody(),
163463
163946
  400: testOAuthProviderAuthorizeErrorSchema,
163464
163947
  404: external_exports.string()
163465
163948
  },
@@ -163469,7 +163952,7 @@ var testOAuthProviderAuthorizeContract = c43.router({
163469
163952
 
163470
163953
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-echo.ts
163471
163954
  init_esm_shims();
163472
- var c44 = initContract();
163955
+ var c46 = initContract();
163473
163956
  var testOAuthProviderEchoErrorSchema = external_exports.object({
163474
163957
  error: external_exports.string()
163475
163958
  });
@@ -163477,7 +163960,7 @@ var testOAuthProviderEchoResponseSchema = external_exports.object({
163477
163960
  authorization: external_exports.string(),
163478
163961
  receivedAt: external_exports.string()
163479
163962
  });
163480
- var testOAuthProviderEchoContract = c44.router({
163963
+ var testOAuthProviderEchoContract = c46.router({
163481
163964
  echo: {
163482
163965
  method: "GET",
163483
163966
  path: "/api/test/oauth-provider/echo",
@@ -163492,7 +163975,7 @@ var testOAuthProviderEchoContract = c44.router({
163492
163975
 
163493
163976
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-token.ts
163494
163977
  init_esm_shims();
163495
- var c45 = initContract();
163978
+ var c47 = initContract();
163496
163979
  var testOAuthProviderTokenErrorSchema = external_exports.object({
163497
163980
  error: external_exports.string(),
163498
163981
  error_description: external_exports.string().optional()
@@ -163504,11 +163987,11 @@ var testOAuthProviderTokenResponseSchema = external_exports.object({
163504
163987
  expires_in: external_exports.number(),
163505
163988
  scope: external_exports.string()
163506
163989
  });
163507
- var testOAuthProviderTokenContract = c45.router({
163990
+ var testOAuthProviderTokenContract = c47.router({
163508
163991
  token: {
163509
163992
  method: "POST",
163510
163993
  path: "/api/test/oauth-provider/token",
163511
- body: c45.type(),
163994
+ body: c47.type(),
163512
163995
  responses: {
163513
163996
  200: testOAuthProviderTokenResponseSchema,
163514
163997
  400: testOAuthProviderTokenErrorSchema,
@@ -163521,7 +164004,7 @@ var testOAuthProviderTokenContract = c45.router({
163521
164004
 
163522
164005
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-device-auth.ts
163523
164006
  init_esm_shims();
163524
- var c46 = initContract();
164007
+ var c48 = initContract();
163525
164008
  var testOAuthProviderDeviceAuthErrorSchema = external_exports.object({
163526
164009
  error: external_exports.string(),
163527
164010
  error_description: external_exports.string().optional()
@@ -163534,11 +164017,11 @@ var testOAuthProviderDeviceAuthResponseSchema = external_exports.object({
163534
164017
  expires_in: external_exports.number(),
163535
164018
  interval: external_exports.number()
163536
164019
  });
163537
- var testOAuthProviderDeviceAuthContract = c46.router({
164020
+ var testOAuthProviderDeviceAuthContract = c48.router({
163538
164021
  deviceAuth: {
163539
164022
  method: "POST",
163540
164023
  path: "/api/test/oauth-provider/device/code",
163541
- body: c46.type(),
164024
+ body: c48.type(),
163542
164025
  responses: {
163543
164026
  200: testOAuthProviderDeviceAuthResponseSchema,
163544
164027
  400: testOAuthProviderDeviceAuthErrorSchema,
@@ -163551,7 +164034,7 @@ var testOAuthProviderDeviceAuthContract = c46.router({
163551
164034
 
163552
164035
  // ../../packages/api-contracts/src/contracts/test-oauth-provider-userinfo.ts
163553
164036
  init_esm_shims();
163554
- var c47 = initContract();
164037
+ var c49 = initContract();
163555
164038
  var testOAuthProviderUserinfoErrorSchema = external_exports.object({
163556
164039
  error: external_exports.string()
163557
164040
  });
@@ -163560,7 +164043,7 @@ var testOAuthProviderUserinfoResponseSchema = external_exports.object({
163560
164043
  id: external_exports.string(),
163561
164044
  username: external_exports.string()
163562
164045
  });
163563
- var testOAuthProviderUserinfoContract = c47.router({
164046
+ var testOAuthProviderUserinfoContract = c49.router({
163564
164047
  userinfo: {
163565
164048
  method: "GET",
163566
164049
  path: "/api/test/oauth-provider/userinfo",
@@ -163575,7 +164058,7 @@ var testOAuthProviderUserinfoContract = c47.router({
163575
164058
 
163576
164059
  // ../../packages/api-contracts/src/contracts/test-slack-dispatch-probe.ts
163577
164060
  init_esm_shims();
163578
- var c48 = initContract();
164061
+ var c50 = initContract();
163579
164062
  var testSlackDispatchProbeBodySchema = external_exports.object({
163580
164063
  team_id: external_exports.string(),
163581
164064
  channel_id: external_exports.string(),
@@ -163603,7 +164086,7 @@ var testSlackDispatchProbeResponseSchema = external_exports.union([
163603
164086
  testSlackDispatchProbeSuccessResponseSchema,
163604
164087
  testSlackDispatchProbeFailureResponseSchema
163605
164088
  ]);
163606
- var testSlackDispatchProbeContract = c48.router({
164089
+ var testSlackDispatchProbeContract = c50.router({
163607
164090
  post: {
163608
164091
  method: "POST",
163609
164092
  path: "/api/test/slack-dispatch-probe",
@@ -163619,7 +164102,7 @@ var testSlackDispatchProbeContract = c48.router({
163619
164102
 
163620
164103
  // ../../packages/api-contracts/src/contracts/test-slack-state.ts
163621
164104
  init_esm_shims();
163622
- var c49 = initContract();
164105
+ var c51 = initContract();
163623
164106
  var testSlackStateErrorSchema = external_exports.object({
163624
164107
  error: external_exports.string()
163625
164108
  });
@@ -163704,7 +164187,7 @@ var testSlackStateResponseSchema = external_exports.object({
163704
164187
  })
163705
164188
  )
163706
164189
  });
163707
- var testSlackStateContract = c49.router({
164190
+ var testSlackStateContract = c51.router({
163708
164191
  get: {
163709
164192
  method: "GET",
163710
164193
  path: "/api/test/slack-state",
@@ -163746,7 +164229,7 @@ var testSlackStateContract = c49.router({
163746
164229
 
163747
164230
  // ../../packages/api-contracts/src/contracts/test-slack-mock.ts
163748
164231
  init_esm_shims();
163749
- var c50 = initContract();
164232
+ var c52 = initContract();
163750
164233
  var slackMockRequestBodySchema = external_exports.unknown().optional();
163751
164234
  var slackMockNotFoundSchema = external_exports.string();
163752
164235
  var testSlackMockOkResponseSchema = external_exports.object({
@@ -163812,7 +164295,7 @@ var testSlackMockUsersInfoResponseSchema = testSlackMockOkResponseSchema.extend(
163812
164295
  })
163813
164296
  })
163814
164297
  });
163815
- var testSlackMockContract = c50.router({
164298
+ var testSlackMockContract = c52.router({
163816
164299
  assistantThreadsSetStatus: {
163817
164300
  method: "POST",
163818
164301
  path: "/api/test/slack-mock/assistant.threads.setStatus",
@@ -163917,7 +164400,7 @@ var testSlackMockContract = c50.router({
163917
164400
 
163918
164401
  // ../../packages/api-contracts/src/contracts/test-telegram-mock.ts
163919
164402
  init_esm_shims();
163920
- var c51 = initContract();
164403
+ var c53 = initContract();
163921
164404
  var testTelegramMockPathParamsSchema = external_exports.object({
163922
164405
  botToken: external_exports.string(),
163923
164406
  method: external_exports.string()
@@ -163930,7 +164413,7 @@ var testTelegramMockErrorResponseSchema = external_exports.object({
163930
164413
  ok: external_exports.literal(false),
163931
164414
  description: external_exports.string()
163932
164415
  });
163933
- var testTelegramMockContract = c51.router({
164416
+ var testTelegramMockContract = c53.router({
163934
164417
  post: {
163935
164418
  method: "POST",
163936
164419
  path: "/api/test/telegram-mock/:botToken/:method",
@@ -163946,7 +164429,7 @@ var testTelegramMockContract = c51.router({
163946
164429
 
163947
164430
  // ../../packages/api-contracts/src/contracts/test-telegram-state.ts
163948
164431
  init_esm_shims();
163949
- var c52 = initContract();
164432
+ var c54 = initContract();
163950
164433
  var testTelegramStateQuerySchema = external_exports.object({
163951
164434
  bot_id: external_exports.string().optional()
163952
164435
  });
@@ -163988,7 +164471,7 @@ var testTelegramStateSeedResponseSchema = external_exports.object({
163988
164471
  user_link_id: external_exports.string().nullable(),
163989
164472
  default_agent_id: external_exports.string()
163990
164473
  });
163991
- var testTelegramStateContract = c52.router({
164474
+ var testTelegramStateContract = c54.router({
163992
164475
  get: {
163993
164476
  method: "GET",
163994
164477
  path: "/api/test/telegram-state",
@@ -164026,7 +164509,7 @@ var testTelegramStateContract = c52.router({
164026
164509
 
164027
164510
  // ../../packages/api-contracts/src/contracts/cron.ts
164028
164511
  init_esm_shims();
164029
- var c53 = initContract();
164512
+ var c55 = initContract();
164030
164513
  var cleanupResultSchema = external_exports.object({
164031
164514
  runId: external_exports.string(),
164032
164515
  sandboxId: external_exports.string().nullable(),
@@ -164041,7 +164524,7 @@ var cleanupResponseSchema = external_exports.object({
164041
164524
  exportJobsCleaned: external_exports.number(),
164042
164525
  exportJobsStuck: external_exports.number()
164043
164526
  });
164044
- var cronCleanupSandboxesContract = c53.router({
164527
+ var cronCleanupSandboxesContract = c55.router({
164045
164528
  /**
164046
164529
  * GET /api/cron/cleanup-sandboxes
164047
164530
  * Cron job to cleanup sandboxes that have stopped sending heartbeats
@@ -164130,7 +164613,7 @@ var cronAggregateModelStatsResponseSchema = external_exports.object({
164130
164613
  windowEnd: external_exports.string(),
164131
164614
  aggregated: external_exports.number()
164132
164615
  });
164133
- var cronAggregateUsageContract = c53.router({
164616
+ var cronAggregateUsageContract = c55.router({
164134
164617
  aggregate: {
164135
164618
  method: "GET",
164136
164619
  path: "/api/cron/aggregate-usage",
@@ -164142,7 +164625,7 @@ var cronAggregateUsageContract = c53.router({
164142
164625
  summary: "Aggregate daily usage cache"
164143
164626
  }
164144
164627
  });
164145
- var cronProcessUsageEventsContract = c53.router({
164628
+ var cronProcessUsageEventsContract = c55.router({
164146
164629
  process: {
164147
164630
  method: "GET",
164148
164631
  path: "/api/cron/process-usage-events",
@@ -164154,7 +164637,7 @@ var cronProcessUsageEventsContract = c53.router({
164154
164637
  summary: "Process pending usage events"
164155
164638
  }
164156
164639
  });
164157
- var cronReconcileBillingEntitlementsContract = c53.router({
164640
+ var cronReconcileBillingEntitlementsContract = c55.router({
164158
164641
  reconcile: {
164159
164642
  method: "GET",
164160
164643
  path: "/api/cron/reconcile-billing-entitlements",
@@ -164166,7 +164649,7 @@ var cronReconcileBillingEntitlementsContract = c53.router({
164166
164649
  summary: "Reconcile billing entitlements"
164167
164650
  }
164168
164651
  });
164169
- var cronTelegramCleanupContract = c53.router({
164652
+ var cronTelegramCleanupContract = c55.router({
164170
164653
  cleanup: {
164171
164654
  method: "GET",
164172
164655
  path: "/api/cron/telegram-cleanup",
@@ -164178,7 +164661,7 @@ var cronTelegramCleanupContract = c53.router({
164178
164661
  summary: "Delete expired Telegram messages"
164179
164662
  }
164180
164663
  });
164181
- var cronComputerUseScreenshotCleanupContract = c53.router({
164664
+ var cronComputerUseScreenshotCleanupContract = c55.router({
164182
164665
  cleanup: {
164183
164666
  method: "GET",
164184
164667
  path: "/api/cron/computer-use-screenshot-cleanup",
@@ -164190,7 +164673,7 @@ var cronComputerUseScreenshotCleanupContract = c53.router({
164190
164673
  summary: "Delete expired desktop computer-use screenshots"
164191
164674
  }
164192
164675
  });
164193
- var cronDrainEmailOutboxContract = c53.router({
164676
+ var cronDrainEmailOutboxContract = c55.router({
164194
164677
  drain: {
164195
164678
  method: "GET",
164196
164679
  path: "/api/cron/drain-email-outbox",
@@ -164202,7 +164685,7 @@ var cronDrainEmailOutboxContract = c53.router({
164202
164685
  summary: "Drain pending email outbox messages"
164203
164686
  }
164204
164687
  });
164205
- var cronRenewGmailWatchesContract = c53.router({
164688
+ var cronRenewGmailWatchesContract = c55.router({
164206
164689
  renew: {
164207
164690
  method: "GET",
164208
164691
  path: "/api/cron/renew-gmail-watches",
@@ -164214,7 +164697,7 @@ var cronRenewGmailWatchesContract = c53.router({
164214
164697
  summary: "Renew Gmail push notification watches"
164215
164698
  }
164216
164699
  });
164217
- var cronSyncSkillsContract = c53.router({
164700
+ var cronSyncSkillsContract = c55.router({
164218
164701
  sync: {
164219
164702
  method: "GET",
164220
164703
  path: "/api/cron/sync-skills",
@@ -164226,7 +164709,7 @@ var cronSyncSkillsContract = c53.router({
164226
164709
  summary: "Sync official skills from the skills repository"
164227
164710
  }
164228
164711
  });
164229
- var cronExecuteAutomationsContract = c53.router({
164712
+ var cronExecuteAutomationsContract = c55.router({
164230
164713
  execute: {
164231
164714
  method: "GET",
164232
164715
  path: "/api/cron/execute-automations",
@@ -164238,7 +164721,7 @@ var cronExecuteAutomationsContract = c53.router({
164238
164721
  summary: "Execute due automation triggers"
164239
164722
  }
164240
164723
  });
164241
- var cronExecuteWorkflowTriggersContract = c53.router({
164724
+ var cronExecuteWorkflowTriggersContract = c55.router({
164242
164725
  execute: {
164243
164726
  method: "GET",
164244
164727
  path: "/api/cron/execute-workflow-triggers",
@@ -164250,7 +164733,7 @@ var cronExecuteWorkflowTriggersContract = c53.router({
164250
164733
  summary: "Execute due workflow schedule triggers"
164251
164734
  }
164252
164735
  });
164253
- var cronAggregateInsightsContract = c53.router({
164736
+ var cronAggregateInsightsContract = c55.router({
164254
164737
  aggregate: {
164255
164738
  method: "GET",
164256
164739
  path: "/api/cron/aggregate-insights",
@@ -164262,7 +164745,7 @@ var cronAggregateInsightsContract = c53.router({
164262
164745
  summary: "Aggregate daily usage insights"
164263
164746
  }
164264
164747
  });
164265
- var cronAggregateModelStatsContract = c53.router({
164748
+ var cronAggregateModelStatsContract = c55.router({
164266
164749
  aggregate: {
164267
164750
  method: "GET",
164268
164751
  path: "/api/cron/aggregate-model-stats",
@@ -164277,7 +164760,7 @@ var cronAggregateModelStatsContract = c53.router({
164277
164760
  summary: "Aggregate hourly model usage statistics"
164278
164761
  }
164279
164762
  });
164280
- var cronSummarizeMemoryContract = c53.router({
164763
+ var cronSummarizeMemoryContract = c55.router({
164281
164764
  summarize: {
164282
164765
  method: "GET",
164283
164766
  path: "/api/cron/summarize-memory",
@@ -164292,7 +164775,7 @@ var cronSummarizeMemoryContract = c53.router({
164292
164775
 
164293
164776
  // ../../packages/api-contracts/src/contracts/chat-threads-v1.ts
164294
164777
  init_esm_shims();
164295
- var c54 = initContract();
164778
+ var c56 = initContract();
164296
164779
  var v1ThreadSchema = external_exports.object({
164297
164780
  id: external_exports.string(),
164298
164781
  title: external_exports.string().nullable(),
@@ -164306,7 +164789,7 @@ var v1MessageSchema = external_exports.object({
164306
164789
  error: external_exports.string().optional(),
164307
164790
  createdAt: external_exports.string()
164308
164791
  });
164309
- var chatThreadV1GetContract = c54.router({
164792
+ var chatThreadV1GetContract = c56.router({
164310
164793
  get: {
164311
164794
  method: "GET",
164312
164795
  path: "/api/v1/chat-threads/:threadId",
@@ -164321,7 +164804,7 @@ var chatThreadV1GetContract = c54.router({
164321
164804
  summary: "Get a chat thread"
164322
164805
  }
164323
164806
  });
164324
- var chatThreadV1MessagesContract = c54.router({
164807
+ var chatThreadV1MessagesContract = c56.router({
164325
164808
  list: {
164326
164809
  method: "GET",
164327
164810
  path: "/api/v1/chat-threads/:threadId/messages",
@@ -164341,7 +164824,7 @@ var chatThreadV1MessagesContract = c54.router({
164341
164824
  summary: "List messages in a chat thread"
164342
164825
  }
164343
164826
  });
164344
- var chatThreadV1SendContract = c54.router({
164827
+ var chatThreadV1SendContract = c56.router({
164345
164828
  send: {
164346
164829
  method: "POST",
164347
164830
  path: "/api/v1/chat-threads/messages",
@@ -164373,7 +164856,7 @@ var chatThreadV1SendContract = c54.router({
164373
164856
 
164374
164857
  // ../../packages/api-contracts/src/contracts/device-token.ts
164375
164858
  init_esm_shims();
164376
- var c55 = initContract();
164859
+ var c57 = initContract();
164377
164860
  var bb0DeviceCodeSchema = external_exports.string().regex(/^[A-Z2-9]{4}-[A-Z2-9]{4}$/);
164378
164861
  var bleSessionNonceSchema = external_exports.string().min(16).max(128).regex(/^[A-Za-z0-9._:-]+$/);
164379
164862
  var pollTokenSchema = external_exports.string().min(32).max(256).regex(/^[A-Za-z0-9._-]+$/);
@@ -164412,7 +164895,7 @@ var confirmBb0DeviceRequestSchema = external_exports.object({
164412
164895
  var confirmBb0DeviceResponseSchema = external_exports.object({
164413
164896
  status: external_exports.literal("approved")
164414
164897
  });
164415
- var deviceTokenContract = c55.router({
164898
+ var deviceTokenContract = c57.router({
164416
164899
  create: {
164417
164900
  method: "POST",
164418
164901
  path: "/api/device-token",
@@ -164437,7 +164920,7 @@ var deviceTokenContract = c55.router({
164437
164920
  summary: "Poll a bb0 device code for approval and final credentials"
164438
164921
  }
164439
164922
  });
164440
- var bb0DeviceConfirmContract = c55.router({
164923
+ var bb0DeviceConfirmContract = c57.router({
164441
164924
  confirm: {
164442
164925
  method: "POST",
164443
164926
  path: "/api/zero/devices/bb0/confirm",
@@ -164456,16 +164939,16 @@ var bb0DeviceConfirmContract = c55.router({
164456
164939
 
164457
164940
  // ../../packages/api-contracts/src/contracts/audio-transcriptions-v1.ts
164458
164941
  init_esm_shims();
164459
- var c56 = initContract();
164942
+ var c58 = initContract();
164460
164943
  var audioTranscriptionV1Schema = external_exports.object({
164461
164944
  text: external_exports.string()
164462
164945
  });
164463
- var audioTranscriptionsV1Contract = c56.router({
164946
+ var audioTranscriptionsV1Contract = c58.router({
164464
164947
  transcribe: {
164465
164948
  method: "POST",
164466
164949
  path: "/api/v1/audio/transcriptions",
164467
164950
  headers: authHeadersSchema,
164468
- body: c56.type(),
164951
+ body: c58.type(),
164469
164952
  responses: {
164470
164953
  200: audioTranscriptionV1Schema,
164471
164954
  400: apiErrorSchema,
@@ -164482,7 +164965,7 @@ var audioTranscriptionsV1Contract = c56.router({
164482
164965
 
164483
164966
  // ../../packages/api-contracts/src/contracts/generate-image.ts
164484
164967
  init_esm_shims();
164485
- var c57 = initContract();
164968
+ var c59 = initContract();
164486
164969
  var generateImageRequestSchema = external_exports.object({
164487
164970
  prompt: external_exports.unknown().optional()
164488
164971
  }).passthrough();
@@ -164493,7 +164976,7 @@ var generatedImageSchema = external_exports.object({
164493
164976
  var generateImageResponseSchema = external_exports.object({
164494
164977
  images: external_exports.array(generatedImageSchema)
164495
164978
  });
164496
- var generateImageContract = c57.router({
164979
+ var generateImageContract = c59.router({
164497
164980
  post: {
164498
164981
  method: "POST",
164499
164982
  path: "/api/generate-image",
@@ -164513,7 +164996,7 @@ var generateImageContract = c57.router({
164513
164996
 
164514
164997
  // ../../packages/api-contracts/src/contracts/realtime.ts
164515
164998
  init_esm_shims();
164516
- var c58 = initContract();
164999
+ var c60 = initContract();
164517
165000
  var ablyTokenRequestSchema = external_exports.object({
164518
165001
  keyName: external_exports.string(),
164519
165002
  ttl: external_exports.number().optional(),
@@ -164523,7 +165006,7 @@ var ablyTokenRequestSchema = external_exports.object({
164523
165006
  nonce: external_exports.string(),
164524
165007
  mac: external_exports.string()
164525
165008
  });
164526
- var runnerRealtimeTokenContract = c58.router({
165009
+ var runnerRealtimeTokenContract = c60.router({
164527
165010
  /**
164528
165011
  * POST /api/runners/realtime/token
164529
165012
  * Get an Ably token to subscribe to a runner group's job notification channel
@@ -164545,7 +165028,7 @@ var runnerRealtimeTokenContract = c58.router({
164545
165028
  summary: "Get Ably token for runner group job notifications"
164546
165029
  }
164547
165030
  });
164548
- var platformRealtimeTokenContract = c58.router({
165031
+ var platformRealtimeTokenContract = c60.router({
164549
165032
  /**
164550
165033
  * POST /api/zero/realtime/token
164551
165034
  * Get an Ably token to subscribe to the authenticated user's push channel
@@ -165202,14 +165685,14 @@ function findMatchingPermissions(method, path4, config4, options = {}) {
165202
165685
 
165203
165686
  // ../../packages/api-contracts/src/contracts/zero-feature-switches.ts
165204
165687
  init_esm_shims();
165205
- var c59 = initContract();
165688
+ var c61 = initContract();
165206
165689
  var featureSwitchesResponseSchema = external_exports.object({
165207
165690
  switches: external_exports.record(external_exports.string(), external_exports.boolean())
165208
165691
  });
165209
165692
  var updateFeatureSwitchesRequestSchema = external_exports.object({
165210
165693
  switches: external_exports.record(external_exports.string(), external_exports.boolean())
165211
165694
  });
165212
- var zeroFeatureSwitchesContract = c59.router({
165695
+ var zeroFeatureSwitchesContract = c61.router({
165213
165696
  get: {
165214
165697
  method: "GET",
165215
165698
  path: "/api/zero/feature-switches",
@@ -165238,7 +165721,7 @@ var zeroFeatureSwitchesContract = c59.router({
165238
165721
  method: "DELETE",
165239
165722
  path: "/api/zero/feature-switches",
165240
165723
  headers: authHeadersSchema,
165241
- body: c59.noBody(),
165724
+ body: c61.noBody(),
165242
165725
  responses: {
165243
165726
  200: external_exports.object({ deleted: external_exports.literal(true) }),
165244
165727
  401: apiErrorSchema,
@@ -165250,7 +165733,7 @@ var zeroFeatureSwitchesContract = c59.router({
165250
165733
 
165251
165734
  // ../../packages/api-contracts/src/contracts/zero-memory.ts
165252
165735
  init_esm_shims();
165253
- var c60 = initContract();
165736
+ var c62 = initContract();
165254
165737
  var memoryFileSchema = external_exports.object({
165255
165738
  path: external_exports.string(),
165256
165739
  size: external_exports.number()
@@ -165268,7 +165751,7 @@ var memoryDetailResponseSchema = external_exports.object({
165268
165751
  files: external_exports.array(memoryFileSchema),
165269
165752
  fileContents: external_exports.array(memoryFileContentSchema)
165270
165753
  });
165271
- var zeroMemoryContract = c60.router({
165754
+ var zeroMemoryContract = c62.router({
165272
165755
  get: {
165273
165756
  method: "GET",
165274
165757
  path: "/api/zero/memory",
@@ -165284,7 +165767,7 @@ var zeroMemoryContract = c60.router({
165284
165767
 
165285
165768
  // ../../packages/api-contracts/src/contracts/onboarding.ts
165286
165769
  init_esm_shims();
165287
- var c61 = initContract();
165770
+ var c63 = initContract();
165288
165771
  var onboardingStatusResponseSchema = external_exports.object({
165289
165772
  needsOnboarding: external_exports.boolean(),
165290
165773
  isAdmin: external_exports.boolean(),
@@ -165297,7 +165780,7 @@ var onboardingStatusResponseSchema = external_exports.object({
165297
165780
  sound: external_exports.string().optional()
165298
165781
  }).nullable()
165299
165782
  });
165300
- var onboardingStatusContract = c61.router({
165783
+ var onboardingStatusContract = c63.router({
165301
165784
  getStatus: {
165302
165785
  method: "GET",
165303
165786
  path: "/api/zero/onboarding/status",
@@ -165309,7 +165792,7 @@ var onboardingStatusContract = c61.router({
165309
165792
  summary: "Get onboarding status for current user"
165310
165793
  }
165311
165794
  });
165312
- var onboardingSetupContract = c61.router({
165795
+ var onboardingSetupContract = c63.router({
165313
165796
  setup: {
165314
165797
  method: "POST",
165315
165798
  path: "/api/zero/onboarding/setup",
@@ -165343,7 +165826,7 @@ var skillFrontmatterSchema = external_exports.object({
165343
165826
 
165344
165827
  // ../../packages/api-contracts/src/contracts/zero-codex-device-auth.ts
165345
165828
  init_esm_shims();
165346
- var c62 = initContract();
165829
+ var c64 = initContract();
165347
165830
  var codexDeviceAuthScopeSchema = external_exports.enum(["org", "personal"]);
165348
165831
  var codexDeviceAuthStartResponseSchema = external_exports.object({
165349
165832
  sessionToken: external_exports.string(),
@@ -165369,7 +165852,7 @@ var codexDeviceAuthCompleteResponseSchema = external_exports.discriminatedUnion(
165369
165852
  var codexDeviceAuthCancelResponseSchema = external_exports.object({
165370
165853
  status: external_exports.literal("cancelled")
165371
165854
  });
165372
- var zeroCodexDeviceAuthContract = c62.router({
165855
+ var zeroCodexDeviceAuthContract = c64.router({
165373
165856
  start: {
165374
165857
  method: "POST",
165375
165858
  path: "/api/zero/model-providers/codex/device-auth/sessions",
@@ -165417,7 +165900,7 @@ var zeroCodexDeviceAuthContract = c62.router({
165417
165900
 
165418
165901
  // ../../packages/api-contracts/src/contracts/zero-claude-code-device-auth.ts
165419
165902
  init_esm_shims();
165420
- var c63 = initContract();
165903
+ var c65 = initContract();
165421
165904
  var claudeCodeDeviceAuthScopeSchema = external_exports.enum(["org", "personal"]);
165422
165905
  var claudeCodeDeviceAuthStartResponseSchema = external_exports.object({
165423
165906
  sessionToken: external_exports.string(),
@@ -165435,7 +165918,7 @@ var claudeCodeDeviceAuthCompleteResponseSchema = external_exports.object({
165435
165918
  var claudeCodeDeviceAuthCancelResponseSchema = external_exports.object({
165436
165919
  status: external_exports.literal("cancelled")
165437
165920
  });
165438
- var zeroClaudeCodeDeviceAuthContract = c63.router({
165921
+ var zeroClaudeCodeDeviceAuthContract = c65.router({
165439
165922
  start: {
165440
165923
  method: "POST",
165441
165924
  path: "/api/zero/model-providers/claude-code/device-auth/sessions",
@@ -165486,12 +165969,12 @@ var zeroClaudeCodeDeviceAuthContract = c63.router({
165486
165969
 
165487
165970
  // ../../packages/api-contracts/src/contracts/zero-org-logo.ts
165488
165971
  init_esm_shims();
165489
- var c64 = initContract();
165972
+ var c66 = initContract();
165490
165973
  var zeroOrgLogoResponseSchema = external_exports.object({
165491
165974
  logoUrl: external_exports.string().nullable(),
165492
165975
  hasImage: external_exports.boolean()
165493
165976
  });
165494
- var zeroOrgLogoContract = c64.router({
165977
+ var zeroOrgLogoContract = c66.router({
165495
165978
  get: {
165496
165979
  method: "GET",
165497
165980
  path: "/api/zero/org/logo",
@@ -165509,7 +165992,7 @@ var zeroOrgLogoContract = c64.router({
165509
165992
  path: "/api/zero/org/logo",
165510
165993
  headers: authHeadersSchema,
165511
165994
  contentType: "multipart/form-data",
165512
- body: c64.type(),
165995
+ body: c66.type(),
165513
165996
  responses: {
165514
165997
  200: zeroOrgLogoResponseSchema,
165515
165998
  400: apiErrorSchema,
@@ -165536,8 +166019,8 @@ var zeroOrgLogoContract = c64.router({
165536
166019
 
165537
166020
  // ../../packages/api-contracts/src/contracts/zero-composes.ts
165538
166021
  init_esm_shims();
165539
- var c65 = initContract();
165540
- var zeroComposesMainContract = c65.router({
166022
+ var c67 = initContract();
166023
+ var zeroComposesMainContract = c67.router({
165541
166024
  getByName: {
165542
166025
  method: "GET",
165543
166026
  path: "/api/zero/composes",
@@ -165555,7 +166038,7 @@ var zeroComposesMainContract = c65.router({
165555
166038
  summary: "Get agent compose by name (zero proxy)"
165556
166039
  }
165557
166040
  });
165558
- var zeroComposesByIdContract = c65.router({
166041
+ var zeroComposesByIdContract = c67.router({
165559
166042
  getById: {
165560
166043
  method: "GET",
165561
166044
  path: "/api/zero/composes/:id",
@@ -165579,9 +166062,9 @@ var zeroComposesByIdContract = c65.router({
165579
166062
  pathParams: external_exports.object({
165580
166063
  id: external_exports.string().uuid("Compose ID is required")
165581
166064
  }),
165582
- body: c65.noBody(),
166065
+ body: c67.noBody(),
165583
166066
  responses: {
165584
- 204: c65.noBody(),
166067
+ 204: c67.noBody(),
165585
166068
  401: apiErrorSchema,
165586
166069
  403: apiErrorSchema,
165587
166070
  404: apiErrorSchema,
@@ -165590,7 +166073,7 @@ var zeroComposesByIdContract = c65.router({
165590
166073
  summary: "Delete agent compose (zero proxy)"
165591
166074
  }
165592
166075
  });
165593
- var zeroComposesMetadataContract = c65.router({
166076
+ var zeroComposesMetadataContract = c67.router({
165594
166077
  update: {
165595
166078
  method: "PATCH",
165596
166079
  path: "/api/zero/composes/:id/metadata",
@@ -165611,7 +166094,7 @@ var zeroComposesMetadataContract = c65.router({
165611
166094
  summary: "Update agent compose metadata (zero proxy)"
165612
166095
  }
165613
166096
  });
165614
- var zeroComposesListContract = c65.router({
166097
+ var zeroComposesListContract = c67.router({
165615
166098
  list: {
165616
166099
  method: "GET",
165617
166100
  path: "/api/zero/composes/list",
@@ -165660,8 +166143,8 @@ var automationViewSchema = external_exports.object({
165660
166143
 
165661
166144
  // ../../packages/api-contracts/src/contracts/zero-personal-model-providers.ts
165662
166145
  init_esm_shims();
165663
- var c66 = initContract();
165664
- var zeroPersonalModelProvidersMainContract = c66.router({
166146
+ var c68 = initContract();
166147
+ var zeroPersonalModelProvidersMainContract = c68.router({
165665
166148
  list: {
165666
166149
  method: "GET",
165667
166150
  path: "/api/zero/me/model-providers",
@@ -165690,7 +166173,7 @@ var zeroPersonalModelProvidersMainContract = c66.router({
165690
166173
  summary: "Create or update a personal model provider for the requesting user"
165691
166174
  }
165692
166175
  });
165693
- var zeroPersonalModelProvidersByTypeContract = c66.router({
166176
+ var zeroPersonalModelProvidersByTypeContract = c68.router({
165694
166177
  delete: {
165695
166178
  method: "DELETE",
165696
166179
  path: "/api/zero/me/model-providers/:type",
@@ -165699,7 +166182,7 @@ var zeroPersonalModelProvidersByTypeContract = c66.router({
165699
166182
  type: modelProviderTypeSchema
165700
166183
  }),
165701
166184
  responses: {
165702
- 204: c66.noBody(),
166185
+ 204: c68.noBody(),
165703
166186
  401: apiErrorSchema,
165704
166187
  404: apiErrorSchema,
165705
166188
  500: apiErrorSchema
@@ -165710,7 +166193,7 @@ var zeroPersonalModelProvidersByTypeContract = c66.router({
165710
166193
 
165711
166194
  // ../../packages/api-contracts/src/contracts/zero-memory-dev-refresh.ts
165712
166195
  init_esm_shims();
165713
- var c67 = initContract();
166196
+ var c69 = initContract();
165714
166197
  var memoryDevRefreshSkippedResponseSchema = external_exports.object({
165715
166198
  skipped: external_exports.literal(true)
165716
166199
  });
@@ -165721,12 +166204,12 @@ var memoryDevRefreshResponseSchema = external_exports.union([
165721
166204
  memoryDevRefreshSkippedResponseSchema,
165722
166205
  memoryDevRefreshSummarizedResponseSchema
165723
166206
  ]);
165724
- var zeroMemoryDevRefreshContract = c67.router({
166207
+ var zeroMemoryDevRefreshContract = c69.router({
165725
166208
  refresh: {
165726
166209
  method: "POST",
165727
166210
  path: "/api/zero/memory/dev-refresh",
165728
166211
  headers: authHeadersSchema,
165729
- body: c67.noBody(),
166212
+ body: c69.noBody(),
165730
166213
  responses: {
165731
166214
  200: memoryDevRefreshResponseSchema,
165732
166215
  401: apiErrorSchema,
@@ -165739,7 +166222,7 @@ var zeroMemoryDevRefreshContract = c67.router({
165739
166222
 
165740
166223
  // ../../packages/api-contracts/src/contracts/api-keys.ts
165741
166224
  init_esm_shims();
165742
- var c68 = initContract();
166225
+ var c70 = initContract();
165743
166226
  var apiKeyItemSchema = external_exports.object({
165744
166227
  id: external_exports.string().uuid(),
165745
166228
  name: external_exports.string(),
@@ -165758,7 +166241,7 @@ var createApiKeyRequestSchema = external_exports.object({
165758
166241
  var createApiKeyResponseSchema = apiKeyItemSchema.extend({
165759
166242
  token: external_exports.string()
165760
166243
  });
165761
- var apiKeysContract = c68.router({
166244
+ var apiKeysContract = c70.router({
165762
166245
  list: {
165763
166246
  method: "GET",
165764
166247
  path: "/api/zero/api-keys",
@@ -165784,14 +166267,14 @@ var apiKeysContract = c68.router({
165784
166267
  summary: "Create a new API key (token returned once)"
165785
166268
  }
165786
166269
  });
165787
- var apiKeysByIdContract = c68.router({
166270
+ var apiKeysByIdContract = c70.router({
165788
166271
  delete: {
165789
166272
  method: "DELETE",
165790
166273
  path: "/api/zero/api-keys/:id",
165791
166274
  headers: authHeadersSchema,
165792
166275
  pathParams: external_exports.object({ id: external_exports.string().uuid() }),
165793
166276
  responses: {
165794
- 204: c68.noBody(),
166277
+ 204: c70.noBody(),
165795
166278
  401: apiErrorSchema,
165796
166279
  404: apiErrorSchema,
165797
166280
  500: apiErrorSchema
@@ -165800,174 +166283,6 @@ var apiKeysByIdContract = c68.router({
165800
166283
  }
165801
166284
  });
165802
166285
 
165803
- // ../../packages/api-contracts/src/contracts/zero-custom-connectors.ts
165804
- init_esm_shims();
165805
- var c69 = initContract();
165806
- var customConnectorResponseSchema = external_exports.object({
165807
- id: external_exports.string().uuid(),
165808
- slug: external_exports.string(),
165809
- displayName: external_exports.string(),
165810
- prefixes: external_exports.array(external_exports.string()),
165811
- headerName: external_exports.string(),
165812
- headerTemplate: external_exports.string(),
165813
- createdAt: external_exports.string(),
165814
- updatedAt: external_exports.string(),
165815
- hasSecret: external_exports.boolean()
165816
- });
165817
- var customConnectorListResponseSchema = external_exports.object({
165818
- connectors: external_exports.array(customConnectorResponseSchema)
165819
- });
165820
- var customConnectorPrefixSchema = external_exports.string().min(1).refine(
165821
- (value) => {
165822
- try {
165823
- new URL(value);
165824
- return true;
165825
- } catch {
165826
- return false;
165827
- }
165828
- },
165829
- { message: "Invalid URL" }
165830
- );
165831
- var createCustomConnectorBodySchema = external_exports.object({
165832
- displayName: external_exports.string().min(1).max(128),
165833
- prefixes: external_exports.array(customConnectorPrefixSchema).min(1),
165834
- headerName: external_exports.string().min(1).max(128),
165835
- headerTemplate: external_exports.string().min(1),
165836
- slug: external_exports.string().optional()
165837
- });
165838
- var setCustomConnectorSecretBodySchema = external_exports.object({
165839
- value: external_exports.string().min(1)
165840
- });
165841
- var patchCustomConnectorBodySchema = external_exports.object({
165842
- displayName: external_exports.string().min(1).max(128)
165843
- });
165844
- var zeroCustomConnectorsContract = c69.router({
165845
- list: {
165846
- method: "GET",
165847
- path: "/api/zero/custom-connectors",
165848
- headers: authHeadersSchema,
165849
- responses: {
165850
- 200: customConnectorListResponseSchema,
165851
- 401: apiErrorSchema,
165852
- 500: apiErrorSchema
165853
- },
165854
- summary: "List org custom connectors"
165855
- },
165856
- create: {
165857
- method: "POST",
165858
- path: "/api/zero/custom-connectors",
165859
- headers: authHeadersSchema,
165860
- body: createCustomConnectorBodySchema,
165861
- responses: {
165862
- 201: customConnectorResponseSchema,
165863
- 400: apiErrorSchema,
165864
- 401: apiErrorSchema,
165865
- 403: apiErrorSchema,
165866
- 500: apiErrorSchema
165867
- },
165868
- summary: "Create an org custom connector"
165869
- }
165870
- });
165871
- var zeroCustomConnectorByIdContract = c69.router({
165872
- delete: {
165873
- method: "DELETE",
165874
- path: "/api/zero/custom-connectors/:id",
165875
- headers: authHeadersSchema,
165876
- pathParams: external_exports.object({ id: external_exports.string().uuid() }),
165877
- responses: {
165878
- 204: c69.noBody(),
165879
- 401: apiErrorSchema,
165880
- 403: apiErrorSchema,
165881
- 404: apiErrorSchema,
165882
- 500: apiErrorSchema
165883
- },
165884
- summary: "Delete an org custom connector"
165885
- },
165886
- patch: {
165887
- method: "PATCH",
165888
- path: "/api/zero/custom-connectors/:id",
165889
- headers: authHeadersSchema,
165890
- pathParams: external_exports.object({ id: external_exports.string().uuid() }),
165891
- body: patchCustomConnectorBodySchema,
165892
- responses: {
165893
- 200: customConnectorResponseSchema,
165894
- 400: apiErrorSchema,
165895
- 401: apiErrorSchema,
165896
- 403: apiErrorSchema,
165897
- 404: apiErrorSchema,
165898
- 500: apiErrorSchema
165899
- },
165900
- summary: "Rename an org custom connector"
165901
- }
165902
- });
165903
- var zeroCustomConnectorSecretContract = c69.router({
165904
- set: {
165905
- method: "PUT",
165906
- path: "/api/zero/custom-connectors/:id/secret",
165907
- headers: authHeadersSchema,
165908
- pathParams: external_exports.object({ id: external_exports.string().uuid() }),
165909
- body: setCustomConnectorSecretBodySchema,
165910
- responses: {
165911
- 204: c69.noBody(),
165912
- 400: apiErrorSchema,
165913
- 401: apiErrorSchema,
165914
- 404: apiErrorSchema,
165915
- 500: apiErrorSchema
165916
- },
165917
- summary: "Set the calling user's secret for a custom connector"
165918
- },
165919
- delete: {
165920
- method: "DELETE",
165921
- path: "/api/zero/custom-connectors/:id/secret",
165922
- headers: authHeadersSchema,
165923
- pathParams: external_exports.object({ id: external_exports.string().uuid() }),
165924
- responses: {
165925
- 204: c69.noBody(),
165926
- 401: apiErrorSchema,
165927
- 404: apiErrorSchema,
165928
- 500: apiErrorSchema
165929
- },
165930
- summary: "Clear the calling user's secret for a custom connector"
165931
- }
165932
- });
165933
-
165934
- // ../../packages/api-contracts/src/contracts/zero-agent-custom-connectors.ts
165935
- init_esm_shims();
165936
- var c70 = initContract();
165937
- var agentCustomConnectorEnabledIdsSchema = external_exports.object({
165938
- enabledIds: external_exports.array(external_exports.string().uuid())
165939
- });
165940
- var zeroAgentCustomConnectorsContract = c70.router({
165941
- get: {
165942
- method: "GET",
165943
- path: "/api/zero/agents/:id/custom-connectors",
165944
- headers: authHeadersSchema,
165945
- pathParams: external_exports.object({ id: external_exports.string().uuid() }),
165946
- responses: {
165947
- 200: agentCustomConnectorEnabledIdsSchema,
165948
- 401: apiErrorSchema,
165949
- 403: apiErrorSchema,
165950
- 404: apiErrorSchema
165951
- },
165952
- summary: "Get enabled custom connector ids for user on agent"
165953
- },
165954
- update: {
165955
- method: "PUT",
165956
- path: "/api/zero/agents/:id/custom-connectors",
165957
- headers: authHeadersSchema,
165958
- pathParams: external_exports.object({ id: external_exports.string().uuid() }),
165959
- body: agentCustomConnectorEnabledIdsSchema,
165960
- responses: {
165961
- 200: agentCustomConnectorEnabledIdsSchema,
165962
- 400: apiErrorSchema,
165963
- 401: apiErrorSchema,
165964
- 403: apiErrorSchema,
165965
- 404: apiErrorSchema
165966
- },
165967
- summary: "Replace enabled custom connector ids for user on agent"
165968
- }
165969
- });
165970
-
165971
166286
  // ../../packages/api-contracts/src/contracts/github-oauth.ts
165972
166287
  init_esm_shims();
165973
166288
  var c71 = initContract();
@@ -168058,12 +168373,6 @@ var FEATURE_SWITCHES = {
168058
168373
  enabled: false,
168059
168374
  enabledOrgIdHashes: STAFF_ORG_ID_HASHES
168060
168375
  },
168061
- ["automationMultiTrigger" /* AutomationMultiTrigger */]: {
168062
- maintainer: "lancy@vm0.ai",
168063
- description: "Show the resource-aware Automation trigger section in Apps/platform. While off, platform keeps the legacy single-time-trigger editing projection.",
168064
- enabled: false,
168065
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
168066
- },
168067
168376
  ["workflowGmailEventTriggers" /* WorkflowGmailEventTriggers */]: {
168068
168377
  maintainer: "lancy@vm0.ai",
168069
168378
  description: "Allow Gmail new-message workflow event triggers. Creating/enabling requires a connected Gmail connector and Pub/Sub watch setup; matched inbound messages run the linked workflow.",
@@ -168080,6 +168389,12 @@ var FEATURE_SWITCHES = {
168080
168389
  description: "Default the chat composer to a single-line resting height on mobile (below the md breakpoint) instead of the three-line desktop height.",
168081
168390
  enabled: false,
168082
168391
  enabledOrgIdHashes: STAFF_ORG_ID_HASHES
168392
+ },
168393
+ ["customConnectorProposals" /* CustomConnectorProposals */]: {
168394
+ maintainer: "ethan@vm0.ai",
168395
+ description: "Enable custom connector proposal cards, multi-field custom connector definitions, and agent-driven custom connector setup.",
168396
+ enabled: false,
168397
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
168083
168398
  }
168084
168399
  };
168085
168400
 
@@ -169674,6 +169989,7 @@ export {
169674
169989
  deleteZeroAgent,
169675
169990
  getZeroAgentInstructions,
169676
169991
  getZeroAgentUserConnectors,
169992
+ getZeroAgentCustomConnectors,
169677
169993
  listZeroUserPermissionGrants,
169678
169994
  updateZeroAgentInstructions,
169679
169995
  listWorkflows,
@@ -169697,10 +170013,13 @@ export {
169697
170013
  completeGoal,
169698
170014
  blockGoal,
169699
170015
  resumeGoal,
170016
+ customConnectorProposalSchema,
169700
170017
  listZeroConnectors,
169701
170018
  searchZeroConnectors,
169702
170019
  getZeroConnector,
169703
170020
  connectZeroConnectorManualGrant,
170021
+ listZeroCustomConnectors,
170022
+ getZeroCustomConnector,
169704
170023
  sendSlackMessage,
169705
170024
  initSlackFileUpload,
169706
170025
  completeSlackFileUpload,
@@ -169729,13 +170048,7 @@ export {
169729
170048
  enableAutomation,
169730
170049
  disableAutomation,
169731
170050
  runAutomation,
169732
- addAutomationTrigger,
169733
- listAutomationTriggers,
169734
- showAutomationTrigger,
169735
170051
  updateAutomationTrigger,
169736
- removeAutomationTrigger,
169737
- enableAutomationTrigger,
169738
- disableAutomationTrigger,
169739
170052
  getZeroRunAgentEvents,
169740
170053
  getZeroRunContext,
169741
170054
  listZeroLogs,
@@ -169833,4 +170146,4 @@ undici/lib/web/fetch/body.js:
169833
170146
  undici/lib/web/websocket/frame.js:
169834
170147
  (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
169835
170148
  */
169836
- //# sourceMappingURL=chunk-QVNEGQGL.js.map
170149
+ //# sourceMappingURL=chunk-NQ6BMAY6.js.map