@desplega.ai/agent-swarm 1.129.0 → 1.131.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/README.md +2 -2
  2. package/dist/{actions-kfv2dawe.js → actions-w53mbns9.js} +11 -11
  3. package/dist/{anthropic-messages-3xgme8my.js → anthropic-messages-rjmd2e7n.js} +5 -5
  4. package/dist/{app-q8vjk6e8.js → app-m9gwqsqv.js} +8 -8
  5. package/dist/{artifact-hg4t1nx7.js → artifact-jysj3wrg.js} +2 -2
  6. package/dist/{assistant-g037r345.js → assistant-bp65m6f3.js} +13 -13
  7. package/dist/{azure-openai-responses-xa4sh9f6.js → azure-openai-responses-c0yjmbfd.js} +8 -5
  8. package/dist/{boot-reembed-18pzsrxa.js → boot-reembed-62p0at2k.js} +6 -6
  9. package/dist/{boot-reembed-wpks2cj8.js → boot-reembed-xmfp6wdh.js} +7 -7
  10. package/dist/{boot-scrub-logs-n7szd57r.js → boot-scrub-logs-rr8q2dms.js} +5 -5
  11. package/dist/{claude-adapter-qz4r0ajt.js → claude-adapter-2y47mrkd.js} +9 -9
  12. package/dist/{cli-mhjnbgb6.js → cli-0rcyq6d9.js} +450 -186
  13. package/dist/{cli-ttkmehy0.js → cli-2q72qz2s.js} +274 -25
  14. package/dist/{cli-gztgc3hz.js → cli-2wadx7p2.js} +2 -2
  15. package/dist/cli-3fj60etf.js +153 -0
  16. package/dist/{cli-7ecgm5v0.js → cli-3kf51j15.js} +1 -1
  17. package/dist/{cli-vgexpfsr.js → cli-57khth04.js} +6 -3
  18. package/dist/{cli-2mbe7vk0.js → cli-5dsbcjjw.js} +1 -1
  19. package/dist/{cli-etr62zy6.js → cli-5kx36evn.js} +2 -2
  20. package/dist/{cli-v2tr6amf.js → cli-5n6e5yfn.js} +30 -8
  21. package/dist/{cli-hx02s9zq.js → cli-5v4rw6yd.js} +2 -2
  22. package/dist/{cli-v37yr6mf.js → cli-5ze9rv97.js} +4 -4
  23. package/dist/{cli-ch7t5v7n.js → cli-6map995v.js} +9 -4
  24. package/dist/{cli-h0457a67.js → cli-70xqj0z3.js} +3 -3
  25. package/dist/{cli-kk4f9r17.js → cli-72q8m8gk.js} +8 -6
  26. package/dist/{cli-7padk69a.js → cli-78xwvkhj.js} +2 -2
  27. package/dist/{cli-dxtxacy7.js → cli-9dr5qzc0.js} +45 -8
  28. package/dist/{cli-17zxdgsq.js → cli-a40rnf71.js} +6 -6
  29. package/dist/{cli-t53vnnxz.js → cli-a4jzdpa3.js} +2514 -1055
  30. package/dist/{cli-w10fkrf1.js → cli-akdvwc9v.js} +354 -115
  31. package/dist/{cli-1qkk5er0.js → cli-bmze986d.js} +1 -1
  32. package/dist/{cli-ga12dc1d.js → cli-bqw0mt1n.js} +3 -3
  33. package/dist/{cli-0sf92efp.js → cli-cdeg08wx.js} +1 -1
  34. package/dist/{cli-a8ynhkyj.js → cli-cvgjwnh1.js} +17 -15
  35. package/dist/{cli-9fxg3v5m.js → cli-d2tfkcga.js} +4 -4
  36. package/dist/{cli-nhcd7x43.js → cli-d3x3x1c9.js} +2 -2
  37. package/dist/{cli-6nh2qxvh.js → cli-darcwax3.js} +1 -1
  38. package/dist/{cli-yjbgmysx.js → cli-e7ckcg4v.js} +12 -12
  39. package/dist/{cli-4n2gcjpd.js → cli-efxfnq6q.js} +4 -3
  40. package/dist/{cli-z9xqqhfk.js → cli-er3a4bb0.js} +1 -1
  41. package/dist/{cli-xg2eezyv.js → cli-f1am9szv.js} +1 -1
  42. package/dist/{cli-xy4cwsm9.js → cli-fywms69x.js} +1 -1
  43. package/dist/{cli-33jj76y8.js → cli-g6b8x1h8.js} +1 -1
  44. package/dist/{cli-epsvdckx.js → cli-gm9cbhbq.js} +20 -10
  45. package/dist/{cli-rkndnn90.js → cli-k9qkf1hw.js} +6 -4
  46. package/dist/{cli-zejvt395.js → cli-kh3ba2zf.js} +1 -1
  47. package/dist/{cli-gb25p1h2.js → cli-nm5gtp1x.js} +2 -2
  48. package/dist/{cli-akxnpx17.js → cli-pm6xbh84.js} +1829 -1629
  49. package/dist/{cli-2k0ztbfp.js → cli-psh3c4va.js} +1 -1
  50. package/dist/{cli-39vgrsep.js → cli-qv61hp37.js} +2 -2
  51. package/dist/{cli-hv2fndhm.js → cli-r6kqqbj0.js} +6 -4
  52. package/dist/{cli-1y1cm570.js → cli-rzbpmxdr.js} +1 -1
  53. package/dist/{cli-mmrk00vp.js → cli-t1xze5qh.js} +1 -1
  54. package/dist/{cli-g252a9ky.js → cli-t55yw3a1.js} +2 -2
  55. package/dist/{cli-7bz8dzqa.js → cli-t76vw5db.js} +1184 -1522
  56. package/dist/{cli-4n4mdv21.js → cli-xpxde7rm.js} +7 -3
  57. package/dist/{cli-fpaa5k2q.js → cli-yw8vghx2.js} +54 -18
  58. package/dist/cli-zsspvvm2.js +490 -0
  59. package/dist/cli.js +27 -25
  60. package/dist/{codex-adapter-7v6t7ff6.js → codex-adapter-d24q75wk.js} +7 -7
  61. package/dist/{codex-hook-amndawyb.js → codex-hook-hq54t9ft.js} +2 -2
  62. package/dist/{codex-session-runner-e7j4khe2.js → codex-session-runner-g50vcsex.js} +7 -7
  63. package/dist/{commands-ex0k5tbf.js → commands-c3nrc5hg.js} +5 -5
  64. package/dist/{db-df7jatfc.js → db-nt7fg3tw.js} +5 -5
  65. package/dist/{google-generative-ai-y42hnw9p.js → google-generative-ai-hysrd8qx.js} +7 -5
  66. package/dist/{google-vertex-4sg66gb6.js → google-vertex-p5arrga0.js} +7 -5
  67. package/dist/{handlers-1j2cfqt2.js → handlers-fkr6swat.js} +13 -13
  68. package/dist/{hook-nx9a0mj3.js → hook-77wpvnjc.js} +7 -7
  69. package/dist/{hook-w6yaf6sy.js → hook-g019yehy.js} +8 -8
  70. package/dist/{http-4tz5h8wg.js → http-jewj0syk.js} +2993 -716
  71. package/dist/{index-0bpkzb09.js → index-070v4eyb.js} +3 -3
  72. package/dist/{index-0s67qv7h.js → index-6gm5he8h.js} +11 -11
  73. package/dist/{index-35gtv6gj.js → index-7n2xpbd4.js} +310 -40
  74. package/dist/{index-ker3gccb.js → index-9znhar3x.js} +4 -4
  75. package/dist/{index-5n2c8yay.js → index-hase6zbe.js} +2 -2
  76. package/dist/{index-kcf3tm9h.js → index-hfvggd0z.js} +12 -12
  77. package/dist/{index-7c0jqna0.js → index-hp1kdbjj.js} +13 -13
  78. package/dist/{keepalive-3j4a9168.js → keepalive-j0fjvqfd.js} +7 -7
  79. package/dist/{lead-6kpevymb.js → lead-1n8x30xe.js} +33 -33
  80. package/dist/{maintenance-m1k82ean.js → maintenance-gvev11sa.js} +7 -7
  81. package/dist/{mistral-conversations-bjkdfb6z.js → mistral-conversations-81fwav0j.js} +6 -6
  82. package/dist/{oauth-refresh-sweep-881k8e4q.js → oauth-refresh-sweep-s9ecsvh0.js} +6 -6
  83. package/dist/{onboard-c0ykffjn.js → onboard-pvm5b38w.js} +2 -2
  84. package/dist/{openai-codex-responses-xetseqvt.js → openai-codex-responses-5g27pd6f.js} +43 -23
  85. package/dist/{openai-completions-5r2g5axa.js → openai-completions-3vkmfz2a.js} +55 -11
  86. package/dist/{openai-responses-ce67hd23.js → openai-responses-dg4t7j7a.js} +8 -5
  87. package/dist/{openrouter-images-pzfp22jb.js → openrouter-images-g3gm8931.js} +1 -1
  88. package/dist/{otel-impl-sqagjerv.js → otel-impl-p6jvgd9c.js} +6 -4
  89. package/dist/{otel-3mp81ppd.js → otel-nqa12wf3.js} +2 -2
  90. package/dist/{pi-mono-adapter-k584k16g.js → pi-mono-adapter-t091s27g.js} +17117 -7517
  91. package/dist/{pricing-refresh-y82whbf9.js → pricing-refresh-k49rcyed.js} +7 -7
  92. package/dist/{rbac-roles-nvkqmzyd.js → rbac-roles-30pspvy7.js} +7 -7
  93. package/dist/{rbac-roles-4ht8gegc.js → rbac-roles-cr80g96t.js} +6 -6
  94. package/dist/{render-v2-wvqdgvvp.js → render-v2-xm457ng1.js} +8 -8
  95. package/dist/{seed-pricing-fy3rxhde.js → seed-pricing-yhpv35fr.js} +6 -6
  96. package/dist/{setup-ak5cnc6f.js → setup-nytnmwwr.js} +2 -2
  97. package/dist/{worker-d8769q8a.js → worker-msytr2cw.js} +33 -33
  98. package/openapi.json +34039 -11036
  99. package/package.json +8 -6
  100. package/src/apps/definition.ts +368 -26
  101. package/src/apps/row-store.ts +66 -10
  102. package/src/apps/schema-migrate.ts +95 -1
  103. package/src/apps/store.ts +13 -4
  104. package/src/apps/sync-run-as.ts +18 -0
  105. package/src/apps/sync.ts +934 -0
  106. package/src/apps/version.ts +16 -2
  107. package/src/assets/key.ts +8 -1
  108. package/src/be/asset-key-audit.ts +3 -1
  109. package/src/be/db-queries/mcp-oauth.ts +297 -24
  110. package/src/be/db.ts +42 -1
  111. package/src/be/migrations/129_asset_keys_apps_scripts.sql +161 -0
  112. package/src/be/scripts/db.ts +5 -2
  113. package/src/be/scripts/typecheck.ts +1 -0
  114. package/src/be/seed-scripts/catalog/app-sync-run.ts +32 -0
  115. package/src/be/seed-scripts/catalog/github-issues-pull.ts +102 -0
  116. package/src/be/seed-scripts/index.ts +18 -0
  117. package/src/be/seed-skills/index.ts +7 -0
  118. package/src/http/active-sessions.ts +26 -18
  119. package/src/http/agents.ts +94 -27
  120. package/src/http/api-keys.ts +91 -17
  121. package/src/http/approval-requests.ts +87 -10
  122. package/src/http/apps.ts +361 -53
  123. package/src/http/assets.ts +165 -31
  124. package/src/http/budgets.ts +7 -5
  125. package/src/http/codex-oauth-keep-warm.ts +21 -3
  126. package/src/http/config.ts +46 -16
  127. package/src/http/context.ts +33 -6
  128. package/src/http/ecosystem.ts +20 -6
  129. package/src/http/events.ts +24 -9
  130. package/src/http/favorites.ts +20 -6
  131. package/src/http/fs.ts +60 -17
  132. package/src/http/heartbeat.ts +18 -4
  133. package/src/http/inbox-state.ts +12 -6
  134. package/src/http/integrations.ts +25 -5
  135. package/src/http/kv.ts +36 -15
  136. package/src/http/mcp-bridge.ts +5 -1
  137. package/src/http/mcp-oauth.ts +332 -17
  138. package/src/http/mcp-servers.ts +56 -18
  139. package/src/http/memory.ts +282 -29
  140. package/src/http/metrics.ts +80 -17
  141. package/src/http/oauth-callback.ts +10 -4
  142. package/src/http/oauth-generic.ts +5 -1
  143. package/src/http/oauth-locks.ts +6 -3
  144. package/src/http/openapi.ts +57 -9
  145. package/src/http/page-proxy.ts +25 -5
  146. package/src/http/pages-public.ts +37 -20
  147. package/src/http/pages.ts +93 -28
  148. package/src/http/poll.ts +89 -5
  149. package/src/http/pricing.ts +9 -6
  150. package/src/http/prompt-templates.ts +85 -21
  151. package/src/http/route-def.ts +67 -4
  152. package/src/http/schedules.ts +63 -14
  153. package/src/http/script-connection-proxy.ts +30 -4
  154. package/src/http/script-connections.ts +393 -43
  155. package/src/http/script-runs.ts +73 -19
  156. package/src/http/scripts.ts +257 -39
  157. package/src/http/session-data.ts +87 -14
  158. package/src/http/sessions.ts +80 -5
  159. package/src/http/skills.ts +115 -35
  160. package/src/http/stats.ts +94 -13
  161. package/src/http/task-templates.ts +6 -4
  162. package/src/http/tasks.ts +230 -61
  163. package/src/http/trackers/jira.ts +90 -30
  164. package/src/http/trackers/linear.ts +46 -12
  165. package/src/http/users.ts +162 -25
  166. package/src/http/utils.ts +12 -2
  167. package/src/http/webhooks.ts +30 -16
  168. package/src/http/workflow-events.ts +18 -5
  169. package/src/http/workflows.ts +128 -39
  170. package/src/http/x.ts +37 -6
  171. package/src/oauth/ensure-mcp-token.ts +16 -1
  172. package/src/oauth/mcp-wrapper.ts +281 -26
  173. package/src/providers/pi-mono-adapter.ts +1 -1
  174. package/src/scripts-runtime/credential-broker/README.md +1 -1
  175. package/src/scripts-runtime/credential-broker/fetch-patch.ts +12 -2
  176. package/src/scripts-runtime/sdk-allowlist.ts +1 -0
  177. package/src/scripts-runtime/stdlib/fetch.ts +6 -0
  178. package/src/scripts-runtime/types/stdlib.d.ts +1 -0
  179. package/src/scripts-runtime/types/swarm-sdk.d.ts +1 -0
  180. package/src/server.ts +2 -0
  181. package/src/tests/apps-rbac.test.ts +110 -0
  182. package/src/tests/apps-spike2.test.ts +4 -1
  183. package/src/tests/apps-sync-engine.test.ts +2540 -0
  184. package/src/tests/apps-sync.test.ts +1627 -0
  185. package/src/tests/asset-key-api.test.ts +48 -2
  186. package/src/tests/asset-key-invariants.test.ts +92 -0
  187. package/src/tests/asset-key-migration.test.ts +174 -8
  188. package/src/tests/asset-key-normalization.test.ts +2 -0
  189. package/src/tests/credential-broker.test.ts +27 -2
  190. package/src/tests/mcp-oauth-dcr-reuse.test.ts +743 -0
  191. package/src/tests/mcp-oauth-ensure-token.test.ts +45 -0
  192. package/src/tests/mcp-oauth-manual-client.test.ts +135 -2
  193. package/src/tests/mcp-oauth-queries.test.ts +153 -0
  194. package/src/tests/mcp-oauth-wrapper.test.ts +432 -0
  195. package/src/tests/memory-http-recall-gating.test.ts +2 -0
  196. package/src/tests/openapi-response-contract.test.ts +138 -0
  197. package/src/tests/rbac-admission-e2e.test.ts +68 -0
  198. package/src/tests/script-connections.test.ts +3 -0
  199. package/src/tests/scripts-runtime-fetch.test.ts +121 -0
  200. package/src/tests/scripts-runtime-secret-egress.test.ts +4 -2
  201. package/src/tests/seed-scripts.test.ts +2 -2
  202. package/src/tests/swarm-tool-result-gate.test.ts +32 -0
  203. package/src/tests/task-working-dir.test.ts +8 -4
  204. package/src/tests/whoami-route.test.ts +127 -0
  205. package/src/tests/workflow-engine-v2.test.ts +80 -7
  206. package/src/tests/workflow-swarm-script.test.ts +104 -0
  207. package/src/tools/app-get.ts +10 -2
  208. package/src/tools/app-rollback.ts +1 -0
  209. package/src/tools/app-sync.ts +112 -0
  210. package/src/tools/script-common.ts +20 -0
  211. package/src/tools/tool-config.ts +2 -1
  212. package/src/tools/utils.ts +11 -0
  213. package/src/tools/workflows/create-workflow.ts +4 -1
  214. package/src/types.ts +1394 -1206
  215. package/src/utils/template.ts +8 -1
  216. package/src/utils/zod-openapi.ts +11 -0
  217. package/src/workflows/engine.ts +27 -4
  218. package/src/workflows/executors/swarm-script.ts +28 -0
  219. package/src/workflows/retry-poller.ts +19 -2
  220. package/templates/skills/apps/content.md +94 -5
  221. package/templates/skills/asset-namespaces/content.md +2 -2
  222. package/templates/skills/scheduled-task-resilience/SKILL.md +102 -0
  223. package/templates/skills/scheduled-task-resilience/config.json +14 -0
  224. package/templates/skills/scheduled-task-resilience/content.md +97 -0
  225. package/dist/cli-7wmybrt5.js +0 -115
  226. package/dist/cli-d91pvmq1.js +0 -14
