agentskeptic 0.2.0 → 1.0.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 (103) hide show
  1. package/README.md +69 -0
  2. package/dist/actionableFailure.remediationExhaustive.test.js +4 -4
  3. package/dist/actionableFailure.remediationExhaustive.test.js.map +1 -1
  4. package/dist/agentRunBundle.js +1 -2
  5. package/dist/agentRunBundle.js.map +1 -1
  6. package/dist/agentRunRecord.d.ts +5 -0
  7. package/dist/agentRunRecord.d.ts.map +1 -1
  8. package/dist/agentRunRecord.js +5 -0
  9. package/dist/agentRunRecord.js.map +1 -1
  10. package/dist/ciLockWorkflow.js +1 -1
  11. package/dist/cli/lockOrchestration.d.ts.map +1 -1
  12. package/dist/cli/lockOrchestration.js +40 -45
  13. package/dist/cli/lockOrchestration.js.map +1 -1
  14. package/dist/cli/lockOrchestration.test.js +6 -1
  15. package/dist/cli/lockOrchestration.test.js.map +1 -1
  16. package/dist/cli/runFunnelAnonSet.d.ts +18 -0
  17. package/dist/cli/runFunnelAnonSet.d.ts.map +1 -0
  18. package/dist/cli/runFunnelAnonSet.js +113 -0
  19. package/dist/cli/runFunnelAnonSet.js.map +1 -0
  20. package/dist/cli.js +31 -23
  21. package/dist/cli.js.map +1 -1
  22. package/dist/cliArgv.d.ts +2 -1
  23. package/dist/cliArgv.d.ts.map +1 -1
  24. package/dist/cliArgv.js +3 -2
  25. package/dist/cliArgv.js.map +1 -1
  26. package/dist/crossing/crossingDecisionReadyFooter.d.ts +1 -1
  27. package/dist/crossing/crossingDecisionReadyFooter.d.ts.map +1 -1
  28. package/dist/crossing/crossingDecisionReadyFooter.js +1 -1
  29. package/dist/crossing/crossingDecisionReadyFooter.js.map +1 -1
  30. package/dist/crossing/runCrossingSubcommand.js +8 -8
  31. package/dist/debugCorpus.d.ts +2 -5
  32. package/dist/debugCorpus.d.ts.map +1 -1
  33. package/dist/debugCorpus.js +2 -5
  34. package/dist/debugCorpus.js.map +1 -1
  35. package/dist/index.d.ts +7 -4
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +5 -3
  38. package/dist/index.js.map +1 -1
  39. package/dist/outcomeCertificate.d.ts +48 -0
  40. package/dist/outcomeCertificate.d.ts.map +1 -0
  41. package/dist/outcomeCertificate.js +135 -0
  42. package/dist/outcomeCertificate.js.map +1 -0
  43. package/dist/outcomeCertificate.test.d.ts +2 -0
  44. package/dist/outcomeCertificate.test.d.ts.map +1 -0
  45. package/dist/outcomeCertificate.test.js +72 -0
  46. package/dist/outcomeCertificate.test.js.map +1 -0
  47. package/dist/planTransition.test.js +4 -4
  48. package/dist/publicDistribution.generated.d.ts +1 -1
  49. package/dist/publicDistribution.generated.js +1 -1
  50. package/dist/schemaLoad.d.ts +1 -1
  51. package/dist/schemaLoad.d.ts.map +1 -1
  52. package/dist/schemaLoad.js +5 -0
  53. package/dist/schemaLoad.js.map +1 -1
  54. package/dist/shareReport/postPublicVerificationReport.d.ts +6 -0
  55. package/dist/shareReport/postPublicVerificationReport.d.ts.map +1 -1
  56. package/dist/shareReport/postPublicVerificationReport.js +3 -1
  57. package/dist/shareReport/postPublicVerificationReport.js.map +1 -1
  58. package/dist/standardVerifyWorkflowCli.d.ts +14 -4
  59. package/dist/standardVerifyWorkflowCli.d.ts.map +1 -1
  60. package/dist/standardVerifyWorkflowCli.js +35 -22
  61. package/dist/standardVerifyWorkflowCli.js.map +1 -1
  62. package/dist/telemetry/cliInstallId.d.ts +12 -0
  63. package/dist/telemetry/cliInstallId.d.ts.map +1 -1
  64. package/dist/telemetry/cliInstallId.js +46 -8
  65. package/dist/telemetry/cliInstallId.js.map +1 -1
  66. package/dist/telemetry/maybeEmitOssClaimTicketUrl.d.ts.map +1 -1
  67. package/dist/telemetry/maybeEmitOssClaimTicketUrl.js +24 -6
  68. package/dist/telemetry/maybeEmitOssClaimTicketUrl.js.map +1 -1
  69. package/dist/telemetry/openHandoffUrlInOsBrowser.d.ts +9 -0
  70. package/dist/telemetry/openHandoffUrlInOsBrowser.d.ts.map +1 -0
  71. package/dist/telemetry/openHandoffUrlInOsBrowser.js +24 -0
  72. package/dist/telemetry/openHandoffUrlInOsBrowser.js.map +1 -0
  73. package/dist/telemetry/postOssClaimContinuation.d.ts +5 -0
  74. package/dist/telemetry/postOssClaimContinuation.d.ts.map +1 -0
  75. package/dist/telemetry/postOssClaimContinuation.js +30 -0
  76. package/dist/telemetry/postOssClaimContinuation.js.map +1 -0
  77. package/dist/telemetry/postOssClaimTicket.d.ts +12 -2
  78. package/dist/telemetry/postOssClaimTicket.d.ts.map +1 -1
  79. package/dist/telemetry/postOssClaimTicket.js +36 -7
  80. package/dist/telemetry/postOssClaimTicket.js.map +1 -1
  81. package/dist/telemetry/postProductActivationEvent.d.ts.map +1 -1
  82. package/dist/telemetry/postProductActivationEvent.js +5 -2
  83. package/dist/telemetry/postProductActivationEvent.js.map +1 -1
  84. package/dist/verify/batchVerifyTelemetrySubcommand.d.ts.map +1 -1
  85. package/dist/verify/batchVerifyTelemetrySubcommand.js +20 -17
  86. package/dist/verify/batchVerifyTelemetrySubcommand.js.map +1 -1
  87. package/dist/verifyAgentskeptic.d.ts +12 -0
  88. package/dist/verifyAgentskeptic.d.ts.map +1 -0
  89. package/dist/verifyAgentskeptic.js +46 -0
  90. package/dist/verifyAgentskeptic.js.map +1 -0
  91. package/dist/verifyAgentskeptic.test.d.ts +2 -0
  92. package/dist/verifyAgentskeptic.test.d.ts.map +1 -0
  93. package/dist/verifyAgentskeptic.test.js +86 -0
  94. package/dist/verifyAgentskeptic.test.js.map +1 -0
  95. package/dist/verifyRunBundleSignature.d.ts.map +1 -1
  96. package/dist/verifyRunBundleSignature.js +1 -2
  97. package/dist/verifyRunBundleSignature.js.map +1 -1
  98. package/package.json +6 -7
  99. package/schemas/openapi-commercial-v1.in.yaml +3 -3
  100. package/schemas/openapi-commercial-v1.yaml +3 -3
  101. package/schemas/outcome-certificate-v1.schema.json +66 -0
  102. package/schemas/public-verification-report-v2.schema.json +15 -0
  103. package/scripts/discovery-payload.lib.cjs +27 -1
