granola-toolkit 0.30.0 → 0.32.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 +30 -0
  2. package/dist/cli.js +718 -49
  3. 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.
@@ -214,7 +237,11 @@ The initial server API includes:
214
237
  - `GET /auth/status`
215
238
  - `GET /state`
216
239
  - `GET /events` for server-sent state updates
240
+ - `GET /folders`
241
+ - `GET /folders/resolve?q=<query>`
242
+ - `GET /folders/:id`
217
243
  - `GET /meetings`
244
+ - `GET /meetings?folderId=<id>` for folder-scoped meeting lists
218
245
  - `GET /meetings?refresh=true` to bypass the local meeting index and force a live refresh
219
246
  - `GET /meetings/resolve?q=<query>`
220
247
  - `GET /meetings/:id`
@@ -248,10 +275,13 @@ You can deep-link into a specific meeting with either:
248
275
 
249
276
  The initial browser client includes:
250
277
 
278
+ - a dedicated folder pane with an explicit All meetings scope
251
279
  - a searchable meeting list
280
+ - folder-aware meeting browsing with one-click scope changes
252
281
  - a fast local-index warm start for meeting browsing before live documents finish loading
253
282
  - sort and updated-date filters
254
283
  - quick open by meeting id or title
284
+ - browser URL state that preserves the selected folder, meeting, and tab
255
285
  - a focused meeting workspace with notes, transcript, metadata, and raw tabs
256
286
  - keyboard-first workspace switching with `1`-`4`, `[` and `]`
257
287
  - app-state status from the shared core