@xopcai/xopc 0.0.410 → 0.0.412

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.
Files changed (688) hide show
  1. package/README.md +12 -6
  2. package/README.zh-CN.md +12 -6
  3. package/dist/browser-ext/dist/assets/{page-context-A5RCibM_.js → page-context-MuzjMBlJ.js} +1 -1
  4. package/dist/browser-ext/dist/background.js +1 -1
  5. package/dist/browser-ext/dist/sidepanel.html +1 -1
  6. package/dist/browser-ext/dist/sidepanel.js +1 -1
  7. package/dist/browser-ext/manifest.json +1 -1
  8. package/dist/extensions/feishu/src/adapters/gateway-setup.js +9 -3
  9. package/dist/extensions/feishu/src/plugin.d.ts +0 -3
  10. package/dist/extensions/feishu/src/plugin.js +1 -11
  11. package/dist/extensions/feishu/src/schema/config-schema.d.ts +0 -2
  12. package/dist/extensions/feishu/src/schema/config-schema.js +9 -21
  13. package/dist/extensions/feishu/src/state/accounts.js +3 -7
  14. package/dist/extensions/telegram/src/plugin.d.ts +0 -3
  15. package/dist/extensions/telegram/src/plugin.js +0 -9
  16. package/dist/extensions/telegram/xopc.extension.json +1 -1
  17. package/dist/extensions/weixin/src/plugin.d.ts +0 -3
  18. package/dist/extensions/weixin/src/plugin.js +1 -12
  19. package/dist/gateway/static/root/assets/agent-avatar-dicebear-BrGZdh5N.js +1 -0
  20. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-BjZpom5V.js +1 -0
  21. package/dist/gateway/static/root/assets/{agents-admin-api-D0UyB0Y_.js → agents-admin-api-uGDeJR1f.js} +1 -1
  22. package/dist/gateway/static/root/assets/agents-s3ws5Qi-.js +77 -0
  23. package/dist/gateway/static/root/assets/app-management-settings-panel-C6DHuX0L.js +1 -0
  24. package/dist/gateway/static/root/assets/{appearance-settings-byEnJz9H.js → appearance-settings-DYGY92Yr.js} +1 -1
  25. package/dist/gateway/static/root/assets/apps-page-PpT_YMmD.js +1 -0
  26. package/dist/gateway/static/root/assets/{archive-plugin-BXssEuq3.js → archive-plugin-DAmsio91.js} +1 -1
  27. package/dist/gateway/static/root/assets/{automation-display-DCkjVzA0.js → automation-display-BFN7zWBg.js} +1 -1
  28. package/dist/gateway/static/root/assets/{automations-page-C-puATkS.js → automations-page-BVutrwON.js} +1 -1
  29. package/dist/gateway/static/root/assets/automations-workspace-G6-9IYbR.js +8 -0
  30. package/dist/gateway/static/root/assets/{binary-plugins-DBz_2AhG.js → binary-plugins-41QCRAxz.js} +1 -1
  31. package/dist/gateway/static/root/assets/{block-editor-BOO5kjIl.js → block-editor-BQ8AA-Ot.js} +40 -40
  32. package/dist/gateway/static/root/assets/{browser-automation-inputs-D8bZ9iz2.js → browser-automation-inputs-D4-vQc4g.js} +1 -1
  33. package/dist/gateway/static/root/assets/browser-automations-page-o3jNFlCb.js +3 -0
  34. package/dist/gateway/static/root/assets/browser-settings-page-G0dVwiX4.js +3 -0
  35. package/dist/gateway/static/root/assets/capabilities-B9b5KCBb.js +1 -0
  36. package/dist/gateway/static/root/assets/capabilities-page-BZQanmZY.js +2 -0
  37. package/dist/gateway/static/root/assets/capabilities-settings-panel-D-YadSx_.js +8 -0
  38. package/dist/gateway/static/root/assets/{capability-header-actions-yfPUz5Wt.js → capability-header-actions-CDgI-YZF.js} +1 -1
  39. package/dist/gateway/static/root/assets/channels-3WX3f0bR.js +1 -0
  40. package/dist/gateway/static/root/assets/{chat-terminal-dock-Dlzn80cK.js → chat-terminal-dock-CUkCx_9x.js} +2 -2
  41. package/dist/gateway/static/root/assets/{chunk-KS7C4IRE-B2HK1psj.js → chunk-KS7C4IRE-BvcCCgTW.js} +2 -2
  42. package/dist/gateway/static/root/assets/computer-settings-page-CuZrL9gL.js +1 -0
  43. package/dist/gateway/static/root/assets/connector-service-page-49mgdRET.js +1 -0
  44. package/dist/gateway/static/root/assets/connectors-page-Bjj2wAeG.js +1 -0
  45. package/dist/gateway/static/root/assets/date-formatters-DukWSVwc.js +1 -0
  46. package/dist/gateway/static/root/assets/{date-picker-DGjpqOKx.js → date-picker-BpBjADAk.js} +1 -1
  47. package/dist/gateway/static/root/assets/dependency-picker-R8kdHLr3.js +1 -0
  48. package/dist/gateway/static/root/assets/desktop-pet-BpiosRqb.js +1 -0
  49. package/dist/gateway/static/root/assets/desktop-pet-settings-9h6evrKB.js +1 -0
  50. package/dist/gateway/static/root/assets/device-pairing-wizard-CZ5lwiLE.js +1 -0
  51. package/dist/gateway/static/root/assets/{directory-picker-path-field-CwT1LcLR.js → directory-picker-path-field-DwXqp_iu.js} +1 -1
  52. package/dist/gateway/static/root/assets/electron-env-Dit0bHgy.js +1 -0
  53. package/dist/gateway/static/root/assets/{extension-debug-page-DX-hX_d0.js → extension-debug-page-Bj93A2Gn.js} +1 -1
  54. package/dist/gateway/static/root/assets/{extension-page-Cji87mN9.js → extension-page-Bri62YsN.js} +1 -1
  55. package/dist/gateway/static/root/assets/{extension-settings-page-BulzpwBD.js → extension-settings-page-BSo6vRhS.js} +1 -1
  56. package/dist/gateway/static/root/assets/files-Bw4SBGdM.js +1 -0
  57. package/dist/gateway/static/root/assets/{gateway-config-swr-CTXr917C.js → gateway-config-swr-BVqYVaGy.js} +1 -1
  58. package/dist/gateway/static/root/assets/gateway-realtime-CY1LBGBS.js +1 -0
  59. package/dist/gateway/static/root/assets/gateway-realtime-store-Dafw95ol.js +1 -0
  60. package/dist/gateway/static/root/assets/gateway-settings-DgEwWJwz.js +1 -0
  61. package/dist/gateway/static/root/assets/{gateway-startup-retry-DD2fsxdd.js → gateway-startup-retry-CPKGkr6D.js} +1 -1
  62. package/dist/gateway/static/root/assets/highlight-code-CSFBakwF.js +1 -0
  63. package/dist/gateway/static/root/assets/{highlighted-body-KQOG7T2V-BgTqMa_d.js → highlighted-body-KQOG7T2V-Ci1QpkBn.js} +1 -1
  64. package/dist/gateway/static/root/assets/home-page-BKj-aPsL.js +2 -0
  65. package/dist/gateway/static/root/assets/image-generation-api-N5MYXlxr.js +1 -0
  66. package/dist/gateway/static/root/assets/imports-page-YfaRnpk1.js +1 -0
  67. package/dist/gateway/static/root/assets/index-CiDVRMmX.js +710 -0
  68. package/dist/gateway/static/root/assets/index-caRW34rg.css +1 -0
  69. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-BTQcPOix.js +1 -0
  70. package/dist/gateway/static/root/assets/languages-byq_L2Ae.js +2 -0
  71. package/dist/gateway/static/root/assets/local-app-workbench-page-kCZ_fbSZ.js +1 -0
  72. package/dist/gateway/static/root/assets/local-apps-page-BjzaB1ls.js +1 -0
  73. package/dist/gateway/static/root/assets/{local-session-drafts-TqLFKwYo.js → local-session-drafts-BCaC-1rH.js} +1 -1
  74. package/dist/gateway/static/root/assets/locale-store-DAgpZxAS.js +1 -0
  75. package/dist/gateway/static/root/assets/logs-page-5Jt3uqYt.js +2 -0
  76. package/dist/gateway/static/root/assets/management-settings-DOQMLPrI.js +1 -0
  77. package/dist/gateway/static/root/assets/markdown-editor-phTQ0mox.js +1 -0
  78. package/dist/gateway/static/root/assets/{media-plugins-DQJXvbr_.js → media-plugins-8mlDAjD6.js} +1 -1
  79. package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-B4nztFE4.js +1 -0
  80. package/dist/gateway/static/root/assets/messages-DMXSIJUO.js +3 -0
  81. package/dist/gateway/static/root/assets/note-detail-panel-1wsKlkk3.js +5 -0
  82. package/dist/gateway/static/root/assets/note-image-lightbox-B82cToeV.js +1 -0
  83. package/dist/gateway/static/root/assets/notes-page-DKREWOku.js +8 -0
  84. package/dist/gateway/static/root/assets/page-context-capture-button-oSJIFF3E.js +1 -0
  85. package/dist/gateway/static/root/assets/personal-page-CoqQTkkS.js +1 -0
  86. package/dist/gateway/static/root/assets/personal-settings-panel-BgcJLmZN.js +1 -0
  87. package/dist/gateway/static/root/assets/plugin-details-dialog-CdOJ3Tir.js +1 -0
  88. package/dist/gateway/static/root/assets/preview-open-alternatives-n6Shdp3u.js +1 -0
  89. package/dist/gateway/static/root/assets/product-delivery-BqNm-8S5.js +1 -0
  90. package/dist/gateway/static/root/assets/{product-open-page-Bfqez8Je.js → product-open-page-BPF5rRTI.js} +1 -1
  91. package/dist/gateway/static/root/assets/product-preview-content-BOsGPNbw.js +1 -0
  92. package/dist/gateway/static/root/assets/project-detail-page-ZADyvA7-.js +7 -0
  93. package/dist/gateway/static/root/assets/projects-page-BkRe6Z8S.js +1 -0
  94. package/dist/gateway/static/root/assets/{registry-api-4NZOh0iz.js → registry-api-B6kqbuw8.js} +1 -1
  95. package/dist/gateway/static/root/assets/remote-access-hub-CCGf5kF4.js +1 -0
  96. package/dist/gateway/static/root/assets/runtime-tools-api-CY3R7unQ.js +5 -0
  97. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-DSsANtha.js → runtime-tools-settings-panel-BxaxVlwM.js} +1 -1
  98. package/dist/gateway/static/root/assets/{schema-form-vbhv4JE6.js → schema-form-cXD1BC02.js} +1 -1
  99. package/dist/gateway/static/root/assets/session-api-D6-Vz8xK.js +1 -0
  100. package/dist/gateway/static/root/assets/{session-manager-D2sLfkw-.js → session-manager-DWbcMHcj.js} +3 -3
  101. package/dist/gateway/static/root/assets/sessions-page-B81rRu2-.js +1 -0
  102. package/dist/gateway/static/root/assets/settings-advanced-gate-DLHGV-I-.js +1 -0
  103. package/dist/gateway/static/root/assets/{settings-form-section-4nn0sb6v.js → settings-form-section-BXeszXR7.js} +1 -1
  104. package/dist/gateway/static/root/assets/{settings-page-_HB9FC08.js → settings-page-CNmh4YmR.js} +1 -1
  105. package/dist/gateway/static/root/assets/setup-status-panel-gEqkJWyw.js +1 -0
  106. package/dist/gateway/static/root/assets/share-preview-page-CS9cOCgX.js +2 -0
  107. package/dist/gateway/static/root/assets/shares-settings-D9Ul96XW.js +1 -0
  108. package/dist/gateway/static/root/assets/{skill-api-CyO89DKl.js → skill-api-B5lDCuOH.js} +1 -1
  109. package/dist/gateway/static/root/assets/skill-reload-api-NLAaNaDn.js +1 -0
  110. package/dist/gateway/static/root/assets/skills-page-dWeFt-6J.js +2 -0
  111. package/dist/gateway/static/root/assets/source-workspace-editor-BIvi89Zx.js +1 -0
  112. package/dist/gateway/static/root/assets/system-settings-panel-DdDsFdCh.js +1 -0
  113. package/dist/gateway/static/root/assets/task-detail-page-DO3FM--W.js +2 -0
  114. package/dist/gateway/static/root/assets/task-result-evidence-HJO1BlJm.js +1 -0
  115. package/dist/gateway/static/root/assets/tasks-TVRjEggr.js +1 -0
  116. package/dist/gateway/static/root/assets/tracing-settings-page-Dm3yToJ1.js +1 -0
  117. package/dist/gateway/static/root/assets/{tunnel-api-DOUyF9Ew.js → tunnel-api-DXU94F2Y.js} +1 -1
  118. package/dist/gateway/static/root/assets/{usage-page-Bv3fdfw1.js → usage-page-DJJhACRJ.js} +1 -1
  119. package/dist/gateway/static/root/assets/{use-autosave-D0MhLMD2.js → use-autosave-B1z_TIBu.js} +1 -1
  120. package/dist/gateway/static/root/assets/user-model-page-DnZ4qFaO.js +2 -0
  121. package/dist/gateway/static/root/assets/{vendor-codemirror-DFxP3B9T.js → vendor-codemirror-Qdcjid65.js} +16 -16
  122. package/dist/gateway/static/root/assets/{voice-api-key-field-Ds_ADBQH.js → voice-api-key-field-HOLjEhh3.js} +1 -1
  123. package/dist/gateway/static/root/assets/{voice-config-api-4yGMrp7J.js → voice-config-api-CPKzUb4R.js} +1 -1
  124. package/dist/gateway/static/root/assets/work-discovery-overlay-C9RklDaR.js +1 -0
  125. package/dist/gateway/static/root/assets/{xopc-cloud-account-card-Di-oEpCt.js → xopc-cloud-account-card-CWwGTBib.js} +1 -1
  126. package/dist/gateway/static/root/index.html +27 -35
  127. package/dist/package.js +1 -1
  128. package/dist/packages/endpoint-tools-protocol/src/index.js +1 -1
  129. package/dist/packages/gateway-contract/src/automations.js +0 -12
  130. package/dist/packages/gateway-contract/src/home.js +3 -3
  131. package/dist/packages/gateway-contract/src/product-delivery.js +0 -4
  132. package/dist/packages/gateway-contract/src/project-operating.js +0 -6
  133. package/dist/packages/gateway-contract/src/session-identity.js +0 -1
  134. package/dist/packages/gateway-contract/src/task-runs.js +0 -1
  135. package/dist/packages/gateway-contract/src/tasks.js +0 -6
  136. package/dist/src/activity/types.d.ts +4 -4
  137. package/dist/src/agent/agent-manager.d.ts +0 -3
  138. package/dist/src/agent/agent-manager.js +0 -43
  139. package/dist/src/agent/background-review/run-background-review.js +2 -2
  140. package/dist/src/agent/capabilities/definitions.d.ts +2 -18
  141. package/dist/src/agent/capabilities/definitions.js +0 -17
  142. package/dist/src/agent/child-agent-factory.d.ts +1 -1
  143. package/dist/src/agent/client-error-format.d.ts +1 -1
  144. package/dist/src/agent/client-error-format.js +1 -1
  145. package/dist/src/agent/commands/command-registry.js +1 -1
  146. package/dist/src/agent/context/execution-scope.d.ts +2 -8
  147. package/dist/src/agent/context/execution-scope.js +6 -23
  148. package/dist/src/agent/embedded/index.d.ts +0 -1
  149. package/dist/src/agent/embedded/index.js +1 -2
  150. package/dist/src/agent/embedded/run-turn.js +25 -2
  151. package/dist/src/agent/embedded/sqlite-hydrating-session-manager.js +0 -2
  152. package/dist/src/agent/external-tools/gateway-tools.js +6 -6
  153. package/dist/src/agent/mcp/connection-setup.js +2 -2
  154. package/dist/src/agent/memory/compaction-ledger.d.ts +1 -1
  155. package/dist/src/agent/memory/compaction-ledger.js +1 -1
  156. package/dist/src/agent/memory/compaction-promotion.js +1 -1
  157. package/dist/src/agent/memory/source-origin.js +1 -5
  158. package/dist/src/agent/memory/turn-provenance.js +1 -3
  159. package/dist/src/agent/memory/types.d.ts +1 -1
  160. package/dist/src/agent/messaging/command-handler.d.ts +0 -3
  161. package/dist/src/agent/messaging/command-handler.js +1 -4
  162. package/dist/src/agent/prompt/sections/behavior.js +2 -2
  163. package/dist/src/agent/prompt/sections/tooling.js +1 -5
  164. package/dist/src/agent/prompt/voice-presentation.d.ts +1 -1
  165. package/dist/src/agent/prompt/voice-presentation.js +1 -1
  166. package/dist/src/agent/service/direct-turn-helpers.js +1 -1
  167. package/dist/src/agent/service/process-direct-streaming.js +0 -6
  168. package/dist/src/agent/service.d.ts +0 -2
  169. package/dist/src/agent/service.js +0 -11
  170. package/dist/src/agent/service.types.d.ts +0 -2
  171. package/dist/src/agent/session/session-config-service.d.ts +0 -2
  172. package/dist/src/agent/session/session-config-service.js +1 -1
  173. package/dist/src/agent/session/session-inspector.d.ts +0 -1
  174. package/dist/src/agent/session/session-inspector.js +0 -1
  175. package/dist/src/agent/skills/required-env-vars.d.ts +1 -1
  176. package/dist/src/agent/skills/required-env-vars.js +1 -1
  177. package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
  178. package/dist/src/agent/tool-manuals/xopc-use.js +2 -5
  179. package/dist/src/agent/tools/automation-tool.js +1 -1
  180. package/dist/src/agent/tools/factory.d.ts +0 -3
  181. package/dist/src/agent/tools/factory.js +6 -9
  182. package/dist/src/agent/tools/index.d.ts +0 -2
  183. package/dist/src/agent/tools/index.js +1 -3
  184. package/dist/src/agent/tools/knowledge-memory-tool.d.ts +1 -0
  185. package/dist/src/agent/tools/knowledge-memory-tool.js +13 -4
  186. package/dist/src/agent/tools/personal-task-tool.js +8 -22
  187. package/dist/src/agent/tools/search/errors.js +2 -2
  188. package/dist/src/agent/tools/session-recall-tool.js +5 -1
  189. package/dist/src/agent/tools/user-context-tool.js +7 -1
  190. package/dist/src/agent/tools/xopc-use-tool.js +1 -1
  191. package/dist/src/agent-catalog/index.d.ts +0 -1
  192. package/dist/src/agent-catalog/index.js +1 -2
  193. package/dist/src/agent-catalog/repository.js +4 -0
  194. package/dist/src/agent-config/index.js +2 -2
  195. package/dist/src/agent-config/resolver.js +0 -6
  196. package/dist/src/agent-config/schema.d.ts +0 -16
  197. package/dist/src/agent-config/schema.js +2 -9
  198. package/dist/src/agent-matching/selection-repository.d.ts +1 -1
  199. package/dist/src/agent-matching/selection-repository.js +1 -1
  200. package/dist/src/agent-matching/service.d.ts +1 -2
  201. package/dist/src/agent-matching/service.js +3 -7
  202. package/dist/src/ai-assist/text-assist.d.ts +1 -1
  203. package/dist/src/ai-assist/text-assist.js +0 -72
  204. package/dist/src/automations/capabilities/write.d.ts +0 -40
  205. package/dist/src/automations/domain/types.d.ts +0 -15
  206. package/dist/src/automations/domain/validation.d.ts +0 -80
  207. package/dist/src/automations/domain/validation.js +0 -17
  208. package/dist/src/automations/draft/automation-draft-prompt.js +0 -3
  209. package/dist/src/automations/draft/automation-draft-validator.d.ts +0 -20
  210. package/dist/src/automations/draft/automation-draft-validator.js +0 -1
  211. package/dist/src/automations/events/event-catalog.js +0 -6
  212. package/dist/src/automations/service/action-executor.d.ts +0 -1
  213. package/dist/src/automations/service/action-executor.js +1 -110
  214. package/dist/src/automations/service/automation-service.js +0 -2
  215. package/dist/src/automations/storage/automation-run-repository.js +6 -7
  216. package/dist/src/backup/archive.js +1 -1
  217. package/dist/src/bootstrap/application-state.d.ts +2 -10
  218. package/dist/src/bootstrap/application-state.js +5 -18
  219. package/dist/src/channels/manager.d.ts +0 -2
  220. package/dist/src/channels/manager.js +0 -4
  221. package/dist/src/channels/pairing/index.d.ts +2 -1
  222. package/dist/src/channels/pairing/pairing-service.d.ts +0 -1
  223. package/dist/src/chat-commands/context.d.ts +0 -3
  224. package/dist/src/chat-commands/context.js +0 -5
  225. package/dist/src/chat-commands/index.d.ts +0 -1
  226. package/dist/src/chat-commands/index.js +1 -3
  227. package/dist/src/chat-commands/types.d.ts +0 -5
  228. package/dist/src/cli/command-manifest.js +1 -1
  229. package/dist/src/cli/commands/config.js +2 -10
  230. package/dist/src/cli/commands/doctor/checks/database-relations.js +0 -3
  231. package/dist/src/cli/commands/doctor/checks/database-schema.js +4 -25
  232. package/dist/src/cli/commands/gateway/run-foreground.js +1 -1
  233. package/dist/src/cli/commands/setup-shared/prompts.d.ts +2 -2
  234. package/dist/src/cli/commands/setup-shared/prompts.js +2 -2
  235. package/dist/src/cli/commands/tui-runner.js +2 -2
  236. package/dist/src/cli/extension-cli-register.js +1 -1
  237. package/dist/src/cli/index.d.ts +0 -1
  238. package/dist/src/cli/index.js +2 -2
  239. package/dist/src/cli/utils/init-workspace-core.js +8 -9
  240. package/dist/src/config/config-file.d.ts +6 -0
  241. package/dist/src/config/config-file.js +35 -0
  242. package/dist/src/config/index.js +2 -2
  243. package/dist/src/config/loader.d.ts +0 -1
  244. package/dist/src/config/loader.js +6 -17
  245. package/dist/src/config/paths.d.ts +1 -1
  246. package/dist/src/config/paths.js +1 -1
  247. package/dist/src/connectors/composio-catalog.js +1 -3
  248. package/dist/src/connectors/composio.js +1 -2
  249. package/dist/src/connectors/connected-source-ingestion.js +1 -1
  250. package/dist/src/connectors/connected-source-understanding.js +1 -1
  251. package/dist/src/connectors/learning-coordinator.js +1 -1
  252. package/dist/src/connectors/principal.js +1 -22
  253. package/dist/src/connectors/{workflow-preflight.d.ts → requirements-preflight.d.ts} +9 -8
  254. package/dist/src/connectors/{workflow-preflight.js → requirements-preflight.js} +2 -10
  255. package/dist/src/connectors/types.d.ts +1 -1
  256. package/dist/src/daemon/types.d.ts +0 -9
  257. package/dist/src/discussions/long-review.js +0 -11
  258. package/dist/src/endpoint-tools/policy.js +13 -14
  259. package/dist/src/extensions/agent-plugins/auth.js +1 -3
  260. package/dist/src/extensions/agent-plugins/formats.js +2 -4
  261. package/dist/src/extensions/agent-plugins/mcp-format.d.ts +1 -1
  262. package/dist/src/extensions/agent-plugins/mcp-format.js +2 -2
  263. package/dist/src/extensions/bundled-extension-activation.d.ts +0 -2
  264. package/dist/src/extensions/bundled-extension-activation.js +1 -3
  265. package/dist/src/extensions/install.js +1 -1
  266. package/dist/src/extensions/types/tui.d.ts +1 -2
  267. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -7
  268. package/dist/src/gateway/agent-builtin-tools.js +0 -7
  269. package/dist/src/gateway/agents-admin.d.ts +0 -1
  270. package/dist/src/gateway/agents-admin.js +0 -1
  271. package/dist/src/gateway/global-defaults-admin.js +1 -1
  272. package/dist/src/gateway/hono/lib/config-payload.d.ts +0 -8
  273. package/dist/src/gateway/hono/lib/config-payload.js +1 -2
  274. package/dist/src/gateway/hono/lib/config-write-lock.d.ts +1 -1
  275. package/dist/src/gateway/hono/lib/config-write-lock.js +1 -1
  276. package/dist/src/gateway/hono/middleware/auth.js +2 -2
  277. package/dist/src/gateway/hono/routes/activity.js +0 -1
  278. package/dist/src/gateway/hono/routes/agents.js +2 -9
  279. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +0 -22
  280. package/dist/src/gateway/hono/routes/chat-model-config.d.ts +0 -1
  281. package/dist/src/gateway/hono/routes/config-patch/misc.js +2 -3
  282. package/dist/src/gateway/hono/routes/config.js +2 -21
  283. package/dist/src/gateway/hono/routes/connectors.js +1 -1
  284. package/dist/src/gateway/hono/routes/context-sources.js +1 -1
  285. package/dist/src/gateway/hono/routes/devices.js +2 -2
  286. package/dist/src/gateway/hono/routes/home.js +3 -20
  287. package/dist/src/gateway/hono/routes/lazy-bundles.js +0 -8
  288. package/dist/src/gateway/hono/routes/memory-learning.js +1 -1
  289. package/dist/src/gateway/hono/routes/personal-agent.js +1 -1
  290. package/dist/src/gateway/hono/routes/projects.js +0 -16
  291. package/dist/src/gateway/hono/routes/session-input-handler.d.ts +2 -2
  292. package/dist/src/gateway/hono/routes/sessions.js +0 -3
  293. package/dist/src/gateway/hono/routes/user-model-refresh.js +1 -1
  294. package/dist/src/gateway/hono/routes/user-model.js +1 -1
  295. package/dist/src/gateway/index.js +1 -1
  296. package/dist/src/gateway/run-loop.js +2 -2
  297. package/dist/src/gateway/security/device-request-proof.js +1 -1
  298. package/dist/src/gateway/security/gateway-scopes.js +0 -1
  299. package/dist/src/gateway/service/active-execution.d.ts +1 -1
  300. package/dist/src/gateway/service/active-execution.js +1 -1
  301. package/dist/src/gateway/service/agent-runner.js +1 -1
  302. package/dist/src/gateway/service/session-input-coordinator.d.ts +1 -1
  303. package/dist/src/gateway/service/sessions-api.d.ts +1 -2
  304. package/dist/src/gateway/service/sessions-api.js +1 -1
  305. package/dist/src/gateway/service/task-conversation-query-service.d.ts +0 -4
  306. package/dist/src/gateway/service/types.d.ts +2 -0
  307. package/dist/src/gateway/service.d.ts +1 -8
  308. package/dist/src/gateway/service.js +13 -60
  309. package/dist/src/history/ctx/format.js +1 -1
  310. package/dist/src/home-intelligence/capability-preflight.js +1 -1
  311. package/dist/src/infra/unhandled-rejections.js +2 -2
  312. package/dist/src/infra/update-runner.d.ts +1 -2
  313. package/dist/src/infra/update-runner.js +2 -2
  314. package/dist/src/knowledge/connected-knowledge-pipeline.js +1 -1
  315. package/dist/src/knowledge/local-folder-adapter.js +2 -5
  316. package/dist/src/knowledge-memory/usage-policy.js +1 -1
  317. package/dist/src/local-apps/service.js +1 -1
  318. package/dist/src/memory-learning/forget-capture.js +3 -2
  319. package/dist/src/memory-learning/forgotten-history.d.ts +10 -0
  320. package/dist/src/memory-learning/forgotten-history.js +117 -13
  321. package/dist/src/memory-learning/owner-directive.d.ts +2 -0
  322. package/dist/src/memory-learning/owner-directive.js +10 -0
  323. package/dist/src/memory-learning/service.js +0 -2
  324. package/dist/src/memory-learning/source-learning.js +1 -1
  325. package/dist/src/memory-learning/task-receipts.js +1 -1
  326. package/dist/src/migrations/index.js +2 -2
  327. package/dist/src/migrations/runner.d.ts +1 -2
  328. package/dist/src/migrations/runner.js +2 -5
  329. package/dist/src/notes/service.js +3 -3
  330. package/dist/src/notes/types.d.ts +1 -2
  331. package/dist/src/personal-agent/communication.d.ts +0 -3
  332. package/dist/src/personal-agent/communication.js +1 -12
  333. package/dist/src/personal-agent/persona.d.ts +0 -4
  334. package/dist/src/personal-agent/persona.js +1 -5
  335. package/dist/src/personal-agent/proactivity/repository.js +2 -6
  336. package/dist/src/personal-agent/prompt-context.js +1 -1
  337. package/dist/src/personal-agent/prompts.d.ts +0 -3
  338. package/dist/src/personal-agent/prompts.js +7 -146
  339. package/dist/src/personal-agent/reply-composer.js +3 -3
  340. package/dist/src/personal-agent/reply-style.d.ts +1 -13
  341. package/dist/src/personal-agent/reply-style.js +3 -123
  342. package/dist/src/personal-agent/request-delivery.d.ts +1 -1
  343. package/dist/src/personal-agent/request-delivery.js +1 -1
  344. package/dist/src/personal-agent/request-service.js +2 -2
  345. package/dist/src/personal-agent/specialist-capabilities.js +0 -1
  346. package/dist/src/personal-agent/task-cancel.js +2 -1
  347. package/dist/src/platform/client.d.ts +0 -1
  348. package/dist/src/platform/contracts.d.ts +0 -1
  349. package/dist/src/platform/contracts.js +1 -4
  350. package/dist/src/projects/index.d.ts +0 -1
  351. package/dist/src/projects/index.js +1 -2
  352. package/dist/src/projects/project-loop.d.ts +2 -12
  353. package/dist/src/projects/project-loop.js +19 -42
  354. package/dist/src/projects/project-store.d.ts +0 -1
  355. package/dist/src/projects/project-store.js +0 -11
  356. package/dist/src/projects/types.d.ts +0 -6
  357. package/dist/src/providers/model-usage.js +0 -5
  358. package/dist/src/realtime/runtime.js +0 -1
  359. package/dist/src/routing/agent-session-key.js +1 -1
  360. package/dist/src/session/manager.js +1 -1
  361. package/dist/src/session/types.d.ts +2 -6
  362. package/dist/src/storage/sqlite/connection-wait-repository.js +0 -33
  363. package/dist/src/storage/sqlite/connection.js +2 -2
  364. package/dist/src/storage/sqlite/device-access-repository.d.ts +2 -2
  365. package/dist/src/storage/sqlite/device-access-repository.js +4 -8
  366. package/dist/src/storage/sqlite/home-attention-repository.d.ts +1 -1
  367. package/dist/src/storage/sqlite/index.d.ts +1 -3
  368. package/dist/src/storage/sqlite/index.js +4 -8
  369. package/dist/src/storage/sqlite/{migrations/conversation-backup.d.ts → offline-access.d.ts} +1 -4
  370. package/dist/src/storage/sqlite/{migrations/conversation-backup.js → offline-access.js} +6 -25
  371. package/dist/src/storage/sqlite/row-mappers.d.ts +0 -8
  372. package/dist/src/storage/sqlite/row-mappers.js +0 -8
  373. package/dist/src/storage/sqlite/{migrations/errors.d.ts → schema-errors.d.ts} +0 -6
  374. package/dist/src/storage/sqlite/schema-errors.js +28 -0
  375. package/dist/src/storage/sqlite/schema.d.ts +4 -5
  376. package/dist/src/storage/sqlite/schema.js +23 -19
  377. package/dist/src/storage/sqlite/schema.sql +1099 -427
  378. package/dist/src/storage/sqlite/session-identity-sql.js +1 -2
  379. package/dist/src/storage/sqlite/session-read-repository.d.ts +1 -1
  380. package/dist/src/storage/sqlite/session-read-repository.js +1 -2
  381. package/dist/src/storage/sqlite/session-repository.js +4 -33
  382. package/dist/src/storage/sqlite/{migrations/conversation-windows-owners.js → windows-database-owners.js} +3 -3
  383. package/dist/src/tasks/attention-governor.d.ts +1 -0
  384. package/dist/src/tasks/attention-governor.js +2 -2
  385. package/dist/src/tasks/capabilities/management.d.ts +0 -1
  386. package/dist/src/tasks/capabilities/relations.d.ts +2 -2
  387. package/dist/src/tasks/execution-context.d.ts +1 -1
  388. package/dist/src/tasks/execution-context.js +0 -2
  389. package/dist/src/tasks/home-query-service.d.ts +2 -16
  390. package/dist/src/tasks/home-query-service.js +37 -67
  391. package/dist/src/tasks/index.d.ts +0 -1
  392. package/dist/src/tasks/index.js +1 -2
  393. package/dist/src/tasks/project-operating-view-service.js +0 -1
  394. package/dist/src/tasks/task-application-service.js +0 -5
  395. package/dist/src/tasks/task-repository.d.ts +1 -1
  396. package/dist/src/tasks/task-run-coordinator.js +4 -2
  397. package/dist/src/tui/backends/embedded-backend.d.ts +1 -4
  398. package/dist/src/tui/backends/embedded-backend.js +3 -59
  399. package/dist/src/tui/backends/gateway-realtime-backend.d.ts +1 -2
  400. package/dist/src/tui/backends/gateway-realtime-backend.js +1 -27
  401. package/dist/src/tui/components/chat-log.d.ts +0 -2
  402. package/dist/src/tui/components/chat-log.js +0 -18
  403. package/dist/src/tui/extension-host/runtime-context.js +0 -1
  404. package/dist/src/tui/tui-backend.d.ts +0 -15
  405. package/dist/src/tui/tui-command-formatters.d.ts +0 -3
  406. package/dist/src/tui/tui-command-formatters.js +1 -28
  407. package/dist/src/tui/tui-commands.d.ts +1 -14
  408. package/dist/src/tui/tui-commands.js +4 -89
  409. package/dist/src/tui/tui-startup-resources.js +0 -2
  410. package/dist/src/tui/tui-startup-text.js +2 -3
  411. package/dist/src/tui/tui.js +1 -49
  412. package/dist/src/user-context/trust-policy.js +1 -1
  413. package/dist/src/user-model/usage-policy.js +1 -1
  414. package/dist/src/utils/index.js +1 -1
  415. package/dist/src/utils/logger/index.js +1 -1
  416. package/dist/src/utils/logger.js +1 -1
  417. package/dist/src/voice/realtime/agentBroker.js +2 -3
  418. package/dist/src/voice/realtime/memory-context.js +2 -2
  419. package/dist/src/work-discovery/incremental-repository.js +1 -1
  420. package/dist/src/work-discovery/service.js +2 -2
  421. package/package.json +5 -6
  422. package/dist/extensions/feishu/src/workflow-progress.d.ts +0 -27
  423. package/dist/extensions/feishu/src/workflow-progress.js +0 -98
  424. package/dist/extensions/telegram/src/workflow-progress.d.ts +0 -24
  425. package/dist/extensions/telegram/src/workflow-progress.js +0 -72
  426. package/dist/extensions/weixin/src/workflow-progress.d.ts +0 -26
  427. package/dist/extensions/weixin/src/workflow-progress.js +0 -98
  428. package/dist/gateway/static/root/assets/agent-avatar-dicebear-ColV_Z1C.js +0 -1
  429. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-rgRXzBCX.js +0 -1
  430. package/dist/gateway/static/root/assets/agents-C1rSl_yE.js +0 -77
  431. package/dist/gateway/static/root/assets/app-link-BV_eGr7l.js +0 -1
  432. package/dist/gateway/static/root/assets/app-management-settings-panel-B-Cl1lzt.js +0 -1
  433. package/dist/gateway/static/root/assets/apps-page-BfVMfjkC.js +0 -1
  434. package/dist/gateway/static/root/assets/automations-workspace-b7MTHd-X.js +0 -6
  435. package/dist/gateway/static/root/assets/browser-automations-page-DMqDOJgO.js +0 -3
  436. package/dist/gateway/static/root/assets/browser-settings-page-KZStwhX7.js +0 -3
  437. package/dist/gateway/static/root/assets/capabilities-CD6PzNK7.js +0 -1
  438. package/dist/gateway/static/root/assets/capabilities-page-DeJuO2rf.js +0 -2
  439. package/dist/gateway/static/root/assets/capabilities-settings-panel-DPxL_3Km.js +0 -8
  440. package/dist/gateway/static/root/assets/channels-Cp4F9zPz.js +0 -1
  441. package/dist/gateway/static/root/assets/code-editor-CXIH8jQw.js +0 -1
  442. package/dist/gateway/static/root/assets/computer-settings-page-BXhmUWbA.js +0 -1
  443. package/dist/gateway/static/root/assets/connector-service-page-B1oJCj74.js +0 -1
  444. package/dist/gateway/static/root/assets/connectors-page-Da_M7h3m.js +0 -1
  445. package/dist/gateway/static/root/assets/dependency-picker-BfWUD3LG.js +0 -1
  446. package/dist/gateway/static/root/assets/desktop-pet-CPEi55Vt.js +0 -1
  447. package/dist/gateway/static/root/assets/desktop-pet-settings-CmQ_H-nM.js +0 -1
  448. package/dist/gateway/static/root/assets/device-pairing-wizard-BeTjXc3C.js +0 -1
  449. package/dist/gateway/static/root/assets/dist-BGTk37IG.js +0 -1
  450. package/dist/gateway/static/root/assets/file-archive-DanfQJNe.js +0 -1
  451. package/dist/gateway/static/root/assets/file-braces-BoAMI_k9.js +0 -1
  452. package/dist/gateway/static/root/assets/gateway-realtime-CP6L2jIR.js +0 -1
  453. package/dist/gateway/static/root/assets/gateway-realtime-store-yXB4a40_.js +0 -1
  454. package/dist/gateway/static/root/assets/gateway-settings-CIdEroWr.js +0 -1
  455. package/dist/gateway/static/root/assets/highlight-code-BH65IIbJ.js +0 -1
  456. package/dist/gateway/static/root/assets/home-page-BSbYrVda.js +0 -2
  457. package/dist/gateway/static/root/assets/image-generation-api-BfPYnMoc.js +0 -1
  458. package/dist/gateway/static/root/assets/imports-page-DYSOfHfw.js +0 -1
  459. package/dist/gateway/static/root/assets/index-D2hEKnTM.js +0 -267
  460. package/dist/gateway/static/root/assets/index-SmKNPEmJ.css +0 -1
  461. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-BwsGM6Yd.js +0 -1
  462. package/dist/gateway/static/root/assets/languages-BFe8nIOO.js +0 -2
  463. package/dist/gateway/static/root/assets/local-app-workbench-page-K6UR6cAx.js +0 -1
  464. package/dist/gateway/static/root/assets/local-apps-page-gkdwtjDE.js +0 -1
  465. package/dist/gateway/static/root/assets/locale-store-D_migb9R.js +0 -1
  466. package/dist/gateway/static/root/assets/logs-page-BAQNYk0e.js +0 -2
  467. package/dist/gateway/static/root/assets/management-settings-CMVRLGox.js +0 -1
  468. package/dist/gateway/static/root/assets/markdown-editor-BhBJANcx.js +0 -1
  469. package/dist/gateway/static/root/assets/markdown-view-Ljt0bhfF.js +0 -324
  470. package/dist/gateway/static/root/assets/markdown-view-ixUWAmoy.css +0 -1
  471. package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-Cx0bXBqu.js +0 -1
  472. package/dist/gateway/static/root/assets/mermaid-render-604gISVe.js +0 -134
  473. package/dist/gateway/static/root/assets/messages-D__oW2yE.js +0 -3
  474. package/dist/gateway/static/root/assets/note-detail-panel-1GCqp26U.js +0 -5
  475. package/dist/gateway/static/root/assets/note-image-lightbox-B7RA-WsY.js +0 -1
  476. package/dist/gateway/static/root/assets/notes-page-DnjlEdzM.js +0 -8
  477. package/dist/gateway/static/root/assets/page-context-capture-button-BAwI_3uh.js +0 -1
  478. package/dist/gateway/static/root/assets/personal-page-XoLrcR0U.js +0 -1
  479. package/dist/gateway/static/root/assets/personal-settings-panel-DzubCRqj.js +0 -1
  480. package/dist/gateway/static/root/assets/plugin-details-dialog-BjzIp3T5.js +0 -1
  481. package/dist/gateway/static/root/assets/plus-Q2yW6OE7.js +0 -1
  482. package/dist/gateway/static/root/assets/preview-open-alternatives-2YjwlRHu.js +0 -1
  483. package/dist/gateway/static/root/assets/product-delivery-DwmnNJvk.js +0 -1
  484. package/dist/gateway/static/root/assets/product-preview-content-D7wLwrqj.js +0 -1
  485. package/dist/gateway/static/root/assets/project-detail-page-1ueRCmXg.js +0 -1
  486. package/dist/gateway/static/root/assets/projects-page-CDQycMPo.js +0 -1
  487. package/dist/gateway/static/root/assets/remote-access-hub-YvVmZA4K.js +0 -1
  488. package/dist/gateway/static/root/assets/runtime-tools-api-CmEWVrOg.js +0 -5
  489. package/dist/gateway/static/root/assets/session-api-aQLptIs9.js +0 -1
  490. package/dist/gateway/static/root/assets/sessions-page-B3rPljgr.js +0 -1
  491. package/dist/gateway/static/root/assets/settings-advanced-gate-Ch20Ptzp.js +0 -1
  492. package/dist/gateway/static/root/assets/setup-status-panel-L1HHrvzi.js +0 -1
  493. package/dist/gateway/static/root/assets/share-preview-page-C4lC0W3d.js +0 -2
  494. package/dist/gateway/static/root/assets/shares-settings-DtHZ9z5K.js +0 -1
  495. package/dist/gateway/static/root/assets/skill-reload-api-Drg356Pb.js +0 -1
  496. package/dist/gateway/static/root/assets/skills-page-XhCLHKlK.js +0 -2
  497. package/dist/gateway/static/root/assets/source-workspace-editor-DunRD1gY.js +0 -1
  498. package/dist/gateway/static/root/assets/style-DTLpCnuA.js +0 -7
  499. package/dist/gateway/static/root/assets/system-settings-panel-bSogz4S-.js +0 -1
  500. package/dist/gateway/static/root/assets/tab-completion-input.utils-BP3NH_du.js +0 -1
  501. package/dist/gateway/static/root/assets/task-detail-page-CSv2x4q-.js +0 -2
  502. package/dist/gateway/static/root/assets/task-expandable-content-4s_FTl-9.js +0 -1
  503. package/dist/gateway/static/root/assets/tasks-B4bZpO6O.js +0 -1
  504. package/dist/gateway/static/root/assets/tracing-settings-page-CZ5XLQmX.js +0 -1
  505. package/dist/gateway/static/root/assets/user-model-page-BD7WvhI0.js +0 -2
  506. package/dist/gateway/static/root/assets/work-discovery-overlay-CDJp2_l2.js +0 -1
  507. package/dist/gateway/static/root/assets/workflow-run-setup-panel-CR4fRhZZ.js +0 -3
  508. package/dist/gateway/static/root/assets/workflows-page-BeJw5liC.js +0 -6
  509. package/dist/gateway/static/root/assets/x-B_N4OPjy.js +0 -1
  510. package/dist/gateway/static/root/assets/xml-_d7dTN2Q.js +0 -3
  511. package/dist/src/agent/embedded/session-manager-init.d.ts +0 -4
  512. package/dist/src/agent/embedded/session-manager-init.js +0 -48
  513. package/dist/src/agent/tools/workflow-manage-tool.d.ts +0 -2
  514. package/dist/src/agent/tools/workflow-manage-tool.js +0 -225
  515. package/dist/src/agent/tools/workflow-tool.d.ts +0 -20
  516. package/dist/src/agent/tools/workflow-tool.js +0 -155
  517. package/dist/src/agent/workflow/agent-progress.d.ts +0 -5
  518. package/dist/src/agent/workflow/agent-progress.js +0 -65
  519. package/dist/src/agent/workflow/builtins/index.d.ts +0 -2
  520. package/dist/src/agent/workflow/builtins/index.js +0 -374
  521. package/dist/src/agent/workflow/catalog.d.ts +0 -52
  522. package/dist/src/agent/workflow/catalog.js +0 -150
  523. package/dist/src/agent/workflow/channel-capability.d.ts +0 -76
  524. package/dist/src/agent/workflow/channel-capability.js +0 -1
  525. package/dist/src/agent/workflow/index.d.ts +0 -10
  526. package/dist/src/agent/workflow/index.js +0 -9
  527. package/dist/src/agent/workflow/progress-broker.d.ts +0 -80
  528. package/dist/src/agent/workflow/progress-broker.js +0 -261
  529. package/dist/src/agent/workflow/snapshot-empty.d.ts +0 -2
  530. package/dist/src/agent/workflow/snapshot-empty.js +0 -17
  531. package/dist/src/agent/workflow/snapshot.d.ts +0 -28
  532. package/dist/src/agent/workflow/snapshot.js +0 -267
  533. package/dist/src/agent/workflow/step-labels.d.ts +0 -8
  534. package/dist/src/agent/workflow/step-labels.js +0 -50
  535. package/dist/src/agent/workflow/structured-output-tool.d.ts +0 -33
  536. package/dist/src/agent/workflow/structured-output-tool.js +0 -56
  537. package/dist/src/agent/workflow/subagent-runner.d.ts +0 -46
  538. package/dist/src/agent/workflow/subagent-runner.js +0 -221
  539. package/dist/src/agent/workflow/types.d.ts +0 -252
  540. package/dist/src/agent/workflow/types.js +0 -1
  541. package/dist/src/agent/workflow/workflow-child-tools.d.ts +0 -4
  542. package/dist/src/agent/workflow/workflow-child-tools.js +0 -38
  543. package/dist/src/agent-catalog/migrations/identity-markdown-cutover.d.ts +0 -5
  544. package/dist/src/agent-catalog/migrations/identity-markdown-cutover.js +0 -94
  545. package/dist/src/agent-catalog/migrations/legacy-config-cutover.d.ts +0 -11
  546. package/dist/src/agent-catalog/migrations/legacy-config-cutover.js +0 -194
  547. package/dist/src/chat-commands/builtins/workflow.d.ts +0 -18
  548. package/dist/src/chat-commands/builtins/workflow.js +0 -249
  549. package/dist/src/gateway/gateway-workflow-host.types.d.ts +0 -23
  550. package/dist/src/gateway/gateway-workflow-host.types.js +0 -1
  551. package/dist/src/gateway/hono/routes/workflows.d.ts +0 -3
  552. package/dist/src/gateway/hono/routes/workflows.js +0 -572
  553. package/dist/src/knowledge-memory/repair-evidence.d.ts +0 -2
  554. package/dist/src/knowledge-memory/repair-evidence.js +0 -57
  555. package/dist/src/migrations/cloud-public-models.d.ts +0 -7
  556. package/dist/src/migrations/cloud-public-models.js +0 -157
  557. package/dist/src/migrations/memory-config.d.ts +0 -2
  558. package/dist/src/migrations/memory-config.js +0 -76
  559. package/dist/src/migrations/retired-local-stt.d.ts +0 -2
  560. package/dist/src/migrations/retired-local-stt.js +0 -52
  561. package/dist/src/projects/workflow-bind.d.ts +0 -1
  562. package/dist/src/projects/workflow-bind.js +0 -15
  563. package/dist/src/storage/sqlite/migrations/218_core_relation_indexes.sql +0 -26
  564. package/dist/src/storage/sqlite/migrations/219_json_contracts.sql +0 -123
  565. package/dist/src/storage/sqlite/migrations/220_normalize_timestamps.sql +0 -339
  566. package/dist/src/storage/sqlite/migrations/221_ai_usage_retention_index.sql +0 -2
  567. package/dist/src/storage/sqlite/migrations/222_session_config_authority.sql +0 -13
  568. package/dist/src/storage/sqlite/migrations/223_session_creation_receipts.sql +0 -59
  569. package/dist/src/storage/sqlite/migrations/224_task_origin_links.sql +0 -8
  570. package/dist/src/storage/sqlite/migrations/225_task_collaboration.sql +0 -32
  571. package/dist/src/storage/sqlite/migrations/226_task_main_updates.sql +0 -9
  572. package/dist/src/storage/sqlite/migrations/227_task_main_update_decisions.sql +0 -8
  573. package/dist/src/storage/sqlite/migrations/228_task_main_agent_links.sql +0 -14
  574. package/dist/src/storage/sqlite/migrations/229_task_criterion_reviews.sql +0 -12
  575. package/dist/src/storage/sqlite/migrations/230_personal_agent_onboarding.sql +0 -8
  576. package/dist/src/storage/sqlite/migrations/231_task_result_deliveries.sql +0 -32
  577. package/dist/src/storage/sqlite/migrations/232_personal_requests.sql +0 -28
  578. package/dist/src/storage/sqlite/migrations/233_observability_usage_links.sql +0 -3
  579. package/dist/src/storage/sqlite/migrations/234_task_result_reply.sql +0 -14
  580. package/dist/src/storage/sqlite/migrations/235_personal_conversation_priority.sql +0 -3
  581. package/dist/src/storage/sqlite/migrations/236_personal_proactivity.sql +0 -53
  582. package/dist/src/storage/sqlite/migrations/237_personal_strategy_versions.sql +0 -18
  583. package/dist/src/storage/sqlite/migrations/238_browser_record_replay.sql +0 -45
  584. package/dist/src/storage/sqlite/migrations/239_clarification_notifications.sql +0 -26
  585. package/dist/src/storage/sqlite/migrations/240_device_settings.sql +0 -5
  586. package/dist/src/storage/sqlite/migrations/241_device_grant_audit.sql +0 -13
  587. package/dist/src/storage/sqlite/migrations/242_cloud_usage_receipts.sql +0 -5
  588. package/dist/src/storage/sqlite/migrations/243_voice_opening_greetings.sql +0 -12
  589. package/dist/src/storage/sqlite/migrations/244_device_request_proofs.sql +0 -8
  590. package/dist/src/storage/sqlite/migrations/245_memory_learning.sql +0 -125
  591. package/dist/src/storage/sqlite/migrations/246_personal_session_thinking.sql +0 -22
  592. package/dist/src/storage/sqlite/migrations/247_agent_selection_records.sql +0 -32
  593. package/dist/src/storage/sqlite/migrations/248_next_turn_suggestions.sql +0 -20
  594. package/dist/src/storage/sqlite/migrations/249_task_allocations.sql +0 -17
  595. package/dist/src/storage/sqlite/migrations/250_research_checkpoints.sql +0 -15
  596. package/dist/src/storage/sqlite/migrations/251_personal_result_reads.sql +0 -40
  597. package/dist/src/storage/sqlite/migrations/252_task_work_revisions.sql +0 -15
  598. package/dist/src/storage/sqlite/migrations/253_discussion_processing_recovery.sql +0 -20
  599. package/dist/src/storage/sqlite/migrations/254_discussion_annotations.sql +0 -17
  600. package/dist/src/storage/sqlite/migrations/255_discussion_chapter_progress.sql +0 -10
  601. package/dist/src/storage/sqlite/migrations/256_task_main_update_retries.sql +0 -21
  602. package/dist/src/storage/sqlite/migrations/257_session_composer_history.sql +0 -11
  603. package/dist/src/storage/sqlite/migrations/258_task_phase_changes.sql +0 -20
  604. package/dist/src/storage/sqlite/migrations/259_personal_default_style.sql +0 -10
  605. package/dist/src/storage/sqlite/migrations/discover.d.ts +0 -4
  606. package/dist/src/storage/sqlite/migrations/discover.js +0 -40
  607. package/dist/src/storage/sqlite/migrations/errors.js +0 -40
  608. package/dist/src/storage/sqlite/migrations/runner.d.ts +0 -22
  609. package/dist/src/storage/sqlite/migrations/runner.js +0 -112
  610. package/dist/src/storage/sqlite/migrations/types.d.ts +0 -12
  611. package/dist/src/storage/sqlite/migrations/types.js +0 -1
  612. package/dist/src/tasks/task-workflow-coordinator.d.ts +0 -5
  613. package/dist/src/tasks/task-workflow-coordinator.js +0 -55
  614. package/dist/src/tui/tui-workflow-slash.d.ts +0 -29
  615. package/dist/src/tui/tui-workflow-slash.js +0 -58
  616. package/dist/src/workflows/authoring/index.d.ts +0 -2
  617. package/dist/src/workflows/authoring/index.js +0 -3
  618. package/dist/src/workflows/authoring/workflow-draft-defaults.d.ts +0 -3
  619. package/dist/src/workflows/authoring/workflow-draft-defaults.js +0 -63
  620. package/dist/src/workflows/authoring/workflow-draft-store.d.ts +0 -29
  621. package/dist/src/workflows/authoring/workflow-draft-store.js +0 -52
  622. package/dist/src/workflows/context/workflow-context-snapshot-repository.d.ts +0 -21
  623. package/dist/src/workflows/context/workflow-context-snapshot-repository.js +0 -41
  624. package/dist/src/workflows/context/workflow-context.d.ts +0 -18
  625. package/dist/src/workflows/context/workflow-context.js +0 -164
  626. package/dist/src/workflows/domain/command.d.ts +0 -19
  627. package/dist/src/workflows/domain/command.js +0 -1
  628. package/dist/src/workflows/domain/definition-utils.d.ts +0 -18
  629. package/dist/src/workflows/domain/definition-utils.js +0 -90
  630. package/dist/src/workflows/domain/definition.d.ts +0 -164
  631. package/dist/src/workflows/domain/definition.js +0 -1
  632. package/dist/src/workflows/domain/event.d.ts +0 -88
  633. package/dist/src/workflows/domain/event.js +0 -1
  634. package/dist/src/workflows/domain/index.d.ts +0 -8
  635. package/dist/src/workflows/domain/index.js +0 -5
  636. package/dist/src/workflows/domain/result.d.ts +0 -68
  637. package/dist/src/workflows/domain/result.js +0 -1
  638. package/dist/src/workflows/domain/run.d.ts +0 -257
  639. package/dist/src/workflows/domain/run.js +0 -12
  640. package/dist/src/workflows/domain/schema-validation.d.ts +0 -8
  641. package/dist/src/workflows/domain/schema-validation.js +0 -26
  642. package/dist/src/workflows/domain/validation.d.ts +0 -22
  643. package/dist/src/workflows/domain/validation.js +0 -318
  644. package/dist/src/workflows/engine/index.d.ts +0 -2
  645. package/dist/src/workflows/engine/index.js +0 -3
  646. package/dist/src/workflows/engine/projector.d.ts +0 -3
  647. package/dist/src/workflows/engine/projector.js +0 -276
  648. package/dist/src/workflows/engine/workflow-engine.d.ts +0 -88
  649. package/dist/src/workflows/engine/workflow-engine.js +0 -719
  650. package/dist/src/workflows/index.d.ts +0 -11
  651. package/dist/src/workflows/index.js +0 -19
  652. package/dist/src/workflows/project-presets/project-workflow-preset-repository.d.ts +0 -20
  653. package/dist/src/workflows/project-presets/project-workflow-preset-repository.js +0 -39
  654. package/dist/src/workflows/registry/catalog-workflow-definition-registry.d.ts +0 -9
  655. package/dist/src/workflows/registry/catalog-workflow-definition-registry.js +0 -30
  656. package/dist/src/workflows/registry/index.d.ts +0 -2
  657. package/dist/src/workflows/registry/index.js +0 -2
  658. package/dist/src/workflows/registry/workflow-definition-registry.d.ts +0 -15
  659. package/dist/src/workflows/registry/workflow-definition-registry.js +0 -1
  660. package/dist/src/workflows/runtime/graph-workflow-runtime.d.ts +0 -10
  661. package/dist/src/workflows/runtime/graph-workflow-runtime.js +0 -289
  662. package/dist/src/workflows/runtime/index.d.ts +0 -2
  663. package/dist/src/workflows/runtime/index.js +0 -2
  664. package/dist/src/workflows/runtime/workflow-runtime-port.d.ts +0 -13
  665. package/dist/src/workflows/runtime/workflow-runtime-port.js +0 -1
  666. package/dist/src/workflows/service/run-view-to-snapshot.d.ts +0 -4
  667. package/dist/src/workflows/service/run-view-to-snapshot.js +0 -64
  668. package/dist/src/workflows/service/workflow-run-service.d.ts +0 -63
  669. package/dist/src/workflows/service/workflow-run-service.js +0 -892
  670. package/dist/src/workflows/service/workflow-run-service.types.d.ts +0 -62
  671. package/dist/src/workflows/service/workflow-run-service.types.js +0 -1
  672. package/dist/src/workflows/service/workflow-session-bridge.d.ts +0 -33
  673. package/dist/src/workflows/service/workflow-session-bridge.js +0 -244
  674. package/dist/src/workflows/service/workflow-session-key.d.ts +0 -3
  675. package/dist/src/workflows/service/workflow-session-key.js +0 -19
  676. package/dist/src/workflows/service/workflow-writeback-service.d.ts +0 -9
  677. package/dist/src/workflows/service/workflow-writeback-service.js +0 -107
  678. package/dist/src/workflows/store/event-store.d.ts +0 -16
  679. package/dist/src/workflows/store/event-store.js +0 -38
  680. package/dist/src/workflows/store/paths.d.ts +0 -5
  681. package/dist/src/workflows/store/paths.js +0 -18
  682. package/dist/src/workflows/store/run-index-store.d.ts +0 -9
  683. package/dist/src/workflows/store/run-index-store.js +0 -64
  684. package/dist/src/workflows/store/run-store.d.ts +0 -16
  685. package/dist/src/workflows/store/run-store.js +0 -40
  686. package/skills/engineering/workflow-authoring/SKILL.md +0 -32
  687. /package/dist/gateway/static/root/assets/{style-DLioOiRN.css → project-detail-page-DLioOiRN.css} +0 -0
  688. /package/dist/src/storage/sqlite/{migrations/conversation-windows-owners.d.ts → windows-database-owners.d.ts} +0 -0
