@decibelsystems/tools 2.1.4 → 3.0.0

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 (295) hide show
  1. package/CHANGELOG.md +160 -0
  2. package/README.md +1 -1
  3. package/dist/agentPresence.d.ts +80 -0
  4. package/dist/agentPresence.d.ts.map +1 -1
  5. package/dist/agentPresence.js +177 -0
  6. package/dist/agentPresence.js.map +1 -1
  7. package/dist/agentic/index.d.ts +18 -8
  8. package/dist/agentic/index.d.ts.map +1 -1
  9. package/dist/agentic/index.js +18 -144
  10. package/dist/agentic/index.js.map +1 -1
  11. package/dist/agentic/types.d.ts +106 -0
  12. package/dist/agentic/types.d.ts.map +1 -1
  13. package/dist/agentic/types.js +77 -1
  14. package/dist/agentic/types.js.map +1 -1
  15. package/dist/architectAdrs.d.ts +14 -2
  16. package/dist/architectAdrs.d.ts.map +1 -1
  17. package/dist/architectAdrs.js +9 -3
  18. package/dist/architectAdrs.js.map +1 -1
  19. package/dist/client/transports.d.ts.map +1 -1
  20. package/dist/client/transports.js +13 -3
  21. package/dist/client/transports.js.map +1 -1
  22. package/dist/daemon.d.ts +19 -0
  23. package/dist/daemon.d.ts.map +1 -1
  24. package/dist/daemon.js +181 -38
  25. package/dist/daemon.js.map +1 -1
  26. package/dist/daemonConfig.d.ts +30 -0
  27. package/dist/daemonConfig.d.ts.map +1 -1
  28. package/dist/daemonConfig.js +56 -9
  29. package/dist/daemonConfig.js.map +1 -1
  30. package/dist/decibelPaths.d.ts.map +1 -1
  31. package/dist/decibelPaths.js +39 -6
  32. package/dist/decibelPaths.js.map +1 -1
  33. package/dist/domain/issue.d.ts +77 -0
  34. package/dist/domain/issue.d.ts.map +1 -0
  35. package/dist/domain/issue.js +134 -0
  36. package/dist/domain/issue.js.map +1 -0
  37. package/dist/domain/issueCodec.d.ts +39 -0
  38. package/dist/domain/issueCodec.d.ts.map +1 -0
  39. package/dist/domain/issueCodec.js +298 -0
  40. package/dist/domain/issueCodec.js.map +1 -0
  41. package/dist/domain/issueRepository.d.ts +91 -0
  42. package/dist/domain/issueRepository.d.ts.map +1 -0
  43. package/dist/domain/issueRepository.js +257 -0
  44. package/dist/domain/issueRepository.js.map +1 -0
  45. package/dist/facades/definitions.d.ts +0 -1
  46. package/dist/facades/definitions.d.ts.map +1 -1
  47. package/dist/facades/definitions.js +94 -98
  48. package/dist/facades/definitions.js.map +1 -1
  49. package/dist/facades/index.d.ts +2 -1
  50. package/dist/facades/index.d.ts.map +1 -1
  51. package/dist/facades/index.js +1 -1
  52. package/dist/facades/index.js.map +1 -1
  53. package/dist/facades/types.d.ts +17 -0
  54. package/dist/facades/types.d.ts.map +1 -1
  55. package/dist/httpArgs.d.ts +11 -0
  56. package/dist/httpArgs.d.ts.map +1 -0
  57. package/dist/httpArgs.js +39 -0
  58. package/dist/httpArgs.js.map +1 -0
  59. package/dist/httpServer.d.ts +1 -12
  60. package/dist/httpServer.d.ts.map +1 -1
  61. package/dist/httpServer.js +173 -98
  62. package/dist/httpServer.js.map +1 -1
  63. package/dist/kernel.d.ts +55 -1
  64. package/dist/kernel.d.ts.map +1 -1
  65. package/dist/kernel.js +366 -31
  66. package/dist/kernel.js.map +1 -1
  67. package/dist/lib/agent-services/assumptions.d.ts.map +1 -1
  68. package/dist/lib/agent-services/assumptions.js +8 -2
  69. package/dist/lib/agent-services/assumptions.js.map +1 -1
  70. package/dist/lib/atomicWrite.d.ts +26 -0
  71. package/dist/lib/atomicWrite.d.ts.map +1 -0
  72. package/dist/lib/atomicWrite.js +73 -0
  73. package/dist/lib/atomicWrite.js.map +1 -0
  74. package/dist/lib/envelope.d.ts +31 -0
  75. package/dist/lib/envelope.d.ts.map +1 -0
  76. package/dist/lib/envelope.js +80 -0
  77. package/dist/lib/envelope.js.map +1 -0
  78. package/dist/lib/fileLock.d.ts +38 -0
  79. package/dist/lib/fileLock.d.ts.map +1 -0
  80. package/dist/lib/fileLock.js +124 -0
  81. package/dist/lib/fileLock.js.map +1 -0
  82. package/dist/lib/recordIdAllocator.d.ts +86 -0
  83. package/dist/lib/recordIdAllocator.d.ts.map +1 -0
  84. package/dist/lib/recordIdAllocator.js +161 -0
  85. package/dist/lib/recordIdAllocator.js.map +1 -0
  86. package/dist/license.js +3 -3
  87. package/dist/license.js.map +1 -1
  88. package/dist/projectRegistry.d.ts +65 -3
  89. package/dist/projectRegistry.d.ts.map +1 -1
  90. package/dist/projectRegistry.js +233 -33
  91. package/dist/projectRegistry.js.map +1 -1
  92. package/dist/runtime/circuitBreaker.d.ts +95 -0
  93. package/dist/runtime/circuitBreaker.d.ts.map +1 -0
  94. package/dist/runtime/circuitBreaker.js +178 -0
  95. package/dist/runtime/circuitBreaker.js.map +1 -0
  96. package/dist/runtime/ensureRuntime.d.ts +103 -0
  97. package/dist/runtime/ensureRuntime.d.ts.map +1 -0
  98. package/dist/runtime/ensureRuntime.js +281 -0
  99. package/dist/runtime/ensureRuntime.js.map +1 -0
  100. package/dist/runtime/extensions.d.ts +57 -0
  101. package/dist/runtime/extensions.d.ts.map +1 -0
  102. package/dist/runtime/extensions.js +216 -0
  103. package/dist/runtime/extensions.js.map +1 -0
  104. package/dist/runtime/localHttp.d.ts +24 -0
  105. package/dist/runtime/localHttp.d.ts.map +1 -0
  106. package/dist/runtime/localHttp.js +84 -0
  107. package/dist/runtime/localHttp.js.map +1 -0
  108. package/dist/runtime/projectResolution.d.ts +29 -0
  109. package/dist/runtime/projectResolution.d.ts.map +1 -0
  110. package/dist/runtime/projectResolution.js +67 -0
  111. package/dist/runtime/projectResolution.js.map +1 -0
  112. package/dist/runtime/protocol.d.ts +62 -0
  113. package/dist/runtime/protocol.d.ts.map +1 -0
  114. package/dist/runtime/protocol.js +74 -0
  115. package/dist/runtime/protocol.js.map +1 -0
  116. package/dist/sentinelIssues.d.ts +26 -2
  117. package/dist/sentinelIssues.d.ts.map +1 -1
  118. package/dist/sentinelIssues.js +163 -76
  119. package/dist/sentinelIssues.js.map +1 -1
  120. package/dist/server.js +65 -12
  121. package/dist/server.js.map +1 -1
  122. package/dist/setup.d.ts +83 -0
  123. package/dist/setup.d.ts.map +1 -0
  124. package/dist/setup.js +445 -0
  125. package/dist/setup.js.map +1 -0
  126. package/dist/store/markdown.d.ts +14 -1
  127. package/dist/store/markdown.d.ts.map +1 -1
  128. package/dist/store/markdown.js +36 -3
  129. package/dist/store/markdown.js.map +1 -1
  130. package/dist/tools/agentic/index.d.ts.map +1 -1
  131. package/dist/tools/agentic/index.js +28 -2
  132. package/dist/tools/agentic/index.js.map +1 -1
  133. package/dist/tools/architect/index.d.ts.map +1 -1
  134. package/dist/tools/architect/index.js +7 -2
  135. package/dist/tools/architect/index.js.map +1 -1
  136. package/dist/tools/conductor/index.d.ts +9 -0
  137. package/dist/tools/conductor/index.d.ts.map +1 -0
  138. package/dist/tools/conductor/index.js +242 -0
  139. package/dist/tools/conductor/index.js.map +1 -0
  140. package/dist/tools/context.d.ts +10 -5
  141. package/dist/tools/context.d.ts.map +1 -1
  142. package/dist/tools/context.js +45 -18
  143. package/dist/tools/context.js.map +1 -1
  144. package/dist/tools/coordinator/coordinator.d.ts.map +1 -1
  145. package/dist/tools/coordinator/coordinator.js +48 -19
  146. package/dist/tools/coordinator/coordinator.js.map +1 -1
  147. package/dist/tools/crit.d.ts +2 -1
  148. package/dist/tools/crit.d.ts.map +1 -1
  149. package/dist/tools/crit.js +19 -4
  150. package/dist/tools/crit.js.map +1 -1
  151. package/dist/tools/designer/index.d.ts.map +1 -1
  152. package/dist/tools/designer/index.js +4 -3
  153. package/dist/tools/designer/index.js.map +1 -1
  154. package/dist/tools/designer/lateral-tools.d.ts.map +1 -1
  155. package/dist/tools/designer/lateral-tools.js +4 -2
  156. package/dist/tools/designer/lateral-tools.js.map +1 -1
  157. package/dist/tools/designer.d.ts +2 -1
  158. package/dist/tools/designer.d.ts.map +1 -1
  159. package/dist/tools/designer.js +24 -12
  160. package/dist/tools/designer.js.map +1 -1
  161. package/dist/tools/dojo.d.ts +3 -2
  162. package/dist/tools/dojo.d.ts.map +1 -1
  163. package/dist/tools/dojo.js +64 -22
  164. package/dist/tools/dojo.js.map +1 -1
  165. package/dist/tools/dojoPolicy.js +1 -1
  166. package/dist/tools/dojoPolicy.js.map +1 -1
  167. package/dist/tools/friction.d.ts.map +1 -1
  168. package/dist/tools/friction.js +16 -6
  169. package/dist/tools/friction.js.map +1 -1
  170. package/dist/tools/guardian.d.ts +29 -7
  171. package/dist/tools/guardian.d.ts.map +1 -1
  172. package/dist/tools/guardian.js +90 -75
  173. package/dist/tools/guardian.js.map +1 -1
  174. package/dist/tools/hygiene/oracle-hygiene.d.ts.map +1 -1
  175. package/dist/tools/hygiene/oracle-hygiene.js +8 -2
  176. package/dist/tools/hygiene/oracle-hygiene.js.map +1 -1
  177. package/dist/tools/index.d.ts.map +1 -1
  178. package/dist/tools/index.js +29 -18
  179. package/dist/tools/index.js.map +1 -1
  180. package/dist/tools/learnings.d.ts +2 -1
  181. package/dist/tools/learnings.d.ts.map +1 -1
  182. package/dist/tools/learnings.js +31 -15
  183. package/dist/tools/learnings.js.map +1 -1
  184. package/dist/tools/oracle.d.ts.map +1 -1
  185. package/dist/tools/oracle.js +19 -6
  186. package/dist/tools/oracle.js.map +1 -1
  187. package/dist/tools/policy.d.ts +2 -1
  188. package/dist/tools/policy.d.ts.map +1 -1
  189. package/dist/tools/policy.js +28 -9
  190. package/dist/tools/policy.js.map +1 -1
  191. package/dist/tools/postoffice/index.d.ts +10 -0
  192. package/dist/tools/postoffice/index.d.ts.map +1 -0
  193. package/dist/tools/postoffice/index.js +218 -0
  194. package/dist/tools/postoffice/index.js.map +1 -0
  195. package/dist/tools/postoffice.d.ts +78 -0
  196. package/dist/tools/postoffice.d.ts.map +1 -0
  197. package/dist/tools/postoffice.js +199 -0
  198. package/dist/tools/postoffice.js.map +1 -0
  199. package/dist/tools/provenance.d.ts +7 -0
  200. package/dist/tools/provenance.d.ts.map +1 -1
  201. package/dist/tools/provenance.js +42 -16
  202. package/dist/tools/provenance.js.map +1 -1
  203. package/dist/tools/registry/index.d.ts.map +1 -1
  204. package/dist/tools/registry/index.js +41 -12
  205. package/dist/tools/registry/index.js.map +1 -1
  206. package/dist/tools/sentinel/index.d.ts +1 -0
  207. package/dist/tools/sentinel/index.d.ts.map +1 -1
  208. package/dist/tools/sentinel/index.js +88 -4
  209. package/dist/tools/sentinel/index.js.map +1 -1
  210. package/dist/tools/sentinel.d.ts +117 -1
  211. package/dist/tools/sentinel.d.ts.map +1 -1
  212. package/dist/tools/sentinel.js +761 -339
  213. package/dist/tools/sentinel.js.map +1 -1
  214. package/dist/tools/shared/index.d.ts +2 -1
  215. package/dist/tools/shared/index.d.ts.map +1 -1
  216. package/dist/tools/shared/index.js +2 -1
  217. package/dist/tools/shared/index.js.map +1 -1
  218. package/dist/tools/shared/response.d.ts +24 -0
  219. package/dist/tools/shared/response.d.ts.map +1 -1
  220. package/dist/tools/shared/response.js +61 -7
  221. package/dist/tools/shared/response.js.map +1 -1
  222. package/dist/tools/shared/storeRead.d.ts +153 -0
  223. package/dist/tools/shared/storeRead.d.ts.map +1 -0
  224. package/dist/tools/shared/storeRead.js +242 -0
  225. package/dist/tools/shared/storeRead.js.map +1 -0
  226. package/dist/tools/testSpec.d.ts +3 -2
  227. package/dist/tools/testSpec.d.ts.map +1 -1
  228. package/dist/tools/testSpec.js +51 -14
  229. package/dist/tools/testSpec.js.map +1 -1
  230. package/dist/tools/vector.d.ts +33 -1
  231. package/dist/tools/vector.d.ts.map +1 -1
  232. package/dist/tools/vector.js +31 -5
  233. package/dist/tools/vector.js.map +1 -1
  234. package/dist/tools/zoom/index.d.ts +15 -0
  235. package/dist/tools/zoom/index.d.ts.map +1 -0
  236. package/dist/tools/zoom/index.js +174 -0
  237. package/dist/tools/zoom/index.js.map +1 -0
  238. package/dist/tools/zoom.d.ts +234 -0
  239. package/dist/tools/zoom.d.ts.map +1 -0
  240. package/dist/tools/zoom.js +627 -0
  241. package/dist/tools/zoom.js.map +1 -0
  242. package/dist/transports/bridge.d.ts +1 -1
  243. package/dist/transports/bridge.d.ts.map +1 -1
  244. package/dist/transports/bridge.js +2 -0
  245. package/dist/transports/bridge.js.map +1 -1
  246. package/dist/transports/http.d.ts +1 -1
  247. package/dist/transports/http.d.ts.map +1 -1
  248. package/dist/transports/http.js +3 -1
  249. package/dist/transports/http.js.map +1 -1
  250. package/dist/transports/index.d.ts +1 -0
  251. package/dist/transports/index.d.ts.map +1 -1
  252. package/dist/transports/index.js +1 -0
  253. package/dist/transports/index.js.map +1 -1
  254. package/dist/transports/mcp.d.ts +1 -1
  255. package/dist/transports/mcp.d.ts.map +1 -1
  256. package/dist/transports/mcp.js +7 -3
  257. package/dist/transports/mcp.js.map +1 -1
  258. package/dist/transports/stdio.d.ts +1 -1
  259. package/dist/transports/stdio.d.ts.map +1 -1
  260. package/dist/transports/stdio.js +2 -0
  261. package/dist/transports/stdio.js.map +1 -1
  262. package/dist/transports/thinStdio.d.ts +22 -0
  263. package/dist/transports/thinStdio.d.ts.map +1 -0
  264. package/dist/transports/thinStdio.js +218 -0
  265. package/dist/transports/thinStdio.js.map +1 -0
  266. package/dist/transports/types.d.ts +8 -1
  267. package/dist/transports/types.d.ts.map +1 -1
  268. package/dist/types/agent-services.d.ts +7 -0
  269. package/dist/types/agent-services.d.ts.map +1 -1
  270. package/package.json +9 -4
  271. package/templates/com.decibel.daemon.plist +6 -1
  272. package/dist/tools/deck.d.ts +0 -11
  273. package/dist/tools/deck.d.ts.map +0 -1
  274. package/dist/tools/deck.js +0 -1656
  275. package/dist/tools/deck.js.map +0 -1
  276. package/dist/tools/mother.d.ts +0 -11
  277. package/dist/tools/mother.d.ts.map +0 -1
  278. package/dist/tools/mother.js +0 -503
  279. package/dist/tools/mother.js.map +0 -1
  280. package/dist/tools/registry.d.ts +0 -3
  281. package/dist/tools/registry.d.ts.map +0 -1
  282. package/dist/tools/registry.js +0 -189
  283. package/dist/tools/registry.js.map +0 -1
  284. package/dist/tools/senken.d.ts +0 -11
  285. package/dist/tools/senken.d.ts.map +0 -1
  286. package/dist/tools/senken.js +0 -482
  287. package/dist/tools/senken.js.map +0 -1
  288. package/dist/tools/terminal.d.ts +0 -17
  289. package/dist/tools/terminal.d.ts.map +0 -1
  290. package/dist/tools/terminal.js +0 -968
  291. package/dist/tools/terminal.js.map +0 -1
  292. package/dist/tools/toolsIndex.d.ts +0 -5
  293. package/dist/tools/toolsIndex.d.ts.map +0 -1
  294. package/dist/tools/toolsIndex.js +0 -37
  295. package/dist/tools/toolsIndex.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sentinelIssues.d.ts","sourceRoot":"","sources":["../src/sentinelIssues.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AACtE,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAiDD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBtE;AAMD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,EAAE,CAAC,CAgE1B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CA4E5B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAI/B;AAMD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAqF5B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EAAE,EACvB,MAAM,EAAE,WAAW,GAClB,aAAa,EAAE,CAEjB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EAAE,EACvB,MAAM,EAAE,MAAM,GACb,aAAa,EAAE,CAEjB"}
