@keystrokehq/cli 0.0.18 → 0.0.20

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 (146) hide show
  1. package/README.md +1 -1
  2. package/dist/{accept.handler-B7QzdKCh.mjs → accept.handler-CiqqUxKN.mjs} +1 -1
  3. package/dist/{admin-CYpulx_A.mjs → admin-B0U2Aghv.mjs} +9 -9
  4. package/dist/{agent-bundle-package-DWV6B_5q-FPT0bJaA.mjs → agent-bundle-package-DWV6B_5q-BsbCEeMw.mjs} +1 -1
  5. package/dist/{agents-Co6Jy_N8.mjs → agents-DBebUEwk.mjs} +6 -6
  6. package/dist/{api-DsK8M-ZH.mjs → api-BjBpWWlm.mjs} +4 -5
  7. package/dist/{api-keys-BUCLzRv_.mjs → api-keys-BHAgmC4E.mjs} +5 -5
  8. package/dist/{auth-niNm-yNT.mjs → auth-D-PZAjdd.mjs} +6 -6
  9. package/dist/{auth.handler-BTH-Qb00.mjs → auth.handler-CxTDSO6O.mjs} +3 -3
  10. package/dist/{build-agents-DseUtzd4-CthuIecx.mjs → build-agents-DseUtzd4-BNtZrqoY.mjs} +5 -5
  11. package/dist/{build-metadata-C8Ra_Gi--L3l8w0rh.mjs → build-metadata-BB_L45ZS-d5-QLDZ5.mjs} +10 -10
  12. package/dist/{build-progress-AR8xow4_.mjs → build-progress-BVwDg6lC.mjs} +1 -1
  13. package/dist/{build-tasks-GVuMLS0h-CCxCqd02.mjs → build-tasks-C09SdfjC-DxKcmENc.mjs} +4 -4
  14. package/dist/{build-workflows-CV4tBo6S-DhFBlp6m.mjs → build-workflows-BZ_m97Pr-DwcnRlyh.mjs} +9 -10
  15. package/dist/{build.handler-BmlXPhed.mjs → build.handler-CTX80S1K.mjs} +4 -4
  16. package/dist/{chunk-CH6r78ws.mjs → chunk-DYxdGL9S.mjs} +2 -1
  17. package/dist/{clear.handler-BDlwBzX4.mjs → clear.handler-Bksm2HI4.mjs} +1 -1
  18. package/dist/{commander-BE37hxR3.mjs → commander-DQLrBSIW.mjs} +1 -1
  19. package/dist/{connect-C9NMD8Ky.mjs → connect-DV_EztVs.mjs} +2 -2
  20. package/dist/{connect.handler-C7kysvhz.mjs → connect.handler-DbuGt3Xb.mjs} +3 -3
  21. package/dist/{context-Bid-Rqj7.mjs → context-BUzxM3QI.mjs} +2 -2
  22. package/dist/{create.handler-Cp9CV6SN.mjs → create.handler-CQCRk-Na.mjs} +1 -1
  23. package/dist/{credentials-fMfKVlEn.mjs → credentials-m18a1_hw.mjs} +6 -6
  24. package/dist/{credentials-DUkVbhvj.mjs → credentials-xPtLFTjW.mjs} +2 -2
  25. package/dist/{current-deployment-workflow-DiwUcKoB.mjs → current-deployment-workflow-pyBoobIm.mjs} +4 -4
  26. package/dist/{current.handler-eCR4nClu.mjs → current.handler-BJGJgdGP.mjs} +1 -1
  27. package/dist/{default-urls-CTQqM1_A.mjs → default-urls-BoSm4s9C.mjs} +1 -1
  28. package/dist/{delete.handler-D4ElSAcr.mjs → delete.handler-DNoehdOH.mjs} +1 -1
  29. package/dist/{deploy-B7LRWcp6.mjs → deploy-3tHCBGky.mjs} +2 -2
  30. package/dist/{deploy-DyZh--f7.mjs → deploy-BKjcO_sm.mjs} +1 -1
  31. package/dist/{deploy-progress-DK87VKJ-.mjs → deploy-progress-CyolzjRB.mjs} +1 -1
  32. package/dist/{deploy.handler-DVnH-Niv.mjs → deploy.handler-TnPNBYXZ.mjs} +27 -15
  33. package/dist/{detect-env-access-CwkOYeYM-CNTyUzme.mjs → detect-env-access-CwkOYeYM-D8-hxij0.mjs} +2 -2
  34. package/dist/{diff.handler-lIA2pRBX.mjs → diff.handler-DO2WzdGB.mjs} +3 -3
  35. package/dist/{dist-WFPTDQB3.mjs → dist-BGrWr5fp.mjs} +32 -37
  36. package/dist/{env.handler-BIzQLlmo.mjs → env.handler-C5GNyiJt.mjs} +6 -6
  37. package/dist/{error-boundary-B8cmSwJH.mjs → error-boundary-GtRvP2oP.mjs} +1 -1
  38. package/dist/{file-metadata-lrX05iRt.mjs → file-metadata-B8c7Y5yg.mjs} +2 -7
  39. package/dist/{import-module--8x5SLum-D7EiPjwl.mjs → import-module-y0glInUe-CfNsQNia.mjs} +48 -839
  40. package/dist/{init-jaqNLGmB.mjs → init-D9RIT2CY.mjs} +3 -3
  41. package/dist/{init.handler-DamvbPEw.mjs → init.handler-0TJY1YNy.mjs} +2 -2
  42. package/dist/{inspect.handler-_UcN7dxE.mjs → inspect.handler-BrYFfN4H.mjs} +3 -3
  43. package/dist/{integration-catalog-m8tj_XlD.mjs → integration-catalog-BrJsBkfx.mjs} +1 -1
  44. package/dist/integrations-vSyAQ6HA.mjs +185 -0
  45. package/dist/{invites-VntHNMYk.mjs → invites-BASM4PJr.mjs} +4 -4
  46. package/dist/{invites.list.handler-CPl4QHfc.mjs → invites.list.handler-c-aw6g5o.mjs} +1 -1
  47. package/dist/{invites.resend.handler-BAtb3AX4.mjs → invites.resend.handler-MnMEjP_Z.mjs} +1 -1
  48. package/dist/{invites.revoke.handler-qXOF1Vgx.mjs → invites.revoke.handler-CHX6Z8kj.mjs} +1 -1
  49. package/dist/keystroke.mjs +25 -24
  50. package/dist/{list-enrichment-DYvr3XDb.mjs → list-enrichment-DcplcioC.mjs} +1 -1
  51. package/dist/{list.handler-C_iBLBmS.mjs → list.handler-BBzB1_1l.mjs} +1 -1
  52. package/dist/{list.handler-pHnPFep8.mjs → list.handler-BsgCd1oF.mjs} +5 -5
  53. package/dist/{list.handler-BdRsjRlf.mjs → list.handler-CDtjm-6d.mjs} +1 -1
  54. package/dist/{list.handler-DUz1bJ4x.mjs → list.handler-DJNtXw7C.mjs} +1 -1
  55. package/dist/{list.handler-CEjKSezx.mjs → list.handler-DXwKdfIv.mjs} +2 -2
  56. package/dist/{list.handler-CJUFdmaU.mjs → list2.handler-BdE1k2kl.mjs} +3 -3
  57. package/dist/{listen-DLGZEQRL.mjs → listen-Ca9KdiB2.mjs} +2 -2
  58. package/dist/{listen.handler-kaAvYk-B.mjs → listen.handler-KWPN03S8.mjs} +2 -2
  59. package/dist/{logs-CcYqFKRU.mjs → logs-BEDf7hZ0.mjs} +3 -3
  60. package/dist/{logs.handler-lboRKNoE.mjs → logs.handler-mk1lcZbU.mjs} +2 -2
  61. package/dist/{members.add.handler-DBydP0SR.mjs → members.add.handler-CTvlxBZU.mjs} +1 -1
  62. package/dist/{members.invite.handler-D4-7fiYC.mjs → members.invite.handler-wFO0r7Pi.mjs} +1 -1
  63. package/dist/{members.list.handler-Z4cIbcNg.mjs → members.list.handler-PPdqs4nI.mjs} +1 -1
  64. package/dist/{members.remove.handler-J56D83O7.mjs → members.remove.handler-a5WI6zE4.mjs} +1 -1
  65. package/dist/{members.update.handler-B5rBv6dt.mjs → members.update.handler-3xblTzmz.mjs} +1 -1
  66. package/dist/{metadata-layout-Bv-B0nHj-B1c5giJ7.mjs → metadata-layout-Bv-B0nHj-DtMWZ7Cc.mjs} +1 -1
  67. package/dist/{normalize-path-CojS-CgQ-D4wSBHgG.mjs → normalize-path-CojS-CgQ-CRqBc6D6.mjs} +1 -1
  68. package/dist/{org-DGS91uc-.mjs → org-CzLw3neZ.mjs} +15 -15
  69. package/dist/{orgs.create.handler-B4naNUSN.mjs → orgs.create.handler-CcPpDweZ.mjs} +1 -1
  70. package/dist/{orgs.get.handler-Ci_JrT08.mjs → orgs.get.handler-BACPg7vR.mjs} +1 -1
  71. package/dist/{orgs.list.handler-CJ2byIEj.mjs → orgs.list.handler-DEF8OyvM.mjs} +1 -1
  72. package/dist/{paused.handler-BQSQvQhB.mjs → paused.handler-D4j8_Za4.mjs} +1 -1
  73. package/dist/{projects-D90_uEC2.mjs → projects-CJCKxG2u.mjs} +4 -4
  74. package/dist/{projects-fWvIJQ80.mjs → projects-s5ehKLil.mjs} +6 -4
  75. package/dist/{register.handler-CleQJhtQ.mjs → register.handler-CSvlOMF6.mjs} +18 -9
  76. package/dist/{requirements.handler-B51sxQSy.mjs → requirements.handler-Bk-sAE9C.mjs} +5 -5
  77. package/dist/{run-polling-CC6y2XXI.mjs → run-polling-DKclfet-.mjs} +3 -3
  78. package/dist/{run.handler-B31BpZJP.mjs → run.handler-x0B-CjNF.mjs} +4 -4
  79. package/dist/{runs-Bg_qDeQi.mjs → runs-DoMVOCNj.mjs} +2 -2
  80. package/dist/{schemas-B8c7Z5Iy.mjs → schemas-U2OzP9gP.mjs} +3 -2
  81. package/dist/{skills-sync.handler-DOxudKmV.mjs → skills-sync.handler-CYkCeuQn.mjs} +1 -1
  82. package/dist/{skills.command-JwKWpGvU.mjs → skills.command-DeAgMGGw.mjs} +4 -4
  83. package/dist/{source-analysis-BBg2E_6G-Ut7kYHOz.mjs → source-analysis-BBg2E_6G-BJTRqWrQ.mjs} +3 -3
  84. package/dist/{source-analysis-Cs0CTBQk.mjs → source-analysis-BMMPIHN9.mjs} +1 -1
  85. package/dist/src-BHTjsZ9V.mjs +456 -0
  86. package/dist/{src-B0tNjKMg.mjs → src-BYQwp8Ig.mjs} +1 -1
  87. package/dist/{switch.handler-Cu81T2HY.mjs → switch.handler-CV4ZBXAu.mjs} +1 -1
  88. package/dist/{sync-CXNveL61.mjs → sync-KCVM02IY.mjs} +2 -2
  89. package/dist/{sync.handler-7g1yDt0H.mjs → sync.handler-Cuw89341.mjs} +6 -6
  90. package/dist/task-BSCN9cU4.mjs +945 -0
  91. package/dist/{task-target-build-BaMtXnN7.mjs → task-target-build-B0HF2_At.mjs} +41 -55
  92. package/dist/task-target-deploy-ClbwKJ8K.mjs +4 -0
  93. package/dist/{task-target-deploy-CZBGNC0H-I-tvkGCC.mjs → task-target-deploy-dQYnMO8n-CeTmRcDw.mjs} +15 -17
  94. package/dist/task-target-deploy-runner.mjs +6 -6
  95. package/dist/{test-A5hz3c7j.mjs → test-Rm3thni3.mjs} +2 -2
  96. package/dist/{test.handler-CJtaMZVy.mjs → test.handler-CTd-heRS.mjs} +8 -8
  97. package/dist/{test.handler-Cq2l7SAr.mjs → test.handler-DhhcsvHN.mjs} +1 -1
  98. package/dist/{tool.handler-B-mOL128.mjs → tool.handler-C3LNyQbc.mjs} +9 -63
  99. package/dist/{trigger-artifacts-RizI57RC-DjhOsdOm.mjs → trigger-artifacts-BcRScRSp-DqFgzl_B.mjs} +53 -119
  100. package/dist/trigger-manifest-DTni4NaZ.mjs +42 -0
  101. package/dist/{upgrade-DhfpoyRV.mjs → upgrade-Cf7y38xR.mjs} +2 -2
  102. package/dist/{upload-BbcMkyVl.mjs → upload-CJWApEgz.mjs} +1 -1
  103. package/dist/{upload.handler-D3-W_1kq.mjs → upload.handler-BHIWYPph.mjs} +7 -7
  104. package/dist/{users.get.handler-Bd0OBI-E.mjs → users.get.handler-spWaHG8h.mjs} +1 -1
  105. package/dist/{users.list.handler-CacJz6eC.mjs → users.list.handler-DLuU7cd_.mjs} +1 -1
  106. package/dist/{users.set-role.handler-bZMQtUR0.mjs → users.set-role.handler-CojFmpcD.mjs} +1 -1
  107. package/dist/{utils-BMUWnz1P.mjs → utils-Ddltm1sR.mjs} +1 -1
  108. package/dist/{validate.handler-Ccq66ki4.mjs → validate.handler-DIJBuX1P.mjs} +4 -4
  109. package/dist/{workflow-build-_WNsLKwW.mjs → workflow-build-IGYhEC8Y.mjs} +22 -22
  110. package/dist/{workflow-bundler-BzHk73PM-WI31RJjH.mjs → workflow-bundler-BzHk73PM-Cs-4Ml-p.mjs} +2 -2
  111. package/dist/{workflows-Dy2M9bEr.mjs → workflows-MANdvLft.mjs} +19 -21
  112. package/dist/{writer-B-SpZ0G2-tq1MFgid.mjs → writer-byNNUjRm-w5O7-VT_.mjs} +24 -33
  113. package/package.json +11 -11
  114. package/dist/common-AK0q0Oz0.mjs +0 -20
  115. package/dist/credential-requirements-DrrQ9x9P.mjs +0 -250
  116. package/dist/cron-parser-Dw_cWzFu.mjs +0 -393
  117. package/dist/declared-credential-requirements-D6KT-r-e.mjs +0 -103
  118. package/dist/integrations-DRL3JmC8.mjs +0 -85
  119. package/dist/task-BguWXIiH.mjs +0 -486
  120. package/dist/task-target-deploy-DmpCWE3u.mjs +0 -4
  121. package/dist/trigger-manifest-Bq2zRbkV.mjs +0 -29
  122. package/dist/workflow-build-manifest-B2GqHyWE.mjs +0 -259
  123. /package/dist/{agent-manifest-tIsqF2OP.mjs → agent-manifest-CZ7BeUSG.mjs} +0 -0
  124. /package/dist/{browser-BpJ8ut9z.mjs → browser-Cu4k-wT_.mjs} +0 -0
  125. /package/dist/{clear-cache.handler-CTLQ1PIN.mjs → clear-cache.handler-8RFmjHoo.mjs} +0 -0
  126. /package/dist/{clear.handler-C_pXAeBG.mjs → clear.handler-mfNmIUYP.mjs} +0 -0
  127. /package/dist/{concurrency-gXn9Rw8x-BTlfau8D.mjs → concurrency-gXn9Rw8x-BSBbRfVp.mjs} +0 -0
  128. /package/dist/{credential-env-map-BA4LNI7x.mjs → credential-env-map-qLCR_QbO.mjs} +0 -0
  129. /package/dist/{credential-schema-mismatch-z74ud-YZ.mjs → credential-schema-mismatch-BHI_B-U-.mjs} +0 -0
  130. /package/dist/{diff-utils-B0ED-Igv.mjs → diff-utils-x5pi8SrL.mjs} +0 -0
  131. /package/dist/{layout-P1v-Gssz.mjs → layout-DRf9qUf8.mjs} +0 -0
  132. /package/dist/{list.handler-BLkQKiV1.mjs → list.handler-CynN-ezD.mjs} +0 -0
  133. /package/dist/{logs.handler-DyRoevtO.mjs → logs.handler-CcA1UzJm.mjs} +0 -0
  134. /package/dist/{oxc-B3KI3rf_-Cvx4Z-4H.mjs → oxc-B3KI3rf_-Cnk0L10M.mjs} +0 -0
  135. /package/dist/{read-credential-keys-77a91T8M-B0eiobOd.mjs → read-credential-keys-77a91T8M-CzXPGxdU.mjs} +0 -0
  136. /package/dist/{resolve-project-CNQtOWE4.mjs → resolve-project-CWP2fji3.mjs} +0 -0
  137. /package/dist/{rolldown-runtime-twds-ZHy-8uqgIurC.mjs → rolldown-runtime-twds-ZHy-BoF7MLzP.mjs} +0 -0
  138. /package/dist/{run-polling-DARidqo-.mjs → run-polling-CzyVv7Ba.mjs} +0 -0
  139. /package/dist/{schema-BjH_e4Fo.mjs → schema-CvSZqa3t.mjs} +0 -0
  140. /package/dist/{schema-display-NVEl_DFY.mjs → schema-display-DxLA3j5H.mjs} +0 -0
  141. /package/dist/{skill-installer-BBgN2tzW.mjs → skill-installer-CYFshTBy.mjs} +0 -0
  142. /package/dist/{skills.handler-Do9I3dQS.mjs → skills.handler-Bma-MJX-.mjs} +0 -0
  143. /package/dist/{spinner-progress-Bx-fYItP.mjs → spinner-progress-DV28G4tP.mjs} +0 -0
  144. /package/dist/{status.handler-BsVtDW_V.mjs → status.handler-BOV0eX3J.mjs} +0 -0
  145. /package/dist/{types-BMBuhHhW.mjs → types-DamInJD6.mjs} +0 -0
  146. /package/dist/{upgrade.handler-5qSzPC7D.mjs → upgrade.handler-Bz_oQcAw.mjs} +0 -0
