@odla-ai/chapter 0.57.0 → 0.58.1
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 +20 -0
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/worker/index.cjs +22 -4
- package/dist/worker/index.cjs.map +1 -1
- package/dist/worker/index.js +22 -4
- package/dist/worker/index.js.map +1 -1
- package/package.json +1 -1
- package/runbooks/greenfield.md +1 -1
package/README.md
CHANGED
|
@@ -1850,6 +1850,26 @@ These bite silently — a smoke test won't catch them:
|
|
|
1850
1850
|
named and whether that person joined without folding the seat status machine
|
|
1851
1851
|
itself; `NamedSeatRecipientLine` renders it.
|
|
1852
1852
|
|
|
1853
|
+
**Availability saves land on the seeded group (0.58.1).** A group's `id` is
|
|
1854
|
+
its public key, not its entity id: the CLI seeds the row under a fresh entity
|
|
1855
|
+
id and writes `id` as an attribute, which is how every live chapter's group is
|
|
1856
|
+
stored. `PUT /api/admin/scheduling` keyed its write by the `id` string, so
|
|
1857
|
+
odla-db targeted a phantom entity and the strict schema refused it
|
|
1858
|
+
(`required_attribute`) — a 500 on 0.57.0, a 503 with that `cause` on 0.58.0.
|
|
1859
|
+
The write now goes through the `groups.id` lookup like every other group
|
|
1860
|
+
write, and the test double seeds the group the way the CLI does.
|
|
1861
|
+
|
|
1862
|
+
**Availability saves keep what the editor does not show (0.58.0).**
|
|
1863
|
+
`PUT /api/admin/scheduling` now merges the fields it receives onto the
|
|
1864
|
+
stored config before validating, so an editor that sends only hours, days,
|
|
1865
|
+
slot length, timezone, notice and window no longer resets the branded
|
|
1866
|
+
`summaryTemplate` to the generic default. A stored config the rules reject
|
|
1867
|
+
answers `409` on `GET` with the field errors (the next save repairs it), and a
|
|
1868
|
+
failed database write answers `503` with `code: "scheduling_write_failed"`
|
|
1869
|
+
and the database's own code as `cause`, never a bare 500. The default
|
|
1870
|
+
booking window is now 21 days (three weeks of offered times); a group row
|
|
1871
|
+
that already stores `windowDays` keeps it.
|
|
1872
|
+
|
|
1853
1873
|
**Decisions after the conversation (0.57.0).** Four operations close the
|
|
1854
1874
|
gaps a chapter hits once applicants are real people (BNF bugs fa96b11c,
|
|
1855
1875
|
f7bc92ee, 38000934, c3c1d338, 79590edc):
|
package/dist/index.cjs
CHANGED
|
@@ -1379,7 +1379,7 @@ var DEFAULT_SCHEDULING = {
|
|
|
1379
1379
|
endHour: 17,
|
|
1380
1380
|
timezone: "America/Los_Angeles",
|
|
1381
1381
|
minNoticeHours: 24,
|
|
1382
|
-
windowDays:
|
|
1382
|
+
windowDays: 21
|
|
1383
1383
|
};
|
|
1384
1384
|
function defaultEmailTemplates(name) {
|
|
1385
1385
|
const sign = `
|
|
@@ -9157,7 +9157,7 @@ var SCHEDULING_DEFAULTS = {
|
|
|
9157
9157
|
endHour: 17,
|
|
9158
9158
|
timezone: "America/Los_Angeles",
|
|
9159
9159
|
minNoticeHours: 24,
|
|
9160
|
-
windowDays:
|
|
9160
|
+
windowDays: 21,
|
|
9161
9161
|
summaryTemplate: "Introduction call with {{firstName}} {{lastName}}"
|
|
9162
9162
|
};
|
|
9163
9163
|
function isValidTimeZone(tz) {
|