@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/LICENSE +111 -557
- package/README.md +31 -29
- package/dist/index.js +221 -221
- package/package.json +4 -3
- package/skills/fork/SKILL.md +1 -2
- package/skills/lore-read/SKILL.md +2 -2
- package/skills/share/SKILL.md +19 -6
- package/skills/share-codex/SKILL.md +19 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanagram/lore",
|
|
3
|
-
"version": "0.1.
|
|
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/
|
|
32
|
-
"@lore/
|
|
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",
|
package/skills/fork/SKILL.md
CHANGED
|
@@ -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/
|
|
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
|
|
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
|
|
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>
|
package/skills/share/SKILL.md
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
90
|
+
> Shared: https://lore.tanagram.ai/thread/th_abc123 (copied to clipboard).
|
|
75
91
|
|
|
76
92
|
## Failure Modes
|
|
77
93
|
|