@tanagram/lore 0.1.54 → 0.1.55

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 +46 -0
  2. package/dist/index.js +237 -233
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -2,6 +2,41 @@
2
2
 
3
3
  The command-line interface for Lore.
4
4
 
5
+ ## Privacy: Lore only uploads from directories you allow
6
+
7
+ By default the Lore daemon does **not** auto-upload any Claude Code
8
+ session. You have to opt in per directory. This is the consent-first
9
+ contract:
10
+
11
+ - Sessions whose cwd is not under one of your upload directories are
12
+ ignored by the daemon — they stay on your machine.
13
+ - The explicit commands (`lore export`, `lore share-codex`,
14
+ `lore share-cowork`) are user-initiated and bypass the upload-dir
15
+ gate. You can always opt-in per session.
16
+ - The allowlist lives in `~/.lore/upload_dirs.json` (`~/.lore-dev/` in
17
+ dev), written with 0600 mode so other users on the same machine can't
18
+ read it.
19
+
20
+ Adding directories takes a single keystroke on first login — the TUI
21
+ shows your most-recent Claude Code project cwds with the top three
22
+ pre-checked, and pressing Enter accepts them. After that, manage the
23
+ list with `lore listen`:
24
+
25
+ ```sh
26
+ lore listen create ~/code/projectA # watch ~/code/projectA
27
+ lore listen create ~/work --org acme # route work to a non-default org
28
+ lore listen list # tabular output
29
+ lore listen list --json # for scripts
30
+ lore listen update ~/work --org other-corp # reassign org
31
+ lore listen delete ~/code/projectA # stop uploading from
32
+ ```
33
+
34
+ Matching uses path-separator-aware **prefix-tree** semantics, so adding
35
+ `~/code` covers `~/code/projectA`, `~/code/projectA/src`, etc., but
36
+ deliberately does **not** cover `~/code-other`. The most-specific
37
+ matching entry wins, so you can have a broad personal `~/` allow plus a
38
+ narrower `~/work` override that routes to a different org.
39
+
5
40
  ## Interactive TUI
6
41
 
7
42
  Running `lore` with no subcommand drops you into an interactive Ink
@@ -40,6 +75,9 @@ through Ink in TTY mode:
40
75
  - **`lore login`** — three labelled steps (negotiating with WorkOS →
41
76
  device code panel → polling), then a success box with the resolved
42
77
  LaunchAgent paths. Distinct copy for timed-out / denied / expired.
78
+ On first login the device-code flow is followed by a one-screen
79
+ "Configure upload directories" wizard so the daemon has explicit
80
+ consent to upload anything (see Privacy section above).
43
81
  - **`lore enable` / `disable` / `restart`** — spinner with mode-specific
44
82
  copy while launchctl works, then a success or error MessageBox.
45
83
  - **`lore status`** — two-panel view (health on the left, paths on the
@@ -87,6 +125,14 @@ screens, the presentation/handler split, and the TTY-detection contract.
87
125
  - `lore disable` — stops and removes the macOS background uploader.
88
126
  - `lore restart` — restarts the macOS background uploader.
89
127
  - `lore status` / `lore status --json` — shows background uploader health.
128
+ - `lore listen create <path> [--org <name>]` — allowlist a directory for
129
+ daemon auto-uploads. Defaults to your active organization; pass
130
+ `--org` to route a directory at a non-default workspace.
131
+ - `lore listen list [--json]` — print the directories the daemon may
132
+ auto-upload from, with their target org.
133
+ - `lore listen update <path> --org <name>` — reassign an existing
134
+ upload directory to a different organization.
135
+ - `lore listen delete <path>` — stop uploading from a directory.
90
136
  - `lore organizations list` — calls `/api/whoami` and prints the WorkOS
91
137
  organizations the authenticated user currently belongs to.
92
138
  - `lore export` — uploads a single Claude Code session on demand and prints a