@claudexor/orchestrator 4.8.2 → 5.0.1
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/account-pool.d.ts +4 -1
- package/dist/account-pool.d.ts.map +1 -1
- package/dist/account-pool.js +25 -19
- package/dist/account-pool.js.map +1 -1
- package/dist/account-resolution.d.ts +1 -4
- package/dist/account-resolution.d.ts.map +1 -1
- package/dist/account-resolution.js +19 -42
- package/dist/account-resolution.js.map +1 -1
- package/dist/attemptOutputMarkers.d.ts +7 -0
- package/dist/attemptOutputMarkers.d.ts.map +1 -1
- package/dist/attemptOutputMarkers.js +1 -1
- package/dist/attemptOutputMarkers.js.map +1 -1
- package/dist/attemptTelemetry.d.ts +4 -1
- package/dist/attemptTelemetry.d.ts.map +1 -1
- package/dist/attemptTelemetry.js +9 -26
- package/dist/attemptTelemetry.js.map +1 -1
- package/dist/candidateEvidence.d.ts +12 -9
- package/dist/candidateEvidence.d.ts.map +1 -1
- package/dist/candidateEvidence.js +38 -13
- package/dist/candidateEvidence.js.map +1 -1
- package/dist/candidateOutputs.d.ts +44 -22
- package/dist/candidateOutputs.d.ts.map +1 -1
- package/dist/candidateOutputs.js +116 -72
- package/dist/candidateOutputs.js.map +1 -1
- package/dist/candidateReview.d.ts.map +1 -1
- package/dist/candidateReview.js +44 -8
- package/dist/candidateReview.js.map +1 -1
- package/dist/candidateTerminals.d.ts +1 -0
- package/dist/candidateTerminals.d.ts.map +1 -1
- package/dist/candidateTerminals.js +11 -6
- package/dist/candidateTerminals.js.map +1 -1
- package/dist/candidateWorkProduct.d.ts +2 -1
- package/dist/candidateWorkProduct.d.ts.map +1 -1
- package/dist/candidateWorkProduct.js +6 -3
- package/dist/candidateWorkProduct.js.map +1 -1
- package/dist/captureRefusal.d.ts +29 -1
- package/dist/captureRefusal.d.ts.map +1 -1
- package/dist/captureRefusal.js +114 -8
- package/dist/captureRefusal.js.map +1 -1
- package/dist/continuation-chain.test-support.d.ts +473 -0
- package/dist/continuation-chain.test-support.d.ts.map +1 -0
- package/dist/continuation-chain.test-support.js +206 -0
- package/dist/continuation-chain.test-support.js.map +1 -0
- package/dist/continuation-custody.d.ts +4 -1
- package/dist/continuation-custody.d.ts.map +1 -1
- package/dist/continuation-custody.js +68 -28
- package/dist/continuation-custody.js.map +1 -1
- package/dist/continuation-evidence-io.d.ts +30 -4
- package/dist/continuation-evidence-io.d.ts.map +1 -1
- package/dist/continuation-evidence-io.js +162 -46
- package/dist/continuation-evidence-io.js.map +1 -1
- package/dist/continuation-evidence.d.ts +40 -3
- package/dist/continuation-evidence.d.ts.map +1 -1
- package/dist/continuation-evidence.js +85 -11
- package/dist/continuation-evidence.js.map +1 -1
- package/dist/continuation-input.d.ts +10 -1
- package/dist/continuation-input.d.ts.map +1 -1
- package/dist/continuation-input.js +21 -20
- package/dist/continuation-input.js.map +1 -1
- package/dist/continuation-later.d.ts +30 -0
- package/dist/continuation-later.d.ts.map +1 -0
- package/dist/continuation-later.js +108 -0
- package/dist/continuation-later.js.map +1 -0
- package/dist/continue-from.d.ts +4 -3
- package/dist/continue-from.d.ts.map +1 -1
- package/dist/continue-from.js +62 -26
- package/dist/continue-from.js.map +1 -1
- package/dist/continuity-notice.d.ts +3 -1
- package/dist/continuity-notice.d.ts.map +1 -1
- package/dist/continuity-notice.js +3 -1
- package/dist/continuity-notice.js.map +1 -1
- package/dist/continuity-terminal.d.ts +16 -0
- package/dist/continuity-terminal.d.ts.map +1 -1
- package/dist/continuity-terminal.js +21 -0
- package/dist/continuity-terminal.js.map +1 -1
- package/dist/continuity.d.ts +1 -1
- package/dist/continuity.d.ts.map +1 -1
- package/dist/contract-gates.d.ts.map +1 -1
- package/dist/contract-gates.js +11 -6
- package/dist/contract-gates.js.map +1 -1
- package/dist/credential-cooldown.d.ts +2 -1
- package/dist/credential-cooldown.d.ts.map +1 -1
- package/dist/credential-cooldown.js +16 -7
- package/dist/credential-cooldown.js.map +1 -1
- package/dist/credential-preflight.d.ts.map +1 -1
- package/dist/credential-preflight.js +10 -7
- package/dist/credential-preflight.js.map +1 -1
- package/dist/credential-profile-rotation.d.ts +10 -3
- package/dist/credential-profile-rotation.d.ts.map +1 -1
- package/dist/credential-profile-rotation.js +28 -26
- package/dist/credential-profile-rotation.js.map +1 -1
- package/dist/deepScanReducer.d.ts +0 -3
- package/dist/deepScanReducer.d.ts.map +1 -1
- package/dist/deepScanReducer.js +22 -26
- package/dist/deepScanReducer.js.map +1 -1
- package/dist/delegationFailure.d.ts +34 -5
- package/dist/delegationFailure.d.ts.map +1 -1
- package/dist/delegationFailure.js +6 -4
- package/dist/delegationFailure.js.map +1 -1
- package/dist/delegationToolEvidence.d.ts +2 -0
- package/dist/delegationToolEvidence.d.ts.map +1 -1
- package/dist/delegationToolEvidence.js +21 -0
- package/dist/delegationToolEvidence.js.map +1 -1
- package/dist/diffReview.d.ts +1 -8
- package/dist/diffReview.d.ts.map +1 -1
- package/dist/diffReview.js +3 -18
- package/dist/diffReview.js.map +1 -1
- package/dist/directoryCandidate.d.ts +1 -1
- package/dist/directoryCandidate.d.ts.map +1 -1
- package/dist/directoryCandidate.js +13 -13
- package/dist/directoryCandidate.js.map +1 -1
- package/dist/inrun-continuity-carrier.d.ts +11 -1
- package/dist/inrun-continuity-carrier.d.ts.map +1 -1
- package/dist/inrun-continuity-carrier.js +32 -10
- package/dist/inrun-continuity-carrier.js.map +1 -1
- package/dist/inrun-continuity-types.d.ts +17 -4
- package/dist/inrun-continuity-types.d.ts.map +1 -1
- package/dist/inrun-continuity.d.ts +8 -3
- package/dist/inrun-continuity.d.ts.map +1 -1
- package/dist/inrun-continuity.js +41 -37
- package/dist/inrun-continuity.js.map +1 -1
- package/dist/inrun-continuity.test-support.d.ts +61 -4
- package/dist/inrun-continuity.test-support.d.ts.map +1 -1
- package/dist/inrun-continuity.test-support.js +12 -2
- package/dist/inrun-continuity.test-support.js.map +1 -1
- package/dist/modelGovernance.d.ts +87 -9
- package/dist/modelGovernance.d.ts.map +1 -1
- package/dist/modelGovernance.js +110 -15
- package/dist/modelGovernance.js.map +1 -1
- package/dist/orchestrator-credentials.d.ts +9 -4
- package/dist/orchestrator-credentials.d.ts.map +1 -1
- package/dist/orchestrator-credentials.js +14 -6
- package/dist/orchestrator-credentials.js.map +1 -1
- package/dist/orchestrator.d.ts +0 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +247 -223
- package/dist/orchestrator.js.map +1 -1
- package/dist/planFinalize.d.ts.map +1 -1
- package/dist/planFinalize.js +3 -7
- package/dist/planFinalize.js.map +1 -1
- package/dist/planRun.js +2 -2
- package/dist/planRun.js.map +1 -1
- package/dist/plannerAttempt.d.ts +0 -2
- package/dist/plannerAttempt.d.ts.map +1 -1
- package/dist/plannerAttempt.js +64 -30
- package/dist/plannerAttempt.js.map +1 -1
- package/dist/policyFindings.d.ts +3 -0
- package/dist/policyFindings.d.ts.map +1 -1
- package/dist/policyFindings.js +11 -1
- package/dist/policyFindings.js.map +1 -1
- package/dist/pool-attempt-evidence.d.ts +1 -1
- package/dist/pool-attempt-evidence.d.ts.map +1 -1
- package/dist/pool-attempt-evidence.js +1 -1
- package/dist/pool-attempt-evidence.js.map +1 -1
- package/dist/primary-divergence.d.ts +7 -2
- package/dist/primary-divergence.d.ts.map +1 -1
- package/dist/primary-divergence.js +13 -5
- package/dist/primary-divergence.js.map +1 -1
- package/dist/quota-refusal-scope.d.ts +39 -1
- package/dist/quota-refusal-scope.d.ts.map +1 -1
- package/dist/quota-refusal-scope.js +95 -1
- package/dist/quota-refusal-scope.js.map +1 -1
- package/dist/readonlyTerminals.d.ts +0 -1
- package/dist/readonlyTerminals.d.ts.map +1 -1
- package/dist/readonlyTerminals.js +5 -3
- package/dist/readonlyTerminals.js.map +1 -1
- package/dist/requestRequirements.d.ts +23 -0
- package/dist/requestRequirements.d.ts.map +1 -1
- package/dist/requestRequirements.js +22 -0
- package/dist/requestRequirements.js.map +1 -1
- package/dist/resultNotice.d.ts +14 -0
- package/dist/resultNotice.d.ts.map +1 -0
- package/dist/resultNotice.js +21 -0
- package/dist/resultNotice.js.map +1 -0
- package/dist/reviewerInventory.d.ts +47 -0
- package/dist/reviewerInventory.d.ts.map +1 -0
- package/dist/reviewerInventory.js +74 -0
- package/dist/reviewerInventory.js.map +1 -0
- package/dist/reviewerPanel.d.ts.map +1 -1
- package/dist/reviewerPanel.js +37 -60
- package/dist/reviewerPanel.js.map +1 -1
- package/dist/routing-failure.d.ts +2 -1
- package/dist/routing-failure.d.ts.map +1 -1
- package/dist/routing-failure.js +2 -0
- package/dist/routing-failure.js.map +1 -1
- package/dist/runAdmission.d.ts.map +1 -1
- package/dist/runAdmission.js +1 -14
- package/dist/runAdmission.js.map +1 -1
- package/dist/runEventLog.js +2 -2
- package/dist/runEventLog.js.map +1 -1
- package/dist/runFactsBuilder.d.ts.map +1 -1
- package/dist/runFactsBuilder.js +18 -10
- package/dist/runFactsBuilder.js.map +1 -1
- package/dist/runFactsDeliverable.d.ts.map +1 -1
- package/dist/runFactsDeliverable.js +7 -1
- package/dist/runFactsDeliverable.js.map +1 -1
- package/dist/runSupport.d.ts +5 -10
- package/dist/runSupport.d.ts.map +1 -1
- package/dist/runSupport.js +38 -40
- package/dist/runSupport.js.map +1 -1
- package/dist/runTerminalResults.d.ts +9 -1
- package/dist/runTerminalResults.d.ts.map +1 -1
- package/dist/runTerminalResults.js +27 -5
- package/dist/runTerminalResults.js.map +1 -1
- package/dist/savedCandidate.d.ts +43 -0
- package/dist/savedCandidate.d.ts.map +1 -0
- package/dist/savedCandidate.js +88 -0
- package/dist/savedCandidate.js.map +1 -0
- package/dist/secretDiff.d.ts +85 -46
- package/dist/secretDiff.d.ts.map +1 -1
- package/dist/secretDiff.js +123 -126
- package/dist/secretDiff.js.map +1 -1
- package/dist/task-contract-builder.d.ts.map +1 -1
- package/dist/task-contract-builder.js +5 -7
- package/dist/task-contract-builder.js.map +1 -1
- package/dist/workReportEnvelope.d.ts.map +1 -1
- package/dist/workReportEnvelope.js +4 -16
- package/dist/workReportEnvelope.js.map +1 -1
- package/package.json +17 -17
- package/dist/persistedPatch.d.ts +0 -55
- package/dist/persistedPatch.d.ts.map +0 -1
- package/dist/persistedPatch.js +0 -132
- package/dist/persistedPatch.js.map +0 -1
|
@@ -14,12 +14,14 @@ type Script = (ctx: Spawn & {
|
|
|
14
14
|
emit: (ev: Partial<HarnessEvent>) => HarnessEvent;
|
|
15
15
|
}) => Generator<HarnessEvent>;
|
|
16
16
|
interface Scenario {
|
|
17
|
-
mode: "agent" | "ask";
|
|
17
|
+
mode: "agent" | "ask" | "plan";
|
|
18
18
|
profiles: string[];
|
|
19
19
|
script: Script;
|
|
20
20
|
continuity?: HarnessContinuityCapability | null;
|
|
21
21
|
pinned?: string;
|
|
22
22
|
limitAction?: "rotate" | "fail" | "ask";
|
|
23
|
+
/** The saved quota reserve (`profile_policy.headroom_threshold`; default 1). */
|
|
24
|
+
headroomThreshold?: number;
|
|
23
25
|
maxRetries?: number;
|
|
24
26
|
/** The run's requested model; null = none (the harness default). */
|
|
25
27
|
model?: string | null;
|
|
@@ -32,6 +34,9 @@ interface Scenario {
|
|
|
32
34
|
models?: (profileId: string | null) => Promise<HarnessModel[]>;
|
|
33
35
|
/** Extra Orchestrator dependencies (e.g. a Delegate drain authority). */
|
|
34
36
|
deps?: Partial<ConstructorParameters<typeof Orchestrator>[0]>;
|
|
37
|
+
/** Runs inside each asynchronous credential readiness probe (e.g. time
|
|
38
|
+
* passing or a new quota observation landing while readiness is checked). */
|
|
39
|
+
onProbe?: (profileId: string) => void | Promise<void>;
|
|
35
40
|
}
|
|
36
41
|
export declare const RESET = "2026-10-06T21:00:00.000Z";
|
|
37
42
|
/** A movable fake store: sessions live under `<locator>/sessions/<sid>.jsonl`. */
|
|
@@ -49,7 +54,7 @@ export declare function run(scenario: Scenario): Promise<{
|
|
|
49
54
|
run_id: string;
|
|
50
55
|
task_id: string;
|
|
51
56
|
thread_id?: string | undefined;
|
|
52
|
-
type: "arbitration.completed" | "budget.cash" | "budget.lease.created" | "budget.observation" | "budget.quota_pressure" | "context.pack.created" | "control.applied" | "control.rejected" | "control.requested" | "council.draft" | "council.member.failed" | "council.merged" | "council.started" | "delegation.belt.degraded" | "delegation.belt.unavailable" | "finding.revalidated" | "gate.completed" | "gate.started" | "harness.completed" | "harness.event" | "harness.started" | "interaction.answer_discarded" | "interaction.answered" | "interaction.requested" | "interaction.timeout" | "interaction.withdrawn" | "message.accepted" | "message.delivered" | "message.refused" | "output.ready" | "plan.brief.materialized" | "plan.progress" | "plan.questions" | "policy.web.upgraded" | "project.claude_bridge.created" | "project.git.initialized" | "review.preflight" | "review.skipped" | "review.started" | "reviewer.auth_switched" | "reviewer.completed" | "reviewer.failed" | "reviewer.first_event" | "reviewer.started" | "reviewer.timed_out" | "route.account.lane_switch" | "route.account.pool_exhausted" | "route.account.pool_selected" | "route.fallback.auth_switched" | "route.fallback.completed" | "route.fallback.exhausted" | "route.fallback.started" | "route.pool.degraded" | "route.primary.diverged" | "route.profile.credential_unusable" | "route.profile.headroom_exceeded" | "route.profile.rotated" | "route.profile.rotation_exhausted" | "route.transient.detected" | "route.transient.exhausted" | "route.transient.retry_scheduled" | "run.blocked" | "run.completed" | "run.continuation" | "run.continuation.denied" | "run.continuity" | "run.created" | "run.failed" | "session.continuity" | "synthesis.started" | "task.contract.created" | "work_product.adopted" | "work_product.emitted" | "workspace.retained";
|
|
57
|
+
type: "arbitration.completed" | "budget.cash" | "budget.lease.created" | "budget.observation" | "budget.quota_pressure" | "context.pack.created" | "control.applied" | "control.rejected" | "control.requested" | "council.draft" | "council.member.failed" | "council.merged" | "council.started" | "delegation.belt.degraded" | "delegation.belt.unavailable" | "finding.revalidated" | "gate.completed" | "gate.started" | "harness.completed" | "harness.event" | "harness.started" | "interaction.answer_discarded" | "interaction.answered" | "interaction.requested" | "interaction.timeout" | "interaction.withdrawn" | "message.accepted" | "message.delivered" | "message.refused" | "output.ready" | "plan.brief.materialized" | "plan.progress" | "plan.questions" | "policy.web.upgraded" | "project.claude_bridge.created" | "project.git.initialized" | "review.preflight" | "review.skipped" | "review.started" | "reviewer.auth_switched" | "reviewer.completed" | "reviewer.failed" | "reviewer.first_event" | "reviewer.started" | "reviewer.timed_out" | "route.account.lane_switch" | "route.account.pool_exhausted" | "route.account.pool_selected" | "route.fallback.auth_switched" | "route.fallback.completed" | "route.fallback.exhausted" | "route.fallback.started" | "route.pool.degraded" | "route.primary.diverged" | "route.profile.credential_unusable" | "route.profile.headroom_exceeded" | "route.profile.rotated" | "route.profile.rotation_exhausted" | "route.transient.detected" | "route.transient.exhausted" | "route.transient.retry_scheduled" | "run.blocked" | "run.completed" | "run.continuation" | "run.continuation.denied" | "run.continuity" | "run.created" | "run.failed" | "session.continuity" | "synthesis.started" | "task.contract.created" | "work_product.adopted" | "work_product.emitted" | "workspace.retained" | "workspace.settlement_failed";
|
|
53
58
|
payload: Record<string, unknown>;
|
|
54
59
|
}[];
|
|
55
60
|
receipts: Record<string, unknown>[];
|
|
@@ -166,9 +171,18 @@ export declare const limit: (emit: (ev: Partial<HarnessEvent>) => HarnessEvent,
|
|
|
166
171
|
use_id?: string | undefined;
|
|
167
172
|
target?: string | undefined;
|
|
168
173
|
status?: "cancelled" | "denied" | "error" | "ok" | undefined;
|
|
174
|
+
phase?: "completed" | "started" | undefined;
|
|
169
175
|
error_summary?: string | undefined;
|
|
170
176
|
content_summary?: string | undefined;
|
|
171
177
|
exit_code?: number | undefined;
|
|
178
|
+
command_outcome?: {
|
|
179
|
+
state: "backgrounded" | "exited" | "timed_out" | "unknown";
|
|
180
|
+
signal?: string | undefined;
|
|
181
|
+
timeout_ms?: number | undefined;
|
|
182
|
+
background_reason?: "requested" | "timeout" | undefined;
|
|
183
|
+
shell_id?: string | undefined;
|
|
184
|
+
pid?: number | undefined;
|
|
185
|
+
} | undefined;
|
|
172
186
|
web_retrieval?: "dispatched" | "failed" | "verified" | undefined;
|
|
173
187
|
} | undefined;
|
|
174
188
|
interaction?: {
|
|
@@ -196,7 +210,23 @@ export declare const limit: (emit: (ev: Partial<HarnessEvent>) => HarnessEvent,
|
|
|
196
210
|
expected_blob_oid: string | null;
|
|
197
211
|
}[];
|
|
198
212
|
} | undefined;
|
|
199
|
-
refusal_code?: "raw_patch_apply_failed" | "raw_patch_base_mismatch" | "raw_patch_binary_unsupported" | "raw_patch_digest_mismatch" | "raw_patch_missing_evidence" | "raw_patch_outside_scope" | "raw_patch_path_traversal" | "raw_patch_requires_isolation" | "raw_patch_stale_preimage" | "raw_patch_truncated" | undefined;
|
|
213
|
+
refusal_code?: "raw_context_exceeds_window" | "raw_patch_apply_failed" | "raw_patch_base_mismatch" | "raw_patch_binary_unsupported" | "raw_patch_digest_mismatch" | "raw_patch_missing_evidence" | "raw_patch_outside_scope" | "raw_patch_path_traversal" | "raw_patch_requires_isolation" | "raw_patch_stale_preimage" | "raw_patch_truncated" | undefined;
|
|
214
|
+
raw_context?: {
|
|
215
|
+
model: string;
|
|
216
|
+
estimated_request_tokens: number;
|
|
217
|
+
budget: {
|
|
218
|
+
estimator: "chars_div_4";
|
|
219
|
+
basis: "assumed_ceiling" | "model_context_window";
|
|
220
|
+
model: string | null;
|
|
221
|
+
context_window: number | null;
|
|
222
|
+
output_allowance_tokens: number | null;
|
|
223
|
+
framing_tokens: number | null;
|
|
224
|
+
selection_limit_tokens: number;
|
|
225
|
+
estimated_packet_tokens: number;
|
|
226
|
+
omitted_for_budget: number;
|
|
227
|
+
mandatory_paths: string[];
|
|
228
|
+
};
|
|
229
|
+
} | undefined;
|
|
200
230
|
permission_denial?: {
|
|
201
231
|
permission: string;
|
|
202
232
|
source: string;
|
|
@@ -231,6 +261,7 @@ export declare const limit: (emit: (ev: Partial<HarnessEvent>) => HarnessEvent,
|
|
|
231
261
|
constraint_id?: string | undefined;
|
|
232
262
|
applies_to_request_kinds?: ("image" | "text")[] | undefined;
|
|
233
263
|
applies_to_models?: string[] | null | undefined;
|
|
264
|
+
applies_to_model_prefixes?: string[] | undefined;
|
|
234
265
|
resets_at: string | null;
|
|
235
266
|
retry_delay_ms: number | null;
|
|
236
267
|
} | undefined;
|
|
@@ -353,9 +384,18 @@ export declare const crash: (emit: (ev: Partial<HarnessEvent>) => HarnessEvent)
|
|
|
353
384
|
use_id?: string | undefined;
|
|
354
385
|
target?: string | undefined;
|
|
355
386
|
status?: "cancelled" | "denied" | "error" | "ok" | undefined;
|
|
387
|
+
phase?: "completed" | "started" | undefined;
|
|
356
388
|
error_summary?: string | undefined;
|
|
357
389
|
content_summary?: string | undefined;
|
|
358
390
|
exit_code?: number | undefined;
|
|
391
|
+
command_outcome?: {
|
|
392
|
+
state: "backgrounded" | "exited" | "timed_out" | "unknown";
|
|
393
|
+
signal?: string | undefined;
|
|
394
|
+
timeout_ms?: number | undefined;
|
|
395
|
+
background_reason?: "requested" | "timeout" | undefined;
|
|
396
|
+
shell_id?: string | undefined;
|
|
397
|
+
pid?: number | undefined;
|
|
398
|
+
} | undefined;
|
|
359
399
|
web_retrieval?: "dispatched" | "failed" | "verified" | undefined;
|
|
360
400
|
} | undefined;
|
|
361
401
|
interaction?: {
|
|
@@ -383,7 +423,23 @@ export declare const crash: (emit: (ev: Partial<HarnessEvent>) => HarnessEvent)
|
|
|
383
423
|
expected_blob_oid: string | null;
|
|
384
424
|
}[];
|
|
385
425
|
} | undefined;
|
|
386
|
-
refusal_code?: "raw_patch_apply_failed" | "raw_patch_base_mismatch" | "raw_patch_binary_unsupported" | "raw_patch_digest_mismatch" | "raw_patch_missing_evidence" | "raw_patch_outside_scope" | "raw_patch_path_traversal" | "raw_patch_requires_isolation" | "raw_patch_stale_preimage" | "raw_patch_truncated" | undefined;
|
|
426
|
+
refusal_code?: "raw_context_exceeds_window" | "raw_patch_apply_failed" | "raw_patch_base_mismatch" | "raw_patch_binary_unsupported" | "raw_patch_digest_mismatch" | "raw_patch_missing_evidence" | "raw_patch_outside_scope" | "raw_patch_path_traversal" | "raw_patch_requires_isolation" | "raw_patch_stale_preimage" | "raw_patch_truncated" | undefined;
|
|
427
|
+
raw_context?: {
|
|
428
|
+
model: string;
|
|
429
|
+
estimated_request_tokens: number;
|
|
430
|
+
budget: {
|
|
431
|
+
estimator: "chars_div_4";
|
|
432
|
+
basis: "assumed_ceiling" | "model_context_window";
|
|
433
|
+
model: string | null;
|
|
434
|
+
context_window: number | null;
|
|
435
|
+
output_allowance_tokens: number | null;
|
|
436
|
+
framing_tokens: number | null;
|
|
437
|
+
selection_limit_tokens: number;
|
|
438
|
+
estimated_packet_tokens: number;
|
|
439
|
+
omitted_for_budget: number;
|
|
440
|
+
mandatory_paths: string[];
|
|
441
|
+
};
|
|
442
|
+
} | undefined;
|
|
387
443
|
permission_denial?: {
|
|
388
444
|
permission: string;
|
|
389
445
|
source: string;
|
|
@@ -418,6 +474,7 @@ export declare const crash: (emit: (ev: Partial<HarnessEvent>) => HarnessEvent)
|
|
|
418
474
|
constraint_id?: string | undefined;
|
|
419
475
|
applies_to_request_kinds?: ("image" | "text")[] | undefined;
|
|
420
476
|
applies_to_models?: string[] | null | undefined;
|
|
477
|
+
applies_to_model_prefixes?: string[] | undefined;
|
|
421
478
|
resets_at: string | null;
|
|
422
479
|
retry_delay_ms: number | null;
|
|
423
480
|
} | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inrun-continuity.test-support.d.ts","sourceRoot":"","sources":["../src/inrun-continuity.test-support.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAkB,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAEL,iBAAiB,EACjB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EAEnB,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMtD,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,KAAK,MAAM,GAAG,CACZ,GAAG,EAAE,KAAK,GAAG;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,YAAY,CAAA;CAAE,KACrF,SAAS,CAAC,YAAY,CAAC,CAAC;AAE7B,UAAU,QAAQ;IAChB,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"inrun-continuity.test-support.d.ts","sourceRoot":"","sources":["../src/inrun-continuity.test-support.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,7 +64,16 @@ export async function run(scenario) {
|
|
|
64
64
|
},
|
|
65
65
|
},
|
|
66
66
|
credential_profiles: scenario.registryProfiles?.(profiles) ?? profiles,
|
|
67
|
-
harnesses: {
|
|
67
|
+
harnesses: {
|
|
68
|
+
fake: {
|
|
69
|
+
profile_policy: {
|
|
70
|
+
limit_action: scenario.limitAction ?? "rotate",
|
|
71
|
+
...(scenario.headroomThreshold
|
|
72
|
+
? { headroom_threshold: scenario.headroomThreshold }
|
|
73
|
+
: {}),
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
},
|
|
68
77
|
}));
|
|
69
78
|
const spawns = [];
|
|
70
79
|
const perProfile = new Map();
|
|
@@ -97,13 +106,14 @@ export async function run(scenario) {
|
|
|
97
106
|
return ConformanceReport.parse({
|
|
98
107
|
harness_id: "fake",
|
|
99
108
|
status: "ok",
|
|
100
|
-
enabled_intents: ["implement", "repair", "explain", "audit"],
|
|
109
|
+
enabled_intents: ["implement", "repair", "explain", "audit", "plan"],
|
|
101
110
|
auth_sources: [
|
|
102
111
|
{ source: "native_session", availability: "available", verification: "passed" },
|
|
103
112
|
],
|
|
104
113
|
});
|
|
105
114
|
},
|
|
106
115
|
async probeCredentialProfile(profile) {
|
|
116
|
+
await scenario.onProbe?.(profile.profile_id);
|
|
107
117
|
return {
|
|
108
118
|
profile_id: profile.profile_id,
|
|
109
119
|
harness_id: "fake",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inrun-continuity.test-support.js","sourceRoot":"","sources":["../src/inrun-continuity.test-support.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAMhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAiB,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,KAAK,GAAa,EAAE,CAAC;AAC3B,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"inrun-continuity.test-support.js","sourceRoot":"","sources":["../src/inrun-continuity.test-support.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* STRICT run-preflight model gate (INV-104): every route that resolved an
|
|
3
|
+
* explicit model (per-run map or per-harness settings default) must pass its
|
|
4
|
+
* harness's model truth source — the live `models()` inventory when the
|
|
5
|
+
* adapter has one, else the manifest `known_models` list. A violation throws
|
|
6
|
+
* a typed error BEFORE any vendor CLI spawns; the orchestrator surfaces it
|
|
7
|
+
* through the routing-failure path, so failure.yaml names harness, model, and
|
|
8
|
+
* truth source.
|
|
9
|
+
*
|
|
10
|
+
* Two rules keep the gate honest about WHICH account answered:
|
|
11
|
+
* - The inventory is asked of the account the run will actually use. A
|
|
12
|
+
* profile-pinned route derives its auth route from that profile's credential
|
|
13
|
+
* kind, and the query carries the profile's own state HOME, so model truth
|
|
14
|
+
* can never come from the default credential store.
|
|
15
|
+
* - Nothing about the spawned spec is rewritten to make the two agree. A
|
|
16
|
+
* profile-less `auto` run is enumerated with the same `auto` preference the
|
|
17
|
+
* adapter will resolve, so preflight and spawn share one resolution instead
|
|
18
|
+
* of the gate freezing a route the adapter would then be unable to disclose.
|
|
19
|
+
*
|
|
20
|
+
* A fallback model is checked by the authoritative per-spawn gate only after
|
|
21
|
+
* its own quota/profile preflight; checking it against the primary profile
|
|
22
|
+
* here would reject a valid cross-profile fallback.
|
|
23
|
+
*
|
|
24
|
+
* What a list may refuse with is the HARNESS's declaration: where the adapter
|
|
25
|
+
* declared `model_inventory_absence: "advisory"`, its live inventory and its
|
|
26
|
+
* manifest hints alike prove presence but not absence, so an unlisted explicit
|
|
27
|
+
* model is forwarded to the vendor unchanged and disclosed once by the
|
|
28
|
+
* per-spawn gate. An authoritative harness (the declaration a silent manifest
|
|
29
|
+
* gets) refuses as before, and no gate ever swaps one list for another to
|
|
30
|
+
* admit a model. A live read that FAILED is not a list at all (#393, owner
|
|
31
|
+
* decision A): a missing or rejected credential refuses the explicit model at
|
|
32
|
+
* both gates with the read's typed cause (`ModelCatalogUnavailableError`, core
|
|
33
|
+
* `validateModelOnUnreadCatalog`); any other failure forwards it unverified on
|
|
34
|
+
* the same key, disclosed once by the per-spawn gate. A declared refused
|
|
35
|
+
* variant is refused either way.
|
|
36
|
+
*
|
|
37
|
+
* A failure never erases what this run already read: the route keeps its most
|
|
38
|
+
* recent successful read, and a later failed read at the SAME credential
|
|
39
|
+
* identity is answered by that earlier read (its rows, presence and windows),
|
|
40
|
+
* disclosed as such. That identity is the profile AND the key: both reads must
|
|
41
|
+
* carry the producer's same key fingerprint, because a stored secret or key
|
|
42
|
+
* variable replaced mid-run keeps its profile id. Nothing is read again for it
|
|
43
|
+
* and nothing outlives the route; another identity, a read that names no key,
|
|
44
|
+
* or a credential failure never borrows it.
|
|
45
|
+
*
|
|
46
|
+
* The per-spawn gate reads the catalog ONCE per spawn, at the identity the
|
|
47
|
+
* vendor process receives, and that one read serves every consumer of the
|
|
48
|
+
* spawn: the explicit model, the size of a RawContextPacket the request inlines
|
|
49
|
+
* (#147) and the adapter's own disclosures (#146), so none of them can judge
|
|
50
|
+
* the request by another read. Where the producer binds its key to the read
|
|
51
|
+
* (`credential`), the request sends that same key: one replaced while the
|
|
52
|
+
* packet is prepared is first read, and sent, by the next spawn.
|
|
53
|
+
*/
|
|
54
|
+
import { RoutingPreflightError } from "@claudexor/budget";
|
|
1
55
|
import type { AuthVerification, PaidFallback } from "@claudexor/schema";
|
|
2
|
-
import type { HarnessAdapter } from "@claudexor/core";
|
|
3
|
-
import {
|
|
56
|
+
import type { HarnessAdapter, RawRequestCapacity } from "@claudexor/core";
|
|
57
|
+
import { ModelCatalogUnavailableError, RawContextRefusalError } from "@claudexor/core";
|
|
58
|
+
import { type CredentialProfile, type HarnessCapabilities, type HarnessEvent, type HarnessModel, type HarnessRunSpec, type KnownModelEntry, type ProcessingReceipt, type RawContextPacket } from "@claudexor/schema";
|
|
59
|
+
import { ProcessingBudgetAdmissionError } from "./processing-dispatch.js";
|
|
4
60
|
export interface ModelGovernedRoute {
|
|
5
61
|
adapter: HarnessAdapter;
|
|
6
62
|
/** Manifest model truth source (used when the adapter has no live models()). */
|
|
7
63
|
knownModels: readonly KnownModelEntry[];
|
|
8
64
|
/** The adapter's declared live-inventory contract, read from its manifest:
|
|
9
|
-
* WHICH credential routes its `models()` producer answers for,
|
|
65
|
+
* WHICH credential routes its `models()` producer answers for, WHAT its
|
|
10
66
|
* answer proves about a model it does not list (`model_inventory_absence`;
|
|
11
|
-
* omitted = `authoritative` = today's refusal)
|
|
12
|
-
*
|
|
13
|
-
|
|
67
|
+
* omitted = `authoritative` = today's refusal), and which request-time
|
|
68
|
+
* routing suffixes a listed row admits (#145). They travel together so a
|
|
69
|
+
* caller cannot supply one and silently lose another. */
|
|
70
|
+
modelInventory?: Readonly<Pick<HarnessCapabilities, "model_inventory_routes" | "model_inventory_absence" | "model_routing_variants" | "model_refused_variants">>;
|
|
71
|
+
/** The most recent successful typed catalog read on this route, and the
|
|
72
|
+
* credential identity it was read under (profile id, null = the engine
|
|
73
|
+
* default; the producer's key fingerprint, null = it named none). Written by
|
|
74
|
+
* the gates of this run only (see the file comment). */
|
|
75
|
+
lastListedCatalog?: {
|
|
76
|
+
profileId: string | null;
|
|
77
|
+
credentialFingerprint: string | null;
|
|
78
|
+
models: HarnessModel[];
|
|
79
|
+
observedAt: string;
|
|
80
|
+
};
|
|
14
81
|
/** Pre-spawn credential-route estimate: route-annotated manifest models are
|
|
15
82
|
* filtered by it, and stay EXCLUDED when it is null (fail-closed — a
|
|
16
83
|
* route-scoped model never passes the gate on an undecidable route). */
|
|
@@ -39,14 +106,25 @@ export declare function assertRouteModelsAllowed(routes: readonly ModelGovernedR
|
|
|
39
106
|
routeStateEnvFor?: (harnessId: string) => Record<string, string> | undefined): Promise<void>;
|
|
40
107
|
/** Refresh account evidence and admit one send without replacing captured Processing. */
|
|
41
108
|
export declare function admitCurrentProfileDispatch(routed: Pick<ModelGovernedRoute, "billingVerificationForProfile" | "paidFallback">, spec: HarnessRunSpec): Promise<void>;
|
|
109
|
+
/** What `runModelGovernedRoute` refuses with BEFORE anything is sent: budget
|
|
110
|
+
* or routing admission, an unreadable catalog, an undeliverable packet. An
|
|
111
|
+
* attempt records it as its declared failure, never as a crashed harness. */
|
|
112
|
+
export type DispatchRefusal = ProcessingBudgetAdmissionError | RoutingPreflightError | ModelCatalogUnavailableError | RawContextRefusalError;
|
|
113
|
+
export declare function isDispatchRefusal(err: unknown): err is DispatchRefusal;
|
|
42
114
|
/**
|
|
43
115
|
* Authoritative per-spawn model gate. Admission validates the initially routed
|
|
44
116
|
* account early; this guard rebinds the same strict truth contract to the
|
|
45
117
|
* profile, auth preference, cwd, and mutable state HOME the vendor process will
|
|
46
118
|
* actually receive. Every routed spawn funnels through this generator, so a
|
|
47
119
|
* quota rotation or fallback-model preflight cannot reuse another account's
|
|
48
|
-
* inventory. The
|
|
49
|
-
*
|
|
120
|
+
* inventory. The gate reads the run's identity, it never rewrites it; what it
|
|
121
|
+
* adds is this spawn's own catalog read and, for a `rawContext` caller, the
|
|
122
|
+
* packet sized from it.
|
|
50
123
|
*/
|
|
51
|
-
export declare function runModelGovernedRoute(routed: ModelGovernedRoute, spec: HarnessRunSpec
|
|
124
|
+
export declare function runModelGovernedRoute(routed: ModelGovernedRoute, spec: HarnessRunSpec,
|
|
125
|
+
/** `rawContext` builds this spawn's RawContextPacket for the capacity of the
|
|
126
|
+
* gate's own catalog read (#147); the caller keeps the packet it returns. */
|
|
127
|
+
dispatch?: {
|
|
128
|
+
rawContext?: (capacity: RawRequestCapacity | null) => Promise<RawContextPacket>;
|
|
129
|
+
}): AsyncIterable<HarnessEvent>;
|
|
52
130
|
//# sourceMappingURL=modelGovernance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelGovernance.d.ts","sourceRoot":"","sources":["../src/modelGovernance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"modelGovernance.d.ts","sourceRoot":"","sources":["../src/modelGovernance.ts"],"names":[],"mappings":"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"}
|
package/dist/modelGovernance.js
CHANGED
|
@@ -27,11 +27,35 @@
|
|
|
27
27
|
* model is forwarded to the vendor unchanged and disclosed once by the
|
|
28
28
|
* per-spawn gate. An authoritative harness (the declaration a silent manifest
|
|
29
29
|
* gets) refuses as before, and no gate ever swaps one list for another to
|
|
30
|
-
* admit a model.
|
|
30
|
+
* admit a model. A live read that FAILED is not a list at all (#393, owner
|
|
31
|
+
* decision A): a missing or rejected credential refuses the explicit model at
|
|
32
|
+
* both gates with the read's typed cause (`ModelCatalogUnavailableError`, core
|
|
33
|
+
* `validateModelOnUnreadCatalog`); any other failure forwards it unverified on
|
|
34
|
+
* the same key, disclosed once by the per-spawn gate. A declared refused
|
|
35
|
+
* variant is refused either way.
|
|
36
|
+
*
|
|
37
|
+
* A failure never erases what this run already read: the route keeps its most
|
|
38
|
+
* recent successful read, and a later failed read at the SAME credential
|
|
39
|
+
* identity is answered by that earlier read (its rows, presence and windows),
|
|
40
|
+
* disclosed as such. That identity is the profile AND the key: both reads must
|
|
41
|
+
* carry the producer's same key fingerprint, because a stored secret or key
|
|
42
|
+
* variable replaced mid-run keeps its profile id. Nothing is read again for it
|
|
43
|
+
* and nothing outlives the route; another identity, a read that names no key,
|
|
44
|
+
* or a credential failure never borrows it.
|
|
45
|
+
*
|
|
46
|
+
* The per-spawn gate reads the catalog ONCE per spawn, at the identity the
|
|
47
|
+
* vendor process receives, and that one read serves every consumer of the
|
|
48
|
+
* spawn: the explicit model, the size of a RawContextPacket the request inlines
|
|
49
|
+
* (#147) and the adapter's own disclosures (#146), so none of them can judge
|
|
50
|
+
* the request by another read. Where the producer binds its key to the read
|
|
51
|
+
* (`credential`), the request sends that same key: one replaced while the
|
|
52
|
+
* packet is prepared is first read, and sent, by the next spawn.
|
|
31
53
|
*/
|
|
32
|
-
import { billingKnowledgeForAuthRoute } from "@claudexor/budget";
|
|
33
|
-
import { HarnessUnavailableError, effortResolutionEvent, resolveEffortEvidence, validateModel, hasModelInventoryForRoute, prepareHarnessProcessing, admitPreparedProcessing, observeCredentialExecution, observedModelCatalogMatch, } from "@claudexor/core";
|
|
54
|
+
import { RoutingPreflightError, billingKnowledgeForAuthRoute } from "@claudexor/budget";
|
|
55
|
+
import { HarnessUnavailableError, ModelCatalogUnavailableError, RawContextRefusalError, abortSignalFromSpec, effortResolutionEvent, modelCatalogFailureRefuses, modelCatalogFailureText, readModelCatalog, resolveEffortEvidence, validateModel, validateModelOnUnreadCatalog, hasModelInventoryForRoute, prepareHarnessProcessing, admitPreparedProcessing, observeCredentialExecution, observedModelCatalogMatch, withDispatchModelCatalog, } from "@claudexor/core";
|
|
34
56
|
import { knownModelIdsForRoute, } from "@claudexor/schema";
|
|
57
|
+
import { nowIso } from "@claudexor/util";
|
|
58
|
+
import { ProcessingBudgetAdmissionError } from "./processing-dispatch.js";
|
|
35
59
|
/** A pinned profile decides the route by its credential kind; without one the
|
|
36
60
|
* pre-spawn estimate stands (and stays fail-closed when undecidable). */
|
|
37
61
|
function authRouteForProfile(profile, estimate) {
|
|
@@ -42,17 +66,48 @@ function authRouteForProfile(profile, estimate) {
|
|
|
42
66
|
async function modelTruthForRoute(routed, query) {
|
|
43
67
|
const route = authRouteForProfile(query.profile, routed.authRouteEstimate);
|
|
44
68
|
if (hasModelInventoryForRoute(routed.adapter, routed.modelInventory?.model_inventory_routes, route)) {
|
|
45
|
-
const
|
|
69
|
+
const read = await readModelCatalog(routed.adapter, {
|
|
46
70
|
cwd: query.cwd,
|
|
47
71
|
...(query.env ? { env: query.env } : {}),
|
|
48
72
|
...(query.authPreference ? { authPreference: query.authPreference } : {}),
|
|
49
73
|
...(query.profile ? { credentialProfile: query.profile } : {}),
|
|
50
74
|
});
|
|
75
|
+
const profileId = query.profile?.profile_id ?? null;
|
|
76
|
+
// The key this read sent travels with every observation the gate hands
|
|
77
|
+
// on, so the spawn's request sends that key (see the file comment).
|
|
78
|
+
const credential = read.credential;
|
|
79
|
+
if (read.status === "listed" && !read.failSoft)
|
|
80
|
+
routed.lastListedCatalog = {
|
|
81
|
+
profileId,
|
|
82
|
+
credentialFingerprint: credential?.fingerprint ?? null,
|
|
83
|
+
models: read.models,
|
|
84
|
+
observedAt: nowIso(),
|
|
85
|
+
};
|
|
86
|
+
const earlier = routed.lastListedCatalog;
|
|
87
|
+
if (read.status === "unavailable" &&
|
|
88
|
+
!modelCatalogFailureRefuses(read.failure) &&
|
|
89
|
+
credential &&
|
|
90
|
+
earlier?.profileId === profileId &&
|
|
91
|
+
earlier.credentialFingerprint === credential.fingerprint)
|
|
92
|
+
return {
|
|
93
|
+
list: earlier.models.map((model) => model.id),
|
|
94
|
+
source: "api",
|
|
95
|
+
route,
|
|
96
|
+
absence: routed.modelInventory?.model_inventory_absence ?? "authoritative",
|
|
97
|
+
catalogRead: true,
|
|
98
|
+
observation: { status: "listed", models: earlier.models, credential },
|
|
99
|
+
earlierRead: { failure: read.failure, observedAt: earlier.observedAt },
|
|
100
|
+
};
|
|
51
101
|
return {
|
|
52
|
-
list:
|
|
102
|
+
list: read.status === "listed" ? read.models.map((model) => model.id) : [],
|
|
53
103
|
source: "api",
|
|
54
104
|
route,
|
|
55
105
|
absence: routed.modelInventory?.model_inventory_absence ?? "authoritative",
|
|
106
|
+
...(read.status === "unavailable" ? { failure: read.failure, observation: read } : {}),
|
|
107
|
+
catalogRead: read.status === "listed" && !read.failSoft,
|
|
108
|
+
...(read.status === "listed" && !read.failSoft
|
|
109
|
+
? { observation: { status: "listed", models: read.models, credential } }
|
|
110
|
+
: {}),
|
|
56
111
|
};
|
|
57
112
|
}
|
|
58
113
|
// The manifest hint list is judged under the SAME declaration as the live
|
|
@@ -63,6 +118,7 @@ async function modelTruthForRoute(routed, query) {
|
|
|
63
118
|
source: "manifest",
|
|
64
119
|
route,
|
|
65
120
|
absence: routed.modelInventory?.model_inventory_absence ?? "authoritative",
|
|
121
|
+
catalogRead: false,
|
|
66
122
|
};
|
|
67
123
|
}
|
|
68
124
|
/** Throws on a refused candidate; returns the notes of the candidates a truth
|
|
@@ -70,13 +126,24 @@ async function modelTruthForRoute(routed, query) {
|
|
|
70
126
|
* disclose does it once. */
|
|
71
127
|
function assertModelsAllowed(routed, candidates, truth, profile) {
|
|
72
128
|
const unverified = [];
|
|
129
|
+
const refusedVariants = routed.modelInventory?.model_refused_variants ?? [];
|
|
73
130
|
for (const { role, model } of candidates) {
|
|
74
|
-
const check =
|
|
131
|
+
const check = truth.failure
|
|
132
|
+
? validateModelOnUnreadCatalog(model, truth.failure, truth.absence, { refusedVariants })
|
|
133
|
+
: validateModel(model, truth.list, truth.source, truth.absence, {
|
|
134
|
+
catalogRead: truth.catalogRead,
|
|
135
|
+
routingVariants: routed.modelInventory?.model_routing_variants ?? [],
|
|
136
|
+
refusedVariants,
|
|
137
|
+
});
|
|
75
138
|
if (check.status === "ok") {
|
|
76
139
|
if (check.unverified && check.message)
|
|
77
140
|
unverified.push(check.message);
|
|
78
141
|
continue;
|
|
79
142
|
}
|
|
143
|
+
if (check.catalogFailure)
|
|
144
|
+
throw new ModelCatalogUnavailableError(`harness '${routed.adapter.id}' refused ${role} '${model}' (truth source: api): ${check.message}`, check.catalogFailure);
|
|
145
|
+
if (check.refusedVariant)
|
|
146
|
+
throw new HarnessUnavailableError(`harness '${routed.adapter.id}' refused ${role} '${model}': ${check.message}`);
|
|
80
147
|
// A pinned profile OWNS this inventory: sending the operator to the
|
|
81
148
|
// profile-less `claudexor models` would print a different account's list.
|
|
82
149
|
// Observations only — which account supplied which list — never a cause
|
|
@@ -145,16 +212,26 @@ export async function admitCurrentProfileDispatch(routed, spec) {
|
|
|
145
212
|
if (typeof markStarted === "function")
|
|
146
213
|
markStarted();
|
|
147
214
|
}
|
|
215
|
+
export function isDispatchRefusal(err) {
|
|
216
|
+
return (err instanceof ProcessingBudgetAdmissionError ||
|
|
217
|
+
err instanceof RoutingPreflightError ||
|
|
218
|
+
err instanceof ModelCatalogUnavailableError ||
|
|
219
|
+
err instanceof RawContextRefusalError);
|
|
220
|
+
}
|
|
148
221
|
/**
|
|
149
222
|
* Authoritative per-spawn model gate. Admission validates the initially routed
|
|
150
223
|
* account early; this guard rebinds the same strict truth contract to the
|
|
151
224
|
* profile, auth preference, cwd, and mutable state HOME the vendor process will
|
|
152
225
|
* actually receive. Every routed spawn funnels through this generator, so a
|
|
153
226
|
* quota rotation or fallback-model preflight cannot reuse another account's
|
|
154
|
-
* inventory. The
|
|
155
|
-
*
|
|
227
|
+
* inventory. The gate reads the run's identity, it never rewrites it; what it
|
|
228
|
+
* adds is this spawn's own catalog read and, for a `rawContext` caller, the
|
|
229
|
+
* packet sized from it.
|
|
156
230
|
*/
|
|
157
|
-
export async function* runModelGovernedRoute(routed, spec
|
|
231
|
+
export async function* runModelGovernedRoute(routed, spec,
|
|
232
|
+
/** `rawContext` builds this spawn's RawContextPacket for the capacity of the
|
|
233
|
+
* gate's own catalog read (#147); the caller keeps the packet it returns. */
|
|
234
|
+
dispatch = {}) {
|
|
158
235
|
let nativeModel = null;
|
|
159
236
|
let preparedEffort;
|
|
160
237
|
let catalog = [];
|
|
@@ -180,19 +257,32 @@ export async function* runModelGovernedRoute(routed, spec) {
|
|
|
180
257
|
}
|
|
181
258
|
const model = spec.model_hint?.trim();
|
|
182
259
|
const unverified = [];
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
260
|
+
const profile = spec.credential_profile ?? null;
|
|
261
|
+
const truth = model || dispatch.rawContext
|
|
262
|
+
? await modelTruthForRoute(routed, {
|
|
186
263
|
cwd: spec.cwd,
|
|
187
264
|
env: spec.env,
|
|
188
265
|
authPreference: spec.auth_preference,
|
|
189
266
|
profile,
|
|
190
|
-
})
|
|
267
|
+
})
|
|
268
|
+
: null;
|
|
269
|
+
// Said before any model note: which read the notes and the packet stand on.
|
|
270
|
+
if (truth?.earlierRead)
|
|
271
|
+
unverified.push(`${modelCatalogFailureText(truth.earlierRead.failure)} at dispatch; this run's earlier ` +
|
|
272
|
+
`catalog read with the same credentials (${truth.earlierRead.observedAt}) answers for ` +
|
|
273
|
+
"the model and its limits");
|
|
274
|
+
if (model && truth) {
|
|
191
275
|
unverified.push(...assertModelsAllowed(routed, [{ role: "model", model }], truth, profile));
|
|
192
276
|
if (nativeModel && nativeModel !== model) {
|
|
193
277
|
unverified.push(...assertModelsAllowed(routed, [{ role: "native processing model", model: nativeModel }], truth, profile));
|
|
194
278
|
}
|
|
195
279
|
}
|
|
280
|
+
if (dispatch.rawContext) {
|
|
281
|
+
// Sized before admission: a packet that cannot be delivered spends nothing.
|
|
282
|
+
const rows = truth?.observation?.status === "listed" ? truth.observation.models : [];
|
|
283
|
+
const capacity = routed.adapter.rawRequestCapacity?.(spec, rows) ?? null;
|
|
284
|
+
spec = { ...spec, raw_context_packet: await dispatch.rawContext(capacity) };
|
|
285
|
+
}
|
|
196
286
|
await admitCurrentProfileDispatch(routed, spec);
|
|
197
287
|
if (spec.processing?.reason === "processing_control_unavailable") {
|
|
198
288
|
yield {
|
|
@@ -224,8 +314,13 @@ export async function* runModelGovernedRoute(routed, spec) {
|
|
|
224
314
|
else if (!routed.adapter.effortParameter) {
|
|
225
315
|
yield effortResolutionEvent(spec.session_id, resolveEffortEvidence(spec.effort_hint, [], [], "adapter", null));
|
|
226
316
|
}
|
|
227
|
-
|
|
228
|
-
|
|
317
|
+
// The disclosures above are yields; a run stopped at one of them is not
|
|
318
|
+
// dispatched when its consumer keeps reading to drain teardown evidence.
|
|
319
|
+
if (abortSignalFromSpec(spec)?.aborted)
|
|
320
|
+
return;
|
|
321
|
+
const sent = truth?.observation ? withDispatchModelCatalog(spec, truth.observation) : spec;
|
|
322
|
+
const events = stampObservedModelCatalogMatch(routed.adapter.run(sent), catalog, sent.credential_profile?.profile_id ?? null);
|
|
323
|
+
yield* observeCredentialExecution(routed.adapter.id, sent, events);
|
|
229
324
|
}
|
|
230
325
|
/**
|
|
231
326
|
* The gate is the only author of `observed_model_catalog_match`: it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelGovernance.js","sourceRoot":"","sources":["../src/modelGovernance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modelGovernance.js","sourceRoot":"","sources":["../src/modelGovernance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,OAAO,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAQxF,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,GAUtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAiE1E;yEACyE;AACzE,SAAS,mBAAmB,CAC1B,OAAiC,EACjC,QAAiD;IAEjD,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,MAA0B,EAC1B,KAKC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC3E,IACE,yBAAyB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,sBAAsB,EAAE,KAAK,CAAC,EAC/F,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE;YAClD,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC;QACpD,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5C,MAAM,CAAC,iBAAiB,GAAG;gBACzB,SAAS;gBACT,qBAAqB,EAAE,UAAU,EAAE,WAAW,IAAI,IAAI;gBACtD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,MAAM,EAAE;aACrB,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACzC,IACE,IAAI,CAAC,MAAM,KAAK,aAAa;YAC7B,CAAC,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC;YACzC,UAAU;YACV,OAAO,EAAE,SAAS,KAAK,SAAS;YAChC,OAAO,CAAC,qBAAqB,KAAK,UAAU,CAAC,WAAW;YAExD,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,EAAE,KAAK;gBACb,KAAK;gBACL,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,uBAAuB,IAAI,eAAe;gBAC1E,WAAW,EAAE,IAAI;gBACjB,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE;gBACrE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE;aACvE,CAAC;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YAC1E,MAAM,EAAE,KAAK;YACb,KAAK;YACL,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,uBAAuB,IAAI,eAAe;YAC1E,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,WAAW,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;YACvD,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAC5C,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,QAAiB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;gBACjF,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IACD,0EAA0E;IAC1E,yEAAyE;IACzE,8EAA8E;IAC9E,OAAO;QACL,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC;QACtD,MAAM,EAAE,UAAU;QAClB,KAAK;QACL,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,uBAAuB,IAAI,eAAe;QAC1E,WAAW,EAAE,KAAK;KACnB,CAAC;AACJ,CAAC;AAED;;4BAE4B;AAC5B,SAAS,mBAAmB,CAC1B,MAA0B,EAC1B,UAAqC,EACrC,KAAiB,EACjB,OAAiC;IAEjC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,eAAe,GAAG,MAAM,CAAC,cAAc,EAAE,sBAAsB,IAAI,EAAE,CAAC;IAC5E,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,UAAU,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO;YACzB,CAAC,CAAC,4BAA4B,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,CAAC;YACxF,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE;gBAC5D,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,sBAAsB,IAAI,EAAE;gBACpE,eAAe;aAChB,CAAC,CAAC;QACP,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO;gBAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtE,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,cAAc;YACtB,MAAM,IAAI,4BAA4B,CACpC,YAAY,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,IAAI,KAAK,KAAK,0BAA0B,KAAK,CAAC,OAAO,EAAE,EACjG,KAAK,CAAC,cAAc,CACrB,CAAC;QACJ,IAAI,KAAK,CAAC,cAAc;YACtB,MAAM,IAAI,uBAAuB,CAC/B,YAAY,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,IAAI,KAAK,KAAK,MAAM,KAAK,CAAC,OAAO,EAAE,CAC9E,CAAC;QACJ,oEAAoE;QACpE,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;QACzE,MAAM,MAAM,GAAG,OAAO;YACpB,CAAC,CAAC,oCAAoC,OAAO,CAAC,UAAU,mBAAmB,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,wDAAwD;YACpN,CAAC,CAAC,oCAAoC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;QAC9D,MAAM,IAAI,uBAAuB,CAC/B,YAAY,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,IAAI,KAAK,KAAK,oBAAoB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,OAAO,IAAI;YAC3L,MAAM,CACT,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;0EAE0E;AAC1E,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA0B,EAC1B,IAAoB,EACpB,KAAa;IAEb,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE;YAC7C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO,EAAE,IAAI,CAAC,kBAAkB,IAAI,IAAI;SACzC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAqC,EACrC,MAA0C,EAC1C,GAAW;AACX;iEACiE;AACjE,gBAA4E;IAE5E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,YAAY,IAAI,IAAI,CAAC;QACvE,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC;QAC9C,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE;YAC7C,GAAG;YACH,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,OAAO;SACR,CAAC,CAAC;QACH,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAkF,EAClF,IAAoB;IAEpB,IAAI,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,6BAA6B,EAAE,CAAC;QACpE,8EAA8E;QAC9E,8EAA8E;QAC9E,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,4BAA4B,CAAC;YACjE,KAAK,EACH,IAAI,CAAC,kBAAkB,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe;YAC7F,YAAY,EAAE,MAAM,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,kBAAkB,CAAC;SAClF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;IACjD,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC9D,IAAI,OAAO,WAAW,KAAK,UAAU;QAAG,WAA0B,EAAE,CAAC;AACvE,CAAC;AAWD,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,OAAO,CACL,GAAG,YAAY,8BAA8B;QAC7C,GAAG,YAAY,qBAAqB;QACpC,GAAG,YAAY,4BAA4B;QAC3C,GAAG,YAAY,sBAAsB,CACtC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,qBAAqB,CAC1C,MAA0B,EAC1B,IAAoB;AACpB;6EAC6E;AAC7E,QAAQ,GAEJ,EAAE;IAEN,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,cAA4C,CAAC;IACjD,IAAI,OAAO,GAA4B,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,qBAAqB,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACnE,qEAAqE;QACrE,0EAA0E;QAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,UAAU,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,OAAO,EAAE;YAC9D,UAAU,EAAE,IAAI,CAAC,qBAAqB;YACtC,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,SAAS,EAAE,IAAI,CAAC,qBAAqB;YACrC,GAAG,CAAC,IAAI,CAAC,qBAAqB,KAAK,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;QACjC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;QACjC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC9F,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IACtC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC;IAChD,MAAM,KAAK,GACT,KAAK,IAAI,QAAQ,CAAC,UAAU;QAC1B,CAAC,CAAC,MAAM,kBAAkB,CAAC,MAAM,EAAE;YAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,OAAO;SACR,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IACX,4EAA4E;IAC5E,IAAI,KAAK,EAAE,WAAW;QACpB,UAAU,CAAC,IAAI,CACb,GAAG,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC;YACtF,2CAA2C,KAAK,CAAC,WAAW,CAAC,UAAU,gBAAgB;YACvF,0BAA0B,CAC7B,CAAC;IACJ,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;QACnB,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5F,IAAI,WAAW,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YACzC,UAAU,CAAC,IAAI,CACb,GAAG,mBAAmB,CACpB,MAAM,EACN,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EACzD,KAAK,EACL,OAAO,CACR,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,4EAA4E;QAC5E,MAAM,IAAI,GAAG,KAAK,EAAE,WAAW,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;QACzE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC9E,CAAC;IACD,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChD,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,KAAK,gCAAgC,EAAE,CAAC;QACjE,MAAM;YACJ,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,wEAAwE;SAC/E,CAAC;IACJ,CAAC;IACD,yEAAyE;IACzE,8EAA8E;IAC9E,mDAAmD;IACnD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM;YACJ,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;SAC5B,CAAC;IACJ,CAAC;IACD,yEAAyE;IACzE,+EAA+E;IAC/E,8EAA8E;IAC9E,0EAA0E;IAC1E,yEAAyE;IACzE,IAAI,cAAc;QAAE,MAAM,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;SAClF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QACzC,MAAM,qBAAqB,CACzB,IAAI,CAAC,UAAU,EACf,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CACjE,CAAC;IACJ,CAAC;IACD,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,OAAO;QAAE,OAAO;IAC/C,MAAM,IAAI,GAAG,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3F,MAAM,MAAM,GAAG,8BAA8B,CAC3C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EACxB,OAAO,EACP,IAAI,CAAC,kBAAkB,EAAE,UAAU,IAAI,IAAI,CAC5C,CAAC;IACF,KAAK,CAAC,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,KAAK,SAAS,CAAC,CAAC,8BAA8B,CAC5C,MAAmC,EACnC,OAAgC,EAChC,SAAwB;IAExB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,4BAA4B,KAAK,SAAS,EAAE,CAAC;YAC9E,MAAM,KAAK,CAAC;YACZ,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GACT,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,qBAAqB,IAAI,IAAI,CAAC,KAAK,SAAS;YACzE,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,SAAS,CAAC;YACrE,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,EAAE,4BAA4B,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QACnE,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,CAAC;AACH,CAAC"}
|