@xopcai/xopc 0.0.126 → 0.0.128
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/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-C70vgt60.js → agent-avatar-dicebear-Dx3HQkOk.js} +1 -1
- package/dist/gateway/static/root/assets/agents-Ceb_WmSZ.js +2 -0
- package/dist/gateway/static/root/assets/app-management-settings-panel-DGtoXVvI.js +1 -0
- package/dist/gateway/static/root/assets/{appearance-settings-BHlahIDL.js → appearance-settings-BQQf_iLu.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page-D05daQF8.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-B-aoIt0w.js → archive-plugin-HuCFa2UL.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-BD0G0FD5.js → attachment-load-N3csiRso.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-suggestion-card-iJRVI7aZ.js → automation-suggestion-card-DeYEW2YQ.js} +1 -1
- package/dist/gateway/static/root/assets/automations-page-Dxn5-hGx.js +4 -0
- package/dist/gateway/static/root/assets/{binary-plugins-B0mNlVSz.js → binary-plugins-DnJO0VG7.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-CJY9Lu5G.js → block-editor-DOAZkqfs.js} +27 -27
- package/dist/gateway/static/root/assets/browser-settings-page-DSB-ZKIX.js +8 -0
- package/dist/gateway/static/root/assets/capability-presets-api-DRCu-s6d.js +1 -0
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-M7jOJxZX.js +1 -0
- package/dist/gateway/static/root/assets/channel-recipient-api-BrW5Kcgc.js +1 -0
- package/dist/gateway/static/root/assets/channels-settings-C1iggCG3.js +1 -0
- package/dist/gateway/static/root/assets/{code-editor-gbRgS14t.js → code-editor--tMO38Tr.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-Df0TJNgv.js +2 -0
- package/dist/gateway/static/root/assets/desktop-pet-MnqKnEgd.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-settings-PRnTI9no.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-DJNFtSWq.js +1 -0
- package/dist/gateway/static/root/assets/dreaming-settings-D0_2JavX.js +3 -0
- package/dist/gateway/static/root/assets/{extension-debug-page-BbyczVZ3.js → extension-debug-page-C4sQuETO.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-DLN1I3DR.js → extension-page-DhnpWAUJ.js} +1 -1
- package/dist/gateway/static/root/assets/extension-settings-page-D7JDxFGh.js +1 -0
- package/dist/gateway/static/root/assets/fetch-BMjlW0g1.js +1 -0
- package/dist/gateway/static/root/assets/gateway-config-api-B_VyPdKh.js +1 -0
- package/dist/gateway/static/root/assets/gateway-settings-C0TutwM5.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-DEMad2wt.js → gateway-startup-retry-CY5W2Pp4.js} +1 -1
- package/dist/gateway/static/root/assets/goal-create-dialog-DrDGK2L5.js +1 -0
- package/dist/gateway/static/root/assets/goal-detail-page-aaIMRRor.js +4 -0
- package/dist/gateway/static/root/assets/goals-config-api-CzTu01a1.js +1 -0
- package/dist/gateway/static/root/assets/goals-page-CBfCPiNK.js +2 -0
- package/dist/gateway/static/root/assets/goals-settings-4rKUC3EH.js +1 -0
- package/dist/gateway/static/root/assets/heartbeat-settings-DqJBKlza.js +1 -0
- package/dist/gateway/static/root/assets/{html-workspace-editor-DV90ddkE.js → html-workspace-editor-COqmtESs.js} +1 -1
- package/dist/gateway/static/root/assets/index-38TSE7ng.js +257 -0
- package/dist/gateway/static/root/assets/index-EKmpPvZj.css +1 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-lKTg6St7.js → keyboard-shortcuts-settings-ClVhEihC.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-J8fw1O8x.js +2 -0
- package/dist/gateway/static/root/assets/{markdown-editor-BFOjBBla.js → markdown-editor-jD1LPiP-.js} +2 -2
- package/dist/gateway/static/root/assets/{markdown-split-Bv4k6iGJ.js → markdown-split-DQYDAL4r.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-Bbi8g3N8.js → media-plugins-o5fchHfb.js} +1 -1
- package/dist/gateway/static/root/assets/messages-YzjnURPJ.js +3 -0
- package/dist/gateway/static/root/assets/models-hub-panel-D9csuY5T.js +2 -0
- package/dist/gateway/static/root/assets/notes-page-CeWoUGI-.js +1 -0
- package/dist/gateway/static/root/assets/notes-workbench-D_oaF0Pq.js +2 -0
- package/dist/gateway/static/root/assets/{page-tabs-Cp395RYD.js → page-tabs-u0u41Gxz.js} +1 -1
- package/dist/gateway/static/root/assets/{preview-open-alternatives-DqV5OM4m.js → preview-open-alternatives-BaYRX55y.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-dkHzwhDL.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-DBp2WExF.js +1 -0
- package/dist/gateway/static/root/assets/remote-access-hub-Cgzg4pNN.js +1 -0
- package/dist/gateway/static/root/assets/{save-bar-controls-BItmzAzI.js → save-bar-controls-8ebg7PIX.js} +1 -1
- package/dist/gateway/static/root/assets/{schedule-field-BQ8IjjCn.js → schedule-field-Cd7FPvsJ.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-BRpD6x3d.js → schema-form-Bq9iqPeA.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-vkORZvUB.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-BFJsnSvx.js +1 -0
- package/dist/gateway/static/root/assets/{settings-collapsible-section-BKSPQM4R.js → settings-collapsible-section-DaVKl6I7.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-form-section-BmyfthNQ.js → settings-form-section-C92Shabe.js} +1 -1
- package/dist/gateway/static/root/assets/settings-loading-skeleton-EJwzElLr.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-BLY6onMK.js +1 -0
- package/dist/gateway/static/root/assets/{settings-page-layout-Bls5tfbH.js → settings-page-layout-dTbdUfAB.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-BU0JUWIA.js +1 -0
- package/dist/gateway/static/root/assets/share-preview-page-SgKIyNQ7.js +2 -0
- package/dist/gateway/static/root/assets/shares-settings-aiY_QGsl.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-C44tGvK7.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-C1re61FQ.js +2 -0
- package/dist/gateway/static/root/assets/{system-settings-panel-DKDAojWM.js → system-settings-panel-CntJCZEg.js} +1 -1
- package/dist/gateway/static/root/assets/{typed-models-lib-BCCV4Kkp.js → typed-models-lib-CjULd6SF.js} +1 -1
- package/dist/gateway/static/root/assets/url-DFGNSBNT.js +1 -0
- package/dist/gateway/static/root/assets/use-channel-catalog-CPdJ0o0i.js +1 -0
- package/dist/gateway/static/root/assets/user-profile-settings-panel-DBgcbZfp.js +1 -0
- package/dist/gateway/static/root/assets/{utils-DPGVr3tS.js → utils-icmWvHl6.js} +1 -1
- package/dist/gateway/static/root/assets/vendor-codemirror-C1WKjCk5.js +45 -0
- package/dist/gateway/static/root/assets/voice-api-key-field-BfvNUIWI.js +1 -0
- package/dist/gateway/static/root/assets/work-item-detail-page-BYvZjBuJ.js +1 -0
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-BTkRVNAh.js → workflow-run-setup-panel-DMXd1znx.js} +2 -2
- package/dist/gateway/static/root/assets/{workflow-start-dialog-DAImVtdO.js → workflow-start-dialog-Dff4IHzz.js} +1 -1
- package/dist/gateway/static/root/assets/workflows-page-0-640fQi.js +18 -0
- package/dist/gateway/static/root/index.html +7 -6
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-instance-gateway.d.ts +5 -0
- package/dist/src/agent/agent-manager.d.ts +17 -0
- package/dist/src/agent/agent-manager.js +125 -8
- package/dist/src/agent/agent-manager.js.map +1 -1
- package/dist/src/agent/capabilities/definitions.d.ts +167 -0
- package/dist/src/agent/capabilities/definitions.js +175 -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/goals/post-turn.js +23 -2
- package/dist/src/agent/goals/post-turn.js.map +1 -1
- package/dist/src/agent/messaging/command-handler.d.ts +4 -0
- package/dist/src/agent/messaging/command-handler.js +6 -0
- package/dist/src/agent/messaging/command-handler.js.map +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 +4 -0
- package/dist/src/agent/service.js +26 -0
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/skills/hub-lock.d.ts +5 -5
- package/dist/src/agent/skills/hub-lock.js +12 -12
- package/dist/src/agent/skills/hub-lock.js.map +1 -1
- package/dist/src/agent/skills/hub-pull.d.ts +15 -0
- package/dist/src/agent/skills/hub-pull.js +299 -24
- package/dist/src/agent/skills/hub-pull.js.map +1 -1
- package/dist/src/agent/skills/index.js +4 -40
- package/dist/src/agent/skills/index.js.map +1 -1
- package/dist/src/agent/skills/install-target.d.ts +3 -0
- package/dist/src/agent/skills/install-target.js +11 -0
- package/dist/src/agent/skills/install-target.js.map +1 -0
- package/dist/src/agent/skills/managed-store.d.ts +5 -3
- package/dist/src/agent/skills/managed-store.js +10 -9
- package/dist/src/agent/skills/managed-store.js.map +1 -1
- package/dist/src/agent/skills/marketplace/adapters/store/adapter.js +5 -3
- package/dist/src/agent/skills/marketplace/adapters/store/adapter.js.map +1 -1
- package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.d.ts +21 -1
- package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.js +62 -6
- package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.js.map +1 -1
- package/dist/src/agent/skills/marketplace/resolve-adapter.js +1 -1
- package/dist/src/agent/skills/marketplace/resolve-adapter.js.map +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-manage-ops.js +2 -2
- package/dist/src/agent/skills/skill-manage-ops.js.map +1 -1
- package/dist/src/agent/skills/skill-manager.d.ts +4 -0
- package/dist/src/agent/skills/skill-manager.js +18 -6
- 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/skills/workspace-skills-dir.d.ts +1 -0
- package/dist/src/agent/skills/workspace-skills-dir.js +5 -1
- package/dist/src/agent/skills/workspace-skills-dir.js.map +1 -1
- package/dist/src/agent/tools/automation-tool.d.ts +6 -6
- package/dist/src/agent/tools/browser/tool/schemas.d.ts +20 -20
- package/dist/src/agent/tools/composio-tool.d.ts +3 -3
- 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 +5 -0
- package/dist/src/agent/tools/factory.js +22 -0
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/goal-tool.d.ts +16 -16
- package/dist/src/agent/tools/index.d.ts +2 -0
- package/dist/src/agent/tools/index.js +3 -1
- package/dist/src/agent/tools/skill-install-tool.d.ts +28 -0
- package/dist/src/agent/tools/skill-install-tool.js +81 -0
- package/dist/src/agent/tools/skill-install-tool.js.map +1 -0
- package/dist/src/agent/tools/skill-manage-tool.js +3 -6
- package/dist/src/agent/tools/skill-manage-tool.js.map +1 -1
- package/dist/src/agent/tools/tool-manual-tool.d.ts +2 -2
- package/dist/src/agent/tools/xopc-use-tool.d.ts +5 -5
- package/dist/src/automations/domain/types.d.ts +1 -0
- package/dist/src/automations/service/automation-service.js +9 -0
- package/dist/src/automations/service/automation-service.js.map +1 -1
- package/dist/src/browser/schemas.d.ts +52 -52
- package/dist/src/capabilities/store-connector.d.ts +17 -0
- package/dist/src/capabilities/store-connector.js +191 -0
- package/dist/src/capabilities/store-connector.js.map +1 -0
- package/dist/src/chat-commands/builtins/skill.d.ts +1 -0
- package/dist/src/chat-commands/builtins/skill.js +132 -0
- package/dist/src/chat-commands/builtins/skill.js.map +1 -0
- package/dist/src/chat-commands/context.d.ts +3 -0
- package/dist/src/chat-commands/context.js +2 -0
- package/dist/src/chat-commands/context.js.map +1 -1
- package/dist/src/chat-commands/index.d.ts +1 -0
- package/dist/src/chat-commands/index.js +3 -1
- package/dist/src/chat-commands/index.js.map +1 -1
- package/dist/src/chat-commands/types.d.ts +17 -0
- package/dist/src/cli/command-loaders.js +1 -0
- package/dist/src/cli/command-loaders.js.map +1 -1
- package/dist/src/cli/command-manifest.js +4 -0
- package/dist/src/cli/command-manifest.js.map +1 -1
- package/dist/src/cli/commands/connectors.d.ts +4 -0
- package/dist/src/cli/commands/connectors.js +96 -0
- package/dist/src/cli/commands/connectors.js.map +1 -0
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/extension-marketplace.js +1 -1
- package/dist/src/cli/commands/skills.js +1 -1
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/schema.js +2 -2
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/connectors/health.js +1 -1
- package/dist/src/connectors/install.js +3 -1
- package/dist/src/connectors/install.js.map +1 -1
- package/dist/src/connectors/materialize.js +2 -0
- package/dist/src/connectors/materialize.js.map +1 -1
- package/dist/src/connectors/types.d.ts +19 -1
- package/dist/src/extensions/install.js +1 -1
- package/dist/src/extensions/types/manifest.d.ts +1 -1
- package/dist/src/extensions/update.js +5 -3
- package/dist/src/extensions/update.js.map +1 -1
- 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/chat-stream/mapper.js +5 -1
- package/dist/src/gateway/chat-stream/mapper.js.map +1 -1
- package/dist/src/gateway/chat-stream/protocol.d.ts +2 -0
- package/dist/src/gateway/hono/lib/config-payload.js +1 -1
- package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
- package/dist/src/gateway/hono/middleware/auth.d.ts +2 -2
- package/dist/src/gateway/hono/middleware/logger.d.ts +1 -1
- package/dist/src/gateway/hono/middleware/route-errors.d.ts +1 -1
- package/dist/src/gateway/hono/middleware/strict-rate-limit.d.ts +2 -2
- package/dist/src/gateway/hono/routes/capabilities.d.ts +3 -0
- package/dist/src/gateway/hono/routes/capabilities.js +79 -0
- package/dist/src/gateway/hono/routes/capabilities.js.map +1 -0
- package/dist/src/gateway/hono/routes/commands-skills.js +88 -3
- package/dist/src/gateway/hono/routes/commands-skills.js.map +1 -1
- package/dist/src/gateway/hono/routes/connectors.js +2 -2
- package/dist/src/gateway/hono/routes/goals.js +212 -3
- package/dist/src/gateway/hono/routes/goals.js.map +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 +10 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
- package/dist/src/gateway/hono/routes/mcp.js +1 -1
- package/dist/src/gateway/hono/routes/mobile.d.ts +3 -0
- package/dist/src/gateway/hono/routes/mobile.js +113 -0
- package/dist/src/gateway/hono/routes/mobile.js.map +1 -0
- package/dist/src/gateway/hono/routes/projects.js +45 -0
- package/dist/src/gateway/hono/routes/projects.js.map +1 -1
- package/dist/src/gateway/hono/routes/workspace.js +4 -1
- package/dist/src/gateway/hono/routes/workspace.js.map +1 -1
- package/dist/src/gateway/hono/sse.d.ts +3 -3
- package/dist/src/gateway/service/marketplace-service.d.ts +23 -1
- package/dist/src/gateway/service/marketplace-service.js +57 -6
- package/dist/src/gateway/service/marketplace-service.js.map +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.d.ts +2 -0
- package/dist/src/gateway/service.js +12 -2
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/goals/goal-contract-draft.d.ts +15 -0
- package/dist/src/goals/goal-contract-draft.js +114 -0
- package/dist/src/goals/goal-contract-draft.js.map +1 -0
- package/dist/src/goals/goal-evidence-review.d.ts +15 -0
- package/dist/src/goals/goal-evidence-review.js +91 -0
- package/dist/src/goals/goal-evidence-review.js.map +1 -0
- package/dist/src/goals/goal-runner.js +3 -1
- package/dist/src/goals/goal-runner.js.map +1 -1
- package/dist/src/goals/goal-service.d.ts +17 -1
- package/dist/src/goals/goal-service.js +44 -3
- package/dist/src/goals/goal-service.js.map +1 -1
- package/dist/src/goals/goal-store.d.ts +18 -1
- package/dist/src/goals/goal-store.js +190 -1
- package/dist/src/goals/goal-store.js.map +1 -1
- package/dist/src/goals/index.d.ts +4 -0
- package/dist/src/goals/index.js +3 -1
- package/dist/src/goals/types.d.ts +42 -0
- package/dist/src/mcp/channel-bridge.js +1 -1
- package/dist/src/mobile/notification-service.d.ts +8 -0
- package/dist/src/mobile/notification-service.js +139 -0
- package/dist/src/mobile/notification-service.js.map +1 -0
- package/dist/src/mobile/notification-store.d.ts +28 -0
- package/dist/src/mobile/notification-store.js +134 -0
- package/dist/src/mobile/notification-store.js.map +1 -0
- package/dist/src/mobile/notification-types.d.ts +37 -0
- package/dist/src/mobile/notification-types.js +11 -0
- package/dist/src/mobile/notification-types.js.map +1 -0
- 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 +2 -0
- package/dist/src/projects/project-service.js +6 -0
- package/dist/src/projects/project-service.js.map +1 -1
- package/dist/src/projects/project-store.d.ts +1 -0
- package/dist/src/projects/project-store.js +14 -7
- package/dist/src/projects/project-store.js.map +1 -1
- package/dist/src/projects/types.d.ts +2 -0
- package/dist/src/session/session-title.js +22 -2
- package/dist/src/session/session-title.js.map +1 -1
- package/dist/src/storage/sqlite/migrations/025_project_pinned_at.sql +5 -0
- package/dist/src/storage/sqlite/migrations/026_goal_contracts.sql +10 -0
- package/dist/src/storage/sqlite/migrations/027_mobile_notifications.sql +43 -0
- package/dist/src/storage/sqlite/migrations/028_goal_evidence_requirements.sql +47 -0
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +3 -3
- package/dist/src/storage/sqlite/migrations/runner.js.map +1 -1
- package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/dist/src/storage/sqlite/schema.sql +44 -0
- package/dist/src/tui/tui-startup-resources.js +1 -1
- package/package.json +1 -1
- package/skills/THIRD_PARTY_NOTICES.md +16 -0
- package/skills/creative/algorithmic-art/SKILL.md +37 -0
- package/skills/creative/algorithmic-art/templates/generator-template.js +27 -0
- package/skills/creative/algorithmic-art/templates/viewer.html +27 -0
- package/skills/creative/hatch-pet/SKILL.md +63 -0
- package/skills/documents/doc-coauthoring/SKILL.md +40 -0
- package/skills/documents/doc-coauthoring/references/reader-review.md +9 -0
- package/skills/documents/docx/SKILL.md +40 -0
- package/skills/documents/docx/references/editing-checklist.md +8 -0
- package/skills/documents/docx/scripts/inspect_ooxml.py +36 -0
- package/skills/documents/docx/scripts/render_docx.py +33 -0
- package/skills/documents/pdf/SKILL.md +47 -0
- package/skills/documents/pdf/references/operations.md +16 -0
- package/skills/documents/pdf/scripts/inspect_pdf.py +41 -0
- package/skills/documents/pdf/scripts/render_pdf.py +32 -0
- package/skills/documents/pptx/SKILL.md +41 -0
- package/skills/documents/pptx/references/qa-checklist.md +6 -0
- package/skills/documents/pptx/scripts/inspect_ooxml.py +34 -0
- package/skills/documents/pptx/scripts/render_pptx.py +33 -0
- package/skills/engineering/define-goal/SKILL.md +41 -0
- package/skills/engineering/define-goal/references/objective-rubric.md +12 -0
- package/dist/gateway/static/root/assets/agents-DRYVahI-.js +0 -2
- package/dist/gateway/static/root/assets/app-management-settings-panel-D9-HW6cy.js +0 -1
- package/dist/gateway/static/root/assets/apps-page-BdJ1eQg3.js +0 -1
- package/dist/gateway/static/root/assets/automations-page-D8hYQbkl.js +0 -4
- package/dist/gateway/static/root/assets/browser-settings-page-CiWEO-Iy.js +0 -8
- package/dist/gateway/static/root/assets/capability-presets-api-Bgc8ag55.js +0 -1
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-B1nIi0TC.js +0 -1
- package/dist/gateway/static/root/assets/channel-recipient-api-0sauApoC.js +0 -1
- package/dist/gateway/static/root/assets/channels-settings-BddPdqVo.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-Ba2GDhSE.js +0 -2
- package/dist/gateway/static/root/assets/directory-picker-path-field-CiEc4KmY.js +0 -1
- package/dist/gateway/static/root/assets/dist-By6Rh2ee.js +0 -1
- package/dist/gateway/static/root/assets/dreaming-settings-4bvpk5wr.js +0 -3
- package/dist/gateway/static/root/assets/extension-settings-page-D9VGHmYJ.js +0 -1
- package/dist/gateway/static/root/assets/fetch-5V96dUz3.js +0 -1
- package/dist/gateway/static/root/assets/gateway-config-api-BtIzObwp.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-KFsGGDhg.js +0 -1
- package/dist/gateway/static/root/assets/goal-create-dialog-4PcF6Sh6.js +0 -1
- package/dist/gateway/static/root/assets/goal-detail-page-B482PSaG.js +0 -1
- package/dist/gateway/static/root/assets/goals-config-api-CVN7-pdM.js +0 -1
- package/dist/gateway/static/root/assets/goals-page-CUdgJuDn.js +0 -2
- package/dist/gateway/static/root/assets/goals-settings-IYCH3-Pi.js +0 -1
- package/dist/gateway/static/root/assets/heartbeat-settings-Cf_a2Bmz.js +0 -1
- package/dist/gateway/static/root/assets/index-CA2tR2vm.js +0 -256
- package/dist/gateway/static/root/assets/index-Ds3u0LOk.css +0 -1
- package/dist/gateway/static/root/assets/logs-page-BCporcNH.js +0 -2
- package/dist/gateway/static/root/assets/messages-C22hxE1N.js +0 -3
- package/dist/gateway/static/root/assets/models-hub-panel-D68Pyow7.js +0 -2
- package/dist/gateway/static/root/assets/notes-page-CuUMOiyv.js +0 -1
- package/dist/gateway/static/root/assets/notes-workbench-Dx2N5zTk.js +0 -2
- package/dist/gateway/static/root/assets/project-detail-page-sB8AzZi3.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-LBnJqWK2.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-Dbj0o6SC.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-DhDZKspB.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-BvXLMNL6.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-Cfm9UxAr.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-kQEsTGAs.js +0 -1
- package/dist/gateway/static/root/assets/share-preview-page-DbYZNAPb.js +0 -2
- package/dist/gateway/static/root/assets/shares-settings-BtR4B0kn.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-CJNVOWoK.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-DcWDHrt3.js +0 -2
- package/dist/gateway/static/root/assets/use-channel-catalog-NBqg3iFY.js +0 -1
- package/dist/gateway/static/root/assets/user-profile-settings-panel-suQ2x-LB.js +0 -1
- package/dist/gateway/static/root/assets/vendor-codemirror-BvNgyE1Q.js +0 -45
- package/dist/gateway/static/root/assets/voice-api-key-field-DaJASKFP.js +0 -1
- package/dist/gateway/static/root/assets/work-item-detail-page-BrCZpAWh.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-vyJ8wSXm.js +0 -18
|
@@ -10,24 +10,25 @@
|
|
|
10
10
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.pngv=20260623-2" />
|
|
11
11
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=20260623-2" />
|
|
12
12
|
<title>xopc</title>
|
|
13
|
-
<script type="module" crossorigin src="/assets/index-
|
|
13
|
+
<script type="module" crossorigin src="/assets/index-38TSE7ng.js"></script>
|
|
14
14
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
|
|
15
15
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-zJ_50EbN.js">
|
|
16
16
|
<link rel="modulepreload" crossorigin href="/assets/vendor-react-BOUWij0V.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="/assets/dist-DokQNVMQ.js">
|
|
18
18
|
<link rel="modulepreload" crossorigin href="/assets/Combination-BzaXOLd9.js">
|
|
19
19
|
<link rel="modulepreload" crossorigin href="/assets/dist-CkobR7mk.js">
|
|
20
|
-
<link rel="modulepreload" crossorigin href="/assets/cn-BQ_8x0bT.js">
|
|
21
20
|
<link rel="modulepreload" crossorigin href="/assets/vendor-swr-BIWyz7Rc.js">
|
|
21
|
+
<link rel="modulepreload" crossorigin href="/assets/cn-BQ_8x0bT.js">
|
|
22
22
|
<link rel="modulepreload" crossorigin href="/assets/middleware-Pd0e8Igk.js">
|
|
23
23
|
<link rel="modulepreload" crossorigin href="/assets/locale-store-Ba72bFmP.js">
|
|
24
24
|
<link rel="modulepreload" crossorigin href="/assets/config-reload-event-Bjh2zoKp.js">
|
|
25
|
-
<link rel="modulepreload" crossorigin href="/assets/messages-
|
|
26
|
-
<link rel="modulepreload" crossorigin href="/assets/fetch-
|
|
27
|
-
<link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-
|
|
25
|
+
<link rel="modulepreload" crossorigin href="/assets/messages-YzjnURPJ.js">
|
|
26
|
+
<link rel="modulepreload" crossorigin href="/assets/fetch-BMjlW0g1.js">
|
|
27
|
+
<link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-CY5W2Pp4.js">
|
|
28
28
|
<link rel="modulepreload" crossorigin href="/assets/toast-z0toXu32.js">
|
|
29
|
+
<link rel="modulepreload" crossorigin href="/assets/url-DFGNSBNT.js">
|
|
29
30
|
<link rel="modulepreload" crossorigin href="/assets/theme-store-Bt6vAkSB.js">
|
|
30
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
31
|
+
<link rel="stylesheet" crossorigin href="/assets/index-EKmpPvZj.css">
|
|
31
32
|
</head>
|
|
32
33
|
<body>
|
|
33
34
|
<div id="root"></div>
|
package/dist/package.js
CHANGED
|
@@ -47,4 +47,9 @@ export interface AgentInstanceGateway {
|
|
|
47
47
|
/** Fire-and-forget review (memory + skill nudges) once the main turn finishes. */
|
|
48
48
|
scheduleBackgroundReviewAfterUserTurn(sessionKey: string): void;
|
|
49
49
|
expandSkillUserText(text: string): string;
|
|
50
|
+
prepareSkillTurn(sessionKey: string, text: string): {
|
|
51
|
+
text: string;
|
|
52
|
+
activatedCapabilityNames: string[];
|
|
53
|
+
};
|
|
54
|
+
withSkillCapabilities<T>(sessionKey: string, capabilityNames: readonly string[], run: () => Promise<T>): Promise<T>;
|
|
50
55
|
}
|
|
@@ -9,6 +9,8 @@ import type { AgentInstanceGateway } from './agent-instance-gateway.js';
|
|
|
9
9
|
import { type Config } from '../config/schema.js';
|
|
10
10
|
import { type EffectiveAgentProfile } from '../config/agent-profile.js';
|
|
11
11
|
import type { ModelManager } from './models/manager.js';
|
|
12
|
+
import type { SkillInstallToolOptions, SkillInstallToolResult } from './tools/skill-install-tool.js';
|
|
13
|
+
import { type AgentCapabilityCatalogEntry, type AgentCapabilitySessionState } from './capabilities/index.js';
|
|
12
14
|
import type { GatewayClarifyRequestFn } from './tools/clarify-tool.js';
|
|
13
15
|
import type { ExtensionRegistryImpl as ExtensionRegistry } from '../extensions/index.js';
|
|
14
16
|
import type { MessageBus } from '../infra/bus/index.js';
|
|
@@ -91,6 +93,8 @@ export interface AgentManagerConfig {
|
|
|
91
93
|
onSkillsUpdated?: (payload: {
|
|
92
94
|
reason: 'disk' | 'config';
|
|
93
95
|
}) => void;
|
|
96
|
+
/** Install a managed skill from an explicit source and refresh runtime state. */
|
|
97
|
+
installSkillFromSource?: (opts: SkillInstallToolOptions) => Promise<SkillInstallToolResult>;
|
|
94
98
|
/** Dynamic workspace verification context injected into the system prompt when edits are pending. */
|
|
95
99
|
getSelfVerifyPromptContext?: (sessionKey: string, agentId?: string) => string;
|
|
96
100
|
/**
|
|
@@ -107,16 +111,25 @@ export interface AgentInstance {
|
|
|
107
111
|
resolvedWorkspacePath: string;
|
|
108
112
|
/** Tool names registered on this agent (for skill indexing / tool gating). */
|
|
109
113
|
registeredToolNames: string[];
|
|
114
|
+
/** Capability packs activated by explicit skills or UI entry points in this session. */
|
|
115
|
+
activeCapabilities: Map<string, AgentCapabilitySessionState>;
|
|
110
116
|
activeProjectContext?: string;
|
|
111
117
|
activeSelfVerifyContext?: string;
|
|
112
118
|
/** Declared env var names from skill_view; exec_command reads values from process.env at spawn time. */
|
|
113
119
|
skillEnvPassthroughKeys: Set<string>;
|
|
114
120
|
}
|
|
121
|
+
export interface PreparedSkillTurn {
|
|
122
|
+
text: string;
|
|
123
|
+
activatedCapabilityNames: string[];
|
|
124
|
+
}
|
|
115
125
|
export declare class AgentManager implements AgentInstanceGateway {
|
|
116
126
|
private agents;
|
|
117
127
|
private config;
|
|
118
128
|
private toolsFactory;
|
|
119
129
|
private mergedConfig;
|
|
130
|
+
private activeCapabilityNames;
|
|
131
|
+
private buildActiveCapabilityContext;
|
|
132
|
+
private resolveCapabilityCatalogForInstance;
|
|
120
133
|
/** Default agent workspace (effective profile for `getDefaultAgentId`). */
|
|
121
134
|
private baseWorkspacePath;
|
|
122
135
|
/** Per-session absolute markdown workspace when `SessionAgentConfig.workingDirectoryOverride` is set. */
|
|
@@ -194,6 +207,9 @@ export declare class AgentManager implements AgentInstanceGateway {
|
|
|
194
207
|
* Expand `/skill:name` user text into the full skill block for the current turn (WebChat, channels).
|
|
195
208
|
*/
|
|
196
209
|
expandSkillUserText(text: string): string;
|
|
210
|
+
prepareSkillTurn(sessionKey: string, text: string): PreparedSkillTurn;
|
|
211
|
+
withSkillCapabilities<T>(sessionKey: string, capabilityNames: readonly string[], run: () => Promise<T>): Promise<T>;
|
|
212
|
+
private buildSystemPromptForInstance;
|
|
197
213
|
/** Structured SKILL.md preview for the gateway console. */
|
|
198
214
|
getSkillMarkdownSource(skillName: string): SkillMarkdownPreviewPayload | null;
|
|
199
215
|
private isProjectWorkspaceTrusted;
|
|
@@ -253,6 +269,7 @@ export declare class AgentManager implements AgentInstanceGateway {
|
|
|
253
269
|
private resolveApiKeyWithCache;
|
|
254
270
|
private getSelfVerifyPromptContext;
|
|
255
271
|
private composeDynamicProjectContext;
|
|
272
|
+
getCapabilityCatalogForSession(sessionKey?: string): AgentCapabilityCatalogEntry[];
|
|
256
273
|
private createAgentForProfile;
|
|
257
274
|
private refreshActiveProjectContextIfChanged;
|
|
258
275
|
/**
|
|
@@ -17,7 +17,10 @@ import { clearBootstrapSnapshot } from "./bootstrap/bootstrap-cache.js";
|
|
|
17
17
|
import { resolveBootstrapContextSync } from "./bootstrap/bootstrap-files.js";
|
|
18
18
|
import { loadProjectAgentsContextFile } from "./bootstrap/project-agents-context.js";
|
|
19
19
|
import { createSkillConfigManager, isSkillEnabled, resolveSkillConfig } from "./skills/config.js";
|
|
20
|
+
import { resolveWorkspaceSkillsDir, resolveWorkspaceSkillsLockPath } from "./skills/workspace-skills-dir.js";
|
|
20
21
|
import { isMemorySubsystemEnabled, shouldRegisterCuratedMemoryTool } from "./memory/memory-config.js";
|
|
22
|
+
import { createAgentCapabilitySessionState, resolveAgentCapabilityCatalog } from "./capabilities/registry.js";
|
|
23
|
+
import "./capabilities/index.js";
|
|
21
24
|
import { AgentToolsFactory } from "./tools/factory.js";
|
|
22
25
|
import { parseMcpToolName } from "./mcp/bundle-mcp-policy.js";
|
|
23
26
|
import { disposeAllSessionMcpRuntimes, retireSessionMcpRuntimeForSessionKey } from "./mcp/bundle-mcp-runtime.js";
|
|
@@ -58,6 +61,33 @@ var AgentManager = class {
|
|
|
58
61
|
const base = this.config.config;
|
|
59
62
|
return base ? applyConfigOverrides(base) : void 0;
|
|
60
63
|
}
|
|
64
|
+
activeCapabilityNames(inst) {
|
|
65
|
+
return inst ? [...inst.activeCapabilities.keys()] : [];
|
|
66
|
+
}
|
|
67
|
+
buildActiveCapabilityContext(instance, capabilityNames, registeredToolNames) {
|
|
68
|
+
const availableCatalog = this.resolveCapabilityCatalogForInstance(instance, registeredToolNames).filter((definition) => definition.availableTools.length > 0);
|
|
69
|
+
const definitionsById = new Map(availableCatalog.map((definition) => [definition.id, definition]));
|
|
70
|
+
const definitions = [...new Set(capabilityNames)].map((name) => definitionsById.get(name)).filter((definition) => Boolean(definition));
|
|
71
|
+
if (definitions.length === 0) return void 0;
|
|
72
|
+
return [
|
|
73
|
+
"# Active Capability Packs",
|
|
74
|
+
"",
|
|
75
|
+
"These capability packs are active for the current task. Use their tools only when they directly help satisfy the user request.",
|
|
76
|
+
"",
|
|
77
|
+
...definitions.map((definition) => {
|
|
78
|
+
const tools = definition.availableTools.join(", ");
|
|
79
|
+
const hint = definition.promptHint?.trim() ? `\n Guidance: ${definition.promptHint.trim()}` : "";
|
|
80
|
+
return `- ${definition.id} (${definition.label}): ${definition.description}\n Tools: ${tools}${hint}`;
|
|
81
|
+
})
|
|
82
|
+
].join("\n");
|
|
83
|
+
}
|
|
84
|
+
resolveCapabilityCatalogForInstance(instance, registeredToolNames = instance?.registeredToolNames ?? []) {
|
|
85
|
+
return resolveAgentCapabilityCatalog({
|
|
86
|
+
registeredToolNames,
|
|
87
|
+
lazyToolNames: this.toolsFactory.getLazyCapabilityToolNames(),
|
|
88
|
+
deniedToolNames: instance ? [...instance.effectiveProfile.tools.denied] : []
|
|
89
|
+
});
|
|
90
|
+
}
|
|
61
91
|
/** Default agent workspace (effective profile for `getDefaultAgentId`). */
|
|
62
92
|
baseWorkspacePath;
|
|
63
93
|
/** Per-session absolute markdown workspace when `SessionAgentConfig.workingDirectoryOverride` is set. */
|
|
@@ -227,7 +257,8 @@ var AgentManager = class {
|
|
|
227
257
|
const inst = this.agents.get(ctx.sessionKey);
|
|
228
258
|
if (!inst) return;
|
|
229
259
|
for (const n of names) if (isValidSkillEnvVarName(n)) inst.skillEnvPassthroughKeys.add(n.trim());
|
|
230
|
-
}
|
|
260
|
+
},
|
|
261
|
+
installSkillFromSource: this.config.installSkillFromSource
|
|
231
262
|
};
|
|
232
263
|
}
|
|
233
264
|
getMemoryManager() {
|
|
@@ -287,6 +318,81 @@ var AgentManager = class {
|
|
|
287
318
|
registeredToolNames: inst?.registeredToolNames
|
|
288
319
|
});
|
|
289
320
|
}
|
|
321
|
+
prepareSkillTurn(sessionKey, text) {
|
|
322
|
+
this.getOrCreateAgent(sessionKey);
|
|
323
|
+
const inst = this.agents.get(sessionKey);
|
|
324
|
+
if (!text.includes("/skill:")) return {
|
|
325
|
+
text,
|
|
326
|
+
activatedCapabilityNames: this.activeCapabilityNames(inst)
|
|
327
|
+
};
|
|
328
|
+
const rt = this.getWorkspaceRuntimeForSession(sessionKey);
|
|
329
|
+
const options = {
|
|
330
|
+
skillAllowlist: inst?.effectiveProfile.skillsAllowlist,
|
|
331
|
+
registeredToolNames: inst?.registeredToolNames
|
|
332
|
+
};
|
|
333
|
+
const expanded = text.trimStart().startsWith("/skill:") ? rt.skillManager.expandCommand(text, options) : text;
|
|
334
|
+
const selectedCapabilities = rt.skillManager.getActivatedCapabilitiesForText(text, options);
|
|
335
|
+
const turnOnlyCapabilities = [];
|
|
336
|
+
const now = Date.now();
|
|
337
|
+
for (const capabilityName of selectedCapabilities) {
|
|
338
|
+
const state = createAgentCapabilitySessionState(capabilityName, "skill", now);
|
|
339
|
+
if (!state) continue;
|
|
340
|
+
if (state.ttl === "turn") {
|
|
341
|
+
turnOnlyCapabilities.push(state.id);
|
|
342
|
+
continue;
|
|
343
|
+
}
|
|
344
|
+
inst?.activeCapabilities.set(state.id, state);
|
|
345
|
+
}
|
|
346
|
+
return {
|
|
347
|
+
text: expanded,
|
|
348
|
+
activatedCapabilityNames: [...new Set([...this.activeCapabilityNames(inst), ...turnOnlyCapabilities])]
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
async withSkillCapabilities(sessionKey, capabilityNames, run) {
|
|
352
|
+
const requested = [...new Set(capabilityNames.map((name) => name.trim()).filter(Boolean))];
|
|
353
|
+
if (requested.length === 0) return run();
|
|
354
|
+
this.getOrCreateAgent(sessionKey);
|
|
355
|
+
const inst = this.agents.get(sessionKey);
|
|
356
|
+
if (!inst) return run();
|
|
357
|
+
const activatedTools = this.toolsFactory.createCapabilityTools(requested, { disabledTools: inst.effectiveProfile.tools.denied });
|
|
358
|
+
const existingNames = new Set(inst.registeredToolNames);
|
|
359
|
+
const newTools = activatedTools.filter((tool) => !existingNames.has(tool.name));
|
|
360
|
+
const originalTools = inst.agent.state.tools;
|
|
361
|
+
const originalRegisteredToolNames = inst.registeredToolNames;
|
|
362
|
+
const originalSystemPrompt = inst.agent.state.systemPrompt;
|
|
363
|
+
const nextRegisteredToolNames = [...originalRegisteredToolNames, ...newTools.map((tool) => tool.name)];
|
|
364
|
+
inst.agent.state.tools = newTools.length > 0 ? [...originalTools, ...newTools] : originalTools;
|
|
365
|
+
inst.registeredToolNames = nextRegisteredToolNames;
|
|
366
|
+
inst.agent.state.systemPrompt = this.buildSystemPromptForInstance(inst, nextRegisteredToolNames, requested);
|
|
367
|
+
try {
|
|
368
|
+
return await run();
|
|
369
|
+
} finally {
|
|
370
|
+
inst.agent.state.tools = originalTools;
|
|
371
|
+
inst.registeredToolNames = originalRegisteredToolNames;
|
|
372
|
+
inst.agent.state.systemPrompt = originalSystemPrompt;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
buildSystemPromptForInstance(instance, registeredToolNames = instance.registeredToolNames, activeCapabilityNames = this.activeCapabilityNames(instance)) {
|
|
376
|
+
const cfg = this.config.config;
|
|
377
|
+
const resolvedWorkspacePath = this.getResolvedWorkspaceForSession(instance.sessionKey);
|
|
378
|
+
const rt = this.workspaceRuntimes.getOrCreate(resolvedWorkspacePath);
|
|
379
|
+
const contextFiles = this.resolveContextFilesForSession(instance.sessionKey, instance.effectiveProfile);
|
|
380
|
+
const modelRef = instance.effectiveProfile.primaryModelRef?.trim() || this.defaultModel;
|
|
381
|
+
const thinkingLevel = instance.agent.state.thinkingLevel ?? instance.effectiveProfile.thinkingDefault ?? this.config.thinkingLevel ?? "medium";
|
|
382
|
+
return rt.systemPromptBuilder.build(contextFiles, {
|
|
383
|
+
externalMemoryInstructions: rt.memoryManager.buildExternalSystemPrompt(),
|
|
384
|
+
workspaceOverride: resolvedWorkspacePath,
|
|
385
|
+
profileMarkdownPathRoot: resolveAgentProfileDir(cfg, instance.effectiveProfile.agentId),
|
|
386
|
+
systemPromptOverride: instance.effectiveProfile.systemPromptOverride,
|
|
387
|
+
skillAllowlist: instance.effectiveProfile.skillsAllowlist,
|
|
388
|
+
registeredToolNames,
|
|
389
|
+
sessionKey: instance.sessionKey,
|
|
390
|
+
modelRef,
|
|
391
|
+
agentId: instance.effectiveProfile.agentId,
|
|
392
|
+
thinkingLevel,
|
|
393
|
+
activeProjectContext: this.composeDynamicProjectContext(instance.activeProjectContext, instance.activeSelfVerifyContext, this.buildActiveCapabilityContext(instance, activeCapabilityNames, registeredToolNames))
|
|
394
|
+
});
|
|
395
|
+
}
|
|
290
396
|
/** Structured SKILL.md preview for the gateway console. */
|
|
291
397
|
getSkillMarkdownSource(skillName) {
|
|
292
398
|
const skill = this.getCurrentWorkspaceRuntime().skillManager.findSkill(skillName);
|
|
@@ -339,13 +445,15 @@ var AgentManager = class {
|
|
|
339
445
|
}
|
|
340
446
|
return contextFiles;
|
|
341
447
|
}
|
|
342
|
-
skillCatalogEntryFromSkill(s, skillsConfig = createSkillConfigManager(resolveStateDir()).load(), lock = loadSkillsLock()) {
|
|
448
|
+
skillCatalogEntryFromSkill(s, skillsConfig = createSkillConfigManager(resolveStateDir()).load(), lock = loadSkillsLock(), workspaceLock, workspaceDir) {
|
|
343
449
|
const base = resolve(s.baseDir);
|
|
344
|
-
const
|
|
450
|
+
const workspaceRoot = workspaceDir ? resolveWorkspaceSkillsDir(workspaceDir) : "";
|
|
451
|
+
const workspaceManaged = workspaceRoot ? s.source === "workspace" && base.startsWith(resolve(workspaceRoot) + sep) : false;
|
|
452
|
+
const managed = isUnderManagedSkillsDir(s.baseDir) || workspaceManaged;
|
|
345
453
|
const directoryId = base.split(sep).filter(Boolean).pop() || s.name;
|
|
346
454
|
const enabled = !(skillsConfig.entries?.[s.name]?.enabled === false);
|
|
347
455
|
const hubKey = managed ? basename(base) : "";
|
|
348
|
-
const hub = managed && hubKey ? lock
|
|
456
|
+
const hub = managed && hubKey ? (workspaceManaged ? workspaceLock : lock)?.entries[hubKey] : void 0;
|
|
349
457
|
return {
|
|
350
458
|
directoryId,
|
|
351
459
|
name: s.name,
|
|
@@ -365,9 +473,12 @@ var AgentManager = class {
|
|
|
365
473
|
getSkillCatalogSnapshot() {
|
|
366
474
|
const skillsConfig = createSkillConfigManager(resolveStateDir()).load();
|
|
367
475
|
const lock = loadSkillsLock();
|
|
476
|
+
const sessionKey = this.config.getCurrentContext?.()?.sessionKey;
|
|
477
|
+
const workspaceDir = sessionKey ? this.getResolvedWorkspaceForSession(sessionKey) : this.baseWorkspacePath;
|
|
478
|
+
const workspaceLock = loadSkillsLock(resolveWorkspaceSkillsLockPath(workspaceDir));
|
|
368
479
|
const rt = this.getCurrentWorkspaceRuntime();
|
|
369
480
|
return {
|
|
370
|
-
catalog: rt.skillManager.getSkills().map((s) => this.skillCatalogEntryFromSkill(s, skillsConfig, lock)),
|
|
481
|
+
catalog: rt.skillManager.getSkills().map((s) => this.skillCatalogEntryFromSkill(s, skillsConfig, lock, workspaceLock, workspaceDir)),
|
|
371
482
|
version: rt.skillManager.getVersion(),
|
|
372
483
|
loadedAt: rt.skillManager.getLoadedAt(),
|
|
373
484
|
diagnostics: rt.skillManager.getDiagnostics(),
|
|
@@ -381,6 +492,7 @@ var AgentManager = class {
|
|
|
381
492
|
const rt = this.workspaceRuntimes.getOrCreate(profile.resolvedWorkspacePath);
|
|
382
493
|
const skillsConfig = createSkillConfigManager(resolveStateDir()).load();
|
|
383
494
|
const lock = loadSkillsLock();
|
|
495
|
+
const workspaceLock = loadSkillsLock(resolveWorkspaceSkillsLockPath(profile.resolvedWorkspacePath));
|
|
384
496
|
const allow = profile.skillsAllowlist === void 0 ? void 0 : new Set(profile.skillsAllowlist.map((s) => s.toLowerCase()));
|
|
385
497
|
const skills = rt.skillManager.getSkills().map((s) => {
|
|
386
498
|
let unavailableReason = null;
|
|
@@ -389,7 +501,7 @@ var AgentManager = class {
|
|
|
389
501
|
else if (!isSkillEnabled(s, skillsConfig)) unavailableReason = "requirements-unmet";
|
|
390
502
|
else if (allow !== void 0 && !allow.has(s.name.toLowerCase())) unavailableReason = "agent-denied";
|
|
391
503
|
return {
|
|
392
|
-
...this.skillCatalogEntryFromSkill(s, skillsConfig, lock),
|
|
504
|
+
...this.skillCatalogEntryFromSkill(s, skillsConfig, lock, workspaceLock, profile.resolvedWorkspacePath),
|
|
393
505
|
availableForCurrentAgent: unavailableReason === null,
|
|
394
506
|
unavailableReason
|
|
395
507
|
};
|
|
@@ -544,6 +656,7 @@ var AgentManager = class {
|
|
|
544
656
|
effectiveProfile: profile,
|
|
545
657
|
resolvedWorkspacePath: resolvedPath,
|
|
546
658
|
registeredToolNames,
|
|
659
|
+
activeCapabilities: /* @__PURE__ */ new Map(),
|
|
547
660
|
activeProjectContext,
|
|
548
661
|
activeSelfVerifyContext,
|
|
549
662
|
skillEnvPassthroughKeys: /* @__PURE__ */ new Set()
|
|
@@ -701,8 +814,12 @@ var AgentManager = class {
|
|
|
701
814
|
getSelfVerifyPromptContext(sessionKey, agentId) {
|
|
702
815
|
return this.config.getSelfVerifyPromptContext?.(sessionKey, agentId).trim() ?? "";
|
|
703
816
|
}
|
|
704
|
-
composeDynamicProjectContext(
|
|
705
|
-
return
|
|
817
|
+
composeDynamicProjectContext(...sections) {
|
|
818
|
+
return sections.map((section) => section?.trim()).filter((section) => Boolean(section)).join("\n\n") || void 0;
|
|
819
|
+
}
|
|
820
|
+
getCapabilityCatalogForSession(sessionKey) {
|
|
821
|
+
const inst = sessionKey?.trim() ? this.agents.get(sessionKey.trim()) : void 0;
|
|
822
|
+
return this.resolveCapabilityCatalogForInstance(inst);
|
|
706
823
|
}
|
|
707
824
|
createAgentForProfile(sessionKey, profile, resolvedWorkspacePath, rt, activeProjectContext, activeSelfVerifyContext) {
|
|
708
825
|
const modelRef = profile.primaryModelRef?.trim() || this.defaultModel;
|