@kya-os/cli 1.8.3 → 2.0.2

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 (1172) hide show
  1. package/README.md +167 -231
  2. package/bin/__tests__/kya-os-shim.e2e.test.js +160 -0
  3. package/bin/__tests__/resolve-binary.test.js +54 -0
  4. package/bin/dco.js +17 -0
  5. package/bin/kya-os.js +135 -0
  6. package/bin/resolve-binary.js +98 -0
  7. package/bin/run-compile.mjs +29 -0
  8. package/dist/sidecar/sidecar/src/conformance/pins.js +54 -0
  9. package/dist/sidecar/sidecar/src/conformance/pins.js.map +1 -0
  10. package/dist/sidecar/sidecar/src/conformance/reference/adapter-helpers.js +117 -0
  11. package/dist/sidecar/sidecar/src/conformance/reference/adapter-helpers.js.map +1 -0
  12. package/dist/sidecar/sidecar/src/conformance/reference/crypto-kit.js +101 -0
  13. package/dist/sidecar/sidecar/src/conformance/reference/crypto-kit.js.map +1 -0
  14. package/dist/sidecar/sidecar/src/conformance/reference/reference-adapter.js +326 -0
  15. package/dist/sidecar/sidecar/src/conformance/reference/reference-adapter.js.map +1 -0
  16. package/dist/sidecar/sidecar/src/conformance/reference/runner.js +126 -0
  17. package/dist/sidecar/sidecar/src/conformance/reference/runner.js.map +1 -0
  18. package/dist/sidecar/sidecar/src/conformance/reference/types.js +40 -0
  19. package/dist/sidecar/sidecar/src/conformance/reference/types.js.map +1 -0
  20. package/dist/sidecar/sidecar/src/daemon.js +151 -0
  21. package/dist/sidecar/sidecar/src/daemon.js.map +1 -0
  22. package/dist/sidecar/sidecar/src/framing.js +36 -0
  23. package/dist/sidecar/sidecar/src/framing.js.map +1 -0
  24. package/dist/sidecar/sidecar/src/identity-manager.js +73 -0
  25. package/dist/sidecar/sidecar/src/identity-manager.js.map +1 -0
  26. package/dist/sidecar/sidecar/src/index.js +80 -0
  27. package/dist/sidecar/sidecar/src/index.js.map +1 -0
  28. package/dist/sidecar/sidecar/src/ops/convert-to-ssh.js +11 -0
  29. package/dist/sidecar/sidecar/src/ops/convert-to-ssh.js.map +1 -0
  30. package/dist/sidecar/sidecar/src/ops/echo.js +5 -0
  31. package/dist/sidecar/sidecar/src/ops/echo.js.map +1 -0
  32. package/dist/sidecar/sidecar/src/ops/ensure-identity.js +36 -0
  33. package/dist/sidecar/sidecar/src/ops/ensure-identity.js.map +1 -0
  34. package/dist/sidecar/sidecar/src/ops/resolve-identity.js +233 -0
  35. package/dist/sidecar/sidecar/src/ops/resolve-identity.js.map +1 -0
  36. package/dist/sidecar/sidecar/src/ops/rotate-identity.js +37 -0
  37. package/dist/sidecar/sidecar/src/ops/rotate-identity.js.map +1 -0
  38. package/dist/sidecar/sidecar/src/ops/run-conformance.js +78 -0
  39. package/dist/sidecar/sidecar/src/ops/run-conformance.js.map +1 -0
  40. package/dist/sidecar/sidecar/src/ops/sign-with-ed25519-seed.js +12 -0
  41. package/dist/sidecar/sidecar/src/ops/sign-with-ed25519-seed.js.map +1 -0
  42. package/dist/sidecar/sidecar/src/ops/sign.js +24 -0
  43. package/dist/sidecar/sidecar/src/ops/sign.js.map +1 -0
  44. package/dist/sidecar/sidecar/src/ops/verify-audit-bundle.js +139 -0
  45. package/dist/sidecar/sidecar/src/ops/verify-audit-bundle.js.map +1 -0
  46. package/dist/sidecar/sidecar/src/ssh-key.js.map +1 -0
  47. package/node_modules/@kya-os/contracts/dist/agent-deployment-utils.d.ts +62 -0
  48. package/node_modules/@kya-os/contracts/dist/agent-deployment-utils.js +92 -0
  49. package/node_modules/@kya-os/contracts/dist/agent-deployment.d.ts +723 -0
  50. package/node_modules/@kya-os/contracts/dist/agent-deployment.js +270 -0
  51. package/node_modules/@kya-os/contracts/dist/agentshield-api/admin-schemas.d.ts +49 -0
  52. package/node_modules/@kya-os/contracts/dist/agentshield-api/admin-schemas.js +30 -0
  53. package/node_modules/@kya-os/contracts/dist/agentshield-api/admin-types.d.ts +37 -0
  54. package/node_modules/@kya-os/contracts/dist/agentshield-api/admin-types.js +10 -0
  55. package/node_modules/@kya-os/contracts/dist/agentshield-api/endpoints.d.ts +53 -0
  56. package/node_modules/@kya-os/contracts/dist/agentshield-api/endpoints.js +49 -0
  57. package/node_modules/@kya-os/contracts/dist/agentshield-api/index.d.ts +15 -0
  58. package/node_modules/@kya-os/contracts/dist/agentshield-api/index.js +46 -0
  59. package/node_modules/@kya-os/contracts/dist/agentshield-api/schemas.d.ts +6583 -0
  60. package/node_modules/@kya-os/contracts/dist/agentshield-api/schemas.js +340 -0
  61. package/node_modules/@kya-os/contracts/dist/agentshield-api/types.d.ts +344 -0
  62. package/node_modules/@kya-os/contracts/dist/agentshield-api/types.js +26 -0
  63. package/node_modules/@kya-os/contracts/dist/attribution/index.d.ts +80 -0
  64. package/node_modules/@kya-os/contracts/dist/attribution/index.js +74 -0
  65. package/node_modules/@kya-os/contracts/dist/audit/index.d.ts +147 -0
  66. package/node_modules/@kya-os/contracts/dist/audit/index.js +51 -0
  67. package/node_modules/@kya-os/contracts/dist/cli-read/analyze.d.ts +162 -0
  68. package/node_modules/@kya-os/contracts/dist/cli-read/analyze.js +38 -0
  69. package/node_modules/@kya-os/contracts/dist/cli-read/common.d.ts +70 -0
  70. package/node_modules/@kya-os/contracts/dist/cli-read/common.js +55 -0
  71. package/node_modules/@kya-os/contracts/dist/cli-read/index.d.ts +5 -0
  72. package/node_modules/@kya-os/contracts/dist/cli-read/index.js +21 -0
  73. package/node_modules/@kya-os/contracts/dist/cli-read/monitor.d.ts +241 -0
  74. package/node_modules/@kya-os/contracts/dist/cli-read/monitor.js +70 -0
  75. package/node_modules/@kya-os/contracts/dist/cli-read/projects.d.ts +195 -0
  76. package/node_modules/@kya-os/contracts/dist/cli-read/projects.js +48 -0
  77. package/node_modules/@kya-os/contracts/dist/cli-read/settings.d.ts +274 -0
  78. package/node_modules/@kya-os/contracts/dist/cli-read/settings.js +56 -0
  79. package/node_modules/@kya-os/contracts/dist/cli.d.ts +542 -0
  80. package/node_modules/@kya-os/contracts/dist/cli.js +266 -0
  81. package/node_modules/@kya-os/contracts/dist/compute-binding.d.ts +48 -0
  82. package/node_modules/@kya-os/contracts/dist/compute-binding.js +42 -0
  83. package/node_modules/@kya-os/contracts/dist/compute.d.ts +474 -0
  84. package/node_modules/@kya-os/contracts/dist/compute.js +213 -0
  85. package/node_modules/@kya-os/contracts/dist/config/base.d.ts +76 -0
  86. package/node_modules/@kya-os/contracts/dist/config/base.js +11 -0
  87. package/node_modules/@kya-os/contracts/dist/config/builder.d.ts +33 -0
  88. package/node_modules/@kya-os/contracts/dist/config/builder.js +71 -0
  89. package/node_modules/@kya-os/contracts/dist/config/checkpoint-env.d.ts +25 -0
  90. package/node_modules/@kya-os/contracts/dist/config/checkpoint-env.js +38 -0
  91. package/node_modules/@kya-os/contracts/dist/config/client-messages.d.ts +216 -0
  92. package/node_modules/@kya-os/contracts/dist/config/client-messages.js +50 -0
  93. package/node_modules/@kya-os/contracts/dist/config/delegation-denial.d.ts +14 -0
  94. package/node_modules/@kya-os/contracts/dist/config/delegation-denial.js +30 -0
  95. package/node_modules/@kya-os/contracts/dist/config/delegation.d.ts +194 -0
  96. package/node_modules/@kya-os/contracts/dist/config/delegation.js +10 -0
  97. package/node_modules/@kya-os/contracts/dist/config/identity.d.ts +1164 -0
  98. package/node_modules/@kya-os/contracts/dist/config/identity.js +155 -0
  99. package/node_modules/@kya-os/contracts/dist/config/index.d.ts +45 -0
  100. package/node_modules/@kya-os/contracts/dist/config/index.js +41 -0
  101. package/node_modules/@kya-os/contracts/dist/config/proofing.d.ts +120 -0
  102. package/node_modules/@kya-os/contracts/dist/config/proofing.js +10 -0
  103. package/node_modules/@kya-os/contracts/dist/config/tool-context.d.ts +94 -0
  104. package/node_modules/@kya-os/contracts/dist/config/tool-context.js +13 -0
  105. package/node_modules/@kya-os/contracts/dist/config/tool-protection.d.ts +164 -0
  106. package/node_modules/@kya-os/contracts/dist/config/tool-protection.js +10 -0
  107. package/node_modules/@kya-os/contracts/dist/config/tool-refusal.d.ts +54 -0
  108. package/node_modules/@kya-os/contracts/dist/config/tool-refusal.js +82 -0
  109. package/node_modules/@kya-os/contracts/dist/consent/authorization-progress.d.ts +163 -0
  110. package/node_modules/@kya-os/contracts/dist/consent/authorization-progress.js +42 -0
  111. package/node_modules/@kya-os/contracts/dist/consent/index.d.ts +14 -0
  112. package/node_modules/@kya-os/contracts/dist/consent/index.js +94 -0
  113. package/node_modules/@kya-os/contracts/dist/consent/schemas.d.ts +965 -0
  114. package/node_modules/@kya-os/contracts/dist/consent/schemas.js +335 -0
  115. package/node_modules/@kya-os/contracts/dist/consent/types.d.ts +155 -0
  116. package/node_modules/@kya-os/contracts/dist/consent/types.js +10 -0
  117. package/node_modules/@kya-os/contracts/dist/dashboard-config/default-config.d.ts +49 -0
  118. package/node_modules/@kya-os/contracts/dist/dashboard-config/default-config.js +235 -0
  119. package/node_modules/@kya-os/contracts/dist/dashboard-config/index.d.ts +10 -0
  120. package/node_modules/@kya-os/contracts/dist/dashboard-config/index.js +37 -0
  121. package/node_modules/@kya-os/contracts/dist/dashboard-config/schemas.d.ts +13351 -0
  122. package/node_modules/@kya-os/contracts/dist/dashboard-config/schemas.js +267 -0
  123. package/node_modules/@kya-os/contracts/dist/dashboard-config/types.d.ts +359 -0
  124. package/node_modules/@kya-os/contracts/dist/dashboard-config/types.js +10 -0
  125. package/node_modules/@kya-os/contracts/dist/delegation/constraints.d.ts +1021 -0
  126. package/node_modules/@kya-os/contracts/dist/delegation/constraints.js +218 -0
  127. package/node_modules/@kya-os/contracts/dist/delegation/index.d.ts +7 -0
  128. package/node_modules/@kya-os/contracts/dist/delegation/index.js +23 -0
  129. package/node_modules/@kya-os/contracts/dist/delegation/schemas.d.ts +9302 -0
  130. package/node_modules/@kya-os/contracts/dist/delegation/schemas.js +585 -0
  131. package/node_modules/@kya-os/contracts/dist/deploy/index.d.ts +27 -0
  132. package/node_modules/@kya-os/contracts/dist/deploy/index.js +62 -0
  133. package/node_modules/@kya-os/contracts/dist/deploy/schemas.d.ts +1001 -0
  134. package/node_modules/@kya-os/contracts/dist/deploy/schemas.js +284 -0
  135. package/node_modules/@kya-os/contracts/dist/deploy/types.d.ts +256 -0
  136. package/node_modules/@kya-os/contracts/dist/deploy/types.js +10 -0
  137. package/node_modules/@kya-os/contracts/dist/did/index.d.ts +8 -0
  138. package/node_modules/@kya-os/contracts/dist/did/index.js +24 -0
  139. package/node_modules/@kya-os/contracts/dist/did/resolve-contract.d.ts +219 -0
  140. package/node_modules/@kya-os/contracts/dist/did/resolve-contract.js +31 -0
  141. package/node_modules/@kya-os/contracts/dist/did/schemas.d.ts +112 -0
  142. package/node_modules/@kya-os/contracts/dist/did/schemas.js +172 -0
  143. package/node_modules/@kya-os/contracts/dist/did/types.d.ts +163 -0
  144. package/node_modules/@kya-os/contracts/dist/did/types.js +70 -0
  145. package/node_modules/@kya-os/contracts/dist/env/constants.d.ts +57 -0
  146. package/node_modules/@kya-os/contracts/dist/env/constants.js +59 -0
  147. package/node_modules/@kya-os/contracts/dist/env/index.d.ts +4 -0
  148. package/node_modules/@kya-os/contracts/dist/env/index.js +20 -0
  149. package/node_modules/@kya-os/contracts/dist/fleet/index.d.ts +17 -0
  150. package/node_modules/@kya-os/contracts/dist/fleet/index.js +69 -0
  151. package/node_modules/@kya-os/contracts/dist/gateway/agents.d.ts +21 -0
  152. package/node_modules/@kya-os/contracts/dist/gateway/agents.js +12 -0
  153. package/node_modules/@kya-os/contracts/dist/gateway/cron.d.ts +33 -0
  154. package/node_modules/@kya-os/contracts/dist/gateway/cron.js +16 -0
  155. package/node_modules/@kya-os/contracts/dist/gateway/index.d.ts +20 -0
  156. package/node_modules/@kya-os/contracts/dist/gateway/index.js +37 -0
  157. package/node_modules/@kya-os/contracts/dist/gateway/sessions.d.ts +30 -0
  158. package/node_modules/@kya-os/contracts/dist/gateway/sessions.js +15 -0
  159. package/node_modules/@kya-os/contracts/dist/gateway/skills.d.ts +445 -0
  160. package/node_modules/@kya-os/contracts/dist/gateway/skills.js +47 -0
  161. package/node_modules/@kya-os/contracts/dist/gateway/usage.d.ts +43 -0
  162. package/node_modules/@kya-os/contracts/dist/gateway/usage.js +18 -0
  163. package/node_modules/@kya-os/contracts/dist/handshake/github-credential-anchor.d.ts +299 -0
  164. package/node_modules/@kya-os/contracts/dist/handshake/github-credential-anchor.js +200 -0
  165. package/node_modules/@kya-os/contracts/dist/handshake/index.d.ts +16 -0
  166. package/node_modules/@kya-os/contracts/dist/handshake/index.js +32 -0
  167. package/node_modules/@kya-os/contracts/dist/handshake/schemas.d.ts +557 -0
  168. package/node_modules/@kya-os/contracts/dist/handshake/schemas.js +282 -0
  169. package/node_modules/@kya-os/contracts/dist/handshake/verify.d.ts +36 -0
  170. package/node_modules/@kya-os/contracts/dist/handshake/verify.js +58 -0
  171. package/node_modules/@kya-os/contracts/dist/handshake.d.ts +12 -0
  172. package/node_modules/@kya-os/contracts/dist/handshake.js +28 -0
  173. package/node_modules/@kya-os/contracts/dist/identity/index.d.ts +10 -0
  174. package/node_modules/@kya-os/contracts/dist/identity/index.js +30 -0
  175. package/node_modules/@kya-os/contracts/dist/identity/schemas.d.ts +250 -0
  176. package/node_modules/@kya-os/contracts/dist/identity/schemas.js +115 -0
  177. package/node_modules/@kya-os/contracts/dist/index.d.ts +28 -0
  178. package/node_modules/@kya-os/contracts/dist/index.js +66 -0
  179. package/node_modules/@kya-os/contracts/dist/molti/admin-ws.d.ts +1871 -0
  180. package/node_modules/@kya-os/contracts/dist/molti/admin-ws.js +177 -0
  181. package/node_modules/@kya-os/contracts/dist/molti/index.d.ts +30 -0
  182. package/node_modules/@kya-os/contracts/dist/molti/index.js +86 -0
  183. package/node_modules/@kya-os/contracts/dist/molti/schemas.d.ts +837 -0
  184. package/node_modules/@kya-os/contracts/dist/molti/schemas.js +267 -0
  185. package/node_modules/@kya-os/contracts/dist/molti/types.d.ts +216 -0
  186. package/node_modules/@kya-os/contracts/dist/molti/types.js +25 -0
  187. package/node_modules/@kya-os/contracts/dist/pairing/index.d.ts +44 -0
  188. package/node_modules/@kya-os/contracts/dist/pairing/index.js +11 -0
  189. package/node_modules/@kya-os/contracts/dist/policy/index.d.ts +8 -0
  190. package/node_modules/@kya-os/contracts/dist/policy/index.js +41 -0
  191. package/node_modules/@kya-os/contracts/dist/policy/schemas.d.ts +3839 -0
  192. package/node_modules/@kya-os/contracts/dist/policy/schemas.js +424 -0
  193. package/node_modules/@kya-os/contracts/dist/proof/detached-proof.d.ts +476 -0
  194. package/node_modules/@kya-os/contracts/dist/proof/detached-proof.js +116 -0
  195. package/node_modules/@kya-os/contracts/dist/proof/index.d.ts +15 -0
  196. package/node_modules/@kya-os/contracts/dist/proof/index.js +32 -0
  197. package/node_modules/@kya-os/contracts/dist/proof/proof-record.d.ts +837 -0
  198. package/node_modules/@kya-os/contracts/dist/proof/proof-record.js +133 -0
  199. package/node_modules/@kya-os/contracts/dist/proof/signing-spec.d.ts +146 -0
  200. package/node_modules/@kya-os/contracts/dist/proof/signing-spec.js +122 -0
  201. package/node_modules/@kya-os/contracts/dist/proof.d.ts +12 -0
  202. package/node_modules/@kya-os/contracts/dist/proof.js +28 -0
  203. package/node_modules/@kya-os/contracts/dist/registry.d.ts +342 -0
  204. package/node_modules/@kya-os/contracts/dist/registry.js +118 -0
  205. package/node_modules/@kya-os/contracts/dist/reputation/api.d.ts +2866 -0
  206. package/node_modules/@kya-os/contracts/dist/reputation/api.js +397 -0
  207. package/node_modules/@kya-os/contracts/dist/reputation/constants.d.ts +242 -0
  208. package/node_modules/@kya-os/contracts/dist/reputation/constants.js +259 -0
  209. package/node_modules/@kya-os/contracts/dist/reputation/credentials.d.ts +1493 -0
  210. package/node_modules/@kya-os/contracts/dist/reputation/credentials.js +302 -0
  211. package/node_modules/@kya-os/contracts/dist/reputation/index.d.ts +21 -0
  212. package/node_modules/@kya-os/contracts/dist/reputation/index.js +42 -0
  213. package/node_modules/@kya-os/contracts/dist/reputation/interactions.d.ts +146 -0
  214. package/node_modules/@kya-os/contracts/dist/reputation/interactions.js +82 -0
  215. package/node_modules/@kya-os/contracts/dist/reputation/schemas.d.ts +1600 -0
  216. package/node_modules/@kya-os/contracts/dist/reputation/schemas.js +499 -0
  217. package/node_modules/@kya-os/contracts/dist/review/canonicalize.d.ts +87 -0
  218. package/node_modules/@kya-os/contracts/dist/review/canonicalize.js +122 -0
  219. package/node_modules/@kya-os/contracts/dist/review/fix-attestation.d.ts +151 -0
  220. package/node_modules/@kya-os/contracts/dist/review/fix-attestation.js +105 -0
  221. package/node_modules/@kya-os/contracts/dist/review/index.d.ts +9 -0
  222. package/node_modules/@kya-os/contracts/dist/review/index.js +25 -0
  223. package/node_modules/@kya-os/contracts/dist/review/registry.d.ts +349 -0
  224. package/node_modules/@kya-os/contracts/dist/review/registry.js +293 -0
  225. package/node_modules/@kya-os/contracts/dist/review/schemas.d.ts +249 -0
  226. package/node_modules/@kya-os/contracts/dist/review/schemas.js +102 -0
  227. package/node_modules/@kya-os/contracts/dist/review/verify.d.ts +72 -0
  228. package/node_modules/@kya-os/contracts/dist/review/verify.js +111 -0
  229. package/node_modules/@kya-os/contracts/dist/runtime/errors.d.ts +347 -0
  230. package/node_modules/@kya-os/contracts/dist/runtime/errors.js +119 -0
  231. package/node_modules/@kya-os/contracts/dist/runtime/headers.d.ts +87 -0
  232. package/node_modules/@kya-os/contracts/dist/runtime/headers.js +85 -0
  233. package/node_modules/@kya-os/contracts/dist/runtime/index.d.ts +5 -0
  234. package/node_modules/@kya-os/contracts/dist/runtime/index.js +21 -0
  235. package/node_modules/@kya-os/contracts/dist/skills/index.d.ts +8 -0
  236. package/node_modules/@kya-os/contracts/dist/skills/index.js +24 -0
  237. package/node_modules/@kya-os/contracts/dist/skills/schemas.d.ts +92 -0
  238. package/node_modules/@kya-os/contracts/dist/skills/schemas.js +82 -0
  239. package/node_modules/@kya-os/contracts/dist/test.d.ts +251 -0
  240. package/node_modules/@kya-os/contracts/dist/test.js +119 -0
  241. package/node_modules/@kya-os/contracts/dist/tlkrc/index.d.ts +4 -0
  242. package/node_modules/@kya-os/contracts/dist/tlkrc/index.js +20 -0
  243. package/node_modules/@kya-os/contracts/dist/tlkrc/rotation.d.ts +245 -0
  244. package/node_modules/@kya-os/contracts/dist/tlkrc/rotation.js +126 -0
  245. package/node_modules/@kya-os/contracts/dist/tool-protection/index.d.ts +1369 -0
  246. package/node_modules/@kya-os/contracts/dist/tool-protection/index.js +499 -0
  247. package/node_modules/@kya-os/contracts/dist/utils/validation.d.ts +30 -0
  248. package/node_modules/@kya-os/contracts/dist/utils/validation.js +69 -0
  249. package/node_modules/@kya-os/contracts/dist/vault/index.d.ts +9 -0
  250. package/node_modules/@kya-os/contracts/dist/vault/index.js +16 -0
  251. package/node_modules/@kya-os/contracts/dist/vault/schemas.d.ts +71 -0
  252. package/node_modules/@kya-os/contracts/dist/vault/schemas.js +52 -0
  253. package/node_modules/@kya-os/contracts/dist/vault/types.d.ts +15 -0
  254. package/node_modules/@kya-os/contracts/dist/vault/types.js +9 -0
  255. package/node_modules/@kya-os/contracts/dist/vc/index.d.ts +7 -0
  256. package/node_modules/@kya-os/contracts/dist/vc/index.js +23 -0
  257. package/node_modules/@kya-os/contracts/dist/vc/schemas.d.ts +2483 -0
  258. package/node_modules/@kya-os/contracts/dist/vc/schemas.js +224 -0
  259. package/node_modules/@kya-os/contracts/dist/vc/statuslist.d.ts +493 -0
  260. package/node_modules/@kya-os/contracts/dist/vc/statuslist.js +132 -0
  261. package/node_modules/@kya-os/contracts/dist/verifier/index.d.ts +8 -0
  262. package/node_modules/@kya-os/contracts/dist/verifier/index.js +24 -0
  263. package/node_modules/@kya-os/contracts/dist/verifier/schemas.d.ts +216 -0
  264. package/node_modules/@kya-os/contracts/dist/verifier/schemas.js +94 -0
  265. package/node_modules/@kya-os/contracts/dist/verifier.d.ts +11 -0
  266. package/node_modules/@kya-os/contracts/dist/verifier.js +27 -0
  267. package/node_modules/@kya-os/contracts/dist/well-known/index.d.ts +1013 -0
  268. package/node_modules/@kya-os/contracts/dist/well-known/index.js +302 -0
  269. package/node_modules/@kya-os/contracts/dist/workbench/a2a.d.ts +267 -0
  270. package/node_modules/@kya-os/contracts/dist/workbench/a2a.js +124 -0
  271. package/node_modules/@kya-os/contracts/dist/workbench/artifact-bindings.d.ts +1448 -0
  272. package/node_modules/@kya-os/contracts/dist/workbench/artifact-bindings.js +233 -0
  273. package/node_modules/@kya-os/contracts/dist/workbench/cache.d.ts +461 -0
  274. package/node_modules/@kya-os/contracts/dist/workbench/cache.js +165 -0
  275. package/node_modules/@kya-os/contracts/dist/workbench/economics.d.ts +1097 -0
  276. package/node_modules/@kya-os/contracts/dist/workbench/economics.js +87 -0
  277. package/node_modules/@kya-os/contracts/dist/workbench/execution.d.ts +594 -0
  278. package/node_modules/@kya-os/contracts/dist/workbench/execution.js +76 -0
  279. package/node_modules/@kya-os/contracts/dist/workbench/governed.d.ts +4323 -0
  280. package/node_modules/@kya-os/contracts/dist/workbench/governed.js +37 -0
  281. package/node_modules/@kya-os/contracts/dist/workbench/graph-interfaces.d.ts +1330 -0
  282. package/node_modules/@kya-os/contracts/dist/workbench/graph-interfaces.js +302 -0
  283. package/node_modules/@kya-os/contracts/dist/workbench/index.d.ts +17 -0
  284. package/node_modules/@kya-os/contracts/dist/workbench/index.js +33 -0
  285. package/node_modules/@kya-os/contracts/dist/workbench/lead-planner.d.ts +7603 -0
  286. package/node_modules/@kya-os/contracts/dist/workbench/lead-planner.js +20 -0
  287. package/node_modules/@kya-os/contracts/dist/workbench/linear-installation.d.ts +797 -0
  288. package/node_modules/@kya-os/contracts/dist/workbench/linear-installation.js +80 -0
  289. package/node_modules/@kya-os/contracts/dist/workbench/mailbox.d.ts +3245 -0
  290. package/node_modules/@kya-os/contracts/dist/workbench/mailbox.js +475 -0
  291. package/node_modules/@kya-os/contracts/dist/workbench/managed-worker.d.ts +199 -0
  292. package/node_modules/@kya-os/contracts/dist/workbench/managed-worker.js +49 -0
  293. package/node_modules/@kya-os/contracts/dist/workbench/review.d.ts +1585 -0
  294. package/node_modules/@kya-os/contracts/dist/workbench/review.js +84 -0
  295. package/node_modules/@kya-os/contracts/dist/workbench/routing.d.ts +1200 -0
  296. package/node_modules/@kya-os/contracts/dist/workbench/routing.js +93 -0
  297. package/node_modules/@kya-os/contracts/dist/workbench/task-status-projection.d.ts +190 -0
  298. package/node_modules/@kya-os/contracts/dist/workbench/task-status-projection.js +49 -0
  299. package/node_modules/@kya-os/contracts/dist/workbench/tracking.d.ts +3364 -0
  300. package/node_modules/@kya-os/contracts/dist/workbench/tracking.js +221 -0
  301. package/node_modules/@kya-os/contracts/dist/workbench/usage.d.ts +62 -0
  302. package/node_modules/@kya-os/contracts/dist/workbench/usage.js +57 -0
  303. package/node_modules/@kya-os/contracts/package.json +185 -0
  304. package/node_modules/@kya-os/contracts/parity-vectors/delegation-conformance.json +265 -0
  305. package/node_modules/@kya-os/contracts/parity-vectors/did-key.json +134 -0
  306. package/node_modules/@kya-os/contracts/parity-vectors/index.ts +253 -0
  307. package/node_modules/@kya-os/contracts/parity-vectors/scope-matching.json +330 -0
  308. package/node_modules/@kya-os/contracts/parity-vectors/vc-jwt.json +210 -0
  309. package/node_modules/@kya-os/contracts/parity-vectors/workbench/artifact-bindings.v1.json +1005 -0
  310. package/node_modules/@kya-os/contracts/parity-vectors/workbench/graph-interfaces.v1.json +1967 -0
  311. package/node_modules/@kya-os/contracts/parity-vectors/workbench/linear-installation.v1.json +75 -0
  312. package/node_modules/@kya-os/contracts/parity-vectors/workbench/task-status-projection.v1.json +591 -0
  313. package/node_modules/@kya-os/contracts/parity-vectors/workbench/tracker-document-upgrade.v1.json +516 -0
  314. package/node_modules/zod/LICENSE +21 -0
  315. package/node_modules/zod/README.md +208 -0
  316. package/node_modules/zod/dist/cjs/index.js +22 -0
  317. package/node_modules/zod/dist/cjs/package.json +3 -0
  318. package/node_modules/zod/dist/cjs/v3/ZodError.js +137 -0
  319. package/node_modules/zod/dist/cjs/v3/benchmarks/datetime.js +54 -0
  320. package/node_modules/zod/dist/cjs/v3/benchmarks/discriminatedUnion.js +79 -0
  321. package/node_modules/zod/dist/cjs/v3/benchmarks/index.js +59 -0
  322. package/node_modules/zod/dist/cjs/v3/benchmarks/ipv4.js +54 -0
  323. package/node_modules/zod/dist/cjs/v3/benchmarks/object.js +70 -0
  324. package/node_modules/zod/dist/cjs/v3/benchmarks/primitives.js +159 -0
  325. package/node_modules/zod/dist/cjs/v3/benchmarks/realworld.js +56 -0
  326. package/node_modules/zod/dist/cjs/v3/benchmarks/string.js +55 -0
  327. package/node_modules/zod/dist/cjs/v3/benchmarks/union.js +79 -0
  328. package/node_modules/zod/dist/cjs/v3/errors.js +17 -0
  329. package/node_modules/zod/dist/cjs/v3/external.js +22 -0
  330. package/node_modules/zod/dist/cjs/v3/helpers/enumUtil.js +2 -0
  331. package/node_modules/zod/dist/cjs/v3/helpers/errorUtil.js +9 -0
  332. package/node_modules/zod/dist/cjs/v3/helpers/parseUtil.js +124 -0
  333. package/node_modules/zod/dist/cjs/v3/helpers/partialUtil.js +2 -0
  334. package/node_modules/zod/dist/cjs/v3/helpers/typeAliases.js +2 -0
  335. package/node_modules/zod/dist/cjs/v3/helpers/util.js +137 -0
  336. package/node_modules/zod/dist/cjs/v3/index.js +33 -0
  337. package/node_modules/zod/dist/cjs/v3/locales/en.js +109 -0
  338. package/node_modules/zod/dist/cjs/v3/standard-schema.js +2 -0
  339. package/node_modules/zod/dist/cjs/v3/tests/Mocker.js +57 -0
  340. package/node_modules/zod/dist/cjs/v3/types.js +3773 -0
  341. package/node_modules/zod/dist/cjs/v4/classic/checks.js +32 -0
  342. package/node_modules/zod/dist/cjs/v4/classic/coerce.js +47 -0
  343. package/node_modules/zod/dist/cjs/v4/classic/compat.js +63 -0
  344. package/node_modules/zod/dist/cjs/v4/classic/errors.js +67 -0
  345. package/node_modules/zod/dist/cjs/v4/classic/external.js +69 -0
  346. package/node_modules/zod/dist/cjs/v4/classic/index.js +33 -0
  347. package/node_modules/zod/dist/cjs/v4/classic/iso.js +60 -0
  348. package/node_modules/zod/dist/cjs/v4/classic/parse.js +32 -0
  349. package/node_modules/zod/dist/cjs/v4/classic/schemas.js +1100 -0
  350. package/node_modules/zod/dist/cjs/v4/core/api.js +1021 -0
  351. package/node_modules/zod/dist/cjs/v4/core/checks.js +580 -0
  352. package/node_modules/zod/dist/cjs/v4/core/config.js +10 -0
  353. package/node_modules/zod/dist/cjs/v4/core/core.js +63 -0
  354. package/node_modules/zod/dist/cjs/v4/core/doc.js +39 -0
  355. package/node_modules/zod/dist/cjs/v4/core/errors.js +222 -0
  356. package/node_modules/zod/dist/cjs/v4/core/function.js +102 -0
  357. package/node_modules/zod/dist/cjs/v4/core/index.js +44 -0
  358. package/node_modules/zod/dist/cjs/v4/core/json-schema.js +2 -0
  359. package/node_modules/zod/dist/cjs/v4/core/parse.js +87 -0
  360. package/node_modules/zod/dist/cjs/v4/core/regexes.js +103 -0
  361. package/node_modules/zod/dist/cjs/v4/core/registries.js +47 -0
  362. package/node_modules/zod/dist/cjs/v4/core/schemas.js +1719 -0
  363. package/node_modules/zod/dist/cjs/v4/core/standard-schema.js +2 -0
  364. package/node_modules/zod/dist/cjs/v4/core/to-json-schema.js +833 -0
  365. package/node_modules/zod/dist/cjs/v4/core/util.js +537 -0
  366. package/node_modules/zod/dist/cjs/v4/core/versions.js +8 -0
  367. package/node_modules/zod/dist/cjs/v4/core/zsf.js +172 -0
  368. package/node_modules/zod/dist/cjs/v4/index.js +22 -0
  369. package/node_modules/zod/dist/cjs/v4/locales/ar.js +142 -0
  370. package/node_modules/zod/dist/cjs/v4/locales/az.js +141 -0
  371. package/node_modules/zod/dist/cjs/v4/locales/be.js +190 -0
  372. package/node_modules/zod/dist/cjs/v4/locales/ca.js +144 -0
  373. package/node_modules/zod/dist/cjs/v4/locales/cs.js +161 -0
  374. package/node_modules/zod/dist/cjs/v4/locales/de.js +142 -0
  375. package/node_modules/zod/dist/cjs/v4/locales/en.js +145 -0
  376. package/node_modules/zod/dist/cjs/v4/locales/es.js +143 -0
  377. package/node_modules/zod/dist/cjs/v4/locales/fa.js +148 -0
  378. package/node_modules/zod/dist/cjs/v4/locales/fi.js +148 -0
  379. package/node_modules/zod/dist/cjs/v4/locales/fr-CA.js +143 -0
  380. package/node_modules/zod/dist/cjs/v4/locales/fr.js +142 -0
  381. package/node_modules/zod/dist/cjs/v4/locales/he.js +143 -0
  382. package/node_modules/zod/dist/cjs/v4/locales/hu.js +143 -0
  383. package/node_modules/zod/dist/cjs/v4/locales/id.js +142 -0
  384. package/node_modules/zod/dist/cjs/v4/locales/index.js +82 -0
  385. package/node_modules/zod/dist/cjs/v4/locales/it.js +143 -0
  386. package/node_modules/zod/dist/cjs/v4/locales/ja.js +141 -0
  387. package/node_modules/zod/dist/cjs/v4/locales/kh.js +143 -0
  388. package/node_modules/zod/dist/cjs/v4/locales/ko.js +147 -0
  389. package/node_modules/zod/dist/cjs/v4/locales/mk.js +144 -0
  390. package/node_modules/zod/dist/cjs/v4/locales/ms.js +142 -0
  391. package/node_modules/zod/dist/cjs/v4/locales/nl.js +143 -0
  392. package/node_modules/zod/dist/cjs/v4/locales/no.js +142 -0
  393. package/node_modules/zod/dist/cjs/v4/locales/ota.js +143 -0
  394. package/node_modules/zod/dist/cjs/v4/locales/pl.js +143 -0
  395. package/node_modules/zod/dist/cjs/v4/locales/ps.js +148 -0
  396. package/node_modules/zod/dist/cjs/v4/locales/pt.js +142 -0
  397. package/node_modules/zod/dist/cjs/v4/locales/ru.js +190 -0
  398. package/node_modules/zod/dist/cjs/v4/locales/sl.js +143 -0
  399. package/node_modules/zod/dist/cjs/v4/locales/sv.js +144 -0
  400. package/node_modules/zod/dist/cjs/v4/locales/ta.js +143 -0
  401. package/node_modules/zod/dist/cjs/v4/locales/th.js +143 -0
  402. package/node_modules/zod/dist/cjs/v4/locales/tr.js +143 -0
  403. package/node_modules/zod/dist/cjs/v4/locales/ua.js +143 -0
  404. package/node_modules/zod/dist/cjs/v4/locales/ur.js +143 -0
  405. package/node_modules/zod/dist/cjs/v4/locales/vi.js +142 -0
  406. package/node_modules/zod/dist/cjs/v4/locales/zh-CN.js +142 -0
  407. package/node_modules/zod/dist/cjs/v4/locales/zh-TW.js +143 -0
  408. package/node_modules/zod/dist/cjs/v4/mini/checks.js +34 -0
  409. package/node_modules/zod/dist/cjs/v4/mini/coerce.js +47 -0
  410. package/node_modules/zod/dist/cjs/v4/mini/external.js +61 -0
  411. package/node_modules/zod/dist/cjs/v4/mini/index.js +32 -0
  412. package/node_modules/zod/dist/cjs/v4/mini/iso.js +60 -0
  413. package/node_modules/zod/dist/cjs/v4/mini/parse.js +8 -0
  414. package/node_modules/zod/dist/cjs/v4/mini/schemas.js +831 -0
  415. package/node_modules/zod/dist/esm/index.js +3 -0
  416. package/node_modules/zod/dist/esm/package.json +3 -0
  417. package/node_modules/zod/dist/esm/v3/ZodError.js +132 -0
  418. package/node_modules/zod/dist/esm/v3/benchmarks/datetime.js +49 -0
  419. package/node_modules/zod/dist/esm/v3/benchmarks/discriminatedUnion.js +74 -0
  420. package/node_modules/zod/dist/esm/v3/benchmarks/index.js +54 -0
  421. package/node_modules/zod/dist/esm/v3/benchmarks/ipv4.js +49 -0
  422. package/node_modules/zod/dist/esm/v3/benchmarks/object.js +65 -0
  423. package/node_modules/zod/dist/esm/v3/benchmarks/primitives.js +154 -0
  424. package/node_modules/zod/dist/esm/v3/benchmarks/realworld.js +51 -0
  425. package/node_modules/zod/dist/esm/v3/benchmarks/string.js +50 -0
  426. package/node_modules/zod/dist/esm/v3/benchmarks/union.js +74 -0
  427. package/node_modules/zod/dist/esm/v3/errors.js +9 -0
  428. package/node_modules/zod/dist/esm/v3/external.js +6 -0
  429. package/node_modules/zod/dist/esm/v3/helpers/enumUtil.js +1 -0
  430. package/node_modules/zod/dist/esm/v3/helpers/errorUtil.js +6 -0
  431. package/node_modules/zod/dist/esm/v3/helpers/parseUtil.js +109 -0
  432. package/node_modules/zod/dist/esm/v3/helpers/partialUtil.js +1 -0
  433. package/node_modules/zod/dist/esm/v3/helpers/typeAliases.js +1 -0
  434. package/node_modules/zod/dist/esm/v3/helpers/util.js +133 -0
  435. package/node_modules/zod/dist/esm/v3/index.js +4 -0
  436. package/node_modules/zod/dist/esm/v3/locales/en.js +107 -0
  437. package/node_modules/zod/dist/esm/v3/standard-schema.js +1 -0
  438. package/node_modules/zod/dist/esm/v3/tests/Mocker.js +53 -0
  439. package/node_modules/zod/dist/esm/v3/types.js +3691 -0
  440. package/node_modules/zod/dist/esm/v4/classic/checks.js +1 -0
  441. package/node_modules/zod/dist/esm/v4/classic/coerce.js +17 -0
  442. package/node_modules/zod/dist/esm/v4/classic/compat.js +33 -0
  443. package/node_modules/zod/dist/esm/v4/classic/errors.js +41 -0
  444. package/node_modules/zod/dist/esm/v4/classic/external.js +18 -0
  445. package/node_modules/zod/dist/esm/v4/classic/index.js +4 -0
  446. package/node_modules/zod/dist/esm/v4/classic/iso.js +30 -0
  447. package/node_modules/zod/dist/esm/v4/classic/parse.js +6 -0
  448. package/node_modules/zod/dist/esm/v4/classic/schemas.js +998 -0
  449. package/node_modules/zod/dist/esm/v4/core/api.js +889 -0
  450. package/node_modules/zod/dist/esm/v4/core/checks.js +554 -0
  451. package/node_modules/zod/dist/esm/v4/core/config.js +6 -0
  452. package/node_modules/zod/dist/esm/v4/core/core.js +57 -0
  453. package/node_modules/zod/dist/esm/v4/core/doc.js +35 -0
  454. package/node_modules/zod/dist/esm/v4/core/errors.js +191 -0
  455. package/node_modules/zod/dist/esm/v4/core/function.js +75 -0
  456. package/node_modules/zod/dist/esm/v4/core/index.js +15 -0
  457. package/node_modules/zod/dist/esm/v4/core/json-schema.js +1 -0
  458. package/node_modules/zod/dist/esm/v4/core/parse.js +57 -0
  459. package/node_modules/zod/dist/esm/v4/core/regexes.js +95 -0
  460. package/node_modules/zod/dist/esm/v4/core/registries.js +42 -0
  461. package/node_modules/zod/dist/esm/v4/core/schemas.js +1688 -0
  462. package/node_modules/zod/dist/esm/v4/core/standard-schema.js +1 -0
  463. package/node_modules/zod/dist/esm/v4/core/to-json-schema.js +828 -0
  464. package/node_modules/zod/dist/esm/v4/core/util.js +491 -0
  465. package/node_modules/zod/dist/esm/v4/core/versions.js +5 -0
  466. package/node_modules/zod/dist/esm/v4/core/zsf.js +171 -0
  467. package/node_modules/zod/dist/esm/v4/index.js +3 -0
  468. package/node_modules/zod/dist/esm/v4/locales/ar.js +116 -0
  469. package/node_modules/zod/dist/esm/v4/locales/az.js +115 -0
  470. package/node_modules/zod/dist/esm/v4/locales/be.js +164 -0
  471. package/node_modules/zod/dist/esm/v4/locales/ca.js +118 -0
  472. package/node_modules/zod/dist/esm/v4/locales/cs.js +135 -0
  473. package/node_modules/zod/dist/esm/v4/locales/de.js +116 -0
  474. package/node_modules/zod/dist/esm/v4/locales/en.js +117 -0
  475. package/node_modules/zod/dist/esm/v4/locales/es.js +117 -0
  476. package/node_modules/zod/dist/esm/v4/locales/fa.js +122 -0
  477. package/node_modules/zod/dist/esm/v4/locales/fi.js +122 -0
  478. package/node_modules/zod/dist/esm/v4/locales/fr-CA.js +117 -0
  479. package/node_modules/zod/dist/esm/v4/locales/fr.js +116 -0
  480. package/node_modules/zod/dist/esm/v4/locales/he.js +117 -0
  481. package/node_modules/zod/dist/esm/v4/locales/hu.js +117 -0
  482. package/node_modules/zod/dist/esm/v4/locales/id.js +116 -0
  483. package/node_modules/zod/dist/esm/v4/locales/index.js +38 -0
  484. package/node_modules/zod/dist/esm/v4/locales/it.js +117 -0
  485. package/node_modules/zod/dist/esm/v4/locales/ja.js +115 -0
  486. package/node_modules/zod/dist/esm/v4/locales/kh.js +117 -0
  487. package/node_modules/zod/dist/esm/v4/locales/ko.js +121 -0
  488. package/node_modules/zod/dist/esm/v4/locales/mk.js +118 -0
  489. package/node_modules/zod/dist/esm/v4/locales/ms.js +116 -0
  490. package/node_modules/zod/dist/esm/v4/locales/nl.js +117 -0
  491. package/node_modules/zod/dist/esm/v4/locales/no.js +116 -0
  492. package/node_modules/zod/dist/esm/v4/locales/ota.js +117 -0
  493. package/node_modules/zod/dist/esm/v4/locales/pl.js +117 -0
  494. package/node_modules/zod/dist/esm/v4/locales/ps.js +122 -0
  495. package/node_modules/zod/dist/esm/v4/locales/pt.js +116 -0
  496. package/node_modules/zod/dist/esm/v4/locales/ru.js +164 -0
  497. package/node_modules/zod/dist/esm/v4/locales/sl.js +117 -0
  498. package/node_modules/zod/dist/esm/v4/locales/sv.js +118 -0
  499. package/node_modules/zod/dist/esm/v4/locales/ta.js +117 -0
  500. package/node_modules/zod/dist/esm/v4/locales/th.js +117 -0
  501. package/node_modules/zod/dist/esm/v4/locales/tr.js +115 -0
  502. package/node_modules/zod/dist/esm/v4/locales/ua.js +117 -0
  503. package/node_modules/zod/dist/esm/v4/locales/ur.js +117 -0
  504. package/node_modules/zod/dist/esm/v4/locales/vi.js +116 -0
  505. package/node_modules/zod/dist/esm/v4/locales/zh-CN.js +116 -0
  506. package/node_modules/zod/dist/esm/v4/locales/zh-TW.js +117 -0
  507. package/node_modules/zod/dist/esm/v4/mini/checks.js +1 -0
  508. package/node_modules/zod/dist/esm/v4/mini/coerce.js +17 -0
  509. package/node_modules/zod/dist/esm/v4/mini/external.js +13 -0
  510. package/node_modules/zod/dist/esm/v4/mini/index.js +3 -0
  511. package/node_modules/zod/dist/esm/v4/mini/iso.js +30 -0
  512. package/node_modules/zod/dist/esm/v4/mini/parse.js +1 -0
  513. package/node_modules/zod/dist/esm/v4/mini/schemas.js +725 -0
  514. package/node_modules/zod/dist/types/index.d.ts +3 -0
  515. package/node_modules/zod/dist/types/package.json +3 -0
  516. package/node_modules/zod/dist/types/v3/ZodError.d.ts +164 -0
  517. package/node_modules/zod/dist/types/v3/benchmarks/datetime.d.ts +5 -0
  518. package/node_modules/zod/dist/types/v3/benchmarks/discriminatedUnion.d.ts +5 -0
  519. package/node_modules/zod/dist/types/v3/benchmarks/index.d.ts +1 -0
  520. package/node_modules/zod/dist/types/v3/benchmarks/ipv4.d.ts +5 -0
  521. package/node_modules/zod/dist/types/v3/benchmarks/object.d.ts +5 -0
  522. package/node_modules/zod/dist/types/v3/benchmarks/primitives.d.ts +5 -0
  523. package/node_modules/zod/dist/types/v3/benchmarks/realworld.d.ts +5 -0
  524. package/node_modules/zod/dist/types/v3/benchmarks/string.d.ts +5 -0
  525. package/node_modules/zod/dist/types/v3/benchmarks/union.d.ts +5 -0
  526. package/node_modules/zod/dist/types/v3/errors.d.ts +5 -0
  527. package/node_modules/zod/dist/types/v3/external.d.ts +6 -0
  528. package/node_modules/zod/dist/types/v3/helpers/enumUtil.d.ts +8 -0
  529. package/node_modules/zod/dist/types/v3/helpers/errorUtil.d.ts +9 -0
  530. package/node_modules/zod/dist/types/v3/helpers/parseUtil.d.ts +78 -0
  531. package/node_modules/zod/dist/types/v3/helpers/partialUtil.d.ts +8 -0
  532. package/node_modules/zod/dist/types/v3/helpers/typeAliases.d.ts +2 -0
  533. package/node_modules/zod/dist/types/v3/helpers/util.d.ts +85 -0
  534. package/node_modules/zod/dist/types/v3/index.d.ts +4 -0
  535. package/node_modules/zod/dist/types/v3/locales/en.d.ts +3 -0
  536. package/node_modules/zod/dist/types/v3/standard-schema.d.ts +102 -0
  537. package/node_modules/zod/dist/types/v3/tests/Mocker.d.ts +17 -0
  538. package/node_modules/zod/dist/types/v3/types.d.ts +1031 -0
  539. package/node_modules/zod/dist/types/v4/classic/checks.d.ts +1 -0
  540. package/node_modules/zod/dist/types/v4/classic/coerce.d.ts +17 -0
  541. package/node_modules/zod/dist/types/v4/classic/compat.d.ts +48 -0
  542. package/node_modules/zod/dist/types/v4/classic/errors.d.ts +30 -0
  543. package/node_modules/zod/dist/types/v4/classic/external.d.ts +13 -0
  544. package/node_modules/zod/dist/types/v4/classic/index.d.ts +4 -0
  545. package/node_modules/zod/dist/types/v4/classic/iso.d.ts +22 -0
  546. package/node_modules/zod/dist/types/v4/classic/parse.d.ts +23 -0
  547. package/node_modules/zod/dist/types/v4/classic/schemas.d.ts +624 -0
  548. package/node_modules/zod/dist/types/v4/core/api.d.ts +281 -0
  549. package/node_modules/zod/dist/types/v4/core/checks.d.ts +277 -0
  550. package/node_modules/zod/dist/types/v4/core/config.d.ts +9 -0
  551. package/node_modules/zod/dist/types/v4/core/core.d.ts +47 -0
  552. package/node_modules/zod/dist/types/v4/core/doc.d.ts +14 -0
  553. package/node_modules/zod/dist/types/v4/core/errors.d.ts +204 -0
  554. package/node_modules/zod/dist/types/v4/core/function.d.ts +52 -0
  555. package/node_modules/zod/dist/types/v4/core/index.d.ts +15 -0
  556. package/node_modules/zod/dist/types/v4/core/json-schema.d.ts +87 -0
  557. package/node_modules/zod/dist/types/v4/core/parse.d.ts +25 -0
  558. package/node_modules/zod/dist/types/v4/core/regexes.d.ts +62 -0
  559. package/node_modules/zod/dist/types/v4/core/registries.d.ts +39 -0
  560. package/node_modules/zod/dist/types/v4/core/schemas.d.ts +1005 -0
  561. package/node_modules/zod/dist/types/v4/core/standard-schema.d.ts +55 -0
  562. package/node_modules/zod/dist/types/v4/core/to-json-schema.d.ts +84 -0
  563. package/node_modules/zod/dist/types/v4/core/util.d.ts +183 -0
  564. package/node_modules/zod/dist/types/v4/core/versions.d.ts +5 -0
  565. package/node_modules/zod/dist/types/v4/core/zsf.d.ts +91 -0
  566. package/node_modules/zod/dist/types/v4/index.d.ts +3 -0
  567. package/node_modules/zod/dist/types/v4/locales/ar.d.ts +4 -0
  568. package/node_modules/zod/dist/types/v4/locales/az.d.ts +4 -0
  569. package/node_modules/zod/dist/types/v4/locales/be.d.ts +4 -0
  570. package/node_modules/zod/dist/types/v4/locales/ca.d.ts +4 -0
  571. package/node_modules/zod/dist/types/v4/locales/cs.d.ts +4 -0
  572. package/node_modules/zod/dist/types/v4/locales/de.d.ts +4 -0
  573. package/node_modules/zod/dist/types/v4/locales/en.d.ts +5 -0
  574. package/node_modules/zod/dist/types/v4/locales/es.d.ts +4 -0
  575. package/node_modules/zod/dist/types/v4/locales/fa.d.ts +4 -0
  576. package/node_modules/zod/dist/types/v4/locales/fi.d.ts +4 -0
  577. package/node_modules/zod/dist/types/v4/locales/fr-CA.d.ts +4 -0
  578. package/node_modules/zod/dist/types/v4/locales/fr.d.ts +4 -0
  579. package/node_modules/zod/dist/types/v4/locales/he.d.ts +4 -0
  580. package/node_modules/zod/dist/types/v4/locales/hu.d.ts +4 -0
  581. package/node_modules/zod/dist/types/v4/locales/id.d.ts +4 -0
  582. package/node_modules/zod/dist/types/v4/locales/index.d.ts +38 -0
  583. package/node_modules/zod/dist/types/v4/locales/it.d.ts +4 -0
  584. package/node_modules/zod/dist/types/v4/locales/ja.d.ts +4 -0
  585. package/node_modules/zod/dist/types/v4/locales/kh.d.ts +4 -0
  586. package/node_modules/zod/dist/types/v4/locales/ko.d.ts +4 -0
  587. package/node_modules/zod/dist/types/v4/locales/mk.d.ts +4 -0
  588. package/node_modules/zod/dist/types/v4/locales/ms.d.ts +4 -0
  589. package/node_modules/zod/dist/types/v4/locales/nl.d.ts +4 -0
  590. package/node_modules/zod/dist/types/v4/locales/no.d.ts +4 -0
  591. package/node_modules/zod/dist/types/v4/locales/ota.d.ts +4 -0
  592. package/node_modules/zod/dist/types/v4/locales/pl.d.ts +4 -0
  593. package/node_modules/zod/dist/types/v4/locales/ps.d.ts +4 -0
  594. package/node_modules/zod/dist/types/v4/locales/pt.d.ts +4 -0
  595. package/node_modules/zod/dist/types/v4/locales/ru.d.ts +4 -0
  596. package/node_modules/zod/dist/types/v4/locales/sl.d.ts +4 -0
  597. package/node_modules/zod/dist/types/v4/locales/sv.d.ts +4 -0
  598. package/node_modules/zod/dist/types/v4/locales/ta.d.ts +4 -0
  599. package/node_modules/zod/dist/types/v4/locales/th.d.ts +4 -0
  600. package/node_modules/zod/dist/types/v4/locales/tr.d.ts +5 -0
  601. package/node_modules/zod/dist/types/v4/locales/ua.d.ts +4 -0
  602. package/node_modules/zod/dist/types/v4/locales/ur.d.ts +4 -0
  603. package/node_modules/zod/dist/types/v4/locales/vi.d.ts +4 -0
  604. package/node_modules/zod/dist/types/v4/locales/zh-CN.d.ts +4 -0
  605. package/node_modules/zod/dist/types/v4/locales/zh-TW.d.ts +4 -0
  606. package/node_modules/zod/dist/types/v4/mini/checks.d.ts +1 -0
  607. package/node_modules/zod/dist/types/v4/mini/coerce.d.ts +7 -0
  608. package/node_modules/zod/dist/types/v4/mini/external.d.ts +11 -0
  609. package/node_modules/zod/dist/types/v4/mini/index.d.ts +3 -0
  610. package/node_modules/zod/dist/types/v4/mini/iso.d.ts +22 -0
  611. package/node_modules/zod/dist/types/v4/mini/parse.d.ts +1 -0
  612. package/node_modules/zod/dist/types/v4/mini/schemas.d.ts +351 -0
  613. package/node_modules/zod/package.json +120 -0
  614. package/node_modules/zod/v3/index.d.ts +3 -0
  615. package/node_modules/zod/v3/index.js +1 -0
  616. package/node_modules/zod/v4/core/index.d.ts +1 -0
  617. package/node_modules/zod/v4/core/index.js +1 -0
  618. package/node_modules/zod/v4/index.d.ts +3 -0
  619. package/node_modules/zod/v4/index.js +1 -0
  620. package/node_modules/zod/v4/locales/en.d.ts +2 -0
  621. package/node_modules/zod/v4/locales/en.js +2 -0
  622. package/node_modules/zod/v4/locales/index.d.ts +1 -0
  623. package/node_modules/zod/v4/locales/index.js +1 -0
  624. package/node_modules/zod/v4-mini/index.d.ts +1 -0
  625. package/node_modules/zod/v4-mini/index.js +1 -0
  626. package/package.json +30 -44
  627. package/skills/fix/INSTRUCTIONS.md +40 -0
  628. package/skills/fix/skill.json +8 -0
  629. package/skills/review/INSTRUCTIONS.md +49 -0
  630. package/skills/review/skill.json +8 -0
  631. package/dist/commands/agent.d.ts +0 -35
  632. package/dist/commands/agent.d.ts.map +0 -1
  633. package/dist/commands/agent.js +0 -321
  634. package/dist/commands/agent.js.map +0 -1
  635. package/dist/commands/build.d.ts +0 -5
  636. package/dist/commands/build.d.ts.map +0 -1
  637. package/dist/commands/build.js +0 -173
  638. package/dist/commands/build.js.map +0 -1
  639. package/dist/commands/check.d.ts +0 -6
  640. package/dist/commands/check.d.ts.map +0 -1
  641. package/dist/commands/check.js +0 -145
  642. package/dist/commands/check.js.map +0 -1
  643. package/dist/commands/checkpoint-init.d.ts +0 -32
  644. package/dist/commands/checkpoint-init.d.ts.map +0 -1
  645. package/dist/commands/checkpoint-init.js +0 -521
  646. package/dist/commands/checkpoint-init.js.map +0 -1
  647. package/dist/commands/claim.d.ts +0 -22
  648. package/dist/commands/claim.d.ts.map +0 -1
  649. package/dist/commands/claim.js +0 -315
  650. package/dist/commands/claim.js.map +0 -1
  651. package/dist/commands/dco.d.ts +0 -77
  652. package/dist/commands/dco.d.ts.map +0 -1
  653. package/dist/commands/dco.js +0 -382
  654. package/dist/commands/dco.js.map +0 -1
  655. package/dist/commands/demo.d.ts +0 -10
  656. package/dist/commands/demo.d.ts.map +0 -1
  657. package/dist/commands/demo.js +0 -584
  658. package/dist/commands/demo.js.map +0 -1
  659. package/dist/commands/dev.d.ts +0 -5
  660. package/dist/commands/dev.d.ts.map +0 -1
  661. package/dist/commands/dev.js +0 -77
  662. package/dist/commands/dev.js.map +0 -1
  663. package/dist/commands/doctor.d.ts +0 -11
  664. package/dist/commands/doctor.d.ts.map +0 -1
  665. package/dist/commands/doctor.js +0 -524
  666. package/dist/commands/doctor.js.map +0 -1
  667. package/dist/commands/env.d.ts +0 -2
  668. package/dist/commands/env.d.ts.map +0 -1
  669. package/dist/commands/env.js +0 -320
  670. package/dist/commands/env.js.map +0 -1
  671. package/dist/commands/identity.d.ts +0 -14
  672. package/dist/commands/identity.d.ts.map +0 -1
  673. package/dist/commands/identity.js +0 -204
  674. package/dist/commands/identity.js.map +0 -1
  675. package/dist/commands/init-stages.d.ts +0 -141
  676. package/dist/commands/init-stages.d.ts.map +0 -1
  677. package/dist/commands/init-stages.js +0 -684
  678. package/dist/commands/init-stages.js.map +0 -1
  679. package/dist/commands/init.d.ts +0 -51
  680. package/dist/commands/init.d.ts.map +0 -1
  681. package/dist/commands/init.js +0 -270
  682. package/dist/commands/init.js.map +0 -1
  683. package/dist/commands/orchestrator.d.ts +0 -18
  684. package/dist/commands/orchestrator.d.ts.map +0 -1
  685. package/dist/commands/orchestrator.js +0 -251
  686. package/dist/commands/orchestrator.js.map +0 -1
  687. package/dist/commands/receipts.d.ts +0 -22
  688. package/dist/commands/receipts.d.ts.map +0 -1
  689. package/dist/commands/receipts.js +0 -189
  690. package/dist/commands/receipts.js.map +0 -1
  691. package/dist/commands/register.d.ts +0 -34
  692. package/dist/commands/register.d.ts.map +0 -1
  693. package/dist/commands/register.js +0 -463
  694. package/dist/commands/register.js.map +0 -1
  695. package/dist/commands/review.d.ts +0 -48
  696. package/dist/commands/review.d.ts.map +0 -1
  697. package/dist/commands/review.js +0 -220
  698. package/dist/commands/review.js.map +0 -1
  699. package/dist/commands/rotate.d.ts +0 -13
  700. package/dist/commands/rotate.d.ts.map +0 -1
  701. package/dist/commands/rotate.js +0 -167
  702. package/dist/commands/rotate.js.map +0 -1
  703. package/dist/commands/score.d.ts +0 -15
  704. package/dist/commands/score.d.ts.map +0 -1
  705. package/dist/commands/score.js +0 -471
  706. package/dist/commands/score.js.map +0 -1
  707. package/dist/commands/start.d.ts +0 -5
  708. package/dist/commands/start.d.ts.map +0 -1
  709. package/dist/commands/start.js +0 -129
  710. package/dist/commands/start.js.map +0 -1
  711. package/dist/commands/status.d.ts +0 -9
  712. package/dist/commands/status.d.ts.map +0 -1
  713. package/dist/commands/status.js +0 -199
  714. package/dist/commands/status.js.map +0 -1
  715. package/dist/commands/verify.d.ts +0 -22
  716. package/dist/commands/verify.d.ts.map +0 -1
  717. package/dist/commands/verify.js +0 -491
  718. package/dist/commands/verify.js.map +0 -1
  719. package/dist/components/agent-avatar.d.ts +0 -87
  720. package/dist/components/agent-avatar.d.ts.map +0 -1
  721. package/dist/components/agent-avatar.js +0 -257
  722. package/dist/components/agent-avatar.js.map +0 -1
  723. package/dist/components/agent-card.d.ts +0 -14
  724. package/dist/components/agent-card.d.ts.map +0 -1
  725. package/dist/components/agent-card.js +0 -167
  726. package/dist/components/agent-card.js.map +0 -1
  727. package/dist/components/agent-table.d.ts +0 -31
  728. package/dist/components/agent-table.d.ts.map +0 -1
  729. package/dist/components/agent-table.js +0 -341
  730. package/dist/components/agent-table.js.map +0 -1
  731. package/dist/components/box.d.ts +0 -14
  732. package/dist/components/box.d.ts.map +0 -1
  733. package/dist/components/box.js +0 -222
  734. package/dist/components/box.js.map +0 -1
  735. package/dist/components/claim-experience.d.ts +0 -21
  736. package/dist/components/claim-experience.d.ts.map +0 -1
  737. package/dist/components/claim-experience.js +0 -138
  738. package/dist/components/claim-experience.js.map +0 -1
  739. package/dist/components/index.d.ts +0 -17
  740. package/dist/components/index.d.ts.map +0 -1
  741. package/dist/components/index.js +0 -18
  742. package/dist/components/index.js.map +0 -1
  743. package/dist/components/messages.d.ts +0 -62
  744. package/dist/components/messages.d.ts.map +0 -1
  745. package/dist/components/messages.js +0 -146
  746. package/dist/components/messages.js.map +0 -1
  747. package/dist/components/types.d.ts +0 -51
  748. package/dist/components/types.d.ts.map +0 -1
  749. package/dist/components/types.js +0 -5
  750. package/dist/components/types.js.map +0 -1
  751. package/dist/components/welcome.d.ts +0 -46
  752. package/dist/components/welcome.d.ts.map +0 -1
  753. package/dist/components/welcome.js +0 -182
  754. package/dist/components/welcome.js.map +0 -1
  755. package/dist/dco.d.ts +0 -4
  756. package/dist/dco.d.ts.map +0 -1
  757. package/dist/dco.js +0 -23
  758. package/dist/dco.js.map +0 -1
  759. package/dist/effects/animation-engine.d.ts +0 -173
  760. package/dist/effects/animation-engine.d.ts.map +0 -1
  761. package/dist/effects/animation-engine.js +0 -254
  762. package/dist/effects/animation-engine.js.map +0 -1
  763. package/dist/effects/cli-integration.d.ts +0 -86
  764. package/dist/effects/cli-integration.d.ts.map +0 -1
  765. package/dist/effects/cli-integration.js +0 -310
  766. package/dist/effects/cli-integration.js.map +0 -1
  767. package/dist/effects/config.d.ts +0 -95
  768. package/dist/effects/config.d.ts.map +0 -1
  769. package/dist/effects/config.js +0 -216
  770. package/dist/effects/config.js.map +0 -1
  771. package/dist/effects/effect-runner.d.ts +0 -69
  772. package/dist/effects/effect-runner.d.ts.map +0 -1
  773. package/dist/effects/effect-runner.js +0 -255
  774. package/dist/effects/effect-runner.js.map +0 -1
  775. package/dist/effects/gradient.d.ts +0 -131
  776. package/dist/effects/gradient.d.ts.map +0 -1
  777. package/dist/effects/gradient.js +0 -236
  778. package/dist/effects/gradient.js.map +0 -1
  779. package/dist/effects/implementations/beams.d.ts +0 -80
  780. package/dist/effects/implementations/beams.d.ts.map +0 -1
  781. package/dist/effects/implementations/beams.js +0 -221
  782. package/dist/effects/implementations/beams.js.map +0 -1
  783. package/dist/effects/implementations/blackhole.d.ts +0 -98
  784. package/dist/effects/implementations/blackhole.d.ts.map +0 -1
  785. package/dist/effects/implementations/blackhole.js +0 -421
  786. package/dist/effects/implementations/blackhole.js.map +0 -1
  787. package/dist/effects/implementations/burn.d.ts +0 -74
  788. package/dist/effects/implementations/burn.d.ts.map +0 -1
  789. package/dist/effects/implementations/burn.js +0 -234
  790. package/dist/effects/implementations/burn.js.map +0 -1
  791. package/dist/effects/implementations/decrypt.d.ts +0 -115
  792. package/dist/effects/implementations/decrypt.d.ts.map +0 -1
  793. package/dist/effects/implementations/decrypt.js +0 -394
  794. package/dist/effects/implementations/decrypt.js.map +0 -1
  795. package/dist/effects/implementations/waves.d.ts +0 -78
  796. package/dist/effects/implementations/waves.d.ts.map +0 -1
  797. package/dist/effects/implementations/waves.js +0 -278
  798. package/dist/effects/implementations/waves.js.map +0 -1
  799. package/dist/effects/index.d.ts +0 -34
  800. package/dist/effects/index.d.ts.map +0 -1
  801. package/dist/effects/index.js +0 -114
  802. package/dist/effects/index.js.map +0 -1
  803. package/dist/effects/motion-engine.d.ts +0 -168
  804. package/dist/effects/motion-engine.d.ts.map +0 -1
  805. package/dist/effects/motion-engine.js +0 -353
  806. package/dist/effects/motion-engine.js.map +0 -1
  807. package/dist/effects/safe-executor.d.ts +0 -55
  808. package/dist/effects/safe-executor.d.ts.map +0 -1
  809. package/dist/effects/safe-executor.js +0 -210
  810. package/dist/effects/safe-executor.js.map +0 -1
  811. package/dist/effects/types.d.ts +0 -199
  812. package/dist/effects/types.d.ts.map +0 -1
  813. package/dist/effects/types.js +0 -80
  814. package/dist/effects/types.js.map +0 -1
  815. package/dist/effects/utils.d.ts +0 -104
  816. package/dist/effects/utils.d.ts.map +0 -1
  817. package/dist/effects/utils.js +0 -280
  818. package/dist/effects/utils.js.map +0 -1
  819. package/dist/index.d.ts +0 -4
  820. package/dist/index.js +0 -261
  821. package/dist/orchestrator/daemon.d.ts +0 -137
  822. package/dist/orchestrator/daemon.d.ts.map +0 -1
  823. package/dist/orchestrator/daemon.js +0 -242
  824. package/dist/orchestrator/daemon.js.map +0 -1
  825. package/dist/orchestrator/db/dispatches.d.ts +0 -108
  826. package/dist/orchestrator/db/dispatches.d.ts.map +0 -1
  827. package/dist/orchestrator/db/dispatches.js +0 -122
  828. package/dist/orchestrator/db/dispatches.js.map +0 -1
  829. package/dist/orchestrator/db/index.d.ts +0 -50
  830. package/dist/orchestrator/db/index.d.ts.map +0 -1
  831. package/dist/orchestrator/db/index.js +0 -116
  832. package/dist/orchestrator/db/index.js.map +0 -1
  833. package/dist/orchestrator/db/journal.d.ts +0 -93
  834. package/dist/orchestrator/db/journal.d.ts.map +0 -1
  835. package/dist/orchestrator/db/journal.js +0 -91
  836. package/dist/orchestrator/db/journal.js.map +0 -1
  837. package/dist/orchestrator/db/liveness.d.ts +0 -97
  838. package/dist/orchestrator/db/liveness.d.ts.map +0 -1
  839. package/dist/orchestrator/db/liveness.js +0 -105
  840. package/dist/orchestrator/db/liveness.js.map +0 -1
  841. package/dist/orchestrator/db/mission.d.ts +0 -78
  842. package/dist/orchestrator/db/mission.d.ts.map +0 -1
  843. package/dist/orchestrator/db/mission.js +0 -99
  844. package/dist/orchestrator/db/mission.js.map +0 -1
  845. package/dist/orchestrator/db/schema.d.ts +0 -14
  846. package/dist/orchestrator/db/schema.d.ts.map +0 -1
  847. package/dist/orchestrator/db/schema.js +0 -169
  848. package/dist/orchestrator/db/schema.js.map +0 -1
  849. package/dist/orchestrator/db/tickets.d.ts +0 -147
  850. package/dist/orchestrator/db/tickets.d.ts.map +0 -1
  851. package/dist/orchestrator/db/tickets.js +0 -238
  852. package/dist/orchestrator/db/tickets.js.map +0 -1
  853. package/dist/orchestrator/db/verdicts.d.ts +0 -187
  854. package/dist/orchestrator/db/verdicts.d.ts.map +0 -1
  855. package/dist/orchestrator/db/verdicts.js +0 -197
  856. package/dist/orchestrator/db/verdicts.js.map +0 -1
  857. package/dist/orchestrator/events.d.ts +0 -69
  858. package/dist/orchestrator/events.d.ts.map +0 -1
  859. package/dist/orchestrator/events.js +0 -20
  860. package/dist/orchestrator/events.js.map +0 -1
  861. package/dist/orchestrator/github-credential-anchor-sender.d.ts +0 -159
  862. package/dist/orchestrator/github-credential-anchor-sender.d.ts.map +0 -1
  863. package/dist/orchestrator/github-credential-anchor-sender.js +0 -313
  864. package/dist/orchestrator/github-credential-anchor-sender.js.map +0 -1
  865. package/dist/orchestrator/hub-dispatch.d.ts +0 -120
  866. package/dist/orchestrator/hub-dispatch.d.ts.map +0 -1
  867. package/dist/orchestrator/hub-dispatch.js +0 -257
  868. package/dist/orchestrator/hub-dispatch.js.map +0 -1
  869. package/dist/orchestrator/hub-observer.d.ts +0 -201
  870. package/dist/orchestrator/hub-observer.d.ts.map +0 -1
  871. package/dist/orchestrator/hub-observer.js +0 -474
  872. package/dist/orchestrator/hub-observer.js.map +0 -1
  873. package/dist/orchestrator/journal-writer.d.ts +0 -80
  874. package/dist/orchestrator/journal-writer.d.ts.map +0 -1
  875. package/dist/orchestrator/journal-writer.js +0 -113
  876. package/dist/orchestrator/journal-writer.js.map +0 -1
  877. package/dist/orchestrator/mcp/server.d.ts +0 -136
  878. package/dist/orchestrator/mcp/server.d.ts.map +0 -1
  879. package/dist/orchestrator/mcp/server.js +0 -582
  880. package/dist/orchestrator/mcp/server.js.map +0 -1
  881. package/dist/orchestrator/mcp/stdio.d.ts +0 -22
  882. package/dist/orchestrator/mcp/stdio.d.ts.map +0 -1
  883. package/dist/orchestrator/mcp/stdio.js +0 -51
  884. package/dist/orchestrator/mcp/stdio.js.map +0 -1
  885. package/dist/orchestrator/review.d.ts +0 -131
  886. package/dist/orchestrator/review.d.ts.map +0 -1
  887. package/dist/orchestrator/review.js +0 -322
  888. package/dist/orchestrator/review.js.map +0 -1
  889. package/dist/tui/app.d.ts +0 -33
  890. package/dist/tui/app.d.ts.map +0 -1
  891. package/dist/tui/app.js +0 -71
  892. package/dist/tui/app.js.map +0 -1
  893. package/dist/tui/components.d.ts +0 -110
  894. package/dist/tui/components.d.ts.map +0 -1
  895. package/dist/tui/components.js +0 -118
  896. package/dist/tui/components.js.map +0 -1
  897. package/dist/tui/index.d.ts +0 -30
  898. package/dist/tui/index.d.ts.map +0 -1
  899. package/dist/tui/index.js +0 -95
  900. package/dist/tui/index.js.map +0 -1
  901. package/dist/tui/keymap.d.ts +0 -33
  902. package/dist/tui/keymap.d.ts.map +0 -1
  903. package/dist/tui/keymap.js +0 -49
  904. package/dist/tui/keymap.js.map +0 -1
  905. package/dist/tui/nav.d.ts +0 -29
  906. package/dist/tui/nav.d.ts.map +0 -1
  907. package/dist/tui/nav.js +0 -39
  908. package/dist/tui/nav.js.map +0 -1
  909. package/dist/tui/sanitize.d.ts +0 -25
  910. package/dist/tui/sanitize.d.ts.map +0 -1
  911. package/dist/tui/sanitize.js +0 -36
  912. package/dist/tui/sanitize.js.map +0 -1
  913. package/dist/tui/theme.d.ts +0 -32
  914. package/dist/tui/theme.d.ts.map +0 -1
  915. package/dist/tui/theme.js +0 -63
  916. package/dist/tui/theme.js.map +0 -1
  917. package/dist/tui/views/agents.d.ts +0 -67
  918. package/dist/tui/views/agents.d.ts.map +0 -1
  919. package/dist/tui/views/agents.js +0 -231
  920. package/dist/tui/views/agents.js.map +0 -1
  921. package/dist/tui/views/index.d.ts +0 -93
  922. package/dist/tui/views/index.d.ts.map +0 -1
  923. package/dist/tui/views/index.js +0 -150
  924. package/dist/tui/views/index.js.map +0 -1
  925. package/dist/tui/views/registry.d.ts +0 -22
  926. package/dist/tui/views/registry.d.ts.map +0 -1
  927. package/dist/tui/views/registry.js +0 -110
  928. package/dist/tui/views/registry.js.map +0 -1
  929. package/dist/utils/agent/backoff.d.ts +0 -31
  930. package/dist/utils/agent/backoff.d.ts.map +0 -1
  931. package/dist/utils/agent/backoff.js +0 -51
  932. package/dist/utils/agent/backoff.js.map +0 -1
  933. package/dist/utils/agent/markers.d.ts +0 -87
  934. package/dist/utils/agent/markers.d.ts.map +0 -1
  935. package/dist/utils/agent/markers.js +0 -147
  936. package/dist/utils/agent/markers.js.map +0 -1
  937. package/dist/utils/agent/review.d.ts +0 -67
  938. package/dist/utils/agent/review.d.ts.map +0 -1
  939. package/dist/utils/agent/review.js +0 -305
  940. package/dist/utils/agent/review.js.map +0 -1
  941. package/dist/utils/agent/spawn-agent.d.ts +0 -117
  942. package/dist/utils/agent/spawn-agent.d.ts.map +0 -1
  943. package/dist/utils/agent/spawn-agent.js +0 -177
  944. package/dist/utils/agent/spawn-agent.js.map +0 -1
  945. package/dist/utils/agent/task.d.ts +0 -101
  946. package/dist/utils/agent/task.d.ts.map +0 -1
  947. package/dist/utils/agent/task.js +0 -357
  948. package/dist/utils/agent/task.js.map +0 -1
  949. package/dist/utils/agent/verify.d.ts +0 -47
  950. package/dist/utils/agent/verify.d.ts.map +0 -1
  951. package/dist/utils/agent/verify.js +0 -144
  952. package/dist/utils/agent/verify.js.map +0 -1
  953. package/dist/utils/agent-detector.d.ts +0 -48
  954. package/dist/utils/agent-detector.d.ts.map +0 -1
  955. package/dist/utils/agent-detector.js +0 -74
  956. package/dist/utils/agent-detector.js.map +0 -1
  957. package/dist/utils/agent-profile-stage.d.ts +0 -70
  958. package/dist/utils/agent-profile-stage.d.ts.map +0 -1
  959. package/dist/utils/agent-profile-stage.js +0 -153
  960. package/dist/utils/agent-profile-stage.js.map +0 -1
  961. package/dist/utils/agent-profiles.d.ts +0 -27
  962. package/dist/utils/agent-profiles.d.ts.map +0 -1
  963. package/dist/utils/agent-profiles.js +0 -61
  964. package/dist/utils/agent-profiles.js.map +0 -1
  965. package/dist/utils/api-response.d.ts +0 -96
  966. package/dist/utils/api-response.d.ts.map +0 -1
  967. package/dist/utils/api-response.js +0 -86
  968. package/dist/utils/api-response.js.map +0 -1
  969. package/dist/utils/checkpoint-api.d.ts +0 -86
  970. package/dist/utils/checkpoint-api.d.ts.map +0 -1
  971. package/dist/utils/checkpoint-api.js +0 -196
  972. package/dist/utils/checkpoint-api.js.map +0 -1
  973. package/dist/utils/checkpoint-env.d.ts +0 -23
  974. package/dist/utils/checkpoint-env.d.ts.map +0 -1
  975. package/dist/utils/checkpoint-env.js +0 -59
  976. package/dist/utils/checkpoint-env.js.map +0 -1
  977. package/dist/utils/checkpoint-scaffold.d.ts +0 -61
  978. package/dist/utils/checkpoint-scaffold.d.ts.map +0 -1
  979. package/dist/utils/checkpoint-scaffold.js +0 -268
  980. package/dist/utils/checkpoint-scaffold.js.map +0 -1
  981. package/dist/utils/cli-kit/browser.d.ts +0 -24
  982. package/dist/utils/cli-kit/browser.d.ts.map +0 -1
  983. package/dist/utils/cli-kit/browser.js +0 -58
  984. package/dist/utils/cli-kit/browser.js.map +0 -1
  985. package/dist/utils/cli-kit/claim-polling.d.ts +0 -18
  986. package/dist/utils/cli-kit/claim-polling.d.ts.map +0 -1
  987. package/dist/utils/cli-kit/claim-polling.js +0 -90
  988. package/dist/utils/cli-kit/claim-polling.js.map +0 -1
  989. package/dist/utils/cli-kit/diagnostics.d.ts +0 -9
  990. package/dist/utils/cli-kit/diagnostics.d.ts.map +0 -1
  991. package/dist/utils/cli-kit/diagnostics.js +0 -11
  992. package/dist/utils/cli-kit/diagnostics.js.map +0 -1
  993. package/dist/utils/cli-kit/fs-safe.d.ts +0 -14
  994. package/dist/utils/cli-kit/fs-safe.d.ts.map +0 -1
  995. package/dist/utils/cli-kit/fs-safe.js +0 -20
  996. package/dist/utils/cli-kit/fs-safe.js.map +0 -1
  997. package/dist/utils/cli-kit/index.d.ts +0 -15
  998. package/dist/utils/cli-kit/index.d.ts.map +0 -1
  999. package/dist/utils/cli-kit/index.js +0 -10
  1000. package/dist/utils/cli-kit/index.js.map +0 -1
  1001. package/dist/utils/cli-kit/json-file.d.ts +0 -21
  1002. package/dist/utils/cli-kit/json-file.d.ts.map +0 -1
  1003. package/dist/utils/cli-kit/json-file.js +0 -51
  1004. package/dist/utils/cli-kit/json-file.js.map +0 -1
  1005. package/dist/utils/cli-kit/marker-block.d.ts +0 -26
  1006. package/dist/utils/cli-kit/marker-block.d.ts.map +0 -1
  1007. package/dist/utils/cli-kit/marker-block.js +0 -61
  1008. package/dist/utils/cli-kit/marker-block.js.map +0 -1
  1009. package/dist/utils/cli-kit/paths.d.ts +0 -15
  1010. package/dist/utils/cli-kit/paths.d.ts.map +0 -1
  1011. package/dist/utils/cli-kit/paths.js +0 -21
  1012. package/dist/utils/cli-kit/paths.js.map +0 -1
  1013. package/dist/utils/cli-kit/secure-storage.d.ts +0 -14
  1014. package/dist/utils/cli-kit/secure-storage.d.ts.map +0 -1
  1015. package/dist/utils/cli-kit/secure-storage.js +0 -20
  1016. package/dist/utils/cli-kit/secure-storage.js.map +0 -1
  1017. package/dist/utils/cli-kit/step-report.d.ts +0 -16
  1018. package/dist/utils/cli-kit/step-report.d.ts.map +0 -1
  1019. package/dist/utils/cli-kit/step-report.js +0 -36
  1020. package/dist/utils/cli-kit/step-report.js.map +0 -1
  1021. package/dist/utils/dco/agent-metadata.d.ts +0 -24
  1022. package/dist/utils/dco/agent-metadata.d.ts.map +0 -1
  1023. package/dist/utils/dco/agent-metadata.js +0 -46
  1024. package/dist/utils/dco/agent-metadata.js.map +0 -1
  1025. package/dist/utils/dco/claude-config.d.ts +0 -55
  1026. package/dist/utils/dco/claude-config.d.ts.map +0 -1
  1027. package/dist/utils/dco/claude-config.js +0 -66
  1028. package/dist/utils/dco/claude-config.js.map +0 -1
  1029. package/dist/utils/dco/dispatch.d.ts +0 -134
  1030. package/dist/utils/dco/dispatch.d.ts.map +0 -1
  1031. package/dist/utils/dco/dispatch.js +0 -399
  1032. package/dist/utils/dco/dispatch.js.map +0 -1
  1033. package/dist/utils/dco/fix.d.ts +0 -122
  1034. package/dist/utils/dco/fix.d.ts.map +0 -1
  1035. package/dist/utils/dco/fix.js +0 -560
  1036. package/dist/utils/dco/fix.js.map +0 -1
  1037. package/dist/utils/dco/git-config.d.ts +0 -47
  1038. package/dist/utils/dco/git-config.d.ts.map +0 -1
  1039. package/dist/utils/dco/git-config.js +0 -161
  1040. package/dist/utils/dco/git-config.js.map +0 -1
  1041. package/dist/utils/dco/github.d.ts +0 -150
  1042. package/dist/utils/dco/github.d.ts.map +0 -1
  1043. package/dist/utils/dco/github.js +0 -287
  1044. package/dist/utils/dco/github.js.map +0 -1
  1045. package/dist/utils/dco/paths.d.ts +0 -9
  1046. package/dist/utils/dco/paths.d.ts.map +0 -1
  1047. package/dist/utils/dco/paths.js +0 -18
  1048. package/dist/utils/dco/paths.js.map +0 -1
  1049. package/dist/utils/dco/render.d.ts +0 -4
  1050. package/dist/utils/dco/render.d.ts.map +0 -1
  1051. package/dist/utils/dco/render.js +0 -35
  1052. package/dist/utils/dco/render.js.map +0 -1
  1053. package/dist/utils/dco/resolve-agent.d.ts +0 -54
  1054. package/dist/utils/dco/resolve-agent.d.ts.map +0 -1
  1055. package/dist/utils/dco/resolve-agent.js +0 -164
  1056. package/dist/utils/dco/resolve-agent.js.map +0 -1
  1057. package/dist/utils/dco/setup.d.ts +0 -50
  1058. package/dist/utils/dco/setup.d.ts.map +0 -1
  1059. package/dist/utils/dco/setup.js +0 -805
  1060. package/dist/utils/dco/setup.js.map +0 -1
  1061. package/dist/utils/dco/signing-key-writer.d.ts +0 -40
  1062. package/dist/utils/dco/signing-key-writer.d.ts.map +0 -1
  1063. package/dist/utils/dco/signing-key-writer.js +0 -76
  1064. package/dist/utils/dco/signing-key-writer.js.map +0 -1
  1065. package/dist/utils/dco/ssh-key.d.ts +0 -93
  1066. package/dist/utils/dco/ssh-key.d.ts.map +0 -1
  1067. package/dist/utils/dco/ssh-key.js.map +0 -1
  1068. package/dist/utils/dco/status.d.ts +0 -12
  1069. package/dist/utils/dco/status.d.ts.map +0 -1
  1070. package/dist/utils/dco/status.js +0 -238
  1071. package/dist/utils/dco/status.js.map +0 -1
  1072. package/dist/utils/dco/verify.d.ts +0 -170
  1073. package/dist/utils/dco/verify.d.ts.map +0 -1
  1074. package/dist/utils/dco/verify.js +0 -550
  1075. package/dist/utils/dco/verify.js.map +0 -1
  1076. package/dist/utils/dependency-installer.d.ts +0 -37
  1077. package/dist/utils/dependency-installer.d.ts.map +0 -1
  1078. package/dist/utils/dependency-installer.js +0 -32
  1079. package/dist/utils/dependency-installer.js.map +0 -1
  1080. package/dist/utils/env-manager.d.ts +0 -122
  1081. package/dist/utils/env-manager.d.ts.map +0 -1
  1082. package/dist/utils/env-manager.js +0 -514
  1083. package/dist/utils/env-manager.js.map +0 -1
  1084. package/dist/utils/github-credential-stage.d.ts +0 -87
  1085. package/dist/utils/github-credential-stage.d.ts.map +0 -1
  1086. package/dist/utils/github-credential-stage.js +0 -168
  1087. package/dist/utils/github-credential-stage.js.map +0 -1
  1088. package/dist/utils/github-credential.d.ts +0 -160
  1089. package/dist/utils/github-credential.d.ts.map +0 -1
  1090. package/dist/utils/github-credential.js +0 -308
  1091. package/dist/utils/github-credential.js.map +0 -1
  1092. package/dist/utils/gitignore.d.ts +0 -17
  1093. package/dist/utils/gitignore.d.ts.map +0 -1
  1094. package/dist/utils/gitignore.js +0 -40
  1095. package/dist/utils/gitignore.js.map +0 -1
  1096. package/dist/utils/hub-config.d.ts +0 -21
  1097. package/dist/utils/hub-config.d.ts.map +0 -1
  1098. package/dist/utils/hub-config.js +0 -28
  1099. package/dist/utils/hub-config.js.map +0 -1
  1100. package/dist/utils/identity-heal.d.ts +0 -16
  1101. package/dist/utils/identity-heal.d.ts.map +0 -1
  1102. package/dist/utils/identity-heal.js +0 -37
  1103. package/dist/utils/identity-heal.js.map +0 -1
  1104. package/dist/utils/identity-manager.d.ts +0 -41
  1105. package/dist/utils/identity-manager.d.ts.map +0 -1
  1106. package/dist/utils/identity-manager.js +0 -159
  1107. package/dist/utils/identity-manager.js.map +0 -1
  1108. package/dist/utils/init/pipeline.d.ts +0 -74
  1109. package/dist/utils/init/pipeline.d.ts.map +0 -1
  1110. package/dist/utils/init/pipeline.js +0 -96
  1111. package/dist/utils/init/pipeline.js.map +0 -1
  1112. package/dist/utils/kta-api.d.ts +0 -103
  1113. package/dist/utils/kta-api.d.ts.map +0 -1
  1114. package/dist/utils/kta-api.js +0 -149
  1115. package/dist/utils/kta-api.js.map +0 -1
  1116. package/dist/utils/platform-detector.d.ts +0 -54
  1117. package/dist/utils/platform-detector.d.ts.map +0 -1
  1118. package/dist/utils/platform-detector.js +0 -197
  1119. package/dist/utils/platform-detector.js.map +0 -1
  1120. package/dist/utils/poll.d.ts +0 -64
  1121. package/dist/utils/poll.d.ts.map +0 -1
  1122. package/dist/utils/poll.js +0 -76
  1123. package/dist/utils/poll.js.map +0 -1
  1124. package/dist/utils/prompts.d.ts +0 -24
  1125. package/dist/utils/prompts.d.ts.map +0 -1
  1126. package/dist/utils/prompts.js +0 -160
  1127. package/dist/utils/prompts.js.map +0 -1
  1128. package/dist/utils/register-agent-identity.d.ts +0 -67
  1129. package/dist/utils/register-agent-identity.d.ts.map +0 -1
  1130. package/dist/utils/register-agent-identity.js +0 -34
  1131. package/dist/utils/register-agent-identity.js.map +0 -1
  1132. package/dist/utils/review/did-web-key.d.ts +0 -34
  1133. package/dist/utils/review/did-web-key.d.ts.map +0 -1
  1134. package/dist/utils/review/did-web-key.js +0 -104
  1135. package/dist/utils/review/did-web-key.js.map +0 -1
  1136. package/dist/utils/review/load-registry.d.ts +0 -33
  1137. package/dist/utils/review/load-registry.d.ts.map +0 -1
  1138. package/dist/utils/review/load-registry.js +0 -62
  1139. package/dist/utils/review/load-registry.js.map +0 -1
  1140. package/dist/utils/review/verdict-verify.d.ts +0 -43
  1141. package/dist/utils/review/verdict-verify.d.ts.map +0 -1
  1142. package/dist/utils/review/verdict-verify.js +0 -53
  1143. package/dist/utils/review/verdict-verify.js.map +0 -1
  1144. package/dist/utils/review-registry-writer.d.ts +0 -52
  1145. package/dist/utils/review-registry-writer.d.ts.map +0 -1
  1146. package/dist/utils/review-registry-writer.js +0 -79
  1147. package/dist/utils/review-registry-writer.js.map +0 -1
  1148. package/dist/utils/screen-manager.d.ts +0 -10
  1149. package/dist/utils/screen-manager.d.ts.map +0 -1
  1150. package/dist/utils/screen-manager.js +0 -54
  1151. package/dist/utils/screen-manager.js.map +0 -1
  1152. package/dist/utils/should-install-dependency.d.ts +0 -17
  1153. package/dist/utils/should-install-dependency.d.ts.map +0 -1
  1154. package/dist/utils/should-install-dependency.js +0 -25
  1155. package/dist/utils/should-install-dependency.js.map +0 -1
  1156. package/dist/utils/time.d.ts +0 -19
  1157. package/dist/utils/time.d.ts.map +0 -1
  1158. package/dist/utils/time.js +0 -30
  1159. package/dist/utils/time.js.map +0 -1
  1160. package/dist/utils/tool-readiness.d.ts +0 -57
  1161. package/dist/utils/tool-readiness.d.ts.map +0 -1
  1162. package/dist/utils/tool-readiness.js +0 -114
  1163. package/dist/utils/tool-readiness.js.map +0 -1
  1164. package/dist/utils/which.d.ts +0 -2
  1165. package/dist/utils/which.d.ts.map +0 -1
  1166. package/dist/utils/which.js +0 -22
  1167. package/dist/utils/which.js.map +0 -1
  1168. package/dist/version.d.ts +0 -15
  1169. package/dist/version.d.ts.map +0 -1
  1170. package/dist/version.js +0 -29
  1171. package/dist/version.js.map +0 -1
  1172. /package/dist/{utils/dco → sidecar/sidecar/src}/ssh-key.js +0 -0
