@decibelsystems/tools 2.2.0-beta.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/CHANGELOG.md +160 -0
  2. package/dist/agentPresence.d.ts +80 -0
  3. package/dist/agentPresence.d.ts.map +1 -1
  4. package/dist/agentPresence.js +177 -0
  5. package/dist/agentPresence.js.map +1 -1
  6. package/dist/agentic/index.d.ts +18 -8
  7. package/dist/agentic/index.d.ts.map +1 -1
  8. package/dist/agentic/index.js +18 -144
  9. package/dist/agentic/index.js.map +1 -1
  10. package/dist/agentic/types.d.ts +106 -0
  11. package/dist/agentic/types.d.ts.map +1 -1
  12. package/dist/agentic/types.js +77 -1
  13. package/dist/agentic/types.js.map +1 -1
  14. package/dist/architectAdrs.d.ts +14 -2
  15. package/dist/architectAdrs.d.ts.map +1 -1
  16. package/dist/architectAdrs.js +9 -3
  17. package/dist/architectAdrs.js.map +1 -1
  18. package/dist/client/transports.d.ts.map +1 -1
  19. package/dist/client/transports.js +13 -3
  20. package/dist/client/transports.js.map +1 -1
  21. package/dist/daemon.d.ts +19 -0
  22. package/dist/daemon.d.ts.map +1 -1
  23. package/dist/daemon.js +181 -38
  24. package/dist/daemon.js.map +1 -1
  25. package/dist/daemonConfig.d.ts +24 -0
  26. package/dist/daemonConfig.d.ts.map +1 -1
  27. package/dist/daemonConfig.js +46 -12
  28. package/dist/daemonConfig.js.map +1 -1
  29. package/dist/decibelPaths.d.ts.map +1 -1
  30. package/dist/decibelPaths.js +39 -6
  31. package/dist/decibelPaths.js.map +1 -1
  32. package/dist/domain/issue.d.ts +77 -0
  33. package/dist/domain/issue.d.ts.map +1 -0
  34. package/dist/domain/issue.js +134 -0
  35. package/dist/domain/issue.js.map +1 -0
  36. package/dist/domain/issueCodec.d.ts +39 -0
  37. package/dist/domain/issueCodec.d.ts.map +1 -0
  38. package/dist/domain/issueCodec.js +298 -0
  39. package/dist/domain/issueCodec.js.map +1 -0
  40. package/dist/domain/issueRepository.d.ts +91 -0
  41. package/dist/domain/issueRepository.d.ts.map +1 -0
  42. package/dist/domain/issueRepository.js +257 -0
  43. package/dist/domain/issueRepository.js.map +1 -0
  44. package/dist/facades/definitions.d.ts +0 -1
  45. package/dist/facades/definitions.d.ts.map +1 -1
  46. package/dist/facades/definitions.js +94 -113
  47. package/dist/facades/definitions.js.map +1 -1
  48. package/dist/facades/index.d.ts +2 -1
  49. package/dist/facades/index.d.ts.map +1 -1
  50. package/dist/facades/index.js +1 -1
  51. package/dist/facades/index.js.map +1 -1
  52. package/dist/facades/types.d.ts +17 -0
  53. package/dist/facades/types.d.ts.map +1 -1
  54. package/dist/httpArgs.d.ts +11 -0
  55. package/dist/httpArgs.d.ts.map +1 -0
  56. package/dist/httpArgs.js +39 -0
  57. package/dist/httpArgs.js.map +1 -0
  58. package/dist/httpServer.d.ts +1 -12
  59. package/dist/httpServer.d.ts.map +1 -1
  60. package/dist/httpServer.js +97 -96
  61. package/dist/httpServer.js.map +1 -1
  62. package/dist/kernel.d.ts +46 -1
  63. package/dist/kernel.d.ts.map +1 -1
  64. package/dist/kernel.js +311 -26
  65. package/dist/kernel.js.map +1 -1
  66. package/dist/lib/agent-services/assumptions.d.ts.map +1 -1
  67. package/dist/lib/agent-services/assumptions.js +8 -2
  68. package/dist/lib/agent-services/assumptions.js.map +1 -1
  69. package/dist/lib/atomicWrite.d.ts +26 -0
  70. package/dist/lib/atomicWrite.d.ts.map +1 -0
  71. package/dist/lib/atomicWrite.js +73 -0
  72. package/dist/lib/atomicWrite.js.map +1 -0
  73. package/dist/lib/envelope.d.ts +31 -0
  74. package/dist/lib/envelope.d.ts.map +1 -0
  75. package/dist/lib/envelope.js +80 -0
  76. package/dist/lib/envelope.js.map +1 -0
  77. package/dist/lib/fileLock.d.ts +38 -0
  78. package/dist/lib/fileLock.d.ts.map +1 -0
  79. package/dist/lib/fileLock.js +124 -0
  80. package/dist/lib/fileLock.js.map +1 -0
  81. package/dist/lib/recordIdAllocator.d.ts +86 -0
  82. package/dist/lib/recordIdAllocator.d.ts.map +1 -0
  83. package/dist/lib/recordIdAllocator.js +161 -0
  84. package/dist/lib/recordIdAllocator.js.map +1 -0
  85. package/dist/projectRegistry.d.ts.map +1 -1
  86. package/dist/projectRegistry.js +11 -0
  87. package/dist/projectRegistry.js.map +1 -1
  88. package/dist/runtime/circuitBreaker.d.ts +95 -0
  89. package/dist/runtime/circuitBreaker.d.ts.map +1 -0
  90. package/dist/runtime/circuitBreaker.js +178 -0
  91. package/dist/runtime/circuitBreaker.js.map +1 -0
  92. package/dist/runtime/ensureRuntime.d.ts +103 -0
  93. package/dist/runtime/ensureRuntime.d.ts.map +1 -0
  94. package/dist/runtime/ensureRuntime.js +281 -0
  95. package/dist/runtime/ensureRuntime.js.map +1 -0
  96. package/dist/runtime/extensions.d.ts +57 -0
  97. package/dist/runtime/extensions.d.ts.map +1 -0
  98. package/dist/runtime/extensions.js +216 -0
  99. package/dist/runtime/extensions.js.map +1 -0
  100. package/dist/runtime/localHttp.d.ts +24 -0
  101. package/dist/runtime/localHttp.d.ts.map +1 -0
  102. package/dist/runtime/localHttp.js +84 -0
  103. package/dist/runtime/localHttp.js.map +1 -0
  104. package/dist/runtime/projectResolution.d.ts +29 -0
  105. package/dist/runtime/projectResolution.d.ts.map +1 -0
  106. package/dist/runtime/projectResolution.js +67 -0
  107. package/dist/runtime/projectResolution.js.map +1 -0
  108. package/dist/runtime/protocol.d.ts +62 -0
  109. package/dist/runtime/protocol.d.ts.map +1 -0
  110. package/dist/runtime/protocol.js +74 -0
  111. package/dist/runtime/protocol.js.map +1 -0
  112. package/dist/sentinelIssues.d.ts +26 -2
  113. package/dist/sentinelIssues.d.ts.map +1 -1
  114. package/dist/sentinelIssues.js +125 -64
  115. package/dist/sentinelIssues.js.map +1 -1
  116. package/dist/server.js +59 -12
  117. package/dist/server.js.map +1 -1
  118. package/dist/tools/agentic/index.d.ts.map +1 -1
  119. package/dist/tools/agentic/index.js +28 -2
  120. package/dist/tools/agentic/index.js.map +1 -1
  121. package/dist/tools/architect/index.d.ts.map +1 -1
  122. package/dist/tools/architect/index.js +7 -2
  123. package/dist/tools/architect/index.js.map +1 -1
  124. package/dist/tools/context.d.ts +10 -5
  125. package/dist/tools/context.d.ts.map +1 -1
  126. package/dist/tools/context.js +45 -18
  127. package/dist/tools/context.js.map +1 -1
  128. package/dist/tools/coordinator/coordinator.d.ts.map +1 -1
  129. package/dist/tools/coordinator/coordinator.js +48 -19
  130. package/dist/tools/coordinator/coordinator.js.map +1 -1
  131. package/dist/tools/crit.d.ts +2 -1
  132. package/dist/tools/crit.d.ts.map +1 -1
  133. package/dist/tools/crit.js +19 -4
  134. package/dist/tools/crit.js.map +1 -1
  135. package/dist/tools/designer/index.d.ts.map +1 -1
  136. package/dist/tools/designer/index.js +4 -3
  137. package/dist/tools/designer/index.js.map +1 -1
  138. package/dist/tools/designer/lateral-tools.d.ts.map +1 -1
  139. package/dist/tools/designer/lateral-tools.js +4 -2
  140. package/dist/tools/designer/lateral-tools.js.map +1 -1
  141. package/dist/tools/designer.d.ts +2 -1
  142. package/dist/tools/designer.d.ts.map +1 -1
  143. package/dist/tools/designer.js +24 -12
  144. package/dist/tools/designer.js.map +1 -1
  145. package/dist/tools/dojo.d.ts +3 -2
  146. package/dist/tools/dojo.d.ts.map +1 -1
  147. package/dist/tools/dojo.js +64 -22
  148. package/dist/tools/dojo.js.map +1 -1
  149. package/dist/tools/friction.d.ts.map +1 -1
  150. package/dist/tools/friction.js +16 -6
  151. package/dist/tools/friction.js.map +1 -1
  152. package/dist/tools/guardian.d.ts.map +1 -1
  153. package/dist/tools/guardian.js +6 -2
  154. package/dist/tools/guardian.js.map +1 -1
  155. package/dist/tools/hygiene/oracle-hygiene.d.ts.map +1 -1
  156. package/dist/tools/hygiene/oracle-hygiene.js +8 -2
  157. package/dist/tools/hygiene/oracle-hygiene.js.map +1 -1
  158. package/dist/tools/index.d.ts.map +1 -1
  159. package/dist/tools/index.js +27 -18
  160. package/dist/tools/index.js.map +1 -1
  161. package/dist/tools/learnings.d.ts +2 -1
  162. package/dist/tools/learnings.d.ts.map +1 -1
  163. package/dist/tools/learnings.js +31 -15
  164. package/dist/tools/learnings.js.map +1 -1
  165. package/dist/tools/oracle.d.ts.map +1 -1
  166. package/dist/tools/oracle.js +19 -6
  167. package/dist/tools/oracle.js.map +1 -1
  168. package/dist/tools/policy.d.ts +2 -1
  169. package/dist/tools/policy.d.ts.map +1 -1
  170. package/dist/tools/policy.js +28 -9
  171. package/dist/tools/policy.js.map +1 -1
  172. package/dist/tools/postoffice/index.d.ts +10 -0
  173. package/dist/tools/postoffice/index.d.ts.map +1 -0
  174. package/dist/tools/postoffice/index.js +218 -0
  175. package/dist/tools/postoffice/index.js.map +1 -0
  176. package/dist/tools/postoffice.d.ts +78 -0
  177. package/dist/tools/postoffice.d.ts.map +1 -0
  178. package/dist/tools/postoffice.js +199 -0
  179. package/dist/tools/postoffice.js.map +1 -0
  180. package/dist/tools/provenance.d.ts +7 -0
  181. package/dist/tools/provenance.d.ts.map +1 -1
  182. package/dist/tools/provenance.js +42 -16
  183. package/dist/tools/provenance.js.map +1 -1
  184. package/dist/tools/sentinel/index.d.ts +1 -0
  185. package/dist/tools/sentinel/index.d.ts.map +1 -1
  186. package/dist/tools/sentinel/index.js +88 -4
  187. package/dist/tools/sentinel/index.js.map +1 -1
  188. package/dist/tools/sentinel.d.ts +102 -1
  189. package/dist/tools/sentinel.d.ts.map +1 -1
  190. package/dist/tools/sentinel.js +544 -328
  191. package/dist/tools/sentinel.js.map +1 -1
  192. package/dist/tools/shared/index.d.ts +2 -1
  193. package/dist/tools/shared/index.d.ts.map +1 -1
  194. package/dist/tools/shared/index.js +2 -1
  195. package/dist/tools/shared/index.js.map +1 -1
  196. package/dist/tools/shared/response.d.ts +24 -0
  197. package/dist/tools/shared/response.d.ts.map +1 -1
  198. package/dist/tools/shared/response.js +61 -7
  199. package/dist/tools/shared/response.js.map +1 -1
  200. package/dist/tools/shared/storeRead.d.ts +153 -0
  201. package/dist/tools/shared/storeRead.d.ts.map +1 -0
  202. package/dist/tools/shared/storeRead.js +242 -0
  203. package/dist/tools/shared/storeRead.js.map +1 -0
  204. package/dist/tools/testSpec.d.ts +3 -2
  205. package/dist/tools/testSpec.d.ts.map +1 -1
  206. package/dist/tools/testSpec.js +51 -14
  207. package/dist/tools/testSpec.js.map +1 -1
  208. package/dist/tools/vector.d.ts +33 -1
  209. package/dist/tools/vector.d.ts.map +1 -1
  210. package/dist/tools/vector.js +31 -5
  211. package/dist/tools/vector.js.map +1 -1
  212. package/dist/tools/zoom/index.d.ts +15 -0
  213. package/dist/tools/zoom/index.d.ts.map +1 -0
  214. package/dist/tools/zoom/index.js +174 -0
  215. package/dist/tools/zoom/index.js.map +1 -0
  216. package/dist/tools/zoom.d.ts +234 -0
  217. package/dist/tools/zoom.d.ts.map +1 -0
  218. package/dist/tools/zoom.js +627 -0
  219. package/dist/tools/zoom.js.map +1 -0
  220. package/dist/transports/bridge.d.ts +1 -1
  221. package/dist/transports/bridge.d.ts.map +1 -1
  222. package/dist/transports/bridge.js +2 -0
  223. package/dist/transports/bridge.js.map +1 -1
  224. package/dist/transports/http.d.ts +1 -1
  225. package/dist/transports/http.d.ts.map +1 -1
  226. package/dist/transports/http.js +3 -1
  227. package/dist/transports/http.js.map +1 -1
  228. package/dist/transports/index.d.ts +1 -0
  229. package/dist/transports/index.d.ts.map +1 -1
  230. package/dist/transports/index.js +1 -0
  231. package/dist/transports/index.js.map +1 -1
  232. package/dist/transports/mcp.d.ts +1 -1
  233. package/dist/transports/mcp.d.ts.map +1 -1
  234. package/dist/transports/mcp.js +7 -3
  235. package/dist/transports/mcp.js.map +1 -1
  236. package/dist/transports/stdio.d.ts +1 -1
  237. package/dist/transports/stdio.d.ts.map +1 -1
  238. package/dist/transports/stdio.js +2 -0
  239. package/dist/transports/stdio.js.map +1 -1
  240. package/dist/transports/thinStdio.d.ts +22 -0
  241. package/dist/transports/thinStdio.d.ts.map +1 -0
  242. package/dist/transports/thinStdio.js +218 -0
  243. package/dist/transports/thinStdio.js.map +1 -0
  244. package/dist/transports/types.d.ts +8 -1
  245. package/dist/transports/types.d.ts.map +1 -1
  246. package/dist/types/agent-services.d.ts +7 -0
  247. package/dist/types/agent-services.d.ts.map +1 -1
  248. package/package.json +9 -4
  249. package/templates/com.decibel.daemon.plist +6 -1
  250. package/dist/tools/deck.d.ts +0 -11
  251. package/dist/tools/deck.d.ts.map +0 -1
  252. package/dist/tools/deck.js +0 -1656
  253. package/dist/tools/deck.js.map +0 -1
  254. package/dist/tools/mother.d.ts +0 -11
  255. package/dist/tools/mother.d.ts.map +0 -1
  256. package/dist/tools/mother.js +0 -503
  257. package/dist/tools/mother.js.map +0 -1
  258. package/dist/tools/registry.d.ts +0 -3
  259. package/dist/tools/registry.d.ts.map +0 -1
  260. package/dist/tools/registry.js +0 -189
  261. package/dist/tools/registry.js.map +0 -1
  262. package/dist/tools/senken.d.ts +0 -11
  263. package/dist/tools/senken.d.ts.map +0 -1
  264. package/dist/tools/senken.js +0 -482
  265. package/dist/tools/senken.js.map +0 -1
  266. package/dist/tools/terminal.d.ts +0 -17
  267. package/dist/tools/terminal.d.ts.map +0 -1
  268. package/dist/tools/terminal.js +0 -968
  269. package/dist/tools/terminal.js.map +0 -1
  270. package/dist/tools/toolsIndex.d.ts +0 -5
  271. package/dist/tools/toolsIndex.d.ts.map +0 -1
  272. package/dist/tools/toolsIndex.js +0 -37
  273. package/dist/tools/toolsIndex.js.map +0 -1
