audit-tools 0.34.21 → 0.34.23
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/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.js +5 -1
- package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
- package/dist/audit/orchestrator/rollingDispatch.d.ts.map +1 -1
- package/dist/audit/orchestrator/rollingDispatch.js +1 -0
- package/dist/audit/orchestrator/rollingDispatch.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +8 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +6 -1
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/shared/dispatch/admissionLoop.d.ts +537 -69
- package/dist/shared/dispatch/admissionLoop.d.ts.map +1 -1
- package/dist/shared/dispatch/admissionLoop.js +167 -36
- package/dist/shared/dispatch/admissionLoop.js.map +1 -1
- package/dist/shared/dispatch/dispatchDecisionLog.d.ts +116 -0
- package/dist/shared/dispatch/dispatchDecisionLog.d.ts.map +1 -0
- package/dist/shared/dispatch/dispatchDecisionLog.js +65 -0
- package/dist/shared/dispatch/dispatchDecisionLog.js.map +1 -0
- package/dist/shared/dispatch/dispatchQuotaContract.d.ts +293 -35
- package/dist/shared/dispatch/dispatchQuotaContract.d.ts.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.d.ts +11 -0
- package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.js +220 -40
- package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.d.ts +9 -0
- package/dist/shared/dispatch/unifiedRolling.d.ts.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.js +1 -0
- package/dist/shared/dispatch/unifiedRolling.js.map +1 -1
- package/dist/shared/index.d.ts +4 -2
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +4 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/providers/auditorSources.d.ts +9 -1
- package/dist/shared/providers/auditorSources.d.ts.map +1 -1
- package/dist/shared/providers/auditorSources.js +26 -3
- package/dist/shared/providers/auditorSources.js.map +1 -1
- package/dist/shared/quota/apiPool.d.ts +1 -1
- package/dist/shared/quota/apiPool.d.ts.map +1 -1
- package/dist/shared/quota/apiPool.js +31 -1
- package/dist/shared/quota/apiPool.js.map +1 -1
- package/dist/shared/types/rollingDispatch.d.ts +10 -0
- package/dist/shared/types/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/types/rollingDispatch.js.map +1 -1
- package/dist/shared/types/sessionConfig.d.ts +44 -5
- package/dist/shared/types/sessionConfig.d.ts.map +1 -1
- package/dist/shared/types/sessionConfig.js +64 -8
- package/dist/shared/types/sessionConfig.js.map +1 -1
- package/dist/shared/validation/sessionConfig.d.ts.map +1 -1
- package/dist/shared/validation/sessionConfig.js +33 -1
- package/dist/shared/validation/sessionConfig.js.map +1 -1
- package/package.json +1 -1
|
@@ -66,89 +66,291 @@ export declare const DispatchQuotaContractSchema: z.ZodObject<{
|
|
|
66
66
|
leases: z.ZodArray<z.ZodObject<{
|
|
67
67
|
packet_id: z.ZodString;
|
|
68
68
|
pool_id: z.ZodString;
|
|
69
|
-
|
|
69
|
+
resource_keys: z.ZodArray<z.ZodString, "many">;
|
|
70
70
|
lease_id: z.ZodString;
|
|
71
71
|
cost: z.ZodNumber;
|
|
72
72
|
}, "strict", z.ZodTypeAny, {
|
|
73
73
|
pool_id: string;
|
|
74
74
|
cost: number;
|
|
75
75
|
packet_id: string;
|
|
76
|
-
|
|
76
|
+
resource_keys: string[];
|
|
77
77
|
lease_id: string;
|
|
78
78
|
}, {
|
|
79
79
|
pool_id: string;
|
|
80
80
|
cost: number;
|
|
81
81
|
packet_id: string;
|
|
82
|
-
|
|
82
|
+
resource_keys: string[];
|
|
83
83
|
lease_id: string;
|
|
84
84
|
}>, "many">;
|
|
85
85
|
explains: z.ZodArray<z.ZodObject<{
|
|
86
86
|
packet_id: z.ZodString;
|
|
87
87
|
pool_id: z.ZodNullable<z.ZodString>;
|
|
88
|
-
resource_key: z.ZodNullable<z.ZodString>;
|
|
89
88
|
admitted: z.ZodBoolean;
|
|
90
|
-
reason: z.ZodEnum<["admitted", "no_capable_pool", "budget_exhausted", "cap_reached", "packet_oversized", "window_uncalibrated"]>;
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
reason: z.ZodEnum<["admitted", "planned", "no_capable_pool", "budget_exhausted", "cap_reached", "packet_oversized", "window_uncalibrated"]>;
|
|
90
|
+
constraints: z.ZodArray<z.ZodObject<{
|
|
91
|
+
resource_key: z.ZodString;
|
|
92
|
+
headroom_before: z.ZodNullable<z.ZodNumber>;
|
|
93
|
+
outstanding_before: z.ZodNumber;
|
|
94
|
+
cost: z.ZodNumber;
|
|
95
|
+
cleared: z.ZodBoolean;
|
|
96
|
+
}, "strict", z.ZodTypeAny, {
|
|
97
|
+
cost: number;
|
|
98
|
+
resource_key: string;
|
|
99
|
+
headroom_before: number | null;
|
|
100
|
+
outstanding_before: number;
|
|
101
|
+
cleared: boolean;
|
|
102
|
+
}, {
|
|
103
|
+
cost: number;
|
|
104
|
+
resource_key: string;
|
|
105
|
+
headroom_before: number | null;
|
|
106
|
+
outstanding_before: number;
|
|
107
|
+
cleared: boolean;
|
|
108
|
+
}>, "many">;
|
|
109
|
+
binding: z.ZodNullable<z.ZodObject<{
|
|
110
|
+
resource_key: z.ZodString;
|
|
111
|
+
headroom_before: z.ZodNullable<z.ZodNumber>;
|
|
112
|
+
outstanding_before: z.ZodNumber;
|
|
113
|
+
cost: z.ZodNumber;
|
|
114
|
+
cleared: z.ZodBoolean;
|
|
115
|
+
}, "strict", z.ZodTypeAny, {
|
|
116
|
+
cost: number;
|
|
117
|
+
resource_key: string;
|
|
118
|
+
headroom_before: number | null;
|
|
119
|
+
outstanding_before: number;
|
|
120
|
+
cleared: boolean;
|
|
121
|
+
}, {
|
|
122
|
+
cost: number;
|
|
123
|
+
resource_key: string;
|
|
124
|
+
headroom_before: number | null;
|
|
125
|
+
outstanding_before: number;
|
|
126
|
+
cleared: boolean;
|
|
127
|
+
}>>;
|
|
128
|
+
attempts: z.ZodArray<z.ZodObject<{
|
|
129
|
+
pool_id: z.ZodString;
|
|
130
|
+
reason: z.ZodEnum<["budget_exhausted", "cap_reached", "window_uncalibrated"]>;
|
|
131
|
+
constraints: z.ZodArray<z.ZodObject<{
|
|
132
|
+
resource_key: z.ZodString;
|
|
133
|
+
headroom_before: z.ZodNullable<z.ZodNumber>;
|
|
134
|
+
outstanding_before: z.ZodNumber;
|
|
135
|
+
cost: z.ZodNumber;
|
|
136
|
+
cleared: z.ZodBoolean;
|
|
137
|
+
}, "strict", z.ZodTypeAny, {
|
|
138
|
+
cost: number;
|
|
139
|
+
resource_key: string;
|
|
140
|
+
headroom_before: number | null;
|
|
141
|
+
outstanding_before: number;
|
|
142
|
+
cleared: boolean;
|
|
143
|
+
}, {
|
|
144
|
+
cost: number;
|
|
145
|
+
resource_key: string;
|
|
146
|
+
headroom_before: number | null;
|
|
147
|
+
outstanding_before: number;
|
|
148
|
+
cleared: boolean;
|
|
149
|
+
}>, "many">;
|
|
150
|
+
in_flight_before: z.ZodOptional<z.ZodNumber>;
|
|
151
|
+
cap: z.ZodOptional<z.ZodNumber>;
|
|
152
|
+
unpriced_windows: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
153
|
+
}, "strict", z.ZodTypeAny, {
|
|
154
|
+
reason: "budget_exhausted" | "cap_reached" | "window_uncalibrated";
|
|
155
|
+
pool_id: string;
|
|
156
|
+
constraints: {
|
|
157
|
+
cost: number;
|
|
158
|
+
resource_key: string;
|
|
159
|
+
headroom_before: number | null;
|
|
160
|
+
outstanding_before: number;
|
|
161
|
+
cleared: boolean;
|
|
162
|
+
}[];
|
|
163
|
+
in_flight_before?: number | undefined;
|
|
164
|
+
cap?: number | undefined;
|
|
165
|
+
unpriced_windows?: string[] | undefined;
|
|
166
|
+
}, {
|
|
167
|
+
reason: "budget_exhausted" | "cap_reached" | "window_uncalibrated";
|
|
168
|
+
pool_id: string;
|
|
169
|
+
constraints: {
|
|
170
|
+
cost: number;
|
|
171
|
+
resource_key: string;
|
|
172
|
+
headroom_before: number | null;
|
|
173
|
+
outstanding_before: number;
|
|
174
|
+
cleared: boolean;
|
|
175
|
+
}[];
|
|
176
|
+
in_flight_before?: number | undefined;
|
|
177
|
+
cap?: number | undefined;
|
|
178
|
+
unpriced_windows?: string[] | undefined;
|
|
179
|
+
}>, "many">;
|
|
180
|
+
in_flight_before: z.ZodOptional<z.ZodNumber>;
|
|
181
|
+
cap: z.ZodOptional<z.ZodNumber>;
|
|
182
|
+
unpriced_windows: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
93
183
|
cost: z.ZodNumber;
|
|
94
184
|
}, "strict", z.ZodTypeAny, {
|
|
95
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized" | "window_uncalibrated";
|
|
185
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "planned" | "packet_oversized" | "window_uncalibrated";
|
|
96
186
|
pool_id: string | null;
|
|
97
187
|
cost: number;
|
|
98
188
|
admitted: boolean;
|
|
99
189
|
packet_id: string;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
190
|
+
constraints: {
|
|
191
|
+
cost: number;
|
|
192
|
+
resource_key: string;
|
|
193
|
+
headroom_before: number | null;
|
|
194
|
+
outstanding_before: number;
|
|
195
|
+
cleared: boolean;
|
|
196
|
+
}[];
|
|
197
|
+
binding: {
|
|
198
|
+
cost: number;
|
|
199
|
+
resource_key: string;
|
|
200
|
+
headroom_before: number | null;
|
|
201
|
+
outstanding_before: number;
|
|
202
|
+
cleared: boolean;
|
|
203
|
+
} | null;
|
|
204
|
+
attempts: {
|
|
205
|
+
reason: "budget_exhausted" | "cap_reached" | "window_uncalibrated";
|
|
206
|
+
pool_id: string;
|
|
207
|
+
constraints: {
|
|
208
|
+
cost: number;
|
|
209
|
+
resource_key: string;
|
|
210
|
+
headroom_before: number | null;
|
|
211
|
+
outstanding_before: number;
|
|
212
|
+
cleared: boolean;
|
|
213
|
+
}[];
|
|
214
|
+
in_flight_before?: number | undefined;
|
|
215
|
+
cap?: number | undefined;
|
|
216
|
+
unpriced_windows?: string[] | undefined;
|
|
217
|
+
}[];
|
|
218
|
+
in_flight_before?: number | undefined;
|
|
219
|
+
cap?: number | undefined;
|
|
220
|
+
unpriced_windows?: string[] | undefined;
|
|
103
221
|
}, {
|
|
104
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized" | "window_uncalibrated";
|
|
222
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "planned" | "packet_oversized" | "window_uncalibrated";
|
|
105
223
|
pool_id: string | null;
|
|
106
224
|
cost: number;
|
|
107
225
|
admitted: boolean;
|
|
108
226
|
packet_id: string;
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
227
|
+
constraints: {
|
|
228
|
+
cost: number;
|
|
229
|
+
resource_key: string;
|
|
230
|
+
headroom_before: number | null;
|
|
231
|
+
outstanding_before: number;
|
|
232
|
+
cleared: boolean;
|
|
233
|
+
}[];
|
|
234
|
+
binding: {
|
|
235
|
+
cost: number;
|
|
236
|
+
resource_key: string;
|
|
237
|
+
headroom_before: number | null;
|
|
238
|
+
outstanding_before: number;
|
|
239
|
+
cleared: boolean;
|
|
240
|
+
} | null;
|
|
241
|
+
attempts: {
|
|
242
|
+
reason: "budget_exhausted" | "cap_reached" | "window_uncalibrated";
|
|
243
|
+
pool_id: string;
|
|
244
|
+
constraints: {
|
|
245
|
+
cost: number;
|
|
246
|
+
resource_key: string;
|
|
247
|
+
headroom_before: number | null;
|
|
248
|
+
outstanding_before: number;
|
|
249
|
+
cleared: boolean;
|
|
250
|
+
}[];
|
|
251
|
+
in_flight_before?: number | undefined;
|
|
252
|
+
cap?: number | undefined;
|
|
253
|
+
unpriced_windows?: string[] | undefined;
|
|
254
|
+
}[];
|
|
255
|
+
in_flight_before?: number | undefined;
|
|
256
|
+
cap?: number | undefined;
|
|
257
|
+
unpriced_windows?: string[] | undefined;
|
|
112
258
|
}>, "many">;
|
|
113
259
|
}, "strict", z.ZodTypeAny, {
|
|
114
260
|
leases: {
|
|
115
261
|
pool_id: string;
|
|
116
262
|
cost: number;
|
|
117
263
|
packet_id: string;
|
|
118
|
-
|
|
264
|
+
resource_keys: string[];
|
|
119
265
|
lease_id: string;
|
|
120
266
|
}[];
|
|
121
267
|
granted_packet_ids: string[];
|
|
122
268
|
declared_cap: number | null;
|
|
123
269
|
explains: {
|
|
124
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized" | "window_uncalibrated";
|
|
270
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "planned" | "packet_oversized" | "window_uncalibrated";
|
|
125
271
|
pool_id: string | null;
|
|
126
272
|
cost: number;
|
|
127
273
|
admitted: boolean;
|
|
128
274
|
packet_id: string;
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
275
|
+
constraints: {
|
|
276
|
+
cost: number;
|
|
277
|
+
resource_key: string;
|
|
278
|
+
headroom_before: number | null;
|
|
279
|
+
outstanding_before: number;
|
|
280
|
+
cleared: boolean;
|
|
281
|
+
}[];
|
|
282
|
+
binding: {
|
|
283
|
+
cost: number;
|
|
284
|
+
resource_key: string;
|
|
285
|
+
headroom_before: number | null;
|
|
286
|
+
outstanding_before: number;
|
|
287
|
+
cleared: boolean;
|
|
288
|
+
} | null;
|
|
289
|
+
attempts: {
|
|
290
|
+
reason: "budget_exhausted" | "cap_reached" | "window_uncalibrated";
|
|
291
|
+
pool_id: string;
|
|
292
|
+
constraints: {
|
|
293
|
+
cost: number;
|
|
294
|
+
resource_key: string;
|
|
295
|
+
headroom_before: number | null;
|
|
296
|
+
outstanding_before: number;
|
|
297
|
+
cleared: boolean;
|
|
298
|
+
}[];
|
|
299
|
+
in_flight_before?: number | undefined;
|
|
300
|
+
cap?: number | undefined;
|
|
301
|
+
unpriced_windows?: string[] | undefined;
|
|
302
|
+
}[];
|
|
303
|
+
in_flight_before?: number | undefined;
|
|
304
|
+
cap?: number | undefined;
|
|
305
|
+
unpriced_windows?: string[] | undefined;
|
|
132
306
|
}[];
|
|
133
307
|
}, {
|
|
134
308
|
leases: {
|
|
135
309
|
pool_id: string;
|
|
136
310
|
cost: number;
|
|
137
311
|
packet_id: string;
|
|
138
|
-
|
|
312
|
+
resource_keys: string[];
|
|
139
313
|
lease_id: string;
|
|
140
314
|
}[];
|
|
141
315
|
granted_packet_ids: string[];
|
|
142
316
|
declared_cap: number | null;
|
|
143
317
|
explains: {
|
|
144
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized" | "window_uncalibrated";
|
|
318
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "planned" | "packet_oversized" | "window_uncalibrated";
|
|
145
319
|
pool_id: string | null;
|
|
146
320
|
cost: number;
|
|
147
321
|
admitted: boolean;
|
|
148
322
|
packet_id: string;
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
323
|
+
constraints: {
|
|
324
|
+
cost: number;
|
|
325
|
+
resource_key: string;
|
|
326
|
+
headroom_before: number | null;
|
|
327
|
+
outstanding_before: number;
|
|
328
|
+
cleared: boolean;
|
|
329
|
+
}[];
|
|
330
|
+
binding: {
|
|
331
|
+
cost: number;
|
|
332
|
+
resource_key: string;
|
|
333
|
+
headroom_before: number | null;
|
|
334
|
+
outstanding_before: number;
|
|
335
|
+
cleared: boolean;
|
|
336
|
+
} | null;
|
|
337
|
+
attempts: {
|
|
338
|
+
reason: "budget_exhausted" | "cap_reached" | "window_uncalibrated";
|
|
339
|
+
pool_id: string;
|
|
340
|
+
constraints: {
|
|
341
|
+
cost: number;
|
|
342
|
+
resource_key: string;
|
|
343
|
+
headroom_before: number | null;
|
|
344
|
+
outstanding_before: number;
|
|
345
|
+
cleared: boolean;
|
|
346
|
+
}[];
|
|
347
|
+
in_flight_before?: number | undefined;
|
|
348
|
+
cap?: number | undefined;
|
|
349
|
+
unpriced_windows?: string[] | undefined;
|
|
350
|
+
}[];
|
|
351
|
+
in_flight_before?: number | undefined;
|
|
352
|
+
cap?: number | undefined;
|
|
353
|
+
unpriced_windows?: string[] | undefined;
|
|
152
354
|
}[];
|
|
153
355
|
}>;
|
|
154
356
|
cooldown_until: z.ZodNullable<z.ZodString>;
|
|
@@ -531,20 +733,48 @@ export declare const DispatchQuotaContractSchema: z.ZodObject<{
|
|
|
531
733
|
pool_id: string;
|
|
532
734
|
cost: number;
|
|
533
735
|
packet_id: string;
|
|
534
|
-
|
|
736
|
+
resource_keys: string[];
|
|
535
737
|
lease_id: string;
|
|
536
738
|
}[];
|
|
537
739
|
granted_packet_ids: string[];
|
|
538
740
|
declared_cap: number | null;
|
|
539
741
|
explains: {
|
|
540
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized" | "window_uncalibrated";
|
|
742
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "planned" | "packet_oversized" | "window_uncalibrated";
|
|
541
743
|
pool_id: string | null;
|
|
542
744
|
cost: number;
|
|
543
745
|
admitted: boolean;
|
|
544
746
|
packet_id: string;
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
747
|
+
constraints: {
|
|
748
|
+
cost: number;
|
|
749
|
+
resource_key: string;
|
|
750
|
+
headroom_before: number | null;
|
|
751
|
+
outstanding_before: number;
|
|
752
|
+
cleared: boolean;
|
|
753
|
+
}[];
|
|
754
|
+
binding: {
|
|
755
|
+
cost: number;
|
|
756
|
+
resource_key: string;
|
|
757
|
+
headroom_before: number | null;
|
|
758
|
+
outstanding_before: number;
|
|
759
|
+
cleared: boolean;
|
|
760
|
+
} | null;
|
|
761
|
+
attempts: {
|
|
762
|
+
reason: "budget_exhausted" | "cap_reached" | "window_uncalibrated";
|
|
763
|
+
pool_id: string;
|
|
764
|
+
constraints: {
|
|
765
|
+
cost: number;
|
|
766
|
+
resource_key: string;
|
|
767
|
+
headroom_before: number | null;
|
|
768
|
+
outstanding_before: number;
|
|
769
|
+
cleared: boolean;
|
|
770
|
+
}[];
|
|
771
|
+
in_flight_before?: number | undefined;
|
|
772
|
+
cap?: number | undefined;
|
|
773
|
+
unpriced_windows?: string[] | undefined;
|
|
774
|
+
}[];
|
|
775
|
+
in_flight_before?: number | undefined;
|
|
776
|
+
cap?: number | undefined;
|
|
777
|
+
unpriced_windows?: string[] | undefined;
|
|
548
778
|
}[];
|
|
549
779
|
};
|
|
550
780
|
estimated_wave_tokens?: number | undefined;
|
|
@@ -662,20 +892,48 @@ export declare const DispatchQuotaContractSchema: z.ZodObject<{
|
|
|
662
892
|
pool_id: string;
|
|
663
893
|
cost: number;
|
|
664
894
|
packet_id: string;
|
|
665
|
-
|
|
895
|
+
resource_keys: string[];
|
|
666
896
|
lease_id: string;
|
|
667
897
|
}[];
|
|
668
898
|
granted_packet_ids: string[];
|
|
669
899
|
declared_cap: number | null;
|
|
670
900
|
explains: {
|
|
671
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized" | "window_uncalibrated";
|
|
901
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "planned" | "packet_oversized" | "window_uncalibrated";
|
|
672
902
|
pool_id: string | null;
|
|
673
903
|
cost: number;
|
|
674
904
|
admitted: boolean;
|
|
675
905
|
packet_id: string;
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
906
|
+
constraints: {
|
|
907
|
+
cost: number;
|
|
908
|
+
resource_key: string;
|
|
909
|
+
headroom_before: number | null;
|
|
910
|
+
outstanding_before: number;
|
|
911
|
+
cleared: boolean;
|
|
912
|
+
}[];
|
|
913
|
+
binding: {
|
|
914
|
+
cost: number;
|
|
915
|
+
resource_key: string;
|
|
916
|
+
headroom_before: number | null;
|
|
917
|
+
outstanding_before: number;
|
|
918
|
+
cleared: boolean;
|
|
919
|
+
} | null;
|
|
920
|
+
attempts: {
|
|
921
|
+
reason: "budget_exhausted" | "cap_reached" | "window_uncalibrated";
|
|
922
|
+
pool_id: string;
|
|
923
|
+
constraints: {
|
|
924
|
+
cost: number;
|
|
925
|
+
resource_key: string;
|
|
926
|
+
headroom_before: number | null;
|
|
927
|
+
outstanding_before: number;
|
|
928
|
+
cleared: boolean;
|
|
929
|
+
}[];
|
|
930
|
+
in_flight_before?: number | undefined;
|
|
931
|
+
cap?: number | undefined;
|
|
932
|
+
unpriced_windows?: string[] | undefined;
|
|
933
|
+
}[];
|
|
934
|
+
in_flight_before?: number | undefined;
|
|
935
|
+
cap?: number | undefined;
|
|
936
|
+
unpriced_windows?: string[] | undefined;
|
|
679
937
|
}[];
|
|
680
938
|
};
|
|
681
939
|
estimated_wave_tokens?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatchQuotaContract.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/dispatchQuotaContract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE3F,+EAA+E;AAC/E,eAAO,MAAM,+BAA+B,EAAG,mBAA4B,CAAC;AAE5E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASpC;;;;OAIG
|
|
1
|
+
{"version":3,"file":"dispatchQuotaContract.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/dispatchQuotaContract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE3F,+EAA+E;AAC/E,eAAO,MAAM,+BAA+B,EAAG,mBAA4B,CAAC;AAE5E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASpC;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQH,yEAAyE;;;;;;;;;;;;;;;;;IAEzE,+EAA+E;;IAE/E,0DAA0D;;IAE1D,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG7C,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,iBAAiB,CAAA;KAAE,EAAE,CAAC;IACrG,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC,qBAAqB,EAAE,kBAAkB,GAAG,QAAQ,GAAG,WAAW,CAAC,CAAC;CAChF,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAgBjC"}
|
|
@@ -61,6 +61,7 @@ import type { QuotaStateEntry } from "../quota/types.js";
|
|
|
61
61
|
import type { PoolConstraintResolution } from "../quota/windowConstraints.js";
|
|
62
62
|
import type { WorkerOutputChannel } from "../quota/errorParsing.js";
|
|
63
63
|
import type { ReservationLedger } from "../quota/reservationLedger.js";
|
|
64
|
+
import type { EngineDecisionSink } from "./dispatchDecisionLog.js";
|
|
64
65
|
import type { DispatchModelTier } from "../types/stepContract.js";
|
|
65
66
|
/** A dispatchable unit of work. TPacket is opaque to the engine. */
|
|
66
67
|
export interface RollingDispatchPacket<TPacket> {
|
|
@@ -425,6 +426,16 @@ export interface RollingDispatchConfig<TPacket> {
|
|
|
425
426
|
* alone; the reactive floor still catches output under-reservation.
|
|
426
427
|
*/
|
|
427
428
|
resolveOutputReservation?: (packet: RollingDispatchPacket<TPacket>, poolId: string) => number;
|
|
429
|
+
/**
|
|
430
|
+
* Decision-record sink (legibility invariant, spec Resolved decision 3): the
|
|
431
|
+
* engine stamps and emits EVERY per-packet admission decision (admit / ledger
|
|
432
|
+
* block / strand) through this seam. The drivers wire it to the run dir's
|
|
433
|
+
* append-only `dispatch-explains.jsonl` ({@link createDispatchDecisionLog}).
|
|
434
|
+
* OMITTED ⇒ the engine writes the same stamped records to stderr as JSON
|
|
435
|
+
* lines — a decision path that writes no explain is itself a defect, so the
|
|
436
|
+
* fallback is emission, never silence.
|
|
437
|
+
*/
|
|
438
|
+
onAdmissionDecision?: EngineDecisionSink;
|
|
428
439
|
}
|
|
429
440
|
/** Options for tuning the dispatcher (intentionally minimal per INV-S05). */
|
|
430
441
|
export interface RollingDispatchOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollingDispatch.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/rollingDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,mBAAmB,CAAC;AAYnF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"rollingDispatch.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/rollingDispatch.ts"],"names":[],"mappings":"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"}
|