@agent-cards/checkout 0.7.0 → 0.9.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 (46) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/PREFLIGHT.md +294 -0
  3. package/README.md +16 -3
  4. package/dist/braintree.d.ts +2 -10
  5. package/dist/braintree.generated.d.ts +10 -0
  6. package/dist/braintree.generated.js +302 -0
  7. package/dist/braintree.js +2 -302
  8. package/dist/builtin-registry.generated.d.ts +2 -0
  9. package/dist/builtin-registry.generated.js +1 -0
  10. package/dist/cdp.d.ts +4 -2
  11. package/dist/cdp.js +38 -6
  12. package/dist/client.d.ts +13 -4
  13. package/dist/client.js +80 -8
  14. package/dist/index.d.ts +1 -1
  15. package/dist/lifecycle.d.ts +1 -0
  16. package/dist/lifecycle.js +27 -1
  17. package/dist/owned-shop.generated.d.ts +24 -0
  18. package/dist/owned-shop.generated.js +108 -0
  19. package/dist/playwright.d.ts +3 -0
  20. package/dist/playwright.js +3 -0
  21. package/dist/preflight-capabilities.generated.d.ts +1165 -0
  22. package/dist/preflight-capabilities.generated.js +1799 -0
  23. package/dist/preflight-catalog.json +3892 -0
  24. package/dist/preflight-playwright.d.ts +34 -0
  25. package/dist/preflight-playwright.js +262 -0
  26. package/dist/preflight-schemas.json +1063 -0
  27. package/dist/preflight.d.ts +1 -0
  28. package/dist/preflight.generated.d.ts +1867 -0
  29. package/dist/preflight.generated.js +482 -0
  30. package/dist/preflight.js +2 -0
  31. package/dist/registry.d.ts +2 -19
  32. package/dist/registry.js +3 -188
  33. package/dist/substitute.d.ts +5 -9
  34. package/dist/substitute.js +5 -69
  35. package/dist/substitutions.generated.d.ts +10 -0
  36. package/dist/substitutions.generated.js +66 -0
  37. package/examples/preflight/classify-direct.mjs +21 -0
  38. package/examples/preflight/classify-kernel.mjs +30 -0
  39. package/examples/preflight/inspect-browser.mjs +44 -0
  40. package/examples/preflight/kernel-profile.empty.json +11 -0
  41. package/examples/preflight/mollie-hosted.observations.json +23 -0
  42. package/examples/preflight/mollie-hosted.result.json +103 -0
  43. package/examples/preflight/stripe-script.direct.result.json +92 -0
  44. package/examples/preflight/stripe-script.observations.json +16 -0
  45. package/examples/preflight/stripe-script.result.json +87 -0
  46. package/package.json +16 -7
