@vm0/cli 9.247.0 → 9.248.1

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 (95) hide show
  1. package/{agent-YLCZG4ST.js → agent-2NW7BBLH.js} +5 -5
  2. package/{banking-A4VPNAGY.js → banking-WMZ5X4TD.js} +3 -3
  3. package/{chat-C6P67WYO.js → chat-Z32JJCZG.js} +4 -4
  4. package/{chunk-KBKTQLGX.js → chunk-2IFOM533.js} +2 -2
  5. package/{chunk-JREZPGL7.js → chunk-D42LBTMI.js} +20 -12
  6. package/chunk-D42LBTMI.js.map +1 -0
  7. package/{chunk-TM2JASGG.js → chunk-DXYKZPHD.js} +6 -2
  8. package/{chunk-TM2JASGG.js.map → chunk-DXYKZPHD.js.map} +1 -1
  9. package/{chunk-VTVYDURY.js → chunk-HJMAS7QI.js} +4 -4
  10. package/{chunk-FYZS5VEA.js → chunk-KU5PTS4H.js} +279 -54
  11. package/chunk-KU5PTS4H.js.map +1 -0
  12. package/{chunk-HFXL5AVL.js → chunk-N677KKA5.js} +2 -2
  13. package/{chunk-HYRTW4LY.js → chunk-XMCVK5OU.js} +2 -2
  14. package/{chunk-LA4I64KW.js → chunk-Y7PXYM7M.js} +2 -2
  15. package/{computer-use-HZLNEZ2I.js → computer-use-Z5YA5PCS.js} +3 -3
  16. package/{connector-6LDMVILB.js → connector-GILJG3H2.js} +6 -6
  17. package/{credit-E4DPMKBT.js → credit-SHY372FA.js} +4 -4
  18. package/{developer-support-E3FEFRY2.js → developer-support-OPEG7JPP.js} +3 -3
  19. package/{doctor-ILWD6C2K.js → doctor-QVVF5PHS.js} +3 -3
  20. package/feishu-FKRRGMT2.js +118 -0
  21. package/feishu-FKRRGMT2.js.map +1 -0
  22. package/finance-LDOX64UG.js +127 -0
  23. package/finance-LDOX64UG.js.map +1 -0
  24. package/{generate-N6R5TZZ2.js → generate-CIXTADDH.js} +4 -4
  25. package/{github-VDCFYJIH.js → github-27EGMZM4.js} +3 -3
  26. package/{goal-DQCWM4I3.js → goal-MTTP4FTD.js} +3 -3
  27. package/{host-7CN3NZRQ.js → host-5ACQBWFC.js} +3 -3
  28. package/{logs-52MLVLCY.js → logs-WME2HGIQ.js} +4 -4
  29. package/{mail-MEI2ARFN.js → mail-BYRRYI5S.js} +5 -5
  30. package/{maps-HOSDZCTR.js → maps-P7V44O5J.js} +3 -3
  31. package/{model-YPG2ESDH.js → model-THRT7DHX.js} +4 -4
  32. package/{model-provider-CRSYVHTZ.js → model-provider-HQ2SXXG7.js} +4 -4
  33. package/{org-QAEZNHHR.js → org-H742KQAG.js} +3 -3
  34. package/package.json +1 -1
  35. package/{phone-KBACVWG7.js → phone-ZLDFGYV5.js} +3 -3
  36. package/{preference-CZ5T4ZH6.js → preference-MGBOHLDQ.js} +3 -3
  37. package/{resource-6O5NRYUA.js → resource-FGZYT5IL.js} +3 -3
  38. package/{scrape-XTWF7NE4.js → scrape-NCPUXX2W.js} +3 -3
  39. package/{search-OI5PNIX3.js → search-TOPTC26C.js} +4 -4
  40. package/{secret-S6Z5NHSK.js → secret-P3BJRVBS.js} +3 -3
  41. package/{slack-RTT7D47V.js → slack-FKK6PVKS.js} +3 -3
  42. package/{teams-WS6I3ZMV.js → teams-IIXV5XX6.js} +3 -3
  43. package/{telegram-Q2GNTJFX.js → telegram-RMSYD7AV.js} +3 -3
  44. package/{variable-4WVPWYYU.js → variable-S6I4UDAO.js} +3 -3
  45. package/{video-B3UGIF3E.js → video-HADRKBLP.js} +2 -2
  46. package/weather-L7QYR5VW.js +590 -0
  47. package/weather-L7QYR5VW.js.map +1 -0
  48. package/{web-3RIJORTL.js → web-FODYCSCR.js} +3 -3
  49. package/{web-search-CVZYQ7HH.js → web-search-55SSMXC7.js} +3 -3
  50. package/{whoami-U2VXOZNF.js → whoami-DT3WNKYG.js} +5 -5
  51. package/{workflow-OTBS5W7K.js → workflow-H2IAFAGI.js} +3 -3
  52. package/zero.js +55 -37
  53. package/zero.js.map +1 -1
  54. package/chunk-FYZS5VEA.js.map +0 -1
  55. package/chunk-JREZPGL7.js.map +0 -1
  56. package/weather-JLYOYLJR.js +0 -216
  57. package/weather-JLYOYLJR.js.map +0 -1
  58. /package/{agent-YLCZG4ST.js.map → agent-2NW7BBLH.js.map} +0 -0
  59. /package/{banking-A4VPNAGY.js.map → banking-WMZ5X4TD.js.map} +0 -0
  60. /package/{chat-C6P67WYO.js.map → chat-Z32JJCZG.js.map} +0 -0
  61. /package/{chunk-KBKTQLGX.js.map → chunk-2IFOM533.js.map} +0 -0
  62. /package/{chunk-VTVYDURY.js.map → chunk-HJMAS7QI.js.map} +0 -0
  63. /package/{chunk-HFXL5AVL.js.map → chunk-N677KKA5.js.map} +0 -0
  64. /package/{chunk-HYRTW4LY.js.map → chunk-XMCVK5OU.js.map} +0 -0
  65. /package/{chunk-LA4I64KW.js.map → chunk-Y7PXYM7M.js.map} +0 -0
  66. /package/{computer-use-HZLNEZ2I.js.map → computer-use-Z5YA5PCS.js.map} +0 -0
  67. /package/{connector-6LDMVILB.js.map → connector-GILJG3H2.js.map} +0 -0
  68. /package/{credit-E4DPMKBT.js.map → credit-SHY372FA.js.map} +0 -0
  69. /package/{developer-support-E3FEFRY2.js.map → developer-support-OPEG7JPP.js.map} +0 -0
  70. /package/{doctor-ILWD6C2K.js.map → doctor-QVVF5PHS.js.map} +0 -0
  71. /package/{generate-N6R5TZZ2.js.map → generate-CIXTADDH.js.map} +0 -0
  72. /package/{github-VDCFYJIH.js.map → github-27EGMZM4.js.map} +0 -0
  73. /package/{goal-DQCWM4I3.js.map → goal-MTTP4FTD.js.map} +0 -0
  74. /package/{host-7CN3NZRQ.js.map → host-5ACQBWFC.js.map} +0 -0
  75. /package/{logs-52MLVLCY.js.map → logs-WME2HGIQ.js.map} +0 -0
  76. /package/{mail-MEI2ARFN.js.map → mail-BYRRYI5S.js.map} +0 -0
  77. /package/{maps-HOSDZCTR.js.map → maps-P7V44O5J.js.map} +0 -0
  78. /package/{model-YPG2ESDH.js.map → model-THRT7DHX.js.map} +0 -0
  79. /package/{model-provider-CRSYVHTZ.js.map → model-provider-HQ2SXXG7.js.map} +0 -0
  80. /package/{org-QAEZNHHR.js.map → org-H742KQAG.js.map} +0 -0
  81. /package/{phone-KBACVWG7.js.map → phone-ZLDFGYV5.js.map} +0 -0
  82. /package/{preference-CZ5T4ZH6.js.map → preference-MGBOHLDQ.js.map} +0 -0
  83. /package/{resource-6O5NRYUA.js.map → resource-FGZYT5IL.js.map} +0 -0
  84. /package/{scrape-XTWF7NE4.js.map → scrape-NCPUXX2W.js.map} +0 -0
  85. /package/{search-OI5PNIX3.js.map → search-TOPTC26C.js.map} +0 -0
  86. /package/{secret-S6Z5NHSK.js.map → secret-P3BJRVBS.js.map} +0 -0
  87. /package/{slack-RTT7D47V.js.map → slack-FKK6PVKS.js.map} +0 -0
  88. /package/{teams-WS6I3ZMV.js.map → teams-IIXV5XX6.js.map} +0 -0
  89. /package/{telegram-Q2GNTJFX.js.map → telegram-RMSYD7AV.js.map} +0 -0
  90. /package/{variable-4WVPWYYU.js.map → variable-S6I4UDAO.js.map} +0 -0
  91. /package/{video-B3UGIF3E.js.map → video-HADRKBLP.js.map} +0 -0
  92. /package/{web-3RIJORTL.js.map → web-FODYCSCR.js.map} +0 -0
  93. /package/{web-search-CVZYQ7HH.js.map → web-search-55SSMXC7.js.map} +0 -0
  94. /package/{whoami-U2VXOZNF.js.map → whoami-DT3WNKYG.js.map} +0 -0
  95. /package/{workflow-OTBS5W7K.js.map → workflow-H2IAFAGI.js.map} +0 -0
