@viewportai/daemon 0.20.1 → 0.22.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 (312) hide show
  1. package/README.md +34 -0
  2. package/dist/adapters/claude.d.ts +7 -1
  3. package/dist/adapters/claude.d.ts.map +1 -1
  4. package/dist/adapters/claude.js +71 -0
  5. package/dist/adapters/claude.js.map +1 -1
  6. package/dist/adapters/codex-event-normalizers.d.ts.map +1 -1
  7. package/dist/adapters/codex-event-normalizers.js +55 -2
  8. package/dist/adapters/codex-event-normalizers.js.map +1 -1
  9. package/dist/adapters/codex.d.ts +2 -1
  10. package/dist/adapters/codex.d.ts.map +1 -1
  11. package/dist/adapters/codex.js +35 -0
  12. package/dist/adapters/codex.js.map +1 -1
  13. package/dist/adapters/gemini-cli.d.ts +2 -1
  14. package/dist/adapters/gemini-cli.d.ts.map +1 -1
  15. package/dist/adapters/gemini-cli.js +24 -0
  16. package/dist/adapters/gemini-cli.js.map +1 -1
  17. package/dist/adapters/pty.d.ts +2 -1
  18. package/dist/adapters/pty.d.ts.map +1 -1
  19. package/dist/adapters/pty.js +26 -1
  20. package/dist/adapters/pty.js.map +1 -1
  21. package/dist/cli/args.d.ts.map +1 -1
  22. package/dist/cli/args.js +7 -3
  23. package/dist/cli/args.js.map +1 -1
  24. package/dist/cli/commands.d.ts +3 -0
  25. package/dist/cli/commands.d.ts.map +1 -1
  26. package/dist/cli/commands.js +3 -0
  27. package/dist/cli/commands.js.map +1 -1
  28. package/dist/cli/context-command.js +2 -0
  29. package/dist/cli/context-command.js.map +1 -1
  30. package/dist/cli/context-sync-target.d.ts +2 -0
  31. package/dist/cli/context-sync-target.d.ts.map +1 -1
  32. package/dist/cli/context-sync-target.js +4 -0
  33. package/dist/cli/context-sync-target.js.map +1 -1
  34. package/dist/cli/daemon-client.d.ts +1 -0
  35. package/dist/cli/daemon-client.d.ts.map +1 -1
  36. package/dist/cli/daemon-client.js +13 -1
  37. package/dist/cli/daemon-client.js.map +1 -1
  38. package/dist/cli/global-flags.d.ts.map +1 -1
  39. package/dist/cli/global-flags.js +3 -2
  40. package/dist/cli/global-flags.js.map +1 -1
  41. package/dist/cli/hook-command.d.ts +7 -0
  42. package/dist/cli/hook-command.d.ts.map +1 -1
  43. package/dist/cli/hook-command.js +35 -20
  44. package/dist/cli/hook-command.js.map +1 -1
  45. package/dist/cli/install-command.d.ts +5 -1
  46. package/dist/cli/install-command.d.ts.map +1 -1
  47. package/dist/cli/install-command.js +37 -28
  48. package/dist/cli/install-command.js.map +1 -1
  49. package/dist/cli/lifecycle-commands.d.ts.map +1 -1
  50. package/dist/cli/lifecycle-commands.js +5 -2
  51. package/dist/cli/lifecycle-commands.js.map +1 -1
  52. package/dist/cli/lifecycle-pair-command.d.ts.map +1 -1
  53. package/dist/cli/lifecycle-pair-command.js +51 -6
  54. package/dist/cli/lifecycle-pair-command.js.map +1 -1
  55. package/dist/cli/lifecycle-pair-server.d.ts +2 -0
  56. package/dist/cli/lifecycle-pair-server.d.ts.map +1 -1
  57. package/dist/cli/lifecycle-pair-server.js.map +1 -1
  58. package/dist/cli/lifecycle-status-command.d.ts.map +1 -1
  59. package/dist/cli/lifecycle-status-command.js +43 -0
  60. package/dist/cli/lifecycle-status-command.js.map +1 -1
  61. package/dist/cli/setup-command.d.ts.map +1 -1
  62. package/dist/cli/setup-command.js +8 -8
  63. package/dist/cli/setup-command.js.map +1 -1
  64. package/dist/cli/team-resource-command.d.ts +2 -0
  65. package/dist/cli/team-resource-command.d.ts.map +1 -0
  66. package/dist/cli/team-resource-command.js +364 -0
  67. package/dist/cli/team-resource-command.js.map +1 -0
  68. package/dist/cli/watch-command.d.ts +3 -0
  69. package/dist/cli/watch-command.d.ts.map +1 -0
  70. package/dist/cli/watch-command.js +42 -0
  71. package/dist/cli/watch-command.js.map +1 -0
  72. package/dist/cli/worker-command.d.ts +3 -0
  73. package/dist/cli/worker-command.d.ts.map +1 -0
  74. package/dist/cli/worker-command.js +132 -0
  75. package/dist/cli/worker-command.js.map +1 -0
  76. package/dist/cli/worker-profile.d.ts +65 -0
  77. package/dist/cli/worker-profile.d.ts.map +1 -0
  78. package/dist/cli/worker-profile.js +228 -0
  79. package/dist/cli/worker-profile.js.map +1 -0
  80. package/dist/cli/worker-runtime.d.ts +19 -0
  81. package/dist/cli/worker-runtime.d.ts.map +1 -0
  82. package/dist/cli/worker-runtime.js +606 -0
  83. package/dist/cli/worker-runtime.js.map +1 -0
  84. package/dist/cli/workflow-managed-worker-format.d.ts +4 -3
  85. package/dist/cli/workflow-managed-worker-format.d.ts.map +1 -1
  86. package/dist/cli/workflow-managed-worker-format.js +71 -10
  87. package/dist/cli/workflow-managed-worker-format.js.map +1 -1
  88. package/dist/cli/workflow-managed-worker-types.d.ts +17 -0
  89. package/dist/cli/workflow-managed-worker-types.d.ts.map +1 -1
  90. package/dist/cli/workflow-managed-worker.d.ts.map +1 -1
  91. package/dist/cli/workflow-managed-worker.js +568 -39
  92. package/dist/cli/workflow-managed-worker.js.map +1 -1
  93. package/dist/config-resolution/provider-defaults.d.ts.map +1 -1
  94. package/dist/config-resolution/provider-defaults.js +4 -0
  95. package/dist/config-resolution/provider-defaults.js.map +1 -1
  96. package/dist/config-resolution/schema.d.ts +2 -0
  97. package/dist/config-resolution/schema.d.ts.map +1 -1
  98. package/dist/config-resolution/schema.js +2 -0
  99. package/dist/config-resolution/schema.js.map +1 -1
  100. package/dist/config-resolution/types.d.ts +1 -1
  101. package/dist/config-resolution/types.d.ts.map +1 -1
  102. package/dist/context/local-edge-sync.d.ts +2 -0
  103. package/dist/context/local-edge-sync.d.ts.map +1 -1
  104. package/dist/context/local-edge-sync.js +2 -0
  105. package/dist/context/local-edge-sync.js.map +1 -1
  106. package/dist/context-providers/confluence-provider.d.ts +3 -0
  107. package/dist/context-providers/confluence-provider.d.ts.map +1 -0
  108. package/dist/context-providers/confluence-provider.js +170 -0
  109. package/dist/context-providers/confluence-provider.js.map +1 -0
  110. package/dist/context-providers/notion-provider.d.ts +3 -0
  111. package/dist/context-providers/notion-provider.d.ts.map +1 -0
  112. package/dist/context-providers/notion-provider.js +157 -0
  113. package/dist/context-providers/notion-provider.js.map +1 -0
  114. package/dist/context-providers/registry.d.ts.map +1 -1
  115. package/dist/context-providers/registry.js +9 -1
  116. package/dist/context-providers/registry.js.map +1 -1
  117. package/dist/context-providers/types.d.ts +18 -0
  118. package/dist/context-providers/types.d.ts.map +1 -1
  119. package/dist/core/config-schema.d.ts +96 -3
  120. package/dist/core/config-schema.d.ts.map +1 -1
  121. package/dist/core/config-schema.js +53 -0
  122. package/dist/core/config-schema.js.map +1 -1
  123. package/dist/core/config.d.ts +88 -0
  124. package/dist/core/config.d.ts.map +1 -1
  125. package/dist/core/config.js +6 -0
  126. package/dist/core/config.js.map +1 -1
  127. package/dist/core/daemon.d.ts +5 -1
  128. package/dist/core/daemon.d.ts.map +1 -1
  129. package/dist/core/daemon.js +8 -0
  130. package/dist/core/daemon.js.map +1 -1
  131. package/dist/core/interfaces.d.ts +137 -1
  132. package/dist/core/interfaces.d.ts.map +1 -1
  133. package/dist/core/permission-coordinator.d.ts.map +1 -1
  134. package/dist/core/permission-coordinator.js +4 -2
  135. package/dist/core/permission-coordinator.js.map +1 -1
  136. package/dist/core/session-manager.d.ts.map +1 -1
  137. package/dist/core/session-manager.js +47 -20
  138. package/dist/core/session-manager.js.map +1 -1
  139. package/dist/core/types.d.ts +31 -0
  140. package/dist/core/types.d.ts.map +1 -1
  141. package/dist/core/types.js.map +1 -1
  142. package/dist/discovery/watcher.d.ts.map +1 -1
  143. package/dist/discovery/watcher.js +51 -8
  144. package/dist/discovery/watcher.js.map +1 -1
  145. package/dist/index.d.ts +2 -0
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +12 -1
  148. package/dist/index.js.map +1 -1
  149. package/dist/plugins/loader.d.ts.map +1 -1
  150. package/dist/plugins/loader.js +10 -1
  151. package/dist/plugins/loader.js.map +1 -1
  152. package/dist/security/child-env.d.ts +3 -0
  153. package/dist/security/child-env.d.ts.map +1 -0
  154. package/dist/security/child-env.js +44 -0
  155. package/dist/security/child-env.js.map +1 -0
  156. package/dist/server/http-request-schemas.d.ts +6 -0
  157. package/dist/server/http-request-schemas.d.ts.map +1 -1
  158. package/dist/server/http-request-schemas.js +15 -0
  159. package/dist/server/http-request-schemas.js.map +1 -1
  160. package/dist/server/http-server.d.ts.map +1 -1
  161. package/dist/server/http-server.js +4 -2
  162. package/dist/server/http-server.js.map +1 -1
  163. package/dist/workflows/action-adapters.d.ts.map +1 -1
  164. package/dist/workflows/action-adapters.js +42 -0
  165. package/dist/workflows/action-adapters.js.map +1 -1
  166. package/dist/workflows/action-provider-adapters.d.ts.map +1 -1
  167. package/dist/workflows/action-provider-adapters.js +156 -13
  168. package/dist/workflows/action-provider-adapters.js.map +1 -1
  169. package/dist/workflows/action-provider-utils.d.ts +6 -0
  170. package/dist/workflows/action-provider-utils.d.ts.map +1 -1
  171. package/dist/workflows/action-provider-utils.js +21 -0
  172. package/dist/workflows/action-provider-utils.js.map +1 -1
  173. package/dist/workflows/approval-actor.d.ts +6 -0
  174. package/dist/workflows/approval-actor.d.ts.map +1 -0
  175. package/dist/workflows/approval-actor.js +27 -0
  176. package/dist/workflows/approval-actor.js.map +1 -0
  177. package/dist/workflows/approval-on-reject.js +1 -0
  178. package/dist/workflows/approval-on-reject.js.map +1 -1
  179. package/dist/workflows/checkout-node.d.ts +21 -0
  180. package/dist/workflows/checkout-node.d.ts.map +1 -0
  181. package/dist/workflows/checkout-node.js +181 -0
  182. package/dist/workflows/checkout-node.js.map +1 -0
  183. package/dist/workflows/context-node-resolver.d.ts +48 -1
  184. package/dist/workflows/context-node-resolver.d.ts.map +1 -1
  185. package/dist/workflows/context-node-resolver.js +405 -8
  186. package/dist/workflows/context-node-resolver.js.map +1 -1
  187. package/dist/workflows/context-update-targets.d.ts +12 -0
  188. package/dist/workflows/context-update-targets.d.ts.map +1 -0
  189. package/dist/workflows/context-update-targets.js +52 -0
  190. package/dist/workflows/context-update-targets.js.map +1 -0
  191. package/dist/workflows/daemon-session.d.ts +11 -0
  192. package/dist/workflows/daemon-session.d.ts.map +1 -1
  193. package/dist/workflows/daemon-session.js +168 -6
  194. package/dist/workflows/daemon-session.js.map +1 -1
  195. package/dist/workflows/event-types.d.ts +1 -1
  196. package/dist/workflows/event-types.d.ts.map +1 -1
  197. package/dist/workflows/expression.d.ts +4 -0
  198. package/dist/workflows/expression.d.ts.map +1 -1
  199. package/dist/workflows/expression.js +1 -1
  200. package/dist/workflows/expression.js.map +1 -1
  201. package/dist/workflows/git-publish-node.d.ts +23 -0
  202. package/dist/workflows/git-publish-node.d.ts.map +1 -0
  203. package/dist/workflows/git-publish-node.js +237 -0
  204. package/dist/workflows/git-publish-node.js.map +1 -0
  205. package/dist/workflows/inline-agent-types.d.ts +7 -0
  206. package/dist/workflows/inline-agent-types.d.ts.map +1 -1
  207. package/dist/workflows/inline-agents.d.ts +4 -1
  208. package/dist/workflows/inline-agents.d.ts.map +1 -1
  209. package/dist/workflows/inline-agents.js +24 -1
  210. package/dist/workflows/inline-agents.js.map +1 -1
  211. package/dist/workflows/loop-executor.js +1 -0
  212. package/dist/workflows/loop-executor.js.map +1 -1
  213. package/dist/workflows/node-executor.d.ts +7 -0
  214. package/dist/workflows/node-executor.d.ts.map +1 -1
  215. package/dist/workflows/node-executor.js +135 -7
  216. package/dist/workflows/node-executor.js.map +1 -1
  217. package/dist/workflows/node-registry.d.ts.map +1 -1
  218. package/dist/workflows/node-registry.js +553 -4
  219. package/dist/workflows/node-registry.js.map +1 -1
  220. package/dist/workflows/parser.d.ts.map +1 -1
  221. package/dist/workflows/parser.js +70 -5
  222. package/dist/workflows/parser.js.map +1 -1
  223. package/dist/workflows/platform-command-applier.d.ts.map +1 -1
  224. package/dist/workflows/platform-command-applier.js +5 -14
  225. package/dist/workflows/platform-command-applier.js.map +1 -1
  226. package/dist/workflows/platform-context-client.d.ts +74 -0
  227. package/dist/workflows/platform-context-client.d.ts.map +1 -0
  228. package/dist/workflows/platform-context-client.js +228 -0
  229. package/dist/workflows/platform-context-client.js.map +1 -0
  230. package/dist/workflows/platform-sync-format.d.ts +1 -1
  231. package/dist/workflows/platform-sync-format.d.ts.map +1 -1
  232. package/dist/workflows/platform-sync-format.js +3 -1
  233. package/dist/workflows/platform-sync-format.js.map +1 -1
  234. package/dist/workflows/platform-sync-payload.d.ts +1 -0
  235. package/dist/workflows/platform-sync-payload.d.ts.map +1 -1
  236. package/dist/workflows/platform-sync-payload.js +160 -8
  237. package/dist/workflows/platform-sync-payload.js.map +1 -1
  238. package/dist/workflows/platform-sync.d.ts.map +1 -1
  239. package/dist/workflows/platform-sync.js +10 -1
  240. package/dist/workflows/platform-sync.js.map +1 -1
  241. package/dist/workflows/plugin-loader.d.ts.map +1 -1
  242. package/dist/workflows/plugin-loader.js +3 -0
  243. package/dist/workflows/plugin-loader.js.map +1 -1
  244. package/dist/workflows/preflight.d.ts.map +1 -1
  245. package/dist/workflows/preflight.js +9 -1
  246. package/dist/workflows/preflight.js.map +1 -1
  247. package/dist/workflows/prompt-output.d.ts +6 -2
  248. package/dist/workflows/prompt-output.d.ts.map +1 -1
  249. package/dist/workflows/prompt-output.js +8 -2
  250. package/dist/workflows/prompt-output.js.map +1 -1
  251. package/dist/workflows/run-preparation.d.ts +24 -0
  252. package/dist/workflows/run-preparation.d.ts.map +1 -0
  253. package/dist/workflows/run-preparation.js +258 -0
  254. package/dist/workflows/run-preparation.js.map +1 -0
  255. package/dist/workflows/run-types.d.ts +11 -0
  256. package/dist/workflows/run-types.d.ts.map +1 -1
  257. package/dist/workflows/runner-scheduler.d.ts +2 -0
  258. package/dist/workflows/runner-scheduler.d.ts.map +1 -1
  259. package/dist/workflows/runner-scheduler.js +35 -4
  260. package/dist/workflows/runner-scheduler.js.map +1 -1
  261. package/dist/workflows/runner-shared.d.ts.map +1 -1
  262. package/dist/workflows/runner-shared.js +9 -0
  263. package/dist/workflows/runner-shared.js.map +1 -1
  264. package/dist/workflows/runner.d.ts +2 -0
  265. package/dist/workflows/runner.d.ts.map +1 -1
  266. package/dist/workflows/runner.js +171 -6
  267. package/dist/workflows/runner.js.map +1 -1
  268. package/dist/workflows/runtime-helpers.d.ts +20 -1
  269. package/dist/workflows/runtime-helpers.d.ts.map +1 -1
  270. package/dist/workflows/runtime-helpers.js +98 -3
  271. package/dist/workflows/runtime-helpers.js.map +1 -1
  272. package/dist/workflows/session-output.d.ts +9 -0
  273. package/dist/workflows/session-output.d.ts.map +1 -1
  274. package/dist/workflows/session-output.js +156 -0
  275. package/dist/workflows/session-output.js.map +1 -1
  276. package/dist/workflows/session-policy.d.ts +30 -0
  277. package/dist/workflows/session-policy.d.ts.map +1 -0
  278. package/dist/workflows/session-policy.js +45 -0
  279. package/dist/workflows/session-policy.js.map +1 -0
  280. package/dist/workflows/structured-outputs.d.ts +5 -0
  281. package/dist/workflows/structured-outputs.d.ts.map +1 -1
  282. package/dist/workflows/structured-outputs.js +82 -3
  283. package/dist/workflows/structured-outputs.js.map +1 -1
  284. package/dist/workflows/subflow-executor.js +5 -1
  285. package/dist/workflows/subflow-executor.js.map +1 -1
  286. package/dist/workflows/types.d.ts +107 -4
  287. package/dist/workflows/types.d.ts.map +1 -1
  288. package/dist/workflows/workflow-authority-contract.d.ts +25 -0
  289. package/dist/workflows/workflow-authority-contract.d.ts.map +1 -0
  290. package/dist/workflows/workflow-authority-contract.js +366 -0
  291. package/dist/workflows/workflow-authority-contract.js.map +1 -0
  292. package/dist/workflows/workflow-executor-schema.d.ts +1 -1
  293. package/dist/workflows/workflow-production-schema.d.ts +62 -10
  294. package/dist/workflows/workflow-production-schema.d.ts.map +1 -1
  295. package/dist/workflows/workflow-production-schema.js +63 -4
  296. package/dist/workflows/workflow-production-schema.js.map +1 -1
  297. package/dist/workflows/workflow-production-types.d.ts +42 -3
  298. package/dist/workflows/workflow-production-types.d.ts.map +1 -1
  299. package/dist/workflows/workflow-schema-common.d.ts +248 -2
  300. package/dist/workflows/workflow-schema-common.d.ts.map +1 -1
  301. package/dist/workflows/workflow-schema-common.js +58 -2
  302. package/dist/workflows/workflow-schema-common.js.map +1 -1
  303. package/dist/workflows/workflow-schema.d.ts +1966 -16
  304. package/dist/workflows/workflow-schema.d.ts.map +1 -1
  305. package/dist/workflows/workflow-schema.js +97 -3
  306. package/dist/workflows/workflow-schema.js.map +1 -1
  307. package/docs/releasing.md +4 -1
  308. package/node_modules/@viewportai/context-engine/schemas/context_event_v1.schema.json +2 -0
  309. package/node_modules/@viewportai/context-engine/src/repo/candidates.js +2 -0
  310. package/node_modules/@viewportai/context-engine/src/repo/events.js +15 -1
  311. package/node_modules/@viewportai/context-engine/src/repo/vault.js +18 -2
  312. package/package.json +2 -2