@@ -3,9 +3,12 @@ import {
3
3
  } from "./cli-p9swy5t3.js";
4
4
 
5
5
  // src/utils/template.ts
6
+ function findInterpolationTokens(template) {
7
+ return Array.from(template.matchAll(INTERPOLATION_TOKEN_RE), (match) => match[1].trim());
8
+ }
6
9
  function interpolate(template, ctx) {
7
10
  const unresolved = [];
8
- const result = template.replace(/\{\{([^}]+)\}\}/g, (_match, path) => {
11
+ const result = template.replace(INTERPOLATION_TOKEN_RE, (_match, path) => {
9
12
  const keys = path.trim().split(".");
10
13
  let value = ctx;
11
14
  for (const key of keys) {
@@ -73,8 +76,9 @@ function deepInterpolate(value, ctx, options = {}) {
73
76
  }
74
77
  return { value: walk(value), unresolved: allUnresolved };
75
78
  }
76
- var EXACT_TOKEN_RE;
79
+ var INTERPOLATION_TOKEN_RE, EXACT_TOKEN_RE;
77
80
  var init_template = __esm(() => {
81
+ INTERPOLATION_TOKEN_RE = /\{\{([^}]+)\}\}/g;
78
82
  EXACT_TOKEN_RE = /^\{\{([^}]+)\}\}$/;
79
83
  });
80
84
 
@@ -1146,4 +1150,4 @@ Your output is captured automatically — focus on doing the work and communicat
1146
1150
  });
