opencode-swarm 7.0.0-beta.1 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1265 -40
  3. package/dist/__tests__/acknowledge-spec-drift.test.d.ts +1 -0
  4. package/dist/__tests__/cli-version.adversarial.test.d.ts +1 -0
  5. package/dist/__tests__/cli-version.test.d.ts +1 -0
  6. package/dist/__tests__/conflict-resolution.test.d.ts +1 -0
  7. package/dist/__tests__/convene-general-council.test.d.ts +10 -0
  8. package/dist/__tests__/critic_drift_verifier-whitelist.test.d.ts +1 -0
  9. package/dist/__tests__/critic_hallucination_verifier-whitelist.test.d.ts +1 -0
  10. package/dist/__tests__/disagreement-detector.test.d.ts +7 -0
  11. package/dist/__tests__/evidence-lock.adversarial.test.d.ts +8 -0
  12. package/dist/__tests__/evidence-lock.test.d.ts +6 -0
  13. package/dist/__tests__/gate-evidence.adversarial.test.d.ts +7 -0
  14. package/dist/__tests__/general-council-service.test.d.ts +7 -0
  15. package/dist/__tests__/lint-spec.test.d.ts +1 -0
  16. package/dist/__tests__/preflight-phase.test.d.ts +1 -0
  17. package/dist/__tests__/qa-gate-hardening.test.d.ts +12 -0
  18. package/dist/__tests__/req-coverage.test.d.ts +1 -0
  19. package/dist/__tests__/security-adversarial.test.d.ts +1 -0
  20. package/dist/__tests__/sounding-board-parser.test.d.ts +1 -0
  21. package/dist/__tests__/spec-hash.test.d.ts +1 -0
  22. package/dist/__tests__/spec-schema.test.d.ts +1 -0
  23. package/dist/__tests__/web-search-provider.test.d.ts +6 -0
  24. package/dist/__tests__/write-drift-evidence-requirement-coverage.test.d.ts +4 -0
  25. package/dist/adversarial-tests.test.d.ts +1 -0
  26. package/dist/agents/architect-permission.adversarial.test.d.ts +5 -0
  27. package/dist/agents/architect.commands-list.adversarial.test.d.ts +1 -0
  28. package/dist/agents/architect.commands-list.test.d.ts +1 -0
  29. package/dist/agents/architect.d.ts +57 -0
  30. package/dist/agents/architect.dark-matter.test.d.ts +1 -0
  31. package/dist/agents/architect.designer-gate.test.d.ts +1 -0
  32. package/dist/agents/coder.d.ts +2 -0
  33. package/dist/agents/council-member.d.ts +30 -0
  34. package/dist/agents/council-member.test.d.ts +8 -0
  35. package/dist/agents/council-moderator.d.ts +20 -0
  36. package/dist/agents/critic.d.ts +34 -0
  37. package/dist/agents/curator-agent.d.ts +14 -0
  38. package/dist/agents/designer.d.ts +2 -0
  39. package/dist/agents/docs.d.ts +2 -0
  40. package/dist/agents/explorer-consumer-contract.test.d.ts +1 -0
  41. package/dist/agents/explorer-role-boundary.test.d.ts +1 -0
  42. package/dist/agents/explorer.d.ts +5 -0
  43. package/dist/agents/index.d.ts +52 -0
  44. package/dist/agents/reviewer.d.ts +5 -0
  45. package/dist/agents/sme.d.ts +2 -0
  46. package/dist/agents/test-engineer.adversarial.test.d.ts +5 -0
  47. package/dist/agents/test-engineer.d.ts +2 -0
  48. package/dist/agents/test-engineer.security.test.d.ts +1 -0
  49. package/dist/background/circuit-breaker.d.ts +149 -0
  50. package/dist/background/event-bus.d.ts +60 -0
  51. package/dist/background/evidence-summary-integration.d.ts +73 -0
  52. package/dist/background/index.d.ts +22 -0
  53. package/dist/background/manager.d.ts +122 -0
  54. package/dist/background/plan-sync-worker.d.ts +122 -0
  55. package/dist/background/queue.d.ts +117 -0
  56. package/dist/background/status-artifact.d.ts +115 -0
  57. package/dist/background/trigger.d.ts +179 -0
  58. package/dist/background/trigger.vulnerability.test.d.ts +1 -0
  59. package/dist/background/worker.d.ts +92 -0
  60. package/dist/cli/index.d.ts +7 -0
  61. package/dist/cli/index.js +31227 -11423
  62. package/dist/commands/acknowledge-spec-drift.d.ts +5 -0
  63. package/dist/commands/brainstorm.d.ts +13 -0
  64. package/dist/commands/brainstorm.test.d.ts +1 -0
  65. package/dist/commands/checkpoint.d.ts +5 -0
  66. package/dist/commands/close.d.ts +11 -0
  67. package/dist/commands/command-adapters.security.test.d.ts +14 -0
  68. package/dist/commands/commands.test.d.ts +1 -0
  69. package/dist/commands/config.d.ts +5 -0
  70. package/dist/commands/council.d.ts +17 -0
  71. package/dist/commands/council.test.d.ts +4 -0
  72. package/dist/commands/curate.test.d.ts +1 -0
  73. package/dist/commands/doctor.d.ts +17 -0
  74. package/dist/commands/full-auto-config-guard.test.d.ts +7 -0
  75. package/dist/commands/full-auto-discoverability.test.d.ts +8 -0
  76. package/dist/commands/full-auto-registration.test.d.ts +5 -0
  77. package/dist/commands/full-auto-sessionid.test.d.ts +5 -0
  78. package/dist/commands/full-auto.d.ts +10 -0
  79. package/dist/commands/full-auto.regression.test.d.ts +10 -0
  80. package/dist/commands/full-auto.test.d.ts +6 -0
  81. package/dist/commands/index.d.ts +50 -0
  82. package/dist/commands/index.help-text.test.d.ts +1 -0
  83. package/dist/commands/issue.d.ts +13 -0
  84. package/dist/{knowledge.d.ts → commands/knowledge.d.ts} +2 -0
  85. package/dist/commands/pr-review.d.ts +11 -0
  86. package/dist/commands/qa-gates.d.ts +15 -0
  87. package/dist/commands/qa-gates.test.d.ts +1 -0
  88. package/dist/commands/registry-documentation.test.d.ts +1 -0
  89. package/dist/commands/registry-type.test.d.ts +1 -0
  90. package/dist/commands/registry.d.ts +282 -0
  91. package/dist/commands/reset-session.d.ts +7 -0
  92. package/dist/commands/shortcut-routing.test.d.ts +11 -0
  93. package/dist/{sync-plan.d.ts → commands/sync-plan.d.ts} +3 -1
  94. package/dist/commands/turbo-registration.test.d.ts +5 -0
  95. package/dist/commands/turbo-sessionid.test.d.ts +5 -0
  96. package/dist/commands/turbo.regression.test.d.ts +11 -0
  97. package/dist/commands/turbo.test.d.ts +5 -0
  98. package/dist/config/agent-categories.d.ts +12 -0
  99. package/dist/config/cache-paths.d.ts +11 -0
  100. package/dist/config/constants.architect-whitelist.test.d.ts +1 -0
  101. package/dist/config/constants.d.ts +72 -0
  102. package/dist/config/evidence-schema.d.ts +1352 -0
  103. package/dist/config/index.d.ts +11 -0
  104. package/dist/{config.d.ts → config/loader.d.ts} +11 -6
  105. package/dist/config/plan-schema.d.ts +191 -0
  106. package/dist/config/schema.d.ts +1078 -0
  107. package/dist/config/spec-schema.d.ts +113 -0
  108. package/dist/context/role-filter.d.ts +27 -0
  109. package/dist/context/zone-classifier.d.ts +17 -0
  110. package/dist/council/__tests__/council-evidence-writer.adversarial.test.d.ts +6 -0
  111. package/dist/council/council-advisory.d.ts +46 -0
  112. package/dist/council/council-evidence-writer.d.ts +18 -0
  113. package/dist/council/council-service.d.ts +21 -0
  114. package/dist/council/criteria-store.d.ts +9 -0
  115. package/dist/council/disagreement-detector.d.ts +24 -0
  116. package/dist/council/general-council-advisory.d.ts +29 -0
  117. package/dist/council/general-council-service.d.ts +22 -0
  118. package/dist/council/general-council-types.d.ts +98 -0
  119. package/dist/council/types.d.ts +126 -0
  120. package/dist/council/web-search-provider.d.ts +35 -0
  121. package/dist/db/global-db.d.ts +22 -0
  122. package/dist/db/global-db.test.d.ts +7 -0
  123. package/dist/db/index.d.ts +13 -0
  124. package/dist/db/project-db.d.ts +40 -0
  125. package/dist/db/project-db.test.d.ts +4 -0
  126. package/dist/db/qa-gate-profile.d.ts +107 -0
  127. package/dist/db/qa-gate-profile.test.d.ts +4 -0
  128. package/dist/diff/__tests__/semantic-classifier.test.d.ts +1 -0
  129. package/dist/diff/__tests__/summary-generator.test.d.ts +1 -0
  130. package/dist/diff/ast-diff.d.ts +21 -0
  131. package/dist/diff/semantic-classifier.d.ts +59 -0
  132. package/dist/diff/summary-generator.d.ts +33 -0
  133. package/dist/environment/index.d.ts +3 -0
  134. package/dist/environment/profile.d.ts +50 -0
  135. package/dist/environment/prompt-renderer.d.ts +6 -0
  136. package/dist/evidence/index.d.ts +2 -0
  137. package/dist/evidence/lock.d.ts +36 -0
  138. package/dist/evidence/manager.d.ts +78 -0
  139. package/dist/gate-evidence.d.ts +69 -0
  140. package/dist/gate-evidence.test.d.ts +1 -0
  141. package/dist/git/branch.d.ts +70 -0
  142. package/dist/git/index.d.ts +22 -0
  143. package/dist/git/pr.d.ts +28 -0
  144. package/dist/graph/graph-builder.d.ts +39 -0
  145. package/dist/graph/graph-query.d.ts +42 -0
  146. package/dist/graph/graph-store.d.ts +27 -0
  147. package/dist/graph/import-extractor.d.ts +44 -0
  148. package/dist/graph/index.d.ts +16 -0
  149. package/dist/graph/symbol-extractor.d.ts +17 -0
  150. package/dist/graph/types.d.ts +84 -0
  151. package/dist/hooks/__tests__/semantic-diff-injection.test.d.ts +1 -0
  152. package/dist/hooks/adversarial-detector.d.ts +50 -0
  153. package/dist/hooks/agent-activity.d.ts +38 -0
  154. package/dist/hooks/co-change-suggester.d.ts +51 -0
  155. package/dist/hooks/compaction-customizer.d.ts +11 -0
  156. package/dist/hooks/conflict-resolution.d.ts +12 -0
  157. package/dist/hooks/context-budget.d.ts +34 -0
  158. package/dist/hooks/context-scoring.d.ts +70 -0
  159. package/dist/hooks/curator-drift-advisory.test.d.ts +1 -0
  160. package/dist/hooks/curator-drift.d.ts +30 -0
  161. package/dist/hooks/curator-llm-factory.d.ts +20 -0
  162. package/dist/hooks/curator-types.d.ts +103 -0
  163. package/dist/hooks/curator.d.ts +108 -0
  164. package/dist/hooks/dark-matter-detector.d.ts +38 -0
  165. package/dist/hooks/delegation-gate.d.ts +78 -0
  166. package/dist/hooks/delegation-gate.evidence.test.d.ts +4 -0
  167. package/dist/hooks/delegation-gate.getEvidenceTaskId.test.d.ts +20 -0
  168. package/dist/hooks/delegation-gate.plan-fallback-security.test.d.ts +13 -0
  169. package/dist/hooks/delegation-gate.plan-fallback.test.d.ts +5 -0
  170. package/dist/hooks/delegation-gate.seed-state.test.d.ts +1 -0
  171. package/dist/hooks/delegation-gate.turbo-evidence.test.d.ts +8 -0
  172. package/dist/hooks/delegation-gate.verify.test.d.ts +11 -0
  173. package/dist/hooks/delegation-ledger.d.ts +37 -0
  174. package/dist/hooks/delegation-ledger.test.d.ts +11 -0
  175. package/dist/hooks/delegation-sanitizer.d.ts +24 -0
  176. package/dist/hooks/delegation-tracker.d.ts +15 -0
  177. package/dist/hooks/diff-scope.d.ts +12 -0
  178. package/dist/hooks/diff-scope.test.d.ts +1 -0
  179. package/dist/hooks/extractors.d.ts +53 -0
  180. package/dist/hooks/full-auto-intercept.d.ts +77 -0
  181. package/dist/hooks/guardrails.d.ts +174 -0
  182. package/dist/hooks/hive-promoter.d.ts +40 -0
  183. package/dist/hooks/incremental-verify.d.ts +34 -0
  184. package/dist/hooks/incremental-verify.test.d.ts +1 -0
  185. package/dist/hooks/index.d.ts +20 -0
  186. package/dist/hooks/knowledge-curator.d.ts +27 -0
  187. package/dist/hooks/knowledge-injector.d.ts +20 -0
  188. package/dist/hooks/knowledge-migrator.d.ts +11 -0
  189. package/dist/hooks/knowledge-reader.d.ts +22 -0
  190. package/dist/hooks/knowledge-store.d.ts +30 -0
  191. package/dist/hooks/knowledge-types.d.ts +131 -0
  192. package/dist/hooks/knowledge-validator.d.ts +29 -0
  193. package/dist/hooks/loop-detector.d.ts +17 -0
  194. package/dist/hooks/loop-detector.test.d.ts +1 -0
  195. package/dist/hooks/message-priority.d.ts +105 -0
  196. package/dist/hooks/messages-transform.d.ts +13 -0
  197. package/dist/hooks/model-limits.d.ts +96 -0
  198. package/dist/hooks/normalize-tool-name.d.ts +25 -0
  199. package/dist/hooks/phase-monitor.d.ts +29 -0
  200. package/dist/hooks/pipeline-tracker.d.ts +41 -0
  201. package/dist/hooks/repo-graph-builder.d.ts +32 -0
  202. package/dist/hooks/repo-graph-injection.d.ts +45 -0
  203. package/dist/hooks/review-receipt.d.ts +189 -0
  204. package/dist/hooks/scope-guard-throw-behavior.test.d.ts +15 -0
  205. package/dist/hooks/scope-guard.adversarial.test.d.ts +1 -0
  206. package/dist/hooks/scope-guard.d.ts +43 -0
  207. package/dist/hooks/scope-guard.test.d.ts +14 -0
  208. package/dist/hooks/self-review.d.ts +14 -0
  209. package/dist/hooks/self-review.test.d.ts +14 -0
  210. package/dist/hooks/semantic-diff-injection.d.ts +24 -0
  211. package/dist/hooks/slop-detector.adversarial.test.d.ts +1 -0
  212. package/dist/hooks/slop-detector.d.ts +17 -0
  213. package/dist/hooks/slop-detector.test.d.ts +1 -0
  214. package/dist/hooks/spawn-helper.d.ts +5 -0
  215. package/dist/hooks/spawn-helper.test.d.ts +1 -0
  216. package/dist/hooks/steering-consumed.d.ts +30 -0
  217. package/dist/hooks/system-enhancer.d.ts +30 -0
  218. package/dist/hooks/tool-summarizer.d.ts +28 -0
  219. package/dist/hooks/trajectory-logger.d.ts +69 -0
  220. package/dist/hooks/utils.d.ts +20 -0
  221. package/dist/hooks/watchdog.integration.test.d.ts +9 -0
  222. package/dist/index.adversarial-bootstrap.test.d.ts +1 -0
  223. package/dist/index.bootstrap-adversarial.test.d.ts +1 -0
  224. package/dist/index.bootstrap-directory.test.d.ts +1 -0
  225. package/dist/index.d.ts +8 -1
  226. package/dist/index.js +74704 -47714
  227. package/dist/knowledge/identity.d.ts +25 -0
  228. package/dist/knowledge/index.d.ts +2 -0
  229. package/dist/lang/detector.d.ts +20 -0
  230. package/dist/lang/framework-detector.d.ts +98 -0
  231. package/dist/lang/grammars/tree-sitter-dart.wasm +0 -0
  232. package/dist/lang/grammars/tree-sitter-kotlin.wasm +0 -0
  233. package/dist/lang/grammars/tree-sitter-swift.wasm +0 -0
  234. package/dist/lang/grammars/tree-sitter.wasm +0 -0
  235. package/dist/lang/index.d.ts +4 -0
  236. package/dist/lang/profiles.d.ts +72 -0
  237. package/dist/lang/registry.d.ts +24 -0
  238. package/dist/lang/runtime.d.ts +35 -0
  239. package/dist/model-fallback.adversarial.test.d.ts +22 -0
  240. package/dist/model-fallback.test.d.ts +12 -0
  241. package/dist/mutation/__tests__/engine.adversarial.test.d.ts +1 -0
  242. package/dist/mutation/__tests__/engine.test.d.ts +1 -0
  243. package/dist/mutation/__tests__/equivalence.adversarial.test.d.ts +1 -0
  244. package/dist/mutation/__tests__/equivalence.test.d.ts +1 -0
  245. package/dist/mutation/__tests__/gate.adversarial.test.d.ts +1 -0
  246. package/dist/mutation/__tests__/gate.test.d.ts +1 -0
  247. package/dist/mutation/__tests__/generator.test.d.ts +1 -0
  248. package/dist/mutation/engine.d.ts +47 -0
  249. package/dist/mutation/equivalence.d.ts +35 -0
  250. package/dist/mutation/gate.d.ts +28 -0
  251. package/dist/mutation/generator.d.ts +16 -0
  252. package/dist/output/agent-writer.d.ts +27 -0
  253. package/dist/output/index.d.ts +1 -0
  254. package/dist/parallel/dependency-graph.d.ts +34 -0
  255. package/dist/parallel/dispatcher/index.d.ts +12 -0
  256. package/dist/parallel/dispatcher/noop-dispatcher.d.ts +18 -0
  257. package/dist/parallel/dispatcher/noop-dispatcher.test.d.ts +10 -0
  258. package/dist/parallel/dispatcher/parallel-dispatcher.d.ts +18 -0
  259. package/dist/parallel/dispatcher/types.d.ts +33 -0
  260. package/dist/parallel/file-locks.d.ts +40 -0
  261. package/dist/parallel/index.d.ts +5 -0
  262. package/dist/parallel/meta-indexer.d.ts +32 -0
  263. package/dist/parallel/review-router.d.ts +29 -0
  264. package/dist/plan/checkpoint.d.ts +25 -0
  265. package/dist/plan/checkpoint.test.d.ts +1 -0
  266. package/dist/plan/index.d.ts +1 -0
  267. package/dist/plan/ledger-integrity.test.d.ts +5 -0
  268. package/dist/plan/ledger-snapshot-adversarial.test.d.ts +1 -0
  269. package/dist/plan/ledger.d.ts +286 -0
  270. package/dist/plan/ledger.test.d.ts +1 -0
  271. package/dist/plan/manager.cas-backoff.test.d.ts +10 -0
  272. package/dist/plan/manager.d.ts +90 -0
  273. package/dist/plan/manager.ledger-aware.test.d.ts +1 -0
  274. package/dist/plan/manager.loadplan-validation-guard.test.d.ts +13 -0
  275. package/dist/plan/manager.update-task-status.test.d.ts +1 -0
  276. package/dist/plan/migration-revert.regression.test.d.ts +8 -0
  277. package/dist/prm/__tests__/course-correction.test.d.ts +1 -0
  278. package/dist/prm/__tests__/escalation-queue-drain.test.d.ts +1 -0
  279. package/dist/prm/__tests__/escalation.test.d.ts +1 -0
  280. package/dist/prm/__tests__/index.test.d.ts +1 -0
  281. package/dist/prm/__tests__/integration.test.d.ts +1 -0
  282. package/dist/prm/__tests__/pattern-detector.test.d.ts +5 -0
  283. package/dist/prm/__tests__/replay.test.d.ts +1 -0
  284. package/dist/prm/__tests__/trajectory-store.test.d.ts +7 -0
  285. package/dist/prm/course-correction.d.ts +20 -0
  286. package/dist/prm/escalation.d.ts +73 -0
  287. package/dist/prm/index.d.ts +58 -0
  288. package/dist/prm/pattern-detector.d.ts +71 -0
  289. package/dist/prm/replay.d.ts +44 -0
  290. package/dist/prm/trajectory-store.d.ts +66 -0
  291. package/dist/prm/types.d.ts +120 -0
  292. package/dist/quality/index.d.ts +1 -0
  293. package/dist/quality/metrics.d.ts +25 -0
  294. package/dist/sast/rules/c.d.ts +9 -0
  295. package/dist/sast/rules/csharp.d.ts +9 -0
  296. package/dist/sast/rules/go.d.ts +9 -0
  297. package/dist/sast/rules/index.d.ts +72 -0
  298. package/dist/sast/rules/java.d.ts +9 -0
  299. package/dist/sast/rules/javascript.d.ts +9 -0
  300. package/dist/sast/rules/php.d.ts +9 -0
  301. package/dist/sast/rules/python.d.ts +9 -0
  302. package/dist/sast/semgrep.d.ts +68 -0
  303. package/dist/sast/semgrep.test.d.ts +1 -0
  304. package/dist/sbom/cyclonedx.d.ts +101 -0
  305. package/dist/sbom/detectors/dart.d.ts +7 -0
  306. package/dist/sbom/detectors/dotnet.d.ts +7 -0
  307. package/dist/sbom/detectors/go.d.ts +7 -0
  308. package/dist/sbom/detectors/index.d.ts +53 -0
  309. package/dist/sbom/detectors/java.d.ts +7 -0
  310. package/dist/sbom/detectors/nodejs.d.ts +7 -0
  311. package/dist/sbom/detectors/python.d.ts +7 -0
  312. package/dist/sbom/detectors/rust.d.ts +7 -0
  313. package/dist/sbom/detectors/swift.d.ts +7 -0
  314. package/dist/scope/scope-persistence.d.ts +109 -0
  315. package/dist/scope/scope-persistence.test.d.ts +13 -0
  316. package/dist/services/compaction-service.d.ts +28 -0
  317. package/dist/services/compaction-service.test.d.ts +1 -0
  318. package/dist/services/config-doctor.d.ts +125 -0
  319. package/dist/services/config-doctor.security.test.d.ts +1 -0
  320. package/dist/services/config-doctor.test.d.ts +1 -0
  321. package/dist/services/context-budget-service.d.ts +101 -0
  322. package/dist/services/decision-drift-analyzer.d.ts +96 -0
  323. package/dist/services/diagnose-service.d.ts +41 -0
  324. package/dist/services/evidence-service.d.ts +65 -0
  325. package/dist/services/evidence-summary-service.d.ts +75 -0
  326. package/dist/services/export-service.d.ts +30 -0
  327. package/dist/services/handoff-service.d.ts +74 -0
  328. package/dist/services/history-service.d.ts +35 -0
  329. package/dist/services/index.d.ts +13 -0
  330. package/dist/services/plan-service.d.ts +25 -0
  331. package/dist/services/preflight-integration.d.ts +38 -0
  332. package/dist/services/preflight-service.d.ts +62 -0
  333. package/dist/services/run-memory.d.ts +66 -0
  334. package/dist/services/status-service.d.ts +35 -0
  335. package/dist/services/status-service.turbo-indicator.test.d.ts +5 -0
  336. package/dist/services/tool-doctor.d.ts +26 -0
  337. package/dist/services/tool-doctor.test.d.ts +1 -0
  338. package/dist/services/version-check.d.ts +28 -0
  339. package/dist/services/warning-buffer.d.ts +9 -0
  340. package/dist/session/snapshot-reader.d.ts +37 -0
  341. package/dist/session/snapshot-writer.d.ts +115 -0
  342. package/dist/skills/index.d.ts +30 -0
  343. package/dist/state/agent-run-context.d.ts +24 -0
  344. package/dist/state.agent-run-context.test.d.ts +10 -0
  345. package/dist/state.d.ts +501 -1
  346. package/dist/state.rehydrate.test.d.ts +1 -0
  347. package/dist/state.rehydration-adversarial.test.d.ts +1 -0
  348. package/dist/state.rehydration-integration.test.d.ts +1 -0
  349. package/dist/state.session-restart.test.d.ts +7 -0
  350. package/dist/summaries/index.d.ts +2 -0
  351. package/dist/summaries/manager.d.ts +29 -0
  352. package/dist/summaries/summarizer.d.ts +38 -0
  353. package/dist/telemetry.d.ts +59 -0
  354. package/dist/telemetry.test.d.ts +1 -0
  355. package/dist/test-impact/__tests__/analyzer-import-fix.adversarial.test.d.ts +1 -0
  356. package/dist/test-impact/__tests__/analyzer-import-fix.test.d.ts +1 -0
  357. package/dist/test-impact/__tests__/analyzer.adversarial.test.d.ts +1 -0
  358. package/dist/test-impact/__tests__/analyzer.test.d.ts +1 -0
  359. package/dist/test-impact/__tests__/council-fixes.test.d.ts +1 -0
  360. package/dist/test-impact/__tests__/failure-classifier.adversarial.test.d.ts +1 -0
  361. package/dist/test-impact/__tests__/failure-classifier.test.d.ts +1 -0
  362. package/dist/test-impact/__tests__/flaky-detector.adversarial.test.d.ts +1 -0
  363. package/dist/test-impact/__tests__/flaky-detector.test.d.ts +1 -0
  364. package/dist/test-impact/__tests__/history-store.adversarial.test.d.ts +1 -0
  365. package/dist/test-impact/__tests__/history-store.test.d.ts +1 -0
  366. package/dist/test-impact/__tests__/test-impact.adversarial.test.d.ts +1 -0
  367. package/dist/test-impact/__tests__/test-impact.test.d.ts +1 -0
  368. package/dist/test-impact/analyzer.d.ts +9 -0
  369. package/dist/test-impact/failure-classifier.d.ts +26 -0
  370. package/dist/test-impact/flaky-detector.d.ts +14 -0
  371. package/dist/test-impact/history-store.d.ts +15 -0
  372. package/dist/tools/__tests__/barrel-exports.test.d.ts +1 -0
  373. package/dist/tools/__tests__/diff-ast-fallback.test.d.ts +1 -0
  374. package/dist/tools/__tests__/diff-markdown-summary.test.d.ts +1 -0
  375. package/dist/tools/__tests__/diff-semantic.test.d.ts +1 -0
  376. package/dist/tools/__tests__/diff-summary.adversarial.test.d.ts +1 -0
  377. package/dist/tools/__tests__/diff-summary.test.d.ts +1 -0
  378. package/dist/tools/__tests__/mutation-test.adversarial.test.d.ts +1 -0
  379. package/dist/tools/__tests__/mutation-test.sourcefiles.test.d.ts +1 -0
  380. package/dist/tools/__tests__/mutation-test.test.d.ts +1 -0
  381. package/dist/tools/__tests__/test-runner-history.test.d.ts +1 -0
  382. package/dist/tools/__tests__/test-runner-impact.adversarial.test.d.ts +1 -0
  383. package/dist/tools/__tests__/test-runner-impact.test.d.ts +1 -0
  384. package/dist/tools/__tests__/test-runner-source-files.test.d.ts +1 -0
  385. package/dist/tools/barrel-export-check-gate-status.test.d.ts +6 -0
  386. package/dist/tools/batch-symbols.d.ts +24 -0
  387. package/dist/tools/batch-symbols.test.d.ts +1 -0
  388. package/dist/tools/build-check.d.ts +50 -0
  389. package/dist/tools/check-gate-status.adversarial.test.d.ts +1 -0
  390. package/dist/tools/check-gate-status.d.ts +7 -0
  391. package/dist/tools/check-gate-status.gates.test.d.ts +1 -0
  392. package/dist/tools/check-gate-status.plugin-registration.test.d.ts +1 -0
  393. package/dist/tools/checkpoint.d.ts +2 -0
  394. package/dist/tools/co-change-analyzer.d.ts +45 -0
  395. package/dist/tools/completion-verify.d.ts +25 -0
  396. package/dist/tools/complexity-hotspots.d.ts +2 -0
  397. package/dist/tools/convene-council.d.ts +53 -0
  398. package/dist/tools/convene-general-council.d.ts +25 -0
  399. package/dist/{create-tool.d.ts → tools/create-tool.d.ts} +13 -1
  400. package/dist/tools/curator-analyze.d.ts +7 -0
  401. package/dist/tools/curator-analyze.test.d.ts +1 -0
  402. package/dist/tools/declare-council-criteria.d.ts +14 -0
  403. package/dist/tools/declare-scope.d.ts +50 -0
  404. package/dist/tools/diff-summary.d.ts +12 -0
  405. package/dist/tools/diff.d.ts +24 -0
  406. package/dist/tools/doc-scan.d.ts +38 -0
  407. package/dist/tools/domain-detector.d.ts +6 -0
  408. package/dist/tools/evidence-check.d.ts +8 -0
  409. package/dist/tools/file-extractor.d.ts +9 -0
  410. package/dist/tools/generate-mutants.d.ts +15 -0
  411. package/dist/tools/get-approved-plan.d.ts +55 -0
  412. package/dist/tools/get-qa-gate-profile.d.ts +27 -0
  413. package/dist/tools/gitingest.d.ts +18 -0
  414. package/dist/tools/imports.d.ts +5 -0
  415. package/dist/tools/index.d.ts +66 -0
  416. package/dist/tools/knowledge-add.d.ts +2 -0
  417. package/dist/tools/knowledge-query.d.ts +5 -0
  418. package/dist/tools/knowledge-recall.d.ts +2 -0
  419. package/dist/tools/knowledge-remove.d.ts +2 -0
  420. package/dist/tools/knowledge-tools.integration.test.d.ts +1 -0
  421. package/dist/tools/lint-spec.d.ts +2 -0
  422. package/dist/tools/lint.d.ts +63 -0
  423. package/dist/tools/mutation-test.d.ts +2 -0
  424. package/dist/tools/mutation-test.security.test.d.ts +1 -0
  425. package/dist/tools/phase-complete.d.ts +25 -0
  426. package/dist/tools/pkg-audit.d.ts +2 -0
  427. package/dist/tools/placeholder-scan.d.ts +28 -0
  428. package/dist/tools/plugin-registration-adversarial.test.d.ts +1 -0
  429. package/dist/tools/pre-check-batch.d.ts +89 -0
  430. package/dist/tools/quality-budget.d.ts +26 -0
  431. package/dist/tools/repo-graph.d.ts +226 -0
  432. package/dist/tools/repo-map.d.ts +2 -0
  433. package/dist/tools/req-coverage.d.ts +47 -0
  434. package/dist/tools/resolve-working-directory.d.ts +35 -0
  435. package/dist/tools/resolve-working-directory.test.d.ts +1 -0
  436. package/dist/tools/retrieve-summary.d.ts +2 -0
  437. package/dist/tools/sast-baseline.d.ts +126 -0
  438. package/dist/tools/sast-scan.d.ts +87 -0
  439. package/dist/tools/save-plan.d.ts +95 -0
  440. package/dist/tools/save-plan.subdirectory-rejection.test.d.ts +1 -0
  441. package/dist/tools/sbom-generate.d.ts +26 -0
  442. package/dist/tools/schema-drift.d.ts +2 -0
  443. package/dist/tools/search.adversarial.test.d.ts +1 -0
  444. package/dist/tools/search.d.ts +29 -0
  445. package/dist/tools/search.test.d.ts +1 -0
  446. package/dist/tools/secretscan.d.ts +35 -0
  447. package/dist/tools/set-qa-gates.d.ts +40 -0
  448. package/dist/tools/suggest-patch.adversarial.test.d.ts +1 -0
  449. package/dist/tools/suggest-patch.d.ts +37 -0
  450. package/dist/tools/suggest-patch.test.d.ts +1 -0
  451. package/dist/tools/symbols.d.ts +21 -0
  452. package/dist/tools/syntax-check.d.ts +37 -0
  453. package/dist/tools/test-impact.d.ts +2 -0
  454. package/dist/tools/test-runner.d.ts +86 -0
  455. package/dist/tools/test-runner.security-adversarial.test.d.ts +5 -0
  456. package/dist/tools/todo-extract.d.ts +2 -0
  457. package/dist/tools/tool-names.d.ts +10 -0
  458. package/dist/tools/update-task-status.adversarial.test.d.ts +13 -0
  459. package/dist/tools/update-task-status.d.ts +114 -0
  460. package/dist/tools/update-task-status.gates.test.d.ts +1 -0
  461. package/dist/tools/update-task-status.test.d.ts +1 -0
  462. package/dist/tools/update-task-status.turbo-bypass.test.d.ts +1 -0
  463. package/dist/tools/verify-six-tools-registration.test.d.ts +9 -0
  464. package/dist/tools/web-search.d.ts +13 -0
  465. package/dist/tools/write-drift-evidence.d.ts +31 -0
  466. package/dist/tools/write-hallucination-evidence.d.ts +30 -0
  467. package/dist/tools/write-mutation-evidence.d.ts +34 -0
  468. package/dist/tools/write-mutation-evidence.test.d.ts +1 -0
  469. package/dist/tools/write-retro.d.ts +55 -0
  470. package/dist/transient-retry.test.d.ts +10 -0
  471. package/dist/types/delegation.d.ts +24 -0
  472. package/dist/types/events.d.ts +125 -0
  473. package/dist/utils/errors.d.ts +33 -0
  474. package/dist/utils/gitignore-warning.d.ts +17 -0
  475. package/dist/utils/index.d.ts +4 -0
  476. package/dist/utils/logger.d.ts +3 -0
  477. package/dist/utils/merge.d.ts +5 -0
  478. package/dist/utils/path-security.d.ts +36 -0
  479. package/dist/utils/regex.d.ts +30 -0
  480. package/dist/utils/spec-hash.d.ts +15 -0
  481. package/dist/utils/tool-output.d.ts +12 -0
  482. package/dist/validation/task-id.d.ts +43 -0
  483. package/package.json +21 -14
  484. package/dist/architect.d.ts +0 -7
  485. package/dist/checkpoint.d.ts +0 -7
  486. package/dist/co-change-analyzer.d.ts +0 -1
  487. package/dist/compat.d.ts +0 -12
  488. package/dist/config-doctor.d.ts +0 -1
  489. package/dist/detector.d.ts +0 -7
  490. package/dist/diagnose-service.d.ts +0 -1
  491. package/dist/doctor.d.ts +0 -5
  492. package/dist/evidence-schema.d.ts +0 -2
  493. package/dist/evidence-service.d.ts +0 -1
  494. package/dist/export-service.d.ts +0 -1
  495. package/dist/handoff-service.d.ts +0 -1
  496. package/dist/history-service.d.ts +0 -1
  497. package/dist/hive-promoter.d.ts +0 -2
  498. package/dist/knowledge-migrator.d.ts +0 -2
  499. package/dist/knowledge-store.d.ts +0 -1
  500. package/dist/knowledge-types.d.ts +0 -1
  501. package/dist/knowledge-validator.d.ts +0 -2
  502. package/dist/loader.d.ts +0 -1
  503. package/dist/manager.d.ts +0 -1
  504. package/dist/models.d.ts +0 -1
  505. package/dist/plan-service.d.ts +0 -1
  506. package/dist/preflight-service.d.ts +0 -1
  507. package/dist/profiles.d.ts +0 -7
  508. package/dist/register.d.ts +0 -36
  509. package/dist/schema.d.ts +0 -2
  510. package/dist/snapshot-writer.d.ts +0 -1
  511. package/dist/status-service.d.ts +0 -15
  512. package/dist/telemetry/src/events.d.ts +0 -308
  513. package/dist/telemetry/src/guards.d.ts +0 -14
  514. package/dist/telemetry/src/index.d.ts +0 -4
  515. package/dist/telemetry/src/version.d.ts +0 -1
  516. package/dist/utils.d.ts +0 -1
  517. package/dist/write-retro.d.ts +0 -1
  518. /package/dist/{discovery.d.ts → build/discovery.d.ts} +0 -0
  519. /package/dist/{agents.d.ts → commands/agents.d.ts} +0 -0
  520. /package/dist/{analyze.d.ts → commands/analyze.d.ts} +0 -0
  521. /package/dist/{archive.d.ts → commands/archive.d.ts} +0 -0
  522. /package/dist/{benchmark.d.ts → commands/benchmark.d.ts} +0 -0
  523. /package/dist/{clarify.d.ts → commands/clarify.d.ts} +0 -0
  524. /package/dist/{curate.d.ts → commands/curate.d.ts} +0 -0
  525. /package/dist/{dark-matter.d.ts → commands/dark-matter.d.ts} +0 -0
  526. /package/dist/{diagnose.d.ts → commands/diagnose.d.ts} +0 -0
  527. /package/dist/{evidence.d.ts → commands/evidence.d.ts} +0 -0
  528. /package/dist/{export.d.ts → commands/export.d.ts} +0 -0
  529. /package/dist/{handoff.d.ts → commands/handoff.d.ts} +0 -0
  530. /package/dist/{history.d.ts → commands/history.d.ts} +0 -0
  531. /package/dist/{plan.d.ts → commands/plan.d.ts} +0 -0
  532. /package/dist/{preflight.d.ts → commands/preflight.d.ts} +0 -0
  533. /package/dist/{promote.d.ts → commands/promote.d.ts} +0 -0
  534. /package/dist/{reset.d.ts → commands/reset.d.ts} +0 -0
  535. /package/dist/{retrieve.d.ts → commands/retrieve.d.ts} +0 -0
  536. /package/dist/{rollback.d.ts → commands/rollback.d.ts} +0 -0
  537. /package/dist/{simulate.d.ts → commands/simulate.d.ts} +0 -0
  538. /package/dist/{specify.d.ts → commands/specify.d.ts} +0 -0
  539. /package/dist/{status.d.ts → commands/status.d.ts} +0 -0
  540. /package/dist/{turbo.d.ts → commands/turbo.d.ts} +0 -0
  541. /package/dist/{write_retro.d.ts → commands/write-retro.d.ts} +0 -0
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Circuit Breaker + Loop Protection Primitives
3
+ *
4
+ * Provides fault tolerance and infinite loop prevention for background automation.
5
+ */
6
+ /** Circuit breaker states */
7
+ export type CircuitBreakerState = 'closed' | 'open' | 'half-open';
8
+ /** Circuit breaker configuration */
9
+ export interface CircuitBreakerConfig {
10
+ /** Number of failures before opening circuit */
11
+ failureThreshold: number;
12
+ /** Time in ms to wait before attempting reset */
13
+ resetTimeoutMs: number;
14
+ /** Number of success calls needed to close from half-open */
15
+ successThreshold: number;
16
+ /** Timeout for individual calls (0 = no timeout) */
17
+ callTimeoutMs: number;
18
+ }
19
+ /** Circuit breaker events */
20
+ export interface CircuitBreakerEvents {
21
+ opened: {
22
+ timestamp: number;
23
+ failureCount: number;
24
+ };
25
+ closed: {
26
+ timestamp: number;
27
+ successCount: number;
28
+ };
29
+ 'half-open': {
30
+ timestamp: number;
31
+ };
32
+ callSuccess: {
33
+ duration: number;
34
+ };
35
+ callFailure: {
36
+ error: unknown;
37
+ duration: number;
38
+ };
39
+ }
40
+ export type CircuitBreakerEventType = keyof CircuitBreakerEvents;
41
+ /**
42
+ * Circuit Breaker Implementation
43
+ *
44
+ * Prevents cascading failures by stopping requests when the circuit is open.
45
+ * States:
46
+ * - closed: Normal operation, requests pass through
47
+ * - open: Circuit is open, requests fail fast
48
+ * - half-open: Testing if service recovered
49
+ */
50
+ export declare class CircuitBreaker {
51
+ private state;
52
+ private failureCount;
53
+ private successCount;
54
+ private lastFailureTime?;
55
+ private readonly config;
56
+ private readonly name;
57
+ private readonly onStateChange?;
58
+ constructor(name: string, config?: Partial<CircuitBreakerConfig>, onStateChange?: (eventType: string, event: unknown) => void);
59
+ /**
60
+ * Get current circuit state
61
+ */
62
+ getState(): CircuitBreakerState;
63
+ /**
64
+ * Execute a function with circuit breaker protection
65
+ */
66
+ execute<T>(fn: () => Promise<T>): Promise<T>;
67
+ /**
68
+ * Execute with timeout
69
+ */
70
+ private executeWithTimeout;
71
+ /**
72
+ * Record a successful call
73
+ */
74
+ private recordSuccess;
75
+ /**
76
+ * Record a failed call
77
+ */
78
+ private recordFailure;
79
+ /**
80
+ * Transition to a new state
81
+ */
82
+ private transitionTo;
83
+ /**
84
+ * Manually reset the circuit breaker
85
+ */
86
+ reset(): void;
87
+ /**
88
+ * Get circuit breaker statistics
89
+ */
90
+ getStats(): {
91
+ state: CircuitBreakerState;
92
+ failureCount: number;
93
+ successCount: number;
94
+ lastFailureTime?: number;
95
+ };
96
+ }
97
+ /**
98
+ * Loop Protection for preventing infinite automation loops
99
+ *
100
+ * Tracks operation history and detects potential infinite loops.
101
+ */
102
+ export interface LoopProtectionConfig {
103
+ /** Maximum times an operation can be attempted */
104
+ maxIterations: number;
105
+ /** Time window in ms to track iterations */
106
+ timeWindowMs: number;
107
+ /** Unique key for the operation being protected */
108
+ operationKey: string;
109
+ }
110
+ /**
111
+ * Loop Protection Implementation
112
+ *
113
+ * Prevents infinite loops by tracking operation frequency.
114
+ */
115
+ export declare class LoopProtection {
116
+ private records;
117
+ private readonly config;
118
+ private readonly onLoopDetected?;
119
+ constructor(config: LoopProtectionConfig, onLoopDetected?: (key: string, count: number) => void);
120
+ /**
121
+ * Record an iteration attempt
122
+ * Returns false if max iterations exceeded
123
+ */
124
+ recordAttempt(key?: string): boolean;
125
+ /**
126
+ * Check if operation is allowed without recording
127
+ */
128
+ canProceed(key?: string): boolean;
129
+ /**
130
+ * Get remaining iterations allowed
131
+ */
132
+ getRemainingIterations(key?: string): number;
133
+ /**
134
+ * Reset tracking for an operation
135
+ */
136
+ reset(key?: string): void;
137
+ /**
138
+ * Reset all tracking
139
+ */
140
+ resetAll(): void;
141
+ /**
142
+ * Get current iteration count
143
+ */
144
+ getIterationCount(key?: string): number;
145
+ /**
146
+ * Get all operation keys being tracked
147
+ */
148
+ getTrackedOperations(): string[];
149
+ }
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Typed Event Bus for Internal Automation Events
3
+ *
4
+ * Provides a type-safe event system for background automation.
5
+ * Events flow through the system without external dependencies.
6
+ */
7
+ /** Automation event types */
8
+ export type AutomationEventType = 'queue.item.enqueued' | 'queue.item.dequeued' | 'queue.item.completed' | 'queue.item.failed' | 'queue.item.retry scheduled' | 'worker.started' | 'worker.stopped' | 'worker.error' | 'circuit.breaker.opened' | 'circuit.breaker.half-open' | 'circuit.breaker.closed' | 'loop.protection.triggered' | 'automation.started' | 'automation.stopped' | 'preflight.requested' | 'preflight.triggered' | 'preflight.skipped' | 'preflight.completed' | 'phase.boundary.detected' | 'phase.status.checked' | 'task.completed' | 'evidence.summary.generated' | 'evidence.summary.error' | 'curator.init.completed' | 'curator.init.llm_completed' | 'curator.init.llm_fallback' | 'curator.phase.completed' | 'curator.phase.llm_completed' | 'curator.phase.llm_fallback' | 'curator.drift.completed' | 'curator.error';
9
+ /** Base automation event */
10
+ export interface AutomationEvent<T = unknown> {
11
+ type: AutomationEventType;
12
+ timestamp: number;
13
+ payload: T;
14
+ source?: string;
15
+ }
16
+ /** Event listener type */
17
+ export type EventListener<T = unknown> = (event: AutomationEvent<T>) => void | Promise<void>;
18
+ /**
19
+ * Type-safe event bus for automation events
20
+ */
21
+ export declare class AutomationEventBus {
22
+ private listeners;
23
+ private eventHistory;
24
+ private readonly maxHistorySize;
25
+ constructor(options?: {
26
+ maxHistorySize?: number;
27
+ });
28
+ /**
29
+ * Subscribe to an event type
30
+ */
31
+ subscribe<T>(type: AutomationEventType, listener: EventListener<T>): () => void;
32
+ /**
33
+ * Publish an event to all subscribers
34
+ */
35
+ publish<T>(type: AutomationEventType, payload: T, source?: string): Promise<void>;
36
+ /**
37
+ * Get recent event history
38
+ */
39
+ getHistory(types?: AutomationEventType[]): AutomationEvent[];
40
+ /**
41
+ * Clear event history
42
+ */
43
+ clearHistory(): void;
44
+ /**
45
+ * Get listener count for an event type
46
+ */
47
+ getListenerCount(type: AutomationEventType): number;
48
+ /**
49
+ * Check if any listeners exist for a type
50
+ */
51
+ hasListeners(type: AutomationEventType): boolean;
52
+ }
53
+ /**
54
+ * Get or create the global event bus instance
55
+ */
56
+ export declare function getGlobalEventBus(): AutomationEventBus;
57
+ /**
58
+ * Reset the global event bus (for testing)
59
+ */
60
+ export declare function resetGlobalEventBus(): void;
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Evidence Summary Background Integration
3
+ *
4
+ * Wires the evidence summary service to background automation:
5
+ * - Subscribes to preflight and phase boundary events
6
+ * - Generates evidence summaries automatically
7
+ * - Persists artifacts under .swarm/ for GUI consumption
8
+ * - Respects feature flags (evidence_auto_summaries) with default-off safety
9
+ */
10
+ import type { AutomationConfig } from '../config/schema';
11
+ import { type EvidenceSummaryArtifact } from '../services/evidence-summary-service';
12
+ /** Evidence summary integration configuration */
13
+ export interface EvidenceSummaryIntegrationConfig {
14
+ /** Automation configuration for feature flag gating */
15
+ automationConfig: AutomationConfig;
16
+ /** Directory to run evidence analysis in */
17
+ directory: string;
18
+ /** Project root directory for persisting summary artifacts under .swarm/ */
19
+ projectDir: string;
20
+ /** Filename for the summary artifact (default: evidence-summary.json) */
21
+ summaryFilename?: string;
22
+ }
23
+ /** Event types that can trigger evidence summary generation */
24
+ export type EvidenceSummaryTriggerEvent = 'preflight.completed' | 'phase.boundary.detected' | 'phase.status.checked' | 'task.completed';
25
+ /** Payload for evidence summary trigger events */
26
+ export interface EvidenceSummaryTriggerPayload {
27
+ trigger: EvidenceSummaryTriggerEvent;
28
+ phase: number;
29
+ reason: string;
30
+ metadata?: Record<string, unknown>;
31
+ }
32
+ /**
33
+ * Evidence Summary Integration
34
+ *
35
+ * Automatically generates and persists evidence summaries on relevant events.
36
+ */
37
+ export declare class EvidenceSummaryIntegration {
38
+ private readonly config;
39
+ private readonly eventBus;
40
+ private unsubscribes;
41
+ constructor(config: EvidenceSummaryIntegrationConfig);
42
+ /**
43
+ * Check if auto-summaries are enabled
44
+ */
45
+ isEnabled(): boolean;
46
+ /**
47
+ * Initialize the integration by subscribing to trigger events
48
+ * Only subscribes if enabled via feature flags
49
+ */
50
+ initialize(): void;
51
+ /**
52
+ * Subscribe to an event type
53
+ */
54
+ private subscribeToEvent;
55
+ /**
56
+ * Generate and persist evidence summary
57
+ */
58
+ generateSummary(phase: number, trigger: EvidenceSummaryTriggerEvent): Promise<EvidenceSummaryArtifact | null>;
59
+ /**
60
+ * Manually trigger summary generation (for CLI or testing)
61
+ */
62
+ triggerManual(phase?: number): Promise<EvidenceSummaryArtifact | null>;
63
+ /**
64
+ * Cleanup subscriptions
65
+ */
66
+ cleanup(): void;
67
+ }
68
+ /**
69
+ * Create evidence summary integration
70
+ *
71
+ * Factory function that creates and optionally initializes the integration.
72
+ */
73
+ export declare function createEvidenceSummaryIntegration(config: EvidenceSummaryIntegrationConfig, autoInitialize?: boolean): EvidenceSummaryIntegration;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Background Automation Framework
3
+ *
4
+ * Provides infrastructure for v6.7 background-first automation:
5
+ * - Typed event bus for internal automation events
6
+ * - Lightweight in-process queue with priorities and retry metadata
7
+ * - Worker lifecycle manager (start/stop/register handlers)
8
+ * - Circuit breaker + loop protection primitives
9
+ * - Phase-boundary trigger detection and preflight request plumbing
10
+ * - Passive status artifact writer for GUI visibility
11
+ *
12
+ * Gated behind Task 5.2 automation feature flags and default-off behavior.
13
+ */
14
+ export { CircuitBreaker, type CircuitBreakerConfig, type CircuitBreakerState, LoopProtection, } from './circuit-breaker';
15
+ export { type AutomationEvent, AutomationEventBus, type AutomationEventType, } from './event-bus';
16
+ export { createEvidenceSummaryIntegration, type EvidenceSummaryIntegrationConfig, type EvidenceSummaryTriggerEvent, type EvidenceSummaryTriggerPayload, } from './evidence-summary-integration';
17
+ export { type AutomationFrameworkConfig, BackgroundAutomationManager, createAutomationManager, } from './manager';
18
+ export { PlanSyncWorker, type PlanSyncWorkerOptions, type PlanSyncWorkerStatus, } from './plan-sync-worker';
19
+ export { AutomationQueue, type QueueItem, type QueuePriority, type RetryMetadata, } from './queue';
20
+ export { AutomationStatusArtifact, type AutomationStatusSnapshot, } from './status-artifact';
21
+ export { type PhaseBoundaryResult, PhaseBoundaryTrigger, type PreflightHandler, type PreflightRequest, type PreflightRequestPayload, type PreflightTriggerConfig, type PreflightTriggerEventType, PreflightTriggerManager, } from './trigger';
22
+ export { type WorkerHandler, WorkerManager, type WorkerRegistration, } from './worker';
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Background Automation Manager
3
+ *
4
+ * Main entry point for the background automation framework.
5
+ * Handles feature flag gating and orchestrates all components.
6
+ */
7
+ import type { AutomationConfig } from '../config/schema';
8
+ import { CircuitBreaker, type CircuitBreakerConfig, LoopProtection, type LoopProtectionConfig } from './circuit-breaker';
9
+ import { type AutomationEvent, type AutomationEventType } from './event-bus';
10
+ import { AutomationQueue } from './queue';
11
+ import { WorkerManager, type WorkerRegistration } from './worker';
12
+ /** Framework configuration */
13
+ export interface AutomationFrameworkConfig {
14
+ /** Enable/disable the entire framework */
15
+ enabled: boolean;
16
+ /** Max queue size */
17
+ maxQueueSize?: number;
18
+ /** Max retries for failed items */
19
+ maxRetries?: number;
20
+ /** Circuit breaker config */
21
+ circuitBreaker?: Partial<CircuitBreakerConfig>;
22
+ /** Loop protection config */
23
+ loopProtection?: Partial<LoopProtectionConfig>;
24
+ }
25
+ /**
26
+ * Background Automation Manager
27
+ *
28
+ * Provides a unified interface for background automation with feature flag gating.
29
+ * All components are optional and only activated when enabled.
30
+ */
31
+ export declare class BackgroundAutomationManager {
32
+ private readonly config;
33
+ private readonly eventBus;
34
+ private readonly workerManager;
35
+ private readonly queues;
36
+ private readonly circuitBreakers;
37
+ private readonly loopProtections;
38
+ private isInitialized;
39
+ private isRunning;
40
+ constructor(config: AutomationFrameworkConfig);
41
+ /**
42
+ * Initialize the automation framework
43
+ * Only performs work if enabled
44
+ */
45
+ initialize(): void;
46
+ /**
47
+ * Start the automation framework
48
+ */
49
+ start(): void;
50
+ /**
51
+ * Stop the automation framework
52
+ */
53
+ stop(): void;
54
+ /**
55
+ * Check if framework is enabled
56
+ */
57
+ isEnabled(): boolean;
58
+ /**
59
+ * Check if framework is running
60
+ */
61
+ isActive(): boolean;
62
+ /**
63
+ * Create or get a named queue
64
+ */
65
+ getOrCreateQueue<T>(name: string): AutomationQueue<T>;
66
+ /**
67
+ * Register a worker with the framework
68
+ */
69
+ registerWorker(registration: WorkerRegistration): void;
70
+ /**
71
+ * Start a specific worker
72
+ */
73
+ startWorker(name: string): boolean;
74
+ /**
75
+ * Stop a specific worker
76
+ */
77
+ stopWorker(name: string): boolean;
78
+ /**
79
+ * Get or create a circuit breaker
80
+ */
81
+ getOrCreateCircuitBreaker(name: string): CircuitBreaker;
82
+ /**
83
+ * Get or create loop protection
84
+ */
85
+ getOrCreateLoopProtection(operationKey: string): LoopProtection;
86
+ /**
87
+ * Subscribe to automation events
88
+ */
89
+ subscribe<T>(type: AutomationEventType, listener: (event: AutomationEvent<T>) => void | Promise<void>): () => void;
90
+ /**
91
+ * Publish an event to the automation event bus
92
+ */
93
+ publish<T>(type: AutomationEventType, payload: T, source?: string): Promise<void>;
94
+ /**
95
+ * Get framework statistics
96
+ */
97
+ getStats(): {
98
+ enabled: boolean;
99
+ initialized: boolean;
100
+ running: boolean;
101
+ queues: Record<string, ReturnType<AutomationQueue['getStats']>>;
102
+ workers: Record<string, ReturnType<WorkerManager['getStats']>>;
103
+ circuitBreakers: Record<string, ReturnType<CircuitBreaker['getStats']>>;
104
+ loopProtections: string[];
105
+ };
106
+ /**
107
+ * Reset the framework (for testing)
108
+ */
109
+ reset(): void;
110
+ }
111
+ /**
112
+ * Get or create the global automation manager
113
+ */
114
+ export declare function getAutomationManager(config?: AutomationFrameworkConfig): BackgroundAutomationManager;
115
+ /**
116
+ * Initialize automation manager from plugin config
117
+ */
118
+ export declare function createAutomationManager(automationConfig: AutomationConfig | undefined): BackgroundAutomationManager;
119
+ /**
120
+ * Reset the global manager (for testing)
121
+ */
122
+ export declare function resetAutomationManager(): void;
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Plan Sync Worker
3
+ *
4
+ * Watches .swarm/plan.json for changes and syncs plan.md accordingly.
5
+ * Uses fs.watch with polling fallback for cross-platform reliability.
6
+ */
7
+ /** Configuration options for PlanSyncWorker */
8
+ export interface PlanSyncWorkerOptions {
9
+ /** Directory containing .swarm folder (defaults to cwd) */
10
+ directory?: string;
11
+ /** Debounce delay in ms (default: 500ms) */
12
+ debounceMs?: number;
13
+ /** Polling interval in ms when fs.watch fails (default: 2000ms) */
14
+ pollIntervalMs?: number;
15
+ /** Sync operation timeout in ms (default: 30000ms) - prevents runaway hangs */
16
+ syncTimeoutMs?: number;
17
+ /** Called on sync completion (success or failure) */
18
+ onSyncComplete?: (success: boolean, error?: Error) => void;
19
+ }
20
+ /** Worker status */
21
+ export type PlanSyncWorkerStatus = 'stopped' | 'starting' | 'running' | 'stopping';
22
+ /**
23
+ * Plan Sync Worker
24
+ *
25
+ * Standalone class that watches plan.json and triggers plan.md regeneration.
26
+ * Handles cross-platform fs.watch reliability issues with polling fallback.
27
+ */
28
+ export declare class PlanSyncWorker {
29
+ private readonly directory;
30
+ private readonly debounceMs;
31
+ private readonly pollIntervalMs;
32
+ private readonly syncTimeoutMs;
33
+ private readonly onSyncComplete?;
34
+ private status;
35
+ private watcher;
36
+ private pollTimer;
37
+ private debounceTimer;
38
+ /** In-flight sync lock */
39
+ private syncing;
40
+ /** Pending sync requested while in-flight */
41
+ private pendingSync;
42
+ /** Last known plan.json stat to detect changes */
43
+ private lastStat;
44
+ /** Track if we've been disposed */
45
+ private disposed;
46
+ constructor(options?: PlanSyncWorkerOptions);
47
+ /**
48
+ * Get the swarm directory path
49
+ */
50
+ private getSwarmDir;
51
+ /**
52
+ * Get the plan.json file path
53
+ */
54
+ private getPlanJsonPath;
55
+ /**
56
+ * Start watching for plan.json changes
57
+ */
58
+ start(): void;
59
+ /**
60
+ * Stop watching and clean up resources
61
+ */
62
+ stop(): void;
63
+ /**
64
+ * Dispose of the worker - stop and prevent further use
65
+ */
66
+ dispose(): void;
67
+ /**
68
+ * Get current status
69
+ */
70
+ getStatus(): PlanSyncWorkerStatus;
71
+ /**
72
+ * Check if worker is running
73
+ */
74
+ isRunning(): boolean;
75
+ /**
76
+ * Initialize the stat tracking for change detection
77
+ */
78
+ private initializeStat;
79
+ /**
80
+ * Set up native fs.watch on the swarm directory
81
+ * Returns true if successful, false if unavailable
82
+ */
83
+ private setupNativeWatcher;
84
+ /**
85
+ * Set up polling fallback
86
+ */
87
+ private setupPolling;
88
+ /**
89
+ * Check for changes via polling
90
+ */
91
+ private pollCheck;
92
+ /**
93
+ * Debounced sync - prevents rapid successive syncs
94
+ */
95
+ private debouncedSync;
96
+ /**
97
+ * Clear debounce timer
98
+ */
99
+ private clearDebounce;
100
+ /**
101
+ * Trigger a sync operation with overlap protection
102
+ */
103
+ private triggerSync;
104
+ /**
105
+ * Execute the sync operation with timeout protection
106
+ */
107
+ private executeSync;
108
+ /**
109
+ * Safely invoke onSyncComplete callback, catching any exceptions
110
+ * to prevent callback errors from affecting worker stability
111
+ */
112
+ private safeCallback;
113
+ /**
114
+ * Advisory: check for unauthorized writes to plan.json outside of save_plan/savePlan
115
+ * Logs a warning if plan.json appears to have been modified after the write marker
116
+ */
117
+ private checkForUnauthorizedWrite;
118
+ /**
119
+ * Wrap a promise with a timeout
120
+ */
121
+ private withTimeout;
122
+ }
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Lightweight In-Process Queue with Priorities and Retry Metadata
3
+ *
4
+ * Provides a simple but powerful queue abstraction for background automation.
5
+ * Supports priorities, retry logic, and in-memory persistence only.
6
+ * NOTE: This queue does NOT persist across restarts — all items are lost when the process exits.
7
+ */
8
+ /** Queue priority levels */
9
+ export type QueuePriority = 'critical' | 'high' | 'normal' | 'low';
10
+ /** Retry metadata for failed items */
11
+ export interface RetryMetadata {
12
+ attempts: number;
13
+ maxAttempts: number;
14
+ lastAttempt?: number;
15
+ nextAttemptAt?: number;
16
+ backoffMs: number;
17
+ maxBackoffMs: number;
18
+ }
19
+ /** Queue item structure */
20
+ export interface QueueItem<T = unknown> {
21
+ id: string;
22
+ priority: QueuePriority;
23
+ payload: T;
24
+ createdAt: number;
25
+ metadata?: Record<string, unknown>;
26
+ retry?: RetryMetadata;
27
+ }
28
+ /** Queue configuration */
29
+ export interface QueueConfig {
30
+ priorityLevels?: QueuePriority[];
31
+ maxSize?: number;
32
+ defaultMaxRetries?: number;
33
+ defaultBackoffMs?: number;
34
+ maxBackoffMs?: number;
35
+ }
36
+ /**
37
+ * In-process queue with priority support and retry metadata
38
+ */
39
+ export declare class AutomationQueue<T = unknown> {
40
+ private items;
41
+ private readonly maxSize;
42
+ private readonly defaultMaxRetries;
43
+ private readonly defaultBackoffMs;
44
+ private readonly maxBackoffMs;
45
+ private readonly eventBus;
46
+ private itemCounter;
47
+ constructor(config?: QueueConfig);
48
+ /**
49
+ * Generate unique item ID
50
+ */
51
+ private generateId;
52
+ /**
53
+ * Enqueue an item with priority
54
+ */
55
+ enqueue(payload: T, priority?: QueuePriority, metadata?: Record<string, unknown>): string;
56
+ /**
57
+ * Dequeue the highest priority item
58
+ */
59
+ dequeue(): QueueItem<T> | undefined;
60
+ /**
61
+ * Peek at the highest priority item without removing
62
+ */
63
+ peek(): QueueItem<T> | undefined;
64
+ /**
65
+ * Get item by ID
66
+ */
67
+ get(id: string): QueueItem<T> | undefined;
68
+ /**
69
+ * Remove specific item by ID
70
+ */
71
+ remove(id: string): boolean;
72
+ /**
73
+ * Mark item as completed and remove from queue
74
+ */
75
+ complete(id: string): boolean;
76
+ /**
77
+ * Mark item as failed and schedule retry if possible
78
+ */
79
+ retry(id: string, _error?: unknown): boolean;
80
+ /**
81
+ * Get items due for retry
82
+ */
83
+ getRetryableItems(): QueueItem<T>[];
84
+ /**
85
+ * Get current queue size
86
+ */
87
+ size(): number;
88
+ /**
89
+ * Check if queue is empty
90
+ */
91
+ isEmpty(): boolean;
92
+ /**
93
+ * Check if queue is full
94
+ */
95
+ isFull(): boolean;
96
+ /**
97
+ * Clear all items from queue
98
+ */
99
+ clear(): void;
100
+ /**
101
+ * Get all items (for debugging/inspection)
102
+ */
103
+ getAll(): QueueItem<T>[];
104
+ /**
105
+ * Get items by priority
106
+ */
107
+ getByPriority(priority: QueuePriority): QueueItem<T>[];
108
+ /**
109
+ * Get queue statistics
110
+ */
111
+ getStats(): {
112
+ size: number;
113
+ maxSize: number;
114
+ byPriority: Record<QueuePriority, number>;
115
+ retryable: number;
116
+ };
117
+ }