@odla-ai/chapter 0.42.4 → 0.43.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/dist/index.cjs +135 -106
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -3
- package/dist/index.d.ts +7 -3
- package/dist/index.js +135 -106
- package/dist/index.js.map +1 -1
- package/dist/worker/index.cjs +300 -125
- package/dist/worker/index.cjs.map +1 -1
- package/dist/worker/index.js +300 -125
- package/dist/worker/index.js.map +1 -1
- package/package.json +1 -1
- package/runbooks/adopt-existing.md +11 -0
- package/runbooks/greenfield.md +12 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@odla-ai/chapter",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.43.0",
|
|
4
4
|
"description": "A leader/follower foundation for branded membership sites: shared CRM, admin, auth, payments, booking, and explicit record delivery from one defineChapter config.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://odla.ai/docs/packages/chapter",
|
|
@@ -581,6 +581,17 @@ this release. Preserve a host UI/route for non-USD or mismatched pricing. Test
|
|
|
581
581
|
successful payment, duplicate webhook, failure, refund, and subscription
|
|
582
582
|
cancellation before switching the UI.
|
|
583
583
|
|
|
584
|
+
For a shared Stripe account, preserve Chapter's closed partition metadata on
|
|
585
|
+
every new customer, subscription, payment intent, and refund: app, chapter,
|
|
586
|
+
environment, data environment, and stable runtime. Do not infer ownership from
|
|
587
|
+
the Stripe account or Price alone. The signed webhook must apply an exact target
|
|
588
|
+
once, acknowledge a fully tagged sibling with zero local writes, quarantine an
|
|
589
|
+
unmatched event for operators, and accept a metadata-free legacy object only
|
|
590
|
+
when its Stripe customer, subscription, or gift id is already linked to this
|
|
591
|
+
chapter and runtime. Exercise all four paths in development, including a replay
|
|
592
|
+
of the identical body and an event-id collision with changed content, before
|
|
593
|
+
removing any legacy payment adapter.
|
|
594
|
+
|
|
584
595
|
### Calendar and email
|
|
585
596
|
|
|
586
597
|
Complete dev Google booking consent, reconnecting any grant from the retired
|
package/runbooks/greenfield.md
CHANGED
|
@@ -778,6 +778,18 @@ non-USD or unmatched pricing needs a host UI/route and cannot use the stock
|
|
|
778
778
|
payment presentation. Never accept money until the provider equality check and
|
|
779
779
|
webhook test prove authoritative paid/refunded state and idempotent replay.
|
|
780
780
|
|
|
781
|
+
Chapter tags every newly created Stripe customer, subscription, payment intent,
|
|
782
|
+
and refund with its app, chapter, environment, data environment, and stable
|
|
783
|
+
runtime identity. Do not replace or omit those fields in a host payment route.
|
|
784
|
+
The signed webhook acknowledges a fully tagged sibling event without a local
|
|
785
|
+
write, accepts an untagged legacy event only when the referenced Stripe object is
|
|
786
|
+
already linked to a local application or gift intent, and records a content-free
|
|
787
|
+
receipt for each applied or unmatched event. Prove all three dispositions with
|
|
788
|
+
synthetic test objects: exact target applies once, a sibling target writes zero
|
|
789
|
+
rows, and an unmatched legacy event is quarantined and observable. Replaying the
|
|
790
|
+
same event body must be a no-op; reusing its event id with different content must
|
|
791
|
+
raise a collision signal and must not apply.
|
|
792
|
+
|
|
781
793
|
### Google Calendar
|
|
782
794
|
|
|
783
795
|
Complete the human Google booking consent from provisioning, then:
|