@odla-ai/chapter 0.49.0 → 0.51.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/README.md +36 -2
- package/dist/{chunk-KXIGZWG5.js → chunk-4EA5V4JE.js} +855 -614
- package/dist/chunk-4EA5V4JE.js.map +1 -0
- package/dist/{chunk-N2JIKINY.js → chunk-JXX4BFDP.js} +5 -2
- package/dist/chunk-JXX4BFDP.js.map +1 -0
- package/dist/{chunk-KHDO2QFA.js → chunk-UAXWA5BL.js} +36 -24
- package/dist/chunk-UAXWA5BL.js.map +1 -0
- package/dist/{copy-context-By4Nq7yB.d.ts → copy-context-Ddat__H5.d.ts} +10 -2
- package/dist/index.cjs +129 -54
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +59 -7
- package/dist/index.d.ts +59 -7
- package/dist/index.js +129 -54
- package/dist/index.js.map +1 -1
- package/dist/ui/admin/index.d.ts +54 -6
- package/dist/ui/admin/index.js +10 -2
- package/dist/ui/index.d.ts +2 -2
- package/dist/ui/index.js +11 -3
- package/dist/ui/member/index.d.ts +10 -2
- package/dist/ui/member/index.js +2 -2
- package/dist/worker/index.cjs +588 -272
- package/dist/worker/index.cjs.map +1 -1
- package/dist/worker/index.d.cts +86 -6
- package/dist/worker/index.d.ts +86 -6
- package/dist/worker/index.js +582 -266
- package/dist/worker/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-KHDO2QFA.js.map +0 -1
- package/dist/chunk-KXIGZWG5.js.map +0 -1
- package/dist/chunk-N2JIKINY.js.map +0 -1
package/README.md
CHANGED
|
@@ -1631,8 +1631,18 @@ These bite silently — a smoke test won't catch them:
|
|
|
1631
1631
|
Full renewal/refund/seat lifecycle wiring and live provider journey proof
|
|
1632
1632
|
remain prerequisites for enabling this adapter in a host.
|
|
1633
1633
|
|
|
1634
|
-
`drainMembershipEffects` recovers pending provider work and
|
|
1635
|
-
|
|
1634
|
+
`drainMembershipEffects` recovers pending provider work and cancels unpaid
|
|
1635
|
+
seats within one exact configured runtime. It never refunds an unaccepted
|
|
1636
|
+
seat: a purchased seat waits for its recipient for the whole paid term, and a
|
|
1637
|
+
refund is a super admin's decision on request. Refunding the recipient's own
|
|
1638
|
+
application (`POST /api/admin/applications/:id/refund`) requires a super
|
|
1639
|
+
admin when it carries a gifted seat. On a chapter,
|
|
1640
|
+
`GET /api/admin/applications/:id/named-seat` shows a purchaser's seat and
|
|
1641
|
+
`POST …/named-seat/refund` returns its payment through the signed edge; on the
|
|
1642
|
+
network owner, `membershipAuthorityOperator: { makeDb }` mounts
|
|
1643
|
+
`GET /api/admin/membership-seats` and `POST …/membership-seats/:seatId/refund`
|
|
1644
|
+
over the authority storage. Both refuse anyone but a super admin, and the
|
|
1645
|
+
recipient's own `…/refund` route does the same for a gifted seat. Pair its
|
|
1636
1646
|
`deliverChapterEffect` callback with `deliverMembershipChapterEffect` and a
|
|
1637
1647
|
chapter `createMembershipChapterEffectRoute({ sender, secretName, origin,
|
|
1638
1648
|
readEffect: adapter.readEffect })`. The receiver reloads current network state
|
|
@@ -1655,6 +1665,30 @@ These bite silently — a smoke test won't catch them:
|
|
|
1655
1665
|
it never sends mail. Confirmed non-delivery permits only the original workflow
|
|
1656
1666
|
to retry its frozen payload. Non-production recipient redirection still applies.
|
|
1657
1667
|
|
|
1668
|
+
An offering may omit `seatPurchaseWindowCalendarMonths`: then a seat may be
|
|
1669
|
+
bought for as long as the primary membership is paid and active, renewals
|
|
1670
|
+
included, and the offer reports `purchaseWindowed: false`. Memberships frozen
|
|
1671
|
+
under an earlier windowed offering keep their window until the network owner
|
|
1672
|
+
lifts it once per chapter with `POST /api/admin/membership-seats/lift-purchase-window`
|
|
1673
|
+
(super admin; only ever widens).
|
|
1674
|
+
|
|
1675
|
+
The public join config asks the authority, per paid tier, what a founding
|
|
1676
|
+
applicant pays today (`offer-preview`, read-only: nothing is reserved) and
|
|
1677
|
+
exposes it as `tiers[].founding` ({ cohortLabel, dueTodayCents, discountCents,
|
|
1678
|
+
renewalCents, discountDuration }). The placeholder chooser and membership
|
|
1679
|
+
cards show that rate with the list price struck; a site's `renderTiers` should
|
|
1680
|
+
read the same field instead of hard-coding a founding price. The issued offer
|
|
1681
|
+
at checkout remains the only promise.
|
|
1682
|
+
|
|
1683
|
+
On a chapter, a person record with no linked application — someone invited or
|
|
1684
|
+
a candidate — is managed by the chapter's own admins the way the network
|
|
1685
|
+
owner manages it: the record's Invitation tab sets or revokes the local
|
|
1686
|
+
admission decision (`/api/admin/admission-grants`), and its Stage tab moves the
|
|
1687
|
+
person only through the CRM's pre-application stages. Declare those stages
|
|
1688
|
+
ahead of the application statuses in the person pipeline (for example
|
|
1689
|
+
`candidate` and `invited`); an application status is never set by hand, on
|
|
1690
|
+
the chapter or through the leader's delegated lane.
|
|
1691
|
+
|
|
1658
1692
|
### Install + scope notes
|
|
1659
1693
|
|
|
1660
1694
|
- **Bootstrap the first admin according to the selected auth source.** Prefer
|