{"_id":"@1kbirds/chidori-mock-slack","name":"@1kbirds/chidori-mock-slack","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@1kbirds/chidori-mock-slack","version":"0.1.0","description":"Slack mock app and tools for Chidori TypeScript agents.","license":"Apache-2.0","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui/styles.css":"./dist/ui/styles.css"},"scripts":{"build":"tsc -p tsconfig.json && cp src/ui/styles.css dist/ui/styles.css","test":"vitest run","dev":"vite --host 127.0.0.1 --port 5176"},"peerDependencies":{"react":">=18","react-dom":">=18"},"devDependencies":{"@types/react":"^19.1.0","@types/react-dom":"^19.1.0","@vitejs/plugin-react":"^5.0.0","react":"^19.1.0","react-dom":"^19.1.0","typescript":"^5.8.0","vite":"^7.0.0","vitest":"^3.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/ThousandBirdsInc/chidori-mock.git","directory":"packages/slack"},"homepage":"https://github.com/ThousandBirdsInc/chidori-mock/tree/main/packages/slack","bugs":{"url":"https://github.com/ThousandBirdsInc/chidori-mock/issues"},"gitHead":"8372363edcf88d9d62d9d55902f88e9c14c0d030","_id":"@1kbirds/chidori-mock-slack@0.1.0","_nodeVersion":"26.3.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-shsv/D8r5bV2/SMDIvkPeH8yhRAQ1b2Ra+OF2d//e/XgMQRBbN0ZaZYrA/672e5jjBpqiO/rWB7De2UQ6plzjg==","shasum":"cd05536fa3435b8b5c2e86d7cff37361550603f5","tarball":"https://registry.npmjs.org/@1kbirds/chidori-mock-slack/-/chidori-mock-slack-0.1.0.tgz","fileCount":49,"unpackedSize":112089,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIE04Kyh+wMKmAXlkYhBM43zTWGM67oyZjcohfvlQ/gChAiAd9x+nhwM28ECDaY70imHjbOOX5L0yJZaN+DFFnuETtA=="}]},"_npmUser":{"name":"thousandbirds","email":"colton@thousandbirds.ai"},"directories":{},"maintainers":[{"name":"thousandbirds","email":"colton@thousandbirds.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chidori-mock-slack_0.1.0_1781924300146_0.9004584684995671"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-20T02:58:19.974Z","0.1.0":"2026-06-20T02:58:20.291Z","modified":"2026-06-20T02:58:20.501Z"},"maintainers":[{"name":"thousandbirds","email":"colton@thousandbirds.ai"}],"description":"Slack mock app and tools for Chidori TypeScript agents.","homepage":"https://github.com/ThousandBirdsInc/chidori-mock/tree/main/packages/slack","repository":{"type":"git","url":"git+https://github.com/ThousandBirdsInc/chidori-mock.git","directory":"packages/slack"},"bugs":{"url":"https://github.com/ThousandBirdsInc/chidori-mock/issues"},"license":"Apache-2.0","readme":"# @1kbirds/chidori-mock-slack\n\nIn-memory Slack mock for agent testing. The package provides:\n\n- A deterministic in-memory workspace service.\n- A Slack Web API-like client facade.\n- A REST-style `/api/...` adapter.\n- A React Slack review UI.\n- Seed data for users, channels, direct messages, threads, reactions, and files.\n\n## Supported Surface\n\nClient methods:\n\n- `auth.test`\n- `users.list`\n- `users.info`\n- `conversations.list`\n- `conversations.info`\n- `conversations.join`\n- `conversations.history`\n- `conversations.replies`\n- `chat.postMessage`\n- `chat.update`\n- `chat.delete`\n- `reactions.add`\n- `reactions.remove`\n- `files.upload`\n- `search.messages`\n\nREST-style paths:\n\n- `POST|GET /api/auth.test`\n- `POST|GET /api/users.list`\n- `POST|GET /api/users.info`\n- `POST|GET /api/conversations.list`\n- `POST|GET /api/conversations.info`\n- `POST|GET /api/conversations.join`\n- `POST|GET /api/conversations.history`\n- `POST|GET /api/conversations.replies`\n- `POST /api/chat.postMessage`\n- `POST /api/chat.update`\n- `POST /api/chat.delete`\n- `POST /api/reactions.add`\n- `POST /api/reactions.remove`\n- `POST /api/files.upload`\n- `POST|GET /api/search.messages`\n\n## Search Support\n\nThe first implementation supports common search terms:\n\n- Plain text across message text, channel name, and user name.\n- `in:channel`\n- `from:user`\n- `has:reaction`\n- `has:file`\n\n## Review\n\nRun verification:\n\n```sh\nnpm run build\nnpm test\n```\n\nStart the React review app:\n\n```sh\nnpm run dev:slack\n```\n\nThen open `http://127.0.0.1:5176/`.\n\nManual review should confirm:\n\n- Seeded users, channels, direct messages, messages, reactions, files, and threads render.\n- Posting a channel message updates history.\n- Posting a thread reply updates thread replies and reply counts.\n- Reactions can be added.\n- Messages can be deleted.\n- Mock file upload creates file metadata and a channel message.\n- Search filters the visible conversation.\n- Reset restores deterministic seeded state.\n\n## Fidelity Notes\n\nThe mock intentionally keeps all state in memory. It focuses on common Slack workflows agents need to rehearse: listing channels/users, reading history, posting/updating/deleting messages, replying in threads, adding reactions, uploading file metadata, and searching messages. OAuth, Events API, Socket Mode, app manifests, granular permissions, enterprise grid, workflow builder, block kit rendering, and full search grammar are deferred.\n","readmeFilename":"README.md","_rev":"1-cf234ba0220952991c26f595473ddd97"}