@@ -1 +1 @@
1
- {"version":3,"file":"schemaLoad.js","sourceRoot":"","sources":["../src/schemaLoad.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaLoad.js","sourceRoot":"","sources":["../src/schemaLoad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAyB,MAAM,kBAAkB,CAAC;AAClE,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,eAAe,GAAG,UAA4F,CAAC;AAErH,MAAM,eAAe,GAAG,6BAA6B,CAAC;AAEtD,SAAS,mBAAmB,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,IAAI,kBAAkB,GAAkB,IAAI,CAAC;AAE7C,SAAS,iBAAiB;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC;IACzD,IAAI,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAEhD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1D,IAAI,mBAAmB,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC;IAEzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;IACvD,IAAI,mBAAmB,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAEvD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAChE,IAAI,mBAAmB,CAAC,aAAa,CAAC;QAAE,OAAO,aAAa,CAAC;IAE7D,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,IAAI,WAAW,GAAwC,IAAI,CAAC;AAE5D,SAAS,MAAM;IACb,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,eAAe,CAAC,GAAG,CAAC,CAAC;QACrB,WAAW,GAAG,GAAG,CAAC;IACpB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AA6BD,MAAM,cAAc,GAA2D,EAAE,CAAC;AAElF,SAAS,iBAAiB,CAAC,IAAyB,EAAE,IAAY;IAChE,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,CAAC;IAC5D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,qGAAqG;AACrG,SAAS,iCAAiC;IACxC,iBAAiB,CAAC,wBAAwB,EAAE,oCAAoC,CAAC,CAAC;IAClF,iBAAiB,CAAC,uBAAuB,EAAE,mCAAmC,CAAC,CAAC;AAClF,CAAC;AAED,2FAA2F;AAC3F,SAAS,8BAA8B;IACrC,iCAAiC,EAAE,CAAC;IACpC,iBAAiB,CAAC,oBAAoB,EAAE,gCAAgC,CAAC,CAAC;IAC1E,iBAAiB,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,8BAA8B;IACrC,iBAAiB,CAAC,wBAAwB,EAAE,oCAAoC,CAAC,CAAC;IAClF,iBAAiB,CAAC,uBAAuB,EAAE,mCAAmC,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAyB;IAC3D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,wBAAwB;YAC3B,OAAO,iBAAiB,CAAC,IAAI,EAAE,oCAAoC,CAAC,CAAC;QACvE,KAAK,uBAAuB;YAC1B,iBAAiB,CAAC,wBAAwB,EAAE,oCAAoC,CAAC,CAAC;YAClF,OAAO,iBAAiB,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;QACtE,KAAK,iBAAiB;YACpB,iCAAiC,EAAE,CAAC;YACpC,OAAO,iBAAiB,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;QAChE,KAAK,oBAAoB;YACvB,iCAAiC,EAAE,CAAC;YACpC,OAAO,iBAAiB,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;QACnE,KAAK,+BAA+B;YAClC,8BAA8B,EAAE,CAAC;YACjC,OAAO,iBAAiB,CAAC,IAAI,EAAE,2CAA2C,CAAC,CAAC;QAC9E,KAAK,oBAAoB;YACvB,8BAA8B,EAAE,CAAC;YACjC,OAAO,iBAAiB,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;QACnE,KAAK,qBAAqB;YACxB,OAAO,iBAAiB,CAAC,IAAI,EAAE,iCAAiC,CAAC,CAAC;QACpE,KAAK,qBAAqB;YACxB,OAAO,iBAAiB,CAAC,IAAI,EAAE,iCAAiC,CAAC,CAAC;QACpE,KAAK,2BAA2B;YAC9B,OAAO,iBAAiB,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC;QAC1E,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACtD,KAAK,sBAAsB;YACzB,OAAO,iBAAiB,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;QACrE,KAAK,gBAAgB;YACnB,OAAO,iBAAiB,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;QAC/D,KAAK,uBAAuB;YAC1B,8BAA8B,EAAE,CAAC;YACjC,OAAO,iBAAiB,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;QACtE,KAAK,4BAA4B;YAC/B,OAAO,iBAAiB,CAAC,IAAI,EAAE,wCAAwC,CAAC,CAAC;QAC3E,KAAK,sBAAsB;YACzB,OAAO,iBAAiB,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;QACrE,KAAK,qBAAqB;YACxB,iCAAiC,EAAE,CAAC;YACpC,OAAO,iBAAiB,CAAC,IAAI,EAAE,iCAAiC,CAAC,CAAC;QACpE,KAAK,uBAAuB;YAC1B,iBAAiB,CAAC,gBAAgB,EAAE,4BAA4B,CAAC,CAAC;YAClE,OAAO,iBAAiB,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;QACtE,KAAK,YAAY;YACf,OAAO,iBAAiB,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAC3D,KAAK,uBAAuB;YAC1B,OAAO,iBAAiB,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;QACtE,KAAK,yBAAyB;YAC5B,OAAO,iBAAiB,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;QACxE,KAAK,+BAA+B;YAClC,iCAAiC,EAAE,CAAC;YACpC,iBAAiB,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;YACpE,iBAAiB,CAAC,qBAAqB,EAAE,iCAAiC,CAAC,CAAC;YAC5E,OAAO,iBAAiB,CAAC,IAAI,EAAE,2CAA2C,CAAC,CAAC;QAC9E,KAAK,wBAAwB;YAC3B,OAAO,iBAAiB,CAAC,IAAI,EAAE,oCAAoC,CAAC,CAAC;QACvE,KAAK,+BAA+B;YAClC,iBAAiB,CAAC,wBAAwB,EAAE,oCAAoC,CAAC,CAAC;YAClF,OAAO,iBAAiB,CAAC,IAAI,EAAE,2CAA2C,CAAC,CAAC;QAC9E,KAAK,mCAAmC;YACtC,OAAO,iBAAiB,CAAC,IAAI,EAAE,+CAA+C,CAAC,CAAC;QAClF,KAAK,yBAAyB;YAC5B,iBAAiB,CAAC,mCAAmC,EAAE,+CAA+C,CAAC,CAAC;YACxG,OAAO,iBAAiB,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;QACxE,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,IAAI,CAAC;YAChC,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { OutcomeCertificateV1 } from "../outcomeCertificate.js";
1
2
  export type ShareReportEnvelope = {
2
3
  schemaVersion: 1;
3
4
  kind: "workflow";
@@ -9,6 +10,11 @@ export type ShareReportEnvelope = {
9
10
  workflowDisplayId: string;
10
11
  quickReport: unknown;
11
12
  humanReportText: string;
13
+ } | {
14
+ schemaVersion: 2;
15
+ certificate: OutcomeCertificateV1;
16
+ cliVersion?: string;
17
+ createdFrom?: string;
12
18
  };
13
19
  export type PostShareReportResult = {
14
20
  ok: true;
@@ -1 +1 @@
1
- {"version":3,"file":"postPublicVerificationReport.d.ts","sourceRoot":"","sources":["../../src/shareReport/postPublicVerificationReport.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,mBAAmB,GAC3B;IACE,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB,GACD;IACE,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEN,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,GAAE,OAAO,KAAa,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CA8BhC"}
1
+ {"version":3,"file":"postPublicVerificationReport.d.ts","sourceRoot":"","sources":["../../src/shareReport/postPublicVerificationReport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAIrE,MAAM,MAAM,mBAAmB,GAC3B;IACE,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB,GACD;IACE,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,GACD;IACE,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,oBAAoB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEN,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,GAAE,OAAO,KAAa,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAkChC"}
@@ -26,7 +26,9 @@ export async function postPublicVerificationReport(origin, envelope, fetchImpl =
26
26
  }
27
27
  try {
28
28
  const json = JSON.parse(text);
29
- if (json.schemaVersion !== 1 || typeof json.id !== "string" || typeof json.url !== "string") {
29
+ if ((json.schemaVersion !== 1 && json.schemaVersion !== 2) ||
30
+ typeof json.id !== "string" ||
31
+ typeof json.url !== "string") {
30
32
  return { ok: false, status: res.status, bodySnippet: text.slice(0, 200) };
31
33
  }
32
34
  return { ok: true, id: json.id, url: json.url };
@@ -1 +1 @@
1
- {"version":3,"file":"postPublicVerificationReport.js","sourceRoot":"","sources":["../../src/shareReport/postPublicVerificationReport.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,MAAM,CAAC;AAqB9B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAAc,EACd,QAA6B,EAC7B,YAA0B,KAAK;IAE/B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,GAAG,IAAI,kCAAkC,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;QACrD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,GAAa,CAAC;IAClB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;YACzB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IAChE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA0D,CAAC;QACvF,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAC5E,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC5E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"postPublicVerificationReport.js","sourceRoot":"","sources":["../../src/shareReport/postPublicVerificationReport.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,MAAM,CAAC;AA2B9B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAAc,EACd,QAA6B,EAC7B,YAA0B,KAAK;IAE/B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,GAAG,IAAI,kCAAkC,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;QACrD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,GAAa,CAAC;IAClB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;YACzB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IAChE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA0D,CAAC;QACvF,IACE,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;YAC3B,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAC5B,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAC5E,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC5E,CAAC;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type OutcomeCertificateV1 } from "./outcomeCertificate.js";
1
2
  import type { WorkflowResult } from "./types.js";
2
3
  /**
3
4
  * Run batch verification and validate emitted WorkflowResult against schema.
@@ -5,20 +6,26 @@ import type { WorkflowResult } from "./types.js";
5
6
  * @throws whatever `runVerify` throws (e.g. TruthLayerError from pipeline)
6
7
  */
7
8
  export declare function runBatchVerifyToValidatedResult(runVerify: () => Promise<WorkflowResult>): Promise<WorkflowResult>;
9
+ /** Validates engine `WorkflowResult`, builds public Outcome Certificate v1, validates certificate schema. */
10
+ export declare function runBatchVerifyToValidatedCertificate(runVerify: () => Promise<WorkflowResult>): Promise<{
11
+ workflowResult: WorkflowResult;
12
+ certificate: OutcomeCertificateV1;
13
+ }>;
8
14
  export type StandardVerifyWorkflowCliIo = {
9
15
  consoleLog: (line: string) => void;
10
16
  stderrLine: (line: string) => void;
11
17
  exit: (code: number) => void;
12
18
  };
13
19
  /**
14
- * After `verifyWorkflow` has emitted the human truth report to stderr (unless suppressed),
15
- * print WorkflowResult JSON to stdout and exit with the same codes as batch `verify`.
20
+ * Print Outcome Certificate JSON to stdout and exit by `stateRelation` (same thresholds as legacy workflow status).
16
21
  */
22
+ export declare function emitOutcomeCertificateCliAndExitByStateRelation(certificate: OutcomeCertificateV1, io: Pick<StandardVerifyWorkflowCliIo, "consoleLog" | "exit">): void;
23
+ /** @internal Emit Outcome Certificate to stdout from an already-validated engine result (lock / bootstrap paths). */
17
24
  export declare function emitVerifyWorkflowCliJsonAndExitByStatus(result: WorkflowResult, io: Pick<StandardVerifyWorkflowCliIo, "consoleLog" | "exit">): void;
18
25
  /** Thrown after `io.exit(3)` when the process is still alive (e.g. tests mock `exit`). */
19
26
  export declare const CLI_EXITED_AFTER_ERROR = "agentskeptic_cli_exited_after_error";
20
27
  /**
21
- * Runs verify through bundle/share side effects and returns the terminal WorkflowResult.
28
+ * Runs verify through bundle/share side effects and returns the terminal Outcome Certificate.
22
29
  * On failure, writes CLI error, calls `io.exit(3)`, then throws `CLI_EXITED_AFTER_ERROR` if the process continues.
23
30
  */
24
31
  export declare function runStandardVerifyWorkflowCliToTerminalResult(options: {
@@ -27,7 +34,10 @@ export declare function runStandardVerifyWorkflowCliToTerminalResult(options: {
27
34
  /** When set, human stderr is deferred until after a successful POST to this origin. */
28
35
  shareReportOrigin?: string;
29
36
  io?: Partial<StandardVerifyWorkflowCliIo>;
30
- }): Promise<WorkflowResult>;
37
+ }): Promise<{
38
+ certificate: OutcomeCertificateV1;
39
+ workflowResult: WorkflowResult;
40
+ }>;
31
41
  /**
32
42
  * Shared agentskeptic stdout path: run verification, validate emitted result, optional bundle write, print JSON, exit by verdict.
33
43
  * CLI delegates here so tests can inject `runVerify` (e.g. mock `verifyWorkflow`) and I/O without executing `cli.ts` top-level `main()`.
@@ -1 +1 @@
1
- {"version":3,"file":"standardVerifyWorkflowCli.d.ts","sourceRoot":"","sources":["../src/standardVerifyWorkflowCli.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD;;;;GAIG;AACH,wBAAsB,+BAA+B,CACnD,SAAS,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GACvC,OAAO,CAAC,cAAc,CAAC,CAUzB;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,IAAI,CAAC,2BAA2B,EAAE,YAAY,GAAG,MAAM,CAAC,GAC3D,IAAI,CAKN;AAcD,0FAA0F;AAC1F,eAAO,MAAM,sBAAsB,wCAAwC,CAAC;AAa5E;;;GAGG;AACH,wBAAsB,4CAA4C,CAAC,OAAO,EAAE;IAC1E,SAAS,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACpD,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,EAAE,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC3C,GAAG,OAAO,CAAC,cAAc,CAAC,CA8D1B;AAED;;;GAGG;AACH,wBAAsB,gCAAgC,CAAC,OAAO,EAAE;IAC9D,SAAS,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACpD,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,EAAE,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC3C,GAAG,OAAO,CAAC,IAAI,CAAC,CAShB"}
1
+ {"version":3,"file":"standardVerifyWorkflowCli.d.ts","sourceRoot":"","sources":["../src/standardVerifyWorkflowCli.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;GAIG;AACH,wBAAsB,+BAA+B,CACnD,SAAS,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GACvC,OAAO,CAAC,cAAc,CAAC,CAUzB;AAED,6GAA6G;AAC7G,wBAAsB,oCAAoC,CACxD,SAAS,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GACvC,OAAO,CAAC;IAAE,cAAc,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,oBAAoB,CAAA;CAAE,CAAC,CAWhF;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,wBAAgB,+CAA+C,CAC7D,WAAW,EAAE,oBAAoB,EACjC,EAAE,EAAE,IAAI,CAAC,2BAA2B,EAAE,YAAY,GAAG,MAAM,CAAC,GAC3D,IAAI,CAKN;AAED,qHAAqH;AACrH,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,IAAI,CAAC,2BAA2B,EAAE,YAAY,GAAG,MAAM,CAAC,GAC3D,IAAI,CAGN;AAcD,0FAA0F;AAC1F,eAAO,MAAM,sBAAsB,wCAAwC,CAAC;AAa5E;;;GAGG;AACH,wBAAsB,4CAA4C,CAAC,OAAO,EAAE;IAC1E,SAAS,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACpD,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,EAAE,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC3C,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,oBAAoB,CAAC;IAAC,cAAc,EAAE,cAAc,CAAA;CAAE,CAAC,CA8DjF;AAED;;;GAGG;AACH,wBAAsB,gCAAgC,CAAC,OAAO,EAAE;IAC9D,SAAS,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACpD,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,EAAE,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC3C,GAAG,OAAO,CAAC,IAAI,CAAC,CAShB"}
@@ -1,9 +1,9 @@
1
1
  import { formatDistributionFooter } from "./distributionFooter.js";
2
2
  import { CLI_OPERATIONAL_CODES, cliErrorEnvelope, formatOperationalMessage, } from "./failureCatalog.js";
3
+ import { buildOutcomeCertificateFromWorkflowResult, } from "./outcomeCertificate.js";
3
4
  import { loadSchemaValidator } from "./schemaLoad.js";
4
5
  import { postPublicVerificationReport } from "./shareReport/postPublicVerificationReport.js";
5
6
  import { TruthLayerError } from "./truthLayerError.js";
6
- import { formatWorkflowTruthReportStruct } from "./workflowTruthReport.js";
7
7
  /**
8
8
  * Run batch verification and validate emitted WorkflowResult against schema.
9
9
  * @throws TruthLayerError WORKFLOW_RESULT_SCHEMA_INVALID on invalid shape
@@ -17,18 +17,31 @@ export async function runBatchVerifyToValidatedResult(runVerify) {
17
17
  }
18
18
  return result;
19
19
  }
20
+ /** Validates engine `WorkflowResult`, builds public Outcome Certificate v1, validates certificate schema. */
21
+ export async function runBatchVerifyToValidatedCertificate(runVerify) {
22
+ const workflowResult = await runBatchVerifyToValidatedResult(runVerify);
23
+ const certificate = buildOutcomeCertificateFromWorkflowResult(workflowResult, "contract_sql");
24
+ const validateCert = loadSchemaValidator("outcome-certificate-v1");
25
+ if (!validateCert(certificate)) {
26
+ throw new TruthLayerError(CLI_OPERATIONAL_CODES.WORKFLOW_RESULT_SCHEMA_INVALID, JSON.stringify(validateCert.errors ?? []));
27
+ }
28
+ return { workflowResult, certificate };
29
+ }
20
30
  /**
21
- * After `verifyWorkflow` has emitted the human truth report to stderr (unless suppressed),
22
- * print WorkflowResult JSON to stdout and exit with the same codes as batch `verify`.
31
+ * Print Outcome Certificate JSON to stdout and exit by `stateRelation` (same thresholds as legacy workflow status).
23
32
  */
24
- export function emitVerifyWorkflowCliJsonAndExitByStatus(result, io) {
25
- io.consoleLog(JSON.stringify(result));
26
- if (result.status === "complete")
33
+ export function emitOutcomeCertificateCliAndExitByStateRelation(certificate, io) {
34
+ io.consoleLog(JSON.stringify(certificate));
35
+ if (certificate.stateRelation === "matches_expectations")
27
36
  io.exit(0);
28
- else if (result.status === "inconsistent")
37
+ if (certificate.stateRelation === "does_not_match")
29
38
  io.exit(1);
30
- else
31
- io.exit(2);
39
+ io.exit(2);
40
+ }
41
+ /** @internal Emit Outcome Certificate to stdout from an already-validated engine result (lock / bootstrap paths). */
42
+ export function emitVerifyWorkflowCliJsonAndExitByStatus(result, io) {
43
+ const certificate = buildOutcomeCertificateFromWorkflowResult(result, "contract_sql");
44
+ emitOutcomeCertificateCliAndExitByStateRelation(certificate, io);
32
45
  }
33
46
  const defaultIo = {
34
47
  consoleLog: (line) => {
@@ -49,7 +62,7 @@ function abortVerifyCli(io, writeCliError, code, message) {
49
62
  throw new Error(CLI_EXITED_AFTER_ERROR);
50
63
  }
51
64
  /**
52
- * Runs verify through bundle/share side effects and returns the terminal WorkflowResult.
65
+ * Runs verify through bundle/share side effects and returns the terminal Outcome Certificate.
53
66
  * On failure, writes CLI error, calls `io.exit(3)`, then throws `CLI_EXITED_AFTER_ERROR` if the process continues.
54
67
  */
55
68
  export async function runStandardVerifyWorkflowCliToTerminalResult(options) {
@@ -57,9 +70,12 @@ export async function runStandardVerifyWorkflowCliToTerminalResult(options) {
57
70
  const writeCliError = (code, message) => {
58
71
  io.stderrLine(cliErrorEnvelope(code, message));
59
72
  };
60
- let result;
73
+ let certificate;
74
+ let workflowResult;
61
75
  try {
62
- result = await runBatchVerifyToValidatedResult(options.runVerify);
76
+ const pair = await runBatchVerifyToValidatedCertificate(options.runVerify);
77
+ workflowResult = pair.workflowResult;
78
+ certificate = pair.certificate;
63
79
  }
64
80
  catch (e) {
65
81
  if (e instanceof TruthLayerError) {
@@ -70,7 +86,7 @@ export async function runStandardVerifyWorkflowCliToTerminalResult(options) {
70
86
  }
71
87
  if (options.maybeWriteBundle !== undefined) {
72
88
  try {
73
- options.maybeWriteBundle(result);
89
+ options.maybeWriteBundle(workflowResult);
74
90
  }
75
91
  catch (e) {
76
92
  if (e instanceof TruthLayerError) {
@@ -82,19 +98,16 @@ export async function runStandardVerifyWorkflowCliToTerminalResult(options) {
82
98
  }
83
99
  const origin = options.shareReportOrigin;
84
100
  if (origin !== undefined) {
85
- const truthReportText = formatWorkflowTruthReportStruct(result.workflowTruthReport);
86
101
  const shareRes = await postPublicVerificationReport(origin, {
87
- schemaVersion: 1,
88
- kind: "workflow",
89
- workflowResult: result,
90
- truthReportText,
102
+ schemaVersion: 2,
103
+ certificate,
91
104
  });
92
105
  if (!shareRes.ok) {
93
106
  abortVerifyCli(io, writeCliError, CLI_OPERATIONAL_CODES.SHARE_REPORT_FAILED, formatOperationalMessage(`share_report_origin=${origin} http_status=${String(shareRes.status)} detail=${shareRes.bodySnippet}`));
94
107
  }
95
- io.stderrLine(`${truthReportText}\n${formatDistributionFooter()}`);
108
+ io.stderrLine(`${certificate.humanReport}\n${formatDistributionFooter()}`);
96
109
  }
97
- return result;
110
+ return { certificate, workflowResult };
98
111
  }
99
112
  /**
100
113
  * Shared agentskeptic stdout path: run verification, validate emitted result, optional bundle write, print JSON, exit by verdict.
@@ -103,8 +116,8 @@ export async function runStandardVerifyWorkflowCliToTerminalResult(options) {
103
116
  export async function runStandardVerifyWorkflowCliFlow(options) {
104
117
  const io = { ...defaultIo, ...options.io };
105
118
  try {
106
- const result = await runStandardVerifyWorkflowCliToTerminalResult({ ...options, io });
107
- emitVerifyWorkflowCliJsonAndExitByStatus(result, io);
119
+ const { certificate } = await runStandardVerifyWorkflowCliToTerminalResult({ ...options, io });
120
+ emitOutcomeCertificateCliAndExitByStateRelation(certificate, io);
108
121
  }
109
122
  catch (e) {
110
123
  if (e instanceof Error && e.message === CLI_EXITED_AFTER_ERROR)
@@ -1 +1 @@
1
- {"version":3,"file":"standardVerifyWorkflowCli.js","sourceRoot":"","sources":["../src/standardVerifyWorkflowCli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standardVerifyWorkflowCli.js","sourceRoot":"","sources":["../src/standardVerifyWorkflowCli.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,15 @@
1
+ /** Matches Zod `z.string().uuid()` acceptance for persisted ids. */
2
+ export declare function isPersistedConfigUuid(s: string): boolean;
3
+ /**
4
+ * Read persisted funnel anonymous id for product-activation telemetry (disk).
5
+ * Returns undefined when missing or invalid.
6
+ */
7
+ export declare function getPersistedFunnelAnonIdForTelemetry(): string | undefined;
8
+ /**
9
+ * Persist funnel_anon_id beside install_id (merge). Validates UUID.
10
+ * @returns false when uuid invalid or write failed
11
+ */
12
+ export declare function tryPersistFunnelAnonId(uuid: string): boolean;
1
13
  /**
2
14
  * Stable pseudonymous id for this CLI environment (best-effort disk, else process singleton).
3
15
  * Never throws. Must not be called when telemetry is disabled.
@@ -1 +1 @@
1
- {"version":3,"file":"cliInstallId.d.ts","sourceRoot":"","sources":["../../src/telemetry/cliInstallId.ts"],"names":[],"mappings":"AAgDA;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAc7C;AAED,kEAAkE;AAClE,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D"}
1
+ {"version":3,"file":"cliInstallId.d.ts","sourceRoot":"","sources":["../../src/telemetry/cliInstallId.ts"],"names":[],"mappings":"AAWA,oEAAoE;AACpE,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAGxD;AAoDD;;;GAGG;AACH,wBAAgB,oCAAoC,IAAI,MAAM,GAAG,SAAS,CAMzE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI5D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAc7C;AAED,kEAAkE;AAClE,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D"}
@@ -7,11 +7,11 @@ function configPath() {
7
7
  return join(homedir(), ".agentskeptic", "config.json");
8
8
  }
9
9
  /** Matches Zod `z.string().uuid()` acceptance for persisted ids. */
10
- function isUuid(s) {
10
+ export function isPersistedConfigUuid(s) {
11
11
  const t = s.trim();
12
12
  return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t);
13
13
  }
14
- function tryReadValidInstallIdFromDisk(filePath) {
14
+ function tryReadConfigObject(filePath) {
15
15
  if (!existsSync(filePath))
16
16
  return null;
17
17
  let raw;
@@ -32,21 +32,59 @@ function tryReadValidInstallIdFromDisk(filePath) {
32
32
  }
33
33
  if (parsed === null || typeof parsed !== "object")
34
34
  return null;
35
- const id = parsed.install_id;
36
- if (typeof id !== "string" || !isUuid(id))
37
- return null;
38
- return id.trim();
35
+ return parsed;
39
36
  }
40
- function tryPersistInstallId(filePath, installId) {
37
+ function tryWriteConfigMerge(filePath, partial) {
38
+ const prior = tryReadConfigObject(filePath) ?? {};
39
+ const next = { ...prior };
40
+ if (partial.install_id !== undefined)
41
+ next.install_id = partial.install_id;
42
+ if (partial.funnel_anon_id !== undefined)
43
+ next.funnel_anon_id = partial.funnel_anon_id;
41
44
  try {
42
45
  mkdirSync(dirname(filePath), { recursive: true });
43
- writeFileSync(filePath, JSON.stringify({ install_id: installId }), "utf8");
46
+ writeFileSync(filePath, JSON.stringify(next), "utf8");
44
47
  return true;
45
48
  }
46
49
  catch {
47
50
  return false;
48
51
  }
49
52
  }
53
+ function tryReadValidInstallIdFromDisk(filePath) {
54
+ const obj = tryReadConfigObject(filePath);
55
+ if (!obj)
56
+ return null;
57
+ const id = obj.install_id;
58
+ if (typeof id !== "string" || !isPersistedConfigUuid(id))
59
+ return null;
60
+ return id.trim();
61
+ }
62
+ function tryPersistInstallId(filePath, installId) {
63
+ return tryWriteConfigMerge(filePath, { install_id: installId });
64
+ }
65
+ /**
66
+ * Read persisted funnel anonymous id for product-activation telemetry (disk).
67
+ * Returns undefined when missing or invalid.
68
+ */
69
+ export function getPersistedFunnelAnonIdForTelemetry() {
70
+ const obj = tryReadConfigObject(configPath());
71
+ if (!obj)
72
+ return undefined;
73
+ const id = obj.funnel_anon_id;
74
+ if (typeof id !== "string" || !isPersistedConfigUuid(id))
75
+ return undefined;
76
+ return id.trim();
77
+ }
78
+ /**
79
+ * Persist funnel_anon_id beside install_id (merge). Validates UUID.
80
+ * @returns false when uuid invalid or write failed
81
+ */
82
+ export function tryPersistFunnelAnonId(uuid) {
83
+ const t = uuid.trim();
84
+ if (!isPersistedConfigUuid(t))
85
+ return false;
86
+ return tryWriteConfigMerge(configPath(), { funnel_anon_id: t });
87
+ }
50
88
  /**
51
89
  * Stable pseudonymous id for this CLI environment (best-effort disk, else process singleton).
52
90
  * Never throws. Must not be called when telemetry is disabled.
@@ -1 +1 @@
1
- {"version":3,"file":"cliInstallId.js","sourceRoot":"","sources":["../../src/telemetry/cliInstallId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,IAAI,wBAAwB,GAAkB,IAAI,CAAC;AAEnD,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC;AAED,oEAAoE;AACpE,SAAS,MAAM,CAAC,CAAS;IACvB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnB,OAAO,4EAA4E,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAgB;IACrD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC/D,MAAM,EAAE,GAAI,MAAmC,CAAC,UAAU,CAAC;IAC3D,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,SAAiB;IAC9D,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,wBAAwB;QAAE,OAAO,wBAAwB,CAAC;IAE9D,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,IAAI,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wBAAwB,GAAG,KAAK,CAAC;IACjC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,oCAAoC;IAClD,wBAAwB,GAAG,IAAI,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"cliInstallId.js","sourceRoot":"","sources":["../../src/telemetry/cliInstallId.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"maybeEmitOssClaimTicketUrl.d.ts","sourceRoot":"","sources":["../../src/telemetry/maybeEmitOssClaimTicketUrl.ts"],"names":[],"mappings":"AAKA,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,CAgBhB"}
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,6 +1,7 @@
1
1
  import { randomBytes } from "node:crypto";
2
2
  import { LICENSE_PREFLIGHT_ENABLED } from "../generated/commercialBuildFlags.js";
3
- import { resolveOssClaimApiOrigin } from "./ossClaimOrigin.js";
3
+ import { openHandoffUrlInOsBrowser } from "./openHandoffUrlInOsBrowser.js";
4
+ import { postOssClaimContinuation } from "./postOssClaimContinuation.js";
4
5
  import { postOssClaimTicket } from "./postOssClaimTicket.js";
5
6
  export async function maybeEmitOssClaimTicketUrlToStderr(input) {
6
7
  if (LICENSE_PREFLIGHT_ENABLED)
@@ -11,12 +12,29 @@ export async function maybeEmitOssClaimTicketUrlToStderr(input) {
11
12
  return;
12
13
  const claim_secret = randomBytes(32).toString("hex");
13
14
  const issued_at = new Date().toISOString();
14
- const ok = await postOssClaimTicket({ claim_secret, issued_at, ...input });
15
- if (!ok) {
16
- 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.");
15
+ const interactiveHuman = Boolean(process.stdout.isTTY) &&
16
+ Boolean(process.stderr.isTTY) &&
17
+ String(process.env.CI).toLowerCase() !== "true";
18
+ const r = await postOssClaimTicket({
19
+ claim_secret,
20
+ issued_at,
21
+ ...input,
22
+ interactive_human: interactiveHuman ? true : undefined,
23
+ });
24
+ if (r.outcome === "ok") {
25
+ if (interactiveHuman) {
26
+ const { ok } = await openHandoffUrlInOsBrowser(r.handoff_url);
27
+ if (ok) {
28
+ await postOssClaimContinuation(claim_secret);
29
+ }
30
+ }
31
+ console.error(`[agentskeptic] Link this verification run to your account: ${r.handoff_url} — open the link, then sign in with email when prompted.`);
17
32
  return;
18
33
  }
19
- const url = `${resolveOssClaimApiOrigin()}/claim#${claim_secret}`;
20
- console.error(`[agentskeptic] Link this verification run to your account (same browser): ${url}`);
34
+ if (r.outcome === "already_claimed") {
35
+ 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
+ return;
37
+ }
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.");
21
39
  }
22
40
  //# 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,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,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,EAAE,GAAG,MAAM,kBAAkB,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CACX,0KAA0K,CAC3K,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,wBAAwB,EAAE,UAAU,YAAY,EAAE,CAAC;IAClE,OAAO,CAAC,KAAK,CAAC,6EAA6E,GAAG,EAAE,CAAC,CAAC;AACpG,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,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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Best-effort OS default browser open (user sees the handoff URL).
3
+ * Resolves when the child exits (success not guaranteed across platforms).
4
+ */
5
+ export declare function openHandoffUrlInOsBrowser(url: string): Promise<{
6
+ ok: boolean;
7
+ code: number | null;
8
+ }>;
9
+ //# sourceMappingURL=openHandoffUrlInOsBrowser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openHandoffUrlInOsBrowser.d.ts","sourceRoot":"","sources":["../../src/telemetry/openHandoffUrlInOsBrowser.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAcpG"}
@@ -0,0 +1,24 @@
1
+ import { spawn } from "node:child_process";
2
+ import { platform } from "node:os";
3
+ /**
4
+ * Best-effort OS default browser open (user sees the handoff URL).
5
+ * Resolves when the child exits (success not guaranteed across platforms).
6
+ */
7
+ export function openHandoffUrlInOsBrowser(url) {
8
+ return new Promise((resolve) => {
9
+ const p = platform();
10
+ let child;
11
+ if (p === "darwin") {
12
+ child = spawn("open", [url], { stdio: "ignore", detached: true });
13
+ }
14
+ else if (p === "win32") {
15
+ child = spawn("cmd", ["/c", "start", "", url], { stdio: "ignore", detached: true, windowsHide: true });
16
+ }
17
+ else {
18
+ child = spawn("xdg-open", [url], { stdio: "ignore", detached: true });
19
+ }
20
+ child.on("error", () => resolve({ ok: false, code: null }));
21
+ child.on("close", (code) => resolve({ ok: code === 0, code }));
22
+ });
23
+ }
24
+ //# sourceMappingURL=openHandoffUrlInOsBrowser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openHandoffUrlInOsBrowser.js","sourceRoot":"","sources":["../../src/telemetry/openHandoffUrlInOsBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAW;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC;QACV,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnB,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YACzB,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACzG,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * POST /api/oss/claim-continuation — records `browser_open_invoked_at` once (interactive-human tickets only).
3
+ */
4
+ export declare function postOssClaimContinuation(claimSecret: string): Promise<boolean>;
5
+ //# sourceMappingURL=postOssClaimContinuation.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,30 @@
1
+ import { AGENTSKEPTIC_CLI_SEMVER } from "../publicDistribution.generated.js";
2
+ import { fetchWithTimeout } from "./fetchWithTimeout.js";
3
+ import { PRODUCT_ACTIVATION_CLI_PRODUCT_HEADER, PRODUCT_ACTIVATION_CLI_PRODUCT_VALUE, PRODUCT_ACTIVATION_CLI_VERSION_HEADER, } from "./productActivationHeaders.js";
4
+ import { resolveOssClaimApiOrigin } from "./ossClaimOrigin.js";
5
+ const OSS_CLAIM_CONTINUATION_FETCH_TIMEOUT_MS = 400;
6
+ /**
7
+ * POST /api/oss/claim-continuation — records `browser_open_invoked_at` once (interactive-human tickets only).
8
+ */
9
+ export async function postOssClaimContinuation(claimSecret) {
10
+ if (process.env.AGENTSKEPTIC_TELEMETRY?.trim() === "0")
11
+ return false;
12
+ const base = resolveOssClaimApiOrigin();
13
+ const url = `${base}/api/oss/claim-continuation`;
14
+ try {
15
+ const res = await fetchWithTimeout(url, {
16
+ 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
+ },
22
+ body: JSON.stringify({ claim_secret: claimSecret }),
23
+ }, OSS_CLAIM_CONTINUATION_FETCH_TIMEOUT_MS);
24
+ return res.status === 204;
25
+ }
26
+ catch {
27
+ return false;
28
+ }
29
+ }
30
+ //# sourceMappingURL=postOssClaimContinuation.js.map
@@ -0,0 +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"}
@@ -6,9 +6,19 @@ export type PostOssClaimTicketInput = {
6
6
  workload_class: "bundled_examples" | "non_bundled";
7
7
  subcommand: "batch_verify" | "quick_verify" | "verify_integrator_owned";
8
8
  build_profile: "oss" | "commercial";
9
+ /** Mint-time interactive human cohort (`D_ihm`); must match CLI TTY rule in journey SSOT. */
10
+ interactive_human?: boolean;
11
+ };
12
+ export type PostOssClaimTicketResult = {
13
+ outcome: "ok";
14
+ handoff_url: string;
15
+ } | {
16
+ outcome: "already_claimed";
17
+ } | {
18
+ outcome: "failed";
9
19
  };
10
20
  /**
11
- * Best-effort POST /api/oss/claim-ticket to canonical origin. Returns whether server accepted (204).
21
+ * POST /api/oss/claim-ticket to canonical origin with bounded retries (same `claim_secret` each attempt).
12
22
  */
13
- export declare function postOssClaimTicket(input: PostOssClaimTicketInput): Promise<boolean>;
23
+ export declare function postOssClaimTicket(input: PostOssClaimTicketInput): Promise<PostOssClaimTicketResult>;
14
24
  //# sourceMappingURL=postOssClaimTicket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postOssClaimTicket.d.ts","sourceRoot":"","sources":["../../src/telemetry/postOssClaimTicket.ts"],"names":[],"mappings":"AAYA,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;CACrC,CAAC;AAEF;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAkCzF"}
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"}