{"id":"paseo-defer","repo":"tomgrin10/paseo-defer","url":"https://github.com/tomgrin10/paseo-defer","package":"paseo-defer","npm":{"package":"paseo-defer","version":"2.4.0","integrity":"sha512-V1MpHWTEE+utdayXl9vcXJhVoa7I9P6HFV3JyWUgLU0/1MHkEUvuDcrgy/aTidVJw0YNjm39i6nylgwny76+zg==","publishedAt":"2026-10-11T13:39:45.141Z","downloadsLast30Days":1849},"name":"paseo-defer","description":"Defer messages to Paseo coding agents until a chosen time or usage-window reset.","categories":["automation","productivity"],"platforms":[],"caveats":[],"images":["https://raw.githubusercontent.com/tomgrin10/paseo-defer/0dcd160c16055954d84e958558196e3d7a787798/docs/defer-popover.png"],"themes":[],"health":{"manifestValid":true,"hasReadme":true,"hasLicense":true,"hasTests":true,"hasTypecheckScript":true,"updatedRecently":true},"scannedAt":"2026-10-15T12:31:21.609Z","addedAt":"2026-09-10T15:56:08+03:00","npmSecurity":{"status":"passed","blockingFindings":0,"advisoryFindings":0,"scannedAt":"2026-10-15T12:14:24.405Z","version":"2.4.0","integrity":"sha512-V1MpHWTEE+utdayXl9vcXJhVoa7I9P6HFV3JyWUgLU0/1MHkEUvuDcrgy/aTidVJw0YNjm39i6nylgwny76+zg=="},"version":"2.4.0","security":{"status":"passed","blockingFindings":0,"advisoryFindings":0,"scannedAt":"2026-10-15T12:14:24.405Z","commit":"0dcd160c16055954d84e958558196e3d7a787798"},"author":"Tom Gringauz","license":"MIT","paseoVersionRequirement":">=0.10.1","descriptionNodes":[{"type":"text","text":"Defer messages to Paseo coding agents until a chosen time or usage-window reset."}],"caveatNodes":[],"manifest":{"id":"paseo-defer","requirements":{"paseo":">=0.10.1"}},"repoMeta":{"stars":8,"defaultBranch":"main","pushedAt":"2026-10-14T16:21:33Z"},"owner":{"login":"tomgrin10","avatarUrl":"https://avatars.githubusercontent.com/u/17593920?v=4"},"installNotesHtml":"<p>Use the latest <a href=\"https://paseo.sh\">Paseo</a> release:</p>\n<pre><code class=\"language-sh\">paseo plugin install paseo-defer\n</code></pre>\n<p>For Git installs:</p>\n<pre><code class=\"language-sh\">paseo plugin add https://github.com/tomgrin10/paseo-defer.git --ref v2.4.0\n</code></pre>\n<p>Update with <code>paseo plugin update paseo-defer</code>.</p>","readmeText":"# paseo-defer\n\n[![npm version](https://img.shields.io/npm/v/paseo-defer?style=for-the-badge&color=cb3837)](https://www.npmjs.com/package/paseo-defer)\n[![npm downloads](https://img.shields.io/npm/dm/paseo-defer?style=for-the-badge&color=cb3837)](https://www.npmjs.com/package/paseo-defer)\n[![Paseo](https://img.shields.io/badge/Paseo-%E2%89%A5%200.10.1-8A63D2?style=for-the-badge)](https://paseo.sh)\n[![License](https://img.shields.io/github/license/tomgrin10/paseo-defer?style=for-the-badge&color=2563eb)](LICENSE)\n\nQueue a message for a later time or your agent's usage-window reset.\n\n![Defer popover with a message and timing controls](docs/defer-popover.png)\n\n## Install\n\nUse the latest [Paseo](https://paseo.sh) release:\n\n```sh\npaseo plugin install paseo-defer\n```\n\nFor Git installs:\n\n```sh\npaseo plugin add https://github.com/tomgrin10/paseo-defer.git --ref v2.4.0\n```\n\nUpdate with `paseo plugin update paseo-defer`.\n\n## Use\n\n- Press the **Defer** pill above a session's composer, or choose **Defer a message** from **⌘K / Ctrl+K**.\n- Pick a delay (`15m`, `1h`, `3h`, or a custom wait up to 30 days), a local time, or **Session reset**. Bare numbers mean minutes; times follow your device's clock format.\n- Reopen the popover to add, edit, or cancel messages. The **Deferred** sidebar shows the queue across all sessions.\n\nYou can also schedule directly from the composer:\n\n```text\n/defer 2h ship the release notes\n/defer 9:30 pm review the changes\n/defer reset continue the task\n```\n\nMessages wait until the agent is idle. The queue persists across reloads and restarts, even when you close the app.\n\nWorkspaces with waiting or sending messages get a blue **Deferred** label in the left sidebar. It stays until the workspace's last deferred message is sent, cancelled, or fails. Labels are restored after restarts, follow sessions moved to another workspace, and preserve other workspace labels, including Session Guard's **Paused** label.\n\nA **Deferred message** timeline card shows the queued text and delivery time. Use **Edit** on the card to change its message or schedule, or **Delete** to remove it. Saving text alone preserves the original delivery time. Sending, cancelling, or deleting removes the card from view; failed sends can also be deleted.\n\nOn Paseo apps with the timeline-footer API, deferred cards stay pinned below the scrollable chat history, above the composer. They remain available while older messages load, without duplicate inline cards. Current apps keep the editable inline card until that app support ships.\n\nSent messages include a **Deferral details** context attachment: when queued, the intended delivery time and trigger, the usage-window reset when applicable, the actual send time, and elapsed/late duration. The original message text stays unchanged.\n\nOn desktop and web, opening Defer copies your composer draft. Clear the original yourself to avoid sending it twice. On iOS, enter the message in Defer.\n\nUnder **Composer pill**, choose **Only when waiting** to hide the pill when the queue is empty.\n\nOn Paseo 0.10.1+, hide the sidebar entry in **Settings → Plugins → Defer → Display**; Command Center access stays available after opening a workspace or plugin on that host.\n\n## Data and access\n\nPaseo plugins run trusted, unsandboxed code on the daemon host. Queued messages and settings stay in `$PASEO_HOME/plugin-data/defer/` (`~/.paseo` by default).\n\nFor password-protected daemons, the plugin reads `PASEO_PASSWORD`, then `PASEO_PASSWORD_FILE`, then `~/paseo-hub/secrets/daemon-password`. It never logs or stores the password.\n\n## Development\n\n```sh\ngit clone https://github.com/tomgrin10/paseo-defer.git\ncd paseo-defer\nnpm ci\nnpm run verify\npaseo plugin install \"$PWD\"\n```\n\nAfter changes, run `npm run verify` and `paseo plugin reload paseo-defer`.\n\n## License\n\n[MIT](LICENSE) © 2026 Tom Gringauz.\n\n## Other plugins\n\n- [Graphite](https://github.com/tomgrin10/paseo-graphite) — Graphite stacks and PR status.\n- [Smart Session](https://github.com/tomgrin10/paseo-smart-session) — Context compaction and usage insights.\n- [Vitals](https://github.com/tomgrin10/paseo-vitals) — Host, agent, and Docker health.\n- [Session Guard](https://github.com/tomgrin10/paseo-session-guard) — Pause at session limits and continue after reset.\n- [Transfer](https://github.com/tomgrin10/paseo-transfer) — Copy or move workspaces between hosts.\n- [Transcript Search](https://github.com/tomgrin10/paseo-transcript-search) — Search conversations across connected hosts.\n- [Send to Paseo](https://github.com/tomgrin10/send-to-paseo) — Send GitHub and Graphite PRs to Paseo from Chrome.\n- [Dispatch](https://github.com/tomgrin10/paseo-dispatch) — Route tasks to existing workspaces (development preview).\n"}