1147
1151
  });
1148
1152
 
1149
- export { interpolate, deepInterpolate, init_template, registerTemplate, getTemplateDefinition, getAllTemplateDefinitions, init_registry, configureDbResolver, configureHttpResolver, resolveTemplate, resolveTemplateAsync, init_resolver, parseEnvFlag, isEnvFlagEnabled, init_env_flag, init_session_templates, isSteeringEnabled, init_steering_enabled };
1153
+ export { findInterpolationTokens, interpolate, deepInterpolate, init_template, registerTemplate, getTemplateDefinition, getAllTemplateDefinitions, init_registry, configureDbResolver, configureHttpResolver, resolveTemplate, resolveTemplateAsync, init_resolver, parseEnvFlag, isEnvFlagEnabled, init_env_flag, init_session_templates, isSteeringEnabled, init_steering_enabled };
@@ -16,10 +16,10 @@ import {
16
16
  runScript,
17
17
  sandboxSpawnEnv,
18
18
  snapshotCapped
19
- } from "./cli-akxnpx17.js";
19
+ } from "./cli-pm6xbh84.js";
20
20
  import {
21
21
  withSiblingAwareness
22
- } from "./cli-0sf92efp.js";
22
+ } from "./cli-cdeg08wx.js";
23
23
  import {
24
24
  FollowUpConfigSchema,
25
25
  ModelTierSchema,
@@ -64,26 +64,27 @@ import {
64
64
  updateWorkflowRun,
65
65
  updateWorkflowRunStep,
66
66
  workflowContextKey
67
- } from "./cli-t53vnnxz.js";
67
+ } from "./cli-a4jzdpa3.js";
68
68
  import {
69
69
  deepInterpolate,
70
+ findInterpolationTokens,
70
71
  init_template,
71
72
  interpolate
72
- } from "./cli-4n4mdv21.js";
73
+ } from "./cli-xpxde7rm.js";
73
74
  import {
74
75
  getAppUrl,
75
76
  init_constants
76
77
  } from "./cli-x23me2mg.js";
