yaml-flow 7.1.0 → 8.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/asset-integrity.json +8 -4
- package/browser/board-livecards-client.js +1 -1
- package/browser/board-livecards-localstorage.js +4 -4
- package/browser/live-cards.js +19 -3309
- package/cli/board-live-cards-lib-tjYsPt5U.d.ts +321 -0
- package/{dist/cli → cli}/browser-api/board-live-cards-browser-adapter.d.ts +3 -5
- package/{dist/cli → cli}/browser-api/card-store-browser-api.d.ts +1 -2
- package/{dist/cli → cli}/browser-api/card-store-browser-api.js +1 -1
- package/cli/execution-interface-ftO1W7Po.d.ts +286 -0
- package/{dist/cli → cli}/node/artifacts-store-cli.js +2 -2
- package/cli/node/batch-runner-cli.js +3 -0
- package/cli/node/board-live-cards-cli.js +15 -0
- package/{dist/cli → cli}/node/card-store-cli.js +1 -1
- package/{dist/cli → cli}/node/execution-adapter.d.ts +49 -4
- package/cli/node/execution-adapter.js +3 -0
- package/{dist/cli → cli}/node/fs-board-adapter.d.ts +24 -11
- package/cli/node/fs-board-adapter.js +14 -0
- package/cli/node/step-machine-cli.d.ts +7 -0
- package/cli/node/step-machine-cli.js +5 -0
- package/{dist/board-live-cards-public-5n1-syA3.d.cts → cli/types-C2YQXFwo.d.ts} +68 -5
- package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/gandalf-runtime/.config/card-store-ref.json +1 -0
- package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/gandalf-runtime/.config/chat-handler.json +1 -0
- package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/gandalf-runtime/.config/outputs-store-ref.json +1 -0
- package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/gandalf-runtime/.config/task-executor.json +1 -0
- package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/gandalf-runtime/.state-snapshot/board/graph.json +29 -0
- package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/gandalf-runtime/.state-snapshot/board/lastJournalProcessedId.json +1 -0
- package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/gandalf-runtime-out/.outputs/status.json +25 -0
- package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/runtime-out/.outputs/cards/card-market-prices/computed_values.json +67 -0
- package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/runtime-out/.outputs/cards/card-portfolio/computed_values.json +1 -0
- package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/runtime-out/.outputs/cards/card-portfolio-value/computed_values.json +52 -0
- package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/runtime-out/.outputs/data-objects/holdings.json +22 -0
- package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/runtime-out/.outputs/data-objects/positions.json +46 -0
- package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/runtime-out/.outputs/data-objects/quotes.json +35 -0
- package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/runtime-out/.outputs/status.json +113 -0
- package/examples/{example-board → board}/demo-server-config.json +0 -1
- package/examples/{example-board → board}/demo-server.js +23 -48
- package/examples/{example-board → board}/demo-shell-with-server.html +3 -3
- package/examples/{example-board → board}/demo-task-executor.js +71 -24
- package/examples/board/gandalf-cards/card-source-kinds.json +36 -0
- package/examples/board/gandalf-cards/cards/_index.json +7 -0
- package/examples/board/gandalf-cards/cards/card-source-kinds.json +64 -0
- package/examples/board/source-def-flows/copilot.flow.json +33 -0
- package/examples/board/source-def-flows/mock.flow.json +35 -0
- package/examples/board/source-def-flows/url-list.flow.json +33 -0
- package/examples/board/source-def-flows/url.flow.json +33 -0
- package/examples/board/source-def-flows/workiq.flow.json +34 -0
- package/examples/board/source-def-handlers/copilot-source-handler.js +141 -0
- package/examples/board/source-def-handlers/http-source-handler.js +145 -0
- package/examples/board/source_def_flows.json +249 -0
- package/examples/board/test/demo-http-test.js +317 -0
- package/examples/{example-board → board-local}/demo-shell-localstorage.html +4 -4
- package/examples/{browser/boards/portfolio-tracker → portfolio-tracker/handlers}/portfolio-tracker-fetch-prices.js +1 -1
- package/examples/{browser/boards/portfolio-tracker/portfolio-tracker-public.js → portfolio-tracker/portfolio-tracker.js} +11 -14
- package/examples/{browser/boards/portfolio-tracker → portfolio-tracker/test}/portfolio-t4.js +32 -50
- package/lib/artifacts-store-lib-public-BABrgFkV.d.ts +119 -0
- package/lib/artifacts-store-lib-public-DGa8BpJT.d.cts +119 -0
- package/lib/artifacts-store-public.cjs +2 -0
- package/lib/artifacts-store-public.d.cts +5 -0
- package/lib/artifacts-store-public.d.ts +5 -0
- package/lib/artifacts-store-public.js +2 -0
- package/lib/board-live-cards-node.cjs +14 -0
- package/lib/board-live-cards-node.d.cts +178 -0
- package/lib/board-live-cards-node.d.ts +178 -0
- package/lib/board-live-cards-node.js +14 -0
- package/lib/board-live-cards-public-BnmRAbQV.d.cts +383 -0
- package/{dist/board-live-cards-public-CK_J8uv0.d.ts → lib/board-live-cards-public-CsmYrvpd.d.ts} +142 -76
- package/lib/board-live-cards-public.cjs +3 -0
- package/lib/board-live-cards-public.d.cts +4 -0
- package/lib/board-live-cards-public.d.ts +4 -0
- package/lib/board-live-cards-public.js +3 -0
- package/lib/board-live-cards-server-runtime.cjs +9 -0
- package/lib/board-live-cards-server-runtime.d.cts +6 -0
- package/lib/board-live-cards-server-runtime.d.ts +6 -0
- package/lib/board-live-cards-server-runtime.js +9 -0
- package/lib/board-livegraph-runtime/index.cjs +3 -0
- package/{dist → lib}/board-livegraph-runtime/index.d.cts +1 -2
- package/{dist → lib}/board-livegraph-runtime/index.d.ts +1 -2
- package/lib/board-livegraph-runtime/index.js +3 -0
- package/{dist/storage-refs.cjs → lib/board-worker-adapter.cjs} +2 -2
- package/{dist/storage-refs.d.cts → lib/board-worker-adapter.d.cts} +4 -3
- package/{dist/storage-refs.d.ts → lib/board-worker-adapter.d.ts} +4 -3
- package/{dist/storage-refs.js → lib/board-worker-adapter.js} +2 -2
- package/{dist → lib}/card-compute/index.cjs +1 -1
- package/{dist → lib}/card-compute/index.js +1 -1
- package/lib/card-store-public.cjs +2 -0
- package/lib/card-store-public.d.cts +61 -0
- package/lib/card-store-public.d.ts +61 -0
- package/lib/card-store-public.js +2 -0
- package/lib/card-validation.cjs +10 -0
- package/lib/card-validation.d.cts +35 -0
- package/lib/card-validation.d.ts +35 -0
- package/lib/card-validation.js +10 -0
- package/{dist/constants-oCEbNpul.d.ts → lib/constants-BPVLb3Es.d.ts} +1 -1
- package/{dist/constants-BzZUyYlp.d.cts → lib/constants-DXxsRN9y.d.cts} +1 -1
- package/{dist → lib}/continuous-event-graph/index.cjs +2 -2
- package/{dist → lib}/continuous-event-graph/index.d.cts +3 -5
- package/{dist → lib}/continuous-event-graph/index.d.ts +3 -5
- package/{dist → lib}/continuous-event-graph/index.js +2 -2
- package/{dist → lib}/event-graph/index.d.cts +2 -2
- package/{dist → lib}/event-graph/index.d.ts +2 -2
- package/lib/execution-refs.cjs +3 -0
- package/{dist → lib}/execution-refs.d.cts +33 -12
- package/{dist → lib}/execution-refs.d.ts +33 -12
- package/lib/execution-refs.js +3 -0
- package/lib/index.cjs +25 -0
- package/{dist → lib}/index.d.cts +7 -8
- package/{dist → lib}/index.d.ts +7 -8
- package/lib/index.js +25 -0
- package/{dist/live-cards-bridge-BXbVTsna.d.cts → lib/live-cards-bridge-DC_ZU0eS.d.ts} +134 -3
- package/{dist/live-cards-bridge-Ds28XR15.d.ts → lib/live-cards-bridge-b25aAVvE.d.cts} +134 -3
- package/lib/loader-CuuLjxVA.d.cts +42 -0
- package/lib/loader-Zborm2pq.d.ts +42 -0
- package/lib/server-runtime/index.cjs +9 -0
- package/{dist → lib}/server-runtime/index.d.cts +4 -4
- package/{dist → lib}/server-runtime/index.d.ts +4 -4
- package/lib/server-runtime/index.js +9 -0
- package/lib/step-machine/index.d.cts +64 -0
- package/lib/step-machine/index.d.ts +64 -0
- package/lib/step-machine-public/index.cjs +5 -0
- package/{dist → lib}/step-machine-public/index.d.cts +14 -1
- package/{dist → lib}/step-machine-public/index.d.ts +14 -1
- package/lib/step-machine-public/index.js +5 -0
- package/lib/storage-interface-BhAON-gW.d.cts +84 -0
- package/lib/storage-interface-BhAON-gW.d.ts +84 -0
- package/lib/stores/index.cjs +3 -0
- package/lib/stores/index.d.cts +4 -0
- package/lib/stores/index.d.ts +4 -0
- package/lib/stores/index.js +3 -0
- package/lib/stores/kv.cjs +3 -0
- package/lib/stores/kv.d.cts +32 -0
- package/lib/stores/kv.d.ts +32 -0
- package/lib/stores/kv.js +3 -0
- package/{dist → lib}/stores/memory.d.cts +1 -1
- package/{dist → lib}/stores/memory.d.ts +1 -1
- package/{dist/types-HGDTWIun.d.ts → lib/types-CBxkYuLY.d.ts} +2 -1
- package/{dist/types-ycun84cq.d.cts → lib/types-DQ1bKuB1.d.cts} +11 -0
- package/{dist/types-ycun84cq.d.ts → lib/types-DQ1bKuB1.d.ts} +11 -0
- package/{dist/types-CU3DjTKL.d.cts → lib/types-DkFvgxwq.d.cts} +2 -1
- package/package.json +79 -119
- package/board-live-cards-cli.js +0 -37
- package/browser/board-livecards-client.js.map +0 -1
- package/browser/board-livecards-localstorage.js.map +0 -1
- package/browser/board-livegraph-engine.js +0 -3
- package/browser/board-livegraph-engine.js.map +0 -1
- package/browser/card-compute.js +0 -266
- package/browser/compute-jsonata.js.map +0 -1
- package/card-store.js +0 -37
- package/dist/batch/index.cjs.map +0 -1
- package/dist/batch/index.js.map +0 -1
- package/dist/board-live-cards-lib-Bg6EvCo5.d.cts +0 -136
- package/dist/board-live-cards-lib-jM2uYG1v.d.ts +0 -136
- package/dist/board-livegraph-runtime/index.cjs +0 -3
- package/dist/board-livegraph-runtime/index.cjs.map +0 -1
- package/dist/board-livegraph-runtime/index.js +0 -3
- package/dist/board-livegraph-runtime/index.js.map +0 -1
- package/dist/card-compute/index.cjs.map +0 -1
- package/dist/card-compute/index.js.map +0 -1
- package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs +0 -3
- package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs.map +0 -1
- package/dist/cli/browser-api/board-live-cards-browser-adapter.d.cts +0 -37
- package/dist/cli/browser-api/board-live-cards-browser-adapter.js.map +0 -1
- package/dist/cli/browser-api/card-store-browser-api.cjs +0 -2
- package/dist/cli/browser-api/card-store-browser-api.cjs.map +0 -1
- package/dist/cli/browser-api/card-store-browser-api.d.cts +0 -26
- package/dist/cli/browser-api/card-store-browser-api.js.map +0 -1
- package/dist/cli/node/artifacts-store-cli.cjs +0 -11
- package/dist/cli/node/artifacts-store-cli.cjs.map +0 -1
- package/dist/cli/node/artifacts-store-cli.d.cts +0 -8
- package/dist/cli/node/artifacts-store-cli.js.map +0 -1
- package/dist/cli/node/board-live-cards-cli.cjs +0 -15
- package/dist/cli/node/board-live-cards-cli.cjs.map +0 -1
- package/dist/cli/node/board-live-cards-cli.d.cts +0 -20
- package/dist/cli/node/board-live-cards-cli.js +0 -15
- package/dist/cli/node/board-live-cards-cli.js.map +0 -1
- package/dist/cli/node/card-store-cli.cjs +0 -8
- package/dist/cli/node/card-store-cli.cjs.map +0 -1
- package/dist/cli/node/card-store-cli.d.cts +0 -15
- package/dist/cli/node/card-store-cli.js.map +0 -1
- package/dist/cli/node/execution-adapter.cjs +0 -3
- package/dist/cli/node/execution-adapter.cjs.map +0 -1
- package/dist/cli/node/execution-adapter.d.cts +0 -174
- package/dist/cli/node/execution-adapter.js +0 -3
- package/dist/cli/node/execution-adapter.js.map +0 -1
- package/dist/cli/node/fs-board-adapter.cjs +0 -14
- package/dist/cli/node/fs-board-adapter.cjs.map +0 -1
- package/dist/cli/node/fs-board-adapter.d.cts +0 -204
- package/dist/cli/node/fs-board-adapter.js +0 -14
- package/dist/cli/node/fs-board-adapter.js.map +0 -1
- package/dist/cli/node/source-cli-task-executor.cjs +0 -11
- package/dist/cli/node/source-cli-task-executor.cjs.map +0 -1
- package/dist/cli/node/source-cli-task-executor.js.map +0 -1
- package/dist/config/index.cjs.map +0 -1
- package/dist/config/index.js.map +0 -1
- package/dist/continuous-event-graph/index.cjs.map +0 -1
- package/dist/continuous-event-graph/index.js.map +0 -1
- package/dist/event-graph/index.cjs.map +0 -1
- package/dist/event-graph/index.js.map +0 -1
- package/dist/execution-refs.cjs +0 -3
- package/dist/execution-refs.cjs.map +0 -1
- package/dist/execution-refs.js +0 -3
- package/dist/execution-refs.js.map +0 -1
- package/dist/index.cjs +0 -30
- package/dist/index.cjs.map +0 -1
- package/dist/index.js +0 -30
- package/dist/index.js.map +0 -1
- package/dist/inference/index.cjs +0 -7
- package/dist/inference/index.cjs.map +0 -1
- package/dist/inference/index.d.cts +0 -229
- package/dist/inference/index.d.ts +0 -229
- package/dist/inference/index.js +0 -7
- package/dist/inference/index.js.map +0 -1
- package/dist/server-runtime/index.cjs +0 -9
- package/dist/server-runtime/index.cjs.map +0 -1
- package/dist/server-runtime/index.js +0 -9
- package/dist/server-runtime/index.js.map +0 -1
- package/dist/step-machine/index.cjs.map +0 -1
- package/dist/step-machine/index.d.cts +0 -102
- package/dist/step-machine/index.d.ts +0 -102
- package/dist/step-machine/index.js.map +0 -1
- package/dist/step-machine-public/index.cjs +0 -3
- package/dist/step-machine-public/index.cjs.map +0 -1
- package/dist/step-machine-public/index.js +0 -3
- package/dist/step-machine-public/index.js.map +0 -1
- package/dist/storage-refs.cjs.map +0 -1
- package/dist/storage-refs.js.map +0 -1
- package/dist/stores/file.cjs +0 -2
- package/dist/stores/file.cjs.map +0 -1
- package/dist/stores/file.d.cts +0 -36
- package/dist/stores/file.d.ts +0 -36
- package/dist/stores/file.js +0 -2
- package/dist/stores/file.js.map +0 -1
- package/dist/stores/index.cjs +0 -2
- package/dist/stores/index.cjs.map +0 -1
- package/dist/stores/index.d.cts +0 -4
- package/dist/stores/index.d.ts +0 -4
- package/dist/stores/index.js +0 -2
- package/dist/stores/index.js.map +0 -1
- package/dist/stores/localStorage.cjs +0 -2
- package/dist/stores/localStorage.cjs.map +0 -1
- package/dist/stores/localStorage.d.cts +0 -34
- package/dist/stores/localStorage.d.ts +0 -34
- package/dist/stores/localStorage.js +0 -2
- package/dist/stores/localStorage.js.map +0 -1
- package/dist/stores/memory.cjs.map +0 -1
- package/dist/stores/memory.js.map +0 -1
- package/dist/types-CHSdoAAA.d.cts +0 -135
- package/dist/types-CoW0gQl3.d.ts +0 -135
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker-fetch-prices.py +0 -201
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker-http-test.js +0 -370
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker-http-test.py +0 -398
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker-inference-adapter.js +0 -196
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker-server.js +0 -300
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker-server.py +0 -617
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker.py +0 -366
- package/examples/browser/livecards-browser/index.html +0 -41
- package/examples/browser/step-machine-browser/index.html +0 -367
- package/examples/cli/step-machine-cli/portfolio-tracker/--base-ref/.runtime-out +0 -1
- package/examples/cli/step-machine-cli/portfolio-tracker/--base-ref/board-graph.json +0 -32
- package/examples/cli/step-machine-cli/portfolio-tracker/cards/holdings-table.json +0 -22
- package/examples/cli/step-machine-cli/portfolio-tracker/cards/portfolio-form.json +0 -43
- package/examples/cli/step-machine-cli/portfolio-tracker/cards/portfolio-value.json +0 -15
- package/examples/cli/step-machine-cli/portfolio-tracker/cards/price-fetch.json +0 -15
- package/examples/cli/step-machine-cli/portfolio-tracker/fetch-prices.js +0 -48
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +0 -125
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/add-cards-cli.js +0 -32
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/init-board-cli.js +0 -26
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/poll-status-cli.js +0 -49
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/reset-board-dir-cli.js +0 -25
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/retrigger-cli.js +0 -23
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/status-cli.js +0 -21
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/update-holdings-cli.js +0 -38
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/wait-completed-cli.js +0 -48
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/write-prices-cli.js +0 -31
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/_board_pycli.py +0 -107
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/add-cards.py +0 -51
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/init-board.py +0 -45
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/poll-status.py +0 -71
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/reset-board-dir.py +0 -36
- package/examples/cli/step-machine-cli/portfolio-tracker/inline-python-demo.flow.yaml +0 -26
- package/examples/cli/step-machine-cli/portfolio-tracker/inline-python-handlers.py +0 -39
- package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker-pycli.flow.yaml +0 -80
- package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.flow.yaml +0 -76
- package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.input.json +0 -44
- package/examples/cli/step-machine-cli/portfolio-tracker/run-inline-python-demo-pycli.py +0 -43
- package/examples/cli/step-machine-cli/portfolio-tracker/run-portfolio-tracker-pycli.py +0 -77
- package/examples/cli/step-machine-cli/portfolio-tracker/run-portfolio-tracker.bat +0 -28
- package/examples/cli/step-machine-demo/jsonata-init-board-cli.js +0 -31
- package/examples/cli/step-machine-demo/jsonata-init-board.flow.yaml +0 -54
- package/examples/cli/step-machine-demo/one-step-cli-only.flow.yaml +0 -21
- package/examples/cli/step-machine-demo/step-cli-echo-y.js +0 -15
- package/examples/cli/step-machine-demo/step2-double-cli.js +0 -33
- package/examples/cli/step-machine-demo/two-step-math.flow.yaml +0 -93
- package/examples/cli/step-machine-demo/two-step-mixed.flow.yaml +0 -43
- package/examples/example-board/agent-instructions-cardlayout.md +0 -56
- package/examples/example-board/agent-instructions.md +0 -834
- package/examples/example-board/demo-shell.html +0 -63
- package/examples/index.html +0 -785
- package/examples/npm-libs/batch/batch-step-machine.ts +0 -121
- package/examples/npm-libs/continuous-event-graph/live-cards-board.ts +0 -215
- package/examples/npm-libs/continuous-event-graph/live-portfolio-dashboard.ts +0 -555
- package/examples/npm-libs/continuous-event-graph/portfolio-tracker.ts +0 -287
- package/examples/npm-libs/continuous-event-graph/reactive-monitoring.ts +0 -265
- package/examples/npm-libs/continuous-event-graph/reactive-pipeline.ts +0 -168
- package/examples/npm-libs/continuous-event-graph/soc-incident-board.ts +0 -287
- package/examples/npm-libs/continuous-event-graph/stock-dashboard.ts +0 -229
- package/examples/npm-libs/event-graph/ci-cd-pipeline.ts +0 -243
- package/examples/npm-libs/event-graph/executor-diamond.ts +0 -165
- package/examples/npm-libs/event-graph/executor-pipeline.ts +0 -161
- package/examples/npm-libs/event-graph/research-pipeline.ts +0 -137
- package/examples/npm-libs/flows/ai-conversation.yaml +0 -116
- package/examples/npm-libs/flows/order-processing.yaml +0 -143
- package/examples/npm-libs/flows/simple-greeting.yaml +0 -54
- package/examples/npm-libs/graph-of-graphs/multi-stage-etl.ts +0 -307
- package/examples/npm-libs/graph-of-graphs/url-processing-pipeline.ts +0 -254
- package/examples/npm-libs/inference/azure-deployment.ts +0 -149
- package/examples/npm-libs/inference/copilot-cli.ts +0 -138
- package/examples/npm-libs/inference/data-pipeline.ts +0 -145
- package/examples/npm-libs/inference/pluggable-adapters.ts +0 -254
- package/examples/npm-libs/node/ai-conversation.ts +0 -195
- package/examples/npm-libs/node/simple-greeting.ts +0 -101
- package/examples/step-machine-cli/portfolio-tracker/cards/holdings-table.json +0 -22
- package/examples/step-machine-cli/portfolio-tracker/cards/portfolio-form.json +0 -43
- package/examples/step-machine-cli/portfolio-tracker/cards/portfolio-value.json +0 -15
- package/examples/step-machine-cli/portfolio-tracker/cards/price-fetch.json +0 -15
- package/examples/step-machine-cli/portfolio-tracker/fetch-prices.js +0 -48
- package/examples/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +0 -57
- package/examples/step-machine-cli/portfolio-tracker/handlers/add-cards-cli.js +0 -27
- package/examples/step-machine-cli/portfolio-tracker/handlers/init-board-cli.js +0 -25
- package/examples/step-machine-cli/portfolio-tracker/handlers/reset-board-dir-cli.js +0 -29
- package/examples/step-machine-cli/portfolio-tracker/handlers/retrigger-cli.js +0 -27
- package/examples/step-machine-cli/portfolio-tracker/handlers/status-cli.js +0 -25
- package/examples/step-machine-cli/portfolio-tracker/handlers/update-holdings-cli.js +0 -37
- package/examples/step-machine-cli/portfolio-tracker/handlers/wait-completed-cli.js +0 -53
- package/examples/step-machine-cli/portfolio-tracker/handlers/write-prices-cli.js +0 -35
- package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker-task-executor.cjs +0 -96
- package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker.flow.yaml +0 -227
- package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker.input.json +0 -38
- package/examples/step-machine-cli/portfolio-tracker/run-portfolio-tracker.bat +0 -28
- package/step-machine-cli.js +0 -407
- /package/{dist/cli → cli}/browser-api/board-live-cards-browser-adapter.js +0 -0
- /package/{dist/board-livegraph-runtime → cli/browser-api}/jsonata-sync.cjs +0 -0
- /package/{dist/cli → cli}/node/artifacts-store-cli.d.ts +0 -0
- /package/{dist/cli/node/source-cli-task-executor.d.cts → cli/node/batch-runner-cli.d.ts} +0 -0
- /package/{dist/cli → cli}/node/board-live-cards-cli.d.ts +0 -0
- /package/{dist/cli → cli}/node/card-store-cli.d.ts +0 -0
- /package/{dist/card-compute → cli/node}/jsonata-sync.cjs +0 -0
- /package/{dist/cli → cli}/node/source-cli-task-executor.d.ts +0 -0
- /package/{dist/cli → cli}/node/source-cli-task-executor.js +0 -0
- /package/examples/{example-board → board}/cards/card-concentration.json +0 -0
- /package/examples/{example-board → board}/cards/card-my-identity.json +0 -0
- /package/examples/{example-board → board}/cards/card-portfolio-action.json +0 -0
- /package/examples/{example-board → board}/cards/card-portfolio-intelligence.json +0 -0
- /package/examples/{example-board → board}/cards/card-portfolio-risks.json +0 -0
- /package/examples/{example-board → board}/cards/card-rebalance-impact.json +0 -0
- /package/examples/{example-board → board}/cards/card-rebalance-sim.json +0 -0
- /package/examples/{example-board → board}/cards/cardT-market-prices.json +0 -0
- /package/examples/{example-board → board}/cards/cardT-portfolio-value.json +0 -0
- /package/examples/{example-board → board}/cards/cardT-portfolio.json +0 -0
- /package/examples/{example-board → board}/demo-chat-handler.js +0 -0
- /package/examples/{example-board → board}/scripts/copilot_wrapper.bat +0 -0
- /package/examples/{example-board → board}/scripts/copilot_wrapper_helper.ps1 +0 -0
- /package/examples/{example-board → board}/scripts/workiq_wrapper.mjs +0 -0
- /package/examples/{browser/boards/portfolio-tracker → board/test}/portfolio-tracker-sse-worker.js +0 -0
- /package/{dist → lib}/batch/index.cjs +0 -0
- /package/{dist → lib}/batch/index.d.cts +0 -0
- /package/{dist → lib}/batch/index.d.ts +0 -0
- /package/{dist → lib}/batch/index.js +0 -0
- /package/{dist/cli/browser-api → lib/board-livegraph-runtime}/jsonata-sync.cjs +0 -0
- /package/{dist → lib}/card-compute/index.d.cts +0 -0
- /package/{dist → lib}/card-compute/index.d.ts +0 -0
- /package/{dist/cli/node → lib/card-compute}/jsonata-sync.cjs +0 -0
- /package/{dist → lib}/config/index.cjs +0 -0
- /package/{dist → lib}/config/index.d.cts +0 -0
- /package/{dist → lib}/config/index.d.ts +0 -0
- /package/{dist → lib}/config/index.js +0 -0
- /package/{dist → lib}/continuous-event-graph/jsonata-sync.cjs +0 -0
- /package/{dist → lib}/event-graph/index.cjs +0 -0
- /package/{dist → lib}/event-graph/index.js +0 -0
- /package/{dist → lib}/jsonata-sync.cjs +0 -0
- /package/{dist → lib}/server-runtime/jsonata-sync.cjs +0 -0
- /package/{dist → lib}/step-machine/index.cjs +0 -0
- /package/{dist → lib}/step-machine/index.js +0 -0
- /package/{dist → lib}/step-machine-public/jsonata-sync.cjs +0 -0
- /package/{dist → lib}/stores/memory.cjs +0 -0
- /package/{dist → lib}/stores/memory.js +0 -0
- /package/{dist → lib}/types-BBhqYGhE.d.cts +0 -0
- /package/{dist → lib}/types-BBhqYGhE.d.ts +0 -0
- /package/{dist → lib}/validate-BAVzUJWa.d.ts +0 -0
- /package/{dist → lib}/validate-Dbu7ygys.d.cts +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import df from'ajv-formats';import {createRequire}from'module';var qi=Object.create;var Gs=Object.defineProperty;var Oi=Object.getOwnPropertyDescriptor;var Ri=Object.getOwnPropertyNames;var Ti=Object.getPrototypeOf,Ii=Object.prototype.hasOwnProperty;var g=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ai=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ri(e))!Ii.call(t,n)&&n!==r&&Gs(t,n,{get:()=>e[n],enumerable:!(s=Oi(e,n))||s.enumerable});return t};var Ci=(t,e,r)=>(r=t!=null?qi(Ti(t)):{},Ai(Gs(r,"default",{value:t,enumerable:true}),t));var Be=g(R=>{Object.defineProperty(R,"__esModule",{value:true});R.regexpCode=R.getEsmExportName=R.getProperty=R.safeStringify=R.stringify=R.strConcat=R.addCodeArg=R.str=R._=R.nil=R._Code=R.Name=R.IDENTIFIER=R._CodeOrName=void 0;var Je=class{};R._CodeOrName=Je;R.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var we=class extends Je{constructor(e){if(super(),!R.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e;}toString(){return this.str}emptyStr(){return false}get names(){return {[this.str]:1}}};R.Name=we;var B=class extends Je{constructor(e){super(),this._items=typeof e=="string"?[e]:e;}toString(){return this.str}emptyStr(){if(this._items.length>1)return false;let e=this._items[0];return e===""||e==='""'}get str(){var e;return (e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,s)=>`${r}${s}`,"")}get names(){var e;return (e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,s)=>(s instanceof we&&(r[s.str]=(r[s.str]||0)+1),r),{})}};R._Code=B;R.nil=new B("");function Ws(t,...e){let r=[t[0]],s=0;for(;s<e.length;)ir(r,e[s]),r.push(t[++s]);return new B(r)}R._=Ws;var or=new B("+");function Bs(t,...e){let r=[We(t[0])],s=0;for(;s<e.length;)r.push(or),ir(r,e[s]),r.push(or,We(t[++s]));return Di(r),new B(r)}R.str=Bs;function ir(t,e){e instanceof B?t.push(...e._items):e instanceof we?t.push(e):t.push(zi(e));}R.addCodeArg=ir;function Di(t){let e=1;for(;e<t.length-1;){if(t[e]===or){let r=Vi(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+";}e++;}}function Vi(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof we||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof we))return `"${t}${e.slice(1)}`}function xi(t,e){return e.emptyStr()?t:t.emptyStr()?e:Bs`${t}${e}`}R.strConcat=xi;function zi(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:We(Array.isArray(t)?t.join(","):t)}function Ki(t){return new B(We(t))}R.stringify=Ki;function We(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}R.safeStringify=We;function Fi(t){return typeof t=="string"&&R.IDENTIFIER.test(t)?new B(`.${t}`):Ws`[${t}]`}R.getProperty=Fi;function Ui(t){if(typeof t=="string"&&R.IDENTIFIER.test(t))return new B(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}R.getEsmExportName=Ui;function Li(t){return new B(t.toString())}R.regexpCode=Li;});var ur=g(G=>{Object.defineProperty(G,"__esModule",{value:true});G.ValueScope=G.ValueScopeName=G.Scope=G.varKinds=G.UsedValueState=void 0;var H=Be(),ar=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value;}},wt;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed";})(wt||(G.UsedValueState=wt={}));G.varKinds={const:new H.Name("const"),let:new H.Name("let"),var:new H.Name("var")};var bt=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r;}toName(e){return e instanceof H.Name?e:this.name(e)}name(e){return new H.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return `${e}${r.index++}`}_nameGroup(e){var r,s;if(!((s=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||s===void 0)&&s.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};G.Scope=bt;var Et=class extends H.Name{constructor(e,r){super(r),this.prefix=e;}setValue(e,{property:r,itemIndex:s}){this.value=e,this.scopePath=(0, H._)`.${new H.Name(r)}[${s}]`;}};G.ValueScopeName=Et;var Hi=(0, H._)`\n`,cr=class extends bt{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?Hi:H.nil};}get(){return this._scope}name(e){return new Et(e,this._newName(e))}value(e,r){var s;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let n=this.toName(e),{prefix:o}=n,i=(s=r.key)!==null&&s!==void 0?s:r.ref,a=this._values[o];if(a){let d=a.get(i);if(d)return d}else a=this._values[o]=new Map;a.set(i,n);let c=this._scope[o]||(this._scope[o]=[]),u=c.length;return c[u]=r.ref,n.setValue(r,{property:o,itemIndex:u}),n}getValue(e,r){let s=this._values[e];if(s)return s.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,s=>{if(s.scopePath===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return (0, H._)`${e}${s.scopePath}`})}scopeCode(e=this._values,r,s){return this._reduceValues(e,n=>{if(n.value===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return n.value.code},r,s)}_reduceValues(e,r,s={},n){let o=H.nil;for(let i in e){let a=e[i];if(!a)continue;let c=s[i]=s[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,wt.Started);let d=r(u);if(d){let l=this.opts.es5?G.varKinds.var:G.varKinds.const;o=(0, H._)`${o}${l} ${u} = ${d};${this.opts._n}`;}else if(d=n?.(u))o=(0, H._)`${o}${d}${this.opts._n}`;else throw new ar(u);c.set(u,wt.Completed);});}return o}};G.ValueScope=cr;});var S=g(E=>{Object.defineProperty(E,"__esModule",{value:true});E.or=E.and=E.not=E.CodeGen=E.operators=E.varKinds=E.ValueScopeName=E.ValueScope=E.Scope=E.Name=E.regexpCode=E.stringify=E.getProperty=E.nil=E.strConcat=E.str=E._=void 0;var k=Be(),Z=ur(),he=Be();Object.defineProperty(E,"_",{enumerable:true,get:function(){return he._}});Object.defineProperty(E,"str",{enumerable:true,get:function(){return he.str}});Object.defineProperty(E,"strConcat",{enumerable:true,get:function(){return he.strConcat}});Object.defineProperty(E,"nil",{enumerable:true,get:function(){return he.nil}});Object.defineProperty(E,"getProperty",{enumerable:true,get:function(){return he.getProperty}});Object.defineProperty(E,"stringify",{enumerable:true,get:function(){return he.stringify}});Object.defineProperty(E,"regexpCode",{enumerable:true,get:function(){return he.regexpCode}});Object.defineProperty(E,"Name",{enumerable:true,get:function(){return he.Name}});var kt=ur();Object.defineProperty(E,"Scope",{enumerable:true,get:function(){return kt.Scope}});Object.defineProperty(E,"ValueScope",{enumerable:true,get:function(){return kt.ValueScope}});Object.defineProperty(E,"ValueScopeName",{enumerable:true,get:function(){return kt.ValueScopeName}});Object.defineProperty(E,"varKinds",{enumerable:true,get:function(){return kt.varKinds}});E.operators={GT:new k._Code(">"),GTE:new k._Code(">="),LT:new k._Code("<"),LTE:new k._Code("<="),EQ:new k._Code("==="),NEQ:new k._Code("!=="),NOT:new k._Code("!"),OR:new k._Code("||"),AND:new k._Code("&&"),ADD:new k._Code("+")};var ue=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},dr=class extends ue{constructor(e,r,s){super(),this.varKind=e,this.name=r,this.rhs=s;}render({es5:e,_n:r}){let s=e?Z.varKinds.var:this.varKind,n=this.rhs===void 0?"":` = ${this.rhs}`;return `${s} ${this.name}${n};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Te(this.rhs,e,r)),this}get names(){return this.rhs instanceof k._CodeOrName?this.rhs.names:{}}},St=class extends ue{constructor(e,r,s){super(),this.lhs=e,this.rhs=r,this.sideEffects=s;}render({_n:e}){return `${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof k.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Te(this.rhs,e,r),this}get names(){let e=this.lhs instanceof k.Name?{}:{...this.lhs.names};return Nt(e,this.rhs)}},lr=class extends St{constructor(e,r,s,n){super(e,s,n),this.op=r;}render({_n:e}){return `${this.lhs} ${this.op}= ${this.rhs};`+e}},fr=class extends ue{constructor(e){super(),this.label=e,this.names={};}render({_n:e}){return `${this.label}:`+e}},pr=class extends ue{constructor(e){super(),this.label=e,this.names={};}render({_n:e}){return `break${this.label?` ${this.label}`:""};`+e}},hr=class extends ue{constructor(e){super(),this.error=e;}render({_n:e}){return `throw ${this.error};`+e}get names(){return this.error.names}},mr=class extends ue{constructor(e){super(),this.code=e;}render({_n:e}){return `${this.code};`+e}optimizeNodes(){return `${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Te(this.code,e,r),this}get names(){return this.code instanceof k._CodeOrName?this.code.names:{}}},Qe=class extends ue{constructor(e=[]){super(),this.nodes=e;}render(e){return this.nodes.reduce((r,s)=>r+s.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let s=e[r].optimizeNodes();Array.isArray(s)?e.splice(r,1,...s):s?e[r]=s:e.splice(r,1);}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:s}=this,n=s.length;for(;n--;){let o=s[n];o.optimizeNames(e,r)||(Gi(e,o.names),s.splice(n,1));}return s.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Se(e,r.names),{})}},de=class extends Qe{render(e){return "{"+e._n+super.render(e)+"}"+e._n}},yr=class extends Qe{},Re=class extends de{};Re.kind="else";var be=class t extends de{constructor(e,r){super(r),this.condition=e;}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===true)return this.nodes;let r=this.else;if(r){let s=r.optimizeNodes();r=this.else=Array.isArray(s)?new Re(s):s;}if(r)return e===false?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Qs(e),r instanceof t?[r]:r.nodes);if(!(e===false||!this.nodes.length))return this}optimizeNames(e,r){var s;if(this.else=(s=this.else)===null||s===void 0?void 0:s.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Te(this.condition,e,r),this}get names(){let e=super.names;return Nt(e,this.condition),this.else&&Se(e,this.else.names),e}};be.kind="if";var Ee=class extends de{};Ee.kind="for";var _r=class extends Ee{constructor(e){super(),this.iteration=e;}render(e){return `for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Te(this.iteration,e,r),this}get names(){return Se(super.names,this.iteration.names)}},gr=class extends Ee{constructor(e,r,s,n){super(),this.varKind=e,this.name=r,this.from=s,this.to=n;}render(e){let r=e.es5?Z.varKinds.var:this.varKind,{name:s,from:n,to:o}=this;return `for(${r} ${s}=${n}; ${s}<${o}; ${s}++)`+super.render(e)}get names(){let e=Nt(super.names,this.from);return Nt(e,this.to)}},Pt=class extends Ee{constructor(e,r,s,n){super(),this.loop=e,this.varKind=r,this.name=s,this.iterable=n;}render(e){return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Te(this.iterable,e,r),this}get names(){return Se(super.names,this.iterable.names)}},Xe=class extends de{constructor(e,r,s){super(),this.name=e,this.args=r,this.async=s;}render(e){return `${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Xe.kind="func";var Ye=class extends Qe{render(e){return "return "+super.render(e)}};Ye.kind="return";var $r=class extends de{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var s,n;return super.optimizeNames(e,r),(s=this.catch)===null||s===void 0||s.optimizeNames(e,r),(n=this.finally)===null||n===void 0||n.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Se(e,this.catch.names),this.finally&&Se(e,this.finally.names),e}},Ze=class extends de{constructor(e){super(),this.error=e;}render(e){return `catch(${this.error})`+super.render(e)}};Ze.kind="catch";var et=class extends de{render(e){return "finally"+super.render(e)}};et.kind="finally";var vr=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
2
|
+
`:""},this._extScope=e,this._scope=new Z.Scope({parent:e}),this._nodes=[new yr];}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let s=this._extScope.value(e,r);return (this._values[s.prefix]||(this._values[s.prefix]=new Set)).add(s),s}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,s,n){let o=this._scope.toName(r);return s!==void 0&&n&&(this._constants[o.str]=s),this._leafNode(new dr(e,o,s)),o}const(e,r,s){return this._def(Z.varKinds.const,e,r,s)}let(e,r,s){return this._def(Z.varKinds.let,e,r,s)}var(e,r,s){return this._def(Z.varKinds.var,e,r,s)}assign(e,r,s){return this._leafNode(new St(e,r,s))}add(e,r){return this._leafNode(new lr(e,E.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==k.nil&&this._leafNode(new mr(e)),this}object(...e){let r=["{"];for(let[s,n]of e)r.length>1&&r.push(","),r.push(s),(s!==n||this.opts.es5)&&(r.push(":"),(0, k.addCodeArg)(r,n));return r.push("}"),new k._Code(r)}if(e,r,s){if(this._blockNode(new be(e)),r&&s)this.code(r).else().code(s).endIf();else if(r)this.code(r).endIf();else if(s)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new be(e))}else(){return this._elseNode(new Re)}endIf(){return this._endBlockNode(be,Re)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new _r(e),r)}forRange(e,r,s,n,o=this.opts.es5?Z.varKinds.var:Z.varKinds.let){let i=this._scope.toName(e);return this._for(new gr(o,i,r,s),()=>n(i))}forOf(e,r,s,n=Z.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let i=r instanceof k.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0, k._)`${i}.length`,a=>{this.var(o,(0, k._)`${i}[${a}]`),s(o);})}return this._for(new Pt("of",n,o,r),()=>s(o))}forIn(e,r,s,n=this.opts.es5?Z.varKinds.var:Z.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0, k._)`Object.keys(${r})`,s);let o=this._scope.toName(e);return this._for(new Pt("in",n,o,r),()=>s(o))}endFor(){return this._endBlockNode(Ee)}label(e){return this._leafNode(new fr(e))}break(e){return this._leafNode(new pr(e))}return(e){let r=new Ye;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Ye)}try(e,r,s){if(!r&&!s)throw new Error('CodeGen: "try" without "catch" and "finally"');let n=new $r;if(this._blockNode(n),this.code(e),r){let o=this.name("e");this._currNode=n.catch=new Ze(o),r(o);}return s&&(this._currNode=n.finally=new et,this.code(s)),this._endBlockNode(Ze,et)}throw(e){return this._leafNode(new hr(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let s=this._nodes.length-r;if(s<0||e!==void 0&&s!==e)throw new Error(`CodeGen: wrong number of nodes: ${s} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=k.nil,s,n){return this._blockNode(new Xe(e,r,s)),n&&this.code(n).endFunc(),this}endFunc(){return this._endBlockNode(Xe)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants);}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e);}_endBlockNode(e,r){let s=this._currNode;if(s instanceof e||r&&s instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof be))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e;}};E.CodeGen=vr;function Se(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Nt(t,e){return e instanceof k._CodeOrName?Se(t,e.names):t}function Te(t,e,r){if(t instanceof k.Name)return s(t);if(!n(t))return t;return new k._Code(t._items.reduce((o,i)=>(i instanceof k.Name&&(i=s(i)),i instanceof k._Code?o.push(...i._items):o.push(i),o),[]));function s(o){let i=r[o.str];return i===void 0||e[o.str]!==1?o:(delete e[o.str],i)}function n(o){return o instanceof k._Code&&o._items.some(i=>i instanceof k.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function Gi(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0);}function Qs(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0, k._)`!${wr(t)}`}E.not=Qs;var Ji=Xs(E.operators.AND);function Wi(...t){return t.reduce(Ji)}E.and=Wi;var Bi=Xs(E.operators.OR);function Qi(...t){return t.reduce(Bi)}E.or=Qi;function Xs(t){return (e,r)=>e===k.nil?r:r===k.nil?e:(0, k._)`${wr(e)} ${t} ${wr(r)}`}function wr(t){return t instanceof k.Name?t:(0, k._)`(${t})`}});var q=g(P=>{Object.defineProperty(P,"__esModule",{value:true});P.checkStrictMode=P.getErrorPath=P.Type=P.useFunc=P.setEvaluated=P.evaluatedPropsToName=P.mergeEvaluated=P.eachItem=P.unescapeJsonPointer=P.escapeJsonPointer=P.escapeFragment=P.unescapeFragment=P.schemaRefOrVal=P.schemaHasRulesButRef=P.schemaHasRules=P.checkUnknownRules=P.alwaysValidSchema=P.toHash=void 0;var I=S(),Xi=Be();function Yi(t){let e={};for(let r of t)e[r]=true;return e}P.toHash=Yi;function Zi(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?true:(en(t,e),!tn(e,t.self.RULES.all))}P.alwaysValidSchema=Zi;function en(t,e=t.schema){let{opts:r,self:s}=t;if(!r.strictSchema||typeof e=="boolean")return;let n=s.RULES.keywords;for(let o in e)n[o]||nn(t,`unknown keyword: "${o}"`);}P.checkUnknownRules=en;function tn(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(e[r])return true;return false}P.schemaHasRules=tn;function ea(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(r!=="$ref"&&e.all[r])return true;return false}P.schemaHasRulesButRef=ea;function ta({topSchemaRef:t,schemaPath:e},r,s,n){if(!n){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return (0, I._)`${r}`}return (0, I._)`${t}${e}${(0, I.getProperty)(s)}`}P.schemaRefOrVal=ta;function ra(t){return rn(decodeURIComponent(t))}P.unescapeFragment=ra;function sa(t){return encodeURIComponent(Er(t))}P.escapeFragment=sa;function Er(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}P.escapeJsonPointer=Er;function rn(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}P.unescapeJsonPointer=rn;function na(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t);}P.eachItem=na;function Ys({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:s}){return (n,o,i,a)=>{let c=i===void 0?o:i instanceof I.Name?(o instanceof I.Name?t(n,o,i):e(n,o,i),i):o instanceof I.Name?(e(n,i,o),o):r(o,i);return a===I.Name&&!(c instanceof I.Name)?s(n,c):c}}P.mergeEvaluated={props:Ys({mergeNames:(t,e,r)=>t.if((0, I._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0, I._)`${e} === true`,()=>t.assign(r,true),()=>t.assign(r,(0, I._)`${r} || {}`).code((0, I._)`Object.assign(${r}, ${e})`));}),mergeToName:(t,e,r)=>t.if((0, I._)`${r} !== true`,()=>{e===true?t.assign(r,true):(t.assign(r,(0, I._)`${r} || {}`),Sr(t,r,e));}),mergeValues:(t,e)=>t===true?true:{...t,...e},resultToName:sn}),items:Ys({mergeNames:(t,e,r)=>t.if((0, I._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0, I._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0, I._)`${r} !== true`,()=>t.assign(r,e===true?true:(0, I._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===true?true:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function sn(t,e){if(e===true)return t.var("props",true);let r=t.var("props",(0, I._)`{}`);return e!==void 0&&Sr(t,r,e),r}P.evaluatedPropsToName=sn;function Sr(t,e,r){Object.keys(r).forEach(s=>t.assign((0, I._)`${e}${(0, I.getProperty)(s)}`,true));}P.setEvaluated=Sr;var Zs={};function oa(t,e){return t.scopeValue("func",{ref:e,code:Zs[e.code]||(Zs[e.code]=new Xi._Code(e.code))})}P.useFunc=oa;var br;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str";})(br||(P.Type=br={}));function ia(t,e,r){if(t instanceof I.Name){let s=e===br.Num;return r?s?(0, I._)`"[" + ${t} + "]"`:(0, I._)`"['" + ${t} + "']"`:s?(0, I._)`"/" + ${t}`:(0, I._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0, I.getProperty)(t).toString():"/"+Er(t)}P.getErrorPath=ia;function nn(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===true)throw new Error(e);t.self.logger.warn(e);}}P.checkStrictMode=nn;});var le=g(Pr=>{Object.defineProperty(Pr,"__esModule",{value:true});var z=S(),aa={data:new z.Name("data"),valCxt:new z.Name("valCxt"),instancePath:new z.Name("instancePath"),parentData:new z.Name("parentData"),parentDataProperty:new z.Name("parentDataProperty"),rootData:new z.Name("rootData"),dynamicAnchors:new z.Name("dynamicAnchors"),vErrors:new z.Name("vErrors"),errors:new z.Name("errors"),this:new z.Name("this"),self:new z.Name("self"),scope:new z.Name("scope"),json:new z.Name("json"),jsonPos:new z.Name("jsonPos"),jsonLen:new z.Name("jsonLen"),jsonPart:new z.Name("jsonPart")};Pr.default=aa;});var tt=g(K=>{Object.defineProperty(K,"__esModule",{value:true});K.extendErrors=K.resetErrorsCount=K.reportExtraError=K.reportError=K.keyword$DataError=K.keywordError=void 0;var O=S(),jt=q(),U=le();K.keywordError={message:({keyword:t})=>(0, O.str)`must pass "${t}" keyword validation`};K.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0, O.str)`"${t}" keyword must be ${e} ($data)`:(0, O.str)`"${t}" keyword is invalid ($data)`};function ca(t,e=K.keywordError,r,s){let{it:n}=t,{gen:o,compositeRule:i,allErrors:a}=n,c=cn(t,e,r);s??(i||a)?on(o,c):an(n,(0, O._)`[${c}]`);}K.reportError=ca;function ua(t,e=K.keywordError,r){let{it:s}=t,{gen:n,compositeRule:o,allErrors:i}=s,a=cn(t,e,r);on(n,a),o||i||an(s,U.default.vErrors);}K.reportExtraError=ua;function da(t,e){t.assign(U.default.errors,e),t.if((0, O._)`${U.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0, O._)`${U.default.vErrors}.length`,e),()=>t.assign(U.default.vErrors,null)));}K.resetErrorsCount=da;function la({gen:t,keyword:e,schemaValue:r,data:s,errsCount:n,it:o}){if(n===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",n,U.default.errors,a=>{t.const(i,(0, O._)`${U.default.vErrors}[${a}]`),t.if((0, O._)`${i}.instancePath === undefined`,()=>t.assign((0, O._)`${i}.instancePath`,(0, O.strConcat)(U.default.instancePath,o.errorPath))),t.assign((0, O._)`${i}.schemaPath`,(0, O.str)`${o.errSchemaPath}/${e}`),o.opts.verbose&&(t.assign((0, O._)`${i}.schema`,r),t.assign((0, O._)`${i}.data`,s));});}K.extendErrors=la;function on(t,e){let r=t.const("err",e);t.if((0, O._)`${U.default.vErrors} === null`,()=>t.assign(U.default.vErrors,(0, O._)`[${r}]`),(0, O._)`${U.default.vErrors}.push(${r})`),t.code((0, O._)`${U.default.errors}++`);}function an(t,e){let{gen:r,validateName:s,schemaEnv:n}=t;n.$async?r.throw((0, O._)`new ${t.ValidationError}(${e})`):(r.assign((0, O._)`${s}.errors`,e),r.return(false));}var Pe={keyword:new O.Name("keyword"),schemaPath:new O.Name("schemaPath"),params:new O.Name("params"),propertyName:new O.Name("propertyName"),message:new O.Name("message"),schema:new O.Name("schema"),parentSchema:new O.Name("parentSchema")};function cn(t,e,r){let{createErrors:s}=t.it;return s===false?(0, O._)`{}`:fa(t,e,r)}function fa(t,e,r={}){let{gen:s,it:n}=t,o=[pa(n,r),ha(t,r)];return ma(t,e,o),s.object(...o)}function pa({errorPath:t},{instancePath:e}){let r=e?(0, O.str)`${t}${(0, jt.getErrorPath)(e,jt.Type.Str)}`:t;return [U.default.instancePath,(0, O.strConcat)(U.default.instancePath,r)]}function ha({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:s}){let n=s?e:(0, O.str)`${e}/${t}`;return r&&(n=(0, O.str)`${n}${(0, jt.getErrorPath)(r,jt.Type.Str)}`),[Pe.schemaPath,n]}function ma(t,{params:e,message:r},s){let{keyword:n,data:o,schemaValue:i,it:a}=t,{opts:c,propertyName:u,topSchemaRef:d,schemaPath:l}=a;s.push([Pe.keyword,n],[Pe.params,typeof e=="function"?e(t):e||(0, O._)`{}`]),c.messages&&s.push([Pe.message,typeof r=="function"?r(t):r]),c.verbose&&s.push([Pe.schema,i],[Pe.parentSchema,(0, O._)`${d}${l}`],[U.default.data,o]),u&&s.push([Pe.propertyName,u]);}});var dn=g(Ie=>{Object.defineProperty(Ie,"__esModule",{value:true});Ie.boolOrEmptySchema=Ie.topBoolOrEmptySchema=void 0;var ya=tt(),_a=S(),ga=le(),$a={message:"boolean schema is false"};function va(t){let{gen:e,schema:r,validateName:s}=t;r===false?un(t,false):typeof r=="object"&&r.$async===true?e.return(ga.default.data):(e.assign((0, _a._)`${s}.errors`,null),e.return(true));}Ie.topBoolOrEmptySchema=va;function wa(t,e){let{gen:r,schema:s}=t;s===false?(r.var(e,false),un(t)):r.var(e,true);}Ie.boolOrEmptySchema=wa;function un(t,e){let{gen:r,data:s}=t,n={gen:r,keyword:"false schema",data:s,schema:false,schemaCode:false,schemaValue:false,params:{},it:t};(0, ya.reportError)(n,$a,void 0,e);}});var Nr=g(Ae=>{Object.defineProperty(Ae,"__esModule",{value:true});Ae.getRules=Ae.isJSONType=void 0;var ba=["string","number","integer","boolean","null","object","array"],Ea=new Set(ba);function Sa(t){return typeof t=="string"&&Ea.has(t)}Ae.isJSONType=Sa;function Pa(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return {types:{...t,integer:true,boolean:true,null:true},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Ae.getRules=Pa;});var kr=g(me=>{Object.defineProperty(me,"__esModule",{value:true});me.shouldUseRule=me.shouldUseGroup=me.schemaHasRulesForType=void 0;function Na({schema:t,self:e},r){let s=e.RULES.types[r];return s&&s!==true&&ln(t,s)}me.schemaHasRulesForType=Na;function ln(t,e){return e.rules.some(r=>fn(t,r))}me.shouldUseGroup=ln;function fn(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(s=>t[s]!==void 0))}me.shouldUseRule=fn;});var rt=g(F=>{Object.defineProperty(F,"__esModule",{value:true});F.reportTypeError=F.checkDataTypes=F.checkDataType=F.coerceAndCheckDataType=F.getJSONTypes=F.getSchemaTypes=F.DataType=void 0;var ka=Nr(),ja=kr(),qa=tt(),b=S(),pn=q(),Ce;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong";})(Ce||(F.DataType=Ce={}));function Oa(t){let e=hn(t.type);if(e.includes("null")){if(t.nullable===false)throw new Error("type: null contradicts nullable: false")}else {if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===true&&e.push("null");}return e}F.getSchemaTypes=Oa;function hn(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(ka.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}F.getJSONTypes=hn;function Ra(t,e){let{gen:r,data:s,opts:n}=t,o=Ta(e,n.coerceTypes),i=e.length>0&&!(o.length===0&&e.length===1&&(0, ja.schemaHasRulesForType)(t,e[0]));if(i){let a=qr(e,s,n.strictNumbers,Ce.Wrong);r.if(a,()=>{o.length?Ia(t,e,o):Or(t);});}return i}F.coerceAndCheckDataType=Ra;var mn=new Set(["string","number","integer","boolean","null"]);function Ta(t,e){return e?t.filter(r=>mn.has(r)||e==="array"&&r==="array"):[]}function Ia(t,e,r){let{gen:s,data:n,opts:o}=t,i=s.let("dataType",(0, b._)`typeof ${n}`),a=s.let("coerced",(0, b._)`undefined`);o.coerceTypes==="array"&&s.if((0, b._)`${i} == 'object' && Array.isArray(${n}) && ${n}.length == 1`,()=>s.assign(n,(0, b._)`${n}[0]`).assign(i,(0, b._)`typeof ${n}`).if(qr(e,n,o.strictNumbers),()=>s.assign(a,n))),s.if((0, b._)`${a} !== undefined`);for(let u of r)(mn.has(u)||u==="array"&&o.coerceTypes==="array")&&c(u);s.else(),Or(t),s.endIf(),s.if((0, b._)`${a} !== undefined`,()=>{s.assign(n,a),Aa(t,a);});function c(u){switch(u){case "string":s.elseIf((0, b._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0, b._)`"" + ${n}`).elseIf((0, b._)`${n} === null`).assign(a,(0, b._)`""`);return;case "number":s.elseIf((0, b._)`${i} == "boolean" || ${n} === null
|
|
3
|
+
|| (${i} == "string" && ${n} && ${n} == +${n})`).assign(a,(0, b._)`+${n}`);return;case "integer":s.elseIf((0, b._)`${i} === "boolean" || ${n} === null
|
|
4
|
+
|| (${i} === "string" && ${n} && ${n} == +${n} && !(${n} % 1))`).assign(a,(0, b._)`+${n}`);return;case "boolean":s.elseIf((0, b._)`${n} === "false" || ${n} === 0 || ${n} === null`).assign(a,false).elseIf((0, b._)`${n} === "true" || ${n} === 1`).assign(a,true);return;case "null":s.elseIf((0, b._)`${n} === "" || ${n} === 0 || ${n} === false`),s.assign(a,null);return;case "array":s.elseIf((0, b._)`${i} === "string" || ${i} === "number"
|
|
5
|
+
|| ${i} === "boolean" || ${n} === null`).assign(a,(0, b._)`[${n}]`);}}}function Aa({gen:t,parentData:e,parentDataProperty:r},s){t.if((0, b._)`${e} !== undefined`,()=>t.assign((0, b._)`${e}[${r}]`,s));}function jr(t,e,r,s=Ce.Correct){let n=s===Ce.Correct?b.operators.EQ:b.operators.NEQ,o;switch(t){case "null":return (0, b._)`${e} ${n} null`;case "array":o=(0, b._)`Array.isArray(${e})`;break;case "object":o=(0, b._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case "integer":o=i((0, b._)`!(${e} % 1) && !isNaN(${e})`);break;case "number":o=i();break;default:return (0, b._)`typeof ${e} ${n} ${t}`}return s===Ce.Correct?o:(0, b.not)(o);function i(a=b.nil){return (0, b.and)((0, b._)`typeof ${e} == "number"`,a,r?(0, b._)`isFinite(${e})`:b.nil)}}F.checkDataType=jr;function qr(t,e,r,s){if(t.length===1)return jr(t[0],e,r,s);let n,o=(0, pn.toHash)(t);if(o.array&&o.object){let i=(0, b._)`typeof ${e} != "object"`;n=o.null?i:(0, b._)`!${e} || ${i}`,delete o.null,delete o.array,delete o.object;}else n=b.nil;o.number&&delete o.integer;for(let i in o)n=(0, b.and)(n,jr(i,e,r,s));return n}F.checkDataTypes=qr;var Ca={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0, b._)`{type: ${t}}`:(0, b._)`{type: ${e}}`};function Or(t){let e=Ma(t);(0, qa.reportError)(e,Ca);}F.reportTypeError=Or;function Ma(t){let{gen:e,data:r,schema:s}=t,n=(0, pn.schemaRefOrVal)(t,s,"type");return {gen:e,keyword:"type",data:r,schema:s.type,schemaCode:n,schemaValue:n,parentSchema:s,params:{},it:t}}});var _n=g(qt=>{Object.defineProperty(qt,"__esModule",{value:true});qt.assignDefaults=void 0;var Me=S(),Da=q();function Va(t,e){let{properties:r,items:s}=t.schema;if(e==="object"&&r)for(let n in r)yn(t,n,r[n].default);else e==="array"&&Array.isArray(s)&&s.forEach((n,o)=>yn(t,o,n.default));}qt.assignDefaults=Va;function yn(t,e,r){let{gen:s,compositeRule:n,data:o,opts:i}=t;if(r===void 0)return;let a=(0, Me._)`${o}${(0, Me.getProperty)(e)}`;if(n){(0, Da.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0, Me._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0, Me._)`${c} || ${a} === null || ${a} === ""`),s.if(c,(0, Me._)`${a} = ${(0, Me.stringify)(r)}`);}});var Q=g(T=>{Object.defineProperty(T,"__esModule",{value:true});T.validateUnion=T.validateArray=T.usePattern=T.callValidateCode=T.schemaProperties=T.allSchemaProperties=T.noPropertyInData=T.propertyInData=T.isOwnProperty=T.hasPropFunc=T.reportMissingProp=T.checkMissingProp=T.checkReportMissingProp=void 0;var C=S(),Rr=q(),ye=le(),xa=q();function za(t,e){let{gen:r,data:s,it:n}=t;r.if(Ir(r,s,e,n.opts.ownProperties),()=>{t.setParams({missingProperty:(0, C._)`${e}`},true),t.error();});}T.checkReportMissingProp=za;function Ka({gen:t,data:e,it:{opts:r}},s,n){return (0, C.or)(...s.map(o=>(0, C.and)(Ir(t,e,o,r.ownProperties),(0, C._)`${n} = ${o}`)))}T.checkMissingProp=Ka;function Fa(t,e){t.setParams({missingProperty:e},true),t.error();}T.reportMissingProp=Fa;function gn(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, C._)`Object.prototype.hasOwnProperty`})}T.hasPropFunc=gn;function Tr(t,e,r){return (0, C._)`${gn(t)}.call(${e}, ${r})`}T.isOwnProperty=Tr;function Ua(t,e,r,s){let n=(0, C._)`${e}${(0, C.getProperty)(r)} !== undefined`;return s?(0, C._)`${n} && ${Tr(t,e,r)}`:n}T.propertyInData=Ua;function Ir(t,e,r,s){let n=(0, C._)`${e}${(0, C.getProperty)(r)} === undefined`;return s?(0, C.or)(n,(0, C.not)(Tr(t,e,r))):n}T.noPropertyInData=Ir;function $n(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}T.allSchemaProperties=$n;function La(t,e){return $n(e).filter(r=>!(0, Rr.alwaysValidSchema)(t,e[r]))}T.schemaProperties=La;function Ha({schemaCode:t,data:e,it:{gen:r,topSchemaRef:s,schemaPath:n,errorPath:o},it:i},a,c,u){let d=u?(0, C._)`${t}, ${e}, ${s}${n}`:e,l=[[ye.default.instancePath,(0, C.strConcat)(ye.default.instancePath,o)],[ye.default.parentData,i.parentData],[ye.default.parentDataProperty,i.parentDataProperty],[ye.default.rootData,ye.default.rootData]];i.opts.dynamicRef&&l.push([ye.default.dynamicAnchors,ye.default.dynamicAnchors]);let m=(0, C._)`${d}, ${r.object(...l)}`;return c!==C.nil?(0, C._)`${a}.call(${c}, ${m})`:(0, C._)`${a}(${m})`}T.callValidateCode=Ha;var Ga=(0, C._)`new RegExp`;function Ja({gen:t,it:{opts:e}},r){let s=e.unicodeRegExp?"u":"",{regExp:n}=e.code,o=n(r,s);return t.scopeValue("pattern",{key:o.toString(),ref:o,code:(0, C._)`${n.code==="new RegExp"?Ga:(0, xa.useFunc)(t,n)}(${r}, ${s})`})}T.usePattern=Ja;function Wa(t){let{gen:e,data:r,keyword:s,it:n}=t,o=e.name("valid");if(n.allErrors){let a=e.let("valid",true);return i(()=>e.assign(a,false)),a}return e.var(o,true),i(()=>e.break()),o;function i(a){let c=e.const("len",(0, C._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:s,dataProp:u,dataPropType:Rr.Type.Num},o),e.if((0, C.not)(o),a);});}}T.validateArray=Wa;function Ba(t){let{gen:e,schema:r,keyword:s,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0, Rr.alwaysValidSchema)(n,c))&&!n.opts.unevaluated)return;let i=e.let("valid",false),a=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let d=t.subschema({keyword:s,schemaProp:u,compositeRule:true},a);e.assign(i,(0, C._)`${i} || ${a}`),t.mergeValidEvaluated(d,a)||e.if((0, C.not)(i));})),t.result(i,()=>t.reset(),()=>t.error(true));}T.validateUnion=Ba;});var bn=g(ne=>{Object.defineProperty(ne,"__esModule",{value:true});ne.validateKeywordUsage=ne.validSchemaType=ne.funcKeywordCode=ne.macroKeywordCode=void 0;var L=S(),Ne=le(),Qa=Q(),Xa=tt();function Ya(t,e){let{gen:r,keyword:s,schema:n,parentSchema:o,it:i}=t,a=e.macro.call(i.self,n,o,i),c=wn(r,s,a);i.opts.validateSchema!==false&&i.self.validateSchema(a,true);let u=r.name("valid");t.subschema({schema:a,schemaPath:L.nil,errSchemaPath:`${i.errSchemaPath}/${s}`,topSchemaRef:c,compositeRule:true},u),t.pass(u,()=>t.error(true));}ne.macroKeywordCode=Ya;function Za(t,e){var r;let{gen:s,keyword:n,schema:o,parentSchema:i,$data:a,it:c}=t;tc(c,e);let u=!a&&e.compile?e.compile.call(c.self,o,i,c):e.validate,d=wn(s,n,u),l=s.let("valid");t.block$data(l,m),t.ok((r=e.valid)!==null&&r!==void 0?r:l);function m(){if(e.errors===false)f(),e.modifying&&vn(t),y(()=>t.error());else {let _=e.async?h():p();e.modifying&&vn(t),y(()=>ec(t,_));}}function h(){let _=s.let("ruleErrs",null);return s.try(()=>f((0, L._)`await `),j=>s.assign(l,false).if((0, L._)`${j} instanceof ${c.ValidationError}`,()=>s.assign(_,(0, L._)`${j}.errors`),()=>s.throw(j))),_}function p(){let _=(0, L._)`${d}.errors`;return s.assign(_,null),f(L.nil),_}function f(_=e.async?(0, L._)`await `:L.nil){let j=c.opts.passContext?Ne.default.this:Ne.default.self,N=!("compile"in e&&!a||e.schema===false);s.assign(l,(0, L._)`${_}${(0, Qa.callValidateCode)(t,d,j,N)}`,e.modifying);}function y(_){var j;s.if((0, L.not)((j=e.valid)!==null&&j!==void 0?j:l),_);}}ne.funcKeywordCode=Za;function vn(t){let{gen:e,data:r,it:s}=t;e.if(s.parentData,()=>e.assign(r,(0, L._)`${s.parentData}[${s.parentDataProperty}]`));}function ec(t,e){let{gen:r}=t;r.if((0, L._)`Array.isArray(${e})`,()=>{r.assign(Ne.default.vErrors,(0, L._)`${Ne.default.vErrors} === null ? ${e} : ${Ne.default.vErrors}.concat(${e})`).assign(Ne.default.errors,(0, L._)`${Ne.default.vErrors}.length`),(0, Xa.extendErrors)(t);},()=>t.error());}function tc({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function wn(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0, L.stringify)(r)})}function rc(t,e,r=false){return !e.length||e.some(s=>s==="array"?Array.isArray(t):s==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==s||r&&typeof t>"u")}ne.validSchemaType=rc;function sc({schema:t,opts:e,self:r,errSchemaPath:s},n,o){if(Array.isArray(n.keyword)?!n.keyword.includes(o):n.keyword!==o)throw new Error("ajv implementation error");let i=n.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${o}: ${i.join(",")}`);if(n.validateSchema&&!n.validateSchema(t[o])){let c=`keyword "${o}" value is invalid at path "${s}": `+r.errorsText(n.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}ne.validateKeywordUsage=sc;});var Sn=g(_e=>{Object.defineProperty(_e,"__esModule",{value:true});_e.extendSubschemaMode=_e.extendSubschemaData=_e.getSubschema=void 0;var oe=S(),En=q();function nc(t,{keyword:e,schemaProp:r,schema:s,schemaPath:n,errSchemaPath:o,topSchemaRef:i}){if(e!==void 0&&s!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0, oe._)`${t.schemaPath}${(0, oe.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0, oe._)`${t.schemaPath}${(0, oe.getProperty)(e)}${(0, oe.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0, En.escapeFragment)(r)}`}}if(s!==void 0){if(n===void 0||o===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return {schema:s,schemaPath:n,topSchemaRef:i,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')}_e.getSubschema=nc;function oc(t,e,{dataProp:r,dataPropType:s,data:n,dataTypes:o,propertyName:i}){if(n!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:u,dataPathArr:d,opts:l}=e,m=a.let("data",(0, oe._)`${e.data}${(0, oe.getProperty)(r)}`,true);c(m),t.errorPath=(0, oe.str)`${u}${(0, En.getErrorPath)(r,s,l.jsPropertySyntax)}`,t.parentDataProperty=(0, oe._)`${r}`,t.dataPathArr=[...d,t.parentDataProperty];}if(n!==void 0){let u=n instanceof oe.Name?n:a.let("data",n,true);c(u),i!==void 0&&(t.propertyName=i);}o&&(t.dataTypes=o);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u];}}_e.extendSubschemaData=oc;function ic(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:s,createErrors:n,allErrors:o}){s!==void 0&&(t.compositeRule=s),n!==void 0&&(t.createErrors=n),o!==void 0&&(t.allErrors=o),t.jtdDiscriminator=e,t.jtdMetadata=r;}_e.extendSubschemaMode=ic;});var Ar=g((Cf,Pn)=>{Pn.exports=function t(e,r){if(e===r)return true;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return false;var s,n,o;if(Array.isArray(e)){if(s=e.length,s!=r.length)return false;for(n=s;n--!==0;)if(!t(e[n],r[n]))return false;return true}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(o=Object.keys(e),s=o.length,s!==Object.keys(r).length)return false;for(n=s;n--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[n]))return false;for(n=s;n--!==0;){var i=o[n];if(!t(e[i],r[i]))return false}return true}return e!==e&&r!==r};});var kn=g((Mf,Nn)=>{var ge=Nn.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var s=typeof r=="function"?r:r.pre||function(){},n=r.post||function(){};Ot(e,s,n,t,"",t);};ge.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true,if:true,then:true,else:true};ge.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};ge.propsKeywords={$defs:true,definitions:true,properties:true,patternProperties:true,dependencies:true};ge.skipKeywords={default:true,enum:true,const:true,required:true,maximum:true,minimum:true,exclusiveMaximum:true,exclusiveMinimum:true,multipleOf:true,maxLength:true,minLength:true,pattern:true,format:true,maxItems:true,minItems:true,uniqueItems:true,maxProperties:true,minProperties:true};function Ot(t,e,r,s,n,o,i,a,c,u){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,n,o,i,a,c,u);for(var d in s){var l=s[d];if(Array.isArray(l)){if(d in ge.arrayKeywords)for(var m=0;m<l.length;m++)Ot(t,e,r,l[m],n+"/"+d+"/"+m,o,n,d,s,m);}else if(d in ge.propsKeywords){if(l&&typeof l=="object")for(var h in l)Ot(t,e,r,l[h],n+"/"+d+"/"+ac(h),o,n,d,s,h);}else (d in ge.keywords||t.allKeys&&!(d in ge.skipKeywords))&&Ot(t,e,r,l,n+"/"+d,o,n,d,s);}r(s,n,o,i,a,c,u);}}function ac(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var st=g(J=>{Object.defineProperty(J,"__esModule",{value:true});J.getSchemaRefs=J.resolveUrl=J.normalizeId=J._getFullPath=J.getFullPath=J.inlineRef=void 0;var cc=q(),uc=Ar(),dc=kn(),lc=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function fc(t,e=true){return typeof t=="boolean"?true:e===true?!Cr(t):e?jn(t)<=e:false}J.inlineRef=fc;var pc=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Cr(t){for(let e in t){if(pc.has(e))return true;let r=t[e];if(Array.isArray(r)&&r.some(Cr)||typeof r=="object"&&Cr(r))return true}return false}function jn(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!lc.has(r)&&(typeof t[r]=="object"&&(0, cc.eachItem)(t[r],s=>e+=jn(s)),e===1/0))return 1/0}return e}function qn(t,e="",r){r!==false&&(e=De(e));let s=t.parse(e);return On(t,s)}J.getFullPath=qn;function On(t,e){return t.serialize(e).split("#")[0]+"#"}J._getFullPath=On;var hc=/#\/?$/;function De(t){return t?t.replace(hc,""):""}J.normalizeId=De;function mc(t,e,r){return r=De(r),t.resolve(e,r)}J.resolveUrl=mc;var yc=/^[a-z_][-a-z0-9._]*$/i;function _c(t,e){if(typeof t=="boolean")return {};let{schemaId:r,uriResolver:s}=this.opts,n=De(t[r]||e),o={"":n},i=qn(s,n,false),a={},c=new Set;return dc(t,{allKeys:true},(l,m,h,p)=>{if(p===void 0)return;let f=i+m,y=o[p];typeof l[r]=="string"&&(y=_.call(this,l[r])),j.call(this,l.$anchor),j.call(this,l.$dynamicAnchor),o[m]=y;function _(N){let A=this.opts.uriResolver.resolve;if(N=De(y?A(y,N):N),c.has(N))throw d(N);c.add(N);let w=this.refs[N];return typeof w=="string"&&(w=this.refs[w]),typeof w=="object"?u(l,w.schema,N):N!==De(f)&&(N[0]==="#"?(u(l,a[N],N),a[N]=l):this.refs[N]=f),N}function j(N){if(typeof N=="string"){if(!yc.test(N))throw new Error(`invalid anchor "${N}"`);_.call(this,`#${N}`);}}}),a;function u(l,m,h){if(m!==void 0&&!uc(l,m))throw d(h)}function d(l){return new Error(`reference "${l}" resolves to more than one schema`)}}J.getSchemaRefs=_c;});var it=g($e=>{Object.defineProperty($e,"__esModule",{value:true});$e.getData=$e.KeywordCxt=$e.validateFunctionCode=void 0;var Cn=dn(),Rn=rt(),Dr=kr(),Rt=rt(),gc=_n(),ot=bn(),Mr=Sn(),$=S(),v=le(),$c=st(),fe=q(),nt=tt();function vc(t){if(Vn(t)&&(xn(t),Dn(t))){Ec(t);return}Mn(t,()=>(0, Cn.topBoolOrEmptySchema)(t));}$e.validateFunctionCode=vc;function Mn({gen:t,validateName:e,schema:r,schemaEnv:s,opts:n},o){n.code.es5?t.func(e,(0, $._)`${v.default.data}, ${v.default.valCxt}`,s.$async,()=>{t.code((0, $._)`"use strict"; ${Tn(r,n)}`),bc(t,n),t.code(o);}):t.func(e,(0, $._)`${v.default.data}, ${wc(n)}`,s.$async,()=>t.code(Tn(r,n)).code(o));}function wc(t){return (0, $._)`{${v.default.instancePath}="", ${v.default.parentData}, ${v.default.parentDataProperty}, ${v.default.rootData}=${v.default.data}${t.dynamicRef?(0, $._)`, ${v.default.dynamicAnchors}={}`:$.nil}}={}`}function bc(t,e){t.if(v.default.valCxt,()=>{t.var(v.default.instancePath,(0, $._)`${v.default.valCxt}.${v.default.instancePath}`),t.var(v.default.parentData,(0, $._)`${v.default.valCxt}.${v.default.parentData}`),t.var(v.default.parentDataProperty,(0, $._)`${v.default.valCxt}.${v.default.parentDataProperty}`),t.var(v.default.rootData,(0, $._)`${v.default.valCxt}.${v.default.rootData}`),e.dynamicRef&&t.var(v.default.dynamicAnchors,(0, $._)`${v.default.valCxt}.${v.default.dynamicAnchors}`);},()=>{t.var(v.default.instancePath,(0, $._)`""`),t.var(v.default.parentData,(0, $._)`undefined`),t.var(v.default.parentDataProperty,(0, $._)`undefined`),t.var(v.default.rootData,v.default.data),e.dynamicRef&&t.var(v.default.dynamicAnchors,(0, $._)`{}`);});}function Ec(t){let{schema:e,opts:r,gen:s}=t;Mn(t,()=>{r.$comment&&e.$comment&&Kn(t),jc(t),s.let(v.default.vErrors,null),s.let(v.default.errors,0),r.unevaluated&&Sc(t),zn(t),Rc(t);});}function Sc(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0, $._)`${r}.evaluated`),e.if((0, $._)`${t.evaluated}.dynamicProps`,()=>e.assign((0, $._)`${t.evaluated}.props`,(0, $._)`undefined`)),e.if((0, $._)`${t.evaluated}.dynamicItems`,()=>e.assign((0, $._)`${t.evaluated}.items`,(0, $._)`undefined`));}function Tn(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0, $._)`/*# sourceURL=${r} */`:$.nil}function Pc(t,e){if(Vn(t)&&(xn(t),Dn(t))){Nc(t,e);return}(0, Cn.boolOrEmptySchema)(t,e);}function Dn({schema:t,self:e}){if(typeof t=="boolean")return !t;for(let r in t)if(e.RULES.all[r])return true;return false}function Vn(t){return typeof t.schema!="boolean"}function Nc(t,e){let{schema:r,gen:s,opts:n}=t;n.$comment&&r.$comment&&Kn(t),qc(t),Oc(t);let o=s.const("_errs",v.default.errors);zn(t,o),s.var(e,(0, $._)`${o} === ${v.default.errors}`);}function xn(t){(0, fe.checkUnknownRules)(t),kc(t);}function zn(t,e){if(t.opts.jtd)return In(t,[],false,e);let r=(0, Rn.getSchemaTypes)(t.schema),s=(0, Rn.coerceAndCheckDataType)(t,r);In(t,r,!s,e);}function kc(t){let{schema:e,errSchemaPath:r,opts:s,self:n}=t;e.$ref&&s.ignoreKeywordsWithRef&&(0, fe.schemaHasRulesButRef)(e,n.RULES)&&n.logger.warn(`$ref: keywords ignored in schema at path "${r}"`);}function jc(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0, fe.checkStrictMode)(t,"default is ignored in the schema root");}function qc(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0, $c.resolveUrl)(t.opts.uriResolver,t.baseId,e));}function Oc(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Kn({gen:t,schemaEnv:e,schema:r,errSchemaPath:s,opts:n}){let o=r.$comment;if(n.$comment===true)t.code((0, $._)`${v.default.self}.logger.log(${o})`);else if(typeof n.$comment=="function"){let i=(0, $.str)`${s}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0, $._)`${v.default.self}.opts.$comment(${o}, ${i}, ${a}.schema)`);}}function Rc(t){let{gen:e,schemaEnv:r,validateName:s,ValidationError:n,opts:o}=t;r.$async?e.if((0, $._)`${v.default.errors} === 0`,()=>e.return(v.default.data),()=>e.throw((0, $._)`new ${n}(${v.default.vErrors})`)):(e.assign((0, $._)`${s}.errors`,v.default.vErrors),o.unevaluated&&Tc(t),e.return((0, $._)`${v.default.errors} === 0`));}function Tc({gen:t,evaluated:e,props:r,items:s}){r instanceof $.Name&&t.assign((0, $._)`${e}.props`,r),s instanceof $.Name&&t.assign((0, $._)`${e}.items`,s);}function In(t,e,r,s){let{gen:n,schema:o,data:i,allErrors:a,opts:c,self:u}=t,{RULES:d}=u;if(o.$ref&&(c.ignoreKeywordsWithRef||!(0, fe.schemaHasRulesButRef)(o,d))){n.block(()=>Un(t,"$ref",d.all.$ref.definition));return}c.jtd||Ic(t,e),n.block(()=>{for(let m of d.rules)l(m);l(d.post);});function l(m){(0, Dr.shouldUseGroup)(o,m)&&(m.type?(n.if((0, Rt.checkDataType)(m.type,i,c.strictNumbers)),An(t,m),e.length===1&&e[0]===m.type&&r&&(n.else(),(0, Rt.reportTypeError)(t)),n.endIf()):An(t,m),a||n.if((0, $._)`${v.default.errors} === ${s||0}`));}}function An(t,e){let{gen:r,schema:s,opts:{useDefaults:n}}=t;n&&(0, gc.assignDefaults)(t,e.type),r.block(()=>{for(let o of e.rules)(0, Dr.shouldUseRule)(s,o)&&Un(t,o.keyword,o.definition,e.type);});}function Ic(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(Ac(t,e),t.opts.allowUnionTypes||Cc(t,e),Mc(t,t.dataTypes));}function Ac(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Fn(t.dataTypes,r)||Vr(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`);}),Vc(t,e);}}function Cc(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Vr(t,"use allowUnionTypes to allow union type keyword");}function Mc(t,e){let r=t.self.RULES.all;for(let s in r){let n=r[s];if(typeof n=="object"&&(0, Dr.shouldUseRule)(t.schema,n)){let{type:o}=n.definition;o.length&&!o.some(i=>Dc(e,i))&&Vr(t,`missing type "${o.join(",")}" for keyword "${s}"`);}}}function Dc(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Fn(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function Vc(t,e){let r=[];for(let s of t.dataTypes)Fn(e,s)?r.push(s):e.includes("integer")&&s==="number"&&r.push("integer");t.dataTypes=r;}function Vr(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0, fe.checkStrictMode)(t,e,t.opts.strictTypes);}var Tt=class{constructor(e,r,s){if((0, ot.validateKeywordUsage)(e,r,s),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=s,this.data=e.data,this.schema=e.schema[s],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0, fe.schemaRefOrVal)(e,this.schema,s,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",Ln(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0, ot.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${s} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==false)&&(this.errsCount=e.gen.const("_errs",v.default.errors));}result(e,r,s){this.failResult((0, $.not)(e),r,s);}failResult(e,r,s){this.gen.if(e),s?s():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else();}pass(e,r){this.failResult((0, $.not)(e),void 0,r);}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(false);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else();}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0, $._)`${r} !== undefined && (${(0, $.or)(this.invalid$data(),e)})`);}error(e,r,s){if(r){this.setParams(r),this._error(e,s),this.setParams({});return}this._error(e,s);}_error(e,r){(e?nt.reportExtraError:nt.reportError)(this,this.def.error,r);}$dataError(){(0, nt.reportError)(this,this.def.$dataError||nt.keyword$DataError);}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0, nt.resetErrorsCount)(this.gen,this.errsCount);}ok(e){this.allErrors||this.gen.if(e);}setParams(e,r){r?Object.assign(this.params,e):this.params=e;}block$data(e,r,s=$.nil){this.gen.block(()=>{this.check$data(e,s),r();});}check$data(e=$.nil,r=$.nil){if(!this.$data)return;let{gen:s,schemaCode:n,schemaType:o,def:i}=this;s.if((0, $.or)((0, $._)`${n} === undefined`,r)),e!==$.nil&&s.assign(e,true),(o.length||i.validateSchema)&&(s.elseIf(this.invalid$data()),this.$dataError(),e!==$.nil&&s.assign(e,false)),s.else();}invalid$data(){let{gen:e,schemaCode:r,schemaType:s,def:n,it:o}=this;return (0, $.or)(i(),a());function i(){if(s.length){if(!(r instanceof $.Name))throw new Error("ajv implementation error");let c=Array.isArray(s)?s:[s];return (0, $._)`${(0, Rt.checkDataTypes)(c,r,o.opts.strictNumbers,Rt.DataType.Wrong)}`}return $.nil}function a(){if(n.validateSchema){let c=e.scopeValue("validate$data",{ref:n.validateSchema});return (0, $._)`!${c}(${r})`}return $.nil}}subschema(e,r){let s=(0, Mr.getSubschema)(this.it,e);(0, Mr.extendSubschemaData)(s,this.it,e),(0, Mr.extendSubschemaMode)(s,e);let n={...this.it,...s,items:void 0,props:void 0};return Pc(n,r),n}mergeEvaluated(e,r){let{it:s,gen:n}=this;s.opts.unevaluated&&(s.props!==true&&e.props!==void 0&&(s.props=fe.mergeEvaluated.props(n,e.props,s.props,r)),s.items!==true&&e.items!==void 0&&(s.items=fe.mergeEvaluated.items(n,e.items,s.items,r)));}mergeValidEvaluated(e,r){let{it:s,gen:n}=this;if(s.opts.unevaluated&&(s.props!==true||s.items!==true))return n.if(r,()=>this.mergeEvaluated(e,$.Name)),true}};$e.KeywordCxt=Tt;function Un(t,e,r,s){let n=new Tt(t,r,e);"code"in r?r.code(n,s):n.$data&&r.validate?(0, ot.funcKeywordCode)(n,r):"macro"in r?(0, ot.macroKeywordCode)(n,r):(r.compile||r.validate)&&(0, ot.funcKeywordCode)(n,r);}var xc=/^\/(?:[^~]|~0|~1)*$/,zc=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Ln(t,{dataLevel:e,dataNames:r,dataPathArr:s}){let n,o;if(t==="")return v.default.rootData;if(t[0]==="/"){if(!xc.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);n=t,o=v.default.rootData;}else {let u=zc.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let d=+u[1];if(n=u[2],n==="#"){if(d>=e)throw new Error(c("property/index",d));return s[e-d]}if(d>e)throw new Error(c("data",d));if(o=r[e-d],!n)return o}let i=o,a=n.split("/");for(let u of a)u&&(o=(0, $._)`${o}${(0, $.getProperty)((0, fe.unescapeJsonPointer)(u))}`,i=(0, $._)`${i} && ${o}`);return i;function c(u,d){return `Cannot access ${u} ${d} levels up, current level is ${e}`}}$e.getData=Ln;});var It=g(zr=>{Object.defineProperty(zr,"__esModule",{value:true});var xr=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=true;}};zr.default=xr;});var at=g(Ur=>{Object.defineProperty(Ur,"__esModule",{value:true});var Kr=st(),Fr=class extends Error{constructor(e,r,s,n){super(n||`can't resolve reference ${s} from id ${r}`),this.missingRef=(0, Kr.resolveUrl)(e,r,s),this.missingSchema=(0, Kr.normalizeId)((0, Kr.getFullPath)(e,this.missingRef));}};Ur.default=Fr;});var Ct=g(X=>{Object.defineProperty(X,"__esModule",{value:true});X.resolveSchema=X.getCompilingSchema=X.resolveRef=X.compileSchema=X.SchemaEnv=void 0;var ee=S(),Kc=It(),ke=le(),te=st(),Hn=q(),Fc=it(),Ve=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let s;typeof e.schema=="object"&&(s=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0, te.normalizeId)(s?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=s?.$async,this.refs={};}};X.SchemaEnv=Ve;function Hr(t){let e=Gn.call(this,t);if(e)return e;let r=(0, te.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:s,lines:n}=this.opts.code,{ownProperties:o}=this.opts,i=new ee.CodeGen(this.scope,{es5:s,lines:n,ownProperties:o}),a;t.$async&&(a=i.scopeValue("Error",{ref:Kc.default,code:(0, ee._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:ke.default.data,parentData:ke.default.parentData,parentDataProperty:ke.default.parentDataProperty,dataNames:[ke.default.data],dataPathArr:[ee.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===true?{ref:t.schema,code:(0, ee.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:ee.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, ee._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(t),(0,Fc.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let l=i.toString();d=`${i.scopeRefs(ke.default.scope)}return ${l}`,this.opts.code.process&&(d=this.opts.code.process(d,t));let h=new Function(`${ke.default.self}`,`${ke.default.scope}`,d)(this,this.scope.get());if(this.scope.value(c,{ref:h}),h.errors=null,h.schema=t.schema,h.schemaEnv=t,t.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:c,validateCode:l,scopeValues:i._values}),this.opts.unevaluated){let{props:p,items:f}=u;h.evaluated={props:p instanceof ee.Name?void 0:p,items:f instanceof ee.Name?void 0:f,dynamicProps:p instanceof ee.Name,dynamicItems:f instanceof ee.Name},h.source&&(h.source.evaluated=(0,ee.stringify)(h.evaluated));}return t.validate=h,t}catch(l){throw delete t.validate,delete t.validateName,d&&this.logger.error("Error compiling schema, function code:",d),l}finally{this._compilations.delete(t);}}X.compileSchema=Hr;function Uc(t,e,r){var s;r=(0, te.resolveUrl)(this.opts.uriResolver,e,r);let n=t.refs[r];if(n)return n;let o=Gc.call(this,t,r);if(o===void 0){let i=(s=t.localRefs)===null||s===void 0?void 0:s[r],{schemaId:a}=this.opts;i&&(o=new Ve({schema:i,schemaId:a,root:t,baseId:e}));}if(o!==void 0)return t.refs[r]=Lc.call(this,o)}X.resolveRef=Uc;function Lc(t){return (0, te.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Hr.call(this,t)}function Gn(t){for(let e of this._compilations)if(Hc(e,t))return e}X.getCompilingSchema=Gn;function Hc(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function Gc(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||At.call(this,t,e)}function At(t,e){let r=this.opts.uriResolver.parse(e),s=(0, te._getFullPath)(this.opts.uriResolver,r),n=(0, te.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&s===n)return Lr.call(this,r,t);let o=(0, te.normalizeId)(s),i=this.refs[o]||this.schemas[o];if(typeof i=="string"){let a=At.call(this,t,i);return typeof a?.schema!="object"?void 0:Lr.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||Hr.call(this,i),o===(0, te.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(n=(0, te.resolveUrl)(this.opts.uriResolver,n,u)),new Ve({schema:a,schemaId:c,root:t,baseId:n})}return Lr.call(this,r,i)}}X.resolveSchema=At;var Jc=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Lr(t,{baseId:e,schema:r,root:s}){var n;if(((n=t.fragment)===null||n===void 0?void 0:n[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0, Hn.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!Jc.has(a)&&u&&(e=(0, te.resolveUrl)(this.opts.uriResolver,e,u));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, Hn.schemaHasRulesButRef)(r,this.RULES)){let a=(0, te.resolveUrl)(this.opts.uriResolver,e,r.$ref);o=At.call(this,s,a);}let{schemaId:i}=this.opts;if(o=o||new Ve({schema:r,schemaId:i,root:s,baseId:e}),o.schema!==o.root.schema)return o}});var Jn=g((Ff,Wc)=>{Wc.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:false};});var Jr=g((Uf,Xn)=>{var Bc=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Bn=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function Gr(t){let e="",r=0,s=0;for(s=0;s<t.length;s++)if(r=t[s].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[s];break}for(s+=1;s<t.length;s++){if(r=t[s].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[s];}return e}var Qc=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Wn(t){return t.length=0,true}function Xc(t,e,r){if(t.length){let s=Gr(t);if(s!=="")e.push(s);else return r.error=true,false;t.length=0;}return true}function Yc(t){let e=0,r={error:false,address:"",zone:""},s=[],n=[],o=false,i=false,a=Xc;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(o===true&&(i=true),!a(n,s,r))break;if(++e>7){r.error=true;break}c>0&&t[c-1]===":"&&(o=true),s.push(":");continue}else if(u==="%"){if(!a(n,s,r))break;a=Wn;}else {n.push(u);continue}}return n.length&&(a===Wn?r.zone=n.join(""):i?s.push(n.join("")):s.push(Gr(n))),r.address=s.join(""),r}function Qn(t){if(Zc(t,":")<2)return {host:t,isIPV6:false};let e=Yc(t);if(e.error)return {host:t,isIPV6:false};{let r=e.address,s=e.address;return e.zone&&(r+="%"+e.zone,s+="%25"+e.zone),{host:r,isIPV6:true,escapedHost:s}}}function Zc(t,e){let r=0;for(let s=0;s<t.length;s++)t[s]===e&&r++;return r}function eu(t){let e=t,r=[],s=-1,n=0;for(;n=e.length;){if(n===1){if(e===".")break;if(e==="/"){r.push("/");break}else {r.push(e);break}}else if(n===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(n===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((s=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,s)),e=e.slice(s);}return r.join("")}function tu(t,e){let r=e!==true?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function ru(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Bn(r)){let s=Qn(r);s.isIPV6===true?r=`[${s.escapedHost}]`:r=t.host;}e.push(r);}return (typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}Xn.exports={nonSimpleDomain:Qc,recomposeAuthority:ru,normalizeComponentEncoding:tu,removeDotSegments:eu,isIPv4:Bn,isUUID:Bc,normalizeIPv6:Qn,stringArrayToHexStripped:Gr};});var ro=g((Lf,to)=>{var{isUUID:su}=Jr(),nu=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,ou=["http","https","ws","wss","urn","urn:uuid"];function iu(t){return ou.indexOf(t)!==-1}function Wr(t){return t.secure===true?true:t.secure===false?false:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):false}function Yn(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Zn(t){let e=String(t.scheme).toLowerCase()==="https";return (t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function au(t){return t.secure=Wr(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function cu(t){if((t.port===(Wr(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0;}return t.fragment=void 0,t}function uu(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(nu);if(r){let s=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let n=`${s}:${e.nid||t.nid}`,o=Br(n);t.path=void 0,o&&(t=o.parse(t,e));}else t.error=t.error||"URN can not be parsed.";return t}function du(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",s=t.nid.toLowerCase(),n=`${r}:${e.nid||s}`,o=Br(n);o&&(t=o.serialize(t,e));let i=t,a=t.nss;return i.path=`${s||e.nid}:${a}`,e.skipEscape=true,i}function lu(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!su(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function fu(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var eo={scheme:"http",domainHost:true,parse:Yn,serialize:Zn},pu={scheme:"https",domainHost:eo.domainHost,parse:Yn,serialize:Zn},Mt={scheme:"ws",domainHost:true,parse:au,serialize:cu},hu={scheme:"wss",domainHost:Mt.domainHost,parse:Mt.parse,serialize:Mt.serialize},mu={scheme:"urn",parse:uu,serialize:du,skipNormalize:true},yu={scheme:"urn:uuid",parse:lu,serialize:fu,skipNormalize:true},Dt={http:eo,https:pu,ws:Mt,wss:hu,urn:mu,"urn:uuid":yu};Object.setPrototypeOf(Dt,null);function Br(t){return t&&(Dt[t]||Dt[t.toLowerCase()])||void 0}to.exports={wsIsSecure:Wr,SCHEMES:Dt,isValidSchemeName:iu,getSchemeHandler:Br};});var oo=g((Hf,xt)=>{var{normalizeIPv6:_u,removeDotSegments:ct,recomposeAuthority:gu,normalizeComponentEncoding:Vt,isIPv4:$u,nonSimpleDomain:vu}=Jr(),{SCHEMES:wu,getSchemeHandler:so}=ro();function bu(t,e){return typeof t=="string"?t=ie(pe(t,e),e):typeof t=="object"&&(t=pe(ie(t,e),e)),t}function Eu(t,e,r){let s=r?Object.assign({scheme:"null"},r):{scheme:"null"},n=no(pe(t,s),pe(e,s),s,true);return s.skipEscape=true,ie(n,s)}function no(t,e,r,s){let n={};return s||(t=pe(ie(t,r),r),e=pe(ie(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(n.scheme=e.scheme,n.userinfo=e.userinfo,n.host=e.host,n.port=e.port,n.path=ct(e.path||""),n.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(n.userinfo=e.userinfo,n.host=e.host,n.port=e.port,n.path=ct(e.path||""),n.query=e.query):(e.path?(e.path[0]==="/"?n.path=ct(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?n.path="/"+e.path:t.path?n.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:n.path=e.path,n.path=ct(n.path)),n.query=e.query):(n.path=t.path,e.query!==void 0?n.query=e.query:n.query=t.query),n.userinfo=t.userinfo,n.host=t.host,n.port=t.port),n.scheme=t.scheme),n.fragment=e.fragment,n}function Su(t,e,r){return typeof t=="string"?(t=unescape(t),t=ie(Vt(pe(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=ie(Vt(t,true),{...r,skipEscape:true})),typeof e=="string"?(e=unescape(e),e=ie(Vt(pe(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=ie(Vt(e,true),{...r,skipEscape:true})),t.toLowerCase()===e.toLowerCase()}function ie(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},s=Object.assign({},e),n=[],o=so(s.scheme||r.scheme);o&&o.serialize&&o.serialize(r,s),r.path!==void 0&&(s.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),s.reference!=="suffix"&&r.scheme&&n.push(r.scheme,":");let i=gu(r);if(i!==void 0&&(s.reference!=="suffix"&&n.push("//"),n.push(i),r.path&&r.path[0]!=="/"&&n.push("/")),r.path!==void 0){let a=r.path;!s.absolutePath&&(!o||!o.absolutePath)&&(a=ct(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),n.push(a);}return r.query!==void 0&&n.push("?",r.query),r.fragment!==void 0&&n.push("#",r.fragment),n.join("")}var Pu=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function pe(t,e){let r=Object.assign({},e),s={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},n=false;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let o=t.match(Pu);if(o){if(s.scheme=o[1],s.userinfo=o[3],s.host=o[4],s.port=parseInt(o[5],10),s.path=o[6]||"",s.query=o[7],s.fragment=o[8],isNaN(s.port)&&(s.port=o[5]),s.host)if($u(s.host)===false){let c=_u(s.host);s.host=c.host.toLowerCase(),n=c.isIPV6;}else n=true;s.scheme===void 0&&s.userinfo===void 0&&s.host===void 0&&s.port===void 0&&s.query===void 0&&!s.path?s.reference="same-document":s.scheme===void 0?s.reference="relative":s.fragment===void 0?s.reference="absolute":s.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==s.reference&&(s.error=s.error||"URI is not a "+r.reference+" reference.");let i=so(r.scheme||s.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&s.host&&(r.domainHost||i&&i.domainHost)&&n===false&&vu(s.host))try{s.host=URL.domainToASCII(s.host.toLowerCase());}catch(a){s.error=s.error||"Host's domain name can not be converted to ASCII: "+a;}(!i||i&&!i.skipNormalize)&&(t.indexOf("%")!==-1&&(s.scheme!==void 0&&(s.scheme=unescape(s.scheme)),s.host!==void 0&&(s.host=unescape(s.host))),s.path&&(s.path=escape(unescape(s.path))),s.fragment&&(s.fragment=encodeURI(decodeURIComponent(s.fragment)))),i&&i.parse&&i.parse(s,r);}else s.error=s.error||"URI can not be parsed.";return s}var Qr={SCHEMES:wu,normalize:bu,resolve:Eu,resolveComponent:no,equal:Su,serialize:ie,parse:pe};xt.exports=Qr;xt.exports.default=Qr;xt.exports.fastUri=Qr;});var ao=g(Xr=>{Object.defineProperty(Xr,"__esModule",{value:true});var io=oo();io.code='require("ajv/dist/runtime/uri").default';Xr.default=io;});var yo=g(V=>{Object.defineProperty(V,"__esModule",{value:true});V.CodeGen=V.Name=V.nil=V.stringify=V.str=V._=V.KeywordCxt=void 0;var Nu=it();Object.defineProperty(V,"KeywordCxt",{enumerable:true,get:function(){return Nu.KeywordCxt}});var xe=S();Object.defineProperty(V,"_",{enumerable:true,get:function(){return xe._}});Object.defineProperty(V,"str",{enumerable:true,get:function(){return xe.str}});Object.defineProperty(V,"stringify",{enumerable:true,get:function(){return xe.stringify}});Object.defineProperty(V,"nil",{enumerable:true,get:function(){return xe.nil}});Object.defineProperty(V,"Name",{enumerable:true,get:function(){return xe.Name}});Object.defineProperty(V,"CodeGen",{enumerable:true,get:function(){return xe.CodeGen}});var ku=It(),po=at(),ju=Nr(),ut=Ct(),qu=S(),dt=st(),zt=rt(),Zr=q(),co=Jn(),Ou=ao(),ho=(t,e)=>new RegExp(t,e);ho.code="new RegExp";var Ru=["removeAdditional","useDefaults","coerceTypes"],Tu=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Iu={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},Au={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},uo=200;function Cu(t){var e,r,s,n,o,i,a,c,u,d,l,m,h,p,f,y,_,j,N,A,w,se,ce,rr,sr;let Ge=t.strict,nr=(e=t.code)===null||e===void 0?void 0:e.optimize,Ls=nr===true||nr===void 0?1:nr||0,Hs=(s=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&s!==void 0?s:ho,ji=(n=t.uriResolver)!==null&&n!==void 0?n:Ou.default;return {strictSchema:(i=(o=t.strictSchema)!==null&&o!==void 0?o:Ge)!==null&&i!==void 0?i:true,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:Ge)!==null&&c!==void 0?c:true,strictTypes:(d=(u=t.strictTypes)!==null&&u!==void 0?u:Ge)!==null&&d!==void 0?d:"log",strictTuples:(m=(l=t.strictTuples)!==null&&l!==void 0?l:Ge)!==null&&m!==void 0?m:"log",strictRequired:(p=(h=t.strictRequired)!==null&&h!==void 0?h:Ge)!==null&&p!==void 0?p:false,code:t.code?{...t.code,optimize:Ls,regExp:Hs}:{optimize:Ls,regExp:Hs},loopRequired:(f=t.loopRequired)!==null&&f!==void 0?f:uo,loopEnum:(y=t.loopEnum)!==null&&y!==void 0?y:uo,meta:(_=t.meta)!==null&&_!==void 0?_:true,messages:(j=t.messages)!==null&&j!==void 0?j:true,inlineRefs:(N=t.inlineRefs)!==null&&N!==void 0?N:true,schemaId:(A=t.schemaId)!==null&&A!==void 0?A:"$id",addUsedSchema:(w=t.addUsedSchema)!==null&&w!==void 0?w:true,validateSchema:(se=t.validateSchema)!==null&&se!==void 0?se:true,validateFormats:(ce=t.validateFormats)!==null&&ce!==void 0?ce:true,unicodeRegExp:(rr=t.unicodeRegExp)!==null&&rr!==void 0?rr:true,int32range:(sr=t.int32range)!==null&&sr!==void 0?sr:true,uriResolver:ji}}var lt=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...Cu(e)};let{es5:r,lines:s}=this.opts.code;this.scope=new qu.ValueScope({scope:{},prefixes:Tu,es5:r,lines:s}),this.logger=Ku(e.logger);let n=e.validateFormats;e.validateFormats=false,this.RULES=(0, ju.getRules)(),lo.call(this,Iu,e,"NOT SUPPORTED"),lo.call(this,Au,e,"DEPRECATED","warn"),this._metaOpts=xu.call(this),e.formats&&Du.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&Vu.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),Mu.call(this),e.validateFormats=n;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:s}=this.opts,n=co;s==="id"&&(n={...co},n.id=n.$id,delete n.$id),r&&e&&this.addMetaSchema(n,n[s],false);}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let s;if(typeof e=="string"){if(s=this.getSchema(e),!s)throw new Error(`no schema with key or ref "${e}"`)}else s=this.compile(e);let n=s(r);return "$async"in s||(this.errors=s.errors),n}compile(e,r){let s=this._addSchema(e,r);return s.validate||this._compileSchemaEnv(s)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:s}=this.opts;return n.call(this,e,r);async function n(d,l){await o.call(this,d.$schema);let m=this._addSchema(d,l);return m.validate||i.call(this,m)}async function o(d){d&&!this.getSchema(d)&&await n.call(this,{$ref:d},true);}async function i(d){try{return this._compileSchemaEnv(d)}catch(l){if(!(l instanceof po.default))throw l;return a.call(this,l),await c.call(this,l.missingSchema),i.call(this,d)}}function a({missingSchema:d,missingRef:l}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${l} cannot be resolved`)}async function c(d){let l=await u.call(this,d);this.refs[d]||await o.call(this,l.$schema),this.refs[d]||this.addSchema(l,d,r);}async function u(d){let l=this._loading[d];if(l)return l;try{return await(this._loading[d]=s(d))}finally{delete this._loading[d];}}}addSchema(e,r,s,n=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,s,n);return this}let o;if(typeof e=="object"){let{schemaId:i}=this.opts;if(o=e[i],o!==void 0&&typeof o!="string")throw new Error(`schema ${i} must be string`)}return r=(0, dt.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(e,s,r,n,true),this}addMetaSchema(e,r,s=this.opts.validateSchema){return this.addSchema(e,r,true,s),this}validateSchema(e,r){if(typeof e=="boolean")return true;let s;if(s=e.$schema,s!==void 0&&typeof s!="string")throw new Error("$schema must be a string");if(s=s||this.opts.defaultMeta||this.defaultMeta(),!s)return this.logger.warn("meta-schema not available"),this.errors=null,true;let n=this.validate(s,e);if(!n&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return n}getSchema(e){let r;for(;typeof(r=fo.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:s}=this.opts,n=new ut.SchemaEnv({schema:{},schemaId:s});if(r=ut.resolveSchema.call(this,n,e),!r)return;this.refs[e]=r;}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case "undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case "string":{let r=fo.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case "object":{let r=e;this._cache.delete(r);let s=e[this.opts.schemaId];return s&&(s=(0, dt.normalizeId)(s),delete this.schemas[s],delete this.refs[s]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let s;if(typeof e=="string")s=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=s);else if(typeof e=="object"&&r===void 0){if(r=e,s=r.keyword,Array.isArray(s)&&!s.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Uu.call(this,s,r),!r)return (0, Zr.eachItem)(s,o=>Yr.call(this,o)),this;Hu.call(this,r);let n={...r,type:(0, zt.getJSONTypes)(r.type),schemaType:(0, zt.getJSONTypes)(r.schemaType)};return (0, Zr.eachItem)(s,n.type.length===0?o=>Yr.call(this,o,n):o=>n.type.forEach(i=>Yr.call(this,o,n,i))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let s of r.rules){let n=s.rules.findIndex(o=>o.keyword===e);n>=0&&s.rules.splice(n,1);}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:s="data"}={}){return !e||e.length===0?"No errors":e.map(n=>`${s}${n.instancePath} ${n.message}`).reduce((n,o)=>n+r+o)}$dataMetaSchema(e,r){let s=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let n of r){let o=n.split("/").slice(1),i=e;for(let a of o)i=i[a];for(let a in s){let c=s[a];if(typeof c!="object")continue;let{$data:u}=c.definition,d=i[a];u&&d&&(i[a]=mo(d));}}return e}_removeAllSchemas(e,r){for(let s in e){let n=e[s];(!r||r.test(s))&&(typeof n=="string"?delete e[s]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[s]));}}_addSchema(e,r,s,n=this.opts.validateSchema,o=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];else {if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;s=(0, dt.normalizeId)(i||s);let u=dt.getSchemaRefs.call(this,e,s);return c=new ut.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:s,localRefs:u}),this._cache.set(c.schema,c),o&&!s.startsWith("#")&&(s&&this._checkUnique(s),this.refs[s]=c),n&&this.validateSchema(e,true),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):ut.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{ut.compileSchema.call(this,e);}finally{this.opts=r;}}};lt.ValidationError=ku.default;lt.MissingRefError=po.default;V.default=lt;function lo(t,e,r,s="error"){for(let n in t){let o=n;o in e&&this.logger[s](`${r}: option ${n}. ${t[o]}`);}}function fo(t){return t=(0, dt.normalizeId)(t),this.schemas[t]||this.refs[t]}function Mu(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e);}function Du(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e);}}function Vu(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r);}}function xu(){let t={...this.opts};for(let e of Ru)delete t[e];return t}var zu={log(){},warn(){},error(){}};function Ku(t){if(t===false)return zu;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var Fu=/^[a-z_$][a-z0-9_$:-]*$/i;function Uu(t,e){let{RULES:r}=this;if((0, Zr.eachItem)(t,s=>{if(r.keywords[s])throw new Error(`Keyword ${s} is already defined`);if(!Fu.test(s))throw new Error(`Keyword ${s} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Yr(t,e,r){var s;let n=e?.post;if(r&&n)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,i=n?o.post:o.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},o.rules.push(i)),o.keywords[t]=true,!e)return;let a={keyword:t,definition:{...e,type:(0, zt.getJSONTypes)(e.type),schemaType:(0, zt.getJSONTypes)(e.schemaType)}};e.before?Lu.call(this,i,a,e.before):i.rules.push(a),o.all[t]=a,(s=e.implements)===null||s===void 0||s.forEach(c=>this.addKeyword(c));}function Lu(t,e,r){let s=t.rules.findIndex(n=>n.keyword===r);s>=0?t.rules.splice(s,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`));}function Hu(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=mo(e)),t.validateSchema=this.compile(e,true));}var Gu={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function mo(t){return {anyOf:[t,Gu]}}});var _o=g(es=>{Object.defineProperty(es,"__esModule",{value:true});var Ju={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};es.default=Ju;});var wo=g(je=>{Object.defineProperty(je,"__esModule",{value:true});je.callRef=je.getValidate=void 0;var Wu=at(),go=Q(),W=S(),ze=le(),$o=Ct(),Kt=q(),Bu={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:s}=t,{baseId:n,schemaEnv:o,validateName:i,opts:a,self:c}=s,{root:u}=o;if((r==="#"||r==="#/")&&n===u.baseId)return l();let d=$o.resolveRef.call(c,u,n,r);if(d===void 0)throw new Wu.default(s.opts.uriResolver,n,r);if(d instanceof $o.SchemaEnv)return m(d);return h(d);function l(){if(o===u)return Ft(t,i,o,o.$async);let p=e.scopeValue("root",{ref:u});return Ft(t,(0, W._)`${p}.validate`,u,u.$async)}function m(p){let f=vo(t,p);Ft(t,f,p,p.$async);}function h(p){let f=e.scopeValue("schema",a.code.source===true?{ref:p,code:(0, W.stringify)(p)}:{ref:p}),y=e.name("valid"),_=t.subschema({schema:p,dataTypes:[],schemaPath:W.nil,topSchemaRef:f,errSchemaPath:r},y);t.mergeEvaluated(_),t.ok(y);}}};function vo(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0, W._)`${r.scopeValue("wrapper",{ref:e})}.validate`}je.getValidate=vo;function Ft(t,e,r,s){let{gen:n,it:o}=t,{allErrors:i,schemaEnv:a,opts:c}=o,u=c.passContext?ze.default.this:W.nil;s?d():l();function d(){if(!a.$async)throw new Error("async schema referenced by sync schema");let p=n.let("valid");n.try(()=>{n.code((0, W._)`await ${(0, go.callValidateCode)(t,e,u)}`),h(e),i||n.assign(p,true);},f=>{n.if((0, W._)`!(${f} instanceof ${o.ValidationError})`,()=>n.throw(f)),m(f),i||n.assign(p,false);}),t.ok(p);}function l(){t.result((0, go.callValidateCode)(t,e,u),()=>h(e),()=>m(e));}function m(p){let f=(0, W._)`${p}.errors`;n.assign(ze.default.vErrors,(0, W._)`${ze.default.vErrors} === null ? ${f} : ${ze.default.vErrors}.concat(${f})`),n.assign(ze.default.errors,(0, W._)`${ze.default.vErrors}.length`);}function h(p){var f;if(!o.opts.unevaluated)return;let y=(f=r?.validate)===null||f===void 0?void 0:f.evaluated;if(o.props!==true)if(y&&!y.dynamicProps)y.props!==void 0&&(o.props=Kt.mergeEvaluated.props(n,y.props,o.props));else {let _=n.var("props",(0, W._)`${p}.evaluated.props`);o.props=Kt.mergeEvaluated.props(n,_,o.props,W.Name);}if(o.items!==true)if(y&&!y.dynamicItems)y.items!==void 0&&(o.items=Kt.mergeEvaluated.items(n,y.items,o.items));else {let _=n.var("items",(0, W._)`${p}.evaluated.items`);o.items=Kt.mergeEvaluated.items(n,_,o.items,W.Name);}}}je.callRef=Ft;je.default=Bu;});var bo=g(ts=>{Object.defineProperty(ts,"__esModule",{value:true});var Qu=_o(),Xu=wo(),Yu=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Qu.default,Xu.default];ts.default=Yu;});var Eo=g(rs=>{Object.defineProperty(rs,"__esModule",{value:true});var Ut=S(),ve=Ut.operators,Lt={maximum:{okStr:"<=",ok:ve.LTE,fail:ve.GT},minimum:{okStr:">=",ok:ve.GTE,fail:ve.LT},exclusiveMaximum:{okStr:"<",ok:ve.LT,fail:ve.GTE},exclusiveMinimum:{okStr:">",ok:ve.GT,fail:ve.LTE}},Zu={message:({keyword:t,schemaCode:e})=>(0, Ut.str)`must be ${Lt[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0, Ut._)`{comparison: ${Lt[t].okStr}, limit: ${e}}`},ed={keyword:Object.keys(Lt),type:"number",schemaType:"number",$data:true,error:Zu,code(t){let{keyword:e,data:r,schemaCode:s}=t;t.fail$data((0, Ut._)`${r} ${Lt[e].fail} ${s} || isNaN(${r})`);}};rs.default=ed;});var So=g(ss=>{Object.defineProperty(ss,"__esModule",{value:true});var ft=S(),td={message:({schemaCode:t})=>(0, ft.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0, ft._)`{multipleOf: ${t}}`},rd={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:td,code(t){let{gen:e,data:r,schemaCode:s,it:n}=t,o=n.opts.multipleOfPrecision,i=e.let("res"),a=o?(0, ft._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${o}`:(0, ft._)`${i} !== parseInt(${i})`;t.fail$data((0, ft._)`(${s} === 0 || (${i} = ${r}/${s}, ${a}))`);}};ss.default=rd;});var No=g(ns=>{Object.defineProperty(ns,"__esModule",{value:true});function Po(t){let e=t.length,r=0,s=0,n;for(;s<e;)r++,n=t.charCodeAt(s++),n>=55296&&n<=56319&&s<e&&(n=t.charCodeAt(s),(n&64512)===56320&&s++);return r}ns.default=Po;Po.code='require("ajv/dist/runtime/ucs2length").default';});var ko=g(os=>{Object.defineProperty(os,"__esModule",{value:true});var qe=S(),sd=q(),nd=No(),od={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return (0, qe.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0, qe._)`{limit: ${t}}`},id={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:od,code(t){let{keyword:e,data:r,schemaCode:s,it:n}=t,o=e==="maxLength"?qe.operators.GT:qe.operators.LT,i=n.opts.unicode===false?(0, qe._)`${r}.length`:(0, qe._)`${(0, sd.useFunc)(t.gen,nd.default)}(${r})`;t.fail$data((0, qe._)`${i} ${o} ${s}`);}};os.default=id;});var jo=g(is=>{Object.defineProperty(is,"__esModule",{value:true});var ad=Q(),cd=q(),Ke=S(),ud={message:({schemaCode:t})=>(0, Ke.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0, Ke._)`{pattern: ${t}}`},dd={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:ud,code(t){let{gen:e,data:r,$data:s,schema:n,schemaCode:o,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(s){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0, Ke._)`new RegExp`:(0, cd.useFunc)(e,c),d=e.let("valid");e.try(()=>e.assign(d,(0, Ke._)`${u}(${o}, ${a}).test(${r})`),()=>e.assign(d,false)),t.fail$data((0, Ke._)`!${d}`);}else {let c=(0, ad.usePattern)(t,n);t.fail$data((0, Ke._)`!${c}.test(${r})`);}}};is.default=dd;});var qo=g(as=>{Object.defineProperty(as,"__esModule",{value:true});var pt=S(),ld={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return (0, pt.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0, pt._)`{limit: ${t}}`},fd={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:ld,code(t){let{keyword:e,data:r,schemaCode:s}=t,n=e==="maxProperties"?pt.operators.GT:pt.operators.LT;t.fail$data((0, pt._)`Object.keys(${r}).length ${n} ${s}`);}};as.default=fd;});var Oo=g(cs=>{Object.defineProperty(cs,"__esModule",{value:true});var ht=Q(),mt=S(),pd=q(),hd={message:({params:{missingProperty:t}})=>(0, mt.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0, mt._)`{missingProperty: ${t}}`},md={keyword:"required",type:"object",schemaType:"array",$data:true,error:hd,code(t){let{gen:e,schema:r,schemaCode:s,data:n,$data:o,it:i}=t,{opts:a}=i;if(!o&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():d(),a.strictRequired){let h=t.parentSchema.properties,{definedProperties:p}=t.it;for(let f of r)if(h?.[f]===void 0&&!p.has(f)){let y=i.schemaEnv.baseId+i.errSchemaPath,_=`required property "${f}" is not defined at "${y}" (strictRequired)`;(0, pd.checkStrictMode)(i,_,i.opts.strictRequired);}}function u(){if(c||o)t.block$data(mt.nil,l);else for(let h of r)(0, ht.checkReportMissingProp)(t,h);}function d(){let h=e.let("missing");if(c||o){let p=e.let("valid",true);t.block$data(p,()=>m(h,p)),t.ok(p);}else e.if((0, ht.checkMissingProp)(t,r,h)),(0, ht.reportMissingProp)(t,h),e.else();}function l(){e.forOf("prop",s,h=>{t.setParams({missingProperty:h}),e.if((0, ht.noPropertyInData)(e,n,h,a.ownProperties),()=>t.error());});}function m(h,p){t.setParams({missingProperty:h}),e.forOf(h,s,()=>{e.assign(p,(0, ht.propertyInData)(e,n,h,a.ownProperties)),e.if((0, mt.not)(p),()=>{t.error(),e.break();});},mt.nil);}}};cs.default=md;});var Ro=g(us=>{Object.defineProperty(us,"__esModule",{value:true});var yt=S(),yd={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return (0, yt.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0, yt._)`{limit: ${t}}`},_d={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:yd,code(t){let{keyword:e,data:r,schemaCode:s}=t,n=e==="maxItems"?yt.operators.GT:yt.operators.LT;t.fail$data((0, yt._)`${r}.length ${n} ${s}`);}};us.default=_d;});var Ht=g(ds=>{Object.defineProperty(ds,"__esModule",{value:true});var To=Ar();To.code='require("ajv/dist/runtime/equal").default';ds.default=To;});var Io=g(fs=>{Object.defineProperty(fs,"__esModule",{value:true});var ls=rt(),x=S(),gd=q(),$d=Ht(),vd={message:({params:{i:t,j:e}})=>(0, x.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0, x._)`{i: ${t}, j: ${e}}`},wd={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:vd,code(t){let{gen:e,data:r,$data:s,schema:n,parentSchema:o,schemaCode:i,it:a}=t;if(!s&&!n)return;let c=e.let("valid"),u=o.items?(0, ls.getSchemaTypes)(o.items):[];t.block$data(c,d,(0, x._)`${i} === false`),t.ok(c);function d(){let p=e.let("i",(0, x._)`${r}.length`),f=e.let("j");t.setParams({i:p,j:f}),e.assign(c,true),e.if((0, x._)`${p} > 1`,()=>(l()?m:h)(p,f));}function l(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function m(p,f){let y=e.name("item"),_=(0, ls.checkDataTypes)(u,y,a.opts.strictNumbers,ls.DataType.Wrong),j=e.const("indices",(0, x._)`{}`);e.for((0, x._)`;${p}--;`,()=>{e.let(y,(0, x._)`${r}[${p}]`),e.if(_,(0, x._)`continue`),u.length>1&&e.if((0, x._)`typeof ${y} == "string"`,(0, x._)`${y} += "_"`),e.if((0, x._)`typeof ${j}[${y}] == "number"`,()=>{e.assign(f,(0, x._)`${j}[${y}]`),t.error(),e.assign(c,false).break();}).code((0, x._)`${j}[${y}] = ${p}`);});}function h(p,f){let y=(0, gd.useFunc)(e,$d.default),_=e.name("outer");e.label(_).for((0, x._)`;${p}--;`,()=>e.for((0, x._)`${f} = ${p}; ${f}--;`,()=>e.if((0, x._)`${y}(${r}[${p}], ${r}[${f}])`,()=>{t.error(),e.assign(c,false).break(_);})));}}};fs.default=wd;});var Ao=g(hs=>{Object.defineProperty(hs,"__esModule",{value:true});var ps=S(),bd=q(),Ed=Ht(),Sd={message:"must be equal to constant",params:({schemaCode:t})=>(0, ps._)`{allowedValue: ${t}}`},Pd={keyword:"const",$data:true,error:Sd,code(t){let{gen:e,data:r,$data:s,schemaCode:n,schema:o}=t;s||o&&typeof o=="object"?t.fail$data((0, ps._)`!${(0, bd.useFunc)(e,Ed.default)}(${r}, ${n})`):t.fail((0, ps._)`${o} !== ${r}`);}};hs.default=Pd;});var Co=g(ms=>{Object.defineProperty(ms,"__esModule",{value:true});var _t=S(),Nd=q(),kd=Ht(),jd={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0, _t._)`{allowedValues: ${t}}`},qd={keyword:"enum",schemaType:"array",$data:true,error:jd,code(t){let{gen:e,data:r,$data:s,schema:n,schemaCode:o,it:i}=t;if(!s&&n.length===0)throw new Error("enum must have non-empty array");let a=n.length>=i.opts.loopEnum,c,u=()=>c??(c=(0, Nd.useFunc)(e,kd.default)),d;if(a||s)d=e.let("valid"),t.block$data(d,l);else {if(!Array.isArray(n))throw new Error("ajv implementation error");let h=e.const("vSchema",o);d=(0, _t.or)(...n.map((p,f)=>m(h,f)));}t.pass(d);function l(){e.assign(d,false),e.forOf("v",o,h=>e.if((0, _t._)`${u()}(${r}, ${h})`,()=>e.assign(d,true).break()));}function m(h,p){let f=n[p];return typeof f=="object"&&f!==null?(0, _t._)`${u()}(${r}, ${h}[${p}])`:(0, _t._)`${r} === ${f}`}}};ms.default=qd;});var Mo=g(ys=>{Object.defineProperty(ys,"__esModule",{value:true});var Od=Eo(),Rd=So(),Td=ko(),Id=jo(),Ad=qo(),Cd=Oo(),Md=Ro(),Dd=Io(),Vd=Ao(),xd=Co(),zd=[Od.default,Rd.default,Td.default,Id.default,Ad.default,Cd.default,Md.default,Dd.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Vd.default,xd.default];ys.default=zd;});var gs=g(gt=>{Object.defineProperty(gt,"__esModule",{value:true});gt.validateAdditionalItems=void 0;var Oe=S(),_s=q(),Kd={message:({params:{len:t}})=>(0, Oe.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, Oe._)`{limit: ${t}}`},Fd={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Kd,code(t){let{parentSchema:e,it:r}=t,{items:s}=e;if(!Array.isArray(s)){(0, _s.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Do(t,s);}};function Do(t,e){let{gen:r,schema:s,data:n,keyword:o,it:i}=t;i.items=true;let a=r.const("len",(0, Oe._)`${n}.length`);if(s===false)t.setParams({len:e.length}),t.pass((0, Oe._)`${a} <= ${e.length}`);else if(typeof s=="object"&&!(0, _s.alwaysValidSchema)(i,s)){let u=r.var("valid",(0, Oe._)`${a} <= ${e.length}`);r.if((0, Oe.not)(u),()=>c(u)),t.ok(u);}function c(u){r.forRange("i",e.length,a,d=>{t.subschema({keyword:o,dataProp:d,dataPropType:_s.Type.Num},u),i.allErrors||r.if((0, Oe.not)(u),()=>r.break());});}}gt.validateAdditionalItems=Do;gt.default=Fd;});var $s=g($t=>{Object.defineProperty($t,"__esModule",{value:true});$t.validateTuple=void 0;var Vo=S(),Gt=q(),Ud=Q(),Ld={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return xo(t,"additionalItems",e);r.items=true,!(0, Gt.alwaysValidSchema)(r,e)&&t.ok((0, Ud.validateArray)(t));}};function xo(t,e,r=t.schema){let{gen:s,parentSchema:n,data:o,keyword:i,it:a}=t;d(n),a.opts.unevaluated&&r.length&&a.items!==true&&(a.items=Gt.mergeEvaluated.items(s,r.length,a.items));let c=s.name("valid"),u=s.const("len",(0, Vo._)`${o}.length`);r.forEach((l,m)=>{(0, Gt.alwaysValidSchema)(a,l)||(s.if((0, Vo._)`${u} > ${m}`,()=>t.subschema({keyword:i,schemaProp:m,dataProp:m},c)),t.ok(c));});function d(l){let{opts:m,errSchemaPath:h}=a,p=r.length,f=p===l.minItems&&(p===l.maxItems||l[e]===false);if(m.strictTuples&&!f){let y=`"${i}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${h}"`;(0, Gt.checkStrictMode)(a,y,m.strictTuples);}}}$t.validateTuple=xo;$t.default=Ld;});var zo=g(vs=>{Object.defineProperty(vs,"__esModule",{value:true});var Hd=$s(),Gd={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0, Hd.validateTuple)(t,"items")};vs.default=Gd;});var Fo=g(ws=>{Object.defineProperty(ws,"__esModule",{value:true});var Ko=S(),Jd=q(),Wd=Q(),Bd=gs(),Qd={message:({params:{len:t}})=>(0, Ko.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, Ko._)`{limit: ${t}}`},Xd={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Qd,code(t){let{schema:e,parentSchema:r,it:s}=t,{prefixItems:n}=r;s.items=true,!(0, Jd.alwaysValidSchema)(s,e)&&(n?(0, Bd.validateAdditionalItems)(t,n):t.ok((0, Wd.validateArray)(t)));}};ws.default=Xd;});var Uo=g(bs=>{Object.defineProperty(bs,"__esModule",{value:true});var Y=S(),Jt=q(),Yd={message:({params:{min:t,max:e}})=>e===void 0?(0, Y.str)`must contain at least ${t} valid item(s)`:(0, Y.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0, Y._)`{minContains: ${t}}`:(0, Y._)`{minContains: ${t}, maxContains: ${e}}`},Zd={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:Yd,code(t){let{gen:e,schema:r,parentSchema:s,data:n,it:o}=t,i,a,{minContains:c,maxContains:u}=s;o.opts.next?(i=c===void 0?1:c,a=u):i=1;let d=e.const("len",(0, Y._)`${n}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0, Jt.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0, Jt.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0, Jt.alwaysValidSchema)(o,r)){let f=(0, Y._)`${d} >= ${i}`;a!==void 0&&(f=(0, Y._)`${f} && ${d} <= ${a}`),t.pass(f);return}o.items=true;let l=e.name("valid");a===void 0&&i===1?h(l,()=>e.if(l,()=>e.break())):i===0?(e.let(l,true),a!==void 0&&e.if((0, Y._)`${n}.length > 0`,m)):(e.let(l,false),m()),t.result(l,()=>t.reset());function m(){let f=e.name("_valid"),y=e.let("count",0);h(f,()=>e.if(f,()=>p(y)));}function h(f,y){e.forRange("i",0,d,_=>{t.subschema({keyword:"contains",dataProp:_,dataPropType:Jt.Type.Num,compositeRule:true},f),y();});}function p(f){e.code((0, Y._)`${f}++`),a===void 0?e.if((0, Y._)`${f} >= ${i}`,()=>e.assign(l,true).break()):(e.if((0, Y._)`${f} > ${a}`,()=>e.assign(l,false).break()),i===1?e.assign(l,true):e.if((0, Y._)`${f} >= ${i}`,()=>e.assign(l,true)));}}};bs.default=Zd;});var Go=g(ae=>{Object.defineProperty(ae,"__esModule",{value:true});ae.validateSchemaDeps=ae.validatePropertyDeps=ae.error=void 0;var Es=S(),el=q(),vt=Q();ae.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let s=e===1?"property":"properties";return (0, Es.str)`must have ${s} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:s}})=>(0, Es._)`{property: ${t},
|
|
6
|
+
missingProperty: ${s},
|
|
7
|
+
depsCount: ${e},
|
|
8
|
+
deps: ${r}}`};var tl={keyword:"dependencies",type:"object",schemaType:"object",error:ae.error,code(t){let[e,r]=rl(t);Lo(t,e),Ho(t,r);}};function rl({schema:t}){let e={},r={};for(let s in t){if(s==="__proto__")continue;let n=Array.isArray(t[s])?e:r;n[s]=t[s];}return [e,r]}function Lo(t,e=t.schema){let{gen:r,data:s,it:n}=t;if(Object.keys(e).length===0)return;let o=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0, vt.propertyInData)(r,s,i,n.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),n.allErrors?r.if(c,()=>{for(let u of a)(0, vt.checkReportMissingProp)(t,u);}):(r.if((0, Es._)`${c} && (${(0, vt.checkMissingProp)(t,a,o)})`),(0, vt.reportMissingProp)(t,o),r.else());}}ae.validatePropertyDeps=Lo;function Ho(t,e=t.schema){let{gen:r,data:s,keyword:n,it:o}=t,i=r.name("valid");for(let a in e)(0, el.alwaysValidSchema)(o,e[a])||(r.if((0, vt.propertyInData)(r,s,a,o.opts.ownProperties),()=>{let c=t.subschema({keyword:n,schemaProp:a},i);t.mergeValidEvaluated(c,i);},()=>r.var(i,true)),t.ok(i));}ae.validateSchemaDeps=Ho;ae.default=tl;});var Wo=g(Ss=>{Object.defineProperty(Ss,"__esModule",{value:true});var Jo=S(),sl=q(),nl={message:"property name must be valid",params:({params:t})=>(0, Jo._)`{propertyName: ${t.propertyName}}`},ol={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:nl,code(t){let{gen:e,schema:r,data:s,it:n}=t;if((0, sl.alwaysValidSchema)(n,r))return;let o=e.name("valid");e.forIn("key",s,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:true},o),e.if((0, Jo.not)(o),()=>{t.error(true),n.allErrors||e.break();});}),t.ok(o);}};Ss.default=ol;});var Ns=g(Ps=>{Object.defineProperty(Ps,"__esModule",{value:true});var Wt=Q(),re=S(),il=le(),Bt=q(),al={message:"must NOT have additional properties",params:({params:t})=>(0, re._)`{additionalProperty: ${t.additionalProperty}}`},cl={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:al,code(t){let{gen:e,schema:r,parentSchema:s,data:n,errsCount:o,it:i}=t;if(!o)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=true,c.removeAdditional!=="all"&&(0, Bt.alwaysValidSchema)(i,r))return;let u=(0, Wt.allSchemaProperties)(s.properties),d=(0, Wt.allSchemaProperties)(s.patternProperties);l(),t.ok((0, re._)`${o} === ${il.default.errors}`);function l(){e.forIn("key",n,y=>{!u.length&&!d.length?p(y):e.if(m(y),()=>p(y));});}function m(y){let _;if(u.length>8){let j=(0, Bt.schemaRefOrVal)(i,s.properties,"properties");_=(0, Wt.isOwnProperty)(e,j,y);}else u.length?_=(0, re.or)(...u.map(j=>(0, re._)`${y} === ${j}`)):_=re.nil;return d.length&&(_=(0, re.or)(_,...d.map(j=>(0, re._)`${(0, Wt.usePattern)(t,j)}.test(${y})`))),(0, re.not)(_)}function h(y){e.code((0, re._)`delete ${n}[${y}]`);}function p(y){if(c.removeAdditional==="all"||c.removeAdditional&&r===false){h(y);return}if(r===false){t.setParams({additionalProperty:y}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0, Bt.alwaysValidSchema)(i,r)){let _=e.name("valid");c.removeAdditional==="failing"?(f(y,_,false),e.if((0, re.not)(_),()=>{t.reset(),h(y);})):(f(y,_),a||e.if((0, re.not)(_),()=>e.break()));}}function f(y,_,j){let N={keyword:"additionalProperties",dataProp:y,dataPropType:Bt.Type.Str};j===false&&Object.assign(N,{compositeRule:true,createErrors:false,allErrors:false}),t.subschema(N,_);}}};Ps.default=cl;});var Xo=g(js=>{Object.defineProperty(js,"__esModule",{value:true});var ul=it(),Bo=Q(),ks=q(),Qo=Ns(),dl={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:s,data:n,it:o}=t;o.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&Qo.default.code(new ul.KeywordCxt(o,Qo.default,"additionalProperties"));let i=(0, Bo.allSchemaProperties)(r);for(let l of i)o.definedProperties.add(l);o.opts.unevaluated&&i.length&&o.props!==true&&(o.props=ks.mergeEvaluated.props(e,(0, ks.toHash)(i),o.props));let a=i.filter(l=>!(0, ks.alwaysValidSchema)(o,r[l]));if(a.length===0)return;let c=e.name("valid");for(let l of a)u(l)?d(l):(e.if((0, Bo.propertyInData)(e,n,l,o.opts.ownProperties)),d(l),o.allErrors||e.else().var(c,true),e.endIf()),t.it.definedProperties.add(l),t.ok(c);function u(l){return o.opts.useDefaults&&!o.compositeRule&&r[l].default!==void 0}function d(l){t.subschema({keyword:"properties",schemaProp:l,dataProp:l},c);}}};js.default=dl;});var ti=g(qs=>{Object.defineProperty(qs,"__esModule",{value:true});var Yo=Q(),Qt=S(),Zo=q(),ei=q(),ll={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:s,parentSchema:n,it:o}=t,{opts:i}=o,a=(0, Yo.allSchemaProperties)(r),c=a.filter(f=>(0, Zo.alwaysValidSchema)(o,r[f]));if(a.length===0||c.length===a.length&&(!o.opts.unevaluated||o.props===true))return;let u=i.strictSchema&&!i.allowMatchingProperties&&n.properties,d=e.name("valid");o.props!==true&&!(o.props instanceof Qt.Name)&&(o.props=(0, ei.evaluatedPropsToName)(e,o.props));let{props:l}=o;m();function m(){for(let f of a)u&&h(f),o.allErrors?p(f):(e.var(d,true),p(f),e.if(d));}function h(f){for(let y in u)new RegExp(f).test(y)&&(0, Zo.checkStrictMode)(o,`property ${y} matches pattern ${f} (use allowMatchingProperties)`);}function p(f){e.forIn("key",s,y=>{e.if((0, Qt._)`${(0, Yo.usePattern)(t,f)}.test(${y})`,()=>{let _=c.includes(f);_||t.subschema({keyword:"patternProperties",schemaProp:f,dataProp:y,dataPropType:ei.Type.Str},d),o.opts.unevaluated&&l!==true?e.assign((0, Qt._)`${l}[${y}]`,true):!_&&!o.allErrors&&e.if((0, Qt.not)(d),()=>e.break());});});}}};qs.default=ll;});var ri=g(Os=>{Object.defineProperty(Os,"__esModule",{value:true});var fl=q(),pl={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(t){let{gen:e,schema:r,it:s}=t;if((0, fl.alwaysValidSchema)(s,r)){t.fail();return}let n=e.name("valid");t.subschema({keyword:"not",compositeRule:true,createErrors:false,allErrors:false},n),t.failResult(n,()=>t.reset(),()=>t.error());},error:{message:"must NOT be valid"}};Os.default=pl;});var si=g(Rs=>{Object.defineProperty(Rs,"__esModule",{value:true});var hl=Q(),ml={keyword:"anyOf",schemaType:"array",trackErrors:true,code:hl.validateUnion,error:{message:"must match a schema in anyOf"}};Rs.default=ml;});var ni=g(Ts=>{Object.defineProperty(Ts,"__esModule",{value:true});var Xt=S(),yl=q(),_l={message:"must match exactly one schema in oneOf",params:({params:t})=>(0, Xt._)`{passingSchemas: ${t.passing}}`},gl={keyword:"oneOf",schemaType:"array",trackErrors:true,error:_l,code(t){let{gen:e,schema:r,parentSchema:s,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(n.opts.discriminator&&s.discriminator)return;let o=r,i=e.let("valid",false),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(true));function u(){o.forEach((d,l)=>{let m;(0, yl.alwaysValidSchema)(n,d)?e.var(c,true):m=t.subschema({keyword:"oneOf",schemaProp:l,compositeRule:true},c),l>0&&e.if((0, Xt._)`${c} && ${i}`).assign(i,false).assign(a,(0, Xt._)`[${a}, ${l}]`).else(),e.if(c,()=>{e.assign(i,true),e.assign(a,l),m&&t.mergeEvaluated(m,Xt.Name);});});}}};Ts.default=gl;});var oi=g(Is=>{Object.defineProperty(Is,"__esModule",{value:true});var $l=q(),vl={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let n=e.name("valid");r.forEach((o,i)=>{if((0, $l.alwaysValidSchema)(s,o))return;let a=t.subschema({keyword:"allOf",schemaProp:i},n);t.ok(n),t.mergeEvaluated(a);});}};Is.default=vl;});var ci=g(As=>{Object.defineProperty(As,"__esModule",{value:true});var Yt=S(),ai=q(),wl={message:({params:t})=>(0, Yt.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0, Yt._)`{failingKeyword: ${t.ifClause}}`},bl={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:wl,code(t){let{gen:e,parentSchema:r,it:s}=t;r.then===void 0&&r.else===void 0&&(0, ai.checkStrictMode)(s,'"if" without "then" and "else" is ignored');let n=ii(s,"then"),o=ii(s,"else");if(!n&&!o)return;let i=e.let("valid",true),a=e.name("_valid");if(c(),t.reset(),n&&o){let d=e.let("ifClause");t.setParams({ifClause:d}),e.if(a,u("then",d),u("else",d));}else n?e.if(a,u("then")):e.if((0, Yt.not)(a),u("else"));t.pass(i,()=>t.error(true));function c(){let d=t.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},a);t.mergeEvaluated(d);}function u(d,l){return ()=>{let m=t.subschema({keyword:d},a);e.assign(i,a),t.mergeValidEvaluated(m,i),l?e.assign(l,(0, Yt._)`${d}`):t.setParams({ifClause:d});}}}};function ii(t,e){let r=t.schema[e];return r!==void 0&&!(0, ai.alwaysValidSchema)(t,r)}As.default=bl;});var ui=g(Cs=>{Object.defineProperty(Cs,"__esModule",{value:true});var El=q(),Sl={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0, El.checkStrictMode)(r,`"${t}" without "if" is ignored`);}};Cs.default=Sl;});var di=g(Ms=>{Object.defineProperty(Ms,"__esModule",{value:true});var Pl=gs(),Nl=zo(),kl=$s(),jl=Fo(),ql=Uo(),Ol=Go(),Rl=Wo(),Tl=Ns(),Il=Xo(),Al=ti(),Cl=ri(),Ml=si(),Dl=ni(),Vl=oi(),xl=ci(),zl=ui();function Kl(t=false){let e=[Cl.default,Ml.default,Dl.default,Vl.default,xl.default,zl.default,Rl.default,Tl.default,Ol.default,Il.default,Al.default];return t?e.push(Nl.default,jl.default):e.push(Pl.default,kl.default),e.push(ql.default),e}Ms.default=Kl;});var li=g(Ds=>{Object.defineProperty(Ds,"__esModule",{value:true});var D=S(),Fl={message:({schemaCode:t})=>(0, D.str)`must match format "${t}"`,params:({schemaCode:t})=>(0, D._)`{format: ${t}}`},Ul={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:Fl,code(t,e){let{gen:r,data:s,$data:n,schema:o,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:d,self:l}=a;if(!c.validateFormats)return;n?m():h();function m(){let p=r.scopeValue("formats",{ref:l.formats,code:c.code.formats}),f=r.const("fDef",(0, D._)`${p}[${i}]`),y=r.let("fType"),_=r.let("format");r.if((0, D._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(y,(0, D._)`${f}.type || "string"`).assign(_,(0, D._)`${f}.validate`),()=>r.assign(y,(0, D._)`"string"`).assign(_,f)),t.fail$data((0, D.or)(j(),N()));function j(){return c.strictSchema===false?D.nil:(0, D._)`${i} && !${_}`}function N(){let A=d.$async?(0, D._)`(${f}.async ? await ${_}(${s}) : ${_}(${s}))`:(0, D._)`${_}(${s})`,w=(0, D._)`(typeof ${_} == "function" ? ${A} : ${_}.test(${s}))`;return (0, D._)`${_} && ${_} !== true && ${y} === ${e} && !${w}`}}function h(){let p=l.formats[o];if(!p){j();return}if(p===true)return;let[f,y,_]=N(p);f===e&&t.pass(A());function j(){if(c.strictSchema===false){l.logger.warn(w());return}throw new Error(w());function w(){return `unknown format "${o}" ignored in schema at path "${u}"`}}function N(w){let se=w instanceof RegExp?(0, D.regexpCode)(w):c.code.formats?(0, D._)`${c.code.formats}${(0, D.getProperty)(o)}`:void 0,ce=r.scopeValue("formats",{key:o,ref:w,code:se});return typeof w=="object"&&!(w instanceof RegExp)?[w.type||"string",w.validate,(0, D._)`${ce}.validate`]:["string",w,ce]}function A(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!d.$async)throw new Error("async format in sync schema");return (0, D._)`await ${_}(${s})`}return typeof y=="function"?(0, D._)`${_}(${s})`:(0, D._)`${_}.test(${s})`}}}};Ds.default=Ul;});var fi=g(Vs=>{Object.defineProperty(Vs,"__esModule",{value:true});var Ll=li(),Hl=[Ll.default];Vs.default=Hl;});var pi=g(Fe=>{Object.defineProperty(Fe,"__esModule",{value:true});Fe.contentVocabulary=Fe.metadataVocabulary=void 0;Fe.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Fe.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var mi=g(xs=>{Object.defineProperty(xs,"__esModule",{value:true});var Gl=bo(),Jl=Mo(),Wl=di(),Bl=fi(),hi=pi(),Ql=[Gl.default,Jl.default,(0, Wl.default)(),Bl.default,hi.metadataVocabulary,hi.contentVocabulary];xs.default=Ql;});var _i=g(Zt=>{Object.defineProperty(Zt,"__esModule",{value:true});Zt.DiscrError=void 0;var yi;(function(t){t.Tag="tag",t.Mapping="mapping";})(yi||(Zt.DiscrError=yi={}));});var $i=g(Ks=>{Object.defineProperty(Ks,"__esModule",{value:true});var Ue=S(),zs=_i(),gi=Ct(),Xl=at(),Yl=q(),Zl={message:({params:{discrError:t,tagName:e}})=>t===zs.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0, Ue._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},ef={keyword:"discriminator",type:"object",schemaType:"object",error:Zl,code(t){let{gen:e,data:r,schema:s,parentSchema:n,it:o}=t,{oneOf:i}=n;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=s.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(s.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",false),u=e.const("tag",(0, Ue._)`${r}${(0, Ue.getProperty)(a)}`);e.if((0, Ue._)`typeof ${u} == "string"`,()=>d(),()=>t.error(false,{discrError:zs.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function d(){let h=m();e.if(false);for(let p in h)e.elseIf((0, Ue._)`${u} === ${p}`),e.assign(c,l(h[p]));e.else(),t.error(false,{discrError:zs.DiscrError.Mapping,tag:u,tagName:a}),e.endIf();}function l(h){let p=e.name("valid"),f=t.subschema({keyword:"oneOf",schemaProp:h},p);return t.mergeEvaluated(f,Ue.Name),p}function m(){var h;let p={},f=_(n),y=true;for(let A=0;A<i.length;A++){let w=i[A];if(w?.$ref&&!(0, Yl.schemaHasRulesButRef)(w,o.self.RULES)){let ce=w.$ref;if(w=gi.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,ce),w instanceof gi.SchemaEnv&&(w=w.schema),w===void 0)throw new Xl.default(o.opts.uriResolver,o.baseId,ce)}let se=(h=w?.properties)===null||h===void 0?void 0:h[a];if(typeof se!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(f||_(w)),j(se,A);}if(!y)throw new Error(`discriminator: "${a}" must be required`);return p;function _({required:A}){return Array.isArray(A)&&A.includes(a)}function j(A,w){if(A.const)N(A.const,w);else if(A.enum)for(let se of A.enum)N(se,w);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function N(A,w){if(typeof A!="string"||A in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[A]=w;}}}};Ks.default=ef;});var vi=g((Ip,tf)=>{tf.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:true,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:true,readOnly:{type:"boolean",default:false},examples:{type:"array",items:true},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:true},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:false},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:true,enum:{type:"array",items:true,minItems:1,uniqueItems:true},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:true}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:true};});var bi=g((M,Fs)=>{Object.defineProperty(M,"__esModule",{value:true});M.MissingRefError=M.ValidationError=M.CodeGen=M.Name=M.nil=M.stringify=M.str=M._=M.KeywordCxt=M.Ajv=void 0;var rf=yo(),sf=mi(),nf=$i(),wi=vi(),of=["/properties"],er="http://json-schema.org/draft-07/schema",Le=class extends rf.default{_addVocabularies(){super._addVocabularies(),sf.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(nf.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(wi,of):wi;this.addMetaSchema(e,er,false),this.refs["http://json-schema.org/schema"]=er;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(er)?er:void 0)}};M.Ajv=Le;Fs.exports=M=Le;Fs.exports.Ajv=Le;Object.defineProperty(M,"__esModule",{value:true});M.default=Le;var af=it();Object.defineProperty(M,"KeywordCxt",{enumerable:true,get:function(){return af.KeywordCxt}});var He=S();Object.defineProperty(M,"_",{enumerable:true,get:function(){return He._}});Object.defineProperty(M,"str",{enumerable:true,get:function(){return He.str}});Object.defineProperty(M,"stringify",{enumerable:true,get:function(){return He.stringify}});Object.defineProperty(M,"nil",{enumerable:true,get:function(){return He.nil}});Object.defineProperty(M,"Name",{enumerable:true,get:function(){return He.Name}});Object.defineProperty(M,"CodeGen",{enumerable:true,get:function(){return He.CodeGen}});var cf=It();Object.defineProperty(M,"ValidationError",{enumerable:true,get:function(){return cf.default}});var uf=at();Object.defineProperty(M,"MissingRefError",{enumerable:true,get:function(){return uf.default}});});var Js={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://nsreehari.github.io/boards/live-cards.schema.json",definitions:{bind_ref:{description:"A card data path reference, e.g. 'card_data.raw_quotes' or 'requires.upstream'",type:"string",pattern:"^(card_data|requires|fetched_sources|computed_values)(\\.|$)"},bind_or_literal:{description:"A literal value or a bind reference object",oneOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"array"},{type:"object",properties:{bind:{$ref:"#/definitions/bind_ref"}},required:["bind"]}]},compute_expr:{description:"A declarative JSON compute expression",type:"object",required:["fn"],properties:{fn:{type:"string",description:"Function name from the built-in vocabulary",enum:["sum","avg","min","max","count","first","last","add","sub","mul","div","round","abs","mod","gt","gte","lt","lte","eq","neq","if","and","or","not","concat","upper","lower","template","filter","pluck","map","sort","slice","flat","unique","group","get","default","now","diff_days","format_date"]},input:{description:"card_data.path, literal, array of inputs, or nested compute_expr",oneOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"array"},{$ref:"#/definitions/compute_expr"}]},field:{type:"string",description:"For pluck/sum/group \u2014 the object key to extract"},where:{$ref:"#/definitions/compute_expr",description:"For filter \u2014 predicate expression ($ = current item)"},cond:{$ref:"#/definitions/compute_expr",description:"For if \u2014 condition expression"},then:{description:"For if \u2014 value when cond is truthy"},else:{description:"For if \u2014 value when cond is falsy"},format:{type:"string",description:"For format_date \u2014 date format string"}}},meta:{type:"object",properties:{title:{type:"string"},tags:{type:"array",items:{type:"string"}}}},requires:{type:"array",items:{type:"string"},description:"IDs of upstream nodes this node depends on"},provides:{type:"array",items:{type:"object",required:["bindTo","ref"],properties:{bindTo:{type:"string",description:"Token name published downstream"},ref:{type:"string",description:"Path to read value from (card_data.*, requires.*, fetched_sources.*, computed_values.*)"}}},description:"Explicit bindings exposing computed or card_data values downstream as named tokens"},compute_step:{description:"A single ordered compute step: reads card_data.*/requires.*/computed_values.*, writes to computed_values[bindTo]",type:"object",required:["bindTo","expr"],properties:{bindTo:{type:"string",description:"Key in computed_values to write result"},expr:{type:"string",description:"JSONata expression evaluated against { card_data, requires, fetched_sources, computed_values }"}}},source_def:{description:"One source entry. The engine requires 'bindTo' (compute namespace key) and 'outputFile' (delivery signal path). bindTo and outputFile must be unique across all source_defs in a card. Every other property is yours \u2014 add whatever your task-executor needs: kind, url, headers, mailbox, channel, model, query, etc. The full object is passed verbatim as the --in JSON to the executor.",type:"object",required:["bindTo","outputFile"],additionalProperties:true,properties:{bindTo:{type:"string",description:"Key under fetched_sources.* available in compute expressions"},outputFile:{type:"string",description:"Board-relative path the executor writes its JSON result to. Presence of this file signals delivery."},projections:{type:"object",description:"Named data projections from card_data or requires, evaluated before the executor is called. Each key is a ref name; each value is a JSONata expression rooted at card_data or requires. The resolved values are passed to the executor as _projections. fetched_sources, computed_values, and source_defs are not accessible here \u2014 sources run before those exist.",additionalProperties:{type:"string"}},optionalForCompletionGating:{type:"boolean",default:false,description:"When true this source does not gate card completion. Default false when absent, so source_defs are completion-gating by default."},timeout:{type:"integer",minimum:0,default:12e4,description:"Executor/script timeout in ms. Default: 120 000 (2 min)."},script:{type:"string",description:"Legacy direct-run: shell command executed when no .task-executor is registered. stdout is captured as the result."}}},render_element:{type:"object",required:["kind"],properties:{id:{type:"string",description:"Optional element ID for targeted updates"},kind:{enum:["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]},label:{type:"string",description:"Heading above this element"},className:{type:"string",description:"Bootstrap grid class, e.g. 'col-12 col-md-6'"},visible:{type:"string",description:"card_data/requires/fetched_sources/computed_values path \u2014 element shown only if truthy"},data:{type:"object",properties:{bind:{$ref:"#/definitions/bind_ref",description:"card_data/requires/fetched_sources/computed_values path to read data from"},writeTo:{$ref:"#/definitions/bind_ref",description:"card_data path for user input (form, filter, todo, notes)"},columns:{type:"array",items:{type:"string"},description:"table: visible columns"},maxRows:{type:"integer",description:"table/list: max rows to display"},sortable:{type:"boolean",default:true,description:"table: enable click-to-sort"},placeholder:{type:"string",description:"Empty-state message"},chartType:{enum:["bar","line","pie","doughnut"]},chartOptions:{type:"object",description:"Chart.js options passthrough"},fields:{type:"object",description:"JSON Schema for form/filter fields"},thresholds:{type:"object",properties:{green:{type:"string"},amber:{type:"string"}}},colorMap:{type:"object",description:"badge: value \u2192 Bootstrap color"},style:{enum:["heading","muted","default"],description:"text: display style"},upload:{type:"boolean",default:true,description:"file-upload: show drop zone (false = read-only file list)"},accept:{type:"array",items:{type:"string"},description:"file-upload: allowed extensions"},multiple:{type:"boolean",default:true,description:"file-upload: allow multiple files"},fileAttach:{type:"boolean",default:false,description:"chat: enable inline file attachments"},fileAccept:{type:"array",items:{type:"string"},description:"chat: allowed attachment extensions"},buttons:{type:"array",description:"actions: button definitions",items:{type:"object",required:["id","label"],properties:{id:{type:"string"},label:{type:"string"},style:{type:"string",description:"Bootstrap button variant, e.g. 'success', 'outline-danger'"},size:{type:"string",default:"sm"},disabled:{oneOf:[{type:"boolean"},{type:"string",description:"card_data/requires/fetched_sources/computed_values path \u2014 truthy = disabled"}]}}}}}}}},view:{type:"object",required:["elements"],properties:{elements:{type:"array",minItems:1,items:{$ref:"#/definitions/render_element"}},layout:{type:"object",properties:{board:{type:"object",properties:{col:{type:"integer",minimum:1,maximum:12},order:{type:"integer"}}},canvas:{type:"object",properties:{x:{type:"number"},y:{type:"number"},w:{type:"number"},h:{type:"number"}}}}},features:{type:"object",properties:{chat:{type:"boolean",default:false},notes:{type:"boolean",default:false},refresh:{type:"boolean",default:true}}}}}},title:"LiveCard",description:"A unified card node. Behavior depends on which sections are present (source_defs, compute, view, etc.)",type:"object",required:["id"],additionalProperties:false,properties:{id:{type:"string"},requires:{$ref:"#/definitions/requires"},provides:{$ref:"#/definitions/provides"},meta:{$ref:"#/definitions/meta"},view:{$ref:"#/definitions/view"},card_data:{type:"object",description:"Authored card data and runtime metadata. Includes uploaded-file metadata maintained by host handlers and inference evaluation results.",properties:{files:{type:"array",description:"Optional uploaded-file metadata maintained by host handlers. Stored name is normalized and serial-prefixed (for example 001-my_file.pdf).",items:{type:"object",required:["name","stored_name"],properties:{name:{type:"string",minLength:1},stored_name:{type:"string",minLength:5,maxLength:32,pattern:"^[0-9]{3,}-[a-z0-9._-]+$"},size:{oneOf:[{type:"integer",minimum:0},{type:"null"}]},mime_type:{type:"string"},path:{type:"string",pattern:"^[^\\s]+/files/[0-9]{3,}-[a-z0-9._-]+$"},uploaded_at:{type:"string",format:"date-time"}},additionalProperties:false}}},additionalProperties:true},source_defs:{type:"array",description:"Source entries. Each entry is passed verbatim to the board's .task-executor (registered via init --task-executor) as the --in JSON file. The executor fetches/generates the data and writes JSON to --out. If no executor is registered, the built-in executor runs the entry's 'cli' command directly. Sources gate completion by default. Set optionalForCompletionGating: true for enrichment-only source_defs that should not block task-completed.",items:{$ref:"#/definitions/source_def"}},compute:{type:"array",description:"Ordered array of compute steps. Each reads card_data.*/requires.*/fetched_sources.*/computed_values.* and writes to ephemeral computed_values[bindTo].",items:{$ref:"#/definitions/compute_step"}}}};var Pi=Ci(bi());var ff=createRequire(import.meta.url),pf=ff("./jsonata-sync.cjs"),tr=null;var Ei=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,hf=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function mf(t){let e=new Set,r;for(Ei.lastIndex=0;(r=Ei.exec(t))!==null;)e.add(r[1]);return e}function Ni(t){let e=hf.exec(t);return e?e[1]:null}function Si(t,e,r,s){try{pf(t);}catch(o){let i=o instanceof Error?o.message:String(o);s.push(`${e}: invalid JSONata expression (${i})`);return}let n=mf(t);for(let o of n)r.has(o)||s.push(`${e}: disallowed namespace "${o}" in expression`);}function Us(t,e,r){if(Array.isArray(t)){t.forEach((n,o)=>{Us(n,`${e}/${o}`,r);});return}if(typeof t=="string"){let n=Ni(t);if(!n)return;new Set(["card_data","requires","computed_values"]).has(n)||r.push(`${e}: disallowed namespace "${n}" in view reference`);return}if(!t||typeof t!="object")return;let s=t;for(let[n,o]of Object.entries(s))Us(o,`${e}/${n}`,r);}function yf(){if(tr)return tr;let t=new Pi.default({allErrors:true});return df(t),tr=t.compile(Js),tr}function _f(t){let e=yf(),r=e(t),s=(e.errors??[]).map(n=>`${n.instancePath||"/"}: ${n.message??"unknown error"}`);if(t&&typeof t=="object"&&!Array.isArray(t)){let n=t.source_defs;if(Array.isArray(n)){let o=new Set,i=new Set;n.forEach((a,c)=>{if(!a||typeof a!="object"||Array.isArray(a))return;let u=a;typeof u.bindTo=="string"&&u.bindTo&&(o.has(u.bindTo)&&s.push(`/source_defs/${c}/bindTo: bindTo "${u.bindTo}" must be unique across all source_defs`),o.add(u.bindTo)),typeof u.outputFile=="string"&&u.outputFile&&(i.has(u.outputFile)&&s.push(`/source_defs/${c}/outputFile: outputFile "${u.outputFile}" must be unique across all source_defs`),i.add(u.outputFile));});}}return !r||s.length>0?{ok:false,errors:s}:{ok:true,errors:[]}}function gf(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:true,errors:[]};let r=t,s=r.compute;Array.isArray(s)&&s.forEach((u,d)=>{if(!u||typeof u!="object"||Array.isArray(u))return;let l=u.expr;typeof l!="string"||l.trim().length===0||Si(l,`/compute/${d}/expr`,new Set(["card_data","requires","fetched_sources","computed_values"]),e);});let n=new Set(["card_data","requires","fetched_sources","computed_values"]),o=r.provides;Array.isArray(o)&&o.forEach((u,d)=>{if(!u||typeof u!="object"||Array.isArray(u))return;let l=u.ref;if(typeof l!="string"||l.trim().length===0)return;let m=Ni(l);m===null?e.push(`/provides/${d}/ref: path "${l}" must start with a valid namespace (${[...n].join(", ")})`):n.has(m)||e.push(`/provides/${d}/ref: disallowed namespace "${m}" in path "${l}" (valid: ${[...n].join(", ")})`);});let i=r.view;i&&typeof i=="object"&&!Array.isArray(i)&&Us(i,"/view",e);let a=new Set(["card_data","requires"]),c=r.source_defs;return Array.isArray(c)&&c.forEach((u,d)=>{if(!u||typeof u!="object"||Array.isArray(u))return;let l=u.projections;if(!(!l||typeof l!="object"||Array.isArray(l)))for(let[m,h]of Object.entries(l))typeof h!="string"||h.trim().length===0||Si(h,`/source_defs/${d}/projections/${m}`,a,e);}),{ok:e.length===0,errors:e}}function ki(t){let e=_f(t);if(!e.ok)return e;let r=gf(t);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}function xp(t){let e=ki(t);return {isValid:e.ok,issues:e.errors}}
|
|
9
|
+
export{xp as validateCardPreflight};//# sourceMappingURL=card-validation.js.map
|
|
10
|
+
//# sourceMappingURL=card-validation.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { G as GraphConfig, c as ExecutionState, S as SchedulerResult, f as GraphEvent, T as TaskConfig, e as GraphEngineStore, R as RefreshStrategy, h as StuckDetection, C as CompletionStrategy, a as ConflictStrategy, b as ExecutionMode, d as ExecutionStatus, l as TaskStatus } from './types-BBhqYGhE.js';
|
|
2
|
-
import { e as StepFlowConfig } from './types-
|
|
2
|
+
import { e as StepFlowConfig } from './types-DQ1bKuB1.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Event Graph — Scheduler
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { G as GraphConfig, c as ExecutionState, S as SchedulerResult, f as GraphEvent, T as TaskConfig, e as GraphEngineStore, R as RefreshStrategy, h as StuckDetection, C as CompletionStrategy, a as ConflictStrategy, b as ExecutionMode, d as ExecutionStatus, l as TaskStatus } from './types-BBhqYGhE.cjs';
|
|
2
|
-
import { e as StepFlowConfig } from './types-
|
|
2
|
+
import { e as StepFlowConfig } from './types-DQ1bKuB1.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Event Graph — Scheduler
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
'use strict';var child_process=require('child_process'),module$1=require('module');require('ajv-formats');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;var w={NOT_STARTED:"not-started",RUNNING:"running",COMPLETED:"completed",FAILED:"failed",INACTIVATED:"inactivated"};function x(e){return e?Array.isArray(e.provides)?e.provides:[]:[]}function _(e){return e?Array.isArray(e.requires)?e.requires:[]:[]}function A(e){return e.tasks??{}}function I(e){return e?e.status===w.FAILED||e.status===w.INACTIVATED:false}function oe(e,t){return e.refreshStrategy??t?.refreshStrategy??"data-changed"}function ae(e){return e.maxExecutions}function ie(e,t){let r=new Set;for(let[n,s]of Object.entries(t))if(s.status===w.COMPLETED){let o=e.tasks[n];o&&x(o).forEach(u=>r.add(u));}return Array.from(r)}function ce(e,t){let r={};return e.forEach(n=>{let s=t[n];if(!s)return;x(s).forEach(a=>{r[a]||(r[a]=[]),r[a].push(n);});}),r}function ue(e,t,r){let n=e.tasks[t]??D(),s={};if(r){let a=r.tasks[t],u=_(a);for(let l of u)for(let[i,d]of Object.entries(r.tasks))if(x(d).includes(l)){let c=e.tasks[i];c?.lastDataHash&&(s[l]=c.lastDataHash);break}}let o={...n,status:"running",startedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),progress:0,error:void 0,startConsumedHashes:s};return {...e,tasks:{...e.tasks,[t]:o},lastUpdated:new Date().toISOString()}}function de(e,t,r,n,s,o){let a=e.tasks[r]??D(),u=t.tasks[r];if(!u)throw new Error(`Task "${r}" not found in graph`);let l;n&&u.on&&u.on[n]?l=u.on[n]:l=x(u);let i=a.startConsumedHashes?{...a.startConsumedHashes}:{...a.lastConsumedHashes};if(!a.startConsumedHashes){let g=u.requires??[];for(let f of g)for(let[v,h]of Object.entries(t.tasks))if(x(h).includes(f)){let R=e.tasks[v];R?.lastDataHash&&(i[f]=R.lastDataHash);break}}let d={...a,status:"completed",completedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),executionCount:a.executionCount+1,lastEpoch:a.executionCount+1,lastDataHash:s,data:o,lastConsumedHashes:i,error:void 0},c=[...new Set([...e.availableOutputs,...l])];return {...e,tasks:{...e.tasks,[r]:d},availableOutputs:c,lastUpdated:new Date().toISOString()}}function pe(e,t,r,n){let s=e.tasks[r]??D(),o=t.tasks[r];if(o?.retry){let l=s.retryCount+1;if(l<=o.retry.max_attempts){let i={...s,status:"not-started",retryCount:l,lastUpdated:new Date().toISOString(),error:n};return {...e,tasks:{...e.tasks,[r]:i},lastUpdated:new Date().toISOString()}}}let a={...s,status:"failed",failedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),error:n,executionCount:s.executionCount+1},u=e.availableOutputs;if(o?.on_failure&&o.on_failure.length>0&&(u=[...new Set([...e.availableOutputs,...o.on_failure])]),o?.circuit_breaker&&a.executionCount>=o.circuit_breaker.max_executions){let l=o.circuit_breaker.on_break;u=[...new Set([...u,...l])];}return {...e,tasks:{...e.tasks,[r]:a},availableOutputs:u,lastUpdated:new Date().toISOString()}}function fe(e,t,r,n){let s=e.tasks[t]??D(),o={...s,progress:typeof n=="number"?n:s.progress,messages:[...s.messages??[],...r?[{message:r,timestamp:new Date().toISOString(),status:s.status}]:[]],lastUpdated:new Date().toISOString()};return {...e,tasks:{...e.tasks,[t]:o},lastUpdated:new Date().toISOString()}}function le(e,t){let r=e.tasks[t];if(!r)return e;let n={...r,status:"not-started",startedAt:void 0,completedAt:void 0,failedAt:void 0,error:void 0,data:void 0,progress:null,lastUpdated:new Date().toISOString()};return {...e,tasks:{...e.tasks,[t]:n},lastUpdated:new Date().toISOString()}}function D(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function J(e,t){let r=t??`live-${Date.now()}`,n={};for(let o of Object.keys(e.tasks))n[o]=K();let s={status:"running",tasks:n,availableOutputs:[],stuckDetection:{is_stuck:false,stuck_description:null,outputs_unresolvable:[],tasks_blocked:[]},lastUpdated:new Date().toISOString(),executionId:r,executionConfig:{executionMode:e.settings.execution_mode??"eligibility-mode",conflictStrategy:e.settings.conflict_strategy??"alphabetical",completionStrategy:e.settings.completion}};return {config:e,state:s}}function Y(e,t){let{config:r,state:n}=e;if("executionId"in t&&t.executionId&&t.executionId!==n.executionId)return e;switch(t.type){case "task-started":return {config:r,state:ue(n,t.taskName,r)};case "task-completed":return {config:r,state:de(n,r,t.taskName,t.result,t.dataHash,t.data)};case "task-failed":return {config:r,state:pe(n,r,t.taskName,t.error)};case "task-progress":return {config:r,state:fe(n,t.taskName,t.message,t.progress)};case "task-restart":return {config:r,state:le(n,t.taskName)};case "inject-tokens":return {config:r,state:{...n,availableOutputs:[...new Set([...n.availableOutputs,...t.tokens])],lastUpdated:new Date().toISOString()}};case "agent-action":return {config:r,state:Ee(n,t.action)};case "task-upsert":return P(e,t.taskName,t.taskConfig);case "task-removal":return M(e,t.taskName);case "node-requires-add":return q(e,t.nodeName,t.tokens);case "node-requires-remove":return F(e,t.nodeName,t.tokens);case "node-provides-add":return $(e,t.nodeName,t.tokens);case "node-provides-remove":return U(e,t.nodeName,t.tokens);default:return e}}function L(e,t){return t.reduce((r,n)=>Y(r,n),e)}function P(e,t,r){let n=!!e.config.tasks[t];return {config:{...e.config,tasks:{...e.config.tasks,[t]:r}},state:{...e.state,tasks:{...e.state.tasks,[t]:n?e.state.tasks[t]:K()},lastUpdated:new Date().toISOString()}}}function M(e,t){if(!e.config.tasks[t])return e;let{[t]:r,...n}=e.config.tasks,{[t]:s,...o}=e.state.tasks;return {config:{...e.config,tasks:n},state:{...e.state,tasks:o,lastUpdated:new Date().toISOString()}}}function q(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=_(n),o=r.filter(a=>!s.includes(a));return o.length===0?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,requires:[...s,...o]}}},state:e.state}}function F(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=_(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,requires:o}}},state:e.state}}function $(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=x(n),o=r.filter(a=>!s.includes(a));return o.length===0?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,provides:[...s,...o]}}},state:e.state}}function U(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=x(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,provides:o}}},state:e.state}}function X(e,t){return Y(e,{type:"inject-tokens",tokens:t,timestamp:new Date().toISOString()})}function z(e,t){let r=new Set(t),n=e.state.availableOutputs.filter(s=>!r.has(s));return n.length===e.state.availableOutputs.length?e:{config:e.config,state:{...e.state,availableOutputs:n,lastUpdated:new Date().toISOString()}}}function Q(e,t){return !e.config.tasks[t]||!e.state.tasks[t]?e:{config:e.config,state:{...e.state,tasks:{...e.state.tasks,[t]:K()},lastUpdated:new Date().toISOString()}}}function Z(e,t){let r=e.state.tasks[t];return !r||r.status==="inactivated"?e:{config:e.config,state:{...e.state,tasks:{...e.state.tasks,[t]:{...r,status:"inactivated",lastUpdated:new Date().toISOString()}},lastUpdated:new Date().toISOString()}}}function ee(e,t){let r=e.state.tasks[t];return !r||r.status!=="inactivated"?e:{config:e.config,state:{...e.state,tasks:{...e.state.tasks,[t]:{...r,status:"not-started",lastUpdated:new Date().toISOString()}},lastUpdated:new Date().toISOString()}}}function xe(e,t){let r=e.config.tasks[t];if(!r)return;let n=e.state.tasks[t]??K();return {name:t,config:r,state:n}}function te(e){return {version:1,config:e.config,state:e.state,snapshotAt:new Date().toISOString()}}function Ce(e){if(!e||typeof e!="object")throw new Error("Invalid snapshot: expected an object");let t=e;if(!t.config||typeof t.config!="object")throw new Error('Invalid snapshot: missing or invalid "config"');if(!t.state||typeof t.state!="object")throw new Error('Invalid snapshot: missing or invalid "state"');let r=t.config,n=t.state;if(!r.settings||typeof r.settings!="object")throw new Error("Invalid snapshot: config.settings missing");if(!r.tasks||typeof r.tasks!="object")throw new Error("Invalid snapshot: config.tasks missing");if(!n.tasks||typeof n.tasks!="object")throw new Error("Invalid snapshot: state.tasks missing");if(!Array.isArray(n.availableOutputs))throw new Error("Invalid snapshot: state.availableOutputs must be an array");return {config:r,state:n}}function K(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function Ee(e,t){let r=new Date().toISOString();switch(t){case "stop":return {...e,status:"stopped",lastUpdated:r};case "pause":return {...e,status:"paused",lastUpdated:r};case "resume":return {...e,status:"running",lastUpdated:r};default:return e}}function V(e){let{config:t,state:r}=e,n=A(t);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=_e(n),a=ie(t,r.tasks),u=new Set([...a,...r.availableOutputs]),l=[],i=[],d=[],c=[];for(let[f,v]of Object.entries(n)){let h=r.tasks[f],R=oe(v,t.settings),C=R!=="once";if(h?.status===w.RUNNING||I(h))continue;let p=ae(v);if(p!==void 0&&h&&h.executionCount>=p||v.circuit_breaker&&h&&h.executionCount>=v.circuit_breaker.max_executions||!C&&h?.status===w.COMPLETED)continue;if(C&&h?.status===w.COMPLETED){let y=_(v),S=false;switch(R){case "data-changed":{y.length>0&&y.some(E=>{for(let[G,j]of Object.entries(n))if(x(j).includes(E)){let N=r.tasks[G];if(!N)continue;let we=h.lastConsumedHashes?.[E];return N.lastDataHash==null?N.executionCount>h.lastEpoch:N.lastDataHash!==we}return false})||(S=true);break}case "epoch-changed":{y.length>0&&y.some(E=>{for(let[G,j]of Object.entries(n))if(x(j).includes(E)){let N=r.tasks[G];if(N&&N.executionCount>h.lastEpoch)return true}return false})||(S=true);break}case "time-based":{let O=v.refreshInterval??0;if(O<=0){S=true;break}let E=h.completedAt;if(!E){S=true;break}(Date.now()-Date.parse(E))/1e3<O&&(S=true);break}case "manual":S=true;break}if(S)continue}let m=_(v);if(m.length===0){l.push(f);continue}let b=[],k=[],T=[];for(let y of m){if(u.has(y))continue;let S=o[y]||[];S.length===0?b.push(y):S.every(E=>I(r.tasks[E]))?T.push({token:y,failedProducer:S[0]}):k.push(y);}b.length>0?d.push({taskName:f,missingTokens:b}):T.length>0?c.push({taskName:f,failedTokens:T.map(y=>y.token),failedProducers:[...new Set(T.map(y=>y.failedProducer))]}):k.length>0?i.push({taskName:f,waitingOn:k}):l.push(f);}let g={};if(l.length>1){let f=ce(l,n);for(let[v,h]of Object.entries(f))h.length>1&&(g[v]=h);}return {eligible:l,pending:i,unresolved:d,blocked:c,conflicts:g}}function _e(e){let t={};for(let[r,n]of Object.entries(e)){for(let s of x(n))t[s]||(t[s]=[]),t[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)t[o]||(t[o]=[]),t[o].includes(r)||t[o].push(r);if(n.on_failure)for(let s of n.on_failure)t[s]||(t[s]=[]),t[s].includes(r)||t[s].push(r);}return t}function Oe(e){let{config:t,state:r}=e,n=A(t),s=Object.keys(n),o=0,a=0,u=0,l=0,i=0,d=0;for(let p of s){let m=r.tasks[p];if(!m||m.status===w.NOT_STARTED)i++;else switch(m.status){case w.RUNNING:o++;break;case w.COMPLETED:a++;break;case w.FAILED:u++;break;case "inactivated":d++;break;default:l++;}}let c={};for(let[p,m]of Object.entries(n)){for(let b of x(m))c[b]||(c[b]=[]),c[b].push(p);if(m.on)for(let b of Object.values(m.on))for(let k of b)c[k]||(c[k]=[]),c[k].includes(p)||c[k].push(p);if(m.on_failure)for(let b of m.on_failure)c[b]||(c[b]=[]),c[b].includes(p)||c[b].push(p);}let g=new Set,f=0,v=0;for(let[p,m]of Object.entries(n)){let b=r.tasks[p];if(b?.status===w.COMPLETED||b?.status===w.RUNNING)continue;let k=false,T=false;for(let y of _(m)){let S=c[y]||[];S.length===0?(g.add(y),k=true):S.every(E=>{let G=r.tasks[E];return G?.status===w.FAILED||G?.status==="inactivated"})&&(T=true);}k&&f++,T&&!k&&v++;}let h=[];for(let[p,m]of Object.entries(c))m.length>1&&h.push(p);let R=Ae(n,c),C=Ge(s,R);return {totalNodes:s.length,running:o,completed:a,failed:u,waiting:l,notStarted:i,disabled:d,unresolvedCount:f,blockedCount:v,openDependencies:[...g],cycles:C,conflictTokens:h}}function Ae(e,t){let r={};for(let[n,s]of Object.entries(e)){r[n]=new Set;for(let o of _(s))for(let a of t[o]||[])a!==n&&r[n].add(a);}return r}function Ge(e,t){let o={},a={},u=[];for(let i of e)o[i]=0,a[i]=null;function l(i){o[i]=1;for(let d of t[i]||[])if(o[d]===1){let c=[d],g=i;for(;g!==d;)c.push(g),g=a[g];c.push(d),c.reverse(),u.push(c);}else o[d]===0&&(a[d]=i,l(d));o[i]=2;}for(let i of e)o[i]===0&&l(i);return u}function ge(e){let t={};for(let[r,n]of Object.entries(e)){for(let s of x(n))t[s]||(t[s]=[]),t[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)t[o]||(t[o]=[]),t[o].includes(r)||t[o].push(r);if(n.on_failure)for(let s of n.on_failure)t[s]||(t[s]=[]),t[s].includes(r)||t[s].push(r);}return t}function ke(e){let{config:t,state:r}=e,n=A(t),s=ge(n),o=new Set([...r.availableOutputs]);for(let[c,g]of Object.entries(r.tasks))if(g.status==="completed"){let f=n[c];f&&x(f).forEach(v=>o.add(v));}let a=new Set;for(let c of Object.values(n))for(let g of _(c))a.add(g);let u=new Set,l=new Set;for(let c of a){if(o.has(c))continue;(s[c]||[]).length===0&&u.add(c);}let i=true;for(;i;){i=false;for(let[c,g]of Object.entries(n)){if(l.has(c))continue;let f=r.tasks[c];if(f?.status==="completed")continue;let v=I(f),R=_(g).some(C=>u.has(C));(v||R)&&(l.has(c)||(l.add(c),i=true));}for(let c of a){if(u.has(c)||o.has(c))continue;let g=s[c]||[],f=g.length>0&&g.every(v=>l.has(v)||I(r.tasks[v]));(g.length===0||f)&&(u.has(c)||(u.add(c),i=true));}}let d=[];for(let c of u){let g=s[c]||[],f;g.length===0?f="no-producer":f=g.every(h=>I(r.tasks[h]))?"all-producers-failed":"transitive",d.push({token:c,reason:f,producers:g});}return {tokens:d}}function Ne(e){let{config:t,state:r}=e,n=A(t),{tokens:s}=ke(e),o=new Set(s.map(u=>u.token)),a=[];for(let[u,l]of Object.entries(n)){let i=r.tasks[u];if(i?.status==="completed")continue;let c=_(l).filter(g=>o.has(g));c.length>0?a.push({nodeName:u,missingTokens:c}):I(i)&&a.push({nodeName:u,missingTokens:[]});}return {nodes:a}}function Ie(e,t){let r=A(e.config);if(!r[t])return {nodeName:t,nodes:[],tokens:[]};let n=ge(r),s=new Set,o=new Set,a=new Map;function u(i){let d=r[i];if(d)for(let c of _(d)){let g=n[c]||[];for(let f of g)f!==t&&(o.add(c),a.has(f)||a.set(f,new Set),a.get(f).add(c),s.has(f)||(s.add(f),u(f)));}}u(t);let l=[...a.entries()].map(([i,d])=>({nodeName:i,providesTokens:[...d]}));return {nodeName:t,nodes:l,tokens:[...o]}}function je(e,t){let r=A(e.config);if(!r[t])return {nodeName:t,nodes:[],tokens:[]};let n={};for(let[i,d]of Object.entries(r))for(let c of _(d))n[c]||(n[c]=[]),n[c].push(i);let s=new Set,o=new Set,a=new Map;function u(i){let d=r[i];if(d)for(let c of x(d)){let g=n[c]||[];for(let f of g)f!==t&&(o.add(c),a.has(f)||a.set(f,new Set),a.get(f).add(c),s.has(f)||(s.add(f),u(f)));}}u(t);let l=[...a.entries()].map(([i,d])=>({nodeName:i,requiresTokens:[...d]}));return {nodeName:t,nodes:l,tokens:[...o]}}var H=class{buffer=[];append(t){this.buffer.push(t);}drain(){let t=this.buffer;return this.buffer=[],t}get size(){return this.buffer.length}};function B(e){let t=ne(e);return He(t)}function ne(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return "["+e.map(ne).join(",")+"]";let t=e;return "{"+Object.keys(t).sort().map(n=>JSON.stringify(n)+":"+ne(t[n])).join(",")+"}"}function He(e){let t=0xcbf29ce484222325n,r=0x100000001b3n,n=0xffffffffffffffffn;for(let s=0;s<e.length;s++)t^=BigInt(e.charCodeAt(s)),t=t*r&n;return t.toString(16).padStart(16,"0")}function Le(e){if(typeof Buffer<"u")return Buffer.from(e,"utf8").toString("base64url");if(typeof btoa=="function"){let t=new TextEncoder().encode(e),r="";for(let n of t)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}throw new Error("No base64 encoder available in this runtime")}function De(e){if(typeof Buffer<"u")return Buffer.from(e,"base64url").toString("utf8");if(typeof atob=="function"){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=t+"=".repeat((4-t.length%4)%4),n=atob(r),s=new Uint8Array(n.length);for(let o=0;o<n.length;o++)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function me(e){let t=JSON.stringify({t:e,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return Le(t)}function Pe(e){try{let t=JSON.parse(De(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function re(e,t,r){let{handlers:n,onDrain:s}=t,o=new H,a="state"in e&&"config"in e?e:J(e,r),u=false,l=new Set,i=new Map(Object.entries(n)),d=new H,c=false,g=false;function f(){if(!u){if(c){g=true;return}c=true;try{do g=!1,v();while(g)}finally{c=false;}}}function v(){let p=d.drain(),m=o.drain(),b=[...p,...m];b.length>0&&(a=L(a,b));let k=V(a);b.length>0&&s?.(b,a,k);for(let T of k.eligible)C(T);for(let T of b)if(T.type==="task-progress"){let{taskName:y,update:S}=T;if(!a.config.tasks[y])continue;let E=a.state.tasks[y];if(!E||E.status!=="running")continue;let G=me(y),j=R(y,G,S).catch(N=>{u||(d.append({type:"task-failed",taskName:y,error:N.message??String(N),timestamp:new Date().toISOString()}),f());}).finally(()=>{l.delete(j);});l.add(j);}}function h(p){let b=a.config.tasks[p].requires??[],k=new Map;for(let[y,S]of Object.entries(a.config.tasks))for(let O of S.provides??[])k.set(O,y);let T={};for(let y of b){let S=k.get(y);S?T[y]=a.state.tasks[S]?.data:T[y]=void 0;}return T}async function R(p,m,b){let k=a.config.tasks[p],T=k.taskHandlers??[],y=h(p);for(let S of T){let O=i.get(S);if(!O)throw new Error(`Handler '${S}' not found in registry (task '${p}')`);let E={nodeId:p,state:y,taskState:a.state.tasks[p],config:k,callbackToken:m,update:b};if(await O(E)==="task-initiate-failure")throw new Error(`Handler '${S}' returned task-initiate-failure (task '${p}')`)}}function C(p){let b=a.config.tasks[p]?.taskHandlers;if(!b||b.length===0)return;d.append({type:"task-started",taskName:p,timestamp:new Date().toISOString()}),f();let k=me(p),T=R(p,k).catch(y=>{u||(d.append({type:"task-failed",taskName:p,error:y.message??String(y),timestamp:new Date().toISOString()}),f());}).finally(()=>{l.delete(T);});l.add(T);}return {push(p){u||(p.type==="task-completed"&&p.data&&!p.dataHash&&(p={...p,dataHash:B(p.data)}),o.append(p),f());},pushAll(p){if(!u){for(let m of p)m.type==="task-completed"&&m.data&&!m.dataHash?o.append({...m,dataHash:B(m.data)}):o.append(m);f();}},resolveCallback(p,m,b){if(u)return;let k=Pe(p);if(!k)return;let{taskName:T}=k;if(a.config.tasks[T]){if(b&&b.length>0)o.append({type:"task-failed",taskName:T,error:b.join("; "),timestamp:new Date().toISOString()});else {let y=m&&Object.keys(m).length>0?B(m):void 0;o.append({type:"task-completed",taskName:T,data:m,dataHash:y,timestamp:new Date().toISOString()});}f();}},addNode(p,m){u||(o.append({type:"task-upsert",taskName:p,taskConfig:m,timestamp:new Date().toISOString()}),f());},removeNode(p){u||(o.append({type:"task-removal",taskName:p,timestamp:new Date().toISOString()}),f());},addRequires(p,m){u||(o.append({type:"node-requires-add",nodeName:p,tokens:m,timestamp:new Date().toISOString()}),f());},removeRequires(p,m){u||(o.append({type:"node-requires-remove",nodeName:p,tokens:m,timestamp:new Date().toISOString()}),f());},addProvides(p,m){u||(o.append({type:"node-provides-add",nodeName:p,tokens:m,timestamp:new Date().toISOString()}),f());},removeProvides(p,m){u||(o.append({type:"node-provides-remove",nodeName:p,tokens:m,timestamp:new Date().toISOString()}),f());},registerHandler(p,m){i.set(p,m);},unregisterHandler(p){i.delete(p);},retrigger(p){u||a.config.tasks[p]&&(o.append({type:"task-restart",taskName:p,timestamp:new Date().toISOString()}),f());},retriggerAll(p){if(!u){for(let m of p)a.config.tasks[m]&&o.append({type:"task-restart",taskName:m,timestamp:new Date().toISOString()});f();}},snapshot(){return te(a)},getState(){return a},getSchedule(){return V(a)},async waitForHandlers(){l.size>0&&await Promise.allSettled([...l]);},async dispose(p){p?.wait&&l.size>0&&await Promise.allSettled([...l]),u=true;}}}function he(e){let t=[],{config:r,state:n}=e,s=A(r),o=Object.keys(s);for(let i of o)n.tasks[i]||t.push({severity:"error",code:"MISSING_STATE",message:`Task "${i}" exists in config but has no state entry`,tasks:[i]});for(let i of Object.keys(n.tasks))s[i]||t.push({severity:"warning",code:"ORPHAN_STATE",message:`State entry "${i}" has no corresponding task config`,tasks:[i]});for(let i of o){let d=n.tasks[i];d&&(d.status===w.RUNNING&&!d.startedAt&&t.push({severity:"warning",code:"RUNNING_WITHOUT_START",message:`Task "${i}" is running but has no startedAt timestamp`,tasks:[i]}),d.status===w.COMPLETED&&!d.completedAt&&t.push({severity:"warning",code:"COMPLETED_WITHOUT_TIMESTAMP",message:`Task "${i}" is completed but has no completedAt timestamp`,tasks:[i]}),d.status===w.FAILED&&(d.failedAt||t.push({severity:"warning",code:"FAILED_WITHOUT_INFO",message:`Task "${i}" is failed but has no failedAt timestamp`,tasks:[i]}),d.error||t.push({severity:"info",code:"FAILED_WITHOUT_INFO",message:`Task "${i}" is failed but has no error message`,tasks:[i]})));}let a=new Set;for(let i of o)if(n.tasks[i]?.status===w.COMPLETED)for(let c of x(s[i]))a.add(c);let u=new Set(n.availableOutputs),l=new Set;for(let i of Object.values(s)){for(let d of x(i))l.add(d);if(i.on)for(let d of Object.values(i.on))for(let c of d)l.add(c);if(i.on_failure)for(let d of i.on_failure)l.add(d);}for(let i of u)!a.has(i)&&!l.has(i)&&t.push({severity:"info",code:"INJECTED_TOKEN",message:`Token "${i}" is available but no task in the graph can produce it (likely injected)`,tokens:[i]});for(let i of a)u.has(i)||t.push({severity:"warning",code:"MISSING_OUTPUT",message:`Token "${i}" should be available (its producer completed) but is not in availableOutputs`,tokens:[i]});for(let i of o){let d=n.tasks[i];if(!d)continue;d.executionCount<0&&t.push({severity:"error",code:"INVALID_EXECUTION_COUNT",message:`Task "${i}" has negative execution count: ${d.executionCount}`,tasks:[i]});let c=s[i].maxExecutions;c!==void 0&&d.executionCount>c&&t.push({severity:"error",code:"EXCEEDED_MAX_EXECUTIONS",message:`Task "${i}" executed ${d.executionCount} times, exceeding maxExecutions of ${c}`,tasks:[i]});}return ve(t)}function Me(e){let{graph:t,handlers:r}=e,n=t.getState(),s=[],o=A(n.config),a=Object.keys(o),u=new Set(Object.keys(r)),l=new Set;for(let d of a){let c=o[d].taskHandlers;if(c)for(let g of c)l.add(g);}for(let d of a){let c=o[d].taskHandlers;if(c)for(let g of c)r[g]||s.push({severity:"error",code:"MISSING_HANDLER",message:`Task "${d}" references handler "${g}" but it is not in the registry`,tasks:[d]});}for(let d of u)l.has(d)||s.push({severity:"warning",code:"ORPHAN_HANDLER",message:`Handler "${d}" is registered but not referenced by any task's taskHandlers`,tasks:[d]});let i=he(n);return s.push(...i.issues),ve(s)}function ve(e){let t=e.filter(n=>n.severity==="error"),r=e.filter(n=>n.severity==="warning");return {valid:t.length===0,issues:e,errors:t,warnings:r}}function qe(e,t){let r=e;for(let n of t)r=Fe(r,n);return r}function Fe(e,t){switch(t.type){case "add-node":return P(e,t.name,t.config);case "remove-node":return M(e,t.name);case "add-requires":return q(e,t.taskName,t.tokens);case "remove-requires":return F(e,t.taskName,t.tokens);case "add-provides":return $(e,t.taskName,t.tokens);case "remove-provides":return U(e,t.taskName,t.tokens);case "inject-tokens":return X(e,t.tokens);case "drain-tokens":return z(e,t.tokens);case "reset-node":return Q(e,t.name);case "disable-node":return Z(e,t.name);case "enable-node":return ee(e,t.name);case "apply-events":return L(e,t.events);default:throw new Error(`Unknown mutation type: ${t.type}`)}}function Ke(e,t){return async r=>{let{callbackToken:n}=r;return Promise.resolve(e(r)).then(s=>t()(n,s)).catch(s=>t()(n,{},[s instanceof Error?s.message:String(s)])),"task-initiated"}}function Ve(e,t){return async r=>{let{callbackToken:n}=r;return Promise.resolve(e(r)).then(()=>t()(n,{})).catch(()=>t()(n,{})),"task-initiated"}}function Be(e){let{command:t,cwd:r,env:n,timeoutMs:s=3e4,exitCodeMap:o,captureOutput:a=false,getResolve:u}=e;return async l=>{let{callbackToken:i,nodeId:d}=l,c=t.replace(/\$\{taskName\}/g,d);return child_process.exec(c,{cwd:r,env:n?{...process.env,...n}:void 0,timeout:s,maxBuffer:10*1024*1024},(g,f,v)=>{let h=g?.code??(g?1:0);if(h!==0&&!o?.[h]){u()(i,{},[`Command exited with code ${h}: ${v||g?.message}`]);return}let R={};a&&(R.stdout=f,R.stderr=v,R.exitCode=h),u()(i,R);}),"task-initiated"}}function ye(e){let{command:t,args:r=[],cwd:n,env:s,timeoutMs:o=3e4,exitCodeMap:a,captureOutput:u=false,getResolve:l}=e;return async i=>{let{callbackToken:d,nodeId:c}=i,g=t.replace(/\$\{taskName\}/g,c),f=r.map(v=>v.replace(/\$\{taskName\}/g,c));return child_process.execFile(g,f,{cwd:n,env:s?{...process.env,...s}:void 0,timeout:o,maxBuffer:10*1024*1024,encoding:"utf8",windowsHide:true},(v,h,R)=>{let C=v?.code??(v?1:0);if(C!==0&&!a?.[C]){l()(d,{},[`Process exited with code ${C}: ${R||v?.message}`]);return}let p={};u&&(p.stdout=h,p.stderr=R,p.exitCode=C),l()(d,p);}),"task-initiated"}}function We(e){return e.endsWith(".js")||e.endsWith(".mjs")||e.endsWith(".ts")?"node":e.endsWith(".py")?"python3":(e.endsWith(".sh"),"bash")}function Je(e){let{scriptPath:t,runtime:r,args:n=[],cwd:s,timeoutMs:o=6e4,captureOutput:a=false,getResolve:u}=e,l=r??We(t),i=l==="node"?process.execPath:l;return ye({command:i,args:[t,"${taskName}",...n],cwd:s,timeoutMs:o,captureOutput:a,getResolve:u})}function Ye(e){let{url:t,method:r="POST",headers:n={},timeoutMs:s=3e4,failOnNon2xx:o=true,getResolve:a}=e;return async u=>{let{callbackToken:l,nodeId:i,config:d}=u,c=t.replace(/\$\{taskName\}/g,i),g=JSON.stringify({taskName:i,callbackToken:l,config:d}),f=new AbortController,v=setTimeout(()=>f.abort(),s);return fetch(c,{method:r,headers:{"Content-Type":"application/json",...n},body:g,signal:f.signal}).then(async h=>{if(clearTimeout(v),o&&!h.ok){let C=await h.text().catch(()=>"");a()(l,{},[`HTTP ${h.status}: ${C}`]);return}let R=await h.json().catch(()=>({}));a()(l,R);}).catch(h=>{clearTimeout(v),a()(l,{},[h instanceof Error?h.message:String(h)]);}),"task-initiated"}}function Xe(e,t){return async r=>(e()(r.callbackToken,t??{}),"task-initiated")}var Qe=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)));Qe("./jsonata-sync.cjs");var et=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href))),W=et("./jsonata-sync.cjs"),Se=W;function be(e,t){if(!t||!e)return;let r=t.split("."),n=e;for(let s=0;s<r.length;s++){if(n==null)return;n=n[r[s]];}return n}function Re(e,t,r){let n=t.split("."),s=e;for(let o=0;o<n.length-1;o++)(s[n[o]]==null||typeof s[n[o]]!="object")&&(s[n[o]]={}),s=s[n[o]];s[n[n.length-1]]=r;}async function tt(e,t){if(!e?.compute?.length)return e;e.card_data||(e.card_data={}),e.computed_values={},e._sourcesData=t?.sourcesData??{};let r=e.requires??{},n={card_data:e.card_data,requires:r,expects_data:r,fetched_sources:e._sourcesData,data:e.computed_values,computed_values:e.computed_values};for(let s of e.compute)try{let o=await W(s.expr).evaluate(n);Re(e.computed_values,s.bindTo,o),n.computed_values=e.computed_values;}catch(o){console.error(`CardCompute.run error on "${e.id??"?"}.${s.bindTo}":`,o);}return e}function nt(e,t){if(!e?.compute?.length)return {ok:true,node:e};e.card_data||(e.card_data={}),e.computed_values={},e._sourcesData=t?.sourcesData??{};let r=e.requires??{},n={card_data:e.card_data,requires:r,expects_data:r,fetched_sources:e._sourcesData,data:e.computed_values,computed_values:e.computed_values},s=[];for(let o of e.compute)try{let a=Se(o.expr).evaluate(n);Re(e.computed_values,o.bindTo,a),n.computed_values=e.computed_values;}catch(a){let u=a instanceof Error?a.message:String(a);s.push({bindTo:o.bindTo,error:u}),console.error(`CardCompute.runSync error on "${e.id??"?"}.${o.bindTo}":`,a);}return s.length>0?{ok:true,node:e,errors:s}:{ok:true,node:e}}async function rt(e,t,r){let n={...r??{},card_data:t.card_data??{},requires:t.requires??{},fetched_sources:t._sourcesData??{},computed_values:t.computed_values??{}};return W(e).evaluate(n)}function st(e,t){return t.startsWith("fetched_sources.")?be(e._sourcesData??{},t.slice(16)):be(e,t)}var Te=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),ot=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function at(e){let t=[];if(!e||typeof e!="object"||Array.isArray(e))return {ok:false,errors:["Node must be a non-null object"]};let r=e;(typeof r.id!="string"||!r.id)&&t.push("id: required, must be a non-empty string");for(let n of Object.keys(r))ot.has(n)||t.push(`Unknown top-level key: "${n}"`);if((r.card_data==null||typeof r.card_data!="object"||Array.isArray(r.card_data))&&t.push("card_data: required, must be an object"),r.meta!=null)if(typeof r.meta!="object"||Array.isArray(r.meta))t.push("meta: must be an object");else {let n=r.meta;n.title!=null&&typeof n.title!="string"&&t.push("meta.title: must be a string"),n.tags!=null&&!Array.isArray(n.tags)&&t.push("meta.tags: must be an array");}if(r.requires!=null&&!Array.isArray(r.requires)&&t.push("requires: must be an array of strings"),r.provides!=null&&(Array.isArray(r.provides)?r.provides.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))t.push(`provides[${s}]: must be an object with bindTo and ref`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&t.push(`provides[${s}]: missing required "bindTo" string`),(typeof o.ref!="string"||!o.ref)&&t.push(`provides[${s}]: missing required "ref" string`);}}):t.push("provides: must be an array of { bindTo, ref } bindings")),r.compute!=null&&(Array.isArray(r.compute)?r.compute.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))t.push(`compute[${s}]: must be a compute step object`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&t.push(`compute[${s}]: missing required "bindTo" property`),(typeof o.expr!="string"||!o.expr)&&t.push(`compute[${s}]: missing required "expr" string (JSONata expression)`);}}):t.push("compute: must be an array of compute steps")),r.source_defs!=null)if(!Array.isArray(r.source_defs))t.push("source_defs: must be an array");else {let n=new Set,s=new Set;r.source_defs.forEach((o,a)=>{if(!o||typeof o!="object"||Array.isArray(o))t.push(`source_defs[${a}]: must be an object`);else {let u=o;typeof u.bindTo!="string"||!u.bindTo?t.push(`source_defs[${a}]: missing required "bindTo" property`):(n.has(u.bindTo)&&t.push(`source_defs[${a}]: bindTo "${u.bindTo}" is not unique across source_defs`),n.add(u.bindTo)),typeof u.outputFile!="string"||!u.outputFile?t.push(`source_defs[${a}]: missing required "outputFile" property`):(s.has(u.outputFile)&&t.push(`source_defs[${a}]: outputFile "${u.outputFile}" is not unique across source_defs`),s.add(u.outputFile)),u.optionalForCompletionGating!=null&&typeof u.optionalForCompletionGating!="boolean"&&t.push(`source_defs[${a}]: optionalForCompletionGating must be a boolean`);}});}if(r.view!=null)if(typeof r.view!="object"||Array.isArray(r.view))t.push("view: must be an object");else {let n=r.view;!Array.isArray(n.elements)||n.elements.length===0?t.push("view.elements: required, must be a non-empty array"):n.elements.forEach((s,o)=>{if(!s||typeof s!="object"){t.push(`view.elements[${o}]: must be an object`);return}!s.kind||typeof s.kind!="string"?t.push(`view.elements[${o}].kind: required, must be a string`):Te.has(s.kind)||t.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...Te].join(", ")}`),s.data!=null&&(typeof s.data!="object"||Array.isArray(s.data))&&t.push(`view.elements[${o}].data: must be an object`);}),n.layout!=null&&(typeof n.layout!="object"||Array.isArray(n.layout))&&t.push("view.layout: must be an object"),n.features!=null&&(typeof n.features!="object"||Array.isArray(n.features))&&t.push("view.features: must be an object");}return {ok:t.length===0,errors:t}}async function it(e,t){if(!e||e.length===0)return [];let r={card_data:t.card_data??{},requires:t.requires??{}};return Promise.all(e.map(async n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=await W(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function ct(e,t){if(!e||e.length===0)return [];let r={card_data:t.card_data??{},requires:t.requires??{}};return e.map(n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=Se(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var se={run:tt,runSync:nt,eval:rt,resolve:st,validate:at,enrichSources:it,enrichSourcesSync:ct};function ut(e,t={}){let r,n={},s;if(!Array.isArray(e)&&"nodes"in e){let k=e;r=k.nodes,s=k.id,n=k.settings??{};}else r=e;let{sourceHandlers:o={},defaultSourceHandler:a,cardHandlers:u={},reactiveOptions:l={},graphSettings:i={},executionId:d}=t,c=new Map;for(let k of r){if(c.has(k.id))throw new Error(`Duplicate card ID: "${k.id}"`);c.set(k.id,k);}let g=t.sharedState??new Map,f={},v=new Set,h=new Map;for(let k of r)for(let T of k.provides??[{bindTo:k.id,ref:"card_data"}])v.add(T.bindTo),h.set(T.bindTo,k.id);for(let k of r){let T=k.requires??[];for(let y of T)if(!v.has(y))throw new Error(`Card "${k.id}" requires "${y}" but no card provides that token`);f[k.id]={requires:T.length>0?T:void 0,provides:(k.provides??[{bindTo:k.id,ref:"card_data"}]).map(y=>y.bindTo),taskHandlers:[k.id],description:k.meta?.title??k.id};}let R={id:s??`live-cards-${Date.now()}`,settings:{completion:"manual",execution_mode:"eligibility-mode",...n,...i},tasks:f},C={},p=null,m=()=>(k,T,y)=>{p.resolveCallback(k,T,y);};for(let k of r)k.source_defs&&k.source_defs.length>0?C[k.id]=dt(k,o,a,g,m):C[k.id]=pt(k,u,g,c,h,m);let b=re(R,{...l,handlers:C},d);return p=b,{graph:b,config:R,handlers:C,cards:c,sharedState:g}}function dt(e,t,r,n,s){if(t[e.id]){let o=t[e.id];return async a=>o(a)}if(r){let o=r(e);return async a=>o(a)}return async o=>{let a={...e.card_data};return n.set(e.id,a),s()(o.callbackToken,a),"task-initiated"}}function pt(e,t,r,n,s,o){if(t[e.id]){let a=t[e.id];return async u=>a(u)}return async a=>{let u={},l=e.requires??[];for(let g of l){let f=s.get(g)??g,v=r.get(f);v&&(u[g]=v[g]??v);}let i={id:e.id,card_data:{...e.card_data},requires:u,compute:e.compute};await se.run(i);let d;if(e.provides&&e.provides.length>0){d={};for(let{bindTo:g,ref:f}of e.provides)d[g]=se.resolve(i,f);}else d={...i.card_data,...i.computed_values};let c={...i.card_data,...i.computed_values};return r.set(e.id,c),o()(a.callbackToken,d),"task-initiated"}}
|
|
2
|
-
exports.MemoryJournal=H;exports.addNode=P;exports.addProvides
|
|
1
|
+
'use strict';var child_process=require('child_process'),module$1=require('module');require('ajv-formats');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;var w={NOT_STARTED:"not-started",RUNNING:"running",COMPLETED:"completed",FAILED:"failed",INACTIVATED:"inactivated"};function x(e){return e?Array.isArray(e.provides)?e.provides:[]:[]}function _(e){return e?Array.isArray(e.requires)?e.requires:[]:[]}function A(e){return e.tasks??{}}function I(e){return e?e.status===w.FAILED||e.status===w.INACTIVATED:false}function oe(e,t){return e.refreshStrategy??t?.refreshStrategy??"data-changed"}function ae(e){return e.maxExecutions}function ie(e,t){let r=new Set;for(let[n,s]of Object.entries(t))if(s.status===w.COMPLETED){let o=e.tasks[n];o&&x(o).forEach(u=>r.add(u));}return Array.from(r)}function ce(e,t){let r={};return e.forEach(n=>{let s=t[n];if(!s)return;x(s).forEach(a=>{r[a]||(r[a]=[]),r[a].push(n);});}),r}function ue(e,t,r){let n=e.tasks[t]??D(),s={};if(r){let a=r.tasks[t],u=_(a);for(let l of u)for(let[i,d]of Object.entries(r.tasks))if(x(d).includes(l)){let c=e.tasks[i];c?.lastDataHash&&(s[l]=c.lastDataHash);break}}let o={...n,status:"running",startedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),progress:0,error:void 0,startConsumedHashes:s};return {...e,tasks:{...e.tasks,[t]:o},lastUpdated:new Date().toISOString()}}function de(e,t,r,n,s,o){let a=e.tasks[r]??D(),u=t.tasks[r];if(!u)throw new Error(`Task "${r}" not found in graph`);let l;n&&u.on&&u.on[n]?l=u.on[n]:l=x(u);let i=a.startConsumedHashes?{...a.startConsumedHashes}:{...a.lastConsumedHashes};if(!a.startConsumedHashes){let g=u.requires??[];for(let f of g)for(let[v,h]of Object.entries(t.tasks))if(x(h).includes(f)){let R=e.tasks[v];R?.lastDataHash&&(i[f]=R.lastDataHash);break}}let d={...a,status:"completed",completedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),executionCount:a.executionCount+1,lastEpoch:a.executionCount+1,lastDataHash:s,data:o,lastConsumedHashes:i,error:void 0},c=[...new Set([...e.availableOutputs,...l])];return {...e,tasks:{...e.tasks,[r]:d},availableOutputs:c,lastUpdated:new Date().toISOString()}}function pe(e,t,r,n){let s=e.tasks[r]??D(),o=t.tasks[r];if(o?.retry){let l=s.retryCount+1;if(l<=o.retry.max_attempts){let i={...s,status:"not-started",retryCount:l,lastUpdated:new Date().toISOString(),error:n};return {...e,tasks:{...e.tasks,[r]:i},lastUpdated:new Date().toISOString()}}}let a={...s,status:"failed",failedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),error:n,executionCount:s.executionCount+1},u=e.availableOutputs;if(o?.on_failure&&o.on_failure.length>0&&(u=[...new Set([...e.availableOutputs,...o.on_failure])]),o?.circuit_breaker&&a.executionCount>=o.circuit_breaker.max_executions){let l=o.circuit_breaker.on_break;u=[...new Set([...u,...l])];}return {...e,tasks:{...e.tasks,[r]:a},availableOutputs:u,lastUpdated:new Date().toISOString()}}function fe(e,t,r,n){let s=e.tasks[t]??D(),o={...s,progress:typeof n=="number"?n:s.progress,messages:[...s.messages??[],...r?[{message:r,timestamp:new Date().toISOString(),status:s.status}]:[]],lastUpdated:new Date().toISOString()};return {...e,tasks:{...e.tasks,[t]:o},lastUpdated:new Date().toISOString()}}function le(e,t){let r=e.tasks[t];if(!r)return e;let n={...r,status:"not-started",startedAt:void 0,completedAt:void 0,failedAt:void 0,error:void 0,data:void 0,progress:null,lastUpdated:new Date().toISOString()};return {...e,tasks:{...e.tasks,[t]:n},lastUpdated:new Date().toISOString()}}function D(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function J(e,t){let r=t??`live-${Date.now()}`,n={};for(let o of Object.keys(e.tasks))n[o]=K();let s={status:"running",tasks:n,availableOutputs:[],stuckDetection:{is_stuck:false,stuck_description:null,outputs_unresolvable:[],tasks_blocked:[]},lastUpdated:new Date().toISOString(),executionId:r,executionConfig:{executionMode:e.settings.execution_mode??"eligibility-mode",conflictStrategy:e.settings.conflict_strategy??"alphabetical",completionStrategy:e.settings.completion}};return {config:e,state:s}}function Y(e,t){let{config:r,state:n}=e;if("executionId"in t&&t.executionId&&t.executionId!==n.executionId)return e;switch(t.type){case "task-started":return {config:r,state:ue(n,t.taskName,r)};case "task-completed":return {config:r,state:de(n,r,t.taskName,t.result,t.dataHash,t.data)};case "task-failed":return {config:r,state:pe(n,r,t.taskName,t.error)};case "task-progress":return {config:r,state:fe(n,t.taskName,t.message,t.progress)};case "task-restart":return {config:r,state:le(n,t.taskName)};case "inject-tokens":return {config:r,state:{...n,availableOutputs:[...new Set([...n.availableOutputs,...t.tokens])],lastUpdated:new Date().toISOString()}};case "agent-action":return {config:r,state:Ee(n,t.action)};case "task-upsert":return P(e,t.taskName,t.taskConfig);case "task-removal":return M(e,t.taskName);case "node-requires-add":return q(e,t.nodeName,t.tokens);case "node-requires-remove":return F(e,t.nodeName,t.tokens);case "node-provides-add":return U(e,t.nodeName,t.tokens);case "node-provides-remove":return $(e,t.nodeName,t.tokens);default:return e}}function L(e,t){return t.reduce((r,n)=>Y(r,n),e)}function P(e,t,r){let n=!!e.config.tasks[t];return {config:{...e.config,tasks:{...e.config.tasks,[t]:r}},state:{...e.state,tasks:{...e.state.tasks,[t]:n?e.state.tasks[t]:K()},lastUpdated:new Date().toISOString()}}}function M(e,t){if(!e.config.tasks[t])return e;let{[t]:r,...n}=e.config.tasks,{[t]:s,...o}=e.state.tasks;return {config:{...e.config,tasks:n},state:{...e.state,tasks:o,lastUpdated:new Date().toISOString()}}}function q(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=_(n),o=r.filter(a=>!s.includes(a));return o.length===0?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,requires:[...s,...o]}}},state:e.state}}function F(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=_(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,requires:o}}},state:e.state}}function U(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=x(n),o=r.filter(a=>!s.includes(a));return o.length===0?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,provides:[...s,...o]}}},state:e.state}}function $(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=x(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,provides:o}}},state:e.state}}function X(e,t){return Y(e,{type:"inject-tokens",tokens:t,timestamp:new Date().toISOString()})}function z(e,t){let r=new Set(t),n=e.state.availableOutputs.filter(s=>!r.has(s));return n.length===e.state.availableOutputs.length?e:{config:e.config,state:{...e.state,availableOutputs:n,lastUpdated:new Date().toISOString()}}}function Q(e,t){return !e.config.tasks[t]||!e.state.tasks[t]?e:{config:e.config,state:{...e.state,tasks:{...e.state.tasks,[t]:K()},lastUpdated:new Date().toISOString()}}}function Z(e,t){let r=e.state.tasks[t];return !r||r.status==="inactivated"?e:{config:e.config,state:{...e.state,tasks:{...e.state.tasks,[t]:{...r,status:"inactivated",lastUpdated:new Date().toISOString()}},lastUpdated:new Date().toISOString()}}}function ee(e,t){let r=e.state.tasks[t];return !r||r.status!=="inactivated"?e:{config:e.config,state:{...e.state,tasks:{...e.state.tasks,[t]:{...r,status:"not-started",lastUpdated:new Date().toISOString()}},lastUpdated:new Date().toISOString()}}}function xe(e,t){let r=e.config.tasks[t];if(!r)return;let n=e.state.tasks[t]??K();return {name:t,config:r,state:n}}function te(e){return {version:1,config:e.config,state:e.state,snapshotAt:new Date().toISOString()}}function Ce(e){if(!e||typeof e!="object")throw new Error("Invalid snapshot: expected an object");let t=e;if(!t.config||typeof t.config!="object")throw new Error('Invalid snapshot: missing or invalid "config"');if(!t.state||typeof t.state!="object")throw new Error('Invalid snapshot: missing or invalid "state"');let r=t.config,n=t.state;if(!r.settings||typeof r.settings!="object")throw new Error("Invalid snapshot: config.settings missing");if(!r.tasks||typeof r.tasks!="object")throw new Error("Invalid snapshot: config.tasks missing");if(!n.tasks||typeof n.tasks!="object")throw new Error("Invalid snapshot: state.tasks missing");if(!Array.isArray(n.availableOutputs))throw new Error("Invalid snapshot: state.availableOutputs must be an array");return {config:r,state:n}}function K(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function Ee(e,t){let r=new Date().toISOString();switch(t){case "stop":return {...e,status:"stopped",lastUpdated:r};case "pause":return {...e,status:"paused",lastUpdated:r};case "resume":return {...e,status:"running",lastUpdated:r};default:return e}}function V(e){let{config:t,state:r}=e,n=A(t);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=_e(n),a=ie(t,r.tasks),u=new Set([...a,...r.availableOutputs]),l=[],i=[],d=[],c=[];for(let[f,v]of Object.entries(n)){let h=r.tasks[f],R=oe(v,t.settings),C=R!=="once";if(h?.status===w.RUNNING||I(h))continue;let p=ae(v);if(p!==void 0&&h&&h.executionCount>=p||v.circuit_breaker&&h&&h.executionCount>=v.circuit_breaker.max_executions||!C&&h?.status===w.COMPLETED)continue;if(C&&h?.status===w.COMPLETED){let y=_(v),S=false;switch(R){case "data-changed":{y.length>0&&y.some(E=>{for(let[G,j]of Object.entries(n))if(x(j).includes(E)){let N=r.tasks[G];if(!N)continue;let we=h.lastConsumedHashes?.[E];return N.lastDataHash==null?N.executionCount>h.lastEpoch:N.lastDataHash!==we}return false})||(S=true);break}case "epoch-changed":{y.length>0&&y.some(E=>{for(let[G,j]of Object.entries(n))if(x(j).includes(E)){let N=r.tasks[G];if(N&&N.executionCount>h.lastEpoch)return true}return false})||(S=true);break}case "time-based":{let O=v.refreshInterval??0;if(O<=0){S=true;break}let E=h.completedAt;if(!E){S=true;break}(Date.now()-Date.parse(E))/1e3<O&&(S=true);break}case "manual":S=true;break}if(S)continue}let m=_(v);if(m.length===0){l.push(f);continue}let b=[],k=[],T=[];for(let y of m){if(u.has(y))continue;let S=o[y]||[];S.length===0?b.push(y):S.every(E=>I(r.tasks[E]))?T.push({token:y,failedProducer:S[0]}):k.push(y);}b.length>0?d.push({taskName:f,missingTokens:b}):T.length>0?c.push({taskName:f,failedTokens:T.map(y=>y.token),failedProducers:[...new Set(T.map(y=>y.failedProducer))]}):k.length>0?i.push({taskName:f,waitingOn:k}):l.push(f);}let g={};if(l.length>1){let f=ce(l,n);for(let[v,h]of Object.entries(f))h.length>1&&(g[v]=h);}return {eligible:l,pending:i,unresolved:d,blocked:c,conflicts:g}}function _e(e){let t={};for(let[r,n]of Object.entries(e)){for(let s of x(n))t[s]||(t[s]=[]),t[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)t[o]||(t[o]=[]),t[o].includes(r)||t[o].push(r);if(n.on_failure)for(let s of n.on_failure)t[s]||(t[s]=[]),t[s].includes(r)||t[s].push(r);}return t}function Oe(e){let{config:t,state:r}=e,n=A(t),s=Object.keys(n),o=0,a=0,u=0,l=0,i=0,d=0;for(let p of s){let m=r.tasks[p];if(!m||m.status===w.NOT_STARTED)i++;else switch(m.status){case w.RUNNING:o++;break;case w.COMPLETED:a++;break;case w.FAILED:u++;break;case "inactivated":d++;break;default:l++;}}let c={};for(let[p,m]of Object.entries(n)){for(let b of x(m))c[b]||(c[b]=[]),c[b].push(p);if(m.on)for(let b of Object.values(m.on))for(let k of b)c[k]||(c[k]=[]),c[k].includes(p)||c[k].push(p);if(m.on_failure)for(let b of m.on_failure)c[b]||(c[b]=[]),c[b].includes(p)||c[b].push(p);}let g=new Set,f=0,v=0;for(let[p,m]of Object.entries(n)){let b=r.tasks[p];if(b?.status===w.COMPLETED||b?.status===w.RUNNING)continue;let k=false,T=false;for(let y of _(m)){let S=c[y]||[];S.length===0?(g.add(y),k=true):S.every(E=>{let G=r.tasks[E];return G?.status===w.FAILED||G?.status==="inactivated"})&&(T=true);}k&&f++,T&&!k&&v++;}let h=[];for(let[p,m]of Object.entries(c))m.length>1&&h.push(p);let R=Ae(n,c),C=Ge(s,R);return {totalNodes:s.length,running:o,completed:a,failed:u,waiting:l,notStarted:i,disabled:d,unresolvedCount:f,blockedCount:v,openDependencies:[...g],cycles:C,conflictTokens:h}}function Ae(e,t){let r={};for(let[n,s]of Object.entries(e)){r[n]=new Set;for(let o of _(s))for(let a of t[o]||[])a!==n&&r[n].add(a);}return r}function Ge(e,t){let o={},a={},u=[];for(let i of e)o[i]=0,a[i]=null;function l(i){o[i]=1;for(let d of t[i]||[])if(o[d]===1){let c=[d],g=i;for(;g!==d;)c.push(g),g=a[g];c.push(d),c.reverse(),u.push(c);}else o[d]===0&&(a[d]=i,l(d));o[i]=2;}for(let i of e)o[i]===0&&l(i);return u}function ge(e){let t={};for(let[r,n]of Object.entries(e)){for(let s of x(n))t[s]||(t[s]=[]),t[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)t[o]||(t[o]=[]),t[o].includes(r)||t[o].push(r);if(n.on_failure)for(let s of n.on_failure)t[s]||(t[s]=[]),t[s].includes(r)||t[s].push(r);}return t}function ke(e){let{config:t,state:r}=e,n=A(t),s=ge(n),o=new Set([...r.availableOutputs]);for(let[c,g]of Object.entries(r.tasks))if(g.status==="completed"){let f=n[c];f&&x(f).forEach(v=>o.add(v));}let a=new Set;for(let c of Object.values(n))for(let g of _(c))a.add(g);let u=new Set,l=new Set;for(let c of a){if(o.has(c))continue;(s[c]||[]).length===0&&u.add(c);}let i=true;for(;i;){i=false;for(let[c,g]of Object.entries(n)){if(l.has(c))continue;let f=r.tasks[c];if(f?.status==="completed")continue;let v=I(f),R=_(g).some(C=>u.has(C));(v||R)&&(l.has(c)||(l.add(c),i=true));}for(let c of a){if(u.has(c)||o.has(c))continue;let g=s[c]||[],f=g.length>0&&g.every(v=>l.has(v)||I(r.tasks[v]));(g.length===0||f)&&(u.has(c)||(u.add(c),i=true));}}let d=[];for(let c of u){let g=s[c]||[],f;g.length===0?f="no-producer":f=g.every(h=>I(r.tasks[h]))?"all-producers-failed":"transitive",d.push({token:c,reason:f,producers:g});}return {tokens:d}}function Ne(e){let{config:t,state:r}=e,n=A(t),{tokens:s}=ke(e),o=new Set(s.map(u=>u.token)),a=[];for(let[u,l]of Object.entries(n)){let i=r.tasks[u];if(i?.status==="completed")continue;let c=_(l).filter(g=>o.has(g));c.length>0?a.push({nodeName:u,missingTokens:c}):I(i)&&a.push({nodeName:u,missingTokens:[]});}return {nodes:a}}function Ie(e,t){let r=A(e.config);if(!r[t])return {nodeName:t,nodes:[],tokens:[]};let n=ge(r),s=new Set,o=new Set,a=new Map;function u(i){let d=r[i];if(d)for(let c of _(d)){let g=n[c]||[];for(let f of g)f!==t&&(o.add(c),a.has(f)||a.set(f,new Set),a.get(f).add(c),s.has(f)||(s.add(f),u(f)));}}u(t);let l=[...a.entries()].map(([i,d])=>({nodeName:i,providesTokens:[...d]}));return {nodeName:t,nodes:l,tokens:[...o]}}function je(e,t){let r=A(e.config);if(!r[t])return {nodeName:t,nodes:[],tokens:[]};let n={};for(let[i,d]of Object.entries(r))for(let c of _(d))n[c]||(n[c]=[]),n[c].push(i);let s=new Set,o=new Set,a=new Map;function u(i){let d=r[i];if(d)for(let c of x(d)){let g=n[c]||[];for(let f of g)f!==t&&(o.add(c),a.has(f)||a.set(f,new Set),a.get(f).add(c),s.has(f)||(s.add(f),u(f)));}}u(t);let l=[...a.entries()].map(([i,d])=>({nodeName:i,requiresTokens:[...d]}));return {nodeName:t,nodes:l,tokens:[...o]}}var H=class{buffer=[];append(t){this.buffer.push(t);}drain(){let t=this.buffer;return this.buffer=[],t}get size(){return this.buffer.length}};function B(e){let t=ne(e);return He(t)}function ne(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return "["+e.map(ne).join(",")+"]";let t=e;return "{"+Object.keys(t).sort().map(n=>JSON.stringify(n)+":"+ne(t[n])).join(",")+"}"}function He(e){let t=0xcbf29ce484222325n,r=0x100000001b3n,n=0xffffffffffffffffn;for(let s=0;s<e.length;s++)t^=BigInt(e.charCodeAt(s)),t=t*r&n;return t.toString(16).padStart(16,"0")}function Le(e){if(typeof Buffer<"u")return Buffer.from(e,"utf8").toString("base64url");if(typeof btoa=="function"){let t=new TextEncoder().encode(e),r="";for(let n of t)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}throw new Error("No base64 encoder available in this runtime")}function De(e){if(typeof Buffer<"u")return Buffer.from(e,"base64url").toString("utf8");if(typeof atob=="function"){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=t+"=".repeat((4-t.length%4)%4),n=atob(r),s=new Uint8Array(n.length);for(let o=0;o<n.length;o++)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function me(e){let t=JSON.stringify({t:e,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return Le(t)}function Pe(e){try{let t=JSON.parse(De(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function re(e,t,r){let{handlers:n,onDrain:s}=t,o=new H,a="state"in e&&"config"in e?e:J(e,r),u=false,l=new Set,i=new Map(Object.entries(n)),d=new H,c=false,g=false;function f(){if(!u){if(c){g=true;return}c=true;try{do g=!1,v();while(g)}finally{c=false;}}}function v(){let p=d.drain(),m=o.drain(),b=[...p,...m];b.length>0&&(a=L(a,b));let k=V(a);b.length>0&&s?.(b,a,k);for(let T of k.eligible)C(T);for(let T of b)if(T.type==="task-progress"){let{taskName:y,update:S}=T;if(!a.config.tasks[y])continue;let E=a.state.tasks[y];if(!E||E.status!=="running")continue;let G=me(y),j=R(y,G,S).catch(N=>{u||(d.append({type:"task-failed",taskName:y,error:N.message??String(N),timestamp:new Date().toISOString()}),f());}).finally(()=>{l.delete(j);});l.add(j);}}function h(p){let b=a.config.tasks[p].requires??[],k=new Map;for(let[y,S]of Object.entries(a.config.tasks))for(let O of S.provides??[])k.set(O,y);let T={};for(let y of b){let S=k.get(y);S?T[y]=a.state.tasks[S]?.data:T[y]=void 0;}return T}async function R(p,m,b){let k=a.config.tasks[p],T=k.taskHandlers??[],y=h(p);for(let S of T){let O=i.get(S);if(!O)throw new Error(`Handler '${S}' not found in registry (task '${p}')`);let E={nodeId:p,state:y,taskState:a.state.tasks[p],config:k,callbackToken:m,update:b};if(await O(E)==="task-initiate-failure")throw new Error(`Handler '${S}' returned task-initiate-failure (task '${p}')`)}}function C(p){let b=a.config.tasks[p]?.taskHandlers;if(!b||b.length===0)return;d.append({type:"task-started",taskName:p,timestamp:new Date().toISOString()}),f();let k=me(p),T=R(p,k).catch(y=>{u||(d.append({type:"task-failed",taskName:p,error:y.message??String(y),timestamp:new Date().toISOString()}),f());}).finally(()=>{l.delete(T);});l.add(T);}return {push(p){u||(p.type==="task-completed"&&p.data&&!p.dataHash&&(p={...p,dataHash:B(p.data)}),o.append(p),f());},pushAll(p){if(!u){for(let m of p)m.type==="task-completed"&&m.data&&!m.dataHash?o.append({...m,dataHash:B(m.data)}):o.append(m);f();}},resolveCallback(p,m,b){if(u)return;let k=Pe(p);if(!k)return;let{taskName:T}=k;if(a.config.tasks[T]){if(b&&b.length>0)o.append({type:"task-failed",taskName:T,error:b.join("; "),timestamp:new Date().toISOString()});else {let y=m&&Object.keys(m).length>0?B(m):void 0;o.append({type:"task-completed",taskName:T,data:m,dataHash:y,timestamp:new Date().toISOString()});}f();}},addNode(p,m){u||(o.append({type:"task-upsert",taskName:p,taskConfig:m,timestamp:new Date().toISOString()}),f());},removeNode(p){u||(o.append({type:"task-removal",taskName:p,timestamp:new Date().toISOString()}),f());},addRequires(p,m){u||(o.append({type:"node-requires-add",nodeName:p,tokens:m,timestamp:new Date().toISOString()}),f());},removeRequires(p,m){u||(o.append({type:"node-requires-remove",nodeName:p,tokens:m,timestamp:new Date().toISOString()}),f());},addProvides(p,m){u||(o.append({type:"node-provides-add",nodeName:p,tokens:m,timestamp:new Date().toISOString()}),f());},removeProvides(p,m){u||(o.append({type:"node-provides-remove",nodeName:p,tokens:m,timestamp:new Date().toISOString()}),f());},registerHandler(p,m){i.set(p,m);},unregisterHandler(p){i.delete(p);},retrigger(p){u||a.config.tasks[p]&&(o.append({type:"task-restart",taskName:p,timestamp:new Date().toISOString()}),f());},retriggerAll(p){if(!u){for(let m of p)a.config.tasks[m]&&o.append({type:"task-restart",taskName:m,timestamp:new Date().toISOString()});f();}},snapshot(){return te(a)},getState(){return a},getSchedule(){return V(a)},async waitForHandlers(){l.size>0&&await Promise.allSettled([...l]);},async dispose(p){p?.wait&&l.size>0&&await Promise.allSettled([...l]),u=true;}}}function he(e){let t=[],{config:r,state:n}=e,s=A(r),o=Object.keys(s);for(let i of o)n.tasks[i]||t.push({severity:"error",code:"MISSING_STATE",message:`Task "${i}" exists in config but has no state entry`,tasks:[i]});for(let i of Object.keys(n.tasks))s[i]||t.push({severity:"warning",code:"ORPHAN_STATE",message:`State entry "${i}" has no corresponding task config`,tasks:[i]});for(let i of o){let d=n.tasks[i];d&&(d.status===w.RUNNING&&!d.startedAt&&t.push({severity:"warning",code:"RUNNING_WITHOUT_START",message:`Task "${i}" is running but has no startedAt timestamp`,tasks:[i]}),d.status===w.COMPLETED&&!d.completedAt&&t.push({severity:"warning",code:"COMPLETED_WITHOUT_TIMESTAMP",message:`Task "${i}" is completed but has no completedAt timestamp`,tasks:[i]}),d.status===w.FAILED&&(d.failedAt||t.push({severity:"warning",code:"FAILED_WITHOUT_INFO",message:`Task "${i}" is failed but has no failedAt timestamp`,tasks:[i]}),d.error||t.push({severity:"info",code:"FAILED_WITHOUT_INFO",message:`Task "${i}" is failed but has no error message`,tasks:[i]})));}let a=new Set;for(let i of o)if(n.tasks[i]?.status===w.COMPLETED)for(let c of x(s[i]))a.add(c);let u=new Set(n.availableOutputs),l=new Set;for(let i of Object.values(s)){for(let d of x(i))l.add(d);if(i.on)for(let d of Object.values(i.on))for(let c of d)l.add(c);if(i.on_failure)for(let d of i.on_failure)l.add(d);}for(let i of u)!a.has(i)&&!l.has(i)&&t.push({severity:"info",code:"INJECTED_TOKEN",message:`Token "${i}" is available but no task in the graph can produce it (likely injected)`,tokens:[i]});for(let i of a)u.has(i)||t.push({severity:"warning",code:"MISSING_OUTPUT",message:`Token "${i}" should be available (its producer completed) but is not in availableOutputs`,tokens:[i]});for(let i of o){let d=n.tasks[i];if(!d)continue;d.executionCount<0&&t.push({severity:"error",code:"INVALID_EXECUTION_COUNT",message:`Task "${i}" has negative execution count: ${d.executionCount}`,tasks:[i]});let c=s[i].maxExecutions;c!==void 0&&d.executionCount>c&&t.push({severity:"error",code:"EXCEEDED_MAX_EXECUTIONS",message:`Task "${i}" executed ${d.executionCount} times, exceeding maxExecutions of ${c}`,tasks:[i]});}return ve(t)}function Me(e){let{graph:t,handlers:r}=e,n=t.getState(),s=[],o=A(n.config),a=Object.keys(o),u=new Set(Object.keys(r)),l=new Set;for(let d of a){let c=o[d].taskHandlers;if(c)for(let g of c)l.add(g);}for(let d of a){let c=o[d].taskHandlers;if(c)for(let g of c)r[g]||s.push({severity:"error",code:"MISSING_HANDLER",message:`Task "${d}" references handler "${g}" but it is not in the registry`,tasks:[d]});}for(let d of u)l.has(d)||s.push({severity:"warning",code:"ORPHAN_HANDLER",message:`Handler "${d}" is registered but not referenced by any task's taskHandlers`,tasks:[d]});let i=he(n);return s.push(...i.issues),ve(s)}function ve(e){let t=e.filter(n=>n.severity==="error"),r=e.filter(n=>n.severity==="warning");return {valid:t.length===0,issues:e,errors:t,warnings:r}}function qe(e,t){let r=e;for(let n of t)r=Fe(r,n);return r}function Fe(e,t){switch(t.type){case "add-node":return P(e,t.name,t.config);case "remove-node":return M(e,t.name);case "add-requires":return q(e,t.taskName,t.tokens);case "remove-requires":return F(e,t.taskName,t.tokens);case "add-provides":return U(e,t.taskName,t.tokens);case "remove-provides":return $(e,t.taskName,t.tokens);case "inject-tokens":return X(e,t.tokens);case "drain-tokens":return z(e,t.tokens);case "reset-node":return Q(e,t.name);case "disable-node":return Z(e,t.name);case "enable-node":return ee(e,t.name);case "apply-events":return L(e,t.events);default:throw new Error(`Unknown mutation type: ${t.type}`)}}function Ke(e,t){return async r=>{let{callbackToken:n}=r;return Promise.resolve(e(r)).then(s=>t()(n,s)).catch(s=>t()(n,{},[s instanceof Error?s.message:String(s)])),"task-initiated"}}function Ve(e,t){return async r=>{let{callbackToken:n}=r;return Promise.resolve(e(r)).then(()=>t()(n,{})).catch(()=>t()(n,{})),"task-initiated"}}function Be(e){let{command:t,cwd:r,env:n,timeoutMs:s=3e4,exitCodeMap:o,captureOutput:a=false,getResolve:u}=e;return async l=>{let{callbackToken:i,nodeId:d}=l,c=t.replace(/\$\{taskName\}/g,d);return child_process.exec(c,{cwd:r,env:n?{...process.env,...n}:void 0,timeout:s,maxBuffer:10*1024*1024},(g,f,v)=>{let h=g?.code??(g?1:0);if(h!==0&&!o?.[h]){u()(i,{},[`Command exited with code ${h}: ${v||g?.message}`]);return}let R={};a&&(R.stdout=f,R.stderr=v,R.exitCode=h),u()(i,R);}),"task-initiated"}}function ye(e){let{command:t,args:r=[],cwd:n,env:s,timeoutMs:o=3e4,exitCodeMap:a,captureOutput:u=false,getResolve:l}=e;return async i=>{let{callbackToken:d,nodeId:c}=i,g=t.replace(/\$\{taskName\}/g,c),f=r.map(v=>v.replace(/\$\{taskName\}/g,c));return child_process.execFile(g,f,{cwd:n,env:s?{...process.env,...s}:void 0,timeout:o,maxBuffer:10*1024*1024,encoding:"utf8",windowsHide:true},(v,h,R)=>{let C=v?.code??(v?1:0);if(C!==0&&!a?.[C]){l()(d,{},[`Process exited with code ${C}: ${R||v?.message}`]);return}let p={};u&&(p.stdout=h,p.stderr=R,p.exitCode=C),l()(d,p);}),"task-initiated"}}function We(e){return e.endsWith(".js")||e.endsWith(".mjs")||e.endsWith(".ts")?"node":e.endsWith(".py")?"python3":(e.endsWith(".sh"),"bash")}function Je(e){let{scriptPath:t,runtime:r,args:n=[],cwd:s,timeoutMs:o=6e4,captureOutput:a=false,getResolve:u}=e,l=r??We(t),i=l==="node"?process.execPath:l;return ye({command:i,args:[t,"${taskName}",...n],cwd:s,timeoutMs:o,captureOutput:a,getResolve:u})}function Ye(e){let{url:t,method:r="POST",headers:n={},timeoutMs:s=3e4,failOnNon2xx:o=true,getResolve:a}=e;return async u=>{let{callbackToken:l,nodeId:i,config:d}=u,c=t.replace(/\$\{taskName\}/g,i),g=JSON.stringify({taskName:i,callbackToken:l,config:d}),f=new AbortController,v=setTimeout(()=>f.abort(),s);return fetch(c,{method:r,headers:{"Content-Type":"application/json",...n},body:g,signal:f.signal}).then(async h=>{if(clearTimeout(v),o&&!h.ok){let C=await h.text().catch(()=>"");a()(l,{},[`HTTP ${h.status}: ${C}`]);return}let R=await h.json().catch(()=>({}));a()(l,R);}).catch(h=>{clearTimeout(v),a()(l,{},[h instanceof Error?h.message:String(h)]);}),"task-initiated"}}function Xe(e,t){return async r=>(e()(r.callbackToken,t??{}),"task-initiated")}var Qe=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)));Qe("./jsonata-sync.cjs");var et=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href))),W=et("./jsonata-sync.cjs"),Se=W;function be(e,t){if(!t||!e)return;let r=t.split("."),n=e;for(let s=0;s<r.length;s++){if(n==null)return;n=n[r[s]];}return n}function Re(e,t,r){let n=t.split("."),s=e;for(let o=0;o<n.length-1;o++)(s[n[o]]==null||typeof s[n[o]]!="object")&&(s[n[o]]={}),s=s[n[o]];s[n[n.length-1]]=r;}async function tt(e,t){if(!e?.compute?.length)return e;e.card_data||(e.card_data={}),e.computed_values={},e._sourcesData=t?.sourcesData??{};let r=e.requires??{},n={card_data:e.card_data,requires:r,expects_data:r,fetched_sources:e._sourcesData,data:e.computed_values,computed_values:e.computed_values};for(let s of e.compute)try{let o=await W(s.expr).evaluate(n);Re(e.computed_values,s.bindTo,o),n.computed_values=e.computed_values;}catch{}return e}function nt(e,t){if(!e?.compute?.length)return {ok:true,node:e};e.card_data||(e.card_data={}),e.computed_values={},e._sourcesData=t?.sourcesData??{};let r=e.requires??{},n={card_data:e.card_data,requires:r,expects_data:r,fetched_sources:e._sourcesData,data:e.computed_values,computed_values:e.computed_values},s=[];for(let o of e.compute)try{let a=Se(o.expr).evaluate(n);Re(e.computed_values,o.bindTo,a),n.computed_values=e.computed_values;}catch(a){let u=a instanceof Error?a.message:String(a);s.push({bindTo:o.bindTo,error:u});}return s.length>0?{ok:true,node:e,errors:s}:{ok:true,node:e}}async function rt(e,t,r){let n={...r??{},card_data:t.card_data??{},requires:t.requires??{},fetched_sources:t._sourcesData??{},computed_values:t.computed_values??{}};return W(e).evaluate(n)}function st(e,t){return t.startsWith("fetched_sources.")?be(e._sourcesData??{},t.slice(16)):be(e,t)}var Te=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),ot=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function at(e){let t=[];if(!e||typeof e!="object"||Array.isArray(e))return {ok:false,errors:["Node must be a non-null object"]};let r=e;(typeof r.id!="string"||!r.id)&&t.push("id: required, must be a non-empty string");for(let n of Object.keys(r))ot.has(n)||t.push(`Unknown top-level key: "${n}"`);if((r.card_data==null||typeof r.card_data!="object"||Array.isArray(r.card_data))&&t.push("card_data: required, must be an object"),r.meta!=null)if(typeof r.meta!="object"||Array.isArray(r.meta))t.push("meta: must be an object");else {let n=r.meta;n.title!=null&&typeof n.title!="string"&&t.push("meta.title: must be a string"),n.tags!=null&&!Array.isArray(n.tags)&&t.push("meta.tags: must be an array");}if(r.requires!=null&&!Array.isArray(r.requires)&&t.push("requires: must be an array of strings"),r.provides!=null&&(Array.isArray(r.provides)?r.provides.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))t.push(`provides[${s}]: must be an object with bindTo and ref`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&t.push(`provides[${s}]: missing required "bindTo" string`),(typeof o.ref!="string"||!o.ref)&&t.push(`provides[${s}]: missing required "ref" string`);}}):t.push("provides: must be an array of { bindTo, ref } bindings")),r.compute!=null&&(Array.isArray(r.compute)?r.compute.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))t.push(`compute[${s}]: must be a compute step object`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&t.push(`compute[${s}]: missing required "bindTo" property`),(typeof o.expr!="string"||!o.expr)&&t.push(`compute[${s}]: missing required "expr" string (JSONata expression)`);}}):t.push("compute: must be an array of compute steps")),r.source_defs!=null)if(!Array.isArray(r.source_defs))t.push("source_defs: must be an array");else {let n=new Set,s=new Set;r.source_defs.forEach((o,a)=>{if(!o||typeof o!="object"||Array.isArray(o))t.push(`source_defs[${a}]: must be an object`);else {let u=o;typeof u.bindTo!="string"||!u.bindTo?t.push(`source_defs[${a}]: missing required "bindTo" property`):(n.has(u.bindTo)&&t.push(`source_defs[${a}]: bindTo "${u.bindTo}" is not unique across source_defs`),n.add(u.bindTo)),typeof u.outputFile!="string"||!u.outputFile?t.push(`source_defs[${a}]: missing required "outputFile" property`):(s.has(u.outputFile)&&t.push(`source_defs[${a}]: outputFile "${u.outputFile}" is not unique across source_defs`),s.add(u.outputFile)),u.optionalForCompletionGating!=null&&typeof u.optionalForCompletionGating!="boolean"&&t.push(`source_defs[${a}]: optionalForCompletionGating must be a boolean`);}});}if(r.view!=null)if(typeof r.view!="object"||Array.isArray(r.view))t.push("view: must be an object");else {let n=r.view;!Array.isArray(n.elements)||n.elements.length===0?t.push("view.elements: required, must be a non-empty array"):n.elements.forEach((s,o)=>{if(!s||typeof s!="object"){t.push(`view.elements[${o}]: must be an object`);return}!s.kind||typeof s.kind!="string"?t.push(`view.elements[${o}].kind: required, must be a string`):Te.has(s.kind)||t.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...Te].join(", ")}`),s.data!=null&&(typeof s.data!="object"||Array.isArray(s.data))&&t.push(`view.elements[${o}].data: must be an object`);}),n.layout!=null&&(typeof n.layout!="object"||Array.isArray(n.layout))&&t.push("view.layout: must be an object"),n.features!=null&&(typeof n.features!="object"||Array.isArray(n.features))&&t.push("view.features: must be an object");}return {ok:t.length===0,errors:t}}async function it(e,t){if(!e||e.length===0)return [];let r={card_data:t.card_data??{},requires:t.requires??{}};return Promise.all(e.map(async n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=await W(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function ct(e,t){if(!e||e.length===0)return [];let r={card_data:t.card_data??{},requires:t.requires??{}};return e.map(n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=Se(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var se={run:tt,runSync:nt,eval:rt,resolve:st,validate:at,enrichSources:it,enrichSourcesSync:ct};function ut(e,t={}){let r,n={},s;if(!Array.isArray(e)&&"nodes"in e){let k=e;r=k.nodes,s=k.id,n=k.settings??{};}else r=e;let{sourceHandlers:o={},defaultSourceHandler:a,cardHandlers:u={},reactiveOptions:l={},graphSettings:i={},executionId:d}=t,c=new Map;for(let k of r){if(c.has(k.id))throw new Error(`Duplicate card ID: "${k.id}"`);c.set(k.id,k);}let g=t.sharedState??new Map,f={},v=new Set,h=new Map;for(let k of r)for(let T of k.provides??[{bindTo:k.id,ref:"card_data"}])v.add(T.bindTo),h.set(T.bindTo,k.id);for(let k of r){let T=k.requires??[];for(let y of T)if(!v.has(y))throw new Error(`Card "${k.id}" requires "${y}" but no card provides that token`);f[k.id]={requires:T.length>0?T:void 0,provides:(k.provides??[{bindTo:k.id,ref:"card_data"}]).map(y=>y.bindTo),taskHandlers:[k.id],description:k.meta?.title??k.id};}let R={id:s??`live-cards-${Date.now()}`,settings:{completion:"manual",execution_mode:"eligibility-mode",...n,...i},tasks:f},C={},p=null,m=()=>(k,T,y)=>{p.resolveCallback(k,T,y);};for(let k of r)k.source_defs&&k.source_defs.length>0?C[k.id]=dt(k,o,a,g,m):C[k.id]=pt(k,u,g,c,h,m);let b=re(R,{...l,handlers:C},d);return p=b,{graph:b,config:R,handlers:C,cards:c,sharedState:g}}function dt(e,t,r,n,s){if(t[e.id]){let o=t[e.id];return async a=>o(a)}if(r){let o=r(e);return async a=>o(a)}return async o=>{let a={...e.card_data};return n.set(e.id,a),s()(o.callbackToken,a),"task-initiated"}}function pt(e,t,r,n,s,o){if(t[e.id]){let a=t[e.id];return async u=>a(u)}return async a=>{let u={},l=e.requires??[];for(let g of l){let f=s.get(g)??g,v=r.get(f);v&&(u[g]=v[g]??v);}let i={id:e.id,card_data:{...e.card_data},requires:u,compute:e.compute};await se.run(i);let d;if(e.provides&&e.provides.length>0){d={};for(let{bindTo:g,ref:f}of e.provides)d[g]=se.resolve(i,f);}else d={...i.card_data,...i.computed_values};let c={...i.card_data,...i.computed_values};return r.set(e.id,c),o()(a.callbackToken,d),"task-initiated"}}
|
|
2
|
+
exports.MemoryJournal=H;exports.addNode=P;exports.addProvides=U;exports.addRequires=q;exports.applyEvent=Y;exports.applyEvents=L;exports.computeDataHash=B;exports.createCallbackHandler=Ke;exports.createFireAndForgetHandler=Ve;exports.createLiveGraph=J;exports.createNoopHandler=Xe;exports.createProcessHandler=ye;exports.createReactiveGraph=re;exports.createScriptHandler=Je;exports.createShellHandler=Be;exports.createWebhookHandler=Ye;exports.disableNode=Z;exports.drainTokens=z;exports.enableNode=ee;exports.getDownstream=je;exports.getNode=xe;exports.getUnreachableNodes=Ne;exports.getUnreachableTokens=ke;exports.getUpstream=Ie;exports.injectTokens=X;exports.inspect=Oe;exports.liveCardsToReactiveGraph=ut;exports.mutateGraph=qe;exports.removeNode=M;exports.removeProvides=$;exports.removeRequires=F;exports.resetNode=Q;exports.restore=Ce;exports.schedule=V;exports.snapshot=te;exports.validateLiveGraph=he;exports.validateReactiveGraph=Me;//# sourceMappingURL=index.cjs.map
|
|
3
3
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { B as BlockedTask, P as PendingTask, S as ScheduleResult,
|
|
1
|
+
import { d as LiveGraph, N as NodeInfo, f as LiveGraphSnapshot, D as DownstreamResult, U as UnreachableNodesResult, j as UnreachableTokensResult, l as UpstreamResult, e as LiveGraphHealth, R as ReactiveGraph, h as TaskHandlerInput, T as TaskHandlerFn } from '../live-cards-bridge-b25aAVvE.cjs';
|
|
2
|
+
export { B as BlockedTask, L as LiveBoard, a as LiveCard, b as LiveCardsToReactiveOptions, c as LiveCardsToReactiveResult, P as PendingTask, g as ReactiveGraphOptions, S as ScheduleResult, i as TaskHandlerReturn, k as UnresolvedDependency, o as computeDataHash, m as createReactiveGraph, n as liveCardsToReactiveGraph, s as schedule } from '../live-cards-bridge-b25aAVvE.cjs';
|
|
3
3
|
import { T as TaskConfig, f as GraphEvent, G as GraphConfig } from '../types-BBhqYGhE.cjs';
|
|
4
4
|
export { c as ExecutionState, e as GraphEngineStore, g as GraphSettings } from '../types-BBhqYGhE.cjs';
|
|
5
|
-
import { R as ReactiveGraph, e as TaskHandlerInput, T as TaskHandlerFn } from '../live-cards-bridge-BXbVTsna.cjs';
|
|
6
|
-
export { L as LiveBoard, a as LiveCard, b as LiveCardsToReactiveOptions, c as LiveCardsToReactiveResult, d as ReactiveGraphOptions, f as TaskHandlerReturn, h as computeDataHash, g as createReactiveGraph, l as liveCardsToReactiveGraph, s as schedule } from '../live-cards-bridge-BXbVTsna.cjs';
|
|
7
5
|
import { a as GraphValidationResult } from '../validate-Dbu7ygys.cjs';
|
|
8
6
|
|
|
9
7
|
/**
|
|
@@ -438,7 +436,7 @@ interface ProcessHandlerOptions extends CommandSpec {
|
|
|
438
436
|
* command and each arg string.
|
|
439
437
|
*
|
|
440
438
|
* Prefer this over createShellHandler for all programmatic invocations
|
|
441
|
-
* (task-executors, source fetchers
|
|
439
|
+
* (task-executors, source fetchers).
|
|
442
440
|
*
|
|
443
441
|
* @example
|
|
444
442
|
* ```ts
|