1
+ {"version":3,"file":"sentinelIssues.d.ts","sourceRoot":"","sources":["../src/sentinelIssues.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,IAAI,oBAAoB,EACnC,aAAa,IAAI,sBAAsB,EACxC,MAAM,mBAAmB,CAAC;AAa3B,MAAM,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAC/C,MAAM,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAiDD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBtE;AAMD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,EAAE,CAAC,CA8F1B;AAED;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAuC5B;AAwBD;;GAEG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAmB/B;AAMD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CA6H5B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EAAE,EACvB,MAAM,EAAE,WAAW,GAClB,aAAa,EAAE,CAEjB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EAAE,EACvB,MAAM,EAAE,MAAM,GACb,aAAa,EAAE,CAEjB"}
@@ -3,6 +3,8 @@ import path from 'path';
3
3
  import { parse as parseYaml, parseAllDocuments, stringify as stringifyYaml } from 'yaml';
4
4
  import { log } from './config.js';
5
5
  import { getWritePath, readFilesFromBothPaths } from './decibelPaths.js';
6
+ import { FsIssueRepository } from './domain/issueRepository.js';
7
+ import { writeFileAtomic } from './lib/atomicWrite.js';
6
8
  // ============================================================================
7
9
  // Constants
8
10
  // ============================================================================
@@ -91,18 +93,29 @@ export async function listIssuesForProject(projectId) {
91
93
  for (const { filePath, source } of files) {
92
94
  try {
93
95
  const content = await fs.readFile(filePath, 'utf-8');
94
- const parsed = safeParseYaml(content);
95
- // Validate required fields
96
- const id = parsed.id;
97
- const title = parsed.title;
96
+ const fmMatch = content.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/);
97
+ const parsed = fmMatch ? safeParseYaml(fmMatch[1]) : safeParseYaml(content);
98
+ // Required fields, with fallbacks for markdown-frontmatter issues
99
+ // (tools/sentinel.ts createIssue): id = filename, title = `# heading`.
100
+ // Without these, read_issue/update_issue can't see .md issues at all.
101
+ const headingMatch = content.match(/^# (.+)$/m);
102
+ const id = parsed.id || path.basename(filePath);
103
+ const title = parsed.title ||
104
+ headingMatch?.[1] ||
105
+ path.basename(filePath).replace(/\.(md|ya?ml)$/, '');
98
106
  if (!id || !title) {
99
107
  log(`sentinelIssues: Skipping ${filePath} - missing id or title`);
100
108
  continue;
101
109
  }
102
- // Skip duplicates (primary takes precedence)
103
- if (seenIds.has(id)) {
104
- log(`sentinelIssues: Skipping duplicate ${id} from ${source} path`);
105
- continue;
110
+ // Two DIFFERENT issues can claim one id (ISS-0131). Dropping the second
111
+ // made it unreachable to read_issue/update_issue while the tool still
112
+ // reported success on the first — so keep both and mark them instead.
113
+ // (Cross-path duplicates of the SAME file are already deduped by
114
+ // filename in readFilesFromBothPaths, so this only ever fires on a real
115
+ // id collision.)
116
+ const isDuplicate = seenIds.has(id);
117
+ if (isDuplicate) {
118
+ log(`sentinelIssues: Duplicate id ${id} from ${source} path — both retained, marked ambiguous`);
106
119
  }
107
120
  seenIds.add(id);
108
121
  const issue = {
@@ -115,7 +128,8 @@ export async function listIssuesForProject(projectId) {
115
128
  tags: parsed.tags,
116
129
  created_at: parsed.created_at,
117
130
  updated_at: parsed.updated_at,
118
- description: parsed.description,
131
+ description: parsed.description ??
132
+ (fmMatch?.[2]?.trim() ? fmMatch[2].trim() : undefined),
119
133
  };
120
134
  // Copy any extra fields
121
135
  for (const key of Object.keys(parsed)) {
@@ -123,6 +137,8 @@ export async function listIssuesForProject(projectId) {
123
137
  issue[key] = parsed[key];
124
138
  }
125
139
  }
140
+ // Keep the on-disk filename so lookups can accept it as an ID
141
+ issue.filename = path.basename(filePath);
126
142
  issues.push(issue);
127
143
  }
128
144
  catch (err) {
@@ -130,6 +146,20 @@ export async function listIssuesForProject(projectId) {
130
146
  log(`sentinelIssues: Failed to parse ${filePath}: ${message}`);
131
147
  }
132
148
  }
149
+ // Mark EVERY member of a colliding id, not just the ones seen second — a
150
+ // caller holding the first file is in exactly as much danger as one holding
151
+ // the second, and neither can be safely written by id alone.
152
+ const byId = new Map();
153
+ for (const issue of issues) {
154
+ const key = issue.id.toUpperCase();
155
+ byId.set(key, [...(byId.get(key) ?? []), issue]);
156
+ }
157
+ for (const group of byId.values()) {
158
+ if (group.length > 1) {
159
+ for (const issue of group)
160
+ issue.duplicate_id = true;
161
+ }
162
+ }
133
163
  // Sort by ID (newest first)
134
164
  issues.sort((a, b) => extractIssueNumber(b.id) - extractIssueNumber(a.id));
135
165
  return issues;
@@ -137,74 +167,99 @@ export async function listIssuesForProject(projectId) {
137
167
  /**
138
168
  * Create a new issue for a project
139
169
  */
170
+ /**
171
+ * Create an issue.
172
+ *
173
+ * EPIC-0038 Phase 5: this used to be the second writer. It emitted `.yml` while
174
+ * the facade path (src/tools/sentinel.ts -> FsIssueRepository) emitted `.md`,
175
+ * into the same directory, from the same ISS-NNNN space. Converging the files
176
+ * while both writers ran would have left this one re-emitting `.yml` behind the
177
+ * migration — which is why the epic sequences behaviour before representation.
178
+ *
179
+ * So it now delegates. The name, the input contract and the return shape are
180
+ * all preserved; only the bytes on disk change. `SentinelIssue` is a subset of
181
+ * the canonical `Issue`, so the mapping back is total rather than lossy:
182
+ * `details` carries what this API calls `description`, and everything else is
183
+ * the same field under the same name.
184
+ *
185
+ * One field needs a decision rather than a mapping. This API has no `severity`
186
+ * and the canonical model wants one, so callers may now pass it and it defaults
187
+ * to 'med' — the neutral middle of ['low','med','high','critical'] — rather
188
+ * than inventing a severity from `priority`, which answers a different question
189
+ * (how bad it is, versus when it gets worked on).
190
+ */
140
191
  export async function createIssue(input) {
141
- const { projectId, title, description, epicId, priority, tags } = input;
142
- // Always write to .decibel/ (primary path)
192
+ const { projectId, title, description, epicId, priority, tags, severity } = input;
143
193
  const issuesDir = await getWritePath(projectId, ISSUES_SUBPATH);
144
194
  await ensureDir(issuesDir);
145
- // Find next issue number
146
- const existingIssues = await listIssuesForProject(projectId);
147
- const maxNum = existingIssues.reduce((max, issue) => Math.max(max, extractIssueNumber(issue.id)), 0);
148
- const newNum = maxNum + 1;
149
- const newId = formatIssueId(newNum);
150
- // Build filename
151
- const slug = slugify(title);
152
- const filename = `${newId}-${slug}.yml`;
153
- const filePath = path.join(issuesDir, filename);
154
- // Build issue object
155
- const now = new Date().toISOString();
156
- const issue = {
157
- id: newId,
195
+ const repo = new FsIssueRepository(issuesDir);
196
+ const stored = await repo.create({
158
197
  title,
159
- project: projectId,
160
- status: 'open',
198
+ details: description ?? '',
199
+ severity: severity ?? 'med',
161
200
  priority: priority || 'medium',
162
201
  tags: tags || [],
163
- created_at: now,
164
- updated_at: now,
165
- };
166
- if (epicId) {
167
- issue.epicId = epicId;
168
- }
169
- if (description) {
170
- issue.description = description;
171
- }
172
- // Build YAML content
173
- // Use a specific field order for cleaner output
174
- const yamlObj = {
202
+ epicId,
203
+ project: projectId,
204
+ });
205
+ const issue = stored.issue;
206
+ log(`sentinelIssues: Created issue at ${stored.path}`);
207
+ // Rebuilt in this API's shape, not returned raw, so existing callers keep the
208
+ // response they were written against.
209
+ const out = {
175
210
  id: issue.id,
176
211
  title: issue.title,
177
- project: issue.project,
212
+ project: issue.project ?? projectId,
178
213
  status: issue.status,
179
214
  priority: issue.priority,
215
+ tags: issue.tags,
216
+ created_at: issue.created_at,
217
+ // The canonical record omits updated_at until something updates it, but
218
+ // this API has always returned both on create. Echoing created_at keeps
219
+ // that contract without writing a redundant field to disk.
220
+ updated_at: issue.updated_at ?? issue.created_at,
221
+ filePath: stored.path,
180
222
  };
181
- if (epicId) {
182
- yamlObj.epic_id = epicId;
183
- }
184
- yamlObj.tags = issue.tags;
185
- yamlObj.created_at = issue.created_at;
186
- yamlObj.updated_at = issue.updated_at;
187
- if (description) {
188
- yamlObj.description = description;
189
- }
190
- const yamlContent = stringifyYaml(yamlObj, {
191
- lineWidth: 0, // Don't wrap lines
192
- });
193
- // Write file
194
- await fs.writeFile(filePath, yamlContent, 'utf-8');
195
- log(`sentinelIssues: Created issue at ${filePath}`);
196
- return {
197
- ...issue,
198
- filePath,
199
- };
223
+ if (issue.epicId)
224
+ out.epicId = issue.epicId;
225
+ if (issue.details)
226
+ out.description = issue.details;
227
+ return out;
228
+ }
229
+ /**
230
+ * Build the refusal for an id that names more than one record. Callers get the
231
+ * candidate filenames because each one is itself a valid, unambiguous id —
232
+ * without them the error would be a dead end rather than a next step.
233
+ */
234
+ function ambiguousIssueId(issueId, projectId, candidates) {
235
+ const names = candidates.map((c) => typeof c.filename === 'string' ? c.filename : String(c.title ?? '?'));
236
+ const err = new Error(`AMBIGUOUS_ISSUE_ID: "${issueId}" matches ${names.length} records in project "${projectId}", ` +
237
+ `so the target is undefined and nothing was changed. ` +
238
+ `Re-run with one of these filenames as issue_id: ${names.join(', ')}`);
239
+ err.name = 'AmbiguousIssueIdError';
240
+ return err;
200
241
  }
201
242
  /**
202
243
  * Get a single issue by ID (e.g., "ISS-0005") with full content
203
244
  */
204
245
  export async function getIssueById(projectId, issueId) {
246
+ // Accept every ID form other tools emit: frontmatter id (ISS-NNNN),
247
+ // filename with or without extension (what list_issues/close_issue use).
248
+ const norm = (s) => s.toUpperCase().replace(/\.(MD|YA?ML)$/, '');
205
249
  const issues = await listIssuesForProject(projectId);
206
- const normalizedId = issueId.toUpperCase();
207
- return issues.find((i) => i.id.toUpperCase() === normalizedId) ?? null;
250
+ const normalizedId = norm(issueId);
251
+ // Filename is the more specific form and can only match one record, so it
252
+ // wins outright — that keeps "retry with the filename" a working escape
253
+ // hatch out of an ambiguous id.
254
+ const byFilename = issues.filter((i) => typeof i.filename === 'string' && norm(i.filename) === normalizedId);
255
+ if (byFilename.length === 1)
256
+ return byFilename[0];
257
+ const byId = issues.filter((i) => norm(i.id) === normalizedId);
258
+ if (byId.length === 0)
259
+ return null;
260
+ if (byId.length > 1)
261
+ throw ambiguousIssueId(issueId, projectId, byId);
262
+ return byId[0];
208
263
  }
209
264
  /**
210
265
  * Update an existing issue — status, priority, tags, and/or append a note.
@@ -215,25 +270,51 @@ export async function updateIssue(input) {
215
270
  // Find the issue file
216
271
  const files = await readFilesFromBothPaths(projectId, ISSUES_SUBPATH);
217
272
  const normalizedId = issueId.toUpperCase();
218
- let matchedFile;
219
- for (const f of files) {
273
+ // Exact filename beats a prefix, so naming the file disambiguates a
274
+ // duplicate id. Checked first and returned outright.
275
+ const exact = files.filter((f) => path.basename(f.filePath).toUpperCase() === normalizedId);
276
+ // A bare `startsWith` had no boundary: "ISS-011" swallowed ISS-0110,
277
+ // ISS-0112 and ISS-0119, and `break` then wrote to whichever readdir
278
+ // happened to yield first. Require the id to end at a separator or the
279
+ // extension, and collect every hit rather than stopping at the first.
280
+ const prefixed = files.filter((f) => {
220
281
  const basename = path.basename(f.filePath).toUpperCase();
221
- if (basename.startsWith(normalizedId)) {
222
- matchedFile = f;
223
- break;
224
- }
225
- }
226
- if (!matchedFile) {
282
+ if (!basename.startsWith(normalizedId))
283
+ return false;
284
+ const rest = basename.slice(normalizedId.length);
285
+ return rest === '' || rest.startsWith('-') || /^\.(MD|YA?ML)$/.test(rest);
286
+ });
287
+ const matches = exact.length > 0 ? exact : prefixed;
288
+ if (matches.length === 0) {
227
289
  throw new Error(`Issue ${issueId} not found in project ${projectId}`);
228
290
  }
229
- // Read and parse
291
+ if (matches.length > 1) {
292
+ throw ambiguousIssueId(issueId, projectId, matches.map((f) => ({ filename: path.basename(f.filePath) })));
293
+ }
294
+ const matchedFile = matches[0];
295
+ // Read and parse. Two on-disk formats exist:
296
+ // 1. Markdown with `---` frontmatter delimiters + body (tools/sentinel.ts createIssue)
297
+ // 2. Pure YAML (this module's createIssue)
298
+ // The writer MUST preserve the source format — flattening a markdown file to
299
+ // bare YAML drops the delimiters, the `# Title` heading, and the body, which
300
+ // makes the issue invisible to frontmatter-based readers (silent data loss).
230
301
  const content = await fs.readFile(matchedFile.filePath, 'utf-8');
231
- const parsed = safeParseYaml(content);
302
+ const fmMatch = content.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/);
303
+ const parsed = fmMatch ? safeParseYaml(fmMatch[1]) : safeParseYaml(content);
304
+ let body = fmMatch ? fmMatch[2] : undefined;
232
305
  const changes = [];
233
306
  // Apply changes
234
307
  if (status && status !== parsed.status) {
235
308
  changes.push(`status: ${parsed.status} → ${status}`);
236
309
  parsed.status = status;
310
+ // Markdown records mirror the status into the body as `**Status:** x` for
311
+ // human readers. close_issue rewrites that line; this path did not, so a
312
+ // record moved to in_progress or closed here still read `open` to anyone
313
+ // opening the file. Frontmatter stayed correct, which is why the tools
314
+ // never noticed — the drift was only ever visible to people.
315
+ if (body !== undefined) {
316
+ body = body.replace(/^\*\*Status:\*\* .*$/m, `**Status:** ${status}`);
317
+ }
237
318
  }
238
319
  if (priority && priority !== parsed.priority) {
239
320
  changes.push(`priority: ${parsed.priority ?? 'unset'} → ${priority}`);
@@ -248,10 +329,15 @@ export async function updateIssue(input) {
248
329
  }
249
330
  }
250
331
  if (note) {
251
- const existing = parsed.description || '';
252
332
  const timestamp = new Date().toISOString().slice(0, 10);
253
- const appendedNote = `\n\n[${timestamp}] ${note}`;
254
- parsed.description = existing + appendedNote;
333
+ if (body !== undefined) {
334
+ // Markdown format: append to the body, keeping the heading/prose intact
335
+ body = `${body.replace(/\s+$/, '')}\n\n[${timestamp}] ${note}\n`;
336
+ }
337
+ else {
338
+ const existing = parsed.description || '';
339
+ parsed.description = `${existing}\n\n[${timestamp}] ${note}`;
340
+ }
255
341
  changes.push(`note appended`);
256
342
  }
257
343
  if (changes.length === 0) {
@@ -259,13 +345,14 @@ export async function updateIssue(input) {
259
345
  }
260
346
  // Update timestamp
261
347
  parsed.updated_at = new Date().toISOString();
262
- // Write back
263
- const yamlContent = stringifyYaml(parsed, { lineWidth: 0 });
348
+ // Write back in the same format the file came in
349
+ const yaml = stringifyYaml(parsed, { lineWidth: 0 });
350
+ const yamlContent = body !== undefined ? `---\n${yaml}---\n${body}` : yaml;
264
351
  // Write to the primary (.decibel) path
265
352
  const writeDir = await getWritePath(projectId, ISSUES_SUBPATH);
266
353
  await ensureDir(writeDir);
267
354
  const writePath = path.join(writeDir, path.basename(matchedFile.filePath));
268
- await fs.writeFile(writePath, yamlContent, 'utf-8');
355
+ await writeFileAtomic(writePath, yamlContent);
269
356
  log(`sentinelIssues: Updated issue ${issueId} at ${writePath} — ${changes.join(', ')}`);
270
357
  // Build return object
271
358
  const issue = {
@@ -1 +1 @@
1
- {"version":3,"file":"sentinelIssues.js","sourceRoot":"","sources":["../src/sentinelIssues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sentinelIssues.js","sourceRoot":"","sources":["../src/sentinelIssues.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -12,20 +12,29 @@
12
12
  // node dist/server.js --daemon install → install macOS launchd plist
13
13
  // node dist/server.js --daemon uninstall
14
14
  // node dist/server.js --daemon status
15
+ // node dist/server.js setup → multi-client install wizard
15
16
  // ============================================================================
17
+ // ---------------------------------------------------------------------------
18
+ // Static imports are deliberately confined to modules that pull in nothing
19
+ // heavy: node builtins, argv parsing, config files, daemon lifecycle.
20
+ //
21
+ // Everything that reaches the tool graph — the kernel, the HTTP server, the
22
+ // Supabase clients, the transports that embed them — is imported dynamically
23
+ // inside the branch that needs it. This is not stylistic. An ESM static import
24
+ // is evaluated at module load, before main() picks a mode, so a plain
25
+ // `import { createKernel } from './kernel.js'` loaded all 220 tool modules for
26
+ // every client including the ones that only proxy. Skipping the createKernel()
27
+ // CALL freed the registry and nothing else; the memory was in the import graph,
28
+ // which is why --thin measured WORSE than full stdio (113 MB vs 97 MB) when it
29
+ // first landed. Adding a static import of any tool-reaching module here
30
+ // silently undoes that. See scripts/measure-memory.mjs.
31
+ // ---------------------------------------------------------------------------
16
32
  import fs from 'fs';
17
33
  import path from 'path';
18
34
  import { getConfig, log } from './config.js';
19
- import { createKernel } from './kernel.js';
20
- import { StdioAdapter, HttpAdapter, BridgeAdapter } from './transports/index.js';
21
- import { parseHttpArgs } from './httpServer.js';
35
+ import { parseHttpArgs } from './httpArgs.js';
22
36
  import { checkRunning, writePid, removePid, installShutdownHandlers, handleDaemonSubcommand, getLogPath, rotateLog, checkCrashLoop, scheduleHealthReset, resetCrashes, AgentRegistry, } from './daemon.js';
23
37
  import { loadConfig } from './daemonConfig.js';
24
- import { getLicenseValidator } from './license.js';
25
- import { coordGarbageCollect } from './tools/coordinator/index.js';
26
- import { listProjects } from './projectRegistry.js';
27
- import { startPresenceWriter } from './agentPresence.js';
28
- import { startCommandDispatcher } from './agentCommands.js';
29
38
  const config = getConfig();
30
39
  log(`Starting Decibel MCP Server`);
31
40
  log(`Environment: ${config.env}`);
@@ -33,10 +42,16 @@ log(`Organization: ${config.org}`);
33
42
  log(`Root Directory: ${config.rootDir}`);
34
43
  if (process.env.DECIBEL_PRO === '1')
35
44
  log('Pro features: ENABLED');
36
- if (process.env.DECIBEL_APPS === '1')
37
- log('Apps: ENABLED');
45
+ // Apps tier is no longer an env flag — private facades come from the extension
46
+ // allowlist in ~/.decibel/config.yaml and the kernel logs what it loaded and
47
+ // what it refused. See runtime/extensions.ts.
38
48
  async function main() {
39
49
  const args = process.argv;
50
+ // Setup wizard — must run before any transport starts (EPIC-0035 Phase 1)
51
+ if (args[2] === 'setup') {
52
+ const { runSetup } = await import('./setup.js');
53
+ process.exit(await runSetup(args.slice(3)));
54
+ }
40
55
  const daemonMode = args.includes('--daemon');
41
56
  // Handle daemon subcommands (install, uninstall, status) — exits process
42
57
  if (daemonMode && handleDaemonSubcommand(args))
@@ -84,14 +99,30 @@ async function main() {
84
99
  log(`Daemon: log file at ${getLogPath()}`);
85
100
  // Pre-validate license key from config (fire and forget)
86
101
  if (daemonConfig.license?.key) {
102
+ const { getLicenseValidator } = await import('./license.js');
87
103
  getLicenseValidator().prevalidate(daemonConfig.license.key);
88
104
  }
89
105
  }
90
- // Create kernel
91
- const kernel = await createKernel();
106
+ // THIN MODE: this process owns no runtime and proxies to the shared daemon.
107
+ //
108
+ // The kernel must not be built here. `--bridge` already proxies tool CALLS,
109
+ // but building the kernel first means a bridge client still loads all 195
110
+ // tool modules, its own registry and its own caches — the memory is spent
111
+ // before the transport choice is made. Six clients at ~110 MB each, five of
112
+ // them paying for a runtime they immediately forward past. That single
113
+ // unconditional line is the whole of the 663 MB measured on 2026-08-30.
114
+ const thinMode = args.includes('--thin');
115
+ // Dynamic on purpose — see the import-block note above. The `await import`
116
+ // is what keeps kernel.js and its 220 tool modules out of a thin client's
117
+ // heap, not the null assignment.
118
+ const kernel = thinMode ? null : await (await import('./kernel.js')).createKernel();
92
119
  const adapters = [];
93
120
  // In daemon mode, log all dispatches to dispatch.jsonl (async buffered writes + rotation)
94
121
  if (daemonMode) {
122
+ // Structural, not defensive: --thin and --daemon are contradictory. The
123
+ // daemon IS the runtime everything else proxies to.
124
+ if (!kernel)
125
+ throw new Error('Daemon mode requires a local kernel — --thin and --daemon cannot be combined');
95
126
  const logsDir = path.join(process.env.HOME || '~', '.decibel', 'logs');
96
127
  fs.mkdirSync(logsDir, { recursive: true });
97
128
  const dispatchLogPath = path.join(logsDir, 'dispatch.jsonl');
@@ -164,6 +195,8 @@ async function main() {
164
195
  // Sweep stale agents from registry
165
196
  agentRegistry.sweepStale();
166
197
  // GC coordinator state across all registered projects
198
+ const { listProjects } = await import('./projectRegistry.js');
199
+ const { coordGarbageCollect } = await import('./tools/coordinator/index.js');
167
200
  const projects = listProjects();
168
201
  if (projects.length > 0) {
169
202
  const projectIds = projects.map(p => p.id);
@@ -181,17 +214,21 @@ async function main() {
181
214
  let stopPresence = () => { };
182
215
  let stopCommands = () => { };
183
216
  if (daemonMode) {
217
+ const { startPresenceWriter } = await import('./agentPresence.js');
218
+ const { startCommandDispatcher } = await import('./agentCommands.js');
184
219
  stopPresence = startPresenceWriter();
185
220
  stopCommands = startCommandDispatcher();
186
221
  }
187
222
  // Start transport(s)
188
223
  if (daemonMode) {
189
224
  // Daemon always starts HTTP
225
+ const { HttpAdapter } = await import('./transports/http.js');
190
226
  const http = new HttpAdapter();
191
227
  await http.start(kernel, transportConfig);
192
228
  adapters.push(http);
193
229
  // Optionally also start stdio (for dual-mode)
194
230
  if (args.includes('--stdio')) {
231
+ const { StdioAdapter } = await import('./transports/stdio.js');
195
232
  const stdio = new StdioAdapter();
196
233
  await stdio.start(kernel, transportConfig);
197
234
  adapters.push(stdio);
@@ -207,10 +244,24 @@ async function main() {
207
244
  });
208
245
  }
209
246
  else if (httpMode) {
247
+ const { HttpAdapter } = await import('./transports/http.js');
210
248
  const http = new HttpAdapter();
211
249
  await http.start(kernel, transportConfig);
212
250
  adapters.push(http);
213
251
  }
252
+ else if (thinMode) {
253
+ // A thin client never executes a tool locally, so a missing runtime is a
254
+ // startup failure rather than something to paper over. ensureRuntime will
255
+ // start one if none is serving; if it cannot, the error says why and what
256
+ // to run.
257
+ const thinIdx = args.indexOf('--thin');
258
+ const nextThinArg = args[thinIdx + 1];
259
+ const explicitUrl = nextThinArg && nextThinArg.startsWith('http') ? nextThinArg : undefined;
260
+ const { ThinStdioAdapter } = await import('./transports/thinStdio.js');
261
+ const thin = new ThinStdioAdapter(explicitUrl);
262
+ await thin.start(null, transportConfig);
263
+ adapters.push(thin);
264
+ }
214
265
  else if (args.includes('--bridge')) {
215
266
  // Bridge mode: stdio with daemon proxy
216
267
  const bridgeIdx = args.indexOf('--bridge');
@@ -218,11 +269,13 @@ async function main() {
218
269
  // If next arg looks like a URL, use it; otherwise auto-detect
219
270
  const explicitUrl = nextArg && nextArg.startsWith('http') ? nextArg : null;
220
271
  const daemonUrl = explicitUrl || `http://127.0.0.1:${transportConfig.port || 4888}`;
272
+ const { BridgeAdapter } = await import('./transports/bridge.js');
221
273
  const bridge = new BridgeAdapter(daemonUrl);
222
274
  await bridge.start(kernel, transportConfig);
223
275
  adapters.push(bridge);
224
276
  }
225
277
  else {
278
+ const { StdioAdapter } = await import('./transports/stdio.js');
226
279
  const stdio = new StdioAdapter();
227
280
  await stdio.start(kernel, transportConfig);
228
281
  adapters.push(stdio);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAEA,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAC/E,SAAS;AACT,mEAAmE;AACnE,6EAA6E;AAC7E,0EAA0E;AAC1E,mEAAmE;AACnE,oFAAoF;AACpF,4EAA4E;AAC5E,wEAAwE;AACxE,2CAA2C;AAC3C,wCAAwC;AACxC,+EAA+E;AAE/E,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,uBAAuB,EACvB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAE3B,GAAG,CAAC,6BAA6B,CAAC,CAAC;AACnC,GAAG,CAAC,gBAAgB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AAClC,GAAG,CAAC,iBAAiB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AACnC,GAAG,CAAC,mBAAmB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AACzC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG;IAAE,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAClE,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG;IAAE,GAAG,CAAC,eAAe,CAAC,CAAC;AAE3D,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE7C,yEAAyE;IACzE,IAAI,UAAU,IAAI,sBAAsB,CAAC,IAAI,CAAC;QAAE,OAAO;IAEvD,8BAA8B;IAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrC,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,yBAAyB;IACzB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAE5G,sDAAsD;IACtD,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;IAElC,gFAAgF;IAChF,MAAM,aAAa,GAAG,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjF,MAAM,eAAe,GAAoB;QACvC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QACpE,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,SAAS,EAAE,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC,UAAU;QACtD,cAAc;QACd,SAAS;QACT,eAAe;QACf,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,cAAc;QAChD,gBAAgB,EAAE,YAAY,CAAC,OAAO,EAAE,GAAG;QAC3C,aAAa;QACb,YAAY;KACb,CAAC;IAEF,sEAAsE;IACtE,IAAI,UAAU,EAAE,CAAC;QACf,6DAA6D;QAC7D,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,wCAAwC;QAC3D,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC;QACnC,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,+BAA+B,WAAW,IAAI,CAAC,CAAC;YAC9D,OAAO,CAAC,KAAK,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,QAAQ,EAAE,CAAC;QACX,mBAAmB,EAAE,CAAC,CAAC,yDAAyD;QAChF,GAAG,CAAC,4BAA4B,OAAO,CAAC,GAAG,UAAU,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,GAAG,CAAC,uBAAuB,UAAU,EAAE,EAAE,CAAC,CAAC;QAE3C,yDAAyD;QACzD,IAAI,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YAC9B,mBAAmB,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,0FAA0F;IAC1F,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACvE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEvD,+BAA+B;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,UAAU,KAAK,CAAC,CAAC;YACvC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;YAClD,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,eAAe;QACrC,MAAM,WAAW,GAAG,WAAW,KAAK,CAAC,CAAC;YACpC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;YACrC,CAAC,CAAC,CAAC,CAAC;QAEN,IAAI,wBAAwB,GAAG,CAAC,CAAC;QAEjC,uDAAuD;QACvD,IAAI,WAAW,GAAa,EAAE,CAAC;QAC/B,IAAI,UAAU,GAAyC,IAAI,CAAC;QAC5D,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;YAC7B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YACrC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,WAAW,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,kCAAkC;gBAClC,wBAAwB,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBACrD,IAAI,wBAAwB,IAAI,GAAG,EAAE,CAAC;oBACpC,wBAAwB,GAAG,CAAC,CAAC;oBAC7B,SAAS,CAAC,eAAe,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;gBAC3D,CAAC;gBACD,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,EAAE;YACxC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7C,sDAAsD;YACtD,IAAI,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBAC7B,IAAI,UAAU;oBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;gBACzC,UAAU,GAAG,IAAI,CAAC;gBAClB,WAAW,EAAE,CAAC;YAChB,CAAC;iBAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACvB,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC3B,UAAU,GAAG,IAAI,CAAC;oBAClB,WAAW,EAAE,CAAC;gBAChB,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE/B,kEAAkE;QAClE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,GAAG,CAAC,wCAAwC,CAAC,CAAC;YAC9C,SAAS,CAAC,eAAe,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;YACzD,SAAS,CAAC,aAAa,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,2BAA2B,eAAe,EAAE,CAAC,CAAC;QAClD,GAAG,CAAC,6BAA6B,eAAe,GAAG,IAAI,GAAG,IAAI,YAAY,WAAW,QAAQ,CAAC,CAAC;IACjG,CAAC;IAED,iFAAiF;IACjF,IAAI,UAAU,GAA0C,IAAI,CAAC;IAC7D,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,gBAAgB,IAAI,GAAG,CAAC;QACnE,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC;gBACH,mCAAmC;gBACnC,aAAa,CAAC,UAAU,EAAE,CAAC;gBAE3B,sDAAsD;gBACtD,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;gBAChC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC3C,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;QAC1B,GAAG,CAAC,8BAA8B,cAAc,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,oFAAoF;IACpF,4EAA4E;IAC5E,IAAI,YAAY,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IACxC,IAAI,YAAY,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IACxC,IAAI,UAAU,EAAE,CAAC;QACf,YAAY,GAAG,mBAAmB,EAAE,CAAC;QACrC,YAAY,GAAG,sBAAsB,EAAE,CAAC;IAC1C,CAAC;IAED,qBAAqB;IACrB,IAAI,UAAU,EAAE,CAAC;QACf,4BAA4B;QAC5B,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpB,8CAA8C;QAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,qCAAqC;QACrC,uBAAuB,CAAC,KAAK,IAAI,EAAE;YACjC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAC1C,IAAI,UAAU;gBAAE,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1C,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,uCAAuC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpC,8DAA8D;QAC9D,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,MAAM,SAAS,GAAG,WAAW,IAAI,oBAAoB,eAAe,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QAEpF,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,wBAAwB;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAEA,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAC/E,SAAS;AACT,mEAAmE;AACnE,6EAA6E;AAC7E,0EAA0E;AAC1E,mEAAmE;AACnE,oFAAoF;AACpF,4EAA4E;AAC5E,wEAAwE;AACxE,2CAA2C;AAC3C,wCAAwC;AACxC,mEAAmE;AACnE,+EAA+E;AAE/E,8EAA8E;AAC9E,2EAA2E;AAC3E,sEAAsE;AACtE,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,sEAAsE;AACtE,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,wEAAwE;AACxE,wDAAwD;AACxD,8EAA8E;AAC9E,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,uBAAuB,EACvB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAE3B,GAAG,CAAC,6BAA6B,CAAC,CAAC;AACnC,GAAG,CAAC,gBAAgB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AAClC,GAAG,CAAC,iBAAiB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AACnC,GAAG,CAAC,mBAAmB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AACzC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG;IAAE,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAClE,+EAA+E;AAC/E,6EAA6E;AAC7E,8CAA8C;AAE9C,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,0EAA0E;IAC1E,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE7C,yEAAyE;IACzE,IAAI,UAAU,IAAI,sBAAsB,CAAC,IAAI,CAAC;QAAE,OAAO;IAEvD,8BAA8B;IAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrC,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,yBAAyB;IACzB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAE5G,sDAAsD;IACtD,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;IAElC,gFAAgF;IAChF,MAAM,aAAa,GAAG,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjF,MAAM,eAAe,GAAoB;QACvC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QACpE,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,SAAS,EAAE,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC,UAAU;QACtD,cAAc;QACd,SAAS;QACT,eAAe;QACf,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,cAAc;QAChD,gBAAgB,EAAE,YAAY,CAAC,OAAO,EAAE,GAAG;QAC3C,aAAa;QACb,YAAY;KACb,CAAC;IAEF,sEAAsE;IACtE,IAAI,UAAU,EAAE,CAAC;QACf,6DAA6D;QAC7D,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,wCAAwC;QAC3D,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC;QACnC,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,+BAA+B,WAAW,IAAI,CAAC,CAAC;YAC9D,OAAO,CAAC,KAAK,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,QAAQ,EAAE,CAAC;QACX,mBAAmB,EAAE,CAAC,CAAC,yDAAyD;QAChF,GAAG,CAAC,4BAA4B,OAAO,CAAC,GAAG,UAAU,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,GAAG,CAAC,uBAAuB,UAAU,EAAE,EAAE,CAAC,CAAC;QAE3C,yDAAyD;QACzD,IAAI,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YAC9B,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAC7D,mBAAmB,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,EAAE;IACF,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,uEAAuE;IACvE,wEAAwE;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEzC,2EAA2E;IAC3E,0EAA0E;IAC1E,iCAAiC;IACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IACpF,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,0FAA0F;IAC1F,IAAI,UAAU,EAAE,CAAC;QACf,wEAAwE;QACxE,oDAAoD;QACpD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAC7G,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACvE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEvD,+BAA+B;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,UAAU,KAAK,CAAC,CAAC;YACvC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;YAClD,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,eAAe;QACrC,MAAM,WAAW,GAAG,WAAW,KAAK,CAAC,CAAC;YACpC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;YACrC,CAAC,CAAC,CAAC,CAAC;QAEN,IAAI,wBAAwB,GAAG,CAAC,CAAC;QAEjC,uDAAuD;QACvD,IAAI,WAAW,GAAa,EAAE,CAAC;QAC/B,IAAI,UAAU,GAAyC,IAAI,CAAC;QAC5D,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;YAC7B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YACrC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,WAAW,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,kCAAkC;gBAClC,wBAAwB,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBACrD,IAAI,wBAAwB,IAAI,GAAG,EAAE,CAAC;oBACpC,wBAAwB,GAAG,CAAC,CAAC;oBAC7B,SAAS,CAAC,eAAe,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;gBAC3D,CAAC;gBACD,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,EAAE;YACxC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7C,sDAAsD;YACtD,IAAI,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBAC7B,IAAI,UAAU;oBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;gBACzC,UAAU,GAAG,IAAI,CAAC;gBAClB,WAAW,EAAE,CAAC;YAChB,CAAC;iBAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACvB,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC3B,UAAU,GAAG,IAAI,CAAC;oBAClB,WAAW,EAAE,CAAC;gBAChB,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE/B,kEAAkE;QAClE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,GAAG,CAAC,wCAAwC,CAAC,CAAC;YAC9C,SAAS,CAAC,eAAe,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;YACzD,SAAS,CAAC,aAAa,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,2BAA2B,eAAe,EAAE,CAAC,CAAC;QAClD,GAAG,CAAC,6BAA6B,eAAe,GAAG,IAAI,GAAG,IAAI,YAAY,WAAW,QAAQ,CAAC,CAAC;IACjG,CAAC;IAED,iFAAiF;IACjF,IAAI,UAAU,GAA0C,IAAI,CAAC;IAC7D,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,gBAAgB,IAAI,GAAG,CAAC;QACnE,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC;gBACH,mCAAmC;gBACnC,aAAa,CAAC,UAAU,EAAE,CAAC;gBAE3B,sDAAsD;gBACtD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBAC9D,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;gBAC7E,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;gBAChC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC3C,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;QAC1B,GAAG,CAAC,8BAA8B,cAAc,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,oFAAoF;IACpF,4EAA4E;IAC5E,IAAI,YAAY,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IACxC,IAAI,YAAY,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IACxC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACnE,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACtE,YAAY,GAAG,mBAAmB,EAAE,CAAC;QACrC,YAAY,GAAG,sBAAsB,EAAE,CAAC;IAC1C,CAAC;IAED,qBAAqB;IACrB,IAAI,UAAU,EAAE,CAAC;QACf,4BAA4B;QAC5B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpB,8CAA8C;QAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,qCAAqC;QACrC,uBAAuB,CAAC,KAAK,IAAI,EAAE;YACjC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAC1C,IAAI,UAAU;gBAAE,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1C,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,UAAU;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5F,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,uCAAuC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpC,8DAA8D;QAC9D,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,MAAM,SAAS,GAAG,WAAW,IAAI,oBAAoB,eAAe,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QAEpF,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,wBAAwB;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}