@@ -1,36 +1,7 @@
1
- -- Baseline schema v217.
2
-
3
- CREATE TABLE sessions (
4
- "conversation_id" TEXT PRIMARY KEY,
5
- agent_id TEXT NOT NULL,
6
- "active_transcript_id" TEXT NOT NULL UNIQUE,
7
- status TEXT NOT NULL DEFAULT 'active',
8
- name TEXT,
9
- tags_json TEXT NOT NULL DEFAULT '[]',
10
- created_at INTEGER NOT NULL,
11
- updated_at INTEGER NOT NULL,
12
- last_accessed_at INTEGER NOT NULL,
13
- session_started_at INTEGER,
14
- last_interaction_at INTEGER,
15
- source_channel TEXT NOT NULL DEFAULT '',
16
- source_chat_id TEXT NOT NULL DEFAULT '',
17
- session_type TEXT,
18
- hidden_from_session_list INTEGER NOT NULL DEFAULT 0,
19
- "parent_conversation_id" TEXT,
20
- workflow_run_id TEXT,
21
- workflow_definition_id TEXT,
22
- workflow_agent_id TEXT,
23
- workflow_agent_label TEXT,
24
- routing_json TEXT,
25
- custom_data_json TEXT,
26
- message_count INTEGER NOT NULL DEFAULT 0,
27
- estimated_tokens INTEGER NOT NULL DEFAULT 0,
28
- compacted_count INTEGER NOT NULL DEFAULT 0,
29
- last_flushed_at TEXT,
30
- flush_count INTEGER NOT NULL DEFAULT 0,
31
- thinking_level TEXT,
32
- verbose_level TEXT
33
- , project_id TEXT);
1
+ CREATE TABLE IF NOT EXISTS schema_meta (
2
+ key TEXT PRIMARY KEY,
3
+ value TEXT NOT NULL
4
+ );
34
5
 
