@xopcai/xopc 0.0.117 → 0.0.119

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 (590) hide show
  1. package/README.md +26 -24
  2. package/README.zh-CN.md +46 -42
  3. package/dist/browser-ext/manifest.json +1 -1
  4. package/dist/extensions/telegram/xopc.extension.json +1 -1
  5. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-BBLhJ2C6.js → agent-avatar-dicebear-CU8J6zou.js} +1 -1
  6. package/dist/gateway/static/root/assets/agents-B0hkpLhP.js +2 -0
  7. package/dist/gateway/static/root/assets/app-management-settings-panel-B9vfYoEr.js +1 -0
  8. package/dist/gateway/static/root/assets/appearance-settings-ClOzIO24.js +1 -0
  9. package/dist/gateway/static/root/assets/{apps-page-DdDx0V4z.js → apps-page-DU0dz9Zo.js} +1 -1
  10. package/dist/gateway/static/root/assets/{archive-plugin-DZsVqMhU.js → archive-plugin-BkVIgZzA.js} +1 -1
  11. package/dist/gateway/static/root/assets/{attachment-load-CIol6JWX.js → attachment-load-CaCMWh1D.js} +1 -1
  12. package/dist/gateway/static/root/assets/automation-suggestion-card-DhGDpKP3.js +1 -0
  13. package/dist/gateway/static/root/assets/automations-page-CTedroVo.js +1 -0
  14. package/dist/gateway/static/root/assets/{binary-plugins-B3UauMfp.js → binary-plugins-B4TO_bsn.js} +1 -1
  15. package/dist/gateway/static/root/assets/{block-editor-2HJoFchH.js → block-editor-DJRWwWNI.js} +6 -6
  16. package/dist/gateway/static/root/assets/browser-settings-page-FCDwOOBK.js +8 -0
  17. package/dist/gateway/static/root/assets/capability-presets-api-Befi89CL.js +1 -0
  18. package/dist/gateway/static/root/assets/capability-presets-settings-panel-_G8eb2vJ.js +1 -0
  19. package/dist/gateway/static/root/assets/channel-recipient-api-BNSuJb5f.js +1 -0
  20. package/dist/gateway/static/root/assets/channels-settings-C3d5JBJX.js +1 -0
  21. package/dist/gateway/static/root/assets/cn-BQ_8x0bT.js +1 -0
  22. package/dist/gateway/static/root/assets/connectors-page-yaUNvt5u.js +2 -0
  23. package/dist/gateway/static/root/assets/cron-expression-B3B1eqnr.js +2 -0
  24. package/dist/gateway/static/root/assets/dreaming-settings-DNrdg1Ve.js +1 -0
  25. package/dist/gateway/static/root/assets/{extension-debug-page-DX5WRE_t.js → extension-debug-page-DYh402XV.js} +1 -1
  26. package/dist/gateway/static/root/assets/{extension-page-Buah7Bw-.js → extension-page-Cr_TizrN.js} +1 -1
  27. package/dist/gateway/static/root/assets/{extension-settings-page-DuroLVnf.js → extension-settings-page-BU1KoKRj.js} +1 -1
  28. package/dist/gateway/static/root/assets/{fetch-B5zdl27C.js → fetch-Y7AEX4H3.js} +1 -1
  29. package/dist/gateway/static/root/assets/format-cron-label-arqgGlVV.js +1 -0
  30. package/dist/gateway/static/root/assets/{gateway-config-api-gT4ZhE7h.js → gateway-config-api-RbMmAOpX.js} +1 -1
  31. package/dist/gateway/static/root/assets/gateway-settings-C79wkXef.js +1 -0
  32. package/dist/gateway/static/root/assets/{gateway-startup-retry-B3kL8KGY.js → gateway-startup-retry-DiD_Tx4N.js} +1 -1
  33. package/dist/gateway/static/root/assets/goal-detail-page-9paXuHdo.js +1 -0
  34. package/dist/gateway/static/root/assets/{goals-config-api-AR-fVh0P.js → goals-config-api-DqxVi0p5.js} +1 -1
  35. package/dist/gateway/static/root/assets/{goals-page-Cpb21ezg.js → goals-page-CS0R-Af2.js} +2 -2
  36. package/dist/gateway/static/root/assets/goals-settings-CSuzZ8Ae.js +1 -0
  37. package/dist/gateway/static/root/assets/heartbeat-settings-DXPaYJm3.js +1 -0
  38. package/dist/gateway/static/root/assets/index-BoKafJIZ.js +191 -0
  39. package/dist/gateway/static/root/assets/index-CArhCcYn.css +1 -0
  40. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-Dvg53qnd.js +1 -0
  41. package/dist/gateway/static/root/assets/{logs-page-DefCgF4o.js → logs-page-DLXPcksQ.js} +2 -2
  42. package/dist/gateway/static/root/assets/{markdown-split-ChbR9LGO.js → markdown-split-CpHxbtWJ.js} +1 -1
  43. package/dist/gateway/static/root/assets/{media-plugins-B82oP80n.js → media-plugins-SFPQRSxq.js} +1 -1
  44. package/dist/gateway/static/root/assets/messages-CrDHEbss.js +3 -0
  45. package/dist/gateway/static/root/assets/models-hub-panel-BDF2iyRk.js +2 -0
  46. package/dist/gateway/static/root/assets/note-detail-page-CSb_hwig.js +2 -0
  47. package/dist/gateway/static/root/assets/{note-image-lightbox-CDknITM3.js → note-image-lightbox-BUYURRgn.js} +1 -1
  48. package/dist/gateway/static/root/assets/notes-page-BsIBSFyZ.js +1 -0
  49. package/dist/gateway/static/root/assets/{preview-open-alternatives-DV3xQsWB.js → preview-open-alternatives-BHz9iWYA.js} +1 -1
  50. package/dist/gateway/static/root/assets/remote-access-hub-CwzSovcS.js +1 -0
  51. package/dist/gateway/static/root/assets/{save-bar-controls-BODCXnvY.js → save-bar-controls-CefkOlRg.js} +1 -1
  52. package/dist/gateway/static/root/assets/schedule-field-CmTRoOcE.js +1 -0
  53. package/dist/gateway/static/root/assets/{schema-form-qtfEI6QM.js → schema-form-FMKv1vGu.js} +1 -1
  54. package/dist/gateway/static/root/assets/sessions-page-PHmX-NmA.js +1 -0
  55. package/dist/gateway/static/root/assets/settings-advanced-gate-BRAeKJN4.js +1 -0
  56. package/dist/gateway/static/root/assets/{settings-collapsible-section-BHZKjVcS.js → settings-collapsible-section-BouO6JTi.js} +1 -1
  57. package/dist/gateway/static/root/assets/{settings-form-section-5i35D-J1.js → settings-form-section-D-4lBl6X.js} +1 -1
  58. package/dist/gateway/static/root/assets/settings-page-KKrbFjy8.js +1 -0
  59. package/dist/gateway/static/root/assets/settings-page-layout-BJ4Gsef5.js +1 -0
  60. package/dist/gateway/static/root/assets/setup-status-panel-CrUjHPQo.js +1 -0
  61. package/dist/gateway/static/root/assets/{share-preview-page-B0H63tDv.js → share-preview-page-BDy2btRN.js} +1 -1
  62. package/dist/gateway/static/root/assets/shares-settings-B18OBmH5.js +1 -0
  63. package/dist/gateway/static/root/assets/skill-reload-api-C28-2uKQ.js +1 -0
  64. package/dist/gateway/static/root/assets/skills-page-Bm2ebkwl.js +2 -0
  65. package/dist/gateway/static/root/assets/system-settings-panel-CRngrlnZ.js +1 -0
  66. package/dist/gateway/static/root/assets/typed-models-lib-BltBc0b-.js +1 -0
  67. package/dist/gateway/static/root/assets/{use-channel-catalog-BCjP_VHb.js → use-channel-catalog-CjN-51e6.js} +1 -1
  68. package/dist/gateway/static/root/assets/user-profile-settings-panel-DJ1dKwZy.js +1 -0
  69. package/dist/gateway/static/root/assets/utils-B5M5-YvK.js +1 -0
  70. package/dist/gateway/static/root/assets/voice-api-key-field-CeEevm7z.js +1 -0
  71. package/dist/gateway/static/root/assets/{voice-player-store-BlF9V05n.js → voice-player-store-B7ykUlHM.js} +1 -1
  72. package/dist/gateway/static/root/assets/workflow-run-setup-panel-C4PzUQjB.js +3 -0
  73. package/dist/gateway/static/root/assets/workflows-page-BL84_-Ky.js +18 -0
  74. package/dist/gateway/static/root/index.html +6 -7
  75. package/dist/package.js +1 -1
  76. package/dist/src/agent/agent-manager.d.ts +4 -5
  77. package/dist/src/agent/agent-manager.js +6 -9
  78. package/dist/src/agent/agent-manager.js.map +1 -1
  79. package/dist/src/agent/agent-scope.js +0 -2
  80. package/dist/src/agent/agent-scope.js.map +1 -1
  81. package/dist/src/agent/background-review/prompts.d.ts +2 -2
  82. package/dist/src/agent/background-review/prompts.js +2 -2
  83. package/dist/src/agent/background-review/prompts.js.map +1 -1
  84. package/dist/src/agent/background-review/settings.d.ts +1 -1
  85. package/dist/src/agent/background-review/settings.js +7 -8
  86. package/dist/src/agent/background-review/settings.js.map +1 -1
  87. package/dist/src/agent/bootstrap/bootstrap-cache.d.ts +1 -0
  88. package/dist/src/agent/bootstrap/bootstrap-cache.js +4 -3
  89. package/dist/src/agent/bootstrap/bootstrap-cache.js.map +1 -1
  90. package/dist/src/agent/bootstrap/bootstrap-files.d.ts +4 -0
  91. package/dist/src/agent/bootstrap/bootstrap-files.js +4 -3
  92. package/dist/src/agent/bootstrap/bootstrap-files.js.map +1 -1
  93. package/dist/src/agent/bootstrap/filter-bootstrap-files.js +4 -2
  94. package/dist/src/agent/bootstrap/filter-bootstrap-files.js.map +1 -1
  95. package/dist/src/agent/bootstrap/load-bootstrap-files.d.ts +2 -1
  96. package/dist/src/agent/bootstrap/load-bootstrap-files.js +17 -16
  97. package/dist/src/agent/bootstrap/load-bootstrap-files.js.map +1 -1
  98. package/dist/src/agent/bootstrap/types.d.ts +1 -1
  99. package/dist/src/agent/context/workspace-templates/AGENTS.md +1 -1
  100. package/dist/src/agent/context/workspace.d.ts +4 -2
  101. package/dist/src/agent/context/workspace.js +5 -4
  102. package/dist/src/agent/context/workspace.js.map +1 -1
  103. package/dist/src/agent/embedded/run-for-session.js +106 -15
  104. package/dist/src/agent/embedded/run-for-session.js.map +1 -1
  105. package/dist/src/agent/fallback/candidates.d.ts +0 -8
  106. package/dist/src/agent/fallback/candidates.js +10 -11
  107. package/dist/src/agent/fallback/candidates.js.map +1 -1
  108. package/dist/src/agent/index.js +1 -1
  109. package/dist/src/agent/lifecycle/handlers/compaction.d.ts +1 -3
  110. package/dist/src/agent/lifecycle/handlers/compaction.js +1 -16
  111. package/dist/src/agent/lifecycle/handlers/compaction.js.map +1 -1
  112. package/dist/src/agent/lifecycle/progress.d.ts +0 -1
  113. package/dist/src/agent/lifecycle/progress.js +1 -6
  114. package/dist/src/agent/lifecycle/progress.js.map +1 -1
  115. package/dist/src/agent/lifecycle/timeout-wrapper.d.ts +1 -2
  116. package/dist/src/agent/lifecycle/timeout-wrapper.js +1 -7
  117. package/dist/src/agent/lifecycle/timeout-wrapper.js.map +1 -1
  118. package/dist/src/agent/memory/builtin-memory-store.d.ts +4 -2
  119. package/dist/src/agent/memory/builtin-memory-store.js +11 -6
  120. package/dist/src/agent/memory/builtin-memory-store.js.map +1 -1
  121. package/dist/src/agent/memory/builtin-provider.js +36 -7
  122. package/dist/src/agent/memory/builtin-provider.js.map +1 -1
  123. package/dist/src/agent/memory/candidate-extractor.d.ts +6 -0
  124. package/dist/src/agent/memory/candidate-extractor.js +60 -0
  125. package/dist/src/agent/memory/candidate-extractor.js.map +1 -0
  126. package/dist/src/agent/memory/manager.d.ts +2 -1
  127. package/dist/src/agent/memory/manager.js +27 -3
  128. package/dist/src/agent/memory/manager.js.map +1 -1
  129. package/dist/src/agent/memory/memory-config.js +3 -0
  130. package/dist/src/agent/memory/memory-config.js.map +1 -1
  131. package/dist/src/agent/memory/prefetch-coordinator.js.map +1 -1
  132. package/dist/src/agent/memory/types.d.ts +27 -4
  133. package/dist/src/agent/middleware/self-verify.d.ts +0 -1
  134. package/dist/src/agent/middleware/self-verify.js +0 -2
  135. package/dist/src/agent/middleware/self-verify.js.map +1 -1
  136. package/dist/src/agent/models/index.d.ts +1 -1
  137. package/dist/src/agent/models/manager.d.ts +4 -20
  138. package/dist/src/agent/models/manager.js +9 -126
  139. package/dist/src/agent/models/manager.js.map +1 -1
  140. package/dist/src/agent/orchestration/agent-orchestrator.d.ts +0 -4
  141. package/dist/src/agent/orchestration/agent-orchestrator.js +1 -9
  142. package/dist/src/agent/orchestration/agent-orchestrator.js.map +1 -1
  143. package/dist/src/agent/prompt/memory/index.d.ts +4 -2
  144. package/dist/src/agent/prompt/memory/index.js +18 -12
  145. package/dist/src/agent/prompt/memory/index.js.map +1 -1
  146. package/dist/src/agent/prompt/sections/memory-skills.js +1 -1
  147. package/dist/src/agent/prompt/sections/memory-skills.js.map +1 -1
  148. package/dist/src/agent/prompt/sections/tooling.js +2 -2
  149. package/dist/src/agent/prompt/sections/tooling.js.map +1 -1
  150. package/dist/src/agent/prompt/service-prompt-builder.d.ts +0 -1
  151. package/dist/src/agent/prompt/service-prompt-builder.js +4 -31
  152. package/dist/src/agent/prompt/service-prompt-builder.js.map +1 -1
  153. package/dist/src/agent/prompt/subagent-context.js +1 -1
  154. package/dist/src/agent/prompt/subagent-context.js.map +1 -1
  155. package/dist/src/agent/prompt/types.d.ts +1 -1
  156. package/dist/src/agent/reply/post-compaction-context.js +1 -3
  157. package/dist/src/agent/reply/post-compaction-context.js.map +1 -1
  158. package/dist/src/agent/reply/startup-context.js +1 -5
  159. package/dist/src/agent/reply/startup-context.js.map +1 -1
  160. package/dist/src/agent/service.d.ts +4 -12
  161. package/dist/src/agent/service.js +10 -48
  162. package/dist/src/agent/service.js.map +1 -1
  163. package/dist/src/agent/service.types.d.ts +2 -2
  164. package/dist/src/agent/session/session-config-service.d.ts +11 -11
  165. package/dist/src/agent/session/session-config-service.js +14 -14
  166. package/dist/src/agent/session/session-config-service.js.map +1 -1
  167. package/dist/src/agent/session/session-inspector.js +3 -2
  168. package/dist/src/agent/session/session-inspector.js.map +1 -1
  169. package/dist/src/agent/starter-agents.js +12 -12
  170. package/dist/src/agent/starter-agents.js.map +1 -1
  171. package/dist/src/agent/tools/automation-tool.d.ts +14 -0
  172. package/dist/src/agent/tools/automation-tool.js +102 -0
  173. package/dist/src/agent/tools/automation-tool.js.map +1 -0
  174. package/dist/src/agent/tools/curated-memory-tool.js +57 -2
  175. package/dist/src/agent/tools/curated-memory-tool.js.map +1 -1
  176. package/dist/src/agent/tools/delegate-tool.js +1 -1
  177. package/dist/src/agent/tools/delegate-tool.js.map +1 -1
  178. package/dist/src/agent/tools/factory.d.ts +3 -3
  179. package/dist/src/agent/tools/factory.js +2 -2
  180. package/dist/src/agent/tools/factory.js.map +1 -1
  181. package/dist/src/agent/tools/index.d.ts +1 -1
  182. package/dist/src/agent/tools/index.js +2 -2
  183. package/dist/src/agent/tools/web-extract.js +6 -8
  184. package/dist/src/agent/tools/web-extract.js.map +1 -1
  185. package/dist/src/agent-manifest/index.js +2 -2
  186. package/dist/src/agent-manifest/resolver.d.ts +4 -2
  187. package/dist/src/agent-manifest/resolver.js +6 -3
  188. package/dist/src/agent-manifest/resolver.js.map +1 -1
  189. package/dist/src/agent-manifest/schema.d.ts +238 -0
  190. package/dist/src/agent-manifest/schema.js +16 -5
  191. package/dist/src/agent-manifest/schema.js.map +1 -1
  192. package/dist/src/agent-manifest/validator.d.ts +3 -2
  193. package/dist/src/agent-manifest/validator.js +2 -1
  194. package/dist/src/agent-manifest/validator.js.map +1 -1
  195. package/dist/src/ai-assist/text-assist.d.ts +1 -1
  196. package/dist/src/ai-assist/text-assist.js +56 -0
  197. package/dist/src/ai-assist/text-assist.js.map +1 -1
  198. package/dist/src/auth/profiles/store.js.map +1 -1
  199. package/dist/src/automations/api/routes.d.ts +3 -0
  200. package/dist/src/automations/api/routes.js +193 -0
  201. package/dist/src/automations/api/routes.js.map +1 -0
  202. package/dist/src/automations/domain/index.d.ts +3 -0
  203. package/dist/src/automations/domain/index.js +3 -0
  204. package/dist/src/automations/domain/schedule.d.ts +4 -0
  205. package/dist/src/automations/domain/schedule.js +37 -0
  206. package/dist/src/automations/domain/schedule.js.map +1 -0
  207. package/dist/src/automations/domain/types.d.ts +160 -0
  208. package/dist/src/automations/domain/validation.d.ts +370 -0
  209. package/dist/src/automations/domain/validation.js +149 -0
  210. package/dist/src/automations/domain/validation.js.map +1 -0
  211. package/dist/src/automations/draft/automation-draft-prompt.d.ts +26 -0
  212. package/dist/src/automations/draft/automation-draft-prompt.js +127 -0
  213. package/dist/src/automations/draft/automation-draft-prompt.js.map +1 -0
  214. package/dist/src/automations/draft/automation-draft-service.d.ts +12 -0
  215. package/dist/src/automations/draft/automation-draft-service.js +135 -0
  216. package/dist/src/automations/draft/automation-draft-service.js.map +1 -0
  217. package/dist/src/automations/draft/automation-draft-validator.d.ts +99 -0
  218. package/dist/src/automations/draft/automation-draft-validator.js +105 -0
  219. package/dist/src/automations/draft/automation-draft-validator.js.map +1 -0
  220. package/dist/src/automations/draft/automation-draft.types.d.ts +40 -0
  221. package/dist/src/automations/draft/index.d.ts +3 -0
  222. package/dist/src/automations/draft/index.js +3 -0
  223. package/dist/src/automations/index.d.ts +3 -0
  224. package/dist/src/automations/index.js +8 -0
  225. package/dist/src/automations/product-events.d.ts +5 -0
  226. package/dist/src/automations/product-events.js +21 -0
  227. package/dist/src/automations/product-events.js.map +1 -0
  228. package/dist/src/automations/service/action-executor.d.ts +9 -0
  229. package/dist/src/automations/service/action-executor.js +157 -0
  230. package/dist/src/automations/service/action-executor.js.map +1 -0
  231. package/dist/src/automations/service/automation-service.d.ts +54 -0
  232. package/dist/src/automations/service/automation-service.js +404 -0
  233. package/dist/src/automations/service/automation-service.js.map +1 -0
  234. package/dist/src/automations/service/index.d.ts +2 -0
  235. package/dist/src/automations/service/index.js +3 -0
  236. package/dist/src/automations/storage/automation-repository.d.ts +6 -0
  237. package/dist/src/automations/storage/automation-repository.js +61 -0
  238. package/dist/src/automations/storage/automation-repository.js.map +1 -0
  239. package/dist/src/automations/storage/automation-run-repository.d.ts +17 -0
  240. package/dist/src/automations/storage/automation-run-repository.js +130 -0
  241. package/dist/src/automations/storage/automation-run-repository.js.map +1 -0
  242. package/dist/src/automations/storage/index.d.ts +2 -0
  243. package/dist/src/automations/storage/index.js +3 -0
  244. package/dist/src/channels/pipeline.d.ts +1 -1
  245. package/dist/src/channels/pipeline.js.map +1 -1
  246. package/dist/src/channels/plugin-types.d.ts +3 -0
  247. package/dist/src/chat-commands/agent-edit.js +0 -1
  248. package/dist/src/chat-commands/agent-edit.js.map +1 -1
  249. package/dist/src/chat-commands/builtins/model.js +2 -2
  250. package/dist/src/chat-commands/builtins/model.js.map +1 -1
  251. package/dist/src/chat-commands/builtins/thinking.js.map +1 -1
  252. package/dist/src/cli/command-catalog.js +0 -39
  253. package/dist/src/cli/command-catalog.js.map +1 -1
  254. package/dist/src/cli/command-loaders.js +0 -1
  255. package/dist/src/cli/command-loaders.js.map +1 -1
  256. package/dist/src/cli/command-manifest.d.ts +1 -1
  257. package/dist/src/cli/command-manifest.js +1 -5
  258. package/dist/src/cli/command-manifest.js.map +1 -1
  259. package/dist/src/cli/commands/agents.js +7 -6
  260. package/dist/src/cli/commands/agents.js.map +1 -1
  261. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  262. package/dist/src/cli/commands/doctor/checks/{cron-health.d.ts → migrations.d.ts} +1 -1
  263. package/dist/src/cli/commands/doctor/checks/migrations.js +40 -0
  264. package/dist/src/cli/commands/doctor/checks/migrations.js.map +1 -0
  265. package/dist/src/cli/commands/doctor/checks/provider-auth.js +1 -0
  266. package/dist/src/cli/commands/doctor/checks/provider-auth.js.map +1 -1
  267. package/dist/src/cli/commands/doctor/checks/workspace-status.js +0 -1
  268. package/dist/src/cli/commands/doctor/checks/workspace-status.js.map +1 -1
  269. package/dist/src/cli/commands/doctor/flow.js +2 -2
  270. package/dist/src/cli/commands/doctor/flow.js.map +1 -1
  271. package/dist/src/cli/commands/gateway/call.js +2 -2
  272. package/dist/src/cli/commands/gateway/call.js.map +1 -1
  273. package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
  274. package/dist/src/cli/commands/gateway/run-foreground.js +4 -2
  275. package/dist/src/cli/commands/gateway/run-foreground.js.map +1 -1
  276. package/dist/src/cli/commands/init.js +33 -14
  277. package/dist/src/cli/commands/init.js.map +1 -1
  278. package/dist/src/cli/commands/models.js +13 -31
  279. package/dist/src/cli/commands/models.js.map +1 -1
  280. package/dist/src/cli/commands/onboard/model.js +17 -10
  281. package/dist/src/cli/commands/onboard/model.js.map +1 -1
  282. package/dist/src/cli/commands/onboard.js +2 -2
  283. package/dist/src/cli/commands/onboard.js.map +1 -1
  284. package/dist/src/cli/commands/tui.js +26 -4
  285. package/dist/src/cli/commands/tui.js.map +1 -1
  286. package/dist/src/cli/index.d.ts +1 -0
  287. package/dist/src/cli/index.js +10 -5
  288. package/dist/src/cli/index.js.map +1 -1
  289. package/dist/src/cli/registry.js +1 -1
  290. package/dist/src/cli/registry.js.map +1 -1
  291. package/dist/src/cli/templates.d.ts +1 -1
  292. package/dist/src/cli/templates.js +1 -11
  293. package/dist/src/cli/templates.js.map +1 -1
  294. package/dist/src/cli/utils/init-workspace-core.js +2 -0
  295. package/dist/src/cli/utils/init-workspace-core.js.map +1 -1
  296. package/dist/src/commands/agents.config.d.ts +9 -0
  297. package/dist/src/commands/agents.config.js +42 -12
  298. package/dist/src/commands/agents.config.js.map +1 -1
  299. package/dist/src/config/agent-profile.js +5 -3
  300. package/dist/src/config/agent-profile.js.map +1 -1
  301. package/dist/src/config/agent-typed-models.js +3 -5
  302. package/dist/src/config/agent-typed-models.js.map +1 -1
  303. package/dist/src/config/config-surface.d.ts +3 -0
  304. package/dist/src/config/index.d.ts +0 -1
  305. package/dist/src/config/index.js +3 -3
  306. package/dist/src/config/index.js.map +1 -1
  307. package/dist/src/config/paths.d.ts +8 -10
  308. package/dist/src/config/paths.js +16 -16
  309. package/dist/src/config/paths.js.map +1 -1
  310. package/dist/src/config/profile.js +0 -1
  311. package/dist/src/config/profile.js.map +1 -1
  312. package/dist/src/config/rules.js +0 -5
  313. package/dist/src/config/rules.js.map +1 -1
  314. package/dist/src/config/schema.d.ts +45 -44
  315. package/dist/src/config/schema.js +68 -52
  316. package/dist/src/config/schema.js.map +1 -1
  317. package/dist/src/config/web-patch.d.ts +0 -12
  318. package/dist/src/config/web-patch.js +2 -29
  319. package/dist/src/config/web-patch.js.map +1 -1
  320. package/dist/src/extensions/api.d.ts +2 -0
  321. package/dist/src/extensions/api.js +10 -0
  322. package/dist/src/extensions/api.js.map +1 -1
  323. package/dist/src/extensions/extension-registry-impl.d.ts +4 -1
  324. package/dist/src/extensions/extension-registry-impl.js +8 -0
  325. package/dist/src/extensions/extension-registry-impl.js.map +1 -1
  326. package/dist/src/extensions/loader.d.ts +3 -3
  327. package/dist/src/extensions/loader.js +3 -3
  328. package/dist/src/extensions/loader.js.map +1 -1
  329. package/dist/src/extensions/sdk/testing.d.ts +2 -0
  330. package/dist/src/extensions/sdk/testing.js +7 -0
  331. package/dist/src/extensions/sdk/testing.js.map +1 -1
  332. package/dist/src/extensions/types/core.d.ts +10 -1
  333. package/dist/src/extensions/types/index.d.ts +1 -1
  334. package/dist/src/extensions/types/{phase4.d.ts → registration.d.ts} +2 -2
  335. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  336. package/dist/src/gateway/agent-builtin-tools.js +1 -1
  337. package/dist/src/gateway/agent-builtin-tools.js.map +1 -1
  338. package/dist/src/gateway/agents-admin.d.ts +8 -0
  339. package/dist/src/gateway/agents-admin.js +63 -34
  340. package/dist/src/gateway/agents-admin.js.map +1 -1
  341. package/dist/src/gateway/capability-presets-admin.d.ts +1 -0
  342. package/dist/src/gateway/capability-presets-admin.js +19 -10
  343. package/dist/src/gateway/capability-presets-admin.js.map +1 -1
  344. package/dist/src/gateway/chat-stream/mapper.js +9 -2
  345. package/dist/src/gateway/chat-stream/mapper.js.map +1 -1
  346. package/dist/src/gateway/dreaming-automation-reconciler.d.ts +11 -0
  347. package/dist/src/gateway/dreaming-automation-reconciler.js +105 -0
  348. package/dist/src/gateway/dreaming-automation-reconciler.js.map +1 -0
  349. package/dist/src/gateway/global-defaults-admin.d.ts +36 -0
  350. package/dist/src/gateway/global-defaults-admin.js +146 -0
  351. package/dist/src/gateway/global-defaults-admin.js.map +1 -0
  352. package/dist/src/gateway/heartbeat/service.d.ts +0 -2
  353. package/dist/src/gateway/heartbeat/service.js +0 -7
  354. package/dist/src/gateway/heartbeat/service.js.map +1 -1
  355. package/dist/src/gateway/hono/lib/config-payload.d.ts +5 -6
  356. package/dist/src/gateway/hono/lib/config-payload.js +2 -2
  357. package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
  358. package/dist/src/gateway/hono/routes/agents.js +33 -1
  359. package/dist/src/gateway/hono/routes/agents.js.map +1 -1
  360. package/dist/src/gateway/hono/routes/commands-skills.js +4 -5
  361. package/dist/src/gateway/hono/routes/commands-skills.js.map +1 -1
  362. package/dist/src/gateway/hono/routes/config-patch/misc.d.ts +1 -1
  363. package/dist/src/gateway/hono/routes/config-patch/misc.js +12 -6
  364. package/dist/src/gateway/hono/routes/config-patch/misc.js.map +1 -1
  365. package/dist/src/gateway/hono/routes/dreaming.js +27 -37
  366. package/dist/src/gateway/hono/routes/dreaming.js.map +1 -1
  367. package/dist/src/gateway/hono/routes/global-defaults.d.ts +3 -0
  368. package/dist/src/gateway/hono/routes/global-defaults.js +61 -0
  369. package/dist/src/gateway/hono/routes/global-defaults.js.map +1 -0
  370. package/dist/src/gateway/hono/routes/home.d.ts +2 -2
  371. package/dist/src/gateway/hono/routes/home.js +34 -25
  372. package/dist/src/gateway/hono/routes/home.js.map +1 -1
  373. package/dist/src/gateway/hono/routes/lazy-bundles.js +21 -9
  374. package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
  375. package/dist/src/gateway/hono/routes/memory.js +75 -4
  376. package/dist/src/gateway/hono/routes/memory.js.map +1 -1
  377. package/dist/src/gateway/hono/routes/migrations.d.ts +3 -0
  378. package/dist/src/gateway/hono/routes/migrations.js +35 -0
  379. package/dist/src/gateway/hono/routes/migrations.js.map +1 -0
  380. package/dist/src/gateway/hono/routes/models.js +1 -1
  381. package/dist/src/gateway/hono/routes/public-gateway.js +2 -1
  382. package/dist/src/gateway/hono/routes/public-gateway.js.map +1 -1
  383. package/dist/src/gateway/hono/routes/sessions.js +14 -0
  384. package/dist/src/gateway/hono/routes/sessions.js.map +1 -1
  385. package/dist/src/gateway/run-loop.js +2 -0
  386. package/dist/src/gateway/run-loop.js.map +1 -1
  387. package/dist/src/gateway/security/operator-scopes.js +5 -1
  388. package/dist/src/gateway/security/operator-scopes.js.map +1 -1
  389. package/dist/src/gateway/service/config-coordinator.d.ts +4 -4
  390. package/dist/src/gateway/service/config-coordinator.js +14 -8
  391. package/dist/src/gateway/service/config-coordinator.js.map +1 -1
  392. package/dist/src/gateway/service/marketplace-service.d.ts +4 -4
  393. package/dist/src/gateway/service/marketplace-service.js +11 -7
  394. package/dist/src/gateway/service/marketplace-service.js.map +1 -1
  395. package/dist/src/gateway/service/sessions-api.d.ts +2 -1
  396. package/dist/src/gateway/service/sessions-api.js +6 -1
  397. package/dist/src/gateway/service/sessions-api.js.map +1 -1
  398. package/dist/src/gateway/service.d.ts +7 -3
  399. package/dist/src/gateway/service.js +61 -27
  400. package/dist/src/gateway/service.js.map +1 -1
  401. package/dist/src/goals/goal-service.js +45 -4
  402. package/dist/src/goals/goal-service.js.map +1 -1
  403. package/dist/src/infra/update-restart.js +1 -1
  404. package/dist/src/migrations/config/default-capability-preset.d.ts +10 -0
  405. package/dist/src/migrations/config/default-capability-preset.js +135 -0
  406. package/dist/src/migrations/config/default-capability-preset.js.map +1 -0
  407. package/dist/src/migrations/index.d.ts +4 -0
  408. package/dist/src/migrations/index.js +4 -0
  409. package/dist/src/migrations/registry.d.ts +8 -0
  410. package/dist/src/migrations/registry.js +18 -0
  411. package/dist/src/migrations/registry.js.map +1 -0
  412. package/dist/src/migrations/runner.d.ts +17 -0
  413. package/dist/src/migrations/runner.js +191 -0
  414. package/dist/src/migrations/runner.js.map +1 -0
  415. package/dist/src/migrations/types.d.ts +34 -0
  416. package/dist/src/notes/service.js +27 -2
  417. package/dist/src/notes/service.js.map +1 -1
  418. package/dist/src/providers/index.d.ts +4 -5
  419. package/dist/src/providers/index.js +16 -16
  420. package/dist/src/providers/index.js.map +1 -1
  421. package/dist/src/providers/model-registry.d.ts +0 -1
  422. package/dist/src/providers/model-registry.js +0 -3
  423. package/dist/src/providers/model-registry.js.map +1 -1
  424. package/dist/src/routing/resolve-tui-session-key.d.ts +3 -0
  425. package/dist/src/routing/resolve-tui-session-key.js +14 -3
  426. package/dist/src/routing/resolve-tui-session-key.js.map +1 -1
  427. package/dist/src/session/session-workspace.js +2 -7
  428. package/dist/src/session/session-workspace.js.map +1 -1
  429. package/dist/src/session/store.js +0 -5
  430. package/dist/src/session/store.js.map +1 -1
  431. package/dist/src/session/transcript-outline.d.ts +47 -0
  432. package/dist/src/session/transcript-outline.js +481 -0
  433. package/dist/src/session/transcript-outline.js.map +1 -0
  434. package/dist/src/storage/sqlite/index.d.ts +1 -3
  435. package/dist/src/storage/sqlite/index.js +2 -4
  436. package/dist/src/storage/sqlite/memory-index-repository.d.ts +1 -0
  437. package/dist/src/storage/sqlite/memory-index-repository.js +15 -14
  438. package/dist/src/storage/sqlite/memory-index-repository.js.map +1 -1
  439. package/dist/src/storage/sqlite/memory-records-repository.d.ts +44 -1
  440. package/dist/src/storage/sqlite/memory-records-repository.js +164 -20
  441. package/dist/src/storage/sqlite/memory-records-repository.js.map +1 -1
  442. package/dist/src/storage/sqlite/migrations/014_memory_record_governance.sql +10 -0
  443. package/dist/src/storage/sqlite/migrations/015_memory_trace_feedback.sql +4 -0
  444. package/dist/src/storage/sqlite/migrations/016_automations.sql +47 -0
  445. package/dist/src/storage/sqlite/migrations/017_automation_run_events.sql +14 -0
  446. package/dist/src/storage/sqlite/migrations/018_automation_safety.sql +1 -0
  447. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  448. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  449. package/dist/src/storage/sqlite/migrations/runner.js.map +1 -1
  450. package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
  451. package/dist/src/storage/sqlite/schema.js +1 -1
  452. package/dist/src/storage/sqlite/schema.sql +56 -46
  453. package/dist/src/tui/backends/embedded-backend.d.ts +9 -0
  454. package/dist/src/tui/backends/embedded-backend.js +55 -27
  455. package/dist/src/tui/backends/embedded-backend.js.map +1 -1
  456. package/dist/src/tui/backends/gateway-sse-backend.d.ts +4 -0
  457. package/dist/src/tui/backends/gateway-sse-backend.js +30 -3
  458. package/dist/src/tui/backends/gateway-sse-backend.js.map +1 -1
  459. package/dist/src/tui/components/tui-header.d.ts +0 -1
  460. package/dist/src/tui/components/tui-header.js +3 -8
  461. package/dist/src/tui/components/tui-header.js.map +1 -1
  462. package/dist/src/tui/tui-backend.d.ts +4 -0
  463. package/dist/src/tui/tui-commands.d.ts +5 -0
  464. package/dist/src/tui/tui-commands.js +43 -0
  465. package/dist/src/tui/tui-commands.js.map +1 -1
  466. package/dist/src/tui/tui-startup-resources.js +2 -1
  467. package/dist/src/tui/tui-startup-resources.js.map +1 -1
  468. package/dist/src/tui/tui-startup-text.js +12 -12
  469. package/dist/src/tui/tui-startup-text.js.map +1 -1
  470. package/dist/src/tui/tui-transcript-tree.d.ts +1 -1
  471. package/dist/src/tui/tui-transcript-tree.js +17 -257
  472. package/dist/src/tui/tui-transcript-tree.js.map +1 -1
  473. package/dist/src/tui/tui-types.d.ts +2 -0
  474. package/dist/src/tui/tui-types.js.map +1 -1
  475. package/dist/src/tui/tui.js +11 -3
  476. package/dist/src/tui/tui.js.map +1 -1
  477. package/dist/src/workflows/domain/index.js +1 -1
  478. package/dist/src/workflows/domain/run.d.ts +7 -7
  479. package/dist/src/workflows/domain/run.js.map +1 -1
  480. package/dist/src/workflows/index.js +2 -2
  481. package/dist/src/workflows/service/workflow-run-service.d.ts +2 -0
  482. package/dist/src/workflows/service/workflow-run-service.js +31 -9
  483. package/dist/src/workflows/service/workflow-run-service.js.map +1 -1
  484. package/dist/src/workflows/service/workflow-run-service.types.d.ts +1 -1
  485. package/package.json +4 -2
  486. package/dist/gateway/static/root/assets/agents-C6xgagZd.js +0 -71
  487. package/dist/gateway/static/root/assets/app-management-settings-panel-CBpLONvG.js +0 -1
  488. package/dist/gateway/static/root/assets/appearance-settings-CGcc54yj.js +0 -1
  489. package/dist/gateway/static/root/assets/browser-settings-page-CUOO-PQk.js +0 -8
  490. package/dist/gateway/static/root/assets/capability-presets-api-XQoMTI0A.js +0 -1
  491. package/dist/gateway/static/root/assets/capability-presets-settings-panel-CfqF-kGr.js +0 -1
  492. package/dist/gateway/static/root/assets/channels-settings-BYyRzsex.js +0 -1
  493. package/dist/gateway/static/root/assets/cn-JdwAhgNB.js +0 -1
  494. package/dist/gateway/static/root/assets/connectors-page-DIvEz4NX.js +0 -2
  495. package/dist/gateway/static/root/assets/createLucideIcon-DPHK1VkS.js +0 -1
  496. package/dist/gateway/static/root/assets/cron-api-R41aQCX9.js +0 -1
  497. package/dist/gateway/static/root/assets/cron-dreaming-jobs-nCMWCf0p.js +0 -1
  498. package/dist/gateway/static/root/assets/cron-page-D97nFqQD.js +0 -3
  499. package/dist/gateway/static/root/assets/dreaming-settings-Bceaw1PG.js +0 -1
  500. package/dist/gateway/static/root/assets/format-cron-label-BsotZDO5.js +0 -2
  501. package/dist/gateway/static/root/assets/format-interval-label-Dn_QKIqb.js +0 -1
  502. package/dist/gateway/static/root/assets/gateway-settings-iISWAZRm.js +0 -1
  503. package/dist/gateway/static/root/assets/goal-detail-page-DCUROLMQ.js +0 -1
  504. package/dist/gateway/static/root/assets/goals-settings-CPAuFwoD.js +0 -1
  505. package/dist/gateway/static/root/assets/heartbeat-config-api-D7bKFEeO.js +0 -1
  506. package/dist/gateway/static/root/assets/heartbeat-settings-CC69vNx0.js +0 -1
  507. package/dist/gateway/static/root/assets/index-CwhK8qCh.js +0 -122
  508. package/dist/gateway/static/root/assets/index-CyfhARL-.css +0 -1
  509. package/dist/gateway/static/root/assets/interval-presets-0DtsnxE0.js +0 -1
  510. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-BPREtN8B.js +0 -1
  511. package/dist/gateway/static/root/assets/messages-Cf1O9JB0.js +0 -3
  512. package/dist/gateway/static/root/assets/models-hub-panel-DmKiIihT.js +0 -2
  513. package/dist/gateway/static/root/assets/note-detail-page-CxxfLRJZ.js +0 -2
  514. package/dist/gateway/static/root/assets/notes-page-X2slSx7V.js +0 -1
  515. package/dist/gateway/static/root/assets/remote-access-hub-BvmUWqgu.js +0 -1
  516. package/dist/gateway/static/root/assets/schedule-field-CgJSCD3B.js +0 -1
  517. package/dist/gateway/static/root/assets/sessions-page-B0yESuuL.js +0 -1
  518. package/dist/gateway/static/root/assets/settings-advanced-gate-q2M8RKOo.js +0 -1
  519. package/dist/gateway/static/root/assets/settings-page-CGozabLD.js +0 -1
  520. package/dist/gateway/static/root/assets/setup-status-panel-FoOSe6nU.js +0 -1
  521. package/dist/gateway/static/root/assets/shares-settings-Cy5zWyYQ.js +0 -1
  522. package/dist/gateway/static/root/assets/skill-reload-api-DaZNFro9.js +0 -1
  523. package/dist/gateway/static/root/assets/skills-page-CnwtUzvw.js +0 -2
  524. package/dist/gateway/static/root/assets/system-settings-panel-DXs2VmBt.js +0 -1
  525. package/dist/gateway/static/root/assets/typed-models-lib-4gPuydz_.js +0 -1
  526. package/dist/gateway/static/root/assets/voice-api-key-field-DvKiOglO.js +0 -1
  527. package/dist/gateway/static/root/assets/workflows-page-CAVZcONQ.js +0 -18
  528. package/dist/src/agent/context/workspace-templates/USER.md +0 -24
  529. package/dist/src/agent/fallback/error.d.ts +0 -22
  530. package/dist/src/agent/fallback/error.js +0 -32
  531. package/dist/src/agent/fallback/error.js.map +0 -1
  532. package/dist/src/agent/fallback/index.d.ts +0 -5
  533. package/dist/src/agent/fallback/index.js +0 -9
  534. package/dist/src/agent/fallback/index.js.map +0 -1
  535. package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.d.ts +0 -29
  536. package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.js +0 -76
  537. package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.js.map +0 -1
  538. package/dist/src/agent/service/reconcile-dreaming-cron.d.ts +0 -6
  539. package/dist/src/agent/service/reconcile-dreaming-cron.js +0 -84
  540. package/dist/src/agent/service/reconcile-dreaming-cron.js.map +0 -1
  541. package/dist/src/agent/tools/cronjob-tool.d.ts +0 -29
  542. package/dist/src/agent/tools/cronjob-tool.js +0 -274
  543. package/dist/src/agent/tools/cronjob-tool.js.map +0 -1
  544. package/dist/src/cli/commands/cron-cli.d.ts +0 -2
  545. package/dist/src/cli/commands/cron-cli.js +0 -15
  546. package/dist/src/cli/commands/cron-cli.js.map +0 -1
  547. package/dist/src/cli/commands/cron.d.ts +0 -4
  548. package/dist/src/cli/commands/cron.js +0 -188
  549. package/dist/src/cli/commands/cron.js.map +0 -1
  550. package/dist/src/cli/commands/doctor/checks/cron-health.js +0 -35
  551. package/dist/src/cli/commands/doctor/checks/cron-health.js.map +0 -1
  552. package/dist/src/cron/execution-types.d.ts +0 -42
  553. package/dist/src/cron/executor.d.ts +0 -67
  554. package/dist/src/cron/executor.js +0 -669
  555. package/dist/src/cron/executor.js.map +0 -1
  556. package/dist/src/cron/index.d.ts +0 -7
  557. package/dist/src/cron/index.js +0 -7
  558. package/dist/src/cron/job-content.d.ts +0 -5
  559. package/dist/src/cron/job-content.js +0 -15
  560. package/dist/src/cron/job-content.js.map +0 -1
  561. package/dist/src/cron/run-log-store.d.ts +0 -12
  562. package/dist/src/cron/run-log-store.js +0 -58
  563. package/dist/src/cron/run-log-store.js.map +0 -1
  564. package/dist/src/cron/schedule.d.ts +0 -10
  565. package/dist/src/cron/schedule.js +0 -85
  566. package/dist/src/cron/schedule.js.map +0 -1
  567. package/dist/src/cron/service.d.ts +0 -58
  568. package/dist/src/cron/service.js +0 -419
  569. package/dist/src/cron/service.js.map +0 -1
  570. package/dist/src/cron/types.d.ts +0 -183
  571. package/dist/src/cron/validation.d.ts +0 -500
  572. package/dist/src/cron/validation.js +0 -192
  573. package/dist/src/cron/validation.js.map +0 -1
  574. package/dist/src/cron/workflow-run-completion.d.ts +0 -23
  575. package/dist/src/cron/workflow-run-completion.js +0 -72
  576. package/dist/src/cron/workflow-run-completion.js.map +0 -1
  577. package/dist/src/extensions/types/phase4.js +0 -1
  578. package/dist/src/gateway/hono/routes/cron.d.ts +0 -3
  579. package/dist/src/gateway/hono/routes/cron.js +0 -109
  580. package/dist/src/gateway/hono/routes/cron.js.map +0 -1
  581. package/dist/src/storage/sqlite/cron-job-repository.d.ts +0 -6
  582. package/dist/src/storage/sqlite/cron-job-repository.js +0 -70
  583. package/dist/src/storage/sqlite/cron-job-repository.js.map +0 -1
  584. package/dist/src/storage/sqlite/cron-run-repository.d.ts +0 -5
  585. package/dist/src/storage/sqlite/cron-run-repository.js +0 -96
  586. package/dist/src/storage/sqlite/cron-run-repository.js.map +0 -1
  587. /package/dist/src/{cron → automations/domain}/types.js +0 -0
  588. /package/dist/src/{config/defaults.d.ts → automations/draft/automation-draft.types.js} +0 -0
  589. /package/dist/src/{config/defaults.js → extensions/types/registration.js} +0 -0
  590. /package/dist/src/{cron/execution-types.js → migrations/types.js} +0 -0
