@xopcai/xopc 0.0.178 → 0.0.179
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-BzGX__8I.js → activity-store-A5FUMjeV.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-BzxntcaZ.js → agent-avatar-dicebear-NghNiDWx.js} +1 -1
- package/dist/gateway/static/root/assets/agents-Baq8Shzy.js +2 -0
- package/dist/gateway/static/root/assets/{api-hi6f2Xtp.js → api-Bmzslx0Z.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-fTY1F7ac.js → app-management-settings-panel-DDWS_BBJ.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-BZ-IxQfB.js → appearance-settings-C6znvVtX.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page-d-Y0Jbe1.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-ZSLLG8wB.js → archive-plugin-fvTZhPUr.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-D4YktqIF.js → attachment-load-BFEgvg-Q.js} +1 -1
- package/dist/gateway/static/root/assets/automations-page-CFYOCBlQ.js +6 -0
- package/dist/gateway/static/root/assets/{binary-plugins-BIkPxfxj.js → binary-plugins-CuI2bOc7.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-Q3v_YQom.js → block-editor-Z_k8W0al.js} +46 -46
- package/dist/gateway/static/root/assets/browser-settings-page-CGApoYPr.js +8 -0
- package/dist/gateway/static/root/assets/{browser-workflow-inputs-M5lTEW1I.js → browser-workflow-inputs-gs6b5e9-.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-workflows-page-B3T1KYk4.js → browser-workflows-page-Cq5qXStp.js} +2 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-BC-8n4Hl.js +7 -0
- package/dist/gateway/static/root/assets/{capability-presets-api-DE09c0VB.js → capability-presets-api-BTKhPoDC.js} +1 -1
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-D7WQ0oBN.js +1 -0
- package/dist/gateway/static/root/assets/{channel-recipient-api-CFR5FBfS.js → channel-recipient-api-TwMak0SE.js} +1 -1
- package/dist/gateway/static/root/assets/channels-settings-DysELlO_.js +1 -0
- package/dist/gateway/static/root/assets/channels-status-swr-BAC-R8IK.js +1 -0
- package/dist/gateway/static/root/assets/{connector-logo-B1mD-3pM.js → connector-logo-DBKotvNr.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-QH-0WnOo.js +2 -0
- package/dist/gateway/static/root/assets/desktop-pet-Dwml8znf.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-settings-CyIg2jJp.js +1 -0
- package/dist/gateway/static/root/assets/{directory-picker-path-field-BYQJ2XUS.js → directory-picker-path-field-B6fc_7SL.js} +1 -1
- package/dist/gateway/static/root/assets/{dreaming-settings-BXcb8fwx.js → dreaming-settings-CUQxGnDf.js} +3 -3
- package/dist/gateway/static/root/assets/{extension-debug-page-O1Xu1r4Q.js → extension-debug-page-AbRNi2ON.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-C2Jraq8l.js → extension-page-ClYfiLXC.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-DcXQDTpG.js → extension-settings-page-BGVP2hw1.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-api-DmPIZrvg.js → gateway-config-api-B7GqtklK.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-settings-BMeK8igT.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-BZEkOdPm.js → gateway-startup-retry-CKKL96r_.js} +1 -1
- package/dist/gateway/static/root/assets/goals-settings-Dj0ao2qA.js +1 -0
- package/dist/gateway/static/root/assets/{heartbeat-settings-BtKu2NWT.js → heartbeat-settings-CTI2nPKa.js} +1 -1
- package/dist/gateway/static/root/assets/{image-generation-api-05Gg8wsU.js → image-generation-api-BY3VQ5Mv.js} +1 -1
- package/dist/gateway/static/root/assets/index-B0Tdge_q.css +1 -0
- package/dist/gateway/static/root/assets/index-BDzspHrg.js +224 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-CfmDR9Sc.js → keyboard-shortcuts-settings-CELtDFz3.js} +1 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-m8CTSGix.js +2 -0
- package/dist/gateway/static/root/assets/{local-apps-page-Df8BW1A_.js → local-apps-page-CF5uUd1n.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-CTwSy7yW.js → locale-store-DIVc0AQs.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-DmH7Tk4k.js +7 -0
- package/dist/gateway/static/root/assets/{markdown-split-B3FvKbaP.js → markdown-split-CN85EdB8.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-DsjrvvB6.js → media-plugins-CxYEc-b8.js} +1 -1
- package/dist/gateway/static/root/assets/messages-DYqBwJAK.js +3 -0
- package/dist/gateway/static/root/assets/{notes-page-tuzIwy3c.js → notes-page-Goab4781.js} +1 -1
- package/dist/gateway/static/root/assets/notes-workbench-C4jDBVBN.js +4 -0
- package/dist/gateway/static/root/assets/outcome-detail-page-DNRfeLZp.js +1 -0
- package/dist/gateway/static/root/assets/{page-tabs-ke9s4nYi.js → page-tabs-tQNQcAts.js} +1 -1
- package/dist/gateway/static/root/assets/{preview-open-alternatives-Cp1eI4S9.js → preview-open-alternatives-BSTlgsDB.js} +1 -1
- package/dist/gateway/static/root/assets/product-delivery-BVG-eWQO.js +1 -0
- package/dist/gateway/static/root/assets/{product-open-page-dXQCMAtH.js → product-open-page-iQ5gTCip.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-D7anK-eu.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-BePESKWy.js +1 -0
- package/dist/gateway/static/root/assets/remote-access-hub-CHrzBKIs.js +1 -0
- package/dist/gateway/static/root/assets/{save-bar-controls-Bl30zjHc.js → save-bar-controls-BsPf5Gkk.js} +1 -1
- package/dist/gateway/static/root/assets/{schedule-field-DqhmXQKo.js → schedule-field-kAytH7mq.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-DkUCy6vf.js → schema-form-Bbw8l2ri.js} +1 -1
- package/dist/gateway/static/root/assets/{schemas-DgQq6Z5S.js → schemas-C6onAggk.js} +2 -2
- package/dist/gateway/static/root/assets/sessions-page-He5YAczL.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-2eAC9GCP.js +1 -0
- package/dist/gateway/static/root/assets/{settings-form-section-C6ZbNpdy.js → settings-form-section-BqbibcnJ.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-loading-skeleton-Bk58_cr7.js → settings-loading-skeleton-DNLNCEGT.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-k8iE_NdX.js → settings-page-BR6Ss0bK.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-layout-DgFSya2e.js → settings-page-layout-Cdb1e2Cz.js} +1 -1
- package/dist/gateway/static/root/assets/{setup-status-panel-B_KDlyZA.js → setup-status-panel-moT-D-ia.js} +1 -1
- package/dist/gateway/static/root/assets/{share-preview-page-CV7nL_J9.js → share-preview-page-CkrASny2.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-X49zY21H.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-CjpnFfOH.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-DEwfSOUE.js +2 -0
- package/dist/gateway/static/root/assets/{skills-page.utils-kahBIHg0.js → skills-page.utils-BG5dGkyA.js} +1 -1
- package/dist/gateway/static/root/assets/{system-settings-panel-JV3-MG5F.js → system-settings-panel-XdY8eyYf.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-DFLyzoLO.js → theme-store-DtwI_VLT.js} +1 -1
- package/dist/gateway/static/root/assets/time-picker-UghsQu_I.js +1 -0
- package/dist/gateway/static/root/assets/{typed-models-lib-60Aqo-UJ.js → typed-models-lib-DOnpwsrE.js} +1 -1
- package/dist/gateway/static/root/assets/{use-channel-catalog-CnTkHDnw.js → use-channel-catalog-BWDtfNvQ.js} +1 -1
- package/dist/gateway/static/root/assets/user-context-page-BtNBEtKj.js +1 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-CNa8qUgS.js → voice-api-key-field-DP80jW-W.js} +1 -1
- package/dist/gateway/static/root/assets/work-copy-hQmivDgT.js +1 -0
- package/dist/gateway/static/root/assets/work-discovery-page-CkDOVZBr.js +1 -0
- package/dist/gateway/static/root/assets/work-item-detail-page-CqvkcFcR.js +1 -0
- package/dist/gateway/static/root/assets/work-page-BL8TZW4Z.js +3 -0
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-yV_x595t.js → workflow-run-setup-panel-BLlVqKdA.js} +2 -2
- package/dist/gateway/static/root/assets/workflows-page-BgsdRu3_.js +11 -0
- package/dist/gateway/static/root/index.html +9 -10
- package/dist/package.js +1 -1
- package/dist/packages/gateway-contract/src/outcomes.js +137 -0
- package/dist/packages/gateway-contract/src/product-delivery.js +1 -0
- package/dist/packages/gateway-contract/src/work-intake.js +85 -0
- package/dist/src/activity/service.d.ts +1 -0
- package/dist/src/activity/service.js +4 -1
- package/dist/src/agent/code-intelligence/binary.js +1 -1
- package/dist/src/agent/context/execution-scope.d.ts +1 -1
- package/dist/src/agent/context/execution-scope.js +6 -4
- package/dist/src/agent/goals/post-turn.js +6 -5
- package/dist/src/agent/mcp/mcp-stdio-transport.js +1 -1
- package/dist/src/agent/memory/user-context-coordinator.d.ts +1 -0
- package/dist/src/agent/memory/user-context-coordinator.js +17 -1
- package/dist/src/agent/outcomes/{task-evaluation.d.ts → execution-evaluation.d.ts} +3 -3
- package/dist/src/agent/outcomes/{task-evaluation.js → execution-evaluation.js} +5 -5
- package/dist/src/agent/outcomes/execution-verifier.d.ts +29 -0
- package/dist/src/agent/outcomes/{task-verifier.js → execution-verifier.js} +4 -4
- package/dist/src/agent/service/process-direct-streaming.js +3 -1
- package/dist/src/agent/tools/factory.js +16 -1
- package/dist/src/agent/tools/goal-tool.js +5 -3
- package/dist/src/agent/tools/todo-tool.d.ts +5 -0
- package/dist/src/agent/tools/todo-tool.js +16 -4
- package/dist/src/agent/tools/update-plan-tool.d.ts +1 -0
- package/dist/src/agent/tools/update-plan-tool.js +6 -0
- package/dist/src/browser/providers/cloakbrowser.js +2 -2
- package/dist/src/channels/attachments/voice-stt-webchat.d.ts +0 -3
- package/dist/src/channels/attachments/voice-stt-webchat.js +1 -24
- package/dist/src/chat-commands/builtins/goal.js +5 -4
- package/dist/src/cli/commands/agents.js +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/goal.js +6 -5
- package/dist/src/cli/commands/tunnel.js +3 -3
- package/dist/src/connectors/learning-coordinator.js +7 -1
- package/dist/src/connectors/source-change-publisher.d.ts +17 -0
- package/dist/src/connectors/source-change-publisher.js +148 -0
- package/dist/src/discussions/analyzer.d.ts +35 -0
- package/dist/src/discussions/analyzer.js +127 -0
- package/dist/src/discussions/index.d.ts +7 -0
- package/dist/src/discussions/index.js +7 -0
- package/dist/src/discussions/live-worker.d.ts +33 -0
- package/dist/src/discussions/live-worker.js +148 -0
- package/dist/src/discussions/pipeline.d.ts +33 -0
- package/dist/src/discussions/pipeline.js +205 -0
- package/dist/src/discussions/project-inference.d.ts +13 -0
- package/dist/src/discussions/project-inference.js +19 -0
- package/dist/src/discussions/repository.d.ts +29 -0
- package/dist/src/discussions/repository.js +255 -0
- package/dist/src/discussions/service.d.ts +51 -0
- package/dist/src/discussions/service.js +335 -0
- package/dist/src/discussions/transcript.d.ts +3 -0
- package/dist/src/discussions/transcript.js +15 -0
- package/dist/src/discussions/types.d.ts +116 -0
- package/dist/src/discussions/types.js +10 -0
- package/dist/src/discussions/worker.d.ts +18 -0
- package/dist/src/discussions/worker.js +74 -0
- package/dist/src/extensions/activation-context.js +2 -1
- package/dist/src/extensions/sdk/testing.js +1 -1
- package/dist/src/gateway/agents-admin.js +1 -1
- package/dist/src/gateway/chat-stream/mapper.js +53 -3
- package/dist/src/gateway/chat-stream/protocol.d.ts +17 -1
- package/dist/src/gateway/heartbeat/service.js +1 -1
- package/dist/src/gateway/hono/app.js +8 -3
- package/dist/src/gateway/hono/lib/config-payload.js +1 -1
- package/dist/src/gateway/hono/middleware/auth.js +2 -2
- package/dist/src/gateway/hono/middleware/logger.js +1 -1
- package/dist/src/gateway/hono/middleware/strict-rate-limit.js +1 -1
- package/dist/src/gateway/hono/routes/agents.js +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +2 -2
- package/dist/src/gateway/hono/routes/connectors.js +79 -0
- package/dist/src/gateway/hono/routes/discussions.d.ts +3 -0
- package/dist/src/gateway/hono/routes/discussions.js +177 -0
- package/dist/src/gateway/hono/routes/execution-receipts.d.ts +3 -0
- package/dist/src/gateway/hono/routes/execution-receipts.js +163 -0
- package/dist/src/gateway/hono/routes/exposure.js +1 -1
- package/dist/src/gateway/hono/routes/goals.js +3 -288
- package/dist/src/gateway/hono/routes/home.d.ts +2 -102
- package/dist/src/gateway/hono/routes/home.js +8 -424
- package/dist/src/gateway/hono/routes/index.js +6 -2
- package/dist/src/gateway/hono/routes/memory.js +7 -7
- package/dist/src/gateway/hono/routes/notes.js +30 -0
- package/dist/src/gateway/hono/routes/projects.js +8 -152
- package/dist/src/gateway/hono/routes/shares.js +1 -1
- package/dist/src/gateway/hono/routes/status.js +2 -2
- package/dist/src/gateway/hono/routes/tunnel.js +3 -3
- package/dist/src/gateway/hono/routes/voice.js +1 -1
- package/dist/src/gateway/hono/routes/work.d.ts +3 -0
- package/dist/src/gateway/hono/routes/work.js +207 -0
- package/dist/src/gateway/hono/routes/you.js +12 -14
- package/dist/src/gateway/index.js +2 -2
- package/dist/src/gateway/runtime-config.js +2 -2
- package/dist/src/gateway/security/audit.js +2 -2
- package/dist/src/gateway/security/index.js +1 -1
- package/dist/src/gateway/service/config-coordinator.js +1 -1
- package/dist/src/gateway/service/run-gateway-agent.js +46 -51
- package/dist/src/gateway/service.d.ts +8 -1
- package/dist/src/gateway/service.js +139 -12
- package/dist/src/goals/goal-queue-store.d.ts +1 -0
- package/dist/src/goals/goal-queue-store.js +5 -1
- package/dist/src/goals/goal-queue-types.d.ts +11 -1
- package/dist/src/goals/goal-runner.js +10 -6
- package/dist/src/goals/goal-service.d.ts +2 -15
- package/dist/src/goals/goal-service.js +9 -42
- package/dist/src/goals/goal-store.d.ts +1 -18
- package/dist/src/goals/goal-store.js +25 -231
- package/dist/src/goals/index.d.ts +0 -4
- package/dist/src/goals/index.js +1 -3
- package/dist/src/goals/types.d.ts +4 -66
- package/dist/src/heartbeat/index.js +1 -1
- package/dist/src/notes/agent-context.js +1 -1
- package/dist/src/notes/service.d.ts +1 -0
- package/dist/src/notes/service.js +9 -0
- package/dist/src/notes/types.d.ts +1 -0
- package/dist/src/proactive/events/product-event-bridge.d.ts +7 -0
- package/dist/src/proactive/events/product-event-bridge.js +84 -0
- package/dist/src/proactive/execution/context.d.ts +27 -11
- package/dist/src/proactive/execution/context.js +259 -25
- package/dist/src/proactive/execution/repository.js +18 -5
- package/dist/src/proactive/execution/types.d.ts +7 -1
- package/dist/src/proactive/execution/worker.js +7 -6
- package/dist/src/proactive/inbox/repository.js +8 -2
- package/dist/src/proactive/index.d.ts +4 -2
- package/dist/src/proactive/index.js +5 -3
- package/dist/src/proactive/temporal/worker.d.ts +16 -0
- package/dist/src/proactive/temporal/worker.js +110 -0
- package/dist/src/share/share-zip.js +1 -1
- package/dist/src/share/site-proxy.js +1 -1
- package/dist/src/storage/sqlite/activity-repository.d.ts +1 -0
- package/dist/src/storage/sqlite/activity-repository.js +4 -1
- package/dist/src/storage/sqlite/connector-sync-policy-repository.d.ts +20 -0
- package/dist/src/storage/sqlite/connector-sync-policy-repository.js +50 -0
- package/dist/src/storage/sqlite/execution-receipt-repository.d.ts +146 -0
- package/dist/src/storage/sqlite/execution-receipt-repository.js +235 -0
- package/dist/src/storage/sqlite/index.d.ts +4 -2
- package/dist/src/storage/sqlite/index.js +6 -4
- package/dist/src/storage/sqlite/knowledge-repository.d.ts +3 -0
- package/dist/src/storage/sqlite/knowledge-repository.js +9 -1
- package/dist/src/storage/sqlite/memory-records-repository.js +1 -1
- package/dist/src/storage/sqlite/migrations/075_connector_sync_policies.sql +13 -0
- package/dist/src/storage/sqlite/migrations/076_meeting_preparation_scenario.sql +29 -0
- package/dist/src/storage/sqlite/migrations/077_proactive_insight_fingerprints.sql +4 -0
- package/dist/src/storage/sqlite/migrations/078_discussion_captures.sql +64 -0
- package/dist/src/storage/sqlite/migrations/079_discussion_follow_up_scenario.sql +29 -0
- package/dist/src/storage/sqlite/migrations/080_task_outcome_context.sql +15 -0
- package/dist/src/storage/sqlite/migrations/081_project_monitoring_policies.sql +10 -0
- package/dist/src/storage/sqlite/migrations/082_one_click_live_discussions.sql +100 -0
- package/dist/src/storage/sqlite/migrations/083_session_task_plans.sql +9 -0
- package/dist/src/storage/sqlite/migrations/084_work_intake_lifecycle.sql +26 -0
- package/dist/src/storage/sqlite/migrations/085_task_outcome_projection.sql +19 -0
- package/dist/src/storage/sqlite/migrations/086_outcome_aggregates.sql +168 -0
- package/dist/src/storage/sqlite/migrations/087_context_snapshots.sql +21 -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/notes-repository.js +9 -0
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/dist/src/storage/sqlite/schema.sql +89 -44
- package/dist/src/storage/sqlite/session-repository.js +1 -1
- package/dist/src/storage/sqlite/session-task-plan-repository.d.ts +20 -0
- package/dist/src/storage/sqlite/session-task-plan-repository.js +77 -0
- package/dist/src/tui/backends/embedded-backend.js +1 -1
- package/dist/src/tunnel/frpc-binary.js +1 -1
- package/dist/src/tunnel/frpc-extract.js +1 -1
- package/dist/src/tunnel/index.js +2 -2
- package/dist/src/user-context/context-compiler.d.ts +31 -0
- package/dist/src/user-context/context-compiler.js +51 -0
- package/dist/src/voice/local/model-files.js +1 -1
- package/dist/src/voice/stt/config.d.ts +4 -0
- package/dist/src/voice/stt/config.js +26 -0
- package/dist/src/voice/stt/index.d.ts +1 -0
- package/dist/src/voice/stt/index.js +2 -1
- package/dist/src/voice/stt/list-providers.js +1 -1
- package/dist/src/work/attention-governor.d.ts +20 -0
- package/dist/src/work/attention-governor.js +46 -0
- package/dist/src/work/execution-context.d.ts +16 -0
- package/dist/src/work/execution-context.js +66 -0
- package/dist/src/work/home-query-service.d.ts +118 -0
- package/dist/src/work/home-query-service.js +389 -0
- package/dist/src/work/index.d.ts +14 -0
- package/dist/src/work/index.js +15 -0
- package/dist/src/work/outcome-contract-definition.d.ts +8 -0
- package/dist/src/work/outcome-contract-definition.js +15 -0
- package/dist/src/work/outcome-execution-service.d.ts +27 -0
- package/dist/src/work/outcome-execution-service.js +60 -0
- package/dist/src/work/outcome-projection-service.d.ts +7 -0
- package/dist/src/work/outcome-projection-service.js +51 -0
- package/dist/src/work/outcome-receipt-service.d.ts +13 -0
- package/dist/src/work/outcome-receipt-service.js +55 -0
- package/dist/src/work/outcome-repository.d.ts +50 -0
- package/dist/src/work/outcome-repository.js +112 -0
- package/dist/src/work/outcome-run-coordinator.d.ts +25 -0
- package/dist/src/work/outcome-run-coordinator.js +117 -0
- package/dist/src/work/project-monitoring-service.d.ts +21 -0
- package/dist/src/work/project-monitoring-service.js +76 -0
- package/dist/src/work/project-operating-view-service.d.ts +10 -0
- package/dist/src/work/project-operating-view-service.js +46 -0
- package/dist/src/work/work-intake-repository.d.ts +49 -0
- package/dist/src/work/work-intake-repository.js +97 -0
- package/dist/src/work/work-intake-service.d.ts +26 -0
- package/dist/src/work/work-intake-service.js +171 -0
- package/dist/src/work/work-value-metrics-service.d.ts +4 -0
- package/dist/src/work/work-value-metrics-service.js +88 -0
- package/dist/src/work-items/work-item-service.d.ts +0 -2
- package/dist/src/work-items/work-item-service.js +0 -28
- package/dist/src/workflows/service/workflow-run-service.js +1 -1
- package/dist/src/workflows/service/workflow-session-bridge.js +2 -2
- package/package.json +1 -1
- package/dist/gateway/static/root/assets/agents-DC9F12Kw.js +0 -2
- package/dist/gateway/static/root/assets/apps-page-5bKr05Fa.js +0 -1
- package/dist/gateway/static/root/assets/automation-suggestion-card-B7mxFRtf.js +0 -1
- package/dist/gateway/static/root/assets/automations-page-Dg6dmt5g.js +0 -6
- package/dist/gateway/static/root/assets/browser-settings-page-BHoo6Rpq.js +0 -8
- package/dist/gateway/static/root/assets/capabilities-settings-panel-BlsqN8Fu.js +0 -7
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-DJeT8_B4.js +0 -1
- package/dist/gateway/static/root/assets/channels-settings-C4VVjYEm.js +0 -1
- package/dist/gateway/static/root/assets/channels-status-swr-vdf8kB16.js +0 -1
- package/dist/gateway/static/root/assets/circle-alert-BEjgurr2.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-DNcrDThX.js +0 -2
- package/dist/gateway/static/root/assets/desktop-pet-B1urphOZ.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-settings-DTL6J3EP.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-DmObBx9b.js +0 -1
- package/dist/gateway/static/root/assets/goal-create-dialog-BRhmmBe9.js +0 -1
- package/dist/gateway/static/root/assets/goal-detail-page-C1k7_s_O.js +0 -4
- package/dist/gateway/static/root/assets/goals-config-api-Fwu1wjEP.js +0 -1
- package/dist/gateway/static/root/assets/goals-page-hOu9uA3q.js +0 -2
- package/dist/gateway/static/root/assets/goals-settings-DY-JjvHz.js +0 -1
- package/dist/gateway/static/root/assets/index-C0CGebQ1.js +0 -212
- package/dist/gateway/static/root/assets/index-eqq25gvV.css +0 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-EjsNT7nJ.js +0 -2
- package/dist/gateway/static/root/assets/logs-page-Dswjlraa.js +0 -7
- package/dist/gateway/static/root/assets/messages-DP6tPKk-.js +0 -3
- package/dist/gateway/static/root/assets/notes-workbench-DSh3-hMY.js +0 -4
- package/dist/gateway/static/root/assets/product-delivery-BTRT9kCS.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-D0QPRHR_.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-CI5Vz62F.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-S1jpzBS5.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-CTm66k7h.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-CU52AUVD.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-DK6XK95e.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-Bvv_u4ii.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-BGHvVbay.js +0 -2
- package/dist/gateway/static/root/assets/time-picker-XwpxdZFr.js +0 -1
- package/dist/gateway/static/root/assets/user-context-page-DBCMk-Vn.js +0 -1
- package/dist/gateway/static/root/assets/work-discovery-page-C1UIdsCl.js +0 -1
- package/dist/gateway/static/root/assets/work-item-detail-page-DEAQepB8.js +0 -1
- package/dist/gateway/static/root/assets/work-page-D5qYmCTq.js +0 -3
- package/dist/gateway/static/root/assets/workflows-page-yrK17ZZ5.js +0 -11
- package/dist/src/agent/outcomes/task-verifier.d.ts +0 -29
- package/dist/src/gateway/hono/routes/task-outcomes.d.ts +0 -3
- package/dist/src/gateway/hono/routes/task-outcomes.js +0 -109
- package/dist/src/goals/goal-contract-draft.d.ts +0 -15
- package/dist/src/goals/goal-contract-draft.js +0 -112
- package/dist/src/goals/goal-evidence-review.d.ts +0 -15
- package/dist/src/goals/goal-evidence-review.js +0 -89
- package/dist/src/storage/sqlite/task-outcome-repository.d.ts +0 -90
- package/dist/src/storage/sqlite/task-outcome-repository.js +0 -138
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { createLogger } from "../../utils/logger/index.js";
|
|
2
|
+
import { init_logger } from "../../utils/logger.js";
|
|
3
|
+
import { listKnowledgeSourceItems } from "../../storage/sqlite/knowledge-repository.js";
|
|
4
|
+
import { getConnectorSyncPolicy } from "../../storage/sqlite/connector-sync-policy-repository.js";
|
|
5
|
+
//#region src/proactive/temporal/worker.ts
|
|
6
|
+
init_logger();
|
|
7
|
+
const log = createLogger("Proactive:Temporal");
|
|
8
|
+
const MEETING_SCENARIO = "meeting_preparation";
|
|
9
|
+
function metadataString(metadata, key) {
|
|
10
|
+
const value = metadata[key];
|
|
11
|
+
return typeof value === "string" && value.trim() ? value : void 0;
|
|
12
|
+
}
|
|
13
|
+
function meetingWindow(startMs, nowMs) {
|
|
14
|
+
const untilStart = startMs - nowMs;
|
|
15
|
+
if (untilStart <= 0) return null;
|
|
16
|
+
if (untilStart <= 120 * 6e4) return "2h";
|
|
17
|
+
if (untilStart <= 1440 * 6e4) return "24h";
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
var ProactiveTemporalWorker = class {
|
|
21
|
+
timer = null;
|
|
22
|
+
running = false;
|
|
23
|
+
constructor(events, intervalMs = 6e4) {
|
|
24
|
+
this.events = events;
|
|
25
|
+
this.intervalMs = intervalMs;
|
|
26
|
+
}
|
|
27
|
+
start() {
|
|
28
|
+
if (this.timer) return;
|
|
29
|
+
this.tick();
|
|
30
|
+
this.timer = setInterval(() => void this.tick(), Math.max(5e3, this.intervalMs));
|
|
31
|
+
this.timer.unref?.();
|
|
32
|
+
}
|
|
33
|
+
stop() {
|
|
34
|
+
if (this.timer) clearInterval(this.timer);
|
|
35
|
+
this.timer = null;
|
|
36
|
+
}
|
|
37
|
+
async tick(now = /* @__PURE__ */ new Date()) {
|
|
38
|
+
if (this.running) return {
|
|
39
|
+
scanned: 0,
|
|
40
|
+
published: 0,
|
|
41
|
+
skipped: 0
|
|
42
|
+
};
|
|
43
|
+
this.running = true;
|
|
44
|
+
const result = {
|
|
45
|
+
scanned: 0,
|
|
46
|
+
published: 0,
|
|
47
|
+
skipped: 0
|
|
48
|
+
};
|
|
49
|
+
try {
|
|
50
|
+
const nowMs = now.getTime();
|
|
51
|
+
const pageSize = 500;
|
|
52
|
+
for (let offset = 0;; offset += pageSize) {
|
|
53
|
+
const items = listKnowledgeSourceItems({
|
|
54
|
+
itemType: "calendar_event",
|
|
55
|
+
occurredAfterMs: nowMs,
|
|
56
|
+
occurredBeforeMs: nowMs + 1440 * 6e4,
|
|
57
|
+
orderBy: "occurred_asc",
|
|
58
|
+
limit: pageSize,
|
|
59
|
+
offset
|
|
60
|
+
});
|
|
61
|
+
for (const item of items) {
|
|
62
|
+
result.scanned += 1;
|
|
63
|
+
const connectionId = metadataString(item.metadata, "connectionId");
|
|
64
|
+
const workspaceId = metadataString(item.metadata, "workspaceId");
|
|
65
|
+
const connectorId = metadataString(item.metadata, "connectorId");
|
|
66
|
+
const agentId = metadataString(item.metadata, "agentId");
|
|
67
|
+
const window = meetingWindow(item.occurredAt ? Date.parse(item.occurredAt) : NaN, nowMs);
|
|
68
|
+
const policy = connectionId ? getConnectorSyncPolicy(connectionId) : void 0;
|
|
69
|
+
const scenarioAllowed = !policy?.allowedScenarioKeys.length || policy.allowedScenarioKeys.includes(MEETING_SCENARIO);
|
|
70
|
+
if (!connectionId || !workspaceId || !connectorId || !window || !policy?.scanEnabled || !policy.proactiveEnabled || !scenarioAllowed || item.sensitivity === "secret" || item.sensitivity === "regulated") {
|
|
71
|
+
result.skipped += 1;
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
if (this.events.publish({
|
|
75
|
+
type: "connected_source.calendar_window.v1",
|
|
76
|
+
schemaVersion: 1,
|
|
77
|
+
source: {
|
|
78
|
+
kind: "connector",
|
|
79
|
+
id: connectionId
|
|
80
|
+
},
|
|
81
|
+
subject: {
|
|
82
|
+
kind: "knowledge_source_item",
|
|
83
|
+
id: item.id
|
|
84
|
+
},
|
|
85
|
+
actor: { kind: "system" },
|
|
86
|
+
scope: {
|
|
87
|
+
workspaceId,
|
|
88
|
+
...agentId ? { agentId } : {}
|
|
89
|
+
},
|
|
90
|
+
occurredAt: now.toISOString(),
|
|
91
|
+
dedupeKey: `calendar-window:${item.id}:${item.occurredAt}:${window}`,
|
|
92
|
+
sensitivity: item.sensitivity === "normal" ? "personal" : item.sensitivity,
|
|
93
|
+
payload: {
|
|
94
|
+
sourceItemId: item.id,
|
|
95
|
+
meetingStartsAt: item.occurredAt,
|
|
96
|
+
window
|
|
97
|
+
}
|
|
98
|
+
}, now).inserted) result.published += 1;
|
|
99
|
+
}
|
|
100
|
+
if (items.length < pageSize) break;
|
|
101
|
+
}
|
|
102
|
+
if (result.published > 0) log.info(result, "Temporal meeting signals published");
|
|
103
|
+
return result;
|
|
104
|
+
} finally {
|
|
105
|
+
this.running = false;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
//#endregion
|
|
110
|
+
export { ProactiveTemporalWorker };
|
|
@@ -2,8 +2,8 @@ import { isPathUnderWorkspace } from "../gateway/workspace-editor-path.js";
|
|
|
2
2
|
import { relative, resolve } from "node:path";
|
|
3
3
|
import { createReadStream } from "node:fs";
|
|
4
4
|
import { lstat, readdir, realpath, stat } from "node:fs/promises";
|
|
5
|
-
import { Readable, Transform } from "node:stream";
|
|
6
5
|
import { pipeline } from "node:stream/promises";
|
|
6
|
+
import { Readable, Transform } from "node:stream";
|
|
7
7
|
import { crc32, createDeflateRaw } from "node:zlib";
|
|
8
8
|
//#region src/share/share-zip.ts
|
|
9
9
|
const SIG_LOCAL = 67324752;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createLogger } from "../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
|
-
import { request } from "undici";
|
|
4
3
|
import { Readable } from "node:stream";
|
|
4
|
+
import { request } from "undici";
|
|
5
5
|
import * as ws from "ws";
|
|
6
6
|
//#region src/share/site-proxy.ts
|
|
7
7
|
init_logger();
|
|
@@ -6,3 +6,4 @@ export declare function listObjectActivityRecords(options: ListObjectActivityOpt
|
|
|
6
6
|
export declare function listProjectActivityRecords(options: ListProjectActivityOptions): ActivityListResult;
|
|
7
7
|
export declare function createObjectLinkRecord(input: CreateObjectLinkInput): ObjectLink;
|
|
8
8
|
export declare function listObjectLinkRecords(object: ActivityObjectRef): ObjectLink[];
|
|
9
|
+
export declare function deleteObjectLinkRecord(id: string): boolean;
|
|
@@ -202,5 +202,8 @@ function listObjectLinkRecords(object) {
|
|
|
202
202
|
WHERE (from_kind = ? AND from_id = ?) OR (to_kind = ? AND to_id = ?)
|
|
203
203
|
ORDER BY created_at DESC, id DESC`).all(object.kind, object.id, object.kind, object.id).map((row) => objectLinkFromRow(row));
|
|
204
204
|
}
|
|
205
|
+
function deleteObjectLinkRecord(id) {
|
|
206
|
+
return runSqliteWriteTransaction((db) => db.prepare("DELETE FROM object_links WHERE id = ?").run(id).changes > 0);
|
|
207
|
+
}
|
|
205
208
|
//#endregion
|
|
206
|
-
export { createObjectLinkRecord, getActivityEventRecord, listActivityRecords, listObjectActivityRecords, listObjectLinkRecords, listProjectActivityRecords, recordActivityEvent };
|
|
209
|
+
export { createObjectLinkRecord, deleteObjectLinkRecord, getActivityEventRecord, listActivityRecords, listObjectActivityRecords, listObjectLinkRecords, listProjectActivityRecords, recordActivityEvent };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type ConnectorSyncPolicy = {
|
|
2
|
+
connectionId: string;
|
|
3
|
+
scanEnabled: boolean;
|
|
4
|
+
proactiveEnabled: boolean;
|
|
5
|
+
intervalMinutes?: number;
|
|
6
|
+
allowedScenarioKeys: string[];
|
|
7
|
+
revision: number;
|
|
8
|
+
updatedAt: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function getConnectorSyncPolicy(connectionId: string): ConnectorSyncPolicy | undefined;
|
|
11
|
+
export declare function listConnectorSyncPolicies(): ConnectorSyncPolicy[];
|
|
12
|
+
export declare function upsertConnectorSyncPolicy(input: {
|
|
13
|
+
connectionId: string;
|
|
14
|
+
scanEnabled?: boolean;
|
|
15
|
+
proactiveEnabled?: boolean;
|
|
16
|
+
intervalMinutes?: number | null;
|
|
17
|
+
defaultIntervalMinutes?: number;
|
|
18
|
+
allowedScenarioKeys?: string[];
|
|
19
|
+
nowMs?: number;
|
|
20
|
+
}): ConnectorSyncPolicy;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { getSqliteDatabase, runSqliteWriteTransaction } from "./transaction.js";
|
|
2
|
+
//#region src/storage/sqlite/connector-sync-policy-repository.ts
|
|
3
|
+
function stringArray(value) {
|
|
4
|
+
try {
|
|
5
|
+
const parsed = JSON.parse(value);
|
|
6
|
+
return Array.isArray(parsed) ? parsed.filter((item) => typeof item === "string") : [];
|
|
7
|
+
} catch {
|
|
8
|
+
return [];
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
function fromRow(row) {
|
|
12
|
+
return {
|
|
13
|
+
connectionId: row.connection_id,
|
|
14
|
+
scanEnabled: row.scan_enabled === 1,
|
|
15
|
+
proactiveEnabled: row.proactive_enabled === 1,
|
|
16
|
+
...row.interval_minutes == null ? {} : { intervalMinutes: row.interval_minutes },
|
|
17
|
+
allowedScenarioKeys: stringArray(row.allowed_scenario_keys_json),
|
|
18
|
+
revision: row.revision,
|
|
19
|
+
updatedAt: new Date(row.updated_at).toISOString()
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function getConnectorSyncPolicy(connectionId) {
|
|
23
|
+
const row = getSqliteDatabase().prepare("SELECT * FROM connector_sync_policies WHERE connection_id = ?").get(connectionId);
|
|
24
|
+
return row ? fromRow(row) : void 0;
|
|
25
|
+
}
|
|
26
|
+
function listConnectorSyncPolicies() {
|
|
27
|
+
return getSqliteDatabase().prepare("SELECT * FROM connector_sync_policies ORDER BY connection_id ASC").all().map(fromRow);
|
|
28
|
+
}
|
|
29
|
+
function upsertConnectorSyncPolicy(input) {
|
|
30
|
+
const current = getConnectorSyncPolicy(input.connectionId);
|
|
31
|
+
const now = input.nowMs ?? Date.now();
|
|
32
|
+
const intervalMinutes = input.intervalMinutes === null ? null : Math.max(5, Math.min(1440, input.intervalMinutes ?? current?.intervalMinutes ?? input.defaultIntervalMinutes ?? 30));
|
|
33
|
+
const allowedScenarioKeys = [...new Set((input.allowedScenarioKeys ?? current?.allowedScenarioKeys ?? []).map((key) => key.trim()).filter(Boolean))].sort();
|
|
34
|
+
runSqliteWriteTransaction((db) => {
|
|
35
|
+
db.prepare(`INSERT INTO connector_sync_policies (
|
|
36
|
+
connection_id, scan_enabled, proactive_enabled, interval_minutes,
|
|
37
|
+
allowed_scenario_keys_json, revision, updated_at
|
|
38
|
+
) VALUES (?, ?, ?, ?, ?, 1, ?)
|
|
39
|
+
ON CONFLICT(connection_id) DO UPDATE SET
|
|
40
|
+
scan_enabled = excluded.scan_enabled,
|
|
41
|
+
proactive_enabled = excluded.proactive_enabled,
|
|
42
|
+
interval_minutes = excluded.interval_minutes,
|
|
43
|
+
allowed_scenario_keys_json = excluded.allowed_scenario_keys_json,
|
|
44
|
+
revision = connector_sync_policies.revision + 1,
|
|
45
|
+
updated_at = excluded.updated_at`).run(input.connectionId, input.scanEnabled ?? current?.scanEnabled ?? true ? 1 : 0, input.proactiveEnabled ?? current?.proactiveEnabled ?? false ? 1 : 0, intervalMinutes, JSON.stringify(allowedScenarioKeys), now);
|
|
46
|
+
});
|
|
47
|
+
return getConnectorSyncPolicy(input.connectionId);
|
|
48
|
+
}
|
|
49
|
+
//#endregion
|
|
50
|
+
export { getConnectorSyncPolicy, listConnectorSyncPolicies, upsertConnectorSyncPolicy };
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { type ExecutionFailureCode, type ExecutionFailurePhase, type ExecutionRecoveryAction, type ExecutionVerification } from '../../agent/outcomes/execution-verifier.js';
|
|
2
|
+
export type ExecutionReceiptStatus = 'running' | 'succeeded' | 'failed' | 'cancelled';
|
|
3
|
+
export type ExecutionFeedbackOutcome = 'helpful' | 'not_helpful';
|
|
4
|
+
export type ExecutionVerdict = 'achieved' | 'partial' | 'not_achieved';
|
|
5
|
+
export type ExecutionReceiptOrigin = 'chat' | 'goal' | 'workflow' | 'automation' | 'browser' | 'proactive';
|
|
6
|
+
export type ExecutionReceiptTrigger = 'user' | 'schedule' | 'webhook' | 'proactive' | 'retry';
|
|
7
|
+
export interface ExecutionReceiptContext {
|
|
8
|
+
outcomeId?: string;
|
|
9
|
+
projectId?: string;
|
|
10
|
+
goalId?: string;
|
|
11
|
+
workItemId?: string;
|
|
12
|
+
origin?: ExecutionReceiptOrigin;
|
|
13
|
+
triggerKind?: ExecutionReceiptTrigger;
|
|
14
|
+
parentRunId?: string;
|
|
15
|
+
contextTraceId?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ExecutionContract {
|
|
18
|
+
objective: string;
|
|
19
|
+
deliverables: string[];
|
|
20
|
+
acceptanceCriteria: string[];
|
|
21
|
+
constraints: string[];
|
|
22
|
+
approvalRequired: string[];
|
|
23
|
+
}
|
|
24
|
+
export interface ExecutionEvidence {
|
|
25
|
+
kind: 'artifact' | 'test' | 'state' | 'source';
|
|
26
|
+
title: string;
|
|
27
|
+
summary: string;
|
|
28
|
+
uri?: string;
|
|
29
|
+
verifies?: string[];
|
|
30
|
+
}
|
|
31
|
+
export interface ExecutionReceipt {
|
|
32
|
+
runId: string;
|
|
33
|
+
sessionKey: string;
|
|
34
|
+
channel: string;
|
|
35
|
+
objective: string;
|
|
36
|
+
status: ExecutionReceiptStatus;
|
|
37
|
+
summary?: string;
|
|
38
|
+
contract?: ExecutionContract;
|
|
39
|
+
contractVersion?: number;
|
|
40
|
+
attempt: number;
|
|
41
|
+
strategy?: string;
|
|
42
|
+
evidence: ExecutionEvidence[];
|
|
43
|
+
verification: ExecutionVerification;
|
|
44
|
+
context: ExecutionReceiptContext;
|
|
45
|
+
nextAction?: string;
|
|
46
|
+
needsUser: boolean;
|
|
47
|
+
completionVerdict?: ExecutionVerdict;
|
|
48
|
+
completionVerdictSource?: 'system' | 'user';
|
|
49
|
+
correctionText?: string;
|
|
50
|
+
projectionVersion: number;
|
|
51
|
+
projectedAt?: number;
|
|
52
|
+
failure?: {
|
|
53
|
+
code: ExecutionFailureCode;
|
|
54
|
+
phase: ExecutionFailurePhase;
|
|
55
|
+
recoveryAction: ExecutionRecoveryAction;
|
|
56
|
+
};
|
|
57
|
+
feedback?: {
|
|
58
|
+
outcome: ExecutionFeedbackOutcome;
|
|
59
|
+
reason?: string;
|
|
60
|
+
needsCorrection?: boolean;
|
|
61
|
+
supportFit?: boolean;
|
|
62
|
+
};
|
|
63
|
+
startedAt: number;
|
|
64
|
+
completedAt?: number;
|
|
65
|
+
updatedAt: number;
|
|
66
|
+
}
|
|
67
|
+
export interface ExecutionReceiptMetrics {
|
|
68
|
+
total: number;
|
|
69
|
+
completed: number;
|
|
70
|
+
succeeded: number;
|
|
71
|
+
verified: number;
|
|
72
|
+
helpful: number;
|
|
73
|
+
notHelpful: number;
|
|
74
|
+
completionRate: number;
|
|
75
|
+
successRate: number;
|
|
76
|
+
verificationRate: number;
|
|
77
|
+
helpfulRate: number;
|
|
78
|
+
}
|
|
79
|
+
export declare function startExecutionReceipt(input: {
|
|
80
|
+
runId: string;
|
|
81
|
+
sessionKey: string;
|
|
82
|
+
channel: string;
|
|
83
|
+
objective: string;
|
|
84
|
+
context?: ExecutionReceiptContext;
|
|
85
|
+
contract?: ExecutionContract;
|
|
86
|
+
contractVersion?: number;
|
|
87
|
+
attempt?: number;
|
|
88
|
+
strategy?: string;
|
|
89
|
+
now?: number;
|
|
90
|
+
}): ExecutionReceipt;
|
|
91
|
+
export declare function completeExecutionReceipt(input: {
|
|
92
|
+
runId: string;
|
|
93
|
+
status: Exclude<ExecutionReceiptStatus, 'running'>;
|
|
94
|
+
summary: string;
|
|
95
|
+
now?: number;
|
|
96
|
+
}): ExecutionReceipt | undefined;
|
|
97
|
+
export declare function setExecutionVerdict(input: {
|
|
98
|
+
runId: string;
|
|
99
|
+
verdict: ExecutionVerdict;
|
|
100
|
+
correctionText?: string;
|
|
101
|
+
now?: number;
|
|
102
|
+
}): ExecutionReceipt | undefined;
|
|
103
|
+
export declare function markExecutionReceiptProjected(input: {
|
|
104
|
+
runId: string;
|
|
105
|
+
projectionVersion: number;
|
|
106
|
+
now?: number;
|
|
107
|
+
}): ExecutionReceipt | undefined;
|
|
108
|
+
export declare function listUnprojectedExecutionReceipts(input: {
|
|
109
|
+
projectionVersion: number;
|
|
110
|
+
limit?: number;
|
|
111
|
+
}): ExecutionReceipt[];
|
|
112
|
+
export declare function updateExecutionReceipt(input: {
|
|
113
|
+
runId: string;
|
|
114
|
+
contract?: ExecutionContract;
|
|
115
|
+
evidence?: ExecutionEvidence[];
|
|
116
|
+
summary?: string;
|
|
117
|
+
nextAction?: string | null;
|
|
118
|
+
needsUser?: boolean;
|
|
119
|
+
contextTraceId?: string | null;
|
|
120
|
+
now?: number;
|
|
121
|
+
}): ExecutionReceipt | undefined;
|
|
122
|
+
type ExecutionReceiptFeedbackInput = {
|
|
123
|
+
outcome: ExecutionFeedbackOutcome;
|
|
124
|
+
reason?: string;
|
|
125
|
+
needsCorrection?: boolean;
|
|
126
|
+
supportFit?: boolean;
|
|
127
|
+
now?: number;
|
|
128
|
+
};
|
|
129
|
+
export declare function setExecutionReceiptFeedback(input: ExecutionReceiptFeedbackInput & {
|
|
130
|
+
sessionKey: string;
|
|
131
|
+
assistantTimestamp: number;
|
|
132
|
+
}): ExecutionReceipt | undefined;
|
|
133
|
+
export declare function setExecutionReceiptFeedbackByRunId(input: ExecutionReceiptFeedbackInput & {
|
|
134
|
+
runId: string;
|
|
135
|
+
}): ExecutionReceipt | undefined;
|
|
136
|
+
export declare function getExecutionReceipt(runId: string): ExecutionReceipt | undefined;
|
|
137
|
+
export declare function findExecutionReceiptForAssistant(sessionKey: string, assistantTimestamp: number): ExecutionReceipt | undefined;
|
|
138
|
+
export declare function listExecutionReceipts(input?: {
|
|
139
|
+
outcomeId?: string;
|
|
140
|
+
sessionKey?: string;
|
|
141
|
+
projectId?: string;
|
|
142
|
+
workItemId?: string;
|
|
143
|
+
limit?: number;
|
|
144
|
+
}): ExecutionReceipt[];
|
|
145
|
+
export declare function summarizeExecutionReceipts(): ExecutionReceiptMetrics;
|
|
146
|
+
export {};
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { getSqliteDatabase, runSqliteWriteTransaction } from "./transaction.js";
|
|
2
|
+
import { diagnoseExecutionFailure, verifyExecutionCompletion } from "../../agent/outcomes/execution-verifier.js";
|
|
3
|
+
//#region src/storage/sqlite/execution-receipt-repository.ts
|
|
4
|
+
function fromRow(row) {
|
|
5
|
+
const contract = row.contract_json ? JSON.parse(row.contract_json) : void 0;
|
|
6
|
+
const evidence = JSON.parse(row.evidence_json);
|
|
7
|
+
const feedback = row.feedback_outcome ? {
|
|
8
|
+
outcome: row.feedback_outcome,
|
|
9
|
+
...row.feedback_reason ? { reason: row.feedback_reason } : {},
|
|
10
|
+
...row.needs_correction === null ? {} : { needsCorrection: row.needs_correction === 1 },
|
|
11
|
+
...row.support_fit === null ? {} : { supportFit: row.support_fit === 1 }
|
|
12
|
+
} : void 0;
|
|
13
|
+
return {
|
|
14
|
+
runId: row.run_id,
|
|
15
|
+
sessionKey: row.session_key,
|
|
16
|
+
channel: row.channel,
|
|
17
|
+
objective: row.objective,
|
|
18
|
+
status: row.status,
|
|
19
|
+
...row.summary ? { summary: row.summary } : {},
|
|
20
|
+
...contract ? { contract } : {},
|
|
21
|
+
...row.contract_version === null ? {} : { contractVersion: row.contract_version },
|
|
22
|
+
attempt: row.attempt,
|
|
23
|
+
...row.strategy ? { strategy: row.strategy } : {},
|
|
24
|
+
evidence,
|
|
25
|
+
verification: {
|
|
26
|
+
...JSON.parse(row.verification_json),
|
|
27
|
+
status: row.verification_status
|
|
28
|
+
},
|
|
29
|
+
context: {
|
|
30
|
+
...row.outcome_id ? { outcomeId: row.outcome_id } : {},
|
|
31
|
+
...row.project_id ? { projectId: row.project_id } : {},
|
|
32
|
+
...row.goal_id ? { goalId: row.goal_id } : {},
|
|
33
|
+
...row.work_item_id ? { workItemId: row.work_item_id } : {},
|
|
34
|
+
...row.origin ? { origin: row.origin } : {},
|
|
35
|
+
...row.trigger_kind ? { triggerKind: row.trigger_kind } : {},
|
|
36
|
+
...row.parent_run_id ? { parentRunId: row.parent_run_id } : {},
|
|
37
|
+
...row.context_trace_id ? { contextTraceId: row.context_trace_id } : {}
|
|
38
|
+
},
|
|
39
|
+
...row.next_action ? { nextAction: row.next_action } : {},
|
|
40
|
+
needsUser: row.needs_user === 1,
|
|
41
|
+
...row.completion_verdict ? { completionVerdict: row.completion_verdict } : {},
|
|
42
|
+
...row.completion_verdict_source ? { completionVerdictSource: row.completion_verdict_source } : {},
|
|
43
|
+
...row.correction_text ? { correctionText: row.correction_text } : {},
|
|
44
|
+
projectionVersion: row.projection_version,
|
|
45
|
+
...row.projected_at === null ? {} : { projectedAt: row.projected_at },
|
|
46
|
+
...row.failure_code && row.failure_phase && row.recovery_action ? { failure: {
|
|
47
|
+
code: row.failure_code,
|
|
48
|
+
phase: row.failure_phase,
|
|
49
|
+
recoveryAction: row.recovery_action
|
|
50
|
+
} } : {},
|
|
51
|
+
...feedback ? { feedback } : {},
|
|
52
|
+
startedAt: row.started_at,
|
|
53
|
+
...row.completed_at === null ? {} : { completedAt: row.completed_at },
|
|
54
|
+
updatedAt: row.updated_at
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
const SELECT_COLUMNS = `run_id, session_key, channel, objective, status, summary,
|
|
58
|
+
contract_json, evidence_json, feedback_outcome, feedback_reason,
|
|
59
|
+
needs_correction, support_fit, started_at, completed_at, updated_at,
|
|
60
|
+
verification_status, verification_json, failure_code, failure_phase, recovery_action,
|
|
61
|
+
project_id, goal_id, work_item_id, origin, trigger_kind, parent_run_id,
|
|
62
|
+
next_action, needs_user, context_trace_id, completion_verdict, completion_verdict_source, correction_text,
|
|
63
|
+
projection_version, projected_at, outcome_id, contract_version, attempt, strategy`;
|
|
64
|
+
function startExecutionReceipt(input) {
|
|
65
|
+
const now = input.now ?? Date.now();
|
|
66
|
+
runSqliteWriteTransaction((db) => {
|
|
67
|
+
const previousAttempt = input.context?.outcomeId ? db.prepare("SELECT COALESCE(MAX(attempt), 0) AS attempt FROM execution_receipts WHERE outcome_id = ?").get(input.context.outcomeId).attempt : 0;
|
|
68
|
+
const attempt = input.attempt ?? previousAttempt + 1;
|
|
69
|
+
const strategy = input.strategy ?? (attempt === 1 ? "primary" : `continuation_${attempt}`);
|
|
70
|
+
db.prepare(`INSERT INTO execution_receipts (
|
|
71
|
+
run_id, session_key, channel, objective, status, contract_json, started_at, updated_at,
|
|
72
|
+
project_id, goal_id, work_item_id, origin, trigger_kind, parent_run_id, context_trace_id,
|
|
73
|
+
outcome_id, contract_version, attempt, strategy
|
|
74
|
+
) VALUES (?, ?, ?, ?, 'running', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(input.runId, input.sessionKey, input.channel, input.objective, input.contract ? JSON.stringify(input.contract) : null, now, now, input.context?.projectId ?? null, input.context?.goalId ?? null, input.context?.workItemId ?? null, input.context?.origin ?? null, input.context?.triggerKind ?? null, input.context?.parentRunId ?? null, input.context?.contextTraceId ?? null, input.context?.outcomeId ?? null, input.contractVersion ?? null, attempt, strategy);
|
|
75
|
+
});
|
|
76
|
+
return getExecutionReceipt(input.runId);
|
|
77
|
+
}
|
|
78
|
+
function completeExecutionReceipt(input) {
|
|
79
|
+
const now = input.now ?? Date.now();
|
|
80
|
+
const current = getExecutionReceipt(input.runId);
|
|
81
|
+
if (!current) return void 0;
|
|
82
|
+
const verification = verifyExecutionCompletion({
|
|
83
|
+
status: input.status,
|
|
84
|
+
acceptanceCriteria: current.contract?.acceptanceCriteria ?? [],
|
|
85
|
+
evidence: current.evidence
|
|
86
|
+
});
|
|
87
|
+
const failure = input.status === "succeeded" ? void 0 : diagnoseExecutionFailure({
|
|
88
|
+
status: input.status,
|
|
89
|
+
summary: input.summary
|
|
90
|
+
});
|
|
91
|
+
const completionVerdict = input.status === "succeeded" ? verification.status === "passed" ? "achieved" : "partial" : "not_achieved";
|
|
92
|
+
runSqliteWriteTransaction((db) => {
|
|
93
|
+
db.prepare(`UPDATE execution_receipts
|
|
94
|
+
SET status = ?, summary = ?, completed_at = ?, updated_at = ?,
|
|
95
|
+
verification_status = ?, verification_json = ?, failure_code = ?,
|
|
96
|
+
failure_phase = ?, recovery_action = ?, completion_verdict = ?,
|
|
97
|
+
completion_verdict_source = 'system', correction_text = NULL,
|
|
98
|
+
projection_version = 0, projected_at = NULL
|
|
99
|
+
WHERE run_id = ?`).run(input.status, input.summary, now, now, verification.status, JSON.stringify({ checks: verification.checks }), failure?.code ?? null, failure?.phase ?? null, failure?.recoveryAction ?? null, completionVerdict, input.runId);
|
|
100
|
+
});
|
|
101
|
+
return getExecutionReceipt(input.runId);
|
|
102
|
+
}
|
|
103
|
+
function setExecutionVerdict(input) {
|
|
104
|
+
const current = getExecutionReceipt(input.runId);
|
|
105
|
+
if (!current || current.status === "running") return void 0;
|
|
106
|
+
const now = input.now ?? Date.now();
|
|
107
|
+
runSqliteWriteTransaction((db) => {
|
|
108
|
+
db.prepare(`UPDATE execution_receipts
|
|
109
|
+
SET completion_verdict = ?, completion_verdict_source = 'user', correction_text = ?, projection_version = 0,
|
|
110
|
+
projected_at = NULL, updated_at = ?
|
|
111
|
+
WHERE run_id = ?`).run(input.verdict, input.correctionText?.trim() || null, now, input.runId);
|
|
112
|
+
});
|
|
113
|
+
return getExecutionReceipt(input.runId);
|
|
114
|
+
}
|
|
115
|
+
function markExecutionReceiptProjected(input) {
|
|
116
|
+
const now = input.now ?? Date.now();
|
|
117
|
+
runSqliteWriteTransaction((db) => {
|
|
118
|
+
db.prepare(`UPDATE execution_receipts
|
|
119
|
+
SET projection_version = ?, projected_at = ?, updated_at = ?
|
|
120
|
+
WHERE run_id = ? AND status != 'running'`).run(input.projectionVersion, now, now, input.runId);
|
|
121
|
+
});
|
|
122
|
+
return getExecutionReceipt(input.runId);
|
|
123
|
+
}
|
|
124
|
+
function listUnprojectedExecutionReceipts(input) {
|
|
125
|
+
const limit = Math.max(1, Math.min(500, Math.floor(input.limit ?? 100)));
|
|
126
|
+
return getSqliteDatabase().prepare(`SELECT ${SELECT_COLUMNS} FROM execution_receipts
|
|
127
|
+
WHERE status != 'running' AND projection_version < ?
|
|
128
|
+
ORDER BY completed_at ASC
|
|
129
|
+
LIMIT ?`).all(input.projectionVersion, limit).map(fromRow);
|
|
130
|
+
}
|
|
131
|
+
function updateExecutionReceipt(input) {
|
|
132
|
+
const current = getExecutionReceipt(input.runId);
|
|
133
|
+
if (!current) return void 0;
|
|
134
|
+
const now = input.now ?? Date.now();
|
|
135
|
+
const contract = input.contract === void 0 ? current.contract : input.contract;
|
|
136
|
+
const evidence = input.evidence === void 0 ? current.evidence : input.evidence;
|
|
137
|
+
const summary = input.summary === void 0 ? current.summary : input.summary;
|
|
138
|
+
const nextAction = input.nextAction === void 0 ? current.nextAction : input.nextAction ?? void 0;
|
|
139
|
+
const needsUser = input.needsUser === void 0 ? current.needsUser : input.needsUser;
|
|
140
|
+
const contextTraceId = input.contextTraceId === void 0 ? current.context.contextTraceId : input.contextTraceId ?? void 0;
|
|
141
|
+
const verification = current.status !== "running" && current.completionVerdictSource !== "user" ? verifyExecutionCompletion({
|
|
142
|
+
status: current.status,
|
|
143
|
+
acceptanceCriteria: contract?.acceptanceCriteria ?? [],
|
|
144
|
+
evidence
|
|
145
|
+
}) : current.verification;
|
|
146
|
+
const completionVerdict = current.status !== "running" && current.completionVerdictSource !== "user" ? current.status === "succeeded" ? verification.status === "passed" ? "achieved" : "partial" : "not_achieved" : current.completionVerdict;
|
|
147
|
+
runSqliteWriteTransaction((db) => {
|
|
148
|
+
db.prepare(`UPDATE execution_receipts
|
|
149
|
+
SET contract_json = ?, evidence_json = ?, summary = ?, next_action = ?,
|
|
150
|
+
needs_user = ?, context_trace_id = ?, verification_status = ?,
|
|
151
|
+
verification_json = ?, completion_verdict = ?,
|
|
152
|
+
projection_version = CASE WHEN status = 'running' THEN projection_version ELSE 0 END,
|
|
153
|
+
projected_at = CASE WHEN status = 'running' THEN projected_at ELSE NULL END,
|
|
154
|
+
updated_at = ?
|
|
155
|
+
WHERE run_id = ?`).run(contract ? JSON.stringify(contract) : null, JSON.stringify(evidence), summary ?? null, nextAction ?? null, Number(needsUser), contextTraceId ?? null, verification.status, JSON.stringify({ checks: verification.checks }), completionVerdict ?? null, now, input.runId);
|
|
156
|
+
});
|
|
157
|
+
return getExecutionReceipt(input.runId);
|
|
158
|
+
}
|
|
159
|
+
function persistExecutionReceiptFeedback(runId, input) {
|
|
160
|
+
const now = input.now ?? Date.now();
|
|
161
|
+
runSqliteWriteTransaction((db) => {
|
|
162
|
+
db.prepare(`UPDATE execution_receipts
|
|
163
|
+
SET feedback_outcome = ?, feedback_reason = ?, needs_correction = ?, support_fit = ?, updated_at = ?
|
|
164
|
+
WHERE run_id = ?`).run(input.outcome, input.reason ?? null, input.needsCorrection === void 0 ? null : Number(input.needsCorrection), input.supportFit === void 0 ? null : Number(input.supportFit), now, runId);
|
|
165
|
+
});
|
|
166
|
+
return getExecutionReceipt(runId);
|
|
167
|
+
}
|
|
168
|
+
function setExecutionReceiptFeedback(input) {
|
|
169
|
+
const matched = findExecutionReceiptForAssistant(input.sessionKey, input.assistantTimestamp);
|
|
170
|
+
return matched ? persistExecutionReceiptFeedback(matched.runId, input) : void 0;
|
|
171
|
+
}
|
|
172
|
+
function setExecutionReceiptFeedbackByRunId(input) {
|
|
173
|
+
return getExecutionReceipt(input.runId) ? persistExecutionReceiptFeedback(input.runId, input) : void 0;
|
|
174
|
+
}
|
|
175
|
+
function getExecutionReceipt(runId) {
|
|
176
|
+
const row = getSqliteDatabase().prepare(`SELECT ${SELECT_COLUMNS} FROM execution_receipts WHERE run_id = ?`).get(runId);
|
|
177
|
+
return row ? fromRow(row) : void 0;
|
|
178
|
+
}
|
|
179
|
+
function findExecutionReceiptForAssistant(sessionKey, assistantTimestamp) {
|
|
180
|
+
const row = getSqliteDatabase().prepare(`SELECT ${SELECT_COLUMNS}
|
|
181
|
+
FROM execution_receipts
|
|
182
|
+
WHERE session_key = ?
|
|
183
|
+
AND started_at <= ?
|
|
184
|
+
ORDER BY started_at DESC
|
|
185
|
+
LIMIT 1`).get(sessionKey, assistantTimestamp);
|
|
186
|
+
return row ? fromRow(row) : void 0;
|
|
187
|
+
}
|
|
188
|
+
function listExecutionReceipts(input = {}) {
|
|
189
|
+
const limit = Math.max(1, Math.min(100, Math.floor(input.limit ?? 50)));
|
|
190
|
+
const filters = [];
|
|
191
|
+
const values = [];
|
|
192
|
+
if (input.outcomeId) {
|
|
193
|
+
filters.push("outcome_id = ?");
|
|
194
|
+
values.push(input.outcomeId);
|
|
195
|
+
}
|
|
196
|
+
if (input.sessionKey) {
|
|
197
|
+
filters.push("session_key = ?");
|
|
198
|
+
values.push(input.sessionKey);
|
|
199
|
+
}
|
|
200
|
+
if (input.projectId) {
|
|
201
|
+
filters.push("project_id = ?");
|
|
202
|
+
values.push(input.projectId);
|
|
203
|
+
}
|
|
204
|
+
if (input.workItemId) {
|
|
205
|
+
filters.push("work_item_id = ?");
|
|
206
|
+
values.push(input.workItemId);
|
|
207
|
+
}
|
|
208
|
+
const where = filters.length > 0 ? `WHERE ${filters.join(" AND ")}` : "";
|
|
209
|
+
return getSqliteDatabase().prepare(`SELECT ${SELECT_COLUMNS} FROM execution_receipts ${where} ORDER BY started_at DESC LIMIT ?`).all(...values, limit).map((row) => fromRow(row));
|
|
210
|
+
}
|
|
211
|
+
function summarizeExecutionReceipts() {
|
|
212
|
+
const row = getSqliteDatabase().prepare(`SELECT
|
|
213
|
+
COUNT(*) AS total,
|
|
214
|
+
SUM(CASE WHEN status != 'running' THEN 1 ELSE 0 END) AS completed,
|
|
215
|
+
SUM(CASE WHEN status = 'succeeded' THEN 1 ELSE 0 END) AS succeeded,
|
|
216
|
+
SUM(CASE WHEN verification_status = 'passed' THEN 1 ELSE 0 END) AS verified,
|
|
217
|
+
SUM(CASE WHEN feedback_outcome = 'helpful' THEN 1 ELSE 0 END) AS helpful,
|
|
218
|
+
SUM(CASE WHEN feedback_outcome = 'not_helpful' THEN 1 ELSE 0 END) AS not_helpful
|
|
219
|
+
FROM execution_receipts`).get();
|
|
220
|
+
const rated = row.helpful + row.not_helpful;
|
|
221
|
+
return {
|
|
222
|
+
total: row.total,
|
|
223
|
+
completed: row.completed,
|
|
224
|
+
succeeded: row.succeeded,
|
|
225
|
+
verified: row.verified,
|
|
226
|
+
helpful: row.helpful,
|
|
227
|
+
notHelpful: row.not_helpful,
|
|
228
|
+
completionRate: row.total ? row.completed / row.total : 0,
|
|
229
|
+
successRate: row.completed ? row.succeeded / row.completed : 0,
|
|
230
|
+
verificationRate: row.completed ? row.verified / row.completed : 0,
|
|
231
|
+
helpfulRate: rated ? row.helpful / rated : 0
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
//#endregion
|
|
235
|
+
export { completeExecutionReceipt, findExecutionReceiptForAssistant, getExecutionReceipt, listExecutionReceipts, listUnprojectedExecutionReceipts, markExecutionReceiptProjected, setExecutionReceiptFeedback, setExecutionReceiptFeedbackByRunId, setExecutionVerdict, startExecutionReceipt, summarizeExecutionReceipts, updateExecutionReceipt };
|
|
@@ -10,8 +10,9 @@ export { getUserClaim, linkUserClaimMemoryRecord, listUserClaimEvidence, listUse
|
|
|
10
10
|
export { claimNextConnectorLearningJob, enqueueConnectorLearningJob, listConnectorLearningJobs, recoverStaleConnectorLearningJobs, setConnectorLearningPaused, updateConnectorLearningJob, type ConnectorLearningJob, type ConnectorLearningMode, type ConnectorLearningPhase, type ConnectorLearningStatus, } from './connector-learning-repository.js';
|
|
11
11
|
export { appendComposerInputHistory, clearComposerInputHistory, listComposerInputHistory, COMPOSER_INPUT_HISTORY_LIMIT, type ComposerInputHistoryItem, } from './composer-input-history-repository.js';
|
|
12
12
|
export { getInteractionState, setInteractionState, updateInteractionStateFromMessage, type InteractionState, } from './interaction-state-repository.js';
|
|
13
|
+
export { getSessionTaskPlan, setSessionTaskPlan, type SessionTaskPlan, type SessionTaskPlanItem, type SessionTaskPlanItemStatus, } from './session-task-plan-repository.js';
|
|
13
14
|
export { buildRelationshipPrompt, getRelationshipSettings, isProactiveSupportAllowed, updateRelationshipSettings, type RelationshipSettings, type SupportMode, } from './relationship-settings-repository.js';
|
|
14
|
-
export {
|
|
15
|
+
export { completeExecutionReceipt, findExecutionReceiptForAssistant, getExecutionReceipt, listExecutionReceipts, listUnprojectedExecutionReceipts, markExecutionReceiptProjected, setExecutionVerdict, setExecutionReceiptFeedback, setExecutionReceiptFeedbackByRunId, startExecutionReceipt, summarizeExecutionReceipts, updateExecutionReceipt, type ExecutionContract, type ExecutionVerdict, type ExecutionEvidence, type ExecutionFeedbackOutcome, type ExecutionReceipt, type ExecutionReceiptContext, type ExecutionReceiptMetrics, type ExecutionReceiptOrigin, type ExecutionReceiptStatus, type ExecutionReceiptTrigger, } from './execution-receipt-repository.js';
|
|
15
16
|
export { buildDefaultSessionMetadata, type SessionMetadataSeed, } from './session-metadata.js';
|
|
16
17
|
export { buildGlobalSessionStats, classifyStoredRow, estimateTokensFromMessages, extractFtsContent, metadataToSessionInsert, sessionConfigRowToConfig, sessionRowToMetadata, transcriptEntryRowToStoredRow, type SessionConfigRow, type SessionRow, type TranscriptEntryRow, } from './row-mappers.js';
|
|
17
18
|
export { deleteSessionRecord, ensureSessionRecord, getCurrentSessionId, getGlobalSessionStats, findSessionKeyBySessionId, getSessionPersistedLevels, getSessionMetadata, incrementSessionStatsOnAppend, listSessionMetadata, listSessionsByAgent, patchSessionMetadata, resetSessionRecord, resolveSessionAgentId, updateSessionStats, } from './session-repository.js';
|
|
@@ -22,8 +23,9 @@ export { searchMemoryIndex, syncMemoryIndex, type MemorySearchHit, } from './mem
|
|
|
22
23
|
export { appendMemorySignal, appendMemoryTraceEvent, deleteMemoryRecord, findLatestMemoryInjectTrace, getMemoryProviderState, getMemoryRecord, hasUnresolvedMemoryConflict, listMemorySignals, listMemoryTraceEvents, listMemoryRecords, markMemoryRecordsConflicted, searchMemoryRecords, setMemoryProviderState, setMemoryTraceFeedback, setLatestMemoryInjectFeedback, summarizeMemoryRecallFeedback, summarizeUserUnderstandingQuality, USER_UNDERSTANDING_REMEDIATION_POLICY, upsertMemoryRecord, type AppendMemorySignalInput, type AppendMemoryTraceEventInput, type FindLatestMemoryInjectTraceInput, type ListMemoryRecordsOptions, type MemoryRecallFeedbackSummary, type MemoryFeedbackRemediationResult, type MemorySignalRowPayload, type MemoryTraceFeedback, type MemoryTraceEventPayload, type UserUnderstandingQualityMetrics, type SearchMemoryRecordsOptions, type SetMemoryTraceFeedbackInput, type SetLatestMemoryInjectFeedbackInput, type UpsertMemoryRecordInput, } from './memory-records-repository.js';
|
|
23
24
|
export { attachMemoryEvidence, claimKnowledgeSourceItems, completeKnowledgeSourceItemSynthesis, deleteMemoryEvidenceForRecord, finishKnowledgeSyncRun, getKnowledgeConsumerWatermark, getKnowledgeSourceCursor, getKnowledgeSourceItem, listKnowledgeSourceItems, listKnowledgeSourceChanges, listKnowledgeSyncRuns, listMemoryEvidence, pruneBoundedKnowledgeSourceItems, setKnowledgeSourceItemSynthesisStatus, setKnowledgeConsumerWatermark, setKnowledgeSourceCursor, startKnowledgeSyncRun, upsertKnowledgeSourceItems, } from './knowledge-repository.js';
|
|
24
25
|
export { deleteSessionConfig, getSessionConfig, hasSessionConfig, setSessionConfig, updateSessionConfig, } from './config-repository.js';
|
|
25
|
-
export { createObjectLinkRecord, getActivityEventRecord, listActivityRecords, listObjectActivityRecords, listObjectLinkRecords, listProjectActivityRecords, recordActivityEvent, } from './activity-repository.js';
|
|
26
|
+
export { createObjectLinkRecord, deleteObjectLinkRecord, getActivityEventRecord, listActivityRecords, listObjectActivityRecords, listObjectLinkRecords, listProjectActivityRecords, recordActivityEvent, } from './activity-repository.js';
|
|
26
27
|
export { appendConnectorExecutionAudit, claimConnectorWebhookDelivery, completeConnectorWebhookDelivery, consumeConnectorApproval, createConnectorApproval, decideConnectorApproval, deleteConnectorConnection, deleteConnectorInstallation, getConnectorConnection, getConnectorApproval, getConnectorInstallation, getCachedConnectorCatalogEntry, listCachedConnectorCatalogEntries, listConnectorActionMetadata, listConnectorApprovals, listConnectorConnections, listConnectorExecutionAudit, listConnectorInstallations, releaseConnectorWebhookDelivery, replaceConnectorCatalogEntries, upsertConnectorActionMetadata, upsertConnectorCatalogEntry, upsertConnectorConnection, upsertConnectorInstallation, type CachedConnectorCatalogEntry, } from './connector-repository.js';
|
|
28
|
+
export { getConnectorSyncPolicy, listConnectorSyncPolicies, upsertConnectorSyncPolicy, type ConnectorSyncPolicy, } from './connector-sync-policy-repository.js';
|
|
27
29
|
export { getUserTrustPolicy, setUserTrustPolicy, } from './user-trust-repository.js';
|
|
28
30
|
export { consumeMemoryReferenceConsent, decideMemoryReferenceConsent, ensureMemoryReferenceConsentRequest, hasMemoryReferenceConsent, listMemoryReferenceConsents, revokeMemoryReferenceConsent, type MemoryReferenceConsent, type MemoryReferenceGrantScope, } from './memory-reference-consent-repository.js';
|
|
29
31
|
export { getUserProfilePromptState, setUserProfilePromptState, } from './user-profile-setup-repository.js';
|