@decibelsystems/tools 3.0.0 → 3.1.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 (253) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/dist/agentCommands.d.ts +0 -1
  3. package/dist/agentCommands.d.ts.map +1 -1
  4. package/dist/agentCommands.js +19 -8
  5. package/dist/agentCommands.js.map +1 -1
  6. package/dist/agentPresence.d.ts +5 -3
  7. package/dist/agentPresence.d.ts.map +1 -1
  8. package/dist/agentPresence.js +20 -29
  9. package/dist/agentPresence.js.map +1 -1
  10. package/dist/architectAdrs.d.ts +13 -1
  11. package/dist/architectAdrs.d.ts.map +1 -1
  12. package/dist/architectAdrs.js +83 -1
  13. package/dist/architectAdrs.js.map +1 -1
  14. package/dist/artifacts.d.ts +60 -0
  15. package/dist/artifacts.d.ts.map +1 -0
  16. package/dist/artifacts.js +208 -0
  17. package/dist/artifacts.js.map +1 -0
  18. package/dist/asks.d.ts +93 -0
  19. package/dist/asks.d.ts.map +1 -0
  20. package/dist/asks.js +383 -0
  21. package/dist/asks.js.map +1 -0
  22. package/dist/chat.d.ts +47 -0
  23. package/dist/chat.d.ts.map +1 -0
  24. package/dist/chat.js +288 -0
  25. package/dist/chat.js.map +1 -0
  26. package/dist/daemon.d.ts +14 -3
  27. package/dist/daemon.d.ts.map +1 -1
  28. package/dist/daemon.js +44 -14
  29. package/dist/daemon.js.map +1 -1
  30. package/dist/daemonConfig.d.ts +22 -0
  31. package/dist/daemonConfig.d.ts.map +1 -1
  32. package/dist/daemonConfig.js +11 -0
  33. package/dist/daemonConfig.js.map +1 -1
  34. package/dist/domain/issue.d.ts +19 -15
  35. package/dist/domain/issue.d.ts.map +1 -1
  36. package/dist/domain/issue.js +4 -32
  37. package/dist/domain/issue.js.map +1 -1
  38. package/dist/domain/issueCodec.d.ts.map +1 -1
  39. package/dist/domain/issueCodec.js +10 -0
  40. package/dist/domain/issueCodec.js.map +1 -1
  41. package/dist/domain/issueRepository.d.ts +35 -2
  42. package/dist/domain/issueRepository.d.ts.map +1 -1
  43. package/dist/domain/issueRepository.js +40 -1
  44. package/dist/domain/issueRepository.js.map +1 -1
  45. package/dist/domain/uid.d.ts +16 -0
  46. package/dist/domain/uid.d.ts.map +1 -0
  47. package/dist/domain/uid.js +43 -0
  48. package/dist/domain/uid.js.map +1 -0
  49. package/dist/facades/definitions.d.ts.map +1 -1
  50. package/dist/facades/definitions.js +46 -3
  51. package/dist/facades/definitions.js.map +1 -1
  52. package/dist/hq/defineAgent.d.ts.map +1 -1
  53. package/dist/hq/defineAgent.js +7 -11
  54. package/dist/hq/defineAgent.js.map +1 -1
  55. package/dist/httpServer.d.ts.map +1 -1
  56. package/dist/httpServer.js +201 -48
  57. package/dist/httpServer.js.map +1 -1
  58. package/dist/identity.d.ts +123 -0
  59. package/dist/identity.d.ts.map +1 -0
  60. package/dist/identity.js +312 -0
  61. package/dist/identity.js.map +1 -0
  62. package/dist/kernel.d.ts.map +1 -1
  63. package/dist/kernel.js +24 -1
  64. package/dist/kernel.js.map +1 -1
  65. package/dist/killSwitch.d.ts +117 -0
  66. package/dist/killSwitch.d.ts.map +1 -0
  67. package/dist/killSwitch.js +161 -0
  68. package/dist/killSwitch.js.map +1 -0
  69. package/dist/lib/atomicWrite.d.ts +23 -0
  70. package/dist/lib/atomicWrite.d.ts.map +1 -1
  71. package/dist/lib/atomicWrite.js +84 -0
  72. package/dist/lib/atomicWrite.js.map +1 -1
  73. package/dist/lib/recordIdAllocator.d.ts +21 -5
  74. package/dist/lib/recordIdAllocator.d.ts.map +1 -1
  75. package/dist/lib/recordIdAllocator.js +25 -7
  76. package/dist/lib/recordIdAllocator.js.map +1 -1
  77. package/dist/orgId.d.ts +23 -0
  78. package/dist/orgId.d.ts.map +1 -0
  79. package/dist/orgId.js +73 -0
  80. package/dist/orgId.js.map +1 -0
  81. package/dist/pairCli.d.ts +2 -0
  82. package/dist/pairCli.d.ts.map +1 -0
  83. package/dist/pairCli.js +97 -0
  84. package/dist/pairCli.js.map +1 -0
  85. package/dist/peerBroker.d.ts +40 -0
  86. package/dist/peerBroker.d.ts.map +1 -0
  87. package/dist/peerBroker.js +70 -0
  88. package/dist/peerBroker.js.map +1 -0
  89. package/dist/peerBrokerSupervisor.d.ts +21 -0
  90. package/dist/peerBrokerSupervisor.d.ts.map +1 -0
  91. package/dist/peerBrokerSupervisor.js +131 -0
  92. package/dist/peerBrokerSupervisor.js.map +1 -0
  93. package/dist/projectPaths.d.ts.map +1 -1
  94. package/dist/projectPaths.js +1 -19
  95. package/dist/projectPaths.js.map +1 -1
  96. package/dist/projectRegistry.d.ts +22 -0
  97. package/dist/projectRegistry.d.ts.map +1 -1
  98. package/dist/projectRegistry.js +58 -2
  99. package/dist/projectRegistry.js.map +1 -1
  100. package/dist/pty/boundary.d.ts +39 -0
  101. package/dist/pty/boundary.d.ts.map +1 -0
  102. package/dist/pty/boundary.js +100 -0
  103. package/dist/pty/boundary.js.map +1 -0
  104. package/dist/pty/errors.d.ts +6 -0
  105. package/dist/pty/errors.d.ts.map +1 -0
  106. package/dist/pty/errors.js +12 -0
  107. package/dist/pty/errors.js.map +1 -0
  108. package/dist/pty/fleet.d.ts +159 -0
  109. package/dist/pty/fleet.d.ts.map +1 -0
  110. package/dist/pty/fleet.js +543 -0
  111. package/dist/pty/fleet.js.map +1 -0
  112. package/dist/pty/launchProfile.d.ts +45 -0
  113. package/dist/pty/launchProfile.d.ts.map +1 -0
  114. package/dist/pty/launchProfile.js +149 -0
  115. package/dist/pty/launchProfile.js.map +1 -0
  116. package/dist/pty/openTerminal.d.ts +48 -0
  117. package/dist/pty/openTerminal.d.ts.map +1 -0
  118. package/dist/pty/openTerminal.js +185 -0
  119. package/dist/pty/openTerminal.js.map +1 -0
  120. package/dist/pty/pairDialog.d.ts +16 -0
  121. package/dist/pty/pairDialog.d.ts.map +1 -0
  122. package/dist/pty/pairDialog.js +121 -0
  123. package/dist/pty/pairDialog.js.map +1 -0
  124. package/dist/pty/pairing.d.ts +86 -0
  125. package/dist/pty/pairing.d.ts.map +1 -0
  126. package/dist/pty/pairing.js +351 -0
  127. package/dist/pty/pairing.js.map +1 -0
  128. package/dist/pty/routes.d.ts +49 -0
  129. package/dist/pty/routes.d.ts.map +1 -0
  130. package/dist/pty/routes.js +624 -0
  131. package/dist/pty/routes.js.map +1 -0
  132. package/dist/pty/sessions.d.ts +167 -0
  133. package/dist/pty/sessions.d.ts.map +1 -0
  134. package/dist/pty/sessions.js +513 -0
  135. package/dist/pty/sessions.js.map +1 -0
  136. package/dist/pty/tmux.d.ts +109 -0
  137. package/dist/pty/tmux.d.ts.map +1 -0
  138. package/dist/pty/tmux.js +271 -0
  139. package/dist/pty/tmux.js.map +1 -0
  140. package/dist/roster.d.ts +37 -0
  141. package/dist/roster.d.ts.map +1 -0
  142. package/dist/roster.js +126 -0
  143. package/dist/roster.js.map +1 -0
  144. package/dist/runtime/daemonMeta.d.ts +53 -0
  145. package/dist/runtime/daemonMeta.d.ts.map +1 -0
  146. package/dist/runtime/daemonMeta.js +121 -0
  147. package/dist/runtime/daemonMeta.js.map +1 -0
  148. package/dist/runtime/ensureRuntime.d.ts.map +1 -1
  149. package/dist/runtime/ensureRuntime.js +5 -10
  150. package/dist/runtime/ensureRuntime.js.map +1 -1
  151. package/dist/sentinelIssues.d.ts +16 -0
  152. package/dist/sentinelIssues.d.ts.map +1 -1
  153. package/dist/sentinelIssues.js +42 -1
  154. package/dist/sentinelIssues.js.map +1 -1
  155. package/dist/server.js +66 -5
  156. package/dist/server.js.map +1 -1
  157. package/dist/toolConfig.d.ts.map +1 -1
  158. package/dist/toolConfig.js +12 -0
  159. package/dist/toolConfig.js.map +1 -1
  160. package/dist/tools/agentic/agentQueue.d.ts.map +1 -1
  161. package/dist/tools/agentic/agentQueue.js +4 -0
  162. package/dist/tools/agentic/agentQueue.js.map +1 -1
  163. package/dist/tools/architect/index.d.ts +1 -0
  164. package/dist/tools/architect/index.d.ts.map +1 -1
  165. package/dist/tools/architect/index.js +45 -1
  166. package/dist/tools/architect/index.js.map +1 -1
  167. package/dist/tools/architect.d.ts.map +1 -1
  168. package/dist/tools/architect.js +59 -8
  169. package/dist/tools/architect.js.map +1 -1
  170. package/dist/tools/artifacts.d.ts +5 -0
  171. package/dist/tools/artifacts.d.ts.map +1 -0
  172. package/dist/tools/artifacts.js +89 -0
  173. package/dist/tools/artifacts.js.map +1 -0
  174. package/dist/tools/asks.d.ts +6 -0
  175. package/dist/tools/asks.d.ts.map +1 -0
  176. package/dist/tools/asks.js +104 -0
  177. package/dist/tools/asks.js.map +1 -0
  178. package/dist/tools/coordinator/index.d.ts +1 -0
  179. package/dist/tools/coordinator/index.d.ts.map +1 -1
  180. package/dist/tools/coordinator/index.js +42 -2
  181. package/dist/tools/coordinator/index.js.map +1 -1
  182. package/dist/tools/data-inspector.d.ts +1 -1
  183. package/dist/tools/data-inspector.d.ts.map +1 -1
  184. package/dist/tools/data-inspector.js +1 -1
  185. package/dist/tools/data-inspector.js.map +1 -1
  186. package/dist/tools/dojo/index.d.ts.map +1 -1
  187. package/dist/tools/dojo/index.js +52 -3
  188. package/dist/tools/dojo/index.js.map +1 -1
  189. package/dist/tools/dojo.d.ts +62 -1
  190. package/dist/tools/dojo.d.ts.map +1 -1
  191. package/dist/tools/dojo.js +84 -1
  192. package/dist/tools/dojo.js.map +1 -1
  193. package/dist/tools/guardian.d.ts +7 -0
  194. package/dist/tools/guardian.d.ts.map +1 -1
  195. package/dist/tools/guardian.js +146 -9
  196. package/dist/tools/guardian.js.map +1 -1
  197. package/dist/tools/index.d.ts.map +1 -1
  198. package/dist/tools/index.js +6 -0
  199. package/dist/tools/index.js.map +1 -1
  200. package/dist/tools/killswitch/index.d.ts +13 -0
  201. package/dist/tools/killswitch/index.d.ts.map +1 -0
  202. package/dist/tools/killswitch/index.js +138 -0
  203. package/dist/tools/killswitch/index.js.map +1 -0
  204. package/dist/tools/oracle/index.d.ts.map +1 -1
  205. package/dist/tools/oracle/index.js +8 -0
  206. package/dist/tools/oracle/index.js.map +1 -1
  207. package/dist/tools/oracle.d.ts +7 -0
  208. package/dist/tools/oracle.d.ts.map +1 -1
  209. package/dist/tools/oracle.js +22 -6
  210. package/dist/tools/oracle.js.map +1 -1
  211. package/dist/tools/provenance.d.ts +11 -2
  212. package/dist/tools/provenance.d.ts.map +1 -1
  213. package/dist/tools/provenance.js +26 -24
  214. package/dist/tools/provenance.js.map +1 -1
  215. package/dist/tools/registry/index.d.ts.map +1 -1
  216. package/dist/tools/registry/index.js +24 -0
  217. package/dist/tools/registry/index.js.map +1 -1
  218. package/dist/tools/sentinel/index.d.ts.map +1 -1
  219. package/dist/tools/sentinel/index.js +54 -2
  220. package/dist/tools/sentinel/index.js.map +1 -1
  221. package/dist/tools/sentinel.d.ts +50 -0
  222. package/dist/tools/sentinel.d.ts.map +1 -1
  223. package/dist/tools/sentinel.js +72 -7
  224. package/dist/tools/sentinel.js.map +1 -1
  225. package/dist/tools/shared/runTracker.d.ts +2 -0
  226. package/dist/tools/shared/runTracker.d.ts.map +1 -1
  227. package/dist/tools/shared/runTracker.js +38 -0
  228. package/dist/tools/shared/runTracker.js.map +1 -1
  229. package/dist/tools/swarm.d.ts +3 -1
  230. package/dist/tools/swarm.d.ts.map +1 -1
  231. package/dist/tools/swarm.js +6 -12
  232. package/dist/tools/swarm.js.map +1 -1
  233. package/dist/tools/voice/index.d.ts +1 -0
  234. package/dist/tools/voice/index.d.ts.map +1 -1
  235. package/dist/tools/voice/index.js +33 -2
  236. package/dist/tools/voice/index.js.map +1 -1
  237. package/dist/tools/voice.d.ts +48 -1
  238. package/dist/tools/voice.d.ts.map +1 -1
  239. package/dist/tools/voice.js +63 -3
  240. package/dist/tools/voice.js.map +1 -1
  241. package/dist/transports/bridge.d.ts.map +1 -1
  242. package/dist/transports/bridge.js +2 -1
  243. package/dist/transports/bridge.js.map +1 -1
  244. package/dist/transports/mcp.d.ts.map +1 -1
  245. package/dist/transports/mcp.js +2 -1
  246. package/dist/transports/mcp.js.map +1 -1
  247. package/dist/version.d.ts +5 -0
  248. package/dist/version.d.ts.map +1 -0
  249. package/dist/version.js +23 -0
  250. package/dist/version.js.map +1 -0
  251. package/package.json +13 -2
  252. package/templates/AGENT.md +3 -0
  253. package/templates/CLAUDE-decibel.md +11 -0
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/facades/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/facades/definitions.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,2EAA2E;AAC3E,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAC/E,EAAE;AACF,4EAA4E;AAC5E,oEAAoE;AACpE,+EAA+E;AAI/E,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,0lBAA0lB;QACvmB,kBAAkB,EAAE,gDAAgD;QACpE,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,YAAY,EAAE,uBAAuB;YACrC,UAAU,EAAE,qBAAqB;YACjC,YAAY,EAAE,sBAAsB;YACpC,WAAW,EAAE,sBAAsB;YACnC,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,mBAAmB;YAC7B,UAAU,EAAE,qBAAqB;YACjC,SAAS,EAAE,oBAAoB;YAC/B,WAAW,EAAE,sBAAsB;YACnC,YAAY,EAAE,uBAAuB;YACrC,gBAAgB,EAAE,2BAA2B;YAC7C,gBAAgB,EAAE,yBAAyB;YAC3C,eAAe,EAAE,wBAAwB;YACzC,aAAa,EAAE,uBAAuB;YACtC,cAAc,EAAE,wBAAwB;YACxC,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,mBAAmB;YAC9B,aAAa,EAAE,wBAAwB;YACvC,WAAW,EAAE,sBAAsB;YACnC,aAAa,EAAE,wBAAwB;YACvC,SAAS,EAAE,oBAAoB;YAC/B,WAAW,EAAE,sBAAsB;YACnC,mBAAmB,EAAE,8BAA8B;SACpD;KACF;IAED;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,wfAAwf;QACrgB,kBAAkB,EAAE,mDAAmD;QACvE,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,UAAU,EAAE,qBAAqB;YACjC,QAAQ,EAAE,mBAAmB;YAC7B,SAAS,EAAE,oBAAoB;YAC/B,UAAU,EAAE,sBAAsB;YAClC,aAAa,EAAE,wBAAwB;YACvC,WAAW,EAAE,uBAAuB;YACpC,aAAa,EAAE,wBAAwB;YACvC,iBAAiB,EAAE,4BAA4B;YAC/C,oBAAoB,EAAE,gCAAgC;SACvD;KACF;IAED;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,wbAAwb;QACrc,kBAAkB,EAAE,oDAAoD;QACxE,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,QAAQ,EAAE,eAAe;YACzB,WAAW,EAAE,kBAAkB;YAC/B,eAAe,EAAE,sBAAsB;YACvC,mBAAmB,EAAE,0BAA0B;YAC/C,cAAc,EAAE,qBAAqB;YACrC,aAAa,EAAE,oBAAoB;YACnC,YAAY,EAAE,mBAAmB;YACjC,YAAY,EAAE,mBAAmB;YACjC,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,YAAY;SACpB;KACF;IAED;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,2qBAA2qB;QACxrB,kBAAkB,EAAE,6EAA6E;QACjG,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,eAAe,EAAE,iCAAiC;YAClD,eAAe,EAAE,0BAA0B;YAC3C,gBAAgB,EAAE,2BAA2B;YAC7C,QAAQ,EAAE,eAAe;YACzB,YAAY,EAAE,uBAAuB;YACrC,WAAW,EAAE,sBAAsB;YACnC,YAAY,EAAE,uBAAuB;YACrC,MAAM,EAAE,wBAAwB;YAChC,KAAK,EAAE,gBAAgB;YACvB,YAAY,EAAE,uBAAuB;YACrC,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,qBAAqB;YAC5B,YAAY,EAAE,uBAAuB;YACrC,eAAe,EAAE,0BAA0B;YAC3C,aAAa,EAAE,wBAAwB;YACvC,aAAa,EAAE,wBAAwB;YACvC,UAAU,EAAE,qBAAqB;SAClC;QACD,OAAO,EAAE;YACP,gBAAgB,EAAE,kBAAkB;YACpC,eAAe,EAAE,iBAAiB;YAClC,IAAI,EAAE,UAAU;SACjB;KACF;IAED;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,gWAAgW;QAC7W,kBAAkB,EAAE,mCAAmC;QACvD,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,UAAU,EAAE,gBAAgB;YAC5B,aAAa,EAAE,mBAAmB;YAClC,YAAY,EAAE,kBAAkB;YAChC,aAAa,EAAE,mBAAmB;YAClC,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,YAAY;YACpB,kBAAkB,EAAE,wBAAwB;SAC7C;KACF;IAED;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,2TAA2T;QACxU,kBAAkB,EAAE,sCAAsC;QAC1D,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,MAAM,EAAE,iBAAiB;YACzB,SAAS,EAAE,oBAAoB;YAC/B,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,sBAAsB;SACpC;KACF;IAED;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,2UAA2U;QACxV,kBAAkB,EAAE,0CAA0C;QAC9D,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,YAAY,EAAE,qBAAqB;YACnC,iBAAiB,EAAE,0BAA0B;YAC7C,cAAc,EAAE,uBAAuB;YACvC,OAAO,EAAE,gBAAgB;SAC1B;KACF;IAED;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6VAA6V;QAC1W,kBAAkB,EAAE,0CAA0C;QAC9D,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,cAAc;YACpB,eAAe,EAAE,wBAAwB;YACzC,cAAc,EAAE,wBAAwB;YACxC,SAAS,EAAE,kBAAkB;YAC7B,gBAAgB,EAAE,wBAAwB;YAC1C,UAAU,EAAE,mBAAmB;SAChC;KACF;IAED;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,waAAwa;QACrb,kBAAkB,EAAE,qCAAqC;QACzD,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,UAAU,EAAE,mBAAmB;YAC/B,QAAQ,EAAE,iBAAiB;YAC3B,SAAS,EAAE,kBAAkB;YAC7B,SAAS,EAAE,kBAAkB;YAC7B,YAAY,EAAE,qBAAqB;YACnC,UAAU,EAAE,yBAAyB;YACrC,YAAY,EAAE,2BAA2B;YACzC,WAAW,EAAE,0BAA0B;YACvC,YAAY,EAAE,qBAAqB;YACnC,KAAK,EAAE,cAAc;SACtB;KACF;IAED;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,sVAAsV;QACnW,kBAAkB,EAAE,yCAAyC;QAC7D,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,IAAI,EAAE,sBAAsB;YAC5B,GAAG,EAAE,qBAAqB;YAC1B,KAAK,EAAE,uBAAuB;YAC9B,OAAO,EAAE,yBAAyB;YAClC,YAAY,EAAE,sBAAsB;YACpC,YAAY,EAAE,sBAAsB;YACpC,aAAa,EAAE,uBAAuB;YACtC,aAAa,EAAE,uBAAuB;SACvC;KACF;IAED;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,sWAAsW;QACnX,kBAAkB,EAAE,wCAAwC;QAC5D,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,gBAAgB;YACxB,cAAc,EAAE,wBAAwB;YACxC,YAAY,EAAE,sBAAsB;YACpC,UAAU,EAAE,oBAAoB;YAChC,gBAAgB,EAAE,0BAA0B;YAC5C,cAAc,EAAE,wBAAwB;SACzC;KACF;IAED;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,8RAA8R;QAC3S,kBAAkB,EAAE,kCAAkC;QACtD,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,KAAK,EAAE,gBAAgB;YACvB,SAAS,EAAE,oBAAoB;YAC/B,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,iBAAiB;YACzB,WAAW,EAAE,sBAAsB;SACpC;KACF;IAED;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,oSAAoS;QACjT,kBAAkB,EAAE,wCAAwC;QAC5D,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,QAAQ,EAAE,mBAAmB;YAC7B,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,iBAAiB;YACzB,WAAW,EAAE,sBAAsB;YACnC,YAAY,EAAE,uBAAuB;YACrC,cAAc,EAAE,yBAAyB;SAC1C;KACF;IAED;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,iWAAiW;QAC9W,kBAAkB,EAAE,4CAA4C;QAChE,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,QAAQ,EAAE,gBAAgB;YAC1B,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,gBAAgB;YAC1B,SAAS,EAAE,iBAAiB;YAC5B,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,aAAa;YACpB,GAAG,EAAE,WAAW;SACjB;KACF;IAED;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,ohBAAohB;QACjiB,kBAAkB,EAAE,iDAAiD;QACrE,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,aAAa,EAAE,qBAAqB;YACpC,YAAY,EAAE,oBAAoB;YAClC,cAAc,EAAE,sBAAsB;YACtC,aAAa,EAAE,qBAAqB;YACpC,aAAa,EAAE,qBAAqB;YACpC,WAAW,EAAE,mBAAmB;YAChC,YAAY,EAAE,oBAAoB;YAClC,UAAU,EAAE,kBAAkB;YAC9B,YAAY,EAAE,oBAAoB;YAClC,cAAc,EAAE,sBAAsB;YACtC,cAAc,EAAE,sBAAsB;SACvC;KACF;IAED;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,+RAA+R;QAC5S,kBAAkB,EAAE,qCAAqC;QACzD,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,GAAG,EAAE,cAAc;YACnB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,kBAAkB;SAC5B;KACF;IAED;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,sqBAAsqB;QACnrB,kBAAkB,EAAE,4DAA4D;QAChF,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,GAAG,EAAE,cAAc;YACnB,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,kBAAkB;YAC3B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,gBAAgB;YACxB,UAAU,EAAE,YAAY;YACxB,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,aAAa;SAC3B;KACF;IAGD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,+JAA+J;QAC5K,kBAAkB,EAAE,eAAe;QACnC,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,eAAe;SACtB;KACF;IAED;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,mOAAmO;QAChP,kBAAkB,EAAE,6BAA6B;QACjD,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB;SACvB;KACF;IAED;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,4LAA4L;QACzM,kBAAkB,EAAE,kBAAkB;QACtC,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,IAAI,EAAE,iBAAiB;SACxB;KACF;IAED;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,6JAA6J;QAC1K,kBAAkB,EAAE,4BAA4B;QAChD,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,GAAG,EAAE,eAAe;YACpB,OAAO,EAAE,uBAAuB;SACjC;KACF;IAED;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,wFAAwF;YACxF,wFAAwF;YACxF,sFAAsF;YACtF,2FAA2F;YAC3F,2FAA2F;YAC3F,sEAAsE;QACxE,kBAAkB,EAAE,oCAAoC;QACxD,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,mBAAmB;YAC3B,MAAM,EAAE,mBAAmB;SAC5B;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,6YAA6Y;QAC1Z,kBAAkB,EAAE,+CAA+C;QACnE,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,SAAS,EAAE,oBAAoB;YAC/B,YAAY,EAAE,uBAAuB;YACrC,SAAS,EAAE,oBAAoB;YAC/B,YAAY,EAAE,uBAAuB;YACrC,WAAW,EAAE,sBAAsB;YACnC,MAAM,EAAE,iBAAiB;SAC1B;KACF;IAED;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,yQAAyQ;QACtR,kBAAkB,EAAE,wBAAwB;QAC5C,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,IAAI,EAAE,YAAY;SACnB;KACF;IAED;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,2UAA2U;QACxV,kBAAkB,EAAE,oCAAoC;QACxD,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,QAAQ,EAAE,oBAAoB;YAC9B,aAAa,EAAE,yBAAyB;SACzC;KACF;IAED;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,yWAAyW;QACtX,kBAAkB,EAAE,uCAAuC;QAC3D,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,UAAU;SAChB;KACF;IAED;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,gbAAgb;QAC7b,kBAAkB,EAAE,sCAAsC;QAC1D,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,GAAG,EAAE,cAAc;YACnB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,iBAAiB;SAC1B;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,4dAA4d;QACze,kBAAkB,EAAE,wCAAwC;QAC5D,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,KAAK,EAAE,eAAe;YACtB,YAAY,EAAE,sBAAsB;YACpC,YAAY,EAAE,sBAAsB;YACpC,YAAY,EAAE,sBAAsB;SACrC;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,ieAAie;QAC9e,kBAAkB,EAAE,yDAAyD;QAC7E,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,GAAG,EAAE,eAAe;YACpB,MAAM,EAAE,kBAAkB;YAC1B,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,kBAAkB;YAC1B,OAAO,EAAE,mBAAmB;SAC7B;KACF;CACF,CAAC;AAEF,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,iXAAiX;QAC9X,kBAAkB,EAAE,0BAA0B;QAC9C,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,KAAK;QACX,OAAO,EAAE;YACP,SAAS,EAAE,iBAAiB;YAC5B,UAAU,EAAE,kBAAkB;YAC9B,aAAa,EAAE,qBAAqB;YACpC,aAAa,EAAE,qBAAqB;YACpC,UAAU,EAAE,kBAAkB;YAC9B,OAAO,EAAE,eAAe;SACzB;KACF;IAED;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,8bAA8b;QAC3c,kBAAkB,EAAE,sCAAsC;QAC1D,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,KAAK;QACX,OAAO,EAAE;YACP,WAAW,EAAE,wBAAwB;YACrC,YAAY,EAAE,yBAAyB;YACvC,aAAa,EAAE,0BAA0B;YACzC,aAAa,EAAE,0BAA0B;YACzC,YAAY,EAAE,yBAAyB;YACvC,eAAe,EAAE,4BAA4B;YAC7C,eAAe,EAAE,4BAA4B;SAC9C;KACF;IAED;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kdAAkd;QAC/d,kBAAkB,EAAE,uCAAuC;QAC3D,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,KAAK;QACX,OAAO,EAAE;YACP,cAAc,EAAE,uBAAuB;YACvC,gBAAgB,EAAE,yBAAyB;YAC3C,eAAe,EAAE,wBAAwB;YACzC,eAAe,EAAE,wBAAwB;YACzC,cAAc,EAAE,uBAAuB;YACvC,cAAc,EAAE,uBAAuB;YACvC,YAAY,EAAE,qBAAqB;YACnC,aAAa,EAAE,sBAAsB;YACrC,UAAU,EAAE,mBAAmB;YAC/B,SAAS,EAAE,kBAAkB;YAC7B,SAAS,EAAE,kBAAkB;YAC7B,UAAU,EAAE,mBAAmB;YAC/B,eAAe,EAAE,wBAAwB;YACzC,SAAS,EAAE,kBAAkB;YAC7B,WAAW,EAAE,oBAAoB;SAClC;KACF;IAED;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,waAAwa;QACrb,kBAAkB,EAAE,gDAAgD;QACpE,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,KAAK;QACX,OAAO,EAAE;YACP,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,eAAe;YACvB,WAAW,EAAE,oBAAoB;YACjC,cAAc,EAAE,uBAAuB;YACvC,YAAY,EAAE,qBAAqB;SACpC;KACF;IAED;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6qBAA6qB;QAC1rB,kBAAkB,EAAE,uDAAuD;QAC3E,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,KAAK;QACX,OAAO,EAAE;YACP,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,cAAc;YACpB,YAAY,EAAE,sBAAsB;YACpC,WAAW,EAAE,qBAAqB;YAClC,UAAU,EAAE,oBAAoB;YAChC,YAAY,EAAE,sBAAsB;YACpC,OAAO,EAAE,iBAAiB;YAC1B,UAAU,EAAE,oBAAoB;YAChC,UAAU,EAAE,oBAAoB;SACjC;KACF;IAED,yEAAyE;IACzE,EAAE;IACF,0EAA0E;IAC1E,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,EAAE,MAAM;YACZ,WAAW,EACT,qjBAAqjB;YACvjB,kBAAkB,EAAE,2CAA2C;YAC/D,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,KAAc;YACpB,SAAS,EAAE,IAAI;YACf,OAAO,EAAE;gBACP,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,aAAa;aACtB;SACF,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;CACT,CAAC;AAEF,+EAA+E;AAC/E,yDAAyD;AACzD,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,6EAA6E;AAC7E,6EAA6E;AAC7E,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,+EAA+E;AAC/E,0EAA0E;AAC1E,uEAAuE;AAEvE,+EAA+E;AAC/E,0CAA0C;AAC1C,+EAA+E;AAC/E,4EAA4E;AAC5E,qEAAqE;AACrE,0EAA0E;AAC1E,yDAAyD;AACzD,EAAE;AACF,2EAA2E;AAC3E,yEAAyE;AACzE,iFAAiF;AACjF,+EAA+E;AAE/E,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,8EAA8E;AAC9E,gFAAgF;AAChF,uBAAuB;AACvB,MAAM,CAAC,MAAM,oBAAoB,GAAiB,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"defineAgent.d.ts","sourceRoot":"","sources":["../../src/hq/defineAgent.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EAIZ,MAAM,YAAY,CAAC;AAIpB,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO7E;AAuBD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CA4HhF"}
1
+ {"version":3,"file":"defineAgent.d.ts","sourceRoot":"","sources":["../../src/hq/defineAgent.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EAIZ,MAAM,YAAY,CAAC;AAIpB,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO7E;AAuBD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CA4HhF"}
@@ -4,9 +4,7 @@
4
4
  // register → heartbeat → poll command inbox → onCommand → ack. All over the local
5
5
  // daemon's localhost HTTP endpoints; the SDK never holds Supabase creds.
6
6
  // ============================================================================
7
- import os from 'os';
8
- import fs from 'fs';
9
- import path from 'path';
7
+ import { advertisedPort, DEFAULT_DAEMON_PORT } from '../runtime/daemonMeta.js';
10
8
  // Exported for unit tests only — NOT re-exported from index.ts, so it stays off
11
9
  // the public @decibelsystems/tools/hq surface.
12
10
  export function toMs(v, fallback) {
@@ -20,17 +18,15 @@ export function toMs(v, fallback) {
20
18
  const n = parseInt(m[1], 10);
21
19
  return m[2] === 's' ? n * 1000 : m[2] === 'm' ? n * 60_000 : m[2] === 'ms' ? n : n * 1000;
22
20
  }
23
- /** Discover the daemon URL: explicit > ~/.decibel/daemon.meta port > :4888. */
21
+ /**
22
+ * Discover the daemon URL: explicit > ~/.decibel/daemon.meta port > :4888.
23
+ * An entry whose pid is no longer running is skipped rather than dialled
24
+ * (ISS-0179) — see runtime/daemonMeta.ts.
25
+ */
24
26
  function resolveDaemonUrl(explicit) {
25
27
  if (explicit)
26
28
  return explicit.replace(/\/$/, '');
27
- try {
28
- const meta = JSON.parse(fs.readFileSync(path.join(os.homedir(), '.decibel', 'daemon.meta'), 'utf-8'));
29
- if (meta && typeof meta.port === 'number')
30
- return `http://127.0.0.1:${meta.port}`;
31
- }
32
- catch { /* fall through */ }
33
- return 'http://127.0.0.1:4888';
29
+ return `http://127.0.0.1:${advertisedPort() ?? DEFAULT_DAEMON_PORT}`;
34
30
  }
35
31
  async function postJson(url, body, timeoutMs = 4000) {
36
32
  const res = await fetch(url, {
@@ -1 +1 @@
1
- {"version":3,"file":"defineAgent.js","sourceRoot":"","sources":["../../src/hq/defineAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defineAgent.js","sourceRoot":"","sources":["../../src/hq/defineAgent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"httpServer.d.ts","sourceRoot":"","sources":["../src/httpServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAkBnE,OAAO,KAAK,EAAE,UAAU,EAAkC,MAAM,aAAa,CAAC;AAI9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA6ftD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,UAAU,EAC1B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAk4D3B;AAKD,OAAO,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"httpServer.d.ts","sourceRoot":"","sources":["../src/httpServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AA2BH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAmBnE,OAAO,KAAK,EAAE,UAAU,EAAkC,MAAM,aAAa,CAAC;AAI9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAogBtD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,UAAU,EAC1B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAwgE3B;AAKD,OAAO,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC"}
@@ -25,7 +25,13 @@
25
25
  * { "status": "error", "error": "...", "code": "..." }
26
26
  */
27
27
  import { createServer } from 'http';
28
- import { timingSafeEqual, randomBytes } from 'crypto';
28
+ import { randomBytes } from 'crypto';
29
+ import { isLoopbackPeer, isAllowedOrigin, presentedBearer, respondToPnaPreflight, timingSafeTokenCompare, } from './pty/boundary.js';
30
+ import { pairingOf } from './pty/pairing.js';
31
+ import { isSessionWritePath, isSessionAttachPath, handleSessionWrite, handleSessionUpgrade, closeAllAttachSockets, sessionAuthConfig, handleChatWrite, handlePair, isPairPath, applyPairingAuth, } from './pty/routes.js';
32
+ import { readChat } from './chat.js';
33
+ import { listHostedSessions, SessionError } from './pty/sessions.js';
34
+ import { fleet } from './pty/fleet.js';
29
35
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
30
36
  import { readFileSync, existsSync } from 'fs';
31
37
  import { fileURLToPath } from 'url';
@@ -33,14 +39,17 @@ import { dirname, join, resolve } from 'path';
33
39
  import { log } from './config.js';
34
40
  import { writeLocalAgentSession } from './agentPresence.js';
35
41
  import { drainCommands, setSessionToken, getSessionToken, dropSessionToken, ackOwnerOf, clearAckOwner, } from './agentInbox.js';
36
- import { settleCommandFromAck, ORG_ID } from './agentCommands.js';
42
+ import { settleCommandFromAck } from './agentCommands.js';
43
+ import { getOrgId } from './orgId.js';
37
44
  import { isSupabaseConfigured, getSupabaseServiceClient } from './lib/supabase.js';
38
45
  import { shouldQueueForAgent, parseToolCall } from './httpQueueDetection.js';
39
46
  import { getExtensionDiagnostics } from './kernel.js';
40
47
  import { getLicenseValidator } from './license.js';
41
48
  import { listProjects } from './projectRegistry.js';
42
- import { setDaemonPort } from './daemon.js';
49
+ import { setDaemonPort, clearDaemonPort } from './daemon.js';
43
50
  import { RUNTIME_PROTOCOL_VERSION } from './runtime/protocol.js';
51
+ import { daemonStateDir } from './runtime/daemonMeta.js';
52
+ import { PACKAGE } from './version.js';
44
53
  import { wrapSuccess, wrapError, envelopeHttpStatus, } from './lib/envelope.js';
45
54
  import { listEpics, listRepoIssues, isProjectResolutionError, } from './tools/sentinel.js';
46
55
  import { voiceInboxAdd, } from './tools/voice.js';
@@ -85,6 +94,21 @@ class RateLimiter {
85
94
  entry.count++;
86
95
  return entry.count <= limit;
87
96
  }
97
+ /**
98
+ * A named bucket with its own limit, outside the ip:/agent: namespaces so no
99
+ * header can land a request in it.
100
+ */
101
+ checkBucket(bucket, limit) {
102
+ const key = `bucket:${bucket}`;
103
+ const now = Date.now();
104
+ const entry = this.windows.get(key);
105
+ if (!entry || now - entry.start > 60_000) {
106
+ this.windows.set(key, { count: 1, start: now });
107
+ return true;
108
+ }
109
+ entry.count++;
110
+ return entry.count <= limit;
111
+ }
88
112
  /** Set a per-agent RPM override */
89
113
  setAgentLimit(agentId, rpm) {
90
114
  this.agentLimits.set(agentId, rpm);
@@ -104,29 +128,31 @@ class RateLimiter {
104
128
  }
105
129
  }
106
130
  // ============================================================================
107
- // Security: Timing-Safe Token Comparison
131
+ // Security: shared trust boundary (src/pty/boundary.ts)
108
132
  // ============================================================================
109
- function timingSafeTokenCompare(provided, expected) {
110
- const a = Buffer.from(provided, 'utf-8');
111
- const b = Buffer.from(expected, 'utf-8');
112
- if (a.length !== b.length) {
113
- // Still do a comparison to keep timing constant
114
- timingSafeEqual(a, a);
133
+ // The timing-safe compare and the loopback check live in one module so the REST
134
+ // surface and the session/attach surface cannot drift apart.
135
+ //
136
+ // isLocalAgentPeer is the trust boundary for the /agents/* endpoints: ONLY a
137
+ // process on this machine may register/poll/ack a local runtime (the 127.0.0.1
138
+ // bind is the principal — confused-deputy rule).
139
+ const isLocalAgentPeer = isLoopbackPeer;
140
+ /** Request headers any allowed browser origin may send. */
141
+ const GENERIC_ALLOWED_HEADERS = [
142
+ 'Content-Type', 'Authorization', 'Mcp-Session-Id', 'Accept', 'X-Agent-Id', 'X-Run-Id',
143
+ 'X-License-Key', 'X-Allowed-Facades', 'X-Scope', 'X-Request-Id', 'X-Parent-Call-Id',
144
+ 'X-Engagement-Mode', 'X-User-Key', 'X-Org-Key',
145
+ 'X-Pairing-Id', 'X-Pairing-Nonce', 'X-Pairing-Iat', 'X-Pairing-Sig',
146
+ ];
147
+ /** The request carries the daemon auth_token or the sessions token as its bearer. */
148
+ function holdsLocalBearer(req, daemonToken) {
149
+ const presented = presentedBearer(req);
150
+ if (!presented)
115
151
  return false;
116
- }
117
- return timingSafeEqual(a, b);
118
- }
119
- /**
120
- * The connection's trust boundary for the /agents/* endpoints: ONLY a process on
121
- * this machine may register/poll/ack a local runtime (the 127.0.0.1 bind is the
122
- * principal — confused-deputy rule). We check the real socket peer address (not a
123
- * spoofable header). An EMPTY remoteAddress is rejected (was previously allowed) —
124
- * a genuine TCP loopback connection always presents 127.0.0.1/::1, so empty only
125
- * arises from a destroyed/odd socket and must not be treated as local.
126
- */
127
- function isLocalAgentPeer(req) {
128
- const peer = (req.socket.remoteAddress || '').replace('::ffff:', '');
129
- return peer === '127.0.0.1' || peer === '::1';
152
+ if (daemonToken && timingSafeTokenCompare(presented, daemonToken))
153
+ return true;
154
+ const sessionsToken = sessionAuthConfig().token;
155
+ return !!sessionsToken && timingSafeTokenCompare(presented, sessionsToken);
130
156
  }
131
157
  /**
132
158
  * Mint-or-return the per-session capability token (proof-of-possession the SDK must
@@ -161,18 +187,7 @@ function isLocalhostOrigin(origin) {
161
187
  // ============================================================================
162
188
  const __filename = fileURLToPath(import.meta.url);
163
189
  const __dirname = dirname(__filename);
164
- function getVersion() {
165
- try {
166
- // Try to read from package.json (works in both dev and prod)
167
- const pkgPath = join(__dirname, '..', 'package.json');
168
- const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
169
- return { version: pkg.version || '0.0.0', name: pkg.name || '@decibelsystems/tools' };
170
- }
171
- catch {
172
- return { version: '2.0.0', name: '@decibelsystems/tools' };
173
- }
174
- }
175
- const PKG = getVersion();
190
+ const PKG = PACKAGE;
176
191
  // ============================================================================
177
192
  // Landing Page HTML
178
193
  // ============================================================================
@@ -540,14 +555,31 @@ export async function startHttpServer(server, kernelInstance, options) {
540
555
  // else: untrusted origin → no ACAO header (browser blocks the read).
541
556
  }
542
557
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, DELETE, OPTIONS');
543
- res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization, Mcp-Session-Id, Accept, X-Agent-Id, X-Run-Id, X-License-Key, X-Allowed-Facades, X-Scope, X-Request-Id, X-Parent-Call-Id, X-Engagement-Mode, X-User-Key, X-Org-Key');
558
+ res.setHeader('Access-Control-Allow-Headers', GENERIC_ALLOWED_HEADERS.join(', '));
544
559
  res.setHeader('Access-Control-Expose-Headers', 'Mcp-Session-Id');
560
+ // Hosted-session write routes answer their own preflight: they carry the
561
+ // Private Network Access header and a stricter origin allowlist than the
562
+ // generic localhost CORS above (src/pty/routes.ts).
563
+ // A preflight from an allowlisted HQ origin (the dev server, or deployed HQ
564
+ // for paired requests) gets the Private Network Access header and the
565
+ // pairing headers; without PNA an https page cannot reach 127.0.0.1 at all.
566
+ if (isDaemon && req.method === 'OPTIONS' && isAllowedOrigin(req.headers.origin, sessionAuthConfig().allowedOrigins)) {
567
+ respondToPnaPreflight(req, res, sessionAuthConfig().allowedOrigins, GENERIC_ALLOWED_HEADERS);
568
+ return;
569
+ }
545
570
  // (a) Handle preflight OPTIONS requests
546
571
  if (req.method === 'OPTIONS') {
547
572
  res.writeHead(204);
548
573
  res.end();
549
574
  return;
550
575
  }
576
+ // Signed requests from a paired browser (ADR-0012 in this repo). Verified
577
+ // here, once, before rate limiting and auth: a verified request is marked
578
+ // (pairingOf) and stands in for a bearer everywhere below. A request that
579
+ // CLAIMS a pairing and fails is refused outright rather than falling
580
+ // through as anonymous.
581
+ if (isDaemon && !applyPairingAuth(req, res, url))
582
+ return;
551
583
  // HOSTED FAIL-CLOSED, checked EARLY (before the rate limiter) so an
552
584
  // unauthenticated hosted caller can't consume/poison the rate-limit map or any
553
585
  // downstream state before being refused. Public infra routes stay open so
@@ -564,9 +596,20 @@ export async function startHttpServer(server, kernelInstance, options) {
564
596
  return;
565
597
  }
566
598
  // Rate limiting (check before auth to prevent brute force)
599
+ //
600
+ // Every local caller is 127.0.0.1, so by IP they all share one 100-rpm
601
+ // bucket: an HQ tab refreshing its roster used to spend it for the whole
602
+ // machine, and then attach-token and every hook call got RATE_LIMITED.
603
+ // A loopback caller that proves it holds the daemon bearer or the sessions
604
+ // bearer (HQ's dev proxy injects one server-side) gets its own, larger
605
+ // bucket. Anonymous loopback keeps the shared one.
567
606
  const clientIp = (req.socket.remoteAddress || '127.0.0.1').replace('::ffff:', '');
568
607
  const reqAgentId = req.headers['x-agent-id'];
569
- if (!rateLimiter.check(clientIp, reqAgentId)) {
608
+ const trustedLocal = isDaemon && isLoopbackPeer(req) && (!!pairingOf(req) || holdsLocalBearer(req, authToken));
609
+ const withinLimit = trustedLocal
610
+ ? rateLimiter.checkBucket('trusted-local', Math.max(rateLimitRpm * 20, 2000))
611
+ : rateLimiter.check(clientIp, reqAgentId);
612
+ if (!withinLimit) {
570
613
  log(`HTTP: Rate limited ${reqAgentId || clientIp}`);
571
614
  sendJson(res, 429, wrapError('Too many requests (rate limit exceeded)', 'RATE_LIMITED'));
572
615
  return;
@@ -579,6 +622,25 @@ export async function startHttpServer(server, kernelInstance, options) {
579
622
  activeRequests.add(req);
580
623
  res.on('finish', () => activeRequests.delete(req));
581
624
  res.on('close', () => activeRequests.delete(req));
625
+ // Hosted-session writes (attach-token, control, spawn) are gated on the
626
+ // sessions bearer, not the daemon auth_token, so they are routed BEFORE the
627
+ // daemon's own auth gate. See src/pty/routes.ts for why. Daemon mode only:
628
+ // a hosted --http server has no business starting local terminals.
629
+ if (isDaemon && isSessionWritePath(path)) {
630
+ await handleSessionWrite(req, res, path);
631
+ return;
632
+ }
633
+ // Pairing: request, status, challenge, revoke. Pre-auth by nature; none of
634
+ // them approves anything (approval is the CLI, on this machine).
635
+ if (isDaemon && isPairPath(path)) {
636
+ await handlePair(req, res, path);
637
+ return;
638
+ }
639
+ // POST /chat puts text into other sessions: same gate as the session writes.
640
+ if (isDaemon && path === '/chat' && req.method === 'POST') {
641
+ await handleChatWrite(req, res);
642
+ return;
643
+ }
582
644
  // (c) Root health check - GET / returns 200
583
645
  if (path === '/' && req.method === 'GET') {
584
646
  res.writeHead(200, { 'Content-Type': 'application/json' });
@@ -659,14 +721,14 @@ export async function startHttpServer(server, kernelInstance, options) {
659
721
  sendJson(res, 401, wrapError('This endpoint requires authentication. Hosted (--http) mode must be started with DECIBEL_AUTH_TOKEN set.', 'AUTH_NOT_CONFIGURED'));
660
722
  return;
661
723
  }
662
- if (authToken) {
724
+ if (authToken && !pairingOf(req)) {
663
725
  const authHeader = req.headers.authorization;
664
726
  if (!authHeader || !timingSafeTokenCompare(authHeader, `Bearer ${authToken}`)) {
665
727
  sendJson(res, 401, wrapError('Unauthorized', 'UNAUTHORIZED'));
666
728
  return;
667
729
  }
668
730
  }
669
- const dispatchLogPath = join(process.env.HOME || '~', '.decibel', 'logs', 'dispatch.jsonl');
731
+ const dispatchLogPath = join(daemonStateDir(), 'logs', 'dispatch.jsonl');
670
732
  try {
671
733
  const content = readFileSync(dispatchLogPath, 'utf-8');
672
734
  const lines = content.trim().split('\n').filter(Boolean);
@@ -764,8 +826,9 @@ export async function startHttpServer(server, kernelInstance, options) {
764
826
  sendJson(res, 401, wrapError('This endpoint requires authentication. Hosted (--http) mode must be started with DECIBEL_AUTH_TOKEN set.', 'AUTH_NOT_CONFIGURED'));
765
827
  return;
766
828
  }
767
- // Auth check (timing-safe comparison to prevent timing attacks)
768
- if (authToken) {
829
+ // Auth check (timing-safe comparison to prevent timing attacks). A request
830
+ // verified under an approved pairing already proved more than a bearer.
831
+ if (authToken && !pairingOf(req)) {
769
832
  const authHeader = req.headers.authorization;
770
833
  if (!authHeader || !timingSafeTokenCompare(authHeader, `Bearer ${authToken}`)) {
771
834
  log('HTTP: Unauthorized request');
@@ -776,6 +839,44 @@ export async function startHttpServer(server, kernelInstance, options) {
776
839
  // ========================================================================
777
840
  // Simple REST Endpoints (for external AI agents)
778
841
  // ========================================================================
842
+ // GET /sessions[?project_id=<id>] — hosted-session roster for HQ (ADR-0012 /
843
+ // decibel-hq EPIC-0015). Without project_id, every session on the machine.
844
+ // Read-only, so it sits behind the normal daemon gate; the write routes are
845
+ // handled above with their own bearer.
846
+ if (isDaemon && path === '/sessions' && req.method === 'GET') {
847
+ const projectId = url.searchParams.get('project_id') || undefined;
848
+ try {
849
+ const sessions = await listHostedSessions(projectId);
850
+ res.writeHead(200, { 'Content-Type': 'application/json' });
851
+ res.end(JSON.stringify({ sessions }));
852
+ }
853
+ catch (err) {
854
+ if (err instanceof SessionError) {
855
+ sendJson(res, err.status, wrapError(err.message, err.code));
856
+ }
857
+ else {
858
+ sendJson(res, 500, wrapError(err instanceof Error ? err.message : String(err), 'INTERNAL'));
859
+ }
860
+ }
861
+ return;
862
+ }
863
+ // GET /sessions/last-fleet — the sessions to offer for restore (decibel-hq
864
+ // ADR-0018). Read-only, behind the normal daemon gate like GET /sessions.
865
+ if (isDaemon && path === '/sessions/last-fleet' && req.method === 'GET') {
866
+ res.writeHead(200, { 'Content-Type': 'application/json' });
867
+ res.end(JSON.stringify(fleet().lastFleet()));
868
+ return;
869
+ }
870
+ // GET /chat?since=<id>&limit= — the HQ chat log (decibel-hq EPIC-0016).
871
+ // Read-only, behind the normal daemon gate. human_peer_id changes whenever
872
+ // the peer re-registers, so clients read it from here every time.
873
+ if (isDaemon && path === '/chat' && req.method === 'GET') {
874
+ const since = Number(url.searchParams.get('since') ?? 0) || 0;
875
+ const limit = Number(url.searchParams.get('limit') ?? 200) || 200;
876
+ res.writeHead(200, { 'Content-Type': 'application/json' });
877
+ res.end(JSON.stringify(readChat(since, limit)));
878
+ return;
879
+ }
779
880
  // GET /tools - List available tools
780
881
  // MCP tool definitions, verbatim — the shape a `tools/list` response needs.
781
882
  //
@@ -953,7 +1054,13 @@ export async function startHttpServer(server, kernelInstance, options) {
953
1054
  sendJson(res, 403, wrapError('Invalid or missing session token', 'BAD_SESSION_TOKEN'));
954
1055
  return;
955
1056
  }
956
- const commands = drainCommands(sessionKey, ORG_ID);
1057
+ // No org means no dispatcher ran, so nothing can be queued for this session.
1058
+ let org = null;
1059
+ try {
1060
+ org = getOrgId();
1061
+ }
1062
+ catch { /* malformed: the startup gate reports it */ }
1063
+ const commands = org ? drainCommands(sessionKey, org) : [];
957
1064
  sendJson(res, 200, wrapSuccess({ session_key: sessionKey, commands, count: commands.length }));
958
1065
  return;
959
1066
  }
@@ -1798,6 +1905,16 @@ export async function startHttpServer(server, kernelInstance, options) {
1798
1905
  // ========================================================================
1799
1906
  // Studio API Endpoints (frontend_v0.2 compatible)
1800
1907
  // ========================================================================
1908
+ // Tier guard: these REST shortcuts call studio (pro-tier) tools directly,
1909
+ // bypassing kernel dispatch where tier gating normally lives. Enforce it
1910
+ // here once for all /api/generate-* routes. (crucible re-run 2026-06-07)
1911
+ if (path.startsWith('/api/generate-') && req.method === 'POST') {
1912
+ const tier = await resolveTier(req, configLicenseKey);
1913
+ if (tier === 'core') {
1914
+ sendJson(res, 403, wrapError('Studio generation requires a pro license', 'TIER_REQUIRED'));
1915
+ return;
1916
+ }
1917
+ }
1801
1918
  // POST /api/generate-flux-kontext-image - Start image generation
1802
1919
  if (path === '/api/generate-flux-kontext-image' && req.method === 'POST') {
1803
1920
  try {
@@ -2151,17 +2268,46 @@ export async function startHttpServer(server, kernelInstance, options) {
2151
2268
  res.writeHead(404, { 'Content-Type': 'application/json' });
2152
2269
  res.end(JSON.stringify({ error: 'Not found' }));
2153
2270
  });
2271
+ // WebSocket upgrades. The only upgrade this server accepts is a hosted-session
2272
+ // attach (daemon mode); everything else is refused rather than left hanging,
2273
+ // since Node leaves an unhandled upgrade socket open until it times out.
2274
+ httpServer.on('upgrade', (req, socket, head) => {
2275
+ const upgradeUrl = new URL(req.url || '/', 'http://127.0.0.1');
2276
+ if (isDaemon && isSessionAttachPath(upgradeUrl.pathname)) {
2277
+ handleSessionUpgrade(req, socket, head, upgradeUrl).catch((err) => {
2278
+ log(`HTTP: attach upgrade failed: ${err instanceof Error ? err.message : String(err)}`);
2279
+ try {
2280
+ socket.destroy();
2281
+ }
2282
+ catch { /* ignore */ }
2283
+ });
2284
+ return;
2285
+ }
2286
+ socket.write('HTTP/1.1 404 Not Found\r\nContent-Length: 0\r\nConnection: close\r\n\r\n');
2287
+ socket.destroy();
2288
+ });
2154
2289
  // Configure HTTP server timeouts to prevent premature connection drops
2155
2290
  httpServer.keepAliveTimeout = timeoutMs;
2156
2291
  httpServer.headersTimeout = timeoutMs + 1000; // Slightly longer than keepAliveTimeout
2157
2292
  httpServer.listen(port, host, () => {
2158
2293
  log(`HTTP Server listening on http://${host}:${port}`);
2159
- // Advertise port + pid in daemon.meta so clients can discover the daemon.
2160
- try {
2161
- setDaemonPort(port);
2294
+ // Advertise port + pid in daemon.meta so clients can discover the daemon —
2295
+ // but ONLY as the daemon. daemon.meta is machine-global: the session-init
2296
+ // hook, the close hook, the HQ client and ensureRuntime all follow it. A
2297
+ // plain `--http` run is a process someone started for a reason of their own
2298
+ // (a test, a second checkout, CI, the hosted deployment), and when it
2299
+ // advertised, every hook on the machine followed it to a port that died
2300
+ // with it (ISS-0179).
2301
+ if (isDaemon) {
2302
+ try {
2303
+ setDaemonPort(port);
2304
+ }
2305
+ catch (err) {
2306
+ log(`Daemon: failed to write port to meta: ${err instanceof Error ? err.message : String(err)}`);
2307
+ }
2162
2308
  }
2163
- catch (err) {
2164
- log(`Daemon: failed to write port to meta: ${err instanceof Error ? err.message : String(err)}`);
2309
+ else {
2310
+ log(`HTTP Server: not advertising in daemon.meta (not --daemon); clients keep their existing discovery`);
2165
2311
  }
2166
2312
  console.log(`
2167
2313
  ╔══════════════════════════════════════════════════════════════╗
@@ -2212,6 +2358,8 @@ ${authToken ? '║ Auth: Bearer token required
2212
2358
  log(`HTTP: ${activeRequests.size} request(s) still active after 10s drain timeout`);
2213
2359
  }
2214
2360
  }
2361
+ // Close attach sockets (their tmux sessions live on)
2362
+ closeAllAttachSockets();
2215
2363
  // Close SSE connections
2216
2364
  for (const conn of activeSseConnections) {
2217
2365
  try {
@@ -2228,6 +2376,11 @@ ${authToken ? '║ Auth: Bearer token required
2228
2376
  // If already closed, resolve immediately
2229
2377
  setTimeout(resolve, 100);
2230
2378
  });
2379
+ // Withdraw discovery if we owned it, so a clean shutdown does not leave
2380
+ // every client on the machine dialling a port nothing is serving
2381
+ // (ISS-0179). clearDaemonPort only clears an entry that is ours.
2382
+ if (isDaemon)
2383
+ clearDaemonPort();
2231
2384
  log('HTTP server stopped');
2232
2385
  },
2233
2386
  };