@@ -0,0 +1,370 @@
1
+ import { z } from 'zod';
2
+ export declare const AutomationScheduleSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ kind: z.ZodLiteral<"once">;
4
+ at: z.ZodString;
5
+ }, z.core.$strict>, z.ZodObject<{
6
+ kind: z.ZodLiteral<"interval">;
7
+ everyMs: z.ZodNumber;
8
+ anchorMs: z.ZodOptional<z.ZodNumber>;
9
+ }, z.core.$strict>, z.ZodObject<{
10
+ kind: z.ZodLiteral<"cron">;
11
+ expr: z.ZodString;
12
+ tz: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
13
+ }, z.core.$strict>], "kind">;
14
+ export declare const AutomationTriggerSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
15
+ kind: z.ZodLiteral<"manual">;
16
+ }, z.core.$strict>, z.ZodObject<{
17
+ kind: z.ZodLiteral<"schedule">;
18
+ schedule: z.ZodDiscriminatedUnion<[z.ZodObject<{
19
+ kind: z.ZodLiteral<"once">;
20
+ at: z.ZodString;
21
+ }, z.core.$strict>, z.ZodObject<{
22
+ kind: z.ZodLiteral<"interval">;
23
+ everyMs: z.ZodNumber;
24
+ anchorMs: z.ZodOptional<z.ZodNumber>;
25
+ }, z.core.$strict>, z.ZodObject<{
26
+ kind: z.ZodLiteral<"cron">;
27
+ expr: z.ZodString;
28
+ tz: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
29
+ }, z.core.$strict>], "kind">;
30
+ }, z.core.$strict>, z.ZodObject<{
31
+ kind: z.ZodLiteral<"webhook">;
32
+ secretId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
33
+ }, z.core.$strict>, z.ZodObject<{
34
+ kind: z.ZodLiteral<"event">;
35
+ eventType: z.ZodString;
36
+ source: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
37
+ payloadMatch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
38
+ }, z.core.$strict>], "kind">;
39
+ export declare const AutomationActionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
40
+ kind: z.ZodLiteral<"agent">;
41
+ agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
42
+ instruction: z.ZodString;
43
+ workingDirectory: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
44
+ model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
45
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
46
+ }, z.core.$strict>, z.ZodObject<{
47
+ kind: z.ZodLiteral<"workflow">;
48
+ workflowId: z.ZodString;
49
+ agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
50
+ input: z.ZodOptional<z.ZodUnknown>;
51
+ inputEnvelope: z.ZodOptional<z.ZodObject<{
52
+ payload: z.ZodUnknown;
53
+ goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
54
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
55
+ context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
56
+ }, z.core.$strict>>;
57
+ goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
58
+ concurrency: z.ZodOptional<z.ZodNumber>;
59
+ maxSubagents: z.ZodOptional<z.ZodNumber>;
60
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
61
+ }, z.core.$strict>], "kind">;
62
+ export declare const AutomationAfterRunSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
63
+ kind: z.ZodLiteral<"none">;
64
+ }, z.core.$strict>, z.ZodObject<{
65
+ kind: z.ZodLiteral<"saveToSession">;
66
+ }, z.core.$strict>, z.ZodObject<{
67
+ kind: z.ZodLiteral<"webhook">;
68
+ url: z.ZodString;
69
+ }, z.core.$strict>], "kind">;
70
+ export declare const AutomationReliabilitySchema: z.ZodObject<{
71
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
72
+ retryCount: z.ZodOptional<z.ZodNumber>;
73
+ maxConcurrentRuns: z.ZodOptional<z.ZodNumber>;
74
+ disableAfterConsecutiveFailures: z.ZodOptional<z.ZodNumber>;
75
+ }, z.core.$strict>;
76
+ export declare const AutomationSafetyPolicySchema: z.ZodObject<{
77
+ mode: z.ZodEnum<{
78
+ suggest_only: "suggest_only";
79
+ ask_before_apply: "ask_before_apply";
80
+ auto_apply: "auto_apply";
81
+ }>;
82
+ }, z.core.$strict>;
83
+ export declare const AutomationStateSchema: z.ZodObject<{
84
+ nextRunAtMs: z.ZodOptional<z.ZodNumber>;
85
+ runningRunId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
86
+ lastRunAtMs: z.ZodOptional<z.ZodNumber>;
87
+ lastRunStatus: z.ZodOptional<z.ZodEnum<{
88
+ timeout: "timeout";
89
+ failed: "failed";
90
+ queued: "queued";
91
+ running: "running";
92
+ succeeded: "succeeded";
93
+ cancelled: "cancelled";
94
+ }>>;
95
+ lastError: z.ZodOptional<z.ZodString>;
96
+ consecutiveFailures: z.ZodOptional<z.ZodNumber>;
97
+ }, z.core.$strict>;
98
+ export declare const AutomationSchema: z.ZodObject<{
99
+ id: z.ZodString;
100
+ name: z.ZodString;
101
+ description: z.ZodOptional<z.ZodString>;
102
+ enabled: z.ZodBoolean;
103
+ trigger: z.ZodDiscriminatedUnion<[z.ZodObject<{
104
+ kind: z.ZodLiteral<"manual">;
105
+ }, z.core.$strict>, z.ZodObject<{
106
+ kind: z.ZodLiteral<"schedule">;
107
+ schedule: z.ZodDiscriminatedUnion<[z.ZodObject<{
108
+ kind: z.ZodLiteral<"once">;
109
+ at: z.ZodString;
110
+ }, z.core.$strict>, z.ZodObject<{
111
+ kind: z.ZodLiteral<"interval">;
112
+ everyMs: z.ZodNumber;
113
+ anchorMs: z.ZodOptional<z.ZodNumber>;
114
+ }, z.core.$strict>, z.ZodObject<{
115
+ kind: z.ZodLiteral<"cron">;
116
+ expr: z.ZodString;
117
+ tz: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
118
+ }, z.core.$strict>], "kind">;
119
+ }, z.core.$strict>, z.ZodObject<{
120
+ kind: z.ZodLiteral<"webhook">;
121
+ secretId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
122
+ }, z.core.$strict>, z.ZodObject<{
123
+ kind: z.ZodLiteral<"event">;
124
+ eventType: z.ZodString;
125
+ source: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
126
+ payloadMatch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
127
+ }, z.core.$strict>], "kind">;
128
+ action: z.ZodDiscriminatedUnion<[z.ZodObject<{
129
+ kind: z.ZodLiteral<"agent">;
130
+ agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
131
+ instruction: z.ZodString;
132
+ workingDirectory: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
133
+ model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
134
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
135
+ }, z.core.$strict>, z.ZodObject<{
136
+ kind: z.ZodLiteral<"workflow">;
137
+ workflowId: z.ZodString;
138
+ agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
139
+ input: z.ZodOptional<z.ZodUnknown>;
140
+ inputEnvelope: z.ZodOptional<z.ZodObject<{
141
+ payload: z.ZodUnknown;
142
+ goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
143
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
144
+ context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
145
+ }, z.core.$strict>>;
146
+ goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
147
+ concurrency: z.ZodOptional<z.ZodNumber>;
148
+ maxSubagents: z.ZodOptional<z.ZodNumber>;
149
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
150
+ }, z.core.$strict>], "kind">;
151
+ safety: z.ZodOptional<z.ZodObject<{
152
+ mode: z.ZodEnum<{
153
+ suggest_only: "suggest_only";
154
+ ask_before_apply: "ask_before_apply";
155
+ auto_apply: "auto_apply";
156
+ }>;
157
+ }, z.core.$strict>>;
158
+ afterRun: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
159
+ kind: z.ZodLiteral<"none">;
160
+ }, z.core.$strict>, z.ZodObject<{
161
+ kind: z.ZodLiteral<"saveToSession">;
162
+ }, z.core.$strict>, z.ZodObject<{
163
+ kind: z.ZodLiteral<"webhook">;
164
+ url: z.ZodString;
165
+ }, z.core.$strict>], "kind">>;
166
+ reliability: z.ZodOptional<z.ZodObject<{
167
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
168
+ retryCount: z.ZodOptional<z.ZodNumber>;
169
+ maxConcurrentRuns: z.ZodOptional<z.ZodNumber>;
170
+ disableAfterConsecutiveFailures: z.ZodOptional<z.ZodNumber>;
171
+ }, z.core.$strict>>;
172
+ state: z.ZodDefault<z.ZodObject<{
173
+ nextRunAtMs: z.ZodOptional<z.ZodNumber>;
174
+ runningRunId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
175
+ lastRunAtMs: z.ZodOptional<z.ZodNumber>;
176
+ lastRunStatus: z.ZodOptional<z.ZodEnum<{
177
+ timeout: "timeout";
178
+ failed: "failed";
179
+ queued: "queued";
180
+ running: "running";
181
+ succeeded: "succeeded";
182
+ cancelled: "cancelled";
183
+ }>>;
184
+ lastError: z.ZodOptional<z.ZodString>;
185
+ consecutiveFailures: z.ZodOptional<z.ZodNumber>;
186
+ }, z.core.$strict>>;
187
+ createdAtMs: z.ZodNumber;
188
+ updatedAtMs: z.ZodNumber;
189
+ }, z.core.$strict>;
190
+ export declare const CreateAutomationSchema: z.ZodObject<{
191
+ description: z.ZodOptional<z.ZodString>;
192
+ name: z.ZodString;
193
+ trigger: z.ZodDiscriminatedUnion<[z.ZodObject<{
194
+ kind: z.ZodLiteral<"manual">;
195
+ }, z.core.$strict>, z.ZodObject<{
196
+ kind: z.ZodLiteral<"schedule">;
197
+ schedule: z.ZodDiscriminatedUnion<[z.ZodObject<{
198
+ kind: z.ZodLiteral<"once">;
199
+ at: z.ZodString;
200
+ }, z.core.$strict>, z.ZodObject<{
201
+ kind: z.ZodLiteral<"interval">;
202
+ everyMs: z.ZodNumber;
203
+ anchorMs: z.ZodOptional<z.ZodNumber>;
204
+ }, z.core.$strict>, z.ZodObject<{
205
+ kind: z.ZodLiteral<"cron">;
206
+ expr: z.ZodString;
207
+ tz: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
208
+ }, z.core.$strict>], "kind">;
209
+ }, z.core.$strict>, z.ZodObject<{
210
+ kind: z.ZodLiteral<"webhook">;
211
+ secretId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
212
+ }, z.core.$strict>, z.ZodObject<{
213
+ kind: z.ZodLiteral<"event">;
214
+ eventType: z.ZodString;
215
+ source: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
216
+ payloadMatch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
217
+ }, z.core.$strict>], "kind">;
218
+ action: z.ZodDiscriminatedUnion<[z.ZodObject<{
219
+ kind: z.ZodLiteral<"agent">;
220
+ agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
221
+ instruction: z.ZodString;
222
+ workingDirectory: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
223
+ model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
224
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
225
+ }, z.core.$strict>, z.ZodObject<{
226
+ kind: z.ZodLiteral<"workflow">;
227
+ workflowId: z.ZodString;
228
+ agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
229
+ input: z.ZodOptional<z.ZodUnknown>;
230
+ inputEnvelope: z.ZodOptional<z.ZodObject<{
231
+ payload: z.ZodUnknown;
232
+ goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
233
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
234
+ context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
235
+ }, z.core.$strict>>;
236
+ goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
237
+ concurrency: z.ZodOptional<z.ZodNumber>;
238
+ maxSubagents: z.ZodOptional<z.ZodNumber>;
239
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
240
+ }, z.core.$strict>], "kind">;
241
+ safety: z.ZodOptional<z.ZodObject<{
242
+ mode: z.ZodEnum<{
243
+ suggest_only: "suggest_only";
244
+ ask_before_apply: "ask_before_apply";
245
+ auto_apply: "auto_apply";
246
+ }>;
247
+ }, z.core.$strict>>;
248
+ afterRun: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
249
+ kind: z.ZodLiteral<"none">;
250
+ }, z.core.$strict>, z.ZodObject<{
251
+ kind: z.ZodLiteral<"saveToSession">;
252
+ }, z.core.$strict>, z.ZodObject<{
253
+ kind: z.ZodLiteral<"webhook">;
254
+ url: z.ZodString;
255
+ }, z.core.$strict>], "kind">>;
256
+ reliability: z.ZodOptional<z.ZodObject<{
257
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
258
+ retryCount: z.ZodOptional<z.ZodNumber>;
259
+ maxConcurrentRuns: z.ZodOptional<z.ZodNumber>;
260
+ disableAfterConsecutiveFailures: z.ZodOptional<z.ZodNumber>;
261
+ }, z.core.$strict>>;
262
+ id: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
263
+ enabled: z.ZodOptional<z.ZodBoolean>;
264
+ state: z.ZodOptional<z.ZodObject<{
265
+ nextRunAtMs: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
266
+ runningRunId: z.ZodOptional<z.ZodPreprocess<z.ZodOptional<z.ZodString>>>;
267
+ lastRunAtMs: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
268
+ lastRunStatus: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
269
+ timeout: "timeout";
270
+ failed: "failed";
271
+ queued: "queued";
272
+ running: "running";
273
+ succeeded: "succeeded";
274
+ cancelled: "cancelled";
275
+ }>>>;
276
+ lastError: z.ZodOptional<z.ZodOptional<z.ZodString>>;
277
+ consecutiveFailures: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
278
+ }, z.core.$strict>>;
279
+ }, z.core.$strict>;
280
+ export declare const UpdateAutomationSchema: z.ZodObject<{
281
+ description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
282
+ enabled: z.ZodOptional<z.ZodBoolean>;
283
+ name: z.ZodOptional<z.ZodString>;
284
+ trigger: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
285
+ kind: z.ZodLiteral<"manual">;
286
+ }, z.core.$strict>, z.ZodObject<{
287
+ kind: z.ZodLiteral<"schedule">;
288
+ schedule: z.ZodDiscriminatedUnion<[z.ZodObject<{
289
+ kind: z.ZodLiteral<"once">;
290
+ at: z.ZodString;
291
+ }, z.core.$strict>, z.ZodObject<{
292
+ kind: z.ZodLiteral<"interval">;
293
+ everyMs: z.ZodNumber;
294
+ anchorMs: z.ZodOptional<z.ZodNumber>;
295
+ }, z.core.$strict>, z.ZodObject<{
296
+ kind: z.ZodLiteral<"cron">;
297
+ expr: z.ZodString;
298
+ tz: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
299
+ }, z.core.$strict>], "kind">;
300
+ }, z.core.$strict>, z.ZodObject<{
301
+ kind: z.ZodLiteral<"webhook">;
302
+ secretId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
303
+ }, z.core.$strict>, z.ZodObject<{
304
+ kind: z.ZodLiteral<"event">;
305
+ eventType: z.ZodString;
306
+ source: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
307
+ payloadMatch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
308
+ }, z.core.$strict>], "kind">>;
309
+ action: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
310
+ kind: z.ZodLiteral<"agent">;
311
+ agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
312
+ instruction: z.ZodString;
313
+ workingDirectory: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
314
+ model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
315
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
316
+ }, z.core.$strict>, z.ZodObject<{
317
+ kind: z.ZodLiteral<"workflow">;
318
+ workflowId: z.ZodString;
319
+ agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
320
+ input: z.ZodOptional<z.ZodUnknown>;
321
+ inputEnvelope: z.ZodOptional<z.ZodObject<{
322
+ payload: z.ZodUnknown;
323
+ goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
324
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
325
+ context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
326
+ }, z.core.$strict>>;
327
+ goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
328
+ concurrency: z.ZodOptional<z.ZodNumber>;
329
+ maxSubagents: z.ZodOptional<z.ZodNumber>;
330
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
331
+ }, z.core.$strict>], "kind">>;
332
+ state: z.ZodOptional<z.ZodDefault<z.ZodObject<{
333
+ nextRunAtMs: z.ZodOptional<z.ZodNumber>;
334
+ runningRunId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
335
+ lastRunAtMs: z.ZodOptional<z.ZodNumber>;
336
+ lastRunStatus: z.ZodOptional<z.ZodEnum<{
337
+ timeout: "timeout";
338
+ failed: "failed";
339
+ queued: "queued";
340
+ running: "running";
341
+ succeeded: "succeeded";
342
+ cancelled: "cancelled";
343
+ }>>;
344
+ lastError: z.ZodOptional<z.ZodString>;
345
+ consecutiveFailures: z.ZodOptional<z.ZodNumber>;
346
+ }, z.core.$strict>>>;
347
+ safety: z.ZodOptional<z.ZodOptional<z.ZodObject<{
348
+ mode: z.ZodEnum<{
349
+ suggest_only: "suggest_only";
350
+ ask_before_apply: "ask_before_apply";
351
+ auto_apply: "auto_apply";
352
+ }>;
353
+ }, z.core.$strict>>>;
354
+ afterRun: z.ZodOptional<z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
355
+ kind: z.ZodLiteral<"none">;
356
+ }, z.core.$strict>, z.ZodObject<{
357
+ kind: z.ZodLiteral<"saveToSession">;
358
+ }, z.core.$strict>, z.ZodObject<{
359
+ kind: z.ZodLiteral<"webhook">;
360
+ url: z.ZodString;
361
+ }, z.core.$strict>], "kind">>>;
362
+ reliability: z.ZodOptional<z.ZodOptional<z.ZodObject<{
363
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
364
+ retryCount: z.ZodOptional<z.ZodNumber>;
365
+ maxConcurrentRuns: z.ZodOptional<z.ZodNumber>;
366
+ disableAfterConsecutiveFailures: z.ZodOptional<z.ZodNumber>;
367
+ }, z.core.$strict>>>;
368
+ }, z.core.$strict>;
369
+ export type CreateAutomationInput = z.infer<typeof CreateAutomationSchema>;
370
+ export type UpdateAutomationInput = z.infer<typeof UpdateAutomationSchema>;
@@ -0,0 +1,149 @@
1
+ import { z } from "zod";
2
+ import { CronExpressionParser } from "cron-parser";
3
+ //#region src/automations/domain/validation.ts
4
+ const nonEmptyString = z.string().trim().min(1);
5
+ const optionalTrimmedString = (max) => z.preprocess((value) => {
6
+ if (value == null) return void 0;
7
+ if (typeof value !== "string") return value;
8
+ const trimmed = value.trim();
9
+ return trimmed.length === 0 ? void 0 : trimmed;
10
+ }, z.string().min(1).max(max).optional());
11
+ const AutomationScheduleSchema = z.discriminatedUnion("kind", [
12
+ z.object({
13
+ kind: z.literal("once"),
14
+ at: nonEmptyString
15
+ }).strict(),
16
+ z.object({
17
+ kind: z.literal("interval"),
18
+ everyMs: z.number().int().min(1),
19
+ anchorMs: z.number().int().nonnegative().optional()
20
+ }).strict(),
21
+ z.object({
22
+ kind: z.literal("cron"),
23
+ expr: nonEmptyString.superRefine((expr, ctx) => {
24
+ try {
25
+ CronExpressionParser.parse(expr);
26
+ } catch {
27
+ ctx.addIssue({
28
+ code: z.ZodIssueCode.custom,
29
+ message: `Invalid cron expression: ${expr}`
30
+ });
31
+ }
32
+ }),
33
+ tz: optionalTrimmedString(100)
34
+ }).strict()
35
+ ]);
36
+ const AutomationTriggerSchema = z.discriminatedUnion("kind", [
37
+ z.object({ kind: z.literal("manual") }).strict(),
38
+ z.object({
39
+ kind: z.literal("schedule"),
40
+ schedule: AutomationScheduleSchema
41
+ }).strict(),
42
+ z.object({
43
+ kind: z.literal("webhook"),
44
+ secretId: optionalTrimmedString(200)
45
+ }).strict(),
46
+ z.object({
47
+ kind: z.literal("event"),
48
+ eventType: nonEmptyString.max(200),
49
+ source: optionalTrimmedString(200),
50
+ payloadMatch: z.record(z.string(), z.union([
51
+ z.string(),
52
+ z.number(),
53
+ z.boolean(),
54
+ z.null()
55
+ ])).optional()
56
+ }).strict()
57
+ ]);
58
+ const WorkflowRunInputEnvelopeSchema = z.object({
59
+ payload: z.unknown(),
60
+ goal: optionalTrimmedString(5e3),
61
+ variables: z.record(z.string(), z.unknown()).optional(),
62
+ context: z.record(z.string(), z.unknown()).optional()
63
+ }).strict();
64
+ const AutomationActionSchema = z.discriminatedUnion("kind", [z.object({
65
+ kind: z.literal("agent"),
66
+ agentId: optionalTrimmedString(64),
67
+ instruction: nonEmptyString.max(5e4),
68
+ workingDirectory: optionalTrimmedString(4096),
69
+ model: optionalTrimmedString(100),
70
+ timeoutSeconds: z.number().int().min(1).max(86400).optional()
71
+ }).strict(), z.object({
72
+ kind: z.literal("workflow"),
73
+ workflowId: nonEmptyString.max(200),
74
+ agentId: optionalTrimmedString(64),
75
+ input: z.unknown().optional(),
76
+ inputEnvelope: WorkflowRunInputEnvelopeSchema.optional(),
77
+ goal: optionalTrimmedString(5e3),
78
+ concurrency: z.number().int().min(1).max(50).optional(),
79
+ maxSubagents: z.number().int().min(1).max(100).optional(),
80
+ timeoutSeconds: z.number().int().min(1).max(86400).optional()
81
+ }).strict()]);
82
+ const AutomationAfterRunSchema = z.discriminatedUnion("kind", [
83
+ z.object({ kind: z.literal("none") }).strict(),
84
+ z.object({ kind: z.literal("saveToSession") }).strict(),
85
+ z.object({
86
+ kind: z.literal("webhook"),
87
+ url: nonEmptyString.max(2e3)
88
+ }).strict()
89
+ ]);
90
+ const AutomationReliabilitySchema = z.object({
91
+ timeoutSeconds: z.number().int().min(1).max(86400).optional(),
92
+ retryCount: z.number().int().min(0).max(10).optional(),
93
+ maxConcurrentRuns: z.number().int().min(1).max(20).optional(),
94
+ disableAfterConsecutiveFailures: z.number().int().min(1).max(100).optional()
95
+ }).strict();
96
+ const AutomationSafetyPolicySchema = z.object({ mode: z.enum([
97
+ "suggest_only",
98
+ "ask_before_apply",
99
+ "auto_apply"
100
+ ]) }).strict();
101
+ const AutomationStateSchema = z.object({
102
+ nextRunAtMs: z.number().int().nonnegative().optional(),
103
+ runningRunId: optionalTrimmedString(100),
104
+ lastRunAtMs: z.number().int().nonnegative().optional(),
105
+ lastRunStatus: z.enum([
106
+ "queued",
107
+ "running",
108
+ "succeeded",
109
+ "failed",
110
+ "cancelled",
111
+ "timeout"
112
+ ]).optional(),
113
+ lastError: z.string().optional(),
114
+ consecutiveFailures: z.number().int().nonnegative().optional()
115
+ }).strict();
116
+ const AutomationSchema = z.object({
117
+ id: nonEmptyString.max(100),
118
+ name: nonEmptyString.max(200),
119
+ description: z.string().max(2e3).optional(),
120
+ enabled: z.boolean(),
121
+ trigger: AutomationTriggerSchema,
122
+ action: AutomationActionSchema,
123
+ safety: AutomationSafetyPolicySchema.optional(),
124
+ afterRun: AutomationAfterRunSchema.optional(),
125
+ reliability: AutomationReliabilitySchema.optional(),
126
+ state: AutomationStateSchema.default({}),
127
+ createdAtMs: z.number().int().nonnegative(),
128
+ updatedAtMs: z.number().int().nonnegative()
129
+ }).strict();
130
+ const CreateAutomationSchema = AutomationSchema.omit({
131
+ id: true,
132
+ enabled: true,
133
+ state: true,
134
+ createdAtMs: true,
135
+ updatedAtMs: true
136
+ }).extend({
137
+ id: optionalTrimmedString(100),
138
+ enabled: z.boolean().optional(),
139
+ state: AutomationStateSchema.partial().optional()
140
+ });
141
+ const UpdateAutomationSchema = AutomationSchema.omit({
142
+ id: true,
143
+ createdAtMs: true,
144
+ updatedAtMs: true
145
+ }).partial().refine((data) => Object.keys(data).length > 0, { message: "At least one field must be provided" });
146
+ //#endregion
147
+ export { AutomationActionSchema, AutomationAfterRunSchema, AutomationReliabilitySchema, AutomationSafetyPolicySchema, AutomationScheduleSchema, AutomationSchema, AutomationStateSchema, AutomationTriggerSchema, CreateAutomationSchema, UpdateAutomationSchema };
148
+
149
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","names":[],"sources":["../../../../src/automations/domain/validation.ts"],"sourcesContent":["import { CronExpressionParser } from 'cron-parser';\nimport { z } from 'zod';\n\nconst nonEmptyString = z.string().trim().min(1);\n\nconst optionalTrimmedString = (max: number) =>\n z.preprocess((value) => {\n if (value == null) return undefined;\n if (typeof value !== 'string') return value;\n const trimmed = value.trim();\n return trimmed.length === 0 ? undefined : trimmed;\n }, z.string().min(1).max(max).optional());\n\nexport const AutomationScheduleSchema = z.discriminatedUnion('kind', [\n z.object({\n kind: z.literal('once'),\n at: nonEmptyString,\n }).strict(),\n z.object({\n kind: z.literal('interval'),\n everyMs: z.number().int().min(1),\n anchorMs: z.number().int().nonnegative().optional(),\n }).strict(),\n z.object({\n kind: z.literal('cron'),\n expr: nonEmptyString.superRefine((expr, ctx) => {\n try {\n CronExpressionParser.parse(expr);\n } catch {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Invalid cron expression: ${expr}`,\n });\n }\n }),\n tz: optionalTrimmedString(100),\n }).strict(),\n]);\n\nexport const AutomationTriggerSchema = z.discriminatedUnion('kind', [\n z.object({ kind: z.literal('manual') }).strict(),\n z.object({\n kind: z.literal('schedule'),\n schedule: AutomationScheduleSchema,\n }).strict(),\n z.object({\n kind: z.literal('webhook'),\n secretId: optionalTrimmedString(200),\n }).strict(),\n z.object({\n kind: z.literal('event'),\n eventType: nonEmptyString.max(200),\n source: optionalTrimmedString(200),\n payloadMatch: z.record(\n z.string(),\n z.union([z.string(), z.number(), z.boolean(), z.null()]),\n ).optional(),\n }).strict(),\n]);\n\nconst WorkflowRunInputEnvelopeSchema = z.object({\n payload: z.unknown(),\n goal: optionalTrimmedString(5000),\n variables: z.record(z.string(), z.unknown()).optional(),\n context: z.record(z.string(), z.unknown()).optional(),\n}).strict();\n\nexport const AutomationActionSchema = z.discriminatedUnion('kind', [\n z.object({\n kind: z.literal('agent'),\n agentId: optionalTrimmedString(64),\n instruction: nonEmptyString.max(50000),\n workingDirectory: optionalTrimmedString(4096),\n model: optionalTrimmedString(100),\n timeoutSeconds: z.number().int().min(1).max(86400).optional(),\n }).strict(),\n z.object({\n kind: z.literal('workflow'),\n workflowId: nonEmptyString.max(200),\n agentId: optionalTrimmedString(64),\n input: z.unknown().optional(),\n inputEnvelope: WorkflowRunInputEnvelopeSchema.optional(),\n goal: optionalTrimmedString(5000),\n concurrency: z.number().int().min(1).max(50).optional(),\n maxSubagents: z.number().int().min(1).max(100).optional(),\n timeoutSeconds: z.number().int().min(1).max(86400).optional(),\n }).strict(),\n]);\n\nexport const AutomationAfterRunSchema = z.discriminatedUnion('kind', [\n z.object({ kind: z.literal('none') }).strict(),\n z.object({ kind: z.literal('saveToSession') }).strict(),\n z.object({\n kind: z.literal('webhook'),\n url: nonEmptyString.max(2000),\n }).strict(),\n]);\n\nexport const AutomationReliabilitySchema = z.object({\n timeoutSeconds: z.number().int().min(1).max(86400).optional(),\n retryCount: z.number().int().min(0).max(10).optional(),\n maxConcurrentRuns: z.number().int().min(1).max(20).optional(),\n disableAfterConsecutiveFailures: z.number().int().min(1).max(100).optional(),\n}).strict();\n\nexport const AutomationSafetyPolicySchema = z.object({\n mode: z.enum(['suggest_only', 'ask_before_apply', 'auto_apply']),\n}).strict();\n\nexport const AutomationStateSchema = z.object({\n nextRunAtMs: z.number().int().nonnegative().optional(),\n runningRunId: optionalTrimmedString(100),\n lastRunAtMs: z.number().int().nonnegative().optional(),\n lastRunStatus: z.enum(['queued', 'running', 'succeeded', 'failed', 'cancelled', 'timeout']).optional(),\n lastError: z.string().optional(),\n consecutiveFailures: z.number().int().nonnegative().optional(),\n}).strict();\n\nexport const AutomationSchema = z.object({\n id: nonEmptyString.max(100),\n name: nonEmptyString.max(200),\n description: z.string().max(2000).optional(),\n enabled: z.boolean(),\n trigger: AutomationTriggerSchema,\n action: AutomationActionSchema,\n safety: AutomationSafetyPolicySchema.optional(),\n afterRun: AutomationAfterRunSchema.optional(),\n reliability: AutomationReliabilitySchema.optional(),\n state: AutomationStateSchema.default({}),\n createdAtMs: z.number().int().nonnegative(),\n updatedAtMs: z.number().int().nonnegative(),\n}).strict();\n\nexport const CreateAutomationSchema = AutomationSchema.omit({\n id: true,\n enabled: true,\n state: true,\n createdAtMs: true,\n updatedAtMs: true,\n}).extend({\n id: optionalTrimmedString(100),\n enabled: z.boolean().optional(),\n state: AutomationStateSchema.partial().optional(),\n});\n\nexport const UpdateAutomationSchema = AutomationSchema.omit({\n id: true,\n createdAtMs: true,\n updatedAtMs: true,\n}).partial().refine(\n (data) => Object.keys(data).length > 0,\n { message: 'At least one field must be provided' },\n);\n\nexport type CreateAutomationInput = z.infer<typeof CreateAutomationSchema>;\nexport type UpdateAutomationInput = z.infer<typeof UpdateAutomationSchema>;\n"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export interface AutomationDraftRepairIssue {
2
+ source: 'parse' | 'validation';
3
+ severity: 'error';
4
+ message: string;
5
+ }
6
+ export declare function buildAutomationDraftPrompt(params: {
7
+ prompt: string;
8
+ language?: 'en' | 'zh';
9
+ }): string;
10
+ export declare function buildAutomationDraftRepairPrompt(params: {
11
+ prompt: string;
12
+ language?: 'en' | 'zh';
13
+ previousOutput: string;
14
+ issues: AutomationDraftRepairIssue[];
15
+ }): string;
16
+ export declare function buildAutomationRunRepairPrompt(params: {
17
+ language?: 'en' | 'zh';
18
+ automation: unknown;
19
+ run: unknown;
20
+ events: unknown[];
21
+ }): string;
22
+ export declare function buildAutomationRunRepairRetryPrompt(params: {
23
+ language?: 'en' | 'zh';
24
+ previousOutput: string;
25
+ issues: AutomationDraftRepairIssue[];
26
+ }): string;