@maiaos/node 0.1.0-canary.44938d4.manual.1

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 (996) hide show
  1. package/README.md +517 -0
  2. package/dist/admin-monitor/application-projection.d.ts +27 -0
  3. package/dist/admin-monitor/application-projection.d.ts.map +1 -0
  4. package/dist/admin-monitor/application-projection.js +299 -0
  5. package/dist/admin-monitor/application-projection.js.map +1 -0
  6. package/dist/admin-monitor/application-reads.d.ts +20 -0
  7. package/dist/admin-monitor/application-reads.d.ts.map +1 -0
  8. package/dist/admin-monitor/application-reads.js +82 -0
  9. package/dist/admin-monitor/application-reads.js.map +1 -0
  10. package/dist/admin-monitor/assets.d.ts +7 -0
  11. package/dist/admin-monitor/assets.d.ts.map +1 -0
  12. package/dist/admin-monitor/assets.js +506 -0
  13. package/dist/admin-monitor/assets.js.map +1 -0
  14. package/dist/admin-monitor/housekeeping.d.ts +12 -0
  15. package/dist/admin-monitor/housekeeping.d.ts.map +1 -0
  16. package/dist/admin-monitor/housekeeping.js +59 -0
  17. package/dist/admin-monitor/housekeeping.js.map +1 -0
  18. package/dist/admin-monitor/http.d.ts +22 -0
  19. package/dist/admin-monitor/http.d.ts.map +1 -0
  20. package/dist/admin-monitor/http.js +219 -0
  21. package/dist/admin-monitor/http.js.map +1 -0
  22. package/dist/admin-monitor/listener.d.ts +9 -0
  23. package/dist/admin-monitor/listener.d.ts.map +1 -0
  24. package/dist/admin-monitor/listener.js +118 -0
  25. package/dist/admin-monitor/listener.js.map +1 -0
  26. package/dist/admin-monitor/model.d.ts +71 -0
  27. package/dist/admin-monitor/model.d.ts.map +1 -0
  28. package/dist/admin-monitor/model.js +31 -0
  29. package/dist/admin-monitor/model.js.map +1 -0
  30. package/dist/admin-monitor/projection.d.ts +10 -0
  31. package/dist/admin-monitor/projection.d.ts.map +1 -0
  32. package/dist/admin-monitor/projection.js +48 -0
  33. package/dist/admin-monitor/projection.js.map +1 -0
  34. package/dist/admin-monitor/routes.d.ts +13 -0
  35. package/dist/admin-monitor/routes.d.ts.map +1 -0
  36. package/dist/admin-monitor/routes.js +290 -0
  37. package/dist/admin-monitor/routes.js.map +1 -0
  38. package/dist/admin-monitor/service.d.ts +5 -0
  39. package/dist/admin-monitor/service.d.ts.map +1 -0
  40. package/dist/admin-monitor/service.js +155 -0
  41. package/dist/admin-monitor/service.js.map +1 -0
  42. package/dist/application/control-request.d.ts +38 -0
  43. package/dist/application/control-request.d.ts.map +1 -0
  44. package/dist/application/control-request.js +164 -0
  45. package/dist/application/control-request.js.map +1 -0
  46. package/dist/application/run-desktop-node.d.ts +18 -0
  47. package/dist/application/run-desktop-node.d.ts.map +1 -0
  48. package/dist/application/run-desktop-node.js +482 -0
  49. package/dist/application/run-desktop-node.js.map +1 -0
  50. package/dist/bin/maia-node.NOTICES.txt +100 -0
  51. package/dist/bin/maia-node.cdx.json +273 -0
  52. package/dist/bin/maia-node.d.ts +3 -0
  53. package/dist/bin/maia-node.d.ts.map +1 -0
  54. package/dist/bin/maia-node.meta.json +1 -0
  55. package/dist/bin/maia-node.mjs +4546 -0
  56. package/dist/bin/maia-node.mjs.map +6 -0
  57. package/dist/bin/maia-node.release.json +90 -0
  58. package/dist/bin/maia-process-host-darwin-arm64 +0 -0
  59. package/dist/bin/maia-process-host-darwin-arm64.build.json +59 -0
  60. package/dist/command-receipt/storage/codec.d.ts +16 -0
  61. package/dist/command-receipt/storage/codec.d.ts.map +1 -0
  62. package/dist/command-receipt/storage/codec.js +51 -0
  63. package/dist/command-receipt/storage/codec.js.map +1 -0
  64. package/dist/command-receipt/storage/cursor.d.ts +7 -0
  65. package/dist/command-receipt/storage/cursor.d.ts.map +1 -0
  66. package/dist/command-receipt/storage/cursor.js +62 -0
  67. package/dist/command-receipt/storage/cursor.js.map +1 -0
  68. package/dist/command-receipt/storage/list.d.ts +28 -0
  69. package/dist/command-receipt/storage/list.d.ts.map +1 -0
  70. package/dist/command-receipt/storage/list.js +113 -0
  71. package/dist/command-receipt/storage/list.js.map +1 -0
  72. package/dist/configuration/document-role.d.ts +4 -0
  73. package/dist/configuration/document-role.d.ts.map +1 -0
  74. package/dist/configuration/document-role.js +10 -0
  75. package/dist/configuration/document-role.js.map +1 -0
  76. package/dist/configuration/filesystem.d.ts +27 -0
  77. package/dist/configuration/filesystem.d.ts.map +1 -0
  78. package/dist/configuration/filesystem.js +227 -0
  79. package/dist/configuration/filesystem.js.map +1 -0
  80. package/dist/configuration/model.d.ts +68 -0
  81. package/dist/configuration/model.d.ts.map +1 -0
  82. package/dist/configuration/model.js +2 -0
  83. package/dist/configuration/model.js.map +1 -0
  84. package/dist/configuration/parser.d.ts +49 -0
  85. package/dist/configuration/parser.d.ts.map +1 -0
  86. package/dist/configuration/parser.js +35 -0
  87. package/dist/configuration/parser.js.map +1 -0
  88. package/dist/configuration/policy.d.ts +15 -0
  89. package/dist/configuration/policy.d.ts.map +1 -0
  90. package/dist/configuration/policy.js +15 -0
  91. package/dist/configuration/policy.js.map +1 -0
  92. package/dist/configuration/resolver.d.ts +15 -0
  93. package/dist/configuration/resolver.d.ts.map +1 -0
  94. package/dist/configuration/resolver.js +260 -0
  95. package/dist/configuration/resolver.js.map +1 -0
  96. package/dist/configuration/writer-child.d.ts +2 -0
  97. package/dist/configuration/writer-child.d.ts.map +1 -0
  98. package/dist/configuration/writer-child.js +32 -0
  99. package/dist/configuration/writer-child.js.map +1 -0
  100. package/dist/configuration/writer.d.ts +15 -0
  101. package/dist/configuration/writer.d.ts.map +1 -0
  102. package/dist/configuration/writer.js +789 -0
  103. package/dist/configuration/writer.js.map +1 -0
  104. package/dist/execution/application.d.ts +135 -0
  105. package/dist/execution/application.d.ts.map +1 -0
  106. package/dist/execution/application.js +14 -0
  107. package/dist/execution/application.js.map +1 -0
  108. package/dist/execution/database-operations.d.ts +15 -0
  109. package/dist/execution/database-operations.d.ts.map +1 -0
  110. package/dist/execution/database-operations.js +9 -0
  111. package/dist/execution/database-operations.js.map +1 -0
  112. package/dist/execution/request-digest.d.ts +3 -0
  113. package/dist/execution/request-digest.d.ts.map +1 -0
  114. package/dist/execution/request-digest.js +22 -0
  115. package/dist/execution/request-digest.js.map +1 -0
  116. package/dist/execution/service.d.ts +14 -0
  117. package/dist/execution/service.d.ts.map +1 -0
  118. package/dist/execution/service.js +19 -0
  119. package/dist/execution/service.js.map +1 -0
  120. package/dist/execution/storage.d.ts +20 -0
  121. package/dist/execution/storage.d.ts.map +1 -0
  122. package/dist/execution/storage.js +349 -0
  123. package/dist/execution/storage.js.map +1 -0
  124. package/dist/harness/application/requests.d.ts +304 -0
  125. package/dist/harness/application/requests.d.ts.map +1 -0
  126. package/dist/harness/application/requests.js +45 -0
  127. package/dist/harness/application/requests.js.map +1 -0
  128. package/dist/harness/codex/lifecycle.d.ts +39 -0
  129. package/dist/harness/codex/lifecycle.d.ts.map +1 -0
  130. package/dist/harness/codex/lifecycle.js +55 -0
  131. package/dist/harness/codex/lifecycle.js.map +1 -0
  132. package/dist/harness/codex/observability.d.ts +6 -0
  133. package/dist/harness/codex/observability.d.ts.map +1 -0
  134. package/dist/harness/codex/observability.js +58 -0
  135. package/dist/harness/codex/observability.js.map +1 -0
  136. package/dist/harness/codex/policy.d.ts +15 -0
  137. package/dist/harness/codex/policy.d.ts.map +1 -0
  138. package/dist/harness/codex/policy.js +15 -0
  139. package/dist/harness/codex/policy.js.map +1 -0
  140. package/dist/harness/codex/probe.d.ts +173 -0
  141. package/dist/harness/codex/probe.d.ts.map +1 -0
  142. package/dist/harness/codex/probe.js +134 -0
  143. package/dist/harness/codex/probe.js.map +1 -0
  144. package/dist/harness/codex/protocol.d.ts +15 -0
  145. package/dist/harness/codex/protocol.d.ts.map +1 -0
  146. package/dist/harness/codex/protocol.js +52 -0
  147. package/dist/harness/codex/protocol.js.map +1 -0
  148. package/dist/harness/codex/service.d.ts +196 -0
  149. package/dist/harness/codex/service.d.ts.map +1 -0
  150. package/dist/harness/codex/service.js +141 -0
  151. package/dist/harness/codex/service.js.map +1 -0
  152. package/dist/harness/codex/session-lifecycle.d.ts +40 -0
  153. package/dist/harness/codex/session-lifecycle.d.ts.map +1 -0
  154. package/dist/harness/codex/session-lifecycle.js +39 -0
  155. package/dist/harness/codex/session-lifecycle.js.map +1 -0
  156. package/dist/harness/codex/session-observability.d.ts +7 -0
  157. package/dist/harness/codex/session-observability.d.ts.map +1 -0
  158. package/dist/harness/codex/session-observability.js +39 -0
  159. package/dist/harness/codex/session-observability.js.map +1 -0
  160. package/dist/harness/codex/session-protocol.d.ts +92 -0
  161. package/dist/harness/codex/session-protocol.d.ts.map +1 -0
  162. package/dist/harness/codex/session-protocol.js +475 -0
  163. package/dist/harness/codex/session-protocol.js.map +1 -0
  164. package/dist/harness/codex/session-service.d.ts +59 -0
  165. package/dist/harness/codex/session-service.d.ts.map +1 -0
  166. package/dist/harness/codex/session-service.js +340 -0
  167. package/dist/harness/codex/session-service.js.map +1 -0
  168. package/dist/harness/codex/session-transport.d.ts +22 -0
  169. package/dist/harness/codex/session-transport.d.ts.map +1 -0
  170. package/dist/harness/codex/session-transport.js +152 -0
  171. package/dist/harness/codex/session-transport.js.map +1 -0
  172. package/dist/harness/codex/transport.d.ts +104 -0
  173. package/dist/harness/codex/transport.d.ts.map +1 -0
  174. package/dist/harness/codex/transport.js +645 -0
  175. package/dist/harness/codex/transport.js.map +1 -0
  176. package/dist/harness/codex/turn/lifecycle.d.ts +40 -0
  177. package/dist/harness/codex/turn/lifecycle.d.ts.map +1 -0
  178. package/dist/harness/codex/turn/lifecycle.js +43 -0
  179. package/dist/harness/codex/turn/lifecycle.js.map +1 -0
  180. package/dist/harness/codex/turn/observability.d.ts +8 -0
  181. package/dist/harness/codex/turn/observability.d.ts.map +1 -0
  182. package/dist/harness/codex/turn/observability.js +63 -0
  183. package/dist/harness/codex/turn/observability.js.map +1 -0
  184. package/dist/harness/codex/turn/transport.d.ts +21 -0
  185. package/dist/harness/codex/turn/transport.d.ts.map +1 -0
  186. package/dist/harness/codex/turn/transport.js +387 -0
  187. package/dist/harness/codex/turn/transport.js.map +1 -0
  188. package/dist/harness/installed/catalog.d.ts +30 -0
  189. package/dist/harness/installed/catalog.d.ts.map +1 -0
  190. package/dist/harness/installed/catalog.js +29 -0
  191. package/dist/harness/installed/catalog.js.map +1 -0
  192. package/dist/harness/installed/policy.d.ts +23 -0
  193. package/dist/harness/installed/policy.d.ts.map +1 -0
  194. package/dist/harness/installed/policy.js +29 -0
  195. package/dist/harness/installed/policy.js.map +1 -0
  196. package/dist/harness/installed/resolver.d.ts +39 -0
  197. package/dist/harness/installed/resolver.d.ts.map +1 -0
  198. package/dist/harness/installed/resolver.js +93 -0
  199. package/dist/harness/installed/resolver.js.map +1 -0
  200. package/dist/harness/installed/scan.d.ts +61 -0
  201. package/dist/harness/installed/scan.d.ts.map +1 -0
  202. package/dist/harness/installed/scan.js +327 -0
  203. package/dist/harness/installed/scan.js.map +1 -0
  204. package/dist/harness/installed/service.d.ts +99 -0
  205. package/dist/harness/installed/service.d.ts.map +1 -0
  206. package/dist/harness/installed/service.js +206 -0
  207. package/dist/harness/installed/service.js.map +1 -0
  208. package/dist/harness/pi-rpc/artifact.d.ts +57 -0
  209. package/dist/harness/pi-rpc/artifact.d.ts.map +1 -0
  210. package/dist/harness/pi-rpc/artifact.js +431 -0
  211. package/dist/harness/pi-rpc/artifact.js.map +1 -0
  212. package/dist/harness/pi-rpc/authorization/authorization-store.d.ts +41 -0
  213. package/dist/harness/pi-rpc/authorization/authorization-store.d.ts.map +1 -0
  214. package/dist/harness/pi-rpc/authorization/authorization-store.js +235 -0
  215. package/dist/harness/pi-rpc/authorization/authorization-store.js.map +1 -0
  216. package/dist/harness/pi-rpc/authorization/database.d.ts +99 -0
  217. package/dist/harness/pi-rpc/authorization/database.d.ts.map +1 -0
  218. package/dist/harness/pi-rpc/authorization/database.js +94 -0
  219. package/dist/harness/pi-rpc/authorization/database.js.map +1 -0
  220. package/dist/harness/pi-rpc/authorization/index.d.ts +7 -0
  221. package/dist/harness/pi-rpc/authorization/index.d.ts.map +1 -0
  222. package/dist/harness/pi-rpc/authorization/index.js +6 -0
  223. package/dist/harness/pi-rpc/authorization/index.js.map +1 -0
  224. package/dist/harness/pi-rpc/authorization/permit-compaction-store.d.ts +3 -0
  225. package/dist/harness/pi-rpc/authorization/permit-compaction-store.d.ts.map +1 -0
  226. package/dist/harness/pi-rpc/authorization/permit-compaction-store.js +61 -0
  227. package/dist/harness/pi-rpc/authorization/permit-compaction-store.js.map +1 -0
  228. package/dist/harness/pi-rpc/authorization/permit-store.d.ts +38 -0
  229. package/dist/harness/pi-rpc/authorization/permit-store.d.ts.map +1 -0
  230. package/dist/harness/pi-rpc/authorization/permit-store.js +310 -0
  231. package/dist/harness/pi-rpc/authorization/permit-store.js.map +1 -0
  232. package/dist/harness/pi-rpc/authorization/plan-store.d.ts +14 -0
  233. package/dist/harness/pi-rpc/authorization/plan-store.d.ts.map +1 -0
  234. package/dist/harness/pi-rpc/authorization/plan-store.js +205 -0
  235. package/dist/harness/pi-rpc/authorization/plan-store.js.map +1 -0
  236. package/dist/harness/pi-rpc/authorization/policy.d.ts +18 -0
  237. package/dist/harness/pi-rpc/authorization/policy.d.ts.map +1 -0
  238. package/dist/harness/pi-rpc/authorization/policy.js +131 -0
  239. package/dist/harness/pi-rpc/authorization/policy.js.map +1 -0
  240. package/dist/harness/pi-rpc/authorization/projection.d.ts +7 -0
  241. package/dist/harness/pi-rpc/authorization/projection.d.ts.map +1 -0
  242. package/dist/harness/pi-rpc/authorization/projection.js +195 -0
  243. package/dist/harness/pi-rpc/authorization/projection.js.map +1 -0
  244. package/dist/harness/pi-rpc/authorization/recovery-store.d.ts +3 -0
  245. package/dist/harness/pi-rpc/authorization/recovery-store.d.ts.map +1 -0
  246. package/dist/harness/pi-rpc/authorization/recovery-store.js +63 -0
  247. package/dist/harness/pi-rpc/authorization/recovery-store.js.map +1 -0
  248. package/dist/harness/pi-rpc/authorization/replay-store.d.ts +11 -0
  249. package/dist/harness/pi-rpc/authorization/replay-store.d.ts.map +1 -0
  250. package/dist/harness/pi-rpc/authorization/replay-store.js +60 -0
  251. package/dist/harness/pi-rpc/authorization/replay-store.js.map +1 -0
  252. package/dist/harness/pi-rpc/authorization/types.d.ts +117 -0
  253. package/dist/harness/pi-rpc/authorization/types.d.ts.map +1 -0
  254. package/dist/harness/pi-rpc/authorization/types.js +3 -0
  255. package/dist/harness/pi-rpc/authorization/types.js.map +1 -0
  256. package/dist/harness/pi-rpc/contract.d.ts +86 -0
  257. package/dist/harness/pi-rpc/contract.d.ts.map +1 -0
  258. package/dist/harness/pi-rpc/contract.js +206 -0
  259. package/dist/harness/pi-rpc/contract.js.map +1 -0
  260. package/dist/harness/pi-rpc/conversation.d.ts +129 -0
  261. package/dist/harness/pi-rpc/conversation.d.ts.map +1 -0
  262. package/dist/harness/pi-rpc/conversation.js +885 -0
  263. package/dist/harness/pi-rpc/conversation.js.map +1 -0
  264. package/dist/harness/pi-rpc/jsonl.d.ts +16 -0
  265. package/dist/harness/pi-rpc/jsonl.d.ts.map +1 -0
  266. package/dist/harness/pi-rpc/jsonl.js +115 -0
  267. package/dist/harness/pi-rpc/jsonl.js.map +1 -0
  268. package/dist/harness/pi-rpc/managed-process.d.ts +13 -0
  269. package/dist/harness/pi-rpc/managed-process.d.ts.map +1 -0
  270. package/dist/harness/pi-rpc/managed-process.js +64 -0
  271. package/dist/harness/pi-rpc/managed-process.js.map +1 -0
  272. package/dist/harness/pi-rpc/manifest-order.d.ts +7 -0
  273. package/dist/harness/pi-rpc/manifest-order.d.ts.map +1 -0
  274. package/dist/harness/pi-rpc/manifest-order.js +11 -0
  275. package/dist/harness/pi-rpc/manifest-order.js.map +1 -0
  276. package/dist/harness/pi-rpc/probe.d.ts +18 -0
  277. package/dist/harness/pi-rpc/probe.d.ts.map +1 -0
  278. package/dist/harness/pi-rpc/probe.js +168 -0
  279. package/dist/harness/pi-rpc/probe.js.map +1 -0
  280. package/dist/harness/pi-rpc/runtime-probe.d.ts +93 -0
  281. package/dist/harness/pi-rpc/runtime-probe.d.ts.map +1 -0
  282. package/dist/harness/pi-rpc/runtime-probe.js +381 -0
  283. package/dist/harness/pi-rpc/runtime-probe.js.map +1 -0
  284. package/dist/harness/pi-rpc/session-launch.d.ts +46 -0
  285. package/dist/harness/pi-rpc/session-launch.d.ts.map +1 -0
  286. package/dist/harness/pi-rpc/session-launch.js +547 -0
  287. package/dist/harness/pi-rpc/session-launch.js.map +1 -0
  288. package/dist/harness/pi-rpc/session-service.d.ts +71 -0
  289. package/dist/harness/pi-rpc/session-service.d.ts.map +1 -0
  290. package/dist/harness/pi-rpc/session-service.js +336 -0
  291. package/dist/harness/pi-rpc/session-service.js.map +1 -0
  292. package/dist/index.d.ts +49 -0
  293. package/dist/index.d.ts.map +1 -0
  294. package/dist/index.js +173 -0
  295. package/dist/index.js.map +1 -0
  296. package/dist/integration-authorization/application.d.ts +56 -0
  297. package/dist/integration-authorization/application.d.ts.map +1 -0
  298. package/dist/integration-authorization/application.js +185 -0
  299. package/dist/integration-authorization/application.js.map +1 -0
  300. package/dist/integration-authorization/pi-rpc-application.d.ts +46 -0
  301. package/dist/integration-authorization/pi-rpc-application.d.ts.map +1 -0
  302. package/dist/integration-authorization/pi-rpc-application.js +201 -0
  303. package/dist/integration-authorization/pi-rpc-application.js.map +1 -0
  304. package/dist/integration-authorization/pi-rpc-requests.d.ts +10 -0
  305. package/dist/integration-authorization/pi-rpc-requests.d.ts.map +1 -0
  306. package/dist/integration-authorization/pi-rpc-requests.js +221 -0
  307. package/dist/integration-authorization/pi-rpc-requests.js.map +1 -0
  308. package/dist/integration-authorization/requests.d.ts +10 -0
  309. package/dist/integration-authorization/requests.d.ts.map +1 -0
  310. package/dist/integration-authorization/requests.js +208 -0
  311. package/dist/integration-authorization/requests.js.map +1 -0
  312. package/dist/invocation-context/application.d.ts +34 -0
  313. package/dist/invocation-context/application.d.ts.map +1 -0
  314. package/dist/invocation-context/application.js +14 -0
  315. package/dist/invocation-context/application.js.map +1 -0
  316. package/dist/invocation-context/resolver.d.ts +6 -0
  317. package/dist/invocation-context/resolver.d.ts.map +1 -0
  318. package/dist/invocation-context/resolver.js +15 -0
  319. package/dist/invocation-context/resolver.js.map +1 -0
  320. package/dist/lifecycle/node-machine.d.ts +45 -0
  321. package/dist/lifecycle/node-machine.d.ts.map +1 -0
  322. package/dist/lifecycle/node-machine.js +64 -0
  323. package/dist/lifecycle/node-machine.js.map +1 -0
  324. package/dist/orchestration/application.d.ts +10 -0
  325. package/dist/orchestration/application.d.ts.map +1 -0
  326. package/dist/orchestration/application.js +97 -0
  327. package/dist/orchestration/application.js.map +1 -0
  328. package/dist/orchestration/lifecycle.d.ts +98 -0
  329. package/dist/orchestration/lifecycle.d.ts.map +1 -0
  330. package/dist/orchestration/lifecycle.js +118 -0
  331. package/dist/orchestration/lifecycle.js.map +1 -0
  332. package/dist/orchestration/mutations.d.ts +28 -0
  333. package/dist/orchestration/mutations.d.ts.map +1 -0
  334. package/dist/orchestration/mutations.js +562 -0
  335. package/dist/orchestration/mutations.js.map +1 -0
  336. package/dist/orchestration/storage.d.ts +200 -0
  337. package/dist/orchestration/storage.d.ts.map +1 -0
  338. package/dist/orchestration/storage.js +1214 -0
  339. package/dist/orchestration/storage.js.map +1 -0
  340. package/dist/project-workspace/application/requests.d.ts +44 -0
  341. package/dist/project-workspace/application/requests.d.ts.map +1 -0
  342. package/dist/project-workspace/application/requests.js +92 -0
  343. package/dist/project-workspace/application/requests.js.map +1 -0
  344. package/dist/project-workspace/repository/inspector.d.ts +47 -0
  345. package/dist/project-workspace/repository/inspector.d.ts.map +1 -0
  346. package/dist/project-workspace/repository/inspector.js +311 -0
  347. package/dist/project-workspace/repository/inspector.js.map +1 -0
  348. package/dist/project-workspace/storage/request-digest.d.ts +11 -0
  349. package/dist/project-workspace/storage/request-digest.d.ts.map +1 -0
  350. package/dist/project-workspace/storage/request-digest.js +21 -0
  351. package/dist/project-workspace/storage/request-digest.js.map +1 -0
  352. package/dist/project-workspace/storage/store.d.ts +34 -0
  353. package/dist/project-workspace/storage/store.d.ts.map +1 -0
  354. package/dist/project-workspace/storage/store.js +603 -0
  355. package/dist/project-workspace/storage/store.js.map +1 -0
  356. package/dist/runtime/connection-descriptor.d.ts +19 -0
  357. package/dist/runtime/connection-descriptor.d.ts.map +1 -0
  358. package/dist/runtime/connection-descriptor.js +136 -0
  359. package/dist/runtime/connection-descriptor.js.map +1 -0
  360. package/dist/runtime/errors.d.ts +21 -0
  361. package/dist/runtime/errors.d.ts.map +1 -0
  362. package/dist/runtime/errors.js +48 -0
  363. package/dist/runtime/errors.js.map +1 -0
  364. package/dist/runtime/framing.d.ts +9 -0
  365. package/dist/runtime/framing.d.ts.map +1 -0
  366. package/dist/runtime/framing.js +48 -0
  367. package/dist/runtime/framing.js.map +1 -0
  368. package/dist/runtime/instance-lock.d.ts +54 -0
  369. package/dist/runtime/instance-lock.d.ts.map +1 -0
  370. package/dist/runtime/instance-lock.js +566 -0
  371. package/dist/runtime/instance-lock.js.map +1 -0
  372. package/dist/runtime/local-credential.d.ts +16 -0
  373. package/dist/runtime/local-credential.d.ts.map +1 -0
  374. package/dist/runtime/local-credential.js +66 -0
  375. package/dist/runtime/local-credential.js.map +1 -0
  376. package/dist/runtime/local-server-channels.d.ts +11 -0
  377. package/dist/runtime/local-server-channels.d.ts.map +1 -0
  378. package/dist/runtime/local-server-channels.js +21 -0
  379. package/dist/runtime/local-server-channels.js.map +1 -0
  380. package/dist/runtime/local-server-listener.d.ts +12 -0
  381. package/dist/runtime/local-server-listener.d.ts.map +1 -0
  382. package/dist/runtime/local-server-listener.js +41 -0
  383. package/dist/runtime/local-server-listener.js.map +1 -0
  384. package/dist/runtime/local-server.d.ts +27 -0
  385. package/dist/runtime/local-server.d.ts.map +1 -0
  386. package/dist/runtime/local-server.js +639 -0
  387. package/dist/runtime/local-server.js.map +1 -0
  388. package/dist/runtime/observability.d.ts +21 -0
  389. package/dist/runtime/observability.d.ts.map +1 -0
  390. package/dist/runtime/observability.js +164 -0
  391. package/dist/runtime/observability.js.map +1 -0
  392. package/dist/runtime/process/owned-tree.d.ts +24 -0
  393. package/dist/runtime/process/owned-tree.d.ts.map +1 -0
  394. package/dist/runtime/process/owned-tree.js +228 -0
  395. package/dist/runtime/process/owned-tree.js.map +1 -0
  396. package/dist/runtime/process/resource/cleanup.d.ts +13 -0
  397. package/dist/runtime/process/resource/cleanup.d.ts.map +1 -0
  398. package/dist/runtime/process/resource/cleanup.js +196 -0
  399. package/dist/runtime/process/resource/cleanup.js.map +1 -0
  400. package/dist/runtime/process/resource/contract.d.ts +382 -0
  401. package/dist/runtime/process/resource/contract.d.ts.map +1 -0
  402. package/dist/runtime/process/resource/contract.js +2 -0
  403. package/dist/runtime/process/resource/contract.js.map +1 -0
  404. package/dist/runtime/process/resource/darwin-native-host-bootstrap.d.ts +7 -0
  405. package/dist/runtime/process/resource/darwin-native-host-bootstrap.d.ts.map +1 -0
  406. package/dist/runtime/process/resource/darwin-native-host-bootstrap.js +196 -0
  407. package/dist/runtime/process/resource/darwin-native-host-bootstrap.js.map +1 -0
  408. package/dist/runtime/process/resource/darwin-source-candidate-layer.d.ts +16 -0
  409. package/dist/runtime/process/resource/darwin-source-candidate-layer.d.ts.map +1 -0
  410. package/dist/runtime/process/resource/darwin-source-candidate-layer.js +51 -0
  411. package/dist/runtime/process/resource/darwin-source-candidate-layer.js.map +1 -0
  412. package/dist/runtime/process/resource/darwin-vouch-policy.d.ts +44 -0
  413. package/dist/runtime/process/resource/darwin-vouch-policy.d.ts.map +1 -0
  414. package/dist/runtime/process/resource/darwin-vouch-policy.js +253 -0
  415. package/dist/runtime/process/resource/darwin-vouch-policy.js.map +1 -0
  416. package/dist/runtime/process/resource/health.d.ts +45 -0
  417. package/dist/runtime/process/resource/health.d.ts.map +1 -0
  418. package/dist/runtime/process/resource/health.js +197 -0
  419. package/dist/runtime/process/resource/health.js.map +1 -0
  420. package/dist/runtime/process/resource/host-frame.d.ts +39 -0
  421. package/dist/runtime/process/resource/host-frame.d.ts.map +1 -0
  422. package/dist/runtime/process/resource/host-frame.js +266 -0
  423. package/dist/runtime/process/resource/host-frame.js.map +1 -0
  424. package/dist/runtime/process/resource/host-launch.d.ts +11 -0
  425. package/dist/runtime/process/resource/host-launch.d.ts.map +1 -0
  426. package/dist/runtime/process/resource/host-launch.js +296 -0
  427. package/dist/runtime/process/resource/host-launch.js.map +1 -0
  428. package/dist/runtime/process/resource/host-lifecycle.d.ts +91 -0
  429. package/dist/runtime/process/resource/host-lifecycle.d.ts.map +1 -0
  430. package/dist/runtime/process/resource/host-lifecycle.js +96 -0
  431. package/dist/runtime/process/resource/host-lifecycle.js.map +1 -0
  432. package/dist/runtime/process/resource/host-message.d.ts +15 -0
  433. package/dist/runtime/process/resource/host-message.d.ts.map +1 -0
  434. package/dist/runtime/process/resource/host-message.js +538 -0
  435. package/dist/runtime/process/resource/host-message.js.map +1 -0
  436. package/dist/runtime/process/resource/host-protocol-contract.d.ts +222 -0
  437. package/dist/runtime/process/resource/host-protocol-contract.d.ts.map +1 -0
  438. package/dist/runtime/process/resource/host-protocol-contract.js +69 -0
  439. package/dist/runtime/process/resource/host-protocol-contract.js.map +1 -0
  440. package/dist/runtime/process/resource/host-protocol-sequence.d.ts +14 -0
  441. package/dist/runtime/process/resource/host-protocol-sequence.d.ts.map +1 -0
  442. package/dist/runtime/process/resource/host-protocol-sequence.js +304 -0
  443. package/dist/runtime/process/resource/host-protocol-sequence.js.map +1 -0
  444. package/dist/runtime/process/resource/host-protocol.d.ts +5 -0
  445. package/dist/runtime/process/resource/host-protocol.d.ts.map +1 -0
  446. package/dist/runtime/process/resource/host-protocol.js +5 -0
  447. package/dist/runtime/process/resource/host-protocol.js.map +1 -0
  448. package/dist/runtime/process/resource/host-snapshot.d.ts +11 -0
  449. package/dist/runtime/process/resource/host-snapshot.d.ts.map +1 -0
  450. package/dist/runtime/process/resource/host-snapshot.js +239 -0
  451. package/dist/runtime/process/resource/host-snapshot.js.map +1 -0
  452. package/dist/runtime/process/resource/integration-authorization/authorization-store.d.ts +48 -0
  453. package/dist/runtime/process/resource/integration-authorization/authorization-store.d.ts.map +1 -0
  454. package/dist/runtime/process/resource/integration-authorization/authorization-store.js +269 -0
  455. package/dist/runtime/process/resource/integration-authorization/authorization-store.js.map +1 -0
  456. package/dist/runtime/process/resource/integration-authorization/database.d.ts +10 -0
  457. package/dist/runtime/process/resource/integration-authorization/database.d.ts.map +1 -0
  458. package/dist/runtime/process/resource/integration-authorization/database.js +98 -0
  459. package/dist/runtime/process/resource/integration-authorization/database.js.map +1 -0
  460. package/dist/runtime/process/resource/integration-authorization/index.d.ts +7 -0
  461. package/dist/runtime/process/resource/integration-authorization/index.d.ts.map +1 -0
  462. package/dist/runtime/process/resource/integration-authorization/index.js +6 -0
  463. package/dist/runtime/process/resource/integration-authorization/index.js.map +1 -0
  464. package/dist/runtime/process/resource/integration-authorization/permit-compaction-store.d.ts +3 -0
  465. package/dist/runtime/process/resource/integration-authorization/permit-compaction-store.d.ts.map +1 -0
  466. package/dist/runtime/process/resource/integration-authorization/permit-compaction-store.js +87 -0
  467. package/dist/runtime/process/resource/integration-authorization/permit-compaction-store.js.map +1 -0
  468. package/dist/runtime/process/resource/integration-authorization/permit-store.d.ts +44 -0
  469. package/dist/runtime/process/resource/integration-authorization/permit-store.d.ts.map +1 -0
  470. package/dist/runtime/process/resource/integration-authorization/permit-store.js +486 -0
  471. package/dist/runtime/process/resource/integration-authorization/permit-store.js.map +1 -0
  472. package/dist/runtime/process/resource/integration-authorization/plan-integrity.d.ts +21 -0
  473. package/dist/runtime/process/resource/integration-authorization/plan-integrity.d.ts.map +1 -0
  474. package/dist/runtime/process/resource/integration-authorization/plan-integrity.js +172 -0
  475. package/dist/runtime/process/resource/integration-authorization/plan-integrity.js.map +1 -0
  476. package/dist/runtime/process/resource/integration-authorization/plan-payload.d.ts +31 -0
  477. package/dist/runtime/process/resource/integration-authorization/plan-payload.d.ts.map +1 -0
  478. package/dist/runtime/process/resource/integration-authorization/plan-payload.js +15 -0
  479. package/dist/runtime/process/resource/integration-authorization/plan-payload.js.map +1 -0
  480. package/dist/runtime/process/resource/integration-authorization/plan-store.d.ts +11 -0
  481. package/dist/runtime/process/resource/integration-authorization/plan-store.d.ts.map +1 -0
  482. package/dist/runtime/process/resource/integration-authorization/plan-store.js +124 -0
  483. package/dist/runtime/process/resource/integration-authorization/plan-store.js.map +1 -0
  484. package/dist/runtime/process/resource/integration-authorization/policy.d.ts +37 -0
  485. package/dist/runtime/process/resource/integration-authorization/policy.d.ts.map +1 -0
  486. package/dist/runtime/process/resource/integration-authorization/policy.js +141 -0
  487. package/dist/runtime/process/resource/integration-authorization/policy.js.map +1 -0
  488. package/dist/runtime/process/resource/integration-authorization/projection.d.ts +5 -0
  489. package/dist/runtime/process/resource/integration-authorization/projection.d.ts.map +1 -0
  490. package/dist/runtime/process/resource/integration-authorization/projection.js +56 -0
  491. package/dist/runtime/process/resource/integration-authorization/projection.js.map +1 -0
  492. package/dist/runtime/process/resource/integration-authorization/replay-store.d.ts +9 -0
  493. package/dist/runtime/process/resource/integration-authorization/replay-store.d.ts.map +1 -0
  494. package/dist/runtime/process/resource/integration-authorization/replay-store.js +55 -0
  495. package/dist/runtime/process/resource/integration-authorization/replay-store.js.map +1 -0
  496. package/dist/runtime/process/resource/integration-authorization/types.d.ts +152 -0
  497. package/dist/runtime/process/resource/integration-authorization/types.d.ts.map +1 -0
  498. package/dist/runtime/process/resource/integration-authorization/types.js +3 -0
  499. package/dist/runtime/process/resource/integration-authorization/types.js.map +1 -0
  500. package/dist/runtime/process/resource/integration-authorization-manager.d.ts +9 -0
  501. package/dist/runtime/process/resource/integration-authorization-manager.d.ts.map +1 -0
  502. package/dist/runtime/process/resource/integration-authorization-manager.js +353 -0
  503. package/dist/runtime/process/resource/integration-authorization-manager.js.map +1 -0
  504. package/dist/runtime/process/resource/integration-authorization-storage.d.ts +2 -0
  505. package/dist/runtime/process/resource/integration-authorization-storage.d.ts.map +1 -0
  506. package/dist/runtime/process/resource/integration-authorization-storage.js +2 -0
  507. package/dist/runtime/process/resource/integration-authorization-storage.js.map +1 -0
  508. package/dist/runtime/process/resource/internal-spawn.d.ts +27 -0
  509. package/dist/runtime/process/resource/internal-spawn.d.ts.map +1 -0
  510. package/dist/runtime/process/resource/internal-spawn.js +7 -0
  511. package/dist/runtime/process/resource/internal-spawn.js.map +1 -0
  512. package/dist/runtime/process/resource/launch-authority.d.ts +5 -0
  513. package/dist/runtime/process/resource/launch-authority.d.ts.map +1 -0
  514. package/dist/runtime/process/resource/launch-authority.js +37 -0
  515. package/dist/runtime/process/resource/launch-authority.js.map +1 -0
  516. package/dist/runtime/process/resource/launch-gate.d.ts +19 -0
  517. package/dist/runtime/process/resource/launch-gate.d.ts.map +1 -0
  518. package/dist/runtime/process/resource/launch-gate.js +16 -0
  519. package/dist/runtime/process/resource/launch-gate.js.map +1 -0
  520. package/dist/runtime/process/resource/linux-process-identity.d.ts +13 -0
  521. package/dist/runtime/process/resource/linux-process-identity.d.ts.map +1 -0
  522. package/dist/runtime/process/resource/linux-process-identity.js +40 -0
  523. package/dist/runtime/process/resource/linux-process-identity.js.map +1 -0
  524. package/dist/runtime/process/resource/managed-tree.d.ts +28 -0
  525. package/dist/runtime/process/resource/managed-tree.d.ts.map +1 -0
  526. package/dist/runtime/process/resource/managed-tree.js +79 -0
  527. package/dist/runtime/process/resource/managed-tree.js.map +1 -0
  528. package/dist/runtime/process/resource/native-host-adapter.d.ts +17 -0
  529. package/dist/runtime/process/resource/native-host-adapter.d.ts.map +1 -0
  530. package/dist/runtime/process/resource/native-host-adapter.js +169 -0
  531. package/dist/runtime/process/resource/native-host-adapter.js.map +1 -0
  532. package/dist/runtime/process/resource/native-host-artifact.d.ts +28 -0
  533. package/dist/runtime/process/resource/native-host-artifact.d.ts.map +1 -0
  534. package/dist/runtime/process/resource/native-host-artifact.js +110 -0
  535. package/dist/runtime/process/resource/native-host-artifact.js.map +1 -0
  536. package/dist/runtime/process/resource/native-host-bootstrap.d.ts +29 -0
  537. package/dist/runtime/process/resource/native-host-bootstrap.d.ts.map +1 -0
  538. package/dist/runtime/process/resource/native-host-bootstrap.js +2 -0
  539. package/dist/runtime/process/resource/native-host-bootstrap.js.map +1 -0
  540. package/dist/runtime/process/resource/native-host-capability.d.ts +5 -0
  541. package/dist/runtime/process/resource/native-host-capability.d.ts.map +1 -0
  542. package/dist/runtime/process/resource/native-host-capability.js +86 -0
  543. package/dist/runtime/process/resource/native-host-capability.js.map +1 -0
  544. package/dist/runtime/process/resource/native-host-connection.d.ts +82 -0
  545. package/dist/runtime/process/resource/native-host-connection.d.ts.map +1 -0
  546. package/dist/runtime/process/resource/native-host-connection.js +448 -0
  547. package/dist/runtime/process/resource/native-host-connection.js.map +1 -0
  548. package/dist/runtime/process/resource/native-host-contract.d.ts +47 -0
  549. package/dist/runtime/process/resource/native-host-contract.d.ts.map +1 -0
  550. package/dist/runtime/process/resource/native-host-contract.js +2 -0
  551. package/dist/runtime/process/resource/native-host-contract.js.map +1 -0
  552. package/dist/runtime/process/resource/native-host-frame-parser.d.ts +22 -0
  553. package/dist/runtime/process/resource/native-host-frame-parser.d.ts.map +1 -0
  554. package/dist/runtime/process/resource/native-host-frame-parser.js +110 -0
  555. package/dist/runtime/process/resource/native-host-frame-parser.js.map +1 -0
  556. package/dist/runtime/process/resource/native-host-output.d.ts +16 -0
  557. package/dist/runtime/process/resource/native-host-output.d.ts.map +1 -0
  558. package/dist/runtime/process/resource/native-host-output.js +94 -0
  559. package/dist/runtime/process/resource/native-host-output.js.map +1 -0
  560. package/dist/runtime/process/resource/native-host-projection.d.ts +20 -0
  561. package/dist/runtime/process/resource/native-host-projection.d.ts.map +1 -0
  562. package/dist/runtime/process/resource/native-host-projection.js +74 -0
  563. package/dist/runtime/process/resource/native-host-projection.js.map +1 -0
  564. package/dist/runtime/process/resource/native-host-release-identity.d.ts +19 -0
  565. package/dist/runtime/process/resource/native-host-release-identity.d.ts.map +1 -0
  566. package/dist/runtime/process/resource/native-host-release-identity.js +56 -0
  567. package/dist/runtime/process/resource/native-host-release-identity.js.map +1 -0
  568. package/dist/runtime/process/resource/native-host-state.d.ts +38 -0
  569. package/dist/runtime/process/resource/native-host-state.d.ts.map +1 -0
  570. package/dist/runtime/process/resource/native-host-state.js +303 -0
  571. package/dist/runtime/process/resource/native-host-state.js.map +1 -0
  572. package/dist/runtime/process/resource/native-manager.d.ts +11 -0
  573. package/dist/runtime/process/resource/native-manager.d.ts.map +1 -0
  574. package/dist/runtime/process/resource/native-manager.js +646 -0
  575. package/dist/runtime/process/resource/native-manager.js.map +1 -0
  576. package/dist/runtime/process/resource/pi-rpc-launch-authority.d.ts +8 -0
  577. package/dist/runtime/process/resource/pi-rpc-launch-authority.d.ts.map +1 -0
  578. package/dist/runtime/process/resource/pi-rpc-launch-authority.js +158 -0
  579. package/dist/runtime/process/resource/pi-rpc-launch-authority.js.map +1 -0
  580. package/dist/runtime/process/resource/policy.d.ts +53 -0
  581. package/dist/runtime/process/resource/policy.d.ts.map +1 -0
  582. package/dist/runtime/process/resource/policy.js +501 -0
  583. package/dist/runtime/process/resource/policy.js.map +1 -0
  584. package/dist/runtime/process/resource/process-identity.d.ts +29 -0
  585. package/dist/runtime/process/resource/process-identity.d.ts.map +1 -0
  586. package/dist/runtime/process/resource/process-identity.js +199 -0
  587. package/dist/runtime/process/resource/process-identity.js.map +1 -0
  588. package/dist/runtime/process/resource/ps-snapshot.d.ts +12 -0
  589. package/dist/runtime/process/resource/ps-snapshot.d.ts.map +1 -0
  590. package/dist/runtime/process/resource/ps-snapshot.js +77 -0
  591. package/dist/runtime/process/resource/ps-snapshot.js.map +1 -0
  592. package/dist/runtime/process/resource/sampler.d.ts +18 -0
  593. package/dist/runtime/process/resource/sampler.d.ts.map +1 -0
  594. package/dist/runtime/process/resource/sampler.js +19 -0
  595. package/dist/runtime/process/resource/sampler.js.map +1 -0
  596. package/dist/runtime/process/resource/sampling.d.ts +23 -0
  597. package/dist/runtime/process/resource/sampling.d.ts.map +1 -0
  598. package/dist/runtime/process/resource/sampling.js +131 -0
  599. package/dist/runtime/process/resource/sampling.js.map +1 -0
  600. package/dist/runtime/process/resource/service.d.ts +15 -0
  601. package/dist/runtime/process/resource/service.d.ts.map +1 -0
  602. package/dist/runtime/process/resource/service.js +39 -0
  603. package/dist/runtime/process/resource/service.js.map +1 -0
  604. package/dist/runtime/process/resource/snapshot.d.ts +24 -0
  605. package/dist/runtime/process/resource/snapshot.d.ts.map +1 -0
  606. package/dist/runtime/process/resource/snapshot.js +149 -0
  607. package/dist/runtime/process/resource/snapshot.js.map +1 -0
  608. package/dist/runtime/process/resource/telemetry.d.ts +9 -0
  609. package/dist/runtime/process/resource/telemetry.d.ts.map +1 -0
  610. package/dist/runtime/process/resource/telemetry.js +51 -0
  611. package/dist/runtime/process/resource/telemetry.js.map +1 -0
  612. package/dist/runtime/process/resource/test-runtime-layer.d.ts +25 -0
  613. package/dist/runtime/process/resource/test-runtime-layer.d.ts.map +1 -0
  614. package/dist/runtime/process/resource/test-runtime-layer.js +296 -0
  615. package/dist/runtime/process/resource/test-runtime-layer.js.map +1 -0
  616. package/dist/runtime/process/resource/testing.d.ts +18 -0
  617. package/dist/runtime/process/resource/testing.d.ts.map +1 -0
  618. package/dist/runtime/process/resource/testing.js +216 -0
  619. package/dist/runtime/process/resource/testing.js.map +1 -0
  620. package/dist/runtime/profile-paths.d.ts +27 -0
  621. package/dist/runtime/profile-paths.d.ts.map +1 -0
  622. package/dist/runtime/profile-paths.js +111 -0
  623. package/dist/runtime/profile-paths.js.map +1 -0
  624. package/dist/runtime/startup/testing/benchmark-evidence.d.ts +45 -0
  625. package/dist/runtime/startup/testing/benchmark-evidence.d.ts.map +1 -0
  626. package/dist/runtime/startup/testing/benchmark-evidence.js +261 -0
  627. package/dist/runtime/startup/testing/benchmark-evidence.js.map +1 -0
  628. package/dist/session/application/activation.d.ts +22 -0
  629. package/dist/session/application/activation.d.ts.map +1 -0
  630. package/dist/session/application/activation.js +202 -0
  631. package/dist/session/application/activation.js.map +1 -0
  632. package/dist/session/application/requests.d.ts +25 -0
  633. package/dist/session/application/requests.d.ts.map +1 -0
  634. package/dist/session/application/requests.js +76 -0
  635. package/dist/session/application/requests.js.map +1 -0
  636. package/dist/session/application/testing/activation-barrier.d.ts +8 -0
  637. package/dist/session/application/testing/activation-barrier.d.ts.map +1 -0
  638. package/dist/session/application/testing/activation-barrier.js +55 -0
  639. package/dist/session/application/testing/activation-barrier.js.map +1 -0
  640. package/dist/session/runtime/admission.d.ts +8 -0
  641. package/dist/session/runtime/admission.d.ts.map +1 -0
  642. package/dist/session/runtime/admission.js +22 -0
  643. package/dist/session/runtime/admission.js.map +1 -0
  644. package/dist/session/runtime/policy.d.ts +5 -0
  645. package/dist/session/runtime/policy.d.ts.map +1 -0
  646. package/dist/session/runtime/policy.js +5 -0
  647. package/dist/session/runtime/policy.js.map +1 -0
  648. package/dist/session/storage/activation-command.d.ts +12 -0
  649. package/dist/session/storage/activation-command.d.ts.map +1 -0
  650. package/dist/session/storage/activation-command.js +146 -0
  651. package/dist/session/storage/activation-command.js.map +1 -0
  652. package/dist/session/storage/activation-mutations.d.ts +25 -0
  653. package/dist/session/storage/activation-mutations.d.ts.map +1 -0
  654. package/dist/session/storage/activation-mutations.js +34 -0
  655. package/dist/session/storage/activation-mutations.js.map +1 -0
  656. package/dist/session/storage/activation-record.d.ts +28 -0
  657. package/dist/session/storage/activation-record.d.ts.map +1 -0
  658. package/dist/session/storage/activation-record.js +109 -0
  659. package/dist/session/storage/activation-record.js.map +1 -0
  660. package/dist/session/storage/activation-state.d.ts +18 -0
  661. package/dist/session/storage/activation-state.d.ts.map +1 -0
  662. package/dist/session/storage/activation-state.js +173 -0
  663. package/dist/session/storage/activation-state.js.map +1 -0
  664. package/dist/session/storage/activation.d.ts +4 -0
  665. package/dist/session/storage/activation.d.ts.map +1 -0
  666. package/dist/session/storage/activation.js +4 -0
  667. package/dist/session/storage/activation.js.map +1 -0
  668. package/dist/session/storage/create.d.ts +12 -0
  669. package/dist/session/storage/create.d.ts.map +1 -0
  670. package/dist/session/storage/create.js +115 -0
  671. package/dist/session/storage/create.js.map +1 -0
  672. package/dist/session/storage/events.d.ts +4 -0
  673. package/dist/session/storage/events.d.ts.map +1 -0
  674. package/dist/session/storage/events.js +119 -0
  675. package/dist/session/storage/events.js.map +1 -0
  676. package/dist/session/storage/queries.d.ts +5 -0
  677. package/dist/session/storage/queries.d.ts.map +1 -0
  678. package/dist/session/storage/queries.js +24 -0
  679. package/dist/session/storage/queries.js.map +1 -0
  680. package/dist/session/storage/request-digest.d.ts +4 -0
  681. package/dist/session/storage/request-digest.d.ts.map +1 -0
  682. package/dist/session/storage/request-digest.js +19 -0
  683. package/dist/session/storage/request-digest.js.map +1 -0
  684. package/dist/session/storage/runtime-profile.d.ts +15 -0
  685. package/dist/session/storage/runtime-profile.d.ts.map +1 -0
  686. package/dist/session/storage/runtime-profile.js +4 -0
  687. package/dist/session/storage/runtime-profile.js.map +1 -0
  688. package/dist/session/storage/session-record.d.ts +25 -0
  689. package/dist/session/storage/session-record.d.ts.map +1 -0
  690. package/dist/session/storage/session-record.js +53 -0
  691. package/dist/session/storage/session-record.js.map +1 -0
  692. package/dist/session/storage/testing/database.d.ts +13 -0
  693. package/dist/session/storage/testing/database.d.ts.map +1 -0
  694. package/dist/session/storage/testing/database.js +63 -0
  695. package/dist/session/storage/testing/database.js.map +1 -0
  696. package/dist/session/testing/activation-waiter.d.ts +7 -0
  697. package/dist/session/testing/activation-waiter.d.ts.map +1 -0
  698. package/dist/session/testing/activation-waiter.js +38 -0
  699. package/dist/session/testing/activation-waiter.js.map +1 -0
  700. package/dist/session/testing/built-session-bounded-capture.d.ts +15 -0
  701. package/dist/session/testing/built-session-bounded-capture.d.ts.map +1 -0
  702. package/dist/session/testing/built-session-bounded-capture.js +136 -0
  703. package/dist/session/testing/built-session-bounded-capture.js.map +1 -0
  704. package/dist/session/testing/built-session-cli-supervisor.d.ts +36 -0
  705. package/dist/session/testing/built-session-cli-supervisor.d.ts.map +1 -0
  706. package/dist/session/testing/built-session-cli-supervisor.js +52 -0
  707. package/dist/session/testing/built-session-cli-supervisor.js.map +1 -0
  708. package/dist/session/testing/built-session-execution-authenticator.d.ts +11 -0
  709. package/dist/session/testing/built-session-execution-authenticator.d.ts.map +1 -0
  710. package/dist/session/testing/built-session-execution-authenticator.js +33 -0
  711. package/dist/session/testing/built-session-execution-authenticator.js.map +1 -0
  712. package/dist/session/testing/built-session-execution-authority.d.ts +12 -0
  713. package/dist/session/testing/built-session-execution-authority.d.ts.map +1 -0
  714. package/dist/session/testing/built-session-execution-authority.js +1242 -0
  715. package/dist/session/testing/built-session-execution-authority.js.map +1 -0
  716. package/dist/session/testing/built-session-execution-budget.d.ts +29 -0
  717. package/dist/session/testing/built-session-execution-budget.d.ts.map +1 -0
  718. package/dist/session/testing/built-session-execution-budget.js +72 -0
  719. package/dist/session/testing/built-session-execution-budget.js.map +1 -0
  720. package/dist/session/testing/built-session-execution-contract.d.ts +64 -0
  721. package/dist/session/testing/built-session-execution-contract.d.ts.map +1 -0
  722. package/dist/session/testing/built-session-execution-contract.js +4 -0
  723. package/dist/session/testing/built-session-execution-contract.js.map +1 -0
  724. package/dist/session/testing/built-session-execution-failure.d.ts +32 -0
  725. package/dist/session/testing/built-session-execution-failure.d.ts.map +1 -0
  726. package/dist/session/testing/built-session-execution-failure.js +51 -0
  727. package/dist/session/testing/built-session-execution-failure.js.map +1 -0
  728. package/dist/session/testing/built-session-execution-handle.d.ts +29 -0
  729. package/dist/session/testing/built-session-execution-handle.d.ts.map +1 -0
  730. package/dist/session/testing/built-session-execution-handle.js +37 -0
  731. package/dist/session/testing/built-session-execution-handle.js.map +1 -0
  732. package/dist/session/testing/built-session-execution-input.d.ts +94 -0
  733. package/dist/session/testing/built-session-execution-input.d.ts.map +1 -0
  734. package/dist/session/testing/built-session-execution-input.js +356 -0
  735. package/dist/session/testing/built-session-execution-input.js.map +1 -0
  736. package/dist/session/testing/built-session-execution-lifecycle.d.ts +36 -0
  737. package/dist/session/testing/built-session-execution-lifecycle.d.ts.map +1 -0
  738. package/dist/session/testing/built-session-execution-lifecycle.js +143 -0
  739. package/dist/session/testing/built-session-execution-lifecycle.js.map +1 -0
  740. package/dist/session/testing/built-session-execution-policy.d.ts +67 -0
  741. package/dist/session/testing/built-session-execution-policy.d.ts.map +1 -0
  742. package/dist/session/testing/built-session-execution-policy.js +110 -0
  743. package/dist/session/testing/built-session-execution-policy.js.map +1 -0
  744. package/dist/session/testing/built-session-execution-private-types.d.ts +137 -0
  745. package/dist/session/testing/built-session-execution-private-types.d.ts.map +1 -0
  746. package/dist/session/testing/built-session-execution-private-types.js +2 -0
  747. package/dist/session/testing/built-session-execution-private-types.js.map +1 -0
  748. package/dist/session/testing/built-session-execution-projection.d.ts +177 -0
  749. package/dist/session/testing/built-session-execution-projection.d.ts.map +1 -0
  750. package/dist/session/testing/built-session-execution-projection.js +226 -0
  751. package/dist/session/testing/built-session-execution-projection.js.map +1 -0
  752. package/dist/session/testing/built-session-execution-provider.d.ts +36 -0
  753. package/dist/session/testing/built-session-execution-provider.d.ts.map +1 -0
  754. package/dist/session/testing/built-session-execution-provider.js +2 -0
  755. package/dist/session/testing/built-session-execution-provider.js.map +1 -0
  756. package/dist/session/testing/built-session-execution-receipt.d.ts +331 -0
  757. package/dist/session/testing/built-session-execution-receipt.d.ts.map +1 -0
  758. package/dist/session/testing/built-session-execution-receipt.js +243 -0
  759. package/dist/session/testing/built-session-execution-receipt.js.map +1 -0
  760. package/dist/session/testing/built-session-execution-record.d.ts +15 -0
  761. package/dist/session/testing/built-session-execution-record.d.ts.map +1 -0
  762. package/dist/session/testing/built-session-execution-record.js +27 -0
  763. package/dist/session/testing/built-session-execution-record.js.map +1 -0
  764. package/dist/session/testing/built-session-execution-snapshot.d.ts +83 -0
  765. package/dist/session/testing/built-session-execution-snapshot.d.ts.map +1 -0
  766. package/dist/session/testing/built-session-execution-snapshot.js +5 -0
  767. package/dist/session/testing/built-session-execution-snapshot.js.map +1 -0
  768. package/dist/session/testing/built-session-node.d.ts +110 -0
  769. package/dist/session/testing/built-session-node.d.ts.map +1 -0
  770. package/dist/session/testing/built-session-node.js +715 -0
  771. package/dist/session/testing/built-session-node.js.map +1 -0
  772. package/dist/session/testing/built-session-structural-gate.d.ts +40 -0
  773. package/dist/session/testing/built-session-structural-gate.d.ts.map +1 -0
  774. package/dist/session/testing/built-session-structural-gate.js +207 -0
  775. package/dist/session/testing/built-session-structural-gate.js.map +1 -0
  776. package/dist/session/testing/built-session-temporary-lifecycle.d.ts +35 -0
  777. package/dist/session/testing/built-session-temporary-lifecycle.d.ts.map +1 -0
  778. package/dist/session/testing/built-session-temporary-lifecycle.js +314 -0
  779. package/dist/session/testing/built-session-temporary-lifecycle.js.map +1 -0
  780. package/dist/session/testing/git-repository.d.ts +2 -0
  781. package/dist/session/testing/git-repository.d.ts.map +1 -0
  782. package/dist/session/testing/git-repository.js +29 -0
  783. package/dist/session/testing/git-repository.js.map +1 -0
  784. package/dist/session/testing/session-fixture.d.ts +7 -0
  785. package/dist/session/testing/session-fixture.d.ts.map +1 -0
  786. package/dist/session/testing/session-fixture.js +53 -0
  787. package/dist/session/testing/session-fixture.js.map +1 -0
  788. package/dist/session/turn/application/requests.d.ts +24 -0
  789. package/dist/session/turn/application/requests.d.ts.map +1 -0
  790. package/dist/session/turn/application/requests.js +164 -0
  791. package/dist/session/turn/application/requests.js.map +1 -0
  792. package/dist/session/turn/application/source-candidate-authority.d.ts +5 -0
  793. package/dist/session/turn/application/source-candidate-authority.d.ts.map +1 -0
  794. package/dist/session/turn/application/source-candidate-authority.js +4 -0
  795. package/dist/session/turn/application/source-candidate-authority.js.map +1 -0
  796. package/dist/session/turn/storage/interrupt.d.ts +74 -0
  797. package/dist/session/turn/storage/interrupt.d.ts.map +1 -0
  798. package/dist/session/turn/storage/interrupt.js +757 -0
  799. package/dist/session/turn/storage/interrupt.js.map +1 -0
  800. package/dist/session/turn/storage/lifecycle.d.ts +29 -0
  801. package/dist/session/turn/storage/lifecycle.d.ts.map +1 -0
  802. package/dist/session/turn/storage/lifecycle.js +310 -0
  803. package/dist/session/turn/storage/lifecycle.js.map +1 -0
  804. package/dist/session/turn/storage/queries.d.ts +4 -0
  805. package/dist/session/turn/storage/queries.d.ts.map +1 -0
  806. package/dist/session/turn/storage/queries.js +7 -0
  807. package/dist/session/turn/storage/queries.js.map +1 -0
  808. package/dist/session/turn/storage/record.d.ts +28 -0
  809. package/dist/session/turn/storage/record.d.ts.map +1 -0
  810. package/dist/session/turn/storage/record.js +84 -0
  811. package/dist/session/turn/storage/record.js.map +1 -0
  812. package/dist/session/turn/storage/request-digest.d.ts +8 -0
  813. package/dist/session/turn/storage/request-digest.d.ts.map +1 -0
  814. package/dist/session/turn/storage/request-digest.js +20 -0
  815. package/dist/session/turn/storage/request-digest.js.map +1 -0
  816. package/dist/session/turn/storage/send.d.ts +12 -0
  817. package/dist/session/turn/storage/send.d.ts.map +1 -0
  818. package/dist/session/turn/storage/send.js +149 -0
  819. package/dist/session/turn/storage/send.js.map +1 -0
  820. package/dist/storage/database-files.d.ts +6 -0
  821. package/dist/storage/database-files.d.ts.map +1 -0
  822. package/dist/storage/database-files.js +146 -0
  823. package/dist/storage/database-files.js.map +1 -0
  824. package/dist/storage/integration-authorization-operations.d.ts +7 -0
  825. package/dist/storage/integration-authorization-operations.d.ts.map +1 -0
  826. package/dist/storage/integration-authorization-operations.js +134 -0
  827. package/dist/storage/integration-authorization-operations.js.map +1 -0
  828. package/dist/storage/journal.d.ts +108 -0
  829. package/dist/storage/journal.d.ts.map +1 -0
  830. package/dist/storage/journal.js +459 -0
  831. package/dist/storage/journal.js.map +1 -0
  832. package/dist/storage/migration-eleven.d.ts +2 -0
  833. package/dist/storage/migration-eleven.d.ts.map +1 -0
  834. package/dist/storage/migration-eleven.js +298 -0
  835. package/dist/storage/migration-eleven.js.map +1 -0
  836. package/dist/storage/migration-fourteen.d.ts +2 -0
  837. package/dist/storage/migration-fourteen.d.ts.map +1 -0
  838. package/dist/storage/migration-fourteen.js +316 -0
  839. package/dist/storage/migration-fourteen.js.map +1 -0
  840. package/dist/storage/migration-nine.d.ts +2 -0
  841. package/dist/storage/migration-nine.d.ts.map +1 -0
  842. package/dist/storage/migration-nine.js +1224 -0
  843. package/dist/storage/migration-nine.js.map +1 -0
  844. package/dist/storage/migration-ten.d.ts +2 -0
  845. package/dist/storage/migration-ten.d.ts.map +1 -0
  846. package/dist/storage/migration-ten.js +14 -0
  847. package/dist/storage/migration-ten.js.map +1 -0
  848. package/dist/storage/migration-thirteen.d.ts +2 -0
  849. package/dist/storage/migration-thirteen.d.ts.map +1 -0
  850. package/dist/storage/migration-thirteen.js +380 -0
  851. package/dist/storage/migration-thirteen.js.map +1 -0
  852. package/dist/storage/migration-twelve.d.ts +2 -0
  853. package/dist/storage/migration-twelve.d.ts.map +1 -0
  854. package/dist/storage/migration-twelve.js +85 -0
  855. package/dist/storage/migration-twelve.js.map +1 -0
  856. package/dist/storage/migrations.d.ts +20 -0
  857. package/dist/storage/migrations.d.ts.map +1 -0
  858. package/dist/storage/migrations.js +909 -0
  859. package/dist/storage/migrations.js.map +1 -0
  860. package/dist/storage/node-database.d.ts +282 -0
  861. package/dist/storage/node-database.d.ts.map +1 -0
  862. package/dist/storage/node-database.js +448 -0
  863. package/dist/storage/node-database.js.map +1 -0
  864. package/dist/storage/pi-rpc-authorization-operations.d.ts +91 -0
  865. package/dist/storage/pi-rpc-authorization-operations.d.ts.map +1 -0
  866. package/dist/storage/pi-rpc-authorization-operations.js +136 -0
  867. package/dist/storage/pi-rpc-authorization-operations.js.map +1 -0
  868. package/dist/storage/policy.d.ts +8 -0
  869. package/dist/storage/policy.d.ts.map +1 -0
  870. package/dist/storage/policy.js +8 -0
  871. package/dist/storage/policy.js.map +1 -0
  872. package/dist/storage/sqlite-integer.d.ts +3 -0
  873. package/dist/storage/sqlite-integer.d.ts.map +1 -0
  874. package/dist/storage/sqlite-integer.js +25 -0
  875. package/dist/storage/sqlite-integer.js.map +1 -0
  876. package/dist/storage/store-effect.d.ts +5 -0
  877. package/dist/storage/store-effect.d.ts.map +1 -0
  878. package/dist/storage/store-effect.js +15 -0
  879. package/dist/storage/store-effect.js.map +1 -0
  880. package/dist/terminal/application/live-requests.d.ts +18 -0
  881. package/dist/terminal/application/live-requests.d.ts.map +1 -0
  882. package/dist/terminal/application/live-requests.js +24 -0
  883. package/dist/terminal/application/live-requests.js.map +1 -0
  884. package/dist/terminal/application/requests.d.ts +10 -0
  885. package/dist/terminal/application/requests.d.ts.map +1 -0
  886. package/dist/terminal/application/requests.js +50 -0
  887. package/dist/terminal/application/requests.js.map +1 -0
  888. package/dist/terminal/live-launch.d.ts +16 -0
  889. package/dist/terminal/live-launch.d.ts.map +1 -0
  890. package/dist/terminal/live-launch.js +213 -0
  891. package/dist/terminal/live-launch.js.map +1 -0
  892. package/dist/terminal/live-lifecycle.d.ts +104 -0
  893. package/dist/terminal/live-lifecycle.d.ts.map +1 -0
  894. package/dist/terminal/live-lifecycle.js +185 -0
  895. package/dist/terminal/live-lifecycle.js.map +1 -0
  896. package/dist/terminal/live-native-control.d.ts +7 -0
  897. package/dist/terminal/live-native-control.d.ts.map +1 -0
  898. package/dist/terminal/live-native-control.js +233 -0
  899. package/dist/terminal/live-native-control.js.map +1 -0
  900. package/dist/terminal/live-runtime-state.d.ts +69 -0
  901. package/dist/terminal/live-runtime-state.d.ts.map +1 -0
  902. package/dist/terminal/live-runtime-state.js +75 -0
  903. package/dist/terminal/live-runtime-state.js.map +1 -0
  904. package/dist/terminal/live-service.d.ts +29 -0
  905. package/dist/terminal/live-service.d.ts.map +1 -0
  906. package/dist/terminal/live-service.js +79 -0
  907. package/dist/terminal/live-service.js.map +1 -0
  908. package/dist/terminal/live-supervision.d.ts +19 -0
  909. package/dist/terminal/live-supervision.d.ts.map +1 -0
  910. package/dist/terminal/live-supervision.js +78 -0
  911. package/dist/terminal/live-supervision.js.map +1 -0
  912. package/dist/terminal/storage/create.d.ts +23 -0
  913. package/dist/terminal/storage/create.d.ts.map +1 -0
  914. package/dist/terminal/storage/create.js +151 -0
  915. package/dist/terminal/storage/create.js.map +1 -0
  916. package/dist/terminal/storage/events.d.ts +4 -0
  917. package/dist/terminal/storage/events.d.ts.map +1 -0
  918. package/dist/terminal/storage/events.js +151 -0
  919. package/dist/terminal/storage/events.js.map +1 -0
  920. package/dist/terminal/storage/live-command-shared.d.ts +39 -0
  921. package/dist/terminal/storage/live-command-shared.d.ts.map +1 -0
  922. package/dist/terminal/storage/live-command-shared.js +142 -0
  923. package/dist/terminal/storage/live-command-shared.js.map +1 -0
  924. package/dist/terminal/storage/live-commands.d.ts +7 -0
  925. package/dist/terminal/storage/live-commands.d.ts.map +1 -0
  926. package/dist/terminal/storage/live-commands.js +7 -0
  927. package/dist/terminal/storage/live-commands.js.map +1 -0
  928. package/dist/terminal/storage/live-controller-commands.d.ts +4 -0
  929. package/dist/terminal/storage/live-controller-commands.d.ts.map +1 -0
  930. package/dist/terminal/storage/live-controller-commands.js +4 -0
  931. package/dist/terminal/storage/live-controller-commands.js.map +1 -0
  932. package/dist/terminal/storage/live-controller-lease.d.ts +17 -0
  933. package/dist/terminal/storage/live-controller-lease.d.ts.map +1 -0
  934. package/dist/terminal/storage/live-controller-lease.js +316 -0
  935. package/dist/terminal/storage/live-controller-lease.js.map +1 -0
  936. package/dist/terminal/storage/live-controller-policy.d.ts +44 -0
  937. package/dist/terminal/storage/live-controller-policy.d.ts.map +1 -0
  938. package/dist/terminal/storage/live-controller-policy.js +135 -0
  939. package/dist/terminal/storage/live-controller-policy.js.map +1 -0
  940. package/dist/terminal/storage/live-controller-request.d.ts +15 -0
  941. package/dist/terminal/storage/live-controller-request.d.ts.map +1 -0
  942. package/dist/terminal/storage/live-controller-request.js +166 -0
  943. package/dist/terminal/storage/live-controller-request.js.map +1 -0
  944. package/dist/terminal/storage/live-controller-shared.d.ts +40 -0
  945. package/dist/terminal/storage/live-controller-shared.d.ts.map +1 -0
  946. package/dist/terminal/storage/live-controller-shared.js +74 -0
  947. package/dist/terminal/storage/live-controller-shared.js.map +1 -0
  948. package/dist/terminal/storage/live-create-commands.d.ts +21 -0
  949. package/dist/terminal/storage/live-create-commands.d.ts.map +1 -0
  950. package/dist/terminal/storage/live-create-commands.js +227 -0
  951. package/dist/terminal/storage/live-create-commands.js.map +1 -0
  952. package/dist/terminal/storage/live-launch-context.d.ts +17 -0
  953. package/dist/terminal/storage/live-launch-context.d.ts.map +1 -0
  954. package/dist/terminal/storage/live-launch-context.js +44 -0
  955. package/dist/terminal/storage/live-launch-context.js.map +1 -0
  956. package/dist/terminal/storage/live-mutations.d.ts +65 -0
  957. package/dist/terminal/storage/live-mutations.d.ts.map +1 -0
  958. package/dist/terminal/storage/live-mutations.js +291 -0
  959. package/dist/terminal/storage/live-mutations.js.map +1 -0
  960. package/dist/terminal/storage/live-native-commands.d.ts +77 -0
  961. package/dist/terminal/storage/live-native-commands.d.ts.map +1 -0
  962. package/dist/terminal/storage/live-native-commands.js +728 -0
  963. package/dist/terminal/storage/live-native-commands.js.map +1 -0
  964. package/dist/terminal/storage/live-process-settlement.d.ts +30 -0
  965. package/dist/terminal/storage/live-process-settlement.d.ts.map +1 -0
  966. package/dist/terminal/storage/live-process-settlement.js +159 -0
  967. package/dist/terminal/storage/live-process-settlement.js.map +1 -0
  968. package/dist/terminal/storage/live-record.d.ts +36 -0
  969. package/dist/terminal/storage/live-record.d.ts.map +1 -0
  970. package/dist/terminal/storage/live-record.js +153 -0
  971. package/dist/terminal/storage/live-record.js.map +1 -0
  972. package/dist/terminal/storage/live-recovery.d.ts +6 -0
  973. package/dist/terminal/storage/live-recovery.d.ts.map +1 -0
  974. package/dist/terminal/storage/live-recovery.js +539 -0
  975. package/dist/terminal/storage/live-recovery.js.map +1 -0
  976. package/dist/terminal/storage/live-retention.d.ts +46 -0
  977. package/dist/terminal/storage/live-retention.d.ts.map +1 -0
  978. package/dist/terminal/storage/live-retention.js +362 -0
  979. package/dist/terminal/storage/live-retention.js.map +1 -0
  980. package/dist/terminal/storage/queries.d.ts +6 -0
  981. package/dist/terminal/storage/queries.d.ts.map +1 -0
  982. package/dist/terminal/storage/queries.js +85 -0
  983. package/dist/terminal/storage/queries.js.map +1 -0
  984. package/dist/terminal/storage/record.d.ts +29 -0
  985. package/dist/terminal/storage/record.d.ts.map +1 -0
  986. package/dist/terminal/storage/record.js +87 -0
  987. package/dist/terminal/storage/record.js.map +1 -0
  988. package/dist/terminal/storage/request-digest.d.ts +3 -0
  989. package/dist/terminal/storage/request-digest.d.ts.map +1 -0
  990. package/dist/terminal/storage/request-digest.js +10 -0
  991. package/dist/terminal/storage/request-digest.js.map +1 -0
  992. package/dist/terminal/storage/sqlite-counter.d.ts +4 -0
  993. package/dist/terminal/storage/sqlite-counter.d.ts.map +1 -0
  994. package/dist/terminal/storage/sqlite-counter.js +15 -0
  995. package/dist/terminal/storage/sqlite-counter.js.map +1 -0
  996. package/package.json +70 -0
