@theplato/tiro-cli 0.4.1 โ†’ 0.6.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.
Files changed (3) hide show
  1. package/README.md +65 -5
  2. package/dist/bin/tiro.js +177 -1939
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -46,6 +46,7 @@ The CLI is **not a replacement for MCP**. It's the same data through a different
46
46
  - ๐Ÿ” **OAuth Authorization Code + PKCE** โ€” no copy-paste tokens, no secrets in shell history. Tokens live in OS Keychain.
47
47
  - ๐Ÿ“ **`--output` writes to disk** โ€” stdout becomes a single line of metadata. Agents stay context-light.
48
48
  - ๐Ÿชž **Same JSON shape as MCP** โ€” `tiro notes transcript --format json` mirrors `get_note_transcript` exactly. Switch surfaces without changing parsers.
49
+ - ๐Ÿ•ธ๏ธ **Workspace wiki** โ€” `tiro wiki search / page / mentions / graph` read the auto-extracted knowledge graph; `--workspace` targets a specific workspace.
49
50
  - ๐Ÿงต **NDJSON streams by default** โ€” pipe to `jq`, `head`, `xargs`. No buffer-in-memory surprises.
50
51
  - ๐Ÿค– **Agent-aware** โ€” TTY detection auto-selects pretty vs JSON. `error.suggestion` field for auto-recovery.
51
52
  - ๐Ÿšซ **No voice in v1** โ€” intentionally matches MCP feature parity (audio uploads belong elsewhere).
@@ -110,6 +111,7 @@ tiro notes list # pretty table in T
110
111
  tiro notes list --json # NDJSON for pipes
111
112
  tiro notes list --keyword "OKR" --since 30d # Reorder by keyword relevance
112
113
  tiro notes list --folder <id> --limit 100 --cursor <token>
114
+ tiro notes list --workspace <guid> # scope to one workspace
113
115
  ```
114
116
 
115
117
  ### Deep keyword search (returns notes + their primary documents)
@@ -117,10 +119,19 @@ tiro notes list --folder <id> --limit 100 --cursor <token>
117
119
  tiro notes search "Q3 Planning" # positional keyword
118
120
  tiro notes search "OKR" --since 2026-04-01 --until 2026-05-01
119
121
  tiro notes search "Acme Corp" --folder <id> --json | jq '.[] | .guid'
122
+ tiro notes search "release" --workspace <guid> # scope to one workspace
120
123
  ```
121
124
 
122
125
  `--since` / `--until` accept ISO-8601 (`2026-04-01T10:00:00Z`) or relative (`7d`, `24h`, `30m`).
123
126
 
127
+ **Workspace scoping.** `notes list` / `notes search` resolve their workspace in this
128
+ order: explicit `--workspace <guid>` first, then the workspace your API key is bound
129
+ to (workspace-scoped keys), then โ€” for an unbound credential (a personal key or an
130
+ OAuth login) โ€” **across every workspace you belong to**, with a one-line warning to
131
+ stderr. Unlike `wiki`, notes are never silently pinned to a single "default"
132
+ workspace. Run `tiro wiki workspaces` for guids, or `tiro auth status` to see which
133
+ workspace your credential is bound to.
134
+
124
135
  ### Get one note โ†’ stdout
