{"_id":"@delightfulchorus/fbp","_rev":"4-a36d45c2509edabe556a41168e997e58","name":"@delightfulchorus/fbp","dist-tags":{"latest":"0.1.9"},"versions":{"0.1.3":{"name":"@delightfulchorus/fbp","version":"0.1.3","keywords":["chorus","workflow","fbp","flow-based-programming","noflo","bridge","adapter","n8n-alternative"],"author":{"name":"Chorus contributors"},"license":"MIT","_id":"@delightfulchorus/fbp@0.1.3","maintainers":[{"name":"lamasu","email":"Globalmysterysnailrevolution@gmail.com"}],"homepage":"https://github.com/LamaSu/federated-workflow-runtime#readme","bugs":{"url":"https://github.com/LamaSu/federated-workflow-runtime/issues"},"dist":{"shasum":"30b6103dcabcb9bac4a32f44b1ffa9a235864749","tarball":"https://registry.npmjs.org/@delightfulchorus/fbp/-/fbp-0.1.3.tgz","fileCount":2,"integrity":"sha512-laXqEiRVJwT03vF5fbw1ElOsOzDeYXbSKXjIQUy5SAY5IugQGuvDNzZYpXuWtHssXljk01vw0tlMBUwwcv/RoA==","signatures":[{"sig":"MEUCIQD888yGnodZJYiLYYZtoAkLvQ87tmr9mexo7zX+PqnsdgIgCTyWFxgKKysVNPfbCsrTTalhaXsEc8zaUrcDla98o9E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2983},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","test":"vitest run","build":"tsup src/index.ts --format esm --dts --clean","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"lamasu","email":"Globalmysterysnailrevolution@gmail.com"},"repository":{"url":"git+https://github.com/LamaSu/federated-workflow-runtime.git","type":"git","directory":"packages/fbp"},"_npmVersion":"10.9.7","description":"Bidirectional bridge between Chorus Workflow JSON and Flow-Based Programming (.fbp) text graphs","directories":{},"_nodeVersion":"22.22.2","dependencies":{"fbp":"^1.8.0","@delightfulchorus/core":"*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/fbp_0.1.3_1776488861309_0.12286572145277685","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@delightfulchorus/fbp","version":"0.1.4","keywords":["chorus","workflow","fbp","flow-based-programming","noflo","bridge","adapter","n8n-alternative"],"author":{"name":"Chorus contributors"},"license":"MIT","_id":"@delightfulchorus/fbp@0.1.4","maintainers":[{"name":"lamasu","email":"Globalmysterysnailrevolution@gmail.com"}],"homepage":"https://github.com/LamaSu/federated-workflow-runtime#readme","bugs":{"url":"https://github.com/LamaSu/federated-workflow-runtime/issues"},"dist":{"shasum":"06b11c7ea7772675edf4045429075ef1c19621f5","tarball":"https://registry.npmjs.org/@delightfulchorus/fbp/-/fbp-0.1.4.tgz","fileCount":4,"integrity":"sha512-vuaOlncxd5gQb1QgEELJk4WryzcscP1SFcDvAB3V1g8Qjj/tu/kKsU0Io7OrHudqrCs+RfU9KlItN0GKtD7UMQ==","signatures":[{"sig":"MEUCIQChksFb+2+amvk4EmEyJbuqF355NBwTAbB6VzOjN51GuAIgT3ttykPzKx6IL8FlgQFrjb5gbdSWkk7ULoNS2l0IOtc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14554},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"54a652f3a6e67ee58d45fcda90ce2005397da763","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","test":"vitest run","build":"tsup src/index.ts --format esm --dts --clean","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"lamasu","email":"Globalmysterysnailrevolution@gmail.com"},"repository":{"url":"git+https://github.com/LamaSu/federated-workflow-runtime.git","type":"git","directory":"packages/fbp"},"_npmVersion":"10.9.2","description":"Bidirectional bridge between Chorus Workflow JSON and Flow-Based Programming (.fbp) text graphs","directories":{},"_nodeVersion":"22.16.0","dependencies":{"fbp":"^1.8.0","@delightfulchorus/core":"*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/fbp_0.1.4_1776548732328_0.3136741215620389","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@delightfulchorus/fbp","version":"0.1.5","keywords":["chorus","workflow","fbp","flow-based-programming","noflo","bridge","adapter","n8n-alternative"],"author":{"name":"Chorus contributors"},"license":"MIT","_id":"@delightfulchorus/fbp@0.1.5","maintainers":[{"name":"lamasu","email":"Globalmysterysnailrevolution@gmail.com"}],"homepage":"https://github.com/LamaSu/federated-workflow-runtime#readme","bugs":{"url":"https://github.com/LamaSu/federated-workflow-runtime/issues"},"dist":{"shasum":"185a4bcf8165bb8af78fe795f420749fe9e088ac","tarball":"https://registry.npmjs.org/@delightfulchorus/fbp/-/fbp-0.1.5.tgz","fileCount":4,"integrity":"sha512-KWueGm8ldksA5lTchrov1LaUwyjDDC5DKXHgNnjsmK81t6JNN1xIMAlmk9aALA1NbyPg/035XAXA5XRzAff65Q==","signatures":[{"sig":"MEYCIQCEoPm5H0IcgV7Yv1rUpgr5EzN9nMM2hOJ+MvCr1DgezQIhAMpZJAC1IKdJy6MRdyboAG8kLimCi06RrtvXqBQYZIJJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14554},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5ceddc5e13975da34f3e3057ae6cce4ca5cd96b5","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","test":"vitest run","build":"tsup src/index.ts --format esm --dts --clean","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"lamasu","email":"Globalmysterysnailrevolution@gmail.com"},"repository":{"url":"git+https://github.com/LamaSu/federated-workflow-runtime.git","type":"git","directory":"packages/fbp"},"_npmVersion":"10.9.2","description":"Bidirectional bridge between Chorus Workflow JSON and Flow-Based Programming (.fbp) text graphs","directories":{},"_nodeVersion":"22.16.0","dependencies":{"fbp":"^1.8.0","@delightfulchorus/core":"*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/fbp_0.1.5_1776549072509_0.9405163811654809","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@delightfulchorus/fbp","version":"0.1.9","description":"Bidirectional bridge between Chorus Workflow JSON and Flow-Based Programming (.fbp) text graphs","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"keywords":["chorus","workflow","fbp","flow-based-programming","noflo","bridge","adapter","n8n-alternative"],"author":{"name":"Chorus contributors"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/LamaSu/federated-workflow-runtime.git","directory":"packages/fbp"},"bugs":{"url":"https://github.com/LamaSu/federated-workflow-runtime/issues"},"homepage":"https://github.com/LamaSu/federated-workflow-runtime#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"scripts":{"build":"tsup src/index.ts --format esm --dts --clean","test":"vitest run","dev":"tsup src/index.ts --format esm --dts --watch","prepublishOnly":"npm run build && npm test"},"dependencies":{"@delightfulchorus/core":"*","fbp":"^1.8.0"},"gitHead":"92baf098b8b83467d1a26c720e7c8b8adffa7703","_id":"@delightfulchorus/fbp@0.1.9","_nodeVersion":"20.20.2","_npmVersion":"11.13.0","dist":{"integrity":"sha512-H08fjvzBytz6hHS4PNU+sb74oQOri4ZN2U538mS02b611/7BWGiO+WZxWlIxEVzZq+E85c5+/YsMbLbNyqY1OQ==","shasum":"4e7ea1936c1b3765da1e794df2fa5385acd57283","tarball":"https://registry.npmjs.org/@delightfulchorus/fbp/-/fbp-0.1.9.tgz","fileCount":4,"unpackedSize":14578,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@delightfulchorus%2ffbp@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHCTg6qbq/knTrgmUSdWa9x+ALnDM/3+gGL5a0/3wDiCAiBWdqlU3DyBupakqEJYrl/LKFvg1FnwJ2mpKx8q7u5yNQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0f62bb62-0d0e-49eb-8c0c-0eddaba8fe94"}},"directories":{},"maintainers":[{"name":"lamasu","email":"Globalmysterysnailrevolution@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fbp_0.1.9_1776892447129_0.8245384504667057"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-18T05:07:41.213Z","modified":"2026-04-22T21:14:07.605Z","0.1.3":"2026-04-18T05:07:41.448Z","0.1.4":"2026-04-18T21:45:32.456Z","0.1.5":"2026-04-18T21:51:12.667Z","0.1.9":"2026-04-22T21:14:07.267Z"},"bugs":{"url":"https://github.com/LamaSu/federated-workflow-runtime/issues"},"author":{"name":"Chorus contributors"},"license":"MIT","homepage":"https://github.com/LamaSu/federated-workflow-runtime#readme","keywords":["chorus","workflow","fbp","flow-based-programming","noflo","bridge","adapter","n8n-alternative"],"repository":{"type":"git","url":"git+https://github.com/LamaSu/federated-workflow-runtime.git","directory":"packages/fbp"},"description":"Bidirectional bridge between Chorus Workflow JSON and Flow-Based Programming (.fbp) text graphs","maintainers":[{"name":"lamasu","email":"Globalmysterysnailrevolution@gmail.com"}],"readme":"# @delightfulchorus/fbp\n\nBidirectional bridge between [Chorus](https://github.com/LamaSu/federated-workflow-runtime) `Workflow` JSON and the [Flow-Based Programming](https://github.com/flowbased/fbp) (`.fbp`) text format.\n\nLets Chorus workflows interop with the FBP ecosystem (Noflo, Drawflow, fbp-graph) without\nforking the runtime.\n\n## Install\n\n```bash\nnpm install @delightfulchorus/fbp\n```\n\n## Usage\n\n```ts\nimport { fbpToChorus, chorusToFbp, parseFbp, emitFbp } from \"@delightfulchorus/fbp\";\n\n// FBP text -> AST -> Chorus Workflow\nconst ast = parseFbp(\"A(MyComp) OUT -> IN B(Other)\");\nconst workflow = fbpToChorus(ast, {\n  id: \"wf-1\",\n  name: \"imported\",\n  createdAt: new Date().toISOString(),\n  updatedAt: new Date().toISOString(),\n});\n\n// Chorus Workflow -> AST -> FBP text\nconst ast2 = chorusToFbp(workflow);\nconst text = emitFbp(ast2);\n```\n\n## Mapping\n\n| FBP concept              | Chorus concept                              |\n|--------------------------|---------------------------------------------|\n| `NAME(Component)`        | `Node { id: NAME, integration: Component }` |\n| `A OUT -> IN B`          | `Connection { from: \"A.OUT\", to: \"B.IN\" }`  |\n| `'data' -> IN B`         | `Node.inputs[IN] = 'data'` on node B         |\n| `# @runtime foo`         | `metadata.runtime = \"foo\"` (preserved)      |\n\nPorts are encoded into Chorus connection endpoints as `\"nodeId.PORT\"` so round-trip\n(`fbp → chorus → fbp`) preserves them.\n\n## Status\n\n- parser: fbp text → AST via the `fbp` npm package\n- adapter: AST ↔ Chorus `Workflow`\n- emitter: AST → fbp text\n- round-trip: `parseFbp → fbpToChorus → chorusToFbp → emitFbp` preserves structure\n","readmeFilename":"README.md"}