{"_id":"@alt-javascript/camel-lite-component-seda","_rev":"3-6f7c0fbe41b7d18a07f97ac715aebc39","name":"@alt-javascript/camel-lite-component-seda","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.2":{"name":"@alt-javascript/camel-lite-component-seda","version":"1.0.2","keywords":["alt-javascript","camel","camel-lite","eai","eip","integration","seda","async","messaging","queuing","component"],"author":{"name":"Craig Parravicini"},"_id":"@alt-javascript/camel-lite-component-seda@1.0.2","maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"contributors":[{"url":"Anthropic","name":"Claude"},{"name":"Apache Camel — design inspiration and pattern source"}],"homepage":"https://github.com/alt-javascript/camel-lite#readme","bugs":{"url":"https://github.com/alt-javascript/camel-lite/issues"},"dist":{"shasum":"236e182b93c4e3734434cfa7846c3b77ba8305a7","tarball":"https://registry.npmjs.org/@alt-javascript/camel-lite-component-seda/-/camel-lite-component-seda-1.0.2.tgz","fileCount":12,"integrity":"sha512-sPELk0Rx5Bw1WauRxJAUuCq+U7eqWFQWBrN0JtpmsnHJy0OJ83aNanGrbihZykxWrCUFSA2QgtAjy9XagXMfPA==","signatures":[{"sig":"MEUCIF0wYd5VYBHE/Poq3qrgDDCTOg9CQPRh/KeMq7diV3SKAiEAzwLKMYOPy5Th678CKLMC8WLIZ58ctdmB6UGvORZPNQU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alt-javascript%2fcamel-lite-component-seda@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26244},"type":"module","exports":{".":"./src/index.js"},"gitHead":"9f948b9f02d85c9f593229684c475cd209369f2c","scripts":{"test":"node --test"},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"repository":{"url":"git+https://github.com/alt-javascript/camel-lite.git","type":"git"},"_npmVersion":"11.9.0","description":"[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@alt-javascript/common":"^3.0.7","@alt-javascript/config":"^3.0.7","@alt-javascript/logger":"^3.0.7","@alt-javascript/camel-lite-core":"1.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/camel-lite-component-seda_1.0.2_1774595621986_0.8861702815152179","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@alt-javascript/camel-lite-component-seda","version":"1.1.0","keywords":["alt-javascript","camel","camel-lite","eai","eip","integration","seda","async","messaging","queuing","component"],"author":{"name":"Craig Parravicini"},"_id":"@alt-javascript/camel-lite-component-seda@1.1.0","maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"contributors":[{"url":"Anthropic","name":"Claude"}],"homepage":"https://github.com/alt-javascript/camel-lite#readme","bugs":{"url":"https://github.com/alt-javascript/camel-lite/issues"},"dist":{"shasum":"3b7578ca31fa71dc79c293c2e01d54615c1ac4eb","tarball":"https://registry.npmjs.org/@alt-javascript/camel-lite-component-seda/-/camel-lite-component-seda-1.1.0.tgz","fileCount":12,"integrity":"sha512-WWJKDaKMkUxgEOoVXEp8B/Y21ZlQfe/JxFhr0r63kBCeRNmmjjVQod8JrIQkX/CVcst/pRnN7se9xC+FrQoE5A==","signatures":[{"sig":"MEUCIQDO/joEbTrJuoFpXY2JsYvHQP9/i8DEYtdCnCNoMZc44QIgEJ/LbhClSg/3HU5b1Da9mu0TWqXbLzq6kC9wpNmxliY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alt-javascript%2fcamel-lite-component-seda@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26182},"type":"module","exports":{".":"./src/index.js"},"gitHead":"c227a03632d4b1e2f93b4562c7e74f52ba87d340","scripts":{"test":"node --test"},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"repository":{"url":"git+https://github.com/alt-javascript/camel-lite.git","type":"git"},"_npmVersion":"11.9.0","description":"[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@alt-javascript/common":"^3.0.7","@alt-javascript/config":"^3.0.7","@alt-javascript/logger":"^3.0.7","@alt-javascript/camel-lite-core":"1.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/camel-lite-component-seda_1.1.0_1774763522816_0.3943107081779167","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@alt-javascript/camel-lite-component-seda","version":"1.1.1","type":"module","exports":{".":"./src/index.js"},"dependencies":{"@alt-javascript/logger":"^3.0.7","@alt-javascript/config":"^3.0.7","@alt-javascript/common":"^3.0.7","@alt-javascript/camel-lite-core":"1.1.1"},"scripts":{"test":"node --test"},"repository":{"type":"git","url":"git+https://github.com/alt-javascript/camel-lite.git"},"author":{"name":"Craig Parravicini"},"contributors":[{"name":"Claude","url":"Anthropic"}],"keywords":["alt-javascript","camel","camel-lite","eai","eip","integration","seda","async","messaging","queuing","component"],"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"gitHead":"ff8501eed381d38ac20f56aea721274466d64212","_id":"@alt-javascript/camel-lite-component-seda@1.1.1","description":"[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","bugs":{"url":"https://github.com/alt-javascript/camel-lite/issues"},"homepage":"https://github.com/alt-javascript/camel-lite#readme","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-idRz78v6onkZpuBgumiLnZmq0Yt74CgU575OOIBnXr175SusdS5WuxqqJeHnHNtpfzU2UF4a7K5yLUauZJZhsA==","shasum":"5bdc53e98de4bc3797f471533e8a36892d4ddea9","tarball":"https://registry.npmjs.org/@alt-javascript/camel-lite-component-seda/-/camel-lite-component-seda-1.1.1.tgz","fileCount":12,"unpackedSize":26182,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alt-javascript%2fcamel-lite-component-seda@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICFmTnznurhFxDJKoUHQrXNsL/Q590iv9YVMFVWghqGuAiAirC2Qwci+GCdAHh/PMcwobZ9BQ6t/EHjs6ZSAnzZGNA=="}]},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"directories":{},"maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/camel-lite-component-seda_1.1.1_1774764475941_0.02114247903918387"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-27T07:13:41.909Z","modified":"2026-03-29T06:07:56.425Z","1.0.2":"2026-03-27T07:13:42.134Z","1.1.0":"2026-03-29T05:52:02.964Z","1.1.1":"2026-03-29T06:07:56.093Z"},"bugs":{"url":"https://github.com/alt-javascript/camel-lite/issues"},"author":{"name":"Craig Parravicini"},"homepage":"https://github.com/alt-javascript/camel-lite#readme","keywords":["alt-javascript","camel","camel-lite","eai","eip","integration","seda","async","messaging","queuing","component"],"repository":{"type":"git","url":"git+https://github.com/alt-javascript/camel-lite.git"},"description":"[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","contributors":[{"name":"Claude","url":"Anthropic"}],"maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"readme":"[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## What\n\nAsync in-process queuing via a blocking queue. `seda:` (Staged Event-Driven Architecture) decouples producer and consumer threads — the producer returns immediately after enqueuing, and the consumer processes independently.\n\n## Install\n\n```sh\nnpm install camel-lite-component-seda\n```\n\n## URI Syntax\n\n```\nseda:name[?size=0&concurrentConsumers=1]\n```\n\n| Parameter            | Default | Description |\n|----------------------|---------|-------------|\n| `size`               | `0`     | Maximum queue depth. `0` = unlimited. |\n| `concurrentConsumers`| `1`     | Number of concurrent consumer workers draining the queue. |\n\n## Usage\n\n```js\nimport { CamelContext } from 'camel-lite-core';\nimport { SedaComponent } from 'camel-lite-component-seda';\n\nconst context = new CamelContext();\ncontext.addComponent('seda', new SedaComponent());\n\ncontext.addRoutes({\n  configure(ctx) {\n    // Consumer route — runs async\n    ctx.from('seda:work')\n      .process(exchange => {\n        console.log('Processing:', exchange.in.body);\n      });\n\n    // Producer route — fire-and-forget\n    ctx.from('direct:submit')\n      .to('seda:work');\n  }\n});\n\nawait context.start();\n\n// Fire-and-forget: returns before seda:work processes the exchange\nconst template = context.createProducerTemplate();\nawait template.sendBody('seda:work', 'task payload');\n\n// Receive a single body (blocks until one is available)\nconst consumer = context.createConsumerTemplate();\nconst body = await consumer.receiveBody('seda:work');\nconsole.log(body);\n\nawait context.stop();\n```\n\n## See Also\n\n[camel-lite — root README](../../README.md)\n","readmeFilename":"README.md"}