@@ -0,0 +1,366 @@
1
+ import path from 'node:path';
2
+ export function workflowAuthorityContract(run) {
3
+ return run.workflowAuthorityContract && typeof run.workflowAuthorityContract === 'object'
4
+ ? run.workflowAuthorityContract
5
+ : null;
6
+ }
7
+ export function workflowAuthorityContractDigest(run) {
8
+ const contract = workflowAuthorityContract(run);
9
+ return stringValue(contract?.['digest']) ?? stringValue(contract?.['contract_digest']) ?? null;
10
+ }
11
+ export function allowedRepositories(run) {
12
+ const contract = workflowAuthorityContract(run);
13
+ return stringArray(readPath(contract, ['repos', 'allowed']))
14
+ .map(normalizeRepository)
15
+ .filter(Boolean);
16
+ }
17
+ export function workflowActionAuthorityDenial(run, nodeId, node, actionInput) {
18
+ const contract = workflowAuthorityContract(run);
19
+ if (!contract)
20
+ return null;
21
+ const sideEffects = allowedSideEffects(contract);
22
+ if (sideEffects.length > 0) {
23
+ const provider = normalizeToken(node.adapter);
24
+ const action = normalizeAction(node.action);
25
+ const allowed = sideEffects.some((entry) => {
26
+ if (entry.provider !== provider)
27
+ return false;
28
+ return entry.actions.length === 0 || entry.actions.includes(action);
29
+ });
30
+ if (!allowed) {
31
+ return {
32
+ schema: 'viewport.workflow_authority_denial/v1',
33
+ reason: 'provider_action_not_allowed',
34
+ runId: run.id,
35
+ nodeId,
36
+ provider: node.adapter,
37
+ action: node.action,
38
+ detail: `Workflow authority contract does not allow ${node.adapter}.${node.action}.`,
39
+ contractDigest: workflowAuthorityContractDigest(run),
40
+ allowed: sideEffects.flatMap((entry) => entry.actions.length > 0
41
+ ? entry.actions.map((actionName) => `${entry.provider}.${actionName}`)
42
+ : [entry.provider]),
43
+ };
44
+ }
45
+ }
46
+ const repository = actionRepository(node, actionInput);
47
+ const repositories = allowedRepositories(run);
48
+ if (repository && repositories.length > 0 && !repositories.includes(repository)) {
49
+ return {
50
+ schema: 'viewport.workflow_authority_denial/v1',
51
+ reason: 'repository_not_allowed',
52
+ runId: run.id,
53
+ nodeId,
54
+ provider: node.adapter,
55
+ action: node.action,
56
+ repository,
57
+ detail: `Workflow authority contract does not allow repository ${repository}.`,
58
+ contractDigest: workflowAuthorityContractDigest(run),
59
+ allowed: repositories,
60
+ };
61
+ }
62
+ return null;
63
+ }
64
+ export function contextAuthorityDenial(run, nodeId, provider, mode = 'read') {
65
+ const contract = workflowAuthorityContract(run);
66
+ if (!contract)
67
+ return null;
68
+ const allowed = allowedContextRefs(contract, mode);
69
+ if (allowed.length === 0)
70
+ return null;
71
+ const providerRefs = contextProviderRefs(provider);
72
+ if (providerRefs.some((ref) => allowed.includes(ref)))
73
+ return null;
74
+ return {
75
+ schema: 'viewport.workflow_authority_denial/v1',
76
+ reason: 'context_source_not_allowed',
77
+ runId: run.id,
78
+ nodeId,
79
+ contextSource: provider.id,
80
+ detail: `Workflow authority contract does not allow context source ${provider.id} for ${mode}.`,
81
+ contractDigest: workflowAuthorityContractDigest(run),
82
+ allowed,
83
+ };
84
+ }
85
+ export function shellAuthorityDenial(run, nodeId, renderedCommand, cwd, options = {}) {
86
+ const contract = workflowAuthorityContract(run);
87
+ if (!contract)
88
+ return null;
89
+ const shellPolicy = shellExecutionPolicy(contract);
90
+ if (shellPolicy !== 'constrained') {
91
+ const reason = shellPolicy === 'disabled' ? 'shell_disabled_by_policy' : 'shell_policy_required';
92
+ return {
93
+ schema: 'viewport.workflow_authority_denial/v1',
94
+ reason,
95
+ runId: run.id,
96
+ nodeId,
97
+ command: redactedCommand(renderedCommand),
98
+ detail: reason === 'shell_disabled_by_policy'
99
+ ? 'Shell execution is disabled by the workflow authority contract.'
100
+ : 'Shell execution under a workflow authority contract requires an explicit constrained shell policy.',
101
+ contractDigest: workflowAuthorityContractDigest(run),
102
+ };
103
+ }
104
+ if (options.executorKind === 'shell' && !legacyShellCommandAllowed(contract)) {
105
+ return {
106
+ schema: 'viewport.workflow_authority_denial/v1',
107
+ reason: 'shell_legacy_command_not_allowed',
108
+ runId: run.id,
109
+ nodeId,
110
+ command: redactedCommand(renderedCommand),
111
+ detail: 'Legacy shell command execution uses sh -lc and must be explicitly allowed by shell.allow_legacy_command. Prefer argv for worker-managed shell/test primitives.',
112
+ contractDigest: workflowAuthorityContractDigest(run),
113
+ };
114
+ }
115
+ if (!isPathWithin(cwd, run.directoryPath)) {
116
+ return {
117
+ schema: 'viewport.workflow_authority_denial/v1',
118
+ reason: 'shell_cwd_outside_worktree',
119
+ runId: run.id,
120
+ nodeId,
121
+ command: redactedCommand(renderedCommand),
122
+ detail: 'Shell node cwd is outside the run worktree. Use an in-worktree cwd or an explicit first-class checkout/worktree step.',
123
+ contractDigest: workflowAuthorityContractDigest(run),
124
+ };
125
+ }
126
+ const sideEffects = allowedSideEffects(contract);
127
+ const sideEffectPolicyPresent = Array.isArray(readPath(contract, ['side_effects', 'allowed']));
128
+ const forbiddenSideEffects = shellProviderSideEffects(renderedCommand).filter((effect) => {
129
+ if (!sideEffectPolicyPresent)
130
+ return false;
131
+ return !sideEffects.some((allowed) => {
132
+ if (allowed.provider !== effect.provider)
133
+ return false;
134
+ return allowed.actions.length === 0 || allowed.actions.includes(effect.action);
135
+ });
136
+ });
137
+ const forbidden = forbiddenSideEffects[0];
138
+ if (forbidden) {
139
+ return {
140
+ schema: 'viewport.workflow_authority_denial/v1',
141
+ reason: 'shell_provider_side_effect_not_allowed',
142
+ runId: run.id,
143
+ nodeId,
144
+ provider: forbidden.provider,
145
+ action: forbidden.action,
146
+ command: redactedCommand(renderedCommand),
147
+ detail: `Shell command attempts ${forbidden.provider}.${forbidden.action}, which is outside workflow side-effect authority.`,
148
+ contractDigest: workflowAuthorityContractDigest(run),
149
+ allowed: sideEffects.flatMap((entry) => entry.actions.length > 0
150
+ ? entry.actions.map((actionName) => `${entry.provider}.${actionName}`)
151
+ : [entry.provider]),
152
+ };
153
+ }
154
+ const repositories = allowedRepositories(run);
155
+ if (repositories.length === 0)
156
+ return null;
157
+ const requested = shellRepositoryRefs(renderedCommand);
158
+ const denied = requested.find((repo) => !repositories.includes(repo));
159
+ if (denied) {
160
+ return {
161
+ schema: 'viewport.workflow_authority_denial/v1',
162
+ reason: 'shell_repository_not_allowed',
163
+ runId: run.id,
164
+ nodeId,
165
+ repository: denied,
166
+ command: redactedCommand(renderedCommand),
167
+ detail: `Shell command references repository ${denied}, which is outside workflow repo authority.`,
168
+ contractDigest: workflowAuthorityContractDigest(run),
169
+ allowed: repositories,
170
+ };
171
+ }
172
+ return null;
173
+ }
174
+ function shellExecutionPolicy(contract) {
175
+ const nested = readPath(contract, ['shell', 'policy']);
176
+ if (typeof nested === 'string' && nested.trim() !== '')
177
+ return normalizeToken(nested);
178
+ const flat = readPath(contract, ['shell_policy']);
179
+ if (typeof flat === 'string' && flat.trim() !== '')
180
+ return normalizeToken(flat);
181
+ return null;
182
+ }
183
+ function legacyShellCommandAllowed(contract) {
184
+ const nested = readPath(contract, ['shell', 'allow_legacy_command']);
185
+ if (typeof nested === 'boolean')
186
+ return nested;
187
+ const flat = readPath(contract, ['shell_allow_legacy_command']);
188
+ if (typeof flat === 'boolean')
189
+ return flat;
190
+ return false;
191
+ }
192
+ function allowedSideEffects(contract) {
193
+ const entries = arrayValue(readPath(contract, ['side_effects', 'allowed']));
194
+ return entries
195
+ .map((entry) => {
196
+ if (typeof entry === 'string') {
197
+ const [provider, action] = entry.split('.', 2);
198
+ return provider
199
+ ? { provider: normalizeToken(provider), actions: action ? [normalizeAction(action)] : [] }
200
+ : null;
201
+ }
202
+ if (!entry || typeof entry !== 'object' || Array.isArray(entry))
203
+ return null;
204
+ const record = entry;
205
+ const provider = normalizeToken(stringValue(record['provider']) ?? stringValue(record['adapter']) ?? '');
206
+ if (!provider)
207
+ return null;
208
+ const action = stringValue(record['action']);
209
+ const actions = stringArray(record['actions']);
210
+ return {
211
+ provider,
212
+ actions: [...(action ? [action] : []), ...actions].map(normalizeAction).filter(Boolean),
213
+ };
214
+ })
215
+ .filter((entry) => entry !== null);
216
+ }
217
+ function allowedContextRefs(contract, mode) {
218
+ const candidates = mode === 'read'
219
+ ? arrayValue(readPath(contract, ['context_sources', 'read']))
220
+ : arrayValue(readPath(contract, ['context_sources', 'update_targets']));
221
+ return candidates.flatMap(contextRefCandidates).map(normalizeContextRef).filter(Boolean);
222
+ }
223
+ function contextRefCandidates(value) {
224
+ if (typeof value === 'string')
225
+ return [value];
226
+ if (!value || typeof value !== 'object' || Array.isArray(value))
227
+ return [];
228
+ const record = value;
229
+ return [
230
+ record['id'],
231
+ record['ref'],
232
+ record['source_ref'],
233
+ record['sourceRef'],
234
+ record['external_ref'],
235
+ record['externalRef'],
236
+ record['context_source_id'],
237
+ record['contextSourceId'],
238
+ record['provider_id'],
239
+ record['providerId'],
240
+ record['url'],
241
+ record['source_url'],
242
+ record['sourceUrl'],
243
+ ].flatMap((entry) => (typeof entry === 'string' ? [entry] : []));
244
+ }
245
+ function contextProviderRefs(provider) {
246
+ return [
247
+ provider.id,
248
+ provider.vault,
249
+ provider.ref,
250
+ provider.repo,
251
+ provider.remote,
252
+ provider.sourceConfigPath,
253
+ `context://${provider.id}`,
254
+ provider.vault ? `context://${provider.vault}` : undefined,
255
+ provider.vault ? `context://vault/${provider.vault}` : undefined,
256
+ `context_vault:${provider.id}`,
257
+ provider.vault ? `context_vault:${provider.vault}` : undefined,
258
+ `provider://${provider.id}`,
259
+ provider.vault ? `provider://${provider.vault}` : undefined,
260
+ provider.repo ? `git://${normalizeRepository(provider.repo)}` : undefined,
261
+ ]
262
+ .filter((entry) => typeof entry === 'string' && entry.trim() !== '')
263
+ .flatMap((entry) => [entry, entry.replace(/\.git$/, '')])
264
+ .map(normalizeContextRef)
265
+ .filter(Boolean);
266
+ }
267
+ function actionRepository(node, input) {
268
+ if (node.adapter !== 'github')
269
+ return null;
270
+ const repository = stringValue(input['repository']) ??
271
+ stringValue(input['repo_full_name']) ??
272
+ stringValue(input['repoFullName']) ??
273
+ stringValue(input['repo_name']);
274
+ if (repository)
275
+ return normalizeRepository(repository);
276
+ const owner = stringValue(input['owner']);
277
+ const repo = stringValue(input['repo']);
278
+ return owner && repo ? normalizeRepository(`${owner}/${repo}`) : null;
279
+ }
280
+ function shellProviderSideEffects(command) {
281
+ const normalized = command.toLowerCase();
282
+ const effects = [];
283
+ if (/\bgh\s+pr\s+create\b/.test(normalized)) {
284
+ effects.push({ provider: 'github', action: 'create-pr' });
285
+ }
286
+ if (/\bgit\s+push\b/.test(normalized)) {
287
+ effects.push({ provider: 'github', action: 'push-branch' });
288
+ }
289
+ if (/\bcurl\b/.test(normalized) && /api\.github\.com\/repos\//.test(normalized)) {
290
+ effects.push({ provider: 'github', action: 'api-request' });
291
+ }
292
+ if (/\bcurl\b/.test(normalized) && /slack\.com\/api\/chat\.postmessage/.test(normalized)) {
293
+ effects.push({ provider: 'slack', action: 'post-message' });
294
+ }
295
+ return effects;
296
+ }
297
+ function shellRepositoryRefs(command) {
298
+ const repos = new Set();
299
+ const patterns = [
300
+ /git@github\.com:([A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+)(?:\.git)?/gi,
301
+ /https:\/\/github\.com\/([A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+)(?:\.git)?/gi,
302
+ /api\.github\.com\/repos\/([A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+)/gi,
303
+ /(?:--repo|-R)\s+([A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+)/gi,
304
+ /\bgh\s+repo\s+clone\s+([A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+)/gi,
305
+ ];
306
+ for (const pattern of patterns) {
307
+ for (const match of command.matchAll(pattern)) {
308
+ const repo = normalizeRepository(match[1]);
309
+ if (repo)
310
+ repos.add(repo);
311
+ }
312
+ }
313
+ return [...repos];
314
+ }
315
+ function isPathWithin(candidate, root) {
316
+ const relative = path.relative(path.resolve(root), path.resolve(candidate));
317
+ return relative === '' || (!relative.startsWith('..') && !path.isAbsolute(relative));
318
+ }
319
+ function redactedCommand(command) {
320
+ return command
321
+ .replace(/(gh[ps]_[A-Za-z0-9_]+)/g, '[redacted-token]')
322
+ .replace(/(xox[baprs]-[A-Za-z0-9-]+)/g, '[redacted-token]')
323
+ .slice(0, 500);
324
+ }
325
+ function normalizeRepository(value) {
326
+ if (!value)
327
+ return '';
328
+ return value
329
+ .trim()
330
+ .replace(/^https:\/\/github\.com\//i, '')
331
+ .replace(/^git@github\.com:/i, '')
332
+ .replace(/^github\.com\//i, '')
333
+ .replace(/\.git$/i, '')
334
+ .toLowerCase();
335
+ }
336
+ function normalizeContextRef(value) {
337
+ return value
338
+ .trim()
339
+ .replace(/\.git$/i, '')
340
+ .toLowerCase();
341
+ }
342
+ function normalizeToken(value) {
343
+ return value.trim().toLowerCase().replace(/_/g, '-');
344
+ }
345
+ function normalizeAction(value) {
346
+ return normalizeToken(value).replace(/^chat\./, 'chat-');
347
+ }
348
+ function readPath(value, path) {
349
+ let current = value;
350
+ for (const segment of path) {
351
+ if (!current || typeof current !== 'object' || Array.isArray(current))
352
+ return undefined;
353
+ current = current[segment];
354
+ }
355
+ return current;
356
+ }
357
+ function stringArray(value) {
358
+ return arrayValue(value).filter((entry) => typeof entry === 'string');
359
+ }
360
+ function arrayValue(value) {
361
+ return Array.isArray(value) ? value : [];
362
+ }
363
+ function stringValue(value) {
364
+ return typeof value === 'string' && value.trim() !== '' ? value.trim() : undefined;
365
+ }
366
+ //# sourceMappingURL=workflow-authority-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-authority-contract.js","sourceRoot":"","sources":["../../src/workflows/workflow-authority-contract.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare const ExecutorRequirementSchema: z.ZodObject<{
16
16
  }>>;
17
17
  capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
18
18
  shell: "shell";
19
+ secrets: "secrets";
19
20
  resume: "resume";
20
21
  "agent.prompt": "agent.prompt";
21
22
  artifacts: "artifacts";
@@ -23,7 +24,6 @@ export declare const ExecutorRequirementSchema: z.ZodObject<{
23
24
  "files.read": "files.read";
24
25
  "files.write": "files.write";
25
26
  "network.egress": "network.egress";
26
- secrets: "secrets";
27
27
  worktree: "worktree";
28
28
  }>>>;
29
29
  }, z.core.$strict>;
@@ -35,15 +35,10 @@ export declare const WorkflowRunnerRequirementSchema: z.ZodObject<{
35
35
  paired_daemon: "paired_daemon";
36
36
  self_hosted_runner: "self_hosted_runner";
37
37
  }>>;
38
- target: z.ZodOptional<z.ZodEnum<{
39
- local_private: "local_private";
40
- local_sandbox: "local_sandbox";
41
- managed: "managed";
42
- self_hosted: "self_hosted";
43
- ci: "ci";
44
- }>>;
38
+ target: z.ZodOptional<z.ZodString>;
45
39
  capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
46
40
  shell: "shell";
41
+ secrets: "secrets";
47
42
  resume: "resume";
48
43
  "agent.prompt": "agent.prompt";
49
44
  artifacts: "artifacts";
@@ -51,7 +46,6 @@ export declare const WorkflowRunnerRequirementSchema: z.ZodObject<{
51
46
  "files.read": "files.read";
52
47
  "files.write": "files.write";
53
48
  "network.egress": "network.egress";
54
- secrets: "secrets";
55
49
  worktree: "worktree";
56
50
  }>>>;
57
51
  labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -71,21 +65,79 @@ export declare const WorkflowPolicyDefinitionSchema: z.ZodObject<{
71
65
  requireApproval: z.ZodOptional<z.ZodBoolean>;
72
66
  allowedAdapters: z.ZodOptional<z.ZodArray<z.ZodString>>;
73
67
  }, z.core.$strict>>;
68
+ budget: z.ZodOptional<z.ZodObject<{
69
+ maxTokens: z.ZodOptional<z.ZodNumber>;
70
+ tokens: z.ZodOptional<z.ZodNumber>;
71
+ maxCostUsd: z.ZodOptional<z.ZodNumber>;
72
+ usd: z.ZodOptional<z.ZodNumber>;
73
+ approvalThresholds: z.ZodOptional<z.ZodObject<{
74
+ tokens: z.ZodOptional<z.ZodNumber>;
75
+ costUsd: z.ZodOptional<z.ZodNumber>;
76
+ }, z.core.$strict>>;
77
+ }, z.core.$strict>>;
74
78
  maxDurationSeconds: z.ZodOptional<z.ZodNumber>;
75
79
  }, z.core.$strict>;
76
80
  export declare const WorkflowNotificationDefinitionSchema: z.ZodObject<{
77
- inbox: z.ZodOptional<z.ZodArray<z.ZodEnum<{
81
+ inbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodEnum<{
78
82
  approval_requested: "approval_requested";
79
83
  run_failed: "run_failed";
80
84
  runner_offline: "runner_offline";
81
85
  action_failed: "action_failed";
82
- }>>>;
86
+ }>>, z.ZodObject<{
87
+ slack: z.ZodOptional<z.ZodObject<{
88
+ enabled: z.ZodOptional<z.ZodBoolean>;
89
+ credential_ref: z.ZodOptional<z.ZodString>;
90
+ credential: z.ZodOptional<z.ZodString>;
91
+ delivery: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
92
+ source_thread: "source_thread";
93
+ dm_assignee: "dm_assignee";
94
+ dm_requester: "dm_requester";
95
+ channel: "channel";
96
+ }>, z.ZodArray<z.ZodEnum<{
97
+ source_thread: "source_thread";
98
+ dm_assignee: "dm_assignee";
99
+ dm_requester: "dm_requester";
100
+ channel: "channel";
101
+ }>>]>>;
102
+ events: z.ZodOptional<z.ZodArray<z.ZodString>>;
103
+ channel: z.ZodOptional<z.ZodString>;
104
+ template: z.ZodOptional<z.ZodString>;
105
+ }, z.core.$strict>>;
106
+ }, z.core.$strict>]>>;
83
107
  email: z.ZodOptional<z.ZodArray<z.ZodEnum<{
84
108
  approval_requested: "approval_requested";
85
109
  run_failed: "run_failed";
86
110
  run_completed: "run_completed";
87
111
  }>>>;
88
112
  webhook: z.ZodOptional<z.ZodArray<z.ZodString>>;
113
+ sourceAccepted: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
114
+ enabled: z.ZodOptional<z.ZodBoolean>;
115
+ provider: z.ZodOptional<z.ZodString>;
116
+ credential_ref: z.ZodOptional<z.ZodString>;
117
+ credential: z.ZodOptional<z.ZodString>;
118
+ delivery: z.ZodOptional<z.ZodEnum<{
119
+ source_thread: "source_thread";
120
+ dm_requester: "dm_requester";
121
+ channel: "channel";
122
+ }>>;
123
+ mode: z.ZodOptional<z.ZodEnum<{
124
+ source_thread: "source_thread";
125
+ dm_requester: "dm_requester";
126
+ channel: "channel";
127
+ }>>;
128
+ channel: z.ZodOptional<z.ZodString>;
129
+ thread_ts: z.ZodOptional<z.ZodString>;
130
+ user_id: z.ZodOptional<z.ZodString>;
131
+ template: z.ZodOptional<z.ZodString>;
132
+ onFailure: z.ZodOptional<z.ZodEnum<{
133
+ continue: "continue";
134
+ fail_run: "fail_run";
135
+ }>>;
136
+ failurePolicy: z.ZodOptional<z.ZodEnum<{
137
+ continue: "continue";
138
+ fail_run: "fail_run";
139
+ }>>;
140
+ }, z.core.$strict>]>>;
89
141
  }, z.core.$strict>;
