@zhixuan92/multi-model-agent-core 4.7.5 → 4.7.7

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 (241) hide show
  1. package/dist/bounded-execution/activity-tracker-types.d.ts +0 -2
  2. package/dist/bounded-execution/activity-tracker-types.d.ts.map +1 -1
  3. package/dist/bounded-execution/activity-tracker.d.ts +1 -5
  4. package/dist/bounded-execution/activity-tracker.d.ts.map +1 -1
  5. package/dist/bounded-execution/activity-tracker.js +1 -27
  6. package/dist/bounded-execution/activity-tracker.js.map +1 -1
  7. package/dist/bounded-execution/progress-events-subscriber.d.ts +4 -12
  8. package/dist/bounded-execution/progress-events-subscriber.d.ts.map +1 -1
  9. package/dist/bounded-execution/progress-events-subscriber.js +1 -5
  10. package/dist/bounded-execution/progress-events-subscriber.js.map +1 -1
  11. package/dist/config/model-profile-registry.d.ts.map +1 -1
  12. package/dist/config/model-profile-registry.js +9 -6
  13. package/dist/config/model-profile-registry.js.map +1 -1
  14. package/dist/error-codes.d.ts +0 -4
  15. package/dist/error-codes.d.ts.map +1 -1
  16. package/dist/error-codes.js +1 -5
  17. package/dist/error-codes.js.map +1 -1
  18. package/dist/events/task-envelope.d.ts +15 -6
  19. package/dist/events/task-envelope.d.ts.map +1 -1
  20. package/dist/events/task-envelope.js +28 -13
  21. package/dist/events/task-envelope.js.map +1 -1
  22. package/dist/events/telemetry-uploader.d.ts +6 -2
  23. package/dist/events/telemetry-uploader.d.ts.map +1 -1
  24. package/dist/events/telemetry-uploader.js.map +1 -1
  25. package/dist/events/to-wire-record.d.ts +0 -2
  26. package/dist/events/to-wire-record.d.ts.map +1 -1
  27. package/dist/events/to-wire-record.js +34 -8
  28. package/dist/events/to-wire-record.js.map +1 -1
  29. package/dist/events/wire-schema.d.ts +37 -108
  30. package/dist/events/wire-schema.d.ts.map +1 -1
  31. package/dist/events/wire-schema.js +12 -5
  32. package/dist/events/wire-schema.js.map +1 -1
  33. package/dist/index.d.ts +1 -2
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +0 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/lifecycle/build-cancelled-result.d.ts.map +1 -1
  38. package/dist/lifecycle/build-cancelled-result.js +0 -2
  39. package/dist/lifecycle/build-cancelled-result.js.map +1 -1
  40. package/dist/lifecycle/fallback-report.d.ts.map +1 -1
  41. package/dist/lifecycle/fallback-report.js +0 -1
  42. package/dist/lifecycle/fallback-report.js.map +1 -1
  43. package/dist/lifecycle/handlers/annotate-stage.d.ts +0 -5
  44. package/dist/lifecycle/handlers/annotate-stage.d.ts.map +1 -1
  45. package/dist/lifecycle/handlers/annotate-stage.js +35 -5
  46. package/dist/lifecycle/handlers/annotate-stage.js.map +1 -1
  47. package/dist/lifecycle/handlers/enrich-runtime-result.d.ts.map +1 -1
  48. package/dist/lifecycle/handlers/enrich-runtime-result.js +22 -2
  49. package/dist/lifecycle/handlers/enrich-runtime-result.js.map +1 -1
  50. package/dist/lifecycle/handlers/implement-stage.d.ts.map +1 -1
  51. package/dist/lifecycle/handlers/implement-stage.js +10 -1
  52. package/dist/lifecycle/handlers/implement-stage.js.map +1 -1
  53. package/dist/lifecycle/handlers/read-route-implementer.js +1 -1
  54. package/dist/lifecycle/handlers/read-route-implementer.js.map +1 -1
  55. package/dist/lifecycle/handlers/review-stage.d.ts.map +1 -1
  56. package/dist/lifecycle/handlers/review-stage.js +40 -23
  57. package/dist/lifecycle/handlers/review-stage.js.map +1 -1
  58. package/dist/lifecycle/handlers/rework-stage.d.ts.map +1 -1
  59. package/dist/lifecycle/handlers/rework-stage.js +7 -14
  60. package/dist/lifecycle/handlers/rework-stage.js.map +1 -1
  61. package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +1 -1
  62. package/dist/lifecycle/handlers/terminal-handlers.js +2 -14
  63. package/dist/lifecycle/handlers/terminal-handlers.js.map +1 -1
  64. package/dist/lifecycle/lifecycle-context.d.ts +1 -2
  65. package/dist/lifecycle/lifecycle-context.d.ts.map +1 -1
  66. package/dist/lifecycle/lifecycle-driver.js +4 -4
  67. package/dist/lifecycle/lifecycle-driver.js.map +1 -1
  68. package/dist/lifecycle/merge-stage-stats.d.ts +1 -4
  69. package/dist/lifecycle/merge-stage-stats.d.ts.map +1 -1
  70. package/dist/lifecycle/merge-stage-stats.js +1 -6
  71. package/dist/lifecycle/merge-stage-stats.js.map +1 -1
  72. package/dist/lifecycle/perform-implementation.d.ts.map +1 -1
  73. package/dist/lifecycle/perform-implementation.js +2 -16
  74. package/dist/lifecycle/perform-implementation.js.map +1 -1
  75. package/dist/lifecycle/stage-plan-types.d.ts +0 -2
  76. package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
  77. package/dist/lifecycle/stage-stats.d.ts +1 -17
  78. package/dist/lifecycle/stage-stats.d.ts.map +1 -1
  79. package/dist/lifecycle/stage-stats.js +3 -35
  80. package/dist/lifecycle/stage-stats.js.map +1 -1
  81. package/dist/lifecycle/task-completion-summary.d.ts.map +1 -1
  82. package/dist/lifecycle/task-completion-summary.js +0 -3
  83. package/dist/lifecycle/task-completion-summary.js.map +1 -1
  84. package/dist/lifecycle/task-executor.d.ts.map +1 -1
  85. package/dist/lifecycle/task-executor.js +52 -5
  86. package/dist/lifecycle/task-executor.js.map +1 -1
  87. package/dist/lifecycle/task-runner.d.ts +0 -1
  88. package/dist/lifecycle/task-runner.d.ts.map +1 -1
  89. package/dist/lifecycle/task-runner.js +7 -4
  90. package/dist/lifecycle/task-runner.js.map +1 -1
  91. package/dist/lifecycle/worker-output-contract.d.ts +1 -1
  92. package/dist/providers/assemble-run-result.d.ts.map +1 -1
  93. package/dist/providers/assemble-run-result.js +5 -38
  94. package/dist/providers/assemble-run-result.js.map +1 -1
  95. package/dist/providers/claude-session.d.ts +2 -0
  96. package/dist/providers/claude-session.d.ts.map +1 -1
  97. package/dist/providers/claude-session.js +11 -45
  98. package/dist/providers/claude-session.js.map +1 -1
  99. package/dist/providers/claude-tool-categories.d.ts +19 -0
  100. package/dist/providers/claude-tool-categories.d.ts.map +1 -0
  101. package/dist/providers/claude-tool-categories.js +37 -0
  102. package/dist/providers/claude-tool-categories.js.map +1 -0
  103. package/dist/providers/claude.d.ts.map +1 -1
  104. package/dist/providers/claude.js +8 -11
  105. package/dist/providers/claude.js.map +1 -1
  106. package/dist/providers/codex-cli-event.d.ts +6 -0
  107. package/dist/providers/codex-cli-event.d.ts.map +1 -1
  108. package/dist/providers/codex-cli-event.js.map +1 -1
  109. package/dist/providers/codex-cli-launch.js +2 -2
  110. package/dist/providers/codex-cli-launch.js.map +1 -1
  111. package/dist/providers/codex-cli-session.d.ts +1 -7
  112. package/dist/providers/codex-cli-session.d.ts.map +1 -1
  113. package/dist/providers/codex-cli-session.js +27 -31
  114. package/dist/providers/codex-cli-session.js.map +1 -1
  115. package/dist/providers/normalize-claude.d.ts +0 -3
  116. package/dist/providers/normalize-claude.d.ts.map +1 -1
  117. package/dist/providers/normalize-claude.js +9 -20
  118. package/dist/providers/normalize-claude.js.map +1 -1
  119. package/dist/providers/provider-factory.d.ts +23 -4
  120. package/dist/providers/provider-factory.d.ts.map +1 -1
  121. package/dist/providers/provider-factory.js +102 -24
  122. package/dist/providers/provider-factory.js.map +1 -1
  123. package/dist/providers/runner-types.d.ts +2 -4
  124. package/dist/providers/runner-types.d.ts.map +1 -1
  125. package/dist/reporting/compose-running-headline.d.ts +1 -2
  126. package/dist/reporting/compose-running-headline.d.ts.map +1 -1
  127. package/dist/reporting/compose-running-headline.js +4 -7
  128. package/dist/reporting/compose-running-headline.js.map +1 -1
  129. package/dist/reporting/index.d.ts +0 -1
  130. package/dist/reporting/index.d.ts.map +1 -1
  131. package/dist/reporting/index.js +0 -1
  132. package/dist/reporting/index.js.map +1 -1
  133. package/dist/reporting/structured-report.d.ts +0 -4
  134. package/dist/reporting/structured-report.d.ts.map +1 -1
  135. package/dist/reporting/structured-report.js +1 -19
  136. package/dist/reporting/structured-report.js.map +1 -1
  137. package/dist/reporting/terminal-status-deriver.d.ts +2 -3
  138. package/dist/reporting/terminal-status-deriver.d.ts.map +1 -1
  139. package/dist/reporting/terminal-status-deriver.js +1 -4
  140. package/dist/reporting/terminal-status-deriver.js.map +1 -1
  141. package/dist/review/tier-policy.d.ts +11 -0
  142. package/dist/review/tier-policy.d.ts.map +1 -0
  143. package/dist/review/tier-policy.js +12 -0
  144. package/dist/review/tier-policy.js.map +1 -0
  145. package/dist/stores/batch-registry.d.ts +0 -1
  146. package/dist/stores/batch-registry.d.ts.map +1 -1
  147. package/dist/stores/batch-registry.js.map +1 -1
  148. package/dist/tool-surface/discover.d.ts +1 -1
  149. package/dist/tool-surface/discover.d.ts.map +1 -1
  150. package/dist/tool-surface/discover.js +1 -0
  151. package/dist/tool-surface/discover.js.map +1 -1
  152. package/dist/tools/delegate/brief-slot.d.ts +0 -1
  153. package/dist/tools/delegate/brief-slot.d.ts.map +1 -1
  154. package/dist/tools/delegate/brief-slot.js +0 -1
  155. package/dist/tools/delegate/brief-slot.js.map +1 -1
  156. package/dist/tools/delegate/implementer-criteria.d.ts +1 -1
  157. package/dist/tools/delegate/implementer-criteria.d.ts.map +1 -1
  158. package/dist/tools/delegate/implementer-criteria.js +2 -4
  159. package/dist/tools/delegate/implementer-criteria.js.map +1 -1
  160. package/dist/tools/delegate/schema.d.ts +0 -1
  161. package/dist/tools/delegate/schema.d.ts.map +1 -1
  162. package/dist/tools/delegate/schema.js +0 -1
  163. package/dist/tools/delegate/schema.js.map +1 -1
  164. package/dist/tools/delegate/tool-config.d.ts.map +1 -1
  165. package/dist/tools/delegate/tool-config.js +0 -1
  166. package/dist/tools/delegate/tool-config.js.map +1 -1
  167. package/dist/tools/execute-plan/brief-slot.d.ts +0 -2
  168. package/dist/tools/execute-plan/brief-slot.d.ts.map +1 -1
  169. package/dist/tools/execute-plan/brief-slot.js +0 -1
  170. package/dist/tools/execute-plan/brief-slot.js.map +1 -1
  171. package/dist/tools/execute-plan/schema.d.ts +0 -1
  172. package/dist/tools/execute-plan/schema.d.ts.map +1 -1
  173. package/dist/tools/execute-plan/schema.js +0 -2
  174. package/dist/tools/execute-plan/schema.js.map +1 -1
  175. package/dist/tools/execute-plan/tool-config.d.ts +0 -1
  176. package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
  177. package/dist/tools/execute-plan/tool-config.js +0 -2
  178. package/dist/tools/execute-plan/tool-config.js.map +1 -1
  179. package/dist/types/draft-task.d.ts +0 -1
  180. package/dist/types/draft-task.d.ts.map +1 -1
  181. package/dist/types/enums.d.ts +1 -17
  182. package/dist/types/enums.d.ts.map +1 -1
  183. package/dist/types/enums.js +2 -8
  184. package/dist/types/enums.js.map +1 -1
  185. package/dist/types/run-result.d.ts +6 -17
  186. package/dist/types/run-result.d.ts.map +1 -1
  187. package/dist/types/stage-stats.d.ts +0 -6
  188. package/dist/types/stage-stats.d.ts.map +1 -1
  189. package/dist/types/task-spec.d.ts +0 -1
  190. package/dist/types/task-spec.d.ts.map +1 -1
  191. package/dist/types.d.ts +1 -1
  192. package/dist/types.d.ts.map +1 -1
  193. package/package.json +1 -1
  194. package/dist/bounded-execution/cost-rollup.d.ts +0 -17
  195. package/dist/bounded-execution/cost-rollup.d.ts.map +0 -1
  196. package/dist/bounded-execution/cost-rollup.js +0 -40
  197. package/dist/bounded-execution/cost-rollup.js.map +0 -1
  198. package/dist/config/tier-policy-registry.d.ts +0 -12
  199. package/dist/config/tier-policy-registry.d.ts.map +0 -1
  200. package/dist/config/tier-policy-registry.js +0 -13
  201. package/dist/config/tier-policy-registry.js.map +0 -1
  202. package/dist/providers/brief-preamble.d.ts +0 -4
  203. package/dist/providers/brief-preamble.d.ts.map +0 -1
  204. package/dist/providers/brief-preamble.js +0 -39
  205. package/dist/providers/brief-preamble.js.map +0 -1
  206. package/dist/providers/error-classification.d.ts +0 -49
  207. package/dist/providers/error-classification.d.ts.map +0 -1
  208. package/dist/providers/error-classification.js +0 -140
  209. package/dist/providers/error-classification.js.map +0 -1
  210. package/dist/providers/index.d.ts +0 -5
  211. package/dist/providers/index.d.ts.map +0 -1
  212. package/dist/providers/index.js +0 -6
  213. package/dist/providers/index.js.map +0 -1
  214. package/dist/providers/run-annotator-turn.d.ts +0 -24
  215. package/dist/providers/run-annotator-turn.d.ts.map +0 -1
  216. package/dist/providers/run-annotator-turn.js +0 -44
  217. package/dist/providers/run-annotator-turn.js.map +0 -1
  218. package/dist/providers/run-worker-turn.d.ts +0 -26
  219. package/dist/providers/run-worker-turn.d.ts.map +0 -1
  220. package/dist/providers/run-worker-turn.js +0 -57
  221. package/dist/providers/run-worker-turn.js.map +0 -1
  222. package/dist/providers/runner-adapter.d.ts +0 -49
  223. package/dist/providers/runner-adapter.d.ts.map +0 -1
  224. package/dist/providers/runner-adapter.js +0 -8
  225. package/dist/providers/runner-adapter.js.map +0 -1
  226. package/dist/providers/stall-detector.d.ts +0 -22
  227. package/dist/providers/stall-detector.d.ts.map +0 -1
  228. package/dist/providers/stall-detector.js +0 -43
  229. package/dist/providers/stall-detector.js.map +0 -1
  230. package/dist/providers/tool-name-sets.d.ts +0 -29
  231. package/dist/providers/tool-name-sets.d.ts.map +0 -1
  232. package/dist/providers/tool-name-sets.js +0 -41
  233. package/dist/providers/tool-name-sets.js.map +0 -1
  234. package/dist/reporting/verify-stage-runner.d.ts +0 -21
  235. package/dist/reporting/verify-stage-runner.d.ts.map +0 -1
  236. package/dist/reporting/verify-stage-runner.js +0 -102
  237. package/dist/reporting/verify-stage-runner.js.map +0 -1
  238. package/dist/review/run-reviewer.d.ts +0 -40
  239. package/dist/review/run-reviewer.d.ts.map +0 -1
  240. package/dist/review/run-reviewer.js +0 -55
  241. package/dist/review/run-reviewer.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-classification.d.ts","sourceRoot":"","sources":["../../src/providers/error-classification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAqC5D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMjD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA+DjF"}
