@xopcai/xopc 0.0.208 → 0.0.211
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{activity-store-D0mYZqhc.js → activity-store-BzjFoSr0.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-MWLQWL_i.js → agent-avatar-dicebear-DTfjhfVE.js} +1 -1
- package/dist/gateway/static/root/assets/agents-CjhgfuVJ.js +68 -0
- package/dist/gateway/static/root/assets/{api-DZA1yVzM.js → api-D269PnU9.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-B2X6quAF.js → app-management-settings-panel-BFpfQDWc.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-BZW-c38q.js → appearance-settings-DLxFdqhY.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page-CjmlGB5V.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-CK-gsjsJ.js → archive-plugin-DPlH4dnc.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-EJGP4rCw.js → attachment-load-xqfLLd0I.js} +1 -1
- package/dist/gateway/static/root/assets/automations-page-4m6Ey6wG.js +6 -0
- package/dist/gateway/static/root/assets/{binary-plugins-Tbss_4P-.js → binary-plugins-C0tuoPXk.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-C-dOWigw.js → block-editor-Deyphj1o.js} +6 -6
- package/dist/gateway/static/root/assets/browser-settings-page-CAGCYx8U.js +8 -0
- package/dist/gateway/static/root/assets/{browser-workflow-inputs-DW06Zo1N.js → browser-workflow-inputs-CYEbXyRF.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-workflows-page-B6RnRGwm.js → browser-workflows-page-Bf0tPbGi.js} +2 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-CKfLsxTI.js +7 -0
- package/dist/gateway/static/root/assets/{capability-presets-api-Cc3BtQar.js → capability-presets-api-DPkFA_-R.js} +1 -1
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-CpipKNqX.js +3 -0
- package/dist/gateway/static/root/assets/{channel-recipient-api-BvZO5FaO.js → channel-recipient-api-DqKaAcnZ.js} +1 -1
- package/dist/gateway/static/root/assets/channels-settings-Bvq-O4pt.js +1 -0
- package/dist/gateway/static/root/assets/channels-status-swr-CrMld2l7.js +1 -0
- package/dist/gateway/static/root/assets/chat-terminal-dock-CTDRZa7e.js +36 -0
- package/dist/gateway/static/root/assets/{connectors-api-CUl6_EQJ.js → connectors-api-Buu8fif8.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-CSQRzaVn.js +2 -0
- package/dist/gateway/static/root/assets/{cron-expression-BD9MgoE_.js → cron-expression-DTLR82NB.js} +1 -1
- package/dist/gateway/static/root/assets/{date-picker-ChqNmoxw.js → date-picker-DyNogHQH.js} +1 -1
- package/dist/gateway/static/root/assets/{dependency-picker-CDUmFs6H.js → dependency-picker-BpnCuo7B.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-D61gqxaD.js → desktop-pet-CDKI4gVB.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-QvuJvIX_.js → desktop-pet-settings-DjT5C2a3.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-DvXMvDNY.js → directory-picker-path-field-DlJY90TM.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-DMdVTAQ3.js → extension-debug-page-DWf2z7q5.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-BNzxZtaK.js → extension-page-Dorx0kf9.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-DoEfyizU.js → extension-settings-page-B1wU9ZOB.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-api-o7AKvthC.js → gateway-config-api-B1lG4dNr.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-swr-BQbkUP5X.js → gateway-config-swr-BIxuwPQi.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-settings-TO5YYZ9a.js → gateway-settings-DqIOqJjM.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-DIgdpHgk.js → gateway-startup-retry-BpZgd4U-.js} +1 -1
- package/dist/gateway/static/root/assets/heartbeat-settings-DG4Kmgkc.js +1 -0
- package/dist/gateway/static/root/assets/home-page-BhqItS_s.js +1 -0
- package/dist/gateway/static/root/assets/image-generation-api-PkhYohDa.js +1 -0
- package/dist/gateway/static/root/assets/index-DLhvsU9B.css +2 -0
- package/dist/gateway/static/root/assets/index-_cuTcWjB.js +107 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-4xaM3jjU.js → keyboard-shortcuts-settings-6OQT3gQF.js} +1 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-DWjTmzxw.js +2 -0
- package/dist/gateway/static/root/assets/{local-apps-page-C1xDicdr.js → local-apps-page-DfruRAmE.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-pByvK12G.js → locale-store-C5MK9WcP.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-BA5efZ8B.js +2 -0
- package/dist/gateway/static/root/assets/{management-settings-D1XdHm7v.js → management-settings-L1VYkywO.js} +1 -1
- package/dist/gateway/static/root/assets/{markdown-split-B_Ijq1Fr.js → markdown-split-oqgHbqt-.js} +1 -1
- package/dist/gateway/static/root/assets/markdown-view-DD_PgVue.css +1 -0
- package/dist/gateway/static/root/assets/{markdown-view-CyJlGUxB.js → markdown-view-V4rcPPH0.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-CXXNRROJ.js → media-plugins-Bb6gSX2o.js} +1 -1
- package/dist/gateway/static/root/assets/messages-ctG2e-ix.js +3 -0
- package/dist/gateway/static/root/assets/{notes-page-rkePB4CB.js → notes-page-B1rOXjpT.js} +1 -1
- package/dist/gateway/static/root/assets/notes-workbench-CkHXVmKP.js +4 -0
- package/dist/gateway/static/root/assets/{page-tabs-gw-RMQCV.js → page-tabs-CBuCKeyy.js} +1 -1
- package/dist/gateway/static/root/assets/{preview-open-alternatives-B8aMScJ2.js → preview-open-alternatives-BQ0tLfPO.js} +1 -1
- package/dist/gateway/static/root/assets/{product-open-page-CjcpkWAz.js → product-open-page-DPeFn7Hu.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-DCqet9-L.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-D0t_AjzG.js +1 -0
- package/dist/gateway/static/root/assets/remote-access-hub-BUWPoBvw.js +1 -0
- package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-Ch5qq86o.js → runtime-tools-settings-panel-BCfQNzjG.js} +2 -2
- package/dist/gateway/static/root/assets/{schema-form-DHYWYUFt.js → schema-form-Bo7YbHYN.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-vLhrrM3m.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-OP1y0Y8M.js +1 -0
- package/dist/gateway/static/root/assets/{settings-form-section-DlzZx0-i.js → settings-form-section-B9dnKr3M.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-loading-skeleton-BVLhreQi.js → settings-loading-skeleton-CYDV2JtY.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-BJU-kUnN.js → settings-page-DbrIYfS9.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-Cxc-Ejl5.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-hvIuZXMe.js → share-preview-page-olgr7LLN.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-ZOqC6-aA.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-DwvC3Iuf.js +1 -0
- package/dist/gateway/static/root/assets/{skills-page-Dlvuh7D-.js → skills-page-PE16CNw5.js} +1 -1
- package/dist/gateway/static/root/assets/{skills-page.utils-B6ddOpnf.js → skills-page.utils-nXmBcBxt.js} +1 -1
- package/dist/gateway/static/root/assets/{system-settings-panel-BdbCAyoA.js → system-settings-panel-C3qPwAdY.js} +1 -1
- package/dist/gateway/static/root/assets/task-detail-page-DCRB-5q-.js +1 -0
- package/dist/gateway/static/root/assets/{theme-store-BtdGacMI.js → theme-store-KR5Otp5w.js} +1 -1
- package/dist/gateway/static/root/assets/{typed-models-lib-CL6qHYJA.js → typed-models-lib-lMZodtDF.js} +1 -1
- package/dist/gateway/static/root/assets/{use-autosave-DysNnqCS.js → use-autosave-CKpatP3S.js} +1 -1
- package/dist/gateway/static/root/assets/user-context-page-CoiedRuA.js +1 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-UEsO9Jr-.js → voice-api-key-field-CDcv0Wbh.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-B9disASf.js → work-discovery-overlay-CGdT22un.js} +1 -1
- package/dist/gateway/static/root/assets/work-discovery-page-BwaU1RqI.js +1 -0
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-A0zTQHFQ.js → workflow-run-setup-panel-BAHYNlQt.js} +2 -2
- package/dist/gateway/static/root/assets/workflows-page-DHYmh9G7.js +5 -0
- package/dist/gateway/static/root/index.html +10 -10
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-manager.js +1 -1
- package/dist/src/agent/background-review/coordinator.d.ts +1 -1
- package/dist/src/agent/background-review/coordinator.js +4 -5
- package/dist/src/agent/background-review/run-background-review.js +0 -1
- package/dist/src/agent/background-review/settings.d.ts +1 -2
- package/dist/src/agent/background-review/settings.js +3 -4
- package/dist/src/agent/external-tools/composio-provider.js +8 -4
- package/dist/src/agent/image/generation/providers/xopc-cloud.js +2 -1
- package/dist/src/agent/image/tool-model-config.js +15 -9
- package/dist/src/agent/memory/builtin-provider.js +1 -2
- package/dist/src/agent/memory/manager.js +2 -0
- package/dist/src/agent/memory/sensitivity.js +1 -1
- package/dist/src/agent/memory/understanding/service.js +43 -19
- package/dist/src/agent/memory/user-context-coordinator.js +1 -1
- package/dist/src/agent/tools/image-generate-tool.js +23 -7
- package/dist/src/automations/domain/validation.d.ts +7 -7
- package/dist/src/automations/draft/automation-draft-validator.d.ts +2 -2
- package/dist/src/capabilities/readiness/from-config.d.ts +10 -0
- package/dist/src/capabilities/readiness/from-config.js +128 -0
- package/dist/src/capabilities/readiness/index.d.ts +3 -0
- package/dist/src/capabilities/readiness/index.js +3 -0
- package/dist/src/capabilities/readiness/planner.d.ts +3 -0
- package/dist/src/capabilities/readiness/planner.js +56 -0
- package/dist/src/capabilities/readiness/types.d.ts +35 -0
- package/dist/src/capabilities/readiness/types.js +1 -0
- package/dist/src/cli/commands/agent.js +9 -0
- package/dist/src/cli/commands/auth.js +4 -3
- package/dist/src/cli/commands/connectors.js +1 -1
- package/dist/src/cli/commands/models.js +2 -1
- package/dist/src/cli/commands/onboard/model.d.ts +3 -21
- package/dist/src/cli/commands/onboard/model.js +10 -86
- package/dist/src/cli/utils/oauth-login.d.ts +2 -0
- package/dist/src/cli/utils/oauth-login.js +9 -1
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/index.js +2 -2
- package/dist/src/config/paths-state.d.ts +2 -0
- package/dist/src/config/paths-state.js +5 -1
- package/dist/src/config/paths.d.ts +1 -1
- package/dist/src/config/paths.js +2 -2
- package/dist/src/config/schema.js +1 -1
- package/dist/src/connectors/auth-provider-registry.d.ts +2 -1
- package/dist/src/connectors/auth-provider-registry.js +5 -2
- package/dist/src/connectors/composio-sessions.d.ts +39 -0
- package/dist/src/connectors/composio-sessions.js +66 -7
- package/dist/src/connectors/composio.d.ts +4 -1
- package/dist/src/connectors/composio.js +34 -7
- package/dist/src/connectors/connected-source-cursor.d.ts +9 -0
- package/dist/src/connectors/connected-source-cursor.js +30 -0
- package/dist/src/connectors/connected-source-ingestion.js +67 -46
- package/dist/src/connectors/connected-source-normalizers.d.ts +1 -0
- package/dist/src/connectors/connected-source-normalizers.js +33 -2
- package/dist/src/connectors/connected-source-sanitization.d.ts +1 -0
- package/dist/src/connectors/connected-source-sanitization.js +21 -0
- package/dist/src/connectors/connector-identity.js +10 -2
- package/dist/src/connectors/content-enrichment.d.ts +29 -0
- package/dist/src/connectors/content-enrichment.js +273 -0
- package/dist/src/connectors/health.js +1 -1
- package/dist/src/connectors/learning-coordinator.js +1 -2
- package/dist/src/connectors/learning-recipes.js +28 -33
- package/dist/src/connectors/runtime-adapter-registry.js +14 -1
- package/dist/src/discussions/live-worker.d.ts +1 -0
- package/dist/src/discussions/live-worker.js +7 -1
- package/dist/src/discussions/repository.js +11 -1
- package/dist/src/discussions/sealer.d.ts +1 -1
- package/dist/src/discussions/sealer.js +16 -7
- package/dist/src/discussions/transcript.js +27 -1
- package/dist/src/discussions/types.d.ts +4 -0
- package/dist/src/gateway/agents-admin.js +1 -1
- package/dist/src/gateway/hono/app.js +8 -3
- package/dist/src/gateway/hono/middleware/strict-rate-limit.d.ts +4 -0
- package/dist/src/gateway/hono/middleware/strict-rate-limit.js +8 -1
- package/dist/src/gateway/hono/oauth-async.d.ts +11 -5
- package/dist/src/gateway/hono/oauth-async.js +29 -16
- package/dist/src/gateway/hono/oauth.d.ts +1 -3
- package/dist/src/gateway/hono/oauth.js +22 -22
- package/dist/src/gateway/hono/routes/agent-stream.js +4 -1
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
- package/dist/src/gateway/hono/routes/connectors.js +16 -3
- package/dist/src/gateway/hono/routes/deps.d.ts +1 -0
- package/dist/src/gateway/hono/routes/discussions.js +2 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js +2 -1
- package/dist/src/gateway/hono/routes/mcp.js +1 -1
- package/dist/src/gateway/hono/routes/models.js +59 -5
- package/dist/src/gateway/hono/routes/session-input-handler.d.ts +60 -0
- package/dist/src/gateway/hono/routes/session-input-handler.js +75 -1
- package/dist/src/gateway/hono/routes/understanding-sources.js +29 -0
- package/dist/src/gateway/hono/routes/voice.d.ts +1 -2
- package/dist/src/gateway/hono/routes/voice.js +16 -35
- package/dist/src/gateway/rate-limit/buckets.d.ts +3 -0
- package/dist/src/gateway/rate-limit/buckets.js +12 -0
- package/dist/src/gateway/service/agent-runner.d.ts +9 -1
- package/dist/src/gateway/service/agent-runner.js +9 -0
- package/dist/src/gateway/service/session-input-coordinator.d.ts +12 -0
- package/dist/src/gateway/service/session-input-coordinator.js +63 -6
- package/dist/src/gateway/service.d.ts +8 -0
- package/dist/src/gateway/service.js +18 -0
- package/dist/src/knowledge/connected-understanding-pipeline.d.ts +1 -1
- package/dist/src/knowledge/connected-understanding-pipeline.js +74 -25
- package/dist/src/knowledge/ingestion-service.js +33 -15
- package/dist/src/knowledge/types.d.ts +2 -0
- package/dist/src/media-understanding/audio-transcription-runner.d.ts +2 -0
- package/dist/src/media-understanding/audio-transcription-runner.js +3 -1
- package/dist/src/media-understanding/runner.js +3 -1
- package/dist/src/media-understanding/types.d.ts +2 -0
- package/dist/src/providers/model-catalog-persistence.d.ts +9 -0
- package/dist/src/providers/model-catalog-persistence.js +172 -0
- package/dist/src/providers/model-catalog-ranking.d.ts +2 -0
- package/dist/src/providers/model-catalog-ranking.js +17 -0
- package/dist/src/providers/model-catalog-store.d.ts +13 -3
- package/dist/src/providers/model-catalog-store.js +24 -5
- package/dist/src/providers/model-catalog-sync-service.d.ts +3 -3
- package/dist/src/providers/model-catalog-sync-service.js +12 -7
- package/dist/src/providers/provider-auth-service.d.ts +1 -0
- package/dist/src/providers/provider-auth-service.js +3 -0
- package/dist/src/providers/provider-disconnect.d.ts +11 -0
- package/dist/src/providers/provider-disconnect.js +33 -0
- package/dist/src/providers/xopc-cloud-catalog-coordinator.d.ts +56 -0
- package/dist/src/providers/xopc-cloud-catalog-coordinator.js +182 -0
- package/dist/src/providers/xopc-cloud-model-source.d.ts +6 -10
- package/dist/src/providers/xopc-cloud-model-source.js +49 -27
- package/dist/src/retrieval/audit.d.ts +1 -0
- package/dist/src/retrieval/audit.js +8 -0
- package/dist/src/retrieval/candidateFusion.d.ts +5 -0
- package/dist/src/retrieval/candidateFusion.js +20 -0
- package/dist/src/retrieval/queryProfile.d.ts +16 -0
- package/dist/src/retrieval/queryProfile.js +66 -0
- package/dist/src/retrieval/textFeatures.d.ts +5 -0
- package/dist/src/retrieval/textFeatures.js +71 -0
- package/dist/src/session/client-history.d.ts +1 -0
- package/dist/src/session/client-history.js +4 -0
- package/dist/src/session/index.js +1 -1
- package/dist/src/session/store.js +1 -1
- package/dist/src/storage/sqlite/fts.d.ts +0 -4
- package/dist/src/storage/sqlite/fts.js +2 -49
- package/dist/src/storage/sqlite/index.d.ts +3 -2
- package/dist/src/storage/sqlite/index.js +6 -5
- package/dist/src/storage/sqlite/knowledge-repository.d.ts +1 -0
- package/dist/src/storage/sqlite/knowledge-repository.js +4 -0
- package/dist/src/storage/sqlite/memory-records-repository.js +60 -38
- package/dist/src/storage/sqlite/row-mappers.js +2 -2
- package/dist/src/storage/sqlite/session-repository.js +2 -2
- package/dist/src/storage/sqlite/session-turn-replace-repository.d.ts +34 -0
- package/dist/src/storage/sqlite/session-turn-replace-repository.js +110 -0
- package/dist/src/storage/sqlite/transcript-repository.js +1 -1
- package/dist/src/storage/sqlite/user-context-quality-repository.d.ts +15 -0
- package/dist/src/storage/sqlite/user-context-quality-repository.js +46 -2
- package/dist/src/storage/sqlite/user-context-repository.d.ts +4 -0
- package/dist/src/storage/sqlite/user-context-repository.js +29 -3
- package/dist/src/tasks/home-query-service.d.ts +3 -1
- package/dist/src/tasks/home-query-service.js +73 -70
- package/dist/src/tui/backends/embedded-backend.js +12 -4
- package/dist/src/tui/tui-oauth-login.js +5 -0
- package/dist/src/tui/tui-startup-resources.js +1 -1
- package/dist/src/user-context/planner.d.ts +1 -0
- package/dist/src/user-context/planner.js +16 -29
- package/dist/src/user-context/retriever.d.ts +15 -0
- package/dist/src/user-context/retriever.js +65 -0
- package/dist/src/user-context/scope.d.ts +7 -0
- package/dist/src/user-context/scope.js +9 -0
- package/dist/src/user-context/sources/activity-clustering.js +30 -117
- package/dist/src/user-context/sources/index.d.ts +1 -0
- package/dist/src/user-context/sources/index.js +2 -1
- package/dist/src/user-context/sources/signal-clustering.d.ts +18 -0
- package/dist/src/user-context/sources/signal-clustering.js +131 -0
- package/dist/src/voice/audio/normalize.d.ts +17 -0
- package/dist/src/voice/audio/normalize.js +155 -0
- package/dist/src/voice/language-profile.d.ts +1 -4
- package/dist/src/voice/language-profile.js +2 -25
- package/dist/src/voice/local/runtime-client.d.ts +2 -0
- package/dist/src/voice/local/runtime-client.js +20 -1
- package/dist/src/voice/local/runtime-worker.js +7 -13
- package/dist/src/voice/local/wav.js +1 -1
- package/dist/src/voice/stt/availability.d.ts +1 -4
- package/dist/src/voice/stt/availability.js +3 -15
- package/dist/src/voice/stt/config.js +1 -0
- package/dist/src/voice/stt/factory.js +23 -0
- package/dist/src/voice/stt/index.d.ts +1 -0
- package/dist/src/voice/stt/index.js +2 -2
- package/dist/src/voice/stt/list-providers.js +1 -1
- package/dist/src/voice/stt/providers/local-transcription.js +7 -3
- package/dist/src/voice/stt/providers/xopc-cloud-transcription.js +3 -1
- package/dist/src/voice/stt/transcribe-core.d.ts +5 -1
- package/dist/src/voice/stt/transcribe-core.js +13 -5
- package/dist/src/voice/stt/types.d.ts +2 -0
- package/dist/src/voice/tts/factory.d.ts +1 -1
- package/dist/src/voice/tts/factory.js +23 -1
- package/dist/src/voice/tts/merge-config.js +5 -3
- package/dist/src/voice/tts/providers/xopc-cloud-speech.js +3 -1
- package/dist/src/voice/tts/types.d.ts +2 -0
- package/dist/src/voice/tts/types.js +4 -2
- package/dist/src/work-discovery/evaluation.d.ts +23 -0
- package/dist/src/work-discovery/evaluation.js +18 -1
- package/dist/src/work-discovery/index.js +2 -2
- package/package.json +4 -3
- package/dist/gateway/static/root/assets/agents-Bl8FQZxW.js +0 -68
- package/dist/gateway/static/root/assets/apps-page-CRUgTO10.js +0 -1
- package/dist/gateway/static/root/assets/automations-page-DrSwolhG.js +0 -6
- package/dist/gateway/static/root/assets/browser-settings-page-NlvDyMwD.js +0 -8
- package/dist/gateway/static/root/assets/capabilities-settings-panel-BWXUznw5.js +0 -7
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-D0loEbzq.js +0 -3
- package/dist/gateway/static/root/assets/channels-settings-CcivCw8U.js +0 -1
- package/dist/gateway/static/root/assets/channels-status-swr-DkHAD2Zn.js +0 -1
- package/dist/gateway/static/root/assets/chat-terminal-dock-DVedGAeX.js +0 -36
- package/dist/gateway/static/root/assets/connectors-page-DlBSlfkv.js +0 -2
- package/dist/gateway/static/root/assets/heartbeat-settings-UZAn1aAQ.js +0 -1
- package/dist/gateway/static/root/assets/home-page-CRJDpy5E.js +0 -3
- package/dist/gateway/static/root/assets/index-BSjP0Wsx.css +0 -2
- package/dist/gateway/static/root/assets/index-C2ZYFBGL.js +0 -85
- package/dist/gateway/static/root/assets/local-app-workbench-page-D9bguWRo.js +0 -2
- package/dist/gateway/static/root/assets/logs-page-Gr-nE4nW.js +0 -2
- package/dist/gateway/static/root/assets/markdown-view-B12xeflb.css +0 -1
- package/dist/gateway/static/root/assets/messages-yG5P43Q9.js +0 -3
- package/dist/gateway/static/root/assets/notes-workbench-CpbD4XG2.js +0 -4
- package/dist/gateway/static/root/assets/project-detail-page-GvSYDbjR.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-DPRxKGbs.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-WIzeu-gB.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-2XEJM0YE.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-g1GThZ0O.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-C6qj2L-q.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-BBpE1bep.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-DXORBJNk.js +0 -1
- package/dist/gateway/static/root/assets/task-detail-page-DC0hc8hp.js +0 -1
- package/dist/gateway/static/root/assets/user-context-page-Bwg4KV8B.js +0 -1
- package/dist/gateway/static/root/assets/work-discovery-page-CmPfOfHl.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-DhQNh7W6.js +0 -5
- package/dist/src/voice/local/runtime-dispatcher.d.ts +0 -9
- package/dist/src/voice/local/runtime-dispatcher.js +0 -20
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=20260713-1" />
|
|
12
12
|
<link rel="manifest" href="/site.webmanifest?v=20260713-1" />
|
|
13
13
|
<title>XOPC — Turn goals into loops. Keep what matters moving.</title>
|
|
14
|
-
<script type="module" crossorigin src="/assets/index-
|
|
14
|
+
<script type="module" crossorigin src="/assets/index-_cuTcWjB.js"></script>
|
|
15
15
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
|
|
16
16
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-zJ_50EbN.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="/assets/vendor-react-BOUWij0V.js">
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
<link rel="modulepreload" crossorigin href="/assets/download-Dk-ZjtO6.js">
|
|
25
25
|
<link rel="modulepreload" crossorigin href="/assets/plus-Q2yW6OE7.js">
|
|
26
26
|
<link rel="modulepreload" crossorigin href="/assets/x-B_N4OPjy.js">
|
|
27
|
-
<link rel="modulepreload" crossorigin href="/assets/messages-
|
|
28
|
-
<link rel="modulepreload" crossorigin href="/assets/locale-store-
|
|
27
|
+
<link rel="modulepreload" crossorigin href="/assets/messages-ctG2e-ix.js">
|
|
28
|
+
<link rel="modulepreload" crossorigin href="/assets/locale-store-C5MK9WcP.js">
|
|
29
29
|
<link rel="modulepreload" crossorigin href="/assets/cn-JdwAhgNB.js">
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/assets/schemas-zIBW3wiV.js">
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/assets/product-delivery-tRr-7IxY.js">
|
|
32
32
|
<link rel="modulepreload" crossorigin href="/assets/copy-to-clipboard-HOJ79TWv.js">
|
|
33
|
-
<link rel="modulepreload" crossorigin href="/assets/markdown-view-
|
|
33
|
+
<link rel="modulepreload" crossorigin href="/assets/markdown-view-V4rcPPH0.js">
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/dist-DY4Af0fY.js">
|
|
35
35
|
<link rel="modulepreload" crossorigin href="/assets/vendor-swr-BIWyz7Rc.js">
|
|
36
36
|
<link rel="modulepreload" crossorigin href="/assets/check-DUBLcKHA.js">
|
|
@@ -44,12 +44,12 @@
|
|
|
44
44
|
<link rel="modulepreload" crossorigin href="/assets/tool-activity-R8V9l6nk.js">
|
|
45
45
|
<link rel="modulepreload" crossorigin href="/assets/button-CSEbl4zT.js">
|
|
46
46
|
<link rel="modulepreload" crossorigin href="/assets/config-reload-event-Bjh2zoKp.js">
|
|
47
|
-
<link rel="modulepreload" crossorigin href="/assets/gateway-config-swr-
|
|
48
|
-
<link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-
|
|
49
|
-
<link rel="modulepreload" crossorigin href="/assets/activity-store-
|
|
50
|
-
<link rel="modulepreload" crossorigin href="/assets/theme-store-
|
|
51
|
-
<link rel="stylesheet" crossorigin href="/assets/markdown-view-
|
|
52
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
47
|
+
<link rel="modulepreload" crossorigin href="/assets/gateway-config-swr-BIxuwPQi.js">
|
|
48
|
+
<link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-BpZgd4U-.js">
|
|
49
|
+
<link rel="modulepreload" crossorigin href="/assets/activity-store-BzjFoSr0.js">
|
|
50
|
+
<link rel="modulepreload" crossorigin href="/assets/theme-store-KR5Otp5w.js">
|
|
51
|
+
<link rel="stylesheet" crossorigin href="/assets/markdown-view-DD_PgVue.css">
|
|
52
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DLhvsU9B.css">
|
|
53
53
|
</head>
|
|
54
54
|
<body>
|
|
55
55
|
<div id="root"></div>
|
package/dist/package.js
CHANGED
|
@@ -149,7 +149,7 @@ var AgentManager = class {
|
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
151
|
isUserContextEnabledForSession(sessionKey) {
|
|
152
|
-
return Boolean(this.config.config?.userContext.enabled && getSessionConfig(sessionKey)?.userContextMode !== "off");
|
|
152
|
+
return Boolean(this.config.config?.userContext.enabled && this.config.config.userContext.understanding.enabled && getSessionConfig(sessionKey)?.userContextMode !== "off");
|
|
153
153
|
}
|
|
154
154
|
computeBaseWorkspacePath() {
|
|
155
155
|
const cfg = this.config.config;
|
|
@@ -27,7 +27,7 @@ export declare class BackgroundReviewCoordinator {
|
|
|
27
27
|
private readonly states;
|
|
28
28
|
constructor(opts: BackgroundReviewCoordinatorOptions);
|
|
29
29
|
/**
|
|
30
|
-
* Called before the main `agent.prompt` for a user turn — bumps the
|
|
30
|
+
* Called before the main `agent.prompt` for a user turn — bumps the review
|
|
31
31
|
* counter and arms a review when the cadence interval is hit.
|
|
32
32
|
*/
|
|
33
33
|
beginUserTurn(sessionKey: string): void;
|
|
@@ -16,11 +16,11 @@ var BackgroundReviewCoordinator = class {
|
|
|
16
16
|
this.opts = opts;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Called before the main `agent.prompt` for a user turn — bumps the
|
|
19
|
+
* Called before the main `agent.prompt` for a user turn — bumps the review
|
|
20
20
|
* counter and arms a review when the cadence interval is hit.
|
|
21
21
|
*/
|
|
22
22
|
beginUserTurn(sessionKey) {
|
|
23
|
-
const cfg = resolveBackgroundReviewSettings(this.opts.getConfig()
|
|
23
|
+
const cfg = resolveBackgroundReviewSettings(this.opts.getConfig());
|
|
24
24
|
if (!cfg.enabled) return;
|
|
25
25
|
const state = this.ensureState(sessionKey);
|
|
26
26
|
const intervalTurns = this.resolveReviewInterval(cfg, state);
|
|
@@ -62,7 +62,7 @@ var BackgroundReviewCoordinator = class {
|
|
|
62
62
|
return state;
|
|
63
63
|
}
|
|
64
64
|
resolveReviewInterval(settings, state) {
|
|
65
|
-
if (!settings.adaptiveCadence
|
|
65
|
+
if (!settings.adaptiveCadence) return settings.reviewIntervalTurns;
|
|
66
66
|
const now = Date.now();
|
|
67
67
|
if (state.adaptiveIntervalTurns != null && (state.adaptiveIntervalExpiresAt ?? 0) > now) return state.adaptiveIntervalTurns;
|
|
68
68
|
try {
|
|
@@ -74,7 +74,6 @@ var BackgroundReviewCoordinator = class {
|
|
|
74
74
|
state.adaptiveIntervalTurns = decision.effectiveIntervalTurns;
|
|
75
75
|
state.adaptiveIntervalExpiresAt = now + 5 * 6e4;
|
|
76
76
|
if (decision.slowed) log.debug({
|
|
77
|
-
agentId: settings.agentId,
|
|
78
77
|
baseIntervalTurns: decision.baseIntervalTurns,
|
|
79
78
|
effectiveIntervalTurns: decision.effectiveIntervalTurns,
|
|
80
79
|
reasons: decision.reasons
|
|
@@ -87,7 +86,7 @@ var BackgroundReviewCoordinator = class {
|
|
|
87
86
|
async runReviewIfNeeded(ctx) {
|
|
88
87
|
const state = this.states.get(ctx.sessionKey);
|
|
89
88
|
if (!state) return;
|
|
90
|
-
const settings = resolveBackgroundReviewSettings(this.opts.getConfig()
|
|
89
|
+
const settings = resolveBackgroundReviewSettings(this.opts.getConfig());
|
|
91
90
|
if (!settings.enabled) return;
|
|
92
91
|
if (isAssistantTurnAborted(ctx.agent) || isAssistantTurnFailed(ctx.agent)) return;
|
|
93
92
|
if (!ctx.lastAssistantText?.trim()) return;
|
|
@@ -110,7 +110,6 @@ async function runUnderstandingReview(params) {
|
|
|
110
110
|
const candidates = parseUnderstandingCandidates(lastAssistantText(reviewAgent));
|
|
111
111
|
const projectId = getSessionMetadata(sessionKey)?.projectId;
|
|
112
112
|
await memoryManager.applyUnderstandingCandidates(candidates, {
|
|
113
|
-
agentId: settings.agentId,
|
|
114
113
|
sessionKey,
|
|
115
114
|
...projectId ? { projectId } : {},
|
|
116
115
|
sourceText: "Background review of the current session transcript",
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { Config } from '../../config/schema.js';
|
|
2
2
|
export interface BackgroundReviewSettings {
|
|
3
3
|
enabled: boolean;
|
|
4
|
-
agentId?: string;
|
|
5
4
|
adaptiveCadence: boolean;
|
|
6
5
|
reviewIntervalTurns: number;
|
|
7
6
|
maxHistoryMessages: number;
|
|
8
7
|
maxDurationMs: number;
|
|
9
8
|
}
|
|
10
|
-
export declare function resolveBackgroundReviewSettings(config: Config | undefined
|
|
9
|
+
export declare function resolveBackgroundReviewSettings(config: Config | undefined): BackgroundReviewSettings;
|
|
@@ -6,12 +6,11 @@ const DEFAULT_SETTINGS = {
|
|
|
6
6
|
maxHistoryMessages: 80,
|
|
7
7
|
maxDurationMs: 12e4
|
|
8
8
|
};
|
|
9
|
-
function resolveBackgroundReviewSettings(config
|
|
9
|
+
function resolveBackgroundReviewSettings(config) {
|
|
10
10
|
if (!config) return DEFAULT_SETTINGS;
|
|
11
|
-
const {
|
|
12
|
-
const writeCapable = memory.mode === "confirmWrite" || memory.mode === "auto";
|
|
11
|
+
const { understanding } = config.userContext;
|
|
13
12
|
return {
|
|
14
|
-
enabled: config.userContext.enabled &&
|
|
13
|
+
enabled: config.userContext.enabled && understanding.enabled,
|
|
15
14
|
adaptiveCadence: understanding.adaptiveCadence,
|
|
16
15
|
reviewIntervalTurns: understanding.reviewIntervalTurns,
|
|
17
16
|
maxHistoryMessages: understanding.maxHistoryMessages,
|
|
@@ -3,7 +3,7 @@ import "../../storage/sqlite/index.js";
|
|
|
3
3
|
import { init_session_key, parseSessionKey } from "../../routing/session-key.js";
|
|
4
4
|
import { connectorArgumentsHash, connectorArgumentsPreview } from "../../connectors/approval.js";
|
|
5
5
|
import { ComposioSessionsAdapter } from "../../connectors/composio-sessions.js";
|
|
6
|
-
import { getComposioToolkitScope, isComposioActionAllowedByCatalog, scopeForComposioAction } from "../../connectors/composio.js";
|
|
6
|
+
import { getComposioToolkitScope, getConfiguredComposioAuthConfigs, isComposioActionAllowedByCatalog, scopeForComposioAction } from "../../connectors/composio.js";
|
|
7
7
|
import { getConnectorDefinition } from "../../connectors/catalog.js";
|
|
8
8
|
import { externalToolRef, parseExternalToolRef } from "./refs.js";
|
|
9
9
|
//#region src/agent/external-tools/composio-provider.ts
|
|
@@ -43,7 +43,8 @@ function installedConfigToolkits(config) {
|
|
|
43
43
|
if (typeof markerRecord?.connectorId !== "string" || !runtime || typeof runtime !== "object" || Array.isArray(runtime) || runtime.type !== "composio" || runtime.role !== "toolkit" || typeof runtime.toolkit !== "string") return [];
|
|
44
44
|
return [{
|
|
45
45
|
connectorId: markerRecord.connectorId,
|
|
46
|
-
toolkit: runtime.toolkit
|
|
46
|
+
toolkit: runtime.toolkit,
|
|
47
|
+
...markerRecord.config && typeof markerRecord.config === "object" && !Array.isArray(markerRecord.config) && typeof markerRecord.config.authConfigId === "string" && markerRecord.config.authConfigId.trim() ? { authConfigId: markerRecord.config.authConfigId.trim() } : {}
|
|
47
48
|
}];
|
|
48
49
|
});
|
|
49
50
|
}
|
|
@@ -128,7 +129,8 @@ var ComposioToolProvider = class {
|
|
|
128
129
|
if (toolkits.length === 0) return [];
|
|
129
130
|
const result = await (await this.adapter.createSession({
|
|
130
131
|
principalId: available.principalId,
|
|
131
|
-
toolkits
|
|
132
|
+
toolkits,
|
|
133
|
+
authConfigs: getConfiguredComposioAuthConfigs(this.deps.getConfig(), toolkits)
|
|
132
134
|
})).search({
|
|
133
135
|
query,
|
|
134
136
|
toolkits
|
|
@@ -212,6 +214,7 @@ var ComposioToolProvider = class {
|
|
|
212
214
|
const authorization = await this.adapter.authorize({
|
|
213
215
|
principalId: available.principalId,
|
|
214
216
|
toolkit,
|
|
217
|
+
authConfigId: installedConfigToolkits(this.deps.getConfig()).find((item) => item.connectorId === resolved.installation.connectorId)?.authConfigId,
|
|
215
218
|
installationId: resolved.installation.id,
|
|
216
219
|
alias: typeof executionArgs.alias === "string" ? executionArgs.alias : void 0
|
|
217
220
|
});
|
|
@@ -245,7 +248,8 @@ var ComposioToolProvider = class {
|
|
|
245
248
|
const result = await this.adapter.executeWithPolicy({
|
|
246
249
|
context: {
|
|
247
250
|
principalId: available.principalId,
|
|
248
|
-
toolkits: [toolkit]
|
|
251
|
+
toolkits: [toolkit],
|
|
252
|
+
authConfigs: getConfiguredComposioAuthConfigs(this.deps.getConfig(), [toolkit])
|
|
249
253
|
},
|
|
250
254
|
installation: resolved.installation,
|
|
251
255
|
connection,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getModelCatalogStore, init_model_catalog_store } from "../../../../providers/model-catalog-store.js";
|
|
2
2
|
import { init_xopc_cloud_config, resolveXopcModelRouterUrl } from "../../../../providers/xopc-cloud-config.js";
|
|
3
3
|
import { getProviderAuthService, init_provider_auth_service } from "../../../../providers/provider-auth-service.js";
|
|
4
|
+
import { compareCatalogModels } from "../../../../providers/model-catalog-ranking.js";
|
|
4
5
|
import { createOpenAiImagesProvider } from "../openai-images-provider.js";
|
|
5
6
|
//#region src/agent/image/generation/providers/xopc-cloud.ts
|
|
6
7
|
init_model_catalog_store();
|
|
@@ -8,7 +9,7 @@ init_provider_auth_service();
|
|
|
8
9
|
init_xopc_cloud_config();
|
|
9
10
|
function buildXopcCloudImageGenerationProvider() {
|
|
10
11
|
const source = getModelCatalogStore().getSource("xopc-cloud");
|
|
11
|
-
const models = source?.models.filter((model) => model.availability === "available" && model.kind === "image" && model.operations.includes("images.generate")) ?? [];
|
|
12
|
+
const models = source?.models.filter((model) => model.availability === "available" && model.kind === "image" && model.operations.includes("images.generate")).sort((left, right) => compareCatalogModels(left, right, source.recommended?.["image-generation"])) ?? [];
|
|
12
13
|
if (models.length === 0) return void 0;
|
|
13
14
|
const modelCapabilities = Object.fromEntries(models.map((model) => [model.id, toProviderCapabilities(model)]));
|
|
14
15
|
const defaultModel = models[0].id;
|
|
@@ -3,6 +3,8 @@ import { init_agent_scope, resolveDefaultAgentId } from "../agent-scope.js";
|
|
|
3
3
|
import { resolveEffectiveAgentManifestForAgent } from "../../config/agent-profile.js";
|
|
4
4
|
import { getDefaultModelSync, getModelsByProvider, init_providers, isProviderConfiguredSync, resolveModel } from "../../providers/index.js";
|
|
5
5
|
import { resolveAgentModelFallbackValues, resolveAgentModelPrimaryValue } from "../../config/model-input.js";
|
|
6
|
+
import { buildCapabilityPlansForConfig } from "../../capabilities/readiness/from-config.js";
|
|
7
|
+
import "../../capabilities/readiness/index.js";
|
|
6
8
|
//#region src/agent/image/tool-model-config.ts
|
|
7
9
|
init_schema();
|
|
8
10
|
init_agent_scope();
|
|
@@ -124,10 +126,16 @@ function firstVisionModelRef(provider) {
|
|
|
124
126
|
*/
|
|
125
127
|
function resolveEffectiveImageModelConfig(params) {
|
|
126
128
|
const explicit = resolveConfiguredImageModelConfig(params);
|
|
127
|
-
if (hasToolModelConfig(explicit))
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
if (hasToolModelConfig(explicit)) {
|
|
130
|
+
const managed = params.cfg ? buildCapabilityPlansForConfig(params.cfg).vision : void 0;
|
|
131
|
+
const managedRefs = managed?.primary ? [managed.primary, ...managed.fallbacks].map((candidate) => `${candidate.provider}/${candidate.model}`) : [];
|
|
132
|
+
const fallbacks = [...new Set([...explicit.fallbacks ?? [], ...managedRefs])].filter((ref) => ref !== explicit.primary);
|
|
133
|
+
return {
|
|
134
|
+
...explicit,
|
|
135
|
+
...fallbacks.length > 0 ? { fallbacks } : {},
|
|
136
|
+
source: "explicit"
|
|
137
|
+
};
|
|
138
|
+
}
|
|
131
139
|
const roleCandidates = collectRoleImageModelCandidates(params);
|
|
132
140
|
if (roleCandidates.length > 0) {
|
|
133
141
|
const [first, ...rest] = roleCandidates;
|
|
@@ -143,13 +151,11 @@ function resolveEffectiveImageModelConfig(params) {
|
|
|
143
151
|
const primaryCandidates = [];
|
|
144
152
|
const vision = firstVisionModelRef(primary.provider);
|
|
145
153
|
if (vision) primaryCandidates.push(vision);
|
|
154
|
+
const managed = params.cfg ? buildCapabilityPlansForConfig(params.cfg).vision : void 0;
|
|
155
|
+
const managedRefs = managed?.primary ? [managed.primary, ...managed.fallbacks].map((candidate) => `${candidate.provider}/${candidate.model}`) : [];
|
|
146
156
|
return buildToolModelConfigFromCandidates({
|
|
147
157
|
explicit,
|
|
148
|
-
candidates: [
|
|
149
|
-
...primaryCandidates,
|
|
150
|
-
firstVisionModelRef("openai"),
|
|
151
|
-
firstVisionModelRef("anthropic")
|
|
152
|
-
],
|
|
158
|
+
candidates: [...primaryCandidates, ...managedRefs],
|
|
153
159
|
source: "auto-provider"
|
|
154
160
|
});
|
|
155
161
|
}
|
|
@@ -16,7 +16,7 @@ var BuiltinMemoryProvider = class {
|
|
|
16
16
|
update: true,
|
|
17
17
|
delete: true,
|
|
18
18
|
keywordSearch: true,
|
|
19
|
-
semanticSearch:
|
|
19
|
+
semanticSearch: false,
|
|
20
20
|
hybridSearch: true,
|
|
21
21
|
citations: true,
|
|
22
22
|
sync: false,
|
|
@@ -42,7 +42,6 @@ var BuiltinMemoryProvider = class {
|
|
|
42
42
|
unscopedProjectOnly: request.scope?.projectId == null,
|
|
43
43
|
visibleToWorkspaceId: request.scope?.workspaceId,
|
|
44
44
|
unscopedWorkspaceOnly: request.scope?.workspaceId == null,
|
|
45
|
-
providerId: this.id,
|
|
46
45
|
kinds: request.kinds,
|
|
47
46
|
maxResults: request.maxResults,
|
|
48
47
|
minScore: request.minScore
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createLogger } from "../../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../../utils/logger.js";
|
|
3
|
+
import { retrievalQueryAuditValue } from "../../retrieval/audit.js";
|
|
3
4
|
import { setKnowledgeSourceItemSynthesisStatus } from "../../storage/sqlite/knowledge-repository.js";
|
|
4
5
|
import { appendMemoryTraceEvent } from "../../storage/sqlite/memory-records-repository.js";
|
|
5
6
|
import "../../storage/sqlite/index.js";
|
|
@@ -475,6 +476,7 @@ function writeTargetForRecord(request) {
|
|
|
475
476
|
function sanitizeTraceRequest(request) {
|
|
476
477
|
if (!request || typeof request !== "object") return request;
|
|
477
478
|
const copy = { ...request };
|
|
479
|
+
if (typeof copy.query === "string") copy.query = retrievalQueryAuditValue(copy.query);
|
|
478
480
|
if (typeof copy.content === "string" && copy.content.length > 500) copy.content = `${copy.content.slice(0, 500)}…`;
|
|
479
481
|
return copy;
|
|
480
482
|
}
|
|
@@ -5,7 +5,7 @@ function inferMemorySensitivity(content) {
|
|
|
5
5
|
return /家庭|住址|生日|健康|关系|family|address|birthday|health/i.test(content) ? "personal" : "normal";
|
|
6
6
|
}
|
|
7
7
|
function redactSensitiveMemoryText(content) {
|
|
8
|
-
return content.replace(/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g, "[REDACTED PRIVATE KEY]").replace(/\b(api[_-]?key|access[_-]?key|token|password|secret|credential|private[_-]?key|bearer)\b\s*[:=]?\s*[^\s,;]+/gi, "$1=[REDACTED]").replace(/(密钥|密码|令牌|私钥)\s*[::=]?\s*[^\s,;]+/g, "$1=[REDACTED]").replace(/\b(?:sk|gh[opsu]|xox[abprs])-[a-z0-9_-]{8,}\b/gi, "[REDACTED TOKEN]").replace(/\bAKIA[A-Z0-9]{12,}\b/g, "[REDACTED ACCESS KEY]");
|
|
8
|
+
return content.replace(/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g, "[REDACTED PRIVATE KEY]").replace(/\b(api[_-]?key|access[_-]?key|token|password|secret|credential|private[_-]?key|bearer)\b\s*[:=]?\s*[^\s,;]+/gi, "$1=[REDACTED]").replace(/(密钥|密码|令牌|私钥)\s*[::=]?\s*[^\s,;]+/g, "$1=[REDACTED]").replace(/\b(?:sk|gh[opsu]|xox[abprs])-[a-z0-9_-]{8,}\b/gi, "[REDACTED TOKEN]").replace(/\bAKIA[A-Z0-9]{12,}\b/g, "[REDACTED ACCESS KEY]").replace(/\b(ssn|social security|bank account|credit card|medical record)\b(?:\s+(?:is|number))?\s*[:=]?\s*[^\s,;]+/gi, "$1=[REDACTED]").replace(/(身份证|银行卡|信用卡|医疗记录)\s*(?:是|号码)?\s*[::=]?\s*[^\s,;]+/g, "$1=[REDACTED]");
|
|
9
9
|
}
|
|
10
10
|
//#endregion
|
|
11
11
|
export { inferMemorySensitivity, redactSensitiveMemoryText };
|
|
@@ -103,31 +103,63 @@ var UserUnderstandingService = class {
|
|
|
103
103
|
rejected: 0,
|
|
104
104
|
createdRecords: []
|
|
105
105
|
};
|
|
106
|
+
const safeCandidates = candidates.filter((candidate) => {
|
|
107
|
+
const content = normalizeContent(candidate.content);
|
|
108
|
+
const sensitivity = effectiveSensitivity(candidate.sensitivity, content);
|
|
109
|
+
return sensitivity !== "secret" && sensitivity !== "regulated";
|
|
110
|
+
});
|
|
111
|
+
if (!safeCandidates.length) return {
|
|
112
|
+
proposed: candidates.length,
|
|
113
|
+
created: 0,
|
|
114
|
+
deduplicated: 0,
|
|
115
|
+
rejected: candidates.length,
|
|
116
|
+
createdRecords: []
|
|
117
|
+
};
|
|
106
118
|
const evidence = createContextEvidence({
|
|
107
119
|
sourceType: "conversation",
|
|
108
120
|
sourceRef: params.sessionKey ? `session:${params.sessionKey}:turn:${params.turnId ?? "unknown"}` : `turn:${params.turnId ?? "unknown"}`,
|
|
109
|
-
redactedExcerpt: redactSensitiveMemoryText(
|
|
121
|
+
redactedExcerpt: redactSensitiveMemoryText(safeCandidates.map((candidate) => candidate.content).join("\n")).slice(0, MAX_CANDIDATE_CHARS),
|
|
110
122
|
trustLevel: "owner",
|
|
111
123
|
observedAt: Date.now()
|
|
112
124
|
});
|
|
125
|
+
const result = await this.applyCandidates(safeCandidates, {
|
|
126
|
+
sessionKey: params.sessionKey,
|
|
127
|
+
workspaceId: params.workspaceId,
|
|
128
|
+
projectId: params.projectId,
|
|
129
|
+
evidenceIds: [evidence.id],
|
|
130
|
+
reviewSource: "turn",
|
|
131
|
+
supersedesRecordIds: params.correctionTargetRecordIds
|
|
132
|
+
});
|
|
113
133
|
return {
|
|
114
|
-
...
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
projectId: params.projectId,
|
|
118
|
-
evidenceIds: [evidence.id],
|
|
119
|
-
reviewSource: "turn",
|
|
120
|
-
supersedesRecordIds: params.correctionTargetRecordIds
|
|
121
|
-
}),
|
|
134
|
+
...result,
|
|
135
|
+
proposed: candidates.length,
|
|
136
|
+
rejected: result.rejected + candidates.length - safeCandidates.length,
|
|
122
137
|
sourceItemId: evidence.id
|
|
123
138
|
};
|
|
124
139
|
}
|
|
125
140
|
async applyCandidates(candidates, context) {
|
|
126
141
|
let created = 0;
|
|
127
142
|
let deduplicated = 0;
|
|
128
|
-
let rejected = 0;
|
|
129
143
|
const createdRecords = [];
|
|
130
144
|
const correctionTarget = context.supersedesRecordIds?.length === 1 ? context.supersedesRecordIds[0] : void 0;
|
|
145
|
+
const eligible = candidates.slice(0, 10).map((candidate) => {
|
|
146
|
+
const content = normalizeContent(candidate.content);
|
|
147
|
+
return {
|
|
148
|
+
candidate,
|
|
149
|
+
content,
|
|
150
|
+
sensitivity: effectiveSensitivity(candidate.sensitivity, content),
|
|
151
|
+
scope: scopeForCandidate(candidate, context),
|
|
152
|
+
key: candidate.canonicalKey ?? canonicalUnderstandingKey(candidate.kind, content)
|
|
153
|
+
};
|
|
154
|
+
}).filter(({ candidate, content, sensitivity, scope, key }) => content.length >= 4 && candidate.confidence >= .55 && sensitivity !== "secret" && sensitivity !== "regulated" && !isUnderstandingSuppressed(key, scope));
|
|
155
|
+
let rejected = candidates.length - eligible.length;
|
|
156
|
+
if (!eligible.length) return {
|
|
157
|
+
proposed: candidates.length,
|
|
158
|
+
created,
|
|
159
|
+
deduplicated,
|
|
160
|
+
rejected,
|
|
161
|
+
createdRecords
|
|
162
|
+
};
|
|
131
163
|
const evidenceIds = [...new Set(context.evidenceIds ?? [])];
|
|
132
164
|
const sourceItemIds = [context.sourceItemId, ...context.sourceItemIds ?? []].filter((value) => Boolean(value));
|
|
133
165
|
for (const sourceItemId of [...new Set(sourceItemIds)]) {
|
|
@@ -141,15 +173,7 @@ var UserUnderstandingService = class {
|
|
|
141
173
|
});
|
|
142
174
|
evidenceIds.push(evidence.id);
|
|
143
175
|
}
|
|
144
|
-
for (const candidate
|
|
145
|
-
const content = normalizeContent(candidate.content);
|
|
146
|
-
const sensitivity = effectiveSensitivity(candidate.sensitivity, content);
|
|
147
|
-
const scope = scopeForCandidate(candidate, context);
|
|
148
|
-
const key = candidate.canonicalKey ?? canonicalUnderstandingKey(candidate.kind, content);
|
|
149
|
-
if (content.length < 4 || candidate.confidence < .55 || sensitivity === "secret" || sensitivity === "regulated" || isUnderstandingSuppressed(key, scope)) {
|
|
150
|
-
rejected += 1;
|
|
151
|
-
continue;
|
|
152
|
-
}
|
|
176
|
+
for (const { candidate, content, sensitivity, scope, key } of eligible) {
|
|
153
177
|
const duplicate = findDuplicateUnderstanding(listUnderstandings(), {
|
|
154
178
|
kind: candidate.kind,
|
|
155
179
|
statement: content,
|
|
@@ -43,8 +43,8 @@ var UserContextCoordinator = class {
|
|
|
43
43
|
consentRequests: [],
|
|
44
44
|
estimatedTokens: 0
|
|
45
45
|
});
|
|
46
|
-
const config = this.options.getConfig();
|
|
47
46
|
if (!this.options.isEnabledForSession(sessionKey)) return empty();
|
|
47
|
+
const config = this.options.getConfig();
|
|
48
48
|
if (!isPrivateSession(sessionKey)) return empty();
|
|
49
49
|
const userQuery = extractAgentUserPlainText(userMessage);
|
|
50
50
|
const taskContext = assembleTaskContext(sessionKey, userQuery);
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { getAgentDefaultImageGenerationModelConfig, init_schema } from "../../config/schema.js";
|
|
2
2
|
import { imageAssetFromDataUrl, imageFileExtensionForMimeType, mimeTypeFromFileName, parseImageDataUrl, sniffImageMimeType } from "../image/generation/image-assets.js";
|
|
3
3
|
import { persistToolMedia } from "./tool-media.js";
|
|
4
|
+
import { buildCapabilityPlansForConfig } from "../../capabilities/readiness/from-config.js";
|
|
5
|
+
import "../../capabilities/readiness/index.js";
|
|
4
6
|
import { applyImageGenerationModelConfigDefaults } from "../image/image-helpers.js";
|
|
5
7
|
import { isFailoverError } from "../failover-error.js";
|
|
6
8
|
import { getImageGenerationProvider } from "../image/generation/provider-registry.js";
|
|
@@ -127,14 +129,28 @@ async function loadInputImages(params) {
|
|
|
127
129
|
}
|
|
128
130
|
function resolveImageGenerationModelConfigForTool(params) {
|
|
129
131
|
const explicit = params.cfg ? getAgentDefaultImageGenerationModelConfig(params.cfg, params.agentId) : void 0;
|
|
130
|
-
if (explicit?.primary?.trim())
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
...explicit.autoProviderFallback
|
|
135
|
-
|
|
132
|
+
if (explicit?.primary?.trim()) {
|
|
133
|
+
const plan = buildCapabilityPlansForConfig(params.cfg)["image-generation"];
|
|
134
|
+
const primarySlash = explicit.primary.indexOf("/");
|
|
135
|
+
const primaryProvider = primarySlash > 0 ? explicit.primary.slice(0, primarySlash) : "";
|
|
136
|
+
const managed = plan.primary ? [plan.primary, ...plan.fallbacks].filter((candidate) => explicit.autoProviderFallback || candidate.provider === primaryProvider).map((candidate) => `${candidate.provider}/${candidate.model}`) : [];
|
|
137
|
+
const fallbacks = [...new Set([...explicit.fallbacks ?? [], ...managed])].filter((ref) => ref !== explicit.primary);
|
|
138
|
+
return {
|
|
139
|
+
primary: explicit.primary.trim(),
|
|
140
|
+
...fallbacks.length ? { fallbacks } : {},
|
|
141
|
+
...explicit.timeoutMs ? { timeoutMs: explicit.timeoutMs } : {},
|
|
142
|
+
...explicit.autoProviderFallback ? { autoProviderFallback: true } : {}
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
let planned;
|
|
146
|
+
if (params.cfg) try {
|
|
147
|
+
planned = buildCapabilityPlansForConfig(params.cfg)["image-generation"];
|
|
148
|
+
} catch {
|
|
149
|
+
planned = void 0;
|
|
150
|
+
}
|
|
151
|
+
const plannedRefs = planned?.primary ? [planned.primary, ...planned.fallbacks].map((candidate) => `${candidate.provider}/${candidate.model}`) : [];
|
|
136
152
|
const providers = listImageGenerationProvidersSummary();
|
|
137
|
-
const candidates = [];
|
|
153
|
+
const candidates = [...plannedRefs];
|
|
138
154
|
for (const providerSummary of providers) {
|
|
139
155
|
const provider = getImageGenerationProvider(providerSummary.id);
|
|
140
156
|
let configured = false;
|
|
@@ -117,8 +117,8 @@ export declare const AutomationActionSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
|
|
|
117
117
|
type: z.ZodLiteral<"add_wait">;
|
|
118
118
|
wait: z.ZodObject<{
|
|
119
119
|
kind: z.ZodEnum<{
|
|
120
|
-
paused: "paused";
|
|
121
120
|
approval: "approval";
|
|
121
|
+
paused: "paused";
|
|
122
122
|
dependency: "dependency";
|
|
123
123
|
user_input: "user_input";
|
|
124
124
|
external_event: "external_event";
|
|
@@ -294,8 +294,8 @@ export declare const AutomationSchema: z.ZodObject<{
|
|
|
294
294
|
type: z.ZodLiteral<"add_wait">;
|
|
295
295
|
wait: z.ZodObject<{
|
|
296
296
|
kind: z.ZodEnum<{
|
|
297
|
-
paused: "paused";
|
|
298
297
|
approval: "approval";
|
|
298
|
+
paused: "paused";
|
|
299
299
|
dependency: "dependency";
|
|
300
300
|
user_input: "user_input";
|
|
301
301
|
external_event: "external_event";
|
|
@@ -341,8 +341,8 @@ export declare const AutomationSchema: z.ZodObject<{
|
|
|
341
341
|
continuous: "continuous";
|
|
342
342
|
}>>;
|
|
343
343
|
notificationPolicy: z.ZodDefault<z.ZodEnum<{
|
|
344
|
-
none: "none";
|
|
345
344
|
all: "all";
|
|
345
|
+
none: "none";
|
|
346
346
|
attention: "attention";
|
|
347
347
|
}>>;
|
|
348
348
|
completionWebhookUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
@@ -456,8 +456,8 @@ export declare const CreateAutomationSchema: z.ZodObject<{
|
|
|
456
456
|
type: z.ZodLiteral<"add_wait">;
|
|
457
457
|
wait: z.ZodObject<{
|
|
458
458
|
kind: z.ZodEnum<{
|
|
459
|
-
paused: "paused";
|
|
460
459
|
approval: "approval";
|
|
460
|
+
paused: "paused";
|
|
461
461
|
dependency: "dependency";
|
|
462
462
|
user_input: "user_input";
|
|
463
463
|
external_event: "external_event";
|
|
@@ -536,8 +536,8 @@ export declare const CreateAutomationSchema: z.ZodObject<{
|
|
|
536
536
|
continuous: "continuous";
|
|
537
537
|
}>>;
|
|
538
538
|
notificationPolicy: z.ZodDefault<z.ZodEnum<{
|
|
539
|
-
none: "none";
|
|
540
539
|
all: "all";
|
|
540
|
+
none: "none";
|
|
541
541
|
attention: "attention";
|
|
542
542
|
}>>;
|
|
543
543
|
completionWebhookUrl: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
|
|
@@ -645,8 +645,8 @@ export declare const UpdateAutomationSchema: z.ZodObject<{
|
|
|
645
645
|
type: z.ZodLiteral<"add_wait">;
|
|
646
646
|
wait: z.ZodObject<{
|
|
647
647
|
kind: z.ZodEnum<{
|
|
648
|
-
paused: "paused";
|
|
649
648
|
approval: "approval";
|
|
649
|
+
paused: "paused";
|
|
650
650
|
dependency: "dependency";
|
|
651
651
|
user_input: "user_input";
|
|
652
652
|
external_event: "external_event";
|
|
@@ -741,8 +741,8 @@ export declare const UpdateAutomationSchema: z.ZodObject<{
|
|
|
741
741
|
continuous: "continuous";
|
|
742
742
|
}>>>;
|
|
743
743
|
notificationPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
744
|
-
none: "none";
|
|
745
744
|
all: "all";
|
|
745
|
+
none: "none";
|
|
746
746
|
attention: "attention";
|
|
747
747
|
}>>>;
|
|
748
748
|
completionWebhookUrl: z.ZodOptional<z.ZodPreprocess<z.ZodOptional<z.ZodString>>>;
|
|
@@ -12,7 +12,7 @@ export declare function buildAutomationDraftResponse(draft: GeneratedAutomationD
|
|
|
12
12
|
automation: {
|
|
13
13
|
name: string;
|
|
14
14
|
conversationMode: "new_session" | "continuous";
|
|
15
|
-
notificationPolicy: "
|
|
15
|
+
notificationPolicy: "all" | "none" | "attention";
|
|
16
16
|
projectId?: string;
|
|
17
17
|
action?: {
|
|
18
18
|
kind: "agent";
|
|
@@ -79,7 +79,7 @@ export declare function buildAutomationDraftResponse(draft: GeneratedAutomationD
|
|
|
79
79
|
} | {
|
|
80
80
|
type: "add_wait";
|
|
81
81
|
wait: {
|
|
82
|
-
kind: "
|
|
82
|
+
kind: "approval" | "paused" | "dependency" | "user_input" | "external_event" | "scheduled_time" | "retry_backoff";
|
|
83
83
|
reason: string;
|
|
84
84
|
condition: Record<string, unknown>;
|
|
85
85
|
resumeAt?: number;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Config } from '../../config/schema.js';
|
|
2
|
+
import { type ModelCatalogSnapshot } from '../../providers/model-catalog-store.js';
|
|
3
|
+
import type { CapabilityId, CapabilityPlan } from './types.js';
|
|
4
|
+
interface BuildPlansOptions {
|
|
5
|
+
catalog?: ModelCatalogSnapshot;
|
|
6
|
+
providerReady?: (providerId: string) => boolean;
|
|
7
|
+
localSttReady?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function buildCapabilityPlansForConfig(config: Config, options?: BuildPlansOptions): Record<CapabilityId, CapabilityPlan>;
|
|
10
|
+
export {};
|