125
136
  ```bash
126
137
  tiro notes get <guid> # markdown to TTY
@@ -150,6 +161,50 @@ header instead of being attached to every speaker line. Use
150
161
 
151
162
  `--format json` returns the exact shape MCP's `get_note_transcript` emits (`{noteGuid, title, participants, createdAt, recordingDurationSeconds, paragraphs[]}` with each paragraph carrying `segments[]` of `{content, speaker:{label,name}|null}`).
152
163
 
164
+ ### Browse workspace folders
165
+ ```bash
166
+ tiro folders list # flat list (id, sharingType, title)
167
+ tiro folders list --workspace <guid> --json
168
+ tiro folders tree --workspace <guid> # hierarchy, indented by depth
169
+ ```
170
+
171
+ Folders are workspace-scoped. The workspace resolves from `--workspace`, else your
172
+ API key's bound workspace. Unlike notes, folders have no cross-workspace path โ€” an
173
+ unbound credential must pass `--workspace` (run `tiro wiki workspaces` for guids).
174
+ Use a folder id with `tiro notes list --folder <id>`. `sharingType` is one of
175
+ `PRIVATE` / `ALL_MEMBER_VIEWER` / `ALL_MEMBER_EDITOR` / `LIMITED`.
176
+
177
+ ### List word memories
178
+ ```bash
179
+ tiro word-memories list # custom transcription vocabulary
180
+ tiro word-memories list --workspace <guid> --json
181
+ ```
182
+
183
+ Word memories are the custom vocabulary that biases a workspace's transcription.
184
+ Read-only and workspace-scoped (same resolution as folders).
185
+
186
+ ### Explore the workspace wiki
187
+
188
+ The wiki is Tiro's auto-extracted knowledge graph (entities, concepts, and their
189
+ links) over your notes. These commands are **read-only** and mirror the MCP wiki
190
+ tools. Wiki is a paid, opt-in feature โ€” calls against an ineligible or
191
+ not-activated workspace return the backend's upgrade message and a non-zero exit.
192
+
193
+ ```bash
194
+ tiro wiki workspaces # which workspaces? (guid + wiki on/off)
195
+ tiro wiki search "Ontology" --workspace <guid> # find pages by keyword
196
+ tiro wiki page <pageGuid> --workspace <guid> # body + mentions + links
197
+ tiro wiki mentions <pageGuid> --workspace <guid> # where the page is grounded in notes
198
+ tiro wiki graph <pageGuid> --mode around --workspace <guid> # neighborhood graph
199
+ tiro wiki graph --mode seed --type CONCEPT --workspace <guid> # overview graph (no pageGuid)
200
+ ```
201
+
202
+ `--workspace` is optional โ€” omit it to use the default workspace for your API
203
+ key. If your account belongs to multiple workspaces, run `tiro wiki workspaces`
204
+ first and pass the `guid` of the one whose wiki is enabled. `graph` results are
205
+ capped (default 50 nodes); a `truncated: true` flag signals you to narrow the
206
+ query.
207
+
153
208
  ### Connect to Claude Code (MCP)
154
209
  ```bash
155
210
  tiro mcp install
@@ -180,11 +235,15 @@ tiro notes transcript Get the full transcript (matches MCP get_note_transcr
180
235
  tiro mcp info Show hosted MCP endpoint info
181
236
  tiro mcp install Print one-line claude-mcp-add command
182
237
 
183
- # Coming in v0.4:
238
+ tiro wiki search/page Read the workspace knowledge graph
239
+ tiro wiki mentions/graph Page mentions and graph slices
240
+ tiro folders list/tree Browse workspace folders (flat or hierarchy)
241
+ tiro word-memories list List custom transcription vocabulary
242
+
243
+ # Coming later:
184
244
  tiro notes export Bulk-export search results to a directory
185
245
  tiro templates list/get Document templates
186
246
  tiro share-links {C/R/D} Manage note share links
187
- tiro folders search Search user / team folders
188
247
  tiro schema [<command>] Print JSON Schema (for agents)
189
248
  ```
190
249
 
@@ -314,8 +373,9 @@ OAuth Authorization Code + PKCE flow:
314
373
 
315
374
  - โœ… **v0.1** โ€” Auth (`login`, `status`, `logout`) + `--help`
316
375
  - โœ… **v0.2** โ€” Notes core (`list`, `search`, `get`, `transcript`); MCP-shape transcript JSON; first test suite
317
- - โณ **v0.3** โ€” `notes export` (bulk โ†’ directory + manifest.jsonl)
318
- - โณ **v0.4** โ€” Templates, share-links, folders, `schema`
376
+ - โœ… **v0.5** โ€” `wiki` command group (workspace knowledge graph, read-only)
377
+ - โœ… **v0.6** โ€” `folders` and `word-memories` (workspace-scoped, read-only)
378
+ - โณ **next** โ€” `notes export`, templates, share-links, `schema`
319
379
  - โณ **v1.0** โ€” Stable. Public docs, license decision, Homebrew tap.
320
380
  - ๐Ÿ”ฎ **v1.x** โ€” Device Flow (RFC 8628), shell completions, self-update
321
381
 
@@ -325,7 +385,7 @@ See [`SPEC.md`](./SPEC.md) for the full v1 design and [`CHANGELOG.md`](./CHANGEL
325
385
 
326
386
  ## Contributing
327
387
 
328
- This repo is currently private alpha. Feedback and bug reports go to the internal Slack `#tiro-backend` channel; once we open up, this section will list public contribution guidelines.
388
+ This repo is currently private alpha. Feedback and bug reports can be sent to [yeoul@theplato.io](mailto:yeoul@theplato.io); once we open up, this section will list public contribution guidelines.
329
389
 
330
390
  ---
331
391