@wrongstack/core 0.287.0 → 0.291.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 (339) hide show
  1. package/dist/agent-status-tracker.d.ts +13 -0
  2. package/dist/agent-status-tracker.d.ts.map +1 -1
  3. package/dist/boot.d.ts.map +1 -1
  4. package/dist/chronicle/context.d.ts +13 -0
  5. package/dist/chronicle/context.d.ts.map +1 -0
  6. package/dist/chronicle/decision-adapter.d.ts +13 -0
  7. package/dist/chronicle/decision-adapter.d.ts.map +1 -0
  8. package/dist/chronicle/domain-adapter.d.ts +13 -0
  9. package/dist/chronicle/domain-adapter.d.ts.map +1 -0
  10. package/dist/chronicle/file-observer.d.ts +20 -0
  11. package/dist/chronicle/file-observer.d.ts.map +1 -0
  12. package/dist/chronicle/health-monitor.d.ts +11 -0
  13. package/dist/chronicle/health-monitor.d.ts.map +1 -0
  14. package/dist/chronicle/identity.d.ts +18 -0
  15. package/dist/chronicle/identity.d.ts.map +1 -0
  16. package/dist/chronicle/index.d.ts +16 -0
  17. package/dist/chronicle/index.d.ts.map +1 -0
  18. package/dist/chronicle/index.js +2555 -0
  19. package/dist/chronicle/index.js.map +7 -0
  20. package/dist/chronicle/journal.d.ts +81 -0
  21. package/dist/chronicle/journal.d.ts.map +1 -0
  22. package/dist/chronicle/process-adapter.d.ts +14 -0
  23. package/dist/chronicle/process-adapter.d.ts.map +1 -0
  24. package/dist/chronicle/prompt-manifest.d.ts +34 -0
  25. package/dist/chronicle/prompt-manifest.d.ts.map +1 -0
  26. package/dist/chronicle/provider-adapter.d.ts +13 -0
  27. package/dist/chronicle/provider-adapter.d.ts.map +1 -0
  28. package/dist/chronicle/query.d.ts +108 -0
  29. package/dist/chronicle/query.d.ts.map +1 -0
  30. package/dist/chronicle/rollup-adapter.d.ts +14 -0
  31. package/dist/chronicle/rollup-adapter.d.ts.map +1 -0
  32. package/dist/chronicle/stream-adapter.d.ts +13 -0
  33. package/dist/chronicle/stream-adapter.d.ts.map +1 -0
  34. package/dist/chronicle/tool-adapter.d.ts +15 -0
  35. package/dist/chronicle/tool-adapter.d.ts.map +1 -0
  36. package/dist/chronicle/types.d.ts +82 -0
  37. package/dist/chronicle/types.d.ts.map +1 -0
  38. package/dist/coordination/agent-monitor.d.ts +40 -0
  39. package/dist/coordination/agent-monitor.d.ts.map +1 -1
  40. package/dist/coordination/agent-subagent-runner.d.ts +7 -1
  41. package/dist/coordination/agent-subagent-runner.d.ts.map +1 -1
  42. package/dist/coordination/agents/phase6-domain.d.ts.map +1 -1
  43. package/dist/coordination/autonomous-coordinator.d.ts +2 -0
  44. package/dist/coordination/autonomous-coordinator.d.ts.map +1 -1
  45. package/dist/coordination/brain-monitor.d.ts +1 -1
  46. package/dist/coordination/brain.d.ts +3 -2
  47. package/dist/coordination/brain.d.ts.map +1 -1
  48. package/dist/coordination/collab-debug.d.ts +0 -9
  49. package/dist/coordination/collab-debug.d.ts.map +1 -1
  50. package/dist/coordination/coordinator/error-classifier.d.ts.map +1 -1
  51. package/dist/coordination/dep-watcher.d.ts +2 -1
  52. package/dist/coordination/dep-watcher.d.ts.map +1 -1
  53. package/dist/coordination/director/director-collab.d.ts +1 -1
  54. package/dist/coordination/director/director-collab.d.ts.map +1 -1
  55. package/dist/coordination/director-tools.d.ts.map +1 -1
  56. package/dist/coordination/director.d.ts +10 -1
  57. package/dist/coordination/director.d.ts.map +1 -1
  58. package/dist/coordination/file-author-tracker.d.ts.map +1 -1
  59. package/dist/coordination/fleet-bus.d.ts.map +1 -1
  60. package/dist/coordination/fleet-event-validation.d.ts +0 -7
  61. package/dist/coordination/fleet-event-validation.d.ts.map +1 -1
  62. package/dist/coordination/fleet-spawn.d.ts.map +1 -1
  63. package/dist/coordination/fleet-supervisor.d.ts +1 -1
  64. package/dist/coordination/fleet-supervisor.d.ts.map +1 -1
  65. package/dist/coordination/fleet.d.ts +0 -44
  66. package/dist/coordination/fleet.d.ts.map +1 -1
  67. package/dist/coordination/global-mailbox.d.ts +7 -1
  68. package/dist/coordination/global-mailbox.d.ts.map +1 -1
  69. package/dist/coordination/index.d.ts +5 -3
  70. package/dist/coordination/index.d.ts.map +1 -1
  71. package/dist/coordination/index.js +2426 -299
  72. package/dist/coordination/index.js.map +4 -4
  73. package/dist/coordination/knowledge-graph.d.ts +2 -1
  74. package/dist/coordination/knowledge-graph.d.ts.map +1 -1
  75. package/dist/coordination/large-answer-store.d.ts +0 -6
  76. package/dist/coordination/large-answer-store.d.ts.map +1 -1
  77. package/dist/coordination/mail-tools.d.ts +2 -2
  78. package/dist/coordination/mail-tools.d.ts.map +1 -1
  79. package/dist/coordination/mailbox-hooks.d.ts +2 -0
  80. package/dist/coordination/mailbox-hooks.d.ts.map +1 -1
  81. package/dist/coordination/mailbox-http-router.d.ts +43 -0
  82. package/dist/coordination/mailbox-http-router.d.ts.map +1 -0
  83. package/dist/coordination/mailbox-message-codec.d.ts +35 -0
  84. package/dist/coordination/mailbox-message-codec.d.ts.map +1 -1
  85. package/dist/coordination/mailbox-tool.d.ts +1 -1
  86. package/dist/coordination/mailbox-tool.d.ts.map +1 -1
  87. package/dist/coordination/mailbox-types.d.ts +170 -10
  88. package/dist/coordination/mailbox-types.d.ts.map +1 -1
  89. package/dist/coordination/mailbox.d.ts +1 -1
  90. package/dist/coordination/mailbox.d.ts.map +1 -1
  91. package/dist/coordination/package-author-tracker.d.ts.map +1 -1
  92. package/dist/coordination/provider-status-tracker.d.ts +236 -0
  93. package/dist/coordination/provider-status-tracker.d.ts.map +1 -0
  94. package/dist/coordination/subagent-budget.d.ts +2 -1
  95. package/dist/coordination/subagent-budget.d.ts.map +1 -1
  96. package/dist/core/agent-loop.d.ts +8 -3
  97. package/dist/core/agent-loop.d.ts.map +1 -1
  98. package/dist/core/agent-response.d.ts +5 -4
  99. package/dist/core/agent-response.d.ts.map +1 -1
  100. package/dist/core/agent-tools.d.ts +1 -1
  101. package/dist/core/agent-tools.d.ts.map +1 -1
  102. package/dist/core/agent.d.ts +4 -2
  103. package/dist/core/agent.d.ts.map +1 -1
  104. package/dist/core/context.d.ts +55 -1
  105. package/dist/core/context.d.ts.map +1 -1
  106. package/dist/core/fallback-model.d.ts +14 -8
  107. package/dist/core/fallback-model.d.ts.map +1 -1
  108. package/dist/core/fallback-profile-manager.d.ts +118 -0
  109. package/dist/core/fallback-profile-manager.d.ts.map +1 -0
  110. package/dist/core/fleet-pulse.d.ts +2 -1
  111. package/dist/core/fleet-pulse.d.ts.map +1 -1
  112. package/dist/core/iteration-limit.d.ts +2 -1
  113. package/dist/core/iteration-limit.d.ts.map +1 -1
  114. package/dist/core/mailbox-loop.d.ts +16 -1
  115. package/dist/core/mailbox-loop.d.ts.map +1 -1
  116. package/dist/core/model-availability-calendar.d.ts +27 -0
  117. package/dist/core/model-availability-calendar.d.ts.map +1 -0
  118. package/dist/core/provider-runner.d.ts.map +1 -1
  119. package/dist/core/system-prompt-builder.d.ts +2 -1
  120. package/dist/core/system-prompt-builder.d.ts.map +1 -1
  121. package/dist/defaults/index.js +1920 -598
  122. package/dist/defaults/index.js.map +4 -4
  123. package/dist/execution/auto-compaction-middleware.d.ts +3 -2
  124. package/dist/execution/auto-compaction-middleware.d.ts.map +1 -1
  125. package/dist/execution/compaction-core.d.ts.map +1 -1
  126. package/dist/execution/council-brain.d.ts +28 -49
  127. package/dist/execution/council-brain.d.ts.map +1 -1
  128. package/dist/execution/council-orchestrator.d.ts +30 -0
  129. package/dist/execution/council-orchestrator.d.ts.map +1 -1
  130. package/dist/execution/enhance-recovery.d.ts +8 -0
  131. package/dist/execution/enhance-recovery.d.ts.map +1 -1
  132. package/dist/execution/error-handler.d.ts +2 -2
  133. package/dist/execution/error-handler.d.ts.map +1 -1
  134. package/dist/execution/eternal-autonomy.d.ts.map +1 -1
  135. package/dist/execution/index.js +2600 -1903
  136. package/dist/execution/index.js.map +4 -4
  137. package/dist/execution/intelligent-compactor.d.ts +0 -16
  138. package/dist/execution/intelligent-compactor.d.ts.map +1 -1
  139. package/dist/execution/model-runtime.d.ts.map +1 -1
  140. package/dist/execution/one-shot-llm.d.ts +9 -1
  141. package/dist/execution/one-shot-llm.d.ts.map +1 -1
  142. package/dist/execution/prompt-enhancer.d.ts +36 -0
  143. package/dist/execution/prompt-enhancer.d.ts.map +1 -1
  144. package/dist/execution/prompt-enhancer.js +158 -10
  145. package/dist/execution/prompt-enhancer.js.map +2 -2
  146. package/dist/execution/retry-policy.d.ts +0 -13
  147. package/dist/execution/retry-policy.d.ts.map +1 -1
  148. package/dist/execution/skill-loader.d.ts.map +1 -1
  149. package/dist/execution/tool-executor.d.ts.map +1 -1
  150. package/dist/goal/checkpoint.d.ts.map +1 -0
  151. package/dist/{autophase/auto-phase-planner.d.ts → goal/goal-planner.d.ts} +8 -8
  152. package/dist/goal/goal-planner.d.ts.map +1 -0
  153. package/dist/{autophase/auto-phase-runner.d.ts → goal/goal-runner.d.ts} +10 -10
  154. package/dist/goal/goal-runner.d.ts.map +1 -0
  155. package/dist/{autophase → goal}/index.d.ts +3 -3
  156. package/dist/goal/index.d.ts.map +1 -0
  157. package/dist/goal/phase-graph-builder.d.ts.map +1 -0
  158. package/dist/{autophase → goal}/phase-orchestrator.d.ts +2 -2
  159. package/dist/goal/phase-orchestrator.d.ts.map +1 -0
  160. package/dist/goal/phase-store.d.ts.map +1 -0
  161. package/dist/{autophase → goal}/types.d.ts +2 -2
  162. package/dist/goal/types.d.ts.map +1 -0
  163. package/dist/hq/auth-store.d.ts.map +1 -1
  164. package/dist/hq/commands.d.ts +2 -1
  165. package/dist/hq/commands.d.ts.map +1 -1
  166. package/dist/hq/exposure.d.ts +66 -0
  167. package/dist/hq/exposure.d.ts.map +1 -0
  168. package/dist/hq/index.d.ts +1 -0
  169. package/dist/hq/index.d.ts.map +1 -1
  170. package/dist/hq/index.js +190 -21
  171. package/dist/hq/index.js.map +4 -4
  172. package/dist/hq/mailbox-mapper.d.ts +13 -1
  173. package/dist/hq/mailbox-mapper.d.ts.map +1 -1
  174. package/dist/hq/protocol/browser.d.ts +9 -1
  175. package/dist/hq/protocol/browser.d.ts.map +1 -1
  176. package/dist/hq/protocol/client.d.ts +2 -2
  177. package/dist/hq/protocol/client.d.ts.map +1 -1
  178. package/dist/hq/protocol/core.d.ts.map +1 -1
  179. package/dist/hq/protocol/mailbox.d.ts +6 -0
  180. package/dist/hq/protocol/mailbox.d.ts.map +1 -1
  181. package/dist/hq/protocol/session.d.ts +4 -0
  182. package/dist/hq/protocol/session.d.ts.map +1 -1
  183. package/dist/hq/publisher.d.ts.map +1 -1
  184. package/dist/index.d.ts +34 -25
  185. package/dist/index.d.ts.map +1 -1
  186. package/dist/index.js +30287 -22214
  187. package/dist/index.js.map +4 -4
  188. package/dist/infrastructure/index.js +60 -5
  189. package/dist/infrastructure/index.js.map +2 -2
  190. package/dist/kernel/events/agent-events.d.ts +33 -1
  191. package/dist/kernel/events/agent-events.d.ts.map +1 -1
  192. package/dist/kernel/events/file-events.d.ts +65 -0
  193. package/dist/kernel/events/file-events.d.ts.map +1 -0
  194. package/dist/kernel/events/memory-events.d.ts +36 -0
  195. package/dist/kernel/events/memory-events.d.ts.map +1 -1
  196. package/dist/kernel/events/network-events.d.ts +60 -0
  197. package/dist/kernel/events/network-events.d.ts.map +1 -0
  198. package/dist/kernel/events/process-events.d.ts +44 -0
  199. package/dist/kernel/events/process-events.d.ts.map +1 -0
  200. package/dist/kernel/events/provider-events.d.ts +89 -0
  201. package/dist/kernel/events/provider-events.d.ts.map +1 -1
  202. package/dist/kernel/events/tool-events.d.ts +10 -0
  203. package/dist/kernel/events/tool-events.d.ts.map +1 -1
  204. package/dist/kernel/events/worktree-events.d.ts +1 -1
  205. package/dist/kernel/events.d.ts +14 -1
  206. package/dist/kernel/events.d.ts.map +1 -1
  207. package/dist/kernel/index.js +2 -1
  208. package/dist/kernel/index.js.map +2 -2
  209. package/dist/kernel/tokens.d.ts +3 -1
  210. package/dist/kernel/tokens.d.ts.map +1 -1
  211. package/dist/mailbox-attach.d.ts.map +1 -1
  212. package/dist/models/index.js.map +2 -2
  213. package/dist/observability/index.d.ts +3 -0
  214. package/dist/observability/index.d.ts.map +1 -1
  215. package/dist/observability/index.js +278 -0
  216. package/dist/observability/index.js.map +4 -4
  217. package/dist/observability/network-telemetry.d.ts +15 -0
  218. package/dist/observability/network-telemetry.d.ts.map +1 -0
  219. package/dist/observability/process-telemetry.d.ts +18 -0
  220. package/dist/observability/process-telemetry.d.ts.map +1 -0
  221. package/dist/observability/redact-command.d.ts +20 -0
  222. package/dist/observability/redact-command.d.ts.map +1 -0
  223. package/dist/plugins/auto-review-plugin.d.ts +56 -3
  224. package/dist/plugins/auto-review-plugin.d.ts.map +1 -1
  225. package/dist/plugins/chimera-plugin.d.ts +164 -5
  226. package/dist/plugins/chimera-plugin.d.ts.map +1 -1
  227. package/dist/plugins/review-context-builder.d.ts +52 -0
  228. package/dist/plugins/review-context-builder.d.ts.map +1 -0
  229. package/dist/security/index.d.ts +1 -0
  230. package/dist/security/index.d.ts.map +1 -1
  231. package/dist/security/index.js +186 -9
  232. package/dist/security/index.js.map +4 -4
  233. package/dist/security/kanban-boundary.d.ts +10 -0
  234. package/dist/security/kanban-boundary.d.ts.map +1 -0
  235. package/dist/security/permission-policy.d.ts +1 -0
  236. package/dist/security/permission-policy.d.ts.map +1 -1
  237. package/dist/session-registry.d.ts +80 -0
  238. package/dist/session-registry.d.ts.map +1 -1
  239. package/dist/skills/index.js.map +2 -2
  240. package/dist/storage/config-loader.d.ts +7 -0
  241. package/dist/storage/config-loader.d.ts.map +1 -1
  242. package/dist/storage/file-session-writer.d.ts +20 -7
  243. package/dist/storage/file-session-writer.d.ts.map +1 -1
  244. package/dist/storage/goal-coordination.d.ts +40 -0
  245. package/dist/storage/goal-coordination.d.ts.map +1 -0
  246. package/dist/storage/goal-store.d.ts +9 -5
  247. package/dist/storage/goal-store.d.ts.map +1 -1
  248. package/dist/storage/index.d.ts +4 -2
  249. package/dist/storage/index.d.ts.map +1 -1
  250. package/dist/storage/index.js +1066 -226
  251. package/dist/storage/index.js.map +4 -4
  252. package/dist/storage/memory-consolidator.d.ts +49 -4
  253. package/dist/storage/memory-consolidator.d.ts.map +1 -1
  254. package/dist/storage/memory-graph-backend.d.ts +11 -0
  255. package/dist/storage/memory-graph-backend.d.ts.map +1 -1
  256. package/dist/storage/provider-config-watcher.d.ts +19 -0
  257. package/dist/storage/provider-config-watcher.d.ts.map +1 -1
  258. package/dist/storage/session-event-bridge.d.ts +2 -2
  259. package/dist/storage/session-event-bridge.d.ts.map +1 -1
  260. package/dist/storage/session-resume-validation.d.ts +10 -0
  261. package/dist/storage/session-resume-validation.d.ts.map +1 -1
  262. package/dist/storage/session-rewind-apply.d.ts +53 -0
  263. package/dist/storage/session-rewind-apply.d.ts.map +1 -0
  264. package/dist/storage/session-rewinder.d.ts.map +1 -1
  265. package/dist/storage/session-store.d.ts.map +1 -1
  266. package/dist/tasking/index.js.map +1 -1
  267. package/dist/tasking/task-store.d.ts +1 -1
  268. package/dist/tools/council-tool.d.ts +3 -0
  269. package/dist/tools/council-tool.d.ts.map +1 -1
  270. package/dist/tools/fallback-manage-tools.d.ts +82 -0
  271. package/dist/tools/fallback-manage-tools.d.ts.map +1 -0
  272. package/dist/tools/index.d.ts +1 -0
  273. package/dist/tools/index.d.ts.map +1 -1
  274. package/dist/tools/index.js +3423 -192
  275. package/dist/tools/index.js.map +4 -4
  276. package/dist/tools/one-shot-llm-tool.d.ts +2 -0
  277. package/dist/tools/one-shot-llm-tool.d.ts.map +1 -1
  278. package/dist/types/config.d.ts +76 -7
  279. package/dist/types/config.d.ts.map +1 -1
  280. package/dist/types/file-event-record.d.ts +68 -0
  281. package/dist/types/file-event-record.d.ts.map +1 -0
  282. package/dist/types/index.d.ts +1 -0
  283. package/dist/types/index.d.ts.map +1 -1
  284. package/dist/types/index.js +13 -8
  285. package/dist/types/index.js.map +3 -3
  286. package/dist/types/memory.d.ts +12 -0
  287. package/dist/types/memory.d.ts.map +1 -1
  288. package/dist/types/multi-agent.d.ts +12 -1
  289. package/dist/types/multi-agent.d.ts.map +1 -1
  290. package/dist/types/one-shot-llm.d.ts +16 -7
  291. package/dist/types/one-shot-llm.d.ts.map +1 -1
  292. package/dist/types/provider.d.ts +1 -1
  293. package/dist/types/provider.d.ts.map +1 -1
  294. package/dist/types/session.d.ts +68 -2
  295. package/dist/types/session.d.ts.map +1 -1
  296. package/dist/types/tool-executor.d.ts +2 -0
  297. package/dist/types/tool-executor.d.ts.map +1 -1
  298. package/dist/types/tool.d.ts +5 -0
  299. package/dist/types/tool.d.ts.map +1 -1
  300. package/dist/utils/atomic-write.d.ts.map +1 -1
  301. package/dist/utils/index.d.ts +10 -10
  302. package/dist/utils/index.d.ts.map +1 -1
  303. package/dist/utils/index.js +497 -254
  304. package/dist/utils/index.js.map +4 -4
  305. package/dist/utils/message-invariants.d.ts +9 -0
  306. package/dist/utils/message-invariants.d.ts.map +1 -1
  307. package/dist/utils/safe-json.d.ts +1 -1
  308. package/dist/utils/safe-json.d.ts.map +1 -1
  309. package/dist/utils/term.d.ts +279 -0
  310. package/dist/utils/term.d.ts.map +1 -1
  311. package/dist/utils/tool-wire-compact.d.ts +9 -0
  312. package/dist/utils/tool-wire-compact.d.ts.map +1 -1
  313. package/dist/utils/wstack-paths.d.ts +12 -2
  314. package/dist/utils/wstack-paths.d.ts.map +1 -1
  315. package/dist/worktree/worktree-manager.d.ts +1 -1
  316. package/dist/worktree/worktree-manager.d.ts.map +1 -1
  317. package/instructions/agents/ios.md +113 -0
  318. package/instructions/agents/search.md +1 -1
  319. package/instructions/llm/chimera-review.md +66 -9
  320. package/instructions/llm/memory-consolidator.md +4 -12
  321. package/instructions/llm/prompt-enhancer.md +3 -1
  322. package/instructions/sections/tool/common-patterns.md +3 -3
  323. package/instructions/system.md +40 -5
  324. package/package.json +7 -3
  325. package/skills/auto-review/SKILL.md +176 -0
  326. package/skills/mnemosyne/SKILL.md +156 -0
  327. package/skills/mnemosyne/instructions/agent-prompt.md +200 -0
  328. package/dist/autophase/auto-phase-planner.d.ts.map +0 -1
  329. package/dist/autophase/auto-phase-runner.d.ts.map +0 -1
  330. package/dist/autophase/checkpoint.d.ts.map +0 -1
  331. package/dist/autophase/index.d.ts.map +0 -1
  332. package/dist/autophase/phase-graph-builder.d.ts.map +0 -1
  333. package/dist/autophase/phase-orchestrator.d.ts.map +0 -1
  334. package/dist/autophase/phase-store.d.ts.map +0 -1
  335. package/dist/autophase/types.d.ts.map +0 -1
  336. /package/dist/{autophase → goal}/checkpoint.d.ts +0 -0
  337. /package/dist/{autophase → goal}/phase-graph-builder.d.ts +0 -0
  338. /package/dist/{autophase → goal}/phase-store.d.ts +0 -0
  339. /package/instructions/{autophase → goal}/phase-planner.md +0 -0