@@ -1,11 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { n as findProjectRoot } from "./project-config-DudGRFPO.mjs";
4
- import { c as optionalDescriptionString$1, i as createStructuralSchema$1, l as optionalTrimmedNonEmptyString$1, o as idNoSpacesString, r as anyZodSchemaSchema$1, s as jsonSchemaObject$1, t as CredentialSetManifestSchema$1, u as trimmedNonEmptyString$1 } from "./schemas-B8c7Z5Iy.mjs";
5
- import { n as DeclaredCredentialRequirementSchema } from "./credential-requirements-DrrQ9x9P.mjs";
6
- import { a as FlowGraphSchema, i as WorkflowCoreManifestSchema, n as WORKFLOW_MANIFEST_SCHEMA_VERSION } from "./workflow-build-manifest-B2GqHyWE.mjs";
7
- import { t as parseCronExpression } from "./cron-parser-Dw_cWzFu.mjs";
8
- import { t as runWithConcurrency } from "./concurrency-gXn9Rw8x-BTlfau8D.mjs";
4
+ import { a as WorkflowCoreManifestSchema, o as FlowGraphSchema, r as WORKFLOW_MANIFEST_SCHEMA_VERSION, t as src_exports } from "./src-BHTjsZ9V.mjs";
5
+ import { c as optionalDescriptionString, i as createStructuralSchema, l as optionalTrimmedNonEmptyString, o as idNoSpacesString, r as anyZodSchemaSchema, s as jsonSchemaObject, t as CredentialSetManifestSchema, u as trimmedNonEmptyString } from "./schemas-U2OzP9gP.mjs";
6
+ import { t as runWithConcurrency } from "./concurrency-gXn9Rw8x-BSBbRfVp.mjs";
9
7
  import { createRequire } from "node:module";
