agentskeptic 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/README.md +39 -44
  2. package/config/marketing.json +187 -0
  3. package/dist/actionableFailure.d.ts.map +1 -1
  4. package/dist/actionableFailure.js +95 -0
  5. package/dist/actionableFailure.js.map +1 -1
  6. package/dist/agentRunBundle.d.ts +2 -0
  7. package/dist/agentRunBundle.d.ts.map +1 -1
  8. package/dist/agentRunBundle.js +4 -0
  9. package/dist/agentRunBundle.js.map +1 -1
  10. package/dist/assurance/assurancePathArgs.d.ts.map +1 -1
  11. package/dist/assurance/assurancePathArgs.js +1 -0
  12. package/dist/assurance/assurancePathArgs.js.map +1 -1
  13. package/dist/assurance/buildAssuranceOutput.d.ts +29 -0
  14. package/dist/assurance/buildAssuranceOutput.d.ts.map +1 -0
  15. package/dist/assurance/buildAssuranceOutput.js +53 -0
  16. package/dist/assurance/buildAssuranceOutput.js.map +1 -0
  17. package/dist/assurance/checkStale.d.ts +7 -0
  18. package/dist/assurance/checkStale.d.ts.map +1 -1
  19. package/dist/assurance/checkStale.js +14 -3
  20. package/dist/assurance/checkStale.js.map +1 -1
  21. package/dist/assurance/runAssurance.d.ts.map +1 -1
  22. package/dist/assurance/runAssurance.js +26 -3
  23. package/dist/assurance/runAssurance.js.map +1 -1
  24. package/dist/bootstrap/executeBootstrapPack.d.ts.map +1 -1
  25. package/dist/bootstrap/executeBootstrapPack.js +3 -2
  26. package/dist/bootstrap/executeBootstrapPack.js.map +1 -1
  27. package/dist/certificateDigest.d.ts +4 -0
  28. package/dist/certificateDigest.d.ts.map +1 -0
  29. package/dist/certificateDigest.js +7 -0
  30. package/dist/certificateDigest.js.map +1 -0
  31. package/dist/certificateDigest.test.d.ts +2 -0
  32. package/dist/certificateDigest.test.d.ts.map +1 -0
  33. package/dist/certificateDigest.test.js +14 -0
  34. package/dist/certificateDigest.test.js.map +1 -0
  35. package/dist/cli/lockOrchestration.d.ts.map +1 -1
  36. package/dist/cli/lockOrchestration.js +42 -6
  37. package/dist/cli/lockOrchestration.js.map +1 -1
  38. package/dist/cli/lockOrchestration.test.js +1 -0
  39. package/dist/cli/lockOrchestration.test.js.map +1 -1
  40. package/dist/cli/runFunnelAnonSet.js +1 -1
  41. package/dist/cli.js +122 -114
  42. package/dist/cli.js.map +1 -1
  43. package/dist/cliArgv.d.ts +2 -0
  44. package/dist/cliArgv.d.ts.map +1 -1
  45. package/dist/cliArgv.js +6 -2
  46. package/dist/cliArgv.js.map +1 -1
  47. package/dist/cliArgv.test.d.ts +2 -0
  48. package/dist/cliArgv.test.d.ts.map +1 -0
  49. package/dist/cliArgv.test.js +34 -0
  50. package/dist/cliArgv.test.js.map +1 -0
  51. package/dist/cliOperationalCodes.d.ts +8 -0
  52. package/dist/cliOperationalCodes.d.ts.map +1 -1
  53. package/dist/cliOperationalCodes.js +8 -0
  54. package/dist/cliOperationalCodes.js.map +1 -1
  55. package/dist/commercial/activationCorrelation.d.ts +3 -0
  56. package/dist/commercial/activationCorrelation.d.ts.map +1 -0
  57. package/dist/commercial/activationCorrelation.js +6 -0
  58. package/dist/commercial/activationCorrelation.js.map +1 -0
  59. package/dist/commercial/getCurrentUsage.d.ts +16 -0
  60. package/dist/commercial/getCurrentUsage.d.ts.map +1 -0
  61. package/dist/commercial/getCurrentUsage.js +33 -0
  62. package/dist/commercial/getCurrentUsage.js.map +1 -0
  63. package/dist/commercial/licensePreflight.d.ts +1 -0
  64. package/dist/commercial/licensePreflight.d.ts.map +1 -1
  65. package/dist/commercial/licensePreflight.js +27 -8
  66. package/dist/commercial/licensePreflight.js.map +1 -1
  67. package/dist/commercial/postVerifyOutcomeBeacon.d.ts +5 -3
  68. package/dist/commercial/postVerifyOutcomeBeacon.d.ts.map +1 -1
  69. package/dist/commercial/postVerifyOutcomeBeacon.js +17 -10
  70. package/dist/commercial/postVerifyOutcomeBeacon.js.map +1 -1
  71. package/dist/commercial/verifyOutcomeBeaconBody.d.ts +12 -0
  72. package/dist/commercial/verifyOutcomeBeaconBody.d.ts.map +1 -0
  73. package/dist/commercial/verifyOutcomeBeaconBody.js +26 -0
  74. package/dist/commercial/verifyOutcomeBeaconBody.js.map +1 -0
  75. package/dist/commercial/verifyWorkloadClassify.d.ts +2 -7
  76. package/dist/commercial/verifyWorkloadClassify.d.ts.map +1 -1
  77. package/dist/commercial/verifyWorkloadClassify.js +1 -1
  78. package/dist/commercial/verifyWorkloadClassify.js.map +1 -1
  79. package/dist/commercial/verifyWorkloadClassify.test.js +7 -0
  80. package/dist/commercial/verifyWorkloadClassify.test.js.map +1 -1
  81. package/dist/compare.acceptance.test.js +25 -0
  82. package/dist/compare.acceptance.test.js.map +1 -1
  83. package/dist/compareRunManifest.d.ts +32 -0
  84. package/dist/compareRunManifest.d.ts.map +1 -0
  85. package/dist/compareRunManifest.js +60 -0
  86. package/dist/compareRunManifest.js.map +1 -0
  87. package/dist/crossing/crossingDecisionReadyFooter.d.ts +1 -1
  88. package/dist/crossing/crossingDecisionReadyFooter.d.ts.map +1 -1
  89. package/dist/crossing/crossingDecisionReadyFooter.js +1 -1
  90. package/dist/crossing/crossingDecisionReadyFooter.js.map +1 -1
  91. package/dist/debug-ui/app.css +42 -0
  92. package/dist/debug-ui/app.js +206 -15
  93. package/dist/debug-ui/index.html +11 -4
  94. package/dist/debug-ui/urlState.d.ts +15 -0
  95. package/dist/debug-ui/urlState.js +92 -0
  96. package/dist/debugCorpus.test.js +33 -7
  97. package/dist/debugCorpus.test.js.map +1 -1
  98. package/dist/debugPanels.d.ts +0 -3
  99. package/dist/debugPanels.d.ts.map +1 -1
  100. package/dist/debugPanels.js +0 -23
  101. package/dist/debugPanels.js.map +1 -1
  102. package/dist/debugPanels.test.js +16 -15
  103. package/dist/debugPanels.test.js.map +1 -1
  104. package/dist/debugServer.d.ts.map +1 -1
  105. package/dist/debugServer.js +19 -16
  106. package/dist/debugServer.js.map +1 -1
  107. package/dist/debugServer.test.js +18 -9
  108. package/dist/debugServer.test.js.map +1 -1
  109. package/dist/debugUiUrlState.test.d.ts +2 -0
  110. package/dist/debugUiUrlState.test.d.ts.map +1 -0
  111. package/dist/debugUiUrlState.test.js +49 -0
  112. package/dist/debugUiUrlState.test.js.map +1 -0
  113. package/dist/decisionBlocker.contract.test.d.ts +2 -0
  114. package/dist/decisionBlocker.contract.test.d.ts.map +1 -0
  115. package/dist/decisionBlocker.contract.test.js +51 -0
  116. package/dist/decisionBlocker.contract.test.js.map +1 -0
  117. package/dist/decisionBlocker.d.ts +10 -0
  118. package/dist/decisionBlocker.d.ts.map +1 -0
  119. package/dist/decisionBlocker.js +66 -0
  120. package/dist/decisionBlocker.js.map +1 -0
  121. package/dist/decisionGate.assertSafe.test.d.ts +2 -0
  122. package/dist/decisionGate.assertSafe.test.d.ts.map +1 -0
  123. package/dist/decisionGate.assertSafe.test.js +52 -0
  124. package/dist/decisionGate.assertSafe.test.js.map +1 -0
  125. package/dist/decisionGate.d.ts +23 -0
  126. package/dist/decisionGate.d.ts.map +1 -0
  127. package/dist/decisionGate.js +85 -0
  128. package/dist/decisionGate.js.map +1 -0
  129. package/dist/decisionGate.persistBundle.test.d.ts +2 -0
  130. package/dist/decisionGate.persistBundle.test.d.ts.map +1 -0
  131. package/dist/{withWorkflowVerification.persistBundle.test.js → decisionGate.persistBundle.test.js} +31 -19
  132. package/dist/decisionGate.persistBundle.test.js.map +1 -0
  133. package/dist/decisionUnsafeError.d.ts +8 -0
  134. package/dist/decisionUnsafeError.d.ts.map +1 -0
  135. package/dist/decisionUnsafeError.js +12 -0
  136. package/dist/decisionUnsafeError.js.map +1 -0
  137. package/dist/discovery-payload-v1.json +167 -59
  138. package/dist/enforceCli.d.ts.map +1 -1
  139. package/dist/enforceCli.js +15 -40
  140. package/dist/enforceCli.js.map +1 -1
  141. package/dist/enforceStateful.d.ts +2 -0
  142. package/dist/enforceStateful.d.ts.map +1 -0
  143. package/dist/enforceStateful.js +106 -0
  144. package/dist/enforceStateful.js.map +1 -0
  145. package/dist/enforcementProjection.d.ts +17 -0
  146. package/dist/enforcementProjection.d.ts.map +1 -0
  147. package/dist/enforcementProjection.js +20 -0
  148. package/dist/enforcementProjection.js.map +1 -0
  149. package/dist/executionPathFindings.d.ts +1 -1
  150. package/dist/executionPathFindings.d.ts.map +1 -1
  151. package/dist/executionPathFindings.js +2 -2
  152. package/dist/executionPathFindings.js.map +1 -1
  153. package/dist/executionTrace.js +2 -2
  154. package/dist/executionTrace.js.map +1 -1
  155. package/dist/executionTrace.test.js +35 -0
  156. package/dist/executionTrace.test.js.map +1 -1
  157. package/dist/executionTraceDiff.d.ts +36 -0
  158. package/dist/executionTraceDiff.d.ts.map +1 -0
  159. package/dist/executionTraceDiff.js +86 -0
  160. package/dist/executionTraceDiff.js.map +1 -0
  161. package/dist/executionTraceDiff.test.d.ts +2 -0
  162. package/dist/executionTraceDiff.test.d.ts.map +1 -0
  163. package/dist/executionTraceDiff.test.js +44 -0
  164. package/dist/executionTraceDiff.test.js.map +1 -0
  165. package/dist/failureCatalog.d.ts +1 -0
  166. package/dist/failureCatalog.d.ts.map +1 -1
  167. package/dist/failureCatalog.js +1 -0
  168. package/dist/failureCatalog.js.map +1 -1
  169. package/dist/failureOriginCatalog.d.ts.map +1 -1
  170. package/dist/failureOriginCatalog.js +20 -0
  171. package/dist/failureOriginCatalog.js.map +1 -1
  172. package/dist/firstFiveMinutesChecklist.d.ts +11 -0
  173. package/dist/firstFiveMinutesChecklist.d.ts.map +1 -0
  174. package/dist/firstFiveMinutesChecklist.js +18 -0
  175. package/dist/firstFiveMinutesChecklist.js.map +1 -0
  176. package/dist/funnel/workflowLineageClassify.d.ts +1 -1
  177. package/dist/funnel/workflowLineageClassify.js +1 -1
  178. package/dist/index.d.ts +20 -7
  179. package/dist/index.d.ts.map +1 -1
  180. package/dist/index.js +14 -6
  181. package/dist/index.js.map +1 -1
  182. package/dist/langGraphCheckpointTrustGate.d.ts +38 -0
  183. package/dist/langGraphCheckpointTrustGate.d.ts.map +1 -0
  184. package/dist/langGraphCheckpointTrustGate.js +124 -0
  185. package/dist/langGraphCheckpointTrustGate.js.map +1 -0
  186. package/dist/langGraphCheckpointTrustIneligibleCertificate.d.ts +8 -0
  187. package/dist/langGraphCheckpointTrustIneligibleCertificate.d.ts.map +1 -0
  188. package/dist/langGraphCheckpointTrustIneligibleCertificate.js +17 -0
  189. package/dist/langGraphCheckpointTrustIneligibleCertificate.js.map +1 -0
  190. package/dist/langGraphCheckpointTrustUnsafeError.d.ts +8 -0
  191. package/dist/langGraphCheckpointTrustUnsafeError.d.ts.map +1 -0
  192. package/dist/langGraphCheckpointTrustUnsafeError.js +12 -0
  193. package/dist/langGraphCheckpointTrustUnsafeError.js.map +1 -0
  194. package/dist/loadEvents.d.ts +5 -0
  195. package/dist/loadEvents.d.ts.map +1 -1
  196. package/dist/loadEvents.js +32 -0
  197. package/dist/loadEvents.js.map +1 -1
  198. package/dist/operationalDisposition.d.ts +64 -0
  199. package/dist/operationalDisposition.d.ts.map +1 -1
  200. package/dist/operationalDisposition.js +64 -0
  201. package/dist/operationalDisposition.js.map +1 -1
  202. package/dist/outcomeCertificate.d.ts +14 -2
  203. package/dist/outcomeCertificate.d.ts.map +1 -1
  204. package/dist/outcomeCertificate.js +119 -0
  205. package/dist/outcomeCertificate.js.map +1 -1
  206. package/dist/outcomeCertificate.test.js +2 -0
  207. package/dist/outcomeCertificate.test.js.map +1 -1
  208. package/dist/pipeline.d.ts +19 -17
  209. package/dist/pipeline.d.ts.map +1 -1
  210. package/dist/pipeline.js +61 -167
  211. package/dist/pipeline.js.map +1 -1
  212. package/dist/publicDistribution.generated.d.ts +2 -2
  213. package/dist/publicDistribution.generated.d.ts.map +1 -1
  214. package/dist/publicDistribution.generated.js +7 -8
  215. package/dist/publicDistribution.generated.js.map +1 -1
  216. package/dist/quickVerify/quickVerifyScope.d.ts +1 -1
  217. package/dist/quickVerify/quickVerifyScope.js +1 -1
  218. package/dist/quickVerify/runQuickVerify.js +1 -1
  219. package/dist/quickVerify/runQuickVerify.js.map +1 -1
  220. package/dist/quickVerify/verifyExecution.d.ts +1 -1
  221. package/dist/quickVerify/verifyExecution.d.ts.map +1 -1
  222. package/dist/quickVerify/verifyExecution.js +3 -2
  223. package/dist/quickVerify/verifyExecution.js.map +1 -1
  224. package/dist/reconciler.d.ts +6 -2
  225. package/dist/reconciler.d.ts.map +1 -1
  226. package/dist/reconciler.js +17 -11
  227. package/dist/reconciler.js.map +1 -1
  228. package/dist/registryDraft/createRegistryDraftAjv.d.ts +1 -1
  229. package/dist/registryDraft/createRegistryDraftAjv.js +1 -1
  230. package/dist/regressionArtifact.d.ts +63 -0
  231. package/dist/regressionArtifact.d.ts.map +1 -0
  232. package/dist/regressionArtifact.js +290 -0
  233. package/dist/regressionArtifact.js.map +1 -0
  234. package/dist/relationalInvariant.d.ts +13 -3
  235. package/dist/relationalInvariant.d.ts.map +1 -1
  236. package/dist/relationalInvariant.existsSql.test.js +1 -1
  237. package/dist/relationalInvariant.existsSql.test.js.map +1 -1
  238. package/dist/relationalInvariant.js +59 -39
  239. package/dist/relationalInvariant.js.map +1 -1
  240. package/dist/relationalInvariant.test.js +2 -2
  241. package/dist/relationalInvariant.test.js.map +1 -1
  242. package/dist/resolveExpectation.d.ts +18 -2
  243. package/dist/resolveExpectation.d.ts.map +1 -1
  244. package/dist/resolveExpectation.js +332 -1
  245. package/dist/resolveExpectation.js.map +1 -1
  246. package/dist/resolveExpectation.test.js +25 -0
  247. package/dist/resolveExpectation.test.js.map +1 -1
  248. package/dist/runComparison.d.ts +0 -1
  249. package/dist/runComparison.d.ts.map +1 -1
  250. package/dist/runComparison.js +18 -86
  251. package/dist/runComparison.js.map +1 -1
  252. package/dist/runComparison.test.js +101 -57
  253. package/dist/runComparison.test.js.map +1 -1
  254. package/dist/schema-validation.test.js +29 -0
  255. package/dist/schema-validation.test.js.map +1 -1
  256. package/dist/schemaLoad.d.ts +1 -1
  257. package/dist/schemaLoad.d.ts.map +1 -1
  258. package/dist/schemaLoad.js +10 -0
  259. package/dist/schemaLoad.js.map +1 -1
  260. package/dist/sortedJsonStringify.d.ts +2 -0
  261. package/dist/sortedJsonStringify.d.ts.map +1 -0
  262. package/dist/sortedJsonStringify.js +23 -0
  263. package/dist/sortedJsonStringify.js.map +1 -0
  264. package/dist/sqlDialect.d.ts +8 -0
  265. package/dist/sqlDialect.d.ts.map +1 -0
  266. package/dist/sqlDialect.js +37 -0
  267. package/dist/sqlDialect.js.map +1 -0
  268. package/dist/standardVerifyWorkflowCli.d.ts +6 -1
  269. package/dist/standardVerifyWorkflowCli.d.ts.map +1 -1
  270. package/dist/standardVerifyWorkflowCli.js +24 -5
  271. package/dist/standardVerifyWorkflowCli.js.map +1 -1
  272. package/dist/stateWitness.d.ts +4 -0
  273. package/dist/stateWitness.d.ts.map +1 -0
  274. package/dist/stateWitness.js +383 -0
  275. package/dist/stateWitness.js.map +1 -0
  276. package/dist/stateWitness.test.d.ts +2 -0
  277. package/dist/stateWitness.test.d.ts.map +1 -0
  278. package/dist/stateWitness.test.js +120 -0
  279. package/dist/stateWitness.test.js.map +1 -0
  280. package/dist/telemetry/maybeEmitOssClaimTicketUrl.d.ts +2 -0
  281. package/dist/telemetry/maybeEmitOssClaimTicketUrl.d.ts.map +1 -1
  282. package/dist/telemetry/maybeEmitOssClaimTicketUrl.js +13 -2
  283. package/dist/telemetry/maybeEmitOssClaimTicketUrl.js.map +1 -1
  284. package/dist/telemetry/ossClaimOrigin.d.ts +1 -1
  285. package/dist/telemetry/ossClaimOrigin.js +1 -1
  286. package/dist/telemetry/postOssClaimContinuation.d.ts +1 -1
  287. package/dist/telemetry/postOssClaimContinuation.d.ts.map +1 -1
  288. package/dist/telemetry/postOssClaimContinuation.js +10 -6
  289. package/dist/telemetry/postOssClaimContinuation.js.map +1 -1
  290. package/dist/telemetry/postOssClaimTicket.d.ts +8 -0
  291. package/dist/telemetry/postOssClaimTicket.d.ts.map +1 -1
  292. package/dist/telemetry/postOssClaimTicket.js +31 -5
  293. package/dist/telemetry/postOssClaimTicket.js.map +1 -1
  294. package/dist/telemetry/verificationHypothesisContract.d.ts +1 -1
  295. package/dist/telemetry/verificationHypothesisContract.js +1 -1
  296. package/dist/trustDecision.d.ts +8 -0
  297. package/dist/trustDecision.d.ts.map +1 -0
  298. package/dist/trustDecision.js +13 -0
  299. package/dist/trustDecision.js.map +1 -0
  300. package/dist/types.d.ts +139 -7
  301. package/dist/types.d.ts.map +1 -1
  302. package/dist/types.js.map +1 -1
  303. package/dist/verificationConnections.d.ts +10 -0
  304. package/dist/verificationConnections.d.ts.map +1 -0
  305. package/dist/verificationConnections.js +190 -0
  306. package/dist/verificationConnections.js.map +1 -0
  307. package/dist/verificationDatabaseUrl.d.ts +11 -0
  308. package/dist/verificationDatabaseUrl.d.ts.map +1 -0
  309. package/dist/verificationDatabaseUrl.js +41 -0
  310. package/dist/verificationDatabaseUrl.js.map +1 -0
  311. package/dist/verificationDatabaseUrl.test.d.ts +2 -0
  312. package/dist/verificationDatabaseUrl.test.d.ts.map +1 -0
  313. package/dist/verificationDatabaseUrl.test.js +66 -0
  314. package/dist/verificationDatabaseUrl.test.js.map +1 -0
  315. package/dist/verificationDiagnostics.d.ts.map +1 -1
  316. package/dist/verificationDiagnostics.js +33 -9
  317. package/dist/verificationDiagnostics.js.map +1 -1
  318. package/dist/verificationDiagnostics.test.js +15 -0
  319. package/dist/verificationDiagnostics.test.js.map +1 -1
  320. package/dist/verificationPolicy.d.ts +2 -1
  321. package/dist/verificationPolicy.d.ts.map +1 -1
  322. package/dist/verificationPolicy.js +97 -0
  323. package/dist/verificationPolicy.js.map +1 -1
  324. package/dist/verificationPolicy.test.js +7 -0
  325. package/dist/verificationPolicy.test.js.map +1 -1
  326. package/dist/verificationRunContext.d.ts.map +1 -1
  327. package/dist/verificationRunContext.js +3 -0
  328. package/dist/verificationRunContext.js.map +1 -1
  329. package/dist/verificationUserPhrases.d.ts.map +1 -1
  330. package/dist/verificationUserPhrases.js +21 -0
  331. package/dist/verificationUserPhrases.js.map +1 -1
  332. package/dist/verify/batchVerifyTelemetrySubcommand.d.ts.map +1 -1
  333. package/dist/verify/batchVerifyTelemetrySubcommand.js +115 -20
  334. package/dist/verify/batchVerifyTelemetrySubcommand.js.map +1 -1
  335. package/dist/verifyAgentskeptic.d.ts +3 -4
  336. package/dist/verifyAgentskeptic.d.ts.map +1 -1
  337. package/dist/verifyAgentskeptic.js +15 -27
  338. package/dist/verifyAgentskeptic.js.map +1 -1
  339. package/dist/verifyRunStateFromBufferedRunEvents.d.ts +18 -0
  340. package/dist/verifyRunStateFromBufferedRunEvents.d.ts.map +1 -0
  341. package/dist/verifyRunStateFromBufferedRunEvents.js +65 -0
  342. package/dist/verifyRunStateFromBufferedRunEvents.js.map +1 -0
  343. package/dist/vitestMonorepoRoot.d.ts +10 -0
  344. package/dist/vitestMonorepoRoot.d.ts.map +1 -0
  345. package/dist/vitestMonorepoRoot.js +97 -0
  346. package/dist/vitestMonorepoRoot.js.map +1 -0
  347. package/dist/wireReasonCodes.d.ts +21 -0
  348. package/dist/wireReasonCodes.d.ts.map +1 -1
  349. package/dist/wireReasonCodes.js +21 -0
  350. package/dist/wireReasonCodes.js.map +1 -1
  351. package/package.json +62 -40
  352. package/schemas/assurance-output-v1.schema.json +81 -0
  353. package/schemas/compare-run-manifest-v1.schema.json +65 -0
  354. package/schemas/conformance-normalized-result.schema.json +73 -0
  355. package/schemas/connector-capabilities.schema.json +38 -0
  356. package/schemas/event.schema.json +35 -0
  357. package/schemas/execution-trace-view.schema.json +1 -1
  358. package/schemas/openapi-commercial-v1.in.yaml +613 -14
  359. package/schemas/openapi-commercial-v1.yaml +613 -14
  360. package/schemas/outcome-certificate-v1.schema.json +25 -2
  361. package/schemas/quick-verify-report.schema.json +1 -1
  362. package/schemas/regression-artifact-v1.schema.json +212 -0
  363. package/schemas/tools-registry.schema.json +103 -0
  364. package/schemas/workflow-engine-result.schema.json +71 -2
  365. package/schemas/workflow-truth-report.schema.json +12 -0
  366. package/scripts/discovery-acquisition.lib.cjs +60 -97
  367. package/scripts/discovery-payload.lib.cjs +41 -7
  368. package/scripts/emit-primary-marketing.cjs +326 -0
  369. package/scripts/origin.cjs +52 -0
  370. package/scripts/public-product-anchors.cjs +3 -0
  371. package/scripts/validate-marketing.cjs +156 -0
  372. package/dist/withWorkflowVerification.persistBundle.test.d.ts +0 -2
  373. package/dist/withWorkflowVerification.persistBundle.test.d.ts.map +0 -1
  374. package/dist/withWorkflowVerification.persistBundle.test.js.map +0 -1
