@openrig/cli 0.0.1 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (846) hide show
  1. package/daemon/assets/claude-statusline-context.cjs +80 -0
  2. package/daemon/assets/guidance/using-openrig.md +46 -0
  3. package/daemon/dist/adapters/claude-code-adapter.d.ts +67 -0
  4. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -0
  5. package/daemon/dist/adapters/claude-code-adapter.js +317 -0
  6. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -0
  7. package/daemon/dist/adapters/claude-resume.d.ts +23 -0
  8. package/daemon/dist/adapters/claude-resume.d.ts.map +1 -0
  9. package/daemon/dist/adapters/claude-resume.js +90 -0
  10. package/daemon/dist/adapters/claude-resume.js.map +1 -0
  11. package/daemon/dist/adapters/cmux-transport.d.ts +9 -0
  12. package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -0
  13. package/daemon/dist/adapters/cmux-transport.js +64 -0
  14. package/daemon/dist/adapters/cmux-transport.js.map +1 -0
  15. package/daemon/dist/adapters/cmux.d.ts +50 -0
  16. package/daemon/dist/adapters/cmux.d.ts.map +1 -0
  17. package/daemon/dist/adapters/cmux.js +144 -0
  18. package/daemon/dist/adapters/cmux.js.map +1 -0
  19. package/daemon/dist/adapters/codex-resume.d.ts +10 -0
  20. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -0
  21. package/daemon/dist/adapters/codex-resume.js +44 -0
  22. package/daemon/dist/adapters/codex-resume.js.map +1 -0
  23. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +53 -0
  24. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -0
  25. package/daemon/dist/adapters/codex-runtime-adapter.js +255 -0
  26. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -0
  27. package/daemon/dist/adapters/shell-quote.d.ts +3 -0
  28. package/daemon/dist/adapters/shell-quote.d.ts.map +1 -0
  29. package/daemon/dist/adapters/shell-quote.js +5 -0
  30. package/daemon/dist/adapters/shell-quote.js.map +1 -0
  31. package/daemon/dist/adapters/terminal-adapter.d.ts +20 -0
  32. package/daemon/dist/adapters/terminal-adapter.d.ts.map +1 -0
  33. package/daemon/dist/adapters/terminal-adapter.js +25 -0
  34. package/daemon/dist/adapters/terminal-adapter.js.map +1 -0
  35. package/daemon/dist/adapters/tmux-exec.d.ts +7 -0
  36. package/daemon/dist/adapters/tmux-exec.d.ts.map +1 -0
  37. package/daemon/dist/adapters/tmux-exec.js +12 -0
  38. package/daemon/dist/adapters/tmux-exec.js.map +1 -0
  39. package/daemon/dist/adapters/tmux.d.ts +55 -0
  40. package/daemon/dist/adapters/tmux.d.ts.map +1 -0
  41. package/daemon/dist/adapters/tmux.js +244 -0
  42. package/daemon/dist/adapters/tmux.js.map +1 -0
  43. package/daemon/dist/db/connection.d.ts +7 -0
  44. package/daemon/dist/db/connection.d.ts.map +1 -0
  45. package/daemon/dist/db/connection.js +12 -0
  46. package/daemon/dist/db/connection.js.map +1 -0
  47. package/daemon/dist/db/migrate.d.ts +12 -0
  48. package/daemon/dist/db/migrate.d.ts.map +1 -0
  49. package/daemon/dist/db/migrate.js +27 -0
  50. package/daemon/dist/db/migrate.js.map +1 -0
  51. package/daemon/dist/db/migrations/001_core_schema.d.ts +3 -0
  52. package/daemon/dist/db/migrations/001_core_schema.d.ts.map +1 -0
  53. package/daemon/dist/db/migrations/001_core_schema.js +50 -0
  54. package/daemon/dist/db/migrations/001_core_schema.js.map +1 -0
  55. package/daemon/dist/db/migrations/002_bindings_sessions.d.ts +3 -0
  56. package/daemon/dist/db/migrations/002_bindings_sessions.d.ts.map +1 -0
  57. package/daemon/dist/db/migrations/002_bindings_sessions.js +29 -0
  58. package/daemon/dist/db/migrations/002_bindings_sessions.js.map +1 -0
  59. package/daemon/dist/db/migrations/003_events.d.ts +3 -0
  60. package/daemon/dist/db/migrations/003_events.d.ts.map +1 -0
  61. package/daemon/dist/db/migrations/003_events.js +22 -0
  62. package/daemon/dist/db/migrations/003_events.js.map +1 -0
  63. package/daemon/dist/db/migrations/004_snapshots.d.ts +3 -0
  64. package/daemon/dist/db/migrations/004_snapshots.d.ts.map +1 -0
  65. package/daemon/dist/db/migrations/004_snapshots.js +19 -0
  66. package/daemon/dist/db/migrations/004_snapshots.js.map +1 -0
  67. package/daemon/dist/db/migrations/005_checkpoints.d.ts +3 -0
  68. package/daemon/dist/db/migrations/005_checkpoints.d.ts.map +1 -0
  69. package/daemon/dist/db/migrations/005_checkpoints.js +22 -0
  70. package/daemon/dist/db/migrations/005_checkpoints.js.map +1 -0
  71. package/daemon/dist/db/migrations/006_resume_metadata.d.ts +3 -0
  72. package/daemon/dist/db/migrations/006_resume_metadata.d.ts.map +1 -0
  73. package/daemon/dist/db/migrations/006_resume_metadata.js +14 -0
  74. package/daemon/dist/db/migrations/006_resume_metadata.js.map +1 -0
  75. package/daemon/dist/db/migrations/007_node_spec_fields.d.ts +3 -0
  76. package/daemon/dist/db/migrations/007_node_spec_fields.d.ts.map +1 -0
  77. package/daemon/dist/db/migrations/007_node_spec_fields.js +11 -0
  78. package/daemon/dist/db/migrations/007_node_spec_fields.js.map +1 -0
  79. package/daemon/dist/db/migrations/008_packages.d.ts +3 -0
  80. package/daemon/dist/db/migrations/008_packages.d.ts.map +1 -0
  81. package/daemon/dist/db/migrations/008_packages.js +17 -0
  82. package/daemon/dist/db/migrations/008_packages.js.map +1 -0
  83. package/daemon/dist/db/migrations/009_install_journal.d.ts +3 -0
  84. package/daemon/dist/db/migrations/009_install_journal.d.ts.map +1 -0
  85. package/daemon/dist/db/migrations/009_install_journal.js +35 -0
  86. package/daemon/dist/db/migrations/009_install_journal.js.map +1 -0
  87. package/daemon/dist/db/migrations/010_journal_seq.d.ts +3 -0
  88. package/daemon/dist/db/migrations/010_journal_seq.d.ts.map +1 -0
  89. package/daemon/dist/db/migrations/010_journal_seq.js +36 -0
  90. package/daemon/dist/db/migrations/010_journal_seq.js.map +1 -0
  91. package/daemon/dist/db/migrations/011_bootstrap.d.ts +3 -0
  92. package/daemon/dist/db/migrations/011_bootstrap.d.ts.map +1 -0
  93. package/daemon/dist/db/migrations/011_bootstrap.js +43 -0
  94. package/daemon/dist/db/migrations/011_bootstrap.js.map +1 -0
  95. package/daemon/dist/db/migrations/012_discovery.d.ts +3 -0
  96. package/daemon/dist/db/migrations/012_discovery.d.ts.map +1 -0
  97. package/daemon/dist/db/migrations/012_discovery.js +28 -0
  98. package/daemon/dist/db/migrations/012_discovery.js.map +1 -0
  99. package/daemon/dist/db/migrations/013_discovery_fk_fix.d.ts +3 -0
  100. package/daemon/dist/db/migrations/013_discovery_fk_fix.d.ts.map +1 -0
  101. package/daemon/dist/db/migrations/013_discovery_fk_fix.js +37 -0
  102. package/daemon/dist/db/migrations/013_discovery_fk_fix.js.map +1 -0
  103. package/daemon/dist/db/migrations/014_agentspec_reboot.d.ts +3 -0
  104. package/daemon/dist/db/migrations/014_agentspec_reboot.d.ts.map +1 -0
  105. package/daemon/dist/db/migrations/014_agentspec_reboot.js +47 -0
  106. package/daemon/dist/db/migrations/014_agentspec_reboot.js.map +1 -0
  107. package/daemon/dist/db/migrations/015_startup_context.d.ts +3 -0
  108. package/daemon/dist/db/migrations/015_startup_context.d.ts.map +1 -0
  109. package/daemon/dist/db/migrations/015_startup_context.js +15 -0
  110. package/daemon/dist/db/migrations/015_startup_context.js.map +1 -0
  111. package/daemon/dist/db/migrations/016_chat_messages.d.ts +3 -0
  112. package/daemon/dist/db/migrations/016_chat_messages.d.ts.map +1 -0
  113. package/daemon/dist/db/migrations/016_chat_messages.js +17 -0
  114. package/daemon/dist/db/migrations/016_chat_messages.js.map +1 -0
  115. package/daemon/dist/db/migrations/017_pod_namespace.d.ts +3 -0
  116. package/daemon/dist/db/migrations/017_pod_namespace.d.ts.map +1 -0
  117. package/daemon/dist/db/migrations/017_pod_namespace.js +9 -0
  118. package/daemon/dist/db/migrations/017_pod_namespace.js.map +1 -0
  119. package/daemon/dist/db/migrations/018_context_usage.d.ts +3 -0
  120. package/daemon/dist/db/migrations/018_context_usage.d.ts.map +1 -0
  121. package/daemon/dist/db/migrations/018_context_usage.js +23 -0
  122. package/daemon/dist/db/migrations/018_context_usage.js.map +1 -0
  123. package/daemon/dist/db/migrations/019_external_cli_attachment.d.ts +3 -0
  124. package/daemon/dist/db/migrations/019_external_cli_attachment.d.ts.map +1 -0
  125. package/daemon/dist/db/migrations/019_external_cli_attachment.js +8 -0
  126. package/daemon/dist/db/migrations/019_external_cli_attachment.js.map +1 -0
  127. package/daemon/dist/domain/agent-manifest.d.ts +21 -0
  128. package/daemon/dist/domain/agent-manifest.d.ts.map +1 -0
  129. package/daemon/dist/domain/agent-manifest.js +322 -0
  130. package/daemon/dist/domain/agent-manifest.js.map +1 -0
  131. package/daemon/dist/domain/agent-preflight.d.ts +12 -0
  132. package/daemon/dist/domain/agent-preflight.d.ts.map +1 -0
  133. package/daemon/dist/domain/agent-preflight.js +37 -0
  134. package/daemon/dist/domain/agent-preflight.js.map +1 -0
  135. package/daemon/dist/domain/agent-resolver.d.ts +66 -0
  136. package/daemon/dist/domain/agent-resolver.d.ts.map +1 -0
  137. package/daemon/dist/domain/agent-resolver.js +193 -0
  138. package/daemon/dist/domain/agent-resolver.js.map +1 -0
  139. package/daemon/dist/domain/ask-service.d.ts +57 -0
  140. package/daemon/dist/domain/ask-service.d.ts.map +1 -0
  141. package/daemon/dist/domain/ask-service.js +129 -0
  142. package/daemon/dist/domain/ask-service.js.map +1 -0
  143. package/daemon/dist/domain/bootstrap-orchestrator.d.ts +76 -0
  144. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -0
  145. package/daemon/dist/domain/bootstrap-orchestrator.js +510 -0
  146. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -0
  147. package/daemon/dist/domain/bootstrap-repository.d.ts +23 -0
  148. package/daemon/dist/domain/bootstrap-repository.d.ts.map +1 -0
  149. package/daemon/dist/domain/bootstrap-repository.js +78 -0
  150. package/daemon/dist/domain/bootstrap-repository.js.map +1 -0
  151. package/daemon/dist/domain/bootstrap-types.d.ts +43 -0
  152. package/daemon/dist/domain/bootstrap-types.d.ts.map +1 -0
  153. package/daemon/dist/domain/bootstrap-types.js +2 -0
  154. package/daemon/dist/domain/bootstrap-types.js.map +1 -0
  155. package/daemon/dist/domain/bundle-archive.d.ts +23 -0
  156. package/daemon/dist/domain/bundle-archive.d.ts.map +1 -0
  157. package/daemon/dist/domain/bundle-archive.js +156 -0
  158. package/daemon/dist/domain/bundle-archive.js.map +1 -0
  159. package/daemon/dist/domain/bundle-assembler.d.ts +34 -0
  160. package/daemon/dist/domain/bundle-assembler.d.ts.map +1 -0
  161. package/daemon/dist/domain/bundle-assembler.js +86 -0
  162. package/daemon/dist/domain/bundle-assembler.js.map +1 -0
  163. package/daemon/dist/domain/bundle-integrity.d.ts +30 -0
  164. package/daemon/dist/domain/bundle-integrity.d.ts.map +1 -0
  165. package/daemon/dist/domain/bundle-integrity.js +120 -0
  166. package/daemon/dist/domain/bundle-integrity.js.map +1 -0
  167. package/daemon/dist/domain/bundle-source-resolver.d.ts +44 -0
  168. package/daemon/dist/domain/bundle-source-resolver.d.ts.map +1 -0
  169. package/daemon/dist/domain/bundle-source-resolver.js +158 -0
  170. package/daemon/dist/domain/bundle-source-resolver.js.map +1 -0
  171. package/daemon/dist/domain/bundle-types.d.ts +78 -0
  172. package/daemon/dist/domain/bundle-types.d.ts.map +1 -0
  173. package/daemon/dist/domain/bundle-types.js +218 -0
  174. package/daemon/dist/domain/bundle-types.js.map +1 -0
  175. package/daemon/dist/domain/chat-repository.d.ts +31 -0
  176. package/daemon/dist/domain/chat-repository.d.ts.map +1 -0
  177. package/daemon/dist/domain/chat-repository.js +105 -0
  178. package/daemon/dist/domain/chat-repository.js.map +1 -0
  179. package/daemon/dist/domain/checkpoint-store.d.ts +24 -0
  180. package/daemon/dist/domain/checkpoint-store.d.ts.map +1 -0
  181. package/daemon/dist/domain/checkpoint-store.js +55 -0
  182. package/daemon/dist/domain/checkpoint-store.js.map +1 -0
  183. package/daemon/dist/domain/claim-service.d.ts +68 -0
  184. package/daemon/dist/domain/claim-service.d.ts.map +1 -0
  185. package/daemon/dist/domain/claim-service.js +250 -0
  186. package/daemon/dist/domain/claim-service.js.map +1 -0
  187. package/daemon/dist/domain/codex-thread-id.d.ts +4 -0
  188. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -0
  189. package/daemon/dist/domain/codex-thread-id.js +65 -0
  190. package/daemon/dist/domain/codex-thread-id.js.map +1 -0
  191. package/daemon/dist/domain/conflict-detector.d.ts +33 -0
  192. package/daemon/dist/domain/conflict-detector.d.ts.map +1 -0
  193. package/daemon/dist/domain/conflict-detector.js +138 -0
  194. package/daemon/dist/domain/conflict-detector.js.map +1 -0
  195. package/daemon/dist/domain/context-monitor.d.ts +30 -0
  196. package/daemon/dist/domain/context-monitor.d.ts.map +1 -0
  197. package/daemon/dist/domain/context-monitor.js +71 -0
  198. package/daemon/dist/domain/context-monitor.js.map +1 -0
  199. package/daemon/dist/domain/context-usage-store.d.ts +58 -0
  200. package/daemon/dist/domain/context-usage-store.d.ts.map +1 -0
  201. package/daemon/dist/domain/context-usage-store.js +195 -0
  202. package/daemon/dist/domain/context-usage-store.js.map +1 -0
  203. package/daemon/dist/domain/demo-rig-selector.d.ts +11 -0
  204. package/daemon/dist/domain/demo-rig-selector.d.ts.map +1 -0
  205. package/daemon/dist/domain/demo-rig-selector.js +21 -0
  206. package/daemon/dist/domain/demo-rig-selector.js.map +1 -0
  207. package/daemon/dist/domain/discovery-coordinator.d.ts +28 -0
  208. package/daemon/dist/domain/discovery-coordinator.d.ts.map +1 -0
  209. package/daemon/dist/domain/discovery-coordinator.js +107 -0
  210. package/daemon/dist/domain/discovery-coordinator.js.map +1 -0
  211. package/daemon/dist/domain/discovery-repository.d.ts +31 -0
  212. package/daemon/dist/domain/discovery-repository.d.ts.map +1 -0
  213. package/daemon/dist/domain/discovery-repository.js +75 -0
  214. package/daemon/dist/domain/discovery-repository.js.map +1 -0
  215. package/daemon/dist/domain/discovery-types.d.ts +27 -0
  216. package/daemon/dist/domain/discovery-types.d.ts.map +1 -0
  217. package/daemon/dist/domain/discovery-types.js +2 -0
  218. package/daemon/dist/domain/discovery-types.js.map +1 -0
  219. package/daemon/dist/domain/draft-rig-generator.d.ts +7 -0
  220. package/daemon/dist/domain/draft-rig-generator.d.ts.map +1 -0
  221. package/daemon/dist/domain/draft-rig-generator.js +87 -0
  222. package/daemon/dist/domain/draft-rig-generator.js.map +1 -0
  223. package/daemon/dist/domain/errors.d.ts +4 -0
  224. package/daemon/dist/domain/errors.d.ts.map +1 -0
  225. package/daemon/dist/domain/errors.js +7 -0
  226. package/daemon/dist/domain/errors.js.map +1 -0
  227. package/daemon/dist/domain/event-bus.d.ts +32 -0
  228. package/daemon/dist/domain/event-bus.d.ts.map +1 -0
  229. package/daemon/dist/domain/event-bus.js +82 -0
  230. package/daemon/dist/domain/event-bus.js.map +1 -0
  231. package/daemon/dist/domain/external-install-executor.d.ts +47 -0
  232. package/daemon/dist/domain/external-install-executor.d.ts.map +1 -0
  233. package/daemon/dist/domain/external-install-executor.js +87 -0
  234. package/daemon/dist/domain/external-install-executor.js.map +1 -0
  235. package/daemon/dist/domain/external-install-planner.d.ts +41 -0
  236. package/daemon/dist/domain/external-install-planner.d.ts.map +1 -0
  237. package/daemon/dist/domain/external-install-planner.js +83 -0
  238. package/daemon/dist/domain/external-install-planner.js.map +1 -0
  239. package/daemon/dist/domain/graph-projection.d.ts +60 -0
  240. package/daemon/dist/domain/graph-projection.d.ts.map +1 -0
  241. package/daemon/dist/domain/graph-projection.js +95 -0
  242. package/daemon/dist/domain/graph-projection.js.map +1 -0
  243. package/daemon/dist/domain/history-query.d.ts +34 -0
  244. package/daemon/dist/domain/history-query.d.ts.map +1 -0
  245. package/daemon/dist/domain/history-query.js +119 -0
  246. package/daemon/dist/domain/history-query.js.map +1 -0
  247. package/daemon/dist/domain/install-engine.d.ts +33 -0
  248. package/daemon/dist/domain/install-engine.d.ts.map +1 -0
  249. package/daemon/dist/domain/install-engine.js +154 -0
  250. package/daemon/dist/domain/install-engine.js.map +1 -0
  251. package/daemon/dist/domain/install-planner.d.ts +38 -0
  252. package/daemon/dist/domain/install-planner.d.ts.map +1 -0
  253. package/daemon/dist/domain/install-planner.js +243 -0
  254. package/daemon/dist/domain/install-planner.js.map +1 -0
  255. package/daemon/dist/domain/install-policy.d.ts +20 -0
  256. package/daemon/dist/domain/install-policy.d.ts.map +1 -0
  257. package/daemon/dist/domain/install-policy.js +56 -0
  258. package/daemon/dist/domain/install-policy.js.map +1 -0
  259. package/daemon/dist/domain/install-repository.d.ts +55 -0
  260. package/daemon/dist/domain/install-repository.d.ts.map +1 -0
  261. package/daemon/dist/domain/install-repository.js +122 -0
  262. package/daemon/dist/domain/install-repository.js.map +1 -0
  263. package/daemon/dist/domain/install-verifier.d.ts +31 -0
  264. package/daemon/dist/domain/install-verifier.d.ts.map +1 -0
  265. package/daemon/dist/domain/install-verifier.js +141 -0
  266. package/daemon/dist/domain/install-verifier.js.map +1 -0
  267. package/daemon/dist/domain/native-resume-probe.d.ts +19 -0
  268. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -0
  269. package/daemon/dist/domain/native-resume-probe.js +113 -0
  270. package/daemon/dist/domain/native-resume-probe.js.map +1 -0
  271. package/daemon/dist/domain/node-inventory.d.ts +33 -0
  272. package/daemon/dist/domain/node-inventory.d.ts.map +1 -0
  273. package/daemon/dist/domain/node-inventory.js +314 -0
  274. package/daemon/dist/domain/node-inventory.js.map +1 -0
  275. package/daemon/dist/domain/node-launcher.d.ts +42 -0
  276. package/daemon/dist/domain/node-launcher.d.ts.map +1 -0
  277. package/daemon/dist/domain/node-launcher.js +122 -0
  278. package/daemon/dist/domain/node-launcher.js.map +1 -0
  279. package/daemon/dist/domain/package-install-service.d.ts +64 -0
  280. package/daemon/dist/domain/package-install-service.d.ts.map +1 -0
  281. package/daemon/dist/domain/package-install-service.js +80 -0
  282. package/daemon/dist/domain/package-install-service.js.map +1 -0
  283. package/daemon/dist/domain/package-manifest.d.ts +93 -0
  284. package/daemon/dist/domain/package-manifest.d.ts.map +1 -0
  285. package/daemon/dist/domain/package-manifest.js +407 -0
  286. package/daemon/dist/domain/package-manifest.js.map +1 -0
  287. package/daemon/dist/domain/package-repository.d.ts +33 -0
  288. package/daemon/dist/domain/package-repository.d.ts.map +1 -0
  289. package/daemon/dist/domain/package-repository.js +63 -0
  290. package/daemon/dist/domain/package-repository.js.map +1 -0
  291. package/daemon/dist/domain/package-resolve-helper.d.ts +19 -0
  292. package/daemon/dist/domain/package-resolve-helper.d.ts.map +1 -0
  293. package/daemon/dist/domain/package-resolve-helper.js +47 -0
  294. package/daemon/dist/domain/package-resolve-helper.js.map +1 -0
  295. package/daemon/dist/domain/package-resolver.d.ts +19 -0
  296. package/daemon/dist/domain/package-resolver.d.ts.map +1 -0
  297. package/daemon/dist/domain/package-resolver.js +35 -0
  298. package/daemon/dist/domain/package-resolver.js.map +1 -0
  299. package/daemon/dist/domain/path-safety.d.ts +8 -0
  300. package/daemon/dist/domain/path-safety.d.ts.map +1 -0
  301. package/daemon/dist/domain/path-safety.js +24 -0
  302. package/daemon/dist/domain/path-safety.js.map +1 -0
  303. package/daemon/dist/domain/pod-bundle-assembler.d.ts +43 -0
  304. package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -0
  305. package/daemon/dist/domain/pod-bundle-assembler.js +198 -0
  306. package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -0
  307. package/daemon/dist/domain/pod-repository.d.ts +47 -0
  308. package/daemon/dist/domain/pod-repository.d.ts.map +1 -0
  309. package/daemon/dist/domain/pod-repository.js +90 -0
  310. package/daemon/dist/domain/pod-repository.js.map +1 -0
  311. package/daemon/dist/domain/profile-resolver.d.ts +51 -0
  312. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -0
  313. package/daemon/dist/domain/profile-resolver.js +201 -0
  314. package/daemon/dist/domain/profile-resolver.js.map +1 -0
  315. package/daemon/dist/domain/projection-planner.d.ts +54 -0
  316. package/daemon/dist/domain/projection-planner.d.ts.map +1 -0
  317. package/daemon/dist/domain/projection-planner.js +128 -0
  318. package/daemon/dist/domain/projection-planner.js.map +1 -0
  319. package/daemon/dist/domain/ps-projection.d.ts +22 -0
  320. package/daemon/dist/domain/ps-projection.d.ts.map +1 -0
  321. package/daemon/dist/domain/ps-projection.js +65 -0
  322. package/daemon/dist/domain/ps-projection.js.map +1 -0
  323. package/daemon/dist/domain/reconciler.d.ts +28 -0
  324. package/daemon/dist/domain/reconciler.d.ts.map +1 -0
  325. package/daemon/dist/domain/reconciler.js +66 -0
  326. package/daemon/dist/domain/reconciler.js.map +1 -0
  327. package/daemon/dist/domain/requirements-probe.d.ts +63 -0
  328. package/daemon/dist/domain/requirements-probe.d.ts.map +1 -0
  329. package/daemon/dist/domain/requirements-probe.js +172 -0
  330. package/daemon/dist/domain/requirements-probe.js.map +1 -0
  331. package/daemon/dist/domain/restore-orchestrator.d.ts +59 -0
  332. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -0
  333. package/daemon/dist/domain/restore-orchestrator.js +477 -0
  334. package/daemon/dist/domain/restore-orchestrator.js.map +1 -0
  335. package/daemon/dist/domain/resume-metadata-refresher.d.ts +42 -0
  336. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -0
  337. package/daemon/dist/domain/resume-metadata-refresher.js +167 -0
  338. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -0
  339. package/daemon/dist/domain/rig-expansion-service.d.ts +27 -0
  340. package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -0
  341. package/daemon/dist/domain/rig-expansion-service.js +121 -0
  342. package/daemon/dist/domain/rig-expansion-service.js.map +1 -0
  343. package/daemon/dist/domain/rig-lifecycle-service.d.ts +100 -0
  344. package/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -0
  345. package/daemon/dist/domain/rig-lifecycle-service.js +421 -0
  346. package/daemon/dist/domain/rig-lifecycle-service.js.map +1 -0
  347. package/daemon/dist/domain/rig-repository.d.ts +44 -0
  348. package/daemon/dist/domain/rig-repository.d.ts.map +1 -0
  349. package/daemon/dist/domain/rig-repository.js +165 -0
  350. package/daemon/dist/domain/rig-repository.js.map +1 -0
  351. package/daemon/dist/domain/rig-teardown.d.ts +51 -0
  352. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -0
  353. package/daemon/dist/domain/rig-teardown.js +142 -0
  354. package/daemon/dist/domain/rig-teardown.js.map +1 -0
  355. package/daemon/dist/domain/rigspec-codec.d.ts +17 -0
  356. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -0
  357. package/daemon/dist/domain/rigspec-codec.js +141 -0
  358. package/daemon/dist/domain/rigspec-codec.js.map +1 -0
  359. package/daemon/dist/domain/rigspec-exporter.d.ts +21 -0
  360. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -0
  361. package/daemon/dist/domain/rigspec-exporter.js +186 -0
  362. package/daemon/dist/domain/rigspec-exporter.js.map +1 -0
  363. package/daemon/dist/domain/rigspec-instantiator.d.ts +133 -0
  364. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -0
  365. package/daemon/dist/domain/rigspec-instantiator.js +1104 -0
  366. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -0
  367. package/daemon/dist/domain/rigspec-preflight.d.ts +38 -0
  368. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -0
  369. package/daemon/dist/domain/rigspec-preflight.js +198 -0
  370. package/daemon/dist/domain/rigspec-preflight.js.map +1 -0
  371. package/daemon/dist/domain/rigspec-schema.d.ts +25 -0
  372. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -0
  373. package/daemon/dist/domain/rigspec-schema.js +516 -0
  374. package/daemon/dist/domain/rigspec-schema.js.map +1 -0
  375. package/daemon/dist/domain/role-resolver.d.ts +21 -0
  376. package/daemon/dist/domain/role-resolver.d.ts.map +1 -0
  377. package/daemon/dist/domain/role-resolver.js +83 -0
  378. package/daemon/dist/domain/role-resolver.js.map +1 -0
  379. package/daemon/dist/domain/runtime-adapter.d.ts +74 -0
  380. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -0
  381. package/daemon/dist/domain/runtime-adapter.js +14 -0
  382. package/daemon/dist/domain/runtime-adapter.js.map +1 -0
  383. package/daemon/dist/domain/runtime-verifier.d.ts +45 -0
  384. package/daemon/dist/domain/runtime-verifier.d.ts.map +1 -0
  385. package/daemon/dist/domain/runtime-verifier.js +148 -0
  386. package/daemon/dist/domain/runtime-verifier.js.map +1 -0
  387. package/daemon/dist/domain/self-attach-service.d.ts +90 -0
  388. package/daemon/dist/domain/self-attach-service.d.ts.map +1 -0
  389. package/daemon/dist/domain/self-attach-service.js +202 -0
  390. package/daemon/dist/domain/self-attach-service.js.map +1 -0
  391. package/daemon/dist/domain/session-enricher.d.ts +29 -0
  392. package/daemon/dist/domain/session-enricher.d.ts.map +1 -0
  393. package/daemon/dist/domain/session-enricher.js +54 -0
  394. package/daemon/dist/domain/session-enricher.js.map +1 -0
  395. package/daemon/dist/domain/session-fingerprinter.d.ts +53 -0
  396. package/daemon/dist/domain/session-fingerprinter.d.ts.map +1 -0
  397. package/daemon/dist/domain/session-fingerprinter.js +118 -0
  398. package/daemon/dist/domain/session-fingerprinter.js.map +1 -0
  399. package/daemon/dist/domain/session-name.d.ts +28 -0
  400. package/daemon/dist/domain/session-name.d.ts.map +1 -0
  401. package/daemon/dist/domain/session-name.js +85 -0
  402. package/daemon/dist/domain/session-name.js.map +1 -0
  403. package/daemon/dist/domain/session-registry.d.ts +32 -0
  404. package/daemon/dist/domain/session-registry.d.ts.map +1 -0
  405. package/daemon/dist/domain/session-registry.js +142 -0
  406. package/daemon/dist/domain/session-registry.js.map +1 -0
  407. package/daemon/dist/domain/session-transport.d.ts +79 -0
  408. package/daemon/dist/domain/session-transport.d.ts.map +1 -0
  409. package/daemon/dist/domain/session-transport.js +403 -0
  410. package/daemon/dist/domain/session-transport.js.map +1 -0
  411. package/daemon/dist/domain/snapshot-capture.d.ts +27 -0
  412. package/daemon/dist/domain/snapshot-capture.d.ts.map +1 -0
  413. package/daemon/dist/domain/snapshot-capture.js +89 -0
  414. package/daemon/dist/domain/snapshot-capture.js.map +1 -0
  415. package/daemon/dist/domain/snapshot-repository.d.ts +19 -0
  416. package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -0
  417. package/daemon/dist/domain/snapshot-repository.js +77 -0
  418. package/daemon/dist/domain/snapshot-repository.js.map +1 -0
  419. package/daemon/dist/domain/spec-library-service.d.ts +45 -0
  420. package/daemon/dist/domain/spec-library-service.d.ts.map +1 -0
  421. package/daemon/dist/domain/spec-library-service.js +197 -0
  422. package/daemon/dist/domain/spec-library-service.js.map +1 -0
  423. package/daemon/dist/domain/spec-review-service.d.ts +104 -0
  424. package/daemon/dist/domain/spec-review-service.d.ts.map +1 -0
  425. package/daemon/dist/domain/spec-review-service.js +220 -0
  426. package/daemon/dist/domain/spec-review-service.js.map +1 -0
  427. package/daemon/dist/domain/spec-validation-service.d.ts +21 -0
  428. package/daemon/dist/domain/spec-validation-service.d.ts.map +1 -0
  429. package/daemon/dist/domain/spec-validation-service.js +34 -0
  430. package/daemon/dist/domain/spec-validation-service.js.map +1 -0
  431. package/daemon/dist/domain/startup-orchestrator.d.ts +83 -0
  432. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -0
  433. package/daemon/dist/domain/startup-orchestrator.js +252 -0
  434. package/daemon/dist/domain/startup-orchestrator.js.map +1 -0
  435. package/daemon/dist/domain/startup-resolver.d.ts +28 -0
  436. package/daemon/dist/domain/startup-resolver.d.ts.map +1 -0
  437. package/daemon/dist/domain/startup-resolver.js +57 -0
  438. package/daemon/dist/domain/startup-resolver.js.map +1 -0
  439. package/daemon/dist/domain/startup-validation.d.ts +31 -0
  440. package/daemon/dist/domain/startup-validation.d.ts.map +1 -0
  441. package/daemon/dist/domain/startup-validation.js +155 -0
  442. package/daemon/dist/domain/startup-validation.js.map +1 -0
  443. package/daemon/dist/domain/tmux-discovery-scanner.d.ts +29 -0
  444. package/daemon/dist/domain/tmux-discovery-scanner.d.ts.map +1 -0
  445. package/daemon/dist/domain/tmux-discovery-scanner.js +50 -0
  446. package/daemon/dist/domain/tmux-discovery-scanner.js.map +1 -0
  447. package/daemon/dist/domain/transcript-capture.d.ts +7 -0
  448. package/daemon/dist/domain/transcript-capture.d.ts.map +1 -0
  449. package/daemon/dist/domain/transcript-capture.js +15 -0
  450. package/daemon/dist/domain/transcript-capture.js.map +1 -0
  451. package/daemon/dist/domain/transcript-store.d.ts +19 -0
  452. package/daemon/dist/domain/transcript-store.d.ts.map +1 -0
  453. package/daemon/dist/domain/transcript-store.js +280 -0
  454. package/daemon/dist/domain/transcript-store.js.map +1 -0
  455. package/daemon/dist/domain/types.d.ts +720 -0
  456. package/daemon/dist/domain/types.d.ts.map +1 -0
  457. package/daemon/dist/domain/types.js +2 -0
  458. package/daemon/dist/domain/types.js.map +1 -0
  459. package/daemon/dist/domain/up-command-router.d.ts +25 -0
  460. package/daemon/dist/domain/up-command-router.d.ts.map +1 -0
  461. package/daemon/dist/domain/up-command-router.js +116 -0
  462. package/daemon/dist/domain/up-command-router.js.map +1 -0
  463. package/daemon/dist/domain/whoami-service.d.ts +86 -0
  464. package/daemon/dist/domain/whoami-service.d.ts.map +1 -0
  465. package/daemon/dist/domain/whoami-service.js +195 -0
  466. package/daemon/dist/domain/whoami-service.js.map +1 -0
  467. package/daemon/dist/index.d.ts +2 -0
  468. package/daemon/dist/index.d.ts.map +1 -0
  469. package/daemon/dist/index.js +21 -0
  470. package/daemon/dist/index.js.map +1 -0
  471. package/daemon/dist/openrig-compat.d.ts +9 -0
  472. package/daemon/dist/openrig-compat.d.ts.map +1 -0
  473. package/daemon/dist/openrig-compat.js +57 -0
  474. package/daemon/dist/openrig-compat.js.map +1 -0
  475. package/daemon/dist/routes/adapters.d.ts +3 -0
  476. package/daemon/dist/routes/adapters.d.ts.map +1 -0
  477. package/daemon/dist/routes/adapters.js +20 -0
  478. package/daemon/dist/routes/adapters.js.map +1 -0
  479. package/daemon/dist/routes/agents.d.ts +3 -0
  480. package/daemon/dist/routes/agents.d.ts.map +1 -0
  481. package/daemon/dist/routes/agents.js +13 -0
  482. package/daemon/dist/routes/agents.js.map +1 -0
  483. package/daemon/dist/routes/ask.d.ts +3 -0
  484. package/daemon/dist/routes/ask.d.ts.map +1 -0
  485. package/daemon/dist/routes/ask.js +15 -0
  486. package/daemon/dist/routes/ask.js.map +1 -0
  487. package/daemon/dist/routes/bootstrap.d.ts +3 -0
  488. package/daemon/dist/routes/bootstrap.d.ts.map +1 -0
  489. package/daemon/dist/routes/bootstrap.js +137 -0
  490. package/daemon/dist/routes/bootstrap.js.map +1 -0
  491. package/daemon/dist/routes/bundles.d.ts +3 -0
  492. package/daemon/dist/routes/bundles.d.ts.map +1 -0
  493. package/daemon/dist/routes/bundles.js +334 -0
  494. package/daemon/dist/routes/bundles.js.map +1 -0
  495. package/daemon/dist/routes/chat.d.ts +3 -0
  496. package/daemon/dist/routes/chat.d.ts.map +1 -0
  497. package/daemon/dist/routes/chat.js +138 -0
  498. package/daemon/dist/routes/chat.js.map +1 -0
  499. package/daemon/dist/routes/discovery.d.ts +3 -0
  500. package/daemon/dist/routes/discovery.d.ts.map +1 -0
  501. package/daemon/dist/routes/discovery.js +200 -0
  502. package/daemon/dist/routes/discovery.js.map +1 -0
  503. package/daemon/dist/routes/down.d.ts +3 -0
  504. package/daemon/dist/routes/down.d.ts.map +1 -0
  505. package/daemon/dist/routes/down.js +55 -0
  506. package/daemon/dist/routes/down.js.map +1 -0
  507. package/daemon/dist/routes/events.d.ts +3 -0
  508. package/daemon/dist/routes/events.d.ts.map +1 -0
  509. package/daemon/dist/routes/events.js +71 -0
  510. package/daemon/dist/routes/events.js.map +1 -0
  511. package/daemon/dist/routes/packages.d.ts +3 -0
  512. package/daemon/dist/routes/packages.d.ts.map +1 -0
  513. package/daemon/dist/routes/packages.js +341 -0
  514. package/daemon/dist/routes/packages.js.map +1 -0
  515. package/daemon/dist/routes/ps.d.ts +3 -0
  516. package/daemon/dist/routes/ps.d.ts.map +1 -0
  517. package/daemon/dist/routes/ps.js +7 -0
  518. package/daemon/dist/routes/ps.js.map +1 -0
  519. package/daemon/dist/routes/rigs.d.ts +3 -0
  520. package/daemon/dist/routes/rigs.d.ts.map +1 -0
  521. package/daemon/dist/routes/rigs.js +329 -0
  522. package/daemon/dist/routes/rigs.js.map +1 -0
  523. package/daemon/dist/routes/rigspec.d.ts +6 -0
  524. package/daemon/dist/routes/rigspec.d.ts.map +1 -0
  525. package/daemon/dist/routes/rigspec.js +182 -0
  526. package/daemon/dist/routes/rigspec.js.map +1 -0
  527. package/daemon/dist/routes/sessions.d.ts +5 -0
  528. package/daemon/dist/routes/sessions.d.ts.map +1 -0
  529. package/daemon/dist/routes/sessions.js +125 -0
  530. package/daemon/dist/routes/sessions.js.map +1 -0
  531. package/daemon/dist/routes/snapshots.d.ts +4 -0
  532. package/daemon/dist/routes/snapshots.d.ts.map +1 -0
  533. package/daemon/dist/routes/snapshots.js +77 -0
  534. package/daemon/dist/routes/snapshots.js.map +1 -0
  535. package/daemon/dist/routes/spec-library.d.ts +3 -0
  536. package/daemon/dist/routes/spec-library.d.ts.map +1 -0
  537. package/daemon/dist/routes/spec-library.js +95 -0
  538. package/daemon/dist/routes/spec-library.js.map +1 -0
  539. package/daemon/dist/routes/spec-review.d.ts +3 -0
  540. package/daemon/dist/routes/spec-review.d.ts.map +1 -0
  541. package/daemon/dist/routes/spec-review.js +41 -0
  542. package/daemon/dist/routes/spec-review.js.map +1 -0
  543. package/daemon/dist/routes/transcripts.d.ts +3 -0
  544. package/daemon/dist/routes/transcripts.d.ts.map +1 -0
  545. package/daemon/dist/routes/transcripts.js +130 -0
  546. package/daemon/dist/routes/transcripts.js.map +1 -0
  547. package/daemon/dist/routes/transport.d.ts +3 -0
  548. package/daemon/dist/routes/transport.d.ts.map +1 -0
  549. package/daemon/dist/routes/transport.js +89 -0
  550. package/daemon/dist/routes/transport.js.map +1 -0
  551. package/daemon/dist/routes/up.d.ts +3 -0
  552. package/daemon/dist/routes/up.d.ts.map +1 -0
  553. package/daemon/dist/routes/up.js +175 -0
  554. package/daemon/dist/routes/up.js.map +1 -0
  555. package/daemon/dist/routes/whoami.d.ts +3 -0
  556. package/daemon/dist/routes/whoami.d.ts.map +1 -0
  557. package/daemon/dist/routes/whoami.js +33 -0
  558. package/daemon/dist/routes/whoami.js.map +1 -0
  559. package/daemon/dist/seed.d.ts +2 -0
  560. package/daemon/dist/seed.d.ts.map +1 -0
  561. package/daemon/dist/seed.js +41 -0
  562. package/daemon/dist/seed.js.map +1 -0
  563. package/daemon/dist/server.d.ts +78 -0
  564. package/daemon/dist/server.d.ts.map +1 -0
  565. package/daemon/dist/server.js +206 -0
  566. package/daemon/dist/server.js.map +1 -0
  567. package/daemon/dist/startup.d.ts +21 -0
  568. package/daemon/dist/startup.d.ts.map +1 -0
  569. package/daemon/dist/startup.js +348 -0
  570. package/daemon/dist/startup.js.map +1 -0
  571. package/daemon/specs/adversarial-review.yaml +40 -0
  572. package/daemon/specs/agents/analyst/agent.yaml +21 -0
  573. package/daemon/specs/agents/analyst/guidance/role.md +27 -0
  574. package/daemon/specs/agents/design/agent.yaml +21 -0
  575. package/daemon/specs/agents/design/guidance/role.md +26 -0
  576. package/daemon/specs/agents/impl/agent.yaml +21 -0
  577. package/daemon/specs/agents/impl/guidance/role.md +27 -0
  578. package/daemon/specs/agents/lead/agent.yaml +21 -0
  579. package/daemon/specs/agents/lead/guidance/role.md +33 -0
  580. package/daemon/specs/agents/qa/agent.yaml +21 -0
  581. package/daemon/specs/agents/qa/guidance/role.md +26 -0
  582. package/daemon/specs/agents/reviewer/agent.yaml +21 -0
  583. package/daemon/specs/agents/reviewer/guidance/role.md +26 -0
  584. package/daemon/specs/agents/synthesizer/agent.yaml +21 -0
  585. package/daemon/specs/agents/synthesizer/guidance/role.md +26 -0
  586. package/daemon/specs/implementation-pair.yaml +27 -0
  587. package/daemon/specs/product-team.yaml +90 -0
  588. package/daemon/specs/research-team.yaml +40 -0
  589. package/dist/bin-wrapper.d.ts +5 -0
  590. package/dist/bin-wrapper.d.ts.map +1 -0
  591. package/dist/bin-wrapper.js +32 -0
  592. package/dist/bin-wrapper.js.map +1 -0
  593. package/dist/client.d.ts +21 -0
  594. package/dist/client.d.ts.map +1 -0
  595. package/dist/client.js +76 -0
  596. package/dist/client.js.map +1 -0
  597. package/dist/commands/adopt.d.ts +6 -0
  598. package/dist/commands/adopt.d.ts.map +1 -0
  599. package/dist/commands/adopt.js +212 -0
  600. package/dist/commands/adopt.js.map +1 -0
  601. package/dist/commands/agent.d.ts +7 -0
  602. package/dist/commands/agent.d.ts.map +1 -0
  603. package/dist/commands/agent.js +79 -0
  604. package/dist/commands/agent.js.map +1 -0
  605. package/dist/commands/ask.d.ts +4 -0
  606. package/dist/commands/ask.d.ts.map +1 -0
  607. package/dist/commands/ask.js +92 -0
  608. package/dist/commands/ask.js.map +1 -0
  609. package/dist/commands/attach.d.ts +14 -0
  610. package/dist/commands/attach.d.ts.map +1 -0
  611. package/dist/commands/attach.js +146 -0
  612. package/dist/commands/attach.js.map +1 -0
  613. package/dist/commands/bind.d.ts +4 -0
  614. package/dist/commands/bind.d.ts.map +1 -0
  615. package/dist/commands/bind.js +70 -0
  616. package/dist/commands/bind.js.map +1 -0
  617. package/dist/commands/bootstrap.d.ts +4 -0
  618. package/dist/commands/bootstrap.d.ts.map +1 -0
  619. package/dist/commands/bootstrap.js +141 -0
  620. package/dist/commands/bootstrap.js.map +1 -0
  621. package/dist/commands/broadcast.d.ts +4 -0
  622. package/dist/commands/broadcast.d.ts.map +1 -0
  623. package/dist/commands/broadcast.js +71 -0
  624. package/dist/commands/broadcast.js.map +1 -0
  625. package/dist/commands/bundle.d.ts +4 -0
  626. package/dist/commands/bundle.d.ts.map +1 -0
  627. package/dist/commands/bundle.js +129 -0
  628. package/dist/commands/bundle.js.map +1 -0
  629. package/dist/commands/capture.d.ts +4 -0
  630. package/dist/commands/capture.d.ts.map +1 -0
  631. package/dist/commands/capture.js +80 -0
  632. package/dist/commands/capture.js.map +1 -0
  633. package/dist/commands/chatroom.d.ts +4 -0
  634. package/dist/commands/chatroom.d.ts.map +1 -0
  635. package/dist/commands/chatroom.js +314 -0
  636. package/dist/commands/chatroom.js.map +1 -0
  637. package/dist/commands/claim.d.ts +4 -0
  638. package/dist/commands/claim.d.ts.map +1 -0
  639. package/dist/commands/claim.js +40 -0
  640. package/dist/commands/claim.js.map +1 -0
  641. package/dist/commands/config.d.ts +3 -0
  642. package/dist/commands/config.d.ts.map +1 -0
  643. package/dist/commands/config.js +74 -0
  644. package/dist/commands/config.js.map +1 -0
  645. package/dist/commands/daemon.d.ts +11 -0
  646. package/dist/commands/daemon.d.ts.map +1 -0
  647. package/dist/commands/daemon.js +167 -0
  648. package/dist/commands/daemon.js.map +1 -0
  649. package/dist/commands/discover.d.ts +4 -0
  650. package/dist/commands/discover.d.ts.map +1 -0
  651. package/dist/commands/discover.js +60 -0
  652. package/dist/commands/discover.js.map +1 -0
  653. package/dist/commands/doctor.d.ts +25 -0
  654. package/dist/commands/doctor.d.ts.map +1 -0
  655. package/dist/commands/doctor.js +155 -0
  656. package/dist/commands/doctor.js.map +1 -0
  657. package/dist/commands/down.d.ts +9 -0
  658. package/dist/commands/down.d.ts.map +1 -0
  659. package/dist/commands/down.js +96 -0
  660. package/dist/commands/down.js.map +1 -0
  661. package/dist/commands/expand.d.ts +4 -0
  662. package/dist/commands/expand.d.ts.map +1 -0
  663. package/dist/commands/expand.js +98 -0
  664. package/dist/commands/expand.js.map +1 -0
  665. package/dist/commands/export.d.ts +7 -0
  666. package/dist/commands/export.d.ts.map +1 -0
  667. package/dist/commands/export.js +46 -0
  668. package/dist/commands/export.js.map +1 -0
  669. package/dist/commands/import.d.ts +7 -0
  670. package/dist/commands/import.d.ts.map +1 -0
  671. package/dist/commands/import.js +157 -0
  672. package/dist/commands/import.js.map +1 -0
  673. package/dist/commands/launch.d.ts +4 -0
  674. package/dist/commands/launch.d.ts.map +1 -0
  675. package/dist/commands/launch.js +45 -0
  676. package/dist/commands/launch.js.map +1 -0
  677. package/dist/commands/mcp.d.ts +9 -0
  678. package/dist/commands/mcp.d.ts.map +1 -0
  679. package/dist/commands/mcp.js +52 -0
  680. package/dist/commands/mcp.js.map +1 -0
  681. package/dist/commands/package.d.ts +4 -0
  682. package/dist/commands/package.d.ts.map +1 -0
  683. package/dist/commands/package.js +234 -0
  684. package/dist/commands/package.js.map +1 -0
  685. package/dist/commands/preflight.d.ts +11 -0
  686. package/dist/commands/preflight.d.ts.map +1 -0
  687. package/dist/commands/preflight.js +53 -0
  688. package/dist/commands/preflight.js.map +1 -0
  689. package/dist/commands/ps.d.ts +9 -0
  690. package/dist/commands/ps.d.ts.map +1 -0
  691. package/dist/commands/ps.js +129 -0
  692. package/dist/commands/ps.js.map +1 -0
  693. package/dist/commands/release.d.ts +4 -0
  694. package/dist/commands/release.d.ts.map +1 -0
  695. package/dist/commands/release.js +69 -0
  696. package/dist/commands/release.js.map +1 -0
  697. package/dist/commands/remove.d.ts +4 -0
  698. package/dist/commands/remove.d.ts.map +1 -0
  699. package/dist/commands/remove.js +43 -0
  700. package/dist/commands/remove.js.map +1 -0
  701. package/dist/commands/requirements.d.ts +4 -0
  702. package/dist/commands/requirements.d.ts.map +1 -0
  703. package/dist/commands/requirements.js +66 -0
  704. package/dist/commands/requirements.js.map +1 -0
  705. package/dist/commands/restore.d.ts +4 -0
  706. package/dist/commands/restore.d.ts.map +1 -0
  707. package/dist/commands/restore.js +57 -0
  708. package/dist/commands/restore.js.map +1 -0
  709. package/dist/commands/rig.d.ts +7 -0
  710. package/dist/commands/rig.d.ts.map +1 -0
  711. package/dist/commands/rig.js +139 -0
  712. package/dist/commands/rig.js.map +1 -0
  713. package/dist/commands/send.d.ts +4 -0
  714. package/dist/commands/send.d.ts.map +1 -0
  715. package/dist/commands/send.js +59 -0
  716. package/dist/commands/send.js.map +1 -0
  717. package/dist/commands/shrink.d.ts +4 -0
  718. package/dist/commands/shrink.d.ts.map +1 -0
  719. package/dist/commands/shrink.js +53 -0
  720. package/dist/commands/shrink.js.map +1 -0
  721. package/dist/commands/snapshot.d.ts +4 -0
  722. package/dist/commands/snapshot.d.ts.map +1 -0
  723. package/dist/commands/snapshot.js +74 -0
  724. package/dist/commands/snapshot.js.map +1 -0
  725. package/dist/commands/specs.d.ts +22 -0
  726. package/dist/commands/specs.d.ts.map +1 -0
  727. package/dist/commands/specs.js +260 -0
  728. package/dist/commands/specs.js.map +1 -0
  729. package/dist/commands/status.d.ts +9 -0
  730. package/dist/commands/status.d.ts.map +1 -0
  731. package/dist/commands/status.js +68 -0
  732. package/dist/commands/status.js.map +1 -0
  733. package/dist/commands/transcript.d.ts +4 -0
  734. package/dist/commands/transcript.d.ts.map +1 -0
  735. package/dist/commands/transcript.js +77 -0
  736. package/dist/commands/transcript.js.map +1 -0
  737. package/dist/commands/ui.d.ts +8 -0
  738. package/dist/commands/ui.d.ts.map +1 -0
  739. package/dist/commands/ui.js +57 -0
  740. package/dist/commands/ui.js.map +1 -0
  741. package/dist/commands/unclaim.d.ts +4 -0
  742. package/dist/commands/unclaim.d.ts.map +1 -0
  743. package/dist/commands/unclaim.js +46 -0
  744. package/dist/commands/unclaim.js.map +1 -0
  745. package/dist/commands/up.d.ts +7 -0
  746. package/dist/commands/up.d.ts.map +1 -0
  747. package/dist/commands/up.js +195 -0
  748. package/dist/commands/up.js.map +1 -0
  749. package/dist/commands/whoami.d.ts +24 -0
  750. package/dist/commands/whoami.d.ts.map +1 -0
  751. package/dist/commands/whoami.js +196 -0
  752. package/dist/commands/whoami.js.map +1 -0
  753. package/dist/config-store.d.ts +23 -0
  754. package/dist/config-store.d.ts.map +1 -0
  755. package/dist/config-store.js +141 -0
  756. package/dist/config-store.js.map +1 -0
  757. package/dist/daemon-lifecycle.d.ts +60 -0
  758. package/dist/daemon-lifecycle.d.ts.map +1 -0
  759. package/dist/daemon-lifecycle.js +225 -0
  760. package/dist/daemon-lifecycle.js.map +1 -0
  761. package/dist/index.d.ts +51 -0
  762. package/dist/index.d.ts.map +1 -0
  763. package/dist/index.js +103 -0
  764. package/dist/index.js.map +1 -0
  765. package/dist/mcp-server.d.ts +9 -0
  766. package/dist/mcp-server.d.ts.map +1 -0
  767. package/dist/mcp-server.js +308 -0
  768. package/dist/mcp-server.js.map +1 -0
  769. package/dist/openrig-compat.d.ts +9 -0
  770. package/dist/openrig-compat.d.ts.map +1 -0
  771. package/dist/openrig-compat.js +57 -0
  772. package/dist/openrig-compat.js.map +1 -0
  773. package/dist/system-preflight.d.ts +36 -0
  774. package/dist/system-preflight.d.ts.map +1 -0
  775. package/dist/system-preflight.js +136 -0
  776. package/dist/system-preflight.js.map +1 -0
  777. package/package.json +46 -3
  778. package/ui/dist/assets/index-B09doO8H.js +139 -0
  779. package/ui/dist/assets/index-CrjgHtlk.js +224 -0
  780. package/ui/dist/assets/index-DGPFTQEV.css +1 -0
  781. package/ui/dist/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
  782. package/ui/dist/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
  783. package/ui/dist/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
  784. package/ui/dist/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
  785. package/ui/dist/assets/inter-cyrillic-600-normal-4D_pXhcN.woff +0 -0
  786. package/ui/dist/assets/inter-cyrillic-600-normal-CWCymEST.woff2 +0 -0
  787. package/ui/dist/assets/inter-cyrillic-700-normal-CjBOestx.woff2 +0 -0
  788. package/ui/dist/assets/inter-cyrillic-700-normal-DrXBdSj3.woff +0 -0
  789. package/ui/dist/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
  790. package/ui/dist/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
  791. package/ui/dist/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
  792. package/ui/dist/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
  793. package/ui/dist/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff +0 -0
  794. package/ui/dist/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 +0 -0
  795. package/ui/dist/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2 +0 -0
  796. package/ui/dist/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff +0 -0
  797. package/ui/dist/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
  798. package/ui/dist/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
  799. package/ui/dist/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
  800. package/ui/dist/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
  801. package/ui/dist/assets/inter-greek-600-normal-BZpKdvQh.woff +0 -0
  802. package/ui/dist/assets/inter-greek-600-normal-plRanbMR.woff2 +0 -0
  803. package/ui/dist/assets/inter-greek-700-normal-BUv2fZ6O.woff +0 -0
  804. package/ui/dist/assets/inter-greek-700-normal-C3JjAnD8.woff2 +0 -0
  805. package/ui/dist/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
  806. package/ui/dist/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
  807. package/ui/dist/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
  808. package/ui/dist/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
  809. package/ui/dist/assets/inter-greek-ext-600-normal-B8X0CLgF.woff +0 -0
  810. package/ui/dist/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 +0 -0
  811. package/ui/dist/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff +0 -0
  812. package/ui/dist/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2 +0 -0
  813. package/ui/dist/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  814. package/ui/dist/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
  815. package/ui/dist/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
  816. package/ui/dist/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
  817. package/ui/dist/assets/inter-latin-600-normal-CiBQ2DWP.woff +0 -0
  818. package/ui/dist/assets/inter-latin-600-normal-LgqL8muc.woff2 +0 -0
  819. package/ui/dist/assets/inter-latin-700-normal-BLAVimhd.woff +0 -0
  820. package/ui/dist/assets/inter-latin-700-normal-Yt3aPRUw.woff2 +0 -0
  821. package/ui/dist/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
  822. package/ui/dist/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
  823. package/ui/dist/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
  824. package/ui/dist/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
  825. package/ui/dist/assets/inter-latin-ext-600-normal-CIVaiw4L.woff +0 -0
  826. package/ui/dist/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2 +0 -0
  827. package/ui/dist/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2 +0 -0
  828. package/ui/dist/assets/inter-latin-ext-700-normal-TidjK2hL.woff +0 -0
  829. package/ui/dist/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
  830. package/ui/dist/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  831. package/ui/dist/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  832. package/ui/dist/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
  833. package/ui/dist/assets/inter-vietnamese-600-normal-BuLX-rYi.woff +0 -0
  834. package/ui/dist/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
  835. package/ui/dist/assets/inter-vietnamese-700-normal-BZaoP0fm.woff +0 -0
  836. package/ui/dist/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2 +0 -0
  837. package/ui/dist/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
  838. package/ui/dist/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
  839. package/ui/dist/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
  840. package/ui/dist/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
  841. package/ui/dist/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
  842. package/ui/dist/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2 +0 -0
  843. package/ui/dist/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2 +0 -0
  844. package/ui/dist/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2 +0 -0
  845. package/ui/dist/index.html +14 -0
  846. package/index.js +0 -2
