@otto-code/server 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server/server/agent/agent-manager.d.ts +28 -2
- package/dist/server/server/agent/agent-manager.js +31 -4
- package/dist/server/server/agent/lifecycle-command.d.ts +1 -1
- package/dist/server/server/agent/lifecycle-command.js +7 -6
- package/dist/server/server/agent/providers/claude/agent.js +48 -20
- package/dist/server/server/agent/providers/claude/claude-pricing.js +4 -0
- package/dist/server/server/agent/providers/claude/model-manifest.d.ts +44 -30
- package/dist/server/server/agent/providers/claude/model-manifest.js +62 -35
- package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.d.ts +20 -0
- package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.js +29 -1
- package/dist/server/web-ui/_expo/static/css/xterm-568e87a1b494979da9e20c7259569fdf.css +1 -0
- package/dist/server/web-ui/_expo/static/css/xterm-568e87a1b494979da9e20c7259569fdf.css.br +0 -0
- package/dist/server/web-ui/_expo/static/css/xterm-568e87a1b494979da9e20c7259569fdf.css.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{__common-7f812a4abec3faf5a84ebc3af41b28f3.js → __common-6d2299ed037bec2393245a7c0bf1c643.js} +1855 -1855
- package/dist/server/web-ui/_expo/static/js/web/__common-6d2299ed037bec2393245a7c0bf1c643.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/__common-6d2299ed037bec2393245a7c0bf1c643.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{abnfDiagram-VRR7QNED-e9fb7d5220ffa58505df502db144abe5.js → abnfDiagram-VRR7QNED-c3c2ca327b2d7ad9af3caa1cba884908.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/abnfDiagram-VRR7QNED-c3c2ca327b2d7ad9af3caa1cba884908.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/abnfDiagram-VRR7QNED-c3c2ca327b2d7ad9af3caa1cba884908.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{architecture-TIHT7OUA-baad05ec450eac37a8547e19e44a63f4.js → architecture-TIHT7OUA-0cf23d3dc9775f216c01daae4aae250a.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/architecture-TIHT7OUA-0cf23d3dc9775f216c01daae4aae250a.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/architecture-TIHT7OUA-0cf23d3dc9775f216c01daae4aae250a.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{architectureDiagram-ZJ3FMSHR-6c624bf41f92ed009a48f1c139dbba92.js → architectureDiagram-ZJ3FMSHR-f3bce96124559dc19faa4d90aca4afd4.js} +4 -4
- package/dist/server/web-ui/_expo/static/js/web/architectureDiagram-ZJ3FMSHR-f3bce96124559dc19faa4d90aca4afd4.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/architectureDiagram-ZJ3FMSHR-f3bce96124559dc19faa4d90aca4afd4.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{blockDiagram-677ZJIJ3-8de7625a6784c5b0a0a9529179af8125.js → blockDiagram-677ZJIJ3-839486928c0f151128a5e2836aa07080.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/blockDiagram-677ZJIJ3-839486928c0f151128a5e2836aa07080.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{blockDiagram-677ZJIJ3-8de7625a6784c5b0a0a9529179af8125.js.gz → blockDiagram-677ZJIJ3-839486928c0f151128a5e2836aa07080.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{c4Diagram-LMCZKHZV-39d3cdad6d10a237a6b5e49414622a25.js → c4Diagram-LMCZKHZV-197212c21520a6b659a5649e683619d0.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/c4Diagram-LMCZKHZV-197212c21520a6b659a5649e683619d0.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{c4Diagram-LMCZKHZV-39d3cdad6d10a237a6b5e49414622a25.js.gz → c4Diagram-LMCZKHZV-197212c21520a6b659a5649e683619d0.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{classDiagram-OUVF2IWQ-e8e649cc6e60036f959cc7f3a0513885.js → classDiagram-OUVF2IWQ-a0a0fbefc96d14b6619c84fc4f92a39a.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/classDiagram-OUVF2IWQ-a0a0fbefc96d14b6619c84fc4f92a39a.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/classDiagram-OUVF2IWQ-a0a0fbefc96d14b6619c84fc4f92a39a.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{classDiagram-v2-EOCWNBFH-780d19f73ba2334de64f4ae4e4e212a8.js → classDiagram-v2-EOCWNBFH-e979239c6d160123d5b4847253a8a70e.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/classDiagram-v2-EOCWNBFH-e979239c6d160123d5b4847253a8a70e.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/classDiagram-v2-EOCWNBFH-e979239c6d160123d5b4847253a8a70e.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{cose-bilkent-JH36ORCC-77d512732017c5bbd4650482be1c2f8f.js → cose-bilkent-JH36ORCC-bbc39a6bb062ba85e433f91becc37a65.js} +4 -4
- package/dist/server/web-ui/_expo/static/js/web/cose-bilkent-JH36ORCC-bbc39a6bb062ba85e433f91becc37a65.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/cose-bilkent-JH36ORCC-bbc39a6bb062ba85e433f91becc37a65.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{cynefin-VYW2F7L2-a88cfd594091ceee1efbadf37afff948.js → cynefin-VYW2F7L2-ea0e514652627740f5a2ed32b027a164.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/cynefin-VYW2F7L2-ea0e514652627740f5a2ed32b027a164.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/cynefin-VYW2F7L2-ea0e514652627740f5a2ed32b027a164.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{cynefinDiagram-TSTJHNR4-5833a2b8b3df6daeec088690d52dac39.js → cynefinDiagram-TSTJHNR4-0446f9b57ba778e5883d93e24692ffce.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/cynefinDiagram-TSTJHNR4-0446f9b57ba778e5883d93e24692ffce.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/cynefinDiagram-TSTJHNR4-0446f9b57ba778e5883d93e24692ffce.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{dagre-VKFMJZFB-8370cb48129c037fd127b9f1e39ea2a9.js → dagre-VKFMJZFB-69f7aa52521b06a95874b1ac67508def.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/dagre-VKFMJZFB-69f7aa52521b06a95874b1ac67508def.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/dagre-VKFMJZFB-69f7aa52521b06a95874b1ac67508def.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-bridge-fd825b89c935a0512740145024470f4d.js → desktop-attachment-bridge-0ae8aadd6e53625f59d62eceb1f06ede.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-bridge-fd825b89c935a0512740145024470f4d.js.br → desktop-attachment-bridge-0ae8aadd6e53625f59d62eceb1f06ede.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-0ae8aadd6e53625f59d62eceb1f06ede.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-store-8c0bfc01f75c01be14a9b8e3194d8964.js → desktop-attachment-store-ecd775c6aee79778f49274a5bffadc5a.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-store-8c0bfc01f75c01be14a9b8e3194d8964.js.br → desktop-attachment-store-ecd775c6aee79778f49274a5bffadc5a.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-ecd775c6aee79778f49274a5bffadc5a.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{diagram-FQU43EPY-8498706cd9b49524f6691758ecae2eb4.js → diagram-FQU43EPY-bd0940835ccad031627e285aaba6d5ec.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/diagram-FQU43EPY-bd0940835ccad031627e285aaba6d5ec.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-FQU43EPY-bd0940835ccad031627e285aaba6d5ec.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{diagram-G47NLZAW-597bc7059fc5285e8369a7c885ebe847.js → diagram-G47NLZAW-217e2cd3275924bc08fc6ebe79e95e48.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/diagram-G47NLZAW-217e2cd3275924bc08fc6ebe79e95e48.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-G47NLZAW-217e2cd3275924bc08fc6ebe79e95e48.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{diagram-NH7WQ7WH-c2c6b683bd29936bf7d31b3fc2cf621a.js → diagram-NH7WQ7WH-fbd3aa35ca68df15ee378fb63241b333.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/diagram-NH7WQ7WH-fbd3aa35ca68df15ee378fb63241b333.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-NH7WQ7WH-fbd3aa35ca68df15ee378fb63241b333.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{diagram-OA4YK3LP-b9b6f76223fd43c88400f013b149d341.js → diagram-OA4YK3LP-48ebb0ba6bcb34417649bd55070542ad.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/diagram-OA4YK3LP-48ebb0ba6bcb34417649bd55070542ad.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-OA4YK3LP-48ebb0ba6bcb34417649bd55070542ad.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{diagram-WEI45ONY-754f2b4fbeac3f550acefb7cbbd0c08e.js → diagram-WEI45ONY-2be85db5396495fa970419f77587cf14.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/diagram-WEI45ONY-2be85db5396495fa970419f77587cf14.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-WEI45ONY-2be85db5396495fa970419f77587cf14.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{ebnfDiagram-CCIWWBDH-fdf4e805004091ce5c03abb1c3db051c.js → ebnfDiagram-CCIWWBDH-3c5c44cf8340b641d13076adab77967b.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/ebnfDiagram-CCIWWBDH-3c5c44cf8340b641d13076adab77967b.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/ebnfDiagram-CCIWWBDH-3c5c44cf8340b641d13076adab77967b.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{erDiagram-Q63AITRT-a43a5042f4e2c804e1e681caf9ec1a9a.js → erDiagram-Q63AITRT-81762a72bd33bf1042e4cad4f688abf2.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/erDiagram-Q63AITRT-81762a72bd33bf1042e4cad4f688abf2.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/erDiagram-Q63AITRT-81762a72bd33bf1042e4cad4f688abf2.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{eventmodeling-45OFAUF4-a087e1cea5a1dbfd5543dda165a5deec.js → eventmodeling-45OFAUF4-11d7615d746c5304c28d4931ec9ca5f7.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{eventmodeling-45OFAUF4-a087e1cea5a1dbfd5543dda165a5deec.js.br → eventmodeling-45OFAUF4-11d7615d746c5304c28d4931ec9ca5f7.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/eventmodeling-45OFAUF4-11d7615d746c5304c28d4931ec9ca5f7.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{flowDiagram-23GEKE2U-37fc4906caf7b017a490d14be1fc651f.js → flowDiagram-23GEKE2U-5a2af608a9500bb36da0595c3464a562.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/flowDiagram-23GEKE2U-5a2af608a9500bb36da0595c3464a562.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/flowDiagram-23GEKE2U-5a2af608a9500bb36da0595c3464a562.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{ganttDiagram-NO4QXBWP-55762209837da2c4e82e6395b527cc77.js → ganttDiagram-NO4QXBWP-379aae0f5fb2652d90827c7f8b2472d2.js} +5 -5
- package/dist/server/web-ui/_expo/static/js/web/ganttDiagram-NO4QXBWP-379aae0f5fb2652d90827c7f8b2472d2.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/ganttDiagram-NO4QXBWP-379aae0f5fb2652d90827c7f8b2472d2.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{gitGraph-TEB2WS4Q-dcf4944f6bd6770c7d72148542d13210.js → gitGraph-TEB2WS4Q-d978b8a2d1fd8fcc132b16ef8d57dd7c.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/gitGraph-TEB2WS4Q-d978b8a2d1fd8fcc132b16ef8d57dd7c.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/gitGraph-TEB2WS4Q-d978b8a2d1fd8fcc132b16ef8d57dd7c.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{gitGraphDiagram-IHSO6WYX-174e7b61ddcbabfeb5892c447ff93324.js → gitGraphDiagram-IHSO6WYX-6cb31a37312da231b8f10f86b0d4de52.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/gitGraphDiagram-IHSO6WYX-6cb31a37312da231b8f10f86b0d4de52.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/gitGraphDiagram-IHSO6WYX-6cb31a37312da231b8f10f86b0d4de52.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{index-ab103a332d12b791ca2d8630c459db1c.js → index-4c86d3c14df18b18b3b9a6329b896faf.js} +446 -444
- package/dist/server/web-ui/_expo/static/js/web/index-4c86d3c14df18b18b3b9a6329b896faf.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-4c86d3c14df18b18b3b9a6329b896faf.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{indexeddb-attachment-store-6977b09ab1b56a2280e036326e24c5f7.js → indexeddb-attachment-store-5a90994af83f12740a986d9f1cb55cc9.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{indexeddb-attachment-store-6977b09ab1b56a2280e036326e24c5f7.js.br → indexeddb-attachment-store-5a90994af83f12740a986d9f1cb55cc9.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-5a90994af83f12740a986d9f1cb55cc9.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{info-DKCQHKI2-b203539356a9c56c3389acbb272dbdb6.js → info-DKCQHKI2-b59d0dbb9a30d361ddc796a5cfa7fc41.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{info-DKCQHKI2-b203539356a9c56c3389acbb272dbdb6.js.br → info-DKCQHKI2-b59d0dbb9a30d361ddc796a5cfa7fc41.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/info-DKCQHKI2-b59d0dbb9a30d361ddc796a5cfa7fc41.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{infoDiagram-FWYZ7A6U-2da45c52fdb46101cbc725879fc776ca.js → infoDiagram-FWYZ7A6U-0c4368de61a3bdbfbc73b143423981d9.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/infoDiagram-FWYZ7A6U-0c4368de61a3bdbfbc73b143423981d9.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/infoDiagram-FWYZ7A6U-0c4368de61a3bdbfbc73b143423981d9.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{ishikawaDiagram-FXEZZL3T-b1da9dd4765e6f3378d0d5be1443354b.js → ishikawaDiagram-FXEZZL3T-1474e73532a16148b7944d3b0f896197.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/ishikawaDiagram-FXEZZL3T-1474e73532a16148b7944d3b0f896197.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/ishikawaDiagram-FXEZZL3T-1474e73532a16148b7944d3b0f896197.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{journeyDiagram-5HDEW3XC-8be414aba07996a355005210e4a4cb94.js → journeyDiagram-5HDEW3XC-13df6cce9cb7f0e6ffbaa9a614feeee4.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/journeyDiagram-5HDEW3XC-13df6cce9cb7f0e6ffbaa9a614feeee4.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{journeyDiagram-5HDEW3XC-8be414aba07996a355005210e4a4cb94.js.gz → journeyDiagram-5HDEW3XC-13df6cce9cb7f0e6ffbaa9a614feeee4.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{kanban-definition-HUTT4EX6-9e57662fb254b84a11dc0a576b6e94e9.js → kanban-definition-HUTT4EX6-6b56c0da5302838e7e1c46bf7460ea35.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/kanban-definition-HUTT4EX6-6b56c0da5302838e7e1c46bf7460ea35.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{kanban-definition-HUTT4EX6-9e57662fb254b84a11dc0a576b6e94e9.js.gz → kanban-definition-HUTT4EX6-6b56c0da5302838e7e1c46bf7460ea35.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{katex-d9fc4f556c2d2a983ed4a8c9e23a1dd9.js → katex-7f6ac23f118e6e9264fdfa96e335134f.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/katex-7f6ac23f118e6e9264fdfa96e335134f.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{katex-d9fc4f556c2d2a983ed4a8c9e23a1dd9.js.gz → katex-7f6ac23f118e6e9264fdfa96e335134f.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{mermaid-e774f93ec3cd59dc4ecad4701477430c.js → mermaid-75931b049ce3e66af3cd8ddf01e1cd23.js} +9 -9
- package/dist/server/web-ui/_expo/static/js/web/mermaid-75931b049ce3e66af3cd8ddf01e1cd23.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{mermaid-e774f93ec3cd59dc4ecad4701477430c.js.gz → mermaid-75931b049ce3e66af3cd8ddf01e1cd23.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{mindmap-definition-LN4V7U3C-7a58ef8b8e2eb9a3e19d2adbb9507a81.js → mindmap-definition-LN4V7U3C-fafde693a329ca39007debdd961134b4.js} +21 -21
- package/dist/server/web-ui/_expo/static/js/web/mindmap-definition-LN4V7U3C-fafde693a329ca39007debdd961134b4.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{mindmap-definition-LN4V7U3C-7a58ef8b8e2eb9a3e19d2adbb9507a81.js.gz → mindmap-definition-LN4V7U3C-fafde693a329ca39007debdd961134b4.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{native-file-attachment-store-1889954e9a9bec442e274003c294996e.js → native-file-attachment-store-645b8ffe39c60c05c0a224e6efcb5a9c.js} +3 -3
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-645b8ffe39c60c05c0a224e6efcb5a9c.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-645b8ffe39c60c05c0a224e6efcb5a9c.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{orchestration-graph-panel-cb9c04891d9d1aae34efd26bb9f2551b.js → orchestration-graph-panel-2d117a5764d11c411d707e37fba93a1b.js} +5 -5
- package/dist/server/web-ui/_expo/static/js/web/orchestration-graph-panel-2d117a5764d11c411d707e37fba93a1b.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/orchestration-graph-panel-2d117a5764d11c411d707e37fba93a1b.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{packet-7NZHBO7P-b3e37876c15ad5c09649121bec058b0a.js → packet-7NZHBO7P-61a485e09ee448c823fffbdfc588826d.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{packet-7NZHBO7P-b3e37876c15ad5c09649121bec058b0a.js.br → packet-7NZHBO7P-61a485e09ee448c823fffbdfc588826d.js.br} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/packet-7NZHBO7P-61a485e09ee448c823fffbdfc588826d.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{pegDiagram-2B236MQR-ec32f92e29007730d1ec5cb1f9262526.js → pegDiagram-2B236MQR-035fe1b93f90f4775e99aea533552b42.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{pegDiagram-2B236MQR-ec32f92e29007730d1ec5cb1f9262526.js.br → pegDiagram-2B236MQR-035fe1b93f90f4775e99aea533552b42.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/pegDiagram-2B236MQR-035fe1b93f90f4775e99aea533552b42.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{pie-RZYD4A2V-0cff7c6972d3420b6f5567c9ca000364.js → pie-RZYD4A2V-f6208df18db61d490f4811b192b77dec.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{pie-RZYD4A2V-0cff7c6972d3420b6f5567c9ca000364.js.br → pie-RZYD4A2V-f6208df18db61d490f4811b192b77dec.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/pie-RZYD4A2V-f6208df18db61d490f4811b192b77dec.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{pieDiagram-ENE6RG2P-1fd55d1071310f157f026844ebfae9ef.js → pieDiagram-ENE6RG2P-c78c82bf26f51acb7b7c44ae51eba9c6.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/pieDiagram-ENE6RG2P-c78c82bf26f51acb7b7c44ae51eba9c6.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/pieDiagram-ENE6RG2P-c78c82bf26f51acb7b7c44ae51eba9c6.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{quadrantDiagram-ABIIQ3AL-8cc6610d633a7b5c5ec3638a2c7aa2b5.js → quadrantDiagram-ABIIQ3AL-efff1486187742fe8683a966651df92f.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/quadrantDiagram-ABIIQ3AL-efff1486187742fe8683a966651df92f.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{quadrantDiagram-ABIIQ3AL-8cc6610d633a7b5c5ec3638a2c7aa2b5.js.gz → quadrantDiagram-ABIIQ3AL-efff1486187742fe8683a966651df92f.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{radar-I7S5WNFK-5778f2584049a7a7d0ceb5f439e8350b.js → radar-I7S5WNFK-0150ed7f0d337fc7ec70638a3656ea06.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{radar-I7S5WNFK-5778f2584049a7a7d0ceb5f439e8350b.js.br → radar-I7S5WNFK-0150ed7f0d337fc7ec70638a3656ea06.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/radar-I7S5WNFK-0150ed7f0d337fc7ec70638a3656ea06.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{railroad-3IZDKUUU-ca56ff1ad41a71a0236a70cf85d6c90e.js → railroad-3IZDKUUU-c6e94ec81a88c02cb339de59f29386f5.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{railroad-3IZDKUUU-ca56ff1ad41a71a0236a70cf85d6c90e.js.br → railroad-3IZDKUUU-c6e94ec81a88c02cb339de59f29386f5.js.br} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/railroad-3IZDKUUU-c6e94ec81a88c02cb339de59f29386f5.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{railroad-abnf-AHOZXSZD-db0e4b822aa907a0123e2ff035557340.js → railroad-abnf-AHOZXSZD-627ed129da90b5e1d371bd2c3b9db457.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{railroad-abnf-AHOZXSZD-db0e4b822aa907a0123e2ff035557340.js.br → railroad-abnf-AHOZXSZD-627ed129da90b5e1d371bd2c3b9db457.js.br} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/railroad-abnf-AHOZXSZD-627ed129da90b5e1d371bd2c3b9db457.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{railroad-ebnf-EBAXGLYW-cf7f1831ebb5ea6c207428716b160d6c.js → railroad-ebnf-EBAXGLYW-1b7ec12d3b92be4e181971b21f01f3f8.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{railroad-ebnf-EBAXGLYW-cf7f1831ebb5ea6c207428716b160d6c.js.br → railroad-ebnf-EBAXGLYW-1b7ec12d3b92be4e181971b21f01f3f8.js.br} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/railroad-ebnf-EBAXGLYW-1b7ec12d3b92be4e181971b21f01f3f8.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{railroad-peg-LSFZ7HO6-7c20b50c4c8f51c2ffcf4bf35a0a7636.js → railroad-peg-LSFZ7HO6-8a8e027f4141d16a12c15223da966d7d.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/railroad-peg-LSFZ7HO6-8a8e027f4141d16a12c15223da966d7d.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/railroad-peg-LSFZ7HO6-8a8e027f4141d16a12c15223da966d7d.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{railroadDiagram-RFXS5EU6-b757f4db949dc35ae1c47ab3e94a7537.js → railroadDiagram-RFXS5EU6-499f36fe78b07e5558063f963a47a474.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/railroadDiagram-RFXS5EU6-499f36fe78b07e5558063f963a47a474.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/railroadDiagram-RFXS5EU6-499f36fe78b07e5558063f963a47a474.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{requirementDiagram-TGXJPOKE-e4f0df6458cf6654ef5fa9dd6d105866.js → requirementDiagram-TGXJPOKE-9aaddb885fc59873a8f89cd7550c2c43.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/requirementDiagram-TGXJPOKE-9aaddb885fc59873a8f89cd7550c2c43.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/requirementDiagram-TGXJPOKE-9aaddb885fc59873a8f89cd7550c2c43.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{sankeyDiagram-HTMAVEWB-351ac8fc52f6092f8670a4eed5500d86.js → sankeyDiagram-HTMAVEWB-3fa66fe414adce7a50e31551c059f99c.js} +120 -120
- package/dist/server/web-ui/_expo/static/js/web/sankeyDiagram-HTMAVEWB-3fa66fe414adce7a50e31551c059f99c.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/sankeyDiagram-HTMAVEWB-3fa66fe414adce7a50e31551c059f99c.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{sequenceDiagram-DBY2YBRQ-bb599498dd8766fee5330d400bce0905.js → sequenceDiagram-DBY2YBRQ-856a29fb0507a2dcb697a2aa29cd0b7a.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/sequenceDiagram-DBY2YBRQ-856a29fb0507a2dcb697a2aa29cd0b7a.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{sequenceDiagram-DBY2YBRQ-bb599498dd8766fee5330d400bce0905.js.gz → sequenceDiagram-DBY2YBRQ-856a29fb0507a2dcb697a2aa29cd0b7a.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{sizeCapture-X5ZJPWSS-204a0c7899e4f53f494516c2a59f19d7.js → sizeCapture-X5ZJPWSS-388b849b33073b8202dd9ca50038b1c7.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/sizeCapture-X5ZJPWSS-388b849b33073b8202dd9ca50038b1c7.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/sizeCapture-X5ZJPWSS-388b849b33073b8202dd9ca50038b1c7.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{stateDiagram-2N3HPSRC-90141f3463cbed48ea84769e6a4d2b34.js → stateDiagram-2N3HPSRC-9ca22d078d9922ddcb54ba7bb389c734.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/stateDiagram-2N3HPSRC-9ca22d078d9922ddcb54ba7bb389c734.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{stateDiagram-2N3HPSRC-90141f3463cbed48ea84769e6a4d2b34.js.gz → stateDiagram-2N3HPSRC-9ca22d078d9922ddcb54ba7bb389c734.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{stateDiagram-v2-6OUMAXLB-76c6daaf6dbf8f2f25178c66b4d31d8b.js → stateDiagram-v2-6OUMAXLB-4357e7143c73859f6b4858ba72acb5aa.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/stateDiagram-v2-6OUMAXLB-4357e7143c73859f6b4858ba72acb5aa.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/stateDiagram-v2-6OUMAXLB-4357e7143c73859f6b4858ba72acb5aa.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{swimlanes-5IMT3BWC-445936c4472d66f94b005f2b1536e864.js → swimlanes-5IMT3BWC-d737ca408a7a2b82f7419141456d28e4.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/swimlanes-5IMT3BWC-d737ca408a7a2b82f7419141456d28e4.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{swimlanes-5IMT3BWC-445936c4472d66f94b005f2b1536e864.js.gz → swimlanes-5IMT3BWC-d737ca408a7a2b82f7419141456d28e4.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{swimlanesDiagram-G3AALYLV-184f47b5e9bfb221d673f668d88adf76.js → swimlanesDiagram-G3AALYLV-0bf2ac58b338c2aeb33213ff1a57983a.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/swimlanesDiagram-G3AALYLV-0bf2ac58b338c2aeb33213ff1a57983a.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/swimlanesDiagram-G3AALYLV-0bf2ac58b338c2aeb33213ff1a57983a.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{timeline-definition-FHXFAJF6-c5b0064dc55e9cf5b7b8fc9069d2e9f6.js → timeline-definition-FHXFAJF6-1130419ca563266603c98f1b2148a154.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/timeline-definition-FHXFAJF6-1130419ca563266603c98f1b2148a154.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{timeline-definition-FHXFAJF6-c5b0064dc55e9cf5b7b8fc9069d2e9f6.js.gz → timeline-definition-FHXFAJF6-1130419ca563266603c98f1b2148a154.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{treeView-QDETBFTQ-ed6e58337f84b4dec2e46c640336e569.js → treeView-QDETBFTQ-4f6ec9b592731c21dee99264fa638554.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/treeView-QDETBFTQ-4f6ec9b592731c21dee99264fa638554.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/treeView-QDETBFTQ-4f6ec9b592731c21dee99264fa638554.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{treemap-6X3UGDF4-692708563c87ba520d1a998d7d5eea29.js → treemap-6X3UGDF4-39eb6ec2c19a5de9242fd28aa26dcf5b.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{treemap-6X3UGDF4-692708563c87ba520d1a998d7d5eea29.js.br → treemap-6X3UGDF4-39eb6ec2c19a5de9242fd28aa26dcf5b.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/treemap-6X3UGDF4-39eb6ec2c19a5de9242fd28aa26dcf5b.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{vennDiagram-L72KCM5P-80fb8735c2ef8627d53a07e9fe88b690.js → vennDiagram-L72KCM5P-4c15b392e9de3fdc472b53cbdf8e7558.js} +2 -2
- package/dist/server/web-ui/_expo/static/js/web/vennDiagram-L72KCM5P-4c15b392e9de3fdc472b53cbdf8e7558.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{vennDiagram-L72KCM5P-80fb8735c2ef8627d53a07e9fe88b690.js.gz → vennDiagram-L72KCM5P-4c15b392e9de3fdc472b53cbdf8e7558.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{visualizer-bundle-1c8903c8cecd270f312da5dd4afb1dd8.js → visualizer-bundle-b0af8f4f1ab8d4029f3f21236df43f7f.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/visualizer-bundle-b0af8f4f1ab8d4029f3f21236df43f7f.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{visualizer-bundle-1c8903c8cecd270f312da5dd4afb1dd8.js.gz → visualizer-bundle-b0af8f4f1ab8d4029f3f21236df43f7f.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{visualizer-panel-1e103135cbcfcc99175d1240df666db3.js → visualizer-panel-3fbc1337bb844d7163cbdb418a4dfd53.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/visualizer-panel-3fbc1337bb844d7163cbdb418a4dfd53.js.br +3 -0
- package/dist/server/web-ui/_expo/static/js/web/{visualizer-panel-1e103135cbcfcc99175d1240df666db3.js.gz → visualizer-panel-3fbc1337bb844d7163cbdb418a4dfd53.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{visualizer-pip-e6783cac3c7464db7248acfcb5738c5f.js → visualizer-pip-de03996e25ac5d8a11d723ea90b2f9a3.js} +2 -2
- package/dist/server/web-ui/_expo/static/js/web/visualizer-pip-de03996e25ac5d8a11d723ea90b2f9a3.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{visualizer-pip-e6783cac3c7464db7248acfcb5738c5f.js.gz → visualizer-pip-de03996e25ac5d8a11d723ea90b2f9a3.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{wardley-OPB4EBWU-834716fbe0913781631fc4e0a871ffe7.js → wardley-OPB4EBWU-b075ee9680ce77acf211a0fb1e63cca8.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{wardley-OPB4EBWU-834716fbe0913781631fc4e0a871ffe7.js.br → wardley-OPB4EBWU-b075ee9680ce77acf211a0fb1e63cca8.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/wardley-OPB4EBWU-b075ee9680ce77acf211a0fb1e63cca8.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{wardleyDiagram-EHGQE667-37784a7cbc79aaa235b0fd479ff29a92.js → wardleyDiagram-EHGQE667-a93bc6a6a1e80adcb9a740a2ea3d1676.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/wardleyDiagram-EHGQE667-a93bc6a6a1e80adcb9a740a2ea3d1676.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/wardleyDiagram-EHGQE667-a93bc6a6a1e80adcb9a740a2ea3d1676.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{xychartDiagram-FW5EYKEG-6923fcfd900a3a3f96b656f01f7d466c.js → xychartDiagram-FW5EYKEG-ec54fa07a12c5792d0bb7b65deaff05b.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/xychartDiagram-FW5EYKEG-ec54fa07a12c5792d0bb7b65deaff05b.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{xychartDiagram-FW5EYKEG-6923fcfd900a3a3f96b656f01f7d466c.js.gz → xychartDiagram-FW5EYKEG-ec54fa07a12c5792d0bb7b65deaff05b.js.gz} +0 -0
- package/dist/server/web-ui/index.html +2 -2
- package/dist/server/web-ui/index.html.br +0 -0
- package/dist/server/web-ui/index.html.gz +0 -0
- package/dist/src/server/speech/providers/local/sherpa/sherpa-runtime-env.js +29 -1
- package/package.json +5 -5
- package/dist/server/web-ui/_expo/static/css/xterm-3bb1704bf6cb0876640973dc0244b4cb.css +0 -1
- package/dist/server/web-ui/_expo/static/css/xterm-3bb1704bf6cb0876640973dc0244b4cb.css.br +0 -0
- package/dist/server/web-ui/_expo/static/css/xterm-3bb1704bf6cb0876640973dc0244b4cb.css.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/__common-7f812a4abec3faf5a84ebc3af41b28f3.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/__common-7f812a4abec3faf5a84ebc3af41b28f3.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/abnfDiagram-VRR7QNED-e9fb7d5220ffa58505df502db144abe5.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/abnfDiagram-VRR7QNED-e9fb7d5220ffa58505df502db144abe5.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/architecture-TIHT7OUA-baad05ec450eac37a8547e19e44a63f4.js.br +0 -1
- package/dist/server/web-ui/_expo/static/js/web/architecture-TIHT7OUA-baad05ec450eac37a8547e19e44a63f4.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/architectureDiagram-ZJ3FMSHR-6c624bf41f92ed009a48f1c139dbba92.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/architectureDiagram-ZJ3FMSHR-6c624bf41f92ed009a48f1c139dbba92.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/blockDiagram-677ZJIJ3-8de7625a6784c5b0a0a9529179af8125.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/c4Diagram-LMCZKHZV-39d3cdad6d10a237a6b5e49414622a25.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/classDiagram-OUVF2IWQ-e8e649cc6e60036f959cc7f3a0513885.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/classDiagram-OUVF2IWQ-e8e649cc6e60036f959cc7f3a0513885.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/classDiagram-v2-EOCWNBFH-780d19f73ba2334de64f4ae4e4e212a8.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/classDiagram-v2-EOCWNBFH-780d19f73ba2334de64f4ae4e4e212a8.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/cose-bilkent-JH36ORCC-77d512732017c5bbd4650482be1c2f8f.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/cose-bilkent-JH36ORCC-77d512732017c5bbd4650482be1c2f8f.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/cynefin-VYW2F7L2-a88cfd594091ceee1efbadf37afff948.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/cynefin-VYW2F7L2-a88cfd594091ceee1efbadf37afff948.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/cynefinDiagram-TSTJHNR4-5833a2b8b3df6daeec088690d52dac39.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/cynefinDiagram-TSTJHNR4-5833a2b8b3df6daeec088690d52dac39.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/dagre-VKFMJZFB-8370cb48129c037fd127b9f1e39ea2a9.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/dagre-VKFMJZFB-8370cb48129c037fd127b9f1e39ea2a9.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-fd825b89c935a0512740145024470f4d.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-8c0bfc01f75c01be14a9b8e3194d8964.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-FQU43EPY-8498706cd9b49524f6691758ecae2eb4.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-FQU43EPY-8498706cd9b49524f6691758ecae2eb4.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-G47NLZAW-597bc7059fc5285e8369a7c885ebe847.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-G47NLZAW-597bc7059fc5285e8369a7c885ebe847.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-NH7WQ7WH-c2c6b683bd29936bf7d31b3fc2cf621a.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-NH7WQ7WH-c2c6b683bd29936bf7d31b3fc2cf621a.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-OA4YK3LP-b9b6f76223fd43c88400f013b149d341.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-OA4YK3LP-b9b6f76223fd43c88400f013b149d341.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-WEI45ONY-754f2b4fbeac3f550acefb7cbbd0c08e.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/diagram-WEI45ONY-754f2b4fbeac3f550acefb7cbbd0c08e.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/ebnfDiagram-CCIWWBDH-fdf4e805004091ce5c03abb1c3db051c.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/ebnfDiagram-CCIWWBDH-fdf4e805004091ce5c03abb1c3db051c.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/erDiagram-Q63AITRT-a43a5042f4e2c804e1e681caf9ec1a9a.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/erDiagram-Q63AITRT-a43a5042f4e2c804e1e681caf9ec1a9a.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/eventmodeling-45OFAUF4-a087e1cea5a1dbfd5543dda165a5deec.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/flowDiagram-23GEKE2U-37fc4906caf7b017a490d14be1fc651f.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/flowDiagram-23GEKE2U-37fc4906caf7b017a490d14be1fc651f.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/ganttDiagram-NO4QXBWP-55762209837da2c4e82e6395b527cc77.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/ganttDiagram-NO4QXBWP-55762209837da2c4e82e6395b527cc77.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/gitGraph-TEB2WS4Q-dcf4944f6bd6770c7d72148542d13210.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/gitGraph-TEB2WS4Q-dcf4944f6bd6770c7d72148542d13210.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/gitGraphDiagram-IHSO6WYX-174e7b61ddcbabfeb5892c447ff93324.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/gitGraphDiagram-IHSO6WYX-174e7b61ddcbabfeb5892c447ff93324.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-ab103a332d12b791ca2d8630c459db1c.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-ab103a332d12b791ca2d8630c459db1c.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-6977b09ab1b56a2280e036326e24c5f7.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/info-DKCQHKI2-b203539356a9c56c3389acbb272dbdb6.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/infoDiagram-FWYZ7A6U-2da45c52fdb46101cbc725879fc776ca.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/infoDiagram-FWYZ7A6U-2da45c52fdb46101cbc725879fc776ca.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/ishikawaDiagram-FXEZZL3T-b1da9dd4765e6f3378d0d5be1443354b.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/ishikawaDiagram-FXEZZL3T-b1da9dd4765e6f3378d0d5be1443354b.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/journeyDiagram-5HDEW3XC-8be414aba07996a355005210e4a4cb94.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/kanban-definition-HUTT4EX6-9e57662fb254b84a11dc0a576b6e94e9.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/katex-d9fc4f556c2d2a983ed4a8c9e23a1dd9.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/mermaid-e774f93ec3cd59dc4ecad4701477430c.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/mindmap-definition-LN4V7U3C-7a58ef8b8e2eb9a3e19d2adbb9507a81.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-1889954e9a9bec442e274003c294996e.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-1889954e9a9bec442e274003c294996e.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/orchestration-graph-panel-cb9c04891d9d1aae34efd26bb9f2551b.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/orchestration-graph-panel-cb9c04891d9d1aae34efd26bb9f2551b.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/packet-7NZHBO7P-b3e37876c15ad5c09649121bec058b0a.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/pegDiagram-2B236MQR-ec32f92e29007730d1ec5cb1f9262526.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/pie-RZYD4A2V-0cff7c6972d3420b6f5567c9ca000364.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/pieDiagram-ENE6RG2P-1fd55d1071310f157f026844ebfae9ef.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/pieDiagram-ENE6RG2P-1fd55d1071310f157f026844ebfae9ef.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/quadrantDiagram-ABIIQ3AL-8cc6610d633a7b5c5ec3638a2c7aa2b5.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/radar-I7S5WNFK-5778f2584049a7a7d0ceb5f439e8350b.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/railroad-3IZDKUUU-ca56ff1ad41a71a0236a70cf85d6c90e.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/railroad-abnf-AHOZXSZD-db0e4b822aa907a0123e2ff035557340.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/railroad-ebnf-EBAXGLYW-cf7f1831ebb5ea6c207428716b160d6c.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/railroad-peg-LSFZ7HO6-7c20b50c4c8f51c2ffcf4bf35a0a7636.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/railroad-peg-LSFZ7HO6-7c20b50c4c8f51c2ffcf4bf35a0a7636.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/railroadDiagram-RFXS5EU6-b757f4db949dc35ae1c47ab3e94a7537.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/railroadDiagram-RFXS5EU6-b757f4db949dc35ae1c47ab3e94a7537.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/requirementDiagram-TGXJPOKE-e4f0df6458cf6654ef5fa9dd6d105866.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/requirementDiagram-TGXJPOKE-e4f0df6458cf6654ef5fa9dd6d105866.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/sankeyDiagram-HTMAVEWB-351ac8fc52f6092f8670a4eed5500d86.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/sankeyDiagram-HTMAVEWB-351ac8fc52f6092f8670a4eed5500d86.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/sequenceDiagram-DBY2YBRQ-bb599498dd8766fee5330d400bce0905.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/sizeCapture-X5ZJPWSS-204a0c7899e4f53f494516c2a59f19d7.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/sizeCapture-X5ZJPWSS-204a0c7899e4f53f494516c2a59f19d7.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/stateDiagram-2N3HPSRC-90141f3463cbed48ea84769e6a4d2b34.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/stateDiagram-v2-6OUMAXLB-76c6daaf6dbf8f2f25178c66b4d31d8b.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/stateDiagram-v2-6OUMAXLB-76c6daaf6dbf8f2f25178c66b4d31d8b.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/swimlanes-5IMT3BWC-445936c4472d66f94b005f2b1536e864.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/swimlanesDiagram-G3AALYLV-184f47b5e9bfb221d673f668d88adf76.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/swimlanesDiagram-G3AALYLV-184f47b5e9bfb221d673f668d88adf76.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/timeline-definition-FHXFAJF6-c5b0064dc55e9cf5b7b8fc9069d2e9f6.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/treeView-QDETBFTQ-ed6e58337f84b4dec2e46c640336e569.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/treeView-QDETBFTQ-ed6e58337f84b4dec2e46c640336e569.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/treemap-6X3UGDF4-692708563c87ba520d1a998d7d5eea29.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/vennDiagram-L72KCM5P-80fb8735c2ef8627d53a07e9fe88b690.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/visualizer-bundle-1c8903c8cecd270f312da5dd4afb1dd8.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/visualizer-panel-1e103135cbcfcc99175d1240df666db3.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/visualizer-pip-e6783cac3c7464db7248acfcb5738c5f.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/wardley-OPB4EBWU-834716fbe0913781631fc4e0a871ffe7.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/wardleyDiagram-EHGQE667-37784a7cbc79aaa235b0fd479ff29a92.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/wardleyDiagram-EHGQE667-37784a7cbc79aaa235b0fd479ff29a92.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/xychartDiagram-FW5EYKEG-6923fcfd900a3a3f96b656f01f7d466c.js.br +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"OrchestrationGraphPanel",{enumerable:!0,get:function(){return J}});var t=r(d[0]),n=r(d[1]),s=r(d[2]),o=r(d[3]);r(d[4]),r(d[5]);var l=r(d[6]),u=r(d[7]),c=r(d[8]),p=r(d[9]),h=r(d[10]),f=r(d[11]),x=r(d[12]),b=r(d[13]),y=r(d[14]),j=r(d[15]),w=r(d[16]),v=r(d[17]),S=r(d[18]),_=r(d[19]),C=r(d[20]),T=r(d[21]),k=r(d[22]),I=r(d[23]);const z={width:"100%",height:"100%"};function P(t){const n=`${t.length} issue${1===t.length?"":"s"} before it can run`;return t[0]?`${n} \u2014 ${t[0]}`:n}const D=t=>({color:t.colors.foregroundMuted}),R=t=>({color:t.colors.primary}),V=(0,l.withUnistyles)(p.Plus),G=(0,l.withUnistyles)(p.DataObject),B=(0,l.withUnistyles)(p.Save),O=(0,l.withUnistyles)(p.PlayFilled),F=t=>(0,I.jsx)(V,{size:t,uniProps:D}),M=t=>(0,I.jsx)(G,{size:t,uniProps:D}),L=t=>(0,I.jsx)(B,{size:t,uniProps:D}),E=t=>(0,I.jsx)(O,{size:t,uniProps:R}),A=t=>[Q.toolbarButton,(Boolean(t.hovered)||t.pressed)&&Q.toolbarButtonHovered],W=t=>[A(t),Q.toolbarButtonDisabled];function $(t){const o=(0,s.c)(15),{renderIcon:l,label:u,onPress:c,testID:p,disabled:h}=t,f=(0,_.useIconSize)().md,x=!0===h?W:A;let b,j,w,v;return o[0]!==l||o[1]!==f?(b=l(f),o[0]=l,o[1]=f,o[2]=b):b=o[2],o[3]!==h||o[4]!==u||o[5]!==c||o[6]!==x||o[7]!==b||o[8]!==p?(j=(0,I.jsx)(y.TooltipTrigger,{accessibilityRole:"button",accessibilityLabel:u,testID:p,disabled:h,onPress:c,style:x,children:b}),o[3]=h,o[4]=u,o[5]=c,o[6]=x,o[7]=b,o[8]=p,o[9]=j):j=o[9],o[10]!==u?(w=(0,I.jsx)(y.TooltipContent,{side:"bottom",children:(0,I.jsx)(n.Text,{style:Q.tooltipText,children:u})}),o[10]=u,o[11]=w):w=o[11],o[12]!==j||o[13]!==w?(v=(0,I.jsxs)(y.Tooltip,{delayDuration:300,children:[j,w]}),o[12]=j,o[13]=w,o[14]=v):v=o[14],v}function N(o){const l=(0,s.c)(2),{isLoading:u,hasGraph:c}=o;if(c)return null;const p=u?"Loading graph\u2026":"This graph no longer exists on the host.";let h;return l[0]!==p?(h=(0,I.jsx)(t.View,{style:Q.loading,children:(0,I.jsx)(n.Text,{style:Q.loadingText,children:p})}),l[0]=p,l[1]=h):h=l[1],h}let U=0;function H(t){return t.map(t=>({uid:"row-"+ ++U,input:t}))}function q({inputs:s,onClose:l,onChange:u}){const[p,h]=(0,o.useState)(()=>H(s)),x=(0,o.useCallback)((t,n)=>{h(s=>{const o=s.map(s=>s.uid===t?Object.assign({},s,{input:Object.assign({},s.input,n)}):s);return u(o.map(t=>t.input)),o})},[u]),b=(0,o.useCallback)(t=>{h(n=>{const s=n.filter(n=>n.uid!==t);return u(s.map(t=>t.input)),s})},[u]),y=(0,o.useCallback)(()=>{h(t=>{const n=[...t,{uid:"row-"+ ++U,input:{key:`input${t.length+1}`,label:"New input"}}];return u(n.map(t=>t.input)),n})},[u]),j=(0,o.useMemo)(()=>({title:"Graph inputs"}),[]),w=(0,o.useMemo)(()=>(0,I.jsxs)(t.View,{style:Q.inputsFooter,children:[(0,I.jsx)(f.Button,{variant:"outline",style:Q.inputsFooterButton,onPress:y,children:"Add input"}),(0,I.jsx)(f.Button,{variant:"default",style:Q.inputsFooterButton,onPress:l,children:"Done"})]}),[y,l]);return(0,I.jsx)(c.AdaptiveModalSheet,{header:j,visible:!0,onClose:l,footer:w,children:(0,I.jsxs)(t.View,{style:Q.inputsBody,children:[0===p.length?(0,I.jsxs)(n.Text,{style:Q.inputsEmpty,children:["No inputs yet. Nodes reference inputs as ","{{inputs.key}}"," in their prompts, or bind one via prompt-from-input on the node."]}):null,p.map(t=>(0,I.jsx)(K,{row:t,onPatch:x,onRemove:b},t.uid))]})})}function K(o){const l=(0,s.c)(41),{row:u,onPatch:c,onRemove:p}=o;let h;l[0]!==c||l[1]!==u.uid?(h=t=>c(u.uid,{key:t.trim()}),l[0]=c,l[1]=u.uid,l[2]=h):h=l[2];const y=h;let j;l[3]!==c||l[4]!==u.uid?(j=t=>c(u.uid,{label:t}),l[3]=c,l[4]=u.uid,l[5]=j):j=l[5];const w=j;let v;l[6]!==c||l[7]!==u.uid?(v=t=>c(u.uid,{multiline:t}),l[6]=c,l[7]=u.uid,l[8]=v):v=l[8];const S=v;let _;l[9]!==c||l[10]!==u.uid?(_=t=>c(u.uid,{required:t}),l[9]=c,l[10]=u.uid,l[11]=_):_=l[11];const C=_;let T;l[12]!==p||l[13]!==u.uid?(T=()=>p(u.uid),l[12]=p,l[13]=u.uid,l[14]=T):T=l[14];const k=T;let z,P,D,R;l[15]!==y||l[16]!==u.input.key?(z=(0,I.jsx)(t.View,{style:Q.inputRowField,children:(0,I.jsx)(x.Field,{label:"Key",children:(0,I.jsx)(x.FormTextInput,{initialValue:u.input.key,value:u.input.key,onChangeText:y,autoCapitalize:"none",size:"sm"})})}),l[15]=y,l[16]=u.input.key,l[17]=z):z=l[17],l[18]!==w||l[19]!==u.input.label?(P=(0,I.jsx)(t.View,{style:Q.inputRowField,children:(0,I.jsx)(x.Field,{label:"Label",children:(0,I.jsx)(x.FormTextInput,{initialValue:u.input.label,value:u.input.label,onChangeText:w,size:"sm"})})}),l[18]=w,l[19]=u.input.label,l[20]=P):P=l[20],l[21]!==z||l[22]!==P?(D=(0,I.jsxs)(t.View,{style:Q.inputRowFields,children:[z,P]}),l[21]=z,l[22]=P,l[23]=D):D=l[23],l[24]===Symbol.for("react.memo_cache_sentinel")?(R=(0,I.jsx)(n.Text,{style:Q.inputToggleLabel,children:"Multiline"}),l[24]=R):R=l[24];const V=!0===u.input.multiline;let G,B;l[25]!==S||l[26]!==V?(G=(0,I.jsxs)(t.View,{style:Q.inputToggle,children:[R,(0,I.jsx)(b.Switch,{value:V,onValueChange:S})]}),l[25]=S,l[26]=V,l[27]=G):G=l[27],l[28]===Symbol.for("react.memo_cache_sentinel")?(B=(0,I.jsx)(n.Text,{style:Q.inputToggleLabel,children:"Required"}),l[28]=B):B=l[28];const O=!0===u.input.required;let F,M,L,E;return l[29]!==C||l[30]!==O?(F=(0,I.jsxs)(t.View,{style:Q.inputToggle,children:[B,(0,I.jsx)(b.Switch,{value:O,onValueChange:C})]}),l[29]=C,l[30]=O,l[31]=F):F=l[31],l[32]!==k?(M=(0,I.jsx)(f.Button,{size:"sm",variant:"ghost",onPress:k,children:"Remove"}),l[32]=k,l[33]=M):M=l[33],l[34]!==G||l[35]!==F||l[36]!==M?(L=(0,I.jsxs)(t.View,{style:Q.inputRowMeta,children:[G,F,M]}),l[34]=G,l[35]=F,l[36]=M,l[37]=L):L=l[37],l[38]!==L||l[39]!==D?(E=(0,I.jsxs)(t.View,{style:Q.inputRow,children:[D,L]}),l[38]=L,l[39]=D,l[40]=E):E=l[40],E}const J=(0,l.withUnistyles)(function({canvasTheme:s}){const{serverId:l,workspaceId:c,target:p}=(0,v.usePaneContext)(),f="orchestrationGraph"===p.kind?p:null,x=f?.graphId??"",b=f?.runId,y=(0,w.useOrchestrationGraphs)(l),_=(0,o.useMemo)(()=>(y.data??[]).find(t=>t.id===x)??null,[y.data,x]),C=(0,w.useSaveOrchestrationGraph)(l),D=(0,w.usePromptTemplates)(l).data,R=(0,o.useRef)(null),V=(0,o.useRef)(null),G=(0,o.useRef)(s);G.current=s;const B=(0,j.useToast)(),[O,A]=(0,o.useState)(!1),[W,U]=(0,o.useState)(null),[H,K]=(0,o.useState)(!1),[J,X]=(0,o.useState)(null),[Y,Z]=(0,o.useState)(null),[ee,te]=(0,o.useState)(0),ne=(0,o.useCallback)(()=>{A(!0),te(t=>t+1)},[]);(0,o.useEffect)(()=>{const t=R.current;if(!t)return;const n=(0,T.createGraphCanvas)(t,{theme:G.current,onChange:ne});return V.current=n,()=>{V.current=null,n.destroy()}},[ne]),(0,o.useEffect)(()=>{V.current?.setTheme(s)},[s]),(0,o.useEffect)(()=>{if(!_||!V.current||Y===_.id)return;const t=(0,k.getGraphDraft)(l,_.id),n=t?.graph??_;V.current.loadGraph(n),U(n.inputs??[]),A(!0===t?.dirty),Z(_.id)},[_,Y,l]),(0,o.useEffect)(()=>{D&&V.current?.setPromptTemplates(D)},[D,Y]);const se=(0,o.useCallback)(()=>_&&V.current?V.current.exportGraph(Object.assign({},_,{inputs:W??_.inputs??[]})):null,[_,W]);(0,o.useEffect)(()=>{if(!O||null===Y)return;const t=se();t&&(0,k.setGraphDraft)(l,t,!0)},[O,ee,W,se,Y,l]);const ie=(0,o.useCallback)(async()=>{const t=se();if(!t)return null;let n;try{n=await C.mutateAsync(t)}catch(t){return B.error(`Couldn't save the graph: ${t instanceof Error?t.message:String(t)}`),null}A(!1),(0,k.clearGraphDraft)(l,n.id);const s=(0,u.validateOrchestrationGraph)(n),o=(0,u.reviewOrchestrationGraph)(n);return s.length>0||o.length>0?B.show("Saved \u2014 With Issues"):B.show("Saved",{variant:"success"}),n},[se,C,l,B]),re=(0,S.useSessionStore)(t=>t.sessions[l]?.workspaces.get(c)?.workspaceDirectory??""),oe=(0,o.useCallback)(async()=>{const t=await ie();if(!t)return;const n=(0,u.validateOrchestrationGraph)(t);n.length>0?B.show(`Not ready to run \xb7 ${P(n)}`,{variant:"error",durationMs:4200}):X(Object.assign({serverId:l,projectCwd:re,graphId:t.id},b?{runId:b}:{}))},[ie,l,re,b,B]),le=(0,o.useCallback)(()=>{V.current?.addAgentNode()},[]),ae=(0,o.useCallback)(()=>K(!0),[]),ue=(0,o.useCallback)(()=>K(!1),[]),ce=(0,o.useCallback)(()=>X(null),[]),de=(0,o.useCallback)(t=>{U(t),A(!0),V.current?.setDeclaredInputs(t.map(t=>t.key))},[]);return f?(0,I.jsxs)(t.View,{style:Q.container,children:[(0,I.jsxs)(t.View,{style:Q.toolbar,children:[(0,I.jsx)(n.Text,{numberOfLines:1,style:Q.title,children:_?.name??"Graph designer"}),O?(0,I.jsx)(n.Text,{style:Q.status,children:"Unsaved changes"}):null,(0,I.jsxs)(t.View,{style:Q.toolbarActions,children:[(0,I.jsx)($,{renderIcon:F,label:"Add agent node",onPress:le,testID:"graph-add-agent"}),(0,I.jsx)($,{renderIcon:M,label:"Graph inputs",onPress:ae,testID:"graph-inputs"}),(0,I.jsx)($,{renderIcon:L,label:"Save graph",onPress:ie,testID:"graph-save",disabled:!O||C.isPending}),(0,I.jsx)($,{renderIcon:E,label:"Save and set up the orchestration",onPress:oe,testID:"graph-run"})]})]}),(0,I.jsxs)(t.View,{style:Q.canvasWrap,children:[(0,I.jsx)(N,{isLoading:y.isLoading,hasGraph:null!==_}),(0,I.jsx)("div",{ref:R,style:z})]}),H&&null!==W?(0,I.jsx)(q,{inputs:W,onClose:ue,onChange:de}):null,J?(0,I.jsx)(h.NewOrchestrationSheet,{visible:!0,onClose:ce,prefill:J}):null]}):(0,I.jsx)(t.View,{style:Q.container})},t=>({canvasTheme:(0,C.buildGraphCanvasTheme)(t)})),Q=l.StyleSheet.create(t=>({container:{flex:1,backgroundColor:t.colors.background,uni__dependencies:[0]},toolbar:{flexDirection:"row",alignItems:"center",gap:t.spacing[3],paddingHorizontal:t.spacing[3],paddingVertical:t.spacing[1],borderBottomWidth:1,borderBottomColor:t.colors.border,uni__dependencies:[0]},toolbarButton:{flexDirection:"row",alignItems:"center",justifyContent:"center",minWidth:{xs:32,sm:32,md:26},height:{xs:32,sm:32,md:26},borderRadius:t.borderRadius.base,flexShrink:0,uni__dependencies:[0]},toolbarButtonHovered:{backgroundColor:t.colors.surface2,uni__dependencies:[0]},toolbarButtonDisabled:{opacity:.4,backgroundColor:"transparent"},tooltipText:{color:t.colors.foreground,fontSize:t.fontSize.sm,uni__dependencies:[0]},title:{color:t.colors.foreground,fontSize:t.fontSize.sm,fontWeight:"600",flexShrink:1,uni__dependencies:[0]},status:{flex:1,color:t.colors.foregroundMuted,fontSize:t.fontSize.xs,uni__dependencies:[0]},toolbarActions:{flexDirection:"row",gap:t.spacing[2],marginLeft:"auto",uni__dependencies:[0]},canvasWrap:{flex:1,overflow:"hidden"},loading:Object.assign({},l.StyleSheet.absoluteFillObject,{alignItems:"center",justifyContent:"center",zIndex:1}),loadingText:{color:t.colors.foregroundMuted,fontSize:t.fontSize.sm,uni__dependencies:[0]},inputsBody:{gap:t.spacing[4],paddingBottom:t.spacing[4],uni__dependencies:[0]},inputsEmpty:{color:t.colors.foregroundMuted,fontSize:t.fontSize.sm,lineHeight:Math.round(1.5*t.fontSize.sm),uni__dependencies:[0]},inputRow:{gap:t.spacing[2],borderWidth:1,borderColor:t.colors.border,borderRadius:t.borderRadius.md,padding:t.spacing[3],uni__dependencies:[0]},inputRowFields:{flexDirection:"row",gap:t.spacing[3],uni__dependencies:[0]},inputRowField:{flex:1},inputRowMeta:{flexDirection:"row",alignItems:"center",gap:t.spacing[4],uni__dependencies:[0]},inputToggle:{flexDirection:"row",alignItems:"center",gap:t.spacing[2],uni__dependencies:[0]},inputToggleLabel:{color:t.colors.foregroundMuted,fontSize:t.fontSize.xs,uni__dependencies:[0]},inputsFooter:{flexDirection:"row",gap:t.spacing[3],uni__dependencies:[0]},inputsFooterButton:{flex:1}}))},3254,[358,719,306,36,234,146,56,1792,1900,1626,3124,1978,2428,2426,1998,1667,2969,2794,1695,305,3321,3322,3324,279]);
|
|
2
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.buildGraphCanvasTheme=function(o){return{background:o.colors.background,surface:o.colors.surface1,surfaceRaised:o.colors.surface2,border:o.colors.border,foreground:o.colors.foreground,foregroundMuted:o.colors.foregroundMuted,accent:o.colors.accent,warning:o.colors.statusWarning,danger:o.colors.statusDanger,fontFamilyUi:o.fontFamily.ui,fontFamilyMono:o.fontFamily.mono}}},
|
|
3
|
-
__d(function(g,_r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.createGraphCanvas=function(e,o){const t=document.createElement("style");t.textContent=G(o.theme),e.appendChild(t);const p=document.createElement("div");p.className="og-canvas",e.appendChild(p);const u=new n.default(p);u.createCurvature=(e,o,t,n)=>{const r=e+(t-e)/2,s=Math.sign(r-e)||1,l=Math.sign(n-o)||1,c=Math.sign(t-r)||1,p=Math.min(14,Math.abs(r-e),Math.abs(t-r),Math.abs(n-o)/2);return p>.5?` M ${e} ${o} L ${r-s*p} ${o} Q ${r} ${o} ${r} ${o+l*p} L ${r} ${n-l*p} Q ${r} ${n} ${r+c*p} ${n} L ${t} ${n}`:` M ${e} ${o} L ${r} ${o} L ${r} ${n} L ${t} ${n}`},u.reroute=!0,u.draggable_inputs=!1,u.zoom_min=.4,u.zoom_max=1.5,u.zoom_value=.08,u.zoom_enter=()=>{},u.start();const f=new Map,v=new Map;let $=[],k=[],L=!1;const I=()=>{L||o.onChange()},T=(e,o)=>{const t=s*u.zoom;p.style.backgroundSize=`${t}px ${t}px`,p.style.backgroundPosition=`${e}px ${o}px`},E=()=>T(u.canvas_x,u.canvas_y);u.on("translate",e=>{const o=e;T(o.x,o.y)}),u.on("zoom",()=>queueMicrotask(E)),E();const C=e=>{e.preventDefault();const o=Math.min(u.zoom_max,Math.max(u.zoom_min,u.zoom+(e.deltaY<0?u.zoom_value:-u.zoom_value)));if(o===u.zoom)return;const t=p.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top,s=o/u.zoom;u.zoom=o,u.zoom_refresh(),u.canvas_x+=n*(1-s),u.canvas_y+=r*(1-s),u.precanvas.style.transform=`translate(${u.canvas_x}px, ${u.canvas_y}px) scale(${u.zoom})`,E()};p.addEventListener("wheel",C,{passive:!1});const F=e=>{if(!(e instanceof HTMLElement))return;const o=e.dataset.ogField,t=e.closest(".drawflow-node");if(!o||!t)return;const n=t.id.replace(/^node-/,""),r=f.get(n);r&&(h(r,o,e),"loopMode"===o&&b(t,r.loopMode),"toolGroupsMode"===o&&x(t,r.toolGroupsMode),"templateId"===o&&y(t,r.templateId),I())},A=e=>F(e.target);p.addEventListener("input",A),p.addEventListener("change",A);const j=e=>{const o=e.target instanceof HTMLElement?e.target:null;(o?.closest(".og-adv > summary")||o?.closest(".og-del"))&&e.stopPropagation()};p.addEventListener("mousedown",j,!0);const q=e=>{const o=e.target instanceof HTMLElement?e.target:null,t=o?.closest(".og-del");if(!t)return;const n=t.closest(".drawflow-node");if(!n)return;const r=n.id.replace(/^node-/,""),s=f.get(r);s&&"orchestrator"!==s.kind&&u.removeNodeId(`node-${r}`)};p.addEventListener("click",q);const N=e=>{const o=e.target instanceof Element?e.target:null;0===e.button&&u.connection_selected&&o?.closest(".connection")&&u.contextmenu(e)};p.addEventListener("mousedown",N);let R=null;const H=()=>{R?.classList.remove("og-snap"),R=null},P=(e,o)=>{const t=u.ele_selected?.closest(".drawflow-node")??null;let n=null,r=l;for(const s of u.container.querySelectorAll(".drawflow-node .input")){if(t&&s.closest(".drawflow-node")===t)continue;const l=s.getBoundingClientRect(),c=Math.hypot(e-(l.left+l.width/2),o-(l.top+l.height/2));c<r&&(r=c,n=s)}return n},U=e=>{const o=u.connection_ele?.querySelector(".main-path"),t=o?.getAttribute("d")?.match(/M\s+(-?[\d.]+)\s+(-?[\d.]+)/);if(!o||!t)return;const n=p.getBoundingClientRect(),r=e.getBoundingClientRect(),s=(r.left+r.width/2-n.left-u.canvas_x)/u.zoom,l=(r.top+r.height/2-n.top-u.canvas_y)/u.zoom;o.setAttribute("d",u.createCurvature(Number(t[1]),Number(t[2]),s,l))},V=e=>{if(!0!==u.connection)return void H();const o=P(e.clientX,e.clientY);o!==R&&(H(),R=o,R?.classList.add("og-snap")),R&&U(R)};p.addEventListener("mousemove",V);const B=e=>{if(!0!==u.connection||!R||e.target===R)return void H();const o=R;H(),e.stopPropagation(),u.dragEnd({type:"mouseup",clientX:e.clientX,clientY:e.clientY,target:o})};p.addEventListener("mouseup",B,!0);const D=()=>{const e=u.export().drawflow.Home.data;for(const[o,t]of Object.entries(e)){const e=u.container.querySelector(`#node-${o}`);if(!e)continue;const n=Object.values(t.inputs??{}).some(e=>(e.connections??[]).length>0),r=Object.values(t.outputs??{}).some(e=>(e.connections??[]).length>0);e.querySelector(".input")?.classList.toggle("connected",n),e.querySelector(".output")?.classList.toggle("connected",r)}};let K=null,Q=null,X={x:80,y:80};u.on("nodeRemoved",e=>{const o=String(e),t=f.get(o);f.delete(o),o===K&&Q&&!L&&oe(w(Q,Q.nodeId,X),X),D(),t&&I()}),u.on("nodeMoved",e=>{if(String(e)===K){const o=u.export().drawflow.Home.data[String(e)];o&&(X={x:o.pos_x,y:o.pos_y})}I()}),u.on("connectionCreated",e=>{const o=e;String(o.output_id)!==String(o.input_id)?(D(),I()):u.removeSingleConnection(o.output_id,o.input_id,o.output_class,o.input_class)}),u.on("connectionRemoved",()=>{D(),I()});const Y=document.createElement("div");Y.className="og-edge-inspector og-hidden","static"===getComputedStyle(e).position&&(e.style.position="relative");Y.innerHTML="<div class=\"og-edge-title\" data-og-edge-title></div><label class=\"og-label\">Condition <span class=\"og-hint\">(JSONata over the upstream node's fields)</span></label><input class=\"og-input\" data-og-edge=\"when\" placeholder='complexity = \"simple\"' /><label class=\"og-label\">Fields carried <span class=\"og-hint\">(comma-separated; blank = all)</span></label><input class=\"og-input\" data-og-edge=\"fields\" placeholder=\"all fields\" /><div class=\"og-inputs-hint\" data-og-edge-note></div>",e.appendChild(Y);let W=null;const J=e=>Y.querySelector(`[data-og-edge="${e}"]`),Z=()=>{W=null,Y.classList.add("og-hidden")},ee=(e,o,t,n)=>{W=(0,r.graphEdgeKey)(e,o);const s=v.get(W)??{},l=Y.querySelector("[data-og-edge-title]");l&&(l.textContent=`${t} \u2192 ${n}`);const c=J("when");c&&(c.value=s.when?.expression??"");const p=J("fields");p&&(p.value=(s.fields??[]).join(", "));const u=[...f.values()].find(o=>o.nodeId===e),h=Y.querySelector("[data-og-edge-note]");h&&(h.textContent=u?.outputFields.trim()?"Leave the condition blank to always deliver.":`"${t}" declares no output fields \u2014 a condition here can only test its prose as \`output\`.`),Y.classList.remove("og-hidden")};Y.addEventListener("input",()=>{if(!W)return;const e=J("when")?.value.trim()??"",o=(J("fields")?.value??"").split(",").map(e=>e.trim()).filter(e=>e.length>0),t=v.get(W)??{},n=Object.assign({},t,e?{when:{expression:e}}:{},o.length>0?{fields:o}:{});e||delete n.when,0===o.length&&delete n.fields,Object.keys(n).length>0?v.set(W,n):v.delete(W),I()}),Y.addEventListener("pointerdown",e=>e.stopPropagation()),u.on("connectionSelected",e=>{const o=e,t=f.get(String(o.output_id)),n=f.get(String(o.input_id));t&&n?ee(t.nodeId,n.nodeId,t.title||"Upstream",n.title||"Downstream"):Z()}),u.on("connectionUnselected",Z),u.on("nodeSelected",Z);const oe=(e,o)=>{const t="orchestrator"===e.kind,n=c(e),r=u.addNode(n.kind,t?0:1,1,o.x,o.y,t?"og-root":"og-agent",{},t?z(n):O(n,$,k));f.set(String(r),n),t&&(K=String(r),Q=n,X=o);const s=u.container.querySelector(`#node-${r}`);return s&&!t&&(b(s,n.loopMode),x(s,n.toolGroupsMode),y(s,n.templateId)),r};return{loadGraph(e){L=!0;try{Z(),u.clear(),f.clear(),K=null,Q=null,$=(e.inputs??[]).map(e=>e.key),v.clear();for(const o of e.edges??[]){const e=(0,r.carryUneditedEdgeFields)(o);Object.keys(e).length>0&&v.set((0,r.graphEdgeKey)(o.from,o.to),e)}const o=new Map,t=e.nodes.some(e=>"orchestrator"===e.kind)?e.nodes:[(0,r.buildRootNode)(),...e.nodes];t.forEach((e,t)=>{const n=e.position??{x:80+t%4*360,y:80+300*Math.floor(t/4)};o.set(e.id,oe(e,n))});const n=t.find(e=>"orchestrator"===e.kind)?.id;for(const t of e.edges??[]){if(t.to===n)continue;const e=o.get(t.from),r=o.get(t.to);void 0!==e&&void 0!==r&&e!==r&&u.addConnection(e,r,"output_1","input_1")}D()}finally{L=!1}},exportGraph(e){const o=u.export().drawflow.Home.data,t=new Set,n=[],s=new Map;for(const[e,l]of Object.entries(o)){const o=f.get(e);if(!o)continue;let c=o.nodeId;t.has(c)&&(c=(0,r.newGraphNodeId)(t)),t.add(c),s.set(e,c),n.push(w(o,c,{x:l.pos_x,y:l.pos_y}))}const l=[];for(const[e,t]of Object.entries(o)){const o=s.get(e);if(o)for(const e of Object.values(t.outputs??{}))for(const t of e.connections??[]){const e=s.get(String(t.node));e&&e!==o&&l.push(Object.assign({},v.get((0,r.graphEdgeKey)(o,e)),{from:o,to:e}))}}return Object.assign({},e,{nodes:n,edges:l})},addAgentNode(){const e=new Set([...f.values()].map(e=>e.nodeId)),o=(0,r.newGraphNodeId)(e),t=f.size;oe({id:o,kind:"agent",title:`Agent ${e.size}`,role:"researcher",prompt:""},{x:420+t%3*60,y:80+t%5*60}),I()},setDeclaredInputs(e){$=[...e];for(const[e,o]of f){if("orchestrator"===o.kind)continue;const t=u.container.querySelector(`#node-${e}`);if(!t)continue;const n=t.querySelector("[data-og-inputs-hint]");n&&(n.textContent=M($),n.classList.toggle("og-hidden",0===$.length));const r=t.querySelector('select[data-og-field="promptFromInput"]');r&&(r.innerHTML=S(o.promptFromInput,$))}},setPromptTemplates(e){k=[...e];for(const[e,o]of f){if("orchestrator"===o.kind)continue;const t=u.container.querySelector(`#node-${e} select[data-og-field="templateId"]`);t&&(t.innerHTML=_(o.templateId,k))}},setTheme(e){t.textContent=G(e)},destroy(){p.removeEventListener("mousemove",V),p.removeEventListener("mouseup",B,!0),p.removeEventListener("wheel",C),p.removeEventListener("input",A),p.removeEventListener("change",A),p.removeEventListener("click",q),p.removeEventListener("mousedown",N),p.removeEventListener("mousedown",j,!0),u.clear(),p.remove(),t.remove()}}};var e,o=_r(d[0]),t=_r(d[1]),n=(e=t)&&e.__esModule?e:{default:e},r=_r(d[2]);const s=22,l=110;function c(e){const o=p(e);return{nodeId:e.id,kind:"orchestrator"===e.kind?"orchestrator":"agent",title:e.title,role:e.role??"researcher",prompt:e.prompt??"",promptFromInput:e.promptFromInput??"",autonomous:!0===e.autonomous,loopMode:o.mode,loopCount:o.count,loopCriteria:o.criteria,model:e.model??"",access:e.access??"",outputFields:(0,r.formatOutputFields)(e.output?.fields),retryAttempts:e.retry?.maxAttempts??1,timeLimitSeconds:e.timeoutMs?Math.round(e.timeoutMs/1e3):0,toolGroupsMode:e.tools?"only":"",toolGroups:new Set(e.tools??[]),queryTools:(0,r.formatQueryTools)(e.queryTools),queryToolsSource:[...e.queryTools??[]],templateId:e.promptTemplate?.templateId??"",templateVariables:(0,r.formatTemplateVariables)(e.promptTemplate?.variables),carried:(0,r.carryUneditedNodeFields)(e)}}function p(e){return e.loop?.until?{mode:"until",count:e.loop.until.max,criteria:e.loop.until.criteria.join("\n")}:void 0!==e.loop?.times?{mode:"times",count:e.loop.times,criteria:""}:{mode:"none",count:3,criteria:""}}function u(e){return e instanceof HTMLInputElement&&"checkbox"===e.type?e.checked:e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?e.value:null}const f={title:(e,o)=>{e.title=String(o)},role:(e,o)=>{e.role=String(o)},prompt:(e,o)=>{e.prompt=String(o)},promptFromInput:(e,o)=>{e.promptFromInput=String(o)},autonomous:(e,o)=>{e.autonomous=!0===o},loopMode:(e,o)=>{e.loopMode="times"===o||"until"===o?o:"none"},loopCount:(e,o)=>{const t=Number.parseInt(String(o),10);Number.isInteger(t)&&t>=1&&(e.loopCount=Math.min(t,16))},loopCriteria:(e,o)=>{e.loopCriteria=String(o)},model:(e,o)=>{e.model=String(o)},access:(e,o)=>{e.access=String(o)},outputFields:(e,o)=>{e.outputFields=String(o)},retryAttempts:(e,o)=>{const t=Number.parseInt(String(o),10);e.retryAttempts=Number.isInteger(t)?Math.min(Math.max(t,1),10):1},timeLimitSeconds:(e,o)=>{const t=Number.parseInt(String(o),10);e.timeLimitSeconds=Number.isInteger(t)?Math.min(Math.max(t,0),21600):0},toolGroupsMode:(e,o)=>{e.toolGroupsMode="only"===o?"only":""},queryTools:(e,o)=>{e.queryTools=String(o)},templateId:(e,o)=>{e.templateId=String(o)},templateVariables:(e,o)=>{e.templateVariables=String(o)}};function h(e,o,t){const n=u(t);if(null!==n){if("toolGroup"===o){const o=t.dataset.ogGroup;return void(o&&(!0===n?e.toolGroups.add(o):e.toolGroups.delete(o)))}f[o]?.(e,n)}}function w(e,o,t){if("orchestrator"===e.kind)return Object.assign({},e.carried,{id:o,kind:"orchestrator",title:e.title.trim()||"Orchestrator",position:t});const n=v(e),s=(0,r.parseOutputFields)(e.outputFields),l=(0,r.parseQueryTools)(e.queryTools,e.queryToolsSource),c=(0,r.parseTemplateVariables)(e.templateVariables);return Object.assign({},e.carried,{id:o,kind:"agent",title:e.title.trim()||"Agent",role:e.role},e.prompt.trim()?{prompt:e.prompt}:{},e.promptFromInput.trim()?{promptFromInput:e.promptFromInput.trim()}:{},e.autonomous?{autonomous:!0}:{},n?{loop:n}:{},e.model.trim()?{model:e.model.trim()}:{},e.access?{access:e.access}:{},s.length>0?{output:{fields:s}}:{},e.retryAttempts>1?{retry:{maxAttempts:e.retryAttempts,backoffMs:2e3}}:{},e.timeLimitSeconds>0?{timeoutMs:1e3*e.timeLimitSeconds}:{},"only"===e.toolGroupsMode?{tools:[...e.toolGroups]}:{},l.length>0?{queryTools:l}:{},e.templateId?{promptTemplate:Object.assign({templateId:e.templateId},Object.keys(c).length>0?{variables:c}:{})}:{},{position:t})}function v(e){if("times"===e.loopMode)return{times:e.loopCount};if("until"===e.loopMode){const o=e.loopCriteria.split("\n").map(e=>e.trim()).filter(e=>e.length>0);return{until:{criteria:o.length>0?o:["The task is fully accomplished."],max:e.loopCount}}}return null}function b(e,o){e.querySelector(".og-loop-count")?.classList.toggle("og-hidden","none"===o),e.querySelector(".og-loop-criteria")?.classList.toggle("og-hidden","until"!==o)}function x(e,o){e.querySelector(".og-tool-groups")?.classList.toggle("og-hidden","only"!==o)}function y(e,o){e.querySelector(".og-template-vars")?.classList.toggle("og-hidden",!o)}function $(e){return e.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}const k="<button class=\"og-del\" title=\"Delete node\" type=\"button\"><i class=\"og-del-icon\"></i></button>";function M(e){return 0===e.length?"":`Prompts can reference ${e.map(e=>`{{inputs.${e}}}`).join(", ")}`}function S(e,o){const t=new Set(o),n=[`<option value=""${e?"":" selected"}>None</option>`,...o.map(o=>`<option value="${$(o)}"${o===e?" selected":""}>${$(o)}</option>`)];return e&&!t.has(e)&&n.push(`<option value="${$(e)}" selected>${$(e)} (missing)</option>`),n.join("")}function L(e){const t=new Set(o.OTTO_TOOL_GROUP_META.map(e=>e.group));return[...o.OTTO_TOOL_GROUP_META.map(e=>({group:e.group,label:e.label})),...[...e.toolGroups].filter(e=>!t.has(e)).map(e=>({group:e,label:`${e} (unknown)`}))].map(({group:o,label:t})=>`<label class="og-check og-tool-group"><input type="checkbox" data-og-field="toolGroup" data-og-group="${$(o)}"${e.toolGroups.has(o)?" checked":""} /> ${$(t)}</label>`).join("")}function _(e,o){const t=o.filter(o=>!0!==o.snippet||o.id===e),n=[`<option value=""${e?"":" selected"}>Use this node's prompt</option>`,...t.map(o=>`<option value="${$(o.id)}"${o.id===e?" selected":""}>${$(o.name)}</option>`)];return e&&!t.some(o=>o.id===e)&&n.push(`<option value="${$(e)}" selected>${$(e)} (missing)</option>`),n.join("")}function z(e){return`<div class="og-node og-node-root"><div class="og-title"><span class="og-type og-type-root">Orchestrator</span><input class="og-name" data-og-field="title" value="${$(e.title)}" placeholder="Name\u2026" /></div><div class="og-ports-row og-ports-row-out"><span class="og-port-label og-port-label-out">Kickoff</span></div><div class="og-root-note">Hosts the orchestration chat and takes the orchestration's own prompt automatically. Its output kicks the graph off; whatever nothing else consumes comes back as the final answer.</div></div>`}function I(e){return e.autonomous||""!==e.promptFromInput||""!==e.model||"none"!==e.loopMode||""!==e.access||e.outputFields.trim().length>0||e.retryAttempts>1||e.timeLimitSeconds>0||"only"===e.toolGroupsMode||e.queryTools.trim().length>0||""!==e.templateId}function T(e,o){return`<label class="og-label">Prompt from input</label><select class="og-select" data-og-field="promptFromInput">${S(e.promptFromInput,o)}</select><label class="og-label">Model override <span class="og-hint">(provider/model)</span></label><input class="og-input" data-og-field="model" value="${$(e.model)}" placeholder="Uses the team role's brain" /><label class="og-check"><input type="checkbox" data-og-field="autonomous"${e.autonomous?" checked":""} /> Autonomous <span class="og-hint">(may spawn its own agents)</span></label><div class="og-row"><select class="og-select og-loop" data-og-field="loopMode"><option value="none"${"none"===e.loopMode?" selected":""}>No loop</option><option value="times"${"times"===e.loopMode?" selected":""}>Repeat N times</option><option value="until"${"until"===e.loopMode?" selected":""}>Until judge passes</option></select><input class="og-input og-loop-count og-hidden" data-og-field="loopCount" type="number" min="1" max="16" value="${e.loopCount}" /></div><textarea class="og-prompt og-loop-criteria og-hidden" data-og-field="loopCriteria" rows="2" placeholder="Judge criteria, one per line">${$(e.loopCriteria)}</textarea>`}function E(e,o){return`<label class="og-label">Otto tools</label><select class="og-select" data-og-field="toolGroupsMode"><option value=""${""===e.toolGroupsMode?" selected":""}>Whatever the policy allows</option><option value="only"${"only"===e.toolGroupsMode?" selected":""}>Only these groups</option></select><div class="og-tool-groups${"only"===e.toolGroupsMode?"":" og-hidden"}">${L(e)}</div><div class="og-inputs-hint">Narrowing intersects with the policy \u2014 a node can hand itself less authority, never more. Nothing checked means no Otto tools at all.</div><label class="og-label">Query tools <span class="og-hint">(name | kind | spec | description)</span></label><textarea class="og-prompt" data-og-field="queryTools" rows="2" placeholder="recent_commits | command | git log --oneline -n {{count}} | Recent commits">${$(e.queryTools)}</textarea><div class="og-inputs-hint">Read-only lookups only this node gets. Kind is command (argv, no shell), http-get or file-read. Each {{name}} in the spec becomes a parameter.</div><label class="og-label">Prompt template</label><select class="og-select" data-og-field="templateId">${_(e.templateId,o)}</select><textarea class="og-prompt og-template-vars${e.templateId?"":" og-hidden"}" data-og-field="templateVariables" rows="2" placeholder="topic = $inputs.subject">${$(e.templateVariables)}</textarea><div class="og-inputs-hint">A bound template replaces this node's own prompt. Values are literals, $inputs.key, or $output.nodeId.field \u2014 one binding per line.</div>`}function O(e,o,t){const n=r.GRAPH_NODE_ROLES.map(o=>`<option value="${o}"${o===e.role?" selected":""}>${o[0]?.toUpperCase()}${o.slice(1)}</option>`).join(""),s=M(o);return`<div class="og-node"><div class="og-title"><span class="og-type">Agent<span class="og-sep"> \xb7</span></span><input class="og-name" data-og-field="title" value="${$(e.title)}" placeholder="Name\u2026" />`+k+"</div><div class=\"og-ports-row\"><span class=\"og-port-label og-port-label-in\">In</span><span class=\"og-port-label og-port-label-out\">Out</span></div><div class=\"og-body\"><label class=\"og-label\">Role</label>"+`<select class="og-select" data-og-field="role">${n}</select><label class="og-label">Prompt</label>`+`<textarea class="og-prompt" data-og-field="prompt" rows="3" placeholder="Instruction for this agent\u2026">${$(e.prompt)}</textarea>`+`<div class="og-inputs-hint${s?"":" og-hidden"}" data-og-inputs-hint>${$(s)}</div></div>`+`<details class="og-adv"${I(e)?" open":""}><summary><span class="og-caret"></span>Advanced</summary><div class="og-body og-adv-body">`+T(e,o)+"<label class=\"og-label\">Workspace access</label><select class=\"og-select\" data-og-field=\"access\">"+`<option value=""${""===e.access?" selected":""}>Write (full access)</option>`+`<option value="read"${"read"===e.access?" selected":""}>Read only</option>`+`<option value="none"${"none"===e.access?" selected":""}>No workspace access</option></select><div class="og-inputs-hint">Enforced by withholding tools at spawn, not by asking the model. A seat whose provider can't enforce it refuses the run.</div><label class="og-label">Output fields <span class="og-hint">(one per line: name : type : description)</span></label>`+`<textarea class="og-prompt" data-og-field="outputFields" rows="3" placeholder="complexity : string : simple or complex">${$(e.outputFields)}</textarea><div class="og-inputs-hint">Declaring fields gives this node a submit_output tool and lets edges from it carry conditions. Add ? after a name to make it optional.</div><div class="og-row">`+`<input class="og-input" data-og-field="retryAttempts" type="number" min="1" max="10" value="${e.retryAttempts}" title="Attempts (1 = no retry)" />`+`<input class="og-input" data-og-field="timeLimitSeconds" type="number" min="0" max="21600" value="${e.timeLimitSeconds}" title="Time limit in seconds (0 = none)" /></div><div class="og-inputs-hint">Attempts \xb7 time limit (seconds, 0 = none)</div>`+E(e,t)+"</div></details></div>"}const C=".drawflow,.drawflow .parent-node{position:relative}.parent-drawflow{display:flex;overflow:hidden;touch-action:none;outline:0}.drawflow{width:100%;height:100%;user-select:none;perspective:0}.drawflow .drawflow-node{display:flex;align-items:center;position:absolute;background:#0ff;width:160px;min-height:40px;border-radius:4px;border:2px solid #000;color:#000;z-index:2;padding:15px}.drawflow .drawflow-node.selected{background:red}.drawflow .drawflow-node:hover{cursor:move}.drawflow .drawflow-node .inputs,.drawflow .drawflow-node .outputs{width:0}.drawflow .drawflow-node .drawflow_content_node{width:100%;display:block}.drawflow .drawflow-node .input,.drawflow .drawflow-node .output{position:relative;width:20px;height:20px;background:#fff;border-radius:50%;border:2px solid #000;cursor:crosshair;z-index:1;margin-bottom:5px}.drawflow .drawflow-node .input{left:-27px;top:2px;background:#ff0}.drawflow .drawflow-node .output{right:-3px;top:2px}.drawflow svg{z-index:0;position:absolute;overflow:visible!important}.drawflow .connection{position:absolute;pointer-events:none;aspect-ratio:1/1}.drawflow .connection .main-path{fill:none;stroke-width:5px;stroke:#4682b4;pointer-events:all}.drawflow .connection .main-path:hover{stroke:#1266ab;cursor:pointer}.drawflow .connection .main-path.selected{stroke:#43b993}.drawflow .connection .point{cursor:move;stroke:#000;stroke-width:2;fill:#fff;pointer-events:all}.drawflow .connection .point.selected,.drawflow .connection .point:hover{fill:#1266ab}.drawflow .main-path{fill:none;stroke-width:5px;stroke:#4682b4}.drawflow-delete{position:absolute;display:block;width:30px;height:30px;background:#000;color:#fff;z-index:4;border:2px solid #fff;line-height:30px;font-weight:700;text-align:center;border-radius:50%;font-family:monospace;cursor:pointer}.drawflow>.drawflow-delete{margin-left:-15px;margin-top:15px}.parent-node .drawflow-delete{right:-15px;top:-15px}",F="url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 2 L10 6 L2 10 Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/></svg>\") center / contain no-repeat",A="url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 2 L10 6 L2 10 Z' fill='black' stroke='black' stroke-width='2' stroke-linejoin='round'/></svg>\")",j="url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>\") center / contain no-repeat",q="url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z'/></svg>\") center / contain no-repeat";function G(e){const o=`color-mix(in srgb, ${e.accent} 28%, transparent)`;return`${C}\n/* size/position are set imperatively (syncGrid) so the dots pan and zoom with the graph */\n.og-canvas{width:100%;height:100%;background:${e.background};background-image:radial-gradient(${e.border} 1px, transparent 1px);background-size:${s}px ${s}px;font-family:${e.fontFamilyUi};}\n.og-canvas .drawflow{transform-origin:0 0;}\n.og-canvas .drawflow .drawflow-node{background:transparent;border:0;padding:0;box-shadow:none;width:320px;min-height:0;align-items:flex-start;}\n.og-canvas .drawflow .drawflow-node.og-root{width:260px;}\n.og-canvas .drawflow .drawflow-node.selected{background:transparent;}\n.og-canvas .drawflow .drawflow-node.selected .og-node{border-color:${e.accent};box-shadow:0 0 0 2px ${o},0 6px 16px rgba(0,0,0,0.3);}\n.og-canvas .drawflow_content_node{width:100%;}\n\n/* the node card (Forge .of-node) */\n.og-canvas .og-node{position:relative;background:${e.surface};border:1.5px solid ${e.border};width:100%;border-radius:10px;box-shadow:0 3px 10px rgba(0,0,0,0.28);font-size:12px;color:${e.foreground};overflow:hidden;}\n.og-canvas .og-node-root{border-left:3px solid ${e.accent};}\n.og-canvas .og-node-root::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;border-radius:8px;background:radial-gradient(130px 110px at 0% 20px, ${o}, transparent 72%);}\n.og-canvas .og-node-root > .og-title{position:relative;z-index:3;}\n\n/* title bar: "Type \xb7 Name" + delete (Forge .of-title) */\n.og-canvas .og-title{box-sizing:border-box;height:32px;display:flex;align-items:center;gap:6px;padding:0 8px;font-weight:650;letter-spacing:0.01em;background:${e.surfaceRaised};border-bottom:1px solid ${e.border};white-space:nowrap;}\n.og-canvas .og-type{flex:0 0 auto;color:${e.foregroundMuted};font-size:11px;}\n.og-canvas .og-type-root{color:${e.accent};}\n.og-canvas .og-sep{color:${e.foregroundMuted};opacity:0.6;}\n.og-canvas .og-name{flex:1 1 auto;min-width:40px;width:40px;background:transparent;border:none;padding:2px 4px;margin:0;font:inherit;font-weight:650;font-size:12px;color:${e.foreground};border-radius:6px;outline:none;}\n.og-canvas .og-name::placeholder{color:${e.foregroundMuted};font-weight:500;font-style:italic;}\n.og-canvas .og-name:hover{background:${e.surface};}\n.og-canvas .og-name:focus{background:${e.surface};box-shadow:0 0 0 2px ${o};}\n.og-canvas .og-del{flex:0 0 auto;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;background:none;cursor:pointer;border-radius:5px;}\n.og-canvas .og-del-icon{display:block;width:14px;height:14px;background:color-mix(in srgb, ${e.danger} 60%, ${e.foregroundMuted});-webkit-mask:${q};mask:${q};}\n.og-canvas .og-del:hover{background:color-mix(in srgb, ${e.danger} 14%, transparent);}\n.og-canvas .og-del:hover .og-del-icon{background:${e.danger};}\n\n/* port labels row \u2014 sits beside the dots so In/Out (Answers/Kickoff) read at a glance */\n.og-canvas .og-ports-row{display:flex;justify-content:space-between;padding:5px 10px 0;font-size:10px;color:${e.foregroundMuted};letter-spacing:0.04em;text-transform:uppercase;}\n.og-canvas .og-ports-row-out{justify-content:flex-end;}\n\n/* body */\n.og-canvas .og-body{padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px;}\n.og-canvas .og-label{font-size:10px;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;color:${e.foregroundMuted};margin-top:2px;}\n.og-canvas .og-hint{opacity:0.75;text-transform:none;letter-spacing:0;font-weight:500;}\n.og-canvas .og-input,.og-canvas .og-select,.og-canvas .og-prompt{background:${e.surfaceRaised};border:1px solid ${e.border};border-radius:7px;color:${e.foreground};font-family:${e.fontFamilyUi};font-size:12px;padding:5px 8px;outline:none;width:100%;box-sizing:border-box;}\n.og-canvas .og-prompt{font-family:${e.fontFamilyMono};resize:vertical;min-height:44px;line-height:1.45;}\n.og-canvas .og-input:focus,.og-canvas .og-select:focus,.og-canvas .og-prompt:focus{border-color:${e.accent};box-shadow:0 0 0 2px ${o};}\n.og-canvas .og-inputs-hint{font-size:10.5px;color:${e.foregroundMuted};font-family:${e.fontFamilyMono};line-height:1.5;word-break:break-all;}\n.og-canvas .og-row{display:flex;align-items:center;gap:8px;}\n.og-canvas .og-check{display:flex;align-items:center;gap:6px;font-size:11.5px;color:${e.foreground};}\n.og-canvas .og-tool-groups{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;padding:2px 0;}\n.og-canvas .og-tool-group{font-size:11px;color:${e.foregroundMuted};}\n.og-canvas .og-loop{flex:1;}\n.og-canvas .og-loop-count{width:58px;flex:none;}\n.og-canvas .og-root-note{font-size:11px;color:${e.foregroundMuted};line-height:1.5;padding:8px 10px 10px;}\n.og-canvas .og-hidden{display:none;}\n.og-hidden{display:none;}\n\n/* Edge inspector \u2014 floats over the canvas while a wire is selected. */\n.og-edge-inspector{position:absolute;top:12px;right:12px;z-index:6;width:250px;display:flex;flex-direction:column;gap:5px;padding:10px;border:1px solid ${e.border};border-radius:10px;background:${e.surface};box-shadow:0 10px 28px rgba(0,0,0,0.28);}\n.og-edge-inspector .og-edge-title{font-size:11.5px;font-weight:700;color:${e.foreground};margin-bottom:2px;}\n.og-edge-inspector .og-label{font-size:10.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:${e.foregroundMuted};}\n.og-edge-inspector .og-hint{font-weight:400;text-transform:none;letter-spacing:0;}\n.og-edge-inspector .og-input{background:${e.surfaceRaised};border:1px solid ${e.border};border-radius:7px;color:${e.foreground};font-family:${e.fontFamilyMono};font-size:12px;padding:5px 8px;outline:none;width:100%;box-sizing:border-box;}\n.og-edge-inspector .og-input:focus{border-color:${e.accent};box-shadow:0 0 0 2px ${o};}\n.og-edge-inspector .og-inputs-hint{font-size:10.5px;color:${e.foregroundMuted};line-height:1.45;}\n\n/* Advanced disclosure (Forge .of-adv) */\n.og-canvas .og-adv{border-top:1px solid ${e.border};}\n.og-canvas .og-adv > summary{list-style:none;cursor:pointer;user-select:none;display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:10.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:${e.foregroundMuted};}\n.og-canvas .og-adv > summary::-webkit-details-marker{display:none;}\n.og-canvas .og-adv > summary:hover{color:${e.foreground};}\n.og-canvas .og-caret{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transform:rotate(-90deg);transition:transform 0.12s ease;}\n.og-canvas .og-adv[open] > summary .og-caret{transform:rotate(0deg);}\n.og-canvas .og-adv-body{padding-top:0;}\n\n/* ports \u2014 arrow-shaped, riding OUTSIDE the card border (Forge arrow variant).\n Output = accent (flow onward), input = the warm counter hue. Hollow until a\n wire lands; solid on hover-preview and once connected. */\n.og-canvas .drawflow-node .inputs,.og-canvas .drawflow-node .outputs{margin-top:36px;}\n.og-canvas .drawflow-node .input,.og-canvas .drawflow-node .output{width:13px;height:13px;top:0;margin-bottom:12px;border:0;border-radius:0;background:${e.accent};-webkit-mask:${F};mask:${F};}\n.og-canvas .drawflow-node .input{left:-17px;background:${e.warning};}\n.og-canvas .drawflow-node .output{right:-16px;}\n.og-canvas .drawflow-node .input:hover,.og-canvas .drawflow-node .output:hover,.og-canvas .drawflow-node .input.connected,.og-canvas .drawflow-node .output.connected{-webkit-mask-image:${A};mask-image:${A};}\n/* attached-while-near: the port a released wire would land on */\n.og-canvas .drawflow-node .input.og-snap{-webkit-mask-image:${A};mask-image:${A};background:${e.accent};transform:scale(1.35);}\n\n/* wires \u2014 accent elbows, thicker + brighter on hover/selection (Forge) */\n.og-canvas .connection{aspect-ratio:auto;height:100%;}\n.og-canvas .connection .main-path{stroke:${e.accent};stroke-width:3px;opacity:0.9;}\n.og-canvas .connection .main-path:hover{stroke:${e.accent};opacity:1;filter:brightness(1.2);cursor:pointer;}\n.og-canvas .connection .main-path.selected{stroke:${e.accent};opacity:1;filter:brightness(1.35);}\n.og-canvas .connection .point{stroke:${e.foregroundMuted};stroke-width:2;fill:${e.surfaceRaised};}\n.og-canvas .connection .point:hover,.og-canvas .connection .point.selected{fill:${e.accent};}\n\n/* Drawflow's injected delete bubble \u2192 themed round danger button with a masked X */\n.og-canvas .drawflow-delete{width:22px;height:22px;line-height:0;font-size:0;display:flex;align-items:center;justify-content:center;background:${e.danger};border:0;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,0.35);cursor:pointer;}\n.og-canvas .drawflow-delete:hover{filter:brightness(1.12);}\n.og-canvas .drawflow-delete::before{content:"";width:12px;height:12px;background:#fff;-webkit-mask:${j};mask:${j};}\n`}},3322,[3204,3323,3126]);
|
|
4
|
-
__d(function(_g,_r,_i,_a,_m,_e,_d){var e,t;e="undefined"!=typeof self?self:this,t=function(){return(function(e){var t={};function n(i){if(t[i])return t[i].exports;var s=t[i]={i:i,l:!1,exports:{}};return e[i].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)n.d(i,s,function(t){return e[t]}.bind(null,s));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)})([function(e,t,n){"use strict";n.r(t),n.d(t,"default",function(){return i});class i{constructor(e,t=null,n=null){this.events={},this.container=e,this.precanvas=null,this.nodeId=1,this.ele_selected=null,this.node_selected=null,this.drag=!1,this.reroute=!1,this.reroute_fix_curvature=!1,this.curvature=.5,this.reroute_curvature_start_end=.5,this.reroute_curvature=.5,this.reroute_width=6,this.drag_point=!1,this.editor_selected=!1,this.connection=!1,this.connection_ele=null,this.connection_selected=null,this.canvas_x=0,this.canvas_y=0,this.pos_x=0,this.pos_x_start=0,this.pos_y=0,this.pos_y_start=0,this.mouse_x=0,this.mouse_y=0,this.line_path=5,this.first_click=null,this.force_first_input=!1,this.draggable_inputs=!0,this.useuuid=!1,this.parent=n,this.noderegister={},this.render=t,this.drawflow={drawflow:{Home:{data:{}}}},this.module="Home",this.editor_mode="edit",this.zoom=1,this.zoom_max=1.6,this.zoom_min=.5,this.zoom_value=.1,this.zoom_last_value=1,this.evCache=new Array,this.prevDiff=-1}start(){this.container.classList.add("parent-drawflow"),this.container.tabIndex=0,this.precanvas=document.createElement("div"),this.precanvas.classList.add("drawflow"),this.container.appendChild(this.precanvas),this.container.addEventListener("mouseup",this.dragEnd.bind(this)),this.container.addEventListener("mousemove",this.position.bind(this)),this.container.addEventListener("mousedown",this.click.bind(this)),this.container.addEventListener("touchend",this.dragEnd.bind(this)),this.container.addEventListener("touchmove",this.position.bind(this)),this.container.addEventListener("touchstart",this.click.bind(this)),this.container.addEventListener("contextmenu",this.contextmenu.bind(this)),this.container.addEventListener("keydown",this.key.bind(this)),this.container.addEventListener("wheel",this.zoom_enter.bind(this)),this.container.addEventListener("input",this.updateNodeValue.bind(this)),this.container.addEventListener("dblclick",this.dblclick.bind(this)),this.container.onpointerdown=this.pointerdown_handler.bind(this),this.container.onpointermove=this.pointermove_handler.bind(this),this.container.onpointerup=this.pointerup_handler.bind(this),this.container.onpointercancel=this.pointerup_handler.bind(this),this.container.onpointerout=this.pointerup_handler.bind(this),this.container.onpointerleave=this.pointerup_handler.bind(this),this.load()}pointerdown_handler(e){this.evCache.push(e)}pointermove_handler(e){for(var t=0;t<this.evCache.length;t++)if(e.pointerId==this.evCache[t].pointerId){this.evCache[t]=e;break}if(2==this.evCache.length){var n=Math.abs(this.evCache[0].clientX-this.evCache[1].clientX);this.prevDiff>100&&(n>this.prevDiff&&this.zoom_in(),n<this.prevDiff&&this.zoom_out()),this.prevDiff=n}}pointerup_handler(e){this.remove_event(e),this.evCache.length<2&&(this.prevDiff=-1)}remove_event(e){for(var t=0;t<this.evCache.length;t++)if(this.evCache[t].pointerId==e.pointerId){this.evCache.splice(t,1);break}}load(){for(var e in this.drawflow.drawflow[this.module].data)this.addNodeImport(this.drawflow.drawflow[this.module].data[e],this.precanvas);if(this.reroute)for(var e in this.drawflow.drawflow[this.module].data)this.addRerouteImport(this.drawflow.drawflow[this.module].data[e]);for(var e in this.drawflow.drawflow[this.module].data)this.updateConnectionNodes("node-"+e);const t=this.drawflow.drawflow;let n=1;Object.keys(t).map(function(e,i){Object.keys(t[e].data).map(function(e,t){parseInt(e)>=n&&(n=parseInt(e)+1)})}),this.nodeId=n}removeReouteConnectionSelected(){this.dispatch("connectionUnselected",!0),this.reroute_fix_curvature&&this.connection_selected.parentElement.querySelectorAll(".main-path").forEach((e,t)=>{e.classList.remove("selected")})}click(e){if(this.dispatch("click",e),"fixed"===this.editor_mode){if(e.preventDefault(),"parent-drawflow"!==e.target.classList[0]&&"drawflow"!==e.target.classList[0])return!1;this.ele_selected=e.target.closest(".parent-drawflow")}else"view"===this.editor_mode?(null!=e.target.closest(".drawflow")||e.target.matches(".parent-drawflow"))&&(this.ele_selected=e.target.closest(".parent-drawflow"),e.preventDefault()):(this.first_click=e.target,this.ele_selected=e.target,0===e.button&&this.contextmenuDel(),null!=e.target.closest(".drawflow_content_node")&&(this.ele_selected=e.target.closest(".drawflow_content_node").parentElement));switch(this.ele_selected.classList[0]){case"drawflow-node":null!=this.node_selected&&(this.node_selected.classList.remove("selected"),this.node_selected!=this.ele_selected&&this.dispatch("nodeUnselected",!0)),null!=this.connection_selected&&(this.connection_selected.classList.remove("selected"),this.removeReouteConnectionSelected(),this.connection_selected=null),this.node_selected!=this.ele_selected&&this.dispatch("nodeSelected",this.ele_selected.id.slice(5)),this.node_selected=this.ele_selected,this.node_selected.classList.add("selected"),this.draggable_inputs?"SELECT"!==e.target.tagName&&(this.drag=!0):"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&"SELECT"!==e.target.tagName&&!0!==e.target.hasAttribute("contenteditable")&&(this.drag=!0);break;case"output":this.connection=!0,null!=this.node_selected&&(this.node_selected.classList.remove("selected"),this.node_selected=null,this.dispatch("nodeUnselected",!0)),null!=this.connection_selected&&(this.connection_selected.classList.remove("selected"),this.removeReouteConnectionSelected(),this.connection_selected=null),this.drawConnection(e.target);break;case"parent-drawflow":case"drawflow":null!=this.node_selected&&(this.node_selected.classList.remove("selected"),this.node_selected=null,this.dispatch("nodeUnselected",!0)),null!=this.connection_selected&&(this.connection_selected.classList.remove("selected"),this.removeReouteConnectionSelected(),this.connection_selected=null),this.editor_selected=!0;break;case"main-path":null!=this.node_selected&&(this.node_selected.classList.remove("selected"),this.node_selected=null,this.dispatch("nodeUnselected",!0)),null!=this.connection_selected&&(this.connection_selected.classList.remove("selected"),this.removeReouteConnectionSelected(),this.connection_selected=null),this.connection_selected=this.ele_selected,this.connection_selected.classList.add("selected");const t=this.connection_selected.parentElement.classList;t.length>1&&(this.dispatch("connectionSelected",{output_id:t[2].slice(14),input_id:t[1].slice(13),output_class:t[3],input_class:t[4]}),this.reroute_fix_curvature&&this.connection_selected.parentElement.querySelectorAll(".main-path").forEach((e,t)=>{e.classList.add("selected")}));break;case"point":this.drag_point=!0,this.ele_selected.classList.add("selected");break;case"drawflow-delete":this.node_selected&&this.removeNodeId(this.node_selected.id),this.connection_selected&&this.removeConnection(),null!=this.node_selected&&(this.node_selected.classList.remove("selected"),this.node_selected=null,this.dispatch("nodeUnselected",!0)),null!=this.connection_selected&&(this.connection_selected.classList.remove("selected"),this.removeReouteConnectionSelected(),this.connection_selected=null)}"touchstart"===e.type?(this.pos_x=e.touches[0].clientX,this.pos_x_start=e.touches[0].clientX,this.pos_y=e.touches[0].clientY,this.pos_y_start=e.touches[0].clientY,this.mouse_x=e.touches[0].clientX,this.mouse_y=e.touches[0].clientY):(this.pos_x=e.clientX,this.pos_x_start=e.clientX,this.pos_y=e.clientY,this.pos_y_start=e.clientY),["input","output","main-path"].includes(this.ele_selected.classList[0])&&e.preventDefault(),this.dispatch("clickEnd",e)}position(e){if("touchmove"===e.type)var t=e.touches[0].clientX,n=e.touches[0].clientY;else t=e.clientX,n=e.clientY;if(this.connection&&this.updateConnection(t,n),this.editor_selected&&(i=this.canvas_x+-(this.pos_x-t),s=this.canvas_y+-(this.pos_y-n),this.dispatch("translate",{x:i,y:s}),this.precanvas.style.transform="translate("+i+"px, "+s+"px) scale("+this.zoom+")"),this.drag){e.preventDefault();var i=(this.pos_x-t)*this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom),s=(this.pos_y-n)*this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom);this.pos_x=t,this.pos_y=n,this.ele_selected.style.top=this.ele_selected.offsetTop-s+"px",this.ele_selected.style.left=this.ele_selected.offsetLeft-i+"px",this.drawflow.drawflow[this.module].data[this.ele_selected.id.slice(5)].pos_x=this.ele_selected.offsetLeft-i,this.drawflow.drawflow[this.module].data[this.ele_selected.id.slice(5)].pos_y=this.ele_selected.offsetTop-s,this.updateConnectionNodes(this.ele_selected.id)}if(this.drag_point){i=(this.pos_x-t)*this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom),s=(this.pos_y-n)*this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom),this.pos_x=t,this.pos_y=n;var o=this.pos_x*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom))-this.precanvas.getBoundingClientRect().x*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom)),l=this.pos_y*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom))-this.precanvas.getBoundingClientRect().y*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom));this.ele_selected.setAttributeNS(null,"cx",o),this.ele_selected.setAttributeNS(null,"cy",l);const e=this.ele_selected.parentElement.classList[2].slice(9),c=this.ele_selected.parentElement.classList[1].slice(13),d=this.ele_selected.parentElement.classList[3],a=this.ele_selected.parentElement.classList[4];let r=Array.from(this.ele_selected.parentElement.children).indexOf(this.ele_selected)-1;this.reroute_fix_curvature&&(r-=this.ele_selected.parentElement.querySelectorAll(".main-path").length-1,r<0&&(r=0));const h=e.slice(5),u=this.drawflow.drawflow[this.module].data[h].outputs[d].connections.findIndex(function(e,t){return e.node===c&&e.output===a});this.drawflow.drawflow[this.module].data[h].outputs[d].connections[u].points[r]={pos_x:o,pos_y:l};const p=this.ele_selected.parentElement.classList[2].slice(9);this.updateConnectionNodes(p)}"touchmove"===e.type&&(this.mouse_x=t,this.mouse_y=n),this.dispatch("mouseMove",{x:t,y:n})}dragEnd(e){if("touchend"===e.type)var t=this.mouse_x,n=this.mouse_y,i=document.elementFromPoint(t,n);else t=e.clientX,n=e.clientY,i=e.target;if(this.drag&&(this.pos_x_start==t&&this.pos_y_start==n||this.dispatch("nodeMoved",this.ele_selected.id.slice(5))),this.drag_point&&(this.ele_selected.classList.remove("selected"),this.pos_x_start==t&&this.pos_y_start==n||this.dispatch("rerouteMoved",this.ele_selected.parentElement.classList[2].slice(14))),this.editor_selected&&(this.canvas_x=this.canvas_x+-(this.pos_x-t),this.canvas_y=this.canvas_y+-(this.pos_y-n),this.editor_selected=!1),!0===this.connection)if("input"===i.classList[0]||this.force_first_input&&(null!=i.closest(".drawflow_content_node")||"drawflow-node"===i.classList[0])){if(!this.force_first_input||null==i.closest(".drawflow_content_node")&&"drawflow-node"!==i.classList[0])s=i.parentElement.parentElement.id,o=i.classList[1];else{if(null!=i.closest(".drawflow_content_node"))var s=i.closest(".drawflow_content_node").parentElement.id;else s=i.id;if(0===Object.keys(this.getNodeFromId(s.slice(5)).inputs).length)var o=!1;else o="input_1"}var l=this.ele_selected.parentElement.parentElement.id,c=this.ele_selected.classList[1];if(l!==s&&!1!==o){if(0===this.container.querySelectorAll(".connection.node_in_"+s+".node_out_"+l+"."+c+"."+o).length){this.connection_ele.classList.add("node_in_"+s),this.connection_ele.classList.add("node_out_"+l),this.connection_ele.classList.add(c),this.connection_ele.classList.add(o);var d=s.slice(5),a=l.slice(5);this.drawflow.drawflow[this.module].data[a].outputs[c].connections.push({node:d,output:o}),this.drawflow.drawflow[this.module].data[d].inputs[o].connections.push({node:a,input:c}),this.updateConnectionNodes("node-"+a),this.updateConnectionNodes("node-"+d),this.dispatch("connectionCreated",{output_id:a,input_id:d,output_class:c,input_class:o})}else this.dispatch("connectionCancel",!0),this.connection_ele.remove();this.connection_ele=null}else this.dispatch("connectionCancel",!0),this.connection_ele.remove(),this.connection_ele=null}else this.dispatch("connectionCancel",!0),this.connection_ele.remove(),this.connection_ele=null;this.drag=!1,this.drag_point=!1,this.connection=!1,this.ele_selected=null,this.editor_selected=!1,this.dispatch("mouseUp",e)}contextmenu(e){if(this.dispatch("contextmenu",e),e.preventDefault(),"fixed"===this.editor_mode||"view"===this.editor_mode)return!1;if(this.precanvas.getElementsByClassName("drawflow-delete").length&&this.precanvas.getElementsByClassName("drawflow-delete")[0].remove(),this.node_selected||this.connection_selected){var t=document.createElement("div");t.classList.add("drawflow-delete"),t.innerHTML="x",this.node_selected&&this.node_selected.appendChild(t),this.connection_selected&&this.connection_selected.parentElement.classList.length>1&&(t.style.top=e.clientY*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom))-this.precanvas.getBoundingClientRect().y*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom))+"px",t.style.left=e.clientX*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom))-this.precanvas.getBoundingClientRect().x*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom))+"px",this.precanvas.appendChild(t))}}contextmenuDel(){this.precanvas.getElementsByClassName("drawflow-delete").length&&this.precanvas.getElementsByClassName("drawflow-delete")[0].remove()}key(e){if(this.dispatch("keydown",e),"fixed"===this.editor_mode||"view"===this.editor_mode)return!1;("Delete"===e.key||"Backspace"===e.key&&e.metaKey)&&(null!=this.node_selected&&"INPUT"!==this.first_click.tagName&&"TEXTAREA"!==this.first_click.tagName&&!0!==this.first_click.hasAttribute("contenteditable")&&this.removeNodeId(this.node_selected.id),null!=this.connection_selected&&this.removeConnection())}zoom_enter(e,t){e.ctrlKey&&(e.preventDefault(),e.deltaY>0?this.zoom_out():this.zoom_in())}zoom_refresh(){this.dispatch("zoom",this.zoom),this.canvas_x=this.canvas_x/this.zoom_last_value*this.zoom,this.canvas_y=this.canvas_y/this.zoom_last_value*this.zoom,this.zoom_last_value=this.zoom,this.precanvas.style.transform="translate("+this.canvas_x+"px, "+this.canvas_y+"px) scale("+this.zoom+")"}zoom_in(){this.zoom<this.zoom_max&&(this.zoom+=this.zoom_value,this.zoom_refresh())}zoom_out(){this.zoom>this.zoom_min&&(this.zoom-=this.zoom_value,this.zoom_refresh())}zoom_reset(){1!=this.zoom&&(this.zoom=1,this.zoom_refresh())}createCurvature(e,t,n,i,s,o){var l=e,c=t,d=n,a=i,r=s;switch(o){case"open":if(e>=n)var h=l+Math.abs(d-l)*r,u=d-Math.abs(d-l)*(-1*r);else h=l+Math.abs(d-l)*r,u=d-Math.abs(d-l)*r;return" M "+l+" "+c+" C "+h+" "+c+" "+u+" "+a+" "+d+" "+a;case"close":return e>=n?(h=l+Math.abs(d-l)*(-1*r),u=d-Math.abs(d-l)*r):(h=l+Math.abs(d-l)*r,u=d-Math.abs(d-l)*r)," M "+l+" "+c+" C "+h+" "+c+" "+u+" "+a+" "+d+" "+a;case"other":return e>=n?(h=l+Math.abs(d-l)*(-1*r),u=d-Math.abs(d-l)*(-1*r)):(h=l+Math.abs(d-l)*r,u=d-Math.abs(d-l)*r)," M "+l+" "+c+" C "+h+" "+c+" "+u+" "+a+" "+d+" "+a;default:return" M "+l+" "+c+" C "+(h=l+Math.abs(d-l)*r)+" "+c+" "+(u=d-Math.abs(d-l)*r)+" "+a+" "+d+" "+a}}drawConnection(e){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");this.connection_ele=t;var n=document.createElementNS("http://www.w3.org/2000/svg","path");n.classList.add("main-path"),n.setAttributeNS(null,"d",""),t.classList.add("connection"),t.appendChild(n),this.precanvas.appendChild(t);var i=e.parentElement.parentElement.id.slice(5),s=e.classList[1];this.dispatch("connectionStart",{output_id:i,output_class:s})}updateConnection(e,t){const n=this.precanvas,i=this.zoom;let s=n.clientWidth/(n.clientWidth*i);s=s||0;let o=n.clientHeight/(n.clientHeight*i);o=o||0;var l=this.connection_ele.children[0],c=this.ele_selected.offsetWidth/2+(this.ele_selected.getBoundingClientRect().x-n.getBoundingClientRect().x)*s,d=this.ele_selected.offsetHeight/2+(this.ele_selected.getBoundingClientRect().y-n.getBoundingClientRect().y)*o,a=e*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom))-this.precanvas.getBoundingClientRect().x*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom)),r=t*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom))-this.precanvas.getBoundingClientRect().y*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom)),h=this.curvature,u=this.createCurvature(c,d,a,r,h,"openclose");l.setAttributeNS(null,"d",u)}addConnection(e,t,n,i){var s=this.getModuleFromNodeId(e);if(s===this.getModuleFromNodeId(t)){var o=this.getNodeFromId(e),l=!1;for(var c in o.outputs[n].connections){var d=o.outputs[n].connections[c];d.node==t&&d.output==i&&(l=!0)}if(!1===l){if(this.drawflow.drawflow[s].data[e].outputs[n].connections.push({node:t.toString(),output:i}),this.drawflow.drawflow[s].data[t].inputs[i].connections.push({node:e.toString(),input:n}),this.module===s){var a=document.createElementNS("http://www.w3.org/2000/svg","svg"),r=document.createElementNS("http://www.w3.org/2000/svg","path");r.classList.add("main-path"),r.setAttributeNS(null,"d",""),a.classList.add("connection"),a.classList.add("node_in_node-"+t),a.classList.add("node_out_node-"+e),a.classList.add(n),a.classList.add(i),a.appendChild(r),this.precanvas.appendChild(a),this.updateConnectionNodes("node-"+e),this.updateConnectionNodes("node-"+t)}this.dispatch("connectionCreated",{output_id:e,input_id:t,output_class:n,input_class:i})}}}updateConnectionNodes(e){const t="node_in_"+e,n="node_out_"+e;this.line_path;const i=this.container,s=this.precanvas,o=this.curvature,l=this.createCurvature,c=this.reroute_curvature,d=this.reroute_curvature_start_end,a=this.reroute_fix_curvature,r=this.reroute_width,h=this.zoom;let u=s.clientWidth/(s.clientWidth*h);u=u||0;let p=s.clientHeight/(s.clientHeight*h);p=p||0;const f=i.querySelectorAll("."+n);Object.keys(f).map(function(t,n){if(null===f[t].querySelector(".point")){var g=i.querySelector("#"+e),m=f[t].classList[1].replace("node_in_",""),_=i.querySelector("#"+m).querySelectorAll("."+f[t].classList[4])[0],w=_.offsetWidth/2+(_.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,v=_.offsetHeight/2+(_.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,y=g.querySelectorAll("."+f[t].classList[3])[0],C=y.offsetWidth/2+(y.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,x=y.offsetHeight/2+(y.getBoundingClientRect().y-s.getBoundingClientRect().y)*p;const n=l(C,x,w,v,o,"openclose");f[t].children[0].setAttributeNS(null,"d",n)}else{const n=f[t].querySelectorAll(".point");let o="";const g=[];n.forEach((t,a)=>{if(0===a&&n.length-1==0){var f=i.querySelector("#"+e),m=((x=t).getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,_=(x.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,w=(L=f.querySelectorAll("."+t.parentElement.classList[3])[0]).offsetWidth/2+(L.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,v=L.offsetHeight/2+(L.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,y=l(w,v,m,_,d,"open");o+=y,g.push(y),f=t;var C=t.parentElement.classList[1].replace("node_in_",""),x=(E=i.querySelector("#"+C)).querySelectorAll("."+t.parentElement.classList[4])[0];m=(R=E.querySelectorAll("."+t.parentElement.classList[4])[0]).offsetWidth/2+(R.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,_=R.offsetHeight/2+(R.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,w=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,v=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,y=l(w,v,m,_,d,"close"),o+=y,g.push(y)}else if(0===a){var L;f=i.querySelector("#"+e),m=((x=t).getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,_=(x.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,w=(L=f.querySelectorAll("."+t.parentElement.classList[3])[0]).offsetWidth/2+(L.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,v=L.offsetHeight/2+(L.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,y=l(w,v,m,_,d,"open"),o+=y,g.push(y),f=t,m=((x=n[a+1]).getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,_=(x.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,w=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,v=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,y=l(w,v,m,_,c,"other"),o+=y,g.push(y)}else if(a===n.length-1){var E,R;f=t,C=t.parentElement.classList[1].replace("node_in_",""),x=(E=i.querySelector("#"+C)).querySelectorAll("."+t.parentElement.classList[4])[0],m=(R=E.querySelectorAll("."+t.parentElement.classList[4])[0]).offsetWidth/2+(R.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,_=R.offsetHeight/2+(R.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,w=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*(s.clientWidth/(s.clientWidth*h))+r,v=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*(s.clientHeight/(s.clientHeight*h))+r,y=l(w,v,m,_,d,"close"),o+=y,g.push(y)}else f=t,m=((x=n[a+1]).getBoundingClientRect().x-s.getBoundingClientRect().x)*(s.clientWidth/(s.clientWidth*h))+r,_=(x.getBoundingClientRect().y-s.getBoundingClientRect().y)*(s.clientHeight/(s.clientHeight*h))+r,w=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*(s.clientWidth/(s.clientWidth*h))+r,v=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*(s.clientHeight/(s.clientHeight*h))+r,y=l(w,v,m,_,c,"other"),o+=y,g.push(y)}),a?g.forEach((e,n)=>{f[t].children[n].setAttributeNS(null,"d",e)}):f[t].children[0].setAttributeNS(null,"d",o)}});const g=i.querySelectorAll("."+t);Object.keys(g).map(function(t,n){if(null===g[t].querySelector(".point")){var h=i.querySelector("#"+e),f=g[t].classList[2].replace("node_out_",""),m=i.querySelector("#"+f).querySelectorAll("."+g[t].classList[3])[0],_=m.offsetWidth/2+(m.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,w=m.offsetHeight/2+(m.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,v=(h=h.querySelectorAll("."+g[t].classList[4])[0]).offsetWidth/2+(h.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,y=h.offsetHeight/2+(h.getBoundingClientRect().y-s.getBoundingClientRect().y)*p;const n=l(_,w,v,y,o,"openclose");g[t].children[0].setAttributeNS(null,"d",n)}else{const n=g[t].querySelectorAll(".point");let o="";const h=[];n.forEach((t,a)=>{if(0===a&&n.length-1==0){var f=i.querySelector("#"+e),g=((C=t).getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,m=(C.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,_=(E=f.querySelectorAll("."+t.parentElement.classList[4])[0]).offsetWidth/2+(E.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,w=E.offsetHeight/2+(E.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,v=l(g,m,_,w,d,"close");o+=v,h.push(v),f=t;var y=t.parentElement.classList[2].replace("node_out_",""),C=(L=i.querySelector("#"+y)).querySelectorAll("."+t.parentElement.classList[3])[0];g=(x=L.querySelectorAll("."+t.parentElement.classList[3])[0]).offsetWidth/2+(x.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,m=x.offsetHeight/2+(x.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,_=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,w=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,v=l(g,m,_,w,d,"open"),o+=v,h.push(v)}else if(0===a){var x;f=t,y=t.parentElement.classList[2].replace("node_out_",""),C=(L=i.querySelector("#"+y)).querySelectorAll("."+t.parentElement.classList[3])[0],g=(x=L.querySelectorAll("."+t.parentElement.classList[3])[0]).offsetWidth/2+(x.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,m=x.offsetHeight/2+(x.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,_=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,w=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,v=l(g,m,_,w,d,"open"),o+=v,h.push(v),f=t,_=((C=n[a+1]).getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,w=(C.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,g=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,m=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,v=l(g,m,_,w,c,"other"),o+=v,h.push(v)}else if(a===n.length-1){var L,E;f=t,y=t.parentElement.classList[1].replace("node_in_",""),C=(L=i.querySelector("#"+y)).querySelectorAll("."+t.parentElement.classList[4])[0],_=(E=L.querySelectorAll("."+t.parentElement.classList[4])[0]).offsetWidth/2+(E.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,w=E.offsetHeight/2+(E.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,g=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,m=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,v=l(g,m,_,w,d,"close"),o+=v,h.push(v)}else f=t,_=((C=n[a+1]).getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,w=(C.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,g=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,m=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,v=l(g,m,_,w,c,"other"),o+=v,h.push(v)}),a?h.forEach((e,n)=>{g[t].children[n].setAttributeNS(null,"d",e)}):g[t].children[0].setAttributeNS(null,"d",o)}})}dblclick(e){null!=this.connection_selected&&this.reroute&&this.createReroutePoint(this.connection_selected),"point"===e.target.classList[0]&&this.removeReroutePoint(e.target)}createReroutePoint(e){this.connection_selected.classList.remove("selected");const t=this.connection_selected.parentElement.classList[2].slice(9),n=this.connection_selected.parentElement.classList[1].slice(13),i=this.connection_selected.parentElement.classList[3],s=this.connection_selected.parentElement.classList[4];this.connection_selected=null;const o=document.createElementNS("http://www.w3.org/2000/svg","circle");o.classList.add("point");var l=this.pos_x*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom))-this.precanvas.getBoundingClientRect().x*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom)),c=this.pos_y*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom))-this.precanvas.getBoundingClientRect().y*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom));o.setAttributeNS(null,"cx",l),o.setAttributeNS(null,"cy",c),o.setAttributeNS(null,"r",this.reroute_width);let d=0;if(this.reroute_fix_curvature){const t=e.parentElement.querySelectorAll(".main-path").length;var a=document.createElementNS("http://www.w3.org/2000/svg","path");if(a.classList.add("main-path"),a.setAttributeNS(null,"d",""),e.parentElement.insertBefore(a,e.parentElement.children[t]),1===t)e.parentElement.appendChild(o);else{const n=Array.from(e.parentElement.children).indexOf(e);d=n,e.parentElement.insertBefore(o,e.parentElement.children[n+t+1])}}else e.parentElement.appendChild(o);const r=t.slice(5),h=this.drawflow.drawflow[this.module].data[r].outputs[i].connections.findIndex(function(e,t){return e.node===n&&e.output===s});void 0===this.drawflow.drawflow[this.module].data[r].outputs[i].connections[h].points&&(this.drawflow.drawflow[this.module].data[r].outputs[i].connections[h].points=[]),this.reroute_fix_curvature?(d>0||this.drawflow.drawflow[this.module].data[r].outputs[i].connections[h].points!==[]?this.drawflow.drawflow[this.module].data[r].outputs[i].connections[h].points.splice(d,0,{pos_x:l,pos_y:c}):this.drawflow.drawflow[this.module].data[r].outputs[i].connections[h].points.push({pos_x:l,pos_y:c}),e.parentElement.querySelectorAll(".main-path").forEach((e,t)=>{e.classList.remove("selected")})):this.drawflow.drawflow[this.module].data[r].outputs[i].connections[h].points.push({pos_x:l,pos_y:c}),this.dispatch("addReroute",r),this.updateConnectionNodes(t)}removeReroutePoint(e){const t=e.parentElement.classList[2].slice(9),n=e.parentElement.classList[1].slice(13),i=e.parentElement.classList[3],s=e.parentElement.classList[4];let o=Array.from(e.parentElement.children).indexOf(e);const l=t.slice(5),c=this.drawflow.drawflow[this.module].data[l].outputs[i].connections.findIndex(function(e,t){return e.node===n&&e.output===s});if(this.reroute_fix_curvature){const t=e.parentElement.querySelectorAll(".main-path").length;e.parentElement.children[t-1].remove(),o-=t,o<0&&(o=0)}else o--;this.drawflow.drawflow[this.module].data[l].outputs[i].connections[c].points.splice(o,1),e.remove(),this.dispatch("removeReroute",l),this.updateConnectionNodes(t)}registerNode(e,t,n=null,i=null){this.noderegister[e]={html:t,props:n,options:i}}getNodeFromId(e){var t=this.getModuleFromNodeId(e);return JSON.parse(JSON.stringify(this.drawflow.drawflow[t].data[e]))}getNodesFromName(e){var t=[];const n=this.drawflow.drawflow;return Object.keys(n).map(function(i,s){for(var o in n[i].data)n[i].data[o].name==e&&t.push(n[i].data[o].id)}),t}addNode(e,t,n,i,s,o,l,c,d=!1){if(this.useuuid)var a=this.getUuid();else a=this.nodeId;const r=document.createElement("div");r.classList.add("parent-node");const h=document.createElement("div");h.innerHTML="",h.setAttribute("id","node-"+a),h.classList.add("drawflow-node"),""!=o&&h.classList.add(...o.split(" "));const u=document.createElement("div");u.classList.add("inputs");const p=document.createElement("div");p.classList.add("outputs");const f={};for(var g=0;g<t;g++){const e=document.createElement("div");e.classList.add("input"),e.classList.add("input_"+(g+1)),f["input_"+(g+1)]={connections:[]},u.appendChild(e)}const m={};for(g=0;g<n;g++){const e=document.createElement("div");e.classList.add("output"),e.classList.add("output_"+(g+1)),m["output_"+(g+1)]={connections:[]},p.appendChild(e)}const _=document.createElement("div");if(_.classList.add("drawflow_content_node"),!1===d)_.innerHTML=c;else if(!0===d)_.appendChild(this.noderegister[c].html.cloneNode(!0));else if(3===parseInt(this.render.version)){let e=this.render.h(this.noderegister[c].html,this.noderegister[c].props,this.noderegister[c].options);e.appContext=this.parent,this.render.render(e,_)}else{let e=new this.render(Object.assign({parent:this.parent,render:e=>e(this.noderegister[c].html,{props:this.noderegister[c].props})},this.noderegister[c].options)).$mount();_.appendChild(e.$el)}Object.entries(l).forEach(function(e,t){if("object"==typeof e[1])!(function e(t,n,i){null!==(t=null===t?l[n]:t[n])&&Object.entries(t).forEach(function(n,s){if("object"==typeof n[1])e(t,n[0],i+"-"+n[0]);else for(var o=_.querySelectorAll("[df-"+i+"-"+n[0]+"]"),l=0;l<o.length;l++)o[l].value=n[1],o[l].isContentEditable&&(o[l].innerText=n[1])})})(null,e[0],e[0]);else for(var n=_.querySelectorAll("[df-"+e[0]+"]"),i=0;i<n.length;i++)n[i].value=e[1],n[i].isContentEditable&&(n[i].innerText=e[1])}),h.appendChild(u),h.appendChild(_),h.appendChild(p),h.style.top=s+"px",h.style.left=i+"px",r.appendChild(h),this.precanvas.appendChild(r);var w={id:a,name:e,data:l,class:o,html:c,typenode:d,inputs:f,outputs:m,pos_x:i,pos_y:s};return this.drawflow.drawflow[this.module].data[a]=w,this.dispatch("nodeCreated",a),this.useuuid||this.nodeId++,a}addNodeImport(e,t){const n=document.createElement("div");n.classList.add("parent-node");const i=document.createElement("div");i.innerHTML="",i.setAttribute("id","node-"+e.id),i.classList.add("drawflow-node"),""!=e.class&&i.classList.add(...e.class.split(" "));const s=document.createElement("div");s.classList.add("inputs");const o=document.createElement("div");o.classList.add("outputs"),Object.keys(e.inputs).map(function(n,i){const o=document.createElement("div");o.classList.add("input"),o.classList.add(n),s.appendChild(o),Object.keys(e.inputs[n].connections).map(function(i,s){var o=document.createElementNS("http://www.w3.org/2000/svg","svg"),l=document.createElementNS("http://www.w3.org/2000/svg","path");l.classList.add("main-path"),l.setAttributeNS(null,"d",""),o.classList.add("connection"),o.classList.add("node_in_node-"+e.id),o.classList.add("node_out_node-"+e.inputs[n].connections[i].node),o.classList.add(e.inputs[n].connections[i].input),o.classList.add(n),o.appendChild(l),t.appendChild(o)})});for(var l=0;l<Object.keys(e.outputs).length;l++){const e=document.createElement("div");e.classList.add("output"),e.classList.add("output_"+(l+1)),o.appendChild(e)}const c=document.createElement("div");if(c.classList.add("drawflow_content_node"),!1===e.typenode)c.innerHTML=e.html;else if(!0===e.typenode)c.appendChild(this.noderegister[e.html].html.cloneNode(!0));else if(3===parseInt(this.render.version)){let t=this.render.h(this.noderegister[e.html].html,this.noderegister[e.html].props,this.noderegister[e.html].options);t.appContext=this.parent,this.render.render(t,c)}else{let t=new this.render(Object.assign({parent:this.parent,render:t=>t(this.noderegister[e.html].html,{props:this.noderegister[e.html].props})},this.noderegister[e.html].options)).$mount();c.appendChild(t.$el)}Object.entries(e.data).forEach(function(t,n){if("object"==typeof t[1])!(function t(n,i,s){null!==(n=null===n?e.data[i]:n[i])&&Object.entries(n).forEach(function(e,i){if("object"==typeof e[1])t(n,e[0],s+"-"+e[0]);else for(var o=c.querySelectorAll("[df-"+s+"-"+e[0]+"]"),l=0;l<o.length;l++)o[l].value=e[1],o[l].isContentEditable&&(o[l].innerText=e[1])})})(null,t[0],t[0]);else for(var i=c.querySelectorAll("[df-"+t[0]+"]"),s=0;s<i.length;s++)i[s].value=t[1],i[s].isContentEditable&&(i[s].innerText=t[1])}),i.appendChild(s),i.appendChild(c),i.appendChild(o),i.style.top=e.pos_y+"px",i.style.left=e.pos_x+"px",n.appendChild(i),this.precanvas.appendChild(n)}addRerouteImport(e){const t=this.reroute_width,n=this.reroute_fix_curvature,i=this.container;Object.keys(e.outputs).map(function(s,o){Object.keys(e.outputs[s].connections).map(function(o,l){const c=e.outputs[s].connections[o].points;void 0!==c&&c.forEach((l,d)=>{const a=e.outputs[s].connections[o].node,r=e.outputs[s].connections[o].output,h=i.querySelector(".connection.node_in_node-"+a+".node_out_node-"+e.id+"."+s+"."+r);if(n&&0===d)for(var u=0;u<c.length;u++){var p=document.createElementNS("http://www.w3.org/2000/svg","path");p.classList.add("main-path"),p.setAttributeNS(null,"d",""),h.appendChild(p)}const f=document.createElementNS("http://www.w3.org/2000/svg","circle");f.classList.add("point");var g=l.pos_x,m=l.pos_y;f.setAttributeNS(null,"cx",g),f.setAttributeNS(null,"cy",m),f.setAttributeNS(null,"r",t),h.appendChild(f)})})})}updateNodeValue(e){for(var t=e.target.attributes,n=0;n<t.length;n++)if(t[n].nodeName.startsWith("df-")){for(var i=t[n].nodeName.slice(3).split("-"),s=this.drawflow.drawflow[this.module].data[e.target.closest(".drawflow_content_node").parentElement.id.slice(5)].data,o=0;o<i.length-1;o+=1)null==s[i[o]]&&(s[i[o]]={}),s=s[i[o]];s[i[i.length-1]]=e.target.value,e.target.isContentEditable&&(s[i[i.length-1]]=e.target.innerText),this.dispatch("nodeDataChanged",e.target.closest(".drawflow_content_node").parentElement.id.slice(5))}}updateNodeDataFromId(e,t){var n=this.getModuleFromNodeId(e);if(this.drawflow.drawflow[n].data[e].data=t,this.module===n){const n=this.container.querySelector("#node-"+e);Object.entries(t).forEach(function(e,i){if("object"==typeof e[1])!(function e(i,s,o){null!==(i=null===i?t[s]:i[s])&&Object.entries(i).forEach(function(t,s){if("object"==typeof t[1])e(i,t[0],o+"-"+t[0]);else for(var l=n.querySelectorAll("[df-"+o+"-"+t[0]+"]"),c=0;c<l.length;c++)l[c].value=t[1],l[c].isContentEditable&&(l[c].innerText=t[1])})})(null,e[0],e[0]);else for(var s=n.querySelectorAll("[df-"+e[0]+"]"),o=0;o<s.length;o++)s[o].value=e[1],s[o].isContentEditable&&(s[o].innerText=e[1])})}}addNodeInput(e){var t=this.getModuleFromNodeId(e);const n=this.getNodeFromId(e),i=Object.keys(n.inputs).length;if(this.module===t){const t=document.createElement("div");t.classList.add("input"),t.classList.add("input_"+(i+1)),this.container.querySelector("#node-"+e+" .inputs").appendChild(t),this.updateConnectionNodes("node-"+e)}this.drawflow.drawflow[t].data[e].inputs["input_"+(i+1)]={connections:[]}}addNodeOutput(e){var t=this.getModuleFromNodeId(e);const n=this.getNodeFromId(e),i=Object.keys(n.outputs).length;if(this.module===t){const t=document.createElement("div");t.classList.add("output"),t.classList.add("output_"+(i+1)),this.container.querySelector("#node-"+e+" .outputs").appendChild(t),this.updateConnectionNodes("node-"+e)}this.drawflow.drawflow[t].data[e].outputs["output_"+(i+1)]={connections:[]}}removeNodeInput(e,t){var n=this.getModuleFromNodeId(e);const i=this.getNodeFromId(e);this.module===n&&this.container.querySelector("#node-"+e+" .inputs .input."+t).remove();const s=[];Object.keys(i.inputs[t].connections).map(function(n,o){const l=i.inputs[t].connections[o].node,c=i.inputs[t].connections[o].input;s.push({id_output:l,id:e,output_class:c,input_class:t})}),s.forEach((e,t)=>{this.removeSingleConnection(e.id_output,e.id,e.output_class,e.input_class)}),delete this.drawflow.drawflow[n].data[e].inputs[t];const o=[],l=this.drawflow.drawflow[n].data[e].inputs;Object.keys(l).map(function(e,t){o.push(l[e])}),this.drawflow.drawflow[n].data[e].inputs={};const c=t.slice(6);let d=[];o.forEach((t,i)=>{t.connections.forEach((e,t)=>{d.push(e)}),this.drawflow.drawflow[n].data[e].inputs["input_"+(i+1)]=t}),d=new Set(d.map(e=>JSON.stringify(e))),d=Array.from(d).map(e=>JSON.parse(e)),this.module===n&&this.container.querySelectorAll("#node-"+e+" .inputs .input").forEach((e,t)=>{const n=e.classList[1].slice(6);parseInt(c)<parseInt(n)&&(e.classList.remove("input_"+n),e.classList.add("input_"+(n-1)))}),d.forEach((t,i)=>{this.drawflow.drawflow[n].data[t.node].outputs[t.input].connections.forEach((i,s)=>{if(i.node==e){const o=i.output.slice(6);if(parseInt(c)<parseInt(o)){if(this.module===n){const n=this.container.querySelector(".connection.node_in_node-"+e+".node_out_node-"+t.node+"."+t.input+".input_"+o);n.classList.remove("input_"+o),n.classList.add("input_"+(o-1))}i.points?this.drawflow.drawflow[n].data[t.node].outputs[t.input].connections[s]={node:i.node,output:"input_"+(o-1),points:i.points}:this.drawflow.drawflow[n].data[t.node].outputs[t.input].connections[s]={node:i.node,output:"input_"+(o-1)}}}})}),this.updateConnectionNodes("node-"+e)}removeNodeOutput(e,t){var n=this.getModuleFromNodeId(e);const i=this.getNodeFromId(e);this.module===n&&this.container.querySelector("#node-"+e+" .outputs .output."+t).remove();const s=[];Object.keys(i.outputs[t].connections).map(function(n,o){const l=i.outputs[t].connections[o].node,c=i.outputs[t].connections[o].output;s.push({id:e,id_input:l,output_class:t,input_class:c})}),s.forEach((e,t)=>{this.removeSingleConnection(e.id,e.id_input,e.output_class,e.input_class)}),delete this.drawflow.drawflow[n].data[e].outputs[t];const o=[],l=this.drawflow.drawflow[n].data[e].outputs;Object.keys(l).map(function(e,t){o.push(l[e])}),this.drawflow.drawflow[n].data[e].outputs={};const c=t.slice(7);let d=[];o.forEach((t,i)=>{t.connections.forEach((e,t)=>{d.push({node:e.node,output:e.output})}),this.drawflow.drawflow[n].data[e].outputs["output_"+(i+1)]=t}),d=new Set(d.map(e=>JSON.stringify(e))),d=Array.from(d).map(e=>JSON.parse(e)),this.module===n&&this.container.querySelectorAll("#node-"+e+" .outputs .output").forEach((e,t)=>{const n=e.classList[1].slice(7);parseInt(c)<parseInt(n)&&(e.classList.remove("output_"+n),e.classList.add("output_"+(n-1)))}),d.forEach((t,i)=>{this.drawflow.drawflow[n].data[t.node].inputs[t.output].connections.forEach((i,s)=>{if(i.node==e){const o=i.input.slice(7);if(parseInt(c)<parseInt(o)){if(this.module===n){const n=this.container.querySelector(".connection.node_in_node-"+t.node+".node_out_node-"+e+".output_"+o+"."+t.output);n.classList.remove("output_"+o),n.classList.remove(t.output),n.classList.add("output_"+(o-1)),n.classList.add(t.output)}i.points?this.drawflow.drawflow[n].data[t.node].inputs[t.output].connections[s]={node:i.node,input:"output_"+(o-1),points:i.points}:this.drawflow.drawflow[n].data[t.node].inputs[t.output].connections[s]={node:i.node,input:"output_"+(o-1)}}}})}),this.updateConnectionNodes("node-"+e)}removeNodeId(e){this.removeConnectionNodeId(e);var t=this.getModuleFromNodeId(e.slice(5));this.module===t&&this.container.querySelector("#"+e).remove(),delete this.drawflow.drawflow[t].data[e.slice(5)],this.dispatch("nodeRemoved",e.slice(5))}removeConnection(){if(null!=this.connection_selected){var e=this.connection_selected.parentElement.classList;this.connection_selected.parentElement.remove();var t=this.drawflow.drawflow[this.module].data[e[2].slice(14)].outputs[e[3]].connections.findIndex(function(t,n){return t.node===e[1].slice(13)&&t.output===e[4]});this.drawflow.drawflow[this.module].data[e[2].slice(14)].outputs[e[3]].connections.splice(t,1);var n=this.drawflow.drawflow[this.module].data[e[1].slice(13)].inputs[e[4]].connections.findIndex(function(t,n){return t.node===e[2].slice(14)&&t.input===e[3]});this.drawflow.drawflow[this.module].data[e[1].slice(13)].inputs[e[4]].connections.splice(n,1),this.dispatch("connectionRemoved",{output_id:e[2].slice(14),input_id:e[1].slice(13),output_class:e[3],input_class:e[4]}),this.connection_selected=null}}removeSingleConnection(e,t,n,i){var s=this.getModuleFromNodeId(e);if(s===this.getModuleFromNodeId(t)){if(this.drawflow.drawflow[s].data[e].outputs[n].connections.findIndex(function(e,n){return e.node==t&&e.output===i})>-1){this.module===s&&this.container.querySelector(".connection.node_in_node-"+t+".node_out_node-"+e+"."+n+"."+i).remove();var o=this.drawflow.drawflow[s].data[e].outputs[n].connections.findIndex(function(e,n){return e.node==t&&e.output===i});this.drawflow.drawflow[s].data[e].outputs[n].connections.splice(o,1);var l=this.drawflow.drawflow[s].data[t].inputs[i].connections.findIndex(function(t,i){return t.node==e&&t.input===n});return this.drawflow.drawflow[s].data[t].inputs[i].connections.splice(l,1),this.dispatch("connectionRemoved",{output_id:e,input_id:t,output_class:n,input_class:i}),!0}return!1}return!1}removeConnectionNodeId(e){const t="node_in_"+e,n="node_out_"+e,i=this.container.querySelectorAll("."+n);for(var s=i.length-1;s>=0;s--){var o=i[s].classList,l=this.drawflow.drawflow[this.module].data[o[1].slice(13)].inputs[o[4]].connections.findIndex(function(e,t){return e.node===o[2].slice(14)&&e.input===o[3]});this.drawflow.drawflow[this.module].data[o[1].slice(13)].inputs[o[4]].connections.splice(l,1);var c=this.drawflow.drawflow[this.module].data[o[2].slice(14)].outputs[o[3]].connections.findIndex(function(e,t){return e.node===o[1].slice(13)&&e.output===o[4]});this.drawflow.drawflow[this.module].data[o[2].slice(14)].outputs[o[3]].connections.splice(c,1),i[s].remove(),this.dispatch("connectionRemoved",{output_id:o[2].slice(14),input_id:o[1].slice(13),output_class:o[3],input_class:o[4]})}const d=this.container.querySelectorAll("."+t);for(s=d.length-1;s>=0;s--)o=d[s].classList,c=this.drawflow.drawflow[this.module].data[o[2].slice(14)].outputs[o[3]].connections.findIndex(function(e,t){return e.node===o[1].slice(13)&&e.output===o[4]}),this.drawflow.drawflow[this.module].data[o[2].slice(14)].outputs[o[3]].connections.splice(c,1),l=this.drawflow.drawflow[this.module].data[o[1].slice(13)].inputs[o[4]].connections.findIndex(function(e,t){return e.node===o[2].slice(14)&&e.input===o[3]}),this.drawflow.drawflow[this.module].data[o[1].slice(13)].inputs[o[4]].connections.splice(l,1),d[s].remove(),this.dispatch("connectionRemoved",{output_id:o[2].slice(14),input_id:o[1].slice(13),output_class:o[3],input_class:o[4]})}getModuleFromNodeId(e){var t;const n=this.drawflow.drawflow;return Object.keys(n).map(function(i,s){Object.keys(n[i].data).map(function(n,s){n==e&&(t=i)})}),t}addModule(e){this.drawflow.drawflow[e]={data:{}},this.dispatch("moduleCreated",e)}changeModule(e){this.dispatch("moduleChanged",e),this.module=e,this.precanvas.innerHTML="",this.canvas_x=0,this.canvas_y=0,this.pos_x=0,this.pos_y=0,this.mouse_x=0,this.mouse_y=0,this.zoom=1,this.zoom_last_value=1,this.precanvas.style.transform="",this.import(this.drawflow,!1)}removeModule(e){this.module===e&&this.changeModule("Home"),delete this.drawflow.drawflow[e],this.dispatch("moduleRemoved",e)}clearModuleSelected(){this.precanvas.innerHTML="",this.drawflow.drawflow[this.module]={data:{}}}clear(){this.precanvas.innerHTML="",this.drawflow={drawflow:{Home:{data:{}}}}}export(){const e=JSON.parse(JSON.stringify(this.drawflow));return this.dispatch("export",e),e}import(e,t=!0){this.clear(),this.drawflow=JSON.parse(JSON.stringify(e)),this.load(),t&&this.dispatch("import","import")}on(e,t){return"function"!=typeof t?(console.error("The listener callback must be a function, the given type is "+typeof t),!1):"string"!=typeof e?(console.error("The event name must be a string, the given type is "+typeof e),!1):(void 0===this.events[e]&&(this.events[e]={listeners:[]}),void this.events[e].listeners.push(t))}removeListener(e,t){if(!this.events[e])return!1;const n=this.events[e].listeners,i=n.indexOf(t);i>-1&&n.splice(i,1)}dispatch(e,t){if(void 0===this.events[e])return!1;this.events[e].listeners.forEach(e=>{e(t)})}getUuid(){for(var e=[],t=0;t<36;t++)e[t]="0123456789abcdef".substr(Math.floor(16*Math.random()),1);return e[14]="4",e[19]="0123456789abcdef".substr(3&e[19]|8,1),e[8]=e[13]=e[18]=e[23]="-",e.join("")}}}]).default},"object"==typeof _e&&"object"==typeof _m?_m.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof _e?_e.Drawflow=t():e.Drawflow=t()},3323,[]);
|
|
5
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getGraphDraft=function(u,c){return t.get(n(u,c))??null},e.setGraphDraft=function(u,c,f){t.set(n(u,c.id),{graph:c,dirty:f})},e.clearGraphDraft=function(u,c){t.delete(n(u,c))};const t=new Map;function n(t,n){return`${t}::${n}`}},
|
|
1
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"OrchestrationGraphPanel",{enumerable:!0,get:function(){return J}});var t=r(d[0]),n=r(d[1]),s=r(d[2]),o=r(d[3]);r(d[4]),r(d[5]);var l=r(d[6]),u=r(d[7]),c=r(d[8]),p=r(d[9]),h=r(d[10]),f=r(d[11]),x=r(d[12]),b=r(d[13]),y=r(d[14]),j=r(d[15]),w=r(d[16]),v=r(d[17]),S=r(d[18]),_=r(d[19]),C=r(d[20]),T=r(d[21]),k=r(d[22]),I=r(d[23]);const z={width:"100%",height:"100%"};function P(t){const n=`${t.length} issue${1===t.length?"":"s"} before it can run`;return t[0]?`${n} \u2014 ${t[0]}`:n}const D=t=>({color:t.colors.foregroundMuted}),R=t=>({color:t.colors.primary}),V=(0,l.withUnistyles)(p.Plus),G=(0,l.withUnistyles)(p.DataObject),B=(0,l.withUnistyles)(p.Save),O=(0,l.withUnistyles)(p.PlayFilled),F=t=>(0,I.jsx)(V,{size:t,uniProps:D}),M=t=>(0,I.jsx)(G,{size:t,uniProps:D}),L=t=>(0,I.jsx)(B,{size:t,uniProps:D}),E=t=>(0,I.jsx)(O,{size:t,uniProps:R}),A=t=>[Q.toolbarButton,(Boolean(t.hovered)||t.pressed)&&Q.toolbarButtonHovered],W=t=>[A(t),Q.toolbarButtonDisabled];function $(t){const o=(0,s.c)(15),{renderIcon:l,label:u,onPress:c,testID:p,disabled:h}=t,f=(0,_.useIconSize)().md,x=!0===h?W:A;let b,j,w,v;return o[0]!==l||o[1]!==f?(b=l(f),o[0]=l,o[1]=f,o[2]=b):b=o[2],o[3]!==h||o[4]!==u||o[5]!==c||o[6]!==x||o[7]!==b||o[8]!==p?(j=(0,I.jsx)(y.TooltipTrigger,{accessibilityRole:"button",accessibilityLabel:u,testID:p,disabled:h,onPress:c,style:x,children:b}),o[3]=h,o[4]=u,o[5]=c,o[6]=x,o[7]=b,o[8]=p,o[9]=j):j=o[9],o[10]!==u?(w=(0,I.jsx)(y.TooltipContent,{side:"bottom",children:(0,I.jsx)(n.Text,{style:Q.tooltipText,children:u})}),o[10]=u,o[11]=w):w=o[11],o[12]!==j||o[13]!==w?(v=(0,I.jsxs)(y.Tooltip,{delayDuration:300,children:[j,w]}),o[12]=j,o[13]=w,o[14]=v):v=o[14],v}function N(o){const l=(0,s.c)(2),{isLoading:u,hasGraph:c}=o;if(c)return null;const p=u?"Loading graph\u2026":"This graph no longer exists on the host.";let h;return l[0]!==p?(h=(0,I.jsx)(t.View,{style:Q.loading,children:(0,I.jsx)(n.Text,{style:Q.loadingText,children:p})}),l[0]=p,l[1]=h):h=l[1],h}let U=0;function H(t){return t.map(t=>({uid:"row-"+ ++U,input:t}))}function q({inputs:s,onClose:l,onChange:u}){const[p,h]=(0,o.useState)(()=>H(s)),x=(0,o.useCallback)((t,n)=>{h(s=>{const o=s.map(s=>s.uid===t?Object.assign({},s,{input:Object.assign({},s.input,n)}):s);return u(o.map(t=>t.input)),o})},[u]),b=(0,o.useCallback)(t=>{h(n=>{const s=n.filter(n=>n.uid!==t);return u(s.map(t=>t.input)),s})},[u]),y=(0,o.useCallback)(()=>{h(t=>{const n=[...t,{uid:"row-"+ ++U,input:{key:`input${t.length+1}`,label:"New input"}}];return u(n.map(t=>t.input)),n})},[u]),j=(0,o.useMemo)(()=>({title:"Graph inputs"}),[]),w=(0,o.useMemo)(()=>(0,I.jsxs)(t.View,{style:Q.inputsFooter,children:[(0,I.jsx)(f.Button,{variant:"outline",style:Q.inputsFooterButton,onPress:y,children:"Add input"}),(0,I.jsx)(f.Button,{variant:"default",style:Q.inputsFooterButton,onPress:l,children:"Done"})]}),[y,l]);return(0,I.jsx)(c.AdaptiveModalSheet,{header:j,visible:!0,onClose:l,footer:w,children:(0,I.jsxs)(t.View,{style:Q.inputsBody,children:[0===p.length?(0,I.jsxs)(n.Text,{style:Q.inputsEmpty,children:["No inputs yet. Nodes reference inputs as ","{{inputs.key}}"," in their prompts, or bind one via prompt-from-input on the node."]}):null,p.map(t=>(0,I.jsx)(K,{row:t,onPatch:x,onRemove:b},t.uid))]})})}function K(o){const l=(0,s.c)(41),{row:u,onPatch:c,onRemove:p}=o;let h;l[0]!==c||l[1]!==u.uid?(h=t=>c(u.uid,{key:t.trim()}),l[0]=c,l[1]=u.uid,l[2]=h):h=l[2];const y=h;let j;l[3]!==c||l[4]!==u.uid?(j=t=>c(u.uid,{label:t}),l[3]=c,l[4]=u.uid,l[5]=j):j=l[5];const w=j;let v;l[6]!==c||l[7]!==u.uid?(v=t=>c(u.uid,{multiline:t}),l[6]=c,l[7]=u.uid,l[8]=v):v=l[8];const S=v;let _;l[9]!==c||l[10]!==u.uid?(_=t=>c(u.uid,{required:t}),l[9]=c,l[10]=u.uid,l[11]=_):_=l[11];const C=_;let T;l[12]!==p||l[13]!==u.uid?(T=()=>p(u.uid),l[12]=p,l[13]=u.uid,l[14]=T):T=l[14];const k=T;let z,P,D,R;l[15]!==y||l[16]!==u.input.key?(z=(0,I.jsx)(t.View,{style:Q.inputRowField,children:(0,I.jsx)(x.Field,{label:"Key",children:(0,I.jsx)(x.FormTextInput,{initialValue:u.input.key,value:u.input.key,onChangeText:y,autoCapitalize:"none",size:"sm"})})}),l[15]=y,l[16]=u.input.key,l[17]=z):z=l[17],l[18]!==w||l[19]!==u.input.label?(P=(0,I.jsx)(t.View,{style:Q.inputRowField,children:(0,I.jsx)(x.Field,{label:"Label",children:(0,I.jsx)(x.FormTextInput,{initialValue:u.input.label,value:u.input.label,onChangeText:w,size:"sm"})})}),l[18]=w,l[19]=u.input.label,l[20]=P):P=l[20],l[21]!==z||l[22]!==P?(D=(0,I.jsxs)(t.View,{style:Q.inputRowFields,children:[z,P]}),l[21]=z,l[22]=P,l[23]=D):D=l[23],l[24]===Symbol.for("react.memo_cache_sentinel")?(R=(0,I.jsx)(n.Text,{style:Q.inputToggleLabel,children:"Multiline"}),l[24]=R):R=l[24];const V=!0===u.input.multiline;let G,B;l[25]!==S||l[26]!==V?(G=(0,I.jsxs)(t.View,{style:Q.inputToggle,children:[R,(0,I.jsx)(b.Switch,{value:V,onValueChange:S})]}),l[25]=S,l[26]=V,l[27]=G):G=l[27],l[28]===Symbol.for("react.memo_cache_sentinel")?(B=(0,I.jsx)(n.Text,{style:Q.inputToggleLabel,children:"Required"}),l[28]=B):B=l[28];const O=!0===u.input.required;let F,M,L,E;return l[29]!==C||l[30]!==O?(F=(0,I.jsxs)(t.View,{style:Q.inputToggle,children:[B,(0,I.jsx)(b.Switch,{value:O,onValueChange:C})]}),l[29]=C,l[30]=O,l[31]=F):F=l[31],l[32]!==k?(M=(0,I.jsx)(f.Button,{size:"sm",variant:"ghost",onPress:k,children:"Remove"}),l[32]=k,l[33]=M):M=l[33],l[34]!==G||l[35]!==F||l[36]!==M?(L=(0,I.jsxs)(t.View,{style:Q.inputRowMeta,children:[G,F,M]}),l[34]=G,l[35]=F,l[36]=M,l[37]=L):L=l[37],l[38]!==L||l[39]!==D?(E=(0,I.jsxs)(t.View,{style:Q.inputRow,children:[D,L]}),l[38]=L,l[39]=D,l[40]=E):E=l[40],E}const J=(0,l.withUnistyles)(function({canvasTheme:s}){const{serverId:l,workspaceId:c,target:p}=(0,v.usePaneContext)(),f="orchestrationGraph"===p.kind?p:null,x=f?.graphId??"",b=f?.runId,y=(0,w.useOrchestrationGraphs)(l),_=(0,o.useMemo)(()=>(y.data??[]).find(t=>t.id===x)??null,[y.data,x]),C=(0,w.useSaveOrchestrationGraph)(l),D=(0,w.usePromptTemplates)(l).data,R=(0,o.useRef)(null),V=(0,o.useRef)(null),G=(0,o.useRef)(s);G.current=s;const B=(0,j.useToast)(),[O,A]=(0,o.useState)(!1),[W,U]=(0,o.useState)(null),[H,K]=(0,o.useState)(!1),[J,X]=(0,o.useState)(null),[Y,Z]=(0,o.useState)(null),[ee,te]=(0,o.useState)(0),ne=(0,o.useCallback)(()=>{A(!0),te(t=>t+1)},[]);(0,o.useEffect)(()=>{const t=R.current;if(!t)return;const n=(0,T.createGraphCanvas)(t,{theme:G.current,onChange:ne});return V.current=n,()=>{V.current=null,n.destroy()}},[ne]),(0,o.useEffect)(()=>{V.current?.setTheme(s)},[s]),(0,o.useEffect)(()=>{if(!_||!V.current||Y===_.id)return;const t=(0,k.getGraphDraft)(l,_.id),n=t?.graph??_;V.current.loadGraph(n),U(n.inputs??[]),A(!0===t?.dirty),Z(_.id)},[_,Y,l]),(0,o.useEffect)(()=>{D&&V.current?.setPromptTemplates(D)},[D,Y]);const se=(0,o.useCallback)(()=>_&&V.current?V.current.exportGraph(Object.assign({},_,{inputs:W??_.inputs??[]})):null,[_,W]);(0,o.useEffect)(()=>{if(!O||null===Y)return;const t=se();t&&(0,k.setGraphDraft)(l,t,!0)},[O,ee,W,se,Y,l]);const ie=(0,o.useCallback)(async()=>{const t=se();if(!t)return null;let n;try{n=await C.mutateAsync(t)}catch(t){return B.error(`Couldn't save the graph: ${t instanceof Error?t.message:String(t)}`),null}A(!1),(0,k.clearGraphDraft)(l,n.id);const s=(0,u.validateOrchestrationGraph)(n),o=(0,u.reviewOrchestrationGraph)(n);return s.length>0||o.length>0?B.show("Saved \u2014 With Issues"):B.show("Saved",{variant:"success"}),n},[se,C,l,B]),re=(0,S.useSessionStore)(t=>t.sessions[l]?.workspaces.get(c)?.workspaceDirectory??""),oe=(0,o.useCallback)(async()=>{const t=await ie();if(!t)return;const n=(0,u.validateOrchestrationGraph)(t);n.length>0?B.show(`Not ready to run \xb7 ${P(n)}`,{variant:"error",durationMs:4200}):X(Object.assign({serverId:l,projectCwd:re,graphId:t.id},b?{runId:b}:{}))},[ie,l,re,b,B]),le=(0,o.useCallback)(()=>{V.current?.addAgentNode()},[]),ae=(0,o.useCallback)(()=>K(!0),[]),ue=(0,o.useCallback)(()=>K(!1),[]),ce=(0,o.useCallback)(()=>X(null),[]),de=(0,o.useCallback)(t=>{U(t),A(!0),V.current?.setDeclaredInputs(t.map(t=>t.key))},[]);return f?(0,I.jsxs)(t.View,{style:Q.container,children:[(0,I.jsxs)(t.View,{style:Q.toolbar,children:[(0,I.jsx)(n.Text,{numberOfLines:1,style:Q.title,children:_?.name??"Graph designer"}),O?(0,I.jsx)(n.Text,{style:Q.status,children:"Unsaved changes"}):null,(0,I.jsxs)(t.View,{style:Q.toolbarActions,children:[(0,I.jsx)($,{renderIcon:F,label:"Add agent node",onPress:le,testID:"graph-add-agent"}),(0,I.jsx)($,{renderIcon:M,label:"Graph inputs",onPress:ae,testID:"graph-inputs"}),(0,I.jsx)($,{renderIcon:L,label:"Save graph",onPress:ie,testID:"graph-save",disabled:!O||C.isPending}),(0,I.jsx)($,{renderIcon:E,label:"Save and set up the orchestration",onPress:oe,testID:"graph-run"})]})]}),(0,I.jsxs)(t.View,{style:Q.canvasWrap,children:[(0,I.jsx)(N,{isLoading:y.isLoading,hasGraph:null!==_}),(0,I.jsx)("div",{ref:R,style:z})]}),H&&null!==W?(0,I.jsx)(q,{inputs:W,onClose:ue,onChange:de}):null,J?(0,I.jsx)(h.NewOrchestrationSheet,{visible:!0,onClose:ce,prefill:J}):null]}):(0,I.jsx)(t.View,{style:Q.container})},t=>({canvasTheme:(0,C.buildGraphCanvasTheme)(t)})),Q=l.StyleSheet.create(t=>({container:{flex:1,backgroundColor:t.colors.background,uni__dependencies:[0]},toolbar:{flexDirection:"row",alignItems:"center",gap:t.spacing[3],paddingHorizontal:t.spacing[3],paddingVertical:t.spacing[1],borderBottomWidth:1,borderBottomColor:t.colors.border,uni__dependencies:[0]},toolbarButton:{flexDirection:"row",alignItems:"center",justifyContent:"center",minWidth:{xs:32,sm:32,md:26},height:{xs:32,sm:32,md:26},borderRadius:t.borderRadius.base,flexShrink:0,uni__dependencies:[0]},toolbarButtonHovered:{backgroundColor:t.colors.surface2,uni__dependencies:[0]},toolbarButtonDisabled:{opacity:.4,backgroundColor:"transparent"},tooltipText:{color:t.colors.foreground,fontSize:t.fontSize.sm,uni__dependencies:[0]},title:{color:t.colors.foreground,fontSize:t.fontSize.sm,fontWeight:"600",flexShrink:1,uni__dependencies:[0]},status:{flex:1,color:t.colors.foregroundMuted,fontSize:t.fontSize.xs,uni__dependencies:[0]},toolbarActions:{flexDirection:"row",gap:t.spacing[2],marginLeft:"auto",uni__dependencies:[0]},canvasWrap:{flex:1,overflow:"hidden"},loading:Object.assign({},l.StyleSheet.absoluteFillObject,{alignItems:"center",justifyContent:"center",zIndex:1}),loadingText:{color:t.colors.foregroundMuted,fontSize:t.fontSize.sm,uni__dependencies:[0]},inputsBody:{gap:t.spacing[4],paddingBottom:t.spacing[4],uni__dependencies:[0]},inputsEmpty:{color:t.colors.foregroundMuted,fontSize:t.fontSize.sm,lineHeight:Math.round(1.5*t.fontSize.sm),uni__dependencies:[0]},inputRow:{gap:t.spacing[2],borderWidth:1,borderColor:t.colors.border,borderRadius:t.borderRadius.md,padding:t.spacing[3],uni__dependencies:[0]},inputRowFields:{flexDirection:"row",gap:t.spacing[3],uni__dependencies:[0]},inputRowField:{flex:1},inputRowMeta:{flexDirection:"row",alignItems:"center",gap:t.spacing[4],uni__dependencies:[0]},inputToggle:{flexDirection:"row",alignItems:"center",gap:t.spacing[2],uni__dependencies:[0]},inputToggleLabel:{color:t.colors.foregroundMuted,fontSize:t.fontSize.xs,uni__dependencies:[0]},inputsFooter:{flexDirection:"row",gap:t.spacing[3],uni__dependencies:[0]},inputsFooterButton:{flex:1}}))},3256,[358,719,306,36,234,146,56,1792,1900,1626,3126,1978,2428,2426,1998,1667,2971,2794,1695,305,3323,3324,3326,279]);
|
|
2
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.buildGraphCanvasTheme=function(o){return{background:o.colors.background,surface:o.colors.surface1,surfaceRaised:o.colors.surface2,border:o.colors.border,foreground:o.colors.foreground,foregroundMuted:o.colors.foregroundMuted,accent:o.colors.accent,warning:o.colors.statusWarning,danger:o.colors.statusDanger,fontFamilyUi:o.fontFamily.ui,fontFamilyMono:o.fontFamily.mono}}},3323,[]);
|
|
3
|
+
__d(function(g,_r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.createGraphCanvas=function(e,o){const t=document.createElement("style");t.textContent=G(o.theme),e.appendChild(t);const p=document.createElement("div");p.className="og-canvas",e.appendChild(p);const u=new n.default(p);u.createCurvature=(e,o,t,n)=>{const r=e+(t-e)/2,s=Math.sign(r-e)||1,l=Math.sign(n-o)||1,c=Math.sign(t-r)||1,p=Math.min(14,Math.abs(r-e),Math.abs(t-r),Math.abs(n-o)/2);return p>.5?` M ${e} ${o} L ${r-s*p} ${o} Q ${r} ${o} ${r} ${o+l*p} L ${r} ${n-l*p} Q ${r} ${n} ${r+c*p} ${n} L ${t} ${n}`:` M ${e} ${o} L ${r} ${o} L ${r} ${n} L ${t} ${n}`},u.reroute=!0,u.draggable_inputs=!1,u.zoom_min=.4,u.zoom_max=1.5,u.zoom_value=.08,u.zoom_enter=()=>{},u.start();const f=new Map,v=new Map;let $=[],k=[],L=!1;const I=()=>{L||o.onChange()},T=(e,o)=>{const t=s*u.zoom;p.style.backgroundSize=`${t}px ${t}px`,p.style.backgroundPosition=`${e}px ${o}px`},E=()=>T(u.canvas_x,u.canvas_y);u.on("translate",e=>{const o=e;T(o.x,o.y)}),u.on("zoom",()=>queueMicrotask(E)),E();const C=e=>{e.preventDefault();const o=Math.min(u.zoom_max,Math.max(u.zoom_min,u.zoom+(e.deltaY<0?u.zoom_value:-u.zoom_value)));if(o===u.zoom)return;const t=p.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top,s=o/u.zoom;u.zoom=o,u.zoom_refresh(),u.canvas_x+=n*(1-s),u.canvas_y+=r*(1-s),u.precanvas.style.transform=`translate(${u.canvas_x}px, ${u.canvas_y}px) scale(${u.zoom})`,E()};p.addEventListener("wheel",C,{passive:!1});const F=e=>{if(!(e instanceof HTMLElement))return;const o=e.dataset.ogField,t=e.closest(".drawflow-node");if(!o||!t)return;const n=t.id.replace(/^node-/,""),r=f.get(n);r&&(h(r,o,e),"loopMode"===o&&b(t,r.loopMode),"toolGroupsMode"===o&&x(t,r.toolGroupsMode),"templateId"===o&&y(t,r.templateId),I())},A=e=>F(e.target);p.addEventListener("input",A),p.addEventListener("change",A);const j=e=>{const o=e.target instanceof HTMLElement?e.target:null;(o?.closest(".og-adv > summary")||o?.closest(".og-del"))&&e.stopPropagation()};p.addEventListener("mousedown",j,!0);const q=e=>{const o=e.target instanceof HTMLElement?e.target:null,t=o?.closest(".og-del");if(!t)return;const n=t.closest(".drawflow-node");if(!n)return;const r=n.id.replace(/^node-/,""),s=f.get(r);s&&"orchestrator"!==s.kind&&u.removeNodeId(`node-${r}`)};p.addEventListener("click",q);const N=e=>{const o=e.target instanceof Element?e.target:null;0===e.button&&u.connection_selected&&o?.closest(".connection")&&u.contextmenu(e)};p.addEventListener("mousedown",N);let R=null;const H=()=>{R?.classList.remove("og-snap"),R=null},P=(e,o)=>{const t=u.ele_selected?.closest(".drawflow-node")??null;let n=null,r=l;for(const s of u.container.querySelectorAll(".drawflow-node .input")){if(t&&s.closest(".drawflow-node")===t)continue;const l=s.getBoundingClientRect(),c=Math.hypot(e-(l.left+l.width/2),o-(l.top+l.height/2));c<r&&(r=c,n=s)}return n},U=e=>{const o=u.connection_ele?.querySelector(".main-path"),t=o?.getAttribute("d")?.match(/M\s+(-?[\d.]+)\s+(-?[\d.]+)/);if(!o||!t)return;const n=p.getBoundingClientRect(),r=e.getBoundingClientRect(),s=(r.left+r.width/2-n.left-u.canvas_x)/u.zoom,l=(r.top+r.height/2-n.top-u.canvas_y)/u.zoom;o.setAttribute("d",u.createCurvature(Number(t[1]),Number(t[2]),s,l))},V=e=>{if(!0!==u.connection)return void H();const o=P(e.clientX,e.clientY);o!==R&&(H(),R=o,R?.classList.add("og-snap")),R&&U(R)};p.addEventListener("mousemove",V);const B=e=>{if(!0!==u.connection||!R||e.target===R)return void H();const o=R;H(),e.stopPropagation(),u.dragEnd({type:"mouseup",clientX:e.clientX,clientY:e.clientY,target:o})};p.addEventListener("mouseup",B,!0);const D=()=>{const e=u.export().drawflow.Home.data;for(const[o,t]of Object.entries(e)){const e=u.container.querySelector(`#node-${o}`);if(!e)continue;const n=Object.values(t.inputs??{}).some(e=>(e.connections??[]).length>0),r=Object.values(t.outputs??{}).some(e=>(e.connections??[]).length>0);e.querySelector(".input")?.classList.toggle("connected",n),e.querySelector(".output")?.classList.toggle("connected",r)}};let K=null,Q=null,X={x:80,y:80};u.on("nodeRemoved",e=>{const o=String(e),t=f.get(o);f.delete(o),o===K&&Q&&!L&&oe(w(Q,Q.nodeId,X),X),D(),t&&I()}),u.on("nodeMoved",e=>{if(String(e)===K){const o=u.export().drawflow.Home.data[String(e)];o&&(X={x:o.pos_x,y:o.pos_y})}I()}),u.on("connectionCreated",e=>{const o=e;String(o.output_id)!==String(o.input_id)?(D(),I()):u.removeSingleConnection(o.output_id,o.input_id,o.output_class,o.input_class)}),u.on("connectionRemoved",()=>{D(),I()});const Y=document.createElement("div");Y.className="og-edge-inspector og-hidden","static"===getComputedStyle(e).position&&(e.style.position="relative");Y.innerHTML="<div class=\"og-edge-title\" data-og-edge-title></div><label class=\"og-label\">Condition <span class=\"og-hint\">(JSONata over the upstream node's fields)</span></label><input class=\"og-input\" data-og-edge=\"when\" placeholder='complexity = \"simple\"' /><label class=\"og-label\">Fields carried <span class=\"og-hint\">(comma-separated; blank = all)</span></label><input class=\"og-input\" data-og-edge=\"fields\" placeholder=\"all fields\" /><div class=\"og-inputs-hint\" data-og-edge-note></div>",e.appendChild(Y);let W=null;const J=e=>Y.querySelector(`[data-og-edge="${e}"]`),Z=()=>{W=null,Y.classList.add("og-hidden")},ee=(e,o,t,n)=>{W=(0,r.graphEdgeKey)(e,o);const s=v.get(W)??{},l=Y.querySelector("[data-og-edge-title]");l&&(l.textContent=`${t} \u2192 ${n}`);const c=J("when");c&&(c.value=s.when?.expression??"");const p=J("fields");p&&(p.value=(s.fields??[]).join(", "));const u=[...f.values()].find(o=>o.nodeId===e),h=Y.querySelector("[data-og-edge-note]");h&&(h.textContent=u?.outputFields.trim()?"Leave the condition blank to always deliver.":`"${t}" declares no output fields \u2014 a condition here can only test its prose as \`output\`.`),Y.classList.remove("og-hidden")};Y.addEventListener("input",()=>{if(!W)return;const e=J("when")?.value.trim()??"",o=(J("fields")?.value??"").split(",").map(e=>e.trim()).filter(e=>e.length>0),t=v.get(W)??{},n=Object.assign({},t,e?{when:{expression:e}}:{},o.length>0?{fields:o}:{});e||delete n.when,0===o.length&&delete n.fields,Object.keys(n).length>0?v.set(W,n):v.delete(W),I()}),Y.addEventListener("pointerdown",e=>e.stopPropagation()),u.on("connectionSelected",e=>{const o=e,t=f.get(String(o.output_id)),n=f.get(String(o.input_id));t&&n?ee(t.nodeId,n.nodeId,t.title||"Upstream",n.title||"Downstream"):Z()}),u.on("connectionUnselected",Z),u.on("nodeSelected",Z);const oe=(e,o)=>{const t="orchestrator"===e.kind,n=c(e),r=u.addNode(n.kind,t?0:1,1,o.x,o.y,t?"og-root":"og-agent",{},t?z(n):O(n,$,k));f.set(String(r),n),t&&(K=String(r),Q=n,X=o);const s=u.container.querySelector(`#node-${r}`);return s&&!t&&(b(s,n.loopMode),x(s,n.toolGroupsMode),y(s,n.templateId)),r};return{loadGraph(e){L=!0;try{Z(),u.clear(),f.clear(),K=null,Q=null,$=(e.inputs??[]).map(e=>e.key),v.clear();for(const o of e.edges??[]){const e=(0,r.carryUneditedEdgeFields)(o);Object.keys(e).length>0&&v.set((0,r.graphEdgeKey)(o.from,o.to),e)}const o=new Map,t=e.nodes.some(e=>"orchestrator"===e.kind)?e.nodes:[(0,r.buildRootNode)(),...e.nodes];t.forEach((e,t)=>{const n=e.position??{x:80+t%4*360,y:80+300*Math.floor(t/4)};o.set(e.id,oe(e,n))});const n=t.find(e=>"orchestrator"===e.kind)?.id;for(const t of e.edges??[]){if(t.to===n)continue;const e=o.get(t.from),r=o.get(t.to);void 0!==e&&void 0!==r&&e!==r&&u.addConnection(e,r,"output_1","input_1")}D()}finally{L=!1}},exportGraph(e){const o=u.export().drawflow.Home.data,t=new Set,n=[],s=new Map;for(const[e,l]of Object.entries(o)){const o=f.get(e);if(!o)continue;let c=o.nodeId;t.has(c)&&(c=(0,r.newGraphNodeId)(t)),t.add(c),s.set(e,c),n.push(w(o,c,{x:l.pos_x,y:l.pos_y}))}const l=[];for(const[e,t]of Object.entries(o)){const o=s.get(e);if(o)for(const e of Object.values(t.outputs??{}))for(const t of e.connections??[]){const e=s.get(String(t.node));e&&e!==o&&l.push(Object.assign({},v.get((0,r.graphEdgeKey)(o,e)),{from:o,to:e}))}}return Object.assign({},e,{nodes:n,edges:l})},addAgentNode(){const e=new Set([...f.values()].map(e=>e.nodeId)),o=(0,r.newGraphNodeId)(e),t=f.size;oe({id:o,kind:"agent",title:`Agent ${e.size}`,role:"researcher",prompt:""},{x:420+t%3*60,y:80+t%5*60}),I()},setDeclaredInputs(e){$=[...e];for(const[e,o]of f){if("orchestrator"===o.kind)continue;const t=u.container.querySelector(`#node-${e}`);if(!t)continue;const n=t.querySelector("[data-og-inputs-hint]");n&&(n.textContent=M($),n.classList.toggle("og-hidden",0===$.length));const r=t.querySelector('select[data-og-field="promptFromInput"]');r&&(r.innerHTML=S(o.promptFromInput,$))}},setPromptTemplates(e){k=[...e];for(const[e,o]of f){if("orchestrator"===o.kind)continue;const t=u.container.querySelector(`#node-${e} select[data-og-field="templateId"]`);t&&(t.innerHTML=_(o.templateId,k))}},setTheme(e){t.textContent=G(e)},destroy(){p.removeEventListener("mousemove",V),p.removeEventListener("mouseup",B,!0),p.removeEventListener("wheel",C),p.removeEventListener("input",A),p.removeEventListener("change",A),p.removeEventListener("click",q),p.removeEventListener("mousedown",N),p.removeEventListener("mousedown",j,!0),u.clear(),p.remove(),t.remove()}}};var e,o=_r(d[0]),t=_r(d[1]),n=(e=t)&&e.__esModule?e:{default:e},r=_r(d[2]);const s=22,l=110;function c(e){const o=p(e);return{nodeId:e.id,kind:"orchestrator"===e.kind?"orchestrator":"agent",title:e.title,role:e.role??"researcher",prompt:e.prompt??"",promptFromInput:e.promptFromInput??"",autonomous:!0===e.autonomous,loopMode:o.mode,loopCount:o.count,loopCriteria:o.criteria,model:e.model??"",access:e.access??"",outputFields:(0,r.formatOutputFields)(e.output?.fields),retryAttempts:e.retry?.maxAttempts??1,timeLimitSeconds:e.timeoutMs?Math.round(e.timeoutMs/1e3):0,toolGroupsMode:e.tools?"only":"",toolGroups:new Set(e.tools??[]),queryTools:(0,r.formatQueryTools)(e.queryTools),queryToolsSource:[...e.queryTools??[]],templateId:e.promptTemplate?.templateId??"",templateVariables:(0,r.formatTemplateVariables)(e.promptTemplate?.variables),carried:(0,r.carryUneditedNodeFields)(e)}}function p(e){return e.loop?.until?{mode:"until",count:e.loop.until.max,criteria:e.loop.until.criteria.join("\n")}:void 0!==e.loop?.times?{mode:"times",count:e.loop.times,criteria:""}:{mode:"none",count:3,criteria:""}}function u(e){return e instanceof HTMLInputElement&&"checkbox"===e.type?e.checked:e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?e.value:null}const f={title:(e,o)=>{e.title=String(o)},role:(e,o)=>{e.role=String(o)},prompt:(e,o)=>{e.prompt=String(o)},promptFromInput:(e,o)=>{e.promptFromInput=String(o)},autonomous:(e,o)=>{e.autonomous=!0===o},loopMode:(e,o)=>{e.loopMode="times"===o||"until"===o?o:"none"},loopCount:(e,o)=>{const t=Number.parseInt(String(o),10);Number.isInteger(t)&&t>=1&&(e.loopCount=Math.min(t,16))},loopCriteria:(e,o)=>{e.loopCriteria=String(o)},model:(e,o)=>{e.model=String(o)},access:(e,o)=>{e.access=String(o)},outputFields:(e,o)=>{e.outputFields=String(o)},retryAttempts:(e,o)=>{const t=Number.parseInt(String(o),10);e.retryAttempts=Number.isInteger(t)?Math.min(Math.max(t,1),10):1},timeLimitSeconds:(e,o)=>{const t=Number.parseInt(String(o),10);e.timeLimitSeconds=Number.isInteger(t)?Math.min(Math.max(t,0),21600):0},toolGroupsMode:(e,o)=>{e.toolGroupsMode="only"===o?"only":""},queryTools:(e,o)=>{e.queryTools=String(o)},templateId:(e,o)=>{e.templateId=String(o)},templateVariables:(e,o)=>{e.templateVariables=String(o)}};function h(e,o,t){const n=u(t);if(null!==n){if("toolGroup"===o){const o=t.dataset.ogGroup;return void(o&&(!0===n?e.toolGroups.add(o):e.toolGroups.delete(o)))}f[o]?.(e,n)}}function w(e,o,t){if("orchestrator"===e.kind)return Object.assign({},e.carried,{id:o,kind:"orchestrator",title:e.title.trim()||"Orchestrator",position:t});const n=v(e),s=(0,r.parseOutputFields)(e.outputFields),l=(0,r.parseQueryTools)(e.queryTools,e.queryToolsSource),c=(0,r.parseTemplateVariables)(e.templateVariables);return Object.assign({},e.carried,{id:o,kind:"agent",title:e.title.trim()||"Agent",role:e.role},e.prompt.trim()?{prompt:e.prompt}:{},e.promptFromInput.trim()?{promptFromInput:e.promptFromInput.trim()}:{},e.autonomous?{autonomous:!0}:{},n?{loop:n}:{},e.model.trim()?{model:e.model.trim()}:{},e.access?{access:e.access}:{},s.length>0?{output:{fields:s}}:{},e.retryAttempts>1?{retry:{maxAttempts:e.retryAttempts,backoffMs:2e3}}:{},e.timeLimitSeconds>0?{timeoutMs:1e3*e.timeLimitSeconds}:{},"only"===e.toolGroupsMode?{tools:[...e.toolGroups]}:{},l.length>0?{queryTools:l}:{},e.templateId?{promptTemplate:Object.assign({templateId:e.templateId},Object.keys(c).length>0?{variables:c}:{})}:{},{position:t})}function v(e){if("times"===e.loopMode)return{times:e.loopCount};if("until"===e.loopMode){const o=e.loopCriteria.split("\n").map(e=>e.trim()).filter(e=>e.length>0);return{until:{criteria:o.length>0?o:["The task is fully accomplished."],max:e.loopCount}}}return null}function b(e,o){e.querySelector(".og-loop-count")?.classList.toggle("og-hidden","none"===o),e.querySelector(".og-loop-criteria")?.classList.toggle("og-hidden","until"!==o)}function x(e,o){e.querySelector(".og-tool-groups")?.classList.toggle("og-hidden","only"!==o)}function y(e,o){e.querySelector(".og-template-vars")?.classList.toggle("og-hidden",!o)}function $(e){return e.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}const k="<button class=\"og-del\" title=\"Delete node\" type=\"button\"><i class=\"og-del-icon\"></i></button>";function M(e){return 0===e.length?"":`Prompts can reference ${e.map(e=>`{{inputs.${e}}}`).join(", ")}`}function S(e,o){const t=new Set(o),n=[`<option value=""${e?"":" selected"}>None</option>`,...o.map(o=>`<option value="${$(o)}"${o===e?" selected":""}>${$(o)}</option>`)];return e&&!t.has(e)&&n.push(`<option value="${$(e)}" selected>${$(e)} (missing)</option>`),n.join("")}function L(e){const t=new Set(o.OTTO_TOOL_GROUP_META.map(e=>e.group));return[...o.OTTO_TOOL_GROUP_META.map(e=>({group:e.group,label:e.label})),...[...e.toolGroups].filter(e=>!t.has(e)).map(e=>({group:e,label:`${e} (unknown)`}))].map(({group:o,label:t})=>`<label class="og-check og-tool-group"><input type="checkbox" data-og-field="toolGroup" data-og-group="${$(o)}"${e.toolGroups.has(o)?" checked":""} /> ${$(t)}</label>`).join("")}function _(e,o){const t=o.filter(o=>!0!==o.snippet||o.id===e),n=[`<option value=""${e?"":" selected"}>Use this node's prompt</option>`,...t.map(o=>`<option value="${$(o.id)}"${o.id===e?" selected":""}>${$(o.name)}</option>`)];return e&&!t.some(o=>o.id===e)&&n.push(`<option value="${$(e)}" selected>${$(e)} (missing)</option>`),n.join("")}function z(e){return`<div class="og-node og-node-root"><div class="og-title"><span class="og-type og-type-root">Orchestrator</span><input class="og-name" data-og-field="title" value="${$(e.title)}" placeholder="Name\u2026" /></div><div class="og-ports-row og-ports-row-out"><span class="og-port-label og-port-label-out">Kickoff</span></div><div class="og-root-note">Hosts the orchestration chat and takes the orchestration's own prompt automatically. Its output kicks the graph off; whatever nothing else consumes comes back as the final answer.</div></div>`}function I(e){return e.autonomous||""!==e.promptFromInput||""!==e.model||"none"!==e.loopMode||""!==e.access||e.outputFields.trim().length>0||e.retryAttempts>1||e.timeLimitSeconds>0||"only"===e.toolGroupsMode||e.queryTools.trim().length>0||""!==e.templateId}function T(e,o){return`<label class="og-label">Prompt from input</label><select class="og-select" data-og-field="promptFromInput">${S(e.promptFromInput,o)}</select><label class="og-label">Model override <span class="og-hint">(provider/model)</span></label><input class="og-input" data-og-field="model" value="${$(e.model)}" placeholder="Uses the team role's brain" /><label class="og-check"><input type="checkbox" data-og-field="autonomous"${e.autonomous?" checked":""} /> Autonomous <span class="og-hint">(may spawn its own agents)</span></label><div class="og-row"><select class="og-select og-loop" data-og-field="loopMode"><option value="none"${"none"===e.loopMode?" selected":""}>No loop</option><option value="times"${"times"===e.loopMode?" selected":""}>Repeat N times</option><option value="until"${"until"===e.loopMode?" selected":""}>Until judge passes</option></select><input class="og-input og-loop-count og-hidden" data-og-field="loopCount" type="number" min="1" max="16" value="${e.loopCount}" /></div><textarea class="og-prompt og-loop-criteria og-hidden" data-og-field="loopCriteria" rows="2" placeholder="Judge criteria, one per line">${$(e.loopCriteria)}</textarea>`}function E(e,o){return`<label class="og-label">Otto tools</label><select class="og-select" data-og-field="toolGroupsMode"><option value=""${""===e.toolGroupsMode?" selected":""}>Whatever the policy allows</option><option value="only"${"only"===e.toolGroupsMode?" selected":""}>Only these groups</option></select><div class="og-tool-groups${"only"===e.toolGroupsMode?"":" og-hidden"}">${L(e)}</div><div class="og-inputs-hint">Narrowing intersects with the policy \u2014 a node can hand itself less authority, never more. Nothing checked means no Otto tools at all.</div><label class="og-label">Query tools <span class="og-hint">(name | kind | spec | description)</span></label><textarea class="og-prompt" data-og-field="queryTools" rows="2" placeholder="recent_commits | command | git log --oneline -n {{count}} | Recent commits">${$(e.queryTools)}</textarea><div class="og-inputs-hint">Read-only lookups only this node gets. Kind is command (argv, no shell), http-get or file-read. Each {{name}} in the spec becomes a parameter.</div><label class="og-label">Prompt template</label><select class="og-select" data-og-field="templateId">${_(e.templateId,o)}</select><textarea class="og-prompt og-template-vars${e.templateId?"":" og-hidden"}" data-og-field="templateVariables" rows="2" placeholder="topic = $inputs.subject">${$(e.templateVariables)}</textarea><div class="og-inputs-hint">A bound template replaces this node's own prompt. Values are literals, $inputs.key, or $output.nodeId.field \u2014 one binding per line.</div>`}function O(e,o,t){const n=r.GRAPH_NODE_ROLES.map(o=>`<option value="${o}"${o===e.role?" selected":""}>${o[0]?.toUpperCase()}${o.slice(1)}</option>`).join(""),s=M(o);return`<div class="og-node"><div class="og-title"><span class="og-type">Agent<span class="og-sep"> \xb7</span></span><input class="og-name" data-og-field="title" value="${$(e.title)}" placeholder="Name\u2026" />`+k+"</div><div class=\"og-ports-row\"><span class=\"og-port-label og-port-label-in\">In</span><span class=\"og-port-label og-port-label-out\">Out</span></div><div class=\"og-body\"><label class=\"og-label\">Role</label>"+`<select class="og-select" data-og-field="role">${n}</select><label class="og-label">Prompt</label>`+`<textarea class="og-prompt" data-og-field="prompt" rows="3" placeholder="Instruction for this agent\u2026">${$(e.prompt)}</textarea>`+`<div class="og-inputs-hint${s?"":" og-hidden"}" data-og-inputs-hint>${$(s)}</div></div>`+`<details class="og-adv"${I(e)?" open":""}><summary><span class="og-caret"></span>Advanced</summary><div class="og-body og-adv-body">`+T(e,o)+"<label class=\"og-label\">Workspace access</label><select class=\"og-select\" data-og-field=\"access\">"+`<option value=""${""===e.access?" selected":""}>Write (full access)</option>`+`<option value="read"${"read"===e.access?" selected":""}>Read only</option>`+`<option value="none"${"none"===e.access?" selected":""}>No workspace access</option></select><div class="og-inputs-hint">Enforced by withholding tools at spawn, not by asking the model. A seat whose provider can't enforce it refuses the run.</div><label class="og-label">Output fields <span class="og-hint">(one per line: name : type : description)</span></label>`+`<textarea class="og-prompt" data-og-field="outputFields" rows="3" placeholder="complexity : string : simple or complex">${$(e.outputFields)}</textarea><div class="og-inputs-hint">Declaring fields gives this node a submit_output tool and lets edges from it carry conditions. Add ? after a name to make it optional.</div><div class="og-row">`+`<input class="og-input" data-og-field="retryAttempts" type="number" min="1" max="10" value="${e.retryAttempts}" title="Attempts (1 = no retry)" />`+`<input class="og-input" data-og-field="timeLimitSeconds" type="number" min="0" max="21600" value="${e.timeLimitSeconds}" title="Time limit in seconds (0 = none)" /></div><div class="og-inputs-hint">Attempts \xb7 time limit (seconds, 0 = none)</div>`+E(e,t)+"</div></details></div>"}const C=".drawflow,.drawflow .parent-node{position:relative}.parent-drawflow{display:flex;overflow:hidden;touch-action:none;outline:0}.drawflow{width:100%;height:100%;user-select:none;perspective:0}.drawflow .drawflow-node{display:flex;align-items:center;position:absolute;background:#0ff;width:160px;min-height:40px;border-radius:4px;border:2px solid #000;color:#000;z-index:2;padding:15px}.drawflow .drawflow-node.selected{background:red}.drawflow .drawflow-node:hover{cursor:move}.drawflow .drawflow-node .inputs,.drawflow .drawflow-node .outputs{width:0}.drawflow .drawflow-node .drawflow_content_node{width:100%;display:block}.drawflow .drawflow-node .input,.drawflow .drawflow-node .output{position:relative;width:20px;height:20px;background:#fff;border-radius:50%;border:2px solid #000;cursor:crosshair;z-index:1;margin-bottom:5px}.drawflow .drawflow-node .input{left:-27px;top:2px;background:#ff0}.drawflow .drawflow-node .output{right:-3px;top:2px}.drawflow svg{z-index:0;position:absolute;overflow:visible!important}.drawflow .connection{position:absolute;pointer-events:none;aspect-ratio:1/1}.drawflow .connection .main-path{fill:none;stroke-width:5px;stroke:#4682b4;pointer-events:all}.drawflow .connection .main-path:hover{stroke:#1266ab;cursor:pointer}.drawflow .connection .main-path.selected{stroke:#43b993}.drawflow .connection .point{cursor:move;stroke:#000;stroke-width:2;fill:#fff;pointer-events:all}.drawflow .connection .point.selected,.drawflow .connection .point:hover{fill:#1266ab}.drawflow .main-path{fill:none;stroke-width:5px;stroke:#4682b4}.drawflow-delete{position:absolute;display:block;width:30px;height:30px;background:#000;color:#fff;z-index:4;border:2px solid #fff;line-height:30px;font-weight:700;text-align:center;border-radius:50%;font-family:monospace;cursor:pointer}.drawflow>.drawflow-delete{margin-left:-15px;margin-top:15px}.parent-node .drawflow-delete{right:-15px;top:-15px}",F="url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 2 L10 6 L2 10 Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/></svg>\") center / contain no-repeat",A="url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 2 L10 6 L2 10 Z' fill='black' stroke='black' stroke-width='2' stroke-linejoin='round'/></svg>\")",j="url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>\") center / contain no-repeat",q="url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z'/></svg>\") center / contain no-repeat";function G(e){const o=`color-mix(in srgb, ${e.accent} 28%, transparent)`;return`${C}\n/* size/position are set imperatively (syncGrid) so the dots pan and zoom with the graph */\n.og-canvas{width:100%;height:100%;background:${e.background};background-image:radial-gradient(${e.border} 1px, transparent 1px);background-size:${s}px ${s}px;font-family:${e.fontFamilyUi};}\n.og-canvas .drawflow{transform-origin:0 0;}\n.og-canvas .drawflow .drawflow-node{background:transparent;border:0;padding:0;box-shadow:none;width:320px;min-height:0;align-items:flex-start;}\n.og-canvas .drawflow .drawflow-node.og-root{width:260px;}\n.og-canvas .drawflow .drawflow-node.selected{background:transparent;}\n.og-canvas .drawflow .drawflow-node.selected .og-node{border-color:${e.accent};box-shadow:0 0 0 2px ${o},0 6px 16px rgba(0,0,0,0.3);}\n.og-canvas .drawflow_content_node{width:100%;}\n\n/* the node card (Forge .of-node) */\n.og-canvas .og-node{position:relative;background:${e.surface};border:1.5px solid ${e.border};width:100%;border-radius:10px;box-shadow:0 3px 10px rgba(0,0,0,0.28);font-size:12px;color:${e.foreground};overflow:hidden;}\n.og-canvas .og-node-root{border-left:3px solid ${e.accent};}\n.og-canvas .og-node-root::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;border-radius:8px;background:radial-gradient(130px 110px at 0% 20px, ${o}, transparent 72%);}\n.og-canvas .og-node-root > .og-title{position:relative;z-index:3;}\n\n/* title bar: "Type \xb7 Name" + delete (Forge .of-title) */\n.og-canvas .og-title{box-sizing:border-box;height:32px;display:flex;align-items:center;gap:6px;padding:0 8px;font-weight:650;letter-spacing:0.01em;background:${e.surfaceRaised};border-bottom:1px solid ${e.border};white-space:nowrap;}\n.og-canvas .og-type{flex:0 0 auto;color:${e.foregroundMuted};font-size:11px;}\n.og-canvas .og-type-root{color:${e.accent};}\n.og-canvas .og-sep{color:${e.foregroundMuted};opacity:0.6;}\n.og-canvas .og-name{flex:1 1 auto;min-width:40px;width:40px;background:transparent;border:none;padding:2px 4px;margin:0;font:inherit;font-weight:650;font-size:12px;color:${e.foreground};border-radius:6px;outline:none;}\n.og-canvas .og-name::placeholder{color:${e.foregroundMuted};font-weight:500;font-style:italic;}\n.og-canvas .og-name:hover{background:${e.surface};}\n.og-canvas .og-name:focus{background:${e.surface};box-shadow:0 0 0 2px ${o};}\n.og-canvas .og-del{flex:0 0 auto;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;background:none;cursor:pointer;border-radius:5px;}\n.og-canvas .og-del-icon{display:block;width:14px;height:14px;background:color-mix(in srgb, ${e.danger} 60%, ${e.foregroundMuted});-webkit-mask:${q};mask:${q};}\n.og-canvas .og-del:hover{background:color-mix(in srgb, ${e.danger} 14%, transparent);}\n.og-canvas .og-del:hover .og-del-icon{background:${e.danger};}\n\n/* port labels row \u2014 sits beside the dots so In/Out (Answers/Kickoff) read at a glance */\n.og-canvas .og-ports-row{display:flex;justify-content:space-between;padding:5px 10px 0;font-size:10px;color:${e.foregroundMuted};letter-spacing:0.04em;text-transform:uppercase;}\n.og-canvas .og-ports-row-out{justify-content:flex-end;}\n\n/* body */\n.og-canvas .og-body{padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px;}\n.og-canvas .og-label{font-size:10px;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;color:${e.foregroundMuted};margin-top:2px;}\n.og-canvas .og-hint{opacity:0.75;text-transform:none;letter-spacing:0;font-weight:500;}\n.og-canvas .og-input,.og-canvas .og-select,.og-canvas .og-prompt{background:${e.surfaceRaised};border:1px solid ${e.border};border-radius:7px;color:${e.foreground};font-family:${e.fontFamilyUi};font-size:12px;padding:5px 8px;outline:none;width:100%;box-sizing:border-box;}\n.og-canvas .og-prompt{font-family:${e.fontFamilyMono};resize:vertical;min-height:44px;line-height:1.45;}\n.og-canvas .og-input:focus,.og-canvas .og-select:focus,.og-canvas .og-prompt:focus{border-color:${e.accent};box-shadow:0 0 0 2px ${o};}\n.og-canvas .og-inputs-hint{font-size:10.5px;color:${e.foregroundMuted};font-family:${e.fontFamilyMono};line-height:1.5;word-break:break-all;}\n.og-canvas .og-row{display:flex;align-items:center;gap:8px;}\n.og-canvas .og-check{display:flex;align-items:center;gap:6px;font-size:11.5px;color:${e.foreground};}\n.og-canvas .og-tool-groups{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;padding:2px 0;}\n.og-canvas .og-tool-group{font-size:11px;color:${e.foregroundMuted};}\n.og-canvas .og-loop{flex:1;}\n.og-canvas .og-loop-count{width:58px;flex:none;}\n.og-canvas .og-root-note{font-size:11px;color:${e.foregroundMuted};line-height:1.5;padding:8px 10px 10px;}\n.og-canvas .og-hidden{display:none;}\n.og-hidden{display:none;}\n\n/* Edge inspector \u2014 floats over the canvas while a wire is selected. */\n.og-edge-inspector{position:absolute;top:12px;right:12px;z-index:6;width:250px;display:flex;flex-direction:column;gap:5px;padding:10px;border:1px solid ${e.border};border-radius:10px;background:${e.surface};box-shadow:0 10px 28px rgba(0,0,0,0.28);}\n.og-edge-inspector .og-edge-title{font-size:11.5px;font-weight:700;color:${e.foreground};margin-bottom:2px;}\n.og-edge-inspector .og-label{font-size:10.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:${e.foregroundMuted};}\n.og-edge-inspector .og-hint{font-weight:400;text-transform:none;letter-spacing:0;}\n.og-edge-inspector .og-input{background:${e.surfaceRaised};border:1px solid ${e.border};border-radius:7px;color:${e.foreground};font-family:${e.fontFamilyMono};font-size:12px;padding:5px 8px;outline:none;width:100%;box-sizing:border-box;}\n.og-edge-inspector .og-input:focus{border-color:${e.accent};box-shadow:0 0 0 2px ${o};}\n.og-edge-inspector .og-inputs-hint{font-size:10.5px;color:${e.foregroundMuted};line-height:1.45;}\n\n/* Advanced disclosure (Forge .of-adv) */\n.og-canvas .og-adv{border-top:1px solid ${e.border};}\n.og-canvas .og-adv > summary{list-style:none;cursor:pointer;user-select:none;display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:10.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:${e.foregroundMuted};}\n.og-canvas .og-adv > summary::-webkit-details-marker{display:none;}\n.og-canvas .og-adv > summary:hover{color:${e.foreground};}\n.og-canvas .og-caret{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transform:rotate(-90deg);transition:transform 0.12s ease;}\n.og-canvas .og-adv[open] > summary .og-caret{transform:rotate(0deg);}\n.og-canvas .og-adv-body{padding-top:0;}\n\n/* ports \u2014 arrow-shaped, riding OUTSIDE the card border (Forge arrow variant).\n Output = accent (flow onward), input = the warm counter hue. Hollow until a\n wire lands; solid on hover-preview and once connected. */\n.og-canvas .drawflow-node .inputs,.og-canvas .drawflow-node .outputs{margin-top:36px;}\n.og-canvas .drawflow-node .input,.og-canvas .drawflow-node .output{width:13px;height:13px;top:0;margin-bottom:12px;border:0;border-radius:0;background:${e.accent};-webkit-mask:${F};mask:${F};}\n.og-canvas .drawflow-node .input{left:-17px;background:${e.warning};}\n.og-canvas .drawflow-node .output{right:-16px;}\n.og-canvas .drawflow-node .input:hover,.og-canvas .drawflow-node .output:hover,.og-canvas .drawflow-node .input.connected,.og-canvas .drawflow-node .output.connected{-webkit-mask-image:${A};mask-image:${A};}\n/* attached-while-near: the port a released wire would land on */\n.og-canvas .drawflow-node .input.og-snap{-webkit-mask-image:${A};mask-image:${A};background:${e.accent};transform:scale(1.35);}\n\n/* wires \u2014 accent elbows, thicker + brighter on hover/selection (Forge) */\n.og-canvas .connection{aspect-ratio:auto;height:100%;}\n.og-canvas .connection .main-path{stroke:${e.accent};stroke-width:3px;opacity:0.9;}\n.og-canvas .connection .main-path:hover{stroke:${e.accent};opacity:1;filter:brightness(1.2);cursor:pointer;}\n.og-canvas .connection .main-path.selected{stroke:${e.accent};opacity:1;filter:brightness(1.35);}\n.og-canvas .connection .point{stroke:${e.foregroundMuted};stroke-width:2;fill:${e.surfaceRaised};}\n.og-canvas .connection .point:hover,.og-canvas .connection .point.selected{fill:${e.accent};}\n\n/* Drawflow's injected delete bubble \u2192 themed round danger button with a masked X */\n.og-canvas .drawflow-delete{width:22px;height:22px;line-height:0;font-size:0;display:flex;align-items:center;justify-content:center;background:${e.danger};border:0;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,0.35);cursor:pointer;}\n.og-canvas .drawflow-delete:hover{filter:brightness(1.12);}\n.og-canvas .drawflow-delete::before{content:"";width:12px;height:12px;background:#fff;-webkit-mask:${j};mask:${j};}\n`}},3324,[3206,3325,3128]);
|
|
4
|
+
__d(function(_g,_r,_i,_a,_m,_e,_d){var e,t;e="undefined"!=typeof self?self:this,t=function(){return(function(e){var t={};function n(i){if(t[i])return t[i].exports;var s=t[i]={i:i,l:!1,exports:{}};return e[i].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)n.d(i,s,function(t){return e[t]}.bind(null,s));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)})([function(e,t,n){"use strict";n.r(t),n.d(t,"default",function(){return i});class i{constructor(e,t=null,n=null){this.events={},this.container=e,this.precanvas=null,this.nodeId=1,this.ele_selected=null,this.node_selected=null,this.drag=!1,this.reroute=!1,this.reroute_fix_curvature=!1,this.curvature=.5,this.reroute_curvature_start_end=.5,this.reroute_curvature=.5,this.reroute_width=6,this.drag_point=!1,this.editor_selected=!1,this.connection=!1,this.connection_ele=null,this.connection_selected=null,this.canvas_x=0,this.canvas_y=0,this.pos_x=0,this.pos_x_start=0,this.pos_y=0,this.pos_y_start=0,this.mouse_x=0,this.mouse_y=0,this.line_path=5,this.first_click=null,this.force_first_input=!1,this.draggable_inputs=!0,this.useuuid=!1,this.parent=n,this.noderegister={},this.render=t,this.drawflow={drawflow:{Home:{data:{}}}},this.module="Home",this.editor_mode="edit",this.zoom=1,this.zoom_max=1.6,this.zoom_min=.5,this.zoom_value=.1,this.zoom_last_value=1,this.evCache=new Array,this.prevDiff=-1}start(){this.container.classList.add("parent-drawflow"),this.container.tabIndex=0,this.precanvas=document.createElement("div"),this.precanvas.classList.add("drawflow"),this.container.appendChild(this.precanvas),this.container.addEventListener("mouseup",this.dragEnd.bind(this)),this.container.addEventListener("mousemove",this.position.bind(this)),this.container.addEventListener("mousedown",this.click.bind(this)),this.container.addEventListener("touchend",this.dragEnd.bind(this)),this.container.addEventListener("touchmove",this.position.bind(this)),this.container.addEventListener("touchstart",this.click.bind(this)),this.container.addEventListener("contextmenu",this.contextmenu.bind(this)),this.container.addEventListener("keydown",this.key.bind(this)),this.container.addEventListener("wheel",this.zoom_enter.bind(this)),this.container.addEventListener("input",this.updateNodeValue.bind(this)),this.container.addEventListener("dblclick",this.dblclick.bind(this)),this.container.onpointerdown=this.pointerdown_handler.bind(this),this.container.onpointermove=this.pointermove_handler.bind(this),this.container.onpointerup=this.pointerup_handler.bind(this),this.container.onpointercancel=this.pointerup_handler.bind(this),this.container.onpointerout=this.pointerup_handler.bind(this),this.container.onpointerleave=this.pointerup_handler.bind(this),this.load()}pointerdown_handler(e){this.evCache.push(e)}pointermove_handler(e){for(var t=0;t<this.evCache.length;t++)if(e.pointerId==this.evCache[t].pointerId){this.evCache[t]=e;break}if(2==this.evCache.length){var n=Math.abs(this.evCache[0].clientX-this.evCache[1].clientX);this.prevDiff>100&&(n>this.prevDiff&&this.zoom_in(),n<this.prevDiff&&this.zoom_out()),this.prevDiff=n}}pointerup_handler(e){this.remove_event(e),this.evCache.length<2&&(this.prevDiff=-1)}remove_event(e){for(var t=0;t<this.evCache.length;t++)if(this.evCache[t].pointerId==e.pointerId){this.evCache.splice(t,1);break}}load(){for(var e in this.drawflow.drawflow[this.module].data)this.addNodeImport(this.drawflow.drawflow[this.module].data[e],this.precanvas);if(this.reroute)for(var e in this.drawflow.drawflow[this.module].data)this.addRerouteImport(this.drawflow.drawflow[this.module].data[e]);for(var e in this.drawflow.drawflow[this.module].data)this.updateConnectionNodes("node-"+e);const t=this.drawflow.drawflow;let n=1;Object.keys(t).map(function(e,i){Object.keys(t[e].data).map(function(e,t){parseInt(e)>=n&&(n=parseInt(e)+1)})}),this.nodeId=n}removeReouteConnectionSelected(){this.dispatch("connectionUnselected",!0),this.reroute_fix_curvature&&this.connection_selected.parentElement.querySelectorAll(".main-path").forEach((e,t)=>{e.classList.remove("selected")})}click(e){if(this.dispatch("click",e),"fixed"===this.editor_mode){if(e.preventDefault(),"parent-drawflow"!==e.target.classList[0]&&"drawflow"!==e.target.classList[0])return!1;this.ele_selected=e.target.closest(".parent-drawflow")}else"view"===this.editor_mode?(null!=e.target.closest(".drawflow")||e.target.matches(".parent-drawflow"))&&(this.ele_selected=e.target.closest(".parent-drawflow"),e.preventDefault()):(this.first_click=e.target,this.ele_selected=e.target,0===e.button&&this.contextmenuDel(),null!=e.target.closest(".drawflow_content_node")&&(this.ele_selected=e.target.closest(".drawflow_content_node").parentElement));switch(this.ele_selected.classList[0]){case"drawflow-node":null!=this.node_selected&&(this.node_selected.classList.remove("selected"),this.node_selected!=this.ele_selected&&this.dispatch("nodeUnselected",!0)),null!=this.connection_selected&&(this.connection_selected.classList.remove("selected"),this.removeReouteConnectionSelected(),this.connection_selected=null),this.node_selected!=this.ele_selected&&this.dispatch("nodeSelected",this.ele_selected.id.slice(5)),this.node_selected=this.ele_selected,this.node_selected.classList.add("selected"),this.draggable_inputs?"SELECT"!==e.target.tagName&&(this.drag=!0):"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&"SELECT"!==e.target.tagName&&!0!==e.target.hasAttribute("contenteditable")&&(this.drag=!0);break;case"output":this.connection=!0,null!=this.node_selected&&(this.node_selected.classList.remove("selected"),this.node_selected=null,this.dispatch("nodeUnselected",!0)),null!=this.connection_selected&&(this.connection_selected.classList.remove("selected"),this.removeReouteConnectionSelected(),this.connection_selected=null),this.drawConnection(e.target);break;case"parent-drawflow":case"drawflow":null!=this.node_selected&&(this.node_selected.classList.remove("selected"),this.node_selected=null,this.dispatch("nodeUnselected",!0)),null!=this.connection_selected&&(this.connection_selected.classList.remove("selected"),this.removeReouteConnectionSelected(),this.connection_selected=null),this.editor_selected=!0;break;case"main-path":null!=this.node_selected&&(this.node_selected.classList.remove("selected"),this.node_selected=null,this.dispatch("nodeUnselected",!0)),null!=this.connection_selected&&(this.connection_selected.classList.remove("selected"),this.removeReouteConnectionSelected(),this.connection_selected=null),this.connection_selected=this.ele_selected,this.connection_selected.classList.add("selected");const t=this.connection_selected.parentElement.classList;t.length>1&&(this.dispatch("connectionSelected",{output_id:t[2].slice(14),input_id:t[1].slice(13),output_class:t[3],input_class:t[4]}),this.reroute_fix_curvature&&this.connection_selected.parentElement.querySelectorAll(".main-path").forEach((e,t)=>{e.classList.add("selected")}));break;case"point":this.drag_point=!0,this.ele_selected.classList.add("selected");break;case"drawflow-delete":this.node_selected&&this.removeNodeId(this.node_selected.id),this.connection_selected&&this.removeConnection(),null!=this.node_selected&&(this.node_selected.classList.remove("selected"),this.node_selected=null,this.dispatch("nodeUnselected",!0)),null!=this.connection_selected&&(this.connection_selected.classList.remove("selected"),this.removeReouteConnectionSelected(),this.connection_selected=null)}"touchstart"===e.type?(this.pos_x=e.touches[0].clientX,this.pos_x_start=e.touches[0].clientX,this.pos_y=e.touches[0].clientY,this.pos_y_start=e.touches[0].clientY,this.mouse_x=e.touches[0].clientX,this.mouse_y=e.touches[0].clientY):(this.pos_x=e.clientX,this.pos_x_start=e.clientX,this.pos_y=e.clientY,this.pos_y_start=e.clientY),["input","output","main-path"].includes(this.ele_selected.classList[0])&&e.preventDefault(),this.dispatch("clickEnd",e)}position(e){if("touchmove"===e.type)var t=e.touches[0].clientX,n=e.touches[0].clientY;else t=e.clientX,n=e.clientY;if(this.connection&&this.updateConnection(t,n),this.editor_selected&&(i=this.canvas_x+-(this.pos_x-t),s=this.canvas_y+-(this.pos_y-n),this.dispatch("translate",{x:i,y:s}),this.precanvas.style.transform="translate("+i+"px, "+s+"px) scale("+this.zoom+")"),this.drag){e.preventDefault();var i=(this.pos_x-t)*this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom),s=(this.pos_y-n)*this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom);this.pos_x=t,this.pos_y=n,this.ele_selected.style.top=this.ele_selected.offsetTop-s+"px",this.ele_selected.style.left=this.ele_selected.offsetLeft-i+"px",this.drawflow.drawflow[this.module].data[this.ele_selected.id.slice(5)].pos_x=this.ele_selected.offsetLeft-i,this.drawflow.drawflow[this.module].data[this.ele_selected.id.slice(5)].pos_y=this.ele_selected.offsetTop-s,this.updateConnectionNodes(this.ele_selected.id)}if(this.drag_point){i=(this.pos_x-t)*this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom),s=(this.pos_y-n)*this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom),this.pos_x=t,this.pos_y=n;var o=this.pos_x*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom))-this.precanvas.getBoundingClientRect().x*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom)),l=this.pos_y*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom))-this.precanvas.getBoundingClientRect().y*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom));this.ele_selected.setAttributeNS(null,"cx",o),this.ele_selected.setAttributeNS(null,"cy",l);const e=this.ele_selected.parentElement.classList[2].slice(9),c=this.ele_selected.parentElement.classList[1].slice(13),d=this.ele_selected.parentElement.classList[3],a=this.ele_selected.parentElement.classList[4];let r=Array.from(this.ele_selected.parentElement.children).indexOf(this.ele_selected)-1;this.reroute_fix_curvature&&(r-=this.ele_selected.parentElement.querySelectorAll(".main-path").length-1,r<0&&(r=0));const h=e.slice(5),u=this.drawflow.drawflow[this.module].data[h].outputs[d].connections.findIndex(function(e,t){return e.node===c&&e.output===a});this.drawflow.drawflow[this.module].data[h].outputs[d].connections[u].points[r]={pos_x:o,pos_y:l};const p=this.ele_selected.parentElement.classList[2].slice(9);this.updateConnectionNodes(p)}"touchmove"===e.type&&(this.mouse_x=t,this.mouse_y=n),this.dispatch("mouseMove",{x:t,y:n})}dragEnd(e){if("touchend"===e.type)var t=this.mouse_x,n=this.mouse_y,i=document.elementFromPoint(t,n);else t=e.clientX,n=e.clientY,i=e.target;if(this.drag&&(this.pos_x_start==t&&this.pos_y_start==n||this.dispatch("nodeMoved",this.ele_selected.id.slice(5))),this.drag_point&&(this.ele_selected.classList.remove("selected"),this.pos_x_start==t&&this.pos_y_start==n||this.dispatch("rerouteMoved",this.ele_selected.parentElement.classList[2].slice(14))),this.editor_selected&&(this.canvas_x=this.canvas_x+-(this.pos_x-t),this.canvas_y=this.canvas_y+-(this.pos_y-n),this.editor_selected=!1),!0===this.connection)if("input"===i.classList[0]||this.force_first_input&&(null!=i.closest(".drawflow_content_node")||"drawflow-node"===i.classList[0])){if(!this.force_first_input||null==i.closest(".drawflow_content_node")&&"drawflow-node"!==i.classList[0])s=i.parentElement.parentElement.id,o=i.classList[1];else{if(null!=i.closest(".drawflow_content_node"))var s=i.closest(".drawflow_content_node").parentElement.id;else s=i.id;if(0===Object.keys(this.getNodeFromId(s.slice(5)).inputs).length)var o=!1;else o="input_1"}var l=this.ele_selected.parentElement.parentElement.id,c=this.ele_selected.classList[1];if(l!==s&&!1!==o){if(0===this.container.querySelectorAll(".connection.node_in_"+s+".node_out_"+l+"."+c+"."+o).length){this.connection_ele.classList.add("node_in_"+s),this.connection_ele.classList.add("node_out_"+l),this.connection_ele.classList.add(c),this.connection_ele.classList.add(o);var d=s.slice(5),a=l.slice(5);this.drawflow.drawflow[this.module].data[a].outputs[c].connections.push({node:d,output:o}),this.drawflow.drawflow[this.module].data[d].inputs[o].connections.push({node:a,input:c}),this.updateConnectionNodes("node-"+a),this.updateConnectionNodes("node-"+d),this.dispatch("connectionCreated",{output_id:a,input_id:d,output_class:c,input_class:o})}else this.dispatch("connectionCancel",!0),this.connection_ele.remove();this.connection_ele=null}else this.dispatch("connectionCancel",!0),this.connection_ele.remove(),this.connection_ele=null}else this.dispatch("connectionCancel",!0),this.connection_ele.remove(),this.connection_ele=null;this.drag=!1,this.drag_point=!1,this.connection=!1,this.ele_selected=null,this.editor_selected=!1,this.dispatch("mouseUp",e)}contextmenu(e){if(this.dispatch("contextmenu",e),e.preventDefault(),"fixed"===this.editor_mode||"view"===this.editor_mode)return!1;if(this.precanvas.getElementsByClassName("drawflow-delete").length&&this.precanvas.getElementsByClassName("drawflow-delete")[0].remove(),this.node_selected||this.connection_selected){var t=document.createElement("div");t.classList.add("drawflow-delete"),t.innerHTML="x",this.node_selected&&this.node_selected.appendChild(t),this.connection_selected&&this.connection_selected.parentElement.classList.length>1&&(t.style.top=e.clientY*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom))-this.precanvas.getBoundingClientRect().y*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom))+"px",t.style.left=e.clientX*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom))-this.precanvas.getBoundingClientRect().x*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom))+"px",this.precanvas.appendChild(t))}}contextmenuDel(){this.precanvas.getElementsByClassName("drawflow-delete").length&&this.precanvas.getElementsByClassName("drawflow-delete")[0].remove()}key(e){if(this.dispatch("keydown",e),"fixed"===this.editor_mode||"view"===this.editor_mode)return!1;("Delete"===e.key||"Backspace"===e.key&&e.metaKey)&&(null!=this.node_selected&&"INPUT"!==this.first_click.tagName&&"TEXTAREA"!==this.first_click.tagName&&!0!==this.first_click.hasAttribute("contenteditable")&&this.removeNodeId(this.node_selected.id),null!=this.connection_selected&&this.removeConnection())}zoom_enter(e,t){e.ctrlKey&&(e.preventDefault(),e.deltaY>0?this.zoom_out():this.zoom_in())}zoom_refresh(){this.dispatch("zoom",this.zoom),this.canvas_x=this.canvas_x/this.zoom_last_value*this.zoom,this.canvas_y=this.canvas_y/this.zoom_last_value*this.zoom,this.zoom_last_value=this.zoom,this.precanvas.style.transform="translate("+this.canvas_x+"px, "+this.canvas_y+"px) scale("+this.zoom+")"}zoom_in(){this.zoom<this.zoom_max&&(this.zoom+=this.zoom_value,this.zoom_refresh())}zoom_out(){this.zoom>this.zoom_min&&(this.zoom-=this.zoom_value,this.zoom_refresh())}zoom_reset(){1!=this.zoom&&(this.zoom=1,this.zoom_refresh())}createCurvature(e,t,n,i,s,o){var l=e,c=t,d=n,a=i,r=s;switch(o){case"open":if(e>=n)var h=l+Math.abs(d-l)*r,u=d-Math.abs(d-l)*(-1*r);else h=l+Math.abs(d-l)*r,u=d-Math.abs(d-l)*r;return" M "+l+" "+c+" C "+h+" "+c+" "+u+" "+a+" "+d+" "+a;case"close":return e>=n?(h=l+Math.abs(d-l)*(-1*r),u=d-Math.abs(d-l)*r):(h=l+Math.abs(d-l)*r,u=d-Math.abs(d-l)*r)," M "+l+" "+c+" C "+h+" "+c+" "+u+" "+a+" "+d+" "+a;case"other":return e>=n?(h=l+Math.abs(d-l)*(-1*r),u=d-Math.abs(d-l)*(-1*r)):(h=l+Math.abs(d-l)*r,u=d-Math.abs(d-l)*r)," M "+l+" "+c+" C "+h+" "+c+" "+u+" "+a+" "+d+" "+a;default:return" M "+l+" "+c+" C "+(h=l+Math.abs(d-l)*r)+" "+c+" "+(u=d-Math.abs(d-l)*r)+" "+a+" "+d+" "+a}}drawConnection(e){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");this.connection_ele=t;var n=document.createElementNS("http://www.w3.org/2000/svg","path");n.classList.add("main-path"),n.setAttributeNS(null,"d",""),t.classList.add("connection"),t.appendChild(n),this.precanvas.appendChild(t);var i=e.parentElement.parentElement.id.slice(5),s=e.classList[1];this.dispatch("connectionStart",{output_id:i,output_class:s})}updateConnection(e,t){const n=this.precanvas,i=this.zoom;let s=n.clientWidth/(n.clientWidth*i);s=s||0;let o=n.clientHeight/(n.clientHeight*i);o=o||0;var l=this.connection_ele.children[0],c=this.ele_selected.offsetWidth/2+(this.ele_selected.getBoundingClientRect().x-n.getBoundingClientRect().x)*s,d=this.ele_selected.offsetHeight/2+(this.ele_selected.getBoundingClientRect().y-n.getBoundingClientRect().y)*o,a=e*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom))-this.precanvas.getBoundingClientRect().x*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom)),r=t*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom))-this.precanvas.getBoundingClientRect().y*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom)),h=this.curvature,u=this.createCurvature(c,d,a,r,h,"openclose");l.setAttributeNS(null,"d",u)}addConnection(e,t,n,i){var s=this.getModuleFromNodeId(e);if(s===this.getModuleFromNodeId(t)){var o=this.getNodeFromId(e),l=!1;for(var c in o.outputs[n].connections){var d=o.outputs[n].connections[c];d.node==t&&d.output==i&&(l=!0)}if(!1===l){if(this.drawflow.drawflow[s].data[e].outputs[n].connections.push({node:t.toString(),output:i}),this.drawflow.drawflow[s].data[t].inputs[i].connections.push({node:e.toString(),input:n}),this.module===s){var a=document.createElementNS("http://www.w3.org/2000/svg","svg"),r=document.createElementNS("http://www.w3.org/2000/svg","path");r.classList.add("main-path"),r.setAttributeNS(null,"d",""),a.classList.add("connection"),a.classList.add("node_in_node-"+t),a.classList.add("node_out_node-"+e),a.classList.add(n),a.classList.add(i),a.appendChild(r),this.precanvas.appendChild(a),this.updateConnectionNodes("node-"+e),this.updateConnectionNodes("node-"+t)}this.dispatch("connectionCreated",{output_id:e,input_id:t,output_class:n,input_class:i})}}}updateConnectionNodes(e){const t="node_in_"+e,n="node_out_"+e;this.line_path;const i=this.container,s=this.precanvas,o=this.curvature,l=this.createCurvature,c=this.reroute_curvature,d=this.reroute_curvature_start_end,a=this.reroute_fix_curvature,r=this.reroute_width,h=this.zoom;let u=s.clientWidth/(s.clientWidth*h);u=u||0;let p=s.clientHeight/(s.clientHeight*h);p=p||0;const f=i.querySelectorAll("."+n);Object.keys(f).map(function(t,n){if(null===f[t].querySelector(".point")){var g=i.querySelector("#"+e),m=f[t].classList[1].replace("node_in_",""),_=i.querySelector("#"+m).querySelectorAll("."+f[t].classList[4])[0],w=_.offsetWidth/2+(_.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,v=_.offsetHeight/2+(_.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,y=g.querySelectorAll("."+f[t].classList[3])[0],C=y.offsetWidth/2+(y.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,x=y.offsetHeight/2+(y.getBoundingClientRect().y-s.getBoundingClientRect().y)*p;const n=l(C,x,w,v,o,"openclose");f[t].children[0].setAttributeNS(null,"d",n)}else{const n=f[t].querySelectorAll(".point");let o="";const g=[];n.forEach((t,a)=>{if(0===a&&n.length-1==0){var f=i.querySelector("#"+e),m=((x=t).getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,_=(x.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,w=(L=f.querySelectorAll("."+t.parentElement.classList[3])[0]).offsetWidth/2+(L.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,v=L.offsetHeight/2+(L.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,y=l(w,v,m,_,d,"open");o+=y,g.push(y),f=t;var C=t.parentElement.classList[1].replace("node_in_",""),x=(E=i.querySelector("#"+C)).querySelectorAll("."+t.parentElement.classList[4])[0];m=(R=E.querySelectorAll("."+t.parentElement.classList[4])[0]).offsetWidth/2+(R.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,_=R.offsetHeight/2+(R.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,w=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,v=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,y=l(w,v,m,_,d,"close"),o+=y,g.push(y)}else if(0===a){var L;f=i.querySelector("#"+e),m=((x=t).getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,_=(x.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,w=(L=f.querySelectorAll("."+t.parentElement.classList[3])[0]).offsetWidth/2+(L.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,v=L.offsetHeight/2+(L.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,y=l(w,v,m,_,d,"open"),o+=y,g.push(y),f=t,m=((x=n[a+1]).getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,_=(x.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,w=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,v=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,y=l(w,v,m,_,c,"other"),o+=y,g.push(y)}else if(a===n.length-1){var E,R;f=t,C=t.parentElement.classList[1].replace("node_in_",""),x=(E=i.querySelector("#"+C)).querySelectorAll("."+t.parentElement.classList[4])[0],m=(R=E.querySelectorAll("."+t.parentElement.classList[4])[0]).offsetWidth/2+(R.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,_=R.offsetHeight/2+(R.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,w=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*(s.clientWidth/(s.clientWidth*h))+r,v=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*(s.clientHeight/(s.clientHeight*h))+r,y=l(w,v,m,_,d,"close"),o+=y,g.push(y)}else f=t,m=((x=n[a+1]).getBoundingClientRect().x-s.getBoundingClientRect().x)*(s.clientWidth/(s.clientWidth*h))+r,_=(x.getBoundingClientRect().y-s.getBoundingClientRect().y)*(s.clientHeight/(s.clientHeight*h))+r,w=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*(s.clientWidth/(s.clientWidth*h))+r,v=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*(s.clientHeight/(s.clientHeight*h))+r,y=l(w,v,m,_,c,"other"),o+=y,g.push(y)}),a?g.forEach((e,n)=>{f[t].children[n].setAttributeNS(null,"d",e)}):f[t].children[0].setAttributeNS(null,"d",o)}});const g=i.querySelectorAll("."+t);Object.keys(g).map(function(t,n){if(null===g[t].querySelector(".point")){var h=i.querySelector("#"+e),f=g[t].classList[2].replace("node_out_",""),m=i.querySelector("#"+f).querySelectorAll("."+g[t].classList[3])[0],_=m.offsetWidth/2+(m.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,w=m.offsetHeight/2+(m.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,v=(h=h.querySelectorAll("."+g[t].classList[4])[0]).offsetWidth/2+(h.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,y=h.offsetHeight/2+(h.getBoundingClientRect().y-s.getBoundingClientRect().y)*p;const n=l(_,w,v,y,o,"openclose");g[t].children[0].setAttributeNS(null,"d",n)}else{const n=g[t].querySelectorAll(".point");let o="";const h=[];n.forEach((t,a)=>{if(0===a&&n.length-1==0){var f=i.querySelector("#"+e),g=((C=t).getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,m=(C.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,_=(E=f.querySelectorAll("."+t.parentElement.classList[4])[0]).offsetWidth/2+(E.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,w=E.offsetHeight/2+(E.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,v=l(g,m,_,w,d,"close");o+=v,h.push(v),f=t;var y=t.parentElement.classList[2].replace("node_out_",""),C=(L=i.querySelector("#"+y)).querySelectorAll("."+t.parentElement.classList[3])[0];g=(x=L.querySelectorAll("."+t.parentElement.classList[3])[0]).offsetWidth/2+(x.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,m=x.offsetHeight/2+(x.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,_=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,w=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,v=l(g,m,_,w,d,"open"),o+=v,h.push(v)}else if(0===a){var x;f=t,y=t.parentElement.classList[2].replace("node_out_",""),C=(L=i.querySelector("#"+y)).querySelectorAll("."+t.parentElement.classList[3])[0],g=(x=L.querySelectorAll("."+t.parentElement.classList[3])[0]).offsetWidth/2+(x.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,m=x.offsetHeight/2+(x.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,_=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,w=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,v=l(g,m,_,w,d,"open"),o+=v,h.push(v),f=t,_=((C=n[a+1]).getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,w=(C.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,g=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,m=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,v=l(g,m,_,w,c,"other"),o+=v,h.push(v)}else if(a===n.length-1){var L,E;f=t,y=t.parentElement.classList[1].replace("node_in_",""),C=(L=i.querySelector("#"+y)).querySelectorAll("."+t.parentElement.classList[4])[0],_=(E=L.querySelectorAll("."+t.parentElement.classList[4])[0]).offsetWidth/2+(E.getBoundingClientRect().x-s.getBoundingClientRect().x)*u,w=E.offsetHeight/2+(E.getBoundingClientRect().y-s.getBoundingClientRect().y)*p,g=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,m=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,v=l(g,m,_,w,d,"close"),o+=v,h.push(v)}else f=t,_=((C=n[a+1]).getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,w=(C.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,g=(f.getBoundingClientRect().x-s.getBoundingClientRect().x)*u+r,m=(f.getBoundingClientRect().y-s.getBoundingClientRect().y)*p+r,v=l(g,m,_,w,c,"other"),o+=v,h.push(v)}),a?h.forEach((e,n)=>{g[t].children[n].setAttributeNS(null,"d",e)}):g[t].children[0].setAttributeNS(null,"d",o)}})}dblclick(e){null!=this.connection_selected&&this.reroute&&this.createReroutePoint(this.connection_selected),"point"===e.target.classList[0]&&this.removeReroutePoint(e.target)}createReroutePoint(e){this.connection_selected.classList.remove("selected");const t=this.connection_selected.parentElement.classList[2].slice(9),n=this.connection_selected.parentElement.classList[1].slice(13),i=this.connection_selected.parentElement.classList[3],s=this.connection_selected.parentElement.classList[4];this.connection_selected=null;const o=document.createElementNS("http://www.w3.org/2000/svg","circle");o.classList.add("point");var l=this.pos_x*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom))-this.precanvas.getBoundingClientRect().x*(this.precanvas.clientWidth/(this.precanvas.clientWidth*this.zoom)),c=this.pos_y*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom))-this.precanvas.getBoundingClientRect().y*(this.precanvas.clientHeight/(this.precanvas.clientHeight*this.zoom));o.setAttributeNS(null,"cx",l),o.setAttributeNS(null,"cy",c),o.setAttributeNS(null,"r",this.reroute_width);let d=0;if(this.reroute_fix_curvature){const t=e.parentElement.querySelectorAll(".main-path").length;var a=document.createElementNS("http://www.w3.org/2000/svg","path");if(a.classList.add("main-path"),a.setAttributeNS(null,"d",""),e.parentElement.insertBefore(a,e.parentElement.children[t]),1===t)e.parentElement.appendChild(o);else{const n=Array.from(e.parentElement.children).indexOf(e);d=n,e.parentElement.insertBefore(o,e.parentElement.children[n+t+1])}}else e.parentElement.appendChild(o);const r=t.slice(5),h=this.drawflow.drawflow[this.module].data[r].outputs[i].connections.findIndex(function(e,t){return e.node===n&&e.output===s});void 0===this.drawflow.drawflow[this.module].data[r].outputs[i].connections[h].points&&(this.drawflow.drawflow[this.module].data[r].outputs[i].connections[h].points=[]),this.reroute_fix_curvature?(d>0||this.drawflow.drawflow[this.module].data[r].outputs[i].connections[h].points!==[]?this.drawflow.drawflow[this.module].data[r].outputs[i].connections[h].points.splice(d,0,{pos_x:l,pos_y:c}):this.drawflow.drawflow[this.module].data[r].outputs[i].connections[h].points.push({pos_x:l,pos_y:c}),e.parentElement.querySelectorAll(".main-path").forEach((e,t)=>{e.classList.remove("selected")})):this.drawflow.drawflow[this.module].data[r].outputs[i].connections[h].points.push({pos_x:l,pos_y:c}),this.dispatch("addReroute",r),this.updateConnectionNodes(t)}removeReroutePoint(e){const t=e.parentElement.classList[2].slice(9),n=e.parentElement.classList[1].slice(13),i=e.parentElement.classList[3],s=e.parentElement.classList[4];let o=Array.from(e.parentElement.children).indexOf(e);const l=t.slice(5),c=this.drawflow.drawflow[this.module].data[l].outputs[i].connections.findIndex(function(e,t){return e.node===n&&e.output===s});if(this.reroute_fix_curvature){const t=e.parentElement.querySelectorAll(".main-path").length;e.parentElement.children[t-1].remove(),o-=t,o<0&&(o=0)}else o--;this.drawflow.drawflow[this.module].data[l].outputs[i].connections[c].points.splice(o,1),e.remove(),this.dispatch("removeReroute",l),this.updateConnectionNodes(t)}registerNode(e,t,n=null,i=null){this.noderegister[e]={html:t,props:n,options:i}}getNodeFromId(e){var t=this.getModuleFromNodeId(e);return JSON.parse(JSON.stringify(this.drawflow.drawflow[t].data[e]))}getNodesFromName(e){var t=[];const n=this.drawflow.drawflow;return Object.keys(n).map(function(i,s){for(var o in n[i].data)n[i].data[o].name==e&&t.push(n[i].data[o].id)}),t}addNode(e,t,n,i,s,o,l,c,d=!1){if(this.useuuid)var a=this.getUuid();else a=this.nodeId;const r=document.createElement("div");r.classList.add("parent-node");const h=document.createElement("div");h.innerHTML="",h.setAttribute("id","node-"+a),h.classList.add("drawflow-node"),""!=o&&h.classList.add(...o.split(" "));const u=document.createElement("div");u.classList.add("inputs");const p=document.createElement("div");p.classList.add("outputs");const f={};for(var g=0;g<t;g++){const e=document.createElement("div");e.classList.add("input"),e.classList.add("input_"+(g+1)),f["input_"+(g+1)]={connections:[]},u.appendChild(e)}const m={};for(g=0;g<n;g++){const e=document.createElement("div");e.classList.add("output"),e.classList.add("output_"+(g+1)),m["output_"+(g+1)]={connections:[]},p.appendChild(e)}const _=document.createElement("div");if(_.classList.add("drawflow_content_node"),!1===d)_.innerHTML=c;else if(!0===d)_.appendChild(this.noderegister[c].html.cloneNode(!0));else if(3===parseInt(this.render.version)){let e=this.render.h(this.noderegister[c].html,this.noderegister[c].props,this.noderegister[c].options);e.appContext=this.parent,this.render.render(e,_)}else{let e=new this.render(Object.assign({parent:this.parent,render:e=>e(this.noderegister[c].html,{props:this.noderegister[c].props})},this.noderegister[c].options)).$mount();_.appendChild(e.$el)}Object.entries(l).forEach(function(e,t){if("object"==typeof e[1])!(function e(t,n,i){null!==(t=null===t?l[n]:t[n])&&Object.entries(t).forEach(function(n,s){if("object"==typeof n[1])e(t,n[0],i+"-"+n[0]);else for(var o=_.querySelectorAll("[df-"+i+"-"+n[0]+"]"),l=0;l<o.length;l++)o[l].value=n[1],o[l].isContentEditable&&(o[l].innerText=n[1])})})(null,e[0],e[0]);else for(var n=_.querySelectorAll("[df-"+e[0]+"]"),i=0;i<n.length;i++)n[i].value=e[1],n[i].isContentEditable&&(n[i].innerText=e[1])}),h.appendChild(u),h.appendChild(_),h.appendChild(p),h.style.top=s+"px",h.style.left=i+"px",r.appendChild(h),this.precanvas.appendChild(r);var w={id:a,name:e,data:l,class:o,html:c,typenode:d,inputs:f,outputs:m,pos_x:i,pos_y:s};return this.drawflow.drawflow[this.module].data[a]=w,this.dispatch("nodeCreated",a),this.useuuid||this.nodeId++,a}addNodeImport(e,t){const n=document.createElement("div");n.classList.add("parent-node");const i=document.createElement("div");i.innerHTML="",i.setAttribute("id","node-"+e.id),i.classList.add("drawflow-node"),""!=e.class&&i.classList.add(...e.class.split(" "));const s=document.createElement("div");s.classList.add("inputs");const o=document.createElement("div");o.classList.add("outputs"),Object.keys(e.inputs).map(function(n,i){const o=document.createElement("div");o.classList.add("input"),o.classList.add(n),s.appendChild(o),Object.keys(e.inputs[n].connections).map(function(i,s){var o=document.createElementNS("http://www.w3.org/2000/svg","svg"),l=document.createElementNS("http://www.w3.org/2000/svg","path");l.classList.add("main-path"),l.setAttributeNS(null,"d",""),o.classList.add("connection"),o.classList.add("node_in_node-"+e.id),o.classList.add("node_out_node-"+e.inputs[n].connections[i].node),o.classList.add(e.inputs[n].connections[i].input),o.classList.add(n),o.appendChild(l),t.appendChild(o)})});for(var l=0;l<Object.keys(e.outputs).length;l++){const e=document.createElement("div");e.classList.add("output"),e.classList.add("output_"+(l+1)),o.appendChild(e)}const c=document.createElement("div");if(c.classList.add("drawflow_content_node"),!1===e.typenode)c.innerHTML=e.html;else if(!0===e.typenode)c.appendChild(this.noderegister[e.html].html.cloneNode(!0));else if(3===parseInt(this.render.version)){let t=this.render.h(this.noderegister[e.html].html,this.noderegister[e.html].props,this.noderegister[e.html].options);t.appContext=this.parent,this.render.render(t,c)}else{let t=new this.render(Object.assign({parent:this.parent,render:t=>t(this.noderegister[e.html].html,{props:this.noderegister[e.html].props})},this.noderegister[e.html].options)).$mount();c.appendChild(t.$el)}Object.entries(e.data).forEach(function(t,n){if("object"==typeof t[1])!(function t(n,i,s){null!==(n=null===n?e.data[i]:n[i])&&Object.entries(n).forEach(function(e,i){if("object"==typeof e[1])t(n,e[0],s+"-"+e[0]);else for(var o=c.querySelectorAll("[df-"+s+"-"+e[0]+"]"),l=0;l<o.length;l++)o[l].value=e[1],o[l].isContentEditable&&(o[l].innerText=e[1])})})(null,t[0],t[0]);else for(var i=c.querySelectorAll("[df-"+t[0]+"]"),s=0;s<i.length;s++)i[s].value=t[1],i[s].isContentEditable&&(i[s].innerText=t[1])}),i.appendChild(s),i.appendChild(c),i.appendChild(o),i.style.top=e.pos_y+"px",i.style.left=e.pos_x+"px",n.appendChild(i),this.precanvas.appendChild(n)}addRerouteImport(e){const t=this.reroute_width,n=this.reroute_fix_curvature,i=this.container;Object.keys(e.outputs).map(function(s,o){Object.keys(e.outputs[s].connections).map(function(o,l){const c=e.outputs[s].connections[o].points;void 0!==c&&c.forEach((l,d)=>{const a=e.outputs[s].connections[o].node,r=e.outputs[s].connections[o].output,h=i.querySelector(".connection.node_in_node-"+a+".node_out_node-"+e.id+"."+s+"."+r);if(n&&0===d)for(var u=0;u<c.length;u++){var p=document.createElementNS("http://www.w3.org/2000/svg","path");p.classList.add("main-path"),p.setAttributeNS(null,"d",""),h.appendChild(p)}const f=document.createElementNS("http://www.w3.org/2000/svg","circle");f.classList.add("point");var g=l.pos_x,m=l.pos_y;f.setAttributeNS(null,"cx",g),f.setAttributeNS(null,"cy",m),f.setAttributeNS(null,"r",t),h.appendChild(f)})})})}updateNodeValue(e){for(var t=e.target.attributes,n=0;n<t.length;n++)if(t[n].nodeName.startsWith("df-")){for(var i=t[n].nodeName.slice(3).split("-"),s=this.drawflow.drawflow[this.module].data[e.target.closest(".drawflow_content_node").parentElement.id.slice(5)].data,o=0;o<i.length-1;o+=1)null==s[i[o]]&&(s[i[o]]={}),s=s[i[o]];s[i[i.length-1]]=e.target.value,e.target.isContentEditable&&(s[i[i.length-1]]=e.target.innerText),this.dispatch("nodeDataChanged",e.target.closest(".drawflow_content_node").parentElement.id.slice(5))}}updateNodeDataFromId(e,t){var n=this.getModuleFromNodeId(e);if(this.drawflow.drawflow[n].data[e].data=t,this.module===n){const n=this.container.querySelector("#node-"+e);Object.entries(t).forEach(function(e,i){if("object"==typeof e[1])!(function e(i,s,o){null!==(i=null===i?t[s]:i[s])&&Object.entries(i).forEach(function(t,s){if("object"==typeof t[1])e(i,t[0],o+"-"+t[0]);else for(var l=n.querySelectorAll("[df-"+o+"-"+t[0]+"]"),c=0;c<l.length;c++)l[c].value=t[1],l[c].isContentEditable&&(l[c].innerText=t[1])})})(null,e[0],e[0]);else for(var s=n.querySelectorAll("[df-"+e[0]+"]"),o=0;o<s.length;o++)s[o].value=e[1],s[o].isContentEditable&&(s[o].innerText=e[1])})}}addNodeInput(e){var t=this.getModuleFromNodeId(e);const n=this.getNodeFromId(e),i=Object.keys(n.inputs).length;if(this.module===t){const t=document.createElement("div");t.classList.add("input"),t.classList.add("input_"+(i+1)),this.container.querySelector("#node-"+e+" .inputs").appendChild(t),this.updateConnectionNodes("node-"+e)}this.drawflow.drawflow[t].data[e].inputs["input_"+(i+1)]={connections:[]}}addNodeOutput(e){var t=this.getModuleFromNodeId(e);const n=this.getNodeFromId(e),i=Object.keys(n.outputs).length;if(this.module===t){const t=document.createElement("div");t.classList.add("output"),t.classList.add("output_"+(i+1)),this.container.querySelector("#node-"+e+" .outputs").appendChild(t),this.updateConnectionNodes("node-"+e)}this.drawflow.drawflow[t].data[e].outputs["output_"+(i+1)]={connections:[]}}removeNodeInput(e,t){var n=this.getModuleFromNodeId(e);const i=this.getNodeFromId(e);this.module===n&&this.container.querySelector("#node-"+e+" .inputs .input."+t).remove();const s=[];Object.keys(i.inputs[t].connections).map(function(n,o){const l=i.inputs[t].connections[o].node,c=i.inputs[t].connections[o].input;s.push({id_output:l,id:e,output_class:c,input_class:t})}),s.forEach((e,t)=>{this.removeSingleConnection(e.id_output,e.id,e.output_class,e.input_class)}),delete this.drawflow.drawflow[n].data[e].inputs[t];const o=[],l=this.drawflow.drawflow[n].data[e].inputs;Object.keys(l).map(function(e,t){o.push(l[e])}),this.drawflow.drawflow[n].data[e].inputs={};const c=t.slice(6);let d=[];o.forEach((t,i)=>{t.connections.forEach((e,t)=>{d.push(e)}),this.drawflow.drawflow[n].data[e].inputs["input_"+(i+1)]=t}),d=new Set(d.map(e=>JSON.stringify(e))),d=Array.from(d).map(e=>JSON.parse(e)),this.module===n&&this.container.querySelectorAll("#node-"+e+" .inputs .input").forEach((e,t)=>{const n=e.classList[1].slice(6);parseInt(c)<parseInt(n)&&(e.classList.remove("input_"+n),e.classList.add("input_"+(n-1)))}),d.forEach((t,i)=>{this.drawflow.drawflow[n].data[t.node].outputs[t.input].connections.forEach((i,s)=>{if(i.node==e){const o=i.output.slice(6);if(parseInt(c)<parseInt(o)){if(this.module===n){const n=this.container.querySelector(".connection.node_in_node-"+e+".node_out_node-"+t.node+"."+t.input+".input_"+o);n.classList.remove("input_"+o),n.classList.add("input_"+(o-1))}i.points?this.drawflow.drawflow[n].data[t.node].outputs[t.input].connections[s]={node:i.node,output:"input_"+(o-1),points:i.points}:this.drawflow.drawflow[n].data[t.node].outputs[t.input].connections[s]={node:i.node,output:"input_"+(o-1)}}}})}),this.updateConnectionNodes("node-"+e)}removeNodeOutput(e,t){var n=this.getModuleFromNodeId(e);const i=this.getNodeFromId(e);this.module===n&&this.container.querySelector("#node-"+e+" .outputs .output."+t).remove();const s=[];Object.keys(i.outputs[t].connections).map(function(n,o){const l=i.outputs[t].connections[o].node,c=i.outputs[t].connections[o].output;s.push({id:e,id_input:l,output_class:t,input_class:c})}),s.forEach((e,t)=>{this.removeSingleConnection(e.id,e.id_input,e.output_class,e.input_class)}),delete this.drawflow.drawflow[n].data[e].outputs[t];const o=[],l=this.drawflow.drawflow[n].data[e].outputs;Object.keys(l).map(function(e,t){o.push(l[e])}),this.drawflow.drawflow[n].data[e].outputs={};const c=t.slice(7);let d=[];o.forEach((t,i)=>{t.connections.forEach((e,t)=>{d.push({node:e.node,output:e.output})}),this.drawflow.drawflow[n].data[e].outputs["output_"+(i+1)]=t}),d=new Set(d.map(e=>JSON.stringify(e))),d=Array.from(d).map(e=>JSON.parse(e)),this.module===n&&this.container.querySelectorAll("#node-"+e+" .outputs .output").forEach((e,t)=>{const n=e.classList[1].slice(7);parseInt(c)<parseInt(n)&&(e.classList.remove("output_"+n),e.classList.add("output_"+(n-1)))}),d.forEach((t,i)=>{this.drawflow.drawflow[n].data[t.node].inputs[t.output].connections.forEach((i,s)=>{if(i.node==e){const o=i.input.slice(7);if(parseInt(c)<parseInt(o)){if(this.module===n){const n=this.container.querySelector(".connection.node_in_node-"+t.node+".node_out_node-"+e+".output_"+o+"."+t.output);n.classList.remove("output_"+o),n.classList.remove(t.output),n.classList.add("output_"+(o-1)),n.classList.add(t.output)}i.points?this.drawflow.drawflow[n].data[t.node].inputs[t.output].connections[s]={node:i.node,input:"output_"+(o-1),points:i.points}:this.drawflow.drawflow[n].data[t.node].inputs[t.output].connections[s]={node:i.node,input:"output_"+(o-1)}}}})}),this.updateConnectionNodes("node-"+e)}removeNodeId(e){this.removeConnectionNodeId(e);var t=this.getModuleFromNodeId(e.slice(5));this.module===t&&this.container.querySelector("#"+e).remove(),delete this.drawflow.drawflow[t].data[e.slice(5)],this.dispatch("nodeRemoved",e.slice(5))}removeConnection(){if(null!=this.connection_selected){var e=this.connection_selected.parentElement.classList;this.connection_selected.parentElement.remove();var t=this.drawflow.drawflow[this.module].data[e[2].slice(14)].outputs[e[3]].connections.findIndex(function(t,n){return t.node===e[1].slice(13)&&t.output===e[4]});this.drawflow.drawflow[this.module].data[e[2].slice(14)].outputs[e[3]].connections.splice(t,1);var n=this.drawflow.drawflow[this.module].data[e[1].slice(13)].inputs[e[4]].connections.findIndex(function(t,n){return t.node===e[2].slice(14)&&t.input===e[3]});this.drawflow.drawflow[this.module].data[e[1].slice(13)].inputs[e[4]].connections.splice(n,1),this.dispatch("connectionRemoved",{output_id:e[2].slice(14),input_id:e[1].slice(13),output_class:e[3],input_class:e[4]}),this.connection_selected=null}}removeSingleConnection(e,t,n,i){var s=this.getModuleFromNodeId(e);if(s===this.getModuleFromNodeId(t)){if(this.drawflow.drawflow[s].data[e].outputs[n].connections.findIndex(function(e,n){return e.node==t&&e.output===i})>-1){this.module===s&&this.container.querySelector(".connection.node_in_node-"+t+".node_out_node-"+e+"."+n+"."+i).remove();var o=this.drawflow.drawflow[s].data[e].outputs[n].connections.findIndex(function(e,n){return e.node==t&&e.output===i});this.drawflow.drawflow[s].data[e].outputs[n].connections.splice(o,1);var l=this.drawflow.drawflow[s].data[t].inputs[i].connections.findIndex(function(t,i){return t.node==e&&t.input===n});return this.drawflow.drawflow[s].data[t].inputs[i].connections.splice(l,1),this.dispatch("connectionRemoved",{output_id:e,input_id:t,output_class:n,input_class:i}),!0}return!1}return!1}removeConnectionNodeId(e){const t="node_in_"+e,n="node_out_"+e,i=this.container.querySelectorAll("."+n);for(var s=i.length-1;s>=0;s--){var o=i[s].classList,l=this.drawflow.drawflow[this.module].data[o[1].slice(13)].inputs[o[4]].connections.findIndex(function(e,t){return e.node===o[2].slice(14)&&e.input===o[3]});this.drawflow.drawflow[this.module].data[o[1].slice(13)].inputs[o[4]].connections.splice(l,1);var c=this.drawflow.drawflow[this.module].data[o[2].slice(14)].outputs[o[3]].connections.findIndex(function(e,t){return e.node===o[1].slice(13)&&e.output===o[4]});this.drawflow.drawflow[this.module].data[o[2].slice(14)].outputs[o[3]].connections.splice(c,1),i[s].remove(),this.dispatch("connectionRemoved",{output_id:o[2].slice(14),input_id:o[1].slice(13),output_class:o[3],input_class:o[4]})}const d=this.container.querySelectorAll("."+t);for(s=d.length-1;s>=0;s--)o=d[s].classList,c=this.drawflow.drawflow[this.module].data[o[2].slice(14)].outputs[o[3]].connections.findIndex(function(e,t){return e.node===o[1].slice(13)&&e.output===o[4]}),this.drawflow.drawflow[this.module].data[o[2].slice(14)].outputs[o[3]].connections.splice(c,1),l=this.drawflow.drawflow[this.module].data[o[1].slice(13)].inputs[o[4]].connections.findIndex(function(e,t){return e.node===o[2].slice(14)&&e.input===o[3]}),this.drawflow.drawflow[this.module].data[o[1].slice(13)].inputs[o[4]].connections.splice(l,1),d[s].remove(),this.dispatch("connectionRemoved",{output_id:o[2].slice(14),input_id:o[1].slice(13),output_class:o[3],input_class:o[4]})}getModuleFromNodeId(e){var t;const n=this.drawflow.drawflow;return Object.keys(n).map(function(i,s){Object.keys(n[i].data).map(function(n,s){n==e&&(t=i)})}),t}addModule(e){this.drawflow.drawflow[e]={data:{}},this.dispatch("moduleCreated",e)}changeModule(e){this.dispatch("moduleChanged",e),this.module=e,this.precanvas.innerHTML="",this.canvas_x=0,this.canvas_y=0,this.pos_x=0,this.pos_y=0,this.mouse_x=0,this.mouse_y=0,this.zoom=1,this.zoom_last_value=1,this.precanvas.style.transform="",this.import(this.drawflow,!1)}removeModule(e){this.module===e&&this.changeModule("Home"),delete this.drawflow.drawflow[e],this.dispatch("moduleRemoved",e)}clearModuleSelected(){this.precanvas.innerHTML="",this.drawflow.drawflow[this.module]={data:{}}}clear(){this.precanvas.innerHTML="",this.drawflow={drawflow:{Home:{data:{}}}}}export(){const e=JSON.parse(JSON.stringify(this.drawflow));return this.dispatch("export",e),e}import(e,t=!0){this.clear(),this.drawflow=JSON.parse(JSON.stringify(e)),this.load(),t&&this.dispatch("import","import")}on(e,t){return"function"!=typeof t?(console.error("The listener callback must be a function, the given type is "+typeof t),!1):"string"!=typeof e?(console.error("The event name must be a string, the given type is "+typeof e),!1):(void 0===this.events[e]&&(this.events[e]={listeners:[]}),void this.events[e].listeners.push(t))}removeListener(e,t){if(!this.events[e])return!1;const n=this.events[e].listeners,i=n.indexOf(t);i>-1&&n.splice(i,1)}dispatch(e,t){if(void 0===this.events[e])return!1;this.events[e].listeners.forEach(e=>{e(t)})}getUuid(){for(var e=[],t=0;t<36;t++)e[t]="0123456789abcdef".substr(Math.floor(16*Math.random()),1);return e[14]="4",e[19]="0123456789abcdef".substr(3&e[19]|8,1),e[8]=e[13]=e[18]=e[23]="-",e.join("")}}}]).default},"object"==typeof _e&&"object"==typeof _m?_m.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof _e?_e.Drawflow=t():e.Drawflow=t()},3325,[]);
|
|
5
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getGraphDraft=function(u,c){return t.get(n(u,c))??null},e.setGraphDraft=function(u,c,f){t.set(n(u,c.id),{graph:c,dirty:f})},e.clearGraphDraft=function(u,c){t.delete(n(u,c))};const t=new Map;function n(t,n){return`${t}::${n}`}},3326,[]);
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"PacketModule",{enumerable:!0,get:function(){return t.PacketModule}}),Object.defineProperty(e,"createPacketServices",{enumerable:!0,get:function(){return t.createPacketServices}});var t=r(d[0]);r(d[1])},
|
|
1
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"PacketModule",{enumerable:!0,get:function(){return t.PacketModule}}),Object.defineProperty(e,"createPacketServices",{enumerable:!0,get:function(){return t.createPacketServices}});var t=r(d[0]);r(d[1])},5171,[5138,5136]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
N ��8F�g�T��J�E-%�wTsf;0�v��$
|
|
1
|
+
N ��8F�g�T��J�E-%�wTsf;0�v��$
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"diagram",{enumerable:!0,get:function(){return v}});var t=r(d[0]),n=r(d[1]);r(d[2]),r(d[3]);var s=r(d[4]),o=r(d[5]),l=r(d[6]),u=(0,l.createRailroadPegServices)().RailroadPeg.parser.LangiumParser,p=(0,o.__name)(t=>{const n=t.alternatives.map(c);return 1===n.length?n[0]:{type:"choice",alternatives:n}},"transformOrderedChoice"),c=(0,o.__name)(t=>{const n=t.elements.map(f);return 1===n.length?n[0]:{type:"sequence",elements:n}},"transformSequence"),f=(0,o.__name)(t=>{const n=P(t.suffix);if(!t.operator)return n;return{type:"special",text:"&"===t.operator?`&${y(n)}`:`!${y(n)}`}},"transformPrefix"),y=(0,o.__name)(t=>{switch(t.type){case"terminal":return`"${t.value}"`;case"nonterminal":return t.name;case"special":return t.text;default:return"(...)"}},"nodeToLabel"),P=(0,o.__name)(t=>{const n=_(t.primary);if(!t.operator)return n;switch(t.operator){case"?":return{type:"optional",element:n};case"*":return{type:"repetition",element:n,min:0,max:1/0};case"+":return{type:"repetition",element:n,min:1,max:1/0};default:throw new Error(`Unsupported PEG suffix operator: ${t.operator}`)}},"transformSuffix"),_=(0,o.__name)(t=>{switch(t.$type){case"PegLiteral":return{type:"terminal",value:t.value};case"PegIdentifier":return{type:"nonterminal",name:t.name};case"PegGroup":return p(t.element);case"PegAny":return{type:"special",text:t.dot};default:throw new Error(`Unsupported PEG primary node: ${t.$type}`)}},"transformPrimary"),b=(0,o.__name)(t=>({name:t.name,definition:p(t.definition)}),"transformRule"),h=(0,o.__name)(s=>{(0,n.populateCommonDb)(s,t.db),s.title&&t.db.setTitle(s.title),s.rules.map(n=>t.db.addRule(b(n)))},"populateDb"),v={parser:{parse:(0,o.__name)(n=>{t.db.clear(),s.log.debug("[PEG Parser] Starting Langium parse");const o=u.parse(n);if(o.lexerErrors.length>0||o.parserErrors.length>0)throw new l.MermaidParseError(o);const p=o.value;s.log.debug("[PEG Parser] Parsed rules:",p.rules.length),h(p),s.log.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:t.db}},db:t.db,renderer:t.renderer,styles:t.getStyles}},
|
|
1
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"diagram",{enumerable:!0,get:function(){return v}});var t=r(d[0]),n=r(d[1]);r(d[2]),r(d[3]);var s=r(d[4]),o=r(d[5]),l=r(d[6]),u=(0,l.createRailroadPegServices)().RailroadPeg.parser.LangiumParser,p=(0,o.__name)(t=>{const n=t.alternatives.map(c);return 1===n.length?n[0]:{type:"choice",alternatives:n}},"transformOrderedChoice"),c=(0,o.__name)(t=>{const n=t.elements.map(f);return 1===n.length?n[0]:{type:"sequence",elements:n}},"transformSequence"),f=(0,o.__name)(t=>{const n=P(t.suffix);if(!t.operator)return n;return{type:"special",text:"&"===t.operator?`&${y(n)}`:`!${y(n)}`}},"transformPrefix"),y=(0,o.__name)(t=>{switch(t.type){case"terminal":return`"${t.value}"`;case"nonterminal":return t.name;case"special":return t.text;default:return"(...)"}},"nodeToLabel"),P=(0,o.__name)(t=>{const n=_(t.primary);if(!t.operator)return n;switch(t.operator){case"?":return{type:"optional",element:n};case"*":return{type:"repetition",element:n,min:0,max:1/0};case"+":return{type:"repetition",element:n,min:1,max:1/0};default:throw new Error(`Unsupported PEG suffix operator: ${t.operator}`)}},"transformSuffix"),_=(0,o.__name)(t=>{switch(t.$type){case"PegLiteral":return{type:"terminal",value:t.value};case"PegIdentifier":return{type:"nonterminal",name:t.name};case"PegGroup":return p(t.element);case"PegAny":return{type:"special",text:t.dot};default:throw new Error(`Unsupported PEG primary node: ${t.$type}`)}},"transformPrimary"),b=(0,o.__name)(t=>({name:t.name,definition:p(t.definition)}),"transformRule"),h=(0,o.__name)(s=>{(0,n.populateCommonDb)(s,t.db),s.title&&t.db.setTitle(s.title),s.rules.map(n=>t.db.addRule(b(n)))},"populateDb"),v={parser:{parse:(0,o.__name)(n=>{t.db.clear(),s.log.debug("[PEG Parser] Starting Langium parse");const o=u.parse(n);if(o.lexerErrors.length>0||o.parserErrors.length>0)throw new l.MermaidParseError(o);const p=o.value;s.log.debug("[PEG Parser] Parsed rules:",p.rules.length),h(p),s.log.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:t.db}},db:t.db,renderer:t.renderer,styles:t.getStyles}},3320,[5157,5153,3267,3278,3279,3280,5152]);
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"PieModule",{enumerable:!0,get:function(){return t.PieModule}}),Object.defineProperty(e,"createPieServices",{enumerable:!0,get:function(){return t.createPieServices}});var t=r(d[0]);r(d[1])},
|
|
1
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"PieModule",{enumerable:!0,get:function(){return t.PieModule}}),Object.defineProperty(e,"createPieServices",{enumerable:!0,get:function(){return t.createPieServices}});var t=r(d[0]);r(d[1])},5172,[5139,5136]);
|
|
Binary file
|
package/dist/server/web-ui/_expo/static/js/web/pie-RZYD4A2V-f6208df18db61d490f4811b192b77dec.js.gz
ADDED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
__d(function(g,r,i,a,m,e,_d2){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"diagram",{enumerable:!0,get:function(){return O}});var t=r(_d2[0]),n=r(_d2[1]),l=r(_d2[2]),o=r(_d2[3]),s=r(_d2[4]),c=r(_d2[5]),d=r(_d2[6]),p=r(_d2[7]),h=o.defaultConfig_default.pie,u={sections:new Map,showData:!1,config:h},f=u.sections,S=u.showData,w=structuredClone(h),x=(0,c.__name)(()=>structuredClone(w),"getConfig"),$=(0,c.__name)(()=>{f=new Map,S=u.showData,(0,o.clear)()},"clear"),_=(0,c.__name)(({label:t,value:n})=>{if(n<0)throw new Error(`"${t}" has invalid value: ${n}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);f.has(t)||(f.set(t,n),s.log.debug(`added new section: ${t}, with value: ${n}`))},"addSection"),b=(0,c.__name)(()=>f,"getSections"),v=(0,c.__name)(t=>{S=t},"setShowData"),y=(0,c.__name)(()=>S,"getShowData"),C={getConfig:x,clear:$,setDiagramTitle:o.setDiagramTitle,getDiagramTitle:o.getDiagramTitle,setAccTitle:o.setAccTitle,getAccTitle:o.getAccTitle,setAccDescription:o.setAccDescription,getAccDescription:o.getAccDescription,addSection:_,getSections:b,setShowData:v,getShowData:y},D=(0,c.__name)((n,l)=>{(0,t.populateCommonDb)(n,l),l.setShowData(n.showData),n.sections.map(l.addSection)},"populateDb"),T={parse:(0,c.__name)(async t=>{const n=await(0,d.parse)("pie",t);s.log.debug(n),D(n,C)},"parse")},k=(0,c.__name)(t=>`\n .pieCircle{\n stroke: ${t.pieStrokeColor};\n stroke-width : ${t.pieStrokeWidth};\n opacity : ${t.pieOpacity};\n }\n .pieCircle.highlighted{\n scale: 1.05;\n opacity: 1;\n }\n .pieCircle.highlightedOnHover:hover{\n transition-duration: 250ms;\n scale: 1.05;\n opacity: 1;\n }\n .pieOuterCircle{\n stroke: ${t.pieOuterStrokeColor};\n stroke-width: ${t.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${t.pieTitleTextSize};\n fill: ${t.pieTitleTextColor};\n font-family: ${t.fontFamily};\n }\n .slice {\n font-family: ${t.fontFamily};\n fill: ${t.pieSectionTextColor};\n font-size:${t.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${t.pieLegendTextColor};\n font-family: ${t.fontFamily};\n font-size: ${t.pieLegendTextSize};\n }\n`,"getStyles"),A=(0,c.__name)(t=>{const n=[...t.values()].reduce((t,n)=>t+n,0),l=[...t.entries()].map(([t,n])=>({label:t,value:n})).filter(t=>t.value/n*100>=1);return(0,p.pie)().value(t=>t.value).sort(null)(l)},"createPieArcs"),O={parser:T,db:C,renderer:{draw:(0,c.__name)((t,c,d,h)=>{s.log.debug("rendering pie chart\n"+t);const u=h.db,f=(0,o.getConfig2)(),S=(0,l.cleanAndMerge)(u.getConfig(),f.pie),w=(0,n.selectSvgElement)(c),x=w.append("g");x.attr("transform","translate(225,225)");const{themeVariables:$}=f;let[_]=(0,l.parseFontSize)($.pieOuterStrokeWidth);_??=2;const b=S.legendPosition,v=S.textPosition,y=S.donutHole>0&&S.donutHole<=.9?S.donutHole:0,C=Math.min(450,450)/2-40,D=(0,p.arc)().innerRadius(y*C).outerRadius(C),T=(0,p.arc)().innerRadius(C*v).outerRadius(C*v),k=x.append("g");k.append("circle").attr("cx",0).attr("cy",0).attr("r",C+_/2).attr("class","pieOuterCircle");const O=u.getSections(),M=A(O),z=[$.pie1,$.pie2,$.pie3,$.pie4,$.pie5,$.pie6,$.pie7,$.pie8,$.pie9,$.pie10,$.pie11,$.pie12];let F=0;O.forEach(t=>{F+=t});const R=M.filter(t=>"0"!==(t.data.value/F*100).toFixed(0)),H=(0,p.scaleOrdinal)(z).domain([...O.keys()]);k.selectAll("mySlices").data(R).enter().append("path").attr("d",D).attr("fill",t=>H(t.data.label)).attr("class",t=>{let n="pieCircle";return"hover"===S.highlightSlice?n+=" highlightedOnHover":S.highlightSlice===t.data.label&&(n+=" highlighted"),n}),k.selectAll("mySlices").data(R).enter().append("text").text(t=>(t.data.value/F*100).toFixed(0)+"%").attr("transform",t=>"translate("+T.centroid(t)+")").style("text-anchor","middle").attr("class","slice");const P=x.append("text").text(u.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText"),W=[...O.entries()].map(([t,n])=>({label:t,value:n})),B=x.selectAll(".legend").data(W).enter().append("g").attr("class","legend");B.append("rect").attr("width",18).attr("height",18).style("fill",t=>H(t.label)).style("stroke",t=>H(t.label)),B.append("text").attr("x",22).attr("y",14).text(t=>u.getShowData()?`${t.label} [${t.value}]`:t.label);const E=Math.max(...B.selectAll("text").nodes().map(t=>t?.getBoundingClientRect().width??0));let j=450,L=490;const N=22,V=W.length*N;switch(b){case"center":B.attr("transform",(t,n)=>{const l=N*W.length/2;return"translate("+(-E/2-22)+","+(n*N-l)+")"});break;case"top":j+=V,B.attr("transform",(t,n)=>`translate(${-E/2-22}, ${n*N-C})`),k.attr("transform",()=>`translate(0, ${V+N})`);break;case"bottom":j+=V,B.attr("transform",(t,n)=>"translate("+(-E/2-22)+","+(n*N- -207)+")");break;case"left":L+=22+E,B.attr("transform",(t,n)=>{const l=N*W.length/2;return"translate(-207,"+(n*N-l)+")"}),k.attr("transform",()=>`translate(${E+18+4}, 0)`);break;default:L+=22+E,B.attr("transform",(t,n)=>{const l=N*W.length/2;return"translate(216,"+(n*N-l)+")"})}const q=P.node()?.getBoundingClientRect().width??0,G=225-q/2,I=225+q/2,J=Math.min(0,G),K=Math.max(L,I)-J;w.attr("viewBox",`${J} 0 ${K} ${j}`),(0,o.configureSvgSize)(w,j,K,S.useMaxWidth)},"draw")},styles:k}},
|
|
1
|
+
__d(function(g,r,i,a,m,e,_d2){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"diagram",{enumerable:!0,get:function(){return O}});var t=r(_d2[0]),n=r(_d2[1]),l=r(_d2[2]),o=r(_d2[3]),s=r(_d2[4]),c=r(_d2[5]),d=r(_d2[6]),p=r(_d2[7]),h=o.defaultConfig_default.pie,u={sections:new Map,showData:!1,config:h},f=u.sections,S=u.showData,w=structuredClone(h),x=(0,c.__name)(()=>structuredClone(w),"getConfig"),$=(0,c.__name)(()=>{f=new Map,S=u.showData,(0,o.clear)()},"clear"),_=(0,c.__name)(({label:t,value:n})=>{if(n<0)throw new Error(`"${t}" has invalid value: ${n}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);f.has(t)||(f.set(t,n),s.log.debug(`added new section: ${t}, with value: ${n}`))},"addSection"),b=(0,c.__name)(()=>f,"getSections"),v=(0,c.__name)(t=>{S=t},"setShowData"),y=(0,c.__name)(()=>S,"getShowData"),C={getConfig:x,clear:$,setDiagramTitle:o.setDiagramTitle,getDiagramTitle:o.getDiagramTitle,setAccTitle:o.setAccTitle,getAccTitle:o.getAccTitle,setAccDescription:o.setAccDescription,getAccDescription:o.getAccDescription,addSection:_,getSections:b,setShowData:v,getShowData:y},D=(0,c.__name)((n,l)=>{(0,t.populateCommonDb)(n,l),l.setShowData(n.showData),n.sections.map(l.addSection)},"populateDb"),T={parse:(0,c.__name)(async t=>{const n=await(0,d.parse)("pie",t);s.log.debug(n),D(n,C)},"parse")},k=(0,c.__name)(t=>`\n .pieCircle{\n stroke: ${t.pieStrokeColor};\n stroke-width : ${t.pieStrokeWidth};\n opacity : ${t.pieOpacity};\n }\n .pieCircle.highlighted{\n scale: 1.05;\n opacity: 1;\n }\n .pieCircle.highlightedOnHover:hover{\n transition-duration: 250ms;\n scale: 1.05;\n opacity: 1;\n }\n .pieOuterCircle{\n stroke: ${t.pieOuterStrokeColor};\n stroke-width: ${t.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${t.pieTitleTextSize};\n fill: ${t.pieTitleTextColor};\n font-family: ${t.fontFamily};\n }\n .slice {\n font-family: ${t.fontFamily};\n fill: ${t.pieSectionTextColor};\n font-size:${t.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${t.pieLegendTextColor};\n font-family: ${t.fontFamily};\n font-size: ${t.pieLegendTextSize};\n }\n`,"getStyles"),A=(0,c.__name)(t=>{const n=[...t.values()].reduce((t,n)=>t+n,0),l=[...t.entries()].map(([t,n])=>({label:t,value:n})).filter(t=>t.value/n*100>=1);return(0,p.pie)().value(t=>t.value).sort(null)(l)},"createPieArcs"),O={parser:T,db:C,renderer:{draw:(0,c.__name)((t,c,d,h)=>{s.log.debug("rendering pie chart\n"+t);const u=h.db,f=(0,o.getConfig2)(),S=(0,l.cleanAndMerge)(u.getConfig(),f.pie),w=(0,n.selectSvgElement)(c),x=w.append("g");x.attr("transform","translate(225,225)");const{themeVariables:$}=f;let[_]=(0,l.parseFontSize)($.pieOuterStrokeWidth);_??=2;const b=S.legendPosition,v=S.textPosition,y=S.donutHole>0&&S.donutHole<=.9?S.donutHole:0,C=Math.min(450,450)/2-40,D=(0,p.arc)().innerRadius(y*C).outerRadius(C),T=(0,p.arc)().innerRadius(C*v).outerRadius(C*v),k=x.append("g");k.append("circle").attr("cx",0).attr("cy",0).attr("r",C+_/2).attr("class","pieOuterCircle");const O=u.getSections(),M=A(O),z=[$.pie1,$.pie2,$.pie3,$.pie4,$.pie5,$.pie6,$.pie7,$.pie8,$.pie9,$.pie10,$.pie11,$.pie12];let F=0;O.forEach(t=>{F+=t});const R=M.filter(t=>"0"!==(t.data.value/F*100).toFixed(0)),H=(0,p.scaleOrdinal)(z).domain([...O.keys()]);k.selectAll("mySlices").data(R).enter().append("path").attr("d",D).attr("fill",t=>H(t.data.label)).attr("class",t=>{let n="pieCircle";return"hover"===S.highlightSlice?n+=" highlightedOnHover":S.highlightSlice===t.data.label&&(n+=" highlighted"),n}),k.selectAll("mySlices").data(R).enter().append("text").text(t=>(t.data.value/F*100).toFixed(0)+"%").attr("transform",t=>"translate("+T.centroid(t)+")").style("text-anchor","middle").attr("class","slice");const P=x.append("text").text(u.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText"),W=[...O.entries()].map(([t,n])=>({label:t,value:n})),B=x.selectAll(".legend").data(W).enter().append("g").attr("class","legend");B.append("rect").attr("width",18).attr("height",18).style("fill",t=>H(t.label)).style("stroke",t=>H(t.label)),B.append("text").attr("x",22).attr("y",14).text(t=>u.getShowData()?`${t.label} [${t.value}]`:t.label);const E=Math.max(...B.selectAll("text").nodes().map(t=>t?.getBoundingClientRect().width??0));let j=450,L=490;const N=22,V=W.length*N;switch(b){case"center":B.attr("transform",(t,n)=>{const l=N*W.length/2;return"translate("+(-E/2-22)+","+(n*N-l)+")"});break;case"top":j+=V,B.attr("transform",(t,n)=>`translate(${-E/2-22}, ${n*N-C})`),k.attr("transform",()=>`translate(0, ${V+N})`);break;case"bottom":j+=V,B.attr("transform",(t,n)=>"translate("+(-E/2-22)+","+(n*N- -207)+")");break;case"left":L+=22+E,B.attr("transform",(t,n)=>{const l=N*W.length/2;return"translate(-207,"+(n*N-l)+")"}),k.attr("transform",()=>`translate(${E+18+4}, 0)`);break;default:L+=22+E,B.attr("transform",(t,n)=>{const l=N*W.length/2;return"translate(216,"+(n*N-l)+")"})}const q=P.node()?.getBoundingClientRect().width??0,G=225-q/2,I=225+q/2,J=Math.min(0,G),K=Math.max(L,I)-J;w.attr("viewBox",`${J} 0 ${K} ${j}`),(0,o.configureSvgSize)(w,j,K,S.useMaxWidth)},"draw")},styles:k}},3292,[5153,3267,3277,3278,3279,3280,5152,3282]);
|
|
Binary file
|