@xopcai/xopc 0.0.414 → 0.0.416
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/_locales/en/messages.json +4 -1
- package/dist/browser-ext/_locales/zh_CN/messages.json +4 -1
- package/dist/browser-ext/dist/assets/{page-context-MuzjMBlJ.js → page-context-CVvmTWZb.js} +33 -9
- package/dist/browser-ext/dist/background.js +39 -10
- package/dist/browser-ext/dist/sidepanel.html +1 -1
- package/dist/browser-ext/dist/sidepanel.js +22 -3
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-ClobpdW3.js → agent-avatar-dicebear-CufU7cqe.js} +1 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-DHDAcss8.js +1 -0
- package/dist/gateway/static/root/assets/agents-BV3dAoa0.js +77 -0
- package/dist/gateway/static/root/assets/{agents-admin-api-CeBkHnl8.js → agents-admin-api-B1p-ghg9.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-CLunLNGp.js → app-management-settings-panel-D4-n1uBg.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-DBEgoE9g.js → appearance-settings-Cgn4eNsX.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page-BOYzD7Zz.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-JElK4Goq.js → archive-plugin-B4btCsiV.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-page-CZ0UqwyU.js → automations-page-yb1EL_3N.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-J7LJ4RuV.js +8 -0
- package/dist/gateway/static/root/assets/{binary-plugins-CXFawow6.js → binary-plugins-DQT9e258.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-BoduwSYI.js → block-editor-B50rU9tL.js} +30 -30
- package/dist/gateway/static/root/assets/{browser-automation-inputs-D1pDgMJu.js → browser-automation-inputs-D6AccXaA.js} +1 -1
- package/dist/gateway/static/root/assets/browser-automations-page-BiQz6lJA.js +3 -0
- package/dist/gateway/static/root/assets/browser-settings-page-W9kuxBbE.js +3 -0
- package/dist/gateway/static/root/assets/{capabilities-Bpeh6E22.js → capabilities-BlxF36t-.js} +1 -1
- package/dist/gateway/static/root/assets/capabilities-page-iXe87MdG.js +2 -0
- package/dist/gateway/static/root/assets/capabilities-settings-panel-CRLSXe7Z.js +8 -0
- package/dist/gateway/static/root/assets/{capability-header-actions-BasrAWA0.js → capability-header-actions-BMnbzHms.js} +1 -1
- package/dist/gateway/static/root/assets/channels-CrRJkOKX.js +1 -0
- package/dist/gateway/static/root/assets/{chat-terminal-dock-CwQbzcZ_.js → chat-terminal-dock-Bd3af4gL.js} +2 -2
- package/dist/gateway/static/root/assets/{computer-settings-page-DNWeJKfF.js → computer-settings-page-DXfqy7xh.js} +1 -1
- package/dist/gateway/static/root/assets/{connector-service-page-CxHgC5RM.js → connector-service-page-B-cw0CPU.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-DbFxc0Fd.js +1 -0
- package/dist/gateway/static/root/assets/{date-picker-CXxLbLJb.js → date-picker-CqzXevH6.js} +1 -1
- package/dist/gateway/static/root/assets/{dependency-picker-DVuWMrSj.js → dependency-picker-pgT4Gyaf.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-BDlg9g4s.js → desktop-pet-settings-Dy_-i2L8.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-KbVLtAlO.js → desktop-pet-zICeqw9c.js} +1 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-ByGbxqkg.js +1 -0
- package/dist/gateway/static/root/assets/{directory-picker-path-field-a7xEodzo.js → directory-picker-path-field-C-aQ7qoM.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-CHelH5u_.js → extension-debug-page-2NwpYkS5.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-CrVHmS9-.js → extension-page-y9J0z7_Q.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-CiMybi0r.js → extension-settings-page-BtowusUh.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-swr-DF_HV6NP.js → gateway-config-swr-fQKBHBi1.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-C52ghnBK.js +1 -0
- package/dist/gateway/static/root/assets/gateway-realtime-store-Bx9KCID-.js +1 -0
- package/dist/gateway/static/root/assets/gateway-settings-BYSKzUMR.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-B91CBTzO.js → gateway-startup-retry-Cfwxof4k.js} +1 -1
- package/dist/gateway/static/root/assets/highlight-code-Cz6eeDH5.js +1 -0
- package/dist/gateway/static/root/assets/{highlighted-body-KQOG7T2V-8ACAVktj.js → highlighted-body-KQOG7T2V-BiAa8HKC.js} +1 -1
- package/dist/gateway/static/root/assets/home-page-Cd1BjYHj.js +2 -0
- package/dist/gateway/static/root/assets/{image-generation-api-CVBaWmrV.js → image-generation-api-gBFro48x.js} +1 -1
- package/dist/gateway/static/root/assets/{imports-page-C5IP3e6d.js → imports-page-BZQpXgjj.js} +1 -1
- package/dist/gateway/static/root/assets/index-Cy16gQST.css +1 -0
- package/dist/gateway/static/root/assets/index-DRyGCING.js +710 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-BhU6VYvd.js → keyboard-shortcuts-settings-CYunR34k.js} +1 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-B_Ac1lly.js +1 -0
- package/dist/gateway/static/root/assets/{local-apps-page-DcP1Bdlk.js → local-apps-page-w-J5bY02.js} +1 -1
- package/dist/gateway/static/root/assets/{local-session-drafts-DvmwiLUx.js → local-session-drafts-iGX_6O0O.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-JogcXC4J.js → locale-store-B7s2Hb35.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-Dnjvvx2i.js +2 -0
- package/dist/gateway/static/root/assets/management-settings-w1EDwgLW.js +1 -0
- package/dist/gateway/static/root/assets/{media-plugins-BnPpcJ2J.js → media-plugins-CIx1koXw.js} +1 -1
- package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-DISkHmEC.js +1 -0
- package/dist/gateway/static/root/assets/{messages-RzwPiQNL.js → messages-BYq0cPbn.js} +2 -2
- package/dist/gateway/static/root/assets/note-detail-panel-CNkxMTFU.js +5 -0
- package/dist/gateway/static/root/assets/note-image-lightbox-D5GH2wuC.js +1 -0
- package/dist/gateway/static/root/assets/notes-page-DZgKqFBG.js +8 -0
- package/dist/gateway/static/root/assets/page-context-capture-button-DusR2Itk.js +1 -0
- package/dist/gateway/static/root/assets/personal-page-CR5JFkQ9.js +1 -0
- package/dist/gateway/static/root/assets/personal-settings-panel-B7undvlr.js +1 -0
- package/dist/gateway/static/root/assets/phone-model-picker-fWDltRUJ.js +1 -0
- package/dist/gateway/static/root/assets/phone-settings-page-CsOirAiy.js +1 -0
- package/dist/gateway/static/root/assets/plugin-details-dialog-BOBVIB3j.js +1 -0
- package/dist/gateway/static/root/assets/{preview-open-alternatives-FGqN-mQx.js → preview-open-alternatives-CMxjsKSw.js} +1 -1
- package/dist/gateway/static/root/assets/{product-open-page-CwnHLfdL.js → product-open-page-CrlyJx5M.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-content-BD6k5hF9.js → product-preview-content-B-Jhzi7W.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-DoYUbtcI.js +7 -0
- package/dist/gateway/static/root/assets/projects-page-xGQd9oAZ.js +1 -0
- package/dist/gateway/static/root/assets/refresh-cw-BRlGaq2w.js +1 -0
- package/dist/gateway/static/root/assets/{registry-api-BGqSwITi.js → registry-api-BcfoLEna.js} +1 -1
- package/dist/gateway/static/root/assets/remote-access-hub-Gs0Xkws9.js +1 -0
- package/dist/gateway/static/root/assets/{runtime-tools-api-CSm5SpnR.js → runtime-tools-api-DesqGCnE.js} +1 -1
- package/dist/gateway/static/root/assets/runtime-tools-settings-panel-Bwg7U7TR.js +1 -0
- package/dist/gateway/static/root/assets/{schema-form-DoVn5jJK.js → schema-form-ByzTNR_C.js} +1 -1
- package/dist/gateway/static/root/assets/{session-api-DTxZyMta.js → session-api-DdQnMwkl.js} +1 -1
- package/dist/gateway/static/root/assets/{session-manager-B2HDomj4.js → session-manager-B_h0jlLb.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-XzK1ftbR.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-D_8Mvnog.js +1 -0
- package/dist/gateway/static/root/assets/{settings-form-section-Ce8vVv-9.js → settings-form-section-Brgd8IOV.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-DP2w3ejC.js → settings-page-B6Mv02eg.js} +1 -1
- package/dist/gateway/static/root/assets/settings-page-header-BWyxJKOG.js +1 -0
- package/dist/gateway/static/root/assets/{settings-page-layout-B20AfmFG.js → settings-page-layout-DLHcS-0T.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-DSCj5yis.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-DV4dKrmG.js → share-preview-page-DF8Of0aZ.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-DXNPe4Tl.js +1 -0
- package/dist/gateway/static/root/assets/{skill-api-DTdejInH.js → skill-api-CKCDCHLq.js} +1 -1
- package/dist/gateway/static/root/assets/skill-reload-api-BH0WF6Br.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-DFWMVRW4.js +2 -0
- package/dist/gateway/static/root/assets/system-settings-panel-DB-ttubV.js +1 -0
- package/dist/gateway/static/root/assets/task-detail-page-BJY7c8wb.js +2 -0
- package/dist/gateway/static/root/assets/{task-result-evidence-DIGSC4qF.js → task-result-evidence-B-vt1BgK.js} +1 -1
- package/dist/gateway/static/root/assets/{tracing-settings-page-BaU8frtc.js → tracing-settings-page-Dt51Z_ws.js} +1 -1
- package/dist/gateway/static/root/assets/{tunnel-api-BCcOUsqu.js → tunnel-api-Dok3t7Qe.js} +1 -1
- package/dist/gateway/static/root/assets/usage-page-lJym5G7F.js +1 -0
- package/dist/gateway/static/root/assets/{use-autosave-C1X47WVb.js → use-autosave-D4EMIB-V.js} +1 -1
- package/dist/gateway/static/root/assets/user-model-page-BXdNkITp.js +2 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-Bk4DQMTw.js → voice-api-key-field-CO3KuanA.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-D7xsWrdh.js → voice-config-api-BkUlN7GH.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-B7_NmTB5.js → work-discovery-overlay-BJRtgQM3.js} +1 -1
- package/dist/gateway/static/root/assets/wrench-DFb4r8bH.js +1 -0
- package/dist/gateway/static/root/assets/xopc-cloud-account-card-CS-_GxHV.js +1 -0
- package/dist/gateway/static/root/browser-setup-test.html +5 -0
- package/dist/gateway/static/root/browser-setup-test.js +7 -0
- package/dist/gateway/static/root/index.html +17 -14
- package/dist/package.js +1 -1
- package/dist/packages/gateway-contract/src/browser-setup.js +6 -0
- package/dist/packages/gateway-contract/src/index.js +4 -0
- package/dist/packages/gateway-contract/src/phone-setup.js +6 -0
- package/dist/packages/realtime-client/src/index.js +1 -0
- package/dist/packages/realtime-protocol/src/index.js +1 -0
- package/dist/src/agent/agent-manager.d.ts +4 -0
- package/dist/src/agent/agent-manager.js +12 -1
- package/dist/src/agent/coding/workspace-revision.js +1 -1
- package/dist/src/agent/commands/command-registry.js +1 -1
- package/dist/src/agent/embedded/tool-search-extension.js +14 -1
- package/dist/src/agent/memory/context-recovery.d.ts +1 -1
- package/dist/src/agent/service.d.ts +1 -0
- package/dist/src/agent/service.js +5 -0
- package/dist/src/agent/service.types.d.ts +2 -0
- package/dist/src/agent/skills/installer.js +3 -3
- package/dist/src/agent/tool-manuals/phone.d.ts +1 -1
- package/dist/src/agent/tool-manuals/phone.js +4 -2
- package/dist/src/agent/tool-manuals/xopc-configuration.d.ts +2 -0
- package/dist/src/agent/tool-manuals/xopc-configuration.js +25 -0
- package/dist/src/agent/tools/browser/tool/browser-use-tool.d.ts +2 -0
- package/dist/src/agent/tools/browser/tool/browser-use-tool.js +6 -2
- package/dist/src/agent/tools/factory.d.ts +3 -0
- package/dist/src/agent/tools/factory.js +11 -1
- package/dist/src/agent/tools/personal-task-tool.d.ts +1 -1
- package/dist/src/agent/tools/personal-task-tool.js +23 -21
- package/dist/src/agent/tools/phone-use-tool.d.ts +1 -0
- package/dist/src/agent/tools/phone-use-tool.js +29 -1
- package/dist/src/agent/tools/tool-manual-tool.d.ts +1 -1
- package/dist/src/agent/tools/tool-manual-tool.js +3 -1
- package/dist/src/agent/tools/toolExposure.js +3 -0
- package/dist/src/agent/tools/xopc-use-tool.d.ts +4 -2
- package/dist/src/agent/tools/xopc-use-tool.js +40 -2
- package/dist/src/backup/archive.js +2 -1
- package/dist/src/browser/drivers/browser-driver.d.ts +2 -2
- package/dist/src/browser/drivers/extension-driver.d.ts +2 -2
- package/dist/src/browser/drivers/extension-driver.js +6 -3
- package/dist/src/browser/providers/browser-ext-install.js +3 -2
- package/dist/src/browser/runtime/browser-runtime.d.ts +4 -1
- package/dist/src/browser/runtime/browser-runtime.js +29 -17
- package/dist/src/browser/setup/repository.d.ts +5 -0
- package/dist/src/browser/setup/repository.js +42 -0
- package/dist/src/browser/setup/service.d.ts +152 -0
- package/dist/src/browser/setup/service.js +404 -0
- package/dist/src/browser/setup/types.d.ts +38 -0
- package/dist/src/browser/setup/types.js +1 -0
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/extension-marketplace.js +3 -3
- package/dist/src/cli/commands/extension-pack.js +1 -1
- package/dist/src/cli/commands/extension.js +2 -2
- package/dist/src/config/schema.d.ts +2 -0
- package/dist/src/extensions/install.js +1 -1
- package/dist/src/extensions/update.js +1 -1
- package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
- package/dist/src/gateway/hono/routes/browser-setup.d.ts +3 -0
- package/dist/src/gateway/hono/routes/browser-setup.js +114 -0
- package/dist/src/gateway/hono/routes/browser.d.ts +2 -1
- package/dist/src/gateway/hono/routes/browser.js +1 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
- package/dist/src/gateway/hono/routes/phone-dependencies.js +1 -1
- package/dist/src/gateway/hono/routes/phone-setup.d.ts +7 -0
- package/dist/src/gateway/hono/routes/phone-setup.js +162 -0
- package/dist/src/gateway/hono/routes/phone.js +11 -7
- package/dist/src/gateway/hono/routes/public-gateway.js +2 -0
- package/dist/src/gateway/provider-model-setup.js +1 -1
- package/dist/src/gateway/service/config-coordinator.d.ts +2 -0
- package/dist/src/gateway/service/config-coordinator.js +1 -1
- package/dist/src/gateway/service/session-input-coordinator.js +1 -1
- package/dist/src/gateway/service.d.ts +5 -0
- package/dist/src/gateway/service.js +52 -7
- package/dist/src/gateway/xopc-cloud-capability-setup.js +7 -1
- package/dist/src/home-intelligence/host.js +2 -2
- package/dist/src/infra/unhandled-rejections.js +2 -2
- package/dist/src/infra/update-runner.js +1 -1
- package/dist/src/personal-agent/prompts.js +1 -1
- package/dist/src/phone/adb-driver.d.ts +8 -2
- package/dist/src/phone/adb-driver.js +124 -54
- package/dist/src/phone/cloud-adb.js +8 -0
- package/dist/src/phone/cloud-scrcpy.d.ts +3 -1
- package/dist/src/phone/cloud-scrcpy.js +17 -3
- package/dist/src/phone/contracts.d.ts +85 -0
- package/dist/src/phone/contracts.js +31 -5
- package/dist/src/phone/model-adapter.d.ts +141 -2
- package/dist/src/phone/model-adapter.js +176 -24
- package/dist/src/phone/numeric-entry.d.ts +31 -0
- package/dist/src/phone/numeric-entry.js +126 -0
- package/dist/src/phone/planning.d.ts +27 -0
- package/dist/src/phone/planning.js +79 -0
- package/dist/src/phone/recovery.d.ts +37 -0
- package/dist/src/phone/recovery.js +81 -0
- package/dist/src/phone/reliability.d.ts +7 -0
- package/dist/src/phone/reliability.js +66 -0
- package/dist/src/phone/repository.d.ts +1 -0
- package/dist/src/phone/repository.js +3 -0
- package/dist/src/phone/runtime.d.ts +8 -0
- package/dist/src/phone/runtime.js +387 -41
- package/dist/src/phone/scrcpy-text.d.ts +11 -0
- package/dist/src/phone/scrcpy-text.js +72 -0
- package/dist/src/phone/scrcpy.d.ts +5 -1
- package/dist/src/phone/scrcpy.js +48 -3
- package/dist/src/phone/semantic-controls.d.ts +13 -0
- package/dist/src/phone/semantic-controls.js +76 -0
- package/dist/src/phone/setup/service.d.ts +148 -0
- package/dist/src/phone/setup/service.js +251 -0
- package/dist/src/providers/presentation.js +2 -2
- package/dist/src/providers/xopc-cloud-model-source.js +6 -2
- package/dist/src/realtime/runtime.js +1 -1
- package/dist/src/storage/sqlite/connection.js +2 -2
- package/dist/src/storage/sqlite/offline-access.js +13 -7
- package/dist/src/storage/sqlite/schema-errors.d.ts +12 -0
- package/dist/src/storage/sqlite/schema-errors.js +21 -3
- package/dist/src/storage/sqlite/schema-upgrade.d.ts +4 -0
- package/dist/src/storage/sqlite/schema-upgrade.js +78 -0
- package/dist/src/storage/sqlite/schema.d.ts +4 -3
- package/dist/src/storage/sqlite/schema.js +14 -8
- package/dist/src/storage/sqlite/schema.sql +10 -0
- package/dist/src/storage/sqlite/upgrades/203_remove_retired_proactive_contracts.sql +70 -0
- package/dist/src/storage/sqlite/upgrades/204_home_intelligence.sql +78 -0
- package/dist/src/storage/sqlite/upgrades/205_agent_catalog.sql +66 -0
- package/dist/src/storage/sqlite/upgrades/206_home_advice_strategy_version.sql +2 -0
- package/dist/src/storage/sqlite/upgrades/207_user_model_policy_contract.sql +121 -0
- package/dist/src/storage/sqlite/upgrades/208_automation_management.sql +2 -0
- package/dist/src/storage/sqlite/upgrades/209_automation_event_hub.sql +48 -0
- package/dist/src/storage/sqlite/upgrades/210_remove_legacy_automation_timeout.sql +14 -0
- package/dist/src/storage/sqlite/upgrades/211_automation_result_deliveries.sql +16 -0
- package/dist/src/storage/sqlite/upgrades/212_automation_delivery_policy.sql +30 -0
- package/dist/src/storage/sqlite/upgrades/213_automation_reliability_contract.sql +188 -0
- package/dist/src/storage/sqlite/upgrades/214_ai_usage_ledger.sql +41 -0
- package/dist/src/storage/sqlite/upgrades/215_scene_execution_adapters.sql +6 -0
- package/dist/src/storage/sqlite/upgrades/216_remove_scene_model_usage.sql +1 -0
- package/dist/src/storage/sqlite/upgrades/217_remove_legacy_memory_tables.sql +4 -0
- package/dist/src/storage/sqlite/upgrades/218_core_relation_indexes.sql +26 -0
- package/dist/src/storage/sqlite/upgrades/219_json_contracts.sql +123 -0
- package/dist/src/storage/sqlite/upgrades/220_normalize_timestamps.sql +339 -0
- package/dist/src/storage/sqlite/upgrades/221_ai_usage_retention_index.sql +2 -0
- package/dist/src/storage/sqlite/upgrades/222_session_config_authority.sql +13 -0
- package/dist/src/storage/sqlite/upgrades/223_session_creation_receipts.sql +59 -0
- package/dist/src/storage/sqlite/upgrades/224_task_origin_links.sql +8 -0
- package/dist/src/storage/sqlite/upgrades/225_task_collaboration.sql +32 -0
- package/dist/src/storage/sqlite/upgrades/226_task_main_updates.sql +9 -0
- package/dist/src/storage/sqlite/upgrades/227_task_main_update_decisions.sql +8 -0
- package/dist/src/storage/sqlite/upgrades/228_task_main_agent_links.sql +14 -0
- package/dist/src/storage/sqlite/upgrades/229_task_criterion_reviews.sql +12 -0
- package/dist/src/storage/sqlite/upgrades/230_personal_agent_onboarding.sql +8 -0
- package/dist/src/storage/sqlite/upgrades/231_task_result_deliveries.sql +32 -0
- package/dist/src/storage/sqlite/upgrades/232_personal_requests.sql +28 -0
- package/dist/src/storage/sqlite/upgrades/233_observability_usage_links.sql +3 -0
- package/dist/src/storage/sqlite/upgrades/234_task_result_reply.sql +14 -0
- package/dist/src/storage/sqlite/upgrades/235_personal_conversation_priority.sql +3 -0
- package/dist/src/storage/sqlite/upgrades/236_personal_proactivity.sql +53 -0
- package/dist/src/storage/sqlite/upgrades/237_personal_strategy_versions.sql +18 -0
- package/dist/src/storage/sqlite/upgrades/238_browser_record_replay.sql +45 -0
- package/dist/src/storage/sqlite/upgrades/239_clarification_notifications.sql +26 -0
- package/dist/src/storage/sqlite/upgrades/240_device_settings.sql +5 -0
- package/dist/src/storage/sqlite/upgrades/241_device_grant_audit.sql +13 -0
- package/dist/src/storage/sqlite/upgrades/242_cloud_usage_receipts.sql +5 -0
- package/dist/src/storage/sqlite/upgrades/243_voice_opening_greetings.sql +12 -0
- package/dist/src/storage/sqlite/upgrades/244_device_request_proofs.sql +8 -0
- package/dist/src/storage/sqlite/upgrades/245_memory_learning.sql +125 -0
- package/dist/src/storage/sqlite/upgrades/246_personal_session_thinking.sql +22 -0
- package/dist/src/storage/sqlite/upgrades/247_agent_selection_records.sql +32 -0
- package/dist/src/storage/sqlite/upgrades/248_next_turn_suggestions.sql +20 -0
- package/dist/src/storage/sqlite/upgrades/249_task_allocations.sql +17 -0
- package/dist/src/storage/sqlite/upgrades/250_research_checkpoints.sql +15 -0
- package/dist/src/storage/sqlite/upgrades/251_personal_result_reads.sql +40 -0
- package/dist/src/storage/sqlite/upgrades/252_task_work_revisions.sql +15 -0
- package/dist/src/storage/sqlite/upgrades/253_discussion_processing_recovery.sql +20 -0
- package/dist/src/storage/sqlite/upgrades/254_discussion_annotations.sql +17 -0
- package/dist/src/storage/sqlite/upgrades/255_discussion_chapter_progress.sql +10 -0
- package/dist/src/storage/sqlite/upgrades/256_task_main_update_retries.sql +21 -0
- package/dist/src/storage/sqlite/upgrades/257_session_composer_history.sql +11 -0
- package/dist/src/storage/sqlite/upgrades/258_task_phase_changes.sql +20 -0
- package/dist/src/storage/sqlite/upgrades/259_personal_default_style.sql +10 -0
- package/dist/src/storage/sqlite/upgrades/260_browser_setup.sql +9 -0
- package/dist/src/storage/sqlite/windows-database-owners.js +33 -28
- package/dist/src/tasks/capabilities/relations.d.ts +2 -2
- package/dist/src/tui/clipboard-image.js +1 -1
- package/dist/src/tui/tui.js +1 -1
- package/dist/src/utils/index.js +1 -1
- package/dist/src/utils/logger/index.js +1 -1
- package/dist/src/utils/logger.js +1 -1
- package/dist/src/work-discovery/probe.js +1 -1
- package/package.json +3 -3
- package/skills/tools/configure-xopc/SKILL.md +47 -0
- package/skills/tools/configure-xopc/references/browser/acceptance.md +31 -0
- package/skills/tools/configure-xopc/references/browser/chrome-extension.md +19 -0
- package/skills/tools/configure-xopc/references/browser/overview.md +22 -0
- package/skills/tools/configure-xopc/references/browser/permissions.md +25 -0
- package/skills/tools/configure-xopc/references/browser/troubleshooting.md +24 -0
- package/skills/tools/configure-xopc/references/phone/acceptance.md +25 -0
- package/skills/tools/configure-xopc/references/phone/aliyun.md +29 -0
- package/skills/tools/configure-xopc/references/phone/dependencies.md +18 -0
- package/skills/tools/configure-xopc/references/phone/local.md +19 -0
- package/skills/tools/configure-xopc/references/phone/models.md +18 -0
- package/skills/tools/configure-xopc/references/phone/overview.md +30 -0
- package/skills/tools/configure-xopc/references/phone/troubleshooting.md +24 -0
- package/skills/tools/configure-xopc/references/scene-index.md +12 -0
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-mf0jgEPE.js +0 -1
- package/dist/gateway/static/root/assets/agents-CKhZ4UYQ.js +0 -77
- package/dist/gateway/static/root/assets/apps-page-BZ_MaQJf.js +0 -1
- package/dist/gateway/static/root/assets/automations-workspace-CHUDHNVL.js +0 -8
- package/dist/gateway/static/root/assets/browser-automations-page-DStDm9y1.js +0 -3
- package/dist/gateway/static/root/assets/browser-settings-page-6I4oetKt.js +0 -3
- package/dist/gateway/static/root/assets/capabilities-page-C-EecWbS.js +0 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-BQoCPk3x.js +0 -8
- package/dist/gateway/static/root/assets/channels-BKf_-Mdt.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-CUBg8spT.js +0 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-PmP_vGem.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-DMAzNlm-.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-CoIgC1Al.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-DnrQ28E2.js +0 -1
- package/dist/gateway/static/root/assets/highlight-code-AMjU04kR.js +0 -1
- package/dist/gateway/static/root/assets/home-page-pTwVME-g.js +0 -2
- package/dist/gateway/static/root/assets/index-BLL0wKRZ.css +0 -1
- package/dist/gateway/static/root/assets/index-ygkHNYyo.js +0 -710
- package/dist/gateway/static/root/assets/local-app-workbench-page-Cwl6EvuX.js +0 -1
- package/dist/gateway/static/root/assets/logs-page-CS3hcTOq.js +0 -2
- package/dist/gateway/static/root/assets/management-settings-DC-Y_-GP.js +0 -1
- package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-vckgHpON.js +0 -1
- package/dist/gateway/static/root/assets/note-detail-panel-C7u4dxEk.js +0 -5
- package/dist/gateway/static/root/assets/note-image-lightbox-jvqYtySx.js +0 -1
- package/dist/gateway/static/root/assets/notes-page-Bs7F5Hpf.js +0 -8
- package/dist/gateway/static/root/assets/page-context-capture-button-DO_yhXS1.js +0 -1
- package/dist/gateway/static/root/assets/personal-page-BexL2-PQ.js +0 -1
- package/dist/gateway/static/root/assets/personal-settings-panel-BKA4fbYH.js +0 -1
- package/dist/gateway/static/root/assets/phone-dependencies-card-ChFtdFhA.js +0 -1
- package/dist/gateway/static/root/assets/phone-model-picker-CZoIAQ1j.js +0 -1
- package/dist/gateway/static/root/assets/phone-settings-page-DRyK0nHH.js +0 -1
- package/dist/gateway/static/root/assets/plugin-details-dialog-B-N61jJH.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-DtKmFBml.js +0 -7
- package/dist/gateway/static/root/assets/projects-page-CFZIz9mc.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-CWEc7W0m.js +0 -1
- package/dist/gateway/static/root/assets/runtime-tools-settings-panel-q_oswAdV.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-BuPqNxpd.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-QTVDCGJG.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-header-CYpuTXUW.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-ZmlE8jIE.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-CtNxWqW-.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-Egaf8PqZ.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-C6FKxf4J.js +0 -2
- package/dist/gateway/static/root/assets/system-settings-panel-Baxkhov7.js +0 -1
- package/dist/gateway/static/root/assets/task-detail-page-C77-rpkt.js +0 -2
- package/dist/gateway/static/root/assets/usage-page-BFeIbpbi.js +0 -1
- package/dist/gateway/static/root/assets/user-model-page-u8zY5jea.js +0 -2
- package/dist/gateway/static/root/assets/xopc-cloud-account-card-CJ_akAvc.js +0 -1
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
CREATE TABLE sessions_next (
|
|
2
|
+
conversation_id TEXT PRIMARY KEY,
|
|
3
|
+
agent_id TEXT NOT NULL,
|
|
4
|
+
active_transcript_id TEXT NOT NULL UNIQUE,
|
|
5
|
+
status TEXT NOT NULL DEFAULT 'active',
|
|
6
|
+
name TEXT,
|
|
7
|
+
tags_json TEXT NOT NULL DEFAULT '[]',
|
|
8
|
+
created_at INTEGER NOT NULL,
|
|
9
|
+
updated_at INTEGER NOT NULL,
|
|
10
|
+
last_accessed_at INTEGER NOT NULL,
|
|
11
|
+
session_started_at INTEGER,
|
|
12
|
+
last_interaction_at INTEGER,
|
|
13
|
+
source_channel TEXT NOT NULL DEFAULT '',
|
|
14
|
+
source_chat_id TEXT NOT NULL DEFAULT '',
|
|
15
|
+
session_type TEXT,
|
|
16
|
+
hidden_from_session_list INTEGER NOT NULL DEFAULT 0,
|
|
17
|
+
parent_conversation_id TEXT,
|
|
18
|
+
workflow_run_id TEXT,
|
|
19
|
+
workflow_definition_id TEXT,
|
|
20
|
+
workflow_agent_id TEXT,
|
|
21
|
+
workflow_agent_label TEXT,
|
|
22
|
+
routing_json TEXT,
|
|
23
|
+
custom_data_json TEXT,
|
|
24
|
+
message_count INTEGER NOT NULL DEFAULT 0,
|
|
25
|
+
estimated_tokens INTEGER NOT NULL DEFAULT 0,
|
|
26
|
+
compacted_count INTEGER NOT NULL DEFAULT 0,
|
|
27
|
+
last_flushed_at INTEGER,
|
|
28
|
+
flush_count INTEGER NOT NULL DEFAULT 0,
|
|
29
|
+
thinking_level TEXT,
|
|
30
|
+
verbose_level TEXT,
|
|
31
|
+
project_id TEXT
|
|
32
|
+
);
|
|
33
|
+
INSERT INTO sessions_next SELECT
|
|
34
|
+
conversation_id, agent_id, active_transcript_id, status, name, tags_json, created_at,
|
|
35
|
+
updated_at, last_accessed_at, session_started_at, last_interaction_at, source_channel,
|
|
36
|
+
source_chat_id, session_type, hidden_from_session_list, parent_conversation_id,
|
|
37
|
+
workflow_run_id, workflow_definition_id, workflow_agent_id, workflow_agent_label,
|
|
38
|
+
routing_json, custom_data_json, message_count, estimated_tokens, compacted_count,
|
|
39
|
+
CASE WHEN last_flushed_at IS NULL THEN NULL
|
|
40
|
+
WHEN typeof(last_flushed_at) IN ('integer', 'real') THEN CAST(last_flushed_at AS INTEGER)
|
|
41
|
+
ELSE CAST(ROUND((julianday(last_flushed_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
42
|
+
flush_count, thinking_level, verbose_level, project_id
|
|
43
|
+
FROM sessions;
|
|
44
|
+
DROP TABLE sessions;
|
|
45
|
+
ALTER TABLE sessions_next RENAME TO sessions;
|
|
46
|
+
CREATE INDEX idx_sessions_agent_updated ON sessions(agent_id, updated_at DESC);
|
|
47
|
+
CREATE INDEX idx_sessions_last_interaction ON sessions(last_interaction_at DESC);
|
|
48
|
+
CREATE INDEX idx_sessions_parent ON sessions(parent_conversation_id);
|
|
49
|
+
CREATE INDEX idx_sessions_project ON sessions(project_id, updated_at DESC);
|
|
50
|
+
CREATE INDEX idx_sessions_source_channel ON sessions(source_channel);
|
|
51
|
+
CREATE INDEX idx_sessions_status ON sessions(status);
|
|
52
|
+
CREATE INDEX idx_sessions_type ON sessions(session_type);
|
|
53
|
+
CREATE INDEX idx_sessions_workflow_run ON sessions(workflow_run_id);
|
|
54
|
+
|
|
55
|
+
CREATE TABLE connector_catalog_entries_next (
|
|
56
|
+
connector_id TEXT PRIMARY KEY,
|
|
57
|
+
provider TEXT NOT NULL,
|
|
58
|
+
definition_json TEXT NOT NULL,
|
|
59
|
+
fetched_at INTEGER NOT NULL,
|
|
60
|
+
expires_at INTEGER
|
|
61
|
+
);
|
|
62
|
+
INSERT INTO connector_catalog_entries_next SELECT
|
|
63
|
+
connector_id, provider, definition_json,
|
|
64
|
+
CASE WHEN typeof(fetched_at) IN ('integer', 'real') THEN CAST(fetched_at AS INTEGER)
|
|
65
|
+
ELSE CAST(ROUND((julianday(fetched_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
66
|
+
CASE WHEN expires_at IS NULL THEN NULL
|
|
67
|
+
WHEN typeof(expires_at) IN ('integer', 'real') THEN CAST(expires_at AS INTEGER)
|
|
68
|
+
ELSE CAST(ROUND((julianday(expires_at) - 2440587.5) * 86400000) AS INTEGER) END
|
|
69
|
+
FROM connector_catalog_entries;
|
|
70
|
+
DROP TABLE connector_catalog_entries;
|
|
71
|
+
ALTER TABLE connector_catalog_entries_next RENAME TO connector_catalog_entries;
|
|
72
|
+
CREATE INDEX idx_connector_catalog_provider ON connector_catalog_entries(provider, fetched_at DESC);
|
|
73
|
+
|
|
74
|
+
CREATE TABLE connector_installations_next (
|
|
75
|
+
id TEXT PRIMARY KEY,
|
|
76
|
+
connector_id TEXT NOT NULL,
|
|
77
|
+
principal_id TEXT NOT NULL,
|
|
78
|
+
enabled INTEGER NOT NULL DEFAULT 1 CHECK(enabled IN (0, 1)),
|
|
79
|
+
allowed_agent_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
80
|
+
max_scope TEXT NOT NULL DEFAULT 'read' CHECK(max_scope IN ('read', 'write', 'admin')),
|
|
81
|
+
confirmation_policy TEXT NOT NULL DEFAULT 'writes'
|
|
82
|
+
CHECK(confirmation_policy IN ('always', 'writes', 'admin', 'never')),
|
|
83
|
+
selected_account_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
84
|
+
created_at INTEGER NOT NULL,
|
|
85
|
+
updated_at INTEGER NOT NULL,
|
|
86
|
+
UNIQUE(connector_id, principal_id)
|
|
87
|
+
);
|
|
88
|
+
INSERT INTO connector_installations_next SELECT
|
|
89
|
+
id, connector_id, principal_id, enabled, allowed_agent_ids_json, max_scope,
|
|
90
|
+
confirmation_policy, selected_account_ids_json,
|
|
91
|
+
CASE WHEN typeof(created_at) IN ('integer', 'real') THEN CAST(created_at AS INTEGER)
|
|
92
|
+
ELSE CAST(ROUND((julianday(created_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
93
|
+
CASE WHEN typeof(updated_at) IN ('integer', 'real') THEN CAST(updated_at AS INTEGER)
|
|
94
|
+
ELSE CAST(ROUND((julianday(updated_at) - 2440587.5) * 86400000) AS INTEGER) END
|
|
95
|
+
FROM connector_installations;
|
|
96
|
+
DROP TABLE connector_installations;
|
|
97
|
+
ALTER TABLE connector_installations_next RENAME TO connector_installations;
|
|
98
|
+
CREATE INDEX idx_connector_installations_principal
|
|
99
|
+
ON connector_installations(principal_id, enabled, connector_id);
|
|
100
|
+
|
|
101
|
+
CREATE TABLE connector_accounts_next (
|
|
102
|
+
id TEXT PRIMARY KEY,
|
|
103
|
+
connector_id TEXT NOT NULL,
|
|
104
|
+
principal_id TEXT NOT NULL,
|
|
105
|
+
identity_key TEXT,
|
|
106
|
+
identity_json TEXT NOT NULL DEFAULT '{}',
|
|
107
|
+
current_connection_id TEXT,
|
|
108
|
+
created_at INTEGER NOT NULL,
|
|
109
|
+
updated_at INTEGER NOT NULL,
|
|
110
|
+
label TEXT,
|
|
111
|
+
enabled INTEGER NOT NULL DEFAULT 1,
|
|
112
|
+
allowed_agent_ids_json TEXT,
|
|
113
|
+
backend_id TEXT,
|
|
114
|
+
runtime_instance_id TEXT
|
|
115
|
+
);
|
|
116
|
+
INSERT INTO connector_accounts_next SELECT
|
|
117
|
+
id, connector_id, principal_id, identity_key, identity_json, current_connection_id,
|
|
118
|
+
CASE WHEN typeof(created_at) IN ('integer', 'real') THEN CAST(created_at AS INTEGER)
|
|
119
|
+
ELSE CAST(ROUND((julianday(created_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
120
|
+
CASE WHEN typeof(updated_at) IN ('integer', 'real') THEN CAST(updated_at AS INTEGER)
|
|
121
|
+
ELSE CAST(ROUND((julianday(updated_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
122
|
+
label, enabled, allowed_agent_ids_json, backend_id, runtime_instance_id
|
|
123
|
+
FROM connector_accounts;
|
|
124
|
+
DROP TABLE connector_accounts;
|
|
125
|
+
ALTER TABLE connector_accounts_next RENAME TO connector_accounts;
|
|
126
|
+
CREATE UNIQUE INDEX idx_cli_account_identity
|
|
127
|
+
ON connector_accounts(principal_id, runtime_instance_id, identity_key)
|
|
128
|
+
WHERE runtime_instance_id IS NOT NULL AND identity_key IS NOT NULL;
|
|
129
|
+
CREATE UNIQUE INDEX idx_connector_accounts_identity
|
|
130
|
+
ON connector_accounts(principal_id, backend_id, connector_id, identity_key)
|
|
131
|
+
WHERE identity_key IS NOT NULL;
|
|
132
|
+
|
|
133
|
+
CREATE TABLE connector_connections_next (
|
|
134
|
+
id TEXT PRIMARY KEY,
|
|
135
|
+
installation_id TEXT REFERENCES connector_installations(id) ON DELETE SET NULL,
|
|
136
|
+
connector_id TEXT NOT NULL,
|
|
137
|
+
provider TEXT NOT NULL,
|
|
138
|
+
principal_id TEXT NOT NULL,
|
|
139
|
+
provider_connection_id TEXT NOT NULL,
|
|
140
|
+
alias TEXT,
|
|
141
|
+
identity_json TEXT NOT NULL DEFAULT '{}',
|
|
142
|
+
status TEXT NOT NULL DEFAULT 'unknown'
|
|
143
|
+
CHECK(status IN ('pending', 'active', 'expired', 'failed', 'revoked', 'disabled', 'unknown')),
|
|
144
|
+
is_default INTEGER NOT NULL DEFAULT 0 CHECK(is_default IN (0, 1)),
|
|
145
|
+
connected_at INTEGER,
|
|
146
|
+
expires_at INTEGER,
|
|
147
|
+
last_error TEXT,
|
|
148
|
+
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
149
|
+
created_at INTEGER NOT NULL,
|
|
150
|
+
updated_at INTEGER NOT NULL,
|
|
151
|
+
account_id TEXT REFERENCES connector_accounts(id) ON DELETE CASCADE
|
|
152
|
+
);
|
|
153
|
+
INSERT INTO connector_connections_next SELECT
|
|
154
|
+
id, installation_id, connector_id, provider, principal_id, provider_connection_id,
|
|
155
|
+
alias, identity_json, status, is_default,
|
|
156
|
+
CASE WHEN connected_at IS NULL THEN NULL
|
|
157
|
+
WHEN typeof(connected_at) IN ('integer', 'real') THEN CAST(connected_at AS INTEGER)
|
|
158
|
+
ELSE CAST(ROUND((julianday(connected_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
159
|
+
CASE WHEN expires_at IS NULL THEN NULL
|
|
160
|
+
WHEN typeof(expires_at) IN ('integer', 'real') THEN CAST(expires_at AS INTEGER)
|
|
161
|
+
ELSE CAST(ROUND((julianday(expires_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
162
|
+
last_error, metadata_json,
|
|
163
|
+
CASE WHEN typeof(created_at) IN ('integer', 'real') THEN CAST(created_at AS INTEGER)
|
|
164
|
+
ELSE CAST(ROUND((julianday(created_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
165
|
+
CASE WHEN typeof(updated_at) IN ('integer', 'real') THEN CAST(updated_at AS INTEGER)
|
|
166
|
+
ELSE CAST(ROUND((julianday(updated_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
167
|
+
account_id
|
|
168
|
+
FROM connector_connections;
|
|
169
|
+
DROP TABLE connector_connections;
|
|
170
|
+
ALTER TABLE connector_connections_next RENAME TO connector_connections;
|
|
171
|
+
CREATE INDEX idx_connector_connections_account ON connector_connections(account_id);
|
|
172
|
+
CREATE INDEX idx_connector_connections_principal
|
|
173
|
+
ON connector_connections(principal_id, connector_id, status);
|
|
174
|
+
CREATE UNIQUE INDEX idx_connector_connections_provider_backend
|
|
175
|
+
ON connector_connections(provider, COALESCE(json_extract(metadata_json, '$.backendId'), ''), provider_connection_id);
|
|
176
|
+
|
|
177
|
+
CREATE TABLE connector_action_metadata_next (
|
|
178
|
+
connector_id TEXT NOT NULL,
|
|
179
|
+
action_id TEXT NOT NULL,
|
|
180
|
+
toolkit TEXT,
|
|
181
|
+
scope TEXT NOT NULL DEFAULT 'write' CHECK(scope IN ('read', 'write', 'admin')),
|
|
182
|
+
curated INTEGER NOT NULL DEFAULT 0 CHECK(curated IN (0, 1)),
|
|
183
|
+
input_schema_json TEXT,
|
|
184
|
+
schema_version TEXT,
|
|
185
|
+
cached_at INTEGER NOT NULL,
|
|
186
|
+
PRIMARY KEY(connector_id, action_id)
|
|
187
|
+
);
|
|
188
|
+
INSERT INTO connector_action_metadata_next SELECT
|
|
189
|
+
connector_id, action_id, toolkit, scope, curated, input_schema_json, schema_version,
|
|
190
|
+
CASE WHEN typeof(cached_at) IN ('integer', 'real') THEN CAST(cached_at AS INTEGER)
|
|
191
|
+
ELSE CAST(ROUND((julianday(cached_at) - 2440587.5) * 86400000) AS INTEGER) END
|
|
192
|
+
FROM connector_action_metadata;
|
|
193
|
+
DROP TABLE connector_action_metadata;
|
|
194
|
+
ALTER TABLE connector_action_metadata_next RENAME TO connector_action_metadata;
|
|
195
|
+
CREATE INDEX idx_connector_action_scope
|
|
196
|
+
ON connector_action_metadata(connector_id, scope, curated);
|
|
197
|
+
|
|
198
|
+
CREATE TABLE connector_execution_audit_next (
|
|
199
|
+
id TEXT PRIMARY KEY,
|
|
200
|
+
installation_id TEXT REFERENCES connector_installations(id) ON DELETE SET NULL,
|
|
201
|
+
connection_id TEXT REFERENCES connector_connections(id) ON DELETE SET NULL,
|
|
202
|
+
connector_id TEXT NOT NULL,
|
|
203
|
+
principal_id TEXT NOT NULL,
|
|
204
|
+
agent_id TEXT,
|
|
205
|
+
conversation_id TEXT,
|
|
206
|
+
action_id TEXT NOT NULL,
|
|
207
|
+
scope TEXT NOT NULL CHECK(scope IN ('read', 'write', 'admin')),
|
|
208
|
+
decision TEXT NOT NULL CHECK(decision IN ('allowed', 'denied', 'confirmation_required')),
|
|
209
|
+
result_status TEXT NOT NULL CHECK(result_status IN ('success', 'error', 'not_executed')),
|
|
210
|
+
duration_ms INTEGER,
|
|
211
|
+
error_code TEXT,
|
|
212
|
+
created_at INTEGER NOT NULL
|
|
213
|
+
);
|
|
214
|
+
INSERT INTO connector_execution_audit_next SELECT
|
|
215
|
+
id, installation_id, connection_id, connector_id, principal_id, agent_id,
|
|
216
|
+
conversation_id, action_id, scope, decision, result_status, duration_ms, error_code,
|
|
217
|
+
CASE WHEN typeof(created_at) IN ('integer', 'real') THEN CAST(created_at AS INTEGER)
|
|
218
|
+
ELSE CAST(ROUND((julianday(created_at) - 2440587.5) * 86400000) AS INTEGER) END
|
|
219
|
+
FROM connector_execution_audit;
|
|
220
|
+
DROP TABLE connector_execution_audit;
|
|
221
|
+
ALTER TABLE connector_execution_audit_next RENAME TO connector_execution_audit;
|
|
222
|
+
CREATE INDEX idx_connector_audit_connector_time
|
|
223
|
+
ON connector_execution_audit(connector_id, created_at DESC);
|
|
224
|
+
CREATE INDEX idx_connector_audit_principal_time
|
|
225
|
+
ON connector_execution_audit(principal_id, created_at DESC);
|
|
226
|
+
CREATE INDEX idx_connector_execution_audit_connection
|
|
227
|
+
ON connector_execution_audit(connection_id);
|
|
228
|
+
CREATE INDEX idx_connector_execution_audit_installation
|
|
229
|
+
ON connector_execution_audit(installation_id);
|
|
230
|
+
|
|
231
|
+
CREATE TABLE connector_approvals_next (
|
|
232
|
+
id TEXT PRIMARY KEY,
|
|
233
|
+
principal_id TEXT NOT NULL,
|
|
234
|
+
connector_id TEXT NOT NULL,
|
|
235
|
+
connection_id TEXT REFERENCES connector_connections(id) ON DELETE SET NULL,
|
|
236
|
+
agent_id TEXT,
|
|
237
|
+
conversation_id TEXT,
|
|
238
|
+
action_id TEXT NOT NULL,
|
|
239
|
+
scope TEXT NOT NULL CHECK(scope IN ('read', 'write', 'admin')),
|
|
240
|
+
arguments_hash TEXT NOT NULL,
|
|
241
|
+
arguments_preview_json TEXT NOT NULL DEFAULT '{}',
|
|
242
|
+
status TEXT NOT NULL DEFAULT 'pending'
|
|
243
|
+
CHECK(status IN ('pending', 'approved', 'denied', 'expired', 'consumed')),
|
|
244
|
+
expires_at INTEGER NOT NULL,
|
|
245
|
+
created_at INTEGER NOT NULL,
|
|
246
|
+
decided_at INTEGER,
|
|
247
|
+
consumed_at INTEGER,
|
|
248
|
+
wait_id TEXT
|
|
249
|
+
);
|
|
250
|
+
INSERT INTO connector_approvals_next SELECT
|
|
251
|
+
id, principal_id, connector_id, connection_id, agent_id, conversation_id, action_id,
|
|
252
|
+
scope, arguments_hash, arguments_preview_json, status,
|
|
253
|
+
CASE WHEN typeof(expires_at) IN ('integer', 'real') THEN CAST(expires_at AS INTEGER)
|
|
254
|
+
ELSE CAST(ROUND((julianday(expires_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
255
|
+
CASE WHEN typeof(created_at) IN ('integer', 'real') THEN CAST(created_at AS INTEGER)
|
|
256
|
+
ELSE CAST(ROUND((julianday(created_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
257
|
+
CASE WHEN decided_at IS NULL THEN NULL
|
|
258
|
+
WHEN typeof(decided_at) IN ('integer', 'real') THEN CAST(decided_at AS INTEGER)
|
|
259
|
+
ELSE CAST(ROUND((julianday(decided_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
260
|
+
CASE WHEN consumed_at IS NULL THEN NULL
|
|
261
|
+
WHEN typeof(consumed_at) IN ('integer', 'real') THEN CAST(consumed_at AS INTEGER)
|
|
262
|
+
ELSE CAST(ROUND((julianday(consumed_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
263
|
+
wait_id
|
|
264
|
+
FROM connector_approvals;
|
|
265
|
+
DROP TABLE connector_approvals;
|
|
266
|
+
ALTER TABLE connector_approvals_next RENAME TO connector_approvals;
|
|
267
|
+
CREATE INDEX idx_connector_approvals_connection ON connector_approvals(connection_id);
|
|
268
|
+
CREATE INDEX idx_connector_approvals_pending
|
|
269
|
+
ON connector_approvals(principal_id, status, expires_at, created_at DESC);
|
|
270
|
+
CREATE INDEX idx_connector_approvals_session
|
|
271
|
+
ON connector_approvals(conversation_id, status, created_at DESC);
|
|
272
|
+
|
|
273
|
+
CREATE TABLE connector_webhook_deliveries_next (
|
|
274
|
+
id TEXT PRIMARY KEY,
|
|
275
|
+
provider TEXT NOT NULL,
|
|
276
|
+
payload_hash TEXT NOT NULL,
|
|
277
|
+
status TEXT NOT NULL DEFAULT 'processing'
|
|
278
|
+
CHECK(status IN ('pending', 'processing', 'processed')),
|
|
279
|
+
attempts INTEGER NOT NULL DEFAULT 1,
|
|
280
|
+
received_at INTEGER NOT NULL,
|
|
281
|
+
processing_at INTEGER,
|
|
282
|
+
processed_at INTEGER,
|
|
283
|
+
last_error TEXT
|
|
284
|
+
);
|
|
285
|
+
INSERT INTO connector_webhook_deliveries_next SELECT
|
|
286
|
+
id, provider, payload_hash, status, attempts,
|
|
287
|
+
CASE WHEN typeof(received_at) IN ('integer', 'real') THEN CAST(received_at AS INTEGER)
|
|
288
|
+
ELSE CAST(ROUND((julianday(received_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
289
|
+
CASE WHEN processing_at IS NULL THEN NULL
|
|
290
|
+
WHEN typeof(processing_at) IN ('integer', 'real') THEN CAST(processing_at AS INTEGER)
|
|
291
|
+
ELSE CAST(ROUND((julianday(processing_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
292
|
+
CASE WHEN processed_at IS NULL THEN NULL
|
|
293
|
+
WHEN typeof(processed_at) IN ('integer', 'real') THEN CAST(processed_at AS INTEGER)
|
|
294
|
+
ELSE CAST(ROUND((julianday(processed_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
295
|
+
last_error
|
|
296
|
+
FROM connector_webhook_deliveries;
|
|
297
|
+
DROP TABLE connector_webhook_deliveries;
|
|
298
|
+
ALTER TABLE connector_webhook_deliveries_next RENAME TO connector_webhook_deliveries;
|
|
299
|
+
CREATE INDEX idx_connector_webhook_deliveries_status
|
|
300
|
+
ON connector_webhook_deliveries(provider, status, received_at DESC);
|
|
301
|
+
|
|
302
|
+
CREATE TABLE user_trust_policies_next (
|
|
303
|
+
principal_id TEXT PRIMARY KEY,
|
|
304
|
+
default_action_level TEXT NOT NULL DEFAULT 'confirm'
|
|
305
|
+
CHECK(default_action_level IN ('observe', 'suggest', 'confirm', 'auto')),
|
|
306
|
+
updated_at INTEGER NOT NULL
|
|
307
|
+
);
|
|
308
|
+
INSERT INTO user_trust_policies_next SELECT
|
|
309
|
+
principal_id, default_action_level,
|
|
310
|
+
CASE WHEN typeof(updated_at) IN ('integer', 'real') THEN CAST(updated_at AS INTEGER)
|
|
311
|
+
ELSE CAST(ROUND((julianday(updated_at) - 2440587.5) * 86400000) AS INTEGER) END
|
|
312
|
+
FROM user_trust_policies;
|
|
313
|
+
DROP TABLE user_trust_policies;
|
|
314
|
+
ALTER TABLE user_trust_policies_next RENAME TO user_trust_policies;
|
|
315
|
+
|
|
316
|
+
CREATE TABLE connector_backends_next (
|
|
317
|
+
id TEXT PRIMARY KEY,
|
|
318
|
+
mode TEXT NOT NULL CHECK(mode IN ('managed', 'byok')),
|
|
319
|
+
label TEXT NOT NULL,
|
|
320
|
+
credential_ref TEXT,
|
|
321
|
+
credential_source TEXT NOT NULL DEFAULT 'stored'
|
|
322
|
+
CHECK(credential_source IN ('stored', 'environment')),
|
|
323
|
+
verified_at INTEGER,
|
|
324
|
+
active INTEGER NOT NULL DEFAULT 0,
|
|
325
|
+
created_at INTEGER NOT NULL
|
|
326
|
+
);
|
|
327
|
+
INSERT INTO connector_backends_next SELECT
|
|
328
|
+
id, mode, label, credential_ref, credential_source,
|
|
329
|
+
CASE WHEN verified_at IS NULL THEN NULL
|
|
330
|
+
WHEN typeof(verified_at) IN ('integer', 'real') THEN CAST(verified_at AS INTEGER)
|
|
331
|
+
ELSE CAST(ROUND((julianday(verified_at) - 2440587.5) * 86400000) AS INTEGER) END,
|
|
332
|
+
active,
|
|
333
|
+
CASE WHEN typeof(created_at) IN ('integer', 'real') THEN CAST(created_at AS INTEGER)
|
|
334
|
+
ELSE CAST(ROUND((julianday(created_at) - 2440587.5) * 86400000) AS INTEGER) END
|
|
335
|
+
FROM connector_backends;
|
|
336
|
+
DROP TABLE connector_backends;
|
|
337
|
+
ALTER TABLE connector_backends_next RENAME TO connector_backends;
|
|
338
|
+
CREATE UNIQUE INDEX idx_connector_backend_active
|
|
339
|
+
ON connector_backends(active) WHERE active = 1;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
INSERT INTO session_config (
|
|
2
|
+
conversation_id, thinking_level, verbose_level, updated_at
|
|
3
|
+
)
|
|
4
|
+
SELECT conversation_id, thinking_level, verbose_level, updated_at
|
|
5
|
+
FROM sessions
|
|
6
|
+
WHERE thinking_level IS NOT NULL OR verbose_level IS NOT NULL
|
|
7
|
+
ON CONFLICT(conversation_id) DO UPDATE SET
|
|
8
|
+
thinking_level = COALESCE(session_config.thinking_level, excluded.thinking_level),
|
|
9
|
+
verbose_level = COALESCE(session_config.verbose_level, excluded.verbose_level),
|
|
10
|
+
updated_at = MAX(session_config.updated_at, excluded.updated_at);
|
|
11
|
+
|
|
12
|
+
ALTER TABLE sessions DROP COLUMN thinking_level;
|
|
13
|
+
ALTER TABLE sessions DROP COLUMN verbose_level;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
UPDATE sessions SET custom_data_json=json_remove(custom_data_json, '$.genericNewChatShell')
|
|
2
|
+
WHERE json_type(custom_data_json, '$.genericNewChatShell') IS NOT NULL;
|
|
3
|
+
|
|
4
|
+
CREATE TABLE session_input_receipts (
|
|
5
|
+
conversation_id TEXT NOT NULL,
|
|
6
|
+
client_message_id TEXT NOT NULL,
|
|
7
|
+
principal_id TEXT NOT NULL,
|
|
8
|
+
request_hash TEXT NOT NULL,
|
|
9
|
+
input_id TEXT,
|
|
10
|
+
transcript_id TEXT NOT NULL,
|
|
11
|
+
accepted_at INTEGER NOT NULL,
|
|
12
|
+
PRIMARY KEY (conversation_id, client_message_id)
|
|
13
|
+
);
|
|
14
|
+
|
|
15
|
+
CREATE TABLE session_tombstones (
|
|
16
|
+
conversation_id TEXT PRIMARY KEY,
|
|
17
|
+
deleted_at INTEGER NOT NULL
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
CREATE TABLE session_preparation_retries (
|
|
21
|
+
conversation_id TEXT NOT NULL,
|
|
22
|
+
idempotency_key TEXT NOT NULL,
|
|
23
|
+
operation_id TEXT NOT NULL,
|
|
24
|
+
expected_revision INTEGER NOT NULL,
|
|
25
|
+
principal_id TEXT NOT NULL,
|
|
26
|
+
PRIMARY KEY (conversation_id, idempotency_key)
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
CREATE TABLE session_preparations (
|
|
30
|
+
conversation_id TEXT PRIMARY KEY REFERENCES sessions(conversation_id) ON DELETE CASCADE,
|
|
31
|
+
operation_id TEXT NOT NULL UNIQUE,
|
|
32
|
+
creation_json TEXT NOT NULL CHECK(json_valid(creation_json)),
|
|
33
|
+
state TEXT NOT NULL CHECK(state IN ('preparing', 'ready', 'preparation_failed')),
|
|
34
|
+
environment_id TEXT NOT NULL,
|
|
35
|
+
base_commit TEXT,
|
|
36
|
+
revision INTEGER NOT NULL DEFAULT 1,
|
|
37
|
+
lease_until INTEGER NOT NULL DEFAULT 0,
|
|
38
|
+
last_error TEXT,
|
|
39
|
+
created_at INTEGER NOT NULL,
|
|
40
|
+
updated_at INTEGER NOT NULL
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
CREATE TABLE session_preparation_cleanup (
|
|
44
|
+
environment_id TEXT PRIMARY KEY,
|
|
45
|
+
conversation_id TEXT NOT NULL,
|
|
46
|
+
not_before INTEGER NOT NULL,
|
|
47
|
+
last_error TEXT
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
CREATE TRIGGER session_creation_tombstone BEFORE DELETE ON sessions BEGIN
|
|
51
|
+
INSERT INTO session_tombstones(conversation_id, deleted_at)
|
|
52
|
+
VALUES (OLD.conversation_id, CAST(unixepoch('subsec') * 1000 AS INTEGER))
|
|
53
|
+
ON CONFLICT(conversation_id) DO NOTHING;
|
|
54
|
+
INSERT INTO session_preparation_cleanup(environment_id, conversation_id, not_before)
|
|
55
|
+
SELECT environment_id, conversation_id, max(lease_until, CAST(unixepoch('subsec') * 1000 AS INTEGER)) + 5000
|
|
56
|
+
FROM session_preparations WHERE conversation_id=OLD.conversation_id
|
|
57
|
+
AND json_extract(creation_json, '$.execution.mode')='managed_worktree'
|
|
58
|
+
ON CONFLICT(environment_id) DO NOTHING;
|
|
59
|
+
END;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS task_origin_links (
|
|
2
|
+
task_id TEXT PRIMARY KEY REFERENCES tasks(task_id) ON DELETE CASCADE,
|
|
3
|
+
conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
|
|
4
|
+
created_at INTEGER NOT NULL
|
|
5
|
+
);
|
|
6
|
+
|
|
7
|
+
CREATE INDEX IF NOT EXISTS idx_task_origin_links_conversation
|
|
8
|
+
ON task_origin_links(conversation_id, created_at DESC);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
CREATE TABLE task_collaboration_entries (
|
|
2
|
+
entry_id TEXT PRIMARY KEY,
|
|
3
|
+
task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,
|
|
4
|
+
task_run_id TEXT REFERENCES task_runs(run_id) ON DELETE SET NULL,
|
|
5
|
+
assignment_epoch INTEGER,
|
|
6
|
+
sequence INTEGER NOT NULL,
|
|
7
|
+
author_kind TEXT NOT NULL CHECK (author_kind IN ('main_agent', 'worker_agent', 'user', 'system')),
|
|
8
|
+
author_id TEXT NOT NULL,
|
|
9
|
+
kind TEXT NOT NULL CHECK (kind IN ('progress', 'question', 'answer', 'instruction', 'ack', 'result', 'failure')),
|
|
10
|
+
body TEXT NOT NULL CHECK (length(body) BETWEEN 1 AND 8000),
|
|
11
|
+
causation_id TEXT,
|
|
12
|
+
idempotency_key TEXT NOT NULL,
|
|
13
|
+
created_at INTEGER NOT NULL,
|
|
14
|
+
UNIQUE (task_id, sequence),
|
|
15
|
+
UNIQUE (task_id, idempotency_key)
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
CREATE INDEX idx_task_collaboration_task_sequence
|
|
19
|
+
ON task_collaboration_entries(task_id, sequence);
|
|
20
|
+
|
|
21
|
+
CREATE TABLE task_collaboration_deliveries (
|
|
22
|
+
entry_id TEXT PRIMARY KEY REFERENCES task_collaboration_entries(entry_id) ON DELETE CASCADE,
|
|
23
|
+
status TEXT NOT NULL CHECK (status IN ('pending', 'delivered', 'confirmed', 'stale')),
|
|
24
|
+
conversation_id TEXT,
|
|
25
|
+
assignment_epoch INTEGER,
|
|
26
|
+
client_message_id TEXT NOT NULL UNIQUE,
|
|
27
|
+
attempts INTEGER NOT NULL DEFAULT 0,
|
|
28
|
+
updated_at INTEGER NOT NULL
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
CREATE INDEX idx_task_collaboration_deliveries_pending
|
|
32
|
+
ON task_collaboration_deliveries(status, updated_at);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
CREATE TABLE task_main_update_deliveries (
|
|
2
|
+
entry_id TEXT PRIMARY KEY REFERENCES task_collaboration_entries(entry_id) ON DELETE CASCADE,
|
|
3
|
+
conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
|
|
4
|
+
status TEXT NOT NULL CHECK (status IN ('pending', 'delivered')),
|
|
5
|
+
updated_at INTEGER NOT NULL
|
|
6
|
+
);
|
|
7
|
+
|
|
8
|
+
CREATE INDEX idx_task_main_update_deliveries_pending
|
|
9
|
+
ON task_main_update_deliveries(status, updated_at);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
CREATE TABLE task_main_agent_links (
|
|
2
|
+
task_id TEXT PRIMARY KEY REFERENCES tasks(task_id) ON DELETE CASCADE,
|
|
3
|
+
agent_id TEXT NOT NULL,
|
|
4
|
+
origin_conversation_id TEXT,
|
|
5
|
+
created_at INTEGER NOT NULL
|
|
6
|
+
);
|
|
7
|
+
|
|
8
|
+
CREATE INDEX idx_task_main_agent_links_agent_created
|
|
9
|
+
ON task_main_agent_links(agent_id, created_at DESC);
|
|
10
|
+
|
|
11
|
+
INSERT INTO task_main_agent_links (task_id, agent_id, origin_conversation_id, created_at)
|
|
12
|
+
SELECT origin.task_id, session.agent_id, origin.conversation_id, origin.created_at
|
|
13
|
+
FROM task_origin_links origin
|
|
14
|
+
JOIN sessions session ON session.conversation_id = origin.conversation_id;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS task_criterion_reviews (
|
|
2
|
+
task_id TEXT NOT NULL,
|
|
3
|
+
contract_version INTEGER NOT NULL,
|
|
4
|
+
criterion_index INTEGER NOT NULL,
|
|
5
|
+
criterion_text TEXT NOT NULL,
|
|
6
|
+
status TEXT NOT NULL CHECK (status IN ('passed', 'failed')),
|
|
7
|
+
note TEXT,
|
|
8
|
+
reviewed_by_json TEXT NOT NULL,
|
|
9
|
+
reviewed_at INTEGER NOT NULL,
|
|
10
|
+
PRIMARY KEY (task_id, contract_version, criterion_index),
|
|
11
|
+
FOREIGN KEY (task_id, contract_version) REFERENCES task_contracts(task_id, version) ON DELETE CASCADE
|
|
12
|
+
);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
ALTER TABLE task_origin_links ADD COLUMN origin_transcript_id TEXT;
|
|
2
|
+
ALTER TABLE task_origin_links ADD COLUMN request_input_id TEXT;
|
|
3
|
+
UPDATE task_origin_links SET origin_transcript_id = (
|
|
4
|
+
SELECT active_transcript_id FROM sessions WHERE sessions.conversation_id = task_origin_links.conversation_id
|
|
5
|
+
);
|
|
6
|
+
|
|
7
|
+
CREATE TABLE task_run_outcomes (
|
|
8
|
+
task_run_id TEXT NOT NULL REFERENCES task_runs(run_id) ON DELETE CASCADE,
|
|
9
|
+
outcome_id TEXT NOT NULL,
|
|
10
|
+
assignment_epoch INTEGER NOT NULL,
|
|
11
|
+
outcome_json TEXT NOT NULL,
|
|
12
|
+
created_at INTEGER NOT NULL,
|
|
13
|
+
PRIMARY KEY(task_run_id, outcome_id)
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
CREATE TABLE task_result_deliveries (
|
|
17
|
+
delivery_id TEXT PRIMARY KEY,
|
|
18
|
+
task_run_id TEXT NOT NULL REFERENCES task_runs(run_id) ON DELETE CASCADE,
|
|
19
|
+
conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
|
|
20
|
+
payload_json TEXT NOT NULL,
|
|
21
|
+
status TEXT NOT NULL CHECK(status IN ('pending', 'delivered', 'stale', 'failed')),
|
|
22
|
+
message_entry_id TEXT,
|
|
23
|
+
attempts INTEGER NOT NULL DEFAULT 0,
|
|
24
|
+
next_attempt_at INTEGER NOT NULL,
|
|
25
|
+
last_error TEXT,
|
|
26
|
+
created_at INTEGER NOT NULL,
|
|
27
|
+
delivered_at INTEGER,
|
|
28
|
+
notified_at INTEGER,
|
|
29
|
+
UNIQUE(task_run_id, conversation_id)
|
|
30
|
+
);
|
|
31
|
+
CREATE INDEX idx_task_result_deliveries_pending
|
|
32
|
+
ON task_result_deliveries(status, next_attempt_at);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
CREATE TABLE personal_requests (
|
|
2
|
+
request_id TEXT PRIMARY KEY,
|
|
3
|
+
conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
|
|
4
|
+
transcript_id TEXT NOT NULL,
|
|
5
|
+
input_id TEXT NOT NULL,
|
|
6
|
+
idempotency_key TEXT NOT NULL,
|
|
7
|
+
request_hash TEXT NOT NULL,
|
|
8
|
+
objective TEXT NOT NULL,
|
|
9
|
+
connector_id TEXT NOT NULL,
|
|
10
|
+
executor_agent_id TEXT NOT NULL,
|
|
11
|
+
account_id TEXT,
|
|
12
|
+
parameters_json TEXT NOT NULL,
|
|
13
|
+
state TEXT NOT NULL CHECK(state IN ('preflighting','waiting_connection','queued','running','completed','failed','cancelled')),
|
|
14
|
+
connection_wait_id TEXT UNIQUE,
|
|
15
|
+
task_id TEXT UNIQUE REFERENCES tasks(task_id) ON DELETE SET NULL,
|
|
16
|
+
result_json TEXT,
|
|
17
|
+
result_run_id TEXT,
|
|
18
|
+
delivery_entry_id TEXT,
|
|
19
|
+
notified_at INTEGER,
|
|
20
|
+
delivery_attempts INTEGER NOT NULL DEFAULT 0,
|
|
21
|
+
delivery_next_attempt_at INTEGER NOT NULL DEFAULT 0,
|
|
22
|
+
delivery_error TEXT,
|
|
23
|
+
version INTEGER NOT NULL DEFAULT 1,
|
|
24
|
+
created_at INTEGER NOT NULL,
|
|
25
|
+
updated_at INTEGER NOT NULL,
|
|
26
|
+
UNIQUE(conversation_id, transcript_id, idempotency_key)
|
|
27
|
+
);
|
|
28
|
+
CREATE INDEX idx_personal_requests_conversation ON personal_requests(conversation_id, created_at);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
-- Keep artifact delivery and final prose in one durable outbox with independent progress.
|
|
2
|
+
ALTER TABLE task_result_deliveries ADD COLUMN reply_payload_json TEXT;
|
|
3
|
+
ALTER TABLE task_result_deliveries ADD COLUMN reply_status TEXT CHECK(reply_status IN ('pending','generating','ready','delivered','stale'));
|
|
4
|
+
ALTER TABLE task_result_deliveries ADD COLUMN reply_lease_token TEXT;
|
|
5
|
+
ALTER TABLE task_result_deliveries ADD COLUMN reply_lease_until INTEGER NOT NULL DEFAULT 0;
|
|
6
|
+
ALTER TABLE task_result_deliveries ADD COLUMN reply_text TEXT;
|
|
7
|
+
ALTER TABLE task_result_deliveries ADD COLUMN reply_draft_transcript_id TEXT;
|
|
8
|
+
ALTER TABLE task_result_deliveries ADD COLUMN reply_message_entry_id TEXT;
|
|
9
|
+
ALTER TABLE task_result_deliveries ADD COLUMN reply_notified_at INTEGER;
|
|
10
|
+
ALTER TABLE task_result_deliveries ADD COLUMN reply_attempts INTEGER NOT NULL DEFAULT 0;
|
|
11
|
+
ALTER TABLE task_result_deliveries ADD COLUMN reply_next_attempt_at INTEGER NOT NULL DEFAULT 0;
|
|
12
|
+
ALTER TABLE task_result_deliveries ADD COLUMN reply_last_error TEXT;
|
|
13
|
+
|
|
14
|
+
CREATE INDEX idx_task_result_reply_pending ON task_result_deliveries(reply_status, reply_next_attempt_at, reply_lease_until);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
-- Conversation priority is independent of Task cancellation and artifact delivery.
|
|
2
|
+
ALTER TABLE session_inputs ADD COLUMN interrupt_requested INTEGER NOT NULL DEFAULT 0 CHECK(interrupt_requested IN (0, 1));
|
|
3
|
+
ALTER TABLE task_result_deliveries ADD COLUMN reply_context_revision INTEGER;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
CREATE TABLE personal_attention_threads (
|
|
2
|
+
id TEXT PRIMARY KEY, owner_id TEXT NOT NULL, agent_id TEXT NOT NULL,
|
|
3
|
+
conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
|
|
4
|
+
subject TEXT NOT NULL, summary TEXT NOT NULL, kind TEXT NOT NULL CHECK(kind IN ('outcome','discussion','interest')),
|
|
5
|
+
status TEXT NOT NULL CHECK(status IN ('candidate','active','paused','completed','expired')),
|
|
6
|
+
authority TEXT NOT NULL CHECK(authority IN ('user_explicit','inferred')),
|
|
7
|
+
task_id TEXT, project_id TEXT, next_check_at INTEGER, pause_until INTEGER, expires_at INTEGER NOT NULL,
|
|
8
|
+
last_meaningful_at INTEGER NOT NULL, revision INTEGER NOT NULL DEFAULT 1,
|
|
9
|
+
created_at INTEGER NOT NULL, updated_at INTEGER NOT NULL
|
|
10
|
+
);
|
|
11
|
+
CREATE INDEX personal_attention_due ON personal_attention_threads(status, next_check_at);
|
|
12
|
+
CREATE TABLE personal_attention_sources (
|
|
13
|
+
thread_id TEXT NOT NULL REFERENCES personal_attention_threads(id) ON DELETE CASCADE,
|
|
14
|
+
evidence_id TEXT REFERENCES context_evidence(evidence_id) ON DELETE CASCADE,
|
|
15
|
+
entry_id TEXT NOT NULL REFERENCES transcript_entries(entry_id) ON DELETE CASCADE,
|
|
16
|
+
transcript_id TEXT NOT NULL, conversation_id TEXT NOT NULL,
|
|
17
|
+
PRIMARY KEY(thread_id, entry_id)
|
|
18
|
+
);
|
|
19
|
+
CREATE TABLE personal_wakeups (
|
|
20
|
+
id TEXT PRIMARY KEY, thread_id TEXT NOT NULL REFERENCES personal_attention_threads(id) ON DELETE CASCADE,
|
|
21
|
+
dedupe_key TEXT NOT NULL UNIQUE, trigger_kind TEXT NOT NULL, source_event_id TEXT,
|
|
22
|
+
thread_revision INTEGER NOT NULL, not_before INTEGER NOT NULL, expires_at INTEGER NOT NULL,
|
|
23
|
+
status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending','evaluating','done','cancelled','dead_letter')),
|
|
24
|
+
lease_token TEXT, lease_until INTEGER NOT NULL DEFAULT 0, attempts INTEGER NOT NULL DEFAULT 0,
|
|
25
|
+
next_attempt_at INTEGER NOT NULL DEFAULT 0, last_error TEXT, created_at INTEGER NOT NULL
|
|
26
|
+
);
|
|
27
|
+
CREATE INDEX personal_wakeups_due ON personal_wakeups(status, next_attempt_at, not_before);
|
|
28
|
+
CREATE TABLE personal_outreach (
|
|
29
|
+
id TEXT PRIMARY KEY, wakeup_id TEXT NOT NULL UNIQUE REFERENCES personal_wakeups(id) ON DELETE CASCADE,
|
|
30
|
+
thread_id TEXT NOT NULL REFERENCES personal_attention_threads(id) ON DELETE CASCADE,
|
|
31
|
+
conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
|
|
32
|
+
origin_transcript_id TEXT NOT NULL, thread_revision INTEGER NOT NULL, context_revision INTEGER NOT NULL,
|
|
33
|
+
policy_revision INTEGER NOT NULL, decision TEXT NOT NULL, reason TEXT NOT NULL,
|
|
34
|
+
state TEXT NOT NULL CHECK(state IN ('decided','ready','published','stale','cancelled')),
|
|
35
|
+
text TEXT, provenance_json TEXT NOT NULL CHECK(json_valid(provenance_json)),
|
|
36
|
+
valid_until INTEGER NOT NULL, message_entry_id TEXT, notified_at INTEGER,
|
|
37
|
+
created_at INTEGER NOT NULL, published_at INTEGER
|
|
38
|
+
);
|
|
39
|
+
CREATE INDEX personal_outreach_pending ON personal_outreach(state, created_at);
|
|
40
|
+
CREATE TABLE personal_feedback (
|
|
41
|
+
id TEXT PRIMARY KEY, outreach_id TEXT NOT NULL REFERENCES personal_outreach(id) ON DELETE CASCADE,
|
|
42
|
+
thread_id TEXT NOT NULL REFERENCES personal_attention_threads(id) ON DELETE CASCADE,
|
|
43
|
+
owner_id TEXT NOT NULL, kind TEXT NOT NULL, scope TEXT NOT NULL,
|
|
44
|
+
payload_json TEXT NOT NULL CHECK(json_valid(payload_json)), created_at INTEGER NOT NULL,
|
|
45
|
+
dedupe_key TEXT NOT NULL, UNIQUE(owner_id, dedupe_key)
|
|
46
|
+
);
|
|
47
|
+
CREATE TABLE personal_adaptive_strategies (
|
|
48
|
+
id TEXT PRIMARY KEY, thread_id TEXT NOT NULL REFERENCES personal_attention_threads(id) ON DELETE CASCADE,
|
|
49
|
+
feedback_id TEXT NOT NULL UNIQUE REFERENCES personal_feedback(id) ON DELETE CASCADE,
|
|
50
|
+
dimension TEXT NOT NULL CHECK(dimension = 'preparation'), value TEXT NOT NULL,
|
|
51
|
+
authority TEXT NOT NULL CHECK(authority = 'explicit'), revision INTEGER NOT NULL,
|
|
52
|
+
created_at INTEGER NOT NULL, review_at INTEGER NOT NULL
|
|
53
|
+
);
|