{"_id":"@clxmedia/cliq-flow","_rev":"12-fe46212c64360a93f11ea6917e6fb661","name":"@clxmedia/cliq-flow","dist-tags":{"latest":"1.0.11"},"versions":{"1.0.0":{"name":"@clxmedia/cliq-flow","version":"1.0.0","author":{"name":"Brandon Thompson","email":"brandont@clxmedia.com"},"license":"MIT","_id":"@clxmedia/cliq-flow@1.0.0","maintainers":[{"name":"btaustin","email":"brandon@btaustin.com"},{"name":"dwene","email":"derek@lambdacurry.dev"}],"bugs":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"dist":{"shasum":"09abc609275d472474865b33707ae15883755258","tarball":"https://registry.npmjs.org/@clxmedia/cliq-flow/-/cliq-flow-1.0.0.tgz","fileCount":13,"integrity":"sha512-qbR5GOV5g2+PXfrtY3unT75ixiavdRMyfXEVXMo68S2HYhie3l/P3CemPQXqoRk6rtMKm2ELGBheiaNbTnHkIA==","signatures":[{"sig":"MEQCIFuURVfm+0h6Zs/rkcVErB1lc6N1OVTvLuxSNezmSSZwAiBgiN0TsZfF6vmINuzAtyvaIneyvFBhtIJZ4bUU9aB1SQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5809},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"},"./constants":"./dist/constants.js","./flow-engine":"./dist/flow-engine.js"},"gitHead":"85e3c814201a83fa99e5cc80981b880651f20adc","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"vitest run","build":"rm -Rf dist && tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","test:cov":"vitest run --coverage","start:dev":"tsc -w","test:watch":"vitest"},"_npmUser":{"name":"btaustin","email":"brandon@btaustin.com"},"repository":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow","type":"git"},"_npmVersion":"11.4.2","description":"CLiQ Flow Engine","directories":{},"_nodeVersion":"22.17.1","dependencies":{"@clxmedia/types":"1.0.189"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nock":"13.5.4","tslint":"6.1.3","vitest":"3.2.4","typescript":"^5.9.2","@types/node":"^24.3.3","@vitest/coverage-v8":"3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/cliq-flow_1.0.0_1757794177092_0.07644081105116451","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@clxmedia/cliq-flow","version":"1.0.1","author":{"name":"Brandon Thompson","email":"brandont@clxmedia.com"},"license":"MIT","_id":"@clxmedia/cliq-flow@1.0.1","maintainers":[{"name":"btaustin","email":"brandon@btaustin.com"},{"name":"dwene","email":"derek@lambdacurry.dev"}],"bugs":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"dist":{"shasum":"92a9417d47425c1bdb310c4ba034e7de89f24911","tarball":"https://registry.npmjs.org/@clxmedia/cliq-flow/-/cliq-flow-1.0.1.tgz","fileCount":11,"integrity":"sha512-abl5uiFsC2pwbA0NkOyL5/5RhM2znFbf7L7Sr6a07vdzEJwGJxaznA+p+pKxscphr1VhyMLC3rbb8MvlFoUxMw==","signatures":[{"sig":"MEQCIHemmwLsai2+cD2Yqs9L+vDFSNG4iEHoGJ3O2rhFI6cXAiBK4B8Y6rJinlUGvjjdogpA/76Kxh+1Nln3t/+wLxyW5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12913},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"},"./constants":"./dist/constants.js","./flow-engine":"./dist/flow-engine.js"},"gitHead":"6fa24c52ba67e8598e1d25aafb5d4506dce7e534","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"vitest run","build":"rm -Rf dist && tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","test:cov":"vitest run --coverage","start:dev":"tsc -w","test:watch":"vitest"},"_npmUser":{"name":"btaustin","email":"brandon@btaustin.com"},"repository":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow","type":"git"},"_npmVersion":"10.8.2","description":"CLiQ Flow Engine","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@clxmedia/types":"1.0.189"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nock":"13.5.4","tslint":"6.1.3","vitest":"3.2.4","typescript":"^5.2.2","@types/node":"^24.3.3","@vitest/coverage-v8":"3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/cliq-flow_1.0.1_1757801267837_0.28533111910771436","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@clxmedia/cliq-flow","version":"1.0.2","author":{"name":"Brandon Thompson","email":"brandont@clxmedia.com"},"license":"MIT","_id":"@clxmedia/cliq-flow@1.0.2","maintainers":[{"name":"btaustin","email":"brandon@btaustin.com"},{"name":"dwene","email":"derek@lambdacurry.dev"}],"bugs":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"dist":{"shasum":"ea46cdd5226bc84395d294ae8ed43e3950070a30","tarball":"https://registry.npmjs.org/@clxmedia/cliq-flow/-/cliq-flow-1.0.2.tgz","fileCount":11,"integrity":"sha512-OLNnZlxcGV/bAblidn36sg8jDdjHJ5HFPgc3vbPOTbkSeHV3U9711K7FK8Xz0FoOapQiEX/45VZT8kNMa9cHXA==","signatures":[{"sig":"MEUCIEtUkHzdTkJD0B8ARon4+VYTiezyrxPUq6lb2JgKrpHjAiEAhi/IfTgx+qVYz6MV8KU+ppS/m2KBhCfEE9nHlxOtWBE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19032},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"},"./constants":"./dist/constants.js","./flow-engine":"./dist/flow-engine.js"},"gitHead":"8542e5e822d90b0ee6fb24fa02eee5182fac8299","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"vitest run","build":"rm -Rf dist && tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","test:cov":"vitest run --coverage","start:dev":"tsc -w","test:watch":"vitest"},"_npmUser":{"name":"btaustin","email":"brandon@btaustin.com"},"repository":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow","type":"git"},"_npmVersion":"10.8.2","description":"CLiQ Flow Engine","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@clxmedia/types":"1.0.189"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nock":"13.5.4","tslint":"6.1.3","vitest":"3.2.4","typescript":"^5.2.2","@types/node":"^24.3.3","@vitest/coverage-v8":"3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/cliq-flow_1.0.2_1757869447956_0.8490826041787363","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@clxmedia/cliq-flow","version":"1.0.3","author":{"name":"Brandon Thompson","email":"brandont@clxmedia.com"},"license":"MIT","_id":"@clxmedia/cliq-flow@1.0.3","maintainers":[{"name":"btaustin","email":"brandon@btaustin.com"},{"name":"dwene","email":"derek@lambdacurry.dev"}],"bugs":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"dist":{"shasum":"ef9b86a3f15daa6fd0961e7471e5bcd2c42453e3","tarball":"https://registry.npmjs.org/@clxmedia/cliq-flow/-/cliq-flow-1.0.3.tgz","fileCount":11,"integrity":"sha512-PrmZIH+Ci8j23FQsx686NxMpjJPypZudz4GZDjkHP6b++VczihbqAQMsDCgrkEHQka7tJKCxSkCHfBGwjqHA7A==","signatures":[{"sig":"MEUCIQDz1rJ3CUR8duuqwvzMLrjHllVNI3YmCjLYutIQ4Od6WAIgcueDv0aJuh/lfAn7QiYABWe25SsD3iL/5DeYbvb8GLI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19395},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"},"./constants":"./dist/constants.js","./flow-engine":"./dist/flow-engine.js"},"gitHead":"e002b2a87bae8ea3dedf373b32ece05d5cd06775","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"vitest run","build":"rm -Rf dist && tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","test:cov":"vitest run --coverage","start:dev":"tsc -w","test:watch":"vitest"},"_npmUser":{"name":"btaustin","email":"brandon@btaustin.com"},"repository":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow","type":"git"},"_npmVersion":"10.8.2","description":"CLiQ Flow Engine","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@clxmedia/types":"1.0.189"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nock":"13.5.4","tslint":"6.1.3","vitest":"3.2.4","typescript":"^5.2.2","@types/node":"^24.3.3","@vitest/coverage-v8":"3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/cliq-flow_1.0.3_1757879647231_0.5996935363537466","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@clxmedia/cliq-flow","version":"1.0.4","author":{"name":"Brandon Thompson","email":"brandont@clxmedia.com"},"license":"MIT","_id":"@clxmedia/cliq-flow@1.0.4","maintainers":[{"name":"btaustin","email":"brandon@btaustin.com"},{"name":"dwene","email":"derek@lambdacurry.dev"}],"bugs":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"dist":{"shasum":"9111f6dc1b2322be76f03be985ffc4f79d8f295c","tarball":"https://registry.npmjs.org/@clxmedia/cliq-flow/-/cliq-flow-1.0.4.tgz","fileCount":11,"integrity":"sha512-dEGYfPW+lWZkbrFs3FkgyBWZ27ZCUwoSLSXIW9kJ2CqUDB5XM35VwFHDQnkyL3g6Dh13WnOPOPbZBxx5Mt4T5g==","signatures":[{"sig":"MEQCICw1/E4gR5wSp20cql4ZSglT7cOEz4f3NDvGbPv6vBQmAiBsQXXMk+A/fnHwBad5H2UaYJcmeuEt8ljI1x0W0mbdDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19429},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"},"./constants":"./dist/constants.js","./flow-engine":"./dist/flow-engine.js"},"gitHead":"6f8010c6b8097599b9f2c3fa2116948b0d4143ee","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"vitest run","build":"rm -Rf dist && tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","test:cov":"vitest run --coverage","start:dev":"tsc -w","test:watch":"vitest"},"_npmUser":{"name":"btaustin","email":"brandon@btaustin.com"},"repository":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow","type":"git"},"_npmVersion":"10.8.2","description":"CLiQ Flow Engine","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@clxmedia/types":"1.0.189"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nock":"13.5.4","tslint":"6.1.3","vitest":"3.2.4","typescript":"^5.2.2","@types/node":"^24.3.3","@vitest/coverage-v8":"3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/cliq-flow_1.0.4_1757905498046_0.5234339283315677","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@clxmedia/cliq-flow","version":"1.0.5","author":{"name":"Brandon Thompson","email":"brandont@clxmedia.com"},"license":"MIT","_id":"@clxmedia/cliq-flow@1.0.5","maintainers":[{"name":"btaustin","email":"brandon@btaustin.com"},{"name":"dwene","email":"derek@lambdacurry.dev"}],"bugs":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"dist":{"shasum":"0e28cf804319c2c7a0210594b98e015c4a573c31","tarball":"https://registry.npmjs.org/@clxmedia/cliq-flow/-/cliq-flow-1.0.5.tgz","fileCount":11,"integrity":"sha512-d7nOzmzWqcsrXB+IhuOoZ/lIO7crW9f4CcEN5pdojzOqvD/ScVcGIc4/H8nU8mrNVzV1C2fGI2jXtI6bmkZXIQ==","signatures":[{"sig":"MEUCIQDYSRoYgpDiJGBbyjlSy1qyifEd6To2fJ5/JJYJP325AgIgKm+97q4QQHan1olqTFxZOZv5ShlTDfG3M3Ha5b7jlM0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19429},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"},"./constants":"./dist/constants.js","./flow-engine":"./dist/flow-engine.js"},"gitHead":"a5a05d4e979070a008d82346af05df189f3ef500","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"vitest run","build":"rm -Rf dist && tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","test:cov":"vitest run --coverage","start:dev":"tsc -w","test:watch":"vitest"},"_npmUser":{"name":"btaustin","email":"brandon@btaustin.com"},"repository":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow","type":"git"},"_npmVersion":"10.8.2","description":"CLiQ Flow Engine","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@clxmedia/types":"1.0.190"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nock":"13.5.4","tslint":"6.1.3","vitest":"3.2.4","typescript":"^5.2.2","@types/node":"^24.3.3","@vitest/coverage-v8":"3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/cliq-flow_1.0.5_1758146052812_0.0691575214411908","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@clxmedia/cliq-flow","version":"1.0.6","author":{"name":"Brandon Thompson","email":"brandont@clxmedia.com"},"license":"MIT","_id":"@clxmedia/cliq-flow@1.0.6","maintainers":[{"name":"btaustin","email":"brandon@btaustin.com"},{"name":"dwene","email":"derek@lambdacurry.dev"}],"bugs":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"dist":{"shasum":"819c48d61e1418aa30f4b413d62a6c24d148d981","tarball":"https://registry.npmjs.org/@clxmedia/cliq-flow/-/cliq-flow-1.0.6.tgz","fileCount":11,"integrity":"sha512-zywDfDKVWMXGo1+E0wuDmGeoq0w5GGZxCQbicEb8LitlxVMkgMhQM/lddecigjFhljN493cGklUvu+pl/MhouQ==","signatures":[{"sig":"MEQCIDvWuWAx9sbJlzJUz7dqZsPF6gj/w1ITuK0AvFbcidrlAiA3n5Z+0TwanjazqtK/0NPBZZeZg4rkcl2SZ8gya3IWaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19429},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"},"./constants":"./dist/constants.js","./flow-engine":"./dist/flow-engine.js"},"gitHead":"5d116e83a56309e12fda30e3c99dceb2c0744c84","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"vitest run","build":"rm -Rf dist && tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","test:cov":"vitest run --coverage","start:dev":"tsc -w","test:watch":"vitest"},"_npmUser":{"name":"btaustin","email":"brandon@btaustin.com"},"repository":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow","type":"git"},"_npmVersion":"10.8.2","description":"CLiQ Flow Engine","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@clxmedia/types":"1.0.191"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nock":"13.5.4","tslint":"6.1.3","vitest":"3.2.4","typescript":"^5.2.2","@types/node":"^24.3.3","@vitest/coverage-v8":"3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/cliq-flow_1.0.6_1758149502995_0.4426726552679472","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@clxmedia/cliq-flow","version":"1.0.7","author":{"name":"Brandon Thompson","email":"brandont@clxmedia.com"},"license":"MIT","_id":"@clxmedia/cliq-flow@1.0.7","maintainers":[{"name":"btaustin","email":"brandon@btaustin.com"},{"name":"dwene","email":"derek@lambdacurry.dev"}],"bugs":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"dist":{"shasum":"66ac56e774acc77dff33985a631abda339dc2a67","tarball":"https://registry.npmjs.org/@clxmedia/cliq-flow/-/cliq-flow-1.0.7.tgz","fileCount":11,"integrity":"sha512-DVBRX5GPRUPXPjs38wRenJVs6D6dkIOEECArpL2n4UrK9slm4XKj8DU77XasjRCdmm+zYI4/HTEjmqmSbdKJtg==","signatures":[{"sig":"MEQCIEI9781gVt0BGoB23ZDuNpf5UVO6LBnPuMIQVdNcdJrvAiBHVTAgDRMAbSIDZGSEcVae7STlcc68sqKv5rTtTXSj8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21995},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"},"./constants":"./dist/constants.js","./flow-engine":"./dist/flow-engine.js"},"gitHead":"4a38d811452a55e6bbd40e421e7099f7f539fe1d","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"vitest run","build":"rm -Rf dist && tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","test:cov":"vitest run --coverage","start:dev":"tsc -w","test:watch":"vitest"},"_npmUser":{"name":"btaustin","email":"brandon@btaustin.com"},"repository":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow","type":"git"},"_npmVersion":"10.8.2","description":"CLiQ Flow Engine","directories":{},"_nodeVersion":"20.19.5","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nock":"13.5.4","tslint":"6.1.3","vitest":"3.2.4","typescript":"^5.2.2","@types/node":"^24.3.3","@vitest/coverage-v8":"3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/cliq-flow_1.0.7_1758332727561_0.23718797538497816","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@clxmedia/cliq-flow","version":"1.0.8","author":{"name":"Brandon Thompson","email":"brandont@clxmedia.com"},"license":"MIT","_id":"@clxmedia/cliq-flow@1.0.8","maintainers":[{"name":"btaustin","email":"brandon@btaustin.com"},{"name":"dwene","email":"derek@lambdacurry.dev"}],"bugs":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"dist":{"shasum":"65528ea3802e6abfb1a337802892300239d05db8","tarball":"https://registry.npmjs.org/@clxmedia/cliq-flow/-/cliq-flow-1.0.8.tgz","fileCount":11,"integrity":"sha512-4dEkbFdOwRJHezI3Hinz+n3WpgamMm7GAIajpBkN/nTOzbchvrsfTjxOhKj3ARvzJ5kZmTz0uHKg3L9cLQ8KZA==","signatures":[{"sig":"MEUCIFXV/VNRO5N5bl7KM/OWwuD+cgBzFxaSmcDr2TT3ypvqAiEA4GOHtVe7aGU5ORMMAHnF4Ypiz+dqPSoa36BkgpGiYwc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23958},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"},"./constants":"./dist/constants.js","./flow-engine":"./dist/flow-engine.js"},"gitHead":"b19bb99edac85b828ef4426fface75812b3a06e5","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"vitest run","build":"rm -Rf dist && tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","test:cov":"vitest run --coverage","start:dev":"tsc -w","test:watch":"vitest"},"_npmUser":{"name":"btaustin","email":"brandon@btaustin.com"},"repository":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow","type":"git"},"_npmVersion":"10.8.2","description":"CLiQ Flow Engine","directories":{},"_nodeVersion":"20.19.5","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nock":"13.5.4","tslint":"6.1.3","vitest":"3.2.4","typescript":"^5.2.2","@types/node":"^24.3.3","@vitest/coverage-v8":"3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/cliq-flow_1.0.8_1758379250842_0.5916963887804623","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@clxmedia/cliq-flow","version":"1.0.9","author":{"name":"Brandon Thompson","email":"brandont@clxmedia.com"},"license":"MIT","_id":"@clxmedia/cliq-flow@1.0.9","maintainers":[{"name":"btaustin","email":"brandon@btaustin.com"},{"name":"dwene","email":"derek@lambdacurry.dev"}],"bugs":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"dist":{"shasum":"e44215ca394b0aeac61eb88fe9e1644654236c42","tarball":"https://registry.npmjs.org/@clxmedia/cliq-flow/-/cliq-flow-1.0.9.tgz","fileCount":11,"integrity":"sha512-eBUxQ/cDiy2WhIna9RJQiHnhNKdzN2aH0WnQnOmXuRsTrTay8RuSUrsJxGUrEU/1jA0YNnp3eS5eVp6S4vJ09A==","signatures":[{"sig":"MEUCID6bNWPtNYxi0uYL1ieA24HX5bF/lY42z5FxulesD7QcAiEApR1dwP80G+/i+/clJVvb042rnz2rjNPtE76VyH6BB10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25132},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"},"./constants":"./dist/constants.js","./flow-engine":"./dist/flow-engine.js"},"gitHead":"5ec37cadc7ce2244c7d91e2d603225ad123d6b87","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"vitest run","build":"rm -Rf dist && tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","test:cov":"vitest run --coverage","start:dev":"tsc -w","test:watch":"vitest"},"_npmUser":{"name":"btaustin","email":"brandon@btaustin.com"},"repository":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow","type":"git"},"_npmVersion":"10.8.2","description":"CLiQ Flow Engine","directories":{},"_nodeVersion":"20.19.5","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nock":"13.5.4","tslint":"6.1.3","vitest":"3.2.4","typescript":"^5.2.2","@types/node":"^24.3.3","@vitest/coverage-v8":"3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/cliq-flow_1.0.9_1758392055673_0.6293995435755291","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@clxmedia/cliq-flow","version":"1.0.10","author":{"name":"Brandon Thompson","email":"brandont@clxmedia.com"},"license":"MIT","_id":"@clxmedia/cliq-flow@1.0.10","maintainers":[{"name":"btaustin","email":"brandon@btaustin.com"},{"name":"dwene","email":"derek@lambdacurry.dev"}],"bugs":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"dist":{"shasum":"24f047b7d674496e4d7ec3228de372cd44e4e7ba","tarball":"https://registry.npmjs.org/@clxmedia/cliq-flow/-/cliq-flow-1.0.10.tgz","fileCount":11,"integrity":"sha512-n1g2pVqRr6TNiluvoCfw8w1J3RzJbOROjwNe/LQKjAhoeO0nEwXd4O1LfRK11B5jmtFJsZYJGwdj+itgQQ4eeQ==","signatures":[{"sig":"MEUCIAch9EOfXTdlds0olLaNY91/+Tl5e4yhCpB3uASYa0WiAiEA9G+Qnz6200GREbDW2xr/IYy0R3NFtDphLnPezQBa334=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23721},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"},"./constants":"./dist/constants.js","./flow-engine":"./dist/flow-engine.js"},"gitHead":"f8eec944b6b771f26a371b6cded4f0b4bb917c19","scripts":{"lint":"tslint -p tsconfig.json -c tslint.json","test":"vitest run","build":"rm -Rf dist && tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","test:cov":"vitest run --coverage","start:dev":"tsc -w","test:watch":"vitest"},"_npmUser":{"name":"btaustin","email":"brandon@btaustin.com"},"repository":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow","type":"git"},"_npmVersion":"10.8.2","description":"CLiQ Flow Engine","directories":{},"_nodeVersion":"20.19.5","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nock":"13.5.4","tslint":"6.1.3","vitest":"3.2.4","typescript":"^5.2.2","@types/node":"^24.3.3","@vitest/coverage-v8":"3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/cliq-flow_1.0.10_1759424452085_0.2016875811373917","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@clxmedia/cliq-flow","version":"1.0.11","description":"CLiQ Flow Engine","author":{"name":"Brandon Thompson","email":"brandont@clxmedia.com"},"license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js"},"./constants":"./dist/constants.js","./flow-engine":"./dist/flow-engine.js"},"scripts":{"start:dev":"tsc -w","build":"rm -Rf dist && tsc","prepare":"npm run build","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json -c tslint.json","test":"vitest run","test:watch":"vitest","test:cov":"vitest run --coverage"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"bugs":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"dependencies":{},"devDependencies":{"@types/node":"^24.3.3","@vitest/coverage-v8":"3.2.4","nock":"13.5.4","tslint":"6.1.3","typescript":"^5.2.2","vitest":"3.2.4"},"_id":"@clxmedia/cliq-flow@1.0.11","gitHead":"5acb5d7b693213df9e5296aee65051cbbe32af67","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-MAPpDMvwq+9aAnfhvbWZFwHcqGjSl2gk3e8IbqTTPdrW9z3fHeuYBZxp63sopCoZfE27gTIaI6wOCo7d5z1NtQ==","shasum":"880ed32947a011008e14be974b966641d537ff30","tarball":"https://registry.npmjs.org/@clxmedia/cliq-flow/-/cliq-flow-1.0.11.tgz","fileCount":11,"unpackedSize":24446,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBEybvyQcTLhLJNR9oD43ECJ48JoOOqGx9/bm23wvpv+AiEA3WQA34Dv+25LaIuZ4kU0PB93OgQ7q9D9gKxJLep6RE0="}]},"_npmUser":{"name":"btaustin","email":"brandon@btaustin.com"},"directories":{},"maintainers":[{"name":"btaustin","email":"brandon@btaustin.com"},{"name":"dwene","email":"derek@lambdacurry.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cliq-flow_1.0.11_1759505305002_0.8015114412767421"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-13T20:09:37.008Z","modified":"2025-10-03T15:28:25.404Z","1.0.0":"2025-09-13T20:09:37.308Z","1.0.1":"2025-09-13T22:07:48.027Z","1.0.2":"2025-09-14T17:04:08.281Z","1.0.3":"2025-09-14T19:54:07.411Z","1.0.4":"2025-09-15T03:04:58.227Z","1.0.5":"2025-09-17T21:54:12.999Z","1.0.6":"2025-09-17T22:51:43.180Z","1.0.7":"2025-09-20T01:45:27.777Z","1.0.8":"2025-09-20T14:40:51.080Z","1.0.9":"2025-09-20T18:14:15.873Z","1.0.10":"2025-10-02T17:00:52.268Z","1.0.11":"2025-10-03T15:28:25.206Z"},"bugs":{"url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"author":{"name":"Brandon Thompson","email":"brandont@clxmedia.com"},"license":"MIT","repository":{"type":"git","url":"https://github.com/adsupnow/xperience-library/cliq-flow"},"description":"CLiQ Flow Engine","maintainers":[{"name":"btaustin","email":"brandon@btaustin.com"},{"name":"dwene","email":"derek@lambdacurry.dev"}],"readme":"<h1 align=\"center\"></h1>\n\n<h3 align=\"center\">CLiQ Flow</h3>\n\n## Usage\n\n`FlowEngine` is a lightweight, data‑only workflow helper. It takes:\n\n1. A \"template\" (graph definition) describing nodes and their downstream relationships.\n2. A collection of runtime \"items\" (any shape with at least a `slug` string) representing the concrete work objects.\n\nFrom those it can:\n\n- Build a full flow instance (`itemsToFlowInstance`) with status for every template node (real or mocked if missing).\n- Determine which items are now activatable (`getItemsToActivate`).\n- Determine which completed items must be reset when restarting (`getItemsToReset`).\n- Tell if the flow can be reset from the perspective of a given task slug (`canResetFlow`).\n\n### Item Agnostic by Design\n\n`FlowEngine<TItem>` is generic. It **does not care** if your items are CLX tasks, tickets, jobs, forms, or custom domain objects—so long as each item exposes a `slug` (used to line up with the template).\n\nStatus detection is the only behavioral coupling. You supply (or let the engine auto‑discover) a `detectStatus(item) -> 'pending' | 'open' | 'closed'` function. If you omit one, the engine runs a small predicate list (`FlowItemStatusDetectorMappings`) to guess the status; today it ships with a legacy `CLXTask` detector keyed off `is_active` / `closed_at`.\n\nIf none match, status defaults to `pending`.\n\n### Core Concepts\n\n| Concept | Summary |\n| ------- | ------- |\n| Flow Template | Static directed graph keyed by internal node ids. Each node holds a `slug`, list of downstream node ids, and optional `joinCondition` (`AND` or `OR`). |\n| Node Slug | The external business identifier; must match the `slug` on your runtime items. |\n| Join Condition | Governs activation: `AND` = all predecessors must be `closed`; `OR` = any predecessor `closed`. Missing value defaults to `AND`. |\n| Restart Node | Special node id (`restartNodeId`) that acts as the anchor for reset operations. |\n| Flow Instance | Runtime projection created from template + items (real + any mock placeholders for missing slugs). |\n\n### Status Semantics\n\n`pending`  -> Not yet active (eligible for activation once dependencies satisfied).\n`open`     -> In progress (active but not yet completed).\n`closed`   -> Completed / finished.\n\nYou control the mapping by providing an explicit detector:\n\n```ts\nconst engine = new FlowEngine<MyItem>(template, item => {\n\tif (item.doneAt) return 'closed';\n\tif (item.startedAt) return 'open';\n\treturn 'pending';\n});\n```\n\nOr rely on built‑ins (for legacy `CLXTask` shape):\n\n```ts\nconst engine = new FlowEngine<CLXTask>(template); // auto-detects via is_active / closed_at\n```\n\n### Defining a Flow Template\n\n```ts\nimport { FlowEngine } from 'cliq-flow';\nimport type { FlowTemplate } from 'cliq-flow/types';\n\nconst onboardingTemplate: FlowTemplate = {\n\tnodes: {\n\t\tshare: { slug: 'share_onboarding_form', downstream: ['grant'] },\n\t\tgrant: { slug: 'grant_access_gbp_manager', downstream: ['create'] },\n\t\tcreate: { slug: 'create_gbpa_ads', downstream: ['review'] },\n\t\treview: { slug: 'review_gbpa_ads', downstream: ['launch'] },\n\t\tlaunch: { slug: 'launch_gbpa_ads', downstream: [] },\n\t},\n\tstartNodes: ['share'],\n\trestartNodeId: 'share',\n\trestartNodeLabel: 'Restart Onboarding',\n};\n```\n\nNode ids (`share`, `grant`, etc.) are internal; slugs connect to item data.\n\n### Using with CLXTask (Example Only)\n\n```ts\nimport { FlowEngine } from 'cliq-flow';\nimport { cliqTaskLibrary } from './fixtures/tasks'; // sample array of CLXTask\n\nconst engine = new FlowEngine(onboardingTemplate); // auto status detection\n\nconst activatable = engine.getItemsToActivate(cliqTaskLibrary);\n// -> tasks currently in 'pending' whose predecessors are satisfied\n\nconst flowInstance = engine.itemsToFlowInstance(cliqTaskLibrary);\n// flowInstance.nodes[nodeId].status holds evaluated status\n\nconst canReset = engine.canResetFlow('create_gbpa_ads');\n// { canReset: true | false, resetLabel?: string }\n\nconst toReset = engine.getItemsToReset(cliqTaskLibrary);\n// -> closed successor tasks of the restart node\n```\n\n### Using with ANY Other Item Type\n\nProvide a detector if your shape differs:\n\n```ts\ninterface Job { slug: string; started?: string; finished?: string; }\n\nconst jobDetector = (job: Job) => job.finished ? 'closed' : job.started ? 'open' : 'pending';\n\n```ts\nconst jobEngine = new FlowEngine<Job>(onboardingTemplate, jobDetector);\n```\n\nThat is enough; the engine only reads `slug` and the detector result.\n\n### FlowEngineWrapper\n\n`FlowEngineWrapper` is a higher-level abstraction that manages multiple `FlowEngine` instances, each corresponding to a different flow template. It allows you to work with a collection of templates and perform operations across all of them or target a specific template by its GUID.\n\n#### Key Features\n\n- **Multi-Template Management**: Handles an array of `FlowTemplate` objects, creating a dedicated `FlowEngine` for each.\n- **Aggregated Operations**: Methods like `getItemsToActivate` and `getItemsToReset` can aggregate results from all templates or filter by a specific template GUID.\n- **Template Selection**: Pass an optional `templateGuid` to operations to focus on a single template, or omit it to process all templates.\n\n#### Usage Example\n\n```ts\nimport { FlowEngineWrapper } from 'cliq-flow';\nimport type { FlowTemplate } from 'cliq-flow/types';\n\nconst templates: FlowTemplate[] = [\n  onboardingTemplate,\n  approvalTemplate,\n  // ... more templates\n];\n\nconst wrapper = new FlowEngineWrapper<MyItem>(templates, customDetector);\n\n// Get activatable items across all templates\nconst allActivatable = wrapper.getItemsToActivate(items);\n\n// Get activatable items for a specific template\nconst specificActivatable = wrapper.getItemsToActivate(items, 'onboarding-template-guid');\n\n// Get items to reset across all templates\nconst allResettable = wrapper.getItemsToReset(items);\n\n// Get items to reset for a specific template\nconst specificResettable = wrapper.getItemsToReset(items, 'approval-template-guid');\n```\n\nThis wrapper is particularly useful when your application needs to handle multiple workflow types simultaneously, providing a unified interface for activation and reset operations.\n\n### What Happens If Items Are Missing?\nThat is enough; the engine only reads `slug` and the detector result.\n\nIf a template node has no matching item, the engine fabricates a lightweight mock (id = -1) so the graph stays complete. Its status is inferred from a predecessor (if one exists) or defaults to `pending`. This lets downstream activation logic remain stable even with partial data loads.\n\n### Activation Logic Recap\n\nAn item is returned from `getItemsToActivate` when:\n\n1. Its current status is `pending`.\n2. It has no predecessors (start node) OR its predecessors satisfy the join condition.\n\n### Reset Logic Recap\n\n`getItemsToReset` performs a breadth‑first traversal starting from `restartNodeId` and collects downstream nodes that are presently `closed`. Those items should be transitioned back to an earlier state by your application when a restart is initiated.\n\n### Reset Eligibility\n\n`canResetFlow(taskSlug)` returns `{ canReset: boolean; resetLabel?: string }` and is true only when the task slug maps to a node that is a **successor** (not the restart node itself) of `restartNodeId` in the template graph.\n\n### Minimal Integration Steps\n\n1. Model your template graph (`FlowTemplate`).\n2. Decide on / implement status detection.\n3. Instantiate `FlowEngine` with template (+ optional detector).\n4. Feed runtime items to `itemsToFlowInstance` / `getItemsToActivate` / `getItemsToReset` as needed.\n5. Use returned statuses to drive UI / orchestration.\n\n### Error Handling & Edge Cases\n\n- Null / undefined item passed to detector -> treated as `pending`.\n- Detector exceptions inside auto‑mapping predicates are swallowed and the next predicate is tried.\n- Unknown item shape without custom detector -> always `pending` until you supply logic.\n- Cycles in the template are not explicitly guarded; provide an acyclic graph for predictable activation.\n\n### Extending Auto Detection\n\nAdd a new predicate + detector pair to `FlowItemStatusDetectorMappings` (PR welcome) so future consumers get zero‑config support for your item type.\n\n```ts\nFlowItemStatusDetectorMappings.push({\n  predicate: (item) => 'startedAt' in item && 'finishedAt' in item,\n  detector: (item) => item.finishedAt ? 'closed' : item.startedAt ? 'open' : 'pending'\n});\n```\n\n### TL;DR\n\n`FlowEngine` = (Template Graph + Items + Status Detection) -> Activation + Reset Insights. The engine is item‑agnostic; just give it a `slug` and a way to detect status.\n\n---\n\nNeed more examples? Check the test fixtures under `src/__tests__`.\n\n## Change Log\n\nSee [Changelog](CHANGELOG.md) for more information.\n\n## Author\n\nBrandon Thompson\n\n## License\n\nLicensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Development\n\nInstall dependencies and build:\n\n```bash\n yarn install\n yarn build\n```\n\n### Testing\n\nThis package now uses [Vitest](https://vitest.dev/) for unit tests.\n\nCommon commands:\n\n```bash\n yarn test          # run test suite once\n yarn test:watch    # watch mode\n yarn test:cov      # with coverage (./coverage)\n```\n\nTest files live under `src/__tests__` and use the `*.spec.ts` suffix.\n","readmeFilename":"README.md"}