@stoneforge/smithy 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (497) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +114 -0
  3. package/dist/api/index.d.ts +7 -0
  4. package/dist/api/index.d.ts.map +1 -0
  5. package/dist/api/index.js +7 -0
  6. package/dist/api/index.js.map +1 -0
  7. package/dist/api/orchestrator-api.d.ts +153 -0
  8. package/dist/api/orchestrator-api.d.ts.map +1 -0
  9. package/dist/api/orchestrator-api.js +374 -0
  10. package/dist/api/orchestrator-api.js.map +1 -0
  11. package/dist/bin/sf.d.ts +3 -0
  12. package/dist/bin/sf.d.ts.map +1 -0
  13. package/dist/bin/sf.js +10 -0
  14. package/dist/bin/sf.js.map +1 -0
  15. package/dist/cli/commands/agent.d.ts +20 -0
  16. package/dist/cli/commands/agent.d.ts.map +1 -0
  17. package/dist/cli/commands/agent.js +861 -0
  18. package/dist/cli/commands/agent.js.map +1 -0
  19. package/dist/cli/commands/daemon.d.ts +14 -0
  20. package/dist/cli/commands/daemon.d.ts.map +1 -0
  21. package/dist/cli/commands/daemon.js +272 -0
  22. package/dist/cli/commands/daemon.js.map +1 -0
  23. package/dist/cli/commands/dispatch.d.ts +9 -0
  24. package/dist/cli/commands/dispatch.d.ts.map +1 -0
  25. package/dist/cli/commands/dispatch.js +128 -0
  26. package/dist/cli/commands/dispatch.js.map +1 -0
  27. package/dist/cli/commands/merge.d.ts +11 -0
  28. package/dist/cli/commands/merge.d.ts.map +1 -0
  29. package/dist/cli/commands/merge.js +246 -0
  30. package/dist/cli/commands/merge.js.map +1 -0
  31. package/dist/cli/commands/pool.d.ts +21 -0
  32. package/dist/cli/commands/pool.d.ts.map +1 -0
  33. package/dist/cli/commands/pool.js +762 -0
  34. package/dist/cli/commands/pool.js.map +1 -0
  35. package/dist/cli/commands/serve.d.ts +54 -0
  36. package/dist/cli/commands/serve.d.ts.map +1 -0
  37. package/dist/cli/commands/serve.js +57 -0
  38. package/dist/cli/commands/serve.js.map +1 -0
  39. package/dist/cli/commands/task.d.ts +36 -0
  40. package/dist/cli/commands/task.d.ts.map +1 -0
  41. package/dist/cli/commands/task.js +889 -0
  42. package/dist/cli/commands/task.js.map +1 -0
  43. package/dist/cli/commands/test-orchestration.d.ts +32 -0
  44. package/dist/cli/commands/test-orchestration.d.ts.map +1 -0
  45. package/dist/cli/commands/test-orchestration.js +392 -0
  46. package/dist/cli/commands/test-orchestration.js.map +1 -0
  47. package/dist/cli/index.d.ts +13 -0
  48. package/dist/cli/index.d.ts.map +1 -0
  49. package/dist/cli/index.js +15 -0
  50. package/dist/cli/index.js.map +1 -0
  51. package/dist/cli/plugin.d.ts +23 -0
  52. package/dist/cli/plugin.d.ts.map +1 -0
  53. package/dist/cli/plugin.js +36 -0
  54. package/dist/cli/plugin.js.map +1 -0
  55. package/dist/git/index.d.ts +10 -0
  56. package/dist/git/index.d.ts.map +1 -0
  57. package/dist/git/index.js +12 -0
  58. package/dist/git/index.js.map +1 -0
  59. package/dist/git/merge.d.ts +79 -0
  60. package/dist/git/merge.d.ts.map +1 -0
  61. package/dist/git/merge.js +254 -0
  62. package/dist/git/merge.js.map +1 -0
  63. package/dist/git/worktree-manager.d.ts +299 -0
  64. package/dist/git/worktree-manager.d.ts.map +1 -0
  65. package/dist/git/worktree-manager.js +744 -0
  66. package/dist/git/worktree-manager.js.map +1 -0
  67. package/dist/index.d.ts +24 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +31 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/prompts/director.md +272 -0
  72. package/dist/prompts/index.d.ts +100 -0
  73. package/dist/prompts/index.d.ts.map +1 -0
  74. package/dist/prompts/index.js +294 -0
  75. package/dist/prompts/index.js.map +1 -0
  76. package/dist/prompts/message-triage.md +50 -0
  77. package/dist/prompts/persistent-worker.md +240 -0
  78. package/dist/prompts/steward-base.md +64 -0
  79. package/dist/prompts/steward-docs.md +118 -0
  80. package/dist/prompts/steward-health.md +39 -0
  81. package/dist/prompts/steward-merge.md +168 -0
  82. package/dist/prompts/steward-ops.md +28 -0
  83. package/dist/prompts/steward-reminder.md +26 -0
  84. package/dist/prompts/worker.md +282 -0
  85. package/dist/providers/claude/headless.d.ts +18 -0
  86. package/dist/providers/claude/headless.d.ts.map +1 -0
  87. package/dist/providers/claude/headless.js +307 -0
  88. package/dist/providers/claude/headless.js.map +1 -0
  89. package/dist/providers/claude/index.d.ts +24 -0
  90. package/dist/providers/claude/index.d.ts.map +1 -0
  91. package/dist/providers/claude/index.js +80 -0
  92. package/dist/providers/claude/index.js.map +1 -0
  93. package/dist/providers/claude/interactive.d.ts +21 -0
  94. package/dist/providers/claude/interactive.d.ts.map +1 -0
  95. package/dist/providers/claude/interactive.js +142 -0
  96. package/dist/providers/claude/interactive.js.map +1 -0
  97. package/dist/providers/codex/event-mapper.d.ts +91 -0
  98. package/dist/providers/codex/event-mapper.d.ts.map +1 -0
  99. package/dist/providers/codex/event-mapper.js +299 -0
  100. package/dist/providers/codex/event-mapper.js.map +1 -0
  101. package/dist/providers/codex/headless.d.ts +20 -0
  102. package/dist/providers/codex/headless.d.ts.map +1 -0
  103. package/dist/providers/codex/headless.js +174 -0
  104. package/dist/providers/codex/headless.js.map +1 -0
  105. package/dist/providers/codex/index.d.ts +30 -0
  106. package/dist/providers/codex/index.d.ts.map +1 -0
  107. package/dist/providers/codex/index.js +55 -0
  108. package/dist/providers/codex/index.js.map +1 -0
  109. package/dist/providers/codex/interactive.d.ts +21 -0
  110. package/dist/providers/codex/interactive.d.ts.map +1 -0
  111. package/dist/providers/codex/interactive.js +141 -0
  112. package/dist/providers/codex/interactive.js.map +1 -0
  113. package/dist/providers/codex/jsonrpc-client.d.ts +52 -0
  114. package/dist/providers/codex/jsonrpc-client.d.ts.map +1 -0
  115. package/dist/providers/codex/jsonrpc-client.js +141 -0
  116. package/dist/providers/codex/jsonrpc-client.js.map +1 -0
  117. package/dist/providers/codex/server-manager.d.ts +100 -0
  118. package/dist/providers/codex/server-manager.d.ts.map +1 -0
  119. package/dist/providers/codex/server-manager.js +153 -0
  120. package/dist/providers/codex/server-manager.js.map +1 -0
  121. package/dist/providers/index.d.ts +15 -0
  122. package/dist/providers/index.d.ts.map +1 -0
  123. package/dist/providers/index.js +19 -0
  124. package/dist/providers/index.js.map +1 -0
  125. package/dist/providers/opencode/async-queue.d.ts +21 -0
  126. package/dist/providers/opencode/async-queue.d.ts.map +1 -0
  127. package/dist/providers/opencode/async-queue.js +51 -0
  128. package/dist/providers/opencode/async-queue.js.map +1 -0
  129. package/dist/providers/opencode/event-mapper.d.ts +132 -0
  130. package/dist/providers/opencode/event-mapper.d.ts.map +1 -0
  131. package/dist/providers/opencode/event-mapper.js +204 -0
  132. package/dist/providers/opencode/event-mapper.js.map +1 -0
  133. package/dist/providers/opencode/headless.d.ts +25 -0
  134. package/dist/providers/opencode/headless.d.ts.map +1 -0
  135. package/dist/providers/opencode/headless.js +190 -0
  136. package/dist/providers/opencode/headless.js.map +1 -0
  137. package/dist/providers/opencode/index.d.ts +33 -0
  138. package/dist/providers/opencode/index.d.ts.map +1 -0
  139. package/dist/providers/opencode/index.js +42 -0
  140. package/dist/providers/opencode/index.js.map +1 -0
  141. package/dist/providers/opencode/interactive.d.ts +21 -0
  142. package/dist/providers/opencode/interactive.d.ts.map +1 -0
  143. package/dist/providers/opencode/interactive.js +135 -0
  144. package/dist/providers/opencode/interactive.js.map +1 -0
  145. package/dist/providers/opencode/server-manager.d.ts +145 -0
  146. package/dist/providers/opencode/server-manager.d.ts.map +1 -0
  147. package/dist/providers/opencode/server-manager.js +163 -0
  148. package/dist/providers/opencode/server-manager.js.map +1 -0
  149. package/dist/providers/registry.d.ts +38 -0
  150. package/dist/providers/registry.d.ts.map +1 -0
  151. package/dist/providers/registry.js +82 -0
  152. package/dist/providers/registry.js.map +1 -0
  153. package/dist/providers/types.d.ts +144 -0
  154. package/dist/providers/types.d.ts.map +1 -0
  155. package/dist/providers/types.js +25 -0
  156. package/dist/providers/types.js.map +1 -0
  157. package/dist/runtime/event-utils.d.ts +8 -0
  158. package/dist/runtime/event-utils.d.ts.map +1 -0
  159. package/dist/runtime/event-utils.js +23 -0
  160. package/dist/runtime/event-utils.js.map +1 -0
  161. package/dist/runtime/handoff.d.ts +195 -0
  162. package/dist/runtime/handoff.d.ts.map +1 -0
  163. package/dist/runtime/handoff.js +332 -0
  164. package/dist/runtime/handoff.js.map +1 -0
  165. package/dist/runtime/index.d.ts +17 -0
  166. package/dist/runtime/index.d.ts.map +1 -0
  167. package/dist/runtime/index.js +60 -0
  168. package/dist/runtime/index.js.map +1 -0
  169. package/dist/runtime/message-mapper.d.ts +99 -0
  170. package/dist/runtime/message-mapper.d.ts.map +1 -0
  171. package/dist/runtime/message-mapper.js +202 -0
  172. package/dist/runtime/message-mapper.js.map +1 -0
  173. package/dist/runtime/predecessor-query.d.ts +212 -0
  174. package/dist/runtime/predecessor-query.d.ts.map +1 -0
  175. package/dist/runtime/predecessor-query.js +283 -0
  176. package/dist/runtime/predecessor-query.js.map +1 -0
  177. package/dist/runtime/session-manager.d.ts +466 -0
  178. package/dist/runtime/session-manager.d.ts.map +1 -0
  179. package/dist/runtime/session-manager.js +986 -0
  180. package/dist/runtime/session-manager.js.map +1 -0
  181. package/dist/runtime/spawner.d.ts +407 -0
  182. package/dist/runtime/spawner.d.ts.map +1 -0
  183. package/dist/runtime/spawner.js +781 -0
  184. package/dist/runtime/spawner.js.map +1 -0
  185. package/dist/server/config.d.ts +22 -0
  186. package/dist/server/config.d.ts.map +1 -0
  187. package/dist/server/config.js +59 -0
  188. package/dist/server/config.js.map +1 -0
  189. package/dist/server/daemon-state.d.ts +50 -0
  190. package/dist/server/daemon-state.d.ts.map +1 -0
  191. package/dist/server/daemon-state.js +100 -0
  192. package/dist/server/daemon-state.js.map +1 -0
  193. package/dist/server/events-websocket.d.ts +32 -0
  194. package/dist/server/events-websocket.d.ts.map +1 -0
  195. package/dist/server/events-websocket.js +96 -0
  196. package/dist/server/events-websocket.js.map +1 -0
  197. package/dist/server/formatters.d.ts +94 -0
  198. package/dist/server/formatters.d.ts.map +1 -0
  199. package/dist/server/formatters.js +142 -0
  200. package/dist/server/formatters.js.map +1 -0
  201. package/dist/server/index.d.ts +17 -0
  202. package/dist/server/index.d.ts.map +1 -0
  203. package/dist/server/index.js +153 -0
  204. package/dist/server/index.js.map +1 -0
  205. package/dist/server/lsp-websocket.d.ts +33 -0
  206. package/dist/server/lsp-websocket.d.ts.map +1 -0
  207. package/dist/server/lsp-websocket.js +161 -0
  208. package/dist/server/lsp-websocket.js.map +1 -0
  209. package/dist/server/routes/agents.d.ts +9 -0
  210. package/dist/server/routes/agents.d.ts.map +1 -0
  211. package/dist/server/routes/agents.js +369 -0
  212. package/dist/server/routes/agents.js.map +1 -0
  213. package/dist/server/routes/daemon.d.ts +13 -0
  214. package/dist/server/routes/daemon.d.ts.map +1 -0
  215. package/dist/server/routes/daemon.js +187 -0
  216. package/dist/server/routes/daemon.js.map +1 -0
  217. package/dist/server/routes/events.d.ts +23 -0
  218. package/dist/server/routes/events.d.ts.map +1 -0
  219. package/dist/server/routes/events.js +282 -0
  220. package/dist/server/routes/events.js.map +1 -0
  221. package/dist/server/routes/extensions.d.ts +9 -0
  222. package/dist/server/routes/extensions.d.ts.map +1 -0
  223. package/dist/server/routes/extensions.js +202 -0
  224. package/dist/server/routes/extensions.js.map +1 -0
  225. package/dist/server/routes/health.d.ts +7 -0
  226. package/dist/server/routes/health.d.ts.map +1 -0
  227. package/dist/server/routes/health.js +33 -0
  228. package/dist/server/routes/health.js.map +1 -0
  229. package/dist/server/routes/index.d.ts +21 -0
  230. package/dist/server/routes/index.d.ts.map +1 -0
  231. package/dist/server/routes/index.js +21 -0
  232. package/dist/server/routes/index.js.map +1 -0
  233. package/dist/server/routes/lsp.d.ts +9 -0
  234. package/dist/server/routes/lsp.d.ts.map +1 -0
  235. package/dist/server/routes/lsp.js +50 -0
  236. package/dist/server/routes/lsp.js.map +1 -0
  237. package/dist/server/routes/plugins.d.ts +9 -0
  238. package/dist/server/routes/plugins.d.ts.map +1 -0
  239. package/dist/server/routes/plugins.js +109 -0
  240. package/dist/server/routes/plugins.js.map +1 -0
  241. package/dist/server/routes/pools.d.ts +9 -0
  242. package/dist/server/routes/pools.d.ts.map +1 -0
  243. package/dist/server/routes/pools.js +189 -0
  244. package/dist/server/routes/pools.js.map +1 -0
  245. package/dist/server/routes/scheduler.d.ts +9 -0
  246. package/dist/server/routes/scheduler.d.ts.map +1 -0
  247. package/dist/server/routes/scheduler.js +162 -0
  248. package/dist/server/routes/scheduler.js.map +1 -0
  249. package/dist/server/routes/sessions.d.ts +27 -0
  250. package/dist/server/routes/sessions.d.ts.map +1 -0
  251. package/dist/server/routes/sessions.js +773 -0
  252. package/dist/server/routes/sessions.js.map +1 -0
  253. package/dist/server/routes/tasks.d.ts +9 -0
  254. package/dist/server/routes/tasks.d.ts.map +1 -0
  255. package/dist/server/routes/tasks.js +954 -0
  256. package/dist/server/routes/tasks.js.map +1 -0
  257. package/dist/server/routes/upload.d.ts +8 -0
  258. package/dist/server/routes/upload.d.ts.map +1 -0
  259. package/dist/server/routes/upload.js +40 -0
  260. package/dist/server/routes/upload.js.map +1 -0
  261. package/dist/server/routes/workflows.d.ts +9 -0
  262. package/dist/server/routes/workflows.d.ts.map +1 -0
  263. package/dist/server/routes/workflows.js +532 -0
  264. package/dist/server/routes/workflows.js.map +1 -0
  265. package/dist/server/routes/workspace-files.d.ts +12 -0
  266. package/dist/server/routes/workspace-files.d.ts.map +1 -0
  267. package/dist/server/routes/workspace-files.js +520 -0
  268. package/dist/server/routes/workspace-files.js.map +1 -0
  269. package/dist/server/routes/worktrees.d.ts +9 -0
  270. package/dist/server/routes/worktrees.d.ts.map +1 -0
  271. package/dist/server/routes/worktrees.js +94 -0
  272. package/dist/server/routes/worktrees.js.map +1 -0
  273. package/dist/server/server.d.ts +14 -0
  274. package/dist/server/server.d.ts.map +1 -0
  275. package/dist/server/server.js +258 -0
  276. package/dist/server/server.js.map +1 -0
  277. package/dist/server/services/lsp-manager.d.ts +93 -0
  278. package/dist/server/services/lsp-manager.d.ts.map +1 -0
  279. package/dist/server/services/lsp-manager.js +291 -0
  280. package/dist/server/services/lsp-manager.js.map +1 -0
  281. package/dist/server/services/session-messages.d.ts +61 -0
  282. package/dist/server/services/session-messages.d.ts.map +1 -0
  283. package/dist/server/services/session-messages.js +101 -0
  284. package/dist/server/services/session-messages.js.map +1 -0
  285. package/dist/server/services.d.ts +35 -0
  286. package/dist/server/services.d.ts.map +1 -0
  287. package/dist/server/services.js +159 -0
  288. package/dist/server/services.js.map +1 -0
  289. package/dist/server/static.d.ts +18 -0
  290. package/dist/server/static.d.ts.map +1 -0
  291. package/dist/server/static.js +71 -0
  292. package/dist/server/static.js.map +1 -0
  293. package/dist/server/types.d.ts +20 -0
  294. package/dist/server/types.d.ts.map +1 -0
  295. package/dist/server/types.js +7 -0
  296. package/dist/server/types.js.map +1 -0
  297. package/dist/server/websocket.d.ts +16 -0
  298. package/dist/server/websocket.d.ts.map +1 -0
  299. package/dist/server/websocket.js +143 -0
  300. package/dist/server/websocket.js.map +1 -0
  301. package/dist/services/agent-pool-service.d.ts +181 -0
  302. package/dist/services/agent-pool-service.d.ts.map +1 -0
  303. package/dist/services/agent-pool-service.js +590 -0
  304. package/dist/services/agent-pool-service.js.map +1 -0
  305. package/dist/services/agent-registry.d.ts +185 -0
  306. package/dist/services/agent-registry.d.ts.map +1 -0
  307. package/dist/services/agent-registry.js +432 -0
  308. package/dist/services/agent-registry.js.map +1 -0
  309. package/dist/services/dispatch-daemon.d.ts +429 -0
  310. package/dist/services/dispatch-daemon.d.ts.map +1 -0
  311. package/dist/services/dispatch-daemon.js +1833 -0
  312. package/dist/services/dispatch-daemon.js.map +1 -0
  313. package/dist/services/dispatch-service.d.ts +148 -0
  314. package/dist/services/dispatch-service.d.ts.map +1 -0
  315. package/dist/services/dispatch-service.js +170 -0
  316. package/dist/services/dispatch-service.js.map +1 -0
  317. package/dist/services/docs-steward-service.d.ts +199 -0
  318. package/dist/services/docs-steward-service.d.ts.map +1 -0
  319. package/dist/services/docs-steward-service.js +599 -0
  320. package/dist/services/docs-steward-service.js.map +1 -0
  321. package/dist/services/health-steward-service.d.ts +446 -0
  322. package/dist/services/health-steward-service.d.ts.map +1 -0
  323. package/dist/services/health-steward-service.js +866 -0
  324. package/dist/services/health-steward-service.js.map +1 -0
  325. package/dist/services/index.d.ts +26 -0
  326. package/dist/services/index.d.ts.map +1 -0
  327. package/dist/services/index.js +111 -0
  328. package/dist/services/index.js.map +1 -0
  329. package/dist/services/merge-request-provider.d.ts +59 -0
  330. package/dist/services/merge-request-provider.d.ts.map +1 -0
  331. package/dist/services/merge-request-provider.js +89 -0
  332. package/dist/services/merge-request-provider.js.map +1 -0
  333. package/dist/services/merge-steward-service.d.ts +268 -0
  334. package/dist/services/merge-steward-service.d.ts.map +1 -0
  335. package/dist/services/merge-steward-service.js +568 -0
  336. package/dist/services/merge-steward-service.js.map +1 -0
  337. package/dist/services/plugin-executor.d.ts +247 -0
  338. package/dist/services/plugin-executor.d.ts.map +1 -0
  339. package/dist/services/plugin-executor.js +451 -0
  340. package/dist/services/plugin-executor.js.map +1 -0
  341. package/dist/services/role-definition-service.d.ts +117 -0
  342. package/dist/services/role-definition-service.d.ts.map +1 -0
  343. package/dist/services/role-definition-service.js +289 -0
  344. package/dist/services/role-definition-service.js.map +1 -0
  345. package/dist/services/steward-scheduler.d.ts +336 -0
  346. package/dist/services/steward-scheduler.d.ts.map +1 -0
  347. package/dist/services/steward-scheduler.js +732 -0
  348. package/dist/services/steward-scheduler.js.map +1 -0
  349. package/dist/services/task-assignment-service.d.ts +291 -0
  350. package/dist/services/task-assignment-service.d.ts.map +1 -0
  351. package/dist/services/task-assignment-service.js +454 -0
  352. package/dist/services/task-assignment-service.js.map +1 -0
  353. package/dist/services/worker-task-service.d.ts +202 -0
  354. package/dist/services/worker-task-service.d.ts.map +1 -0
  355. package/dist/services/worker-task-service.js +228 -0
  356. package/dist/services/worker-task-service.js.map +1 -0
  357. package/dist/testing/index.d.ts +13 -0
  358. package/dist/testing/index.d.ts.map +1 -0
  359. package/dist/testing/index.js +17 -0
  360. package/dist/testing/index.js.map +1 -0
  361. package/dist/testing/orchestration-tests.d.ts +62 -0
  362. package/dist/testing/orchestration-tests.d.ts.map +1 -0
  363. package/dist/testing/orchestration-tests.js +1115 -0
  364. package/dist/testing/orchestration-tests.js.map +1 -0
  365. package/dist/testing/test-context.d.ts +171 -0
  366. package/dist/testing/test-context.d.ts.map +1 -0
  367. package/dist/testing/test-context.js +665 -0
  368. package/dist/testing/test-context.js.map +1 -0
  369. package/dist/testing/test-prompts.d.ts +46 -0
  370. package/dist/testing/test-prompts.d.ts.map +1 -0
  371. package/dist/testing/test-prompts.js +140 -0
  372. package/dist/testing/test-prompts.js.map +1 -0
  373. package/dist/testing/test-utils.d.ts +200 -0
  374. package/dist/testing/test-utils.d.ts.map +1 -0
  375. package/dist/testing/test-utils.js +378 -0
  376. package/dist/testing/test-utils.js.map +1 -0
  377. package/dist/types/agent-pool.d.ts +215 -0
  378. package/dist/types/agent-pool.d.ts.map +1 -0
  379. package/dist/types/agent-pool.js +143 -0
  380. package/dist/types/agent-pool.js.map +1 -0
  381. package/dist/types/agent.d.ts +265 -0
  382. package/dist/types/agent.d.ts.map +1 -0
  383. package/dist/types/agent.js +127 -0
  384. package/dist/types/agent.js.map +1 -0
  385. package/dist/types/index.d.ts +11 -0
  386. package/dist/types/index.d.ts.map +1 -0
  387. package/dist/types/index.js +40 -0
  388. package/dist/types/index.js.map +1 -0
  389. package/dist/types/message-types.d.ts +294 -0
  390. package/dist/types/message-types.d.ts.map +1 -0
  391. package/dist/types/message-types.js +354 -0
  392. package/dist/types/message-types.js.map +1 -0
  393. package/dist/types/role-definition.d.ts +272 -0
  394. package/dist/types/role-definition.d.ts.map +1 -0
  395. package/dist/types/role-definition.js +144 -0
  396. package/dist/types/role-definition.js.map +1 -0
  397. package/dist/types/task-meta.d.ts +248 -0
  398. package/dist/types/task-meta.d.ts.map +1 -0
  399. package/dist/types/task-meta.js +213 -0
  400. package/dist/types/task-meta.js.map +1 -0
  401. package/package.json +120 -0
  402. package/web/assets/abap-BrgZPUOV.js +6 -0
  403. package/web/assets/apex-DyP6w7ZV.js +6 -0
  404. package/web/assets/azcli-BaLxmfj-.js +6 -0
  405. package/web/assets/bat-CFOPXBzS.js +6 -0
  406. package/web/assets/bicep-BfEKNvv3.js +7 -0
  407. package/web/assets/cameligo-BFG1Mk7z.js +6 -0
  408. package/web/assets/clojure-DTECt2xU.js +6 -0
  409. package/web/assets/codicon-DCmgc-ay.ttf +0 -0
  410. package/web/assets/coffee-CDGzqUPQ.js +6 -0
  411. package/web/assets/cpp-CLLBncYj.js +6 -0
  412. package/web/assets/csharp-dUCx_-0o.js +6 -0
  413. package/web/assets/csp-5Rap-vPy.js +6 -0
  414. package/web/assets/css-D3h14YRZ.js +8 -0
  415. package/web/assets/cssMode-DMo-5YLA.js +9 -0
  416. package/web/assets/cypher-DrQuvNYM.js +6 -0
  417. package/web/assets/dart-CFKIUWau.js +6 -0
  418. package/web/assets/dockerfile-Zznr-cwX.js +6 -0
  419. package/web/assets/ecl-Ce3n6wWz.js +6 -0
  420. package/web/assets/elixir-deUWdS0T.js +6 -0
  421. package/web/assets/flow9-i9-g7ZhI.js +6 -0
  422. package/web/assets/freemarker2-D4qgkQzN.js +8 -0
  423. package/web/assets/fsharp-CzKuDChf.js +6 -0
  424. package/web/assets/go-Cphgjts3.js +6 -0
  425. package/web/assets/graphql-Cg7bfA9N.js +6 -0
  426. package/web/assets/handlebars-CXFvNjQC.js +6 -0
  427. package/web/assets/hcl-0cvrggvQ.js +6 -0
  428. package/web/assets/html-oyuB_D-B.js +6 -0
  429. package/web/assets/htmlMode-iWuZ24-r.js +9 -0
  430. package/web/assets/index-DqP-_E4F.css +32 -0
  431. package/web/assets/index-R1cylSgw.js +1665 -0
  432. package/web/assets/ini-Drc7WvVn.js +6 -0
  433. package/web/assets/java-B_fMsGYe.js +6 -0
  434. package/web/assets/javascript-CRIkN2Pg.js +6 -0
  435. package/web/assets/jsonMode-DVDkDgex.js +15 -0
  436. package/web/assets/julia-Bqgm2twL.js +6 -0
  437. package/web/assets/kotlin-BSkB5QuD.js +6 -0
  438. package/web/assets/less-BsTHnhdd.js +7 -0
  439. package/web/assets/lexon-YWi4-JPR.js +6 -0
  440. package/web/assets/liquid-CSfldbB5.js +6 -0
  441. package/web/assets/lua-nf6ki56Z.js +6 -0
  442. package/web/assets/m3-Cpb6xl2v.js +6 -0
  443. package/web/assets/markdown-DSZPf7rp.js +6 -0
  444. package/web/assets/mdx-Dd58iymR.js +6 -0
  445. package/web/assets/mips-B_c3zf-v.js +6 -0
  446. package/web/assets/monaco-editor-B4lwqA13.js +751 -0
  447. package/web/assets/monaco-editor-CQpyCxOA.css +1 -0
  448. package/web/assets/msdax-rUNN04Wq.js +6 -0
  449. package/web/assets/mysql-DDwshQtU.js +6 -0
  450. package/web/assets/objective-c-B5zXfXm9.js +6 -0
  451. package/web/assets/pascal-CXOwvkN_.js +6 -0
  452. package/web/assets/pascaligo-Bc-ZgV77.js +6 -0
  453. package/web/assets/perl-CwNk8-XU.js +6 -0
  454. package/web/assets/pgsql-tGk8EFnU.js +6 -0
  455. package/web/assets/php-CpIb_Oan.js +6 -0
  456. package/web/assets/pla-B03wrqEc.js +6 -0
  457. package/web/assets/postiats-BKlk5iyT.js +6 -0
  458. package/web/assets/powerquery-Bhzvs7bI.js +6 -0
  459. package/web/assets/powershell-Dd3NCNK9.js +6 -0
  460. package/web/assets/protobuf-COyEY5Pt.js +7 -0
  461. package/web/assets/pug-BaJupSGV.js +6 -0
  462. package/web/assets/python-XWrMqdhO.js +6 -0
  463. package/web/assets/qsharp-DXyYeYxl.js +6 -0
  464. package/web/assets/r-CdQndTaG.js +6 -0
  465. package/web/assets/razor-DPlhCpIs.js +6 -0
  466. package/web/assets/redis-CVwtpugi.js +6 -0
  467. package/web/assets/redshift-25W9uPmb.js +6 -0
  468. package/web/assets/restructuredtext-DfzH4Xui.js +6 -0
  469. package/web/assets/router-vendor-DHlGizSU.js +41 -0
  470. package/web/assets/ruby-Cp1zYvxS.js +6 -0
  471. package/web/assets/rust-D5C2fndG.js +6 -0
  472. package/web/assets/sb-CDntyWJ8.js +6 -0
  473. package/web/assets/scala-BoFRg7Ot.js +6 -0
  474. package/web/assets/scheme-Bio4gycK.js +6 -0
  475. package/web/assets/scss-4Ik7cdeQ.js +8 -0
  476. package/web/assets/shell-CX-rkNHf.js +6 -0
  477. package/web/assets/solidity-Tw7wswEv.js +6 -0
  478. package/web/assets/sophia-C5WLch3f.js +6 -0
  479. package/web/assets/sparql-DHaeiCBh.js +6 -0
  480. package/web/assets/sql-CCSDG5nI.js +6 -0
  481. package/web/assets/st-pnP8ivHi.js +6 -0
  482. package/web/assets/swift-DwJ7jVG9.js +8 -0
  483. package/web/assets/systemverilog-B9Xyijhd.js +6 -0
  484. package/web/assets/tcl-DnHyzjbg.js +6 -0
  485. package/web/assets/tsMode-BbA1Jbf3.js +16 -0
  486. package/web/assets/twig-CPajHgWi.js +6 -0
  487. package/web/assets/typescript-DcLHYzvH.js +6 -0
  488. package/web/assets/typespec-D-MeaMDU.js +6 -0
  489. package/web/assets/ui-vendor-BSco96uv.js +51 -0
  490. package/web/assets/utils-vendor-DaJ2Dubl.js +911 -0
  491. package/web/assets/vb-DgyLZaXg.js +6 -0
  492. package/web/assets/wgsl-DYQUnd45.js +303 -0
  493. package/web/assets/xml-xKYS3dO6.js +6 -0
  494. package/web/assets/yaml-CNmlXqzH.js +6 -0
  495. package/web/favicon.ico +0 -0
  496. package/web/index.html +22 -0
  497. package/web/logo.png +0 -0
