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.
- package/README.md +38 -0
- package/dist/cli.js +1006 -51
- 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
|
|