@xopcai/xopc 0.0.187 → 0.0.189
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/demo-memory/src/index.js +1 -0
- package/dist/extensions/feishu/src/streaming/streaming-adapter.js +1 -3
- package/dist/extensions/telegram/src/adapters/streaming-adapter.js +0 -2
- package/dist/extensions/telegram/src/draft-stream.d.ts +0 -4
- package/dist/extensions/telegram/src/draft-stream.js +1 -53
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{activity-store-WlR2zEvA.js → activity-store-DTFKTPs8.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-RedDszrG.js → agent-avatar-dicebear-DqO25Qe5.js} +1 -1
- package/dist/gateway/static/root/assets/agents-BvdqdER9.js +2 -0
- package/dist/gateway/static/root/assets/{api-tVOllncq.js → api-DWeXfwVU.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-C9hKBzaF.js → app-management-settings-panel-BRpV8PXG.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-5cQvq7hd.js → appearance-settings-3ntKM9nQ.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page-nKLsfy6C.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-Ct-shK4n.js → archive-plugin-Df7Ycj_7.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-CpPj3m-q.js → attachment-load-UHgfZYtj.js} +1 -1
- package/dist/gateway/static/root/assets/automations-page-Dh5bdZiN.js +6 -0
- package/dist/gateway/static/root/assets/{binary-plugins-BpSXZBle.js → binary-plugins-BJah99wE.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-B8hR2tXc.js → block-editor-DNlY5KqF.js} +46 -46
- package/dist/gateway/static/root/assets/browser-settings-page-CRJ_nAuh.js +8 -0
- package/dist/gateway/static/root/assets/{browser-workflow-inputs-D_LAXUrh.js → browser-workflow-inputs-vyUfdzAd.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-workflows-page-CPAs7-6s.js → browser-workflows-page-C1cKZjx-.js} +2 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-DeQR5BZt.js +7 -0
- package/dist/gateway/static/root/assets/{capability-presets-api-CKklVY2p.js → capability-presets-api-D7tkhDMv.js} +1 -1
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-D7uK3q1p.js +1 -0
- package/dist/gateway/static/root/assets/{channel-recipient-api-WWN-nbFL.js → channel-recipient-api-BGG2kpJB.js} +1 -1
- package/dist/gateway/static/root/assets/channels-settings-Bw6Dniyq.js +1 -0
- package/dist/gateway/static/root/assets/channels-status-swr-BrUTz4uU.js +1 -0
- package/dist/gateway/static/root/assets/{connector-logo-CdNkVFdB.js → connector-logo-8YU53RUT.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-k9tMiOL5.js +2 -0
- package/dist/gateway/static/root/assets/{desktop-pet-Bm_IEAf3.js → desktop-pet-BUuBEJuP.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-C0Ve04-G.js → desktop-pet-settings-BGfVIJM3.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-B2cvhvAI.js → directory-picker-path-field-DrQFfHH_.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-DNashgGu.js → extension-debug-page-CEnIFOX-.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-Bvo-5htX.js → extension-page-CCqHbexs.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-BBESdISV.js → extension-settings-page-DEZw_7zN.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-api-ClQvokMo.js → gateway-config-api-CgUE2Ii1.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-settings-Dg8qCiIp.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-CntXJF6W.js → gateway-startup-retry-DxhKNiCF.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-settings-CWKcZuvc.js → heartbeat-settings-27tRzDEo.js} +1 -1
- package/dist/gateway/static/root/assets/home-page-VA511kMr.js +3 -0
- package/dist/gateway/static/root/assets/{image-generation-api-DjSAQwGy.js → image-generation-api-DCFdc-HD.js} +1 -1
- package/dist/gateway/static/root/assets/index-BvR-i-m6.js +216 -0
- package/dist/gateway/static/root/assets/index-zybP34zk.css +1 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-ahKHpjoW.js → keyboard-shortcuts-settings-Bf2VLtXW.js} +1 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-CaJq4-wV.js +2 -0
- package/dist/gateway/static/root/assets/{local-apps-page-B6GKdgza.js → local-apps-page-Ca1RuI13.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-Bff30u5V.js → locale-store-DUW5YE3R.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-BLTCg69e.js +2 -0
- package/dist/gateway/static/root/assets/management-settings-B3Eop1zn.js +1 -0
- package/dist/gateway/static/root/assets/{markdown-split-BeNMJm_i.js → markdown-split-BGOYjgnM.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-Bdzrj_-6.js → media-plugins-CT0txyM4.js} +1 -1
- package/dist/gateway/static/root/assets/messages-CMjnbdbn.js +3 -0
- package/dist/gateway/static/root/assets/{notes-page-MYIi-9S9.js → notes-page-DfKgAe78.js} +1 -1
- package/dist/gateway/static/root/assets/notes-workbench-Bp1w9UM1.js +4 -0
- package/dist/gateway/static/root/assets/{page-tabs-3t88bbGx.js → page-tabs-DNrbCgmC.js} +1 -1
- package/dist/gateway/static/root/assets/{preview-open-alternatives-Cf_BWbeE.js → preview-open-alternatives-BTqViDOR.js} +1 -1
- package/dist/gateway/static/root/assets/product-delivery-tRr-7IxY.js +1 -0
- package/dist/gateway/static/root/assets/{product-open-page-CKq73c98.js → product-open-page-C_2L4_Iu.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-CZmbPDQN.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-D5pzqfm5.js +1 -0
- package/dist/gateway/static/root/assets/remote-access-hub-CC-XhVGI.js +1 -0
- package/dist/gateway/static/root/assets/{schema-form-NqOm-OG1.js → schema-form-BFLfkDGG.js} +1 -1
- package/dist/gateway/static/root/assets/{schemas-C6onAggk.js → schemas-zIBW3wiV.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-B2eTLVDV.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-CRuZ_bl0.js +1 -0
- package/dist/gateway/static/root/assets/{settings-form-section-DYAS8p8z.js → settings-form-section-C4GXGeA4.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-loading-skeleton-DZFhxihA.js → settings-loading-skeleton-C9a-EbTZ.js} +1 -1
- package/dist/gateway/static/root/assets/settings-page-DI9qDH5x.js +1 -0
- package/dist/gateway/static/root/assets/{settings-page-layout-DfFfkdED.js → settings-page-layout-D-LWQdI5.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-CJwmPvgs.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-CYtrQaZN.js → share-preview-page-BKSMG9r5.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-YzSDS4G_.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-CwOo8zZk.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-xd1cgSGN.js +2 -0
- package/dist/gateway/static/root/assets/{skills-page.utils-BBXirAjc.js → skills-page.utils-zsz2HIlZ.js} +1 -1
- package/dist/gateway/static/root/assets/{system-settings-panel-DLf5YvFl.js → system-settings-panel-IWNDBI1O.js} +1 -1
- package/dist/gateway/static/root/assets/{task-detail-page-DFGkuYfl.js → task-detail-page-CgtK02kP.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-y7e_tvYi.js → theme-store-BkJe7UDo.js} +1 -1
- package/dist/gateway/static/root/assets/time-picker-CstQ___Y.js +1 -0
- package/dist/gateway/static/root/assets/{typed-models-lib-DR12j_dr.js → typed-models-lib-C07LGthO.js} +1 -1
- package/dist/gateway/static/root/assets/{use-save-bar-registration-BsvcJgZl.js → use-save-bar-registration-CQYE0l6z.js} +1 -1
- package/dist/gateway/static/root/assets/user-context-page-BnQAWS_B.js +1 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-DKADXFWD.js → voice-api-key-field-Boue1D46.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-BC1nExf8.js → work-discovery-overlay-bbmvCmc8.js} +1 -1
- package/dist/gateway/static/root/assets/work-discovery-page-CAszL1y8.js +1 -0
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-C8X5W-8k.js → workflow-run-setup-panel-DlHv-GZC.js} +2 -2
- package/dist/gateway/static/root/assets/workflows-page-DxGzo3-x.js +11 -0
- package/dist/gateway/static/root/index.html +9 -9
- package/dist/package.js +1 -1
- package/dist/packages/endpoint-tools-protocol/src/index.js +184 -0
- package/dist/packages/gateway-contract/src/tool-activity.js +223 -0
- package/dist/packages/realtime-client/src/index.js +199 -0
- package/dist/packages/realtime-protocol/src/index.js +83 -0
- package/dist/src/agent/agent-manager.d.ts +1 -0
- package/dist/src/agent/agent-manager.js +3 -8
- package/dist/src/agent/background-review/prompts.d.ts +1 -1
- package/dist/src/agent/background-review/prompts.js +3 -1
- package/dist/src/agent/background-review/run-background-review.d.ts +2 -0
- package/dist/src/agent/background-review/run-background-review.js +5 -2
- package/dist/src/agent/client-error-format.d.ts +1 -1
- package/dist/src/agent/client-error-format.js +1 -1
- package/dist/src/agent/code-intelligence/binary.js +1 -1
- package/dist/src/agent/embedded/run-for-session.d.ts +0 -2
- package/dist/src/agent/embedded/run-for-session.js +99 -112
- package/dist/src/agent/external-tools/composio-provider.d.ts +29 -0
- package/dist/src/agent/external-tools/composio-provider.js +307 -0
- package/dist/src/agent/external-tools/endpoint-provider.d.ts +17 -0
- package/dist/src/agent/external-tools/endpoint-provider.js +93 -0
- package/dist/src/agent/external-tools/extension-provider.d.ts +20 -0
- package/dist/src/agent/external-tools/extension-provider.js +68 -0
- package/dist/src/agent/external-tools/gateway-tools.d.ts +8 -0
- package/dist/src/agent/external-tools/gateway-tools.js +89 -0
- package/dist/src/agent/external-tools/index.d.ts +23 -0
- package/dist/src/agent/external-tools/index.js +46 -0
- package/dist/src/agent/external-tools/mcp-provider.d.ts +29 -0
- package/dist/src/agent/external-tools/mcp-provider.js +118 -0
- package/dist/src/agent/external-tools/memory-provider.d.ts +21 -0
- package/dist/src/agent/external-tools/memory-provider.js +56 -0
- package/dist/src/agent/external-tools/refs.d.ts +5 -0
- package/dist/src/agent/external-tools/refs.js +18 -0
- package/dist/src/agent/external-tools/service.d.ts +26 -0
- package/dist/src/agent/external-tools/service.js +117 -0
- package/dist/src/agent/external-tools/types.d.ts +35 -0
- package/dist/src/agent/external-tools/types.js +10 -0
- package/dist/src/agent/inbound/inbound-loop.d.ts +0 -2
- package/dist/src/agent/inbound/inbound-loop.js +4 -3
- package/dist/src/agent/inbound/turn-dispatcher.d.ts +9 -8
- package/dist/src/agent/inbound/turn-dispatcher.js +13 -11
- package/dist/src/agent/mcp/{bundle-mcp-materialize.d.ts → bundle-mcp-gateway.d.ts} +1 -19
- package/dist/src/agent/mcp/bundle-mcp-gateway.js +60 -0
- package/dist/src/agent/mcp/bundle-mcp-names.d.ts +0 -8
- package/dist/src/agent/mcp/bundle-mcp-names.js +2 -29
- package/dist/src/agent/mcp/bundle-mcp-policy.d.ts +4 -7
- package/dist/src/agent/mcp/bundle-mcp-policy.js +6 -20
- package/dist/src/agent/mcp/bundle-mcp-runtime.js +2 -2
- package/dist/src/agent/mcp/bundle-mcp-tools.d.ts +1 -2
- package/dist/src/agent/mcp/bundle-mcp-tools.js +1 -2
- package/dist/src/agent/mcp/bundle-mcp-types.d.ts +0 -5
- package/dist/src/agent/mcp/index.d.ts +0 -2
- package/dist/src/agent/mcp/index.js +2 -5
- package/dist/src/agent/mcp/mcp-stdio-transport.js +1 -1
- package/dist/src/agent/mcp/mcp-transport.js +1 -1
- package/dist/src/agent/memory/context/planner.d.ts +1 -0
- package/dist/src/agent/memory/context/planner.js +22 -7
- package/dist/src/agent/memory/manager.d.ts +4 -1
- package/dist/src/agent/memory/manager.js +5 -2
- package/dist/src/agent/memory/types.d.ts +2 -0
- package/dist/src/agent/messaging/command-handler.d.ts +2 -2
- package/dist/src/agent/messaging/command-handler.js +3 -3
- package/dist/src/agent/messaging/stream-manager.d.ts +2 -14
- package/dist/src/agent/messaging/stream-manager.js +0 -12
- package/dist/src/agent/orchestration/agent-event-handler.d.ts +1 -3
- package/dist/src/agent/orchestration/agent-event-handler.js +0 -36
- package/dist/src/agent/orchestration/agent-orchestrator.d.ts +0 -5
- package/dist/src/agent/orchestration/agent-orchestrator.js +0 -5
- package/dist/src/agent/prompt/sections/behavior.js +6 -4
- package/dist/src/agent/service/async-queue.d.ts +1 -1
- package/dist/src/agent/service/async-queue.js +1 -1
- package/dist/src/agent/service/direct-turn-helpers.d.ts +1 -1
- package/dist/src/agent/service/direct-turn-helpers.js +1 -1
- package/dist/src/agent/service/process-direct-one-shot.d.ts +3 -1
- package/dist/src/agent/service/process-direct-one-shot.js +1 -1
- package/dist/src/agent/service/process-direct-streaming.d.ts +7 -5
- package/dist/src/agent/service/process-direct-streaming.js +5 -5
- package/dist/src/agent/service.d.ts +1 -4
- package/dist/src/agent/service.js +6 -32
- package/dist/src/agent/service.types.d.ts +2 -3
- package/dist/src/agent/session/index.d.ts +1 -1
- package/dist/src/agent/session/session-context.d.ts +2 -0
- package/dist/src/agent/session/session-context.js +4 -0
- package/dist/src/agent/session/session-state-bag.d.ts +4 -4
- package/dist/src/agent/session/session-state-bag.js +1 -1
- package/dist/src/agent/skills/hub-pull.js +1 -1
- package/dist/src/agent/starter-agents.js +2 -2
- package/dist/src/agent/streaming/reasoning-visibility.d.ts +6 -0
- package/dist/src/agent/streaming/{reasoning-visibility-sse.js → reasoning-visibility.js} +3 -6
- package/dist/src/agent/tools/delegate-tool.js +5 -1
- package/dist/src/agent/tools/executor.js +1 -1
- package/dist/src/agent/tools/factory.d.ts +6 -1
- package/dist/src/agent/tools/factory.js +17 -22
- package/dist/src/agent/tools/index.d.ts +0 -1
- package/dist/src/agent/tools/index.js +1 -2
- package/dist/src/agent/workflow/workflow-child-tools.js +7 -1
- package/dist/src/automations/domain/types.d.ts +2 -1
- package/dist/src/automations/domain/validation.d.ts +1 -1
- package/dist/src/automations/service/action-executor.js +4 -1
- package/dist/src/browser/providers/cloakbrowser.js +1 -1
- package/dist/src/channels/channel-domain.d.ts +0 -4
- package/dist/src/channels/pairing/pairing-challenge.d.ts +1 -1
- package/dist/src/channels/pairing/pairing-challenge.js +1 -1
- package/dist/src/channels/plugin-types.d.ts +0 -2
- package/dist/src/cli/commands/agent/stream-renderer.js +4 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/config/rules.js +0 -5
- package/dist/src/config/schema.d.ts +3 -5
- package/dist/src/config/schema.js +0 -3
- package/dist/src/config/web-patch.js +0 -1
- package/dist/src/connectors/health.js +1 -1
- package/dist/src/endpoint-tools/auth.d.ts +20 -0
- package/dist/src/endpoint-tools/auth.js +51 -0
- package/dist/src/endpoint-tools/index.d.ts +5 -0
- package/dist/src/endpoint-tools/index.js +6 -0
- package/dist/src/endpoint-tools/invocation-service.d.ts +68 -0
- package/dist/src/endpoint-tools/invocation-service.js +190 -0
- package/dist/src/endpoint-tools/policy.d.ts +10 -0
- package/dist/src/endpoint-tools/policy.js +18 -0
- package/dist/src/endpoint-tools/registry.d.ts +45 -0
- package/dist/src/endpoint-tools/registry.js +121 -0
- package/dist/src/endpoint-tools/runtime.d.ts +23 -0
- package/dist/src/endpoint-tools/runtime.js +86 -0
- package/dist/src/endpoint-tools/upload-service.d.ts +41 -0
- package/dist/src/endpoint-tools/upload-service.js +103 -0
- package/dist/src/extensions/extension-registry-impl.d.ts +3 -1
- package/dist/src/extensions/extension-registry-impl.js +7 -1
- package/dist/src/extensions/loader.js +1 -1
- package/dist/src/extensions/types/core.d.ts +2 -1
- package/dist/src/extensions/types/hooks.d.ts +1 -1
- package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
- package/dist/src/gateway/agent-builtin-tools.js +5 -2
- package/dist/src/gateway/chat-stream/mapper.js +16 -1
- package/dist/src/gateway/chat-stream/protocol.d.ts +4 -1
- package/dist/src/gateway/clarify-bridge.d.ts +5 -4
- package/dist/src/gateway/clarify-bridge.js +3 -4
- package/dist/src/gateway/file-reference-errors.d.ts +6 -0
- package/dist/src/gateway/file-reference-errors.js +21 -0
- package/dist/src/gateway/heartbeat/service.js +5 -2
- package/dist/src/gateway/hono/app.js +1 -5
- package/dist/src/gateway/hono/index.d.ts +0 -1
- package/dist/src/gateway/hono/index.js +1 -2
- package/dist/src/gateway/hono/lib/config-payload.d.ts +1 -2
- package/dist/src/gateway/hono/lib/config-payload.js +1 -2
- package/dist/src/gateway/hono/middleware/auth.js +3 -5
- package/dist/src/gateway/hono/routes/agent-stream.js +49 -6
- package/dist/src/gateway/hono/routes/config-patch/gateway.d.ts +2 -2
- package/dist/src/gateway/hono/routes/config-patch/gateway.js +0 -19
- package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
- package/dist/src/gateway/hono/routes/deps.d.ts +0 -2
- package/dist/src/gateway/hono/routes/endpoint-tools.d.ts +3 -0
- package/dist/src/gateway/hono/routes/endpoint-tools.js +196 -0
- package/dist/src/gateway/hono/routes/index.js +4 -0
- package/dist/src/gateway/hono/routes/logs.js +0 -4
- package/dist/src/gateway/hono/routes/mcp.js +1 -1
- package/dist/src/gateway/hono/routes/projects.js +34 -13
- package/dist/src/gateway/hono/routes/public-gateway.js +2 -2
- package/dist/src/gateway/hono/routes/realtime.d.ts +3 -0
- package/dist/src/gateway/hono/routes/realtime.js +35 -0
- package/dist/src/gateway/hono/routes/workspace.js +34 -13
- package/dist/src/gateway/hono/routes/you.d.ts +0 -9
- package/dist/src/gateway/hono/routes/you.js +81 -128
- package/dist/src/gateway/index.d.ts +1 -1
- package/dist/src/gateway/index.js +1 -2
- package/dist/src/gateway/protocol.d.ts +1 -7
- package/dist/src/gateway/security/index.js +1 -1
- package/dist/src/gateway/security/operator-scopes.js +1 -1
- package/dist/src/gateway/server.js +4 -4
- package/dist/src/gateway/service/agent-runner.d.ts +11 -9
- package/dist/src/gateway/service/agent-runner.js +18 -18
- package/dist/src/gateway/service/config-coordinator.d.ts +2 -2
- package/dist/src/gateway/service/config-coordinator.js +1 -1
- package/dist/src/gateway/service/run-gateway-agent.d.ts +4 -3
- package/dist/src/gateway/service/run-gateway-agent.js +17 -14
- package/dist/src/gateway/service/session-input-coordinator.d.ts +3 -0
- package/dist/src/gateway/service/session-input-coordinator.js +4 -2
- package/dist/src/gateway/service/types.d.ts +0 -5
- package/dist/src/gateway/service.d.ts +7 -6
- package/dist/src/gateway/service.js +39 -22
- package/dist/src/heartbeat/index.js +1 -1
- package/dist/src/mcp/channel-bridge.d.ts +6 -9
- package/dist/src/mcp/channel-bridge.js +48 -76
- package/dist/src/mcp/channel-server.js +2 -6
- package/dist/src/realtime/broker.d.ts +30 -0
- package/dist/src/realtime/broker.js +97 -0
- package/dist/src/realtime/runtime.d.ts +20 -0
- package/dist/src/realtime/runtime.js +258 -0
- package/dist/src/realtime/tickets.d.ts +15 -0
- package/dist/src/realtime/tickets.js +38 -0
- package/dist/src/realtime/writer.d.ts +15 -0
- package/dist/src/realtime/writer.js +78 -0
- package/dist/src/share/share-config.js +0 -1
- package/dist/src/share/share-zip.js +1 -1
- package/dist/src/share/site-share-config.js +0 -1
- package/dist/src/storage/sqlite/endpoint-principal-repository.d.ts +17 -0
- package/dist/src/storage/sqlite/endpoint-principal-repository.js +54 -0
- package/dist/src/storage/sqlite/endpoint-tool-invocation-repository.d.ts +25 -0
- package/dist/src/storage/sqlite/endpoint-tool-invocation-repository.js +42 -0
- package/dist/src/storage/sqlite/index.d.ts +2 -0
- package/dist/src/storage/sqlite/index.js +3 -1
- package/dist/src/storage/sqlite/memory-records-repository.js +3 -1
- package/dist/src/storage/sqlite/migrations/108_repair_user_memory_provider.sql +18 -0
- package/dist/src/storage/sqlite/migrations/109_endpoint_principals.sql +14 -0
- package/dist/src/storage/sqlite/migrations/110_session_input_origin.sql +43 -0
- package/dist/src/storage/sqlite/migrations/111_endpoint_tool_invocations.sql +18 -0
- package/dist/src/storage/sqlite/migrations/112_endpoint_instance_bindings.sql +8 -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.ts +1 -1
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/dist/src/storage/sqlite/session-input-repository.d.ts +3 -0
- package/dist/src/storage/sqlite/session-input-repository.js +5 -3
- package/dist/src/tasks/home-query-service.d.ts +1 -1
- package/dist/src/tui/backends/embedded-backend.js +5 -2
- package/dist/src/tui/backends/{gateway-sse-backend.d.ts → gateway-realtime-backend.d.ts} +13 -10
- package/dist/src/tui/backends/{gateway-sse-backend.js → gateway-realtime-backend.js} +114 -151
- package/dist/src/tui/tool-summary.d.ts +1 -2
- package/dist/src/tui/tool-summary.js +2 -18
- package/dist/src/tui/tui-agent-events.d.ts +0 -1
- package/dist/src/tui/tui-agent-events.js +2 -15
- package/dist/src/tui/tui-backend.d.ts +4 -4
- package/dist/src/tui/tui-run-state.js +0 -4
- package/dist/src/tui/tui-types.d.ts +2 -9
- package/dist/src/tui/tui-types.js +0 -1
- package/dist/src/tui/tui.js +5 -5
- package/dist/src/tunnel/frpc-binary.js +1 -1
- package/dist/src/tunnel/gateway-lifecycle.d.ts +1 -1
- package/dist/src/tunnel/gateway-lifecycle.js +1 -1
- package/dist/src/user-context/actionableInsights.d.ts +14 -0
- package/dist/src/user-context/actionableInsights.js +34 -0
- package/dist/src/user-context/manual-understanding.js +6 -1
- package/dist/src/user-context/projection.d.ts +2 -1
- package/dist/src/user-context/projection.js +2 -1
- package/dist/src/user-context/understandingQuality.d.ts +5 -0
- package/dist/src/user-context/understandingQuality.js +44 -0
- package/dist/src/utils/logger/log-stream.d.ts +3 -10
- package/dist/src/utils/logger/log-stream.js +2 -73
- package/dist/src/utils/logger/pino-record.d.ts +1 -1
- package/dist/src/utils/logger/streams.js +1 -1
- package/dist/src/voice/local/model-files.js +1 -1
- package/dist/src/work-discovery/service.js +1 -1
- package/package.json +6 -3
- package/dist/gateway/static/root/assets/agents-Df9mTa-K.js +0 -2
- package/dist/gateway/static/root/assets/apps-page-Bd3tN-k2.js +0 -1
- package/dist/gateway/static/root/assets/automations-page-w6K9GZQ7.js +0 -6
- package/dist/gateway/static/root/assets/browser-settings-page-jb5Hf-hm.js +0 -8
- package/dist/gateway/static/root/assets/capabilities-settings-panel-BjUe4raq.js +0 -7
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-DiWIMYRr.js +0 -1
- package/dist/gateway/static/root/assets/channels-settings-D8IkjMuX.js +0 -1
- package/dist/gateway/static/root/assets/channels-status-swr-CySs1GQX.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-BT2ahw52.js +0 -2
- package/dist/gateway/static/root/assets/gateway-settings-CIRs2QVy.js +0 -1
- package/dist/gateway/static/root/assets/home-page-C59f8UJw.js +0 -3
- package/dist/gateway/static/root/assets/index-D-YfWVyS.css +0 -1
- package/dist/gateway/static/root/assets/index-vi5KlR5_.js +0 -222
- package/dist/gateway/static/root/assets/local-app-workbench-page-DRB4UQBE.js +0 -2
- package/dist/gateway/static/root/assets/logs-page-CNp4XiBN.js +0 -7
- package/dist/gateway/static/root/assets/messages-CPxz48hr.js +0 -3
- package/dist/gateway/static/root/assets/notes-workbench-DqSkeDXX.js +0 -4
- package/dist/gateway/static/root/assets/product-delivery-C8JbSj5Y.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-BrbHs4Wp.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-B80rtkj6.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-_Q3GEznb.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-55dJOUVg.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-CSFCZj14.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-BSIiMLi-.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-q_yE6-H1.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-gYkRX9Ik.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-BoNBMKW6.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-GZHKDFSb.js +0 -2
- package/dist/gateway/static/root/assets/time-picker-5sHEZ5w5.js +0 -1
- package/dist/gateway/static/root/assets/user-context-page-q5dr8JFG.js +0 -1
- package/dist/gateway/static/root/assets/work-discovery-page-fNvSg40M.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-YJBKmPYK.js +0 -11
- package/dist/src/agent/feedback/feedback-coordinator.d.ts +0 -73
- package/dist/src/agent/feedback/feedback-coordinator.js +0 -156
- package/dist/src/agent/feedback/index.d.ts +0 -4
- package/dist/src/agent/feedback/index.js +0 -2
- package/dist/src/agent/lifecycle/progress.d.ts +0 -90
- package/dist/src/agent/lifecycle/progress.js +0 -339
- package/dist/src/agent/mcp/bundle-mcp-materialize.js +0 -183
- package/dist/src/agent/mcp/mcp-tool-meta.d.ts +0 -8
- package/dist/src/agent/mcp/mcp-tool-meta.js +0 -13
- package/dist/src/agent/mcp/resolve-embedded-mcp-tools.d.ts +0 -14
- package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js +0 -48
- package/dist/src/agent/streaming/reasoning-visibility-sse.d.ts +0 -15
- package/dist/src/agent/tools/composio-tool.d.ts +0 -21
- package/dist/src/agent/tools/composio-tool.js +0 -261
- package/dist/src/gateway/agent-run-relay.d.ts +0 -19
- package/dist/src/gateway/agent-run-relay.js +0 -169
- package/dist/src/gateway/hono/sse.d.ts +0 -53
- package/dist/src/gateway/hono/sse.js +0 -207
- package/dist/src/gateway/service/sse-hub.d.ts +0 -10
- package/dist/src/gateway/service/sse-hub.js +0 -53
- package/dist/src/tui/sse-consumer.d.ts +0 -15
- package/dist/src/tui/sse-consumer.js +0 -73
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { isActionableUnderstandingContent, isNearDuplicateUnderstanding } from "./understandingQuality.js";
|
|
2
|
+
//#region src/user-context/actionableInsights.ts
|
|
3
|
+
const USER_CONFIRMED_MEMORY_TAG = "user-confirmed";
|
|
4
|
+
const INSIGHT_ACCEPTED_TAG = "insight-action:accepted";
|
|
5
|
+
const INSIGHT_DISMISSED_TAG = "insight-action:dismissed";
|
|
6
|
+
function actionFor(record) {
|
|
7
|
+
if (record.kind === "routine") return "make_repeatable";
|
|
8
|
+
if (record.kind === "long_term_goal") return "start_progress";
|
|
9
|
+
if (record.kind === "task_lesson" || record.kind === "derived_insight") return "add_playbook";
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
function buildActionableInsightSuggestions(records, existingTaskTexts) {
|
|
13
|
+
const selected = [];
|
|
14
|
+
const sorted = records.filter((record) => record.status === "active").filter((record) => record.tags?.includes(USER_CONFIRMED_MEMORY_TAG)).filter((record) => !record.tags?.includes("insight-action:accepted") && !record.tags?.includes("insight-action:dismissed")).filter((record) => isActionableUnderstandingContent(record.content)).filter((record) => record.kind !== "long_term_goal" || record.durability !== "ephemeral").sort((left, right) => right.importance - left.importance || Date.parse(right.updatedAt) - Date.parse(left.updatedAt));
|
|
15
|
+
for (const record of sorted) {
|
|
16
|
+
const action = actionFor(record);
|
|
17
|
+
if (!action) continue;
|
|
18
|
+
if (selected.some((item) => item.action === action && isNearDuplicateUnderstanding(item.insight, record.content))) continue;
|
|
19
|
+
if (action === "start_progress" && existingTaskTexts.some((text) => isNearDuplicateUnderstanding(text, record.content))) continue;
|
|
20
|
+
selected.push({
|
|
21
|
+
id: record.id,
|
|
22
|
+
insight: record.content,
|
|
23
|
+
kind: record.kind,
|
|
24
|
+
action,
|
|
25
|
+
evidenceCount: record.evidence?.length ?? 0,
|
|
26
|
+
confidence: record.confidence,
|
|
27
|
+
sourceName: record.source.provider ?? "local"
|
|
28
|
+
});
|
|
29
|
+
if (selected.length === 5) break;
|
|
30
|
+
}
|
|
31
|
+
return selected;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { INSIGHT_ACCEPTED_TAG, INSIGHT_DISMISSED_TAG, USER_CONFIRMED_MEMORY_TAG, buildActionableInsightSuggestions };
|
|
@@ -2,6 +2,7 @@ import { listMemoryRecords, upsertMemoryRecord } from "../storage/sqlite/memory-
|
|
|
2
2
|
import "../storage/sqlite/index.js";
|
|
3
3
|
import { nextMemoryReviewAt } from "../agent/memory/lifecycle.js";
|
|
4
4
|
import { isUserContextRecord } from "./projection.js";
|
|
5
|
+
import { USER_CONFIRMED_MEMORY_TAG } from "./actionableInsights.js";
|
|
5
6
|
//#region src/user-context/manual-understanding.ts
|
|
6
7
|
const STATUSES = [
|
|
7
8
|
"candidate",
|
|
@@ -50,7 +51,11 @@ function createManualUnderstanding(input) {
|
|
|
50
51
|
path: "you://manual"
|
|
51
52
|
},
|
|
52
53
|
confidence: 1,
|
|
53
|
-
tags: [
|
|
54
|
+
tags: [
|
|
55
|
+
"user-understanding",
|
|
56
|
+
"explicit-user-memory",
|
|
57
|
+
USER_CONFIRMED_MEMORY_TAG
|
|
58
|
+
],
|
|
54
59
|
status: "active",
|
|
55
60
|
sensitivity: input.sensitivity,
|
|
56
61
|
explicitness: "explicit",
|
|
@@ -4,6 +4,7 @@ import type { KnowledgeSourceItem, KnowledgeSyncRun } from '../knowledge/types.j
|
|
|
4
4
|
import type { ConnectorLearningJob } from '../storage/sqlite/index.js';
|
|
5
5
|
export type UserContextFacet = 'basics' | 'collaboration' | 'boundaries' | 'priorities' | 'people' | 'current';
|
|
6
6
|
export type UserContextOrigin = 'told_by_you' | 'observed' | 'inferred' | 'connected_source';
|
|
7
|
+
export declare const USER_CONTEXT_MEMORY_KINDS: readonly MemoryKind[];
|
|
7
8
|
export declare function isUserContextRecord(record: MemoryRecord): boolean;
|
|
8
9
|
export declare function isUserContextMemoryKind(value: unknown): value is MemoryKind;
|
|
9
10
|
export declare function facetForMemoryKind(kind: MemoryKind): UserContextFacet;
|
|
@@ -67,7 +68,7 @@ export declare function projectPersonalContextSources(definitions: ConnectorDefi
|
|
|
67
68
|
}>;
|
|
68
69
|
}): {
|
|
69
70
|
category: import("../connectors/types.js").ConnectorCategory;
|
|
70
|
-
capabilities: ("
|
|
71
|
+
capabilities: ("tools" | "context" | "events" | "memory_source")[];
|
|
71
72
|
access: {
|
|
72
73
|
context: boolean;
|
|
73
74
|
memory: boolean;
|
|
@@ -20,6 +20,7 @@ const CONTEXTUAL_USER_KINDS = new Set([
|
|
|
20
20
|
"derived_insight",
|
|
21
21
|
"task_lesson"
|
|
22
22
|
]);
|
|
23
|
+
const USER_CONTEXT_MEMORY_KINDS = [...ALWAYS_PERSONAL_KINDS, ...CONTEXTUAL_USER_KINDS];
|
|
23
24
|
function isUserContextRecord(record) {
|
|
24
25
|
if (ALWAYS_PERSONAL_KINDS.has(record.kind)) return true;
|
|
25
26
|
return CONTEXTUAL_USER_KINDS.has(record.kind) && record.tags?.includes("user-understanding") === true;
|
|
@@ -258,4 +259,4 @@ function projectPersonalContextSources(definitions, instances, knowledge = {}) {
|
|
|
258
259
|
});
|
|
259
260
|
}
|
|
260
261
|
//#endregion
|
|
261
|
-
export { facetForMemoryKind, isPersonalContextConnector, isUserContextMemoryKind, isUserContextRecord, originForMemoryRecord, projectPersonalContextSources, projectUserContextRecord, recordsDerivedFromPersonalContextSource };
|
|
262
|
+
export { USER_CONTEXT_MEMORY_KINDS, facetForMemoryKind, isPersonalContextConnector, isUserContextMemoryKind, isUserContextRecord, originForMemoryRecord, projectPersonalContextSources, projectUserContextRecord, recordsDerivedFromPersonalContextSource };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MemoryKind } from '../agent/memory/types.js';
|
|
2
|
+
export declare function isStandaloneUnderstandingContent(content: string): boolean;
|
|
3
|
+
export declare function isActionableUnderstandingContent(content: string): boolean;
|
|
4
|
+
export declare function isDurableUnderstandingCandidate(kind: MemoryKind, content: string): boolean;
|
|
5
|
+
export declare function isNearDuplicateUnderstanding(left: string, right: string): boolean;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
//#region src/user-context/understandingQuality.ts
|
|
2
|
+
const INCOMPLETE_PREFIX = /^(?:and\b|also\b|then\b|plus\b|as\s+well\s+as\b|which\b|that\b|并且|并将|以及|然后|同时|另外|还有|而且|或者|的事项|事项[,,、::]?)/i;
|
|
3
|
+
const DEFERRED_OR_NEGATED_ACTION = /(?:not\s+now|no\s+need\s+to|do\s+not\s+(?:start|proceed)|don't\s+(?:start|proceed)|later\s+maybe|暂时不用|暂时不(?:用|要|开始)?|先不用|无需|不用开始|不要推进|不需要推进)/i;
|
|
4
|
+
const ONE_OFF_ACTION_PREFIX = /^(?:please\s+|update\b|investigate\b|summari[sz]e\b|fix\b|write\b|add\b|record\b|track\b)|^(?:请|帮我|更新|调查|汇总|整理|修复|写入|加入|记录|跟进)/i;
|
|
5
|
+
function meaningfulLength(content) {
|
|
6
|
+
return content.normalize("NFKC").replace(/[\p{P}\p{S}\s]/gu, "").length;
|
|
7
|
+
}
|
|
8
|
+
function isStandaloneUnderstandingContent(content) {
|
|
9
|
+
const normalized = content.normalize("NFKC").trim();
|
|
10
|
+
return meaningfulLength(normalized) >= 4 && !INCOMPLETE_PREFIX.test(normalized) && !DEFERRED_OR_NEGATED_ACTION.test(normalized);
|
|
11
|
+
}
|
|
12
|
+
function isActionableUnderstandingContent(content) {
|
|
13
|
+
return meaningfulLength(content) >= 8 && isStandaloneUnderstandingContent(content);
|
|
14
|
+
}
|
|
15
|
+
function isDurableUnderstandingCandidate(kind, content) {
|
|
16
|
+
if (!isStandaloneUnderstandingContent(content)) return false;
|
|
17
|
+
if ((kind === "commitment" || kind === "long_term_goal") && ONE_OFF_ACTION_PREFIX.test(content.trim())) return false;
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
function comparableText(content) {
|
|
21
|
+
return content.normalize("NFKC").toLocaleLowerCase().replace(/[\p{P}\p{S}\s]/gu, "");
|
|
22
|
+
}
|
|
23
|
+
function bigrams(content) {
|
|
24
|
+
const result = /* @__PURE__ */ new Set();
|
|
25
|
+
for (let index = 0; index < content.length - 1; index += 1) result.add(content.slice(index, index + 2));
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
function isNearDuplicateUnderstanding(left, right) {
|
|
29
|
+
const a = comparableText(left);
|
|
30
|
+
const b = comparableText(right);
|
|
31
|
+
if (!a || !b) return false;
|
|
32
|
+
if (a === b) return true;
|
|
33
|
+
const shorter = a.length <= b.length ? a : b;
|
|
34
|
+
const longer = a.length > b.length ? a : b;
|
|
35
|
+
if (shorter.length >= 8 && longer.includes(shorter) && shorter.length / longer.length >= .55) return true;
|
|
36
|
+
if (shorter.length < 4) return false;
|
|
37
|
+
const aPairs = bigrams(a);
|
|
38
|
+
const bPairs = bigrams(b);
|
|
39
|
+
let overlap = 0;
|
|
40
|
+
for (const pair of aPairs) if (bPairs.has(pair)) overlap += 1;
|
|
41
|
+
return 2 * overlap / (aPairs.size + bPairs.size) >= .78;
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
export { isActionableUnderstandingContent, isDurableUnderstandingCandidate, isNearDuplicateUnderstanding, isStandaloneUnderstandingContent };
|
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Log Streaming Module - SSE real-time log delivery
|
|
3
|
-
*/
|
|
1
|
+
/** In-process live log fan-out. */
|
|
4
2
|
import type { LogLevel, LogEntry } from './types.js';
|
|
5
3
|
export type { LogLevel, LogEntry };
|
|
4
|
+
type LogSubscriber = (entry: LogEntry) => void;
|
|
5
|
+
export declare function subscribeToLogs(subscriber: LogSubscriber): () => void;
|
|
6
6
|
export declare function hasSubscribers(): boolean;
|
|
7
7
|
/** @internal Called from Pino live emit stream */
|
|
8
8
|
export declare function emitLogEntry(entry: LogEntry): void;
|
|
9
|
-
/** Hono handler for `GET /api/logs/stream`. */
|
|
10
|
-
export declare function createLogSSEHandler(): (c: {
|
|
11
|
-
req: {
|
|
12
|
-
raw: Request;
|
|
13
|
-
url: string;
|
|
14
|
-
};
|
|
15
|
-
}) => Promise<Response>;
|
|
@@ -4,9 +4,6 @@ function subscribeToLogs(subscriber) {
|
|
|
4
4
|
subscribers.add(subscriber);
|
|
5
5
|
return () => subscribers.delete(subscriber);
|
|
6
6
|
}
|
|
7
|
-
function getSubscriberCount() {
|
|
8
|
-
return subscribers.size;
|
|
9
|
-
}
|
|
10
7
|
function hasSubscribers() {
|
|
11
8
|
return subscribers.size > 0;
|
|
12
9
|
}
|
|
@@ -17,78 +14,10 @@ function emitLogEntry(entry) {
|
|
|
17
14
|
subscriber(entry);
|
|
18
15
|
} catch {}
|
|
19
16
|
}
|
|
20
|
-
|
|
21
|
-
if (!levelsParam) return [
|
|
22
|
-
"info",
|
|
23
|
-
"warn",
|
|
24
|
-
"error",
|
|
25
|
-
"fatal"
|
|
26
|
-
];
|
|
27
|
-
return levelsParam.split(",").filter((l) => VALID_LEVELS.includes(l));
|
|
28
|
-
}
|
|
29
|
-
function createLogSseResponse(req, allowedLevels, moduleFilter) {
|
|
30
|
-
const stream = new ReadableStream({ start(controller) {
|
|
31
|
-
const encoder = new TextEncoder();
|
|
32
|
-
const sendEvent = (data) => {
|
|
33
|
-
const message = `data: ${JSON.stringify(data)}\n\n`;
|
|
34
|
-
controller.enqueue(encoder.encode(message));
|
|
35
|
-
};
|
|
36
|
-
sendEvent({
|
|
37
|
-
type: "connected",
|
|
38
|
-
message: "Log stream started"
|
|
39
|
-
});
|
|
40
|
-
const unsubscribe = subscribeToLogs((entry) => {
|
|
41
|
-
if (!allowedLevels.includes(entry.level)) return;
|
|
42
|
-
if (moduleFilter && entry.module !== moduleFilter) return;
|
|
43
|
-
sendEvent(entry);
|
|
44
|
-
});
|
|
45
|
-
const heartbeat = setInterval(() => {
|
|
46
|
-
try {
|
|
47
|
-
sendEvent({
|
|
48
|
-
type: "heartbeat",
|
|
49
|
-
subscribers: getSubscriberCount()
|
|
50
|
-
});
|
|
51
|
-
} catch {
|
|
52
|
-
clearInterval(heartbeat);
|
|
53
|
-
}
|
|
54
|
-
}, 3e4);
|
|
55
|
-
req.signal.addEventListener("abort", () => {
|
|
56
|
-
unsubscribe();
|
|
57
|
-
clearInterval(heartbeat);
|
|
58
|
-
try {
|
|
59
|
-
controller.close();
|
|
60
|
-
} catch {}
|
|
61
|
-
});
|
|
62
|
-
} });
|
|
63
|
-
return new Response(stream, { headers: {
|
|
64
|
-
"Content-Type": "text/event-stream",
|
|
65
|
-
"Cache-Control": "no-cache",
|
|
66
|
-
Connection: "keep-alive",
|
|
67
|
-
"X-Accel-Buffering": "no"
|
|
68
|
-
} });
|
|
69
|
-
}
|
|
70
|
-
/** Hono handler for `GET /api/logs/stream`. */
|
|
71
|
-
function createLogSSEHandler() {
|
|
72
|
-
return async (c) => {
|
|
73
|
-
const url = new URL(c.req.url);
|
|
74
|
-
const allowedLevels = parseAllowedLevels(url.searchParams.get("levels"));
|
|
75
|
-
const moduleFilter = url.searchParams.get("module");
|
|
76
|
-
return createLogSseResponse(c.req.raw, allowedLevels, moduleFilter);
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
var subscribers, VALID_LEVELS;
|
|
17
|
+
var subscribers;
|
|
80
18
|
var init_log_stream = __esmMin((() => {
|
|
81
19
|
subscribers = /* @__PURE__ */ new Set();
|
|
82
|
-
VALID_LEVELS = [
|
|
83
|
-
"trace",
|
|
84
|
-
"debug",
|
|
85
|
-
"info",
|
|
86
|
-
"warn",
|
|
87
|
-
"error",
|
|
88
|
-
"fatal",
|
|
89
|
-
"silent"
|
|
90
|
-
];
|
|
91
20
|
}));
|
|
92
21
|
//#endregion
|
|
93
22
|
init_log_stream();
|
|
94
|
-
export {
|
|
23
|
+
export { emitLogEntry, hasSubscribers, init_log_stream, subscribeToLogs };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shared Pino JSON record → LogEntry conversion for file query and live
|
|
2
|
+
* Shared Pino JSON record → LogEntry conversion for file query and live realtime delivery.
|
|
3
3
|
*/
|
|
4
4
|
import type { LogEntry } from './types.js';
|
|
5
5
|
/** Convert a parsed Pino JSON object into a normalized LogEntry. */
|
|
@@ -32,7 +32,7 @@ function createLogStream(filePath) {
|
|
|
32
32
|
encoding: "utf-8"
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
|
-
/** Push parsed Pino lines to live
|
|
35
|
+
/** Push parsed Pino lines to live realtime subscribers when any are connected. */
|
|
36
36
|
function createLiveEmitStream() {
|
|
37
37
|
return new Writable({ write(chunk, _encoding, callback) {
|
|
38
38
|
if (hasSubscribers()) try {
|
|
@@ -2,8 +2,8 @@ import { dirname, join } from "node:path";
|
|
|
2
2
|
import { createReadStream, createWriteStream } from "node:fs";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
import { mkdir, rm, stat } from "node:fs/promises";
|
|
5
|
-
import { pipeline } from "node:stream/promises";
|
|
6
5
|
import { Readable } from "node:stream";
|
|
6
|
+
import { pipeline } from "node:stream/promises";
|
|
7
7
|
//#region src/voice/local/model-files.ts
|
|
8
8
|
function resolveModelFileUrl(remoteHost, model, file) {
|
|
9
9
|
const base = remoteHost.endsWith("/") ? remoteHost : `${remoteHost}/`;
|
|
@@ -801,7 +801,7 @@ var WorkDiscoveryService = class {
|
|
|
801
801
|
preserveMemoryRecord(record, patch) {
|
|
802
802
|
return upsertMemoryRecord({
|
|
803
803
|
id: record.id,
|
|
804
|
-
providerId:
|
|
804
|
+
providerId: record.providerId,
|
|
805
805
|
kind: record.kind,
|
|
806
806
|
sourceAgentId: record.provenance.sourceAgentId,
|
|
807
807
|
workspaceId: record.scope.workspaceId,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xopcai/xopc",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.189",
|
|
4
4
|
"description": "Local-first AI system that remembers context, coordinates AI, and sustains long-term progress.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -163,7 +163,10 @@
|
|
|
163
163
|
"vitepress": "^1.6.4",
|
|
164
164
|
"vitest": "4.1.5",
|
|
165
165
|
"vue": "^3.5.35",
|
|
166
|
-
"@xopcai/
|
|
166
|
+
"@xopcai/endpoint-tools-protocol": "0.0.0",
|
|
167
|
+
"@xopcai/gateway-contract": "0.0.0",
|
|
168
|
+
"@xopcai/realtime-protocol": "0.0.0",
|
|
169
|
+
"@xopcai/realtime-client": "0.0.0"
|
|
167
170
|
},
|
|
168
171
|
"scripts": {
|
|
169
172
|
"assets:brand": "node scripts/generate-brand-assets.mjs",
|
|
@@ -186,7 +189,7 @@
|
|
|
186
189
|
"mobile:lint": "pnpm -C apps/mobile-expo run lint",
|
|
187
190
|
"mobile:typecheck": "pnpm -C apps/mobile-expo run typecheck",
|
|
188
191
|
"mobile:test": "pnpm -C apps/mobile-expo test",
|
|
189
|
-
"mobile:test:
|
|
192
|
+
"mobile:test:stream": "pnpm --filter @xopcai/agent-stream-client test",
|
|
190
193
|
"mobile:release:patch": "bash scripts/apps/mobile-expo/release-patch.sh",
|
|
191
194
|
"dev": "tsx src/cli/bin.ts",
|
|
192
195
|
"dev:init": "sh -c 'mkdir -p \"$HOME/.xopc-dev\" && XOPC_STATE_DIR=\"$HOME/.xopc-dev\" XOPC_CONFIG_PATH=\"$HOME/.xopc-dev/xopc.json\" XOPC_CONFIG=\"$HOME/.xopc-dev/xopc.json\" XOPC_LOG_DIR=\"$HOME/.xopc-dev/logs\" XOPC_LOG_LEVEL=info tsx src/cli/bin.ts init \"$@\"' --",
|