granola-toolkit 0.29.0 → 0.31.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 +38 -0
- package/dist/cli.js +647 -98
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -35,6 +35,7 @@ granola --help
|
|
|
35
35
|
granola attach --help
|
|
36
36
|
granola auth login
|
|
37
37
|
granola exports --help
|
|
38
|
+
granola folder --help
|
|
38
39
|
granola meeting --help
|
|
39
40
|
granola notes --help
|
|
40
41
|
granola serve --help
|
|
@@ -52,6 +53,7 @@ vp pack
|
|
|
52
53
|
node dist/cli.js --help
|
|
53
54
|
node dist/cli.js attach --help
|
|
54
55
|
node dist/cli.js exports --help
|
|
56
|
+
node dist/cli.js folder --help
|
|
55
57
|
node dist/cli.js meeting --help
|
|
56
58
|
node dist/cli.js notes --help
|
|
57
59
|
node dist/cli.js serve --help
|
|
@@ -94,8 +96,11 @@ node dist/cli.js transcripts --format yaml --output ./transcripts-yaml
|
|
|
94
96
|
Inspect individual meetings:
|
|
95
97
|
|
|
96
98
|
```bash
|
|
99
|
+
granola folder list
|
|
100
|
+
granola folder view Team
|
|
97
101
|
granola meeting list --limit 10
|
|
98
102
|
granola meeting list --search planning
|
|
103
|
+
granola meeting list --folder Team
|
|
99
104
|
granola meeting view 1234abcd
|
|
100
105
|
granola meeting notes 1234abcd
|
|
101
106
|
granola meeting transcript 1234abcd --format json
|
|
@@ -201,6 +206,24 @@ The machine-readable `export` command includes:
|
|
|
201
206
|
- structured note data plus rendered Markdown
|
|
202
207
|
- structured transcript data plus rendered transcript text when available
|
|
203
208
|
|
|
209
|
+
### Folders
|
|
210
|
+
|
|
211
|
+
`folder` exposes Granola document lists as a first-class concept instead of leaving meetings in one flat global list.
|
|
212
|
+
|
|
213
|
+
The flow is:
|
|
214
|
+
|
|
215
|
+
1. reuse the shared auth path that `notes` and `meeting` already use
|
|
216
|
+
2. call Granola's document-list API, with `v2` first and `v1` fallback
|
|
217
|
+
3. normalise folder metadata and document membership into shared folder records
|
|
218
|
+
4. attach folder membership to meetings in the shared app core
|
|
219
|
+
5. let folder commands and meeting filters resolve folders by id, prefix, or unique name
|
|
220
|
+
|
|
221
|
+
The current CLI surface includes:
|
|
222
|
+
|
|
223
|
+
- `folder list`
|
|
224
|
+
- `folder view <id|name>`
|
|
225
|
+
- `meeting list --folder <id|name>`
|
|
226
|
+
|
|
204
227
|
### Server
|
|
205
228
|
|
|
206
229
|
`serve` starts a long-lived local `Granola Toolkit` server on one shared app instance.
|
|
@@ -208,12 +231,17 @@ The machine-readable `export` command includes:
|
|
|
208
231
|
The initial server API includes:
|
|
209
232
|
|
|
210
233
|
- `GET /health`
|
|
234
|
+
- `GET /server/info`
|
|
211
235
|
- `POST /auth/unlock` for password-protected servers
|
|
212
236
|
- `POST /auth/lock` to clear the browser/API unlock cookie
|
|
213
237
|
- `GET /auth/status`
|
|
214
238
|
- `GET /state`
|
|
215
239
|
- `GET /events` for server-sent state updates
|
|
240
|
+
- `GET /folders`
|
|
241
|
+
- `GET /folders/resolve?q=<query>`
|
|
242
|
+
- `GET /folders/:id`
|
|
216
243
|
- `GET /meetings`
|
|
244
|
+
- `GET /meetings?folderId=<id>` for folder-scoped meeting lists
|
|
217
245
|
- `GET /meetings?refresh=true` to bypass the local meeting index and force a live refresh
|
|
218
246
|
- `GET /meetings/resolve?q=<query>`
|
|
219
247
|
- `GET /meetings/:id`
|
|
@@ -272,6 +300,16 @@ Use it when you want:
|
|
|
272
300
|
|
|
273
301
|
The attach flow uses the existing local HTTP API plus `GET /events` for live state updates.
|
|
274
302
|
|
|
303
|
+
### Runtime Boundaries
|
|
304
|
+
|
|
305
|
+
The toolkit now keeps its local persistence and transport contracts explicit:
|
|
306
|
+
|
|
307
|
+
- one shared local data directory for export jobs, meeting index data, and any file-backed session state
|
|
308
|
+
- one versioned local HTTP transport contract, exposed by `GET /server/info`
|
|
309
|
+
- one remote client handshake that validates the transport protocol before attaching
|
|
310
|
+
|
|
311
|
+
That keeps the current single-package repo simple, while making a future split into separate server/client packages or remote-hosted clients much less invasive.
|
|
312
|
+
|
|
275
313
|
### TUI
|
|
276
314
|
|
|
277
315
|
`tui` starts a full-screen terminal workspace on the shared app core, without requiring the local server or browser client. Use `attach` when you want the same workspace against an existing shared server instance instead.
|