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.
Files changed (328) hide show
  1. package/dist/audit/cli/args.d.ts +6 -0
  2. package/dist/audit/cli/args.d.ts.map +1 -1
  3. package/dist/audit/cli/args.js +21 -4
  4. package/dist/audit/cli/args.js.map +1 -1
  5. package/dist/audit/cli/auditStep.d.ts +6 -15
  6. package/dist/audit/cli/auditStep.d.ts.map +1 -1
  7. package/dist/audit/cli/auditStep.js +1 -1
  8. package/dist/audit/cli/auditStep.js.map +1 -1
  9. package/dist/audit/cli/dispatch/hostFanoutGate.d.ts +21 -61
  10. package/dist/audit/cli/dispatch/hostFanoutGate.d.ts.map +1 -1
  11. package/dist/audit/cli/dispatch/hostFanoutGate.js +18 -167
  12. package/dist/audit/cli/dispatch/hostFanoutGate.js.map +1 -1
  13. package/dist/audit/cli/dispatch/packetFilter.d.ts +2 -2
  14. package/dist/audit/cli/dispatch/packetFilter.d.ts.map +1 -1
  15. package/dist/audit/cli/dispatch/packetFilter.js +3 -1
  16. package/dist/audit/cli/dispatch/packetFilter.js.map +1 -1
  17. package/dist/audit/cli/dispatch/quotaPool.d.ts +2 -14
  18. package/dist/audit/cli/dispatch/quotaPool.d.ts.map +1 -1
  19. package/dist/audit/cli/dispatch/quotaPool.js +16 -6
  20. package/dist/audit/cli/dispatch/quotaPool.js.map +1 -1
  21. package/dist/audit/cli/dispatch/tierRouting.d.ts +2 -2
  22. package/dist/audit/cli/dispatch/tokenUsageObservation.d.ts.map +1 -1
  23. package/dist/audit/cli/dispatch/tokenUsageObservation.js +10 -2
  24. package/dist/audit/cli/dispatch/tokenUsageObservation.js.map +1 -1
  25. package/dist/audit/cli/dispatch.d.ts +14 -3
  26. package/dist/audit/cli/dispatch.d.ts.map +1 -1
  27. package/dist/audit/cli/dispatch.js +87 -65
  28. package/dist/audit/cli/dispatch.js.map +1 -1
  29. package/dist/audit/cli/forceSynthesisCommand.d.ts.map +1 -1
  30. package/dist/audit/cli/forceSynthesisCommand.js +9 -1
  31. package/dist/audit/cli/forceSynthesisCommand.js.map +1 -1
  32. package/dist/audit/cli/hybridDispatch.d.ts +4 -9
  33. package/dist/audit/cli/hybridDispatch.d.ts.map +1 -1
  34. package/dist/audit/cli/hybridDispatch.js +1 -1
  35. package/dist/audit/cli/hybridDispatch.js.map +1 -1
  36. package/dist/audit/cli/lineIndex.d.ts +2 -0
  37. package/dist/audit/cli/lineIndex.d.ts.map +1 -1
  38. package/dist/audit/cli/lineIndex.js +4 -0
  39. package/dist/audit/cli/lineIndex.js.map +1 -1
  40. package/dist/audit/cli/nextStepCommand.d.ts +0 -26
  41. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  42. package/dist/audit/cli/nextStepCommand.js +14 -358
  43. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  44. package/dist/audit/cli/nextStepHelpers.d.ts +5 -16
  45. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  46. package/dist/audit/cli/nextStepHelpers.js +27 -157
  47. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  48. package/dist/audit/cli/quotaCommand.d.ts.map +1 -1
  49. package/dist/audit/cli/quotaCommand.js +1 -5
  50. package/dist/audit/cli/quotaCommand.js.map +1 -1
  51. package/dist/audit/cli/reviewRun.d.ts.map +1 -1
  52. package/dist/audit/cli/reviewRun.js +58 -23
  53. package/dist/audit/cli/reviewRun.js.map +1 -1
  54. package/dist/audit/cli/rollingAuditDispatch.d.ts +1 -1
  55. package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
  56. package/dist/audit/cli/semanticReviewStep.js +35 -54
  57. package/dist/audit/cli/semanticReviewStep.js.map +1 -1
  58. package/dist/audit/cli/steps.d.ts +4 -4
  59. package/dist/audit/cli/steps.d.ts.map +1 -1
  60. package/dist/audit/cli/steps.js +0 -1
  61. package/dist/audit/cli/steps.js.map +1 -1
  62. package/dist/audit/cli/workPartitionRuntime.d.ts +11 -0
  63. package/dist/audit/cli/workPartitionRuntime.d.ts.map +1 -0
  64. package/dist/audit/cli/workPartitionRuntime.js +39 -0
  65. package/dist/audit/cli/workPartitionRuntime.js.map +1 -0
  66. package/dist/audit/contracts/wrapperResponse.d.ts +6 -6
  67. package/dist/audit/io/artifacts.d.ts +1 -3
  68. package/dist/audit/io/artifacts.d.ts.map +1 -1
  69. package/dist/audit/io/artifacts.js +0 -3
  70. package/dist/audit/io/artifacts.js.map +1 -1
  71. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  72. package/dist/audit/orchestrator/advance.js +0 -35
  73. package/dist/audit/orchestrator/advance.js.map +1 -1
  74. package/dist/audit/orchestrator/advanceTypes.d.ts +4 -63
  75. package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
  76. package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
  77. package/dist/audit/orchestrator/executorRunners.js +9 -12
  78. package/dist/audit/orchestrator/executorRunners.js.map +1 -1
  79. package/dist/audit/orchestrator/executors.d.ts.map +1 -1
  80. package/dist/audit/orchestrator/executors.js +0 -5
  81. package/dist/audit/orchestrator/executors.js.map +1 -1
  82. package/dist/audit/orchestrator/hostInputPause.d.ts +1 -1
  83. package/dist/audit/orchestrator/hostInputPause.js +1 -1
  84. package/dist/audit/orchestrator/ingestionExecutors.d.ts.map +1 -1
  85. package/dist/audit/orchestrator/ingestionExecutors.js +4 -1
  86. package/dist/audit/orchestrator/ingestionExecutors.js.map +1 -1
  87. package/dist/audit/orchestrator/intakeExecutors.d.ts +1 -65
  88. package/dist/audit/orchestrator/intakeExecutors.d.ts.map +1 -1
  89. package/dist/audit/orchestrator/intakeExecutors.js +3 -425
  90. package/dist/audit/orchestrator/intakeExecutors.js.map +1 -1
  91. package/dist/audit/orchestrator/nextStep.d.ts +0 -13
  92. package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
  93. package/dist/audit/orchestrator/nextStep.js +0 -7
  94. package/dist/audit/orchestrator/nextStep.js.map +1 -1
  95. package/dist/audit/orchestrator/planningExecutors.d.ts.map +1 -1
  96. package/dist/audit/orchestrator/planningExecutors.js +4 -1
  97. package/dist/audit/orchestrator/planningExecutors.js.map +1 -1
  98. package/dist/audit/orchestrator/rollingDispatch.d.ts +1 -1
  99. package/dist/audit/orchestrator/rollingDispatch.d.ts.map +1 -1
  100. package/dist/audit/orchestrator/rollingDispatch.js +5 -4
  101. package/dist/audit/orchestrator/rollingDispatch.js.map +1 -1
  102. package/dist/audit/orchestrator/state.d.ts +0 -39
  103. package/dist/audit/orchestrator/state.d.ts.map +1 -1
  104. package/dist/audit/orchestrator/state.js +3 -29
  105. package/dist/audit/orchestrator/state.js.map +1 -1
  106. package/dist/audit/orchestrator/synthesisExecutors.d.ts +8 -2
  107. package/dist/audit/orchestrator/synthesisExecutors.d.ts.map +1 -1
  108. package/dist/audit/orchestrator/synthesisExecutors.js +7 -5
  109. package/dist/audit/orchestrator/synthesisExecutors.js.map +1 -1
  110. package/dist/audit/reporting/findingIdentity.d.ts +2 -2
  111. package/dist/audit/reporting/findingIdentity.js +2 -2
  112. package/dist/audit/reporting/synthesis.d.ts +7 -1
  113. package/dist/audit/reporting/synthesis.d.ts.map +1 -1
  114. package/dist/audit/reporting/synthesis.js +27 -7
  115. package/dist/audit/reporting/synthesis.js.map +1 -1
  116. package/dist/audit/reporting/workBlocks.d.ts +14 -3
  117. package/dist/audit/reporting/workBlocks.d.ts.map +1 -1
  118. package/dist/audit/reporting/workBlocks.js +163 -73
  119. package/dist/audit/reporting/workBlocks.js.map +1 -1
  120. package/dist/audit/types/activeDispatch.d.ts +8 -7
  121. package/dist/audit/types/activeDispatch.d.ts.map +1 -1
  122. package/dist/audit/types/auditState.d.ts +6 -6
  123. package/dist/audit/types/externalAnalyzer.d.ts +6 -6
  124. package/dist/audit/validation/auditResults.d.ts.map +1 -1
  125. package/dist/audit/validation/auditResults.js +6 -1
  126. package/dist/audit/validation/auditResults.js.map +1 -1
  127. package/dist/remediate/contractPipeline/phaseCut.d.ts +8 -0
  128. package/dist/remediate/contractPipeline/phaseCut.d.ts.map +1 -1
  129. package/dist/remediate/contractPipeline/phaseCut.js +63 -0
  130. package/dist/remediate/contractPipeline/phaseCut.js.map +1 -1
  131. package/dist/remediate/contractPipeline/phaseCutArtifact.d.ts.map +1 -1
  132. package/dist/remediate/contractPipeline/phaseCutArtifact.js +5 -3
  133. package/dist/remediate/contractPipeline/phaseCutArtifact.js.map +1 -1
  134. package/dist/remediate/phases/plan.d.ts.map +1 -1
  135. package/dist/remediate/phases/plan.js +35 -12
  136. package/dist/remediate/phases/plan.js.map +1 -1
  137. package/dist/remediate/steps/contractPipeline.d.ts +6 -2
  138. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  139. package/dist/remediate/steps/contractPipeline.js +90 -6
  140. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  141. package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
  142. package/dist/remediate/steps/contractPipelinePrompts.js +4 -2
  143. package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
  144. package/dist/remediate/steps/dispatch/marshal.d.ts +6 -0
  145. package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
  146. package/dist/remediate/steps/dispatch/marshal.js +16 -17
  147. package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
  148. package/dist/remediate/steps/dispatch/waveScheduling.d.ts +7 -15
  149. package/dist/remediate/steps/dispatch/waveScheduling.d.ts.map +1 -1
  150. package/dist/remediate/steps/dispatch/waveScheduling.js +26 -19
  151. package/dist/remediate/steps/dispatch/waveScheduling.js.map +1 -1
  152. package/dist/remediate/steps/nextStep.d.ts +5 -7
  153. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  154. package/dist/remediate/steps/nextStep.js +100 -82
  155. package/dist/remediate/steps/nextStep.js.map +1 -1
  156. package/dist/remediate/steps/rollingSession.d.ts +2 -1
  157. package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
  158. package/dist/remediate/steps/rollingSession.js +14 -8
  159. package/dist/remediate/steps/rollingSession.js.map +1 -1
  160. package/dist/remediate/steps/sessionConfigLoad.d.ts +3 -2
  161. package/dist/remediate/steps/sessionConfigLoad.d.ts.map +1 -1
  162. package/dist/remediate/steps/sessionConfigLoad.js +4 -10
  163. package/dist/remediate/steps/sessionConfigLoad.js.map +1 -1
  164. package/dist/remediate/validation/contractPipeline.d.ts +1 -1
  165. package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
  166. package/dist/remediate/validation/contractPipeline.js +7 -1
  167. package/dist/remediate/validation/contractPipeline.js.map +1 -1
  168. package/dist/remediate/validation/contractPipelineGates.d.ts +8 -0
  169. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  170. package/dist/remediate/validation/contractPipelineGates.js +89 -0
  171. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  172. package/dist/shared/config/resolveSessionConfig.d.ts.map +1 -1
  173. package/dist/shared/config/resolveSessionConfig.js +6 -5
  174. package/dist/shared/config/resolveSessionConfig.js.map +1 -1
  175. package/dist/shared/decompose/workPartition.d.ts +66 -0
  176. package/dist/shared/decompose/workPartition.d.ts.map +1 -0
  177. package/dist/shared/decompose/workPartition.js +523 -0
  178. package/dist/shared/decompose/workPartition.js.map +1 -0
  179. package/dist/shared/dispatch/admissionLoop.d.ts +5 -44
  180. package/dist/shared/dispatch/admissionLoop.d.ts.map +1 -1
  181. package/dist/shared/dispatch/admissionLoop.js +20 -82
  182. package/dist/shared/dispatch/admissionLoop.js.map +1 -1
  183. package/dist/shared/dispatch/coordinator.d.ts +5 -5
  184. package/dist/shared/dispatch/coordinator.d.ts.map +1 -1
  185. package/dist/shared/dispatch/coordinator.js +12 -11
  186. package/dist/shared/dispatch/coordinator.js.map +1 -1
  187. package/dist/shared/dispatch/costRank.d.ts +5 -155
  188. package/dist/shared/dispatch/costRank.d.ts.map +1 -1
  189. package/dist/shared/dispatch/costRank.js +2 -179
  190. package/dist/shared/dispatch/costRank.js.map +1 -1
  191. package/dist/shared/dispatch/dispatchQuotaContract.d.ts +37 -38
  192. package/dist/shared/dispatch/dispatchQuotaContract.d.ts.map +1 -1
  193. package/dist/shared/dispatch/dispatchQuotaContract.js +0 -1
  194. package/dist/shared/dispatch/dispatchQuotaContract.js.map +1 -1
  195. package/dist/shared/dispatch/hybridDispatch.d.ts +6 -2
  196. package/dist/shared/dispatch/hybridDispatch.d.ts.map +1 -1
  197. package/dist/shared/dispatch/hybridDispatch.js +1 -1
  198. package/dist/shared/dispatch/hybridDispatch.js.map +1 -1
  199. package/dist/shared/dispatch/rollingDispatch.d.ts +4 -4
  200. package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
  201. package/dist/shared/dispatch/rollingDispatch.js +13 -11
  202. package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
  203. package/dist/shared/dispatch/unifiedRolling.d.ts +2 -2
  204. package/dist/shared/dispatch/unifiedRolling.d.ts.map +1 -1
  205. package/dist/shared/dispatch/unifiedRolling.js +1 -1
  206. package/dist/shared/dispatch/unifiedRolling.js.map +1 -1
  207. package/dist/shared/engine/obligationEngine.d.ts +2 -2
  208. package/dist/shared/friction/stepBoundaryCapture.d.ts +5 -59
  209. package/dist/shared/friction/stepBoundaryCapture.d.ts.map +1 -1
  210. package/dist/shared/friction/stepBoundaryCapture.js +11 -107
  211. package/dist/shared/friction/stepBoundaryCapture.js.map +1 -1
  212. package/dist/shared/index.d.ts +13 -16
  213. package/dist/shared/index.d.ts.map +1 -1
  214. package/dist/shared/index.js +9 -13
  215. package/dist/shared/index.js.map +1 -1
  216. package/dist/shared/io/stateDir.d.ts +2 -2
  217. package/dist/shared/io/stateDir.js +2 -2
  218. package/dist/shared/providers/auditorSources.d.ts +10 -84
  219. package/dist/shared/providers/auditorSources.d.ts.map +1 -1
  220. package/dist/shared/providers/auditorSources.js +42 -261
  221. package/dist/shared/providers/auditorSources.js.map +1 -1
  222. package/dist/shared/providers/dispatchExclusion.d.ts +22 -0
  223. package/dist/shared/providers/dispatchExclusion.d.ts.map +1 -0
  224. package/dist/shared/providers/dispatchExclusion.js +23 -0
  225. package/dist/shared/providers/dispatchExclusion.js.map +1 -0
  226. package/dist/shared/providers/identity.d.ts +2 -66
  227. package/dist/shared/providers/identity.d.ts.map +1 -1
  228. package/dist/shared/providers/identity.js +2 -72
  229. package/dist/shared/providers/identity.js.map +1 -1
  230. package/dist/shared/providers/providerFactory.d.ts +0 -3
  231. package/dist/shared/providers/providerFactory.d.ts.map +1 -1
  232. package/dist/shared/providers/providerFactory.js +5 -32
  233. package/dist/shared/providers/providerFactory.js.map +1 -1
  234. package/dist/shared/providers/providerPathGuard.d.ts +3 -3
  235. package/dist/shared/providers/providerPathGuard.js +7 -7
  236. package/dist/shared/providers/providerPathGuard.js.map +1 -1
  237. package/dist/shared/quota/apiPool.d.ts +19 -22
  238. package/dist/shared/quota/apiPool.d.ts.map +1 -1
  239. package/dist/shared/quota/apiPool.js +66 -47
  240. package/dist/shared/quota/apiPool.js.map +1 -1
  241. package/dist/shared/quota/capacity.d.ts +29 -24
  242. package/dist/shared/quota/capacity.d.ts.map +1 -1
  243. package/dist/shared/quota/capacity.js +30 -4
  244. package/dist/shared/quota/capacity.js.map +1 -1
  245. package/dist/shared/quota/codexHostConfig.d.ts +6 -13
  246. package/dist/shared/quota/codexHostConfig.d.ts.map +1 -1
  247. package/dist/shared/quota/codexHostConfig.js +8 -14
  248. package/dist/shared/quota/codexHostConfig.js.map +1 -1
  249. package/dist/shared/quota/fileLock.d.ts +7 -0
  250. package/dist/shared/quota/fileLock.d.ts.map +1 -1
  251. package/dist/shared/quota/fileLock.js +32 -4
  252. package/dist/shared/quota/fileLock.js.map +1 -1
  253. package/dist/shared/quota/hostLimits.d.ts +1 -1
  254. package/dist/shared/quota/hostLimits.d.ts.map +1 -1
  255. package/dist/shared/quota/hostLimits.js +8 -11
  256. package/dist/shared/quota/hostLimits.js.map +1 -1
  257. package/dist/shared/quota/hostPool.d.ts +1 -1
  258. package/dist/shared/quota/hostPool.js +2 -2
  259. package/dist/shared/quota/hostPool.js.map +1 -1
  260. package/dist/shared/quota/limits.d.ts.map +1 -1
  261. package/dist/shared/quota/limits.js +30 -26
  262. package/dist/shared/quota/limits.js.map +1 -1
  263. package/dist/shared/quota/scheduler.d.ts +2 -3
  264. package/dist/shared/quota/scheduler.d.ts.map +1 -1
  265. package/dist/shared/quota/scheduler.js +1 -1
  266. package/dist/shared/quota/scheduler.js.map +1 -1
  267. package/dist/shared/quota/types.d.ts +10 -10
  268. package/dist/shared/quota/types.d.ts.map +1 -1
  269. package/dist/shared/quota/types.js +4 -7
  270. package/dist/shared/quota/types.js.map +1 -1
  271. package/dist/shared/repair/brokeredDispatch.d.ts.map +1 -1
  272. package/dist/shared/repair/brokeredDispatch.js +3 -0
  273. package/dist/shared/repair/brokeredDispatch.js.map +1 -1
  274. package/dist/shared/reporting/auditDeliverable.d.ts.map +1 -1
  275. package/dist/shared/reporting/auditDeliverable.js +1 -0
  276. package/dist/shared/reporting/auditDeliverable.js.map +1 -1
  277. package/dist/shared/rolling/pausedState.d.ts +7 -7
  278. package/dist/shared/rolling/pausedState.js +3 -3
  279. package/dist/shared/tokens.d.ts +2 -5
  280. package/dist/shared/tokens.d.ts.map +1 -1
  281. package/dist/shared/tokens.js +15 -15
  282. package/dist/shared/tokens.js.map +1 -1
  283. package/dist/shared/types/auditorDescriptor.d.ts +3 -2
  284. package/dist/shared/types/auditorDescriptor.d.ts.map +1 -1
  285. package/dist/shared/types/auditorDescriptor.js +3 -2
  286. package/dist/shared/types/auditorDescriptor.js.map +1 -1
  287. package/dist/shared/types/finding.d.ts +80 -0
  288. package/dist/shared/types/finding.d.ts.map +1 -1
  289. package/dist/shared/types/finding.js +17 -0
  290. package/dist/shared/types/finding.js.map +1 -1
  291. package/dist/shared/types/sessionConfig.d.ts +5 -5
  292. package/dist/shared/types/sessionConfig.js +1 -1
  293. package/dist/shared/validation/findingsReport.d.ts.map +1 -1
  294. package/dist/shared/validation/findingsReport.js +3 -0
  295. package/dist/shared/validation/findingsReport.js.map +1 -1
  296. package/docs/audit-pkg/development.md +3 -2
  297. package/docs/audit-pkg/operator-guide.md +13 -106
  298. package/docs/audit-pkg/product.md +8 -7
  299. package/docs/audit-pkg/release.md +38 -29
  300. package/opencode.json +2 -2
  301. package/package.json +7 -4
  302. package/skills/audit-code/SKILL.md +2 -1
  303. package/skills/audit-code/audit-code.prompt.md +4 -3
  304. package/skills/remediate-code/remediate-code.prompt.md +2 -1
  305. package/dist/audit/cli/providerConfirmationStep.d.ts +0 -106
  306. package/dist/audit/cli/providerConfirmationStep.d.ts.map +0 -1
  307. package/dist/audit/cli/providerConfirmationStep.js +0 -396
  308. package/dist/audit/cli/providerConfirmationStep.js.map +0 -1
  309. package/dist/audit/orchestrator/providerConfirmation.d.ts +0 -25
  310. package/dist/audit/orchestrator/providerConfirmation.d.ts.map +0 -1
  311. package/dist/audit/orchestrator/providerConfirmation.js +0 -60
  312. package/dist/audit/orchestrator/providerConfirmation.js.map +0 -1
  313. package/dist/shared/providers/providerConfirmation.d.ts +0 -141
  314. package/dist/shared/providers/providerConfirmation.d.ts.map +0 -1
  315. package/dist/shared/providers/providerConfirmation.js +0 -420
  316. package/dist/shared/providers/providerConfirmation.js.map +0 -1
  317. package/dist/shared/providers/proxyCatalog.d.ts +0 -158
  318. package/dist/shared/providers/proxyCatalog.d.ts.map +0 -1
  319. package/dist/shared/providers/proxyCatalog.js +0 -658
  320. package/dist/shared/providers/proxyCatalog.js.map +0 -1
  321. package/dist/shared/providers/sharedProviderConfirmation.d.ts +0 -802
  322. package/dist/shared/providers/sharedProviderConfirmation.d.ts.map +0 -1
  323. package/dist/shared/providers/sharedProviderConfirmation.js +0 -1865
  324. package/dist/shared/providers/sharedProviderConfirmation.js.map +0 -1
  325. package/dist/shared/types/providerConfirmation.d.ts +0 -334
  326. package/dist/shared/types/providerConfirmation.d.ts.map +0 -1
  327. package/dist/shared/types/providerConfirmation.js +0 -35
  328. 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 and deliberately NOT named
