@vm0/cli 9.247.1 → 9.249.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.
Files changed (94) hide show
  1. package/{agent-3O7DLCI6.js → agent-J7UZFWFE.js} +5 -5
  2. package/{banking-N7TH3M6W.js → banking-TLHPJBS5.js} +3 -3
  3. package/{chat-OBBQFVCB.js → chat-PWHG42AL.js} +4 -4
  4. package/{chunk-GKHJ3S5D.js → chunk-3QXK5RR7.js} +384 -59
  5. package/chunk-3QXK5RR7.js.map +1 -0
  6. package/{chunk-VU77IVUB.js → chunk-6IFIMWPY.js} +4 -4
  7. package/{chunk-DZD2Q43U.js → chunk-HJOW32CJ.js} +2 -2
  8. package/{chunk-QRHGYCWC.js → chunk-LDQPMTQY.js} +16 -9
  9. package/chunk-LDQPMTQY.js.map +1 -0
  10. package/{chunk-OMHLRPHF.js → chunk-PD3A7MGG.js} +2 -2
  11. package/{chunk-HURTTXSE.js → chunk-XE764T2N.js} +5 -4
  12. package/{chunk-HURTTXSE.js.map → chunk-XE764T2N.js.map} +1 -1
  13. package/{chunk-Q7VOF4A7.js → chunk-ZJENFGWZ.js} +2 -2
  14. package/{chunk-H2K5IOKP.js → chunk-ZKWCFMDV.js} +2 -2
  15. package/{computer-use-DDLC5V5I.js → computer-use-EE6NPCXS.js} +3 -3
  16. package/{connector-B5FZ7XAI.js → connector-SCLSWTMT.js} +6 -6
  17. package/{credit-TQO2WBDH.js → credit-2VN2PYRE.js} +4 -4
  18. package/{developer-support-MD4JFNGZ.js → developer-support-V3N3BOYC.js} +3 -3
  19. package/{doctor-5MTAY24M.js → doctor-AQLFJCC6.js} +3 -3
  20. package/feishu-XHOLF32I.js +118 -0
  21. package/feishu-XHOLF32I.js.map +1 -0
  22. package/finance-TF5RU7FD.js +127 -0
  23. package/finance-TF5RU7FD.js.map +1 -0
  24. package/{generate-SM3OV5ZY.js → generate-GFFAZX7Y.js} +4 -4
  25. package/{github-WXLSVDOU.js → github-V4ZW6TI4.js} +3 -3
  26. package/{goal-PWPTJOJN.js → goal-TED5FUYM.js} +3 -3
  27. package/{host-T577B7RC.js → host-HKDD3CHD.js} +3 -3
  28. package/{logs-FEVPNDNK.js → logs-SBMQQM46.js} +4 -4
  29. package/{mail-TFOXDOES.js → mail-SF5JKA2F.js} +5 -5
  30. package/{maps-T4DRJFI4.js → maps-D5NKFEAD.js} +3 -3
  31. package/{model-RBM5HPKS.js → model-S7CMGRIH.js} +4 -4
  32. package/{model-provider-FF4FXASQ.js → model-provider-ATXIDNKM.js} +4 -4
  33. package/{org-3QDTGZ2T.js → org-6JBRK5NL.js} +3 -3
  34. package/package.json +1 -1
  35. package/{phone-2HDY74SX.js → phone-B3UWRGWF.js} +3 -3
  36. package/{preference-HQRO26MP.js → preference-HRRRUEP3.js} +3 -3
  37. package/{resource-G6DNQIC7.js → resource-65P5D2LT.js} +3 -3
  38. package/{scrape-YFDOJTOR.js → scrape-N3AWNV2R.js} +3 -3
  39. package/{search-BARFJYS3.js → search-T76RE67L.js} +4 -4
  40. package/{secret-EYV5LULE.js → secret-WALMH6S2.js} +3 -3
  41. package/{slack-GRHTZFLV.js → slack-WXDCNAI2.js} +171 -45
  42. package/slack-WXDCNAI2.js.map +1 -0
  43. package/{teams-IJX57ZTA.js → teams-LAQBLRUR.js} +3 -3
  44. package/{telegram-SDYOW52Z.js → telegram-5BASFBEA.js} +3 -3
  45. package/{variable-YDBXBWEI.js → variable-GBVHKR6I.js} +3 -3
  46. package/{video-447INHV3.js → video-3FXQGBYB.js} +2 -2
  47. package/{weather-2RRPLFNE.js → weather-JNMUODGJ.js} +3 -3
  48. package/{web-Q27RVDI3.js → web-DZT26X4I.js} +3 -3
  49. package/{web-search-ZCWKTFQE.js → web-search-36UUSSUX.js} +3 -3
  50. package/{whoami-KXICC7YZ.js → whoami-NXYCNII4.js} +5 -5
  51. package/{workflow-ZTBOMB6B.js → workflow-WHTBJCEF.js} +3 -3
  52. package/zero.js +55 -37
  53. package/zero.js.map +1 -1
  54. package/chunk-GKHJ3S5D.js.map +0 -1
  55. package/chunk-QRHGYCWC.js.map +0 -1
  56. package/slack-GRHTZFLV.js.map +0 -1
  57. /package/{agent-3O7DLCI6.js.map → agent-J7UZFWFE.js.map} +0 -0
  58. /package/{banking-N7TH3M6W.js.map → banking-TLHPJBS5.js.map} +0 -0
  59. /package/{chat-OBBQFVCB.js.map → chat-PWHG42AL.js.map} +0 -0
  60. /package/{chunk-VU77IVUB.js.map → chunk-6IFIMWPY.js.map} +0 -0
  61. /package/{chunk-DZD2Q43U.js.map → chunk-HJOW32CJ.js.map} +0 -0
  62. /package/{chunk-OMHLRPHF.js.map → chunk-PD3A7MGG.js.map} +0 -0
  63. /package/{chunk-Q7VOF4A7.js.map → chunk-ZJENFGWZ.js.map} +0 -0
  64. /package/{chunk-H2K5IOKP.js.map → chunk-ZKWCFMDV.js.map} +0 -0
  65. /package/{computer-use-DDLC5V5I.js.map → computer-use-EE6NPCXS.js.map} +0 -0
  66. /package/{connector-B5FZ7XAI.js.map → connector-SCLSWTMT.js.map} +0 -0
  67. /package/{credit-TQO2WBDH.js.map → credit-2VN2PYRE.js.map} +0 -0
  68. /package/{developer-support-MD4JFNGZ.js.map → developer-support-V3N3BOYC.js.map} +0 -0
  69. /package/{doctor-5MTAY24M.js.map → doctor-AQLFJCC6.js.map} +0 -0
  70. /package/{generate-SM3OV5ZY.js.map → generate-GFFAZX7Y.js.map} +0 -0
  71. /package/{github-WXLSVDOU.js.map → github-V4ZW6TI4.js.map} +0 -0
  72. /package/{goal-PWPTJOJN.js.map → goal-TED5FUYM.js.map} +0 -0
  73. /package/{host-T577B7RC.js.map → host-HKDD3CHD.js.map} +0 -0
  74. /package/{logs-FEVPNDNK.js.map → logs-SBMQQM46.js.map} +0 -0
  75. /package/{mail-TFOXDOES.js.map → mail-SF5JKA2F.js.map} +0 -0
  76. /package/{maps-T4DRJFI4.js.map → maps-D5NKFEAD.js.map} +0 -0
  77. /package/{model-RBM5HPKS.js.map → model-S7CMGRIH.js.map} +0 -0
  78. /package/{model-provider-FF4FXASQ.js.map → model-provider-ATXIDNKM.js.map} +0 -0
  79. /package/{org-3QDTGZ2T.js.map → org-6JBRK5NL.js.map} +0 -0
  80. /package/{phone-2HDY74SX.js.map → phone-B3UWRGWF.js.map} +0 -0
  81. /package/{preference-HQRO26MP.js.map → preference-HRRRUEP3.js.map} +0 -0
  82. /package/{resource-G6DNQIC7.js.map → resource-65P5D2LT.js.map} +0 -0
  83. /package/{scrape-YFDOJTOR.js.map → scrape-N3AWNV2R.js.map} +0 -0
  84. /package/{search-BARFJYS3.js.map → search-T76RE67L.js.map} +0 -0
  85. /package/{secret-EYV5LULE.js.map → secret-WALMH6S2.js.map} +0 -0
  86. /package/{teams-IJX57ZTA.js.map → teams-LAQBLRUR.js.map} +0 -0
  87. /package/{telegram-SDYOW52Z.js.map → telegram-5BASFBEA.js.map} +0 -0
  88. /package/{variable-YDBXBWEI.js.map → variable-GBVHKR6I.js.map} +0 -0
  89. /package/{video-447INHV3.js.map → video-3FXQGBYB.js.map} +0 -0
  90. /package/{weather-2RRPLFNE.js.map → weather-JNMUODGJ.js.map} +0 -0
  91. /package/{web-Q27RVDI3.js.map → web-DZT26X4I.js.map} +0 -0
  92. /package/{web-search-ZCWKTFQE.js.map → web-search-36UUSSUX.js.map} +0 -0
  93. /package/{whoami-KXICC7YZ.js.map → whoami-NXYCNII4.js.map} +0 -0
  94. /package/{workflow-ZTBOMB6B.js.map → workflow-WHTBJCEF.js.map} +0 -0
