yaml-flow 7.0.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/asset-integrity.json +8 -4
- package/browser/board-livecards-client.js +1 -1
- package/browser/board-livecards-localstorage.js +5 -5
- package/browser/live-cards.js +19 -3307
- 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/cli/browser-api/board-live-cards-browser-adapter.js +3 -0
- 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-C_A6WCiK.d.ts +284 -0
- package/cli/node/artifacts-store-cli.js +11 -0
- package/cli/node/batch-runner-cli.js +3 -0
- package/cli/node/board-live-cards-cli.js +15 -0
- package/cli/node/card-store-cli.js +8 -0
- package/{dist/cli → cli}/node/execution-adapter.d.ts +3 -3
- 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/{dist/cli → cli}/node/source-cli-task-executor.js +2 -2
- 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-CW5074xr.d.cts → cli/types-CziUxkiv.d.ts} +69 -7
- package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/card-store-ref.json +1 -0
- package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/chat-handler.json +1 -0
- package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/outputs-store-ref.json +1 -0
- package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/task-executor.json +1 -0
- package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.state-snapshot/board/graph.json +29 -0
- package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.state-snapshot/board/lastJournalProcessedId.json +1 -0
- package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime-out/.outputs/status.json +25 -0
- package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/cards/card-market-prices/computed_values.json +67 -0
- package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/cards/card-portfolio/computed_values.json +1 -0
- package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/cards/card-portfolio-value/computed_values.json +52 -0
- package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/data-objects/holdings.json +22 -0
- package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/data-objects/positions.json +46 -0
- package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/data-objects/quotes.json +35 -0
- package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/status.json +113 -0
- package/examples/{example-board/cards/card-market-prices.json → board/cards/cardT-market-prices.json} +2 -2
- package/examples/{example-board/cards/card-portfolio.json → board/cards/cardT-portfolio.json} +3 -13
- package/examples/{example-board → board}/demo-server-config.json +0 -1
- package/examples/{example-board → board}/demo-server.js +70 -72
- package/examples/{example-board → board}/demo-shell-with-server.html +3 -3
- package/examples/{example-board → board}/demo-task-executor.js +75 -32
- 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/{dist/cli/node/execution-adapter.d.cts → lib/board-live-cards-node.d.cts} +45 -85
- package/lib/board-live-cards-node.d.ts +134 -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-hnZo0mAf.d.ts → lib/board-live-cards-public-CsmYrvpd.d.ts} +142 -77
- 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/lib/board-worker-adapter.cjs +10 -0
- package/{dist/storage-refs.d.cts → lib/board-worker-adapter.d.cts} +5 -5
- package/{dist/storage-refs.d.ts → lib/board-worker-adapter.d.ts} +5 -5
- package/lib/board-worker-adapter.js +10 -0
- 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 +38 -14
- package/{dist → lib}/execution-refs.d.ts +38 -14
- 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 +21 -1
- package/{dist → lib}/step-machine-public/index.d.ts +21 -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-B1ZRa4aI.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-BxEFcVK9.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 +0 -3
- 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 +0 -11
- 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 +0 -8
- 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.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 -2
- package/dist/step-machine-public/index.cjs.map +0 -1
- package/dist/step-machine-public/index.js +0 -2
- package/dist/step-machine-public/index.js.map +0 -1
- package/dist/storage-refs.cjs +0 -10
- package/dist/storage-refs.cjs.map +0 -1
- package/dist/storage-refs.js +0 -10
- 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 -357
- 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/cards/_index.json +0 -47
- 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/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/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/cards/card-portfolio-value.json → board/cards/cardT-portfolio-value.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
package/lib/index.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import zh from'ajv-formats';import {exec,execFile}from'child_process';import {createRequire}from'module';var dd=Object.create;var ra=Object.defineProperty;var ld=Object.getOwnPropertyDescriptor;var pd=Object.getOwnPropertyNames;var fd=Object.getPrototypeOf,md=Object.prototype.hasOwnProperty;var b=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var hd=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of pd(e))!md.call(t,s)&&s!==r&&ra(t,s,{get:()=>e[s],enumerable:!(n=ld(e,s))||n.enumerable});return t};var lr=(t,e,r)=>(r=t!=null?dd(fd(t)):{},hd(ra(r,"default",{value:t,enumerable:true}),t));var $t=b(M=>{Object.defineProperty(M,"__esModule",{value:true});M.regexpCode=M.getEsmExportName=M.getProperty=M.safeStringify=M.stringify=M.strConcat=M.addCodeArg=M.str=M._=M.nil=M._Code=M.Name=M.IDENTIFIER=M._CodeOrName=void 0;var St=class{};M._CodeOrName=St;M.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Me=class extends St{constructor(e){if(super(),!M.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}}};M.Name=Me;var de=class extends St{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,n)=>`${r}${n}`,"")}get names(){var e;return (e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Me&&(r[n.str]=(r[n.str]||0)+1),r),{})}};M._Code=de;M.nil=new de("");function oa(t,...e){let r=[t[0]],n=0;for(;n<e.length;)En(r,e[n]),r.push(t[++n]);return new de(r)}M._=oa;var Tn=new de("+");function aa(t,...e){let r=[wt(t[0])],n=0;for(;n<e.length;)r.push(Tn),En(r,e[n]),r.push(Tn,wt(t[++n]));return kd(r),new de(r)}M.str=aa;function En(t,e){e instanceof de?t.push(...e._items):e instanceof Me?t.push(e):t.push(wd(e));}M.addCodeArg=En;function kd(t){let e=1;for(;e<t.length-1;){if(t[e]===Tn){let r=bd(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+";}e++;}}function bd(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Me||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 Me))return `"${t}${e.slice(1)}`}function Sd(t,e){return e.emptyStr()?t:t.emptyStr()?e:aa`${t}${e}`}M.strConcat=Sd;function wd(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:wt(Array.isArray(t)?t.join(","):t)}function $d(t){return new de(wt(t))}M.stringify=$d;function wt(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}M.safeStringify=wt;function Rd(t){return typeof t=="string"&&M.IDENTIFIER.test(t)?new de(`.${t}`):oa`[${t}]`}M.getProperty=Rd;function Td(t){if(typeof t=="string"&&M.IDENTIFIER.test(t))return new de(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}M.getEsmExportName=Td;function Ed(t){return new de(t.toString())}M.regexpCode=Ed;});var jn=b(ae=>{Object.defineProperty(ae,"__esModule",{value:true});ae.ValueScope=ae.ValueScopeName=ae.Scope=ae.varKinds=ae.UsedValueState=void 0;var oe=$t(),Cn=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value;}},yr;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed";})(yr||(ae.UsedValueState=yr={}));ae.varKinds={const:new oe.Name("const"),let:new oe.Name("let"),var:new oe.Name("var")};var vr=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r;}toName(e){return e instanceof oe.Name?e:this.name(e)}name(e){return new oe.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return `${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.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}}};ae.Scope=vr;var _r=class extends oe.Name{constructor(e,r){super(r),this.prefix=e;}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0, oe._)`.${new oe.Name(r)}[${n}]`;}};ae.ValueScopeName=_r;var Cd=(0, oe._)`\n`,xn=class extends vr{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?Cd:oe.nil};}get(){return this._scope}name(e){return new _r(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:o}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,i=this._values[o];if(i){let l=i.get(a);if(l)return l}else i=this._values[o]=new Map;i.set(a,s);let c=this._scope[o]||(this._scope[o]=[]),u=c.length;return c[u]=r.ref,s.setValue(r,{property:o,itemIndex:u}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return (0, oe._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let o=oe.nil;for(let a in e){let i=e[a];if(!i)continue;let c=n[a]=n[a]||new Map;i.forEach(u=>{if(c.has(u))return;c.set(u,yr.Started);let l=r(u);if(l){let d=this.opts.es5?ae.varKinds.var:ae.varKinds.const;o=(0, oe._)`${o}${d} ${u} = ${l};${this.opts._n}`;}else if(l=s?.(u))o=(0, oe._)`${o}${l}${this.opts._n}`;else throw new Cn(u);c.set(u,yr.Completed);});}return o}};ae.ValueScope=xn;});var x=b(A=>{Object.defineProperty(A,"__esModule",{value:true});A.or=A.and=A.not=A.CodeGen=A.operators=A.varKinds=A.ValueScopeName=A.ValueScope=A.Scope=A.Name=A.regexpCode=A.stringify=A.getProperty=A.nil=A.strConcat=A.str=A._=void 0;var I=$t(),he=jn(),Ce=$t();Object.defineProperty(A,"_",{enumerable:true,get:function(){return Ce._}});Object.defineProperty(A,"str",{enumerable:true,get:function(){return Ce.str}});Object.defineProperty(A,"strConcat",{enumerable:true,get:function(){return Ce.strConcat}});Object.defineProperty(A,"nil",{enumerable:true,get:function(){return Ce.nil}});Object.defineProperty(A,"getProperty",{enumerable:true,get:function(){return Ce.getProperty}});Object.defineProperty(A,"stringify",{enumerable:true,get:function(){return Ce.stringify}});Object.defineProperty(A,"regexpCode",{enumerable:true,get:function(){return Ce.regexpCode}});Object.defineProperty(A,"Name",{enumerable:true,get:function(){return Ce.Name}});var wr=jn();Object.defineProperty(A,"Scope",{enumerable:true,get:function(){return wr.Scope}});Object.defineProperty(A,"ValueScope",{enumerable:true,get:function(){return wr.ValueScope}});Object.defineProperty(A,"ValueScopeName",{enumerable:true,get:function(){return wr.ValueScopeName}});Object.defineProperty(A,"varKinds",{enumerable:true,get:function(){return wr.varKinds}});A.operators={GT:new I._Code(">"),GTE:new I._Code(">="),LT:new I._Code("<"),LTE:new I._Code("<="),EQ:new I._Code("==="),NEQ:new I._Code("!=="),NOT:new I._Code("!"),OR:new I._Code("||"),AND:new I._Code("&&"),ADD:new I._Code("+")};var $e=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Pn=class extends $e{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n;}render({es5:e,_n:r}){let n=e?he.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return `${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=et(this.rhs,e,r)),this}get names(){return this.rhs instanceof I._CodeOrName?this.rhs.names:{}}},kr=class extends $e{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n;}render({_n:e}){return `${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof I.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=et(this.rhs,e,r),this}get names(){let e=this.lhs instanceof I.Name?{}:{...this.lhs.names};return Sr(e,this.rhs)}},On=class extends kr{constructor(e,r,n,s){super(e,n,s),this.op=r;}render({_n:e}){return `${this.lhs} ${this.op}= ${this.rhs};`+e}},An=class extends $e{constructor(e){super(),this.label=e,this.names={};}render({_n:e}){return `${this.label}:`+e}},Nn=class extends $e{constructor(e){super(),this.label=e,this.names={};}render({_n:e}){return `break${this.label?` ${this.label}`:""};`+e}},qn=class extends $e{constructor(e){super(),this.error=e;}render({_n:e}){return `throw ${this.error};`+e}get names(){return this.error.names}},In=class extends $e{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=et(this.code,e,r),this}get names(){return this.code instanceof I._CodeOrName?this.code.names:{}}},Rt=class extends $e{constructor(e=[]){super(),this.nodes=e;}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1);}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let o=n[s];o.optimizeNames(e,r)||(xd(e,o.names),n.splice(s,1));}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Fe(e,r.names),{})}},Re=class extends Rt{render(e){return "{"+e._n+super.render(e)+"}"+e._n}},Dn=class extends Rt{},Ze=class extends Re{};Ze.kind="else";var Ge=class t extends Re{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 n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Ze(n):n;}if(r)return e===false?r instanceof t?r:r.nodes:this.nodes.length?this:new t(ia(e),r instanceof t?[r]:r.nodes);if(!(e===false||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=et(this.condition,e,r),this}get names(){let e=super.names;return Sr(e,this.condition),this.else&&Fe(e,this.else.names),e}};Ge.kind="if";var Le=class extends Re{};Le.kind="for";var Mn=class extends Le{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=et(this.iteration,e,r),this}get names(){return Fe(super.names,this.iteration.names)}},Gn=class extends Le{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s;}render(e){let r=e.es5?he.varKinds.var:this.varKind,{name:n,from:s,to:o}=this;return `for(${r} ${n}=${s}; ${n}<${o}; ${n}++)`+super.render(e)}get names(){let e=Sr(super.names,this.from);return Sr(e,this.to)}},br=class extends Le{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s;}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=et(this.iterable,e,r),this}get names(){return Fe(super.names,this.iterable.names)}},Tt=class extends Re{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n;}render(e){return `${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Tt.kind="func";var Et=class extends Rt{render(e){return "return "+super.render(e)}};Et.kind="return";var Ln=class extends Re{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 n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Fe(e,this.catch.names),this.finally&&Fe(e,this.finally.names),e}},Ct=class extends Re{constructor(e){super(),this.error=e;}render(e){return `catch(${this.error})`+super.render(e)}};Ct.kind="catch";var xt=class extends Re{render(e){return "finally"+super.render(e)}};xt.kind="finally";var Fn=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
2
|
+
`:""},this._extScope=e,this._scope=new he.Scope({parent:e}),this._nodes=[new Dn];}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 n=this._extScope.value(e,r);return (this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}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,n,s){let o=this._scope.toName(r);return n!==void 0&&s&&(this._constants[o.str]=n),this._leafNode(new Pn(e,o,n)),o}const(e,r,n){return this._def(he.varKinds.const,e,r,n)}let(e,r,n){return this._def(he.varKinds.let,e,r,n)}var(e,r,n){return this._def(he.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new kr(e,r,n))}add(e,r){return this._leafNode(new On(e,A.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==I.nil&&this._leafNode(new In(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0, I.addCodeArg)(r,s));return r.push("}"),new I._Code(r)}if(e,r,n){if(this._blockNode(new Ge(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new Ge(e))}else(){return this._elseNode(new Ze)}endIf(){return this._endBlockNode(Ge,Ze)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Mn(e),r)}forRange(e,r,n,s,o=this.opts.es5?he.varKinds.var:he.varKinds.let){let a=this._scope.toName(e);return this._for(new Gn(o,a,r,n),()=>s(a))}forOf(e,r,n,s=he.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let a=r instanceof I.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0, I._)`${a}.length`,i=>{this.var(o,(0, I._)`${a}[${i}]`),n(o);})}return this._for(new br("of",s,o,r),()=>n(o))}forIn(e,r,n,s=this.opts.es5?he.varKinds.var:he.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0, I._)`Object.keys(${r})`,n);let o=this._scope.toName(e);return this._for(new br("in",s,o,r),()=>n(o))}endFor(){return this._endBlockNode(Le)}label(e){return this._leafNode(new An(e))}break(e){return this._leafNode(new Nn(e))}return(e){let r=new Et;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Et)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new Ln;if(this._blockNode(s),this.code(e),r){let o=this.name("e");this._currNode=s.catch=new Ct(o),r(o);}return n&&(this._currNode=s.finally=new xt,this.code(n)),this._endBlockNode(Ct,xt)}throw(e){return this._leafNode(new qn(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 n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=I.nil,n,s){return this._blockNode(new Tt(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(Tt)}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 n=this._currNode;if(n instanceof e||r&&n 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 Ge))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;}};A.CodeGen=Fn;function Fe(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Sr(t,e){return e instanceof I._CodeOrName?Fe(t,e.names):t}function et(t,e,r){if(t instanceof I.Name)return n(t);if(!s(t))return t;return new I._Code(t._items.reduce((o,a)=>(a instanceof I.Name&&(a=n(a)),a instanceof I._Code?o.push(...a._items):o.push(a),o),[]));function n(o){let a=r[o.str];return a===void 0||e[o.str]!==1?o:(delete e[o.str],a)}function s(o){return o instanceof I._Code&&o._items.some(a=>a instanceof I.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function xd(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0);}function ia(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0, I._)`!${Hn(t)}`}A.not=ia;var jd=ca(A.operators.AND);function Pd(...t){return t.reduce(jd)}A.and=Pd;var Od=ca(A.operators.OR);function Ad(...t){return t.reduce(Od)}A.or=Ad;function ca(t){return (e,r)=>e===I.nil?r:r===I.nil?e:(0, I._)`${Hn(e)} ${t} ${Hn(r)}`}function Hn(t){return t instanceof I.Name?t:(0, I._)`(${t})`}});var q=b(N=>{Object.defineProperty(N,"__esModule",{value:true});N.checkStrictMode=N.getErrorPath=N.Type=N.useFunc=N.setEvaluated=N.evaluatedPropsToName=N.mergeEvaluated=N.eachItem=N.unescapeJsonPointer=N.escapeJsonPointer=N.escapeFragment=N.unescapeFragment=N.schemaRefOrVal=N.schemaHasRulesButRef=N.schemaHasRules=N.checkUnknownRules=N.alwaysValidSchema=N.toHash=void 0;var H=x(),Nd=$t();function qd(t){let e={};for(let r of t)e[r]=true;return e}N.toHash=qd;function Id(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?true:(la(t,e),!pa(e,t.self.RULES.all))}N.alwaysValidSchema=Id;function la(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let o in e)s[o]||ha(t,`unknown keyword: "${o}"`);}N.checkUnknownRules=la;function pa(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(e[r])return true;return false}N.schemaHasRules=pa;function Dd(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(r!=="$ref"&&e.all[r])return true;return false}N.schemaHasRulesButRef=Dd;function Md({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return (0, H._)`${r}`}return (0, H._)`${t}${e}${(0, H.getProperty)(n)}`}N.schemaRefOrVal=Md;function Gd(t){return fa(decodeURIComponent(t))}N.unescapeFragment=Gd;function Ld(t){return encodeURIComponent(Vn(t))}N.escapeFragment=Ld;function Vn(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}N.escapeJsonPointer=Vn;function fa(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}N.unescapeJsonPointer=fa;function Fd(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t);}N.eachItem=Fd;function ua({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return (s,o,a,i)=>{let c=a===void 0?o:a instanceof H.Name?(o instanceof H.Name?t(s,o,a):e(s,o,a),a):o instanceof H.Name?(e(s,a,o),o):r(o,a);return i===H.Name&&!(c instanceof H.Name)?n(s,c):c}}N.mergeEvaluated={props:ua({mergeNames:(t,e,r)=>t.if((0, H._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0, H._)`${e} === true`,()=>t.assign(r,true),()=>t.assign(r,(0, H._)`${r} || {}`).code((0, H._)`Object.assign(${r}, ${e})`));}),mergeToName:(t,e,r)=>t.if((0, H._)`${r} !== true`,()=>{e===true?t.assign(r,true):(t.assign(r,(0, H._)`${r} || {}`),Bn(t,r,e));}),mergeValues:(t,e)=>t===true?true:{...t,...e},resultToName:ma}),items:ua({mergeNames:(t,e,r)=>t.if((0, H._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0, H._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0, H._)`${r} !== true`,()=>t.assign(r,e===true?true:(0, H._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===true?true:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function ma(t,e){if(e===true)return t.var("props",true);let r=t.var("props",(0, H._)`{}`);return e!==void 0&&Bn(t,r,e),r}N.evaluatedPropsToName=ma;function Bn(t,e,r){Object.keys(r).forEach(n=>t.assign((0, H._)`${e}${(0, H.getProperty)(n)}`,true));}N.setEvaluated=Bn;var da={};function Hd(t,e){return t.scopeValue("func",{ref:e,code:da[e.code]||(da[e.code]=new Nd._Code(e.code))})}N.useFunc=Hd;var Un;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str";})(Un||(N.Type=Un={}));function Ud(t,e,r){if(t instanceof H.Name){let n=e===Un.Num;return r?n?(0, H._)`"[" + ${t} + "]"`:(0, H._)`"['" + ${t} + "']"`:n?(0, H._)`"/" + ${t}`:(0, H._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0, H.getProperty)(t).toString():"/"+Vn(t)}N.getErrorPath=Ud;function ha(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===true)throw new Error(e);t.self.logger.warn(e);}}N.checkStrictMode=ha;});var le=b(Kn=>{Object.defineProperty(Kn,"__esModule",{value:true});var ee=x(),Vd={data:new ee.Name("data"),valCxt:new ee.Name("valCxt"),instancePath:new ee.Name("instancePath"),parentData:new ee.Name("parentData"),parentDataProperty:new ee.Name("parentDataProperty"),rootData:new ee.Name("rootData"),dynamicAnchors:new ee.Name("dynamicAnchors"),vErrors:new ee.Name("vErrors"),errors:new ee.Name("errors"),this:new ee.Name("this"),self:new ee.Name("self"),scope:new ee.Name("scope"),json:new ee.Name("json"),jsonPos:new ee.Name("jsonPos"),jsonLen:new ee.Name("jsonLen"),jsonPart:new ee.Name("jsonPart")};Kn.default=Vd;});var jt=b(te=>{Object.defineProperty(te,"__esModule",{value:true});te.extendErrors=te.resetErrorsCount=te.reportExtraError=te.reportError=te.keyword$DataError=te.keywordError=void 0;var D=x(),$r=q(),ne=le();te.keywordError={message:({keyword:t})=>(0, D.str)`must pass "${t}" keyword validation`};te.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0, D.str)`"${t}" keyword must be ${e} ($data)`:(0, D.str)`"${t}" keyword is invalid ($data)`};function Bd(t,e=te.keywordError,r,n){let{it:s}=t,{gen:o,compositeRule:a,allErrors:i}=s,c=va(t,e,r);n??(a||i)?ga(o,c):ya(s,(0, D._)`[${c}]`);}te.reportError=Bd;function Kd(t,e=te.keywordError,r){let{it:n}=t,{gen:s,compositeRule:o,allErrors:a}=n,i=va(t,e,r);ga(s,i),o||a||ya(n,ne.default.vErrors);}te.reportExtraError=Kd;function zd(t,e){t.assign(ne.default.errors,e),t.if((0, D._)`${ne.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0, D._)`${ne.default.vErrors}.length`,e),()=>t.assign(ne.default.vErrors,null)));}te.resetErrorsCount=zd;function Jd({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:o}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,ne.default.errors,i=>{t.const(a,(0, D._)`${ne.default.vErrors}[${i}]`),t.if((0, D._)`${a}.instancePath === undefined`,()=>t.assign((0, D._)`${a}.instancePath`,(0, D.strConcat)(ne.default.instancePath,o.errorPath))),t.assign((0, D._)`${a}.schemaPath`,(0, D.str)`${o.errSchemaPath}/${e}`),o.opts.verbose&&(t.assign((0, D._)`${a}.schema`,r),t.assign((0, D._)`${a}.data`,n));});}te.extendErrors=Jd;function ga(t,e){let r=t.const("err",e);t.if((0, D._)`${ne.default.vErrors} === null`,()=>t.assign(ne.default.vErrors,(0, D._)`[${r}]`),(0, D._)`${ne.default.vErrors}.push(${r})`),t.code((0, D._)`${ne.default.errors}++`);}function ya(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0, D._)`new ${t.ValidationError}(${e})`):(r.assign((0, D._)`${n}.errors`,e),r.return(false));}var He={keyword:new D.Name("keyword"),schemaPath:new D.Name("schemaPath"),params:new D.Name("params"),propertyName:new D.Name("propertyName"),message:new D.Name("message"),schema:new D.Name("schema"),parentSchema:new D.Name("parentSchema")};function va(t,e,r){let{createErrors:n}=t.it;return n===false?(0, D._)`{}`:Wd(t,e,r)}function Wd(t,e,r={}){let{gen:n,it:s}=t,o=[Yd(s,r),Xd(t,r)];return Qd(t,e,o),n.object(...o)}function Yd({errorPath:t},{instancePath:e}){let r=e?(0, D.str)`${t}${(0, $r.getErrorPath)(e,$r.Type.Str)}`:t;return [ne.default.instancePath,(0, D.strConcat)(ne.default.instancePath,r)]}function Xd({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0, D.str)`${e}/${t}`;return r&&(s=(0, D.str)`${s}${(0, $r.getErrorPath)(r,$r.Type.Str)}`),[He.schemaPath,s]}function Qd(t,{params:e,message:r},n){let{keyword:s,data:o,schemaValue:a,it:i}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=i;n.push([He.keyword,s],[He.params,typeof e=="function"?e(t):e||(0, D._)`{}`]),c.messages&&n.push([He.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([He.schema,a],[He.parentSchema,(0, D._)`${l}${d}`],[ne.default.data,o]),u&&n.push([He.propertyName,u]);}});var ka=b(tt=>{Object.defineProperty(tt,"__esModule",{value:true});tt.boolOrEmptySchema=tt.topBoolOrEmptySchema=void 0;var Zd=jt(),el=x(),tl=le(),rl={message:"boolean schema is false"};function nl(t){let{gen:e,schema:r,validateName:n}=t;r===false?_a(t,false):typeof r=="object"&&r.$async===true?e.return(tl.default.data):(e.assign((0, el._)`${n}.errors`,null),e.return(true));}tt.topBoolOrEmptySchema=nl;function sl(t,e){let{gen:r,schema:n}=t;n===false?(r.var(e,false),_a(t)):r.var(e,true);}tt.boolOrEmptySchema=sl;function _a(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:false,schemaCode:false,schemaValue:false,params:{},it:t};(0, Zd.reportError)(s,rl,void 0,e);}});var zn=b(rt=>{Object.defineProperty(rt,"__esModule",{value:true});rt.getRules=rt.isJSONType=void 0;var ol=["string","number","integer","boolean","null","object","array"],al=new Set(ol);function il(t){return typeof t=="string"&&al.has(t)}rt.isJSONType=il;function cl(){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:{}}}rt.getRules=cl;});var Jn=b(xe=>{Object.defineProperty(xe,"__esModule",{value:true});xe.shouldUseRule=xe.shouldUseGroup=xe.schemaHasRulesForType=void 0;function ul({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==true&&ba(t,n)}xe.schemaHasRulesForType=ul;function ba(t,e){return e.rules.some(r=>Sa(t,r))}xe.shouldUseGroup=ba;function Sa(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}xe.shouldUseRule=Sa;});var Pt=b(re=>{Object.defineProperty(re,"__esModule",{value:true});re.reportTypeError=re.checkDataTypes=re.checkDataType=re.coerceAndCheckDataType=re.getJSONTypes=re.getSchemaTypes=re.DataType=void 0;var dl=zn(),ll=Jn(),pl=jt(),j=x(),wa=q(),nt;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong";})(nt||(re.DataType=nt={}));function fl(t){let e=$a(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}re.getSchemaTypes=fl;function $a(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(dl.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}re.getJSONTypes=$a;function ml(t,e){let{gen:r,data:n,opts:s}=t,o=hl(e,s.coerceTypes),a=e.length>0&&!(o.length===0&&e.length===1&&(0, ll.schemaHasRulesForType)(t,e[0]));if(a){let i=Yn(e,n,s.strictNumbers,nt.Wrong);r.if(i,()=>{o.length?gl(t,e,o):Xn(t);});}return a}re.coerceAndCheckDataType=ml;var Ra=new Set(["string","number","integer","boolean","null"]);function hl(t,e){return e?t.filter(r=>Ra.has(r)||e==="array"&&r==="array"):[]}function gl(t,e,r){let{gen:n,data:s,opts:o}=t,a=n.let("dataType",(0, j._)`typeof ${s}`),i=n.let("coerced",(0, j._)`undefined`);o.coerceTypes==="array"&&n.if((0, j._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0, j._)`${s}[0]`).assign(a,(0, j._)`typeof ${s}`).if(Yn(e,s,o.strictNumbers),()=>n.assign(i,s))),n.if((0, j._)`${i} !== undefined`);for(let u of r)(Ra.has(u)||u==="array"&&o.coerceTypes==="array")&&c(u);n.else(),Xn(t),n.endIf(),n.if((0, j._)`${i} !== undefined`,()=>{n.assign(s,i),yl(t,i);});function c(u){switch(u){case "string":n.elseIf((0, j._)`${a} == "number" || ${a} == "boolean"`).assign(i,(0, j._)`"" + ${s}`).elseIf((0, j._)`${s} === null`).assign(i,(0, j._)`""`);return;case "number":n.elseIf((0, j._)`${a} == "boolean" || ${s} === null
|
|
3
|
+
|| (${a} == "string" && ${s} && ${s} == +${s})`).assign(i,(0, j._)`+${s}`);return;case "integer":n.elseIf((0, j._)`${a} === "boolean" || ${s} === null
|
|
4
|
+
|| (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(i,(0, j._)`+${s}`);return;case "boolean":n.elseIf((0, j._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(i,false).elseIf((0, j._)`${s} === "true" || ${s} === 1`).assign(i,true);return;case "null":n.elseIf((0, j._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(i,null);return;case "array":n.elseIf((0, j._)`${a} === "string" || ${a} === "number"
|
|
5
|
+
|| ${a} === "boolean" || ${s} === null`).assign(i,(0, j._)`[${s}]`);}}}function yl({gen:t,parentData:e,parentDataProperty:r},n){t.if((0, j._)`${e} !== undefined`,()=>t.assign((0, j._)`${e}[${r}]`,n));}function Wn(t,e,r,n=nt.Correct){let s=n===nt.Correct?j.operators.EQ:j.operators.NEQ,o;switch(t){case "null":return (0, j._)`${e} ${s} null`;case "array":o=(0, j._)`Array.isArray(${e})`;break;case "object":o=(0, j._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case "integer":o=a((0, j._)`!(${e} % 1) && !isNaN(${e})`);break;case "number":o=a();break;default:return (0, j._)`typeof ${e} ${s} ${t}`}return n===nt.Correct?o:(0, j.not)(o);function a(i=j.nil){return (0, j.and)((0, j._)`typeof ${e} == "number"`,i,r?(0, j._)`isFinite(${e})`:j.nil)}}re.checkDataType=Wn;function Yn(t,e,r,n){if(t.length===1)return Wn(t[0],e,r,n);let s,o=(0, wa.toHash)(t);if(o.array&&o.object){let a=(0, j._)`typeof ${e} != "object"`;s=o.null?a:(0, j._)`!${e} || ${a}`,delete o.null,delete o.array,delete o.object;}else s=j.nil;o.number&&delete o.integer;for(let a in o)s=(0, j.and)(s,Wn(a,e,r,n));return s}re.checkDataTypes=Yn;var vl={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0, j._)`{type: ${t}}`:(0, j._)`{type: ${e}}`};function Xn(t){let e=_l(t);(0, pl.reportError)(e,vl);}re.reportTypeError=Xn;function _l(t){let{gen:e,data:r,schema:n}=t,s=(0, wa.schemaRefOrVal)(t,n,"type");return {gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var Ea=b(Rr=>{Object.defineProperty(Rr,"__esModule",{value:true});Rr.assignDefaults=void 0;var st=x(),kl=q();function bl(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)Ta(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,o)=>Ta(t,o,s.default));}Rr.assignDefaults=bl;function Ta(t,e,r){let{gen:n,compositeRule:s,data:o,opts:a}=t;if(r===void 0)return;let i=(0, st._)`${o}${(0, st.getProperty)(e)}`;if(s){(0, kl.checkStrictMode)(t,`default is ignored for: ${i}`);return}let c=(0, st._)`${i} === undefined`;a.useDefaults==="empty"&&(c=(0, st._)`${c} || ${i} === null || ${i} === ""`),n.if(c,(0, st._)`${i} = ${(0, st.stringify)(r)}`);}});var pe=b(L=>{Object.defineProperty(L,"__esModule",{value:true});L.validateUnion=L.validateArray=L.usePattern=L.callValidateCode=L.schemaProperties=L.allSchemaProperties=L.noPropertyInData=L.propertyInData=L.isOwnProperty=L.hasPropFunc=L.reportMissingProp=L.checkMissingProp=L.checkReportMissingProp=void 0;var V=x(),Qn=q(),je=le(),Sl=q();function wl(t,e){let{gen:r,data:n,it:s}=t;r.if(es(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0, V._)`${e}`},true),t.error();});}L.checkReportMissingProp=wl;function $l({gen:t,data:e,it:{opts:r}},n,s){return (0, V.or)(...n.map(o=>(0, V.and)(es(t,e,o,r.ownProperties),(0, V._)`${s} = ${o}`)))}L.checkMissingProp=$l;function Rl(t,e){t.setParams({missingProperty:e},true),t.error();}L.reportMissingProp=Rl;function Ca(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, V._)`Object.prototype.hasOwnProperty`})}L.hasPropFunc=Ca;function Zn(t,e,r){return (0, V._)`${Ca(t)}.call(${e}, ${r})`}L.isOwnProperty=Zn;function Tl(t,e,r,n){let s=(0, V._)`${e}${(0, V.getProperty)(r)} !== undefined`;return n?(0, V._)`${s} && ${Zn(t,e,r)}`:s}L.propertyInData=Tl;function es(t,e,r,n){let s=(0, V._)`${e}${(0, V.getProperty)(r)} === undefined`;return n?(0, V.or)(s,(0, V.not)(Zn(t,e,r))):s}L.noPropertyInData=es;function xa(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}L.allSchemaProperties=xa;function El(t,e){return xa(e).filter(r=>!(0, Qn.alwaysValidSchema)(t,e[r]))}L.schemaProperties=El;function Cl({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:o},it:a},i,c,u){let l=u?(0, V._)`${t}, ${e}, ${n}${s}`:e,d=[[je.default.instancePath,(0, V.strConcat)(je.default.instancePath,o)],[je.default.parentData,a.parentData],[je.default.parentDataProperty,a.parentDataProperty],[je.default.rootData,je.default.rootData]];a.opts.dynamicRef&&d.push([je.default.dynamicAnchors,je.default.dynamicAnchors]);let m=(0, V._)`${l}, ${r.object(...d)}`;return c!==V.nil?(0, V._)`${i}.call(${c}, ${m})`:(0, V._)`${i}(${m})`}L.callValidateCode=Cl;var xl=(0, V._)`new RegExp`;function jl({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,o=s(r,n);return t.scopeValue("pattern",{key:o.toString(),ref:o,code:(0, V._)`${s.code==="new RegExp"?xl:(0, Sl.useFunc)(t,s)}(${r}, ${n})`})}L.usePattern=jl;function Pl(t){let{gen:e,data:r,keyword:n,it:s}=t,o=e.name("valid");if(s.allErrors){let i=e.let("valid",true);return a(()=>e.assign(i,false)),i}return e.var(o,true),a(()=>e.break()),o;function a(i){let c=e.const("len",(0, V._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Qn.Type.Num},o),e.if((0, V.not)(o),i);});}}L.validateArray=Pl;function Ol(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0, Qn.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let a=e.let("valid",false),i=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:true},i);e.assign(a,(0, V._)`${a} || ${i}`),t.mergeValidEvaluated(l,i)||e.if((0, V.not)(a));})),t.result(a,()=>t.reset(),()=>t.error(true));}L.validateUnion=Ol;});var Oa=b(_e=>{Object.defineProperty(_e,"__esModule",{value:true});_e.validateKeywordUsage=_e.validSchemaType=_e.funcKeywordCode=_e.macroKeywordCode=void 0;var se=x(),Ue=le(),Al=pe(),Nl=jt();function ql(t,e){let{gen:r,keyword:n,schema:s,parentSchema:o,it:a}=t,i=e.macro.call(a.self,s,o,a),c=Pa(r,n,i);a.opts.validateSchema!==false&&a.self.validateSchema(i,true);let u=r.name("valid");t.subschema({schema:i,schemaPath:se.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:true},u),t.pass(u,()=>t.error(true));}_e.macroKeywordCode=ql;function Il(t,e){var r;let{gen:n,keyword:s,schema:o,parentSchema:a,$data:i,it:c}=t;Ml(c,e);let u=!i&&e.compile?e.compile.call(c.self,o,a,c):e.validate,l=Pa(n,s,u),d=n.let("valid");t.block$data(d,m),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function m(){if(e.errors===false)f(),e.modifying&&ja(t),g(()=>t.error());else {let k=e.async?p():h();e.modifying&&ja(t),g(()=>Dl(t,k));}}function p(){let k=n.let("ruleErrs",null);return n.try(()=>f((0, se._)`await `),_=>n.assign(d,false).if((0, se._)`${_} instanceof ${c.ValidationError}`,()=>n.assign(k,(0, se._)`${_}.errors`),()=>n.throw(_))),k}function h(){let k=(0, se._)`${l}.errors`;return n.assign(k,null),f(se.nil),k}function f(k=e.async?(0, se._)`await `:se.nil){let _=c.opts.passContext?Ue.default.this:Ue.default.self,y=!("compile"in e&&!i||e.schema===false);n.assign(d,(0, se._)`${k}${(0, Al.callValidateCode)(t,l,_,y)}`,e.modifying);}function g(k){var _;n.if((0, se.not)((_=e.valid)!==null&&_!==void 0?_:d),k);}}_e.funcKeywordCode=Il;function ja(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0, se._)`${n.parentData}[${n.parentDataProperty}]`));}function Dl(t,e){let{gen:r}=t;r.if((0, se._)`Array.isArray(${e})`,()=>{r.assign(Ue.default.vErrors,(0, se._)`${Ue.default.vErrors} === null ? ${e} : ${Ue.default.vErrors}.concat(${e})`).assign(Ue.default.errors,(0, se._)`${Ue.default.vErrors}.length`),(0, Nl.extendErrors)(t);},()=>t.error());}function Ml({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Pa(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, se.stringify)(r)})}function Gl(t,e,r=false){return !e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}_e.validSchemaType=Gl;function Ll({schema:t,opts:e,self:r,errSchemaPath:n},s,o){if(Array.isArray(s.keyword)?!s.keyword.includes(o):s.keyword!==o)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(i=>!Object.prototype.hasOwnProperty.call(t,i)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[o])){let c=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}_e.validateKeywordUsage=Ll;});var Na=b(Pe=>{Object.defineProperty(Pe,"__esModule",{value:true});Pe.extendSubschemaMode=Pe.extendSubschemaData=Pe.getSubschema=void 0;var ke=x(),Aa=q();function Fl(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:o,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let i=t.schema[e];return r===void 0?{schema:i,schemaPath:(0, ke._)`${t.schemaPath}${(0, ke.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:i[r],schemaPath:(0, ke._)`${t.schemaPath}${(0, ke.getProperty)(e)}${(0, ke.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0, Aa.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||o===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return {schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')}Pe.getSubschema=Fl;function Hl(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:o,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:i}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,m=i.let("data",(0, ke._)`${e.data}${(0, ke.getProperty)(r)}`,true);c(m),t.errorPath=(0, ke.str)`${u}${(0, Aa.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0, ke._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty];}if(s!==void 0){let u=s instanceof ke.Name?s:i.let("data",s,true);c(u),a!==void 0&&(t.propertyName=a);}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];}}Pe.extendSubschemaData=Hl;function Ul(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:o}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),o!==void 0&&(t.allErrors=o),t.jtdDiscriminator=e,t.jtdMetadata=r;}Pe.extendSubschemaMode=Ul;});var ts=b((Mv,qa)=>{qa.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 n,s,o;if(Array.isArray(e)){if(n=e.length,n!=r.length)return false;for(s=n;s--!==0;)if(!t(e[s],r[s]))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),n=o.length,n!==Object.keys(r).length)return false;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[s]))return false;for(s=n;s--!==0;){var a=o[s];if(!t(e[a],r[a]))return false}return true}return e!==e&&r!==r};});var Da=b((Gv,Ia)=>{var Oe=Ia.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};Tr(e,n,s,t,"",t);};Oe.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true,if:true,then:true,else:true};Oe.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};Oe.propsKeywords={$defs:true,definitions:true,properties:true,patternProperties:true,dependencies:true};Oe.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 Tr(t,e,r,n,s,o,a,i,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,o,a,i,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in Oe.arrayKeywords)for(var m=0;m<d.length;m++)Tr(t,e,r,d[m],s+"/"+l+"/"+m,o,s,l,n,m);}else if(l in Oe.propsKeywords){if(d&&typeof d=="object")for(var p in d)Tr(t,e,r,d[p],s+"/"+l+"/"+Vl(p),o,s,l,n,p);}else (l in Oe.keywords||t.allKeys&&!(l in Oe.skipKeywords))&&Tr(t,e,r,d,s+"/"+l,o,s,l,n);}r(n,s,o,a,i,c,u);}}function Vl(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Ot=b(ie=>{Object.defineProperty(ie,"__esModule",{value:true});ie.getSchemaRefs=ie.resolveUrl=ie.normalizeId=ie._getFullPath=ie.getFullPath=ie.inlineRef=void 0;var Bl=q(),Kl=ts(),zl=Da(),Jl=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Wl(t,e=true){return typeof t=="boolean"?true:e===true?!rs(t):e?Ma(t)<=e:false}ie.inlineRef=Wl;var Yl=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function rs(t){for(let e in t){if(Yl.has(e))return true;let r=t[e];if(Array.isArray(r)&&r.some(rs)||typeof r=="object"&&rs(r))return true}return false}function Ma(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Jl.has(r)&&(typeof t[r]=="object"&&(0, Bl.eachItem)(t[r],n=>e+=Ma(n)),e===1/0))return 1/0}return e}function Ga(t,e="",r){r!==false&&(e=ot(e));let n=t.parse(e);return La(t,n)}ie.getFullPath=Ga;function La(t,e){return t.serialize(e).split("#")[0]+"#"}ie._getFullPath=La;var Xl=/#\/?$/;function ot(t){return t?t.replace(Xl,""):""}ie.normalizeId=ot;function Ql(t,e,r){return r=ot(r),t.resolve(e,r)}ie.resolveUrl=Ql;var Zl=/^[a-z_][-a-z0-9._]*$/i;function ep(t,e){if(typeof t=="boolean")return {};let{schemaId:r,uriResolver:n}=this.opts,s=ot(t[r]||e),o={"":s},a=Ga(n,s,false),i={},c=new Set;return zl(t,{allKeys:true},(d,m,p,h)=>{if(h===void 0)return;let f=a+m,g=o[h];typeof d[r]=="string"&&(g=k.call(this,d[r])),_.call(this,d.$anchor),_.call(this,d.$dynamicAnchor),o[m]=g;function k(y){let S=this.opts.uriResolver.resolve;if(y=ot(g?S(g,y):y),c.has(y))throw l(y);c.add(y);let v=this.refs[y];return typeof v=="string"&&(v=this.refs[v]),typeof v=="object"?u(d,v.schema,y):y!==ot(f)&&(y[0]==="#"?(u(d,i[y],y),i[y]=d):this.refs[y]=f),y}function _(y){if(typeof y=="string"){if(!Zl.test(y))throw new Error(`invalid anchor "${y}"`);k.call(this,`#${y}`);}}}),i;function u(d,m,p){if(m!==void 0&&!Kl(d,m))throw l(p)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}ie.getSchemaRefs=ep;});var at=b(Ae=>{Object.defineProperty(Ae,"__esModule",{value:true});Ae.getData=Ae.KeywordCxt=Ae.validateFunctionCode=void 0;var Ba=ka(),Fa=Pt(),ss=Jn(),Er=Pt(),tp=Ea(),Nt=Oa(),ns=Na(),$=x(),C=le(),rp=Ot(),Te=q(),At=jt();function np(t){if(Ja(t)&&(Wa(t),za(t))){ap(t);return}Ka(t,()=>(0, Ba.topBoolOrEmptySchema)(t));}Ae.validateFunctionCode=np;function Ka({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},o){s.code.es5?t.func(e,(0, $._)`${C.default.data}, ${C.default.valCxt}`,n.$async,()=>{t.code((0, $._)`"use strict"; ${Ha(r,s)}`),op(t,s),t.code(o);}):t.func(e,(0, $._)`${C.default.data}, ${sp(s)}`,n.$async,()=>t.code(Ha(r,s)).code(o));}function sp(t){return (0, $._)`{${C.default.instancePath}="", ${C.default.parentData}, ${C.default.parentDataProperty}, ${C.default.rootData}=${C.default.data}${t.dynamicRef?(0, $._)`, ${C.default.dynamicAnchors}={}`:$.nil}}={}`}function op(t,e){t.if(C.default.valCxt,()=>{t.var(C.default.instancePath,(0, $._)`${C.default.valCxt}.${C.default.instancePath}`),t.var(C.default.parentData,(0, $._)`${C.default.valCxt}.${C.default.parentData}`),t.var(C.default.parentDataProperty,(0, $._)`${C.default.valCxt}.${C.default.parentDataProperty}`),t.var(C.default.rootData,(0, $._)`${C.default.valCxt}.${C.default.rootData}`),e.dynamicRef&&t.var(C.default.dynamicAnchors,(0, $._)`${C.default.valCxt}.${C.default.dynamicAnchors}`);},()=>{t.var(C.default.instancePath,(0, $._)`""`),t.var(C.default.parentData,(0, $._)`undefined`),t.var(C.default.parentDataProperty,(0, $._)`undefined`),t.var(C.default.rootData,C.default.data),e.dynamicRef&&t.var(C.default.dynamicAnchors,(0, $._)`{}`);});}function ap(t){let{schema:e,opts:r,gen:n}=t;Ka(t,()=>{r.$comment&&e.$comment&&Xa(t),lp(t),n.let(C.default.vErrors,null),n.let(C.default.errors,0),r.unevaluated&&ip(t),Ya(t),mp(t);});}function ip(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 Ha(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0, $._)`/*# sourceURL=${r} */`:$.nil}function cp(t,e){if(Ja(t)&&(Wa(t),za(t))){up(t,e);return}(0, Ba.boolOrEmptySchema)(t,e);}function za({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 Ja(t){return typeof t.schema!="boolean"}function up(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&Xa(t),pp(t),fp(t);let o=n.const("_errs",C.default.errors);Ya(t,o),n.var(e,(0, $._)`${o} === ${C.default.errors}`);}function Wa(t){(0, Te.checkUnknownRules)(t),dp(t);}function Ya(t,e){if(t.opts.jtd)return Ua(t,[],false,e);let r=(0, Fa.getSchemaTypes)(t.schema),n=(0, Fa.coerceAndCheckDataType)(t,r);Ua(t,r,!n,e);}function dp(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0, Te.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`);}function lp(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0, Te.checkStrictMode)(t,"default is ignored in the schema root");}function pp(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0, rp.resolveUrl)(t.opts.uriResolver,t.baseId,e));}function fp(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Xa({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let o=r.$comment;if(s.$comment===true)t.code((0, $._)`${C.default.self}.logger.log(${o})`);else if(typeof s.$comment=="function"){let a=(0, $.str)`${n}/$comment`,i=t.scopeValue("root",{ref:e.root});t.code((0, $._)`${C.default.self}.opts.$comment(${o}, ${a}, ${i}.schema)`);}}function mp(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:o}=t;r.$async?e.if((0, $._)`${C.default.errors} === 0`,()=>e.return(C.default.data),()=>e.throw((0, $._)`new ${s}(${C.default.vErrors})`)):(e.assign((0, $._)`${n}.errors`,C.default.vErrors),o.unevaluated&&hp(t),e.return((0, $._)`${C.default.errors} === 0`));}function hp({gen:t,evaluated:e,props:r,items:n}){r instanceof $.Name&&t.assign((0, $._)`${e}.props`,r),n instanceof $.Name&&t.assign((0, $._)`${e}.items`,n);}function Ua(t,e,r,n){let{gen:s,schema:o,data:a,allErrors:i,opts:c,self:u}=t,{RULES:l}=u;if(o.$ref&&(c.ignoreKeywordsWithRef||!(0, Te.schemaHasRulesButRef)(o,l))){s.block(()=>Za(t,"$ref",l.all.$ref.definition));return}c.jtd||gp(t,e),s.block(()=>{for(let m of l.rules)d(m);d(l.post);});function d(m){(0, ss.shouldUseGroup)(o,m)&&(m.type?(s.if((0, Er.checkDataType)(m.type,a,c.strictNumbers)),Va(t,m),e.length===1&&e[0]===m.type&&r&&(s.else(),(0, Er.reportTypeError)(t)),s.endIf()):Va(t,m),i||s.if((0, $._)`${C.default.errors} === ${n||0}`));}}function Va(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0, tp.assignDefaults)(t,e.type),r.block(()=>{for(let o of e.rules)(0, ss.shouldUseRule)(n,o)&&Za(t,o.keyword,o.definition,e.type);});}function gp(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(yp(t,e),t.opts.allowUnionTypes||vp(t,e),_p(t,t.dataTypes));}function yp(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Qa(t.dataTypes,r)||os(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`);}),bp(t,e);}}function vp(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&os(t,"use allowUnionTypes to allow union type keyword");}function _p(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0, ss.shouldUseRule)(t.schema,s)){let{type:o}=s.definition;o.length&&!o.some(a=>kp(e,a))&&os(t,`missing type "${o.join(",")}" for keyword "${n}"`);}}}function kp(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Qa(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function bp(t,e){let r=[];for(let n of t.dataTypes)Qa(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r;}function os(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0, Te.checkStrictMode)(t,e,t.opts.strictTypes);}var Cr=class{constructor(e,r,n){if((0, Nt.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0, Te.schemaRefOrVal)(e,this.schema,n,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",ei(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0, Nt.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==false)&&(this.errsCount=e.gen.const("_errs",C.default.errors));}result(e,r,n){this.failResult((0, $.not)(e),r,n);}failResult(e,r,n){this.gen.if(e),n?n():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,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n);}_error(e,r){(e?At.reportExtraError:At.reportError)(this,this.def.error,r);}$dataError(){(0, At.reportError)(this,this.def.$dataError||At.keyword$DataError);}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0, At.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,n=$.nil){this.gen.block(()=>{this.check$data(e,n),r();});}check$data(e=$.nil,r=$.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:o,def:a}=this;n.if((0, $.or)((0, $._)`${s} === undefined`,r)),e!==$.nil&&n.assign(e,true),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==$.nil&&n.assign(e,false)),n.else();}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:s,it:o}=this;return (0, $.or)(a(),i());function a(){if(n.length){if(!(r instanceof $.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return (0, $._)`${(0, Er.checkDataTypes)(c,r,o.opts.strictNumbers,Er.DataType.Wrong)}`}return $.nil}function i(){if(s.validateSchema){let c=e.scopeValue("validate$data",{ref:s.validateSchema});return (0, $._)`!${c}(${r})`}return $.nil}}subschema(e,r){let n=(0, ns.getSubschema)(this.it,e);(0, ns.extendSubschemaData)(n,this.it,e),(0, ns.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return cp(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==true&&e.props!==void 0&&(n.props=Te.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==true&&e.items!==void 0&&(n.items=Te.mergeEvaluated.items(s,e.items,n.items,r)));}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==true||n.items!==true))return s.if(r,()=>this.mergeEvaluated(e,$.Name)),true}};Ae.KeywordCxt=Cr;function Za(t,e,r,n){let s=new Cr(t,r,e);"code"in r?r.code(s,n):s.$data&&r.validate?(0, Nt.funcKeywordCode)(s,r):"macro"in r?(0, Nt.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0, Nt.funcKeywordCode)(s,r);}var Sp=/^\/(?:[^~]|~0|~1)*$/,wp=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ei(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,o;if(t==="")return C.default.rootData;if(t[0]==="/"){if(!Sp.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,o=C.default.rootData;}else {let u=wp.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(s=u[2],s==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(o=r[e-l],!s)return o}let a=o,i=s.split("/");for(let u of i)u&&(o=(0, $._)`${o}${(0, $.getProperty)((0, Te.unescapeJsonPointer)(u))}`,a=(0, $._)`${a} && ${o}`);return a;function c(u,l){return `Cannot access ${u} ${l} levels up, current level is ${e}`}}Ae.getData=ei;});var qt=b(is=>{Object.defineProperty(is,"__esModule",{value:true});var as=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=true;}};is.default=as;});var it=b(ds=>{Object.defineProperty(ds,"__esModule",{value:true});var cs=Ot(),us=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0, cs.resolveUrl)(e,r,n),this.missingSchema=(0, cs.normalizeId)((0, cs.getFullPath)(e,this.missingRef));}};ds.default=us;});var It=b(fe=>{Object.defineProperty(fe,"__esModule",{value:true});fe.resolveSchema=fe.getCompilingSchema=fe.resolveRef=fe.compileSchema=fe.SchemaEnv=void 0;var ge=x(),$p=qt(),Ve=le(),ye=Ot(),ti=q(),Rp=at(),ct=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=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, ye.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={};}};fe.SchemaEnv=ct;function ps(t){let e=ri.call(this,t);if(e)return e;let r=(0, ye.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:o}=this.opts,a=new ge.CodeGen(this.scope,{es5:n,lines:s,ownProperties:o}),i;t.$async&&(i=a.scopeValue("Error",{ref:$p.default,code:(0, ge._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");t.validateName=c;let u={gen:a,allErrors:this.opts.allErrors,data:Ve.default.data,parentData:Ve.default.parentData,parentDataProperty:Ve.default.parentDataProperty,dataNames:[Ve.default.data],dataPathArr:[ge.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===true?{ref:t.schema,code:(0, ge.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:i,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:ge.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, ge._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,Rp.validateFunctionCode)(u),a.optimize(this.opts.code.optimize);let d=a.toString();l=`${a.scopeRefs(Ve.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let p=new Function(`${Ve.default.self}`,`${Ve.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:p}),p.errors=null,p.schema=t.schema,p.schemaEnv=t,t.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:h,items:f}=u;p.evaluated={props:h instanceof ge.Name?void 0:h,items:f instanceof ge.Name?void 0:f,dynamicProps:h instanceof ge.Name,dynamicItems:f instanceof ge.Name},p.source&&(p.source.evaluated=(0,ge.stringify)(p.evaluated));}return t.validate=p,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t);}}fe.compileSchema=ps;function Tp(t,e,r){var n;r=(0, ye.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let o=xp.call(this,t,r);if(o===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:i}=this.opts;a&&(o=new ct({schema:a,schemaId:i,root:t,baseId:e}));}if(o!==void 0)return t.refs[r]=Ep.call(this,o)}fe.resolveRef=Tp;function Ep(t){return (0, ye.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:ps.call(this,t)}function ri(t){for(let e of this._compilations)if(Cp(e,t))return e}fe.getCompilingSchema=ri;function Cp(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function xp(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||xr.call(this,t,e)}function xr(t,e){let r=this.opts.uriResolver.parse(e),n=(0, ye._getFullPath)(this.opts.uriResolver,r),s=(0, ye.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return ls.call(this,r,t);let o=(0, ye.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let i=xr.call(this,t,a);return typeof i?.schema!="object"?void 0:ls.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||ps.call(this,a),o===(0, ye.normalizeId)(e)){let{schema:i}=a,{schemaId:c}=this.opts,u=i[c];return u&&(s=(0, ye.resolveUrl)(this.opts.uriResolver,s,u)),new ct({schema:i,schemaId:c,root:t,baseId:s})}return ls.call(this,r,a)}}fe.resolveSchema=xr;var jp=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function ls(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let i of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0, ti.unescapeFragment)(i)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!jp.has(i)&&u&&(e=(0, ye.resolveUrl)(this.opts.uriResolver,e,u));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, ti.schemaHasRulesButRef)(r,this.RULES)){let i=(0, ye.resolveUrl)(this.opts.uriResolver,e,r.$ref);o=xr.call(this,n,i);}let{schemaId:a}=this.opts;if(o=o||new ct({schema:r,schemaId:a,root:n,baseId:e}),o.schema!==o.root.schema)return o}});var ni=b((Bv,Pp)=>{Pp.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 ms=b((Kv,ii)=>{var Op=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),oi=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 fs(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[n];}return e}var Ap=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function si(t){return t.length=0,true}function Np(t,e,r){if(t.length){let n=fs(t);if(n!=="")e.push(n);else return r.error=true,false;t.length=0;}return true}function qp(t){let e=0,r={error:false,address:"",zone:""},n=[],s=[],o=false,a=false,i=Np;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(o===true&&(a=true),!i(s,n,r))break;if(++e>7){r.error=true;break}c>0&&t[c-1]===":"&&(o=true),n.push(":");continue}else if(u==="%"){if(!i(s,n,r))break;i=si;}else {s.push(u);continue}}return s.length&&(i===si?r.zone=s.join(""):a?n.push(s.join("")):n.push(fs(s))),r.address=n.join(""),r}function ai(t){if(Ip(t,":")<2)return {host:t,isIPV6:false};let e=qp(t);if(e.error)return {host:t,isIPV6:false};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:true,escapedHost:n}}}function Ip(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function Dp(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else {r.push(e);break}}else if(s===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(s===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((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n);}return r.join("")}function Mp(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 Gp(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!oi(r)){let n=ai(r);n.isIPV6===true?r=`[${n.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}ii.exports={nonSimpleDomain:Ap,recomposeAuthority:Gp,normalizeComponentEncoding:Mp,removeDotSegments:Dp,isIPv4:oi,isUUID:Op,normalizeIPv6:ai,stringArrayToHexStripped:fs};});var pi=b((zv,li)=>{var{isUUID:Lp}=ms(),Fp=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Hp=["http","https","ws","wss","urn","urn:uuid"];function Up(t){return Hp.indexOf(t)!==-1}function hs(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 ci(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function ui(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 Vp(t){return t.secure=hs(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function Bp(t){if((t.port===(hs(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 Kp(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Fp);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,o=gs(s);t.path=void 0,o&&(t=o.parse(t,e));}else t.error=t.error||"URN can not be parsed.";return t}function zp(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,o=gs(s);o&&(t=o.serialize(t,e));let a=t,i=t.nss;return a.path=`${n||e.nid}:${i}`,e.skipEscape=true,a}function Jp(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!Lp(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Wp(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var di={scheme:"http",domainHost:true,parse:ci,serialize:ui},Yp={scheme:"https",domainHost:di.domainHost,parse:ci,serialize:ui},jr={scheme:"ws",domainHost:true,parse:Vp,serialize:Bp},Xp={scheme:"wss",domainHost:jr.domainHost,parse:jr.parse,serialize:jr.serialize},Qp={scheme:"urn",parse:Kp,serialize:zp,skipNormalize:true},Zp={scheme:"urn:uuid",parse:Jp,serialize:Wp,skipNormalize:true},Pr={http:di,https:Yp,ws:jr,wss:Xp,urn:Qp,"urn:uuid":Zp};Object.setPrototypeOf(Pr,null);function gs(t){return t&&(Pr[t]||Pr[t.toLowerCase()])||void 0}li.exports={wsIsSecure:hs,SCHEMES:Pr,isValidSchemeName:Up,getSchemeHandler:gs};});var hi=b((Jv,Ar)=>{var{normalizeIPv6:ef,removeDotSegments:Dt,recomposeAuthority:tf,normalizeComponentEncoding:Or,isIPv4:rf,nonSimpleDomain:nf}=ms(),{SCHEMES:sf,getSchemeHandler:fi}=pi();function of(t,e){return typeof t=="string"?t=be(Ee(t,e),e):typeof t=="object"&&(t=Ee(be(t,e),e)),t}function af(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=mi(Ee(t,n),Ee(e,n),n,true);return n.skipEscape=true,be(s,n)}function mi(t,e,r,n){let s={};return n||(t=Ee(be(t,r),r),e=Ee(be(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=Dt(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=Dt(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=Dt(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=Dt(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function cf(t,e,r){return typeof t=="string"?(t=unescape(t),t=be(Or(Ee(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=be(Or(t,true),{...r,skipEscape:true})),typeof e=="string"?(e=unescape(e),e=be(Or(Ee(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=be(Or(e,true),{...r,skipEscape:true})),t.toLowerCase()===e.toLowerCase()}function be(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:""},n=Object.assign({},e),s=[],o=fi(n.scheme||r.scheme);o&&o.serialize&&o.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=tf(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let i=r.path;!n.absolutePath&&(!o||!o.absolutePath)&&(i=Dt(i)),a===void 0&&i[0]==="/"&&i[1]==="/"&&(i="/%2F"+i.slice(2)),s.push(i);}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var uf=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Ee(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=false;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let o=t.match(uf);if(o){if(n.scheme=o[1],n.userinfo=o[3],n.host=o[4],n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=o[7],n.fragment=o[8],isNaN(n.port)&&(n.port=o[5]),n.host)if(rf(n.host)===false){let c=ef(n.host);n.host=c.host.toLowerCase(),s=c.isIPV6;}else s=true;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=fi(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===false&&nf(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase());}catch(i){n.error=n.error||"Host's domain name can not be converted to ASCII: "+i;}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r);}else n.error=n.error||"URI can not be parsed.";return n}var ys={SCHEMES:sf,normalize:of,resolve:af,resolveComponent:mi,equal:cf,serialize:be,parse:Ee};Ar.exports=ys;Ar.exports.default=ys;Ar.exports.fastUri=ys;});var yi=b(vs=>{Object.defineProperty(vs,"__esModule",{value:true});var gi=hi();gi.code='require("ajv/dist/runtime/uri").default';vs.default=gi;});var bs=b(Q=>{Object.defineProperty(Q,"__esModule",{value:true});Q.CodeGen=Q.Name=Q.nil=Q.stringify=Q.str=Q._=Q.KeywordCxt=void 0;var df=at();Object.defineProperty(Q,"KeywordCxt",{enumerable:true,get:function(){return df.KeywordCxt}});var ut=x();Object.defineProperty(Q,"_",{enumerable:true,get:function(){return ut._}});Object.defineProperty(Q,"str",{enumerable:true,get:function(){return ut.str}});Object.defineProperty(Q,"stringify",{enumerable:true,get:function(){return ut.stringify}});Object.defineProperty(Q,"nil",{enumerable:true,get:function(){return ut.nil}});Object.defineProperty(Q,"Name",{enumerable:true,get:function(){return ut.Name}});Object.defineProperty(Q,"CodeGen",{enumerable:true,get:function(){return ut.CodeGen}});var lf=qt(),Si=it(),pf=zn(),Mt=It(),ff=x(),Gt=Ot(),Nr=Pt(),ks=q(),vi=ni(),mf=yi(),wi=(t,e)=>new RegExp(t,e);wi.code="new RegExp";var hf=["removeAdditional","useDefaults","coerceTypes"],gf=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),yf={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."},vf={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},_i=200;function _f(t){var e,r,n,s,o,a,i,c,u,l,d,m,p,h,f,g,k,_,y,S,v,R,w,T,J;let F=t.strict,U=(e=t.code)===null||e===void 0?void 0:e.optimize,W=U===true||U===void 0?1:U||0,z=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:wi,Sn=(s=t.uriResolver)!==null&&s!==void 0?s:mf.default;return {strictSchema:(a=(o=t.strictSchema)!==null&&o!==void 0?o:F)!==null&&a!==void 0?a:true,strictNumbers:(c=(i=t.strictNumbers)!==null&&i!==void 0?i:F)!==null&&c!==void 0?c:true,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:F)!==null&&l!==void 0?l:"log",strictTuples:(m=(d=t.strictTuples)!==null&&d!==void 0?d:F)!==null&&m!==void 0?m:"log",strictRequired:(h=(p=t.strictRequired)!==null&&p!==void 0?p:F)!==null&&h!==void 0?h:false,code:t.code?{...t.code,optimize:W,regExp:z}:{optimize:W,regExp:z},loopRequired:(f=t.loopRequired)!==null&&f!==void 0?f:_i,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:_i,meta:(k=t.meta)!==null&&k!==void 0?k:true,messages:(_=t.messages)!==null&&_!==void 0?_:true,inlineRefs:(y=t.inlineRefs)!==null&&y!==void 0?y:true,schemaId:(S=t.schemaId)!==null&&S!==void 0?S:"$id",addUsedSchema:(v=t.addUsedSchema)!==null&&v!==void 0?v:true,validateSchema:(R=t.validateSchema)!==null&&R!==void 0?R:true,validateFormats:(w=t.validateFormats)!==null&&w!==void 0?w:true,unicodeRegExp:(T=t.unicodeRegExp)!==null&&T!==void 0?T:true,int32range:(J=t.int32range)!==null&&J!==void 0?J:true,uriResolver:Sn}}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,..._f(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new ff.ValueScope({scope:{},prefixes:gf,es5:r,lines:n}),this.logger=Rf(e.logger);let s=e.validateFormats;e.validateFormats=false,this.RULES=(0, pf.getRules)(),ki.call(this,yf,e,"NOT SUPPORTED"),ki.call(this,vf,e,"DEPRECATED","warn"),this._metaOpts=wf.call(this),e.formats&&bf.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&Sf.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),kf.call(this),e.validateFormats=s;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=vi;n==="id"&&(s={...vi},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],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 n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return "$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(l,d){await o.call(this,l.$schema);let m=this._addSchema(l,d);return m.validate||a.call(this,m)}async function o(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},true);}async function a(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof Si.default))throw d;return i.call(this,d),await c.call(this,d.missingSchema),a.call(this,l)}}function i({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await o.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r);}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l];}}}addSchema(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let o;if(typeof e=="object"){let{schemaId:a}=this.opts;if(o=e[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return r=(0, Gt.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,true),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,true,n),this}validateSchema(e,r){if(typeof e=="boolean")return true;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,true;let s=this.validate(n,e);if(!s&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return s}getSchema(e){let r;for(;typeof(r=bi.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new Mt.SchemaEnv({schema:{},schemaId:n});if(r=Mt.resolveSchema.call(this,s,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=bi.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 n=e[this.opts.schemaId];return n&&(n=(0, Gt.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),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 n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Ef.call(this,n,r),!r)return (0, ks.eachItem)(n,o=>_s.call(this,o)),this;xf.call(this,r);let s={...r,type:(0, Nr.getJSONTypes)(r.type),schemaType:(0, Nr.getJSONTypes)(r.schemaType)};return (0, ks.eachItem)(n,s.type.length===0?o=>_s.call(this,o,s):o=>s.type.forEach(a=>_s.call(this,o,s,a))),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 n of r.rules){let s=n.rules.findIndex(o=>o.keyword===e);s>=0&&n.rules.splice(s,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:n="data"}={}){return !e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,o)=>s+r+o)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let o=s.split("/").slice(1),a=e;for(let i of o)a=a[i];for(let i in n){let c=n[i];if(typeof c!="object")continue;let{$data:u}=c.definition,l=a[i];u&&l&&(a[i]=$i(l));}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]));}}_addSchema(e,r,n,s=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:i}=this.opts;if(typeof e=="object")a=e[i];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;n=(0, Gt.normalizeId)(a||n);let u=Gt.getSchemaRefs.call(this,e,n);return c=new Mt.SchemaEnv({schema:e,schemaId:i,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),o&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),s&&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):Mt.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{Mt.compileSchema.call(this,e);}finally{this.opts=r;}}};Lt.ValidationError=lf.default;Lt.MissingRefError=Si.default;Q.default=Lt;function ki(t,e,r,n="error"){for(let s in t){let o=s;o in e&&this.logger[n](`${r}: option ${s}. ${t[o]}`);}}function bi(t){return t=(0, Gt.normalizeId)(t),this.schemas[t]||this.refs[t]}function kf(){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 bf(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e);}}function Sf(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 wf(){let t={...this.opts};for(let e of hf)delete t[e];return t}var $f={log(){},warn(){},error(){}};function Rf(t){if(t===false)return $f;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 Tf=/^[a-z_$][a-z0-9_$:-]*$/i;function Ef(t,e){let{RULES:r}=this;if((0, ks.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Tf.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function _s(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,a=s?o.post:o.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},o.rules.push(a)),o.keywords[t]=true,!e)return;let i={keyword:t,definition:{...e,type:(0, Nr.getJSONTypes)(e.type),schemaType:(0, Nr.getJSONTypes)(e.schemaType)}};e.before?Cf.call(this,a,i,e.before):a.rules.push(i),o.all[t]=i,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c));}function Cf(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`));}function xf(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=$i(e)),t.validateSchema=this.compile(e,true));}var jf={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function $i(t){return {anyOf:[t,jf]}}});var Ri=b(Ss=>{Object.defineProperty(Ss,"__esModule",{value:true});var Pf={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ss.default=Pf;});var Dr=b(Be=>{Object.defineProperty(Be,"__esModule",{value:true});Be.callRef=Be.getValidate=void 0;var Of=it(),Ti=pe(),ce=x(),dt=le(),Ei=It(),qr=q(),Af={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:o,validateName:a,opts:i,self:c}=n,{root:u}=o;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=Ei.resolveRef.call(c,u,s,r);if(l===void 0)throw new Of.default(n.opts.uriResolver,s,r);if(l instanceof Ei.SchemaEnv)return m(l);return p(l);function d(){if(o===u)return Ir(t,a,o,o.$async);let h=e.scopeValue("root",{ref:u});return Ir(t,(0, ce._)`${h}.validate`,u,u.$async)}function m(h){let f=Ci(t,h);Ir(t,f,h,h.$async);}function p(h){let f=e.scopeValue("schema",i.code.source===true?{ref:h,code:(0, ce.stringify)(h)}:{ref:h}),g=e.name("valid"),k=t.subschema({schema:h,dataTypes:[],schemaPath:ce.nil,topSchemaRef:f,errSchemaPath:r},g);t.mergeEvaluated(k),t.ok(g);}}};function Ci(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0, ce._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Be.getValidate=Ci;function Ir(t,e,r,n){let{gen:s,it:o}=t,{allErrors:a,schemaEnv:i,opts:c}=o,u=c.passContext?dt.default.this:ce.nil;n?l():d();function l(){if(!i.$async)throw new Error("async schema referenced by sync schema");let h=s.let("valid");s.try(()=>{s.code((0, ce._)`await ${(0, Ti.callValidateCode)(t,e,u)}`),p(e),a||s.assign(h,true);},f=>{s.if((0, ce._)`!(${f} instanceof ${o.ValidationError})`,()=>s.throw(f)),m(f),a||s.assign(h,false);}),t.ok(h);}function d(){t.result((0, Ti.callValidateCode)(t,e,u),()=>p(e),()=>m(e));}function m(h){let f=(0, ce._)`${h}.errors`;s.assign(dt.default.vErrors,(0, ce._)`${dt.default.vErrors} === null ? ${f} : ${dt.default.vErrors}.concat(${f})`),s.assign(dt.default.errors,(0, ce._)`${dt.default.vErrors}.length`);}function p(h){var f;if(!o.opts.unevaluated)return;let g=(f=r?.validate)===null||f===void 0?void 0:f.evaluated;if(o.props!==true)if(g&&!g.dynamicProps)g.props!==void 0&&(o.props=qr.mergeEvaluated.props(s,g.props,o.props));else {let k=s.var("props",(0, ce._)`${h}.evaluated.props`);o.props=qr.mergeEvaluated.props(s,k,o.props,ce.Name);}if(o.items!==true)if(g&&!g.dynamicItems)g.items!==void 0&&(o.items=qr.mergeEvaluated.items(s,g.items,o.items));else {let k=s.var("items",(0, ce._)`${h}.evaluated.items`);o.items=qr.mergeEvaluated.items(s,k,o.items,ce.Name);}}}Be.callRef=Ir;Be.default=Af;});var $s=b(ws=>{Object.defineProperty(ws,"__esModule",{value:true});var Nf=Ri(),qf=Dr(),If=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Nf.default,qf.default];ws.default=If;});var xi=b(Rs=>{Object.defineProperty(Rs,"__esModule",{value:true});var Mr=x(),Ne=Mr.operators,Gr={maximum:{okStr:"<=",ok:Ne.LTE,fail:Ne.GT},minimum:{okStr:">=",ok:Ne.GTE,fail:Ne.LT},exclusiveMaximum:{okStr:"<",ok:Ne.LT,fail:Ne.GTE},exclusiveMinimum:{okStr:">",ok:Ne.GT,fail:Ne.LTE}},Df={message:({keyword:t,schemaCode:e})=>(0, Mr.str)`must be ${Gr[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0, Mr._)`{comparison: ${Gr[t].okStr}, limit: ${e}}`},Mf={keyword:Object.keys(Gr),type:"number",schemaType:"number",$data:true,error:Df,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0, Mr._)`${r} ${Gr[e].fail} ${n} || isNaN(${r})`);}};Rs.default=Mf;});var ji=b(Ts=>{Object.defineProperty(Ts,"__esModule",{value:true});var Ft=x(),Gf={message:({schemaCode:t})=>(0, Ft.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0, Ft._)`{multipleOf: ${t}}`},Lf={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:Gf,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,o=s.opts.multipleOfPrecision,a=e.let("res"),i=o?(0, Ft._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0, Ft._)`${a} !== parseInt(${a})`;t.fail$data((0, Ft._)`(${n} === 0 || (${a} = ${r}/${n}, ${i}))`);}};Ts.default=Lf;});var Oi=b(Es=>{Object.defineProperty(Es,"__esModule",{value:true});function Pi(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}Es.default=Pi;Pi.code='require("ajv/dist/runtime/ucs2length").default';});var Ai=b(Cs=>{Object.defineProperty(Cs,"__esModule",{value:true});var Ke=x(),Ff=q(),Hf=Oi(),Uf={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return (0, Ke.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0, Ke._)`{limit: ${t}}`},Vf={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:Uf,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,o=e==="maxLength"?Ke.operators.GT:Ke.operators.LT,a=s.opts.unicode===false?(0, Ke._)`${r}.length`:(0, Ke._)`${(0, Ff.useFunc)(t.gen,Hf.default)}(${r})`;t.fail$data((0, Ke._)`${a} ${o} ${n}`);}};Cs.default=Vf;});var Ni=b(xs=>{Object.defineProperty(xs,"__esModule",{value:true});var Bf=pe(),Kf=q(),lt=x(),zf={message:({schemaCode:t})=>(0, lt.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0, lt._)`{pattern: ${t}}`},Jf={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:zf,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:o,it:a}=t,i=a.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=a.opts.code,u=c.code==="new RegExp"?(0, lt._)`new RegExp`:(0, Kf.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0, lt._)`${u}(${o}, ${i}).test(${r})`),()=>e.assign(l,false)),t.fail$data((0, lt._)`!${l}`);}else {let c=(0, Bf.usePattern)(t,s);t.fail$data((0, lt._)`!${c}.test(${r})`);}}};xs.default=Jf;});var qi=b(js=>{Object.defineProperty(js,"__esModule",{value:true});var Ht=x(),Wf={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return (0, Ht.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0, Ht._)`{limit: ${t}}`},Yf={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:Wf,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?Ht.operators.GT:Ht.operators.LT;t.fail$data((0, Ht._)`Object.keys(${r}).length ${s} ${n}`);}};js.default=Yf;});var Ii=b(Ps=>{Object.defineProperty(Ps,"__esModule",{value:true});var Ut=pe(),Vt=x(),Xf=q(),Qf={message:({params:{missingProperty:t}})=>(0, Vt.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0, Vt._)`{missingProperty: ${t}}`},Zf={keyword:"required",type:"object",schemaType:"array",$data:true,error:Qf,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:o,it:a}=t,{opts:i}=a;if(!o&&r.length===0)return;let c=r.length>=i.loopRequired;if(a.allErrors?u():l(),i.strictRequired){let p=t.parentSchema.properties,{definedProperties:h}=t.it;for(let f of r)if(p?.[f]===void 0&&!h.has(f)){let g=a.schemaEnv.baseId+a.errSchemaPath,k=`required property "${f}" is not defined at "${g}" (strictRequired)`;(0, Xf.checkStrictMode)(a,k,a.opts.strictRequired);}}function u(){if(c||o)t.block$data(Vt.nil,d);else for(let p of r)(0, Ut.checkReportMissingProp)(t,p);}function l(){let p=e.let("missing");if(c||o){let h=e.let("valid",true);t.block$data(h,()=>m(p,h)),t.ok(h);}else e.if((0, Ut.checkMissingProp)(t,r,p)),(0, Ut.reportMissingProp)(t,p),e.else();}function d(){e.forOf("prop",n,p=>{t.setParams({missingProperty:p}),e.if((0, Ut.noPropertyInData)(e,s,p,i.ownProperties),()=>t.error());});}function m(p,h){t.setParams({missingProperty:p}),e.forOf(p,n,()=>{e.assign(h,(0, Ut.propertyInData)(e,s,p,i.ownProperties)),e.if((0, Vt.not)(h),()=>{t.error(),e.break();});},Vt.nil);}}};Ps.default=Zf;});var Di=b(Os=>{Object.defineProperty(Os,"__esModule",{value:true});var Bt=x(),em={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return (0, Bt.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0, Bt._)`{limit: ${t}}`},tm={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:em,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?Bt.operators.GT:Bt.operators.LT;t.fail$data((0, Bt._)`${r}.length ${s} ${n}`);}};Os.default=tm;});var Lr=b(As=>{Object.defineProperty(As,"__esModule",{value:true});var Mi=ts();Mi.code='require("ajv/dist/runtime/equal").default';As.default=Mi;});var Gi=b(qs=>{Object.defineProperty(qs,"__esModule",{value:true});var Ns=Pt(),Z=x(),rm=q(),nm=Lr(),sm={message:({params:{i:t,j:e}})=>(0, Z.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0, Z._)`{i: ${t}, j: ${e}}`},om={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:sm,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:o,schemaCode:a,it:i}=t;if(!n&&!s)return;let c=e.let("valid"),u=o.items?(0, Ns.getSchemaTypes)(o.items):[];t.block$data(c,l,(0, Z._)`${a} === false`),t.ok(c);function l(){let h=e.let("i",(0, Z._)`${r}.length`),f=e.let("j");t.setParams({i:h,j:f}),e.assign(c,true),e.if((0, Z._)`${h} > 1`,()=>(d()?m:p)(h,f));}function d(){return u.length>0&&!u.some(h=>h==="object"||h==="array")}function m(h,f){let g=e.name("item"),k=(0, Ns.checkDataTypes)(u,g,i.opts.strictNumbers,Ns.DataType.Wrong),_=e.const("indices",(0, Z._)`{}`);e.for((0, Z._)`;${h}--;`,()=>{e.let(g,(0, Z._)`${r}[${h}]`),e.if(k,(0, Z._)`continue`),u.length>1&&e.if((0, Z._)`typeof ${g} == "string"`,(0, Z._)`${g} += "_"`),e.if((0, Z._)`typeof ${_}[${g}] == "number"`,()=>{e.assign(f,(0, Z._)`${_}[${g}]`),t.error(),e.assign(c,false).break();}).code((0, Z._)`${_}[${g}] = ${h}`);});}function p(h,f){let g=(0, rm.useFunc)(e,nm.default),k=e.name("outer");e.label(k).for((0, Z._)`;${h}--;`,()=>e.for((0, Z._)`${f} = ${h}; ${f}--;`,()=>e.if((0, Z._)`${g}(${r}[${h}], ${r}[${f}])`,()=>{t.error(),e.assign(c,false).break(k);})));}}};qs.default=om;});var Li=b(Ds=>{Object.defineProperty(Ds,"__esModule",{value:true});var Is=x(),am=q(),im=Lr(),cm={message:"must be equal to constant",params:({schemaCode:t})=>(0, Is._)`{allowedValue: ${t}}`},um={keyword:"const",$data:true,error:cm,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:o}=t;n||o&&typeof o=="object"?t.fail$data((0, Is._)`!${(0, am.useFunc)(e,im.default)}(${r}, ${s})`):t.fail((0, Is._)`${o} !== ${r}`);}};Ds.default=um;});var Fi=b(Ms=>{Object.defineProperty(Ms,"__esModule",{value:true});var Kt=x(),dm=q(),lm=Lr(),pm={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0, Kt._)`{allowedValues: ${t}}`},fm={keyword:"enum",schemaType:"array",$data:true,error:pm,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:o,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let i=s.length>=a.opts.loopEnum,c,u=()=>c??(c=(0, dm.useFunc)(e,lm.default)),l;if(i||n)l=e.let("valid"),t.block$data(l,d);else {if(!Array.isArray(s))throw new Error("ajv implementation error");let p=e.const("vSchema",o);l=(0, Kt.or)(...s.map((h,f)=>m(p,f)));}t.pass(l);function d(){e.assign(l,false),e.forOf("v",o,p=>e.if((0, Kt._)`${u()}(${r}, ${p})`,()=>e.assign(l,true).break()));}function m(p,h){let f=s[h];return typeof f=="object"&&f!==null?(0, Kt._)`${u()}(${r}, ${p}[${h}])`:(0, Kt._)`${r} === ${f}`}}};Ms.default=fm;});var Ls=b(Gs=>{Object.defineProperty(Gs,"__esModule",{value:true});var mm=xi(),hm=ji(),gm=Ai(),ym=Ni(),vm=qi(),_m=Ii(),km=Di(),bm=Gi(),Sm=Li(),wm=Fi(),$m=[mm.default,hm.default,gm.default,ym.default,vm.default,_m.default,km.default,bm.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Sm.default,wm.default];Gs.default=$m;});var Hs=b(zt=>{Object.defineProperty(zt,"__esModule",{value:true});zt.validateAdditionalItems=void 0;var ze=x(),Fs=q(),Rm={message:({params:{len:t}})=>(0, ze.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, ze._)`{limit: ${t}}`},Tm={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Rm,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0, Fs.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Hi(t,n);}};function Hi(t,e){let{gen:r,schema:n,data:s,keyword:o,it:a}=t;a.items=true;let i=r.const("len",(0, ze._)`${s}.length`);if(n===false)t.setParams({len:e.length}),t.pass((0, ze._)`${i} <= ${e.length}`);else if(typeof n=="object"&&!(0, Fs.alwaysValidSchema)(a,n)){let u=r.var("valid",(0, ze._)`${i} <= ${e.length}`);r.if((0, ze.not)(u),()=>c(u)),t.ok(u);}function c(u){r.forRange("i",e.length,i,l=>{t.subschema({keyword:o,dataProp:l,dataPropType:Fs.Type.Num},u),a.allErrors||r.if((0, ze.not)(u),()=>r.break());});}}zt.validateAdditionalItems=Hi;zt.default=Tm;});var Us=b(Jt=>{Object.defineProperty(Jt,"__esModule",{value:true});Jt.validateTuple=void 0;var Ui=x(),Fr=q(),Em=pe(),Cm={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Vi(t,"additionalItems",e);r.items=true,!(0, Fr.alwaysValidSchema)(r,e)&&t.ok((0, Em.validateArray)(t));}};function Vi(t,e,r=t.schema){let{gen:n,parentSchema:s,data:o,keyword:a,it:i}=t;l(s),i.opts.unevaluated&&r.length&&i.items!==true&&(i.items=Fr.mergeEvaluated.items(n,r.length,i.items));let c=n.name("valid"),u=n.const("len",(0, Ui._)`${o}.length`);r.forEach((d,m)=>{(0, Fr.alwaysValidSchema)(i,d)||(n.if((0, Ui._)`${u} > ${m}`,()=>t.subschema({keyword:a,schemaProp:m,dataProp:m},c)),t.ok(c));});function l(d){let{opts:m,errSchemaPath:p}=i,h=r.length,f=h===d.minItems&&(h===d.maxItems||d[e]===false);if(m.strictTuples&&!f){let g=`"${a}" is ${h}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0, Fr.checkStrictMode)(i,g,m.strictTuples);}}}Jt.validateTuple=Vi;Jt.default=Cm;});var Bi=b(Vs=>{Object.defineProperty(Vs,"__esModule",{value:true});var xm=Us(),jm={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0, xm.validateTuple)(t,"items")};Vs.default=jm;});var zi=b(Bs=>{Object.defineProperty(Bs,"__esModule",{value:true});var Ki=x(),Pm=q(),Om=pe(),Am=Hs(),Nm={message:({params:{len:t}})=>(0, Ki.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, Ki._)`{limit: ${t}}`},qm={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Nm,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=true,!(0, Pm.alwaysValidSchema)(n,e)&&(s?(0, Am.validateAdditionalItems)(t,s):t.ok((0, Om.validateArray)(t)));}};Bs.default=qm;});var Ji=b(Ks=>{Object.defineProperty(Ks,"__esModule",{value:true});var me=x(),Hr=q(),Im={message:({params:{min:t,max:e}})=>e===void 0?(0, me.str)`must contain at least ${t} valid item(s)`:(0, me.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0, me._)`{minContains: ${t}}`:(0, me._)`{minContains: ${t}, maxContains: ${e}}`},Dm={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:Im,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:o}=t,a,i,{minContains:c,maxContains:u}=n;o.opts.next?(a=c===void 0?1:c,i=u):a=1;let l=e.const("len",(0, me._)`${s}.length`);if(t.setParams({min:a,max:i}),i===void 0&&a===0){(0, Hr.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&a>i){(0, Hr.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0, Hr.alwaysValidSchema)(o,r)){let f=(0, me._)`${l} >= ${a}`;i!==void 0&&(f=(0, me._)`${f} && ${l} <= ${i}`),t.pass(f);return}o.items=true;let d=e.name("valid");i===void 0&&a===1?p(d,()=>e.if(d,()=>e.break())):a===0?(e.let(d,true),i!==void 0&&e.if((0, me._)`${s}.length > 0`,m)):(e.let(d,false),m()),t.result(d,()=>t.reset());function m(){let f=e.name("_valid"),g=e.let("count",0);p(f,()=>e.if(f,()=>h(g)));}function p(f,g){e.forRange("i",0,l,k=>{t.subschema({keyword:"contains",dataProp:k,dataPropType:Hr.Type.Num,compositeRule:true},f),g();});}function h(f){e.code((0, me._)`${f}++`),i===void 0?e.if((0, me._)`${f} >= ${a}`,()=>e.assign(d,true).break()):(e.if((0, me._)`${f} > ${i}`,()=>e.assign(d,false).break()),a===1?e.assign(d,true):e.if((0, me._)`${f} >= ${a}`,()=>e.assign(d,true)));}}};Ks.default=Dm;});var Ur=b(Se=>{Object.defineProperty(Se,"__esModule",{value:true});Se.validateSchemaDeps=Se.validatePropertyDeps=Se.error=void 0;var zs=x(),Mm=q(),Wt=pe();Se.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return (0, zs.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0, zs._)`{property: ${t},
|
|
6
|
+
missingProperty: ${n},
|
|
7
|
+
depsCount: ${e},
|
|
8
|
+
deps: ${r}}`};var Gm={keyword:"dependencies",type:"object",schemaType:"object",error:Se.error,code(t){let[e,r]=Lm(t);Wi(t,e),Yi(t,r);}};function Lm({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n];}return [e,r]}function Wi(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let o=r.let("missing");for(let a in e){let i=e[a];if(i.length===0)continue;let c=(0, Wt.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:i.length,deps:i.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of i)(0, Wt.checkReportMissingProp)(t,u);}):(r.if((0, zs._)`${c} && (${(0, Wt.checkMissingProp)(t,i,o)})`),(0, Wt.reportMissingProp)(t,o),r.else());}}Se.validatePropertyDeps=Wi;function Yi(t,e=t.schema){let{gen:r,data:n,keyword:s,it:o}=t,a=r.name("valid");for(let i in e)(0, Mm.alwaysValidSchema)(o,e[i])||(r.if((0, Wt.propertyInData)(r,n,i,o.opts.ownProperties),()=>{let c=t.subschema({keyword:s,schemaProp:i},a);t.mergeValidEvaluated(c,a);},()=>r.var(a,true)),t.ok(a));}Se.validateSchemaDeps=Yi;Se.default=Gm;});var Qi=b(Js=>{Object.defineProperty(Js,"__esModule",{value:true});var Xi=x(),Fm=q(),Hm={message:"property name must be valid",params:({params:t})=>(0, Xi._)`{propertyName: ${t.propertyName}}`},Um={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Hm,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0, Fm.alwaysValidSchema)(s,r))return;let o=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:true},o),e.if((0, Xi.not)(o),()=>{t.error(true),s.allErrors||e.break();});}),t.ok(o);}};Js.default=Um;});var Ys=b(Ws=>{Object.defineProperty(Ws,"__esModule",{value:true});var Vr=pe(),ve=x(),Vm=le(),Br=q(),Bm={message:"must NOT have additional properties",params:({params:t})=>(0, ve._)`{additionalProperty: ${t.additionalProperty}}`},Km={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:Bm,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:o,it:a}=t;if(!o)throw new Error("ajv implementation error");let{allErrors:i,opts:c}=a;if(a.props=true,c.removeAdditional!=="all"&&(0, Br.alwaysValidSchema)(a,r))return;let u=(0, Vr.allSchemaProperties)(n.properties),l=(0, Vr.allSchemaProperties)(n.patternProperties);d(),t.ok((0, ve._)`${o} === ${Vm.default.errors}`);function d(){e.forIn("key",s,g=>{!u.length&&!l.length?h(g):e.if(m(g),()=>h(g));});}function m(g){let k;if(u.length>8){let _=(0, Br.schemaRefOrVal)(a,n.properties,"properties");k=(0, Vr.isOwnProperty)(e,_,g);}else u.length?k=(0, ve.or)(...u.map(_=>(0, ve._)`${g} === ${_}`)):k=ve.nil;return l.length&&(k=(0, ve.or)(k,...l.map(_=>(0, ve._)`${(0, Vr.usePattern)(t,_)}.test(${g})`))),(0, ve.not)(k)}function p(g){e.code((0, ve._)`delete ${s}[${g}]`);}function h(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===false){p(g);return}if(r===false){t.setParams({additionalProperty:g}),t.error(),i||e.break();return}if(typeof r=="object"&&!(0, Br.alwaysValidSchema)(a,r)){let k=e.name("valid");c.removeAdditional==="failing"?(f(g,k,false),e.if((0, ve.not)(k),()=>{t.reset(),p(g);})):(f(g,k),i||e.if((0, ve.not)(k),()=>e.break()));}}function f(g,k,_){let y={keyword:"additionalProperties",dataProp:g,dataPropType:Br.Type.Str};_===false&&Object.assign(y,{compositeRule:true,createErrors:false,allErrors:false}),t.subschema(y,k);}}};Ws.default=Km;});var tc=b(Qs=>{Object.defineProperty(Qs,"__esModule",{value:true});var zm=at(),Zi=pe(),Xs=q(),ec=Ys(),Jm={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:o}=t;o.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&ec.default.code(new zm.KeywordCxt(o,ec.default,"additionalProperties"));let a=(0, Zi.allSchemaProperties)(r);for(let d of a)o.definedProperties.add(d);o.opts.unevaluated&&a.length&&o.props!==true&&(o.props=Xs.mergeEvaluated.props(e,(0, Xs.toHash)(a),o.props));let i=a.filter(d=>!(0, Xs.alwaysValidSchema)(o,r[d]));if(i.length===0)return;let c=e.name("valid");for(let d of i)u(d)?l(d):(e.if((0, Zi.propertyInData)(e,s,d,o.opts.ownProperties)),l(d),o.allErrors||e.else().var(c,true),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return o.opts.useDefaults&&!o.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c);}}};Qs.default=Jm;});var oc=b(Zs=>{Object.defineProperty(Zs,"__esModule",{value:true});var rc=pe(),Kr=x(),nc=q(),sc=q(),Wm={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:o}=t,{opts:a}=o,i=(0, rc.allSchemaProperties)(r),c=i.filter(f=>(0, nc.alwaysValidSchema)(o,r[f]));if(i.length===0||c.length===i.length&&(!o.opts.unevaluated||o.props===true))return;let u=a.strictSchema&&!a.allowMatchingProperties&&s.properties,l=e.name("valid");o.props!==true&&!(o.props instanceof Kr.Name)&&(o.props=(0, sc.evaluatedPropsToName)(e,o.props));let{props:d}=o;m();function m(){for(let f of i)u&&p(f),o.allErrors?h(f):(e.var(l,true),h(f),e.if(l));}function p(f){for(let g in u)new RegExp(f).test(g)&&(0, nc.checkStrictMode)(o,`property ${g} matches pattern ${f} (use allowMatchingProperties)`);}function h(f){e.forIn("key",n,g=>{e.if((0, Kr._)`${(0, rc.usePattern)(t,f)}.test(${g})`,()=>{let k=c.includes(f);k||t.subschema({keyword:"patternProperties",schemaProp:f,dataProp:g,dataPropType:sc.Type.Str},l),o.opts.unevaluated&&d!==true?e.assign((0, Kr._)`${d}[${g}]`,true):!k&&!o.allErrors&&e.if((0, Kr.not)(l),()=>e.break());});});}}};Zs.default=Wm;});var ac=b(eo=>{Object.defineProperty(eo,"__esModule",{value:true});var Ym=q(),Xm={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(t){let{gen:e,schema:r,it:n}=t;if((0, Ym.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:true,createErrors:false,allErrors:false},s),t.failResult(s,()=>t.reset(),()=>t.error());},error:{message:"must NOT be valid"}};eo.default=Xm;});var ic=b(to=>{Object.defineProperty(to,"__esModule",{value:true});var Qm=pe(),Zm={keyword:"anyOf",schemaType:"array",trackErrors:true,code:Qm.validateUnion,error:{message:"must match a schema in anyOf"}};to.default=Zm;});var cc=b(ro=>{Object.defineProperty(ro,"__esModule",{value:true});var zr=x(),eh=q(),th={message:"must match exactly one schema in oneOf",params:({params:t})=>(0, zr._)`{passingSchemas: ${t.passing}}`},rh={keyword:"oneOf",schemaType:"array",trackErrors:true,error:th,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let o=r,a=e.let("valid",false),i=e.let("passing",null),c=e.name("_valid");t.setParams({passing:i}),e.block(u),t.result(a,()=>t.reset(),()=>t.error(true));function u(){o.forEach((l,d)=>{let m;(0, eh.alwaysValidSchema)(s,l)?e.var(c,true):m=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:true},c),d>0&&e.if((0, zr._)`${c} && ${a}`).assign(a,false).assign(i,(0, zr._)`[${i}, ${d}]`).else(),e.if(c,()=>{e.assign(a,true),e.assign(i,d),m&&t.mergeEvaluated(m,zr.Name);});});}}};ro.default=rh;});var uc=b(no=>{Object.defineProperty(no,"__esModule",{value:true});var nh=q(),sh={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((o,a)=>{if((0, nh.alwaysValidSchema)(n,o))return;let i=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(i);});}};no.default=sh;});var pc=b(so=>{Object.defineProperty(so,"__esModule",{value:true});var Jr=x(),lc=q(),oh={message:({params:t})=>(0, Jr.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0, Jr._)`{failingKeyword: ${t.ifClause}}`},ah={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:oh,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0, lc.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=dc(n,"then"),o=dc(n,"else");if(!s&&!o)return;let a=e.let("valid",true),i=e.name("_valid");if(c(),t.reset(),s&&o){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(i,u("then",l),u("else",l));}else s?e.if(i,u("then")):e.if((0, Jr.not)(i),u("else"));t.pass(a,()=>t.error(true));function c(){let l=t.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},i);t.mergeEvaluated(l);}function u(l,d){return ()=>{let m=t.subschema({keyword:l},i);e.assign(a,i),t.mergeValidEvaluated(m,a),d?e.assign(d,(0, Jr._)`${l}`):t.setParams({ifClause:l});}}}};function dc(t,e){let r=t.schema[e];return r!==void 0&&!(0, lc.alwaysValidSchema)(t,r)}so.default=ah;});var fc=b(oo=>{Object.defineProperty(oo,"__esModule",{value:true});var ih=q(),ch={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0, ih.checkStrictMode)(r,`"${t}" without "if" is ignored`);}};oo.default=ch;});var io=b(ao=>{Object.defineProperty(ao,"__esModule",{value:true});var uh=Hs(),dh=Bi(),lh=Us(),ph=zi(),fh=Ji(),mh=Ur(),hh=Qi(),gh=Ys(),yh=tc(),vh=oc(),_h=ac(),kh=ic(),bh=cc(),Sh=uc(),wh=pc(),$h=fc();function Rh(t=false){let e=[_h.default,kh.default,bh.default,Sh.default,wh.default,$h.default,hh.default,gh.default,mh.default,yh.default,vh.default];return t?e.push(dh.default,ph.default):e.push(uh.default,lh.default),e.push(fh.default),e}ao.default=Rh;});var mc=b(co=>{Object.defineProperty(co,"__esModule",{value:true});var Y=x(),Th={message:({schemaCode:t})=>(0, Y.str)`must match format "${t}"`,params:({schemaCode:t})=>(0, Y._)`{format: ${t}}`},Eh={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:Th,code(t,e){let{gen:r,data:n,$data:s,schema:o,schemaCode:a,it:i}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=i;if(!c.validateFormats)return;s?m():p();function m(){let h=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),f=r.const("fDef",(0, Y._)`${h}[${a}]`),g=r.let("fType"),k=r.let("format");r.if((0, Y._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(g,(0, Y._)`${f}.type || "string"`).assign(k,(0, Y._)`${f}.validate`),()=>r.assign(g,(0, Y._)`"string"`).assign(k,f)),t.fail$data((0, Y.or)(_(),y()));function _(){return c.strictSchema===false?Y.nil:(0, Y._)`${a} && !${k}`}function y(){let S=l.$async?(0, Y._)`(${f}.async ? await ${k}(${n}) : ${k}(${n}))`:(0, Y._)`${k}(${n})`,v=(0, Y._)`(typeof ${k} == "function" ? ${S} : ${k}.test(${n}))`;return (0, Y._)`${k} && ${k} !== true && ${g} === ${e} && !${v}`}}function p(){let h=d.formats[o];if(!h){_();return}if(h===true)return;let[f,g,k]=y(h);f===e&&t.pass(S());function _(){if(c.strictSchema===false){d.logger.warn(v());return}throw new Error(v());function v(){return `unknown format "${o}" ignored in schema at path "${u}"`}}function y(v){let R=v instanceof RegExp?(0, Y.regexpCode)(v):c.code.formats?(0, Y._)`${c.code.formats}${(0, Y.getProperty)(o)}`:void 0,w=r.scopeValue("formats",{key:o,ref:v,code:R});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0, Y._)`${w}.validate`]:["string",v,w]}function S(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return (0, Y._)`await ${k}(${n})`}return typeof g=="function"?(0, Y._)`${k}(${n})`:(0, Y._)`${k}.test(${n})`}}}};co.default=Eh;});var lo=b(uo=>{Object.defineProperty(uo,"__esModule",{value:true});var Ch=mc(),xh=[Ch.default];uo.default=xh;});var po=b(pt=>{Object.defineProperty(pt,"__esModule",{value:true});pt.contentVocabulary=pt.metadataVocabulary=void 0;pt.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];pt.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var gc=b(fo=>{Object.defineProperty(fo,"__esModule",{value:true});var jh=$s(),Ph=Ls(),Oh=io(),Ah=lo(),hc=po(),Nh=[jh.default,Ph.default,(0, Oh.default)(),Ah.default,hc.metadataVocabulary,hc.contentVocabulary];fo.default=Nh;});var vc=b(Wr=>{Object.defineProperty(Wr,"__esModule",{value:true});Wr.DiscrError=void 0;var yc;(function(t){t.Tag="tag",t.Mapping="mapping";})(yc||(Wr.DiscrError=yc={}));});var go=b(ho=>{Object.defineProperty(ho,"__esModule",{value:true});var ft=x(),mo=vc(),_c=It(),qh=it(),Ih=q(),Dh={message:({params:{discrError:t,tagName:e}})=>t===mo.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0, ft._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},Mh={keyword:"discriminator",type:"object",schemaType:"object",error:Dh,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:o}=t,{oneOf:a}=s;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let i=n.propertyName;if(typeof i!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",false),u=e.const("tag",(0, ft._)`${r}${(0, ft.getProperty)(i)}`);e.if((0, ft._)`typeof ${u} == "string"`,()=>l(),()=>t.error(false,{discrError:mo.DiscrError.Tag,tag:u,tagName:i})),t.ok(c);function l(){let p=m();e.if(false);for(let h in p)e.elseIf((0, ft._)`${u} === ${h}`),e.assign(c,d(p[h]));e.else(),t.error(false,{discrError:mo.DiscrError.Mapping,tag:u,tagName:i}),e.endIf();}function d(p){let h=e.name("valid"),f=t.subschema({keyword:"oneOf",schemaProp:p},h);return t.mergeEvaluated(f,ft.Name),h}function m(){var p;let h={},f=k(s),g=true;for(let S=0;S<a.length;S++){let v=a[S];if(v?.$ref&&!(0, Ih.schemaHasRulesButRef)(v,o.self.RULES)){let w=v.$ref;if(v=_c.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,w),v instanceof _c.SchemaEnv&&(v=v.schema),v===void 0)throw new qh.default(o.opts.uriResolver,o.baseId,w)}let R=(p=v?.properties)===null||p===void 0?void 0:p[i];if(typeof R!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);g=g&&(f||k(v)),_(R,S);}if(!g)throw new Error(`discriminator: "${i}" must be required`);return h;function k({required:S}){return Array.isArray(S)&&S.includes(i)}function _(S,v){if(S.const)y(S.const,v);else if(S.enum)for(let R of S.enum)y(R,v);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function y(S,v){if(typeof S!="string"||S in h)throw new Error(`discriminator: "${i}" values must be unique strings`);h[S]=v;}}}};ho.default=Mh;});var kc=b((I_,Gh)=>{Gh.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 Xr=b((B,yo)=>{Object.defineProperty(B,"__esModule",{value:true});B.MissingRefError=B.ValidationError=B.CodeGen=B.Name=B.nil=B.stringify=B.str=B._=B.KeywordCxt=B.Ajv=void 0;var Lh=bs(),Fh=gc(),Hh=go(),bc=kc(),Uh=["/properties"],Yr="http://json-schema.org/draft-07/schema",mt=class extends Lh.default{_addVocabularies(){super._addVocabularies(),Fh.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(Hh.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(bc,Uh):bc;this.addMetaSchema(e,Yr,false),this.refs["http://json-schema.org/schema"]=Yr;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Yr)?Yr:void 0)}};B.Ajv=mt;yo.exports=B=mt;yo.exports.Ajv=mt;Object.defineProperty(B,"__esModule",{value:true});B.default=mt;var Vh=at();Object.defineProperty(B,"KeywordCxt",{enumerable:true,get:function(){return Vh.KeywordCxt}});var ht=x();Object.defineProperty(B,"_",{enumerable:true,get:function(){return ht._}});Object.defineProperty(B,"str",{enumerable:true,get:function(){return ht.str}});Object.defineProperty(B,"stringify",{enumerable:true,get:function(){return ht.stringify}});Object.defineProperty(B,"nil",{enumerable:true,get:function(){return ht.nil}});Object.defineProperty(B,"Name",{enumerable:true,get:function(){return ht.Name}});Object.defineProperty(B,"CodeGen",{enumerable:true,get:function(){return ht.CodeGen}});var Bh=qt();Object.defineProperty(B,"ValidationError",{enumerable:true,get:function(){return Bh.default}});var Kh=it();Object.defineProperty(B,"MissingRefError",{enumerable:true,get:function(){return Kh.default}});});var Lo=b(ur=>{Object.defineProperty(ur,"__esModule",{value:true});ur.dynamicAnchor=void 0;var Go=x(),ty=le(),xu=It(),ry=Dr(),ny={keyword:"$dynamicAnchor",schemaType:"string",code:t=>ju(t,t.schema)};function ju(t,e){let{gen:r,it:n}=t;n.schemaEnv.root.dynamicAnchors[e]=true;let s=(0, Go._)`${ty.default.dynamicAnchors}${(0, Go.getProperty)(e)}`,o=n.errSchemaPath==="#"?n.validateName:sy(t);r.if((0, Go._)`!${s}`,()=>r.assign(s,o));}ur.dynamicAnchor=ju;function sy(t){let{schemaEnv:e,schema:r,self:n}=t.it,{root:s,baseId:o,localRefs:a,meta:i}=e.root,{schemaId:c}=n.opts,u=new xu.SchemaEnv({schema:r,schemaId:c,root:s,baseId:o,localRefs:a,meta:i});return xu.compileSchema.call(n,u),(0, ry.getValidate)(t,u)}ur.default=ny;});var Fo=b(dr=>{Object.defineProperty(dr,"__esModule",{value:true});dr.dynamicRef=void 0;var Pu=x(),oy=le(),Ou=Dr(),ay={keyword:"$dynamicRef",schemaType:"string",code:t=>Au(t,t.schema)};function Au(t,e){let{gen:r,keyword:n,it:s}=t;if(e[0]!=="#")throw new Error(`"${n}" only supports hash fragment reference`);let o=e.slice(1);if(s.allErrors)a();else {let c=r.let("valid",false);a(c),t.ok(c);}function a(c){if(s.schemaEnv.root.dynamicAnchors[o]){let u=r.let("_v",(0, Pu._)`${oy.default.dynamicAnchors}${(0, Pu.getProperty)(o)}`);r.if(u,i(u,c),i(s.validateName,c));}else i(s.validateName,c)();}function i(c,u){return u?()=>r.block(()=>{(0, Ou.callRef)(t,c),r.let(u,true);}):()=>(0, Ou.callRef)(t,c)}}dr.dynamicRef=Au;dr.default=ay;});var Nu=b(Ho=>{Object.defineProperty(Ho,"__esModule",{value:true});var iy=Lo(),cy=q(),uy={keyword:"$recursiveAnchor",schemaType:"boolean",code(t){t.schema?(0, iy.dynamicAnchor)(t,""):(0, cy.checkStrictMode)(t.it,"$recursiveAnchor: false is ignored");}};Ho.default=uy;});var qu=b(Uo=>{Object.defineProperty(Uo,"__esModule",{value:true});var dy=Fo(),ly={keyword:"$recursiveRef",schemaType:"string",code:t=>(0, dy.dynamicRef)(t,t.schema)};Uo.default=ly;});var Iu=b(Vo=>{Object.defineProperty(Vo,"__esModule",{value:true});var py=Lo(),fy=Fo(),my=Nu(),hy=qu(),gy=[py.default,fy.default,my.default,hy.default];Vo.default=gy;});var Mu=b(Bo=>{Object.defineProperty(Bo,"__esModule",{value:true});var Du=Ur(),yy={keyword:"dependentRequired",type:"object",schemaType:"object",error:Du.error,code:t=>(0, Du.validatePropertyDeps)(t)};Bo.default=yy;});var Gu=b(Ko=>{Object.defineProperty(Ko,"__esModule",{value:true});var vy=Ur(),_y={keyword:"dependentSchemas",type:"object",schemaType:"object",code:t=>(0, vy.validateSchemaDeps)(t)};Ko.default=_y;});var Lu=b(zo=>{Object.defineProperty(zo,"__esModule",{value:true});var ky=q(),by={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:t,parentSchema:e,it:r}){e.contains===void 0&&(0, ky.checkStrictMode)(r,`"${t}" without "contains" is ignored`);}};zo.default=by;});var Fu=b(Jo=>{Object.defineProperty(Jo,"__esModule",{value:true});var Sy=Mu(),wy=Gu(),$y=Lu(),Ry=[Sy.default,wy.default,$y.default];Jo.default=Ry;});var Uu=b(Wo=>{Object.defineProperty(Wo,"__esModule",{value:true});var De=x(),Hu=q(),Ty=le(),Ey={message:"must NOT have unevaluated properties",params:({params:t})=>(0, De._)`{unevaluatedProperty: ${t.unevaluatedProperty}}`},Cy={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:true,error:Ey,code(t){let{gen:e,schema:r,data:n,errsCount:s,it:o}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,props:i}=o;i instanceof De.Name?e.if((0, De._)`${i} !== true`,()=>e.forIn("key",n,d=>e.if(u(i,d),()=>c(d)))):i!==true&&e.forIn("key",n,d=>i===void 0?c(d):e.if(l(i,d),()=>c(d))),o.props=true,t.ok((0, De._)`${s} === ${Ty.default.errors}`);function c(d){if(r===false){t.setParams({unevaluatedProperty:d}),t.error(),a||e.break();return}if(!(0, Hu.alwaysValidSchema)(o,r)){let m=e.name("valid");t.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:Hu.Type.Str},m),a||e.if((0, De.not)(m),()=>e.break());}}function u(d,m){return (0, De._)`!${d} || !${d}[${m}]`}function l(d,m){let p=[];for(let h in d)d[h]===true&&p.push((0, De._)`${m} !== ${h}`);return (0, De.and)(...p)}}};Wo.default=Cy;});var Bu=b(Yo=>{Object.defineProperty(Yo,"__esModule",{value:true});var Xe=x(),Vu=q(),xy={message:({params:{len:t}})=>(0, Xe.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, Xe._)`{limit: ${t}}`},jy={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:xy,code(t){let{gen:e,schema:r,data:n,it:s}=t,o=s.items||0;if(o===true)return;let a=e.const("len",(0, Xe._)`${n}.length`);if(r===false)t.setParams({len:o}),t.fail((0, Xe._)`${a} > ${o}`);else if(typeof r=="object"&&!(0, Vu.alwaysValidSchema)(s,r)){let c=e.var("valid",(0, Xe._)`${a} <= ${o}`);e.if((0, Xe.not)(c),()=>i(c,o)),t.ok(c);}s.items=true;function i(c,u){e.forRange("i",u,a,l=>{t.subschema({keyword:"unevaluatedItems",dataProp:l,dataPropType:Vu.Type.Num},c),s.allErrors||e.if((0, Xe.not)(c),()=>e.break());});}}};Yo.default=jy;});var Ku=b(Xo=>{Object.defineProperty(Xo,"__esModule",{value:true});var Py=Uu(),Oy=Bu(),Ay=[Py.default,Oy.default];Xo.default=Ay;});var Ju=b(Qo=>{Object.defineProperty(Qo,"__esModule",{value:true});var Ny=$s(),qy=Ls(),Iy=io(),Dy=Iu(),My=Fu(),Gy=Ku(),Ly=lo(),zu=po(),Fy=[Dy.default,Ny.default,qy.default,(0, Iy.default)(true),Ly.default,zu.metadataVocabulary,zu.contentVocabulary,My.default,Gy.default];Qo.default=Fy;});var Wu=b((sS,Hy)=>{Hy.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/schema",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},$dynamicAnchor:"meta",title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],type:["object","boolean"],$comment:"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",properties:{definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:true,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs/stringArray"}]},deprecated:true,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:true},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:true}}};});var Yu=b((oS,Uy)=>{Uy.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/applicator":true},$dynamicAnchor:"meta",title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$dynamicRef:"#meta"}}}};});var Xu=b((aS,Vy)=>{Vy.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/unevaluated",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},$dynamicAnchor:"meta",title:"Unevaluated applicator vocabulary meta-schema",type:["object","boolean"],properties:{unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}}};});var Qu=b((iS,By)=>{By.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/content",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/content":true},$dynamicAnchor:"meta",title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}}};});var Zu=b((cS,Ky)=>{Ky.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/core",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":true},$dynamicAnchor:"meta",title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriString"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},$defs:{anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}}};});var ed=b((uS,zy)=>{zy.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/format-annotation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},$dynamicAnchor:"meta",title:"Format vocabulary meta-schema for annotation results",type:["object","boolean"],properties:{format:{type:"string"}}};});var td=b((dS,Jy)=>{Jy.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},$dynamicAnchor:"meta",title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:true,deprecated:{type:"boolean",default:false},readOnly:{type:"boolean",default:false},writeOnly:{type:"boolean",default:false},examples:{type:"array",items:true}}};});var rd=b((lS,Wy)=>{Wy.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/validation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/validation":true},$dynamicAnchor:"meta",title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:true}]},const:true,enum:{type:"array",items:true},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:false},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:true,default:[]}}};});var nd=b(Zo=>{Object.defineProperty(Zo,"__esModule",{value:true});var Yy=Wu(),Xy=Yu(),Qy=Xu(),Zy=Qu(),ev=Zu(),tv=ed(),rv=td(),nv=rd(),sv=["/properties"];function ov(t){return [Yy,Xy,Qy,Zy,ev,e(this,tv),rv,e(this,nv)].forEach(r=>this.addMetaSchema(r,void 0,false)),this;function e(r,n){return t?r.$dataMetaSchema(n,sv):n}}Zo.default=ov;});var sd=b((K,ta)=>{Object.defineProperty(K,"__esModule",{value:true});K.MissingRefError=K.ValidationError=K.CodeGen=K.Name=K.nil=K.stringify=K.str=K._=K.KeywordCxt=K.Ajv2020=void 0;var av=bs(),iv=Ju(),cv=go(),uv=nd(),ea="https://json-schema.org/draft/2020-12/schema",_t=class extends av.default{constructor(e={}){super({...e,dynamicRef:true,next:true,unevaluated:true});}_addVocabularies(){super._addVocabularies(),iv.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(cv.default);}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:r}=this.opts;r&&(uv.default.call(this,e),this.refs["http://json-schema.org/schema"]=ea);}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ea)?ea:void 0)}};K.Ajv2020=_t;ta.exports=K=_t;ta.exports.Ajv2020=_t;Object.defineProperty(K,"__esModule",{value:true});K.default=_t;var dv=at();Object.defineProperty(K,"KeywordCxt",{enumerable:true,get:function(){return dv.KeywordCxt}});var kt=x();Object.defineProperty(K,"_",{enumerable:true,get:function(){return kt._}});Object.defineProperty(K,"str",{enumerable:true,get:function(){return kt.str}});Object.defineProperty(K,"stringify",{enumerable:true,get:function(){return kt.stringify}});Object.defineProperty(K,"nil",{enumerable:true,get:function(){return kt.nil}});Object.defineProperty(K,"Name",{enumerable:true,get:function(){return kt.Name}});Object.defineProperty(K,"CodeGen",{enumerable:true,get:function(){return kt.CodeGen}});var lv=qt();Object.defineProperty(K,"ValidationError",{enumerable:true,get:function(){return lv.default}});var pv=it();Object.defineProperty(K,"MissingRefError",{enumerable:true,get:function(){return pv.default}});});function pr(t,e,r,n){let s=t.steps[r];if(!s)throw new Error(`Step "${r}" not found in flow configuration`);if(n.result==="failure"&&s.retry){let i=e.retryCounts[r]??0;if(i<s.retry.max_attempts)return {newState:{...e,retryCounts:{...e.retryCounts,[r]:i+1},updatedAt:Date.now()},nextStep:r,isTerminal:false,isCircuitBroken:false,shouldRetry:true}}let o=s.failure_transitions?.[n.result]??s.transitions[n.result];if(!o)throw new Error(`No transition defined for result "${n.result}" in step "${r}"`);let a=!!t.terminal_states[o];return {newState:{...e,currentStep:o,stepHistory:[...e.stepHistory,r],retryCounts:{...e.retryCounts,[r]:0},updatedAt:Date.now()},nextStep:o,isTerminal:a,isCircuitBroken:false,shouldRetry:false}}function fr(t,e,r){let n=t.steps[r];if(!n?.circuit_breaker)return {broken:false,newState:{...e,iterationCounts:{...e.iterationCounts,[r]:(e.iterationCounts[r]??0)+1},updatedAt:Date.now()}};let s=e.iterationCounts[r]??0;return s>=n.circuit_breaker.max_iterations?{broken:true,redirectStep:n.circuit_breaker.on_open,newState:{...e,currentStep:n.circuit_breaker.on_open,updatedAt:Date.now()}}:{broken:false,newState:{...e,iterationCounts:{...e.iterationCounts,[r]:s+1},updatedAt:Date.now()}}}function mr(t,e,r){let n=t.steps[e];if(!n)throw new Error(`Step "${e}" not found`);if(n.expects_data){let s={};for(let o of n.expects_data)s[o]=r[o];return s}return {...r}}function hr(t,e){if(t===false||t===void 0)return {};if(typeof t=="string")return {[t]:e[t]};if(Array.isArray(t)){let r={};for(let n of t)r[n]=e[n];return r}return {}}function gr(t,e){let r=Date.now();return {runId:e,flowId:t.id??"unnamed",currentStep:t.settings.start_step,status:"running",stepHistory:[],iterationCounts:{},retryCounts:{},startedAt:r,updatedAt:r}}var bt=class{runs=new Map;data=new Map;async saveRunState(e,r){this.runs.set(e,{...r});}async loadRunState(e){let r=this.runs.get(e);return r?{...r}:null}async deleteRunState(e){this.runs.delete(e),this.data.delete(e);}async setData(e,r,n){this.data.has(e)||this.data.set(e,{});let s=this.data.get(e);s[r]=n;}async getData(e,r){return this.data.get(e)?.[r]}async getAllData(e){return {...this.data.get(e)??{}}}async clearData(e){this.data.delete(e);}async listRuns(){return Array.from(this.runs.keys())}clear(){this.runs.clear(),this.data.clear();}};function gd(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let e=Math.random()*16|0;return (t==="x"?e:e&3|8).toString(16)})}var Qe=class{flow;handlers;store;components;options;listeners=new Map;aborted=false;constructor(e,r,n={}){this.flow=e,this.handlers=new Map(Object.entries(r)),this.store=n.store??new bt,this.components=n.components??{},this.options=n,n.signal&&n.signal.addEventListener("abort",()=>{this.aborted=true;}),this.validateFlow();}validateFlow(){let{settings:e,steps:r,terminal_states:n}=this.flow;if(!e?.start_step)throw new Error("Flow must have settings.start_step defined");if(!r||Object.keys(r).length===0)throw new Error("Flow must have at least one step defined");if(!n||Object.keys(n).length===0)throw new Error("Flow must have at least one terminal_state defined");if(!r[e.start_step]&&!n[e.start_step])throw new Error(`Start step "${e.start_step}" not found`);for(let[s,o]of Object.entries(r)){for(let[a,i]of Object.entries(o.transitions))if(!r[i]&&!n[i])throw new Error(`Step "${s}" transition "${a}" points to unknown step "${i}"`);if(o.failure_transitions){for(let[a,i]of Object.entries(o.failure_transitions))if(!r[i]&&!n[i])throw new Error(`Step "${s}" failure_transition "${a}" points to unknown step "${i}"`)}}}on(e,r){this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(r);}off(e,r){this.listeners.get(e)?.delete(r);}emit(e){let r=this.listeners.get(e.type);if(r)for(let n of r)try{n(e);}catch{}}sleep(e){return new Promise(r=>setTimeout(r,e))}async run(e){let r=gd(),n=gr(this.flow,r);if(await this.store.saveRunState(r,n),e)for(let[s,o]of Object.entries(e))await this.store.setData(r,s,o);this.emit({type:"flow:start",runId:r,timestamp:n.startedAt,data:{initialData:e??{}}});try{return await this.executeLoop(r,n)}catch(s){let o=s instanceof Error?s:new Error(String(s));return this.emit({type:"flow:error",runId:r,timestamp:Date.now(),data:{error:o.message}}),this.options.onError?.(o),n={...n,status:"failed",updatedAt:Date.now()},await this.store.saveRunState(r,n),{runId:r,status:"failed",data:await this.store.getAllData(r),finalStep:n.currentStep,stepHistory:n.stepHistory,durationMs:Date.now()-n.startedAt,error:o}}}async resume(e){let r=await this.store.loadRunState(e);if(!r)throw new Error(`No run found with ID: ${e}`);if(r.status==="completed"||r.status==="failed")throw new Error(`Cannot resume a ${r.status} run`);let n={...r,status:"running",pausedAt:void 0,updatedAt:Date.now()};return await this.store.saveRunState(e,n),this.emit({type:"flow:resumed",runId:e,timestamp:Date.now(),data:{currentStep:n.currentStep}}),this.executeLoop(e,n)}async pause(e){let r=await this.store.loadRunState(e);if(!r)throw new Error(`No run found with ID: ${e}`);let n={...r,status:"paused",pausedAt:Date.now(),updatedAt:Date.now()};await this.store.saveRunState(e,n),this.emit({type:"flow:paused",runId:e,timestamp:Date.now(),data:{currentStep:n.currentStep}});}async executeLoop(e,r){let n=this.flow.settings.max_total_steps??100,s=this.flow.settings.timeout_ms,o=r,a=0;for(;a<n;){if(this.aborted)return o={...o,status:"cancelled",updatedAt:Date.now()},await this.store.saveRunState(e,o),{runId:e,status:"cancelled",data:await this.store.getAllData(e),finalStep:o.currentStep,stepHistory:o.stepHistory,durationMs:Date.now()-o.startedAt};if(s&&Date.now()-o.startedAt>s)return o={...o,status:"completed",updatedAt:Date.now()},await this.store.saveRunState(e,o),{runId:e,status:"timeout",intent:"timeout",data:await this.store.getAllData(e),finalStep:o.currentStep,stepHistory:o.stepHistory,durationMs:Date.now()-o.startedAt};let i=o.currentStep,c=this.flow.terminal_states[i];if(c){o={...o,status:"completed",updatedAt:Date.now()},await this.store.saveRunState(e,o);let f=await this.store.getAllData(e),g={runId:e,status:"completed",intent:c.return_intent,data:hr(c.return_artifacts,f),finalStep:i,stepHistory:o.stepHistory,durationMs:Date.now()-o.startedAt};return this.emit({type:"flow:complete",runId:e,timestamp:Date.now(),data:{...g}}),this.options.onComplete?.(g),g}let u=fr(this.flow,o,i);if(u.broken){o=u.newState,await this.store.saveRunState(e,o),a++;continue}o=u.newState;let l=await this.store.getAllData(e),d=mr(this.flow,i,l),m={runId:e,stepName:i,components:this.components,store:this.store,signal:this.options.signal,emit:(f,g)=>{this.emit({type:"step:complete",runId:e,timestamp:Date.now(),data:{event:f,payload:g}});}};this.emit({type:"step:start",runId:e,timestamp:Date.now(),data:{step:i,input:d}});let p;try{let f=this.handlers.get(i);if(!f)throw new Error(`No handler registered for step "${i}"`);p=await f(d,m);}catch(f){let g=f instanceof Error?f:new Error(String(f));this.emit({type:"step:error",runId:e,timestamp:Date.now(),data:{step:i,error:g.message}}),p={result:"failure",data:{error:g.message}};}if(p.data)for(let[f,g]of Object.entries(p.data))await this.store.setData(e,f,g);this.emit({type:"step:complete",runId:e,timestamp:Date.now(),data:{step:i,result:p.result}}),this.options.onStep?.(i,p);let h=pr(this.flow,o,i,p);if(o=h.newState,h.shouldRetry){await this.store.saveRunState(e,o);let f=this.flow.steps[i];if(f.retry?.delay_ms){let g=o.retryCounts[i]??0,k=f.retry.backoff_multiplier?f.retry.delay_ms*Math.pow(f.retry.backoff_multiplier,g-1):f.retry.delay_ms;await this.sleep(k);}a++;continue}await this.store.saveRunState(e,o),this.emit({type:"transition",runId:e,timestamp:Date.now(),data:{from:i,to:o.currentStep,result:p.result}}),this.options.onTransition?.(i,o.currentStep),a++;}return o={...o,status:"completed",updatedAt:Date.now()},await this.store.saveRunState(e,o),{runId:e,status:"max_iterations",intent:"max_iterations",data:await this.store.getAllData(e),finalStep:o.currentStep,stepHistory:o.stepHistory,durationMs:Date.now()-o.startedAt}}};function wn(t,e,r){return new Qe(t,e,r)}async function $n(t){return (await import('yaml')).parse(t)}async function yd(t){let e=await fetch(t);if(!e.ok)throw new Error(`Failed to load flow from ${t}: ${e.statusText}`);let r=e.headers.get("content-type")??"",n=await e.text();return r.includes("json")||t.endsWith(".json")?JSON.parse(n):$n(n)}async function vd(t){let r=await(await import('fs/promises')).readFile(t,"utf-8");return t.endsWith(".json")?JSON.parse(r):$n(r)}function Rn(t){let e=[];if(!t||typeof t!="object")return ["Flow must be an object"];let r=t;if(!r.settings||typeof r.settings!="object"?e.push('Flow must have a "settings" object'):typeof r.settings.start_step!="string"&&e.push("settings.start_step must be a string"),!r.steps||typeof r.steps!="object")e.push('Flow must have a "steps" object');else {let n=r.steps;for(let[s,o]of Object.entries(n)){if(!o||typeof o!="object"){e.push(`Step "${s}" must be an object`);continue}let a=o;(!a.transitions||typeof a.transitions!="object")&&e.push(`Step "${s}" must have a "transitions" object`),a.failure_transitions!==void 0&&typeof a.failure_transitions!="object"&&e.push(`Step "${s}" failure_transitions must be an object when provided`);}}if(!r.terminal_states||typeof r.terminal_states!="object")e.push('Flow must have a "terminal_states" object');else {let n=r.terminal_states;for(let[s,o]of Object.entries(n)){if(!o||typeof o!="object"){e.push(`Terminal state "${s}" must be an object`);continue}typeof o.return_intent!="string"&&e.push(`Terminal state "${s}" must have a "return_intent" string`);}}return e}async function na(t){let e;typeof t=="string"?t.startsWith("http://")||t.startsWith("https://")?e=await yd(t):t.includes("{")?e=JSON.parse(t):e=await vd(t):e=t;let r=Rn(e);if(r.length>0)throw new Error(`Invalid step flow configuration:
|
|
9
|
+
- ${r.join(`
|
|
10
|
+
- `)}`);return e}var sa={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://github.com/yaml-flow/schema/flow.json",title:"YamlFlow Configuration",description:"Schema for yaml-flow workflow definitions",type:"object",required:["settings","steps","terminal_states"],properties:{id:{type:"string",description:"Optional flow identifier"},settings:{type:"object",description:"Flow-level settings",required:["start_step"],properties:{start_step:{type:"string",description:"Step to start execution from"},max_total_steps:{type:"integer",minimum:1,default:100,description:"Maximum steps before forced termination"},timeout_ms:{type:"integer",minimum:0,description:"Flow timeout in milliseconds"}},additionalProperties:false},steps:{type:"object",description:"Step definitions",minProperties:1,additionalProperties:{$ref:"#/definitions/step"}},terminal_states:{type:"object",description:"Terminal state definitions",minProperties:1,additionalProperties:{$ref:"#/definitions/terminal_state"}}},additionalProperties:false,definitions:{step:{type:"object",description:"Individual step configuration",required:["transitions"],properties:{description:{type:"string",description:"Human-readable description"},expects_data:{type:"array",items:{type:"string"},description:"Data keys this step expects as input"},produces_data:{type:"array",items:{type:"string"},description:"Data keys this step produces as output"},transitions:{type:"object",description:"Mapping of result -> next step name",additionalProperties:{type:"string"},minProperties:1},failure_transitions:{type:"object",description:"Mapping of failure-like results (e.g. failure, timeout) -> next step name",additionalProperties:{type:"string"}},retry:{$ref:"#/definitions/retry_config"},circuit_breaker:{$ref:"#/definitions/circuit_breaker_config"}},additionalProperties:false},terminal_state:{type:"object",description:"Terminal state configuration",required:["return_intent"],properties:{description:{type:"string",description:"Human-readable description"},return_intent:{type:"string",description:"Intent/status to return (e.g., 'success', 'error')"},return_artifacts:{oneOf:[{type:"string"},{type:"array",items:{type:"string"}},{type:"boolean",const:false}],description:"Data key(s) to include in result, or false to exclude"},expects_data:{type:"array",items:{type:"string"},description:"Data keys this terminal state expects"}},additionalProperties:false},retry_config:{type:"object",description:"Retry configuration for step failures",required:["max_attempts"],properties:{max_attempts:{type:"integer",minimum:1,description:"Maximum retry attempts"},delay_ms:{type:"integer",minimum:0,description:"Delay between retries in ms"},backoff_multiplier:{type:"number",minimum:1,description:"Backoff multiplier (e.g., 2 for exponential)"}},additionalProperties:false},circuit_breaker_config:{type:"object",description:"Circuit breaker configuration for loops",required:["max_iterations","on_open"],properties:{max_iterations:{type:"integer",minimum:1,description:"Maximum iterations before circuit opens"},on_open:{type:"string",description:"Step to transition to when circuit opens"}},additionalProperties:false}}};var Sc=lr(Xr());var Qr=null;function Jh(){if(Qr)return Qr;let t=new Sc.default({allErrors:true});return zh(t),Qr=t.compile(sa),Qr}function wc(t){let e=Jh();return e(t)?{ok:true,errors:[]}:{ok:false,errors:(e.errors??[]).map(s=>`${s.instancePath||"/"}: ${s.message??"unknown error"}`)}}var P={NOT_STARTED:"not-started",RUNNING:"running",COMPLETED:"completed",FAILED:"failed",INACTIVATED:"inactivated"},$c={CREATED:"created",RUNNING:"running",PAUSED:"paused",STOPPED:"stopped",COMPLETED:"completed",FAILED:"failed"},Rc={ALL_TASKS_DONE:"all-tasks-done",ALL_OUTPUTS_DONE:"all-outputs-done",ONLY_RESOLVED:"only-resolved",GOAL_REACHED:"goal-reached",MANUAL:"manual"},Tc={DEPENDENCY_MODE:"dependency-mode",ELIGIBILITY_MODE:"eligibility-mode"},Ec={ALPHABETICAL:"alphabetical",PRIORITY_FIRST:"priority-first",DURATION_FIRST:"duration-first",COST_OPTIMIZED:"cost-optimized",RESOURCE_AWARE:"resource-aware",RANDOM_SELECT:"random-select",USER_CHOICE:"user-choice",PARALLEL_ALL:"parallel-all",SKIP_CONFLICTS:"skip-conflicts",ROUND_ROBIN:"round-robin"},Cc={EXECUTION_MODE:"eligibility-mode",CONFLICT_STRATEGY:"alphabetical",COMPLETION_STRATEGY:"all-outputs-done",MAX_ITERATIONS:1e3};function E(t){return t?Array.isArray(t.provides)?t.provides:[]:[]}function O(t){return t?Array.isArray(t.requires)?t.requires:[]:[]}function G(t){return t.tasks??{}}function xc(t,e){return t.tasks[e]}function jc(t,e){return e in t.tasks}function X(t){return t?t.status===P.FAILED||t.status===P.INACTIVATED:false}function Pc(t){return t?.status===P.COMPLETED}function Oc(t){return t?.status===P.RUNNING}function Je(t,e){return t.refreshStrategy??e?.refreshStrategy??"data-changed"}function Ac(t,e){return Je(t,e)!=="once"}function gt(t){return t.maxExecutions}function ue(t,e){let r=new Set;for(let[n,s]of Object.entries(e))if(s.status===P.COMPLETED){let o=t.tasks[n];o&&E(o).forEach(i=>r.add(i));}return Array.from(r)}function qe(t,e){let r={};return t.forEach(n=>{let s=e[n];if(!s)return;E(s).forEach(a=>{r[a]||(r[a]=[]),r[a].push(n);});}),r}function vo(t,e,r,n){for(let s of r){if(s===t)continue;let o=E(n[s]);if(e.some(i=>o.includes(i)))return true}return false}function Nc(t,e,r){return {...t,tasks:{...t.tasks,[e]:r}}}function Yt(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function Zr(t,e){let r={};for(let n of Object.keys(t.tasks))r[n]=Yt();return {status:"running",tasks:r,availableOutputs:[],stuckDetection:{is_stuck:false,stuck_description:null,outputs_unresolvable:[],tasks_blocked:[]},lastUpdated:new Date().toISOString(),executionId:e,executionConfig:{executionMode:t.settings.execution_mode??"eligibility-mode",conflictStrategy:t.settings.conflict_strategy??"alphabetical",completionStrategy:t.settings.completion}}}function _o(t,e,r,n){switch(n){case "alphabetical":return qc(t);case "priority-first":return Wh(t,e);case "duration-first":return Yh(t,e);case "cost-optimized":return Xh(t,e);case "resource-aware":return Qh(t,e);case "round-robin":return Zh(t,r);default:return qc(t)}}function qc(t){return [...t].sort((e,r)=>e.localeCompare(r))[0]}function Wh(t,e){return [...t].sort((r,n)=>{let s=e[r]?.priority??0,o=e[n]?.priority??0;if(s!==o)return o-s;let a=en(e[r]),i=en(e[n]);return a!==i?a-i:r.localeCompare(n)})[0]}function Yh(t,e){return [...t].sort((r,n)=>{let s=en(e[r]),o=en(e[n]);if(s!==o)return s-o;let a=e[r]?.priority??0,i=e[n]?.priority??0;return a!==i?i-a:r.localeCompare(n)})[0]}function Xh(t,e){return [...t].sort((r,n)=>{let s=e[r]?.estimatedCost??0,o=e[n]?.estimatedCost??0;if(s!==o)return s-o;let a=e[r]?.priority??0,i=e[n]?.priority??0;return a!==i?i-a:r.localeCompare(n)})[0]}function Qh(t,e){return [...t].sort((r,n)=>{let s=e[r]?.estimatedResources?.cpu??1,o=e[n]?.estimatedResources?.cpu??1;if(s!==o)return s-o;let a=e[r]?.priority??0,i=e[n]?.priority??0;return a!==i?i-a:r.localeCompare(n)})[0]}function Zh(t,e){let r=Object.values(e.tasks).reduce((s,o)=>s+o.executionCount,0),n=[...t].sort();return n[r%n.length]}function en(t){return t?.estimatedDuration??1/0}function tn(t,e){return t.filter(r=>{let n=E(e[r]);return !vo(r,n,t,e)})}function ko(t,e){let r=qe(t,e),n=[];for(let o of Object.values(r))if(o.length===1)n.push(...o);else {let a=Math.floor(Math.random()*o.length);n.push(o[a]);}return tn(t,e).forEach(o=>{n.includes(o)||n.push(o);}),n}function rn(t,e){switch(e.executionConfig.completionStrategy){case "all-tasks-done":return eg(t,e);case "all-outputs-done":return bo(t,e);case "only-resolved":return tg(t,e);case "goal-reached":return rg(t,e);case "manual":return {isComplete:false,expectedCompletion:{taskNames:[],outputs:[]}};default:return bo(t,e)}}function eg(t,e){let r=G(t),n=Object.keys(r);return n.length===0?{isComplete:true,expectedCompletion:{taskNames:[],outputs:[]}}:{isComplete:n.every(o=>{let a=e.tasks[o];return a?.status===P.COMPLETED||X(a)}),expectedCompletion:{taskNames:n,outputs:[]}}}function bo(t,e){let r=G(t),n=new Set;for(let a of Object.values(r))E(a).forEach(i=>n.add(i));let s=ue(t,e.tasks);return {isComplete:[...n].every(a=>s.includes(a)),expectedCompletion:{taskNames:[],outputs:[...n]}}}function tg(t,e){let r=G(t),n=ue(t,e.tasks),s=new Set,o={};for(let[c,u]of Object.entries(r))E(u).forEach(d=>{s.add(d),o[d]||(o[d]=[]),o[d].push(c);});for(let c of s){if(n.includes(c))continue;if((o[c]??[]).some(d=>{let m=e.tasks[d];if(m?.status===P.COMPLETED||X(m))return false;let p=r[d];return O(p).every(f=>n.includes(f))}))return {isComplete:false,expectedCompletion:{taskNames:[],outputs:[]}}}let a=ng(t,e);return a.length>0?{isComplete:false,expectedCompletion:{taskNames:a,outputs:[]}}:{isComplete:Object.values(e.tasks).filter(c=>c.status===P.COMPLETED).length>0||n.length>0,expectedCompletion:{taskNames:[],outputs:[]}}}function rg(t,e){let r=t.settings.goal??[];if(r.length===0)return bo(t,e);let n=ue(t,e.tasks);return {isComplete:r.every(o=>n.includes(o)),expectedCompletion:{taskNames:[],outputs:r}}}function ng(t,e){let r=G(t),n=ue(t,e.tasks),s=[];for(let[o,a]of Object.entries(r)){let i=e.tasks[o];if(i?.status===P.COMPLETED||i?.status===P.RUNNING||X(i))continue;if(O(a).every(u=>n.includes(u))){let u=E(a);u.length>0&&u.every(d=>n.includes(d))||s.push(o);}}return s}function nn(t){let{graph:e,state:r,eligibleTasks:n,completionResult:s}=t,o=r.tasks,a=G(e),i=ue(e,o);if(n.length>0)return {is_stuck:false,stuck_description:null,outputs_unresolvable:[],tasks_blocked:[]};if(Object.values(o).some(d=>d.status===P.RUNNING))return {is_stuck:false,stuck_description:null,outputs_unresolvable:[],tasks_blocked:[]};if(s?.expectedCompletion){let{taskNames:d=[],outputs:m=[]}=s.expectedCompletion;if(d.length>0){let p=d.filter(h=>X(o[h]));if(p.length>0&&p.length===d.length)return {is_stuck:true,stuck_description:`Completion expects tasks ${d.join(", ")} but all are failed`,tasks_blocked:p,outputs_unresolvable:m}}if(m.length>0&&r.executionConfig.completionStrategy!=="only-resolved"){let p=m.filter(h=>!i.includes(h));if(p.length>0){let h=[];for(let f of p)Object.entries(a).filter(([,_])=>E(_).includes(f)).map(([_])=>_).filter(_=>!X(o[_])).length===0&&h.push(f);if(h.length>0)return {is_stuck:true,stuck_description:`Completion expects outputs '${h.join("', '")}' but no viable tasks can provide them`,tasks_blocked:[],outputs_unresolvable:h}}}}let u=[],l=new Set;for(let[d,m]of Object.entries(a)){let p=o[d];if(p?.status===P.COMPLETED||X(p)||p?.status===P.RUNNING)continue;let f=O(m).filter(g=>!i.includes(g));f.length>0&&(f.every(k=>Object.entries(a).filter(([,y])=>E(y).includes(k)).map(([y])=>y).some(y=>!X(o[y])&&o[y]?.status!==P.COMPLETED))||(u.push(d),f.forEach(k=>l.add(k))));}return u.length>0?{is_stuck:true,stuck_description:`Tasks [${u.join(", ")}] blocked by unresolvable dependencies: ${[...l].join(", ")}`,tasks_blocked:u,outputs_unresolvable:[...l]}:{is_stuck:false,stuck_description:null,outputs_unresolvable:[],tasks_blocked:[]}}function Ic(t,e){let r=[],n=G(t);if(Object.keys(n).length===0)return {eligibleTasks:[],isComplete:true,stuckDetection:{is_stuck:false,stuck_description:null,outputs_unresolvable:[],tasks_blocked:[]},hasConflicts:false,conflicts:{},strategy:e.executionConfig.conflictStrategy,processingLog:["No tasks defined"]};let s=e.executionConfig.executionMode,o=e.executionConfig.conflictStrategy,a=So(t,e);r.push(`Found ${a.length} candidate tasks: ${a.join(", ")||"none"}`);let i,c=false,u={};if(s==="dependency-mode")i=a;else {let m=sg(a,t,e,o);i=m.eligibleTasks,c=m.hasConflicts,u=m.conflicts;}r.push(`Eligible after conflict resolution: ${i.join(", ")||"none"}`);let l=rn(t,e);r.push(`Execution complete: ${l.isComplete}`);let d=nn({graph:t,state:e,eligibleTasks:i,completionResult:l});return d.is_stuck&&r.push(`STUCK: ${d.stuck_description}`),{eligibleTasks:i,isComplete:l.isComplete,stuckDetection:d,hasConflicts:c,conflicts:u,strategy:o,processingLog:r}}function So(t,e){let r=G(t),n=ue(t,e.tasks),s=[...new Set([...n,...e.availableOutputs])],o=[];for(let[a,i]of Object.entries(r)){let c=e.tasks[a],u=Je(i,t.settings),l=u!=="once";if(c?.status===P.RUNNING||X(c))continue;let d=gt(i);if(d!==void 0&&c&&c.executionCount>=d||i.circuit_breaker&&c&&c.executionCount>=i.circuit_breaker.max_executions||!l&&c?.status===P.COMPLETED)continue;if(l&&c?.status===P.COMPLETED){let p=O(i);switch(u){case "data-changed":{if(p.length>0){if(!p.some(f=>{for(let[g,k]of Object.entries(r))if(E(k).includes(f)){let _=e.tasks[g];if(!_)continue;let y=c.lastConsumedHashes?.[f];return _.lastDataHash==null?_.executionCount>c.lastEpoch:_.lastDataHash!==y}return false}))continue}else continue;break}case "epoch-changed":{if(p.length>0){if(!p.some(f=>{for(let[g,k]of Object.entries(r))if(E(k).includes(f)){let _=e.tasks[g];if(_&&_.executionCount>c.lastEpoch)return true}return false}))continue}else continue;break}case "time-based":{let h=i.refreshInterval??0;if(h<=0)continue;let f=c.completedAt;if(!f||(Date.now()-Date.parse(f))/1e3<h)continue;break}case "manual":continue;default:continue}}if(O(i).every(p=>s.includes(p))){if(!l){let p=E(i);if(p.length>0&&p.every(f=>s.includes(f)))continue}o.push(a);}}return o}function sg(t,e,r,n){let s={eligibleTasks:[],hasConflicts:false,conflicts:{}};if(t.length===0)return s;let o=G(e);switch(n){case "parallel-all":return s.eligibleTasks=t,s;case "user-choice":{if(s.eligibleTasks=t,t.length>1){let d=qe(t,o);for(let[m,p]of Object.entries(d))p.length>1&&(s.conflicts[m]=p,s.hasConflicts=true);}return s}case "skip-conflicts":return s.eligibleTasks=tn(t,o),s;case "random-select":return s.eligibleTasks=ko(t,o),s}let a=qe(t,o),i=new Set;for(let[d,m]of Object.entries(r.tasks))if(m.status===P.RUNNING){let p=e.tasks[d];p&&E(p).forEach(h=>i.add(h));}let c=[],u=new Set;for(let[d,m]of Object.entries(a))if(!i.has(d)){if(m.length===1)c.push(m[0]);else {let p=_o(m,o,r,n);c.push(p);}m.forEach(p=>u.add(p));}return t.filter(d=>!u.has(d)).forEach(d=>{c.includes(d)||c.push(d);}),s.eligibleTasks=c,s}function Xt(t,e,r){let n=t.tasks[e]??sn(),s={};if(r){let a=r.tasks[e],i=O(a);for(let c of i)for(let[u,l]of Object.entries(r.tasks))if(E(l).includes(c)){let d=t.tasks[u];d?.lastDataHash&&(s[c]=d.lastDataHash);break}}let o={...n,status:"running",startedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),progress:0,error:void 0,startConsumedHashes:s};return {...t,tasks:{...t.tasks,[e]:o},lastUpdated:new Date().toISOString()}}function Qt(t,e,r,n,s,o){let a=t.tasks[r]??sn(),i=e.tasks[r];if(!i)throw new Error(`Task "${r}" not found in graph`);let c;n&&i.on&&i.on[n]?c=i.on[n]:c=E(i);let u=a.startConsumedHashes?{...a.startConsumedHashes}:{...a.lastConsumedHashes};if(!a.startConsumedHashes){let m=i.requires??[];for(let p of m)for(let[h,f]of Object.entries(e.tasks))if(E(f).includes(p)){let g=t.tasks[h];g?.lastDataHash&&(u[p]=g.lastDataHash);break}}let l={...a,status:"completed",completedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),executionCount:a.executionCount+1,lastEpoch:a.executionCount+1,lastDataHash:s,data:o,lastConsumedHashes:u,error:void 0},d=[...new Set([...t.availableOutputs,...c])];return {...t,tasks:{...t.tasks,[r]:l},availableOutputs:d,lastUpdated:new Date().toISOString()}}function Zt(t,e,r,n){let s=t.tasks[r]??sn(),o=e.tasks[r];if(o?.retry){let c=s.retryCount+1;if(c<=o.retry.max_attempts){let u={...s,status:"not-started",retryCount:c,lastUpdated:new Date().toISOString(),error:n};return {...t,tasks:{...t.tasks,[r]:u},lastUpdated:new Date().toISOString()}}}let a={...s,status:"failed",failedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),error:n,executionCount:s.executionCount+1},i=t.availableOutputs;if(o?.on_failure&&o.on_failure.length>0&&(i=[...new Set([...t.availableOutputs,...o.on_failure])]),o?.circuit_breaker&&a.executionCount>=o.circuit_breaker.max_executions){let c=o.circuit_breaker.on_break;i=[...new Set([...i,...c])];}return {...t,tasks:{...t.tasks,[r]:a},availableOutputs:i,lastUpdated:new Date().toISOString()}}function er(t,e,r,n){let s=t.tasks[e]??sn(),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 {...t,tasks:{...t.tasks,[e]:o},lastUpdated:new Date().toISOString()}}function tr(t,e){let r=t.tasks[e];if(!r)return t;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 {...t,tasks:{...t.tasks,[e]:n},lastUpdated:new Date().toISOString()}}function sn(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function wo(t,e,r){if("executionId"in e&&e.executionId&&e.executionId!==t.executionId)return t;switch(e.type){case "task-started":return Xt(t,e.taskName,r);case "task-completed":return Qt(t,r,e.taskName,e.result,e.dataHash,e.data);case "task-failed":return Zt(t,r,e.taskName,e.error);case "task-progress":return er(t,e.taskName,e.message,e.progress);case "task-restart":return tr(t,e.taskName);case "inject-tokens":return og(t,e.tokens);case "agent-action":return ag(t,e.action,r,e.config);case "task-upsert":return ig(t,e.taskName,e.taskConfig);default:return t}}function Dc(t,e,r){return e.reduce((n,s)=>wo(n,s,r),t)}function og(t,e){return {...t,availableOutputs:[...new Set([...t.availableOutputs,...e])],lastUpdated:new Date().toISOString()}}function ag(t,e,r,n){let s=new Date().toISOString();switch(e){case "start":{let o=`exec-${Date.now()}`,a=Zr(r,o);return n&&(n.executionMode&&(a.executionConfig.executionMode=n.executionMode),n.conflictStrategy&&(a.executionConfig.conflictStrategy=n.conflictStrategy),n.completionStrategy&&(a.executionConfig.completionStrategy=n.completionStrategy)),a}case "stop":return {...t,status:"stopped",executionId:null,lastUpdated:s};case "pause":return {...t,status:"paused",lastUpdated:s};case "resume":return {...t,status:"running",lastUpdated:s};default:return t}}function ig(t,e,r){return !e||!r||!Array.isArray(r.provides)?t:{...t,tasks:{...t.tasks,[e]:t.tasks[e]??Yt()},lastUpdated:new Date().toISOString()}}function cg(t){let e={};for(let[r,n]of Object.entries(t)){for(let s of E(n))e[s]||(e[s]=[]),e[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)e[o]||(e[o]=[]),e[o].includes(r)||e[o].push(r);if(n.on_failure)for(let s of n.on_failure)e[s]||(e[s]=[]),e[s].includes(r)||e[s].push(r);}return e}function ug(t,e){let r={};for(let[n,s]of Object.entries(t)){let o=O(s),a=new Set;for(let i of o){let c=e[i]||[];for(let u of c)u!==n&&a.add(u);}r[n]=[...a];}return r}function dg(t,e){let r=new Set(t),n={},s={};for(let i of t)n[i]=0,s[i]=[];for(let i of t)for(let c of e[i]||[])r.has(c)&&(n[i]++,s[c].push(i));let o=[],a=new Set(t);for(;a.size>0;){let i=[];for(let c of a)n[c]===0&&i.push(c);if(i.length===0){o.push([...a]);break}i.sort(),o.push(i);for(let c of i){a.delete(c);for(let u of s[c]||[])a.has(u)&&n[u]--;}}return o}function Mc(t){let e=G(t),r=Object.keys(e);if(r.length===0)return {phases:[],dependencies:{},conflicts:{},entryPoints:[],leafTasks:[],unreachableTokens:[],blockedTasks:[],depth:0,maxParallelism:0};let n=cg(e),s=ug(e,n),o={};for(let[h,f]of Object.entries(n))f.length>1&&(o[h]=f);let a=r.filter(h=>O(e[h]).length===0),i=new Set;for(let h of Object.values(s))for(let f of h)i.add(f);let c=r.filter(h=>!i.has(h)),u=new Set;for(let h of Object.values(e))for(let f of O(h))u.add(f);let l=[...u].filter(h=>!n[h]),d=new Set(l),m=r.filter(h=>O(e[h]).some(f=>d.has(f))),p=dg(r,s);return {phases:p,dependencies:s,conflicts:o,entryPoints:a,leafTasks:c.sort(),unreachableTokens:l.sort(),blockedTasks:m.sort(),depth:p.length,maxParallelism:Math.max(0,...p.map(h=>h.length))}}function we(t){return t.replace(/[^a-zA-Z0-9_]/g,"_")}function Gc(t,e={}){let{direction:r="TD",showTokens:n=true,title:s}=e,o=G(t),a=Object.keys(o);if(a.length===0)return `graph ${r}
|
|
11
|
+
empty[No tasks defined]`;let i={};for(let[p,h]of Object.entries(o)){for(let f of E(h))i[f]||(i[f]=[]),i[f].push(p);if(h.on)for(let f of Object.values(h.on))for(let g of f)i[g]||(i[g]=[]),i[g].includes(p)||i[g].push(p);}let c=[],u=s||t.id||"Event Graph";c.push(`%% ${u}`),c.push(`graph ${r}`);let l=new Set;for(let p of Object.values(o))for(let h of O(p))l.add(h);let d=new Set(a.filter(p=>{let h=E(o[p]);return h.length===0||h.every(f=>!l.has(f))}));for(let p of a){let h=we(p);O(o[p]).length===0?c.push(` ${h}([${p}])`):d.has(p)?c.push(` ${h}[[${p}]]`):c.push(` ${h}[${p}]`);}let m=new Set;for(let[p,h]of Object.entries(o)){let f=O(h);for(let g of f){let k=i[g]||[];for(let _ of k){if(_===p)continue;let y=`${_}->${p}:${g}`;if(m.has(y))continue;m.add(y);let S=we(_),v=we(p);n?c.push(` ${S} -->|${g}| ${v}`):c.push(` ${S} --> ${v}`);}}for(let g of f)if(!i[g]){let k=`warn_${we(g)}`,_=we(p);c.push(` ${k}{{\u26A0 ${g}}} -.->|missing| ${_}`);}}return c.join(`
|
|
12
|
+
`)}function Lc(t,e={}){let{direction:r="TD",title:n}=e,s=t.steps,o=t.terminal_states,a=t.settings.start_step,i=[],c=n||t.id||"Step Machine";i.push(`%% ${c}`),i.push(`graph ${r}`),i.push(" START(( ))"),i.push(` START --> ${we(a)}`);for(let u of Object.keys(s)){let l=we(u);i.push(` ${l}[${u}]`);}for(let[u,l]of Object.entries(o)){let d=we(u);i.push(` ${d}([${u}: ${l.return_intent}])`);}for(let[u,l]of Object.entries(s)){let d=we(u);for(let[m,p]of Object.entries(l.transitions)){let h=we(p);i.push(` ${d} -->|${m}| ${h}`);}}return i.join(`
|
|
13
|
+
`)}function $o(t){let e=[];if(!t||typeof t!="object")return ["Graph config must be an object"];let r=t;if(!r.settings||typeof r.settings!="object")e.push('Graph config must have a "settings" object');else {let n=r.settings;(!n.completion||typeof n.completion!="string")&&e.push("settings.completion must be a string"),n.completion==="goal-reached"&&(!Array.isArray(n.goal)||n.goal.length===0)&&e.push('settings.goal must be a non-empty array when completion is "goal-reached"');}if(!r.tasks||typeof r.tasks!="object")e.push('Graph config must have a "tasks" object');else {let n=r.tasks;Object.keys(n).length===0&&e.push("Graph config must have at least one task");for(let[s,o]of Object.entries(n)){if(!o||typeof o!="object"){e.push(`Task "${s}" must be an object`);continue}let a=o;if(Array.isArray(a.provides)||e.push(`Task "${s}" must have a "provides" array`),a.requires!==void 0&&!Array.isArray(a.requires)&&e.push(`Task "${s}".requires must be an array if present`),a.on!==void 0)if(typeof a.on!="object"||Array.isArray(a.on))e.push(`Task "${s}".on must be an object mapping result keys to token arrays`);else for(let[i,c]of Object.entries(a.on))Array.isArray(c)||e.push(`Task "${s}".on.${i} must be an array of tokens`);}}return e}async function Fc(t){return (await import('yaml')).parse(t)}async function Hc(t){let e;if(typeof t=="string")if(t.startsWith("http://")||t.startsWith("https://")){let n=await fetch(t);if(!n.ok)throw new Error(`Failed to load graph config from ${t}: ${n.statusText}`);let s=await n.text();(n.headers.get("content-type")??"").includes("json")||t.endsWith(".json")?e=JSON.parse(s):e=await Fc(s);}else if(t.includes("{"))e=JSON.parse(t);else {let s=await(await import('fs/promises')).readFile(t,"utf-8");t.endsWith(".json")?e=JSON.parse(s):e=await Fc(s);}else e=t;let r=$o(e);if(r.length>0)throw new Error(`Invalid graph configuration:
|
|
14
|
+
- ${r.join(`
|
|
15
|
+
- `)}`);return e}function Ro(t,e={}){let{format:r="json",indent:n=2}=e;return r==="yaml"?on(t,n):JSON.stringify(t,null,n)}async function Uc(t,e,r={}){let n=r.format??(e.endsWith(".yaml")||e.endsWith(".yml")?"yaml":"json"),s=Ro(t,{...r,format:n});await(await import('fs/promises')).writeFile(e,s,"utf-8");}function on(t,e,r=0){let n=" ".repeat(e*r);if(t==null)return "null";if(typeof t=="boolean"||typeof t=="number")return String(t);if(typeof t=="string")return t.includes(":")||t.includes("#")||t.includes(`
|
|
16
|
+
`)||t.includes('"')||t.includes("'")||t.startsWith(" ")||t.startsWith("{")||t.startsWith("[")||t===""?JSON.stringify(t):t;if(Array.isArray(t))return t.length===0?"[]":t.every(s=>typeof s=="string"||typeof s=="number"||typeof s=="boolean")?`[${t.map(s=>typeof s=="string"?on(s,e,0):String(s)).join(", ")}]`:t.map(s=>{let o=on(s,e,r+1);if(typeof s=="object"&&s!==null&&!Array.isArray(s)){let a=o.trimStart().split(`
|
|
17
|
+
`);return `${n}- ${a[0]}
|
|
18
|
+
${a.slice(1).map(i=>`${n} ${i.trimStart()?i:""}`).filter(Boolean).join(`
|
|
19
|
+
`)}`}return `${n}- ${o}`}).join(`
|
|
20
|
+
`);if(typeof t=="object"){let s=Object.entries(t);return s.length===0?"{}":s.map(([o,a])=>{if(a===void 0)return "";let i=on(a,e,r+1);return typeof a=="object"&&a!==null&&!Array.isArray(a)&&Object.keys(a).length>0?`${n}${o}:
|
|
21
|
+
${i}`:Array.isArray(a)&&a.length>0&&!a.every(c=>typeof c=="string"||typeof c=="number"||typeof c=="boolean")?`${n}${o}:
|
|
22
|
+
${i}`:`${n}${o}: ${i}`}).filter(Boolean).join(`
|
|
23
|
+
`)}return String(t)}function lg(t){let e={};for(let[r,n]of Object.entries(t)){for(let s of E(n))e[s]||(e[s]=[]),e[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)e[o]||(e[o]=[]),e[o].includes(r)||e[o].push(r);if(n.on_failure)for(let s of n.on_failure)e[s]||(e[s]=[]),e[s].includes(r)||e[s].push(r);}return e}function pg(t,e){let r={};for(let[n,s]of Object.entries(t)){r[n]=new Set;for(let o of O(s))for(let a of e[o]||[])a!==n&&r[n].add(a);}return r}function fg(t,e){let o={},a={},i=[];for(let u of t)o[u]=0,a[u]=null;function c(u){o[u]=1;for(let l of e[u]||[])if(o[l]===1){let d=[l],m=u;for(;m!==l;)d.push(m),m=a[m];d.push(l),d.reverse(),i.push(d);}else o[l]===0&&(a[l]=u,c(l));o[u]=2;}for(let u of t)o[u]===0&&c(u);return i}function Bc(t){let e=[],r=G(t),n=Object.keys(r);if(n.length===0)return e.push({severity:"error",code:"EMPTY_GRAPH",message:"Graph has no tasks"}),Vc(e);let s=lg(r),o=pg(r,s);for(let[c,u]of Object.entries(r))for(let l of O(u))s[l]||e.push({severity:"error",code:"DANGLING_REQUIRES",message:`Task "${c}" requires token "${l}" but no task produces it`,tasks:[c],tokens:[l]});let a=fg(n,o);for(let c of a)e.push({severity:"error",code:"CIRCULAR_DEPENDENCY",message:`Circular dependency: ${c.join(" \u2192 ")}`,tasks:c.filter((u,l)=>l<c.length-1)});for(let[c,u]of Object.entries(r)){let l=O(u),d=E(u),m=l.filter(p=>d.includes(p));m.length>0&&e.push({severity:"error",code:"SELF_DEPENDENCY",message:`Task "${c}" requires tokens it provides itself: [${m.join(", ")}]`,tasks:[c],tokens:m});}for(let[c,u]of Object.entries(s))u.length>1&&e.push({severity:"warning",code:"PROVIDE_CONFLICT",message:`Token "${c}" is produced by multiple tasks: [${u.join(", ")}]. This requires a conflict strategy.`,tasks:u,tokens:[c]});if(t.settings.completion==="goal-reached"&&t.settings.goal)for(let c of t.settings.goal)s[c]||e.push({severity:"error",code:"UNREACHABLE_GOAL",message:`Goal token "${c}" cannot be produced by any task`,tokens:[c]});if(n.length>1)for(let[c,u]of Object.entries(r)){let l=E(u),d=u.on?Object.values(u.on).flat():[],m=u.on_failure||[];l.length===0&&d.length===0&&m.length===0&&e.push({severity:"warning",code:"DEAD_END_TASK",message:`Task "${c}" has no provides \u2014 it cannot unblock any downstream task`,tasks:[c]});}let i=new Set;for(let c of Object.values(r))for(let u of O(c))i.add(u);for(let[c,u]of Object.entries(r)){let l=O(u),d=E(u),m=u.on?Object.values(u.on).flat():[],p=[...d,...m],h=l.length===0,f=p.some(g=>i.has(g));h&&!f&&n.length>1&&(t.settings.completion==="goal-reached"&&t.settings.goal?.some(k=>p.includes(k))||e.push({severity:"info",code:"ISOLATED_TASK",message:`Task "${c}" is disconnected \u2014 it has no requires and nothing depends on its provides`,tasks:[c]}));}return t.settings.completion==="goal-reached"&&!t.settings.goal&&e.push({severity:"error",code:"MISSING_GOAL",message:'Completion strategy is "goal-reached" but no goal tokens are defined'}),Vc(e)}function Vc(t){let e=t.filter(n=>n.severity==="error"),r=t.filter(n=>n.severity==="warning");return {valid:e.length===0,issues:t,errors:e,warnings:r}}var Kc={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://github.com/yaml-flow/schema/event-graph.json",title:"Event Graph Configuration",description:"Schema for stateless event-graph (DAG) workflow definitions in yaml-flow",type:"object",required:["settings","tasks"],additionalProperties:false,properties:{id:{type:"string",description:"Optional graph identifier"},settings:{$ref:"#/definitions/settings"},tasks:{type:"object",description:"Task definitions keyed by name",minProperties:1,additionalProperties:{$ref:"#/definitions/task"}}},definitions:{settings:{type:"object",required:["completion"],properties:{completion:{type:"string",enum:["all-tasks-done","all-outputs-done","only-resolved","goal-reached","manual"],description:"Completion strategy"},conflict_strategy:{type:"string",enum:["alphabetical","priority-first","duration-first","cost-optimized","resource-aware","random-select","user-choice","parallel-all","skip-conflicts","round-robin"],description:"Conflict resolution strategy"},execution_mode:{type:"string",enum:["dependency-mode","eligibility-mode"],description:"Execution mode"},goal:{type:"array",items:{type:"string"},minItems:1,description:"Goal outputs \u2014 required when completion is 'goal-reached'"},max_iterations:{type:"integer",minimum:1,description:"Max scheduler iterations (safety limit, default: 1000)"},timeout_ms:{type:"integer",minimum:0,description:"Timeout in ms (declared for drivers, not enforced by pure engine)"},refreshStrategy:{$ref:"#/definitions/refresh_strategy",description:"Default refresh strategy for all tasks (default: 'data-changed')"}},additionalProperties:false,if:{properties:{completion:{const:"goal-reached"}}},then:{required:["completion","goal"]}},task:{type:"object",required:["provides"],properties:{requires:{type:"array",items:{type:"string"},description:"Tokens this task needs to become eligible"},provides:{type:"array",items:{type:"string"},description:"Tokens this task produces on successful completion"},on:{type:"object",description:"Conditional provides based on handler result key",additionalProperties:{type:"array",items:{type:"string"}}},on_failure:{type:"array",items:{type:"string"},description:"Tokens to inject when this task fails"},method:{type:"string",description:"Task execution method (informational \u2014 driver concern)"},config:{type:"object",description:"Arbitrary task configuration (driver concern)"},priority:{type:"number",description:"Higher = preferred in conflict resolution"},estimatedDuration:{type:"number",minimum:0,description:"Estimated duration in ms (used by duration-first strategy)"},estimatedCost:{type:"number",minimum:0,description:"Estimated cost (used by cost-optimized strategy)"},estimatedResources:{type:"object",additionalProperties:{type:"number"},description:"Resource requirements (used by resource-aware strategy)"},retry:{$ref:"#/definitions/task_retry"},refreshStrategy:{$ref:"#/definitions/refresh_strategy",description:"Task-level refresh strategy (overrides settings default)"},refreshInterval:{type:"number",minimum:0,description:"Interval in seconds for time-based refresh strategy"},maxExecutions:{type:"integer",minimum:1,description:"Maximum number of times this task can execute"},circuit_breaker:{$ref:"#/definitions/task_circuit_breaker"},description:{type:"string",description:"Human-readable description"},inference:{$ref:"#/definitions/inference_hints"}},additionalProperties:false},task_retry:{type:"object",required:["max_attempts"],properties:{max_attempts:{type:"integer",minimum:1,description:"Maximum retry attempts"},delay_ms:{type:"integer",minimum:0,description:"Delay between retries in ms"},backoff_multiplier:{type:"number",minimum:1,description:"Backoff multiplier (e.g., 2 for exponential)"}},additionalProperties:false},refresh_strategy:{type:"string",enum:["data-changed","epoch-changed","time-based","manual","once"],description:"Strategy for determining when a completed task should re-run"},task_circuit_breaker:{type:"object",required:["max_executions","on_break"],properties:{max_executions:{type:"integer",minimum:1,description:"Max executions before breaker trips"},on_break:{type:"array",items:{type:"string"},minItems:1,description:"Tokens to inject when breaker trips"}},additionalProperties:false},inference_hints:{type:"object",description:"LLM inference hints \u2014 opt-in metadata for AI-assisted completion detection",properties:{criteria:{type:"string",description:"Human-readable completion criteria"},keywords:{type:"array",items:{type:"string"},description:"Keywords to help the LLM understand the domain"},suggestedChecks:{type:"array",items:{type:"string"},description:"Suggested checks for verification"},autoDetectable:{type:"boolean",description:"Whether the LLM should attempt to auto-detect completion (default: false)"}},additionalProperties:false}}};var zc=lr(Xr());var an=null;function gg(){if(an)return an;let t=new zc.default({allErrors:true});return zh(t),an=t.compile(Kc),an}function Jc(t){let e=gg();return e(t)?{ok:true,errors:[]}:{ok:false,errors:(e.errors??[]).map(s=>`${s.instancePath||"/"}: ${s.message??"unknown error"}`)}}function To(t){return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Wc(t){return atob(t.replace(/-/g,"+").replace(/_/g,"/"))}var Eo=class{constructor(e){this.kv=e;}kv;stateKey(e){return `state_${To(e)}`}dataPrefix(e){return `data_${To(e)}_`}dataKey(e,r){return `${this.dataPrefix(e)}${To(r)}`}async saveRunState(e,r){this.kv.write(this.stateKey(e),r);}async loadRunState(e){let r=this.kv.read(this.stateKey(e));return r!=null&&typeof r=="object"?r:null}async deleteRunState(e){this.kv.delete(this.stateKey(e));for(let r of this.kv.listKeys(this.dataPrefix(e)))this.kv.delete(r);}async setData(e,r,n){this.kv.write(this.dataKey(e,r),n);}async getData(e,r){return this.kv.read(this.dataKey(e,r))}async getAllData(e){let r=this.dataPrefix(e),n={};for(let s of this.kv.listKeys(r))n[Wc(s.slice(r.length))]=this.kv.read(s);return n}async clearData(e){for(let r of this.kv.listKeys(this.dataPrefix(e)))this.kv.delete(r);}async listRuns(){return this.kv.listKeys("state_").map(e=>Wc(e.slice(6)))}};async function Yc(t,e){let{concurrency:r=5,processor:n,onItemComplete:s,onItemError:o,onProgress:a,signal:i}=e,c=t.length,u=new Array(c),l=Date.now(),d=0,m=0,p=0;function h(f){let g=d+m;return {completed:d,failed:m,active:f,pending:c-g-f,total:c,percent:c===0?100:Math.round(g/c*100),elapsedMs:Date.now()-l}}return c===0?{items:[],completed:0,failed:0,total:0,durationMs:0}:new Promise(f=>{let g=0;function k(){for(;g<r&&p<c;){if(i?.aborted){for(;p<c;){let v=p++;u[v]={item:t[v],index:v,status:"failed",error:new Error("Batch aborted"),durationMs:0},m++;}g===0&&d+m===c&&f({items:u,completed:d,failed:m,total:c,durationMs:Date.now()-l});break}let _=p++,y=t[_];g++;let S=Date.now();n(y,_).then(v=>{u[_]={item:y,index:_,status:"completed",result:v,durationMs:Date.now()-S},d++,s?.(y,v,_);}).catch(v=>{let R=v instanceof Error?v:new Error(String(v));u[_]={item:y,index:_,status:"failed",error:R,durationMs:Date.now()-S},m++,o?.(y,R,_);}).finally(()=>{g--,a?.(h(g)),d+m===c?f({items:u,completed:d,failed:m,total:c,durationMs:Date.now()-l}):k();});}}k();})}function yg(t,e){return t.replace(/\$\{([^}]+)\}/g,(r,n)=>{let s=e[n.trim()];return s!==void 0?String(s):r})}function Co(t,e){if(typeof t=="string")return yg(t,e);if(Array.isArray(t))return t.map(r=>Co(r,e));if(t!==null&&typeof t=="object"){let r={};for(let[n,s]of Object.entries(t))r[n]=Co(s,e);return r}return t}function Xc(t,e){return Co(t,e)}function vg(t,e){let r={...t};for(let[n,s]of Object.entries(e))n!=="config-template"&&(s!==null&&typeof s=="object"&&!Array.isArray(s)&&r[n]!==null&&typeof r[n]=="object"&&!Array.isArray(r[n])?r[n]={...r[n],...s}:r[n]=s);return r}function Qc(t){let e=t.configTemplates??t["config-templates"]??{},r="tasks"in t?"tasks":"steps"in t?"steps":null;if(!r)return t;let n=t[r];if(!n||typeof n!="object")return t;let s={};for(let[a,i]of Object.entries(n)){let c=i.config,u=c?.["config-template"];if(!u||!c){s[a]=i;continue}let l=e[u];if(!l){let{"config-template":d,...m}=c;s[a]={...i,config:m};continue}s[a]={...i,config:vg(l,c)};}let o={...t,[r]:s};return delete o.configTemplates,delete o["config-templates"],o}function cn(t,e){let r=e??`live-${Date.now()}`,n={};for(let o of Object.keys(t.tasks))n[o]=gn();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:t.settings.execution_mode??"eligibility-mode",conflictStrategy:t.settings.conflict_strategy??"alphabetical",completionStrategy:t.settings.completion}};return {config:t,state:s}}function un(t,e){let{config:r,state:n}=t;if("executionId"in e&&e.executionId&&e.executionId!==n.executionId)return t;switch(e.type){case "task-started":return {config:r,state:Xt(n,e.taskName,r)};case "task-completed":return {config:r,state:Qt(n,r,e.taskName,e.result,e.dataHash,e.data)};case "task-failed":return {config:r,state:Zt(n,r,e.taskName,e.error)};case "task-progress":return {config:r,state:er(n,e.taskName,e.message,e.progress)};case "task-restart":return {config:r,state:tr(n,e.taskName)};case "inject-tokens":return {config:r,state:{...n,availableOutputs:[...new Set([...n.availableOutputs,...e.tokens])],lastUpdated:new Date().toISOString()}};case "agent-action":return {config:r,state:_g(n,e.action)};case "task-upsert":return rr(t,e.taskName,e.taskConfig);case "task-removal":return nr(t,e.taskName);case "node-requires-add":return sr(t,e.nodeName,e.tokens);case "node-requires-remove":return or(t,e.nodeName,e.tokens);case "node-provides-add":return ar(t,e.nodeName,e.tokens);case "node-provides-remove":return ir(t,e.nodeName,e.tokens);default:return t}}function yt(t,e){return e.reduce((r,n)=>un(r,n),t)}function rr(t,e,r){let n=!!t.config.tasks[e];return {config:{...t.config,tasks:{...t.config.tasks,[e]:r}},state:{...t.state,tasks:{...t.state.tasks,[e]:n?t.state.tasks[e]:gn()},lastUpdated:new Date().toISOString()}}}function nr(t,e){if(!t.config.tasks[e])return t;let{[e]:r,...n}=t.config.tasks,{[e]:s,...o}=t.state.tasks;return {config:{...t.config,tasks:n},state:{...t.state,tasks:o,lastUpdated:new Date().toISOString()}}}function sr(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=O(n),o=r.filter(a=>!s.includes(a));return o.length===0?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,requires:[...s,...o]}}},state:t.state}}function or(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=O(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,requires:o}}},state:t.state}}function ar(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=E(n),o=r.filter(a=>!s.includes(a));return o.length===0?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,provides:[...s,...o]}}},state:t.state}}function ir(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=E(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,provides:o}}},state:t.state}}function dn(t,e){return un(t,{type:"inject-tokens",tokens:e,timestamp:new Date().toISOString()})}function ln(t,e){let r=new Set(e),n=t.state.availableOutputs.filter(s=>!r.has(s));return n.length===t.state.availableOutputs.length?t:{config:t.config,state:{...t.state,availableOutputs:n,lastUpdated:new Date().toISOString()}}}function pn(t,e){return !t.config.tasks[e]||!t.state.tasks[e]?t:{config:t.config,state:{...t.state,tasks:{...t.state.tasks,[e]:gn()},lastUpdated:new Date().toISOString()}}}function fn(t,e){let r=t.state.tasks[e];return !r||r.status==="inactivated"?t:{config:t.config,state:{...t.state,tasks:{...t.state.tasks,[e]:{...r,status:"inactivated",lastUpdated:new Date().toISOString()}},lastUpdated:new Date().toISOString()}}}function mn(t,e){let r=t.state.tasks[e];return !r||r.status!=="inactivated"?t:{config:t.config,state:{...t.state,tasks:{...t.state.tasks,[e]:{...r,status:"not-started",lastUpdated:new Date().toISOString()}},lastUpdated:new Date().toISOString()}}}function Zc(t,e){let r=t.config.tasks[e];if(!r)return;let n=t.state.tasks[e]??gn();return {name:e,config:r,state:n}}function hn(t){return {version:1,config:t.config,state:t.state,snapshotAt:new Date().toISOString()}}function eu(t){if(!t||typeof t!="object")throw new Error("Invalid snapshot: expected an object");let e=t;if(!e.config||typeof e.config!="object")throw new Error('Invalid snapshot: missing or invalid "config"');if(!e.state||typeof e.state!="object")throw new Error('Invalid snapshot: missing or invalid "state"');let r=e.config,n=e.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 gn(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function _g(t,e){let r=new Date().toISOString();switch(e){case "stop":return {...t,status:"stopped",lastUpdated:r};case "pause":return {...t,status:"paused",lastUpdated:r};case "resume":return {...t,status:"running",lastUpdated:r};default:return t}}function cr(t){let{config:e,state:r}=t,n=G(e);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=kg(n),a=ue(e,r.tasks),i=new Set([...a,...r.availableOutputs]),c=[],u=[],l=[],d=[];for(let[p,h]of Object.entries(n)){let f=r.tasks[p],g=Je(h,e.settings),k=g!=="once";if(f?.status===P.RUNNING||X(f))continue;let _=gt(h);if(_!==void 0&&f&&f.executionCount>=_||h.circuit_breaker&&f&&f.executionCount>=h.circuit_breaker.max_executions||!k&&f?.status===P.COMPLETED)continue;if(k&&f?.status===P.COMPLETED){let w=O(h),T=false;switch(g){case "data-changed":{w.length>0&&w.some(F=>{for(let[U,W]of Object.entries(n))if(E(W).includes(F)){let z=r.tasks[U];if(!z)continue;let Sn=f.lastConsumedHashes?.[F];return z.lastDataHash==null?z.executionCount>f.lastEpoch:z.lastDataHash!==Sn}return false})||(T=true);break}case "epoch-changed":{w.length>0&&w.some(F=>{for(let[U,W]of Object.entries(n))if(E(W).includes(F)){let z=r.tasks[U];if(z&&z.executionCount>f.lastEpoch)return true}return false})||(T=true);break}case "time-based":{let J=h.refreshInterval??0;if(J<=0){T=true;break}let F=f.completedAt;if(!F){T=true;break}(Date.now()-Date.parse(F))/1e3<J&&(T=true);break}case "manual":T=true;break}if(T)continue}let y=O(h);if(y.length===0){c.push(p);continue}let S=[],v=[],R=[];for(let w of y){if(i.has(w))continue;let T=o[w]||[];T.length===0?S.push(w):T.every(F=>X(r.tasks[F]))?R.push({token:w,failedProducer:T[0]}):v.push(w);}S.length>0?l.push({taskName:p,missingTokens:S}):R.length>0?d.push({taskName:p,failedTokens:R.map(w=>w.token),failedProducers:[...new Set(R.map(w=>w.failedProducer))]}):v.length>0?u.push({taskName:p,waitingOn:v}):c.push(p);}let m={};if(c.length>1){let p=qe(c,n);for(let[h,f]of Object.entries(p))f.length>1&&(m[h]=f);}return {eligible:c,pending:u,unresolved:l,blocked:d,conflicts:m}}function kg(t){let e={};for(let[r,n]of Object.entries(t)){for(let s of E(n))e[s]||(e[s]=[]),e[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)e[o]||(e[o]=[]),e[o].includes(r)||e[o].push(r);if(n.on_failure)for(let s of n.on_failure)e[s]||(e[s]=[]),e[s].includes(r)||e[s].push(r);}return e}function tu(t){let{config:e,state:r}=t,n=G(e),s=Object.keys(n),o=0,a=0,i=0,c=0,u=0,l=0;for(let _ of s){let y=r.tasks[_];if(!y||y.status===P.NOT_STARTED)u++;else switch(y.status){case P.RUNNING:o++;break;case P.COMPLETED:a++;break;case P.FAILED:i++;break;case "inactivated":l++;break;default:c++;}}let d={};for(let[_,y]of Object.entries(n)){for(let S of E(y))d[S]||(d[S]=[]),d[S].push(_);if(y.on)for(let S of Object.values(y.on))for(let v of S)d[v]||(d[v]=[]),d[v].includes(_)||d[v].push(_);if(y.on_failure)for(let S of y.on_failure)d[S]||(d[S]=[]),d[S].includes(_)||d[S].push(_);}let m=new Set,p=0,h=0;for(let[_,y]of Object.entries(n)){let S=r.tasks[_];if(S?.status===P.COMPLETED||S?.status===P.RUNNING)continue;let v=false,R=false;for(let w of O(y)){let T=d[w]||[];T.length===0?(m.add(w),v=true):T.every(F=>{let U=r.tasks[F];return U?.status===P.FAILED||U?.status==="inactivated"})&&(R=true);}v&&p++,R&&!v&&h++;}let f=[];for(let[_,y]of Object.entries(d))y.length>1&&f.push(_);let g=bg(n,d),k=Sg(s,g);return {totalNodes:s.length,running:o,completed:a,failed:i,waiting:c,notStarted:u,disabled:l,unresolvedCount:p,blockedCount:h,openDependencies:[...m],cycles:k,conflictTokens:f}}function bg(t,e){let r={};for(let[n,s]of Object.entries(t)){r[n]=new Set;for(let o of O(s))for(let a of e[o]||[])a!==n&&r[n].add(a);}return r}function Sg(t,e){let o={},a={},i=[];for(let u of t)o[u]=0,a[u]=null;function c(u){o[u]=1;for(let l of e[u]||[])if(o[l]===1){let d=[l],m=u;for(;m!==l;)d.push(m),m=a[m];d.push(l),d.reverse(),i.push(d);}else o[l]===0&&(a[l]=u,c(l));o[u]=2;}for(let u of t)o[u]===0&&c(u);return i}function ru(t){let e={};for(let[r,n]of Object.entries(t)){for(let s of E(n))e[s]||(e[s]=[]),e[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)e[o]||(e[o]=[]),e[o].includes(r)||e[o].push(r);if(n.on_failure)for(let s of n.on_failure)e[s]||(e[s]=[]),e[s].includes(r)||e[s].push(r);}return e}function xo(t){let{config:e,state:r}=t,n=G(e),s=ru(n),o=new Set([...r.availableOutputs]);for(let[d,m]of Object.entries(r.tasks))if(m.status==="completed"){let p=n[d];p&&E(p).forEach(h=>o.add(h));}let a=new Set;for(let d of Object.values(n))for(let m of O(d))a.add(m);let i=new Set,c=new Set;for(let d of a){if(o.has(d))continue;(s[d]||[]).length===0&&i.add(d);}let u=true;for(;u;){u=false;for(let[d,m]of Object.entries(n)){if(c.has(d))continue;let p=r.tasks[d];if(p?.status==="completed")continue;let h=X(p),g=O(m).some(k=>i.has(k));(h||g)&&(c.has(d)||(c.add(d),u=true));}for(let d of a){if(i.has(d)||o.has(d))continue;let m=s[d]||[],p=m.length>0&&m.every(h=>c.has(h)||X(r.tasks[h]));(m.length===0||p)&&(i.has(d)||(i.add(d),u=true));}}let l=[];for(let d of i){let m=s[d]||[],p;m.length===0?p="no-producer":p=m.every(f=>X(r.tasks[f]))?"all-producers-failed":"transitive",l.push({token:d,reason:p,producers:m});}return {tokens:l}}function nu(t){let{config:e,state:r}=t,n=G(e),{tokens:s}=xo(t),o=new Set(s.map(i=>i.token)),a=[];for(let[i,c]of Object.entries(n)){let u=r.tasks[i];if(u?.status==="completed")continue;let d=O(c).filter(m=>o.has(m));d.length>0?a.push({nodeName:i,missingTokens:d}):X(u)&&a.push({nodeName:i,missingTokens:[]});}return {nodes:a}}function su(t,e){let r=G(t.config);if(!r[e])return {nodeName:e,nodes:[],tokens:[]};let n=ru(r),s=new Set,o=new Set,a=new Map;function i(u){let l=r[u];if(l)for(let d of O(l)){let m=n[d]||[];for(let p of m)p!==e&&(o.add(d),a.has(p)||a.set(p,new Set),a.get(p).add(d),s.has(p)||(s.add(p),i(p)));}}i(e);let c=[...a.entries()].map(([u,l])=>({nodeName:u,providesTokens:[...l]}));return {nodeName:e,nodes:c,tokens:[...o]}}function ou(t,e){let r=G(t.config);if(!r[e])return {nodeName:e,nodes:[],tokens:[]};let n={};for(let[u,l]of Object.entries(r))for(let d of O(l))n[d]||(n[d]=[]),n[d].push(u);let s=new Set,o=new Set,a=new Map;function i(u){let l=r[u];if(l)for(let d of E(l)){let m=n[d]||[];for(let p of m)p!==e&&(o.add(d),a.has(p)||a.set(p,new Set),a.get(p).add(d),s.has(p)||(s.add(p),i(p)));}}i(e);let c=[...a.entries()].map(([u,l])=>({nodeName:u,requiresTokens:[...l]}));return {nodeName:e,nodes:c,tokens:[...o]}}var We=class{buffer=[];append(e){this.buffer.push(e);}drain(){let e=this.buffer;return this.buffer=[],e}get size(){return this.buffer.length}};function yn(t){let e=jo(t);return wg(e)}function jo(t){if(t==null||typeof t!="object")return JSON.stringify(t);if(Array.isArray(t))return "["+t.map(jo).join(",")+"]";let e=t;return "{"+Object.keys(e).sort().map(n=>JSON.stringify(n)+":"+jo(e[n])).join(",")+"}"}function wg(t){let e=0xcbf29ce484222325n,r=0x100000001b3n,n=0xffffffffffffffffn;for(let s=0;s<t.length;s++)e^=BigInt(t.charCodeAt(s)),e=e*r&n;return e.toString(16).padStart(16,"0")}function $g(t){if(typeof Buffer<"u")return Buffer.from(t,"utf8").toString("base64url");if(typeof btoa=="function"){let e=new TextEncoder().encode(t),r="";for(let n of e)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}throw new Error("No base64 encoder available in this runtime")}function Rg(t){if(typeof Buffer<"u")return Buffer.from(t,"base64url").toString("utf8");if(typeof atob=="function"){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.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 au(t){let e=JSON.stringify({t,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return $g(e)}function Tg(t){try{let e=JSON.parse(Rg(t));return typeof e?.t=="string"?{taskName:e.t}:null}catch{return null}}function vt(t,e,r){let{handlers:n,onDrain:s}=e,o=new We,a="state"in t&&"config"in t?t:cn(t,r),i=false,c=new Set,u=new Map(Object.entries(n)),l=new We,d=false,m=false;function p(){if(!i){if(d){m=true;return}d=true;try{do m=!1,h();while(m)}finally{d=false;}}}function h(){let _=l.drain(),y=o.drain(),S=[..._,...y];S.length>0&&(a=yt(a,S));let v=cr(a);S.length>0&&s?.(S,a,v);for(let R of v.eligible)k(R);for(let R of S)if(R.type==="task-progress"){let{taskName:w,update:T}=R;if(!a.config.tasks[w])continue;let F=a.state.tasks[w];if(!F||F.status!=="running")continue;let U=au(w),W=g(w,U,T).catch(z=>{i||(l.append({type:"task-failed",taskName:w,error:z.message??String(z),timestamp:new Date().toISOString()}),p());}).finally(()=>{c.delete(W);});c.add(W);}}function f(_){let S=a.config.tasks[_].requires??[],v=new Map;for(let[w,T]of Object.entries(a.config.tasks))for(let J of T.provides??[])v.set(J,w);let R={};for(let w of S){let T=v.get(w);T?R[w]=a.state.tasks[T]?.data:R[w]=void 0;}return R}async function g(_,y,S){let v=a.config.tasks[_],R=v.taskHandlers??[],w=f(_);for(let T of R){let J=u.get(T);if(!J)throw new Error(`Handler '${T}' not found in registry (task '${_}')`);let F={nodeId:_,state:w,taskState:a.state.tasks[_],config:v,callbackToken:y,update:S};if(await J(F)==="task-initiate-failure")throw new Error(`Handler '${T}' returned task-initiate-failure (task '${_}')`)}}function k(_){let S=a.config.tasks[_]?.taskHandlers;if(!S||S.length===0)return;l.append({type:"task-started",taskName:_,timestamp:new Date().toISOString()}),p();let v=au(_),R=g(_,v).catch(w=>{i||(l.append({type:"task-failed",taskName:_,error:w.message??String(w),timestamp:new Date().toISOString()}),p());}).finally(()=>{c.delete(R);});c.add(R);}return {push(_){i||(_.type==="task-completed"&&_.data&&!_.dataHash&&(_={..._,dataHash:yn(_.data)}),o.append(_),p());},pushAll(_){if(!i){for(let y of _)y.type==="task-completed"&&y.data&&!y.dataHash?o.append({...y,dataHash:yn(y.data)}):o.append(y);p();}},resolveCallback(_,y,S){if(i)return;let v=Tg(_);if(!v)return;let{taskName:R}=v;if(a.config.tasks[R]){if(S&&S.length>0)o.append({type:"task-failed",taskName:R,error:S.join("; "),timestamp:new Date().toISOString()});else {let w=y&&Object.keys(y).length>0?yn(y):void 0;o.append({type:"task-completed",taskName:R,data:y,dataHash:w,timestamp:new Date().toISOString()});}p();}},addNode(_,y){i||(o.append({type:"task-upsert",taskName:_,taskConfig:y,timestamp:new Date().toISOString()}),p());},removeNode(_){i||(o.append({type:"task-removal",taskName:_,timestamp:new Date().toISOString()}),p());},addRequires(_,y){i||(o.append({type:"node-requires-add",nodeName:_,tokens:y,timestamp:new Date().toISOString()}),p());},removeRequires(_,y){i||(o.append({type:"node-requires-remove",nodeName:_,tokens:y,timestamp:new Date().toISOString()}),p());},addProvides(_,y){i||(o.append({type:"node-provides-add",nodeName:_,tokens:y,timestamp:new Date().toISOString()}),p());},removeProvides(_,y){i||(o.append({type:"node-provides-remove",nodeName:_,tokens:y,timestamp:new Date().toISOString()}),p());},registerHandler(_,y){u.set(_,y);},unregisterHandler(_){u.delete(_);},retrigger(_){i||a.config.tasks[_]&&(o.append({type:"task-restart",taskName:_,timestamp:new Date().toISOString()}),p());},retriggerAll(_){if(!i){for(let y of _)a.config.tasks[y]&&o.append({type:"task-restart",taskName:y,timestamp:new Date().toISOString()});p();}},snapshot(){return hn(a)},getState(){return a},getSchedule(){return cr(a)},async waitForHandlers(){c.size>0&&await Promise.allSettled([...c]);},async dispose(_){_?.wait&&c.size>0&&await Promise.allSettled([...c]),i=true;}}}function Po(t){let e=[],{config:r,state:n}=t,s=G(r),o=Object.keys(s);for(let u of o)n.tasks[u]||e.push({severity:"error",code:"MISSING_STATE",message:`Task "${u}" exists in config but has no state entry`,tasks:[u]});for(let u of Object.keys(n.tasks))s[u]||e.push({severity:"warning",code:"ORPHAN_STATE",message:`State entry "${u}" has no corresponding task config`,tasks:[u]});for(let u of o){let l=n.tasks[u];l&&(l.status===P.RUNNING&&!l.startedAt&&e.push({severity:"warning",code:"RUNNING_WITHOUT_START",message:`Task "${u}" is running but has no startedAt timestamp`,tasks:[u]}),l.status===P.COMPLETED&&!l.completedAt&&e.push({severity:"warning",code:"COMPLETED_WITHOUT_TIMESTAMP",message:`Task "${u}" is completed but has no completedAt timestamp`,tasks:[u]}),l.status===P.FAILED&&(l.failedAt||e.push({severity:"warning",code:"FAILED_WITHOUT_INFO",message:`Task "${u}" is failed but has no failedAt timestamp`,tasks:[u]}),l.error||e.push({severity:"info",code:"FAILED_WITHOUT_INFO",message:`Task "${u}" is failed but has no error message`,tasks:[u]})));}let a=new Set;for(let u of o)if(n.tasks[u]?.status===P.COMPLETED)for(let d of E(s[u]))a.add(d);let i=new Set(n.availableOutputs),c=new Set;for(let u of Object.values(s)){for(let l of E(u))c.add(l);if(u.on)for(let l of Object.values(u.on))for(let d of l)c.add(d);if(u.on_failure)for(let l of u.on_failure)c.add(l);}for(let u of i)!a.has(u)&&!c.has(u)&&e.push({severity:"info",code:"INJECTED_TOKEN",message:`Token "${u}" is available but no task in the graph can produce it (likely injected)`,tokens:[u]});for(let u of a)i.has(u)||e.push({severity:"warning",code:"MISSING_OUTPUT",message:`Token "${u}" should be available (its producer completed) but is not in availableOutputs`,tokens:[u]});for(let u of o){let l=n.tasks[u];if(!l)continue;l.executionCount<0&&e.push({severity:"error",code:"INVALID_EXECUTION_COUNT",message:`Task "${u}" has negative execution count: ${l.executionCount}`,tasks:[u]});let d=s[u].maxExecutions;d!==void 0&&l.executionCount>d&&e.push({severity:"error",code:"EXCEEDED_MAX_EXECUTIONS",message:`Task "${u}" executed ${l.executionCount} times, exceeding maxExecutions of ${d}`,tasks:[u]});}return cu(e)}function iu(t){let{graph:e,handlers:r}=t,n=e.getState(),s=[],o=G(n.config),a=Object.keys(o),i=new Set(Object.keys(r)),c=new Set;for(let l of a){let d=o[l].taskHandlers;if(d)for(let m of d)c.add(m);}for(let l of a){let d=o[l].taskHandlers;if(d)for(let m of d)r[m]||s.push({severity:"error",code:"MISSING_HANDLER",message:`Task "${l}" references handler "${m}" but it is not in the registry`,tasks:[l]});}for(let l of i)c.has(l)||s.push({severity:"warning",code:"ORPHAN_HANDLER",message:`Handler "${l}" is registered but not referenced by any task's taskHandlers`,tasks:[l]});let u=Po(n);return s.push(...u.issues),cu(s)}function cu(t){let e=t.filter(n=>n.severity==="error"),r=t.filter(n=>n.severity==="warning");return {valid:e.length===0,issues:t,errors:e,warnings:r}}function uu(t,e){let r=t;for(let n of e)r=Eg(r,n);return r}function Eg(t,e){switch(e.type){case "add-node":return rr(t,e.name,e.config);case "remove-node":return nr(t,e.name);case "add-requires":return sr(t,e.taskName,e.tokens);case "remove-requires":return or(t,e.taskName,e.tokens);case "add-provides":return ar(t,e.taskName,e.tokens);case "remove-provides":return ir(t,e.taskName,e.tokens);case "inject-tokens":return dn(t,e.tokens);case "drain-tokens":return ln(t,e.tokens);case "reset-node":return pn(t,e.name);case "disable-node":return fn(t,e.name);case "enable-node":return mn(t,e.name);case "apply-events":return yt(t,e.events);default:throw new Error(`Unknown mutation type: ${e.type}`)}}function du(t,e){return async r=>{let{callbackToken:n}=r;return Promise.resolve(t(r)).then(s=>e()(n,s)).catch(s=>e()(n,{},[s instanceof Error?s.message:String(s)])),"task-initiated"}}function lu(t,e){return async r=>{let{callbackToken:n}=r;return Promise.resolve(t(r)).then(()=>e()(n,{})).catch(()=>e()(n,{})),"task-initiated"}}function pu(t){let{command:e,cwd:r,env:n,timeoutMs:s=3e4,exitCodeMap:o,captureOutput:a=false,getResolve:i}=t;return async c=>{let{callbackToken:u,nodeId:l}=c,d=e.replace(/\$\{taskName\}/g,l);return exec(d,{cwd:r,env:n?{...process.env,...n}:void 0,timeout:s,maxBuffer:10*1024*1024},(m,p,h)=>{let f=m?.code??(m?1:0);if(f!==0&&!o?.[f]){i()(u,{},[`Command exited with code ${f}: ${h||m?.message}`]);return}let g={};a&&(g.stdout=p,g.stderr=h,g.exitCode=f),i()(u,g);}),"task-initiated"}}function Oo(t){let{command:e,args:r=[],cwd:n,env:s,timeoutMs:o=3e4,exitCodeMap:a,captureOutput:i=false,getResolve:c}=t;return async u=>{let{callbackToken:l,nodeId:d}=u,m=e.replace(/\$\{taskName\}/g,d),p=r.map(h=>h.replace(/\$\{taskName\}/g,d));return execFile(m,p,{cwd:n,env:s?{...process.env,...s}:void 0,timeout:o,maxBuffer:10*1024*1024,encoding:"utf8",windowsHide:true},(h,f,g)=>{let k=h?.code??(h?1:0);if(k!==0&&!a?.[k]){c()(l,{},[`Process exited with code ${k}: ${g||h?.message}`]);return}let _={};i&&(_.stdout=f,_.stderr=g,_.exitCode=k),c()(l,_);}),"task-initiated"}}function jg(t){return t.endsWith(".js")||t.endsWith(".mjs")||t.endsWith(".ts")?"node":t.endsWith(".py")?"python3":(t.endsWith(".sh"),"bash")}function fu(t){let{scriptPath:e,runtime:r,args:n=[],cwd:s,timeoutMs:o=6e4,captureOutput:a=false,getResolve:i}=t,c=r??jg(e),u=c==="node"?process.execPath:c;return Oo({command:u,args:[e,"${taskName}",...n],cwd:s,timeoutMs:o,captureOutput:a,getResolve:i})}function mu(t){let{url:e,method:r="POST",headers:n={},timeoutMs:s=3e4,failOnNon2xx:o=true,getResolve:a}=t;return async i=>{let{callbackToken:c,nodeId:u,config:l}=i,d=e.replace(/\$\{taskName\}/g,u),m=JSON.stringify({taskName:u,callbackToken:c,config:l}),p=new AbortController,h=setTimeout(()=>p.abort(),s);return fetch(d,{method:r,headers:{"Content-Type":"application/json",...n},body:m,signal:p.signal}).then(async f=>{if(clearTimeout(h),o&&!f.ok){let k=await f.text().catch(()=>"");a()(c,{},[`HTTP ${f.status}: ${k}`]);return}let g=await f.json().catch(()=>({}));a()(c,g);}).catch(f=>{clearTimeout(h),a()(c,{},[f instanceof Error?f.message:String(f)]);}),"task-initiated"}}function hu(t,e){return async r=>(t()(r.callbackToken,e??{}),"task-initiated")}var gu={$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 _u=lr(Xr());var Ng=createRequire(import.meta.url),qg=Ng("./jsonata-sync.cjs"),vn=null;var yu=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,Ig=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function Dg(t){let e=new Set,r;for(yu.lastIndex=0;(r=yu.exec(t))!==null;)e.add(r[1]);return e}function ku(t){let e=Ig.exec(t);return e?e[1]:null}function vu(t,e,r,n){try{qg(t);}catch(o){let a=o instanceof Error?o.message:String(o);n.push(`${e}: invalid JSONata expression (${a})`);return}let s=Dg(t);for(let o of s)r.has(o)||n.push(`${e}: disallowed namespace "${o}" in expression`);}function Ao(t,e,r){if(Array.isArray(t)){t.forEach((s,o)=>{Ao(s,`${e}/${o}`,r);});return}if(typeof t=="string"){let s=ku(t);if(!s)return;new Set(["card_data","requires","computed_values"]).has(s)||r.push(`${e}: disallowed namespace "${s}" in view reference`);return}if(!t||typeof t!="object")return;let n=t;for(let[s,o]of Object.entries(n))Ao(o,`${e}/${s}`,r);}function Mg(){if(vn)return vn;let t=new _u.default({allErrors:true});return zh(t),vn=t.compile(gu),vn}function No(t){let e=Mg(),r=e(t),n=(e.errors??[]).map(s=>`${s.instancePath||"/"}: ${s.message??"unknown error"}`);if(t&&typeof t=="object"&&!Array.isArray(t)){let s=t.source_defs;if(Array.isArray(s)){let o=new Set,a=new Set;s.forEach((i,c)=>{if(!i||typeof i!="object"||Array.isArray(i))return;let u=i;typeof u.bindTo=="string"&&u.bindTo&&(o.has(u.bindTo)&&n.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&&(a.has(u.outputFile)&&n.push(`/source_defs/${c}/outputFile: outputFile "${u.outputFile}" must be unique across all source_defs`),a.add(u.outputFile));});}}return !r||n.length>0?{ok:false,errors:n}:{ok:true,errors:[]}}function qo(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:true,errors:[]};let r=t,n=r.compute;Array.isArray(n)&&n.forEach((u,l)=>{if(!u||typeof u!="object"||Array.isArray(u))return;let d=u.expr;typeof d!="string"||d.trim().length===0||vu(d,`/compute/${l}/expr`,new Set(["card_data","requires","fetched_sources","computed_values"]),e);});let s=new Set(["card_data","requires","fetched_sources","computed_values"]),o=r.provides;Array.isArray(o)&&o.forEach((u,l)=>{if(!u||typeof u!="object"||Array.isArray(u))return;let d=u.ref;if(typeof d!="string"||d.trim().length===0)return;let m=ku(d);m===null?e.push(`/provides/${l}/ref: path "${d}" must start with a valid namespace (${[...s].join(", ")})`):s.has(m)||e.push(`/provides/${l}/ref: disallowed namespace "${m}" in path "${d}" (valid: ${[...s].join(", ")})`);});let a=r.view;a&&typeof a=="object"&&!Array.isArray(a)&&Ao(a,"/view",e);let i=new Set(["card_data","requires"]),c=r.source_defs;return Array.isArray(c)&&c.forEach((u,l)=>{if(!u||typeof u!="object"||Array.isArray(u))return;let d=u.projections;if(!(!d||typeof d!="object"||Array.isArray(d)))for(let[m,p]of Object.entries(d))typeof p!="string"||p.trim().length===0||vu(p,`/source_defs/${l}/projections/${m}`,i,e);}),{ok:e.length===0,errors:e}}function bu(t){return Io(t)}function Io(t){let e=No(t);if(!e.ok)return e;let r=qo(t);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var Lg=createRequire(import.meta.url),_n=Lg("./jsonata-sync.cjs"),$u=_n;function Su(t,e){if(!e||!t)return;let r=e.split("."),n=t;for(let s=0;s<r.length;s++){if(n==null)return;n=n[r[s]];}return n}function Ru(t,e,r){let n=e.split("."),s=t;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 Fg(t,e){if(!t?.compute?.length)return t;t.card_data||(t.card_data={}),t.computed_values={},t._sourcesData=e?.sourcesData??{};let r=t.requires??{},n={card_data:t.card_data,requires:r,expects_data:r,fetched_sources:t._sourcesData,data:t.computed_values,computed_values:t.computed_values};for(let s of t.compute)try{let o=await _n(s.expr).evaluate(n);Ru(t.computed_values,s.bindTo,o),n.computed_values=t.computed_values;}catch{}return t}function Hg(t,e){if(!t?.compute?.length)return {ok:true,node:t};t.card_data||(t.card_data={}),t.computed_values={},t._sourcesData=e?.sourcesData??{};let r=t.requires??{},n={card_data:t.card_data,requires:r,expects_data:r,fetched_sources:t._sourcesData,data:t.computed_values,computed_values:t.computed_values},s=[];for(let o of t.compute)try{let a=$u(o.expr).evaluate(n);Ru(t.computed_values,o.bindTo,a),n.computed_values=t.computed_values;}catch(a){let i=a instanceof Error?a.message:String(a);s.push({bindTo:o.bindTo,error:i});}return s.length>0?{ok:true,node:t,errors:s}:{ok:true,node:t}}async function Ug(t,e,r){let n={...r??{},card_data:e.card_data??{},requires:e.requires??{},fetched_sources:e._sourcesData??{},computed_values:e.computed_values??{}};return _n(t).evaluate(n)}function Vg(t,e){return e.startsWith("fetched_sources.")?Su(t._sourcesData??{},e.slice(16)):Su(t,e)}var wu=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),Bg=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function Kg(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:false,errors:["Node must be a non-null object"]};let r=t;(typeof r.id!="string"||!r.id)&&e.push("id: required, must be a non-empty string");for(let n of Object.keys(r))Bg.has(n)||e.push(`Unknown top-level key: "${n}"`);if((r.card_data==null||typeof r.card_data!="object"||Array.isArray(r.card_data))&&e.push("card_data: required, must be an object"),r.meta!=null)if(typeof r.meta!="object"||Array.isArray(r.meta))e.push("meta: must be an object");else {let n=r.meta;n.title!=null&&typeof n.title!="string"&&e.push("meta.title: must be a string"),n.tags!=null&&!Array.isArray(n.tags)&&e.push("meta.tags: must be an array");}if(r.requires!=null&&!Array.isArray(r.requires)&&e.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))e.push(`provides[${s}]: must be an object with bindTo and ref`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`provides[${s}]: missing required "bindTo" string`),(typeof o.ref!="string"||!o.ref)&&e.push(`provides[${s}]: missing required "ref" string`);}}):e.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))e.push(`compute[${s}]: must be a compute step object`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`compute[${s}]: missing required "bindTo" property`),(typeof o.expr!="string"||!o.expr)&&e.push(`compute[${s}]: missing required "expr" string (JSONata expression)`);}}):e.push("compute: must be an array of compute steps")),r.source_defs!=null)if(!Array.isArray(r.source_defs))e.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))e.push(`source_defs[${a}]: must be an object`);else {let i=o;typeof i.bindTo!="string"||!i.bindTo?e.push(`source_defs[${a}]: missing required "bindTo" property`):(n.has(i.bindTo)&&e.push(`source_defs[${a}]: bindTo "${i.bindTo}" is not unique across source_defs`),n.add(i.bindTo)),typeof i.outputFile!="string"||!i.outputFile?e.push(`source_defs[${a}]: missing required "outputFile" property`):(s.has(i.outputFile)&&e.push(`source_defs[${a}]: outputFile "${i.outputFile}" is not unique across source_defs`),s.add(i.outputFile)),i.optionalForCompletionGating!=null&&typeof i.optionalForCompletionGating!="boolean"&&e.push(`source_defs[${a}]: optionalForCompletionGating must be a boolean`);}});}if(r.view!=null)if(typeof r.view!="object"||Array.isArray(r.view))e.push("view: must be an object");else {let n=r.view;!Array.isArray(n.elements)||n.elements.length===0?e.push("view.elements: required, must be a non-empty array"):n.elements.forEach((s,o)=>{if(!s||typeof s!="object"){e.push(`view.elements[${o}]: must be an object`);return}!s.kind||typeof s.kind!="string"?e.push(`view.elements[${o}].kind: required, must be a string`):wu.has(s.kind)||e.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...wu].join(", ")}`),s.data!=null&&(typeof s.data!="object"||Array.isArray(s.data))&&e.push(`view.elements[${o}].data: must be an object`);}),n.layout!=null&&(typeof n.layout!="object"||Array.isArray(n.layout))&&e.push("view.layout: must be an object"),n.features!=null&&(typeof n.features!="object"||Array.isArray(n.features))&&e.push("view.features: must be an object");}return {ok:e.length===0,errors:e}}async function zg(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return Promise.all(t.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 _n(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function Jg(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return t.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]=$u(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var Ye={run:Fg,runSync:Hg,eval:Ug,resolve:Vg,validate:Kg,enrichSources:zg,enrichSourcesSync:Jg};function Tu(t,e={}){let r,n={},s;if(!Array.isArray(t)&&"nodes"in t){let v=t;r=v.nodes,s=v.id,n=v.settings??{};}else r=t;let{sourceHandlers:o={},defaultSourceHandler:a,cardHandlers:i={},reactiveOptions:c={},graphSettings:u={},executionId:l}=e,d=new Map;for(let v of r){if(d.has(v.id))throw new Error(`Duplicate card ID: "${v.id}"`);d.set(v.id,v);}let m=e.sharedState??new Map,p={},h=new Set,f=new Map;for(let v of r)for(let R of v.provides??[{bindTo:v.id,ref:"card_data"}])h.add(R.bindTo),f.set(R.bindTo,v.id);for(let v of r){let R=v.requires??[];for(let w of R)if(!h.has(w))throw new Error(`Card "${v.id}" requires "${w}" but no card provides that token`);p[v.id]={requires:R.length>0?R:void 0,provides:(v.provides??[{bindTo:v.id,ref:"card_data"}]).map(w=>w.bindTo),taskHandlers:[v.id],description:v.meta?.title??v.id};}let g={id:s??`live-cards-${Date.now()}`,settings:{completion:"manual",execution_mode:"eligibility-mode",...n,...u},tasks:p},k={},_=null,y=()=>(v,R,w)=>{_.resolveCallback(v,R,w);};for(let v of r)v.source_defs&&v.source_defs.length>0?k[v.id]=Wg(v,o,a,m,y):k[v.id]=Yg(v,i,m,d,f,y);let S=vt(g,{...c,handlers:k},l);return _=S,{graph:S,config:g,handlers:k,cards:d,sharedState:m}}function Wg(t,e,r,n,s){if(e[t.id]){let o=e[t.id];return async a=>o(a)}if(r){let o=r(t);return async a=>o(a)}return async o=>{let a={...t.card_data};return n.set(t.id,a),s()(o.callbackToken,a),"task-initiated"}}function Yg(t,e,r,n,s,o){if(e[t.id]){let a=e[t.id];return async i=>a(i)}return async a=>{let i={},c=t.requires??[];for(let m of c){let p=s.get(m)??m,h=r.get(p);h&&(i[m]=h[m]??h);}let u={id:t.id,card_data:{...t.card_data},requires:i,compute:t.compute};await Ye.run(u);let l;if(t.provides&&t.provides.length>0){l={};for(let{bindTo:m,ref:p}of t.provides)l[m]=Ye.resolve(u,p);}else l={...u.card_data,...u.computed_values};let d={...u.card_data,...u.computed_values};return r.set(t.id,d),o()(a.callbackToken,l),"task-initiated"}}function Ie(t){return JSON.parse(JSON.stringify(t))}function Do(t){let e=t.provides&&t.provides.length>0?t.provides.map(r=>r.bindTo):[t.id];return {requires:t.requires&&t.requires.length>0?[...t.requires]:void 0,provides:e,taskHandlers:[t.id],description:t.meta?.title??t.id}}function Xg(t){let e=new Map;for(let[r,n]of t.entries()){let s=n.provides&&n.provides.length>0?n.provides:[{bindTo:r,ref:"card_data"}];for(let o of s)e.set(o.bindTo,r);}return e}function Mo(t,e){let r=Xg(t),n=t.get(e);if(n){for(let s of n.requires??[])if(!r.has(s))throw new Error(`Card "${e}" requires token "${s}" but no card provides it`)}}function Qg(t,e={}){let r=Array.isArray(t)?{}:{id:t.id,title:t.title,mode:t.mode,positions:t.positions,settings:t.settings},n=Array.isArray(t)?t:t.nodes,s=new Map;for(let y of n){if(s.has(y.id))throw new Error(`Duplicate card ID: "${y.id}"`);s.set(y.id,Ie(y));}let o=new Set,a=e.taskExecutor,i=e.sourceAdapters??{},c=e.defaultSourceAdapter,u=null,l=(y,S)=>{let v={events:y,graph:S,nodes:k()};for(let R of o)R(v);},d=y=>async S=>{let v=s.get(y);if(!v)return "task-initiate-failure";let R={};for(let U of v.requires??[]){let W=S.state[U];if(!W||typeof W!="object")continue;let z=W.provides_data;!z||typeof z!="object"||Object.prototype.hasOwnProperty.call(z,U)&&(R[U]=z[U]);}let w={};if(v.source_defs&&v.source_defs.length>0){let U=i[y]??c,W=a?await a({card:v,input:S}):U?await U({card:v,input:S}):void 0;if(W&&typeof W=="object")for(let z of v.source_defs)Object.prototype.hasOwnProperty.call(W,z.bindTo)?w[z.bindTo]=W[z.bindTo]:v.source_defs.length===1&&(w[z.bindTo]=W);}let T={id:v.id,card_data:Ie(v.card_data??{}),requires:R,source_defs:v.source_defs,compute:v.compute};T._sourcesData=w,T.compute&&T.compute.length>0&&await Ye.run(T,{sourcesData:w});let J={};if(v.provides&&v.provides.length>0)for(let{bindTo:U,ref:W}of v.provides)J[U]=Ye.resolve(T,W);else J[v.id]={...T.card_data??{},...T.computed_values??{},...T._sourcesData??{}};let F={provides_data:J,card_data:T.card_data??{},computed_values:T.computed_values??{},fetched_sources:w,requires:R};return u?.resolveCallback(S.callbackToken,F),"task-initiated"},m={},p={};for(let[y,S]of s.entries())Mo(s,y),m[y]=Do(S),p[y]=d(y);let h={id:r.id??`browser-board-${Date.now()}`,settings:{completion:"manual",execution_mode:"eligibility-mode",...r.settings??{},...e.graphSettings??{}},tasks:m},f=e.reactiveOptions?.onDrain,g=vt(h,{...e.reactiveOptions??{},handlers:p,onDrain:(y,S,v)=>{f?.(y,S,v),l(y,S);}},e.executionId);u=g;function k(){let y=g.getState(),S=[];for(let[v,R]of s.entries()){let w=y.state.tasks[v]?.data,T=y.state.tasks[v],J={...R.card_data??{},...w&&typeof w.card_data=="object"?w.card_data:{}},F=T?.status==="running"?"loading":T?.status,U={...J,...F?{status:F}:{},...T?.lastUpdated?{lastRun:T.lastUpdated}:{},...T?.status==="failed"&&T.error?{error:T.error}:{}};S.push({id:v,card:Ie(R),card_data:U,requires:w&&typeof w.requires=="object"?Ie(w.requires):{},computed_values:w&&typeof w.computed_values=="object"?Ie(w.computed_values):{},runtime_state:T?Ie(T):{}});}return S}return {getGraph:()=>g,getState:()=>g.getState(),getSchedule:()=>g.getSchedule(),getNodes:()=>k(),getBoard:()=>({...r,nodes:k()}),subscribe(y){return o.add(y),y({events:[],graph:g.getState(),nodes:k()}),()=>o.delete(y)},addCard(y){if(s.has(y.id))throw new Error(`Card "${y.id}" already exists`);s.set(y.id,Ie(y)),Mo(s,y.id),g.registerHandler(y.id,d(y.id)),g.addNode(y.id,Do(y));},upsertCard(y){s.set(y.id,Ie(y)),Mo(s,y.id),g.registerHandler(y.id,d(y.id)),g.addNode(y.id,Do(y));},removeCard(y){s.delete(y),g.unregisterHandler(y),g.removeNode(y);},patchCardState(y,S){let v=s.get(y);if(!v)throw new Error(`Card "${y}" not found`);v.card_data={...v.card_data??{},...S},g.retrigger(y);},retrigger(y){g.retrigger(y);},retriggerAll(){g.retriggerAll(Array.from(s.keys()));},push(y){g.push(y);},pushAll(y){g.pushAll(y);},dispose(){o.clear(),g.dispose();}}}var Eu={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://yaml-flow.dev/schema/board-status.schema.json",title:"Board Status Object",type:"object",additionalProperties:false,required:["schema_version","meta","summary","cards"],properties:{schema_version:{type:"string",const:"v1"},meta:{type:"object",additionalProperties:false,required:["board"],properties:{board:{type:"object",additionalProperties:false,required:["path"],properties:{path:{type:"string"}}}}},summary:{type:"object",additionalProperties:false,required:["card_count","completed","eligible","pending","blocked","unresolved"],properties:{card_count:{type:"integer",minimum:0},completed:{type:"integer",minimum:0},eligible:{type:"integer",minimum:0},pending:{type:"integer",minimum:0},blocked:{type:"integer",minimum:0},unresolved:{type:"integer",minimum:0},failed:{type:"integer",minimum:0},in_progress:{type:"integer",minimum:0},orphan_cards:{type:"integer",minimum:0},topology:{type:"object",additionalProperties:false,required:["edge_count","max_fan_out_card","max_fan_out"],properties:{edge_count:{type:"integer",minimum:0},max_fan_out_card:{type:["string","null"]},max_fan_out:{type:"integer",minimum:0}}}}},cards:{type:"array",items:{type:"object",additionalProperties:false,required:["name","status","requires","requires_satisfied","requires_missing","provides_declared","provides_runtime","blocked_by","unblocks","runtime"],properties:{name:{type:"string"},status:{type:"string"},error:{type:"object",additionalProperties:false,required:["message"],properties:{message:{type:"string"},code:{type:"string"},at:{type:["string","null"]},source:{type:"string"}}},requires:{type:"array",items:{type:"string"}},requires_satisfied:{type:"array",items:{type:"string"}},requires_missing:{type:"array",items:{type:"string"}},provides_declared:{type:"array",items:{type:"string"}},provides_runtime:{type:"array",items:{type:"string"}},blocked_by:{type:"array",items:{type:"string"}},unblocks:{type:"array",items:{type:"string"}},runtime:{type:"object",additionalProperties:false,required:["attempt_count","restart_count","in_progress_since","last_transition_at","last_completed_at","last_restarted_at","status_age_ms"],properties:{attempt_count:{type:"integer",minimum:0},restart_count:{type:"integer",minimum:0},in_progress_since:{type:["string","null"]},last_transition_at:{type:["string","null"]},last_completed_at:{type:["string","null"]},last_restarted_at:{type:["string","null"]},status_age_ms:{type:["integer","null"],minimum:0}}}}}}}};var Cu={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://yaml-flow.dev/schema/card-runtime.schema.json",title:"Card Runtime Computed Artifact",description:"Published per-card runtime artifact written to runtime-out/cards/<card-id>.computed.json. Contains only values produced by the compute step.",type:"object",required:["schema_version","card_id","computed_values"],additionalProperties:false,properties:{schema_version:{type:"string",const:"v1",description:"Artifact schema version."},card_id:{type:"string",description:"The ID of the card this artifact belongs to."},computed_values:{type:"object",description:"Key/value map of outputs produced by the card's JSONata compute steps.",additionalProperties:true}}};var od=lr(sd());var kn=null,bn=null;function ad(){let t=new od.default({allErrors:true,strict:false});return zh(t),t}function id(t){return {ok:false,errors:(t.errors??[]).map(r=>`${r.instancePath||"/"}: ${r.message??"unknown error"}`)}}function mv(){return kn||(kn=ad().compile(Eu),kn)}function hv(){return bn||(bn=ad().compile(Cu),bn)}function cd(t){let e=mv();return e(t)?{ok:true,errors:[]}:id(e)}function ud(t){let e=hv();return e(t)?{ok:true,errors:[]}:id(e)}
|
|
24
|
+
export{Rc as COMPLETION_STRATEGIES,Ec as CONFLICT_STRATEGIES,Ye as CardCompute,Cc as DEFAULTS,Tc as EXECUTION_MODES,$c as EXECUTION_STATUS,Qe as FlowEngine,Eo as KVStorageStore,We as MemoryJournal,bt as MemoryStore,Qe as StepMachine,P as TASK_STATUS,Nc as addDynamicTask,rr as addNode,ar as addProvides,sr as addRequires,wo as apply,Dc as applyAll,un as applyEvent,yt as applyEvents,pr as applyStepResult,Yc as batch,fr as checkCircuitBreaker,ue as computeAvailableOutputs,mr as computeStepInput,Qg as createBoardLiveGraphRuntime,du as createCallbackHandler,Yt as createDefaultGraphEngineStore,wn as createEngine,lu as createFireAndForgetHandler,Zr as createInitialExecutionState,gr as createInitialState,cn as createLiveGraph,hu as createNoopHandler,Oo as createProcessHandler,vt as createReactiveGraph,fu as createScriptHandler,pu as createShellHandler,wn as createStepMachine,mu as createWebhookHandler,nn as detectStuckState,fn as disableNode,ln as drainTokens,mn as enableNode,Ro as exportGraphConfig,Uc as exportGraphConfigToFile,hr as extractReturnData,Lc as flowToMermaid,G as getAllTasks,So as getCandidateTasks,ou as getDownstream,gt as getMaxExecutions,Zc as getNode,E as getProvides,Je as getRefreshStrategy,O as getRequires,xc as getTask,nu as getUnreachableNodes,xo as getUnreachableTokens,su as getUpstream,Gc as graphToMermaid,jc as hasTask,dn as injectTokens,tu as inspect,rn as isExecutionComplete,X as isNonActiveTask,Ac as isRerunnable,Pc as isTaskCompleted,Oc as isTaskRunning,Tu as liveCardsToReactiveGraph,Hc as loadGraphConfig,na as loadStepFlow,uu as mutateGraph,Ic as next,Mc as planExecution,nr as removeNode,ir as removeProvides,or as removeRequires,pn as resetNode,Qc as resolveConfigTemplates,Xc as resolveVariables,eu as restore,cr as schedule,hn as snapshot,cd as validateBoardStatusSchema,ud as validateCardRuntimeSchema,wc as validateFlowSchema,Bc as validateGraph,$o as validateGraphConfig,Jc as validateGraphSchema,bu as validateLiveCard,Io as validateLiveCardDefinition,qo as validateLiveCardRuntimeExpressions,No as validateLiveCardSchema,Po as validateLiveGraph,iu as validateReactiveGraph,Rn as validateStepFlowConfig};//# sourceMappingURL=index.js.map
|
|
25
|
+
//# sourceMappingURL=index.js.map
|