@wrongstack/core 0.296.4 → 0.298.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 (820) hide show
  1. package/dist/chronicle/index.js +126 -22
  2. package/dist/chronicle/project-server-client.d.ts +12 -0
  3. package/dist/chronicle/project-server-protocol.d.ts +22 -0
  4. package/dist/chronicle/project-server.js +1076 -283
  5. package/dist/coordination/agents/index.js +136 -1
  6. package/dist/coordination/agents/role-skills.d.ts +3 -2
  7. package/dist/coordination/brain-cache.d.ts +14 -0
  8. package/dist/coordination/brain-trace.d.ts +2 -1
  9. package/dist/coordination/director/director-task-registry.d.ts +12 -0
  10. package/dist/coordination/fleet-supervisor.d.ts +21 -0
  11. package/dist/coordination/index.d.ts +23 -21
  12. package/dist/coordination/index.js +16514 -15945
  13. package/dist/coordination/mail-tools.d.ts +3 -3
  14. package/dist/coordination/mailbox-credential-store.d.ts +22 -2
  15. package/dist/coordination/mailbox-credential-throttle.d.ts +63 -0
  16. package/dist/coordination/mailbox-http-router.d.ts +6 -0
  17. package/dist/coordination/mailbox-project-server-client.d.ts +16 -0
  18. package/dist/coordination/mailbox-project-server-protocol.d.ts +43 -5
  19. package/dist/coordination/mailbox-project-server.js +1270 -289
  20. package/dist/coordination/provider-status-tracker.d.ts +2 -0
  21. package/dist/coordination/remote-mailbox-credential-store.d.ts +5 -5
  22. package/dist/coordination/remote-mailbox.d.ts +30 -4
  23. package/dist/coordination/sqlite-mailbox-credentials.d.ts +11 -0
  24. package/dist/core/context.d.ts +5 -5
  25. package/dist/core/fallback-profile-manager.d.ts +14 -0
  26. package/dist/core/index.js +624 -168
  27. package/dist/core/instruction-bundle.d.ts +12 -0
  28. package/dist/core/system-prompt-builder.d.ts +14 -0
  29. package/dist/core/system-prompt-skill-bodies.d.ts +1 -1
  30. package/dist/core/system-prompt-skill-text.d.ts +1 -2
  31. package/dist/defaults/index.js +2393 -1302
  32. package/dist/design/index.js +47 -8
  33. package/dist/execution/design-materialize.d.ts +22 -0
  34. package/dist/execution/index.js +582 -285
  35. package/dist/execution/skill-loader.d.ts +10 -1
  36. package/dist/execution/tool-error-taxonomy.d.ts +31 -0
  37. package/dist/execution/tool-executor.d.ts +1 -0
  38. package/dist/goal/index.js +71 -17
  39. package/dist/goal/phase-store.d.ts +7 -0
  40. package/dist/hooks/index.js +5 -0
  41. package/dist/hq/auth-audit.d.ts +6 -0
  42. package/dist/hq/auth-store.d.ts +59 -3
  43. package/dist/hq/index.js +680 -163
  44. package/dist/hq/kanban-store.d.ts +3 -0
  45. package/dist/hq/persistence/event-log.d.ts +25 -0
  46. package/dist/hq/persistence.d.ts +1 -1
  47. package/dist/hq/protocol/browser.d.ts +2 -1
  48. package/dist/hq/protocol/client.d.ts +18 -1
  49. package/dist/hq/protocol/core.d.ts +5 -16
  50. package/dist/hq/protocol/envelope.d.ts +29 -0
  51. package/dist/hq/protocol/governance.d.ts +34 -0
  52. package/dist/hq/protocol/peer.d.ts +55 -0
  53. package/dist/hq/protocol/project.d.ts +3 -0
  54. package/dist/hq/protocol/resume.d.ts +56 -0
  55. package/dist/hq/protocol.d.ts +11 -8
  56. package/dist/hq/protocol.js +675 -0
  57. package/dist/hq/publisher.d.ts +31 -2
  58. package/dist/hq/session-bridge.d.ts +8 -0
  59. package/dist/index.js +7197 -4006
  60. package/dist/infrastructure/index.js +198 -101
  61. package/dist/kernel/events/session-events.d.ts +3 -0
  62. package/dist/kernel/events/tool-events.d.ts +3 -1
  63. package/dist/models/index.js +1 -1
  64. package/dist/observability/index.d.ts +1 -1
  65. package/dist/observability/index.js +103 -5
  66. package/dist/observability/metrics.d.ts +37 -0
  67. package/dist/observability/prometheus.d.ts +11 -0
  68. package/dist/plugin/index.d.ts +5 -1
  69. package/dist/plugin/index.js +965 -511
  70. package/dist/plugins/auto-review-plugin.d.ts +6 -0
  71. package/dist/plugins/review-store-maintenance.d.ts +26 -0
  72. package/dist/plugins/review-types.d.ts +6 -0
  73. package/dist/security/capabilities.d.ts +45 -1
  74. package/dist/security/error-sanitize.d.ts +49 -0
  75. package/dist/security/file-permissions.d.ts +41 -0
  76. package/dist/security/index.d.ts +9 -6
  77. package/dist/security/index.js +3007 -2032
  78. package/dist/security/permission-policy.d.ts +55 -3
  79. package/dist/security/secret-vault.d.ts +17 -0
  80. package/dist/security/totp.d.ts +86 -0
  81. package/dist/skills/frontmatter.d.ts +12 -1
  82. package/dist/skills/github-fetcher.d.ts +48 -0
  83. package/dist/skills/index.js +137 -26
  84. package/dist/skills/limits.d.ts +19 -0
  85. package/dist/skills/skill-installer.d.ts +13 -0
  86. package/dist/storage/file-session-writer.d.ts +23 -0
  87. package/dist/storage/index.js +1140 -905
  88. package/dist/storage/provider-config-watcher.d.ts +1 -0
  89. package/dist/storage/session-helpers.d.ts +1 -0
  90. package/dist/storage/session-reader.d.ts +0 -7
  91. package/dist/storage/session-store/types.d.ts +12 -1
  92. package/dist/storage/session-store.d.ts +11 -2
  93. package/dist/storage/session-workspace-checkpoints.d.ts +5 -0
  94. package/dist/tools/fallback-manage-tools.d.ts +6 -0
  95. package/dist/tools/index.js +305 -133
  96. package/dist/tools/mcp-use.d.ts +1 -1
  97. package/dist/types/blocks.d.ts +7 -0
  98. package/dist/types/config/autonomy.d.ts +12 -3
  99. package/dist/types/config/mcp-features.d.ts +15 -1
  100. package/dist/types/config/root.d.ts +10 -4
  101. package/dist/types/context-window.d.ts +15 -0
  102. package/dist/types/index.d.ts +1 -1
  103. package/dist/types/observability.d.ts +13 -0
  104. package/dist/types/secret-vault.d.ts +8 -0
  105. package/dist/types/session.d.ts +42 -0
  106. package/dist/types/skill.d.ts +56 -0
  107. package/dist/types/tool-executor.d.ts +2 -0
  108. package/dist/utils/continuous-memory-profiler.d.ts +35 -0
  109. package/dist/utils/env-typed.d.ts +64 -0
  110. package/dist/utils/glob-match.d.ts +21 -1
  111. package/dist/utils/heap-watchdog-types.d.ts +62 -0
  112. package/dist/utils/heap-watchdog.d.ts +15 -34
  113. package/dist/utils/heap-watchdog.js +592 -18
  114. package/dist/utils/incoming-images.d.ts +19 -0
  115. package/dist/utils/index.d.ts +15 -11
  116. package/dist/utils/index.js +1425 -545
  117. package/dist/utils/memory-flight-recorder.d.ts +47 -0
  118. package/dist/utils/path-segment.d.ts +29 -0
  119. package/dist/utils/tool-name.d.ts +34 -0
  120. package/dist/utils/win32-cmd.d.ts +25 -0
  121. package/dist/worktree/index.js +5 -0
  122. package/package.json +11 -3
  123. package/skills/chimera/SKILL.md +16 -4
  124. package/skills/data-governance/SKILL.md +92 -0
  125. package/skills/wrongstack-kanban/SKILL.md +129 -0
  126. package/skills/wrongstack-kanban/agents/openai.yaml +4 -0
  127. package/skills/wrongstack-mailbox-mcp/SKILL.md +72 -0
  128. package/skills/wrongstack-mailbox-mcp/agents/openai.yaml +4 -0
  129. package/dist/agent-status-helpers.d.ts.map +0 -1
  130. package/dist/agent-status-tracker.d.ts.map +0 -1
  131. package/dist/boot.d.ts.map +0 -1
  132. package/dist/chronicle/context.d.ts.map +0 -1
  133. package/dist/chronicle/decision-adapter.d.ts.map +0 -1
  134. package/dist/chronicle/domain-adapter.d.ts.map +0 -1
  135. package/dist/chronicle/event-hash.d.ts.map +0 -1
  136. package/dist/chronicle/file-observer.d.ts.map +0 -1
  137. package/dist/chronicle/health-monitor.d.ts.map +0 -1
  138. package/dist/chronicle/identity.d.ts.map +0 -1
  139. package/dist/chronicle/index.d.ts.map +0 -1
  140. package/dist/chronicle/index.js.map +0 -7
  141. package/dist/chronicle/journal.d.ts.map +0 -1
  142. package/dist/chronicle/legacy-journal-import.d.ts.map +0 -1
  143. package/dist/chronicle/metrics-store.d.ts.map +0 -1
  144. package/dist/chronicle/partition-filename.d.ts.map +0 -1
  145. package/dist/chronicle/partition-range-cache.d.ts.map +0 -1
  146. package/dist/chronicle/process-adapter.d.ts.map +0 -1
  147. package/dist/chronicle/project-access.d.ts.map +0 -1
  148. package/dist/chronicle/project-server-client.d.ts.map +0 -1
  149. package/dist/chronicle/project-server-endpoint.d.ts.map +0 -1
  150. package/dist/chronicle/project-server-protocol.d.ts.map +0 -1
  151. package/dist/chronicle/project-server.d.ts.map +0 -1
  152. package/dist/chronicle/project-server.js.map +0 -7
  153. package/dist/chronicle/prompt-manifest.d.ts.map +0 -1
  154. package/dist/chronicle/provider-adapter.d.ts.map +0 -1
  155. package/dist/chronicle/query.d.ts.map +0 -1
  156. package/dist/chronicle/review-adapter.d.ts.map +0 -1
  157. package/dist/chronicle/rollup-adapter.d.ts.map +0 -1
  158. package/dist/chronicle/sink.d.ts.map +0 -1
  159. package/dist/chronicle/sqlite-journal.d.ts.map +0 -1
  160. package/dist/chronicle/sqlite-query.d.ts.map +0 -1
  161. package/dist/chronicle/stream-adapter.d.ts.map +0 -1
  162. package/dist/chronicle/tool-adapter.d.ts.map +0 -1
  163. package/dist/chronicle/types.d.ts.map +0 -1
  164. package/dist/coordination/adaptive-concurrency.d.ts.map +0 -1
  165. package/dist/coordination/agent-bridge.d.ts.map +0 -1
  166. package/dist/coordination/agent-monitor.d.ts.map +0 -1
  167. package/dist/coordination/agent-subagent-runner.d.ts.map +0 -1
  168. package/dist/coordination/agents/agent-prompts.d.ts.map +0 -1
  169. package/dist/coordination/agents/index.d.ts.map +0 -1
  170. package/dist/coordination/agents/index.js.map +0 -7
  171. package/dist/coordination/agents/phase1-discovery.d.ts.map +0 -1
  172. package/dist/coordination/agents/phase2-planning.d.ts.map +0 -1
  173. package/dist/coordination/agents/phase3-build.d.ts.map +0 -1
  174. package/dist/coordination/agents/phase3-techstack.d.ts.map +0 -1
  175. package/dist/coordination/agents/phase3-wave1-platform.d.ts.map +0 -1
  176. package/dist/coordination/agents/phase3-wave2-meta.d.ts.map +0 -1
  177. package/dist/coordination/agents/phase4-verify.d.ts.map +0 -1
  178. package/dist/coordination/agents/phase5-review.d.ts.map +0 -1
  179. package/dist/coordination/agents/phase6-domain.d.ts.map +0 -1
  180. package/dist/coordination/agents/phase7-knowledge.d.ts.map +0 -1
  181. package/dist/coordination/agents/phase8-delivery.d.ts.map +0 -1
  182. package/dist/coordination/agents/phase8-wave3-products.d.ts.map +0 -1
  183. package/dist/coordination/agents/phase9-meta.d.ts.map +0 -1
  184. package/dist/coordination/agents/phase9-wave4-platform-meta.d.ts.map +0 -1
  185. package/dist/coordination/agents/project-agent-config-validation.d.ts.map +0 -1
  186. package/dist/coordination/agents/project-agent-consolidation.d.ts.map +0 -1
  187. package/dist/coordination/agents/project-agent-files.d.ts.map +0 -1
  188. package/dist/coordination/agents/project-agent-identity-types.d.ts.map +0 -1
  189. package/dist/coordination/agents/project-agent-identity.d.ts.map +0 -1
  190. package/dist/coordination/agents/project-agent-knowledge-manifests.d.ts.map +0 -1
  191. package/dist/coordination/agents/project-agent-learning-entries.d.ts.map +0 -1
  192. package/dist/coordination/agents/project-agent-learning-normalize.d.ts.map +0 -1
  193. package/dist/coordination/agents/project-agent-learning-policy.d.ts.map +0 -1
  194. package/dist/coordination/agents/project-agent-learning-structured.d.ts.map +0 -1
  195. package/dist/coordination/agents/project-agent-paths.d.ts.map +0 -1
  196. package/dist/coordination/agents/project-agent-profile.d.ts.map +0 -1
  197. package/dist/coordination/agents/role-skills.d.ts.map +0 -1
  198. package/dist/coordination/agents/types.d.ts.map +0 -1
  199. package/dist/coordination/agents.d.ts.map +0 -1
  200. package/dist/coordination/auto-extend.d.ts.map +0 -1
  201. package/dist/coordination/autonomous-brain.d.ts.map +0 -1
  202. package/dist/coordination/autonomous-coordinator.d.ts.map +0 -1
  203. package/dist/coordination/brain-cache.d.ts.map +0 -1
  204. package/dist/coordination/brain-heuristics.d.ts.map +0 -1
  205. package/dist/coordination/brain-ledger.d.ts.map +0 -1
  206. package/dist/coordination/brain-monitor.d.ts.map +0 -1
  207. package/dist/coordination/brain-rules.d.ts.map +0 -1
  208. package/dist/coordination/brain-telemetry.d.ts.map +0 -1
  209. package/dist/coordination/brain-trace.d.ts.map +0 -1
  210. package/dist/coordination/brain.d.ts.map +0 -1
  211. package/dist/coordination/change-manager.d.ts.map +0 -1
  212. package/dist/coordination/checkpoint-wiring.d.ts.map +0 -1
  213. package/dist/coordination/collab-bus.d.ts.map +0 -1
  214. package/dist/coordination/collab-debug-types.d.ts.map +0 -1
  215. package/dist/coordination/collab-debug.d.ts.map +0 -1
  216. package/dist/coordination/collab-director-host.d.ts.map +0 -1
  217. package/dist/coordination/commit-safety.d.ts.map +0 -1
  218. package/dist/coordination/consensus-protocol.d.ts.map +0 -1
  219. package/dist/coordination/coordinator/error-classifier.d.ts.map +0 -1
  220. package/dist/coordination/delegate-tool.d.ts.map +0 -1
  221. package/dist/coordination/dep-watcher-bridge.d.ts.map +0 -1
  222. package/dist/coordination/dep-watcher.d.ts.map +0 -1
  223. package/dist/coordination/director/director-btw-notes.d.ts.map +0 -1
  224. package/dist/coordination/director/director-budget-policy.d.ts.map +0 -1
  225. package/dist/coordination/director/director-collab.d.ts.map +0 -1
  226. package/dist/coordination/director/director-errors.d.ts.map +0 -1
  227. package/dist/coordination/director/director-task-registry.d.ts.map +0 -1
  228. package/dist/coordination/director/director-toolset.d.ts.map +0 -1
  229. package/dist/coordination/director-basic-tools.d.ts.map +0 -1
  230. package/dist/coordination/director-collab-tools.d.ts.map +0 -1
  231. package/dist/coordination/director-host-contracts.d.ts.map +0 -1
  232. package/dist/coordination/director-input-helpers.d.ts.map +0 -1
  233. package/dist/coordination/director-kanban-queue-helpers.d.ts.map +0 -1
  234. package/dist/coordination/director-options.d.ts.map +0 -1
  235. package/dist/coordination/director-prompts.d.ts.map +0 -1
  236. package/dist/coordination/director-quality-gate-tool.d.ts.map +0 -1
  237. package/dist/coordination/director-session.d.ts.map +0 -1
  238. package/dist/coordination/director-spawn-model.d.ts.map +0 -1
  239. package/dist/coordination/director-tools.d.ts.map +0 -1
  240. package/dist/coordination/director.d.ts.map +0 -1
  241. package/dist/coordination/dispatcher.d.ts.map +0 -1
  242. package/dist/coordination/file-author-tracker.d.ts.map +0 -1
  243. package/dist/coordination/fleet-bus.d.ts.map +0 -1
  244. package/dist/coordination/fleet-event-validation.d.ts.map +0 -1
  245. package/dist/coordination/fleet-manager.d.ts.map +0 -1
  246. package/dist/coordination/fleet-spawn.d.ts.map +0 -1
  247. package/dist/coordination/fleet-status-tool.d.ts.map +0 -1
  248. package/dist/coordination/fleet-supervisor.d.ts.map +0 -1
  249. package/dist/coordination/fleet.d.ts.map +0 -1
  250. package/dist/coordination/global-mailbox-completion.d.ts.map +0 -1
  251. package/dist/coordination/global-mailbox-paths.d.ts.map +0 -1
  252. package/dist/coordination/icoordinator.d.ts.map +0 -1
  253. package/dist/coordination/ifleet-manager.d.ts.map +0 -1
  254. package/dist/coordination/in-memory-transport.d.ts.map +0 -1
  255. package/dist/coordination/index.d.ts.map +0 -1
  256. package/dist/coordination/index.js.map +0 -7
  257. package/dist/coordination/knowledge-graph.d.ts.map +0 -1
  258. package/dist/coordination/large-answer-store.d.ts.map +0 -1
  259. package/dist/coordination/mail-tools.d.ts.map +0 -1
  260. package/dist/coordination/mailbox-actions.d.ts.map +0 -1
  261. package/dist/coordination/mailbox-auth-types.d.ts.map +0 -1
  262. package/dist/coordination/mailbox-codecs.d.ts.map +0 -1
  263. package/dist/coordination/mailbox-constants.d.ts.map +0 -1
  264. package/dist/coordination/mailbox-credential-store.d.ts.map +0 -1
  265. package/dist/coordination/mailbox-events.d.ts.map +0 -1
  266. package/dist/coordination/mailbox-health.d.ts.map +0 -1
  267. package/dist/coordination/mailbox-hooks.d.ts.map +0 -1
  268. package/dist/coordination/mailbox-http-auth.d.ts.map +0 -1
  269. package/dist/coordination/mailbox-http-rate-limit.d.ts.map +0 -1
  270. package/dist/coordination/mailbox-http-router.d.ts.map +0 -1
  271. package/dist/coordination/mailbox-http-validation.d.ts.map +0 -1
  272. package/dist/coordination/mailbox-message-codec.d.ts.map +0 -1
  273. package/dist/coordination/mailbox-parse-state.d.ts.map +0 -1
  274. package/dist/coordination/mailbox-project-server-client.d.ts.map +0 -1
  275. package/dist/coordination/mailbox-project-server-endpoint.d.ts.map +0 -1
  276. package/dist/coordination/mailbox-project-server-protocol.d.ts.map +0 -1
  277. package/dist/coordination/mailbox-project-server.d.ts.map +0 -1
  278. package/dist/coordination/mailbox-project-server.js.map +0 -7
  279. package/dist/coordination/mailbox-receipt-folding.d.ts.map +0 -1
  280. package/dist/coordination/mailbox-registry-codec.d.ts.map +0 -1
  281. package/dist/coordination/mailbox-retention-state.d.ts.map +0 -1
  282. package/dist/coordination/mailbox-status-mappers.d.ts.map +0 -1
  283. package/dist/coordination/mailbox-tool.d.ts.map +0 -1
  284. package/dist/coordination/mailbox-type-properties.d.ts.map +0 -1
  285. package/dist/coordination/mailbox-types.d.ts.map +0 -1
  286. package/dist/coordination/model-matrix.d.ts.map +0 -1
  287. package/dist/coordination/multi-agent-coordinator.d.ts.map +0 -1
  288. package/dist/coordination/multi-agent-timeout.d.ts.map +0 -1
  289. package/dist/coordination/null-fleet-bus.d.ts.map +0 -1
  290. package/dist/coordination/package-author-tracker.d.ts.map +0 -1
  291. package/dist/coordination/package-outdated-watcher.d.ts.map +0 -1
  292. package/dist/coordination/provider-status-tracker.d.ts.map +0 -1
  293. package/dist/coordination/remote-mailbox-credential-store.d.ts.map +0 -1
  294. package/dist/coordination/remote-mailbox.d.ts.map +0 -1
  295. package/dist/coordination/single-instance-mailbox.d.ts.map +0 -1
  296. package/dist/coordination/spawn-budget.d.ts.map +0 -1
  297. package/dist/coordination/sqlite-mailbox-compaction.d.ts.map +0 -1
  298. package/dist/coordination/sqlite-mailbox-credentials.d.ts.map +0 -1
  299. package/dist/coordination/sqlite-mailbox-rows.d.ts.map +0 -1
  300. package/dist/coordination/sqlite-mailbox-schema.d.ts.map +0 -1
  301. package/dist/coordination/sqlite-mailbox.d.ts.map +0 -1
  302. package/dist/coordination/subagent-budget.d.ts.map +0 -1
  303. package/dist/coordination/subagent-nicknames.d.ts.map +0 -1
  304. package/dist/coordination/subagent-result-tool.d.ts.map +0 -1
  305. package/dist/coordination/task-auctioneer.d.ts.map +0 -1
  306. package/dist/coordination/task-dag.d.ts.map +0 -1
  307. package/dist/coordination/techstack-mailbox-consumer.d.ts.map +0 -1
  308. package/dist/coordination/transport.d.ts.map +0 -1
  309. package/dist/coordination/worktree-task-runner.d.ts.map +0 -1
  310. package/dist/core/agent-internals.d.ts.map +0 -1
  311. package/dist/core/agent-loop.d.ts.map +0 -1
  312. package/dist/core/agent-response.d.ts.map +0 -1
  313. package/dist/core/agent-tools.d.ts.map +0 -1
  314. package/dist/core/agent-types.d.ts.map +0 -1
  315. package/dist/core/agent.d.ts.map +0 -1
  316. package/dist/core/btw.d.ts.map +0 -1
  317. package/dist/core/context.d.ts.map +0 -1
  318. package/dist/core/continue-intent.d.ts.map +0 -1
  319. package/dist/core/continue-to-next-iteration.d.ts.map +0 -1
  320. package/dist/core/conversation-state.d.ts.map +0 -1
  321. package/dist/core/fallback-model.d.ts.map +0 -1
  322. package/dist/core/fallback-profile-manager.d.ts.map +0 -1
  323. package/dist/core/fleet-pulse.d.ts.map +0 -1
  324. package/dist/core/index.d.ts.map +0 -1
  325. package/dist/core/index.js.map +0 -7
  326. package/dist/core/input-builder.d.ts.map +0 -1
  327. package/dist/core/instruction-bundle.d.ts.map +0 -1
  328. package/dist/core/iteration-limit.d.ts.map +0 -1
  329. package/dist/core/mailbox-loop.d.ts.map +0 -1
  330. package/dist/core/model-availability-calendar.d.ts.map +0 -1
  331. package/dist/core/model-ref.d.ts.map +0 -1
  332. package/dist/core/model-ref.js.map +0 -7
  333. package/dist/core/modes/brief.d.ts.map +0 -1
  334. package/dist/core/modes/default.d.ts.map +0 -1
  335. package/dist/core/modes/teach.d.ts.map +0 -1
  336. package/dist/core/provider-runner.d.ts.map +0 -1
  337. package/dist/core/queued-messages.d.ts.map +0 -1
  338. package/dist/core/request-provider-binding.d.ts.map +0 -1
  339. package/dist/core/run-env.d.ts.map +0 -1
  340. package/dist/core/streaming-response-builder.d.ts.map +0 -1
  341. package/dist/core/system-prompt-blocks.d.ts.map +0 -1
  342. package/dist/core/system-prompt-builder.d.ts.map +0 -1
  343. package/dist/core/system-prompt-environment-probes.d.ts.map +0 -1
  344. package/dist/core/system-prompt-environment.d.ts.map +0 -1
  345. package/dist/core/system-prompt-memory-skills.d.ts.map +0 -1
  346. package/dist/core/system-prompt-plan.d.ts.map +0 -1
  347. package/dist/core/system-prompt-shell.d.ts.map +0 -1
  348. package/dist/core/system-prompt-skill-bodies.d.ts.map +0 -1
  349. package/dist/core/system-prompt-skill-text.d.ts.map +0 -1
  350. package/dist/defaults/index.d.ts.map +0 -1
  351. package/dist/defaults/index.js.map +0 -7
  352. package/dist/design/index.d.ts.map +0 -1
  353. package/dist/design/index.js.map +0 -7
  354. package/dist/execution/auto-compaction-middleware.d.ts.map +0 -1
  355. package/dist/execution/autonomous-runner.d.ts.map +0 -1
  356. package/dist/execution/autonomy-brain.d.ts.map +0 -1
  357. package/dist/execution/autonomy-prompt-contributor.d.ts.map +0 -1
  358. package/dist/execution/brain-chain.d.ts.map +0 -1
  359. package/dist/execution/brain-circuit.d.ts.map +0 -1
  360. package/dist/execution/brain-evaluation.d.ts.map +0 -1
  361. package/dist/execution/brain-runtime-constants.d.ts.map +0 -1
  362. package/dist/execution/brain-runtime.d.ts.map +0 -1
  363. package/dist/execution/compaction-core.d.ts.map +0 -1
  364. package/dist/execution/compaction-scoring.d.ts.map +0 -1
  365. package/dist/execution/compaction-summary-cache.d.ts.map +0 -1
  366. package/dist/execution/compactor.d.ts.map +0 -1
  367. package/dist/execution/council-brain.d.ts.map +0 -1
  368. package/dist/execution/council-orchestrator.d.ts.map +0 -1
  369. package/dist/execution/council-personas.d.ts.map +0 -1
  370. package/dist/execution/council-profiles.d.ts.map +0 -1
  371. package/dist/execution/council-prompts.d.ts.map +0 -1
  372. package/dist/execution/council-resolution.d.ts.map +0 -1
  373. package/dist/execution/design-color.d.ts.map +0 -1
  374. package/dist/execution/design-detect.d.ts.map +0 -1
  375. package/dist/execution/design-kit-loader.d.ts.map +0 -1
  376. package/dist/execution/design-materialize.d.ts.map +0 -1
  377. package/dist/execution/design-project-store.d.ts.map +0 -1
  378. package/dist/execution/design-tune.d.ts.map +0 -1
  379. package/dist/execution/design-verify.d.ts.map +0 -1
  380. package/dist/execution/enhance-recovery.d.ts.map +0 -1
  381. package/dist/execution/error-handler.d.ts.map +0 -1
  382. package/dist/execution/eternal-autonomy-types.d.ts.map +0 -1
  383. package/dist/execution/eternal-autonomy.d.ts.map +0 -1
  384. package/dist/execution/goal-preamble.d.ts.map +0 -1
  385. package/dist/execution/index.d.ts.map +0 -1
  386. package/dist/execution/index.js.map +0 -7
  387. package/dist/execution/intelligent-compactor.d.ts.map +0 -1
  388. package/dist/execution/model-runtime.d.ts.map +0 -1
  389. package/dist/execution/one-shot-llm.d.ts.map +0 -1
  390. package/dist/execution/parallel-eternal-engine.d.ts.map +0 -1
  391. package/dist/execution/prompt-enhancer.d.ts.map +0 -1
  392. package/dist/execution/prompt-enhancer.js.map +0 -7
  393. package/dist/execution/prompt-loader.d.ts.map +0 -1
  394. package/dist/execution/provider-runner-impl.d.ts.map +0 -1
  395. package/dist/execution/regex-patterns.d.ts.map +0 -1
  396. package/dist/execution/retry-policy.d.ts.map +0 -1
  397. package/dist/execution/selective-compactor.d.ts.map +0 -1
  398. package/dist/execution/skill-loader.d.ts.map +0 -1
  399. package/dist/execution/strategy-compactor.d.ts.map +0 -1
  400. package/dist/execution/subagent-compaction.d.ts.map +0 -1
  401. package/dist/execution/tool-executor-logging.d.ts.map +0 -1
  402. package/dist/execution/tool-executor-results.d.ts.map +0 -1
  403. package/dist/execution/tool-executor-stream.d.ts.map +0 -1
  404. package/dist/execution/tool-executor-support.d.ts.map +0 -1
  405. package/dist/execution/tool-executor.d.ts.map +0 -1
  406. package/dist/extension/extension-points.d.ts.map +0 -1
  407. package/dist/extension/index.d.ts.map +0 -1
  408. package/dist/extension/index.js.map +0 -7
  409. package/dist/extension/registry.d.ts.map +0 -1
  410. package/dist/fleet-notifier.d.ts.map +0 -1
  411. package/dist/goal/checkpoint.d.ts.map +0 -1
  412. package/dist/goal/goal-assessor.d.ts.map +0 -1
  413. package/dist/goal/goal-planner.d.ts.map +0 -1
  414. package/dist/goal/goal-runner.d.ts.map +0 -1
  415. package/dist/goal/index.d.ts.map +0 -1
  416. package/dist/goal/index.js.map +0 -7
  417. package/dist/goal/phase-board-mutations.d.ts.map +0 -1
  418. package/dist/goal/phase-graph-builder.d.ts.map +0 -1
  419. package/dist/goal/phase-orchestrator-integration.d.ts.map +0 -1
  420. package/dist/goal/phase-orchestrator-queries.d.ts.map +0 -1
  421. package/dist/goal/phase-orchestrator-runtime.d.ts.map +0 -1
  422. package/dist/goal/phase-orchestrator-types.d.ts.map +0 -1
  423. package/dist/goal/phase-orchestrator.d.ts.map +0 -1
  424. package/dist/goal/phase-store.d.ts.map +0 -1
  425. package/dist/goal/types.d.ts.map +0 -1
  426. package/dist/hooks/http-executor.d.ts.map +0 -1
  427. package/dist/hooks/index.d.ts.map +0 -1
  428. package/dist/hooks/index.js.map +0 -7
  429. package/dist/hooks/registry.d.ts.map +0 -1
  430. package/dist/hooks/runner.d.ts.map +0 -1
  431. package/dist/hooks/shell-executor.d.ts.map +0 -1
  432. package/dist/hooks/shell-hooks-equal.d.ts.map +0 -1
  433. package/dist/hq/alerts.d.ts.map +0 -1
  434. package/dist/hq/auth-audit.d.ts.map +0 -1
  435. package/dist/hq/auth-store.d.ts.map +0 -1
  436. package/dist/hq/bootstrap-store.d.ts.map +0 -1
  437. package/dist/hq/brain-bridge.d.ts.map +0 -1
  438. package/dist/hq/bridge-context.d.ts.map +0 -1
  439. package/dist/hq/commands.d.ts.map +0 -1
  440. package/dist/hq/cost-bridge.d.ts.map +0 -1
  441. package/dist/hq/exposure.d.ts.map +0 -1
  442. package/dist/hq/factory.d.ts.map +0 -1
  443. package/dist/hq/fleet-bridge.d.ts.map +0 -1
  444. package/dist/hq/index.d.ts.map +0 -1
  445. package/dist/hq/index.js.map +0 -7
  446. package/dist/hq/kanban-store.d.ts.map +0 -1
  447. package/dist/hq/mailbox-mapper.d.ts.map +0 -1
  448. package/dist/hq/persistence/event-log.d.ts.map +0 -1
  449. package/dist/hq/persistence/jsonl-io.d.ts.map +0 -1
  450. package/dist/hq/persistence/simple-log.d.ts.map +0 -1
  451. package/dist/hq/persistence/snapshot-store.d.ts.map +0 -1
  452. package/dist/hq/persistence/timeseries-store.d.ts.map +0 -1
  453. package/dist/hq/persistence.d.ts.map +0 -1
  454. package/dist/hq/protocol/brain.d.ts.map +0 -1
  455. package/dist/hq/protocol/browser.d.ts.map +0 -1
  456. package/dist/hq/protocol/client.d.ts.map +0 -1
  457. package/dist/hq/protocol/core.d.ts.map +0 -1
  458. package/dist/hq/protocol/fleet.d.ts.map +0 -1
  459. package/dist/hq/protocol/kanban.d.ts.map +0 -1
  460. package/dist/hq/protocol/mailbox.d.ts.map +0 -1
  461. package/dist/hq/protocol/mcp.d.ts.map +0 -1
  462. package/dist/hq/protocol/project.d.ts.map +0 -1
  463. package/dist/hq/protocol/session.d.ts.map +0 -1
  464. package/dist/hq/protocol/tool.d.ts.map +0 -1
  465. package/dist/hq/protocol.d.ts.map +0 -1
  466. package/dist/hq/publisher.d.ts.map +0 -1
  467. package/dist/hq/redaction.d.ts.map +0 -1
  468. package/dist/hq/session-bridge.d.ts.map +0 -1
  469. package/dist/hq/tool-bridge.d.ts.map +0 -1
  470. package/dist/hq/transcript-mapper.d.ts.map +0 -1
  471. package/dist/hq/worktree-bridge.d.ts.map +0 -1
  472. package/dist/hq/write-queues.d.ts.map +0 -1
  473. package/dist/index.d.ts.map +0 -1
  474. package/dist/index.js.map +0 -7
  475. package/dist/infrastructure/context-manager.d.ts.map +0 -1
  476. package/dist/infrastructure/index.d.ts.map +0 -1
  477. package/dist/infrastructure/index.js.map +0 -7
  478. package/dist/infrastructure/logger.d.ts.map +0 -1
  479. package/dist/infrastructure/mcp-servers.d.ts.map +0 -1
  480. package/dist/infrastructure/path-resolver.d.ts.map +0 -1
  481. package/dist/infrastructure/provider-cache-ledger.d.ts.map +0 -1
  482. package/dist/infrastructure/token-counter.d.ts.map +0 -1
  483. package/dist/kernel/container.d.ts.map +0 -1
  484. package/dist/kernel/events/agent-events.d.ts.map +0 -1
  485. package/dist/kernel/events/brain-events.d.ts.map +0 -1
  486. package/dist/kernel/events/file-events.d.ts.map +0 -1
  487. package/dist/kernel/events/fleet-events.d.ts.map +0 -1
  488. package/dist/kernel/events/memory-events.d.ts.map +0 -1
  489. package/dist/kernel/events/network-events.d.ts.map +0 -1
  490. package/dist/kernel/events/process-events.d.ts.map +0 -1
  491. package/dist/kernel/events/provider-events.d.ts.map +0 -1
  492. package/dist/kernel/events/sdd-events.d.ts.map +0 -1
  493. package/dist/kernel/events/session-events.d.ts.map +0 -1
  494. package/dist/kernel/events/tool-events.d.ts.map +0 -1
  495. package/dist/kernel/events/worktree-events.d.ts.map +0 -1
  496. package/dist/kernel/events.d.ts.map +0 -1
  497. package/dist/kernel/index.d.ts.map +0 -1
  498. package/dist/kernel/index.js.map +0 -7
  499. package/dist/kernel/pipeline.d.ts.map +0 -1
  500. package/dist/kernel/run-controller.d.ts.map +0 -1
  501. package/dist/kernel/tokens.d.ts.map +0 -1
  502. package/dist/mailbox-attach.d.ts.map +0 -1
  503. package/dist/middleware/collab-pause.d.ts.map +0 -1
  504. package/dist/models/alibaba-token-plan-catalog.d.ts.map +0 -1
  505. package/dist/models/codex-catalog.d.ts.map +0 -1
  506. package/dist/models/index.d.ts.map +0 -1
  507. package/dist/models/index.js.map +0 -7
  508. package/dist/models/llm-selector.d.ts.map +0 -1
  509. package/dist/models/mode-store.d.ts.map +0 -1
  510. package/dist/models/model-intelligence.d.ts.map +0 -1
  511. package/dist/models/model-router.d.ts.map +0 -1
  512. package/dist/models/models-registry.d.ts.map +0 -1
  513. package/dist/models/provider-model-resolve.d.ts.map +0 -1
  514. package/dist/notifications/index.d.ts.map +0 -1
  515. package/dist/notifications/index.js.map +0 -7
  516. package/dist/notifications/notifier-impl.d.ts.map +0 -1
  517. package/dist/notifications/notifier.d.ts.map +0 -1
  518. package/dist/notifications/types.d.ts.map +0 -1
  519. package/dist/observability/event-bridge.d.ts.map +0 -1
  520. package/dist/observability/health.d.ts.map +0 -1
  521. package/dist/observability/index.d.ts.map +0 -1
  522. package/dist/observability/index.js.map +0 -7
  523. package/dist/observability/metrics.d.ts.map +0 -1
  524. package/dist/observability/network-telemetry.d.ts.map +0 -1
  525. package/dist/observability/otel-tracer.d.ts.map +0 -1
  526. package/dist/observability/otlp-metrics.d.ts.map +0 -1
  527. package/dist/observability/otlp-traces.d.ts.map +0 -1
  528. package/dist/observability/process-telemetry.d.ts.map +0 -1
  529. package/dist/observability/prometheus.d.ts.map +0 -1
  530. package/dist/observability/redact-command.d.ts.map +0 -1
  531. package/dist/observability/tracer.d.ts.map +0 -1
  532. package/dist/plugin/api.d.ts.map +0 -1
  533. package/dist/plugin/config.d.ts.map +0 -1
  534. package/dist/plugin/index.d.ts.map +0 -1
  535. package/dist/plugin/index.js.map +0 -7
  536. package/dist/plugin/loader.d.ts.map +0 -1
  537. package/dist/plugins/auto-review-plugin.d.ts.map +0 -1
  538. package/dist/plugins/chimera-plugin.d.ts.map +0 -1
  539. package/dist/plugins/prompts-plugin.d.ts.map +0 -1
  540. package/dist/plugins/review-claim-registry.d.ts.map +0 -1
  541. package/dist/plugins/review-context-builder.d.ts.map +0 -1
  542. package/dist/plugins/review-finding-commands.d.ts.map +0 -1
  543. package/dist/plugins/review-finding-integration.d.ts.map +0 -1
  544. package/dist/plugins/review-finding-parser.d.ts.map +0 -1
  545. package/dist/plugins/review-finding-store.d.ts.map +0 -1
  546. package/dist/plugins/review-finding-types.d.ts.map +0 -1
  547. package/dist/plugins/review-report-integration.d.ts.map +0 -1
  548. package/dist/plugins/review-report-store.d.ts.map +0 -1
  549. package/dist/plugins/review-report-types.d.ts.map +0 -1
  550. package/dist/plugins/review-types.d.ts.map +0 -1
  551. package/dist/plugins/skills-plugin.d.ts.map +0 -1
  552. package/dist/plugins/sync-plugin.d.ts.map +0 -1
  553. package/dist/prompts/index.d.ts.map +0 -1
  554. package/dist/prompts/prompt-installer.d.ts.map +0 -1
  555. package/dist/prompts/prompt-manifest-store.d.ts.map +0 -1
  556. package/dist/registry/index.d.ts.map +0 -1
  557. package/dist/registry/index.js.map +0 -7
  558. package/dist/registry/provider-registry.d.ts.map +0 -1
  559. package/dist/registry/slash-command-registry.d.ts.map +0 -1
  560. package/dist/registry/tool-registry.d.ts.map +0 -1
  561. package/dist/replay/hash.d.ts.map +0 -1
  562. package/dist/replay/index.d.ts.map +0 -1
  563. package/dist/replay/index.js.map +0 -7
  564. package/dist/replay/replay-provider-runner.d.ts.map +0 -1
  565. package/dist/security/capabilities.d.ts.map +0 -1
  566. package/dist/security/config-secrets.d.ts.map +0 -1
  567. package/dist/security/directory-permission-policy.d.ts.map +0 -1
  568. package/dist/security/directory-policy-schema.d.ts.map +0 -1
  569. package/dist/security/index.d.ts.map +0 -1
  570. package/dist/security/index.js.map +0 -7
  571. package/dist/security/kanban-boundary.d.ts.map +0 -1
  572. package/dist/security/permission-policy-schema.d.ts.map +0 -1
  573. package/dist/security/permission-policy.d.ts.map +0 -1
  574. package/dist/security/readonly-permission-policy.d.ts.map +0 -1
  575. package/dist/security/secret-scrubber.d.ts.map +0 -1
  576. package/dist/security/secret-vault.d.ts.map +0 -1
  577. package/dist/security/trust-boundary.d.ts.map +0 -1
  578. package/dist/security/yolo-risk.d.ts.map +0 -1
  579. package/dist/session-registry-atomic-file.d.ts.map +0 -1
  580. package/dist/session-registry-types.d.ts.map +0 -1
  581. package/dist/session-registry.d.ts.map +0 -1
  582. package/dist/skills/foreign-sources.d.ts.map +0 -1
  583. package/dist/skills/frontmatter.d.ts.map +0 -1
  584. package/dist/skills/github-fetcher.d.ts.map +0 -1
  585. package/dist/skills/index.d.ts.map +0 -1
  586. package/dist/skills/index.js.map +0 -7
  587. package/dist/skills/limits.d.ts.map +0 -1
  588. package/dist/skills/manifest-store.d.ts.map +0 -1
  589. package/dist/skills/registry/github-direct-adapter.d.ts.map +0 -1
  590. package/dist/skills/registry/registry-adapter.d.ts.map +0 -1
  591. package/dist/skills/registry/skills-sh-adapter.d.ts.map +0 -1
  592. package/dist/skills/skill-generator.d.ts.map +0 -1
  593. package/dist/skills/skill-installer.d.ts.map +0 -1
  594. package/dist/storage/annotations-store.d.ts.map +0 -1
  595. package/dist/storage/attachment-store.d.ts.map +0 -1
  596. package/dist/storage/cloud-sync.d.ts.map +0 -1
  597. package/dist/storage/completed-work-checkpoint.d.ts.map +0 -1
  598. package/dist/storage/config-loader/bootstrap.d.ts.map +0 -1
  599. package/dist/storage/config-loader/default-repair.d.ts.map +0 -1
  600. package/dist/storage/config-loader/defaults.d.ts.map +0 -1
  601. package/dist/storage/config-loader/diagnostics.d.ts.map +0 -1
  602. package/dist/storage/config-loader/env-overrides.d.ts.map +0 -1
  603. package/dist/storage/config-loader/in-project-policy.d.ts.map +0 -1
  604. package/dist/storage/config-loader/inline-provider-models.d.ts.map +0 -1
  605. package/dist/storage/config-loader/legacy-sage-migration.d.ts.map +0 -1
  606. package/dist/storage/config-loader/path-identity.d.ts.map +0 -1
  607. package/dist/storage/config-loader/types.d.ts.map +0 -1
  608. package/dist/storage/config-loader/validation.d.ts.map +0 -1
  609. package/dist/storage/config-loader.d.ts.map +0 -1
  610. package/dist/storage/config-migration.d.ts.map +0 -1
  611. package/dist/storage/config-store.d.ts.map +0 -1
  612. package/dist/storage/director-state.d.ts.map +0 -1
  613. package/dist/storage/file-session-writer.d.ts.map +0 -1
  614. package/dist/storage/goal-coordination.d.ts.map +0 -1
  615. package/dist/storage/goal-kanban.d.ts.map +0 -1
  616. package/dist/storage/goal-store.d.ts.map +0 -1
  617. package/dist/storage/index.d.ts.map +0 -1
  618. package/dist/storage/index.js.map +0 -7
  619. package/dist/storage/input-history-store.d.ts.map +0 -1
  620. package/dist/storage/memory-backend.d.ts.map +0 -1
  621. package/dist/storage/memory-consolidator.d.ts.map +0 -1
  622. package/dist/storage/memory-graph-backend.d.ts.map +0 -1
  623. package/dist/storage/plan-store.d.ts.map +0 -1
  624. package/dist/storage/plan-templates.d.ts.map +0 -1
  625. package/dist/storage/prompt-store.d.ts.map +0 -1
  626. package/dist/storage/prompt-usage-store.d.ts.map +0 -1
  627. package/dist/storage/provider-config-watcher.d.ts.map +0 -1
  628. package/dist/storage/queue-store.d.ts.map +0 -1
  629. package/dist/storage/recovery-lock.d.ts.map +0 -1
  630. package/dist/storage/replay-log-store.d.ts.map +0 -1
  631. package/dist/storage/session-analyzer.d.ts.map +0 -1
  632. package/dist/storage/session-checkpoint-cas.d.ts.map +0 -1
  633. package/dist/storage/session-event-bridge.d.ts.map +0 -1
  634. package/dist/storage/session-helpers.d.ts.map +0 -1
  635. package/dist/storage/session-id-resolver.d.ts.map +0 -1
  636. package/dist/storage/session-id.d.ts.map +0 -1
  637. package/dist/storage/session-read-scrubber.d.ts.map +0 -1
  638. package/dist/storage/session-reader.d.ts.map +0 -1
  639. package/dist/storage/session-recovery.d.ts.map +0 -1
  640. package/dist/storage/session-resume-validation.d.ts.map +0 -1
  641. package/dist/storage/session-rewind-apply.d.ts.map +0 -1
  642. package/dist/storage/session-rewinder.d.ts.map +0 -1
  643. package/dist/storage/session-store/delete-session-artifacts.d.ts.map +0 -1
  644. package/dist/storage/session-store/delete-session-guards.d.ts.map +0 -1
  645. package/dist/storage/session-store/directory-scan.d.ts.map +0 -1
  646. package/dist/storage/session-store/directory-session-files.d.ts.map +0 -1
  647. package/dist/storage/session-store/events.d.ts.map +0 -1
  648. package/dist/storage/session-store/fork-session.d.ts.map +0 -1
  649. package/dist/storage/session-store/index-reader.d.ts.map +0 -1
  650. package/dist/storage/session-store/load-cache.d.ts.map +0 -1
  651. package/dist/storage/session-store/load-session-data.d.ts.map +0 -1
  652. package/dist/storage/session-store/paths.d.ts.map +0 -1
  653. package/dist/storage/session-store/prune-helpers.d.ts.map +0 -1
  654. package/dist/storage/session-store/replay.d.ts.map +0 -1
  655. package/dist/storage/session-store/search-events.d.ts.map +0 -1
  656. package/dist/storage/session-store/shard-manifest.d.ts.map +0 -1
  657. package/dist/storage/session-store/summary-builder.d.ts.map +0 -1
  658. package/dist/storage/session-store/summary-header.d.ts.map +0 -1
  659. package/dist/storage/session-store/types.d.ts.map +0 -1
  660. package/dist/storage/session-store.d.ts.map +0 -1
  661. package/dist/storage/session-summary.d.ts.map +0 -1
  662. package/dist/storage/session-tool-call-ends.d.ts.map +0 -1
  663. package/dist/storage/session-writer-scrubber.d.ts.map +0 -1
  664. package/dist/storage/session-writer-truncate.d.ts.map +0 -1
  665. package/dist/storage/storage-concurrency.d.ts.map +0 -1
  666. package/dist/storage/task-store.d.ts.map +0 -1
  667. package/dist/storage/todos-checkpoint.d.ts.map +0 -1
  668. package/dist/storage/tool-audit-log.d.ts.map +0 -1
  669. package/dist/tasking/index.d.ts.map +0 -1
  670. package/dist/tasking/index.js.map +0 -7
  671. package/dist/tasking/task-store.d.ts.map +0 -1
  672. package/dist/tasking/task-tracker.d.ts.map +0 -1
  673. package/dist/tools/council-tool.d.ts.map +0 -1
  674. package/dist/tools/fallback-chain-manage-tool.d.ts.map +0 -1
  675. package/dist/tools/fallback-favorite-manage-tool.d.ts.map +0 -1
  676. package/dist/tools/fallback-manage-helpers.d.ts.map +0 -1
  677. package/dist/tools/fallback-manage-tool-options.d.ts.map +0 -1
  678. package/dist/tools/fallback-manage-tools.d.ts.map +0 -1
  679. package/dist/tools/fallback-model-ref-parse.d.ts.map +0 -1
  680. package/dist/tools/fallback-provider-key-store.d.ts.map +0 -1
  681. package/dist/tools/fallback-system-config-view-tool.d.ts.map +0 -1
  682. package/dist/tools/index.d.ts.map +0 -1
  683. package/dist/tools/index.js.map +0 -7
  684. package/dist/tools/mcp-control.d.ts.map +0 -1
  685. package/dist/tools/mcp-use.d.ts.map +0 -1
  686. package/dist/tools/one-shot-llm-tool.d.ts.map +0 -1
  687. package/dist/tools/plugin-manager.d.ts.map +0 -1
  688. package/dist/types/agent-bridge.d.ts.map +0 -1
  689. package/dist/types/attachment.d.ts.map +0 -1
  690. package/dist/types/autonomy.d.ts.map +0 -1
  691. package/dist/types/blocks.d.ts.map +0 -1
  692. package/dist/types/compactor.d.ts.map +0 -1
  693. package/dist/types/config/autonomy.d.ts.map +0 -1
  694. package/dist/types/config/context.d.ts.map +0 -1
  695. package/dist/types/config/fleet-chat.d.ts.map +0 -1
  696. package/dist/types/config/mcp-features.d.ts.map +0 -1
  697. package/dist/types/config/providers.d.ts.map +0 -1
  698. package/dist/types/config/root.d.ts.map +0 -1
  699. package/dist/types/config/runtime.d.ts.map +0 -1
  700. package/dist/types/config/skills-fleet-brain.d.ts.map +0 -1
  701. package/dist/types/config/tools.d.ts.map +0 -1
  702. package/dist/types/config.d.ts.map +0 -1
  703. package/dist/types/context-evidence.d.ts.map +0 -1
  704. package/dist/types/context-window.d.ts.map +0 -1
  705. package/dist/types/council.d.ts.map +0 -1
  706. package/dist/types/default-config.d.ts.map +0 -1
  707. package/dist/types/design-kit.d.ts.map +0 -1
  708. package/dist/types/error-handler.d.ts.map +0 -1
  709. package/dist/types/errors.d.ts.map +0 -1
  710. package/dist/types/file-event-record.d.ts.map +0 -1
  711. package/dist/types/hooks.d.ts.map +0 -1
  712. package/dist/types/index.d.ts.map +0 -1
  713. package/dist/types/index.js.map +0 -7
  714. package/dist/types/input-reader.d.ts.map +0 -1
  715. package/dist/types/logger.d.ts.map +0 -1
  716. package/dist/types/memory.d.ts.map +0 -1
  717. package/dist/types/messages.d.ts.map +0 -1
  718. package/dist/types/mode-prompts.d.ts.map +0 -1
  719. package/dist/types/mode.d.ts.map +0 -1
  720. package/dist/types/models-registry.d.ts.map +0 -1
  721. package/dist/types/multi-agent.d.ts.map +0 -1
  722. package/dist/types/observability.d.ts.map +0 -1
  723. package/dist/types/one-shot-llm.d.ts.map +0 -1
  724. package/dist/types/path-resolver.d.ts.map +0 -1
  725. package/dist/types/permission.d.ts.map +0 -1
  726. package/dist/types/plugin.d.ts.map +0 -1
  727. package/dist/types/prompt-registry.d.ts.map +0 -1
  728. package/dist/types/prompt.d.ts.map +0 -1
  729. package/dist/types/provider-runner.d.ts.map +0 -1
  730. package/dist/types/provider.d.ts.map +0 -1
  731. package/dist/types/quota-regex.d.ts.map +0 -1
  732. package/dist/types/renderer.d.ts.map +0 -1
  733. package/dist/types/retry-policy.d.ts.map +0 -1
  734. package/dist/types/secret-scrubber.d.ts.map +0 -1
  735. package/dist/types/secret-vault.d.ts.map +0 -1
  736. package/dist/types/selector.d.ts.map +0 -1
  737. package/dist/types/session-markers.d.ts.map +0 -1
  738. package/dist/types/session-markers.js.map +0 -7
  739. package/dist/types/session-reader.d.ts.map +0 -1
  740. package/dist/types/session-rewinder.d.ts.map +0 -1
  741. package/dist/types/session.d.ts.map +0 -1
  742. package/dist/types/side-effect.d.ts.map +0 -1
  743. package/dist/types/skill.d.ts.map +0 -1
  744. package/dist/types/slash-command.d.ts.map +0 -1
  745. package/dist/types/spec.d.ts.map +0 -1
  746. package/dist/types/system-prompt-contributor.d.ts.map +0 -1
  747. package/dist/types/system-prompt.d.ts.map +0 -1
  748. package/dist/types/task-graph.d.ts.map +0 -1
  749. package/dist/types/token-counter.d.ts.map +0 -1
  750. package/dist/types/tool-executor.d.ts.map +0 -1
  751. package/dist/types/tool-markers.d.ts.map +0 -1
  752. package/dist/types/tool.d.ts.map +0 -1
  753. package/dist/types/utility-types.d.ts.map +0 -1
  754. package/dist/utils/assert-never.d.ts.map +0 -1
  755. package/dist/utils/atomic-write.d.ts.map +0 -1
  756. package/dist/utils/cache-key.d.ts.map +0 -1
  757. package/dist/utils/child-env.d.ts.map +0 -1
  758. package/dist/utils/color.d.ts.map +0 -1
  759. package/dist/utils/compaction-preview.d.ts.map +0 -1
  760. package/dist/utils/config-backup.d.ts.map +0 -1
  761. package/dist/utils/config-json.d.ts.map +0 -1
  762. package/dist/utils/connectivity.d.ts.map +0 -1
  763. package/dist/utils/context-breakdown.d.ts.map +0 -1
  764. package/dist/utils/context-evidence.d.ts.map +0 -1
  765. package/dist/utils/crash-shield.d.ts.map +0 -1
  766. package/dist/utils/deep-merge.d.ts.map +0 -1
  767. package/dist/utils/diff.d.ts.map +0 -1
  768. package/dist/utils/error.d.ts.map +0 -1
  769. package/dist/utils/error.js.map +0 -7
  770. package/dist/utils/expect-defined.d.ts.map +0 -1
  771. package/dist/utils/expect-defined.js.map +0 -7
  772. package/dist/utils/glob-expand.d.ts.map +0 -1
  773. package/dist/utils/glob-match.d.ts.map +0 -1
  774. package/dist/utils/heap-watchdog.d.ts.map +0 -1
  775. package/dist/utils/heap-watchdog.js.map +0 -7
  776. package/dist/utils/incoming-images.d.ts.map +0 -1
  777. package/dist/utils/index.d.ts.map +0 -1
  778. package/dist/utils/index.js.map +0 -7
  779. package/dist/utils/instruction-file.d.ts.map +0 -1
  780. package/dist/utils/ip-guard.d.ts.map +0 -1
  781. package/dist/utils/json-repair.d.ts.map +0 -1
  782. package/dist/utils/json-schema-validate.d.ts.map +0 -1
  783. package/dist/utils/lru-cache.d.ts.map +0 -1
  784. package/dist/utils/merge-custom-models.d.ts.map +0 -1
  785. package/dist/utils/merge-models-payload.d.ts.map +0 -1
  786. package/dist/utils/message-invariants.d.ts.map +0 -1
  787. package/dist/utils/newline-normalize.d.ts.map +0 -1
  788. package/dist/utils/perf-profile.d.ts.map +0 -1
  789. package/dist/utils/pid.d.ts.map +0 -1
  790. package/dist/utils/project-identity.d.ts.map +0 -1
  791. package/dist/utils/project-watch.d.ts.map +0 -1
  792. package/dist/utils/regex-guard.d.ts.map +0 -1
  793. package/dist/utils/safe-json.d.ts.map +0 -1
  794. package/dist/utils/sage-output-block.d.ts.map +0 -1
  795. package/dist/utils/session-scoped-path.d.ts.map +0 -1
  796. package/dist/utils/sleep.d.ts.map +0 -1
  797. package/dist/utils/slug.d.ts.map +0 -1
  798. package/dist/utils/socket-path.d.ts.map +0 -1
  799. package/dist/utils/sqlite-warning.d.ts.map +0 -1
  800. package/dist/utils/string.d.ts.map +0 -1
  801. package/dist/utils/task-format.d.ts.map +0 -1
  802. package/dist/utils/term.d.ts.map +0 -1
  803. package/dist/utils/todos-format.d.ts.map +0 -1
  804. package/dist/utils/token-estimate.d.ts.map +0 -1
  805. package/dist/utils/tool-description-mode.d.ts.map +0 -1
  806. package/dist/utils/tool-output-serializer.d.ts.map +0 -1
  807. package/dist/utils/tool-result-render-mode.d.ts.map +0 -1
  808. package/dist/utils/tool-subject.d.ts.map +0 -1
  809. package/dist/utils/tool-wire-compact.d.ts.map +0 -1
  810. package/dist/utils/tree-kill.d.ts.map +0 -1
  811. package/dist/utils/tree-kill.js.map +0 -7
  812. package/dist/utils/ulid.d.ts.map +0 -1
  813. package/dist/utils/walk-ignore.d.ts.map +0 -1
  814. package/dist/utils/wstack-paths.d.ts.map +0 -1
  815. package/dist/worktree/index.d.ts.map +0 -1
  816. package/dist/worktree/index.js.map +0 -7
  817. package/dist/worktree/worktree-git.d.ts.map +0 -1
  818. package/dist/worktree/worktree-managed-ops.d.ts.map +0 -1
  819. package/dist/worktree/worktree-manager.d.ts.map +0 -1
  820. package/dist/worktree/worktree-types.d.ts.map +0 -1