@@ -1,242 +0,0 @@
1
- /**
2
- * Orchestrator daemon (ORC-W1 PR-2).
3
- *
4
- * The single writer to the ledger. Everything that mutates state does so here,
5
- * driven by verified protocol events, which is what lets the journal be read
6
- * as evidence of what happened rather than as a record of what something
7
- * claimed happened.
8
- *
9
- * It owns no judgement. Deciding what to staff, whether two tickets are
10
- * related, or when to escalate belongs to an orchestrator session on top of
11
- * this (ORC-W5). The dividing line: this file owns anything whose correctness
12
- * a test can check.
13
- *
14
- * @module orchestrator/daemon
15
- */
16
- import { hostname } from "node:os";
17
- import { openLedger } from "./db/index.js";
18
- import { registerJournalWriter, reconcileRecentEvents } from "./journal-writer.js";
19
- import { registerReviewReactor, reconcileReviewState } from "./review.js";
20
- import { beat, readLiveness, judgeLiveness, clearLiveness, isProcessAlive, } from "./db/liveness.js";
21
- /**
22
- * Atomically check for a live writer and, if there is none, claim sole-writer
23
- * status -- in ONE step, not two.
24
- *
25
- * The read and the claim used to be separate calls (this function only
26
- * asserted; the daemon's own first beat happened much later, after
27
- * subscribing and reconciling), which left a window where two processes
28
- * racing to start against the same ledger could both read "no live writer"
29
- * before either had claimed it, and both proceed (Bugbot finding on #686:
30
- * the earlier fix enforced the invariant against a SEQUENTIAL second start,
31
- * but not against two that begin in the same window). `BEGIN IMMEDIATE`
32
- * closes it: SQLite serializes immediate transactions against each other, so
33
- * a second process's transaction cannot even begin until the first's has
34
- * committed, and by the time it does begin, it reads the row the first just
35
- * claimed rather than the state from before it existed.
36
- *
37
- * The staleness/pid-liveness reasoning is unchanged: a recent beat alone
38
- * cannot tell "still running" from "beat once, then crashed" -- where the
39
- * row names a pid on THIS host, the OS is asked directly rather than
40
- * trusting the timestamp, so a genuinely dead process clears this regardless
41
- * of how recent its last beat was, and a row from another host falls back to
42
- * the staleness window, the same ambiguity `judgeLiveness` already lives
43
- * with.
44
- */
45
- export function claimSoleWriter(db, claim) {
46
- db.transaction(() => {
47
- const row = readLiveness(db);
48
- if (row) {
49
- const verdict = judgeLiveness(row, Date.now());
50
- const deadOnThisHost = row.host === claim.host && row.pid !== null && !isProcessAlive(row.pid);
51
- if (!verdict.stale && !deadOnThisHost) {
52
- throw new Error(`orchestrator: ledger already has a live writer (pid ${row.pid ?? "unknown"} on ` +
53
- `${row.host ?? "an unknown host"}, last beat ${verdict.ageMs ?? "an unknown number of"}ms ago). Refusing to start a second daemon against the same ledger.`);
54
- }
55
- }
56
- beat(db, claim);
57
- }).immediate();
58
- }
59
- export class OrchestratorDaemon {
60
- constructor(config) {
61
- this.unsubscribers = [];
62
- this.startedAt = null;
63
- /** Did THIS start() successfully claim sole-writer status? Set only when
64
- * `ownsLedger` and only after `claimSoleWriter` returns without throwing --
65
- * distinct from `startedAt`, since a LATER step (subscribe, reconcile) can
66
- * still fail after the claim already succeeded. */
67
- this.claimedWriter = false;
68
- this.reconciledOnBoot = 0;
69
- this.movedOnBoot = 0;
70
- this.hub = config.hub;
71
- this.beatIntervalMs = config.beatIntervalMs ?? 30000;
72
- this.providedLedger = config.ledger;
73
- this.ledgerPath = config.ledgerPath;
74
- this.ownsLedger = config.ledger === undefined;
75
- this.reconcileLimit = config.reconcileLimit ?? 50;
76
- }
77
- /** The ledger handle, once started. Throws before start, by design. */
78
- get ledger() {
79
- if (!this.db)
80
- throw new Error("orchestrator: daemon is not started");
81
- return this.db;
82
- }
83
- /**
84
- * Open the ledger, replay what we slept through, then subscribe.
85
- *
86
- * Order matters. Reconciling BEFORE subscribing would race: an event
87
- * arriving mid-replay could be written twice under two different orderings.
88
- * Subscribing first is safe only because journal ids are content-derived, so
89
- * an event seen live and again in the replay window collapses to one row.
90
- */
91
- start() {
92
- if (this.startedAt)
93
- return;
94
- this.db = this.providedLedger ?? openLedger(this.ledgerPath);
95
- try {
96
- // Beat once synchronously (as part of the claim, when we own the
97
- // ledger; on its own otherwise), so a reader can tell a live daemon
98
- // from a dead one immediately rather than only after the first
99
- // interval elapses. A freshly started daemon that has not beaten yet
100
- // is indistinguishable from one that died, which is the exact
101
- // confusion liveness exists to end.
102
- const claim = { startedAt: new Date().toISOString(), pid: process.pid, host: hostname() };
103
- if (this.ownsLedger) {
104
- // Only when WE opened the connection: a ledger the caller shared
105
- // with us (tests do this deliberately, to observe two reconcile
106
- // passes against one database) is the caller's own concurrency to
107
- // manage, not a second daemon PROCESS this check exists to catch.
108
- //
109
- // Check-and-claim as one atomic step -- this is also the daemon's
110
- // FIRST beat, so a reader can tell this daemon apart from a dead one
111
- // from the moment it wins the claim, before subscribing or
112
- // reconciling even begin.
113
- claimSoleWriter(this.db, claim);
114
- this.claimedWriter = true;
115
- }
116
- else {
117
- beat(this.db, claim);
118
- }
119
- this.unsubscribers.push(registerJournalWriter(this.db, this.hub));
120
- // AFTER the journal writer, so the raw event is recorded before any
121
- // status derived from it. Reversed, a throw in the reactor could leave a
122
- // transition with no evidence of the event that caused it.
123
- this.unsubscribers.push(registerReviewReactor(this.db, this.hub));
124
- this.reconciledOnBoot = reconcileRecentEvents(this.db, this.hub, this.reconcileLimit);
125
- // Journalling the window is not enough: the reactor is live-only, so a
126
- // verdict that arrived while this daemon was down would be on record with
127
- // the ticket never moved.
128
- this.movedOnBoot = reconcileReviewState(this.db, this.hub, this.reconcileLimit);
129
- const db = this.db;
130
- this.beatTimer = setInterval(() => {
131
- try {
132
- beat(db, { pid: process.pid, host: hostname() });
133
- }
134
- catch (err) {
135
- // A failed beat must not kill the daemon. Not being able to write
136
- // makes it LOOK dead to readers, which is the honest outcome, and
137
- // recovery is simply the next beat succeeding.
138
- console.error(`[orchestrator] liveness beat failed: ${err instanceof Error ? err.message : String(err)}`);
139
- }
140
- }, this.beatIntervalMs);
141
- // Never hold the process open for a heartbeat alone, or a CLI that starts
142
- // a daemon can never exit.
143
- this.beatTimer.unref?.();
144
- }
145
- catch (err) {
146
- // Start is all-or-nothing. Without this unwind a failure between
147
- // subscribing and finishing leaves a LIVE handler on a daemon that
148
- // reports itself stopped: `startedAt` is never set, so the idempotence
149
- // guard above does not trip, and the next start() stacks a second
150
- // subscription on top of a leaked ledger handle. Half-started is a
151
- // worse state than not started, because nothing looks wrong.
152
- this.teardown();
153
- throw err;
154
- }
155
- this.startedAt = new Date().toISOString();
156
- }
157
- /**
158
- * Detach everything and release the ledger, running every step even if an
159
- * earlier one throws.
160
- *
161
- * Shared by {@link stop} and by start()'s failure path so the two cannot
162
- * drift: a cleanup that only the error path exercises is a cleanup nobody
163
- * tests. Returns the errors it collected rather than throwing, leaving the
164
- * caller to decide whether a teardown failure should surface.
165
- */
166
- teardown() {
167
- // First, so no beat can fire against a ledger this method is about to close.
168
- // The reverse order is the same class of bug as leaving a hub handler
169
- // attached: a timer outliving its database throws from a stack nobody owns.
170
- if (this.beatTimer !== undefined) {
171
- clearInterval(this.beatTimer);
172
- this.beatTimer = undefined;
173
- }
174
- const errors = [];
175
- for (const off of this.unsubscribers.splice(0)) {
176
- try {
177
- off();
178
- }
179
- catch (err) {
180
- // Keep going. One hostile unsubscribe must not strand the others,
181
- // and must not cost us the ledger close below.
182
- errors.push(err);
183
- }
184
- }
185
- if (this.ownsLedger && this.db) {
186
- // Only a start() that actually WON the claim ever wrote this row.
187
- // Erasing it after a start() that failed before claiming -- e.g.
188
- // because claimSoleWriter refused it -- would destroy the OTHER
189
- // daemon's evidence of being alive rather than our own. Distinct from
190
- // `startedAt`: a LATER step (subscribe, reconcile) can still fail
191
- // after the claim already succeeded, and this row is ours to clear
192
- // either way.
193
- if (this.claimedWriter) {
194
- try {
195
- clearLiveness(this.db);
196
- }
197
- catch {
198
- // Best effort. Must not block closing the ledger below: a daemon
199
- // that leaked its handle over a failed liveness cleanup would be a
200
- // worse outcome than the next reader waiting out the stale window.
201
- }
202
- }
203
- try {
204
- this.db.close();
205
- }
206
- catch (err) {
207
- errors.push(err);
208
- }
209
- }
210
- this.db = undefined;
211
- this.startedAt = null;
212
- this.claimedWriter = false;
213
- this.reconciledOnBoot = 0;
214
- this.movedOnBoot = 0;
215
- return errors;
216
- }
217
- /**
218
- * Detach every subscription, then release the ledger if we opened it.
219
- *
220
- * Unsubscribing before closing is not tidiness: a handler still attached to
221
- * a closed database throws inside the hub's emit loop, which is a failure in
222
- * someone else's code caused by ours.
223
- */
224
- stop() {
225
- const errors = this.teardown();
226
- if (errors.length > 0) {
227
- // Surface the failure, but only after every other step has run. A
228
- // teardown that aborts on its first error is how a ledger handle leaks.
229
- throw errors[0];
230
- }
231
- }
232
- status() {
233
- return {
234
- running: this.startedAt !== null,
235
- startedAt: this.startedAt,
236
- reconciledOnBoot: this.reconciledOnBoot,
237
- movedOnBoot: this.movedOnBoot,
238
- liveness: this.db ? judgeLiveness(readLiveness(this.db), Date.now()) : null,
239
- };
240
- }
241
- }
242
- //# sourceMappingURL=daemon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/orchestrator/daemon.ts"],"names":[],"mappings":"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"}
@@ -1,108 +0,0 @@
1
- /**
2
- * Dispatch store (ORC-W1 PR-2).
3
- *
4
- * One row per task handed to a worker. Its job in PR-2 is correlation: it is
5
- * how an incoming hub event, which knows a taskId, becomes a journal entry
6
- * attached to the right ticket.
7
- *
8
- * @module orchestrator/db/dispatches
9
- */
10
- import { z } from "zod";
11
- import { type Ledger } from "./index.js";
12
- export declare const DispatchStatusSchema: z.ZodEnum<["dispatched", "in-progress", "completed", "failed"]>;
13
- export type DispatchStatus = z.infer<typeof DispatchStatusSchema>;
14
- export declare const DispatchRowSchema: z.ZodObject<{
15
- task_id: z.ZodString;
16
- ticket_id: z.ZodString;
17
- worker_did: z.ZodString;
18
- repo: z.ZodNullable<z.ZodString>;
19
- branch: z.ZodNullable<z.ZodString>;
20
- pr_number: z.ZodNullable<z.ZodNumber>;
21
- status: z.ZodEnum<["dispatched", "in-progress", "completed", "failed"]>;
22
- dispatched_at: z.ZodString;
23
- completed_at: z.ZodNullable<z.ZodString>;
24
- }, "strip", z.ZodTypeAny, {
25
- status: "failed" | "completed" | "in-progress" | "dispatched";
26
- repo: string | null;
27
- ticket_id: string;
28
- task_id: string;
29
- worker_did: string;
30
- branch: string | null;
31
- pr_number: number | null;
32
- dispatched_at: string;
33
- completed_at: string | null;
34
- }, {
35
- status: "failed" | "completed" | "in-progress" | "dispatched";
36
- repo: string | null;
37
- ticket_id: string;
38
- task_id: string;
39
- worker_did: string;
40
- branch: string | null;
41
- pr_number: number | null;
42
- dispatched_at: string;
43
- completed_at: string | null;
44
- }>;
45
- export type DispatchRow = z.infer<typeof DispatchRowSchema>;
46
- export interface RecordDispatchInput {
47
- taskId: string;
48
- ticketId: string;
49
- workerDid: string;
50
- repo?: string;
51
- branch?: string;
52
- prNumber?: number;
53
- }
54
- export declare function recordDispatch(db: Ledger, input: RecordDispatchInput): DispatchRow;
55
- export declare function getDispatch(db: Ledger, taskId: string): DispatchRow | undefined;
56
- /**
57
- * The ticket a task belongs to, or null when this task was never dispatched
58
- * through the ledger.
59
- *
60
- * Null is an ordinary answer, not an error: the hub is multi-tenant and emits
61
- * events for work this orchestrator did not start. The caller records the
62
- * observation with no ticket rather than guessing at one.
63
- */
64
- export declare function findTicketIdByTaskId(db: Ledger, taskId: string): string | null;
65
- /**
66
- * Find the ticket behind a pull request.
67
- *
68
- * The only correlation available for review events. `pr_quorum_reached` carries
69
- * `repo`/`prNumber`/`headSha` and no task id at all, and `review_verdict`'s task
70
- * id is optional AND belongs to the reviewer's task rather than the dispatch
71
- * that produced the branch. Without this, every quorum event lands in the
72
- * journal with a null ticket, which is why the Review lens could show that
73
- * something was approved but not what.
74
- *
75
- * `idx_dispatches_pr` already indexed (repo, pr_number) with no reader; this is
76
- * the reader it was waiting for.
77
- *
78
- * Newest dispatch wins. A PR reopened after a failed first attempt has two
79
- * dispatch rows, and the live one is the recent one.
80
- *
81
- * Ties break on `rowid` DESC, meaning last-inserted, because `dispatched_at`
82
- * has millisecond resolution and a retry loop can record two dispatches inside
83
- * one millisecond. Tiebreaking on `task_id` instead would order them
84
- * alphabetically, which silently returns whichever id happens to sort lower --
85
- * the older attempt as often as not.
86
- *
87
- * Null is an ordinary answer for the same reason as {@link findTicketIdByTaskId}:
88
- * the hub is multi-tenant and reviews PRs this orchestrator never dispatched.
89
- */
90
- export declare function findTicketIdByPr(db: Ledger, repo: string, prNumber: number): string | null;
91
- export declare function setDispatchStatus(db: Ledger, taskId: string, status: DispatchStatus): DispatchRow;
92
- /**
93
- * Read dispatches, newest first, optionally capped.
94
- *
95
- * The cap is applied in SQL rather than by the caller slicing the result.
96
- * Dispatches are never deleted, so this table only grows: a cap enforced after
97
- * the read bounds the RESPONSE while still asking SQLite to materialise every
98
- * dispatch ever recorded, which is the opposite of what a row cap is for. The
99
- * ticket and journal readers already capped in SQL for this reason; this one was
100
- * the outlier.
101
- *
102
- * `task_id` breaks ties because `dispatched_at` is an ISO timestamp and not
103
- * unique -- two dispatches recorded in the same millisecond would otherwise
104
- * order arbitrarily, and an arbitrary order at the cap boundary decides which
105
- * row is visible at all.
106
- */
107
- export declare function listDispatches(db: Ledger, limit?: number): DispatchRow[];
108
- //# sourceMappingURL=dispatches.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatches.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/db/dispatches.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,oBAAoB,iEAK/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,WAAW,CAelF;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAI/E;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI9E;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW1F;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,GACrB,WAAW,CAUb;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAKxE"}
@@ -1,122 +0,0 @@
1
- /**
2
- * Dispatch store (ORC-W1 PR-2).
3
- *
4
- * One row per task handed to a worker. Its job in PR-2 is correlation: it is
5
- * how an incoming hub event, which knows a taskId, becomes a journal entry
6
- * attached to the right ticket.
7
- *
8
- * @module orchestrator/db/dispatches
9
- */
10
- import { z } from "zod";
11
- import { rowCap } from "./index.js";
12
- export const DispatchStatusSchema = z.enum([
13
- "dispatched",
14
- "in-progress",
15
- "completed",
16
- "failed",
17
- ]);
18
- export const DispatchRowSchema = z.object({
19
- task_id: z.string(),
20
- ticket_id: z.string(),
21
- worker_did: z.string(),
22
- repo: z.string().nullable(),
23
- branch: z.string().nullable(),
24
- pr_number: z.number().nullable(),
25
- status: DispatchStatusSchema,
26
- dispatched_at: z.string(),
27
- completed_at: z.string().nullable(),
28
- });
29
- export function recordDispatch(db, input) {
30
- db.prepare(`INSERT INTO dispatches
31
- (task_id, ticket_id, worker_did, repo, branch, pr_number, status, dispatched_at)
32
- VALUES (?, ?, ?, ?, ?, ?, 'dispatched', ?)`).run(input.taskId, input.ticketId, input.workerDid, input.repo ?? null, input.branch ?? null, input.prNumber ?? null, new Date().toISOString());
33
- return getDispatch(db, input.taskId);
34
- }
35
- export function getDispatch(db, taskId) {
36
- const row = db.prepare(`SELECT * FROM dispatches WHERE task_id = ?`).get(taskId);
37
- if (row === undefined || row === null)
38
- return undefined;
39
- return DispatchRowSchema.parse(row);
40
- }
41
- /**
42
- * The ticket a task belongs to, or null when this task was never dispatched
43
- * through the ledger.
44
- *
45
- * Null is an ordinary answer, not an error: the hub is multi-tenant and emits
46
- * events for work this orchestrator did not start. The caller records the
47
- * observation with no ticket rather than guessing at one.
48
- */
49
- export function findTicketIdByTaskId(db, taskId) {
50
- const row = db.prepare(`SELECT ticket_id FROM dispatches WHERE task_id = ?`).get(taskId);
51
- if (row === undefined || row === null)
52
- return null;
53
- return z.object({ ticket_id: z.string() }).parse(row).ticket_id;
54
- }
55
- /**
56
- * Find the ticket behind a pull request.
57
- *
58
- * The only correlation available for review events. `pr_quorum_reached` carries
59
- * `repo`/`prNumber`/`headSha` and no task id at all, and `review_verdict`'s task
60
- * id is optional AND belongs to the reviewer's task rather than the dispatch
61
- * that produced the branch. Without this, every quorum event lands in the
62
- * journal with a null ticket, which is why the Review lens could show that
63
- * something was approved but not what.
64
- *
65
- * `idx_dispatches_pr` already indexed (repo, pr_number) with no reader; this is
66
- * the reader it was waiting for.
67
- *
68
- * Newest dispatch wins. A PR reopened after a failed first attempt has two
69
- * dispatch rows, and the live one is the recent one.
70
- *
71
- * Ties break on `rowid` DESC, meaning last-inserted, because `dispatched_at`
72
- * has millisecond resolution and a retry loop can record two dispatches inside
73
- * one millisecond. Tiebreaking on `task_id` instead would order them
74
- * alphabetically, which silently returns whichever id happens to sort lower --
75
- * the older attempt as often as not.
76
- *
77
- * Null is an ordinary answer for the same reason as {@link findTicketIdByTaskId}:
78
- * the hub is multi-tenant and reviews PRs this orchestrator never dispatched.
79
- */
80
- export function findTicketIdByPr(db, repo, prNumber) {
81
- const row = db
82
- .prepare(`SELECT ticket_id FROM dispatches
83
- WHERE repo = ? AND pr_number = ?
84
- ORDER BY dispatched_at DESC, rowid DESC
85
- LIMIT 1`)
86
- .get(repo, prNumber);
87
- if (row === undefined || row === null)
88
- return null;
89
- return z.object({ ticket_id: z.string() }).parse(row).ticket_id;
90
- }
91
- export function setDispatchStatus(db, taskId, status) {
92
- const completedAt = status === "completed" || status === "failed" ? new Date().toISOString() : null;
93
- const info = db
94
- .prepare(`UPDATE dispatches SET status = ?, completed_at = ? WHERE task_id = ?`)
95
- .run(status, completedAt, taskId);
96
- if (info.changes === 0) {
97
- throw new Error(`orchestrator: cannot update unknown dispatch ${taskId}`);
98
- }
99
- return getDispatch(db, taskId);
100
- }
101
- /**
102
- * Read dispatches, newest first, optionally capped.
103
- *
104
- * The cap is applied in SQL rather than by the caller slicing the result.
105
- * Dispatches are never deleted, so this table only grows: a cap enforced after
106
- * the read bounds the RESPONSE while still asking SQLite to materialise every
107
- * dispatch ever recorded, which is the opposite of what a row cap is for. The
108
- * ticket and journal readers already capped in SQL for this reason; this one was
109
- * the outlier.
110
- *
111
- * `task_id` breaks ties because `dispatched_at` is an ISO timestamp and not
112
- * unique -- two dispatches recorded in the same millisecond would otherwise
113
- * order arbitrarily, and an arbitrary order at the cap boundary decides which
114
- * row is visible at all.
115
- */
116
- export function listDispatches(db, limit) {
117
- const rows = db
118
- .prepare(`SELECT * FROM dispatches ORDER BY dispatched_at DESC, task_id DESC LIMIT ?`)
119
- .all(rowCap(limit));
120
- return z.array(DispatchRowSchema).parse(rows);
121
- }
122
- //# sourceMappingURL=dispatches.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatches.js","sourceRoot":"","sources":["../../../src/orchestrator/db/dispatches.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- /**
2
- * Ledger open + schema application.
3
- *
4
- * Lives inside `@kya-os/cli` rather than in a package of its own. The last
5
- * internal package extracted from this CLI (`@kya-os/cli-kit`) had exactly one
6
- * consumer and a `workspace:*` dependency that blocked publishing, and was
7
- * folded back in. One consumer does not justify a package.
8
- *
9
- * @module cli/orchestrator/db
10
- */
11
- import type BetterSqlite3 from "better-sqlite3";
12
- export type Ledger = BetterSqlite3.Database;
13
- /**
14
- * How long a writer waits on SQLite's own lock before giving up, in ms.
15
- *
16
- * Without this, a second connection's write against an already-locked
17
- * database gets `SQLITE_BUSY` back IMMEDIATELY -- not after a wait, on the
18
- * very first attempt -- and every caller here (the journal writer, the
19
- * liveness beat, a reconnect's replay) treats that as a genuine failure
20
- * rather than momentary contention. `busy_timeout` makes SQLite retry
21
- * acquiring the lock internally for this long before it reports busy, which
22
- * is what turns a same-instant collision between two writers into a queued
23
- * write instead of a dropped one.
24
- */
25
- export declare const LEDGER_BUSY_TIMEOUT_MS = 5000;
26
- /**
27
- * Turn an optional caller cap into a SQL `LIMIT` value.
28
- *
29
- * SQLite reads ANY negative LIMIT as "no limit", which is what makes the omitted
30
- * case a one-statement affair -- but it also means a caller who passes a bad cap
31
- * gets the whole table back. `-1` meaning unlimited is a deliberate sentinel;
32
- * `-5` arriving from a caller's arithmetic is a bug, and answering it with every
33
- * row is the exact failure a row cap exists to prevent, reached by asking for
34
- * fewer rows.
35
- *
36
- * Shared by every capped reader so the sentinel is written once and the
37
- * validation cannot be present in one store and missing in the next.
38
- */
39
- export declare function rowCap(limit: number | undefined): number;
40
- /** Per-user state directory for the orchestrator ledger. */
41
- export declare function stateDir(): string;
42
- /** Default on-disk location of the ledger. */
43
- export declare function defaultLedgerPath(): string;
44
- /**
45
- * Open (creating if absent) the ledger and apply the schema.
46
- *
47
- * Pass `":memory:"` for tests.
48
- */
49
- export declare function openLedger(path?: string): Ledger;
50
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/db/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAGhD,MAAM,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC;AAI5C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,OAAQ,CAAC;AA0B5C;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMxD;AAED,4DAA4D;AAC5D,wBAAgB,QAAQ,IAAI,MAAM,CAOjC;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAA4B,GAAG,MAAM,CA0BrE"}
@@ -1,116 +0,0 @@
1
- /**
2
- * Ledger open + schema application.
3
- *
4
- * Lives inside `@kya-os/cli` rather than in a package of its own. The last
5
- * internal package extracted from this CLI (`@kya-os/cli-kit`) had exactly one
6
- * consumer and a `workspace:*` dependency that blocked publishing, and was
7
- * folded back in. One consumer does not justify a package.
8
- *
9
- * @module cli/orchestrator/db
10
- */
11
- import { createRequire } from "node:module";
12
- import { mkdirSync } from "node:fs";
13
- import { dirname, join } from "node:path";
14
- import { homedir } from "node:os";
15
- import { LEDGER_SCHEMA } from "./schema.js";
16
- const require_ = createRequire(import.meta.url);
17
- /**
18
- * How long a writer waits on SQLite's own lock before giving up, in ms.
19
- *
20
- * Without this, a second connection's write against an already-locked
21
- * database gets `SQLITE_BUSY` back IMMEDIATELY -- not after a wait, on the
22
- * very first attempt -- and every caller here (the journal writer, the
23
- * liveness beat, a reconnect's replay) treats that as a genuine failure
24
- * rather than momentary contention. `busy_timeout` makes SQLite retry
25
- * acquiring the lock internally for this long before it reports busy, which
26
- * is what turns a same-instant collision between two writers into a queued
27
- * write instead of a dropped one.
28
- */
29
- export const LEDGER_BUSY_TIMEOUT_MS = 5000;
30
- /**
31
- * Load the SQLite driver on first use.
32
- *
33
- * `better-sqlite3` is an OPTIONAL dependency, and loaded lazily so it stays
34
- * that way in practice. It is the only native addon `@kya-os/cli` pulls in,
35
- * and the overwhelming majority of this CLI's users run `init`, `register` or
36
- * `dco` and never touch the orchestrator at all. A top-level import would make
37
- * every one of them download or compile it, and would break the entire CLI on
38
- * any platform lacking a prebuild, rather than just the commands that need a
39
- * database.
40
- */
41
- function loadDriver() {
42
- try {
43
- return require_("better-sqlite3");
44
- }
45
- catch (err) {
46
- throw new Error("Orchestrator commands need the optional 'better-sqlite3' dependency, " +
47
- "which is not installed or failed to build. Install it with " +
48
- "`npm install better-sqlite3`. " +
49
- `Underlying error: ${err instanceof Error ? err.message : String(err)}`);
50
- }
51
- }
52
- /**
53
- * Turn an optional caller cap into a SQL `LIMIT` value.
54
- *
55
- * SQLite reads ANY negative LIMIT as "no limit", which is what makes the omitted
56
- * case a one-statement affair -- but it also means a caller who passes a bad cap
57
- * gets the whole table back. `-1` meaning unlimited is a deliberate sentinel;
58
- * `-5` arriving from a caller's arithmetic is a bug, and answering it with every
59
- * row is the exact failure a row cap exists to prevent, reached by asking for
60
- * fewer rows.
61
- *
62
- * Shared by every capped reader so the sentinel is written once and the
63
- * validation cannot be present in one store and missing in the next.
64
- */
65
- export function rowCap(limit) {
66
- if (limit === undefined)
67
- return -1;
68
- if (!Number.isInteger(limit) || limit < 1) {
69
- throw new Error(`orchestrator: limit must be a positive integer, got ${String(limit)}`);
70
- }
71
- return limit;
72
- }
73
- /** Per-user state directory for the orchestrator ledger. */
74
- export function stateDir() {
75
- const override = process.env.KYA_OS_ORCHESTRATOR_STATE_DIR;
76
- if (override)
77
- return override;
78
- const xdg = process.env.XDG_STATE_HOME;
79
- return xdg
80
- ? join(xdg, "kya-os", "orchestrator")
81
- : join(homedir(), ".local", "state", "kya-os", "orchestrator");
82
- }
83
- /** Default on-disk location of the ledger. */
84
- export function defaultLedgerPath() {
85
- return join(stateDir(), "ledger.db");
86
- }
87
- /**
88
- * Open (creating if absent) the ledger and apply the schema.
89
- *
90
- * Pass `":memory:"` for tests.
91
- */
92
- export function openLedger(path = defaultLedgerPath()) {
93
- if (path !== ":memory:") {
94
- mkdirSync(dirname(path), { recursive: true });
95
- }
96
- const Database = loadDriver();
97
- const db = new Database(path);
98
- // See LEDGER_BUSY_TIMEOUT_MS. Meaningless for a private `:memory:` database
99
- // (no other connection can ever reach it), but harmless to set regardless --
100
- // one pragma applied unconditionally beats a conditional whose only purpose
101
- // is to skip a no-op.
102
- db.pragma(`busy_timeout = ${LEDGER_BUSY_TIMEOUT_MS}`);
103
- // WAL so a reader (a TUI, another CLI invocation) never blocks the writer.
104
- // An in-memory database cannot journal to a file, and asking it to silently
105
- // leaves journal_mode at "memory", so only set it where it means something.
106
- if (path !== ":memory:") {
107
- db.pragma("journal_mode = WAL");
108
- }
109
- // The schema leans on foreign keys (superseded_by, dispatches.ticket_id).
110
- // SQLite defaults this OFF per-connection, so forgetting it turns every
111
- // referential guarantee into a comment.
112
- db.pragma("foreign_keys = ON");
113
- db.exec(LEDGER_SCHEMA);
114
- return db;
115
- }
116
- //# sourceMappingURL=index.js.map