{"_id":"@d3ara1n/pi-chat-room","_rev":"6-080f31fd20ba473450229551044fcbce","name":"@d3ara1n/pi-chat-room","dist-tags":{"latest":"0.2.4"},"versions":{"0.1.0":{"name":"@d3ara1n/pi-chat-room","version":"0.1.0","keywords":["pi-package","pi","pi-extension"],"license":"MIT","_id":"@d3ara1n/pi-chat-room@0.1.0","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"e7f797efa67fab0983009d9696652301e8a8d635","tarball":"https://registry.npmjs.org/@d3ara1n/pi-chat-room/-/pi-chat-room-0.1.0.tgz","fileCount":5,"integrity":"sha512-VhFiQhbcKrSnVLzfprHAWVlM2nrk2PkzMHQtZsk7D2L20KY4nQ9sS4yzUtMSdNkK9A2cHEACPEzhkUYUsCgCGg==","signatures":[{"sig":"MEUCIQDh2BXwIZdRcxVfu1HbFF9Hhzd8bRtIIAuVrk9Xj/4FGQIgNdH82IjDRi7hw5SyywZfRkKaDTVKfv0PVpkui2GzwaM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10885},"main":"src/index.ts","type":"module","gitHead":"d2c58682340458af47de6bc9b6e0524b217656c6","_npmUser":{"name":"d3ara1n","email":"d3ara1n@outlook.com"},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-chat-room"},"_npmVersion":"12.0.1","description":"Agent-to-agent messaging for pi — built on @d3ara1n/pi-mesh. Exposes the send_to tool so agents can message each other; incoming messages arrive as user messages prefixed [From: NAME], queued until idle. Role-agnostic and order-agnostic: just the messagin","directories":{},"_nodeVersion":"26.5.0","dependencies":{"@d3ara1n/pi-mesh":"*"},"_hasShrinkwrap":false,"peerDependencies":{"@d3ara1n/pi-mesh":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@d3ara1n/pi-mesh":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-chat-room_0.1.0_1785313966005_0.09639565636026526","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@d3ara1n/pi-chat-room","version":"0.2.0","keywords":["pi-package","pi","pi-extension"],"license":"MIT","_id":"@d3ara1n/pi-chat-room@0.2.0","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"b2285516e68f361f7e97295b68a8dfeecbd51d8e","tarball":"https://registry.npmjs.org/@d3ara1n/pi-chat-room/-/pi-chat-room-0.2.0.tgz","fileCount":6,"integrity":"sha512-k2Qc7RQzq2zeu07JiXzRz5J4hCfEs4PUvP9akXsDCJnliSZdyel7RJjt34VYNuaE906Qq9SJtDQaTs0PpOtpjw==","signatures":[{"sig":"MEUCIQCYjbI7ZbeMgXV4Yg2IRzBz7mQgofuJmeSfv9e0TK5G9wIgEOIVWVefDTVUXq1qJNY2E/kWGTrGh9ZOGoFLDPaPSp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-chat-room@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14943},"main":"src/index.ts","type":"module","gitHead":"a32b3a68458981e3f36a5c85b6fd62dca0cfb636","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:10b53378-646c-41ef-a464-317931168053"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-chat-room"},"_npmVersion":"11.17.0","description":"Agent-to-agent messaging for pi — built on @d3ara1n/pi-mesh. Exposes the send_to tool so agents can message each other; incoming messages arrive as user messages prefixed [From: NAME], queued until idle. Role-agnostic and order-agnostic: just the messagin","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@d3ara1n/pi-mesh":"*"},"_hasShrinkwrap":false,"peerDependencies":{"@d3ara1n/pi-mesh":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@d3ara1n/pi-mesh":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-chat-room_0.2.0_1786669328865_0.16057504098395303","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@d3ara1n/pi-chat-room","version":"0.2.1","keywords":["pi-package","pi","pi-extension"],"license":"MIT","_id":"@d3ara1n/pi-chat-room@0.2.1","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"94c935f76bba7924e82051879e96b2e2be799df1","tarball":"https://registry.npmjs.org/@d3ara1n/pi-chat-room/-/pi-chat-room-0.2.1.tgz","fileCount":6,"integrity":"sha512-tIwoY10ILS17zwgQ4Bq5zvfJEwtTml/k83NlfSjH4ibH/6K4aaRsArrumaUML7cDFED4F5GgcIcsQf+SyJBbbA==","signatures":[{"sig":"MEYCIQD2AlUNHB6Yw55Gxrgl+hR9dRa5mvqHanckbpplAnG6fgIhALF6QYQWhmBg7rlz+iHhV43CFWOzOKtSfjgBYLnvqAtC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-chat-room@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14747},"main":"src/index.ts","type":"module","gitHead":"8ee49f98de8f4dc7f17b4e5a74abc3ffeafcc3f5","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:10b53378-646c-41ef-a464-317931168053"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-chat-room"},"_npmVersion":"11.17.0","description":"Agent-to-agent messaging for pi — built on @d3ara1n/pi-mesh. Exposes the send_to tool so agents can message each other; incoming messages arrive as user messages prefixed [From: NAME], queued until idle. Role-agnostic and order-agnostic: just the messagin","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@d3ara1n/pi-mesh":"*"},"_hasShrinkwrap":false,"peerDependencies":{"@d3ara1n/pi-mesh":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@d3ara1n/pi-mesh":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-chat-room_0.2.1_1786705856027_0.19630031340223875","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@d3ara1n/pi-chat-room","version":"0.2.2","keywords":["pi-package","pi","pi-extension"],"license":"MIT","_id":"@d3ara1n/pi-chat-room@0.2.2","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"90511a150a853bf6158adbd7813451d67a23d39f","tarball":"https://registry.npmjs.org/@d3ara1n/pi-chat-room/-/pi-chat-room-0.2.2.tgz","fileCount":6,"integrity":"sha512-PYO0HbfOPLAf+cp7rFI8+yrZbboDe7lk1Qwy2WAfHcGmJqsoMBQnXjPxjyLfaxGhMuIdun0YSADfs5/UModR3w==","signatures":[{"sig":"MEYCIQCh9AVQpzhMM0pRgC1zBpK8yJDIwKrrIYnSPuCUL9MuNgIhAPzYGOVeAJAWEK3loSzAtWmAucyHWIi6WIX6CwwDHYc3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-chat-room@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15101},"main":"src/index.ts","type":"module","gitHead":"6bbfbdabe712fa68b66079f49794e4a4ffb7515d","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:10b53378-646c-41ef-a464-317931168053"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-chat-room"},"_npmVersion":"11.17.0","description":"Agent-to-agent messaging for pi — built on @d3ara1n/pi-mesh. Exposes the send_to tool so agents can message each other; incoming messages arrive as user messages prefixed [From: NAME], queued until idle. Role-agnostic and order-agnostic: just the messagin","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@d3ara1n/pi-mesh":"*"},"_hasShrinkwrap":false,"peerDependencies":{"@d3ara1n/pi-mesh":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@d3ara1n/pi-mesh":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-chat-room_0.2.2_1786871651329_0.8574099474109533","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@d3ara1n/pi-chat-room","version":"0.2.3","keywords":["pi-package","pi","pi-extension"],"license":"MIT","_id":"@d3ara1n/pi-chat-room@0.2.3","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions/tree/main/packages/pi-chat-room#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"58a8cbcdf44a60ebcff7bd9f25b4fe40606c9ac6","tarball":"https://registry.npmjs.org/@d3ara1n/pi-chat-room/-/pi-chat-room-0.2.3.tgz","fileCount":6,"integrity":"sha512-X1wd7NSNj2hyAKUWMxz9aYdDMuCeOjHDwh2M11pgYQR8sMTM7e3hY1UdiofKWDKJ9oAHppFN6qsCL2n+OOtRPQ==","signatures":[{"sig":"MEYCIQCdfLDEd0qh6hHzt3fvBZ1VESbX+xH7A8b5qK/zyBLK+QIhAIpM7Xl1AGSqPNiDmBfd8fhn9BnF19fUnm0iygQ5Jov7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDm1etD9VFmkYoLH0Fk381CrtNSKtPE1v780z0o3RIWgQIhALujxQibCUUVw90UiGNUSKtCoOcyQlGkX7W++b984glp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-chat-room@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15991},"main":"src/index.ts","type":"module","gitHead":"2e4cf862e38e28ca3b2b1e2ecce67fd5746548c7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"10b53378-646c-41ef-a464-317931168053"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-chat-room"},"_npmVersion":"11.19.0","description":"Agent-to-agent messaging for pi — built on @d3ara1n/pi-mesh. Exposes the send_to tool so agents can message each other; incoming messages arrive as user messages prefixed [From: NAME], queued until idle. Role-agnostic and order-agnostic: just the messagin","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@d3ara1n/pi-mesh":"*"},"_hasShrinkwrap":false,"peerDependencies":{"@d3ara1n/pi-mesh":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@d3ara1n/pi-mesh":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-chat-room_0.2.3_1790851093829_0.9814245865748588","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"pi":{"extensions":["./src/index.ts"]},"_id":"@d3ara1n/pi-chat-room@0.2.4","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"dist":{"shasum":"c24b85a10a0b1415a0fcc1e920f28cf4f9c467c0","tarball":"https://registry.npmjs.org/@d3ara1n/pi-chat-room/-/pi-chat-room-0.2.4.tgz","fileCount":6,"integrity":"sha512-NhFuqDG/r/qe2ZV+McBpV4Ee9BVpyUGudMl7qGTWunnomkJjTOP1nD5rnmXQYivmJWodkqo0AwWlxTIKqcIZ6Q==","signatures":[{"sig":"MEQCIFce8DxW2XfychdziTmtYg7Ohc1dInVQ08ZLxBeGtk3+AiA/X//RB+WtirVm79JZykP6m9LDFJi33WXkEMTApXe56Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIG9+ihRL3KHpafD44xUo94mAcJqP2h9Db5f6NdIMg2AnAiEA1DbTJP8SuXMYgAS1A7Odxsl9F/YmzqU/kfcUkqg4H98="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-chat-room@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16100},"main":"src/index.ts","name":"@d3ara1n/pi-chat-room","type":"module","gitHead":"a45318593844abb5f0d25f830bf39ec577c69f50","license":"MIT","version":"0.2.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"10b53378-646c-41ef-a464-317931168053"}},"homepage":"https://github.com/d3ara1n/pi-extensions/tree/main/packages/pi-chat-room#readme","keywords":["pi-package","pi","pi-extension"],"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-chat-room"},"_npmVersion":"11.19.0","description":"Agent-to-agent messaging for pi — built on @d3ara1n/pi-mesh. Exposes the send_to tool so agents can message each other; incoming messages arrive as user messages prefixed [From: NAME], queued until idle. Role-agnostic and order-agnostic: just the messagin","directories":{},"maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"_nodeVersion":"24.21.0","dependencies":{"@d3ara1n/pi-mesh":"*"},"_hasShrinkwrap":false,"peerDependencies":{"@d3ara1n/pi-mesh":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@d3ara1n/pi-mesh":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-chat-room_0.2.4_1790886507104_0.027348144161815302"}}},"time":{"created":"2026-07-29T08:32:45.889Z","modified":"2026-10-01T20:28:28.395Z","0.1.0":"2026-07-29T08:32:46.213Z","0.2.0":"2026-08-14T01:02:08.998Z","0.2.1":"2026-08-14T11:10:56.173Z","0.2.2":"2026-08-16T09:14:11.475Z","0.2.3":"2026-10-01T10:38:13.926Z","0.2.4":"2026-10-01T20:28:27.194Z"},"bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"license":"MIT","homepage":"https://github.com/d3ara1n/pi-extensions/tree/main/packages/pi-chat-room#readme","keywords":["pi-package","pi","pi-extension"],"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-chat-room"},"description":"Agent-to-agent messaging for pi — built on @d3ara1n/pi-mesh. Exposes the send_to tool so agents can message each other; incoming messages arrive as user messages prefixed [From: NAME], queued until idle. Role-agnostic and order-agnostic: just the messagin","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"readme":"# @d3ara1n/pi-chat-room\n\n[![npm version](https://img.shields.io/npm/v/@d3ara1n/pi-chat-room)](https://www.npmjs.com/package/@d3ara1n/pi-chat-room) [![npm downloads](https://img.shields.io/npm/dm/@d3ara1n/pi-chat-room)](https://www.npmjs.com/package/@d3ara1n/pi-chat-room) [![license](https://img.shields.io/npm/l/@d3ara1n/pi-chat-room)](https://www.npmjs.com/package/@d3ara1n/pi-chat-room)\n\nAgent-to-agent messaging for [pi](https://github.com/earendil-works/pi) — built on [`@d3ara1n/pi-mesh`](../pi-mesh). Exposes the `send_to` tool so agents can message each other; incoming messages arrive as user messages prefixed `[From: NAME]`.\n\nRole-agnostic and order-agnostic: it doesn't know \"assistant\" or \"director\" — it just delivers messages between named peers. Roles are declared via pi-mesh's `mesh_set_profile`.\n\n## How it works\n\n- **Send**: the `send_to` tool resolves a peer by name and delivers a message over the mesh. Asynchronous — returns once the recipient's mesh acknowledges receipt, NOT when the recipient agent reads or replies. Replies arrive later as their own `[From: ...]` user messages.\n- **Receive**: incoming messages are injected as user messages (`[From: NAME] ...`), delivered per the `chatRoom.deliveryMode` setting — `\"steer\"` (default) injects them at the next safe point while the agent is mid-turn; `\"followUp\"` queues them until the agent finishes its turn, then starts a new turn.\n- **Output dual-channel**: an agent's normal output goes to the human user; addressing another agent REQUIRES `send_to`. This is enforced via `promptGuidelines`, since LLMs have no native notion of routing output to one audience vs another.\n\n## Tool\n\n### `send_to`\n\nSend a message to another pi instance on the mesh.\n\n| Parameter | Required | Description |\n|-----------|----------|-------------|\n| `name` | yes | Recipient's mesh name (from `mesh_list`). |\n| `message` | yes | The message body. |\n\n## Configuration\n\nDelivery of incoming messages is controlled by the `chatRoom` settings block:\n\n| Field | Type | Default | Description |\n|-------|------|---------|-------------|\n| `deliveryMode` | `\"steer\"` \\| `\"followUp\"` | `\"steer\"` | How incoming messages are injected. `\"steer\"` (default) delivers at the next safe point while the agent is mid-turn, so replies arrive as early as possible. `\"followUp\"` waits until the agent finishes its turn, then starts a new turn — never interrupts in-flight work. |\n\n```jsonc\n// ~/.pi/agent/settings.json\n{\n  \"chatRoom\": {\n    \"deliveryMode\": \"followUp\"\n  }\n}\n```\n\nA project-level `.pi/settings.json` `chatRoom` block replaces the global block entirely.\n\n## Installation\n\n```bash\npi install npm:@d3ara1n/pi-mesh\npi install npm:@d3ara1n/pi-chat-room\n```\n\nOr add to `~/.pi/agent/settings.json`:\n\n```jsonc\n{\n  \"extensions\": [\n    \"/absolute/path/to/pi-extensions/packages/pi-mesh\",\n    \"/absolute/path/to/pi-extensions/packages/pi-chat-room\"\n  ]\n}\n```\n\n## Dependencies\n\n- [`@d3ara1n/pi-mesh`](../pi-mesh) — peer discovery + transport\n\n## License\n\nMIT\n","readmeFilename":"README.md"}