@xopcai/xopc 0.0.125 → 0.0.126
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 +56 -102
- package/README.zh-CN.md +51 -98
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/feishu/src/schema/config-schema.d.ts +6 -6
- package/dist/extensions/feishu/src/workflow-progress.js +1 -1
- package/dist/extensions/telegram/src/adapters/streaming-adapter.js +1 -1
- package/dist/extensions/telegram/src/config-schema.d.ts +8 -8
- package/dist/extensions/telegram/src/inbound-processor.js +1 -1
- package/dist/extensions/telegram/src/plugin.js +1 -1
- package/dist/extensions/telegram/src/routing-integration.js +2 -2
- package/dist/extensions/telegram/src/workflow-progress.js +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/extensions/weixin/src/api/api.js +1 -1
- package/dist/extensions/weixin/src/config-schema.d.ts +3 -3
- package/dist/extensions/weixin/src/plugin.js +1 -1
- package/dist/extensions/weixin/src/workflow-progress.js +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-BKDKICZV.js → agent-avatar-dicebear-C70vgt60.js} +1 -1
- package/dist/gateway/static/root/assets/agents-DRYVahI-.js +2 -0
- package/dist/gateway/static/root/assets/{app-management-settings-panel-DI4BqHKW.js → app-management-settings-panel-D9-HW6cy.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-6_ie3NQ4.js → appearance-settings-BHlahIDL.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page-BdJ1eQg3.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-kUHEJ1HK.js → archive-plugin-B-aoIt0w.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-Dm-9prpU.js → attachment-load-BD0G0FD5.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-suggestion-card-OTxQTPnC.js → automation-suggestion-card-iJRVI7aZ.js} +1 -1
- package/dist/gateway/static/root/assets/automations-page-D8hYQbkl.js +4 -0
- package/dist/gateway/static/root/assets/{binary-plugins-DllA_jQ0.js → binary-plugins-B0mNlVSz.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-Cm6CWNj1.js → block-editor-CJY9Lu5G.js} +6 -6
- package/dist/gateway/static/root/assets/browser-settings-page-CiWEO-Iy.js +8 -0
- package/dist/gateway/static/root/assets/{capability-presets-api-VJ89b6I2.js → capability-presets-api-Bgc8ag55.js} +1 -1
- package/dist/gateway/static/root/assets/{capability-presets-settings-panel-BaPj8wC2.js → capability-presets-settings-panel-B1nIi0TC.js} +1 -1
- package/dist/gateway/static/root/assets/{channel-recipient-api-B5PwBEUx.js → channel-recipient-api-0sauApoC.js} +1 -1
- package/dist/gateway/static/root/assets/channels-settings-BddPdqVo.js +1 -0
- package/dist/gateway/static/root/assets/connectors-page-Ba2GDhSE.js +2 -0
- package/dist/gateway/static/root/assets/{directory-picker-path-field-DySMzOF6.js → directory-picker-path-field-CiEc4KmY.js} +1 -1
- package/dist/gateway/static/root/assets/{dreaming-settings-D_AjSnV_.js → dreaming-settings-4bvpk5wr.js} +2 -2
- package/dist/gateway/static/root/assets/{extension-debug-page-BaM0FpW7.js → extension-debug-page-BbyczVZ3.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-DuZWVOGA.js → extension-page-DLN1I3DR.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-DarVtbmJ.js → extension-settings-page-D9VGHmYJ.js} +1 -1
- package/dist/gateway/static/root/assets/{fetch-NFKfkqrd.js → fetch-5V96dUz3.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-api-CFEm9rgy.js → gateway-config-api-BtIzObwp.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-settings-BMk2S5td.js → gateway-settings-KFsGGDhg.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-Dtwh_yGg.js → gateway-startup-retry-DEMad2wt.js} +1 -1
- package/dist/gateway/static/root/assets/{goal-create-dialog-BKP7ylcG.js → goal-create-dialog-4PcF6Sh6.js} +1 -1
- package/dist/gateway/static/root/assets/goal-detail-page-B482PSaG.js +1 -0
- package/dist/gateway/static/root/assets/{goals-config-api-DTWZNA_Y.js → goals-config-api-CVN7-pdM.js} +1 -1
- package/dist/gateway/static/root/assets/{goals-page-CTmA3hWK.js → goals-page-CUdgJuDn.js} +2 -2
- package/dist/gateway/static/root/assets/{goals-settings-Bhct0ZT-.js → goals-settings-IYCH3-Pi.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-settings-C-UxSU4a.js → heartbeat-settings-Cf_a2Bmz.js} +1 -1
- package/dist/gateway/static/root/assets/index-CA2tR2vm.js +256 -0
- package/dist/gateway/static/root/assets/index-Ds3u0LOk.css +1 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-DCjy2y4d.js → keyboard-shortcuts-settings-lKTg6St7.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-BCporcNH.js +2 -0
- package/dist/gateway/static/root/assets/{markdown-split-BaqxP-GQ.js → markdown-split-Bv4k6iGJ.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-DQ_EXloK.js → media-plugins-Bbi8g3N8.js} +1 -1
- package/dist/gateway/static/root/assets/messages-C22hxE1N.js +3 -0
- package/dist/gateway/static/root/assets/models-hub-panel-D68Pyow7.js +2 -0
- package/dist/gateway/static/root/assets/notes-page-CuUMOiyv.js +1 -0
- package/dist/gateway/static/root/assets/notes-workbench-Dx2N5zTk.js +2 -0
- package/dist/gateway/static/root/assets/{page-tabs-EIZhLppK.js → page-tabs-Cp395RYD.js} +1 -1
- package/dist/gateway/static/root/assets/{preview-open-alternatives-r_uB4Epr.js → preview-open-alternatives-DqV5OM4m.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-sB8AzZi3.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-LBnJqWK2.js +1 -0
- package/dist/gateway/static/root/assets/remote-access-hub-Dbj0o6SC.js +1 -0
- package/dist/gateway/static/root/assets/{save-bar-controls-B132Uf-2.js → save-bar-controls-BItmzAzI.js} +1 -1
- package/dist/gateway/static/root/assets/{schedule-field-B5qshALm.js → schedule-field-BQ8IjjCn.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-CvLmkdS9.js → schema-form-BRpD6x3d.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-DhDZKspB.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-BvXLMNL6.js +1 -0
- package/dist/gateway/static/root/assets/{settings-collapsible-section-pRlvqsAf.js → settings-collapsible-section-BKSPQM4R.js} +1 -1
- package/dist/gateway/static/root/assets/settings-form-section-BmyfthNQ.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-Cfm9UxAr.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-layout-Bls5tfbH.js +1 -0
- package/dist/gateway/static/root/assets/setup-status-panel-kQEsTGAs.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-v6-IOp8t.js → share-preview-page-DbYZNAPb.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-BtR4B0kn.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-CJNVOWoK.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-DcWDHrt3.js +2 -0
- package/dist/gateway/static/root/assets/{system-settings-panel-HUU2FFjM.js → system-settings-panel-DKDAojWM.js} +1 -1
- package/dist/gateway/static/root/assets/{typed-models-lib-AH160QHh.js → typed-models-lib-BCCV4Kkp.js} +1 -1
- package/dist/gateway/static/root/assets/{use-channel-catalog-BXzDmjCQ.js → use-channel-catalog-NBqg3iFY.js} +1 -1
- package/dist/gateway/static/root/assets/{user-profile-settings-panel-DxwnQvQ3.js → user-profile-settings-panel-suQ2x-LB.js} +1 -1
- package/dist/gateway/static/root/assets/{utils-i5POEtqd.js → utils-DPGVr3tS.js} +1 -1
- package/dist/gateway/static/root/assets/voice-api-key-field-DaJASKFP.js +1 -0
- package/dist/gateway/static/root/assets/{work-item-detail-page-CD6FL_Rs.js → work-item-detail-page-BrCZpAWh.js} +1 -1
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-ClVVMgN-.js → workflow-run-setup-panel-BTkRVNAh.js} +2 -2
- package/dist/gateway/static/root/assets/{workflow-start-dialog-Dv4ZA1T0.js → workflow-start-dialog-DAImVtdO.js} +1 -1
- package/dist/gateway/static/root/assets/workflows-page-vyJ8wSXm.js +18 -0
- package/dist/gateway/static/root/index.html +5 -5
- package/dist/package.js +1 -1
- package/dist/src/activity/context.d.ts +11 -0
- package/dist/src/activity/context.js +36 -0
- package/dist/src/activity/context.js.map +1 -0
- package/dist/src/activity/emitter.d.ts +6 -0
- package/dist/src/activity/emitter.js +43 -0
- package/dist/src/activity/emitter.js.map +1 -0
- package/dist/src/activity/index.d.ts +3 -0
- package/dist/src/activity/index.js +3 -0
- package/dist/src/activity/service.d.ts +12 -0
- package/dist/src/activity/service.js +59 -0
- package/dist/src/activity/service.js.map +1 -0
- package/dist/src/activity/types.d.ts +109 -0
- package/dist/src/activity/types.js +1 -0
- package/dist/src/agent/agent-manager.d.ts +7 -0
- package/dist/src/agent/agent-manager.js +7 -4
- package/dist/src/agent/agent-manager.js.map +1 -1
- package/dist/src/agent/context/project-context.js +2 -2
- package/dist/src/agent/context/workspace-seed.js +2 -2
- package/dist/src/agent/embedded/run-for-session.js +1 -1
- package/dist/src/agent/goals/post-turn.js +2 -2
- package/dist/src/agent/ipc/bus.js +1 -1
- package/dist/src/agent/mcp/bundle-mcp-materialize.js +1 -1
- package/dist/src/agent/mcp/bundle-mcp-runtime.js +1 -1
- package/dist/src/agent/mcp/mcp-transport-config.js +1 -1
- package/dist/src/agent/mcp/mcp-transport.js +1 -1
- package/dist/src/agent/memory/plugin-discovery.js +1 -1
- package/dist/src/agent/models/manager.js +1 -1
- package/dist/src/agent/orchestration/agent-orchestrator.js +1 -1
- package/dist/src/agent/service.js +6 -3
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/service.types.d.ts +7 -0
- package/dist/src/agent/session/session-inspector.js +1 -1
- package/dist/src/agent/skills/hub-pull.js +1 -1
- package/dist/src/agent/tool-manuals/index.js +15 -6
- package/dist/src/agent/tool-manuals/index.js.map +1 -1
- package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -0
- package/dist/src/agent/tool-manuals/xopc-use.js +204 -0
- package/dist/src/agent/tool-manuals/xopc-use.js.map +1 -0
- package/dist/src/agent/tools/factory.d.ts +7 -0
- package/dist/src/agent/tools/factory.js +9 -0
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/goal-tool.js +2 -2
- package/dist/src/agent/tools/index.d.ts +1 -0
- package/dist/src/agent/tools/index.js +2 -1
- package/dist/src/agent/tools/workflow-tool.js +1 -1
- package/dist/src/agent/tools/xopc-use-tool.d.ts +34 -0
- package/dist/src/agent/tools/xopc-use-tool.js +636 -0
- package/dist/src/agent/tools/xopc-use-tool.js.map +1 -0
- package/dist/src/agent-manifest/schema.d.ts +27 -27
- package/dist/src/automations/api/routes.js +1 -1
- package/dist/src/automations/domain/validation.d.ts +55 -55
- package/dist/src/automations/draft/automation-draft-validator.d.ts +25 -25
- package/dist/src/automations/service/action-executor.js +2 -2
- package/dist/src/browser/cdp-local-launcher.js +1 -1
- package/dist/src/browser/providers/browser-ext-install.js +3 -3
- package/dist/src/browser/providers/cloakbrowser.js +2 -2
- package/dist/src/browser/providers/playwright-doctor.js +1 -1
- package/dist/src/browser/stealth.js +1 -1
- package/dist/src/chat-commands/agent-edit.js +1 -1
- package/dist/src/chat-commands/builtins/config.js +1 -1
- package/dist/src/chat-commands/builtins/goal.js +2 -2
- package/dist/src/chat-commands/context.js +1 -1
- package/dist/src/cli/commands/agent.js +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +2 -2
- package/dist/src/cli/commands/doctor/checks/session-integrity.js +1 -1
- package/dist/src/cli/commands/extension-marketplace.js +1 -1
- package/dist/src/cli/commands/extension-pack.js +1 -1
- package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
- package/dist/src/cli/commands/goal.js +3 -3
- package/dist/src/cli/commands/init.js +1 -1
- package/dist/src/cli/commands/project.js +4 -4
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/gateway-bind.js +1 -1
- package/dist/src/config/index.js +1 -1
- package/dist/src/config/loader.js +1 -1
- package/dist/src/config/models-json.d.ts +14 -14
- package/dist/src/config/models-json.js +1 -1
- package/dist/src/config/schema.d.ts +60 -60
- package/dist/src/daemon/launchd.js +1 -1
- package/dist/src/daemon/systemd.js +1 -1
- package/dist/src/extensions/discover-extensions.js +1 -1
- package/dist/src/extensions/loader.js +2 -2
- package/dist/src/gateway/agents-admin.js +1 -1
- package/dist/src/gateway/hono/lib/config-payload.d.ts +14 -14
- package/dist/src/gateway/hono/lib/static-ui.js +1 -1
- package/dist/src/gateway/hono/middleware/log-context.js +8 -1
- package/dist/src/gateway/hono/middleware/log-context.js.map +1 -1
- package/dist/src/gateway/hono/routes/activity.d.ts +14 -0
- package/dist/src/gateway/hono/routes/activity.js +72 -0
- package/dist/src/gateway/hono/routes/activity.js.map +1 -0
- package/dist/src/gateway/hono/routes/goals.js +1 -1
- package/dist/src/gateway/hono/routes/index.js +2 -0
- package/dist/src/gateway/hono/routes/index.js.map +1 -1
- package/dist/src/gateway/hono/routes/memory.js +2 -2
- package/dist/src/gateway/hono/routes/projects.js +65 -15
- package/dist/src/gateway/hono/routes/projects.js.map +1 -1
- package/dist/src/gateway/hono/routes/sessions.js +101 -2
- package/dist/src/gateway/hono/routes/sessions.js.map +1 -1
- package/dist/src/gateway/hono/routes/workflows.js +2 -2
- package/dist/src/gateway/lock.js +1 -1
- package/dist/src/gateway/ports.js +1 -1
- package/dist/src/gateway/service/sessions-api.d.ts +10 -0
- package/dist/src/gateway/service/sessions-api.js +31 -0
- package/dist/src/gateway/service/sessions-api.js.map +1 -1
- package/dist/src/gateway/service.js +12 -9
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/goals/goal-store.js +1 -1
- package/dist/src/goals/goal-store.js.map +1 -1
- package/dist/src/goals/goal-workflow-judge.js +1 -1
- package/dist/src/infra/ports.js +1 -1
- package/dist/src/infra/ssh-tunnel.js +1 -1
- package/dist/src/infra/update-check.js +1 -1
- package/dist/src/infra/update-restart.js +1 -1
- package/dist/src/mcp/channel-bridge.js +1 -1
- package/dist/src/migrations/runner.js +1 -1
- package/dist/src/notes/service.js +65 -6
- package/dist/src/notes/service.js.map +1 -1
- package/dist/src/notes/store.js +1 -1
- package/dist/src/projects/project-service.d.ts +2 -1
- package/dist/src/projects/project-service.js +59 -2
- package/dist/src/projects/project-service.js.map +1 -1
- package/dist/src/projects/project-store.d.ts +2 -1
- package/dist/src/projects/project-store.js +43 -0
- package/dist/src/projects/project-store.js.map +1 -1
- package/dist/src/projects/types.d.ts +10 -0
- package/dist/src/projects/workspace.js +1 -1
- package/dist/src/routing/agent-session-key.js +1 -1
- package/dist/src/routing/resolve-route.js +1 -1
- package/dist/src/routing/resolve-tui-session-key.js +1 -1
- package/dist/src/session/client-history.d.ts +3 -0
- package/dist/src/session/client-history.js +24 -9
- package/dist/src/session/client-history.js.map +1 -1
- package/dist/src/session/init-session-turn.js +1 -1
- package/dist/src/session/resolve-session.js +1 -1
- package/dist/src/session/session-title.js +2 -2
- package/dist/src/session/store.js +1 -1
- package/dist/src/session/types.d.ts +4 -0
- package/dist/src/session/types.js.map +1 -1
- package/dist/src/storage/sqlite/activity-repository.d.ts +8 -0
- package/dist/src/storage/sqlite/activity-repository.js +208 -0
- package/dist/src/storage/sqlite/activity-repository.js.map +1 -0
- package/dist/src/storage/sqlite/connection.js +1 -1
- package/dist/src/storage/sqlite/index.d.ts +1 -0
- package/dist/src/storage/sqlite/index.js +2 -1
- package/dist/src/storage/sqlite/migrations/024_activity_events.sql +62 -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/row-mappers.js +1 -1
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/dist/src/storage/sqlite/schema.sql +63 -0
- package/dist/src/storage/sqlite/session-repository.js +11 -0
- package/dist/src/storage/sqlite/session-repository.js.map +1 -1
- package/dist/src/tui/backends/embedded-backend.d.ts +13 -0
- package/dist/src/tui/backends/embedded-backend.js +76 -7
- package/dist/src/tui/backends/embedded-backend.js.map +1 -1
- package/dist/src/tui/backends/gateway-sse-backend.d.ts +13 -0
- package/dist/src/tui/backends/gateway-sse-backend.js +53 -0
- package/dist/src/tui/backends/gateway-sse-backend.js.map +1 -1
- package/dist/src/tui/chat-history.js +16 -3
- package/dist/src/tui/chat-history.js.map +1 -1
- package/dist/src/tui/clipboard-image.js +1 -1
- package/dist/src/tui/components/chat-log.d.ts +23 -3
- package/dist/src/tui/components/chat-log.js +68 -9
- package/dist/src/tui/components/chat-log.js.map +1 -1
- package/dist/src/tui/components/tui-bottom-bar.js +9 -5
- package/dist/src/tui/components/tui-bottom-bar.js.map +1 -1
- package/dist/src/tui/tui-backend.d.ts +16 -0
- package/dist/src/tui/tui-command-formatters.js +2 -2
- package/dist/src/tui/tui-commands.d.ts +9 -0
- package/dist/src/tui/tui-commands.js +95 -6
- package/dist/src/tui/tui-commands.js.map +1 -1
- package/dist/src/tui/tui-picker-overlay.d.ts +1 -0
- package/dist/src/tui/tui-picker-overlay.js +36 -1
- package/dist/src/tui/tui-picker-overlay.js.map +1 -1
- package/dist/src/tui/tui-picker-services.d.ts +13 -0
- package/dist/src/tui/tui-run-state.js +11 -0
- package/dist/src/tui/tui-run-state.js.map +1 -1
- package/dist/src/tui/tui-run-status-format.d.ts +3 -0
- package/dist/src/tui/tui-run-status-format.js +33 -0
- package/dist/src/tui/tui-run-status-format.js.map +1 -0
- package/dist/src/tui/tui-session-actions.d.ts +5 -0
- package/dist/src/tui/tui-session-actions.js +24 -0
- package/dist/src/tui/tui-session-actions.js.map +1 -1
- package/dist/src/tui/tui-timeline-picker.d.ts +19 -0
- package/dist/src/tui/tui-timeline-picker.js +81 -0
- package/dist/src/tui/tui-timeline-picker.js.map +1 -0
- package/dist/src/tui/tui-timeline.d.ts +15 -0
- package/dist/src/tui/tui-timeline.js +65 -0
- package/dist/src/tui/tui-timeline.js.map +1 -0
- package/dist/src/tui/tui-types.d.ts +1 -0
- package/dist/src/tui/tui-types.js +1 -0
- package/dist/src/tui/tui-types.js.map +1 -1
- package/dist/src/tui/tui.js +31 -25
- package/dist/src/tui/tui.js.map +1 -1
- package/dist/src/utils/index.js +1 -1
- package/dist/src/utils/logger/index.js +1 -1
- package/dist/src/utils/logger/stats.d.ts +3 -3
- package/dist/src/utils/logger.js +1 -1
- package/dist/src/work-items/agent-context.d.ts +5 -1
- package/dist/src/work-items/agent-context.js +39 -3
- package/dist/src/work-items/agent-context.js.map +1 -1
- package/dist/src/work-items/work-item-service.d.ts +2 -0
- package/dist/src/work-items/work-item-service.js +97 -0
- package/dist/src/work-items/work-item-service.js.map +1 -1
- package/dist/src/workflows/draft/workflow-draft-service.js +1 -1
- package/dist/src/workflows/service/workflow-session-bridge.js +1 -1
- package/package.json +5 -5
- package/dist/gateway/static/root/assets/agents-BnTB7-c5.js +0 -2
- package/dist/gateway/static/root/assets/apps-page-B6bG65SW.js +0 -1
- package/dist/gateway/static/root/assets/automations-page-1lVbo0dS.js +0 -1
- package/dist/gateway/static/root/assets/browser-settings-page-CzDBlOK0.js +0 -8
- package/dist/gateway/static/root/assets/channels-settings-Df4m7p1k.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-BMTphmHS.js +0 -2
- package/dist/gateway/static/root/assets/goal-detail-page-C2cTxf71.js +0 -1
- package/dist/gateway/static/root/assets/index-BNHDd2j1.css +0 -1
- package/dist/gateway/static/root/assets/index-BPXLPMuY.js +0 -193
- package/dist/gateway/static/root/assets/logs-page-CGc3_CQU.js +0 -2
- package/dist/gateway/static/root/assets/messages-CjuIJcZl.js +0 -3
- package/dist/gateway/static/root/assets/models-hub-panel-Drz4UQMb.js +0 -2
- package/dist/gateway/static/root/assets/notes-page-CY1ylng1.js +0 -1
- package/dist/gateway/static/root/assets/notes-workbench-X7IaD--t.js +0 -2
- package/dist/gateway/static/root/assets/project-detail-page-DE5adRBE.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-CuOb1k6F.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-BOxNrUVA.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-CY0IQcGW.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-D4NBNVCB.js +0 -1
- package/dist/gateway/static/root/assets/settings-form-section-BBYUDLVd.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-DaO7zYZM.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-layout-D8g9PAek.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-Bks0CLLT.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-CEZsKm9r.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-oTkHbb9W.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-DigsbZ6K.js +0 -2
- package/dist/gateway/static/root/assets/voice-api-key-field-CEJklEgb.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-OLQiUpoW.js +0 -18
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xopc-use-tool.js","names":[],"sources":["../../../../src/agent/tools/xopc-use-tool.ts"],"sourcesContent":["import { Type } from '@sinclair/typebox';\nimport type { AgentTool, AgentToolResult } from '@earendil-works/pi-agent-core';\n\nimport { runWithActivityContext } from '../../activity/index.js';\nimport type { Config } from '../../config/schema.js';\nimport type { NoteKind, NotesService, NoteStatus } from '../../notes/index.js';\nimport {\n isValidProjectAgentId,\n normalizeProjectAgentId,\n type ProjectService,\n type ProjectStatus,\n} from '../../projects/index.js';\nimport type {\n WorkItemPriority,\n WorkItemService,\n WorkItemStatus,\n} from '../../work-items/index.js';\nimport { getSessionMetadata } from '../../storage/sqlite/index.js';\n\nconst XopcUseToolSchema = Type.Object({\n mode: Type.Union([\n Type.Literal('project'),\n Type.Literal('note'),\n Type.Literal('work_item'),\n ]),\n command: Type.String({\n description:\n 'Object command. Supports project list/get/create/update/resolve_workspace, note list/get/create/append/update/preview_edit, and work_item list/get/create/update.',\n }),\n args: Type.Optional(Type.Record(Type.String(), Type.Any())),\n dryRun: Type.Optional(Type.Boolean({\n description: 'Validate and preview the action without mutating xopc state.',\n })),\n});\n\nexport type XopcUseMode = 'project' | 'note' | 'work_item';\n\nexport interface XopcUseToolInput {\n mode: XopcUseMode;\n command: string;\n args?: Record<string, unknown>;\n dryRun?: boolean;\n}\n\nexport interface XopcUseToolDeps {\n getConfig?: () => Config | undefined;\n getCurrentAgentId?: () => string | undefined;\n getCurrentSessionKey?: () => string | undefined;\n getNotesService?: () => NotesService | undefined;\n getProjectService?: () => ProjectService | undefined;\n getWorkItemService?: () => WorkItemService | undefined;\n}\n\ntype XopcUseDetails = {\n mode: XopcUseMode;\n command: string;\n dryRun: boolean;\n result?: unknown;\n};\n\nconst PROJECT_STATUSES = new Set<ProjectStatus>(['active', 'paused', 'archived']);\nconst NOTE_KINDS = new Set<NoteKind>(['thought', 'todo', 'voice', 'media', 'bookmark', 'mixed', 'task']);\nconst NOTE_STATUSES = new Set<NoteStatus>(['inbox', 'processed', 'archived', 'trashed']);\nconst WORK_ITEM_STATUSES = new Set<WorkItemStatus>([\n 'backlog',\n 'todo',\n 'in_progress',\n 'blocked',\n 'needs_input',\n 'in_review',\n 'done',\n 'cancelled',\n]);\nconst WORK_ITEM_PRIORITIES = new Set<WorkItemPriority>(['urgent', 'high', 'normal', 'low']);\n\nfunction okText(details: XopcUseDetails): AgentToolResult<XopcUseDetails> {\n return {\n content: [{ type: 'text', text: JSON.stringify(details.result ?? {}, null, 2) }],\n details,\n };\n}\n\nfunction errorText(message: string, details: XopcUseDetails): AgentToolResult<XopcUseDetails> {\n return {\n content: [{ type: 'text', text: `Error: ${message}` }],\n details: { ...details, result: { ok: false, error: message } },\n };\n}\n\nfunction trimString(value: unknown): string | undefined {\n return typeof value === 'string' && value.trim() ? value.trim() : undefined;\n}\n\nfunction optionalString(value: unknown): string | null | undefined {\n if (value === null) return null;\n if (typeof value === 'string') return value;\n return undefined;\n}\n\nfunction boundedLimit(value: unknown, fallback = 20, max = 100): number {\n const raw = typeof value === 'number' ? value : typeof value === 'string' ? Number(value) : fallback;\n if (!Number.isFinite(raw)) return fallback;\n return Math.max(1, Math.min(max, Math.floor(raw)));\n}\n\nfunction offset(value: unknown): number | undefined {\n const raw = typeof value === 'number' ? value : typeof value === 'string' ? Number(value) : undefined;\n return raw !== undefined && Number.isFinite(raw) ? Math.max(0, Math.floor(raw)) : undefined;\n}\n\nfunction enumValue<T extends string>(value: unknown, allowed: Set<T>): T | undefined {\n return typeof value === 'string' && allowed.has(value as T) ? value as T : undefined;\n}\n\nfunction finiteNumber(value: unknown): number | undefined {\n if (typeof value === 'number' && Number.isFinite(value)) return value;\n if (typeof value === 'string' && value.trim()) {\n const parsed = Number(value);\n if (Number.isFinite(parsed)) return parsed;\n }\n return undefined;\n}\n\nfunction stringArray(value: unknown): string[] | undefined {\n if (!Array.isArray(value)) return undefined;\n return value.filter((item): item is string => typeof item === 'string');\n}\n\nfunction nullableNumber(value: unknown): number | null | undefined {\n if (value === null) return null;\n return finiteNumber(value);\n}\n\nfunction ensureArgs(input: XopcUseToolInput): Record<string, unknown> {\n return input.args && typeof input.args === 'object' && !Array.isArray(input.args) ? input.args : {};\n}\n\nfunction currentProjectId(args: Record<string, unknown>, deps: XopcUseToolDeps): string | undefined {\n const explicit = trimString(args.projectId);\n if (explicit) return explicit;\n const sessionKey = trimString(args.sessionKey) ?? deps.getCurrentSessionKey?.();\n return sessionKey ? getSessionMetadata(sessionKey)?.projectId : undefined;\n}\n\nfunction projectWorkspaceRootArg(args: Record<string, unknown>): string | undefined {\n return trimString(args.workspaceRoot) ?? trimString(args.workspacePath) ?? trimString(args.path);\n}\n\nfunction optionalProjectWorkspaceRootArg(args: Record<string, unknown>): string | null | undefined {\n if (args.workspaceRoot !== undefined) return optionalString(args.workspaceRoot);\n if (args.workspacePath !== undefined) return optionalString(args.workspacePath);\n if (args.path !== undefined) return optionalString(args.path);\n return undefined;\n}\n\nfunction validateDefaultAgentId(raw: unknown, config: Config | undefined): string | null | undefined {\n if (raw === null) return null;\n const normalized = normalizeProjectAgentId(trimString(raw));\n if (!normalized) return undefined;\n if (config && !isValidProjectAgentId(config, normalized)) {\n throw new Error(`Default agent not found: ${normalized}`);\n }\n return normalized;\n}\n\nasync function handleProject(\n command: string,\n args: Record<string, unknown>,\n deps: XopcUseToolDeps,\n dryRun: boolean,\n): Promise<unknown> {\n const projects = deps.getProjectService?.();\n if (!projects) return { ok: false, error: 'Project service is unavailable' };\n\n if (command === 'list') {\n return {\n ok: true,\n ...projects.list({\n status: enumValue(args.status, PROJECT_STATUSES),\n search: trimString(args.search),\n sortBy: enumValue(args.sortBy, new Set(['updatedAt', 'createdAt', 'name'] as const)),\n sortOrder: enumValue(args.sortOrder, new Set(['asc', 'desc'] as const)),\n limit: boundedLimit(args.limit),\n offset: offset(args.offset),\n }),\n };\n }\n\n if (command === 'get') {\n const id = trimString(args.projectId) ?? trimString(args.id);\n if (!id) return { ok: false, error: 'projectId is required' };\n const project = projects.getWithDetails(id);\n return project ? { ok: true, project } : { ok: false, error: `Project not found: ${id}` };\n }\n\n if (command === 'resolve_workspace') {\n const workspacePath = projectWorkspaceRootArg(args);\n if (!workspacePath) return { ok: false, error: 'workspacePath is required' };\n const defaultAgentId = args.defaultAgentId !== undefined\n ? validateDefaultAgentId(args.defaultAgentId, deps.getConfig?.()) ?? undefined\n : undefined;\n const input = {\n workspacePath,\n agentId: trimString(args.agentId),\n defaultAgentId,\n autoCreate: args.autoCreate === true,\n };\n if (dryRun) return { ok: true, dryRun: true, action: 'resolve_project_workspace', input };\n const match = projects.resolveOrCreateForWorkspacePath(input);\n return match ? { ok: true, match } : { ok: false, error: 'No project matched workspace path' };\n }\n\n if (command === 'create') {\n const name = trimString(args.name);\n const workspaceRoot = projectWorkspaceRootArg(args);\n if (!name && !workspaceRoot) return { ok: false, error: 'name or workspaceRoot is required' };\n const input = {\n name,\n description: trimString(args.description),\n defaultAgentId: validateDefaultAgentId(args.defaultAgentId, deps.getConfig?.()) ?? undefined,\n workspaceRoot,\n createWorkspaceRoot: args.createWorkspaceRoot === true,\n projectKind: trimString(args.projectKind),\n brief: trimString(args.brief),\n instructions: trimString(args.instructions),\n };\n if (dryRun) return { ok: true, dryRun: true, action: 'create_project', input };\n const project = projects.create(input);\n return { ok: true, project };\n }\n\n if (command === 'update') {\n const id = trimString(args.projectId) ?? trimString(args.id);\n if (!id) return { ok: false, error: 'projectId is required' };\n const workspaceRoot = optionalProjectWorkspaceRootArg(args);\n const patch = {\n ...(args.name !== undefined ? { name: trimString(args.name) ?? '' } : {}),\n ...(args.description !== undefined ? { description: optionalString(args.description) } : {}),\n ...(args.status !== undefined ? { status: enumValue(args.status, PROJECT_STATUSES) } : {}),\n ...(args.defaultAgentId !== undefined ? { defaultAgentId: validateDefaultAgentId(args.defaultAgentId, deps.getConfig?.()) } : {}),\n ...(workspaceRoot !== undefined ? { workspaceRoot } : {}),\n ...(args.createWorkspaceRoot === true ? { createWorkspaceRoot: true } : {}),\n ...(args.brief !== undefined ? { brief: optionalString(args.brief) } : {}),\n ...(args.instructions !== undefined ? { instructions: optionalString(args.instructions) } : {}),\n };\n if (args.status !== undefined && patch.status === undefined) return { ok: false, error: 'Invalid project status' };\n if (dryRun) return { ok: true, dryRun: true, action: 'update_project', projectId: id, patch };\n const project = projects.update(id, patch);\n return { ok: true, project };\n }\n\n return { ok: false, error: `Unsupported project command: ${command}` };\n}\n\nasync function handleNote(\n command: string,\n args: Record<string, unknown>,\n deps: XopcUseToolDeps,\n dryRun: boolean,\n): Promise<unknown> {\n const notes = deps.getNotesService?.();\n if (!notes) return { ok: false, error: 'Notes service is unavailable' };\n\n if (command === 'list') {\n return {\n ok: true,\n ...(await notes.listNotes({\n status: enumValue(args.status, NOTE_STATUSES),\n kind: enumValue(args.kind, NOTE_KINDS),\n tag: trimString(args.tag),\n search: trimString(args.search),\n pinned: typeof args.pinned === 'boolean' ? args.pinned : undefined,\n limit: boundedLimit(args.limit),\n offset: offset(args.offset),\n sortBy: enumValue(args.sortBy, new Set(['createdAt', 'updatedAt', 'lastOpenedAt'] as const)),\n sortOrder: enumValue(args.sortOrder, new Set(['asc', 'desc'] as const)),\n })),\n };\n }\n\n if (command === 'get') {\n const id = trimString(args.noteId) ?? trimString(args.id);\n if (!id) return { ok: false, error: 'noteId is required' };\n const note = await notes.getNote(id);\n return note ? { ok: true, note } : { ok: false, error: `Note not found: ${id}` };\n }\n\n if (command === 'create') {\n const markdown = typeof args.markdown === 'string' ? args.markdown : trimString(args.content) ?? '';\n const input = {\n title: trimString(args.title),\n markdown,\n kind: enumValue(args.kind, NOTE_KINDS),\n tags: stringArray(args.tags),\n capturedVia: { channel: 'web' as const },\n pinned: args.pinned === true,\n };\n if (dryRun) return { ok: true, dryRun: true, action: 'create_note', input };\n const note = await notes.createNote(input);\n return { ok: true, note };\n }\n\n if (command === 'append') {\n const id = trimString(args.noteId) ?? trimString(args.id);\n const content = trimString(args.content);\n if (!id) return { ok: false, error: 'noteId is required' };\n if (!content) return { ok: false, error: 'content is required' };\n const heading = trimString(args.heading);\n if (dryRun) return { ok: true, dryRun: true, action: 'append_note', noteId: id, heading, content };\n const note = await notes.appendTextToNote(id, content, heading);\n return note ? { ok: true, note } : { ok: false, error: `Note not found: ${id}` };\n }\n\n if (command === 'preview_edit') {\n const id = trimString(args.noteId) ?? trimString(args.id);\n const instruction = trimString(args.instruction);\n if (!id) return { ok: false, error: 'noteId is required' };\n if (!instruction) return { ok: false, error: 'instruction is required' };\n const markdown = typeof args.markdown === 'string' ? args.markdown : undefined;\n const result = await notes.createAiEditPatch(id, instruction, markdown);\n return result ? { ok: true, ...result } : { ok: false, error: `Note not found: ${id}` };\n }\n\n if (command === 'update') {\n const id = trimString(args.noteId) ?? trimString(args.id);\n if (!id) return { ok: false, error: 'noteId is required' };\n if (args.title !== undefined && typeof args.title !== 'string') return { ok: false, error: 'Invalid note title' };\n if (args.markdown !== undefined && typeof args.markdown !== 'string') return { ok: false, error: 'Invalid note markdown' };\n if (args.tags !== undefined && !Array.isArray(args.tags)) return { ok: false, error: 'Invalid note tags' };\n const title = args.title as string | undefined;\n const markdown = args.markdown as string | undefined;\n const patch = {\n ...(args.title !== undefined ? { title } : {}),\n ...(args.markdown !== undefined ? { markdown } : {}),\n ...(args.kind !== undefined ? { kind: enumValue(args.kind, NOTE_KINDS) } : {}),\n ...(args.status !== undefined ? { status: enumValue(args.status, NOTE_STATUSES) } : {}),\n ...(args.tags !== undefined ? { tags: stringArray(args.tags) ?? [] } : {}),\n ...(typeof args.pinned === 'boolean' ? { pinned: args.pinned } : {}),\n };\n if (args.kind !== undefined && patch.kind === undefined) return { ok: false, error: 'Invalid note kind' };\n if (args.status !== undefined && patch.status === undefined) return { ok: false, error: 'Invalid note status' };\n if (dryRun) return { ok: true, dryRun: true, action: 'update_note', noteId: id, patch };\n const note = await notes.updateNote(id, patch, 'ai_edit');\n return note ? { ok: true, note } : { ok: false, error: `Note not found: ${id}` };\n }\n\n return { ok: false, error: `Unsupported note command: ${command}` };\n}\n\nasync function handleWorkItem(\n command: string,\n args: Record<string, unknown>,\n deps: XopcUseToolDeps,\n dryRun: boolean,\n): Promise<unknown> {\n const workItems = deps.getWorkItemService?.();\n if (!workItems) return { ok: false, error: 'Work item service is unavailable' };\n\n if (command === 'list') {\n const projectId = currentProjectId(args, deps);\n if (!projectId) return { ok: false, error: 'projectId is required' };\n return {\n ok: true,\n ...workItems.listProjectWorkItems(projectId, {\n status: enumValue(args.status, WORK_ITEM_STATUSES),\n priority: enumValue(args.priority, WORK_ITEM_PRIORITIES),\n includeArchived: args.includeArchived === true,\n search: trimString(args.search),\n sortBy: enumValue(args.sortBy, new Set(['updatedAt', 'createdAt', 'priority', 'status'] as const)),\n sortOrder: enumValue(args.sortOrder, new Set(['asc', 'desc'] as const)),\n limit: boundedLimit(args.limit),\n offset: offset(args.offset),\n }),\n };\n }\n\n if (command === 'get') {\n const id = trimString(args.workItemId) ?? trimString(args.id);\n if (!id) return { ok: false, error: 'workItemId is required' };\n const item = workItems.getWorkItem(id);\n return item ? { ok: true, item } : { ok: false, error: `Work item not found: ${id}` };\n }\n\n if (command === 'create') {\n const projectId = currentProjectId(args, deps);\n const title = trimString(args.title);\n if (!projectId) return { ok: false, error: 'projectId is required' };\n if (!title) return { ok: false, error: 'title is required' };\n const input = {\n title,\n description: trimString(args.description),\n status: enumValue(args.status, WORK_ITEM_STATUSES),\n priority: enumValue(args.priority, WORK_ITEM_PRIORITIES),\n ownerAgentId: trimString(args.ownerAgentId),\n nextAction: trimString(args.nextAction),\n blockedReason: trimString(args.blockedReason),\n dueAt: finiteNumber(args.dueAt),\n };\n if (args.status !== undefined && input.status === undefined) return { ok: false, error: 'Invalid work item status' };\n if (args.priority !== undefined && input.priority === undefined) return { ok: false, error: 'Invalid work item priority' };\n if (args.dueAt !== undefined && input.dueAt === undefined) return { ok: false, error: 'Invalid dueAt' };\n if (dryRun) return { ok: true, dryRun: true, action: 'create_work_item', projectId, input };\n const item = workItems.createProjectWorkItem(projectId, input);\n return { ok: true, item };\n }\n\n if (command === 'update') {\n const id = trimString(args.workItemId) ?? trimString(args.id);\n if (!id) return { ok: false, error: 'workItemId is required' };\n const dueAt = args.dueAt !== undefined ? nullableNumber(args.dueAt) : undefined;\n const archivedAt = args.archivedAt !== undefined ? nullableNumber(args.archivedAt) : undefined;\n const patch = {\n ...(args.title !== undefined ? { title: trimString(args.title) ?? '' } : {}),\n ...(args.description !== undefined ? { description: optionalString(args.description) } : {}),\n ...(args.status !== undefined ? { status: enumValue(args.status, WORK_ITEM_STATUSES) } : {}),\n ...(args.priority !== undefined ? { priority: enumValue(args.priority, WORK_ITEM_PRIORITIES) } : {}),\n ...(args.ownerAgentId !== undefined ? { ownerAgentId: optionalString(args.ownerAgentId) } : {}),\n ...(args.nextAction !== undefined ? { nextAction: optionalString(args.nextAction) } : {}),\n ...(args.blockedReason !== undefined ? { blockedReason: optionalString(args.blockedReason) } : {}),\n ...(args.dueAt !== undefined ? { dueAt } : {}),\n ...(args.archivedAt !== undefined ? { archivedAt } : {}),\n };\n if (args.status !== undefined && patch.status === undefined) return { ok: false, error: 'Invalid work item status' };\n if (args.priority !== undefined && patch.priority === undefined) return { ok: false, error: 'Invalid work item priority' };\n if (args.dueAt !== undefined && dueAt === undefined) return { ok: false, error: 'Invalid dueAt' };\n if (args.archivedAt !== undefined && archivedAt === undefined) return { ok: false, error: 'Invalid archivedAt' };\n if (dryRun) return { ok: true, dryRun: true, action: 'update_work_item', workItemId: id, patch };\n const item = workItems.updateWorkItem(id, patch);\n return item ? { ok: true, item } : { ok: false, error: `Work item not found: ${id}` };\n }\n\n return { ok: false, error: `Unsupported work_item command: ${command}` };\n}\n\nexport function createXopcUseTool(deps: XopcUseToolDeps): AgentTool<typeof XopcUseToolSchema, XopcUseDetails> {\n return {\n name: 'xopc_use',\n label: 'XOPC Use',\n description:\n 'Operate first-class xopc objects through one safe entry point. Use for projects, notes, and project work items instead of editing storage files directly. For non-trivial object changes, load the built-in manual first with tool_manual({ tool: \"xopc_use\" }).',\n parameters: XopcUseToolSchema,\n mutatesWorkspace: true,\n mutationScope: 'external',\n requiresExclusiveWorkspaceLock: true,\n finalGuardRelevant: true,\n async execute(toolCallId, input: XopcUseToolInput): Promise<AgentToolResult<XopcUseDetails>> {\n const mode = input.mode;\n const command = input.command.trim();\n const dryRun = input.dryRun === true;\n const args = ensureArgs(input);\n const details: XopcUseDetails = { mode, command, dryRun };\n if (!command) return errorText('command is required', details);\n\n try {\n const sessionKey = deps.getCurrentSessionKey?.();\n const agentId = deps.getCurrentAgentId?.();\n const result = await runWithActivityContext(\n {\n actor: { kind: 'agent', agentId, sessionKey },\n initiator: { kind: 'user', sessionKey },\n source: { kind: 'xopc_use', toolCallId },\n },\n async () =>\n mode === 'project'\n ? await handleProject(command, args, deps, dryRun)\n : mode === 'note'\n ? await handleNote(command, args, deps, dryRun)\n : mode === 'work_item'\n ? await handleWorkItem(command, args, deps, dryRun)\n : { ok: false, error: `Unsupported mode: ${String(mode)}` },\n );\n return okText({ ...details, result });\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n return errorText(message, details);\n }\n },\n } as AgentTool<typeof XopcUseToolSchema, XopcUseDetails>;\n}\n"],"mappings":"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"}
|
|
@@ -34,8 +34,8 @@ export declare const ModelPolicySchema: z.ZodObject<{
|
|
|
34
34
|
allowFallbacks: z.ZodOptional<z.ZodBoolean>;
|
|
35
35
|
maxCostTier: z.ZodOptional<z.ZodEnum<{
|
|
36
36
|
low: "low";
|
|
37
|
-
medium: "medium";
|
|
38
37
|
high: "high";
|
|
38
|
+
medium: "medium";
|
|
39
39
|
}>>;
|
|
40
40
|
}, z.core.$strict>>;
|
|
41
41
|
}, z.core.$strict>;
|
|
@@ -62,8 +62,8 @@ export declare const ModelPolicyPatchSchema: z.ZodObject<{
|
|
|
62
62
|
allowFallbacks: z.ZodOptional<z.ZodBoolean>;
|
|
63
63
|
maxCostTier: z.ZodOptional<z.ZodEnum<{
|
|
64
64
|
low: "low";
|
|
65
|
-
medium: "medium";
|
|
66
65
|
high: "high";
|
|
66
|
+
medium: "medium";
|
|
67
67
|
}>>;
|
|
68
68
|
}, z.core.$strict>>;
|
|
69
69
|
}, z.core.$strict>;
|
|
@@ -73,8 +73,8 @@ export declare const ToolModeSchema: z.ZodEnum<{
|
|
|
73
73
|
deny: "deny";
|
|
74
74
|
}>;
|
|
75
75
|
export declare const ToolScopeSchema: z.ZodEnum<{
|
|
76
|
-
readonly: "readonly";
|
|
77
76
|
workspace: "workspace";
|
|
77
|
+
readonly: "readonly";
|
|
78
78
|
unrestricted: "unrestricted";
|
|
79
79
|
}>;
|
|
80
80
|
export declare const ToolPolicySchema: z.ZodObject<{
|
|
@@ -84,8 +84,8 @@ export declare const ToolPolicySchema: z.ZodObject<{
|
|
|
84
84
|
deny: "deny";
|
|
85
85
|
}>;
|
|
86
86
|
scope: z.ZodOptional<z.ZodEnum<{
|
|
87
|
-
readonly: "readonly";
|
|
88
87
|
workspace: "workspace";
|
|
88
|
+
readonly: "readonly";
|
|
89
89
|
unrestricted: "unrestricted";
|
|
90
90
|
}>>;
|
|
91
91
|
limits: z.ZodOptional<z.ZodObject<{
|
|
@@ -101,8 +101,8 @@ export declare const ToolPolicySetSchema: z.ZodDefault<z.ZodObject<{
|
|
|
101
101
|
deny: "deny";
|
|
102
102
|
}>;
|
|
103
103
|
scope: z.ZodOptional<z.ZodEnum<{
|
|
104
|
-
readonly: "readonly";
|
|
105
104
|
workspace: "workspace";
|
|
105
|
+
readonly: "readonly";
|
|
106
106
|
unrestricted: "unrestricted";
|
|
107
107
|
}>>;
|
|
108
108
|
limits: z.ZodOptional<z.ZodObject<{
|
|
@@ -118,8 +118,8 @@ export declare const ToolPolicySetSchema: z.ZodDefault<z.ZodObject<{
|
|
|
118
118
|
deny: "deny";
|
|
119
119
|
}>;
|
|
120
120
|
scope: z.ZodOptional<z.ZodEnum<{
|
|
121
|
-
readonly: "readonly";
|
|
122
121
|
workspace: "workspace";
|
|
122
|
+
readonly: "readonly";
|
|
123
123
|
unrestricted: "unrestricted";
|
|
124
124
|
}>>;
|
|
125
125
|
limits: z.ZodOptional<z.ZodObject<{
|
|
@@ -134,8 +134,8 @@ export declare const ToolPolicySetSchema: z.ZodDefault<z.ZodObject<{
|
|
|
134
134
|
deny: "deny";
|
|
135
135
|
}>;
|
|
136
136
|
scope: z.ZodOptional<z.ZodEnum<{
|
|
137
|
-
readonly: "readonly";
|
|
138
137
|
workspace: "workspace";
|
|
138
|
+
readonly: "readonly";
|
|
139
139
|
unrestricted: "unrestricted";
|
|
140
140
|
}>>;
|
|
141
141
|
limits: z.ZodOptional<z.ZodObject<{
|
|
@@ -217,13 +217,13 @@ export declare const DreamingPolicySchema: z.ZodOptional<z.ZodObject<{
|
|
|
217
217
|
export declare const MemoryPolicySchema: z.ZodDefault<z.ZodObject<{
|
|
218
218
|
mode: z.ZodDefault<z.ZodEnum<{
|
|
219
219
|
off: "off";
|
|
220
|
+
auto: "auto";
|
|
220
221
|
readOnly: "readOnly";
|
|
221
222
|
confirmWrite: "confirmWrite";
|
|
222
|
-
auto: "auto";
|
|
223
223
|
}>>;
|
|
224
224
|
sources: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
225
|
-
workspace: "workspace";
|
|
226
225
|
session: "session";
|
|
226
|
+
workspace: "workspace";
|
|
227
227
|
userProfile: "userProfile";
|
|
228
228
|
agentProfile: "agentProfile";
|
|
229
229
|
curated: "curated";
|
|
@@ -405,8 +405,8 @@ export declare const AgentManifestSchema: z.ZodObject<{
|
|
|
405
405
|
allowFallbacks: z.ZodOptional<z.ZodBoolean>;
|
|
406
406
|
maxCostTier: z.ZodOptional<z.ZodEnum<{
|
|
407
407
|
low: "low";
|
|
408
|
-
medium: "medium";
|
|
409
408
|
high: "high";
|
|
409
|
+
medium: "medium";
|
|
410
410
|
}>>;
|
|
411
411
|
}, z.core.$strict>>;
|
|
412
412
|
}, z.core.$strict>;
|
|
@@ -418,8 +418,8 @@ export declare const AgentManifestSchema: z.ZodObject<{
|
|
|
418
418
|
deny: "deny";
|
|
419
419
|
}>;
|
|
420
420
|
scope: z.ZodOptional<z.ZodEnum<{
|
|
421
|
-
readonly: "readonly";
|
|
422
421
|
workspace: "workspace";
|
|
422
|
+
readonly: "readonly";
|
|
423
423
|
unrestricted: "unrestricted";
|
|
424
424
|
}>>;
|
|
425
425
|
limits: z.ZodOptional<z.ZodObject<{
|
|
@@ -435,8 +435,8 @@ export declare const AgentManifestSchema: z.ZodObject<{
|
|
|
435
435
|
deny: "deny";
|
|
436
436
|
}>;
|
|
437
437
|
scope: z.ZodOptional<z.ZodEnum<{
|
|
438
|
-
readonly: "readonly";
|
|
439
438
|
workspace: "workspace";
|
|
439
|
+
readonly: "readonly";
|
|
440
440
|
unrestricted: "unrestricted";
|
|
441
441
|
}>>;
|
|
442
442
|
limits: z.ZodOptional<z.ZodObject<{
|
|
@@ -451,8 +451,8 @@ export declare const AgentManifestSchema: z.ZodObject<{
|
|
|
451
451
|
deny: "deny";
|
|
452
452
|
}>;
|
|
453
453
|
scope: z.ZodOptional<z.ZodEnum<{
|
|
454
|
-
readonly: "readonly";
|
|
455
454
|
workspace: "workspace";
|
|
455
|
+
readonly: "readonly";
|
|
456
456
|
unrestricted: "unrestricted";
|
|
457
457
|
}>>;
|
|
458
458
|
limits: z.ZodOptional<z.ZodObject<{
|
|
@@ -475,13 +475,13 @@ export declare const AgentManifestSchema: z.ZodObject<{
|
|
|
475
475
|
memory: z.ZodDefault<z.ZodObject<{
|
|
476
476
|
mode: z.ZodDefault<z.ZodEnum<{
|
|
477
477
|
off: "off";
|
|
478
|
+
auto: "auto";
|
|
478
479
|
readOnly: "readOnly";
|
|
479
480
|
confirmWrite: "confirmWrite";
|
|
480
|
-
auto: "auto";
|
|
481
481
|
}>>;
|
|
482
482
|
sources: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
483
|
-
workspace: "workspace";
|
|
484
483
|
session: "session";
|
|
484
|
+
workspace: "workspace";
|
|
485
485
|
userProfile: "userProfile";
|
|
486
486
|
agentProfile: "agentProfile";
|
|
487
487
|
curated: "curated";
|
|
@@ -633,8 +633,8 @@ export declare const AgentConfigEntrySchema: z.ZodObject<{
|
|
|
633
633
|
deny: "deny";
|
|
634
634
|
}>;
|
|
635
635
|
scope: z.ZodOptional<z.ZodEnum<{
|
|
636
|
-
readonly: "readonly";
|
|
637
636
|
workspace: "workspace";
|
|
637
|
+
readonly: "readonly";
|
|
638
638
|
unrestricted: "unrestricted";
|
|
639
639
|
}>>;
|
|
640
640
|
limits: z.ZodOptional<z.ZodObject<{
|
|
@@ -650,8 +650,8 @@ export declare const AgentConfigEntrySchema: z.ZodObject<{
|
|
|
650
650
|
deny: "deny";
|
|
651
651
|
}>;
|
|
652
652
|
scope: z.ZodOptional<z.ZodEnum<{
|
|
653
|
-
readonly: "readonly";
|
|
654
653
|
workspace: "workspace";
|
|
654
|
+
readonly: "readonly";
|
|
655
655
|
unrestricted: "unrestricted";
|
|
656
656
|
}>>;
|
|
657
657
|
limits: z.ZodOptional<z.ZodObject<{
|
|
@@ -666,8 +666,8 @@ export declare const AgentConfigEntrySchema: z.ZodObject<{
|
|
|
666
666
|
deny: "deny";
|
|
667
667
|
}>;
|
|
668
668
|
scope: z.ZodOptional<z.ZodEnum<{
|
|
669
|
-
readonly: "readonly";
|
|
670
669
|
workspace: "workspace";
|
|
670
|
+
readonly: "readonly";
|
|
671
671
|
unrestricted: "unrestricted";
|
|
672
672
|
}>>;
|
|
673
673
|
limits: z.ZodOptional<z.ZodObject<{
|
|
@@ -690,13 +690,13 @@ export declare const AgentConfigEntrySchema: z.ZodObject<{
|
|
|
690
690
|
memory: z.ZodDefault<z.ZodObject<{
|
|
691
691
|
mode: z.ZodDefault<z.ZodEnum<{
|
|
692
692
|
off: "off";
|
|
693
|
+
auto: "auto";
|
|
693
694
|
readOnly: "readOnly";
|
|
694
695
|
confirmWrite: "confirmWrite";
|
|
695
|
-
auto: "auto";
|
|
696
696
|
}>>;
|
|
697
697
|
sources: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
698
|
-
workspace: "workspace";
|
|
699
698
|
session: "session";
|
|
699
|
+
workspace: "workspace";
|
|
700
700
|
userProfile: "userProfile";
|
|
701
701
|
agentProfile: "agentProfile";
|
|
702
702
|
curated: "curated";
|
|
@@ -842,8 +842,8 @@ export declare const AgentConfigEntrySchema: z.ZodObject<{
|
|
|
842
842
|
allowFallbacks: z.ZodOptional<z.ZodBoolean>;
|
|
843
843
|
maxCostTier: z.ZodOptional<z.ZodEnum<{
|
|
844
844
|
low: "low";
|
|
845
|
-
medium: "medium";
|
|
846
845
|
high: "high";
|
|
846
|
+
medium: "medium";
|
|
847
847
|
}>>;
|
|
848
848
|
}, z.core.$strict>>;
|
|
849
849
|
}, z.core.$strict>>;
|
|
@@ -877,8 +877,8 @@ export declare const CapabilityPresetSchema: z.ZodObject<{
|
|
|
877
877
|
allowFallbacks: z.ZodOptional<z.ZodBoolean>;
|
|
878
878
|
maxCostTier: z.ZodOptional<z.ZodEnum<{
|
|
879
879
|
low: "low";
|
|
880
|
-
medium: "medium";
|
|
881
880
|
high: "high";
|
|
881
|
+
medium: "medium";
|
|
882
882
|
}>>;
|
|
883
883
|
}, z.core.$strict>>;
|
|
884
884
|
}, z.core.$strict>>;
|
|
@@ -890,8 +890,8 @@ export declare const CapabilityPresetSchema: z.ZodObject<{
|
|
|
890
890
|
deny: "deny";
|
|
891
891
|
}>;
|
|
892
892
|
scope: z.ZodOptional<z.ZodEnum<{
|
|
893
|
-
readonly: "readonly";
|
|
894
893
|
workspace: "workspace";
|
|
894
|
+
readonly: "readonly";
|
|
895
895
|
unrestricted: "unrestricted";
|
|
896
896
|
}>>;
|
|
897
897
|
limits: z.ZodOptional<z.ZodObject<{
|
|
@@ -907,8 +907,8 @@ export declare const CapabilityPresetSchema: z.ZodObject<{
|
|
|
907
907
|
deny: "deny";
|
|
908
908
|
}>;
|
|
909
909
|
scope: z.ZodOptional<z.ZodEnum<{
|
|
910
|
-
readonly: "readonly";
|
|
911
910
|
workspace: "workspace";
|
|
911
|
+
readonly: "readonly";
|
|
912
912
|
unrestricted: "unrestricted";
|
|
913
913
|
}>>;
|
|
914
914
|
limits: z.ZodOptional<z.ZodObject<{
|
|
@@ -923,8 +923,8 @@ export declare const CapabilityPresetSchema: z.ZodObject<{
|
|
|
923
923
|
deny: "deny";
|
|
924
924
|
}>;
|
|
925
925
|
scope: z.ZodOptional<z.ZodEnum<{
|
|
926
|
-
readonly: "readonly";
|
|
927
926
|
workspace: "workspace";
|
|
927
|
+
readonly: "readonly";
|
|
928
928
|
unrestricted: "unrestricted";
|
|
929
929
|
}>>;
|
|
930
930
|
limits: z.ZodOptional<z.ZodObject<{
|
|
@@ -947,13 +947,13 @@ export declare const CapabilityPresetSchema: z.ZodObject<{
|
|
|
947
947
|
memory: z.ZodOptional<z.ZodDefault<z.ZodObject<{
|
|
948
948
|
mode: z.ZodDefault<z.ZodEnum<{
|
|
949
949
|
off: "off";
|
|
950
|
+
auto: "auto";
|
|
950
951
|
readOnly: "readOnly";
|
|
951
952
|
confirmWrite: "confirmWrite";
|
|
952
|
-
auto: "auto";
|
|
953
953
|
}>>;
|
|
954
954
|
sources: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
955
|
-
workspace: "workspace";
|
|
956
955
|
session: "session";
|
|
956
|
+
workspace: "workspace";
|
|
957
957
|
userProfile: "userProfile";
|
|
958
958
|
agentProfile: "agentProfile";
|
|
959
959
|
curated: "curated";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { init_agent_scope, resolveDefaultAgentId } from "../../agent/agent-scope.js";
|
|
2
1
|
import { createLogger } from "../../utils/logger/index.js";
|
|
3
2
|
import { init_logger } from "../../utils/logger.js";
|
|
3
|
+
import { init_agent_scope, resolveDefaultAgentId } from "../../agent/agent-scope.js";
|
|
4
4
|
import { AutomationAlreadyRunningError } from "../service/automation-service.js";
|
|
5
5
|
import { logRouteError } from "../../gateway/hono/lib/route-logger.js";
|
|
6
6
|
import { simulateAutomation } from "../draft/automation-draft-validator.js";
|
|
@@ -85,9 +85,9 @@ export declare const AutomationStateSchema: z.ZodObject<{
|
|
|
85
85
|
runningRunId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
86
86
|
lastRunAtMs: z.ZodOptional<z.ZodNumber>;
|
|
87
87
|
lastRunStatus: z.ZodOptional<z.ZodEnum<{
|
|
88
|
+
queued: "queued";
|
|
88
89
|
timeout: "timeout";
|
|
89
90
|
failed: "failed";
|
|
90
|
-
queued: "queued";
|
|
91
91
|
running: "running";
|
|
92
92
|
succeeded: "succeeded";
|
|
93
93
|
cancelled: "cancelled";
|
|
@@ -175,9 +175,9 @@ export declare const AutomationSchema: z.ZodObject<{
|
|
|
175
175
|
runningRunId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
176
176
|
lastRunAtMs: z.ZodOptional<z.ZodNumber>;
|
|
177
177
|
lastRunStatus: z.ZodOptional<z.ZodEnum<{
|
|
178
|
+
queued: "queued";
|
|
178
179
|
timeout: "timeout";
|
|
179
180
|
failed: "failed";
|
|
180
|
-
queued: "queued";
|
|
181
181
|
running: "running";
|
|
182
182
|
succeeded: "succeeded";
|
|
183
183
|
cancelled: "cancelled";
|
|
@@ -189,9 +189,32 @@ export declare const AutomationSchema: z.ZodObject<{
|
|
|
189
189
|
updatedAtMs: z.ZodNumber;
|
|
190
190
|
}, z.core.$strict>;
|
|
191
191
|
export declare const CreateAutomationSchema: z.ZodObject<{
|
|
192
|
-
description: z.ZodOptional<z.ZodString>;
|
|
193
|
-
name: z.ZodString;
|
|
194
192
|
projectId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
193
|
+
name: z.ZodString;
|
|
194
|
+
action: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
195
|
+
kind: z.ZodLiteral<"agent">;
|
|
196
|
+
agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
197
|
+
instruction: z.ZodString;
|
|
198
|
+
workingDirectory: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
199
|
+
model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
200
|
+
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
201
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
202
|
+
kind: z.ZodLiteral<"workflow">;
|
|
203
|
+
workflowId: z.ZodString;
|
|
204
|
+
agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
205
|
+
input: z.ZodOptional<z.ZodUnknown>;
|
|
206
|
+
inputEnvelope: z.ZodOptional<z.ZodObject<{
|
|
207
|
+
payload: z.ZodUnknown;
|
|
208
|
+
goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
209
|
+
variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
210
|
+
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
211
|
+
}, z.core.$strict>>;
|
|
212
|
+
goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
213
|
+
concurrency: z.ZodOptional<z.ZodNumber>;
|
|
214
|
+
maxSubagents: z.ZodOptional<z.ZodNumber>;
|
|
215
|
+
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
216
|
+
}, z.core.$strict>], "kind">;
|
|
217
|
+
description: z.ZodOptional<z.ZodString>;
|
|
195
218
|
trigger: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
196
219
|
kind: z.ZodLiteral<"manual">;
|
|
197
220
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -217,29 +240,6 @@ export declare const CreateAutomationSchema: z.ZodObject<{
|
|
|
217
240
|
source: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
218
241
|
payloadMatch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
|
|
219
242
|
}, z.core.$strict>], "kind">;
|
|
220
|
-
action: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
221
|
-
kind: z.ZodLiteral<"agent">;
|
|
222
|
-
agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
223
|
-
instruction: z.ZodString;
|
|
224
|
-
workingDirectory: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
225
|
-
model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
226
|
-
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
227
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
228
|
-
kind: z.ZodLiteral<"workflow">;
|
|
229
|
-
workflowId: z.ZodString;
|
|
230
|
-
agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
231
|
-
input: z.ZodOptional<z.ZodUnknown>;
|
|
232
|
-
inputEnvelope: z.ZodOptional<z.ZodObject<{
|
|
233
|
-
payload: z.ZodUnknown;
|
|
234
|
-
goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
235
|
-
variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
236
|
-
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
237
|
-
}, z.core.$strict>>;
|
|
238
|
-
goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
239
|
-
concurrency: z.ZodOptional<z.ZodNumber>;
|
|
240
|
-
maxSubagents: z.ZodOptional<z.ZodNumber>;
|
|
241
|
-
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
242
|
-
}, z.core.$strict>], "kind">;
|
|
243
243
|
safety: z.ZodOptional<z.ZodObject<{
|
|
244
244
|
mode: z.ZodEnum<{
|
|
245
245
|
suggest_only: "suggest_only";
|
|
@@ -268,9 +268,9 @@ export declare const CreateAutomationSchema: z.ZodObject<{
|
|
|
268
268
|
runningRunId: z.ZodOptional<z.ZodPreprocess<z.ZodOptional<z.ZodString>>>;
|
|
269
269
|
lastRunAtMs: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
270
270
|
lastRunStatus: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
|
|
271
|
+
queued: "queued";
|
|
271
272
|
timeout: "timeout";
|
|
272
273
|
failed: "failed";
|
|
273
|
-
queued: "queued";
|
|
274
274
|
running: "running";
|
|
275
275
|
succeeded: "succeeded";
|
|
276
276
|
cancelled: "cancelled";
|
|
@@ -280,10 +280,33 @@ export declare const CreateAutomationSchema: z.ZodObject<{
|
|
|
280
280
|
}, z.core.$strict>>;
|
|
281
281
|
}, z.core.$strict>;
|
|
282
282
|
export declare const UpdateAutomationSchema: z.ZodObject<{
|
|
283
|
-
description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
284
|
-
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
285
|
-
name: z.ZodOptional<z.ZodString>;
|
|
286
283
|
projectId: z.ZodOptional<z.ZodPreprocess<z.ZodOptional<z.ZodString>>>;
|
|
284
|
+
name: z.ZodOptional<z.ZodString>;
|
|
285
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
286
|
+
action: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
287
|
+
kind: z.ZodLiteral<"agent">;
|
|
288
|
+
agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
289
|
+
instruction: z.ZodString;
|
|
290
|
+
workingDirectory: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
291
|
+
model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
292
|
+
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
293
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
294
|
+
kind: z.ZodLiteral<"workflow">;
|
|
295
|
+
workflowId: z.ZodString;
|
|
296
|
+
agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
297
|
+
input: z.ZodOptional<z.ZodUnknown>;
|
|
298
|
+
inputEnvelope: z.ZodOptional<z.ZodObject<{
|
|
299
|
+
payload: z.ZodUnknown;
|
|
300
|
+
goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
301
|
+
variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
302
|
+
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
303
|
+
}, z.core.$strict>>;
|
|
304
|
+
goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
305
|
+
concurrency: z.ZodOptional<z.ZodNumber>;
|
|
306
|
+
maxSubagents: z.ZodOptional<z.ZodNumber>;
|
|
307
|
+
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
308
|
+
}, z.core.$strict>], "kind">>;
|
|
309
|
+
description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
287
310
|
trigger: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
288
311
|
kind: z.ZodLiteral<"manual">;
|
|
289
312
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -309,37 +332,14 @@ export declare const UpdateAutomationSchema: z.ZodObject<{
|
|
|
309
332
|
source: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
310
333
|
payloadMatch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
|
|
311
334
|
}, z.core.$strict>], "kind">>;
|
|
312
|
-
action: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
313
|
-
kind: z.ZodLiteral<"agent">;
|
|
314
|
-
agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
315
|
-
instruction: z.ZodString;
|
|
316
|
-
workingDirectory: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
317
|
-
model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
318
|
-
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
319
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
320
|
-
kind: z.ZodLiteral<"workflow">;
|
|
321
|
-
workflowId: z.ZodString;
|
|
322
|
-
agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
323
|
-
input: z.ZodOptional<z.ZodUnknown>;
|
|
324
|
-
inputEnvelope: z.ZodOptional<z.ZodObject<{
|
|
325
|
-
payload: z.ZodUnknown;
|
|
326
|
-
goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
327
|
-
variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
328
|
-
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
329
|
-
}, z.core.$strict>>;
|
|
330
|
-
goal: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
331
|
-
concurrency: z.ZodOptional<z.ZodNumber>;
|
|
332
|
-
maxSubagents: z.ZodOptional<z.ZodNumber>;
|
|
333
|
-
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
334
|
-
}, z.core.$strict>], "kind">>;
|
|
335
335
|
state: z.ZodOptional<z.ZodDefault<z.ZodObject<{
|
|
336
336
|
nextRunAtMs: z.ZodOptional<z.ZodNumber>;
|
|
337
337
|
runningRunId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
338
338
|
lastRunAtMs: z.ZodOptional<z.ZodNumber>;
|
|
339
339
|
lastRunStatus: z.ZodOptional<z.ZodEnum<{
|
|
340
|
+
queued: "queued";
|
|
340
341
|
timeout: "timeout";
|
|
341
342
|
failed: "failed";
|
|
342
|
-
queued: "queued";
|
|
343
343
|
running: "running";
|
|
344
344
|
succeeded: "succeeded";
|
|
345
345
|
cancelled: "cancelled";
|
|
@@ -11,8 +11,31 @@ export declare function buildAutomationDraftResponse(draft: GeneratedAutomationD
|
|
|
11
11
|
draftId: `${string}-${string}-${string}-${string}-${string}`;
|
|
12
12
|
automation: {
|
|
13
13
|
name: string;
|
|
14
|
-
description?: string;
|
|
15
14
|
projectId?: string;
|
|
15
|
+
action?: {
|
|
16
|
+
kind: "agent";
|
|
17
|
+
instruction: string;
|
|
18
|
+
agentId?: string;
|
|
19
|
+
workingDirectory?: string;
|
|
20
|
+
model?: string;
|
|
21
|
+
timeoutSeconds?: number;
|
|
22
|
+
} | {
|
|
23
|
+
kind: "workflow";
|
|
24
|
+
workflowId: string;
|
|
25
|
+
agentId?: string;
|
|
26
|
+
input?: unknown;
|
|
27
|
+
inputEnvelope?: {
|
|
28
|
+
payload: unknown;
|
|
29
|
+
goal?: string;
|
|
30
|
+
variables?: Record<string, unknown>;
|
|
31
|
+
context?: Record<string, unknown>;
|
|
32
|
+
};
|
|
33
|
+
goal?: string;
|
|
34
|
+
concurrency?: number;
|
|
35
|
+
maxSubagents?: number;
|
|
36
|
+
timeoutSeconds?: number;
|
|
37
|
+
};
|
|
38
|
+
description?: string;
|
|
16
39
|
trigger?: {
|
|
17
40
|
kind: "manual";
|
|
18
41
|
} | {
|
|
@@ -38,29 +61,6 @@ export declare function buildAutomationDraftResponse(draft: GeneratedAutomationD
|
|
|
38
61
|
source?: string;
|
|
39
62
|
payloadMatch?: Record<string, string | number | boolean>;
|
|
40
63
|
};
|
|
41
|
-
action?: {
|
|
42
|
-
kind: "agent";
|
|
43
|
-
instruction: string;
|
|
44
|
-
agentId?: string;
|
|
45
|
-
workingDirectory?: string;
|
|
46
|
-
model?: string;
|
|
47
|
-
timeoutSeconds?: number;
|
|
48
|
-
} | {
|
|
49
|
-
kind: "workflow";
|
|
50
|
-
workflowId: string;
|
|
51
|
-
agentId?: string;
|
|
52
|
-
input?: unknown;
|
|
53
|
-
inputEnvelope?: {
|
|
54
|
-
payload: unknown;
|
|
55
|
-
goal?: string;
|
|
56
|
-
variables?: Record<string, unknown>;
|
|
57
|
-
context?: Record<string, unknown>;
|
|
58
|
-
};
|
|
59
|
-
goal?: string;
|
|
60
|
-
concurrency?: number;
|
|
61
|
-
maxSubagents?: number;
|
|
62
|
-
timeoutSeconds?: number;
|
|
63
|
-
};
|
|
64
64
|
safety?: {
|
|
65
65
|
mode: "suggest_only" | "ask_before_apply" | "auto_apply";
|
|
66
66
|
};
|
|
@@ -84,7 +84,7 @@ export declare function buildAutomationDraftResponse(draft: GeneratedAutomationD
|
|
|
84
84
|
nextRunAtMs?: number;
|
|
85
85
|
runningRunId?: string;
|
|
86
86
|
lastRunAtMs?: number;
|
|
87
|
-
lastRunStatus?: "
|
|
87
|
+
lastRunStatus?: "queued" | "timeout" | "failed" | "running" | "succeeded" | "cancelled";
|
|
88
88
|
lastError?: string;
|
|
89
89
|
consecutiveFailures?: number;
|
|
90
90
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { init_agent_scope, normalizeAgentId } from "../../agent/agent-scope.js";
|
|
2
|
-
import { buildSessionKey, init_session_key } from "../../routing/session-key.js";
|
|
3
1
|
import { createLogger } from "../../utils/logger/index.js";
|
|
4
2
|
import { init_logger } from "../../utils/logger.js";
|
|
3
|
+
import { init_agent_scope, normalizeAgentId } from "../../agent/agent-scope.js";
|
|
4
|
+
import { buildSessionKey, init_session_key } from "../../routing/session-key.js";
|
|
5
5
|
import crypto from "node:crypto";
|
|
6
6
|
//#region src/automations/service/action-executor.ts
|
|
7
7
|
init_agent_scope();
|
|
@@ -5,8 +5,8 @@ import { pickFreePort } from "./free-port.js";
|
|
|
5
5
|
import { homedir, platform } from "node:os";
|
|
6
6
|
import { join } from "node:path";
|
|
7
7
|
import { existsSync } from "node:fs";
|
|
8
|
-
import { mkdir, rm } from "node:fs/promises";
|
|
9
8
|
import { spawn } from "node:child_process";
|
|
9
|
+
import { mkdir, rm } from "node:fs/promises";
|
|
10
10
|
//#region src/browser/cdp-local-launcher.ts
|
|
11
11
|
/**
|
|
12
12
|
* Launches a Chromium / Chrome instance locally with `--remote-debugging-port`
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { PACKAGE_VERSION, init_package_version } from "../../package-version.js";
|
|
2
|
-
import { assertCacheDir, init_cache_dir_policy } from "../cache-dir-policy.js";
|
|
3
2
|
import { createLogger } from "../../utils/logger/index.js";
|
|
4
3
|
import { init_logger } from "../../utils/logger.js";
|
|
4
|
+
import { assertCacheDir, init_cache_dir_policy } from "../cache-dir-policy.js";
|
|
5
5
|
import { init_paths, resolveBinDir } from "../../config/paths.js";
|
|
6
6
|
import { init_write_file_atomic, writeTextAtomic } from "../../infra/write-file-atomic.js";
|
|
7
7
|
import { resolvePackageRoot } from "../../infra/update-check.js";
|
|
8
8
|
import { dirname, join } from "node:path";
|
|
9
9
|
import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
10
|
-
import { readFile, readdir, rm } from "node:fs/promises";
|
|
11
|
-
import { spawn } from "node:child_process";
|
|
12
10
|
import { fileURLToPath } from "node:url";
|
|
11
|
+
import { spawn } from "node:child_process";
|
|
12
|
+
import { readFile, readdir, rm } from "node:fs/promises";
|
|
13
13
|
//#region src/browser/providers/browser-ext-install.ts
|
|
14
14
|
/**
|
|
15
15
|
* Install bundled Chrome extension artifacts into {resolveBinDir()}/browser-ext/.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { assertCacheDir, expandHome, init_cache_dir_policy } from "../cache-dir-policy.js";
|
|
2
1
|
import { createLogger } from "../../utils/logger/index.js";
|
|
3
2
|
import { init_logger } from "../../utils/logger.js";
|
|
3
|
+
import { assertCacheDir, expandHome, init_cache_dir_policy } from "../cache-dir-policy.js";
|
|
4
4
|
import { init_paths, resolveBinDir } from "../../config/paths.js";
|
|
5
5
|
import { loadPlaywrightCoreModule } from "./playwright-doctor.js";
|
|
6
6
|
import { WEBDRIVER_OVERRIDE_SCRIPT, buildStealthArgs, filterCloakBrowserExtraArgs, generateFingerprintSeed, makeExecutable, removeQuarantineAttr } from "../stealth.js";
|
|
@@ -8,9 +8,9 @@ import { pickFreePort } from "../free-port.js";
|
|
|
8
8
|
import { arch, platform, tmpdir } from "node:os";
|
|
9
9
|
import { join, resolve } from "node:path";
|
|
10
10
|
import { createReadStream, createWriteStream } from "node:fs";
|
|
11
|
+
import { spawn } from "node:child_process";
|
|
11
12
|
import { createHash } from "node:crypto";
|
|
12
13
|
import { mkdir, mkdtemp, rm, stat } from "node:fs/promises";
|
|
13
|
-
import { spawn } from "node:child_process";
|
|
14
14
|
import { Readable, Transform } from "node:stream";
|
|
15
15
|
import AdmZip from "adm-zip";
|
|
16
16
|
import { pipeline } from "node:stream/promises";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire } from "node:module";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
import { existsSync } from "node:fs";
|
|
4
|
-
import { stat } from "node:fs/promises";
|
|
5
4
|
import { fileURLToPath } from "node:url";
|
|
5
|
+
import { stat } from "node:fs/promises";
|
|
6
6
|
//#region src/browser/providers/playwright-doctor.ts
|
|
7
7
|
/** Root directory of the `playwright-core` package (Electron extraResources or node_modules). */
|
|
8
8
|
function resolvePlaywrightCoreRoot() {
|