@nextcommerce/campaigns-os 1.60.0 → 1.62.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -1
- package/CHANGELOG.md +244 -0
- package/README.md +86 -438
- package/agents/claude/CLAUDE.md +20 -0
- package/agents/codex/AGENTS.md +19 -0
- package/agents/copilot/copilot-instructions.md +19 -0
- package/agents/cursor/campaigns-os.mdc +21 -0
- package/campaign-spec/README.md +7 -0
- package/campaign-spec/dist/analytics-vendors.d.ts +40 -0
- package/campaign-spec/dist/analytics-vendors.js +44 -0
- package/campaign-spec/dist/checkout-flow.d.ts +18 -0
- package/campaign-spec/dist/checkout-flow.js +28 -0
- package/campaign-spec/dist/index.d.ts +4 -2
- package/campaign-spec/dist/index.js +5 -1
- package/campaign-spec/dist/rules/analytics-contract-shape.d.ts +8 -0
- package/campaign-spec/dist/rules/analytics-contract-shape.js +39 -0
- package/campaign-spec/dist/rules/campaign-currencies.d.ts +29 -0
- package/campaign-spec/dist/rules/campaign-currencies.js +130 -0
- package/campaign-spec/dist/rules/checkout-path-has-packages.d.ts +31 -0
- package/campaign-spec/dist/rules/checkout-path-has-packages.js +79 -0
- package/campaign-spec/dist/rules/index.d.ts +2 -0
- package/campaign-spec/dist/rules/index.js +6 -0
- package/campaign-spec/dist/types.d.ts +43 -9
- package/compatibility.json +1 -1
- package/contracts/brand-theme-target-tokens.next-core.v0.json +95 -25
- package/contracts/campaign-cart-sdk-support-policy.v0.json +2 -2
- package/contracts/commerce-surface-catalog.json +68 -61
- package/contracts/effects.v1.json +549 -165
- package/contracts/fixtures/runtime-recipe/accept/current.json +3 -0
- package/contracts/fixtures/runtime-recipe/accept/minimal.json +3 -0
- package/contracts/fixtures/runtime-recipe/dist-states.json +1 -1
- package/contracts/fixtures/runtime-recipe/reject/advisory-enforcement.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/allowlist-without-hosts.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/committed-output-claim.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/engines-disagreement-warns.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/lifecycle-scripts-enabled.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/unknown-kind.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/unknown-network-policy.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/unknown-output-check.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/unknown-revision.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/unknown-step-id.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/unperformable-check-skipped.json +3 -0
- package/contracts/fixtures/runtime-recipe/reject/unpinned-lockfile.json +3 -0
- package/contracts/release-ledger.json +1767 -0
- package/contracts/runtime-recipe.campaigns-os-node-v1.json +3 -0
- package/contracts/supported-surface.json +10 -10
- package/contracts/template-brand-contract.shared-commerce.v0.json +23 -1
- package/docs/access-model.md +20 -0
- package/docs/brand-theme-bridge.md +62 -3
- package/docs/build-packet.md +456 -36
- package/docs/campaign-build-brief.md +16 -0
- package/docs/campaign-standardization-report.md +4 -4
- package/docs/campaigns-os-build-flow.md +112 -2
- package/docs/campaignspec-authoring-examples.md +141 -0
- package/docs/design-source-package.md +64 -8
- package/docs/effects.md +17 -9
- package/docs/entry-points.md +188 -0
- package/docs/local-setup.md +1 -1
- package/docs/orientation-contract-reference.md +1 -1
- package/docs/polish-evidence.md +42 -2
- package/docs/progress-snapshots.md +7 -4
- package/docs/qa-and-test-orders.md +197 -3
- package/docs/quickstart.md +438 -0
- package/docs/readback.md +154 -6
- package/docs/runtime-readiness.md +6 -3
- package/docs/sdk-storage-compatibility.md +4 -2
- package/docs/skills-revision.md +10 -10
- package/docs/source-adapters.md +213 -0
- package/package.json +10 -3
- package/schemas/campaign-design-source-package.v0.schema.json +8 -0
- package/schemas/campaign-runtime-build-context.v0.schema.json +9 -0
- package/schemas/campaign-runtime-build-packet.v0.schema.json +9 -0
- package/schemas/campaign-spec.v4.schema.json +19 -3
- package/schemas/campaign-spec.v5.schema.json +19 -3
- package/schemas/campaigns-os-readback.v2.schema.json +238 -1
- package/schemas/source-html-manifest.v0.schema.json +3 -0
- package/skills/campaign-lifecycle-orientation/SKILL.md +3 -3
- package/skills/campaign-readback-classification/SKILL.md +3 -3
- package/skills/campaign-run-evidence/SKILL.md +3 -3
- package/skills/contribution-intake/SKILL.md +3 -3
- package/skills/next-campaigns-build/SKILL.md +5 -4
- package/skills/next-campaigns-os/SKILL.md +7 -4
- package/skills/next-campaigns-os-setup/SKILL.md +5 -3
- package/skills/next-campaigns-polish/SKILL.md +8 -10
- package/skills/next-campaigns-qa/SKILL.md +7 -4
- package/skills/next-campaigns-sdk-bump/SKILL.md +151 -25
- package/skills.json +11 -11
- package/src/brand-theme.mjs +415 -9
- package/src/brief-summary.mjs +6 -2
- package/src/browser-launch.mjs +2 -1
- package/src/build-brief.mjs +13 -3
- package/src/built-site-scope.mjs +2 -2
- package/src/campaign-workspace.mjs +288 -15
- package/src/change-scope.mjs +284 -0
- package/src/cli.mjs +358 -97
- package/src/commercial-journey.mjs +16 -3
- package/src/commercial-parity.mjs +15 -7
- package/src/content-residue.mjs +4 -2
- package/src/design-file-reference.mjs +93 -0
- package/src/design-source-package.mjs +91 -1
- package/src/design-source-publication.mjs +9 -6
- package/src/directory-lock.mjs +73 -19
- package/src/doctor/checks.mjs +87 -81
- package/src/doctor/ci.mjs +177 -0
- package/src/doctor/inspect.mjs +41 -6
- package/src/doctor/next-step.mjs +7 -0
- package/src/doctor/source-provenance.mjs +74 -0
- package/src/doctor-sidecar.mjs +3 -2
- package/src/evidence-debt.mjs +159 -0
- package/src/finding-cause.mjs +12 -11
- package/src/input-refresh.mjs +339 -32
- package/src/invocation.mjs +7 -1
- package/src/live-campaign-refs.mjs +7 -2
- package/src/local-preview-policy.mjs +35 -2
- package/src/page-kit-analytics-vendors.mjs +132 -0
- package/src/parity/compare.mjs +316 -0
- package/src/parity/design-access.mjs +54 -0
- package/src/parity/element-parity-record.mjs +569 -0
- package/src/parity/probe.mjs +205 -0
- package/src/parity/snapshot.mjs +110 -0
- package/src/png-header.mjs +87 -0
- package/src/polish-browser.mjs +189 -10
- package/src/polish-captures-record.mjs +52 -0
- package/src/polish-deadline.mjs +14 -0
- package/src/polish-gate.mjs +25 -6
- package/src/polish-node.mjs +81 -7
- package/src/polish-readability.mjs +221 -9
- package/src/polish-visual-fixtures.mjs +74 -0
- package/src/polish-visual.mjs +613 -0
- package/src/progress-node.mjs +3 -2
- package/src/qa-analytics-correctness.mjs +14 -2
- package/src/qa-analytics-parity.mjs +111 -6
- package/src/qa-browser.mjs +40 -4
- package/src/qa-commercial-parity.mjs +50 -3
- package/src/qa-node.mjs +235 -22
- package/src/qa-publish.mjs +9 -8
- package/src/qa-sidecar.mjs +16 -4
- package/src/qa-vendor-beacons.mjs +232 -0
- package/src/qa-vendor-endpoints.mjs +306 -0
- package/src/qc-accept.mjs +176 -6
- package/src/qc-check-registry.mjs +42 -2
- package/src/qc-results.mjs +477 -42
- package/src/readback.mjs +113 -21
- package/src/route-identity.mjs +10 -0
- package/src/run-record.mjs +18 -10
- package/src/runtime-state-ignore.mjs +6 -2
- package/src/sdk-attribute-index.mjs +11 -11
- package/src/sdk-markup.mjs +77 -2
- package/src/sdk-storage-compatibility.mjs +115 -6
- package/src/source-html-intake.mjs +15 -1
- package/src/source-html-manifest.mjs +7 -0
- package/src/source-html-server.mjs +129 -0
- package/src/spec-derive-campaign.mjs +216 -0
- package/src/spec-derive.mjs +473 -53
- package/src/spec-identity.mjs +14 -0
- package/src/stage-ledger.mjs +40 -1
- package/src/stage-record.mjs +100 -17
- package/src/target-lock.mjs +11 -1
- package/src/theme-gate.mjs +2 -2
- package/src/visual-diff.mjs +296 -0
- package/src/visual-reference.mjs +126 -0
|
@@ -93,20 +93,18 @@
|
|
|
93
93
|
"agentRule": "Replace starter refs from the target CampaignSpec/API. Remove optional bump surfaces when the referenced prepurchase package is absent."
|
|
94
94
|
},
|
|
95
95
|
"shipping_methods": {
|
|
96
|
-
"purpose": "Named Campaigns App shipping method ref_ids used by checkout selector cards.",
|
|
96
|
+
"purpose": "Named Campaigns App shipping method ref_ids used by checkout selector cards. Starter checkouts use ONE method (the campaign's single storefront method, priced at the highest tier rate) on every card.",
|
|
97
97
|
"canonicalKeys": [
|
|
98
|
-
"standard"
|
|
99
|
-
"free"
|
|
98
|
+
"standard"
|
|
100
99
|
],
|
|
101
100
|
"sourceOfTruth": [
|
|
102
101
|
"CampaignSpec shipping_methods[]",
|
|
103
102
|
"Campaigns API shipping_options[].ref_id"
|
|
104
103
|
],
|
|
105
104
|
"demoOnlyValues": [
|
|
106
|
-
2,
|
|
107
105
|
1
|
|
108
106
|
],
|
|
109
|
-
"agentRule": "Use only on checkout/cart selector surfaces. Do not carry starter refs between campaigns
|
|
107
|
+
"agentRule": "Use only on checkout/cart selector surfaces. Do not carry starter refs between campaigns. A campaign lists each storefront shipping method once: price differences between tiers are shipping coupons on the cards (bundles[].vouchers / variant_slots[].vouchers), not a second method. Map a second key only to a genuinely different storefront method (e.g. Express)."
|
|
110
108
|
},
|
|
111
109
|
"bundles": {
|
|
112
110
|
"purpose": "Checkout bundle-card rows for package quantity tiers.",
|
|
@@ -114,6 +112,7 @@
|
|
|
114
112
|
"id",
|
|
115
113
|
"quantity",
|
|
116
114
|
"shipping_method",
|
|
115
|
+
"vouchers",
|
|
117
116
|
"selected",
|
|
118
117
|
"title_prefix",
|
|
119
118
|
"badge_text",
|
|
@@ -123,7 +122,7 @@
|
|
|
123
122
|
"CampaignSpec checkout page packages/offers",
|
|
124
123
|
"Campaigns API package and shipping refs"
|
|
125
124
|
],
|
|
126
|
-
"agentRule": "Prefer package_id plus quantity. Use explicit items_json only for genuinely custom item sets."
|
|
125
|
+
"agentRule": "Prefer package_id plus quantity. Use explicit items_json only for genuinely custom item sets. `vouchers` (string or list) renders data-next-bundle-vouchers: the coupon applied while that card is selected — use a shipping_percentage Code Offer for tier shipping price."
|
|
127
126
|
},
|
|
128
127
|
"variant_slots": {
|
|
129
128
|
"purpose": "MV/configurable bundle slots for selector rows and later variant choice stages.",
|
|
@@ -131,6 +130,7 @@
|
|
|
131
130
|
"id",
|
|
132
131
|
"quantity",
|
|
133
132
|
"shipping_method",
|
|
133
|
+
"vouchers",
|
|
134
134
|
"selected",
|
|
135
135
|
"title",
|
|
136
136
|
"label_text",
|
|
@@ -259,6 +259,7 @@
|
|
|
259
259
|
"show_apple_pay",
|
|
260
260
|
"show_google_pay",
|
|
261
261
|
"show_link",
|
|
262
|
+
"show_shop_pay",
|
|
262
263
|
"show_affirm",
|
|
263
264
|
"show_twint",
|
|
264
265
|
"show_bancontact",
|
|
@@ -607,7 +608,7 @@
|
|
|
607
608
|
],
|
|
608
609
|
"optionalWhenSupported": [
|
|
609
610
|
"cart_summary_variant",
|
|
610
|
-
"
|
|
611
|
+
"bundles[].vouchers",
|
|
611
612
|
"order_bump_variant",
|
|
612
613
|
"order_bump",
|
|
613
614
|
"packages.prepurchase_1",
|
|
@@ -622,8 +623,8 @@
|
|
|
622
623
|
"packages.main_package=1",
|
|
623
624
|
"packages.prepurchase_1=7",
|
|
624
625
|
"packages.prepurchase_2=9",
|
|
625
|
-
"shipping_methods.standard=
|
|
626
|
-
"
|
|
626
|
+
"shipping_methods.standard=1",
|
|
627
|
+
"bundles[].vouchers=FREESHIP",
|
|
627
628
|
"upsell_offer.package_id=3",
|
|
628
629
|
"upsell_offer.vouchers_json=[\"UP50\"]",
|
|
629
630
|
"upsell_bundle_tiers packageId=3"
|
|
@@ -632,13 +633,14 @@
|
|
|
632
633
|
"packages.*",
|
|
633
634
|
"shipping_methods.*",
|
|
634
635
|
"bundles[].shipping_method",
|
|
636
|
+
"bundles[].vouchers",
|
|
635
637
|
"order_bump.*.package_id",
|
|
636
638
|
"upsell_offer.*",
|
|
637
639
|
"upsell_bundle_tiers[].items_json",
|
|
638
640
|
"upsell_bundle_tiers[].vouchers_json"
|
|
639
641
|
],
|
|
640
642
|
"removeWhenUnsupported": [
|
|
641
|
-
"bundles[].
|
|
643
|
+
"bundles[].vouchers when no tier-specific shipping price exists",
|
|
642
644
|
"bump includes when prepurchase packages are absent",
|
|
643
645
|
"unsupported payment method rows",
|
|
644
646
|
"upsell pages not present in the funnel"
|
|
@@ -848,9 +850,9 @@
|
|
|
848
850
|
}
|
|
849
851
|
},
|
|
850
852
|
"verification": {
|
|
851
|
-
"sdk_version": "0.4.
|
|
852
|
-
"verified_at": "2026-10-
|
|
853
|
-
"evidence": "sdk-0.4.
|
|
853
|
+
"sdk_version": "0.4.43",
|
|
854
|
+
"verified_at": "2026-10-24T04:58:52Z",
|
|
855
|
+
"evidence": "sdk-0.4.43-2026-10-24",
|
|
854
856
|
"status": "certified",
|
|
855
857
|
"source": "template-verification.json"
|
|
856
858
|
}
|
|
@@ -860,8 +862,8 @@
|
|
|
860
862
|
"templateReference": {
|
|
861
863
|
"id": "template-reference-apollo",
|
|
862
864
|
"family": "apollo",
|
|
863
|
-
"version": "sdk-0.4.
|
|
864
|
-
"source_commit": "
|
|
865
|
+
"version": "sdk-0.4.43-shipping-coupon-tiers-2026-10-23",
|
|
866
|
+
"source_commit": "11af184434963340df74bee96a1f8559fcbf9028",
|
|
865
867
|
"provenance_url": "https://raw.githubusercontent.com/NextCommerceCo/campaign-cart-starter-templates/main/docs/template-references/apollo/README.md",
|
|
866
868
|
"contract_path": "contracts/commerce-surface-catalog.json",
|
|
867
869
|
"standard_viewport_refs": [
|
|
@@ -871,10 +873,10 @@
|
|
|
871
873
|
"url": "https://raw.githubusercontent.com/NextCommerceCo/campaign-cart-starter-templates/main/docs/template-references/apollo/checkout-desktop.png",
|
|
872
874
|
"width": 1440,
|
|
873
875
|
"height": 1491,
|
|
874
|
-
"sha256": "
|
|
876
|
+
"sha256": "3a619d34f9fc8507b3a606db50218936c4d44bd1c2a21a2e8f87af3efa545fa7",
|
|
875
877
|
"device_profile": "Desktop 1440",
|
|
876
878
|
"browser": "chromium",
|
|
877
|
-
"captured_at": "2026-
|
|
879
|
+
"captured_at": "2026-10-23T22:04:21.000Z"
|
|
878
880
|
},
|
|
879
881
|
{
|
|
880
882
|
"id": "apollo-checkout-mobile",
|
|
@@ -882,10 +884,10 @@
|
|
|
882
884
|
"url": "https://raw.githubusercontent.com/NextCommerceCo/campaign-cart-starter-templates/main/docs/template-references/apollo/checkout-mobile.png",
|
|
883
885
|
"width": 390,
|
|
884
886
|
"height": 2648,
|
|
885
|
-
"sha256": "
|
|
887
|
+
"sha256": "5a8dc7560c89e7c9e162ed41a64af94a2324b0b725ff1c167719dc259ebf59a6",
|
|
886
888
|
"device_profile": "Mobile 390",
|
|
887
889
|
"browser": "chromium",
|
|
888
|
-
"captured_at": "2026-
|
|
890
|
+
"captured_at": "2026-10-23T22:04:21.000Z"
|
|
889
891
|
}
|
|
890
892
|
]
|
|
891
893
|
},
|
|
@@ -976,7 +978,7 @@
|
|
|
976
978
|
"optionalWhenSupported": [
|
|
977
979
|
"bundle_card_style",
|
|
978
980
|
"cart_summary_variant",
|
|
979
|
-
"
|
|
981
|
+
"bundles[].vouchers",
|
|
980
982
|
"selector_order_bump_variant",
|
|
981
983
|
"order_bump_variant",
|
|
982
984
|
"order_bump",
|
|
@@ -1009,8 +1011,8 @@
|
|
|
1009
1011
|
"packages.main_package=1",
|
|
1010
1012
|
"packages.prepurchase_1=7",
|
|
1011
1013
|
"packages.prepurchase_2=9",
|
|
1012
|
-
"shipping_methods.standard=
|
|
1013
|
-
"
|
|
1014
|
+
"shipping_methods.standard=1",
|
|
1015
|
+
"bundles[].vouchers=FREESHIP",
|
|
1014
1016
|
"bundle_card_style=product",
|
|
1015
1017
|
"selector_order_bump_variant=check03",
|
|
1016
1018
|
"order_bump_variant=check01+switch01",
|
|
@@ -1023,13 +1025,14 @@
|
|
|
1023
1025
|
"packages.*",
|
|
1024
1026
|
"shipping_methods.*",
|
|
1025
1027
|
"bundles[].shipping_method",
|
|
1028
|
+
"bundles[].vouchers",
|
|
1026
1029
|
"order_bump.*.package_id",
|
|
1027
1030
|
"upsell_offer.*",
|
|
1028
1031
|
"upsell_bundle_tiers[].items_json",
|
|
1029
1032
|
"upsell_bundle_tiers[].vouchers_json"
|
|
1030
1033
|
],
|
|
1031
1034
|
"removeWhenUnsupported": [
|
|
1032
|
-
"bundles[].
|
|
1035
|
+
"bundles[].vouchers when no tier-specific shipping price exists",
|
|
1033
1036
|
"selector_order_bump_variant when no selector-area bump package exists",
|
|
1034
1037
|
"bump includes when prepurchase packages are absent",
|
|
1035
1038
|
"unsupported payment method rows",
|
|
@@ -1272,9 +1275,9 @@
|
|
|
1272
1275
|
}
|
|
1273
1276
|
},
|
|
1274
1277
|
"verification": {
|
|
1275
|
-
"sdk_version": "0.4.
|
|
1276
|
-
"verified_at": "2026-10-
|
|
1277
|
-
"evidence": "sdk-0.4.
|
|
1278
|
+
"sdk_version": "0.4.43",
|
|
1279
|
+
"verified_at": "2026-10-24T04:58:52Z",
|
|
1280
|
+
"evidence": "sdk-0.4.43-2026-10-24",
|
|
1278
1281
|
"status": "certified",
|
|
1279
1282
|
"source": "template-verification.json"
|
|
1280
1283
|
}
|
|
@@ -1365,7 +1368,7 @@
|
|
|
1365
1368
|
"bundles[].shipping_method"
|
|
1366
1369
|
],
|
|
1367
1370
|
"optionalWhenSupported": [
|
|
1368
|
-
"
|
|
1371
|
+
"bundles[].vouchers",
|
|
1369
1372
|
"cart_summary_variant",
|
|
1370
1373
|
"order_bump_variant",
|
|
1371
1374
|
"upsell_offer",
|
|
@@ -1374,8 +1377,8 @@
|
|
|
1374
1377
|
],
|
|
1375
1378
|
"demoOnlyValues": [
|
|
1376
1379
|
"packages.main_package=1",
|
|
1377
|
-
"shipping_methods.standard=
|
|
1378
|
-
"
|
|
1380
|
+
"shipping_methods.standard=1",
|
|
1381
|
+
"bundles[].vouchers=FREESHIP",
|
|
1379
1382
|
"packages.prepurchase_1=7",
|
|
1380
1383
|
"packages.prepurchase_2=9"
|
|
1381
1384
|
],
|
|
@@ -1383,12 +1386,13 @@
|
|
|
1383
1386
|
"packages.*",
|
|
1384
1387
|
"shipping_methods.*",
|
|
1385
1388
|
"bundles[].shipping_method",
|
|
1389
|
+
"bundles[].vouchers",
|
|
1386
1390
|
"order_bump.*.package_id",
|
|
1387
1391
|
"upsell_offer.package_id",
|
|
1388
1392
|
"upsell_bundle_tiers[].items_json"
|
|
1389
1393
|
],
|
|
1390
1394
|
"removeWhenUnsupported": [
|
|
1391
|
-
"bundles[].
|
|
1395
|
+
"bundles[].vouchers when no tier-specific shipping price exists",
|
|
1392
1396
|
"order bump variants when prepurchase packages are absent"
|
|
1393
1397
|
]
|
|
1394
1398
|
},
|
|
@@ -1583,9 +1587,9 @@
|
|
|
1583
1587
|
}
|
|
1584
1588
|
},
|
|
1585
1589
|
"verification": {
|
|
1586
|
-
"sdk_version": "0.4.
|
|
1587
|
-
"verified_at": "2026-10-
|
|
1588
|
-
"evidence": "sdk-0.4.
|
|
1590
|
+
"sdk_version": "0.4.43",
|
|
1591
|
+
"verified_at": "2026-10-24T04:58:52Z",
|
|
1592
|
+
"evidence": "sdk-0.4.43-2026-10-24",
|
|
1589
1593
|
"status": "certified",
|
|
1590
1594
|
"source": "template-verification.json"
|
|
1591
1595
|
}
|
|
@@ -1886,9 +1890,9 @@
|
|
|
1886
1890
|
}
|
|
1887
1891
|
},
|
|
1888
1892
|
"verification": {
|
|
1889
|
-
"sdk_version": "0.4.
|
|
1890
|
-
"verified_at": "2026-10-
|
|
1891
|
-
"evidence": "sdk-0.4.
|
|
1893
|
+
"sdk_version": "0.4.43",
|
|
1894
|
+
"verified_at": "2026-10-24T04:58:52Z",
|
|
1895
|
+
"evidence": "sdk-0.4.43-2026-10-24",
|
|
1892
1896
|
"status": "certified",
|
|
1893
1897
|
"source": "template-verification.json"
|
|
1894
1898
|
}
|
|
@@ -1979,7 +1983,7 @@
|
|
|
1979
1983
|
"variant_slots[].shipping_method"
|
|
1980
1984
|
],
|
|
1981
1985
|
"optionalWhenSupported": [
|
|
1982
|
-
"
|
|
1986
|
+
"variant_slots[].vouchers",
|
|
1983
1987
|
"checkout_step.selector_layout",
|
|
1984
1988
|
"swiper_slides",
|
|
1985
1989
|
"swiper_thumbs",
|
|
@@ -1992,8 +1996,8 @@
|
|
|
1992
1996
|
],
|
|
1993
1997
|
"demoOnlyValues": [
|
|
1994
1998
|
"packages.main_package=1",
|
|
1995
|
-
"shipping_methods.standard=
|
|
1996
|
-
"
|
|
1999
|
+
"shipping_methods.standard=1",
|
|
2000
|
+
"variant_slots[].vouchers=FREESHIP",
|
|
1997
2001
|
"upsell_offer.package_id=1",
|
|
1998
2002
|
"upsell_offer.package_id=3",
|
|
1999
2003
|
"upsell_mv_tiers vouchers_json=[\"UP80TSHIRT\"]",
|
|
@@ -2004,6 +2008,7 @@
|
|
|
2004
2008
|
"packages.main_package",
|
|
2005
2009
|
"shipping_methods.*",
|
|
2006
2010
|
"variant_slots[].shipping_method",
|
|
2011
|
+
"variant_slots[].vouchers",
|
|
2007
2012
|
"upsell_offer.*",
|
|
2008
2013
|
"upsell_mv_tiers[].vouchers_json",
|
|
2009
2014
|
"slot_personalization",
|
|
@@ -2012,7 +2017,7 @@
|
|
|
2012
2017
|
],
|
|
2013
2018
|
"removeWhenUnsupported": [
|
|
2014
2019
|
"variant slot rows unsupported by the target spec/API",
|
|
2015
|
-
"
|
|
2020
|
+
"variant_slots[].vouchers when no tier-specific shipping price exists",
|
|
2016
2021
|
"upsell pages not present in the funnel"
|
|
2017
2022
|
]
|
|
2018
2023
|
},
|
|
@@ -2227,9 +2232,9 @@
|
|
|
2227
2232
|
}
|
|
2228
2233
|
},
|
|
2229
2234
|
"verification": {
|
|
2230
|
-
"sdk_version": "0.4.
|
|
2231
|
-
"verified_at": "2026-10-
|
|
2232
|
-
"evidence": "sdk-0.4.
|
|
2235
|
+
"sdk_version": "0.4.43",
|
|
2236
|
+
"verified_at": "2026-10-24T04:58:52Z",
|
|
2237
|
+
"evidence": "sdk-0.4.43-2026-10-24",
|
|
2233
2238
|
"status": "certified",
|
|
2234
2239
|
"source": "template-verification.json"
|
|
2235
2240
|
}
|
|
@@ -2333,7 +2338,7 @@
|
|
|
2333
2338
|
"variant_slots[].shipping_method"
|
|
2334
2339
|
],
|
|
2335
2340
|
"optionalWhenSupported": [
|
|
2336
|
-
"
|
|
2341
|
+
"variant_slots[].vouchers",
|
|
2337
2342
|
"checkout_step.selector_layout",
|
|
2338
2343
|
"selector_order_bump_variant",
|
|
2339
2344
|
"order_bump_variant",
|
|
@@ -2356,8 +2361,8 @@
|
|
|
2356
2361
|
],
|
|
2357
2362
|
"demoOnlyValues": [
|
|
2358
2363
|
"packages.main_package=1",
|
|
2359
|
-
"shipping_methods.standard=
|
|
2360
|
-
"
|
|
2364
|
+
"shipping_methods.standard=1",
|
|
2365
|
+
"variant_slots[].vouchers=FREESHIP",
|
|
2361
2366
|
"checkout_step.selector_layout=grid",
|
|
2362
2367
|
"selector_order_bump_variant=check03",
|
|
2363
2368
|
"order_bump_variant=check01",
|
|
@@ -2371,6 +2376,7 @@
|
|
|
2371
2376
|
"packages.main_package",
|
|
2372
2377
|
"shipping_methods.*",
|
|
2373
2378
|
"variant_slots[].shipping_method",
|
|
2379
|
+
"variant_slots[].vouchers",
|
|
2374
2380
|
"upsell_offer.*",
|
|
2375
2381
|
"upsell_mv_tiers[].vouchers_json",
|
|
2376
2382
|
"slot_personalization",
|
|
@@ -2380,7 +2386,7 @@
|
|
|
2380
2386
|
"removeWhenUnsupported": [
|
|
2381
2387
|
"variant slot rows unsupported by the target spec/API",
|
|
2382
2388
|
"selector_order_bump_variant when no selector-area bump package exists",
|
|
2383
|
-
"
|
|
2389
|
+
"variant_slots[].vouchers when no tier-specific shipping price exists",
|
|
2384
2390
|
"upsell pages not present in the funnel"
|
|
2385
2391
|
]
|
|
2386
2392
|
},
|
|
@@ -2666,9 +2672,9 @@
|
|
|
2666
2672
|
}
|
|
2667
2673
|
},
|
|
2668
2674
|
"verification": {
|
|
2669
|
-
"sdk_version": "0.4.
|
|
2670
|
-
"verified_at": "2026-10-
|
|
2671
|
-
"evidence": "sdk-0.4.
|
|
2675
|
+
"sdk_version": "0.4.43",
|
|
2676
|
+
"verified_at": "2026-10-24T04:58:52Z",
|
|
2677
|
+
"evidence": "sdk-0.4.43-2026-10-24",
|
|
2672
2678
|
"status": "certified",
|
|
2673
2679
|
"source": "template-verification.json"
|
|
2674
2680
|
}
|
|
@@ -2760,7 +2766,7 @@
|
|
|
2760
2766
|
"select_step.selector_id"
|
|
2761
2767
|
],
|
|
2762
2768
|
"optionalWhenSupported": [
|
|
2763
|
-
"
|
|
2769
|
+
"variant_slots[].vouchers",
|
|
2764
2770
|
"checkout_step.selector_id",
|
|
2765
2771
|
"select_step.selector_layout",
|
|
2766
2772
|
"swiper_slides",
|
|
@@ -2773,8 +2779,8 @@
|
|
|
2773
2779
|
],
|
|
2774
2780
|
"demoOnlyValues": [
|
|
2775
2781
|
"packages.main_package=1",
|
|
2776
|
-
"shipping_methods.standard=
|
|
2777
|
-
"
|
|
2782
|
+
"shipping_methods.standard=1",
|
|
2783
|
+
"variant_slots[].vouchers=FREESHIP",
|
|
2778
2784
|
"upsell_offer.package_id=1",
|
|
2779
2785
|
"upsell_offer.package_id=3",
|
|
2780
2786
|
"upsell_mv_tiers vouchers_json=[\"UP80TSHIRT\"]",
|
|
@@ -2785,6 +2791,7 @@
|
|
|
2785
2791
|
"packages.main_package",
|
|
2786
2792
|
"shipping_methods.*",
|
|
2787
2793
|
"variant_slots[].shipping_method",
|
|
2794
|
+
"variant_slots[].vouchers",
|
|
2788
2795
|
"upsell_offer.*",
|
|
2789
2796
|
"upsell_mv_tiers[].vouchers_json",
|
|
2790
2797
|
"slot_personalization",
|
|
@@ -2793,7 +2800,7 @@
|
|
|
2793
2800
|
],
|
|
2794
2801
|
"removeWhenUnsupported": [
|
|
2795
2802
|
"variant slot rows unsupported by the target spec/API",
|
|
2796
|
-
"
|
|
2803
|
+
"variant_slots[].vouchers when no tier-specific shipping price exists",
|
|
2797
2804
|
"upsell pages not present in the funnel"
|
|
2798
2805
|
]
|
|
2799
2806
|
},
|
|
@@ -3022,9 +3029,9 @@
|
|
|
3022
3029
|
}
|
|
3023
3030
|
},
|
|
3024
3031
|
"verification": {
|
|
3025
|
-
"sdk_version": "0.4.
|
|
3026
|
-
"verified_at": "2026-10-
|
|
3027
|
-
"evidence": "sdk-0.4.
|
|
3032
|
+
"sdk_version": "0.4.43",
|
|
3033
|
+
"verified_at": "2026-10-24T04:58:52Z",
|
|
3034
|
+
"evidence": "sdk-0.4.43-2026-10-24",
|
|
3028
3035
|
"status": "certified",
|
|
3029
3036
|
"source": "template-verification.json"
|
|
3030
3037
|
}
|
|
@@ -3312,9 +3319,9 @@
|
|
|
3312
3319
|
}
|
|
3313
3320
|
},
|
|
3314
3321
|
"verification": {
|
|
3315
|
-
"sdk_version": "0.4.
|
|
3316
|
-
"verified_at": "2026-10-
|
|
3317
|
-
"evidence": "sdk-0.4.
|
|
3322
|
+
"sdk_version": "0.4.43",
|
|
3323
|
+
"verified_at": "2026-10-24T04:58:52Z",
|
|
3324
|
+
"evidence": "sdk-0.4.43-2026-10-24",
|
|
3318
3325
|
"status": "certified",
|
|
3319
3326
|
"source": "template-verification.json"
|
|
3320
3327
|
}
|
|
@@ -3504,5 +3511,5 @@
|
|
|
3504
3511
|
},
|
|
3505
3512
|
"_synced_from_repo": "NextCommerceCo/campaign-cart-starter-templates",
|
|
3506
3513
|
"_synced_from_ref": "main",
|
|
3507
|
-
"_synced_from_sha": "
|
|
3514
|
+
"_synced_from_sha": "5711e22345756c655f41c0ae71444478e4a8999e"
|
|
3508
3515
|
}
|