35
6
  CREATE TABLE transcripts (
36
7
  "transcript_id" TEXT PRIMARY KEY,
@@ -54,21 +25,6 @@ CREATE TABLE transcript_entries (
54
25
  FOREIGN KEY ("transcript_id") REFERENCES transcripts("transcript_id")
55
26
  );
56
27
 
57
- CREATE TABLE automations (
58
- automation_id TEXT PRIMARY KEY,
59
- name TEXT NOT NULL,
60
- description TEXT,
61
- enabled INTEGER NOT NULL,
62
- trigger_json TEXT NOT NULL,
63
- action_json TEXT NOT NULL,
64
- reliability_json TEXT,
65
- state_json TEXT NOT NULL DEFAULT '{}',
66
- created_at_ms INTEGER NOT NULL,
67
- updated_at_ms INTEGER NOT NULL
68
- , safety_json TEXT, project_id TEXT, conversation_mode TEXT NOT NULL DEFAULT 'new_session'
69
- CHECK (conversation_mode IN ('new_session', 'continuous')), management_json TEXT
70
- CHECK(management_json IS NULL OR json_valid(management_json)), delivery_json TEXT);
71
-
72
28
  CREATE TABLE automation_runs (
73
29
  run_id TEXT PRIMARY KEY,
74
30
  automation_id TEXT NOT NULL,
@@ -84,7 +40,6 @@ CREATE TABLE automation_runs (
84
40
  summary TEXT,
85
41
  error TEXT,
86
42
  "conversation_id" TEXT,
87
- workflow_run_id TEXT,
88
43
  model TEXT
89
44
  , deadline_at_ms INTEGER, current_phase TEXT, cancel_requested_at_ms INTEGER, cancel_confirmed_at_ms INTEGER, termination_json TEXT, heartbeat_at_ms INTEGER, lease_owner TEXT, lease_expires_at_ms INTEGER, attempt_number INTEGER NOT NULL DEFAULT 1, root_run_id TEXT, read_at_ms INTEGER);
90
45
 
@@ -99,7 +54,7 @@ CREATE TABLE automation_run_events (
99
54
  );
100
55
 
101
56
  CREATE TABLE home_attention_acknowledgements (
102
- subject_kind TEXT NOT NULL CHECK (subject_kind IN ('automation_run', 'workflow_run')),
57
+ subject_kind TEXT NOT NULL CHECK (subject_kind IN ('automation_run')),
103
58
  subject_id TEXT NOT NULL,
104
59
  acknowledged_at INTEGER NOT NULL,
105
60
  PRIMARY KEY (subject_kind, subject_id)
@@ -210,7 +165,7 @@ CREATE TABLE browser_automation_runs (
210
165
  created_at_ms INTEGER NOT NULL,
211
166
  started_at_ms INTEGER,
212
167
  ended_at_ms INTEGER,
213
- duration_ms INTEGER,
168
+ duration_ms INTEGER, client_request_id TEXT, business_outcome TEXT,
214
169
  FOREIGN KEY (automation_id) REFERENCES browser_automations(automation_id) ON DELETE CASCADE
215
170
  );
216
171
 
@@ -262,97 +217,6 @@ CREATE TABLE knowledge_sync_runs (
262
217
  finished_at INTEGER
263
218
  , collection_scope TEXT);
264
219
 
265
- CREATE TABLE connector_catalog_entries (
266
- connector_id TEXT PRIMARY KEY,
267
- provider TEXT NOT NULL,
268
- definition_json TEXT NOT NULL,
269
- fetched_at TEXT NOT NULL,
270
- expires_at TEXT
271
- );
272
-
273
- CREATE TABLE connector_installations (
274
- id TEXT PRIMARY KEY,
275
- connector_id TEXT NOT NULL,
276
- principal_id TEXT NOT NULL,
277
- enabled INTEGER NOT NULL DEFAULT 1 CHECK (enabled IN (0, 1)),
278
- allowed_agent_ids_json TEXT NOT NULL DEFAULT '[]',
279
- max_scope TEXT NOT NULL DEFAULT 'read' CHECK (max_scope IN ('read', 'write', 'admin')),
280
- confirmation_policy TEXT NOT NULL DEFAULT 'writes'
281
- CHECK (confirmation_policy IN ('always', 'writes', 'admin', 'never')),
282
- selected_account_ids_json TEXT NOT NULL DEFAULT '[]',
283
- created_at TEXT NOT NULL,
284
- updated_at TEXT NOT NULL,
285
- UNIQUE(connector_id, principal_id)
286
- );
287
-
288
- CREATE TABLE connector_action_metadata (
289
- connector_id TEXT NOT NULL,
290
- action_id TEXT NOT NULL,
291
- toolkit TEXT,
292
- scope TEXT NOT NULL DEFAULT 'write' CHECK (scope IN ('read', 'write', 'admin')),
293
- curated INTEGER NOT NULL DEFAULT 0 CHECK (curated IN (0, 1)),
294
- input_schema_json TEXT,
295
- schema_version TEXT,
296
- cached_at TEXT NOT NULL,
297
- PRIMARY KEY(connector_id, action_id)
298
- );
299
-
300
- CREATE TABLE connector_execution_audit (
301
- id TEXT PRIMARY KEY,
302
- installation_id TEXT REFERENCES connector_installations(id) ON DELETE SET NULL,
303
- connection_id TEXT REFERENCES connector_connections(id) ON DELETE SET NULL,
304
- connector_id TEXT NOT NULL,
305
- principal_id TEXT NOT NULL,
306
- agent_id TEXT,
307
- "conversation_id" TEXT,
308
- action_id TEXT NOT NULL,
309
- scope TEXT NOT NULL CHECK (scope IN ('read', 'write', 'admin')),
310
- decision TEXT NOT NULL CHECK (decision IN ('allowed', 'denied', 'confirmation_required')),
311
- result_status TEXT NOT NULL CHECK (result_status IN ('success', 'error', 'not_executed')),
312
- duration_ms INTEGER,
313
- error_code TEXT,
314
- created_at TEXT NOT NULL
315
- );
316
-
317
- CREATE TABLE connector_approvals (
318
- id TEXT PRIMARY KEY,
319
- principal_id TEXT NOT NULL,
320
- connector_id TEXT NOT NULL,
321
- connection_id TEXT REFERENCES connector_connections(id) ON DELETE SET NULL,
322
- agent_id TEXT,
323
- "conversation_id" TEXT,
324
- action_id TEXT NOT NULL,
325
- scope TEXT NOT NULL CHECK (scope IN ('read', 'write', 'admin')),
326
- arguments_hash TEXT NOT NULL,
327
- arguments_preview_json TEXT NOT NULL DEFAULT '{}',
328
- status TEXT NOT NULL DEFAULT 'pending'
329
- CHECK (status IN ('pending', 'approved', 'denied', 'expired', 'consumed')),
330
- expires_at TEXT NOT NULL,
331
- created_at TEXT NOT NULL,
332
- decided_at TEXT,
333
- consumed_at TEXT
334
- , wait_id TEXT);
335
-
336
- CREATE TABLE connector_webhook_deliveries (
337
- id TEXT PRIMARY KEY,
338
- provider TEXT NOT NULL,
339
- payload_hash TEXT NOT NULL,
340
- status TEXT NOT NULL DEFAULT 'processing'
341
- CHECK (status IN ('pending', 'processing', 'processed')),
342
- attempts INTEGER NOT NULL DEFAULT 1,
343
- received_at TEXT NOT NULL,
344
- processing_at TEXT,
345
- processed_at TEXT,
346
- last_error TEXT
347
- );
348
-
349
- CREATE TABLE "user_trust_policies" (
350
- principal_id TEXT PRIMARY KEY,
351
- default_action_level TEXT NOT NULL DEFAULT 'confirm'
352
- CHECK (default_action_level IN ('observe', 'suggest', 'confirm', 'auto')),
353
- updated_at TEXT NOT NULL
354
- );
355
-
356
220
  CREATE TABLE knowledge_consumer_watermarks (
357
221
  consumer_id TEXT NOT NULL,
358
222
  source_instance_id TEXT NOT NULL,
@@ -486,12 +350,6 @@ CREATE TABLE interaction_states (
486
350
  updated_at INTEGER NOT NULL
487
351
  );
488
352
 
489
- CREATE TABLE composer_input_history (
490
- id INTEGER PRIMARY KEY AUTOINCREMENT,
491
- text TEXT NOT NULL,
492
- created_at INTEGER NOT NULL
493
- );
494
-
495
353
  CREATE TABLE connector_learning_jobs (
496
354
  job_id TEXT PRIMARY KEY,
497
355
  idempotency_key TEXT NOT NULL UNIQUE,
@@ -720,7 +578,7 @@ CREATE TABLE tasks (
720
578
  version INTEGER NOT NULL DEFAULT 1,
721
579
  created_at INTEGER NOT NULL,
722
580
  updated_at INTEGER NOT NULL,
723
- closed_at INTEGER, board_rank INTEGER NOT NULL DEFAULT 0,
581
+ closed_at INTEGER, board_rank INTEGER NOT NULL DEFAULT 0, manual_phase_revision INTEGER NOT NULL DEFAULT 0, automatic_phase_revision INTEGER NOT NULL DEFAULT 0,
724
582
  CHECK ((phase = 'closed' AND resolution IS NOT NULL) OR (phase <> 'closed' AND resolution IS NULL)),
725
583
  CHECK (parent_task_id IS NULL OR parent_task_id <> task_id),
726
584
  FOREIGN KEY (project_id) REFERENCES projects(project_id) ON DELETE SET NULL,
@@ -839,7 +697,7 @@ CREATE TABLE task_runs (
839
697
  status TEXT NOT NULL CHECK (status IN (
840
698
  'queued', 'running', 'waiting', 'verifying', 'succeeded', 'failed', 'cancelled'
841
699
  )),
842
- executor_kind TEXT NOT NULL CHECK (executor_kind IN ('agent', 'workflow', 'human', 'external')),
700
+ executor_kind TEXT NOT NULL CHECK (executor_kind IN ('agent', 'human', 'external')),
843
701
  executor_ref_json TEXT NOT NULL,
844
702
  trigger_json TEXT NOT NULL,
845
703
  correlation_id TEXT NOT NULL,
@@ -861,7 +719,7 @@ CREATE TABLE task_runs (
861
719
  retry_of_run_id TEXT,
862
720
  terminal_code TEXT,
863
721
  terminal_message TEXT,
864
- version INTEGER NOT NULL DEFAULT 1,
722
+ version INTEGER NOT NULL DEFAULT 1, manual_phase_revision INTEGER NOT NULL DEFAULT 0,
865
723
  FOREIGN KEY (task_id) REFERENCES tasks(task_id) ON DELETE CASCADE,
866
724
  FOREIGN KEY (root_run_id) REFERENCES task_runs(run_id) DEFERRABLE INITIALLY DEFERRED,
867
725
  FOREIGN KEY (parent_run_id) REFERENCES task_runs(run_id) ON DELETE CASCADE,
@@ -935,40 +793,6 @@ CREATE TABLE domain_outbox (
935
793
  attempts INTEGER NOT NULL DEFAULT 0
936
794
  , operation_id TEXT);
937
795
 
938
- CREATE TABLE workflow_runs (
939
- run_id TEXT PRIMARY KEY,
940
- agent_id TEXT NOT NULL,
941
- definition_id TEXT NOT NULL,
942
- definition_version TEXT NOT NULL,
943
- task_run_id TEXT,
944
- "conversation_id" TEXT NOT NULL,
945
- "parent_conversation_id" TEXT,
946
- status TEXT NOT NULL,
947
- source_kind TEXT NOT NULL,
948
- source_json TEXT NOT NULL,
949
- metadata_json TEXT,
950
- title TEXT NOT NULL,
951
- created_at_ms INTEGER NOT NULL,
952
- started_at_ms INTEGER,
953
- completed_at_ms INTEGER,
954
- metrics_json TEXT NOT NULL,
955
- result_preview TEXT,
956
- error_message TEXT,
957
- project_id TEXT,
958
- FOREIGN KEY (task_run_id) REFERENCES task_runs(run_id) ON DELETE SET NULL
959
- );
960
-
961
- CREATE TABLE connector_accounts (
962
- id TEXT PRIMARY KEY,
963
- connector_id TEXT NOT NULL,
964
- principal_id TEXT NOT NULL,
965
- identity_key TEXT,
966
- identity_json TEXT NOT NULL DEFAULT '{}',
967
- current_connection_id TEXT,
968
- created_at TEXT NOT NULL,
969
- updated_at TEXT NOT NULL
970
- , label TEXT, enabled INTEGER NOT NULL DEFAULT 1, allowed_agent_ids_json TEXT, backend_id TEXT, runtime_instance_id TEXT);
971
-
972
796
  CREATE TABLE connector_sync_policies (
973
797
  account_id TEXT PRIMARY KEY REFERENCES connector_accounts(id) ON DELETE CASCADE,
974
798
  scan_enabled INTEGER NOT NULL DEFAULT 1 CHECK(scan_enabled IN (0, 1)),
@@ -1095,27 +919,6 @@ CREATE TABLE task_handoff_snapshots (
1095
919
  FOREIGN KEY ("to_conversation_id") REFERENCES sessions("conversation_id") ON DELETE CASCADE
1096
920
  );
1097
921
 
1098
- CREATE TABLE workflow_context_snapshots (
1099
- snapshot_id TEXT PRIMARY KEY,
1100
- trace_id TEXT NOT NULL UNIQUE,
1101
- run_id TEXT NOT NULL,
1102
- project_id TEXT,
1103
- selected_items_json TEXT NOT NULL,
1104
- estimated_tokens INTEGER NOT NULL DEFAULT 0,
1105
- content_hash TEXT NOT NULL,
1106
- created_at INTEGER NOT NULL
1107
- );
1108
-
1109
- CREATE TABLE project_workflow_presets (
1110
- project_id TEXT NOT NULL,
1111
- definition_id TEXT NOT NULL,
1112
- context_refs_json TEXT NOT NULL DEFAULT '[]',
1113
- created_at INTEGER NOT NULL,
1114
- updated_at INTEGER NOT NULL,
1115
- PRIMARY KEY (project_id, definition_id),
1116
- FOREIGN KEY (project_id) REFERENCES projects(project_id) ON DELETE CASCADE
1117
- );
1118
-
1119
922
  CREATE TABLE "session_config" (
1120
923
  "conversation_id" TEXT PRIMARY KEY,
1121
924
  thinking_level TEXT,
@@ -1279,15 +1082,6 @@ CREATE TABLE durable_state (
1279
1082
  UNIQUE(namespace, scope, key)
1280
1083
  );
1281
1084
 
1282
- CREATE TABLE workflow_events (
1283
- agent_id TEXT NOT NULL,
1284
- run_id TEXT NOT NULL,
1285
- sequence INTEGER NOT NULL CHECK(sequence > 0),
1286
- id TEXT NOT NULL UNIQUE,
1287
- payload TEXT NOT NULL CHECK(json_valid(payload)),
1288
- PRIMARY KEY(agent_id, run_id, sequence)
1289
- );
1290
-
1291
1085
  CREATE TABLE note_snapshots (
1292
1086
  note_id TEXT NOT NULL REFERENCES notes(note_id) ON DELETE CASCADE,
1293
1087
  timestamp INTEGER NOT NULL,
@@ -1377,7 +1171,7 @@ CREATE TABLE user_assertion_evidence (
1377
1171
  evidence_id TEXT NOT NULL REFERENCES context_evidence(evidence_id) ON DELETE CASCADE,
1378
1172
  relation TEXT NOT NULL CHECK(relation IN ('supports', 'contradicts', 'supersedes')),
1379
1173
  confidence REAL NOT NULL CHECK(confidence >= 0 AND confidence <= 1),
1380
- created_at INTEGER NOT NULL,
1174
+ created_at INTEGER NOT NULL, content_hash TEXT,
1381
1175
  PRIMARY KEY(assertion_id, evidence_id, relation)
1382
1176
  );
1383
1177
 
@@ -1443,12 +1237,6 @@ CREATE TABLE user_priority_windows (
1443
1237
  CHECK(valid_to >= valid_from)
1444
1238
  );
1445
1239
 
1446
- CREATE VIRTUAL TABLE knowledge_items_fts USING fts5(
1447
- content,
1448
- knowledge_id UNINDEXED,
1449
- tokenize='unicode61'
1450
- );
1451
-
1452
1240
  CREATE TABLE memory_maintenance_runs (
1453
1241
  run_id TEXT PRIMARY KEY,
1454
1242
  principal_id TEXT NOT NULL,
@@ -1560,7 +1348,7 @@ CREATE TABLE "session_inputs" (
1560
1348
  kind IN ('message', 'connection_resume', 'clarification_resume')
1561
1349
  ),
1562
1350
  payload_json TEXT,
1563
- task_run_id TEXT,
1351
+ task_run_id TEXT, interrupt_requested INTEGER NOT NULL DEFAULT 0 CHECK(interrupt_requested IN (0, 1)),
1564
1352
  UNIQUE("conversation_id", client_message_id)
1565
1353
  );
1566
1354
 
@@ -1585,20 +1373,6 @@ CREATE TABLE device_access_sessions (
1585
1373
  revoked_at INTEGER
1586
1374
  );
1587
1375
 
1588
- CREATE TABLE notification_deliveries (
1589
- event_id TEXT NOT NULL,
1590
- device_id TEXT NOT NULL,
1591
- status TEXT NOT NULL CHECK (status IN ('pending', 'accepted', 'delivered', 'dead')),
1592
- attempts INTEGER NOT NULL DEFAULT 0,
1593
- next_attempt_at INTEGER NOT NULL,
1594
- provider_ticket_id TEXT,
1595
- last_error TEXT,
1596
- updated_at INTEGER NOT NULL,
1597
- PRIMARY KEY (event_id, device_id),
1598
- FOREIGN KEY (event_id) REFERENCES notification_events(event_id) ON DELETE CASCADE,
1599
- FOREIGN KEY (device_id) REFERENCES device_push_endpoints(device_id) ON DELETE CASCADE
1600
- );
1601
-
1602
1376
  CREATE TABLE browser_tab_bindings (
1603
1377
  binding_id TEXT PRIMARY KEY,
1604
1378
  "conversation_id" TEXT NOT NULL UNIQUE,
@@ -1758,7 +1532,7 @@ CREATE TABLE "devices" (
1758
1532
  scopes_json TEXT NOT NULL,
1759
1533
  created_at INTEGER NOT NULL,
1760
1534
  last_seen_at INTEGER,
1761
- revoked_at INTEGER,
1535
+ revoked_at INTEGER, request_proof_version INTEGER NOT NULL DEFAULT 1 CHECK(request_proof_version = 1),
1762
1536
  CHECK ((platform = 'chrome') = (extension_id IS NOT NULL))
1763
1537
  );
1764
1538
 
@@ -1777,17 +1551,6 @@ CREATE TABLE "device_push_endpoints" (
1777
1551
  updated_at INTEGER NOT NULL
1778
1552
  );
1779
1553
 
1780
- CREATE TABLE connector_backends (
1781
- id TEXT PRIMARY KEY,
1782
- mode TEXT NOT NULL CHECK(mode IN ('managed', 'byok')),
1783
- label TEXT NOT NULL,
1784
- credential_ref TEXT,
1785
- credential_source TEXT NOT NULL DEFAULT 'stored' CHECK(credential_source IN ('stored','environment')),
1786
- verified_at TEXT,
1787
- active INTEGER NOT NULL DEFAULT 0,
1788
- created_at TEXT NOT NULL
1789
- );
1790
-
1791
1554
  CREATE TABLE connector_objective_accounts (
1792
1555
  conversation_id TEXT NOT NULL,
1793
1556
  transcript_id TEXT NOT NULL,
@@ -1797,26 +1560,6 @@ CREATE TABLE connector_objective_accounts (
1797
1560
  PRIMARY KEY(conversation_id, transcript_id, objective_id, connector_id, account_id)
1798
1561
  );
1799
1562
 
1800
- CREATE TABLE "connector_connections" (
1801
- id TEXT PRIMARY KEY,
1802
- installation_id TEXT REFERENCES connector_installations(id) ON DELETE SET NULL,
1803
- connector_id TEXT NOT NULL,
1804
- provider TEXT NOT NULL,
1805
- principal_id TEXT NOT NULL,
1806
- provider_connection_id TEXT NOT NULL,
1807
- alias TEXT,
1808
- identity_json TEXT NOT NULL DEFAULT '{}',
1809
- status TEXT NOT NULL DEFAULT 'unknown' CHECK(status IN ('pending','active','expired','failed','revoked','disabled','unknown')),
1810
- is_default INTEGER NOT NULL DEFAULT 0 CHECK(is_default IN (0,1)),
1811
- connected_at TEXT,
1812
- expires_at TEXT,
1813
- last_error TEXT,
1814
- metadata_json TEXT NOT NULL DEFAULT '{}',
1815
- created_at TEXT NOT NULL,
1816
- updated_at TEXT NOT NULL,
1817
- account_id TEXT REFERENCES connector_accounts(id) ON DELETE CASCADE
1818
- );
1819
-
1820
1563
  CREATE TABLE connector_authorization_attempts (
1821
1564
  id TEXT PRIMARY KEY,
1822
1565
  principal_id TEXT NOT NULL,
@@ -1973,7 +1716,10 @@ CREATE TABLE knowledge_items (
1973
1716
  source_json TEXT NOT NULL DEFAULT '{}' CHECK(json_valid(source_json)),
1974
1717
  created_at INTEGER NOT NULL,
1975
1718
  updated_at INTEGER NOT NULL,
1976
- record_class TEXT NOT NULL DEFAULT 'memory' CHECK(record_class IN ('memory', 'source_index')),
1719
+ record_class TEXT NOT NULL DEFAULT 'memory' CHECK(record_class IN ('memory', 'source_index')), claim_mode TEXT NOT NULL DEFAULT 'observed'
1720
+ CHECK (claim_mode IN ('explicit', 'observed', 'inferred', 'reported')), verification TEXT NOT NULL DEFAULT 'supported'
1721
+ CHECK (verification IN ('supported', 'tentative', 'conflicted')), sensitivity TEXT NOT NULL DEFAULT 'normal'
1722
+ CHECK (sensitivity IN ('normal', 'personal', 'secret', 'regulated')),
1977
1723
  CHECK(valid_to IS NULL OR valid_from IS NULL OR valid_to >= valid_from)
1978
1724
  );
1979
1725
 
@@ -2166,18 +1912,6 @@ CREATE TABLE agent_provisioning_jobs (
2166
1912
  updated_at INTEGER NOT NULL
2167
1913
  );
2168
1914
 
2169
- CREATE TABLE application_migrations (
2170
- id TEXT PRIMARY KEY,
2171
- state TEXT NOT NULL,
2172
- source_digest TEXT,
2173
- source_backup_path TEXT,
2174
- database_backup_path TEXT,
2175
- error_json TEXT CHECK(error_json IS NULL OR json_valid(error_json)),
2176
- started_at INTEGER NOT NULL,
2177
- completed_at INTEGER,
2178
- updated_at INTEGER NOT NULL
2179
- );
2180
-
2181
1915
  CREATE TABLE understanding_consent_receipts (
2182
1916
  receipt_id TEXT PRIMARY KEY,
2183
1917
  grant_id TEXT NOT NULL REFERENCES understanding_source_grants(grant_id) ON DELETE CASCADE,
@@ -2231,32 +1965,6 @@ CREATE TABLE user_assertion_edges (
2231
1965
  CHECK(from_assertion_id <> to_assertion_id)
2232
1966
  );
2233
1967
 
2234
- CREATE TABLE automation_events (
2235
- event_id TEXT PRIMARY KEY,
2236
- event_type TEXT NOT NULL,
2237
- schema_version INTEGER NOT NULL DEFAULT 1,
2238
- source TEXT NOT NULL,
2239
- subject_kind TEXT,
2240
- subject_id TEXT,
2241
- occurred_at_ms INTEGER NOT NULL,
2242
- ingested_at_ms INTEGER NOT NULL,
2243
- correlation_id TEXT NOT NULL,
2244
- causation_id TEXT,
2245
- root_event_id TEXT NOT NULL,
2246
- chain_depth INTEGER NOT NULL DEFAULT 0 CHECK(chain_depth BETWEEN 0 AND 32),
2247
- dedupe_key TEXT,
2248
- trust TEXT NOT NULL CHECK(trust IN ('system', 'user', 'connector', 'untrusted_webhook')),
2249
- payload_json TEXT NOT NULL,
2250
- projection_status TEXT NOT NULL DEFAULT 'pending'
2251
- CHECK(projection_status IN ('pending', 'projecting', 'retrying', 'projected', 'dead_letter')),
2252
- projected_at_ms INTEGER,
2253
- projection_attempts INTEGER NOT NULL DEFAULT 0,
2254
- projection_next_attempt_at_ms INTEGER NOT NULL DEFAULT 0,
2255
- projection_error TEXT,
2256
- projection_owner TEXT,
2257
- projection_lease_until_ms INTEGER
2258
- );
2259
-
2260
1968
  CREATE TABLE automation_event_deliveries (
2261
1969
  event_id TEXT NOT NULL,
2262
1970
  automation_id TEXT NOT NULL,
@@ -2281,13 +1989,58 @@ CREATE TABLE automation_results (
2281
1989
  FOREIGN KEY(run_id) REFERENCES automation_runs(run_id) ON DELETE CASCADE
2282
1990
  );
2283
1991
 
2284
- CREATE TABLE automation_result_deliveries (
1992
+ CREATE TABLE "automations" (
1993
+ automation_id TEXT PRIMARY KEY,
1994
+ name TEXT NOT NULL,
1995
+ description TEXT,
1996
+ enabled INTEGER NOT NULL,
1997
+ trigger_json TEXT NOT NULL CHECK(json_valid(trigger_json)),
1998
+ action_json TEXT NOT NULL CHECK(json_valid(action_json)),
1999
+ reliability_json TEXT CHECK(reliability_json IS NULL OR json_valid(reliability_json)),
2000
+ state_json TEXT NOT NULL DEFAULT '{}' CHECK(json_valid(state_json)),
2001
+ created_at_ms INTEGER NOT NULL,
2002
+ updated_at_ms INTEGER NOT NULL,
2003
+ safety_json TEXT CHECK(safety_json IS NULL OR json_valid(safety_json)),
2004
+ project_id TEXT,
2005
+ conversation_mode TEXT NOT NULL DEFAULT 'new_session'
2006
+ CHECK(conversation_mode IN ('new_session', 'continuous')),
2007
+ management_json TEXT CHECK(management_json IS NULL OR json_valid(management_json)),
2008
+ delivery_json TEXT NOT NULL CHECK(json_valid(delivery_json))
2009
+ );
2010
+
2011
+ CREATE TABLE "automation_events" (
2012
+ event_id TEXT PRIMARY KEY,
2013
+ event_type TEXT NOT NULL,
2014
+ schema_version INTEGER NOT NULL DEFAULT 1,
2015
+ source TEXT NOT NULL,
2016
+ subject_kind TEXT,
2017
+ subject_id TEXT,
2018
+ occurred_at_ms INTEGER NOT NULL,
2019
+ ingested_at_ms INTEGER NOT NULL,
2020
+ correlation_id TEXT NOT NULL,
2021
+ causation_id TEXT,
2022
+ root_event_id TEXT NOT NULL,
2023
+ chain_depth INTEGER NOT NULL DEFAULT 0 CHECK(chain_depth BETWEEN 0 AND 32),
2024
+ dedupe_key TEXT,
2025
+ trust TEXT NOT NULL CHECK(trust IN ('system', 'user', 'connector', 'untrusted_webhook')),
2026
+ payload_json TEXT NOT NULL CHECK(json_valid(payload_json)),
2027
+ projection_status TEXT NOT NULL DEFAULT 'pending'
2028
+ CHECK(projection_status IN ('pending', 'projecting', 'retrying', 'projected', 'dead_letter')),
2029
+ projected_at_ms INTEGER,
2030
+ projection_attempts INTEGER NOT NULL DEFAULT 0,
2031
+ projection_next_attempt_at_ms INTEGER NOT NULL DEFAULT 0,
2032
+ projection_error TEXT,
2033
+ projection_owner TEXT,
2034
+ projection_lease_until_ms INTEGER
2035
+ );
2036
+
2037
+ CREATE TABLE "automation_result_deliveries" (
2285
2038
  delivery_id TEXT NOT NULL UNIQUE,
2286
2039
  run_id TEXT NOT NULL,
2287
2040
  destination_key TEXT NOT NULL,
2288
2041
  kind TEXT NOT NULL,
2289
2042
  status TEXT NOT NULL CHECK(status IN ('pending', 'delivering', 'retrying', 'delivered', 'dead_letter')),
2290
- config_json TEXT NOT NULL,
2043
+ config_json TEXT NOT NULL CHECK(json_valid(config_json)),
2291
2044
  attempts INTEGER NOT NULL DEFAULT 0,
2292
2045
  next_attempt_at_ms INTEGER NOT NULL,
2293
2046
  last_error TEXT,
@@ -2299,7 +2052,7 @@ CREATE TABLE automation_result_deliveries (
2299
2052
  FOREIGN KEY(run_id) REFERENCES automation_results(run_id) ON DELETE CASCADE
2300
2053
  );
2301
2054
 
2302
- CREATE TABLE ai_usage_events (
2055
+ CREATE TABLE "ai_usage_events" (
2303
2056
  id TEXT PRIMARY KEY,
2304
2057
  trace_id TEXT NOT NULL,
2305
2058
  parent_event_id TEXT,
@@ -2324,38 +2077,816 @@ CREATE TABLE ai_usage_events (
2324
2077
  total_tokens INTEGER,
2325
2078
  estimated_cost_microusd INTEGER,
2326
2079
  cost_source TEXT NOT NULL CHECK(cost_source IN ('model_catalog', 'local', 'unknown')),
2327
- pricing_snapshot_json TEXT,
2080
+ pricing_snapshot_json TEXT CHECK(pricing_snapshot_json IS NULL OR json_valid(pricing_snapshot_json)),
2328
2081
  error_summary TEXT,
2329
2082
  created_at INTEGER NOT NULL,
2330
2083
  updated_at INTEGER NOT NULL
2331
- );
2332
-
2333
- INSERT INTO "work_discovery_onboarding" VALUES (1,'not_started',NULL,NULL,NULL,0);
2334
-
2335
- INSERT INTO "discussion_capture_settings" VALUES ('default',1,NULL,1789567824603);
2336
-
2337
- INSERT INTO "connector_runtime_identity" VALUES (1,'cf78f03b31a9f8df6becbbe12c9af630');
2084
+ , otel_trace_id TEXT, otel_span_id TEXT, cloud_request_id TEXT, cloud_billing_json TEXT
2085
+ CHECK(cloud_billing_json IS NULL OR json_valid(cloud_billing_json)));
2338
2086
 
2339
- CREATE INDEX idx_sessions_agent_updated
2340
- ON sessions(agent_id, updated_at DESC);
2087
+ CREATE TABLE "sessions" (
2088
+ conversation_id TEXT PRIMARY KEY,
2089
+ agent_id TEXT NOT NULL,
2090
+ active_transcript_id TEXT NOT NULL UNIQUE,
2091
+ status TEXT NOT NULL DEFAULT 'active',
2092
+ name TEXT,
2093
+ tags_json TEXT NOT NULL DEFAULT '[]',
2094
+ created_at INTEGER NOT NULL,
2095
+ updated_at INTEGER NOT NULL,
2096
+ last_accessed_at INTEGER NOT NULL,
2097
+ session_started_at INTEGER,
2098
+ last_interaction_at INTEGER,
2099
+ source_channel TEXT NOT NULL DEFAULT '',
2100
+ source_chat_id TEXT NOT NULL DEFAULT '',
2101
+ session_type TEXT,
2102
+ hidden_from_session_list INTEGER NOT NULL DEFAULT 0,
2103
+ parent_conversation_id TEXT,
2104
+ routing_json TEXT,
2105
+ custom_data_json TEXT,
2106
+ message_count INTEGER NOT NULL DEFAULT 0,
2107
+ estimated_tokens INTEGER NOT NULL DEFAULT 0,
2108
+ compacted_count INTEGER NOT NULL DEFAULT 0,
2109
+ last_flushed_at INTEGER,
2110
+ flush_count INTEGER NOT NULL DEFAULT 0,
2111
+ project_id TEXT
2112
+ );
2341
2113
 
2342
- CREATE INDEX idx_sessions_status
2343
- ON sessions(status);
2114
+ CREATE TABLE "connector_catalog_entries" (
2115
+ connector_id TEXT PRIMARY KEY,
2116
+ provider TEXT NOT NULL,
2117
+ definition_json TEXT NOT NULL,
2118
+ fetched_at INTEGER NOT NULL,
2119
+ expires_at INTEGER
2120
+ );
2344
2121
 
2345
- CREATE INDEX idx_sessions_source_channel
2346
- ON sessions(source_channel);
2122
+ CREATE TABLE "connector_installations" (
2123
+ id TEXT PRIMARY KEY,
2124
+ connector_id TEXT NOT NULL,
2125
+ principal_id TEXT NOT NULL,
2126
+ enabled INTEGER NOT NULL DEFAULT 1 CHECK(enabled IN (0, 1)),
2127
+ allowed_agent_ids_json TEXT NOT NULL DEFAULT '[]',
2128
+ max_scope TEXT NOT NULL DEFAULT 'read' CHECK(max_scope IN ('read', 'write', 'admin')),
2129
+ confirmation_policy TEXT NOT NULL DEFAULT 'writes'
2130
+ CHECK(confirmation_policy IN ('always', 'writes', 'admin', 'never')),
2131
+ selected_account_ids_json TEXT NOT NULL DEFAULT '[]',
2132
+ created_at INTEGER NOT NULL,
2133
+ updated_at INTEGER NOT NULL,
2134
+ UNIQUE(connector_id, principal_id)
2135
+ );
2347
2136
 
2348
- CREATE INDEX idx_sessions_last_interaction
2349
- ON sessions(last_interaction_at DESC);
2137
+ CREATE TABLE "connector_accounts" (
2138
+ id TEXT PRIMARY KEY,
2139
+ connector_id TEXT NOT NULL,
2140
+ principal_id TEXT NOT NULL,
2141
+ identity_key TEXT,
2142
+ identity_json TEXT NOT NULL DEFAULT '{}',
2143
+ current_connection_id TEXT,
2144
+ created_at INTEGER NOT NULL,
2145
+ updated_at INTEGER NOT NULL,
2146
+ label TEXT,
2147
+ enabled INTEGER NOT NULL DEFAULT 1,
2148
+ allowed_agent_ids_json TEXT,
2149
+ backend_id TEXT,
2150
+ runtime_instance_id TEXT
2151
+ );
2350
2152
 
2351
- CREATE INDEX idx_sessions_type
2352
- ON sessions(session_type);
2153
+ CREATE TABLE "connector_connections" (
2154
+ id TEXT PRIMARY KEY,
2155
+ installation_id TEXT REFERENCES connector_installations(id) ON DELETE SET NULL,
2156
+ connector_id TEXT NOT NULL,
2157
+ provider TEXT NOT NULL,
2158
+ principal_id TEXT NOT NULL,
2159
+ provider_connection_id TEXT NOT NULL,
2160
+ alias TEXT,
2161
+ identity_json TEXT NOT NULL DEFAULT '{}',
2162
+ status TEXT NOT NULL DEFAULT 'unknown'
2163
+ CHECK(status IN ('pending', 'active', 'expired', 'failed', 'revoked', 'disabled', 'unknown')),
2164
+ is_default INTEGER NOT NULL DEFAULT 0 CHECK(is_default IN (0, 1)),
2165
+ connected_at INTEGER,
2166
+ expires_at INTEGER,
2167
+ last_error TEXT,
2168
+ metadata_json TEXT NOT NULL DEFAULT '{}',
2169
+ created_at INTEGER NOT NULL,
2170
+ updated_at INTEGER NOT NULL,
2171
+ account_id TEXT REFERENCES connector_accounts(id) ON DELETE CASCADE
2172
+ );
2353
2173
 
2354
- CREATE INDEX idx_sessions_workflow_run
2355
- ON sessions(workflow_run_id);
2174
+ CREATE TABLE "connector_action_metadata" (
2175
+ connector_id TEXT NOT NULL,
2176
+ action_id TEXT NOT NULL,
2177
+ toolkit TEXT,
2178
+ scope TEXT NOT NULL DEFAULT 'write' CHECK(scope IN ('read', 'write', 'admin')),
2179
+ curated INTEGER NOT NULL DEFAULT 0 CHECK(curated IN (0, 1)),
2180
+ input_schema_json TEXT,
2181
+ schema_version TEXT,
2182
+ cached_at INTEGER NOT NULL,
2183
+ PRIMARY KEY(connector_id, action_id)
2184
+ );
2356
2185
 
2357
- CREATE INDEX idx_sessions_parent
2358
- ON sessions("parent_conversation_id");
2186
+ CREATE TABLE "connector_execution_audit" (
2187
+ id TEXT PRIMARY KEY,
2188
+ installation_id TEXT REFERENCES connector_installations(id) ON DELETE SET NULL,
2189
+ connection_id TEXT REFERENCES connector_connections(id) ON DELETE SET NULL,
2190
+ connector_id TEXT NOT NULL,
2191
+ principal_id TEXT NOT NULL,
2192
+ agent_id TEXT,
2193
+ conversation_id TEXT,
2194
+ action_id TEXT NOT NULL,
2195
+ scope TEXT NOT NULL CHECK(scope IN ('read', 'write', 'admin')),
2196
+ decision TEXT NOT NULL CHECK(decision IN ('allowed', 'denied', 'confirmation_required')),
2197
+ result_status TEXT NOT NULL CHECK(result_status IN ('success', 'error', 'not_executed')),
2198
+ duration_ms INTEGER,
2199
+ error_code TEXT,
2200
+ created_at INTEGER NOT NULL
2201
+ );
2202
+
2203
+ CREATE TABLE "connector_approvals" (
2204
+ id TEXT PRIMARY KEY,
2205
+ principal_id TEXT NOT NULL,
2206
+ connector_id TEXT NOT NULL,
2207
+ connection_id TEXT REFERENCES connector_connections(id) ON DELETE SET NULL,
2208
+ agent_id TEXT,
2209
+ conversation_id TEXT,
2210
+ action_id TEXT NOT NULL,
2211
+ scope TEXT NOT NULL CHECK(scope IN ('read', 'write', 'admin')),
2212
+ arguments_hash TEXT NOT NULL,
2213
+ arguments_preview_json TEXT NOT NULL DEFAULT '{}',
2214
+ status TEXT NOT NULL DEFAULT 'pending'
2215
+ CHECK(status IN ('pending', 'approved', 'denied', 'expired', 'consumed')),
2216
+ expires_at INTEGER NOT NULL,
2217
+ created_at INTEGER NOT NULL,
2218
+ decided_at INTEGER,
2219
+ consumed_at INTEGER,
2220
+ wait_id TEXT
2221
+ );
2222
+
2223
+ CREATE TABLE "connector_webhook_deliveries" (
2224
+ id TEXT PRIMARY KEY,
2225
+ provider TEXT NOT NULL,
2226
+ payload_hash TEXT NOT NULL,
2227
+ status TEXT NOT NULL DEFAULT 'processing'
2228
+ CHECK(status IN ('pending', 'processing', 'processed')),
2229
+ attempts INTEGER NOT NULL DEFAULT 1,
2230
+ received_at INTEGER NOT NULL,
2231
+ processing_at INTEGER,
2232
+ processed_at INTEGER,
2233
+ last_error TEXT
2234
+ );
2235
+
2236
+ CREATE TABLE "user_trust_policies" (
2237
+ principal_id TEXT PRIMARY KEY,
2238
+ default_action_level TEXT NOT NULL DEFAULT 'confirm'
2239
+ CHECK(default_action_level IN ('observe', 'suggest', 'confirm', 'auto')),
2240
+ updated_at INTEGER NOT NULL
2241
+ );
2242
+
2243
+ CREATE TABLE "connector_backends" (
2244
+ id TEXT PRIMARY KEY,
2245
+ mode TEXT NOT NULL CHECK(mode IN ('managed', 'byok')),
2246
+ label TEXT NOT NULL,
2247
+ credential_ref TEXT,
2248
+ credential_source TEXT NOT NULL DEFAULT 'stored'
2249
+ CHECK(credential_source IN ('stored', 'environment')),
2250
+ verified_at INTEGER,
2251
+ active INTEGER NOT NULL DEFAULT 0,
2252
+ created_at INTEGER NOT NULL
2253
+ );
2254
+
2255
+ CREATE TABLE session_input_receipts (
2256
+ conversation_id TEXT NOT NULL,
2257
+ client_message_id TEXT NOT NULL,
2258
+ principal_id TEXT NOT NULL,
2259
+ request_hash TEXT NOT NULL,
2260
+ input_id TEXT,
2261
+ transcript_id TEXT NOT NULL,
2262
+ accepted_at INTEGER NOT NULL,
2263
+ PRIMARY KEY (conversation_id, client_message_id)
2264
+ );
2265
+
2266
+ CREATE TABLE session_tombstones (
2267
+ conversation_id TEXT PRIMARY KEY,
2268
+ deleted_at INTEGER NOT NULL
2269
+ );
2270
+
2271
+ CREATE TABLE session_preparation_retries (
2272
+ conversation_id TEXT NOT NULL,
2273
+ idempotency_key TEXT NOT NULL,
2274
+ operation_id TEXT NOT NULL,
2275
+ expected_revision INTEGER NOT NULL,
2276
+ principal_id TEXT NOT NULL,
2277
+ PRIMARY KEY (conversation_id, idempotency_key)
2278
+ );
2279
+
2280
+ CREATE TABLE session_preparations (
2281
+ conversation_id TEXT PRIMARY KEY REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2282
+ operation_id TEXT NOT NULL UNIQUE,
2283
+ creation_json TEXT NOT NULL CHECK(json_valid(creation_json)),
2284
+ state TEXT NOT NULL CHECK(state IN ('preparing', 'ready', 'preparation_failed')),
2285
+ environment_id TEXT NOT NULL,
2286
+ base_commit TEXT,
2287
+ revision INTEGER NOT NULL DEFAULT 1,
2288
+ lease_until INTEGER NOT NULL DEFAULT 0,
2289
+ last_error TEXT,
2290
+ created_at INTEGER NOT NULL,
2291
+ updated_at INTEGER NOT NULL
2292
+ );
2293
+
2294
+ CREATE TABLE session_preparation_cleanup (
2295
+ environment_id TEXT PRIMARY KEY,
2296
+ conversation_id TEXT NOT NULL,
2297
+ not_before INTEGER NOT NULL,
2298
+ last_error TEXT
2299
+ );
2300
+
2301
+ CREATE TABLE task_origin_links (
2302
+ task_id TEXT PRIMARY KEY REFERENCES tasks(task_id) ON DELETE CASCADE,
2303
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2304
+ created_at INTEGER NOT NULL
2305
+ , origin_transcript_id TEXT, request_input_id TEXT);
2306
+
2307
+ CREATE TABLE task_collaboration_entries (
2308
+ entry_id TEXT PRIMARY KEY,
2309
+ task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,
2310
+ task_run_id TEXT REFERENCES task_runs(run_id) ON DELETE SET NULL,
2311
+ assignment_epoch INTEGER,
2312
+ sequence INTEGER NOT NULL,
2313
+ author_kind TEXT NOT NULL CHECK (author_kind IN ('main_agent', 'worker_agent', 'user', 'system')),
2314
+ author_id TEXT NOT NULL,
2315
+ kind TEXT NOT NULL CHECK (kind IN ('progress', 'question', 'answer', 'instruction', 'ack', 'result', 'failure')),
2316
+ body TEXT NOT NULL CHECK (length(body) BETWEEN 1 AND 8000),
2317
+ causation_id TEXT,
2318
+ idempotency_key TEXT NOT NULL,
2319
+ created_at INTEGER NOT NULL,
2320
+ UNIQUE (task_id, sequence),
2321
+ UNIQUE (task_id, idempotency_key)
2322
+ );
2323
+
2324
+ CREATE TABLE task_collaboration_deliveries (
2325
+ entry_id TEXT PRIMARY KEY REFERENCES task_collaboration_entries(entry_id) ON DELETE CASCADE,
2326
+ status TEXT NOT NULL CHECK (status IN ('pending', 'delivered', 'confirmed', 'stale')),
2327
+ conversation_id TEXT,
2328
+ assignment_epoch INTEGER,
2329
+ client_message_id TEXT NOT NULL UNIQUE,
2330
+ attempts INTEGER NOT NULL DEFAULT 0,
2331
+ updated_at INTEGER NOT NULL
2332
+ );
2333
+
2334
+ CREATE TABLE task_main_agent_links (
2335
+ task_id TEXT PRIMARY KEY REFERENCES tasks(task_id) ON DELETE CASCADE,
2336
+ agent_id TEXT NOT NULL,
2337
+ origin_conversation_id TEXT,
2338
+ created_at INTEGER NOT NULL
2339
+ );
2340
+
2341
+ CREATE TABLE personal_agent_onboarding (
2342
+ owner_id TEXT PRIMARY KEY,
2343
+ step TEXT NOT NULL,
2344
+ draft_json TEXT NOT NULL DEFAULT '{}',
2345
+ completed_at INTEGER,
2346
+ welcome_finished_at INTEGER,
2347
+ updated_at INTEGER NOT NULL
2348
+ );
2349
+
2350
+ CREATE TABLE task_run_outcomes (
2351
+ task_run_id TEXT NOT NULL REFERENCES task_runs(run_id) ON DELETE CASCADE,
2352
+ outcome_id TEXT NOT NULL,
2353
+ assignment_epoch INTEGER NOT NULL,
2354
+ outcome_json TEXT NOT NULL,
2355
+ created_at INTEGER NOT NULL,
2356
+ PRIMARY KEY(task_run_id, outcome_id)
2357
+ );
2358
+
2359
+ CREATE TABLE task_result_deliveries (
2360
+ delivery_id TEXT PRIMARY KEY,
2361
+ task_run_id TEXT NOT NULL REFERENCES task_runs(run_id) ON DELETE CASCADE,
2362
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2363
+ payload_json TEXT NOT NULL,
2364
+ status TEXT NOT NULL CHECK(status IN ('pending', 'delivered', 'stale', 'failed')),
2365
+ message_entry_id TEXT,
2366
+ attempts INTEGER NOT NULL DEFAULT 0,
2367
+ next_attempt_at INTEGER NOT NULL,
2368
+ last_error TEXT,
2369
+ created_at INTEGER NOT NULL,
2370
+ delivered_at INTEGER,
2371
+ notified_at INTEGER, reply_payload_json TEXT, reply_status TEXT CHECK(reply_status IN ('pending','generating','ready','delivered','stale')), reply_lease_token TEXT, reply_lease_until INTEGER NOT NULL DEFAULT 0, reply_text TEXT, reply_draft_transcript_id TEXT, reply_message_entry_id TEXT, reply_notified_at INTEGER, reply_attempts INTEGER NOT NULL DEFAULT 0, reply_next_attempt_at INTEGER NOT NULL DEFAULT 0, reply_last_error TEXT, reply_context_revision INTEGER,
2372
+ UNIQUE(task_run_id, conversation_id)
2373
+ );
2374
+
2375
+ CREATE TABLE personal_requests (
2376
+ request_id TEXT PRIMARY KEY,
2377
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2378
+ transcript_id TEXT NOT NULL,
2379
+ input_id TEXT NOT NULL,
2380
+ idempotency_key TEXT NOT NULL,
2381
+ request_hash TEXT NOT NULL,
2382
+ objective TEXT NOT NULL,
2383
+ connector_id TEXT NOT NULL,
2384
+ executor_agent_id TEXT NOT NULL,
2385
+ account_id TEXT,
2386
+ parameters_json TEXT NOT NULL,
2387
+ state TEXT NOT NULL CHECK(state IN ('preflighting','waiting_connection','queued','running','completed','failed','cancelled')),
2388
+ connection_wait_id TEXT UNIQUE,
2389
+ task_id TEXT UNIQUE REFERENCES tasks(task_id) ON DELETE SET NULL,
2390
+ result_json TEXT,
2391
+ result_run_id TEXT,
2392
+ delivery_entry_id TEXT,
2393
+ notified_at INTEGER,
2394
+ delivery_attempts INTEGER NOT NULL DEFAULT 0,
2395
+ delivery_next_attempt_at INTEGER NOT NULL DEFAULT 0,
2396
+ delivery_error TEXT,
2397
+ version INTEGER NOT NULL DEFAULT 1,
2398
+ created_at INTEGER NOT NULL,
2399
+ updated_at INTEGER NOT NULL,
2400
+ UNIQUE(conversation_id, transcript_id, idempotency_key)
2401
+ );
2402
+
2403
+ CREATE TABLE personal_attention_threads (
2404
+ id TEXT PRIMARY KEY, owner_id TEXT NOT NULL, agent_id TEXT NOT NULL,
2405
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2406
+ subject TEXT NOT NULL, summary TEXT NOT NULL, kind TEXT NOT NULL CHECK(kind IN ('outcome','discussion','interest')),
2407
+ status TEXT NOT NULL CHECK(status IN ('candidate','active','paused','completed','expired')),
2408
+ authority TEXT NOT NULL CHECK(authority IN ('user_explicit','inferred')),
2409
+ task_id TEXT, project_id TEXT, next_check_at INTEGER, pause_until INTEGER, expires_at INTEGER NOT NULL,
2410
+ last_meaningful_at INTEGER NOT NULL, revision INTEGER NOT NULL DEFAULT 1,
2411
+ created_at INTEGER NOT NULL, updated_at INTEGER NOT NULL
2412
+ );
2413
+
2414
+ CREATE TABLE personal_attention_sources (
2415
+ thread_id TEXT NOT NULL REFERENCES personal_attention_threads(id) ON DELETE CASCADE,
2416
+ evidence_id TEXT REFERENCES context_evidence(evidence_id) ON DELETE CASCADE,
2417
+ entry_id TEXT NOT NULL REFERENCES transcript_entries(entry_id) ON DELETE CASCADE,
2418
+ transcript_id TEXT NOT NULL, conversation_id TEXT NOT NULL,
2419
+ PRIMARY KEY(thread_id, entry_id)
2420
+ );
2421
+
2422
+ CREATE TABLE personal_wakeups (
2423
+ id TEXT PRIMARY KEY, thread_id TEXT NOT NULL REFERENCES personal_attention_threads(id) ON DELETE CASCADE,
2424
+ dedupe_key TEXT NOT NULL UNIQUE, trigger_kind TEXT NOT NULL, source_event_id TEXT,
2425
+ thread_revision INTEGER NOT NULL, not_before INTEGER NOT NULL, expires_at INTEGER NOT NULL,
2426
+ status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending','evaluating','done','cancelled','dead_letter')),
2427
+ lease_token TEXT, lease_until INTEGER NOT NULL DEFAULT 0, attempts INTEGER NOT NULL DEFAULT 0,
2428
+ next_attempt_at INTEGER NOT NULL DEFAULT 0, last_error TEXT, created_at INTEGER NOT NULL
2429
+ );
2430
+
2431
+ CREATE TABLE personal_outreach (
2432
+ id TEXT PRIMARY KEY, wakeup_id TEXT NOT NULL UNIQUE REFERENCES personal_wakeups(id) ON DELETE CASCADE,
2433
+ thread_id TEXT NOT NULL REFERENCES personal_attention_threads(id) ON DELETE CASCADE,
2434
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2435
+ origin_transcript_id TEXT NOT NULL, thread_revision INTEGER NOT NULL, context_revision INTEGER NOT NULL,
2436
+ policy_revision INTEGER NOT NULL, decision TEXT NOT NULL, reason TEXT NOT NULL,
2437
+ state TEXT NOT NULL CHECK(state IN ('decided','ready','published','stale','cancelled')),
2438
+ text TEXT, provenance_json TEXT NOT NULL CHECK(json_valid(provenance_json)),
2439
+ valid_until INTEGER NOT NULL, message_entry_id TEXT, notified_at INTEGER,
2440
+ created_at INTEGER NOT NULL, published_at INTEGER
2441
+ );
2442
+
2443
+ CREATE TABLE personal_feedback (
2444
+ id TEXT PRIMARY KEY, outreach_id TEXT NOT NULL REFERENCES personal_outreach(id) ON DELETE CASCADE,
2445
+ thread_id TEXT NOT NULL REFERENCES personal_attention_threads(id) ON DELETE CASCADE,
2446
+ owner_id TEXT NOT NULL, kind TEXT NOT NULL, scope TEXT NOT NULL,
2447
+ payload_json TEXT NOT NULL CHECK(json_valid(payload_json)), created_at INTEGER NOT NULL,
2448
+ dedupe_key TEXT NOT NULL, UNIQUE(owner_id, dedupe_key)
2449
+ );
2450
+
2451
+ CREATE TABLE personal_adaptive_strategies (
2452
+ id TEXT PRIMARY KEY, thread_id TEXT NOT NULL REFERENCES personal_attention_threads(id) ON DELETE CASCADE,
2453
+ feedback_id TEXT NOT NULL UNIQUE REFERENCES personal_feedback(id) ON DELETE CASCADE,
2454
+ dimension TEXT NOT NULL CHECK(dimension = 'preparation'), value TEXT NOT NULL,
2455
+ authority TEXT NOT NULL CHECK(authority = 'explicit'), revision INTEGER NOT NULL,
2456
+ created_at INTEGER NOT NULL, review_at INTEGER NOT NULL
2457
+ );
2458
+
2459
+ CREATE TABLE personal_strategy_versions (
2460
+ id TEXT PRIMARY KEY,
2461
+ owner_id TEXT NOT NULL,
2462
+ thread_id TEXT NOT NULL REFERENCES personal_attention_threads(id) ON DELETE CASCADE,
2463
+ revision INTEGER NOT NULL,
2464
+ kind TEXT NOT NULL CHECK(kind IN ('stop', 'defer', 'adjust', 'rollback')),
2465
+ before_json TEXT NOT NULL CHECK(json_valid(before_json)),
2466
+ after_json TEXT NOT NULL CHECK(json_valid(after_json)),
2467
+ input_json TEXT NOT NULL CHECK(json_valid(input_json)),
2468
+ source_entry_id TEXT REFERENCES transcript_entries(entry_id) ON DELETE SET NULL,
2469
+ feedback_id TEXT REFERENCES personal_feedback(id) ON DELETE SET NULL,
2470
+ restored_version_id TEXT REFERENCES personal_strategy_versions(id),
2471
+ dedupe_key TEXT NOT NULL,
2472
+ created_at INTEGER NOT NULL,
2473
+ UNIQUE(owner_id, dedupe_key),
2474
+ UNIQUE(thread_id, revision)
2475
+ );
2476
+
2477
+ CREATE TABLE browser_automation_versions (
2478
+ automation_id TEXT NOT NULL REFERENCES browser_automations(automation_id) ON DELETE CASCADE,
2479
+ revision INTEGER NOT NULL,
2480
+ definition_json TEXT NOT NULL,
2481
+ created_at_ms INTEGER NOT NULL,
2482
+ PRIMARY KEY (automation_id, revision)
2483
+ );
2484
+
2485
+ CREATE TABLE browser_automation_verifications (
2486
+ automation_id TEXT NOT NULL,
2487
+ revision INTEGER NOT NULL,
2488
+ run_id TEXT NOT NULL REFERENCES browser_automation_runs(run_id) ON DELETE CASCADE,
2489
+ verified_at_ms INTEGER NOT NULL,
2490
+ PRIMARY KEY (automation_id, revision),
2491
+ FOREIGN KEY (automation_id, revision) REFERENCES browser_automation_versions(automation_id, revision) ON DELETE CASCADE
2492
+ );
2493
+
2494
+ CREATE TABLE browser_recordings (
2495
+ recording_id TEXT PRIMARY KEY,
2496
+ principal_id TEXT NOT NULL,
2497
+ state TEXT NOT NULL,
2498
+ ack_seq INTEGER NOT NULL DEFAULT 0,
2499
+ final_seq INTEGER,
2500
+ automation_id TEXT REFERENCES browser_automations(automation_id) ON DELETE CASCADE,
2501
+ error TEXT,
2502
+ created_at_ms INTEGER NOT NULL,
2503
+ updated_at_ms INTEGER NOT NULL
2504
+ );
2505
+
2506
+ CREATE TABLE browser_recording_events (
2507
+ recording_id TEXT NOT NULL REFERENCES browser_recordings(recording_id) ON DELETE CASCADE,
2508
+ seq INTEGER NOT NULL,
2509
+ event_id TEXT NOT NULL UNIQUE,
2510
+ payload_json TEXT NOT NULL,
2511
+ PRIMARY KEY (recording_id, seq)
2512
+ );
2513
+
2514
+ CREATE TABLE clarification_notification_outbox (
2515
+ wait_id TEXT PRIMARY KEY REFERENCES session_clarification_waits(id) ON DELETE CASCADE,
2516
+ status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending', 'settled')),
2517
+ created_at INTEGER NOT NULL
2518
+ );
2519
+
2520
+ CREATE TABLE notification_deliveries (
2521
+ event_id TEXT NOT NULL REFERENCES notification_events(event_id) ON DELETE CASCADE,
2522
+ device_id TEXT NOT NULL REFERENCES device_push_endpoints(device_id) ON DELETE CASCADE,
2523
+ status TEXT NOT NULL CHECK(status IN ('pending', 'accepted', 'delivered', 'dead', 'cancelled')),
2524
+ attempts INTEGER NOT NULL DEFAULT 0,
2525
+ next_attempt_at INTEGER NOT NULL,
2526
+ provider_ticket_id TEXT,
2527
+ last_error TEXT,
2528
+ updated_at INTEGER NOT NULL,
2529
+ PRIMARY KEY(event_id, device_id)
2530
+ );
2531
+
2532
+ CREATE TABLE endpoint_device_settings (
2533
+ principal_id TEXT PRIMARY KEY REFERENCES endpoint_principals(id) ON DELETE CASCADE,
2534
+ nickname TEXT NOT NULL CHECK(length(nickname) BETWEEN 1 AND 80),
2535
+ revision INTEGER NOT NULL DEFAULT 1 CHECK(revision > 0)
2536
+ );
2537
+
2538
+ CREATE TABLE device_grant_events (
2539
+ id TEXT PRIMARY KEY,
2540
+ grant_id TEXT NOT NULL,
2541
+ conversation_id TEXT NOT NULL,
2542
+ requestor_principal_id TEXT NOT NULL,
2543
+ target_principal_id TEXT NOT NULL,
2544
+ target_endpoint_id TEXT NOT NULL,
2545
+ tool_name TEXT NOT NULL,
2546
+ arguments_sha256 TEXT NOT NULL,
2547
+ event TEXT NOT NULL CHECK(event IN ('issued','reserved','consumed','revoked','expired')),
2548
+ created_at_ms INTEGER NOT NULL
2549
+ );
2550
+
2551
+ CREATE TABLE voice_opening_greetings (
2552
+ principal_id TEXT NOT NULL,
2553
+ conversation_id TEXT NOT NULL,
2554
+ logical_call_id TEXT NOT NULL,
2555
+ response_id TEXT NOT NULL,
2556
+ state TEXT NOT NULL CHECK(state IN ('claimed', 'completed', 'skipped', 'interrupted', 'failed', 'expired')),
2557
+ reason TEXT,
2558
+ created_at INTEGER NOT NULL,
2559
+ updated_at INTEGER NOT NULL,
2560
+ PRIMARY KEY (principal_id, conversation_id, logical_call_id)
2561
+ );
2562
+
2563
+ CREATE TABLE device_request_nonces (
2564
+ device_id TEXT NOT NULL REFERENCES devices(device_id) ON DELETE CASCADE,
2565
+ nonce TEXT NOT NULL,
2566
+ expires_at INTEGER NOT NULL,
2567
+ PRIMARY KEY (device_id, nonce)
2568
+ ) WITHOUT ROWID;
2569
+
2570
+ CREATE TABLE knowledge_revisions (
2571
+ revision_id TEXT PRIMARY KEY,
2572
+ knowledge_id TEXT NOT NULL REFERENCES knowledge_items(knowledge_id) ON DELETE CASCADE,
2573
+ content TEXT NOT NULL,
2574
+ source_json TEXT NOT NULL,
2575
+ created_at INTEGER NOT NULL
2576
+ );
2577
+
2578
+ CREATE TABLE knowledge_evidence_links (
2579
+ knowledge_id TEXT NOT NULL REFERENCES knowledge_items(knowledge_id) ON DELETE CASCADE,
2580
+ evidence_id TEXT NOT NULL REFERENCES context_evidence(evidence_id) ON DELETE CASCADE,
2581
+ content_hash TEXT,
2582
+ consent_receipt_id TEXT REFERENCES understanding_consent_receipts(receipt_id),
2583
+ PRIMARY KEY (knowledge_id, evidence_id)
2584
+ );
2585
+
2586
+ CREATE TABLE owner_identity_bindings (
2587
+ principal_id TEXT NOT NULL,
2588
+ channel TEXT NOT NULL,
2589
+ account_id TEXT NOT NULL,
2590
+ peer_id TEXT NOT NULL,
2591
+ verified_at INTEGER NOT NULL,
2592
+ revoked_at INTEGER,
2593
+ PRIMARY KEY (channel, account_id, peer_id)
2594
+ );
2595
+
2596
+ CREATE TABLE memory_learning_jobs (
2597
+ job_id TEXT PRIMARY KEY,
2598
+ principal_id TEXT NOT NULL DEFAULT 'local-owner',
2599
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2600
+ transcript_id TEXT NOT NULL,
2601
+ through_seq INTEGER NOT NULL,
2602
+ start_seq INTEGER,
2603
+ extractor_version TEXT NOT NULL,
2604
+ policy_hash TEXT NOT NULL,
2605
+ workspace_id TEXT NOT NULL,
2606
+ state TEXT NOT NULL CHECK (state IN ('queued','running','succeeded','retry_wait','failed','canceled')),
2607
+ lease_token TEXT,
2608
+ lease_until INTEGER,
2609
+ attempts INTEGER NOT NULL DEFAULT 0,
2610
+ next_attempt_at INTEGER NOT NULL,
2611
+ error_code TEXT,
2612
+ created_at INTEGER NOT NULL,
2613
+ updated_at INTEGER NOT NULL,
2614
+ UNIQUE(conversation_id, transcript_id, through_seq, extractor_version, policy_hash)
2615
+ );
2616
+
2617
+ CREATE TABLE memory_source_learning_jobs (
2618
+ job_id TEXT PRIMARY KEY,
2619
+ chunk_id TEXT NOT NULL REFERENCES knowledge_source_chunks(chunk_id) ON DELETE CASCADE,
2620
+ agent_id TEXT NOT NULL,
2621
+ workspace_id TEXT NOT NULL,
2622
+ consent_receipt_id TEXT NOT NULL REFERENCES understanding_consent_receipts(receipt_id),
2623
+ policy_hash TEXT NOT NULL,
2624
+ state TEXT NOT NULL CHECK(state IN ('queued','running','succeeded','retry_wait','failed','canceled')),
2625
+ lease_token TEXT,
2626
+ lease_until INTEGER,
2627
+ attempts INTEGER NOT NULL DEFAULT 0,
2628
+ next_attempt_at INTEGER NOT NULL,
2629
+ error_code TEXT,
2630
+ created_at INTEGER NOT NULL,
2631
+ updated_at INTEGER NOT NULL,
2632
+ UNIQUE(chunk_id, agent_id, consent_receipt_id, policy_hash)
2633
+ );
2634
+
2635
+ CREATE TABLE memory_learning_receipts (
2636
+ run_id TEXT PRIMARY KEY REFERENCES task_run_receipts(run_id) ON DELETE CASCADE,
2637
+ learned_at INTEGER NOT NULL,
2638
+ knowledge_id TEXT
2639
+ );
2640
+
2641
+ CREATE TABLE memory_learning_cursors (
2642
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2643
+ transcript_id TEXT NOT NULL,
2644
+ processed_seq INTEGER NOT NULL DEFAULT 0,
2645
+ observed_seq INTEGER NOT NULL DEFAULT 0,
2646
+ updated_at INTEGER NOT NULL,
2647
+ PRIMARY KEY (conversation_id, transcript_id)
2648
+ );
2649
+
2650
+ CREATE TABLE knowledge_source_chunks (
2651
+ chunk_id TEXT PRIMARY KEY,
2652
+ source_item_id TEXT NOT NULL REFERENCES knowledge_source_items(item_id) ON DELETE CASCADE,
2653
+ source_version TEXT NOT NULL,
2654
+ consent_receipt_id TEXT REFERENCES understanding_consent_receipts(receipt_id),
2655
+ ordinal INTEGER NOT NULL,
2656
+ locator TEXT NOT NULL,
2657
+ text TEXT NOT NULL,
2658
+ UNIQUE(source_item_id, ordinal)
2659
+ );
2660
+
2661
+ CREATE VIRTUAL TABLE knowledge_chunks_fts USING fts5(search_text, chunk_id UNINDEXED, tokenize='unicode61');
2662
+
2663
+ CREATE VIRTUAL TABLE knowledge_search_fts USING fts5(search_text, knowledge_id UNINDEXED, tokenize='unicode61');
2664
+
2665
+ CREATE TABLE agent_selection_records (
2666
+ id TEXT PRIMARY KEY,
2667
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2668
+ transcript_id TEXT,
2669
+ input_id TEXT,
2670
+ personal_request_id TEXT REFERENCES personal_requests(request_id) ON DELETE CASCADE,
2671
+ task_id TEXT REFERENCES tasks(task_id) ON DELETE CASCADE,
2672
+ task_run_id TEXT REFERENCES task_runs(run_id) ON DELETE SET NULL,
2673
+ decision_group_id TEXT NOT NULL,
2674
+ previous_selection_id TEXT REFERENCES agent_selection_records(id) ON DELETE SET NULL,
2675
+ idempotency_key TEXT NOT NULL,
2676
+ request_hash TEXT NOT NULL,
2677
+ selected_agent_id TEXT NOT NULL,
2678
+ selected_agent_revision INTEGER,
2679
+ matcher_version INTEGER NOT NULL,
2680
+ catalog_revision INTEGER NOT NULL,
2681
+ requirements_json TEXT NOT NULL,
2682
+ selected_profile_json TEXT,
2683
+ assessment_json TEXT NOT NULL,
2684
+ candidates_json TEXT,
2685
+ selection_source TEXT NOT NULL CHECK(selection_source IN ('snapshot','match','explicit')),
2686
+ reason_source TEXT NOT NULL CHECK(reason_source IN ('model','system')),
2687
+ selection_reason TEXT NOT NULL,
2688
+ status TEXT NOT NULL CHECK(status IN ('pending_connection','rejected','task_linked','start_blocked','start_failed')),
2689
+ reason_code TEXT,
2690
+ created_at INTEGER NOT NULL,
2691
+ updated_at INTEGER NOT NULL,
2692
+ UNIQUE(conversation_id, idempotency_key)
2693
+ );
2694
+
2695
+ CREATE TABLE next_turn_suggestions (
2696
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2697
+ locale TEXT NOT NULL CHECK (locale IN ('zh', 'en')),
2698
+ suggestion_id TEXT NOT NULL UNIQUE,
2699
+ snapshot_key TEXT NOT NULL,
2700
+ state TEXT NOT NULL CHECK (state IN ('ready', 'none')),
2701
+ payload_json TEXT,
2702
+ expires_at INTEGER NOT NULL,
2703
+ PRIMARY KEY (conversation_id, locale)
2704
+ );
2705
+
2706
+ CREATE TABLE next_turn_suggestion_feedback (
2707
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2708
+ suggestion_id TEXT NOT NULL,
2709
+ impression_id TEXT NOT NULL,
2710
+ event TEXT NOT NULL CHECK (event IN ('shown', 'accepted', 'dismissed', 'submitted')),
2711
+ edited INTEGER NOT NULL DEFAULT 0,
2712
+ created_at INTEGER NOT NULL,
2713
+ PRIMARY KEY (suggestion_id, impression_id, event)
2714
+ );
2715
+
2716
+ CREATE TABLE task_allocations (
2717
+ id TEXT PRIMARY KEY,
2718
+ task_id TEXT NOT NULL UNIQUE REFERENCES tasks(task_id) ON DELETE CASCADE,
2719
+ origin_conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2720
+ requirements_json TEXT NOT NULL,
2721
+ task_version INTEGER NOT NULL,
2722
+ status TEXT NOT NULL CHECK(status IN ('pending','selecting','assigned','blocked','failed','cancelled')),
2723
+ selected_agent_id TEXT,
2724
+ selection_reason TEXT,
2725
+ reason_code TEXT,
2726
+ attempts INTEGER NOT NULL DEFAULT 0,
2727
+ lease_token TEXT,
2728
+ lease_expires_at INTEGER,
2729
+ next_attempt_at INTEGER NOT NULL,
2730
+ updated_at INTEGER NOT NULL
2731
+ );
2732
+
2733
+ CREATE TABLE research_checkpoints (
2734
+ id TEXT PRIMARY KEY,
2735
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2736
+ workspace TEXT NOT NULL,
2737
+ goal TEXT NOT NULL,
2738
+ checkpoint_json TEXT NOT NULL CHECK(json_valid(checkpoint_json)),
2739
+ status TEXT NOT NULL CHECK(status IN ('running','partial','completed','failed','cancelled')),
2740
+ attempts INTEGER NOT NULL DEFAULT 0,
2741
+ stop_reason TEXT,
2742
+ summary TEXT NOT NULL DEFAULT '',
2743
+ lease_token TEXT,
2744
+ lease_expires_at INTEGER,
2745
+ updated_at INTEGER NOT NULL
2746
+ );
2747
+
2748
+ CREATE TABLE personal_result_documents (
2749
+ document_id TEXT PRIMARY KEY,
2750
+ delivery_id TEXT NOT NULL REFERENCES task_result_deliveries(delivery_id) ON DELETE CASCADE,
2751
+ source_id TEXT NOT NULL,
2752
+ status TEXT NOT NULL CHECK(status IN ('pending', 'ready', 'unsupported', 'failed')),
2753
+ lease_token TEXT,
2754
+ lease_until INTEGER NOT NULL DEFAULT 0,
2755
+ parser_version INTEGER NOT NULL,
2756
+ content_revision TEXT,
2757
+ content TEXT,
2758
+ sections_json TEXT NOT NULL DEFAULT '[]',
2759
+ limitations_json TEXT NOT NULL DEFAULT '[]',
2760
+ fingerprint TEXT,
2761
+ error TEXT,
2762
+ UNIQUE(delivery_id, source_id)
2763
+ );
2764
+
2765
+ CREATE VIRTUAL TABLE personal_result_search USING fts5(
2766
+ document_id UNINDEXED, start_offset UNINDEXED, text, tokenize='trigram'
2767
+ );
2768
+
2769
+ CREATE TABLE personal_result_sections (
2770
+ document_id TEXT NOT NULL REFERENCES personal_result_documents(document_id) ON DELETE CASCADE,
2771
+ section_id TEXT NOT NULL,
2772
+ ordinal INTEGER NOT NULL,
2773
+ title TEXT NOT NULL,
2774
+ start_offset INTEGER NOT NULL,
2775
+ char_length INTEGER NOT NULL,
2776
+ locator_json TEXT NOT NULL,
2777
+ PRIMARY KEY(document_id, section_id)
2778
+ );
2779
+
2780
+ CREATE TABLE personal_result_read_waits (
2781
+ input_id TEXT PRIMARY KEY REFERENCES session_inputs(id) ON DELETE CASCADE,
2782
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2783
+ transcript_id TEXT NOT NULL,
2784
+ requests_json TEXT NOT NULL,
2785
+ status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending','queued','done','stale'))
2786
+ );
2787
+
2788
+ CREATE TABLE task_work_revisions (
2789
+ revision_id TEXT PRIMARY KEY,
2790
+ task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,
2791
+ contract_version INTEGER NOT NULL,
2792
+ baseline_delivery_id TEXT NOT NULL,
2793
+ baseline_version TEXT NOT NULL,
2794
+ instruction_entry_id TEXT NOT NULL,
2795
+ input_id TEXT,
2796
+ idempotency_key TEXT NOT NULL UNIQUE,
2797
+ request_hash TEXT NOT NULL,
2798
+ supersedes_json TEXT NOT NULL DEFAULT '[]',
2799
+ original_body TEXT,
2800
+ created_at INTEGER NOT NULL,
2801
+ UNIQUE(task_id, contract_version)
2802
+ );
2803
+
2804
+ CREATE TABLE discussion_processing (
2805
+ discussion_id TEXT PRIMARY KEY REFERENCES discussion_captures(id) ON DELETE CASCADE,
2806
+ run_id TEXT NOT NULL UNIQUE,
2807
+ audio_sha256 TEXT,
2808
+ base_transcript_revision INTEGER NOT NULL,
2809
+ force_audio INTEGER NOT NULL DEFAULT 0 CHECK(force_audio IN (0,1)),
2810
+ retry_stage TEXT,
2811
+ attempt_count INTEGER NOT NULL DEFAULT 0,
2812
+ next_attempt_at INTEGER,
2813
+ lease_owner TEXT,
2814
+ lease_until INTEGER
2815
+ );
2816
+
2817
+ CREATE TABLE discussion_transcription_checkpoints (
2818
+ run_id TEXT NOT NULL REFERENCES discussion_processing(run_id) ON DELETE CASCADE,
2819
+ started_at_ms REAL NOT NULL,
2820
+ ended_at_ms REAL NOT NULL,
2821
+ result_json TEXT NOT NULL,
2822
+ created_at INTEGER NOT NULL,
2823
+ PRIMARY KEY(run_id, started_at_ms, ended_at_ms)
2824
+ );
2825
+
2826
+ CREATE TABLE discussion_annotations (
2827
+ discussion_id TEXT NOT NULL REFERENCES discussion_captures(id) ON DELETE CASCADE,
2828
+ id TEXT NOT NULL,
2829
+ kind TEXT NOT NULL CHECK(kind IN ('highlight','question','note')),
2830
+ text TEXT NOT NULL,
2831
+ anchor_json TEXT NOT NULL,
2832
+ revision INTEGER NOT NULL,
2833
+ deleted INTEGER NOT NULL DEFAULT 0,
2834
+ created_at INTEGER NOT NULL,
2835
+ updated_at INTEGER NOT NULL,
2836
+ PRIMARY KEY(discussion_id,id)
2837
+ );
2838
+
2839
+ CREATE TABLE discussion_media_timeline (
2840
+ discussion_id TEXT PRIMARY KEY REFERENCES discussion_captures(id) ON DELETE CASCADE,
2841
+ audio_sha256 TEXT NOT NULL,
2842
+ timeline_json TEXT NOT NULL
2843
+ );
2844
+
2845
+ CREATE TABLE discussion_chapter_progress (
2846
+ discussion_id TEXT NOT NULL REFERENCES discussion_captures(id) ON DELETE CASCADE,
2847
+ source_sha256 TEXT NOT NULL,
2848
+ transcript_revision INTEGER NOT NULL,
2849
+ transcript_sha256 TEXT NOT NULL,
2850
+ input_hash TEXT NOT NULL,
2851
+ position INTEGER NOT NULL,
2852
+ chapter_json TEXT NOT NULL,
2853
+ PRIMARY KEY(discussion_id, source_sha256, transcript_revision, transcript_sha256, input_hash)
2854
+ );
2855
+
2856
+ CREATE TABLE "task_main_update_deliveries" (
2857
+ entry_id TEXT PRIMARY KEY REFERENCES task_collaboration_entries(entry_id) ON DELETE CASCADE,
2858
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2859
+ status TEXT NOT NULL CHECK (status IN ('pending', 'delivered', 'failed')),
2860
+ updated_at INTEGER NOT NULL,
2861
+ decision TEXT CHECK (decision IN ('notify', 'silent')),
2862
+ decision_reason TEXT,
2863
+ decided_at INTEGER,
2864
+ failure_count INTEGER NOT NULL DEFAULT 0,
2865
+ last_error TEXT
2866
+ );
2867
+
2868
+ CREATE TABLE composer_input_history (
2869
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
2870
+ conversation_id TEXT NOT NULL REFERENCES sessions(conversation_id) ON DELETE CASCADE,
2871
+ text TEXT NOT NULL,
2872
+ created_at INTEGER NOT NULL
2873
+ );
2874
+
2875
+ CREATE TABLE task_phase_changes (
2876
+ id TEXT PRIMARY KEY,
2877
+ task_id TEXT NOT NULL REFERENCES tasks(task_id) ON DELETE CASCADE,
2878
+ from_phase TEXT NOT NULL,
2879
+ to_phase TEXT NOT NULL,
2880
+ from_resolution TEXT,
2881
+ to_resolution TEXT,
2882
+ actor_json TEXT NOT NULL,
2883
+ source TEXT NOT NULL,
2884
+ operation_id TEXT,
2885
+ run_id TEXT,
2886
+ task_version INTEGER NOT NULL,
2887
+ created_at INTEGER NOT NULL,
2888
+ UNIQUE(task_id, task_version)
2889
+ );
2359
2890
 
2360
2891
  CREATE INDEX idx_transcripts_session
2361
2892
  ON transcripts("conversation_id", status);
@@ -2366,12 +2897,6 @@ CREATE INDEX idx_entries_session_seq
2366
2897
  CREATE INDEX idx_entries_kind
2367
2898
  ON transcript_entries("transcript_id", entry_kind);
2368
2899
 
2369
- CREATE INDEX idx_automations_enabled
2370
- ON automations(enabled, updated_at_ms DESC);
2371
-
2372
- CREATE INDEX idx_automations_updated
2373
- ON automations(updated_at_ms DESC);
2374
-
2375
2900
  CREATE INDEX idx_automation_runs_automation_created
2376
2901
  ON automation_runs(automation_id, created_at_ms DESC);
2377
2902
 
@@ -2435,12 +2960,6 @@ CREATE INDEX idx_projects_slug
2435
2960
  CREATE INDEX idx_projects_updated
2436
2961
  ON projects(updated_at DESC);
2437
2962
 
2438
- CREATE INDEX idx_sessions_project
2439
- ON sessions(project_id, updated_at DESC);
2440
-
2441
- CREATE INDEX idx_automations_project
2442
- ON automations(project_id, updated_at_ms DESC);
2443
-
2444
2963
  CREATE INDEX idx_projects_pinned
2445
2964
  ON projects(pinned_at DESC)
2446
2965
  WHERE pinned_at IS NOT NULL;
@@ -2451,30 +2970,6 @@ CREATE INDEX idx_knowledge_sync_runs_source_started
2451
2970
  CREATE INDEX idx_knowledge_sync_runs_status_started
2452
2971
  ON knowledge_sync_runs(status, started_at DESC);
2453
2972
 
2454
- CREATE INDEX idx_connector_catalog_provider
2455
- ON connector_catalog_entries(provider, fetched_at DESC);
2456
-
2457
- CREATE INDEX idx_connector_installations_principal
2458
- ON connector_installations(principal_id, enabled, connector_id);
2459
-
2460
- CREATE INDEX idx_connector_action_scope
2461
- ON connector_action_metadata(connector_id, scope, curated);
2462
-
2463
- CREATE INDEX idx_connector_audit_principal_time
2464
- ON connector_execution_audit(principal_id, created_at DESC);
2465
-
2466
- CREATE INDEX idx_connector_audit_connector_time
2467
- ON connector_execution_audit(connector_id, created_at DESC);
2468
-
2469
- CREATE INDEX idx_connector_approvals_pending
2470
- ON connector_approvals(principal_id, status, expires_at, created_at DESC);
2471
-
2472
- CREATE INDEX idx_connector_approvals_session
2473
- ON connector_approvals("conversation_id", status, created_at DESC);
2474
-
2475
- CREATE INDEX idx_connector_webhook_deliveries_status
2476
- ON connector_webhook_deliveries(provider, status, received_at DESC);
2477
-
2478
2973
  CREATE INDEX idx_local_apps_updated_at ON local_apps(updated_at DESC);
2479
2974
 
2480
2975
  CREATE INDEX idx_local_apps_status ON local_apps(status, updated_at DESC);
@@ -2502,9 +2997,6 @@ CREATE INDEX idx_extension_ui_grants_app_granted
2502
2997
  CREATE INDEX idx_work_discovery_feedback_updated
2503
2998
  ON work_discovery_feedback(updated_at DESC);
2504
2999
 
2505
- CREATE INDEX idx_composer_input_history_recent
2506
- ON composer_input_history(id DESC);
2507
-
2508
3000
  CREATE INDEX idx_connector_learning_jobs_due
2509
3001
  ON connector_learning_jobs(status, next_run_at, created_at);
2510
3002
 
@@ -2603,16 +3095,6 @@ CREATE INDEX idx_task_run_events_run_sequence ON task_run_events(run_id, sequenc
2603
3095
 
2604
3096
  CREATE INDEX idx_domain_outbox_pending ON domain_outbox(published_at, created_at);
2605
3097
 
2606
- CREATE INDEX idx_workflow_runs_created ON workflow_runs(agent_id, created_at_ms DESC);
2607
-
2608
- CREATE INDEX idx_workflow_runs_status_created ON workflow_runs(agent_id, status, created_at_ms DESC);
2609
-
2610
- CREATE INDEX idx_workflow_runs_definition_created ON workflow_runs(definition_id, created_at_ms DESC);
2611
-
2612
- CREATE INDEX idx_workflow_runs_project ON workflow_runs(project_id, created_at_ms DESC);
2613
-
2614
- CREATE INDEX idx_workflow_runs_task_run ON workflow_runs(task_run_id, created_at_ms DESC);
2615
-
2616
3098
  CREATE INDEX idx_connector_learning_jobs_account
2617
3099
  ON connector_learning_jobs(account_id, created_at DESC);
2618
3100
 
@@ -2654,15 +3136,6 @@ CREATE INDEX idx_task_handoffs_task
2654
3136
  CREATE INDEX idx_automation_runs_unread_created
2655
3137
  ON automation_runs(read_at_ms, created_at_ms DESC);
2656
3138
 
2657
- CREATE INDEX idx_workflow_context_snapshots_run
2658
- ON workflow_context_snapshots(run_id, created_at DESC);
2659
-
2660
- CREATE INDEX idx_workflow_context_snapshots_project
2661
- ON workflow_context_snapshots(project_id, created_at DESC);
2662
-
2663
- CREATE INDEX idx_project_workflow_presets_updated
2664
- ON project_workflow_presets(project_id, updated_at DESC);
2665
-
2666
3139
  CREATE INDEX idx_context_extraction_runs_lookup
2667
3140
  ON context_extraction_runs(extractor_id, status, started_at DESC);
2668
3141
 
@@ -2775,9 +3248,6 @@ CREATE INDEX idx_clarification_wait_session
2775
3248
  CREATE INDEX idx_session_inputs_pending
2776
3249
  ON session_inputs("conversation_id",status,position,created_at_ms);
2777
3250
 
2778
- CREATE INDEX idx_notification_deliveries_due
2779
- ON notification_deliveries(status, next_attempt_at);
2780
-
2781
3251
  CREATE INDEX idx_device_refresh_credentials_device
2782
3252
  ON device_refresh_credentials(device_id, expires_at);
2783
3253
 
@@ -2815,19 +3285,6 @@ CREATE INDEX import_selections_owner_kind ON import_selections(owner, kind, crea
2815
3285
 
2816
3286
  CREATE INDEX knowledge_sync_source_scope ON knowledge_sync_runs(source_instance_id, collection_scope, started_at DESC);
2817
3287
 
2818
- CREATE UNIQUE INDEX idx_connector_backend_active ON connector_backends(active) WHERE active = 1;
2819
-
2820
- CREATE UNIQUE INDEX idx_connector_accounts_identity
2821
- ON connector_accounts(principal_id, backend_id, connector_id, identity_key)
2822
- WHERE identity_key IS NOT NULL;
2823
-
2824
- CREATE INDEX idx_connector_connections_principal ON connector_connections(principal_id, connector_id, status);
2825
-
2826
- CREATE INDEX idx_connector_connections_account ON connector_connections(account_id);
2827
-
2828
- CREATE UNIQUE INDEX idx_connector_connections_provider_backend
2829
- ON connector_connections(provider, COALESCE(json_extract(metadata_json, '$.backendId'), ''), provider_connection_id);
2830
-
2831
3288
  CREATE INDEX idx_connector_authorization_attempt_scope ON connector_authorization_attempts(principal_id,connector_id,created_at);
2832
3289
 
2833
3290
  CREATE INDEX idx_understanding_refresh_batches_created ON understanding_refresh_batches(created_at DESC);
@@ -2835,9 +3292,6 @@ CREATE INDEX idx_understanding_refresh_batches_created ON understanding_refresh_
2835
3292
  CREATE INDEX idx_sidebar_positions_order
2836
3293
  ON sidebar_positions(container_id, position);
2837
3294
 
2838
- CREATE UNIQUE INDEX idx_cli_account_identity ON connector_accounts(principal_id, runtime_instance_id, identity_key)
2839
- WHERE runtime_instance_id IS NOT NULL AND identity_key IS NOT NULL;
2840
-
2841
3295
  CREATE UNIQUE INDEX idx_cli_active_authorization ON connector_cli_authorizations(instance_id, principal_id)
2842
3296
  WHERE phase IN ('preparing','awaiting_user','verifying');
2843
3297
 
@@ -2929,13 +3383,6 @@ CREATE INDEX idx_user_model_observations_source
2929
3383
  CREATE INDEX idx_user_assertion_edges_to
2930
3384
  ON user_assertion_edges(to_assertion_id, relation);
2931
3385
 
2932
- CREATE UNIQUE INDEX idx_automation_events_source_dedupe
2933
- ON automation_events(source, dedupe_key)
2934
- WHERE dedupe_key IS NOT NULL;
2935
-
2936
- CREATE INDEX idx_automation_events_projection
2937
- ON automation_events(projection_status, projection_next_attempt_at_ms, ingested_at_ms);
2938
-
2939
3386
  CREATE UNIQUE INDEX idx_automation_event_deliveries_run
2940
3387
  ON automation_event_deliveries(run_id)
2941
3388
  WHERE run_id IS NOT NULL;
@@ -2943,20 +3390,245 @@ CREATE UNIQUE INDEX idx_automation_event_deliveries_run
2943
3390
  CREATE INDEX idx_automation_event_deliveries_pending
2944
3391
  ON automation_event_deliveries(status, next_attempt_at_ms, created_at_ms);
2945
3392
 
3393
+ CREATE INDEX idx_task_runs_contract
3394
+ ON task_runs(task_id, contract_version);
3395
+
3396
+ CREATE INDEX idx_task_runs_conversation
3397
+ ON task_runs(conversation_id);
3398
+
3399
+ CREATE INDEX idx_task_runs_parent
3400
+ ON task_runs(parent_run_id);
3401
+
3402
+ CREATE INDEX idx_task_runs_retry
3403
+ ON task_runs(retry_of_run_id);
3404
+
3405
+ CREATE INDEX idx_task_runs_context_snapshot
3406
+ ON task_runs(context_snapshot_id);
3407
+
3408
+ CREATE INDEX idx_task_run_feedback_run
3409
+ ON task_run_feedback(run_id);
3410
+
3411
+ CREATE INDEX idx_work_discovery_runs_conversation
3412
+ ON work_discovery_runs(conversation_id);
3413
+
3414
+ CREATE INDEX idx_connector_learning_jobs_connection
3415
+ ON connector_learning_jobs(connection_id);
3416
+
3417
+ CREATE INDEX idx_knowledge_source_changes_item
3418
+ ON knowledge_source_changes(source_item_id);
3419
+
3420
+ CREATE INDEX idx_automations_enabled ON automations(enabled, updated_at_ms DESC);
3421
+
3422
+ CREATE INDEX idx_automations_updated ON automations(updated_at_ms DESC);
3423
+
3424
+ CREATE INDEX idx_automations_project ON automations(project_id, updated_at_ms DESC);
3425
+
3426
+ CREATE UNIQUE INDEX idx_automation_events_source_dedupe
3427
+ ON automation_events(source, dedupe_key) WHERE dedupe_key IS NOT NULL;
3428
+
3429
+ CREATE INDEX idx_automation_events_projection
3430
+ ON automation_events(projection_status, projection_next_attempt_at_ms, ingested_at_ms);
3431
+
2946
3432
  CREATE INDEX idx_automation_result_deliveries_pending
2947
3433
  ON automation_result_deliveries(status, next_attempt_at_ms, created_at_ms);
2948
3434
 
2949
- CREATE INDEX idx_ai_usage_events_started
2950
- ON ai_usage_events(started_at DESC, id DESC);
3435
+ CREATE INDEX idx_ai_usage_events_started ON ai_usage_events(started_at DESC, id DESC);
3436
+
3437
+ CREATE INDEX idx_ai_usage_events_conversation ON ai_usage_events(conversation_id, started_at DESC);
3438
+
3439
+ CREATE INDEX idx_ai_usage_events_trace ON ai_usage_events(trace_id, started_at ASC);
3440
+
3441
+ CREATE INDEX idx_ai_usage_events_agent ON ai_usage_events(agent_id, started_at DESC);
3442
+
3443
+ CREATE INDEX idx_ai_usage_events_category ON ai_usage_events(category, started_at DESC);
3444
+
3445
+ CREATE INDEX idx_sessions_agent_updated ON sessions(agent_id, updated_at DESC);
3446
+
3447
+ CREATE INDEX idx_sessions_last_interaction ON sessions(last_interaction_at DESC);
3448
+
3449
+ CREATE INDEX idx_sessions_parent ON sessions(parent_conversation_id);
3450
+
3451
+ CREATE INDEX idx_sessions_project ON sessions(project_id, updated_at DESC);
3452
+
3453
+ CREATE INDEX idx_sessions_source_channel ON sessions(source_channel);
3454
+
3455
+ CREATE INDEX idx_sessions_status ON sessions(status);
3456
+
3457
+ CREATE INDEX idx_sessions_type ON sessions(session_type);
3458
+
3459
+ CREATE INDEX idx_connector_catalog_provider ON connector_catalog_entries(provider, fetched_at DESC);
3460
+
3461
+ CREATE INDEX idx_connector_installations_principal
3462
+ ON connector_installations(principal_id, enabled, connector_id);
3463
+
3464
+ CREATE UNIQUE INDEX idx_cli_account_identity
3465
+ ON connector_accounts(principal_id, runtime_instance_id, identity_key)
3466
+ WHERE runtime_instance_id IS NOT NULL AND identity_key IS NOT NULL;
3467
+
3468
+ CREATE UNIQUE INDEX idx_connector_accounts_identity
3469
+ ON connector_accounts(principal_id, backend_id, connector_id, identity_key)
3470
+ WHERE identity_key IS NOT NULL;
3471
+
3472
+ CREATE INDEX idx_connector_connections_account ON connector_connections(account_id);
3473
+
3474
+ CREATE INDEX idx_connector_connections_principal
3475
+ ON connector_connections(principal_id, connector_id, status);
3476
+
3477
+ CREATE UNIQUE INDEX idx_connector_connections_provider_backend
3478
+ ON connector_connections(provider, COALESCE(json_extract(metadata_json, '$.backendId'), ''), provider_connection_id);
3479
+
3480
+ CREATE INDEX idx_connector_action_scope
3481
+ ON connector_action_metadata(connector_id, scope, curated);
3482
+
3483
+ CREATE INDEX idx_connector_audit_connector_time
3484
+ ON connector_execution_audit(connector_id, created_at DESC);
3485
+
3486
+ CREATE INDEX idx_connector_audit_principal_time
3487
+ ON connector_execution_audit(principal_id, created_at DESC);
3488
+
3489
+ CREATE INDEX idx_connector_execution_audit_connection
3490
+ ON connector_execution_audit(connection_id);
3491
+
3492
+ CREATE INDEX idx_connector_execution_audit_installation
3493
+ ON connector_execution_audit(installation_id);
3494
+
3495
+ CREATE INDEX idx_connector_approvals_connection ON connector_approvals(connection_id);
3496
+
3497
+ CREATE INDEX idx_connector_approvals_pending
3498
+ ON connector_approvals(principal_id, status, expires_at, created_at DESC);
3499
+
3500
+ CREATE INDEX idx_connector_approvals_session
3501
+ ON connector_approvals(conversation_id, status, created_at DESC);
3502
+
3503
+ CREATE INDEX idx_connector_webhook_deliveries_status
3504
+ ON connector_webhook_deliveries(provider, status, received_at DESC);
3505
+
3506
+ CREATE UNIQUE INDEX idx_connector_backend_active
3507
+ ON connector_backends(active) WHERE active = 1;
2951
3508
 
2952
- CREATE INDEX idx_ai_usage_events_conversation
2953
- ON ai_usage_events(conversation_id, started_at DESC);
3509
+ CREATE INDEX idx_ai_usage_events_provider_model
3510
+ ON ai_usage_events(provider, model, started_at DESC);
2954
3511
 
2955
- CREATE INDEX idx_ai_usage_events_trace
2956
- ON ai_usage_events(trace_id, started_at ASC);
3512
+ CREATE INDEX idx_task_origin_links_conversation
3513
+ ON task_origin_links(conversation_id, created_at DESC);
2957
3514
 
2958
- CREATE INDEX idx_ai_usage_events_agent
2959
- ON ai_usage_events(agent_id, started_at DESC);
3515
+ CREATE INDEX idx_task_collaboration_task_sequence
3516
+ ON task_collaboration_entries(task_id, sequence);
2960
3517
 
2961
- CREATE INDEX idx_ai_usage_events_category
2962
- ON ai_usage_events(category, started_at DESC);
3518
+ CREATE INDEX idx_task_collaboration_deliveries_pending
3519
+ ON task_collaboration_deliveries(status, updated_at);
3520
+
3521
+ CREATE INDEX idx_task_main_agent_links_agent_created
3522
+ ON task_main_agent_links(agent_id, created_at DESC);
3523
+
3524
+ CREATE INDEX idx_task_result_deliveries_pending
3525
+ ON task_result_deliveries(status, next_attempt_at);
3526
+
3527
+ CREATE INDEX idx_personal_requests_conversation ON personal_requests(conversation_id, created_at);
3528
+
3529
+ CREATE INDEX idx_ai_usage_events_otel_trace ON ai_usage_events(otel_trace_id) WHERE otel_trace_id IS NOT NULL;
3530
+
3531
+ CREATE INDEX idx_task_result_reply_pending ON task_result_deliveries(reply_status, reply_next_attempt_at, reply_lease_until);
3532
+
3533
+ CREATE INDEX personal_attention_due ON personal_attention_threads(status, next_check_at);
3534
+
3535
+ CREATE INDEX personal_wakeups_due ON personal_wakeups(status, next_attempt_at, not_before);
3536
+
3537
+ CREATE INDEX personal_outreach_pending ON personal_outreach(state, created_at);
3538
+
3539
+ CREATE INDEX personal_strategy_versions_thread ON personal_strategy_versions(thread_id, revision DESC);
3540
+
3541
+ CREATE UNIQUE INDEX idx_browser_run_request ON browser_automation_runs(client_request_id) WHERE client_request_id IS NOT NULL;
3542
+
3543
+ CREATE INDEX idx_clarification_notification_pending ON clarification_notification_outbox(status, created_at);
3544
+
3545
+ CREATE INDEX idx_notification_deliveries_due ON notification_deliveries(status, next_attempt_at);
3546
+
3547
+ CREATE INDEX idx_notification_deliveries_device ON notification_deliveries(device_id);
3548
+
3549
+ CREATE INDEX device_grant_events_conversation ON device_grant_events(conversation_id, created_at_ms);
3550
+
3551
+ CREATE UNIQUE INDEX idx_ai_usage_cloud_request
3552
+ ON ai_usage_events(cloud_request_id) WHERE cloud_request_id IS NOT NULL;
3553
+
3554
+ CREATE INDEX idx_voice_opening_greetings_created ON voice_opening_greetings(created_at);
3555
+
3556
+ CREATE INDEX device_request_nonces_expiry ON device_request_nonces(expires_at);
3557
+
3558
+ CREATE INDEX knowledge_revisions_item ON knowledge_revisions(knowledge_id, created_at);
3559
+
3560
+ CREATE INDEX memory_learning_jobs_due ON memory_learning_jobs(state, next_attempt_at, lease_until);
3561
+
3562
+ CREATE INDEX memory_source_learning_due ON memory_source_learning_jobs(state, next_attempt_at, lease_until);
3563
+
3564
+ CREATE INDEX agent_selection_task ON agent_selection_records(task_id, created_at);
3565
+
3566
+ CREATE INDEX agent_selection_request ON agent_selection_records(personal_request_id);
3567
+
3568
+ CREATE INDEX agent_selection_origin ON agent_selection_records(conversation_id, created_at);
3569
+
3570
+ CREATE INDEX idx_next_turn_feedback_created ON next_turn_suggestion_feedback(created_at);
3571
+
3572
+ CREATE INDEX task_allocations_pending ON task_allocations(status, next_attempt_at, lease_expires_at);
3573
+
3574
+ CREATE INDEX research_checkpoints_conversation ON research_checkpoints(conversation_id, updated_at);
3575
+
3576
+ CREATE INDEX idx_personal_result_sections_order ON personal_result_sections(document_id, ordinal);
3577
+
3578
+ CREATE INDEX idx_task_main_update_deliveries_pending
3579
+ ON task_main_update_deliveries(status, updated_at);
3580
+
3581
+ CREATE INDEX idx_composer_input_history_recent
3582
+ ON composer_input_history(conversation_id, id DESC);
3583
+
3584
+ CREATE INDEX idx_task_phase_changes_task ON task_phase_changes(task_id, task_version);
3585
+
3586
+ CREATE TRIGGER session_creation_tombstone BEFORE DELETE ON sessions BEGIN
3587
+ INSERT INTO session_tombstones(conversation_id, deleted_at)
3588
+ VALUES (OLD.conversation_id, CAST(unixepoch('subsec') * 1000 AS INTEGER))
3589
+ ON CONFLICT(conversation_id) DO NOTHING;
3590
+ INSERT INTO session_preparation_cleanup(environment_id, conversation_id, not_before)
3591
+ SELECT environment_id, conversation_id, max(lease_until, CAST(unixepoch('subsec') * 1000 AS INTEGER)) + 5000
3592
+ FROM session_preparations WHERE conversation_id=OLD.conversation_id
3593
+ AND json_extract(creation_json, '$.execution.mode')='managed_worktree'
3594
+ ON CONFLICT(environment_id) DO NOTHING;
3595
+ END;
3596
+
3597
+ CREATE TRIGGER assertion_evidence_snapshot_insert AFTER INSERT ON user_assertion_evidence BEGIN
3598
+ UPDATE user_assertion_evidence SET content_hash = (SELECT content_hash FROM context_evidence WHERE evidence_id = NEW.evidence_id)
3599
+ WHERE assertion_id = NEW.assertion_id AND evidence_id = NEW.evidence_id AND relation = NEW.relation;
3600
+ END;
3601
+
3602
+ CREATE TRIGGER assertion_evidence_snapshot_update AFTER UPDATE OF confidence ON user_assertion_evidence BEGIN
3603
+ UPDATE user_assertion_evidence SET content_hash = (SELECT content_hash FROM context_evidence WHERE evidence_id = NEW.evidence_id)
3604
+ WHERE assertion_id = NEW.assertion_id AND evidence_id = NEW.evidence_id AND relation = NEW.relation;
3605
+ END;
3606
+
3607
+ CREATE TRIGGER knowledge_chunk_insert AFTER INSERT ON knowledge_source_chunks BEGIN
3608
+ INSERT INTO knowledge_chunks_fts(search_text, chunk_id) VALUES (xopc_memory_search_text(NEW.text), NEW.chunk_id);
3609
+ END;
3610
+
3611
+ CREATE TRIGGER knowledge_chunk_delete AFTER DELETE ON knowledge_source_chunks BEGIN
3612
+ DELETE FROM knowledge_chunks_fts WHERE chunk_id = OLD.chunk_id;
3613
+ END;
3614
+
3615
+ CREATE TRIGGER knowledge_search_insert AFTER INSERT ON knowledge_items BEGIN
3616
+ INSERT INTO knowledge_search_fts VALUES (xopc_memory_search_text(NEW.content), NEW.knowledge_id);
3617
+ END;
3618
+
3619
+ CREATE TRIGGER knowledge_search_update AFTER UPDATE OF content ON knowledge_items BEGIN
3620
+ DELETE FROM knowledge_search_fts WHERE knowledge_id = OLD.knowledge_id;
3621
+ INSERT INTO knowledge_search_fts VALUES (xopc_memory_search_text(NEW.content), NEW.knowledge_id);
3622
+ END;
3623
+
3624
+ CREATE TRIGGER knowledge_search_delete AFTER DELETE ON knowledge_items BEGIN
3625
+ DELETE FROM knowledge_search_fts WHERE knowledge_id = OLD.knowledge_id;
3626
+ END;
3627
+
3628
+ CREATE TRIGGER personal_result_documents_delete AFTER DELETE ON personal_result_documents BEGIN
3629
+ DELETE FROM personal_result_search WHERE document_id = old.document_id;
3630
+ END;
3631
+
3632
+ INSERT INTO work_discovery_onboarding VALUES (1,'not_started',NULL,NULL,NULL,0);
3633
+ INSERT INTO discussion_capture_settings VALUES ('default',1,NULL,CAST(unixepoch('subsec') * 1000 AS INTEGER));
3634
+ INSERT INTO connector_runtime_identity VALUES (1,lower(hex(randomblob(16))));