@@ -3,6 +3,9 @@ export { DefaultHealthRegistry } from './health.js';
3
3
  export { NoopTracer } from './tracer.js';
4
4
  export { OTelTracer } from './otel-tracer.js';
5
5
  export { wireMetricsToEvents } from './event-bridge.js';
6
+ export { emitProcessCompleted, emitProcessOutput, emitProcessStarted, runWithProcessTelemetry, type ProcessTelemetryContext, } from './process-telemetry.js';
7
+ export { redactCommand, redactCommandArgs } from './redact-command.js';
8
+ export { runWithNetworkTelemetry, startNetworkTelemetryMonitor, type NetworkTelemetryContext } from './network-telemetry.js';
6
9
  export { renderPrometheus, startMetricsServer, PROMETHEUS_CONTENT_TYPE, type MetricsServerOptions, type MetricsServerHandle, type MetricsTlsOptions, } from './prometheus.js';
7
10
  export { buildOtlpMetricsRequest, startOtlpMetricsExporter, type OtlpMetricsExporterOptions, type OtlpMetricsExporterHandle, } from './otlp-metrics.js';
8
11
  export { buildOtlpTracesRequest, startOtlpTraceExporter, type OtlpTraceExporterOptions, type OtlpTraceExporterHandle, } from './otlp-traces.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,GAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC7H,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,GAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,kBAAkB,CAAC"}
