@xopcai/xopc 0.0.111 → 0.0.113
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/icons/icon-128.png +0 -0
- package/dist/browser-ext/icons/icon-16.png +0 -0
- package/dist/browser-ext/icons/icon-32.png +0 -0
- package/dist/browser-ext/icons/icon-48.png +0 -0
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
- 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/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/update-offset-store.js +1 -1
- 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 +2 -2
- package/dist/extensions/weixin/src/auth/accounts.js +1 -1
- package/dist/extensions/weixin/src/cdn/upload.js +1 -1
- package/dist/extensions/weixin/src/delivery-to.d.ts +3 -3
- package/dist/extensions/weixin/src/delivery-to.js.map +1 -1
- package/dist/extensions/weixin/src/media/data-url.js +1 -1
- package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
- package/dist/extensions/weixin/src/messaging/inbound.js +1 -1
- package/dist/extensions/weixin/src/messaging/process-message.js +1 -1
- package/dist/extensions/weixin/src/plugin.js +1 -1
- package/dist/extensions/weixin/src/storage/sync-buf.js +1 -1
- package/dist/extensions/weixin/src/workflow-progress.js +1 -1
- package/dist/gateway/static/root/apple-touch-icon.png +0 -0
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-zlx9l5Yp.js → agent-avatar-dicebear-CBlklyNr.js} +1 -1
- package/dist/gateway/static/root/assets/agent-browser-settings-page-rGbKc2Hh.js +6 -0
- package/dist/gateway/static/root/assets/{agent-defaults-tabbed-page-Bz7JWjRM.js → agent-defaults-tabbed-page-CtwVbjOA.js} +1 -1
- package/dist/gateway/static/root/assets/agents-CCBmGcwc.js +71 -0
- package/dist/gateway/static/root/assets/{app-management-settings-panel-DaQwdeCq.js → app-management-settings-panel-28E_WfMe.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-D2zv6r3P.js → appearance-settings-Do1z0XgJ.js} +1 -1
- package/dist/gateway/static/root/assets/{apps-page-BIppe_jj.js → apps-page-xwCsJS15.js} +1 -1
- package/dist/gateway/static/root/assets/{archive-plugin-DEmu8eH7.js → archive-plugin-BAFlsov_.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-B98lJoN5.js → attachment-load-V3qGPC3x.js} +1 -1
- package/dist/gateway/static/root/assets/{binary-plugins-CL9QKmyo.js → binary-plugins-DT8NvA6W.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-BOAhMAhT.js → block-editor-CdLMEcHd.js} +1 -1
- package/dist/gateway/static/root/assets/{channels-settings-Br8iRnXp.js → channels-settings-C044DcYk.js} +1 -1
- package/dist/gateway/static/root/assets/{config-api-0o1WYdz2.js → config-api-Bf5mjpu7.js} +1 -1
- package/dist/gateway/static/root/assets/config-reload-event-Bjh2zoKp.js +1 -0
- package/dist/gateway/static/root/assets/connectors-settings-8VEWUOTj.js +2 -0
- package/dist/gateway/static/root/assets/cron-api--pAB_rps.js +1 -0
- package/dist/gateway/static/root/assets/cron-page-DqmNGNOy.js +3 -0
- package/dist/gateway/static/root/assets/dreaming-settings-6UZE1FSK.js +1 -0
- package/dist/gateway/static/root/assets/{extension-debug-page-Cjx6pZVz.js → extension-debug-page-BGhE7msg.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-BSPNL90V.js → extension-page-CvpI45WG.js} +1 -1
- package/dist/gateway/static/root/assets/extension-settings-page-DAmR5FUe.js +1 -0
- package/dist/gateway/static/root/assets/{fetch-Bs7in_4F.js → fetch-NZmjSXLl.js} +1 -1
- package/dist/gateway/static/root/assets/format-cron-label-BsotZDO5.js +2 -0
- package/dist/gateway/static/root/assets/{format-interval-label-CftJ5uXu.js → format-interval-label-qhth3BMV.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-api-Clfck-hW.js → gateway-config-api-CaXBt-9R.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-settings-DphpbLBc.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-BkjVJc38.js → gateway-startup-retry-Be1omjh3.js} +1 -1
- package/dist/gateway/static/root/assets/{goal-detail-page-kqJue0sE.js → goal-detail-page-bv0VRDaf.js} +1 -1
- package/dist/gateway/static/root/assets/goals-page-1Ywnt4Cb.js +2 -0
- package/dist/gateway/static/root/assets/{goals-settings-CJnzNSDo.js → goals-settings-ceEBjnfc.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-config-api-Cp7CPuIn.js → heartbeat-config-api-BzO6G4fD.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-settings-ifSI1Wbh.js → heartbeat-settings-DCST9-du.js} +1 -1
- package/dist/gateway/static/root/assets/index-Cxm6xsps.js +122 -0
- package/dist/gateway/static/root/assets/index-b_R4tKqt.css +1 -0
- package/dist/gateway/static/root/assets/interval-presets-DJmshV8n.js +1 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings--MI1rYl7.js → keyboard-shortcuts-settings-9AUUlQ5Q.js} +1 -1
- package/dist/gateway/static/root/assets/{logs-page-BwrVNlyW.js → logs-page-B_wrxhee.js} +1 -1
- package/dist/gateway/static/root/assets/{markdown-split-B_oc9lJe.js → markdown-split-CYYELqAr.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-DLPvB5H3.js → media-plugins-BEcMR2M8.js} +1 -1
- package/dist/gateway/static/root/assets/messages-CkT-lcgP.js +3 -0
- package/dist/gateway/static/root/assets/models-hub-panel-D0JDSbNu.js +2 -0
- package/dist/gateway/static/root/assets/note-detail-page-DpFV-EO6.js +2 -0
- package/dist/gateway/static/root/assets/{note-image-lightbox-rSqAgOi9.js → note-image-lightbox-DNAoPcmm.js} +1 -1
- package/dist/gateway/static/root/assets/{notes-page-C9ACGEty.js → notes-page-CdkjTch8.js} +1 -1
- package/dist/gateway/static/root/assets/{preview-open-alternatives-Bw_N2oZi.js → preview-open-alternatives-BPLz0AIv.js} +1 -1
- package/dist/gateway/static/root/assets/{remote-access-hub-BhcWIKuM.js → remote-access-hub-DSYVAi96.js} +1 -1
- package/dist/gateway/static/root/assets/{save-bar-controls-CNP2jmw0.js → save-bar-controls-CrWwWRVK.js} +1 -1
- package/dist/gateway/static/root/assets/schedule-field-CF2sadvN.js +1 -0
- package/dist/gateway/static/root/assets/{schema-form-CDPzua9q.js → schema-form-Di5cKjYE.js} +1 -1
- package/dist/gateway/static/root/assets/{sessions-page-DzkpSDZr.js → sessions-page-CenkcVjF.js} +1 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-D9sva86V.js +1 -0
- package/dist/gateway/static/root/assets/{settings-collapsible-section-C9bff85B.js → settings-collapsible-section-Chh282jW.js} +1 -1
- package/dist/gateway/static/root/assets/settings-form-section-Dq-83cQd.js +1 -0
- package/dist/gateway/static/root/assets/{settings-page-DWK4Zo7s.js → settings-page-DL35U0x0.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-Ctwbp9Er.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-DnutoY_S.js → share-preview-page-0FXYnSUA.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-settings-6oRgJMpn.js → shares-settings-DIM3JNsr.js} +1 -1
- package/dist/gateway/static/root/assets/skill-reload-api-DAlNaNzL.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-CLrHVzAt.js +2 -0
- package/dist/gateway/static/root/assets/{system-settings-panel-qP1JDtDd.js → system-settings-panel-W1pTcojB.js} +1 -1
- package/dist/gateway/static/root/assets/use-agent-defaults-form-BVRvkK7m.js +1 -0
- package/dist/gateway/static/root/assets/{use-channel-catalog-C4mg1hjD.js → use-channel-catalog-CgJibfMM.js} +1 -1
- package/dist/gateway/static/root/assets/{use-settings-tab-guard-F6C0mpJt.js → use-settings-tab-guard-Bw_qkRQE.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-api-key-field-BnDDb6qO.js → voice-api-key-field-vYAO71Gn.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-player-store-B2EwIhtY.js → voice-player-store-C7lziaAx.js} +1 -1
- package/dist/gateway/static/root/assets/{workflow-page.utils-CRB7WX9l.js → workflow-page.utils-sgHjOXOm.js} +1 -1
- package/dist/gateway/static/root/assets/{workflows-page-2Fptr0je.js → workflows-page-DYyOTmFx.js} +1 -1
- package/dist/gateway/static/root/favicon-16x16.png +0 -0
- package/dist/gateway/static/root/favicon-32x32.png +0 -0
- package/dist/gateway/static/root/favicon-icon.svg +1 -0
- package/dist/gateway/static/root/favicon.ico +0 -0
- package/dist/gateway/static/root/favicon.png +0 -0
- package/dist/gateway/static/root/favicon.svg +24 -15
- package/dist/gateway/static/root/index.html +11 -10
- package/dist/gateway/static/root/logo-dark.svg +23 -15
- package/dist/gateway/static/root/logo.svg +23 -16
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-manager.d.ts +28 -2
- package/dist/src/agent/agent-manager.js +82 -11
- package/dist/src/agent/agent-manager.js.map +1 -1
- package/dist/src/agent/agent-scope.js +1 -1
- package/dist/src/agent/bootstrap/load-bootstrap-files.js +1 -1
- package/dist/src/agent/context/workspace-seed.js +2 -2
- package/dist/src/agent/context/workspace-state.js +1 -1
- package/dist/src/agent/context/workspace.js +1 -1
- package/dist/src/agent/goals/goal-locale.js +2 -2
- package/dist/src/agent/goals/persistent-goal-service.js +1 -1
- package/dist/src/agent/goals/post-turn.js +3 -3
- package/dist/src/agent/image/load-image-media.js +2 -2
- package/dist/src/agent/ipc/inbox.js +3 -3
- package/dist/src/agent/ipc/socket.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/builtin-memory-store.js +1 -1
- package/dist/src/agent/memory/dreaming/deep-promotion.js +1 -1
- package/dist/src/agent/memory/dreaming/events.js +1 -1
- package/dist/src/agent/memory/dreaming/last-run.js +1 -1
- package/dist/src/agent/memory/dreaming/light-sweep.js +1 -1
- package/dist/src/agent/memory/dreaming/preview.js +1 -1
- package/dist/src/agent/memory/dreaming/rem-patterns.js +1 -1
- package/dist/src/agent/memory/dreaming/short-term-store.js +1 -1
- package/dist/src/agent/memory/dreaming/utils.js +1 -1
- package/dist/src/agent/memory/memory-flush.js +1 -1
- package/dist/src/agent/memory/plugin-discovery.js +1 -1
- package/dist/src/agent/messaging/command-handler.d.ts +3 -0
- package/dist/src/agent/messaging/command-handler.js +5 -0
- package/dist/src/agent/messaging/command-handler.js.map +1 -1
- package/dist/src/agent/models/manager.js +1 -1
- package/dist/src/agent/prompt/memory/index.js +1 -1
- package/dist/src/agent/prompt/service-prompt-builder.js +2 -2
- package/dist/src/agent/reply/post-compaction-context.js +1 -1
- package/dist/src/agent/reply/workspace-boundary-read.js +1 -1
- package/dist/src/agent/sandbox/path-policy.js +2 -2
- package/dist/src/agent/service/process-direct-streaming.js +9 -4
- package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
- package/dist/src/agent/service/reconcile-dreaming-cron.js +8 -5
- package/dist/src/agent/service/reconcile-dreaming-cron.js.map +1 -1
- package/dist/src/agent/service.d.ts +2 -1
- package/dist/src/agent/service.js +10 -5
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/service.types.d.ts +4 -0
- package/dist/src/agent/session/session-config-service.d.ts +8 -0
- package/dist/src/agent/session/session-config-service.js +20 -0
- package/dist/src/agent/session/session-config-service.js.map +1 -1
- package/dist/src/agent/session/session-inspector.js +1 -1
- package/dist/src/agent/skills/config.js +2 -2
- package/dist/src/agent/skills/filesystem-watcher.d.ts +19 -0
- package/dist/src/agent/skills/filesystem-watcher.js +182 -0
- package/dist/src/agent/skills/filesystem-watcher.js.map +1 -0
- package/dist/src/agent/skills/hub-hash.js +2 -2
- package/dist/src/agent/skills/hub-lock.js +1 -1
- package/dist/src/agent/skills/hub-pull.js +30 -36
- package/dist/src/agent/skills/hub-pull.js.map +1 -1
- package/dist/src/agent/skills/index.js +82 -38
- package/dist/src/agent/skills/index.js.map +1 -1
- package/dist/src/agent/skills/installer.js +2 -2
- package/dist/src/agent/skills/managed-store.d.ts +19 -0
- package/dist/src/agent/skills/managed-store.js +97 -38
- package/dist/src/agent/skills/managed-store.js.map +1 -1
- package/dist/src/agent/skills/skill-manage-ops.js +1 -1
- package/dist/src/agent/skills/skill-manager.d.ts +16 -6
- package/dist/src/agent/skills/skill-manager.js +79 -24
- package/dist/src/agent/skills/skill-manager.js.map +1 -1
- package/dist/src/agent/skills/skill-view-path.js +1 -1
- package/dist/src/agent/skills/test-framework.js +1 -1
- package/dist/src/agent/skills/types.d.ts +11 -0
- package/dist/src/agent/skills/watcher.js +1 -1
- package/dist/src/agent/starter-agents.js +1 -1
- package/dist/src/agent/tools/cronjob-tool.d.ts +6 -3
- package/dist/src/agent/tools/cronjob-tool.js +58 -23
- package/dist/src/agent/tools/cronjob-tool.js.map +1 -1
- package/dist/src/agent/tools/dreaming-tool.js +1 -1
- package/dist/src/agent/tools/factory.js +1 -1
- package/dist/src/agent/tools/find.js +1 -1
- package/dist/src/agent/tools/grep.js +1 -1
- package/dist/src/agent/tools/image-generate-tool.js +1 -1
- package/dist/src/agent/tools/skill-manage-tool.js +1 -1
- package/dist/src/agent/tools/workflow-tool.js +1 -1
- package/dist/src/agent/workflow/catalog.js +1 -1
- package/dist/src/agent/workspace-runtime/registry.d.ts +5 -0
- package/dist/src/agent/workspace-runtime/registry.js +7 -0
- package/dist/src/agent/workspace-runtime/registry.js.map +1 -1
- package/dist/src/ai-assist/text-assist.d.ts +42 -0
- package/dist/src/ai-assist/text-assist.js +252 -0
- package/dist/src/ai-assist/text-assist.js.map +1 -0
- package/dist/src/auth/credentials.js +2 -2
- package/dist/src/auth/profiles/store.js +2 -2
- package/dist/src/auth/sync-provider-auth.js +1 -1
- package/dist/src/browser/cache-dir-policy.js +1 -1
- package/dist/src/browser/cdp-local-launcher.js +2 -2
- package/dist/src/browser/providers/browser-ext-install.js +4 -4
- package/dist/src/browser/providers/cloakbrowser.js +5 -5
- package/dist/src/browser/providers/playwright-doctor.js +1 -1
- package/dist/src/browser/stealth.js +1 -1
- package/dist/src/channels/outbound/persist-store.js +1 -1
- package/dist/src/channels/pairing/allow-from-file.js +1 -1
- package/dist/src/channels/pairing/pairing-store.js +2 -2
- package/dist/src/channels/plugins/types.adapters.d.ts +2 -2
- package/dist/src/chat-commands/agent-edit.js +2 -2
- package/dist/src/chat-commands/builtins/config.js +3 -3
- package/dist/src/chat-commands/builtins/system.js +11 -4
- package/dist/src/chat-commands/builtins/system.js.map +1 -1
- package/dist/src/chat-commands/context.d.ts +3 -0
- package/dist/src/chat-commands/context.js +7 -0
- package/dist/src/chat-commands/context.js.map +1 -1
- package/dist/src/chat-commands/types.d.ts +2 -0
- package/dist/src/cli/commands/config.js +1 -1
- package/dist/src/cli/commands/cron.js +55 -16
- package/dist/src/cli/commands/cron.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/config-health.js +1 -1
- package/dist/src/cli/commands/doctor/checks/cron-health.js +2 -83
- package/dist/src/cli/commands/doctor/checks/cron-health.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/doctor/checks/provider-auth.js +1 -1
- package/dist/src/cli/commands/doctor/checks/state-integrity.js +1 -1
- package/dist/src/cli/commands/doctor/checks/workspace-status.js +1 -1
- package/dist/src/cli/commands/extension-create.js +1 -1
- package/dist/src/cli/commands/extension-dev.js +2 -2
- package/dist/src/cli/commands/extension-marketplace.js +2 -2
- package/dist/src/cli/commands/extension-pack.js +2 -2
- package/dist/src/cli/commands/extension.js +3 -3
- package/dist/src/cli/commands/gateway/logs.js +1 -1
- package/dist/src/cli/commands/image.js +1 -1
- package/dist/src/cli/commands/init.js +2 -2
- package/dist/src/cli/commands/models.js +1 -1
- package/dist/src/cli/commands/skills-test.js +1 -1
- package/dist/src/cli/templates.js +1 -1
- package/dist/src/cli/utils/gateway-client.js +1 -1
- package/dist/src/cli/utils/init-workspace-core.js +2 -2
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/agent-typed-models.js +1 -1
- package/dist/src/config/gateway-bind.js +1 -1
- package/dist/src/config/index.js +7 -7
- package/dist/src/config/loader.js +4 -4
- package/dist/src/config/models-json.js +2 -2
- package/dist/src/config/paths-state.js +1 -1
- package/dist/src/config/paths.js +1 -1
- package/dist/src/config/profile.js +1 -1
- package/dist/src/config/reload.js +1 -1
- package/dist/src/config/schema.d.ts +0 -2
- package/dist/src/config/schema.js +0 -3
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/config/web-patch.d.ts +0 -1
- package/dist/src/config/web-patch.js +0 -2
- package/dist/src/config/web-patch.js.map +1 -1
- package/dist/src/config/workspace-path.js +1 -1
- package/dist/src/cron/executor.js +102 -71
- package/dist/src/cron/executor.js.map +1 -1
- package/dist/src/cron/index.d.ts +1 -1
- package/dist/src/cron/index.js +3 -3
- package/dist/src/cron/run-log-store.d.ts +1 -0
- package/dist/src/cron/run-log-store.js +4 -2
- package/dist/src/cron/run-log-store.js.map +1 -1
- package/dist/src/cron/schedule.d.ts +10 -0
- package/dist/src/cron/schedule.js +85 -0
- package/dist/src/cron/schedule.js.map +1 -0
- package/dist/src/cron/service.d.ts +34 -77
- package/dist/src/cron/service.js +327 -264
- package/dist/src/cron/service.js.map +1 -1
- package/dist/src/cron/types.d.ts +80 -50
- package/dist/src/cron/validation.d.ts +358 -90
- package/dist/src/cron/validation.js +152 -132
- package/dist/src/cron/validation.js.map +1 -1
- package/dist/src/cron/workflow-run-completion.js +1 -1
- package/dist/src/daemon/constants.js +1 -1
- package/dist/src/daemon/install-plan.js +2 -2
- package/dist/src/daemon/launchd.js +2 -2
- package/dist/src/daemon/schtasks.js +2 -2
- package/dist/src/daemon/systemd.js +2 -2
- package/dist/src/extensions/bundle-mcp.js +1 -1
- package/dist/src/extensions/discover-extensions.js +2 -2
- package/dist/src/extensions/health.js +1 -1
- package/dist/src/extensions/install.js +2 -2
- package/dist/src/extensions/loader.js +2 -2
- package/dist/src/extensions/lockfile.js +3 -3
- package/dist/src/extensions/security.js +1 -1
- package/dist/src/extensions/update.js +2 -2
- package/dist/src/gateway/agents-admin.js +2 -2
- package/dist/src/gateway/chat-stream/mapper.d.ts +1 -0
- package/dist/src/gateway/chat-stream/mapper.js +6 -2
- 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/file-path-classifier.js +2 -2
- package/dist/src/gateway/hono/lib/config-payload.d.ts +0 -1
- package/dist/src/gateway/hono/lib/config-payload.js +1 -1
- package/dist/src/gateway/hono/lib/extension-store.js +2 -2
- package/dist/src/gateway/hono/lib/static-ui.js +2 -2
- package/dist/src/gateway/hono/oauth-async.js +1 -1
- package/dist/src/gateway/hono/routes/agents.js +1 -1
- package/dist/src/gateway/hono/routes/ai-assist.d.ts +3 -0
- package/dist/src/gateway/hono/routes/ai-assist.js +66 -0
- package/dist/src/gateway/hono/routes/ai-assist.js.map +1 -0
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
- 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/config-patch/misc.js +1 -1
- package/dist/src/gateway/hono/routes/cron.js +24 -5
- package/dist/src/gateway/hono/routes/cron.js.map +1 -1
- package/dist/src/gateway/hono/routes/dreaming.js +1 -1
- package/dist/src/gateway/hono/routes/home.js +5 -3
- package/dist/src/gateway/hono/routes/home.js.map +1 -1
- package/dist/src/gateway/hono/routes/host-fs.js +2 -2
- package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
- package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
- package/dist/src/gateway/hono/routes/models.js +1 -1
- package/dist/src/gateway/hono/routes/shares.js +1 -1
- package/dist/src/gateway/hono/routes/workflows.js +2 -2
- package/dist/src/gateway/hono/routes/workspace.js +2 -2
- package/dist/src/gateway/lock.js +3 -3
- package/dist/src/gateway/ports.js +1 -1
- package/dist/src/gateway/service/agent-runner.js +2 -2
- package/dist/src/gateway/service/config-coordinator.js +1 -1
- package/dist/src/gateway/service/marketplace-service.d.ts +22 -10
- package/dist/src/gateway/service/marketplace-service.js +46 -5
- package/dist/src/gateway/service/marketplace-service.js.map +1 -1
- package/dist/src/gateway/service.js +11 -5
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/gateway/workspace-fs-file-list.js +1 -1
- package/dist/src/goals/goal-notifications.js +1 -1
- package/dist/src/goals/goal-workflow-judge.js +3 -3
- package/dist/src/i18n/goals-bundle.js +1 -1
- package/dist/src/i18n/index.js +1 -1
- package/dist/src/i18n/share-tool-bundle.js +2 -2
- package/dist/src/infra/brew.js +1 -1
- package/dist/src/infra/package-json.js +1 -1
- package/dist/src/infra/package-update-steps.js +1 -1
- package/dist/src/infra/path-env.js +2 -2
- package/dist/src/infra/restart.js +1 -1
- package/dist/src/infra/stable-node-path.js +1 -1
- package/dist/src/infra/update-check.js +1 -1
- package/dist/src/infra/update-global.js +1 -1
- package/dist/src/infra/update-lock.js +2 -2
- package/dist/src/infra/update-restart.js +1 -1
- package/dist/src/infra/update-runner.js +1 -1
- package/dist/src/infra/update-startup.js +1 -1
- package/dist/src/infra/write-file-atomic.js +2 -2
- package/dist/src/media/store.js +1 -1
- package/dist/src/notes/agent-context.js +1 -1
- package/dist/src/notes/service.js +1 -1
- package/dist/src/notes/store.js +2 -2
- package/dist/src/project-trust/trust-store.js +2 -2
- package/dist/src/providers/auth-runtime/auth-profile-store.js +1 -1
- package/dist/src/providers/index.js +1 -1
- package/dist/src/providers/model-registry.js +4 -4
- package/dist/src/session/init-session-turn.js +2 -2
- package/dist/src/session/resolve-session.js +3 -3
- package/dist/src/session/session-title.js +2 -2
- package/dist/src/session/store-reader.d.ts +5 -0
- package/dist/src/session/store-reader.js +1 -0
- package/dist/src/session/store.js +1 -1
- package/dist/src/share/share-auto.js +2 -2
- package/dist/src/share/share-store.js +3 -3
- package/dist/src/share/share-thumbnail.js +2 -2
- package/dist/src/share/share-zip.js +1 -1
- package/dist/src/share/site-share-store.js +3 -3
- package/dist/src/share/site-static-serve.js +1 -1
- package/dist/src/storage/sqlite/connection.js +1 -1
- package/dist/src/storage/sqlite/cron-job-repository.d.ts +6 -0
- package/dist/src/storage/sqlite/cron-job-repository.js +70 -0
- package/dist/src/storage/sqlite/cron-job-repository.js.map +1 -0
- package/dist/src/storage/sqlite/cron-run-repository.js +0 -1
- package/dist/src/storage/sqlite/cron-run-repository.js.map +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/memory-index-repository.js +2 -2
- package/dist/src/storage/sqlite/migrations/009_cron_jobs.sql +24 -0
- package/dist/src/storage/sqlite/migrations/discover.js +1 -1
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +4 -4
- 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 +2 -2
- package/dist/src/storage/sqlite/schema.sql +25 -0
- package/dist/src/tui/clipboard-image.js +3 -3
- package/dist/src/tui/extension-host/load-extensions.js +1 -1
- package/dist/src/tui/theme-manager.js +1 -1
- package/dist/src/tui/tui-command-formatters.js +4 -4
- package/dist/src/tui/tui-commands.js +2 -2
- package/dist/src/tui/tui-keybindings-file.js +1 -1
- package/dist/src/tui/tui-scoped-models.js +2 -2
- package/dist/src/tui/tui-settings.js +1 -1
- package/dist/src/tui/tui-startup-resources.js +1 -1
- package/dist/src/tui/tui.js +6 -6
- package/dist/src/tunnel/frpc-binary.js +4 -4
- package/dist/src/tunnel/frpc-config.js +1 -1
- package/dist/src/tunnel/frpc-extract.js +1 -1
- package/dist/src/tunnel/tunnel-state.js +1 -1
- package/dist/src/utils/logger/audit.js +1 -1
- package/dist/src/utils/logger/log-store.js +1 -1
- package/dist/src/utils/logger/rotation.js +1 -1
- package/dist/src/utils/logger/streams.js +1 -1
- package/dist/src/voice/tts/audio.js +1 -1
- package/dist/src/voice/tts/providers/edge-speech.js +2 -2
- package/dist/src/workflows/draft/workflow-draft-service.js +1 -1
- package/dist/src/workflows/engine/projector.js +23 -14
- package/dist/src/workflows/engine/projector.js.map +1 -1
- package/dist/src/workflows/engine/workflow-engine.d.ts +1 -0
- package/dist/src/workflows/engine/workflow-engine.js +36 -0
- package/dist/src/workflows/engine/workflow-engine.js.map +1 -1
- package/dist/src/workflows/index.js +1 -1
- package/dist/src/workflows/service/workflow-run-service.js +2 -2
- package/dist/src/workflows/service/workflow-session-bridge.js +2 -2
- package/dist/src/workflows/store/event-store.js +1 -1
- package/dist/src/workflows/store/run-store.js +1 -1
- package/package.json +2 -3
- package/dist/gateway/static/root/assets/agent-browser-settings-page-B-0zGjt8.js +0 -6
- package/dist/gateway/static/root/assets/agents-DwDnJlXT.js +0 -71
- package/dist/gateway/static/root/assets/connectors-settings-DDvHo9in.js +0 -2
- package/dist/gateway/static/root/assets/cron-api-Dj_UZKST.js +0 -1
- package/dist/gateway/static/root/assets/cron-page-Dv7GII9G.js +0 -1
- package/dist/gateway/static/root/assets/cron-schedule-picker-DH10KgD6.js +0 -1
- package/dist/gateway/static/root/assets/dreaming-settings-L2rgZDQl.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-m_UQYkVc.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-CS177xni.js +0 -1
- package/dist/gateway/static/root/assets/goals-page-C0FujUB5.js +0 -2
- package/dist/gateway/static/root/assets/index-COkF54xv.js +0 -121
- package/dist/gateway/static/root/assets/index-DIaSNGEO.css +0 -1
- package/dist/gateway/static/root/assets/interval-presets-B29Ss_2y.js +0 -2
- package/dist/gateway/static/root/assets/messages-Csef1aW7.js +0 -3
- package/dist/gateway/static/root/assets/models-hub-panel-DHGiTIvf.js +0 -2
- package/dist/gateway/static/root/assets/note-detail-page-BM7zlDiT.js +0 -2
- package/dist/gateway/static/root/assets/schedule-field-BPAWui3P.js +0 -1
- package/dist/gateway/static/root/assets/schedule-summary-B-hdSRdR.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-BYS-rpzn.js +0 -1
- package/dist/gateway/static/root/assets/settings-form-section-BsrK7TBF.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-DJiksNu4.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-CU9i0nJV.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-ERbdWENm.js +0 -2
- package/dist/gateway/static/root/assets/use-agent-defaults-form-D3FGVLZb.js +0 -1
- package/dist/gateway/static/root/favicon-16.png +0 -0
- package/dist/gateway/static/root/favicon-32.png +0 -0
- package/dist/src/cron/persistence.d.ts +0 -62
- package/dist/src/cron/persistence.js +0 -188
- package/dist/src/cron/persistence.js.map +0 -1
|
@@ -1,18 +1,27 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="10 10 80 80" fill="none" aria-hidden="true">
|
|
2
2
|
<title>xopc</title>
|
|
3
|
-
<rect x="
|
|
4
|
-
<
|
|
5
|
-
|
|
6
|
-
<
|
|
7
|
-
|
|
3
|
+
<rect x="10" y="10" width="80" height="80" rx="18" fill="#ffffff" />
|
|
4
|
+
<g transform="translate(50 50) scale(0.92) translate(-50 -50)">
|
|
5
|
+
<!-- Goal loop: outer system boundary + inner feedback loop -->
|
|
6
|
+
<g stroke-linecap="round" fill="none">
|
|
7
|
+
<g stroke="#000000" stroke-width="4">
|
|
8
|
+
<path d="M 29.375 23.602 A 33.5 33.5 0 0 1 70.625 23.602" />
|
|
9
|
+
<path d="M 76.398 29.375 A 33.5 33.5 0 0 1 76.398 70.625" />
|
|
10
|
+
<path d="M 70.625 76.398 A 33.5 33.5 0 0 1 29.375 76.398" />
|
|
11
|
+
<path d="M 23.602 70.625 A 33.5 33.5 0 0 1 23.602 29.375" />
|
|
12
|
+
</g>
|
|
13
|
+
<g stroke="#000000" stroke-width="3.2" transform="rotate(45 50 50)">
|
|
14
|
+
<path d="M 35.011 29.370 A 25.5 25.5 0 0 1 64.989 29.370" />
|
|
15
|
+
<path d="M 70.630 35.011 A 25.5 25.5 0 0 1 70.630 64.989" />
|
|
16
|
+
<path d="M 64.989 70.630 A 25.5 25.5 0 0 1 35.011 70.630" />
|
|
17
|
+
<path d="M 29.370 64.989 A 25.5 25.5 0 0 1 29.370 35.011" />
|
|
18
|
+
</g>
|
|
19
|
+
</g>
|
|
20
|
+
<!-- Central hub -->
|
|
21
|
+
<path
|
|
22
|
+
fill="#000000"
|
|
23
|
+
transform="translate(50 50) scale(0.72) translate(-50 -50)"
|
|
24
|
+
d="M 61.000 50.000 L 61.159 50.548 L 61.629 51.145 L 62.381 51.837 L 63.374 52.660 L 64.550 53.645 L 65.843 54.806 L 67.178 56.146 L 68.478 57.654 L 69.667 59.302 L 70.676 61.051 L 71.443 62.853 L 71.921 64.647 L 72.075 66.372 L 71.888 67.963 L 71.359 69.359 L 70.506 70.506 L 69.359 71.359 L 67.963 71.888 L 66.372 72.075 L 64.647 71.921 L 62.853 71.443 L 61.051 70.676 L 59.302 69.667 L 57.654 68.478 L 56.146 67.178 L 54.806 65.843 L 53.645 64.550 L 52.660 63.374 L 51.837 62.381 L 51.145 61.629 L 50.548 61.159 L 50.000 61.000 L 49.452 61.159 L 48.855 61.629 L 48.163 62.381 L 47.340 63.374 L 46.355 64.550 L 45.194 65.843 L 43.854 67.178 L 42.346 68.478 L 40.698 69.667 L 38.949 70.676 L 37.147 71.443 L 35.353 71.921 L 33.628 72.075 L 32.037 71.888 L 30.641 71.359 L 29.494 70.506 L 28.641 69.359 L 28.112 67.963 L 27.925 66.372 L 28.079 64.647 L 28.557 62.853 L 29.324 61.051 L 30.333 59.302 L 31.522 57.654 L 32.822 56.146 L 34.157 54.806 L 35.450 53.645 L 36.626 52.660 L 37.619 51.837 L 38.371 51.145 L 38.841 50.548 L 39.000 50.000 L 38.841 49.452 L 38.371 48.855 L 37.619 48.163 L 36.626 47.340 L 35.450 46.355 L 34.157 45.194 L 32.822 43.854 L 31.522 42.346 L 30.333 40.698 L 29.324 38.949 L 28.557 37.147 L 28.079 35.353 L 27.925 33.628 L 28.112 32.037 L 28.641 30.641 L 29.494 29.494 L 30.641 28.641 L 32.037 28.112 L 33.628 27.925 L 35.353 28.079 L 37.147 28.557 L 38.949 29.324 L 40.698 30.333 L 42.346 31.522 L 43.854 32.822 L 45.194 34.157 L 46.355 35.450 L 47.340 36.626 L 48.163 37.619 L 48.855 38.371 L 49.452 38.841 L 50.000 39.000 L 50.548 38.841 L 51.145 38.371 L 51.837 37.619 L 52.660 36.626 L 53.645 35.450 L 54.806 34.157 L 56.146 32.822 L 57.654 31.522 L 59.302 30.333 L 61.051 29.324 L 62.853 28.557 L 64.647 28.079 L 66.372 27.925 L 67.963 28.112 L 69.359 28.641 L 70.506 29.494 L 71.359 30.641 L 71.888 32.037 L 72.075 33.628 L 71.921 35.353 L 71.443 37.147 L 70.676 38.949 L 69.667 40.698 L 68.478 42.346 L 67.178 43.854 L 65.843 45.194 L 64.550 46.355 L 63.374 47.340 L 62.381 48.163 L 61.629 48.855 L 61.159 49.452 L 61.000 50.000 Z"
|
|
25
|
+
/>
|
|
8
26
|
</g>
|
|
9
|
-
<path
|
|
10
|
-
transform="translate(50 50) scale(0.92) translate(-50 -50)"
|
|
11
|
-
fill="#111827"
|
|
12
|
-
stroke="#ffffff"
|
|
13
|
-
stroke-width="5"
|
|
14
|
-
stroke-linejoin="round"
|
|
15
|
-
paint-order="stroke fill"
|
|
16
|
-
d="M 61.000 50.000 L 61.159 50.548 L 61.629 51.145 L 62.381 51.837 L 63.374 52.660 L 64.550 53.645 L 65.843 54.806 L 67.178 56.146 L 68.478 57.654 L 69.667 59.302 L 70.676 61.051 L 71.443 62.853 L 71.921 64.647 L 72.075 66.372 L 71.888 67.963 L 71.359 69.359 L 70.506 70.506 L 69.359 71.359 L 67.963 71.888 L 66.372 72.075 L 64.647 71.921 L 62.853 71.443 L 61.051 70.676 L 59.302 69.667 L 57.654 68.478 L 56.146 67.178 L 54.806 65.843 L 53.645 64.550 L 52.660 63.374 L 51.837 62.381 L 51.145 61.629 L 50.548 61.159 L 50.000 61.000 L 49.452 61.159 L 48.855 61.629 L 48.163 62.381 L 47.340 63.374 L 46.355 64.550 L 45.194 65.843 L 43.854 67.178 L 42.346 68.478 L 40.698 69.667 L 38.949 70.676 L 37.147 71.443 L 35.353 71.921 L 33.628 72.075 L 32.037 71.888 L 30.641 71.359 L 29.494 70.506 L 28.641 69.359 L 28.112 67.963 L 27.925 66.372 L 28.079 64.647 L 28.557 62.853 L 29.324 61.051 L 30.333 59.302 L 31.522 57.654 L 32.822 56.146 L 34.157 54.806 L 35.450 53.645 L 36.626 52.660 L 37.619 51.837 L 38.371 51.145 L 38.841 50.548 L 39.000 50.000 L 38.841 49.452 L 38.371 48.855 L 37.619 48.163 L 36.626 47.340 L 35.450 46.355 L 34.157 45.194 L 32.822 43.854 L 31.522 42.346 L 30.333 40.698 L 29.324 38.949 L 28.557 37.147 L 28.079 35.353 L 27.925 33.628 L 28.112 32.037 L 28.641 30.641 L 29.494 29.494 L 30.641 28.641 L 32.037 28.112 L 33.628 27.925 L 35.353 28.079 L 37.147 28.557 L 38.949 29.324 L 40.698 30.333 L 42.346 31.522 L 43.854 32.822 L 45.194 34.157 L 46.355 35.450 L 47.340 36.626 L 48.163 37.619 L 48.855 38.371 L 49.452 38.841 L 50.000 39.000 L 50.548 38.841 L 51.145 38.371 L 51.837 37.619 L 52.660 36.626 L 53.645 35.450 L 54.806 34.157 L 56.146 32.822 L 57.654 31.522 L 59.302 30.333 L 61.051 29.324 L 62.853 28.557 L 64.647 28.079 L 66.372 27.925 L 67.963 28.112 L 69.359 28.641 L 70.506 29.494 L 71.359 30.641 L 71.888 32.037 L 72.075 33.628 L 71.921 35.353 L 71.443 37.147 L 70.676 38.949 L 69.667 40.698 L 68.478 42.346 L 67.178 43.854 L 65.843 45.194 L 64.550 46.355 L 63.374 47.340 L 62.381 48.163 L 61.629 48.855 L 61.159 49.452 L 61.000 50.000 Z"
|
|
17
|
-
/>
|
|
18
27
|
</svg>
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<meta name="color-scheme" content="light dark" />
|
|
7
|
-
<link rel="icon" href="/favicon.ico?v=
|
|
8
|
-
<link rel="icon" type="image/svg+xml" href="/favicon.svg?v=
|
|
9
|
-
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-
|
|
10
|
-
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-
|
|
11
|
-
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=
|
|
7
|
+
<link rel="icon" href="/favicon.ico?v=20260623-2" sizes="any" />
|
|
8
|
+
<link rel="icon" type="image/svg+xml" href="/favicon.svg?v=20260623-2" />
|
|
9
|
+
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=20260623-2" />
|
|
10
|
+
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.pngv=20260623-2" />
|
|
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-Cxm6xsps.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">
|
|
@@ -22,12 +22,13 @@
|
|
|
22
22
|
<link rel="modulepreload" crossorigin href="/assets/createLucideIcon-DPHK1VkS.js">
|
|
23
23
|
<link rel="modulepreload" crossorigin href="/assets/middleware-Pd0e8Igk.js">
|
|
24
24
|
<link rel="modulepreload" crossorigin href="/assets/locale-store-DjbfSsfA.js">
|
|
25
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
26
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
27
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
25
|
+
<link rel="modulepreload" crossorigin href="/assets/config-reload-event-Bjh2zoKp.js">
|
|
26
|
+
<link rel="modulepreload" crossorigin href="/assets/messages-CkT-lcgP.js">
|
|
27
|
+
<link rel="modulepreload" crossorigin href="/assets/fetch-NZmjSXLl.js">
|
|
28
|
+
<link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-Be1omjh3.js">
|
|
28
29
|
<link rel="modulepreload" crossorigin href="/assets/toast-z0toXu32.js">
|
|
29
30
|
<link rel="modulepreload" crossorigin href="/assets/theme-store-CD2wtgZV.js">
|
|
30
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
31
|
+
<link rel="stylesheet" crossorigin href="/assets/index-b_R4tKqt.css">
|
|
31
32
|
</head>
|
|
32
33
|
<body>
|
|
33
34
|
<div id="root"></div>
|
|
@@ -1,18 +1,26 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="10 10 80 80" fill="none" aria-hidden="true">
|
|
2
2
|
<title>xopc</title>
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
<g transform="translate(50 50) scale(0.92) translate(-50 -50)">
|
|
4
|
+
<!-- Goal loop: outer system boundary + inner feedback loop -->
|
|
5
|
+
<g stroke-linecap="round" fill="none">
|
|
6
|
+
<g stroke="#ffffff" stroke-width="4">
|
|
7
|
+
<path d="M 29.375 23.602 A 33.5 33.5 0 0 1 70.625 23.602" />
|
|
8
|
+
<path d="M 76.398 29.375 A 33.5 33.5 0 0 1 76.398 70.625" />
|
|
9
|
+
<path d="M 70.625 76.398 A 33.5 33.5 0 0 1 29.375 76.398" />
|
|
10
|
+
<path d="M 23.602 70.625 A 33.5 33.5 0 0 1 23.602 29.375" />
|
|
11
|
+
</g>
|
|
12
|
+
<g stroke="#ffffff" stroke-width="3.2" transform="rotate(45 50 50)">
|
|
13
|
+
<path d="M 35.011 29.370 A 25.5 25.5 0 0 1 64.989 29.370" />
|
|
14
|
+
<path d="M 70.630 35.011 A 25.5 25.5 0 0 1 70.630 64.989" />
|
|
15
|
+
<path d="M 64.989 70.630 A 25.5 25.5 0 0 1 35.011 70.630" />
|
|
16
|
+
<path d="M 29.370 64.989 A 25.5 25.5 0 0 1 29.370 35.011" />
|
|
17
|
+
</g>
|
|
18
|
+
</g>
|
|
19
|
+
<!-- Central hub -->
|
|
20
|
+
<path
|
|
21
|
+
fill="#ffffff"
|
|
22
|
+
transform="translate(50 50) scale(0.72) translate(-50 -50)"
|
|
23
|
+
d="M 61.000 50.000 L 61.159 50.548 L 61.629 51.145 L 62.381 51.837 L 63.374 52.660 L 64.550 53.645 L 65.843 54.806 L 67.178 56.146 L 68.478 57.654 L 69.667 59.302 L 70.676 61.051 L 71.443 62.853 L 71.921 64.647 L 72.075 66.372 L 71.888 67.963 L 71.359 69.359 L 70.506 70.506 L 69.359 71.359 L 67.963 71.888 L 66.372 72.075 L 64.647 71.921 L 62.853 71.443 L 61.051 70.676 L 59.302 69.667 L 57.654 68.478 L 56.146 67.178 L 54.806 65.843 L 53.645 64.550 L 52.660 63.374 L 51.837 62.381 L 51.145 61.629 L 50.548 61.159 L 50.000 61.000 L 49.452 61.159 L 48.855 61.629 L 48.163 62.381 L 47.340 63.374 L 46.355 64.550 L 45.194 65.843 L 43.854 67.178 L 42.346 68.478 L 40.698 69.667 L 38.949 70.676 L 37.147 71.443 L 35.353 71.921 L 33.628 72.075 L 32.037 71.888 L 30.641 71.359 L 29.494 70.506 L 28.641 69.359 L 28.112 67.963 L 27.925 66.372 L 28.079 64.647 L 28.557 62.853 L 29.324 61.051 L 30.333 59.302 L 31.522 57.654 L 32.822 56.146 L 34.157 54.806 L 35.450 53.645 L 36.626 52.660 L 37.619 51.837 L 38.371 51.145 L 38.841 50.548 L 39.000 50.000 L 38.841 49.452 L 38.371 48.855 L 37.619 48.163 L 36.626 47.340 L 35.450 46.355 L 34.157 45.194 L 32.822 43.854 L 31.522 42.346 L 30.333 40.698 L 29.324 38.949 L 28.557 37.147 L 28.079 35.353 L 27.925 33.628 L 28.112 32.037 L 28.641 30.641 L 29.494 29.494 L 30.641 28.641 L 32.037 28.112 L 33.628 27.925 L 35.353 28.079 L 37.147 28.557 L 38.949 29.324 L 40.698 30.333 L 42.346 31.522 L 43.854 32.822 L 45.194 34.157 L 46.355 35.450 L 47.340 36.626 L 48.163 37.619 L 48.855 38.371 L 49.452 38.841 L 50.000 39.000 L 50.548 38.841 L 51.145 38.371 L 51.837 37.619 L 52.660 36.626 L 53.645 35.450 L 54.806 34.157 L 56.146 32.822 L 57.654 31.522 L 59.302 30.333 L 61.051 29.324 L 62.853 28.557 L 64.647 28.079 L 66.372 27.925 L 67.963 28.112 L 69.359 28.641 L 70.506 29.494 L 71.359 30.641 L 71.888 32.037 L 72.075 33.628 L 71.921 35.353 L 71.443 37.147 L 70.676 38.949 L 69.667 40.698 L 68.478 42.346 L 67.178 43.854 L 65.843 45.194 L 64.550 46.355 L 63.374 47.340 L 62.381 48.163 L 61.629 48.855 L 61.159 49.452 L 61.000 50.000 Z"
|
|
24
|
+
/>
|
|
13
25
|
</g>
|
|
14
|
-
<path
|
|
15
|
-
fill="#ebebef"
|
|
16
|
-
d="M 61.000 50.000 L 61.159 50.548 L 61.629 51.145 L 62.381 51.837 L 63.374 52.660 L 64.550 53.645 L 65.843 54.806 L 67.178 56.146 L 68.478 57.654 L 69.667 59.302 L 70.676 61.051 L 71.443 62.853 L 71.921 64.647 L 72.075 66.372 L 71.888 67.963 L 71.359 69.359 L 70.506 70.506 L 69.359 71.359 L 67.963 71.888 L 66.372 72.075 L 64.647 71.921 L 62.853 71.443 L 61.051 70.676 L 59.302 69.667 L 57.654 68.478 L 56.146 67.178 L 54.806 65.843 L 53.645 64.550 L 52.660 63.374 L 51.837 62.381 L 51.145 61.629 L 50.548 61.159 L 50.000 61.000 L 49.452 61.159 L 48.855 61.629 L 48.163 62.381 L 47.340 63.374 L 46.355 64.550 L 45.194 65.843 L 43.854 67.178 L 42.346 68.478 L 40.698 69.667 L 38.949 70.676 L 37.147 71.443 L 35.353 71.921 L 33.628 72.075 L 32.037 71.888 L 30.641 71.359 L 29.494 70.506 L 28.641 69.359 L 28.112 67.963 L 27.925 66.372 L 28.079 64.647 L 28.557 62.853 L 29.324 61.051 L 30.333 59.302 L 31.522 57.654 L 32.822 56.146 L 34.157 54.806 L 35.450 53.645 L 36.626 52.660 L 37.619 51.837 L 38.371 51.145 L 38.841 50.548 L 39.000 50.000 L 38.841 49.452 L 38.371 48.855 L 37.619 48.163 L 36.626 47.340 L 35.450 46.355 L 34.157 45.194 L 32.822 43.854 L 31.522 42.346 L 30.333 40.698 L 29.324 38.949 L 28.557 37.147 L 28.079 35.353 L 27.925 33.628 L 28.112 32.037 L 28.641 30.641 L 29.494 29.494 L 30.641 28.641 L 32.037 28.112 L 33.628 27.925 L 35.353 28.079 L 37.147 28.557 L 38.949 29.324 L 40.698 30.333 L 42.346 31.522 L 43.854 32.822 L 45.194 34.157 L 46.355 35.450 L 47.340 36.626 L 48.163 37.619 L 48.855 38.371 L 49.452 38.841 L 50.000 39.000 L 50.548 38.841 L 51.145 38.371 L 51.837 37.619 L 52.660 36.626 L 53.645 35.450 L 54.806 34.157 L 56.146 32.822 L 57.654 31.522 L 59.302 30.333 L 61.051 29.324 L 62.853 28.557 L 64.647 28.079 L 66.372 27.925 L 67.963 28.112 L 69.359 28.641 L 70.506 29.494 L 71.359 30.641 L 71.888 32.037 L 72.075 33.628 L 71.921 35.353 L 71.443 37.147 L 70.676 38.949 L 69.667 40.698 L 68.478 42.346 L 67.178 43.854 L 65.843 45.194 L 64.550 46.355 L 63.374 47.340 L 62.381 48.163 L 61.629 48.855 L 61.159 49.452 L 61.000 50.000 Z"
|
|
17
|
-
/>
|
|
18
26
|
</svg>
|
|
@@ -1,19 +1,26 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="10 10 80 80" fill="none" aria-hidden="true">
|
|
2
2
|
<title>xopc</title>
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
3
|
+
<g transform="translate(50 50) scale(0.92) translate(-50 -50)">
|
|
4
|
+
<!-- Goal loop: outer system boundary + inner feedback loop -->
|
|
5
|
+
<g stroke-linecap="round" fill="none">
|
|
6
|
+
<g stroke="#000000" stroke-width="4">
|
|
7
|
+
<path d="M 29.375 23.602 A 33.5 33.5 0 0 1 70.625 23.602" />
|
|
8
|
+
<path d="M 76.398 29.375 A 33.5 33.5 0 0 1 76.398 70.625" />
|
|
9
|
+
<path d="M 70.625 76.398 A 33.5 33.5 0 0 1 29.375 76.398" />
|
|
10
|
+
<path d="M 23.602 70.625 A 33.5 33.5 0 0 1 23.602 29.375" />
|
|
11
|
+
</g>
|
|
12
|
+
<g stroke="#000000" stroke-width="3.2" transform="rotate(45 50 50)">
|
|
13
|
+
<path d="M 35.011 29.370 A 25.5 25.5 0 0 1 64.989 29.370" />
|
|
14
|
+
<path d="M 70.630 35.011 A 25.5 25.5 0 0 1 70.630 64.989" />
|
|
15
|
+
<path d="M 64.989 70.630 A 25.5 25.5 0 0 1 35.011 70.630" />
|
|
16
|
+
<path d="M 29.370 64.989 A 25.5 25.5 0 0 1 29.370 35.011" />
|
|
17
|
+
</g>
|
|
18
|
+
</g>
|
|
19
|
+
<!-- Central hub -->
|
|
20
|
+
<path
|
|
21
|
+
fill="#000000"
|
|
22
|
+
transform="translate(50 50) scale(0.72) translate(-50 -50)"
|
|
17
23
|
d="M 61.000 50.000 L 61.159 50.548 L 61.629 51.145 L 62.381 51.837 L 63.374 52.660 L 64.550 53.645 L 65.843 54.806 L 67.178 56.146 L 68.478 57.654 L 69.667 59.302 L 70.676 61.051 L 71.443 62.853 L 71.921 64.647 L 72.075 66.372 L 71.888 67.963 L 71.359 69.359 L 70.506 70.506 L 69.359 71.359 L 67.963 71.888 L 66.372 72.075 L 64.647 71.921 L 62.853 71.443 L 61.051 70.676 L 59.302 69.667 L 57.654 68.478 L 56.146 67.178 L 54.806 65.843 L 53.645 64.550 L 52.660 63.374 L 51.837 62.381 L 51.145 61.629 L 50.548 61.159 L 50.000 61.000 L 49.452 61.159 L 48.855 61.629 L 48.163 62.381 L 47.340 63.374 L 46.355 64.550 L 45.194 65.843 L 43.854 67.178 L 42.346 68.478 L 40.698 69.667 L 38.949 70.676 L 37.147 71.443 L 35.353 71.921 L 33.628 72.075 L 32.037 71.888 L 30.641 71.359 L 29.494 70.506 L 28.641 69.359 L 28.112 67.963 L 27.925 66.372 L 28.079 64.647 L 28.557 62.853 L 29.324 61.051 L 30.333 59.302 L 31.522 57.654 L 32.822 56.146 L 34.157 54.806 L 35.450 53.645 L 36.626 52.660 L 37.619 51.837 L 38.371 51.145 L 38.841 50.548 L 39.000 50.000 L 38.841 49.452 L 38.371 48.855 L 37.619 48.163 L 36.626 47.340 L 35.450 46.355 L 34.157 45.194 L 32.822 43.854 L 31.522 42.346 L 30.333 40.698 L 29.324 38.949 L 28.557 37.147 L 28.079 35.353 L 27.925 33.628 L 28.112 32.037 L 28.641 30.641 L 29.494 29.494 L 30.641 28.641 L 32.037 28.112 L 33.628 27.925 L 35.353 28.079 L 37.147 28.557 L 38.949 29.324 L 40.698 30.333 L 42.346 31.522 L 43.854 32.822 L 45.194 34.157 L 46.355 35.450 L 47.340 36.626 L 48.163 37.619 L 48.855 38.371 L 49.452 38.841 L 50.000 39.000 L 50.548 38.841 L 51.145 38.371 L 51.837 37.619 L 52.660 36.626 L 53.645 35.450 L 54.806 34.157 L 56.146 32.822 L 57.654 31.522 L 59.302 30.333 L 61.051 29.324 L 62.853 28.557 L 64.647 28.079 L 66.372 27.925 L 67.963 28.112 L 69.359 28.641 L 70.506 29.494 L 71.359 30.641 L 71.888 32.037 L 72.075 33.628 L 71.921 35.353 L 71.443 37.147 L 70.676 38.949 L 69.667 40.698 L 68.478 42.346 L 67.178 43.854 L 65.843 45.194 L 64.550 46.355 L 63.374 47.340 L 62.381 48.163 L 61.629 48.855 L 61.159 49.452 L 61.000 50.000 Z"
|
|
18
|
-
|
|
24
|
+
/>
|
|
25
|
+
</g>
|
|
19
26
|
</svg>
|
package/dist/package.js
CHANGED
|
@@ -15,7 +15,7 @@ import type { MessageBus } from '../infra/bus/index.js';
|
|
|
15
15
|
import type { CronService } from '../cron/index.js';
|
|
16
16
|
import type { SessionStore } from '../session/store.js';
|
|
17
17
|
import type { SessionContext } from './session/session-context.js';
|
|
18
|
-
import type { Skill, SkillMarkdownPreviewPayload } from './skills/types.js';
|
|
18
|
+
import type { Skill, SkillDiagnostic, SkillMarkdownPreviewPayload, SkillRuntimeStatus } from './skills/types.js';
|
|
19
19
|
import { type SkillHubLockEntry } from './skills/hub-lock.js';
|
|
20
20
|
import type { MemoryManager } from './memory/manager.js';
|
|
21
21
|
export interface SkillCatalogEntry {
|
|
@@ -33,6 +33,15 @@ export interface SkillCatalogEntry {
|
|
|
33
33
|
/** Hub install provenance when under ~/.xopc/skills and listed in skills-lock.json. */
|
|
34
34
|
hub?: SkillHubLockEntry;
|
|
35
35
|
}
|
|
36
|
+
export interface SkillCatalogRuntimeMeta {
|
|
37
|
+
version: string;
|
|
38
|
+
loadedAt: number;
|
|
39
|
+
diagnostics: SkillDiagnostic[];
|
|
40
|
+
status: SkillRuntimeStatus;
|
|
41
|
+
}
|
|
42
|
+
export interface SkillCatalogSnapshot extends SkillCatalogRuntimeMeta {
|
|
43
|
+
catalog: SkillCatalogEntry[];
|
|
44
|
+
}
|
|
36
45
|
export type AgentSkillUnavailableReason = 'agent-denied' | 'disabled' | 'requirements-unmet' | 'model-invocation-disabled';
|
|
37
46
|
export interface AgentSkillAvailabilityEntry extends SkillCatalogEntry {
|
|
38
47
|
availableForCurrentAgent: boolean;
|
|
@@ -40,6 +49,10 @@ export interface AgentSkillAvailabilityEntry extends SkillCatalogEntry {
|
|
|
40
49
|
}
|
|
41
50
|
export interface AgentSkillAvailabilityPayload {
|
|
42
51
|
agentId: string;
|
|
52
|
+
version: string;
|
|
53
|
+
loadedAt: number;
|
|
54
|
+
diagnostics: SkillDiagnostic[];
|
|
55
|
+
status: SkillRuntimeStatus;
|
|
43
56
|
defaultsAllowlist?: string[];
|
|
44
57
|
agentAllowlist?: string[];
|
|
45
58
|
effectiveAllowlist?: string[];
|
|
@@ -67,6 +80,10 @@ export interface AgentManagerConfig {
|
|
|
67
80
|
getCronService?: () => CronService | undefined;
|
|
68
81
|
/** Gateway: starts persisted workflow runs (dedicated chat session per run). */
|
|
69
82
|
getWorkflowRunService?: () => import('../workflows/service/workflow-run-service.types.js').WorkflowRunServiceLike | undefined;
|
|
83
|
+
/** Runtime notification for UI/CLI shells that cache skill catalogs. */
|
|
84
|
+
onSkillsUpdated?: (payload: {
|
|
85
|
+
reason: 'disk' | 'config';
|
|
86
|
+
}) => void;
|
|
70
87
|
}
|
|
71
88
|
export interface AgentInstance {
|
|
72
89
|
agent: Agent;
|
|
@@ -95,6 +112,12 @@ export declare class AgentManager implements AgentInstanceGateway {
|
|
|
95
112
|
private workspaceRuntimes;
|
|
96
113
|
private memoryPrefetch;
|
|
97
114
|
private backgroundReview;
|
|
115
|
+
private skillFilesystemWatcher;
|
|
116
|
+
private skillDiskRefreshInProgress;
|
|
117
|
+
private skillDiskRefreshPending;
|
|
118
|
+
private lastExplicitSkillDiskRefreshAt;
|
|
119
|
+
private skillsUpdatedTimer;
|
|
120
|
+
private pendingSkillsUpdatedReason;
|
|
98
121
|
constructor(config: AgentManagerConfig);
|
|
99
122
|
private computeBaseWorkspacePath;
|
|
100
123
|
/**
|
|
@@ -159,6 +182,7 @@ export declare class AgentManager implements AgentInstanceGateway {
|
|
|
159
182
|
private resolveContextFilesForSession;
|
|
160
183
|
private skillCatalogEntryFromSkill;
|
|
161
184
|
getSkillCatalog(): SkillCatalogEntry[];
|
|
185
|
+
getSkillCatalogSnapshot(): SkillCatalogSnapshot;
|
|
162
186
|
getAgentSkillAvailability(agentId: string): AgentSkillAvailabilityPayload;
|
|
163
187
|
/**
|
|
164
188
|
* After ~/.xopc/skills.json changes (enable/disable), refresh `<available_skills>` on active agents.
|
|
@@ -167,7 +191,9 @@ export declare class AgentManager implements AgentInstanceGateway {
|
|
|
167
191
|
/**
|
|
168
192
|
* Reload skills from disk and refresh system prompt on all active Agent instances.
|
|
169
193
|
*/
|
|
170
|
-
refreshSkillsAfterDiskChange(): void;
|
|
194
|
+
refreshSkillsAfterDiskChange(source?: 'explicit' | 'watch'): void;
|
|
195
|
+
private scheduleSkillsUpdated;
|
|
196
|
+
private applySkillsAfterDiskChange;
|
|
171
197
|
/**
|
|
172
198
|
* Get or create an Agent instance for a session
|
|
173
199
|
*/
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
|
|
2
|
-
import { applyConfigOverrides } from "../config/runtime-overrides.js";
|
|
3
1
|
import { resolveStateDir } from "../config/paths-state.js";
|
|
4
2
|
import { expandWorkspacePathString, init_workspace_path } from "../config/workspace-path.js";
|
|
5
3
|
import { init_agent_scope, resolveAgentProfileDir } from "./agent-scope.js";
|
|
6
|
-
import {
|
|
4
|
+
import { init_paths, resolveBundledSkillsDir } from "../config/paths.js";
|
|
7
5
|
import { createLogger } from "../utils/logger/index.js";
|
|
8
6
|
import { init_logger } from "../utils/logger.js";
|
|
9
|
-
import { init_paths, resolveBundledSkillsDir } from "../config/paths.js";
|
|
10
|
-
import { init_sync_provider_auth, resolveProviderApiKeySync } from "../auth/sync-provider-auth.js";
|
|
11
7
|
import { CredentialResolver, init_credentials } from "../auth/credentials.js";
|
|
8
|
+
import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
|
|
9
|
+
import { init_sync_provider_auth, resolveProviderApiKeySync } from "../auth/sync-provider-auth.js";
|
|
12
10
|
import { getApiKeySync, getDefaultModelSync, init_providers, resolveModel } from "../providers/index.js";
|
|
13
11
|
import { createExtensionAwareStreamFn } from "../providers/extension-stream-bridge.js";
|
|
12
|
+
import { applyConfigOverrides } from "../config/runtime-overrides.js";
|
|
13
|
+
import { resolveEffectiveAgentProfile, resolveEffectiveAgentProfileForSession } from "../config/agent-profile.js";
|
|
14
14
|
import { extractTextContent, loadProfileMarkdownFiles } from "./context/workspace.js";
|
|
15
15
|
import { clearBootstrapSnapshot } from "./bootstrap/bootstrap-cache.js";
|
|
16
16
|
import { resolveBootstrapContextSync } from "./bootstrap/bootstrap-files.js";
|
|
@@ -28,8 +28,9 @@ import { MemoryPrefetchCoordinator } from "./memory/prefetch-coordinator.js";
|
|
|
28
28
|
import { WorkspaceRuntimeRegistry } from "./workspace-runtime/registry.js";
|
|
29
29
|
import { BackgroundReviewCoordinator } from "./background-review/coordinator.js";
|
|
30
30
|
import { maybeRequestChannelExecApproval } from "../channels/exec-approval-runtime.js";
|
|
31
|
-
import {
|
|
31
|
+
import { SkillFilesystemWatcher } from "./skills/filesystem-watcher.js";
|
|
32
32
|
import { basename, resolve, sep } from "node:path";
|
|
33
|
+
import { Agent } from "@earendil-works/pi-agent-core";
|
|
33
34
|
//#region src/agent/agent-manager.ts
|
|
34
35
|
/**
|
|
35
36
|
* Agent Manager - Manages Agent instances per session
|
|
@@ -64,12 +65,26 @@ var AgentManager = class {
|
|
|
64
65
|
workspaceRuntimes;
|
|
65
66
|
memoryPrefetch;
|
|
66
67
|
backgroundReview;
|
|
68
|
+
skillFilesystemWatcher;
|
|
69
|
+
skillDiskRefreshInProgress = false;
|
|
70
|
+
skillDiskRefreshPending = false;
|
|
71
|
+
lastExplicitSkillDiskRefreshAt = 0;
|
|
72
|
+
skillsUpdatedTimer;
|
|
73
|
+
pendingSkillsUpdatedReason;
|
|
67
74
|
constructor(config) {
|
|
68
75
|
this.config = config;
|
|
69
76
|
this.baseWorkspacePath = this.computeBaseWorkspacePath();
|
|
77
|
+
this.skillFilesystemWatcher = new SkillFilesystemWatcher({ onChange: (event) => {
|
|
78
|
+
log.info({ changedPath: event.changedPath }, "Skill filesystem changed; refreshing skills");
|
|
79
|
+
this.refreshSkillsAfterDiskChange("watch");
|
|
80
|
+
} });
|
|
81
|
+
this.skillFilesystemWatcher.refreshPrimaryWorkspace(this.baseWorkspacePath);
|
|
70
82
|
this.workspaceRuntimes = new WorkspaceRuntimeRegistry({
|
|
71
83
|
getConfig: () => this.config.config,
|
|
72
|
-
bundledSkillsDir: resolveBundledSkillsDir()
|
|
84
|
+
bundledSkillsDir: resolveBundledSkillsDir(),
|
|
85
|
+
onRuntimeCreated: (resolvedPath) => {
|
|
86
|
+
this.skillFilesystemWatcher.watchWorkspace(resolvedPath);
|
|
87
|
+
}
|
|
73
88
|
});
|
|
74
89
|
this.memoryPrefetch = new MemoryPrefetchCoordinator({
|
|
75
90
|
getConfig: () => this.config.config,
|
|
@@ -78,7 +93,7 @@ var AgentManager = class {
|
|
|
78
93
|
});
|
|
79
94
|
this.backgroundReview = new BackgroundReviewCoordinator({
|
|
80
95
|
getConfig: () => this.mergedConfig(),
|
|
81
|
-
onSkillsFilesystemMutate: () => this.refreshSkillsAfterDiskChange()
|
|
96
|
+
onSkillsFilesystemMutate: () => this.refreshSkillsAfterDiskChange("explicit")
|
|
82
97
|
});
|
|
83
98
|
this.toolsFactory = new AgentToolsFactory(this.buildToolsFactoryDeps());
|
|
84
99
|
this.defaultModel = config.model || getDefaultModelSync(config.config);
|
|
@@ -152,6 +167,7 @@ var AgentManager = class {
|
|
|
152
167
|
this.config.model = ref;
|
|
153
168
|
this.defaultModel = ref || getDefaultModelSync(config);
|
|
154
169
|
this.baseWorkspacePath = this.computeBaseWorkspacePath();
|
|
170
|
+
this.skillFilesystemWatcher.refreshPrimaryWorkspace(this.baseWorkspacePath);
|
|
155
171
|
this.toolsFactory.shutdownBrowser();
|
|
156
172
|
this.workspaceRuntimes.clearAll();
|
|
157
173
|
}
|
|
@@ -185,7 +201,7 @@ var AgentManager = class {
|
|
|
185
201
|
};
|
|
186
202
|
},
|
|
187
203
|
onSkillsFilesystemMutate: () => {
|
|
188
|
-
this.refreshSkillsAfterDiskChange();
|
|
204
|
+
this.refreshSkillsAfterDiskChange("explicit");
|
|
189
205
|
},
|
|
190
206
|
getSkillPassthroughEnvVarNames: () => {
|
|
191
207
|
const ctx = this.config.getCurrentContext?.();
|
|
@@ -313,9 +329,19 @@ var AgentManager = class {
|
|
|
313
329
|
};
|
|
314
330
|
}
|
|
315
331
|
getSkillCatalog() {
|
|
332
|
+
return this.getSkillCatalogSnapshot().catalog;
|
|
333
|
+
}
|
|
334
|
+
getSkillCatalogSnapshot() {
|
|
316
335
|
const skillsConfig = createSkillConfigManager(resolveStateDir()).load();
|
|
317
336
|
const lock = loadSkillsLock();
|
|
318
|
-
|
|
337
|
+
const rt = this.workspaceRuntimes.getOrCreate(this.baseWorkspacePath);
|
|
338
|
+
return {
|
|
339
|
+
catalog: rt.skillManager.getSkills().map((s) => this.skillCatalogEntryFromSkill(s, skillsConfig, lock)),
|
|
340
|
+
version: rt.skillManager.getVersion(),
|
|
341
|
+
loadedAt: rt.skillManager.getLoadedAt(),
|
|
342
|
+
diagnostics: rt.skillManager.getDiagnostics(),
|
|
343
|
+
status: rt.skillManager.getStatus()
|
|
344
|
+
};
|
|
319
345
|
}
|
|
320
346
|
getAgentSkillAvailability(agentId) {
|
|
321
347
|
const cfg = this.config.config;
|
|
@@ -340,6 +366,10 @@ var AgentManager = class {
|
|
|
340
366
|
});
|
|
341
367
|
return {
|
|
342
368
|
agentId: profile.agentId,
|
|
369
|
+
version: rt.skillManager.getVersion(),
|
|
370
|
+
loadedAt: rt.skillManager.getLoadedAt(),
|
|
371
|
+
diagnostics: rt.skillManager.getDiagnostics(),
|
|
372
|
+
status: rt.skillManager.getStatus(),
|
|
343
373
|
...defaultsAllowlist !== void 0 ? { defaultsAllowlist: [...defaultsAllowlist] } : {},
|
|
344
374
|
...entry?.skills !== void 0 ? { agentAllowlist: [...entry.skills] } : {},
|
|
345
375
|
...profile.skillsAllowlist !== void 0 ? { effectiveAllowlist: [...profile.skillsAllowlist] } : {},
|
|
@@ -352,6 +382,10 @@ var AgentManager = class {
|
|
|
352
382
|
refreshSkillsAfterSkillConfigChange() {
|
|
353
383
|
const cfg = this.config.config;
|
|
354
384
|
const touched = /* @__PURE__ */ new Set();
|
|
385
|
+
for (const [resolvedPath, rt] of this.workspaceRuntimes.entries()) {
|
|
386
|
+
rt.skillManager.refreshPromptFromConfig();
|
|
387
|
+
touched.add(resolvedPath);
|
|
388
|
+
}
|
|
355
389
|
for (const instance of this.agents.values()) {
|
|
356
390
|
const rt = this.workspaceRuntimes.getOrCreate(instance.resolvedWorkspacePath);
|
|
357
391
|
if (!touched.has(instance.resolvedWorkspacePath)) {
|
|
@@ -374,11 +408,46 @@ var AgentManager = class {
|
|
|
374
408
|
instance.agent.state.systemPrompt = newPrompt;
|
|
375
409
|
}
|
|
376
410
|
log.info({ agents: this.agents.size }, "Skill toggles applied; system prompt updated");
|
|
411
|
+
this.scheduleSkillsUpdated("config");
|
|
377
412
|
}
|
|
378
413
|
/**
|
|
379
414
|
* Reload skills from disk and refresh system prompt on all active Agent instances.
|
|
380
415
|
*/
|
|
381
|
-
refreshSkillsAfterDiskChange() {
|
|
416
|
+
refreshSkillsAfterDiskChange(source = "explicit") {
|
|
417
|
+
const now = Date.now();
|
|
418
|
+
if (source === "watch" && now - this.lastExplicitSkillDiskRefreshAt < 2500) {
|
|
419
|
+
log.debug({ changedWithinMs: now - this.lastExplicitSkillDiskRefreshAt }, "Ignoring skill watcher echo after explicit refresh");
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
if (source === "explicit") this.lastExplicitSkillDiskRefreshAt = now;
|
|
423
|
+
if (this.skillDiskRefreshInProgress) {
|
|
424
|
+
this.skillDiskRefreshPending = true;
|
|
425
|
+
return;
|
|
426
|
+
}
|
|
427
|
+
this.skillDiskRefreshInProgress = true;
|
|
428
|
+
let refreshed = false;
|
|
429
|
+
try {
|
|
430
|
+
do {
|
|
431
|
+
this.skillDiskRefreshPending = false;
|
|
432
|
+
this.applySkillsAfterDiskChange();
|
|
433
|
+
refreshed = true;
|
|
434
|
+
} while (this.skillDiskRefreshPending);
|
|
435
|
+
} finally {
|
|
436
|
+
this.skillDiskRefreshInProgress = false;
|
|
437
|
+
}
|
|
438
|
+
if (refreshed) this.scheduleSkillsUpdated("disk");
|
|
439
|
+
}
|
|
440
|
+
scheduleSkillsUpdated(reason) {
|
|
441
|
+
this.pendingSkillsUpdatedReason = reason === "disk" ? "disk" : this.pendingSkillsUpdatedReason ?? "config";
|
|
442
|
+
if (this.skillsUpdatedTimer) clearTimeout(this.skillsUpdatedTimer);
|
|
443
|
+
this.skillsUpdatedTimer = setTimeout(() => {
|
|
444
|
+
const nextReason = this.pendingSkillsUpdatedReason ?? reason;
|
|
445
|
+
this.pendingSkillsUpdatedReason = void 0;
|
|
446
|
+
this.skillsUpdatedTimer = void 0;
|
|
447
|
+
this.config.onSkillsUpdated?.({ reason: nextReason });
|
|
448
|
+
}, 250);
|
|
449
|
+
}
|
|
450
|
+
applySkillsAfterDiskChange() {
|
|
382
451
|
const cfg = this.config.config;
|
|
383
452
|
for (const rt of this.workspaceRuntimes.values()) rt.skillManager.reload();
|
|
384
453
|
const touched = /* @__PURE__ */ new Set();
|
|
@@ -538,6 +607,8 @@ var AgentManager = class {
|
|
|
538
607
|
* Dispose all agents
|
|
539
608
|
*/
|
|
540
609
|
dispose() {
|
|
610
|
+
if (this.skillsUpdatedTimer) clearTimeout(this.skillsUpdatedTimer);
|
|
611
|
+
this.skillFilesystemWatcher.dispose();
|
|
541
612
|
this.toolsFactory.shutdownBrowser();
|
|
542
613
|
disposeAllSessionMcpRuntimes().catch(() => {});
|
|
543
614
|
evictAllEmbeddedSessionRunners("agent_manager_dispose");
|