{"_id":"@abstractframework/flow","_rev":"13-53f4839e55764a60d8c587fabc7f4ab8","name":"@abstractframework/flow","dist-tags":{"latest":"0.3.19"},"versions":{"0.1.0":{"name":"@abstractframework/flow","version":"0.1.0","keywords":["abstractframework","workflow","visual-editor","flow","ui","react","reactflow"],"author":{"name":"Laurent-Philippe Albou"},"license":"MIT","_id":"@abstractframework/flow@0.1.0","maintainers":[{"name":"lpalbou","email":"lpalbou@gmail.com"}],"homepage":"https://github.com/lpalbou/abstractflow#readme","bugs":{"url":"https://github.com/lpalbou/abstractflow/issues"},"bin":{"abstractflow":"bin/cli.js"},"dist":{"shasum":"395a4b063e0c640ab56f47acb1d8b2f4b74dc247","tarball":"https://registry.npmjs.org/@abstractframework/flow/-/flow-0.1.0.tgz","fileCount":6,"integrity":"sha512-/4/ODqlwukfhKDE/j1+yLlP4kI0bF5C65vcVFqPNtyFNhc9DRweUAmJvBMkLCTZpZ4MyM0OcfrLDwPQ31WyYkA==","signatures":[{"sig":"MEUCIQC1Rqg3tTgrjTUJoPrx+faGIckbtCvEimeFY7rIzjjtsAIgcYCwV6gA8u90lpqHXmuWHXv6WJrOUDkX3oQTCGdvtMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4055712},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"94d89b7f20a453d706e467f8e3e32dd9b17c58fd","scripts":{"dev":"vite --host --port 3003","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","start":"node ./bin/cli.js","preview":"vite preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"lpalbou","email":"lpalbou@gmail.com"},"repository":{"url":"git+https://github.com/lpalbou/abstractflow.git","type":"git","directory":"web/frontend"},"_npmVersion":"10.9.2","description":"Visual workflow editor for AbstractFramework - design, edit, and run flows visually","directories":{},"_nodeVersion":"23.11.0","dependencies":{"clsx":"^2.1.0","react":"^18.2.0","marked":"14.0.0","zustand":"^4.4.7","dompurify":"3.2.7","react-dom":"^18.2.0","reactflow":"^11.10.4","react-hot-toast":"^2.4.1","@monaco-editor/react":"^4.6.0","@tanstack/react-query":"^5.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.1","eslint":"^9.39.2","typescript":"^5.3.3","@types/react":"^18.2.48","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.7.0","@typescript-eslint/parser":"^8.54.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/flow_0.1.0_1770194714166_0.5178117097401504","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@abstractframework/flow","version":"0.1.1","keywords":["abstractframework","workflow","visual-editor","drag-and-drop","react"],"author":{"name":"Laurent-Philippe Albou"},"license":"MIT","_id":"@abstractframework/flow@0.1.1","maintainers":[{"name":"lpalbou","email":"lpalbou@gmail.com"}],"homepage":"https://github.com/lpalbou/abstractflow#readme","bugs":{"url":"https://github.com/lpalbou/abstractflow/issues"},"bin":{"abstractflow-editor":"bin/cli.js"},"dist":{"shasum":"6263685f83435666f1f947786fd41f5977259e25","tarball":"https://registry.npmjs.org/@abstractframework/flow/-/flow-0.1.1.tgz","fileCount":6,"integrity":"sha512-gvQFQVkTZ0vexGF1OAtbBR9/rFi2G2u7UEhxX60di8ClkAktM/g5TeUXWfIH3pVRRnj0V10yTHHjuJ3Bha57aQ==","signatures":[{"sig":"MEQCIGYrUIKs8tQpljMPDq2AEwNT6o0G1pSY8SU18rQ0ziKKAiBfezPvs1wdYI3aQD9rRV8kfc/cHWdPFG6jOuVhcl7i5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4070404},"type":"module","gitHead":"3c7eb0a95d2da2344ce39bedc87f4cb69234bafd","scripts":{"dev":"vite --host --port 3003","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","start":"node ./bin/cli.js","preview":"vite preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"lpalbou","email":"lpalbou@gmail.com"},"repository":{"url":"git+https://github.com/lpalbou/abstractflow.git","type":"git","directory":"web/frontend"},"_npmVersion":"10.9.2","description":"Visual workflow editor for AbstractFramework - drag-and-drop workflow authoring with real-time testing","directories":{},"_nodeVersion":"23.11.0","dependencies":{"clsx":"^2.1.0","react":"^18.2.0","marked":"14.0.0","zustand":"^4.4.7","dompurify":"3.2.7","react-dom":"^18.2.0","reactflow":"^11.10.4","react-hot-toast":"^2.4.1","@monaco-editor/react":"^4.6.0","@tanstack/react-query":"^5.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.1","eslint":"^9.39.2","typescript":"^5.3.3","@types/react":"^18.2.48","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.7.0","@typescript-eslint/parser":"^8.54.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/flow_0.1.1_1770278989845_0.7871714012867277","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@abstractframework/flow","version":"0.1.2","keywords":["abstractframework","workflow","visual-editor","drag-and-drop","react"],"author":{"name":"Laurent-Philippe Albou"},"license":"MIT","_id":"@abstractframework/flow@0.1.2","maintainers":[{"name":"lpalbou","email":"lpalbou@gmail.com"}],"homepage":"https://github.com/lpalbou/abstractflow#readme","bugs":{"url":"https://github.com/lpalbou/abstractflow/issues"},"bin":{"abstractflow-editor":"bin/cli.js"},"dist":{"shasum":"5241055cabf65925a7ead3ca20eb7dcfd7a54ad1","tarball":"https://registry.npmjs.org/@abstractframework/flow/-/flow-0.1.2.tgz","fileCount":6,"integrity":"sha512-Tw6kSD6uOeEyCNtuLf/lV3qn5yWGEv6aKysaTONB7qjB1ijP8ZME4biMOSvBce1FGIPOStxylLnZDrml/jGoGg==","signatures":[{"sig":"MEYCIQDorh6dewsYlUm4HlirYoKGidZjhOit8evkxzLuxljgMwIhAOi/91V6RrK9wbbC1kc6ofeNu6/igWL+v0VHW67/csSJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4070404},"type":"module","gitHead":"2f714fb14261cc45e4cd7bcedca689bd4c4d0d0f","scripts":{"dev":"vite --host --port 3003","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","start":"node ./bin/cli.js","preview":"vite preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"lpalbou","email":"lpalbou@gmail.com"},"repository":{"url":"git+https://github.com/lpalbou/abstractflow.git","type":"git","directory":"web/frontend"},"_npmVersion":"10.9.2","description":"Visual workflow editor for AbstractFramework - drag-and-drop workflow authoring with real-time testing","directories":{},"_nodeVersion":"23.11.0","dependencies":{"clsx":"^2.1.0","react":"^18.2.0","marked":"14.0.0","zustand":"^4.4.7","dompurify":"3.2.7","react-dom":"^18.2.0","reactflow":"^11.10.4","react-hot-toast":"^2.4.1","@monaco-editor/react":"^4.6.0","@tanstack/react-query":"^5.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.1","eslint":"^9.39.2","typescript":"^5.3.3","@types/react":"^18.2.48","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.7.0","@typescript-eslint/parser":"^8.54.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/flow_0.1.2_1770287377180_0.7037373229703505","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@abstractframework/flow","version":"0.1.5","keywords":["abstractframework","workflow","visual-editor","drag-and-drop","react"],"author":{"name":"Laurent-Philippe Albou"},"license":"MIT","_id":"@abstractframework/flow@0.1.5","maintainers":[{"name":"lpalbou","email":"lpalbou@gmail.com"}],"homepage":"https://github.com/lpalbou/abstractflow#readme","bugs":{"url":"https://github.com/lpalbou/abstractflow/issues"},"bin":{"abstractflow-editor":"bin/cli.js"},"dist":{"shasum":"2544094d43f3f3cb5803374130ef34efead89ffb","tarball":"https://registry.npmjs.org/@abstractframework/flow/-/flow-0.1.5.tgz","fileCount":7,"integrity":"sha512-xH6H1UoGqsynQHnFHm0Aj5UxGHfeEACCZhLG6y9Q6OvCBJl0Y4UxUB5EunidpJQWgIfAcSM75r4/o7wsbQXn5Q==","signatures":[{"sig":"MEUCIHpSd6wrkrJHY8iEG0k5Fzsl3DFXePzITAxBPuZO034MAiEA42L6MvJgIAUjlIQvK+L/Dn9m0/zmfTacf6+0sYmF/8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4077362},"type":"module","gitHead":"db36e4592167385db531782ef9681a4c9ee9174d","scripts":{"dev":"vite --host --port 3003","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","start":"node ./bin/cli.js","preview":"vite preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"lpalbou","email":"lpalbou@gmail.com"},"repository":{"url":"git+https://github.com/lpalbou/abstractflow.git","type":"git","directory":"web/frontend"},"_npmVersion":"10.9.2","description":"Visual workflow editor for AbstractFramework - drag-and-drop workflow authoring with real-time testing","directories":{},"_nodeVersion":"23.11.0","dependencies":{"clsx":"^2.1.0","react":"^18.2.0","marked":"14.0.0","zustand":"^4.4.7","dompurify":"3.2.7","react-dom":"^18.2.0","reactflow":"^11.10.4","react-hot-toast":"^2.4.1","@monaco-editor/react":"^4.6.0","@tanstack/react-query":"^5.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.1","eslint":"^9.39.2","typescript":"^5.3.3","@types/react":"^18.2.48","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.7.0","@typescript-eslint/parser":"^8.54.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/flow_0.1.5_1770554625582_0.4432981210306657","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@abstractframework/flow","version":"0.1.6","keywords":["abstractframework","workflow","visual-editor","drag-and-drop","react"],"author":{"name":"Laurent-Philippe Albou"},"license":"MIT","_id":"@abstractframework/flow@0.1.6","maintainers":[{"name":"lpalbou","email":"lpalbou@gmail.com"}],"homepage":"https://github.com/lpalbou/abstractflow#readme","bugs":{"url":"https://github.com/lpalbou/abstractflow/issues"},"bin":{"abstractflow-editor":"bin/cli.js"},"dist":{"shasum":"b30a45217fb78725ce741b444f10b7e8476e5bd1","tarball":"https://registry.npmjs.org/@abstractframework/flow/-/flow-0.1.6.tgz","fileCount":7,"integrity":"sha512-de+gOWbCDaURFl4FPkCyG341TXtXNrc1xQvWExszFaTEF0qu9JrabNn8Y2mMSZcKScfxAQ6Pq5xqNEoWXW88hw==","signatures":[{"sig":"MEYCIQDv4yXjrfXJWKuojc1lC3/nmuyBgQPhUR7TvcfEo330iQIhAPd6lgVH7cdzuInu1R0XlJxb/62YcsrzbXt8mTlDOBHF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4077362},"type":"module","gitHead":"1f5a5848853460b8e86feb888772f6a3cc9f9027","scripts":{"dev":"vite --host --port 3003","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","start":"node ./bin/cli.js","preview":"vite preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"lpalbou","email":"lpalbou@gmail.com"},"repository":{"url":"git+https://github.com/lpalbou/abstractflow.git","type":"git","directory":"web/frontend"},"_npmVersion":"10.9.2","description":"Visual workflow editor for AbstractFramework - drag-and-drop workflow authoring with real-time testing","directories":{},"_nodeVersion":"23.11.0","dependencies":{"clsx":"^2.1.0","react":"^18.2.0","marked":"14.0.0","zustand":"^4.4.7","dompurify":"3.2.7","react-dom":"^18.2.0","reactflow":"^11.10.4","react-hot-toast":"^2.4.1","@monaco-editor/react":"^4.6.0","@tanstack/react-query":"^5.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.1","eslint":"^9.39.2","typescript":"^5.3.3","@types/react":"^18.2.48","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.7.0","@typescript-eslint/parser":"^8.54.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/flow_0.1.6_1770563562150_0.048292195999972254","host":"s3://npm-registry-packages-npm-production"}},"0.3.11":{"name":"@abstractframework/flow","version":"0.3.11","keywords":["abstractframework","workflow","visual-editor","drag-and-drop","react"],"author":{"name":"Laurent-Philippe Albou"},"license":"MIT","_id":"@abstractframework/flow@0.3.11","maintainers":[{"name":"lpalbou","email":"lpalbou@gmail.com"}],"homepage":"https://github.com/lpalbou/AbstractFlow#readme","bugs":{"url":"https://github.com/lpalbou/AbstractFlow/issues"},"bin":{"abstractflow-editor":"bin/cli.js"},"dist":{"shasum":"72c5a24f45576c9a01fce529f5c009646cf38386","tarball":"https://registry.npmjs.org/@abstractframework/flow/-/flow-0.3.11.tgz","fileCount":7,"integrity":"sha512-xUKleXH76G7Q/RmxCfWHM7M3zB1UY1wLwgJ6rn5ay2omgDYtgP1dvYkHtUyr+KL3bJoa5s2j/7o4ri23CaKWLw==","signatures":[{"sig":"MEUCIQDixGt5Cn5HrIJDTDMqCDA6mq7w+Bf7ilJU8A812eKx2wIgWX4qBM5zZeR0sR1z5YcpJEdEVwF2h8fB1GQmU5XA7cI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abstractframework%2fflow@0.3.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4424919},"type":"module","gitHead":"606c95ca60ffd826e934b55da5b54bb7e1c007b1","scripts":{"dev":"vite --host --port 3003","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","start":"node ./bin/cli.js","preview":"vite preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5b3f1ebe-1ec9-48c7-a9bc-42fbeb35d248"}},"repository":{"url":"git+https://github.com/lpalbou/AbstractFlow.git","type":"git","directory":"web/frontend"},"_npmVersion":"11.11.0","description":"Visual workflow editor for AbstractFramework - drag-and-drop workflow authoring with real-time testing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"clsx":"^2.1.0","react":"^18.2.0","marked":"14.0.0","zustand":"^4.4.7","dompurify":"3.2.7","react-dom":"^18.2.0","reactflow":"^11.10.4","react-hot-toast":"^2.4.1","@monaco-editor/react":"^4.6.0","@tanstack/react-query":"^5.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.1","eslint":"^9.39.2","typescript":"^5.3.3","@types/react":"^18.2.48","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.7.0","@typescript-eslint/parser":"^8.54.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/flow_0.3.11_1778653192994_0.3648985196136323","host":"s3://npm-registry-packages-npm-production"}},"0.3.12":{"name":"@abstractframework/flow","version":"0.3.12","keywords":["abstractframework","workflow","visual-editor","drag-and-drop","react"],"author":{"name":"Laurent-Philippe Albou"},"license":"MIT","_id":"@abstractframework/flow@0.3.12","maintainers":[{"name":"lpalbou","email":"lpalbou@gmail.com"}],"homepage":"https://github.com/lpalbou/AbstractFlow#readme","bugs":{"url":"https://github.com/lpalbou/AbstractFlow/issues"},"bin":{"abstractflow-editor":"bin/cli.js"},"dist":{"shasum":"309e8c2457d73ab5d442f068726e20952f913f31","tarball":"https://registry.npmjs.org/@abstractframework/flow/-/flow-0.3.12.tgz","fileCount":7,"integrity":"sha512-YVkSHMyILfQs+hKxUq5gEtsDBC1sHvREAJ2qGgBBdXfkws8fvlJEkqm+2lVPDNA5Siud0ZtDQc2XBKPnPpG8KQ==","signatures":[{"sig":"MEUCIQDSS6WIvH5S7EWYwN1iFOB4xDMruteAq5F5TJhZusui3QIgY+thTd0o7GvF7j9QoZM0Q/8amVbZ1P9BLMCU1ZQ++As=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abstractframework%2fflow@0.3.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4780533},"type":"module","gitHead":"40c5f699f9c268d370efe722d49506c86cc6c5d7","scripts":{"dev":"vite --host --port 3003","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","start":"node ./bin/cli.js","preview":"vite preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5b3f1ebe-1ec9-48c7-a9bc-42fbeb35d248"}},"repository":{"url":"git+https://github.com/lpalbou/AbstractFlow.git","type":"git","directory":"web/frontend"},"_npmVersion":"11.12.1","description":"Visual workflow editor for AbstractFramework - drag-and-drop workflow authoring with real-time testing","directories":{},"_nodeVersion":"24.15.0","dependencies":{"clsx":"^2.1.0","react":"^18.2.0","marked":"14.0.0","zustand":"^4.4.7","dompurify":"3.2.7","react-dom":"^18.2.0","reactflow":"^11.10.4","react-hot-toast":"^2.4.1","@monaco-editor/react":"^4.6.0","@tanstack/react-query":"^5.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.1","eslint":"^9.39.2","typescript":"^5.3.3","@types/react":"^18.2.48","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.7.0","@typescript-eslint/parser":"^8.54.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/flow_0.3.12_1779166450415_0.8236473646072211","host":"s3://npm-registry-packages-npm-production"}},"0.3.13":{"name":"@abstractframework/flow","version":"0.3.13","keywords":["abstractframework","workflow","visual-editor","drag-and-drop","react"],"author":{"name":"Laurent-Philippe Albou"},"license":"MIT","_id":"@abstractframework/flow@0.3.13","maintainers":[{"name":"lpalbou","email":"lpalbou@gmail.com"}],"homepage":"https://github.com/lpalbou/AbstractFlow#readme","bugs":{"url":"https://github.com/lpalbou/AbstractFlow/issues"},"bin":{"abstractflow-editor":"bin/cli.js"},"dist":{"shasum":"2fa72a4ff76af3b56c7fe2cc47daa6f7a16d7c67","tarball":"https://registry.npmjs.org/@abstractframework/flow/-/flow-0.3.13.tgz","fileCount":7,"integrity":"sha512-sq1BDLwO/heysn1HZtEaGb+8JGTg244ffU/2cdXiMl/u/VcPQNrFxFnqmHSBB4AHpYi1M3I5VRBQnYa44+MSAA==","signatures":[{"sig":"MEYCIQCN8gtL55lymArlpqtv8hxA2FB+mzzWd9BMfQZ+3d6hlAIhAOmux9w9gMikjwLkAfeFmMjCjT1v/BFj917CW2OOKlby","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abstractframework%2fflow@0.3.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5239150},"type":"module","gitHead":"b53a990ff32200fc914c003fab4b3489e0ef4e15","scripts":{"dev":"vite --host --port 3003","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","start":"node ./bin/cli.js","preview":"vite preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5b3f1ebe-1ec9-48c7-a9bc-42fbeb35d248"}},"repository":{"url":"git+https://github.com/lpalbou/AbstractFlow.git","type":"git","directory":"web/frontend"},"_npmVersion":"11.12.1","description":"Visual workflow editor for AbstractFramework - drag-and-drop workflow authoring with real-time testing","directories":{},"_nodeVersion":"24.15.0","dependencies":{"clsx":"^2.1.0","react":"^18.2.0","marked":"14.0.0","zustand":"^4.4.7","dompurify":"3.2.7","react-dom":"^18.2.0","reactflow":"^11.10.4","react-hot-toast":"^2.4.1","@monaco-editor/react":"^4.6.0","@tanstack/react-query":"^5.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.1","eslint":"^9.39.2","typescript":"^5.3.3","@types/react":"^18.2.48","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.7.0","@typescript-eslint/parser":"^8.54.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/flow_0.3.13_1779578627685_0.05945588290704462","host":"s3://npm-registry-packages-npm-production"}},"0.3.14":{"name":"@abstractframework/flow","version":"0.3.14","keywords":["abstractframework","workflow","visual-editor","drag-and-drop","react"],"author":{"name":"Laurent-Philippe Albou"},"license":"MIT","_id":"@abstractframework/flow@0.3.14","maintainers":[{"name":"lpalbou","email":"lpalbou@gmail.com"}],"homepage":"https://github.com/lpalbou/AbstractFlow#readme","bugs":{"url":"https://github.com/lpalbou/AbstractFlow/issues"},"bin":{"abstractflow-editor":"bin/cli.js"},"dist":{"shasum":"2871c3b2ec52c80d1597698ae351db4c627207f3","tarball":"https://registry.npmjs.org/@abstractframework/flow/-/flow-0.3.14.tgz","fileCount":7,"integrity":"sha512-XCh/TxMidYD2295/dc9/5pO6t1ogKvF4L7Zshge12umOISHJw33Pxl7s2OwZhc0km7QKsOvB/NwO6T1CkaclPw==","signatures":[{"sig":"MEUCIFA+KJcwZRWI1kcU4u+rskyLDmaCRnHkdFocre0rb8T9AiEArZzwTsxPUAyWg8/P8r+XosPpFW9IfLhJA5apkvpEL5g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abstractframework%2fflow@0.3.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5532722},"type":"module","gitHead":"a85ec3ea444c990f5ad867e60bb6cbc234455f02","scripts":{"dev":"vite --host --port 3003","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","start":"node ./bin/cli.js","preview":"vite preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5b3f1ebe-1ec9-48c7-a9bc-42fbeb35d248"}},"repository":{"url":"git+https://github.com/lpalbou/AbstractFlow.git","type":"git","directory":"web/frontend"},"_npmVersion":"11.12.1","description":"Visual workflow editor for AbstractFramework - drag-and-drop workflow authoring with real-time testing","directories":{},"_nodeVersion":"24.15.0","dependencies":{"clsx":"^2.1.0","react":"^18.2.0","marked":"14.0.0","zustand":"^4.4.7","dompurify":"3.2.7","react-dom":"^18.2.0","reactflow":"^11.10.4","react-hot-toast":"^2.4.1","@monaco-editor/react":"^4.6.0","@tanstack/react-query":"^5.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.1","eslint":"^9.39.2","typescript":"^5.3.3","@types/react":"^18.2.48","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.7.0","@typescript-eslint/parser":"^8.54.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/flow_0.3.14_1779768218009_0.17585499637339685","host":"s3://npm-registry-packages-npm-production"}},"0.3.15":{"name":"@abstractframework/flow","version":"0.3.15","keywords":["abstractframework","workflow","visual-editor","drag-and-drop","react"],"author":{"name":"Laurent-Philippe Albou"},"license":"MIT","_id":"@abstractframework/flow@0.3.15","maintainers":[{"name":"lpalbou","email":"lpalbou@gmail.com"}],"homepage":"https://github.com/lpalbou/AbstractFlow#readme","bugs":{"url":"https://github.com/lpalbou/AbstractFlow/issues"},"bin":{"abstractflow-editor":"bin/cli.js"},"dist":{"shasum":"bee9a2962828e115c38c733a44d1d91675c82631","tarball":"https://registry.npmjs.org/@abstractframework/flow/-/flow-0.3.15.tgz","fileCount":7,"integrity":"sha512-TEWfqotVc72PGYavY5Na7sro52Ff0LVb+7IptkkHPjdOJr9L0lVa3QGzHNt+wrS+Qvwe2trvZvubNXZErEMygQ==","signatures":[{"sig":"MEQCIHU4shbn3/wMuex0jBHZICupwJZm7t0okHmOj3McdUAYAiAMac6VuNcbSPnKDXitWYaYS/1LltU/NrrGdPiveiUsIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abstractframework%2fflow@0.3.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5637966},"type":"module","gitHead":"b6ec179e9d760193702a63bc02a78fa42f74d780","scripts":{"dev":"vite --host --port 3003","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","start":"node ./bin/cli.js","preview":"vite preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5b3f1ebe-1ec9-48c7-a9bc-42fbeb35d248"}},"repository":{"url":"git+https://github.com/lpalbou/AbstractFlow.git","type":"git","directory":"web/frontend"},"_npmVersion":"11.12.1","description":"Visual workflow editor for AbstractFramework - drag-and-drop workflow authoring with real-time testing","directories":{},"_nodeVersion":"24.15.0","dependencies":{"clsx":"^2.1.0","react":"^18.2.0","marked":"14.0.0","zustand":"^4.4.7","dompurify":"3.2.7","react-dom":"^18.2.0","reactflow":"^11.10.4","react-hot-toast":"^2.4.1","@monaco-editor/react":"^4.6.0","@tanstack/react-query":"^5.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.1","eslint":"^9.39.2","typescript":"^5.3.3","@types/react":"^18.2.48","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.7.0","@typescript-eslint/parser":"^8.54.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/flow_0.3.15_1779817062267_0.0182695243927935","host":"s3://npm-registry-packages-npm-production"}},"0.3.16":{"name":"@abstractframework/flow","version":"0.3.16","keywords":["abstractframework","workflow","visual-editor","drag-and-drop","react"],"author":{"name":"Laurent-Philippe Albou"},"license":"MIT","_id":"@abstractframework/flow@0.3.16","maintainers":[{"name":"lpalbou","email":"lpalbou@gmail.com"}],"homepage":"https://github.com/lpalbou/AbstractFlow#readme","bugs":{"url":"https://github.com/lpalbou/AbstractFlow/issues"},"bin":{"abstractflow-editor":"bin/cli.js"},"dist":{"shasum":"de371fd774469132aca087af1c025efeef353483","tarball":"https://registry.npmjs.org/@abstractframework/flow/-/flow-0.3.16.tgz","fileCount":7,"integrity":"sha512-Z/Ru8kDwAUj6FR/BYG2+AratA2WRKfGYQ5TkIpUmtCSfa5EzL5Qa+f4B3ronSW1BrXW09wBhBPexFrqYcqQqcw==","signatures":[{"sig":"MEUCIQDeSDgtCqqZVUhh4+wL6buPgryOG9nKHsmZ/hz5VuHCvAIgOzAML7x1R8xKDfu0+NYONhtyVRbleUdkwvyu5gNE47A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abstractframework%2fflow@0.3.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5744322},"type":"module","gitHead":"9f07ebdd9d11357cc5066635140031314d39dfb8","scripts":{"dev":"vite --host --port 3003","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","start":"node ./bin/cli.js","preview":"vite preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5b3f1ebe-1ec9-48c7-a9bc-42fbeb35d248"}},"repository":{"url":"git+https://github.com/lpalbou/AbstractFlow.git","type":"git","directory":"web/frontend"},"_npmVersion":"11.13.0","description":"Visual workflow editor for AbstractFramework - drag-and-drop workflow authoring with real-time testing","directories":{},"_nodeVersion":"24.16.0","dependencies":{"clsx":"^2.1.0","react":"^18.2.0","marked":"14.0.0","zustand":"^4.4.7","dompurify":"3.2.7","react-dom":"^18.2.0","reactflow":"^11.10.4","react-hot-toast":"^2.4.1","@monaco-editor/react":"^4.6.0","@tanstack/react-query":"^5.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.1","eslint":"^9.39.2","typescript":"^5.3.3","@types/react":"^18.2.48","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.7.0","@typescript-eslint/parser":"^8.54.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/flow_0.3.16_1780048970421_0.5895996785550472","host":"s3://npm-registry-packages-npm-production"}},"0.3.17":{"name":"@abstractframework/flow","version":"0.3.17","keywords":["abstractframework","workflow","visual-editor","drag-and-drop","react"],"author":{"name":"Laurent-Philippe Albou"},"license":"MIT","_id":"@abstractframework/flow@0.3.17","maintainers":[{"name":"lpalbou","email":"lpalbou@gmail.com"}],"homepage":"https://github.com/lpalbou/AbstractFlow#readme","bugs":{"url":"https://github.com/lpalbou/AbstractFlow/issues"},"bin":{"abstractflow-editor":"bin/cli.js"},"dist":{"shasum":"df73402600a99c9e186b08510fd08bdea620f9c8","tarball":"https://registry.npmjs.org/@abstractframework/flow/-/flow-0.3.17.tgz","fileCount":7,"integrity":"sha512-3PtB1yvfyJ45VZvuDo811Y4lIhCSloMuFKyzWaT8bltWnxSt+NpEDNWHkzP8ul/M+o4T4/yFG8/FqlpVOnCCqQ==","signatures":[{"sig":"MEYCIQDfZFunrKFBedgx+9uDKPgTSjJuByamByeM+8rXPK/mtQIhANiKdOv6/BaIVGtqhC/LV7GJNuhkNOIO0XGfxq+0FLz9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abstractframework%2fflow@0.3.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5782313},"type":"module","gitHead":"50c3cfce8009dea0438bf5de16b45fba6e801cd3","scripts":{"dev":"vite --host --port 3003","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","start":"node ./bin/cli.js","preview":"vite preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5b3f1ebe-1ec9-48c7-a9bc-42fbeb35d248"}},"repository":{"url":"git+https://github.com/lpalbou/AbstractFlow.git","type":"git","directory":"web/frontend"},"_npmVersion":"11.13.0","description":"Visual workflow editor for AbstractFramework - drag-and-drop workflow authoring with real-time testing","directories":{},"_nodeVersion":"24.16.0","dependencies":{"clsx":"^2.1.0","react":"^18.2.0","marked":"14.0.0","zustand":"^4.4.7","dompurify":"3.2.7","react-dom":"^18.2.0","reactflow":"^11.10.4","react-hot-toast":"^2.4.1","@monaco-editor/react":"^4.6.0","@tanstack/react-query":"^5.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.4.1","eslint":"^9.39.2","typescript":"^5.3.3","@types/react":"^18.2.48","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.7.0","@typescript-eslint/parser":"^8.54.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/flow_0.3.17_1780220063933_0.4610559138689998","host":"s3://npm-registry-packages-npm-production"}},"0.3.19":{"name":"@abstractframework/flow","version":"0.3.19","description":"AbstractFlow visual workflow editor for AbstractFramework","type":"module","author":{"name":"Laurent-Philippe Albou"},"license":"MIT","keywords":["abstractframework","workflow","visual-editor","drag-and-drop","react"],"repository":{"type":"git","url":"git+https://github.com/lpalbou/AbstractFlow.git"},"homepage":"https://github.com/lpalbou/AbstractFlow#readme","publishConfig":{"access":"public"},"bin":{"abstractflow-editor":"bin/cli.js"},"scripts":{"dev":"vite --host --port 3003","build":"tsc && vite build","preview":"vite preview","start":"node ./bin/cli.js","test":"vitest run","docs:llms":"node ./scripts/generate-llms-full.mjs","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","prepublishOnly":"npm run build"},"dependencies":{"react":"^18.2.0","react-dom":"^18.2.0","reactflow":"^11.10.4","@monaco-editor/react":"^4.6.0","@tanstack/react-query":"^5.17.0","zustand":"^4.4.7","react-hot-toast":"^2.4.1","clsx":"^2.1.0","dompurify":"3.2.7","marked":"14.0.0"},"devDependencies":{"@types/react":"^18.2.48","@types/react-dom":"^18.2.18","@typescript-eslint/eslint-plugin":"^8.54.0","@typescript-eslint/parser":"^8.54.0","@vitejs/plugin-react":"^4.7.0","eslint":"^9.39.2","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.0","typescript":"^5.3.3","vite":"^6.4.1","vitest":"^4.1.8"},"gitHead":"5f262d4a545a0974dafeefbae4e57fe21137c85a","_id":"@abstractframework/flow@0.3.19","bugs":{"url":"https://github.com/lpalbou/AbstractFlow/issues"},"_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-Yd2spNDko3oN9jEQmr1xyjoQEbnt2fYZqKc3bu3Ld7ljd0vdBK97x/5dRx/+nkUZNKGYjJ9VK4b7uLJ3V2cghg==","shasum":"a2a58ea79e3747ddf5062ccdf7b8364f0a1ac8bc","tarball":"https://registry.npmjs.org/@abstractframework/flow/-/flow-0.3.19.tgz","fileCount":8,"unpackedSize":7048295,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abstractframework%2fflow@0.3.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFlKXgQ8CZvqc7IknuuJcAT5mXe4Sk2ueoFKFaORJ1LeAiBHnQk2y90QnShACuZPD6Vo2VD8ToLjfYmG2El67FyCRQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5b3f1ebe-1ec9-48c7-a9bc-42fbeb35d248"}},"directories":{},"maintainers":[{"name":"lpalbou","email":"lpalbou@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/flow_0.3.19_1781463148003_0.5381207680442499"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-04T08:45:14.113Z","modified":"2026-06-14T18:52:28.412Z","0.1.0":"2026-02-04T08:45:14.358Z","0.1.1":"2026-02-05T08:09:50.049Z","0.1.2":"2026-02-05T10:29:37.355Z","0.1.5":"2026-02-08T12:43:45.815Z","0.1.6":"2026-02-08T15:12:42.383Z","0.3.11":"2026-05-13T06:19:53.193Z","0.3.12":"2026-05-19T04:54:10.642Z","0.3.13":"2026-05-23T23:23:47.890Z","0.3.14":"2026-05-26T04:03:38.250Z","0.3.15":"2026-05-26T17:37:42.466Z","0.3.16":"2026-05-29T10:02:50.636Z","0.3.17":"2026-05-31T09:34:24.099Z","0.3.19":"2026-06-14T18:52:28.179Z"},"bugs":{"url":"https://github.com/lpalbou/AbstractFlow/issues"},"author":{"name":"Laurent-Philippe Albou"},"license":"MIT","homepage":"https://github.com/lpalbou/AbstractFlow#readme","keywords":["abstractframework","workflow","visual-editor","drag-and-drop","react"],"repository":{"type":"git","url":"git+https://github.com/lpalbou/AbstractFlow.git"},"description":"AbstractFlow visual workflow editor for AbstractFramework","maintainers":[{"name":"lpalbou","email":"lpalbou@gmail.com"}],"readme":"# AbstractFlow\n\nAbstractFlow is the visual workflow editor for AbstractFramework.\n\nIt is a web package (`@abstractframework/flow`). It runs a browser editor and a small Node server that serves the built UI and proxies `/api/*` to AbstractGateway. AbstractGateway owns users, sessions, runtime routing, provider configuration, workflow storage, run execution, ledgers, artifacts, and media catalogs.\n\n## Install\n\n```bash\nnpx @abstractframework/flow --gateway-url http://127.0.0.1:8080\n```\n\nFor a local checkout:\n\n```bash\nnpm install\nnpm run dev -- --host 0.0.0.0 --port 3003\n```\n\nOpen http://localhost:3003 and sign in with the Gateway user and token created by AbstractGateway.\nLeave provider/model selectors on `Auto (Gateway default)` for portable\nworkflows. Gateway/Core capability defaults choose the actual provider/model at\nrun time for the current user/runtime.\n\nText model selectors use Gateway's Core-backed `capability_route` discovery\nfilters, so normal LLM pickers request `output.text` models. The Models Catalog\nnode can store a route such as `input.image,output.text` to discover provider\nmodels for a specific input/output shape while the workflow runs.\n\nLLM Call and Agent nodes include a Reasoning control backed by Core's\n`thinking` option. Leave it on Auto to inherit the Gateway/runtime default, or\nset/pin values such as `off`, `low`, `medium`, `high`, or `xhigh` for reasoning\nmodels that support explicit effort controls.\n\nLLM Call and Agent response schemas can be defined directly on the unconnected\n`resp_schema` pin. The Builder tab creates ordinary JSON Schema, including\nChoice fields saved as `enum` values. Connected schema inputs override the\ninline default, and published workflows keep the schema in\n`data.pinDefaults.resp_schema` for Gateway/Runtime execution. When a response\nschema is configured, `response` remains the text output and a structured\n`data` object output is shown for Break Object, Switch, and other object-aware\nnodes.\n\nMedia artifact inputs can be wired from another node or uploaded directly on\nthe node when the artifact pin is unconnected. Uploaded browser files are stored\nas Gateway artifacts. Image generation, editing, restoration/upscaling, video,\nvoice, music, and transcription nodes all execute through Gateway-advertised\ncapabilities. During `Listen Voice` waits, Flow records in the browser,\nuploads the captured audio artifact, and resumes the Gateway run; Flow does not\nexecute local audio or transcription logic itself.\n\nVision media nodes now surface Gateway/Core's richer route contract directly in\nauthoring:\n\n- task-scoped provider/model discovery for `text_to_image`, `image_to_image`,\n  `text_to_video`, and `image_to_video`\n- batch generation controls with `count` and explicit ordered `seeds`\n- ordered `lora_adapters` stacks for compatible image/video models\n- plural media outputs such as `image_artifacts` and `video_artifacts` when a\n  route returns more than one artifact in one call\n\nThe editor keeps those controls in the right-side Properties drawer and only\nsurfaces them on nodes whose Gateway contract advertises the corresponding\nsupport.\n\nFile and document workflows can use `Write File` for Markdown/JSON/text paths,\n`Read File` for UTF-8/JSON inputs, `Read PDF` for extracting PDF text/metadata,\nand `Write PDF` for rendering report content to a real PDF path through\nRuntime.\n\nThe toolbar star opens the Workflow Authoring Assistant in the right drawer.\nThe assistant reads `docs/workflow-authoring-skill.md` plus a compact generated\nnode catalog, uses Gateway's default `output.text` model by starting normal\nGateway planner runs unless a model is pinned, and reads planner responses from\nrun ledgers. The model authors the complete workflow as one JSON document; the\neditor diffs it against the draft canvas and applies only validated edits. It can\ncreate or refine common workflows such as internet research, deep research, news\ndigests, and job searches; Save, Publish, and Run remain explicit user actions.\n\n## Gateway Setup\n\n```bash\nexport ABSTRACTGATEWAY_USER_AUTH=1\nexport ABSTRACTGATEWAY_DATA_DIR=\"$PWD/runtime/gateway\"\nabstractgateway serve --host 127.0.0.1 --port 8080\ncat \"$ABSTRACTGATEWAY_DATA_DIR/auth/bootstrap-admin-token\"\n```\n\nUse:\n\n- Gateway URL: `http://127.0.0.1:8080`\n- User: `admin`\n- Token: the `agw_...` token printed by Gateway or stored in `auth/bootstrap-admin-token`\n\n## What Lives Here\n\n- `src/` - React/Vite visual editor.\n- `bin/cli.js` - npm CLI/static server and Gateway proxy.\n- `examples/flows/` - sample VisualFlow JSON files kept for reference/import tests.\n- `docs/` - external documentation for users and contributors.\n\nAbstractFlow does not ship a Python package or local execution host. VisualFlow compilation, bundle execution, runtime state, and provider calls are handled by AbstractGateway and AbstractRuntime.\n\n## Scripts\n\n```bash\nnpm run dev\nnpm run build\nnpm run lint\nnpm run docs:llms\n```\n\n## Documentation\n\n- [Getting started](docs/getting-started.md)\n- [Web editor](docs/web-editor.md)\n- [Architecture](docs/architecture.md)\n- [API and contracts](docs/api.md)\n- [VisualFlow JSON](docs/visualflow.md)\n- [CLI](docs/cli.md)\n- [FAQ](docs/faq.md)\n\n## Related Projects\n\n- AbstractFramework: https://github.com/lpalbou/AbstractFramework\n- AbstractGateway: https://github.com/lpalbou/AbstractGateway\n- AbstractRuntime: https://github.com/lpalbou/AbstractRuntime\n- AbstractCore: https://github.com/lpalbou/AbstractCore\n\n## Policies\n\n- Changelog: [CHANGELOG.md](CHANGELOG.md)\n- Contributing: [CONTRIBUTING.md](CONTRIBUTING.md)\n- Security: [SECURITY.md](SECURITY.md)\n- License: [LICENSE](LICENSE)\n","readmeFilename":"README.md"}