@sixb/core 0.1.21 → 0.1.22
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/actions/commit-edits.d.ts +3 -1
- package/dist/actions/commit-edits.d.ts.map +1 -1
- package/dist/actions/execution.d.ts.map +1 -1
- package/dist/actions/index.js +63 -59
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/read-facade.d.ts +9 -1
- package/dist/actions/read-facade.d.ts.map +1 -1
- package/dist/actions/request.d.ts +15 -1
- package/dist/actions/request.d.ts.map +1 -1
- package/dist/actions/run/context.d.ts +1 -0
- package/dist/actions/run/context.d.ts.map +1 -1
- package/dist/actions/run/execute.d.ts +2 -3
- package/dist/actions/run/execute.d.ts.map +1 -1
- package/dist/actions/run/executor.d.ts +3 -0
- package/dist/actions/run/executor.d.ts.map +1 -1
- package/dist/actions/run/normalize.d.ts +2 -1
- package/dist/actions/run/normalize.d.ts.map +1 -1
- package/dist/actions/run/signals.d.ts +1 -3
- package/dist/actions/run/signals.d.ts.map +1 -1
- package/dist/actions/run/types.d.ts +16 -1
- package/dist/actions/run/types.d.ts.map +1 -1
- package/dist/actions/run-authorization.d.ts +14 -0
- package/dist/actions/run-authorization.d.ts.map +1 -1
- package/dist/actions/types/context.d.ts +17 -1
- package/dist/actions/types/context.d.ts.map +1 -1
- package/dist/actions/validators.d.ts.map +1 -1
- package/dist/activity/timeline.d.ts +8 -1
- package/dist/activity/timeline.d.ts.map +1 -1
- package/dist/agents/accounting.d.ts +15 -0
- package/dist/agents/accounting.d.ts.map +1 -0
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/agent-mail.d.ts +9 -0
- package/dist/agents/agent-mail.d.ts.map +1 -0
- package/dist/agents/api-gateway.d.ts +5 -0
- package/dist/agents/api-gateway.d.ts.map +1 -1
- package/dist/agents/approval-continuation.d.ts +23 -0
- package/dist/agents/approval-continuation.d.ts.map +1 -0
- package/dist/agents/approval-executor.d.ts +56 -0
- package/dist/agents/approval-executor.d.ts.map +1 -0
- package/dist/agents/approval-outcome.d.ts +8 -0
- package/dist/agents/approval-outcome.d.ts.map +1 -0
- package/dist/agents/approvals.d.ts +210 -0
- package/dist/agents/approvals.d.ts.map +1 -0
- package/dist/agents/authority.d.ts +10 -0
- package/dist/agents/authority.d.ts.map +1 -1
- package/dist/agents/builders.d.ts.map +1 -1
- package/dist/agents/cancel.d.ts +23 -0
- package/dist/agents/cancel.d.ts.map +1 -0
- package/dist/agents/child-question.d.ts +18 -0
- package/dist/agents/child-question.d.ts.map +1 -0
- package/dist/agents/children.d.ts +99 -0
- package/dist/agents/children.d.ts.map +1 -0
- package/dist/agents/context/index.js +1 -1
- package/dist/agents/context-compaction.d.ts.map +1 -1
- package/dist/agents/errors.d.ts +13 -1
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/execution.d.ts +180 -14
- package/dist/agents/execution.d.ts.map +1 -1
- package/dist/agents/fork.d.ts +16 -0
- package/dist/agents/fork.d.ts.map +1 -0
- package/dist/agents/ids.d.ts +7 -0
- package/dist/agents/ids.d.ts.map +1 -1
- package/dist/agents/index.d.ts +19 -8
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +159 -86
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/memory-execution.d.ts +57 -0
- package/dist/agents/memory-execution.d.ts.map +1 -0
- package/dist/agents/memory.d.ts +49 -0
- package/dist/agents/memory.d.ts.map +1 -0
- package/dist/agents/message.d.ts +50 -1
- package/dist/agents/message.d.ts.map +1 -1
- package/dist/agents/model-loop.d.ts +19 -0
- package/dist/agents/model-loop.d.ts.map +1 -1
- package/dist/agents/model-routing.d.ts +19 -0
- package/dist/agents/model-routing.d.ts.map +1 -0
- package/dist/agents/participants.d.ts +18 -0
- package/dist/agents/participants.d.ts.map +1 -0
- package/dist/agents/reference.d.ts.map +1 -1
- package/dist/agents/request.d.ts +36 -2
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/run-scope.d.ts +51 -0
- package/dist/agents/run-scope.d.ts.map +1 -0
- package/dist/agents/streams/index.d.ts +3 -2
- package/dist/agents/streams/index.d.ts.map +1 -1
- package/dist/agents/streams/index.js +7 -3
- package/dist/agents/streams/index.js.map +1 -1
- package/dist/agents/streams/internal.d.ts +1 -1
- package/dist/agents/streams/internal.d.ts.map +1 -1
- package/dist/agents/streams/internal.js +5 -3
- package/dist/agents/streams/internal.js.map +1 -1
- package/dist/agents/streams/protocol.d.ts +122 -3
- package/dist/agents/streams/protocol.d.ts.map +1 -1
- package/dist/agents/subagent-runs.d.ts +12 -0
- package/dist/agents/subagent-runs.d.ts.map +1 -0
- package/dist/agents/thread-access.d.ts +53 -0
- package/dist/agents/thread-access.d.ts.map +1 -0
- package/dist/agents/tool-definition.d.ts +5 -4
- package/dist/agents/tool-definition.d.ts.map +1 -1
- package/dist/agents/types.d.ts +23 -4
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/validation.d.ts +1 -1
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/artifacts/access.d.ts +52 -0
- package/dist/artifacts/access.d.ts.map +1 -0
- package/dist/artifacts/canvas.d.ts +92 -0
- package/dist/artifacts/canvas.d.ts.map +1 -0
- package/dist/artifacts/csv.d.ts +5 -0
- package/dist/artifacts/csv.d.ts.map +1 -1
- package/dist/artifacts/errors.d.ts +7 -2
- package/dist/artifacts/errors.d.ts.map +1 -1
- package/dist/artifacts/execution.d.ts +102 -7
- package/dist/artifacts/execution.d.ts.map +1 -1
- package/dist/artifacts/formula/check.d.ts +24 -0
- package/dist/artifacts/formula/check.d.ts.map +1 -0
- package/dist/artifacts/formula/evaluate.d.ts +32 -0
- package/dist/artifacts/formula/evaluate.d.ts.map +1 -0
- package/dist/artifacts/formula/index.d.ts +38 -0
- package/dist/artifacts/formula/index.d.ts.map +1 -0
- package/dist/artifacts/formula/parser.d.ts +67 -0
- package/dist/artifacts/formula/parser.d.ts.map +1 -0
- package/dist/artifacts/frames/assets.d.ts +11 -9
- package/dist/artifacts/frames/assets.d.ts.map +1 -1
- package/dist/artifacts/frames/entries.d.ts +19 -0
- package/dist/artifacts/frames/entries.d.ts.map +1 -0
- package/dist/artifacts/frames/grants.d.ts +6 -6
- package/dist/artifacts/frames/grants.d.ts.map +1 -1
- package/dist/artifacts/frames/index.d.ts +4 -2
- package/dist/artifacts/frames/index.d.ts.map +1 -1
- package/dist/artifacts/frames/index.js +444 -51
- package/dist/artifacts/frames/index.js.map +10 -8
- package/dist/artifacts/frames/kit.d.ts +10 -5
- package/dist/artifacts/frames/kit.d.ts.map +1 -1
- package/dist/artifacts/frames/probe.d.ts +16 -12
- package/dist/artifacts/frames/probe.d.ts.map +1 -1
- package/dist/artifacts/frames/protocol.d.ts +79 -10
- package/dist/artifacts/frames/protocol.d.ts.map +1 -1
- package/dist/artifacts/frames/runtime.d.ts +27 -9
- package/dist/artifacts/frames/runtime.d.ts.map +1 -1
- package/dist/artifacts/index.d.ts +11 -5
- package/dist/artifacts/index.d.ts.map +1 -1
- package/dist/artifacts/index.js +128 -6
- package/dist/artifacts/index.js.map +3 -3
- package/dist/artifacts/kinds.d.ts +1 -1
- package/dist/artifacts/kinds.d.ts.map +1 -1
- package/dist/artifacts/limits.d.ts +30 -0
- package/dist/artifacts/limits.d.ts.map +1 -1
- package/dist/artifacts/live-sheet.d.ts +65 -0
- package/dist/artifacts/live-sheet.d.ts.map +1 -0
- package/dist/artifacts/outline.d.ts +27 -1
- package/dist/artifacts/outline.d.ts.map +1 -1
- package/dist/artifacts/publish/index.d.ts +2 -0
- package/dist/artifacts/publish/index.d.ts.map +1 -1
- package/dist/artifacts/publish/index.js +59 -19
- package/dist/artifacts/publish/index.js.map +1 -1
- package/dist/artifacts/publish/publish.d.ts +43 -11
- package/dist/artifacts/publish/publish.d.ts.map +1 -1
- package/dist/artifacts/publish/queries.d.ts +33 -0
- package/dist/artifacts/publish/queries.d.ts.map +1 -0
- package/dist/artifacts/publish/references.d.ts +6 -3
- package/dist/artifacts/publish/references.d.ts.map +1 -1
- package/dist/artifacts/publish/validate/canvas.d.ts +18 -0
- package/dist/artifacts/publish/validate/canvas.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/html.d.ts +20 -0
- package/dist/artifacts/publish/validate/html.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/page.d.ts +15 -0
- package/dist/artifacts/publish/validate/page.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/sheet.d.ts +11 -3
- package/dist/artifacts/publish/validate/sheet.d.ts.map +1 -1
- package/dist/artifacts/publish/validate/slides.d.ts +1 -7
- package/dist/artifacts/publish/validate/slides.d.ts.map +1 -1
- package/dist/artifacts/queries.d.ts +95 -0
- package/dist/artifacts/queries.d.ts.map +1 -0
- package/dist/artifacts/resolve.d.ts +6 -0
- package/dist/artifacts/resolve.d.ts.map +1 -1
- package/dist/artifacts/run-query.d.ts +26 -0
- package/dist/artifacts/run-query.d.ts.map +1 -0
- package/dist/artifacts/serialize-query.d.ts +12 -0
- package/dist/artifacts/serialize-query.d.ts.map +1 -0
- package/dist/artifacts/sheet-rules.d.ts +26 -0
- package/dist/artifacts/sheet-rules.d.ts.map +1 -0
- package/dist/artifacts/tones.d.ts +8 -0
- package/dist/artifacts/tones.d.ts.map +1 -0
- package/dist/artifacts/workbook.d.ts +76 -5
- package/dist/artifacts/workbook.d.ts.map +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +14 -11
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/member-events.d.ts +13 -0
- package/dist/auth/member-events.d.ts.map +1 -0
- package/dist/auth/profile.d.ts +11 -0
- package/dist/auth/profile.d.ts.map +1 -0
- package/dist/auth/runtime.d.ts +31 -3
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/auth/strategy.d.ts +3 -1
- package/dist/auth/strategy.d.ts.map +1 -1
- package/dist/auth/strategy.js +7 -3
- package/dist/auth/strategy.js.map +1 -1
- package/dist/auth/types.d.ts +30 -1
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/authorization/decision.d.ts +15 -0
- package/dist/authorization/decision.d.ts.map +1 -1
- package/dist/authorization/event-visibility.d.ts +5 -1
- package/dist/authorization/event-visibility.d.ts.map +1 -1
- package/dist/authorization/grant-kinds.d.ts +2 -2
- package/dist/authorization/grant-kinds.d.ts.map +1 -1
- package/dist/authorization/index.d.ts +2 -2
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +12 -7
- package/dist/authorization/index.js.map +1 -1
- package/dist/authorization/resolve.d.ts +19 -1
- package/dist/authorization/resolve.d.ts.map +1 -1
- package/dist/authorization/run-visibility.d.ts +8 -1
- package/dist/authorization/run-visibility.d.ts.map +1 -1
- package/dist/authorization/types.d.ts +14 -0
- package/dist/authorization/types.d.ts.map +1 -1
- package/dist/bootstrap/index.js +69 -65
- package/dist/bootstrap/index.js.map +2 -2
- package/dist/{chunk-ky3j490c.js → chunk-02bzjgnt.js} +6 -6
- package/dist/{chunk-ky3j490c.js.map → chunk-02bzjgnt.js.map} +1 -1
- package/dist/{chunk-mfs23znk.js → chunk-07kkp2e1.js} +1 -1
- package/dist/{chunk-c1rxbz5y.js → chunk-098anw4f.js} +21 -19
- package/dist/chunk-098anw4f.js.map +12 -0
- package/dist/{chunk-z58tm0hm.js → chunk-0phpbbvm.js} +3 -3
- package/dist/{chunk-ere85b8y.js → chunk-0xmt5p5y.js} +116 -27
- package/dist/chunk-0xmt5p5y.js.map +14 -0
- package/dist/{chunk-t6f3tdnr.js → chunk-16a9dmfy.js} +33 -2
- package/dist/{chunk-t6f3tdnr.js.map → chunk-16a9dmfy.js.map} +5 -4
- package/dist/chunk-18sk89cg.js +47 -0
- package/dist/chunk-18sk89cg.js.map +10 -0
- package/dist/{chunk-e17zdm62.js → chunk-1t6k1avb.js} +1 -1
- package/dist/chunk-2626mh4m.js +693 -0
- package/dist/chunk-2626mh4m.js.map +19 -0
- package/dist/{chunk-qczk96d9.js → chunk-2adz0h75.js} +13 -4
- package/dist/chunk-2adz0h75.js.map +11 -0
- package/dist/{chunk-kge7k6ey.js → chunk-2fn60nvs.js} +2 -2
- package/dist/{chunk-99nd4rc1.js → chunk-2gjj5dx3.js} +5 -4
- package/dist/{chunk-99nd4rc1.js.map → chunk-2gjj5dx3.js.map} +3 -3
- package/dist/{chunk-mjddfa7k.js → chunk-3fqxbn31.js} +2 -24
- package/dist/{chunk-mjddfa7k.js.map → chunk-3fqxbn31.js.map} +3 -4
- package/dist/{chunk-y0c4e6ex.js → chunk-3gbefjg5.js} +1 -1
- package/dist/{chunk-5hx48dnn.js → chunk-45ngkxkp.js} +52 -31
- package/dist/chunk-45ngkxkp.js.map +13 -0
- package/dist/{chunk-cy4mbddw.js → chunk-48jezz3j.js} +1 -1
- package/dist/{chunk-561r0yc9.js → chunk-4b26qwbg.js} +13 -13
- package/dist/{chunk-561r0yc9.js.map → chunk-4b26qwbg.js.map} +1 -1
- package/dist/{chunk-9k93ah50.js → chunk-4f3ydv7t.js} +33 -69
- package/dist/chunk-4f3ydv7t.js.map +10 -0
- package/dist/chunk-4y26vs3v.js +97 -0
- package/dist/chunk-4y26vs3v.js.map +10 -0
- package/dist/{chunk-4as3wt1c.js → chunk-4ymrcdbm.js} +7 -3
- package/dist/chunk-4ymrcdbm.js.map +12 -0
- package/dist/{chunk-hcbyfxbe.js → chunk-5grk14e5.js} +76 -2
- package/dist/{chunk-hcbyfxbe.js.map → chunk-5grk14e5.js.map} +4 -3
- package/dist/{chunk-8frc8a4j.js → chunk-65pyhyas.js} +90 -83
- package/dist/chunk-65pyhyas.js.map +20 -0
- package/dist/{chunk-hwksyjks.js → chunk-661ezhks.js} +182 -6
- package/dist/chunk-661ezhks.js.map +11 -0
- package/dist/{chunk-447a5c0p.js → chunk-6n69k945.js} +2 -2
- package/dist/{chunk-0bphap9y.js → chunk-6p0pastb.js} +5 -5
- package/dist/{chunk-9j4jw7as.js → chunk-6rrtzea3.js} +18 -5
- package/dist/chunk-6rrtzea3.js.map +14 -0
- package/dist/{chunk-431pyp2c.js → chunk-6y0mkhex.js} +2 -2
- package/dist/{chunk-f4pamkt9.js → chunk-73v685wb.js} +10 -10
- package/dist/{chunk-f4pamkt9.js.map → chunk-73v685wb.js.map} +3 -3
- package/dist/{chunk-akzryx9h.js → chunk-7gr4j2eq.js} +7836 -5047
- package/dist/chunk-7gr4j2eq.js.map +120 -0
- package/dist/{chunk-bk9svbcq.js → chunk-7mc2wkre.js} +386 -86
- package/dist/chunk-7mc2wkre.js.map +50 -0
- package/dist/{chunk-6rqgmkde.js → chunk-7z5p905k.js} +335 -703
- package/dist/chunk-7z5p905k.js.map +22 -0
- package/dist/{chunk-yxd3nnqt.js → chunk-9mab3dvg.js} +26 -2
- package/dist/chunk-9mab3dvg.js.map +11 -0
- package/dist/chunk-9wr3yajk.js +42 -0
- package/dist/chunk-9wr3yajk.js.map +10 -0
- package/dist/chunk-az47zep4.js +41 -0
- package/dist/chunk-az47zep4.js.map +10 -0
- package/dist/{chunk-s7jg7pmn.js → chunk-bab05bhg.js} +1 -1
- package/dist/{chunk-858emn8m.js → chunk-bktev1ds.js} +14 -11
- package/dist/{chunk-858emn8m.js.map → chunk-bktev1ds.js.map} +3 -3
- package/dist/{chunk-dhcv7yxc.js → chunk-c0vk1djt.js} +5 -3
- package/dist/chunk-c0vk1djt.js.map +11 -0
- package/dist/chunk-c69nj7se.js +3 -0
- package/dist/{chunk-7n30ybym.js.map → chunk-c69nj7se.js.map} +1 -1
- package/dist/{chunk-q5e5tv4b.js → chunk-c844dkwd.js} +1 -1
- package/dist/{chunk-g257jwnc.js → chunk-cdk3egjj.js} +17 -4
- package/dist/chunk-cdk3egjj.js.map +12 -0
- package/dist/chunk-cswhawa2.js +113 -0
- package/dist/chunk-cswhawa2.js.map +10 -0
- package/dist/{chunk-cfj9dfbb.js → chunk-d2m879s4.js} +2 -2
- package/dist/{chunk-arns890k.js → chunk-d7vyc7k6.js} +2 -2
- package/dist/chunk-d7vyc7k6.js.map +10 -0
- package/dist/{chunk-q7gn29y3.js → chunk-dp0cdtj2.js} +2 -2
- package/dist/{chunk-6x0pqh32.js → chunk-e5wf5vz0.js} +3 -1
- package/dist/chunk-e5wf5vz0.js.map +10 -0
- package/dist/{chunk-cn0fwwhy.js → chunk-efmm01gj.js} +108 -1045
- package/dist/chunk-efmm01gj.js.map +18 -0
- package/dist/{chunk-918wwnaa.js → chunk-ezne9wc9.js} +1224 -430
- package/dist/chunk-ezne9wc9.js.map +71 -0
- package/dist/{chunk-tbc1ngpd.js → chunk-fe8zwt8b.js} +58 -12
- package/dist/{chunk-tbc1ngpd.js.map → chunk-fe8zwt8b.js.map} +5 -4
- package/dist/{chunk-br3k6qbf.js → chunk-fm62y49k.js} +1 -1
- package/dist/{chunk-nq6gpjt7.js → chunk-fntqb7qy.js} +30 -4
- package/dist/{chunk-nq6gpjt7.js.map → chunk-fntqb7qy.js.map} +5 -5
- package/dist/{chunk-1cc1xaf3.js → chunk-fp2kq35z.js} +26 -10
- package/dist/{chunk-1cc1xaf3.js.map → chunk-fp2kq35z.js.map} +5 -5
- package/dist/{chunk-vvxtn22d.js → chunk-g663fahq.js} +2 -2
- package/dist/{chunk-k43ct2ke.js → chunk-gvj5cd3b.js} +16 -9
- package/dist/chunk-gvj5cd3b.js.map +12 -0
- package/dist/{chunk-rmakanzx.js → chunk-h33shhq6.js} +5 -5
- package/dist/{chunk-nn5xnx3s.js → chunk-h3pbv7n8.js} +1738 -38
- package/dist/chunk-h3pbv7n8.js.map +48 -0
- package/dist/chunk-hn2r7z41.js.map +1 -1
- package/dist/{chunk-pbcbn83d.js → chunk-hqsp2sx4.js} +54 -8
- package/dist/chunk-hqsp2sx4.js.map +14 -0
- package/dist/{chunk-d09e3rax.js → chunk-hwarjrgf.js} +1 -1
- package/dist/{chunk-vf57cr4t.js → chunk-hyesv9dv.js} +1 -1
- package/dist/chunk-hz5d43gn.js +45 -0
- package/dist/chunk-hz5d43gn.js.map +10 -0
- package/dist/{chunk-91mg3nj9.js → chunk-j936th07.js} +86 -41
- package/dist/chunk-j936th07.js.map +12 -0
- package/dist/chunk-kcqpk9w1.js +75 -0
- package/dist/chunk-kcqpk9w1.js.map +10 -0
- package/dist/{chunk-5vems3nx.js → chunk-m2nevja0.js} +2 -2
- package/dist/{chunk-x9v4cx1d.js → chunk-m36fw8ft.js} +1 -1
- package/dist/{chunk-a40ad1ft.js → chunk-mbsbxarb.js} +1 -1
- package/dist/chunk-mzx71snp.js +129 -0
- package/dist/chunk-mzx71snp.js.map +10 -0
- package/dist/{chunk-6aawea28.js → chunk-n8q5j6y5.js} +1 -1
- package/dist/{chunk-d7dnxdep.js → chunk-n9zpx9c6.js} +4 -4
- package/dist/{chunk-xvsc5m8n.js → chunk-npcr0228.js} +1 -1
- package/dist/chunk-nydf3dbe.js +663 -0
- package/dist/chunk-nydf3dbe.js.map +13 -0
- package/dist/chunk-pdt5cw8z.js +233 -0
- package/dist/chunk-pdt5cw8z.js.map +11 -0
- package/dist/{chunk-rj69qcrd.js → chunk-pgrf64hp.js} +55 -7
- package/dist/chunk-pgrf64hp.js.map +12 -0
- package/dist/{chunk-y5tah2kf.js → chunk-q4pmvkg0.js} +1 -1
- package/dist/chunk-qhqgp4jf.js +1418 -0
- package/dist/chunk-qhqgp4jf.js.map +22 -0
- package/dist/{chunk-48qjhh6v.js → chunk-qx00vjrj.js} +19 -60
- package/dist/chunk-qx00vjrj.js.map +13 -0
- package/dist/{chunk-5948n82c.js → chunk-r6szek0x.js} +184 -7
- package/dist/chunk-r6szek0x.js.map +10 -0
- package/dist/{chunk-v4jbb3rs.js → chunk-rap5w0x0.js} +156 -2
- package/dist/chunk-rap5w0x0.js.map +10 -0
- package/dist/{chunk-pfp1txq2.js → chunk-sgx82nnt.js} +5 -31
- package/dist/{chunk-pfp1txq2.js.map → chunk-sgx82nnt.js.map} +3 -4
- package/dist/{chunk-bkpke1sg.js → chunk-t5608tkq.js} +3 -1
- package/dist/{chunk-bkpke1sg.js.map → chunk-t5608tkq.js.map} +3 -3
- package/dist/{chunk-29yx306f.js → chunk-tdxfsg1c.js} +507 -265
- package/dist/chunk-tdxfsg1c.js.map +23 -0
- package/dist/{chunk-d5rjr8c0.js → chunk-vabga7fk.js} +1 -1
- package/dist/{chunk-dhdha526.js → chunk-vhbw5sqm.js} +26 -2
- package/dist/chunk-vhbw5sqm.js.map +10 -0
- package/dist/{chunk-e6k4thh5.js → chunk-vpgwq5nf.js} +98 -12
- package/dist/chunk-vpgwq5nf.js.map +21 -0
- package/dist/{chunk-61y5xs4p.js → chunk-vyt322b6.js} +69 -50
- package/dist/{chunk-61y5xs4p.js.map → chunk-vyt322b6.js.map} +4 -4
- package/dist/chunk-waqk73p1.js +2380 -0
- package/dist/chunk-waqk73p1.js.map +23 -0
- package/dist/chunk-wsc1brye.js +27 -0
- package/dist/chunk-wsc1brye.js.map +10 -0
- package/dist/{chunk-96yw3pwd.js → chunk-y7dbmaqh.js} +28 -2
- package/dist/chunk-y7dbmaqh.js.map +10 -0
- package/dist/{chunk-6vb4st8k.js → chunk-yc9ners4.js} +120 -19
- package/dist/{chunk-6vb4st8k.js.map → chunk-yc9ners4.js.map} +8 -8
- package/dist/{chunk-dvd2fp9q.js → chunk-zbc929zg.js} +28 -4
- package/dist/chunk-zbc929zg.js.map +13 -0
- package/dist/chunk-zrvhsq7f.js +37 -0
- package/dist/chunk-zrvhsq7f.js.map +10 -0
- package/dist/datasets/write.js +5 -5
- package/dist/error-reporting/internal.js +3 -3
- package/dist/errors/catalog.d.ts +26 -0
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/internal.d.ts.map +1 -1
- package/dist/errors/internal.js +1 -1
- package/dist/events/definitions.d.ts +7 -0
- package/dist/events/definitions.d.ts.map +1 -1
- package/dist/events/execution.d.ts.map +1 -1
- package/dist/events/index.d.ts +2 -3
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +8 -10
- package/dist/events/index.js.map +1 -1
- package/dist/events/scope.d.ts.map +1 -1
- package/dist/events/scope.js +1 -1
- package/dist/events/selectors/builder.d.ts +12 -1
- package/dist/events/selectors/builder.d.ts.map +1 -1
- package/dist/events/selectors/index.d.ts +2 -2
- package/dist/events/selectors/index.d.ts.map +1 -1
- package/dist/events/selectors/index.js +2 -2
- package/dist/events/selectors/types.d.ts +19 -3
- package/dist/events/selectors/types.d.ts.map +1 -1
- package/dist/events/service.d.ts +17 -2
- package/dist/events/service.d.ts.map +1 -1
- package/dist/events/types/index.d.ts +3 -1
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/events/types/users.d.ts +63 -0
- package/dist/events/types/users.d.ts.map +1 -0
- package/dist/events/view-conditions.d.ts +34 -0
- package/dist/events/view-conditions.d.ts.map +1 -0
- package/dist/execution/agent.d.ts +15 -0
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +63 -57
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorization.d.ts.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts +51 -2
- package/dist/execution/authorized-object-reader.d.ts.map +1 -1
- package/dist/execution/lineage.d.ts +7 -0
- package/dist/execution/lineage.d.ts.map +1 -0
- package/dist/execution/object-reader-ontology.d.ts +2 -2
- package/dist/execution/object-reader-ontology.d.ts.map +1 -1
- package/dist/execution/object-reader-security.d.ts +24 -3
- package/dist/execution/object-reader-security.d.ts.map +1 -1
- package/dist/execution/object-reader-users.d.ts +20 -0
- package/dist/execution/object-reader-users.d.ts.map +1 -0
- package/dist/execution/preparation.d.ts +23 -0
- package/dist/execution/preparation.d.ts.map +1 -0
- package/dist/execution/primitive.js +61 -57
- package/dist/execution/primitive.js.map +1 -1
- package/dist/execution/request.d.ts +2 -1
- package/dist/execution/request.d.ts.map +1 -1
- package/dist/execution/request.js +64 -56
- package/dist/execution/request.js.map +3 -3
- package/dist/execution/unique-lookup.d.ts +14 -0
- package/dist/execution/unique-lookup.d.ts.map +1 -0
- package/dist/execution/visible-objects.d.ts +12 -0
- package/dist/execution/visible-objects.d.ts.map +1 -0
- package/dist/http/api-routes.d.ts +17 -0
- package/dist/http/api-routes.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/index.d.ts +32 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +137 -126
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/index.js +5 -5
- package/dist/materialization/errors.d.ts +25 -0
- package/dist/materialization/errors.d.ts.map +1 -1
- package/dist/materialization/event-envelopes.d.ts +5 -0
- package/dist/materialization/event-envelopes.d.ts.map +1 -1
- package/dist/materialization/index.d.ts +1 -1
- package/dist/materialization/index.d.ts.map +1 -1
- package/dist/materialization/index.js +14 -8
- package/dist/materialization/index.js.map +1 -1
- package/dist/materialization/model.d.ts +20 -2
- package/dist/materialization/model.d.ts.map +1 -1
- package/dist/materializer/edits/commit.d.ts.map +1 -1
- package/dist/materializer/edits/load-state.d.ts +5 -1
- package/dist/materializer/edits/load-state.d.ts.map +1 -1
- package/dist/materializer/edits/plan.d.ts.map +1 -1
- package/dist/materializer/edits/unique-values.d.ts +47 -0
- package/dist/materializer/edits/unique-values.d.ts.map +1 -0
- package/dist/materializer/edits/working-state.d.ts +6 -1
- package/dist/materializer/edits/working-state.d.ts.map +1 -1
- package/dist/materializer/execution/work-records.d.ts +7 -1
- package/dist/materializer/execution/work-records.d.ts.map +1 -1
- package/dist/materializer/index.js +45 -41
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
- package/dist/materializer/projections/source-materialization.d.ts +1 -0
- package/dist/materializer/projections/source-materialization.d.ts.map +1 -1
- package/dist/materializer/shared/normalize.d.ts.map +1 -1
- package/dist/materializer/shared/projection-run.d.ts +0 -1
- package/dist/materializer/shared/projection-run.d.ts.map +1 -1
- package/dist/materializer/telemetry/plan.d.ts.map +1 -1
- package/dist/models/audio/catalog.d.ts +13 -1
- package/dist/models/audio/catalog.d.ts.map +1 -1
- package/dist/models/audio/errors.d.ts +6 -1
- package/dist/models/audio/errors.d.ts.map +1 -1
- package/dist/models/audio/runtime.d.ts.map +1 -1
- package/dist/models/audio/speech.d.ts +8 -0
- package/dist/models/audio/speech.d.ts.map +1 -0
- package/dist/models/audio/types.d.ts +93 -0
- package/dist/models/audio/types.d.ts.map +1 -1
- package/dist/models/calls.d.ts +27 -0
- package/dist/models/calls.d.ts.map +1 -0
- package/dist/models/catalog-index.d.ts +7 -4
- package/dist/models/catalog-index.d.ts.map +1 -1
- package/dist/models/catalog.d.ts +55 -3
- package/dist/models/catalog.d.ts.map +1 -1
- package/dist/models/decision/runtime.d.ts +6 -1
- package/dist/models/decision/runtime.d.ts.map +1 -1
- package/dist/models/decision/validation.d.ts +4 -1
- package/dist/models/decision/validation.d.ts.map +1 -1
- package/dist/models/definitions.d.ts +23 -1
- package/dist/models/definitions.d.ts.map +1 -1
- package/dist/models/events.d.ts +12 -1
- package/dist/models/events.d.ts.map +1 -1
- package/dist/models/execution/binding.d.ts +3 -1
- package/dist/models/execution/binding.d.ts.map +1 -1
- package/dist/models/execution/index.d.ts +1 -0
- package/dist/models/execution/index.d.ts.map +1 -1
- package/dist/models/execution/index.js +44 -34
- package/dist/models/execution/index.js.map +1 -1
- package/dist/models/execution/model-call-accounting.d.ts.map +1 -1
- package/dist/models/execution/model-call-recorder.d.ts +3 -0
- package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
- package/dist/models/execution/usage.d.ts.map +1 -1
- package/dist/models/execution.d.ts +4 -2
- package/dist/models/execution.d.ts.map +1 -1
- package/dist/models/generation-types.d.ts +8 -1
- package/dist/models/generation-types.d.ts.map +1 -1
- package/dist/models/image/catalog.d.ts +13 -0
- package/dist/models/image/catalog.d.ts.map +1 -0
- package/dist/models/image/errors.d.ts +8 -0
- package/dist/models/image/errors.d.ts.map +1 -0
- package/dist/models/image/runtime.d.ts +8 -0
- package/dist/models/image/runtime.d.ts.map +1 -0
- package/dist/models/image/types.d.ts +103 -0
- package/dist/models/image/types.d.ts.map +1 -0
- package/dist/models/index.d.ts +12 -8
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +17 -7
- package/dist/models/index.js.map +1 -1
- package/dist/models/input-file.d.ts +9 -0
- package/dist/models/input-file.d.ts.map +1 -0
- package/dist/models/language-model.d.ts +13 -0
- package/dist/models/language-model.d.ts.map +1 -1
- package/dist/models/pricing.d.ts +25 -10
- package/dist/models/pricing.d.ts.map +1 -1
- package/dist/models/rate-card.d.ts +44 -6
- package/dist/models/rate-card.d.ts.map +1 -1
- package/dist/objects/conditional-writes.d.ts +37 -0
- package/dist/objects/conditional-writes.d.ts.map +1 -0
- package/dist/objects/execution.d.ts +2 -0
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.d.ts +1 -0
- package/dist/objects/index.d.ts.map +1 -1
- package/dist/objects/index.js +68 -58
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/link/authorization.d.ts +3 -0
- package/dist/objects/link/authorization.d.ts.map +1 -1
- package/dist/objects/link/endpoints.d.ts +21 -2
- package/dist/objects/link/endpoints.d.ts.map +1 -1
- package/dist/objects/link/remove.d.ts.map +1 -1
- package/dist/objects/link/upsert-batch.d.ts.map +1 -1
- package/dist/objects/link/upsert.d.ts.map +1 -1
- package/dist/objects/materializer-adapter.d.ts +13 -4
- package/dist/objects/materializer-adapter.d.ts.map +1 -1
- package/dist/objects/object/delete.d.ts +3 -0
- package/dist/objects/object/delete.d.ts.map +1 -1
- package/dist/objects/object/upsert-batch.d.ts.map +1 -1
- package/dist/objects/object/upsert.d.ts.map +1 -1
- package/dist/objects/query/current-user.d.ts +17 -0
- package/dist/objects/query/current-user.d.ts.map +1 -0
- package/dist/objects/query/executor.d.ts +14 -0
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.d.ts +2 -2
- package/dist/objects/query/index.d.ts.map +1 -1
- package/dist/objects/query/index.js +49 -44
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/ir.d.ts +19 -1
- package/dist/objects/query/ir.d.ts.map +1 -1
- package/dist/objects/query/matches-predicate.d.ts +9 -0
- package/dist/objects/query/matches-predicate.d.ts.map +1 -0
- package/dist/objects/query/normalize.d.ts.map +1 -1
- package/dist/objects/query/user-expansions.d.ts +27 -0
- package/dist/objects/query/user-expansions.d.ts.map +1 -0
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/runtime-batch.d.ts +3 -1
- package/dist/objects/runtime-batch.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/query-executor.d.ts +6 -0
- package/dist/objects/sdk/query-executor.d.ts.map +1 -1
- package/dist/objects/serialize.d.ts +39 -0
- package/dist/objects/serialize.d.ts.map +1 -0
- package/dist/objects/unique-violation.d.ts +22 -0
- package/dist/objects/unique-violation.d.ts.map +1 -0
- package/dist/ontology/builders.d.ts +3 -1
- package/dist/ontology/builders.d.ts.map +1 -1
- package/dist/ontology/index.d.ts +2 -2
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +11 -7
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/internal.js +7 -5
- package/dist/ontology/internal.js.map +3 -3
- package/dist/ontology/json-schema.d.ts.map +1 -1
- package/dist/ontology/primitives.d.ts +3 -0
- package/dist/ontology/primitives.d.ts.map +1 -1
- package/dist/ontology/registry.d.ts +6 -0
- package/dist/ontology/registry.d.ts.map +1 -1
- package/dist/ontology/types.d.ts +9 -0
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/unique-values.d.ts +26 -0
- package/dist/ontology/unique-values.d.ts.map +1 -0
- package/dist/ontology/user-ref.d.ts +23 -0
- package/dist/ontology/user-ref.d.ts.map +1 -1
- package/dist/ontology/validation/properties.d.ts.map +1 -1
- package/dist/ontology/validation/schema.d.ts.map +1 -1
- package/dist/pipelines/index.js +43 -40
- package/dist/pipelines/index.js.map +1 -1
- package/dist/projections/internal.js +36 -33
- package/dist/projections/internal.js.map +1 -1
- package/dist/projections/registry.d.ts +4 -0
- package/dist/projections/registry.d.ts.map +1 -1
- package/dist/projections/revision.d.ts +15 -0
- package/dist/projections/revision.d.ts.map +1 -1
- package/dist/projections/run-dispatch.d.ts.map +1 -1
- package/dist/projections/types.d.ts +2 -0
- package/dist/projections/types.d.ts.map +1 -1
- package/dist/query.d.ts +4 -2
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +2 -2
- package/dist/rules/execution.d.ts.map +1 -1
- package/dist/runtime/ai-cost.d.ts +2 -0
- package/dist/runtime/ai-cost.d.ts.map +1 -1
- package/dist/runtime/ai-usage.d.ts +7 -0
- package/dist/runtime/ai-usage.d.ts.map +1 -1
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/internal.js +42 -38
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +2 -0
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +66 -8
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandboxes/index.js +7 -6
- package/dist/sandboxes/index.js.map +1 -1
- package/dist/schedules/builders.d.ts.map +1 -1
- package/dist/schedules/index.js +3 -3
- package/dist/schedules/runtime.d.ts.map +1 -1
- package/dist/schedules/validation.d.ts.map +1 -1
- package/dist/security/grants.d.ts +12 -4
- package/dist/security/grants.d.ts.map +1 -1
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/internal.js +1 -1
- package/dist/security/project.d.ts +4 -1
- package/dist/security/project.d.ts.map +1 -1
- package/dist/security/public.js +2 -2
- package/dist/security/registry.d.ts +6 -0
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +47 -9
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/security/view-conditions.d.ts +37 -0
- package/dist/security/view-conditions.d.ts.map +1 -0
- package/dist/shares/execution.d.ts.map +1 -1
- package/dist/shares/internal.js +34 -31
- package/dist/shares/internal.js.map +2 -2
- package/dist/storage/action-runs/failure.js +2 -2
- package/dist/storage/action-runs/provider.js +1 -1
- package/dist/storage/action-runs/types.d.ts +1 -1
- package/dist/storage/action-runs/types.d.ts.map +1 -1
- package/dist/storage/agents/errors.d.ts +3 -1
- package/dist/storage/agents/errors.d.ts.map +1 -1
- package/dist/storage/agents/in-memory.d.ts +120 -3
- package/dist/storage/agents/in-memory.d.ts.map +1 -1
- package/dist/storage/agents/index.d.ts +2 -2
- package/dist/storage/agents/index.d.ts.map +1 -1
- package/dist/storage/agents/provider.d.ts +154 -4
- package/dist/storage/agents/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +60 -5
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +565 -13
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/analytics.d.ts +10 -1
- package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
- package/dist/storage/ai-cost/groups.d.ts +9 -0
- package/dist/storage/ai-cost/groups.d.ts.map +1 -1
- package/dist/storage/ai-cost/index.d.ts +1 -1
- package/dist/storage/ai-cost/index.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.d.ts +2 -1
- package/dist/storage/ai-cost/provider.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.js +11 -5
- package/dist/storage/ai-cost/provider.js.map +1 -1
- package/dist/storage/ai-cost/types.d.ts +14 -2
- package/dist/storage/ai-cost/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/validation.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.js +5 -4
- package/dist/storage/ai-limits/enforcement.js.map +1 -1
- package/dist/storage/ai-limits/provider.d.ts +1 -1
- package/dist/storage/ai-limits/provider.d.ts.map +1 -1
- package/dist/storage/ai-limits/provider.js +3 -2
- package/dist/storage/ai-limits/provider.js.map +1 -1
- package/dist/storage/ai-usage/in-memory.d.ts +5 -1
- package/dist/storage/ai-usage/in-memory.d.ts.map +1 -1
- package/dist/storage/ai-usage/index.d.ts +2 -2
- package/dist/storage/ai-usage/index.d.ts.map +1 -1
- package/dist/storage/ai-usage/record.d.ts +5 -1
- package/dist/storage/ai-usage/record.d.ts.map +1 -1
- package/dist/storage/ai-usage/types.d.ts +33 -0
- package/dist/storage/ai-usage/types.d.ts.map +1 -1
- package/dist/storage/ai-usage/usage.d.ts +2 -0
- package/dist/storage/ai-usage/usage.d.ts.map +1 -1
- package/dist/storage/artifacts/errors.d.ts +12 -2
- package/dist/storage/artifacts/errors.d.ts.map +1 -1
- package/dist/storage/artifacts/in-memory.d.ts +23 -2
- package/dist/storage/artifacts/in-memory.d.ts.map +1 -1
- package/dist/storage/artifacts/index.d.ts +2 -2
- package/dist/storage/artifacts/index.d.ts.map +1 -1
- package/dist/storage/artifacts/record.d.ts +19 -2
- package/dist/storage/artifacts/record.d.ts.map +1 -1
- package/dist/storage/artifacts/types.d.ts +87 -8
- package/dist/storage/artifacts/types.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/auth-storage.d.ts +3 -2
- package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/users.d.ts +7 -3
- package/dist/storage/auth/in-memory/users.d.ts.map +1 -1
- package/dist/storage/auth/index.d.ts +1 -1
- package/dist/storage/auth/index.d.ts.map +1 -1
- package/dist/storage/auth/types.d.ts +40 -9
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +1 -1
- package/dist/storage/executions/in-memory.d.ts +2 -1
- package/dist/storage/executions/in-memory.d.ts.map +1 -1
- package/dist/storage/executions/index.d.ts +1 -1
- package/dist/storage/executions/index.d.ts.map +1 -1
- package/dist/storage/executions/types.d.ts +15 -0
- package/dist/storage/executions/types.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/provider.js +15 -12
- package/dist/storage/file-upload-sessions/provider.js.map +1 -1
- package/dist/storage/index.d.ts +13 -11
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +50 -39
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.d.ts +2 -2
- package/dist/storage/internal.d.ts.map +1 -1
- package/dist/storage/internal.js +19 -8
- package/dist/storage/internal.js.map +1 -1
- package/dist/storage/migrations/migrate-storage.d.ts +4 -1
- package/dist/storage/migrations/migrate-storage.d.ts.map +1 -1
- package/dist/storage/migrations/prepare-unique-properties.d.ts +18 -0
- package/dist/storage/migrations/prepare-unique-properties.d.ts.map +1 -0
- package/dist/storage/objects/guard.d.ts +1 -1
- package/dist/storage/objects/guard.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/conditional-reader.d.ts +5 -0
- package/dist/storage/objects/in-memory/conditional-reader.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/read-scope.d.ts +3 -9
- package/dist/storage/objects/in-memory/read-scope.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/read-source.d.ts +10 -1
- package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/scoped-reader.d.ts +14 -0
- package/dist/storage/objects/in-memory/scoped-reader.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/storage.d.ts +36 -1
- package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
- package/dist/storage/objects/index.d.ts +2 -2
- package/dist/storage/objects/index.d.ts.map +1 -1
- package/dist/storage/objects/read-scope.d.ts +9 -1
- package/dist/storage/objects/read-scope.d.ts.map +1 -1
- package/dist/storage/objects/types.d.ts +64 -1
- package/dist/storage/objects/types.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/index.d.ts +2 -0
- package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations.d.ts +1 -0
- package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/replacement-plans.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/unique-values.d.ts +32 -0
- package/dist/storage/ontology/in-memory/unique-values.d.ts.map +1 -0
- package/dist/storage/ontology/index.d.ts +4 -1
- package/dist/storage/ontology/index.d.ts.map +1 -1
- package/dist/storage/ontology/materializations.d.ts +34 -1
- package/dist/storage/ontology/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/provider-work.d.ts +15 -2
- package/dist/storage/ontology/provider-work.d.ts.map +1 -1
- package/dist/storage/ontology/provider.d.ts +1 -1
- package/dist/storage/ontology/provider.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +9 -4
- package/dist/storage/ontology/provider.js.map +1 -1
- package/dist/storage/ontology/unique-values.d.ts +54 -0
- package/dist/storage/ontology/unique-values.d.ts.map +1 -0
- package/dist/storage/operation-scope.d.ts +1 -1
- package/dist/storage/operation-scope.d.ts.map +1 -1
- package/dist/storage/operation-scope.js +1 -1
- package/dist/storage/projection-runs/in-memory.d.ts +0 -6
- package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/projection-runs/provider.js +2 -2
- package/dist/storage/share-grants/provider.js +4 -3
- package/dist/storage/share-grants/provider.js.map +1 -1
- package/dist/storage/types.d.ts +2 -2
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +15 -12
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/syncs/index.js +42 -39
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/agent-approval-storage-contract.d.ts +17 -0
- package/dist/testing/agent-approval-storage-contract.d.ts.map +1 -0
- package/dist/testing/agent-memory-storage-contract.d.ts +12 -0
- package/dist/testing/agent-memory-storage-contract.d.ts.map +1 -0
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-limit-storage-contract.d.ts +0 -1
- package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -1
- package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
- package/dist/testing/artifact-storage-contract.d.ts.map +1 -1
- package/dist/testing/auth-storage-contract.d.ts +13 -0
- package/dist/testing/auth-storage-contract.d.ts.map +1 -1
- package/dist/testing/broker-contract.d.ts +5 -0
- package/dist/testing/broker-contract.d.ts.map +1 -1
- package/dist/testing/effective-storage-contract.d.ts.map +1 -1
- package/dist/testing/execution-storage-contract.d.ts.map +1 -1
- package/dist/testing/file-upload-session-storage-contract.d.ts.map +1 -1
- package/dist/testing/index.d.ts +9 -5
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +7938 -3743
- package/dist/testing/index.js.map +29 -25
- package/dist/testing/lake-storage-contract.d.ts.map +1 -1
- package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
- package/dist/testing/object-conditional-read-scope-contract.d.ts +11 -0
- package/dist/testing/object-conditional-read-scope-contract.d.ts.map +1 -0
- package/dist/testing/object-query-contract.d.ts +0 -2
- package/dist/testing/object-query-contract.d.ts.map +1 -1
- package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
- package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
- package/dist/testing/queues-contract.d.ts +5 -0
- package/dist/testing/queues-contract.d.ts.map +1 -1
- package/dist/testing/sandboxes-contract.d.ts.map +1 -1
- package/dist/testing/share-grant-storage-contract.d.ts.map +1 -1
- package/dist/testing/share-session-storage-contract.d.ts.map +1 -1
- package/dist/testing/unique-values-contract.d.ts +21 -0
- package/dist/testing/unique-values-contract.d.ts.map +1 -0
- package/dist/testing/webhook-execution.d.ts +0 -8
- package/dist/testing/webhook-execution.d.ts.map +1 -1
- package/dist/testing/webhook-run-storage-contract.d.ts.map +1 -1
- package/dist/users/execution.d.ts +40 -0
- package/dist/users/execution.d.ts.map +1 -0
- package/dist/users/index.d.ts +3 -0
- package/dist/users/index.d.ts.map +1 -0
- package/dist/webhooks/internal.js +34 -31
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +4 -6
- package/dist/workers/index.js.map +4 -4
- package/dist/workers/queue-worker.d.ts +0 -2
- package/dist/workers/queue-worker.d.ts.map +1 -1
- package/dist/workers/worker.d.ts +0 -2
- package/dist/workers/worker.d.ts.map +1 -1
- package/dist/workflows/builders.d.ts.map +1 -1
- package/dist/workflows/index.js +67 -63
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/request.d.ts +12 -1
- package/dist/workflows/request.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +6 -2
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/validation.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/actions/commit-edits.ts +6 -1
- package/src/actions/execution.ts +42 -15
- package/src/actions/read-facade.ts +33 -0
- package/src/actions/request.ts +224 -71
- package/src/actions/run/context.ts +47 -1
- package/src/actions/run/execute.ts +13 -6
- package/src/actions/run/executor.ts +11 -2
- package/src/actions/run/normalize.ts +12 -2
- package/src/actions/run/phases.ts +2 -0
- package/src/actions/run/run-action.ts +12 -3
- package/src/actions/run/signals.ts +3 -9
- package/src/actions/run/types.ts +17 -1
- package/src/actions/run-authorization.ts +72 -0
- package/src/actions/types/context.ts +20 -3
- package/src/actions/validators.ts +19 -8
- package/src/activity/README.md +5 -2
- package/src/activity/timeline.ts +39 -78
- package/src/agents/accounting.ts +59 -0
- package/src/agents/adapters.ts +10 -0
- package/src/agents/agent-mail.ts +29 -0
- package/src/agents/api-gateway.ts +14 -3
- package/src/agents/approval-continuation.ts +48 -0
- package/src/agents/approval-executor.ts +318 -0
- package/src/agents/approval-outcome.ts +59 -0
- package/src/agents/approvals.ts +566 -0
- package/src/agents/authority.ts +24 -1
- package/src/agents/builders.ts +5 -3
- package/src/agents/cancel.ts +103 -0
- package/src/agents/child-question.ts +46 -0
- package/src/agents/children.ts +404 -0
- package/src/agents/context-compaction.ts +12 -0
- package/src/agents/errors.ts +31 -0
- package/src/agents/execution.ts +788 -90
- package/src/agents/fork.ts +158 -0
- package/src/agents/ids.ts +18 -6
- package/src/agents/index.ts +55 -0
- package/src/agents/memory-execution.ts +186 -0
- package/src/agents/memory.ts +178 -0
- package/src/agents/message.ts +57 -0
- package/src/agents/model-loop.ts +93 -6
- package/src/agents/model-routing.ts +193 -0
- package/src/agents/participants.ts +213 -0
- package/src/agents/reference.ts +2 -0
- package/src/agents/request.ts +398 -69
- package/src/agents/run-scope.ts +134 -0
- package/src/agents/streams/index.ts +5 -0
- package/src/agents/streams/internal.ts +1 -0
- package/src/agents/streams/protocol.ts +385 -7
- package/src/agents/subagent-runs.ts +41 -0
- package/src/agents/thread-access.ts +137 -0
- package/src/agents/tool-definition.ts +5 -3
- package/src/agents/types.ts +35 -10
- package/src/agents/validation.ts +2 -0
- package/src/artifacts/access.ts +125 -0
- package/src/artifacts/canvas.ts +369 -0
- package/src/artifacts/csv.ts +10 -0
- package/src/artifacts/errors.ts +12 -1
- package/src/artifacts/execution.ts +436 -36
- package/src/artifacts/formula/check.ts +171 -0
- package/src/artifacts/formula/evaluate.ts +288 -0
- package/src/artifacts/formula/index.ts +199 -0
- package/src/artifacts/formula/parser.ts +357 -0
- package/src/artifacts/frames/assets.ts +35 -19
- package/src/artifacts/frames/entries.ts +35 -0
- package/src/artifacts/frames/grants.ts +10 -9
- package/src/artifacts/frames/index.ts +8 -2
- package/src/artifacts/frames/kit.ts +191 -14
- package/src/artifacts/frames/probe.ts +66 -18
- package/src/artifacts/frames/protocol.ts +164 -10
- package/src/artifacts/frames/runtime.ts +273 -28
- package/src/artifacts/index.ts +66 -2
- package/src/artifacts/kinds.ts +1 -1
- package/src/artifacts/limits.ts +31 -0
- package/src/artifacts/live-sheet.ts +345 -0
- package/src/artifacts/outline.ts +34 -1
- package/src/artifacts/publish/index.ts +2 -0
- package/src/artifacts/publish/publish.ts +120 -34
- package/src/artifacts/publish/queries.ts +336 -0
- package/src/artifacts/publish/references.ts +18 -13
- package/src/artifacts/publish/validate/canvas.ts +118 -0
- package/src/artifacts/publish/validate/html.ts +78 -0
- package/src/artifacts/publish/validate/page.ts +65 -0
- package/src/artifacts/publish/validate/sheet.ts +115 -69
- package/src/artifacts/publish/validate/slides.ts +11 -63
- package/src/artifacts/queries.ts +512 -0
- package/src/artifacts/resolve.ts +20 -5
- package/src/artifacts/run-query.ts +212 -0
- package/src/artifacts/serialize-query.ts +25 -0
- package/src/artifacts/sheet-rules.ts +180 -0
- package/src/artifacts/tones.ts +20 -0
- package/src/artifacts/workbook.ts +374 -15
- package/src/auth/index.ts +4 -0
- package/src/auth/member-events.ts +114 -0
- package/src/auth/profile.ts +118 -0
- package/src/auth/runtime.ts +190 -9
- package/src/auth/strategy.ts +3 -0
- package/src/auth/types.ts +32 -0
- package/src/authorization/decision.ts +47 -0
- package/src/authorization/event-visibility.ts +17 -16
- package/src/authorization/grant-kinds.ts +32 -0
- package/src/authorization/index.ts +6 -1
- package/src/authorization/resolve.ts +58 -1
- package/src/authorization/run-visibility.ts +8 -1
- package/src/authorization/types.ts +14 -0
- package/src/errors/catalog.ts +26 -1
- package/src/errors/internal.ts +17 -8
- package/src/events/definitions.ts +26 -0
- package/src/events/execution.ts +43 -6
- package/src/events/index.ts +10 -1
- package/src/events/scope.ts +2 -0
- package/src/events/selectors/builder.ts +50 -0
- package/src/events/selectors/index.ts +4 -0
- package/src/events/selectors/types.ts +32 -1
- package/src/events/service.ts +55 -2
- package/src/events/types/index.ts +10 -0
- package/src/events/types/users.ts +73 -0
- package/src/events/view-conditions.ts +241 -0
- package/src/execution/agent.ts +25 -0
- package/src/execution/authorization.ts +70 -0
- package/src/execution/authorized-object-reader.ts +238 -32
- package/src/execution/lineage.ts +14 -0
- package/src/execution/object-reader-ontology.ts +11 -14
- package/src/execution/object-reader-security.ts +134 -10
- package/src/execution/object-reader-users.ts +122 -0
- package/src/execution/preparation.ts +78 -0
- package/src/execution/request.ts +2 -0
- package/src/execution/unique-lookup.ts +55 -0
- package/src/execution/visible-objects.ts +26 -0
- package/src/http/api-routes.ts +206 -7
- package/src/index.ts +99 -2
- package/src/materialization/errors.ts +37 -0
- package/src/materialization/event-envelopes.ts +11 -3
- package/src/materialization/index.ts +1 -0
- package/src/materialization/model.ts +24 -4
- package/src/materializer/README.md +7 -1
- package/src/materializer/edits/commit.ts +56 -12
- package/src/materializer/edits/load-state.ts +15 -7
- package/src/materializer/edits/operations.ts +12 -0
- package/src/materializer/edits/plan.ts +2 -0
- package/src/materializer/edits/unique-values.ts +255 -0
- package/src/materializer/edits/working-state.ts +8 -1
- package/src/materializer/execution/work-records.ts +47 -0
- package/src/materializer/projections/finish-run.ts +0 -1
- package/src/materializer/projections/replace.ts +1 -1
- package/src/materializer/projections/replacement-plan.ts +4 -1
- package/src/materializer/projections/source-materialization.ts +2 -1
- package/src/materializer/shared/normalize.ts +37 -6
- package/src/materializer/shared/projection-run.ts +1 -2
- package/src/materializer/telemetry/append.ts +14 -17
- package/src/materializer/telemetry/plan.ts +2 -0
- package/src/models/audio/catalog.ts +89 -10
- package/src/models/audio/errors.ts +18 -1
- package/src/models/audio/runtime.ts +10 -13
- package/src/models/audio/speech.ts +261 -0
- package/src/models/audio/types.ts +97 -0
- package/src/models/calls.ts +100 -0
- package/src/models/catalog-index.ts +21 -2
- package/src/models/catalog.ts +211 -35
- package/src/models/decision/runtime.ts +21 -22
- package/src/models/decision/validation.ts +4 -1
- package/src/models/definitions.ts +57 -8
- package/src/models/events.ts +72 -1
- package/src/models/execution/README.md +34 -5
- package/src/models/execution/binding.ts +3 -1
- package/src/models/execution/embedding.ts +1 -0
- package/src/models/execution/index.ts +5 -0
- package/src/models/execution/model-call-accounting.ts +3 -1
- package/src/models/execution/model-call-recorder.ts +29 -1
- package/src/models/execution/usage.ts +8 -0
- package/src/models/execution.ts +20 -22
- package/src/models/generation-types.ts +8 -1
- package/src/models/image/catalog.ts +89 -0
- package/src/models/image/errors.ts +19 -0
- package/src/models/image/runtime.ts +335 -0
- package/src/models/image/types.ts +111 -0
- package/src/models/index.ts +38 -4
- package/src/models/{audio/file.ts → input-file.ts} +22 -13
- package/src/models/language-model.ts +13 -0
- package/src/models/pricing.ts +263 -42
- package/src/models/rate-card.ts +161 -12
- package/src/objects/authorized-ontology-view.ts +1 -0
- package/src/objects/conditional-writes.ts +109 -0
- package/src/objects/execution.ts +4 -0
- package/src/objects/index.ts +8 -0
- package/src/objects/link/authorization.ts +12 -3
- package/src/objects/link/endpoints.ts +42 -11
- package/src/objects/link/remove.ts +25 -10
- package/src/objects/link/upsert-batch.ts +2 -0
- package/src/objects/link/upsert.ts +18 -12
- package/src/objects/materializer-adapter.ts +55 -18
- package/src/objects/object/delete.ts +24 -7
- package/src/objects/object/upsert-batch.ts +44 -14
- package/src/objects/object/upsert.ts +23 -5
- package/src/objects/query/current-user.ts +76 -0
- package/src/objects/query/executor.ts +39 -103
- package/src/objects/query/explain.ts +20 -7
- package/src/objects/query/index.ts +2 -0
- package/src/objects/query/ir.ts +20 -0
- package/src/objects/query/links.ts +8 -0
- package/src/objects/query/matches-predicate.ts +108 -0
- package/src/objects/query/normalize.ts +50 -19
- package/src/objects/query/scalar-values.ts +19 -3
- package/src/objects/query/user-expansions.ts +65 -0
- package/src/objects/query/validate.ts +248 -10
- package/src/objects/runtime-batch.ts +8 -2
- package/src/objects/sdk/object-set.ts +12 -1
- package/src/objects/sdk/query-builder.ts +39 -8
- package/src/objects/sdk/query-executor.ts +6 -0
- package/src/objects/serialize.ts +79 -0
- package/src/objects/unique-violation.ts +59 -0
- package/src/objects/vectors/handle.ts +3 -3
- package/src/ontology/builders.ts +3 -0
- package/src/ontology/docs-markdown.ts +1 -0
- package/src/ontology/index.ts +2 -2
- package/src/ontology/json-schema.ts +4 -0
- package/src/ontology/primitives.ts +21 -8
- package/src/ontology/registry.ts +16 -0
- package/src/ontology/types.ts +9 -0
- package/src/ontology/unique-values.ts +84 -0
- package/src/ontology/user-ref.ts +39 -0
- package/src/ontology/validation/properties.ts +43 -0
- package/src/ontology/validation/schema.ts +9 -1
- package/src/projections/registry.ts +16 -10
- package/src/projections/revision.ts +112 -45
- package/src/projections/run-dispatch.ts +38 -25
- package/src/projections/types.ts +2 -0
- package/src/query.ts +5 -0
- package/src/rules/execution.ts +43 -11
- package/src/runtime/ai-cost.ts +30 -0
- package/src/runtime/ai-usage.ts +32 -1
- package/src/runtime/host.ts +18 -1
- package/src/runtime/index.ts +2 -0
- package/src/runtime/resolve-definitions.ts +3 -0
- package/src/runtime/sixb.ts +35 -8
- package/src/runtime/types.ts +99 -9
- package/src/schedules/builders.ts +3 -1
- package/src/schedules/runtime.ts +6 -0
- package/src/schedules/validation.ts +23 -1
- package/src/security/README.md +62 -0
- package/src/security/grants.ts +155 -10
- package/src/security/index.ts +3 -1
- package/src/security/project.ts +6 -1
- package/src/security/registry.ts +32 -7
- package/src/security/types.ts +54 -9
- package/src/security/validation.ts +27 -11
- package/src/security/view-conditions.ts +215 -0
- package/src/shares/execution.ts +43 -10
- package/src/storage/action-runs/types.ts +2 -0
- package/src/storage/agents/errors.ts +3 -0
- package/src/storage/agents/in-memory.ts +779 -32
- package/src/storage/agents/index.ts +42 -0
- package/src/storage/agents/provider.ts +733 -8
- package/src/storage/agents/types.ts +620 -12
- package/src/storage/ai-cost/analytics.ts +60 -7
- package/src/storage/ai-cost/codec.ts +6 -1
- package/src/storage/ai-cost/groups.ts +44 -1
- package/src/storage/ai-cost/index.ts +1 -0
- package/src/storage/ai-cost/provider.ts +2 -0
- package/src/storage/ai-cost/types.ts +18 -1
- package/src/storage/ai-cost/validation.ts +39 -12
- package/src/storage/ai-limits/provider.ts +4 -7
- package/src/storage/ai-usage/in-memory.ts +28 -1
- package/src/storage/ai-usage/index.ts +9 -1
- package/src/storage/ai-usage/record.ts +44 -7
- package/src/storage/ai-usage/types.ts +38 -0
- package/src/storage/ai-usage/usage.ts +15 -1
- package/src/storage/artifacts/errors.ts +13 -1
- package/src/storage/artifacts/in-memory.ts +156 -8
- package/src/storage/artifacts/index.ts +6 -1
- package/src/storage/artifacts/record.ts +61 -1
- package/src/storage/artifacts/types.ts +92 -8
- package/src/storage/auth/in-memory/auth-storage.ts +27 -2
- package/src/storage/auth/in-memory/users.ts +40 -6
- package/src/storage/auth/index.ts +1 -0
- package/src/storage/auth/types.ts +43 -7
- package/src/storage/executions/in-memory.ts +32 -0
- package/src/storage/executions/index.ts +2 -0
- package/src/storage/executions/types.ts +17 -0
- package/src/storage/index.ts +69 -1
- package/src/storage/internal.ts +9 -1
- package/src/storage/migrations/migrate-storage.ts +8 -1
- package/src/storage/migrations/prepare-unique-properties.ts +161 -0
- package/src/storage/objects/guard.ts +7 -3
- package/src/storage/objects/in-memory/conditional-reader.ts +72 -0
- package/src/storage/objects/in-memory/query.ts +4 -105
- package/src/storage/objects/in-memory/read-scope.ts +15 -14
- package/src/storage/objects/in-memory/read-source.ts +11 -1
- package/src/storage/objects/in-memory/scoped-reader.ts +243 -0
- package/src/storage/objects/in-memory/selected-reader.ts +6 -231
- package/src/storage/objects/in-memory/storage.ts +183 -1
- package/src/storage/objects/index.ts +9 -1
- package/src/storage/objects/read-scope.ts +191 -0
- package/src/storage/objects/types.ts +68 -1
- package/src/storage/ontology/in-memory/index.ts +3 -0
- package/src/storage/ontology/in-memory/materializations.ts +35 -0
- package/src/storage/ontology/in-memory/replacement-plans.ts +4 -0
- package/src/storage/ontology/in-memory/unique-values.ts +62 -0
- package/src/storage/ontology/index.ts +10 -0
- package/src/storage/ontology/materializations.ts +35 -1
- package/src/storage/ontology/provider-work.ts +76 -0
- package/src/storage/ontology/provider.ts +3 -0
- package/src/storage/ontology/unique-values.ts +56 -0
- package/src/storage/operation-scope.ts +9 -1
- package/src/storage/projection-runs/in-memory.ts +3 -35
- package/src/storage/types.ts +2 -0
- package/src/testing/agent-approval-storage-contract.ts +1117 -0
- package/src/testing/agent-memory-storage-contract.ts +400 -0
- package/src/testing/agent-storage-contract.ts +1188 -33
- package/src/testing/ai-cost-storage-contract.ts +31 -1
- package/src/testing/ai-limit-storage-contract.ts +9 -7
- package/src/testing/ai-model-call-groups-contract.ts +76 -0
- package/src/testing/ai-usage-storage-contract.ts +120 -13
- package/src/testing/artifact-storage-contract.ts +338 -4
- package/src/testing/auth-storage-contract.ts +550 -73
- package/src/testing/broker-contract.ts +28 -23
- package/src/testing/effective-storage-contract.ts +3 -8
- package/src/testing/execution-storage-contract.ts +53 -0
- package/src/testing/file-upload-session-storage-contract.ts +12 -24
- package/src/testing/index.ts +17 -4
- package/src/testing/lake-storage-contract.ts +22 -28
- package/src/testing/materializer-storage-contract.ts +36 -9
- package/src/testing/object-conditional-read-scope-contract.ts +634 -0
- package/src/testing/object-query-contract.ts +386 -186
- package/src/testing/ontology-storage-contract.ts +230 -21
- package/src/testing/projection-run-storage-contract.ts +8 -18
- package/src/testing/queues-contract.ts +39 -70
- package/src/testing/sandboxes-contract.ts +3 -14
- package/src/testing/share-grant-storage-contract.ts +13 -16
- package/src/testing/share-session-storage-contract.ts +4 -14
- package/src/testing/unique-values-contract.ts +907 -0
- package/src/testing/webhook-execution.ts +1 -1
- package/src/testing/webhook-run-storage-contract.ts +6 -9
- package/src/users/execution.ts +131 -0
- package/src/users/index.ts +2 -0
- package/src/workers/queue-worker.ts +1 -3
- package/src/workers/worker.ts +1 -3
- package/src/workflows/builders.ts +6 -0
- package/src/workflows/request.ts +46 -8
- package/src/workflows/types.ts +6 -2
- package/src/workflows/validation.ts +23 -9
- package/dist/chunk-29yx306f.js.map +0 -22
- package/dist/chunk-3jms7je7.js +0 -14
- package/dist/chunk-3jms7je7.js.map +0 -10
- package/dist/chunk-3qct2mdc.js +0 -297
- package/dist/chunk-3qct2mdc.js.map +0 -12
- package/dist/chunk-48qjhh6v.js.map +0 -13
- package/dist/chunk-4as3wt1c.js.map +0 -12
- package/dist/chunk-5948n82c.js.map +0 -10
- package/dist/chunk-5hx48dnn.js.map +0 -14
- package/dist/chunk-6rqgmkde.js.map +0 -29
- package/dist/chunk-6x0pqh32.js.map +0 -10
- package/dist/chunk-7n30ybym.js +0 -3
- package/dist/chunk-7n440zgt.js +0 -261
- package/dist/chunk-7n440zgt.js.map +0 -12
- package/dist/chunk-7q8t23v4.js +0 -467
- package/dist/chunk-7q8t23v4.js.map +0 -14
- package/dist/chunk-8frc8a4j.js.map +0 -20
- package/dist/chunk-918wwnaa.js.map +0 -68
- package/dist/chunk-91mg3nj9.js.map +0 -12
- package/dist/chunk-96yw3pwd.js.map +0 -10
- package/dist/chunk-9j4jw7as.js.map +0 -14
- package/dist/chunk-9k93ah50.js.map +0 -11
- package/dist/chunk-9kgkfg6v.js +0 -502
- package/dist/chunk-9kgkfg6v.js.map +0 -14
- package/dist/chunk-akzryx9h.js.map +0 -100
- package/dist/chunk-arns890k.js.map +0 -10
- package/dist/chunk-bk9svbcq.js.map +0 -49
- package/dist/chunk-c06hmxyy.js +0 -31
- package/dist/chunk-c06hmxyy.js.map +0 -10
- package/dist/chunk-c1rxbz5y.js.map +0 -12
- package/dist/chunk-cn0fwwhy.js.map +0 -19
- package/dist/chunk-dhcv7yxc.js.map +0 -11
- package/dist/chunk-dhdha526.js.map +0 -10
- package/dist/chunk-dvd2fp9q.js.map +0 -13
- package/dist/chunk-e6k4thh5.js.map +0 -19
- package/dist/chunk-ere85b8y.js.map +0 -15
- package/dist/chunk-g257jwnc.js.map +0 -12
- package/dist/chunk-hwksyjks.js.map +0 -11
- package/dist/chunk-k43ct2ke.js.map +0 -12
- package/dist/chunk-nn5xnx3s.js.map +0 -40
- package/dist/chunk-pbcbn83d.js.map +0 -14
- package/dist/chunk-pqajwytd.js +0 -68
- package/dist/chunk-pqajwytd.js.map +0 -11
- package/dist/chunk-qczk96d9.js.map +0 -11
- package/dist/chunk-rdghfsss.js +0 -39
- package/dist/chunk-rdghfsss.js.map +0 -10
- package/dist/chunk-rj69qcrd.js.map +0 -11
- package/dist/chunk-v4jbb3rs.js.map +0 -10
- package/dist/chunk-yxd3nnqt.js.map +0 -11
- package/dist/events/toStoredEvent.d.ts +0 -9
- package/dist/events/toStoredEvent.d.ts.map +0 -1
- package/dist/models/audio/file.d.ts +0 -9
- package/dist/models/audio/file.d.ts.map +0 -1
- package/src/events/toStoredEvent.ts +0 -33
- /package/dist/{chunk-mfs23znk.js.map → chunk-07kkp2e1.js.map} +0 -0
- /package/dist/{chunk-z58tm0hm.js.map → chunk-0phpbbvm.js.map} +0 -0
- /package/dist/{chunk-e17zdm62.js.map → chunk-1t6k1avb.js.map} +0 -0
- /package/dist/{chunk-kge7k6ey.js.map → chunk-2fn60nvs.js.map} +0 -0
- /package/dist/{chunk-y0c4e6ex.js.map → chunk-3gbefjg5.js.map} +0 -0
- /package/dist/{chunk-cy4mbddw.js.map → chunk-48jezz3j.js.map} +0 -0
- /package/dist/{chunk-twe4dx8p.js → chunk-5tfev0fv.js} +0 -0
- /package/dist/{chunk-twe4dx8p.js.map → chunk-5tfev0fv.js.map} +0 -0
- /package/dist/{chunk-447a5c0p.js.map → chunk-6n69k945.js.map} +0 -0
- /package/dist/{chunk-0bphap9y.js.map → chunk-6p0pastb.js.map} +0 -0
- /package/dist/{chunk-431pyp2c.js.map → chunk-6y0mkhex.js.map} +0 -0
- /package/dist/{chunk-s7jg7pmn.js.map → chunk-bab05bhg.js.map} +0 -0
- /package/dist/{chunk-q5e5tv4b.js.map → chunk-c844dkwd.js.map} +0 -0
- /package/dist/{chunk-cfj9dfbb.js.map → chunk-d2m879s4.js.map} +0 -0
- /package/dist/{chunk-q7gn29y3.js.map → chunk-dp0cdtj2.js.map} +0 -0
- /package/dist/{chunk-br3k6qbf.js.map → chunk-fm62y49k.js.map} +0 -0
- /package/dist/{chunk-vvxtn22d.js.map → chunk-g663fahq.js.map} +0 -0
- /package/dist/{chunk-rmakanzx.js.map → chunk-h33shhq6.js.map} +0 -0
- /package/dist/{chunk-d09e3rax.js.map → chunk-hwarjrgf.js.map} +0 -0
- /package/dist/{chunk-vf57cr4t.js.map → chunk-hyesv9dv.js.map} +0 -0
- /package/dist/{chunk-5vems3nx.js.map → chunk-m2nevja0.js.map} +0 -0
- /package/dist/{chunk-x9v4cx1d.js.map → chunk-m36fw8ft.js.map} +0 -0
- /package/dist/{chunk-a40ad1ft.js.map → chunk-mbsbxarb.js.map} +0 -0
- /package/dist/{chunk-6aawea28.js.map → chunk-n8q5j6y5.js.map} +0 -0
- /package/dist/{chunk-d7dnxdep.js.map → chunk-n9zpx9c6.js.map} +0 -0
- /package/dist/{chunk-xvsc5m8n.js.map → chunk-npcr0228.js.map} +0 -0
- /package/dist/{chunk-y5tah2kf.js.map → chunk-q4pmvkg0.js.map} +0 -0
- /package/dist/{chunk-d5rjr8c0.js.map → chunk-vabga7fk.js.map} +0 -0
package/dist/chunk-7q8t23v4.js
DELETED
|
@@ -1,467 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
ARTIFACT_LIMITS2,
|
|
4
|
-
parseSheetPart2
|
|
5
|
-
} from "./chunk-mjddfa7k.js";
|
|
6
|
-
|
|
7
|
-
// src/artifacts/theme.ts
|
|
8
|
-
var ARTIFACT_THEME_FILE2 = "theme.json";
|
|
9
|
-
var COLOR_TOKENS = [
|
|
10
|
-
"--background",
|
|
11
|
-
"--foreground",
|
|
12
|
-
"--card",
|
|
13
|
-
"--card-foreground",
|
|
14
|
-
"--muted",
|
|
15
|
-
"--muted-foreground",
|
|
16
|
-
"--primary",
|
|
17
|
-
"--primary-foreground",
|
|
18
|
-
"--accent",
|
|
19
|
-
"--accent-foreground",
|
|
20
|
-
"--border",
|
|
21
|
-
"--chart-1",
|
|
22
|
-
"--chart-2",
|
|
23
|
-
"--chart-3",
|
|
24
|
-
"--chart-4",
|
|
25
|
-
"--chart-5"
|
|
26
|
-
];
|
|
27
|
-
var FONT_TOKENS = ["--font-sans", "--font-serif", "--font-mono"];
|
|
28
|
-
var ARTIFACT_THEME_TOKENS = [
|
|
29
|
-
...COLOR_TOKENS,
|
|
30
|
-
...FONT_TOKENS,
|
|
31
|
-
"--radius"
|
|
32
|
-
];
|
|
33
|
-
var HEX_COLOR = /^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
|
|
34
|
-
var FUNCTION_COLOR = /^(?:rgba?|hsla?|oklch|oklab|lab|lch)\((?:[\d.%\s,/+-]|deg|turn|rad|none)*\)$/i;
|
|
35
|
-
var FONT_FAMILY = /^\s*(?:"[\w -]+"|'[\w -]+'|[\w-]+)(?:\s*,\s*(?:"[\w -]+"|'[\w -]+'|[\w-]+))*\s*$/;
|
|
36
|
-
var LENGTH = /^(?:0|\d{1,3}(?:\.\d+)?(?:px|rem|em))$/;
|
|
37
|
-
function parseArtifactTheme2(text) {
|
|
38
|
-
let value;
|
|
39
|
-
try {
|
|
40
|
-
value = JSON.parse(text);
|
|
41
|
-
} catch {
|
|
42
|
-
return { error: `${ARTIFACT_THEME_FILE2} is not valid JSON.` };
|
|
43
|
-
}
|
|
44
|
-
if (!isObject(value))
|
|
45
|
-
return { error: `${ARTIFACT_THEME_FILE2} must be a JSON object.` };
|
|
46
|
-
const unknownKey = Object.keys(value).find((key) => key !== "mode" && key !== "tokens");
|
|
47
|
-
if (unknownKey) {
|
|
48
|
-
return {
|
|
49
|
-
error: `${ARTIFACT_THEME_FILE2} has '${unknownKey}'; it takes only "mode" and "tokens".`
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
if (value.mode !== undefined && value.mode !== "light" && value.mode !== "dark") {
|
|
53
|
-
return { error: `${ARTIFACT_THEME_FILE2} "mode" must be "light" or "dark".` };
|
|
54
|
-
}
|
|
55
|
-
if (value.tokens !== undefined && !isObject(value.tokens)) {
|
|
56
|
-
return { error: `${ARTIFACT_THEME_FILE2} "tokens" must be an object of token names to values.` };
|
|
57
|
-
}
|
|
58
|
-
const tokens = {};
|
|
59
|
-
for (const [name, tokenValue] of Object.entries(value.tokens ?? {})) {
|
|
60
|
-
if (!ARTIFACT_THEME_TOKENS.includes(name)) {
|
|
61
|
-
return {
|
|
62
|
-
error: `${ARTIFACT_THEME_FILE2} sets '${name}'. A theme can set ${ARTIFACT_THEME_TOKENS.join(", ")}.`
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
if (typeof tokenValue !== "string" || !tokenValueFits(name, tokenValue)) {
|
|
66
|
-
return {
|
|
67
|
-
error: `${ARTIFACT_THEME_FILE2} gives '${name}' a value it cannot use: ${expected(name)}.`
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
tokens[name] = tokenValue.trim();
|
|
71
|
-
}
|
|
72
|
-
return {
|
|
73
|
-
theme: {
|
|
74
|
-
...value.mode === undefined ? {} : { mode: value.mode },
|
|
75
|
-
...Object.keys(tokens).length === 0 ? {} : { tokens }
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
function tokenValueFits(name, value) {
|
|
80
|
-
const trimmed = value.trim();
|
|
81
|
-
if (name === "--radius")
|
|
82
|
-
return LENGTH.test(trimmed);
|
|
83
|
-
if (FONT_TOKENS.includes(name)) {
|
|
84
|
-
return trimmed.length <= 200 && FONT_FAMILY.test(trimmed);
|
|
85
|
-
}
|
|
86
|
-
return HEX_COLOR.test(trimmed) || FUNCTION_COLOR.test(trimmed);
|
|
87
|
-
}
|
|
88
|
-
function expected(name) {
|
|
89
|
-
if (name === "--radius")
|
|
90
|
-
return "a length such as 8px or 0.5rem";
|
|
91
|
-
if (FONT_TOKENS.includes(name)) {
|
|
92
|
-
return 'a font list such as "Inter Tight", system-ui, sans-serif';
|
|
93
|
-
}
|
|
94
|
-
return "a color such as #2f7280 or oklch(0.62 0.1 210)";
|
|
95
|
-
}
|
|
96
|
-
function isObject(value) {
|
|
97
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// src/artifacts/resolve.ts
|
|
101
|
-
function resolveArtifactAddress2(address, target) {
|
|
102
|
-
if (address.path !== undefined) {
|
|
103
|
-
if (address.part !== undefined)
|
|
104
|
-
return { problem: "names both a file and a part of one" };
|
|
105
|
-
return target.files.some((file) => file.path === address.path) ? { part: { type: "file", path: address.path } } : { problem: `has no file '${address.path}'` };
|
|
106
|
-
}
|
|
107
|
-
if (address.part === undefined)
|
|
108
|
-
return { part: { type: "artifact" } };
|
|
109
|
-
const { outline } = target;
|
|
110
|
-
switch (outline.kind) {
|
|
111
|
-
case "sheet": {
|
|
112
|
-
const part = parseSheetPart2(address.part);
|
|
113
|
-
if (!part) {
|
|
114
|
-
return {
|
|
115
|
-
problem: `has no part '${address.part}': name a sheet, a range such as Summary!A1:D12, or chart=<name>`
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
if (part.type === "chart") {
|
|
119
|
-
return outline.charts.includes(part.chart) ? { part } : { problem: `has no chart '${part.chart}'${listed("its charts", outline.charts)}` };
|
|
120
|
-
}
|
|
121
|
-
const sheet = outline.sheets.find((candidate) => candidate.name === part.sheet);
|
|
122
|
-
if (!sheet) {
|
|
123
|
-
return {
|
|
124
|
-
problem: `has no sheet '${part.sheet}'${listed("its sheets", outline.sheets.map((candidate) => candidate.name))}`
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
if (part.range && (part.range.bottom > sheet.rows || part.range.right >= sheet.columns.length)) {
|
|
128
|
-
return {
|
|
129
|
-
problem: `has no range ${address.part.slice(address.part.lastIndexOf("!") + 1)} in sheet '${sheet.name}', which has ${sheet.rows + 1} rows and ${sheet.columns.length} columns`
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
return { part };
|
|
133
|
-
}
|
|
134
|
-
case "document": {
|
|
135
|
-
const heading = outline.headings.find((candidate) => candidate.slug === address.part);
|
|
136
|
-
return heading ? { part: { type: "section", slug: heading.slug } } : {
|
|
137
|
-
problem: `has no section '${address.part}'${listed("its sections", outline.headings.map((candidate) => candidate.slug))}`
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
case "slides": {
|
|
141
|
-
const slide = /^[1-9]\d*$/.test(address.part) ? Number(address.part) : Number.NaN;
|
|
142
|
-
return slide <= outline.slides.length ? { part: { type: "slide", slide } } : { problem: `has no slide '${address.part}': it has ${outline.slides.length} slides` };
|
|
143
|
-
}
|
|
144
|
-
case "file":
|
|
145
|
-
return { problem: `is a ${target.kind}, which has no parts to name` };
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
function listed(label, names) {
|
|
149
|
-
if (names.length === 0)
|
|
150
|
-
return "";
|
|
151
|
-
const shown = names.slice(0, 8).map((name) => `'${name}'`);
|
|
152
|
-
return `; ${label} are ${shown.join(", ")}${names.length > shown.length ? ", \u2026" : ""}`;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// src/artifacts/outline.ts
|
|
156
|
-
function createHeadingSlugger2() {
|
|
157
|
-
const used = new Set;
|
|
158
|
-
return (text) => {
|
|
159
|
-
const base = text.trim().toLowerCase().replace(/[^\p{L}\p{N}\s_-]/gu, "").replace(/\s+/g, "-") || "section";
|
|
160
|
-
let slug = base;
|
|
161
|
-
for (let repeat = 1;used.has(slug); repeat += 1)
|
|
162
|
-
slug = `${base}-${repeat}`;
|
|
163
|
-
used.add(slug);
|
|
164
|
-
return slug;
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
// src/artifacts/csv.ts
|
|
169
|
-
class CsvParseError2 extends Error {
|
|
170
|
-
line;
|
|
171
|
-
constructor(message, line) {
|
|
172
|
-
super(message);
|
|
173
|
-
this.line = line;
|
|
174
|
-
this.name = "CsvParseError";
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
function parseCsv2(text, options = {}) {
|
|
178
|
-
const delimiter = options.delimiter ?? ",";
|
|
179
|
-
const source = text.charCodeAt(0) === 65279 ? text.slice(1) : text;
|
|
180
|
-
const records = [];
|
|
181
|
-
let record = [];
|
|
182
|
-
let field = "";
|
|
183
|
-
let quoted = false;
|
|
184
|
-
let quotedSeen = false;
|
|
185
|
-
let line = 1;
|
|
186
|
-
let recordLine = 1;
|
|
187
|
-
let index = 0;
|
|
188
|
-
const endField = () => {
|
|
189
|
-
record.push(field);
|
|
190
|
-
field = "";
|
|
191
|
-
};
|
|
192
|
-
const endRecord = () => {
|
|
193
|
-
endField();
|
|
194
|
-
if (!(record.length === 1 && record[0] === "" && !quotedSeen))
|
|
195
|
-
records.push(record);
|
|
196
|
-
record = [];
|
|
197
|
-
quotedSeen = false;
|
|
198
|
-
};
|
|
199
|
-
while (index < source.length) {
|
|
200
|
-
const char = source[index];
|
|
201
|
-
if (quoted) {
|
|
202
|
-
if (char === '"') {
|
|
203
|
-
if (source[index + 1] === '"') {
|
|
204
|
-
field += '"';
|
|
205
|
-
index += 2;
|
|
206
|
-
continue;
|
|
207
|
-
}
|
|
208
|
-
quoted = false;
|
|
209
|
-
index += 1;
|
|
210
|
-
const next = source[index];
|
|
211
|
-
if (next !== undefined && next !== delimiter && next !== `
|
|
212
|
-
` && next !== "\r") {
|
|
213
|
-
throw new CsvParseError2(`A quoted field on line ${line} goes on after its closing quote; quote the whole field and double the quotes inside it.`, recordLine);
|
|
214
|
-
}
|
|
215
|
-
continue;
|
|
216
|
-
}
|
|
217
|
-
if (char === `
|
|
218
|
-
` || char === "\r" && source[index + 1] !== `
|
|
219
|
-
`)
|
|
220
|
-
line += 1;
|
|
221
|
-
field += char;
|
|
222
|
-
index += 1;
|
|
223
|
-
continue;
|
|
224
|
-
}
|
|
225
|
-
if (char === '"' && field === "") {
|
|
226
|
-
quoted = true;
|
|
227
|
-
quotedSeen = true;
|
|
228
|
-
index += 1;
|
|
229
|
-
continue;
|
|
230
|
-
}
|
|
231
|
-
if (char === delimiter) {
|
|
232
|
-
endField();
|
|
233
|
-
index += 1;
|
|
234
|
-
continue;
|
|
235
|
-
}
|
|
236
|
-
if (char === "\r" || char === `
|
|
237
|
-
`) {
|
|
238
|
-
endRecord();
|
|
239
|
-
index += char === "\r" && source[index + 1] === `
|
|
240
|
-
` ? 2 : 1;
|
|
241
|
-
line += 1;
|
|
242
|
-
recordLine = line;
|
|
243
|
-
continue;
|
|
244
|
-
}
|
|
245
|
-
field += char;
|
|
246
|
-
index += 1;
|
|
247
|
-
}
|
|
248
|
-
if (quoted) {
|
|
249
|
-
throw new CsvParseError2(`A quoted field that starts on line ${recordLine} is never closed.`, recordLine);
|
|
250
|
-
}
|
|
251
|
-
if (field !== "" || record.length > 0 || quotedSeen)
|
|
252
|
-
endRecord();
|
|
253
|
-
const [header, ...rows] = records;
|
|
254
|
-
return { header: header ?? [], rows };
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
// src/artifacts/workbook.ts
|
|
258
|
-
var WORKBOOK_FILE2 = "workbook.json";
|
|
259
|
-
var SHEET_COLUMN_TYPES = [
|
|
260
|
-
"text",
|
|
261
|
-
"number",
|
|
262
|
-
"currency",
|
|
263
|
-
"percent",
|
|
264
|
-
"date",
|
|
265
|
-
"link",
|
|
266
|
-
"image"
|
|
267
|
-
];
|
|
268
|
-
var NUMERIC_COLUMN_TYPES2 = ["number", "currency", "percent"];
|
|
269
|
-
var SHEET_CHART_TYPES = ["bar", "line", "area", "pie"];
|
|
270
|
-
function sheetFilePath2(sheetName) {
|
|
271
|
-
return `sheets/${sheetName}.csv`;
|
|
272
|
-
}
|
|
273
|
-
function parseWorkbook2(text) {
|
|
274
|
-
let value;
|
|
275
|
-
try {
|
|
276
|
-
value = JSON.parse(text);
|
|
277
|
-
} catch {
|
|
278
|
-
return { error: `${WORKBOOK_FILE2} is not valid JSON.` };
|
|
279
|
-
}
|
|
280
|
-
try {
|
|
281
|
-
return { workbook: readWorkbook(value) };
|
|
282
|
-
} catch (error) {
|
|
283
|
-
if (error instanceof WorkbookError)
|
|
284
|
-
return { error: `${WORKBOOK_FILE2}: ${error.message}` };
|
|
285
|
-
throw error;
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
function parseSheetNumber2(value) {
|
|
289
|
-
const trimmed = value.trim();
|
|
290
|
-
if (!/^[-+]?(\d+\.?\d*|\.\d+)(e[-+]?\d+)?$/i.test(trimmed))
|
|
291
|
-
return;
|
|
292
|
-
const number = Number(trimmed);
|
|
293
|
-
return Number.isFinite(number) ? number : undefined;
|
|
294
|
-
}
|
|
295
|
-
function parseSheetDate2(value) {
|
|
296
|
-
const trimmed = value.trim();
|
|
297
|
-
if (!/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}(:\d{2}(\.\d+)?)?(Z|[-+]\d{2}:\d{2})?)?$/.test(trimmed)) {
|
|
298
|
-
return;
|
|
299
|
-
}
|
|
300
|
-
const date = new Date(trimmed.length === 10 ? `${trimmed}T00:00:00Z` : trimmed);
|
|
301
|
-
return Number.isNaN(date.getTime()) ? undefined : date;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
class WorkbookError extends Error {
|
|
305
|
-
}
|
|
306
|
-
var SHEET_NAME_MAX = 60;
|
|
307
|
-
var CHART_NAME = /^[a-z0-9][a-z0-9-]{0,39}$/;
|
|
308
|
-
var CONTROL = /[\u0000-\u001f\u007f]/;
|
|
309
|
-
function readWorkbook(value) {
|
|
310
|
-
const input = record(value, "the workbook", ["sheets", "charts"]);
|
|
311
|
-
if (!Array.isArray(input.sheets) || input.sheets.length === 0) {
|
|
312
|
-
throw new WorkbookError('"sheets" must list at least one sheet.');
|
|
313
|
-
}
|
|
314
|
-
if (input.sheets.length > ARTIFACT_LIMITS2.maxSheets) {
|
|
315
|
-
throw new WorkbookError(`a workbook holds at most ${ARTIFACT_LIMITS2.maxSheets} sheets; this one has ${input.sheets.length}.`);
|
|
316
|
-
}
|
|
317
|
-
const sheets = input.sheets.map((sheet, index) => readSheet(sheet, index));
|
|
318
|
-
const names = new Set;
|
|
319
|
-
for (const sheet of sheets) {
|
|
320
|
-
const key = sheet.name.toLowerCase();
|
|
321
|
-
if (names.has(key))
|
|
322
|
-
throw new WorkbookError(`two sheets are named '${sheet.name}'.`);
|
|
323
|
-
names.add(key);
|
|
324
|
-
}
|
|
325
|
-
const chartsInput = input.charts ?? [];
|
|
326
|
-
if (!Array.isArray(chartsInput))
|
|
327
|
-
throw new WorkbookError('"charts" must be a list.');
|
|
328
|
-
if (chartsInput.length > ARTIFACT_LIMITS2.maxCharts) {
|
|
329
|
-
throw new WorkbookError(`a workbook holds at most ${ARTIFACT_LIMITS2.maxCharts} charts; this one has ${chartsInput.length}.`);
|
|
330
|
-
}
|
|
331
|
-
const charts = chartsInput.map((chart, index) => readChart(chart, index, sheets));
|
|
332
|
-
const chartNames = new Set;
|
|
333
|
-
for (const chart of charts) {
|
|
334
|
-
if (chartNames.has(chart.name))
|
|
335
|
-
throw new WorkbookError(`two charts are named '${chart.name}'.`);
|
|
336
|
-
chartNames.add(chart.name);
|
|
337
|
-
}
|
|
338
|
-
return { sheets, charts };
|
|
339
|
-
}
|
|
340
|
-
function readSheet(value, index) {
|
|
341
|
-
const at = `sheet ${index + 1}`;
|
|
342
|
-
const input = record(value, at, ["name", "frozenRows", "frozenColumns", "columns", "widths"]);
|
|
343
|
-
const name = typeof input.name === "string" ? input.name.trim() : "";
|
|
344
|
-
if (!name || name.length > SHEET_NAME_MAX || CONTROL.test(name) || /[/\\]/.test(name) || name === "." || name === "..") {
|
|
345
|
-
throw new WorkbookError(`${at} needs a "name" of at most ${SHEET_NAME_MAX} characters without / or \\; its values go in sheets/<name>.csv.`);
|
|
346
|
-
}
|
|
347
|
-
const sheetAt = `sheet '${name}'`;
|
|
348
|
-
const columns = {};
|
|
349
|
-
for (const [column, format] of Object.entries(record(input.columns ?? {}, `${sheetAt} "columns"`, null))) {
|
|
350
|
-
columns[column] = readColumnFormat(format, `${sheetAt} column '${column}'`);
|
|
351
|
-
}
|
|
352
|
-
const widths = {};
|
|
353
|
-
for (const [column, width] of Object.entries(record(input.widths ?? {}, `${sheetAt} "widths"`, null))) {
|
|
354
|
-
if (typeof width !== "number" || !Number.isInteger(width) || width < 40 || width > 800) {
|
|
355
|
-
throw new WorkbookError(`${sheetAt} gives column '${column}' a width of ${String(width)}; use 40 to 800 pixels.`);
|
|
356
|
-
}
|
|
357
|
-
widths[column] = width;
|
|
358
|
-
}
|
|
359
|
-
return {
|
|
360
|
-
name,
|
|
361
|
-
frozenRows: integer(input.frozenRows, 1, 0, 10, `${sheetAt} "frozenRows"`),
|
|
362
|
-
frozenColumns: integer(input.frozenColumns, 0, 0, 5, `${sheetAt} "frozenColumns"`),
|
|
363
|
-
columns,
|
|
364
|
-
widths
|
|
365
|
-
};
|
|
366
|
-
}
|
|
367
|
-
function readColumnFormat(value, at) {
|
|
368
|
-
if (typeof value === "string")
|
|
369
|
-
return { type: columnType(value, at) };
|
|
370
|
-
const input = record(value, at, ["type", "currency", "decimals"]);
|
|
371
|
-
const type = columnType(input.type, at);
|
|
372
|
-
if (input.currency !== undefined) {
|
|
373
|
-
if (type !== "currency")
|
|
374
|
-
throw new WorkbookError(`${at} sets "currency" but is not a currency column.`);
|
|
375
|
-
if (typeof input.currency !== "string" || !/^[A-Z]{3}$/.test(input.currency)) {
|
|
376
|
-
throw new WorkbookError(`${at} "currency" must be an ISO 4217 code such as "USD".`);
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
if (input.decimals !== undefined && !["number", "currency", "percent"].includes(type)) {
|
|
380
|
-
throw new WorkbookError(`${at} sets "decimals" but is not a number, currency, or percent column.`);
|
|
381
|
-
}
|
|
382
|
-
return {
|
|
383
|
-
type,
|
|
384
|
-
...typeof input.currency === "string" ? { currency: input.currency } : {},
|
|
385
|
-
...input.decimals === undefined ? {} : { decimals: integer(input.decimals, 0, 0, 6, `${at} "decimals"`) }
|
|
386
|
-
};
|
|
387
|
-
}
|
|
388
|
-
function columnType(value, at) {
|
|
389
|
-
if (typeof value === "string" && SHEET_COLUMN_TYPES.includes(value)) {
|
|
390
|
-
return value;
|
|
391
|
-
}
|
|
392
|
-
throw new WorkbookError(`${at} has type ${JSON.stringify(value)}; use one of ${SHEET_COLUMN_TYPES.join(", ")}.`);
|
|
393
|
-
}
|
|
394
|
-
function readChart(value, index, sheets) {
|
|
395
|
-
const input = record(value, `chart ${index + 1}`, [
|
|
396
|
-
"name",
|
|
397
|
-
"type",
|
|
398
|
-
"sheet",
|
|
399
|
-
"x",
|
|
400
|
-
"y",
|
|
401
|
-
"title",
|
|
402
|
-
"stacked"
|
|
403
|
-
]);
|
|
404
|
-
if (typeof input.name !== "string" || !CHART_NAME.test(input.name)) {
|
|
405
|
-
throw new WorkbookError(`chart ${index + 1} needs a "name" of lowercase letters, digits, and hyphens, such as "revenue".`);
|
|
406
|
-
}
|
|
407
|
-
const at = `chart '${input.name}'`;
|
|
408
|
-
if (!SHEET_CHART_TYPES.includes(input.type)) {
|
|
409
|
-
throw new WorkbookError(`${at} has type ${JSON.stringify(input.type)}; use one of ${SHEET_CHART_TYPES.join(", ")}.`);
|
|
410
|
-
}
|
|
411
|
-
const type = input.type;
|
|
412
|
-
if (typeof input.sheet !== "string" || !sheets.some((sheet) => sheet.name === input.sheet)) {
|
|
413
|
-
throw new WorkbookError(`${at} names sheet ${JSON.stringify(input.sheet)}, which the workbook does not have.`);
|
|
414
|
-
}
|
|
415
|
-
if (typeof input.x !== "string" || !input.x)
|
|
416
|
-
throw new WorkbookError(`${at} needs an "x" column.`);
|
|
417
|
-
const y = typeof input.y === "string" ? [input.y] : input.y;
|
|
418
|
-
if (!Array.isArray(y) || y.length === 0 || !y.every((column) => typeof column === "string" && column)) {
|
|
419
|
-
throw new WorkbookError(`${at} needs a "y" column, or a list of them.`);
|
|
420
|
-
}
|
|
421
|
-
if (y.length > ARTIFACT_LIMITS2.maxChartSeries) {
|
|
422
|
-
throw new WorkbookError(`${at} plots ${y.length} columns; a chart reads well with at most ${ARTIFACT_LIMITS2.maxChartSeries}. Split it, or chart the ones that matter.`);
|
|
423
|
-
}
|
|
424
|
-
if (type === "pie" && y.length !== 1)
|
|
425
|
-
throw new WorkbookError(`${at} is a pie: give it one "y" column.`);
|
|
426
|
-
if (input.stacked !== undefined && typeof input.stacked !== "boolean") {
|
|
427
|
-
throw new WorkbookError(`${at} "stacked" must be true or false.`);
|
|
428
|
-
}
|
|
429
|
-
if (input.stacked === true && type !== "bar" && type !== "area") {
|
|
430
|
-
throw new WorkbookError(`${at} is a ${type} chart; only bar and area charts stack.`);
|
|
431
|
-
}
|
|
432
|
-
if (input.title !== undefined && (typeof input.title !== "string" || input.title.length > 120)) {
|
|
433
|
-
throw new WorkbookError(`${at} "title" must be text of at most 120 characters.`);
|
|
434
|
-
}
|
|
435
|
-
return {
|
|
436
|
-
name: input.name,
|
|
437
|
-
type,
|
|
438
|
-
sheet: input.sheet,
|
|
439
|
-
x: input.x,
|
|
440
|
-
y,
|
|
441
|
-
...typeof input.title === "string" && input.title.trim() ? { title: input.title.trim() } : {},
|
|
442
|
-
stacked: input.stacked === true
|
|
443
|
-
};
|
|
444
|
-
}
|
|
445
|
-
function record(value, at, keys) {
|
|
446
|
-
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
447
|
-
throw new WorkbookError(`${at} must be an object.`);
|
|
448
|
-
}
|
|
449
|
-
const input = value;
|
|
450
|
-
const unknownKey = keys && Object.keys(input).find((key) => !keys.includes(key));
|
|
451
|
-
if (unknownKey) {
|
|
452
|
-
throw new WorkbookError(`${at} has '${unknownKey}'; it takes ${keys.map((key) => `"${key}"`).join(", ")}.`);
|
|
453
|
-
}
|
|
454
|
-
return input;
|
|
455
|
-
}
|
|
456
|
-
function integer(value, fallback, min, max, at) {
|
|
457
|
-
if (value === undefined)
|
|
458
|
-
return fallback;
|
|
459
|
-
if (typeof value !== "number" || !Number.isInteger(value) || value < min || value > max) {
|
|
460
|
-
throw new WorkbookError(`${at} must be a whole number from ${min} to ${max}.`);
|
|
461
|
-
}
|
|
462
|
-
return value;
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
export { ARTIFACT_THEME_FILE2, ARTIFACT_THEME_TOKENS, parseArtifactTheme2, resolveArtifactAddress2, createHeadingSlugger2, CsvParseError2, parseCsv2, WORKBOOK_FILE2, NUMERIC_COLUMN_TYPES2, sheetFilePath2, parseWorkbook2, parseSheetNumber2, parseSheetDate2 };
|
|
466
|
-
|
|
467
|
-
//# debugId=15154AD82D86869064756E2164756E21
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/artifacts/theme.ts", "../src/artifacts/resolve.ts", "../src/artifacts/outline.ts", "../src/artifacts/csv.ts", "../src/artifacts/workbook.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/** An artifact may carry this file at its root to override the app's theme. */\nexport const ARTIFACT_THEME_FILE = \"theme.json\"\n\n/**\n * An artifact's own theme. `mode` pins light or dark whatever the viewer's app uses; `tokens`\n * override the app's values for the names in {@link ARTIFACT_THEME_TOKENS}.\n */\nexport interface ArtifactTheme {\n readonly mode?: \"light\" | \"dark\"\n readonly tokens?: Readonly<Record<string, string>>\n}\n\nconst COLOR_TOKENS = [\n \"--background\",\n \"--foreground\",\n \"--card\",\n \"--card-foreground\",\n \"--muted\",\n \"--muted-foreground\",\n \"--primary\",\n \"--primary-foreground\",\n \"--accent\",\n \"--accent-foreground\",\n \"--border\",\n \"--chart-1\",\n \"--chart-2\",\n \"--chart-3\",\n \"--chart-4\",\n \"--chart-5\",\n] as const\nconst FONT_TOKENS = [\"--font-sans\", \"--font-serif\", \"--font-mono\"] as const\n\n/** The tokens a theme may set. Every other app token stays the app's. */\nexport const ARTIFACT_THEME_TOKENS: readonly string[] = [\n ...COLOR_TOKENS,\n ...FONT_TOKENS,\n \"--radius\",\n]\n\n// Values land in CSS custom properties, so each kind of token takes one narrow shape: nothing that\n// could close the declaration, open a URL, or call a function other than a color space.\nconst HEX_COLOR = /^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i\nconst FUNCTION_COLOR =\n /^(?:rgba?|hsla?|oklch|oklab|lab|lch)\\((?:[\\d.%\\s,/+-]|deg|turn|rad|none)*\\)$/i\nconst FONT_FAMILY =\n /^\\s*(?:\"[\\w -]+\"|'[\\w -]+'|[\\w-]+)(?:\\s*,\\s*(?:\"[\\w -]+\"|'[\\w -]+'|[\\w-]+))*\\s*$/\nconst LENGTH = /^(?:0|\\d{1,3}(?:\\.\\d+)?(?:px|rem|em))$/\n\n/** Reads a `theme.json`. Returns the reason it was refused, in words the author can act on. */\nexport function parseArtifactTheme(\n text: string\n): { readonly theme: ArtifactTheme } | { readonly error: string } {\n let value: unknown\n try {\n value = JSON.parse(text)\n } catch {\n return { error: `${ARTIFACT_THEME_FILE} is not valid JSON.` }\n }\n if (!isObject(value)) return { error: `${ARTIFACT_THEME_FILE} must be a JSON object.` }\n\n const unknownKey = Object.keys(value).find((key) => key !== \"mode\" && key !== \"tokens\")\n if (unknownKey) {\n return {\n error: `${ARTIFACT_THEME_FILE} has '${unknownKey}'; it takes only \"mode\" and \"tokens\".`,\n }\n }\n if (value.mode !== undefined && value.mode !== \"light\" && value.mode !== \"dark\") {\n return { error: `${ARTIFACT_THEME_FILE} \"mode\" must be \"light\" or \"dark\".` }\n }\n if (value.tokens !== undefined && !isObject(value.tokens)) {\n return { error: `${ARTIFACT_THEME_FILE} \"tokens\" must be an object of token names to values.` }\n }\n\n const tokens: Record<string, string> = {}\n for (const [name, tokenValue] of Object.entries(value.tokens ?? {})) {\n if (!ARTIFACT_THEME_TOKENS.includes(name)) {\n return {\n error: `${ARTIFACT_THEME_FILE} sets '${name}'. A theme can set ${ARTIFACT_THEME_TOKENS.join(\", \")}.`,\n }\n }\n if (typeof tokenValue !== \"string\" || !tokenValueFits(name, tokenValue)) {\n return {\n error: `${ARTIFACT_THEME_FILE} gives '${name}' a value it cannot use: ${expected(name)}.`,\n }\n }\n tokens[name] = tokenValue.trim()\n }\n\n return {\n theme: {\n ...(value.mode === undefined ? {} : { mode: value.mode }),\n ...(Object.keys(tokens).length === 0 ? {} : { tokens }),\n },\n }\n}\n\nfunction tokenValueFits(name: string, value: string): boolean {\n const trimmed = value.trim()\n if (name === \"--radius\") return LENGTH.test(trimmed)\n if ((FONT_TOKENS as readonly string[]).includes(name)) {\n return trimmed.length <= 200 && FONT_FAMILY.test(trimmed)\n }\n return HEX_COLOR.test(trimmed) || FUNCTION_COLOR.test(trimmed)\n}\n\nfunction expected(name: string): string {\n if (name === \"--radius\") return \"a length such as 8px or 0.5rem\"\n if ((FONT_TOKENS as readonly string[]).includes(name)) {\n return 'a font list such as \"Inter Tight\", system-ui, sans-serif'\n }\n return \"a color such as #2f7280 or oklch(0.62 0.1 210)\"\n}\n\nfunction isObject(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n",
|
|
6
|
-
"import { type ArtifactAddress, type CellRange, parseSheetPart } from \"./address\"\nimport type { ArtifactKind } from \"./kinds\"\nimport type { ArtifactOutline } from \"./outline\"\n\n/** The version an address points into: its kind, its outline, and its file list. */\nexport interface ArtifactAddressTarget {\n readonly kind: ArtifactKind\n readonly outline: ArtifactOutline\n readonly files: readonly { readonly path: string }[]\n}\n\n/** What an address names inside its target. */\nexport type ResolvedArtifactPart =\n | { readonly type: \"artifact\" }\n | { readonly type: \"file\"; readonly path: string }\n | { readonly type: \"sheet\"; readonly sheet: string; readonly range?: CellRange }\n | { readonly type: \"chart\"; readonly chart: string }\n | { readonly type: \"section\"; readonly slug: string }\n | { readonly type: \"slide\"; readonly slide: number }\n\n/**\n * Finds what an address names in a version, against its outline and files. A problem says what is\n * missing and what the version has instead, so whoever wrote the address can fix it.\n */\nexport function resolveArtifactAddress(\n address: ArtifactAddress,\n target: ArtifactAddressTarget\n): { readonly part: ResolvedArtifactPart } | { readonly problem: string } {\n if (address.path !== undefined) {\n if (address.part !== undefined) return { problem: \"names both a file and a part of one\" }\n return target.files.some((file) => file.path === address.path)\n ? { part: { type: \"file\", path: address.path } }\n : { problem: `has no file '${address.path}'` }\n }\n if (address.part === undefined) return { part: { type: \"artifact\" } }\n\n const { outline } = target\n switch (outline.kind) {\n case \"sheet\": {\n const part = parseSheetPart(address.part)\n if (!part) {\n return {\n problem: `has no part '${address.part}': name a sheet, a range such as Summary!A1:D12, or chart=<name>`,\n }\n }\n if (part.type === \"chart\") {\n return outline.charts.includes(part.chart)\n ? { part }\n : { problem: `has no chart '${part.chart}'${listed(\"its charts\", outline.charts)}` }\n }\n const sheet = outline.sheets.find((candidate) => candidate.name === part.sheet)\n if (!sheet) {\n return {\n problem: `has no sheet '${part.sheet}'${listed(\n \"its sheets\",\n outline.sheets.map((candidate) => candidate.name)\n )}`,\n }\n }\n // Row 1 is the header row, so the last row is one past the data rows.\n if (\n part.range &&\n (part.range.bottom > sheet.rows || part.range.right >= sheet.columns.length)\n ) {\n return {\n problem: `has no range ${address.part.slice(address.part.lastIndexOf(\"!\") + 1)} in sheet '${sheet.name}', which has ${sheet.rows + 1} rows and ${sheet.columns.length} columns`,\n }\n }\n return { part }\n }\n case \"document\": {\n const heading = outline.headings.find((candidate) => candidate.slug === address.part)\n return heading\n ? { part: { type: \"section\", slug: heading.slug } }\n : {\n problem: `has no section '${address.part}'${listed(\n \"its sections\",\n outline.headings.map((candidate) => candidate.slug)\n )}`,\n }\n }\n case \"slides\": {\n const slide = /^[1-9]\\d*$/.test(address.part) ? Number(address.part) : Number.NaN\n return slide <= outline.slides.length\n ? { part: { type: \"slide\", slide } }\n : { problem: `has no slide '${address.part}': it has ${outline.slides.length} slides` }\n }\n case \"file\":\n return { problem: `is a ${target.kind}, which has no parts to name` }\n }\n}\n\nfunction listed(label: string, names: readonly string[]): string {\n if (names.length === 0) return \"\"\n const shown = names.slice(0, 8).map((name) => `'${name}'`)\n return `; ${label} are ${shown.join(\", \")}${names.length > shown.length ? \", …\" : \"\"}`\n}\n",
|
|
7
|
-
"/**\n * What a version contains, read from its files when it is published. Addresses resolve against\n * it, and previews and hover cards show it without opening the files.\n */\nexport type ArtifactOutline = DocumentOutline | SheetOutline | SlidesOutline | FileOutline\n\nexport interface DocumentOutline {\n readonly kind: \"document\"\n readonly headings: readonly DocumentHeading[]\n}\n\nexport interface DocumentHeading {\n readonly depth: number\n readonly text: string\n /** What `#part` names in an address to this section. */\n readonly slug: string\n}\n\nexport interface SheetOutline {\n readonly kind: \"sheet\"\n readonly sheets: readonly SheetSummary[]\n /** The names of the charts declared in the workbook. */\n readonly charts: readonly string[]\n}\n\nexport interface SheetSummary {\n readonly name: string\n readonly rows: number\n readonly columns: readonly string[]\n}\n\nexport interface SlidesOutline {\n readonly kind: \"slides\"\n /** One entry per slide, in order; the title is the slide's first heading. */\n readonly slides: readonly { readonly title?: string }[]\n}\n\nexport interface FileOutline {\n readonly kind: \"file\"\n readonly mediaType: string\n}\n\n/**\n * Turns a document's heading texts, in order, into their section slugs: lowercase, punctuation\n * dropped, spaces as hyphens, and `-1`, `-2` after a repeat. Publishing and the renderer both name\n * sections with it, so an address to a section finds the heading the reader sees.\n */\nexport function createHeadingSlugger(): (text: string) => string {\n const used = new Set<string>()\n return (text) => {\n const base =\n text\n .trim()\n .toLowerCase()\n .replace(/[^\\p{L}\\p{N}\\s_-]/gu, \"\")\n .replace(/\\s+/g, \"-\") || \"section\"\n let slug = base\n for (let repeat = 1; used.has(slug); repeat += 1) slug = `${base}-${repeat}`\n used.add(slug)\n return slug\n }\n}\n",
|
|
8
|
-
"/**\n * The one CSV reader for sheets, used when a sheet is published and when it is shown, so both read\n * the same cells. RFC 4180: fields split on commas (or tabs); a quoted field may hold separators,\n * line breaks, and doubled quotes; lines end in CRLF, LF, or CR; a leading byte-order mark is not\n * part of the text; blank lines are skipped. Rows come back as they were written, some shorter or\n * longer than the header: the reader of the table decides what that means.\n */\nexport interface CsvTable {\n readonly header: readonly string[]\n readonly rows: readonly (readonly string[])[]\n}\n\nexport class CsvParseError extends Error {\n constructor(\n message: string,\n /** The line, from 1, where the record that could not be read starts. */\n readonly line: number\n ) {\n super(message)\n this.name = \"CsvParseError\"\n }\n}\n\nexport function parseCsv(\n text: string,\n options: { readonly delimiter?: \",\" | \"\\t\" } = {}\n): CsvTable {\n const delimiter = options.delimiter ?? \",\"\n const source = text.charCodeAt(0) === 0xfeff ? text.slice(1) : text\n const records: string[][] = []\n let record: string[] = []\n let field = \"\"\n // Inside a quoted field; and whether the current record had one, so `\"\"` alone is a record.\n let quoted = false\n let quotedSeen = false\n let line = 1\n let recordLine = 1\n let index = 0\n\n const endField = () => {\n record.push(field)\n field = \"\"\n }\n const endRecord = () => {\n endField()\n // A line with nothing on it is not a record.\n if (!(record.length === 1 && record[0] === \"\" && !quotedSeen)) records.push(record)\n record = []\n quotedSeen = false\n }\n\n while (index < source.length) {\n const char = source[index]\n if (quoted) {\n if (char === '\"') {\n if (source[index + 1] === '\"') {\n field += '\"'\n index += 2\n continue\n }\n quoted = false\n index += 1\n const next = source[index]\n if (next !== undefined && next !== delimiter && next !== \"\\n\" && next !== \"\\r\") {\n throw new CsvParseError(\n `A quoted field on line ${line} goes on after its closing quote; quote the whole field and double the quotes inside it.`,\n recordLine\n )\n }\n continue\n }\n if (char === \"\\n\" || (char === \"\\r\" && source[index + 1] !== \"\\n\")) line += 1\n field += char\n index += 1\n continue\n }\n if (char === '\"' && field === \"\") {\n quoted = true\n quotedSeen = true\n index += 1\n continue\n }\n if (char === delimiter) {\n endField()\n index += 1\n continue\n }\n if (char === \"\\r\" || char === \"\\n\") {\n endRecord()\n index += char === \"\\r\" && source[index + 1] === \"\\n\" ? 2 : 1\n line += 1\n recordLine = line\n continue\n }\n field += char\n index += 1\n }\n if (quoted) {\n throw new CsvParseError(\n `A quoted field that starts on line ${recordLine} is never closed.`,\n recordLine\n )\n }\n if (field !== \"\" || record.length > 0 || quotedSeen) endRecord()\n\n const [header, ...rows] = records\n return { header: header ?? [], rows }\n}\n",
|
|
9
|
-
"import { ARTIFACT_LIMITS } from \"./limits\"\n\n/**\n * A sheet artifact is `workbook.json` and one CSV per sheet under `sheets/`. The CSV holds the\n * values; the workbook holds what CSV can't: sheet order, column types and formats, frozen rows\n * and columns, widths, and charts drawn from the sheets. Formulas belong in an `.xlsx` file.\n */\nexport const WORKBOOK_FILE = \"workbook.json\"\n\nexport const SHEET_COLUMN_TYPES = [\n \"text\",\n \"number\",\n \"currency\",\n \"percent\",\n \"date\",\n \"link\",\n \"image\",\n] as const\nexport type SheetColumnType = (typeof SHEET_COLUMN_TYPES)[number]\n\n/** Column types whose cells are numbers, so a chart can plot them and a range can sum them. */\nexport const NUMERIC_COLUMN_TYPES: readonly SheetColumnType[] = [\"number\", \"currency\", \"percent\"]\n\nexport const SHEET_CHART_TYPES = [\"bar\", \"line\", \"area\", \"pie\"] as const\nexport type SheetChartType = (typeof SHEET_CHART_TYPES)[number]\n\nexport interface SheetColumnFormat {\n readonly type: SheetColumnType\n /** An ISO 4217 code, for a currency column. */\n readonly currency?: string\n /** Digits after the decimal point, for numbers, currencies, and percents. */\n readonly decimals?: number\n}\n\nexport interface WorkbookSheet {\n readonly name: string\n /** Rows that stay in view as the sheet scrolls, the header row included. */\n readonly frozenRows: number\n /** Columns that stay in view as the sheet scrolls sideways. */\n readonly frozenColumns: number\n /** Formats by column name; a column not named here is text. */\n readonly columns: Readonly<Record<string, SheetColumnFormat>>\n /** Widths in pixels by column name. */\n readonly widths: Readonly<Record<string, number>>\n}\n\nexport interface WorkbookChart {\n /** What `#chart=<name>` names in an address; lowercase letters, digits, and hyphens. */\n readonly name: string\n readonly type: SheetChartType\n readonly sheet: string\n /** The column along the x axis, or a pie's slice labels. */\n readonly x: string\n /** The plotted columns: one series each, or a pie's one value column. */\n readonly y: readonly string[]\n readonly title?: string\n /** Stack a bar or area chart's series. */\n readonly stacked: boolean\n}\n\nexport interface Workbook {\n readonly sheets: readonly WorkbookSheet[]\n readonly charts: readonly WorkbookChart[]\n}\n\n/** Where a sheet's values are, in the artifact. */\nexport function sheetFilePath(sheetName: string): string {\n return `sheets/${sheetName}.csv`\n}\n\n/**\n * Reads `workbook.json` into its full form: `\"Revenue\": \"currency\"` becomes\n * `{ type: \"currency\" }`, a single `y` becomes a list, and defaults are filled. Returns what is\n * wrong in words the author can act on. Whether the columns exist is checked against the CSVs.\n */\nexport function parseWorkbook(\n text: string\n): { readonly workbook: Workbook } | { readonly error: string } {\n let value: unknown\n try {\n value = JSON.parse(text)\n } catch {\n return { error: `${WORKBOOK_FILE} is not valid JSON.` }\n }\n try {\n return { workbook: readWorkbook(value) }\n } catch (error) {\n if (error instanceof WorkbookError) return { error: `${WORKBOOK_FILE}: ${error.message}` }\n throw error\n }\n}\n\n/** A number as a sheet stores it: plain digits, an optional sign, decimals, and exponent. */\nexport function parseSheetNumber(value: string): number | undefined {\n const trimmed = value.trim()\n if (!/^[-+]?(\\d+\\.?\\d*|\\.\\d+)(e[-+]?\\d+)?$/i.test(trimmed)) return undefined\n const number = Number(trimmed)\n return Number.isFinite(number) ? number : undefined\n}\n\n/** A date as a sheet stores it: `YYYY-MM-DD`, optionally with an ISO 8601 time. */\nexport function parseSheetDate(value: string): Date | undefined {\n const trimmed = value.trim()\n if (!/^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[-+]\\d{2}:\\d{2})?)?$/.test(trimmed)) {\n return undefined\n }\n const date = new Date(trimmed.length === 10 ? `${trimmed}T00:00:00Z` : trimmed)\n return Number.isNaN(date.getTime()) ? undefined : date\n}\n\nclass WorkbookError extends Error {}\n\nconst SHEET_NAME_MAX = 60\nconst CHART_NAME = /^[a-z0-9][a-z0-9-]{0,39}$/\nconst CONTROL = /[\\u0000-\\u001f\\u007f]/\n\nfunction readWorkbook(value: unknown): Workbook {\n const input = record(value, \"the workbook\", [\"sheets\", \"charts\"])\n if (!Array.isArray(input.sheets) || input.sheets.length === 0) {\n throw new WorkbookError('\"sheets\" must list at least one sheet.')\n }\n if (input.sheets.length > ARTIFACT_LIMITS.maxSheets) {\n throw new WorkbookError(\n `a workbook holds at most ${ARTIFACT_LIMITS.maxSheets} sheets; this one has ${input.sheets.length}.`\n )\n }\n const sheets = input.sheets.map((sheet, index) => readSheet(sheet, index))\n const names = new Set<string>()\n for (const sheet of sheets) {\n const key = sheet.name.toLowerCase()\n if (names.has(key)) throw new WorkbookError(`two sheets are named '${sheet.name}'.`)\n names.add(key)\n }\n\n const chartsInput = input.charts ?? []\n if (!Array.isArray(chartsInput)) throw new WorkbookError('\"charts\" must be a list.')\n if (chartsInput.length > ARTIFACT_LIMITS.maxCharts) {\n throw new WorkbookError(\n `a workbook holds at most ${ARTIFACT_LIMITS.maxCharts} charts; this one has ${chartsInput.length}.`\n )\n }\n const charts = chartsInput.map((chart, index) => readChart(chart, index, sheets))\n const chartNames = new Set<string>()\n for (const chart of charts) {\n if (chartNames.has(chart.name)) throw new WorkbookError(`two charts are named '${chart.name}'.`)\n chartNames.add(chart.name)\n }\n return { sheets, charts }\n}\n\nfunction readSheet(value: unknown, index: number): WorkbookSheet {\n const at = `sheet ${index + 1}`\n const input = record(value, at, [\"name\", \"frozenRows\", \"frozenColumns\", \"columns\", \"widths\"])\n const name = typeof input.name === \"string\" ? input.name.trim() : \"\"\n if (\n !name ||\n name.length > SHEET_NAME_MAX ||\n CONTROL.test(name) ||\n /[/\\\\]/.test(name) ||\n name === \".\" ||\n name === \"..\"\n ) {\n throw new WorkbookError(\n `${at} needs a \"name\" of at most ${SHEET_NAME_MAX} characters without / or \\\\; its values go in sheets/<name>.csv.`\n )\n }\n const sheetAt = `sheet '${name}'`\n const columns: Record<string, SheetColumnFormat> = {}\n for (const [column, format] of Object.entries(\n record(input.columns ?? {}, `${sheetAt} \"columns\"`, null)\n )) {\n columns[column] = readColumnFormat(format, `${sheetAt} column '${column}'`)\n }\n const widths: Record<string, number> = {}\n for (const [column, width] of Object.entries(\n record(input.widths ?? {}, `${sheetAt} \"widths\"`, null)\n )) {\n if (typeof width !== \"number\" || !Number.isInteger(width) || width < 40 || width > 800) {\n throw new WorkbookError(\n `${sheetAt} gives column '${column}' a width of ${String(width)}; use 40 to 800 pixels.`\n )\n }\n widths[column] = width\n }\n return {\n name,\n frozenRows: integer(input.frozenRows, 1, 0, 10, `${sheetAt} \"frozenRows\"`),\n frozenColumns: integer(input.frozenColumns, 0, 0, 5, `${sheetAt} \"frozenColumns\"`),\n columns,\n widths,\n }\n}\n\nfunction readColumnFormat(value: unknown, at: string): SheetColumnFormat {\n if (typeof value === \"string\") return { type: columnType(value, at) }\n const input = record(value, at, [\"type\", \"currency\", \"decimals\"])\n const type = columnType(input.type, at)\n if (input.currency !== undefined) {\n if (type !== \"currency\")\n throw new WorkbookError(`${at} sets \"currency\" but is not a currency column.`)\n if (typeof input.currency !== \"string\" || !/^[A-Z]{3}$/.test(input.currency)) {\n throw new WorkbookError(`${at} \"currency\" must be an ISO 4217 code such as \"USD\".`)\n }\n }\n if (input.decimals !== undefined && ![\"number\", \"currency\", \"percent\"].includes(type)) {\n throw new WorkbookError(\n `${at} sets \"decimals\" but is not a number, currency, or percent column.`\n )\n }\n return {\n type,\n ...(typeof input.currency === \"string\" ? { currency: input.currency } : {}),\n ...(input.decimals === undefined\n ? {}\n : { decimals: integer(input.decimals, 0, 0, 6, `${at} \"decimals\"`) }),\n }\n}\n\nfunction columnType(value: unknown, at: string): SheetColumnType {\n if (typeof value === \"string\" && (SHEET_COLUMN_TYPES as readonly string[]).includes(value)) {\n return value as SheetColumnType\n }\n throw new WorkbookError(\n `${at} has type ${JSON.stringify(value)}; use one of ${SHEET_COLUMN_TYPES.join(\", \")}.`\n )\n}\n\nfunction readChart(value: unknown, index: number, sheets: readonly WorkbookSheet[]): WorkbookChart {\n const input = record(value, `chart ${index + 1}`, [\n \"name\",\n \"type\",\n \"sheet\",\n \"x\",\n \"y\",\n \"title\",\n \"stacked\",\n ])\n if (typeof input.name !== \"string\" || !CHART_NAME.test(input.name)) {\n throw new WorkbookError(\n `chart ${index + 1} needs a \"name\" of lowercase letters, digits, and hyphens, such as \"revenue\".`\n )\n }\n const at = `chart '${input.name}'`\n if (!(SHEET_CHART_TYPES as readonly unknown[]).includes(input.type)) {\n throw new WorkbookError(\n `${at} has type ${JSON.stringify(input.type)}; use one of ${SHEET_CHART_TYPES.join(\", \")}.`\n )\n }\n const type = input.type as SheetChartType\n if (typeof input.sheet !== \"string\" || !sheets.some((sheet) => sheet.name === input.sheet)) {\n throw new WorkbookError(\n `${at} names sheet ${JSON.stringify(input.sheet)}, which the workbook does not have.`\n )\n }\n if (typeof input.x !== \"string\" || !input.x) throw new WorkbookError(`${at} needs an \"x\" column.`)\n const y = typeof input.y === \"string\" ? [input.y] : input.y\n if (\n !Array.isArray(y) ||\n y.length === 0 ||\n !y.every((column) => typeof column === \"string\" && column)\n ) {\n throw new WorkbookError(`${at} needs a \"y\" column, or a list of them.`)\n }\n if (y.length > ARTIFACT_LIMITS.maxChartSeries) {\n throw new WorkbookError(\n `${at} plots ${y.length} columns; a chart reads well with at most ${ARTIFACT_LIMITS.maxChartSeries}. Split it, or chart the ones that matter.`\n )\n }\n if (type === \"pie\" && y.length !== 1)\n throw new WorkbookError(`${at} is a pie: give it one \"y\" column.`)\n if (input.stacked !== undefined && typeof input.stacked !== \"boolean\") {\n throw new WorkbookError(`${at} \"stacked\" must be true or false.`)\n }\n if (input.stacked === true && type !== \"bar\" && type !== \"area\") {\n throw new WorkbookError(`${at} is a ${type} chart; only bar and area charts stack.`)\n }\n if (input.title !== undefined && (typeof input.title !== \"string\" || input.title.length > 120)) {\n throw new WorkbookError(`${at} \"title\" must be text of at most 120 characters.`)\n }\n return {\n name: input.name,\n type,\n sheet: input.sheet,\n x: input.x,\n y: y as string[],\n ...(typeof input.title === \"string\" && input.title.trim() ? { title: input.title.trim() } : {}),\n stacked: input.stacked === true,\n }\n}\n\nfunction record(\n value: unknown,\n at: string,\n keys: readonly string[] | null\n): Record<string, unknown> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n throw new WorkbookError(`${at} must be an object.`)\n }\n const input = value as Record<string, unknown>\n const unknownKey = keys && Object.keys(input).find((key) => !keys.includes(key))\n if (unknownKey) {\n throw new WorkbookError(\n `${at} has '${unknownKey}'; it takes ${keys.map((key) => `\"${key}\"`).join(\", \")}.`\n )\n }\n return input\n}\n\nfunction integer(value: unknown, fallback: number, min: number, max: number, at: string): number {\n if (value === undefined) return fallback\n if (typeof value !== \"number\" || !Number.isInteger(value) || value < min || value > max) {\n throw new WorkbookError(`${at} must be a whole number from ${min} to ${max}.`)\n }\n return value\n}\n"
|
|
10
|
-
],
|
|
11
|
-
"mappings": "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",
|
|
12
|
-
"debugId": "15154AD82D86869064756E2164756E21",
|
|
13
|
-
"names": []
|
|
14
|
-
}
|