@@ -0,0 +1,20 @@
1
+ import { Hono } from "hono";
2
+ export const adaptersRoutes = new Hono();
3
+ function getDeps(c) {
4
+ return {
5
+ tmuxAdapter: c.get("tmuxAdapter"),
6
+ cmuxAdapter: c.get("cmuxAdapter"),
7
+ };
8
+ }
9
+ // GET /api/adapters/tmux/sessions
10
+ adaptersRoutes.get("/tmux/sessions", async (c) => {
11
+ const { tmuxAdapter } = getDeps(c);
12
+ const sessions = await tmuxAdapter.listSessions();
13
+ return c.json(sessions);
14
+ });
15
+ // GET /api/adapters/cmux/status
16
+ adaptersRoutes.get("/cmux/status", (c) => {
17
+ const { cmuxAdapter } = getDeps(c);
18
+ return c.json(cmuxAdapter.getStatus());
19
+ });
20
+ //# sourceMappingURL=adapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/routes/adapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;AAEzC,SAAS,OAAO,CAAC,CAAoC;IACnD,OAAO;QACL,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,aAAsB,CAAgB;QACzD,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,aAAsB,CAAgB;KAC1D,CAAC;AACJ,CAAC;AAED,kCAAkC;AAClC,cAAc,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC/C,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC;IAClD,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEH,gCAAgC;AAChC,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE;IACvC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Hono } from "hono";
2
+ export declare const agentsRoutes: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
3
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/routes/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,eAAO,MAAM,YAAY,4EAAa,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Hono } from "hono";
2
+ import { validateAgentSpecFromYaml } from "../domain/spec-validation-service.js";
3
+ export const agentsRoutes = new Hono();
4
+ // POST /api/agents/validate
5
+ agentsRoutes.post("/validate", async (c) => {
6
+ const body = await c.req.text();
7
+ if (!body.trim()) {
8
+ return c.json({ valid: false, errors: ["Empty YAML body"] }, 400);
9
+ }
10
+ const result = validateAgentSpecFromYaml(body);
11
+ return c.json(result);
12
+ });
13
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/routes/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;AAEvC,4BAA4B;AAC5B,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Hono } from "hono";
2
+ export declare const askRoutes: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
3
+ //# sourceMappingURL=ask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/routes/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,eAAO,MAAM,SAAS,4EAAa,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { Hono } from "hono";
2
+ export const askRoutes = new Hono();
3
+ askRoutes.post("/", async (c) => {
4
+ const askService = c.get("askService");
5
+ const body = await c.req.json();
6
+ if (!body.rig || !body.question) {
7
+ return c.json({ error: "Missing required fields: rig, question" }, 400);
8
+ }
9
+ const result = await askService.ask(body.rig, body.question, {
10
+ nodeId: body.nodeId,
11
+ sessionName: body.sessionName,
12
+ });
13
+ return c.json(result);
14
+ });
15
+ //# sourceMappingURL=ask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/routes/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;AAEpC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9B,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,YAAqB,CAAe,CAAC;IAE9D,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAA8E,CAAC;IAE5G,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wCAAwC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;QAC3D,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC,CAAC;IACH,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Hono } from "hono";
2
+ export declare const bootstrapRoutes: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
3
+ //# sourceMappingURL=bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/routes/bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAK5B,eAAO,MAAM,eAAe,4EAAa,CAAC"}
@@ -0,0 +1,137 @@
1
+ import { Hono } from "hono";
2
+ export const bootstrapRoutes = new Hono();
3
+ function getDeps(c) {
4
+ return {
5
+ bootstrapOrchestrator: c.get("bootstrapOrchestrator"),
6
+ bootstrapRepo: c.get("bootstrapRepo"),
7
+ eventBus: c.get("eventBus"),
8
+ };
9
+ }
10
+ /** Map failed plan result to HTTP status using structured stage codes */
11
+ function planFailureStatus(result) {
12
+ const failedStage = result.stages.find((s) => s.status === "failed" || s.status === "blocked");
13
+ if (!failedStage)
14
+ return 500;
15
+ if (failedStage.stage === "resolve_spec") {
16
+ const detail = failedStage.detail;
17
+ if (detail?.code === "file_not_found" || detail?.code === "parse_error" || detail?.code === "validation_failed") {
18
+ return 400;
19
+ }
20
+ return 500;
21
+ }
22
+ if (failedStage.status === "blocked")
23
+ return 409;
24
+ return 500;
25
+ }
26
+ // POST /api/bootstrap/plan
27
+ bootstrapRoutes.post("/plan", async (c) => {
28
+ const { bootstrapOrchestrator, eventBus } = getDeps(c);
29
+ const body = await c.req.json().catch(() => ({}));
30
+ const sourceRef = typeof body["sourceRef"] === "string" ? body["sourceRef"] : "";
31
+ if (!sourceRef) {
32
+ return c.json({ error: "sourceRef is required" }, 400);
33
+ }
34
+ // Concurrency lock — consistent state during plan
35
+ if (!bootstrapOrchestrator.tryAcquire(sourceRef)) {
36
+ return c.json({ error: "Bootstrap already in progress for this spec", code: "conflict" }, 409);
37
+ }
38
+ try {
39
+ const result = await bootstrapOrchestrator.bootstrap({
40
+ mode: "plan",
41
+ sourceRef,
42
+ sourceKind: typeof body["sourceKind"] === "string" ? body["sourceKind"] : undefined,
43
+ });
44
+ if (result.status === "planned") {
45
+ eventBus.emit({
46
+ type: "bootstrap.planned",
47
+ runId: result.runId,
48
+ sourceRef,
49
+ stages: result.stages.length,
50
+ });
51
+ return c.json(result, 200);
52
+ }
53
+ // Plan failed — emit failed event, return appropriate status
54
+ eventBus.emit({ type: "bootstrap.failed", runId: result.runId, sourceRef, error: result.errors[0] ?? "plan failed" });
55
+ return c.json(result, planFailureStatus(result));
56
+ }
57
+ finally {
58
+ bootstrapOrchestrator.release(sourceRef);
59
+ }
60
+ });
61
+ // POST /api/bootstrap/apply
62
+ bootstrapRoutes.post("/apply", async (c) => {
63
+ const { bootstrapOrchestrator, bootstrapRepo, eventBus } = getDeps(c);
64
+ const body = await c.req.json().catch(() => ({}));
65
+ const sourceRef = typeof body["sourceRef"] === "string" ? body["sourceRef"] : "";
66
+ if (!sourceRef) {
67
+ return c.json({ error: "sourceRef is required" }, 400);
68
+ }
69
+ // Concurrency lock — acquire before creating run
70
+ if (!bootstrapOrchestrator.tryAcquire(sourceRef)) {
71
+ return c.json({ error: "Bootstrap already in progress for this spec", code: "conflict" }, 409);
72
+ }
73
+ const sourceKind = typeof body["sourceKind"] === "string" ? body["sourceKind"] : "rig_spec";
74
+ const autoApprove = body["autoApprove"] === true;
75
+ const approvedActionKeys = Array.isArray(body["approvedActionKeys"]) ? body["approvedActionKeys"] : undefined;
76
+ try {
77
+ // Pre-create run + set running + emit started BEFORE orchestrator work
78
+ const run = bootstrapRepo.createRun(sourceKind, sourceRef);
79
+ bootstrapRepo.updateRunStatus(run.id, "running");
80
+ eventBus.emit({ type: "bootstrap.started", runId: run.id, sourceRef });
81
+ let result;
82
+ try {
83
+ result = await bootstrapOrchestrator.bootstrap({
84
+ mode: "apply",
85
+ sourceRef,
86
+ sourceKind,
87
+ autoApprove,
88
+ approvedActionKeys,
89
+ runId: run.id,
90
+ });
91
+ }
92
+ catch (err) {
93
+ // Exception boundary: update run to failed, emit failed event
94
+ bootstrapRepo.updateRunStatus(run.id, "failed");
95
+ const errorMsg = err.message ?? "bootstrap failed";
96
+ eventBus.emit({ type: "bootstrap.failed", runId: run.id, sourceRef, error: errorMsg });
97
+ return c.json({ runId: run.id, status: "failed", error: errorMsg }, 500);
98
+ }
99
+ // Emit outcome event
100
+ if (result.status === "completed") {
101
+ eventBus.emit({ type: "bootstrap.completed", runId: result.runId, rigId: result.rigId, sourceRef });
102
+ return c.json(result, 201);
103
+ }
104
+ else if (result.status === "partial") {
105
+ const completedCount = result.stages.filter((s) => s.status === "ok").length;
106
+ const failedCount = result.stages.filter((s) => s.status === "failed" || s.status === "blocked").length;
107
+ eventBus.emit({ type: "bootstrap.partial", runId: result.runId, sourceRef, rigId: result.rigId, completed: completedCount, failed: failedCount });
108
+ return c.json(result, 200);
109
+ }
110
+ else {
111
+ const errorMsg = result.errors[0] ?? "bootstrap failed";
112
+ eventBus.emit({ type: "bootstrap.failed", runId: result.runId, sourceRef, error: errorMsg });
113
+ const hasBlocked = result.stages.some((s) => s.status === "blocked");
114
+ return c.json(result, hasBlocked ? 409 : 500);
115
+ }
116
+ }
117
+ finally {
118
+ bootstrapOrchestrator.release(sourceRef);
119
+ }
120
+ });
121
+ // GET /api/bootstrap/:id
122
+ bootstrapRoutes.get("/:id", (c) => {
123
+ const { bootstrapRepo } = getDeps(c);
124
+ const id = c.req.param("id");
125
+ const run = bootstrapRepo.getRun(id);
126
+ if (!run) {
127
+ return c.json({ error: "Bootstrap run not found" }, 404);
128
+ }
129
+ const actions = bootstrapRepo.getRunActions(id);
130
+ return c.json({ ...run, actions });
131
+ });
132
+ // GET /api/bootstrap
133
+ bootstrapRoutes.get("/", (c) => {
134
+ const { bootstrapRepo } = getDeps(c);
135
+ return c.json(bootstrapRepo.listRuns());
136
+ });
137
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/routes/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Hono } from "hono";
2
+ export declare const bundleRoutes: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
3
+ //# sourceMappingURL=bundles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundles.d.ts","sourceRoot":"","sources":["../../src/routes/bundles.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAiB5B,eAAO,MAAM,YAAY,4EAAa,CAAC"}
@@ -0,0 +1,334 @@
1
+ import fs from "node:fs";
2
+ import os from "node:os";
3
+ import nodePath from "node:path";
4
+ import { Hono } from "hono";
5
+ import { LegacyBundleAssembler as BundleAssembler } from "../domain/bundle-assembler.js";
6
+ import { PodBundleAssembler } from "../domain/pod-bundle-assembler.js";
7
+ import { computeIntegrity, writeIntegrity, verifyIntegrity } from "../domain/bundle-integrity.js";
8
+ import { pack, verifyArchiveDigest } from "../domain/bundle-archive.js";
9
+ import { resolvePackage } from "../domain/package-resolve-helper.js";
10
+ import { LegacyRigSpecSchema } from "../domain/rigspec-schema.js";
11
+ import { RigSpecCodec } from "../domain/rigspec-codec.js";
12
+ import { RigSpecSchema } from "../domain/rigspec-schema.js";
13
+ import { parseLegacyBundleManifest as parseBundleManifest, normalizeLegacyBundleManifest as normalizeBundleManifest, serializePodBundleManifest, parsePodBundleManifest, validatePodBundleManifest } from "../domain/bundle-types.js";
14
+ export const bundleRoutes = new Hono();
15
+ function getDeps(c) {
16
+ return {
17
+ eventBus: c.get("eventBus"),
18
+ bootstrapOrchestrator: c.get("bootstrapOrchestrator"),
19
+ bootstrapRepo: c.get("bootstrapRepo"),
20
+ };
21
+ }
22
+ function realFsOps() {
23
+ return {
24
+ readFile: (p) => fs.readFileSync(p, "utf-8"),
25
+ exists: (p) => fs.existsSync(p),
26
+ listFiles: (dir) => {
27
+ const r = [];
28
+ function walk(d, prefix) {
29
+ for (const e of fs.readdirSync(d, { withFileTypes: true })) {
30
+ if (e.isDirectory())
31
+ walk(nodePath.join(d, e.name), prefix ? `${prefix}/${e.name}` : e.name);
32
+ else
33
+ r.push(prefix ? `${prefix}/${e.name}` : e.name);
34
+ }
35
+ }
36
+ walk(dir, "");
37
+ return r;
38
+ },
39
+ };
40
+ }
41
+ function assemblerFsOps() {
42
+ return {
43
+ readFile: (p) => fs.readFileSync(p, "utf-8"),
44
+ exists: (p) => fs.existsSync(p),
45
+ mkdirp: (p) => fs.mkdirSync(p, { recursive: true }),
46
+ writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"),
47
+ copyDir: (s, d) => fs.cpSync(s, d, { recursive: true }),
48
+ };
49
+ }
50
+ function integrityFsOps() {
51
+ return {
52
+ readFile: (p) => fs.readFileSync(p, "utf-8"),
53
+ readFileBuffer: (p) => fs.readFileSync(p),
54
+ writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"),
55
+ exists: (p) => fs.existsSync(p),
56
+ walkFiles: (dir) => realFsOps().listFiles(dir),
57
+ };
58
+ }
59
+ function podAssemblerFsOps() {
60
+ return {
61
+ ...assemblerFsOps(),
62
+ readFile: (p) => fs.readFileSync(p, "utf-8"),
63
+ exists: (p) => fs.existsSync(p),
64
+ listFiles: (dir) => realFsOps().listFiles(dir),
65
+ };
66
+ }
67
+ // POST /api/bundles/create
68
+ bundleRoutes.post("/create", async (c) => {
69
+ const { eventBus } = getDeps(c);
70
+ const body = await c.req.json().catch(() => ({}));
71
+ const specPath = typeof body["specPath"] === "string" ? body["specPath"] : "";
72
+ const bundleName = typeof body["bundleName"] === "string" ? body["bundleName"] : "";
73
+ const bundleVersion = typeof body["bundleVersion"] === "string" ? body["bundleVersion"] : "";
74
+ const outputPath = typeof body["outputPath"] === "string" ? body["outputPath"] : "";
75
+ const rigRoot = typeof body["rigRoot"] === "string" ? body["rigRoot"] : undefined;
76
+ const includePackages = Array.isArray(body["includePackages"]) ? body["includePackages"] : undefined;
77
+ if (!specPath || !bundleName || !bundleVersion || !outputPath) {
78
+ return c.json({ error: "specPath, bundleName, bundleVersion, and outputPath are required" }, 400);
79
+ }
80
+ try {
81
+ // Read spec and detect format
82
+ const specYaml = fs.readFileSync(nodePath.resolve(specPath), "utf-8");
83
+ const rawParsed = RigSpecCodec.parse(specYaml);
84
+ const isPodAware = rawParsed && typeof rawParsed === "object" && Array.isArray(rawParsed.pods);
85
+ if (isPodAware) {
86
+ // Pod-aware bundle creation
87
+ const podValidation = RigSpecSchema.validate(rawParsed);
88
+ if (!podValidation.valid)
89
+ return c.json({ error: "Invalid pod-aware rig spec", errors: podValidation.errors }, 400);
90
+ const effectiveRigRoot = rigRoot ? nodePath.resolve(rigRoot) : nodePath.dirname(nodePath.resolve(specPath));
91
+ const tmpStaging = fs.mkdtempSync(nodePath.join(os.tmpdir(), "pod-bundle-create-"));
92
+ try {
93
+ const assembler = new PodBundleAssembler({ fsOps: podAssemblerFsOps() });
94
+ const result = assembler.assemble({ rigRoot: effectiveRigRoot, rigSpecPath: nodePath.resolve(specPath), outputDir: tmpStaging, bundleName, bundleVersion });
95
+ const integrity = computeIntegrity(tmpStaging, integrityFsOps());
96
+ result.manifest.integrity = integrity;
97
+ fs.writeFileSync(nodePath.join(tmpStaging, "bundle.yaml"), serializePodBundleManifest(result.manifest), "utf-8");
98
+ const archiveHash = await pack(tmpStaging, nodePath.resolve(outputPath));
99
+ eventBus.emit({ type: "bundle.created", bundleName, bundleVersion, archiveHash });
100
+ return c.json({ bundleName, bundleVersion, archiveHash, schemaVersion: 2, agents: result.manifest.agents.length }, 201);
101
+ }
102
+ finally {
103
+ fs.rmSync(tmpStaging, { recursive: true, force: true });
104
+ }
105
+ }
106
+ // Legacy bundle creation
107
+ const validation = LegacyRigSpecSchema.validate(rawParsed);
108
+ if (!validation.valid)
109
+ return c.json({ error: "Invalid rig spec", errors: validation.errors }, 400);
110
+ const spec = LegacyRigSpecSchema.normalize(rawParsed);
111
+ const specDir = nodePath.dirname(nodePath.resolve(specPath));
112
+ const allRefs = new Set();
113
+ for (const node of spec.nodes) {
114
+ if (node.packageRefs)
115
+ for (const ref of node.packageRefs)
116
+ allRefs.add(ref);
117
+ }
118
+ const refsToBundle = includePackages ?? [...allRefs];
119
+ if (includePackages) {
120
+ const includedSet = new Set(includePackages);
121
+ const missing = [...allRefs].filter((r) => !includedSet.has(r));
122
+ if (missing.length > 0) {
123
+ return c.json({ error: "Provided packages do not cover all rig spec package_refs", missing }, 400);
124
+ }
125
+ }
126
+ const fsOps = realFsOps();
127
+ const packages = [];
128
+ for (const ref of refsToBundle) {
129
+ const cleanRef = ref.startsWith("local:") ? ref.slice(6) : ref;
130
+ const result = resolvePackage(cleanRef, specDir, fsOps);
131
+ if (!result.ok) {
132
+ const errMsg = result.kind === "validation" ? result.errors.join("; ") : result.error;
133
+ return c.json({ error: `Failed to resolve package '${ref}': ${errMsg}` }, 400);
134
+ }
135
+ packages.push({
136
+ name: result.resolved.manifest.name,
137
+ version: result.resolved.manifest.version,
138
+ sourcePath: result.resolved.sourceRef,
139
+ originalSource: ref,
140
+ manifestHash: result.resolved.manifestHash,
141
+ });
142
+ }
143
+ const tmpStaging = fs.mkdtempSync(nodePath.join(os.tmpdir(), "bundle-create-"));
144
+ try {
145
+ const assembler = new BundleAssembler({ fsOps: assemblerFsOps() });
146
+ const manifest = assembler.assemble({
147
+ specPath: nodePath.resolve(specPath), packages, outputDir: tmpStaging, bundleName, bundleVersion,
148
+ });
149
+ const integrity = computeIntegrity(tmpStaging, integrityFsOps());
150
+ writeIntegrity(tmpStaging, integrity, integrityFsOps());
151
+ const archiveHash = await pack(tmpStaging, nodePath.resolve(outputPath));
152
+ eventBus.emit({ type: "bundle.created", bundleName, bundleVersion, archiveHash });
153
+ return c.json({ bundleName, bundleVersion, archiveHash, packages: manifest.packages.length }, 201);
154
+ }
155
+ finally {
156
+ fs.rmSync(tmpStaging, { recursive: true, force: true });
157
+ }
158
+ }
159
+ catch (err) {
160
+ return c.json({ error: err.message }, 500);
161
+ }
162
+ });
163
+ // POST /api/bundles/inspect
164
+ bundleRoutes.post("/inspect", async (c) => {
165
+ const body = await c.req.json().catch(() => ({}));
166
+ const bundlePath = typeof body["bundlePath"] === "string" ? body["bundlePath"] : "";
167
+ if (!bundlePath)
168
+ return c.json({ error: "bundlePath is required" }, 400);
169
+ let digestValid = false;
170
+ try {
171
+ const dr = verifyArchiveDigest(bundlePath);
172
+ digestValid = dr.valid;
173
+ }
174
+ catch { /* missing digest = invalid */ }
175
+ const tmpDir = fs.mkdtempSync(nodePath.join(os.tmpdir(), "bundle-inspect-"));
176
+ try {
177
+ // Extract with safety pre-scan (same as unpack) but without content integrity verification
178
+ const tar = await import("tar");
179
+ const unsafeEntries = [];
180
+ await tar.list({
181
+ file: bundlePath,
182
+ onReadEntry: (entry) => {
183
+ const p = entry.path;
184
+ const t = entry.type;
185
+ if (t === "SymbolicLink" || t === "Link")
186
+ unsafeEntries.push(`${t}: ${p}`);
187
+ if (p.startsWith("/"))
188
+ unsafeEntries.push(`absolute: ${p}`);
189
+ if (p.split("/").some((s) => s === ".."))
190
+ unsafeEntries.push(`traversal: ${p}`);
191
+ },
192
+ });
193
+ if (unsafeEntries.length > 0) {
194
+ return c.json({ error: `Unsafe archive entries: ${unsafeEntries.join("; ")}`, digestValid }, 200);
195
+ }
196
+ await tar.extract({ file: bundlePath, cwd: tmpDir });
197
+ const manifestPath = nodePath.join(tmpDir, "bundle.yaml");
198
+ if (!fs.existsSync(manifestPath)) {
199
+ return c.json({ error: "Bundle missing bundle.yaml", digestValid }, 200);
200
+ }
201
+ const manifestYaml = fs.readFileSync(manifestPath, "utf-8");
202
+ const rawParsed = parsePodBundleManifest(manifestYaml);
203
+ // Detect v2 (pod-aware) vs v1 (legacy)
204
+ if (rawParsed && rawParsed["schema_version"] === 2) {
205
+ const validation = validatePodBundleManifest(rawParsed);
206
+ if (!validation.valid) {
207
+ return c.json({ error: `Invalid v2 manifest: ${validation.errors.join("; ")}`, digestValid }, 200);
208
+ }
209
+ const agents = rawParsed["agents"].map((a) => ({
210
+ name: a["name"],
211
+ version: a["version"] ?? "",
212
+ path: a["path"],
213
+ }));
214
+ // Extract integrity from raw manifest
215
+ const integritySection = rawParsed["integrity"];
216
+ const podManifest = {
217
+ schemaVersion: 2,
218
+ name: rawParsed["name"],
219
+ version: rawParsed["version"],
220
+ createdAt: rawParsed["created_at"],
221
+ rigSpec: rawParsed["rig_spec"],
222
+ agents,
223
+ integrity: integritySection ? {
224
+ algorithm: integritySection.algorithm ?? "sha256",
225
+ files: integritySection.files ?? {},
226
+ } : undefined,
227
+ };
228
+ const integrityCompat = integritySection ? {
229
+ schemaVersion: 2,
230
+ name: podManifest.name,
231
+ version: podManifest.version,
232
+ createdAt: podManifest.createdAt,
233
+ rigSpec: podManifest.rigSpec,
234
+ packages: [],
235
+ integrity: { algorithm: "sha256", files: integritySection.files ?? {} },
236
+ } : undefined;
237
+ const integrityResult = integrityCompat
238
+ ? verifyIntegrity(tmpDir, integrityCompat, integrityFsOps())
239
+ : { passed: false, mismatches: [], missing: [], extra: [], errors: ["no integrity section"] };
240
+ return c.json({ manifest: podManifest, digestValid, integrityResult }, 200);
241
+ }
242
+ const manifest = normalizeBundleManifest(parseBundleManifest(manifestYaml));
243
+ const integrityResult = manifest.integrity
244
+ ? verifyIntegrity(tmpDir, manifest, integrityFsOps())
245
+ : { passed: false, mismatches: [], missing: [], extra: [], errors: ["no integrity section"] };
246
+ return c.json({ manifest, digestValid, integrityResult }, 200);
247
+ }
248
+ catch (err) {
249
+ return c.json({ error: err.message }, 500);
250
+ }
251
+ finally {
252
+ fs.rmSync(tmpDir, { recursive: true, force: true });
253
+ }
254
+ });
255
+ // POST /api/bundles/install — reuses full bootstrap lifecycle
256
+ bundleRoutes.post("/install", async (c) => {
257
+ const { bootstrapOrchestrator, bootstrapRepo, eventBus } = getDeps(c);
258
+ const body = await c.req.json().catch(() => ({}));
259
+ const bundlePath = typeof body["bundlePath"] === "string" ? body["bundlePath"] : "";
260
+ const plan = body["plan"] === true;
261
+ const autoApprove = body["autoApprove"] === true;
262
+ const targetRoot = typeof body["targetRoot"] === "string" ? body["targetRoot"] : undefined;
263
+ if (!bundlePath)
264
+ return c.json({ error: "bundlePath is required" }, 400);
265
+ if (!plan && !targetRoot)
266
+ return c.json({ error: "targetRoot is required for apply mode" }, 400);
267
+ // Concurrency lock
268
+ if (!bootstrapOrchestrator.tryAcquire(bundlePath)) {
269
+ return c.json({ error: "Bundle install already in progress", code: "conflict" }, 409);
270
+ }
271
+ try {
272
+ if (plan) {
273
+ // Plan mode: no run lifecycle
274
+ try {
275
+ const result = await bootstrapOrchestrator.bootstrap({
276
+ mode: "plan", sourceRef: bundlePath, sourceKind: "rig_bundle",
277
+ });
278
+ if (result.status === "planned") {
279
+ eventBus.emit({ type: "bootstrap.planned", runId: result.runId, sourceRef: bundlePath, stages: result.stages.length });
280
+ return c.json(result, 200);
281
+ }
282
+ // Plan failed — structured mapping (same as bootstrap plan route)
283
+ eventBus.emit({ type: "bootstrap.failed", runId: result.runId, sourceRef: bundlePath, error: result.errors[0] ?? "plan failed" });
284
+ const failedStage = result.stages.find((s) => s.status === "failed" || s.status === "blocked");
285
+ let httpStatus = 500;
286
+ if (failedStage) {
287
+ if (failedStage.status === "blocked")
288
+ httpStatus = 409;
289
+ else if (failedStage.stage === "resolve_spec") {
290
+ const detail = failedStage.detail;
291
+ if (detail?.code === "file_not_found" || detail?.code === "parse_error" || detail?.code === "validation_failed" || detail?.code === "bundle_error")
292
+ httpStatus = 400;
293
+ }
294
+ }
295
+ return c.json(result, httpStatus);
296
+ }
297
+ catch (err) {
298
+ return c.json({ error: err.message }, 500);
299
+ }
300
+ }
301
+ // Apply mode: full run lifecycle with bootstrap.started
302
+ const run = bootstrapRepo.createRun("rig_bundle", bundlePath);
303
+ bootstrapRepo.updateRunStatus(run.id, "running");
304
+ eventBus.emit({ type: "bootstrap.started", runId: run.id, sourceRef: bundlePath });
305
+ try {
306
+ const result = await bootstrapOrchestrator.bootstrap({
307
+ mode: "apply", sourceRef: bundlePath, sourceKind: "rig_bundle",
308
+ autoApprove, targetRoot, runId: run.id,
309
+ });
310
+ if (result.status === "completed") {
311
+ eventBus.emit({ type: "bootstrap.completed", runId: result.runId, rigId: result.rigId, sourceRef: bundlePath });
312
+ return c.json(result, 201);
313
+ }
314
+ if (result.status === "partial") {
315
+ const ok = result.stages.filter((s) => s.status === "ok").length;
316
+ const fail = result.stages.filter((s) => s.status === "failed" || s.status === "blocked").length;
317
+ eventBus.emit({ type: "bootstrap.partial", runId: result.runId, sourceRef: bundlePath, rigId: result.rigId, completed: ok, failed: fail });
318
+ return c.json(result, 200);
319
+ }
320
+ eventBus.emit({ type: "bootstrap.failed", runId: result.runId, sourceRef: bundlePath, error: result.errors[0] ?? "failed" });
321
+ const hasBlocked = result.stages.some((s) => s.status === "blocked");
322
+ return c.json(result, hasBlocked ? 409 : 500);
323
+ }
324
+ catch (err) {
325
+ bootstrapRepo.updateRunStatus(run.id, "failed");
326
+ eventBus.emit({ type: "bootstrap.failed", runId: run.id, sourceRef: bundlePath, error: err.message });
327
+ return c.json({ runId: run.id, status: "failed", error: err.message }, 500);
328
+ }
329
+ }
330
+ finally {
331
+ bootstrapOrchestrator.release(bundlePath);
332
+ }
333
+ });
334
+ //# sourceMappingURL=bundles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundles.js","sourceRoot":"","sources":["../../src/routes/bundles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,EAAE,qBAAqB,IAAI,eAAe,EAAuB,MAAM,+BAA+B,CAAC;AAC9G,OAAO,EAAE,kBAAkB,EAA0B,MAAM,mCAAmC,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAuB,MAAM,+BAA+B,CAAC;AACvH,OAAO,EAAE,IAAI,EAAU,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,yBAAyB,IAAI,mBAAmB,EAAE,6BAA6B,IAAI,uBAAuB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAItO,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;AAEvC,SAAS,OAAO,CAAC,CAAoC;IACnD,OAAO;QACL,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,UAAmB,CAAa;QAChD,qBAAqB,EAAE,CAAC,CAAC,GAAG,CAAC,uBAAgC,CAA0B;QACvF,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,eAAwB,CAAwB;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,SAAS;IAChB,OAAO;QACL,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC;QAC5C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/B,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,MAAM,CAAC,GAAa,EAAE,CAAC;YACvB,SAAS,IAAI,CAAC,CAAS,EAAE,MAAc;gBACrC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC3D,IAAI,CAAC,CAAC,WAAW,EAAE;wBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;;wBACxF,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACd,OAAO,CAAC,CAAC;QACX,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;QACL,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC;QAC5C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACnD,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;QACpD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;QACL,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC;QAC5C,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QACzC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;QACpD,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/B,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,SAAU,CAAC,GAAG,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;QACL,GAAG,cAAc,EAAE;QACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC;QAC5C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/B,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,SAAU,CAAC,GAAG,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,2BAA2B;AAC3B,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,IAAI,GAA4B,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,MAAM,aAAa,GAAG,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjH,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9D,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kEAAkE,EAAE,EAAE,GAAG,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAE,SAAqC,CAAC,IAAI,CAAC,CAAC;QAE5H,IAAI,UAAU,EAAE,CAAC;YACf,4BAA4B;YAC5B,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,CAAC,aAAa,CAAC,KAAK;gBAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;YAEpH,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5G,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBACzE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;gBAE5J,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;gBACjE,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;gBACtC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;gBAEjH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;gBACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC;gBAClF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;YAC1H,CAAC;oBAAS,CAAC;gBACT,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEtD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,WAAW;gBAAE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW;oBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,YAAY,GAAG,eAAe,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAErD,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,0DAA0D,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/D,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,GAAG,MAAM,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACjF,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI;gBACnC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO;gBACzC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;gBACrC,cAAc,EAAE,GAAG;gBACnB,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY;aAC3C,CAAC,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;gBAClC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa;aACjG,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;YACjE,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;YAExD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC;YAClF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;QACrG,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,4BAA4B;AAC5B,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxC,MAAM,IAAI,GAA4B,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpF,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,GAAG,CAAC,CAAC;IAEzE,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC3C,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC7E,IAAI,CAAC;QACH,2FAA2F;QAC3F,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,GAAG,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrB,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;gBACrB,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;gBACrB,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,KAAK,MAAM;oBAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC3E,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;oBAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAC1F,CAAC;SACF,CAAC,CAAC;QACH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;QACpG,CAAC;QACD,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAErD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,sBAAsB,CAAC,YAAY,CAA4B,CAAC;QAElF,uCAAuC;QACvC,IAAI,SAAS,IAAI,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,UAAU,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;YACrG,CAAC;YACD,MAAM,MAAM,GAAI,SAAS,CAAC,QAAQ,CAAoC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAW;gBACzB,OAAO,EAAG,CAAC,CAAC,SAAS,CAAY,IAAI,EAAE;gBACvC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAW;aAC1B,CAAC,CAAC,CAAC;YACJ,sCAAsC;YACtC,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAuE,CAAC;YACtH,MAAM,WAAW,GAAG;gBAClB,aAAa,EAAE,CAAU;gBACzB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAW;gBACjC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAW;gBACvC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAW;gBAC5C,OAAO,EAAE,SAAS,CAAC,UAAU,CAAW;gBACxC,MAAM;gBACN,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;oBAC5B,SAAS,EAAE,gBAAgB,CAAC,SAAS,IAAI,QAAQ;oBACjD,KAAK,EAAE,gBAAgB,CAAC,KAAK,IAAI,EAAE;iBACpC,CAAC,CAAC,CAAC,SAAS;aACd,CAAC;YACF,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC;gBACzC,aAAa,EAAE,CAAC;gBAChB,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,EAAE,SAAS,EAAE,QAAiB,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,IAAI,EAAE,EAAE;aACjF,CAAC,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,eAAe,GAAG,eAAe;gBACrC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;gBAC5D,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAChG,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5E,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS;YACxC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;YACrD,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAChG,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,8DAA8D;AAC9D,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACxC,MAAM,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,IAAI,GAA4B,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACnC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3F,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,GAAG,CAAC,CAAC;IACzE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uCAAuC,EAAE,EAAE,GAAG,CAAC,CAAC;IAEjG,mBAAmB;IACnB,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,CAAC;QACL,IAAI,IAAI,EAAE,CAAC;YACT,8BAA8B;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,SAAS,CAAC;oBACnD,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY;iBAC9D,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACvH,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC7B,CAAC;gBACD,kEAAkE;gBAClE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;gBAClI,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAuC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;gBACrI,IAAI,UAAU,GAAW,GAAG,CAAC;gBAC7B,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS;wBAAE,UAAU,GAAG,GAAG,CAAC;yBAClD,IAAI,WAAW,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;wBAC9C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAuC,CAAC;wBACnE,IAAI,MAAM,EAAE,IAAI,KAAK,gBAAgB,IAAI,MAAM,EAAE,IAAI,KAAK,aAAa,IAAI,MAAM,EAAE,IAAI,KAAK,mBAAmB,IAAI,MAAM,EAAE,IAAI,KAAK,cAAc;4BAAE,UAAU,GAAG,GAAG,CAAC;oBACvK,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,UAA6B,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC9D,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QAEnF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,SAAS,CAAC;gBACnD,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY;gBAC9D,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE;aACvC,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;gBACjH,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;gBACrF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;gBACrH,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3I,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC7B,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;YAC7H,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YACzF,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACjH,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACzF,CAAC;IACD,CAAC;YAAS,CAAC;QAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAAC,CAAC;AAC1D,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Hono } from "hono";
2
+ export declare function chatRoutes(): Hono;
3
+ //# sourceMappingURL=chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAK5B,wBAAgB,UAAU,IAAI,IAAI,CAwJjC"}