@zhixuan92/multi-model-agent-core 4.7.4 → 4.7.6

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 (343) hide show
  1. package/README.md +6 -6
  2. package/dist/bounded-execution/activity-tracker-types.d.ts +0 -2
  3. package/dist/bounded-execution/activity-tracker-types.d.ts.map +1 -1
  4. package/dist/bounded-execution/activity-tracker.d.ts +1 -5
  5. package/dist/bounded-execution/activity-tracker.d.ts.map +1 -1
  6. package/dist/bounded-execution/activity-tracker.js +1 -27
  7. package/dist/bounded-execution/activity-tracker.js.map +1 -1
  8. package/dist/bounded-execution/progress-events-subscriber.d.ts +4 -12
  9. package/dist/bounded-execution/progress-events-subscriber.d.ts.map +1 -1
  10. package/dist/bounded-execution/progress-events-subscriber.js +1 -5
  11. package/dist/bounded-execution/progress-events-subscriber.js.map +1 -1
  12. package/dist/config/model-profile-registry.d.ts.map +1 -1
  13. package/dist/config/model-profile-registry.js +9 -6
  14. package/dist/config/model-profile-registry.js.map +1 -1
  15. package/dist/config/schema.d.ts +1 -1
  16. package/dist/error-codes.d.ts +0 -3
  17. package/dist/error-codes.d.ts.map +1 -1
  18. package/dist/error-codes.js +1 -4
  19. package/dist/error-codes.js.map +1 -1
  20. package/dist/events/task-envelope.d.ts +0 -6
  21. package/dist/events/task-envelope.d.ts.map +1 -1
  22. package/dist/events/task-envelope.js +6 -13
  23. package/dist/events/task-envelope.js.map +1 -1
  24. package/dist/events/to-wire-record.d.ts.map +1 -1
  25. package/dist/events/to-wire-record.js +39 -5
  26. package/dist/events/to-wire-record.js.map +1 -1
  27. package/dist/events/wire-schema.d.ts +35 -99
  28. package/dist/events/wire-schema.d.ts.map +1 -1
  29. package/dist/events/wire-schema.js +2 -4
  30. package/dist/events/wire-schema.js.map +1 -1
  31. package/dist/index.d.ts +2 -19
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +0 -14
  34. package/dist/index.js.map +1 -1
  35. package/dist/lifecycle/build-cancelled-result.d.ts.map +1 -1
  36. package/dist/lifecycle/build-cancelled-result.js +0 -2
  37. package/dist/lifecycle/build-cancelled-result.js.map +1 -1
  38. package/dist/lifecycle/handlers/annotate-stage.d.ts.map +1 -1
  39. package/dist/lifecycle/handlers/annotate-stage.js +35 -4
  40. package/dist/lifecycle/handlers/annotate-stage.js.map +1 -1
  41. package/dist/lifecycle/handlers/implement-stage.d.ts.map +1 -1
  42. package/dist/lifecycle/handlers/implement-stage.js +10 -1
  43. package/dist/lifecycle/handlers/implement-stage.js.map +1 -1
  44. package/dist/lifecycle/handlers/read-route-implementer.d.ts +5 -0
  45. package/dist/lifecycle/handlers/read-route-implementer.d.ts.map +1 -1
  46. package/dist/lifecycle/handlers/read-route-implementer.js +2 -2
  47. package/dist/lifecycle/handlers/read-route-implementer.js.map +1 -1
  48. package/dist/lifecycle/handlers/review-stage.d.ts.map +1 -1
  49. package/dist/lifecycle/handlers/review-stage.js +50 -23
  50. package/dist/lifecycle/handlers/review-stage.js.map +1 -1
  51. package/dist/lifecycle/handlers/rework-stage.d.ts.map +1 -1
  52. package/dist/lifecycle/handlers/rework-stage.js +0 -2
  53. package/dist/lifecycle/handlers/rework-stage.js.map +1 -1
  54. package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +1 -1
  55. package/dist/lifecycle/handlers/terminal-handlers.js +1 -14
  56. package/dist/lifecycle/handlers/terminal-handlers.js.map +1 -1
  57. package/dist/lifecycle/lifecycle-context.d.ts +1 -1
  58. package/dist/lifecycle/lifecycle-driver.js +4 -4
  59. package/dist/lifecycle/lifecycle-driver.js.map +1 -1
  60. package/dist/lifecycle/merge-stage-stats.d.ts +1 -4
  61. package/dist/lifecycle/merge-stage-stats.d.ts.map +1 -1
  62. package/dist/lifecycle/merge-stage-stats.js +1 -6
  63. package/dist/lifecycle/merge-stage-stats.js.map +1 -1
  64. package/dist/lifecycle/perform-implementation.d.ts.map +1 -1
  65. package/dist/lifecycle/perform-implementation.js +39 -16
  66. package/dist/lifecycle/perform-implementation.js.map +1 -1
  67. package/dist/lifecycle/stage-stats.d.ts +0 -8
  68. package/dist/lifecycle/stage-stats.d.ts.map +1 -1
  69. package/dist/lifecycle/stage-stats.js +2 -12
  70. package/dist/lifecycle/stage-stats.js.map +1 -1
  71. package/dist/lifecycle/task-completion-summary.d.ts.map +1 -1
  72. package/dist/lifecycle/task-completion-summary.js +0 -3
  73. package/dist/lifecycle/task-completion-summary.js.map +1 -1
  74. package/dist/lifecycle/task-executor.d.ts.map +1 -1
  75. package/dist/lifecycle/task-executor.js +43 -5
  76. package/dist/lifecycle/task-executor.js.map +1 -1
  77. package/dist/lifecycle/task-runner.d.ts.map +1 -1
  78. package/dist/lifecycle/task-runner.js +7 -4
  79. package/dist/lifecycle/task-runner.js.map +1 -1
  80. package/dist/lifecycle/tool-config-types.d.ts +7 -1
  81. package/dist/lifecycle/tool-config-types.d.ts.map +1 -1
  82. package/dist/providers/assemble-run-result.d.ts.map +1 -1
  83. package/dist/providers/assemble-run-result.js +5 -38
  84. package/dist/providers/assemble-run-result.js.map +1 -1
  85. package/dist/providers/claude-session.d.ts +2 -0
  86. package/dist/providers/claude-session.d.ts.map +1 -1
  87. package/dist/providers/claude-session.js +12 -12
  88. package/dist/providers/claude-session.js.map +1 -1
  89. package/dist/providers/claude-tool-categories.d.ts +19 -0
  90. package/dist/providers/claude-tool-categories.d.ts.map +1 -0
  91. package/dist/providers/claude-tool-categories.js +37 -0
  92. package/dist/providers/claude-tool-categories.js.map +1 -0
  93. package/dist/providers/claude.d.ts.map +1 -1
  94. package/dist/providers/claude.js +8 -11
  95. package/dist/providers/claude.js.map +1 -1
  96. package/dist/providers/codex-cli-event.d.ts +6 -0
  97. package/dist/providers/codex-cli-event.d.ts.map +1 -1
  98. package/dist/providers/codex-cli-event.js.map +1 -1
  99. package/dist/providers/codex-cli-launch.js +2 -2
  100. package/dist/providers/codex-cli-launch.js.map +1 -1
  101. package/dist/providers/codex-cli-session.d.ts +1 -7
  102. package/dist/providers/codex-cli-session.d.ts.map +1 -1
  103. package/dist/providers/codex-cli-session.js +27 -31
  104. package/dist/providers/codex-cli-session.js.map +1 -1
  105. package/dist/providers/normalize-claude.d.ts +0 -3
  106. package/dist/providers/normalize-claude.d.ts.map +1 -1
  107. package/dist/providers/normalize-claude.js +9 -20
  108. package/dist/providers/normalize-claude.js.map +1 -1
  109. package/dist/providers/provider-factory.d.ts +23 -4
  110. package/dist/providers/provider-factory.d.ts.map +1 -1
  111. package/dist/providers/provider-factory.js +102 -24
  112. package/dist/providers/provider-factory.js.map +1 -1
  113. package/dist/providers/runner-types.d.ts +2 -4
  114. package/dist/providers/runner-types.d.ts.map +1 -1
  115. package/dist/reporting/compose-running-headline.d.ts +1 -2
  116. package/dist/reporting/compose-running-headline.d.ts.map +1 -1
  117. package/dist/reporting/compose-running-headline.js +4 -7
  118. package/dist/reporting/compose-running-headline.js.map +1 -1
  119. package/dist/review/tier-policy.d.ts +11 -0
  120. package/dist/review/tier-policy.d.ts.map +1 -0
  121. package/dist/review/tier-policy.js +12 -0
  122. package/dist/review/tier-policy.js.map +1 -0
  123. package/dist/stores/batch-registry.d.ts +0 -1
  124. package/dist/stores/batch-registry.d.ts.map +1 -1
  125. package/dist/stores/batch-registry.js.map +1 -1
  126. package/dist/tool-surface/discover.d.ts +1 -1
  127. package/dist/tool-surface/discover.d.ts.map +1 -1
  128. package/dist/tool-surface/discover.js +1 -0
  129. package/dist/tool-surface/discover.js.map +1 -1
  130. package/dist/tools/audit/brief-slot.d.ts +15 -0
  131. package/dist/tools/audit/brief-slot.d.ts.map +1 -0
  132. package/dist/tools/audit/brief-slot.js +69 -0
  133. package/dist/tools/audit/brief-slot.js.map +1 -0
  134. package/dist/tools/audit/tool-config.d.ts +2 -14
  135. package/dist/tools/audit/tool-config.d.ts.map +1 -1
  136. package/dist/tools/audit/tool-config.js +1 -68
  137. package/dist/tools/audit/tool-config.js.map +1 -1
  138. package/dist/{intake/brief-compiler-slots/debug.d.ts → tools/debug/brief-slot.d.ts} +1 -1
  139. package/dist/tools/debug/brief-slot.d.ts.map +1 -0
  140. package/dist/{intake/brief-compiler-slots/debug.js → tools/debug/brief-slot.js} +1 -1
  141. package/dist/tools/debug/brief-slot.js.map +1 -0
  142. package/dist/tools/debug/tool-config.d.ts +1 -1
  143. package/dist/tools/debug/tool-config.d.ts.map +1 -1
  144. package/dist/tools/debug/tool-config.js +1 -1
  145. package/dist/tools/debug/tool-config.js.map +1 -1
  146. package/dist/tools/delegate/brief-slot.d.ts +13 -0
  147. package/dist/tools/delegate/brief-slot.d.ts.map +1 -0
  148. package/dist/{intake/brief-compiler-slots/delegate.js → tools/delegate/brief-slot.js} +12 -3
  149. package/dist/tools/delegate/brief-slot.js.map +1 -0
  150. package/dist/tools/delegate/schema.d.ts +1 -1
  151. package/dist/tools/delegate/tool-config.d.ts +1 -10
  152. package/dist/tools/delegate/tool-config.d.ts.map +1 -1
  153. package/dist/tools/delegate/tool-config.js +2 -10
  154. package/dist/tools/delegate/tool-config.js.map +1 -1
  155. package/dist/tools/execute-plan/brief-slot.d.ts +21 -0
  156. package/dist/tools/execute-plan/brief-slot.d.ts.map +1 -0
  157. package/dist/{intake/brief-compiler-slots/execute-plan.js → tools/execute-plan/brief-slot.js} +3 -67
  158. package/dist/tools/execute-plan/brief-slot.js.map +1 -0
  159. package/dist/tools/execute-plan/draft-id.d.ts.map +1 -0
  160. package/dist/tools/execute-plan/draft-id.js.map +1 -0
  161. package/dist/tools/execute-plan/plan-extractor.d.ts.map +1 -0
  162. package/dist/tools/execute-plan/plan-extractor.js.map +1 -0
  163. package/dist/tools/execute-plan/schema.d.ts +1 -1
  164. package/dist/tools/execute-plan/tool-config.d.ts +3 -3
  165. package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
  166. package/dist/tools/execute-plan/tool-config.js +2 -2
  167. package/dist/tools/execute-plan/tool-config.js.map +1 -1
  168. package/dist/tools/investigate/brief-slot.d.ts +31 -0
  169. package/dist/tools/investigate/brief-slot.d.ts.map +1 -0
  170. package/dist/tools/investigate/brief-slot.js +69 -0
  171. package/dist/tools/investigate/brief-slot.js.map +1 -0
  172. package/dist/tools/investigate/tool-config.d.ts +2 -29
  173. package/dist/tools/investigate/tool-config.d.ts.map +1 -1
  174. package/dist/tools/investigate/tool-config.js +2 -62
  175. package/dist/tools/investigate/tool-config.js.map +1 -1
  176. package/dist/tools/research/brief-slot.d.ts +19 -0
  177. package/dist/tools/research/brief-slot.d.ts.map +1 -0
  178. package/dist/tools/research/brief-slot.js +37 -0
  179. package/dist/tools/research/brief-slot.js.map +1 -0
  180. package/dist/tools/research/tool-config.d.ts +2 -14
  181. package/dist/tools/research/tool-config.d.ts.map +1 -1
  182. package/dist/tools/research/tool-config.js +2 -14
  183. package/dist/tools/research/tool-config.js.map +1 -1
  184. package/dist/tools/retry/brief-slot.d.ts +7 -0
  185. package/dist/tools/retry/brief-slot.d.ts.map +1 -0
  186. package/dist/tools/retry/brief-slot.js +2 -0
  187. package/dist/tools/retry/brief-slot.js.map +1 -0
  188. package/dist/tools/retry/tool-config.d.ts +1 -5
  189. package/dist/tools/retry/tool-config.d.ts.map +1 -1
  190. package/dist/tools/retry/tool-config.js +2 -1
  191. package/dist/tools/retry/tool-config.js.map +1 -1
  192. package/dist/{intake/brief-compiler-slots/review.d.ts → tools/review/brief-slot.d.ts} +1 -1
  193. package/dist/tools/review/brief-slot.d.ts.map +1 -0
  194. package/dist/{intake/brief-compiler-slots/review.js → tools/review/brief-slot.js} +1 -1
  195. package/dist/tools/review/brief-slot.js.map +1 -0
  196. package/dist/tools/review/tool-config.d.ts +1 -1
  197. package/dist/tools/review/tool-config.d.ts.map +1 -1
  198. package/dist/tools/review/tool-config.js +1 -1
  199. package/dist/tools/review/tool-config.js.map +1 -1
  200. package/dist/types/brief-quality-policy.d.ts +3 -0
  201. package/dist/types/brief-quality-policy.d.ts.map +1 -0
  202. package/dist/types/brief-quality-policy.js +2 -0
  203. package/dist/types/brief-quality-policy.js.map +1 -0
  204. package/dist/{intake/types.d.ts → types/draft-task.d.ts} +2 -40
  205. package/dist/types/draft-task.d.ts.map +1 -0
  206. package/dist/types/draft-task.js +2 -0
  207. package/dist/types/draft-task.js.map +1 -0
  208. package/dist/types/enums.d.ts +0 -3
  209. package/dist/types/enums.d.ts.map +1 -1
  210. package/dist/types/enums.js +1 -2
  211. package/dist/types/enums.js.map +1 -1
  212. package/dist/types/review-policy.d.ts +2 -0
  213. package/dist/types/review-policy.d.ts.map +1 -0
  214. package/dist/types/review-policy.js +2 -0
  215. package/dist/types/review-policy.js.map +1 -0
  216. package/dist/types/run-result.d.ts +6 -17
  217. package/dist/types/run-result.d.ts.map +1 -1
  218. package/dist/types/stage-stats.d.ts +0 -2
  219. package/dist/types/stage-stats.d.ts.map +1 -1
  220. package/dist/types/task-spec.d.ts +1 -1
  221. package/dist/types/task-spec.d.ts.map +1 -1
  222. package/package.json +1 -49
  223. package/dist/bounded-execution/cost-rollup.d.ts +0 -17
  224. package/dist/bounded-execution/cost-rollup.d.ts.map +0 -1
  225. package/dist/bounded-execution/cost-rollup.js +0 -40
  226. package/dist/bounded-execution/cost-rollup.js.map +0 -1
  227. package/dist/config/tier-policy-registry.d.ts +0 -12
  228. package/dist/config/tier-policy-registry.d.ts.map +0 -1
  229. package/dist/config/tier-policy-registry.js +0 -13
  230. package/dist/config/tier-policy-registry.js.map +0 -1
  231. package/dist/intake/brief-compiler-slots/debug.d.ts.map +0 -1
  232. package/dist/intake/brief-compiler-slots/debug.js.map +0 -1
  233. package/dist/intake/brief-compiler-slots/delegate.d.ts +0 -23
  234. package/dist/intake/brief-compiler-slots/delegate.d.ts.map +0 -1
  235. package/dist/intake/brief-compiler-slots/delegate.js.map +0 -1
  236. package/dist/intake/brief-compiler-slots/execute-plan.d.ts +0 -49
  237. package/dist/intake/brief-compiler-slots/execute-plan.d.ts.map +0 -1
  238. package/dist/intake/brief-compiler-slots/execute-plan.js.map +0 -1
  239. package/dist/intake/brief-compiler-slots/register-context-block.d.ts +0 -17
  240. package/dist/intake/brief-compiler-slots/register-context-block.d.ts.map +0 -1
  241. package/dist/intake/brief-compiler-slots/register-context-block.js +0 -17
  242. package/dist/intake/brief-compiler-slots/register-context-block.js.map +0 -1
  243. package/dist/intake/brief-compiler-slots/research.d.ts +0 -18
  244. package/dist/intake/brief-compiler-slots/research.d.ts.map +0 -1
  245. package/dist/intake/brief-compiler-slots/research.js +0 -43
  246. package/dist/intake/brief-compiler-slots/research.js.map +0 -1
  247. package/dist/intake/brief-compiler-slots/retry.d.ts +0 -20
  248. package/dist/intake/brief-compiler-slots/retry.d.ts.map +0 -1
  249. package/dist/intake/brief-compiler-slots/retry.js +0 -37
  250. package/dist/intake/brief-compiler-slots/retry.js.map +0 -1
  251. package/dist/intake/brief-compiler-slots/review.d.ts.map +0 -1
  252. package/dist/intake/brief-compiler-slots/review.js.map +0 -1
  253. package/dist/intake/brief-compiler.d.ts +0 -9
  254. package/dist/intake/brief-compiler.d.ts.map +0 -1
  255. package/dist/intake/brief-compiler.js +0 -8
  256. package/dist/intake/brief-compiler.js.map +0 -1
  257. package/dist/intake/classify.d.ts +0 -3
  258. package/dist/intake/classify.d.ts.map +0 -1
  259. package/dist/intake/classify.js +0 -111
  260. package/dist/intake/classify.js.map +0 -1
  261. package/dist/intake/context-overflow-estimator.d.ts +0 -33
  262. package/dist/intake/context-overflow-estimator.d.ts.map +0 -1
  263. package/dist/intake/context-overflow-estimator.js +0 -36
  264. package/dist/intake/context-overflow-estimator.js.map +0 -1
  265. package/dist/intake/draft-id.d.ts.map +0 -1
  266. package/dist/intake/draft-id.js.map +0 -1
  267. package/dist/intake/field-inferer.d.ts +0 -10
  268. package/dist/intake/field-inferer.d.ts.map +0 -1
  269. package/dist/intake/field-inferer.js +0 -57
  270. package/dist/intake/field-inferer.js.map +0 -1
  271. package/dist/intake/host-allowlist-builder.d.ts +0 -25
  272. package/dist/intake/host-allowlist-builder.d.ts.map +0 -1
  273. package/dist/intake/host-allowlist-builder.js +0 -102
  274. package/dist/intake/host-allowlist-builder.js.map +0 -1
  275. package/dist/intake/index.d.ts +0 -5
  276. package/dist/intake/index.d.ts.map +0 -1
  277. package/dist/intake/index.js +0 -6
  278. package/dist/intake/index.js.map +0 -1
  279. package/dist/intake/pipeline.d.ts +0 -5
  280. package/dist/intake/pipeline.d.ts.map +0 -1
  281. package/dist/intake/pipeline.js +0 -110
  282. package/dist/intake/pipeline.js.map +0 -1
  283. package/dist/intake/plan-extractor.d.ts.map +0 -1
  284. package/dist/intake/plan-extractor.js.map +0 -1
  285. package/dist/intake/resolve.d.ts +0 -16
  286. package/dist/intake/resolve.d.ts.map +0 -1
  287. package/dist/intake/resolve.js +0 -37
  288. package/dist/intake/resolve.js.map +0 -1
  289. package/dist/intake/source-schema.d.ts +0 -4
  290. package/dist/intake/source-schema.d.ts.map +0 -1
  291. package/dist/intake/source-schema.js +0 -45
  292. package/dist/intake/source-schema.js.map +0 -1
  293. package/dist/intake/types.d.ts.map +0 -1
  294. package/dist/intake/types.js +0 -2
  295. package/dist/intake/types.js.map +0 -1
  296. package/dist/intake/verify-command-validator.d.ts +0 -6
  297. package/dist/intake/verify-command-validator.d.ts.map +0 -1
  298. package/dist/intake/verify-command-validator.js +0 -47
  299. package/dist/intake/verify-command-validator.js.map +0 -1
  300. package/dist/intake/verify-referenced-blocks.d.ts +0 -5
  301. package/dist/intake/verify-referenced-blocks.d.ts.map +0 -1
  302. package/dist/intake/verify-referenced-blocks.js +0 -9
  303. package/dist/intake/verify-referenced-blocks.js.map +0 -1
  304. package/dist/providers/brief-preamble.d.ts +0 -4
  305. package/dist/providers/brief-preamble.d.ts.map +0 -1
  306. package/dist/providers/brief-preamble.js +0 -39
  307. package/dist/providers/brief-preamble.js.map +0 -1
  308. package/dist/providers/error-classification.d.ts +0 -49
  309. package/dist/providers/error-classification.d.ts.map +0 -1
  310. package/dist/providers/error-classification.js +0 -140
  311. package/dist/providers/error-classification.js.map +0 -1
  312. package/dist/providers/index.d.ts +0 -5
  313. package/dist/providers/index.d.ts.map +0 -1
  314. package/dist/providers/index.js +0 -6
  315. package/dist/providers/index.js.map +0 -1
  316. package/dist/providers/run-annotator-turn.d.ts +0 -24
  317. package/dist/providers/run-annotator-turn.d.ts.map +0 -1
  318. package/dist/providers/run-annotator-turn.js +0 -44
  319. package/dist/providers/run-annotator-turn.js.map +0 -1
  320. package/dist/providers/run-worker-turn.d.ts +0 -26
  321. package/dist/providers/run-worker-turn.d.ts.map +0 -1
  322. package/dist/providers/run-worker-turn.js +0 -57
  323. package/dist/providers/run-worker-turn.js.map +0 -1
  324. package/dist/providers/runner-adapter.d.ts +0 -49
  325. package/dist/providers/runner-adapter.d.ts.map +0 -1
  326. package/dist/providers/runner-adapter.js +0 -8
  327. package/dist/providers/runner-adapter.js.map +0 -1
  328. package/dist/providers/stall-detector.d.ts +0 -22
  329. package/dist/providers/stall-detector.d.ts.map +0 -1
  330. package/dist/providers/stall-detector.js +0 -43
  331. package/dist/providers/stall-detector.js.map +0 -1
  332. package/dist/providers/tool-name-sets.d.ts +0 -29
  333. package/dist/providers/tool-name-sets.d.ts.map +0 -1
  334. package/dist/providers/tool-name-sets.js +0 -41
  335. package/dist/providers/tool-name-sets.js.map +0 -1
  336. package/dist/review/run-reviewer.d.ts +0 -40
  337. package/dist/review/run-reviewer.d.ts.map +0 -1
  338. package/dist/review/run-reviewer.js +0 -55
  339. package/dist/review/run-reviewer.js.map +0 -1
  340. /package/dist/{intake → tools/execute-plan}/draft-id.d.ts +0 -0
  341. /package/dist/{intake → tools/execute-plan}/draft-id.js +0 -0
  342. /package/dist/{intake → tools/execute-plan}/plan-extractor.d.ts +0 -0
  343. /package/dist/{intake → tools/execute-plan}/plan-extractor.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAEA,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,6 +0,0 @@
