@zhixuan92/multi-model-agent-core 4.2.2 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/config/schema.d.ts +1 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +4 -3
- package/dist/config/schema.js.map +1 -1
- package/dist/error-codes.d.ts +1 -0
- package/dist/error-codes.d.ts.map +1 -1
- package/dist/error-codes.js +2 -0
- package/dist/error-codes.js.map +1 -1
- package/dist/events/telemetry-types.d.ts +24 -20
- package/dist/events/telemetry-types.d.ts.map +1 -1
- package/dist/identity/auth-token-store.d.ts +36 -0
- package/dist/identity/auth-token-store.d.ts.map +1 -1
- package/dist/identity/auth-token-store.js +71 -2
- package/dist/identity/auth-token-store.js.map +1 -1
- package/dist/identity/cwd-validator.d.ts.map +1 -1
- package/dist/identity/cwd-validator.js +15 -3
- package/dist/identity/cwd-validator.js.map +1 -1
- package/dist/identity/main-model-resolver.d.ts +14 -0
- package/dist/identity/main-model-resolver.d.ts.map +1 -0
- package/dist/identity/main-model-resolver.js +83 -0
- package/dist/identity/main-model-resolver.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/intake/brief-compiler-slots/delegate.d.ts +10 -11
- package/dist/intake/brief-compiler-slots/delegate.d.ts.map +1 -1
- package/dist/intake/brief-compiler-slots/delegate.js +12 -14
- package/dist/intake/brief-compiler-slots/delegate.js.map +1 -1
- package/dist/intake/brief-compiler-slots/execute-plan.js +3 -1
- package/dist/intake/brief-compiler-slots/execute-plan.js.map +1 -1
- package/dist/intake/context-overflow-estimator.d.ts +33 -0
- package/dist/intake/context-overflow-estimator.d.ts.map +1 -0
- package/dist/intake/context-overflow-estimator.js +36 -0
- package/dist/intake/context-overflow-estimator.js.map +1 -0
- package/dist/intake/pipeline.d.ts.map +1 -1
- package/dist/intake/pipeline.js +46 -0
- package/dist/intake/pipeline.js.map +1 -1
- package/dist/intake/plan-extractor.d.ts.map +1 -1
- package/dist/intake/plan-extractor.js +10 -1
- package/dist/intake/plan-extractor.js.map +1 -1
- package/dist/intake/types.d.ts +1 -0
- package/dist/intake/types.d.ts.map +1 -1
- package/dist/lifecycle/diff-tracker.d.ts +17 -1
- package/dist/lifecycle/diff-tracker.d.ts.map +1 -1
- package/dist/lifecycle/diff-tracker.js +115 -2
- package/dist/lifecycle/diff-tracker.js.map +1 -1
- package/dist/lifecycle/handlers/annotate-completion-handler.d.ts +9 -0
- package/dist/lifecycle/handlers/annotate-completion-handler.d.ts.map +1 -0
- package/dist/lifecycle/handlers/annotate-completion-handler.js +171 -0
- package/dist/lifecycle/handlers/annotate-completion-handler.js.map +1 -0
- package/dist/lifecycle/handlers/annotate-criteria-handler.d.ts +3 -0
- package/dist/lifecycle/handlers/annotate-criteria-handler.d.ts.map +1 -0
- package/dist/lifecycle/handlers/annotate-criteria-handler.js +67 -0
- package/dist/lifecycle/handlers/annotate-criteria-handler.js.map +1 -0
- package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/baseline-handlers.js +106 -71
- package/dist/lifecycle/handlers/baseline-handlers.js.map +1 -1
- package/dist/lifecycle/handlers/review-handler.d.ts +3 -0
- package/dist/lifecycle/handlers/review-handler.d.ts.map +1 -0
- package/dist/lifecycle/handlers/review-handler.js +141 -0
- package/dist/lifecycle/handlers/review-handler.js.map +1 -0
- package/dist/lifecycle/handlers/rework-handler.d.ts +3 -0
- package/dist/lifecycle/handlers/rework-handler.d.ts.map +1 -0
- package/dist/lifecycle/handlers/rework-handler.js +77 -0
- package/dist/lifecycle/handlers/rework-handler.js.map +1 -0
- package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/terminal-handlers.js +16 -3
- package/dist/lifecycle/handlers/terminal-handlers.js.map +1 -1
- package/dist/lifecycle/lifecycle-context.d.ts +4 -0
- package/dist/lifecycle/lifecycle-context.d.ts.map +1 -1
- package/dist/lifecycle/lifecycle-driver.d.ts.map +1 -1
- package/dist/lifecycle/lifecycle-driver.js +12 -7
- package/dist/lifecycle/lifecycle-driver.js.map +1 -1
- package/dist/lifecycle/parallel-criteria-routes.d.ts +1 -1
- package/dist/lifecycle/parallel-criteria-routes.d.ts.map +1 -1
- package/dist/lifecycle/parallel-criteria-routes.js +21 -1
- package/dist/lifecycle/parallel-criteria-routes.js.map +1 -1
- package/dist/lifecycle/shared-compute.d.ts +9 -0
- package/dist/lifecycle/shared-compute.d.ts.map +1 -1
- package/dist/lifecycle/shared-compute.js +35 -3
- package/dist/lifecycle/shared-compute.js.map +1 -1
- package/dist/lifecycle/stage-plan-builder.d.ts.map +1 -1
- package/dist/lifecycle/stage-plan-builder.js +65 -85
- package/dist/lifecycle/stage-plan-builder.js.map +1 -1
- package/dist/lifecycle/stage-plan-types.d.ts +48 -0
- package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
- package/dist/lifecycle/stage-progression.d.ts.map +1 -1
- package/dist/lifecycle/stage-progression.js +17 -24
- package/dist/lifecycle/stage-progression.js.map +1 -1
- package/dist/lifecycle/task-runner.d.ts.map +1 -1
- package/dist/lifecycle/task-runner.js +12 -1
- package/dist/lifecycle/task-runner.js.map +1 -1
- package/dist/model-profiles.json +192 -53
- package/dist/providers/anthropic-messages-adapter.d.ts +8 -0
- package/dist/providers/anthropic-messages-adapter.d.ts.map +1 -1
- package/dist/providers/anthropic-messages-adapter.js +16 -1
- package/dist/providers/anthropic-messages-adapter.js.map +1 -1
- package/dist/providers/file-tracker.d.ts +12 -0
- package/dist/providers/file-tracker.d.ts.map +1 -1
- package/dist/providers/file-tracker.js +16 -0
- package/dist/providers/file-tracker.js.map +1 -1
- package/dist/providers/provider-factory.d.ts.map +1 -1
- package/dist/providers/provider-factory.js +27 -2
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/providers/runner-shell-types.d.ts +14 -0
- package/dist/providers/runner-shell-types.d.ts.map +1 -1
- package/dist/providers/runner-shell.d.ts.map +1 -1
- package/dist/providers/runner-shell.js +38 -6
- package/dist/providers/runner-shell.js.map +1 -1
- package/dist/providers/tool-implementations.d.ts +12 -0
- package/dist/providers/tool-implementations.d.ts.map +1 -1
- package/dist/providers/tool-implementations.js +33 -0
- package/dist/providers/tool-implementations.js.map +1 -1
- package/dist/reporting/annotate-completion-parser.d.ts +39 -0
- package/dist/reporting/annotate-completion-parser.d.ts.map +1 -0
- package/dist/reporting/annotate-completion-parser.js +43 -0
- package/dist/reporting/annotate-completion-parser.js.map +1 -0
- package/dist/reporting/compose-running-headline.d.ts +15 -1
- package/dist/reporting/compose-running-headline.d.ts.map +1 -1
- package/dist/reporting/compose-running-headline.js +76 -1
- package/dist/reporting/compose-running-headline.js.map +1 -1
- package/dist/reporting/report-parser-slots/research-report.d.ts +1 -1
- package/dist/review/default-engines.d.ts.map +1 -1
- package/dist/review/default-engines.js +8 -4
- package/dist/review/default-engines.js.map +1 -1
- package/dist/review/parse-review-report.d.ts +6 -0
- package/dist/review/parse-review-report.d.ts.map +1 -0
- package/dist/review/parse-review-report.js +40 -0
- package/dist/review/parse-review-report.js.map +1 -0
- package/dist/review/reviewer-engine.d.ts +12 -3
- package/dist/review/reviewer-engine.d.ts.map +1 -1
- package/dist/review/reviewer-engine.js +4 -3
- package/dist/review/reviewer-engine.js.map +1 -1
- package/dist/review/templates/annotate-completion.d.ts +12 -0
- package/dist/review/templates/annotate-completion.d.ts.map +1 -0
- package/dist/review/templates/annotate-completion.js +72 -0
- package/dist/review/templates/annotate-completion.js.map +1 -0
- package/dist/review/templates/quality-review.d.ts +3 -0
- package/dist/review/templates/quality-review.d.ts.map +1 -0
- package/dist/review/templates/quality-review.js +40 -0
- package/dist/review/templates/quality-review.js.map +1 -0
- package/dist/review/templates/rework.d.ts +3 -0
- package/dist/review/templates/rework.d.ts.map +1 -0
- package/dist/review/templates/rework.js +42 -0
- package/dist/review/templates/rework.js.map +1 -0
- package/dist/review/templates/shared.d.ts +32 -0
- package/dist/review/templates/shared.d.ts.map +1 -1
- package/dist/review/templates/spec-review.d.ts +1 -16
- package/dist/review/templates/spec-review.d.ts.map +1 -1
- package/dist/review/templates/spec-review.js +23 -31
- package/dist/review/templates/spec-review.js.map +1 -1
- package/dist/stores/context-block-project-cap.d.ts +14 -0
- package/dist/stores/context-block-project-cap.d.ts.map +1 -0
- package/dist/stores/context-block-project-cap.js +68 -0
- package/dist/stores/context-block-project-cap.js.map +1 -0
- package/dist/stores/context-block-tool.d.ts +2 -0
- package/dist/stores/context-block-tool.d.ts.map +1 -1
- package/dist/stores/context-block-tool.js +3 -2
- package/dist/stores/context-block-tool.js.map +1 -1
- package/dist/stores/file-backed-context-block-store.d.ts +8 -1
- package/dist/stores/file-backed-context-block-store.d.ts.map +1 -1
- package/dist/stores/file-backed-context-block-store.js +116 -4
- package/dist/stores/file-backed-context-block-store.js.map +1 -1
- package/dist/tools/audit/plan-audit-criteria.d.ts +35 -0
- package/dist/tools/audit/plan-audit-criteria.d.ts.map +1 -0
- package/dist/tools/audit/plan-audit-criteria.js +136 -0
- package/dist/tools/audit/plan-audit-criteria.js.map +1 -0
- package/dist/tools/audit/plan-audit-verdict.d.ts +15 -0
- package/dist/tools/audit/plan-audit-verdict.d.ts.map +1 -0
- package/dist/tools/audit/plan-audit-verdict.js +44 -0
- package/dist/tools/audit/plan-audit-verdict.js.map +1 -0
- package/dist/tools/audit/schema.d.ts +1 -0
- package/dist/tools/audit/schema.d.ts.map +1 -1
- package/dist/tools/audit/schema.js +6 -3
- package/dist/tools/audit/schema.js.map +1 -1
- package/dist/tools/audit/tool-config.d.ts +3 -0
- package/dist/tools/audit/tool-config.d.ts.map +1 -1
- package/dist/tools/audit/tool-config.js +8 -0
- package/dist/tools/audit/tool-config.js.map +1 -1
- package/dist/tools/delegate/implementer-criteria.d.ts +31 -47
- package/dist/tools/delegate/implementer-criteria.d.ts.map +1 -1
- package/dist/tools/delegate/implementer-criteria.js +60 -88
- package/dist/tools/delegate/implementer-criteria.js.map +1 -1
- package/dist/tools/delegate/tool-config.js +4 -4
- package/dist/tools/delegate/tool-config.js.map +1 -1
- package/dist/tools/execute-plan/implementer-criteria.d.ts +42 -37
- package/dist/tools/execute-plan/implementer-criteria.d.ts.map +1 -1
- package/dist/tools/execute-plan/implementer-criteria.js +79 -79
- package/dist/tools/execute-plan/implementer-criteria.js.map +1 -1
- package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
- package/dist/tools/execute-plan/tool-config.js +23 -13
- package/dist/tools/execute-plan/tool-config.js.map +1 -1
- package/dist/types/enums.d.ts +2 -2
- package/dist/types/run-result.d.ts +58 -0
- package/dist/types/run-result.d.ts.map +1 -1
- package/dist/types/task-spec.d.ts +14 -0
- package/dist/types/task-spec.d.ts.map +1 -1
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -1
- package/dist/lifecycle/handlers/quality-chain-handlers.d.ts +0 -22
- package/dist/lifecycle/handlers/quality-chain-handlers.d.ts.map +0 -1
- package/dist/lifecycle/handlers/quality-chain-handlers.js +0 -369
- package/dist/lifecycle/handlers/quality-chain-handlers.js.map +0 -1
- package/dist/lifecycle/handlers/review-diff-handler.d.ts +0 -31
- package/dist/lifecycle/handlers/review-diff-handler.d.ts.map +0 -1
- package/dist/lifecycle/handlers/review-diff-handler.js +0 -168
- package/dist/lifecycle/handlers/review-diff-handler.js.map +0 -1
- package/dist/lifecycle/handlers/run-verify-command-handler.d.ts +0 -25
- package/dist/lifecycle/handlers/run-verify-command-handler.d.ts.map +0 -1
- package/dist/lifecycle/handlers/run-verify-command-handler.js +0 -84
- package/dist/lifecycle/handlers/run-verify-command-handler.js.map +0 -1
- package/dist/lifecycle/handlers/spec-chain-handlers.d.ts +0 -21
- package/dist/lifecycle/handlers/spec-chain-handlers.d.ts.map +0 -1
- package/dist/lifecycle/handlers/spec-chain-handlers.js +0 -287
- package/dist/lifecycle/handlers/spec-chain-handlers.js.map +0 -1
- package/dist/review/templates/diff-review.d.ts +0 -11
- package/dist/review/templates/diff-review.d.ts.map +0 -1
- package/dist/review/templates/diff-review.js +0 -39
- package/dist/review/templates/diff-review.js.map +0 -1
- package/dist/review/templates/quality-review-artifact.d.ts +0 -16
- package/dist/review/templates/quality-review-artifact.d.ts.map +0 -1
- package/dist/review/templates/quality-review-artifact.js +0 -46
- package/dist/review/templates/quality-review-artifact.js.map +0 -1
package/dist/model-profiles.json
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
{
|
|
3
3
|
"provider": "anthropic",
|
|
4
4
|
"naming": "claude-{tier}-{major}-{minor} | claude-{major}-{tier}-{date} (3.x legacy)",
|
|
5
|
-
"rateSource": "https://
|
|
6
|
-
"rateLookupDate": "2026-
|
|
5
|
+
"rateSource": "https://platform.claude.com/docs/en/about-claude/pricing",
|
|
6
|
+
"rateLookupDate": "2026-05-11",
|
|
7
7
|
"defaults": {
|
|
8
8
|
"family": "claude",
|
|
9
9
|
"supportsEffort": true,
|
|
@@ -45,12 +45,12 @@
|
|
|
45
45
|
"input": 15,
|
|
46
46
|
"output": 75,
|
|
47
47
|
"cachedNonRead": 18.75,
|
|
48
|
-
"bestFor": "
|
|
48
|
+
"bestFor": "active; tentative retirement not sooner than 2026-08-05"
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
"prefix": "claude-3",
|
|
52
52
|
"supportsEffort": false,
|
|
53
|
-
"bestFor": "legacy 3.x (
|
|
53
|
+
"bestFor": "legacy 3.x (retired)"
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
"prefix": "claude-3-opus",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"input": 15,
|
|
60
60
|
"output": 75,
|
|
61
61
|
"cachedNonRead": 18.75,
|
|
62
|
-
"bestFor": "
|
|
62
|
+
"bestFor": "RETIRED 2026-01-05 — calls will fail; rates retained for historical cost accounting"
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
65
|
"prefix": "claude-3-haiku",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"input": 0.25,
|
|
68
68
|
"output": 1.25,
|
|
69
69
|
"cachedNonRead": 0.3125,
|
|
70
|
-
"bestFor": "
|
|
70
|
+
"bestFor": "RETIRED 2026-04-20 — calls will fail; rates retained for historical cost accounting"
|
|
71
71
|
}
|
|
72
72
|
]
|
|
73
73
|
},
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"provider": "openai",
|
|
76
76
|
"naming": "gpt-{major}.{minor}[-{size}] — sizes: pro, mini, nano (no suffix = base)",
|
|
77
77
|
"rateSource": "https://developers.openai.com/api/docs/pricing",
|
|
78
|
-
"rateLookupDate": "2026-
|
|
78
|
+
"rateLookupDate": "2026-05-11",
|
|
79
79
|
"defaults": {
|
|
80
80
|
"family": "openai",
|
|
81
81
|
"supportsEffort": true,
|
|
@@ -88,6 +88,7 @@
|
|
|
88
88
|
"cost": "medium",
|
|
89
89
|
"input": 2.5,
|
|
90
90
|
"output": 15,
|
|
91
|
+
"cachedRead": 0.25,
|
|
91
92
|
"bestFor": "general GPT family tasks (catch-all)"
|
|
92
93
|
},
|
|
93
94
|
{
|
|
@@ -100,6 +101,7 @@
|
|
|
100
101
|
"prefix": "gpt-5.5",
|
|
101
102
|
"input": 5,
|
|
102
103
|
"output": 30,
|
|
104
|
+
"cachedRead": 0.5,
|
|
103
105
|
"bestFor": "latest GPT-5 flagship"
|
|
104
106
|
},
|
|
105
107
|
{
|
|
@@ -111,6 +113,7 @@
|
|
|
111
113
|
},
|
|
112
114
|
{
|
|
113
115
|
"prefix": "gpt-5.4",
|
|
116
|
+
"cachedRead": 0.25,
|
|
114
117
|
"bestFor": "prior GPT-5 flagship"
|
|
115
118
|
},
|
|
116
119
|
{
|
|
@@ -126,6 +129,7 @@
|
|
|
126
129
|
"cost": "low",
|
|
127
130
|
"input": 0.75,
|
|
128
131
|
"output": 4.5,
|
|
132
|
+
"cachedRead": 0.075,
|
|
129
133
|
"bestFor": "fast cost-effective tasks and extraction"
|
|
130
134
|
},
|
|
131
135
|
{
|
|
@@ -134,6 +138,7 @@
|
|
|
134
138
|
"cost": "low",
|
|
135
139
|
"input": 0.2,
|
|
136
140
|
"output": 1.25,
|
|
141
|
+
"cachedRead": 0.02,
|
|
137
142
|
"bestFor": "cheapest GPT for high-throughput batch work"
|
|
138
143
|
},
|
|
139
144
|
{
|
|
@@ -153,8 +158,8 @@
|
|
|
153
158
|
{
|
|
154
159
|
"provider": "google",
|
|
155
160
|
"naming": "gemini-{major}[.{minor}]-{tier}-{suffix} — tiers: pro ($2/$12), flash ($0.50/$3)",
|
|
156
|
-
"rateSource": "https://
|
|
157
|
-
"rateLookupDate": "2026-
|
|
161
|
+
"rateSource": "https://ai.google.dev/pricing",
|
|
162
|
+
"rateLookupDate": "2026-05-11",
|
|
158
163
|
"defaults": {
|
|
159
164
|
"family": "gemini",
|
|
160
165
|
"supportsEffort": false,
|
|
@@ -169,12 +174,29 @@
|
|
|
169
174
|
"output": 3,
|
|
170
175
|
"bestFor": "general Gemini tasks (catch-all, Flash rates)"
|
|
171
176
|
},
|
|
177
|
+
{
|
|
178
|
+
"prefix": "gemini-3-flash",
|
|
179
|
+
"tier": "standard",
|
|
180
|
+
"cost": "low",
|
|
181
|
+
"input": 0.5,
|
|
182
|
+
"output": 3,
|
|
183
|
+
"bestFor": "fast cost-effective Gemini 3 Flash"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"prefix": "gemini-3.1-flash-lite",
|
|
187
|
+
"tier": "standard",
|
|
188
|
+
"cost": "low",
|
|
189
|
+
"input": 0.25,
|
|
190
|
+
"output": 1.5,
|
|
191
|
+
"bestFor": "cheapest Gemini tier for high-throughput tasks"
|
|
192
|
+
},
|
|
172
193
|
{
|
|
173
194
|
"prefix": "gemini-3.1-pro",
|
|
174
195
|
"tier": "reasoning",
|
|
175
196
|
"cost": "medium",
|
|
176
197
|
"input": 2,
|
|
177
198
|
"output": 12,
|
|
199
|
+
"notes": "tiered: $2/$12 ≤200k input tokens, $4/$18 above. Cost meter assumes ≤200k tier — long-context calls may underestimate.",
|
|
178
200
|
"bestFor": "long-context reasoning with large documents"
|
|
179
201
|
},
|
|
180
202
|
{
|
|
@@ -183,23 +205,33 @@
|
|
|
183
205
|
"cost": "medium",
|
|
184
206
|
"input": 2,
|
|
185
207
|
"output": 12,
|
|
208
|
+
"notes": "tiered: $2/$12 ≤200k input tokens, $4/$18 above.",
|
|
186
209
|
"bestFor": "Gemini 3.0 Pro variants"
|
|
187
210
|
},
|
|
188
211
|
{
|
|
189
212
|
"prefix": "gemini-2.5-pro",
|
|
190
213
|
"tier": "reasoning",
|
|
191
214
|
"cost": "medium",
|
|
192
|
-
"input":
|
|
193
|
-
"output":
|
|
215
|
+
"input": 1.25,
|
|
216
|
+
"output": 10,
|
|
217
|
+
"notes": "tiered: $1.25/$10 ≤200k input tokens, $2.50/$15 above.",
|
|
194
218
|
"bestFor": "reasoning and coding with extended thinking"
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"prefix": "gemini-2.5-flash",
|
|
222
|
+
"tier": "standard",
|
|
223
|
+
"cost": "low",
|
|
224
|
+
"input": 0.3,
|
|
225
|
+
"output": 2.5,
|
|
226
|
+
"bestFor": "Gemini 2.5 Flash (legacy generation)"
|
|
195
227
|
}
|
|
196
228
|
]
|
|
197
229
|
},
|
|
198
230
|
{
|
|
199
231
|
"provider": "xai",
|
|
200
|
-
"naming": "grok-{major}[.{minor}]-{variant} —
|
|
232
|
+
"naming": "grok-{major}[.{minor}][-{variant}] — Grok 4.3 is current flagship; grok-4 / grok-4-1-fast / grok-4-fast retired 2026-05-15",
|
|
201
233
|
"rateSource": "https://docs.x.ai/developers/models",
|
|
202
|
-
"rateLookupDate": "2026-
|
|
234
|
+
"rateLookupDate": "2026-05-11",
|
|
203
235
|
"defaults": {
|
|
204
236
|
"family": "grok",
|
|
205
237
|
"supportsEffort": false,
|
|
@@ -208,27 +240,36 @@
|
|
|
208
240
|
"profiles": [
|
|
209
241
|
{
|
|
210
242
|
"prefix": "grok",
|
|
211
|
-
"tier": "
|
|
243
|
+
"tier": "reasoning",
|
|
212
244
|
"cost": "low",
|
|
213
|
-
"input":
|
|
214
|
-
"output":
|
|
215
|
-
"bestFor": "general Grok tasks (catch-all,
|
|
245
|
+
"input": 1.25,
|
|
246
|
+
"output": 2.5,
|
|
247
|
+
"bestFor": "general Grok tasks (catch-all, Grok 4.3 rates)"
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"prefix": "grok-4-3",
|
|
251
|
+
"tier": "reasoning",
|
|
252
|
+
"cost": "low",
|
|
253
|
+
"input": 1.25,
|
|
254
|
+
"output": 2.5,
|
|
255
|
+
"bestFor": "current Grok flagship; successor to retired grok-4 / grok-4-1-fast"
|
|
216
256
|
},
|
|
217
257
|
{
|
|
218
|
-
"prefix": "grok-4",
|
|
258
|
+
"prefix": "grok-4.20",
|
|
219
259
|
"tier": "reasoning",
|
|
220
260
|
"cost": "medium",
|
|
221
|
-
"input":
|
|
222
|
-
"output":
|
|
223
|
-
"bestFor": "
|
|
261
|
+
"input": 2,
|
|
262
|
+
"output": 6,
|
|
263
|
+
"bestFor": "long-context Grok variant"
|
|
224
264
|
},
|
|
225
265
|
{
|
|
226
|
-
"prefix": "grok-4-
|
|
227
|
-
"tier": "
|
|
228
|
-
"cost": "
|
|
229
|
-
"input":
|
|
230
|
-
"output":
|
|
231
|
-
"bestFor": "
|
|
266
|
+
"prefix": "grok-4-heavy",
|
|
267
|
+
"tier": "reasoning",
|
|
268
|
+
"cost": "high",
|
|
269
|
+
"input": 15,
|
|
270
|
+
"output": 75,
|
|
271
|
+
"bestFor": "multi-agent reasoning, 256k context",
|
|
272
|
+
"inputTokenSoftLimit": 256000
|
|
232
273
|
}
|
|
233
274
|
]
|
|
234
275
|
},
|
|
@@ -236,7 +277,7 @@
|
|
|
236
277
|
"provider": "mistral",
|
|
237
278
|
"naming": "mistral-{tier}-{version} — tiers: large ($0.50/$1.50), small ($0.10/$0.30)",
|
|
238
279
|
"rateSource": "https://mistral.ai/pricing",
|
|
239
|
-
"rateLookupDate": "2026-
|
|
280
|
+
"rateLookupDate": "2026-05-11",
|
|
240
281
|
"defaults": {
|
|
241
282
|
"family": "mistral",
|
|
242
283
|
"supportsEffort": false,
|
|
@@ -249,17 +290,32 @@
|
|
|
249
290
|
"cost": "low",
|
|
250
291
|
"input": 0.5,
|
|
251
292
|
"output": 1.5,
|
|
252
|
-
"bestFor": "general Mistral tasks (catch-all, Large rates)"
|
|
293
|
+
"bestFor": "general Mistral tasks (catch-all, Large 3 rates)"
|
|
253
294
|
},
|
|
254
295
|
{
|
|
255
296
|
"prefix": "mistral-large",
|
|
256
|
-
"bestFor": "cost-effective frontier-class coding"
|
|
297
|
+
"bestFor": "cost-effective frontier-class coding (Large 3)"
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"prefix": "mistral-medium",
|
|
301
|
+
"input": 0.4,
|
|
302
|
+
"output": 2,
|
|
303
|
+
"bestFor": "mid-tier Mistral (Medium 3 / 3.1)"
|
|
257
304
|
},
|
|
258
305
|
{
|
|
259
306
|
"prefix": "mistral-small",
|
|
260
|
-
"input": 0.
|
|
261
|
-
"output": 0.
|
|
262
|
-
"bestFor": "fast lightweight tasks and classification"
|
|
307
|
+
"input": 0.075,
|
|
308
|
+
"output": 0.2,
|
|
309
|
+
"bestFor": "fast lightweight tasks and classification (Small 3.2)"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"prefix": "codestral",
|
|
313
|
+
"family": "mistral",
|
|
314
|
+
"tier": "standard",
|
|
315
|
+
"cost": "low",
|
|
316
|
+
"input": 0.3,
|
|
317
|
+
"output": 0.9,
|
|
318
|
+
"bestFor": "coding-tuned Mistral"
|
|
263
319
|
}
|
|
264
320
|
]
|
|
265
321
|
},
|
|
@@ -267,7 +323,7 @@
|
|
|
267
323
|
"provider": "deepseek",
|
|
268
324
|
"naming": "deepseek-{variant}[-{size}] — V4 sizes: flash, pro; legacy variants are flat-priced",
|
|
269
325
|
"rateSource": "https://api-docs.deepseek.com/quick_start/pricing",
|
|
270
|
-
"rateLookupDate": "2026-
|
|
326
|
+
"rateLookupDate": "2026-05-11",
|
|
271
327
|
"defaults": {
|
|
272
328
|
"family": "deepseek",
|
|
273
329
|
"supportsEffort": false,
|
|
@@ -278,14 +334,15 @@
|
|
|
278
334
|
"prefix": "deepseek",
|
|
279
335
|
"tier": "standard",
|
|
280
336
|
"cost": "low",
|
|
281
|
-
"input": 0.
|
|
282
|
-
"output": 0.
|
|
283
|
-
"bestFor": "cost-effective coding and reasoning"
|
|
337
|
+
"input": 0.14,
|
|
338
|
+
"output": 0.28,
|
|
339
|
+
"bestFor": "cost-effective coding and reasoning (catch-all, v4-flash rates)"
|
|
284
340
|
},
|
|
285
341
|
{
|
|
286
342
|
"prefix": "deepseek-v4-flash",
|
|
287
343
|
"input": 0.14,
|
|
288
344
|
"output": 0.28,
|
|
345
|
+
"cachedRead": 0.0028,
|
|
289
346
|
"bestFor": "cheapest DeepSeek V4 with 1M context",
|
|
290
347
|
"inputTokenSoftLimit": 1000000
|
|
291
348
|
},
|
|
@@ -295,7 +352,8 @@
|
|
|
295
352
|
"cost": "medium",
|
|
296
353
|
"input": 0.435,
|
|
297
354
|
"output": 0.87,
|
|
298
|
-
"
|
|
355
|
+
"cachedRead": 0.003625,
|
|
356
|
+
"bestFor": "DeepSeek V4 thinking-mode reasoning with 1M context (limited-time 75% off until 2026-05-31 15:59 UTC; full price input=1.74 output=3.48)",
|
|
299
357
|
"inputTokenSoftLimit": 1000000
|
|
300
358
|
}
|
|
301
359
|
]
|
|
@@ -336,8 +394,8 @@
|
|
|
336
394
|
{
|
|
337
395
|
"provider": "alibaba",
|
|
338
396
|
"naming": "qwen{major}[.{minor}]-{tier} — no separator after 'qwen'",
|
|
339
|
-
"rateSource": "https://
|
|
340
|
-
"rateLookupDate": "2026-
|
|
397
|
+
"rateSource": "https://www.alibabacloud.com/help/en/model-studio/model-pricing",
|
|
398
|
+
"rateLookupDate": "2026-05-11",
|
|
341
399
|
"defaults": {
|
|
342
400
|
"family": "qwen",
|
|
343
401
|
"supportsEffort": false,
|
|
@@ -348,9 +406,27 @@
|
|
|
348
406
|
"prefix": "qwen",
|
|
349
407
|
"tier": "standard",
|
|
350
408
|
"cost": "low",
|
|
351
|
-
"input": 0.
|
|
352
|
-
"output":
|
|
353
|
-
"bestFor": "cost-effective coding and multilingual tasks"
|
|
409
|
+
"input": 0.4,
|
|
410
|
+
"output": 2.4,
|
|
411
|
+
"bestFor": "cost-effective coding and multilingual tasks (catch-all, Qwen3.5-Plus DashScope rates)"
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"prefix": "qwen3.6-plus",
|
|
415
|
+
"tier": "reasoning",
|
|
416
|
+
"cost": "low",
|
|
417
|
+
"input": 0.33,
|
|
418
|
+
"output": 1.95,
|
|
419
|
+
"bestFor": "current Qwen flagship with 1M context",
|
|
420
|
+
"inputTokenSoftLimit": 1000000
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"prefix": "qwen3.5-plus",
|
|
424
|
+
"tier": "standard",
|
|
425
|
+
"cost": "low",
|
|
426
|
+
"input": 0.4,
|
|
427
|
+
"output": 2.4,
|
|
428
|
+
"notes": "tiered: $0.40/$2.40 ≤256k, $1.20/$3.60 above.",
|
|
429
|
+
"bestFor": "Qwen3.5-Plus, tiered by context length"
|
|
354
430
|
}
|
|
355
431
|
]
|
|
356
432
|
},
|
|
@@ -358,7 +434,7 @@
|
|
|
358
434
|
"provider": "zhipu",
|
|
359
435
|
"naming": "glm-{major}[.{minor}] — GLM-5 is ~30% more expensive than GLM-4",
|
|
360
436
|
"rateSource": "https://docs.z.ai/guides/overview/pricing",
|
|
361
|
-
"rateLookupDate": "2026-
|
|
437
|
+
"rateLookupDate": "2026-05-11",
|
|
362
438
|
"defaults": {
|
|
363
439
|
"family": "glm",
|
|
364
440
|
"supportsEffort": false,
|
|
@@ -371,18 +447,31 @@
|
|
|
371
447
|
"cost": "medium",
|
|
372
448
|
"input": 1,
|
|
373
449
|
"output": 3.2,
|
|
374
|
-
"bestFor": "general GLM/Zhipu family tasks"
|
|
450
|
+
"bestFor": "general GLM/Zhipu family tasks (catch-all, GLM-5 rates)"
|
|
375
451
|
},
|
|
376
452
|
{
|
|
377
453
|
"prefix": "glm-5",
|
|
378
|
-
"bestFor": "bilingual Chinese/English coding"
|
|
454
|
+
"bestFor": "bilingual Chinese/English coding (GLM-5)"
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"prefix": "glm-5.1",
|
|
458
|
+
"input": 1.4,
|
|
459
|
+
"output": 4.4,
|
|
460
|
+
"bestFor": "current top-tier GLM-5 variant"
|
|
379
461
|
},
|
|
380
462
|
{
|
|
381
463
|
"prefix": "glm-4",
|
|
382
464
|
"cost": "low",
|
|
383
465
|
"input": 0.6,
|
|
384
|
-
"output": 2.
|
|
466
|
+
"output": 2.2,
|
|
385
467
|
"bestFor": "bilingual tasks at lower cost than GLM-5"
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
"prefix": "glm-4.7",
|
|
471
|
+
"cost": "low",
|
|
472
|
+
"input": 0.6,
|
|
473
|
+
"output": 2.2,
|
|
474
|
+
"bestFor": "current GLM-4-series flagship"
|
|
386
475
|
}
|
|
387
476
|
]
|
|
388
477
|
},
|
|
@@ -390,7 +479,7 @@
|
|
|
390
479
|
"provider": "moonshot",
|
|
391
480
|
"naming": "kimi-k{generation}[.{minor}] | kimi-k{generation}-{variant}",
|
|
392
481
|
"rateSource": "https://platform.kimi.ai/docs/pricing/chat",
|
|
393
|
-
"rateLookupDate": "2026-
|
|
482
|
+
"rateLookupDate": "2026-05-11",
|
|
394
483
|
"defaults": {
|
|
395
484
|
"family": "kimi",
|
|
396
485
|
"supportsEffort": false,
|
|
@@ -402,8 +491,18 @@
|
|
|
402
491
|
"tier": "standard",
|
|
403
492
|
"cost": "low",
|
|
404
493
|
"input": 0.6,
|
|
405
|
-
"output":
|
|
406
|
-
"
|
|
494
|
+
"output": 2.5,
|
|
495
|
+
"cachedRead": 0.15,
|
|
496
|
+
"bestFor": "long-context tasks and coding (catch-all, K2 rates)"
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
"prefix": "kimi-k2.6",
|
|
500
|
+
"tier": "reasoning",
|
|
501
|
+
"cost": "low",
|
|
502
|
+
"input": 0.95,
|
|
503
|
+
"output": 4,
|
|
504
|
+
"cachedRead": 0.16,
|
|
505
|
+
"bestFor": "current Kimi flagship"
|
|
407
506
|
}
|
|
408
507
|
]
|
|
409
508
|
},
|
|
@@ -411,20 +510,52 @@
|
|
|
411
510
|
"provider": "cohere",
|
|
412
511
|
"naming": "command-r[-plus] — plus variant is flagship",
|
|
413
512
|
"rateSource": "https://cohere.com/pricing",
|
|
414
|
-
"rateLookupDate": "2026-
|
|
513
|
+
"rateLookupDate": "2026-05-11",
|
|
415
514
|
"defaults": {
|
|
416
515
|
"family": "cohere",
|
|
417
516
|
"supportsEffort": false,
|
|
418
517
|
"inputTokenSoftLimit": 128000
|
|
419
518
|
},
|
|
420
519
|
"profiles": [
|
|
520
|
+
{
|
|
521
|
+
"prefix": "command",
|
|
522
|
+
"tier": "standard",
|
|
523
|
+
"cost": "low",
|
|
524
|
+
"input": 0.15,
|
|
525
|
+
"output": 0.6,
|
|
526
|
+
"bestFor": "general Cohere tasks (catch-all, Command R rates)"
|
|
527
|
+
},
|
|
421
528
|
{
|
|
422
529
|
"prefix": "command-r",
|
|
423
530
|
"tier": "standard",
|
|
531
|
+
"cost": "low",
|
|
532
|
+
"input": 0.15,
|
|
533
|
+
"output": 0.6,
|
|
534
|
+
"bestFor": "RAG workflows and grounded generation (current Command R)"
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"prefix": "command-r-plus",
|
|
538
|
+
"tier": "standard",
|
|
539
|
+
"cost": "medium",
|
|
540
|
+
"input": 2.5,
|
|
541
|
+
"output": 10,
|
|
542
|
+
"bestFor": "higher-quality RAG and tool use (Command R+)"
|
|
543
|
+
},
|
|
544
|
+
{
|
|
545
|
+
"prefix": "command-r7b",
|
|
546
|
+
"tier": "standard",
|
|
547
|
+
"cost": "low",
|
|
548
|
+
"input": 0.037,
|
|
549
|
+
"output": 0.15,
|
|
550
|
+
"bestFor": "cheapest Cohere tier for high-throughput tasks"
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"prefix": "command-a",
|
|
554
|
+
"tier": "reasoning",
|
|
424
555
|
"cost": "medium",
|
|
425
556
|
"input": 2.5,
|
|
426
557
|
"output": 10,
|
|
427
|
-
"bestFor": "
|
|
558
|
+
"bestFor": "Cohere flagship reasoning model"
|
|
428
559
|
}
|
|
429
560
|
]
|
|
430
561
|
},
|
|
@@ -432,7 +563,7 @@
|
|
|
432
563
|
"provider": "minimax",
|
|
433
564
|
"naming": "MiniMax-M{major}.{minor}[-highspeed] — case-sensitive prefix",
|
|
434
565
|
"rateSource": "https://platform.minimax.io/docs/guides/pricing-paygo",
|
|
435
|
-
"rateLookupDate": "2026-
|
|
566
|
+
"rateLookupDate": "2026-05-11",
|
|
436
567
|
"defaults": {
|
|
437
568
|
"family": "minimax",
|
|
438
569
|
"supportsEffort": true,
|
|
@@ -447,6 +578,14 @@
|
|
|
447
578
|
"output": 1.2,
|
|
448
579
|
"bestFor": "well-scoped coding and agent loops where cost matters",
|
|
449
580
|
"avoidFor": "highest-stakes ambiguous work that needs top-tier judgment"
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"prefix": "MiniMax-M2.7",
|
|
584
|
+
"tier": "reasoning",
|
|
585
|
+
"cost": "low",
|
|
586
|
+
"input": 0.3,
|
|
587
|
+
"output": 1.2,
|
|
588
|
+
"bestFor": "current MiniMax flagship; same rates as M2 with stronger reasoning"
|
|
450
589
|
}
|
|
451
590
|
]
|
|
452
591
|
},
|
|
@@ -10,6 +10,14 @@ export declare class AnthropicMessagesAdapter implements RunnerAdapter {
|
|
|
10
10
|
model: string;
|
|
11
11
|
maxOutputTokens: number;
|
|
12
12
|
providerType?: 'claude' | 'claude-compatible';
|
|
13
|
+
/** Claude Code subscription OAuth token (4.2.3+). When provided, the
|
|
14
|
+
* adapter sends `Authorization: Bearer <token>` + the OAuth beta
|
|
15
|
+
* header instead of the `x-api-key: <apiKey>` header — letting users
|
|
16
|
+
* with a Claude Max subscription dispatch via mma without an
|
|
17
|
+
* Anthropic API key. Pulled from macOS Keychain (`security
|
|
18
|
+
* find-generic-password -s "Claude Code-credentials"`) by
|
|
19
|
+
* `getClaudeOAuth()` in identity/auth-token-store.ts. */
|
|
20
|
+
oauthAccessToken?: string;
|
|
13
21
|
});
|
|
14
22
|
turn(input: AdapterTurnInput): Promise<AdapterTurnResult>;
|
|
15
23
|
private buildMessages;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-messages-adapter.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic-messages-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9F,qBAAa,wBAAyB,YAAW,aAAa;IAC5D,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,mBAAmB,CAAC;IACtD,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,eAAe,CAAS;gBAEpB,IAAI,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,QAAQ,GAAG,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic-messages-adapter.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic-messages-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9F,qBAAa,wBAAyB,YAAW,aAAa;IAC5D,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,mBAAmB,CAAC;IACtD,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,eAAe,CAAS;gBAEpB,IAAI,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QAC9C;;;;;;kEAM0D;QAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B;IAqBK,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8D/D,OAAO,CAAC,aAAa;IAqCrB,OAAO,CAAC,QAAQ;CAOjB"}
|
|
@@ -5,7 +5,22 @@ export class AnthropicMessagesAdapter {
|
|
|
5
5
|
model;
|
|
6
6
|
maxOutputTokens;
|
|
7
7
|
constructor(opts) {
|
|
8
|
-
|
|
8
|
+
if (opts.oauthAccessToken) {
|
|
9
|
+
// OAuth path: pass an empty apiKey so the SDK doesn't send x-api-key,
|
|
10
|
+
// and override defaultHeaders with the bearer + OAuth beta header
|
|
11
|
+
// that Claude's API requires for Max-subscription dispatch.
|
|
12
|
+
this.client = new Anthropic({
|
|
13
|
+
apiKey: '',
|
|
14
|
+
baseURL: opts.baseURL,
|
|
15
|
+
authToken: opts.oauthAccessToken,
|
|
16
|
+
defaultHeaders: {
|
|
17
|
+
'anthropic-beta': 'oauth-2025-04-20',
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
this.client = new Anthropic({ apiKey: opts.apiKey, baseURL: opts.baseURL });
|
|
23
|
+
}
|
|
9
24
|
this.providerType = opts.providerType ?? 'claude';
|
|
10
25
|
this.model = opts.model;
|
|
11
26
|
this.maxOutputTokens = opts.maxOutputTokens;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-messages-adapter.js","sourceRoot":"","sources":["../../src/providers/anthropic-messages-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAG1C,MAAM,OAAO,wBAAwB;IAC1B,YAAY,CAAiC;IAC9C,MAAM,CAAY;IAClB,KAAK,CAAS;IACd,eAAe,CAAS;IAEhC,YAAY,
|
|
1
|
+
{"version":3,"file":"anthropic-messages-adapter.js","sourceRoot":"","sources":["../../src/providers/anthropic-messages-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAG1C,MAAM,OAAO,wBAAwB;IAC1B,YAAY,CAAiC;IAC9C,MAAM,CAAY;IAClB,KAAK,CAAS;IACd,eAAe,CAAS;IAEhC,YAAY,IAcX;QACC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,sEAAsE;YACtE,kEAAkE;YAClE,4DAA4D;YAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC;gBAC1B,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI,CAAC,gBAAgB;gBAChC,cAAc,EAAE;oBACd,gBAAgB,EAAE,kBAAkB;iBACrC;aACF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAuB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,gEAAgE;QAChE,kEAAkE;QAClE,oDAAoD;QACpD,mEAAmE;QACnE,iEAAiE;QACjE,4DAA4D;QAC5D,mEAAmE;QACnE,qEAAqE;QACrE,2CAA2C;QAC3C,qEAAqE;QACrE,wEAAwE;QACxE,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY;YACtC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;YAC1F,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACzC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,aAAoB;YAC5B,QAAQ;YACR,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC;YAC3C,UAAU,EAAE,IAAI,CAAC,eAAe;SACjC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;QAE7C,MAAM,KAAK,GAAG;YACZ,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;YACxC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;YAC1C,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC;YAC7D,mBAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC;SACrE,CAAC;QAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9F,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;aAClC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAEjE,qEAAqE;QACrE,iEAAiE;QACjE,mEAAmE;QACnE,sEAAsE;QACtE,qEAAqE;QACrE,MAAM,aAAa,GAA2B,EAAE,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,CAAC,GAAI,CAAuB,CAAC,IAAI,IAAI,SAAS,CAAC;YACrD,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QAED,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,SAAS;YACT,KAAK;YACL,YAAY,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;YAC/G,aAAa,EAAE;gBACb,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACjE,aAAa;aACd;SACF,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,KAAuB;QAC3C,MAAM,GAAG,GAAU,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,eAAe,GAAU,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,aAAa;gBAAE,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YAEnF,uEAAuE;YACvE,wEAAwE;YACxE,4EAA4E;YAC5E,MAAM,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAC3C,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAC5F,CAAC;YAEF,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC1B,eAAe,CAAC,IAAI,CAAC;oBACnB,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC;oBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;YACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;YAE1F,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS;iBACjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC;iBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACf,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;aACpF,CAAC,CAAC,CAAC;YACN,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACvD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,QAAQ,CAAC,IAAyC;QACxD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,YAAY,EAAE,CAAC,CAAC,MAAsF;SACvG,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
|
|
@@ -38,6 +38,14 @@
|
|
|
38
38
|
export declare function filterValidWritePath(entry: string): boolean;
|
|
39
39
|
export declare class FileTracker {
|
|
40
40
|
private reads;
|
|
41
|
+
/**
|
|
42
|
+
* Per-path read counter (4.3.0+, pipeline-redesign read-budget guard).
|
|
43
|
+
* trackRead increments on every read; `readCount(path)` exposes it so
|
|
44
|
+
* tool implementations can append a warning when a worker re-reads the
|
|
45
|
+
* same file too many times in a single stage. Counts reset with the
|
|
46
|
+
* tracker on `reset()`.
|
|
47
|
+
*/
|
|
48
|
+
private readCounts;
|
|
41
49
|
private dirs;
|
|
42
50
|
private writes;
|
|
43
51
|
private toolCalls;
|
|
@@ -50,6 +58,10 @@ export declare class FileTracker {
|
|
|
50
58
|
*/
|
|
51
59
|
constructor(onToolCall?: (summary: string) => void);
|
|
52
60
|
trackRead(filePath: string): void;
|
|
61
|
+
/** How many times `trackRead(filePath)` has been called for this path
|
|
62
|
+
* in the current tracker lifetime. 0 if never. Used by the read-budget
|
|
63
|
+
* guard in tool-implementations.ts to warn the worker after N re-reads. */
|
|
64
|
+
readCount(filePath: string): number;
|
|
53
65
|
trackDirectoryList(dirPath: string): void;
|
|
54
66
|
trackWrite(filePath: string): void;
|
|
55
67
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-tracker.d.ts","sourceRoot":"","sources":["../../src/providers/file-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAW3D;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAA4B;IAExD;;;;;OAKG;gBACS,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IAIlD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"file-tracker.d.ts","sourceRoot":"","sources":["../../src/providers/file-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAW3D;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAqB;IAClC;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAA4B;IAExD;;;;;OAKG;gBACS,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IAIlD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKjC;;gFAE4E;IAC5E,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAInC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIzC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIlC;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKpC,QAAQ,IAAI,MAAM,EAAE;IAIpB,oBAAoB,IAAI,MAAM,EAAE;IAIhC,SAAS,IAAI,MAAM,EAAE;IAIrB,YAAY,IAAI,MAAM,EAAE;IAIxB,KAAK,IAAI,IAAI;CAOd"}
|
|
@@ -55,6 +55,14 @@ export function filterValidWritePath(entry) {
|
|
|
55
55
|
}
|
|
56
56
|
export class FileTracker {
|
|
57
57
|
reads = new Set();
|
|
58
|
+
/**
|
|
59
|
+
* Per-path read counter (4.3.0+, pipeline-redesign read-budget guard).
|
|
60
|
+
* trackRead increments on every read; `readCount(path)` exposes it so
|
|
61
|
+
* tool implementations can append a warning when a worker re-reads the
|
|
62
|
+
* same file too many times in a single stage. Counts reset with the
|
|
63
|
+
* tracker on `reset()`.
|
|
64
|
+
*/
|
|
65
|
+
readCounts = new Map();
|
|
58
66
|
dirs = [];
|
|
59
67
|
writes = new Set();
|
|
60
68
|
toolCalls = [];
|
|
@@ -70,6 +78,13 @@ export class FileTracker {
|
|
|
70
78
|
}
|
|
71
79
|
trackRead(filePath) {
|
|
72
80
|
this.reads.add(filePath);
|
|
81
|
+
this.readCounts.set(filePath, (this.readCounts.get(filePath) ?? 0) + 1);
|
|
82
|
+
}
|
|
83
|
+
/** How many times `trackRead(filePath)` has been called for this path
|
|
84
|
+
* in the current tracker lifetime. 0 if never. Used by the read-budget
|
|
85
|
+
* guard in tool-implementations.ts to warn the worker after N re-reads. */
|
|
86
|
+
readCount(filePath) {
|
|
87
|
+
return this.readCounts.get(filePath) ?? 0;
|
|
73
88
|
}
|
|
74
89
|
trackDirectoryList(dirPath) {
|
|
75
90
|
this.dirs.push(dirPath);
|
|
@@ -101,6 +116,7 @@ export class FileTracker {
|
|
|
101
116
|
}
|
|
102
117
|
reset() {
|
|
103
118
|
this.reads.clear();
|
|
119
|
+
this.readCounts.clear();
|
|
104
120
|
this.dirs = [];
|
|
105
121
|
this.writes.clear();
|
|
106
122
|
this.toolCalls = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-tracker.js","sourceRoot":"","sources":["../../src/providers/file-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,4DAA4D;IAC5D,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,+DAA+D;IAC/D,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,uBAAuB;IACvB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,WAAW;IACd,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"file-tracker.js","sourceRoot":"","sources":["../../src/providers/file-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,4DAA4D;IAC5D,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,+DAA+D;IAC/D,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,uBAAuB;IACvB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,WAAW;IACd,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC;;;;;;OAMG;IACK,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,IAAI,GAAa,EAAE,CAAC;IACpB,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3B,SAAS,GAAa,EAAE,CAAC;IAChB,UAAU,CAA6B;IAExD;;;;;OAKG;IACH,YAAY,UAAsC;QAChD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,QAAgB;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;gFAE4E;IAC5E,SAAS,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,UAAU,CAAC,QAAgB;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,OAAe;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,oBAAoB;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-factory.d.ts","sourceRoot":"","sources":["../../src/providers/provider-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAa,gBAAgB,EAAkB,MAAM,aAAa,CAAC;AAOpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAazD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAG7E;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,CAGxF;AAcD,wBAAgB,YAAY,CAAC,WAAW,EAAE;IACxC,IAAI,EAAE,mBAAmB,GAAG,QAAQ,GAAG,mBAAmB,GAAG,OAAO,CAAC;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"provider-factory.d.ts","sourceRoot":"","sources":["../../src/providers/provider-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAa,gBAAgB,EAAkB,MAAM,aAAa,CAAC;AAOpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAazD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAG7E;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,CAGxF;AAcD,wBAAgB,YAAY,CAAC,WAAW,EAAE;IACxC,IAAI,EAAE,mBAAmB,GAAG,QAAQ,GAAG,mBAAmB,GAAG,OAAO,CAAC;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,aAAa,CAqEhB;AAcD,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,GAAG,QAAQ,CAuFlF"}
|