@zhixuan92/multi-model-agent-core 4.3.1 → 4.4.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 (437) hide show
  1. package/README.md +7 -8
  2. package/dist/bounded-execution/cost-compute.d.ts.map +1 -1
  3. package/dist/bounded-execution/cost-compute.js +10 -0
  4. package/dist/bounded-execution/cost-compute.js.map +1 -1
  5. package/dist/config/config-resolver.d.ts +6 -4
  6. package/dist/config/config-resolver.d.ts.map +1 -1
  7. package/dist/config/config-resolver.js +7 -6
  8. package/dist/config/config-resolver.js.map +1 -1
  9. package/dist/config/schema.d.ts +8 -76
  10. package/dist/config/schema.d.ts.map +1 -1
  11. package/dist/config/schema.js +11 -18
  12. package/dist/config/schema.js.map +1 -1
  13. package/dist/escalation/delegate-with-escalation.d.ts.map +1 -1
  14. package/dist/escalation/delegate-with-escalation.js +35 -38
  15. package/dist/escalation/delegate-with-escalation.js.map +1 -1
  16. package/dist/escalation/escalation-policy.d.ts +1 -1
  17. package/dist/escalation/escalation-policy.d.ts.map +1 -1
  18. package/dist/escalation/escalation-policy.js +0 -1
  19. package/dist/escalation/escalation-policy.js.map +1 -1
  20. package/dist/events/clamp.d.ts.map +1 -1
  21. package/dist/events/clamp.js +17 -6
  22. package/dist/events/clamp.js.map +1 -1
  23. package/dist/events/cloud-events.d.ts +1 -3
  24. package/dist/events/cloud-events.d.ts.map +1 -1
  25. package/dist/events/event-builder.d.ts +1 -1
  26. package/dist/events/event-builder.d.ts.map +1 -1
  27. package/dist/events/event-builder.js +2 -2
  28. package/dist/events/event-builder.js.map +1 -1
  29. package/dist/events/observability-events.d.ts +1 -25
  30. package/dist/events/observability-events.d.ts.map +1 -1
  31. package/dist/events/running-headline-sink.d.ts +2 -1
  32. package/dist/events/running-headline-sink.d.ts.map +1 -1
  33. package/dist/events/running-headline-sink.js.map +1 -1
  34. package/dist/events/telemetry-types.d.ts +20 -23
  35. package/dist/events/telemetry-types.d.ts.map +1 -1
  36. package/dist/events/telemetry-types.js +13 -13
  37. package/dist/events/telemetry-types.js.map +1 -1
  38. package/dist/index.d.ts +2 -5
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +1 -5
  41. package/dist/index.js.map +1 -1
  42. package/dist/intake/source-schema.js +1 -1
  43. package/dist/intake/source-schema.js.map +1 -1
  44. package/dist/intake/types.d.ts +1 -1
  45. package/dist/intake/types.d.ts.map +1 -1
  46. package/dist/intake/verify-command-validator.d.ts +6 -0
  47. package/dist/intake/verify-command-validator.d.ts.map +1 -0
  48. package/dist/intake/verify-command-validator.js +47 -0
  49. package/dist/intake/verify-command-validator.js.map +1 -0
  50. package/dist/lifecycle/findings-parser.d.ts +9 -0
  51. package/dist/lifecycle/findings-parser.d.ts.map +1 -0
  52. package/dist/lifecycle/findings-parser.js +47 -0
  53. package/dist/lifecycle/findings-parser.js.map +1 -0
  54. package/dist/lifecycle/handlers/annotator.d.ts +35 -0
  55. package/dist/lifecycle/handlers/annotator.d.ts.map +1 -0
  56. package/dist/lifecycle/handlers/annotator.js +38 -0
  57. package/dist/lifecycle/handlers/annotator.js.map +1 -0
  58. package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +1 -1
  59. package/dist/lifecycle/handlers/baseline-handlers.js +30 -37
  60. package/dist/lifecycle/handlers/baseline-handlers.js.map +1 -1
  61. package/dist/lifecycle/handlers/git-commit-handler.d.ts +1 -16
  62. package/dist/lifecycle/handlers/git-commit-handler.d.ts.map +1 -1
  63. package/dist/lifecycle/handlers/git-commit-handler.js +147 -53
  64. package/dist/lifecycle/handlers/git-commit-handler.js.map +1 -1
  65. package/dist/lifecycle/handlers/read-route-implementer.d.ts +41 -0
  66. package/dist/lifecycle/handlers/read-route-implementer.d.ts.map +1 -0
  67. package/dist/lifecycle/handlers/read-route-implementer.js +84 -0
  68. package/dist/lifecycle/handlers/read-route-implementer.js.map +1 -0
  69. package/dist/lifecycle/handlers/review-handler.d.ts.map +1 -1
  70. package/dist/lifecycle/handlers/review-handler.js +84 -90
  71. package/dist/lifecycle/handlers/review-handler.js.map +1 -1
  72. package/dist/lifecycle/handlers/rework-handler.d.ts.map +1 -1
  73. package/dist/lifecycle/handlers/rework-handler.js +49 -25
  74. package/dist/lifecycle/handlers/rework-handler.js.map +1 -1
  75. package/dist/lifecycle/handlers/task-executor.d.ts +1 -3
  76. package/dist/lifecycle/handlers/task-executor.d.ts.map +1 -1
  77. package/dist/lifecycle/handlers/task-executor.js +88 -8
  78. package/dist/lifecycle/handlers/task-executor.js.map +1 -1
  79. package/dist/lifecycle/lifecycle-context.d.ts +13 -0
  80. package/dist/lifecycle/lifecycle-context.d.ts.map +1 -1
  81. package/dist/lifecycle/parallel-criteria-routes.d.ts +20 -6
  82. package/dist/lifecycle/parallel-criteria-routes.d.ts.map +1 -1
  83. package/dist/lifecycle/parallel-criteria-routes.js +36 -142
  84. package/dist/lifecycle/parallel-criteria-routes.js.map +1 -1
  85. package/dist/lifecycle/read-only-subtype-spec.d.ts +18 -0
  86. package/dist/lifecycle/read-only-subtype-spec.d.ts.map +1 -0
  87. package/dist/lifecycle/read-only-subtype-spec.js +2 -0
  88. package/dist/lifecycle/read-only-subtype-spec.js.map +1 -0
  89. package/dist/lifecycle/stage-labels.d.ts +22 -0
  90. package/dist/lifecycle/stage-labels.d.ts.map +1 -0
  91. package/dist/lifecycle/stage-labels.js +42 -0
  92. package/dist/lifecycle/stage-labels.js.map +1 -0
  93. package/dist/lifecycle/stage-plan-builder.d.ts.map +1 -1
  94. package/dist/lifecycle/stage-plan-builder.js +25 -54
  95. package/dist/lifecycle/stage-plan-builder.js.map +1 -1
  96. package/dist/lifecycle/stage-plan-types.d.ts +0 -23
  97. package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
  98. package/dist/lifecycle/stage-progression.js +10 -10
  99. package/dist/lifecycle/stage-progression.js.map +1 -1
  100. package/dist/lifecycle/stage-stats.js +1 -1
  101. package/dist/lifecycle/stage-stats.js.map +1 -1
  102. package/dist/lifecycle/task-executor.d.ts.map +1 -1
  103. package/dist/lifecycle/task-executor.js +20 -17
  104. package/dist/lifecycle/task-executor.js.map +1 -1
  105. package/dist/lifecycle/task-runner.d.ts.map +1 -1
  106. package/dist/lifecycle/task-runner.js +83 -72
  107. package/dist/lifecycle/task-runner.js.map +1 -1
  108. package/dist/lifecycle/tool-config-types.d.ts +1 -2
  109. package/dist/lifecycle/tool-config-types.d.ts.map +1 -1
  110. package/dist/lifecycle/warm-followup.d.ts +3 -0
  111. package/dist/lifecycle/warm-followup.d.ts.map +1 -0
  112. package/dist/lifecycle/warm-followup.js +16 -0
  113. package/dist/lifecycle/warm-followup.js.map +1 -0
  114. package/dist/lifecycle/worker-output-contract.d.ts +26 -0
  115. package/dist/lifecycle/worker-output-contract.d.ts.map +1 -0
  116. package/dist/lifecycle/worker-output-contract.js +73 -0
  117. package/dist/lifecycle/worker-output-contract.js.map +1 -0
  118. package/dist/providers/assemble-run-result.d.ts +17 -0
  119. package/dist/providers/assemble-run-result.d.ts.map +1 -0
  120. package/dist/providers/assemble-run-result.js +76 -0
  121. package/dist/providers/assemble-run-result.js.map +1 -0
  122. package/dist/providers/brief-preamble.d.ts +4 -0
  123. package/dist/providers/brief-preamble.d.ts.map +1 -0
  124. package/dist/providers/brief-preamble.js +39 -0
  125. package/dist/providers/brief-preamble.js.map +1 -0
  126. package/dist/providers/claude-session.d.ts +23 -0
  127. package/dist/providers/claude-session.d.ts.map +1 -0
  128. package/dist/providers/claude-session.js +185 -0
  129. package/dist/providers/claude-session.js.map +1 -0
  130. package/dist/providers/claude.d.ts +4 -0
  131. package/dist/providers/claude.d.ts.map +1 -0
  132. package/dist/providers/claude.js +35 -0
  133. package/dist/providers/claude.js.map +1 -0
  134. package/dist/providers/codex-cli-event.d.ts +44 -0
  135. package/dist/providers/codex-cli-event.d.ts.map +1 -0
  136. package/dist/providers/codex-cli-event.js +43 -0
  137. package/dist/providers/codex-cli-event.js.map +1 -0
  138. package/dist/providers/codex-cli-launch.d.ts +26 -0
  139. package/dist/providers/codex-cli-launch.d.ts.map +1 -0
  140. package/dist/providers/codex-cli-launch.js +47 -0
  141. package/dist/providers/codex-cli-launch.js.map +1 -0
  142. package/dist/providers/codex-cli-session.d.ts +55 -0
  143. package/dist/providers/codex-cli-session.d.ts.map +1 -0
  144. package/dist/providers/codex-cli-session.js +417 -0
  145. package/dist/providers/codex-cli-session.js.map +1 -0
  146. package/dist/providers/codex.d.ts +4 -0
  147. package/dist/providers/codex.d.ts.map +1 -0
  148. package/dist/providers/codex.js +28 -0
  149. package/dist/providers/codex.js.map +1 -0
  150. package/dist/providers/index.d.ts +0 -12
  151. package/dist/providers/index.d.ts.map +1 -1
  152. package/dist/providers/index.js +1 -13
  153. package/dist/providers/index.js.map +1 -1
  154. package/dist/providers/normalize-claude.d.ts +10 -0
  155. package/dist/providers/normalize-claude.d.ts.map +1 -0
  156. package/dist/providers/normalize-claude.js +89 -0
  157. package/dist/providers/normalize-claude.js.map +1 -0
  158. package/dist/providers/provider-factory.d.ts +1 -9
  159. package/dist/providers/provider-factory.d.ts.map +1 -1
  160. package/dist/providers/provider-factory.js +35 -167
  161. package/dist/providers/provider-factory.js.map +1 -1
  162. package/dist/providers/runner-adapter.d.ts +5 -16
  163. package/dist/providers/runner-adapter.d.ts.map +1 -1
  164. package/dist/providers/runner-adapter.js +6 -0
  165. package/dist/providers/runner-adapter.js.map +1 -1
  166. package/dist/providers/runner-types.d.ts +20 -2
  167. package/dist/providers/runner-types.d.ts.map +1 -1
  168. package/dist/reporting/report-parser-slots/research-report.d.ts +21 -17
  169. package/dist/reporting/report-parser-slots/research-report.d.ts.map +1 -1
  170. package/dist/reporting/report-parser-slots/research-report.js +28 -67
  171. package/dist/reporting/report-parser-slots/research-report.js.map +1 -1
  172. package/dist/review/annotator-engine.d.ts +2 -2
  173. package/dist/review/annotator-engine.d.ts.map +1 -1
  174. package/dist/review/annotator-engine.js +16 -20
  175. package/dist/review/annotator-engine.js.map +1 -1
  176. package/dist/review/annotator-prompt-builder.d.ts +1 -1
  177. package/dist/review/annotator-prompt-builder.d.ts.map +1 -1
  178. package/dist/review/default-engines.d.ts.map +1 -1
  179. package/dist/review/default-engines.js +2 -4
  180. package/dist/review/default-engines.js.map +1 -1
  181. package/dist/review/review-types.d.ts +0 -1
  182. package/dist/review/review-types.d.ts.map +1 -1
  183. package/dist/review/reviewer-engine.d.ts +5 -40
  184. package/dist/review/reviewer-engine.d.ts.map +1 -1
  185. package/dist/review/reviewer-engine.js +19 -49
  186. package/dist/review/reviewer-engine.js.map +1 -1
  187. package/dist/review/reviewer-output-parser.d.ts +1 -6
  188. package/dist/review/reviewer-output-parser.d.ts.map +1 -1
  189. package/dist/review/reviewer-output-parser.js +0 -26
  190. package/dist/review/reviewer-output-parser.js.map +1 -1
  191. package/dist/review/reviewer-prompt-builder.d.ts +1 -6
  192. package/dist/review/reviewer-prompt-builder.d.ts.map +1 -1
  193. package/dist/review/reviewer-prompt-builder.js +0 -6
  194. package/dist/review/reviewer-prompt-builder.js.map +1 -1
  195. package/dist/review/templates/quality-review.d.ts.map +1 -1
  196. package/dist/review/templates/quality-review.js +28 -0
  197. package/dist/review/templates/quality-review.js.map +1 -1
  198. package/dist/review/templates/rework.d.ts.map +1 -1
  199. package/dist/review/templates/rework.js +15 -9
  200. package/dist/review/templates/rework.js.map +1 -1
  201. package/dist/review/templates/shared.d.ts +9 -0
  202. package/dist/review/templates/shared.d.ts.map +1 -1
  203. package/dist/stores/context-block-project-cap.d.ts +1 -1
  204. package/dist/stores/context-block-project-cap.d.ts.map +1 -1
  205. package/dist/stores/context-block-project-cap.js +17 -5
  206. package/dist/stores/context-block-project-cap.js.map +1 -1
  207. package/dist/stores/file-backed-context-block-store.d.ts +7 -0
  208. package/dist/stores/file-backed-context-block-store.d.ts.map +1 -1
  209. package/dist/stores/file-backed-context-block-store.js +8 -0
  210. package/dist/stores/file-backed-context-block-store.js.map +1 -1
  211. package/dist/tool-surface/discover.d.ts +1 -1
  212. package/dist/tool-surface/discover.d.ts.map +1 -1
  213. package/dist/tool-surface/discover.js +0 -1
  214. package/dist/tool-surface/discover.js.map +1 -1
  215. package/dist/tool-surface/openapi-generator.d.ts.map +1 -1
  216. package/dist/tool-surface/openapi-generator.js +0 -2
  217. package/dist/tool-surface/openapi-generator.js.map +1 -1
  218. package/dist/tool-surface/register-all-tools.d.ts.map +1 -1
  219. package/dist/tool-surface/register-all-tools.js +1 -3
  220. package/dist/tool-surface/register-all-tools.js.map +1 -1
  221. package/dist/tools/audit/schema.d.ts +4 -4
  222. package/dist/tools/audit/schema.d.ts.map +1 -1
  223. package/dist/tools/audit/schema.js +4 -4
  224. package/dist/tools/audit/schema.js.map +1 -1
  225. package/dist/tools/audit/skill-audit-criteria.d.ts +9 -0
  226. package/dist/tools/audit/skill-audit-criteria.d.ts.map +1 -0
  227. package/dist/tools/audit/skill-audit-criteria.js +51 -0
  228. package/dist/tools/audit/skill-audit-criteria.js.map +1 -0
  229. package/dist/tools/audit/spec-audit-criteria.d.ts +9 -0
  230. package/dist/tools/audit/spec-audit-criteria.d.ts.map +1 -0
  231. package/dist/tools/audit/spec-audit-criteria.js +52 -0
  232. package/dist/tools/audit/spec-audit-criteria.js.map +1 -0
  233. package/dist/tools/audit/subtypes.d.ts +4 -0
  234. package/dist/tools/audit/subtypes.d.ts.map +1 -0
  235. package/dist/tools/audit/subtypes.js +67 -0
  236. package/dist/tools/audit/subtypes.js.map +1 -0
  237. package/dist/tools/audit/tool-config.d.ts +4 -4
  238. package/dist/tools/audit/tool-config.d.ts.map +1 -1
  239. package/dist/tools/audit/tool-config.js +31 -29
  240. package/dist/tools/audit/tool-config.js.map +1 -1
  241. package/dist/tools/debug/schema.d.ts +3 -0
  242. package/dist/tools/debug/schema.d.ts.map +1 -1
  243. package/dist/tools/debug/schema.js +1 -0
  244. package/dist/tools/debug/schema.js.map +1 -1
  245. package/dist/tools/debug/subtypes.d.ts +4 -0
  246. package/dist/tools/debug/subtypes.d.ts.map +1 -0
  247. package/dist/tools/debug/subtypes.js +25 -0
  248. package/dist/tools/debug/subtypes.js.map +1 -0
  249. package/dist/tools/delegate/tool-config.d.ts.map +1 -1
  250. package/dist/tools/delegate/tool-config.js +0 -1
  251. package/dist/tools/delegate/tool-config.js.map +1 -1
  252. package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
  253. package/dist/tools/execute-plan/tool-config.js +5 -2
  254. package/dist/tools/execute-plan/tool-config.js.map +1 -1
  255. package/dist/tools/index.d.ts +0 -1
  256. package/dist/tools/index.d.ts.map +1 -1
  257. package/dist/tools/index.js +0 -1
  258. package/dist/tools/index.js.map +1 -1
  259. package/dist/tools/investigate/schema.d.ts +3 -0
  260. package/dist/tools/investigate/schema.d.ts.map +1 -1
  261. package/dist/tools/investigate/schema.js +1 -0
  262. package/dist/tools/investigate/schema.js.map +1 -1
  263. package/dist/tools/investigate/subtypes.d.ts +4 -0
  264. package/dist/tools/investigate/subtypes.d.ts.map +1 -0
  265. package/dist/tools/investigate/subtypes.js +25 -0
  266. package/dist/tools/investigate/subtypes.js.map +1 -0
  267. package/dist/tools/research/implementer-criteria.d.ts +12 -5
  268. package/dist/tools/research/implementer-criteria.d.ts.map +1 -1
  269. package/dist/tools/research/implementer-criteria.js +40 -9
  270. package/dist/tools/research/implementer-criteria.js.map +1 -1
  271. package/dist/tools/research/schema.d.ts +3 -0
  272. package/dist/tools/research/schema.d.ts.map +1 -1
  273. package/dist/tools/research/schema.js +2 -1
  274. package/dist/tools/research/schema.js.map +1 -1
  275. package/dist/tools/research/subtypes.d.ts +4 -0
  276. package/dist/tools/research/subtypes.d.ts.map +1 -0
  277. package/dist/tools/research/subtypes.js +24 -0
  278. package/dist/tools/research/subtypes.js.map +1 -0
  279. package/dist/tools/research/tool-config.js +2 -2
  280. package/dist/tools/research/tool-config.js.map +1 -1
  281. package/dist/tools/review/schema.d.ts +3 -0
  282. package/dist/tools/review/schema.d.ts.map +1 -1
  283. package/dist/tools/review/schema.js +1 -0
  284. package/dist/tools/review/schema.js.map +1 -1
  285. package/dist/tools/review/subtypes.d.ts +4 -0
  286. package/dist/tools/review/subtypes.d.ts.map +1 -0
  287. package/dist/tools/review/subtypes.js +26 -0
  288. package/dist/tools/review/subtypes.js.map +1 -0
  289. package/dist/types/config.d.ts +14 -28
  290. package/dist/types/config.d.ts.map +1 -1
  291. package/dist/types/enums.d.ts +2 -7
  292. package/dist/types/enums.d.ts.map +1 -1
  293. package/dist/types/enums.js +3 -3
  294. package/dist/types/enums.js.map +1 -1
  295. package/dist/types/run-result.d.ts +56 -21
  296. package/dist/types/run-result.d.ts.map +1 -1
  297. package/dist/types/task-spec.d.ts +17 -15
  298. package/dist/types/task-spec.d.ts.map +1 -1
  299. package/dist/types.d.ts +1 -1
  300. package/dist/types.d.ts.map +1 -1
  301. package/package.json +9 -3
  302. package/dist/identity/main-model-resolver.d.ts +0 -14
  303. package/dist/identity/main-model-resolver.d.ts.map +0 -1
  304. package/dist/identity/main-model-resolver.js +0 -100
  305. package/dist/identity/main-model-resolver.js.map +0 -1
  306. package/dist/lifecycle/handlers/annotate-completion-handler.d.ts +0 -9
  307. package/dist/lifecycle/handlers/annotate-completion-handler.d.ts.map +0 -1
  308. package/dist/lifecycle/handlers/annotate-completion-handler.js +0 -200
  309. package/dist/lifecycle/handlers/annotate-completion-handler.js.map +0 -1
  310. package/dist/lifecycle/handlers/annotate-criteria-handler.d.ts +0 -3
  311. package/dist/lifecycle/handlers/annotate-criteria-handler.d.ts.map +0 -1
  312. package/dist/lifecycle/handlers/annotate-criteria-handler.js +0 -79
  313. package/dist/lifecycle/handlers/annotate-criteria-handler.js.map +0 -1
  314. package/dist/lifecycle/handlers/execution-context-builder.d.ts +0 -5
  315. package/dist/lifecycle/handlers/execution-context-builder.d.ts.map +0 -1
  316. package/dist/lifecycle/handlers/execution-context-builder.js +0 -17
  317. package/dist/lifecycle/handlers/execution-context-builder.js.map +0 -1
  318. package/dist/lifecycle/parallel-criteria-dispatcher.d.ts +0 -62
  319. package/dist/lifecycle/parallel-criteria-dispatcher.d.ts.map +0 -1
  320. package/dist/lifecycle/parallel-criteria-dispatcher.js +0 -328
  321. package/dist/lifecycle/parallel-criteria-dispatcher.js.map +0 -1
  322. package/dist/providers/anthropic-messages-adapter.d.ts +0 -26
  323. package/dist/providers/anthropic-messages-adapter.d.ts.map +0 -1
  324. package/dist/providers/anthropic-messages-adapter.js +0 -127
  325. package/dist/providers/anthropic-messages-adapter.js.map +0 -1
  326. package/dist/providers/base/research-tools.d.ts +0 -47
  327. package/dist/providers/base/research-tools.d.ts.map +0 -1
  328. package/dist/providers/base/research-tools.js +0 -67
  329. package/dist/providers/base/research-tools.js.map +0 -1
  330. package/dist/providers/base/result-builders.d.ts +0 -82
  331. package/dist/providers/base/result-builders.d.ts.map +0 -1
  332. package/dist/providers/base/result-builders.js +0 -112
  333. package/dist/providers/base/result-builders.js.map +0 -1
  334. package/dist/providers/base/time-check.d.ts +0 -9
  335. package/dist/providers/base/time-check.d.ts.map +0 -1
  336. package/dist/providers/base/time-check.js +0 -18
  337. package/dist/providers/base/time-check.js.map +0 -1
  338. package/dist/providers/base/types.d.ts +0 -53
  339. package/dist/providers/base/types.d.ts.map +0 -1
  340. package/dist/providers/base/types.js +0 -2
  341. package/dist/providers/base/types.js.map +0 -1
  342. package/dist/providers/base/usage-accumulator.d.ts +0 -9
  343. package/dist/providers/base/usage-accumulator.d.ts.map +0 -1
  344. package/dist/providers/base/usage-accumulator.js +0 -20
  345. package/dist/providers/base/usage-accumulator.js.map +0 -1
  346. package/dist/providers/call-cache.d.ts +0 -16
  347. package/dist/providers/call-cache.d.ts.map +0 -1
  348. package/dist/providers/call-cache.js +0 -28
  349. package/dist/providers/call-cache.js.map +0 -1
  350. package/dist/providers/file-tracker.d.ts +0 -80
  351. package/dist/providers/file-tracker.d.ts.map +0 -1
  352. package/dist/providers/file-tracker.js +0 -125
  353. package/dist/providers/file-tracker.js.map +0 -1
  354. package/dist/providers/injection-type.d.ts +0 -22
  355. package/dist/providers/injection-type.d.ts.map +0 -1
  356. package/dist/providers/injection-type.js +0 -34
  357. package/dist/providers/injection-type.js.map +0 -1
  358. package/dist/providers/make-runner-shell.d.ts +0 -4
  359. package/dist/providers/make-runner-shell.d.ts.map +0 -1
  360. package/dist/providers/make-runner-shell.js +0 -70
  361. package/dist/providers/make-runner-shell.js.map +0 -1
  362. package/dist/providers/openai-chat-adapter.d.ts +0 -15
  363. package/dist/providers/openai-chat-adapter.d.ts.map +0 -1
  364. package/dist/providers/openai-chat-adapter.js +0 -86
  365. package/dist/providers/openai-chat-adapter.js.map +0 -1
  366. package/dist/providers/openai-responses-adapter.d.ts +0 -15
  367. package/dist/providers/openai-responses-adapter.d.ts.map +0 -1
  368. package/dist/providers/openai-responses-adapter.js +0 -137
  369. package/dist/providers/openai-responses-adapter.js.map +0 -1
  370. package/dist/providers/openai-usage-interceptor.d.ts +0 -25
  371. package/dist/providers/openai-usage-interceptor.d.ts.map +0 -1
  372. package/dist/providers/openai-usage-interceptor.js +0 -121
  373. package/dist/providers/openai-usage-interceptor.js.map +0 -1
  374. package/dist/providers/prevention.d.ts +0 -44
  375. package/dist/providers/prevention.d.ts.map +0 -1
  376. package/dist/providers/prevention.js +0 -108
  377. package/dist/providers/prevention.js.map +0 -1
  378. package/dist/providers/runner-shell-types.d.ts +0 -91
  379. package/dist/providers/runner-shell-types.d.ts.map +0 -1
  380. package/dist/providers/runner-shell-types.js +0 -2
  381. package/dist/providers/runner-shell-types.js.map +0 -1
  382. package/dist/providers/runner-shell.d.ts +0 -67
  383. package/dist/providers/runner-shell.d.ts.map +0 -1
  384. package/dist/providers/runner-shell.js +0 -518
  385. package/dist/providers/runner-shell.js.map +0 -1
  386. package/dist/providers/scratchpad-salvager.d.ts +0 -19
  387. package/dist/providers/scratchpad-salvager.d.ts.map +0 -1
  388. package/dist/providers/scratchpad-salvager.js +0 -44
  389. package/dist/providers/scratchpad-salvager.js.map +0 -1
  390. package/dist/providers/supervision.d.ts +0 -108
  391. package/dist/providers/supervision.d.ts.map +0 -1
  392. package/dist/providers/supervision.js +0 -272
  393. package/dist/providers/supervision.js.map +0 -1
  394. package/dist/providers/text-scratchpad.d.ts +0 -28
  395. package/dist/providers/text-scratchpad.d.ts.map +0 -1
  396. package/dist/providers/text-scratchpad.js +0 -49
  397. package/dist/providers/text-scratchpad.js.map +0 -1
  398. package/dist/providers/tool-definitions.d.ts +0 -6
  399. package/dist/providers/tool-definitions.d.ts.map +0 -1
  400. package/dist/providers/tool-definitions.js +0 -236
  401. package/dist/providers/tool-definitions.js.map +0 -1
  402. package/dist/providers/tool-implementations.d.ts +0 -38
  403. package/dist/providers/tool-implementations.d.ts.map +0 -1
  404. package/dist/providers/tool-implementations.js +0 -254
  405. package/dist/providers/tool-implementations.js.map +0 -1
  406. package/dist/providers/tool-tracker.d.ts +0 -14
  407. package/dist/providers/tool-tracker.d.ts.map +0 -1
  408. package/dist/providers/tool-tracker.js +0 -13
  409. package/dist/providers/tool-tracker.js.map +0 -1
  410. package/dist/reporting/headline-templates/verify.d.ts +0 -3
  411. package/dist/reporting/headline-templates/verify.d.ts.map +0 -1
  412. package/dist/reporting/headline-templates/verify.js +0 -29
  413. package/dist/reporting/headline-templates/verify.js.map +0 -1
  414. package/dist/reporting/report-parser-slots/verify-report.d.ts +0 -27
  415. package/dist/reporting/report-parser-slots/verify-report.d.ts.map +0 -1
  416. package/dist/reporting/report-parser-slots/verify-report.js +0 -51
  417. package/dist/reporting/report-parser-slots/verify-report.js.map +0 -1
  418. package/dist/review/templates/annotator-verify.d.ts +0 -3
  419. package/dist/review/templates/annotator-verify.d.ts.map +0 -1
  420. package/dist/review/templates/annotator-verify.js +0 -21
  421. package/dist/review/templates/annotator-verify.js.map +0 -1
  422. package/dist/review/templates/quality-review-verify.d.ts +0 -3
  423. package/dist/review/templates/quality-review-verify.d.ts.map +0 -1
  424. package/dist/review/templates/quality-review-verify.js +0 -10
  425. package/dist/review/templates/quality-review-verify.js.map +0 -1
  426. package/dist/tools/verify/implementer-criteria.d.ts +0 -61
  427. package/dist/tools/verify/implementer-criteria.d.ts.map +0 -1
  428. package/dist/tools/verify/implementer-criteria.js +0 -125
  429. package/dist/tools/verify/implementer-criteria.js.map +0 -1
  430. package/dist/tools/verify/schema.d.ts +0 -56
  431. package/dist/tools/verify/schema.d.ts.map +0 -1
  432. package/dist/tools/verify/schema.js +0 -16
  433. package/dist/tools/verify/schema.js.map +0 -1
  434. package/dist/tools/verify/tool-config.d.ts +0 -14
  435. package/dist/tools/verify/tool-config.d.ts.map +0 -1
  436. package/dist/tools/verify/tool-config.js +0 -146
  437. package/dist/tools/verify/tool-config.js.map +0 -1