@@ -287,6 +287,276 @@ function metricToolName(name) {
287
287
  return name.startsWith("mcp__") ? "mcp_proxy" : name;
288
288
  }
289
289
 
290
+ // src/observability/process-telemetry.ts
291
+ import { AsyncLocalStorage } from "node:async_hooks";
292
+ import { createHash } from "node:crypto";
293
+
294
+ // src/utils/expect-defined.ts
295
+ function expectDefined(value, label) {
296
+ if (value === null || value === void 0) {
297
+ const err = new Error(label ? `Expected ${label} to be defined` : "Expected value to be defined");
298
+ err.name = "ExpectDefinedError";
299
+ throw err;
300
+ }
301
+ return value;
302
+ }
303
+
304
+ // src/observability/redact-command.ts
305
+ var SENSITIVE_FLAG_PATTERNS = [
306
+ // --flag=value or --flag "value" (value captured up to next space or comma)
307
+ /--(?:token|password|passwd|pwd|secret|api[-_]?key|api[-_]?secret|auth|credential|private[-_]?key|access[-_]?key|github[-_]?token|gh[-_]?token|bearer|jwt|oauth|pin|pincode|passphrase|access[-_]?token)(?:[=\s,][^\s]*)?/gi,
308
+ // -t short flag (token): attached (-tVALUE), separated (-t VALUE), or -t=VALUE.
309
+ // The separator group is optional so the attached form (the common one) matches.
310
+ // (?<![-\w]) anchors to a token start so we don't match the `-t` inside `--token`.
311
+ /(?<![-\w])-t(?:[=\s]+)?[^\s,-]+/,
312
+ // -p|-password|-a (redis auth) short flags: attached + separated + =value.
313
+ // Same token-start anchor; over-redaction is an accepted tradeoff for a
314
+ // redaction function (false positive = cosmetic noise; false negative = leak).
315
+ /(?<![-\w])-(?:password|p|a)(?:[=\s]+)?[^\s,-]+/gi,
316
+ // env var–style secrets: TOKEN=x, API_KEY=y, etc.
317
+ /(?:TOKEN|API_KEY|API_SECRET|AUTH_TOKEN|GITHUB_TOKEN|GH_TOKEN|BEARER|JWT|OAUTH|CREDENTIAL|SECRET|PRIVATE_KEY|PASSWORD|PASSWD)\s*[=:]\s*[^\s,]+/gi,
318
+ // Generic high-entropy look: base64 strings >32 chars or hex strings >32 digits — but only
319
+ // when preceded by a flag name (e.g. --github-token=EyJ...).
320
+ /--\w*(?:token|key|secret|password|passwd|auth|credential)\w*[=\s,][A-Za-z0-9+/=]{32,}/
321
+ ];
322
+ function redactCommand(cmd) {
323
+ let result = cmd;
324
+ for (const pattern of SENSITIVE_FLAG_PATTERNS) {
325
+ result = result.replace(pattern, (match) => {
326
+ const eq = match.indexOf("=");
327
+ const sp = match.search(/\s/);
328
+ const delim = eq !== -1 ? "=" : sp !== -1 ? match[sp] : null;
329
+ if (delim !== null) {
330
+ const flag = match.slice(0, match.indexOf(expectDefined(delim)) + 1);
331
+ return `${flag}[REDACTED]`;
332
+ }
333
+ if (match.startsWith("--")) {
334
+ return match;
335
+ }
336
+ return `${match.slice(0, 2)}[REDACTED]`;
337
+ });
338
+ }
339
+ return result;
340
+ }
341
+ var BARE_SENSITIVE_LONG_FLAG = /^--(?:token|password|passwd|pwd|secret|api[-_]?key|api[-_]?secret|auth|credential|private[-_]?key|access[-_]?key|github[-_]?token|gh[-_]?token|bearer|jwt|oauth|pin|pincode|passphrase|access[-_]?token)$/i;
342
+ var BARE_SENSITIVE_SHORT_FLAG = /^-(?:p|t|a)$/i;
343
+ function redactCommandArgs(command, args) {
344
+ const redactedCommand = redactCommand(command);
345
+ const redactedArgs = args.map((a) => redactCommand(a));
346
+ for (let i = 0; i < redactedArgs.length - 1; i++) {
347
+ const flag = redactedArgs[i];
348
+ const next = redactedArgs[i + 1];
349
+ if (flag === void 0 || next === void 0) continue;
350
+ const isBareSensitive = (BARE_SENSITIVE_LONG_FLAG.test(flag) || BARE_SENSITIVE_SHORT_FLAG.test(flag)) && !flag.includes("[REDACTED]");
351
+ if (isBareSensitive && !next.startsWith("-")) {
352
+ redactedArgs[i + 1] = "[REDACTED]";
353
+ }
354
+ }
355
+ return { command: redactedCommand, args: redactedArgs };
356
+ }
357
+
358
+ // src/observability/process-telemetry.ts
359
+ var storage = new AsyncLocalStorage();
360
+ function runWithProcessTelemetry(context, run) {
361
+ return storage.run(context, run);
362
+ }
363
+ function emitProcessStarted(event) {
364
+ const { command, args } = redactCommandArgs(event.command, event.args);
365
+ emit("process.started", { ...event, command, args });
366
+ }
367
+ function emitProcessOutput(input) {
368
+ const bytes = Buffer.byteLength(input.chunk);
369
+ emit("process.output", {
370
+ ...input.pid !== void 0 ? { pid: input.pid } : {},
371
+ stream: input.stream,
372
+ bytes,
373
+ chunkHash: createHash("sha256").update(input.chunk).digest("hex"),
374
+ at: (/* @__PURE__ */ new Date()).toISOString()
375
+ });
376
+ }
377
+ function emitProcessCompleted(event) {
378
+ emit("process.completed", event);
379
+ }
380
+ function emit(name, event) {
381
+ const context = storage.getStore();
382
+ if (!context) return;
383
+ const { events, ...identity2 } = context;
384
+ events.emit(name, { ...identity2, ...event });
385
+ }
386
+
387
+ // src/observability/network-telemetry.ts
388
+ import { AsyncLocalStorage as AsyncLocalStorage2 } from "node:async_hooks";
389
+ import { createHash as createHash2, randomUUID } from "node:crypto";
390
+ import { channel } from "node:diagnostics_channel";
391
+ var storage2 = new AsyncLocalStorage2();
392
+ var requests = /* @__PURE__ */ new WeakMap();
393
+ var users = 0;
394
+ var unsubscribe;
395
+ function runWithNetworkTelemetry(context, run) {
396
+ return storage2.run(context, run);
397
+ }
398
+ function startNetworkTelemetryMonitor() {
399
+ users++;
400
+ if (!unsubscribe) unsubscribe = subscribe();
401
+ let stopped = false;
402
+ return () => {
403
+ if (stopped) return;
404
+ stopped = true;
405
+ users--;
406
+ if (users <= 0) {
407
+ unsubscribe?.();
408
+ unsubscribe = void 0;
409
+ users = 0;
410
+ }
411
+ };
412
+ }
413
+ function subscribe() {
414
+ const create = channel("undici:request:create");
415
+ const headers = channel("undici:request:headers");
416
+ const error = channel("undici:request:error");
417
+ const onCreate = (message) => {
418
+ const context = storage2.getStore();
419
+ const request = objectField(message, "request");
420
+ if (!context || !request) return;
421
+ const target = safeTarget(request);
422
+ const startedAt = (/* @__PURE__ */ new Date()).toISOString();
423
+ const requestBytes = numberField(request, "contentLength");
424
+ const state = {
425
+ ...context,
426
+ requestId: randomUUID(),
427
+ ...target,
428
+ ...requestBytes !== void 0 ? { requestBytes } : {},
429
+ startedAt,
430
+ startedNs: process.hrtime.bigint()
431
+ };
432
+ requests.set(request, state);
433
+ context.events.emit("network.request.started", {
434
+ ...identity(state),
435
+ requestId: state.requestId,
436
+ method: state.method,
437
+ scheme: state.scheme,
438
+ serverAddress: state.serverAddress,
439
+ ...state.serverPort !== void 0 ? { serverPort: state.serverPort } : {},
440
+ pathHash: state.pathHash,
441
+ queryKeys: queryKeys(request),
442
+ ...state.requestBytes !== void 0 ? { requestBytes: state.requestBytes } : {},
443
+ startedAt
444
+ });
445
+ };
446
+ const onHeaders = (message) => {
447
+ const request = objectField(message, "request");
448
+ if (!request) return;
449
+ const state = requests.get(request);
450
+ if (!state) return;
451
+ requests.delete(request);
452
+ const response = objectField(message, "response");
453
+ const responseBytes = contentLength(response);
454
+ state.events.emit("network.request.completed", {
455
+ ...identity(state),
456
+ requestId: state.requestId,
457
+ method: state.method,
458
+ scheme: state.scheme,
459
+ serverAddress: state.serverAddress,
460
+ ...state.serverPort !== void 0 ? { serverPort: state.serverPort } : {},
461
+ pathHash: state.pathHash,
462
+ statusCode: numberField(response, "statusCode") ?? 0,
463
+ durationMs: elapsed(state.startedNs),
464
+ ...state.requestBytes !== void 0 ? { requestBytes: state.requestBytes } : {},
465
+ ...responseBytes !== void 0 ? { responseBytes } : {},
466
+ completedAt: (/* @__PURE__ */ new Date()).toISOString()
467
+ });
468
+ };
469
+ const onError = (message) => {
470
+ const request = objectField(message, "request");
471
+ if (!request) return;
472
+ const state = requests.get(request);
473
+ if (!state) return;
474
+ requests.delete(request);
475
+ const err = objectField(message, "error");
476
+ const errorCode = stringField(err, "code");
477
+ state.events.emit("network.request.failed", {
478
+ ...identity(state),
479
+ requestId: state.requestId,
480
+ method: state.method,
481
+ scheme: state.scheme,
482
+ serverAddress: state.serverAddress,
483
+ ...state.serverPort !== void 0 ? { serverPort: state.serverPort } : {},
484
+ pathHash: state.pathHash,
485
+ durationMs: elapsed(state.startedNs),
486
+ errorName: stringField(err, "name") ?? "Error",
487
+ ...errorCode ? { errorCode } : {},
488
+ failedAt: (/* @__PURE__ */ new Date()).toISOString()
489
+ });
490
+ };
491
+ create.subscribe(onCreate);
492
+ headers.subscribe(onHeaders);
493
+ error.subscribe(onError);
494
+ return () => {
495
+ create.unsubscribe(onCreate);
496
+ headers.unsubscribe(onHeaders);
497
+ error.unsubscribe(onError);
498
+ };
499
+ }
500
+ function identity(state) {
501
+ return {
502
+ sessionId: state.sessionId,
503
+ ...state.traceId ? { traceId: state.traceId } : {},
504
+ ...state.agentId ? { agentId: state.agentId } : {},
505
+ ...state.toolCallId ? { toolCallId: state.toolCallId } : {},
506
+ ...state.attemptId ? { attemptId: state.attemptId } : {},
507
+ initiator: state.initiator,
508
+ operationName: state.operationName
509
+ };
510
+ }
511
+ function safeTarget(request) {
512
+ const origin = String(request.origin ?? "");
513
+ const path = String(request.path ?? "");
514
+ let url;
515
+ try {
516
+ url = new URL(path, origin);
517
+ } catch {
518
+ url = new URL("http://invalid.local/");
519
+ }
520
+ return {
521
+ method: String(request.method ?? "GET").toUpperCase(),
522
+ scheme: url.protocol.replace(":", ""),
523
+ serverAddress: url.hostname,
524
+ ...url.port ? { serverPort: Number(url.port) } : {},
525
+ pathHash: hash(url.pathname)
526
+ };
527
+ }
528
+ function queryKeys(request) {
529
+ try {
530
+ return [...new URL(String(request.path ?? ""), String(request.origin ?? "")).searchParams.keys()].filter((v, i, a) => a.indexOf(v) === i).slice(0, 50);
531
+ } catch {
532
+ return [];
533
+ }
534
+ }
535
+ function contentLength(response) {
536
+ const raw = response?.headers;
537
+ if (!Array.isArray(raw)) return void 0;
538
+ for (let index = 0; index < raw.length - 1; index += 2) if (String(raw[index]).toLowerCase() === "content-length") {
539
+ const value = Number(String(raw[index + 1]));
540
+ return Number.isFinite(value) ? value : void 0;
541
+ }
542
+ return void 0;
543
+ }
544
+ function objectField(value, key) {
545
+ return value && typeof value === "object" && value[key] && typeof value[key] === "object" ? value[key] : void 0;
546
+ }
547
+ function stringField(value, key) {
548
+ return typeof value?.[key] === "string" ? value[key] : void 0;
549
+ }
550
+ function numberField(value, key) {
551
+ return typeof value?.[key] === "number" ? value[key] : void 0;
552
+ }
553
+ function elapsed(start) {
554
+ return Number(process.hrtime.bigint() - start) / 1e6;
555
+ }
556
+ function hash(value) {
557
+ return createHash2("sha256").update(value).digest("hex");
558
+ }
559
+
290
560
  // src/observability/prometheus.ts
291
561
  var NUMBER_FORMAT_INFINITY = "NaN";
292
562
  function escapeLabelValue(v) {
@@ -701,8 +971,16 @@ export {
701
971
  PROMETHEUS_CONTENT_TYPE,
702
972
  buildOtlpMetricsRequest,
703
973
  buildOtlpTracesRequest,
974
+ emitProcessCompleted,
975
+ emitProcessOutput,
976
+ emitProcessStarted,
977
+ redactCommand,
978
+ redactCommandArgs,
704
979
  renderPrometheus,
980
+ runWithNetworkTelemetry,
981
+ runWithProcessTelemetry,
705
982
  startMetricsServer,
983
+ startNetworkTelemetryMonitor,
706
984
  startOtlpMetricsExporter,
707
985
  startOtlpTraceExporter,
708
986
  wireMetricsToEvents