@decibelsystems/tools 2.2.0-beta.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 +226 -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 +82 -0
- package/dist/agentPresence.d.ts.map +1 -1
- package/dist/agentPresence.js +194 -26
- package/dist/agentPresence.js.map +1 -1
- package/dist/agentic/index.d.ts +18 -8
- package/dist/agentic/index.d.ts.map +1 -1
- package/dist/agentic/index.js +18 -144
- package/dist/agentic/index.js.map +1 -1
- package/dist/agentic/types.d.ts +106 -0
- package/dist/agentic/types.d.ts.map +1 -1
- package/dist/agentic/types.js +77 -1
- package/dist/agentic/types.js.map +1 -1
- package/dist/architectAdrs.d.ts +27 -3
- package/dist/architectAdrs.d.ts.map +1 -1
- package/dist/architectAdrs.js +92 -4
- 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/client/transports.d.ts.map +1 -1
- package/dist/client/transports.js +13 -3
- package/dist/client/transports.js.map +1 -1
- package/dist/daemon.d.ts +33 -3
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +225 -52
- package/dist/daemon.js.map +1 -1
- package/dist/daemonConfig.d.ts +46 -0
- package/dist/daemonConfig.d.ts.map +1 -1
- package/dist/daemonConfig.js +57 -12
- package/dist/daemonConfig.js.map +1 -1
- package/dist/decibelPaths.d.ts.map +1 -1
- package/dist/decibelPaths.js +39 -6
- package/dist/decibelPaths.js.map +1 -1
- package/dist/domain/issue.d.ts +81 -0
- package/dist/domain/issue.d.ts.map +1 -0
- package/dist/domain/issue.js +106 -0
- package/dist/domain/issue.js.map +1 -0
- package/dist/domain/issueCodec.d.ts +39 -0
- package/dist/domain/issueCodec.d.ts.map +1 -0
- package/dist/domain/issueCodec.js +308 -0
- package/dist/domain/issueCodec.js.map +1 -0
- package/dist/domain/issueRepository.d.ts +124 -0
- package/dist/domain/issueRepository.d.ts.map +1 -0
- package/dist/domain/issueRepository.js +296 -0
- package/dist/domain/issueRepository.js.map +1 -0
- 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 +0 -1
- package/dist/facades/definitions.d.ts.map +1 -1
- package/dist/facades/definitions.js +140 -116
- package/dist/facades/definitions.js.map +1 -1
- package/dist/facades/index.d.ts +2 -1
- package/dist/facades/index.d.ts.map +1 -1
- package/dist/facades/index.js +1 -1
- package/dist/facades/index.js.map +1 -1
- package/dist/facades/types.d.ts +17 -0
- package/dist/facades/types.d.ts.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/httpArgs.d.ts +11 -0
- package/dist/httpArgs.d.ts.map +1 -0
- package/dist/httpArgs.js +39 -0
- package/dist/httpArgs.js.map +1 -0
- package/dist/httpServer.d.ts +1 -12
- package/dist/httpServer.d.ts.map +1 -1
- package/dist/httpServer.js +298 -144
- 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 +46 -1
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +334 -26
- 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/agent-services/assumptions.d.ts.map +1 -1
- package/dist/lib/agent-services/assumptions.js +8 -2
- package/dist/lib/agent-services/assumptions.js.map +1 -1
- package/dist/lib/atomicWrite.d.ts +49 -0
- package/dist/lib/atomicWrite.d.ts.map +1 -0
- package/dist/lib/atomicWrite.js +157 -0
- package/dist/lib/atomicWrite.js.map +1 -0
- package/dist/lib/envelope.d.ts +31 -0
- package/dist/lib/envelope.d.ts.map +1 -0
- package/dist/lib/envelope.js +80 -0
- package/dist/lib/envelope.js.map +1 -0
- package/dist/lib/fileLock.d.ts +38 -0
- package/dist/lib/fileLock.d.ts.map +1 -0
- package/dist/lib/fileLock.js +124 -0
- package/dist/lib/fileLock.js.map +1 -0
- package/dist/lib/recordIdAllocator.d.ts +102 -0
- package/dist/lib/recordIdAllocator.d.ts.map +1 -0
- package/dist/lib/recordIdAllocator.js +179 -0
- package/dist/lib/recordIdAllocator.js.map +1 -0
- 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 +69 -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/circuitBreaker.d.ts +95 -0
- package/dist/runtime/circuitBreaker.d.ts.map +1 -0
- package/dist/runtime/circuitBreaker.js +178 -0
- package/dist/runtime/circuitBreaker.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 +103 -0
- package/dist/runtime/ensureRuntime.d.ts.map +1 -0
- package/dist/runtime/ensureRuntime.js +276 -0
- package/dist/runtime/ensureRuntime.js.map +1 -0
- package/dist/runtime/extensions.d.ts +57 -0
- package/dist/runtime/extensions.d.ts.map +1 -0
- package/dist/runtime/extensions.js +216 -0
- package/dist/runtime/extensions.js.map +1 -0
- package/dist/runtime/localHttp.d.ts +24 -0
- package/dist/runtime/localHttp.d.ts.map +1 -0
- package/dist/runtime/localHttp.js +84 -0
- package/dist/runtime/localHttp.js.map +1 -0
- package/dist/runtime/projectResolution.d.ts +29 -0
- package/dist/runtime/projectResolution.d.ts.map +1 -0
- package/dist/runtime/projectResolution.js +67 -0
- package/dist/runtime/projectResolution.js.map +1 -0
- package/dist/runtime/protocol.d.ts +62 -0
- package/dist/runtime/protocol.d.ts.map +1 -0
- package/dist/runtime/protocol.js +74 -0
- package/dist/runtime/protocol.js.map +1 -0
- package/dist/sentinelIssues.d.ts +42 -2
- package/dist/sentinelIssues.d.ts.map +1 -1
- package/dist/sentinelIssues.js +167 -65
- package/dist/sentinelIssues.js.map +1 -1
- package/dist/server.js +123 -15
- 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/agentic/index.d.ts.map +1 -1
- package/dist/tools/agentic/index.js +28 -2
- package/dist/tools/agentic/index.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 +52 -3
- 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/context.d.ts +10 -5
- package/dist/tools/context.d.ts.map +1 -1
- package/dist/tools/context.js +45 -18
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/coordinator/coordinator.d.ts.map +1 -1
- package/dist/tools/coordinator/coordinator.js +48 -19
- package/dist/tools/coordinator/coordinator.js.map +1 -1
- 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/crit.d.ts +2 -1
- package/dist/tools/crit.d.ts.map +1 -1
- package/dist/tools/crit.js +19 -4
- package/dist/tools/crit.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/designer/index.d.ts.map +1 -1
- package/dist/tools/designer/index.js +4 -3
- package/dist/tools/designer/index.js.map +1 -1
- package/dist/tools/designer/lateral-tools.d.ts.map +1 -1
- package/dist/tools/designer/lateral-tools.js +4 -2
- package/dist/tools/designer/lateral-tools.js.map +1 -1
- package/dist/tools/designer.d.ts +2 -1
- package/dist/tools/designer.d.ts.map +1 -1
- package/dist/tools/designer.js +24 -12
- package/dist/tools/designer.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 +65 -3
- package/dist/tools/dojo.d.ts.map +1 -1
- package/dist/tools/dojo.js +148 -23
- package/dist/tools/dojo.js.map +1 -1
- package/dist/tools/friction.d.ts.map +1 -1
- package/dist/tools/friction.js +16 -6
- package/dist/tools/friction.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 +152 -11
- package/dist/tools/guardian.js.map +1 -1
- package/dist/tools/hygiene/oracle-hygiene.d.ts.map +1 -1
- package/dist/tools/hygiene/oracle-hygiene.js +8 -2
- package/dist/tools/hygiene/oracle-hygiene.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +33 -18
- 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/learnings.d.ts +2 -1
- package/dist/tools/learnings.d.ts.map +1 -1
- package/dist/tools/learnings.js +31 -15
- package/dist/tools/learnings.js.map +1 -1
- 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 +41 -12
- package/dist/tools/oracle.js.map +1 -1
- package/dist/tools/policy.d.ts +2 -1
- package/dist/tools/policy.d.ts.map +1 -1
- package/dist/tools/policy.js +28 -9
- package/dist/tools/policy.js.map +1 -1
- package/dist/tools/postoffice/index.d.ts +10 -0
- package/dist/tools/postoffice/index.d.ts.map +1 -0
- package/dist/tools/postoffice/index.js +218 -0
- package/dist/tools/postoffice/index.js.map +1 -0
- package/dist/tools/postoffice.d.ts +78 -0
- package/dist/tools/postoffice.d.ts.map +1 -0
- package/dist/tools/postoffice.js +199 -0
- package/dist/tools/postoffice.js.map +1 -0
- package/dist/tools/provenance.d.ts +18 -2
- package/dist/tools/provenance.d.ts.map +1 -1
- package/dist/tools/provenance.js +68 -40
- 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 +1 -0
- package/dist/tools/sentinel/index.d.ts.map +1 -1
- package/dist/tools/sentinel/index.js +142 -6
- package/dist/tools/sentinel/index.js.map +1 -1
- package/dist/tools/sentinel.d.ts +152 -1
- package/dist/tools/sentinel.d.ts.map +1 -1
- package/dist/tools/sentinel.js +609 -328
- package/dist/tools/sentinel.js.map +1 -1
- package/dist/tools/shared/index.d.ts +2 -1
- package/dist/tools/shared/index.d.ts.map +1 -1
- package/dist/tools/shared/index.js +2 -1
- package/dist/tools/shared/index.js.map +1 -1
- package/dist/tools/shared/response.d.ts +24 -0
- package/dist/tools/shared/response.d.ts.map +1 -1
- package/dist/tools/shared/response.js +61 -7
- package/dist/tools/shared/response.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/shared/storeRead.d.ts +153 -0
- package/dist/tools/shared/storeRead.d.ts.map +1 -0
- package/dist/tools/shared/storeRead.js +242 -0
- package/dist/tools/shared/storeRead.js.map +1 -0
- 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/testSpec.d.ts +3 -2
- package/dist/tools/testSpec.d.ts.map +1 -1
- package/dist/tools/testSpec.js +51 -14
- package/dist/tools/testSpec.js.map +1 -1
- package/dist/tools/vector.d.ts +33 -1
- package/dist/tools/vector.d.ts.map +1 -1
- package/dist/tools/vector.js +31 -5
- package/dist/tools/vector.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/tools/zoom/index.d.ts +15 -0
- package/dist/tools/zoom/index.d.ts.map +1 -0
- package/dist/tools/zoom/index.js +174 -0
- package/dist/tools/zoom/index.js.map +1 -0
- package/dist/tools/zoom.d.ts +234 -0
- package/dist/tools/zoom.d.ts.map +1 -0
- package/dist/tools/zoom.js +627 -0
- package/dist/tools/zoom.js.map +1 -0
- package/dist/transports/bridge.d.ts +1 -1
- package/dist/transports/bridge.d.ts.map +1 -1
- package/dist/transports/bridge.js +4 -1
- package/dist/transports/bridge.js.map +1 -1
- package/dist/transports/http.d.ts +1 -1
- package/dist/transports/http.d.ts.map +1 -1
- package/dist/transports/http.js +3 -1
- package/dist/transports/http.js.map +1 -1
- package/dist/transports/index.d.ts +1 -0
- package/dist/transports/index.d.ts.map +1 -1
- package/dist/transports/index.js +1 -0
- package/dist/transports/index.js.map +1 -1
- package/dist/transports/mcp.d.ts +1 -1
- package/dist/transports/mcp.d.ts.map +1 -1
- package/dist/transports/mcp.js +9 -4
- package/dist/transports/mcp.js.map +1 -1
- package/dist/transports/stdio.d.ts +1 -1
- package/dist/transports/stdio.d.ts.map +1 -1
- package/dist/transports/stdio.js +2 -0
- package/dist/transports/stdio.js.map +1 -1
- package/dist/transports/thinStdio.d.ts +22 -0
- package/dist/transports/thinStdio.d.ts.map +1 -0
- package/dist/transports/thinStdio.js +218 -0
- package/dist/transports/thinStdio.js.map +1 -0
- package/dist/transports/types.d.ts +8 -1
- package/dist/transports/types.d.ts.map +1 -1
- package/dist/types/agent-services.d.ts +7 -0
- package/dist/types/agent-services.d.ts.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 +20 -4
- package/templates/AGENT.md +3 -0
- package/templates/CLAUDE-decibel.md +11 -0
- package/templates/com.decibel.daemon.plist +6 -1
- package/dist/tools/deck.d.ts +0 -11
- package/dist/tools/deck.d.ts.map +0 -1
- package/dist/tools/deck.js +0 -1656
- package/dist/tools/deck.js.map +0 -1
- package/dist/tools/mother.d.ts +0 -11
- package/dist/tools/mother.d.ts.map +0 -1
- package/dist/tools/mother.js +0 -503
- package/dist/tools/mother.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -3
- package/dist/tools/registry.d.ts.map +0 -1
- package/dist/tools/registry.js +0 -189
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/senken.d.ts +0 -11
- package/dist/tools/senken.d.ts.map +0 -1
- package/dist/tools/senken.js +0 -482
- package/dist/tools/senken.js.map +0 -1
- package/dist/tools/terminal.d.ts +0 -17
- package/dist/tools/terminal.d.ts.map +0 -1
- package/dist/tools/terminal.js +0 -968
- package/dist/tools/terminal.js.map +0 -1
- package/dist/tools/toolsIndex.d.ts +0 -5
- package/dist/tools/toolsIndex.d.ts.map +0 -1
- package/dist/tools/toolsIndex.js +0 -37
- package/dist/tools/toolsIndex.js.map +0 -1
package/dist/agentPresence.js
CHANGED
|
@@ -14,9 +14,12 @@ import os from 'os';
|
|
|
14
14
|
import path from 'path';
|
|
15
15
|
import { createClient } from '@supabase/supabase-js';
|
|
16
16
|
import { log } from './config.js';
|
|
17
|
+
import { requireOrgId, orgOrLog } from './orgId.js';
|
|
17
18
|
import { withRetryResult } from './supabaseRetry.js';
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
import { fetchPeers } from './peerBroker.js';
|
|
20
|
+
export { fetchPeers };
|
|
21
|
+
// Read lazily, never at import time (ADR-0014). See agentCommands.ts.
|
|
22
|
+
const orgId = () => requireOrgId();
|
|
20
23
|
/**
|
|
21
24
|
* The daemon's host identity for presence + command targeting. Defaults to
|
|
22
25
|
* os.hostname() but is overridable via DECIBEL_PRESENCE_HOST — needed where the
|
|
@@ -31,7 +34,7 @@ export function resolveHost() {
|
|
|
31
34
|
const HEARTBEAT_MS = 30_000;
|
|
32
35
|
const IDLE_AFTER_MS = 90_000;
|
|
33
36
|
const ENDED_AFTER_MS = 5 * 60_000;
|
|
34
|
-
function serviceClient() {
|
|
37
|
+
export function serviceClient() {
|
|
35
38
|
const url = process.env.SUPABASE_URL;
|
|
36
39
|
const key = process.env.SUPABASE_SERVICE_KEY;
|
|
37
40
|
if (!url || !key)
|
|
@@ -41,34 +44,18 @@ function serviceClient() {
|
|
|
41
44
|
db: { schema: 'hq' },
|
|
42
45
|
});
|
|
43
46
|
}
|
|
44
|
-
async function fetchPeers() {
|
|
45
|
-
try {
|
|
46
|
-
const res = await fetch(`${BROKER_URL}/list-peers`, {
|
|
47
|
-
method: 'POST',
|
|
48
|
-
headers: { 'Content-Type': 'application/json' },
|
|
49
|
-
body: JSON.stringify({ requester_id: 'decibel-presence', scope: 'machine' }),
|
|
50
|
-
signal: AbortSignal.timeout(2000),
|
|
51
|
-
});
|
|
52
|
-
if (!res.ok)
|
|
53
|
-
return [];
|
|
54
|
-
return (await res.json());
|
|
55
|
-
}
|
|
56
|
-
catch {
|
|
57
|
-
return [];
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
47
|
// project label (repo dir basename) → hq.projects.id within the org. Cached;
|
|
61
48
|
// refreshed on a miss so newly-onboarded projects resolve.
|
|
62
49
|
let projectMap = null;
|
|
63
50
|
async function loadProjects(client) {
|
|
64
|
-
const { data, error } = await client.from('projects').select('id,key').eq('org_id',
|
|
51
|
+
const { data, error } = await client.from('projects').select('id,key').eq('org_id', orgId());
|
|
65
52
|
const m = new Map();
|
|
66
53
|
if (!error && data)
|
|
67
54
|
for (const r of data)
|
|
68
55
|
m.set(r.key, r.id);
|
|
69
56
|
return m;
|
|
70
57
|
}
|
|
71
|
-
async function resolveProjectId(client, cwd) {
|
|
58
|
+
export async function resolveProjectId(client, cwd) {
|
|
72
59
|
const key = path.basename(cwd || '');
|
|
73
60
|
if (!key)
|
|
74
61
|
return null;
|
|
@@ -78,6 +65,170 @@ async function resolveProjectId(client, cwd) {
|
|
|
78
65
|
projectMap = await loadProjects(client); // refresh once on miss
|
|
79
66
|
return projectMap.get(key) ?? null;
|
|
80
67
|
}
|
|
68
|
+
// ============================================================================
|
|
69
|
+
// Durable agent identity — the agent_id seam (ISS-0134 / EPIC-0037)
|
|
70
|
+
// ============================================================================
|
|
71
|
+
// hq.agent_sessions is EPHEMERAL: session_key dies with the process. hq.agents
|
|
72
|
+
// is DURABLE: "this repo's Claude Code agent", stable across restarts, and it
|
|
73
|
+
// is what a post-office message is addressed to. agent_sessions.agent_id is the
|
|
74
|
+
// resolution edge between them, and HQ cannot populate it — the daemon owns
|
|
75
|
+
// this write path, so the column stays inert until the code below fills it.
|
|
76
|
+
//
|
|
77
|
+
// Without it hq.resolve_agent_session() finds nothing, every message resolves
|
|
78
|
+
// to delivered_session_key = NULL, and the post office records traffic it never
|
|
79
|
+
// delivers. Honest, but inert.
|
|
80
|
+
//
|
|
81
|
+
// CARDINALITY IS MANY SESSIONS : ONE AGENT. That is not an assumption — HQ's
|
|
82
|
+
// resolve_agent_session() ends in `order by last_seen_at desc limit 1`, which
|
|
83
|
+
// only makes sense if several live sessions can share one agent_id. Two Claude
|
|
84
|
+
// Code windows open on the same repo are one addressable agent; delivery goes
|
|
85
|
+
// to whichever is most recently active.
|
|
86
|
+
/**
|
|
87
|
+
* Derive the DURABLE address for a session.
|
|
88
|
+
*
|
|
89
|
+
* Must be stable across restarts, so anything process-scoped is disqualified:
|
|
90
|
+
* not the session key, not a PID, not a TTY. The claude-peers broker id looks
|
|
91
|
+
* stable but is not — it carries a random suffix (`decibel-hq-nby9`), so a
|
|
92
|
+
* restart would silently mint a second agent and split the thread history.
|
|
93
|
+
*
|
|
94
|
+
* Repo identity + runtime is the stable pair: the same checkout on the same
|
|
95
|
+
* runtime is the same logical agent, session after session.
|
|
96
|
+
*
|
|
97
|
+
* DELIBERATELY NOT caller-supplied. `reg.agent` is an untrusted display label
|
|
98
|
+
* from a local process, and a local caller that could name its own durable
|
|
99
|
+
* address could claim an EXISTING agent's name — resolve_agent_session picks
|
|
100
|
+
* the most recently seen session, so a frequent heartbeater would capture that
|
|
101
|
+
* agent's inbound mail. That is the principal-not-label gap (EPIC-0007) which
|
|
102
|
+
* Ben accepted as risk for EPIC-0037; accepting it is not a reason to widen it.
|
|
103
|
+
* An operator can still set the name explicitly via DECIBEL_AGENT_NAME, which
|
|
104
|
+
* is daemon-scoped env (trusted) rather than per-request payload.
|
|
105
|
+
*/
|
|
106
|
+
export function deriveAgentName(input) {
|
|
107
|
+
const explicit = process.env.DECIBEL_AGENT_NAME;
|
|
108
|
+
if (explicit && explicit.trim())
|
|
109
|
+
return explicit.trim().slice(0, 200);
|
|
110
|
+
// basename of the git root, else of the cwd — the repo IS the identity.
|
|
111
|
+
const root = (input.gitRoot || input.cwd || '').trim();
|
|
112
|
+
const key = root ? path.basename(root) : '';
|
|
113
|
+
// No filesystem context at all (a runtime that registered without a cwd):
|
|
114
|
+
// fall back to the daemon host so the name is still stable, just coarser.
|
|
115
|
+
const scope = key || input.host;
|
|
116
|
+
return `${scope}/${input.runtime}`.slice(0, 200);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* agent name -> hq.agents.id, memoised for the process. The presence loop runs
|
|
120
|
+
* every 30s over every peer; without this each tick would re-round-trip the
|
|
121
|
+
* same handful of names forever.
|
|
122
|
+
*/
|
|
123
|
+
const agentIdCache = new Map();
|
|
124
|
+
/**
|
|
125
|
+
* Resolve (or create) the durable hq.agents row for `name` and return its id.
|
|
126
|
+
*
|
|
127
|
+
* Returns null rather than throwing when the table is absent — this ships
|
|
128
|
+
* BEFORE decibel-hq applies the post-office migration, and presence writing
|
|
129
|
+
* must keep working untouched in the meantime. When the migration lands the
|
|
130
|
+
* same code starts populating agent_id with no redeploy.
|
|
131
|
+
*
|
|
132
|
+
* `runtime` is written as a self-declared LABEL only. HQ's schema comment is
|
|
133
|
+
* explicit that it is never a trust signal, so nothing here gates on it.
|
|
134
|
+
*/
|
|
135
|
+
export async function resolveAgentId(client, name, runtime) {
|
|
136
|
+
const cached = agentIdCache.get(name);
|
|
137
|
+
if (cached)
|
|
138
|
+
return cached;
|
|
139
|
+
// Upsert on the (org_id, name) unique key, then read the id back. Doing it as
|
|
140
|
+
// an upsert rather than select-then-insert keeps two daemons racing on the
|
|
141
|
+
// same name from both inserting.
|
|
142
|
+
const { data, error } = await withRetryResult(() => client
|
|
143
|
+
.from('agents')
|
|
144
|
+
.upsert({ org_id: orgId(), name, runtime }, { onConflict: 'org_id,name', ignoreDuplicates: false })
|
|
145
|
+
.select('id')
|
|
146
|
+
.maybeSingle(), `presence.agent-resolve ${name}`);
|
|
147
|
+
if (error) {
|
|
148
|
+
// Table not yet created (migration unapplied) is the EXPECTED state today,
|
|
149
|
+
// so log it once per name at low volume rather than every 30s tick.
|
|
150
|
+
if (!agentResolveWarned.has(name)) {
|
|
151
|
+
agentResolveWarned.add(name);
|
|
152
|
+
log(`Presence: agent identity unavailable for "${name}" (${error.message}) — agent_id left null.`);
|
|
153
|
+
}
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
const id = data?.id;
|
|
157
|
+
if (!id)
|
|
158
|
+
return null;
|
|
159
|
+
agentIdCache.set(name, id);
|
|
160
|
+
return id;
|
|
161
|
+
}
|
|
162
|
+
const agentResolveWarned = new Set();
|
|
163
|
+
/** Test seam: drop memoised ids so a test can observe a fresh resolve. */
|
|
164
|
+
export function __resetAgentIdCache() {
|
|
165
|
+
agentIdCache.clear();
|
|
166
|
+
agentResolveWarned.clear();
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Liveness window. MUST match hq.resolve_agent_session's `interval '60 seconds'`
|
|
170
|
+
* — if these drift, the roster says "online" for an agent the delivery path
|
|
171
|
+
* will refuse to deliver to, which is worse than either answer alone.
|
|
172
|
+
*/
|
|
173
|
+
const LIVENESS_WINDOW_MS = 60_000;
|
|
174
|
+
/**
|
|
175
|
+
* The agents.list roster: hq.agents LEFT JOIN liveness.
|
|
176
|
+
*
|
|
177
|
+
* The roster is the DURABLE agents, each annotated with whether a live session
|
|
178
|
+
* resolves. An agent that exists but is offline MUST appear, marked offline,
|
|
179
|
+
* rather than vanish — a roster built from live sessions would silently drop
|
|
180
|
+
* exactly the agent you are trying and failing to reach, which is the same
|
|
181
|
+
* failure class as addressing a dead session.
|
|
182
|
+
*
|
|
183
|
+
* Two queries and a join in memory rather than one call to
|
|
184
|
+
* hq.resolve_agent_session per agent, which would be N round trips to render
|
|
185
|
+
* one board.
|
|
186
|
+
*
|
|
187
|
+
* CLOCK CAVEAT, and it is why this is a DISPLAY path only: the cutoff below is
|
|
188
|
+
* computed from the daemon's clock, while resolve_agent_session uses the
|
|
189
|
+
* database's now(). Skew between them can disagree at the 60s boundary. The
|
|
190
|
+
* authoritative answer at DELIVERY time is HQ's function, never this. Do not
|
|
191
|
+
* route a message using this roster's `online`.
|
|
192
|
+
*
|
|
193
|
+
* Returns null (not an empty roster) when the table is absent, so a caller can
|
|
194
|
+
* distinguish "no agents" from "post office not deployed yet".
|
|
195
|
+
*/
|
|
196
|
+
export async function listAgentRoster(client) {
|
|
197
|
+
const { data: agents, error: agentsErr } = await withRetryResult(() => client
|
|
198
|
+
.from('agents')
|
|
199
|
+
.select('id,name,runtime,role,capabilities,status')
|
|
200
|
+
.eq('org_id', orgId()), 'presence.agent-roster');
|
|
201
|
+
if (agentsErr) {
|
|
202
|
+
log(`Presence: agent roster unavailable (${agentsErr.message}).`);
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
205
|
+
const cutoff = new Date(Date.now() - LIVENESS_WINDOW_MS).toISOString();
|
|
206
|
+
const { data: sessions } = await withRetryResult(() => client
|
|
207
|
+
.from('agent_sessions')
|
|
208
|
+
.select('agent_id,session_key,last_seen_at')
|
|
209
|
+
.eq('org_id', orgId())
|
|
210
|
+
.eq('status', 'active')
|
|
211
|
+
.gt('last_seen_at', cutoff)
|
|
212
|
+
.order('last_seen_at', { ascending: false }), 'presence.agent-roster-liveness');
|
|
213
|
+
// Most recent wins, mirroring `order by last_seen_at desc limit 1`. The query
|
|
214
|
+
// is already sorted, so the first entry seen for an agent is the winner.
|
|
215
|
+
const live = new Map();
|
|
216
|
+
for (const s of (sessions ?? [])) {
|
|
217
|
+
if (!s.agent_id || live.has(s.agent_id))
|
|
218
|
+
continue;
|
|
219
|
+
live.set(s.agent_id, { session_key: s.session_key, last_seen_at: s.last_seen_at });
|
|
220
|
+
}
|
|
221
|
+
return (agents ?? []).map((a) => {
|
|
222
|
+
const hit = live.get(a.id);
|
|
223
|
+
return {
|
|
224
|
+
...a,
|
|
225
|
+
capabilities: a.capabilities ?? [],
|
|
226
|
+
online: Boolean(hit),
|
|
227
|
+
session_key: hit?.session_key ?? null,
|
|
228
|
+
last_seen_at: hit?.last_seen_at ?? null,
|
|
229
|
+
};
|
|
230
|
+
});
|
|
231
|
+
}
|
|
81
232
|
async function tick(client) {
|
|
82
233
|
const host = resolveHost();
|
|
83
234
|
const nowMs = Date.now();
|
|
@@ -87,14 +238,21 @@ async function tick(client) {
|
|
|
87
238
|
if (!p.id)
|
|
88
239
|
continue;
|
|
89
240
|
const project_id = await resolveProjectId(client, p.cwd);
|
|
241
|
+
// Durable identity for this session. git_root is preferred over cwd: a peer
|
|
242
|
+
// sitting in a subdirectory of the repo is the same agent as one at the top.
|
|
243
|
+
const agent_id = await resolveAgentId(client, deriveAgentName({ gitRoot: p.git_root, cwd: p.cwd, runtime: 'claude-code', host }), 'claude-code');
|
|
90
244
|
const row = {
|
|
91
|
-
org_id:
|
|
245
|
+
org_id: orgId(),
|
|
92
246
|
host,
|
|
93
247
|
session_key: p.id,
|
|
94
248
|
agent: null,
|
|
95
249
|
// These are Claude Code sessions read from the claude-peers broker; tag the
|
|
96
250
|
// runtime so HQ's /agents board renders the runtime badge + filter (P1/P5).
|
|
97
251
|
runtime: 'claude-code',
|
|
252
|
+
// Only sent once resolvable. Before the post-office migration lands the
|
|
253
|
+
// column does not exist and PostgREST rejects the ENTIRE row on an
|
|
254
|
+
// unknown key — which would take down presence writing that works today.
|
|
255
|
+
...(agent_id ? { agent_id } : {}),
|
|
98
256
|
summary: p.summary || null,
|
|
99
257
|
cwd: p.cwd || null,
|
|
100
258
|
project_id,
|
|
@@ -117,9 +275,9 @@ async function tick(client) {
|
|
|
117
275
|
const idleCut = new Date(nowMs - IDLE_AFTER_MS).toISOString();
|
|
118
276
|
const endedCut = new Date(nowMs - ENDED_AFTER_MS).toISOString();
|
|
119
277
|
await client.from('agent_sessions').update({ status: 'idle' })
|
|
120
|
-
.eq('org_id',
|
|
278
|
+
.eq('org_id', orgId()).eq('status', 'active').lt('last_seen_at', idleCut);
|
|
121
279
|
await client.from('agent_sessions').update({ status: 'ended', ended_at: nowIso })
|
|
122
|
-
.eq('org_id',
|
|
280
|
+
.eq('org_id', orgId()).neq('status', 'ended').lt('last_seen_at', endedCut);
|
|
123
281
|
}
|
|
124
282
|
// ---------------------------------------------------------------------------
|
|
125
283
|
// Write-time presence-field belt (NON-encoding) — co-designed with decibel-hq.
|
|
@@ -175,15 +333,23 @@ export async function writeLocalAgentSession(reg) {
|
|
|
175
333
|
return false;
|
|
176
334
|
if (!reg.session_key || !reg.runtime)
|
|
177
335
|
return false;
|
|
336
|
+
if (!orgOrLog('Presence'))
|
|
337
|
+
return false;
|
|
178
338
|
const host = resolveHost();
|
|
179
339
|
const nowIso = new Date().toISOString();
|
|
180
340
|
const project_id = await resolveProjectId(client, reg.cwd || '');
|
|
181
341
|
const ended = reg.status === 'ended';
|
|
342
|
+
// Durable identity. The SDK gives us no git_root, so the cwd basename is the
|
|
343
|
+
// repo key. Note the address is derived from WHERE the runtime is, never from
|
|
344
|
+
// reg.agent — see deriveAgentName on why a caller must not name itself.
|
|
345
|
+
const agent_id = await resolveAgentId(client, deriveAgentName({ cwd: reg.cwd, runtime: reg.runtime, host }), reg.runtime);
|
|
182
346
|
const row = {
|
|
183
|
-
org_id:
|
|
347
|
+
org_id: orgId(),
|
|
184
348
|
host,
|
|
185
349
|
session_key: reg.session_key,
|
|
186
350
|
runtime: reg.runtime,
|
|
351
|
+
// See the claude-peers path: omitted, not nulled, until the column exists.
|
|
352
|
+
...(agent_id ? { agent_id } : {}),
|
|
187
353
|
// Non-encoding belt on caller-supplied display fields (store-raw / escape-at-
|
|
188
354
|
// render is HQ's job; we only cap length + strip control chars/null bytes).
|
|
189
355
|
agent: sanitizeText(reg.agent, FIELD_CAPS.agent),
|
|
@@ -214,7 +380,9 @@ export function startPresenceWriter() {
|
|
|
214
380
|
log('Presence: SUPABASE_URL/SERVICE_KEY not set — agent-presence writer disabled.');
|
|
215
381
|
return () => { };
|
|
216
382
|
}
|
|
217
|
-
|
|
383
|
+
if (!orgOrLog('Presence'))
|
|
384
|
+
return () => { };
|
|
385
|
+
log(`Presence: writer started (30s heartbeat → hq.agent_sessions, org ${orgId()}).`);
|
|
218
386
|
const run = () => {
|
|
219
387
|
tick(client).catch((e) => log(`Presence: tick error: ${e instanceof Error ? e.message : String(e)}`));
|
|
220
388
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentPresence.js","sourceRoot":"","sources":["../src/agentPresence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentPresence.js","sourceRoot":"","sources":["../src/agentPresence.ts"],"names":[],"mappings":"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"}
|
package/dist/agentic/index.d.ts
CHANGED
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Agentic Pack Engine
|
|
2
|
+
* Agentic Pack Engine — module surface.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* The engine itself lives in sibling modules: compiler (config → versioned,
|
|
5
|
+
* hashed pack), renderer (payload → text via pack templates), linter (output vs
|
|
6
|
+
* pack constraints), golden (regression harness). This file only re-exports
|
|
7
|
+
* them, and is imported by src/tools/agentic/index.ts, which is what actually
|
|
8
|
+
* exposes the tools.
|
|
9
|
+
*
|
|
10
|
+
* It used to also carry registerAgenticTools(server: McpServer) and the zod
|
|
11
|
+
* schemas that function validated its inputs with. That registration path died
|
|
12
|
+
* when server.ts was split into modules (ISS-0029): nothing called it, so its
|
|
13
|
+
* validation validated nothing — while still typechecking and importing
|
|
14
|
+
* cleanly, which is why it went unnoticed for 7.7 months and ~98k dispatch
|
|
15
|
+
* events. The schemas moved to types.ts, beside the interfaces they mirror,
|
|
16
|
+
* and are wired into the live handlers.
|
|
17
|
+
*
|
|
18
|
+
* The file is load-bearing even though the function was not: the live tools
|
|
19
|
+
* import compilePack/renderPayload/lintOutput/runGolden and their input types
|
|
20
|
+
* through the re-exports below. Deleting it breaks them at import time.
|
|
9
21
|
*/
|
|
10
|
-
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
11
|
-
export declare function registerAgenticTools(server: McpServer): void;
|
|
12
22
|
export * from './types.js';
|
|
13
23
|
export { compilePack, loadCompiledPack, getOrCompilePack } from './compiler.js';
|
|
14
24
|
export { render, renderPayload } from './renderer.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agentic/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agentic/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/agentic/index.js
CHANGED
|
@@ -1,150 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Agentic Pack Engine
|
|
2
|
+
* Agentic Pack Engine — module surface.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* The engine itself lives in sibling modules: compiler (config → versioned,
|
|
5
|
+
* hashed pack), renderer (payload → text via pack templates), linter (output vs
|
|
6
|
+
* pack constraints), golden (regression harness). This file only re-exports
|
|
7
|
+
* them, and is imported by src/tools/agentic/index.ts, which is what actually
|
|
8
|
+
* exposes the tools.
|
|
9
|
+
*
|
|
10
|
+
* It used to also carry registerAgenticTools(server: McpServer) and the zod
|
|
11
|
+
* schemas that function validated its inputs with. That registration path died
|
|
12
|
+
* when server.ts was split into modules (ISS-0029): nothing called it, so its
|
|
13
|
+
* validation validated nothing — while still typechecking and importing
|
|
14
|
+
* cleanly, which is why it went unnoticed for 7.7 months and ~98k dispatch
|
|
15
|
+
* events. The schemas moved to types.ts, beside the interfaces they mirror,
|
|
16
|
+
* and are wired into the live handlers.
|
|
17
|
+
*
|
|
18
|
+
* The file is load-bearing even though the function was not: the live tools
|
|
19
|
+
* import compilePack/renderPayload/lintOutput/runGolden and their input types
|
|
20
|
+
* through the re-exports below. Deleting it breaks them at import time.
|
|
9
21
|
*/
|
|
10
|
-
import { z } from 'zod';
|
|
11
|
-
import { compilePack } from './compiler.js';
|
|
12
|
-
import { renderPayload } from './renderer.js';
|
|
13
|
-
import { lintOutput } from './linter.js';
|
|
14
|
-
import { runGolden } from './golden.js';
|
|
15
|
-
// ============================================================================
|
|
16
|
-
// Zod Schemas
|
|
17
|
-
// ============================================================================
|
|
18
|
-
const EvidenceSchema = z.object({
|
|
19
|
-
source: z.string(),
|
|
20
|
-
value: z.unknown(),
|
|
21
|
-
confidence: z.number().min(0).max(1).optional(),
|
|
22
|
-
timestamp: z.string().optional(),
|
|
23
|
-
});
|
|
24
|
-
const MissingDataSchema = z.object({
|
|
25
|
-
field: z.string(),
|
|
26
|
-
reason: z.string(),
|
|
27
|
-
severity: z.enum(['blocking', 'degraded', 'informational']),
|
|
28
|
-
});
|
|
29
|
-
const GuardrailSchema = z.object({
|
|
30
|
-
id: z.string(),
|
|
31
|
-
description: z.string(),
|
|
32
|
-
status: z.enum(['active', 'triggered', 'disabled']),
|
|
33
|
-
});
|
|
34
|
-
const DissentSummarySchema = z.object({
|
|
35
|
-
agent_id: z.string(),
|
|
36
|
-
position: z.string(),
|
|
37
|
-
confidence: z.number().min(0).max(1),
|
|
38
|
-
});
|
|
39
|
-
const PayloadMetadataSchema = z.object({
|
|
40
|
-
pack_id: z.string(),
|
|
41
|
-
pack_hash: z.string(),
|
|
42
|
-
renderer_id: z.string().optional(),
|
|
43
|
-
specialist_id: z.string().optional(),
|
|
44
|
-
created_at: z.string(),
|
|
45
|
-
});
|
|
46
|
-
const CanonicalPayloadSchema = z.object({
|
|
47
|
-
role: z.enum(['Sensor', 'Analyst', 'Overmind', 'Specialist']),
|
|
48
|
-
status: z.enum(['OK', 'DEGRADED', 'BLOCKED', 'ALERT']),
|
|
49
|
-
load: z.enum(['GREEN', 'YELLOW', 'RED']),
|
|
50
|
-
summary: z.string(),
|
|
51
|
-
evidence: z.array(EvidenceSchema),
|
|
52
|
-
missing_data: z.array(MissingDataSchema),
|
|
53
|
-
decision: z.string().optional(),
|
|
54
|
-
guardrails: z.array(GuardrailSchema).optional(),
|
|
55
|
-
dissent_summary: z.array(DissentSummarySchema).optional(),
|
|
56
|
-
specialist_id: z.string().optional(),
|
|
57
|
-
specialist_name: z.string().optional(),
|
|
58
|
-
metadata: PayloadMetadataSchema,
|
|
59
|
-
});
|
|
60
|
-
// ============================================================================
|
|
61
|
-
// Tool Registration
|
|
62
|
-
// ============================================================================
|
|
63
|
-
export function registerAgenticTools(server) {
|
|
64
|
-
// Tool 1: Compile Pack
|
|
65
|
-
server.tool('agentic.compile_pack', 'Compile agentic configuration files into a versioned, hashed pack. Reads from .decibel/architect/agentic/ and outputs compiled_agentic_pack.json', {
|
|
66
|
-
projectId: z.string().optional().describe('Project identifier (optional, uses default if not specified)'),
|
|
67
|
-
}, async ({ projectId }) => {
|
|
68
|
-
const result = await compilePack({ projectId });
|
|
69
|
-
return {
|
|
70
|
-
content: [
|
|
71
|
-
{
|
|
72
|
-
type: 'text',
|
|
73
|
-
text: JSON.stringify(result, null, 2),
|
|
74
|
-
},
|
|
75
|
-
],
|
|
76
|
-
isError: result.status === 'error',
|
|
77
|
-
};
|
|
78
|
-
});
|
|
79
|
-
// Tool 2: Render Payload
|
|
80
|
-
server.tool('agentic.render', 'Transform a canonical payload into rendered text using a specified renderer. Pure function - no side effects.', {
|
|
81
|
-
projectId: z.string().optional().describe('Project identifier (optional)'),
|
|
82
|
-
payload: CanonicalPayloadSchema.describe('The canonical payload to render'),
|
|
83
|
-
renderer_id: z.string().describe('ID of the renderer to use'),
|
|
84
|
-
target: z.enum(['plain', 'markdown', 'ansi']).optional().describe('Output target format (default: plain)'),
|
|
85
|
-
}, async ({ projectId, payload, renderer_id, target }) => {
|
|
86
|
-
const result = await renderPayload({
|
|
87
|
-
projectId,
|
|
88
|
-
payload: payload,
|
|
89
|
-
renderer_id,
|
|
90
|
-
target: target,
|
|
91
|
-
});
|
|
92
|
-
return {
|
|
93
|
-
content: [
|
|
94
|
-
{
|
|
95
|
-
type: 'text',
|
|
96
|
-
text: JSON.stringify(result, null, 2),
|
|
97
|
-
},
|
|
98
|
-
],
|
|
99
|
-
isError: result.status === 'error',
|
|
100
|
-
};
|
|
101
|
-
});
|
|
102
|
-
// Tool 3: Lint Output
|
|
103
|
-
server.tool('agentic.lint', 'Validate rendered output against renderer constraints. Checks emoji count, banned words, line limits, and other dialect rules.', {
|
|
104
|
-
projectId: z.string().optional().describe('Project identifier (optional)'),
|
|
105
|
-
rendered: z.string().describe('The rendered text to lint'),
|
|
106
|
-
renderer_id: z.string().describe('ID of the renderer whose constraints to check'),
|
|
107
|
-
payload: CanonicalPayloadSchema.optional().describe('Original payload for consistency checks (optional)'),
|
|
108
|
-
}, async ({ projectId, rendered, renderer_id, payload }) => {
|
|
109
|
-
const result = await lintOutput({
|
|
110
|
-
projectId,
|
|
111
|
-
rendered,
|
|
112
|
-
renderer_id,
|
|
113
|
-
payload: payload,
|
|
114
|
-
});
|
|
115
|
-
return {
|
|
116
|
-
content: [
|
|
117
|
-
{
|
|
118
|
-
type: 'text',
|
|
119
|
-
text: JSON.stringify(result, null, 2),
|
|
120
|
-
},
|
|
121
|
-
],
|
|
122
|
-
isError: result.status === 'error',
|
|
123
|
-
};
|
|
124
|
-
});
|
|
125
|
-
// Tool 4: Golden Eval
|
|
126
|
-
server.tool('agentic.golden_eval', 'Run golden eval regression tests. Compares rendered outputs against known-good baseline files.', {
|
|
127
|
-
projectId: z.string().optional().describe('Project identifier (optional)'),
|
|
128
|
-
case_name: z.string().optional().describe('Run only this specific test case'),
|
|
129
|
-
strict: z.boolean().optional().describe('Also run lint checks on all outputs'),
|
|
130
|
-
}, async ({ projectId, case_name, strict }) => {
|
|
131
|
-
const result = await runGolden({
|
|
132
|
-
projectId,
|
|
133
|
-
case_name,
|
|
134
|
-
strict,
|
|
135
|
-
});
|
|
136
|
-
return {
|
|
137
|
-
content: [
|
|
138
|
-
{
|
|
139
|
-
type: 'text',
|
|
140
|
-
text: JSON.stringify(result, null, 2),
|
|
141
|
-
},
|
|
142
|
-
],
|
|
143
|
-
isError: result.status === 'error',
|
|
144
|
-
};
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
// Re-export types and functions for direct use
|
|
148
22
|
export * from './types.js';
|
|
149
23
|
export { compilePack, loadCompiledPack, getOrCompilePack } from './compiler.js';
|
|
150
24
|
export { render, renderPayload } from './renderer.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agentic/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agentic/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|