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/dist/index.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import eg from'ajv-formats';import {exec,execFile}from'child_process';import {createRequire}from'module';var yd=Object.create;var ii=Object.defineProperty;var vd=Object.getOwnPropertyDescriptor;var kd=Object.getOwnPropertyNames;var _d=Object.getPrototypeOf,bd=Object.prototype.hasOwnProperty;var b=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var wd=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of kd(e))!bd.call(t,s)&&s!==r&&ii(t,s,{get:()=>e[s],enumerable:!(n=vd(e,s))||n.enumerable});return t};var pr=(t,e,r)=>(r=t!=null?yd(_d(t)):{},wd(ii(r,"default",{value:t,enumerable:true}),t));var Rt=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 ui(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._=ui;var Tn=new de("+");function di(t,...e){let r=[$t(t[0])],n=0;for(;n<e.length;)r.push(Tn),En(r,e[n]),r.push(Tn,$t(t[++n]));return Ed(r),new de(r)}M.str=di;function En(t,e){e instanceof de?t.push(...e._items):e instanceof Me?t.push(e):t.push(jd(e));}M.addCodeArg=En;function Ed(t){let e=1;for(;e<t.length-1;){if(t[e]===Tn){let r=Cd(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+";}e++;}}function Cd(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 xd(t,e){return e.emptyStr()?t:t.emptyStr()?e:di`${t}${e}`}M.strConcat=xd;function jd(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:$t(Array.isArray(t)?t.join(","):t)}function Od(t){return new de($t(t))}M.stringify=Od;function $t(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}M.safeStringify=$t;function Pd(t){return typeof t=="string"&&M.IDENTIFIER.test(t)?new de(`.${t}`):ui`[${t}]`}M.getProperty=Pd;function Ad(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=Ad;function Nd(t){return new de(t.toString())}M.regexpCode=Nd;});var jn=b(ie=>{Object.defineProperty(ie,"__esModule",{value:true});ie.ValueScope=ie.ValueScopeName=ie.Scope=ie.varKinds=ie.UsedValueState=void 0;var oe=Rt(),Cn=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value;}},vr;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed";})(vr||(ie.UsedValueState=vr={}));ie.varKinds={const:new oe.Name("const"),let:new oe.Name("let"),var:new oe.Name("var")};var kr=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}}};ie.Scope=kr;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}]`;}};ie.ValueScopeName=_r;var Id=(0, oe._)`\n`,xn=class extends kr{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?Id: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,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[o];if(a){let l=a.get(i);if(l)return l}else a=this._values[o]=new Map;a.set(i,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 i in e){let a=e[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,vr.Started);let l=r(u);if(l){let d=this.opts.es5?ie.varKinds.var:ie.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,vr.Completed);});}return o}};ie.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 q=Rt(),he=jn(),Ce=Rt();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 $r=jn();Object.defineProperty(A,"Scope",{enumerable:true,get:function(){return $r.Scope}});Object.defineProperty(A,"ValueScope",{enumerable:true,get:function(){return $r.ValueScope}});Object.defineProperty(A,"ValueScopeName",{enumerable:true,get:function(){return $r.ValueScopeName}});Object.defineProperty(A,"varKinds",{enumerable:true,get:function(){return $r.varKinds}});A.operators={GT:new q._Code(">"),GTE:new q._Code(">="),LT:new q._Code("<"),LTE:new q._Code("<="),EQ:new q._Code("==="),NEQ:new q._Code("!=="),NOT:new q._Code("!"),OR:new q._Code("||"),AND:new q._Code("&&"),ADD:new q._Code("+")};var $e=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},On=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=tt(this.rhs,e,r)),this}get names(){return this.rhs instanceof q._CodeOrName?this.rhs.names:{}}},br=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 q.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=tt(this.rhs,e,r),this}get names(){let e=this.lhs instanceof q.Name?{}:{...this.lhs.names};return Sr(e,this.rhs)}},Pn=class extends br{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}},In=class extends $e{constructor(e){super(),this.error=e;}render({_n:e}){return `throw ${this.error};`+e}get names(){return this.error.names}},qn=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=tt(this.code,e,r),this}get names(){return this.code instanceof q._CodeOrName?this.code.names:{}}},Tt=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)||(qd(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 Tt{render(e){return "{"+e._n+super.render(e)+"}"+e._n}},Dn=class extends Tt{},et=class extends Re{};et.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 et(n):n;}if(r)return e===false?r instanceof t?r:r.nodes:this.nodes.length?this:new t(li(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=tt(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=tt(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)}},wr=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=tt(this.iterable,e,r),this}get names(){return Fe(super.names,this.iterable.names)}},Et=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)}};Et.kind="func";var Ct=class extends Tt{render(e){return "return "+super.render(e)}};Ct.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}},xt=class extends Re{constructor(e){super(),this.error=e;}render(e){return `catch(${this.error})`+super.render(e)}};xt.kind="catch";var jt=class extends Re{render(e){return "finally"+super.render(e)}};jt.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 On(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 br(e,r,n))}add(e,r){return this._leafNode(new Pn(e,A.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==q.nil&&this._leafNode(new qn(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, q.addCodeArg)(r,s));return r.push("}"),new q._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 et)}endIf(){return this._endBlockNode(Ge,et)}_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 i=this._scope.toName(e);return this._for(new Gn(o,i,r,n),()=>s(i))}forOf(e,r,n,s=he.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let i=r instanceof q.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0, q._)`${i}.length`,a=>{this.var(o,(0, q._)`${i}[${a}]`),n(o);})}return this._for(new wr("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, q._)`Object.keys(${r})`,n);let o=this._scope.toName(e);return this._for(new wr("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 Ct;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Ct)}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 xt(o),r(o);}return n&&(this._currNode=s.finally=new jt,this.code(n)),this._endBlockNode(xt,jt)}throw(e){return this._leafNode(new In(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=q.nil,n,s){return this._blockNode(new Et(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(Et)}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 q._CodeOrName?Fe(t,e.names):t}function tt(t,e,r){if(t instanceof q.Name)return n(t);if(!s(t))return t;return new q._Code(t._items.reduce((o,i)=>(i instanceof q.Name&&(i=n(i)),i instanceof q._Code?o.push(...i._items):o.push(i),o),[]));function n(o){let i=r[o.str];return i===void 0||e[o.str]!==1?o:(delete e[o.str],i)}function s(o){return o instanceof q._Code&&o._items.some(i=>i instanceof q.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function qd(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0);}function li(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0, q._)`!${Hn(t)}`}A.not=li;var Dd=pi(A.operators.AND);function Md(...t){return t.reduce(Dd)}A.and=Md;var Gd=pi(A.operators.OR);function Ld(...t){return t.reduce(Gd)}A.or=Ld;function pi(t){return (e,r)=>e===q.nil?r:r===q.nil?e:(0, q._)`${Hn(e)} ${t} ${Hn(r)}`}function Hn(t){return t instanceof q.Name?t:(0, q._)`(${t})`}});var I=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(),Fd=Rt();function Hd(t){let e={};for(let r of t)e[r]=true;return e}N.toHash=Hd;function Ud(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?true:(hi(t,e),!gi(e,t.self.RULES.all))}N.alwaysValidSchema=Ud;function hi(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]||ki(t,`unknown keyword: "${o}"`);}N.checkUnknownRules=hi;function gi(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(e[r])return true;return false}N.schemaHasRules=gi;function Vd(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=Vd;function Bd({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=Bd;function Kd(t){return yi(decodeURIComponent(t))}N.unescapeFragment=Kd;function zd(t){return encodeURIComponent(Vn(t))}N.escapeFragment=zd;function Vn(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}N.escapeJsonPointer=Vn;function yi(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}N.unescapeJsonPointer=yi;function Jd(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t);}N.eachItem=Jd;function fi({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return (s,o,i,a)=>{let c=i===void 0?o:i instanceof H.Name?(o instanceof H.Name?t(s,o,i):e(s,o,i),i):o instanceof H.Name?(e(s,i,o),o):r(o,i);return a===H.Name&&!(c instanceof H.Name)?n(s,c):c}}N.mergeEvaluated={props:fi({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:vi}),items:fi({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 vi(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=vi;function Bn(t,e,r){Object.keys(r).forEach(n=>t.assign((0, H._)`${e}${(0, H.getProperty)(n)}`,true));}N.setEvaluated=Bn;var mi={};function Wd(t,e){return t.scopeValue("func",{ref:e,code:mi[e.code]||(mi[e.code]=new Fd._Code(e.code))})}N.useFunc=Wd;var Un;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str";})(Un||(N.Type=Un={}));function Yd(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=Yd;function ki(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=ki;});var le=b(Kn=>{Object.defineProperty(Kn,"__esModule",{value:true});var ee=x(),Xd={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=Xd;});var Ot=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(),Rr=I(),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 Qd(t,e=te.keywordError,r,n){let{it:s}=t,{gen:o,compositeRule:i,allErrors:a}=s,c=wi(t,e,r);n??(i||a)?_i(o,c):bi(s,(0, D._)`[${c}]`);}te.reportError=Qd;function Zd(t,e=te.keywordError,r){let{it:n}=t,{gen:s,compositeRule:o,allErrors:i}=n,a=wi(t,e,r);_i(s,a),o||i||bi(n,ne.default.vErrors);}te.reportExtraError=Zd;function el(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=el;function tl({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:o}){if(s===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",s,ne.default.errors,a=>{t.const(i,(0, D._)`${ne.default.vErrors}[${a}]`),t.if((0, D._)`${i}.instancePath === undefined`,()=>t.assign((0, D._)`${i}.instancePath`,(0, D.strConcat)(ne.default.instancePath,o.errorPath))),t.assign((0, D._)`${i}.schemaPath`,(0, D.str)`${o.errSchemaPath}/${e}`),o.opts.verbose&&(t.assign((0, D._)`${i}.schema`,r),t.assign((0, D._)`${i}.data`,n));});}te.extendErrors=tl;function _i(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 bi(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 wi(t,e,r){let{createErrors:n}=t.it;return n===false?(0, D._)`{}`:rl(t,e,r)}function rl(t,e,r={}){let{gen:n,it:s}=t,o=[nl(s,r),sl(t,r)];return ol(t,e,o),n.object(...o)}function nl({errorPath:t},{instancePath:e}){let r=e?(0, D.str)`${t}${(0, Rr.getErrorPath)(e,Rr.Type.Str)}`:t;return [ne.default.instancePath,(0, D.strConcat)(ne.default.instancePath,r)]}function sl({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, Rr.getErrorPath)(r,Rr.Type.Str)}`),[He.schemaPath,s]}function ol(t,{params:e,message:r},n){let{keyword:s,data:o,schemaValue:i,it:a}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;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,i],[He.parentSchema,(0, D._)`${l}${d}`],[ne.default.data,o]),u&&n.push([He.propertyName,u]);}});var $i=b(rt=>{Object.defineProperty(rt,"__esModule",{value:true});rt.boolOrEmptySchema=rt.topBoolOrEmptySchema=void 0;var il=Ot(),al=x(),cl=le(),ul={message:"boolean schema is false"};function dl(t){let{gen:e,schema:r,validateName:n}=t;r===false?Si(t,false):typeof r=="object"&&r.$async===true?e.return(cl.default.data):(e.assign((0, al._)`${n}.errors`,null),e.return(true));}rt.topBoolOrEmptySchema=dl;function ll(t,e){let{gen:r,schema:n}=t;n===false?(r.var(e,false),Si(t)):r.var(e,true);}rt.boolOrEmptySchema=ll;function Si(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, il.reportError)(s,ul,void 0,e);}});var zn=b(nt=>{Object.defineProperty(nt,"__esModule",{value:true});nt.getRules=nt.isJSONType=void 0;var pl=["string","number","integer","boolean","null","object","array"],fl=new Set(pl);function ml(t){return typeof t=="string"&&fl.has(t)}nt.isJSONType=ml;function hl(){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:{}}}nt.getRules=hl;});var Jn=b(xe=>{Object.defineProperty(xe,"__esModule",{value:true});xe.shouldUseRule=xe.shouldUseGroup=xe.schemaHasRulesForType=void 0;function gl({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==true&&Ri(t,n)}xe.schemaHasRulesForType=gl;function Ri(t,e){return e.rules.some(r=>Ti(t,r))}xe.shouldUseGroup=Ri;function Ti(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=Ti;});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 yl=zn(),vl=Jn(),kl=Ot(),O=x(),Ei=I(),st;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong";})(st||(re.DataType=st={}));function _l(t){let e=Ci(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=_l;function Ci(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(yl.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}re.getJSONTypes=Ci;function bl(t,e){let{gen:r,data:n,opts:s}=t,o=wl(e,s.coerceTypes),i=e.length>0&&!(o.length===0&&e.length===1&&(0, vl.schemaHasRulesForType)(t,e[0]));if(i){let a=Yn(e,n,s.strictNumbers,st.Wrong);r.if(a,()=>{o.length?Sl(t,e,o):Xn(t);});}return i}re.coerceAndCheckDataType=bl;var xi=new Set(["string","number","integer","boolean","null"]);function wl(t,e){return e?t.filter(r=>xi.has(r)||e==="array"&&r==="array"):[]}function Sl(t,e,r){let{gen:n,data:s,opts:o}=t,i=n.let("dataType",(0, O._)`typeof ${s}`),a=n.let("coerced",(0, O._)`undefined`);o.coerceTypes==="array"&&n.if((0, O._)`${i} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0, O._)`${s}[0]`).assign(i,(0, O._)`typeof ${s}`).if(Yn(e,s,o.strictNumbers),()=>n.assign(a,s))),n.if((0, O._)`${a} !== undefined`);for(let u of r)(xi.has(u)||u==="array"&&o.coerceTypes==="array")&&c(u);n.else(),Xn(t),n.endIf(),n.if((0, O._)`${a} !== undefined`,()=>{n.assign(s,a),$l(t,a);});function c(u){switch(u){case "string":n.elseIf((0, O._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0, O._)`"" + ${s}`).elseIf((0, O._)`${s} === null`).assign(a,(0, O._)`""`);return;case "number":n.elseIf((0, O._)`${i} == "boolean" || ${s} === null
|
|
3
|
-
|| (${i} == "string" && ${s} && ${s} == +${s})`).assign(a,(0, O._)`+${s}`);return;case "integer":n.elseIf((0, O._)`${i} === "boolean" || ${s} === null
|
|
4
|
-
|| (${i} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(a,(0, O._)`+${s}`);return;case "boolean":n.elseIf((0, O._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(a,false).elseIf((0, O._)`${s} === "true" || ${s} === 1`).assign(a,true);return;case "null":n.elseIf((0, O._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(a,null);return;case "array":n.elseIf((0, O._)`${i} === "string" || ${i} === "number"
|
|
5
|
-
|| ${i} === "boolean" || ${s} === null`).assign(a,(0, O._)`[${s}]`);}}}function $l({gen:t,parentData:e,parentDataProperty:r},n){t.if((0, O._)`${e} !== undefined`,()=>t.assign((0, O._)`${e}[${r}]`,n));}function Wn(t,e,r,n=st.Correct){let s=n===st.Correct?O.operators.EQ:O.operators.NEQ,o;switch(t){case "null":return (0, O._)`${e} ${s} null`;case "array":o=(0, O._)`Array.isArray(${e})`;break;case "object":o=(0, O._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case "integer":o=i((0, O._)`!(${e} % 1) && !isNaN(${e})`);break;case "number":o=i();break;default:return (0, O._)`typeof ${e} ${s} ${t}`}return n===st.Correct?o:(0, O.not)(o);function i(a=O.nil){return (0, O.and)((0, O._)`typeof ${e} == "number"`,a,r?(0, O._)`isFinite(${e})`:O.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, Ei.toHash)(t);if(o.array&&o.object){let i=(0, O._)`typeof ${e} != "object"`;s=o.null?i:(0, O._)`!${e} || ${i}`,delete o.null,delete o.array,delete o.object;}else s=O.nil;o.number&&delete o.integer;for(let i in o)s=(0, O.and)(s,Wn(i,e,r,n));return s}re.checkDataTypes=Yn;var Rl={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0, O._)`{type: ${t}}`:(0, O._)`{type: ${e}}`};function Xn(t){let e=Tl(t);(0, kl.reportError)(e,Rl);}re.reportTypeError=Xn;function Tl(t){let{gen:e,data:r,schema:n}=t,s=(0, Ei.schemaRefOrVal)(t,n,"type");return {gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var Oi=b(Tr=>{Object.defineProperty(Tr,"__esModule",{value:true});Tr.assignDefaults=void 0;var ot=x(),El=I();function Cl(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)ji(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,o)=>ji(t,o,s.default));}Tr.assignDefaults=Cl;function ji(t,e,r){let{gen:n,compositeRule:s,data:o,opts:i}=t;if(r===void 0)return;let a=(0, ot._)`${o}${(0, ot.getProperty)(e)}`;if(s){(0, El.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0, ot._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0, ot._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0, ot._)`${a} = ${(0, ot.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=I(),je=le(),xl=I();function jl(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=jl;function Ol({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=Ol;function Pl(t,e){t.setParams({missingProperty:e},true),t.error();}L.reportMissingProp=Pl;function Pi(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, V._)`Object.prototype.hasOwnProperty`})}L.hasPropFunc=Pi;function Zn(t,e,r){return (0, V._)`${Pi(t)}.call(${e}, ${r})`}L.isOwnProperty=Zn;function Al(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=Al;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 Ai(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}L.allSchemaProperties=Ai;function Nl(t,e){return Ai(e).filter(r=>!(0, Qn.alwaysValidSchema)(t,e[r]))}L.schemaProperties=Nl;function Il({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:o},it:i},a,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,i.parentData],[je.default.parentDataProperty,i.parentDataProperty],[je.default.rootData,je.default.rootData]];i.opts.dynamicRef&&d.push([je.default.dynamicAnchors,je.default.dynamicAnchors]);let m=(0, V._)`${l}, ${r.object(...d)}`;return c!==V.nil?(0, V._)`${a}.call(${c}, ${m})`:(0, V._)`${a}(${m})`}L.callValidateCode=Il;var ql=(0, V._)`new RegExp`;function Dl({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"?ql:(0, xl.useFunc)(t,s)}(${r}, ${n})`})}L.usePattern=Dl;function Ml(t){let{gen:e,data:r,keyword:n,it:s}=t,o=e.name("valid");if(s.allErrors){let a=e.let("valid",true);return i(()=>e.assign(a,false)),a}return e.var(o,true),i(()=>e.break()),o;function i(a){let c=e.const("len",(0, 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),a);});}}L.validateArray=Ml;function Gl(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 i=e.let("valid",false),a=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:true},a);e.assign(i,(0, V._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0, V.not)(i));})),t.result(i,()=>t.reset(),()=>t.error(true));}L.validateUnion=Gl;});var qi=b(ke=>{Object.defineProperty(ke,"__esModule",{value:true});ke.validateKeywordUsage=ke.validSchemaType=ke.funcKeywordCode=ke.macroKeywordCode=void 0;var se=x(),Ue=le(),Ll=pe(),Fl=Ot();function Hl(t,e){let{gen:r,keyword:n,schema:s,parentSchema:o,it:i}=t,a=e.macro.call(i.self,s,o,i),c=Ii(r,n,a);i.opts.validateSchema!==false&&i.self.validateSchema(a,true);let u=r.name("valid");t.subschema({schema:a,schemaPath:se.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:true},u),t.pass(u,()=>t.error(true));}ke.macroKeywordCode=Hl;function Ul(t,e){var r;let{gen:n,keyword:s,schema:o,parentSchema:i,$data:a,it:c}=t;Bl(c,e);let u=!a&&e.compile?e.compile.call(c.self,o,i,c):e.validate,l=Ii(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&&Ni(t),g(()=>t.error());else {let _=e.async?p():h();e.modifying&&Ni(t),g(()=>Vl(t,_));}}function p(){let _=n.let("ruleErrs",null);return n.try(()=>f((0, se._)`await `),k=>n.assign(d,false).if((0, se._)`${k} instanceof ${c.ValidationError}`,()=>n.assign(_,(0, se._)`${k}.errors`),()=>n.throw(k))),_}function h(){let _=(0, se._)`${l}.errors`;return n.assign(_,null),f(se.nil),_}function f(_=e.async?(0, se._)`await `:se.nil){let k=c.opts.passContext?Ue.default.this:Ue.default.self,y=!("compile"in e&&!a||e.schema===false);n.assign(d,(0, se._)`${_}${(0, Ll.callValidateCode)(t,l,k,y)}`,e.modifying);}function g(_){var k;n.if((0, se.not)((k=e.valid)!==null&&k!==void 0?k:d),_);}}ke.funcKeywordCode=Ul;function Ni(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0, se._)`${n.parentData}[${n.parentDataProperty}]`));}function Vl(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, Fl.extendErrors)(t);},()=>t.error());}function Bl({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Ii(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 Kl(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")}ke.validSchemaType=Kl;function zl({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 i=s.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${o}: ${i.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)}}ke.validateKeywordUsage=zl;});var Mi=b(Oe=>{Object.defineProperty(Oe,"__esModule",{value:true});Oe.extendSubschemaMode=Oe.extendSubschemaData=Oe.getSubschema=void 0;var _e=x(),Di=I();function Jl(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:o,topSchemaRef:i}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0, _e._)`${t.schemaPath}${(0, _e.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0, _e._)`${t.schemaPath}${(0, _e.getProperty)(e)}${(0, _e.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0, Di.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||o===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return {schema:n,schemaPath:s,topSchemaRef:i,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')}Oe.getSubschema=Jl;function Wl(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:o,propertyName:i}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,m=a.let("data",(0, _e._)`${e.data}${(0, _e.getProperty)(r)}`,true);c(m),t.errorPath=(0, _e.str)`${u}${(0, Di.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0, _e._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty];}if(s!==void 0){let u=s instanceof _e.Name?s:a.let("data",s,true);c(u),i!==void 0&&(t.propertyName=i);}o&&(t.dataTypes=o);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u];}}Oe.extendSubschemaData=Wl;function Yl(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;}Oe.extendSubschemaMode=Yl;});var ts=b((Wv,Gi)=>{Gi.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 i=o[s];if(!t(e[i],r[i]))return false}return true}return e!==e&&r!==r};});var Fi=b((Yv,Li)=>{var Pe=Li.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(){};Er(e,n,s,t,"",t);};Pe.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true,if:true,then:true,else:true};Pe.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};Pe.propsKeywords={$defs:true,definitions:true,properties:true,patternProperties:true,dependencies:true};Pe.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 Er(t,e,r,n,s,o,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,o,i,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in Pe.arrayKeywords)for(var m=0;m<d.length;m++)Er(t,e,r,d[m],s+"/"+l+"/"+m,o,s,l,n,m);}else if(l in Pe.propsKeywords){if(d&&typeof d=="object")for(var p in d)Er(t,e,r,d[p],s+"/"+l+"/"+Xl(p),o,s,l,n,p);}else (l in Pe.keywords||t.allKeys&&!(l in Pe.skipKeywords))&&Er(t,e,r,d,s+"/"+l,o,s,l,n);}r(n,s,o,i,a,c,u);}}function Xl(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var At=b(ae=>{Object.defineProperty(ae,"__esModule",{value:true});ae.getSchemaRefs=ae.resolveUrl=ae.normalizeId=ae._getFullPath=ae.getFullPath=ae.inlineRef=void 0;var Ql=I(),Zl=ts(),ep=Fi(),tp=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function rp(t,e=true){return typeof t=="boolean"?true:e===true?!rs(t):e?Hi(t)<=e:false}ae.inlineRef=rp;var np=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function rs(t){for(let e in t){if(np.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 Hi(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!tp.has(r)&&(typeof t[r]=="object"&&(0, Ql.eachItem)(t[r],n=>e+=Hi(n)),e===1/0))return 1/0}return e}function Ui(t,e="",r){r!==false&&(e=it(e));let n=t.parse(e);return Vi(t,n)}ae.getFullPath=Ui;function Vi(t,e){return t.serialize(e).split("#")[0]+"#"}ae._getFullPath=Vi;var sp=/#\/?$/;function it(t){return t?t.replace(sp,""):""}ae.normalizeId=it;function op(t,e,r){return r=it(r),t.resolve(e,r)}ae.resolveUrl=op;var ip=/^[a-z_][-a-z0-9._]*$/i;function ap(t,e){if(typeof t=="boolean")return {};let{schemaId:r,uriResolver:n}=this.opts,s=it(t[r]||e),o={"":s},i=Ui(n,s,false),a={},c=new Set;return ep(t,{allKeys:true},(d,m,p,h)=>{if(h===void 0)return;let f=i+m,g=o[h];typeof d[r]=="string"&&(g=_.call(this,d[r])),k.call(this,d.$anchor),k.call(this,d.$dynamicAnchor),o[m]=g;function _(y){let w=this.opts.uriResolver.resolve;if(y=it(g?w(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!==it(f)&&(y[0]==="#"?(u(d,a[y],y),a[y]=d):this.refs[y]=f),y}function k(y){if(typeof y=="string"){if(!ip.test(y))throw new Error(`invalid anchor "${y}"`);_.call(this,`#${y}`);}}}),a;function u(d,m,p){if(m!==void 0&&!Zl(d,m))throw l(p)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}ae.getSchemaRefs=ap;});var at=b(Ae=>{Object.defineProperty(Ae,"__esModule",{value:true});Ae.getData=Ae.KeywordCxt=Ae.validateFunctionCode=void 0;var Wi=$i(),Bi=Pt(),ss=Jn(),Cr=Pt(),cp=Oi(),It=qi(),ns=Mi(),$=x(),C=le(),up=At(),Te=I(),Nt=Ot();function dp(t){if(Qi(t)&&(Zi(t),Xi(t))){fp(t);return}Yi(t,()=>(0, Wi.topBoolOrEmptySchema)(t));}Ae.validateFunctionCode=dp;function Yi({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"; ${Ki(r,s)}`),pp(t,s),t.code(o);}):t.func(e,(0, $._)`${C.default.data}, ${lp(s)}`,n.$async,()=>t.code(Ki(r,s)).code(o));}function lp(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 pp(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 fp(t){let{schema:e,opts:r,gen:n}=t;Yi(t,()=>{r.$comment&&e.$comment&&ta(t),vp(t),n.let(C.default.vErrors,null),n.let(C.default.errors,0),r.unevaluated&&mp(t),ea(t),bp(t);});}function mp(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 Ki(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0, $._)`/*# sourceURL=${r} */`:$.nil}function hp(t,e){if(Qi(t)&&(Zi(t),Xi(t))){gp(t,e);return}(0, Wi.boolOrEmptySchema)(t,e);}function Xi({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 Qi(t){return typeof t.schema!="boolean"}function gp(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&ta(t),kp(t),_p(t);let o=n.const("_errs",C.default.errors);ea(t,o),n.var(e,(0, $._)`${o} === ${C.default.errors}`);}function Zi(t){(0, Te.checkUnknownRules)(t),yp(t);}function ea(t,e){if(t.opts.jtd)return zi(t,[],false,e);let r=(0, Bi.getSchemaTypes)(t.schema),n=(0, Bi.coerceAndCheckDataType)(t,r);zi(t,r,!n,e);}function yp(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 vp(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 kp(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0, up.resolveUrl)(t.opts.uriResolver,t.baseId,e));}function _p(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function ta({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 i=(0, $.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0, $._)`${C.default.self}.opts.$comment(${o}, ${i}, ${a}.schema)`);}}function bp(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&&wp(t),e.return((0, $._)`${C.default.errors} === 0`));}function wp({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 zi(t,e,r,n){let{gen:s,schema:o,data:i,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(o.$ref&&(c.ignoreKeywordsWithRef||!(0, Te.schemaHasRulesButRef)(o,l))){s.block(()=>na(t,"$ref",l.all.$ref.definition));return}c.jtd||Sp(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, Cr.checkDataType)(m.type,i,c.strictNumbers)),Ji(t,m),e.length===1&&e[0]===m.type&&r&&(s.else(),(0, Cr.reportTypeError)(t)),s.endIf()):Ji(t,m),a||s.if((0, $._)`${C.default.errors} === ${n||0}`));}}function Ji(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0, cp.assignDefaults)(t,e.type),r.block(()=>{for(let o of e.rules)(0, ss.shouldUseRule)(n,o)&&na(t,o.keyword,o.definition,e.type);});}function Sp(t,e){t.schemaEnv.meta||!t.opts.strictTypes||($p(t,e),t.opts.allowUnionTypes||Rp(t,e),Tp(t,t.dataTypes));}function $p(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{ra(t.dataTypes,r)||os(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`);}),Cp(t,e);}}function Rp(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&os(t,"use allowUnionTypes to allow union type keyword");}function Tp(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(i=>Ep(e,i))&&os(t,`missing type "${o.join(",")}" for keyword "${n}"`);}}}function Ep(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function ra(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function Cp(t,e){let r=[];for(let n of t.dataTypes)ra(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 xr=class{constructor(e,r,n){if((0, It.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",sa(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0, It.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?Nt.reportExtraError:Nt.reportError)(this,this.def.error,r);}$dataError(){(0, Nt.reportError)(this,this.def.$dataError||Nt.keyword$DataError);}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0, Nt.resetErrorsCount)(this.gen,this.errsCount);}ok(e){this.allErrors||this.gen.if(e);}setParams(e,r){r?Object.assign(this.params,e):this.params=e;}block$data(e,r,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:i}=this;n.if((0, $.or)((0, $._)`${s} === undefined`,r)),e!==$.nil&&n.assign(e,true),(o.length||i.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)(i(),a());function i(){if(n.length){if(!(r instanceof $.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return (0, $._)`${(0, Cr.checkDataTypes)(c,r,o.opts.strictNumbers,Cr.DataType.Wrong)}`}return $.nil}function a(){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 hp(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=xr;function na(t,e,r,n){let s=new xr(t,r,e);"code"in r?r.code(s,n):s.$data&&r.validate?(0, It.funcKeywordCode)(s,r):"macro"in r?(0, It.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0, It.funcKeywordCode)(s,r);}var xp=/^\/(?:[^~]|~0|~1)*$/,jp=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function sa(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,o;if(t==="")return C.default.rootData;if(t[0]==="/"){if(!xp.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,o=C.default.rootData;}else {let u=jp.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 i=o,a=s.split("/");for(let u of a)u&&(o=(0, $._)`${o}${(0, $.getProperty)((0, Te.unescapeJsonPointer)(u))}`,i=(0, $._)`${i} && ${o}`);return i;function c(u,l){return `Cannot access ${u} ${l} levels up, current level is ${e}`}}Ae.getData=sa;});var qt=b(as=>{Object.defineProperty(as,"__esModule",{value:true});var is=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=true;}};as.default=is;});var ct=b(ds=>{Object.defineProperty(ds,"__esModule",{value:true});var cs=At(),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 Dt=b(fe=>{Object.defineProperty(fe,"__esModule",{value:true});fe.resolveSchema=fe.getCompilingSchema=fe.resolveRef=fe.compileSchema=fe.SchemaEnv=void 0;var ge=x(),Op=qt(),Ve=le(),ye=At(),oa=I(),Pp=at(),ut=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=ut;function ps(t){let e=ia.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,i=new ge.CodeGen(this.scope,{es5:n,lines:s,ownProperties:o}),a;t.$async&&(a=i.scopeValue("Error",{ref:Op.default,code:(0, ge._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,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:i.scopeValue("schema",this.opts.code.source===true?{ref:t.schema,code:(0, ge.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,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,Pp.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.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:i._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 Ap(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=qp.call(this,t,r);if(o===void 0){let i=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(o=new ut({schema:i,schemaId:a,root:t,baseId:e}));}if(o!==void 0)return t.refs[r]=Np.call(this,o)}fe.resolveRef=Ap;function Np(t){return (0, ye.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:ps.call(this,t)}function ia(t){for(let e of this._compilations)if(Ip(e,t))return e}fe.getCompilingSchema=ia;function Ip(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function qp(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||jr.call(this,t,e)}function jr(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),i=this.refs[o]||this.schemas[o];if(typeof i=="string"){let a=jr.call(this,t,i);return typeof a?.schema!="object"?void 0:ls.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||ps.call(this,i),o===(0, ye.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(s=(0, ye.resolveUrl)(this.opts.uriResolver,s,u)),new ut({schema:a,schemaId:c,root:t,baseId:s})}return ls.call(this,r,i)}}fe.resolveSchema=jr;var Dp=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 a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0, oa.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!Dp.has(a)&&u&&(e=(0, ye.resolveUrl)(this.opts.uriResolver,e,u));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, oa.schemaHasRulesButRef)(r,this.RULES)){let a=(0, ye.resolveUrl)(this.opts.uriResolver,e,r.$ref);o=jr.call(this,n,a);}let{schemaId:i}=this.opts;if(o=o||new ut({schema:r,schemaId:i,root:n,baseId:e}),o.schema!==o.root.schema)return o}});var aa=b((rk,Mp)=>{Mp.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((nk,la)=>{var Gp=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),ua=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 Lp=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function ca(t){return t.length=0,true}function Fp(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 Hp(t){let e=0,r={error:false,address:"",zone:""},n=[],s=[],o=false,i=false,a=Fp;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(o===true&&(i=true),!a(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(!a(s,n,r))break;a=ca;}else {s.push(u);continue}}return s.length&&(a===ca?r.zone=s.join(""):i?n.push(s.join("")):n.push(fs(s))),r.address=n.join(""),r}function da(t){if(Up(t,":")<2)return {host:t,isIPV6:false};let e=Hp(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 Up(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function Vp(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 Bp(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 Kp(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!ua(r)){let n=da(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}la.exports={nonSimpleDomain:Lp,recomposeAuthority:Kp,normalizeComponentEncoding:Bp,removeDotSegments:Vp,isIPv4:ua,isUUID:Gp,normalizeIPv6:da,stringArrayToHexStripped:fs};});var ga=b((sk,ha)=>{var{isUUID:zp}=ms(),Jp=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Wp=["http","https","ws","wss","urn","urn:uuid"];function Yp(t){return Wp.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 pa(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function fa(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 Xp(t){return t.secure=hs(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function Qp(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 Zp(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Jp);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 ef(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 i=t,a=t.nss;return i.path=`${n||e.nid}:${a}`,e.skipEscape=true,i}function tf(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!zp(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function rf(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var ma={scheme:"http",domainHost:true,parse:pa,serialize:fa},nf={scheme:"https",domainHost:ma.domainHost,parse:pa,serialize:fa},Or={scheme:"ws",domainHost:true,parse:Xp,serialize:Qp},sf={scheme:"wss",domainHost:Or.domainHost,parse:Or.parse,serialize:Or.serialize},of={scheme:"urn",parse:Zp,serialize:ef,skipNormalize:true},af={scheme:"urn:uuid",parse:tf,serialize:rf,skipNormalize:true},Pr={http:ma,https:nf,ws:Or,wss:sf,urn:of,"urn:uuid":af};Object.setPrototypeOf(Pr,null);function gs(t){return t&&(Pr[t]||Pr[t.toLowerCase()])||void 0}ha.exports={wsIsSecure:hs,SCHEMES:Pr,isValidSchemeName:Yp,getSchemeHandler:gs};});var ka=b((ok,Nr)=>{var{normalizeIPv6:cf,removeDotSegments:Mt,recomposeAuthority:uf,normalizeComponentEncoding:Ar,isIPv4:df,nonSimpleDomain:lf}=ms(),{SCHEMES:pf,getSchemeHandler:ya}=ga();function ff(t,e){return typeof t=="string"?t=be(Ee(t,e),e):typeof t=="object"&&(t=Ee(be(t,e),e)),t}function mf(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=va(Ee(t,n),Ee(e,n),n,true);return n.skipEscape=true,be(s,n)}function va(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=Mt(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=Mt(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=Mt(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=Mt(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 hf(t,e,r){return typeof t=="string"?(t=unescape(t),t=be(Ar(Ee(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=be(Ar(t,true),{...r,skipEscape:true})),typeof e=="string"?(e=unescape(e),e=be(Ar(Ee(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=be(Ar(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=ya(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 i=uf(r);if(i!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(i),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!o||!o.absolutePath)&&(a=Mt(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),s.push(a);}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var gf=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\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(gf);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(df(n.host)===false){let c=cf(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 i=ya(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&s===false&&lf(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase());}catch(a){n.error=n.error||"Host's domain name can not be converted to ASCII: "+a;}(!i||i&&!i.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)))),i&&i.parse&&i.parse(n,r);}else n.error=n.error||"URI can not be parsed.";return n}var ys={SCHEMES:pf,normalize:ff,resolve:mf,resolveComponent:va,equal:hf,serialize:be,parse:Ee};Nr.exports=ys;Nr.exports.default=ys;Nr.exports.fastUri=ys;});var ba=b(vs=>{Object.defineProperty(vs,"__esModule",{value:true});var _a=ka();_a.code='require("ajv/dist/runtime/uri").default';vs.default=_a;});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 yf=at();Object.defineProperty(Q,"KeywordCxt",{enumerable:true,get:function(){return yf.KeywordCxt}});var dt=x();Object.defineProperty(Q,"_",{enumerable:true,get:function(){return dt._}});Object.defineProperty(Q,"str",{enumerable:true,get:function(){return dt.str}});Object.defineProperty(Q,"stringify",{enumerable:true,get:function(){return dt.stringify}});Object.defineProperty(Q,"nil",{enumerable:true,get:function(){return dt.nil}});Object.defineProperty(Q,"Name",{enumerable:true,get:function(){return dt.Name}});Object.defineProperty(Q,"CodeGen",{enumerable:true,get:function(){return dt.CodeGen}});var vf=qt(),Ta=ct(),kf=zn(),Gt=Dt(),_f=x(),Lt=At(),Ir=Pt(),_s=I(),wa=aa(),bf=ba(),Ea=(t,e)=>new RegExp(t,e);Ea.code="new RegExp";var wf=["removeAdditional","useDefaults","coerceTypes"],Sf=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),$f={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."},Rf={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Sa=200;function Tf(t){var e,r,n,s,o,i,a,c,u,l,d,m,p,h,f,g,_,k,y,w,v,R,S,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:Ea,wn=(s=t.uriResolver)!==null&&s!==void 0?s:bf.default;return {strictSchema:(i=(o=t.strictSchema)!==null&&o!==void 0?o:F)!==null&&i!==void 0?i:true,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a: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:Sa,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:Sa,meta:(_=t.meta)!==null&&_!==void 0?_:true,messages:(k=t.messages)!==null&&k!==void 0?k:true,inlineRefs:(y=t.inlineRefs)!==null&&y!==void 0?y:true,schemaId:(w=t.schemaId)!==null&&w!==void 0?w:"$id",addUsedSchema:(v=t.addUsedSchema)!==null&&v!==void 0?v:true,validateSchema:(R=t.validateSchema)!==null&&R!==void 0?R:true,validateFormats:(S=t.validateFormats)!==null&&S!==void 0?S:true,unicodeRegExp:(T=t.unicodeRegExp)!==null&&T!==void 0?T:true,int32range:(J=t.int32range)!==null&&J!==void 0?J:true,uriResolver:wn}}var Ft=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...Tf(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new _f.ValueScope({scope:{},prefixes:Sf,es5:r,lines:n}),this.logger=Pf(e.logger);let s=e.validateFormats;e.validateFormats=false,this.RULES=(0, kf.getRules)(),$a.call(this,$f,e,"NOT SUPPORTED"),$a.call(this,Rf,e,"DEPRECATED","warn"),this._metaOpts=jf.call(this),e.formats&&Cf.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&xf.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),Ef.call(this),e.validateFormats=s;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=wa;n==="id"&&(s={...wa},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||i.call(this,m)}async function o(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},true);}async function i(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof Ta.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,l)}}function a({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 i of e)this.addSchema(i,void 0,n,s);return this}let o;if(typeof e=="object"){let{schemaId:i}=this.opts;if(o=e[i],o!==void 0&&typeof o!="string")throw new Error(`schema ${i} must be string`)}return r=(0, Lt.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=Ra.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new Gt.SchemaEnv({schema:{},schemaId:n});if(r=Gt.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=Ra.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, Lt.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(Nf.call(this,n,r),!r)return (0, _s.eachItem)(n,o=>ks.call(this,o)),this;qf.call(this,r);let s={...r,type:(0, Ir.getJSONTypes)(r.type),schemaType:(0, Ir.getJSONTypes)(r.schemaType)};return (0, _s.eachItem)(n,s.type.length===0?o=>ks.call(this,o,s):o=>s.type.forEach(i=>ks.call(this,o,s,i))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let 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),i=e;for(let a of o)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,l=i[a];u&&l&&(i[a]=Ca(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 i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];else {if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0, Lt.normalizeId)(i||n);let u=Lt.getSchemaRefs.call(this,e,n);return c=new Gt.SchemaEnv({schema:e,schemaId:a,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):Gt.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{Gt.compileSchema.call(this,e);}finally{this.opts=r;}}};Ft.ValidationError=vf.default;Ft.MissingRefError=Ta.default;Q.default=Ft;function $a(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 Ra(t){return t=(0, Lt.normalizeId)(t),this.schemas[t]||this.refs[t]}function Ef(){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 Cf(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e);}}function xf(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 jf(){let t={...this.opts};for(let e of wf)delete t[e];return t}var Of={log(){},warn(){},error(){}};function Pf(t){if(t===false)return Of;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 Af=/^[a-z_$][a-z0-9_$:-]*$/i;function Nf(t,e){let{RULES:r}=this;if((0, _s.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Af.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 ks(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,i=s?o.post:o.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},o.rules.push(i)),o.keywords[t]=true,!e)return;let a={keyword:t,definition:{...e,type:(0, Ir.getJSONTypes)(e.type),schemaType:(0, Ir.getJSONTypes)(e.schemaType)}};e.before?If.call(this,i,a,e.before):i.rules.push(a),o.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c));}function If(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 qf(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Ca(e)),t.validateSchema=this.compile(e,true));}var Df={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Ca(t){return {anyOf:[t,Df]}}});var xa=b(ws=>{Object.defineProperty(ws,"__esModule",{value:true});var Mf={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};ws.default=Mf;});var Mr=b(Be=>{Object.defineProperty(Be,"__esModule",{value:true});Be.callRef=Be.getValidate=void 0;var Gf=ct(),ja=pe(),ce=x(),lt=le(),Oa=Dt(),qr=I(),Lf={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:o,validateName:i,opts:a,self:c}=n,{root:u}=o;if((r==="#"||r==="#/")&&s===u.baseId)return d();let l=Oa.resolveRef.call(c,u,s,r);if(l===void 0)throw new Gf.default(n.opts.uriResolver,s,r);if(l instanceof Oa.SchemaEnv)return m(l);return p(l);function d(){if(o===u)return Dr(t,i,o,o.$async);let h=e.scopeValue("root",{ref:u});return Dr(t,(0, ce._)`${h}.validate`,u,u.$async)}function m(h){let f=Pa(t,h);Dr(t,f,h,h.$async);}function p(h){let f=e.scopeValue("schema",a.code.source===true?{ref:h,code:(0, ce.stringify)(h)}:{ref:h}),g=e.name("valid"),_=t.subschema({schema:h,dataTypes:[],schemaPath:ce.nil,topSchemaRef:f,errSchemaPath:r},g);t.mergeEvaluated(_),t.ok(g);}}};function Pa(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=Pa;function Dr(t,e,r,n){let{gen:s,it:o}=t,{allErrors:i,schemaEnv:a,opts:c}=o,u=c.passContext?lt.default.this:ce.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let h=s.let("valid");s.try(()=>{s.code((0, ce._)`await ${(0, ja.callValidateCode)(t,e,u)}`),p(e),i||s.assign(h,true);},f=>{s.if((0, ce._)`!(${f} instanceof ${o.ValidationError})`,()=>s.throw(f)),m(f),i||s.assign(h,false);}),t.ok(h);}function d(){t.result((0, ja.callValidateCode)(t,e,u),()=>p(e),()=>m(e));}function m(h){let f=(0, ce._)`${h}.errors`;s.assign(lt.default.vErrors,(0, ce._)`${lt.default.vErrors} === null ? ${f} : ${lt.default.vErrors}.concat(${f})`),s.assign(lt.default.errors,(0, ce._)`${lt.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 _=s.var("props",(0, ce._)`${h}.evaluated.props`);o.props=qr.mergeEvaluated.props(s,_,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 _=s.var("items",(0, ce._)`${h}.evaluated.items`);o.items=qr.mergeEvaluated.items(s,_,o.items,ce.Name);}}}Be.callRef=Dr;Be.default=Lf;});var $s=b(Ss=>{Object.defineProperty(Ss,"__esModule",{value:true});var Ff=xa(),Hf=Mr(),Uf=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Ff.default,Hf.default];Ss.default=Uf;});var Aa=b(Rs=>{Object.defineProperty(Rs,"__esModule",{value:true});var Gr=x(),Ne=Gr.operators,Lr={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}},Vf={message:({keyword:t,schemaCode:e})=>(0, Gr.str)`must be ${Lr[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0, Gr._)`{comparison: ${Lr[t].okStr}, limit: ${e}}`},Bf={keyword:Object.keys(Lr),type:"number",schemaType:"number",$data:true,error:Vf,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0, Gr._)`${r} ${Lr[e].fail} ${n} || isNaN(${r})`);}};Rs.default=Bf;});var Na=b(Ts=>{Object.defineProperty(Ts,"__esModule",{value:true});var Ht=x(),Kf={message:({schemaCode:t})=>(0, Ht.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0, Ht._)`{multipleOf: ${t}}`},zf={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:Kf,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,o=s.opts.multipleOfPrecision,i=e.let("res"),a=o?(0, Ht._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${o}`:(0, Ht._)`${i} !== parseInt(${i})`;t.fail$data((0, Ht._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`);}};Ts.default=zf;});var qa=b(Es=>{Object.defineProperty(Es,"__esModule",{value:true});function Ia(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=Ia;Ia.code='require("ajv/dist/runtime/ucs2length").default';});var Da=b(Cs=>{Object.defineProperty(Cs,"__esModule",{value:true});var Ke=x(),Jf=I(),Wf=qa(),Yf={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}}`},Xf={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:Yf,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,o=e==="maxLength"?Ke.operators.GT:Ke.operators.LT,i=s.opts.unicode===false?(0, Ke._)`${r}.length`:(0, Ke._)`${(0, Jf.useFunc)(t.gen,Wf.default)}(${r})`;t.fail$data((0, Ke._)`${i} ${o} ${n}`);}};Cs.default=Xf;});var Ma=b(xs=>{Object.defineProperty(xs,"__esModule",{value:true});var Qf=pe(),Zf=I(),pt=x(),em={message:({schemaCode:t})=>(0, pt.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0, pt._)`{pattern: ${t}}`},tm={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:em,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:o,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0, pt._)`new RegExp`:(0, Zf.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0, pt._)`${u}(${o}, ${a}).test(${r})`),()=>e.assign(l,false)),t.fail$data((0, pt._)`!${l}`);}else {let c=(0, Qf.usePattern)(t,s);t.fail$data((0, pt._)`!${c}.test(${r})`);}}};xs.default=tm;});var Ga=b(js=>{Object.defineProperty(js,"__esModule",{value:true});var Ut=x(),rm={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return (0, Ut.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0, Ut._)`{limit: ${t}}`},nm={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:rm,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?Ut.operators.GT:Ut.operators.LT;t.fail$data((0, Ut._)`Object.keys(${r}).length ${s} ${n}`);}};js.default=nm;});var La=b(Os=>{Object.defineProperty(Os,"__esModule",{value:true});var Vt=pe(),Bt=x(),sm=I(),om={message:({params:{missingProperty:t}})=>(0, Bt.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0, Bt._)`{missingProperty: ${t}}`},im={keyword:"required",type:"object",schemaType:"array",$data:true,error:om,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:o,it:i}=t,{opts:a}=i;if(!o&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.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=i.schemaEnv.baseId+i.errSchemaPath,_=`required property "${f}" is not defined at "${g}" (strictRequired)`;(0, sm.checkStrictMode)(i,_,i.opts.strictRequired);}}function u(){if(c||o)t.block$data(Bt.nil,d);else for(let p of r)(0, Vt.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, Vt.checkMissingProp)(t,r,p)),(0, Vt.reportMissingProp)(t,p),e.else();}function d(){e.forOf("prop",n,p=>{t.setParams({missingProperty:p}),e.if((0, Vt.noPropertyInData)(e,s,p,a.ownProperties),()=>t.error());});}function m(p,h){t.setParams({missingProperty:p}),e.forOf(p,n,()=>{e.assign(h,(0, Vt.propertyInData)(e,s,p,a.ownProperties)),e.if((0, Bt.not)(h),()=>{t.error(),e.break();});},Bt.nil);}}};Os.default=im;});var Fa=b(Ps=>{Object.defineProperty(Ps,"__esModule",{value:true});var Kt=x(),am={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return (0, Kt.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0, Kt._)`{limit: ${t}}`},cm={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:am,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?Kt.operators.GT:Kt.operators.LT;t.fail$data((0, Kt._)`${r}.length ${s} ${n}`);}};Ps.default=cm;});var Fr=b(As=>{Object.defineProperty(As,"__esModule",{value:true});var Ha=ts();Ha.code='require("ajv/dist/runtime/equal").default';As.default=Ha;});var Ua=b(Is=>{Object.defineProperty(Is,"__esModule",{value:true});var Ns=Pt(),Z=x(),um=I(),dm=Fr(),lm={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}}`},pm={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:lm,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:o,schemaCode:i,it:a}=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._)`${i} === 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"),_=(0, Ns.checkDataTypes)(u,g,a.opts.strictNumbers,Ns.DataType.Wrong),k=e.const("indices",(0, Z._)`{}`);e.for((0, Z._)`;${h}--;`,()=>{e.let(g,(0, Z._)`${r}[${h}]`),e.if(_,(0, Z._)`continue`),u.length>1&&e.if((0, Z._)`typeof ${g} == "string"`,(0, Z._)`${g} += "_"`),e.if((0, Z._)`typeof ${k}[${g}] == "number"`,()=>{e.assign(f,(0, Z._)`${k}[${g}]`),t.error(),e.assign(c,false).break();}).code((0, Z._)`${k}[${g}] = ${h}`);});}function p(h,f){let g=(0, um.useFunc)(e,dm.default),_=e.name("outer");e.label(_).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(_);})));}}};Is.default=pm;});var Va=b(Ds=>{Object.defineProperty(Ds,"__esModule",{value:true});var qs=x(),fm=I(),mm=Fr(),hm={message:"must be equal to constant",params:({schemaCode:t})=>(0, qs._)`{allowedValue: ${t}}`},gm={keyword:"const",$data:true,error:hm,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:o}=t;n||o&&typeof o=="object"?t.fail$data((0, qs._)`!${(0, fm.useFunc)(e,mm.default)}(${r}, ${s})`):t.fail((0, qs._)`${o} !== ${r}`);}};Ds.default=gm;});var Ba=b(Ms=>{Object.defineProperty(Ms,"__esModule",{value:true});var zt=x(),ym=I(),vm=Fr(),km={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0, zt._)`{allowedValues: ${t}}`},_m={keyword:"enum",schemaType:"array",$data:true,error:km,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:o,it:i}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let a=s.length>=i.opts.loopEnum,c,u=()=>c??(c=(0, ym.useFunc)(e,vm.default)),l;if(a||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, zt.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, zt._)`${u()}(${r}, ${p})`,()=>e.assign(l,true).break()));}function m(p,h){let f=s[h];return typeof f=="object"&&f!==null?(0, zt._)`${u()}(${r}, ${p}[${h}])`:(0, zt._)`${r} === ${f}`}}};Ms.default=_m;});var Ls=b(Gs=>{Object.defineProperty(Gs,"__esModule",{value:true});var bm=Aa(),wm=Na(),Sm=Da(),$m=Ma(),Rm=Ga(),Tm=La(),Em=Fa(),Cm=Ua(),xm=Va(),jm=Ba(),Om=[bm.default,wm.default,Sm.default,$m.default,Rm.default,Tm.default,Em.default,Cm.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},xm.default,jm.default];Gs.default=Om;});var Hs=b(Jt=>{Object.defineProperty(Jt,"__esModule",{value:true});Jt.validateAdditionalItems=void 0;var ze=x(),Fs=I(),Pm={message:({params:{len:t}})=>(0, ze.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, ze._)`{limit: ${t}}`},Am={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Pm,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}Ka(t,n);}};function Ka(t,e){let{gen:r,schema:n,data:s,keyword:o,it:i}=t;i.items=true;let a=r.const("len",(0, ze._)`${s}.length`);if(n===false)t.setParams({len:e.length}),t.pass((0, ze._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0, Fs.alwaysValidSchema)(i,n)){let u=r.var("valid",(0, ze._)`${a} <= ${e.length}`);r.if((0, ze.not)(u),()=>c(u)),t.ok(u);}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:o,dataProp:l,dataPropType:Fs.Type.Num},u),i.allErrors||r.if((0, ze.not)(u),()=>r.break());});}}Jt.validateAdditionalItems=Ka;Jt.default=Am;});var Us=b(Wt=>{Object.defineProperty(Wt,"__esModule",{value:true});Wt.validateTuple=void 0;var za=x(),Hr=I(),Nm=pe(),Im={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Ja(t,"additionalItems",e);r.items=true,!(0, Hr.alwaysValidSchema)(r,e)&&t.ok((0, Nm.validateArray)(t));}};function Ja(t,e,r=t.schema){let{gen:n,parentSchema:s,data:o,keyword:i,it:a}=t;l(s),a.opts.unevaluated&&r.length&&a.items!==true&&(a.items=Hr.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0, za._)`${o}.length`);r.forEach((d,m)=>{(0, Hr.alwaysValidSchema)(a,d)||(n.if((0, za._)`${u} > ${m}`,()=>t.subschema({keyword:i,schemaProp:m,dataProp:m},c)),t.ok(c));});function l(d){let{opts:m,errSchemaPath:p}=a,h=r.length,f=h===d.minItems&&(h===d.maxItems||d[e]===false);if(m.strictTuples&&!f){let g=`"${i}" is ${h}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0, Hr.checkStrictMode)(a,g,m.strictTuples);}}}Wt.validateTuple=Ja;Wt.default=Im;});var Wa=b(Vs=>{Object.defineProperty(Vs,"__esModule",{value:true});var qm=Us(),Dm={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0, qm.validateTuple)(t,"items")};Vs.default=Dm;});var Xa=b(Bs=>{Object.defineProperty(Bs,"__esModule",{value:true});var Ya=x(),Mm=I(),Gm=pe(),Lm=Hs(),Fm={message:({params:{len:t}})=>(0, Ya.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, Ya._)`{limit: ${t}}`},Hm={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Fm,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=true,!(0, Mm.alwaysValidSchema)(n,e)&&(s?(0, Lm.validateAdditionalItems)(t,s):t.ok((0, Gm.validateArray)(t)));}};Bs.default=Hm;});var Qa=b(Ks=>{Object.defineProperty(Ks,"__esModule",{value:true});var me=x(),Ur=I(),Um={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}}`},Vm={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:Um,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:o}=t,i,a,{minContains:c,maxContains:u}=n;o.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=e.const("len",(0, me._)`${s}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0, Ur.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0, Ur.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0, Ur.alwaysValidSchema)(o,r)){let f=(0, me._)`${l} >= ${i}`;a!==void 0&&(f=(0, me._)`${f} && ${l} <= ${a}`),t.pass(f);return}o.items=true;let d=e.name("valid");a===void 0&&i===1?p(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,true),a!==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,_=>{t.subschema({keyword:"contains",dataProp:_,dataPropType:Ur.Type.Num,compositeRule:true},f),g();});}function h(f){e.code((0, me._)`${f}++`),a===void 0?e.if((0, me._)`${f} >= ${i}`,()=>e.assign(d,true).break()):(e.if((0, me._)`${f} > ${a}`,()=>e.assign(d,false).break()),i===1?e.assign(d,true):e.if((0, me._)`${f} >= ${i}`,()=>e.assign(d,true)));}}};Ks.default=Vm;});var Vr=b(we=>{Object.defineProperty(we,"__esModule",{value:true});we.validateSchemaDeps=we.validatePropertyDeps=we.error=void 0;var zs=x(),Bm=I(),Yt=pe();we.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 Km={keyword:"dependencies",type:"object",schemaType:"object",error:we.error,code(t){let[e,r]=zm(t);Za(t,e),ec(t,r);}};function zm({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 Za(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 i in e){let a=e[i];if(a.length===0)continue;let c=(0, Yt.propertyInData)(r,n,i,s.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),s.allErrors?r.if(c,()=>{for(let u of a)(0, Yt.checkReportMissingProp)(t,u);}):(r.if((0, zs._)`${c} && (${(0, Yt.checkMissingProp)(t,a,o)})`),(0, Yt.reportMissingProp)(t,o),r.else());}}we.validatePropertyDeps=Za;function ec(t,e=t.schema){let{gen:r,data:n,keyword:s,it:o}=t,i=r.name("valid");for(let a in e)(0, Bm.alwaysValidSchema)(o,e[a])||(r.if((0, Yt.propertyInData)(r,n,a,o.opts.ownProperties),()=>{let c=t.subschema({keyword:s,schemaProp:a},i);t.mergeValidEvaluated(c,i);},()=>r.var(i,true)),t.ok(i));}we.validateSchemaDeps=ec;we.default=Km;});var rc=b(Js=>{Object.defineProperty(Js,"__esModule",{value:true});var tc=x(),Jm=I(),Wm={message:"property name must be valid",params:({params:t})=>(0, tc._)`{propertyName: ${t.propertyName}}`},Ym={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Wm,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0, Jm.alwaysValidSchema)(s,r))return;let o=e.name("valid");e.forIn("key",n,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:true},o),e.if((0, tc.not)(o),()=>{t.error(true),s.allErrors||e.break();});}),t.ok(o);}};Js.default=Ym;});var Ys=b(Ws=>{Object.defineProperty(Ws,"__esModule",{value:true});var Br=pe(),ve=x(),Xm=le(),Kr=I(),Qm={message:"must NOT have additional properties",params:({params:t})=>(0, ve._)`{additionalProperty: ${t.additionalProperty}}`},Zm={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:Qm,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:o,it:i}=t;if(!o)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=true,c.removeAdditional!=="all"&&(0, Kr.alwaysValidSchema)(i,r))return;let u=(0, Br.allSchemaProperties)(n.properties),l=(0, Br.allSchemaProperties)(n.patternProperties);d(),t.ok((0, ve._)`${o} === ${Xm.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 _;if(u.length>8){let k=(0, Kr.schemaRefOrVal)(i,n.properties,"properties");_=(0, Br.isOwnProperty)(e,k,g);}else u.length?_=(0, ve.or)(...u.map(k=>(0, ve._)`${g} === ${k}`)):_=ve.nil;return l.length&&(_=(0, ve.or)(_,...l.map(k=>(0, ve._)`${(0, Br.usePattern)(t,k)}.test(${g})`))),(0, ve.not)(_)}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(),a||e.break();return}if(typeof r=="object"&&!(0, Kr.alwaysValidSchema)(i,r)){let _=e.name("valid");c.removeAdditional==="failing"?(f(g,_,false),e.if((0, ve.not)(_),()=>{t.reset(),p(g);})):(f(g,_),a||e.if((0, ve.not)(_),()=>e.break()));}}function f(g,_,k){let y={keyword:"additionalProperties",dataProp:g,dataPropType:Kr.Type.Str};k===false&&Object.assign(y,{compositeRule:true,createErrors:false,allErrors:false}),t.subschema(y,_);}}};Ws.default=Zm;});var oc=b(Qs=>{Object.defineProperty(Qs,"__esModule",{value:true});var eh=at(),nc=pe(),Xs=I(),sc=Ys(),th={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&&sc.default.code(new eh.KeywordCxt(o,sc.default,"additionalProperties"));let i=(0, nc.allSchemaProperties)(r);for(let d of i)o.definedProperties.add(d);o.opts.unevaluated&&i.length&&o.props!==true&&(o.props=Xs.mergeEvaluated.props(e,(0, Xs.toHash)(i),o.props));let a=i.filter(d=>!(0, Xs.alwaysValidSchema)(o,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)u(d)?l(d):(e.if((0, nc.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=th;});var uc=b(Zs=>{Object.defineProperty(Zs,"__esModule",{value:true});var ic=pe(),zr=x(),ac=I(),cc=I(),rh={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:o}=t,{opts:i}=o,a=(0, ic.allSchemaProperties)(r),c=a.filter(f=>(0, ac.alwaysValidSchema)(o,r[f]));if(a.length===0||c.length===a.length&&(!o.opts.unevaluated||o.props===true))return;let u=i.strictSchema&&!i.allowMatchingProperties&&s.properties,l=e.name("valid");o.props!==true&&!(o.props instanceof zr.Name)&&(o.props=(0, cc.evaluatedPropsToName)(e,o.props));let{props:d}=o;m();function m(){for(let f of a)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, ac.checkStrictMode)(o,`property ${g} matches pattern ${f} (use allowMatchingProperties)`);}function h(f){e.forIn("key",n,g=>{e.if((0, zr._)`${(0, ic.usePattern)(t,f)}.test(${g})`,()=>{let _=c.includes(f);_||t.subschema({keyword:"patternProperties",schemaProp:f,dataProp:g,dataPropType:cc.Type.Str},l),o.opts.unevaluated&&d!==true?e.assign((0, zr._)`${d}[${g}]`,true):!_&&!o.allErrors&&e.if((0, zr.not)(l),()=>e.break());});});}}};Zs.default=rh;});var dc=b(eo=>{Object.defineProperty(eo,"__esModule",{value:true});var nh=I(),sh={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(t){let{gen:e,schema:r,it:n}=t;if((0, nh.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=sh;});var lc=b(to=>{Object.defineProperty(to,"__esModule",{value:true});var oh=pe(),ih={keyword:"anyOf",schemaType:"array",trackErrors:true,code:oh.validateUnion,error:{message:"must match a schema in anyOf"}};to.default=ih;});var pc=b(ro=>{Object.defineProperty(ro,"__esModule",{value:true});var Jr=x(),ah=I(),ch={message:"must match exactly one schema in oneOf",params:({params:t})=>(0, Jr._)`{passingSchemas: ${t.passing}}`},uh={keyword:"oneOf",schemaType:"array",trackErrors:true,error:ch,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,i=e.let("valid",false),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(true));function u(){o.forEach((l,d)=>{let m;(0, ah.alwaysValidSchema)(s,l)?e.var(c,true):m=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:true},c),d>0&&e.if((0, Jr._)`${c} && ${i}`).assign(i,false).assign(a,(0, Jr._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,true),e.assign(a,d),m&&t.mergeEvaluated(m,Jr.Name);});});}}};ro.default=uh;});var fc=b(no=>{Object.defineProperty(no,"__esModule",{value:true});var dh=I(),lh={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,i)=>{if((0, dh.alwaysValidSchema)(n,o))return;let a=t.subschema({keyword:"allOf",schemaProp:i},s);t.ok(s),t.mergeEvaluated(a);});}};no.default=lh;});var gc=b(so=>{Object.defineProperty(so,"__esModule",{value:true});var Wr=x(),hc=I(),ph={message:({params:t})=>(0, Wr.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0, Wr._)`{failingKeyword: ${t.ifClause}}`},fh={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:ph,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0, hc.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=mc(n,"then"),o=mc(n,"else");if(!s&&!o)return;let i=e.let("valid",true),a=e.name("_valid");if(c(),t.reset(),s&&o){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(a,u("then",l),u("else",l));}else s?e.if(a,u("then")):e.if((0, Wr.not)(a),u("else"));t.pass(i,()=>t.error(true));function c(){let l=t.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},a);t.mergeEvaluated(l);}function u(l,d){return ()=>{let m=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(m,i),d?e.assign(d,(0, Wr._)`${l}`):t.setParams({ifClause:l});}}}};function mc(t,e){let r=t.schema[e];return r!==void 0&&!(0, hc.alwaysValidSchema)(t,r)}so.default=fh;});var yc=b(oo=>{Object.defineProperty(oo,"__esModule",{value:true});var mh=I(),hh={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0, mh.checkStrictMode)(r,`"${t}" without "if" is ignored`);}};oo.default=hh;});var ao=b(io=>{Object.defineProperty(io,"__esModule",{value:true});var gh=Hs(),yh=Wa(),vh=Us(),kh=Xa(),_h=Qa(),bh=Vr(),wh=rc(),Sh=Ys(),$h=oc(),Rh=uc(),Th=dc(),Eh=lc(),Ch=pc(),xh=fc(),jh=gc(),Oh=yc();function Ph(t=false){let e=[Th.default,Eh.default,Ch.default,xh.default,jh.default,Oh.default,wh.default,Sh.default,bh.default,$h.default,Rh.default];return t?e.push(yh.default,kh.default):e.push(gh.default,vh.default),e.push(_h.default),e}io.default=Ph;});var vc=b(co=>{Object.defineProperty(co,"__esModule",{value:true});var Y=x(),Ah={message:({schemaCode:t})=>(0, Y.str)`must match format "${t}"`,params:({schemaCode:t})=>(0, Y._)`{format: ${t}}`},Nh={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:Ah,code(t,e){let{gen:r,data:n,$data:s,schema:o,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;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}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0, Y._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(g,(0, Y._)`${f}.type || "string"`).assign(_,(0, Y._)`${f}.validate`),()=>r.assign(g,(0, Y._)`"string"`).assign(_,f)),t.fail$data((0, Y.or)(k(),y()));function k(){return c.strictSchema===false?Y.nil:(0, Y._)`${i} && !${_}`}function y(){let w=l.$async?(0, Y._)`(${f}.async ? await ${_}(${n}) : ${_}(${n}))`:(0, Y._)`${_}(${n})`,v=(0, Y._)`(typeof ${_} == "function" ? ${w} : ${_}.test(${n}))`;return (0, Y._)`${_} && ${_} !== true && ${g} === ${e} && !${v}`}}function p(){let h=d.formats[o];if(!h){k();return}if(h===true)return;let[f,g,_]=y(h);f===e&&t.pass(w());function k(){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,S=r.scopeValue("formats",{key:o,ref:v,code:R});return typeof v=="object"&&!(v instanceof RegExp)?[v.type||"string",v.validate,(0, Y._)`${S}.validate`]:["string",v,S]}function w(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return (0, Y._)`await ${_}(${n})`}return typeof g=="function"?(0, Y._)`${_}(${n})`:(0, Y._)`${_}.test(${n})`}}}};co.default=Nh;});var lo=b(uo=>{Object.defineProperty(uo,"__esModule",{value:true});var Ih=vc(),qh=[Ih.default];uo.default=qh;});var po=b(ft=>{Object.defineProperty(ft,"__esModule",{value:true});ft.contentVocabulary=ft.metadataVocabulary=void 0;ft.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ft.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var _c=b(fo=>{Object.defineProperty(fo,"__esModule",{value:true});var Dh=$s(),Mh=Ls(),Gh=ao(),Lh=lo(),kc=po(),Fh=[Dh.default,Mh.default,(0, Gh.default)(),Lh.default,kc.metadataVocabulary,kc.contentVocabulary];fo.default=Fh;});var wc=b(Yr=>{Object.defineProperty(Yr,"__esModule",{value:true});Yr.DiscrError=void 0;var bc;(function(t){t.Tag="tag",t.Mapping="mapping";})(bc||(Yr.DiscrError=bc={}));});var go=b(ho=>{Object.defineProperty(ho,"__esModule",{value:true});var mt=x(),mo=wc(),Sc=Dt(),Hh=ct(),Uh=I(),Vh={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, mt._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},Bh={keyword:"discriminator",type:"object",schemaType:"object",error:Vh,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:o}=t,{oneOf:i}=s;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",false),u=e.const("tag",(0, mt._)`${r}${(0, mt.getProperty)(a)}`);e.if((0, mt._)`typeof ${u} == "string"`,()=>l(),()=>t.error(false,{discrError:mo.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let p=m();e.if(false);for(let h in p)e.elseIf((0, mt._)`${u} === ${h}`),e.assign(c,d(p[h]));e.else(),t.error(false,{discrError:mo.DiscrError.Mapping,tag:u,tagName:a}),e.endIf();}function d(p){let h=e.name("valid"),f=t.subschema({keyword:"oneOf",schemaProp:p},h);return t.mergeEvaluated(f,mt.Name),h}function m(){var p;let h={},f=_(s),g=true;for(let w=0;w<i.length;w++){let v=i[w];if(v?.$ref&&!(0, Uh.schemaHasRulesButRef)(v,o.self.RULES)){let S=v.$ref;if(v=Sc.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,S),v instanceof Sc.SchemaEnv&&(v=v.schema),v===void 0)throw new Hh.default(o.opts.uriResolver,o.baseId,S)}let R=(p=v?.properties)===null||p===void 0?void 0:p[a];if(typeof R!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(f||_(v)),k(R,w);}if(!g)throw new Error(`discriminator: "${a}" must be required`);return h;function _({required:w}){return Array.isArray(w)&&w.includes(a)}function k(w,v){if(w.const)y(w.const,v);else if(w.enum)for(let R of w.enum)y(R,v);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function y(w,v){if(typeof w!="string"||w in h)throw new Error(`discriminator: "${a}" values must be unique strings`);h[w]=v;}}}};ho.default=Bh;});var $c=b((zk,Kh)=>{Kh.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 Qr=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 zh=bs(),Jh=_c(),Wh=go(),Rc=$c(),Yh=["/properties"],Xr="http://json-schema.org/draft-07/schema",ht=class extends zh.default{_addVocabularies(){super._addVocabularies(),Jh.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(Wh.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(Rc,Yh):Rc;this.addMetaSchema(e,Xr,false),this.refs["http://json-schema.org/schema"]=Xr;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Xr)?Xr:void 0)}};B.Ajv=ht;yo.exports=B=ht;yo.exports.Ajv=ht;Object.defineProperty(B,"__esModule",{value:true});B.default=ht;var Xh=at();Object.defineProperty(B,"KeywordCxt",{enumerable:true,get:function(){return Xh.KeywordCxt}});var gt=x();Object.defineProperty(B,"_",{enumerable:true,get:function(){return gt._}});Object.defineProperty(B,"str",{enumerable:true,get:function(){return gt.str}});Object.defineProperty(B,"stringify",{enumerable:true,get:function(){return gt.stringify}});Object.defineProperty(B,"nil",{enumerable:true,get:function(){return gt.nil}});Object.defineProperty(B,"Name",{enumerable:true,get:function(){return gt.Name}});Object.defineProperty(B,"CodeGen",{enumerable:true,get:function(){return gt.CodeGen}});var Qh=qt();Object.defineProperty(B,"ValidationError",{enumerable:true,get:function(){return Qh.default}});var Zh=ct();Object.defineProperty(B,"MissingRefError",{enumerable:true,get:function(){return Zh.default}});});var Vo=b(dr=>{Object.defineProperty(dr,"__esModule",{value:true});dr.dynamicAnchor=void 0;var Uo=x(),py=le(),qu=Dt(),fy=Mr(),my={keyword:"$dynamicAnchor",schemaType:"string",code:t=>Du(t,t.schema)};function Du(t,e){let{gen:r,it:n}=t;n.schemaEnv.root.dynamicAnchors[e]=true;let s=(0, Uo._)`${py.default.dynamicAnchors}${(0, Uo.getProperty)(e)}`,o=n.errSchemaPath==="#"?n.validateName:hy(t);r.if((0, Uo._)`!${s}`,()=>r.assign(s,o));}dr.dynamicAnchor=Du;function hy(t){let{schemaEnv:e,schema:r,self:n}=t.it,{root:s,baseId:o,localRefs:i,meta:a}=e.root,{schemaId:c}=n.opts,u=new qu.SchemaEnv({schema:r,schemaId:c,root:s,baseId:o,localRefs:i,meta:a});return qu.compileSchema.call(n,u),(0, fy.getValidate)(t,u)}dr.default=my;});var Bo=b(lr=>{Object.defineProperty(lr,"__esModule",{value:true});lr.dynamicRef=void 0;var Mu=x(),gy=le(),Gu=Mr(),yy={keyword:"$dynamicRef",schemaType:"string",code:t=>Lu(t,t.schema)};function Lu(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)i();else {let c=r.let("valid",false);i(c),t.ok(c);}function i(c){if(s.schemaEnv.root.dynamicAnchors[o]){let u=r.let("_v",(0, Mu._)`${gy.default.dynamicAnchors}${(0, Mu.getProperty)(o)}`);r.if(u,a(u,c),a(s.validateName,c));}else a(s.validateName,c)();}function a(c,u){return u?()=>r.block(()=>{(0, Gu.callRef)(t,c),r.let(u,true);}):()=>(0, Gu.callRef)(t,c)}}lr.dynamicRef=Lu;lr.default=yy;});var Fu=b(Ko=>{Object.defineProperty(Ko,"__esModule",{value:true});var vy=Vo(),ky=I(),_y={keyword:"$recursiveAnchor",schemaType:"boolean",code(t){t.schema?(0, vy.dynamicAnchor)(t,""):(0, ky.checkStrictMode)(t.it,"$recursiveAnchor: false is ignored");}};Ko.default=_y;});var Hu=b(zo=>{Object.defineProperty(zo,"__esModule",{value:true});var by=Bo(),wy={keyword:"$recursiveRef",schemaType:"string",code:t=>(0, by.dynamicRef)(t,t.schema)};zo.default=wy;});var Uu=b(Jo=>{Object.defineProperty(Jo,"__esModule",{value:true});var Sy=Vo(),$y=Bo(),Ry=Fu(),Ty=Hu(),Ey=[Sy.default,$y.default,Ry.default,Ty.default];Jo.default=Ey;});var Bu=b(Wo=>{Object.defineProperty(Wo,"__esModule",{value:true});var Vu=Vr(),Cy={keyword:"dependentRequired",type:"object",schemaType:"object",error:Vu.error,code:t=>(0, Vu.validatePropertyDeps)(t)};Wo.default=Cy;});var Ku=b(Yo=>{Object.defineProperty(Yo,"__esModule",{value:true});var xy=Vr(),jy={keyword:"dependentSchemas",type:"object",schemaType:"object",code:t=>(0, xy.validateSchemaDeps)(t)};Yo.default=jy;});var zu=b(Xo=>{Object.defineProperty(Xo,"__esModule",{value:true});var Oy=I(),Py={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:t,parentSchema:e,it:r}){e.contains===void 0&&(0, Oy.checkStrictMode)(r,`"${t}" without "contains" is ignored`);}};Xo.default=Py;});var Ju=b(Qo=>{Object.defineProperty(Qo,"__esModule",{value:true});var Ay=Bu(),Ny=Ku(),Iy=zu(),qy=[Ay.default,Ny.default,Iy.default];Qo.default=qy;});var Yu=b(Zo=>{Object.defineProperty(Zo,"__esModule",{value:true});var De=x(),Wu=I(),Dy=le(),My={message:"must NOT have unevaluated properties",params:({params:t})=>(0, De._)`{unevaluatedProperty: ${t.unevaluatedProperty}}`},Gy={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:true,error:My,code(t){let{gen:e,schema:r,data:n,errsCount:s,it:o}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:i,props:a}=o;a instanceof De.Name?e.if((0, De._)`${a} !== true`,()=>e.forIn("key",n,d=>e.if(u(a,d),()=>c(d)))):a!==true&&e.forIn("key",n,d=>a===void 0?c(d):e.if(l(a,d),()=>c(d))),o.props=true,t.ok((0, De._)`${s} === ${Dy.default.errors}`);function c(d){if(r===false){t.setParams({unevaluatedProperty:d}),t.error(),i||e.break();return}if(!(0, Wu.alwaysValidSchema)(o,r)){let m=e.name("valid");t.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:Wu.Type.Str},m),i||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)}}};Zo.default=Gy;});var Qu=b(ei=>{Object.defineProperty(ei,"__esModule",{value:true});var Qe=x(),Xu=I(),Ly={message:({params:{len:t}})=>(0, Qe.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, Qe._)`{limit: ${t}}`},Fy={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:Ly,code(t){let{gen:e,schema:r,data:n,it:s}=t,o=s.items||0;if(o===true)return;let i=e.const("len",(0, Qe._)`${n}.length`);if(r===false)t.setParams({len:o}),t.fail((0, Qe._)`${i} > ${o}`);else if(typeof r=="object"&&!(0, Xu.alwaysValidSchema)(s,r)){let c=e.var("valid",(0, Qe._)`${i} <= ${o}`);e.if((0, Qe.not)(c),()=>a(c,o)),t.ok(c);}s.items=true;function a(c,u){e.forRange("i",u,i,l=>{t.subschema({keyword:"unevaluatedItems",dataProp:l,dataPropType:Xu.Type.Num},c),s.allErrors||e.if((0, Qe.not)(c),()=>e.break());});}}};ei.default=Fy;});var Zu=b(ti=>{Object.defineProperty(ti,"__esModule",{value:true});var Hy=Yu(),Uy=Qu(),Vy=[Hy.default,Uy.default];ti.default=Vy;});var td=b(ri=>{Object.defineProperty(ri,"__esModule",{value:true});var By=$s(),Ky=Ls(),zy=ao(),Jy=Uu(),Wy=Ju(),Yy=Zu(),Xy=lo(),ed=po(),Qy=[Jy.default,By.default,Ky.default,(0, zy.default)(true),Xy.default,ed.metadataVocabulary,ed.contentVocabulary,Wy.default,Yy.default];ri.default=Qy;});var rd=b((Rw,Zy)=>{Zy.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 nd=b((Tw,ev)=>{ev.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 sd=b((Ew,tv)=>{tv.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 od=b((Cw,rv)=>{rv.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 id=b((xw,nv)=>{nv.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 ad=b((jw,sv)=>{sv.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 cd=b((Ow,ov)=>{ov.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 ud=b((Pw,iv)=>{iv.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 dd=b(ni=>{Object.defineProperty(ni,"__esModule",{value:true});var av=rd(),cv=nd(),uv=sd(),dv=od(),lv=id(),pv=ad(),fv=cd(),mv=ud(),hv=["/properties"];function gv(t){return [av,cv,uv,dv,lv,e(this,pv),fv,e(this,mv)].forEach(r=>this.addMetaSchema(r,void 0,false)),this;function e(r,n){return t?r.$dataMetaSchema(n,hv):n}}ni.default=gv;});var ld=b((K,oi)=>{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 yv=bs(),vv=td(),kv=go(),_v=dd(),si="https://json-schema.org/draft/2020-12/schema",_t=class extends yv.default{constructor(e={}){super({...e,dynamicRef:true,next:true,unevaluated:true});}_addVocabularies(){super._addVocabularies(),vv.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(kv.default);}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:r}=this.opts;r&&(_v.default.call(this,e),this.refs["http://json-schema.org/schema"]=si);}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(si)?si:void 0)}};K.Ajv2020=_t;oi.exports=K=_t;oi.exports.Ajv2020=_t;Object.defineProperty(K,"__esModule",{value:true});K.default=_t;var bv=at();Object.defineProperty(K,"KeywordCxt",{enumerable:true,get:function(){return bv.KeywordCxt}});var bt=x();Object.defineProperty(K,"_",{enumerable:true,get:function(){return bt._}});Object.defineProperty(K,"str",{enumerable:true,get:function(){return bt.str}});Object.defineProperty(K,"stringify",{enumerable:true,get:function(){return bt.stringify}});Object.defineProperty(K,"nil",{enumerable:true,get:function(){return bt.nil}});Object.defineProperty(K,"Name",{enumerable:true,get:function(){return bt.Name}});Object.defineProperty(K,"CodeGen",{enumerable:true,get:function(){return bt.CodeGen}});var wv=qt();Object.defineProperty(K,"ValidationError",{enumerable:true,get:function(){return wv.default}});var Sv=ct();Object.defineProperty(K,"MissingRefError",{enumerable:true,get:function(){return Sv.default}});});function fr(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 a=e.retryCounts[r]??0;if(a<s.retry.max_attempts)return {newState:{...e,retryCounts:{...e.retryCounts,[r]:a+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 i=!!t.terminal_states[o];return {newState:{...e,currentStep:o,stepHistory:[...e.stepHistory,r],retryCounts:{...e.retryCounts,[r]:0},updatedAt:Date.now()},nextStep:o,isTerminal:i,isCircuitBroken:false,shouldRetry:false}}function mr(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 hr(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 gr(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 yr(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 wt=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 Sd(){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 Ze=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 wt,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[i,a]of Object.entries(o.transitions))if(!r[a]&&!n[a])throw new Error(`Step "${s}" transition "${i}" points to unknown step "${a}"`);if(o.failure_transitions){for(let[i,a]of Object.entries(o.failure_transitions))if(!r[a]&&!n[a])throw new Error(`Step "${s}" failure_transition "${i}" points to unknown step "${a}"`)}}}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=Sd(),n=yr(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,i=0;for(;i<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 a=o.currentStep,c=this.flow.terminal_states[a];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:gr(c.return_artifacts,f),finalStep:a,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=mr(this.flow,o,a);if(u.broken){o=u.newState,await this.store.saveRunState(e,o),i++;continue}o=u.newState;let l=await this.store.getAllData(e),d=hr(this.flow,a,l),m={runId:e,stepName:a,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:a,input:d}});let p;try{let f=this.handlers.get(a);if(!f)throw new Error(`No handler registered for step "${a}"`);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:a,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:a,result:p.result}}),this.options.onStep?.(a,p);let h=fr(this.flow,o,a,p);if(o=h.newState,h.shouldRetry){await this.store.saveRunState(e,o);let f=this.flow.steps[a];if(f.retry?.delay_ms){let g=o.retryCounts[a]??0,_=f.retry.backoff_multiplier?f.retry.delay_ms*Math.pow(f.retry.backoff_multiplier,g-1):f.retry.delay_ms;await this.sleep(_);}i++;continue}await this.store.saveRunState(e,o),this.emit({type:"transition",runId:e,timestamp:Date.now(),data:{from:a,to:o.currentStep,result:p.result}}),this.options.onTransition?.(a,o.currentStep),i++;}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 Sn(t,e,r){return new Ze(t,e,r)}async function $n(t){return (await import('yaml')).parse(t)}async function $d(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 Rd(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 i=o;(!i.transitions||typeof i.transitions!="object")&&e.push(`Step "${s}" must have a "transitions" object`),i.failure_transitions!==void 0&&typeof i.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 ai(t){let e;typeof t=="string"?t.startsWith("http://")||t.startsWith("https://")?e=await $d(t):t.includes("{")?e=JSON.parse(t):e=await Rd(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 ci={$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 Tc=pr(Qr());var Zr=null;function tg(){if(Zr)return Zr;let t=new Tc.default({allErrors:true});return eg(t),Zr=t.compile(ci),Zr}function Ec(t){let e=tg();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"},Cc={CREATED:"created",RUNNING:"running",PAUSED:"paused",STOPPED:"stopped",COMPLETED:"completed",FAILED:"failed"},xc={ALL_TASKS_DONE:"all-tasks-done",ALL_OUTPUTS_DONE:"all-outputs-done",ONLY_RESOLVED:"only-resolved",GOAL_REACHED:"goal-reached",MANUAL:"manual"},jc={DEPENDENCY_MODE:"dependency-mode",ELIGIBILITY_MODE:"eligibility-mode"},Oc={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"},Pc={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 j(t){return t?Array.isArray(t.requires)?t.requires:[]:[]}function G(t){return t.tasks??{}}function Ac(t,e){return t.tasks[e]}function Nc(t,e){return e in t.tasks}function X(t){return t?t.status===P.FAILED||t.status===P.INACTIVATED:false}function Ic(t){return t?.status===P.COMPLETED}function qc(t){return t?.status===P.RUNNING}function Je(t,e){return t.refreshStrategy??e?.refreshStrategy??"data-changed"}function Dc(t,e){return Je(t,e)!=="once"}function yt(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(a=>r.add(a));}return Array.from(r)}function Ie(t,e){let r={};return t.forEach(n=>{let s=e[n];if(!s)return;E(s).forEach(i=>{r[i]||(r[i]=[]),r[i].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(a=>o.includes(a)))return true}return false}function Mc(t,e,r){return {...t,tasks:{...t.tasks,[e]:r}}}function Xt(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function en(t,e){let r={};for(let n of Object.keys(t.tasks))r[n]=Xt();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 ko(t,e,r,n){switch(n){case "alphabetical":return Gc(t);case "priority-first":return rg(t,e);case "duration-first":return ng(t,e);case "cost-optimized":return sg(t,e);case "resource-aware":return og(t,e);case "round-robin":return ig(t,r);default:return Gc(t)}}function Gc(t){return [...t].sort((e,r)=>e.localeCompare(r))[0]}function rg(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 i=tn(e[r]),a=tn(e[n]);return i!==a?i-a:r.localeCompare(n)})[0]}function ng(t,e){return [...t].sort((r,n)=>{let s=tn(e[r]),o=tn(e[n]);if(s!==o)return s-o;let i=e[r]?.priority??0,a=e[n]?.priority??0;return i!==a?a-i:r.localeCompare(n)})[0]}function sg(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 i=e[r]?.priority??0,a=e[n]?.priority??0;return i!==a?a-i:r.localeCompare(n)})[0]}function og(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 i=e[r]?.priority??0,a=e[n]?.priority??0;return i!==a?a-i:r.localeCompare(n)})[0]}function ig(t,e){let r=Object.values(e.tasks).reduce((s,o)=>s+o.executionCount,0),n=[...t].sort();return n[r%n.length]}function tn(t){return t?.estimatedDuration??1/0}function rn(t,e){return t.filter(r=>{let n=E(e[r]);return !vo(r,n,t,e)})}function _o(t,e){let r=Ie(t,e),n=[];for(let o of Object.values(r))if(o.length===1)n.push(...o);else {let i=Math.floor(Math.random()*o.length);n.push(o[i]);}return rn(t,e).forEach(o=>{n.includes(o)||n.push(o);}),n}function nn(t,e){switch(e.executionConfig.completionStrategy){case "all-tasks-done":return ag(t,e);case "all-outputs-done":return bo(t,e);case "only-resolved":return cg(t,e);case "goal-reached":return ug(t,e);case "manual":return {isComplete:false,expectedCompletion:{taskNames:[],outputs:[]}};default:return bo(t,e)}}function ag(t,e){let r=G(t),n=Object.keys(r);return n.length===0?{isComplete:true,expectedCompletion:{taskNames:[],outputs:[]}}:{isComplete:n.every(o=>{let i=e.tasks[o];return i?.status===P.COMPLETED||X(i)}),expectedCompletion:{taskNames:n,outputs:[]}}}function bo(t,e){let r=G(t),n=new Set;for(let i of Object.values(r))E(i).forEach(a=>n.add(a));let s=ue(t,e.tasks);return {isComplete:[...n].every(i=>s.includes(i)),expectedCompletion:{taskNames:[],outputs:[...n]}}}function cg(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 j(p).every(f=>n.includes(f))}))return {isComplete:false,expectedCompletion:{taskNames:[],outputs:[]}}}let i=dg(t,e);return i.length>0?{isComplete:false,expectedCompletion:{taskNames:i,outputs:[]}}:{isComplete:Object.values(e.tasks).filter(c=>c.status===P.COMPLETED).length>0||n.length>0,expectedCompletion:{taskNames:[],outputs:[]}}}function ug(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 dg(t,e){let r=G(t),n=ue(t,e.tasks),s=[];for(let[o,i]of Object.entries(r)){let a=e.tasks[o];if(a?.status===P.COMPLETED||a?.status===P.RUNNING||X(a))continue;if(j(i).every(u=>n.includes(u))){let u=E(i);u.length>0&&u.every(d=>n.includes(d))||s.push(o);}}return s}function sn(t){let{graph:e,state:r,eligibleTasks:n,completionResult:s}=t,o=r.tasks,i=G(e),a=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=>!a.includes(h));if(p.length>0){let h=[];for(let f of p)Object.entries(i).filter(([,k])=>E(k).includes(f)).map(([k])=>k).filter(k=>!X(o[k])).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(i)){let p=o[d];if(p?.status===P.COMPLETED||X(p)||p?.status===P.RUNNING)continue;let f=j(m).filter(g=>!a.includes(g));f.length>0&&(f.every(_=>Object.entries(i).filter(([,y])=>E(y).includes(_)).map(([y])=>y).some(y=>!X(o[y])&&o[y]?.status!==P.COMPLETED))||(u.push(d),f.forEach(_=>l.add(_))));}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 Lc(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,i=wo(t,e);r.push(`Found ${i.length} candidate tasks: ${i.join(", ")||"none"}`);let a,c=false,u={};if(s==="dependency-mode")a=i;else {let m=lg(i,t,e,o);a=m.eligibleTasks,c=m.hasConflicts,u=m.conflicts;}r.push(`Eligible after conflict resolution: ${a.join(", ")||"none"}`);let l=nn(t,e);r.push(`Execution complete: ${l.isComplete}`);let d=sn({graph:t,state:e,eligibleTasks:a,completionResult:l});return d.is_stuck&&r.push(`STUCK: ${d.stuck_description}`),{eligibleTasks:a,isComplete:l.isComplete,stuckDetection:d,hasConflicts:c,conflicts:u,strategy:o,processingLog:r}}function wo(t,e){let r=G(t),n=ue(t,e.tasks),s=[...new Set([...n,...e.availableOutputs])],o=[];for(let[i,a]of Object.entries(r)){let c=e.tasks[i],u=Je(a,t.settings),l=u!=="once";if(c?.status===P.RUNNING||X(c))continue;let d=yt(a);if(d!==void 0&&c&&c.executionCount>=d||a.circuit_breaker&&c&&c.executionCount>=a.circuit_breaker.max_executions||!l&&c?.status===P.COMPLETED)continue;if(l&&c?.status===P.COMPLETED){let p=j(a);switch(u){case "data-changed":{if(p.length>0){if(!p.some(f=>{for(let[g,_]of Object.entries(r))if(E(_).includes(f)){let k=e.tasks[g];if(!k)continue;let y=c.lastConsumedHashes?.[f];return k.lastDataHash==null?k.executionCount>c.lastEpoch:k.lastDataHash!==y}return false}))continue}else continue;break}case "epoch-changed":{if(p.length>0){if(!p.some(f=>{for(let[g,_]of Object.entries(r))if(E(_).includes(f)){let k=e.tasks[g];if(k&&k.executionCount>c.lastEpoch)return true}return false}))continue}else continue;break}case "time-based":{let h=a.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(j(a).every(p=>s.includes(p))){if(!l){let p=E(a);if(p.length>0&&p.every(f=>s.includes(f)))continue}o.push(i);}}return o}function lg(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=Ie(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=rn(t,o),s;case "random-select":return s.eligibleTasks=_o(t,o),s}let i=Ie(t,o),a=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=>a.add(h));}let c=[],u=new Set;for(let[d,m]of Object.entries(i))if(!a.has(d)){if(m.length===1)c.push(m[0]);else {let p=ko(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 Qt(t,e,r){let n=t.tasks[e]??on(),s={};if(r){let i=r.tasks[e],a=j(i);for(let c of a)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 Zt(t,e,r,n,s,o){let i=t.tasks[r]??on(),a=e.tasks[r];if(!a)throw new Error(`Task "${r}" not found in graph`);let c;n&&a.on&&a.on[n]?c=a.on[n]:c=E(a);let u=i.startConsumedHashes?{...i.startConsumedHashes}:{...i.lastConsumedHashes};if(!i.startConsumedHashes){let m=a.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={...i,status:"completed",completedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),executionCount:i.executionCount+1,lastEpoch:i.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 er(t,e,r,n){let s=t.tasks[r]??on(),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 i={...s,status:"failed",failedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),error:n,executionCount:s.executionCount+1},a=t.availableOutputs;if(o?.on_failure&&o.on_failure.length>0&&(a=[...new Set([...t.availableOutputs,...o.on_failure])]),o?.circuit_breaker&&i.executionCount>=o.circuit_breaker.max_executions){let c=o.circuit_breaker.on_break;a=[...new Set([...a,...c])];}return {...t,tasks:{...t.tasks,[r]:i},availableOutputs:a,lastUpdated:new Date().toISOString()}}function tr(t,e,r,n){let s=t.tasks[e]??on(),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 rr(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 on(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function So(t,e,r){if("executionId"in e&&e.executionId&&e.executionId!==t.executionId)return t;switch(e.type){case "task-started":return Qt(t,e.taskName,r);case "task-completed":return Zt(t,r,e.taskName,e.result,e.dataHash,e.data);case "task-failed":return er(t,r,e.taskName,e.error);case "task-progress":return tr(t,e.taskName,e.message,e.progress);case "task-restart":return rr(t,e.taskName);case "inject-tokens":return pg(t,e.tokens);case "agent-action":return fg(t,e.action,r,e.config);case "task-upsert":return mg(t,e.taskName,e.taskConfig);default:return t}}function Fc(t,e,r){return e.reduce((n,s)=>So(n,s,r),t)}function pg(t,e){return {...t,availableOutputs:[...new Set([...t.availableOutputs,...e])],lastUpdated:new Date().toISOString()}}function fg(t,e,r,n){let s=new Date().toISOString();switch(e){case "start":{let o=`exec-${Date.now()}`,i=en(r,o);return n&&(n.executionMode&&(i.executionConfig.executionMode=n.executionMode),n.conflictStrategy&&(i.executionConfig.conflictStrategy=n.conflictStrategy),n.completionStrategy&&(i.executionConfig.completionStrategy=n.completionStrategy)),i}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 mg(t,e,r){return !e||!r||!Array.isArray(r.provides)?t:{...t,tasks:{...t.tasks,[e]:t.tasks[e]??Xt()},lastUpdated:new Date().toISOString()}}function hg(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 gg(t,e){let r={};for(let[n,s]of Object.entries(t)){let o=j(s),i=new Set;for(let a of o){let c=e[a]||[];for(let u of c)u!==n&&i.add(u);}r[n]=[...i];}return r}function yg(t,e){let r=new Set(t),n={},s={};for(let a of t)n[a]=0,s[a]=[];for(let a of t)for(let c of e[a]||[])r.has(c)&&(n[a]++,s[c].push(a));let o=[],i=new Set(t);for(;i.size>0;){let a=[];for(let c of i)n[c]===0&&a.push(c);if(a.length===0){o.push([...i]);break}a.sort(),o.push(a);for(let c of a){i.delete(c);for(let u of s[c]||[])i.has(u)&&n[u]--;}}return o}function Hc(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=hg(e),s=gg(e,n),o={};for(let[h,f]of Object.entries(n))f.length>1&&(o[h]=f);let i=r.filter(h=>j(e[h]).length===0),a=new Set;for(let h of Object.values(s))for(let f of h)a.add(f);let c=r.filter(h=>!a.has(h)),u=new Set;for(let h of Object.values(e))for(let f of j(h))u.add(f);let l=[...u].filter(h=>!n[h]),d=new Set(l),m=r.filter(h=>j(e[h]).some(f=>d.has(f))),p=yg(r,s);return {phases:p,dependencies:s,conflicts:o,entryPoints:i,leafTasks:c.sort(),unreachableTokens:l.sort(),blockedTasks:m.sort(),depth:p.length,maxParallelism:Math.max(0,...p.map(h=>h.length))}}function Se(t){return t.replace(/[^a-zA-Z0-9_]/g,"_")}function Uc(t,e={}){let{direction:r="TD",showTokens:n=true,title:s}=e,o=G(t),i=Object.keys(o);if(i.length===0)return `graph ${r}
|
|
11
|
-
empty[No tasks defined]`;let a={};for(let[p,h]of Object.entries(o)){for(let f of E(h))a[f]||(a[f]=[]),a[f].push(p);if(h.on)for(let f of Object.values(h.on))for(let g of f)a[g]||(a[g]=[]),a[g].includes(p)||a[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 j(p))l.add(h);let d=new Set(i.filter(p=>{let h=E(o[p]);return h.length===0||h.every(f=>!l.has(f))}));for(let p of i){let h=Se(p);j(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=j(h);for(let g of f){let _=a[g]||[];for(let k of _){if(k===p)continue;let y=`${k}->${p}:${g}`;if(m.has(y))continue;m.add(y);let w=Se(k),v=Se(p);n?c.push(` ${w} -->|${g}| ${v}`):c.push(` ${w} --> ${v}`);}}for(let g of f)if(!a[g]){let _=`warn_${Se(g)}`,k=Se(p);c.push(` ${_}{{\u26A0 ${g}}} -.->|missing| ${k}`);}}return c.join(`
|
|
12
|
-
`)}function Vc(t,e={}){let{direction:r="TD",title:n}=e,s=t.steps,o=t.terminal_states,i=t.settings.start_step,a=[],c=n||t.id||"Step Machine";a.push(`%% ${c}`),a.push(`graph ${r}`),a.push(" START(( ))"),a.push(` START --> ${Se(i)}`);for(let u of Object.keys(s)){let l=Se(u);a.push(` ${l}[${u}]`);}for(let[u,l]of Object.entries(o)){let d=Se(u);a.push(` ${d}([${u}: ${l.return_intent}])`);}for(let[u,l]of Object.entries(s)){let d=Se(u);for(let[m,p]of Object.entries(l.transitions)){let h=Se(p);a.push(` ${d} -->|${m}| ${h}`);}}return a.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 i=o;if(Array.isArray(i.provides)||e.push(`Task "${s}" must have a "provides" array`),i.requires!==void 0&&!Array.isArray(i.requires)&&e.push(`Task "${s}".requires must be an array if present`),i.on!==void 0)if(typeof i.on!="object"||Array.isArray(i.on))e.push(`Task "${s}".on must be an object mapping result keys to token arrays`);else for(let[a,c]of Object.entries(i.on))Array.isArray(c)||e.push(`Task "${s}".on.${a} must be an array of tokens`);}}return e}async function Bc(t){return (await import('yaml')).parse(t)}async function Kc(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 Bc(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 Bc(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"?an(t,n):JSON.stringify(t,null,n)}async function zc(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 an(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"?an(s,e,0):String(s)).join(", ")}]`:t.map(s=>{let o=an(s,e,r+1);if(typeof s=="object"&&s!==null&&!Array.isArray(s)){let i=o.trimStart().split(`
|
|
17
|
-
`);return `${n}- ${i[0]}
|
|
18
|
-
${i.slice(1).map(a=>`${n} ${a.trimStart()?a:""}`).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,i])=>{if(i===void 0)return "";let a=an(i,e,r+1);return typeof i=="object"&&i!==null&&!Array.isArray(i)&&Object.keys(i).length>0?`${n}${o}:
|
|
21
|
-
${a}`:Array.isArray(i)&&i.length>0&&!i.every(c=>typeof c=="string"||typeof c=="number"||typeof c=="boolean")?`${n}${o}:
|
|
22
|
-
${a}`:`${n}${o}: ${a}`}).filter(Boolean).join(`
|
|
23
|
-
`)}return String(t)}function vg(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 kg(t,e){let r={};for(let[n,s]of Object.entries(t)){r[n]=new Set;for(let o of j(s))for(let i of e[o]||[])i!==n&&r[n].add(i);}return r}function _g(t,e){let o={},i={},a=[];for(let u of t)o[u]=0,i[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=i[m];d.push(l),d.reverse(),a.push(d);}else o[l]===0&&(i[l]=u,c(l));o[u]=2;}for(let u of t)o[u]===0&&c(u);return a}function Wc(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"}),Jc(e);let s=vg(r),o=kg(r,s);for(let[c,u]of Object.entries(r))for(let l of j(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 i=_g(n,o);for(let c of i)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=j(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 a=new Set;for(let c of Object.values(r))for(let u of j(c))a.add(u);for(let[c,u]of Object.entries(r)){let l=j(u),d=E(u),m=u.on?Object.values(u.on).flat():[],p=[...d,...m],h=l.length===0,f=p.some(g=>a.has(g));h&&!f&&n.length>1&&(t.settings.completion==="goal-reached"&&t.settings.goal?.some(_=>p.includes(_))||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'}),Jc(e)}function Jc(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 Yc={$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 Xc=pr(Qr());var cn=null;function Sg(){if(cn)return cn;let t=new Xc.default({allErrors:true});return eg(t),cn=t.compile(Yc),cn}function Qc(t){let e=Sg();return e(t)?{ok:true,errors:[]}:{ok:false,errors:(e.errors??[]).map(s=>`${s.instancePath||"/"}: ${s.message??"unknown error"}`)}}var To=class{prefix;constructor(e={}){if(this.prefix=e.prefix??"yamlflow",typeof localStorage>"u")throw new Error("LocalStorageStore requires localStorage (browser environment)")}runKey(e){return `${this.prefix}:run:${e}`}dataKey(e){return `${this.prefix}:data:${e}`}indexKey(){return `${this.prefix}:runs`}async saveRunState(e,r){localStorage.setItem(this.runKey(e),JSON.stringify(r));let n=await this.listRuns();n.includes(e)||(n.push(e),localStorage.setItem(this.indexKey(),JSON.stringify(n)));}async loadRunState(e){let r=localStorage.getItem(this.runKey(e));return r?JSON.parse(r):null}async deleteRunState(e){localStorage.removeItem(this.runKey(e)),localStorage.removeItem(this.dataKey(e));let n=(await this.listRuns()).filter(s=>s!==e);localStorage.setItem(this.indexKey(),JSON.stringify(n));}async setData(e,r,n){let s=await this.getAllData(e);s[r]=n,localStorage.setItem(this.dataKey(e),JSON.stringify(s));}async getData(e,r){return (await this.getAllData(e))[r]}async getAllData(e){let r=localStorage.getItem(this.dataKey(e));return r?JSON.parse(r):{}}async clearData(e){localStorage.removeItem(this.dataKey(e));}async listRuns(){let e=localStorage.getItem(this.indexKey());return e?JSON.parse(e):[]}clearAll(){let e=[];for(let r=0;r<localStorage.length;r++){let n=localStorage.key(r);n?.startsWith(this.prefix+":")&&e.push(n);}e.forEach(r=>localStorage.removeItem(r));}};var Eo=class{directory;fs=null;path=null;constructor(e){this.directory=e.directory;}async ensureModules(){(!this.fs||!this.path)&&(this.fs=await import('fs/promises'),this.path=await import('path'),await this.fs.mkdir(this.directory,{recursive:true}));}runPath(e){return this.path.join(this.directory,`${e}.run.json`)}dataPath(e){return this.path.join(this.directory,`${e}.data.json`)}async saveRunState(e,r){await this.ensureModules(),await this.fs.writeFile(this.runPath(e),JSON.stringify(r,null,2),"utf-8");}async loadRunState(e){await this.ensureModules();try{let r=await this.fs.readFile(this.runPath(e),"utf-8");return JSON.parse(r)}catch(r){if(r.code==="ENOENT")return null;throw r}}async deleteRunState(e){await this.ensureModules();try{await this.fs.unlink(this.runPath(e));}catch(r){if(r.code!=="ENOENT")throw r}try{await this.fs.unlink(this.dataPath(e));}catch(r){if(r.code!=="ENOENT")throw r}}async setData(e,r,n){await this.ensureModules();let s=await this.getAllData(e);s[r]=n,await this.fs.writeFile(this.dataPath(e),JSON.stringify(s,null,2),"utf-8");}async getData(e,r){return (await this.getAllData(e))[r]}async getAllData(e){await this.ensureModules();try{let r=await this.fs.readFile(this.dataPath(e),"utf-8");return JSON.parse(r)}catch(r){if(r.code==="ENOENT")return {};throw r}}async clearData(e){await this.ensureModules();try{await this.fs.unlink(this.dataPath(e));}catch(r){if(r.code!=="ENOENT")throw r}}async listRuns(){await this.ensureModules();try{return (await this.fs.readdir(this.directory)).filter(r=>r.endsWith(".run.json")).map(r=>r.replace(".run.json",""))}catch(e){if(e.code==="ENOENT")return [];throw e}}async clearAll(){await this.ensureModules();let e=await this.listRuns();await Promise.all(e.map(r=>this.deleteRunState(r)));}};async function Zc(t,e){let{concurrency:r=5,processor:n,onItemComplete:s,onItemError:o,onProgress:i,signal:a}=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 _(){for(;g<r&&p<c;){if(a?.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 k=p++,y=t[k];g++;let w=Date.now();n(y,k).then(v=>{u[k]={item:y,index:k,status:"completed",result:v,durationMs:Date.now()-w},d++,s?.(y,v,k);}).catch(v=>{let R=v instanceof Error?v:new Error(String(v));u[k]={item:y,index:k,status:"failed",error:R,durationMs:Date.now()-w},m++,o?.(y,R,k);}).finally(()=>{g--,i?.(h(g)),d+m===c?f({items:u,completed:d,failed:m,total:c,durationMs:Date.now()-l}):_();});}}_();})}function $g(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 $g(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 eu(t,e){return Co(t,e)}function Rg(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 tu(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[i,a]of Object.entries(n)){let c=a.config,u=c?.["config-template"];if(!u||!c){s[i]=a;continue}let l=e[u];if(!l){let{"config-template":d,...m}=c;s[i]={...a,config:m};continue}s[i]={...a,config:Rg(l,c)};}let o={...t,[r]:s};return delete o.configTemplates,delete o["config-templates"],o}function un(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 We(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:Qt(n,e.taskName,r)};case "task-completed":return {config:r,state:Zt(n,r,e.taskName,e.result,e.dataHash,e.data)};case "task-failed":return {config:r,state:er(n,r,e.taskName,e.error)};case "task-progress":return {config:r,state:tr(n,e.taskName,e.message,e.progress)};case "task-restart":return {config:r,state:rr(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:Tg(n,e.action)};case "task-upsert":return nr(t,e.taskName,e.taskConfig);case "task-removal":return sr(t,e.taskName);case "node-requires-add":return or(t,e.nodeName,e.tokens);case "node-requires-remove":return ir(t,e.nodeName,e.tokens);case "node-provides-add":return ar(t,e.nodeName,e.tokens);case "node-provides-remove":return cr(t,e.nodeName,e.tokens);default:return t}}function vt(t,e){return e.reduce((r,n)=>We(r,n),t)}function nr(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 sr(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 or(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=j(n),o=r.filter(i=>!s.includes(i));return o.length===0?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,requires:[...s,...o]}}},state:t.state}}function ir(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=j(n),o=s.filter(i=>!r.includes(i));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(i=>!s.includes(i));return o.length===0?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,provides:[...s,...o]}}},state:t.state}}function cr(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=E(n),o=s.filter(i=>!r.includes(i));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 We(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 ru(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 nu(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 Tg(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 ur(t){let{config:e,state:r}=t,n=G(e);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=Eg(n),i=ue(e,r.tasks),a=new Set([...i,...r.availableOutputs]),c=[],u=[],l=[],d=[];for(let[p,h]of Object.entries(n)){let f=r.tasks[p],g=Je(h,e.settings),_=g!=="once";if(f?.status===P.RUNNING||X(f))continue;let k=yt(h);if(k!==void 0&&f&&f.executionCount>=k||h.circuit_breaker&&f&&f.executionCount>=h.circuit_breaker.max_executions||!_&&f?.status===P.COMPLETED)continue;if(_&&f?.status===P.COMPLETED){let S=j(h),T=false;switch(g){case "data-changed":{S.length>0&&S.some(F=>{for(let[U,W]of Object.entries(n))if(E(W).includes(F)){let z=r.tasks[U];if(!z)continue;let wn=f.lastConsumedHashes?.[F];return z.lastDataHash==null?z.executionCount>f.lastEpoch:z.lastDataHash!==wn}return false})||(T=true);break}case "epoch-changed":{S.length>0&&S.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=j(h);if(y.length===0){c.push(p);continue}let w=[],v=[],R=[];for(let S of y){if(a.has(S))continue;let T=o[S]||[];T.length===0?w.push(S):T.every(F=>X(r.tasks[F]))?R.push({token:S,failedProducer:T[0]}):v.push(S);}w.length>0?l.push({taskName:p,missingTokens:w}):R.length>0?d.push({taskName:p,failedTokens:R.map(S=>S.token),failedProducers:[...new Set(R.map(S=>S.failedProducer))]}):v.length>0?u.push({taskName:p,waitingOn:v}):c.push(p);}let m={};if(c.length>1){let p=Ie(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 Eg(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 su(t){let{config:e,state:r}=t,n=G(e),s=Object.keys(n),o=0,i=0,a=0,c=0,u=0,l=0;for(let k of s){let y=r.tasks[k];if(!y||y.status===P.NOT_STARTED)u++;else switch(y.status){case P.RUNNING:o++;break;case P.COMPLETED:i++;break;case P.FAILED:a++;break;case "inactivated":l++;break;default:c++;}}let d={};for(let[k,y]of Object.entries(n)){for(let w of E(y))d[w]||(d[w]=[]),d[w].push(k);if(y.on)for(let w of Object.values(y.on))for(let v of w)d[v]||(d[v]=[]),d[v].includes(k)||d[v].push(k);if(y.on_failure)for(let w of y.on_failure)d[w]||(d[w]=[]),d[w].includes(k)||d[w].push(k);}let m=new Set,p=0,h=0;for(let[k,y]of Object.entries(n)){let w=r.tasks[k];if(w?.status===P.COMPLETED||w?.status===P.RUNNING)continue;let v=false,R=false;for(let S of j(y)){let T=d[S]||[];T.length===0?(m.add(S),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[k,y]of Object.entries(d))y.length>1&&f.push(k);let g=Cg(n,d),_=xg(s,g);return {totalNodes:s.length,running:o,completed:i,failed:a,waiting:c,notStarted:u,disabled:l,unresolvedCount:p,blockedCount:h,openDependencies:[...m],cycles:_,conflictTokens:f}}function Cg(t,e){let r={};for(let[n,s]of Object.entries(t)){r[n]=new Set;for(let o of j(s))for(let i of e[o]||[])i!==n&&r[n].add(i);}return r}function xg(t,e){let o={},i={},a=[];for(let u of t)o[u]=0,i[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=i[m];d.push(l),d.reverse(),a.push(d);}else o[l]===0&&(i[l]=u,c(l));o[u]=2;}for(let u of t)o[u]===0&&c(u);return a}function ou(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=ou(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 i=new Set;for(let d of Object.values(n))for(let m of j(d))i.add(m);let a=new Set,c=new Set;for(let d of i){if(o.has(d))continue;(s[d]||[]).length===0&&a.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=j(m).some(_=>a.has(_));(h||g)&&(c.has(d)||(c.add(d),u=true));}for(let d of i){if(a.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)&&(a.has(d)||(a.add(d),u=true));}}let l=[];for(let d of a){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 iu(t){let{config:e,state:r}=t,n=G(e),{tokens:s}=xo(t),o=new Set(s.map(a=>a.token)),i=[];for(let[a,c]of Object.entries(n)){let u=r.tasks[a];if(u?.status==="completed")continue;let d=j(c).filter(m=>o.has(m));d.length>0?i.push({nodeName:a,missingTokens:d}):X(u)&&i.push({nodeName:a,missingTokens:[]});}return {nodes:i}}function au(t,e){let r=G(t.config);if(!r[e])return {nodeName:e,nodes:[],tokens:[]};let n=ou(r),s=new Set,o=new Set,i=new Map;function a(u){let l=r[u];if(l)for(let d of j(l)){let m=n[d]||[];for(let p of m)p!==e&&(o.add(d),i.has(p)||i.set(p,new Set),i.get(p).add(d),s.has(p)||(s.add(p),a(p)));}}a(e);let c=[...i.entries()].map(([u,l])=>({nodeName:u,providesTokens:[...l]}));return {nodeName:e,nodes:c,tokens:[...o]}}function cu(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 j(l))n[d]||(n[d]=[]),n[d].push(u);let s=new Set,o=new Set,i=new Map;function a(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),i.has(p)||i.set(p,new Set),i.get(p).add(d),s.has(p)||(s.add(p),a(p)));}}a(e);let c=[...i.entries()].map(([u,l])=>({nodeName:u,requiresTokens:[...l]}));return {nodeName:e,nodes:c,tokens:[...o]}}var Ye=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 jg(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 jg(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 Og(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 Pg(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 uu(t){let e=JSON.stringify({t,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return Og(e)}function Ag(t){try{let e=JSON.parse(Pg(t));return typeof e?.t=="string"?{taskName:e.t}:null}catch{return null}}function kt(t,e,r){let{handlers:n,onDrain:s}=e,o=new Ye,i="state"in t&&"config"in t?t:un(t,r),a=false,c=new Set,u=new Map(Object.entries(n)),l=new Ye,d=false,m=false;function p(){if(!a){if(d){m=true;return}d=true;try{do m=!1,h();while(m)}finally{d=false;}}}function h(){let k=l.drain(),y=o.drain(),w=[...k,...y];w.length>0&&(i=vt(i,w));let v=ur(i);w.length>0&&s?.(w,i,v);for(let R of v.eligible)_(R);for(let R of w)if(R.type==="task-progress"){let{taskName:S,update:T}=R;if(!i.config.tasks[S])continue;let F=i.state.tasks[S];if(!F||F.status!=="running")continue;let U=uu(S),W=g(S,U,T).catch(z=>{a||(l.append({type:"task-failed",taskName:S,error:z.message??String(z),timestamp:new Date().toISOString()}),p());}).finally(()=>{c.delete(W);});c.add(W);}}function f(k){let w=i.config.tasks[k].requires??[],v=new Map;for(let[S,T]of Object.entries(i.config.tasks))for(let J of T.provides??[])v.set(J,S);let R={};for(let S of w){let T=v.get(S);T?R[S]=i.state.tasks[T]?.data:R[S]=void 0;}return R}async function g(k,y,w){let v=i.config.tasks[k],R=v.taskHandlers??[],S=f(k);for(let T of R){let J=u.get(T);if(!J)throw new Error(`Handler '${T}' not found in registry (task '${k}')`);let F={nodeId:k,state:S,taskState:i.state.tasks[k],config:v,callbackToken:y,update:w};if(await J(F)==="task-initiate-failure")throw new Error(`Handler '${T}' returned task-initiate-failure (task '${k}')`)}}function _(k){let w=i.config.tasks[k]?.taskHandlers;if(!w||w.length===0)return;l.append({type:"task-started",taskName:k,timestamp:new Date().toISOString()}),p();let v=uu(k),R=g(k,v).catch(S=>{a||(l.append({type:"task-failed",taskName:k,error:S.message??String(S),timestamp:new Date().toISOString()}),p());}).finally(()=>{c.delete(R);});c.add(R);}return {push(k){a||(k.type==="task-completed"&&k.data&&!k.dataHash&&(k={...k,dataHash:yn(k.data)}),o.append(k),p());},pushAll(k){if(!a){for(let y of k)y.type==="task-completed"&&y.data&&!y.dataHash?o.append({...y,dataHash:yn(y.data)}):o.append(y);p();}},resolveCallback(k,y,w){if(a)return;let v=Ag(k);if(!v)return;let{taskName:R}=v;if(i.config.tasks[R]){if(w&&w.length>0)o.append({type:"task-failed",taskName:R,error:w.join("; "),timestamp:new Date().toISOString()});else {let S=y&&Object.keys(y).length>0?yn(y):void 0;o.append({type:"task-completed",taskName:R,data:y,dataHash:S,timestamp:new Date().toISOString()});}p();}},addNode(k,y){a||(o.append({type:"task-upsert",taskName:k,taskConfig:y,timestamp:new Date().toISOString()}),p());},removeNode(k){a||(o.append({type:"task-removal",taskName:k,timestamp:new Date().toISOString()}),p());},addRequires(k,y){a||(o.append({type:"node-requires-add",nodeName:k,tokens:y,timestamp:new Date().toISOString()}),p());},removeRequires(k,y){a||(o.append({type:"node-requires-remove",nodeName:k,tokens:y,timestamp:new Date().toISOString()}),p());},addProvides(k,y){a||(o.append({type:"node-provides-add",nodeName:k,tokens:y,timestamp:new Date().toISOString()}),p());},removeProvides(k,y){a||(o.append({type:"node-provides-remove",nodeName:k,tokens:y,timestamp:new Date().toISOString()}),p());},registerHandler(k,y){u.set(k,y);},unregisterHandler(k){u.delete(k);},retrigger(k){a||i.config.tasks[k]&&(o.append({type:"task-restart",taskName:k,timestamp:new Date().toISOString()}),p());},retriggerAll(k){if(!a){for(let y of k)i.config.tasks[y]&&o.append({type:"task-restart",taskName:y,timestamp:new Date().toISOString()});p();}},snapshot(){return hn(i)},getState(){return i},getSchedule(){return ur(i)},async waitForHandlers(){c.size>0&&await Promise.allSettled([...c]);},async dispose(k){k?.wait&&c.size>0&&await Promise.allSettled([...c]),a=true;}}}function Oo(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 i=new Set;for(let u of o)if(n.tasks[u]?.status===P.COMPLETED)for(let d of E(s[u]))i.add(d);let a=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 a)!i.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 i)a.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 lu(e)}function du(t){let{graph:e,handlers:r}=t,n=e.getState(),s=[],o=G(n.config),i=Object.keys(o),a=new Set(Object.keys(r)),c=new Set;for(let l of i){let d=o[l].taskHandlers;if(d)for(let m of d)c.add(m);}for(let l of i){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 a)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=Oo(n);return s.push(...u.issues),lu(s)}function lu(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 pu(t,e){let r=t;for(let n of e)r=Ng(r,n);return r}function Ng(t,e){switch(e.type){case "add-node":return nr(t,e.name,e.config);case "remove-node":return sr(t,e.name);case "add-requires":return or(t,e.taskName,e.tokens);case "remove-requires":return ir(t,e.taskName,e.tokens);case "add-provides":return ar(t,e.taskName,e.tokens);case "remove-provides":return cr(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 vt(t,e.events);default:throw new Error(`Unknown mutation type: ${e.type}`)}}function fu(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 mu(t,e){return async r=>{let{callbackToken:n}=r;return Promise.resolve(t(r)).then(()=>e()(n,{})).catch(()=>e()(n,{})),"task-initiated"}}function hu(t){let{command:e,cwd:r,env:n,timeoutMs:s=3e4,exitCodeMap:o,captureOutput:i=false,getResolve:a}=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]){a()(u,{},[`Command exited with code ${f}: ${h||m?.message}`]);return}let g={};i&&(g.stdout=p,g.stderr=h,g.exitCode=f),a()(u,g);}),"task-initiated"}}function Po(t){let{command:e,args:r=[],cwd:n,env:s,timeoutMs:o=3e4,exitCodeMap:i,captureOutput:a=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 _=h?.code??(h?1:0);if(_!==0&&!i?.[_]){c()(l,{},[`Process exited with code ${_}: ${g||h?.message}`]);return}let k={};a&&(k.stdout=f,k.stderr=g,k.exitCode=_),c()(l,k);}),"task-initiated"}}function Dg(t){return t.endsWith(".js")||t.endsWith(".mjs")||t.endsWith(".ts")?"node":t.endsWith(".py")?"python3":(t.endsWith(".sh"),"bash")}function gu(t){let{scriptPath:e,runtime:r,args:n=[],cwd:s,timeoutMs:o=6e4,captureOutput:i=false,getResolve:a}=t,c=r??Dg(e),u=c==="node"?process.execPath:c;return Po({command:u,args:[e,"${taskName}",...n],cwd:s,timeoutMs:o,captureOutput:i,getResolve:a})}function yu(t){let{url:e,method:r="POST",headers:n={},timeoutMs:s=3e4,failOnNon2xx:o=true,getResolve:i}=t;return async a=>{let{callbackToken:c,nodeId:u,config:l}=a,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 _=await f.text().catch(()=>"");i()(c,{},[`HTTP ${f.status}: ${_}`]);return}let g=await f.json().catch(()=>({}));i()(c,g);}).catch(f=>{clearTimeout(h),i()(c,{},[f instanceof Error?f.message:String(f)]);}),"task-initiated"}}function vu(t,e){return async r=>(t()(r.callbackToken,e??{}),"task-initiated")}var ku={$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 wu=pr(Qr());var Fg=createRequire(import.meta.url),Hg=Fg("./jsonata-sync.cjs"),vn=null;var _u=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,Ug=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function Vg(t){let e=new Set,r;for(_u.lastIndex=0;(r=_u.exec(t))!==null;)e.add(r[1]);return e}function Su(t){let e=Ug.exec(t);return e?e[1]:null}function bu(t,e,r,n){try{Hg(t);}catch(o){let i=o instanceof Error?o.message:String(o);n.push(`${e}: invalid JSONata expression (${i})`);return}let s=Vg(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=Su(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 Bg(){if(vn)return vn;let t=new wu.default({allErrors:true});return eg(t),vn=t.compile(ku),vn}function No(t){let e=Bg(),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,i=new Set;s.forEach((a,c)=>{if(!a||typeof a!="object"||Array.isArray(a))return;let u=a;typeof u.bindTo=="string"&&u.bindTo&&(o.has(u.bindTo)&&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&&(i.has(u.outputFile)&&n.push(`/source_defs/${c}/outputFile: outputFile "${u.outputFile}" must be unique across all source_defs`),i.add(u.outputFile));});}}return !r||n.length>0?{ok:false,errors:n}:{ok:true,errors:[]}}function Io(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||bu(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=Su(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 i=r.view;i&&typeof i=="object"&&!Array.isArray(i)&&Ao(i,"/view",e);let a=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||bu(p,`/source_defs/${l}/projections/${m}`,a,e);}),{ok:e.length===0,errors:e}}function $u(t){return qo(t)}function qo(t){let e=No(t);if(!e.ok)return e;let r=Io(t);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var zg=createRequire(import.meta.url),kn=zg("./jsonata-sync.cjs"),Eu=kn;function Ru(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 Cu(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 Jg(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 kn(s.expr).evaluate(n);Cu(t.computed_values,s.bindTo,o),n.computed_values=t.computed_values;}catch(o){console.error(`CardCompute.run error on "${t.id??"?"}.${s.bindTo}":`,o);}return t}function Wg(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 i=Eu(o.expr).evaluate(n);Cu(t.computed_values,o.bindTo,i),n.computed_values=t.computed_values;}catch(i){let a=i instanceof Error?i.message:String(i);s.push({bindTo:o.bindTo,error:a}),console.error(`CardCompute.runSync error on "${t.id??"?"}.${o.bindTo}":`,i);}return s.length>0?{ok:true,node:t,errors:s}:{ok:true,node:t}}async function Yg(t,e,r){let n={...r??{},card_data:e.card_data??{},requires:e.requires??{},fetched_sources:e._sourcesData??{},computed_values:e.computed_values??{}};return kn(t).evaluate(n)}function Xg(t,e){return e.startsWith("fetched_sources.")?Ru(t._sourcesData??{},e.slice(16)):Ru(t,e)}var Tu=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),Qg=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function Zg(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))Qg.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,i)=>{if(!o||typeof o!="object"||Array.isArray(o))e.push(`source_defs[${i}]: must be an object`);else {let a=o;typeof a.bindTo!="string"||!a.bindTo?e.push(`source_defs[${i}]: missing required "bindTo" property`):(n.has(a.bindTo)&&e.push(`source_defs[${i}]: bindTo "${a.bindTo}" is not unique across source_defs`),n.add(a.bindTo)),typeof a.outputFile!="string"||!a.outputFile?e.push(`source_defs[${i}]: missing required "outputFile" property`):(s.has(a.outputFile)&&e.push(`source_defs[${i}]: outputFile "${a.outputFile}" is not unique across source_defs`),s.add(a.outputFile)),a.optionalForCompletionGating!=null&&typeof a.optionalForCompletionGating!="boolean"&&e.push(`source_defs[${i}]: 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`):Tu.has(s.kind)||e.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...Tu].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 ey(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,i]of Object.entries(n.projections))if(typeof i=="string"&&i.trim().length>0)try{s[o]=await kn(i).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function ty(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,i]of Object.entries(n.projections))if(typeof i=="string"&&i.trim().length>0)try{s[o]=Eu(i).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var Xe={run:Jg,runSync:Wg,eval:Yg,resolve:Xg,validate:Zg,enrichSources:ey,enrichSourcesSync:ty};function xu(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:i,cardHandlers:a={},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 S of R)if(!h.has(S))throw new Error(`Card "${v.id}" requires "${S}" 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(S=>S.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,S)=>{k.resolveCallback(v,R,S);};for(let v of r)v.source_defs&&v.source_defs.length>0?_[v.id]=ry(v,o,i,m,y):_[v.id]=ny(v,a,m,d,f,y);let w=kt(g,{...c,handlers:_},l);return k=w,{graph:w,config:g,handlers:_,cards:d,sharedState:m}}function ry(t,e,r,n,s){if(e[t.id]){let o=e[t.id];return async i=>o(i)}if(r){let o=r(t);return async i=>o(i)}return async o=>{let i={...t.card_data};return n.set(t.id,i),s()(o.callbackToken,i),"task-initiated"}}function ny(t,e,r,n,s,o){if(e[t.id]){let i=e[t.id];return async a=>i(a)}return async i=>{let a={},c=t.requires??[];for(let m of c){let p=s.get(m)??m,h=r.get(p);h&&(a[m]=h[m]??h);}let u={id:t.id,card_data:{...t.card_data},requires:a,compute:t.compute};await Xe.run(u);let l;if(t.provides&&t.provides.length>0){l={};for(let{bindTo:m,ref:p}of t.provides)l[m]=Xe.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()(i.callbackToken,l),"task-initiated"}}function qe(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 sy(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=sy(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 oy(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,qe(y));}let o=new Set,i=e.taskExecutor,a=e.sourceAdapters??{},c=e.defaultSourceAdapter,u=null,l=(y,w)=>{let v={events:y,graph:w,nodes:_()};for(let R of o)R(v);},d=y=>async w=>{let v=s.get(y);if(!v)return "task-initiate-failure";let R={};for(let U of v.requires??[]){let W=w.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 S={};if(v.source_defs&&v.source_defs.length>0){let U=a[y]??c,W=i?await i({card:v,input:w}):U?await U({card:v,input:w}):void 0;if(W&&typeof W=="object")for(let z of v.source_defs)Object.prototype.hasOwnProperty.call(W,z.bindTo)?S[z.bindTo]=W[z.bindTo]:v.source_defs.length===1&&(S[z.bindTo]=W);}let T={id:v.id,card_data:qe(v.card_data??{}),requires:R,source_defs:v.source_defs,compute:v.compute};T._sourcesData=S,T.compute&&T.compute.length>0&&await Xe.run(T,{sourcesData:S});let J={};if(v.provides&&v.provides.length>0)for(let{bindTo:U,ref:W}of v.provides)J[U]=Xe.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:S,requires:R};return u?.resolveCallback(w.callbackToken,F),"task-initiated"},m={},p={};for(let[y,w]of s.entries())Mo(s,y),m[y]=Do(w),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=kt(h,{...e.reactiveOptions??{},handlers:p,onDrain:(y,w,v)=>{f?.(y,w,v),l(y,w);}},e.executionId);u=g;function _(){let y=g.getState(),w=[];for(let[v,R]of s.entries()){let S=y.state.tasks[v]?.data,T=y.state.tasks[v],J={...R.card_data??{},...S&&typeof S.card_data=="object"?S.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}:{}};w.push({id:v,card:qe(R),card_data:U,requires:S&&typeof S.requires=="object"?qe(S.requires):{},computed_values:S&&typeof S.computed_values=="object"?qe(S.computed_values):{},runtime_state:T?qe(T):{}});}return w}return {getGraph:()=>g,getState:()=>g.getState(),getSchedule:()=>g.getSchedule(),getNodes:()=>_(),getBoard:()=>({...r,nodes:_()}),subscribe(y){return o.add(y),y({events:[],graph:g.getState(),nodes:_()}),()=>o.delete(y)},addCard(y){if(s.has(y.id))throw new Error(`Card "${y.id}" already exists`);s.set(y.id,qe(y)),Mo(s,y.id),g.registerHandler(y.id,d(y.id)),g.addNode(y.id,Do(y));},upsertCard(y){s.set(y.id,qe(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,w){let v=s.get(y);if(!v)throw new Error(`Card "${y}" not found`);v.card_data={...v.card_data??{},...w},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 Go=.5,iy=`You are a workflow completion analyzer. Given a graph of tasks with their current states, evidence, and inference hints, determine which tasks appear to be completed based on the available evidence.
|
|
24
|
-
|
|
25
|
-
For each task you analyze, provide a JSON response. Be conservative \u2014 only mark tasks as completed when the evidence strongly supports it.`;function Lo(t,e={}){let{scope:r,context:n,systemPrompt:s}=e,o=G(t.config),{state:i}=t,a=Ou(t,r);if(a.length===0)return "";let c=[];c.push(s||iy),c.push(""),c.push("## Graph State"),c.push(""),c.push(`Available tokens: ${i.availableOutputs.length>0?i.availableOutputs.join(", "):"(none)"}`),c.push("");let u=Object.entries(i.tasks).filter(([l,d])=>d.status==="completed").map(([l])=>l);u.length>0&&(c.push(`Completed tasks: ${u.join(", ")}`),c.push("")),c.push("## Tasks to Analyze"),c.push("");for(let l of a){let d=o[l],m=i.tasks[l];c.push(`### ${l}`),d.description&&c.push(`Description: ${d.description}`);let p=j(d),h=E(d);p.length>0&&c.push(`Requires: ${p.join(", ")}`),h.length>0&&c.push(`Provides: ${h.join(", ")}`),c.push(`Current status: ${m?.status||"not-started"}`);let f=d.inference;f&&(f.criteria&&c.push(`Completion criteria: ${f.criteria}`),f.keywords?.length&&c.push(`Keywords: ${f.keywords.join(", ")}`),f.suggestedChecks?.length&&c.push(`Suggested checks: ${f.suggestedChecks.join("; ")}`)),c.push("");}return n&&(c.push("## Additional Context / Evidence"),c.push(""),c.push(n),c.push("")),c.push("## Response Format"),c.push(""),c.push("Respond with a JSON array of objects, one per task you have evidence for:"),c.push("```json"),c.push("["),c.push(" {"),c.push(' "taskName": "task-name",'),c.push(' "confidence": 0.0 to 1.0,'),c.push(' "reasoning": "explanation of why you believe this task is complete or not"'),c.push(" }"),c.push("]"),c.push("```"),c.push(""),c.push("Rules:"),c.push('- Only include tasks from the "Tasks to Analyze" section'),c.push("- confidence 0.0 = no evidence of completion, 1.0 = certain it is complete"),c.push("- If you have no evidence for a task, omit it from the array"),c.push("- Be conservative \u2014 require clear evidence before high confidence"),c.push("- Respond ONLY with the JSON array, no additional text"),c.join(`
|
|
26
|
-
`)}async function Fo(t,e,r={}){r.threshold??Go;let s=Ou(t,r.scope);if(s.length===0)return {suggestions:[],promptUsed:"",rawResponse:"",analyzedNodes:[]};let o=Lo(t,r),i=await e.analyze(o);return {suggestions:ay(i,s),promptUsed:o,rawResponse:i,analyzedNodes:s}}function Ho(t,e,r=Go){let n=t;for(let s of e.suggestions){if(s.confidence<r)continue;let o=n.state.tasks[s.taskName];if(!o||o.status==="completed"||o.status==="running")continue;let i=new Date().toISOString();n=We(n,{type:"task-started",taskName:s.taskName,timestamp:i}),n=We(n,{type:"task-completed",taskName:s.taskName,timestamp:i,result:"llm-inferred"});}return n}async function ju(t,e,r={}){let n=r.threshold??Go,s=await Fo(t,e,r),o=Ho(t,s,n),i=s.suggestions.filter(c=>c.confidence>=n),a=s.suggestions.filter(c=>c.confidence<n);return {live:o,inference:s,applied:i,skipped:a}}function Ou(t,e){let r=G(t.config),{state:n}=t,s=[];for(let[o,i]of Object.entries(r)){let a=n.tasks[o];a?.status==="completed"||a?.status==="running"||(e?e.includes(o)&&s.push(o):i.inference?.autoDetectable&&s.push(o));}return s}function ay(t,e,r){let n=new Set(e);try{let s=cy(t);if(!s)return [];let o=JSON.parse(s);if(!Array.isArray(o))return [];let i=[];for(let a of o){if(!a||typeof a!="object"||typeof a.taskName!="string"||typeof a.confidence!="number"||!n.has(a.taskName))continue;let c=Math.max(0,Math.min(1,a.confidence));i.push({taskName:a.taskName,confidence:c,reasoning:typeof a.reasoning=="string"?a.reasoning:"",detectionMethod:"llm-inferred"});}return i}catch{return []}}function cy(t){if(!t||typeof t!="string")return null;let e=t.trim(),r=e.match(/```(?:json)?\s*\n?([\s\S]*?)\n?\s*```/);if(r)return r[1].trim();let n=e.indexOf("["),s=e.lastIndexOf("]");return n!==-1&&s>n?e.slice(n,s+1):e.startsWith("[")?e:null}function Pu(t){let e=t.timeout??6e4;return {analyze:r=>new Promise((n,s)=>{let o=t.args(r),i=execFile(t.command,t.stdin?t.args(""):o,{timeout:e,cwd:t.cwd,env:t.env?{...process.env,...t.env}:void 0,maxBuffer:10*1024*1024},(a,c,u)=>{a?s(new Error(`CLI adapter failed: ${t.command} exited with ${a.code??"error"}`+(u?`
|
|
27
|
-
stderr: ${u.slice(0,500)}`:"")+`
|
|
28
|
-
${a.message}`)):n(c);});t.stdin&&i.stdin&&(i.stdin.write(r),i.stdin.end());})}}function Au(t){let e=t.timeout??6e4;return {analyze:async r=>{let n=t.buildBody?t.buildBody(r):{prompt:r},s=new AbortController,o=setTimeout(()=>s.abort(),e);try{let i=await fetch(t.url,{method:"POST",headers:{"Content-Type":"application/json",...t.headers??{}},body:JSON.stringify(n),signal:s.signal});if(!i.ok){let c=await i.text().catch(()=>"");throw new Error(`HTTP ${i.status}: ${c.slice(0,500)}`)}let a=await i.json();return t.extractResponse?t.extractResponse(a):typeof a.response=="string"?a.response:typeof a.text=="string"?a.text:typeof a.content=="string"?a.content:JSON.stringify(a)}finally{clearTimeout(o);}}}}var Nu={$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 Iu={$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 pd=pr(ld());var _n=null,bn=null;function fd(){let t=new pd.default({allErrors:true,strict:false});return eg(t),t}function md(t){return {ok:false,errors:(t.errors??[]).map(r=>`${r.instancePath||"/"}: ${r.message??"unknown error"}`)}}function Rv(){return _n||(_n=fd().compile(Nu),_n)}function Tv(){return bn||(bn=fd().compile(Iu),bn)}function hd(t){let e=Rv();return e(t)?{ok:true,errors:[]}:md(e)}function gd(t){let e=Tv();return e(t)?{ok:true,errors:[]}:md(e)}
|
|
29
|
-
export{xc as COMPLETION_STRATEGIES,Oc as CONFLICT_STRATEGIES,Xe as CardCompute,Pc as DEFAULTS,jc as EXECUTION_MODES,Cc as EXECUTION_STATUS,Eo as FileStore,Ze as FlowEngine,To as LocalStorageStore,Ye as MemoryJournal,wt as MemoryStore,Ze as StepMachine,P as TASK_STATUS,Mc as addDynamicTask,nr as addNode,ar as addProvides,or as addRequires,So as apply,Fc as applyAll,We as applyEvent,vt as applyEvents,Ho as applyInferences,fr as applyStepResult,Zc as batch,Lo as buildInferencePrompt,mr as checkCircuitBreaker,ue as computeAvailableOutputs,hr as computeStepInput,oy as createBoardLiveGraphRuntime,fu as createCallbackHandler,Pu as createCliAdapter,Xt as createDefaultGraphEngineStore,Sn as createEngine,mu as createFireAndForgetHandler,Au as createHttpAdapter,en as createInitialExecutionState,yr as createInitialState,un as createLiveGraph,vu as createNoopHandler,Po as createProcessHandler,kt as createReactiveGraph,gu as createScriptHandler,hu as createShellHandler,Sn as createStepMachine,yu as createWebhookHandler,sn as detectStuckState,fn as disableNode,ln as drainTokens,mn as enableNode,Ro as exportGraphConfig,zc as exportGraphConfigToFile,gr as extractReturnData,Vc as flowToMermaid,G as getAllTasks,wo as getCandidateTasks,cu as getDownstream,yt as getMaxExecutions,ru as getNode,E as getProvides,Je as getRefreshStrategy,j as getRequires,Ac as getTask,iu as getUnreachableNodes,xo as getUnreachableTokens,au as getUpstream,Uc as graphToMermaid,Nc as hasTask,ju as inferAndApply,Fo as inferCompletions,dn as injectTokens,su as inspect,nn as isExecutionComplete,X as isNonActiveTask,Dc as isRerunnable,Ic as isTaskCompleted,qc as isTaskRunning,xu as liveCardsToReactiveGraph,Kc as loadGraphConfig,ai as loadStepFlow,pu as mutateGraph,Lc as next,Hc as planExecution,sr as removeNode,cr as removeProvides,ir as removeRequires,pn as resetNode,tu as resolveConfigTemplates,eu as resolveVariables,nu as restore,ur as schedule,hn as snapshot,hd as validateBoardStatusSchema,gd as validateCardRuntimeSchema,Ec as validateFlowSchema,Wc as validateGraph,$o as validateGraphConfig,Qc as validateGraphSchema,$u as validateLiveCard,qo as validateLiveCardDefinition,Io as validateLiveCardRuntimeExpressions,No as validateLiveCardSchema,Oo as validateLiveGraph,du as validateReactiveGraph,Rn as validateStepFlowConfig};//# sourceMappingURL=index.js.map
|
|
30
|
-
//# sourceMappingURL=index.js.map
|