@@ -0,0 +1,446 @@
1
+ /**
2
+ * Health Steward Service
3
+ *
4
+ * This service monitors agent health and detects stuck agents.
5
+ * The Health Steward detects problematic agents and takes corrective action.
6
+ *
7
+ * Key features:
8
+ * - Detect agents with no output for configurable duration
9
+ * - Detect agents with repeated errors
10
+ * - Detect crashed agent processes
11
+ * - Attempt to unstick agents
12
+ * - Notify Director of issues
13
+ * - Stop and reassign tasks from stuck agents
14
+ *
15
+ * TB-O24: Health Steward Implementation
16
+ *
17
+ * @module
18
+ */
19
+ import type { ElementId, EntityId, Timestamp } from '@stoneforge/core';
20
+ import type { QuarryAPI } from '@stoneforge/quarry';
21
+ import type { AgentRole } from '../types/agent.js';
22
+ import type { AgentRegistry } from './agent-registry.js';
23
+ import type { SessionManager } from '../runtime/session-manager.js';
24
+ import type { TaskAssignmentService } from './task-assignment-service.js';
25
+ import type { DispatchService } from './dispatch-service.js';
26
+ /**
27
+ * Health issue types that the steward can detect
28
+ */
29
+ export type HealthIssueType = 'no_output' | 'repeated_errors' | 'process_crashed' | 'high_error_rate' | 'session_stale' | 'unresponsive';
30
+ /**
31
+ * All valid health issue types
32
+ */
33
+ export declare const HealthIssueTypes: readonly ["no_output", "repeated_errors", "process_crashed", "high_error_rate", "session_stale", "unresponsive"];
34
+ /**
35
+ * Type guard for HealthIssueType
36
+ */
37
+ export declare function isHealthIssueType(value: unknown): value is HealthIssueType;
38
+ /**
39
+ * Severity levels for health issues
40
+ */
41
+ export type HealthIssueSeverity = 'warning' | 'error' | 'critical';
42
+ /**
43
+ * All valid severity levels
44
+ */
45
+ export declare const HealthIssueSeverities: readonly ["warning", "error", "critical"];
46
+ /**
47
+ * Type guard for HealthIssueSeverity
48
+ */
49
+ export declare function isHealthIssueSeverity(value: unknown): value is HealthIssueSeverity;
50
+ /**
51
+ * Action types the health steward can take
52
+ */
53
+ export type HealthAction = 'monitor' | 'send_ping' | 'restart' | 'notify_director' | 'reassign_task' | 'escalate';
54
+ /**
55
+ * All valid health actions
56
+ */
57
+ export declare const HealthActions: readonly ["monitor", "send_ping", "restart", "notify_director", "reassign_task", "escalate"];
58
+ /**
59
+ * Type guard for HealthAction
60
+ */
61
+ export declare function isHealthAction(value: unknown): value is HealthAction;
62
+ /**
63
+ * A detected health issue
64
+ */
65
+ export interface HealthIssue {
66
+ /** Unique issue ID */
67
+ readonly id: string;
68
+ /** Agent ID with the issue */
69
+ readonly agentId: EntityId;
70
+ /** Agent name */
71
+ readonly agentName: string;
72
+ /** Agent role */
73
+ readonly agentRole: AgentRole;
74
+ /** Type of issue detected */
75
+ readonly issueType: HealthIssueType;
76
+ /** Severity of the issue */
77
+ readonly severity: HealthIssueSeverity;
78
+ /** Human-readable description */
79
+ readonly description: string;
80
+ /** When the issue was first detected */
81
+ readonly detectedAt: Timestamp;
82
+ /** When the issue was last seen */
83
+ readonly lastSeenAt: Timestamp;
84
+ /** Number of times this issue has been seen */
85
+ readonly occurrenceCount: number;
86
+ /** Current session ID (if any) */
87
+ readonly sessionId?: string;
88
+ /** Current task ID (if any) */
89
+ readonly taskId?: ElementId;
90
+ /** Additional context data */
91
+ readonly context?: Record<string, unknown>;
92
+ }
93
+ /**
94
+ * Result of an action taken on an issue
95
+ */
96
+ export interface HealthActionResult {
97
+ /** Whether the action succeeded */
98
+ readonly success: boolean;
99
+ /** The action taken */
100
+ readonly action: HealthAction;
101
+ /** The issue that was addressed */
102
+ readonly issueId: string;
103
+ /** Description of what happened */
104
+ readonly message: string;
105
+ /** When the action was taken */
106
+ readonly actionTakenAt: Timestamp;
107
+ /** New task ID if task was reassigned */
108
+ readonly newTaskId?: ElementId;
109
+ /** New agent ID if task was reassigned */
110
+ readonly newAgentId?: EntityId;
111
+ /** Error if action failed */
112
+ readonly error?: string;
113
+ }
114
+ /**
115
+ * Session status values for health checks
116
+ */
117
+ export type HealthSessionStatus = 'idle' | 'starting' | 'running' | 'suspended' | 'terminating' | 'terminated';
118
+ /**
119
+ * Agent health status summary
120
+ */
121
+ export interface AgentHealthStatus {
122
+ /** Agent ID */
123
+ readonly agentId: EntityId;
124
+ /** Agent name */
125
+ readonly agentName: string;
126
+ /** Agent role */
127
+ readonly agentRole: AgentRole;
128
+ /** Whether the agent is healthy */
129
+ readonly isHealthy: boolean;
130
+ /** Current health issues (if any) */
131
+ readonly issues: readonly HealthIssue[];
132
+ /** Last activity timestamp */
133
+ readonly lastActivityAt?: Timestamp;
134
+ /** Last health check timestamp */
135
+ readonly lastHealthCheckAt?: Timestamp;
136
+ /** Current session status */
137
+ readonly sessionStatus?: HealthSessionStatus;
138
+ /** Current task (if any) */
139
+ readonly currentTaskId?: ElementId;
140
+ /** Recent error count (last N minutes) */
141
+ readonly recentErrorCount: number;
142
+ /** Recent output count (last N minutes) */
143
+ readonly recentOutputCount: number;
144
+ }
145
+ /**
146
+ * Configuration for the Health Steward service
147
+ */
148
+ export interface HealthStewardConfig {
149
+ /** How long without output before considering stuck (ms). Default: 5 minutes */
150
+ readonly noOutputThresholdMs?: number;
151
+ /** How many errors in the window before alerting. Default: 5 */
152
+ readonly errorCountThreshold?: number;
153
+ /** Time window for counting errors (ms). Default: 10 minutes */
154
+ readonly errorWindowMs?: number;
155
+ /** How long a session can be stale before alerting (ms). Default: 15 minutes */
156
+ readonly staleSessionThresholdMs?: number;
157
+ /** Interval between health checks (ms). Default: 1 minute */
158
+ readonly healthCheckIntervalMs?: number;
159
+ /** Number of ping attempts before escalating. Default: 3 */
160
+ readonly maxPingAttempts?: number;
161
+ /** Whether to auto-restart stuck agents. Default: true */
162
+ readonly autoRestart?: boolean;
163
+ /** Whether to auto-reassign from crashed agents. Default: true */
164
+ readonly autoReassign?: boolean;
165
+ /** Whether to notify Director on issues. Default: true */
166
+ readonly notifyDirector?: boolean;
167
+ /** Entity ID of the health steward (for creating messages) */
168
+ readonly stewardEntityId?: EntityId;
169
+ /** Maximum issues to track per agent. Default: 10 */
170
+ readonly maxIssuesPerAgent?: number;
171
+ }
172
+ /**
173
+ * Result of a health check run
174
+ */
175
+ export interface HealthCheckResult {
176
+ /** When the check was run */
177
+ readonly timestamp: Timestamp;
178
+ /** Total agents checked */
179
+ readonly agentsChecked: number;
180
+ /** Agents with issues */
181
+ readonly agentsWithIssues: number;
182
+ /** New issues detected */
183
+ readonly newIssues: readonly HealthIssue[];
184
+ /** Resolved issues (no longer present) */
185
+ readonly resolvedIssues: readonly string[];
186
+ /** Actions taken */
187
+ readonly actionsTaken: readonly HealthActionResult[];
188
+ /** Duration of the check in ms */
189
+ readonly durationMs: number;
190
+ }
191
+ /**
192
+ * Statistics about health steward operations
193
+ */
194
+ export interface HealthStewardStats {
195
+ /** Total health checks run */
196
+ readonly totalChecks: number;
197
+ /** Total issues detected */
198
+ readonly totalIssuesDetected: number;
199
+ /** Total issues resolved */
200
+ readonly totalIssuesResolved: number;
201
+ /** Total actions taken */
202
+ readonly totalActionsTaken: number;
203
+ /** Successful actions */
204
+ readonly successfulActions: number;
205
+ /** Failed actions */
206
+ readonly failedActions: number;
207
+ /** Currently active issues */
208
+ readonly activeIssues: number;
209
+ /** Agents currently being monitored */
210
+ readonly monitoredAgents: number;
211
+ }
212
+ /**
213
+ * Internal tracking for agent activity
214
+ */
215
+ export interface AgentActivityTracker {
216
+ /** Agent ID */
217
+ readonly agentId: EntityId;
218
+ /** Last output timestamp */
219
+ lastOutputAt?: Timestamp;
220
+ /** Last error timestamp */
221
+ lastErrorAt?: Timestamp;
222
+ /** Error timestamps in the window */
223
+ errorTimestamps: Timestamp[];
224
+ /** Output timestamps in the window */
225
+ outputTimestamps: Timestamp[];
226
+ /** Last ping attempt */
227
+ lastPingAt?: Timestamp;
228
+ /** Ping attempt count */
229
+ pingAttempts: number;
230
+ /** Last health check */
231
+ lastHealthCheckAt?: Timestamp;
232
+ }
233
+ /**
234
+ * Health Steward Service interface for monitoring agent health.
235
+ *
236
+ * The service provides methods for:
237
+ * - Running health checks on agents
238
+ * - Detecting stuck or problematic agents
239
+ * - Taking corrective actions
240
+ * - Tracking health issues
241
+ */
242
+ export interface HealthStewardService {
243
+ /**
244
+ * Runs a health check on all running agents.
245
+ *
246
+ * @returns Health check result with issues and actions
247
+ */
248
+ runHealthCheck(): Promise<HealthCheckResult>;
249
+ /**
250
+ * Runs a health check on a specific agent.
251
+ *
252
+ * @param agentId - The agent to check
253
+ * @returns Agent health status
254
+ */
255
+ checkAgent(agentId: EntityId): Promise<AgentHealthStatus>;
256
+ /**
257
+ * Gets all agents with their current health status.
258
+ *
259
+ * @returns Array of agent health statuses
260
+ */
261
+ getAllAgentHealth(): Promise<readonly AgentHealthStatus[]>;
262
+ /**
263
+ * Gets all active health issues.
264
+ *
265
+ * @returns Array of active issues
266
+ */
267
+ getActiveIssues(): readonly HealthIssue[];
268
+ /**
269
+ * Gets issues for a specific agent.
270
+ *
271
+ * @param agentId - The agent to get issues for
272
+ * @returns Array of issues for the agent
273
+ */
274
+ getIssuesForAgent(agentId: EntityId): readonly HealthIssue[];
275
+ /**
276
+ * Resolves an issue (marks it as handled).
277
+ *
278
+ * @param issueId - The issue ID to resolve
279
+ * @returns Whether the issue was resolved
280
+ */
281
+ resolveIssue(issueId: string): boolean;
282
+ /**
283
+ * Clears all resolved issues from history.
284
+ */
285
+ clearResolvedIssues(): void;
286
+ /**
287
+ * Takes action on a detected issue.
288
+ *
289
+ * @param issueId - The issue to act on
290
+ * @param action - The action to take (optional, will auto-determine if not provided)
291
+ * @returns Result of the action
292
+ */
293
+ takeAction(issueId: string, action?: HealthAction): Promise<HealthActionResult>;
294
+ /**
295
+ * Sends a ping to an agent to check responsiveness.
296
+ *
297
+ * @param agentId - The agent to ping
298
+ * @returns Whether the agent responded
299
+ */
300
+ pingAgent(agentId: EntityId): Promise<boolean>;
301
+ /**
302
+ * Attempts to unstick an agent by restarting its session.
303
+ *
304
+ * @param agentId - The agent to unstick
305
+ * @returns Whether the restart succeeded
306
+ */
307
+ restartAgent(agentId: EntityId): Promise<boolean>;
308
+ /**
309
+ * Notifies the Director about an agent issue.
310
+ *
311
+ * @param issue - The issue to report
312
+ * @returns Whether notification was sent
313
+ */
314
+ notifyDirector(issue: HealthIssue): Promise<boolean>;
315
+ /**
316
+ * Reassigns a task from a stuck agent to another available agent.
317
+ *
318
+ * @param agentId - The stuck agent
319
+ * @param taskId - The task to reassign
320
+ * @returns Result with new assignment info
321
+ */
322
+ reassignTask(agentId: EntityId, taskId: ElementId): Promise<{
323
+ success: boolean;
324
+ newAgentId?: EntityId;
325
+ error?: string;
326
+ }>;
327
+ /**
328
+ * Records agent output (call this when agent produces output).
329
+ *
330
+ * @param agentId - The agent that produced output
331
+ */
332
+ recordOutput(agentId: EntityId): void;
333
+ /**
334
+ * Records an agent error (call this when agent encounters an error).
335
+ *
336
+ * @param agentId - The agent that had an error
337
+ * @param error - The error message
338
+ */
339
+ recordError(agentId: EntityId, error?: string): void;
340
+ /**
341
+ * Records a process crash (call this when agent process exits unexpectedly).
342
+ *
343
+ * @param agentId - The agent that crashed
344
+ * @param exitCode - The exit code
345
+ */
346
+ recordCrash(agentId: EntityId, exitCode?: number): void;
347
+ /**
348
+ * Starts the health monitoring service.
349
+ * Begins periodic health checks based on config.
350
+ */
351
+ start(): void;
352
+ /**
353
+ * Stops the health monitoring service.
354
+ */
355
+ stop(): void;
356
+ /**
357
+ * Whether the service is currently running.
358
+ */
359
+ isRunning(): boolean;
360
+ /**
361
+ * Gets statistics about health steward operations.
362
+ */
363
+ getStats(): HealthStewardStats;
364
+ /**
365
+ * Subscribe to health steward events.
366
+ */
367
+ on(event: 'issue:detected', listener: (issue: HealthIssue) => void): void;
368
+ on(event: 'issue:resolved', listener: (issueId: string) => void): void;
369
+ on(event: 'action:taken', listener: (result: HealthActionResult) => void): void;
370
+ on(event: 'check:completed', listener: (result: HealthCheckResult) => void): void;
371
+ /**
372
+ * Unsubscribe from events.
373
+ */
374
+ off(event: string, listener: (...args: unknown[]) => void): void;
375
+ }
376
+ /**
377
+ * Implementation of the Health Steward Service.
378
+ */
379
+ export declare class HealthStewardServiceImpl implements HealthStewardService {
380
+ private readonly _api;
381
+ private readonly config;
382
+ private readonly agentRegistry;
383
+ private readonly sessionManager;
384
+ private readonly taskAssignment;
385
+ private readonly dispatchService;
386
+ private readonly emitter;
387
+ private running;
388
+ private checkInterval?;
389
+ private issueCounter;
390
+ private readonly activityTrackers;
391
+ private readonly activeIssues;
392
+ private readonly resolvedIssueIds;
393
+ private totalChecks;
394
+ private totalIssuesDetected;
395
+ private totalIssuesResolved;
396
+ private totalActionsTaken;
397
+ private successfulActions;
398
+ private failedActions;
399
+ constructor(api: QuarryAPI, agentRegistry: AgentRegistry, sessionManager: SessionManager, taskAssignment: TaskAssignmentService, dispatchService: DispatchService, config?: HealthStewardConfig);
400
+ runHealthCheck(): Promise<HealthCheckResult>;
401
+ checkAgent(agentId: EntityId): Promise<AgentHealthStatus>;
402
+ getAllAgentHealth(): Promise<readonly AgentHealthStatus[]>;
403
+ getActiveIssues(): readonly HealthIssue[];
404
+ getIssuesForAgent(agentId: EntityId): readonly HealthIssue[];
405
+ resolveIssue(issueId: string): boolean;
406
+ clearResolvedIssues(): void;
407
+ takeAction(issueId: string, action?: HealthAction): Promise<HealthActionResult>;
408
+ pingAgent(agentId: EntityId): Promise<boolean>;
409
+ restartAgent(agentId: EntityId): Promise<boolean>;
410
+ notifyDirector(issue: HealthIssue): Promise<boolean>;
411
+ reassignTask(agentId: EntityId, taskId: ElementId): Promise<{
412
+ success: boolean;
413
+ newAgentId?: EntityId;
414
+ error?: string;
415
+ }>;
416
+ recordOutput(agentId: EntityId): void;
417
+ recordError(agentId: EntityId, _error?: string): void;
418
+ recordCrash(agentId: EntityId, exitCode?: number): void;
419
+ start(): void;
420
+ stop(): void;
421
+ isRunning(): boolean;
422
+ getStats(): HealthStewardStats;
423
+ on(event: 'issue:detected', listener: (issue: HealthIssue) => void): void;
424
+ on(event: 'issue:resolved', listener: (issueId: string) => void): void;
425
+ on(event: 'action:taken', listener: (result: HealthActionResult) => void): void;
426
+ on(event: 'check:completed', listener: (result: HealthCheckResult) => void): void;
427
+ off(event: string, listener: (...args: unknown[]) => void): void;
428
+ private getRunningAgents;
429
+ private getOrCreateTracker;
430
+ private createIssue;
431
+ private createUnhealthyStatus;
432
+ private determineSeverity;
433
+ private getIssueDescription;
434
+ private determineAction;
435
+ private getRecommendedActionDescription;
436
+ private findExistingIssue;
437
+ private issueStillApplies;
438
+ private countRecentEvents;
439
+ private pruneTimestamps;
440
+ private getTimestampMs;
441
+ }
442
+ /**
443
+ * Creates a HealthStewardService instance
444
+ */
445
+ export declare function createHealthStewardService(api: QuarryAPI, agentRegistry: AgentRegistry, sessionManager: SessionManager, taskAssignment: TaskAssignmentService, dispatchService: DispatchService, config?: HealthStewardConfig): HealthStewardService;
446
+ //# sourceMappingURL=health-steward-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-steward-service.d.ts","sourceRoot":"","sources":["../../src/services/health-steward-service.ts"],"names":[],"mappings":"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"}