77
78
  import {
78
79
  init_zod
79
- } from "./cli-d91pvmq1.js";
80
+ } from "./cli-zsspvvm2.js";
80
81
  import {
81
82
  init_secret_scrubber,
82
83
  isSensitiveKey
83
84
  } from "./cli-4j2mrzag.js";
84
85
  import {
85
86
  exports_external
86
- } from "./cli-2mbe7vk0.js";
87
+ } from "./cli-5dsbcjjw.js";
87
88
  import {
88
89
  init_event_bus,
89
90
  workflowEventBus
@@ -1079,9 +1080,18 @@ async function executeStep(def, runId, ctx, node, registry, workflowId, secretKe
1079
1080
  throw new Error(errorMsg);
1080
1081
  }
1081
1082
  }
1082
- const { value: interpolatedValue, unresolved } = interpolateNodeConfig(node, interpolationCtx);
1083
+ const {
1084
+ value: interpolatedValue,
1085
+ unresolved,
1086
+ scriptBodyUnresolved
1087
+ } = interpolateNodeConfig(node, interpolationCtx);
1083
1088
  const interpolatedConfig = interpolatedValue;
1084
1089
  const executionCtx = { ...ctx, ...interpolationCtx };
1090
+ if (scriptBodyUnresolved && scriptBodyUnresolved.length > 0) {
1091
+ const errorMsg = scriptBodyInterpolationError(node.id, scriptBodyUnresolved);
1092
+ checkpointStepFailure(runId, stepId, errorMsg, 0);
1093
+ return { outcome: "failed", successors: [] };
1094
+ }
1085
1095
  if (unresolved.length > 0) {
1086
1096
  console.warn(`[workflow] Step ${node.id}: unresolved interpolation tokens: ${unresolved.join(", ")}`);
1087
1097
  updateWorkflowRunStep(stepId, {
@@ -1267,9 +1277,10 @@ function interpolateNodeConfig(node, interpolationCtx) {
1267
1277
  return {
1268
1278
  value: {
1269
1279
  ...restResult.value,
1270
- script: scriptResult.value
1280
+ script: scriptResult.unresolved.length > 0 ? script : scriptResult.value
1271
1281
  },
1272
- unresolved: [...restResult.unresolved, ...scriptResult.unresolved]
1282
+ unresolved: [...restResult.unresolved, ...scriptResult.unresolved],
1283
+ scriptBodyUnresolved: scriptResult.unresolved
1273
1284
  };
1274
1285
  }
1275
1286
  if (node.type !== "swarm-script" || !Object.hasOwn(node.config, "args")) {
@@ -1286,6 +1297,10 @@ function interpolateNodeConfig(node, interpolationCtx) {
1286
1297
  unresolved: [...configResult.unresolved, ...argsResult.unresolved]
1287
1298
  };
1288
1299
  }
1300
+ function scriptBodyInterpolationError(nodeId, tokens) {
1301
+ const renderedTokens = [...new Set(tokens)].map((token) => `{{${token}}}`).join(", ");
1302
+ return `Script body interpolation failed for node "${nodeId}": unresolved or disallowed token(s): ${renderedTokens}. ` + "Executable source may interpolate only input, workflow, swarm, or run values. " + "Pass dynamic trigger or upstream values through config.args and read them from argv.";
1303
+ }
1289
1304
  function timeoutPromise(ms) {
1290
1305
  return new Promise((_, reject) => {
1291
1306
  setTimeout(() => reject(new Error(`Step timed out after ${ms}ms`)), ms);
@@ -2225,7 +2240,11 @@ function startRetryPoller(registry, intervalMs = 5000) {
2225
2240
  if (!("run" in ctx))
2226
2241
  ctx.run = { id: run.id };
2227
2242
  const inputCtx = buildNodeInterpolationCtx(node, ctx);
2228
- const { value: interpolatedValue } = interpolateNodeConfig(node, inputCtx);
2243
+ const { value: interpolatedValue, scriptBodyUnresolved } = interpolateNodeConfig(node, inputCtx);
2244
+ if (scriptBodyUnresolved && scriptBodyUnresolved.length > 0) {
2245
+ checkpointStepFailure(run.id, step.id, scriptBodyInterpolationError(node.id, scriptBodyUnresolved), step.retryCount);
2246
+ continue;
2247
+ }
2229
2248
  const interpolatedConfig = interpolatedValue;
2230
2249
  const executor = registry.get(node.type);
2231
2250
  const meta = {
@@ -3073,7 +3092,7 @@ class HumanInTheLoopExecutor extends BaseExecutor {
3073
3092
  }
3074
3093
  if (notification.channel === "slack") {
3075
3094
  try {
3076
- const { getSlackApp } = await import("./app-q8vjk6e8.js");
3095
+ const { getSlackApp } = await import("./app-m9gwqsqv.js");
3077
3096
  const slackApp = getSlackApp();
3078
3097
  if (!slackApp) {
3079
3098
  console.warn("[HITL] Slack not initialized — cannot send notification");
@@ -3189,7 +3208,7 @@ class NotifyExecutor extends BaseExecutor {
3189
3208
  }
3190
3209
  }
3191
3210
  case "slack": {
3192
- const { getSlackApp } = await import("./app-q8vjk6e8.js");
3211
+ const { getSlackApp } = await import("./app-m9gwqsqv.js");
3193
3212
  const app = getSlackApp();
3194
3213
  if (!app) {
3195
3214
  return {
@@ -3314,14 +3333,14 @@ var RawLlmOutputSchema = exports_external.object({
3314
3333
  async function executeRawLlm(config) {
3315
3334
  const modelName = config.model ?? "google/gemini-3-flash-preview";
3316
3335
  try {
3317
- const { createOpenAI } = await import("./index-0bpkzb09.js");
3336
+ const { createOpenAI } = await import("./index-070v4eyb.js");
3318
3337
  const openrouter = createOpenAI({
3319
3338
  baseURL: getOpenRouterBaseUrl(),
3320
3339
  apiKey: process.env.OPENROUTER_API_KEY
3321
3340
  });
3322
3341
  const model = openrouter(modelName);
3323
3342
  if (config.schema) {
3324
- const { generateObject, jsonSchema } = await import("./index-ker3gccb.js");
3343
+ const { generateObject, jsonSchema } = await import("./index-9znhar3x.js");
3325
3344
  const { object } = await generateObject({
3326
3345
  model,
3327
3346
  schema: jsonSchema(config.schema),
@@ -3335,7 +3354,7 @@ async function executeRawLlm(config) {
3335
3354
  output: { result: object, model: modelName }
3336
3355
  };
3337
3356
  }
3338
- const { generateText } = await import("./index-ker3gccb.js");
3357
+ const { generateText } = await import("./index-9znhar3x.js");
3339
3358
  const { text } = await generateText({
3340
3359
  model,
3341
3360
  prompt: config.prompt
@@ -3538,6 +3557,7 @@ class ScriptExecutor extends BaseExecutor {
3538
3557
 
3539
3558
  // src/workflows/executors/swarm-script.ts
3540
3559
  init_zod();
3560
+ init_template();
3541
3561
  var SWARM_SCRIPT_DEFAULT_TIMEOUT_MS = DEFAULT_SCRIPT_RESOURCES.wallClockMs;
3542
3562
  var SWARM_SCRIPT_MIN_TIMEOUT_MS = MIN_SCRIPT_WALL_CLOCK_MS;
3543
3563
  var SWARM_SCRIPT_MAX_TIMEOUT_MS = MAX_SCRIPT_WALL_CLOCK_MS;
@@ -3560,6 +3580,14 @@ var SwarmScriptOutputSchema = exports_external.object({
3560
3580
  contentHash: exports_external.string(),
3561
3581
  version: exports_external.number()
3562
3582
  });
3583
+ var WORKFLOW_INTERPOLATION_ROOTS = new Set(["trigger", "input", "workflow", "swarm", "run"]);
3584
+ function findWorkflowSourceTokens(source, inputCtx) {
3585
+ const roots = new Set([...WORKFLOW_INTERPOLATION_ROOTS, ...Object.keys(inputCtx ?? {})]);
3586
+ return findInterpolationTokens(source).filter((token) => {
3587
+ const root = token.split(".")[0];
3588
+ return root !== undefined && roots.has(root);
3589
+ });
3590
+ }
3563
3591
 
3564
3592
  class SwarmScriptExecutor extends BaseExecutor {
3565
3593
  type = "swarm-script";
@@ -3579,6 +3607,14 @@ class SwarmScriptExecutor extends BaseExecutor {
3579
3607
  if (!resolved.ok) {
3580
3608
  return { status: "failed", error: resolved.error };
3581
3609
  }
3610
+ const sourceTokens = findWorkflowSourceTokens(resolved.source, meta.inputCtx);
3611
+ if (sourceTokens.length > 0) {
3612
+ const renderedTokens = [...new Set(sourceTokens)].map((token) => `{{${token}}}`).join(", ");
3613
+ return {
3614
+ status: "failed",
3615
+ error: `swarm-script body interpolation failed for node "${meta.nodeId}": unresolved token(s): ${renderedTokens}. ` + "Named script source is not workflow-interpolated; pass dynamic values through config.args and read them from args."
3616
+ };
3617
+ }
3582
3618
  const credentials = await buildScriptCredentialBindingsWithFailures({
3583
3619
  agentId: agentId ?? undefined
3584
3620
  });
@@ -3745,8 +3781,8 @@ class ValidateExecutor extends BaseExecutor {
3745
3781
  const interpolatedPrompt = this.deps.interpolate(prompt, context);
3746
3782
  const outputStr = typeof targetOutput === "string" ? targetOutput : JSON.stringify(targetOutput);
3747
3783
  try {
3748
- const { createOpenAI } = await import("./index-0bpkzb09.js");
3749
- const { generateObject, jsonSchema } = await import("./index-ker3gccb.js");
3784
+ const { createOpenAI } = await import("./index-070v4eyb.js");
3785
+ const { generateObject, jsonSchema } = await import("./index-9znhar3x.js");
3750
3786
  const openrouter = createOpenAI({
3751
3787
  baseURL: getOpenRouterBaseUrl(),
3752
3788
  apiKey: process.env.OPENROUTER_API_KEY
@@ -3951,4 +3987,4 @@ function initWorkflows() {
3951
3987
  logOpenWebhookTriggers();
3952
3988
  }
3953
3989
 
3954
- export { generateEdges, findEntryNodes, getSuccessors, definitionNodeIds, validateDefinition, applyDefinitionPatch, validateJsonSchema, TriggerSchemaError, startWorkflowExecution, setupWorkflowResumeListener, retryFailedRun, cancelWorkflowRun, resumeWaitState, initWaitBusSubscriptions, subscribeWaitToBus, recoverIncompleteRuns, startRetryPoller, stopRetryPoller, validateTemplateVariables, instantiateTemplate, handleWebhookTrigger, logOpenWebhookTriggers, handleScheduleTrigger, verifyHmacSignature, WebhookError, snapshotWorkflow, startWaitPoller, stopWaitPoller, RawLlmConfigSchema, executeRawLlm, getExecutorRegistry, initWorkflows };
3990
+ export { generateEdges, findEntryNodes, getSuccessors, definitionNodeIds, validateDefinition, applyDefinitionPatch, validateJsonSchema, TriggerSchemaError, startWorkflowExecution, setupWorkflowResumeListener, retryFailedRun, cancelWorkflowRun, resumeWaitState, initWaitBusSubscriptions, subscribeWaitToBus, recoverIncompleteRuns, startRetryPoller, stopRetryPoller, validateTemplateVariables, instantiateTemplate, handleWebhookTrigger, logOpenWebhookTriggers, handleScheduleTrigger, verifyHmacSignature, WebhookError, snapshotWorkflow, startWaitPoller, stopWaitPoller, RawLlmConfigSchema, RawLlmOutputSchema, executeRawLlm, getExecutorRegistry, initWorkflows };
@@ -0,0 +1,490 @@
1
+ import {
2
+ $brand,
3
+ $input,
4
+ $output,
5
+ NEVER,
6
+ TimePrecision,
7
+ ZodAny,
8
+ ZodArray,
9
+ ZodBase64,
10
+ ZodBase64URL,
11
+ ZodBigInt,
12
+ ZodBigIntFormat,
13
+ ZodBoolean,
14
+ ZodCIDRv4,
15
+ ZodCIDRv6,
16
+ ZodCUID,
17
+ ZodCUID2,
18
+ ZodCatch,
19
+ ZodCodec,
20
+ ZodCustom,
21
+ ZodCustomStringFormat,
22
+ ZodDate,
23
+ ZodDefault,
24
+ ZodDiscriminatedUnion,
25
+ ZodE164,
26
+ ZodEmail,
27
+ ZodEmoji,
28
+ ZodEnum,
29
+ ZodError,
30
+ ZodFile,
31
+ ZodFirstPartyTypeKind,
32
+ ZodFunction,
33
+ ZodGUID,
34
+ ZodIPv4,
35
+ ZodIPv6,
36
+ ZodISODate,
37
+ ZodISODateTime,
38
+ ZodISODuration,
39
+ ZodISOTime,
40
+ ZodIntersection,
41
+ ZodIssueCode,
42
+ ZodJWT,
43
+ ZodKSUID,
44
+ ZodLazy,
45
+ ZodLiteral,
46
+ ZodMAC,
47
+ ZodMap,
48
+ ZodNaN,
49
+ ZodNanoID,
50
+ ZodNever,
51
+ ZodNonOptional,
52
+ ZodNull,
53
+ ZodNullable,
54
+ ZodNumber,
55
+ ZodNumberFormat,
56
+ ZodObject,
57
+ ZodOptional,
58
+ ZodPipe,
59
+ ZodPrefault,
60
+ ZodPromise,
61
+ ZodReadonly,
62
+ ZodRealError,
63
+ ZodRecord,
64
+ ZodSet,
65
+ ZodString,
66
+ ZodStringFormat,
67
+ ZodSuccess,
68
+ ZodSymbol,
69
+ ZodTemplateLiteral,
70
+ ZodTransform,
71
+ ZodTuple,
72
+ ZodType,
73
+ ZodULID,
74
+ ZodURL,
75
+ ZodUUID,
76
+ ZodUndefined,
77
+ ZodUnion,
78
+ ZodUnknown,
79
+ ZodVoid,
80
+ ZodXID,
81
+ ZodXor,
82
+ _ZodString,
83
+ _catch,
84
+ _default,
85
+ _endsWith,
86
+ _enum,
87
+ _function,
88
+ _gt,
89
+ _gte,
90
+ _includes,
91
+ _instanceof,
92
+ _length,
93
+ _lowercase,
94
+ _lt,
95
+ _lte,
96
+ _maxLength,
97
+ _maxSize,
98
+ _mime,
99
+ _minLength,
100
+ _minSize,
101
+ _multipleOf,
102
+ _negative,
103
+ _nonnegative,
104
+ _nonpositive,
105
+ _normalize,
106
+ _null,
107
+ _overwrite,
108
+ _positive,
109
+ _property,
110
+ _regex,
111
+ _size,
112
+ _slugify,
113
+ _startsWith,
114
+ _toLowerCase,
115
+ _toUpperCase,
116
+ _trim,
117
+ _undefined,
118
+ _uppercase,
119
+ _void,
120
+ any,
121
+ array,
122
+ base64,
123
+ base64url,
124
+ bigint,
125
+ boolean,
126
+ check,
127
+ cidrv4,
128
+ cidrv6,
129
+ clone,
130
+ codec,
131
+ config,
132
+ cuid,
133
+ cuid2,
134
+ custom,
135
+ date,
136
+ decode,
137
+ decodeAsync,
138
+ describe,
139
+ discriminatedUnion,
140
+ e164,
141
+ email,
142
+ emoji,
143
+ encode,
144
+ encodeAsync,
145
+ exports_coerce,
146
+ exports_core,
147
+ exports_external,
148
+ exports_iso,
149
+ exports_locales,
150
+ exports_regexes,
151
+ exports_util,
152
+ file,
153
+ flattenError,
154
+ float32,
155
+ float64,
156
+ formatError,
157
+ fromJSONSchema,
158
+ getErrorMap,
159
+ globalRegistry,
160
+ guid,
161
+ hash,
162
+ hex,
163
+ hostname,
164
+ httpUrl,
165
+ init_external,
166
+ int,
167
+ int32,
168
+ int64,
169
+ intersection,
170
+ ipv4,
171
+ ipv6,
172
+ json,
173
+ jwt,
174
+ keyof,
175
+ ksuid,
176
+ lazy,
177
+ literal,
178
+ looseObject,
179
+ looseRecord,
180
+ mac,
181
+ map,
182
+ meta,
183
+ nan,
184
+ nanoid,
185
+ nativeEnum,
186
+ never,
187
+ nonoptional,
188
+ nullable,
189
+ nullish,
190
+ number,
191
+ object,
192
+ optional,
193
+ parse1 as parse,
194
+ parseAsync1 as parseAsync,
195
+ partialRecord,
196
+ pipe,
197
+ prefault,
198
+ preprocess,
199
+ prettifyError,
200
+ promise,
201
+ readonly,
202
+ record,
203
+ refine,
204
+ registry,
205
+ safeDecode,
206
+ safeDecodeAsync,
207
+ safeEncode,
208
+ safeEncodeAsync,
209
+ safeParse1 as safeParse,
210
+ safeParseAsync1 as safeParseAsync,
211
+ set,
212
+ setErrorMap,
213
+ strictObject,
214
+ string,
215
+ stringFormat,
216
+ stringbool,
217
+ success,
218
+ superRefine,
219
+ symbol,
220
+ templateLiteral,
221
+ toJSONSchema,
222
+ transform,
223
+ treeifyError,
224
+ tuple,
225
+ uint32,
226
+ uint64,
227
+ ulid,
228
+ union,
229
+ unknown,
230
+ url,
231
+ uuid,
232
+ uuidv4,
233
+ uuidv6,
234
+ uuidv7,
235
+ xid,
236
+ xor
237
+ } from "./cli-5dsbcjjw.js";
238
+ import {
239
+ __esm,
240
+ __export
241
+ } from "./cli-p9swy5t3.js";
242
+
243
+ // node_modules/zod/index.js
244
+ var exports_zod = {};
245
+ __export(exports_zod, {
246
+ z: () => exports_external,
247
+ xor: () => xor,
248
+ xid: () => xid,
249
+ void: () => _void,
250
+ uuidv7: () => uuidv7,
251
+ uuidv6: () => uuidv6,
252
+ uuidv4: () => uuidv4,
253
+ uuid: () => uuid,
254
+ util: () => exports_util,
255
+ url: () => url,
256
+ uppercase: () => _uppercase,
257
+ unknown: () => unknown,
258
+ union: () => union,
259
+ undefined: () => _undefined,
260
+ ulid: () => ulid,
261
+ uint64: () => uint64,
262
+ uint32: () => uint32,
263
+ tuple: () => tuple,
264
+ trim: () => _trim,
265
+ treeifyError: () => treeifyError,
266
+ transform: () => transform,
267
+ toUpperCase: () => _toUpperCase,
268
+ toLowerCase: () => _toLowerCase,
269
+ toJSONSchema: () => toJSONSchema,
270
+ templateLiteral: () => templateLiteral,
271
+ symbol: () => symbol,
272
+ superRefine: () => superRefine,
273
+ success: () => success,
274
+ stringbool: () => stringbool,
275
+ stringFormat: () => stringFormat,
276
+ string: () => string,
277
+ strictObject: () => strictObject,
278
+ startsWith: () => _startsWith,
279
+ slugify: () => _slugify,
280
+ size: () => _size,
281
+ setErrorMap: () => setErrorMap,
282
+ set: () => set,
283
+ safeParseAsync: () => safeParseAsync,
284
+ safeParse: () => safeParse,
285
+ safeEncodeAsync: () => safeEncodeAsync,
286
+ safeEncode: () => safeEncode,
287
+ safeDecodeAsync: () => safeDecodeAsync,
288
+ safeDecode: () => safeDecode,
289
+ registry: () => registry,
290
+ regexes: () => exports_regexes,
291
+ regex: () => _regex,
292
+ refine: () => refine,
293
+ record: () => record,
294
+ readonly: () => readonly,
295
+ property: () => _property,
296
+ promise: () => promise,
297
+ prettifyError: () => prettifyError,
298
+ preprocess: () => preprocess,
299
+ prefault: () => prefault,
300
+ positive: () => _positive,
301
+ pipe: () => pipe,
302
+ partialRecord: () => partialRecord,
303
+ parseAsync: () => parseAsync,
304
+ parse: () => parse,
305
+ overwrite: () => _overwrite,
306
+ optional: () => optional,
307
+ object: () => object,
308
+ number: () => number,
309
+ nullish: () => nullish,
310
+ nullable: () => nullable,
311
+ null: () => _null,
312
+ normalize: () => _normalize,
313
+ nonpositive: () => _nonpositive,
314
+ nonoptional: () => nonoptional,
315
+ nonnegative: () => _nonnegative,
316
+ never: () => never,
317
+ negative: () => _negative,
318
+ nativeEnum: () => nativeEnum,
319
+ nanoid: () => nanoid,
320
+ nan: () => nan,
321
+ multipleOf: () => _multipleOf,
322
+ minSize: () => _minSize,
323
+ minLength: () => _minLength,
324
+ mime: () => _mime,
325
+ meta: () => meta,
326
+ maxSize: () => _maxSize,
327
+ maxLength: () => _maxLength,
328
+ map: () => map,
329
+ mac: () => mac,
330
+ lte: () => _lte,
331
+ lt: () => _lt,
332
+ lowercase: () => _lowercase,
333
+ looseRecord: () => looseRecord,
334
+ looseObject: () => looseObject,
335
+ locales: () => exports_locales,
336
+ literal: () => literal,
337
+ length: () => _length,
338
+ lazy: () => lazy,
339
+ ksuid: () => ksuid,
340
+ keyof: () => keyof,
341
+ jwt: () => jwt,
342
+ json: () => json,
343
+ iso: () => exports_iso,
344
+ ipv6: () => ipv6,
345
+ ipv4: () => ipv4,
346
+ intersection: () => intersection,
347
+ int64: () => int64,
348
+ int32: () => int32,
349
+ int: () => int,
350
+ instanceof: () => _instanceof,
351
+ includes: () => _includes,
352
+ httpUrl: () => httpUrl,
353
+ hostname: () => hostname,
354
+ hex: () => hex,
355
+ hash: () => hash,
356
+ guid: () => guid,
357
+ gte: () => _gte,
358
+ gt: () => _gt,
359
+ globalRegistry: () => globalRegistry,
360
+ getErrorMap: () => getErrorMap,
361
+ function: () => _function,
362
+ fromJSONSchema: () => fromJSONSchema,
363
+ formatError: () => formatError,
364
+ float64: () => float64,
365
+ float32: () => float32,
366
+ flattenError: () => flattenError,
367
+ file: () => file,
368
+ enum: () => _enum,
369
+ endsWith: () => _endsWith,
370
+ encodeAsync: () => encodeAsync,
371
+ encode: () => encode,
372
+ emoji: () => emoji,
373
+ email: () => email,
374
+ e164: () => e164,
375
+ discriminatedUnion: () => discriminatedUnion,
376
+ describe: () => describe,
377
+ default: () => zod_default,
378
+ decodeAsync: () => decodeAsync,
379
+ decode: () => decode,
380
+ date: () => date,
381
+ custom: () => custom,
382
+ cuid2: () => cuid2,
383
+ cuid: () => cuid,
384
+ core: () => exports_core,
385
+ config: () => config,
386
+ coerce: () => exports_coerce,
387
+ codec: () => codec,
388
+ clone: () => clone,
389
+ cidrv6: () => cidrv6,
390
+ cidrv4: () => cidrv4,
391
+ check: () => check,
392
+ catch: () => _catch,
393
+ boolean: () => boolean,
394
+ bigint: () => bigint,
395
+ base64url: () => base64url,
396
+ base64: () => base64,
397
+ array: () => array,
398
+ any: () => any,
399
+ _function: () => _function,
400
+ _default: () => _default,
401
+ _ZodString: () => _ZodString,
402
+ ZodXor: () => ZodXor,
403
+ ZodXID: () => ZodXID,
404
+ ZodVoid: () => ZodVoid,
405
+ ZodUnknown: () => ZodUnknown,
406
+ ZodUnion: () => ZodUnion,
407
+ ZodUndefined: () => ZodUndefined,
408
+ ZodUUID: () => ZodUUID,
409
+ ZodURL: () => ZodURL,
410
+ ZodULID: () => ZodULID,
411
+ ZodType: () => ZodType,
412
+ ZodTuple: () => ZodTuple,
413
+ ZodTransform: () => ZodTransform,
414
+ ZodTemplateLiteral: () => ZodTemplateLiteral,
415
+ ZodSymbol: () => ZodSymbol,
416
+ ZodSuccess: () => ZodSuccess,
417
+ ZodStringFormat: () => ZodStringFormat,
418
+ ZodString: () => ZodString,
419
+ ZodSet: () => ZodSet,
420
+ ZodRecord: () => ZodRecord,
421
+ ZodRealError: () => ZodRealError,
422
+ ZodReadonly: () => ZodReadonly,
423
+ ZodPromise: () => ZodPromise,
424
+ ZodPrefault: () => ZodPrefault,
425
+ ZodPipe: () => ZodPipe,
426
+ ZodOptional: () => ZodOptional,
427
+ ZodObject: () => ZodObject,
428
+ ZodNumberFormat: () => ZodNumberFormat,
429
+ ZodNumber: () => ZodNumber,
430
+ ZodNullable: () => ZodNullable,
431
+ ZodNull: () => ZodNull,
432
+ ZodNonOptional: () => ZodNonOptional,
433
+ ZodNever: () => ZodNever,
434
+ ZodNanoID: () => ZodNanoID,
435
+ ZodNaN: () => ZodNaN,
436
+ ZodMap: () => ZodMap,
437
+ ZodMAC: () => ZodMAC,
438
+ ZodLiteral: () => ZodLiteral,
439
+ ZodLazy: () => ZodLazy,
440
+ ZodKSUID: () => ZodKSUID,
441
+ ZodJWT: () => ZodJWT,
442
+ ZodIssueCode: () => ZodIssueCode,
443
+ ZodIntersection: () => ZodIntersection,
444
+ ZodISOTime: () => ZodISOTime,
445
+ ZodISODuration: () => ZodISODuration,
446
+ ZodISODateTime: () => ZodISODateTime,
447
+ ZodISODate: () => ZodISODate,
448
+ ZodIPv6: () => ZodIPv6,
449
+ ZodIPv4: () => ZodIPv4,
450
+ ZodGUID: () => ZodGUID,
451
+ ZodFunction: () => ZodFunction,
452
+ ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind,
453
+ ZodFile: () => ZodFile,
454
+ ZodError: () => ZodError,
455
+ ZodEnum: () => ZodEnum,
456
+ ZodEmoji: () => ZodEmoji,
457
+ ZodEmail: () => ZodEmail,
458
+ ZodE164: () => ZodE164,
459
+ ZodDiscriminatedUnion: () => ZodDiscriminatedUnion,
460
+ ZodDefault: () => ZodDefault,
461
+ ZodDate: () => ZodDate,
462
+ ZodCustomStringFormat: () => ZodCustomStringFormat,
463
+ ZodCustom: () => ZodCustom,
464
+ ZodCodec: () => ZodCodec,
465
+ ZodCatch: () => ZodCatch,
466
+ ZodCUID2: () => ZodCUID2,
467
+ ZodCUID: () => ZodCUID,
468
+ ZodCIDRv6: () => ZodCIDRv6,
469
+ ZodCIDRv4: () => ZodCIDRv4,
470
+ ZodBoolean: () => ZodBoolean,
471
+ ZodBigIntFormat: () => ZodBigIntFormat,
472
+ ZodBigInt: () => ZodBigInt,
473
+ ZodBase64URL: () => ZodBase64URL,
474
+ ZodBase64: () => ZodBase64,
475
+ ZodArray: () => ZodArray,
476
+ ZodAny: () => ZodAny,
477
+ TimePrecision: () => TimePrecision,
478
+ NEVER: () => NEVER,
479
+ $output: () => $output,
480
+ $input: () => $input,
481
+ $brand: () => $brand
482
+ });
483
+ var zod_default;
484
+ var init_zod = __esm(() => {
485
+ init_external();
486
+ init_external();
487
+ zod_default = exports_external;
488
+ });
489
+
490
+ export { exports_zod, init_zod };