1
- // providers/index.ts — public surface barrel.
2
- export * from './provider-factory.js';
3
- export * from './runner-adapter.js';
4
- export * from './stall-detector.js';
5
- export { runWorkerTurn } from './run-worker-turn.js';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAE9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,aAAa,EAA+C,MAAM,sBAAsB,CAAC"}
@@ -1,24 +0,0 @@
1
- import type { ExecutionContext } from '../lifecycle/lifecycle-context.js';
2
- export type RunAnnotatorInput = {
3
- prompt: string;
4
- ctx: ExecutionContext;
5
- tier?: 'standard' | 'complex';
6
- };
7
- export type RunAnnotatorResult = {
8
- kind: 'ok';
9
- text: string;
10
- costUSD: number | null;
11
- turnsUsed: number;
12
- ms: number;
13
- model: string | null;
14
- inputTokens: number;
15
- outputTokens: number;
16
- cachedReadTokens: number;
17
- cachedNonReadTokens: number;
18
- } | {
19
- kind: 'transport_error';
20
- message: string;
21
- ms: number;
22
- };
23
- export declare function runAnnotatorTurn(input: RunAnnotatorInput): Promise<RunAnnotatorResult>;
24
- //# sourceMappingURL=run-annotator-turn.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-annotator-turn.d.ts","sourceRoot":"","sources":["../../src/providers/run-annotator-turn.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAG1E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,gBAAgB,CAAC;IACtB,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GACD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAK7D,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0B5F"}
@@ -1,44 +0,0 @@
1
- // packages/core/src/providers/run-annotator-turn.ts
2
- //
3
- // Thin helper that runs a single annotator LLM turn through the session.
4
- // Implements the 3-attempt transport retry policy from spec §4.6.
5
- // Used by the annotator handler when the LLM judge layer is enabled
6
- // (config.enableLLMAnnotate / default-on path); falls back to the
7
- // deterministic parser when this helper returns transport_error.
8
- import { HUMAN_LABEL } from '../lifecycle/stage-labels.js';
9
- const TRANSPORT_RETRY_RE = /transport|network|5\d\d|timeout|ECONNREFUSED|ECONNRESET|EAI_AGAIN|ETIMEDOUT|fetch failed/i;
10
- const BACKOFF_MS = [0, 1000, 2000];
11
- export async function runAnnotatorTurn(input) {
12
- const t0 = Date.now();
13
- let lastErr = '';
14
- for (let attempt = 0; attempt < BACKOFF_MS.length; attempt++) {
15
- if (BACKOFF_MS[attempt] > 0)
16
- await sleep(BACKOFF_MS[attempt]);
17
- try {
18
- const session = input.ctx.getSession(input.tier ?? 'standard');
19
- const turn = await session.send(input.prompt, { stageLabel: HUMAN_LABEL.annotating });
20
- return {
21
- kind: 'ok',
22
- text: turn.output ?? '',
23
- costUSD: typeof turn.costUSD === 'number' ? turn.costUSD : null,
24
- turnsUsed: turn.turns ?? 1,
25
- ms: Date.now() - t0,
26
- model: typeof turn.model === 'string' ? turn.model : null,
27
- inputTokens: turn.usage?.inputTokens ?? 0,
28
- outputTokens: turn.usage?.outputTokens ?? 0,
29
- cachedReadTokens: turn.usage?.cachedReadTokens ?? 0,
30
- cachedNonReadTokens: turn.usage?.cachedNonReadTokens ?? 0,
31
- };
32
- }
33
- catch (err) {
34
- lastErr = err instanceof Error ? err.message : String(err);
35
- if (!TRANSPORT_RETRY_RE.test(lastErr))
36
- break; // non-transport: don't retry
37
- }
38
- }
39
- return { kind: 'transport_error', message: lastErr || 'annotator turn failed', ms: Date.now() - t0 };
40
- }
41
- function sleep(ms) {
42
- return new Promise(r => setTimeout(r, ms));
43
- }
44
- //# sourceMappingURL=run-annotator-turn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-annotator-turn.js","sourceRoot":"","sources":["../../src/providers/run-annotator-turn.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,EAAE;AACF,yEAAyE;AACzE,kEAAkE;AAClE,oEAAoE;AACpE,kEAAkE;AAClE,iEAAiE;AAGjE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAuB3D,MAAM,kBAAkB,GAAG,2FAA2F,CAAC;AACvH,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAwB;IAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7D,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;YACtF,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;gBACvB,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBAC/D,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;gBAC1B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;gBACnB,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBACzD,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;gBACzC,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;gBAC3C,gBAAgB,EAAE,IAAI,CAAC,KAAK,EAAE,gBAAgB,IAAI,CAAC;gBACnD,mBAAmB,EAAE,IAAI,CAAC,KAAK,EAAE,mBAAmB,IAAI,CAAC;aAC1D,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,MAAM,CAAU,6BAA6B;QACtF,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;AACvG,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,26 +0,0 @@
1
- import type { ExecutionContext } from '../lifecycle/lifecycle-context.js';
2
- import type { TaskSpec } from '../types.js';
3
- import type { MultiModelConfig } from '../types.js';
4
- export type WorkerTurnInput = {
5
- task: TaskSpec;
6
- config: MultiModelConfig;
7
- ctx: ExecutionContext;
8
- route: string;
9
- /** Optional prompt override (used by rework which passes a rework-specific prompt). */
10
- promptOverride?: string;
11
- };
12
- export type WorkerTurnResult = {
13
- kind: 'ok';
14
- text: string;
15
- costUSD: number;
16
- turnsUsed: number;
17
- stopReason: 'normal' | 'turn_cap' | 'timeout';
18
- } | {
19
- kind: 'transport_error';
20
- message: string;
21
- } | {
22
- kind: 'sandbox_violation';
23
- path: string;
24
- };
25
- export declare function runWorkerTurn(input: WorkerTurnInput): Promise<WorkerTurnResult>;
26
- //# sourceMappingURL=run-worker-turn.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-worker-turn.d.ts","sourceRoot":"","sources":["../../src/providers/run-worker-turn.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,gBAAgB,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAA;CAAE,GAC/G;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAwBhD,wBAAsB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyBrF"}
@@ -1,57 +0,0 @@
1
- // Thin wrapper that builds the worker prompt for a given route and dispatches
2
- // via the provider's session.
3
- const GIT_FORBIDDEN_INSTRUCTION = [
4
- '\n\nIMPORTANT — Persistence:',
5
- 'Do NOT run any git subcommand that mutates history',
6
- '(commit, add, push, reset, rebase, merge, cherry-pick, etc.).',
7
- 'The Committing stage handles persistence at the end.',
8
- '',
9
- 'IMPORTANT — Structured output:',
10
- 'End your response with a JSON-fenced block describing what you did:',
11
- '```json',
12
- '{',
13
- ' "summary": "one-line description",',
14
- ' "workerSelfAssessment": "done" | "failed",',
15
- ' "filesChanged": ["path/to/file.ts", ...],',
16
- ' "findings": [...], // read routes only',
17
- ' "citations": [...],',
18
- ' "criteriaSucceeded": ["criterion-name", ...],',
19
- ' "criteriaErrors": [{"criterion":"name","error":"msg"}, ...],',
20
- ' "sourcesUsed": ["url", ...]',
21
- '}',
22
- '```',
23
- ].join('\n');
24
- export async function runWorkerTurn(input) {
25
- try {
26
- const systemPrompt = input.task.systemPrompt ?? '';
27
- const userMessage = input.task.userMessage ?? '';
28
- const base = systemPrompt.length > 0 ? `${systemPrompt}\n\n${userMessage}` : userMessage;
29
- const instruction = base + GIT_FORBIDDEN_INSTRUCTION;
30
- const prompt = input.promptOverride ?? instruction;
31
- const session = input.ctx.getSession(input.ctx.assignedTier);
32
- const turn = await session.send(prompt);
33
- const typedTurn = turn;
34
- return {
35
- kind: 'ok',
36
- text: typedTurn.output ?? '',
37
- costUSD: typedTurn.costUSD ?? 0,
38
- turnsUsed: typedTurn.turns ?? 1,
39
- stopReason: mapStopReason(typedTurn.terminationReason),
40
- };
41
- }
42
- catch (err) {
43
- const msg = err instanceof Error ? err.message : String(err);
44
- if (/sandbox/i.test(msg))
45
- return { kind: 'sandbox_violation', path: '(unknown)' };
46
- return { kind: 'transport_error', message: msg };
47
- }
48
- }
49
- function mapStopReason(r) {
50
- switch (r) {
51
- case 'ok': return 'normal';
52
- case 'cap_exhausted': return 'turn_cap';
53
- case 'time_exceeded': return 'timeout';
54
- default: return 'normal';
55
- }
56
- }
57
- //# sourceMappingURL=run-worker-turn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-worker-turn.js","sourceRoot":"","sources":["../../src/providers/run-worker-turn.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8BAA8B;AAoB9B,MAAM,yBAAyB,GAAG;IAChC,8BAA8B;IAC9B,oDAAoD;IACpD,+DAA+D;IAC/D,sDAAsD;IACtD,EAAE;IACF,gCAAgC;IAChC,qEAAqE;IACrE,SAAS;IACT,GAAG;IACH,sCAAsC;IACtC,8CAA8C;IAC9C,6CAA6C;IAC7C,2CAA2C;IAC3C,uBAAuB;IACvB,iDAAiD;IACjD,gEAAgE;IAChE,+BAA+B;IAC/B,GAAG;IACH,KAAK;CACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAsB;IACxD,IAAI,CAAC;QACH,MAAM,YAAY,GAAI,KAAK,CAAC,IAAkC,CAAC,YAAY,IAAI,EAAE,CAAC;QAClF,MAAM,WAAW,GAAI,KAAK,CAAC,IAAiC,CAAC,WAAW,IAAI,EAAE,CAAC;QAC/E,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QACzF,MAAM,WAAW,GAAG,IAAI,GAAG,yBAAyB,CAAC;QAErD,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,IAAI,WAAW,CAAC;QACnD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExC,MAAM,SAAS,GAAG,IAAyF,CAAC;QAE5G,OAAO;YACL,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;YAC5B,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,CAAC;YAC/B,SAAS,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC;YAC/B,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,iBAAiB,CAAC;SACvD,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAClF,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,CAAU;IAC/B,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,IAAI,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC3B,KAAK,eAAe,CAAC,CAAC,OAAO,UAAU,CAAC;QACxC,KAAK,eAAe,CAAC,CAAC,OAAO,SAAS,CAAC;QACvC,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC;IAC3B,CAAC;AACH,CAAC"}
@@ -1,49 +0,0 @@
1
- import type { TokenUsage } from '../providers/runner-types.js';
2
- export interface AdapterTurnRecord {
3
- assistantText: string;
4
- toolCalls: Array<{
5
- name: string;
6
- input: unknown;
7
- result: unknown;
8
- }>;
9
- }
10
- export interface AdapterTurnInput {
11
- systemPrompt: string;
12
- userMessage: string;
13
- priorTurns: AdapterTurnRecord[];
14
- toolDefinitions: unknown[];
15
- capabilities: AdapterCapabilities;
16
- abortSignal?: AbortSignal;
17
- deadlineMs?: number;
18
- bus?: {
19
- emit: (event: Record<string, unknown>) => void;
20
- };
21
- cwd?: string;
22
- }
23
- export interface AdapterTurnResult {
24
- assistantText: string;
25
- toolCalls: {
26
- name: string;
27
- input: unknown;
28
- }[];
29
- usage: TokenUsage;
30
- finishReason: 'stop' | 'tool_use' | 'max_tokens' | 'error';
31
- errorCode?: string;
32
- responseShape?: {
33
- stopReason?: string;
34
- contentBlocks?: Record<string, number>;
35
- };
36
- }
37
- export interface AdapterCapabilities {
38
- cache_control: boolean;
39
- thinking: boolean;
40
- vision: boolean;
41
- tool_use: boolean;
42
- streaming: boolean;
43
- other: string[];
44
- }
45
- export interface RunnerAdapter {
46
- readonly providerType: 'claude' | 'codex' | 'mock';
47
- turn(input: AdapterTurnInput): Promise<AdapterTurnResult>;
48
- }
49
- //# sourceMappingURL=runner-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner-adapter.d.ts","sourceRoot":"","sources":["../../src/providers/runner-adapter.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,YAAY,EAAE,mBAAmB,CAAC;IAClC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;KAAE,CAAC;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAC9C,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACnD,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC3D"}
@@ -1,8 +0,0 @@
1
- // v4.4 — Test-bridge adapter type. Production code no longer uses
2
- // adapters; provider.openSession() returns a Session directly. The
3
- // `RunnerAdapter` type survives only so legacy test fixtures
4
- // (tests/contract/fixtures/mock-providers.ts → mockAdapter) can keep
5
- // emitting one canned turn at a time through bootstrap's
6
- // `adapterToFakeSession` bridge. New tests should mock Session directly.
7
- export {};
8
- //# sourceMappingURL=runner-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner-adapter.js","sourceRoot":"","sources":["../../src/providers/runner-adapter.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,mEAAmE;AACnE,6DAA6D;AAC7D,qEAAqE;AACrE,yDAAyD;AACzD,yEAAyE"}
@@ -1,22 +0,0 @@
1
- /** camelCase tool names (matching tracker.trackToolCall format in definitions.ts)
2
- * that indicate meaningful completed work — file mutations or shell execution. */
3
- export declare const COMPLETED_WORK_TOOLS: Set<string>;
4
- /** Maximum consecutive degenerate outputs (empty/thinking-only) before giving up.
5
- * Only counted when the worker has NO `writeFile`/`editFile`/`runShell` yet
6
- * (reads don't count as "completed work"). Workers that read many files before
7
- * they feel ready to write legitimately spend several turns "thinking" first —
8
- * the cap should be generous enough for that pattern. 6 covers heavy-read
9
- * tasks (plan implementation, wide refactors) while still bounding truly-stuck
10
- * runs. Complex-tier runners that hit this cap fast are still bounded by
11
- * timeoutMs. */
12
- export declare const MAX_DEGENERATE_RETRIES = 6;
13
- /** Number of consecutive turns with no new file interactions before injecting a stall warning. */
14
- export declare const STALL_DETECTION_TURNS = 5;
15
- export declare function extractToolName(toolCallEntry: string): string;
16
- export declare function hasCompletedWork(toolCalls: string[]): boolean;
17
- /** Detect if the worker is making the same tool calls repeatedly (stuck in a loop). */
18
- export declare function detectToolCallLoop(toolCalls: string[], windowSize?: number): boolean;
19
- /** Detect if the worker has stalled — no new file interactions over consecutive turns.
20
- * Caller maintains a counter of consecutive stall turns and resets it when new activity happens. */
21
- export declare function hasNewFileActivity(filesReadBefore: number, filesWrittenBefore: number, filesReadNow: number, filesWrittenNow: number): boolean;
22
- //# sourceMappingURL=stall-detector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stall-detector.d.ts","sourceRoot":"","sources":["../../src/providers/stall-detector.ts"],"names":[],"mappings":"AAKA;mFACmF;AACnF,eAAO,MAAM,oBAAoB,aAAiD,CAAC;AAEnF;;;;;;;iBAOiB;AACjB,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,kGAAkG;AAClG,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAE7D;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,UAAU,GAAE,MAAU,GAAG,OAAO,CAQvF;AAED;qGACqG;AACrG,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,MAAM,EACvB,kBAAkB,EAAE,MAAM,EAC1B,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,GACtB,OAAO,CAET"}
@@ -1,43 +0,0 @@
1
- // Stall and tool-call activity heuristics, separate from completion-text
2
- // heuristics in supervision.ts. Used by the supervision loop and the
3
- // escalation orchestrator to decide when a worker is stuck (looping,
4
- // no-new-files, no-completed-work).
5
- /** camelCase tool names (matching tracker.trackToolCall format in definitions.ts)
6
- * that indicate meaningful completed work — file mutations or shell execution. */
7
- export const COMPLETED_WORK_TOOLS = new Set(['writeFile', 'editFile', 'runShell']);
8
- /** Maximum consecutive degenerate outputs (empty/thinking-only) before giving up.
9
- * Only counted when the worker has NO `writeFile`/`editFile`/`runShell` yet
10
- * (reads don't count as "completed work"). Workers that read many files before
11
- * they feel ready to write legitimately spend several turns "thinking" first —
12
- * the cap should be generous enough for that pattern. 6 covers heavy-read
13
- * tasks (plan implementation, wide refactors) while still bounding truly-stuck
14
- * runs. Complex-tier runners that hit this cap fast are still bounded by
15
- * timeoutMs. */
16
- export const MAX_DEGENERATE_RETRIES = 6;
17
- /** Number of consecutive turns with no new file interactions before injecting a stall warning. */
18
- export const STALL_DETECTION_TURNS = 5;
19
- export function extractToolName(toolCallEntry) {
20
- const parenIndex = toolCallEntry.indexOf('(');
21
- return parenIndex === -1 ? toolCallEntry : toolCallEntry.slice(0, parenIndex);
22
- }
23
- export function hasCompletedWork(toolCalls) {
24
- return toolCalls.some(tc => COMPLETED_WORK_TOOLS.has(extractToolName(tc)));
25
- }
26
- /** Detect if the worker is making the same tool calls repeatedly (stuck in a loop). */
27
- export function detectToolCallLoop(toolCalls, windowSize = 6) {
28
- if (windowSize % 2 !== 0)
29
- throw new Error('windowSize must be even');
30
- if (toolCalls.length < windowSize)
31
- return false;
32
- const recent = toolCalls.slice(-windowSize);
33
- const half = windowSize / 2;
34
- const firstHalf = recent.slice(0, half).join('|');
35
- const secondHalf = recent.slice(half).join('|');
36
- return firstHalf === secondHalf;
37
- }
38
- /** Detect if the worker has stalled — no new file interactions over consecutive turns.
39
- * Caller maintains a counter of consecutive stall turns and resets it when new activity happens. */
40
- export function hasNewFileActivity(filesReadBefore, filesWrittenBefore, filesReadNow, filesWrittenNow) {
41
- return filesReadNow > filesReadBefore || filesWrittenNow > filesWrittenBefore;
42
- }
43
- //# sourceMappingURL=stall-detector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stall-detector.js","sourceRoot":"","sources":["../../src/providers/stall-detector.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,qEAAqE;AACrE,qEAAqE;AACrE,oCAAoC;AAEpC;mFACmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAEnF;;;;;;;iBAOiB;AACjB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,kGAAkG;AAClG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC,MAAM,UAAU,eAAe,CAAC,aAAqB;IACnD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAmB;IAClD,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,kBAAkB,CAAC,SAAmB,EAAE,aAAqB,CAAC;IAC5E,IAAI,UAAU,GAAG,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACrE,IAAI,SAAS,CAAC,MAAM,GAAG,UAAU;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,OAAO,SAAS,KAAK,UAAU,CAAC;AAClC,CAAC;AAED;qGACqG;AACrG,MAAM,UAAU,kBAAkB,CAChC,eAAuB,EACvB,kBAA0B,EAC1B,YAAoB,EACpB,eAAuB;IAEvB,OAAO,YAAY,GAAG,eAAe,IAAI,eAAe,GAAG,kBAAkB,CAAC;AAChF,CAAC"}
@@ -1,29 +0,0 @@
1
- /**
2
- * Single source of truth for tool-name → category sets.
3
- *
4
- * Two consumers historically maintained their own copies and drifted:
5
- * - `runner-shell.ts` tracks `filesRead` / `filesWritten` arrays based
6
- * on tool name → these flow into wire telemetry's
7
- * `filesReadCount` / `filesWrittenCount`.
8
- * - `running-headline-sink.ts` increments the polling headline's
9
- * `read` / `write` counts from per-turn `toolCalls` records.
10
- *
11
- * Pre-4.0.3 the sink had `WRITE_TOOLS = {writeFile, write_file}` while
12
- * the runner had `WRITE_TOOL_NAMES = {writeFile, write_file, editFile,
13
- * edit_file}`. A worker calling `edit_file` correctly bumped the
14
- * runner's counter (so `filesWrittenCount` was right on the wire) but
15
- * the polling headline reported "0 write" — drift. This module
16
- * eliminates that risk: both consumers import from here.
17
- */
18
- /** File-reading tools. Includes search/grep tools because they READ
19
- * file content even though they don't return whole files — the wire
20
- * attribution treats them uniformly as "read activity". */
21
- export declare const READ_TOOL_NAMES: ReadonlySet<string>;
22
- /** File-writing tools. Both `writeFile` (full overwrite) and
23
- * `editFile` (patch) modify the filesystem and count as writes. */
24
- export declare const WRITE_TOOL_NAMES: ReadonlySet<string>;
25
- /** Shell tools. Uncategorized for read/write attribution by name —
26
- * the runner-shell inspects the command argument via
27
- * `shellCommandWritesFs` (Gap 11) to attribute writes heuristically. */
28
- export declare const SHELL_TOOL_NAMES: ReadonlySet<string>;
29
- //# sourceMappingURL=tool-name-sets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-name-sets.d.ts","sourceRoot":"","sources":["../../src/providers/tool-name-sets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;4DAE4D;AAC5D,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAK9C,CAAC;AAEH;oEACoE;AACpE,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAG/C,CAAC;AAEH;;yEAEyE;AACzE,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAI/C,CAAC"}
@@ -1,41 +0,0 @@
1
- /**
2
- * Single source of truth for tool-name → category sets.
3
- *
4
- * Two consumers historically maintained their own copies and drifted:
5
- * - `runner-shell.ts` tracks `filesRead` / `filesWritten` arrays based
6
- * on tool name → these flow into wire telemetry's
7
- * `filesReadCount` / `filesWrittenCount`.
8
- * - `running-headline-sink.ts` increments the polling headline's
9
- * `read` / `write` counts from per-turn `toolCalls` records.
10
- *
11
- * Pre-4.0.3 the sink had `WRITE_TOOLS = {writeFile, write_file}` while
12
- * the runner had `WRITE_TOOL_NAMES = {writeFile, write_file, editFile,
13
- * edit_file}`. A worker calling `edit_file` correctly bumped the
14
- * runner's counter (so `filesWrittenCount` was right on the wire) but
15
- * the polling headline reported "0 write" — drift. This module
16
- * eliminates that risk: both consumers import from here.
17
- */
18
- /** File-reading tools. Includes search/grep tools because they READ
19
- * file content even though they don't return whole files — the wire
20
- * attribution treats them uniformly as "read activity". */
21
- export const READ_TOOL_NAMES = new Set([
22
- 'readFile', 'read_file',
23
- 'grep',
24
- 'glob',
25
- 'listFiles', 'list_files',
26
- ]);
27
- /** File-writing tools. Both `writeFile` (full overwrite) and
28
- * `editFile` (patch) modify the filesystem and count as writes. */
29
- export const WRITE_TOOL_NAMES = new Set([
30
- 'writeFile', 'write_file',
31
- 'editFile', 'edit_file',
32
- ]);
33
- /** Shell tools. Uncategorized for read/write attribution by name —
34
- * the runner-shell inspects the command argument via
35
- * `shellCommandWritesFs` (Gap 11) to attribute writes heuristically. */
36
- export const SHELL_TOOL_NAMES = new Set([
37
- 'runShell', 'run_shell',
38
- 'shell',
39
- 'bash',
40
- ]);
41
- //# sourceMappingURL=tool-name-sets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-name-sets.js","sourceRoot":"","sources":["../../src/providers/tool-name-sets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;4DAE4D;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IAC1D,UAAU,EAAE,WAAW;IACvB,MAAM;IACN,MAAM;IACN,WAAW,EAAE,YAAY;CAC1B,CAAC,CAAC;AAEH;oEACoE;AACpE,MAAM,CAAC,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IAC3D,WAAW,EAAE,YAAY;IACzB,UAAU,EAAE,WAAW;CACxB,CAAC,CAAC;AAEH;;yEAEyE;AACzE,MAAM,CAAC,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IAC3D,UAAU,EAAE,WAAW;IACvB,OAAO;IACP,MAAM;CACP,CAAC,CAAC"}
@@ -1,40 +0,0 @@
1
- import type { ExecutionContext } from '../lifecycle/lifecycle-context.js';
2
- import type { AgentType } from '../types.js';
3
- export type RunReviewerInput = {
4
- prompt: string;
5
- ctx: ExecutionContext;
6
- reviewer: 'spec' | 'quality';
7
- /**
8
- * The implementer's tier. The reviewer runs on the OPPOSITE tier as a
9
- * "second-opinion needs a different perspective" policy:
10
- * implementer=standard → reviewer=complex (capable reviewer of cheap work)
11
- * implementer=complex → reviewer=standard (cheap sanity check of expensive work)
12
- * If the inverted tier has no provider configured, falls back to the
13
- * implementer tier and records a `validation_warnings` diagnostic upstream.
14
- */
15
- implementerTier: AgentType;
16
- };
17
- /**
18
- * Cross-tier inversion: reviewer tier is the opposite of the implementer's.
19
- * Exported so callers can compute the tier independently (e.g. for logging
20
- * or for the `mergeStageStats` call in review-handler.ts).
21
- */
22
- export declare function invertedReviewerTier(implementerTier: AgentType): AgentType;
23
- export type RunReviewerResult = {
24
- kind: 'ok';
25
- text: string;
26
- costUSD: number | null;
27
- turnsUsed: number;
28
- ms: number;
29
- model: string | null;
30
- inputTokens: number;
31
- outputTokens: number;
32
- cachedReadTokens: number;
33
- cachedNonReadTokens: number;
34
- } | {
35
- kind: 'transport_error';
36
- message: string;
37
- ms: number;
38
- };
39
- export declare function runReviewerTurn(input: RunReviewerInput): Promise<RunReviewerResult>;
40
- //# sourceMappingURL=run-reviewer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-reviewer.d.ts","sourceRoot":"","sources":["../../src/review/run-reviewer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,gBAAgB,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;;;;;OAOG;IACH,eAAe,EAAE,SAAS,CAAC;CAC5B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,CAE1E;AAED,MAAM,MAAM,iBAAiB,GACzB;IACE,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GACD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,wBAAsB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqCzF"}
@@ -1,55 +0,0 @@
1
- // Thin wrapper that runs one reviewer-tier LLM turn with 3-attempt transport-retry policy.
2
- // Spec §4.6: transport failures (network, 5xx, model gateway, timeout) → 3 total attempts
3
- // with backoff 0s → 1s → 2s. Non-transport caps (turn_cap, sandbox) → no retry.
4
- import { HUMAN_LABEL } from '../lifecycle/stage-labels.js';
5
- /**
6
- * Cross-tier inversion: reviewer tier is the opposite of the implementer's.
7
- * Exported so callers can compute the tier independently (e.g. for logging
8
- * or for the `mergeStageStats` call in review-handler.ts).
9
- */
10
- export function invertedReviewerTier(implementerTier) {
11
- return implementerTier === 'complex' ? 'standard' : 'complex';
12
- }
13
- export async function runReviewerTurn(input) {
14
- const t0 = Date.now();
15
- const backoffMs = [0, 1000, 2000]; // attempt 1: no backoff; 2: 1s; 3: 2s
16
- let lastErr = '';
17
- for (let attempt = 0; attempt < 3; attempt++) {
18
- if (backoffMs[attempt] > 0)
19
- await sleep(backoffMs[attempt]);
20
- try {
21
- // Cross-tier inversion. If the inverted tier has no provider
22
- // configured (single-tier deployments), fall back to the implementer
23
- // tier so the reviewer can still run. The fallback is observable
24
- // via the resolved `session.model` carried into the wire payload.
25
- const desired = invertedReviewerTier(input.implementerTier);
26
- const providers = input.ctx.providers;
27
- const tierToUse = providers && providers[desired] ? desired : input.implementerTier;
28
- const session = input.ctx.getSession(tierToUse);
29
- const r = await session.send(input.prompt, { stageLabel: HUMAN_LABEL.review });
30
- return {
31
- kind: 'ok',
32
- text: r.output ?? '',
33
- costUSD: r.costUSD ?? null,
34
- turnsUsed: r.turns ?? 1,
35
- ms: Date.now() - t0,
36
- model: typeof r.model === 'string'
37
- ? r.model
38
- : null,
39
- inputTokens: r.usage?.inputTokens ?? 0,
40
- outputTokens: r.usage?.outputTokens ?? 0,
41
- cachedReadTokens: r.usage?.cachedReadTokens ?? 0,
42
- cachedNonReadTokens: r.usage?.cachedNonReadTokens ?? 0,
43
- };
44
- }
45
- catch (err) {
46
- lastErr = err instanceof Error ? err.message : String(err);
47
- // Only retry on transport-class errors; turn_cap / sandbox are non-retryable.
48
- if (!/transport|network|5\d\d|timeout/i.test(lastErr))
49
- break;
50
- }
51
- }
52
- return { kind: 'transport_error', message: lastErr || 'reviewer failed', ms: Date.now() - t0 };
53
- }
54
- function sleep(ms) { return new Promise(r => setTimeout(r, ms)); }
55
- //# sourceMappingURL=run-reviewer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-reviewer.js","sourceRoot":"","sources":["../../src/review/run-reviewer.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,0FAA0F;AAC1F,gFAAgF;AAIhF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAiB3D;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,eAA0B;IAC7D,OAAO,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAiBD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAuB;IAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,sCAAsC;IACzE,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7C,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,6DAA6D;YAC7D,qEAAqE;YACrE,iEAAiE;YACjE,kEAAkE;YAClE,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAI,KAAK,CAAC,GAA2D,CAAC,SAAS,CAAC;YAC/F,MAAM,SAAS,GAAc,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;YAC/F,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/E,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;gBAC1B,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;gBACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;gBACnB,KAAK,EAAE,OAAQ,CAAwB,CAAC,KAAK,KAAK,QAAQ;oBACxD,CAAC,CAAE,CAAwB,CAAC,KAAM;oBAClC,CAAC,CAAC,IAAI;gBACR,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;gBACtC,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;gBACxC,gBAAgB,EAAE,CAAC,CAAC,KAAK,EAAE,gBAAgB,IAAI,CAAC;gBAChD,mBAAmB,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,IAAI,CAAC;aACvD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3D,8EAA8E;YAC9E,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,MAAM;QAC/D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;AACjG,CAAC;AAED,SAAS,KAAK,CAAC,EAAU,IAAI,OAAO,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC"}
File without changes