@@ -865,7 +865,7 @@ var DefaultLogger = class _DefaultLogger {
865
865
  root.pendingFileWrites += 1;
866
866
  root.pendingFileBytes += bytes;
867
867
  this.enqueueRotate(this.file);
868
- this._tail = this._tail.then(() => fsp.appendFile(this.file, line)).catch(() => void 0).finally(() => {
868
+ this._tail = this._tail.then(() => fsp.appendFile(this.file, line, { mode: 384 })).catch(() => void 0).finally(() => {
869
869
  root.pendingFileWrites = Math.max(0, root.pendingFileWrites - 1);
870
870
  root.pendingFileBytes = Math.max(0, root.pendingFileBytes - bytes);
871
871
  });
@@ -2227,6 +2227,47 @@ function isSecretField(name) {
2227
2227
  return SECRET_KEY_PATTERN.test(lc);
2228
2228
  }
2229
2229
 
2230
+ // src/security/file-permissions.ts
2231
+ import { chmod } from "node:fs/promises";
2232
+ var SECRET_FILE_MODE = 384;
2233
+ async function restrictFilePermissions(filePath, opts) {
2234
+ const label = opts?.label ?? "file-permissions";
2235
+ const warn = opts?.warn ?? ((msg) => console.warn(msg));
2236
+ if (process.platform === "win32") {
2237
+ try {
2238
+ const { execFile } = await import("node:child_process");
2239
+ const { promisify } = await import("node:util");
2240
+ const execFileAsync = promisify(execFile);
2241
+ const user = windowsAccountName();
2242
+ if (!user) {
2243
+ warn(
2244
+ `[${label}] Could not determine the current Windows user for ${filePath}; skipping icacls hardening.`
2245
+ );
2246
+ return;
2247
+ }
2248
+ await execFileAsync("icacls", [filePath, "/inheritance:r", "/grant:r", `${user}:(F)`], {
2249
+ windowsHide: true
2250
+ });
2251
+ } catch {
2252
+ warn(
2253
+ `[${label}] Could not restrict permissions on ${filePath} \u2014 it may be readable by other users on this system.`
2254
+ );
2255
+ }
2256
+ } else {
2257
+ try {
2258
+ await chmod(filePath, SECRET_FILE_MODE);
2259
+ } catch {
2260
+ }
2261
+ }
2262
+ }
2263
+ function windowsAccountName() {
2264
+ const username = process.env.USERNAME || process.env.USER;
2265
+ if (!username || username.includes("\0")) return void 0;
2266
+ const domain = process.env.USERDOMAIN;
2267
+ if (domain && !domain.includes("\0")) return `${domain}\\${username}`;
2268
+ return username;
2269
+ }
2270
+
2230
2271
  // src/utils/deep-merge.ts
2231
2272
  var FORBIDDEN_PROTO_KEYS = /* @__PURE__ */ new Set([
2232
2273
  "__proto__",
@@ -2378,8 +2419,12 @@ function checkKeyFilePermissions(keyFile, opts) {
2378
2419
  const stat5 = fs2.statSync(keyFile);
2379
2420
  const actualMode = stat5.mode & 511;
2380
2421
  if (actualMode !== KEY_FILE_MODE) {
2422
+ void restrictFilePermissions(keyFile, {
2423
+ label: "secret-vault",
2424
+ warn
2425
+ }).catch(() => void 0);
2381
2426
  warn(
2382
- `Key file ${keyFile} has mode ${actualMode.toString(8)} \u2014 expected ${KEY_FILE_MODE.toString(8)}. Run: chmod ${KEY_FILE_MODE.toString(8)} ${keyFile}`
2427
+ `Key file ${keyFile} has mode ${actualMode.toString(8)} \u2014 expected ${KEY_FILE_MODE.toString(8)}. Hardening\u2026`
2383
2428
  );
2384
2429
  }
2385
2430
  } catch {
@@ -2412,6 +2457,14 @@ var DefaultSecretVault = class {
2412
2457
  logger;
2413
2458
  key;
2414
2459
  _keyVersion = 1;
2460
+ /**
2461
+ * Pending key-file hardening promises (Windows ACL restrictions via icacls).
2462
+ * Tracked so async callers can `flushHardening()` before returning, ensuring
2463
+ * a short-lived CLI process does not exit before the hardening resolves.
2464
+ * Sync-only callers (encrypt/decrypt lazy-load) leave these pending —
2465
+ * hardening remains best-effort in that case.
2466
+ */
2467
+ pendingHardening = [];
2415
2468
  constructor(opts) {
2416
2469
  this.keyFile = opts.keyFile;
2417
2470
  this.logger = opts.logger;
@@ -2428,6 +2481,26 @@ var DefaultSecretVault = class {
2428
2481
  console.warn(JSON.stringify({ ...ctx, message: msg, timestamp: (/* @__PURE__ */ new Date()).toISOString() }));
2429
2482
  }
2430
2483
  }
2484
+ /**
2485
+ * Schedule best-effort key-file hardening and track the promise so async
2486
+ * callers can await it via `flushHardening()` before returning. Rejections
2487
+ * are swallowed here (the helper already warns on failure) so a rejection
2488
+ * can never become an unhandled one.
2489
+ */
2490
+ scheduleKeyHardening() {
2491
+ const p = restrictFilePermissions(this.keyFile, {
2492
+ label: "secret-vault-key",
2493
+ warn: (msg) => this.logWarn(msg)
2494
+ }).catch(() => void 0);
2495
+ this.pendingHardening.push(p);
2496
+ }
2497
+ /** Flush all pending key-file hardening promises. */
2498
+ flushHardening() {
2499
+ if (this.pendingHardening.length === 0) return Promise.resolve();
2500
+ const all = Promise.all(this.pendingHardening).then(() => void 0);
2501
+ this.pendingHardening = [];
2502
+ return all;
2503
+ }
2431
2504
  /** Current key version. Starts at 1; incremented by rotateKey(). */
2432
2505
  get keyVersion() {
2433
2506
  if (!this.key) this.loadOrCreateKey();
@@ -2469,16 +2542,18 @@ var DefaultSecretVault = class {
2469
2542
  const iv = Buffer.from(ivB64, "base64");
2470
2543
  const tag = Buffer.from(tagB64, "base64");
2471
2544
  const ct = Buffer.from(ctB64, "base64");
2472
- if (iv.length !== IV_BYTES) throw new ConfigError({
2473
- message: "SecretVault: bad IV length",
2474
- code: ERROR_CODES.CONFIG_PARSE_FAILED,
2475
- context: { expected: IV_BYTES, actual: iv.length }
2476
- });
2477
- if (tag.length !== TAG_BYTES) throw new ConfigError({
2478
- message: "SecretVault: bad tag length",
2479
- code: ERROR_CODES.CONFIG_PARSE_FAILED,
2480
- context: { expected: TAG_BYTES, actual: tag.length }
2481
- });
2545
+ if (iv.length !== IV_BYTES)
2546
+ throw new ConfigError({
2547
+ message: "SecretVault: bad IV length",
2548
+ code: ERROR_CODES.CONFIG_PARSE_FAILED,
2549
+ context: { expected: IV_BYTES, actual: iv.length }
2550
+ });
2551
+ if (tag.length !== TAG_BYTES)
2552
+ throw new ConfigError({
2553
+ message: "SecretVault: bad tag length",
2554
+ code: ERROR_CODES.CONFIG_PARSE_FAILED,
2555
+ context: { expected: TAG_BYTES, actual: tag.length }
2556
+ });
2482
2557
  const key = this.loadOrCreateKey();
2483
2558
  const decipher = createDecipheriv(ALGO, key, iv);
2484
2559
  decipher.setAuthTag(tag);
@@ -2505,6 +2580,7 @@ var DefaultSecretVault = class {
2505
2580
  newKey.copy(keyFileBuf, KEY_FILE_MAGIC.length + 1);
2506
2581
  writeKeyFileAtomicSync(this.keyFile, keyFileBuf);
2507
2582
  }
2583
+ this.scheduleKeyHardening();
2508
2584
  checkKeyFilePermissions(this.keyFile, { warn: (msg) => this.logWarn(msg) });
2509
2585
  this.key = newKey;
2510
2586
  this._keyVersion = newVersion;
@@ -2521,7 +2597,11 @@ var DefaultSecretVault = class {
2521
2597
  const passphrase = getVaultPassphrase();
2522
2598
  if (!passphrase || !this.key) return;
2523
2599
  try {
2524
- writeKeyFileAtomicSync(this.keyFile, wrapDataKey(this.key, this._keyVersion, passphrase));
2600
+ writeKeyFileAtomicSync(
2601
+ this.keyFile,
2602
+ wrapDataKey(this.key, this._keyVersion, passphrase)
2603
+ );
2604
+ this.scheduleKeyHardening();
2525
2605
  checkKeyFilePermissions(this.keyFile, { warn: (msg) => this.logWarn(msg) });
2526
2606
  } catch {
2527
2607
  }
@@ -2582,8 +2662,10 @@ var DefaultSecretVault = class {
2582
2662
  const initialBytes = passphrase ? wrapDataKey(key, 1, passphrase) : key;
2583
2663
  try {
2584
2664
  fs2.writeFileSync(this.keyFile, initialBytes, { mode: 384, flag: "wx" });
2665
+ this.scheduleKeyHardening();
2585
2666
  } catch (err) {
2586
2667
  if (err.code !== "EEXIST") throw err;
2668
+ this.scheduleKeyHardening();
2587
2669
  const buf = fs2.readFileSync(this.keyFile);
2588
2670
  if (isWrappedKeyFile(buf)) {
2589
2671
  const { key: winnerKey, version } = unwrapDataKey(buf, this.keyFile);
@@ -2642,45 +2724,15 @@ async function migratePlaintextSecrets(configPath, vault, logger) {
2642
2724
  const migrated = walkCount(parsed, vault, counter);
2643
2725
  if (counter.n === 0) return { migrated: 0, file: configPath };
2644
2726
  await atomicWrite(configPath, JSON.stringify(migrated, null, 2), { mode: 384 });
2645
- await restrictFilePermissions(
2727
+ await restrictFilePermissions2(
2646
2728
  configPath,
2647
2729
  logger ? { warn: (msg) => logger.warn(msg) } : void 0
2648
2730
  );
2731
+ await vault.flushHardening?.();
2649
2732
  return { migrated: counter.n, file: configPath };
2650
2733
  }
2651
- async function restrictFilePermissions(filePath, opts) {
2652
- const warn = opts?.warn ?? ((msg) => console.warn(msg));
2653
- if (process.platform === "win32") {
2654
- try {
2655
- const { execFile } = await import("node:child_process");
2656
- const { promisify } = await import("node:util");
2657
- const execFileAsync = promisify(execFile);
2658
- const user = windowsAccountName();
2659
- if (!user) {
2660
- warn(
2661
- `[secret-vault] Could not determine the current Windows user for ${filePath}; skipping icacls hardening.`
2662
- );
2663
- return;
2664
- }
2665
- await execFileAsync("icacls", [filePath, "/inheritance:r", "/grant:r", `${user}:(F)`]);
2666
- } catch {
2667
- warn(
2668
- `[secret-vault] Could not restrict permissions on ${filePath} \u2014 config file may be readable by other users on this system.`
2669
- );
2670
- }
2671
- } else {
2672
- try {
2673
- await fsp2.chmod(filePath, 384);
2674
- } catch {
2675
- }
2676
- }
2677
- }
2678
- function windowsAccountName() {
2679
- const username = process.env.USERNAME || process.env.USER;
2680
- if (!username || username.includes("\0")) return void 0;
2681
- const domain = process.env.USERDOMAIN;
2682
- if (domain && !domain.includes("\0")) return `${domain}\\${username}`;
2683
- return username;
2734
+ async function restrictFilePermissions2(filePath, opts) {
2735
+ await restrictFilePermissions(filePath, { label: "secret-vault", warn: opts?.warn });
2684
2736
  }
2685
2737
  function walkCount(node, vault, counter) {
2686
2738
  if (node === null || node === void 0) return node;
@@ -3041,7 +3093,13 @@ var CONFIG_BEHAVIOR_DEFAULTS = {
3041
3093
  // models still get cost savings without capability loss. Explicit tiers
3042
3094
  // are respected verbatim.
3043
3095
  tokenSavingMode: "auto",
3044
- allowOutsideProjectRoot: true
3096
+ // Derived, never written by hand: this and `tools.restrictToProjectRoot`
3097
+ // (line 41) are the two halves of one switch, and they used to be declared
3098
+ // independently in this same object — one `true`, one `true` — with
3099
+ // session.ts resolving the contradiction via `??` in favour of the
3100
+ // permissive half. The confinement guard therefore shipped disabled on a
3101
+ // fresh install even though the other half asked for it (WS-075).
3102
+ allowOutsideProjectRoot: !DEFAULT_TOOLS_CONFIG.restrictToProjectRoot
3045
3103
  },
3046
3104
  Sage: {
3047
3105
  enabled: true,
@@ -3120,7 +3178,9 @@ var CONFIG_BEHAVIOR_DEFAULTS = {
3120
3178
  enhance: true,
3121
3179
  enhanceDelayMs: 6e4,
3122
3180
  enhanceLanguage: "original",
3123
- statuslineMode: "detailed",
3181
+ // Product-wide statusline density default. Mirrored by the TUI's
3182
+ // DEFAULT_STATUSLINE_MODE (packages/tui/src/components/settings-picker-model.ts).
3183
+ statuslineMode: "minimum",
3124
3184
  thinkingWord: DEFAULT_TUI_THINKING_WORD,
3125
3185
  showAgentSwarmPanel: true
3126
3186
  },
@@ -3249,6 +3309,7 @@ var IN_PROJECT_ALLOWED_KEYS = /* @__PURE__ */ new Set([
3249
3309
  "maxConcurrent",
3250
3310
  "uiLocale",
3251
3311
  "fallbackModels",
3312
+ "fallbackBridge",
3252
3313
  "fallbackProfiles",
3253
3314
  "favoriteModels",
3254
3315
  "favoriteModelsOnly",
@@ -3311,6 +3372,7 @@ var KNOWN_CONFIG_TOP_LEVEL_KEYS = /* @__PURE__ */ new Set([
3311
3372
  "tools",
3312
3373
  "mcpServers",
3313
3374
  "fallbackModels",
3375
+ "fallbackBridge",
3314
3376
  "fallbackProfiles",
3315
3377
  "favoriteModels",
3316
3378
  "favoriteModelsOnly",
@@ -3345,6 +3407,75 @@ var KNOWN_CONFIG_TOP_LEVEL_KEYS = /* @__PURE__ */ new Set([
3345
3407
  "brain",
3346
3408
  "git"
3347
3409
  ]);
3410
+ var IN_PROJECT_DENIED_PATHS = [
3411
+ {
3412
+ path: "tools.exec.allow",
3413
+ reason: "Extends the exec allow-list; a repo could authorise its own binaries."
3414
+ },
3415
+ { path: "tools.exec.danger", reason: "Weakens the destructive-command banner." },
3416
+ { path: "skills.extraDirs", reason: "Loads skill definitions from repo-chosen directories." },
3417
+ { path: "skills.registryUrl", reason: "Redirects skill installs to a repo-chosen host." },
3418
+ // Deliberately NOT denied: skills.mode and skills.eagerMaxChars. The audit
3419
+ // suggested stripping both, but config-loader-extra.test.ts classifies `mode`
3420
+ // as a safe preference with a stated rationale, and a repo can only use these
3421
+ // to move injection volume in either direction — the trust problem was that
3422
+ // repo-supplied skill bodies were indistinguishable from the user's own, which
3423
+ // the provenance tag in system-prompt-skill-bodies.ts now fixes. Re-classifying
3424
+ // them is a product call.
3425
+ { path: "Sage.storage.directory", reason: "Redirects memory storage outside the profile." },
3426
+ {
3427
+ path: "autonomy.yolo",
3428
+ reason: "Alias for the denied top-level `yolo`, and it wins over the user setting \u2014 a repo-committed config could disable every permission prompt."
3429
+ },
3430
+ {
3431
+ path: "autonomy.defaultMode",
3432
+ reason: "Sets the startup autonomy mode; autonomy is user-owned, never repo-owned."
3433
+ },
3434
+ // Deliberately NOT denied: autonomy.autoProceedDelayMs and
3435
+ // autoProceedMaxIterations. They tune a mode the user has already switched on
3436
+ // rather than granting it, and config-loader-extra.test.ts classifies the
3437
+ // delay as a benign project preference. Re-classifying them is a product call.
3438
+ {
3439
+ path: "launch.autonomy",
3440
+ reason: "Launch-time autonomy mode; same user-owned boundary as autonomy.defaultMode."
3441
+ },
3442
+ {
3443
+ path: "features.allowOutsideProjectRoot",
3444
+ reason: "Short-circuits both the project-root containment check and the symlink realpath check in the file tools."
3445
+ },
3446
+ {
3447
+ path: "tools.restrictToProjectRoot",
3448
+ reason: "The other half of the filesystem confinement switch."
3449
+ }
3450
+ ];
3451
+ function deleteNestedPath(target, path11) {
3452
+ const segments = path11.split(".");
3453
+ const last = segments[segments.length - 1];
3454
+ if (last === void 0) return false;
3455
+ let cursor = target;
3456
+ const chain = [];
3457
+ for (const segment of segments.slice(0, -1)) {
3458
+ const next = cursor[segment];
3459
+ if (!next || typeof next !== "object" || Array.isArray(next)) return false;
3460
+ chain.push({ parent: cursor, key: segment });
3461
+ cursor = next;
3462
+ }
3463
+ if (!(last in cursor)) return false;
3464
+ const clonedLeaf = { ...cursor };
3465
+ delete clonedLeaf[last];
3466
+ let replacement = clonedLeaf;
3467
+ for (let i = chain.length - 1; i >= 0; i--) {
3468
+ const link = chain[i];
3469
+ if (!link) continue;
3470
+ replacement = { ...link.parent, [link.key]: replacement };
3471
+ if (i === 0) {
3472
+ for (const [k, v] of Object.entries(replacement)) target[k] = v;
3473
+ return true;
3474
+ }
3475
+ }
3476
+ for (const [k, v] of Object.entries(replacement)) target[k] = v;
3477
+ return true;
3478
+ }
3348
3479
  function assertInProjectAllowListComplete() {
3349
3480
  const missingFromBoth = [];
3350
3481
  for (const key of KNOWN_CONFIG_TOP_LEVEL_KEYS) {
@@ -3374,6 +3505,22 @@ function assertInProjectAllowListComplete() {
3374
3505
  `field(s) appear in BOTH IN_PROJECT_ALLOWED_KEYS and KNOWN_DENIED_IN_PROJECT: ` + duplicate.join(", ") + ". The allow-list wins at runtime; remove from one of the two."
3375
3506
  );
3376
3507
  }
3508
+ const orphanedPaths = IN_PROJECT_DENIED_PATHS.filter(
3509
+ ({ path: path11 }) => !IN_PROJECT_ALLOWED_KEYS.has(path11.split(".")[0] ?? "")
3510
+ ).map(({ path: path11 }) => path11);
3511
+ if (orphanedPaths.length > 0) {
3512
+ problems.push(
3513
+ `IN_PROJECT_DENIED_PATHS entr(ies) whose top-level parent is not allowed: ` + orphanedPaths.join(", ") + ". The parent is already stripped wholesale, so the nested denial is dead \u2014 remove it."
3514
+ );
3515
+ }
3516
+ const malformedPaths = IN_PROJECT_DENIED_PATHS.filter(
3517
+ ({ path: path11 }) => path11.split(".").length < 2 || path11.split(".").some((s) => s.length === 0)
3518
+ ).map(({ path: path11 }) => path11);
3519
+ if (malformedPaths.length > 0) {
3520
+ problems.push(
3521
+ `IN_PROJECT_DENIED_PATHS entr(ies) are not dotted nested paths: ` + malformedPaths.join(", ") + ". Top-level keys belong in KNOWN_DENIED_IN_PROJECT instead."
3522
+ );
3523
+ }
3377
3524
  if (problems.length > 0) {
3378
3525
  throw new Error(
3379
3526
  `stripUnsafeInProjectFields drift check failed:
@@ -3396,58 +3543,8 @@ function stripUnsafeInProjectFields(inProject, sourcePath, warn = (msg) => conso
3396
3543
  }
3397
3544
  stripped.push(k);
3398
3545
  }
3399
- const outTools = out["tools"];
3400
- if (outTools && typeof outTools === "object") {
3401
- const execCfg = outTools["exec"];
3402
- if (execCfg && typeof execCfg === "object") {
3403
- const hasAllow = "allow" in execCfg;
3404
- const hasDanger = "danger" in execCfg;
3405
- if (hasAllow || hasDanger) {
3406
- const clonedExec = { ...execCfg };
3407
- if (hasAllow) {
3408
- delete clonedExec["allow"];
3409
- stripped.push("tools.exec.allow");
3410
- }
3411
- if (hasDanger) {
3412
- delete clonedExec["danger"];
3413
- stripped.push("tools.exec.danger");
3414
- }
3415
- out["tools"] = {
3416
- ...outTools,
3417
- exec: clonedExec
3418
- };
3419
- }
3420
- }
3421
- }
3422
- const outSkills = out["skills"];
3423
- if (outSkills && typeof outSkills === "object") {
3424
- const skillsRec = outSkills;
3425
- const needsClone = "extraDirs" in skillsRec || "registryUrl" in skillsRec;
3426
- if (needsClone) {
3427
- const clonedSkills = { ...skillsRec };
3428
- if ("extraDirs" in clonedSkills) {
3429
- delete clonedSkills["extraDirs"];
3430
- stripped.push("skills.extraDirs");
3431
- }
3432
- if ("registryUrl" in clonedSkills) {
3433
- delete clonedSkills["registryUrl"];
3434
- stripped.push("skills.registryUrl");
3435
- }
3436
- out["skills"] = clonedSkills;
3437
- }
3438
- }
3439
- const outSage = out["Sage"];
3440
- if (outSage && typeof outSage === "object") {
3441
- const storage = outSage["storage"];
3442
- if (storage && typeof storage === "object" && "directory" in storage) {
3443
- const clonedStorage = { ...storage };
3444
- delete clonedStorage["directory"];
3445
- out["Sage"] = {
3446
- ...outSage,
3447
- storage: clonedStorage
3448
- };
3449
- stripped.push("Sage.storage.directory");
3450
- }
3546
+ for (const { path: path11 } of IN_PROJECT_DENIED_PATHS) {
3547
+ if (deleteNestedPath(out, path11)) stripped.push(path11);
3451
3548
  }
3452
3549
  if (stripped.length > 0) {
3453
3550
  warn(
@@ -1,5 +1,6 @@
1
1
  import type { Context } from '../../core/context.js';
2
2
  import type { Usage } from '../../types/provider.js';
3
+ import type { WorkspaceCheckpointRef } from '../../types/session.js';
3
4
  import type { TrackedAgentSnapshot } from '../events.js';
4
5
  export interface SessionEventMap {
5
6
  'session.started': {
@@ -223,6 +224,8 @@ export interface SessionEventMap {
223
224
  promptPreview: string;
224
225
  ts: string;
225
226
  fileCount: number;
227
+ /** Deterministic Git HEAD + dirty workspace identity, absent when capture failed. */
228
+ workspaceCheckpoint?: WorkspaceCheckpointRef | undefined;
226
229
  };
227
230
  /**
228
231
  * Fired by SessionWriter.writeInFlightMarker() — the agent loop has
@@ -1,7 +1,7 @@
1
1
  import type { Context } from '../../core/context.js';
2
+ import type { ToolOutputMetadata } from '../../types/context-evidence.js';
2
3
  import type { PermissionDecision } from '../../types/permission.js';
3
4
  import type { RiskTier, Tool, ToolErrorCategory, ToolProgressEvent } from '../../types/tool.js';
4
- import type { ToolOutputMetadata } from '../../types/context-evidence.js';
5
5
  export interface ToolEventMap {
6
6
  'tool.started': {
7
7
  sessionId?: string | undefined;
@@ -197,6 +197,8 @@ export interface ToolEventMap {
197
197
  name: string;
198
198
  durationMs: number;
199
199
  ok: boolean;
200
+ /** Canonical tool-registry mutation classification; absent only on legacy emit sites. */
201
+ mutating?: boolean | undefined;
200
202
  input?: unknown | undefined;
201
203
  output?: string | undefined;
202
204
  /**
@@ -227,7 +227,7 @@ var DefaultLogger = class _DefaultLogger {
227
227
  root.pendingFileWrites += 1;
228
228
  root.pendingFileBytes += bytes;
229
229
  this.enqueueRotate(this.file);
230
- this._tail = this._tail.then(() => fsp.appendFile(this.file, line)).catch(() => void 0).finally(() => {
230
+ this._tail = this._tail.then(() => fsp.appendFile(this.file, line, { mode: 384 })).catch(() => void 0).finally(() => {
231
231
  root.pendingFileWrites = Math.max(0, root.pendingFileWrites - 1);
232
232
  root.pendingFileBytes = Math.max(0, root.pendingFileBytes - bytes);
233
233
  });
@@ -1,4 +1,4 @@
1
- export { InMemoryMetricsSink, NoopMetricsSink } from './metrics.js';
1
+ export { InMemoryMetricsSink, type InMemoryMetricsSinkOptions, NoopMetricsSink, } from './metrics.js';
2
2
  export { DefaultHealthRegistry } from './health.js';
3
3
  export { NoopTracer } from './tracer.js';
4
4
  export { OTelTracer } from './otel-tracer.js';
@@ -14,7 +14,25 @@ var InMemoryMetricsSink = class {
14
14
  counters = /* @__PURE__ */ new Map();
15
15
  gauges = /* @__PURE__ */ new Map();
16
16
  histograms = /* @__PURE__ */ new Map();
17
+ /**
18
+ * Per-metric dropped observation counts. Keyed by the metric's full name
19
+ * (counter / gauge / histogram families share a name space by convention;
20
+ * families are tracked in the respective `droppedByMetric` Map).
21
+ */
22
+ droppedByMetric = /* @__PURE__ */ new Map();
23
+ maxSeriesPerMetric;
24
+ constructor(opts = {}) {
25
+ const cap = opts.maxSeriesPerMetric;
26
+ this.maxSeriesPerMetric = cap !== void 0 && cap > 0 ? cap : void 0;
27
+ }
17
28
  counter(name, value = 1, labels) {
29
+ if (this.maxSeriesPerMetric !== void 0) {
30
+ const series2 = this.counters.get(name) ?? /* @__PURE__ */ new Map();
31
+ if (!series2.has(labelKey(labels)) && series2.size >= this.maxSeriesPerMetric) {
32
+ this.recordDrop(name);
33
+ return;
34
+ }
35
+ }
18
36
  const series = this.getOrCreate(this.counters, name);
19
37
  const key = labelKey(labels);
20
38
  const state = series.get(key) ?? { value: 0 };
@@ -22,17 +40,36 @@ var InMemoryMetricsSink = class {
22
40
  series.set(key, state);
23
41
  }
24
42
  gauge(name, value, labels) {
43
+ if (this.maxSeriesPerMetric !== void 0) {
44
+ const series2 = this.gauges.get(name) ?? /* @__PURE__ */ new Map();
45
+ if (!series2.has(labelKey(labels)) && series2.size >= this.maxSeriesPerMetric) {
46
+ this.recordDrop(name);
47
+ return;
48
+ }
49
+ }
25
50
  const series = this.getOrCreate(this.gauges, name);
26
51
  series.set(labelKey(labels), { value });
27
52
  }
28
53
  histogram(name, value, labels) {
54
+ if (this.maxSeriesPerMetric !== void 0) {
55
+ const series2 = this.histograms.get(name) ?? /* @__PURE__ */ new Map();
56
+ if (!series2.has(labelKey(labels)) && series2.size >= this.maxSeriesPerMetric) {
57
+ this.recordDrop(name);
58
+ return;
59
+ }
60
+ }
29
61
  const series = this.getOrCreate(this.histograms, name);
30
62
  const key = labelKey(labels);
31
- let state = series.get(key);
32
- if (!state) {
33
- state = { count: 0, sum: 0, min: value, max: value, samples: [] };
34
- series.set(key, state);
63
+ const existing = series.get(key);
64
+ if (!existing) {
65
+ const created = { count: 0, sum: 0, min: value, max: value, samples: [] };
66
+ series.set(key, created);
67
+ this.advanceHistogram(created, value);
68
+ return;
35
69
  }
70
+ this.advanceHistogram(existing, value);
71
+ }
72
+ advanceHistogram(state, value) {
36
73
  state.count++;
37
74
  state.sum += value;
38
75
  if (value < state.min) state.min = value;
@@ -85,12 +122,40 @@ var InMemoryMetricsSink = class {
85
122
  });
86
123
  }
87
124
  }
88
- return { timestamp: Date.now(), series };
125
+ return { timestamp: Date.now(), series, droppedObservations: this.droppedByMetricSnapshot() };
126
+ }
127
+ /**
128
+ * Cumulative drop counts across all metrics. Use to detect cardinality
129
+ * explosions (drift upward) without scraping the full snapshot. Returns 0
130
+ * for a sink created without `maxSeriesPerMetric`.
131
+ */
132
+ droppedObservations() {
133
+ let total = 0;
134
+ for (const n of this.droppedByMetric.values()) total += n;
135
+ return total;
136
+ }
137
+ /**
138
+ * Drop count for a single metric, or 0 if no drops have been recorded.
139
+ * Cheaper than `droppedObservations()` for one-name lookups.
140
+ */
141
+ droppedFor(name) {
142
+ return this.droppedByMetric.get(name) ?? 0;
143
+ }
144
+ /**
145
+ * Snapshot of per-metric drop counts. `undefined` for sinks without a cap
146
+ * (caller can treat the absence as "no drops possible"). For capped sinks
147
+ * an empty object means "cap set, no drops yet".
148
+ */
149
+ droppedByMetricSnapshot() {
150
+ if (this.maxSeriesPerMetric === void 0) return void 0;
151
+ if (this.droppedByMetric.size === 0) return {};
152
+ return Object.fromEntries(this.droppedByMetric);
89
153
  }
90
154
  reset() {
91
155
  this.counters.clear();
92
156
  this.gauges.clear();
93
157
  this.histograms.clear();
158
+ this.droppedByMetric.clear();
94
159
  }
95
160
  getOrCreate(bag, name) {
96
161
  let series = bag.get(name);
@@ -100,6 +165,9 @@ var InMemoryMetricsSink = class {
100
165
  }
101
166
  return series;
102
167
  }
168
+ recordDrop(name) {
169
+ this.droppedByMetric.set(name, (this.droppedByMetric.get(name) ?? 0) + 1);
170
+ }
103
171
  };
104
172
  function parseLabelKey(key) {
105
173
  if (!key) return {};
@@ -120,6 +188,9 @@ var NoopMetricsSink = class {
120
188
  snapshot() {
121
189
  return { timestamp: Date.now(), series: [] };
122
190
  }
191
+ droppedObservations() {
192
+ return 0;
193
+ }
123
194
  reset() {
124
195
  }
125
196
  };
@@ -558,6 +629,7 @@ function hash(value) {
558
629
  }
559
630
 
560
631
  // src/observability/prometheus.ts
632
+ import { timingSafeEqual } from "node:crypto";
561
633
  var NUMBER_FORMAT_INFINITY = "NaN";
562
634
  function escapeLabelValue(v) {
563
635
  return v.replace(/\\/g, "\\\\").replace(/\n/g, "\\n").replace(/"/g, '\\"');
@@ -614,6 +686,19 @@ function renderPrometheus(snapshot) {
614
686
  return lines.join("\n") + "\n";
615
687
  }
616
688
  var PROMETHEUS_CONTENT_TYPE = "text/plain; version=0.0.4; charset=utf-8";
689
+ function isLoopbackBindHost(host) {
690
+ const h = host.trim().toLowerCase().replace(/^\[|\]$/g, "");
691
+ return h === "127.0.0.1" || h === "localhost" || h === "::1" || h.startsWith("127.");
692
+ }
693
+ function bearerMatches(header, token) {
694
+ if (!header) return false;
695
+ const prefix = "bearer ";
696
+ if (!header.toLowerCase().startsWith(prefix)) return false;
697
+ const supplied = Buffer.from(header.slice(prefix.length).trim(), "utf8");
698
+ const expected = Buffer.from(token, "utf8");
699
+ if (supplied.length !== expected.length) return false;
700
+ return timingSafeEqual(supplied, expected);
701
+ }
617
702
  async function startMetricsServer(opts) {
618
703
  const tls = opts.tls;
619
704
  const useHttps = !!(tls?.cert && tls?.key);
@@ -621,12 +706,25 @@ async function startMetricsServer(opts) {
621
706
  const path = opts.path ?? "/metrics";
622
707
  const healthPath = opts.healthPath ?? "/healthz";
623
708
  const healthRegistry = opts.healthRegistry;
709
+ const token = opts.token;
710
+ if (!isLoopbackBindHost(host) && !token) {
711
+ throw new Error(
712
+ `startMetricsServer: refusing to bind to non-loopback host "${host}" without a token \u2014 pass a token to expose metrics to the network, or bind to 127.0.0.1.`
713
+ );
714
+ }
624
715
  const listener = (req, res) => {
625
716
  if (!req.url || req.method !== "GET") {
626
717
  res.statusCode = req.url ? 405 : 400;
627
718
  res.end();
628
719
  return;
629
720
  }
721
+ if (token && !bearerMatches(req.headers.authorization, token)) {
722
+ res.statusCode = 401;
723
+ res.setHeader("www-authenticate", "Bearer");
724
+ res.setHeader("content-type", "text/plain; charset=utf-8");
725
+ res.end("Unauthorized");
726
+ return;
727
+ }
630
728
  const url = req.url.split("?")[0];
631
729
  if (url === path) {
632
730
  let body;