@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.
- package/CHANGELOG.md +66 -0
- package/dist/agentCommands.d.ts +0 -1
- package/dist/agentCommands.d.ts.map +1 -1
- package/dist/agentCommands.js +19 -8
- package/dist/agentCommands.js.map +1 -1
- package/dist/agentPresence.d.ts +5 -3
- package/dist/agentPresence.d.ts.map +1 -1
- package/dist/agentPresence.js +20 -29
- package/dist/agentPresence.js.map +1 -1
- package/dist/architectAdrs.d.ts +13 -1
- package/dist/architectAdrs.d.ts.map +1 -1
- package/dist/architectAdrs.js +83 -1
- package/dist/architectAdrs.js.map +1 -1
- package/dist/artifacts.d.ts +60 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +208 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/asks.d.ts +93 -0
- package/dist/asks.d.ts.map +1 -0
- package/dist/asks.js +383 -0
- package/dist/asks.js.map +1 -0
- package/dist/chat.d.ts +47 -0
- package/dist/chat.d.ts.map +1 -0
- package/dist/chat.js +288 -0
- package/dist/chat.js.map +1 -0
- package/dist/daemon.d.ts +14 -3
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +44 -14
- package/dist/daemon.js.map +1 -1
- package/dist/daemonConfig.d.ts +22 -0
- package/dist/daemonConfig.d.ts.map +1 -1
- package/dist/daemonConfig.js +11 -0
- package/dist/daemonConfig.js.map +1 -1
- package/dist/domain/issue.d.ts +19 -15
- package/dist/domain/issue.d.ts.map +1 -1
- package/dist/domain/issue.js +4 -32
- package/dist/domain/issue.js.map +1 -1
- package/dist/domain/issueCodec.d.ts.map +1 -1
- package/dist/domain/issueCodec.js +10 -0
- package/dist/domain/issueCodec.js.map +1 -1
- package/dist/domain/issueRepository.d.ts +35 -2
- package/dist/domain/issueRepository.d.ts.map +1 -1
- package/dist/domain/issueRepository.js +40 -1
- package/dist/domain/issueRepository.js.map +1 -1
- package/dist/domain/uid.d.ts +16 -0
- package/dist/domain/uid.d.ts.map +1 -0
- package/dist/domain/uid.js +43 -0
- package/dist/domain/uid.js.map +1 -0
- package/dist/facades/definitions.d.ts.map +1 -1
- package/dist/facades/definitions.js +46 -3
- package/dist/facades/definitions.js.map +1 -1
- package/dist/hq/defineAgent.d.ts.map +1 -1
- package/dist/hq/defineAgent.js +7 -11
- package/dist/hq/defineAgent.js.map +1 -1
- package/dist/httpServer.d.ts.map +1 -1
- package/dist/httpServer.js +201 -48
- package/dist/httpServer.js.map +1 -1
- package/dist/identity.d.ts +123 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +312 -0
- package/dist/identity.js.map +1 -0
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +24 -1
- package/dist/kernel.js.map +1 -1
- package/dist/killSwitch.d.ts +117 -0
- package/dist/killSwitch.d.ts.map +1 -0
- package/dist/killSwitch.js +161 -0
- package/dist/killSwitch.js.map +1 -0
- package/dist/lib/atomicWrite.d.ts +23 -0
- package/dist/lib/atomicWrite.d.ts.map +1 -1
- package/dist/lib/atomicWrite.js +84 -0
- package/dist/lib/atomicWrite.js.map +1 -1
- package/dist/lib/recordIdAllocator.d.ts +21 -5
- package/dist/lib/recordIdAllocator.d.ts.map +1 -1
- package/dist/lib/recordIdAllocator.js +25 -7
- package/dist/lib/recordIdAllocator.js.map +1 -1
- package/dist/orgId.d.ts +23 -0
- package/dist/orgId.d.ts.map +1 -0
- package/dist/orgId.js +73 -0
- package/dist/orgId.js.map +1 -0
- package/dist/pairCli.d.ts +2 -0
- package/dist/pairCli.d.ts.map +1 -0
- package/dist/pairCli.js +97 -0
- package/dist/pairCli.js.map +1 -0
- package/dist/peerBroker.d.ts +40 -0
- package/dist/peerBroker.d.ts.map +1 -0
- package/dist/peerBroker.js +70 -0
- package/dist/peerBroker.js.map +1 -0
- package/dist/peerBrokerSupervisor.d.ts +21 -0
- package/dist/peerBrokerSupervisor.d.ts.map +1 -0
- package/dist/peerBrokerSupervisor.js +131 -0
- package/dist/peerBrokerSupervisor.js.map +1 -0
- package/dist/projectPaths.d.ts.map +1 -1
- package/dist/projectPaths.js +1 -19
- package/dist/projectPaths.js.map +1 -1
- package/dist/projectRegistry.d.ts +22 -0
- package/dist/projectRegistry.d.ts.map +1 -1
- package/dist/projectRegistry.js +58 -2
- package/dist/projectRegistry.js.map +1 -1
- package/dist/pty/boundary.d.ts +39 -0
- package/dist/pty/boundary.d.ts.map +1 -0
- package/dist/pty/boundary.js +100 -0
- package/dist/pty/boundary.js.map +1 -0
- package/dist/pty/errors.d.ts +6 -0
- package/dist/pty/errors.d.ts.map +1 -0
- package/dist/pty/errors.js +12 -0
- package/dist/pty/errors.js.map +1 -0
- package/dist/pty/fleet.d.ts +159 -0
- package/dist/pty/fleet.d.ts.map +1 -0
- package/dist/pty/fleet.js +543 -0
- package/dist/pty/fleet.js.map +1 -0
- package/dist/pty/launchProfile.d.ts +45 -0
- package/dist/pty/launchProfile.d.ts.map +1 -0
- package/dist/pty/launchProfile.js +149 -0
- package/dist/pty/launchProfile.js.map +1 -0
- package/dist/pty/openTerminal.d.ts +48 -0
- package/dist/pty/openTerminal.d.ts.map +1 -0
- package/dist/pty/openTerminal.js +185 -0
- package/dist/pty/openTerminal.js.map +1 -0
- package/dist/pty/pairDialog.d.ts +16 -0
- package/dist/pty/pairDialog.d.ts.map +1 -0
- package/dist/pty/pairDialog.js +121 -0
- package/dist/pty/pairDialog.js.map +1 -0
- package/dist/pty/pairing.d.ts +86 -0
- package/dist/pty/pairing.d.ts.map +1 -0
- package/dist/pty/pairing.js +351 -0
- package/dist/pty/pairing.js.map +1 -0
- package/dist/pty/routes.d.ts +49 -0
- package/dist/pty/routes.d.ts.map +1 -0
- package/dist/pty/routes.js +624 -0
- package/dist/pty/routes.js.map +1 -0
- package/dist/pty/sessions.d.ts +167 -0
- package/dist/pty/sessions.d.ts.map +1 -0
- package/dist/pty/sessions.js +513 -0
- package/dist/pty/sessions.js.map +1 -0
- package/dist/pty/tmux.d.ts +109 -0
- package/dist/pty/tmux.d.ts.map +1 -0
- package/dist/pty/tmux.js +271 -0
- package/dist/pty/tmux.js.map +1 -0
- package/dist/roster.d.ts +37 -0
- package/dist/roster.d.ts.map +1 -0
- package/dist/roster.js +126 -0
- package/dist/roster.js.map +1 -0
- package/dist/runtime/daemonMeta.d.ts +53 -0
- package/dist/runtime/daemonMeta.d.ts.map +1 -0
- package/dist/runtime/daemonMeta.js +121 -0
- package/dist/runtime/daemonMeta.js.map +1 -0
- package/dist/runtime/ensureRuntime.d.ts.map +1 -1
- package/dist/runtime/ensureRuntime.js +5 -10
- package/dist/runtime/ensureRuntime.js.map +1 -1
- package/dist/sentinelIssues.d.ts +16 -0
- package/dist/sentinelIssues.d.ts.map +1 -1
- package/dist/sentinelIssues.js +42 -1
- package/dist/sentinelIssues.js.map +1 -1
- package/dist/server.js +66 -5
- package/dist/server.js.map +1 -1
- package/dist/toolConfig.d.ts.map +1 -1
- package/dist/toolConfig.js +12 -0
- package/dist/toolConfig.js.map +1 -1
- package/dist/tools/agentic/agentQueue.d.ts.map +1 -1
- package/dist/tools/agentic/agentQueue.js +4 -0
- package/dist/tools/agentic/agentQueue.js.map +1 -1
- package/dist/tools/architect/index.d.ts +1 -0
- package/dist/tools/architect/index.d.ts.map +1 -1
- package/dist/tools/architect/index.js +45 -1
- package/dist/tools/architect/index.js.map +1 -1
- package/dist/tools/architect.d.ts.map +1 -1
- package/dist/tools/architect.js +59 -8
- package/dist/tools/architect.js.map +1 -1
- package/dist/tools/artifacts.d.ts +5 -0
- package/dist/tools/artifacts.d.ts.map +1 -0
- package/dist/tools/artifacts.js +89 -0
- package/dist/tools/artifacts.js.map +1 -0
- package/dist/tools/asks.d.ts +6 -0
- package/dist/tools/asks.d.ts.map +1 -0
- package/dist/tools/asks.js +104 -0
- package/dist/tools/asks.js.map +1 -0
- package/dist/tools/coordinator/index.d.ts +1 -0
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +42 -2
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/tools/data-inspector.d.ts +1 -1
- package/dist/tools/data-inspector.d.ts.map +1 -1
- package/dist/tools/data-inspector.js +1 -1
- package/dist/tools/data-inspector.js.map +1 -1
- package/dist/tools/dojo/index.d.ts.map +1 -1
- package/dist/tools/dojo/index.js +52 -3
- package/dist/tools/dojo/index.js.map +1 -1
- package/dist/tools/dojo.d.ts +62 -1
- package/dist/tools/dojo.d.ts.map +1 -1
- package/dist/tools/dojo.js +84 -1
- package/dist/tools/dojo.js.map +1 -1
- package/dist/tools/guardian.d.ts +7 -0
- package/dist/tools/guardian.d.ts.map +1 -1
- package/dist/tools/guardian.js +146 -9
- package/dist/tools/guardian.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +6 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/killswitch/index.d.ts +13 -0
- package/dist/tools/killswitch/index.d.ts.map +1 -0
- package/dist/tools/killswitch/index.js +138 -0
- package/dist/tools/killswitch/index.js.map +1 -0
- package/dist/tools/oracle/index.d.ts.map +1 -1
- package/dist/tools/oracle/index.js +8 -0
- package/dist/tools/oracle/index.js.map +1 -1
- package/dist/tools/oracle.d.ts +7 -0
- package/dist/tools/oracle.d.ts.map +1 -1
- package/dist/tools/oracle.js +22 -6
- package/dist/tools/oracle.js.map +1 -1
- package/dist/tools/provenance.d.ts +11 -2
- package/dist/tools/provenance.d.ts.map +1 -1
- package/dist/tools/provenance.js +26 -24
- package/dist/tools/provenance.js.map +1 -1
- package/dist/tools/registry/index.d.ts.map +1 -1
- package/dist/tools/registry/index.js +24 -0
- package/dist/tools/registry/index.js.map +1 -1
- package/dist/tools/sentinel/index.d.ts.map +1 -1
- package/dist/tools/sentinel/index.js +54 -2
- package/dist/tools/sentinel/index.js.map +1 -1
- package/dist/tools/sentinel.d.ts +50 -0
- package/dist/tools/sentinel.d.ts.map +1 -1
- package/dist/tools/sentinel.js +72 -7
- package/dist/tools/sentinel.js.map +1 -1
- package/dist/tools/shared/runTracker.d.ts +2 -0
- package/dist/tools/shared/runTracker.d.ts.map +1 -1
- package/dist/tools/shared/runTracker.js +38 -0
- package/dist/tools/shared/runTracker.js.map +1 -1
- package/dist/tools/swarm.d.ts +3 -1
- package/dist/tools/swarm.d.ts.map +1 -1
- package/dist/tools/swarm.js +6 -12
- package/dist/tools/swarm.js.map +1 -1
- package/dist/tools/voice/index.d.ts +1 -0
- package/dist/tools/voice/index.d.ts.map +1 -1
- package/dist/tools/voice/index.js +33 -2
- package/dist/tools/voice/index.js.map +1 -1
- package/dist/tools/voice.d.ts +48 -1
- package/dist/tools/voice.d.ts.map +1 -1
- package/dist/tools/voice.js +63 -3
- package/dist/tools/voice.js.map +1 -1
- package/dist/transports/bridge.d.ts.map +1 -1
- package/dist/transports/bridge.js +2 -1
- package/dist/transports/bridge.js.map +1 -1
- package/dist/transports/mcp.d.ts.map +1 -1
- package/dist/transports/mcp.js +2 -1
- package/dist/transports/mcp.js.map +1 -1
- package/dist/version.d.ts +5 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +23 -0
- package/dist/version.js.map +1 -0
- package/package.json +13 -2
- package/templates/AGENT.md +3 -0
- 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":"
|
|
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"}
|
package/dist/hq/defineAgent.js
CHANGED
|
@@ -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
|
|
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
|
-
/**
|
|
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
|
-
|
|
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;
|
|
1
|
+
{"version":3,"file":"defineAgent.js","sourceRoot":"","sources":["../../src/hq/defineAgent.ts"],"names":[],"mappings":"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"}
|
package/dist/httpServer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpServer.d.ts","sourceRoot":"","sources":["../src/httpServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;
|
|
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"}
|
package/dist/httpServer.js
CHANGED
|
@@ -25,7 +25,13 @@
|
|
|
25
25
|
* { "status": "error", "error": "...", "code": "..." }
|
|
26
26
|
*/
|
|
27
27
|
import { createServer } from 'http';
|
|
28
|
-
import {
|
|
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
|
|
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:
|
|
131
|
+
// Security: shared trust boundary (src/pty/boundary.ts)
|
|
108
132
|
// ============================================================================
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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', '
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2161
|
-
|
|
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
|
-
|
|
2164
|
-
log(`
|
|
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
|
};
|