@decibelsystems/tools 3.0.0 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/CHANGELOG.md +80 -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 +19 -3
  27. package/dist/daemon.d.ts.map +1 -1
  28. package/dist/daemon.js +76 -17
  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 +3 -0
  56. package/dist/httpServer.d.ts.map +1 -1
  57. package/dist/httpServer.js +224 -43
  58. package/dist/httpServer.js.map +1 -1
  59. package/dist/identity.d.ts +123 -0
  60. package/dist/identity.d.ts.map +1 -0
  61. package/dist/identity.js +312 -0
  62. package/dist/identity.js.map +1 -0
  63. package/dist/kernel.d.ts.map +1 -1
  64. package/dist/kernel.js +24 -1
  65. package/dist/kernel.js.map +1 -1
  66. package/dist/killSwitch.d.ts +117 -0
  67. package/dist/killSwitch.d.ts.map +1 -0
  68. package/dist/killSwitch.js +161 -0
  69. package/dist/killSwitch.js.map +1 -0
  70. package/dist/lib/atomicWrite.d.ts +23 -0
  71. package/dist/lib/atomicWrite.d.ts.map +1 -1
  72. package/dist/lib/atomicWrite.js +84 -0
  73. package/dist/lib/atomicWrite.js.map +1 -1
  74. package/dist/lib/recordIdAllocator.d.ts +21 -5
  75. package/dist/lib/recordIdAllocator.d.ts.map +1 -1
  76. package/dist/lib/recordIdAllocator.js +25 -7
  77. package/dist/lib/recordIdAllocator.js.map +1 -1
  78. package/dist/orgId.d.ts +23 -0
  79. package/dist/orgId.d.ts.map +1 -0
  80. package/dist/orgId.js +73 -0
  81. package/dist/orgId.js.map +1 -0
  82. package/dist/pairCli.d.ts +2 -0
  83. package/dist/pairCli.d.ts.map +1 -0
  84. package/dist/pairCli.js +97 -0
  85. package/dist/pairCli.js.map +1 -0
  86. package/dist/peerBroker.d.ts +40 -0
  87. package/dist/peerBroker.d.ts.map +1 -0
  88. package/dist/peerBroker.js +70 -0
  89. package/dist/peerBroker.js.map +1 -0
  90. package/dist/peerBrokerSupervisor.d.ts +21 -0
  91. package/dist/peerBrokerSupervisor.d.ts.map +1 -0
  92. package/dist/peerBrokerSupervisor.js +131 -0
  93. package/dist/peerBrokerSupervisor.js.map +1 -0
  94. package/dist/projectPaths.d.ts.map +1 -1
  95. package/dist/projectPaths.js +1 -19
  96. package/dist/projectPaths.js.map +1 -1
  97. package/dist/projectRegistry.d.ts +22 -0
  98. package/dist/projectRegistry.d.ts.map +1 -1
  99. package/dist/projectRegistry.js +58 -2
  100. package/dist/projectRegistry.js.map +1 -1
  101. package/dist/pty/boundary.d.ts +39 -0
  102. package/dist/pty/boundary.d.ts.map +1 -0
  103. package/dist/pty/boundary.js +100 -0
  104. package/dist/pty/boundary.js.map +1 -0
  105. package/dist/pty/errors.d.ts +6 -0
  106. package/dist/pty/errors.d.ts.map +1 -0
  107. package/dist/pty/errors.js +12 -0
  108. package/dist/pty/errors.js.map +1 -0
  109. package/dist/pty/fleet.d.ts +159 -0
  110. package/dist/pty/fleet.d.ts.map +1 -0
  111. package/dist/pty/fleet.js +543 -0
  112. package/dist/pty/fleet.js.map +1 -0
  113. package/dist/pty/launchProfile.d.ts +45 -0
  114. package/dist/pty/launchProfile.d.ts.map +1 -0
  115. package/dist/pty/launchProfile.js +149 -0
  116. package/dist/pty/launchProfile.js.map +1 -0
  117. package/dist/pty/openTerminal.d.ts +48 -0
  118. package/dist/pty/openTerminal.d.ts.map +1 -0
  119. package/dist/pty/openTerminal.js +185 -0
  120. package/dist/pty/openTerminal.js.map +1 -0
  121. package/dist/pty/pairDialog.d.ts +16 -0
  122. package/dist/pty/pairDialog.d.ts.map +1 -0
  123. package/dist/pty/pairDialog.js +121 -0
  124. package/dist/pty/pairDialog.js.map +1 -0
  125. package/dist/pty/pairing.d.ts +86 -0
  126. package/dist/pty/pairing.d.ts.map +1 -0
  127. package/dist/pty/pairing.js +351 -0
  128. package/dist/pty/pairing.js.map +1 -0
  129. package/dist/pty/routes.d.ts +49 -0
  130. package/dist/pty/routes.d.ts.map +1 -0
  131. package/dist/pty/routes.js +624 -0
  132. package/dist/pty/routes.js.map +1 -0
  133. package/dist/pty/sessions.d.ts +167 -0
  134. package/dist/pty/sessions.d.ts.map +1 -0
  135. package/dist/pty/sessions.js +513 -0
  136. package/dist/pty/sessions.js.map +1 -0
  137. package/dist/pty/tmux.d.ts +109 -0
  138. package/dist/pty/tmux.d.ts.map +1 -0
  139. package/dist/pty/tmux.js +271 -0
  140. package/dist/pty/tmux.js.map +1 -0
  141. package/dist/roster.d.ts +37 -0
  142. package/dist/roster.d.ts.map +1 -0
  143. package/dist/roster.js +126 -0
  144. package/dist/roster.js.map +1 -0
  145. package/dist/runtime/daemonMeta.d.ts +53 -0
  146. package/dist/runtime/daemonMeta.d.ts.map +1 -0
  147. package/dist/runtime/daemonMeta.js +121 -0
  148. package/dist/runtime/daemonMeta.js.map +1 -0
  149. package/dist/runtime/ensureRuntime.d.ts.map +1 -1
  150. package/dist/runtime/ensureRuntime.js +5 -10
  151. package/dist/runtime/ensureRuntime.js.map +1 -1
  152. package/dist/sentinelIssues.d.ts +16 -0
  153. package/dist/sentinelIssues.d.ts.map +1 -1
  154. package/dist/sentinelIssues.js +42 -1
  155. package/dist/sentinelIssues.js.map +1 -1
  156. package/dist/server.js +66 -5
  157. package/dist/server.js.map +1 -1
  158. package/dist/toolConfig.d.ts.map +1 -1
  159. package/dist/toolConfig.js +12 -0
  160. package/dist/toolConfig.js.map +1 -1
  161. package/dist/tools/agentic/agentQueue.d.ts.map +1 -1
  162. package/dist/tools/agentic/agentQueue.js +4 -0
  163. package/dist/tools/agentic/agentQueue.js.map +1 -1
  164. package/dist/tools/architect/index.d.ts +1 -0
  165. package/dist/tools/architect/index.d.ts.map +1 -1
  166. package/dist/tools/architect/index.js +45 -1
  167. package/dist/tools/architect/index.js.map +1 -1
  168. package/dist/tools/architect.d.ts.map +1 -1
  169. package/dist/tools/architect.js +59 -8
  170. package/dist/tools/architect.js.map +1 -1
  171. package/dist/tools/artifacts.d.ts +5 -0
  172. package/dist/tools/artifacts.d.ts.map +1 -0
  173. package/dist/tools/artifacts.js +89 -0
  174. package/dist/tools/artifacts.js.map +1 -0
  175. package/dist/tools/asks.d.ts +6 -0
  176. package/dist/tools/asks.d.ts.map +1 -0
  177. package/dist/tools/asks.js +104 -0
  178. package/dist/tools/asks.js.map +1 -0
  179. package/dist/tools/coordinator/index.d.ts +1 -0
  180. package/dist/tools/coordinator/index.d.ts.map +1 -1
  181. package/dist/tools/coordinator/index.js +42 -2
  182. package/dist/tools/coordinator/index.js.map +1 -1
  183. package/dist/tools/data-inspector.d.ts +1 -1
  184. package/dist/tools/data-inspector.d.ts.map +1 -1
  185. package/dist/tools/data-inspector.js +1 -1
  186. package/dist/tools/data-inspector.js.map +1 -1
  187. package/dist/tools/dojo/index.d.ts.map +1 -1
  188. package/dist/tools/dojo/index.js +52 -3
  189. package/dist/tools/dojo/index.js.map +1 -1
  190. package/dist/tools/dojo.d.ts +62 -1
  191. package/dist/tools/dojo.d.ts.map +1 -1
  192. package/dist/tools/dojo.js +84 -1
  193. package/dist/tools/dojo.js.map +1 -1
  194. package/dist/tools/guardian.d.ts +7 -0
  195. package/dist/tools/guardian.d.ts.map +1 -1
  196. package/dist/tools/guardian.js +146 -9
  197. package/dist/tools/guardian.js.map +1 -1
  198. package/dist/tools/index.d.ts.map +1 -1
  199. package/dist/tools/index.js +6 -0
  200. package/dist/tools/index.js.map +1 -1
  201. package/dist/tools/killswitch/index.d.ts +13 -0
  202. package/dist/tools/killswitch/index.d.ts.map +1 -0
  203. package/dist/tools/killswitch/index.js +138 -0
  204. package/dist/tools/killswitch/index.js.map +1 -0
  205. package/dist/tools/oracle/index.d.ts.map +1 -1
  206. package/dist/tools/oracle/index.js +8 -0
  207. package/dist/tools/oracle/index.js.map +1 -1
  208. package/dist/tools/oracle.d.ts +7 -0
  209. package/dist/tools/oracle.d.ts.map +1 -1
  210. package/dist/tools/oracle.js +22 -6
  211. package/dist/tools/oracle.js.map +1 -1
  212. package/dist/tools/provenance.d.ts +11 -2
  213. package/dist/tools/provenance.d.ts.map +1 -1
  214. package/dist/tools/provenance.js +26 -24
  215. package/dist/tools/provenance.js.map +1 -1
  216. package/dist/tools/registry/index.d.ts.map +1 -1
  217. package/dist/tools/registry/index.js +24 -0
  218. package/dist/tools/registry/index.js.map +1 -1
  219. package/dist/tools/sentinel/index.d.ts.map +1 -1
  220. package/dist/tools/sentinel/index.js +54 -2
  221. package/dist/tools/sentinel/index.js.map +1 -1
  222. package/dist/tools/sentinel.d.ts +50 -0
  223. package/dist/tools/sentinel.d.ts.map +1 -1
  224. package/dist/tools/sentinel.js +72 -7
  225. package/dist/tools/sentinel.js.map +1 -1
  226. package/dist/tools/shared/runTracker.d.ts +2 -0
  227. package/dist/tools/shared/runTracker.d.ts.map +1 -1
  228. package/dist/tools/shared/runTracker.js +38 -0
  229. package/dist/tools/shared/runTracker.js.map +1 -1
  230. package/dist/tools/swarm.d.ts +3 -1
  231. package/dist/tools/swarm.d.ts.map +1 -1
  232. package/dist/tools/swarm.js +6 -12
  233. package/dist/tools/swarm.js.map +1 -1
  234. package/dist/tools/voice/index.d.ts +1 -0
  235. package/dist/tools/voice/index.d.ts.map +1 -1
  236. package/dist/tools/voice/index.js +33 -2
  237. package/dist/tools/voice/index.js.map +1 -1
  238. package/dist/tools/voice.d.ts +48 -1
  239. package/dist/tools/voice.d.ts.map +1 -1
  240. package/dist/tools/voice.js +63 -3
  241. package/dist/tools/voice.js.map +1 -1
  242. package/dist/transports/bridge.d.ts.map +1 -1
  243. package/dist/transports/bridge.js +2 -1
  244. package/dist/transports/bridge.js.map +1 -1
  245. package/dist/transports/mcp.d.ts.map +1 -1
  246. package/dist/transports/mcp.js +2 -1
  247. package/dist/transports/mcp.js.map +1 -1
  248. package/dist/version.d.ts +5 -0
  249. package/dist/version.d.ts.map +1 -0
  250. package/dist/version.js +23 -0
  251. package/dist/version.js.map +1 -0
  252. package/package.json +13 -2
  253. package/templates/AGENT.md +3 -0
  254. 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":"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"}