package/dist/kernel.js CHANGED
@@ -12,12 +12,41 @@ import { EventEmitter } from 'events';
12
12
  import { getAllTools } from './tools/index.js';
13
13
  import { trackToolUse } from './tools/shared/index.js';
14
14
  import { log } from './config.js';
15
- import { coreFacades, proFacades, appFacades } from './facades/definitions.js';
15
+ import { coreFacades, proFacades } from './facades/definitions.js';
16
+ import { loadExtensions } from './runtime/extensions.js';
16
17
  import { buildMcpDefinitions, validateFacades } from './facades/index.js';
17
18
  import { getEnabledFacades } from './toolConfig.js';
18
- // Tier gating (same logic as tools/index.ts)
19
- const PRO_ENABLED = process.env.DECIBEL_PRO === '1' || process.env.NODE_ENV !== 'production';
20
- const APPS_ENABLED = process.env.DECIBEL_APPS === '1' || process.env.NODE_ENV !== 'production';
19
+ import { CircuitBreakerRegistry } from './runtime/circuitBreaker.js';
20
+ import { withResolutionTracking, currentResolution } from './runtime/projectResolution.js';
21
+ // Tier gating (same logic as tools/index.ts).
22
+ //
23
+ // Fails CLOSED: opt in explicitly. The previous form OR'd in
24
+ // `NODE_ENV !== 'production'`, which is true whenever NODE_ENV is simply unset —
25
+ // the default for a plain `npx @decibelsystems/tools` install and for any client
26
+ // that spawns the server without a curated env (Claude Desktop, Cursor). That
27
+ // silently exposed every pro and apps facade, including `terminal` (reads
28
+ // DX_WALLET_PRIVATE_KEY) and the Postgres trading facades, to ordinary users.
29
+ const PRO_ENABLED = process.env.DECIBEL_PRO === '1';
30
+ // Apps-tier facades are no longer env-gated. They arrive as extensions from the
31
+ // allowlist in ~/.decibel/config.yaml — see runtime/extensions.ts. DECIBEL_APPS
32
+ // was machine-dependent in the worst way: it lived in a launchd plist, so
33
+ // regenerating the plist dropped four facades with no error on any surface.
34
+ let lastExtensionLoad = null;
35
+ /**
36
+ * What the last createKernel() call loaded, and what it refused. Surfaced on
37
+ * /health so a rejected extension is visible without reading the daemon log.
38
+ */
39
+ export function getExtensionDiagnostics() {
40
+ return {
41
+ loaded: (lastExtensionLoad?.extensions ?? []).map(e => ({
42
+ name: e.manifest.name,
43
+ version: e.manifest.version,
44
+ tier: e.manifest.tier,
45
+ facades: e.facades.map(f => f.name),
46
+ })),
47
+ rejected: lastExtensionLoad?.rejected ?? [],
48
+ };
49
+ }
21
50
  /**
22
51
  * Coerce params that arrived as JSON strings but whose target tool's schema
23
52
  * declares them as object or array. Facade MCP definitions expose only
@@ -65,18 +94,109 @@ export function coerceStringifiedParams(params, schema) {
65
94
  }
66
95
  return out ?? params;
67
96
  }
97
+ /**
98
+ * Tell the caller when the project it was served is not the project it asked
99
+ * for. Only fires when the resolver SUBSTITUTED one — a normal call is byte
100
+ * for byte unchanged, so this adds no noise to the ninety-nine percent case.
101
+ *
102
+ * The substitution is silent today by construction: strategy 7 returns a
103
+ * different id, and strategy 6 returns the requested id attached to a
104
+ * different path, so a caller comparing what it asked for against what it got
105
+ * cannot even detect the second one. HQ fans out across 34 projects; without
106
+ * this, a mistyped or unregistered id renders another project's issues under
107
+ * the requested project's name and nothing anywhere looks wrong.
108
+ *
109
+ * This does not change resolution — whether the forgiving strategies should
110
+ * apply to programmatic callers at all is a separate decision. It makes the
111
+ * outcome legible either way.
112
+ */
113
+ function annotateResolution(result) {
114
+ const record = currentResolution();
115
+ if (!record || record.matched)
116
+ return result;
117
+ const text = result.content?.find((c) => c.type === 'text')?.text;
118
+ if (!text)
119
+ return result;
120
+ let payload;
121
+ try {
122
+ payload = JSON.parse(text);
123
+ }
124
+ catch {
125
+ return result; // Not JSON — leave it alone rather than mangling it.
126
+ }
127
+ if (typeof payload !== 'object' || payload === null || Array.isArray(payload)) {
128
+ return result;
129
+ }
130
+ const annotated = {
131
+ ...payload,
132
+ project_resolution: {
133
+ requested: record.requested,
134
+ resolved: record.resolvedId,
135
+ strategy: record.strategy,
136
+ matched: false,
137
+ warning: `This result is for project "${record.resolvedId}", not "${record.requested}". ` +
138
+ 'The requested project could not be resolved, so the runtime substituted one ' +
139
+ 'discovered from its own environment. Treat this data as belonging to the ' +
140
+ 'resolved project.',
141
+ },
142
+ };
143
+ return {
144
+ ...result,
145
+ content: [{ type: 'text', text: JSON.stringify(annotated, null, 2) }],
146
+ };
147
+ }
148
+ /**
149
+ * Invoke a handler with project-resolution tracking, and annotate its result
150
+ * before the tracking scope closes. Annotating outside the scope reads an
151
+ * empty store — AsyncLocalStorage ends `run` when the callback settles, so the
152
+ * record is gone by the time the caller has the value in hand.
153
+ */
154
+ function runTracked(tool, params) {
155
+ return withResolutionTracking(async () => annotateResolution(await tool.handler(params)));
156
+ }
157
+ /** Best-effort one-line reason from an `isError` result, for circuit reporting. */
158
+ function resultErrorText(result) {
159
+ const text = result.content?.find((c) => c.type === 'text')?.text;
160
+ if (!text)
161
+ return undefined;
162
+ try {
163
+ const parsed = JSON.parse(text);
164
+ if (typeof parsed.error === 'string')
165
+ return parsed.error;
166
+ }
167
+ catch {
168
+ // Not JSON — fall through to the raw text.
169
+ }
170
+ return text.slice(0, 200);
171
+ }
68
172
  /**
69
173
  * Create the tool kernel. Call once at startup — both transports share it.
70
174
  */
