@popoverinstall/cli 0.9.0 → 0.9.1
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/CHANGELOG.md +12 -0
- package/dist/vaults.d.ts +1 -102
- package/dist/vaults.d.ts.map +1 -1
- package/dist/vaults.js +15 -294
- package/dist/vaults.js.map +1 -1
- package/package.json +47 -47
- package/plugin/.claude-plugin/plugin.json +19 -19
- package/plugin/mcp/index.mjs +765 -585
- package/plugin/skills/popover/SKILL.md +205 -175
package/CHANGELOG.md
CHANGED
|
@@ -22,6 +22,18 @@ reader's: an entry that says "a product split across several repos" lands for ev
|
|
|
22
22
|
where one that names our own three lands for nobody and leaks what we were working on.
|
|
23
23
|
Before, after, and why — stated so that the reader recognises their own situation in it.
|
|
24
24
|
|
|
25
|
+
## 0.9.1
|
|
26
|
+
|
|
27
|
+
### Fixes
|
|
28
|
+
|
|
29
|
+
- Your agent can now decide to vault a conversation without being asked, which is what 0.9.0
|
|
30
|
+
said it would do and did not. Vaulting was always meant to be the agent's call — the moment
|
|
31
|
+
worth keeping is one you are usually too deep in the work to notice, which is precisely why
|
|
32
|
+
it should not wait for you to notice it. In practice nothing ever told the agent that vaults
|
|
33
|
+
existed unless you typed `/popover:vault`, and outside that command it had no way to make
|
|
34
|
+
one, so "the agent decides" only ever meant "the agent decides which verb, once you have
|
|
35
|
+
opened the menu". It is now told, and it has a tool of its own for it.
|
|
36
|
+
|
|
25
37
|
## 0.9.0
|
|
26
38
|
|
|
27
39
|
### Features
|
package/dist/vaults.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type VaultSummary } from "@popoverinstall/shared";
|
|
2
2
|
/**
|
|
3
3
|
* `popover vault` — a conversation frozen for the team, and asked later.
|
|
4
4
|
*
|
|
@@ -57,39 +57,6 @@ export type AnswersResult = {
|
|
|
57
57
|
* salvaged if it is not.
|
|
58
58
|
*/
|
|
59
59
|
export declare function parseAnswers(raw: string[]): AnswersResult;
|
|
60
|
-
export interface VaultPlanInput {
|
|
61
|
-
name?: string | undefined;
|
|
62
|
-
title?: string | undefined;
|
|
63
|
-
answers: string[];
|
|
64
|
-
}
|
|
65
|
-
export type VaultPlan = {
|
|
66
|
-
ok: true;
|
|
67
|
-
name: string;
|
|
68
|
-
title: string;
|
|
69
|
-
answers: string[];
|
|
70
|
-
} | {
|
|
71
|
-
ok: false;
|
|
72
|
-
code: string;
|
|
73
|
-
message: string;
|
|
74
|
-
hints: string[];
|
|
75
|
-
};
|
|
76
|
-
/**
|
|
77
|
-
* Decide what this vault is called and whether it is describable at all, before anything is
|
|
78
|
-
* read off the network.
|
|
79
|
-
*
|
|
80
|
-
* The name is checked here rather than left to the server for two reasons. The unique index
|
|
81
|
-
* is on `lower(name)`, so `normalizeVaultName` can produce the same collision locally and say
|
|
82
|
-
* something better than a constraint violation; and a name that normalizes to nothing —
|
|
83
|
-
* a title of "???" — would otherwise reach the route as an empty string and come back as a
|
|
84
|
-
* 400 that reads like a bug in popover rather than a title worth rewriting.
|
|
85
|
-
*
|
|
86
|
-
* `answers` is the one that matters most and is the one an agent is most likely to skip.
|
|
87
|
-
* It holds *questions this conversation can answer*, not a summary, because the incoming
|
|
88
|
-
* query at retrieval time is a question and matching question against summary retrieves
|
|
89
|
-
* badly (§6). Refusing an empty list is the only moment anybody is in a position to enforce
|
|
90
|
-
* that.
|
|
91
|
-
*/
|
|
92
|
-
export declare function planVault(input: VaultPlanInput): VaultPlan;
|
|
93
60
|
export type VaultMatch = {
|
|
94
61
|
kind: "one";
|
|
95
62
|
vault: VaultSummary;
|
|
@@ -181,74 +148,6 @@ export declare function readSummaries(body: unknown): VaultSummary[] | null;
|
|
|
181
148
|
export declare function clampLimit(raw: string | undefined, fallback?: number): number;
|
|
182
149
|
/** Same clamp, for `--timeout`, whose schema window is 5 to 600 seconds. */
|
|
183
150
|
export declare function clampTimeout(raw: string | undefined, fallback?: number): number;
|
|
184
|
-
/**
|
|
185
|
-
* The files this conversation read or wrote, from the transcript itself.
|
|
186
|
-
*
|
|
187
|
-
* This is the primary source for `touched_paths`, and the working tree is the secondary one,
|
|
188
|
-
* which is the opposite of how it first looked. `touched_paths` exists to answer "does this
|
|
189
|
-
* conversation's reasoning depend on files that have since changed", and `git status` answers
|
|
190
|
-
* a narrower question: what was uncommitted at the moment somebody vaulted. Two ordinary
|
|
191
|
-
* cases fall through that gap — a conversation that committed its work before vaulting, and a
|
|
192
|
-
* read-only conversation that changed nothing — and both land on an empty list.
|
|
193
|
-
*
|
|
194
|
-
* Empty is not neutral. `stalenessScore` deliberately returns 0 for a vault that recorded no
|
|
195
|
-
* paths, on the correct reasoning that absence of evidence is not churn; so a vault with an
|
|
196
|
-
* empty list ranks as permanently current and never decays. The two behaviours are each right
|
|
197
|
-
* and together wrong, and the read-heavy vaults they hit hardest are the valuable ones.
|
|
198
|
-
*
|
|
199
|
-
* Paths that do not fall under any of `roots` are dropped rather than stored absolute. They
|
|
200
|
-
* could never match a path from `git status`, so keeping them would only pad the denominator
|
|
201
|
-
* of `hits / touchedPaths.length` and make every vault look more current than it is.
|
|
202
|
-
*/
|
|
203
|
-
export declare function collectToolPaths(entries: TranscriptEntry[], roots: readonly string[], cap?: number): string[];
|
|
204
|
-
/**
|
|
205
|
-
* The two sources, deduped and capped once.
|
|
206
|
-
*
|
|
207
|
-
* The transcript comes first so that it survives truncation: if a conversation named more
|
|
208
|
-
* than the cap on its own, what it read and wrote is a better description of what it depended
|
|
209
|
-
* on than whatever happened to be dirty in the tree at the time.
|
|
210
|
-
*/
|
|
211
|
-
export declare function unionPaths(primary: string[], secondary: string[], cap?: number): string[];
|
|
212
|
-
/**
|
|
213
|
-
* The uncommitted half, from `git status --porcelain`.
|
|
214
|
-
*
|
|
215
|
-
* Unioned with `collectToolPaths` rather than replaced by it, because work that a conversation
|
|
216
|
-
* left dirty is genuine evidence about what it touched — it is only insufficient on its own.
|
|
217
|
-
*
|
|
218
|
-
* Renames are recorded at their destination: `R old -> new` is churn in `new`, and ranking a
|
|
219
|
-
* vault against a path that no longer exists would make every renamed file look permanently
|
|
220
|
-
* untouched. Quoted paths are unescaped because `core.quotePath` is on by default and a
|
|
221
|
-
* filename with an accent in it would otherwise be stored complete with its surrounding
|
|
222
|
-
* quotes and never match anything.
|
|
223
|
-
*
|
|
224
|
-
* The cap is `VaultIndexSchema`'s 500. A conversation that dirtied more than that is a
|
|
225
|
-
* generated-file situation where the first 500 are as good a signal as any.
|
|
226
|
-
*/
|
|
227
|
-
export declare function parseTouchedPaths(porcelain: string, cap?: number): string[];
|
|
228
|
-
/**
|
|
229
|
-
* A commit sha, or nothing.
|
|
230
|
-
*
|
|
231
|
-
* `git rev-parse HEAD` in a repository with no commits prints the literal string `HEAD` and
|
|
232
|
-
* exits nonzero on some versions and zero on others. `VaultIndexSchema.gitSha` is a hex regex,
|
|
233
|
-
* so letting that through turns a first-commit-pending repo into a 400 from the create route
|
|
234
|
-
* that reads as a popover bug rather than as "there is no commit yet".
|
|
235
|
-
*/
|
|
236
|
-
export declare function cleanSha(raw: string | undefined): string | undefined;
|
|
237
|
-
/**
|
|
238
|
-
* The transcript, compressed, as one opaque string.
|
|
239
|
-
*
|
|
240
|
-
* Deliberately **not** `sealSnapshot`. That derives its AES key from the fork code, and a
|
|
241
|
-
* vault has no code — team membership is the whole credential, which is exactly the decision
|
|
242
|
-
* §1 records and the reason the server can read a vault at all. Encrypting here with a key
|
|
243
|
-
* stored beside the ciphertext would be worse than not encrypting: a promise that reads as
|
|
244
|
-
* strong and is not. The real protection is at-rest encryption under a key held outside the
|
|
245
|
-
* database, which is the server's to do.
|
|
246
|
-
*
|
|
247
|
-
* gzip + base64 anyway, because `body` is one opaque column by design (§2) so a later
|
|
248
|
-
* end-to-end version can wrap a per-vault key around this without moving anything else, and
|
|
249
|
-
* because a transcript compresses about 10:1.
|
|
250
|
-
*/
|
|
251
|
-
export declare function packBody(envelope: SnapshotEnvelope): string;
|
|
252
151
|
export interface ApiFailure {
|
|
253
152
|
ok: false;
|
|
254
153
|
status: number;
|
package/dist/vaults.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaults.d.ts","sourceRoot":"","sources":["../src/vaults.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vaults.d.ts","sourceRoot":"","sources":["../src/vaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAkBL,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAKhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAMH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBlE;AAyCD,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAYpD;AAOD,+FAA+F;AAC/F,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAM9D;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEpD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,aAAa,CA8BzD;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAiBjF;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,GAAG,MAAM,CAGT;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAKnE;AAED,wFAAwF;AACxF,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,CAUtD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,EAAE,GAAG,IAAI,CAqClE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,SAAK,GAAG,MAAM,CAIzE;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,SAAK,GAAG,MAAM,CAI3E;AAokBD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB;;;;;;;OAOG;IACH,IAAI,EAAE,OAAO,CAAC;CACf"}
|
package/dist/vaults.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { execFileSync } from "node:child_process";
|
|
2
2
|
import { readFileSync, statSync } from "node:fs";
|
|
3
|
-
import {
|
|
4
|
-
import { MAX_TRANSCRIPT_BYTES, SNAPSHOT_FORMAT_VERSION, VAULT_FORMAT_VERSION, VaultDescriptionSchema, VaultIndexSchema, collectPathRoots, defaultApiUrl, isVaultName, loadCredentials, normalizeVaultName, parseTranscript, sanitizeTranscript, } from "@popoverinstall/shared";
|
|
3
|
+
import { MAX_TRANSCRIPT_BYTES, SNAPSHOT_FORMAT_VERSION, VAULT_FORMAT_VERSION, VaultIndexSchema, cleanSha, collectPathRoots, collectToolPaths, defaultApiUrl, loadCredentials, packBody, parseTouchedPaths, parseTranscript, planVault, sanitizeTranscript, unionPaths, } from "@popoverinstall/shared";
|
|
5
4
|
import { askDaemon } from "./ipc-client.js";
|
|
6
5
|
import { findTranscript, lastTimestamp, readRepo, readTitle, settle } from "./snapshot.js";
|
|
7
6
|
import { bad, c, dim, info, ok, warn } from "./ui.js";
|
|
@@ -64,20 +63,20 @@ export async function vaultCommand(rest) {
|
|
|
64
63
|
}
|
|
65
64
|
}
|
|
66
65
|
function vaultUsage() {
|
|
67
|
-
console.log(`
|
|
68
|
-
${c.bold("popover vault")} — freeze a conversation for your team, and ask it later
|
|
69
|
-
|
|
70
|
-
${c.bold("popover vault create")} Publish this conversation, with a title and the questions it answers
|
|
71
|
-
${c.bold("popover vault list")} [query] Search your team's vaults. Free — no model runs.
|
|
72
|
-
${c.bold("popover vault ask")} <v> "…" Ask one vault. Loads a whole conversation, and costs money.
|
|
73
|
-
${c.bold("popover vault note")} <v> "…" Append a correction. Notes are added, never revised.
|
|
74
|
-
${c.bold("popover vault archive")} <v> Retire a vault without deleting the record that it existed.
|
|
75
|
-
|
|
76
|
-
${c.bold("list")} before ${c.bold("ask")}, always: the first is a string comparison and the second is a
|
|
77
|
-
full context load on this machine. There is no edit — see ${c.bold("note")}.
|
|
78
|
-
|
|
79
|
-
A vault does not expire and is readable by the popover service, which is the one way
|
|
80
|
-
it differs from ${c.cyan("/popover:fork")}. ${c.bold("popover vault create")} says so again before it uploads.
|
|
66
|
+
console.log(`
|
|
67
|
+
${c.bold("popover vault")} — freeze a conversation for your team, and ask it later
|
|
68
|
+
|
|
69
|
+
${c.bold("popover vault create")} Publish this conversation, with a title and the questions it answers
|
|
70
|
+
${c.bold("popover vault list")} [query] Search your team's vaults. Free — no model runs.
|
|
71
|
+
${c.bold("popover vault ask")} <v> "…" Ask one vault. Loads a whole conversation, and costs money.
|
|
72
|
+
${c.bold("popover vault note")} <v> "…" Append a correction. Notes are added, never revised.
|
|
73
|
+
${c.bold("popover vault archive")} <v> Retire a vault without deleting the record that it existed.
|
|
74
|
+
|
|
75
|
+
${c.bold("list")} before ${c.bold("ask")}, always: the first is a string comparison and the second is a
|
|
76
|
+
full context load on this machine. There is no edit — see ${c.bold("note")}.
|
|
77
|
+
|
|
78
|
+
A vault does not expire and is readable by the popover service, which is the one way
|
|
79
|
+
it differs from ${c.cyan("/popover:fork")}. ${c.bold("popover vault create")} says so again before it uploads.
|
|
81
80
|
`);
|
|
82
81
|
}
|
|
83
82
|
// ---------------------------------------------------------------------------
|
|
@@ -167,78 +166,6 @@ export function parseAnswers(raw) {
|
|
|
167
166
|
}
|
|
168
167
|
return { ok: true, answers: clean(raw) };
|
|
169
168
|
}
|
|
170
|
-
/**
|
|
171
|
-
* Decide what this vault is called and whether it is describable at all, before anything is
|
|
172
|
-
* read off the network.
|
|
173
|
-
*
|
|
174
|
-
* The name is checked here rather than left to the server for two reasons. The unique index
|
|
175
|
-
* is on `lower(name)`, so `normalizeVaultName` can produce the same collision locally and say
|
|
176
|
-
* something better than a constraint violation; and a name that normalizes to nothing —
|
|
177
|
-
* a title of "???" — would otherwise reach the route as an empty string and come back as a
|
|
178
|
-
* 400 that reads like a bug in popover rather than a title worth rewriting.
|
|
179
|
-
*
|
|
180
|
-
* `answers` is the one that matters most and is the one an agent is most likely to skip.
|
|
181
|
-
* It holds *questions this conversation can answer*, not a summary, because the incoming
|
|
182
|
-
* query at retrieval time is a question and matching question against summary retrieves
|
|
183
|
-
* badly (§6). Refusing an empty list is the only moment anybody is in a position to enforce
|
|
184
|
-
* that.
|
|
185
|
-
*/
|
|
186
|
-
export function planVault(input) {
|
|
187
|
-
const title = (input.title ?? "").trim();
|
|
188
|
-
const answers = input.answers.map((a) => a.trim()).filter(Boolean);
|
|
189
|
-
if (!title) {
|
|
190
|
-
return {
|
|
191
|
-
ok: false,
|
|
192
|
-
code: "no_title",
|
|
193
|
-
message: "A vault needs a title.",
|
|
194
|
-
hints: [
|
|
195
|
-
"Pass one with --title. Inside Claude Code the session's own title is used when you",
|
|
196
|
-
"do not, but a session that has not been titled yet has nothing to fall back on.",
|
|
197
|
-
],
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
if (answers.length === 0) {
|
|
201
|
-
return {
|
|
202
|
-
ok: false,
|
|
203
|
-
code: "no_answers",
|
|
204
|
-
message: "A vault needs at least one question it can answer.",
|
|
205
|
-
hints: [
|
|
206
|
-
"Pass them with --answers, repeated or as a JSON array. These are questions, not a",
|
|
207
|
-
"summary: the query that finds this vault later will be a question, and matching a",
|
|
208
|
-
"question against a summary retrieves badly. See docs/vaults.md §6.",
|
|
209
|
-
],
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
const described = VaultDescriptionSchema.safeParse({ title, answers });
|
|
213
|
-
if (!described.success) {
|
|
214
|
-
const issue = described.error.issues[0];
|
|
215
|
-
return {
|
|
216
|
-
ok: false,
|
|
217
|
-
code: "bad_description",
|
|
218
|
-
message: `That description cannot be published: ${issue?.path.join(".") ?? "description"} ${issue?.message ?? "is invalid"}.`,
|
|
219
|
-
hints: [
|
|
220
|
-
"A title is 3 to 120 characters; each answer is 8 to 200, and there can be at most 12.",
|
|
221
|
-
],
|
|
222
|
-
};
|
|
223
|
-
}
|
|
224
|
-
const typed = input.name?.trim();
|
|
225
|
-
const name = normalizeVaultName(typed && typed.length > 0 ? typed : described.data.title);
|
|
226
|
-
if (!isVaultName(name)) {
|
|
227
|
-
const source = typed ? `\`${typed}\`` : `the title "${described.data.title}"`;
|
|
228
|
-
return {
|
|
229
|
-
ok: false,
|
|
230
|
-
code: "bad_name",
|
|
231
|
-
message: name.length === 0
|
|
232
|
-
? `${source} leaves nothing usable as a vault name.`
|
|
233
|
-
: `\`${name}\`, from ${source}, is not a usable vault name.`,
|
|
234
|
-
hints: [
|
|
235
|
-
"Names are lowercase letters, digits and hyphens, 3 to 64 characters — they end up in",
|
|
236
|
-
"URLs and in the command your teammates type. Pass one directly with --name.",
|
|
237
|
-
],
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
return { ok: true, name, title: described.data.title, answers: described.data.answers };
|
|
241
|
-
}
|
|
242
169
|
/**
|
|
243
170
|
* Which vault a typed reference means: by id, then exact name, then unique prefix.
|
|
244
171
|
*
|
|
@@ -425,212 +352,6 @@ export function clampTimeout(raw, fallback = 90) {
|
|
|
425
352
|
return fallback;
|
|
426
353
|
return Math.min(600, Math.max(5, Math.trunc(n)));
|
|
427
354
|
}
|
|
428
|
-
/**
|
|
429
|
-
* Tools whose input names a file this conversation's reasoning rests on.
|
|
430
|
-
*
|
|
431
|
-
* Reads are in the set, and that is the point rather than an oversight. What a conversation
|
|
432
|
-
* concluded depends on what it *read* at least as much as on what it changed — an archaeology
|
|
433
|
-
* vault ("why is the backoff 400ms") typically writes nothing at all — and those are exactly
|
|
434
|
-
* the vaults worth keeping, so they must be able to go stale like any other.
|
|
435
|
-
*/
|
|
436
|
-
const PATH_TOOLS = new Set(["Read", "Edit", "Write", "MultiEdit", "NotebookEdit"]);
|
|
437
|
-
/**
|
|
438
|
-
* The files this conversation read or wrote, from the transcript itself.
|
|
439
|
-
*
|
|
440
|
-
* This is the primary source for `touched_paths`, and the working tree is the secondary one,
|
|
441
|
-
* which is the opposite of how it first looked. `touched_paths` exists to answer "does this
|
|
442
|
-
* conversation's reasoning depend on files that have since changed", and `git status` answers
|
|
443
|
-
* a narrower question: what was uncommitted at the moment somebody vaulted. Two ordinary
|
|
444
|
-
* cases fall through that gap — a conversation that committed its work before vaulting, and a
|
|
445
|
-
* read-only conversation that changed nothing — and both land on an empty list.
|
|
446
|
-
*
|
|
447
|
-
* Empty is not neutral. `stalenessScore` deliberately returns 0 for a vault that recorded no
|
|
448
|
-
* paths, on the correct reasoning that absence of evidence is not churn; so a vault with an
|
|
449
|
-
* empty list ranks as permanently current and never decays. The two behaviours are each right
|
|
450
|
-
* and together wrong, and the read-heavy vaults they hit hardest are the valuable ones.
|
|
451
|
-
*
|
|
452
|
-
* Paths that do not fall under any of `roots` are dropped rather than stored absolute. They
|
|
453
|
-
* could never match a path from `git status`, so keeping them would only pad the denominator
|
|
454
|
-
* of `hits / touchedPaths.length` and make every vault look more current than it is.
|
|
455
|
-
*/
|
|
456
|
-
export function collectToolPaths(entries, roots, cap = 500) {
|
|
457
|
-
// Matched in the order given, first hit winning, because the caller puts the repo root
|
|
458
|
-
// first: `git status --porcelain` prints paths relative to the repo root regardless of
|
|
459
|
-
// config, so stripping a deeper cwd instead would produce paths that can never line up.
|
|
460
|
-
const prepared = roots.map(normalizeSlashes).filter(Boolean);
|
|
461
|
-
const out = [];
|
|
462
|
-
for (const entry of entries) {
|
|
463
|
-
const content = entry["message"]?.content;
|
|
464
|
-
if (!Array.isArray(content))
|
|
465
|
-
continue;
|
|
466
|
-
for (const block of content) {
|
|
467
|
-
if (typeof block !== "object" || block === null)
|
|
468
|
-
continue;
|
|
469
|
-
const b = block;
|
|
470
|
-
if (b.type !== "tool_use")
|
|
471
|
-
continue;
|
|
472
|
-
if (typeof b.name !== "string" || !PATH_TOOLS.has(b.name))
|
|
473
|
-
continue;
|
|
474
|
-
const input = b.input;
|
|
475
|
-
for (const key of ["file_path", "notebook_path"]) {
|
|
476
|
-
const raw = input?.[key];
|
|
477
|
-
if (typeof raw !== "string" || !raw)
|
|
478
|
-
continue;
|
|
479
|
-
const rel = relativizePath(raw, prepared);
|
|
480
|
-
if (rel && !isUncomparable(rel) && !out.includes(rel))
|
|
481
|
-
out.push(rel);
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
}
|
|
485
|
-
return out.slice(0, cap);
|
|
486
|
-
}
|
|
487
|
-
function normalizeSlashes(p) {
|
|
488
|
-
return p.trim().replace(/\\/g, "/").replace(/\/+$/, "");
|
|
489
|
-
}
|
|
490
|
-
/**
|
|
491
|
-
* Paths inside the repo that git will still never report as changed.
|
|
492
|
-
*
|
|
493
|
-
* The same dilution problem as an out-of-root path, arrived at from the other side: reading a
|
|
494
|
-
* dependency's type definitions is a real thing a conversation did, but `node_modules` is
|
|
495
|
-
* ignored everywhere, so that path can never appear in `git status` and can only ever pad the
|
|
496
|
-
* denominator of `hits / touchedPaths.length`. Seen in practice — a single 15MB transcript
|
|
497
|
-
* contributed one — and a handful of them is enough to drag a churned vault back down toward
|
|
498
|
-
* looking current.
|
|
499
|
-
*/
|
|
500
|
-
function isUncomparable(rel) {
|
|
501
|
-
return /(^|\/)(node_modules|\.git)\//.test(rel);
|
|
502
|
-
}
|
|
503
|
-
function isAbsolutePath(p) {
|
|
504
|
-
return p.startsWith("/") || /^[a-zA-Z]:\//.test(p);
|
|
505
|
-
}
|
|
506
|
-
/**
|
|
507
|
-
* A tool's path as `git status` would spell it, or null if the two can never be compared.
|
|
508
|
-
*
|
|
509
|
-
* Case-insensitive, because Windows and macOS both hand back a path whose case need not match
|
|
510
|
-
* what git prints, and a false negative here silently understates churn.
|
|
511
|
-
*/
|
|
512
|
-
function relativizePath(raw, roots) {
|
|
513
|
-
const p = normalizeSlashes(raw);
|
|
514
|
-
if (!p)
|
|
515
|
-
return null;
|
|
516
|
-
for (const root of roots) {
|
|
517
|
-
if (p.length > root.length + 1 && p.toLowerCase().startsWith(`${root.toLowerCase()}/`)) {
|
|
518
|
-
return p.slice(root.length + 1);
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
// A tool call that already used a repo-relative path needs no rewriting; an absolute one
|
|
522
|
-
// outside every root belongs to another repository or to the user's home.
|
|
523
|
-
return isAbsolutePath(p) ? null : p.replace(/^\.\//, "");
|
|
524
|
-
}
|
|
525
|
-
/**
|
|
526
|
-
* The two sources, deduped and capped once.
|
|
527
|
-
*
|
|
528
|
-
* The transcript comes first so that it survives truncation: if a conversation named more
|
|
529
|
-
* than the cap on its own, what it read and wrote is a better description of what it depended
|
|
530
|
-
* on than whatever happened to be dirty in the tree at the time.
|
|
531
|
-
*/
|
|
532
|
-
export function unionPaths(primary, secondary, cap = 500) {
|
|
533
|
-
const out = [];
|
|
534
|
-
for (const p of [...primary, ...secondary]) {
|
|
535
|
-
if (p && !out.includes(p))
|
|
536
|
-
out.push(p);
|
|
537
|
-
}
|
|
538
|
-
return out.slice(0, cap);
|
|
539
|
-
}
|
|
540
|
-
/**
|
|
541
|
-
* The uncommitted half, from `git status --porcelain`.
|
|
542
|
-
*
|
|
543
|
-
* Unioned with `collectToolPaths` rather than replaced by it, because work that a conversation
|
|
544
|
-
* left dirty is genuine evidence about what it touched — it is only insufficient on its own.
|
|
545
|
-
*
|
|
546
|
-
* Renames are recorded at their destination: `R old -> new` is churn in `new`, and ranking a
|
|
547
|
-
* vault against a path that no longer exists would make every renamed file look permanently
|
|
548
|
-
* untouched. Quoted paths are unescaped because `core.quotePath` is on by default and a
|
|
549
|
-
* filename with an accent in it would otherwise be stored complete with its surrounding
|
|
550
|
-
* quotes and never match anything.
|
|
551
|
-
*
|
|
552
|
-
* The cap is `VaultIndexSchema`'s 500. A conversation that dirtied more than that is a
|
|
553
|
-
* generated-file situation where the first 500 are as good a signal as any.
|
|
554
|
-
*/
|
|
555
|
-
export function parseTouchedPaths(porcelain, cap = 500) {
|
|
556
|
-
const paths = [];
|
|
557
|
-
for (const line of porcelain.split("\n")) {
|
|
558
|
-
if (line.length < 4)
|
|
559
|
-
continue;
|
|
560
|
-
let rest = line.slice(3);
|
|
561
|
-
const arrow = rest.indexOf(" -> ");
|
|
562
|
-
if (arrow !== -1)
|
|
563
|
-
rest = rest.slice(arrow + 4);
|
|
564
|
-
const path = unquotePath(rest.trim());
|
|
565
|
-
if (path && !paths.includes(path))
|
|
566
|
-
paths.push(path);
|
|
567
|
-
}
|
|
568
|
-
return paths.slice(0, cap);
|
|
569
|
-
}
|
|
570
|
-
const SIMPLE_ESCAPES = { n: 10, t: 9, r: 13, b: 8, f: 12, a: 7, v: 11 };
|
|
571
|
-
/**
|
|
572
|
-
* Undo git's C-style quoting.
|
|
573
|
-
*
|
|
574
|
-
* The escapes are *octal bytes*, not characters: `café.ts` comes back as
|
|
575
|
-
* `"caf\303\251.ts"`, which is the two UTF-8 bytes of `é` written one escape each. Stripping
|
|
576
|
-
* backslashes the obvious way turns that into `caf303251.ts` — a path that exists nowhere, so
|
|
577
|
-
* the vault ranks as untouched against a file it actually changed. So the escapes are decoded
|
|
578
|
-
* to bytes and the bytes are decoded as UTF-8, in that order.
|
|
579
|
-
*/
|
|
580
|
-
function unquotePath(raw) {
|
|
581
|
-
if (raw.length < 2 || !raw.startsWith('"') || !raw.endsWith('"'))
|
|
582
|
-
return raw;
|
|
583
|
-
const inner = raw.slice(1, -1);
|
|
584
|
-
const bytes = [];
|
|
585
|
-
for (let i = 0; i < inner.length; i += 1) {
|
|
586
|
-
const ch = inner[i];
|
|
587
|
-
if (ch !== "\\") {
|
|
588
|
-
bytes.push(...Buffer.from(ch, "utf8"));
|
|
589
|
-
continue;
|
|
590
|
-
}
|
|
591
|
-
const next = inner[i + 1];
|
|
592
|
-
if (next === undefined)
|
|
593
|
-
break;
|
|
594
|
-
const octal = inner.slice(i + 1, i + 4);
|
|
595
|
-
if (/^[0-7]{3}$/.test(octal)) {
|
|
596
|
-
bytes.push(parseInt(octal, 8));
|
|
597
|
-
i += 3;
|
|
598
|
-
continue;
|
|
599
|
-
}
|
|
600
|
-
bytes.push(SIMPLE_ESCAPES[next] ?? Buffer.from(next, "utf8")[0]);
|
|
601
|
-
i += 1;
|
|
602
|
-
}
|
|
603
|
-
return Buffer.from(bytes).toString("utf8");
|
|
604
|
-
}
|
|
605
|
-
/**
|
|
606
|
-
* A commit sha, or nothing.
|
|
607
|
-
*
|
|
608
|
-
* `git rev-parse HEAD` in a repository with no commits prints the literal string `HEAD` and
|
|
609
|
-
* exits nonzero on some versions and zero on others. `VaultIndexSchema.gitSha` is a hex regex,
|
|
610
|
-
* so letting that through turns a first-commit-pending repo into a 400 from the create route
|
|
611
|
-
* that reads as a popover bug rather than as "there is no commit yet".
|
|
612
|
-
*/
|
|
613
|
-
export function cleanSha(raw) {
|
|
614
|
-
const sha = raw?.trim().toLowerCase();
|
|
615
|
-
return sha && /^[0-9a-f]{7,40}$/.test(sha) ? sha : undefined;
|
|
616
|
-
}
|
|
617
|
-
/**
|
|
618
|
-
* The transcript, compressed, as one opaque string.
|
|
619
|
-
*
|
|
620
|
-
* Deliberately **not** `sealSnapshot`. That derives its AES key from the fork code, and a
|
|
621
|
-
* vault has no code — team membership is the whole credential, which is exactly the decision
|
|
622
|
-
* §1 records and the reason the server can read a vault at all. Encrypting here with a key
|
|
623
|
-
* stored beside the ciphertext would be worse than not encrypting: a promise that reads as
|
|
624
|
-
* strong and is not. The real protection is at-rest encryption under a key held outside the
|
|
625
|
-
* database, which is the server's to do.
|
|
626
|
-
*
|
|
627
|
-
* gzip + base64 anyway, because `body` is one opaque column by design (§2) so a later
|
|
628
|
-
* end-to-end version can wrap a per-vault key around this without moving anything else, and
|
|
629
|
-
* because a transcript compresses about 10:1.
|
|
630
|
-
*/
|
|
631
|
-
export function packBody(envelope) {
|
|
632
|
-
return gzipSync(Buffer.from(JSON.stringify(envelope), "utf8")).toString("base64");
|
|
633
|
-
}
|
|
634
355
|
// ---------------------------------------------------------------------------
|
|
635
356
|
// popover vault create
|
|
636
357
|
// ---------------------------------------------------------------------------
|
package/dist/vaults.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaults.js","sourceRoot":"","sources":["../src/vaults.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vaults.js","sourceRoot":"","sources":["../src/vaults.ts"],"names":[],"mappings":"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"}
|