@@ -21,7 +21,7 @@ import {
21
21
  updateOrgModelPoliciesRequestSchema,
22
22
  upsertModelProviderRequestSchema,
23
23
  upsertModelProviderResponseSchema
24
- } from "./chunk-HYRTW4LY.js";
24
+ } from "./chunk-XMCVK5OU.js";
25
25
  import {
26
26
  __commonJS,
27
27
  __esm,
@@ -2415,6 +2415,7 @@ var triggerSourceSchema = external_exports.enum([
2415
2415
  "web",
2416
2416
  "slack",
2417
2417
  "teams",
2418
+ "feishu",
2418
2419
  "email",
2419
2420
  "telegram",
2420
2421
  "agentphone",
@@ -9196,6 +9197,149 @@ async function callZeroWebSearch(body) {
9196
9197
  handleError(result, "Failed to search the web");
9197
9198
  }
9198
9199
 
9200
+ // ../../packages/api-contracts/src/contracts/zero-finance.ts
9201
+ init_esm_shims();
9202
+ var c31 = initContract();
9203
+ var ZERO_FINANCE_DEFAULT_RANGE = "1y";
9204
+ var ZERO_FINANCE_DEFAULT_INTERVAL = "1d";
9205
+ var ZERO_FINANCE_MAX_QUERY_CHARS = 512;
9206
+ var ZERO_FINANCE_MAX_SYMBOL_CHARS = 64;
9207
+ var zeroFinanceRangeSchema = external_exports.enum([
9208
+ "1d",
9209
+ "5d",
9210
+ "1mo",
9211
+ "3mo",
9212
+ "6mo",
9213
+ "1y",
9214
+ "2y",
9215
+ "5y",
9216
+ "10y",
9217
+ "ytd",
9218
+ "max"
9219
+ ]);
9220
+ var zeroFinanceIntervalSchema = external_exports.enum([
9221
+ "1m",
9222
+ "2m",
9223
+ "5m",
9224
+ "15m",
9225
+ "30m",
9226
+ "60m",
9227
+ "1d",
9228
+ "1wk",
9229
+ "1mo"
9230
+ ]);
9231
+ var zeroFinanceSearchRequestSchema = external_exports.object({
9232
+ query: external_exports.string().trim().min(1).max(ZERO_FINANCE_MAX_QUERY_CHARS)
9233
+ });
9234
+ var zeroFinanceSymbolSchema = external_exports.string().trim().min(1).max(ZERO_FINANCE_MAX_SYMBOL_CHARS);
9235
+ var zeroFinanceProfileRequestSchema = external_exports.object({
9236
+ symbol: zeroFinanceSymbolSchema
9237
+ });
9238
+ var zeroFinanceQuoteRequestSchema = external_exports.object({
9239
+ symbol: zeroFinanceSymbolSchema
9240
+ });
9241
+ var zeroFinanceChartRequestSchema = external_exports.object({
9242
+ symbol: zeroFinanceSymbolSchema,
9243
+ range: zeroFinanceRangeSchema.default(ZERO_FINANCE_DEFAULT_RANGE),
9244
+ interval: zeroFinanceIntervalSchema.default(ZERO_FINANCE_DEFAULT_INTERVAL)
9245
+ });
9246
+ var zeroFinanceOperationSchema = external_exports.enum([
9247
+ "search",
9248
+ "profile",
9249
+ "quote",
9250
+ "chart"
9251
+ ]);
9252
+ var zeroFinanceResponseSchema = external_exports.object({
9253
+ operation: zeroFinanceOperationSchema,
9254
+ provider: external_exports.literal("apidojo"),
9255
+ billingCategory: external_exports.literal("request"),
9256
+ billingQuantity: external_exports.literal(1),
9257
+ creditsCharged: external_exports.number().int().nonnegative(),
9258
+ result: external_exports.unknown()
9259
+ });
9260
+ var financeResponses = {
9261
+ 200: zeroFinanceResponseSchema,
9262
+ 400: apiErrorSchema,
9263
+ 401: apiErrorSchema,
9264
+ 402: apiErrorSchema,
9265
+ 403: apiErrorSchema,
9266
+ 502: apiErrorSchema,
9267
+ 503: apiErrorSchema
9268
+ };
9269
+ var zeroFinanceContract = c31.router({
9270
+ search: {
9271
+ method: "POST",
9272
+ path: "/api/zero/finance/search",
9273
+ headers: authHeadersSchema,
9274
+ body: zeroFinanceSearchRequestSchema,
9275
+ responses: financeResponses,
9276
+ summary: "Search financial instruments through managed Zero Finance"
9277
+ },
9278
+ profile: {
9279
+ method: "POST",
9280
+ path: "/api/zero/finance/profile",
9281
+ headers: authHeadersSchema,
9282
+ body: zeroFinanceProfileRequestSchema,
9283
+ responses: financeResponses,
9284
+ summary: "Fetch a company profile through managed Zero Finance"
9285
+ },
9286
+ quote: {
9287
+ method: "POST",
9288
+ path: "/api/zero/finance/quote",
9289
+ headers: authHeadersSchema,
9290
+ body: zeroFinanceQuoteRequestSchema,
9291
+ responses: financeResponses,
9292
+ summary: "Fetch a market quote through managed Zero Finance"
9293
+ },
9294
+ chart: {
9295
+ method: "POST",
9296
+ path: "/api/zero/finance/chart",
9297
+ headers: authHeadersSchema,
9298
+ body: zeroFinanceChartRequestSchema,
9299
+ responses: financeResponses,
9300
+ summary: "Fetch market chart data through managed Zero Finance"
9301
+ }
9302
+ });
9303
+
9304
+ // src/lib/api/domains/zero-finance.ts
9305
+ init_esm_shims();
9306
+ async function callZeroFinanceSearch(body) {
9307
+ const config = await getClientConfig();
9308
+ const client = initClient(zeroFinanceContract, config);
9309
+ const result = await client.search({ headers: {}, body });
9310
+ if (result.status === 200) {
9311
+ return result.body;
9312
+ }
9313
+ handleError(result, "Failed to search financial instruments");
9314
+ }
9315
+ async function callZeroFinanceProfile(body) {
9316
+ const config = await getClientConfig();
9317
+ const client = initClient(zeroFinanceContract, config);
9318
+ const result = await client.profile({ headers: {}, body });
9319
+ if (result.status === 200) {
9320
+ return result.body;
9321
+ }
9322
+ handleError(result, "Failed to fetch finance profile");
9323
+ }
9324
+ async function callZeroFinanceQuote(body) {
9325
+ const config = await getClientConfig();
9326
+ const client = initClient(zeroFinanceContract, config);
9327
+ const result = await client.quote({ headers: {}, body });
9328
+ if (result.status === 200) {
9329
+ return result.body;
9330
+ }
9331
+ handleError(result, "Failed to fetch finance quote");
9332
+ }
9333
+ async function callZeroFinanceChart(body) {
9334
+ const config = await getClientConfig();
9335
+ const client = initClient(zeroFinanceContract, config);
9336
+ const result = await client.chart({ headers: {}, body });
9337
+ if (result.status === 200) {
9338
+ return result.body;
9339
+ }
9340
+ handleError(result, "Failed to fetch finance chart");
9341
+ }
9342
+
9199
9343
  // src/lib/api/domains/zero-banking.ts
9200
9344
  init_esm_shims();
9201
9345
  function authenticatedJsonHeaders3(token) {
@@ -9316,8 +9460,8 @@ var setVariableRequestSchema = external_exports.object({
9316
9460
  });
9317
9461
 
9318
9462
  // ../../packages/api-contracts/src/contracts/zero-secrets.ts
9319
- var c31 = initContract();
9320
- var zeroSecretsContract = c31.router({
9463
+ var c32 = initContract();
9464
+ var zeroSecretsContract = c32.router({
9321
9465
  list: {
9322
9466
  method: "GET",
9323
9467
  path: "/api/zero/secrets",
@@ -9344,7 +9488,7 @@ var zeroSecretsContract = c31.router({
9344
9488
  summary: "Create or update a secret"
9345
9489
  }
9346
9490
  });
9347
- var zeroSecretsByNameContract = c31.router({
9491
+ var zeroSecretsByNameContract = c32.router({
9348
9492
  delete: {
9349
9493
  method: "DELETE",
9350
9494
  path: "/api/zero/secrets/:name",
@@ -9353,7 +9497,7 @@ var zeroSecretsByNameContract = c31.router({
9353
9497
  name: secretNameSchema
9354
9498
  }),
9355
9499
  responses: {
9356
- 204: c31.noBody(),
9500
+ 204: c32.noBody(),
9357
9501
  401: apiErrorSchema,
9358
9502
  404: apiErrorSchema,
9359
9503
  500: apiErrorSchema
@@ -9361,7 +9505,7 @@ var zeroSecretsByNameContract = c31.router({
9361
9505
  summary: "Delete a secret by name"
9362
9506
  }
9363
9507
  });
9364
- var zeroVariablesContract = c31.router({
9508
+ var zeroVariablesContract = c32.router({
9365
9509
  list: {
9366
9510
  method: "GET",
9367
9511
  path: "/api/zero/variables",
@@ -9388,7 +9532,7 @@ var zeroVariablesContract = c31.router({
9388
9532
  summary: "Create or update a variable"
9389
9533
  }
9390
9534
  });
9391
- var zeroVariablesByNameContract = c31.router({
9535
+ var zeroVariablesByNameContract = c32.router({
9392
9536
  delete: {
9393
9537
  method: "DELETE",
9394
9538
  path: "/api/zero/variables/:name",
@@ -9397,7 +9541,7 @@ var zeroVariablesByNameContract = c31.router({
9397
9541
  name: variableNameSchema
9398
9542
  }),
9399
9543
  responses: {
9400
- 204: c31.noBody(),
9544
+ 204: c32.noBody(),
9401
9545
  401: apiErrorSchema,
9402
9546
  404: apiErrorSchema,
9403
9547
  500: apiErrorSchema
@@ -9538,9 +9682,9 @@ init_esm_shims();
9538
9682
 
9539
9683
  // ../../packages/api-contracts/src/contracts/zero-model-providers.ts
9540
9684
  init_esm_shims();
9541
- var c32 = initContract();
9685
+ var c33 = initContract();
9542
9686
  var orgUpsertModelProviderRequestSchema = upsertModelProviderRequestSchema.omit({ selectedModel: true });
9543
- var zeroModelProvidersMainContract = c32.router({
9687
+ var zeroModelProvidersMainContract = c33.router({
9544
9688
  list: {
9545
9689
  method: "GET",
9546
9690
  path: "/api/zero/model-providers",
@@ -9569,7 +9713,7 @@ var zeroModelProvidersMainContract = c32.router({
9569
9713
  summary: "Create or update an org-level model provider (admin only)"
9570
9714
  }
9571
9715
  });
9572
- var zeroModelProvidersByTypeContract = c32.router({
9716
+ var zeroModelProvidersByTypeContract = c33.router({
9573
9717
  delete: {
9574
9718
  method: "DELETE",
9575
9719
  path: "/api/zero/model-providers/:type",
@@ -9578,7 +9722,7 @@ var zeroModelProvidersByTypeContract = c32.router({
9578
9722
  type: modelProviderTypeSchema
9579
9723
  }),
9580
9724
  responses: {
9581
- 204: c32.noBody(),
9725
+ 204: c33.noBody(),
9582
9726
  401: apiErrorSchema,
9583
9727
  403: apiErrorSchema,
9584
9728
  404: apiErrorSchema,
@@ -9624,7 +9768,7 @@ init_esm_shims();
9624
9768
 
9625
9769
  // ../../packages/api-contracts/src/contracts/zero-workflows.ts
9626
9770
  init_esm_shims();
9627
- var c33 = initContract();
9771
+ var c34 = initContract();
9628
9772
  var zeroWorkflowVisibilitySchema = external_exports.enum(["public", "private"]);
9629
9773
  var zeroWorkflowNameSchema = external_exports.string().min(2).max(64).regex(/^[a-z0-9][a-z0-9-]*[a-z0-9]$/);
9630
9774
  var RESERVED_SKILL_FILE = "SKILL.md";
@@ -10267,7 +10411,7 @@ var zeroWorkflowConnectorReadinessResponseSchema = external_exports.object({
10267
10411
  connectors: external_exports.array(zeroWorkflowConnectorReadinessEntrySchema)
10268
10412
  }).strict();
10269
10413
  var workflowIdParams = external_exports.object({ workflowId: external_exports.string().uuid() });
10270
- var zeroWorkflowsCollectionContract = c33.router({
10414
+ var zeroWorkflowsCollectionContract = c34.router({
10271
10415
  list: {
10272
10416
  method: "GET",
10273
10417
  path: "/api/zero/workflows",
@@ -10296,7 +10440,7 @@ var zeroWorkflowsCollectionContract = c33.router({
10296
10440
  summary: "Create a workflow under an agent"
10297
10441
  }
10298
10442
  });
10299
- var zeroWorkflowsDetailContract = c33.router({
10443
+ var zeroWorkflowsDetailContract = c34.router({
10300
10444
  get: {
10301
10445
  method: "GET",
10302
10446
  path: "/api/zero/workflows/:workflowId",
@@ -10331,9 +10475,9 @@ var zeroWorkflowsDetailContract = c33.router({
10331
10475
  path: "/api/zero/workflows/:workflowId",
10332
10476
  headers: authHeadersSchema,
10333
10477
  pathParams: workflowIdParams,
10334
- body: c33.noBody(),
10478
+ body: c34.noBody(),
10335
10479
  responses: {
10336
- 204: c33.noBody(),
10480
+ 204: c34.noBody(),
10337
10481
  401: apiErrorSchema,
10338
10482
  403: apiErrorSchema,
10339
10483
  404: apiErrorSchema
@@ -10361,7 +10505,7 @@ var zeroWorkflowsDetailContract = c33.router({
10361
10505
  path: "/api/zero/workflows/:workflowId/chat-thread",
10362
10506
  headers: authHeadersSchema,
10363
10507
  pathParams: workflowIdParams,
10364
- body: c33.noBody(),
10508
+ body: c34.noBody(),
10365
10509
  responses: {
10366
10510
  200: zeroWorkflowChatThreadResponseSchema,
10367
10511
  401: apiErrorSchema,
@@ -10375,7 +10519,7 @@ var zeroWorkflowsDetailContract = c33.router({
10375
10519
  path: "/api/zero/workflows/:workflowId/run",
10376
10520
  headers: authHeadersSchema,
10377
10521
  pathParams: workflowIdParams,
10378
- body: c33.noBody(),
10522
+ body: c34.noBody(),
10379
10523
  responses: {
10380
10524
  200: zeroWorkflowRunResponseSchema,
10381
10525
  400: apiErrorSchema,
@@ -10392,7 +10536,7 @@ var zeroWorkflowsDetailContract = c33.router({
10392
10536
  path: "/api/zero/workflows/:workflowId/connector-readiness",
10393
10537
  headers: authHeadersSchema,
10394
10538
  pathParams: workflowIdParams,
10395
- body: c33.noBody(),
10539
+ body: c34.noBody(),
10396
10540
  responses: {
10397
10541
  200: zeroWorkflowConnectorReadinessResponseSchema,
10398
10542
  400: apiErrorSchema,
@@ -10405,13 +10549,13 @@ var zeroWorkflowsDetailContract = c33.router({
10405
10549
  summary: "Detect the built-in connectors a workflow may need and report their readiness"
10406
10550
  }
10407
10551
  });
10408
- var zeroWorkflowVisibilityContract = c33.router({
10552
+ var zeroWorkflowVisibilityContract = c34.router({
10409
10553
  publish: {
10410
10554
  method: "POST",
10411
10555
  path: "/api/zero/workflows/:workflowId/publish",
10412
10556
  headers: authHeadersSchema,
10413
10557
  pathParams: workflowIdParams,
10414
- body: c33.noBody(),
10558
+ body: c34.noBody(),
10415
10559
  responses: {
10416
10560
  200: zeroWorkflowSummarySchema,
10417
10561
  400: apiErrorSchema,
@@ -10427,7 +10571,7 @@ var zeroWorkflowVisibilityContract = c33.router({
10427
10571
  path: "/api/zero/workflows/:workflowId/demote",
10428
10572
  headers: authHeadersSchema,
10429
10573
  pathParams: workflowIdParams,
10430
- body: c33.noBody(),
10574
+ body: c34.noBody(),
10431
10575
  responses: {
10432
10576
  200: zeroWorkflowSummarySchema,
10433
10577
  400: apiErrorSchema,
@@ -10445,7 +10589,7 @@ var zeroWorkflowWebhookSecretResponseSchema = external_exports.object({
10445
10589
  webhookUrl: external_exports.url(),
10446
10590
  webhookSecret: external_exports.string().min(1)
10447
10591
  });
10448
- var zeroWorkflowAutomationsContract = c33.router({
10592
+ var zeroWorkflowAutomationsContract = c34.router({
10449
10593
  listWorkspace: {
10450
10594
  method: "GET",
10451
10595
  path: "/api/zero/workflow-automations",
@@ -10534,9 +10678,9 @@ var zeroWorkflowAutomationsContract = c33.router({
10534
10678
  path: "/api/zero/workflow-automations/:id",
10535
10679
  headers: authHeadersSchema,
10536
10680
  pathParams: automationIdParams,
10537
- body: c33.noBody(),
10681
+ body: c34.noBody(),
10538
10682
  responses: {
10539
- 204: c33.noBody(),
10683
+ 204: c34.noBody(),
10540
10684
  401: apiErrorSchema,
10541
10685
  403: apiErrorSchema,
10542
10686
  404: apiErrorSchema
@@ -10548,7 +10692,7 @@ var zeroWorkflowAutomationsContract = c33.router({
10548
10692
  path: "/api/zero/workflow-automations/:id/enable",
10549
10693
  headers: authHeadersSchema,
10550
10694
  pathParams: automationIdParams,
10551
- body: c33.noBody(),
10695
+ body: c34.noBody(),
10552
10696
  responses: {
10553
10697
  200: zeroWorkflowAutomationSummarySchema,
10554
10698
  400: apiErrorSchema,
@@ -10565,7 +10709,7 @@ var zeroWorkflowAutomationsContract = c33.router({
10565
10709
  path: "/api/zero/workflow-automations/:id/disable",
10566
10710
  headers: authHeadersSchema,
10567
10711
  pathParams: automationIdParams,
10568
- body: c33.noBody(),
10712
+ body: c34.noBody(),
10569
10713
  responses: {
10570
10714
  200: zeroWorkflowAutomationSummarySchema,
10571
10715
  401: apiErrorSchema,
@@ -10579,7 +10723,7 @@ var zeroWorkflowAutomationsContract = c33.router({
10579
10723
  path: "/api/zero/workflow-automations/:id/run",
10580
10724
  headers: authHeadersSchema,
10581
10725
  pathParams: automationIdParams,
10582
- body: c33.noBody(),
10726
+ body: c34.noBody(),
10583
10727
  responses: {
10584
10728
  201: zeroWorkflowRunResponseSchema,
10585
10729
  400: apiErrorSchema,
@@ -10595,7 +10739,7 @@ var zeroWorkflowAutomationsContract = c33.router({
10595
10739
  path: "/api/zero/workflow-automations/:id/webhook-secret",
10596
10740
  headers: authHeadersSchema,
10597
10741
  pathParams: automationIdParams,
10598
- body: c33.noBody(),
10742
+ body: c34.noBody(),
10599
10743
  responses: {
10600
10744
  200: zeroWorkflowWebhookSecretResponseSchema,
10601
10745
  401: apiErrorSchema,
@@ -10710,7 +10854,7 @@ init_esm_shims();
10710
10854
 
10711
10855
  // ../../packages/api-contracts/src/contracts/zero-mail.ts
10712
10856
  init_esm_shims();
10713
- var c34 = initContract();
10857
+ var c35 = initContract();
10714
10858
  var zeroMailProviderSchema = external_exports.enum(["gmail", "outlook"]);
10715
10859
  var zeroMailDraftStatusSchema = external_exports.enum(["draft", "sent", "deleted"]);
10716
10860
  var zeroMailAttachmentSchema = external_exports.object({
@@ -10756,7 +10900,7 @@ var zeroMailLinkResponseSchema = zeroMailDraftResponseSchema.pick({
10756
10900
  var zeroMailDraftPathParamsSchema = external_exports.object({
10757
10901
  mailDraftId: external_exports.string().uuid()
10758
10902
  });
10759
- var zeroMailContract = c34.router({
10903
+ var zeroMailContract = c35.router({
10760
10904
  linkDraft: {
10761
10905
  method: "POST",
10762
10906
  path: "/api/zero/mail/drafts/link",
@@ -10794,9 +10938,9 @@ var zeroMailContract = c34.router({
10794
10938
  path: "/api/zero/mail/drafts/:mailDraftId",
10795
10939
  headers: authHeadersSchema,
10796
10940
  pathParams: zeroMailDraftPathParamsSchema,
10797
- body: c34.noBody(),
10941
+ body: c35.noBody(),
10798
10942
  responses: {
10799
- 204: c34.noBody(),
10943
+ 204: c35.noBody(),
10800
10944
  401: apiErrorSchema,
10801
10945
  403: apiErrorSchema,
10802
10946
  404: apiErrorSchema,
@@ -10809,7 +10953,7 @@ var zeroMailContract = c34.router({
10809
10953
  path: "/api/zero/mail/drafts/:mailDraftId/send",
10810
10954
  headers: authHeadersSchema,
10811
10955
  pathParams: zeroMailDraftPathParamsSchema,
10812
- body: c34.noBody(),
10956
+ body: c35.noBody(),
10813
10957
  responses: {
10814
10958
  200: zeroMailDraftResponseSchema,
10815
10959
  400: apiErrorSchema,
@@ -10847,7 +10991,7 @@ import { pipeline } from "stream/promises";
10847
10991
 
10848
10992
  // ../../packages/api-contracts/src/contracts/integrations.ts
10849
10993
  init_esm_shims();
10850
- var c35 = initContract();
10994
+ var c36 = initContract();
10851
10995
  var sendSlackMessageBodySchema = external_exports.object({
10852
10996
  channel: external_exports.string().min(1, "Channel ID is required").optional(),
10853
10997
  user: external_exports.string().min(1, "User ID is required").optional(),
@@ -10865,7 +11009,7 @@ var sendSlackMessageResponseSchema = external_exports.object({
10865
11009
  ts: external_exports.string().optional(),
10866
11010
  channel: external_exports.string().optional()
10867
11011
  });
10868
- var integrationsSlackMessageContract = c35.router({
11012
+ var integrationsSlackMessageContract = c36.router({
10869
11013
  sendMessage: {
10870
11014
  method: "POST",
10871
11015
  path: "/api/zero/integrations/slack/message",
@@ -10881,6 +11025,62 @@ var integrationsSlackMessageContract = c35.router({
10881
11025
  summary: "Send a Slack message via org bot token"
10882
11026
  }
10883
11027
  });
11028
+ var feishuCardSchema = external_exports.record(external_exports.string(), external_exports.unknown());
11029
+ var sendFeishuMessageBodySchema = external_exports.object({
11030
+ installationId: external_exports.string().uuid().optional(),
11031
+ chat: external_exports.string().min(1, "Chat ID is required").optional(),
11032
+ user: external_exports.string().min(1, "Feishu open ID is required").optional(),
11033
+ replyToMessageId: external_exports.string().min(1, "Message ID is required").optional(),
11034
+ replyInThread: external_exports.boolean().optional(),
11035
+ text: external_exports.string().min(1, "Message text is required").optional(),
11036
+ card: feishuCardSchema.optional()
11037
+ }).refine(
11038
+ (body) => {
11039
+ return [body.chat, body.user, body.replyToMessageId].filter(Boolean).length === 1;
11040
+ },
11041
+ {
11042
+ message: "Exactly one of chat, user, or replyToMessageId is required",
11043
+ path: ["chat"]
11044
+ }
11045
+ ).refine(
11046
+ (body) => {
11047
+ return Boolean(body.text) !== Boolean(body.card);
11048
+ },
11049
+ {
11050
+ message: "Exactly one of text or card is required",
11051
+ path: ["text"]
11052
+ }
11053
+ ).refine(
11054
+ (body) => {
11055
+ return !body.replyInThread || Boolean(body.replyToMessageId);
11056
+ },
11057
+ {
11058
+ message: "replyInThread requires replyToMessageId",
11059
+ path: ["replyInThread"]
11060
+ }
11061
+ );
11062
+ var sendFeishuMessageResponseSchema = external_exports.object({
11063
+ ok: external_exports.literal(true),
11064
+ messageId: external_exports.string(),
11065
+ chatId: external_exports.string().nullable()
11066
+ });
11067
+ var integrationsFeishuMessageContract = c36.router({
11068
+ sendMessage: {
11069
+ method: "POST",
11070
+ path: "/api/zero/integrations/feishu/message",
11071
+ headers: authHeadersSchema,
11072
+ body: sendFeishuMessageBodySchema,
11073
+ responses: {
11074
+ 200: sendFeishuMessageResponseSchema,
11075
+ 400: apiErrorSchema,
11076
+ 401: apiErrorSchema,
11077
+ 403: apiErrorSchema,
11078
+ 404: apiErrorSchema,
11079
+ 502: apiErrorSchema
11080
+ },
11081
+ summary: "Send a Feishu message via an organization custom app"
11082
+ }
11083
+ });
10884
11084
  var sendTelegramMessageBodySchema = external_exports.object({
10885
11085
  botId: external_exports.string().min(1, "Bot ID is required"),
10886
11086
  chatId: external_exports.string().min(1, "Chat ID is required"),
@@ -10893,7 +11093,7 @@ var sendTelegramMessageResponseSchema = external_exports.object({
10893
11093
  messageId: external_exports.number().int(),
10894
11094
  chatId: external_exports.string()
10895
11095
  });
10896
- var integrationsTelegramMessageContract = c35.router({
11096
+ var integrationsTelegramMessageContract = c36.router({
10897
11097
  sendMessage: {
10898
11098
  method: "POST",
10899
11099
  path: "/api/zero/integrations/telegram/message",
@@ -10952,7 +11152,7 @@ var sendTeamsMessageResponseSchema = external_exports.object({
10952
11152
  activityId: external_exports.string().optional(),
10953
11153
  conversationId: external_exports.string()
10954
11154
  });
10955
- var integrationsTeamsMessageContract = c35.router({
11155
+ var integrationsTeamsMessageContract = c36.router({
10956
11156
  sendMessage: {
10957
11157
  method: "POST",
10958
11158
  path: "/api/zero/integrations/teams/message",
@@ -10980,7 +11180,7 @@ var sendPhoneMessageResponseSchema = external_exports.object({
10980
11180
  channel: external_exports.string().nullable(),
10981
11181
  toNumber: external_exports.string()
10982
11182
  });
10983
- var integrationsPhoneMessageContract = c35.router({
11183
+ var integrationsPhoneMessageContract = c36.router({
10984
11184
  sendMessage: {
10985
11185
  method: "POST",
10986
11186
  path: "/api/zero/integrations/phone/message",
@@ -11000,14 +11200,14 @@ var integrationsPhoneMessageContract = c35.router({
11000
11200
  var phoneDownloadFileQuerySchema = external_exports.object({
11001
11201
  file_id: external_exports.string().min(1, "file_id query parameter is required")
11002
11202
  });
11003
- var integrationsPhoneDownloadFileContract = c35.router({
11203
+ var integrationsPhoneDownloadFileContract = c36.router({
11004
11204
  download: {
11005
11205
  method: "GET",
11006
11206
  path: "/api/zero/integrations/phone/download-file",
11007
11207
  headers: authHeadersSchema,
11008
11208
  query: phoneDownloadFileQuerySchema,
11009
11209
  responses: {
11010
- 200: c35.type(),
11210
+ 200: c36.type(),
11011
11211
  400: apiErrorSchema,
11012
11212
  401: apiErrorSchema,
11013
11213
  403: apiErrorSchema,
@@ -11042,7 +11242,7 @@ var telegramBotListItemSchema = external_exports.object({
11042
11242
  var listTelegramBotsResponseSchema = external_exports.object({
11043
11243
  bots: external_exports.array(telegramBotListItemSchema)
11044
11244
  });
11045
- var integrationsTelegramBotListContract = c35.router({
11245
+ var integrationsTelegramBotListContract = c36.router({
11046
11246
  listBots: {
11047
11247
  method: "GET",
11048
11248
  path: "/api/zero/integrations/telegram/bots",
@@ -11063,7 +11263,7 @@ var slackUploadInitResponseSchema = external_exports.object({
11063
11263
  uploadUrl: external_exports.string(),
11064
11264
  fileId: external_exports.string()
11065
11265
  });
11066
- var integrationsSlackUploadInitContract = c35.router({
11266
+ var integrationsSlackUploadInitContract = c36.router({
11067
11267
  init: {
11068
11268
  method: "POST",
11069
11269
  path: "/api/zero/integrations/slack/upload-file/init",
@@ -11092,7 +11292,7 @@ var telegramUploadInitResponseSchema = external_exports.object({
11092
11292
  contentType: external_exports.string(),
11093
11293
  size: external_exports.number().int().nonnegative()
11094
11294
  });
11095
- var integrationsTelegramUploadInitContract = c35.router({
11295
+ var integrationsTelegramUploadInitContract = c36.router({
11096
11296
  init: {
11097
11297
  method: "POST",
11098
11298
  path: "/api/zero/integrations/telegram/upload-file/init",
@@ -11120,7 +11320,7 @@ var teamsUploadInitResponseSchema = external_exports.object({
11120
11320
  contentType: external_exports.string(),
11121
11321
  size: external_exports.number().int().nonnegative()
11122
11322
  });
11123
- var integrationsTeamsUploadInitContract = c35.router({
11323
+ var integrationsTeamsUploadInitContract = c36.router({
11124
11324
  init: {
11125
11325
  method: "POST",
11126
11326
  path: "/api/zero/integrations/teams/upload-file/init",
@@ -11152,7 +11352,7 @@ var telegramUploadCompleteResponseSchema = external_exports.object({
11152
11352
  size: external_exports.number().int().nonnegative(),
11153
11353
  url: external_exports.string()
11154
11354
  });
11155
- var integrationsTelegramUploadCompleteContract = c35.router({
11355
+ var integrationsTelegramUploadCompleteContract = c36.router({
11156
11356
  complete: {
11157
11357
  method: "POST",
11158
11358
  path: "/api/zero/integrations/telegram/upload-file/complete",
@@ -11184,7 +11384,7 @@ var teamsUploadCompleteResponseSchema = external_exports.object({
11184
11384
  size: external_exports.number().int().nonnegative(),
11185
11385
  url: external_exports.string()
11186
11386
  });
11187
- var integrationsTeamsUploadCompleteContract = c35.router({
11387
+ var integrationsTeamsUploadCompleteContract = c36.router({
11188
11388
  complete: {
11189
11389
  method: "POST",
11190
11390
  path: "/api/zero/integrations/teams/upload-file/complete",
@@ -11214,7 +11414,7 @@ var githubUploadInitResponseSchema = external_exports.object({
11214
11414
  contentType: external_exports.string(),
11215
11415
  size: external_exports.number().int().nonnegative()
11216
11416
  });
11217
- var integrationsGithubUploadInitContract = c35.router({
11417
+ var integrationsGithubUploadInitContract = c36.router({
11218
11418
  init: {
11219
11419
  method: "POST",
11220
11420
  path: "/api/zero/integrations/github/upload-file/init",
@@ -11248,7 +11448,7 @@ var githubUploadCompleteResponseSchema = external_exports.object({
11248
11448
  size: external_exports.number().int().nonnegative(),
11249
11449
  url: external_exports.string()
11250
11450
  });
11251
- var integrationsGithubUploadCompleteContract = c35.router({
11451
+ var integrationsGithubUploadCompleteContract = c36.router({
11252
11452
  complete: {
11253
11453
  method: "POST",
11254
11454
  path: "/api/zero/integrations/github/upload-file/complete",
@@ -11279,7 +11479,7 @@ var phoneUploadInitResponseSchema = external_exports.object({
11279
11479
  contentType: external_exports.string(),
11280
11480
  size: external_exports.number().int().nonnegative()
11281
11481
  });
11282
- var integrationsPhoneUploadInitContract = c35.router({
11482
+ var integrationsPhoneUploadInitContract = c36.router({
11283
11483
  init: {
11284
11484
  method: "POST",
11285
11485
  path: "/api/zero/integrations/phone/upload-file/init",
@@ -11310,7 +11510,7 @@ var phoneUploadCompleteResponseSchema = external_exports.object({
11310
11510
  size: external_exports.number().int().nonnegative(),
11311
11511
  url: external_exports.string()
11312
11512
  });
11313
- var integrationsPhoneUploadCompleteContract = c35.router({
11513
+ var integrationsPhoneUploadCompleteContract = c36.router({
11314
11514
  complete: {
11315
11515
  method: "POST",
11316
11516
  path: "/api/zero/integrations/phone/upload-file/complete",
@@ -11338,7 +11538,7 @@ var slackUploadCompleteResponseSchema = external_exports.object({
11338
11538
  fileId: external_exports.string(),
11339
11539
  permalink: external_exports.string()
11340
11540
  });
11341
- var integrationsSlackUploadCompleteContract = c35.router({
11541
+ var integrationsSlackUploadCompleteContract = c36.router({
11342
11542
  complete: {
11343
11543
  method: "POST",
11344
11544
  path: "/api/zero/integrations/slack/upload-file/complete",
@@ -11595,6 +11795,18 @@ async function downloadTeamsFile(fileId, outPath) {
11595
11795
  return { path: outPath, mimetype, size };
11596
11796
  }
11597
11797
 
11798
+ // src/lib/api/domains/integrations-feishu.ts
11799
+ init_esm_shims();
11800
+ async function sendFeishuMessage(body) {
11801
+ const config = await getClientConfig();
11802
+ const client = initClient(integrationsFeishuMessageContract, config);
11803
+ const result = await client.sendMessage({ body, headers: {} });
11804
+ if (result.status === 200) {
11805
+ return result.body;
11806
+ }
11807
+ handleError(result, "Failed to send Feishu message");
11808
+ }
11809
+
11598
11810
  // src/lib/api/domains/integrations-github.ts
11599
11811
  init_esm_shims();
11600
11812
  import { createWriteStream as createWriteStream4 } from "fs";
@@ -11991,6 +12203,7 @@ export {
11991
12203
  initTeamsFileUpload,
11992
12204
  completeTeamsFileUpload,
11993
12205
  downloadTeamsFile,
12206
+ sendFeishuMessage,
11994
12207
  initGithubFileUpload,
11995
12208
  completeGithubFileUpload,
11996
12209
  downloadGithubFile,
@@ -12031,10 +12244,22 @@ export {
12031
12244
  zeroWebSearchDomainSchema,
12032
12245
  zeroWebSearchRequestSchema,
12033
12246
  callZeroWebSearch,
12247
+ ZERO_FINANCE_DEFAULT_RANGE,
12248
+ ZERO_FINANCE_DEFAULT_INTERVAL,
12249
+ zeroFinanceRangeSchema,
12250
+ zeroFinanceIntervalSchema,
12251
+ zeroFinanceSearchRequestSchema,
12252
+ zeroFinanceProfileRequestSchema,
12253
+ zeroFinanceQuoteRequestSchema,
12254
+ zeroFinanceChartRequestSchema,
12255
+ callZeroFinanceSearch,
12256
+ callZeroFinanceProfile,
12257
+ callZeroFinanceQuote,
12258
+ callZeroFinanceChart,
12034
12259
  callZeroBanking,
12035
12260
  prepareHostedSite,
12036
12261
  completeHostedSite,
12037
12262
  getHostedSiteFiles,
12038
12263
  getHostedSiteDeployments
12039
12264
  };
12040
- //# sourceMappingURL=chunk-FYZS5VEA.js.map
12265
+ //# sourceMappingURL=chunk-KU5PTS4H.js.map