@xopcai/xopc 0.0.118 → 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.
- package/README.md +2 -1
- package/README.zh-CN.md +2 -1
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-dzUrQoeZ.js → agent-avatar-dicebear-CU8J6zou.js} +1 -1
- package/dist/gateway/static/root/assets/agents-B0hkpLhP.js +2 -0
- package/dist/gateway/static/root/assets/app-management-settings-panel-B9vfYoEr.js +1 -0
- package/dist/gateway/static/root/assets/appearance-settings-ClOzIO24.js +1 -0
- package/dist/gateway/static/root/assets/{apps-page--wMEL00f.js → apps-page-DU0dz9Zo.js} +1 -1
- package/dist/gateway/static/root/assets/{archive-plugin-Cki4SfU2.js → archive-plugin-BkVIgZzA.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-D-KnS2Do.js → attachment-load-CaCMWh1D.js} +1 -1
- package/dist/gateway/static/root/assets/automation-suggestion-card-DhGDpKP3.js +1 -0
- package/dist/gateway/static/root/assets/automations-page-CTedroVo.js +1 -0
- package/dist/gateway/static/root/assets/{binary-plugins-D2sgvJja.js → binary-plugins-B4TO_bsn.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-DIq-4Gvb.js → block-editor-DJRWwWNI.js} +28 -28
- package/dist/gateway/static/root/assets/browser-settings-page-FCDwOOBK.js +8 -0
- package/dist/gateway/static/root/assets/capability-presets-api-Befi89CL.js +1 -0
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-_G8eb2vJ.js +1 -0
- package/dist/gateway/static/root/assets/channel-recipient-api-BNSuJb5f.js +1 -0
- package/dist/gateway/static/root/assets/channels-settings-C3d5JBJX.js +1 -0
- package/dist/gateway/static/root/assets/cn-BQ_8x0bT.js +1 -0
- package/dist/gateway/static/root/assets/connectors-page-yaUNvt5u.js +2 -0
- package/dist/gateway/static/root/assets/cron-expression-B3B1eqnr.js +2 -0
- package/dist/gateway/static/root/assets/dreaming-settings-DNrdg1Ve.js +1 -0
- package/dist/gateway/static/root/assets/{extension-debug-page-DYu1KaFQ.js → extension-debug-page-DYh402XV.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-B3W6QwlZ.js → extension-page-Cr_TizrN.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-D7VQ-cxE.js → extension-settings-page-BU1KoKRj.js} +1 -1
- package/dist/gateway/static/root/assets/{fetch-B7xDPu-R.js → fetch-Y7AEX4H3.js} +1 -1
- package/dist/gateway/static/root/assets/format-cron-label-arqgGlVV.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-config-api-BTBLSeUu.js → gateway-config-api-RbMmAOpX.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-settings-C79wkXef.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-CYj9FWCp.js → gateway-startup-retry-DiD_Tx4N.js} +1 -1
- package/dist/gateway/static/root/assets/goal-detail-page-9paXuHdo.js +1 -0
- package/dist/gateway/static/root/assets/{goals-config-api-CQQgzPr3.js → goals-config-api-DqxVi0p5.js} +1 -1
- package/dist/gateway/static/root/assets/{goals-page-BHitvJAv.js → goals-page-CS0R-Af2.js} +2 -2
- package/dist/gateway/static/root/assets/goals-settings-CSuzZ8Ae.js +1 -0
- package/dist/gateway/static/root/assets/heartbeat-settings-DXPaYJm3.js +1 -0
- package/dist/gateway/static/root/assets/index-BoKafJIZ.js +191 -0
- package/dist/gateway/static/root/assets/index-CArhCcYn.css +1 -0
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-Dvg53qnd.js +1 -0
- package/dist/gateway/static/root/assets/{logs-page-C2Uqvae9.js → logs-page-DLXPcksQ.js} +2 -2
- package/dist/gateway/static/root/assets/{markdown-split-BwOFrJ2E.js → markdown-split-CpHxbtWJ.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-Cnz6Q5G6.js → media-plugins-SFPQRSxq.js} +1 -1
- package/dist/gateway/static/root/assets/messages-CrDHEbss.js +3 -0
- package/dist/gateway/static/root/assets/models-hub-panel-BDF2iyRk.js +2 -0
- package/dist/gateway/static/root/assets/note-detail-page-CSb_hwig.js +2 -0
- package/dist/gateway/static/root/assets/{note-image-lightbox-B-Svpmza.js → note-image-lightbox-BUYURRgn.js} +1 -1
- package/dist/gateway/static/root/assets/notes-page-BsIBSFyZ.js +1 -0
- package/dist/gateway/static/root/assets/{preview-open-alternatives-Bss4TiwP.js → preview-open-alternatives-BHz9iWYA.js} +1 -1
- package/dist/gateway/static/root/assets/remote-access-hub-CwzSovcS.js +1 -0
- package/dist/gateway/static/root/assets/{save-bar-controls-BRNjdgKq.js → save-bar-controls-CefkOlRg.js} +1 -1
- package/dist/gateway/static/root/assets/schedule-field-CmTRoOcE.js +1 -0
- package/dist/gateway/static/root/assets/{schema-form-Dub9sy8r.js → schema-form-FMKv1vGu.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-PHmX-NmA.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-BRAeKJN4.js +1 -0
- package/dist/gateway/static/root/assets/{settings-collapsible-section-BeFLavGi.js → settings-collapsible-section-BouO6JTi.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-form-section-dmyaPOTG.js → settings-form-section-D-4lBl6X.js} +1 -1
- package/dist/gateway/static/root/assets/settings-page-KKrbFjy8.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-layout-BJ4Gsef5.js +1 -0
- package/dist/gateway/static/root/assets/setup-status-panel-CrUjHPQo.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-C8glrdqe.js → share-preview-page-BDy2btRN.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-B18OBmH5.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-C28-2uKQ.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-Bm2ebkwl.js +2 -0
- package/dist/gateway/static/root/assets/system-settings-panel-CRngrlnZ.js +1 -0
- package/dist/gateway/static/root/assets/typed-models-lib-BltBc0b-.js +1 -0
- package/dist/gateway/static/root/assets/{use-channel-catalog-DqlWTsDb.js → use-channel-catalog-CjN-51e6.js} +1 -1
- package/dist/gateway/static/root/assets/user-profile-settings-panel-DJ1dKwZy.js +1 -0
- package/dist/gateway/static/root/assets/utils-B5M5-YvK.js +1 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-C73IVZeC.js → voice-api-key-field-CeEevm7z.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-player-store-C_ArLJPM.js → voice-player-store-B7ykUlHM.js} +1 -1
- package/dist/gateway/static/root/assets/workflow-run-setup-panel-C4PzUQjB.js +3 -0
- package/dist/gateway/static/root/assets/workflows-page-BL84_-Ky.js +18 -0
- package/dist/gateway/static/root/index.html +6 -7
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-manager.d.ts +4 -5
- package/dist/src/agent/agent-manager.js +4 -8
- package/dist/src/agent/agent-manager.js.map +1 -1
- package/dist/src/agent/embedded/run-for-session.js +102 -14
- package/dist/src/agent/embedded/run-for-session.js.map +1 -1
- package/dist/src/agent/fallback/candidates.d.ts +0 -8
- package/dist/src/agent/fallback/candidates.js.map +1 -1
- package/dist/src/agent/index.js +1 -1
- package/dist/src/agent/lifecycle/handlers/compaction.d.ts +1 -3
- package/dist/src/agent/lifecycle/handlers/compaction.js +1 -16
- package/dist/src/agent/lifecycle/handlers/compaction.js.map +1 -1
- package/dist/src/agent/lifecycle/progress.d.ts +0 -1
- package/dist/src/agent/lifecycle/progress.js +1 -6
- package/dist/src/agent/lifecycle/progress.js.map +1 -1
- package/dist/src/agent/lifecycle/timeout-wrapper.d.ts +1 -2
- package/dist/src/agent/lifecycle/timeout-wrapper.js +1 -7
- package/dist/src/agent/lifecycle/timeout-wrapper.js.map +1 -1
- package/dist/src/agent/middleware/self-verify.d.ts +0 -1
- package/dist/src/agent/middleware/self-verify.js +0 -2
- package/dist/src/agent/middleware/self-verify.js.map +1 -1
- package/dist/src/agent/models/index.d.ts +1 -1
- package/dist/src/agent/models/manager.d.ts +4 -20
- package/dist/src/agent/models/manager.js +9 -126
- package/dist/src/agent/models/manager.js.map +1 -1
- package/dist/src/agent/orchestration/agent-orchestrator.d.ts +0 -4
- package/dist/src/agent/orchestration/agent-orchestrator.js +1 -9
- package/dist/src/agent/orchestration/agent-orchestrator.js.map +1 -1
- package/dist/src/agent/prompt/sections/tooling.js +2 -2
- package/dist/src/agent/prompt/sections/tooling.js.map +1 -1
- package/dist/src/agent/prompt/service-prompt-builder.d.ts +0 -1
- package/dist/src/agent/prompt/service-prompt-builder.js +0 -12
- package/dist/src/agent/prompt/service-prompt-builder.js.map +1 -1
- package/dist/src/agent/prompt/subagent-context.js +1 -1
- package/dist/src/agent/prompt/subagent-context.js.map +1 -1
- package/dist/src/agent/prompt/types.d.ts +1 -1
- package/dist/src/agent/service.d.ts +1 -9
- package/dist/src/agent/service.js +3 -40
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/service.types.d.ts +2 -2
- package/dist/src/agent/session/session-config-service.d.ts +11 -11
- package/dist/src/agent/session/session-config-service.js +14 -14
- package/dist/src/agent/session/session-config-service.js.map +1 -1
- package/dist/src/agent/session/session-inspector.js +3 -2
- package/dist/src/agent/session/session-inspector.js.map +1 -1
- package/dist/src/agent/starter-agents.js +12 -12
- package/dist/src/agent/starter-agents.js.map +1 -1
- package/dist/src/agent/tools/automation-tool.d.ts +14 -0
- package/dist/src/agent/tools/automation-tool.js +102 -0
- package/dist/src/agent/tools/automation-tool.js.map +1 -0
- package/dist/src/agent/tools/delegate-tool.js +1 -1
- package/dist/src/agent/tools/delegate-tool.js.map +1 -1
- package/dist/src/agent/tools/factory.d.ts +3 -3
- package/dist/src/agent/tools/factory.js +2 -2
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/index.d.ts +1 -1
- package/dist/src/agent/tools/index.js +2 -2
- package/dist/src/agent-manifest/resolver.d.ts +1 -0
- package/dist/src/agent-manifest/resolver.js +1 -0
- package/dist/src/agent-manifest/resolver.js.map +1 -1
- package/dist/src/agent-manifest/schema.d.ts +6 -0
- package/dist/src/agent-manifest/schema.js +12 -3
- package/dist/src/agent-manifest/schema.js.map +1 -1
- package/dist/src/ai-assist/text-assist.d.ts +1 -1
- package/dist/src/ai-assist/text-assist.js +56 -0
- package/dist/src/ai-assist/text-assist.js.map +1 -1
- package/dist/src/auth/profiles/store.js.map +1 -1
- package/dist/src/automations/api/routes.d.ts +3 -0
- package/dist/src/automations/api/routes.js +193 -0
- package/dist/src/automations/api/routes.js.map +1 -0
- package/dist/src/automations/domain/index.d.ts +3 -0
- package/dist/src/automations/domain/index.js +3 -0
- package/dist/src/automations/domain/schedule.d.ts +4 -0
- package/dist/src/automations/domain/schedule.js +37 -0
- package/dist/src/automations/domain/schedule.js.map +1 -0
- package/dist/src/automations/domain/types.d.ts +160 -0
- package/dist/src/automations/domain/validation.d.ts +370 -0
- package/dist/src/automations/domain/validation.js +149 -0
- package/dist/src/automations/domain/validation.js.map +1 -0
- package/dist/src/automations/draft/automation-draft-prompt.d.ts +26 -0
- package/dist/src/automations/draft/automation-draft-prompt.js +127 -0
- package/dist/src/automations/draft/automation-draft-prompt.js.map +1 -0
- package/dist/src/automations/draft/automation-draft-service.d.ts +12 -0
- package/dist/src/automations/draft/automation-draft-service.js +135 -0
- package/dist/src/automations/draft/automation-draft-service.js.map +1 -0
- package/dist/src/automations/draft/automation-draft-validator.d.ts +99 -0
- package/dist/src/automations/draft/automation-draft-validator.js +105 -0
- package/dist/src/automations/draft/automation-draft-validator.js.map +1 -0
- package/dist/src/automations/draft/automation-draft.types.d.ts +40 -0
- package/dist/src/automations/draft/index.d.ts +3 -0
- package/dist/src/automations/draft/index.js +3 -0
- package/dist/src/automations/index.d.ts +3 -0
- package/dist/src/automations/index.js +8 -0
- package/dist/src/automations/product-events.d.ts +5 -0
- package/dist/src/automations/product-events.js +21 -0
- package/dist/src/automations/product-events.js.map +1 -0
- package/dist/src/automations/service/action-executor.d.ts +9 -0
- package/dist/src/automations/service/action-executor.js +157 -0
- package/dist/src/automations/service/action-executor.js.map +1 -0
- package/dist/src/automations/service/automation-service.d.ts +54 -0
- package/dist/src/automations/service/automation-service.js +404 -0
- package/dist/src/automations/service/automation-service.js.map +1 -0
- package/dist/src/automations/service/index.d.ts +2 -0
- package/dist/src/automations/service/index.js +3 -0
- package/dist/src/automations/storage/automation-repository.d.ts +6 -0
- package/dist/src/automations/storage/automation-repository.js +61 -0
- package/dist/src/automations/storage/automation-repository.js.map +1 -0
- package/dist/src/automations/storage/automation-run-repository.d.ts +17 -0
- package/dist/src/automations/storage/automation-run-repository.js +130 -0
- package/dist/src/automations/storage/automation-run-repository.js.map +1 -0
- package/dist/src/automations/storage/index.d.ts +2 -0
- package/dist/src/automations/storage/index.js +3 -0
- package/dist/src/channels/plugin-types.d.ts +3 -0
- package/dist/src/chat-commands/builtins/thinking.js.map +1 -1
- package/dist/src/cli/command-catalog.js +0 -39
- package/dist/src/cli/command-catalog.js.map +1 -1
- package/dist/src/cli/command-loaders.js +0 -1
- package/dist/src/cli/command-loaders.js.map +1 -1
- package/dist/src/cli/command-manifest.js +0 -4
- package/dist/src/cli/command-manifest.js.map +1 -1
- package/dist/src/cli/commands/agents.js +7 -6
- package/dist/src/cli/commands/agents.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/doctor/checks/{cron-health.d.ts → migrations.d.ts} +1 -1
- package/dist/src/cli/commands/doctor/checks/migrations.js +40 -0
- package/dist/src/cli/commands/doctor/checks/migrations.js.map +1 -0
- package/dist/src/cli/commands/doctor/flow.js +2 -2
- package/dist/src/cli/commands/doctor/flow.js.map +1 -1
- package/dist/src/cli/commands/gateway/call.js +2 -2
- package/dist/src/cli/commands/gateway/call.js.map +1 -1
- package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
- package/dist/src/cli/commands/gateway/run-foreground.js +4 -2
- package/dist/src/cli/commands/gateway/run-foreground.js.map +1 -1
- package/dist/src/cli/commands/init.js +26 -8
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/tui.js +24 -2
- package/dist/src/cli/commands/tui.js.map +1 -1
- package/dist/src/cli/utils/init-workspace-core.js +2 -0
- package/dist/src/cli/utils/init-workspace-core.js.map +1 -1
- package/dist/src/commands/agents.config.d.ts +9 -0
- package/dist/src/commands/agents.config.js +40 -2
- package/dist/src/commands/agents.config.js.map +1 -1
- package/dist/src/config/agent-profile.js +4 -3
- package/dist/src/config/agent-profile.js.map +1 -1
- package/dist/src/config/agent-typed-models.js.map +1 -1
- package/dist/src/config/config-surface.d.ts +3 -0
- package/dist/src/config/index.d.ts +0 -1
- package/dist/src/config/index.js +3 -3
- package/dist/src/config/index.js.map +1 -1
- package/dist/src/config/paths.d.ts +0 -9
- package/dist/src/config/paths.js +1 -14
- package/dist/src/config/paths.js.map +1 -1
- package/dist/src/config/profile.js +0 -1
- package/dist/src/config/profile.js.map +1 -1
- package/dist/src/config/rules.js +0 -5
- package/dist/src/config/rules.js.map +1 -1
- package/dist/src/config/schema.d.ts +13 -12
- package/dist/src/config/schema.js +22 -26
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/config/web-patch.d.ts +0 -12
- package/dist/src/config/web-patch.js +2 -29
- package/dist/src/config/web-patch.js.map +1 -1
- package/dist/src/extensions/api.d.ts +2 -0
- package/dist/src/extensions/api.js +10 -0
- package/dist/src/extensions/api.js.map +1 -1
- package/dist/src/extensions/extension-registry-impl.d.ts +4 -1
- package/dist/src/extensions/extension-registry-impl.js +8 -0
- package/dist/src/extensions/extension-registry-impl.js.map +1 -1
- package/dist/src/extensions/loader.d.ts +3 -3
- package/dist/src/extensions/loader.js +3 -3
- package/dist/src/extensions/loader.js.map +1 -1
- package/dist/src/extensions/sdk/testing.d.ts +2 -0
- package/dist/src/extensions/sdk/testing.js +7 -0
- package/dist/src/extensions/sdk/testing.js.map +1 -1
- package/dist/src/extensions/types/core.d.ts +10 -1
- package/dist/src/extensions/types/index.d.ts +1 -1
- package/dist/src/extensions/types/{phase4.d.ts → registration.d.ts} +2 -2
- package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
- package/dist/src/gateway/agent-builtin-tools.js +1 -1
- package/dist/src/gateway/agent-builtin-tools.js.map +1 -1
- package/dist/src/gateway/agents-admin.d.ts +1 -0
- package/dist/src/gateway/agents-admin.js +13 -15
- package/dist/src/gateway/agents-admin.js.map +1 -1
- package/dist/src/gateway/capability-presets-admin.d.ts +1 -0
- package/dist/src/gateway/capability-presets-admin.js +19 -10
- package/dist/src/gateway/capability-presets-admin.js.map +1 -1
- package/dist/src/gateway/dreaming-automation-reconciler.d.ts +11 -0
- package/dist/src/gateway/dreaming-automation-reconciler.js +105 -0
- package/dist/src/gateway/dreaming-automation-reconciler.js.map +1 -0
- package/dist/src/gateway/heartbeat/service.d.ts +0 -2
- package/dist/src/gateway/heartbeat/service.js +0 -7
- package/dist/src/gateway/heartbeat/service.js.map +1 -1
- package/dist/src/gateway/hono/lib/config-payload.d.ts +5 -6
- package/dist/src/gateway/hono/lib/config-payload.js +2 -2
- package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
- package/dist/src/gateway/hono/routes/agents.js.map +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.d.ts +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +12 -6
- package/dist/src/gateway/hono/routes/config-patch/misc.js.map +1 -1
- package/dist/src/gateway/hono/routes/dreaming.js +27 -37
- package/dist/src/gateway/hono/routes/dreaming.js.map +1 -1
- package/dist/src/gateway/hono/routes/home.d.ts +2 -2
- package/dist/src/gateway/hono/routes/home.js +34 -25
- package/dist/src/gateway/hono/routes/home.js.map +1 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js +10 -6
- package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
- package/dist/src/gateway/hono/routes/migrations.d.ts +3 -0
- package/dist/src/gateway/hono/routes/migrations.js +35 -0
- package/dist/src/gateway/hono/routes/migrations.js.map +1 -0
- package/dist/src/gateway/hono/routes/public-gateway.js +2 -1
- package/dist/src/gateway/hono/routes/public-gateway.js.map +1 -1
- package/dist/src/gateway/hono/routes/sessions.js +14 -0
- package/dist/src/gateway/hono/routes/sessions.js.map +1 -1
- package/dist/src/gateway/run-loop.js +2 -0
- package/dist/src/gateway/run-loop.js.map +1 -1
- package/dist/src/gateway/security/operator-scopes.js +5 -1
- package/dist/src/gateway/security/operator-scopes.js.map +1 -1
- package/dist/src/gateway/service/config-coordinator.d.ts +4 -4
- package/dist/src/gateway/service/config-coordinator.js +14 -8
- package/dist/src/gateway/service/config-coordinator.js.map +1 -1
- package/dist/src/gateway/service/sessions-api.d.ts +2 -1
- package/dist/src/gateway/service/sessions-api.js +6 -1
- package/dist/src/gateway/service/sessions-api.js.map +1 -1
- package/dist/src/gateway/service.d.ts +7 -3
- package/dist/src/gateway/service.js +61 -27
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/goals/goal-service.js +45 -4
- package/dist/src/goals/goal-service.js.map +1 -1
- package/dist/src/infra/update-restart.js +1 -1
- package/dist/src/migrations/config/default-capability-preset.d.ts +10 -0
- package/dist/src/migrations/config/default-capability-preset.js +135 -0
- package/dist/src/migrations/config/default-capability-preset.js.map +1 -0
- package/dist/src/migrations/index.d.ts +4 -0
- package/dist/src/migrations/index.js +4 -0
- package/dist/src/migrations/registry.d.ts +8 -0
- package/dist/src/migrations/registry.js +18 -0
- package/dist/src/migrations/registry.js.map +1 -0
- package/dist/src/migrations/runner.d.ts +17 -0
- package/dist/src/migrations/runner.js +191 -0
- package/dist/src/migrations/runner.js.map +1 -0
- package/dist/src/migrations/types.d.ts +34 -0
- package/dist/src/notes/service.js +24 -1
- package/dist/src/notes/service.js.map +1 -1
- package/dist/src/providers/model-registry.d.ts +0 -1
- package/dist/src/providers/model-registry.js +0 -3
- package/dist/src/providers/model-registry.js.map +1 -1
- package/dist/src/routing/resolve-tui-session-key.d.ts +3 -0
- package/dist/src/routing/resolve-tui-session-key.js +14 -3
- package/dist/src/routing/resolve-tui-session-key.js.map +1 -1
- package/dist/src/session/transcript-outline.d.ts +47 -0
- package/dist/src/session/transcript-outline.js +481 -0
- package/dist/src/session/transcript-outline.js.map +1 -0
- package/dist/src/storage/sqlite/index.d.ts +0 -2
- package/dist/src/storage/sqlite/index.js +1 -3
- package/dist/src/storage/sqlite/migrations/016_automations.sql +47 -0
- package/dist/src/storage/sqlite/migrations/017_automation_run_events.sql +14 -0
- package/dist/src/storage/sqlite/migrations/018_automation_safety.sql +1 -0
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +3 -3
- package/dist/src/storage/sqlite/migrations/runner.js.map +1 -1
- package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/dist/src/storage/sqlite/schema.sql +56 -46
- package/dist/src/tui/backends/embedded-backend.d.ts +6 -0
- package/dist/src/tui/backends/embedded-backend.js +18 -7
- package/dist/src/tui/backends/embedded-backend.js.map +1 -1
- package/dist/src/tui/backends/gateway-sse-backend.d.ts +3 -0
- package/dist/src/tui/backends/gateway-sse-backend.js +14 -0
- package/dist/src/tui/backends/gateway-sse-backend.js.map +1 -1
- package/dist/src/tui/tui-backend.d.ts +4 -0
- package/dist/src/tui/tui-commands.d.ts +5 -0
- package/dist/src/tui/tui-commands.js +43 -0
- package/dist/src/tui/tui-commands.js.map +1 -1
- package/dist/src/tui/tui-transcript-tree.d.ts +1 -1
- package/dist/src/tui/tui-transcript-tree.js +17 -257
- package/dist/src/tui/tui-transcript-tree.js.map +1 -1
- package/dist/src/tui/tui-types.d.ts +2 -0
- package/dist/src/tui/tui-types.js.map +1 -1
- package/dist/src/tui/tui.js +7 -2
- package/dist/src/tui/tui.js.map +1 -1
- package/dist/src/workflows/domain/index.js +1 -1
- package/dist/src/workflows/domain/run.d.ts +7 -7
- package/dist/src/workflows/domain/run.js.map +1 -1
- package/dist/src/workflows/index.js +2 -2
- package/dist/src/workflows/service/workflow-run-service.d.ts +2 -0
- package/dist/src/workflows/service/workflow-run-service.js +31 -9
- package/dist/src/workflows/service/workflow-run-service.js.map +1 -1
- package/dist/src/workflows/service/workflow-run-service.types.d.ts +1 -1
- package/package.json +4 -2
- package/dist/gateway/static/root/assets/agents-BCxZbkOw.js +0 -2
- package/dist/gateway/static/root/assets/app-management-settings-panel-bxYJVJpx.js +0 -1
- package/dist/gateway/static/root/assets/appearance-settings-BCIykXlI.js +0 -1
- package/dist/gateway/static/root/assets/browser-settings-page-DRhKdn81.js +0 -8
- package/dist/gateway/static/root/assets/capability-presets-api-CorhiHlg.js +0 -1
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-qFx9Jtce.js +0 -1
- package/dist/gateway/static/root/assets/channels-settings-BAwAkqIA.js +0 -1
- package/dist/gateway/static/root/assets/cn-JdwAhgNB.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-BQLcfitM.js +0 -2
- package/dist/gateway/static/root/assets/createLucideIcon-DPHK1VkS.js +0 -1
- package/dist/gateway/static/root/assets/cron-api-qGwmL-24.js +0 -1
- package/dist/gateway/static/root/assets/cron-dreaming-jobs-nCMWCf0p.js +0 -1
- package/dist/gateway/static/root/assets/cron-page-BBWMAj8-.js +0 -3
- package/dist/gateway/static/root/assets/dreaming-settings-Dw89Obml.js +0 -1
- package/dist/gateway/static/root/assets/format-cron-label-BsotZDO5.js +0 -2
- package/dist/gateway/static/root/assets/format-interval-label-BzxafKxR.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-Cmwy58rS.js +0 -1
- package/dist/gateway/static/root/assets/goal-detail-page-l7mu5GWX.js +0 -1
- package/dist/gateway/static/root/assets/goals-settings-CYVY4NGp.js +0 -1
- package/dist/gateway/static/root/assets/heartbeat-config-api-DriO_CN9.js +0 -1
- package/dist/gateway/static/root/assets/heartbeat-settings-CUQTKxg7.js +0 -1
- package/dist/gateway/static/root/assets/index-C17Tsd_b.css +0 -1
- package/dist/gateway/static/root/assets/index-Cc41r16l.js +0 -191
- package/dist/gateway/static/root/assets/interval-presets-DFPCKW_W.js +0 -1
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-CcVcqstx.js +0 -1
- package/dist/gateway/static/root/assets/messages-B1iSKjiw.js +0 -3
- package/dist/gateway/static/root/assets/models-hub-panel-BfLfcta8.js +0 -2
- package/dist/gateway/static/root/assets/note-detail-page-BjwOQBfT.js +0 -2
- package/dist/gateway/static/root/assets/notes-page-DktdBiwB.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-rfVx96fq.js +0 -1
- package/dist/gateway/static/root/assets/schedule-field-CUCKODde.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-DbtMFuuH.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-5re5gAnP.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-D-WMyLlj.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-Cl-DEJAU.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-CyPVvbLt.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-CleTH1oz.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-Ck8hdXqR.js +0 -2
- package/dist/gateway/static/root/assets/system-settings-panel-DI-LN_8G.js +0 -1
- package/dist/gateway/static/root/assets/typed-models-lib-kX9duch4.js +0 -1
- package/dist/gateway/static/root/assets/user-profile-settings-panel-B-UFPMXy.js +0 -1
- package/dist/gateway/static/root/assets/utils-Dm0hKalR.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-BtFGp2y_.js +0 -18
- package/dist/src/agent/fallback/error.d.ts +0 -22
- package/dist/src/agent/fallback/error.js +0 -32
- package/dist/src/agent/fallback/error.js.map +0 -1
- package/dist/src/agent/fallback/index.d.ts +0 -5
- package/dist/src/agent/fallback/index.js +0 -9
- package/dist/src/agent/fallback/index.js.map +0 -1
- package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.d.ts +0 -29
- package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.js +0 -76
- package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.js.map +0 -1
- package/dist/src/agent/service/reconcile-dreaming-cron.d.ts +0 -6
- package/dist/src/agent/service/reconcile-dreaming-cron.js +0 -84
- package/dist/src/agent/service/reconcile-dreaming-cron.js.map +0 -1
- package/dist/src/agent/tools/cronjob-tool.d.ts +0 -29
- package/dist/src/agent/tools/cronjob-tool.js +0 -274
- package/dist/src/agent/tools/cronjob-tool.js.map +0 -1
- package/dist/src/cli/commands/cron-cli.d.ts +0 -2
- package/dist/src/cli/commands/cron-cli.js +0 -15
- package/dist/src/cli/commands/cron-cli.js.map +0 -1
- package/dist/src/cli/commands/cron.d.ts +0 -4
- package/dist/src/cli/commands/cron.js +0 -188
- package/dist/src/cli/commands/cron.js.map +0 -1
- package/dist/src/cli/commands/doctor/checks/cron-health.js +0 -35
- package/dist/src/cli/commands/doctor/checks/cron-health.js.map +0 -1
- package/dist/src/cron/execution-types.d.ts +0 -42
- package/dist/src/cron/executor.d.ts +0 -67
- package/dist/src/cron/executor.js +0 -669
- package/dist/src/cron/executor.js.map +0 -1
- package/dist/src/cron/index.d.ts +0 -7
- package/dist/src/cron/index.js +0 -7
- package/dist/src/cron/job-content.d.ts +0 -5
- package/dist/src/cron/job-content.js +0 -15
- package/dist/src/cron/job-content.js.map +0 -1
- package/dist/src/cron/run-log-store.d.ts +0 -12
- package/dist/src/cron/run-log-store.js +0 -58
- package/dist/src/cron/run-log-store.js.map +0 -1
- package/dist/src/cron/schedule.d.ts +0 -10
- package/dist/src/cron/schedule.js +0 -85
- package/dist/src/cron/schedule.js.map +0 -1
- package/dist/src/cron/service.d.ts +0 -58
- package/dist/src/cron/service.js +0 -419
- package/dist/src/cron/service.js.map +0 -1
- package/dist/src/cron/types.d.ts +0 -183
- package/dist/src/cron/validation.d.ts +0 -500
- package/dist/src/cron/validation.js +0 -192
- package/dist/src/cron/validation.js.map +0 -1
- package/dist/src/cron/workflow-run-completion.d.ts +0 -23
- package/dist/src/cron/workflow-run-completion.js +0 -72
- package/dist/src/cron/workflow-run-completion.js.map +0 -1
- package/dist/src/extensions/types/phase4.js +0 -1
- package/dist/src/gateway/hono/routes/cron.d.ts +0 -3
- package/dist/src/gateway/hono/routes/cron.js +0 -109
- package/dist/src/gateway/hono/routes/cron.js.map +0 -1
- package/dist/src/storage/sqlite/cron-job-repository.d.ts +0 -6
- package/dist/src/storage/sqlite/cron-job-repository.js +0 -70
- package/dist/src/storage/sqlite/cron-job-repository.js.map +0 -1
- package/dist/src/storage/sqlite/cron-run-repository.d.ts +0 -5
- package/dist/src/storage/sqlite/cron-run-repository.js +0 -96
- package/dist/src/storage/sqlite/cron-run-repository.js.map +0 -1
- /package/dist/src/{cron → automations/domain}/types.js +0 -0
- /package/dist/src/{config/defaults.d.ts → automations/draft/automation-draft.types.js} +0 -0
- /package/dist/src/{config/defaults.js → extensions/types/registration.js} +0 -0
- /package/dist/src/{cron/execution-types.js → migrations/types.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.js","names":[],"sources":["../../../../src/automations/api/routes.ts"],"sourcesContent":["import type { Hono } from 'hono';\n\nimport { resolveDefaultAgentId } from '../../agent/agent-scope.js';\nimport type { AuthenticatedRouteDeps } from '../../gateway/hono/routes/deps.js';\nimport { logRouteError } from '../../gateway/hono/lib/route-logger.js';\nimport { createLogger } from '../../utils/logger.js';\nimport { AutomationDraftService, simulateAutomation } from '../draft/index.js';\nimport type { CreateAutomationInput } from '../domain/validation.js';\nimport { AutomationAlreadyRunningError } from '../service/automation-service.js';\n\nconst log = createLogger('Gateway:Automations');\n\nfunction parseLimit(raw: string | undefined, fallback: number): number {\n const parsed = raw ? Number.parseInt(raw, 10) : fallback;\n return Number.isFinite(parsed) ? parsed : fallback;\n}\n\nexport function registerAutomationRoutes(authenticated: Hono, deps: AuthenticatedRouteDeps): void {\n const { service } = deps;\n\n authenticated.get('/api/automations', async (c) => {\n const automations = await service.automationServiceInstance.list();\n return c.json({ automations });\n });\n\n authenticated.post('/api/automations', async (c) => {\n try {\n const body = await c.req.json();\n const automation = await service.automationServiceInstance.create(body);\n return c.json({ automation }, 201);\n } catch (err) {\n logRouteError(log, c, err, 'gateway.route.automations', { operation: 'create' });\n return c.json({ error: err instanceof Error ? err.message : 'Failed to create automation' }, 400);\n }\n });\n\n authenticated.get('/api/automations/metrics', async (c) => {\n const metrics = await service.automationServiceInstance.getMetrics();\n return c.json(metrics);\n });\n\n authenticated.post('/api/automations/draft', async (c) => {\n const body = await c.req.json().catch(() => null) as {\n prompt?: unknown;\n agentId?: unknown;\n language?: unknown;\n } | null;\n const prompt = typeof body?.prompt === 'string' ? body.prompt.trim() : '';\n if (!prompt) return c.json({ error: 'prompt is required' }, 400);\n const agentId = typeof body?.agentId === 'string' && body.agentId.trim()\n ? body.agentId.trim()\n : resolveDefaultAgentId(service.currentConfig);\n const draftService = new AutomationDraftService({ config: service.currentConfig });\n try {\n const draft = await draftService.createDraft({\n prompt,\n agentId,\n language: body?.language === 'zh' ? 'zh' : 'en',\n }, c.req.raw.signal);\n return c.json({ draft }, 201);\n } catch (err) {\n logRouteError(log, c, err, 'gateway.route.automations', { operation: 'draft' });\n return c.json({ error: err instanceof Error ? err.message : 'Failed to create automation draft' }, 400);\n }\n });\n\n authenticated.post('/api/automations/simulate', async (c) => {\n try {\n const body = await c.req.json() as CreateAutomationInput;\n return c.json({ simulation: simulateAutomation(body) });\n } catch (err) {\n logRouteError(log, c, err, 'gateway.route.automations', { operation: 'simulate' });\n return c.json({ error: err instanceof Error ? err.message : 'Failed to simulate automation' }, 400);\n }\n });\n\n authenticated.get('/api/automation-runs', async (c) => {\n const automationId = c.req.query('automationId')?.trim();\n const runs = await service.automationServiceInstance.listRuns({\n automationId: automationId || undefined,\n limit: parseLimit(c.req.query('limit'), 50),\n });\n return c.json({ runs });\n });\n\n authenticated.get('/api/automation-runs/product-events', async (c) => {\n const eventType = c.req.query('eventType')?.trim();\n if (!eventType) return c.json({ error: 'eventType is required' }, 400);\n const payloadKey = c.req.query('payloadKey')?.trim();\n const payloadValue = c.req.query('payloadValue')?.trim();\n const items = await service.automationServiceInstance.listRunsForProductEvent({\n eventType,\n source: c.req.query('source')?.trim() || undefined,\n payloadKey: payloadKey || undefined,\n payloadValue: payloadValue || undefined,\n limit: parseLimit(c.req.query('limit'), 10),\n });\n return c.json({ items });\n });\n\n authenticated.get('/api/automation-runs/:runId', async (c) => {\n const run = await service.automationServiceInstance.getRun(c.req.param('runId'));\n if (!run) return c.json({ error: 'Run not found' }, 404);\n return c.json({ run });\n });\n\n authenticated.get('/api/automation-runs/:runId/events', async (c) => {\n const runId = c.req.param('runId');\n const run = await service.automationServiceInstance.getRun(runId);\n if (!run) return c.json({ error: 'Run not found' }, 404);\n const events = await service.automationServiceInstance.listRunEvents(runId);\n return c.json({ events });\n });\n\n authenticated.post('/api/automation-runs/:runId/rerun', async (c) => {\n try {\n const run = await service.automationServiceInstance.rerunFromRun(c.req.param('runId'));\n return c.json({ run }, 201);\n } catch (err) {\n if (err instanceof AutomationAlreadyRunningError) {\n return c.json({\n error: err.message,\n code: 'automation_already_running',\n automationId: err.automationId,\n runningRunId: err.runningRunId,\n }, 409);\n }\n logRouteError(log, c, err, 'gateway.route.automations', { operation: 'rerun' });\n return c.json({ error: err instanceof Error ? err.message : 'Failed to rerun automation' }, 400);\n }\n });\n\n authenticated.post('/api/automation-runs/:runId/repair-draft', async (c) => {\n const runId = c.req.param('runId');\n const run = await service.automationServiceInstance.getRun(runId);\n if (!run) return c.json({ error: 'Run not found' }, 404);\n if (!['failed', 'timeout', 'cancelled'].includes(run.status)) {\n return c.json({ error: 'Repair draft is only available for failed, timed out, or cancelled runs' }, 400);\n }\n const automation = await service.automationServiceInstance.get(run.automationId);\n if (!automation) return c.json({ error: 'Automation not found' }, 404);\n const body = await c.req.json().catch(() => null) as { agentId?: unknown; language?: unknown } | null;\n const agentId = typeof body?.agentId === 'string' && body.agentId.trim()\n ? body.agentId.trim()\n : resolveDefaultAgentId(service.currentConfig);\n const events = await service.automationServiceInstance.listRunEvents(runId);\n const draftService = new AutomationDraftService({ config: service.currentConfig });\n try {\n const repair = await draftService.createRepairDraft({\n agentId,\n automation,\n run,\n events,\n language: body?.language === 'zh' ? 'zh' : 'en',\n }, c.req.raw.signal);\n return c.json({ repair }, 201);\n } catch (err) {\n logRouteError(log, c, err, 'gateway.route.automations', { operation: 'repairDraft' });\n return c.json({ error: err instanceof Error ? err.message : 'Failed to create automation repair draft' }, 400);\n }\n });\n\n authenticated.post('/api/automation-runs/:runId/cancel', async (c) => {\n const cancelled = await service.automationServiceInstance.cancelRun(c.req.param('runId'));\n return c.json({ cancelled });\n });\n\n authenticated.get('/api/automations/:id', async (c) => {\n const automation = await service.automationServiceInstance.get(c.req.param('id'));\n if (!automation) return c.json({ error: 'Automation not found' }, 404);\n return c.json({ automation });\n });\n\n authenticated.patch('/api/automations/:id', async (c) => {\n try {\n const automation = await service.automationServiceInstance.update(c.req.param('id'), await c.req.json());\n if (!automation) return c.json({ error: 'Automation not found' }, 404);\n return c.json({ automation });\n } catch (err) {\n logRouteError(log, c, err, 'gateway.route.automations', { operation: 'update' });\n return c.json({ error: err instanceof Error ? err.message : 'Failed to update automation' }, 400);\n }\n });\n\n authenticated.delete('/api/automations/:id', async (c) => {\n const removed = await service.automationServiceInstance.remove(c.req.param('id'));\n return c.json({ removed });\n });\n\n authenticated.post('/api/automations/:id/run', async (c) => {\n try {\n const run = await service.automationServiceInstance.runNow(c.req.param('id'));\n return c.json({ run });\n } catch (err) {\n if (err instanceof AutomationAlreadyRunningError) {\n return c.json({\n error: err.message,\n code: 'automation_already_running',\n automationId: err.automationId,\n runningRunId: err.runningRunId,\n }, 409);\n }\n logRouteError(log, c, err, 'gateway.route.automations', { operation: 'run' });\n return c.json({ error: err instanceof Error ? err.message : 'Failed to run automation' }, 400);\n }\n });\n\n authenticated.post('/api/automations/:id/pause', async (c) => {\n const automation = await service.automationServiceInstance.pause(c.req.param('id'));\n if (!automation) return c.json({ error: 'Automation not found' }, 404);\n return c.json({ automation });\n });\n\n authenticated.post('/api/automations/:id/resume', async (c) => {\n const automation = await service.automationServiceInstance.resume(c.req.param('id'));\n if (!automation) return c.json({ error: 'Automation not found' }, 404);\n return c.json({ automation });\n });\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { computeNextAutomationRunAtMs, computeNextScheduleRunAtMs, timerDelayUntil } from "./schedule.js";
|
|
2
|
+
import { AutomationActionSchema, AutomationAfterRunSchema, AutomationReliabilitySchema, AutomationSafetyPolicySchema, AutomationScheduleSchema, AutomationSchema, AutomationStateSchema, AutomationTriggerSchema, CreateAutomationSchema, UpdateAutomationSchema } from "./validation.js";
|
|
3
|
+
export { AutomationActionSchema, AutomationAfterRunSchema, AutomationReliabilitySchema, AutomationSafetyPolicySchema, AutomationScheduleSchema, AutomationSchema, AutomationStateSchema, AutomationTriggerSchema, CreateAutomationSchema, UpdateAutomationSchema, computeNextAutomationRunAtMs, computeNextScheduleRunAtMs, timerDelayUntil };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Automation, AutomationSchedule } from './types.js';
|
|
2
|
+
export declare function computeNextAutomationRunAtMs(automation: Pick<Automation, 'enabled' | 'trigger'>, fromMs?: number): number | undefined;
|
|
3
|
+
export declare function computeNextScheduleRunAtMs(schedule: AutomationSchedule, fromMs?: number): number | undefined;
|
|
4
|
+
export declare function timerDelayUntil(targetMs: number, nowMs?: number): number;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { CronExpressionParser } from "cron-parser";
|
|
2
|
+
//#region src/automations/domain/schedule.ts
|
|
3
|
+
function parseAtMs(value) {
|
|
4
|
+
const ms = Date.parse(value);
|
|
5
|
+
return Number.isFinite(ms) ? ms : void 0;
|
|
6
|
+
}
|
|
7
|
+
function computeNextAutomationRunAtMs(automation, fromMs = Date.now()) {
|
|
8
|
+
if (!automation.enabled || automation.trigger.kind !== "schedule") return;
|
|
9
|
+
return computeNextScheduleRunAtMs(automation.trigger.schedule, fromMs);
|
|
10
|
+
}
|
|
11
|
+
function computeNextScheduleRunAtMs(schedule, fromMs = Date.now()) {
|
|
12
|
+
if (schedule.kind === "once") {
|
|
13
|
+
const atMs = parseAtMs(schedule.at);
|
|
14
|
+
return atMs != null && atMs > fromMs ? atMs : void 0;
|
|
15
|
+
}
|
|
16
|
+
if (schedule.kind === "interval") {
|
|
17
|
+
const anchor = schedule.anchorMs ?? fromMs;
|
|
18
|
+
if (anchor > fromMs) return anchor;
|
|
19
|
+
const elapsed = fromMs - anchor;
|
|
20
|
+
return anchor + (Math.floor(elapsed / schedule.everyMs) + 1) * schedule.everyMs;
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
return CronExpressionParser.parse(schedule.expr, {
|
|
24
|
+
currentDate: new Date(fromMs),
|
|
25
|
+
tz: schedule.tz
|
|
26
|
+
}).next().getTime();
|
|
27
|
+
} catch {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function timerDelayUntil(targetMs, nowMs = Date.now()) {
|
|
32
|
+
return Math.max(0, Math.min(targetMs - nowMs, 2 ** 31 - 1));
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { computeNextAutomationRunAtMs, computeNextScheduleRunAtMs, timerDelayUntil };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=schedule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule.js","names":[],"sources":["../../../../src/automations/domain/schedule.ts"],"sourcesContent":["import { CronExpressionParser } from 'cron-parser';\n\nimport type { Automation, AutomationSchedule } from './types.js';\n\nfunction parseAtMs(value: string): number | undefined {\n const ms = Date.parse(value);\n return Number.isFinite(ms) ? ms : undefined;\n}\n\nexport function computeNextAutomationRunAtMs(\n automation: Pick<Automation, 'enabled' | 'trigger'>,\n fromMs = Date.now(),\n): number | undefined {\n if (!automation.enabled || automation.trigger.kind !== 'schedule') {\n return undefined;\n }\n return computeNextScheduleRunAtMs(automation.trigger.schedule, fromMs);\n}\n\nexport function computeNextScheduleRunAtMs(\n schedule: AutomationSchedule,\n fromMs = Date.now(),\n): number | undefined {\n if (schedule.kind === 'once') {\n const atMs = parseAtMs(schedule.at);\n return atMs != null && atMs > fromMs ? atMs : undefined;\n }\n if (schedule.kind === 'interval') {\n const anchor = schedule.anchorMs ?? fromMs;\n if (anchor > fromMs) return anchor;\n const elapsed = fromMs - anchor;\n return anchor + (Math.floor(elapsed / schedule.everyMs) + 1) * schedule.everyMs;\n }\n try {\n return CronExpressionParser.parse(schedule.expr, {\n currentDate: new Date(fromMs),\n tz: schedule.tz,\n }).next().getTime();\n } catch {\n return undefined;\n }\n}\n\nexport function timerDelayUntil(targetMs: number, nowMs = Date.now()): number {\n return Math.max(0, Math.min(targetMs - nowMs, 2 ** 31 - 1));\n}\n\n"],"mappings":";;AAIA,SAAS,UAAU,OAAmC;CACpD,MAAM,KAAK,KAAK,MAAM,MAAM;AAC5B,QAAO,OAAO,SAAS,GAAG,GAAG,KAAK,KAAA;;AAGpC,SAAgB,6BACd,YACA,SAAS,KAAK,KAAK,EACC;AACpB,KAAI,CAAC,WAAW,WAAW,WAAW,QAAQ,SAAS,WACrD;AAEF,QAAO,2BAA2B,WAAW,QAAQ,UAAU,OAAO;;AAGxE,SAAgB,2BACd,UACA,SAAS,KAAK,KAAK,EACC;AACpB,KAAI,SAAS,SAAS,QAAQ;EAC5B,MAAM,OAAO,UAAU,SAAS,GAAG;AACnC,SAAO,QAAQ,QAAQ,OAAO,SAAS,OAAO,KAAA;;AAEhD,KAAI,SAAS,SAAS,YAAY;EAChC,MAAM,SAAS,SAAS,YAAY;AACpC,MAAI,SAAS,OAAQ,QAAO;EAC5B,MAAM,UAAU,SAAS;AACzB,SAAO,UAAU,KAAK,MAAM,UAAU,SAAS,QAAQ,GAAG,KAAK,SAAS;;AAE1E,KAAI;AACF,SAAO,qBAAqB,MAAM,SAAS,MAAM;GAC/C,aAAa,IAAI,KAAK,OAAO;GAC7B,IAAI,SAAS;GACd,CAAC,CAAC,MAAM,CAAC,SAAS;SACb;AACN;;;AAIJ,SAAgB,gBAAgB,UAAkB,QAAQ,KAAK,KAAK,EAAU;AAC5E,QAAO,KAAK,IAAI,GAAG,KAAK,IAAI,WAAW,OAAO,KAAK,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import type { WorkflowRunInputEnvelope } from '../../workflows/domain/index.js';
|
|
2
|
+
import type { StartWorkflowRunServiceParams, WorkflowRunServiceResult } from '../../workflows/service/workflow-run-service.types.js';
|
|
3
|
+
export type AutomationSchedule = {
|
|
4
|
+
kind: 'once';
|
|
5
|
+
at: string;
|
|
6
|
+
} | {
|
|
7
|
+
kind: 'interval';
|
|
8
|
+
everyMs: number;
|
|
9
|
+
anchorMs?: number;
|
|
10
|
+
} | {
|
|
11
|
+
kind: 'cron';
|
|
12
|
+
expr: string;
|
|
13
|
+
tz?: string;
|
|
14
|
+
};
|
|
15
|
+
export type AutomationTrigger = {
|
|
16
|
+
kind: 'manual';
|
|
17
|
+
} | {
|
|
18
|
+
kind: 'schedule';
|
|
19
|
+
schedule: AutomationSchedule;
|
|
20
|
+
} | {
|
|
21
|
+
kind: 'webhook';
|
|
22
|
+
secretId?: string;
|
|
23
|
+
} | {
|
|
24
|
+
kind: 'event';
|
|
25
|
+
eventType: string;
|
|
26
|
+
source?: string;
|
|
27
|
+
payloadMatch?: Record<string, string | number | boolean | null>;
|
|
28
|
+
};
|
|
29
|
+
export type AutomationAction = {
|
|
30
|
+
kind: 'agent';
|
|
31
|
+
agentId?: string;
|
|
32
|
+
instruction: string;
|
|
33
|
+
workingDirectory?: string;
|
|
34
|
+
model?: string;
|
|
35
|
+
timeoutSeconds?: number;
|
|
36
|
+
} | {
|
|
37
|
+
kind: 'workflow';
|
|
38
|
+
workflowId: string;
|
|
39
|
+
agentId?: string;
|
|
40
|
+
input?: unknown;
|
|
41
|
+
inputEnvelope?: WorkflowRunInputEnvelope;
|
|
42
|
+
goal?: string;
|
|
43
|
+
concurrency?: number;
|
|
44
|
+
maxSubagents?: number;
|
|
45
|
+
timeoutSeconds?: number;
|
|
46
|
+
};
|
|
47
|
+
export type AutomationAfterRun = {
|
|
48
|
+
kind: 'none';
|
|
49
|
+
} | {
|
|
50
|
+
kind: 'saveToSession';
|
|
51
|
+
} | {
|
|
52
|
+
kind: 'webhook';
|
|
53
|
+
url: string;
|
|
54
|
+
};
|
|
55
|
+
export interface AutomationReliability {
|
|
56
|
+
timeoutSeconds?: number;
|
|
57
|
+
retryCount?: number;
|
|
58
|
+
maxConcurrentRuns?: number;
|
|
59
|
+
disableAfterConsecutiveFailures?: number;
|
|
60
|
+
}
|
|
61
|
+
export type AutomationSafetyMode = 'suggest_only' | 'ask_before_apply' | 'auto_apply';
|
|
62
|
+
export interface AutomationSafetyPolicy {
|
|
63
|
+
mode: AutomationSafetyMode;
|
|
64
|
+
}
|
|
65
|
+
export interface AutomationState {
|
|
66
|
+
nextRunAtMs?: number;
|
|
67
|
+
runningRunId?: string;
|
|
68
|
+
lastRunAtMs?: number;
|
|
69
|
+
lastRunStatus?: AutomationRunStatus;
|
|
70
|
+
lastError?: string;
|
|
71
|
+
consecutiveFailures?: number;
|
|
72
|
+
}
|
|
73
|
+
export interface Automation {
|
|
74
|
+
id: string;
|
|
75
|
+
name: string;
|
|
76
|
+
description?: string;
|
|
77
|
+
enabled: boolean;
|
|
78
|
+
trigger: AutomationTrigger;
|
|
79
|
+
action: AutomationAction;
|
|
80
|
+
safety?: AutomationSafetyPolicy;
|
|
81
|
+
afterRun?: AutomationAfterRun;
|
|
82
|
+
reliability?: AutomationReliability;
|
|
83
|
+
state: AutomationState;
|
|
84
|
+
createdAtMs: number;
|
|
85
|
+
updatedAtMs: number;
|
|
86
|
+
}
|
|
87
|
+
export type AutomationRunStatus = 'queued' | 'running' | 'succeeded' | 'failed' | 'cancelled' | 'timeout';
|
|
88
|
+
export interface AutomationRun {
|
|
89
|
+
id: string;
|
|
90
|
+
automationId: string;
|
|
91
|
+
automationName: string;
|
|
92
|
+
status: AutomationRunStatus;
|
|
93
|
+
triggerSnapshot: AutomationTrigger;
|
|
94
|
+
actionSnapshot: AutomationAction;
|
|
95
|
+
manual: boolean;
|
|
96
|
+
createdAtMs: number;
|
|
97
|
+
startedAtMs?: number;
|
|
98
|
+
endedAtMs?: number;
|
|
99
|
+
durationMs?: number;
|
|
100
|
+
summary?: string;
|
|
101
|
+
error?: string;
|
|
102
|
+
sessionKey?: string;
|
|
103
|
+
workflowRunId?: string;
|
|
104
|
+
model?: string;
|
|
105
|
+
}
|
|
106
|
+
export type AutomationRunEventType = 'run.queued' | 'run.started' | 'action.started' | 'action.completed' | 'action.failed' | 'after_run.started' | 'after_run.completed' | 'after_run.failed' | 'run.completed';
|
|
107
|
+
export interface AutomationRunEvent {
|
|
108
|
+
id: string;
|
|
109
|
+
runId: string;
|
|
110
|
+
automationId: string;
|
|
111
|
+
type: AutomationRunEventType;
|
|
112
|
+
message: string;
|
|
113
|
+
data?: unknown;
|
|
114
|
+
createdAtMs: number;
|
|
115
|
+
}
|
|
116
|
+
export interface AutomationProductEventRun {
|
|
117
|
+
run: AutomationRun;
|
|
118
|
+
triggerEvent: AutomationRunEvent;
|
|
119
|
+
}
|
|
120
|
+
export interface AutomationEvent {
|
|
121
|
+
type: string;
|
|
122
|
+
source?: string;
|
|
123
|
+
payload?: Record<string, unknown>;
|
|
124
|
+
occurredAtMs?: number;
|
|
125
|
+
}
|
|
126
|
+
export interface AutomationMetrics {
|
|
127
|
+
totalAutomations: number;
|
|
128
|
+
enabledAutomations: number;
|
|
129
|
+
runningRuns: number;
|
|
130
|
+
failedLastHour: number;
|
|
131
|
+
nextRun?: {
|
|
132
|
+
automationId: string;
|
|
133
|
+
name: string;
|
|
134
|
+
runAtMs: number;
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
export interface AutomationDeps {
|
|
138
|
+
agentService?: {
|
|
139
|
+
sessionConfig?: {
|
|
140
|
+
applyAutomationWorkingDirectory?: (sessionKey: string, workingDirectory: string | undefined) => Promise<void>;
|
|
141
|
+
applyAutomationModelOverride?: (sessionKey: string, model: string | undefined) => Promise<boolean>;
|
|
142
|
+
};
|
|
143
|
+
turnDispatcher?: {
|
|
144
|
+
processDirect: (message: string, sessionKey: string) => Promise<string>;
|
|
145
|
+
};
|
|
146
|
+
getModelForSession?: (sessionKey: string) => string | undefined;
|
|
147
|
+
};
|
|
148
|
+
getDefaultAgentId?: () => string;
|
|
149
|
+
workflowRunService?: {
|
|
150
|
+
startWorkflowRun(params: StartWorkflowRunServiceParams): Promise<WorkflowRunServiceResult>;
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
export interface AutomationActionOutcome {
|
|
154
|
+
status: 'succeeded' | 'failed' | 'timeout' | 'cancelled';
|
|
155
|
+
summary?: string;
|
|
156
|
+
error?: string;
|
|
157
|
+
sessionKey?: string;
|
|
158
|
+
workflowRunId?: string;
|
|
159
|
+
model?: string;
|
|
160
|
+
}
|
|
@@ -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>;
|