90
142
  export declare const WorkflowDataCaptureDefinitionSchema: z.ZodObject<{
91
143
  logs: z.ZodOptional<z.ZodEnum<{
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-production-schema.d.ts","sourceRoot":"","sources":["../../src/workflows/workflow-production-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAqC1C,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwBjC,CAAC;AAEZ,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;kBAyBhC,CAAC;AAEZ,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;kBAQtC,CAAC;AAEZ,eAAO,MAAM,mCAAmC;;;;;;;;;kBAOrC,CAAC"}
1
+ {"version":3,"file":"workflow-production-schema.d.ts","sourceRoot":"","sources":["../../src/workflows/workflow-production-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAqC1C,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;kBAwBjC,CAAC;AAEZ,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;kBAyChC,CAAC;AAoDZ,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAOtC,CAAC;AAEZ,eAAO,MAAM,mCAAmC;;;;;;;;;kBAOrC,CAAC"}
@@ -41,7 +41,7 @@ export const WorkflowTriggerDefinitionSchema = z.discriminatedUnion('type', [
41
41
  export const WorkflowRunnerRequirementSchema = z
42
42
  .object({
43
43
  kind: z.enum(['paired_daemon', 'self_hosted_runner']).optional(),
44
- target: z.enum(['local_private', 'local_sandbox', 'managed', 'self_hosted', 'ci']).optional(),
44
+ target: identifierSchema.optional(),
45
45
  capabilities: z
46
46
  .array(z.enum([
47
47
  'agent.prompt',
@@ -84,16 +84,75 @@ export const WorkflowPolicyDefinitionSchema = z
84
84
  })
85
85
  .strict()
86
86
  .optional(),
87
+ budget: z
88
+ .object({
89
+ maxTokens: z.number().int().positive().optional(),
90
+ tokens: z.number().int().positive().optional(),
91
+ maxCostUsd: z.number().positive().optional(),
92
+ usd: z.number().positive().optional(),
93
+ approvalThresholds: z
94
+ .object({
95
+ tokens: z.number().int().positive().optional(),
96
+ costUsd: z.number().positive().optional(),
97
+ })
98
+ .strict()
99
+ .optional(),
100
+ })
101
+ .strict()
102
+ .optional(),
87
103
  maxDurationSeconds: z.number().int().positive().max(604_800).optional(),
88
104
  })
89
105
  .strict();
90
- export const WorkflowNotificationDefinitionSchema = z
106
+ const LegacyInboxNotificationSchema = z.array(z.enum(['approval_requested', 'run_failed', 'runner_offline', 'action_failed']));
107
+ const SlackInboxNotificationSchema = z
91
108
  .object({
92
- inbox: z
93
- .array(z.enum(['approval_requested', 'run_failed', 'runner_offline', 'action_failed']))
109
+ enabled: z.boolean().optional(),
110
+ credential_ref: z.string().trim().min(1).optional(),
111
+ credential: z.string().trim().min(1).optional(),
112
+ delivery: z
113
+ .union([
114
+ z.enum(['source_thread', 'dm_assignee', 'dm_requester', 'channel']),
115
+ z.array(z.enum(['source_thread', 'dm_assignee', 'dm_requester', 'channel'])),
116
+ ])
94
117
  .optional(),
118
+ events: z.array(z.string().trim().min(1)).optional(),
119
+ channel: z.string().trim().min(1).optional(),
120
+ template: z.string().trim().min(1).optional(),
121
+ })
122
+ .strict();
123
+ const InboxNotificationSchema = z.union([
124
+ LegacyInboxNotificationSchema,
125
+ z
126
+ .object({
127
+ slack: SlackInboxNotificationSchema.optional(),
128
+ })
129
+ .strict(),
130
+ ]);
131
+ const SourceAcceptedNotificationSchema = z.union([
132
+ z.boolean(),
133
+ z
134
+ .object({
135
+ enabled: z.boolean().optional(),
136
+ provider: z.string().trim().min(1).optional(),
137
+ credential_ref: z.string().trim().min(1).optional(),
138
+ credential: z.string().trim().min(1).optional(),
139
+ delivery: z.enum(['source_thread', 'channel', 'dm_requester']).optional(),
140
+ mode: z.enum(['source_thread', 'channel', 'dm_requester']).optional(),
141
+ channel: z.string().trim().min(1).optional(),
142
+ thread_ts: z.string().trim().min(1).optional(),
143
+ user_id: z.string().trim().min(1).optional(),
144
+ template: z.string().trim().min(1).optional(),
145
+ onFailure: z.enum(['continue', 'fail_run']).optional(),
146
+ failurePolicy: z.enum(['continue', 'fail_run']).optional(),
147
+ })
148
+ .strict(),
149
+ ]);
150
+ export const WorkflowNotificationDefinitionSchema = z
151
+ .object({
152
+ inbox: InboxNotificationSchema.optional(),
95
153
  email: z.array(z.enum(['approval_requested', 'run_failed', 'run_completed'])).optional(),
96
154
  webhook: z.array(z.string().trim().min(1)).optional(),
155
+ sourceAccepted: SourceAcceptedNotificationSchema.optional(),
97
156
  })
98
157
  .strict();
99
158
  export const WorkflowDataCaptureDefinitionSchema = z
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-production-schema.js","sourceRoot":"","sources":["../../src/workflows/workflow-production-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-production-schema.js","sourceRoot":"","sources":["../../src/workflows/workflow-production-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEjF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC1E,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC1C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,QAAQ,EAAE;KAC1D,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC1C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC7C,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE;QAClC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QACxD,SAAS,EAAE,CAAC;aACT,MAAM,CAAC;YACN,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;YAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACpD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;SACrE,CAAC;aACD,MAAM,EAAE;aACR,QAAQ,EAAE;QACb,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KACrE,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC7C,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE;KAC1E,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC;KAC7C,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChE,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACnC,YAAY,EAAE,CAAC;SACZ,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC;QACL,cAAc;QACd,WAAW;QACX,QAAQ;QACR,YAAY;QACZ,aAAa;QACb,gBAAgB;QAChB,QAAQ;QACR,SAAS;QACT,OAAO;QACP,UAAU;KACX,CAAC,CACH;SACA,QAAQ,EAAE;IACb,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;IAC5C,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACpC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;CACjE,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC5C,MAAM,CAAC;IACN,GAAG,EAAE,CAAC;SACH,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QACrD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAC5C,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QACrD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;KACzD,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;IACb,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACvC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;KACtD,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;IACb,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC5C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACrC,kBAAkB,EAAE,CAAC;aAClB,MAAM,CAAC;YACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;SAC1C,CAAC;aACD,MAAM,EAAE;aACR,QAAQ,EAAE;KACd,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;IACb,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;CACxE,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAC3C,CAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAChF,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/C,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC;QACL,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QACnE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;KAC7E,CAAC;SACD,QAAQ,EAAE;IACb,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC9C,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC;IACtC,6BAA6B;IAC7B,CAAC;SACE,MAAM,CAAC;QACN,KAAK,EAAE,4BAA4B,CAAC,QAAQ,EAAE;KAC/C,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC;AAEH,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC;IAC/C,CAAC,CAAC,OAAO,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC7C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC/C,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE;QACzE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE;QACrE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC7C,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;QACtD,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;KAC3D,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC;KAClD,MAAM,CAAC;IACN,KAAK,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IACzC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxF,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrD,cAAc,EAAE,gCAAgC,CAAC,QAAQ,EAAE;CAC5D,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC;KACjD,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC;KACD,MAAM,EAAE,CAAC"}