audit-tools 0.34.41 → 0.35.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/dist/audit/cli/args.d.ts +6 -0
- package/dist/audit/cli/args.d.ts.map +1 -1
- package/dist/audit/cli/args.js +21 -4
- package/dist/audit/cli/args.js.map +1 -1
- package/dist/audit/cli/auditStep.d.ts +6 -15
- package/dist/audit/cli/auditStep.d.ts.map +1 -1
- package/dist/audit/cli/auditStep.js +1 -1
- package/dist/audit/cli/auditStep.js.map +1 -1
- package/dist/audit/cli/dispatch/hostFanoutGate.d.ts +21 -61
- package/dist/audit/cli/dispatch/hostFanoutGate.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/hostFanoutGate.js +18 -167
- package/dist/audit/cli/dispatch/hostFanoutGate.js.map +1 -1
- package/dist/audit/cli/dispatch/packetFilter.d.ts +2 -2
- package/dist/audit/cli/dispatch/packetFilter.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/packetFilter.js +3 -1
- package/dist/audit/cli/dispatch/packetFilter.js.map +1 -1
- package/dist/audit/cli/dispatch/quotaPool.d.ts +2 -14
- package/dist/audit/cli/dispatch/quotaPool.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/quotaPool.js +16 -6
- package/dist/audit/cli/dispatch/quotaPool.js.map +1 -1
- package/dist/audit/cli/dispatch/tierRouting.d.ts +2 -2
- package/dist/audit/cli/dispatch/tokenUsageObservation.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/tokenUsageObservation.js +10 -2
- package/dist/audit/cli/dispatch/tokenUsageObservation.js.map +1 -1
- package/dist/audit/cli/dispatch.d.ts +14 -3
- package/dist/audit/cli/dispatch.d.ts.map +1 -1
- package/dist/audit/cli/dispatch.js +87 -65
- package/dist/audit/cli/dispatch.js.map +1 -1
- package/dist/audit/cli/forceSynthesisCommand.d.ts.map +1 -1
- package/dist/audit/cli/forceSynthesisCommand.js +9 -1
- package/dist/audit/cli/forceSynthesisCommand.js.map +1 -1
- package/dist/audit/cli/hybridDispatch.d.ts +4 -9
- package/dist/audit/cli/hybridDispatch.d.ts.map +1 -1
- package/dist/audit/cli/hybridDispatch.js +1 -1
- package/dist/audit/cli/hybridDispatch.js.map +1 -1
- package/dist/audit/cli/lineIndex.d.ts +2 -0
- package/dist/audit/cli/lineIndex.d.ts.map +1 -1
- package/dist/audit/cli/lineIndex.js +4 -0
- package/dist/audit/cli/lineIndex.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts +0 -26
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +14 -358
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts +5 -16
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +27 -157
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/quotaCommand.d.ts.map +1 -1
- package/dist/audit/cli/quotaCommand.js +1 -5
- package/dist/audit/cli/quotaCommand.js.map +1 -1
- package/dist/audit/cli/reviewRun.d.ts.map +1 -1
- package/dist/audit/cli/reviewRun.js +58 -23
- package/dist/audit/cli/reviewRun.js.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.d.ts +1 -1
- package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
- package/dist/audit/cli/semanticReviewStep.js +35 -54
- package/dist/audit/cli/semanticReviewStep.js.map +1 -1
- package/dist/audit/cli/steps.d.ts +4 -4
- package/dist/audit/cli/steps.d.ts.map +1 -1
- package/dist/audit/cli/steps.js +0 -1
- package/dist/audit/cli/steps.js.map +1 -1
- package/dist/audit/cli/workPartitionRuntime.d.ts +11 -0
- package/dist/audit/cli/workPartitionRuntime.d.ts.map +1 -0
- package/dist/audit/cli/workPartitionRuntime.js +39 -0
- package/dist/audit/cli/workPartitionRuntime.js.map +1 -0
- package/dist/audit/contracts/wrapperResponse.d.ts +6 -6
- package/dist/audit/io/artifacts.d.ts +1 -3
- package/dist/audit/io/artifacts.d.ts.map +1 -1
- package/dist/audit/io/artifacts.js +0 -3
- package/dist/audit/io/artifacts.js.map +1 -1
- package/dist/audit/orchestrator/advance.d.ts.map +1 -1
- package/dist/audit/orchestrator/advance.js +0 -35
- package/dist/audit/orchestrator/advance.js.map +1 -1
- package/dist/audit/orchestrator/advanceTypes.d.ts +4 -63
- package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
- package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
- package/dist/audit/orchestrator/executorRunners.js +9 -12
- package/dist/audit/orchestrator/executorRunners.js.map +1 -1
- package/dist/audit/orchestrator/executors.d.ts.map +1 -1
- package/dist/audit/orchestrator/executors.js +0 -5
- package/dist/audit/orchestrator/executors.js.map +1 -1
- package/dist/audit/orchestrator/hostInputPause.d.ts +1 -1
- package/dist/audit/orchestrator/hostInputPause.js +1 -1
- package/dist/audit/orchestrator/ingestionExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/ingestionExecutors.js +4 -1
- package/dist/audit/orchestrator/ingestionExecutors.js.map +1 -1
- package/dist/audit/orchestrator/intakeExecutors.d.ts +1 -65
- package/dist/audit/orchestrator/intakeExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/intakeExecutors.js +3 -425
- package/dist/audit/orchestrator/intakeExecutors.js.map +1 -1
- package/dist/audit/orchestrator/nextStep.d.ts +0 -13
- package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
- package/dist/audit/orchestrator/nextStep.js +0 -7
- package/dist/audit/orchestrator/nextStep.js.map +1 -1
- package/dist/audit/orchestrator/planningExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/planningExecutors.js +4 -1
- package/dist/audit/orchestrator/planningExecutors.js.map +1 -1
- package/dist/audit/orchestrator/rollingDispatch.d.ts +1 -1
- package/dist/audit/orchestrator/rollingDispatch.d.ts.map +1 -1
- package/dist/audit/orchestrator/rollingDispatch.js +5 -4
- package/dist/audit/orchestrator/rollingDispatch.js.map +1 -1
- package/dist/audit/orchestrator/state.d.ts +0 -39
- package/dist/audit/orchestrator/state.d.ts.map +1 -1
- package/dist/audit/orchestrator/state.js +3 -29
- package/dist/audit/orchestrator/state.js.map +1 -1
- package/dist/audit/orchestrator/synthesisExecutors.d.ts +8 -2
- package/dist/audit/orchestrator/synthesisExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/synthesisExecutors.js +7 -5
- package/dist/audit/orchestrator/synthesisExecutors.js.map +1 -1
- package/dist/audit/reporting/findingIdentity.d.ts +2 -2
- package/dist/audit/reporting/findingIdentity.js +2 -2
- package/dist/audit/reporting/synthesis.d.ts +7 -1
- package/dist/audit/reporting/synthesis.d.ts.map +1 -1
- package/dist/audit/reporting/synthesis.js +27 -7
- package/dist/audit/reporting/synthesis.js.map +1 -1
- package/dist/audit/reporting/workBlocks.d.ts +14 -3
- package/dist/audit/reporting/workBlocks.d.ts.map +1 -1
- package/dist/audit/reporting/workBlocks.js +163 -73
- package/dist/audit/reporting/workBlocks.js.map +1 -1
- package/dist/audit/types/activeDispatch.d.ts +8 -7
- package/dist/audit/types/activeDispatch.d.ts.map +1 -1
- package/dist/audit/types/auditState.d.ts +6 -6
- package/dist/audit/types/externalAnalyzer.d.ts +6 -6
- package/dist/audit/validation/auditResults.d.ts.map +1 -1
- package/dist/audit/validation/auditResults.js +6 -1
- package/dist/audit/validation/auditResults.js.map +1 -1
- package/dist/remediate/contractPipeline/phaseCut.d.ts +8 -0
- package/dist/remediate/contractPipeline/phaseCut.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/phaseCut.js +63 -0
- package/dist/remediate/contractPipeline/phaseCut.js.map +1 -1
- package/dist/remediate/contractPipeline/phaseCutArtifact.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/phaseCutArtifact.js +5 -3
- package/dist/remediate/contractPipeline/phaseCutArtifact.js.map +1 -1
- package/dist/remediate/phases/plan.d.ts.map +1 -1
- package/dist/remediate/phases/plan.js +35 -12
- package/dist/remediate/phases/plan.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +6 -2
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +90 -6
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.js +4 -2
- package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
- package/dist/remediate/steps/dispatch/marshal.d.ts +6 -0
- package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/marshal.js +16 -17
- package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
- package/dist/remediate/steps/dispatch/waveScheduling.d.ts +7 -15
- package/dist/remediate/steps/dispatch/waveScheduling.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/waveScheduling.js +26 -19
- package/dist/remediate/steps/dispatch/waveScheduling.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +5 -7
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +100 -82
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/rollingSession.d.ts +2 -1
- package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
- package/dist/remediate/steps/rollingSession.js +14 -8
- package/dist/remediate/steps/rollingSession.js.map +1 -1
- package/dist/remediate/steps/sessionConfigLoad.d.ts +3 -2
- package/dist/remediate/steps/sessionConfigLoad.d.ts.map +1 -1
- package/dist/remediate/steps/sessionConfigLoad.js +4 -10
- package/dist/remediate/steps/sessionConfigLoad.js.map +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipeline.js +7 -1
- package/dist/remediate/validation/contractPipeline.js.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.d.ts +8 -0
- package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.js +89 -0
- package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
- package/dist/shared/config/resolveSessionConfig.d.ts.map +1 -1
- package/dist/shared/config/resolveSessionConfig.js +6 -5
- package/dist/shared/config/resolveSessionConfig.js.map +1 -1
- package/dist/shared/decompose/workPartition.d.ts +66 -0
- package/dist/shared/decompose/workPartition.d.ts.map +1 -0
- package/dist/shared/decompose/workPartition.js +523 -0
- package/dist/shared/decompose/workPartition.js.map +1 -0
- package/dist/shared/dispatch/admissionLoop.d.ts +5 -44
- package/dist/shared/dispatch/admissionLoop.d.ts.map +1 -1
- package/dist/shared/dispatch/admissionLoop.js +20 -82
- package/dist/shared/dispatch/admissionLoop.js.map +1 -1
- package/dist/shared/dispatch/coordinator.d.ts +5 -5
- package/dist/shared/dispatch/coordinator.d.ts.map +1 -1
- package/dist/shared/dispatch/coordinator.js +12 -11
- package/dist/shared/dispatch/coordinator.js.map +1 -1
- package/dist/shared/dispatch/costRank.d.ts +5 -155
- package/dist/shared/dispatch/costRank.d.ts.map +1 -1
- package/dist/shared/dispatch/costRank.js +2 -179
- package/dist/shared/dispatch/costRank.js.map +1 -1
- package/dist/shared/dispatch/dispatchQuotaContract.d.ts +37 -38
- package/dist/shared/dispatch/dispatchQuotaContract.d.ts.map +1 -1
- package/dist/shared/dispatch/dispatchQuotaContract.js +0 -1
- package/dist/shared/dispatch/dispatchQuotaContract.js.map +1 -1
- package/dist/shared/dispatch/hybridDispatch.d.ts +6 -2
- package/dist/shared/dispatch/hybridDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/hybridDispatch.js +1 -1
- package/dist/shared/dispatch/hybridDispatch.js.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.d.ts +4 -4
- package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.js +13 -11
- package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.d.ts +2 -2
- package/dist/shared/dispatch/unifiedRolling.d.ts.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.js +1 -1
- package/dist/shared/dispatch/unifiedRolling.js.map +1 -1
- package/dist/shared/engine/obligationEngine.d.ts +2 -2
- package/dist/shared/friction/stepBoundaryCapture.d.ts +5 -59
- package/dist/shared/friction/stepBoundaryCapture.d.ts.map +1 -1
- package/dist/shared/friction/stepBoundaryCapture.js +11 -107
- package/dist/shared/friction/stepBoundaryCapture.js.map +1 -1
- package/dist/shared/index.d.ts +13 -16
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +9 -13
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/io/stateDir.d.ts +2 -2
- package/dist/shared/io/stateDir.js +2 -2
- package/dist/shared/providers/auditorSources.d.ts +10 -84
- package/dist/shared/providers/auditorSources.d.ts.map +1 -1
- package/dist/shared/providers/auditorSources.js +42 -261
- package/dist/shared/providers/auditorSources.js.map +1 -1
- package/dist/shared/providers/dispatchExclusion.d.ts +22 -0
- package/dist/shared/providers/dispatchExclusion.d.ts.map +1 -0
- package/dist/shared/providers/dispatchExclusion.js +23 -0
- package/dist/shared/providers/dispatchExclusion.js.map +1 -0
- package/dist/shared/providers/identity.d.ts +2 -66
- package/dist/shared/providers/identity.d.ts.map +1 -1
- package/dist/shared/providers/identity.js +2 -72
- package/dist/shared/providers/identity.js.map +1 -1
- package/dist/shared/providers/providerFactory.d.ts +0 -3
- package/dist/shared/providers/providerFactory.d.ts.map +1 -1
- package/dist/shared/providers/providerFactory.js +5 -32
- package/dist/shared/providers/providerFactory.js.map +1 -1
- package/dist/shared/providers/providerPathGuard.d.ts +3 -3
- package/dist/shared/providers/providerPathGuard.js +7 -7
- package/dist/shared/providers/providerPathGuard.js.map +1 -1
- package/dist/shared/quota/apiPool.d.ts +19 -22
- package/dist/shared/quota/apiPool.d.ts.map +1 -1
- package/dist/shared/quota/apiPool.js +66 -47
- package/dist/shared/quota/apiPool.js.map +1 -1
- package/dist/shared/quota/capacity.d.ts +29 -24
- package/dist/shared/quota/capacity.d.ts.map +1 -1
- package/dist/shared/quota/capacity.js +30 -4
- package/dist/shared/quota/capacity.js.map +1 -1
- package/dist/shared/quota/codexHostConfig.d.ts +6 -13
- package/dist/shared/quota/codexHostConfig.d.ts.map +1 -1
- package/dist/shared/quota/codexHostConfig.js +8 -14
- package/dist/shared/quota/codexHostConfig.js.map +1 -1
- package/dist/shared/quota/fileLock.d.ts +7 -0
- package/dist/shared/quota/fileLock.d.ts.map +1 -1
- package/dist/shared/quota/fileLock.js +32 -4
- package/dist/shared/quota/fileLock.js.map +1 -1
- package/dist/shared/quota/hostLimits.d.ts +1 -1
- package/dist/shared/quota/hostLimits.d.ts.map +1 -1
- package/dist/shared/quota/hostLimits.js +8 -11
- package/dist/shared/quota/hostLimits.js.map +1 -1
- package/dist/shared/quota/hostPool.d.ts +1 -1
- package/dist/shared/quota/hostPool.js +2 -2
- package/dist/shared/quota/hostPool.js.map +1 -1
- package/dist/shared/quota/limits.d.ts.map +1 -1
- package/dist/shared/quota/limits.js +30 -26
- package/dist/shared/quota/limits.js.map +1 -1
- package/dist/shared/quota/scheduler.d.ts +2 -3
- package/dist/shared/quota/scheduler.d.ts.map +1 -1
- package/dist/shared/quota/scheduler.js +1 -1
- package/dist/shared/quota/scheduler.js.map +1 -1
- package/dist/shared/quota/types.d.ts +10 -10
- package/dist/shared/quota/types.d.ts.map +1 -1
- package/dist/shared/quota/types.js +4 -7
- package/dist/shared/quota/types.js.map +1 -1
- package/dist/shared/repair/brokeredDispatch.d.ts.map +1 -1
- package/dist/shared/repair/brokeredDispatch.js +3 -0
- package/dist/shared/repair/brokeredDispatch.js.map +1 -1
- package/dist/shared/reporting/auditDeliverable.d.ts.map +1 -1
- package/dist/shared/reporting/auditDeliverable.js +1 -0
- package/dist/shared/reporting/auditDeliverable.js.map +1 -1
- package/dist/shared/rolling/pausedState.d.ts +7 -7
- package/dist/shared/rolling/pausedState.js +3 -3
- package/dist/shared/tokens.d.ts +2 -5
- package/dist/shared/tokens.d.ts.map +1 -1
- package/dist/shared/tokens.js +15 -15
- package/dist/shared/tokens.js.map +1 -1
- package/dist/shared/types/auditorDescriptor.d.ts +3 -2
- package/dist/shared/types/auditorDescriptor.d.ts.map +1 -1
- package/dist/shared/types/auditorDescriptor.js +3 -2
- package/dist/shared/types/auditorDescriptor.js.map +1 -1
- package/dist/shared/types/finding.d.ts +80 -0
- package/dist/shared/types/finding.d.ts.map +1 -1
- package/dist/shared/types/finding.js +17 -0
- package/dist/shared/types/finding.js.map +1 -1
- package/dist/shared/types/sessionConfig.d.ts +5 -5
- package/dist/shared/types/sessionConfig.js +1 -1
- package/dist/shared/validation/findingsReport.d.ts.map +1 -1
- package/dist/shared/validation/findingsReport.js +3 -0
- package/dist/shared/validation/findingsReport.js.map +1 -1
- package/docs/audit-pkg/development.md +3 -2
- package/docs/audit-pkg/operator-guide.md +13 -106
- package/docs/audit-pkg/product.md +8 -7
- package/docs/audit-pkg/release.md +38 -29
- package/opencode.json +2 -2
- package/package.json +7 -4
- package/skills/audit-code/SKILL.md +2 -1
- package/skills/audit-code/audit-code.prompt.md +4 -3
- package/skills/remediate-code/remediate-code.prompt.md +2 -1
- package/dist/audit/cli/providerConfirmationStep.d.ts +0 -106
- package/dist/audit/cli/providerConfirmationStep.d.ts.map +0 -1
- package/dist/audit/cli/providerConfirmationStep.js +0 -396
- package/dist/audit/cli/providerConfirmationStep.js.map +0 -1
- package/dist/audit/orchestrator/providerConfirmation.d.ts +0 -25
- package/dist/audit/orchestrator/providerConfirmation.d.ts.map +0 -1
- package/dist/audit/orchestrator/providerConfirmation.js +0 -60
- package/dist/audit/orchestrator/providerConfirmation.js.map +0 -1
- package/dist/shared/providers/providerConfirmation.d.ts +0 -141
- package/dist/shared/providers/providerConfirmation.d.ts.map +0 -1
- package/dist/shared/providers/providerConfirmation.js +0 -420
- package/dist/shared/providers/providerConfirmation.js.map +0 -1
- package/dist/shared/providers/proxyCatalog.d.ts +0 -158
- package/dist/shared/providers/proxyCatalog.d.ts.map +0 -1
- package/dist/shared/providers/proxyCatalog.js +0 -658
- package/dist/shared/providers/proxyCatalog.js.map +0 -1
- package/dist/shared/providers/sharedProviderConfirmation.d.ts +0 -802
- package/dist/shared/providers/sharedProviderConfirmation.d.ts.map +0 -1
- package/dist/shared/providers/sharedProviderConfirmation.js +0 -1865
- package/dist/shared/providers/sharedProviderConfirmation.js.map +0 -1
- package/dist/shared/types/providerConfirmation.d.ts +0 -334
- package/dist/shared/types/providerConfirmation.d.ts.map +0 -1
- package/dist/shared/types/providerConfirmation.js +0 -35
- package/dist/shared/types/providerConfirmation.js.map +0 -1
|
@@ -4,15 +4,12 @@ import { laneWorkerKindConflict, } from "../types/sessionConfig.js";
|
|
|
4
4
|
import { resolveAuditCodeStateDir } from "../io/stateDir.js";
|
|
5
5
|
import { spawnSyncHidden } from "../tooling/exec.js";
|
|
6
6
|
import { validateSessionConfig } from "../validation/sessionConfig.js";
|
|
7
|
-
import { populateProxyCatalog, readProxyCatalog, } from "./proxyCatalog.js";
|
|
8
7
|
import { commandExists } from "./providerPathGuard.js";
|
|
9
8
|
/**
|
|
10
9
|
* The machine-level declaration file: the backends the OPERATOR owns, hand-authored
|
|
11
|
-
* like `session-config.json`. Deliberately NOT id-keyed
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* auditor-id key; see the rationale there) — squatting the cache name would turn
|
|
15
|
-
* this read into a direct cache read, violating never-inherit by filename collision.
|
|
10
|
+
* like `session-config.json`. Deliberately NOT id-keyed: each invocation intersects
|
|
11
|
+
* the declaration with its own ambient reach instead of inheriting another
|
|
12
|
+
* auditor's resolved capability.
|
|
16
13
|
*
|
|
17
14
|
* A declaration is not a cache: it is operator INTENT, not a prior auditor's resolved
|
|
18
15
|
* state. Reading it and intersecting it with live ambient reach does not inherit
|
|
@@ -69,26 +66,49 @@ export function probeReachableWithEscalation(probeOnce, budgets = [1_000, 4_000]
|
|
|
69
66
|
}
|
|
70
67
|
return false;
|
|
71
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Build liveness URLs for both ordinary OpenAI-compatible bases and proxies
|
|
71
|
+
* whose API base is `/v1` but whose health endpoint is served at the origin.
|
|
72
|
+
*/
|
|
73
|
+
export function buildLivenessProbeUrls(url) {
|
|
74
|
+
const base = url.replace(/\/+$/u, "");
|
|
75
|
+
try {
|
|
76
|
+
const parsed = new URL(base);
|
|
77
|
+
const path = parsed.pathname.replace(/\/+$/u, "");
|
|
78
|
+
const origin = parsed.origin;
|
|
79
|
+
const root = path.toLowerCase().endsWith("/v1")
|
|
80
|
+
? `${origin}${path.slice(0, -3)}`.replace(/\/+$/u, "")
|
|
81
|
+
: origin;
|
|
82
|
+
return [
|
|
83
|
+
`${base}/health/liveliness`,
|
|
84
|
+
`${base}/models`,
|
|
85
|
+
`${root}/health/liveliness`,
|
|
86
|
+
`${root}/health`,
|
|
87
|
+
`${root}/v1/models`,
|
|
88
|
+
].filter((candidate, index, all) => all.indexOf(candidate) === index);
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return [`${base}/health/liveliness`, `${base}/models`];
|
|
92
|
+
}
|
|
93
|
+
}
|
|
72
94
|
function defaultProbeHttpReachable(url) {
|
|
73
|
-
// Neutral proxy contract liveness:
|
|
74
|
-
//
|
|
75
|
-
//
|
|
76
|
-
const probeOnce = (budgetMs,
|
|
95
|
+
// Neutral proxy contract liveness: any HTTP response proves the listener is
|
|
96
|
+
// alive, including a 401 from a keyed proxy. Try the API base first, then
|
|
97
|
+
// origin-level health/model routes for proxies that mount health outside /v1.
|
|
98
|
+
const probeOnce = (budgetMs, targetUrl) => {
|
|
77
99
|
const script = "const [url, ms] = process.argv.slice(1);" +
|
|
78
100
|
"fetch(url, { signal: AbortSignal.timeout(Number(ms)) })" +
|
|
79
101
|
".then((r) => process.exit(0), () => process.exit(1));";
|
|
80
|
-
const result = spawnSyncHidden(process.execPath, ["-e", script,
|
|
102
|
+
const result = spawnSyncHidden(process.execPath, ["-e", script, targetUrl, String(budgetMs)], {
|
|
81
103
|
timeout: budgetMs + 1_500,
|
|
82
104
|
});
|
|
83
105
|
return result.status === 0;
|
|
84
106
|
};
|
|
85
107
|
for (const budgetMs of [1_000, 4_000]) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if (probeOnce(budgetMs, "/v1/models"))
|
|
91
|
-
return true;
|
|
108
|
+
for (const candidate of buildLivenessProbeUrls(url)) {
|
|
109
|
+
if (probeOnce(budgetMs, candidate))
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
92
112
|
}
|
|
93
113
|
return false;
|
|
94
114
|
}
|
|
@@ -134,7 +154,6 @@ export function readSourceDeclaration(deps = {}) {
|
|
|
134
154
|
return [];
|
|
135
155
|
return sources;
|
|
136
156
|
}
|
|
137
|
-
/** `readProxyDeclaration`'s outcome: the lane, or why it is absent. */
|
|
138
157
|
/**
|
|
139
158
|
* `api_key_env` names an environment VARIABLE; it never carries the value. A
|
|
140
159
|
* declaration that pastes `NAME=value` (or the secret itself) used to be
|
|
@@ -142,10 +161,8 @@ export function readSourceDeclaration(deps = {}) {
|
|
|
142
161
|
* "NAME=value"` — which reads as a missing env var and sends the operator to
|
|
143
162
|
* their shell instead of to the typo.
|
|
144
163
|
*
|
|
145
|
-
* The check belongs to the FIELD, not to one of its readers:
|
|
146
|
-
*
|
|
147
|
-
* and the `claude-worker` reach branch accepted any non-empty string, so both
|
|
148
|
-
* inherited the misleading symptom the validated branch exists to prevent.
|
|
164
|
+
* The check belongs to the FIELD, not to one of its readers: both endpoint-backed
|
|
165
|
+
* source transports must reject the typo with the same precise explanation.
|
|
149
166
|
* Returns a precise reason, or `null` when the name is well formed. Reach
|
|
150
167
|
* branches call {@link apiKeyEnvReachReason}, which pairs this with the
|
|
151
168
|
* env-is-set half. [[validator-guards-every-field-caller-reads]]
|
|
@@ -178,149 +195,6 @@ function apiKeyEnvReachReason(apiKeyEnv, env) {
|
|
|
178
195
|
}
|
|
179
196
|
return null;
|
|
180
197
|
}
|
|
181
|
-
/**
|
|
182
|
-
* Read the optional `proxy` block from the machine declaration. Tolerant like
|
|
183
|
-
* {@link readSourceDeclaration}: an absent / unparseable file or a missing key is
|
|
184
|
-
* simply `{declaration: null}`; a PRESENT-but-malformed block degrades to lane-absent
|
|
185
|
-
* WITH a reason (surfaced via `resolveAmbientSources`' `dropped[]`), never a throw.
|
|
186
|
-
* Malformed optional TUNING knobs (`top_k` / `cost_per_mtok`) are dropped
|
|
187
|
-
* individually — a bad tuning value must not cost the operator the whole lane.
|
|
188
|
-
* `api_key_env` is deliberately NOT in that set: it is a credential reference,
|
|
189
|
-
* and dropping it silently leaves the lane looking unauthenticated so the
|
|
190
|
-
* failure surfaces far downstream with a reason that no longer names the typo.
|
|
191
|
-
*
|
|
192
|
-
* Rejection: if a `repair_proxy` key exists, it is not recognized and surfaces a
|
|
193
|
-
* dropped reason telling the operator what key to use instead (never silent ignore).
|
|
194
|
-
*/
|
|
195
|
-
export function readProxyDeclaration(deps = {}) {
|
|
196
|
-
const path = resolveSourceDeclarationPath(deps.homeDir);
|
|
197
|
-
const raw = (deps.readDeclarationFile ?? defaultReadDeclarationFile)(path);
|
|
198
|
-
if (raw === null)
|
|
199
|
-
return { declaration: null };
|
|
200
|
-
let parsed;
|
|
201
|
-
try {
|
|
202
|
-
parsed = JSON.parse(raw);
|
|
203
|
-
}
|
|
204
|
-
catch {
|
|
205
|
-
return { declaration: null };
|
|
206
|
-
}
|
|
207
|
-
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
208
|
-
return { declaration: null };
|
|
209
|
-
}
|
|
210
|
-
// Check for unrecognized `repair_proxy` key and surface it as a dropped reason (never silent).
|
|
211
|
-
const unresolvedBlock = parsed.repair_proxy;
|
|
212
|
-
if (unresolvedBlock !== undefined) {
|
|
213
|
-
return {
|
|
214
|
-
declaration: null,
|
|
215
|
-
reason: "repair_proxy is retired — declare a proxy block instead.",
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
const block = parsed.proxy;
|
|
219
|
-
if (block === undefined)
|
|
220
|
-
return { declaration: null };
|
|
221
|
-
if (typeof block !== "object" || block === null || Array.isArray(block)) {
|
|
222
|
-
return {
|
|
223
|
-
declaration: null,
|
|
224
|
-
reason: "proxy must be a JSON object with an endpoint — fix the declaration.",
|
|
225
|
-
};
|
|
226
|
-
}
|
|
227
|
-
const { endpoint, top_k, cost_per_mtok, api_key_env, burst_limited } = block;
|
|
228
|
-
if (typeof endpoint !== "string" || endpoint.trim().length === 0) {
|
|
229
|
-
return {
|
|
230
|
-
declaration: null,
|
|
231
|
-
reason: "proxy.endpoint must be a non-empty url string — fix the declaration.",
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
const declaration = {
|
|
235
|
-
// Trailing slashes stripped so the reach probe, the discovery cache's stored
|
|
236
|
-
// endpoint, and the expanded sources all compare on one canonical form.
|
|
237
|
-
endpoint: endpoint.trim().replace(/\/+$/u, ""),
|
|
238
|
-
};
|
|
239
|
-
if (typeof top_k === "number" && Number.isInteger(top_k) && top_k > 0) {
|
|
240
|
-
declaration.top_k = top_k;
|
|
241
|
-
}
|
|
242
|
-
if (typeof cost_per_mtok === "number" &&
|
|
243
|
-
Number.isFinite(cost_per_mtok) &&
|
|
244
|
-
cost_per_mtok >= 0) {
|
|
245
|
-
declaration.cost_per_mtok = cost_per_mtok;
|
|
246
|
-
}
|
|
247
|
-
if (typeof api_key_env === "string" && api_key_env.trim().length > 0) {
|
|
248
|
-
// NOT dropped-individually like the tuning knobs above. `api_key_env` is a
|
|
249
|
-
// CREDENTIAL REFERENCE: silently discarding a malformed one leaves the lane
|
|
250
|
-
// looking unauthenticated and fails much further downstream, where the
|
|
251
|
-
// reason no longer names the typo. Fail the lane here, with the same
|
|
252
|
-
// precise text the `openai-compatible` branch uses.
|
|
253
|
-
const bad = invalidEnvVarNameReason("proxy.api_key_env", api_key_env);
|
|
254
|
-
if (bad !== null)
|
|
255
|
-
return { declaration: null, reason: bad };
|
|
256
|
-
declaration.api_key_env = api_key_env.trim();
|
|
257
|
-
}
|
|
258
|
-
if (typeof burst_limited === "boolean") {
|
|
259
|
-
declaration.burst_limited = burst_limited;
|
|
260
|
-
}
|
|
261
|
-
return { declaration };
|
|
262
|
-
}
|
|
263
|
-
/**
|
|
264
|
-
* The default populate fetch: time-boxed so a routable-but-dead proxy cannot hang a
|
|
265
|
-
* `next-step` at the Gate-0 build (network-tolerant means bounded, not just caught).
|
|
266
|
-
*/
|
|
267
|
-
const populateFetchWithTimeout = (input, init) => fetch(input, { ...init, signal: AbortSignal.timeout(5_000) });
|
|
268
|
-
/**
|
|
269
|
-
* POPULATE the declared proxy lane (plan §populate-vs-resolve): read the
|
|
270
|
-
* machine declaration's `proxy` block and, when present, fetch its model
|
|
271
|
-
* discovery into the machine-level populate cache ({@link populateProxyCatalog}).
|
|
272
|
-
* This is the network half the resolve path must never run — call it at Gate-0
|
|
273
|
-
* build time (once per run) or on explicit refresh, NEVER from `resolveAmbientSources`.
|
|
274
|
-
*
|
|
275
|
-
* "Present + reachable" gating is the fetch itself: the discovery GET is both the
|
|
276
|
-
* liveness proof and the payload, so a separate pre-probe would only double the
|
|
277
|
-
* network. Never throws: no declared lane ⇒ `null`; a failed/unreachable fetch ⇒
|
|
278
|
-
* `{written:false, reason}` and any prior cache is left untouched — the lane then
|
|
279
|
-
* resolves from the existing cache or unexpanded with its own `dropped[]` reason,
|
|
280
|
-
* degrading Gate-0, never blocking it.
|
|
281
|
-
*/
|
|
282
|
-
export async function populateDeclaredProxyCatalog(deps = {}) {
|
|
283
|
-
const { declaration } = readProxyDeclaration(deps);
|
|
284
|
-
if (declaration === null)
|
|
285
|
-
return null;
|
|
286
|
-
return populateProxyCatalog({
|
|
287
|
-
endpoint: declaration.endpoint,
|
|
288
|
-
...(declaration.top_k !== undefined ? { topK: declaration.top_k } : {}),
|
|
289
|
-
...(declaration.cost_per_mtok !== undefined
|
|
290
|
-
? { costPerMtok: declaration.cost_per_mtok }
|
|
291
|
-
: {}),
|
|
292
|
-
...(declaration.api_key_env !== undefined
|
|
293
|
-
? { apiKeyEnv: declaration.api_key_env }
|
|
294
|
-
: {}),
|
|
295
|
-
fetchImpl: deps.fetchImpl ?? populateFetchWithTimeout,
|
|
296
|
-
...(deps.homeDir !== undefined ? { homeDir: deps.homeDir } : {}),
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Populate the proxy catalog ONLY when the resolve half would otherwise drop the
|
|
301
|
-
* lane for it: a `proxy` is declared but the cache is absent or was fetched from a
|
|
302
|
-
* different endpoint. Bounded by construction — after one success the cache exists
|
|
303
|
-
* and this is a cheap read — so a draw with no Gate-0 build moment (remediate) can
|
|
304
|
-
* call it on every config load without a per-load network fetch. Freshness (TTL /
|
|
305
|
-
* explicit refresh) is deliberately NOT this function's job (backlog).
|
|
306
|
-
* [[silent-fail-closed-on-one-draw]] — both draws must trigger populate, not just audit.
|
|
307
|
-
*/
|
|
308
|
-
export async function populateProxyCatalogIfMissing(deps = {}) {
|
|
309
|
-
const { declaration } = readProxyDeclaration(deps);
|
|
310
|
-
if (declaration === null)
|
|
311
|
-
return null;
|
|
312
|
-
const cache = readProxyCatalog(deps);
|
|
313
|
-
if (cache !== null &&
|
|
314
|
-
cache.endpoint.replace(/\/+$/u, "") === declaration.endpoint) {
|
|
315
|
-
return {
|
|
316
|
-
sources: cache.sources,
|
|
317
|
-
written: false,
|
|
318
|
-
reason: "populate cache already present",
|
|
319
|
-
dropped: [],
|
|
320
|
-
};
|
|
321
|
-
}
|
|
322
|
-
return populateDeclaredProxyCatalog(deps);
|
|
323
|
-
}
|
|
324
198
|
/**
|
|
325
199
|
* Can THIS process prove it can reach this declared source?
|
|
326
200
|
*
|
|
@@ -450,9 +324,8 @@ export function verifySourceReach(source, deps = {}) {
|
|
|
450
324
|
}
|
|
451
325
|
case "claude-worker": {
|
|
452
326
|
// The proxied isolated Claude-harness worker: its reach IS the proxy's
|
|
453
|
-
// liveness (endpoint = the proxy url).
|
|
454
|
-
//
|
|
455
|
-
// the same bar. `api_key_env` is optional here (keyless proxy default).
|
|
327
|
+
// liveness (endpoint = the proxy url). Explicit declarations are held to the
|
|
328
|
+
// same bar as every other endpoint source. `api_key_env` is optional here.
|
|
456
329
|
if (!source.endpoint?.trim()) {
|
|
457
330
|
return {
|
|
458
331
|
verified: false,
|
|
@@ -507,9 +380,8 @@ export function resolveAmbientSources(deps = {}) {
|
|
|
507
380
|
else
|
|
508
381
|
dropped.push({ id: sourceId(source), reason: reach.reason });
|
|
509
382
|
}
|
|
510
|
-
resolveProxyLane(deps, sources, dropped);
|
|
511
383
|
// Worker-kind × pool-class compatibility, applied ONCE over the assembled set so
|
|
512
|
-
// declared
|
|
384
|
+
// all declared lanes are held to the same rule. Per-lane, so one
|
|
513
385
|
// incompatible lane never costs the operator the rest of the pool (unlike a
|
|
514
386
|
// validator error, which degrades the whole declaration).
|
|
515
387
|
const compatible = [];
|
|
@@ -522,95 +394,4 @@ export function resolveAmbientSources(deps = {}) {
|
|
|
522
394
|
}
|
|
523
395
|
return { sources: compatible, dropped };
|
|
524
396
|
}
|
|
525
|
-
/**
|
|
526
|
-
* The proxy lane of the resolve half (plan §populate-vs-resolve): a declared
|
|
527
|
-
* `proxy` whose liveness probe passes expands from the POPULATE CACHE — never
|
|
528
|
-
* a mid-resolve fetch. Fail-open, mirroring the declared-source contract: every
|
|
529
|
-
* outcome short of expansion lands in `dropped[]` with an operator-facing reason
|
|
530
|
-
* (malformed declaration / probe failure / cache absent-stale-empty), so the lane is
|
|
531
|
-
* never silently discarded.
|
|
532
|
-
*/
|
|
533
|
-
function resolveProxyLane(deps, sources, dropped) {
|
|
534
|
-
const { declaration, reason } = readProxyDeclaration(deps);
|
|
535
|
-
if (reason !== undefined) {
|
|
536
|
-
dropped.push({ id: "proxy", reason });
|
|
537
|
-
return;
|
|
538
|
-
}
|
|
539
|
-
if (declaration === null)
|
|
540
|
-
return;
|
|
541
|
-
const { endpoint } = declaration;
|
|
542
|
-
const laneId = `proxy:${endpoint}`;
|
|
543
|
-
// Reach-verify the declared master key BEFORE the liveness probe. A proxy's
|
|
544
|
-
// health endpoint is typically unauthenticated (LiteLLM's /health/liveliness
|
|
545
|
-
// is), so the probe passes with no key and the lane then fails downstream at
|
|
546
|
-
// populate — surfacing "cache absent, run the populate" when the operator DID
|
|
547
|
-
// run it and the real cause is the unset var. Mirrors the same check the
|
|
548
|
-
// expanded per-model claude-worker sources get in `verifySourceReach`.
|
|
549
|
-
const env = deps.env ?? process.env;
|
|
550
|
-
if (declaration.api_key_env !== undefined) {
|
|
551
|
-
if (!(env[declaration.api_key_env] ?? "").trim()) {
|
|
552
|
-
dropped.push({
|
|
553
|
-
id: laneId,
|
|
554
|
-
reason: `env var "${declaration.api_key_env}" is unset or empty in this process.`,
|
|
555
|
-
});
|
|
556
|
-
return;
|
|
557
|
-
}
|
|
558
|
-
}
|
|
559
|
-
const probe = deps.probeHttpReachable ?? defaultProbeHttpReachable;
|
|
560
|
-
if (!probe(endpoint)) {
|
|
561
|
-
dropped.push({
|
|
562
|
-
id: laneId,
|
|
563
|
-
reason: `proxy at "${endpoint}" failed the liveness probe — lane dropped for this invocation.`,
|
|
564
|
-
});
|
|
565
|
-
return;
|
|
566
|
-
}
|
|
567
|
-
const catalog = readProxyCatalog(deps);
|
|
568
|
-
if (catalog === null) {
|
|
569
|
-
dropped.push({
|
|
570
|
-
id: laneId,
|
|
571
|
-
reason: "proxy is reachable but the populate cache is absent/invalid — run the populate (populateProxyCatalog) to expand this lane.",
|
|
572
|
-
});
|
|
573
|
-
return;
|
|
574
|
-
}
|
|
575
|
-
if (catalog.endpoint.replace(/\/+$/u, "") !== endpoint) {
|
|
576
|
-
dropped.push({
|
|
577
|
-
id: laneId,
|
|
578
|
-
reason: `populate cache was fetched from "${catalog.endpoint}", not the declared "${endpoint}" — re-run the populate.`,
|
|
579
|
-
});
|
|
580
|
-
return;
|
|
581
|
-
}
|
|
582
|
-
if (catalog.sources.length === 0) {
|
|
583
|
-
dropped.push({
|
|
584
|
-
id: laneId,
|
|
585
|
-
reason: "proxy expansion is empty (no reachable backend models at populate time) — lane present but unexpanded.",
|
|
586
|
-
});
|
|
587
|
-
return;
|
|
588
|
-
}
|
|
589
|
-
// Declared-wins dedup: an expanded lane whose (service, model)
|
|
590
|
-
// identity a DECLARED source already covers is skipped, so one pool identity
|
|
591
|
-
// never maps to two sources (the launch bridge's pool→source map is 1:1 by
|
|
592
|
-
// assumption — a duplicate would arbitrate the transport by silent map-order
|
|
593
|
-
// clobber). The operator's explicit lane always beats auto-expansion; routing
|
|
594
|
-
// through the proxy for that model is still available by declaring the
|
|
595
|
-
// claude-worker source explicitly.
|
|
596
|
-
const declaredIdentities = new Set(sources.map((s) => `${s.service ?? s.transport}/${s.model ?? ""}`));
|
|
597
|
-
for (const expanded of catalog.sources) {
|
|
598
|
-
const identity = `${expanded.service ?? expanded.transport}/${expanded.model ?? ""}`;
|
|
599
|
-
if (declaredIdentities.has(identity)) {
|
|
600
|
-
dropped.push({
|
|
601
|
-
id: sourceId(expanded),
|
|
602
|
-
reason: `expanded lane skipped — a declared source already covers backend identity "${identity}" (declared wins over expansion).`,
|
|
603
|
-
});
|
|
604
|
-
continue;
|
|
605
|
-
}
|
|
606
|
-
// `burst_limited` is stamped from the CURRENT declaration, not the populate
|
|
607
|
-
// cache — declaration-authoritative in BOTH directions: an explicit `false`
|
|
608
|
-
// strips a cache-carried flag just as `true` adds one, so flipping the knob
|
|
609
|
-
// takes effect on the next resolve without a re-populate (a stale cache can
|
|
610
|
-
// neither launder the flag off nor pin it on).
|
|
611
|
-
sources.push(typeof declaration.burst_limited === "boolean"
|
|
612
|
-
? { ...expanded, burst_limited: declaration.burst_limited }
|
|
613
|
-
: expanded);
|
|
614
|
-
}
|
|
615
|
-
}
|
|
616
397
|
//# sourceMappingURL=auditorSources.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditorSources.js","sourceRoot":"","sources":["../../../src/shared/providers/auditorSources.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auditorSources.js","sourceRoot":"","sources":["../../../src/shared/providers/auditorSources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type ResolvedProviderName } from "../types/sessionConfig.js";
|
|
2
|
+
/** A mechanical source-pool exclusion emitted by the local self-spawn guard. */
|
|
3
|
+
export type DispatchExclusionPattern = `transport:${ResolvedProviderName}`;
|
|
4
|
+
export interface ExcludableBackend {
|
|
5
|
+
transport: string;
|
|
6
|
+
service?: string;
|
|
7
|
+
model?: string;
|
|
8
|
+
endpoint?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface DispatchExclusion {
|
|
11
|
+
excludes(backend: ExcludableBackend): boolean;
|
|
12
|
+
excludedBy(backend: ExcludableBackend): DispatchExclusionPattern | null;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Reject source lanes that would recursively spawn the active host agent.
|
|
16
|
+
* Provider/model ordering and failover deliberately belong to the dispatch broker.
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildSelfSpawnExclusion(options?: {
|
|
19
|
+
env?: NodeJS.ProcessEnv;
|
|
20
|
+
activeHostProvider?: ResolvedProviderName | null;
|
|
21
|
+
}): DispatchExclusion;
|
|
22
|
+
//# sourceMappingURL=dispatchExclusion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatchExclusion.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/dispatchExclusion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtF,gFAAgF;AAChF,MAAM,MAAM,wBAAwB,GAAG,aAAa,oBAAoB,EAAE,CAAC;AAE3E,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC;IAC9C,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,wBAAwB,GAAG,IAAI,CAAC;CACzE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,kBAAkB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC7C,GACL,iBAAiB,CAenB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PROVIDER_NAMES } from "../types/sessionConfig.js";
|
|
2
|
+
import { isSelfSpawnBlocked } from "./providerPathGuard.js";
|
|
3
|
+
/**
|
|
4
|
+
* Reject source lanes that would recursively spawn the active host agent.
|
|
5
|
+
* Provider/model ordering and failover deliberately belong to the dispatch broker.
|
|
6
|
+
*/
|
|
7
|
+
export function buildSelfSpawnExclusion(options = {}) {
|
|
8
|
+
const env = options.env ?? process.env;
|
|
9
|
+
const blocked = PROVIDER_NAMES
|
|
10
|
+
.filter((name) => name !== "auto")
|
|
11
|
+
.filter((name) => isSelfSpawnBlocked(name, env));
|
|
12
|
+
if (options.activeHostProvider)
|
|
13
|
+
blocked.push(options.activeHostProvider);
|
|
14
|
+
const blockedSet = new Set(blocked);
|
|
15
|
+
const excludedBy = (backend) => blockedSet.has(backend.transport)
|
|
16
|
+
? `transport:${backend.transport}`
|
|
17
|
+
: null;
|
|
18
|
+
return {
|
|
19
|
+
excludes: (backend) => excludedBy(backend) !== null,
|
|
20
|
+
excludedBy,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=dispatchExclusion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatchExclusion.js","sourceRoot":"","sources":["../../../src/shared/providers/dispatchExclusion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA6B,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAiB5D;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAGI,EAAE;IAEN,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,cAAc;SAC3B,MAAM,CAAC,CAAC,IAAI,EAAgC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC;SAC/D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,kBAAkB;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAuB,OAAO,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,CAAC,OAA0B,EAAmC,EAAE,CACjF,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAiC,CAAC;QACvD,CAAC,CAAE,aAAa,OAAO,CAAC,SAAS,EAA+B;QAChE,CAAC,CAAC,IAAI,CAAC;IACX,OAAO;QACL,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI;QACnD,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -14,52 +14,11 @@
|
|
|
14
14
|
* nothing — both shipped, both as silent fail-opens.
|
|
15
15
|
*
|
|
16
16
|
* This module is a LEAF on purpose: pure string derivation, no value imports. That is
|
|
17
|
-
* what lets the quota ledger
|
|
18
|
-
*
|
|
19
|
-
* homes (`quota/scheduler.ts`, `providers/sharedProviderConfirmation.ts`) could not
|
|
17
|
+
* what lets the quota ledger and source fold import the same answer without an
|
|
18
|
+
* import cycle — the previous homes could not
|
|
20
19
|
* all be reached from each other, which is why the keys were rediscovered per-consumer
|
|
21
20
|
* in the first place.
|
|
22
21
|
*/
|
|
23
|
-
import type { DispatchExclusionPattern } from "./sharedProviderConfirmation.js";
|
|
24
|
-
/**
|
|
25
|
-
* **"Is this the backend the operator already saw?"** → **service** + model.
|
|
26
|
-
*
|
|
27
|
-
* `service:model` where the model is knowable, else the coarse service name — where
|
|
28
|
-
* "service" is the BACKEND ACTUALLY SERVING the model (`service ?? transport`), never
|
|
29
|
-
* the transport that reaches it. Approval is about whose model you consume, not the
|
|
30
|
-
* road taken: two transports onto one service+model are ONE backend the operator
|
|
31
|
-
* confirms once.
|
|
32
|
-
*
|
|
33
|
-
* **Service-qualification is load-bearing, not cosmetic.** The earlier `model_id ??
|
|
34
|
-
* provider` form dropped the provider whenever a model was known, and that was a gate
|
|
35
|
-
* BYPASS in two directions: two backends from different services advertising the SAME
|
|
36
|
-
* model string collapsed into one delta entry (only one got an exclusion pattern),
|
|
37
|
-
* and — worse — confirming one service's model marked a different service's
|
|
38
|
-
* identically-named model as confirmed, so a backend the operator never saw routed as
|
|
39
|
-
* approved. Proxy expansion makes that collision ordinary, not exotic.
|
|
40
|
-
*
|
|
41
|
-
* **The coarse fallback is equally load-bearing** — do not "simplify" it away. A model
|
|
42
|
-
* is knowable here only for `openai-compatible` and `codex`; for claude-code / agy /
|
|
43
|
-
* opencode / worker-command the model arrives only at the dispatch handshake. A
|
|
44
|
-
* model-ONLY identity would let such a backend contribute no key at all, so installing
|
|
45
|
-
* `agy` on PATH would leave the Gate-0 delta empty and the gate would dispatch it
|
|
46
|
-
* silently — reopening the exact PATH-appearance case the gate exists to catch, blind
|
|
47
|
-
* rather than loud.
|
|
48
|
-
*
|
|
49
|
-
* ⚠ NOT interchangeable with {@link exclusionPattern}. Building an exclusion rule from
|
|
50
|
-
* this identity matches nothing for a proxied lane — `ruleMatches` compares the
|
|
51
|
-
* TRANSPORT. They were unified once; that was the bypass.
|
|
52
|
-
*
|
|
53
|
-
* ⚠ Nor is it the dispatch COST-POSITION map (`readConfirmedCostPositions`), a third
|
|
54
|
-
* keyspace keyed by BARE `model_id` because `costRank` looks positions up with no
|
|
55
|
-
* service in hand at the lookup site. Do not unify with either.
|
|
56
|
-
*/
|
|
57
|
-
export declare function backendIdentity(modelId: string | undefined, serviceName: string): string;
|
|
58
|
-
/** The service a source is served BY — its declared backend, else its own transport. */
|
|
59
|
-
export declare function sourceService(source: {
|
|
60
|
-
transport: string;
|
|
61
|
-
service?: string;
|
|
62
|
-
}): string;
|
|
63
22
|
/**
|
|
64
23
|
* **"How much quota is left?"** → **service** (+account) + model.
|
|
65
24
|
*
|
|
@@ -86,27 +45,4 @@ export declare function sourceService(source: {
|
|
|
86
45
|
* key is `dispatchableSourceId`. Not a ledger key, so not a divergence.
|
|
87
46
|
*/
|
|
88
47
|
export declare function quotaPoolKey(providerName: string, hostModel: string | null | undefined, account?: string | null): string;
|
|
89
|
-
/**
|
|
90
|
-
* **"What pattern rules this backend out?"** → **transport** + model.
|
|
91
|
-
*
|
|
92
|
-
* The axis-explicit exclusion pattern that rules out one backend at the finest
|
|
93
|
-
* granularity its model is knowable at — prefixed with `transport:` because the
|
|
94
|
-
* routing filter matches on `ExcludableBackend.transport`. A backend whose model
|
|
95
|
-
* arrives only at the dispatch handshake (a CLI) must be ruled out at the coarse
|
|
96
|
-
* `transport:provider` tier or the rule would never match.
|
|
97
|
-
*
|
|
98
|
-
* Model-granular form uses `/` as the delimiter (not `:`) because model ids can
|
|
99
|
-
* contain colons (e.g. `qwen2.5:7b`).
|
|
100
|
-
*
|
|
101
|
-
* ⚠ NOT the same value as {@link backendIdentity} — see that function's note.
|
|
102
|
-
*/
|
|
103
|
-
export declare function exclusionPattern(modelId: string | undefined, transportProvider: string): DispatchExclusionPattern;
|
|
104
|
-
/**
|
|
105
|
-
* **"What pattern rules this service/vendor out durably?"** → **service** + model.
|
|
106
|
-
*
|
|
107
|
-
* The axis-explicit exclusion pattern that rules out a backend at the service
|
|
108
|
-
* (vendor) axis — prefixed with `service:`. Emitted by autonomous fail-closed
|
|
109
|
-
* writes so unconfirmed backends stay excluded across transport/proxy changes.
|
|
110
|
-
*/
|
|
111
|
-
export declare function serviceExclusionPattern(modelId: string | undefined, serviceName: string): DispatchExclusionPattern;
|
|
112
48
|
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/identity.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,MAAM,CAGR"}
|