@@ -0,0 +1,120 @@
1
+ import { describe, it, expect, vi, afterEach } from "vitest";
2
+ const s3Send = vi.hoisted(() => vi.fn());
3
+ vi.mock("@aws-sdk/client-s3", () => ({
4
+ S3Client: class MockS3Client {
5
+ send = s3Send;
6
+ },
7
+ HeadObjectCommand: class HeadObjectCommand {
8
+ input;
9
+ constructor(input) {
10
+ this.input = input;
11
+ }
12
+ },
13
+ GetObjectCommand: class GetObjectCommand {
14
+ input;
15
+ constructor(input) {
16
+ this.input = input;
17
+ }
18
+ },
19
+ }));
20
+ import { reconcileStateWitness } from "./stateWitness.js";
21
+ describe("reconcileStateWitness", () => {
22
+ afterEach(() => {
23
+ vi.unstubAllGlobals();
24
+ vi.restoreAllMocks();
25
+ s3Send.mockReset();
26
+ });
27
+ describe("http_witness", () => {
28
+ it("returns verified when status and JSON assertions match", async () => {
29
+ vi.stubGlobal("fetch", vi.fn(async () => new Response(JSON.stringify({ ok: true, n: 1 }), { status: 200 })));
30
+ const out = await reconcileStateWitness({
31
+ kind: "http_witness",
32
+ method: "GET",
33
+ url: "http://witness.test/health",
34
+ expectedStatus: 200,
35
+ assertions: [{ jsonPointer: "/ok", value: true }],
36
+ });
37
+ expect(out.status).toBe("verified");
38
+ });
39
+ it("returns inconsistent on HTTP status mismatch", async () => {
40
+ vi.stubGlobal("fetch", vi.fn(async () => new Response(JSON.stringify({}), { status: 500 })));
41
+ const out = await reconcileStateWitness({
42
+ kind: "http_witness",
43
+ method: "GET",
44
+ url: "http://witness.test/x",
45
+ expectedStatus: 200,
46
+ });
47
+ expect(out.status).toBe("inconsistent");
48
+ expect(out.reasons[0]?.code).toBe("HTTP_WITNESS_STATUS_MISMATCH");
49
+ });
50
+ });
51
+ describe("vector_document (pinecone)", () => {
52
+ it("returns verified when fetch returns matching vector metadata", async () => {
53
+ const prevHost = process.env.PINECONE_INDEX_HOST;
54
+ const prevKey = process.env.PINECONE_API_KEY;
55
+ process.env.PINECONE_INDEX_HOST = "https://pinecone.test";
56
+ process.env.PINECONE_API_KEY = "secret";
57
+ try {
58
+ vi.stubGlobal("fetch", vi.fn(async () => new Response(JSON.stringify({
59
+ vectors: { "doc-1": { metadata: { tier: "gold" } } },
60
+ }), { status: 200 })));
61
+ const out = await reconcileStateWitness({
62
+ kind: "vector_document",
63
+ provider: "pinecone",
64
+ documentId: "doc-1",
65
+ indexName: "idx",
66
+ metadataSubset: { tier: "gold" },
67
+ });
68
+ expect(out.status).toBe("verified");
69
+ }
70
+ finally {
71
+ if (prevHost === undefined)
72
+ delete process.env.PINECONE_INDEX_HOST;
73
+ else
74
+ process.env.PINECONE_INDEX_HOST = prevHost;
75
+ if (prevKey === undefined)
76
+ delete process.env.PINECONE_API_KEY;
77
+ else
78
+ process.env.PINECONE_API_KEY = prevKey;
79
+ }
80
+ });
81
+ });
82
+ describe("object_storage_object", () => {
83
+ it("returns verified when HeadObject matches size and ETag", async () => {
84
+ s3Send.mockResolvedValueOnce({ ContentLength: 3, ETag: '"abc"' });
85
+ const out = await reconcileStateWitness({
86
+ kind: "object_storage_object",
87
+ bucket: "b",
88
+ key: "k",
89
+ expectSizeBytes: 3,
90
+ expectEtag: "abc",
91
+ });
92
+ expect(out.status).toBe("verified");
93
+ expect(s3Send).toHaveBeenCalledTimes(1);
94
+ });
95
+ it("returns inconsistent on ETag mismatch", async () => {
96
+ s3Send.mockResolvedValueOnce({ ContentLength: 3, ETag: '"wrong"' });
97
+ const out = await reconcileStateWitness({
98
+ kind: "object_storage_object",
99
+ bucket: "b",
100
+ key: "k",
101
+ expectEtag: "expected",
102
+ });
103
+ expect(out.status).toBe("inconsistent");
104
+ expect(out.reasons[0]?.code).toBe("OBJECT_DIGEST_MISMATCH");
105
+ });
106
+ it("returns inconsistent when full-object hash requested over byte cap", async () => {
107
+ const big = 11 * 1024 * 1024;
108
+ s3Send.mockResolvedValueOnce({ ContentLength: big, ETag: '"x"' });
109
+ const out = await reconcileStateWitness({
110
+ kind: "object_storage_object",
111
+ bucket: "b",
112
+ key: "k",
113
+ expectSha256: "a".repeat(64),
114
+ });
115
+ expect(out.status).toBe("inconsistent");
116
+ expect(out.reasons[0]?.code).toBe("OBJECT_TOO_LARGE_FOR_HASH");
117
+ });
118
+ });
119
+ });
120
+ //# sourceMappingURL=stateWitness.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateWitness.test.js","sourceRoot":"","sources":["../src/stateWitness.test.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,7 @@ export declare function maybeEmitOssClaimTicketUrlToStderr(input: {
4
4
  workload_class: "bundled_examples" | "non_bundled";