@@ -21,7 +21,7 @@ import {
21
21
  updateOrgModelPoliciesRequestSchema,
22
22
  upsertModelProviderRequestSchema,
23
23
  upsertModelProviderResponseSchema
24
- } from "./chunk-HURTTXSE.js";
24
+ } from "./chunk-XE764T2N.js";
25
25
  import {
26
26
  __commonJS,
27
27
  __esm,
@@ -3367,8 +3367,30 @@ var attachFileSchema = external_exports.object({
3367
3367
  contentType: external_exports.string(),
3368
3368
  size: external_exports.number()
3369
3369
  });
3370
+ var assetMaterializationSchema = external_exports.discriminatedUnion("status", [
3371
+ external_exports.object({ status: external_exports.literal("ready") }),
3372
+ external_exports.object({ status: external_exports.literal("pending") }),
3373
+ external_exports.object({
3374
+ status: external_exports.literal("failed"),
3375
+ error: external_exports.object({
3376
+ code: external_exports.string(),
3377
+ message: external_exports.string(),
3378
+ retryable: external_exports.boolean()
3379
+ })
3380
+ })
3381
+ ]);
3382
+ var assetRefSchema = external_exports.object({
3383
+ id: external_exports.string().uuid(),
3384
+ classification: external_exports.enum(["input", "published-output"]),
3385
+ access: external_exports.enum(["private", "published"]),
3386
+ materialization: assetMaterializationSchema,
3387
+ provenance: external_exports.object({
3388
+ provider: external_exports.string()
3389
+ }).optional()
3390
+ });
3370
3391
  var resolvedAttachFileSchema = attachFileSchema.extend({
3371
- url: external_exports.string()
3392
+ url: external_exports.string(),
3393
+ assetRef: assetRefSchema.optional()
3372
3394
  });
3373
3395
  var chatThreadArtifactGoogleDriveSyncSchema = external_exports.discriminatedUnion("status", [
3374
3396
  external_exports.object({
@@ -3403,6 +3425,7 @@ var artifactItemSchema = external_exports.object({
3403
3425
  contentType: external_exports.string(),
3404
3426
  size: external_exports.number().default(0),
3405
3427
  url: external_exports.string(),
3428
+ assetRef: assetRefSchema.optional(),
3406
3429
  previewImageUrl: external_exports.string().optional(),
3407
3430
  createdAt: external_exports.string(),
3408
3431
  updatedAt: external_exports.string(),
@@ -9197,6 +9220,149 @@ async function callZeroWebSearch(body) {
9197
9220
  handleError(result, "Failed to search the web");
9198
9221
  }
9199
9222
 
9223
+ // ../../packages/api-contracts/src/contracts/zero-finance.ts
9224
+ init_esm_shims();
9225
+ var c31 = initContract();
9226
+ var ZERO_FINANCE_DEFAULT_RANGE = "1y";
9227
+ var ZERO_FINANCE_DEFAULT_INTERVAL = "1d";
9228
+ var ZERO_FINANCE_MAX_QUERY_CHARS = 512;
9229
+ var ZERO_FINANCE_MAX_SYMBOL_CHARS = 64;
9230
+ var zeroFinanceRangeSchema = external_exports.enum([
9231
+ "1d",
9232
+ "5d",
9233
+ "1mo",
9234
+ "3mo",
9235
+ "6mo",
9236
+ "1y",
9237
+ "2y",
9238
+ "5y",
9239
+ "10y",
9240
+ "ytd",
9241
+ "max"
9242
+ ]);
9243
+ var zeroFinanceIntervalSchema = external_exports.enum([
9244
+ "1m",
9245
+ "2m",
9246
+ "5m",
9247
+ "15m",
9248
+ "30m",
9249
+ "60m",
9250
+ "1d",
9251
+ "1wk",
9252
+ "1mo"
9253
+ ]);
9254
+ var zeroFinanceSearchRequestSchema = external_exports.object({
9255
+ query: external_exports.string().trim().min(1).max(ZERO_FINANCE_MAX_QUERY_CHARS)
9256
+ });
9257
+ var zeroFinanceSymbolSchema = external_exports.string().trim().min(1).max(ZERO_FINANCE_MAX_SYMBOL_CHARS);
9258
+ var zeroFinanceProfileRequestSchema = external_exports.object({
9259
+ symbol: zeroFinanceSymbolSchema
9260
+ });
9261
+ var zeroFinanceQuoteRequestSchema = external_exports.object({
9262
+ symbol: zeroFinanceSymbolSchema
9263
+ });
9264
+ var zeroFinanceChartRequestSchema = external_exports.object({
9265
+ symbol: zeroFinanceSymbolSchema,
9266
+ range: zeroFinanceRangeSchema.default(ZERO_FINANCE_DEFAULT_RANGE),
9267
+ interval: zeroFinanceIntervalSchema.default(ZERO_FINANCE_DEFAULT_INTERVAL)
9268
+ });
9269
+ var zeroFinanceOperationSchema = external_exports.enum([
9270
+ "search",
9271
+ "profile",
9272
+ "quote",
9273
+ "chart"
9274
+ ]);
9275
+ var zeroFinanceResponseSchema = external_exports.object({
9276
+ operation: zeroFinanceOperationSchema,
9277
+ provider: external_exports.literal("apidojo"),
9278
+ billingCategory: external_exports.literal("request"),
9279
+ billingQuantity: external_exports.literal(1),
9280
+ creditsCharged: external_exports.number().int().nonnegative(),
9281
+ result: external_exports.unknown()
9282
+ });
9283
+ var financeResponses = {
9284
+ 200: zeroFinanceResponseSchema,
9285
+ 400: apiErrorSchema,
9286
+ 401: apiErrorSchema,
9287
+ 402: apiErrorSchema,
9288
+ 403: apiErrorSchema,
9289
+ 502: apiErrorSchema,
9290
+ 503: apiErrorSchema
9291
+ };
9292
+ var zeroFinanceContract = c31.router({
9293
+ search: {
9294
+ method: "POST",
9295
+ path: "/api/zero/finance/search",
9296
+ headers: authHeadersSchema,
9297
+ body: zeroFinanceSearchRequestSchema,
9298
+ responses: financeResponses,
9299
+ summary: "Search financial instruments through managed Zero Finance"
9300
+ },
9301
+ profile: {
9302
+ method: "POST",
9303
+ path: "/api/zero/finance/profile",
9304
+ headers: authHeadersSchema,
9305
+ body: zeroFinanceProfileRequestSchema,
9306
+ responses: financeResponses,
9307
+ summary: "Fetch a company profile through managed Zero Finance"
9308
+ },
9309
+ quote: {
9310
+ method: "POST",
9311
+ path: "/api/zero/finance/quote",
9312
+ headers: authHeadersSchema,
9313
+ body: zeroFinanceQuoteRequestSchema,
9314
+ responses: financeResponses,
9315
+ summary: "Fetch a market quote through managed Zero Finance"
9316
+ },
9317
+ chart: {
9318
+ method: "POST",
9319
+ path: "/api/zero/finance/chart",
9320
+ headers: authHeadersSchema,
9321
+ body: zeroFinanceChartRequestSchema,
9322
+ responses: financeResponses,
9323
+ summary: "Fetch market chart data through managed Zero Finance"
9324
+ }
9325
+ });
9326
+
9327
+ // src/lib/api/domains/zero-finance.ts
9328
+ init_esm_shims();
9329
+ async function callZeroFinanceSearch(body) {
9330
+ const config = await getClientConfig();
9331
+ const client = initClient(zeroFinanceContract, config);
9332
+ const result = await client.search({ headers: {}, body });
9333
+ if (result.status === 200) {
9334
+ return result.body;
9335
+ }
9336
+ handleError(result, "Failed to search financial instruments");
9337
+ }
9338
+ async function callZeroFinanceProfile(body) {
9339
+ const config = await getClientConfig();
9340
+ const client = initClient(zeroFinanceContract, config);
9341
+ const result = await client.profile({ headers: {}, body });
9342
+ if (result.status === 200) {
9343
+ return result.body;
9344
+ }
9345
+ handleError(result, "Failed to fetch finance profile");
9346
+ }
9347
+ async function callZeroFinanceQuote(body) {
9348
+ const config = await getClientConfig();
9349
+ const client = initClient(zeroFinanceContract, config);
9350
+ const result = await client.quote({ headers: {}, body });
9351
+ if (result.status === 200) {
9352
+ return result.body;
9353
+ }
9354
+ handleError(result, "Failed to fetch finance quote");
9355
+ }
9356
+ async function callZeroFinanceChart(body) {
9357
+ const config = await getClientConfig();
9358
+ const client = initClient(zeroFinanceContract, config);
9359
+ const result = await client.chart({ headers: {}, body });
9360
+ if (result.status === 200) {
9361
+ return result.body;
9362
+ }
9363
+ handleError(result, "Failed to fetch finance chart");
9364
+ }
9365
+
9200
9366
  // src/lib/api/domains/zero-banking.ts
9201
9367
  init_esm_shims();
9202
9368
  function authenticatedJsonHeaders3(token) {
@@ -9317,8 +9483,8 @@ var setVariableRequestSchema = external_exports.object({
9317
9483
  });
9318
9484
 
9319
9485
  // ../../packages/api-contracts/src/contracts/zero-secrets.ts
9320
- var c31 = initContract();
9321
- var zeroSecretsContract = c31.router({
9486
+ var c32 = initContract();
9487
+ var zeroSecretsContract = c32.router({
9322
9488
  list: {
9323
9489
  method: "GET",
9324
9490
  path: "/api/zero/secrets",
@@ -9345,7 +9511,7 @@ var zeroSecretsContract = c31.router({
9345
9511
  summary: "Create or update a secret"
9346
9512
  }
9347
9513
  });
9348
- var zeroSecretsByNameContract = c31.router({
9514
+ var zeroSecretsByNameContract = c32.router({
9349
9515
  delete: {
9350
9516
  method: "DELETE",
9351
9517
  path: "/api/zero/secrets/:name",
@@ -9354,7 +9520,7 @@ var zeroSecretsByNameContract = c31.router({
9354
9520
  name: secretNameSchema
9355
9521
  }),
9356
9522
  responses: {
9357
- 204: c31.noBody(),
9523
+ 204: c32.noBody(),
9358
9524
  401: apiErrorSchema,
9359
9525
  404: apiErrorSchema,
9360
9526
  500: apiErrorSchema
@@ -9362,7 +9528,7 @@ var zeroSecretsByNameContract = c31.router({
9362
9528
  summary: "Delete a secret by name"
9363
9529
  }
9364
9530
  });
9365
- var zeroVariablesContract = c31.router({
9531
+ var zeroVariablesContract = c32.router({
9366
9532
  list: {
9367
9533
  method: "GET",
9368
9534
  path: "/api/zero/variables",
@@ -9389,7 +9555,7 @@ var zeroVariablesContract = c31.router({
9389
9555
  summary: "Create or update a variable"
9390
9556
  }
9391
9557
  });
9392
- var zeroVariablesByNameContract = c31.router({
9558
+ var zeroVariablesByNameContract = c32.router({
9393
9559
  delete: {
9394
9560
  method: "DELETE",
9395
9561
  path: "/api/zero/variables/:name",
@@ -9398,7 +9564,7 @@ var zeroVariablesByNameContract = c31.router({
9398
9564
  name: variableNameSchema
9399
9565
  }),
9400
9566
  responses: {
9401
- 204: c31.noBody(),
9567
+ 204: c32.noBody(),
9402
9568
  401: apiErrorSchema,
9403
9569
  404: apiErrorSchema,
9404
9570
  500: apiErrorSchema
@@ -9539,9 +9705,9 @@ init_esm_shims();
9539
9705
 
9540
9706
  // ../../packages/api-contracts/src/contracts/zero-model-providers.ts
9541
9707
  init_esm_shims();
9542
- var c32 = initContract();
9708
+ var c33 = initContract();
9543
9709
  var orgUpsertModelProviderRequestSchema = upsertModelProviderRequestSchema.omit({ selectedModel: true });
9544
- var zeroModelProvidersMainContract = c32.router({
9710
+ var zeroModelProvidersMainContract = c33.router({
9545
9711
  list: {
9546
9712
  method: "GET",
9547
9713
  path: "/api/zero/model-providers",
@@ -9570,7 +9736,7 @@ var zeroModelProvidersMainContract = c32.router({
9570
9736
  summary: "Create or update an org-level model provider (admin only)"
9571
9737
  }
9572
9738
  });
9573
- var zeroModelProvidersByTypeContract = c32.router({
9739
+ var zeroModelProvidersByTypeContract = c33.router({
9574
9740
  delete: {
9575
9741
  method: "DELETE",
9576
9742
  path: "/api/zero/model-providers/:type",
@@ -9579,7 +9745,7 @@ var zeroModelProvidersByTypeContract = c32.router({
9579
9745
  type: modelProviderTypeSchema
9580
9746
  }),
9581
9747
  responses: {
9582
- 204: c32.noBody(),
9748
+ 204: c33.noBody(),
9583
9749
  401: apiErrorSchema,
9584
9750
  403: apiErrorSchema,
9585
9751
  404: apiErrorSchema,
@@ -9625,7 +9791,7 @@ init_esm_shims();
9625
9791
 
9626
9792
  // ../../packages/api-contracts/src/contracts/zero-workflows.ts
9627
9793
  init_esm_shims();
9628
- var c33 = initContract();
9794
+ var c34 = initContract();
9629
9795
  var zeroWorkflowVisibilitySchema = external_exports.enum(["public", "private"]);
9630
9796
  var zeroWorkflowNameSchema = external_exports.string().min(2).max(64).regex(/^[a-z0-9][a-z0-9-]*[a-z0-9]$/);
9631
9797
  var RESERVED_SKILL_FILE = "SKILL.md";
@@ -10268,7 +10434,7 @@ var zeroWorkflowConnectorReadinessResponseSchema = external_exports.object({
10268
10434
  connectors: external_exports.array(zeroWorkflowConnectorReadinessEntrySchema)
10269
10435
  }).strict();
10270
10436
  var workflowIdParams = external_exports.object({ workflowId: external_exports.string().uuid() });
10271
- var zeroWorkflowsCollectionContract = c33.router({
10437
+ var zeroWorkflowsCollectionContract = c34.router({
10272
10438
  list: {
10273
10439
  method: "GET",
10274
10440
  path: "/api/zero/workflows",
@@ -10297,7 +10463,7 @@ var zeroWorkflowsCollectionContract = c33.router({
10297
10463
  summary: "Create a workflow under an agent"
10298
10464
  }
10299
10465
  });
10300
- var zeroWorkflowsDetailContract = c33.router({
10466
+ var zeroWorkflowsDetailContract = c34.router({
10301
10467
  get: {
10302
10468
  method: "GET",
10303
10469
  path: "/api/zero/workflows/:workflowId",
@@ -10332,9 +10498,9 @@ var zeroWorkflowsDetailContract = c33.router({
10332
10498
  path: "/api/zero/workflows/:workflowId",
10333
10499
  headers: authHeadersSchema,
10334
10500
  pathParams: workflowIdParams,
10335
- body: c33.noBody(),
10501
+ body: c34.noBody(),
10336
10502
  responses: {
10337
- 204: c33.noBody(),
10503
+ 204: c34.noBody(),
10338
10504
  401: apiErrorSchema,
10339
10505
  403: apiErrorSchema,
10340
10506
  404: apiErrorSchema
@@ -10362,7 +10528,7 @@ var zeroWorkflowsDetailContract = c33.router({
10362
10528
  path: "/api/zero/workflows/:workflowId/chat-thread",
10363
10529
  headers: authHeadersSchema,
10364
10530
  pathParams: workflowIdParams,
10365
- body: c33.noBody(),
10531
+ body: c34.noBody(),
10366
10532
  responses: {
10367
10533
  200: zeroWorkflowChatThreadResponseSchema,
10368
10534
  401: apiErrorSchema,
@@ -10376,7 +10542,7 @@ var zeroWorkflowsDetailContract = c33.router({
10376
10542
  path: "/api/zero/workflows/:workflowId/run",
10377
10543
  headers: authHeadersSchema,
10378
10544
  pathParams: workflowIdParams,
10379
- body: c33.noBody(),
10545
+ body: c34.noBody(),
10380
10546
  responses: {
10381
10547
  200: zeroWorkflowRunResponseSchema,
10382
10548
  400: apiErrorSchema,
@@ -10393,7 +10559,7 @@ var zeroWorkflowsDetailContract = c33.router({
10393
10559
  path: "/api/zero/workflows/:workflowId/connector-readiness",
10394
10560
  headers: authHeadersSchema,
10395
10561
  pathParams: workflowIdParams,
10396
- body: c33.noBody(),
10562
+ body: c34.noBody(),
10397
10563
  responses: {
10398
10564
  200: zeroWorkflowConnectorReadinessResponseSchema,
10399
10565
  400: apiErrorSchema,
@@ -10406,13 +10572,13 @@ var zeroWorkflowsDetailContract = c33.router({
10406
10572
  summary: "Detect the built-in connectors a workflow may need and report their readiness"
10407
10573
  }
10408
10574
  });
10409
- var zeroWorkflowVisibilityContract = c33.router({
10575
+ var zeroWorkflowVisibilityContract = c34.router({
10410
10576
  publish: {
10411
10577
  method: "POST",
10412
10578
  path: "/api/zero/workflows/:workflowId/publish",
10413
10579
  headers: authHeadersSchema,
10414
10580
  pathParams: workflowIdParams,
10415
- body: c33.noBody(),
10581
+ body: c34.noBody(),
10416
10582
  responses: {
10417
10583
  200: zeroWorkflowSummarySchema,
10418
10584
  400: apiErrorSchema,
@@ -10428,7 +10594,7 @@ var zeroWorkflowVisibilityContract = c33.router({
10428
10594
  path: "/api/zero/workflows/:workflowId/demote",
10429
10595
  headers: authHeadersSchema,
10430
10596
  pathParams: workflowIdParams,
10431
- body: c33.noBody(),
10597
+ body: c34.noBody(),
10432
10598
  responses: {
10433
10599
  200: zeroWorkflowSummarySchema,
10434
10600
  400: apiErrorSchema,
@@ -10446,7 +10612,7 @@ var zeroWorkflowWebhookSecretResponseSchema = external_exports.object({
10446
10612
  webhookUrl: external_exports.url(),
10447
10613
  webhookSecret: external_exports.string().min(1)
10448
10614
  });
10449
- var zeroWorkflowAutomationsContract = c33.router({
10615
+ var zeroWorkflowAutomationsContract = c34.router({
10450
10616
  listWorkspace: {
10451
10617
  method: "GET",
10452
10618
  path: "/api/zero/workflow-automations",
@@ -10535,9 +10701,9 @@ var zeroWorkflowAutomationsContract = c33.router({
10535
10701
  path: "/api/zero/workflow-automations/:id",
10536
10702
  headers: authHeadersSchema,
10537
10703
  pathParams: automationIdParams,
10538
- body: c33.noBody(),
10704
+ body: c34.noBody(),
10539
10705
  responses: {
10540
- 204: c33.noBody(),
10706
+ 204: c34.noBody(),
10541
10707
  401: apiErrorSchema,
10542
10708
  403: apiErrorSchema,
10543
10709
  404: apiErrorSchema
@@ -10549,7 +10715,7 @@ var zeroWorkflowAutomationsContract = c33.router({
10549
10715
  path: "/api/zero/workflow-automations/:id/enable",
10550
10716
  headers: authHeadersSchema,
10551
10717
  pathParams: automationIdParams,
10552
- body: c33.noBody(),
10718
+ body: c34.noBody(),
10553
10719
  responses: {
10554
10720
  200: zeroWorkflowAutomationSummarySchema,
10555
10721
  400: apiErrorSchema,
@@ -10566,7 +10732,7 @@ var zeroWorkflowAutomationsContract = c33.router({
10566
10732
  path: "/api/zero/workflow-automations/:id/disable",
10567
10733
  headers: authHeadersSchema,
10568
10734
  pathParams: automationIdParams,
10569
- body: c33.noBody(),
10735
+ body: c34.noBody(),
10570
10736
  responses: {
10571
10737
  200: zeroWorkflowAutomationSummarySchema,
10572
10738
  401: apiErrorSchema,
@@ -10580,7 +10746,7 @@ var zeroWorkflowAutomationsContract = c33.router({
10580
10746
  path: "/api/zero/workflow-automations/:id/run",
10581
10747
  headers: authHeadersSchema,
10582
10748
  pathParams: automationIdParams,
10583
- body: c33.noBody(),
10749
+ body: c34.noBody(),
10584
10750
  responses: {
10585
10751
  201: zeroWorkflowRunResponseSchema,
10586
10752
  400: apiErrorSchema,
@@ -10596,7 +10762,7 @@ var zeroWorkflowAutomationsContract = c33.router({
10596
10762
  path: "/api/zero/workflow-automations/:id/webhook-secret",
10597
10763
  headers: authHeadersSchema,
10598
10764
  pathParams: automationIdParams,
10599
- body: c33.noBody(),
10765
+ body: c34.noBody(),
10600
10766
  responses: {
10601
10767
  200: zeroWorkflowWebhookSecretResponseSchema,
10602
10768
  401: apiErrorSchema,
@@ -10711,7 +10877,7 @@ init_esm_shims();
10711
10877
 
10712
10878
  // ../../packages/api-contracts/src/contracts/zero-mail.ts
10713
10879
  init_esm_shims();
10714
- var c34 = initContract();
10880
+ var c35 = initContract();
10715
10881
  var zeroMailProviderSchema = external_exports.enum(["gmail", "outlook"]);
10716
10882
  var zeroMailDraftStatusSchema = external_exports.enum(["draft", "sent", "deleted"]);
10717
10883
  var zeroMailAttachmentSchema = external_exports.object({
@@ -10757,7 +10923,7 @@ var zeroMailLinkResponseSchema = zeroMailDraftResponseSchema.pick({
10757
10923
  var zeroMailDraftPathParamsSchema = external_exports.object({
10758
10924
  mailDraftId: external_exports.string().uuid()
10759
10925
  });
10760
- var zeroMailContract = c34.router({
10926
+ var zeroMailContract = c35.router({
10761
10927
  linkDraft: {
10762
10928
  method: "POST",
10763
10929
  path: "/api/zero/mail/drafts/link",
@@ -10795,9 +10961,9 @@ var zeroMailContract = c34.router({
10795
10961
  path: "/api/zero/mail/drafts/:mailDraftId",
10796
10962
  headers: authHeadersSchema,
10797
10963
  pathParams: zeroMailDraftPathParamsSchema,
10798
- body: c34.noBody(),
10964
+ body: c35.noBody(),
10799
10965
  responses: {
10800
- 204: c34.noBody(),
10966
+ 204: c35.noBody(),
10801
10967
  401: apiErrorSchema,
10802
10968
  403: apiErrorSchema,
10803
10969
  404: apiErrorSchema,
@@ -10810,7 +10976,7 @@ var zeroMailContract = c34.router({
10810
10976
  path: "/api/zero/mail/drafts/:mailDraftId/send",
10811
10977
  headers: authHeadersSchema,
10812
10978
  pathParams: zeroMailDraftPathParamsSchema,
10813
- body: c34.noBody(),
10979
+ body: c35.noBody(),
10814
10980
  responses: {
10815
10981
  200: zeroMailDraftResponseSchema,
10816
10982
  400: apiErrorSchema,
@@ -10848,7 +11014,7 @@ import { pipeline } from "stream/promises";
10848
11014
 
10849
11015
  // ../../packages/api-contracts/src/contracts/integrations.ts
10850
11016
  init_esm_shims();
10851
- var c35 = initContract();
11017
+ var c36 = initContract();
10852
11018
  var sendSlackMessageBodySchema = external_exports.object({
10853
11019
  channel: external_exports.string().min(1, "Channel ID is required").optional(),
10854
11020
  user: external_exports.string().min(1, "User ID is required").optional(),
@@ -10866,7 +11032,7 @@ var sendSlackMessageResponseSchema = external_exports.object({
10866
11032
  ts: external_exports.string().optional(),
10867
11033
  channel: external_exports.string().optional()
10868
11034
  });
10869
- var integrationsSlackMessageContract = c35.router({
11035
+ var integrationsSlackMessageContract = c36.router({
10870
11036
  sendMessage: {
10871
11037
  method: "POST",
10872
11038
  path: "/api/zero/integrations/slack/message",
@@ -10882,6 +11048,62 @@ var integrationsSlackMessageContract = c35.router({
10882
11048
  summary: "Send a Slack message via org bot token"
10883
11049
  }
10884
11050
  });
11051
+ var feishuCardSchema = external_exports.record(external_exports.string(), external_exports.unknown());
11052
+ var sendFeishuMessageBodySchema = external_exports.object({
11053
+ installationId: external_exports.string().uuid().optional(),
11054
+ chat: external_exports.string().min(1, "Chat ID is required").optional(),
11055
+ user: external_exports.string().min(1, "Feishu open ID is required").optional(),
11056
+ replyToMessageId: external_exports.string().min(1, "Message ID is required").optional(),
11057
+ replyInThread: external_exports.boolean().optional(),
11058
+ text: external_exports.string().min(1, "Message text is required").optional(),
11059
+ card: feishuCardSchema.optional()
11060
+ }).refine(
11061
+ (body) => {
11062
+ return [body.chat, body.user, body.replyToMessageId].filter(Boolean).length === 1;
11063
+ },
11064
+ {
11065
+ message: "Exactly one of chat, user, or replyToMessageId is required",
11066
+ path: ["chat"]
11067
+ }
11068
+ ).refine(
11069
+ (body) => {
11070
+ return Boolean(body.text) !== Boolean(body.card);
11071
+ },
11072
+ {
11073
+ message: "Exactly one of text or card is required",
11074
+ path: ["text"]
11075
+ }
11076
+ ).refine(
11077
+ (body) => {
11078
+ return !body.replyInThread || Boolean(body.replyToMessageId);
11079
+ },
11080
+ {
11081
+ message: "replyInThread requires replyToMessageId",
11082
+ path: ["replyInThread"]
11083
+ }
11084
+ );
11085
+ var sendFeishuMessageResponseSchema = external_exports.object({
11086
+ ok: external_exports.literal(true),
11087
+ messageId: external_exports.string(),
11088
+ chatId: external_exports.string().nullable()
11089
+ });
11090
+ var integrationsFeishuMessageContract = c36.router({
11091
+ sendMessage: {
11092
+ method: "POST",
11093
+ path: "/api/zero/integrations/feishu/message",
11094
+ headers: authHeadersSchema,
11095
+ body: sendFeishuMessageBodySchema,
11096
+ responses: {
11097
+ 200: sendFeishuMessageResponseSchema,
11098
+ 400: apiErrorSchema,
11099
+ 401: apiErrorSchema,
11100
+ 403: apiErrorSchema,
11101
+ 404: apiErrorSchema,
11102
+ 502: apiErrorSchema
11103
+ },
11104
+ summary: "Send a Feishu message via an organization custom app"
11105
+ }
11106
+ });
10885
11107
  var sendTelegramMessageBodySchema = external_exports.object({
10886
11108
  botId: external_exports.string().min(1, "Bot ID is required"),
10887
11109
  chatId: external_exports.string().min(1, "Chat ID is required"),
@@ -10894,7 +11116,7 @@ var sendTelegramMessageResponseSchema = external_exports.object({
10894
11116
  messageId: external_exports.number().int(),
10895
11117
  chatId: external_exports.string()
10896
11118
  });
10897
- var integrationsTelegramMessageContract = c35.router({
11119
+ var integrationsTelegramMessageContract = c36.router({
10898
11120
  sendMessage: {
10899
11121
  method: "POST",
10900
11122
  path: "/api/zero/integrations/telegram/message",
@@ -10953,7 +11175,7 @@ var sendTeamsMessageResponseSchema = external_exports.object({
10953
11175
  activityId: external_exports.string().optional(),
10954
11176
  conversationId: external_exports.string()
10955
11177
  });
10956
- var integrationsTeamsMessageContract = c35.router({
11178
+ var integrationsTeamsMessageContract = c36.router({
10957
11179
  sendMessage: {
10958
11180
  method: "POST",
10959
11181
  path: "/api/zero/integrations/teams/message",
@@ -10981,7 +11203,7 @@ var sendPhoneMessageResponseSchema = external_exports.object({
10981
11203
  channel: external_exports.string().nullable(),
10982
11204
  toNumber: external_exports.string()
10983
11205
  });
10984
- var integrationsPhoneMessageContract = c35.router({
11206
+ var integrationsPhoneMessageContract = c36.router({
10985
11207
  sendMessage: {
10986
11208
  method: "POST",
10987
11209
  path: "/api/zero/integrations/phone/message",
@@ -11001,14 +11223,14 @@ var integrationsPhoneMessageContract = c35.router({
11001
11223
  var phoneDownloadFileQuerySchema = external_exports.object({
11002
11224
  file_id: external_exports.string().min(1, "file_id query parameter is required")
11003
11225
  });
11004
- var integrationsPhoneDownloadFileContract = c35.router({
11226
+ var integrationsPhoneDownloadFileContract = c36.router({
11005
11227
  download: {
11006
11228
  method: "GET",
11007
11229
  path: "/api/zero/integrations/phone/download-file",
11008
11230
  headers: authHeadersSchema,
11009
11231
  query: phoneDownloadFileQuerySchema,
11010
11232
  responses: {
11011
- 200: c35.type(),
11233
+ 200: c36.type(),
11012
11234
  400: apiErrorSchema,
11013
11235
  401: apiErrorSchema,
11014
11236
  403: apiErrorSchema,
@@ -11043,7 +11265,7 @@ var telegramBotListItemSchema = external_exports.object({
11043
11265
  var listTelegramBotsResponseSchema = external_exports.object({
11044
11266
  bots: external_exports.array(telegramBotListItemSchema)
11045
11267
  });
11046
- var integrationsTelegramBotListContract = c35.router({
11268
+ var integrationsTelegramBotListContract = c36.router({
11047
11269
  listBots: {
11048
11270
  method: "GET",
11049
11271
  path: "/api/zero/integrations/telegram/bots",
@@ -11058,13 +11280,33 @@ var integrationsTelegramBotListContract = c35.router({
11058
11280
  });
11059
11281
  var slackUploadInitBodySchema = external_exports.object({
11060
11282
  filename: external_exports.string().min(1, "Filename is required"),
11061
- length: external_exports.number().int().positive("File length must be a positive integer")
11283
+ length: external_exports.number().int().positive("File length must be a positive integer"),
11284
+ canonical: external_exports.object({
11285
+ operationId: external_exports.string().uuid(),
11286
+ contentType: external_exports.string().min(1).max(200),
11287
+ checksumSha256: external_exports.string().regex(/^[a-f0-9]{64}$/),
11288
+ channel: external_exports.string().min(1, "Channel ID is required"),
11289
+ threadTs: external_exports.string().optional(),
11290
+ title: external_exports.string().optional(),
11291
+ initialComment: external_exports.string().optional()
11292
+ }).optional()
11062
11293
  });
11063
- var slackUploadInitResponseSchema = external_exports.object({
11294
+ var directSlackUploadInitResponseSchema = external_exports.object({
11064
11295
  uploadUrl: external_exports.string(),
11065
11296
  fileId: external_exports.string()
11066
11297
  });
11067
- var integrationsSlackUploadInitContract = c35.router({
11298
+ var canonicalSlackUploadInitResponseSchema = external_exports.object({
11299
+ kind: external_exports.literal("canonical"),
11300
+ assetId: external_exports.string().uuid(),
11301
+ operationId: external_exports.string().uuid(),
11302
+ uploadUrl: external_exports.string().url().optional(),
11303
+ url: external_exports.string().url()
11304
+ });
11305
+ var slackUploadInitResponseSchema = external_exports.union([
11306
+ directSlackUploadInitResponseSchema,
11307
+ canonicalSlackUploadInitResponseSchema
11308
+ ]);
11309
+ var integrationsSlackUploadInitContract = c36.router({
11068
11310
  init: {
11069
11311
  method: "POST",
11070
11312
  path: "/api/zero/integrations/slack/upload-file/init",
@@ -11080,6 +11322,47 @@ var integrationsSlackUploadInitContract = c35.router({
11080
11322
  summary: "Get a pre-signed Slack upload URL via org bot token"
11081
11323
  }
11082
11324
  });
11325
+ var slackUploadMaterializeBodySchema = external_exports.object({
11326
+ assetId: external_exports.string().uuid(),
11327
+ operationId: external_exports.string().uuid()
11328
+ });
11329
+ var slackUploadMaterializeResponseSchema = external_exports.object({
11330
+ assetId: external_exports.string().uuid(),
11331
+ url: external_exports.string().url(),
11332
+ delivery: external_exports.discriminatedUnion("status", [
11333
+ external_exports.object({
11334
+ status: external_exports.literal("pending"),
11335
+ uploadUrl: external_exports.string(),
11336
+ fileId: external_exports.string()
11337
+ }),
11338
+ external_exports.object({
11339
+ status: external_exports.literal("delivered"),
11340
+ fileId: external_exports.string(),
11341
+ permalink: external_exports.string()
11342
+ }),
11343
+ external_exports.object({
11344
+ status: external_exports.literal("failed"),
11345
+ message: external_exports.string(),
11346
+ retryable: external_exports.boolean()
11347
+ })
11348
+ ])
11349
+ });
11350
+ var integrationsSlackUploadMaterializeContract = c36.router({
11351
+ materialize: {
11352
+ method: "POST",
11353
+ path: "/api/zero/integrations/slack/upload-file/materialize",
11354
+ headers: authHeadersSchema,
11355
+ body: slackUploadMaterializeBodySchema,
11356
+ responses: {
11357
+ 200: slackUploadMaterializeResponseSchema,
11358
+ 400: apiErrorSchema,
11359
+ 401: apiErrorSchema,
11360
+ 403: apiErrorSchema,
11361
+ 404: apiErrorSchema
11362
+ },
11363
+ summary: "Materialize a canonical Slack publication before delivery"
11364
+ }
11365
+ });
11083
11366
  var telegramUploadInitBodySchema = external_exports.object({
11084
11367
  filename: external_exports.string().min(1, "Filename is required").max(255),
11085
11368
  contentType: external_exports.string().min(1, "Content type is required").max(200),
@@ -11093,7 +11376,7 @@ var telegramUploadInitResponseSchema = external_exports.object({
11093
11376
  contentType: external_exports.string(),
11094
11377
  size: external_exports.number().int().nonnegative()
11095
11378
  });
11096
- var integrationsTelegramUploadInitContract = c35.router({
11379
+ var integrationsTelegramUploadInitContract = c36.router({
11097
11380
  init: {
11098
11381
  method: "POST",
11099
11382
  path: "/api/zero/integrations/telegram/upload-file/init",
@@ -11121,7 +11404,7 @@ var teamsUploadInitResponseSchema = external_exports.object({
11121
11404
  contentType: external_exports.string(),
11122
11405
  size: external_exports.number().int().nonnegative()
11123
11406
  });
11124
- var integrationsTeamsUploadInitContract = c35.router({
11407
+ var integrationsTeamsUploadInitContract = c36.router({
11125
11408
  init: {
11126
11409
  method: "POST",
11127
11410
  path: "/api/zero/integrations/teams/upload-file/init",
@@ -11153,7 +11436,7 @@ var telegramUploadCompleteResponseSchema = external_exports.object({
11153
11436
  size: external_exports.number().int().nonnegative(),
11154
11437
  url: external_exports.string()
11155
11438
  });
11156
- var integrationsTelegramUploadCompleteContract = c35.router({
11439
+ var integrationsTelegramUploadCompleteContract = c36.router({
11157
11440
  complete: {
11158
11441
  method: "POST",
11159
11442
  path: "/api/zero/integrations/telegram/upload-file/complete",
@@ -11185,7 +11468,7 @@ var teamsUploadCompleteResponseSchema = external_exports.object({
11185
11468
  size: external_exports.number().int().nonnegative(),
11186
11469
  url: external_exports.string()
11187
11470
  });
11188
- var integrationsTeamsUploadCompleteContract = c35.router({
11471
+ var integrationsTeamsUploadCompleteContract = c36.router({
11189
11472
  complete: {
11190
11473
  method: "POST",
11191
11474
  path: "/api/zero/integrations/teams/upload-file/complete",
@@ -11215,7 +11498,7 @@ var githubUploadInitResponseSchema = external_exports.object({
11215
11498
  contentType: external_exports.string(),
11216
11499
  size: external_exports.number().int().nonnegative()
11217
11500
  });
11218
- var integrationsGithubUploadInitContract = c35.router({
11501
+ var integrationsGithubUploadInitContract = c36.router({
11219
11502
  init: {
11220
11503
  method: "POST",
11221
11504
  path: "/api/zero/integrations/github/upload-file/init",
@@ -11249,7 +11532,7 @@ var githubUploadCompleteResponseSchema = external_exports.object({
11249
11532
  size: external_exports.number().int().nonnegative(),
11250
11533
  url: external_exports.string()
11251
11534
  });
11252
- var integrationsGithubUploadCompleteContract = c35.router({
11535
+ var integrationsGithubUploadCompleteContract = c36.router({
11253
11536
  complete: {
11254
11537
  method: "POST",
11255
11538
  path: "/api/zero/integrations/github/upload-file/complete",
@@ -11280,7 +11563,7 @@ var phoneUploadInitResponseSchema = external_exports.object({
11280
11563
  contentType: external_exports.string(),
11281
11564
  size: external_exports.number().int().nonnegative()
11282
11565
  });
11283
- var integrationsPhoneUploadInitContract = c35.router({
11566
+ var integrationsPhoneUploadInitContract = c36.router({
11284
11567
  init: {
11285
11568
  method: "POST",
11286
11569
  path: "/api/zero/integrations/phone/upload-file/init",
@@ -11311,7 +11594,7 @@ var phoneUploadCompleteResponseSchema = external_exports.object({
11311
11594
  size: external_exports.number().int().nonnegative(),
11312
11595
  url: external_exports.string()
11313
11596
  });
11314
- var integrationsPhoneUploadCompleteContract = c35.router({
11597
+ var integrationsPhoneUploadCompleteContract = c36.router({
11315
11598
  complete: {
11316
11599
  method: "POST",
11317
11600
  path: "/api/zero/integrations/phone/upload-file/complete",
@@ -11333,13 +11616,20 @@ var slackUploadCompleteBodySchema = external_exports.object({
11333
11616
  channel: external_exports.string().min(1, "Channel ID is required"),
11334
11617
  threadTs: external_exports.string().optional(),
11335
11618
  title: external_exports.string().optional(),
11336
- initialComment: external_exports.string().optional()
11619
+ initialComment: external_exports.string().optional(),
11620
+ canonicalAssetId: external_exports.string().uuid().optional(),
11621
+ operationId: external_exports.string().uuid().optional(),
11622
+ uploadError: external_exports.string().max(2e3).optional()
11337
11623
  });
11338
11624
  var slackUploadCompleteResponseSchema = external_exports.object({
11339
11625
  fileId: external_exports.string(),
11340
- permalink: external_exports.string()
11626
+ permalink: external_exports.string(),
11627
+ assetId: external_exports.string().uuid().optional(),
11628
+ assetUrl: external_exports.string().url().optional(),
11629
+ deliveryStatus: external_exports.enum(["delivered", "failed"]).optional(),
11630
+ deliveryError: external_exports.string().optional()
11341
11631
  });
11342
- var integrationsSlackUploadCompleteContract = c35.router({
11632
+ var integrationsSlackUploadCompleteContract = c36.router({
11343
11633
  complete: {
11344
11634
  method: "POST",
11345
11635
  path: "/api/zero/integrations/slack/upload-file/complete",
@@ -11384,6 +11674,15 @@ async function completeSlackFileUpload(body) {
11384
11674
  }
11385
11675
  handleError(result, "Failed to complete Slack file upload");
11386
11676
  }
11677
+ async function materializeSlackFileUpload(body) {
11678
+ const config = await getClientConfig();
11679
+ const client = initClient(integrationsSlackUploadMaterializeContract, config);
11680
+ const result = await client.materialize({ body, headers: {} });
11681
+ if (result.status === 200) {
11682
+ return result.body;
11683
+ }
11684
+ handleError(result, "Failed to materialize Slack file upload");
11685
+ }
11387
11686
  async function downloadSlackFile(fileId, outPath) {
11388
11687
  const baseUrl = await getBaseUrl();
11389
11688
  const token = await getActiveToken();
@@ -11596,6 +11895,18 @@ async function downloadTeamsFile(fileId, outPath) {
11596
11895
  return { path: outPath, mimetype, size };
11597
11896
  }
11598
11897
 
11898
+ // src/lib/api/domains/integrations-feishu.ts
11899
+ init_esm_shims();
11900
+ async function sendFeishuMessage(body) {
11901
+ const config = await getClientConfig();
11902
+ const client = initClient(integrationsFeishuMessageContract, config);
11903
+ const result = await client.sendMessage({ body, headers: {} });
11904
+ if (result.status === 200) {
11905
+ return result.body;
11906
+ }
11907
+ handleError(result, "Failed to send Feishu message");
11908
+ }
11909
+
11599
11910
  // src/lib/api/domains/integrations-github.ts
11600
11911
  init_esm_shims();
11601
11912
  import { createWriteStream as createWriteStream4 } from "fs";
@@ -11982,6 +12293,7 @@ export {
11982
12293
  sendSlackMessage,
11983
12294
  initSlackFileUpload,
11984
12295
  completeSlackFileUpload,
12296
+ materializeSlackFileUpload,
11985
12297
  downloadSlackFile,
11986
12298
  listTelegramBots,
11987
12299
  sendTelegramMessage,
@@ -11992,6 +12304,7 @@ export {
11992
12304
  initTeamsFileUpload,
11993
12305
  completeTeamsFileUpload,
11994
12306
  downloadTeamsFile,
12307
+ sendFeishuMessage,
11995
12308
  initGithubFileUpload,
11996
12309
  completeGithubFileUpload,
11997
12310
  downloadGithubFile,
@@ -12032,10 +12345,22 @@ export {
12032
12345
  zeroWebSearchDomainSchema,
12033
12346
  zeroWebSearchRequestSchema,
12034
12347
  callZeroWebSearch,
12348
+ ZERO_FINANCE_DEFAULT_RANGE,
12349
+ ZERO_FINANCE_DEFAULT_INTERVAL,
12350
+ zeroFinanceRangeSchema,
12351
+ zeroFinanceIntervalSchema,
12352
+ zeroFinanceSearchRequestSchema,
12353
+ zeroFinanceProfileRequestSchema,
12354
+ zeroFinanceQuoteRequestSchema,
12355
+ zeroFinanceChartRequestSchema,
12356
+ callZeroFinanceSearch,
12357
+ callZeroFinanceProfile,
12358
+ callZeroFinanceQuote,
12359
+ callZeroFinanceChart,
12035
12360
  callZeroBanking,
12036
12361
  prepareHostedSite,
12037
12362
  completeHostedSite,
12038
12363
  getHostedSiteFiles,
12039
12364
  getHostedSiteDeployments
12040
12365
  };
12041
- //# sourceMappingURL=chunk-GKHJ3S5D.js.map
12366
+ //# sourceMappingURL=chunk-3QXK5RR7.js.map