71
175
  export async function createKernel() {
72
176
  const tools = await getAllTools();
73
177
  const toolMap = new Map(tools.map(t => [t.definition.name, t]));
74
- // Build facade registry (core + pro if enabled + apps if enabled)
75
- let facades = [
178
+ // Build facade registry: core, plus pro when licensed, plus whatever the
179
+ // extension allowlist yields.
180
+ const baseFacades = [
76
181
  ...coreFacades,
77
182
  ...(PRO_ENABLED ? proFacades : []),
78
- ...(APPS_ENABLED ? appFacades : []),
79
183
  ];
184
+ // Extensions register into this same toolMap and facade list, so dispatching
185
+ // to an extension facade takes exactly the path a core call takes — no second
186
+ // lookup, no parallel registry, nothing that can disagree with core.
187
+ //
188
+ // Fail closed by absence: a facade that was not allowlisted is never
189
+ // registered, so dispatch answers "unknown facade" rather than returning an
190
+ // empty result. That distinction matters more than it looks — an unregistered
191
+ // facade returning something zero-shaped is indistinguishable from a real
192
+ // empty answer, which is exactly how a broken voice inbox read as "0 messages"
193
+ // for five hours on 2026-09-01.
194
+ const loaded = await loadExtensions(new Set(baseFacades.map(f => f.name)));
195
+ lastExtensionLoad = loaded;
196
+ for (const tool of loaded.tools) {
197
+ toolMap.set(tool.definition.name, tool);
198
+ }
199
+ let facades = [...baseFacades, ...loaded.facades];
80
200
  // DECIBEL_FACADES env var or config: restrict to only these facades
81
201
  // Always include 'registry' so config tools remain accessible
82
202
  const enabledFacades = getEnabledFacades();
@@ -116,17 +236,60 @@ export async function createKernel() {
116
236
  // Register a no-op default so unsubscribed errors don't crash the process.
117
237
  const emitter = new EventEmitter();
118
238
  emitter.on('error', () => { });
119
- // Pre-build MCP definitions for each tier (cached)
239
+ // Per-facade circuit breaker. See src/runtime/circuitBreaker.ts for what
240
+ // counts as a fault and why `isError` alone is neither necessary nor
241
+ // sufficient.
242
+ const circuits = new CircuitBreakerRegistry();
243
+ /**
244
+ * Emit without letting a subscriber take the call down with it. Listeners
245
+ * run synchronously on the dispatch path — an SSE writer whose socket died
246
+ * mid-write, or a logging hook with a bad assumption, would otherwise throw
247
+ * straight out of a tool call that had already succeeded.
248
+ */
249
+ function safeEmit(event, payload) {
250
+ try {
251
+ emitter.emit(event, payload);
252
+ }
253
+ catch (err) {
254
+ log(`Kernel: dispatch listener for "${event}" threw — ${err instanceof Error ? err.message : String(err)}`);
255
+ }
256
+ }
257
+ /** The circuit a call belongs to: its facade, or the facade that owns the tool. */
258
+ function circuitKey(name) {
259
+ if (facadeMap.has(name))
260
+ return name;
261
+ return toolToFacade.get(name)?.name ?? name;
262
+ }
263
+ function circuitOpenResult(key, decision) {
264
+ return {
265
+ content: [{ type: 'text', text: JSON.stringify({
266
+ error: `Facade "${key}" is temporarily unavailable — circuit open after repeated failures`,
267
+ circuit_open: true,
268
+ facade: key,
269
+ retry_after_ms: decision.retryAfterMs,
270
+ opened_at: decision.openedAt,
271
+ last_error: decision.lastError,
272
+ hint: 'The facade\'s dependency (database, network service, or mount) is failing. Other facades are unaffected.',
273
+ }) }],
274
+ isError: true,
275
+ };
276
+ }
277
+ // Pre-build MCP definitions for each tier (cached). Keyed on transport too:
278
+ // an HTTP listing must not advertise a local-only facade it would then refuse
279
+ // to dispatch. Offering a tool and rejecting every call to it is a worse
280
+ // failure than not offering it — the caller reads the rejection as a bug.
120
281
  const mcpDefCache = new Map();
121
- function getMcpToolDefinitions(tier = 'full') {
122
- let cached = mcpDefCache.get(tier);
282
+ function getMcpToolDefinitions(tier = 'full', opts = {}) {
283
+ const key = `${tier}:${opts.transport ?? 'stdio'}`;
284
+ let cached = mcpDefCache.get(key);
123
285
  if (!cached) {
124
- cached = buildMcpDefinitions(facades, tier, toolMap);
125
- mcpDefCache.set(tier, cached);
286
+ const visible = opts.transport === 'http' ? facades.filter(f => !f.localOnly) : facades;
287
+ cached = buildMcpDefinitions(visible, tier, toolMap);
288
+ mcpDefCache.set(key, cached);
126
289
  }
127
290
  return cached;
128
291
  }
129
- async function dispatch(name, args, context) {
292
+ async function dispatchInner(name, args, context) {
130
293
  const agentId = context?.agentId || 'anonymous';
131
294
  const runId = context?.runId;
132
295
  const requestId = context?.requestId;
@@ -146,6 +309,27 @@ export async function createKernel() {
146
309
  };
147
310
  }
148
311
  }
312
+ // Local-only enforcement: a facade whose blast radius exceeds the caller's
313
+ // own project never leaves the local machine, whatever the tier says.
314
+ // Checked BEFORE tier, because a licensed pro caller over HTTP is exactly
315
+ // the case tier gating would wave through.
316
+ if (context?.transport === 'http') {
317
+ const localFacade = facadeMap.get(name) ?? (() => {
318
+ const owner = toolToFacade.get(name);
319
+ return owner ? facadeMap.get(owner.name) : undefined;
320
+ })();
321
+ if (localFacade?.localOnly) {
322
+ return {
323
+ content: [{ type: 'text', text: JSON.stringify({
324
+ error: `Facade "${localFacade.name}" is local-only and is not served over HTTP`,
325
+ facade: localFacade.name,
326
+ transport: 'http',
327
+ hint: 'Call it from a local stdio client. This facade reaches credentials whose scope is wider than one project, so it is not exposed on a network bind.',
328
+ }) }],
329
+ isError: true,
330
+ };
331
+ }
332
+ }
149
333
  // Tier enforcement: reject pro/apps facade calls from core-tier callers
150
334
  if (context?.tier === 'core') {
151
335
  const targetFacade = facadeMap.get(name);
@@ -226,26 +410,45 @@ export async function createKernel() {
226
410
  const params = coerceStringifiedParams(merged, tool.definition.inputSchema);
227
411
  log(`Kernel: facade ${name}.${action} → ${internalName} (agent=${agentId}${runId ? ` run=${runId}` : ''})`);
228
412
  trackToolUse(internalName);
413
+ const breaker = circuits.beforeCall(name);
414
+ if (!breaker.allowed) {
415
+ safeEmit('error', {
416
+ type: 'error', facade: name, action, tool: internalName,
417
+ agentId, runId, requestId, timestamp: new Date().toISOString(),
418
+ duration_ms: 0,
419
+ error: `circuit open for facade "${name}"`,
420
+ });
421
+ return circuitOpenResult(name, breaker);
422
+ }
229
423
  const startTime = Date.now();
230
- emitter.emit('dispatch', {
424
+ safeEmit('dispatch', {
231
425
  type: 'dispatch', facade: name, action, tool: internalName,
232
426
  agentId, runId, requestId, timestamp: new Date().toISOString(),
233
427
  });
234
428
  try {
235
- const result = await tool.handler(params);
236
- emitter.emit('result', {
429
+ const result = await runTracked(tool, params);
430
+ const duration = Date.now() - startTime;
431
+ circuits.afterCall(name, {
432
+ threw: false,
433
+ isError: !!result.isError,
434
+ durationMs: duration,
435
+ error: result.isError ? resultErrorText(result) : undefined,
436
+ });
437
+ safeEmit('result', {
237
438
  type: 'result', facade: name, action, tool: internalName,
238
439
  agentId, runId, requestId, timestamp: new Date().toISOString(),
239
- duration_ms: Date.now() - startTime, success: !result.isError,
440
+ duration_ms: duration, success: !result.isError,
240
441
  });
241
442
  return result;
242
443
  }
243
444
  catch (err) {
244
445
  const errMsg = err instanceof Error ? err.message : String(err);
245
- emitter.emit('error', {
446
+ const duration = Date.now() - startTime;
447
+ circuits.afterCall(name, { threw: true, isError: true, durationMs: duration, error: errMsg });
448
+ safeEmit('error', {
246
449
  type: 'error', facade: name, action, tool: internalName,
247
450
  agentId, runId, requestId, timestamp: new Date().toISOString(),
248
- duration_ms: Date.now() - startTime,
451
+ duration_ms: duration,
249
452
  error: errMsg,
250
453
  });
251
454
  return {
@@ -270,26 +473,48 @@ export async function createKernel() {
270
473
  log(`Kernel: dispatch ${name} (agent=${agentId}${runId ? ` run=${runId}` : ''})`);
271
474
  trackToolUse(name);
272
475
  const directParams = coerceStringifiedParams(args, tool.definition.inputSchema);
476
+ // Direct tool calls share the circuit of the facade that owns the tool —
477
+ // `senken_trade_summary` and `senken.trade_summary` reach the same pool.
478
+ const key = circuitKey(name);
479
+ const breaker = circuits.beforeCall(key);
480
+ if (!breaker.allowed) {
481
+ safeEmit('error', {
482
+ type: 'error', tool: name,
483
+ agentId, runId, requestId, timestamp: new Date().toISOString(),
484
+ duration_ms: 0,
485
+ error: `circuit open for facade "${key}"`,
486
+ });
487
+ return circuitOpenResult(key, breaker);
488
+ }
273
489
  const startTime = Date.now();
274
- emitter.emit('dispatch', {
490
+ safeEmit('dispatch', {
275
491
  type: 'dispatch', tool: name,
276
492
  agentId, runId, requestId, timestamp: new Date().toISOString(),
277
493
  });
278
494
  try {
279
- const result = await tool.handler(directParams);
280
- emitter.emit('result', {
495
+ const result = await runTracked(tool, directParams);
496
+ const duration = Date.now() - startTime;
497
+ circuits.afterCall(key, {
498
+ threw: false,
499
+ isError: !!result.isError,
500
+ durationMs: duration,
501
+ error: result.isError ? resultErrorText(result) : undefined,
502
+ });
503
+ safeEmit('result', {
281
504
  type: 'result', tool: name,
282
505
  agentId, runId, requestId, timestamp: new Date().toISOString(),
283
- duration_ms: Date.now() - startTime, success: !result.isError,
506
+ duration_ms: duration, success: !result.isError,
284
507
  });
285
508
  return result;
286
509
  }
287
510
  catch (err) {
288
511
  const errMsg = err instanceof Error ? err.message : String(err);
289
- emitter.emit('error', {
512
+ const duration = Date.now() - startTime;
513
+ circuits.afterCall(key, { threw: true, isError: true, durationMs: duration, error: errMsg });
514
+ safeEmit('error', {
290
515
  type: 'error', tool: name,
291
516
  agentId, runId, requestId, timestamp: new Date().toISOString(),
292
- duration_ms: Date.now() - startTime,
517
+ duration_ms: duration,
293
518
  error: errMsg,
294
519
  });
295
520
  return {
@@ -301,10 +526,64 @@ export async function createKernel() {
301
526
  };
302
527
  }
303
528
  }
529
+ /**
530
+ * The isolation boundary. Every failure a facade can produce becomes a
531
+ * `ToolResult`, never a rejected promise: the inner dispatch already handles
532
+ * a throwing *handler*, but the code around it can fail too — a malformed
533
+ * schema in `coerceStringifiedParams`, an unexpected shape in facade
534
+ * resolution, an out-of-memory string build. Whatever escapes, one facade's
535
+ * fault must not take down a runtime that six clients share.
536
+ *
537
+ * The transports depend on this: `server.ts` and `httpServer.ts` turn a
538
+ * rejected dispatch into a transport-level error, which for stdio means the
539
+ * MCP client sees a protocol fault rather than a tool that failed.
540
+ */
541
+ async function dispatch(name, args, context) {
542
+ try {
543
+ return await dispatchInner(name, args, context);
544
+ }
545
+ catch (err) {
546
+ const errMsg = err instanceof Error ? err.message : String(err);
547
+ log(`Kernel: dispatch of "${name}" failed outside the handler — ${errMsg}`);
548
+ circuits.recordFault(circuitKey(name), errMsg);
549
+ safeEmit('error', {
550
+ type: 'error', tool: name,
551
+ agentId: context?.agentId || 'anonymous',
552
+ runId: context?.runId,
553
+ requestId: context?.requestId,
554
+ timestamp: new Date().toISOString(),
555
+ error: errMsg,
556
+ });
557
+ return {
558
+ content: [{ type: 'text', text: JSON.stringify({
559
+ error: errMsg,
560
+ tool: name,
561
+ dispatch_fault: true,
562
+ }) }],
563
+ isError: true,
564
+ };
565
+ }
566
+ }
304
567
  async function batch(calls, context) {
305
568
  log(`Kernel: batch dispatch — ${calls.length} calls (agent=${context?.agentId || 'anonymous'})`);
306
569
  const promises = calls.map(async (call) => {
307
570
  const start = Date.now();
571
+ // Structural check before dispatch. Without it an unknown facade came
572
+ // back as a text node saying "Unknown tool: x" inside an otherwise
573
+ // successful-looking result, so a caller reading the envelope saw
574
+ // success for a facade that does not exist on this machine. That matters
575
+ // more since Phase 7 made the registered set machine-dependent: a missing
576
+ // extension MUST NOT be indistinguishable from an empty answer.
577
+ // Raw tool names are accepted here too, because dispatch accepts them.
578
+ if (!facadeMap.has(call.facade) && !toolMap.has(call.facade)) {
579
+ return {
580
+ facade: call.facade,
581
+ action: call.action,
582
+ error: `Unknown facade: ${call.facade}`,
583
+ code: 'UNKNOWN_FACADE',
584
+ duration_ms: Date.now() - start,
585
+ };
586
+ }
308
587
  try {
309
588
  const result = await dispatch(call.facade, { action: call.action, ...(call.params || {}) }, context);
310
589
  return {
@@ -335,7 +614,13 @@ export async function createKernel() {
335
614
  on: (event, listener) => emitter.on(event, listener),
336
615
  off: (event, listener) => emitter.off(event, listener),
337
616
  getMcpToolDefinitions,
338
- toolCount: tools.length,
617
+ circuitSnapshot: () => circuits.snapshot(),
618
+ resetCircuit: (key) => circuits.reset(key),
619
+ // toolMap, not `tools` — extension tools are merged into the map after
620
+ // getAllTools() returns, so counting the array would under-report by
621
+ // exactly the private tools and make /health disagree with what dispatch
622
+ // can actually reach.
623
+ toolCount: toolMap.size,
339
624
  facadeCount: facades.length,
340
625
  };
341
626
  }
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"assumptions.d.ts","sourceRoot":"","sources":["../../../src/lib/agent-services/assumptions.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAGV,0BAA0B,EAC1B,kBAAkB,EAEnB,MAAM,+BAA+B,CAAC;AA0IvC;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC,0BAA0B,CAAC,CAmErC;AA4FD;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBnD"}
1
+ {"version":3,"file":"assumptions.d.ts","sourceRoot":"","sources":["../../../src/lib/agent-services/assumptions.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAGV,0BAA0B,EAC1B,kBAAkB,EAEnB,MAAM,+BAA+B,CAAC;AA2IvC;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC,0BAA0B,CAAC,CAyErC;AA4FD;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBnD"}
@@ -5,6 +5,7 @@
5
5
  // and things the agent should always ask about rather than assume.
6
6
  // ============================================================================
7
7
  import { getRun, listRuns } from '../../tools/vector.js';
8
+ import { countedStoreMeta } from '../../tools/shared/storeRead.js';
8
9
  // ============================================================================
9
10
  // Constants
10
11
  // ============================================================================
@@ -129,10 +130,14 @@ export async function aggregateAssumptions(projectId, options) {
129
130
  const lookbackDays = options?.lookback_days || 30;
130
131
  const maxRuns = options?.max_runs || 100;
131
132
  // Get recent runs
132
- const { runs } = await listRuns({
133
+ const { runs, unreadable_count: runsUnreadable = 0 } = await listRuns({
133
134
  projectId,
134
135
  limit: maxRuns,
135
136
  });
137
+ // Runs listRuns could not describe, plus runs whose events this loop could
138
+ // not read. Both mean the same thing here: assumptions that were made and
139
+ // are not in the totals below.
140
+ let unreadable = runsUnreadable;
136
141
  // Filter by date
137
142
  const cutoff = new Date();
138
143
  cutoff.setDate(cutoff.getDate() - lookbackDays);
@@ -163,7 +168,7 @@ export async function aggregateAssumptions(projectId, options) {
163
168
  allAssumptions.push(...assumptions);
164
169
  }
165
170
  catch {
166
- // Skip runs we can't read
171
+ unreadable++;
167
172
  }
168
173
  }
169
174
  // Calculate stats
@@ -176,6 +181,7 @@ export async function aggregateAssumptions(projectId, options) {
176
181
  end: new Date().toISOString(),
177
182
  run_count: recentRuns.length,
178
183
  },
184
+ ...countedStoreMeta(recentRuns.length, unreadable),
179
185
  };
180
186
  }
181
187
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"assumptions.js","sourceRoot":"","sources":["../../../src/lib/agent-services/assumptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assumptions.js","sourceRoot":"","sources":["../../../src/lib/agent-services/assumptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Atomic file replacement.
3
+ *
4
+ * `fs.writeFile` truncates the target and then streams bytes into it. A crash,
5
+ * a full disk, or a killed process partway through leaves a truncated file —
6
+ * and for Decibel that means a half-written issue or epic that no longer
7
+ * parses. The store's own history has one class of corruption already
8
+ * (ISS-0129); a partial write is a second, and unlike the first it would not be
9
+ * recoverable by salvage, because there is nothing to salvage from.
10
+ *
11
+ * `rename(2)` within a filesystem is atomic: a concurrent reader sees either
12
+ * the complete old file or the complete new one, never a mixture. So we write
13
+ * a sibling temp file, flush it, and rename over the target.
14
+ *
15
+ * The temp file must live in the **same directory** as the target. `os.tmpdir()`
16
+ * is frequently a different filesystem, where rename degrades to copy+unlink
17
+ * and loses atomicity — silently, which is the worst way to lose it.
18
+ */
19
+ /**
20
+ * Replace `filePath` with `content` atomically.
21
+ *
22
+ * Preserves the existing file's permissions when there is one, so replacing a
23
+ * record does not quietly widen or narrow its mode.
24
+ */
25
+ export declare function writeFileAtomic(filePath: string, content: string, encoding?: BufferEncoding): Promise<void>;
26
+ //# sourceMappingURL=atomicWrite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomicWrite.d.ts","sourceRoot":"","sources":["../../src/lib/atomicWrite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,cAAwB,GACjC,OAAO,CAAC,IAAI,CAAC,CA2Cf"}