@heyditto/cli 1.5.0 → 1.7.0

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
@@ -4,7 +4,7 @@
4
4
 
5
5
  ```bash
6
6
  npm install -g @heyditto/cli
7
- heyditto init --agent --agent-caller "NAME_OF_AGENT" --json # the name is set once, here
7
+ heyditto init --name "NAME_OF_AGENT" --json # the name is set once, here
8
8
 
9
9
  heyditto save "I prefer TypeScript over JS for new projects"
10
10
  heyditto search "language preferences"
@@ -45,7 +45,7 @@ You can also reorder your `PATH` so the npm global bin comes before `/usr/bin`,
45
45
  Agents can self-provision without a browser, email, or OTP:
46
46
 
47
47
  ```bash
48
- heyditto init --agent --json
48
+ heyditto init --json
49
49
  ```
50
50
 
51
51
  The command creates a free claimable agent account, stores the key in
@@ -56,16 +56,16 @@ that link. The claim token is carried in the query string (`?t=...`).
56
56
 
57
57
  ### Name the agent at init
58
58
 
59
- Decide the agent's name **before** you run `init` and pass it with `--agent-caller`:
59
+ Decide the agent's name **before** you run `init` and pass it with `--name`:
60
60
 
61
61
  ```bash
62
- heyditto init --agent --agent-caller "NAME_OF_AGENT" --json
62
+ heyditto init --name "NAME_OF_AGENT" --json
63
63
  ```
64
64
 
65
65
  The caller name is set **once, at account creation**, and it labels everything
66
66
  the agent saves: after a human claims the account, the agent's memories show up
67
67
  in the owner's graph as an *external agent thread* titled by this name. If you
68
- init without `--agent-caller`, the name defaults to `agent` and every memory is
68
+ init without `--name`, the name defaults to `agent` and every memory is
69
69
  labeled `agent` — generic and hard to tell apart from other agents.
70
70
 
71
71
  So: use the agent's own name, or a name the user has already chosen, and set it
@@ -88,19 +88,43 @@ heyditto save <content> [--source <s>] [--source-context <c>]
88
88
  heyditto search <query>... [--include-public] [--filter-username <u>]
89
89
  heyditto fetch <id>... [--memory-format full|outline|blocks]
90
90
  heyditto list [--username <u>] [--limit <n>] [--offset <n>] [--source <s>]
91
+ heyditto my-memories [--limit <n>] [--offset <n>] [--source <s>]
91
92
  heyditto update <id> [--content <text>|--content-file <path>] [--title <t>]
92
93
  [--source-context <c>] [--edits-json <json>|--edits-file <path>]
93
94
  [--base-revision <n>]
94
95
  heyditto publish <id> [--title <t>] [--privacy-mode <mode>]
95
96
  heyditto unpublish (--memory-id <id>|--share-id <id>|<id>)
97
+ heyditto delete <memory-id> --confirm
96
98
  heyditto subjects <query> [--top-k <n>]
99
+ heyditto subject-edges <subject-id> [--limit <n>] [--min-weight <n>] [--kg <alias>]
97
100
  heyditto memories <subject-id>... [--query <q>]
98
101
  heyditto network <pair-id> [--limit <n>]
99
- heyditto graphs create <name> | list | add <@username> | remove <@username> | subscribers
100
- heyditto init --agent [--agent-caller <name>] [--json]
101
- heyditto status
102
+ heyditto friends
103
+ heyditto knowledge-graphs
104
+ heyditto graph-sharing (--enable|--disable) [--title <t>] [--description <d>]
105
+ heyditto graphs create <name>
106
+ heyditto graphs list
107
+ heyditto graphs available
108
+ heyditto graphs add <@username>
109
+ heyditto graphs remove <@username>
110
+ heyditto graphs subscribers
111
+ heyditto graphs sharing (--enable|--disable) [--title <t>] [--description <d>]
112
+ heyditto init [--name <name>] [--subscribe <@graph>]... [<@graph>...] [--json]
113
+ heyditto login [<key>] [--paste] [--stdin]
114
+ heyditto logout
115
+ heyditto status [--output <format>]
102
116
  heyditto config
103
- heyditto help
117
+ heyditto help [command]
118
+ ```
119
+
120
+ ### Help
121
+
122
+ Use `-h` or `--help` globally or after any command:
123
+
124
+ ```bash
125
+ heyditto --help
126
+ heyditto search --help
127
+ heyditto graphs add --help
104
128
  ```
105
129
 
106
130
  ### `save`
@@ -142,8 +166,13 @@ List saved memories, or public DittoHub publishes for a username.
142
166
  ```bash
143
167
  heyditto list --limit 10
144
168
  heyditto list --username peyton --limit 10 --output json
169
+ heyditto my-memories --source cli --limit 10 --output json
145
170
  ```
146
171
 
172
+ `my-memories` is the CLI wrapper for `list_my_memories`. It only lists your
173
+ saved memories, while `list --username <u>` can switch to public DittoHub
174
+ publishes for another user.
175
+
147
176
  ### `update`
148
177
 
149
178
  Edit a saved memory in place. Replace the full body with `--content` or
