pi-weave 0.3.3 → 0.3.5
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 +10 -42
- package/package.json +1 -1
- package/src/web/client/api.ts +7 -0
- package/src/web/client/dist/app.js +60 -46
- package/src/web/client/shell/Settings.tsx +3 -2
- package/src/web/client/shell/Shell.tsx +31 -5
- package/src/web/client/shell/workspace.css.ts +16 -2
- package/src/web/server/routes.ts +12 -1
package/README.md
CHANGED
|
@@ -154,48 +154,16 @@ Renaming or moving a note rewrites its inbound links automatically, so its backl
|
|
|
154
154
|
/weave-view tui # Pi only: terminal UI for SSH or browser-free use
|
|
155
155
|
```
|
|
156
156
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
Use **Pane options (···)** to split right or down, move the current tab to the other pane, or close a pane while retaining its tabs.
|
|
168
|
-
In a split workspace, drag a tab title into the other pane to move it. History, reading position, and unsaved drafts stay with it. On small windows, **Switch pane** reaches the
|
|
169
|
-
other group. Drag a note from Files into either pane to open it in a new tab. Closing or moving the last tab out of a split removes that pane;
|
|
170
|
-
closing the final workspace tab leaves a New tab. `Option W` / `Alt W` closes the active Weave tab using the same unsaved-draft guard.
|
|
171
|
-
Some browser hosts also claim this shortcut: Codex’s in-app browser still closes its outer tab. Both sidebars can be shown or hidden from the ribbon.
|
|
172
|
-
|
|
173
|
-
Click **Edit** to change a note's Markdown; `⌘S` / `Ctrl S` saves, and **Done** closes the editor. Drafts survive tab and pane switching,
|
|
174
|
-
and duplicate views of a note share one draft. Closing or replacing the last view of an unsaved note asks before discarding it. A save
|
|
175
|
-
rewrites only the body: unknown front-matter fields, key order, and the append-only `## Raw` tail survive untouched. Outside edits appear
|
|
176
|
-
within a couple of seconds; the last writer wins.
|
|
177
|
-
|
|
178
|
-
Tabs, pane sizes, sidebars, theme, and reading positions restore for the same vault and repository, even when the local server port
|
|
179
|
-
changes. Presentation snapshots live under `$XDG_CONFIG_HOME/pi-weave/presentation` (or `~/.config/pi-weave/presentation`), separate from
|
|
180
|
-
the knowledge files. Unsaved text stays in memory and is guarded on reload/close; it is not restored after closing the browser. Missing
|
|
181
|
-
notes do not prevent the other tabs from restoring. The workspace follows the system theme unless you choose a palette in Settings.
|
|
182
|
-
|
|
183
|
-
Open **Settings** with the gear button or `⌘,` / `Ctrl ,`. General includes workspace locations, refresh, documentation, and
|
|
184
|
-
keyboard shortcuts. Appearance offers six Catppuccin palettes and three additional light/dark pairs, an independent accent selector,
|
|
185
|
-
and note font size. Choose a light theme and a dark theme; the ribbon button and `t` switch between those two. System mode follows
|
|
186
|
-
your device using the selected pair. Interface holds sidebar visibility, group colors, and the live graph layout sliders. Editor controls spellcheck,
|
|
187
|
-
readable line length, and whether newly opened notes start in editing mode. Files controls startup tabs and whether new tabs take focus.
|
|
188
|
-
These preferences are stored with the workspace snapshots.
|
|
189
|
-
|
|
190
|
-
**Settings → Backup → Download vault ZIP** exports saved vault files, including attachments, hidden metadata, empty folders, and linked
|
|
191
|
-
content. Save unsaved drafts before downloading. Backups are manual; there is no scheduled backup or sync. Restore by extracting the ZIP
|
|
192
|
-
into a vault directory. Symbolic-link cycles, unreadable files, and entries outside ZIP format limits produce an error instead of a partial
|
|
193
|
-
archive. Presentation snapshots and the separate repository index are not part of the vault download.
|
|
194
|
-
|
|
195
|
-
This browser facelift is the first stage toward a dedicated macOS window. `/weave-view` still launches the browser, and the agent owns
|
|
196
|
-
the local server's lifetime.
|
|
197
|
-
|
|
198
|
-
`/weave-view tui` is the smaller, read-only terminal explorer: tree, focused neighborhood, details, and link health over the same graph.
|
|
157
|
+
Browse and search your notes, follow links, or explore the graph. Use tabs and split panes to keep related notes side by side.
|
|
158
|
+
Notes update within a couple of seconds as your agent writes them.
|
|
159
|
+
|
|
160
|
+
Ask your agent to write, organize, and connect notes, or click **New note** on an empty tab to start one yourself.
|
|
161
|
+
Click **Edit** to change Markdown and `⌘S` / `Ctrl S` to save. Your original words in `## Raw` stay intact.
|
|
162
|
+
Tabs, layout, and settings restore when you return and survive package updates for the same vault and repository;
|
|
163
|
+
unsaved drafts last only while the browser stays open.
|
|
164
|
+
|
|
165
|
+
Use **Settings** for themes, fonts, layout, and a manual vault ZIP backup. Press `?` for keyboard shortcuts.
|
|
166
|
+
`/weave-view tui` opens a smaller, read-only terminal explorer in Pi.
|
|
199
167
|
|
|
200
168
|
## Remember sessions
|
|
201
169
|
|
package/package.json
CHANGED
package/src/web/client/api.ts
CHANGED
|
@@ -313,6 +313,13 @@ export function openNote(fetchImpl: FetchLike, slug: string): Promise<ApiResult<
|
|
|
313
313
|
});
|
|
314
314
|
}
|
|
315
315
|
|
|
316
|
+
/** Create a human-authored vault note with an empty body. */
|
|
317
|
+
export function createNote(fetchImpl: FetchLike, title: string): Promise<ApiResult<NotePayload>> {
|
|
318
|
+
return request(fetchImpl, "/api/notes", isNotePayload, {
|
|
319
|
+
method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ title }),
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
|
|
316
323
|
function mutation(fetchImpl: FetchLike, url: string, method: string, body?: unknown): Promise<ApiResult<MutationResult>> {
|
|
317
324
|
return request(fetchImpl, url, isMutationResult, {
|
|
318
325
|
method,
|