@xopcai/xopc 0.0.125 → 0.0.127
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-CgGgO4OV.js} +1 -1
- package/dist/gateway/static/root/assets/agents-k59l7NMb.js +2 -0
- package/dist/gateway/static/root/assets/{app-management-settings-panel-DI4BqHKW.js → app-management-settings-panel-DeQsTsyy.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-6_ie3NQ4.js → appearance-settings-BnHQW7Hv.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page-BG9b4abG.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-kUHEJ1HK.js → archive-plugin-5NXT7Zqv.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-Dm-9prpU.js → attachment-load-DghwhYe0.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-suggestion-card-OTxQTPnC.js → automation-suggestion-card-DYmESgwl.js} +1 -1
- package/dist/gateway/static/root/assets/automations-page-De8mVutL.js +4 -0
- package/dist/gateway/static/root/assets/{binary-plugins-DllA_jQ0.js → binary-plugins-DSbPKdWX.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-Cm6CWNj1.js → block-editor-CoZ-_np-.js} +28 -28
- package/dist/gateway/static/root/assets/browser-settings-page-C_ZRa4LF.js +8 -0
- package/dist/gateway/static/root/assets/{capability-presets-api-VJ89b6I2.js → capability-presets-api-hny224j-.js} +1 -1
- package/dist/gateway/static/root/assets/{capability-presets-settings-panel-BaPj8wC2.js → capability-presets-settings-panel-Drc0qLsw.js} +1 -1
- package/dist/gateway/static/root/assets/{channel-recipient-api-B5PwBEUx.js → channel-recipient-api-DAlOHxKJ.js} +1 -1
- package/dist/gateway/static/root/assets/channels-settings-CA20zBV9.js +1 -0
- package/dist/gateway/static/root/assets/connectors-page-qMyMB5te.js +2 -0
- package/dist/gateway/static/root/assets/desktop-pet-XG6Vb_fZ.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-settings-npJ0Oh5p.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-sprite-DqZ6fbIj.js +1 -0
- package/dist/gateway/static/root/assets/directory-picker-path-field-BR2ItBuf.js +1 -0
- package/dist/gateway/static/root/assets/dreaming-settings-CkUZ997f.js +3 -0
- package/dist/gateway/static/root/assets/{extension-debug-page-BaM0FpW7.js → extension-debug-page-Tl0f1rNv.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-DuZWVOGA.js → extension-page-Ck7QuwE3.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-DarVtbmJ.js → extension-settings-page-3RMhQtZ3.js} +1 -1
- package/dist/gateway/static/root/assets/{fetch-NFKfkqrd.js → fetch-pg2ErdAk.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-api-CFEm9rgy.js → gateway-config-api-DbG97ia2.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-settings-B8cyqKk-.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-Dtwh_yGg.js → gateway-startup-retry-Yh8h3hkj.js} +1 -1
- package/dist/gateway/static/root/assets/{goal-create-dialog-BKP7ylcG.js → goal-create-dialog-DmeW7Zz3.js} +1 -1
- package/dist/gateway/static/root/assets/goal-detail-page-DrTyGbVD.js +1 -0
- package/dist/gateway/static/root/assets/{goals-config-api-DTWZNA_Y.js → goals-config-api-CxCWGIBB.js} +1 -1
- package/dist/gateway/static/root/assets/goals-page-DV1bJhIh.js +2 -0
- package/dist/gateway/static/root/assets/{goals-settings-Bhct0ZT-.js → goals-settings-9DrfOkP5.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-settings-C-UxSU4a.js → heartbeat-settings-KaDpZrv0.js} +1 -1
- package/dist/gateway/static/root/assets/index-C2F0Clvm.js +256 -0
- package/dist/gateway/static/root/assets/index-COQSX5d_.css +1 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-DCjy2y4d.js → keyboard-shortcuts-settings-CfQrt_Rb.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-C9dpiNTF.js +2 -0
- package/dist/gateway/static/root/assets/{markdown-split-BaqxP-GQ.js → markdown-split-BwiMdCf_.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-DQ_EXloK.js → media-plugins-DhoizyZv.js} +1 -1
- package/dist/gateway/static/root/assets/messages-DmnbiNxU.js +3 -0
- package/dist/gateway/static/root/assets/models-hub-panel-zdCdmBmH.js +2 -0
- package/dist/gateway/static/root/assets/notes-page-MpGeFfPt.js +1 -0
- package/dist/gateway/static/root/assets/notes-workbench-DYCM3yd2.js +2 -0
- package/dist/gateway/static/root/assets/{page-tabs-EIZhLppK.js → page-tabs-DDC2t4Z8.js} +1 -1
- package/dist/gateway/static/root/assets/{preview-open-alternatives-r_uB4Epr.js → preview-open-alternatives-BTmk-XDM.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-Cu0ElRnS.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-DakNaUjZ.js +1 -0
- package/dist/gateway/static/root/assets/remote-access-hub-DYKjt7L9.js +1 -0
- package/dist/gateway/static/root/assets/{save-bar-controls-B132Uf-2.js → save-bar-controls-DqU-yKIh.js} +1 -1
- package/dist/gateway/static/root/assets/{schedule-field-B5qshALm.js → schedule-field-CUttkoSB.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-CvLmkdS9.js → schema-form-CVSQA9nI.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-CcGHDsz1.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-CuFdeKNu.js +1 -0
- package/dist/gateway/static/root/assets/{settings-collapsible-section-pRlvqsAf.js → settings-collapsible-section-CK7ogS-P.js} +1 -1
- package/dist/gateway/static/root/assets/settings-form-section-Bugp38Fa.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-0AJoUvxi.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-layout-DBRWwdhh.js +1 -0
- package/dist/gateway/static/root/assets/setup-status-panel-D6a_hEk7.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-v6-IOp8t.js → share-preview-page-BtsuETKF.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-CcEFT7S9.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-BcN_RuTD.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-BbRZZZA5.js +2 -0
- package/dist/gateway/static/root/assets/{system-settings-panel-HUU2FFjM.js → system-settings-panel-DJ6YuLqR.js} +1 -1
- package/dist/gateway/static/root/assets/{typed-models-lib-AH160QHh.js → typed-models-lib-B0T7N8Km.js} +1 -1
- package/dist/gateway/static/root/assets/{use-channel-catalog-BXzDmjCQ.js → use-channel-catalog-C6vrxdzZ.js} +1 -1
- package/dist/gateway/static/root/assets/{user-profile-settings-panel-DxwnQvQ3.js → user-profile-settings-panel-DZ0nKMgj.js} +1 -1
- package/dist/gateway/static/root/assets/{utils-i5POEtqd.js → utils-CehXcWAY.js} +1 -1
- package/dist/gateway/static/root/assets/voice-api-key-field-2QKflCx8.js +1 -0
- package/dist/gateway/static/root/assets/work-item-detail-page-DfJnuWq1.js +1 -0
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-ClVVMgN-.js → workflow-run-setup-panel-c4jeaohQ.js} +2 -2
- package/dist/gateway/static/root/assets/{workflow-start-dialog-Dv4ZA1T0.js → workflow-start-dialog-ENRHjoqa.js} +1 -1
- package/dist/gateway/static/root/assets/workflows-page-BJwwFTm_.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-instance-gateway.d.ts +5 -0
- package/dist/src/agent/agent-manager.d.ts +21 -0
- package/dist/src/agent/agent-manager.js +118 -6
- package/dist/src/agent/agent-manager.js.map +1 -1
- package/dist/src/agent/capabilities/definitions.d.ts +153 -0
- package/dist/src/agent/capabilities/definitions.js +156 -0
- package/dist/src/agent/capabilities/definitions.js.map +1 -0
- package/dist/src/agent/capabilities/index.d.ts +2 -0
- package/dist/src/agent/capabilities/index.js +3 -0
- package/dist/src/agent/capabilities/registry.d.ts +10 -0
- package/dist/src/agent/capabilities/registry.js +51 -0
- package/dist/src/agent/capabilities/registry.js.map +1 -0
- 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/process-direct-one-shot.js +5 -3
- package/dist/src/agent/service/process-direct-one-shot.js.map +1 -1
- package/dist/src/agent/service/process-direct-streaming.js +4 -3
- package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
- package/dist/src/agent/service.d.ts +2 -0
- package/dist/src/agent/service.js +9 -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/skills/parse-skill-metadata.js +9 -1
- package/dist/src/agent/skills/parse-skill-metadata.js.map +1 -1
- package/dist/src/agent/skills/skill-manager.d.ts +4 -0
- package/dist/src/agent/skills/skill-manager.js +17 -0
- package/dist/src/agent/skills/skill-manager.js.map +1 -1
- package/dist/src/agent/skills/types.d.ts +5 -0
- 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/desktop-pet-tool.d.ts +24 -0
- package/dist/src/agent/tools/desktop-pet-tool.js +90 -0
- package/dist/src/agent/tools/desktop-pet-tool.js.map +1 -0
- package/dist/src/agent/tools/factory.d.ts +9 -0
- package/dist/src/agent/tools/factory.js +26 -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 +2 -0
- package/dist/src/agent/tools/index.js +3 -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-service.js +1 -1
- 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 +3 -3
- 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/models.js +1 -1
- package/dist/src/cli/commands/onboard.js +1 -1
- package/dist/src/cli/commands/profile.js +1 -1
- package/dist/src/cli/commands/project.js +4 -4
- package/dist/src/cli/commands/tunnel.js +1 -1
- package/dist/src/cli/commands/update.js +1 -1
- package/dist/src/cli/extension-cli-register.js +1 -1
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/gateway-bind.js +1 -1
- package/dist/src/config/index.js +2 -2
- 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/agent-builtin-tools.d.ts +1 -1
- package/dist/src/gateway/agent-builtin-tools.js +1 -0
- package/dist/src/gateway/agent-builtin-tools.js.map +1 -1
- 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/commands-skills.js +7 -0
- package/dist/src/gateway/hono/routes/commands-skills.js.map +1 -1
- 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/lazy-bundles.js +2 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
- package/dist/src/gateway/hono/routes/memory.js +2 -2
- package/dist/src/gateway/hono/routes/projects.js +93 -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/run-loop.js +1 -1
- package/dist/src/gateway/service/run-gateway-agent.js +6 -2
- package/dist/src/gateway/service/run-gateway-agent.js.map +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/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/pets/factory.d.ts +25 -0
- package/dist/src/pets/factory.js +327 -0
- package/dist/src/pets/factory.js.map +1 -0
- package/dist/src/pets/manifest.d.ts +2 -0
- package/dist/src/pets/manifest.js +16 -0
- package/dist/src/pets/manifest.js.map +1 -0
- package/dist/src/pets/validator.d.ts +12 -0
- package/dist/src/pets/validator.js +175 -0
- package/dist/src/pets/validator.js.map +1 -0
- package/dist/src/projects/project-service.d.ts +4 -1
- package/dist/src/projects/project-service.js +65 -2
- package/dist/src/projects/project-service.js.map +1 -1
- package/dist/src/projects/project-store.d.ts +3 -1
- package/dist/src/projects/project-store.js +56 -6
- package/dist/src/projects/project-store.js.map +1 -1
- package/dist/src/projects/types.d.ts +12 -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 +24 -4
- package/dist/src/session/session-title.js.map +1 -1
- 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/025_project_pinned_at.sql +5 -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/skills/creative/hatch-pet/SKILL.md +63 -0
- 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/directory-picker-path-field-DySMzOF6.js +0 -1
- package/dist/gateway/static/root/assets/dist-By6Rh2ee.js +0 -1
- package/dist/gateway/static/root/assets/dreaming-settings-D_AjSnV_.js +0 -3
- package/dist/gateway/static/root/assets/gateway-settings-BMk2S5td.js +0 -1
- package/dist/gateway/static/root/assets/goal-detail-page-C2cTxf71.js +0 -1
- package/dist/gateway/static/root/assets/goals-page-CTmA3hWK.js +0 -2
- 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/work-item-detail-page-CD6FL_Rs.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-OLQiUpoW.js +0 -18
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { buildSessionKey, init_session_key } from "../../../routing/session-key.js";
|
|
2
1
|
import { getSqliteDatabase } from "../../../storage/sqlite/transaction.js";
|
|
3
|
-
import { GoalService } from "../../../goals/goal-service.js";
|
|
4
|
-
import "../../../goals/index.js";
|
|
5
2
|
import { getSessionMetadata } from "../../../storage/sqlite/session-repository.js";
|
|
6
3
|
import { loadTranscriptRowsForSession } from "../../../storage/sqlite/transcript-repository.js";
|
|
7
4
|
import { listMemoryRecords, upsertMemoryRecord } from "../../../storage/sqlite/memory-records-repository.js";
|
|
8
5
|
import "../../../storage/sqlite/index.js";
|
|
6
|
+
import { ActivityService } from "../../../activity/service.js";
|
|
7
|
+
import "../../../activity/index.js";
|
|
8
|
+
import { buildSessionKey, init_session_key } from "../../../routing/session-key.js";
|
|
9
|
+
import { resolveEffectiveAgentProfile } from "../../../config/agent-profile.js";
|
|
10
|
+
import { GoalService } from "../../../goals/goal-service.js";
|
|
11
|
+
import "../../../goals/index.js";
|
|
9
12
|
import { ProjectWorkspaceConflictError, ProjectWorkspaceMissingError } from "../../../projects/workspace-project.js";
|
|
10
13
|
import { isValidProjectAgentId, normalizeProjectAgentId, resolveProjectAgentId } from "../../../projects/project-agent.js";
|
|
11
14
|
import { inferProjectKind } from "../../../projects/project-kind.js";
|
|
@@ -16,6 +19,7 @@ import { WORK_ITEM_ATTACHMENT_MAX_BYTES, WorkItemService } from "../../../work-i
|
|
|
16
19
|
import { buildWorkItemAgentContext } from "../../../work-items/agent-context.js";
|
|
17
20
|
import "../../../work-items/index.js";
|
|
18
21
|
import { createGatewayRouteLogger } from "../lib/route-logger.js";
|
|
22
|
+
import { parseActivityIncludeRelated, parseActivityQuery } from "./activity.js";
|
|
19
23
|
import * as path$1 from "node:path";
|
|
20
24
|
import { readFile, readdir, realpath, stat, writeFile } from "node:fs/promises";
|
|
21
25
|
//#region src/gateway/hono/routes/projects.ts
|
|
@@ -41,6 +45,23 @@ function optionalTextField(body, key) {
|
|
|
41
45
|
const value = body[key];
|
|
42
46
|
return typeof value === "string" ? value : null;
|
|
43
47
|
}
|
|
48
|
+
function resolveEffectiveWorkspaceRoot(service, project) {
|
|
49
|
+
const fixedRoot = project.workspaceRoot?.trim();
|
|
50
|
+
if (fixedRoot) return fixedRoot;
|
|
51
|
+
const agentId = resolveProjectAgentId({
|
|
52
|
+
config: service.currentConfig,
|
|
53
|
+
projects: service.projects,
|
|
54
|
+
projectId: project.id
|
|
55
|
+
});
|
|
56
|
+
return resolveEffectiveAgentProfile(service.currentConfig, agentId).resolvedWorkspacePath;
|
|
57
|
+
}
|
|
58
|
+
function enrichProjectWorkspace(service, project) {
|
|
59
|
+
return {
|
|
60
|
+
...project,
|
|
61
|
+
workspaceMode: project.workspaceRoot?.trim() ? "fixed" : "followAgent",
|
|
62
|
+
effectiveWorkspaceRoot: resolveEffectiveWorkspaceRoot(service, project)
|
|
63
|
+
};
|
|
64
|
+
}
|
|
44
65
|
function finiteNumberField(value) {
|
|
45
66
|
if (typeof value === "number" && Number.isFinite(value)) return value;
|
|
46
67
|
if (typeof value === "string" && value.trim()) {
|
|
@@ -136,13 +157,14 @@ async function resolveProjectWorkspaceRoot(service, projectId) {
|
|
|
136
157
|
status: 404,
|
|
137
158
|
error: "Project not found"
|
|
138
159
|
};
|
|
139
|
-
|
|
160
|
+
const workspaceRoot = resolveEffectiveWorkspaceRoot(service, project);
|
|
161
|
+
if (!workspaceRoot?.trim()) return {
|
|
140
162
|
ok: false,
|
|
141
163
|
status: 400,
|
|
142
164
|
error: "Project workspace root is not set"
|
|
143
165
|
};
|
|
144
166
|
try {
|
|
145
|
-
const root = await realpath(
|
|
167
|
+
const root = await realpath(workspaceRoot);
|
|
146
168
|
if (!(await stat(root)).isDirectory()) return {
|
|
147
169
|
ok: false,
|
|
148
170
|
status: 400,
|
|
@@ -157,7 +179,7 @@ async function resolveProjectWorkspaceRoot(service, projectId) {
|
|
|
157
179
|
log.warn({
|
|
158
180
|
err,
|
|
159
181
|
projectId: project.id,
|
|
160
|
-
path:
|
|
182
|
+
path: workspaceRoot
|
|
161
183
|
}, "project workspace root unavailable");
|
|
162
184
|
return {
|
|
163
185
|
ok: false,
|
|
@@ -348,6 +370,7 @@ function projectDigestMemoryRecordId(projectId) {
|
|
|
348
370
|
}
|
|
349
371
|
function registerProjectsRoutes(authenticated, deps) {
|
|
350
372
|
const { service } = deps;
|
|
373
|
+
const activity = new ActivityService();
|
|
351
374
|
const goals = new GoalService();
|
|
352
375
|
const workItems = new WorkItemService();
|
|
353
376
|
authenticated.post("/api/projects", async (c) => {
|
|
@@ -384,7 +407,7 @@ function registerProjectsRoutes(authenticated, deps) {
|
|
|
384
407
|
});
|
|
385
408
|
return c.json({
|
|
386
409
|
ok: true,
|
|
387
|
-
project
|
|
410
|
+
project: enrichProjectWorkspace(service, project)
|
|
388
411
|
}, 201);
|
|
389
412
|
} catch (error) {
|
|
390
413
|
if (error instanceof ProjectWorkspaceConflictError) return c.json({
|
|
@@ -417,7 +440,8 @@ function registerProjectsRoutes(authenticated, deps) {
|
|
|
417
440
|
});
|
|
418
441
|
return c.json({
|
|
419
442
|
ok: true,
|
|
420
|
-
...result
|
|
443
|
+
...result,
|
|
444
|
+
items: result.items.map((project) => enrichProjectWorkspace(service, project))
|
|
421
445
|
});
|
|
422
446
|
});
|
|
423
447
|
authenticated.get("/api/projects/suggestions", async (c) => {
|
|
@@ -523,7 +547,7 @@ function registerProjectsRoutes(authenticated, deps) {
|
|
|
523
547
|
return c.json({
|
|
524
548
|
ok: true,
|
|
525
549
|
overview: {
|
|
526
|
-
project,
|
|
550
|
+
project: enrichProjectWorkspace(service, project),
|
|
527
551
|
stats: {
|
|
528
552
|
sessionCount: project.sessionCount,
|
|
529
553
|
goalCount: project.goalCount,
|
|
@@ -547,6 +571,22 @@ function registerProjectsRoutes(authenticated, deps) {
|
|
|
547
571
|
}
|
|
548
572
|
});
|
|
549
573
|
});
|
|
574
|
+
authenticated.get("/api/projects/:id/activity", (c) => {
|
|
575
|
+
const project = service.projects.get(c.req.param("id"));
|
|
576
|
+
if (!project) return c.json({
|
|
577
|
+
ok: false,
|
|
578
|
+
error: "Project not found"
|
|
579
|
+
}, 404);
|
|
580
|
+
const result = activity.listForProject({
|
|
581
|
+
projectId: project.id,
|
|
582
|
+
includeRelated: parseActivityIncludeRelated(c.req.query("includeRelated")),
|
|
583
|
+
...parseActivityQuery(c)
|
|
584
|
+
});
|
|
585
|
+
return c.json({
|
|
586
|
+
ok: true,
|
|
587
|
+
...result
|
|
588
|
+
});
|
|
589
|
+
});
|
|
550
590
|
authenticated.get("/api/projects/:id/work-items", async (c) => {
|
|
551
591
|
const project = service.projects.get(c.req.param("id"));
|
|
552
592
|
if (!project) return c.json({
|
|
@@ -928,6 +968,15 @@ function registerProjectsRoutes(authenticated, deps) {
|
|
|
928
968
|
ok: false,
|
|
929
969
|
error: "Project not found"
|
|
930
970
|
}, 404);
|
|
971
|
+
const attachments = await workItems.snapshotAttachmentsForGoal(item.id);
|
|
972
|
+
if (!attachments) return c.json({
|
|
973
|
+
ok: false,
|
|
974
|
+
error: "Work item not found"
|
|
975
|
+
}, 404);
|
|
976
|
+
const context = await buildWorkItemAgentContext(item, {
|
|
977
|
+
attachments,
|
|
978
|
+
includeImages: false
|
|
979
|
+
});
|
|
931
980
|
const goal = goals.create({
|
|
932
981
|
title: item.title,
|
|
933
982
|
description: item.description || item.nextAction,
|
|
@@ -937,10 +986,11 @@ function registerProjectsRoutes(authenticated, deps) {
|
|
|
937
986
|
source: "api",
|
|
938
987
|
config: service.currentConfig
|
|
939
988
|
});
|
|
940
|
-
goals.setContextMessage({
|
|
989
|
+
const goalWithContext = goals.setContextMessage({
|
|
941
990
|
goalId: goal.id,
|
|
942
|
-
text:
|
|
943
|
-
|
|
991
|
+
text: context.text,
|
|
992
|
+
attachments
|
|
993
|
+
}) ?? goal;
|
|
944
994
|
workItems.addLink(item.id, {
|
|
945
995
|
kind: "goal",
|
|
946
996
|
targetId: goal.id,
|
|
@@ -950,7 +1000,7 @@ function registerProjectsRoutes(authenticated, deps) {
|
|
|
950
1000
|
const updated = item.status === "todo" || item.status === "backlog" ? workItems.updateWorkItem(item.id, { status: "in_progress" }) : workItems.getWorkItem(item.id);
|
|
951
1001
|
return c.json({
|
|
952
1002
|
ok: true,
|
|
953
|
-
goal,
|
|
1003
|
+
goal: goalWithContext,
|
|
954
1004
|
item: updated
|
|
955
1005
|
}, 201);
|
|
956
1006
|
});
|
|
@@ -1036,6 +1086,34 @@ function registerProjectsRoutes(authenticated, deps) {
|
|
|
1036
1086
|
goal: blocked ?? goals.get(goal.id)
|
|
1037
1087
|
}, 201);
|
|
1038
1088
|
});
|
|
1089
|
+
authenticated.post("/api/projects/:id/pin", async (c) => {
|
|
1090
|
+
try {
|
|
1091
|
+
const project = service.projects.pin(c.req.param("id"));
|
|
1092
|
+
return c.json({
|
|
1093
|
+
ok: true,
|
|
1094
|
+
project: enrichProjectWorkspace(service, project)
|
|
1095
|
+
});
|
|
1096
|
+
} catch (error) {
|
|
1097
|
+
return c.json({
|
|
1098
|
+
ok: false,
|
|
1099
|
+
error: error instanceof Error ? error.message : String(error)
|
|
1100
|
+
}, 404);
|
|
1101
|
+
}
|
|
1102
|
+
});
|
|
1103
|
+
authenticated.post("/api/projects/:id/unpin", async (c) => {
|
|
1104
|
+
try {
|
|
1105
|
+
const project = service.projects.unpin(c.req.param("id"));
|
|
1106
|
+
return c.json({
|
|
1107
|
+
ok: true,
|
|
1108
|
+
project: enrichProjectWorkspace(service, project)
|
|
1109
|
+
});
|
|
1110
|
+
} catch (error) {
|
|
1111
|
+
return c.json({
|
|
1112
|
+
ok: false,
|
|
1113
|
+
error: error instanceof Error ? error.message : String(error)
|
|
1114
|
+
}, 404);
|
|
1115
|
+
}
|
|
1116
|
+
});
|
|
1039
1117
|
authenticated.get("/api/projects/:id", async (c) => {
|
|
1040
1118
|
const project = service.projects.getWithDetails(c.req.param("id"));
|
|
1041
1119
|
if (!project) return c.json({
|
|
@@ -1044,7 +1122,7 @@ function registerProjectsRoutes(authenticated, deps) {
|
|
|
1044
1122
|
}, 404);
|
|
1045
1123
|
return c.json({
|
|
1046
1124
|
ok: true,
|
|
1047
|
-
project
|
|
1125
|
+
project: enrichProjectWorkspace(service, project)
|
|
1048
1126
|
});
|
|
1049
1127
|
});
|
|
1050
1128
|
authenticated.patch("/api/projects/:id", async (c) => {
|
|
@@ -1069,7 +1147,7 @@ function registerProjectsRoutes(authenticated, deps) {
|
|
|
1069
1147
|
});
|
|
1070
1148
|
return c.json({
|
|
1071
1149
|
ok: true,
|
|
1072
|
-
project
|
|
1150
|
+
project: enrichProjectWorkspace(service, project)
|
|
1073
1151
|
});
|
|
1074
1152
|
} catch (error) {
|
|
1075
1153
|
if (error instanceof ProjectWorkspaceConflictError) return c.json({
|