granola-toolkit 0.24.0 → 0.26.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 +38 -0
  2. package/dist/cli.js +1006 -51
  3. package/package.json +3 -1
package/README.md CHANGED
@@ -37,6 +37,7 @@ granola exports --help
37
37
  granola meeting --help
38
38
  granola notes --help
39
39
  granola serve --help
40
+ granola tui --help
40
41
  granola transcripts --help
41
42
  granola web --help
42
43
  ```
@@ -52,6 +53,7 @@ node dist/cli.js exports --help
52
53
  node dist/cli.js meeting --help
53
54
  node dist/cli.js notes --help
54
55
  node dist/cli.js serve --help
56
+ node dist/cli.js tui --help
55
57
  node dist/cli.js transcripts --help
56
58
  node dist/cli.js web --help
57
59
  ```
@@ -62,6 +64,7 @@ You can also use the package scripts:
62
64
  npm run build
63
65
  npm run start -- meeting --help
64
66
  npm run notes -- --help
67
+ npm run tui -- --help
65
68
  npm run transcripts -- --help
66
69
  ```
67
70
 
@@ -95,6 +98,8 @@ granola meeting view 1234abcd
95
98
  granola meeting notes 1234abcd
96
99
  granola meeting transcript 1234abcd --format json
97
100
  granola meeting export 1234abcd --format yaml
101
+ granola tui
102
+ granola tui --meeting 1234abcd
98
103
  ```
99
104
 
100
105
  Run the local API server:
@@ -103,9 +108,11 @@ Run the local API server:
103
108
  granola serve
104
109
  granola serve --port 4096
105
110
  granola serve --hostname 0.0.0.0 --port 4096
111
+ granola serve --network lan --password "change-me"
106
112
 
107
113
  granola web
108
114
  granola web --open=false --port 4096
115
+ granola web --network lan --password "change-me" --trusted-origins "https://trusted.example"
109
116
  ```
110
117
 
111
118
  ## How It Works
@@ -193,6 +200,8 @@ The machine-readable `export` command includes:
193
200
  The initial server API includes:
194
201
 
195
202
  - `GET /health`
203
+ - `POST /auth/unlock` for password-protected servers
204
+ - `POST /auth/lock` to clear the browser/API unlock cookie
196
205
  - `GET /auth/status`
197
206
  - `GET /state`
198
207
  - `GET /events` for server-sent state updates
@@ -211,6 +220,14 @@ The initial server API includes:
211
220
 
212
221
  This is the foundation for the future `granola web` client and any attachable TUI flows.
213
222
 
223
+ Server hardening now includes:
224
+
225
+ - `local` network mode by default, which binds to `127.0.0.1`
226
+ - `lan` network mode when you explicitly want other devices to connect
227
+ - optional password protection for API routes and the browser client
228
+ - trusted-origin checks for browser requests, with CORS headers only for allowed origins
229
+ - a warning when you expose the server on `lan` without a password
230
+
214
231
  ### Web
215
232
 
216
233
  `web` starts the same local server as `serve`, enables the browser client at `/`, and opens that workspace in your default browser unless you pass `--open=false`.
@@ -228,6 +245,27 @@ The initial browser client includes:
228
245
  - note and transcript export actions backed by the same local API
229
246
  - a recent export-jobs panel with rerun actions
230
247
  - stronger empty and error states for list/detail failures
248
+ - a server-access panel that can unlock or lock a password-protected local server
249
+
250
+ ### TUI
251
+
252
+ `tui` starts a full-screen terminal workspace on the shared app core, without requiring the local server or browser client.
253
+
254
+ The initial terminal workspace includes:
255
+
256
+ - a meeting list pane with keyboard navigation
257
+ - a detail pane with notes, transcript, metadata, and raw views
258
+ - a footer with app state and key hints
259
+ - a quick-open overlay for jumping by title, id, or tag
260
+
261
+ The main keyboard controls are:
262
+
263
+ - `j` / `k` or arrow keys to move between meetings
264
+ - `/` or `Ctrl+P` to open quick open
265
+ - `1`-`4` to switch detail tabs
266
+ - `PageUp` / `PageDown` to scroll the detail pane
267
+ - `r` to refresh from live Granola data
268
+ - `q` to quit
231
269
 
232
270
  ### Local Meeting Index
233
271