{"_id":"@bounty-ai/flue","name":"@bounty-ai/flue","dist-tags":{"beta":"0.1.0-beta.0","latest":"0.1.0-beta.0"},"versions":{"0.1.0-beta.0":{"name":"@bounty-ai/flue","version":"0.1.0-beta.0","description":"Official Bounty channel for Flue agents","repository":{"type":"git","url":"git+https://github.com/trybounty-ai/bounty-agent-sdk.git","directory":"packages/flue"},"bugs":{"url":"https://github.com/trybounty-ai/bounty-agent-sdk/issues"},"type":"module","license":"MIT","sideEffects":false,"main":"./dist/index.mjs","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"engines":{"node":">=22.19.0"},"publishConfig":{"access":"public"},"dependencies":{"@bounty-ai/agent-sdk":"^0.2.0-beta.0","hono":"4.13.5","zod":"4.4.3"},"devDependencies":{"@bounty-ai/agent-testkit":"^0.1.0","@flue/runtime":"2.0.3","rimraf":"6.1.3","tsdown":"0.22.14","typescript":"6.0.3","vitest":"4.1.11"},"peerDependencies":{"@flue/runtime":"^2.0.3"},"scripts":{"build":"tsdown","clean":"rimraf dist","test":"vitest run --passWithNoTests","typecheck":"tsc --noEmit"},"_id":"@bounty-ai/flue@0.1.0-beta.0","homepage":"https://github.com/trybounty-ai/bounty-agent-sdk#readme","_integrity":"sha512-7s4JMBv89+7XZLC4GCSRQKsrv2y+Z9ctLJklJBQ0ikwWyX8JNnBy9Ojk5/smi+eopXW8fv1BlEgovrw/V4BVzw==","_resolved":"/private/tmp/bounty-sdk-dry-run-fix.8xFBns/repo/release-artifacts/bounty-ai-flue-0.1.0-beta.0.tgz","_from":"file:release-artifacts/bounty-ai-flue-0.1.0-beta.0.tgz","_nodeVersion":"24.18.1","_npmVersion":"11.16.0","dist":{"integrity":"sha512-7s4JMBv89+7XZLC4GCSRQKsrv2y+Z9ctLJklJBQ0ikwWyX8JNnBy9Ojk5/smi+eopXW8fv1BlEgovrw/V4BVzw==","shasum":"38bbcfa0df516eab6bbbf2a08824a43c10b1b89b","tarball":"https://registry.npmjs.org/@bounty-ai/flue/-/flue-0.1.0-beta.0.tgz","fileCount":7,"unpackedSize":18511,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBlZxgPSzkU79PT1a6v+1GS2yjwWUxEx+o1wK08S6gYQAiEA8gpWX6/2PQVOtdV87a+xFlrnQGU7Qx2DyrjeH+5ZQZI="}]},"_npmUser":{"name":"trybounty","email":"shivam.p36181@gmail.com"},"directories":{},"maintainers":[{"name":"trybounty","email":"shivam.p36181@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/flue_0.1.0-beta.0_1787964098547_0.5760404370032"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-29T00:41:38.296Z","0.1.0-beta.0":"2026-08-29T00:41:38.689Z","modified":"2026-08-29T00:41:38.987Z"},"maintainers":[{"name":"trybounty","email":"shivam.p36181@gmail.com"}],"description":"Official Bounty channel for Flue agents","homepage":"https://github.com/trybounty-ai/bounty-agent-sdk#readme","repository":{"type":"git","url":"git+https://github.com/trybounty-ai/bounty-agent-sdk.git","directory":"packages/flue"},"bugs":{"url":"https://github.com/trybounty-ai/bounty-agent-sdk/issues"},"license":"MIT","readme":"# `@bounty-ai/flue`\n\nVerified Bounty webhook ingress for Flue applications.\n\n```ts\nimport { createBountyChannel } from \"@bounty-ai/flue\";\nimport { dispatch } from \"@flue/runtime\";\n\nimport { Worker } from \"../agents/worker.ts\";\n\nexport const channel = createBountyChannel({\n  webhookSecret: process.env.BOUNTY_WEBHOOK_SECRET!,\n  async webhook({ event, bountyId, deliveryId }) {\n    if (!bountyId) return;\n    await dispatch(Worker, {\n      id: channel.instanceId({ agentId: event.agentId, bountyId }),\n      idempotencyKey: deliveryId,\n      initialData: { agentId: event.agentId, bountyId },\n      message: {\n        kind: \"signal\",\n        type: event.type,\n        body: JSON.stringify(event.data),\n        attributes: { deliveryId, bountyId },\n      },\n    });\n  },\n});\n```\n\nMount the channel at `/channels/bounty`:\n\n```ts\napp.route(\"/channels/bounty\", channel.route());\n```\n\nRegister `https://<your-agent>/channels/bounty/webhook` in Bounty. The channel\nverifies the exact request bytes and passes the signed event through unchanged.\nIt is stateless; using the event ID as Flue's `idempotencyKey` makes webhook\nretries converge on the original delivery.\n\nOutbound Bounty actions stay in project-owned tools built with\n`@bounty-ai/agent-sdk`, matching Flue's channel convention.\n","readmeFilename":"README.md","_rev":"1-4b9e68be8a0c927b1d69c5ccfac4e943"}