@elaraai/e3-ui 1.0.85 → 1.0.87
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/src/bind/data-indexed.d.ts +159 -0
- package/dist/src/bind/data-indexed.d.ts.map +1 -0
- package/dist/src/bind/data-indexed.js +105 -0
- package/dist/src/bind/data-indexed.js.map +1 -0
- package/dist/src/bind/data.d.ts +5 -3
- package/dist/src/bind/data.d.ts.map +1 -1
- package/dist/src/bind/data.js +6 -0
- package/dist/src/bind/data.js.map +1 -1
- package/dist/src/bind/record.d.ts +34 -23
- package/dist/src/bind/record.d.ts.map +1 -1
- package/dist/src/bind/record.js +46 -19
- package/dist/src/bind/record.js.map +1 -1
- package/dist/src/calendar/index.d.ts +2923 -0
- package/dist/src/calendar/index.d.ts.map +1 -0
- package/dist/src/calendar/index.js +135 -0
- package/dist/src/calendar/index.js.map +1 -0
- package/dist/src/decision/queue.d.ts +3 -3
- package/dist/src/decision/queue.d.ts.map +1 -1
- package/dist/src/decision/queue.js +2 -2
- package/dist/src/decision/queue.js.map +1 -1
- package/dist/src/decision/types.d.ts +4 -0
- package/dist/src/decision/types.d.ts.map +1 -1
- package/dist/src/decision/types.js +4 -0
- package/dist/src/decision/types.js.map +1 -1
- package/dist/src/flowchart/canvas.d.ts +114 -0
- package/dist/src/flowchart/canvas.d.ts.map +1 -0
- package/dist/src/flowchart/canvas.js +84 -0
- package/dist/src/flowchart/canvas.js.map +1 -0
- package/dist/src/flowchart/flowchart.d.ts +79 -0
- package/dist/src/flowchart/flowchart.d.ts.map +1 -0
- package/dist/src/flowchart/flowchart.js +9 -0
- package/dist/src/flowchart/flowchart.js.map +1 -0
- package/dist/src/flowchart/index.d.ts +305 -0
- package/dist/src/flowchart/index.d.ts.map +1 -0
- package/dist/src/flowchart/index.js +267 -0
- package/dist/src/flowchart/index.js.map +1 -0
- package/dist/src/flowchart/library.d.ts +720 -0
- package/dist/src/flowchart/library.d.ts.map +1 -0
- package/dist/src/flowchart/library.js +611 -0
- package/dist/src/flowchart/library.js.map +1 -0
- package/dist/src/flowchart/over.d.ts +234 -0
- package/dist/src/flowchart/over.d.ts.map +1 -0
- package/dist/src/flowchart/over.js +220 -0
- package/dist/src/flowchart/over.js.map +1 -0
- package/dist/src/flowchart/patch.d.ts +64 -0
- package/dist/src/flowchart/patch.d.ts.map +1 -0
- package/dist/src/flowchart/patch.js +67 -0
- package/dist/src/flowchart/patch.js.map +1 -0
- package/dist/src/flowchart/payload.d.ts +8220 -0
- package/dist/src/flowchart/payload.d.ts.map +1 -0
- package/dist/src/flowchart/payload.js +521 -0
- package/dist/src/flowchart/payload.js.map +1 -0
- package/dist/src/flowchart/types.d.ts +393 -0
- package/dist/src/flowchart/types.d.ts.map +1 -0
- package/dist/src/flowchart/types.js +216 -0
- package/dist/src/flowchart/types.js.map +1 -0
- package/dist/src/flowchart/values.d.ts +267 -0
- package/dist/src/flowchart/values.d.ts.map +1 -0
- package/dist/src/flowchart/values.js +216 -0
- package/dist/src/flowchart/values.js.map +1 -0
- package/dist/src/flowchart/window.d.ts +521 -0
- package/dist/src/flowchart/window.d.ts.map +1 -0
- package/dist/src/flowchart/window.js +69 -0
- package/dist/src/flowchart/window.js.map +1 -0
- package/dist/src/index.d.ts +25 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +48 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +35 -3
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +72 -3
- package/dist/src/internal.js.map +1 -1
- package/dist/src/plan/assemble.d.ts +2224 -0
- package/dist/src/plan/assemble.d.ts.map +1 -0
- package/dist/src/plan/assemble.js +210 -0
- package/dist/src/plan/assemble.js.map +1 -0
- package/dist/src/plan/builders.d.ts +790 -0
- package/dist/src/plan/builders.d.ts.map +1 -0
- package/dist/src/plan/builders.js +749 -0
- package/dist/src/plan/builders.js.map +1 -0
- package/dist/src/plan/event-rows.d.ts +2565 -0
- package/dist/src/plan/event-rows.d.ts.map +1 -0
- package/dist/src/plan/event-rows.js +689 -0
- package/dist/src/plan/event-rows.js.map +1 -0
- package/dist/src/plan/factories.d.ts +458 -0
- package/dist/src/plan/factories.d.ts.map +1 -0
- package/dist/src/plan/factories.js +484 -0
- package/dist/src/plan/factories.js.map +1 -0
- package/dist/src/plan/index.d.ts +672 -0
- package/dist/src/plan/index.d.ts.map +1 -0
- package/dist/src/plan/index.js +532 -0
- package/dist/src/plan/index.js.map +1 -0
- package/dist/src/plan/ir.d.ts +2594 -0
- package/dist/src/plan/ir.d.ts.map +1 -0
- package/dist/src/plan/ir.js +78 -0
- package/dist/src/plan/ir.js.map +1 -0
- package/dist/src/plan/library.d.ts +772 -0
- package/dist/src/plan/library.d.ts.map +1 -0
- package/dist/src/plan/library.js +424 -0
- package/dist/src/plan/library.js.map +1 -0
- package/dist/src/plan/ordered-source.d.ts +27 -0
- package/dist/src/plan/ordered-source.d.ts.map +1 -0
- package/dist/src/plan/ordered-source.js +48 -0
- package/dist/src/plan/ordered-source.js.map +1 -0
- package/dist/src/plan/over.d.ts +247 -0
- package/dist/src/plan/over.d.ts.map +1 -0
- package/dist/src/plan/over.js +266 -0
- package/dist/src/plan/over.js.map +1 -0
- package/dist/src/plan/pick.d.ts +78 -0
- package/dist/src/plan/pick.d.ts.map +1 -0
- package/dist/src/plan/pick.js +146 -0
- package/dist/src/plan/pick.js.map +1 -0
- package/dist/src/plan/plan.d.ts +11611 -0
- package/dist/src/plan/plan.d.ts.map +1 -0
- package/dist/src/plan/plan.js +428 -0
- package/dist/src/plan/plan.js.map +1 -0
- package/dist/src/plan/refs.d.ts +218 -0
- package/dist/src/plan/refs.d.ts.map +1 -0
- package/dist/src/plan/refs.js +226 -0
- package/dist/src/plan/refs.js.map +1 -0
- package/dist/src/plan/root.d.ts +290 -0
- package/dist/src/plan/root.d.ts.map +1 -0
- package/dist/src/plan/root.js +463 -0
- package/dist/src/plan/root.js.map +1 -0
- package/dist/src/plan/series.d.ts +13554 -0
- package/dist/src/plan/series.d.ts.map +1 -0
- package/dist/src/plan/series.js +1921 -0
- package/dist/src/plan/series.js.map +1 -0
- package/dist/src/plan/types.d.ts +12400 -0
- package/dist/src/plan/types.d.ts.map +1 -0
- package/dist/src/plan/types.js +1335 -0
- package/dist/src/plan/types.js.map +1 -0
- package/dist/src/roster/coverage.d.ts +240 -0
- package/dist/src/roster/coverage.d.ts.map +1 -0
- package/dist/src/roster/coverage.js +109 -0
- package/dist/src/roster/coverage.js.map +1 -0
- package/dist/src/roster/index.d.ts +4028 -0
- package/dist/src/roster/index.d.ts.map +1 -0
- package/dist/src/roster/index.js +115 -0
- package/dist/src/roster/index.js.map +1 -0
- package/dist/src/roster/library.d.ts +106 -0
- package/dist/src/roster/library.d.ts.map +1 -0
- package/dist/src/roster/library.js +78 -0
- package/dist/src/roster/library.js.map +1 -0
- package/dist/src/roster/people.d.ts +50 -0
- package/dist/src/roster/people.d.ts.map +1 -0
- package/dist/src/roster/people.js +32 -0
- package/dist/src/roster/people.js.map +1 -0
- package/dist/src/roster/rules.d.ts +275 -0
- package/dist/src/roster/rules.d.ts.map +1 -0
- package/dist/src/roster/rules.js +162 -0
- package/dist/src/roster/rules.js.map +1 -0
- package/dist/src/roster/types.d.ts +672 -0
- package/dist/src/roster/types.d.ts.map +1 -0
- package/dist/src/roster/types.js +248 -0
- package/dist/src/roster/types.js.map +1 -0
- package/dist/src/roster/visibility.d.ts +66 -0
- package/dist/src/roster/visibility.d.ts.map +1 -0
- package/dist/src/roster/visibility.js +25 -0
- package/dist/src/roster/visibility.js.map +1 -0
- package/dist/src/schedule/days.d.ts +54 -0
- package/dist/src/schedule/days.d.ts.map +1 -0
- package/dist/src/schedule/days.js +68 -0
- package/dist/src/schedule/days.js.map +1 -0
- package/dist/src/schedule/events.d.ts +433 -0
- package/dist/src/schedule/events.d.ts.map +1 -0
- package/dist/src/schedule/events.js +851 -0
- package/dist/src/schedule/events.js.map +1 -0
- package/dist/src/schedule/index.d.ts +150 -0
- package/dist/src/schedule/index.d.ts.map +1 -0
- package/dist/src/schedule/index.js +132 -0
- package/dist/src/schedule/index.js.map +1 -0
- package/dist/src/schedule/library.d.ts +70 -0
- package/dist/src/schedule/library.d.ts.map +1 -0
- package/dist/src/schedule/library.js +102 -0
- package/dist/src/schedule/library.js.map +1 -0
- package/dist/src/schedule/patch.d.ts +74 -0
- package/dist/src/schedule/patch.d.ts.map +1 -0
- package/dist/src/schedule/patch.js +68 -0
- package/dist/src/schedule/patch.js.map +1 -0
- package/dist/src/schedule/record-window.d.ts +189 -0
- package/dist/src/schedule/record-window.d.ts.map +1 -0
- package/dist/src/schedule/record-window.js +95 -0
- package/dist/src/schedule/record-window.js.map +1 -0
- package/dist/src/schedule/resources.d.ts +165 -0
- package/dist/src/schedule/resources.d.ts.map +1 -0
- package/dist/src/schedule/resources.js +234 -0
- package/dist/src/schedule/resources.js.map +1 -0
- package/dist/src/schedule/templates.d.ts +47 -0
- package/dist/src/schedule/templates.d.ts.map +1 -0
- package/dist/src/schedule/templates.js +61 -0
- package/dist/src/schedule/templates.js.map +1 -0
- package/dist/src/schedule/types.d.ts +1677 -0
- package/dist/src/schedule/types.d.ts.map +1 -0
- package/dist/src/schedule/types.js +374 -0
- package/dist/src/schedule/types.js.map +1 -0
- package/dist/src/schedule/window.d.ts +154 -0
- package/dist/src/schedule/window.d.ts.map +1 -0
- package/dist/src/schedule/window.js +363 -0
- package/dist/src/schedule/window.js.map +1 -0
- package/dist/src/sheet/bridge.d.ts +385 -0
- package/dist/src/sheet/bridge.d.ts.map +1 -0
- package/dist/src/sheet/bridge.js +809 -0
- package/dist/src/sheet/bridge.js.map +1 -0
- package/dist/src/sheet/columns.d.ts +410 -0
- package/dist/src/sheet/columns.d.ts.map +1 -0
- package/dist/src/sheet/columns.js +99 -0
- package/dist/src/sheet/columns.js.map +1 -0
- package/dist/src/sheet/context-bridge.d.ts +48 -0
- package/dist/src/sheet/context-bridge.d.ts.map +1 -0
- package/dist/src/sheet/context-bridge.js +216 -0
- package/dist/src/sheet/context-bridge.js.map +1 -0
- package/dist/src/sheet/draft-bridge.d.ts +37 -0
- package/dist/src/sheet/draft-bridge.d.ts.map +1 -0
- package/dist/src/sheet/draft-bridge.js +153 -0
- package/dist/src/sheet/draft-bridge.js.map +1 -0
- package/dist/src/sheet/drafts.d.ts +14 -0
- package/dist/src/sheet/drafts.d.ts.map +1 -0
- package/dist/src/sheet/drafts.js +14 -0
- package/dist/src/sheet/drafts.js.map +1 -0
- package/dist/src/sheet/editing-bridge.d.ts +40 -0
- package/dist/src/sheet/editing-bridge.d.ts.map +1 -0
- package/dist/src/sheet/editing-bridge.js +231 -0
- package/dist/src/sheet/editing-bridge.js.map +1 -0
- package/dist/src/sheet/editing-types.d.ts +268 -0
- package/dist/src/sheet/editing-types.d.ts.map +1 -0
- package/dist/src/sheet/editing-types.js +34 -0
- package/dist/src/sheet/editing-types.js.map +1 -0
- package/dist/src/sheet/edits.d.ts +37 -0
- package/dist/src/sheet/edits.d.ts.map +1 -0
- package/dist/src/sheet/edits.js +31 -0
- package/dist/src/sheet/edits.js.map +1 -0
- package/dist/src/sheet/fields.d.ts +693 -0
- package/dist/src/sheet/fields.d.ts.map +1 -0
- package/dist/src/sheet/fields.js +280 -0
- package/dist/src/sheet/fields.js.map +1 -0
- package/dist/src/sheet/group.d.ts +165 -0
- package/dist/src/sheet/group.d.ts.map +1 -0
- package/dist/src/sheet/group.js +52 -0
- package/dist/src/sheet/group.js.map +1 -0
- package/dist/src/sheet/index.d.ts +542 -0
- package/dist/src/sheet/index.d.ts.map +1 -0
- package/dist/src/sheet/index.js +387 -0
- package/dist/src/sheet/index.js.map +1 -0
- package/dist/src/sheet/library.d.ts +284 -0
- package/dist/src/sheet/library.d.ts.map +1 -0
- package/dist/src/sheet/library.js +259 -0
- package/dist/src/sheet/library.js.map +1 -0
- package/dist/src/sheet/link.d.ts +398 -0
- package/dist/src/sheet/link.d.ts.map +1 -0
- package/dist/src/sheet/link.js +228 -0
- package/dist/src/sheet/link.js.map +1 -0
- package/dist/src/sheet/record.d.ts +75 -0
- package/dist/src/sheet/record.d.ts.map +1 -0
- package/dist/src/sheet/record.js +128 -0
- package/dist/src/sheet/record.js.map +1 -0
- package/dist/src/sheet/registers.d.ts +681 -0
- package/dist/src/sheet/registers.d.ts.map +1 -0
- package/dist/src/sheet/registers.js +671 -0
- package/dist/src/sheet/registers.js.map +1 -0
- package/dist/src/sheet/root.d.ts +329 -0
- package/dist/src/sheet/root.d.ts.map +1 -0
- package/dist/src/sheet/root.js +511 -0
- package/dist/src/sheet/root.js.map +1 -0
- package/dist/src/sheet/seed-bridge.d.ts +14 -0
- package/dist/src/sheet/seed-bridge.d.ts.map +1 -0
- package/dist/src/sheet/seed-bridge.js +51 -0
- package/dist/src/sheet/seed-bridge.js.map +1 -0
- package/dist/src/sheet/sheet.d.ts +11819 -0
- package/dist/src/sheet/sheet.d.ts.map +1 -0
- package/dist/src/sheet/sheet.js +236 -0
- package/dist/src/sheet/sheet.js.map +1 -0
- package/dist/src/sheet/sub-rows.d.ts +299 -0
- package/dist/src/sheet/sub-rows.d.ts.map +1 -0
- package/dist/src/sheet/sub-rows.js +272 -0
- package/dist/src/sheet/sub-rows.js.map +1 -0
- package/dist/src/sheet/templates.d.ts +161 -0
- package/dist/src/sheet/templates.d.ts.map +1 -0
- package/dist/src/sheet/templates.js +122 -0
- package/dist/src/sheet/templates.js.map +1 -0
- package/dist/src/sheet/transactions.d.ts +76 -0
- package/dist/src/sheet/transactions.d.ts.map +1 -0
- package/dist/src/sheet/transactions.js +40 -0
- package/dist/src/sheet/transactions.js.map +1 -0
- package/dist/src/sheet/types.d.ts +15226 -0
- package/dist/src/sheet/types.d.ts.map +1 -0
- package/dist/src/sheet/types.js +1070 -0
- package/dist/src/sheet/types.js.map +1 -0
- package/dist/src/sheet/views.d.ts +29 -0
- package/dist/src/sheet/views.d.ts.map +1 -0
- package/dist/src/sheet/views.js +43 -0
- package/dist/src/sheet/views.js.map +1 -0
- package/dist/src/studio/component.d.ts.map +1 -1
- package/dist/src/studio/component.js +11 -8
- package/dist/src/studio/component.js.map +1 -1
- package/dist/src/utils/derive.d.ts +134 -8
- package/dist/src/utils/derive.d.ts.map +1 -1
- package/dist/src/utils/derive.js +409 -7
- package/dist/src/utils/derive.js.map +1 -1
- package/dist/src/utils/ordered-source.d.ts +38 -0
- package/dist/src/utils/ordered-source.d.ts.map +1 -0
- package/dist/src/utils/ordered-source.js +45 -0
- package/dist/src/utils/ordered-source.js.map +1 -0
- package/dist/src/utils/row-inspector.d.ts +36 -0
- package/dist/src/utils/row-inspector.d.ts.map +1 -0
- package/dist/src/utils/row-inspector.js +49 -0
- package/dist/src/utils/row-inspector.js.map +1 -0
- package/dist/test/bind/data/data.examples.d.ts +21 -19
- package/dist/test/bind/data/data.examples.d.ts.map +1 -1
- package/dist/test/bind/data/data.examples.js +122 -122
- package/dist/test/bind/data/data.examples.js.map +1 -1
- package/dist/test/bind/record/record.examples.d.ts.map +1 -1
- package/dist/test/bind/record/record.examples.js +9 -9
- package/dist/test/bind/record/record.examples.js.map +1 -1
- package/dist/test/calendar/calendar-records.examples.d.ts +228 -0
- package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -0
- package/dist/test/calendar/calendar-records.examples.js +91 -0
- package/dist/test/calendar/calendar-records.examples.js.map +1 -0
- package/dist/test/calendar/calendar.examples.d.ts +776 -0
- package/dist/test/calendar/calendar.examples.d.ts.map +1 -0
- package/dist/test/calendar/calendar.examples.js +336 -0
- package/dist/test/calendar/calendar.examples.js.map +1 -0
- package/dist/test/decision/journal.examples.d.ts +28 -28
- package/dist/test/decision/journal.examples.d.ts.map +1 -1
- package/dist/test/decision/journal.examples.js +4 -4
- package/dist/test/decision/journal.examples.js.map +1 -1
- package/dist/test/decision/queue.examples.d.ts.map +1 -1
- package/dist/test/decision/queue.examples.js +5 -7
- package/dist/test/decision/queue.examples.js.map +1 -1
- package/dist/test/flowchart/flowchart.examples.d.ts +3713 -0
- package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -0
- package/dist/test/flowchart/flowchart.examples.js +465 -0
- package/dist/test/flowchart/flowchart.examples.js.map +1 -0
- package/dist/test/plan/plan-events.examples.d.ts +3666 -0
- package/dist/test/plan/plan-events.examples.d.ts.map +1 -0
- package/dist/test/plan/plan-events.examples.js +773 -0
- package/dist/test/plan/plan-events.examples.js.map +1 -0
- package/dist/test/plan/plan-records.examples.d.ts +3 -0
- package/dist/test/plan/plan-records.examples.d.ts.map +1 -0
- package/dist/test/plan/plan-records.examples.js +45 -0
- package/dist/test/plan/plan-records.examples.js.map +1 -0
- package/dist/test/plan/plan-windows.examples.d.ts +588 -0
- package/dist/test/plan/plan-windows.examples.d.ts.map +1 -0
- package/dist/test/plan/plan-windows.examples.js +170 -0
- package/dist/test/plan/plan-windows.examples.js.map +1 -0
- package/dist/test/plan/plan.examples.d.ts +8095 -0
- package/dist/test/plan/plan.examples.d.ts.map +1 -0
- package/dist/test/plan/plan.examples.js +2500 -0
- package/dist/test/plan/plan.examples.js.map +1 -0
- package/dist/test/roster/domain.examples.d.ts +367 -0
- package/dist/test/roster/domain.examples.d.ts.map +1 -0
- package/dist/test/roster/domain.examples.js +72 -0
- package/dist/test/roster/domain.examples.js.map +1 -0
- package/dist/test/roster/roster-records.examples.d.ts +729 -0
- package/dist/test/roster/roster-records.examples.d.ts.map +1 -0
- package/dist/test/roster/roster-records.examples.js +86 -0
- package/dist/test/roster/roster-records.examples.js.map +1 -0
- package/dist/test/roster/roster.examples.d.ts +750 -0
- package/dist/test/roster/roster.examples.d.ts.map +1 -0
- package/dist/test/roster/roster.examples.js +198 -0
- package/dist/test/roster/roster.examples.js.map +1 -0
- package/dist/test/roster/warehouse.d.ts +87 -0
- package/dist/test/roster/warehouse.d.ts.map +1 -0
- package/dist/test/roster/warehouse.js +883 -0
- package/dist/test/roster/warehouse.js.map +1 -0
- package/dist/test/sheet/sheet-link.examples.d.ts +7 -0
- package/dist/test/sheet/sheet-link.examples.d.ts.map +1 -0
- package/dist/test/sheet/sheet-link.examples.js +41 -0
- package/dist/test/sheet/sheet-link.examples.js.map +1 -0
- package/dist/test/sheet/sheet-records.examples.d.ts +421 -0
- package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -0
- package/dist/test/sheet/sheet-records.examples.js +79 -0
- package/dist/test/sheet/sheet-records.examples.js.map +1 -0
- package/dist/test/sheet/sheet-transactions.examples.d.ts +7 -0
- package/dist/test/sheet/sheet-transactions.examples.d.ts.map +1 -0
- package/dist/test/sheet/sheet-transactions.examples.js +58 -0
- package/dist/test/sheet/sheet-transactions.examples.js.map +1 -0
- package/dist/test/sheet/sheet.examples.d.ts +5562 -0
- package/dist/test/sheet/sheet.examples.d.ts.map +1 -0
- package/dist/test/sheet/sheet.examples.js +1178 -0
- package/dist/test/sheet/sheet.examples.js.map +1 -0
- package/dist/test/studio/studio.examples.d.ts.map +1 -1
- package/dist/test/studio/studio.examples.js +11 -11
- package/dist/test/studio/studio.examples.js.map +1 -1
- package/package.json +12 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/schedule/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* `Schedule` (#1218): the event and resource kinds the Calendar and Plan's
|
|
7
|
+
* builder share, so the very same records drive either (`Calendar Spec.md`
|
|
8
|
+
* §4, `Plan Builder Spec.md` §4).
|
|
9
|
+
*
|
|
10
|
+
* - `Schedule.resources(rows, config)`: one resource kind, read from any keyed
|
|
11
|
+
* rows, usually a record's `read()`; a schedule never writes them. Plan's
|
|
12
|
+
* options: groups, nesting, the gutter, rollups, measures and paging.
|
|
13
|
+
* - `Schedule.events(record, config)`: one event kind, a record of its own
|
|
14
|
+
* bound with its patch mutation, closed behind East functions over beast2
|
|
15
|
+
* bytes so a builder's payload is one type whatever the records hold.
|
|
16
|
+
* Plan's options sit beside the Calendar's (#1190): how a kind draws, an
|
|
17
|
+
* instant kind's `at`, and its roles' fields.
|
|
18
|
+
* - `Schedule.field`: the inspector's typed form, east-ui's `Fields`.
|
|
19
|
+
* - `Schedule.patch`: what a library card dropped on an event sets, a patch
|
|
20
|
+
* over an event kind's row type (#1195).
|
|
21
|
+
* - `Schedule.days` and `Schedule.unscheduled`: the keys a large record's day
|
|
22
|
+
* index and backlog index file an event under.
|
|
23
|
+
* - `Schedule.Types`: what an author meets.
|
|
24
|
+
*
|
|
25
|
+
* A builder takes its kinds by slot — `resources={{ people: … }}`,
|
|
26
|
+
* `events={{ shift: … }}` — and checks them across slots
|
|
27
|
+
* (`ScheduleInternal.check`) before it builds them under their slot names:
|
|
28
|
+
* the Calendar with `build(slot)`, Plan's builder with `buildPlan(slot)`.
|
|
29
|
+
*
|
|
30
|
+
* @packageDocumentation
|
|
31
|
+
*/
|
|
32
|
+
import { type EastType } from "@elaraai/east";
|
|
33
|
+
import { type FieldsNamespace } from "@elaraai/east-ui";
|
|
34
|
+
import { scheduleDays, scheduleUnscheduled } from "./days.js";
|
|
35
|
+
import { scheduleTemplates } from "./templates.js";
|
|
36
|
+
import { scheduleEvents, type ScheduleEventKind } from "./events.js";
|
|
37
|
+
import { SchedulePatchTypeFor, schedulePatch } from "./patch.js";
|
|
38
|
+
import { scheduleResources, type ScheduleResourceKind } from "./resources.js";
|
|
39
|
+
import { PlanEventItemType, PlanEventKindType, PlanEventReadType, PlanEventRolesType, PlanResourceRowType, PlanResourcesType, ScheduleCandidateType, ScheduleClockType, ScheduleDraftsType, ScheduleDurationType, ScheduleEventRefType, ScheduleGestureType, ScheduleItemType, ScheduleKindType, ScheduleOverlapsType, ScheduleReadyEntryType, ScheduleResourceRefType, ScheduleResourceRowType, ScheduleResourcesType, ScheduleStatusCasesFor, ScheduleStatusType, ScheduleTemplateType, ScheduleWriteType } from "./types.js";
|
|
40
|
+
export * from "./types.js";
|
|
41
|
+
export { scheduleTemplates, type ScheduleTemplates, type ScheduleTemplatesConfig } from "./templates.js";
|
|
42
|
+
export { scheduleEvents, type ScheduleAtField, type ScheduleBacklog, type ScheduleEventKind, type ScheduleEventsBase, type ScheduleEventsConfig, type ScheduleFloatField, type ScheduleInstantEventsConfig, type ScheduleInstantField, type ScheduleInstantTemplate, type ScheduleOverlapsLiteral, type ScheduleQuantity, type ScheduleRecordHandle, type ScheduleResourceField, type ScheduleResourceOf, type ScheduleStateField, type ScheduleStatusCasesOf, type ScheduleStatusConfig, type ScheduleStatusField, type ScheduleStringField, type ScheduleTemplate, type ScheduleValuesOf, } from "./events.js";
|
|
43
|
+
export { SCHEDULE_DEF, scheduleResources, type ScheduleResourceKind, type ScheduleResourcesConfig } from "./resources.js";
|
|
44
|
+
export { scheduleDays, scheduleUnscheduled } from "./days.js";
|
|
45
|
+
export { SchedulePatchTypeFor, schedulePatch, type SchedulePatchInput, type SchedulePatchOf } from "./patch.js";
|
|
46
|
+
/**
|
|
47
|
+
* The checks a builder makes across its slots: at least one event kind;
|
|
48
|
+
* each a `Schedule.events` kind, each resource a `Schedule.resources` one;
|
|
49
|
+
* and each slot an event kind's resource names, there and keyed by String,
|
|
50
|
+
* the keys its resource field holds.
|
|
51
|
+
*
|
|
52
|
+
* @param resources - The builder's resource kinds, by slot
|
|
53
|
+
* @param events - Its event kinds, by slot
|
|
54
|
+
* @param builder - The builder, for the refusals (`Calendar.Builder`, `Plan`)
|
|
55
|
+
* @throws {Error} Naming the slot and the remedy
|
|
56
|
+
*/
|
|
57
|
+
export declare function scheduleCheck(resources: Readonly<Record<string, ScheduleResourceKind<EastType, EastType>>>, events: Readonly<Record<string, ScheduleEventKind<EastType, EastType>>>, builder: string): void;
|
|
58
|
+
/**
|
|
59
|
+
* The type of the {@link Schedule} namespace — declared explicitly so the
|
|
60
|
+
* declaration emit stays within TypeScript's serialization limit.
|
|
61
|
+
*/
|
|
62
|
+
export interface ScheduleNamespace {
|
|
63
|
+
/** One event kind: a record of its own, bound with its patch mutation. */
|
|
64
|
+
events: typeof scheduleEvents;
|
|
65
|
+
/** Reads typed templates from bound keyed data. */
|
|
66
|
+
templates: typeof scheduleTemplates;
|
|
67
|
+
/** One resource kind, read from keyed rows. */
|
|
68
|
+
resources: typeof scheduleResources;
|
|
69
|
+
/** The inspector's typed form: east-ui's `Fields`. */
|
|
70
|
+
field: FieldsNamespace;
|
|
71
|
+
/** What a library card dropped on an event sets: a patch over an event kind's row type, every field an `Option`. */
|
|
72
|
+
patch: typeof schedulePatch;
|
|
73
|
+
/** The days an event touches: what a day index files it under. */
|
|
74
|
+
days: typeof scheduleDays;
|
|
75
|
+
/** What a backlog index files a row under: its due date while it has no start. */
|
|
76
|
+
unscheduled: typeof scheduleUnscheduled;
|
|
77
|
+
/** What an author meets. */
|
|
78
|
+
Types: {
|
|
79
|
+
/** A resource: its kind's slot name and its key's text. */
|
|
80
|
+
ResourceRef: typeof ScheduleResourceRefType;
|
|
81
|
+
/** An event: its kind's slot name and its record key's text. */
|
|
82
|
+
EventRef: typeof ScheduleEventRefType;
|
|
83
|
+
/** How one case of a status shows. */
|
|
84
|
+
Status: typeof ScheduleStatusType;
|
|
85
|
+
/** `StatusCases(V)`: one Status per case of a status variant. */
|
|
86
|
+
StatusCases: typeof ScheduleStatusCasesFor;
|
|
87
|
+
/** A time of day. */
|
|
88
|
+
Clock: typeof ScheduleClockType;
|
|
89
|
+
/** How long something takes. */
|
|
90
|
+
Duration: typeof ScheduleDurationType;
|
|
91
|
+
/** Where a drop would put an event: what a builder's `canDrop` is asked. */
|
|
92
|
+
Candidate: typeof ScheduleCandidateType;
|
|
93
|
+
/** `Patch(R)`: a patch over an event kind's row type, every field an `Option` — what `Schedule.patch` builds. */
|
|
94
|
+
Patch: typeof SchedulePatchTypeFor;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* The event and resource kinds the Calendar and Plan's builder share (see the
|
|
99
|
+
* module docs).
|
|
100
|
+
*/
|
|
101
|
+
export declare const Schedule: ScheduleNamespace;
|
|
102
|
+
/**
|
|
103
|
+
* The type of {@link ScheduleInternal}: the public namespace, the checks
|
|
104
|
+
* across a builder's slots, and the kinds' wire.
|
|
105
|
+
*/
|
|
106
|
+
export interface ScheduleInternalNamespace extends Omit<ScheduleNamespace, "Types"> {
|
|
107
|
+
/** The checks across a builder's slots. */
|
|
108
|
+
check: typeof scheduleCheck;
|
|
109
|
+
/** What an author meets, and the kinds' wire. */
|
|
110
|
+
Types: ScheduleNamespace["Types"] & {
|
|
111
|
+
/** One event kind, closed. */
|
|
112
|
+
Kind: typeof ScheduleKindType;
|
|
113
|
+
/** One resource kind, its rows resolved. */
|
|
114
|
+
Resources: typeof ScheduleResourcesType;
|
|
115
|
+
/** One resource, resolved. */
|
|
116
|
+
ResourceRow: typeof ScheduleResourceRowType;
|
|
117
|
+
/** One event, as every view draws it. */
|
|
118
|
+
Item: typeof ScheduleItemType;
|
|
119
|
+
/** One gesture. */
|
|
120
|
+
Gesture: typeof ScheduleGestureType;
|
|
121
|
+
/** One gesture, written into one entry. */
|
|
122
|
+
Write: typeof ScheduleWriteType;
|
|
123
|
+
/** One template. */
|
|
124
|
+
Template: typeof ScheduleTemplateType;
|
|
125
|
+
/** The drafts a seam reads, by entry id. */
|
|
126
|
+
Drafts: typeof ScheduleDraftsType;
|
|
127
|
+
/** One drafted entry, as `ready` reads it. */
|
|
128
|
+
ReadyEntry: typeof ScheduleReadyEntryType;
|
|
129
|
+
/** Whether two events of a kind on one resource at once are a conflict. */
|
|
130
|
+
Overlaps: typeof ScheduleOverlapsType;
|
|
131
|
+
/** One event kind as Plan's builder takes it. */
|
|
132
|
+
PlanKind: typeof PlanEventKindType;
|
|
133
|
+
/** One event as Plan draws it. */
|
|
134
|
+
PlanItem: typeof PlanEventItemType;
|
|
135
|
+
/** One event read by its key: as Plan draws it, and its row (#1197). */
|
|
136
|
+
PlanRead: typeof PlanEventReadType;
|
|
137
|
+
/** The fields an event kind's roles read on a Plan. */
|
|
138
|
+
PlanRoles: typeof PlanEventRolesType;
|
|
139
|
+
/** One resource kind as Plan's builder takes it. */
|
|
140
|
+
PlanResources: typeof PlanResourcesType;
|
|
141
|
+
/** One resource as Plan's builder takes it. */
|
|
142
|
+
PlanResourceRow: typeof PlanResourceRowType;
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* `Schedule` for builders and renderers: the public namespace, the checks
|
|
147
|
+
* across slots, and the kinds' wire (`@elaraai/e3-ui/internal`).
|
|
148
|
+
*/
|
|
149
|
+
export declare const ScheduleInternal: ScheduleInternalNamespace;
|
|
150
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schedule/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* `Schedule` (#1218): the event and resource kinds the Calendar and Plan's
|
|
7
|
+
* builder share, so the very same records drive either (`Calendar Spec.md`
|
|
8
|
+
* §4, `Plan Builder Spec.md` §4).
|
|
9
|
+
*
|
|
10
|
+
* - `Schedule.resources(rows, config)`: one resource kind, read from any keyed
|
|
11
|
+
* rows, usually a record's `read()`; a schedule never writes them. Plan's
|
|
12
|
+
* options: groups, nesting, the gutter, rollups, measures and paging.
|
|
13
|
+
* - `Schedule.events(record, config)`: one event kind, a record of its own
|
|
14
|
+
* bound with its patch mutation, closed behind East functions over beast2
|
|
15
|
+
* bytes so a builder's payload is one type whatever the records hold.
|
|
16
|
+
* Plan's options sit beside the Calendar's (#1190): how a kind draws, an
|
|
17
|
+
* instant kind's `at`, and its roles' fields.
|
|
18
|
+
* - `Schedule.field`: the inspector's typed form, east-ui's `Fields`.
|
|
19
|
+
* - `Schedule.patch`: what a library card dropped on an event sets, a patch
|
|
20
|
+
* over an event kind's row type (#1195).
|
|
21
|
+
* - `Schedule.days` and `Schedule.unscheduled`: the keys a large record's day
|
|
22
|
+
* index and backlog index file an event under.
|
|
23
|
+
* - `Schedule.Types`: what an author meets.
|
|
24
|
+
*
|
|
25
|
+
* A builder takes its kinds by slot — `resources={{ people: … }}`,
|
|
26
|
+
* `events={{ shift: … }}` — and checks them across slots
|
|
27
|
+
* (`ScheduleInternal.check`) before it builds them under their slot names:
|
|
28
|
+
* the Calendar with `build(slot)`, Plan's builder with `buildPlan(slot)`.
|
|
29
|
+
*
|
|
30
|
+
* @packageDocumentation
|
|
31
|
+
*/
|
|
32
|
+
import { StringType, isTypeEqual, printType } from "@elaraai/east";
|
|
33
|
+
import { Fields } from "@elaraai/east-ui";
|
|
34
|
+
import { scheduleDays, scheduleUnscheduled } from "./days.js";
|
|
35
|
+
import { scheduleTemplates } from "./templates.js";
|
|
36
|
+
import { scheduleEvents } from "./events.js";
|
|
37
|
+
import { SchedulePatchTypeFor, schedulePatch } from "./patch.js";
|
|
38
|
+
import { SCHEDULE_DEF, scheduleResources } from "./resources.js";
|
|
39
|
+
import { PlanEventItemType, PlanEventKindType, PlanEventReadType, PlanEventRolesType, PlanResourceRowType, PlanResourcesType, ScheduleCandidateType, ScheduleClockType, ScheduleDraftsType, ScheduleDurationType, ScheduleEventRefType, ScheduleGestureType, ScheduleItemType, ScheduleKindType, ScheduleOverlapsType, ScheduleReadyEntryType, ScheduleResourceRefType, ScheduleResourceRowType, ScheduleResourcesType, ScheduleStatusCasesFor, ScheduleStatusType, ScheduleTemplateType, ScheduleWriteType, } from "./types.js";
|
|
40
|
+
export * from "./types.js";
|
|
41
|
+
export { scheduleTemplates } from "./templates.js";
|
|
42
|
+
export { scheduleEvents, } from "./events.js";
|
|
43
|
+
export { SCHEDULE_DEF, scheduleResources } from "./resources.js";
|
|
44
|
+
export { scheduleDays, scheduleUnscheduled } from "./days.js";
|
|
45
|
+
export { SchedulePatchTypeFor, schedulePatch } from "./patch.js";
|
|
46
|
+
/**
|
|
47
|
+
* The checks a builder makes across its slots: at least one event kind;
|
|
48
|
+
* each a `Schedule.events` kind, each resource a `Schedule.resources` one;
|
|
49
|
+
* and each slot an event kind's resource names, there and keyed by String,
|
|
50
|
+
* the keys its resource field holds.
|
|
51
|
+
*
|
|
52
|
+
* @param resources - The builder's resource kinds, by slot
|
|
53
|
+
* @param events - Its event kinds, by slot
|
|
54
|
+
* @param builder - The builder, for the refusals (`Calendar.Builder`, `Plan`)
|
|
55
|
+
* @throws {Error} Naming the slot and the remedy
|
|
56
|
+
*/
|
|
57
|
+
export function scheduleCheck(resources, events, builder) {
|
|
58
|
+
for (const [slot, kind] of Object.entries(resources)) {
|
|
59
|
+
if (kind?.[SCHEDULE_DEF] !== "resources") {
|
|
60
|
+
throw new Error(`${builder}: resources.${slot} is a resource kind — Schedule.resources(rows, { name, icon, label })`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const kinds = Object.entries(events);
|
|
64
|
+
if (kinds.length === 0) {
|
|
65
|
+
throw new Error(`${builder}: \`events\` declares at least one event kind — Schedule.events(record, { … }) under its slot name`);
|
|
66
|
+
}
|
|
67
|
+
for (const [slot, kind] of kinds) {
|
|
68
|
+
if (kind?.[SCHEDULE_DEF] !== "events") {
|
|
69
|
+
throw new Error(`${builder}: events.${slot} is an event kind — Schedule.events(record, { … })`);
|
|
70
|
+
}
|
|
71
|
+
for (const taken of kind.takes) {
|
|
72
|
+
const target = resources[taken];
|
|
73
|
+
if (target === undefined) {
|
|
74
|
+
throw new Error(`${builder}: events.${slot}'s resource names the slot "${taken}", and \`resources\` has no slot of that name (${Object.keys(resources).join(", ") || "none"})`);
|
|
75
|
+
}
|
|
76
|
+
if (!isTypeEqual(target.keyType, StringType)) {
|
|
77
|
+
throw new Error(`${builder}: events.${slot}'s resource field holds String keys of resources.${taken}, which is keyed by ${printType(target.keyType)} — key the resources by String`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The event and resource kinds the Calendar and Plan's builder share (see the
|
|
84
|
+
* module docs).
|
|
85
|
+
*/
|
|
86
|
+
export const Schedule = {
|
|
87
|
+
events: scheduleEvents,
|
|
88
|
+
templates: scheduleTemplates,
|
|
89
|
+
resources: scheduleResources,
|
|
90
|
+
field: Fields,
|
|
91
|
+
patch: schedulePatch,
|
|
92
|
+
days: scheduleDays,
|
|
93
|
+
unscheduled: scheduleUnscheduled,
|
|
94
|
+
Types: {
|
|
95
|
+
ResourceRef: ScheduleResourceRefType,
|
|
96
|
+
EventRef: ScheduleEventRefType,
|
|
97
|
+
Status: ScheduleStatusType,
|
|
98
|
+
StatusCases: ScheduleStatusCasesFor,
|
|
99
|
+
Clock: ScheduleClockType,
|
|
100
|
+
Duration: ScheduleDurationType,
|
|
101
|
+
Candidate: ScheduleCandidateType,
|
|
102
|
+
Patch: SchedulePatchTypeFor,
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* `Schedule` for builders and renderers: the public namespace, the checks
|
|
107
|
+
* across slots, and the kinds' wire (`@elaraai/e3-ui/internal`).
|
|
108
|
+
*/
|
|
109
|
+
export const ScheduleInternal = {
|
|
110
|
+
...Schedule,
|
|
111
|
+
check: scheduleCheck,
|
|
112
|
+
Types: {
|
|
113
|
+
...Schedule.Types,
|
|
114
|
+
Kind: ScheduleKindType,
|
|
115
|
+
Resources: ScheduleResourcesType,
|
|
116
|
+
ResourceRow: ScheduleResourceRowType,
|
|
117
|
+
Item: ScheduleItemType,
|
|
118
|
+
Gesture: ScheduleGestureType,
|
|
119
|
+
Write: ScheduleWriteType,
|
|
120
|
+
Template: ScheduleTemplateType,
|
|
121
|
+
Drafts: ScheduleDraftsType,
|
|
122
|
+
ReadyEntry: ScheduleReadyEntryType,
|
|
123
|
+
Overlaps: ScheduleOverlapsType,
|
|
124
|
+
PlanKind: PlanEventKindType,
|
|
125
|
+
PlanItem: PlanEventItemType,
|
|
126
|
+
PlanRead: PlanEventReadType,
|
|
127
|
+
PlanRoles: PlanEventRolesType,
|
|
128
|
+
PlanResources: PlanResourcesType,
|
|
129
|
+
PlanResourceRow: PlanResourceRowType,
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/schedule/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/** Shared author-defined library cards for record-backed builders. */
|
|
6
|
+
import { ArrayType, OptionType, StringType, StructType, type EastType, type ExprType, type SubtypeExprOrValue } from "@elaraai/east";
|
|
7
|
+
import type { ScheduleEventKind } from "./events.js";
|
|
8
|
+
/** One keyed card, carrying the field writes its drop makes. */
|
|
9
|
+
export declare const ScheduleLibraryCardType: StructType<{
|
|
10
|
+
readonly key: StringType;
|
|
11
|
+
readonly label: StringType;
|
|
12
|
+
readonly meta: OptionType<StringType>;
|
|
13
|
+
readonly group: OptionType<StringType>;
|
|
14
|
+
readonly sets: ArrayType<StructType<{
|
|
15
|
+
readonly path: ArrayType<StringType>;
|
|
16
|
+
readonly value: import("@elaraai/east").BlobType;
|
|
17
|
+
}>>;
|
|
18
|
+
}>;
|
|
19
|
+
/** Type representing {@link ScheduleLibraryCardType}. */
|
|
20
|
+
export type ScheduleLibraryCardType = typeof ScheduleLibraryCardType;
|
|
21
|
+
/** An author's tab, resolved for a renderer. */
|
|
22
|
+
export declare const ScheduleAuthorTabType: StructType<{
|
|
23
|
+
readonly name: StringType;
|
|
24
|
+
readonly icon: OptionType<StringType>;
|
|
25
|
+
readonly drop: OptionType<StringType>;
|
|
26
|
+
readonly cards: ArrayType<StructType<{
|
|
27
|
+
readonly key: StringType;
|
|
28
|
+
readonly label: StringType;
|
|
29
|
+
readonly meta: OptionType<StringType>;
|
|
30
|
+
readonly group: OptionType<StringType>;
|
|
31
|
+
readonly sets: ArrayType<StructType<{
|
|
32
|
+
readonly path: ArrayType<StringType>;
|
|
33
|
+
readonly value: import("@elaraai/east").BlobType;
|
|
34
|
+
}>>;
|
|
35
|
+
}>>;
|
|
36
|
+
}>;
|
|
37
|
+
/** Typed accessors describing one author-defined library card. */
|
|
38
|
+
export interface ScheduleLibraryTabConfig<K extends EastType, R extends EastType, P extends EastType = EastType> {
|
|
39
|
+
/** The tab's name: its label in the tab row. */
|
|
40
|
+
name: string;
|
|
41
|
+
/** A Font Awesome solid icon name for the tab's cards. */
|
|
42
|
+
icon?: string;
|
|
43
|
+
/** The card's name. */
|
|
44
|
+
label: (row: ExprType<R>, key: ExprType<K>) => SubtypeExprOrValue<StringType>;
|
|
45
|
+
/** The line under it — return the field's `Option`. */
|
|
46
|
+
meta?: (row: ExprType<R>, key: ExprType<K>) => SubtypeExprOrValue<OptionType<StringType>>;
|
|
47
|
+
/** The tab's group the card sits under. */
|
|
48
|
+
group?: (row: ExprType<R>, key: ExprType<K>) => SubtypeExprOrValue<StringType>;
|
|
49
|
+
/** What a card dropped on an event sets: `Schedule.patch(KindRowType, …)`, whose type names the event kind it lands on. */
|
|
50
|
+
drop?: (row: ExprType<R>, key: ExprType<K>) => ExprType<P>;
|
|
51
|
+
}
|
|
52
|
+
/** An author's declared tab, before its accessors are reified. */
|
|
53
|
+
export interface ScheduleTabDeclaration {
|
|
54
|
+
/** Identifies an author-defined tab. */
|
|
55
|
+
readonly kind: "tab";
|
|
56
|
+
/** The keyed rows. */
|
|
57
|
+
readonly rows: unknown;
|
|
58
|
+
/** The row accessors. */
|
|
59
|
+
readonly config: ScheduleLibraryTabConfig<EastType, EastType>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Resolves author cards and checks the patch type against the event kinds.
|
|
63
|
+
* @param tab - The declared tab
|
|
64
|
+
* @param events - Event kinds by slot
|
|
65
|
+
* @param owner - The builder's name for diagnostics
|
|
66
|
+
* @returns The closed author tab
|
|
67
|
+
* @throws {Error} When rows are not keyed, or a drop matches zero or several kinds
|
|
68
|
+
*/
|
|
69
|
+
export declare function buildScheduleTab(tab: ScheduleTabDeclaration, events: readonly (readonly [string, ScheduleEventKind<EastType, EastType>])[], owner: string): ExprType<typeof ScheduleAuthorTabType>;
|
|
70
|
+
//# sourceMappingURL=library.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../src/schedule/library.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sEAAsE;AACtE,OAAO,EACH,SAAS,EAAwB,UAAU,EAAE,UAAU,EAAE,UAAU,EACnE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAqB,KAAK,kBAAkB,EAC3E,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIrD,gEAAgE;AAChE,eAAO,MAAM,uBAAuB;;;;;;;;;EAMlC,CAAC;AAEH,yDAAyD;AACzD,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC;AAErE,gDAAgD;AAChD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;EAEhC,CAAC;AAEH,kEAAkE;AAClE,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ;IAC3G,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC9E,uDAAuD;IACvD,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1F,2CAA2C;IAC3C,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC/E,2HAA2H;IAC3H,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;CAC9D;AAED,kEAAkE;AAClE,MAAM,WAAW,sBAAsB;IACnC,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,yBAAyB;IACzB,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CACjE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,sBAAsB,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,qBAAqB,CAAC,CA0ElM"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/** Shared author-defined library cards for record-backed builders. */
|
|
6
|
+
import { ArrayType, DictType, East, Expr, OptionType, StringType, StructType, isTypeEqual, none, printType, some, } from "@elaraai/east";
|
|
7
|
+
import { SchedulePatchTypeFor } from "./patch.js";
|
|
8
|
+
import { ScheduleFieldWriteType } from "./types.js";
|
|
9
|
+
/** One keyed card, carrying the field writes its drop makes. */
|
|
10
|
+
export const ScheduleLibraryCardType = StructType({
|
|
11
|
+
key: StringType,
|
|
12
|
+
label: StringType,
|
|
13
|
+
meta: OptionType(StringType),
|
|
14
|
+
group: OptionType(StringType),
|
|
15
|
+
sets: ArrayType(ScheduleFieldWriteType),
|
|
16
|
+
});
|
|
17
|
+
/** An author's tab, resolved for a renderer. */
|
|
18
|
+
export const ScheduleAuthorTabType = StructType({
|
|
19
|
+
name: StringType, icon: OptionType(StringType), drop: OptionType(StringType), cards: ArrayType(ScheduleLibraryCardType),
|
|
20
|
+
});
|
|
21
|
+
/**
|
|
22
|
+
* Resolves author cards and checks the patch type against the event kinds.
|
|
23
|
+
* @param tab - The declared tab
|
|
24
|
+
* @param events - Event kinds by slot
|
|
25
|
+
* @param owner - The builder's name for diagnostics
|
|
26
|
+
* @returns The closed author tab
|
|
27
|
+
* @throws {Error} When rows are not keyed, or a drop matches zero or several kinds
|
|
28
|
+
*/
|
|
29
|
+
export function buildScheduleTab(tab, events, owner) {
|
|
30
|
+
const cfg = tab.config;
|
|
31
|
+
const where = owner + ': the "' + cfg.name + '" tab';
|
|
32
|
+
const source = East.value(tab.rows);
|
|
33
|
+
const type = Expr.type(source);
|
|
34
|
+
if (type.type !== "Dict") {
|
|
35
|
+
throw new Error(`${where} reads its rows as Schedule.resources does — a Dict, usually a record's read() — and these are ${printType(type)}`);
|
|
36
|
+
}
|
|
37
|
+
const keyType = type.key;
|
|
38
|
+
const rowType = type.value;
|
|
39
|
+
// The drop: reified once, its patch's type naming the event kind it lands on.
|
|
40
|
+
let lands;
|
|
41
|
+
let writes;
|
|
42
|
+
if (cfg.drop !== undefined) {
|
|
43
|
+
const drop = cfg.drop;
|
|
44
|
+
const dropFn = East.function([rowType, keyType], undefined, (_$, row, key) => drop(row, key));
|
|
45
|
+
const patchType = Expr.type(dropFn).output;
|
|
46
|
+
const takers = events.filter(([, kind]) => kind.rowType.type === "Struct"
|
|
47
|
+
&& isTypeEqual(patchType, SchedulePatchTypeFor(kind.rowType)));
|
|
48
|
+
if (takers.length === 0) {
|
|
49
|
+
const kinds = events.map(([slot]) => slot).join(", ");
|
|
50
|
+
throw new Error(`${where}'s \`drop\` returns a patch over no event kind's row type — build it with Schedule.patch(RowType, { … }) ` +
|
|
51
|
+
`over the row type of the kind its cards land on (${kinds === "" ? "this " + owner + " has no event kinds" : kinds})`);
|
|
52
|
+
}
|
|
53
|
+
if (takers.length > 1) {
|
|
54
|
+
throw new Error(`${where}'s \`drop\` returns a patch over a row type ${takers.length} event kinds share ` +
|
|
55
|
+
`(${takers.map(([slot]) => slot).join(", ")}) — a card lands on one kind, so give each kind a row type of its own`);
|
|
56
|
+
}
|
|
57
|
+
lands = takers[0][0];
|
|
58
|
+
// Each field the patch sets, as the kind's field write: its path, and its value's bytes.
|
|
59
|
+
const fields = Object.keys(patchType.fields);
|
|
60
|
+
writes = East.function([rowType, keyType], ArrayType(ScheduleFieldWriteType), ($, row, key) => {
|
|
61
|
+
const patchOf = $.const(dropFn);
|
|
62
|
+
const patch = $.const(patchOf(row, key));
|
|
63
|
+
const written = $.let([], ArrayType(ScheduleFieldWriteType));
|
|
64
|
+
for (const name of fields) {
|
|
65
|
+
$.match(patch[name], {
|
|
66
|
+
some: ($2, value) => { $2(written.pushLast({ path: [name], value: East.Blob.encodeBeast(value, "v2") })); },
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return written;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
// A String key is its own text; any other key as East prints it.
|
|
73
|
+
const text = keyType.type === "String"
|
|
74
|
+
? East.function([StringType], StringType, (_$, key) => key)
|
|
75
|
+
: East.function([keyType], StringType, (_$, key) => East.print(key));
|
|
76
|
+
const describe = East.function([rowType, keyType], ScheduleLibraryCardType, ($, row, key) => {
|
|
77
|
+
const keyText = $.const(text);
|
|
78
|
+
const sets = $.let([], ArrayType(ScheduleFieldWriteType));
|
|
79
|
+
if (writes !== undefined) {
|
|
80
|
+
const setsOf = $.const(writes);
|
|
81
|
+
$.assign(sets, setsOf(row, key));
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
key: keyText(key),
|
|
85
|
+
label: cfg.label(row, key),
|
|
86
|
+
meta: cfg.meta !== undefined ? cfg.meta(row, key) : East.value(none, OptionType(StringType)),
|
|
87
|
+
group: cfg.group !== undefined ? some(cfg.group(row, key)) : East.value(none, OptionType(StringType)),
|
|
88
|
+
sets,
|
|
89
|
+
};
|
|
90
|
+
});
|
|
91
|
+
const cards = source.toArray(($, row, key) => {
|
|
92
|
+
const card = $.const(describe);
|
|
93
|
+
return card(row, key);
|
|
94
|
+
});
|
|
95
|
+
return East.value({
|
|
96
|
+
name: cfg.name,
|
|
97
|
+
icon: cfg.icon === undefined ? none : some(cfg.icon),
|
|
98
|
+
drop: lands === undefined ? none : some(lands),
|
|
99
|
+
cards,
|
|
100
|
+
}, ScheduleAuthorTabType);
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=library.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/schedule/library.ts"],"names":[],"mappings":"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"}
|