@@ -0,0 +1,92 @@
1
+ {
2
+ "snapshot": {
3
+ "schema_version": 1,
4
+ "catalog_version": "2026-09-11.2",
5
+ "signals": [
6
+ {
7
+ "rule_id": "stripe-js-v3",
8
+ "kind": "script",
9
+ "frame_id": 0,
10
+ "parent_frame_id": null,
11
+ "visible": null
12
+ },
13
+ {
14
+ "rule_id": "stripe-js-script",
15
+ "kind": "script",
16
+ "frame_id": 0,
17
+ "parent_frame_id": null,
18
+ "visible": null
19
+ }
20
+ ],
21
+ "observation": {
22
+ "complete": true,
23
+ "truncated": false,
24
+ "reasons": []
25
+ }
26
+ },
27
+ "result": {
28
+ "schema_version": 1,
29
+ "catalog_version": "2026-09-11.2",
30
+ "integration": {
31
+ "id": "direct_sdk",
32
+ "version": "bundled"
33
+ },
34
+ "scenario": "one_time",
35
+ "scenario_defaulted": false,
36
+ "psp": "stripe",
37
+ "flow": null,
38
+ "mode": "token",
39
+ "status": "supported",
40
+ "support_scope": "processor_integration",
41
+ "checkout_flow_status": "unknown",
42
+ "candidates": [
43
+ {
44
+ "psp": "stripe",
45
+ "relevance": "undetermined",
46
+ "evidence": [
47
+ {
48
+ "rule_id": "stripe-js-v3",
49
+ "kind": "script",
50
+ "frame_id": 0,
51
+ "parent_frame_id": null,
52
+ "visible": null,
53
+ "origin": "https://js.stripe.com",
54
+ "path_pattern": "/v3/*"
55
+ },
56
+ {
57
+ "rule_id": "stripe-js-script",
58
+ "kind": "script",
59
+ "frame_id": 0,
60
+ "parent_frame_id": null,
61
+ "visible": null,
62
+ "origin": "https://js.stripe.com",
63
+ "path_pattern": "^/v3/?$"
64
+ }
65
+ ]
66
+ }
67
+ ],
68
+ "reason_codes": [
69
+ "checkout_flow_unidentified",
70
+ "processor_supported_by_integration"
71
+ ],
72
+ "limitations": [
73
+ "Processor assets alone do not establish the active card payment flow.",
74
+ "Tokenization replays a token response; it does not authorize a later PaymentIntent confirm.",
75
+ "Direct PaymentIntent confirms require a card-bearing template; the intent’s amount is read from Stripe and a hint sent as amount with currency must agree with it.",
76
+ "Direct SetupIntent confirms require a card-bearing template and save a card without charging it; future charges are merchant-managed.",
77
+ "Automatic token-to-PaymentIntent or token-to-SetupIntent continuation is unsupported; tokenization does not bind a later intent.",
78
+ "A token response does not bind a later PaymentIntent confirmation.",
79
+ "A token response does not bind a later SetupIntent confirmation."
80
+ ],
81
+ "missing_evidence": [
82
+ "active_checkout_flow"
83
+ ],
84
+ "observation": {
85
+ "complete": true,
86
+ "truncated": false,
87
+ "reasons": []
88
+ },
89
+ "scope": "preflight_hint",
90
+ "merchant_confirmation_required": true
91
+ }
92
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "signals": [
3
+ {
4
+ "kind": "script",
5
+ "url": "https://js.stripe.com/v3/?example=discard-this-query",
6
+ "frame_id": 0,
7
+ "parent_frame_id": null,
8
+ "visible": null
9
+ }
10
+ ],
11
+ "observation": {
12
+ "complete": true,
13
+ "truncated": false,
14
+ "reasons": []
15
+ }
16
+ }
@@ -0,0 +1,87 @@
1
+ {
2
+ "snapshot": {
3
+ "schema_version": 1,
4
+ "catalog_version": "2026-09-11.2",
5
+ "signals": [
6
+ {
7
+ "rule_id": "stripe-js-v3",
8
+ "kind": "script",
9
+ "frame_id": 0,
10
+ "parent_frame_id": null,
11
+ "visible": null
12
+ },
13
+ {
14
+ "rule_id": "stripe-js-script",
15
+ "kind": "script",
16
+ "frame_id": 0,
17
+ "parent_frame_id": null,
18
+ "visible": null
19
+ }
20
+ ],
21
+ "observation": {
22
+ "complete": true,
23
+ "truncated": false,
24
+ "reasons": []
25
+ }
26
+ },
27
+ "result": {
28
+ "schema_version": 1,
29
+ "catalog_version": "2026-09-11.2",
30
+ "integration": {
31
+ "id": "kernel_native",
32
+ "version": "example-native-adapter"
33
+ },
34
+ "scenario": "one_time",
35
+ "scenario_defaulted": false,
36
+ "psp": "stripe",
37
+ "flow": null,
38
+ "mode": "token",
39
+ "status": "unknown",
40
+ "support_scope": null,
41
+ "checkout_flow_status": "unknown",
42
+ "candidates": [
43
+ {
44
+ "psp": "stripe",
45
+ "relevance": "undetermined",
46
+ "evidence": [
47
+ {
48
+ "rule_id": "stripe-js-v3",
49
+ "kind": "script",
50
+ "frame_id": 0,
51
+ "parent_frame_id": null,
52
+ "visible": null,
53
+ "origin": "https://js.stripe.com",
54
+ "path_pattern": "/v3/*"
55
+ },
56
+ {
57
+ "rule_id": "stripe-js-script",
58
+ "kind": "script",
59
+ "frame_id": 0,
60
+ "parent_frame_id": null,
61
+ "visible": null,
62
+ "origin": "https://js.stripe.com",
63
+ "path_pattern": "^/v3/?$"
64
+ }
65
+ ]
66
+ }
67
+ ],
68
+ "reason_codes": [
69
+ "checkout_flow_unidentified",
70
+ "integration_processor_undeclared"
71
+ ],
72
+ "limitations": [
73
+ "Processor assets alone do not establish the active card payment flow."
74
+ ],
75
+ "missing_evidence": [
76
+ "active_checkout_flow",
77
+ "integration_processor_capability"
78
+ ],
79
+ "observation": {
80
+ "complete": true,
81
+ "truncated": false,
82
+ "reasons": []
83
+ },
84
+ "scope": "preflight_hint",
85
+ "merchant_confirmation_required": true
86
+ }
87
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-cards/checkout",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "description": "Let browser agents pay with the user's own card, without your infrastructure ever touching card data.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -8,23 +8,32 @@
8
8
  "exports": {
9
9
  ".": "./dist/index.js",
10
10
  "./cdp": "./dist/cdp.js",
11
- "./playwright": "./dist/cdp.js"
11
+ "./playwright": "./dist/playwright.js",
12
+ "./preflight": "./dist/preflight.js",
13
+ "./preflight/catalog.json": "./dist/preflight-catalog.json",
14
+ "./preflight/schemas.json": "./dist/preflight-schemas.json"
12
15
  },
13
16
  "files": [
14
17
  "dist",
15
18
  "README.md",
16
19
  "CHANGELOG.md",
17
- "examples"
20
+ "examples",
21
+ "PREFLIGHT.md"
18
22
  ],
19
23
  "publishConfig": {
20
24
  "access": "public"
21
25
  },
22
26
  "scripts": {
23
- "_comment_build": "TypeScript is fetched rather than declared as a devDependency ON PURPOSE. This package ships zero dependencies, which is why pnpm writes no importer for it in the workspace lockfile; adding any dep here creates one, and an importer the lockfile has not been regenerated for fails every Vercel build with ERR_PNPM_OUTDATED_LOCKFILE. Pinned so the published output is reproducible.",
24
- "build": "npx -y -p typescript@5.9.3 tsc",
27
+ "_comment_build": "The public SDK keeps zero runtime dependencies. Its build vendors deterministic metadata and substitution artifacts from the internal payment core; TypeScript remains pinned.",
28
+ "build": "node ../payment-core/scripts/build.mjs && node scripts/generate-payment-core.mjs && npx -y -p typescript@5.9.3 tsc && node scripts/generate-preflight-contract.mjs",
25
29
  "prepublishOnly": "pnpm build",
26
- "test": "node test.mjs && node --test lifecycle.test.mjs merchant-abort.test.mjs preparation.test.mjs braintree.test.mjs prepared-processor.test.mjs minimum-delay.test.mjs paysafe.test.mjs attachment.test.mjs",
27
- "test:browser": "node browser.test.mjs && node stripe-browser.test.mjs && node preparation-browser.test.mjs"
30
+ "test": "node test.mjs && node --test lifecycle.test.mjs merchant-abort.test.mjs preparation.test.mjs braintree.test.mjs autopilot.test.mjs payment-core.test.mjs prepared-processor.test.mjs minimum-delay.test.mjs paysafe.test.mjs attachment.test.mjs && node --test preflight-package.test.mjs preflight-collector.test.mjs",
31
+ "test:browser": "node browser.test.mjs && node stripe-browser.test.mjs && node preparation-browser.test.mjs && node owned-shop-browser.test.mjs",
32
+ "check:payment-core": "node scripts/generate-payment-core.mjs --check",
33
+ "test:preflight": "node --test preflight-package.test.mjs preflight-collector.test.mjs",
34
+ "test:preflight:browser": "node preflight-browser.test.mjs",
35
+ "pack:preview": "node scripts/pack-preflight-preview.mjs",
36
+ "test:preflight:schemas": "node --test preflight-schemas.test.mjs"
28
37
  },
29
38
  "keywords": [
30
39
  "payments",