@@ -1,140 +0,0 @@
1
- /**
2
- * Classify a thrown error from a provider runner's request/stream path into
3
- * one of the finer-grained `RunStatus` variants introduced in Task 7.
4
- *
5
- * The function is deliberately:
6
- * - Module-level and stateless (pure function of the error).
7
- * - Tolerant of non-Error throws (strings, null, undefined, POJOs).
8
- * - Conservative: anything unrecognised falls through to `'error'`.
9
- *
10
- * Classification order is significant. AbortError / "aborted" messages are
11
- * checked BEFORE network-error codes because a timeout-driven
12
- * `AbortController.abort()` path often surfaces an error whose message
13
- * mentions "aborted" and whose underlying cause may have `.code` set — we
14
- * want that to surface as `api_aborted`, not `network_error`.
15
- *
16
- * `api_error` is keyed off the presence of a numeric `.status` field, which
17
- * is the convention used by both `openai` SDK `APIError` and fetch-based
18
- * HTTP error wrappers in this codebase.
19
- *
20
- * NOTE: this helper does NOT replace the codex-runner's turn-scoped
21
- * `lastResponseStatus` disambiguation from Task 5. The `reason` returned
22
- * here is the *classification* string; the codex catch branch still builds
23
- * a richer `detailed` message and uses it as the final `error` field.
24
- */
25
- /**
26
- * Detect whether an error represents a provider-side context-limit
27
- * violation. Pattern-matches known provider error signatures for
28
- * context-window exceeded conditions.
29
- *
30
- * Used by every runner to set errorCode='provider_context_limit' so the
31
- * escalation orchestrator and downstream observers can distinguish
32
- * context-limit failures from other API errors without string-matching
33
- * the error field.
34
- */
35
- export function isProviderContextLimit(err) {
36
- const e = (err ?? {});
37
- const message = typeof e.message === 'string' ? e.message : '';
38
- const code = typeof e.code === 'string' ? e.code : '';
39
- const error = typeof e.error === 'string' ? e.error : '';
40
- const bodyText = typeof e.bodyText === 'string' ? e.bodyText : '';
41
- // Also inspect nested error shapes (some SDKs wrap in error.code / error.message).
42
- const nestedError = (typeof e.error === 'object' && e.error !== null) ? e.error : null;
43
- const nestedCode = typeof nestedError?.code === 'string' ? nestedError.code : '';
44
- const nestedMessage = typeof nestedError?.message === 'string' ? nestedError.message : '';
45
- const combined = `${message} ${code} ${error} ${bodyText} ${nestedCode} ${nestedMessage}`;
46
- // Check structured code fields first — these are the most specific
47
- // provider signals (OpenAI-compatible APIs commonly use this code).
48
- if (code === 'context_length_exceeded' || nestedCode === 'context_length_exceeded')
49
- return true;
50
- // OpenAI-compatible signatures seen in APIError messages:
51
- // - "context_length_exceeded"
52
- // - "context length exceeded"
53
- // - "This model's maximum context length is ..."
54
- // - "Please reduce the length of the messages"
55
- if (/context[_ -]length[_ -]exceeded/i.test(combined))
56
- return true;
57
- if (/maximum context length/i.test(combined))
58
- return true;
59
- if (/reduce the length of the messages?/i.test(combined))
60
- return true;
61
- // Anthropic / generic context-window signatures.
62
- if (/context window(?: is| size| exceeded| limit| too)/i.test(combined))
63
- return true;
64
- return false;
65
- }
66
- /**
67
- * Detect whether an error represents a provider-side rate limit (HTTP 429
68
- * or equivalent). Used by every runner to surface a structured
69
- * `rate_limit_exceeded` code so the escalation orchestrator and downstream
70
- * observers can distinguish rate-limit backpressure from other API errors
71
- * without string-matching the `error` field.
72
- */
73
- export function isRateLimit(err) {
74
- const e = (err ?? {});
75
- if (typeof e.status === 'number' && e.status === 429)
76
- return true;
77
- if (typeof e.code === 'string' && e.code === 'rate_limit_exceeded')
78
- return true;
79
- if (typeof e.message === 'string' && /rate.limit/i.test(e.message))
80
- return true;
81
- return false;
82
- }
83
- export function classifyError(err) {
84
- // Provider context-window failures are API-side rejections even when the
85
- // thrown shape lacks a numeric HTTP status. Check this before generic HTTP
86
- // handling so classifyError() participates in provider_context_limit
87
- // classification instead of leaving these as plain api_error/error.
88
- if (isProviderContextLimit(err)) {
89
- return {
90
- status: 'api_error',
91
- reason: 'provider_context_limit',
92
- };
93
- }
94
- // Unwrap the common fields we read below. `err` may be anything, so guard
95
- // every access.
96
- const e = (err ?? {});
97
- const message = typeof e.message === 'string' ? e.message : '';
98
- const name = typeof e.name === 'string' ? e.name : '';
99
- const code = typeof e.code === 'string' ? e.code : '';
100
- // 1. Abort: AbortError or any message containing "aborted".
101
- if (name === 'AbortError' || /aborted/i.test(message)) {
102
- return {
103
- status: 'api_aborted',
104
- reason: 'request was aborted (signal cancellation or provider-side abort)',
105
- };
106
- }
107
- // 2. Network-level failures: DNS/connection errors, or messages that
108
- // explicitly mention "network".
109
- if (code === 'ECONNREFUSED' || code === 'ENOTFOUND' || /network/i.test(message)) {
110
- return {
111
- status: 'provider_transport_failure',
112
- reason: message || 'network error',
113
- };
114
- }
115
- // 3. HTTP errors exposed via a numeric `.status` field.
116
- if (typeof e.status === 'number') {
117
- return {
118
- status: 'api_error',
119
- reason: `HTTP ${e.status}${message ? `: ${message}` : ''}`,
120
- };
121
- }
122
- // 4. Fallback: unknown error shape. Best-effort `reason` extraction.
123
- let reason;
124
- if (message) {
125
- reason = message;
126
- }
127
- else if (typeof err === 'string') {
128
- reason = err;
129
- }
130
- else {
131
- try {
132
- reason = String(err);
133
- }
134
- catch {
135
- reason = 'unknown error';
136
- }
137
- }
138
- return { status: 'error', reason };
139
- }
140
- //# sourceMappingURL=error-classification.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-classification.js","sourceRoot":"","sources":["../../src/providers/error-classification.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export * from './provider-factory.js';
2
- export * from './runner-adapter.js';
3
- export * from './stall-detector.js';
4
- export { runWorkerTurn, type WorkerTurnInput, type WorkerTurnResult } from './run-worker-turn.js';
5
- //# sourceMappingURL=index.d.ts.map
@@ -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,21 +0,0 @@
1
- export interface VerifyResult {
2
- exitCode: number;
3
- stdout: string;
4
- stderr: string;
5
- signal: string | null;
6
- durationMs: number;
7
- errorCode?: string;
8
- }
9
- export interface VerifyStageRunnerOptions {
10
- timeoutMs?: number;
11
- }
12
- export declare class VerifyStageRunner {
13
- /**
14
- * Run a post-implementation verify command (e.g. `npm test`).
15
- *
16
- * IMPORTANT: `command` is executed via `shell: true` and MUST be trusted input
17
- * (config-supplied, not user-supplied). Do not pass unsanitized user input here.
18
- */
19
- run(command: string, cwd: string, options?: VerifyStageRunnerOptions): Promise<VerifyResult>;
20
- }
21
- //# sourceMappingURL=verify-stage-runner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify-stage-runner.d.ts","sourceRoot":"","sources":["../../src/reporting/verify-stage-runner.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuBD,qBAAa,iBAAiB;IAC5B;;;;;OAKG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,YAAY,CAAC;CAyEvG"}