@@ -0,0 +1,1224 @@
1
+ import { MAX_LIVE_TERMINALS, MAX_RETAINED_INACTIVE_TERMINALS, MAX_TERMINAL_CONTROLLER_REQUESTS_GLOBAL, MAX_TERMINAL_CONTROLLER_REQUESTS_PER_TERMINAL, MAX_TERMINAL_DURABLE_SCROLLBACK_BYTES_GLOBAL, MAX_TERMINAL_GENERATION, MAX_TERMINAL_MUTATION_SEQUENCE, MAX_TERMINAL_NATIVE_OPERATION_SEQUENCE, MAX_TERMINAL_OBSERVERS_GLOBAL, MAX_TERMINAL_OBSERVERS_PER_TERMINAL, MAX_TERMINAL_SCROLLBACK_BYTES, MAX_TERMINAL_SCROLLBACK_LINES, } from "@maiaos/protocol";
2
+ const MAX_TERMINAL_DURABLE_EVENTS_PER_TERMINAL = 50_000;
3
+ const MAX_TERMINAL_MUTATIONS_PER_TERMINAL = 65_536;
4
+ export const migrationNineSql = `
5
+ CREATE TABLE terminal_live_generations (
6
+ terminal_id TEXT NOT NULL
7
+ REFERENCES terminals(terminal_id) ON DELETE RESTRICT,
8
+ generation INTEGER NOT NULL CHECK (
9
+ generation BETWEEN 1 AND ${String(MAX_TERMINAL_GENERATION)}
10
+ ),
11
+ cleanup_state TEXT NOT NULL CHECK (
12
+ cleanup_state IN ('pending', 'known_identity_members_complete', 'unknown')
13
+ ),
14
+ cleanup_reason TEXT CHECK (
15
+ cleanup_reason IS NULL OR cleanup_reason IN (
16
+ 'cleanup_deadline', 'containment_lost', 'host_failed',
17
+ 'identity_observation_lost', 'native_acknowledgement_lost',
18
+ 'node_restarted'
19
+ )
20
+ ),
21
+ created_at TEXT NOT NULL,
22
+ updated_at TEXT NOT NULL,
23
+ PRIMARY KEY (terminal_id, generation),
24
+ CHECK (
25
+ (cleanup_state = 'unknown' AND cleanup_reason IS NOT NULL) OR
26
+ (cleanup_state <> 'unknown' AND cleanup_reason IS NULL)
27
+ )
28
+ ) STRICT, WITHOUT ROWID;
29
+
30
+ CREATE TABLE terminal_live_sessions (
31
+ terminal_id TEXT PRIMARY KEY NOT NULL
32
+ REFERENCES terminals(terminal_id) ON DELETE RESTRICT,
33
+ generation INTEGER NOT NULL CHECK (
34
+ generation BETWEEN 1 AND ${String(MAX_TERMINAL_GENERATION)}
35
+ ),
36
+ state TEXT NOT NULL CHECK (
37
+ state IN ('creating', 'running', 'closing', 'restarting', 'exited', 'disconnected')
38
+ ),
39
+ cleanup_state TEXT NOT NULL CHECK (
40
+ cleanup_state IN ('pending', 'known_identity_members_complete', 'unknown')
41
+ ),
42
+ cleanup_reason TEXT CHECK (
43
+ cleanup_reason IS NULL OR cleanup_reason IN (
44
+ 'cleanup_deadline', 'containment_lost', 'host_failed',
45
+ 'identity_observation_lost', 'native_acknowledgement_lost',
46
+ 'node_restarted'
47
+ )
48
+ ),
49
+ revision INTEGER NOT NULL CHECK (revision >= 1),
50
+ event_head INTEGER NOT NULL DEFAULT 0 CHECK (event_head >= 0),
51
+ chunk_head INTEGER NOT NULL DEFAULT 0 CHECK (chunk_head >= 0),
52
+ mutation_head INTEGER NOT NULL DEFAULT 0 CHECK (
53
+ mutation_head BETWEEN 0 AND ${String(MAX_TERMINAL_MUTATION_SEQUENCE)}
54
+ ),
55
+ native_operation_head INTEGER NOT NULL DEFAULT 0 CHECK (
56
+ native_operation_head BETWEEN 0 AND ${String(MAX_TERMINAL_NATIVE_OPERATION_SEQUENCE)}
57
+ ),
58
+ columns INTEGER NOT NULL CHECK (columns BETWEEN 2 AND 500),
59
+ rows INTEGER NOT NULL CHECK (rows BETWEEN 2 AND 300),
60
+ retained_bytes INTEGER NOT NULL DEFAULT 0 CHECK (
61
+ retained_bytes BETWEEN 0 AND ${String(MAX_TERMINAL_SCROLLBACK_BYTES)}
62
+ ),
63
+ retained_lines INTEGER NOT NULL DEFAULT 0 CHECK (
64
+ retained_lines BETWEEN 0 AND ${String(MAX_TERMINAL_SCROLLBACK_LINES)}
65
+ ),
66
+ exit_code INTEGER,
67
+ exit_signal TEXT CHECK (
68
+ exit_signal IS NULL OR exit_signal IN (
69
+ 'hangup', 'interrupt', 'kill', 'terminate', 'unknown'
70
+ )
71
+ ),
72
+ exit_observed_at TEXT,
73
+ deleted_at TEXT,
74
+ created_at TEXT NOT NULL,
75
+ updated_at TEXT NOT NULL,
76
+ FOREIGN KEY (terminal_id, generation)
77
+ REFERENCES terminal_live_generations(terminal_id, generation) ON DELETE RESTRICT,
78
+ CHECK (
79
+ (cleanup_state = 'unknown' AND cleanup_reason IS NOT NULL) OR
80
+ (cleanup_state <> 'unknown' AND cleanup_reason IS NULL)
81
+ ),
82
+ CHECK (
83
+ (state IN ('creating', 'running', 'closing') AND cleanup_state = 'pending') OR
84
+ (state = 'restarting' AND cleanup_state IN ('pending', 'known_identity_members_complete')) OR
85
+ (state = 'disconnected' AND cleanup_state = 'unknown') OR
86
+ state = 'exited'
87
+ ),
88
+ CHECK (
89
+ (state = 'exited' AND exit_observed_at IS NOT NULL) OR
90
+ (state = 'disconnected' AND (
91
+ (exit_code IS NULL AND exit_signal IS NULL AND exit_observed_at IS NULL) OR
92
+ exit_observed_at IS NOT NULL
93
+ )) OR
94
+ (state NOT IN ('exited', 'disconnected') AND exit_code IS NULL
95
+ AND exit_signal IS NULL AND exit_observed_at IS NULL)
96
+ )
97
+ ) STRICT;
98
+
99
+ CREATE TRIGGER terminal_live_sessions_admit
100
+ BEFORE INSERT ON terminal_live_sessions
101
+ BEGIN
102
+ SELECT CASE WHEN NOT (
103
+ NEW.generation = 1 AND NEW.state = 'creating'
104
+ AND NEW.cleanup_state = 'pending' AND NEW.cleanup_reason IS NULL
105
+ AND NEW.revision = 1 AND NEW.event_head = 0 AND NEW.chunk_head = 0
106
+ AND NEW.mutation_head = 0 AND NEW.native_operation_head = 0
107
+ AND NEW.deleted_at IS NULL
108
+ ) THEN RAISE(ABORT, 'terminal_live_initial_state_invalid') END;
109
+ SELECT CASE WHEN (
110
+ SELECT COUNT(*) FROM terminal_live_sessions
111
+ WHERE state IN ('creating', 'running', 'closing', 'restarting')
112
+ OR cleanup_state IN ('pending', 'unknown')
113
+ ) >= ${String(MAX_LIVE_TERMINALS)}
114
+ THEN RAISE(ABORT, 'terminal_live_global_limit') END;
115
+ SELECT CASE WHEN NEW.state = 'exited'
116
+ AND NEW.cleanup_state = 'known_identity_members_complete'
117
+ AND NEW.deleted_at IS NULL
118
+ AND (
119
+ SELECT COUNT(*) FROM terminal_live_sessions
120
+ WHERE state = 'exited'
121
+ AND cleanup_state = 'known_identity_members_complete'
122
+ AND deleted_at IS NULL
123
+ ) >= ${String(MAX_RETAINED_INACTIVE_TERMINALS)}
124
+ THEN RAISE(ABORT, 'terminal_live_inactive_history_limit') END;
125
+ SELECT CASE WHEN NOT EXISTS (
126
+ SELECT 1 FROM terminals
127
+ WHERE terminal_id = NEW.terminal_id AND platform = 'darwin'
128
+ AND state = 'unavailable'
129
+ AND unavailability_code = 'terminal_containment_unsupported'
130
+ AND revision = 1 AND chunk_head = 0
131
+ ) THEN RAISE(ABORT, 'terminal_live_base_identity_invalid') END;
132
+ SELECT CASE WHEN EXISTS (
133
+ SELECT 1 FROM orchestration_runs WHERE terminal_id = NEW.terminal_id
134
+ ) THEN RAISE(ABORT, 'terminal_live_orchestration_ineligible') END;
135
+ END;
136
+
137
+ CREATE TRIGGER terminal_live_sessions_lifecycle_update
138
+ BEFORE UPDATE OF state, cleanup_state, cleanup_reason ON terminal_live_sessions
139
+ WHEN NEW.generation = OLD.generation AND (
140
+ NEW.state <> OLD.state OR NEW.cleanup_state <> OLD.cleanup_state
141
+ OR NEW.cleanup_reason IS NOT OLD.cleanup_reason
142
+ )
143
+ BEGIN
144
+ SELECT CASE WHEN NOT (
145
+ (OLD.state = 'creating' AND OLD.cleanup_state = 'pending'
146
+ AND NEW.state = 'running' AND NEW.cleanup_state = 'pending') OR
147
+ (OLD.state = 'creating' AND OLD.cleanup_state = 'pending'
148
+ AND NEW.state = 'disconnected' AND NEW.cleanup_state = 'unknown') OR
149
+ (OLD.state = 'creating' AND OLD.cleanup_state = 'pending'
150
+ AND NEW.state = 'exited'
151
+ AND NEW.cleanup_state = 'known_identity_members_complete') OR
152
+ (OLD.state = 'running' AND OLD.cleanup_state = 'pending'
153
+ AND NEW.state IN ('closing', 'restarting')
154
+ AND NEW.cleanup_state = 'pending') OR
155
+ (OLD.state = 'running' AND OLD.cleanup_state = 'pending'
156
+ AND NEW.state = 'exited'
157
+ AND NEW.cleanup_state = 'pending') OR
158
+ (OLD.state = 'running' AND OLD.cleanup_state = 'pending'
159
+ AND NEW.state = 'disconnected' AND NEW.cleanup_state = 'unknown') OR
160
+ (OLD.state = 'closing' AND OLD.cleanup_state = 'pending'
161
+ AND NEW.state = 'exited'
162
+ AND NEW.cleanup_state = 'pending') OR
163
+ (OLD.state = 'closing' AND OLD.cleanup_state = 'pending'
164
+ AND NEW.state = 'disconnected' AND NEW.cleanup_state = 'unknown') OR
165
+ (OLD.state = 'restarting' AND OLD.cleanup_state = 'pending'
166
+ AND NEW.state = 'restarting'
167
+ AND NEW.cleanup_state = 'known_identity_members_complete') OR
168
+ (OLD.state = 'restarting' AND OLD.cleanup_state = 'pending'
169
+ AND NEW.state = 'disconnected' AND NEW.cleanup_state = 'unknown') OR
170
+ (OLD.state = 'exited' AND OLD.cleanup_state = 'pending'
171
+ AND NEW.state = 'exited'
172
+ AND NEW.cleanup_state IN ('known_identity_members_complete', 'unknown')) OR
173
+ (OLD.state = 'exited'
174
+ AND OLD.cleanup_state = 'known_identity_members_complete'
175
+ AND NEW.state = 'restarting'
176
+ AND NEW.cleanup_state = 'known_identity_members_complete')
177
+ ) OR NEW.revision <> OLD.revision + 1
178
+ THEN RAISE(ABORT, 'terminal_live_lifecycle_transition_invalid') END;
179
+ SELECT CASE WHEN OLD.state = 'creating' AND NEW.state = 'running'
180
+ AND NOT EXISTS (
181
+ SELECT 1 FROM terminal_live_mutations
182
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation
183
+ AND mutation_sequence = OLD.mutation_head
184
+ AND method = 'terminal.create' AND dispatch_state = 'acknowledged'
185
+ AND acknowledgement_kind = 'process-started'
186
+ )
187
+ THEN RAISE(ABORT, 'terminal_live_create_acknowledgement_required') END;
188
+ SELECT CASE WHEN OLD.state = 'running' AND NEW.state = 'closing'
189
+ AND NOT EXISTS (
190
+ SELECT 1 FROM terminal_live_mutations
191
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation
192
+ AND mutation_sequence = OLD.mutation_head
193
+ AND method = 'terminal.session.close'
194
+ AND effect_phase = 'native-effect' AND dispatch_state = 'prepared'
195
+ )
196
+ THEN RAISE(ABORT, 'terminal_live_close_dispatch_required') END;
197
+ SELECT CASE WHEN OLD.state <> 'restarting' AND NEW.state = 'restarting'
198
+ AND NOT EXISTS (
199
+ SELECT 1 FROM terminal_live_mutations
200
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation
201
+ AND mutation_sequence = OLD.mutation_head
202
+ AND method = 'terminal.session.restart' AND dispatch_state = 'prepared'
203
+ AND (
204
+ (OLD.state = 'running' AND effect_phase = 'source-cleanup'
205
+ AND restart_source_cleanup_required = 1) OR
206
+ (OLD.state = 'exited' AND effect_phase = 'target-start'
207
+ AND restart_source_cleanup_required = 0)
208
+ )
209
+ )
210
+ THEN RAISE(ABORT, 'terminal_live_restart_dispatch_required') END;
211
+ SELECT CASE WHEN OLD.state = 'exited' AND NEW.state = 'restarting'
212
+ AND NOT EXISTS (
213
+ SELECT 1 FROM terminal_live_generations
214
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation + 1
215
+ AND cleanup_state = 'pending'
216
+ )
217
+ THEN RAISE(ABORT, 'terminal_live_restart_target_generation_required') END;
218
+ SELECT CASE WHEN OLD.state = 'restarting'
219
+ AND OLD.cleanup_state = 'pending'
220
+ AND NEW.state = 'restarting'
221
+ AND NEW.cleanup_state = 'known_identity_members_complete'
222
+ AND NOT EXISTS (
223
+ SELECT 1 FROM terminal_live_mutations
224
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation
225
+ AND mutation_sequence = OLD.mutation_head
226
+ AND method = 'terminal.session.restart'
227
+ AND effect_phase = 'source-cleanup'
228
+ AND dispatch_state = 'attempted'
229
+ AND source_cleanup_ack_digest IS NOT NULL
230
+ )
231
+ THEN RAISE(ABORT, 'terminal_live_restart_source_cleanup_ack_required') END;
232
+ SELECT CASE WHEN OLD.state = 'creating' AND NEW.state = 'disconnected'
233
+ AND NOT EXISTS (
234
+ SELECT 1 FROM terminal_live_mutations
235
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation
236
+ AND mutation_sequence = OLD.mutation_head
237
+ AND method = 'terminal.create' AND dispatch_state = 'outcome_unknown'
238
+ )
239
+ THEN RAISE(ABORT, 'terminal_live_create_unknown_required') END;
240
+ SELECT CASE WHEN OLD.state = 'creating' AND NEW.state = 'exited'
241
+ AND NOT EXISTS (
242
+ SELECT 1 FROM terminal_live_mutations
243
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation
244
+ AND mutation_sequence = OLD.mutation_head
245
+ AND method = 'terminal.create' AND dispatch_state = 'outcome_unknown'
246
+ AND effect_phase = 'native-effect'
247
+ AND mutation_sequence = 1 AND native_operation_sequence = 1
248
+ AND unknown_reason = 'native_acknowledgement_lost'
249
+ AND acknowledgement_command_id IS NULL
250
+ AND acknowledgement_kind IS NULL
251
+ AND acknowledgement_digest IS NULL
252
+ )
253
+ THEN RAISE(ABORT, 'terminal_live_create_cleanup_required') END;
254
+ SELECT CASE WHEN OLD.state = 'closing' AND NEW.state = 'disconnected'
255
+ AND NOT EXISTS (
256
+ SELECT 1 FROM terminal_live_mutations
257
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation
258
+ AND mutation_sequence = OLD.mutation_head
259
+ AND method = 'terminal.session.close'
260
+ AND dispatch_state = 'outcome_unknown'
261
+ )
262
+ THEN RAISE(ABORT, 'terminal_live_close_unknown_required') END;
263
+ SELECT CASE WHEN OLD.state = 'restarting'
264
+ AND OLD.cleanup_state = 'pending' AND NEW.state = 'disconnected'
265
+ AND NOT EXISTS (
266
+ SELECT 1 FROM terminal_live_mutations
267
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation
268
+ AND mutation_sequence = OLD.mutation_head
269
+ AND method = 'terminal.session.restart'
270
+ AND effect_phase = 'source-cleanup'
271
+ AND dispatch_state = 'outcome_unknown'
272
+ )
273
+ THEN RAISE(ABORT, 'terminal_live_restart_source_unknown_required') END;
274
+ END;
275
+
276
+ CREATE TRIGGER terminal_live_sessions_bound_inactive_update
277
+ BEFORE UPDATE OF state, cleanup_state, deleted_at ON terminal_live_sessions
278
+ WHEN NEW.state = 'exited'
279
+ AND NEW.cleanup_state = 'known_identity_members_complete'
280
+ AND NEW.deleted_at IS NULL
281
+ AND NOT (
282
+ OLD.state = 'exited'
283
+ AND OLD.cleanup_state = 'known_identity_members_complete'
284
+ AND OLD.deleted_at IS NULL
285
+ )
286
+ BEGIN
287
+ SELECT CASE WHEN (
288
+ SELECT COUNT(*) FROM terminal_live_sessions
289
+ WHERE state = 'exited'
290
+ AND cleanup_state = 'known_identity_members_complete'
291
+ AND deleted_at IS NULL
292
+ ) >= ${String(MAX_RETAINED_INACTIVE_TERMINALS)}
293
+ THEN RAISE(ABORT, 'terminal_live_inactive_history_limit') END;
294
+ END;
295
+
296
+ CREATE TRIGGER terminal_live_generations_admit
297
+ BEFORE INSERT ON terminal_live_generations
298
+ BEGIN
299
+ SELECT CASE WHEN EXISTS (
300
+ SELECT 1 FROM orchestration_runs WHERE terminal_id = NEW.terminal_id
301
+ ) THEN RAISE(ABORT, 'terminal_live_orchestration_ineligible') END;
302
+ SELECT CASE WHEN (
303
+ (NOT EXISTS (
304
+ SELECT 1 FROM terminal_live_generations
305
+ WHERE terminal_id = NEW.terminal_id
306
+ ) AND NOT (
307
+ NEW.generation = 1 AND NEW.cleanup_state = 'pending'
308
+ AND NEW.cleanup_reason IS NULL
309
+ )) OR
310
+ (EXISTS (
311
+ SELECT 1 FROM terminal_live_generations
312
+ WHERE terminal_id = NEW.terminal_id
313
+ ) AND NOT EXISTS (
314
+ SELECT 1 FROM terminal_live_sessions current
315
+ JOIN terminal_live_generations previous
316
+ ON previous.terminal_id = current.terminal_id
317
+ AND previous.generation = current.generation
318
+ WHERE current.terminal_id = NEW.terminal_id
319
+ AND NEW.generation = current.generation + 1
320
+ AND current.state IN ('exited', 'restarting')
321
+ AND current.cleanup_state = 'known_identity_members_complete'
322
+ AND previous.cleanup_state = 'known_identity_members_complete'
323
+ AND NEW.cleanup_state = 'pending' AND NEW.cleanup_reason IS NULL
324
+ AND EXISTS (
325
+ SELECT 1 FROM terminal_live_mutations mutation
326
+ WHERE mutation.terminal_id = current.terminal_id
327
+ AND mutation.generation = current.generation
328
+ AND mutation.mutation_sequence = current.mutation_head
329
+ AND mutation.method = 'terminal.session.restart'
330
+ AND mutation.planned_target_generation = NEW.generation
331
+ AND mutation.effect_phase = 'target-start'
332
+ AND mutation.dispatch_state = 'prepared'
333
+ )
334
+ ))
335
+ ) THEN RAISE(ABORT, 'terminal_live_generation_not_next') END;
336
+ END;
337
+
338
+ CREATE TRIGGER terminal_live_generations_identity_immutable
339
+ BEFORE UPDATE OF terminal_id, generation ON terminal_live_generations
340
+ BEGIN
341
+ SELECT RAISE(ABORT, 'terminal_live_generation_identity_immutable');
342
+ END;
343
+
344
+ CREATE TRIGGER terminal_live_generations_cleanup_monotonic
345
+ BEFORE UPDATE OF cleanup_state, cleanup_reason ON terminal_live_generations
346
+ WHEN (
347
+ OLD.cleanup_state IN ('known_identity_members_complete', 'unknown')
348
+ AND (
349
+ NEW.cleanup_state <> OLD.cleanup_state OR
350
+ NEW.cleanup_reason IS NOT OLD.cleanup_reason
351
+ )
352
+ ) OR (
353
+ OLD.cleanup_state = 'pending'
354
+ AND NEW.cleanup_state NOT IN (
355
+ 'pending', 'known_identity_members_complete', 'unknown'
356
+ )
357
+ )
358
+ BEGIN
359
+ SELECT RAISE(ABORT, 'terminal_live_generation_cleanup_final');
360
+ END;
361
+
362
+ CREATE TRIGGER terminal_live_generations_identity_retained
363
+ BEFORE DELETE ON terminal_live_generations
364
+ BEGIN
365
+ SELECT RAISE(ABORT, 'terminal_live_generation_identity_retained');
366
+ END;
367
+
368
+ CREATE TRIGGER terminal_live_sessions_generation_advance
369
+ BEFORE UPDATE OF generation ON terminal_live_sessions
370
+ WHEN NEW.generation <> OLD.generation
371
+ BEGIN
372
+ SELECT CASE WHEN NOT (
373
+ NEW.generation = OLD.generation + 1
374
+ AND OLD.state = 'restarting'
375
+ AND OLD.cleanup_state = 'known_identity_members_complete'
376
+ AND NEW.revision = OLD.revision + 1
377
+ AND EXISTS (
378
+ SELECT 1 FROM terminal_live_mutations
379
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation
380
+ AND mutation_sequence = OLD.mutation_head
381
+ AND method = 'terminal.session.restart'
382
+ AND planned_target_generation = NEW.generation
383
+ AND effect_phase = 'target-start'
384
+ AND (
385
+ (dispatch_state = 'acknowledged'
386
+ AND acknowledgement_kind = 'process-started'
387
+ AND NEW.state = 'running' AND NEW.cleanup_state = 'pending'
388
+ AND NEW.cleanup_reason IS NULL) OR
389
+ (dispatch_state = 'outcome_unknown'
390
+ AND unknown_reason = 'native_acknowledgement_lost'
391
+ AND NEW.state = 'disconnected' AND NEW.cleanup_state = 'unknown'
392
+ AND NEW.cleanup_reason = 'native_acknowledgement_lost')
393
+ )
394
+ )
395
+ AND NOT EXISTS (
396
+ SELECT 1 FROM terminal_live_observers
397
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation
398
+ )
399
+ AND NOT EXISTS (
400
+ SELECT 1 FROM terminal_live_controller_requests
401
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation
402
+ AND state IN ('pending', 'ready')
403
+ )
404
+ AND NOT EXISTS (
405
+ SELECT 1 FROM terminal_live_controller_leases
406
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation
407
+ AND state = 'active'
408
+ )
409
+ AND NOT EXISTS (
410
+ SELECT 1 FROM terminal_live_mutations
411
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation
412
+ AND dispatch_state IN ('prepared', 'dispatching', 'attempted')
413
+ )
414
+ ) THEN RAISE(ABORT, 'terminal_live_generation_advance_invalid') END;
415
+ END;
416
+
417
+ CREATE TRIGGER terminal_live_sessions_sync_generation_insert
418
+ AFTER INSERT ON terminal_live_sessions
419
+ BEGIN
420
+ UPDATE terminal_live_generations
421
+ SET cleanup_state = NEW.cleanup_state,
422
+ cleanup_reason = NEW.cleanup_reason,
423
+ updated_at = NEW.updated_at
424
+ WHERE terminal_id = NEW.terminal_id AND generation = NEW.generation;
425
+ END;
426
+
427
+ CREATE TRIGGER terminal_live_sessions_sync_generation_update
428
+ AFTER UPDATE OF cleanup_state, cleanup_reason, generation ON terminal_live_sessions
429
+ BEGIN
430
+ UPDATE terminal_live_generations
431
+ SET cleanup_state = NEW.cleanup_state,
432
+ cleanup_reason = NEW.cleanup_reason,
433
+ updated_at = NEW.updated_at
434
+ WHERE terminal_id = NEW.terminal_id AND generation = NEW.generation;
435
+ END;
436
+
437
+ CREATE TRIGGER terminal_live_sessions_identity_immutable
438
+ BEFORE UPDATE OF terminal_id ON terminal_live_sessions
439
+ BEGIN
440
+ SELECT RAISE(ABORT, 'terminal_live_identity_immutable');
441
+ END;
442
+
443
+ CREATE TRIGGER terminal_live_sessions_kind_marker_immutable
444
+ BEFORE DELETE ON terminal_live_sessions
445
+ BEGIN
446
+ SELECT RAISE(ABORT, 'terminal_live_kind_marker_immutable');
447
+ END;
448
+
449
+ CREATE TRIGGER orchestration_runs_reject_live_terminal_insert
450
+ BEFORE INSERT ON orchestration_runs
451
+ WHEN EXISTS (
452
+ SELECT 1 FROM terminal_live_generations
453
+ WHERE terminal_id = NEW.terminal_id
454
+ )
455
+ BEGIN
456
+ SELECT RAISE(ABORT, 'orchestration_live_terminal_ineligible');
457
+ END;
458
+
459
+ CREATE TRIGGER orchestration_runs_reject_live_terminal_update
460
+ BEFORE UPDATE OF terminal_id ON orchestration_runs
461
+ WHEN EXISTS (
462
+ SELECT 1 FROM terminal_live_generations
463
+ WHERE terminal_id = NEW.terminal_id
464
+ )
465
+ BEGIN
466
+ SELECT RAISE(ABORT, 'orchestration_live_terminal_ineligible');
467
+ END;
468
+
469
+ CREATE TABLE terminal_live_chunks (
470
+ terminal_id TEXT NOT NULL,
471
+ chunk_cursor INTEGER NOT NULL CHECK (chunk_cursor >= 1),
472
+ generation INTEGER NOT NULL CHECK (
473
+ generation BETWEEN 1 AND ${String(MAX_TERMINAL_GENERATION)}
474
+ ),
475
+ content BLOB NOT NULL,
476
+ byte_length INTEGER NOT NULL CHECK (
477
+ byte_length BETWEEN 1 AND 32768 AND length(content) = byte_length
478
+ ),
479
+ line_count INTEGER NOT NULL CHECK (
480
+ line_count BETWEEN 0 AND byte_length
481
+ ),
482
+ content_digest TEXT NOT NULL CHECK (
483
+ length(content_digest) = 64 AND content_digest NOT GLOB '*[^a-f0-9]*'
484
+ ),
485
+ recorded_at TEXT NOT NULL,
486
+ PRIMARY KEY (terminal_id, chunk_cursor),
487
+ UNIQUE (terminal_id, chunk_cursor, generation),
488
+ FOREIGN KEY (terminal_id, generation)
489
+ REFERENCES terminal_live_generations(terminal_id, generation) ON DELETE RESTRICT
490
+ ) STRICT, WITHOUT ROWID;
491
+
492
+ CREATE TRIGGER terminal_live_chunks_bound_insert
493
+ BEFORE INSERT ON terminal_live_chunks
494
+ BEGIN
495
+ SELECT CASE WHEN NOT EXISTS (
496
+ SELECT 1 FROM terminal_live_sessions
497
+ WHERE terminal_id = NEW.terminal_id
498
+ AND generation = NEW.generation
499
+ AND chunk_head + 1 = NEW.chunk_cursor
500
+ AND deleted_at IS NULL
501
+ AND state IN ('running', 'closing', 'restarting')
502
+ ) THEN RAISE(ABORT, 'terminal_live_chunk_sequence_invalid') END;
503
+ SELECT CASE WHEN (
504
+ SELECT COUNT(*) FROM terminal_live_chunks
505
+ WHERE terminal_id = NEW.terminal_id
506
+ ) >= ${String(MAX_TERMINAL_DURABLE_EVENTS_PER_TERMINAL)}
507
+ THEN RAISE(ABORT, 'terminal_live_chunk_history_limit') END;
508
+ SELECT CASE WHEN (
509
+ SELECT retained_bytes + NEW.byte_length FROM terminal_live_sessions
510
+ WHERE terminal_id = NEW.terminal_id
511
+ ) > ${String(MAX_TERMINAL_SCROLLBACK_BYTES)}
512
+ THEN RAISE(ABORT, 'terminal_live_scrollback_bytes_limit') END;
513
+ SELECT CASE WHEN (
514
+ SELECT retained_lines + NEW.line_count FROM terminal_live_sessions
515
+ WHERE terminal_id = NEW.terminal_id
516
+ ) > ${String(MAX_TERMINAL_SCROLLBACK_LINES)}
517
+ THEN RAISE(ABORT, 'terminal_live_scrollback_lines_limit') END;
518
+ SELECT CASE WHEN (
519
+ SELECT COALESCE(SUM(retained_bytes), 0) FROM terminal_live_sessions
520
+ ) + NEW.byte_length > ${String(MAX_TERMINAL_DURABLE_SCROLLBACK_BYTES_GLOBAL)}
521
+ THEN RAISE(ABORT, 'terminal_live_global_scrollback_limit') END;
522
+ END;
523
+
524
+ CREATE TRIGGER terminal_live_chunks_immutable
525
+ BEFORE UPDATE ON terminal_live_chunks
526
+ BEGIN
527
+ SELECT RAISE(ABORT, 'terminal_live_chunk_immutable');
528
+ END;
529
+
530
+ CREATE TRIGGER terminal_live_chunks_account_insert
531
+ AFTER INSERT ON terminal_live_chunks
532
+ BEGIN
533
+ UPDATE terminal_live_sessions
534
+ SET retained_bytes = retained_bytes + NEW.byte_length,
535
+ retained_lines = retained_lines + NEW.line_count,
536
+ chunk_head = NEW.chunk_cursor
537
+ WHERE terminal_id = NEW.terminal_id;
538
+ END;
539
+
540
+ CREATE TRIGGER terminal_live_chunks_account_delete
541
+ AFTER DELETE ON terminal_live_chunks
542
+ BEGIN
543
+ UPDATE terminal_live_sessions
544
+ SET retained_bytes = retained_bytes - OLD.byte_length,
545
+ retained_lines = retained_lines - OLD.line_count
546
+ WHERE terminal_id = OLD.terminal_id;
547
+ END;
548
+
549
+ CREATE TABLE terminal_live_events (
550
+ terminal_id TEXT NOT NULL,
551
+ event_cursor INTEGER NOT NULL CHECK (event_cursor >= 1),
552
+ generation INTEGER NOT NULL CHECK (
553
+ generation BETWEEN 1 AND ${String(MAX_TERMINAL_GENERATION)}
554
+ ),
555
+ event_type TEXT NOT NULL CHECK (
556
+ event_type IN (
557
+ 'output', 'cleanup', 'exit', 'gap', 'controller-revoked',
558
+ 'lifecycle-transition'
559
+ )
560
+ ),
561
+ chunk_cursor INTEGER,
562
+ metadata_json TEXT NOT NULL CHECK (
563
+ json_valid(metadata_json) AND length(CAST(metadata_json AS BLOB)) <= 65536
564
+ AND instr(metadata_json, 'bytesBase64') = 0
565
+ ),
566
+ recorded_at TEXT NOT NULL,
567
+ PRIMARY KEY (terminal_id, event_cursor),
568
+ CHECK (
569
+ (event_type = 'output' AND chunk_cursor IS NOT NULL) OR
570
+ (event_type <> 'output' AND chunk_cursor IS NULL)
571
+ ),
572
+ FOREIGN KEY (terminal_id, generation)
573
+ REFERENCES terminal_live_generations(terminal_id, generation) ON DELETE RESTRICT,
574
+ FOREIGN KEY (terminal_id, chunk_cursor, generation)
575
+ REFERENCES terminal_live_chunks(terminal_id, chunk_cursor, generation) ON DELETE CASCADE
576
+ ) STRICT, WITHOUT ROWID;
577
+
578
+ CREATE TRIGGER terminal_live_events_bound_insert
579
+ BEFORE INSERT ON terminal_live_events
580
+ BEGIN
581
+ SELECT CASE WHEN NOT EXISTS (
582
+ SELECT 1 FROM terminal_live_sessions
583
+ WHERE terminal_id = NEW.terminal_id
584
+ AND generation = NEW.generation
585
+ AND event_head + 1 = NEW.event_cursor
586
+ AND deleted_at IS NULL
587
+ ) THEN RAISE(ABORT, 'terminal_live_event_sequence_invalid') END;
588
+ SELECT CASE WHEN (
589
+ SELECT COUNT(*) FROM terminal_live_events
590
+ WHERE terminal_id = NEW.terminal_id
591
+ ) >= ${String(MAX_TERMINAL_DURABLE_EVENTS_PER_TERMINAL)}
592
+ THEN RAISE(ABORT, 'terminal_live_event_history_limit') END;
593
+ END;
594
+
595
+ CREATE TRIGGER terminal_live_events_advance_head
596
+ AFTER INSERT ON terminal_live_events
597
+ BEGIN
598
+ UPDATE terminal_live_sessions
599
+ SET event_head = NEW.event_cursor
600
+ WHERE terminal_id = NEW.terminal_id;
601
+ END;
602
+
603
+ CREATE TRIGGER terminal_live_events_immutable
604
+ BEFORE UPDATE ON terminal_live_events
605
+ BEGIN
606
+ SELECT RAISE(ABORT, 'terminal_live_event_immutable');
607
+ END;
608
+
609
+ CREATE TABLE terminal_live_observers (
610
+ observer_id TEXT PRIMARY KEY NOT NULL,
611
+ terminal_id TEXT NOT NULL,
612
+ generation INTEGER NOT NULL CHECK (
613
+ generation BETWEEN 1 AND ${String(MAX_TERMINAL_GENERATION)}
614
+ ),
615
+ attach_id TEXT NOT NULL,
616
+ command_id TEXT UNIQUE NOT NULL,
617
+ after_cursor INTEGER NOT NULL CHECK (after_cursor >= 0),
618
+ expires_at TEXT NOT NULL,
619
+ created_at TEXT NOT NULL,
620
+ updated_at TEXT NOT NULL,
621
+ UNIQUE (terminal_id, attach_id),
622
+ FOREIGN KEY (terminal_id, generation)
623
+ REFERENCES terminal_live_generations(terminal_id, generation) ON DELETE RESTRICT
624
+ ) STRICT;
625
+
626
+ CREATE TRIGGER terminal_live_observers_bound_insert
627
+ BEFORE INSERT ON terminal_live_observers
628
+ BEGIN
629
+ SELECT CASE WHEN NOT EXISTS (
630
+ SELECT 1 FROM terminal_live_sessions
631
+ WHERE terminal_id = NEW.terminal_id AND generation = NEW.generation
632
+ AND deleted_at IS NULL
633
+ AND state IN ('creating', 'running', 'closing', 'restarting')
634
+ ) THEN RAISE(ABORT, 'terminal_live_observer_generation_stale') END;
635
+ SELECT CASE WHEN (
636
+ SELECT COUNT(*) FROM terminal_live_observers
637
+ ) >= ${String(MAX_TERMINAL_OBSERVERS_GLOBAL)}
638
+ THEN RAISE(ABORT, 'terminal_live_observer_global_limit') END;
639
+ SELECT CASE WHEN (
640
+ SELECT COUNT(*) FROM terminal_live_observers
641
+ WHERE terminal_id = NEW.terminal_id
642
+ ) >= ${String(MAX_TERMINAL_OBSERVERS_PER_TERMINAL)}
643
+ THEN RAISE(ABORT, 'terminal_live_observer_terminal_limit') END;
644
+ END;
645
+
646
+ CREATE TRIGGER terminal_live_observers_bound_update
647
+ BEFORE UPDATE ON terminal_live_observers
648
+ BEGIN
649
+ SELECT CASE WHEN NEW.observer_id <> OLD.observer_id
650
+ OR NEW.terminal_id <> OLD.terminal_id OR NEW.generation <> OLD.generation
651
+ OR NEW.attach_id <> OLD.attach_id OR NEW.command_id <> OLD.command_id
652
+ OR NEW.created_at <> OLD.created_at
653
+ THEN RAISE(ABORT, 'terminal_live_observer_identity_immutable') END;
654
+ SELECT CASE WHEN NOT EXISTS (
655
+ SELECT 1 FROM terminal_live_sessions
656
+ WHERE terminal_id = NEW.terminal_id AND generation = NEW.generation
657
+ AND deleted_at IS NULL
658
+ AND state IN ('creating', 'running', 'closing', 'restarting')
659
+ ) THEN RAISE(ABORT, 'terminal_live_observer_generation_stale') END;
660
+ END;
661
+
662
+ CREATE TABLE terminal_live_controller_requests (
663
+ controller_request_id TEXT PRIMARY KEY NOT NULL,
664
+ terminal_id TEXT NOT NULL,
665
+ generation INTEGER NOT NULL CHECK (
666
+ generation BETWEEN 1 AND ${String(MAX_TERMINAL_GENERATION)}
667
+ ),
668
+ command_id TEXT UNIQUE NOT NULL,
669
+ state TEXT NOT NULL CHECK (state IN ('pending', 'ready', 'denied')),
670
+ position INTEGER,
671
+ requested_lease_ms INTEGER NOT NULL CHECK (
672
+ requested_lease_ms BETWEEN 1000 AND 30000
673
+ ),
674
+ denial_reason TEXT CHECK (
675
+ denial_reason IS NULL OR denial_reason IN ('expired', 'policy', 'queue_saturated')
676
+ ),
677
+ requested_at TEXT NOT NULL,
678
+ expires_at TEXT NOT NULL,
679
+ updated_at TEXT NOT NULL,
680
+ UNIQUE (terminal_id, generation, position),
681
+ CHECK (
682
+ (state = 'pending' AND position BETWEEN 1 AND ${String(MAX_TERMINAL_CONTROLLER_REQUESTS_PER_TERMINAL)}
683
+ AND denial_reason IS NULL) OR
684
+ (state = 'ready' AND position IS NULL AND denial_reason IS NULL) OR
685
+ (state = 'denied' AND position IS NULL AND denial_reason IS NOT NULL)
686
+ ),
687
+ FOREIGN KEY (terminal_id, generation)
688
+ REFERENCES terminal_live_generations(terminal_id, generation) ON DELETE RESTRICT
689
+ ) STRICT;
690
+
691
+ CREATE TRIGGER terminal_live_controller_requests_bound_insert
692
+ BEFORE INSERT ON terminal_live_controller_requests
693
+ BEGIN
694
+ SELECT CASE WHEN NOT EXISTS (
695
+ SELECT 1 FROM terminal_live_sessions
696
+ WHERE terminal_id = NEW.terminal_id AND generation = NEW.generation
697
+ AND state = 'running' AND deleted_at IS NULL
698
+ ) THEN RAISE(ABORT, 'terminal_live_controller_generation_stale') END;
699
+ SELECT CASE WHEN (
700
+ SELECT COUNT(*) FROM terminal_live_controller_requests
701
+ WHERE state IN ('pending', 'ready')
702
+ ) >= ${String(MAX_TERMINAL_CONTROLLER_REQUESTS_GLOBAL)}
703
+ THEN RAISE(ABORT, 'terminal_live_controller_request_global_limit') END;
704
+ SELECT CASE WHEN (
705
+ SELECT COUNT(*) FROM terminal_live_controller_requests
706
+ WHERE terminal_id = NEW.terminal_id AND state IN ('pending', 'ready')
707
+ ) >= ${String(MAX_TERMINAL_CONTROLLER_REQUESTS_PER_TERMINAL)}
708
+ THEN RAISE(ABORT, 'terminal_live_controller_request_terminal_limit') END;
709
+ END;
710
+
711
+ CREATE TRIGGER terminal_live_controller_requests_bound_update
712
+ BEFORE UPDATE ON terminal_live_controller_requests
713
+ BEGIN
714
+ SELECT CASE WHEN NEW.controller_request_id <> OLD.controller_request_id
715
+ OR NEW.terminal_id <> OLD.terminal_id OR NEW.generation <> OLD.generation
716
+ OR NEW.command_id <> OLD.command_id
717
+ OR NEW.requested_lease_ms <> OLD.requested_lease_ms
718
+ OR NEW.requested_at <> OLD.requested_at
719
+ THEN RAISE(ABORT, 'terminal_live_controller_request_identity_immutable') END;
720
+ SELECT CASE WHEN NOT (
721
+ (OLD.state = 'pending' AND NEW.state = 'pending'
722
+ AND NEW.denial_reason IS NULL) OR
723
+ (OLD.state = 'pending' AND NEW.state IN ('ready', 'denied')) OR
724
+ (OLD.state = 'ready' AND NEW.state = 'denied')
725
+ ) THEN RAISE(ABORT, 'terminal_live_controller_request_final') END;
726
+ SELECT CASE WHEN NOT EXISTS (
727
+ SELECT 1 FROM terminal_live_sessions
728
+ WHERE terminal_id = NEW.terminal_id AND generation = NEW.generation
729
+ AND deleted_at IS NULL
730
+ AND state IN ('running', 'closing', 'restarting')
731
+ ) THEN RAISE(ABORT, 'terminal_live_controller_generation_stale') END;
732
+ END;
733
+
734
+ CREATE TABLE terminal_live_controller_leases (
735
+ lease_id TEXT PRIMARY KEY NOT NULL,
736
+ terminal_id TEXT NOT NULL,
737
+ generation INTEGER NOT NULL CHECK (
738
+ generation BETWEEN 1 AND ${String(MAX_TERMINAL_GENERATION)}
739
+ ),
740
+ epoch INTEGER NOT NULL CHECK (epoch >= 1),
741
+ revision INTEGER NOT NULL CHECK (revision >= 1),
742
+ state TEXT NOT NULL CHECK (state IN ('active', 'expired', 'released', 'revoked')),
743
+ expires_at TEXT NOT NULL,
744
+ created_at TEXT NOT NULL,
745
+ updated_at TEXT NOT NULL,
746
+ UNIQUE (terminal_id, generation, epoch),
747
+ FOREIGN KEY (terminal_id, generation)
748
+ REFERENCES terminal_live_generations(terminal_id, generation) ON DELETE RESTRICT
749
+ ) STRICT;
750
+
751
+ CREATE UNIQUE INDEX terminal_live_controller_one_active
752
+ ON terminal_live_controller_leases(terminal_id) WHERE state = 'active';
753
+
754
+ CREATE TRIGGER terminal_live_controller_leases_bound_insert
755
+ BEFORE INSERT ON terminal_live_controller_leases
756
+ BEGIN
757
+ SELECT CASE WHEN NEW.state <> 'active' OR NOT EXISTS (
758
+ SELECT 1 FROM terminal_live_sessions
759
+ WHERE terminal_id = NEW.terminal_id AND generation = NEW.generation
760
+ AND state = 'running' AND deleted_at IS NULL
761
+ ) THEN RAISE(ABORT, 'terminal_live_controller_lease_invalid') END;
762
+ END;
763
+
764
+ CREATE TRIGGER terminal_live_controller_leases_reactivate_guard
765
+ BEFORE UPDATE ON terminal_live_controller_leases
766
+ BEGIN
767
+ SELECT CASE WHEN NEW.lease_id <> OLD.lease_id
768
+ OR NEW.terminal_id <> OLD.terminal_id OR NEW.generation <> OLD.generation
769
+ OR NEW.epoch <> OLD.epoch OR NEW.created_at <> OLD.created_at
770
+ THEN RAISE(ABORT, 'terminal_live_controller_lease_identity_immutable') END;
771
+ SELECT CASE WHEN OLD.state <> 'active'
772
+ OR NEW.state NOT IN ('active', 'expired', 'released', 'revoked')
773
+ OR NEW.revision <> OLD.revision + 1
774
+ THEN RAISE(ABORT, 'terminal_live_controller_lease_final') END;
775
+ SELECT CASE WHEN NOT EXISTS (
776
+ SELECT 1 FROM terminal_live_sessions
777
+ WHERE terminal_id = NEW.terminal_id AND generation = NEW.generation
778
+ AND state IN ('running', 'closing', 'restarting') AND deleted_at IS NULL
779
+ ) THEN RAISE(ABORT, 'terminal_live_controller_lease_generation_stale') END;
780
+ END;
781
+
782
+ CREATE TABLE terminal_live_mutations (
783
+ command_id TEXT PRIMARY KEY NOT NULL,
784
+ terminal_id TEXT NOT NULL,
785
+ generation INTEGER NOT NULL CHECK (
786
+ generation BETWEEN 1 AND ${String(MAX_TERMINAL_GENERATION)}
787
+ ),
788
+ planned_target_generation INTEGER CHECK (
789
+ planned_target_generation IS NULL OR planned_target_generation BETWEEN 2 AND ${String(MAX_TERMINAL_GENERATION)}
790
+ ),
791
+ restart_source_cleanup_required INTEGER CHECK (
792
+ restart_source_cleanup_required IS NULL OR
793
+ restart_source_cleanup_required IN (0, 1)
794
+ ),
795
+ mutation_sequence INTEGER NOT NULL CHECK (
796
+ mutation_sequence BETWEEN 1 AND ${String(MAX_TERMINAL_MUTATION_SEQUENCE)}
797
+ ),
798
+ native_operation_sequence INTEGER CHECK (
799
+ native_operation_sequence IS NULL OR native_operation_sequence BETWEEN 1 AND ${String(MAX_TERMINAL_NATIVE_OPERATION_SEQUENCE)}
800
+ ),
801
+ method TEXT NOT NULL CHECK (method IN (
802
+ 'terminal.create', 'terminal.controller.request',
803
+ 'terminal.controller.acquire', 'terminal.controller.renew',
804
+ 'terminal.controller.release', 'terminal.input.write',
805
+ 'terminal.session.resize', 'terminal.session.signal',
806
+ 'terminal.session.close', 'terminal.session.restart',
807
+ 'terminal.session.delete'
808
+ )),
809
+ request_digest TEXT NOT NULL CHECK (
810
+ length(request_digest) = 64 AND request_digest NOT GLOB '*[^a-f0-9]*'
811
+ ),
812
+ controller_epoch INTEGER CHECK (controller_epoch IS NULL OR controller_epoch >= 1),
813
+ controller_revision INTEGER CHECK (controller_revision IS NULL OR controller_revision >= 1),
814
+ input_id TEXT,
815
+ input_sequence INTEGER CHECK (
816
+ input_sequence IS NULL OR input_sequence BETWEEN 1 AND 2147483647
817
+ ),
818
+ input_byte_length INTEGER CHECK (
819
+ input_byte_length IS NULL OR input_byte_length BETWEEN 1 AND 32768
820
+ ),
821
+ input_digest TEXT CHECK (
822
+ input_digest IS NULL OR (
823
+ length(input_digest) = 64 AND input_digest NOT GLOB '*[^a-f0-9]*'
824
+ )
825
+ ),
826
+ resize_columns INTEGER CHECK (
827
+ resize_columns IS NULL OR resize_columns BETWEEN 2 AND 500
828
+ ),
829
+ resize_rows INTEGER CHECK (
830
+ resize_rows IS NULL OR resize_rows BETWEEN 2 AND 300
831
+ ),
832
+ signal_name TEXT CHECK (
833
+ signal_name IS NULL OR signal_name IN ('hangup', 'interrupt', 'terminate')
834
+ ),
835
+ effect_phase TEXT NOT NULL CHECK (
836
+ effect_phase IN ('policy', 'native-effect', 'source-cleanup', 'target-start')
837
+ ),
838
+ dispatch_state TEXT NOT NULL CHECK (
839
+ dispatch_state IN (
840
+ 'prepared', 'dispatching', 'attempted', 'acknowledged', 'outcome_unknown'
841
+ )
842
+ ),
843
+ target_attempt TEXT CHECK (
844
+ target_attempt IS NULL OR target_attempt IN (
845
+ 'not-attempted', 'may-have-been-attempted', 'attempted'
846
+ )
847
+ ),
848
+ source_cleanup_ack_digest TEXT CHECK (
849
+ source_cleanup_ack_digest IS NULL OR (
850
+ length(source_cleanup_ack_digest) = 64
851
+ AND source_cleanup_ack_digest NOT GLOB '*[^a-f0-9]*'
852
+ )
853
+ ),
854
+ acknowledgement_command_id TEXT
855
+ REFERENCES command_receipts(command_id) ON DELETE RESTRICT,
856
+ acknowledgement_kind TEXT CHECK (
857
+ acknowledgement_kind IS NULL OR acknowledgement_kind IN (
858
+ 'policy-recorded', 'process-started', 'pty-write-accepted',
859
+ 'pty-resized', 'signal-delivered', 'cleanup-known'
860
+ )
861
+ ),
862
+ acknowledgement_digest TEXT CHECK (
863
+ acknowledgement_digest IS NULL OR (
864
+ length(acknowledgement_digest) = 64
865
+ AND acknowledgement_digest NOT GLOB '*[^a-f0-9]*'
866
+ )
867
+ ),
868
+ acknowledged_byte_length INTEGER CHECK (
869
+ acknowledged_byte_length IS NULL OR
870
+ acknowledged_byte_length BETWEEN 1 AND 32768
871
+ ),
872
+ unknown_reason TEXT CHECK (
873
+ unknown_reason IS NULL OR unknown_reason IN (
874
+ 'deadline_exceeded', 'host_failed', 'interrupted',
875
+ 'native_acknowledgement_lost', 'node_restarted', 'transport_failed'
876
+ )
877
+ ),
878
+ created_at TEXT NOT NULL,
879
+ updated_at TEXT NOT NULL,
880
+ UNIQUE (terminal_id, generation, mutation_sequence),
881
+ UNIQUE (terminal_id, generation, native_operation_sequence),
882
+ UNIQUE (terminal_id, generation, input_id, input_sequence),
883
+ CHECK (
884
+ (method IN (
885
+ 'terminal.create', 'terminal.input.write', 'terminal.session.resize',
886
+ 'terminal.session.signal', 'terminal.session.close'
887
+ ) AND native_operation_sequence IS NOT NULL) OR
888
+ (method NOT IN (
889
+ 'terminal.create', 'terminal.input.write', 'terminal.session.resize',
890
+ 'terminal.session.signal', 'terminal.session.close'
891
+ ) AND native_operation_sequence IS NULL)
892
+ ),
893
+ CHECK (
894
+ (method = 'terminal.session.resize' AND resize_columns IS NOT NULL
895
+ AND resize_rows IS NOT NULL) OR
896
+ (method <> 'terminal.session.resize' AND resize_columns IS NULL
897
+ AND resize_rows IS NULL)
898
+ ),
899
+ CHECK (
900
+ (method = 'terminal.session.signal' AND signal_name IS NOT NULL) OR
901
+ (method <> 'terminal.session.signal' AND signal_name IS NULL)
902
+ ),
903
+ CHECK (
904
+ (method = 'terminal.session.restart'
905
+ AND generation < ${String(MAX_TERMINAL_GENERATION)}
906
+ AND planned_target_generation = generation + 1
907
+ AND restart_source_cleanup_required IS NOT NULL
908
+ AND effect_phase IN ('source-cleanup', 'target-start')
909
+ AND target_attempt IS NOT NULL
910
+ AND (
911
+ (effect_phase = 'source-cleanup'
912
+ AND restart_source_cleanup_required = 1
913
+ AND target_attempt = 'not-attempted'
914
+ AND (
915
+ source_cleanup_ack_digest IS NULL OR
916
+ (dispatch_state = 'attempted'
917
+ AND source_cleanup_ack_digest IS NOT NULL)
918
+ )) OR
919
+ (effect_phase = 'target-start'
920
+ AND (
921
+ (restart_source_cleanup_required = 0
922
+ AND source_cleanup_ack_digest IS NULL) OR
923
+ (restart_source_cleanup_required = 1
924
+ AND source_cleanup_ack_digest IS NOT NULL)
925
+ ))
926
+ )) OR
927
+ (method <> 'terminal.session.restart'
928
+ AND planned_target_generation IS NULL
929
+ AND restart_source_cleanup_required IS NULL
930
+ AND target_attempt IS NULL
931
+ AND source_cleanup_ack_digest IS NULL
932
+ AND (
933
+ (method IN (
934
+ 'terminal.controller.request', 'terminal.controller.acquire',
935
+ 'terminal.controller.renew', 'terminal.controller.release',
936
+ 'terminal.session.delete'
937
+ ) AND effect_phase = 'policy') OR
938
+ (method IN (
939
+ 'terminal.create', 'terminal.input.write', 'terminal.session.resize',
940
+ 'terminal.session.signal', 'terminal.session.close'
941
+ ) AND effect_phase = 'native-effect')
942
+ ))
943
+ ),
944
+ CHECK (
945
+ (method = 'terminal.input.write' AND input_id IS NOT NULL AND
946
+ input_sequence IS NOT NULL AND input_byte_length IS NOT NULL AND
947
+ input_digest IS NOT NULL) OR
948
+ (method <> 'terminal.input.write' AND input_id IS NULL AND
949
+ input_sequence IS NULL AND input_byte_length IS NULL AND
950
+ input_digest IS NULL)
951
+ ),
952
+ CHECK (
953
+ (method IN (
954
+ 'terminal.controller.renew', 'terminal.controller.release',
955
+ 'terminal.input.write', 'terminal.session.resize',
956
+ 'terminal.session.signal', 'terminal.session.close',
957
+ 'terminal.session.restart'
958
+ ) AND controller_epoch IS NOT NULL AND controller_revision IS NOT NULL) OR
959
+ (method NOT IN (
960
+ 'terminal.controller.renew', 'terminal.controller.release',
961
+ 'terminal.input.write', 'terminal.session.resize',
962
+ 'terminal.session.signal', 'terminal.session.close',
963
+ 'terminal.session.restart'
964
+ ) AND controller_epoch IS NULL AND controller_revision IS NULL)
965
+ ),
966
+ CHECK (
967
+ (method IN (
968
+ 'terminal.controller.request', 'terminal.controller.acquire',
969
+ 'terminal.controller.renew', 'terminal.controller.release',
970
+ 'terminal.session.delete'
971
+ ) AND dispatch_state = 'acknowledged') OR
972
+ (method IN (
973
+ 'terminal.create', 'terminal.input.write', 'terminal.session.resize',
974
+ 'terminal.session.signal', 'terminal.session.close',
975
+ 'terminal.session.restart'
976
+ ) AND dispatch_state IN (
977
+ 'prepared', 'dispatching', 'attempted', 'acknowledged', 'outcome_unknown'
978
+ ))
979
+ ),
980
+ CHECK (
981
+ (dispatch_state = 'acknowledged'
982
+ AND acknowledgement_command_id = command_id
983
+ AND acknowledgement_kind IS NOT NULL
984
+ AND acknowledgement_digest IS NOT NULL
985
+ AND unknown_reason IS NULL
986
+ AND (
987
+ (method IN (
988
+ 'terminal.controller.request', 'terminal.controller.acquire',
989
+ 'terminal.controller.renew', 'terminal.controller.release',
990
+ 'terminal.session.delete'
991
+ ) AND acknowledgement_kind = 'policy-recorded'
992
+ AND acknowledged_byte_length IS NULL) OR
993
+ (method IN ('terminal.create', 'terminal.session.restart')
994
+ AND acknowledgement_kind = 'process-started'
995
+ AND acknowledged_byte_length IS NULL) OR
996
+ (method = 'terminal.input.write'
997
+ AND acknowledgement_kind = 'pty-write-accepted'
998
+ AND acknowledged_byte_length = input_byte_length) OR
999
+ (method = 'terminal.session.resize'
1000
+ AND acknowledgement_kind = 'pty-resized'
1001
+ AND acknowledged_byte_length IS NULL) OR
1002
+ (method = 'terminal.session.signal'
1003
+ AND acknowledgement_kind = 'signal-delivered'
1004
+ AND acknowledged_byte_length IS NULL) OR
1005
+ (method = 'terminal.session.close'
1006
+ AND acknowledgement_kind = 'cleanup-known'
1007
+ AND acknowledged_byte_length IS NULL)
1008
+ )) OR
1009
+ (dispatch_state = 'outcome_unknown'
1010
+ AND method IN (
1011
+ 'terminal.create', 'terminal.input.write', 'terminal.session.resize',
1012
+ 'terminal.session.signal', 'terminal.session.close',
1013
+ 'terminal.session.restart'
1014
+ ) AND acknowledgement_command_id IS NULL
1015
+ AND acknowledgement_kind IS NULL AND acknowledgement_digest IS NULL
1016
+ AND acknowledged_byte_length IS NULL AND unknown_reason IS NOT NULL) OR
1017
+ (dispatch_state IN ('prepared', 'dispatching', 'attempted')
1018
+ AND method IN (
1019
+ 'terminal.create', 'terminal.input.write', 'terminal.session.resize',
1020
+ 'terminal.session.signal', 'terminal.session.close',
1021
+ 'terminal.session.restart'
1022
+ ) AND acknowledgement_command_id IS NULL
1023
+ AND acknowledgement_kind IS NULL AND acknowledgement_digest IS NULL
1024
+ AND acknowledged_byte_length IS NULL AND unknown_reason IS NULL)
1025
+ ),
1026
+ CHECK (
1027
+ method <> 'terminal.session.restart' OR
1028
+ (effect_phase = 'source-cleanup'
1029
+ AND dispatch_state IN (
1030
+ 'prepared', 'dispatching', 'attempted', 'outcome_unknown'
1031
+ ) AND target_attempt = 'not-attempted') OR
1032
+ (effect_phase = 'target-start' AND (
1033
+ (dispatch_state = 'prepared' AND target_attempt = 'not-attempted') OR
1034
+ (dispatch_state = 'dispatching'
1035
+ AND target_attempt = 'may-have-been-attempted') OR
1036
+ (dispatch_state = 'attempted' AND target_attempt = 'attempted') OR
1037
+ (dispatch_state = 'acknowledged' AND target_attempt = 'attempted') OR
1038
+ (dispatch_state = 'outcome_unknown'
1039
+ AND target_attempt IN ('may-have-been-attempted', 'attempted')
1040
+ AND unknown_reason = 'native_acknowledgement_lost')
1041
+ ))
1042
+ ),
1043
+ FOREIGN KEY (terminal_id, generation)
1044
+ REFERENCES terminal_live_generations(terminal_id, generation) ON DELETE RESTRICT
1045
+ ) STRICT;
1046
+
1047
+ CREATE TRIGGER terminal_live_mutations_bound_insert
1048
+ BEFORE INSERT ON terminal_live_mutations
1049
+ BEGIN
1050
+ SELECT CASE WHEN NOT EXISTS (
1051
+ SELECT 1 FROM terminal_live_sessions
1052
+ WHERE terminal_id = NEW.terminal_id
1053
+ AND generation = NEW.generation
1054
+ AND mutation_head + 1 = NEW.mutation_sequence
1055
+ AND (
1056
+ NEW.native_operation_sequence IS NULL OR
1057
+ native_operation_head + 1 = NEW.native_operation_sequence
1058
+ )
1059
+ AND deleted_at IS NULL
1060
+ AND (
1061
+ (NEW.method = 'terminal.create' AND state = 'creating'
1062
+ AND generation = 1 AND NEW.mutation_sequence = 1
1063
+ AND NEW.native_operation_sequence = 1
1064
+ AND NEW.effect_phase = 'native-effect'
1065
+ AND NEW.dispatch_state = 'prepared') OR
1066
+ (NEW.method IN (
1067
+ 'terminal.controller.request', 'terminal.controller.acquire',
1068
+ 'terminal.controller.renew', 'terminal.controller.release'
1069
+ ) AND state = 'running' AND NEW.effect_phase = 'policy'
1070
+ AND NEW.dispatch_state = 'acknowledged') OR
1071
+ (NEW.method IN (
1072
+ 'terminal.input.write', 'terminal.session.resize',
1073
+ 'terminal.session.signal'
1074
+ ) AND state = 'running' AND NEW.effect_phase = 'native-effect'
1075
+ AND NEW.dispatch_state = 'prepared') OR
1076
+ (NEW.method = 'terminal.session.close' AND state = 'running'
1077
+ AND NEW.effect_phase = 'native-effect'
1078
+ AND NEW.dispatch_state = 'prepared') OR
1079
+ (NEW.method = 'terminal.session.restart'
1080
+ AND (
1081
+ (state = 'running' AND cleanup_state = 'pending'
1082
+ AND NEW.effect_phase = 'source-cleanup'
1083
+ AND NEW.restart_source_cleanup_required = 1) OR
1084
+ (state = 'exited'
1085
+ AND cleanup_state = 'known_identity_members_complete'
1086
+ AND NEW.effect_phase = 'target-start'
1087
+ AND NEW.restart_source_cleanup_required = 0)
1088
+ ) AND NEW.dispatch_state = 'prepared') OR
1089
+ (NEW.method = 'terminal.session.delete'
1090
+ AND state IN ('exited', 'disconnected')
1091
+ AND NEW.effect_phase = 'policy'
1092
+ AND NEW.dispatch_state = 'acknowledged')
1093
+ )
1094
+ ) THEN RAISE(ABORT, 'terminal_live_mutation_sequence_invalid') END;
1095
+ SELECT CASE WHEN NEW.dispatch_state <> 'acknowledged'
1096
+ AND NEW.dispatch_state <> 'prepared'
1097
+ THEN RAISE(ABORT, 'terminal_live_mutation_initial_state_invalid') END;
1098
+ SELECT CASE WHEN NEW.dispatch_state = 'prepared' AND EXISTS (
1099
+ SELECT 1 FROM terminal_live_mutations
1100
+ WHERE terminal_id = NEW.terminal_id
1101
+ AND dispatch_state IN ('prepared', 'dispatching', 'attempted')
1102
+ ) THEN RAISE(ABORT, 'terminal_live_native_operation_in_flight') END;
1103
+ SELECT CASE WHEN NEW.effect_phase = 'policy' AND EXISTS (
1104
+ SELECT 1 FROM terminal_live_mutations
1105
+ WHERE terminal_id = NEW.terminal_id
1106
+ AND dispatch_state IN ('prepared', 'dispatching', 'attempted')
1107
+ ) THEN RAISE(ABORT, 'terminal_live_native_operation_in_flight') END;
1108
+ SELECT CASE WHEN (
1109
+ SELECT COUNT(*) FROM terminal_live_mutations
1110
+ WHERE terminal_id = NEW.terminal_id
1111
+ ) >= ${String(MAX_TERMINAL_MUTATIONS_PER_TERMINAL)}
1112
+ THEN RAISE(ABORT, 'terminal_live_mutation_history_limit') END;
1113
+ END;
1114
+
1115
+ CREATE TRIGGER terminal_live_mutations_final_receipt_insert
1116
+ BEFORE INSERT ON terminal_live_mutations
1117
+ WHEN NEW.dispatch_state IN ('acknowledged', 'outcome_unknown')
1118
+ BEGIN
1119
+ SELECT CASE WHEN NOT EXISTS (
1120
+ SELECT 1 FROM command_receipts receipt
1121
+ WHERE receipt.command_id = NEW.command_id
1122
+ AND receipt.actor_id = 'actor_local_user'
1123
+ AND receipt.method = NEW.method
1124
+ AND receipt.target_type = 'terminal'
1125
+ AND receipt.target_id = NEW.terminal_id
1126
+ AND length(CAST(receipt.result_json AS BLOB)) <= 65536
1127
+ AND instr(receipt.result_json, 'bytesBase64') = 0
1128
+ AND instr(receipt.result_json, 'rawInput') = 0
1129
+ ) THEN RAISE(ABORT, 'terminal_live_acknowledgement_receipt_invalid') END;
1130
+ END;
1131
+
1132
+ CREATE TRIGGER terminal_live_mutations_advance_head
1133
+ AFTER INSERT ON terminal_live_mutations
1134
+ BEGIN
1135
+ UPDATE terminal_live_sessions
1136
+ SET mutation_head = NEW.mutation_sequence,
1137
+ native_operation_head = COALESCE(
1138
+ NEW.native_operation_sequence, native_operation_head
1139
+ )
1140
+ WHERE terminal_id = NEW.terminal_id;
1141
+ END;
1142
+
1143
+ CREATE TRIGGER terminal_live_mutations_finality
1144
+ BEFORE UPDATE
1145
+ ON terminal_live_mutations
1146
+ BEGIN
1147
+ SELECT CASE WHEN NOT (
1148
+ (OLD.method <> 'terminal.session.restart' AND (
1149
+ (OLD.dispatch_state = 'prepared' AND NEW.dispatch_state = 'dispatching') OR
1150
+ (OLD.dispatch_state = 'dispatching' AND NEW.dispatch_state = 'attempted') OR
1151
+ (OLD.dispatch_state IN ('dispatching', 'attempted')
1152
+ AND NEW.dispatch_state = 'outcome_unknown') OR
1153
+ (OLD.dispatch_state = 'attempted'
1154
+ AND NEW.dispatch_state = 'acknowledged')
1155
+ )) OR
1156
+ (OLD.method = 'terminal.session.restart'
1157
+ AND OLD.effect_phase = NEW.effect_phase AND (
1158
+ (OLD.dispatch_state = 'prepared'
1159
+ AND NEW.dispatch_state = 'dispatching') OR
1160
+ (OLD.dispatch_state = 'dispatching'
1161
+ AND NEW.dispatch_state = 'attempted') OR
1162
+ (OLD.dispatch_state IN ('dispatching', 'attempted')
1163
+ AND NEW.dispatch_state = 'outcome_unknown') OR
1164
+ (OLD.effect_phase = 'target-start'
1165
+ AND OLD.dispatch_state = 'attempted'
1166
+ AND NEW.dispatch_state = 'acknowledged') OR
1167
+ (OLD.effect_phase = 'source-cleanup'
1168
+ AND OLD.dispatch_state = 'attempted'
1169
+ AND NEW.dispatch_state = 'attempted'
1170
+ AND OLD.source_cleanup_ack_digest IS NULL
1171
+ AND NEW.source_cleanup_ack_digest IS NOT NULL)
1172
+ )) OR
1173
+ (OLD.method = 'terminal.session.restart'
1174
+ AND OLD.effect_phase = 'source-cleanup'
1175
+ AND OLD.dispatch_state = 'attempted'
1176
+ AND NEW.effect_phase = 'target-start'
1177
+ AND NEW.dispatch_state = 'prepared'
1178
+ AND OLD.source_cleanup_ack_digest IS NOT NULL
1179
+ AND NEW.source_cleanup_ack_digest = OLD.source_cleanup_ack_digest)
1180
+ ) THEN RAISE(ABORT, 'terminal_live_mutation_transition_invalid') END;
1181
+ SELECT CASE WHEN OLD.method = 'terminal.session.restart'
1182
+ AND OLD.effect_phase = 'source-cleanup'
1183
+ AND NEW.effect_phase = 'target-start'
1184
+ AND NOT EXISTS (
1185
+ SELECT 1 FROM terminal_live_sessions
1186
+ WHERE terminal_id = OLD.terminal_id AND generation = OLD.generation
1187
+ AND state = 'restarting'
1188
+ AND cleanup_state = 'known_identity_members_complete'
1189
+ AND deleted_at IS NULL
1190
+ )
1191
+ THEN RAISE(ABORT, 'terminal_live_restart_source_cleanup_incomplete') END;
1192
+ SELECT CASE WHEN NEW.dispatch_state IN ('acknowledged', 'outcome_unknown')
1193
+ AND NOT EXISTS (
1194
+ SELECT 1 FROM command_receipts receipt
1195
+ WHERE receipt.command_id = NEW.command_id
1196
+ AND receipt.actor_id = 'actor_local_user'
1197
+ AND receipt.method = NEW.method
1198
+ AND receipt.target_type = 'terminal'
1199
+ AND receipt.target_id = NEW.terminal_id
1200
+ AND length(CAST(receipt.result_json AS BLOB)) <= 65536
1201
+ AND instr(receipt.result_json, 'bytesBase64') = 0
1202
+ AND instr(receipt.result_json, 'rawInput') = 0
1203
+ ) THEN RAISE(ABORT, 'terminal_live_acknowledgement_receipt_invalid') END;
1204
+ END;
1205
+
1206
+ CREATE TRIGGER terminal_live_mutations_identity_immutable
1207
+ BEFORE UPDATE OF command_id, terminal_id, generation, mutation_sequence,
1208
+ native_operation_sequence,
1209
+ planned_target_generation, restart_source_cleanup_required,
1210
+ method, request_digest, controller_epoch, controller_revision,
1211
+ input_id, input_sequence, input_byte_length, input_digest,
1212
+ resize_columns, resize_rows, signal_name, created_at
1213
+ ON terminal_live_mutations
1214
+ BEGIN
1215
+ SELECT RAISE(ABORT, 'terminal_live_mutation_identity_immutable');
1216
+ END;
1217
+
1218
+ CREATE TRIGGER terminal_live_mutations_retained
1219
+ BEFORE DELETE ON terminal_live_mutations
1220
+ BEGIN
1221
+ SELECT RAISE(ABORT, 'terminal_live_mutation_retained');
1222
+ END;
1223
+ `;
1224
+ //# sourceMappingURL=migration-nine.js.map