@@ -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":"AAAA,+EAA+E;AAC/E,2CAA2C;AAC3C,+EAA+E;AAC/E,kFAAkF;AAClF,yEAAyE;AACzE,+EAA+E;AAE/E,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AASxB,gFAAgF;AAChF,+CAA+C;AAC/C,MAAM,UAAU,IAAI,CAAC,CAA8B,EAAE,QAAgB;IACnE,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACrC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAC5F,CAAC;AAED,+EAA+E;AAC/E,SAAS,gBAAgB,CAAC,QAAiB;IACzC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACtG,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC9B,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAa,EAAE,SAAS,GAAG,IAAI;IAClE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;KACvC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAwB;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAExF,MAAM,YAAY,GAAG,CAAC,SAAmC,EAAE,YAAqB,EAAE,EAAE,CAAC,CAAC;QACpF,WAAW,EAAE,UAAU;QACvB,OAAO;QACP,KAAK,EAAE,IAAI,CAAC,IAAI;QAChB,GAAG;QACH,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;QAC7C,IAAI,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE;KACrD,CAAC,CAAC;IAEH,MAAM,GAAG,GAAiB;QACxB,UAAU;QACV,OAAO;QACP,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,GAAG,IAAI,mBAAmB,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACtF,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,0BAA0B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;KACF,CAAC;IAEF,+EAA+E;IAC/E,gFAAgF;IAChF,gFAAgF;IAChF,iFAAiF;IACjF,IAAI,KAAyB,CAAC;IAC9B,MAAM,YAAY,GAAG,CAAC,IAAS,EAAE,EAAE;QACjC,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACjE,CAAC,CAAC;IAEF,0CAA0C;IAC1C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,GAAG,IAAI,kBAAkB,EAAE,YAAY,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,MAAM,CAAC,0BAA0B,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC9E,CAAC;YAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAAC,MAAM,CAAC,uBAAuB,OAAO,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;IAC/F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,8CAA8C,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,yBAAyB;IACzB,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;QAC3B,IAAI,OAAO;YAAE,OAAO;QACpB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,GAAG,IAAI,mBAAmB,EAAE,YAAY,EAAE,CAAC,CAAC;YACrE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,qBAAqB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACpD,IAAI,OAAQ,OAAe,CAAC,KAAK,KAAK,UAAU;QAAG,OAAe,CAAC,KAAK,EAAE,CAAC;IAE3E,+CAA+C;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,IAAI,OAAO;YAAE,OAAO;QACpB,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,iEAAiE;QACrF,IAAI,QAAQ,GAAmB,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,GAAG,IAAI,gCAAgC,kBAAkB,CAAC,UAAU,CAAC,UAAU,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAC1G,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CACtC,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO;YACpB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAmB,CAAC;QACtD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,gBAAgB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,OAAsB,CAAC;YAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;YAC3E,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACnC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,CAAC;YACH,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,GAAG,IAAI,sBAAsB,EAAE;oBAC5C,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;oBAC9B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;iBAC7B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,oCAAoC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,kFAAkF;IAClF,mFAAmF;IACnF,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7E,IAAI,OAAQ,SAAiB,CAAC,KAAK,KAAK,UAAU;QAAG,SAAiB,CAAC,KAAK,EAAE,CAAC;IAE/E,OAAO;QACL,UAAU;QACV,OAAO;QACP,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,OAAO,GAAG,IAAI,CAAC;YACf,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,wEAAwE;YACxE,0DAA0D;YAC1D,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,GAAG,IAAI,mBAAmB,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACrF,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"defineAgent.js","sourceRoot":"","sources":["../../src/hq/defineAgent.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,9 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
28
28
  import type { ToolKernel } from './kernel.js';
29
29
  import type { AgentRegistry } from './daemon.js';
30
30
  import type { DaemonConfig } from './daemonConfig.js';
31
+ export declare const TERMINALS_HINT: string;
32
+ /** Called once when the HTTP server starts. Never throws. */
33
+ export declare function checkTerminals(): Promise<void>;
31
34
  export interface HttpServerOptions {
32
35
  port: number;
33
36
  authToken?: string;
@@ -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;AAqMtD,eAAO,MAAM,cAAc,QAIkD,CAAC;AAQ9E,6DAA6D;AAC7D,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAQpD;AAoUD,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,CA6gE3B;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,30 @@ function isLocalhostOrigin(origin) {
161
187
  // ============================================================================
162
188
  const __filename = fileURLToPath(import.meta.url);
163
189
  const __dirname = dirname(__filename);
164
- function getVersion() {
190
+ const PKG = PACKAGE;
191
+ // ----------------------------------------------------------------------------
192
+ // Hosted terminals: is node-pty usable? Checked once, at startup.
193
+ // ----------------------------------------------------------------------------
194
+ export const TERMINALS_HINT = 'Hosted terminals need the optional node-pty package. Reinstall with optional ' +
195
+ 'dependencies: npm install -g @decibelsystems/tools --include=optional. ' +
196
+ 'An npm warning that node-pty install scripts were not run is harmless: its ' +
197
+ 'prebuilt binary is used, and Decibel fixes its helper permissions itself.';
198
+ let terminals = { available: null };
199
+ function terminalsState() {
200
+ return terminals;
201
+ }
202
+ /** Called once when the HTTP server starts. Never throws. */
203
+ export async function checkTerminals() {
165
204
  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' };
205
+ const { loadPty } = await import('./pty/sessions.js');
206
+ terminals = (await loadPty()) ? { available: true } : { available: false, hint: TERMINALS_HINT };
170
207
  }
171
208
  catch {
172
- return { version: '2.0.0', name: '@decibelsystems/tools' };
209
+ terminals = { available: false, hint: TERMINALS_HINT };
173
210
  }
211
+ if (!terminals.available)
212
+ log(`HTTP Server: hosted terminals unavailable. ${TERMINALS_HINT}`);
174
213
  }
175
- const PKG = getVersion();
176
214
  // ============================================================================
177
215
  // Landing Page HTML
178
216
  // ============================================================================
@@ -540,14 +578,31 @@ export async function startHttpServer(server, kernelInstance, options) {
540
578
  // else: untrusted origin → no ACAO header (browser blocks the read).
541
579
  }
542
580
  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');
581
+ res.setHeader('Access-Control-Allow-Headers', GENERIC_ALLOWED_HEADERS.join(', '));
544
582
  res.setHeader('Access-Control-Expose-Headers', 'Mcp-Session-Id');
583
+ // Hosted-session write routes answer their own preflight: they carry the
584
+ // Private Network Access header and a stricter origin allowlist than the
585
+ // generic localhost CORS above (src/pty/routes.ts).
586
+ // A preflight from an allowlisted HQ origin (the dev server, or deployed HQ
587
+ // for paired requests) gets the Private Network Access header and the
588
+ // pairing headers; without PNA an https page cannot reach 127.0.0.1 at all.
589
+ if (isDaemon && req.method === 'OPTIONS' && isAllowedOrigin(req.headers.origin, sessionAuthConfig().allowedOrigins)) {
590
+ respondToPnaPreflight(req, res, sessionAuthConfig().allowedOrigins, GENERIC_ALLOWED_HEADERS);
591
+ return;
592
+ }
545
593
  // (a) Handle preflight OPTIONS requests
546
594
  if (req.method === 'OPTIONS') {
547
595
  res.writeHead(204);
548
596
  res.end();
549
597
  return;
550
598
  }
599
+ // Signed requests from a paired browser (ADR-0012 in this repo). Verified
600
+ // here, once, before rate limiting and auth: a verified request is marked
601
+ // (pairingOf) and stands in for a bearer everywhere below. A request that
602
+ // CLAIMS a pairing and fails is refused outright rather than falling
603
+ // through as anonymous.
604
+ if (isDaemon && !applyPairingAuth(req, res, url))
605
+ return;
551
606
  // HOSTED FAIL-CLOSED, checked EARLY (before the rate limiter) so an
552
607
  // unauthenticated hosted caller can't consume/poison the rate-limit map or any
553
608
  // downstream state before being refused. Public infra routes stay open so
@@ -564,9 +619,20 @@ export async function startHttpServer(server, kernelInstance, options) {
564
619
  return;
565
620
  }
566
621
  // Rate limiting (check before auth to prevent brute force)
622
+ //
623
+ // Every local caller is 127.0.0.1, so by IP they all share one 100-rpm
624
+ // bucket: an HQ tab refreshing its roster used to spend it for the whole
625
+ // machine, and then attach-token and every hook call got RATE_LIMITED.
626
+ // A loopback caller that proves it holds the daemon bearer or the sessions
627
+ // bearer (HQ's dev proxy injects one server-side) gets its own, larger
628
+ // bucket. Anonymous loopback keeps the shared one.
567
629
  const clientIp = (req.socket.remoteAddress || '127.0.0.1').replace('::ffff:', '');
568
630
  const reqAgentId = req.headers['x-agent-id'];
569
- if (!rateLimiter.check(clientIp, reqAgentId)) {
631
+ const trustedLocal = isDaemon && isLoopbackPeer(req) && (!!pairingOf(req) || holdsLocalBearer(req, authToken));
632
+ const withinLimit = trustedLocal
633
+ ? rateLimiter.checkBucket('trusted-local', Math.max(rateLimitRpm * 20, 2000))
634
+ : rateLimiter.check(clientIp, reqAgentId);
635
+ if (!withinLimit) {
570
636
  log(`HTTP: Rate limited ${reqAgentId || clientIp}`);
571
637
  sendJson(res, 429, wrapError('Too many requests (rate limit exceeded)', 'RATE_LIMITED'));
572
638
  return;
@@ -579,6 +645,25 @@ export async function startHttpServer(server, kernelInstance, options) {
579
645
  activeRequests.add(req);
580
646
  res.on('finish', () => activeRequests.delete(req));
581
647
  res.on('close', () => activeRequests.delete(req));
648
+ // Hosted-session writes (attach-token, control, spawn) are gated on the
649
+ // sessions bearer, not the daemon auth_token, so they are routed BEFORE the
650
+ // daemon's own auth gate. See src/pty/routes.ts for why. Daemon mode only:
651
+ // a hosted --http server has no business starting local terminals.
652
+ if (isDaemon && isSessionWritePath(path)) {
653
+ await handleSessionWrite(req, res, path);
654
+ return;
655
+ }
656
+ // Pairing: request, status, challenge, revoke. Pre-auth by nature; none of
657
+ // them approves anything (approval is the CLI, on this machine).
658
+ if (isDaemon && isPairPath(path)) {
659
+ await handlePair(req, res, path);
660
+ return;
661
+ }
662
+ // POST /chat puts text into other sessions: same gate as the session writes.
663
+ if (isDaemon && path === '/chat' && req.method === 'POST') {
664
+ await handleChatWrite(req, res);
665
+ return;
666
+ }
582
667
  // (c) Root health check - GET / returns 200
583
668
  if (path === '/' && req.method === 'GET') {
584
669
  res.writeHead(200, { 'Content-Type': 'application/json' });
@@ -623,6 +708,10 @@ export async function startHttpServer(server, kernelInstance, options) {
623
708
  pro: licenseTier !== 'core',
624
709
  license_tier: licenseTier,
625
710
  supabase_configured: isSupabaseConfigured(),
711
+ // Hosted terminals (HQ's Live agents, open in Ghostty) need the optional
712
+ // node-pty package. Without it the daemon runs normally and says so here
713
+ // rather than failing later at attach time.
714
+ terminals: terminalsState(),
626
715
  // Facades whose dependency is failing. `{}` is the healthy case — a
627
716
  // non-empty object means calls to those facades are being refused fast
628
717
  // rather than left to time out. See runtime/circuitBreaker.ts.
@@ -659,14 +748,14 @@ export async function startHttpServer(server, kernelInstance, options) {
659
748
  sendJson(res, 401, wrapError('This endpoint requires authentication. Hosted (--http) mode must be started with DECIBEL_AUTH_TOKEN set.', 'AUTH_NOT_CONFIGURED'));
660
749
  return;
661
750
  }
662
- if (authToken) {
751
+ if (authToken && !pairingOf(req)) {
663
752
  const authHeader = req.headers.authorization;
664
753
  if (!authHeader || !timingSafeTokenCompare(authHeader, `Bearer ${authToken}`)) {
665
754
  sendJson(res, 401, wrapError('Unauthorized', 'UNAUTHORIZED'));
666
755
  return;
667
756
  }
668
757
  }
669
- const dispatchLogPath = join(process.env.HOME || '~', '.decibel', 'logs', 'dispatch.jsonl');
758
+ const dispatchLogPath = join(daemonStateDir(), 'logs', 'dispatch.jsonl');
670
759
  try {
671
760
  const content = readFileSync(dispatchLogPath, 'utf-8');
672
761
  const lines = content.trim().split('\n').filter(Boolean);
@@ -764,8 +853,9 @@ export async function startHttpServer(server, kernelInstance, options) {
764
853
  sendJson(res, 401, wrapError('This endpoint requires authentication. Hosted (--http) mode must be started with DECIBEL_AUTH_TOKEN set.', 'AUTH_NOT_CONFIGURED'));
765
854
  return;
766
855
  }
767
- // Auth check (timing-safe comparison to prevent timing attacks)
768
- if (authToken) {
856
+ // Auth check (timing-safe comparison to prevent timing attacks). A request
857
+ // verified under an approved pairing already proved more than a bearer.
858
+ if (authToken && !pairingOf(req)) {
769
859
  const authHeader = req.headers.authorization;
770
860
  if (!authHeader || !timingSafeTokenCompare(authHeader, `Bearer ${authToken}`)) {
771
861
  log('HTTP: Unauthorized request');
@@ -776,6 +866,44 @@ export async function startHttpServer(server, kernelInstance, options) {
776
866
  // ========================================================================
777
867
  // Simple REST Endpoints (for external AI agents)
778
868
  // ========================================================================
869
+ // GET /sessions[?project_id=<id>] — hosted-session roster for HQ (ADR-0012 /
870
+ // decibel-hq EPIC-0015). Without project_id, every session on the machine.
871
+ // Read-only, so it sits behind the normal daemon gate; the write routes are
872
+ // handled above with their own bearer.
873
+ if (isDaemon && path === '/sessions' && req.method === 'GET') {
874
+ const projectId = url.searchParams.get('project_id') || undefined;
875
+ try {
876
+ const sessions = await listHostedSessions(projectId);
877
+ res.writeHead(200, { 'Content-Type': 'application/json' });
878
+ res.end(JSON.stringify({ sessions }));
879
+ }
880
+ catch (err) {
881
+ if (err instanceof SessionError) {
882
+ sendJson(res, err.status, wrapError(err.message, err.code));
883
+ }
884
+ else {
885
+ sendJson(res, 500, wrapError(err instanceof Error ? err.message : String(err), 'INTERNAL'));
886
+ }
887
+ }
888
+ return;
889
+ }
890
+ // GET /sessions/last-fleet — the sessions to offer for restore (decibel-hq
891
+ // ADR-0018). Read-only, behind the normal daemon gate like GET /sessions.
892
+ if (isDaemon && path === '/sessions/last-fleet' && req.method === 'GET') {
893
+ res.writeHead(200, { 'Content-Type': 'application/json' });
894
+ res.end(JSON.stringify(fleet().lastFleet()));
895
+ return;
896
+ }
897
+ // GET /chat?since=<id>&limit= — the HQ chat log (decibel-hq EPIC-0016).
898
+ // Read-only, behind the normal daemon gate. human_peer_id changes whenever
899
+ // the peer re-registers, so clients read it from here every time.
900
+ if (isDaemon && path === '/chat' && req.method === 'GET') {
901
+ const since = Number(url.searchParams.get('since') ?? 0) || 0;
902
+ const limit = Number(url.searchParams.get('limit') ?? 200) || 200;
903
+ res.writeHead(200, { 'Content-Type': 'application/json' });
904
+ res.end(JSON.stringify(readChat(since, limit)));
905
+ return;
906
+ }
779
907
  // GET /tools - List available tools
780
908
  // MCP tool definitions, verbatim — the shape a `tools/list` response needs.
781
909
  //
@@ -953,7 +1081,13 @@ export async function startHttpServer(server, kernelInstance, options) {
953
1081
  sendJson(res, 403, wrapError('Invalid or missing session token', 'BAD_SESSION_TOKEN'));
954
1082
  return;
955
1083
  }
956
- const commands = drainCommands(sessionKey, ORG_ID);
1084
+ // No org means no dispatcher ran, so nothing can be queued for this session.
1085
+ let org = null;
1086
+ try {
1087
+ org = getOrgId();
1088
+ }
1089
+ catch { /* malformed: the startup gate reports it */ }
1090
+ const commands = org ? drainCommands(sessionKey, org) : [];
957
1091
  sendJson(res, 200, wrapSuccess({ session_key: sessionKey, commands, count: commands.length }));
958
1092
  return;
959
1093
  }
@@ -1798,6 +1932,16 @@ export async function startHttpServer(server, kernelInstance, options) {
1798
1932
  // ========================================================================
1799
1933
  // Studio API Endpoints (frontend_v0.2 compatible)
1800
1934
  // ========================================================================
1935
+ // Tier guard: these REST shortcuts call studio (pro-tier) tools directly,
1936
+ // bypassing kernel dispatch where tier gating normally lives. Enforce it
1937
+ // here once for all /api/generate-* routes. (crucible re-run 2026-06-07)
1938
+ if (path.startsWith('/api/generate-') && req.method === 'POST') {
1939
+ const tier = await resolveTier(req, configLicenseKey);
1940
+ if (tier === 'core') {
1941
+ sendJson(res, 403, wrapError('Studio generation requires a pro license', 'TIER_REQUIRED'));
1942
+ return;
1943
+ }
1944
+ }
1801
1945
  // POST /api/generate-flux-kontext-image - Start image generation
1802
1946
  if (path === '/api/generate-flux-kontext-image' && req.method === 'POST') {
1803
1947
  try {
@@ -2151,17 +2295,47 @@ export async function startHttpServer(server, kernelInstance, options) {
2151
2295
  res.writeHead(404, { 'Content-Type': 'application/json' });
2152
2296
  res.end(JSON.stringify({ error: 'Not found' }));
2153
2297
  });
2298
+ // WebSocket upgrades. The only upgrade this server accepts is a hosted-session
2299
+ // attach (daemon mode); everything else is refused rather than left hanging,
2300
+ // since Node leaves an unhandled upgrade socket open until it times out.
2301
+ httpServer.on('upgrade', (req, socket, head) => {
2302
+ const upgradeUrl = new URL(req.url || '/', 'http://127.0.0.1');
2303
+ if (isDaemon && isSessionAttachPath(upgradeUrl.pathname)) {
2304
+ handleSessionUpgrade(req, socket, head, upgradeUrl).catch((err) => {
2305
+ log(`HTTP: attach upgrade failed: ${err instanceof Error ? err.message : String(err)}`);
2306
+ try {
2307
+ socket.destroy();
2308
+ }
2309
+ catch { /* ignore */ }
2310
+ });
2311
+ return;
2312
+ }
2313
+ socket.write('HTTP/1.1 404 Not Found\r\nContent-Length: 0\r\nConnection: close\r\n\r\n');
2314
+ socket.destroy();
2315
+ });
2154
2316
  // Configure HTTP server timeouts to prevent premature connection drops
2155
2317
  httpServer.keepAliveTimeout = timeoutMs;
2156
2318
  httpServer.headersTimeout = timeoutMs + 1000; // Slightly longer than keepAliveTimeout
2157
2319
  httpServer.listen(port, host, () => {
2158
2320
  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);
2321
+ void checkTerminals();
2322
+ // Advertise port + pid in daemon.meta so clients can discover the daemon —
2323
+ // but ONLY as the daemon. daemon.meta is machine-global: the session-init
2324
+ // hook, the close hook, the HQ client and ensureRuntime all follow it. A
2325
+ // plain `--http` run is a process someone started for a reason of their own
2326
+ // (a test, a second checkout, CI, the hosted deployment), and when it
2327
+ // advertised, every hook on the machine followed it to a port that died
2328
+ // with it (ISS-0179).
2329
+ if (isDaemon) {
2330
+ try {
2331
+ setDaemonPort(port);
2332
+ }
2333
+ catch (err) {
2334
+ log(`Daemon: failed to write port to meta: ${err instanceof Error ? err.message : String(err)}`);
2335
+ }
2162
2336
  }
2163
- catch (err) {
2164
- log(`Daemon: failed to write port to meta: ${err instanceof Error ? err.message : String(err)}`);
2337
+ else {
2338
+ log(`HTTP Server: not advertising in daemon.meta (not --daemon); clients keep their existing discovery`);
2165
2339
  }
2166
2340
  console.log(`
2167
2341
  ╔══════════════════════════════════════════════════════════════╗
@@ -2212,6 +2386,8 @@ ${authToken ? '║ Auth: Bearer token required
2212
2386
  log(`HTTP: ${activeRequests.size} request(s) still active after 10s drain timeout`);
2213
2387
  }
2214
2388
  }
2389
+ // Close attach sockets (their tmux sessions live on)
2390
+ closeAllAttachSockets();
2215
2391
  // Close SSE connections
2216
2392
  for (const conn of activeSseConnections) {
2217
2393
  try {
@@ -2228,6 +2404,11 @@ ${authToken ? '║ Auth: Bearer token required
2228
2404
  // If already closed, resolve immediately
2229
2405
  setTimeout(resolve, 100);
2230
2406
  });
2407
+ // Withdraw discovery if we owned it, so a clean shutdown does not leave
2408
+ // every client on the machine dialling a port nothing is serving
2409
+ // (ISS-0179). clearDaemonPort only clears an entry that is ours.
2410
+ if (isDaemon)
2411
+ clearDaemonPort();
2231
2412
  log('HTTP server stopped');
2232
2413
  },
2233
2414
  };