10
8
  import * as os from "node:os";
11
9
  import * as path$1 from "node:path";
@@ -14,8 +12,9 @@ import { z } from "zod";
14
12
  import { execFile } from "node:child_process";
15
13
  import { randomUUID } from "node:crypto";
16
14
  import { promisify } from "node:util";
15
+ import { cronTriggerManifestSchema, pollingTriggerManifestSchema, webhookTriggerManifestSchema } from "@keystrokehq/core/trigger";
17
16
  //#region ../../packages/core/src/mcp-server/schemas.ts
18
- const credentialSetInstanceSchema$3 = createStructuralSchema$1([
17
+ const credentialSetInstanceSchema$1 = createStructuralSchema([
19
18
  "id",
20
19
  "auth",
21
20
  "connections"
@@ -23,27 +22,27 @@ const credentialSetInstanceSchema$3 = createStructuralSchema$1([
23
22
  const McpTransportSchema = z.discriminatedUnion("type", [
24
23
  z.object({
25
24
  type: z.literal("stdio"),
26
- command: trimmedNonEmptyString$1("Command"),
25
+ command: trimmedNonEmptyString("Command"),
27
26
  args: z.array(z.string()).optional(),
28
27
  env: z.record(z.string(), z.string()).optional()
29
28
  }),
30
29
  z.object({
31
30
  type: z.literal("http"),
32
- url: trimmedNonEmptyString$1("URL"),
31
+ url: trimmedNonEmptyString("URL"),
33
32
  headers: z.record(z.string(), z.string()).optional()
34
33
  }),
35
34
  z.object({
36
35
  type: z.literal("sse"),
37
- url: trimmedNonEmptyString$1("URL"),
36
+ url: trimmedNonEmptyString("URL"),
38
37
  headers: z.record(z.string(), z.string()).optional()
39
38
  })
40
39
  ]);
41
40
  z.object({
42
- id: trimmedNonEmptyString$1("MCP server ID"),
43
- name: optionalTrimmedNonEmptyString$1("MCP server name"),
44
- description: optionalDescriptionString$1("MCP server description"),
41
+ id: trimmedNonEmptyString("MCP server ID"),
42
+ name: optionalTrimmedNonEmptyString("MCP server name"),
43
+ description: optionalDescriptionString("MCP server description"),
45
44
  transport: McpTransportSchema,
46
- credentialSets: z.array(credentialSetInstanceSchema$3).optional(),
45
+ credentialSets: z.array(credentialSetInstanceSchema$1).optional(),
47
46
  credentials: z.function().optional()
48
47
  });
49
48
  const McpServerManifestSchema = z.object({
@@ -53,7 +52,7 @@ const McpServerManifestSchema = z.object({
53
52
  name: z.string().min(1),
54
53
  description: z.string().optional(),
55
54
  transport: McpTransportSchema,
56
- credentialSets: z.array(CredentialSetManifestSchema$1),
55
+ credentialSets: z.array(CredentialSetManifestSchema),
57
56
  credentialInjection: z.object({
58
57
  env: z.record(z.string(), z.object({
59
58
  credentialSetId: z.string().min(1),
@@ -67,7 +66,7 @@ const McpServerManifestSchema = z.object({
67
66
  });
68
67
  //#endregion
69
68
  //#region ../../packages/core/src/messaging-gateway/schemas.ts
70
- const credentialSetInstanceSchema$2 = createStructuralSchema$1([
69
+ const credentialSetInstanceSchema = createStructuralSchema([
71
70
  "id",
72
71
  "auth",
73
72
  "connections"
@@ -76,11 +75,11 @@ const MessagingGatewayModeSchema = z.enum(["platform", "custom"]);
76
75
  const MessagingGatewayCredentialScopeSchema = z.enum(["organization", "project"]);
77
76
  z.object({
78
77
  id: idNoSpacesString("MessagingGateway id"),
79
- name: optionalDescriptionString$1("MessagingGateway name"),
80
- description: optionalDescriptionString$1("MessagingGateway description"),
78
+ name: optionalDescriptionString("MessagingGateway name"),
79
+ description: optionalDescriptionString("MessagingGateway description"),
81
80
  provider: z.string().min(1, "MessagingGateway provider is required"),
82
81
  mode: MessagingGatewayModeSchema,
83
- credentialSet: credentialSetInstanceSchema$2,
82
+ credentialSet: credentialSetInstanceSchema,
84
83
  credentialScope: MessagingGatewayCredentialScopeSchema.optional(),
85
84
  appRef: z.string().min(1).optional()
86
85
  });
@@ -92,7 +91,7 @@ const MessagingGatewayManifestSchema = z.object({
92
91
  description: z.string().optional(),
93
92
  provider: z.string().min(1),
94
93
  mode: MessagingGatewayModeSchema,
95
- credentialSet: CredentialSetManifestSchema$1,
94
+ credentialSet: CredentialSetManifestSchema,
96
95
  credentialScope: MessagingGatewayCredentialScopeSchema.optional(),
97
96
  appRef: z.string().min(1).optional()
98
97
  });
@@ -118,7 +117,7 @@ const SandboxRuntimeSchema = z.object({
118
117
  const SandboxFileSourceSchema = z.discriminatedUnion("type", [z.object({
119
118
  type: z.literal("git"),
120
119
  /** Remote git URL to clone. */
121
- url: trimmedNonEmptyString$1("Git URL"),
120
+ url: trimmedNonEmptyString("Git URL"),
122
121
  /** Branch to clone. Omit for default branch. */
123
122
  branch: z.string().optional(),
124
123
  /**
@@ -130,7 +129,7 @@ const SandboxFileSourceSchema = z.discriminatedUnion("type", [z.object({
130
129
  }), z.object({
131
130
  type: z.literal("local"),
132
131
  /** Source path on the host (the dev's machine), resolved against project root. */
133
- path: trimmedNonEmptyString$1("Local path"),
132
+ path: trimmedNonEmptyString("Local path"),
134
133
  /**
135
134
  * Where the file/dir lands inside the VM. Relative paths resolve
136
135
  * against the sandbox `workdir`; absolute paths must stay under
@@ -139,9 +138,9 @@ const SandboxFileSourceSchema = z.discriminatedUnion("type", [z.object({
139
138
  target: z.string().optional()
140
139
  })]);
141
140
  z.object({
142
- id: optionalTrimmedNonEmptyString$1("Sandbox ID"),
143
- name: optionalTrimmedNonEmptyString$1("Sandbox name"),
144
- description: optionalDescriptionString$1("Sandbox description"),
141
+ id: optionalTrimmedNonEmptyString("Sandbox ID"),
142
+ name: optionalTrimmedNonEmptyString("Sandbox name"),
143
+ description: optionalDescriptionString("Sandbox description"),
145
144
  runtime: SandboxRuntimeSchema.optional(),
146
145
  fileSources: z.array(SandboxFileSourceSchema).optional(),
147
146
  setupCommands: z.array(z.string()).optional()
@@ -170,18 +169,18 @@ const AgentThinkingLevelSchema = z.enum([
170
169
  "high",
171
170
  "xhigh"
172
171
  ]);
173
- const mcpServerInstanceSchema = createStructuralSchema$1([
172
+ const mcpServerInstanceSchema = createStructuralSchema([
174
173
  "id",
175
174
  "transport",
176
175
  "credentialSets"
177
176
  ], "a McpServer instance");
178
- const sandboxInstanceSchema = createStructuralSchema$1([
177
+ const sandboxInstanceSchema = createStructuralSchema([
179
178
  "id",
180
179
  "runtime",
181
180
  "fileSources",
182
181
  "setupCommands"
183
182
  ], "a Sandbox instance");
184
- const messagingGatewayInstanceSchema = createStructuralSchema$1([
183
+ const messagingGatewayInstanceSchema = createStructuralSchema([
185
184
  "id",
186
185
  "provider",
187
186
  "mode",
@@ -199,14 +198,14 @@ const AgentToolCredentialSetReferenceSchema = z.object({
199
198
  required: z.boolean()
200
199
  });
201
200
  z.object({
202
- id: trimmedNonEmptyString$1("Agent ID"),
203
- name: trimmedNonEmptyString$1("Agent name"),
204
- description: optionalDescriptionString$1("Agent description"),
201
+ id: trimmedNonEmptyString("Agent ID"),
202
+ name: trimmedNonEmptyString("Agent name"),
203
+ description: optionalDescriptionString("Agent description"),
205
204
  systemPrompt: z.string().min(1, { error: "System prompt is required" }),
206
- model: trimmedNonEmptyString$1("Model"),
205
+ model: trimmedNonEmptyString("Model"),
207
206
  thinkingLevel: AgentThinkingLevelSchema.optional(),
208
- input: anyZodSchemaSchema$1.optional(),
209
- output: anyZodSchemaSchema$1.optional(),
207
+ input: anyZodSchemaSchema.optional(),
208
+ output: anyZodSchemaSchema.optional(),
210
209
  tools: z.array(z.unknown()).optional(),
211
210
  mcpServers: z.array(mcpServerInstanceSchema).optional(),
212
211
  sandbox: sandboxInstanceSchema.optional(),
@@ -230,10 +229,10 @@ const AgentManifestSchema = z.object({
230
229
  systemPrompt: z.string(),
231
230
  model: z.string(),
232
231
  thinkingLevel: AgentThinkingLevelSchema,
233
- input: jsonSchemaObject$1,
234
- output: jsonSchemaObject$1,
232
+ input: jsonSchemaObject,
233
+ output: jsonSchemaObject,
235
234
  maxSteps: z.number(),
236
- credentialSets: z.array(CredentialSetManifestSchema$1).optional(),
235
+ credentialSets: z.array(CredentialSetManifestSchema).optional(),
237
236
  tools: z.array(z.object({
238
237
  id: z.string(),
239
238
  displayName: z.string(),
@@ -253,791 +252,8 @@ const AgentManifestSchema = z.object({
253
252
  sandbox: SandboxManifestSchema.optional(),
254
253
  messaging: z.array(MessagingGatewayManifestSchema).optional()
255
254
  });
256
- z.string().length(64, "Must be 64 characters").regex(/^[a-f0-9]{64}$/i, "Must be hexadecimal").transform((value) => value);
257
- const JsonSchemaSchema = z.record(z.string(), z.unknown());
258
- z.object({
259
- constant: z.object({
260
- attempts: z.number().int().min(1).max(10),
261
- seconds: z.number().positive()
262
- }).optional(),
263
- exponential: z.object({
264
- attempts: z.number().int().min(1).max(10),
265
- base: z.number().min(1).optional(),
266
- multiplier: z.number().positive().optional()
267
- }).optional()
268
- }).refine((data) => {
269
- return data.constant !== void 0 !== (data.exponential !== void 0);
270
- }, { error: "Retry config must specify exactly one of constant or exponential strategy" });
271
- z.union([z.number().int().positive().finite(), z.string().regex(/^[1-9]\d*[smhdwy]$/)]);
272
- const DurationStringSchema = z.string().refine((val) => /^\d+[smhdwy]$/.test(val), { message: "Invalid duration format. Must be a positive integer followed by s, m, h, d, w, or y (e.g., \"5m\", \"1h\")" }).refine((val) => {
273
- const match = val.match(/^(\d+)[smhdwy]$/);
274
- if (!match?.[1]) return false;
275
- const num = Number.parseInt(match[1], 10);
276
- return num > 0 && Number.isFinite(num);
277
- }, { message: "Duration value must be a positive integer greater than 0" });
278
- const CronExpressionSchema = z.string().superRefine((val, ctx) => {
279
- try {
280
- parseCronExpression(val);
281
- } catch (error) {
282
- const errorMessage = error instanceof Error ? error.message : "Invalid cron expression format";
283
- ctx.addIssue({
284
- code: "custom",
285
- message: `Invalid cron expression: ${errorMessage}. Must be a valid 5-field cron: minute hour day month weekday (e.g., "0 9 * * *", "*/15 * * * *")`
286
- });
287
- }
288
- });
289
- const ScheduleSchema = z.union([
290
- z.number().refine((val) => val > 0, { message: "Duration in milliseconds must be positive" }).refine(Number.isFinite, { message: "Duration in milliseconds must be finite" }).refine(Number.isInteger, { message: "Duration in milliseconds must be an integer" }),
291
- DurationStringSchema,
292
- CronExpressionSchema
293
- ]);
294
- const IANATimezoneSchema = z.enum([
295
- "UTC",
296
- "GMT",
297
- "Etc/UTC",
298
- "Etc/GMT",
299
- "America/New_York",
300
- "America/Chicago",
301
- "America/Denver",
302
- "America/Los_Angeles",
303
- "America/Phoenix",
304
- "America/Anchorage",
305
- "America/Toronto",
306
- "America/Vancouver",
307
- "America/Mexico_City",
308
- "America/Sao_Paulo",
309
- "America/Buenos_Aires",
310
- "Europe/London",
311
- "Europe/Paris",
312
- "Europe/Berlin",
313
- "Europe/Rome",
314
- "Europe/Madrid",
315
- "Europe/Amsterdam",
316
- "Europe/Stockholm",
317
- "Europe/Vienna",
318
- "Europe/Zurich",
319
- "Europe/Moscow",
320
- "Europe/Athens",
321
- "Europe/Dublin",
322
- "Asia/Tokyo",
323
- "Asia/Shanghai",
324
- "Asia/Hong_Kong",
325
- "Asia/Singapore",
326
- "Asia/Seoul",
327
- "Asia/Dubai",
328
- "Asia/Kolkata",
329
- "Asia/Bangkok",
330
- "Asia/Jakarta",
331
- "Asia/Manila",
332
- "Asia/Taipei",
333
- "Australia/Sydney",
334
- "Australia/Melbourne",
335
- "Australia/Brisbane",
336
- "Australia/Perth",
337
- "Australia/Adelaide",
338
- "Pacific/Auckland",
339
- "Pacific/Honolulu",
340
- "Africa/Cairo",
341
- "Africa/Johannesburg",
342
- "Africa/Lagos",
343
- "Africa/Nairobi",
344
- "Asia/Riyadh",
345
- "Asia/Tehran",
346
- "Asia/Jerusalem",
347
- "Asia/Doha"
348
- ]);
349
- //#endregion
350
- //#region ../../packages/core/dist/chunks/schema-DTrryPH_.mjs
351
- const MAX_JSON_DEPTH = 20;
352
- function buildJsonValueSchema(depth) {
353
- const primitives = z.union([
354
- z.string(),
355
- z.number(),
356
- z.boolean(),
357
- z.null()
358
- ]);
359
- if (depth <= 0) return primitives;
360
- const nested = buildJsonValueSchema(depth - 1);
361
- return z.union([
362
- primitives,
363
- z.array(nested),
364
- z.record(z.string(), nested)
365
- ]);
366
- }
367
- const jsonValueSchema = buildJsonValueSchema(MAX_JSON_DEPTH);
368
- const jsonSchemaObject = z.record(z.string(), jsonValueSchema);
369
- const anyZodSchemaSchema = z.custom((value) => value instanceof z.ZodType, "Expected a Zod schema");
370
- const zodObjectSchema = z.custom((value) => value instanceof z.ZodObject, "Expected a Zod object schema");
371
- /**
372
- * Creates a Zod schema that validates an object structurally by checking
373
- * for required properties. This avoids `instanceof` checks which fail
374
- * when class definitions are duplicated across bundle boundaries.
375
- */
376
- function createStructuralSchema(requiredKeys, label) {
377
- return z.custom((value) => value != null && (typeof value === "object" || typeof value === "function") && requiredKeys.every((key) => key in value), `Expected ${label}`);
378
- }
379
- function trimmedNonEmptyString(fieldName) {
380
- return z.string().trim().min(1, { error: `${fieldName} cannot be empty` }).max(255, { error: `${fieldName} cannot exceed 255 characters` });
381
- }
382
- /**
383
- * Non-empty trimmed string for credential definition ids.
384
- * Only allows letters, numbers, hyphens, and underscores.
385
- */
386
- function credentialSetIdString(fieldName) {
387
- return z.string().trim().min(1, { error: `${fieldName} cannot be empty` }).max(255, { error: `${fieldName} cannot exceed 255 characters` }).refine((s) => /^[a-zA-Z0-9_-]+$/.test(s), { error: `${fieldName} must only contain letters, numbers, hyphens, and underscores` });
388
- }
389
- function optionalTrimmedNonEmptyString(fieldName) {
390
- return trimmedNonEmptyString(fieldName).optional();
391
- }
392
- function descriptionString(fieldName) {
393
- return z.string().trim().min(1, { error: `${fieldName} cannot be empty` }).max(1024, { error: `${fieldName} cannot exceed 1024 characters` });
394
- }
395
- function optionalDescriptionString(fieldName) {
396
- return descriptionString(fieldName).optional();
397
- }
398
- //#endregion
399
- //#region ../../packages/core/dist/chunks/schemas-DcgZIQvs.mjs
400
- /**
401
- * Shared constants for the credential/connection system.
402
- * Defined in core (bottom of dependency chain) so all packages can import them.
403
- */
404
- const CREDENTIAL_EXPOSURES = {
405
- "user-runtime": "user-runtime",
406
- "platform-only": "platform-only"
407
- };
408
- const credentialSetProxyInjectionSchema = z.object({
409
- /** Substitute placeholder in HTTP headers (default: true). */
410
- headers: z.boolean().optional(),
411
- /** Substitute placeholder in the HTTP Basic Auth credential (default: true). */
412
- basicAuth: z.boolean().optional(),
413
- /** Substitute placeholder in URL query params (default: false).
414
- * Use for APIs that authenticate via `?api_key=...` (Google Maps, OWM, etc.). */
415
- queryParams: z.boolean().optional(),
416
- /** Substitute placeholder in the HTTP request body (default: false).
417
- * Use for form-encoded auth payloads (Stripe, AWS SigV4 query, etc.). */
418
- body: z.boolean().optional()
419
- });
420
- const credentialSetProxyConfigSchema = z.object({
421
- /** Exact-match host allowlist (forwarded to SecretBuilder.allowHost). */
422
- hosts: z.array(z.string().min(1)).optional(),
423
- /** Wildcard host allowlist (forwarded to SecretBuilder.allowHostPattern).
424
- * Example: `["*.browserbase.com"]` covers any subdomain. */
425
- hostPatterns: z.array(z.string().min(1)).optional(),
426
- /** Per-scope substitution toggles. Omit to use SDK defaults. */
427
- injection: credentialSetProxyInjectionSchema.optional()
428
- });
429
- const onCredentialRevokedSchema = z.enum(["fail", "retry-once"]);
430
- const credentialExposureSchema = z.enum([CREDENTIAL_EXPOSURES["user-runtime"], CREDENTIAL_EXPOSURES["platform-only"]]);
431
- const connectionMetadataConfigSchema = z.object({
432
- id: credentialSetIdString("Credential connection id").optional(),
433
- label: optionalTrimmedNonEmptyString("Credential connection label"),
434
- description: optionalDescriptionString("Credential connection description"),
435
- recommended: z.boolean().optional(),
436
- advanced: z.boolean().optional(),
437
- needsRawSecret: z.boolean().optional()
438
- });
439
- const connectionMetadataManifestSchema = connectionMetadataConfigSchema;
440
- const registeredDescriptorSchema = z.object({
441
- id: trimmedNonEmptyString("Registered descriptor id"),
442
- config: z.record(z.string(), z.unknown()).optional()
443
- });
444
- const registeredResolverDescriptorSchema = registeredDescriptorSchema.extend({ cacheMs: z.number().int().nonnegative().optional() });
445
- const manualConnectionConfigSchema = connectionMetadataConfigSchema.extend({
446
- kind: z.literal("manual"),
447
- input: zodObjectSchema.optional(),
448
- instructions: z.string().min(1).optional(),
449
- validate: z.function().optional()
450
- });
451
- const manualConnectionFieldManifestSchema = z.object({
452
- key: z.string().min(1),
453
- label: z.string().min(1),
454
- description: z.string().min(1).optional(),
455
- optional: z.boolean(),
456
- secret: z.literal(true)
457
- });
458
- const manualConnectionConfigManifestSchema = connectionMetadataManifestSchema.extend({
459
- kind: z.literal("manual"),
460
- input: jsonSchemaObject.optional(),
461
- fields: z.array(manualConnectionFieldManifestSchema).optional(),
462
- generated: z.boolean().optional(),
463
- instructions: z.string().min(1).optional()
464
- });
465
- /** Declarative form of `Vault` — strings typed against the credential set's
466
- * stored/auth schema keys at the {@link CredentialSetConfig} boundary; the Zod
467
- * schema here enforces non-empty strings only. `CredentialSet` itself performs
468
- * the schema-key membership check at construction time. */
469
- const vaultMappingSchema = z.object({
470
- accessToken: z.string().min(1),
471
- refreshToken: z.string().min(1).optional(),
472
- instanceUrl: z.string().min(1).optional(),
473
- raw: z.record(z.string().min(1), z.string().min(1)).optional()
474
- });
475
- /** Function form of `Vault` — an object pairing the access-token vault key
476
- * (`accessTokenKey`) with the `build` function that computes the full vault
477
- * write map. The explicit key keeps the disconnect path's revocation read
478
- * reliable even when `build` transforms the access token. */
479
- const vaultMappingFnSchema = z.object({
480
- accessTokenKey: z.string().min(1),
481
- build: z.custom((val) => typeof val === "function", { message: "vault.build must be a function." })
482
- });
483
- /** Runtime shape of `Vault`. Accepts either the declarative mapping or the
484
- * function-form object `{ accessTokenKey, build }`. */
485
- const vaultConfigSchema = z.union([vaultMappingSchema, vaultMappingFnSchema], { error: "vault must be a declarative mapping object or a `{ accessTokenKey, build }` object." });
486
- /** Manifest projection of `Vault` — declarative mappings serialize verbatim;
487
- * function-form mappings serialize as `{ kind: 'function', accessTokenKey }`
488
- * since closures are not manifest-safe but the access-token key is. */
489
- const vaultManifestSchema = z.discriminatedUnion("kind", [z.object({
490
- kind: z.literal("declarative"),
491
- accessToken: z.string().min(1),
492
- refreshToken: z.string().min(1).optional(),
493
- instanceUrl: z.string().min(1).optional(),
494
- raw: z.record(z.string().min(1), z.string().min(1)).optional()
495
- }), z.object({
496
- kind: z.literal("function"),
497
- accessTokenKey: z.string().min(1)
498
- })]);
499
- const oauthConnectionConfigBaseSchema = z.object({
500
- kind: z.literal("oauth"),
501
- authUrl: z.string().url(),
502
- tokenUrl: z.string().url(),
503
- scopes: z.array(z.string()).readonly(),
504
- revokeUrl: z.string().url().nullable().optional(),
505
- tokenType: z.enum(["long-lived", "refreshable"]),
506
- pkce: z.boolean().optional(),
507
- /** Fallback token lifetime when the provider omits `expires_in`. Positive
508
- * integer seconds. Shared between config + manifest schemas (both extend
509
- * this base). */
510
- defaultExpiresInSeconds: z.number().int().positive().optional()
511
- });
512
- const oauthConnectionConfigSchema = oauthConnectionConfigBaseSchema.extend({
513
- ...connectionMetadataConfigSchema.shape,
514
- vault: vaultConfigSchema,
515
- oauth: registeredDescriptorSchema.optional(),
516
- buildAuthUrl: z.function().optional(),
517
- exchangeCode: z.function().optional(),
518
- refreshToken: z.function().optional(),
519
- extractInstallationInfo: z.function().optional(),
520
- validate: z.function().optional()
521
- });
522
- const oauthConnectionConfigManifestSchema = oauthConnectionConfigBaseSchema.extend({
523
- ...connectionMetadataManifestSchema.shape,
524
- vault: vaultManifestSchema,
525
- oauth: registeredDescriptorSchema.optional()
526
- });
527
- const credentialsExchangeConnectionConfigSchema = connectionMetadataConfigSchema.extend({
528
- kind: z.literal("credentials-exchange"),
529
- instructions: z.string().min(1).optional(),
530
- input: zodObjectSchema
531
- }).extend({
532
- exchange: z.function(),
533
- rotate: z.function().optional(),
534
- validate: z.function().optional()
535
- });
536
- /** Manifest projection of `CredentialsExchangeConnectionConfig` — only the
537
- * declarative `input` schema (rendered as JSON Schema) and `instructions`
538
- * copy survive serialization. The three hooks (`exchange`, `rotate`,
539
- * `validate`) are runtime closures and are stripped. */
540
- const credentialsExchangeConnectionConfigManifestSchema = z.object({
541
- kind: z.literal("credentials-exchange"),
542
- ...connectionMetadataManifestSchema.shape,
543
- instructions: z.string().min(1).optional(),
544
- input: jsonSchemaObject
545
- });
546
- const exchangeCredentialConnectionConfigSchema = connectionMetadataConfigSchema.extend({
547
- kind: z.literal("exchange"),
548
- input: zodObjectSchema,
549
- exchange: registeredDescriptorSchema
550
- });
551
- const exchangeCredentialConnectionManifestSchema = connectionMetadataManifestSchema.extend({
552
- kind: z.literal("exchange"),
553
- input: jsonSchemaObject,
554
- exchange: registeredDescriptorSchema
555
- });
556
- const dynamicCredentialConnectionConfigSchema = connectionMetadataConfigSchema.extend({
557
- kind: z.literal("dynamic"),
558
- input: zodObjectSchema.optional(),
559
- resolver: registeredResolverDescriptorSchema
560
- });
561
- const dynamicCredentialConnectionManifestSchema = connectionMetadataManifestSchema.extend({
562
- kind: z.literal("dynamic"),
563
- input: jsonSchemaObject.optional(),
564
- resolver: registeredResolverDescriptorSchema
565
- });
566
- const platformCredentialConnectionConfigSchema = connectionMetadataConfigSchema.extend({ kind: z.literal("platform") });
567
- const platformCredentialConnectionManifestSchema = connectionMetadataManifestSchema.extend({ kind: z.literal("platform") });
568
- const connectionConfigSchema = z.discriminatedUnion("kind", [
569
- manualConnectionConfigSchema,
570
- oauthConnectionConfigSchema,
571
- credentialsExchangeConnectionConfigSchema,
572
- exchangeCredentialConnectionConfigSchema,
573
- dynamicCredentialConnectionConfigSchema,
574
- platformCredentialConnectionConfigSchema
575
- ]);
576
- /** Manifest projection of `ConnectionConfig` — declarative metadata only. */
577
- const connectionConfigManifestSchema = z.discriminatedUnion("kind", [
578
- manualConnectionConfigManifestSchema,
579
- oauthConnectionConfigManifestSchema,
580
- credentialsExchangeConnectionConfigManifestSchema,
581
- exchangeCredentialConnectionManifestSchema,
582
- dynamicCredentialConnectionManifestSchema,
583
- platformCredentialConnectionManifestSchema
584
- ]);
585
- const CredentialSetManifestSchema = z.object({
586
- manifestVersion: z.literal(1),
587
- type: z.literal("credentialSet"),
588
- id: credentialSetIdString("Credential set id"),
589
- name: trimmedNonEmptyString("Credential set name"),
590
- description: optionalDescriptionString("Credential set description"),
591
- auth: jsonSchemaObject,
592
- exposure: credentialExposureSchema.optional(),
593
- proxy: credentialSetProxyConfigSchema.optional(),
594
- /** When true, resolved values are passed into execution as raw secrets (no ref-token proxy). */
595
- needsRawSecret: z.boolean().optional(),
596
- /** Policy when a step throws `CredentialRevokedError` against this credential set. */
597
- onCredentialRevoked: onCredentialRevokedSchema.optional(),
598
- connections: z.array(connectionConfigManifestSchema).optional()
599
- });
600
- z.object({
601
- id: credentialSetIdString("Credential set id"),
602
- name: optionalTrimmedNonEmptyString("Credential set name"),
603
- description: optionalDescriptionString("Credential set description"),
604
- auth: zodObjectSchema,
605
- exposure: credentialExposureSchema.optional(),
606
- proxy: credentialSetProxyConfigSchema.optional(),
607
- /** When true, resolved values are passed into execution as raw secrets (no ref-token proxy). */
608
- needsRawSecret: z.boolean().optional(),
609
- onCredentialRevoked: onCredentialRevokedSchema.optional(),
610
- connections: z.array(connectionConfigSchema).readonly().optional()
611
- });
612
- //#endregion
613
- //#region ../../packages/core/dist/chunks/schemas-Dehm2ijP.mjs
614
- const SourceLocationSchema = z.object({
615
- filePath: z.string().min(1),
616
- absoluteFilePath: z.string().min(1).optional(),
617
- line: z.number().int().positive(),
618
- column: z.number().int().positive(),
619
- position: z.number().int().nonnegative().optional(),
620
- endLine: z.number().int().positive(),
621
- endColumn: z.number().int().positive(),
622
- endPosition: z.number().int().nonnegative().optional(),
623
- synthetic: z.boolean().optional()
624
- });
625
- z.string().min(1);
626
- const ImportSourceSchema = z.object({
627
- kind: z.enum([
628
- "local",
629
- "module-import",
630
- "namespace-import",
631
- "dynamic"
632
- ]),
633
- moduleSpecifier: z.string().min(1).optional(),
634
- importName: z.string().min(1).optional(),
635
- localName: z.string().min(1).optional(),
636
- resolvedPath: z.string().min(1).optional()
637
- });
638
- const CallKindSchema = z.enum([
639
- "workflow-step",
640
- "agent",
641
- "tool",
642
- "hook",
643
- "child-workflow",
644
- "function-call",
645
- "method-call",
646
- "dynamic-call",
647
- "parallel-call",
648
- "process-exit",
649
- "iife",
650
- "expression"
651
- ]);
652
- const CapturedVariableSourceKindSchema = z.enum([
653
- "local-const",
654
- "relative-import",
655
- "package-import"
656
- ]);
657
- const CapturedVariableValueTypeSchema = z.enum([
658
- "string",
659
- "number",
660
- "boolean",
661
- "object",
662
- "array",
663
- "function",
664
- "unknown"
665
- ]);
666
- z.object({
667
- name: z.string().min(1),
668
- value: z.union([
669
- z.string(),
670
- z.number(),
671
- z.boolean()
672
- ]).optional(),
673
- sourceText: z.string().optional(),
674
- valueType: CapturedVariableValueTypeSchema,
675
- resolvable: z.boolean(),
676
- source: CapturedVariableSourceKindSchema,
677
- importPath: z.string().optional(),
678
- declaration: z.object({
679
- filePath: z.string().min(1),
680
- line: z.number().int().positive()
681
- })
682
- });
683
- const IntegrationScopeSchema = z.enum([
684
- "organization",
685
- "project",
686
- "user_provided_credential"
687
- ]);
688
- const IntegrationCredentialRefSchema = z.discriminatedUnion("type", [z.object({
689
- type: z.literal("id"),
690
- id: z.string().startsWith("cset_")
691
- }), z.object({
692
- type: z.literal("name"),
693
- name: z.string().trim().min(1)
694
- })]);
695
- function hasProjectOrOrganizationScope(scope) {
696
- return scope === "organization" || scope === "project";
697
- }
698
- const CredentialRefTokenKeyNameSchema = z.string().regex(/^[A-Za-z0-9_]+$/, "Credential key must contain only letters, digits, and underscores (required for ref-token proxying)");
699
- /** Shared enum for top-level credential-set `onCredentialRevoked` policy. */
700
- const OnCredentialRevokedSchema = z.enum(["fail", "retry-once"]);
701
- /** A credential set after resolution in a built manifest. Contains definition id, scope, alias, and credential keys.*/
702
- const ResolvedCredentialSetSchema = z.object({
703
- resolvedId: z.string(),
704
- scope: IntegrationScopeSchema.optional(),
705
- alias: z.string().optional(),
706
- credentialRef: IntegrationCredentialRefSchema.optional(),
707
- /** Auth-shape keys expected post-resolve. */
708
- credentialKeys: z.array(CredentialRefTokenKeyNameSchema),
709
- /** Subset of `credentialKeys` that are optional in the auth shape. */
710
- optionalCredentialKeys: z.array(CredentialRefTokenKeyNameSchema).optional(),
711
- /** Auth-shaped vault keys required for vault reads and upload flows. */
712
- storedCredentialKeys: z.array(CredentialRefTokenKeyNameSchema).optional(),
713
- /** Subset of auth-shaped vault keys that may be absent from the vault without
714
- * failing resolution. Derived from the credential set's `auth` schema. */
715
- optionalStoredCredentialKeys: z.array(CredentialRefTokenKeyNameSchema).optional(),
716
- proxy: credentialSetProxyConfigSchema.optional(),
717
- /** When true, resolved values are passed raw (no ref-token proxy) for this set. */
718
- needsRawSecret: z.boolean().optional(),
719
- /** Policy when a step throws `CredentialRevokedError` against this credential set. */
720
- onCredentialRevoked: OnCredentialRevokedSchema.optional(),
721
- /** Persistence-layer schema fingerprint stamped at build time. The
722
- * resolver's phase 2 compares this against the vault row's stored
723
- * fingerprint and raises `CredentialSchemaMismatchError` on drift.
724
- * Optional here so pre-fingerprint artifacts still parse; the
725
- * workflow builder populates it for every authored credential set
726
- * that has a resolvable fingerprint. */
727
- schemaFingerprint: z.string().optional()
728
- }).superRefine((value, ctx) => {
729
- if (value.credentialRef && !hasProjectOrOrganizationScope(value.scope)) ctx.addIssue({
730
- code: z.ZodIssueCode.custom,
731
- path: ["credentialRef"],
732
- message: "credentialRef requires scope to be \"project\" or \"organization\""
733
- });
734
- });
735
- z.object({
736
- credentialSetId: z.string(),
737
- /** Auth-shape keys expected post-resolve. */
738
- credentialKeys: z.array(CredentialRefTokenKeyNameSchema),
739
- /** Optional subset of the auth-shape keys. */
740
- optionalCredentialKeys: z.array(CredentialRefTokenKeyNameSchema).optional(),
741
- /** Stored-shape keys required for vault reads. */
742
- storedCredentialKeys: z.array(CredentialRefTokenKeyNameSchema).optional(),
743
- /** Optional subset of the stored-shape keys. */
744
- optionalStoredCredentialKeys: z.array(CredentialRefTokenKeyNameSchema).optional(),
745
- schemaFingerprint: z.string().optional(),
746
- /** Policy when a step throws `CredentialRevokedError` against this credential set. */
747
- onCredentialRevoked: OnCredentialRevokedSchema.optional(),
748
- proxy: credentialSetProxyConfigSchema.optional(),
749
- needsRawSecret: z.boolean().optional(),
750
- requiredOAuthScopes: z.array(z.string()).optional()
751
- });
752
- const CredentialRequirementEntrySchema = z.object({
753
- credentialSetId: z.string(),
754
- scope: IntegrationScopeSchema.optional(),
755
- alias: z.string().optional(),
756
- credentialRef: IntegrationCredentialRefSchema.optional(),
757
- /** Auth-shape keys expected post-resolve. */
758
- credentialKeys: z.array(CredentialRefTokenKeyNameSchema),
759
- /** Optional subset of the auth-shape keys. */
760
- optionalCredentialKeys: z.array(CredentialRefTokenKeyNameSchema).optional(),
761
- /** Auth-shaped vault keys required for vault reads. */
762
- storedCredentialKeys: z.array(CredentialRefTokenKeyNameSchema).optional(),
763
- /** Optional subset of the stored-shape keys. */
764
- optionalStoredCredentialKeys: z.array(CredentialRefTokenKeyNameSchema).optional(),
765
- schemaFingerprint: z.string().optional(),
766
- proxy: credentialSetProxyConfigSchema.optional(),
767
- needsRawSecret: z.boolean().optional(),
768
- /** Policy when a step throws `CredentialRevokedError` against this credential set. */
769
- onCredentialRevoked: OnCredentialRevokedSchema.optional(),
770
- requiredOAuthScopes: z.array(z.string()).optional()
771
- }).superRefine((value, ctx) => {
772
- if (value.credentialRef && !hasProjectOrOrganizationScope(value.scope)) ctx.addIssue({
773
- code: z.ZodIssueCode.custom,
774
- path: ["credentialRef"],
775
- message: "credentialRef requires scope to be \"project\" or \"organization\""
776
- });
777
- });
778
- z.object({
779
- required: z.array(z.string()),
780
- byStep: z.record(z.string(), z.array(CredentialRequirementEntrySchema))
781
- });
782
- const TriggerCallbackNameSchema = z.enum([
783
- "filter",
784
- "idempotencyKey",
785
- "verify",
786
- "callback"
787
- ]);
788
- const TriggerCredentialRequirementEntrySchema = CredentialRequirementEntrySchema;
789
- const TriggerCredentialRequirementsSchema = z.object({
790
- required: z.array(z.string()),
791
- byCallback: z.partialRecord(TriggerCallbackNameSchema, z.array(TriggerCredentialRequirementEntrySchema))
792
- });
793
- const ExecutionIdentityPolicySchema = z.object({ subjectMode: z.enum(["never", "requiredWhenUserProvidedCredential"]) });
794
- z.object({
795
- nodeId: z.string().min(1),
796
- stepName: z.string().min(1),
797
- label: z.string().min(1),
798
- callKind: CallKindSchema,
799
- stepId: z.string().min(1).optional(),
800
- source: SourceLocationSchema.optional(),
801
- astKind: z.string().min(1).optional(),
802
- importSource: ImportSourceSchema.optional(),
803
- outputBinding: z.string().min(1).optional(),
804
- scopeOverride: IntegrationScopeSchema.optional(),
805
- description: z.string().optional(),
806
- sourceCode: z.string().optional(),
807
- exportName: z.string().optional(),
808
- inputSchema: JsonSchemaSchema.optional(),
809
- outputSchema: JsonSchemaSchema.optional(),
810
- credentialSets: z.array(ResolvedCredentialSetSchema).optional()
811
- });
812
- const TriggerTypeSchema = z.enum([
813
- "webhook",
814
- "cron",
815
- "polling"
816
- ]);
817
- /**
818
- * Persisted on `deployment_triggers.trigger_source`. Mirrors the
819
- * `webhookTrigger({ source: { type } })` discriminator so the server
820
- * can index-filter app-source rows during provider-webhook fanout.
821
- */
822
- const TriggerSourceSchema = z.enum(["custom", "app"]);
823
- const WebhookMethodSchema$1 = z.enum([
824
- "GET",
825
- "POST",
826
- "PUT",
827
- "PATCH"
828
- ]);
829
- const TriggerCallbackBundleUploadSchema = z.object({
830
- code: z.string(),
831
- hash: z.string(),
832
- size: z.number()
833
- });
834
- const TriggerCallbackExportsSchema = z.object({
835
- verify: z.string().min(1).optional(),
836
- filter: z.string().min(1).optional(),
837
- idempotencyKey: z.string().min(1).optional(),
838
- callback: z.string().min(1).optional()
839
- });
840
- const TransformCallbackExportsSchema = z.object({ transform: z.string().min(1).optional() });
841
- z.object({
842
- id: z.string(),
843
- type: TriggerTypeSchema,
844
- /**
845
- * Source-of-truth discriminator for webhook triggers. `'custom'` means
846
- * the trigger owns its own HTTP path; `'app'` means it is fanned out by
847
- * a Keystroke-managed provider app. Undefined for non-webhook triggers.
848
- */
849
- triggerSource: TriggerSourceSchema.optional(),
850
- enabled: z.boolean(),
851
- path: z.string().optional(),
852
- method: WebhookMethodSchema$1.optional(),
853
- schedule: z.string().optional(),
854
- timezone: z.string().optional(),
855
- config: z.record(z.string(), z.unknown()).optional(),
856
- requiredCredentials: TriggerCredentialRequirementsSchema.optional(),
857
- storagePath: z.string().min(1).optional(),
858
- callbackBundle: TriggerCallbackBundleUploadSchema.optional(),
859
- callbackExports: TriggerCallbackExportsSchema.optional(),
860
- transformCallbackBundle: TriggerCallbackBundleUploadSchema.optional(),
861
- transformCallbackExports: TransformCallbackExportsSchema.optional()
862
- });
863
- const credentialSetInstanceSchema$1 = createStructuralSchema([
864
- "id",
865
- "auth",
866
- "connections"
867
- ], "a CredentialSet instance");
868
- const TriggerModeDefaultSchema = z.enum(["managed", "subscribable"]);
869
- const TriggerCallbackPresenceSchema = z.object({
870
- filter: z.boolean(),
871
- idempotencyKey: z.boolean(),
872
- poll: z.boolean().optional(),
873
- transformAllowed: z.boolean(),
874
- verify: z.boolean().optional()
875
- });
876
- const TriggerRuntimeDescriptorSchema = z.object({ callbacks: TriggerCallbackPresenceSchema });
877
- z.object({
878
- manifestVersion: z.literal(1),
879
- type: z.literal("trigger"),
880
- triggerType: TriggerTypeSchema,
881
- name: trimmedNonEmptyString("Trigger name"),
882
- description: descriptionString("Trigger description"),
883
- enabled: z.boolean(),
884
- modeDefault: TriggerModeDefaultSchema,
885
- executionIdentityPolicy: ExecutionIdentityPolicySchema.optional(),
886
- credentialSets: z.array(CredentialSetManifestSchema).optional(),
887
- runtime: TriggerRuntimeDescriptorSchema
888
- });
889
- const triggerBaseConfigSchema = z.object({
890
- credentialSets: z.array(credentialSetInstanceSchema$1).optional(),
891
- description: descriptionString("Trigger description"),
892
- enabled: z.boolean().default(true),
893
- executionIdentityPolicy: ExecutionIdentityPolicySchema.optional(),
894
- modeDefault: TriggerModeDefaultSchema.default("managed"),
895
- name: trimmedNonEmptyString("Trigger name")
896
- });
897
- triggerBaseConfigSchema.extend({
898
- input: anyZodSchemaSchema,
899
- payload: z.custom((value) => {
900
- return jsonValueSchema.safeParse(value).success;
901
- }, "Expected a JSON-serializable payload"),
902
- schedule: ScheduleSchema,
903
- timezone: IANATimezoneSchema.optional()
904
- });
905
- const cronTriggerRuntimeSchema = TriggerRuntimeDescriptorSchema.extend({
906
- input: jsonSchemaObject,
907
- payloadMode: z.literal("static"),
908
- schedule: z.string(),
909
- timezone: z.string().optional()
910
- });
911
- const cronTriggerManifestSchema = z.object({
912
- manifestVersion: z.literal(1),
913
- type: z.literal("trigger"),
914
- triggerType: z.literal("cron"),
915
- name: trimmedNonEmptyString("Trigger name"),
916
- description: descriptionString("Trigger description"),
917
- enabled: z.boolean(),
918
- modeDefault: z.enum(["managed", "subscribable"]),
919
- executionIdentityPolicy: triggerBaseConfigSchema.shape.executionIdentityPolicy,
920
- credentialSets: z.array(CredentialSetManifestSchema).optional(),
921
- runtime: cronTriggerRuntimeSchema,
922
- /** Static payload for cron triggers — the workflow input when this trigger fires */
923
- payload: jsonValueSchema.optional()
924
- });
925
- z.object({
926
- lastPolledAt: z.string().optional(),
927
- lastResponse: z.unknown().optional()
928
- });
929
- triggerBaseConfigSchema.extend({
930
- poll: z.function(),
931
- filter: z.function().optional(),
932
- idempotencyKey: z.function().optional(),
933
- response: anyZodSchemaSchema,
934
- schedule: ScheduleSchema
935
- });
936
- const pollingTriggerRuntimeSchema = TriggerRuntimeDescriptorSchema.extend({
937
- response: jsonSchemaObject,
938
- schedule: z.string(),
939
- state: z.object({
940
- lastPolledAt: z.literal(true),
941
- lastResponse: z.literal(true)
942
- })
943
- });
944
- const pollingTriggerManifestSchema = z.object({
945
- manifestVersion: z.literal(1),
946
- type: z.literal("trigger"),
947
- triggerType: z.literal("polling"),
948
- name: trimmedNonEmptyString("Trigger name"),
949
- description: descriptionString("Trigger description"),
950
- enabled: z.boolean(),
951
- modeDefault: z.enum(["managed", "subscribable"]),
952
- executionIdentityPolicy: triggerBaseConfigSchema.shape.executionIdentityPolicy,
953
- credentialSets: z.array(CredentialSetManifestSchema).optional(),
954
- runtime: pollingTriggerRuntimeSchema
955
- });
956
- const WebhookMethodSchema = z.enum([
957
- "PATCH",
958
- "POST",
959
- "PUT"
960
- ]);
961
- z.object({
962
- method: z.string(),
963
- path: z.string(),
964
- query: z.record(z.string(), z.union([
965
- z.string(),
966
- z.array(z.string()),
967
- z.undefined()
968
- ])),
969
- headers: z.record(z.string(), z.string().optional()),
970
- rawBody: z.string()
971
- });
972
- const WebhookResponseConfigSchema = z.object({
973
- ignoredBody: jsonValueSchema.optional(),
974
- ignoredStatus: z.number().int().positive().optional(),
975
- successBody: jsonValueSchema.optional(),
976
- successStatus: z.number().int().positive().optional()
977
- });
978
- /**
979
- * Custom webhook trigger paths describe the suffix that a request URL has
980
- * after the organization id. The router serves these triggers at
981
- * `/api/v1/webhooks/{orgId}{path}` (e.g. `path: '/orders'` → request
982
- * `/api/v1/webhooks/{orgId}/orders`). Authors must therefore supply only the
983
- * trailing path segment, not the `/webhooks/` prefix that the route already
984
- * provides.
985
- */
986
- const webhookPathSchema = z.string().trim().min(1, { error: "Webhook path cannot be empty" }).max(50, { error: "Webhook path cannot exceed 50 characters" }).refine((s) => !/\s/.test(s), { error: "Webhook path cannot contain spaces or whitespace" }).refine((s) => s.startsWith("/"), { error: "Webhook path must start with /" }).refine((s) => s.length > 1, { error: "Webhook path must include a path segment after the leading \"/\"" }).refine((s) => !/^\/webhooks(\/|$)/i.test(s), { error: "Webhook path must not start with \"/webhooks\". Provide just the suffix that follows the organization id in the URL — e.g. use \"/orders\" for a webhook served at \"/api/v1/webhooks/{orgId}/orders\"." });
987
- const credentialSetInstanceSchema = createStructuralSchema([
988
- "id",
989
- "auth",
990
- "connections"
991
- ], "a CredentialSet instance");
992
- const webhookCustomSourceConfigSchema = z.object({
993
- type: z.literal("custom"),
994
- method: WebhookMethodSchema,
995
- path: webhookPathSchema,
996
- verify: z.function().optional(),
997
- response: WebhookResponseConfigSchema.optional(),
998
- credentialSets: z.array(credentialSetInstanceSchema).optional()
999
- });
1000
- const webhookAppSourceConfigSchema = z.object({
1001
- type: z.literal("app"),
1002
- appRef: trimmedNonEmptyString("appRef")
1003
- });
1004
- const webhookSourceConfigSchema = z.discriminatedUnion("type", [webhookCustomSourceConfigSchema, webhookAppSourceConfigSchema]);
1005
- const webhookCustomSourceManifestSchema = z.object({
1006
- type: z.literal("custom"),
1007
- method: WebhookMethodSchema,
1008
- path: z.string().min(1).max(1024),
1009
- response: WebhookResponseConfigSchema.optional()
1010
- });
1011
- const webhookAppSourceManifestSchema = z.object({
1012
- type: z.literal("app"),
1013
- appRef: trimmedNonEmptyString("appRef")
1014
- });
1015
- const WebhookSourceManifestSchema = z.discriminatedUnion("type", [webhookCustomSourceManifestSchema, webhookAppSourceManifestSchema]);
1016
- triggerBaseConfigSchema.omit({ credentialSets: true }).extend({
1017
- source: webhookSourceConfigSchema,
1018
- payload: anyZodSchemaSchema.optional(),
1019
- filter: z.function().optional(),
1020
- idempotencyKey: z.function().optional()
1021
- });
1022
- const webhookTriggerRuntimeSchema = TriggerRuntimeDescriptorSchema.extend({
1023
- source: WebhookSourceManifestSchema,
1024
- payload: jsonSchemaObject
1025
- });
1026
- const webhookTriggerManifestSchema = z.object({
1027
- manifestVersion: z.literal(1),
1028
- type: z.literal("trigger"),
1029
- triggerType: z.literal("webhook"),
1030
- name: trimmedNonEmptyString("Trigger name"),
1031
- description: descriptionString("Trigger description"),
1032
- enabled: z.boolean(),
1033
- modeDefault: z.enum(["managed", "subscribable"]),
1034
- executionIdentityPolicy: triggerBaseConfigSchema.shape.executionIdentityPolicy,
1035
- credentialSets: z.array(CredentialSetManifestSchema).optional(),
1036
- runtime: webhookTriggerRuntimeSchema
1037
- });
1038
- z.unknown();
1039
255
  //#endregion
1040
- //#region ../../packages/workflow-builder/dist/import-module--8x5SLum.mjs
256
+ //#region ../../packages/workflow-builder/dist/import-module-y0glInUe.mjs
1041
257
  var DiscoveryError = class extends Error {
1042
258
  code;
1043
259
  filePath;
@@ -2177,7 +1393,7 @@ function isTriggerLike(value) {
2177
1393
  value != null &&
2178
1394
  (typeof value === 'object' || typeof value === 'function') &&
2179
1395
  typeof value.toManifest === 'function' &&
2180
- typeof value.name === 'string'
1396
+ typeof value.id === 'string'
2181
1397
  );
2182
1398
  }
2183
1399
 
@@ -2188,7 +1404,7 @@ function isBoundTriggerLike(value) {
2188
1404
  value.isBoundTrigger === true &&
2189
1405
  value.trigger != null &&
2190
1406
  typeof value.trigger.toManifest === 'function' &&
2191
- typeof value.trigger.name === 'string'
1407
+ typeof value.trigger.id === 'string'
2192
1408
  );
2193
1409
  }
2194
1410
 
@@ -2205,18 +1421,17 @@ function getTriggerCandidate(value) {
2205
1421
  function describeTriggerEntry(entry) {
2206
1422
  if (entry && typeof entry === 'object') {
2207
1423
  if ('isBoundTrigger' in entry && entry.isBoundTrigger === true && entry.trigger) {
2208
- return entry.trigger.name ?? '<unknown trigger>';
1424
+ return entry.trigger.id ?? '<unknown trigger>';
2209
1425
  }
2210
- if ('name' in entry && typeof entry.name === 'string') {
2211
- return entry.name;
1426
+ if ('id' in entry && typeof entry.id === 'string') {
1427
+ return entry.id;
2212
1428
  }
2213
1429
  }
2214
1430
  return '<unknown trigger>';
2215
1431
  }
2216
1432
 
2217
1433
  function findTriggerSource(entry, trigger, workflowMod, workflowFilePath, siblingModules) {
2218
- const triggerName = trigger.name;
2219
- // First, check if the trigger is re-exported from the workflow module (identity check)
1434
+ const triggerId = trigger.id;
2220
1435
  for (const [name, exp] of Object.entries(workflowMod)) {
2221
1436
  const candidate = getTriggerCandidate(exp);
2222
1437
  if (exp === entry || exp === trigger || candidate === trigger) {
@@ -2232,13 +1447,13 @@ function findTriggerSource(entry, trigger, workflowMod, workflowFilePath, siblin
2232
1447
  exp === entry ||
2233
1448
  exp === trigger ||
2234
1449
  candidate === trigger ||
2235
- candidate?.name === triggerName
1450
+ candidate?.id === triggerId
2236
1451
  ) {
2237
1452
  siblingMatches.push({ triggerExportName: name, sourceFilePath: filePath });
2238
1453
  continue;
2239
1454
  }
2240
1455
 
2241
- if (isBoundTriggerLike(exp) && exp.trigger.name === triggerName) {
1456
+ if (isBoundTriggerLike(exp) && exp.trigger.id === triggerId) {
2242
1457
  siblingMatches.push({ triggerExportName: name, sourceFilePath: filePath });
2243
1458
  }
2244
1459
  }
@@ -2250,7 +1465,7 @@ function findTriggerSource(entry, trigger, workflowMod, workflowFilePath, siblin
2250
1465
  .join(', ');
2251
1466
  throw new Error(
2252
1467
  'Ambiguous trigger source for "' +
2253
- triggerName +
1468
+ triggerId +
2254
1469
  '" in ' +
2255
1470
  workflowFilePath +
2256
1471
  '. Matching sibling exports: ' +
@@ -2279,9 +1494,6 @@ async function discoverTriggers(workflow, mod, workflowFilePath) {
2279
1494
  const trigger = isBound ? entry.trigger : entry;
2280
1495
  const triggerManifest = trigger.toManifest();
2281
1496
  const hasTransform = isBound && typeof entry.transform === 'function';
2282
- const hasFilter = isBound
2283
- ? typeof entry.filter === 'function'
2284
- : typeof trigger.filter === 'function';
2285
1497
  const { triggerExportName, sourceFilePath } = findTriggerSource(
2286
1498
  entry,
2287
1499
  trigger,
@@ -2289,7 +1501,6 @@ async function discoverTriggers(workflow, mod, workflowFilePath) {
2289
1501
  workflowFilePath,
2290
1502
  siblingModules
2291
1503
  );
2292
- // For cron triggers, capture the static payload for runtime use
2293
1504
  const staticPayload =
2294
1505
  triggerManifest.triggerType === 'cron' && 'payload' in trigger
2295
1506
  ? trigger.payload
@@ -2299,16 +1510,15 @@ async function discoverTriggers(workflow, mod, workflowFilePath) {
2299
1510
  triggerExportName,
2300
1511
  sourceFilePath,
2301
1512
  hasTransform,
2302
- hasFilter,
2303
1513
  staticPayload,
2304
1514
  triggerIndex,
2305
1515
  });
2306
1516
  } catch (error) {
2307
- const triggerName = describeTriggerEntry(entry);
1517
+ const triggerLabel = describeTriggerEntry(entry);
2308
1518
  const message = serializeError(error);
2309
1519
  throw new Error(
2310
1520
  'Failed to discover trigger "' +
2311
- triggerName +
1521
+ triggerLabel +
2312
1522
  '" for workflow "' +
2313
1523
  workflow.name +
2314
1524
  '": ' +
@@ -2507,7 +1717,6 @@ const LoadedWorkflowTriggerSchema = z.object({
2507
1717
  triggerExportName: z.string().optional(),
2508
1718
  sourceFilePath: z.string().optional(),
2509
1719
  hasTransform: z.boolean(),
2510
- hasFilter: z.boolean(),
2511
1720
  staticPayload: z.unknown().optional(),
2512
1721
  triggerIndex: z.number()
2513
1722
  });
@@ -2516,7 +1725,7 @@ const LoaderTimingSchema = z.object({
2516
1725
  manifestMs: z.number(),
2517
1726
  flowGraphMs: z.number()
2518
1727
  });
2519
- const DeclaredCredentialEntrySchema = DeclaredCredentialRequirementSchema;
1728
+ const DeclaredCredentialEntrySchema = src_exports.DeclaredCredentialRequirementSchema;
2520
1729
  const CredentialsByCallsiteFingerprintSchema = z.record(z.string(), z.array(DeclaredCredentialEntrySchema));
2521
1730
  const CredentialAttributionWarningSchema = z.object({
2522
1731
  category: z.literal("unmatched-callsite"),