{"_id":"@1kbirds/chidori-mock-google-calendar","name":"@1kbirds/chidori-mock-google-calendar","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@1kbirds/chidori-mock-google-calendar","version":"0.1.0","description":"Google Calendar 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"},"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/google-calendar"},"homepage":"https://github.com/ThousandBirdsInc/chidori-mock/tree/main/packages/google-calendar","bugs":{"url":"https://github.com/ThousandBirdsInc/chidori-mock/issues"},"gitHead":"8372363edcf88d9d62d9d55902f88e9c14c0d030","_id":"@1kbirds/chidori-mock-google-calendar@0.1.0","_nodeVersion":"26.3.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-recmWwTn/e1zyBgXjPFImuaUSC9CXh/CtC9v6d333bH9IXcMXU7XP58Q/CUFEhArzFxgafXEWJSx493ZLggbIw==","shasum":"07140c656a2213c9ab6aa3ad511cc070b1f5475e","tarball":"https://registry.npmjs.org/@1kbirds/chidori-mock-google-calendar/-/chidori-mock-google-calendar-0.1.0.tgz","fileCount":49,"unpackedSize":126545,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDs92aHnFIzjbfm/gDFkY62IKB+YnkLgCQvH7+B3W4/DQIgf1/fOIXgTpRA3QXH3KAKpqVVDKDDz58ng3CbBMLf85E="}]},"_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-google-calendar_0.1.0_1781924269945_0.44683354134595477"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-20T02:57:49.789Z","0.1.0":"2026-06-20T02:57:50.083Z","modified":"2026-06-20T02:57:50.306Z"},"maintainers":[{"name":"thousandbirds","email":"colton@thousandbirds.ai"}],"description":"Google Calendar mock app and tools for Chidori TypeScript agents.","homepage":"https://github.com/ThousandBirdsInc/chidori-mock/tree/main/packages/google-calendar","repository":{"type":"git","url":"git+https://github.com/ThousandBirdsInc/chidori-mock.git","directory":"packages/google-calendar"},"bugs":{"url":"https://github.com/ThousandBirdsInc/chidori-mock/issues"},"license":"Apache-2.0","readme":"# @1kbirds/chidori-mock-google-calendar\n\nIn-memory Google Calendar mock for agent testing. The package provides:\n\n- A deterministic in-memory service.\n- A googleapis-like SDK facade.\n- A lightweight REST-style Calendar API adapter.\n- A React UI for inspecting and editing mock calendar state.\n- Seed/reset utilities for repeatable tests.\n\n## Usage\n\n```ts\nimport {\n  createGoogleCalendarClient,\n  createGoogleCalendarMock,\n  demoSeed,\n} from \"@1kbirds/chidori-mock-google-calendar\";\n\nconst mock = createGoogleCalendarMock({\n  now: \"2026-06-01T15:00:00.000Z\",\n  seed: demoSeed,\n});\n\nconst client = createGoogleCalendarClient(mock);\n\nawait client.events.insert({\n  calendarId: \"primary\",\n  requestBody: {\n    summary: \"Planning\",\n    start: { dateTime: \"2026-06-01T16:00:00.000Z\" },\n    end: { dateTime: \"2026-06-01T17:00:00.000Z\" },\n  },\n});\n```\n\n## Supported Surface\n\nSDK-style methods:\n\n- `calendarList.list`\n- `calendarList.get`\n- `calendars.get`\n- `calendars.insert`\n- `calendars.update`\n- `calendars.delete`\n- `events.list`\n- `events.get`\n- `events.insert`\n- `events.update`\n- `events.patch`\n- `events.delete`\n- `freebusy.query`\n\nREST-style paths:\n\n- `GET /calendar/v3/users/me/calendarList`\n- `GET /calendar/v3/users/me/calendarList/:calendarId`\n- `POST /calendar/v3/calendars`\n- `GET|PUT|PATCH|DELETE /calendar/v3/calendars/:calendarId`\n- `GET|POST /calendar/v3/calendars/:calendarId/events`\n- `GET|PUT|PATCH|DELETE /calendar/v3/calendars/:calendarId/events/:eventId`\n- `POST /calendar/v3/freeBusy`\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:google-calendar\n```\n\nThen open `http://127.0.0.1:5173/`.\n\nManual review should confirm:\n\n- Seeded calendars and events render.\n- UI-created events are visible through the service/client state.\n- API/client-created events render in the UI.\n- Event edit/delete changes affect event listing and free/busy output.\n- Reset restores deterministic seeded state.\n\n## Fidelity Notes\n\nThe mock intentionally keeps state in memory only. It currently focuses on common calendar, event, list, and free/busy workflows. Complex recurrence expansion, notifications, conference data, OAuth, incremental sync, push notifications, and quota simulation are not implemented yet.\n","readmeFilename":"README.md","_rev":"1-01190d1c3865224d45e343b440008796"}