@tanagram/lore 0.1.86 → 0.1.88

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanagram/lore",
3
- "version": "0.1.86",
3
+ "version": "0.1.88",
4
4
  "description": "Lore CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -28,8 +28,8 @@
28
28
  "ink-testing-library": "^4.0.0",
29
29
  "tsx": "^4.20.6",
30
30
  "typescript": "^5.9.3",
31
- "@lore/contracts": "0.1.0",
32
- "@lore/transcripts": "0.1.0"
31
+ "@lore/transcripts": "0.1.0",
32
+ "@lore/contracts": "0.1.0"
33
33
  },
34
34
  "dependencies": {
35
35
  "@sentry/node": "^10.47.0",
@@ -40,6 +40,7 @@
40
40
  },
41
41
  "scripts": {
42
42
  "dev": "pnpm run postinstall && tsx src/index.ts",
43
+ "dev:watch": "tsx src/index.ts _run_upload --watch",
43
44
  "postinstall": "node scripts/runPostinstallCommand.mjs postinstall:migrate && node scripts/runPostinstallCommand.mjs postinstall:install-skills && node scripts/runPostinstallCommand.mjs postinstall:refresh-background-binary",
44
45
  "build": "node scripts/build.mjs",
45
46
  "build:prod": "node scripts/build.mjs --prod",
@@ -32,8 +32,7 @@ skill for read-only thread inspection.
32
32
  This skill needs two inputs:
33
33
 
34
34
  1. A Lore thread URL or ID. Accepted examples include `th_...`,
35
- `https://lore.tanagram.ai/session/th_...`, and
36
- `https://lore.tanagram.ai/thread/th_...`.
35
+ and `https://lore.tanagram.ai/thread/th_...`.
37
36
  2. Forker intent: what the user wants to do with the source thread.
38
37
 
39
38
  If either input is missing, ask one concise clarification question before
@@ -14,7 +14,7 @@ allowed-tools: Bash
14
14
 
15
15
  Fetches data from Lore via the `lore` CLI. Two underlying commands:
16
16
 
17
- - `lore threads get <thread-id-or-url>` — fetch a single thread by ID or session URL.
17
+ - `lore threads get <thread-id-or-url>` — fetch a single thread by ID or Lore URL.
18
18
  - `lore threads list [flags]` — list/search threads with optional filters.
19
19
 
20
20
  Both print a JSON payload on stdout. Parse the JSON and summarize for the user; only show raw JSON if they ask for it.
@@ -33,7 +33,7 @@ Do NOT run proactively. Only on explicit request.
33
33
 
34
34
  ## Fetching a Single Thread
35
35
 
36
- When the user gives a thread ID (`th_...`) or a Lore session URL (`https://lore.tanagram.ai/session/th_...`):
36
+ When the user gives a thread ID (`th_...`) or a Lore thread URL (`https://lore.tanagram.ai/thread/th_...`):
37
37
 
38
38
  ```bash
39
39
  lore threads get <thread-id-or-url>
@@ -22,7 +22,7 @@ Do NOT run this proactively. Only on explicit request.
22
22
 
23
23
  ## Command
24
24
 
25
- **Always** pass `--session-id ${CLAUDE_SESSION_ID}` so the CLI exports *this* session — the one the user just asked to share. Claude Code substitutes `${CLAUDE_SESSION_ID}` with the current session's ID; the CLI will not guess it for you.
25
+ **Always** pass `--session-id ${CLAUDE_SESSION_ID}` so the CLI exports _this_ session — the one the user just asked to share. Claude Code substitutes `${CLAUDE_SESSION_ID}` with the current session's ID; the CLI will not guess it for you.
26
26
 
27
27
  Use this command as the default implementation:
28
28
 
@@ -30,9 +30,15 @@ Use this command as the default implementation:
30
30
  lore export --session-id ${CLAUDE_SESSION_ID} --visibility workspace
31
31
  ```
32
32
 
33
- Do **not** omit `--session-id` and rely on the cwd-match fallback. The fallback picks the most recent history entry for the current directory, which is frequently a *different* session (a prior run, a parallel worktree, etc.) — the user then has to retry with the explicit flag. The skill runtime gives you the session ID for free, so always pass it.
33
+ If the user includes a natural-language highlight request after `/share`, pass that request through with `--highlight`. For example, `/share where I made Claude also update the API in addition to UI` should run:
34
34
 
35
- If the user wants to share a *different* session, substitute their ID for `${CLAUDE_SESSION_ID}` in the export command above.
35
+ ```bash
36
+ lore export --session-id ${CLAUDE_SESSION_ID} --visibility workspace --highlight "where I made Claude also update the API in addition to UI"
37
+ ```
38
+
39
+ Do **not** omit `--session-id` and rely on the cwd-match fallback. The fallback picks the most recent history entry for the current directory, which is frequently a _different_ session (a prior run, a parallel worktree, etc.) — the user then has to retry with the explicit flag. The skill runtime gives you the session ID for free, so always pass it.
40
+
41
+ If the user wants to share a _different_ session, substitute their ID for `${CLAUDE_SESSION_ID}` in the export command above.
36
42
 
37
43
  If the user explicitly asks to share publicly (anyone with the link) or to keep the thread private to themselves, change the `--visibility` flag in the export command to `public` or `private` respectively. Default to `workspace` whenever the user just says "share".
38
44
 
@@ -43,23 +49,30 @@ The first command prints a single JSON object on stdout:
43
49
  ```json
44
50
  {
45
51
  "thread_id": "th_...",
46
- "url": "https://lore.tanagram.ai/session/th_...",
52
+ "url": "https://lore.tanagram.ai/thread/th_...",
47
53
  "session_id": "...",
48
54
  "project": "/Users/me/repo",
49
55
  "reused": false,
50
56
  "visibility": "workspace",
51
- "clipboard_copied": true
57
+ "clipboard_copied": true,
58
+ "highlight": {
59
+ "query": "where I made Claude also update the API in addition to UI",
60
+ "matched": true,
61
+ "start_block_id": "tb_...",
62
+ "end_block_id": null
63
+ }
52
64
  }
53
65
  ```
54
66
 
55
67
  - `url` — the shareable Lore link for the session thread. **Always show this to the user as the primary result.**
68
+ - `highlight` — present only when `--highlight` was supplied. When `matched` is true, the `url` already includes the server-selected block anchor or range.
56
69
  - `clipboard_copied` — `true` when the URL was copied to the system clipboard (via `pbcopy` on macOS, `wl-copy`/`xclip`/`xsel` on Linux, `clip.exe` on Windows). `false` when no clipboard tool was available. Mention this to the user when `true` so they know they can paste it directly.
57
70
 
58
71
  ## After Running
59
72
 
60
73
  Echo the session URL back to the user as a clickable link. If `clipboard_copied` is `true`, add a short note that the URL is on their clipboard. Do not list other threads, summarize the conversation, or take any additional action unless the user asks. A minimal response looks like:
61
74
 
62
- > Shared: https://lore.tanagram.ai/session/th_abc123 (copied to clipboard).
75
+ > Shared: https://lore.tanagram.ai/thread/th_abc123 (copied to clipboard).
63
76
 
64
77
  ## Failure Modes
65
78
 
@@ -39,6 +39,15 @@ lore share-codex --session-file "$SESSION_FILE" --visibility workspace
39
39
  `${CODEX_SESSION_ID}` is set by Codex inside the running session. If it is
40
40
  empty, ask the user which session they want to share and substitute the ID.
41
41
 
42
+ If the user includes a natural-language highlight request after `/share-codex`,
43
+ pass that request through with `--highlight`. For example,
44
+ `/share-codex where I made Codex also update the API in addition to UI` should
45
+ run:
46
+
47
+ ```bash
48
+ lore share-codex --session-file "$SESSION_FILE" --visibility workspace --highlight "where I made Codex also update the API in addition to UI"
49
+ ```
50
+
42
51
  If the user explicitly asks to share publicly (anyone with the link) or to
43
52
  keep the thread private to themselves, change the `--visibility` flag to
44
53
  `public` or `private` respectively. Default to `workspace` whenever the user
@@ -51,16 +60,23 @@ The command prints a single JSON object on stdout:
51
60
  ```json
52
61
  {
53
62
  "thread_id": "th_...",
54
- "url": "https://lore.tanagram.ai/session/th_...",
63
+ "url": "https://lore.tanagram.ai/thread/th_...",
55
64
  "session_id": "...",
56
65
  "project": "",
57
66
  "reused": false,
58
67
  "visibility": "workspace",
59
- "clipboard_copied": true
68
+ "clipboard_copied": true,
69
+ "highlight": {
70
+ "query": "where I made Codex also update the API in addition to UI",
71
+ "matched": true,
72
+ "start_block_id": "tb_...",
73
+ "end_block_id": null
74
+ }
60
75
  }
61
76
  ```
62
77
 
63
78
  - `url` — the shareable Lore link for the session thread. **Always show this to the user as the primary result.**
79
+ - `highlight` — present only when `--highlight` was supplied. When `matched` is true, the `url` already includes the server-selected block anchor or range.
64
80
  - `clipboard_copied` — `true` when the URL was copied to the system clipboard. Mention this when `true` so the user knows they can paste it directly.
65
81
  - `project` — intentionally empty for Codex sessions. Codex does not record a project directory in the rollout file.
66
82
 
@@ -71,7 +87,7 @@ Echo the session URL back to the user as a clickable link. If
71
87
  clipboard. Do not list other threads, summarize the conversation, or take any
72
88
  additional action unless the user asks. A minimal response looks like:
73
89
 
74
- > Shared: https://lore.tanagram.ai/session/th_abc123 (copied to clipboard).
90
+ > Shared: https://lore.tanagram.ai/thread/th_abc123 (copied to clipboard).
75
91
 
76
92
  ## Failure Modes
77
93