@todoforai/cli 0.1.54 → 0.1.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -70,6 +70,17 @@ todoforai-cli -c # continue most recent todo
70
70
  todoforai-cli --resume <todo-id> # resume specific todo
71
71
  ```
72
72
 
73
+ ### Notifications
74
+
75
+ ```bash
76
+ tfa-cli inbox # the bell: newest across all tabs
77
+ tfa-cli inbox messages --unread # one filter: needs-you | messages | activity
78
+ tfa-cli inbox seen # mark everything read
79
+ tfa-cli notify "Deploy done" "v2 is live" --href /t/<todo-id> # note to YOUR user (Messages tab + phone push)
80
+ ```
81
+
82
+ `notify` has no recipient option: it always goes to the user the key belongs to (never a teammate or other account), is shown as from the calling agent, delivers the same text once (`--subject` to control the dedupe key) and is capped at 10 new notes per day.
83
+
73
84
  ## IDE integration (ACP)
74
85
 
75
86
  `todoforai-cli acp` speaks the [Agent Client Protocol](https://agentclientprotocol.com) over stdio, so any ACP-capable editor can drive your agent: prompts from the editor chat, file edits as native diffs, permission prompts inline, and shell commands running on your machine through the bridge. One ACP thread = one todo. Requires `todoforai-cli login` first; `--isolated` / `--user-id` are not supported in this mode.
@@ -2,9 +2,11 @@
2
2
  // Dev (linked repo) under bun: run src directly so there is no stale-build step.
3
3
  // Node (and the published package, which ships only dist/) runs the bundle;
4
4
  // the @shared/* file: deps are bundled in.
5
+ // import() takes the URL, not a path: on Windows fileURLToPath gives `C:\...`,
6
+ // which the ESM loader rejects (ERR_UNSUPPORTED_ESM_URL_SCHEME, protocol 'c:').
5
7
  import { existsSync } from "node:fs";
6
8
  import { fileURLToPath } from "node:url";
7
9
 
8
- const src = fileURLToPath(new URL("../src/index.ts", import.meta.url));
9
- const dist = fileURLToPath(new URL("../dist/todoforai-cli.js", import.meta.url));
10
- await import(existsSync(src) && typeof Bun !== "undefined" ? src : dist);
10
+ const src = new URL("../src/index.ts", import.meta.url);
11
+ const dist = new URL("../dist/todoforai-cli.js", import.meta.url);
12
+ await import((existsSync(fileURLToPath(src)) && typeof Bun !== "undefined" ? src : dist).href);