@@ -1,108 +0,0 @@
1
- import type { ProviderConfig } from '../types.js';
2
- import type { TaskSpec } from '../types.js';
3
- import type { ModelProfile } from '../config/model-profile-registry.js';
4
- /**
5
- * Sub-agent completion supervision.
6
- *
7
- * The runner calls validateCompletion() after every turn that ends without
8
- * a tool call (the SDK signal "agent done"). If the result is degenerate,
9
- * the runner injects a re-prompt and continues the loop instead of returning.
10
- *
11
- * See docs/superpowers/specs/2026-04-10-subagent-completion-supervision-design.md
12
- * Parts A.2.2 and A.4 for the full contract.
13
- *
14
- * --- @openai/agents SDK introspection finding (from Task 1, Step 1) ---
15
- * Happy path confirmed. The `@openai/agents` SDK (via @openai/agents-core)
16
- * exposes intermediate assistant text on the returned `RunResult`:
17
- * - `result.newItems: RunItem[]` is a discriminated union where entries of
18
- * type `"message_output_item"` are `RunMessageOutputItem` instances with
19
- * `rawItem.role === "assistant"` and `rawItem.content` carrying
20
- * `{ type: "output_text", text: string }` parts (plus `refusal`, `audio`,
21
- * `image`). See node_modules/@openai/agents-core/dist/items.d.ts around
22
- * line 337 (class RunMessageOutputItem) and dist/result.d.ts lines 17-76
23
- * (RunResultData interface — `newItems`, `output`, `history`, `state`).
24
- * - `result.state` additionally holds the full RunState, and
25
- * StreamedRunResult exposes a `RunStreamEvent` async iterator for
26
- * live mid-run observation if we ever need true streaming.
27
- * For our scratchpad needs the non-streaming path is sufficient: after any
28
- * `agentRun(...)` call (including iterative re-prompt turns), we can iterate
29
- * `result.newItems`, pick every `message_output_item`, concatenate its
30
- * `output_text` parts, and append the result to the TextScratchpad. This
31
- * gives us full intermediate salvage for openai-runner without dropping to
32
- * the lower-level OpenAI client or patching hooks. Task 3 should implement
33
- * this salvage extraction.
34
- * ----------------------------------------------------------------------
35
- */
36
- /** Classification of a degenerate model response, including coverage failures. */
37
- export type DegenerateKind = 'empty' | 'thinking_only' | 'fragment' | 'no_terminator' | 'insufficient_coverage';
38
- export interface ValidationResult {
39
- valid: boolean;
40
- kind?: DegenerateKind;
41
- reason?: string;
42
- /** Last 60 characters of the trimmed text, used by buildRePrompt. */
43
- tail?: string;
44
- }
45
- export interface ValidateCompletionOptions {
46
- minLength?: number;
47
- }
48
- export declare function validateCoverage(text: string, expected: NonNullable<TaskSpec['expectedCoverage']>): ValidationResult;
49
- /**
50
- * Marker returned by `stripThinkingTags` when the entire final message was
51
- * `<think>...` reasoning and stripping left nothing. Exported here
52
- * (rather than from openai-runner.ts) so that `validateCompletion` can detect
53
- * the marker without importing the runner, and so other runners can reuse it
54
- * when they implement their own thinking-only salvage. There is exactly one
55
- * canonical constant.
56
- */
57
- export declare const THINKING_DIAGNOSTIC_MARKER = "[model final message contained only <think>...</think> reasoning, no plain-text answer]";
58
- export declare function validateCompletion(text: string, opts?: ValidateCompletionOptions): ValidationResult;
59
- export declare function buildRePrompt(result: ValidationResult): string;
60
- /**
61
- * Compares two consecutive degenerate outputs for byte equality. Used by
62
- * the supervision loop's same-output early-out: if the model produces
63
- * identical garbage twice in a row, give up immediately instead of
64
- * burning the third retry.
65
- */
66
- export declare function sameDegenerateOutput(a: string, b: string): boolean;
67
- /**
68
- * Resolves the effective inputTokenSoftLimit for a (provider, profile) pair.
69
- *
70
- * Precedence: `config.inputTokenSoftLimit` (user override) wins over
71
- * `profile.inputTokenSoftLimit` (family default).
72
- *
73
- * Both fields are Zod-validated upstream:
74
- * - `ProviderConfig.inputTokenSoftLimit` — `z.number().int().positive().optional()`
75
- * (see packages/core/src/config/schema.ts)
76
- * - `ModelProfile.inputTokenSoftLimit` — `z.number().int().positive()` (required)
77
- *
78
- * Because profile is guaranteed to carry a positive integer (DEFAULT_PROFILE
79
- * supplies `100_000` when no prefix matches), there is no hardcoded
80
- * constant fallback — the DEFAULT_PROFILE value is the de-facto fallback
81
- * for unprofiled model IDs.
82
- */
83
- export declare function resolveInputTokenSoftLimit(config: ProviderConfig, profile: ModelProfile): number;
84
- /**
85
- * Coordinator for sub-agent output validation.
86
- *
87
- * Priority order (most authoritative first):
88
- *
89
- * 1. `empty` and `thinking_only` always fail — degeneracy checks.
90
- * 2. `expectedCoverage` declared and passes → valid (caller-declared, most trustworthy).
91
- * 3. `expectedCoverage` declared and fails → invalid.
92
- * 4. `workerStatus: 'done'` + (hasCompletedWork or skipCompletionHeuristic) → valid
93
- * (worker says done AND there's evidence of work or caller opted out).
94
- * 5. `workerStatus: 'done'` without work evidence → trust if output passes heuristic.
95
- * 6. `workerStatus: 'done_with_concerns'` + hasCompletedWork → valid.
96
- * 7. `skipCompletionHeuristic` or `hasCompletedWork` (without workerStatus) → valid.
97
- * 8. Fall through to `fragment`/`no_terminator` heuristic (last resort).
98
- *
99
- * `needs_context` and `blocked` are never auto-validated.
100
- */
101
- export declare function validateSubAgentOutput(text: string, opts?: {
102
- expectedCoverage?: TaskSpec['expectedCoverage'];
103
- skipCompletionHeuristic?: boolean;
104
- workerStatus?: 'done' | 'done_with_concerns' | 'needs_context' | 'blocked';
105
- hasCompletedWork?: boolean;
106
- hasFileArtifacts?: boolean;
107
- }): ValidationResult;
108
- //# sourceMappingURL=supervision.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"supervision.d.ts","sourceRoot":"","sources":["../../src/providers/supervision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,kFAAkF;AAClF,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,eAAe,GACf,UAAU,GACV,eAAe,GACf,uBAAuB,CAAC;AAE5B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAClD,gBAAgB,CAqClB;AAUD;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,4FACoD,CAAC;AA0D5F,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,yBAA8B,GACnC,gBAAgB,CAoDlB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAqD9D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAElE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,YAAY,GACpB,MAAM,CAER;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IACJ,gBAAgB,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAChD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,GAAG,oBAAoB,GAAG,eAAe,GAAG,SAAS,CAAC;IAC3E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,GACL,gBAAgB,CAuClB"}
@@ -1,272 +0,0 @@
1
- export function validateCoverage(text, expected) {
2
- if (expected.minSections !== undefined) {
3
- const pattern = expected.sectionPattern ?? '^## ';
4
- let re;
5
- try {
6
- re = new RegExp(pattern, 'gm');
7
- }
8
- catch (err) {
9
- return {
10
- valid: false,
11
- kind: 'insufficient_coverage',
12
- reason: `invalid sectionPattern regex: ${err instanceof Error ? err.message : String(err)}`,
13
- };
14
- }
15
- const count = (text.match(re) ?? []).length;
16
- if (count < expected.minSections) {
17
- return {
18
- valid: false,
19
- kind: 'insufficient_coverage',
20
- reason: `only ${count} sections found, expected at least ${expected.minSections}`,
21
- };
22
- }
23
- }
24
- if (expected.requiredMarkers?.length) {
25
- const missing = expected.requiredMarkers.filter((marker) => !text.includes(marker));
26
- if (missing.length > 0) {
27
- const preview = missing.slice(0, 5).join(', ');
28
- const extra = missing.length > 5 ? ` (+${missing.length - 5} more)` : '';
29
- return {
30
- valid: false,
31
- kind: 'insufficient_coverage',
32
- reason: `only ${expected.requiredMarkers.length - missing.length} of ${expected.requiredMarkers.length} required markers found, missing: ${preview}${extra}`,
33
- };
34
- }
35
- }
36
- return { valid: true };
37
- }
38
- const DEFAULT_MIN_LENGTH = 10;
39
- /** Tail window (chars) inspected by `endsWithContinuation` for continuation phrases. */
40
- const CONTINUATION_TAIL_WINDOW = 80;
41
- /** Tail length (chars) quoted back to the model in the re-prompt via `result.tail`. */
42
- const REPROMPT_TAIL_QUOTE = 60;
43
- /**
44
- * Marker returned by `stripThinkingTags` when the entire final message was
45
- * `<think>...` reasoning and stripping left nothing. Exported here
46
- * (rather than from openai-runner.ts) so that `validateCompletion` can detect
47
- * the marker without importing the runner, and so other runners can reuse it
48
- * when they implement their own thinking-only salvage. There is exactly one
49
- * canonical constant.
50
- */
51
- export const THINKING_DIAGNOSTIC_MARKER = '[model final message contained only <think>...</think> reasoning, no plain-text answer]';
52
- const CONTINUATION_PHRASES = [
53
- 'let me',
54
- 'let me check',
55
- 'let me read',
56
- 'let me look',
57
- 'next i',
58
- "i'll continue",
59
- 'i need to',
60
- "now i'll",
61
- 'i should also',
62
- 'checking',
63
- "i'll now",
64
- ];
65
- const FRAGMENT_PUNCTUATION = [':', ',', '…'];
66
- const TERMINAL_PUNCTUATION = ['.', '!', '?', '`', ')', ']', '}'];
67
- const MARKDOWN_HINTS = [/^#{1,6} /m, /^- /m, /^\d+\. /m, /```/];
68
- function endsWithContinuation(tail) {
69
- const lower = tail.toLowerCase();
70
- return CONTINUATION_PHRASES.some((p) => lower.endsWith(p) || lower.includes(p));
71
- }
72
- function endsWithFragmentPunctuation(text) {
73
- const trimmed = text.trimEnd();
74
- return FRAGMENT_PUNCTUATION.some((p) => trimmed.endsWith(p));
75
- }
76
- function hasMarkdownStructure(text) {
77
- return MARKDOWN_HINTS.some((re) => re.test(text));
78
- }
79
- function endsWithTerminalPunctuation(text) {
80
- const trimmed = text.trimEnd();
81
- if (trimmed.length === 0)
82
- return false;
83
- const last = trimmed[trimmed.length - 1];
84
- return TERMINAL_PUNCTUATION.includes(last);
85
- }
86
- // Detector order:
87
- // empty → thinking_only → fragment (always, up to FRAGMENT_MAX_LENGTH) →
88
- // long-enough → markdown → no_terminator.
89
- //
90
- // Fragment detection runs BEFORE the length auto-accept because "let me check..."
91
- // and "Here is what I found:" are real mid-work stalls regardless of length.
92
- // But we cap it at FRAGMENT_MAX_LENGTH so a 500-char response that happens to
93
- // contain "let me" deep inside isn't falsely rejected.
94
- //
95
- // The no_terminator check only fires for very short responses (< DEFAULT_MIN_LENGTH)
96
- // since it's low-value — most short complete answers end with punctuation naturally.
97
- /** Fragment detection applies to text under this length. Above it, continuation
98
- * phrases in the tail are likely part of a valid longer response. */
99
- const FRAGMENT_MAX_LENGTH = 120;
100
- export function validateCompletion(text, opts = {}) {
101
- const minLength = opts.minLength ?? DEFAULT_MIN_LENGTH;
102
- if (!text || text.trim().length === 0) {
103
- return { valid: false, kind: 'empty', reason: 'response was empty' };
104
- }
105
- if (text.trim() === THINKING_DIAGNOSTIC_MARKER) {
106
- return {
107
- valid: false,
108
- kind: 'thinking_only',
109
- reason: 'response contained only <think> reasoning content',
110
- };
111
- }
112
- const trimmed = text.trim();
113
- const tail = trimmed.slice(-CONTINUATION_TAIL_WINDOW);
114
- // Fragment detection: catches real mid-work stalls ("let me check...",
115
- // "Here is what I found:") regardless of length, up to FRAGMENT_MAX_LENGTH.
116
- // Above that cap, continuation phrases are likely part of a valid response.
117
- if (trimmed.length < FRAGMENT_MAX_LENGTH) {
118
- if (endsWithFragmentPunctuation(trimmed) || endsWithContinuation(tail)) {
119
- return {
120
- valid: false,
121
- kind: 'fragment',
122
- reason: 'response ends like an exploration fragment',
123
- tail: trimmed.slice(-REPROMPT_TAIL_QUOTE),
124
- };
125
- }
126
- }
127
- // Long enough → trust the response.
128
- if (trimmed.length >= minLength) {
129
- return { valid: true };
130
- }
131
- // Very short responses (< minLength, currently 10 chars): valid only with
132
- // markdown structure or terminal punctuation.
133
- if (hasMarkdownStructure(trimmed)) {
134
- return { valid: true };
135
- }
136
- if (!endsWithTerminalPunctuation(trimmed)) {
137
- return {
138
- valid: false,
139
- kind: 'no_terminator',
140
- reason: 'response is very short and has no terminal punctuation or markdown structure',
141
- tail: trimmed.slice(-REPROMPT_TAIL_QUOTE),
142
- };
143
- }
144
- return { valid: true };
145
- }
146
- export function buildRePrompt(result) {
147
- if (result.valid) {
148
- throw new Error('buildRePrompt called on a valid response — this is a bug');
149
- }
150
- switch (result.kind) {
151
- case 'empty':
152
- return [
153
- 'Your previous response was empty. You did not produce a final answer to the task',
154
- 'and did not call any tools. Please respond again with your complete final answer',
155
- 'as plain text in this assistant message. The final answer is what gets returned',
156
- 'to the caller — there are no follow-up turns after you produce it. If you are not',
157
- 'yet done, call the tools you need first; otherwise produce the final answer now.',
158
- ].join(' ');
159
- case 'thinking_only':
160
- return [
161
- 'Your previous response contained only <think>... reasoning, with no',
162
- 'plain-text answer outside the tags. The reasoning tags are stripped before the',
163
- 'response is returned to the caller, so a thinking-only response is equivalent',
164
- 'to no response at all. Please respond again with your complete final answer as',
165
- 'plain text outside any reasoning tags.',
166
- ].join(' ');
167
- case 'fragment': {
168
- const tail = result.tail ?? '';
169
- return [
170
- `Your previous response was an exploration fragment (it ended with "${tail}")`,
171
- 'rather than a final answer. You appear to have stopped mid-thought instead of',
172
- 'completing the task. Either: (a) continue exploring by calling the tools you',
173
- 'need, then produce your final answer, or (b) produce your complete final answer',
174
- 'now with whatever you have gathered so far — partial answers are acceptable and',
175
- 'useful, empty responses are not. Your final answer must be a plain-text',
176
- 'assistant message, not a tool call and not a thinking block.',
177
- ].join(' ');
178
- }
179
- case 'no_terminator': {
180
- const tail = result.tail ?? '';
181
- return [
182
- `Your previous response appears to have stopped mid-thought (it ended with`,
183
- `"${tail}"). Please produce your complete final answer with terminal punctuation`,
184
- 'or proper markdown structure. If you are still working, call the tools you need',
185
- 'first; otherwise produce the final answer now.',
186
- ].join(' ');
187
- }
188
- case 'insufficient_coverage':
189
- return `Your previous answer was structurally valid but does not cover everything the brief required: ${result.reason}. Continue your report by addressing the missing items. Do NOT restart from the beginning — append the missing sections to what you already wrote.`;
190
- default:
191
- return 'Your previous response was incomplete. Please produce your complete final answer as plain text.';
192
- }
193
- }
194
- /**
195
- * Compares two consecutive degenerate outputs for byte equality. Used by
196
- * the supervision loop's same-output early-out: if the model produces
197
- * identical garbage twice in a row, give up immediately instead of
198
- * burning the third retry.
199
- */
200
- export function sameDegenerateOutput(a, b) {
201
- return a.trim() === b.trim();
202
- }
203
- /**
204
- * Resolves the effective inputTokenSoftLimit for a (provider, profile) pair.
205
- *
206
- * Precedence: `config.inputTokenSoftLimit` (user override) wins over
207
- * `profile.inputTokenSoftLimit` (family default).
208
- *
209
- * Both fields are Zod-validated upstream:
210
- * - `ProviderConfig.inputTokenSoftLimit` — `z.number().int().positive().optional()`
211
- * (see packages/core/src/config/schema.ts)
212
- * - `ModelProfile.inputTokenSoftLimit` — `z.number().int().positive()` (required)
213
- *
214
- * Because profile is guaranteed to carry a positive integer (DEFAULT_PROFILE
215
- * supplies `100_000` when no prefix matches), there is no hardcoded
216
- * constant fallback — the DEFAULT_PROFILE value is the de-facto fallback
217
- * for unprofiled model IDs.
218
- */
219
- export function resolveInputTokenSoftLimit(config, profile) {
220
- return config.inputTokenSoftLimit ?? profile.inputTokenSoftLimit;
221
- }
222
- /**
223
- * Coordinator for sub-agent output validation.
224
- *
225
- * Priority order (most authoritative first):
226
- *
227
- * 1. `empty` and `thinking_only` always fail — degeneracy checks.
228
- * 2. `expectedCoverage` declared and passes → valid (caller-declared, most trustworthy).
229
- * 3. `expectedCoverage` declared and fails → invalid.
230
- * 4. `workerStatus: 'done'` + (hasCompletedWork or skipCompletionHeuristic) → valid
231
- * (worker says done AND there's evidence of work or caller opted out).
232
- * 5. `workerStatus: 'done'` without work evidence → trust if output passes heuristic.
233
- * 6. `workerStatus: 'done_with_concerns'` + hasCompletedWork → valid.
234
- * 7. `skipCompletionHeuristic` or `hasCompletedWork` (without workerStatus) → valid.
235
- * 8. Fall through to `fragment`/`no_terminator` heuristic (last resort).
236
- *
237
- * `needs_context` and `blocked` are never auto-validated.
238
- */
239
- export function validateSubAgentOutput(text, opts = {}) {
240
- // 1. Degeneracy checks
241
- const completion = validateCompletion(text);
242
- if (!completion.valid &&
243
- (completion.kind === 'empty' || completion.kind === 'thinking_only')) {
244
- return completion;
245
- }
246
- // 2-3. expectedCoverage — most authoritative when declared
247
- if (opts.expectedCoverage) {
248
- const coverage = validateCoverage(text, opts.expectedCoverage);
249
- if (!coverage.valid)
250
- return coverage;
251
- return { valid: true };
252
- }
253
- // 4. workerStatus: 'done' + work evidence → trust it
254
- if (opts.workerStatus === 'done' && (opts.hasCompletedWork || opts.hasFileArtifacts || opts.skipCompletionHeuristic)) {
255
- return { valid: true };
256
- }
257
- // 5. workerStatus: 'done' without evidence → trust if output passes heuristic
258
- if (opts.workerStatus === 'done') {
259
- return completion;
260
- }
261
- // 6. done_with_concerns + work evidence → trust it
262
- if (opts.workerStatus === 'done_with_concerns' && (opts.hasCompletedWork || opts.hasFileArtifacts)) {
263
- return { valid: true };
264
- }
265
- // 7. skipCompletionHeuristic or hasCompletedWork without workerStatus
266
- if (opts.skipCompletionHeuristic || opts.hasCompletedWork) {
267
- return { valid: true };
268
- }
269
- // 8. Fall through to heuristic
270
- return completion;
271
- }
272
- //# sourceMappingURL=supervision.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"supervision.js","sourceRoot":"","sources":["../../src/providers/supervision.ts"],"names":[],"mappings":"AAyDA,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,QAAmD;IAEnD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,IAAI,MAAM,CAAC;QAClD,IAAI,EAAU,CAAC;QACf,IAAI,CAAC;YACH,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC5C,IAAI,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACjC,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,QAAQ,KAAK,sCAAsC,QAAQ,CAAC,WAAW,EAAE;aAClF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACpF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,QAAQ,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,OAAO,QAAQ,CAAC,eAAe,CAAC,MAAM,qCAAqC,OAAO,GAAG,KAAK,EAAE;aAC7J,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,wFAAwF;AACxF,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC,uFAAuF;AACvF,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GACrC,yFAAyF,CAAC;AAE5F,MAAM,oBAAoB,GAAG;IAC3B,QAAQ;IACR,cAAc;IACd,aAAa;IACb,aAAa;IACb,QAAQ;IACR,eAAe;IACf,WAAW;IACX,UAAU;IACV,eAAe;IACf,UAAU;IACV,UAAU;CACX,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE7C,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACjE,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;AAEhE,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/B,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,OAAO,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,kBAAkB;AAClB,2EAA2E;AAC3E,4CAA4C;AAC5C,EAAE;AACF,kFAAkF;AAClF,6EAA6E;AAC7E,8EAA8E;AAC9E,uDAAuD;AACvD,EAAE;AACF,qFAAqF;AACrF,qFAAqF;AAErF;sEACsE;AACtE,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,OAAkC,EAAE;IAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAEvD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,0BAA0B,EAAE,CAAC;QAC/C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,mDAAmD;SAC5D,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAEtD,uEAAuE;IACvE,4EAA4E;IAC5E,4EAA4E;IAC5E,IAAI,OAAO,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACzC,IAAI,2BAA2B,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,4CAA4C;gBACpD,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC;aAC1C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAChC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,0EAA0E;IAC1E,8CAA8C;IAC9C,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,8EAA8E;YACtF,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAwB;IACpD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IAED,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,OAAO;YACV,OAAO;gBACL,kFAAkF;gBAClF,kFAAkF;gBAClF,iFAAiF;gBACjF,mFAAmF;gBACnF,kFAAkF;aACnF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEd,KAAK,eAAe;YAClB,OAAO;gBACL,qEAAqE;gBACrE,gFAAgF;gBAChF,+EAA+E;gBAC/E,gFAAgF;gBAChF,wCAAwC;aACzC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEd,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/B,OAAO;gBACL,sEAAsE,IAAI,IAAI;gBAC9E,+EAA+E;gBAC/E,8EAA8E;gBAC9E,iFAAiF;gBACjF,iFAAiF;gBACjF,yEAAyE;gBACzE,8DAA8D;aAC/D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/B,OAAO;gBACL,2EAA2E;gBAC3E,IAAI,IAAI,yEAAyE;gBACjF,iFAAiF;gBACjF,gDAAgD;aACjD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;QAED,KAAK,uBAAuB;YAC1B,OAAO,iGAAiG,MAAM,CAAC,MAAM,oJAAoJ,CAAC;QAE5Q;YACE,OAAO,iGAAiG,CAAC;IAC7G,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,CAAS,EAAE,CAAS;IACvD,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAAsB,EACtB,OAAqB;IAErB,OAAO,MAAM,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,OAMI,EAAE;IAEN,uBAAuB;IACvB,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,IACE,CAAC,UAAU,CAAC,KAAK;QACjB,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,IAAI,KAAK,eAAe,CAAC,EACpE,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,2DAA2D;IAC3D,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,KAAK;YAAE,OAAO,QAAQ,CAAC;QACrC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,qDAAqD;IACrD,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACrH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,mDAAmD;IACnD,IAAI,IAAI,CAAC,YAAY,KAAK,oBAAoB,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,sEAAsE;IACtE,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,+BAA+B;IAC/B,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1,28 +0,0 @@
1
- /**
2
- * TextScratchpad — accumulates assistant text emissions across turns of a
3
- * sub-agent run. The runner appends text from each turn so that, on any
4
- * termination (clean exit, abort, timeout, error), the salvage layer can
5
- * return the best buffered text instead of an empty string.
6
- *
7
- * See docs/superpowers/specs/2026-04-10-subagent-completion-supervision-design.md
8
- * Part A.2.1 for the design rationale.
9
- */
10
- export declare class TextScratchpad {
11
- private turns;
12
- /** Record a non-empty text emission for the given turn. Empty/whitespace
13
- * emissions are ignored — they have no salvage value. */
14
- append(turn: number, text: string): void;
15
- isEmpty(): boolean;
16
- /** All buffered text concatenated, in turn order, separated by a fixed
17
- * delimiter. Used as the salvage payload when no clean final answer
18
- * was produced. */
19
- toString(): string;
20
- /** The most recent buffered emission. Empty string if isEmpty(). */
21
- latest(): string;
22
- /** The longest buffered emission across all turns. Empty string if
23
- * isEmpty(). Used by the escalation layer to pick the best salvageable
24
- * result across multiple provider attempts. */
25
- longest(): string;
26
- reset(): void;
27
- }
28
- //# sourceMappingURL=text-scratchpad.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-scratchpad.d.ts","sourceRoot":"","sources":["../../src/providers/text-scratchpad.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAwC;IAErD;8DAC0D;IAC1D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxC,OAAO,IAAI,OAAO;IAIlB;;wBAEoB;IACpB,QAAQ,IAAI,MAAM;IAIlB,oEAAoE;IACpE,MAAM,IAAI,MAAM;IAIhB;;oDAEgD;IAChD,OAAO,IAAI,MAAM;IASjB,KAAK,IAAI,IAAI;CAGd"}
@@ -1,49 +0,0 @@
1
- /**
2
- * TextScratchpad — accumulates assistant text emissions across turns of a
3
- * sub-agent run. The runner appends text from each turn so that, on any
4
- * termination (clean exit, abort, timeout, error), the salvage layer can
5
- * return the best buffered text instead of an empty string.
6
- *
7
- * See docs/superpowers/specs/2026-04-10-subagent-completion-supervision-design.md
8
- * Part A.2.1 for the design rationale.
9
- */
10
- export class TextScratchpad {
11
- turns = [];
12
- /** Record a non-empty text emission for the given turn. Empty/whitespace
13
- * emissions are ignored — they have no salvage value. */
14
- append(turn, text) {
15
- if (!text || text.trim().length === 0)
16
- return;
17
- this.turns.push({ turn, text });
18
- }
19
- isEmpty() {
20
- return this.turns.length === 0;
21
- }
22
- /** All buffered text concatenated, in turn order, separated by a fixed
23
- * delimiter. Used as the salvage payload when no clean final answer
24
- * was produced. */
25
- toString() {
26
- return this.turns.map((t) => t.text).join('\n\n---\n\n');
27
- }
28
- /** The most recent buffered emission. Empty string if isEmpty(). */
29
- latest() {
30
- return this.turns.length === 0 ? '' : this.turns[this.turns.length - 1].text;
31
- }
32
- /** The longest buffered emission across all turns. Empty string if
33
- * isEmpty(). Used by the escalation layer to pick the best salvageable
34
- * result across multiple provider attempts. */
35
- longest() {
36
- if (this.turns.length === 0)
37
- return '';
38
- let best = this.turns[0].text;
39
- for (const t of this.turns) {
40
- if (t.text.length > best.length)
41
- best = t.text;
42
- }
43
- return best;
44
- }
45
- reset() {
46
- this.turns = [];
47
- }
48
- }
49
- //# sourceMappingURL=text-scratchpad.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-scratchpad.js","sourceRoot":"","sources":["../../src/providers/text-scratchpad.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,OAAO,cAAc;IACjB,KAAK,GAAqC,EAAE,CAAC;IAErD;8DAC0D;IAC1D,MAAM,CAAC,IAAY,EAAE,IAAY;QAC/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;wBAEoB;IACpB,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED,oEAAoE;IACpE,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,CAAC;IAED;;oDAEgD;IAChD,OAAO;QACL,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;gBAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF"}
@@ -1,6 +0,0 @@
1
- import type { ToolDefinition } from './runner-shell-types.js';
2
- export declare function makeToolDefinitions(opts: {
3
- cwd: string;
4
- allowedHosts?: Set<string>;
5
- }): ToolDefinition[];
6
- //# sourceMappingURL=tool-definitions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-definitions.d.ts","sourceRoot":"","sources":["../../src/providers/tool-definitions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAiC9D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC5B,GAAG,cAAc,EAAE,CAyMnB"}