5
5
  subcommand: "batch_verify" | "quick_verify" | "verify_integrator_owned";
6
6
  build_profile: "oss" | "commercial";
7
+ /** When set, reused for claim-ticket + claim-continuation HTTP `x-request-id`. */
8
+ xRequestId?: string;
7
9
  }): Promise<void>;
8
10
  //# sourceMappingURL=maybeEmitOssClaimTicketUrl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"maybeEmitOssClaimTicketUrl.d.ts","sourceRoot":"","sources":["../../src/telemetry/maybeEmitOssClaimTicketUrl.ts"],"names":[],"mappings":"AAMA,wBAAsB,kCAAkC,CAAC,KAAK,EAAE;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;IAC5D,cAAc,EAAE,kBAAkB,GAAG,aAAa,CAAC;IACnD,UAAU,EAAE,cAAc,GAAG,cAAc,GAAG,yBAAyB,CAAC;IACxE,aAAa,EAAE,KAAK,GAAG,YAAY,CAAC;CACrC,GAAG,OAAO,CAAC,IAAI,CAAC,CAuChB"}
1
+ {"version":3,"file":"maybeEmitOssClaimTicketUrl.d.ts","sourceRoot":"","sources":["../../src/telemetry/maybeEmitOssClaimTicketUrl.ts"],"names":[],"mappings":"AAOA,wBAAsB,kCAAkC,CAAC,KAAK,EAAE;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;IAC5D,cAAc,EAAE,kBAAkB,GAAG,aAAa,CAAC;IACnD,UAAU,EAAE,cAAc,GAAG,cAAc,GAAG,yBAAyB,CAAC;IACxE,aAAa,EAAE,KAAK,GAAG,YAAY,CAAC;IACpC,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDhB"}
@@ -1,5 +1,6 @@
1
1
  import { randomBytes } from "node:crypto";