12
- * like the POPULATE cache (`catalog-cache.json`, `proxyCatalog.ts` the
13
- * `catalog-<auditor-id>.json` name this comment once reserved landed WITHOUT the
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: try /health/liveliness first (unauthenticated),
74
- // then fallback to /v1/models. On /v1/models, ANY HTTP status counts alive
75
- // (a 401 from a keyed proxy still proves it's listening).
76
- const probeOnce = (budgetMs, path) => {
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, `${url}${path}`, String(budgetMs)], {
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
- // Try /health/liveliness first (unauthenticated, guaranteed safe)
87
- if (probeOnce(budgetMs, "/health/liveliness"))
88
- return true;
89
- // Fallback to /v1/models (if /health/liveliness is absent)
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: it previously
146
- * guarded only the `openai-compatible` source branch while `readProxyDeclaration`
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). Normally these sources come pre-verified
454
- // from the populate cache via the `proxy` lane; a hand-declared one is held to
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 and proxy-expanded lanes are held to the same rule. Per-lane, so one
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, the Gate-0 confirmation, the source fold, and the
18
- * routing filter all import the same answers without an import cycle — the previous
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;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,GAClB,MAAM,CAER;AAED,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAET;AAED;;;;;;;;;;;;;;;;;;;;;;;;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;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,iBAAiB,EAAE,MAAM,GACxB,wBAAwB,CAI1B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,GAClB,wBAAwB,CAE1B"}
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"}