@@ -154,10 +183,7 @@ Block edits require the current revision returned by `save` or a previous
154
183
  ```bash
155
184
  heyditto update <memory-id> --content-file revised.md --output json
156
185
  heyditto fetch <memory-id> --memory-format outline --output json
157
- heyditto update <memory-id> \
158
- --edits-json '[{"op":"replace_text","blockId":"2","find":"old","replace":"new","expectedCount":1}]' \
159
- --base-revision 3 \
160
- --output json
186
+ heyditto update <memory-id> --edits-file edits.json --base-revision 3 --output json
161
187
  ```
162
188
 
163
189
  ### `publish` / `unpublish`
@@ -170,6 +196,15 @@ heyditto publish <memory-id> --title "Launch notes" --privacy-mode scan_and_bloc
170
196
  heyditto unpublish --share-id abc123def4 --output json
171
197
  ```
172
198
 
199
+ ### `delete`
200
+
201
+ Permanently delete a saved memory. This is destructive, so the CLI requires
202
+ `--confirm`.
203
+
204
+ ```bash
205
+ heyditto delete <memory-id> --confirm --output json
206
+ ```
207
+
173
208
  ### `subjects`
174
209
 
175
210
  Search the subject (topic) graph. Returns subject ids you can pass to `memories` or `network`.
@@ -177,8 +212,11 @@ Search the subject (topic) graph. Returns subject ids you can pass to `memories`
177
212
  ```bash
178
213
  heyditto subjects "memory architecture"
179
214
  heyditto subjects "performance" --top-k 5
215
+ heyditto subject-edges <subject-id> --limit 10 --min-weight 0.5 --output json
180
216
  ```
181
217
 
218
+ `subject-edges` is the CLI wrapper for `get_subject_edges`.
219
+
182
220
  ### `memories`
183
221
 
184
222
  Fetch memory previews scoped to specific subjects.
@@ -196,6 +234,14 @@ Traverse a memory's network (related memories via shared subjects).
196
234
  heyditto network <pair-id> --limit 30
197
235
  ```
198
236
 
237
+ ### `friends`
238
+
239
+ List Ditto friends for commands that need usernames.
240
+
241
+ ```bash
242
+ heyditto friends --output json
243
+ ```
244
+
199
245
  ### `graphs`
200
246
 
201
247
  Manage the public knowledge graphs you're subscribed to. Subscribed graphs are
@@ -206,35 +252,46 @@ your own graph or an app's graph, since those aren't subscriptions.
206
252
  ```bash
207
253
  heyditto graphs create feedback-triager # create a NEW dedicated graph you own (mint its CI key in the Ditto UI)
208
254
  heyditto graphs list # graphs you're subscribed to
255
+ heyditto graphs available # readable knowledge graphs, including main/app graphs
209
256
  heyditto graphs add @minos # subscribe to @minos's public graph
210
257
  heyditto graphs remove @minos # unsubscribe
211
258
  heyditto graphs subscribers # who's subscribed to your graph
259
+ heyditto graphs sharing --disable # disable public subscriptions to your graph
260
+ ```
261
+
262
+ Top-level aliases are also available:
263
+
264
+ ```bash
265
+ heyditto knowledge-graphs --output json
266
+ heyditto graph-sharing --enable --title "Support Graph" --description "Public support notes"
212
267
  ```
213
268
 
214
269
  ### `status`
215
270
 
216
271
  Print whether `DITTO_API_KEY` is set and the configured MCP endpoint resolves.
217
272
 
218
- ### `init --agent`
273
+ ### `init`
219
274
 
220
275
  Create a free claimable agent account and save its key locally. Use `--json` for
221
276
  machine-readable output that includes `apiKeyStored`, `userID`, and `claimURL`.
222
277
  Share `claimURL` with the human owner. The CLI stores the generated key locally
223
278
  without printing it. The claim URL uses a `?t=...` query parameter.
224
279
 
225
- Pass `--agent-caller <name>` to set the agent's name. This is set once at init,
280
+ Pass `--name <name>` to set the agent's name. This is set once at init,
226
281
  defaults to `agent`, labels every memory the agent saves, and (after the account
227
282
  is claimed) becomes the title of the agent's external thread in the owner's
228
283
  graph. Choose it up front — renaming after init isn't yet supported. See
229
284
  [Name the agent at init](#name-the-agent-at-init).
230
285
 
286
+ `--agent-caller <name>` is still accepted as a backward-compatible alias.
287
+
231
288
  ### `config`
232
289
 
233
290
  Print a Claude Desktop / Cursor / generic-MCP-client config snippet for the Ditto memory server.
234
291
 
235
292
  ## Environment
236
293
 
237
- - `DITTO_API_KEY` (optional) — MCP API key override. Agents can instead run `heyditto init --agent --json` for no-human setup.
294
+ - `DITTO_API_KEY` (optional) — MCP API key override. Agents can instead run `heyditto init --json` for no-human setup.
238
295
  - `DITTO_API_BASE` (optional) — API base URL. Defaults to `https://api.heyditto.ai`. Useful for local dev (`http://localhost:3400`).
239
296
 
240
297
  ## Output