2
2
  import { LICENSE_PREFLIGHT_ENABLED } from "../generated/commercialBuildFlags.js";
3
+ import { newActivationHttpCorrelationId } from "../commercial/activationCorrelation.js";
3
4
  import { openHandoffUrlInOsBrowser } from "./openHandoffUrlInOsBrowser.js";
4
5
  import { postOssClaimContinuation } from "./postOssClaimContinuation.js";
5
6
  import { postOssClaimTicket } from "./postOssClaimTicket.js";
@@ -15,17 +16,19 @@ export async function maybeEmitOssClaimTicketUrlToStderr(input) {
15
16
  const interactiveHuman = Boolean(process.stdout.isTTY) &&
16
17
  Boolean(process.stderr.isTTY) &&
17
18
  String(process.env.CI).toLowerCase() !== "true";
19
+ const xRequestId = input.xRequestId?.trim() || newActivationHttpCorrelationId();
18
20
  const r = await postOssClaimTicket({
19
21
  claim_secret,
20
22
  issued_at,
21
23
  ...input,
22
24
  interactive_human: interactiveHuman ? true : undefined,
25
+ xRequestId,
23
26
  });
24
27
  if (r.outcome === "ok") {
25
28
  if (interactiveHuman) {
26
29
  const { ok } = await openHandoffUrlInOsBrowser(r.handoff_url);
27
30
  if (ok) {
28
- await postOssClaimContinuation(claim_secret);
31
+ await postOssClaimContinuation(claim_secret, xRequestId);
29
32
  }
30
33
  }
31
34
  console.error(`[agentskeptic] Link this verification run to your account: ${r.handoff_url} — open the link, then sign in with email when prompted.`);
@@ -35,6 +38,14 @@ export async function maybeEmitOssClaimTicketUrlToStderr(input) {
35
38
  console.error("[agentskeptic] This verification run was already linked to an account. Open the product site and sign in to manage your account, or run verify again for a new run.");
36
39
  return;
37
40
  }
38
- console.error("[agentskeptic] Could not register a claim link (network). When you are online, run verify again to get a new link, or sign in at the product site without this shortcut.");
41
+ if (r.outcome === "rate_limited") {
42
+ console.error(`[agentskeptic] Could not register a claim link (rate limited). x-request-id=${xRequestId}`);
43
+ return;
44
+ }
45
+ if (r.outcome === "forbidden" || r.outcome === "bad_request") {
46
+ console.error(`[agentskeptic] Could not register a claim link (${r.outcome}). x-request-id=${xRequestId}`);
47
+ return;
48
+ }
49
+ console.error(`[agentskeptic] Could not register a claim link (network). x-request-id=${xRequestId} When you are online, run verify again to get a new link, or sign in at the product site without this shortcut.`);
39
50
  }
40
51
  //# sourceMappingURL=maybeEmitOssClaimTicketUrl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"maybeEmitOssClaimTicketUrl.js","sourceRoot":"","sources":["../../src/telemetry/maybeEmitOssClaimTicketUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,KAAK,UAAU,kCAAkC,CAAC,KAMxD;IACC,IAAI,yBAAyB;QAAE,OAAO;IACtC,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,EAAE,KAAK,GAAG;QAAE,OAAO;IACtE,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,KAAK,GAAG;QAAE,OAAO;IAE/D,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,gBAAgB,GACpB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;IAElD,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC;QACjC,YAAY;QACZ,SAAS;QACT,GAAG,KAAK;QACR,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;KACvD,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QACvB,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,yBAAyB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC9D,IAAI,EAAE,EAAE,CAAC;gBACP,MAAM,wBAAwB,CAAC,YAAY,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,OAAO,CAAC,KAAK,CACX,8DAA8D,CAAC,CAAC,WAAW,0DAA0D,CACtI,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CACX,qKAAqK,CACtK,CAAC;QACF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,KAAK,CACX,0KAA0K,CAC3K,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"maybeEmitOssClaimTicketUrl.js","sourceRoot":"","sources":["../../src/telemetry/maybeEmitOssClaimTicketUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,KAAK,UAAU,kCAAkC,CAAC,KAQxD;IACC,IAAI,yBAAyB;QAAE,OAAO;IACtC,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,EAAE,KAAK,GAAG;QAAE,OAAO;IACtE,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,KAAK,GAAG;QAAE,OAAO;IAE/D,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,gBAAgB,GACpB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;IAElD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,8BAA8B,EAAE,CAAC;IAEhF,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC;QACjC,YAAY;QACZ,SAAS;QACT,GAAG,KAAK;QACR,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACtD,UAAU;KACX,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QACvB,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,yBAAyB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC9D,IAAI,EAAE,EAAE,CAAC;gBACP,MAAM,wBAAwB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,OAAO,CAAC,KAAK,CACX,8DAA8D,CAAC,CAAC,WAAW,0DAA0D,CACtI,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CACX,qKAAqK,CACtK,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CACX,+EAA+E,UAAU,EAAE,CAC5F,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QAC7D,OAAO,CAAC,KAAK,CACX,mDAAmD,CAAC,CAAC,OAAO,mBAAmB,UAAU,EAAE,CAC5F,CAAC;QACF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,KAAK,CACX,0EAA0E,UAAU,iHAAiH,CACtM,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * OSS claim-ticket POST base (v1): canonical public site origin only — no env overrides.
3
- * Normative: docs/oss-account-claim-ssot.md
3
+ * Normative: docs/oss-account-claim.md
4
4
  */
5
5
  export declare function resolveOssClaimApiOrigin(): string;
6
6
  //# sourceMappingURL=ossClaimOrigin.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { PUBLIC_CANONICAL_SITE_ORIGIN } from "../publicDistribution.generated.js";
2
2
  /**
3
3
  * OSS claim-ticket POST base (v1): canonical public site origin only — no env overrides.
4
- * Normative: docs/oss-account-claim-ssot.md
4
+ * Normative: docs/oss-account-claim.md
5
5
  */
6
6
  export function resolveOssClaimApiOrigin() {
7
7
  return PUBLIC_CANONICAL_SITE_ORIGIN.replace(/\/$/, "");
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * POST /api/oss/claim-continuation — records `browser_open_invoked_at` once (interactive-human tickets only).
3
3
  */
4
- export declare function postOssClaimContinuation(claimSecret: string): Promise<boolean>;
4
+ export declare function postOssClaimContinuation(claimSecret: string, xRequestId?: string): Promise<boolean>;
5
5
  //# sourceMappingURL=postOssClaimContinuation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postOssClaimContinuation.d.ts","sourceRoot":"","sources":["../../src/telemetry/postOssClaimContinuation.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBpF"}
1
+ {"version":3,"file":"postOssClaimContinuation.d.ts","sourceRoot":"","sources":["../../src/telemetry/postOssClaimContinuation.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CA2BlB"}
@@ -6,19 +6,23 @@ const OSS_CLAIM_CONTINUATION_FETCH_TIMEOUT_MS = 400;
6
6
  /**
7
7
  * POST /api/oss/claim-continuation — records `browser_open_invoked_at` once (interactive-human tickets only).
8
8
  */
9
- export async function postOssClaimContinuation(claimSecret) {
9
+ export async function postOssClaimContinuation(claimSecret, xRequestId) {
10
10
  if (process.env.AGENTSKEPTIC_TELEMETRY?.trim() === "0")
11
11
  return false;
12
12
  const base = resolveOssClaimApiOrigin();
13
13
  const url = `${base}/api/oss/claim-continuation`;
14
+ const headers = {
15
+ "Content-Type": "application/json",
16
+ [PRODUCT_ACTIVATION_CLI_PRODUCT_HEADER]: PRODUCT_ACTIVATION_CLI_PRODUCT_VALUE,
17
+ [PRODUCT_ACTIVATION_CLI_VERSION_HEADER]: AGENTSKEPTIC_CLI_SEMVER,
18
+ };
19
+ if (xRequestId?.trim()) {
20
+ headers["x-request-id"] = xRequestId.trim();
21
+ }
14
22
  try {
15
23
  const res = await fetchWithTimeout(url, {
16
24
  method: "POST",
17
- headers: {
18
- "Content-Type": "application/json",
19
- [PRODUCT_ACTIVATION_CLI_PRODUCT_HEADER]: PRODUCT_ACTIVATION_CLI_PRODUCT_VALUE,
20
- [PRODUCT_ACTIVATION_CLI_VERSION_HEADER]: AGENTSKEPTIC_CLI_SEMVER,
21
- },
25
+ headers,
22
26
  body: JSON.stringify({ claim_secret: claimSecret }),
23
27
  }, OSS_CLAIM_CONTINUATION_FETCH_TIMEOUT_MS);
24
28
  return res.status === 204;
@@ -1 +1 @@
1
- {"version":3,"file":"postOssClaimContinuation.js","sourceRoot":"","sources":["../../src/telemetry/postOssClaimContinuation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,qCAAqC,EACrC,oCAAoC,EACpC,qCAAqC,GACtC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,uCAAuC,GAAG,GAAG,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,WAAmB;IAChE,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAErE,MAAM,IAAI,GAAG,wBAAwB,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,GAAG,IAAI,6BAA6B,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAChC,GAAG,EACH;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,CAAC,qCAAqC,CAAC,EAAE,oCAAoC;gBAC7E,CAAC,qCAAqC,CAAC,EAAE,uBAAuB;aACjE;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;SACpD,EACD,uCAAuC,CACxC,CAAC;QACF,OAAO,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"postOssClaimContinuation.js","sourceRoot":"","sources":["../../src/telemetry/postOssClaimContinuation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,qCAAqC,EACrC,oCAAoC,EACpC,qCAAqC,GACtC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,uCAAuC,GAAG,GAAG,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,WAAmB,EACnB,UAAmB;IAEnB,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAErE,MAAM,IAAI,GAAG,wBAAwB,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,GAAG,IAAI,6BAA6B,CAAC;IACjD,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,CAAC,qCAAqC,CAAC,EAAE,oCAAoC;QAC7E,CAAC,qCAAqC,CAAC,EAAE,uBAAuB;KACjE,CAAC;IACF,IAAI,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAChC,GAAG,EACH;YACE,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;SACpD,EACD,uCAAuC,CACxC,CAAC;QACF,OAAO,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -8,12 +8,20 @@ export type PostOssClaimTicketInput = {
8
8
  build_profile: "oss" | "commercial";
9
9
  /** Mint-time interactive human cohort (`D_ihm`); must match CLI TTY rule in journey SSOT. */
10
10
  interactive_human?: boolean;
11
+ /** Echoed as `x-request-id` (match claim-continuation for the same ticket). */
12
+ xRequestId?: string;
11
13
  };
12
14
  export type PostOssClaimTicketResult = {
13
15
  outcome: "ok";
14
16
  handoff_url: string;
15
17
  } | {
16
18
  outcome: "already_claimed";
19
+ } | {
20
+ outcome: "rate_limited";
21
+ } | {
22
+ outcome: "forbidden";
23
+ } | {
24
+ outcome: "bad_request";
17
25
  } | {
18
26
  outcome: "failed";
19
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"postOssClaimTicket.d.ts","sourceRoot":"","sources":["../../src/telemetry/postOssClaimTicket.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;IAC5D,cAAc,EAAE,kBAAkB,GAAG,aAAa,CAAC;IACnD,UAAU,EAAE,cAAc,GAAG,cAAc,GAAG,yBAAyB,CAAC;IACxE,aAAa,EAAE,KAAK,GAAG,YAAY,CAAC;IACpC,6FAA6F;IAC7F,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,OAAO,EAAE,iBAAiB,CAAA;CAAE,GAC9B;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;AAuD1B;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAS1G"}
1
+ {"version":3,"file":"postOssClaimTicket.d.ts","sourceRoot":"","sources":["../../src/telemetry/postOssClaimTicket.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;IAC5D,cAAc,EAAE,kBAAkB,GAAG,aAAa,CAAC;IACnD,UAAU,EAAE,cAAc,GAAG,cAAc,GAAG,yBAAyB,CAAC;IACxE,aAAa,EAAE,KAAK,GAAG,YAAY,CAAC;IACpC,6FAA6F;IAC7F,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,OAAO,EAAE,iBAAiB,CAAA;CAAE,GAC9B;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,GAC3B;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,GACxB;IAAE,OAAO,EAAE,aAAa,CAAA;CAAE,GAC1B;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;AA6E1B;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAU1G"}
@@ -8,20 +8,29 @@ const RETRY_MS = [250, 750, 2250];
8
8
  function sleep(ms) {
9
9
  return new Promise((r) => setTimeout(r, ms));
10
10
  }
11
+ function readProblemCode(j) {
12
+ if (!j || typeof j.code !== "string")
13
+ return undefined;
14
+ return j.code;
15
+ }
11
16
  async function postOssClaimTicketOnce(input) {
12
17
  if (process.env.AGENTSKEPTIC_TELEMETRY?.trim() === "0")
13
18
  return { outcome: "failed" };
14
19
  const base = resolveOssClaimApiOrigin();
15
20
  const url = `${base}/api/oss/claim-ticket`;
16
21
  const telemetry_source = resolveTelemetrySource();
22
+ const headers = {
23
+ "Content-Type": "application/json",
24
+ [PRODUCT_ACTIVATION_CLI_PRODUCT_HEADER]: PRODUCT_ACTIVATION_CLI_PRODUCT_VALUE,
25
+ [PRODUCT_ACTIVATION_CLI_VERSION_HEADER]: AGENTSKEPTIC_CLI_SEMVER,
26
+ };
27
+ if (input.xRequestId?.trim()) {
28
+ headers["x-request-id"] = input.xRequestId.trim();
29
+ }
17
30
  try {
18
31
  const res = await fetchWithTimeout(url, {
19
32
  method: "POST",
20
- headers: {
21
- "Content-Type": "application/json",
22
- [PRODUCT_ACTIVATION_CLI_PRODUCT_HEADER]: PRODUCT_ACTIVATION_CLI_PRODUCT_VALUE,
23
- [PRODUCT_ACTIVATION_CLI_VERSION_HEADER]: AGENTSKEPTIC_CLI_SEMVER,
24
- },
33
+ headers,
25
34
  body: JSON.stringify({
26
35
  schema_version: 2,
27
36
  telemetry_source,
@@ -48,6 +57,21 @@ async function postOssClaimTicketOnce(input) {
48
57
  if (res.status === 204) {
49
58
  return { outcome: "already_claimed" };
50
59
  }
60
+ if (res.status === 429) {
61
+ return { outcome: "rate_limited" };
62
+ }
63
+ if (res.status === 403) {
64
+ return { outcome: "forbidden" };
65
+ }
66
+ if (res.status === 400 || res.status === 413) {
67
+ const j = (await res.json().catch(() => null));
68
+ const c = readProblemCode(j);
69
+ if (c === "RATE_LIMITED")
70
+ return { outcome: "rate_limited" };
71
+ if (c === "FORBIDDEN")
72
+ return { outcome: "forbidden" };
73
+ return { outcome: "bad_request" };
74
+ }
51
75
  return { outcome: "failed" };
52
76
  }
53
77
  catch {
@@ -62,6 +86,8 @@ export async function postOssClaimTicket(input) {
62
86
  const r = await postOssClaimTicketOnce(input);
63
87
  if (r.outcome === "ok" || r.outcome === "already_claimed")
64
88
  return r;
89
+ if (r.outcome === "rate_limited" || r.outcome === "forbidden" || r.outcome === "bad_request")
90
+ return r;
65
91
  if (attempt < RETRY_MS.length) {
66
92
  await sleep(RETRY_MS[attempt]);
67
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"postOssClaimTicket.js","sourceRoot":"","sources":["../../src/telemetry/postOssClaimTicket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postOssClaimTicket.js","sourceRoot":"","sources":["../../src/telemetry/postOssClaimTicket.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Canonical rules for optional `verification_hypothesis` on product-activation wire (schema_version 2).
3
- * @see docs/funnel-observability-ssot.md (field semantics; charset lives only here).
3
+ * @see docs/funnel-observability.md (field semantics; charset lives only here).
4
4
  */
5
5
  export declare const VERIFICATION_HYPOTHESIS_MIN_LEN = 1;
6
6
  export declare const VERIFICATION_HYPOTHESIS_MAX_LEN = 240;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Canonical rules for optional `verification_hypothesis` on product-activation wire (schema_version 2).
3
- * @see docs/funnel-observability-ssot.md (field semantics; charset lives only here).
3
+ * @see docs/funnel-observability.md (field semantics; charset lives only here).
4
4
  */
5
5
  export const VERIFICATION_HYPOTHESIS_MIN_LEN = 1;
6
6
  export const VERIFICATION_HYPOTHESIS_MAX_LEN = 240;
@@ -0,0 +1,8 @@
1
+ import type { OutcomeCertificateV1 } from "./outcomeCertificate.js";
2
+ /** Sole operator-facing trust enum for high-stakes gating. */
3
+ export type TrustDecision = "safe" | "unsafe" | "unknown";
4
+ /**
5
+ * Derive trust from Outcome Certificate v1 (normative: quick_preview is never high-stakes safe).
6
+ */
7
+ export declare function trustDecisionFromCertificate(certificate: OutcomeCertificateV1): TrustDecision;
8
+ //# sourceMappingURL=trustDecision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trustDecision.d.ts","sourceRoot":"","sources":["../src/trustDecision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,8DAA8D;AAC9D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE1D;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,oBAAoB,GAAG,aAAa,CAK7F"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Derive trust from Outcome Certificate v1 (normative: quick_preview is never high-stakes safe).
3
+ */
4
+ export function trustDecisionFromCertificate(certificate) {
5
+ if (certificate.runKind === "quick_preview")
6
+ return "unknown";
7
+ if (certificate.highStakesReliance === "permitted")
8
+ return "safe";
9
+ if (certificate.stateRelation === "does_not_match")
10
+ return "unsafe";
11
+ return "unknown";
12
+ }
13
+ //# sourceMappingURL=trustDecision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trustDecision.js","sourceRoot":"","sources":["../src/trustDecision.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,WAAiC;IAC5E,IAAI,WAAW,CAAC,OAAO,KAAK,eAAe;QAAE,OAAO,SAAS,CAAC;IAC9D,IAAI,WAAW,CAAC,kBAAkB,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;IAClE,IAAI,WAAW,CAAC,aAAa,KAAK,gBAAgB;QAAE,OAAO,QAAQ,CAAC;IACpE,OAAO,SAAS,CAAC;AACnB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -21,7 +21,25 @@ export type ToolObservedEventV2 = {
21
21
  params: Record<string, unknown>;
22
22
  timestamp?: string;
23
23
  };
24
- export type ToolObservedEvent = ToolObservedEventV1 | ToolObservedEventV2;
24
+ /** LangGraph checkpoint trust wire: v2 graph ids plus required checkpoint identity. */
25
+ export type LanggraphCheckpointRef = {
26
+ threadId: string;
27
+ checkpointNs: string;
28
+ checkpointId: string;
29
+ };
30
+ export type ToolObservedEventV3 = {
31
+ schemaVersion: 3;
32
+ workflowId: string;
33
+ runEventId: string;
34
+ parentRunEventId?: string;
35
+ type: "tool_observed";
36
+ seq: number;
37
+ toolId: string;
38
+ params: Record<string, unknown>;
39
+ timestamp?: string;
40
+ langgraphCheckpoint: LanggraphCheckpointRef;
41
+ };
42
+ export type ToolObservedEvent = ToolObservedEventV1 | ToolObservedEventV2 | ToolObservedEventV3;
25
43
  export type ModelTurnRunEvent = {
26
44
  schemaVersion: 2;
27
45
  workflowId: string;
@@ -216,6 +234,63 @@ export type SqlRelationalCheckSpec = {
216
234
  filterEqAnchor?: RegistryEqualityPair[];
217
235
  filterEqLookup?: RegistryEqualityPair[];
218
236
  };
237
+ /** String or JSON pointer in tools.json (const vs /path). */
238
+ export type RegistryStringSpec = {
239
+ const: string;
240
+ } | {
241
+ pointer: string;
242
+ };
243
+ export type RegistryNumberOrPointerSpec = {
244
+ const: number;
245
+ } | {
246
+ pointer: string;
247
+ };
248
+ export type VectorDocumentVerificationSpec = {
249
+ kind: "vector_document";
250
+ provider: "pinecone" | "weaviate" | "chroma";
251
+ documentId: RegistryStringSpec;
252
+ indexName: RegistryStringSpec;
253
+ namespace?: RegistryStringSpec;
254
+ host?: RegistryStringSpec;
255
+ metadataEq?: {
256
+ pointer: string;
257
+ };
258
+ expectPayloadSha256?: RegistryStringSpec;
259
+ };
260
+ export type ObjectStorageVerificationSpec = {
261
+ kind: "object_storage_object";
262
+ bucket: RegistryStringSpec;
263
+ key: RegistryStringSpec;
264
+ endpoint?: RegistryStringSpec;
265
+ expectSizeBytes?: RegistryNumberOrPointerSpec;
266
+ expectSha256?: RegistryStringSpec;
267
+ expectEtag?: RegistryStringSpec;
268
+ };
269
+ export type HttpWitnessAssertionSpec = {
270
+ jsonPointer: string;
271
+ value: {
272
+ const: string | number | boolean | null;
273
+ } | {
274
+ pointer: string;
275
+ };
276
+ };
277
+ export type HttpWitnessVerificationSpec = {
278
+ kind: "http_witness";
279
+ method?: "GET" | "POST";
280
+ url: RegistryStringSpec;
281
+ expectedStatus?: RegistryNumberOrPointerSpec;
282
+ assertions?: HttpWitnessAssertionSpec[];
283
+ };
284
+ export type MongoDocumentVerificationSpec = {
285
+ kind: "mongo_document";
286
+ collection: RegistryStringSpec;
287
+ filterPointer: {
288
+ pointer: string;
289
+ };
290
+ requiredFields: {
291
+ pointer: string;
292
+ };
293
+ };
219
294
  export type ToolRegistryVerification = ({
220
295
  kind: "sql_row";
221
296
  } & SqlRowVerificationSpec) | ({
@@ -228,7 +303,7 @@ export type ToolRegistryVerification = ({
228
303
  } | {
229
304
  kind: "sql_relational";
230
305
  checks: SqlRelationalCheckSpec[];
231
- };
306
+ } | VectorDocumentVerificationSpec | ObjectStorageVerificationSpec | HttpWitnessVerificationSpec | MongoDocumentVerificationSpec;
232
307
  export type ToolRegistryEntry = {
233
308
  toolId: string;
234
309
  effectDescriptionTemplate: string;
@@ -330,13 +405,59 @@ export type SqlRelationalVerificationPayload = {
330
405
  kind: "sql_relational";
331
406
  checks: ResolvedRelationalCheck[];
332
407
  };
333
- export type StepVerificationRequest = VerificationRequest | RowAbsentVerificationRequest | SqlEffectsVerificationPayload | SqlRelationalVerificationPayload | null;
408
+ export type VectorDocumentVerificationRequest = {
409
+ kind: "vector_document";
410
+ provider: "pinecone" | "weaviate" | "chroma";
411
+ documentId: string;
412
+ indexName: string;
413
+ namespace?: string;
414
+ host?: string;
415
+ metadataSubset?: Record<string, VerificationScalar>;
416
+ expectPayloadSha256?: string;
417
+ };
418
+ export type ObjectStorageVerificationRequest = {
419
+ kind: "object_storage_object";
420
+ bucket: string;
421
+ key: string;
422
+ endpoint?: string;
423
+ expectSizeBytes?: number;
424
+ expectSha256?: string;
425
+ expectEtag?: string;
426
+ };
427
+ export type HttpWitnessResolvedAssertion = {
428
+ jsonPointer: string;
429
+ value: VerificationScalar;
430
+ };
431
+ export type HttpWitnessVerificationRequest = {
432
+ kind: "http_witness";
433
+ method: "GET" | "POST";
434
+ url: string;
435
+ expectedStatus: number;
436
+ assertions?: HttpWitnessResolvedAssertion[];
437
+ };
438
+ export type MongoDocumentVerificationRequest = {
439
+ kind: "mongo_document";
440
+ collection: string;
441
+ filter: Record<string, unknown>;
442
+ requiredFields: Record<string, VerificationScalar>;
443
+ };
444
+ export type StateWitnessRequest = VectorDocumentVerificationRequest | ObjectStorageVerificationRequest | HttpWitnessVerificationRequest | MongoDocumentVerificationRequest;
445
+ export type StepVerificationRequest = VerificationRequest | RowAbsentVerificationRequest | SqlEffectsVerificationPayload | SqlRelationalVerificationPayload | VectorDocumentVerificationRequest | ObjectStorageVerificationRequest | HttpWitnessVerificationRequest | MongoDocumentVerificationRequest | null;
334
446
  export type StepStatus = "verified" | "missing" | "inconsistent" | "incomplete_verification" | "partially_verified" | "uncertain";
335
447
  /** Active verification timing/consistency contract (emitted on WorkflowResult). */
336
448
  export type VerificationPolicy = {
337
- consistencyMode: "strong" | "eventual";
449
+ consistencyMode: "strong";
450
+ verificationWindowMs: number;
451
+ pollIntervalMs: number;
452
+ } | {
453
+ consistencyMode: "eventual";
338
454
  verificationWindowMs: number;
339
455
  pollIntervalMs: number;
456
+ } | {
457
+ consistencyMode: "bounded";
458
+ verificationWindowMs: number;
459
+ pollIntervalMs: number;
460
+ maxStalenessMs: number;
340
461
  };
341
462
  export type Reason = {
342
463
  code: string;
@@ -368,6 +489,8 @@ export type StepOutcome = {
368
489
  evaluatedObservationOrdinal: number;
369
490
  /** Required when status is not verified; must be absent when status is verified. */
370
491
  failureDiagnostic?: FailureDiagnostic;
492
+ /** Present when source `tool_observed` was schemaVersion 3 (LangGraph checkpoint trust wire). */
493
+ langgraphCheckpointKey?: string;
371
494
  };
372
495
  export type WorkflowStatus = "complete" | "incomplete" | "inconsistent";
373
496
  export type EventSequenceIntegrity = {
@@ -384,7 +507,7 @@ export type VerificationRunContextLastEvent = {
384
507
  };
385
508
  /** Digest of v2 run graph + tool_observed positions; built at verify time from `runEvents`. */
386
509
  export type VerificationRunContext = {
387
- maxWireSchemaVersion: 1 | 2;
510
+ maxWireSchemaVersion: 1 | 2 | 3;
388
511
  retrievalEvents: Array<{
389
512
  ingestIndex: number;
390
513
  runEventId: string | null;
@@ -650,7 +773,7 @@ export type ExecutionTraceVerificationLink = {
650
773
  export type ExecutionTraceNode = {
651
774
  ingestIndex: number;
652
775
  runEventId: string;
653
- wireSchemaVersion: 1 | 2;
776
+ wireSchemaVersion: 1 | 2 | 3;
654
777
  wireType: RunEvent["type"];
655
778
  parentRunEventId: string | null;
656
779
  traceStepKind: TraceStepKind;
@@ -695,12 +818,21 @@ export type LoadEventsResult = {
695
818
  malformedEventLineCount: number;
696
819
  eventFileAggregateCounts: EventFileAggregateCounts;
697
820
  };
698
- /** Batch / CLI verification target (`verifyWorkflow`). In-process hook remains SQLite `dbPath` only. */
821
+ /** Batch / CLI verification target (`verifyWorkflow`) and `createDecisionGate` (`databaseUrl`). */
699
822
  export type VerificationDatabase = {
700
823
  kind: "sqlite";
701
824
  path: string;
702
825
  } | {
703
826
  kind: "postgres";
704
827
  connectionString: string;
828
+ } | {
829
+ kind: "mysql";
830
+ connectionString: string;
831
+ } | {
832
+ kind: "bigquery";
833
+ connectionString: string;
834
+ } | {
835
+ kind: "sqlserver";
836
+ connectionString: string;
705
837
  };
706
838
  //# sourceMappingURL=types.d.ts.map