@popoverinstall/cli 0.8.0 → 0.9.0
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 +196 -69
- package/LICENSE +21 -21
- package/README.md +142 -141
- package/dist/config-command.d.ts +2 -0
- package/dist/config-command.d.ts.map +1 -0
- package/dist/config-command.js +80 -0
- package/dist/config-command.js.map +1 -0
- package/dist/cursor-hooks.d.ts +18 -0
- package/dist/cursor-hooks.d.ts.map +1 -0
- package/dist/cursor-hooks.js +105 -0
- package/dist/cursor-hooks.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -25
- package/dist/index.js.map +1 -1
- package/dist/keys.d.ts +10 -0
- package/dist/keys.d.ts.map +1 -0
- package/dist/keys.js +44 -0
- package/dist/keys.js.map +1 -0
- package/dist/next-steps.d.ts +1 -5
- package/dist/next-steps.d.ts.map +1 -1
- package/dist/next-steps.js +9 -5
- package/dist/next-steps.js.map +1 -1
- package/dist/repo-scan.d.ts +130 -0
- package/dist/repo-scan.d.ts.map +1 -0
- package/dist/repo-scan.js +281 -0
- package/dist/repo-scan.js.map +1 -0
- package/dist/repos.d.ts +180 -0
- package/dist/repos.d.ts.map +1 -0
- package/dist/repos.js +1002 -0
- package/dist/repos.js.map +1 -0
- package/dist/snapshot.d.ts +35 -0
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +16 -16
- package/dist/snapshot.js.map +1 -1
- package/dist/terminal.d.ts.map +1 -1
- package/dist/terminal.js +21 -0
- package/dist/terminal.js.map +1 -1
- package/dist/vaults.d.ts +276 -0
- package/dist/vaults.d.ts.map +1 -0
- package/dist/vaults.js +1224 -0
- package/dist/vaults.js.map +1 -0
- package/package.json +47 -47
- package/plugin/.claude-plugin/plugin.json +19 -19
- package/plugin/.mcp.json +9 -9
- package/plugin/README.md +84 -76
- package/plugin/commands/ask.md +65 -65
- package/plugin/commands/fork.md +119 -118
- package/plugin/commands/repos.md +107 -0
- package/plugin/commands/team.md +60 -60
- package/plugin/commands/tell.md +66 -66
- package/plugin/commands/vault.md +173 -0
- package/plugin/hooks/hooks.json +111 -111
- package/plugin/mcp/index.mjs +585 -355
- package/plugin/scripts/_ipc.mjs +146 -146
- package/plugin/scripts/announce-roster.mjs +141 -131
- package/plugin/scripts/deliver-messages.mjs +77 -77
- package/plugin/scripts/emit-event.mjs +44 -44
- package/plugin/scripts/ensure-daemon.mjs +156 -156
- package/plugin/scripts/roster.mjs +52 -52
- package/plugin/skills/popover/SKILL.md +175 -160
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/keys.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `popover keys set <provider> <key>` / `popover keys list`.
|
|
3
|
+
*
|
|
4
|
+
* Only Cursor today — Claude Code's own answering never needs a stored key, since it shells
|
|
5
|
+
* out to the already-logged-in `claude` CLI. `CURSOR_API_KEY` in the environment always
|
|
6
|
+
* takes precedence over whatever is stored here; see `resolveCursorApiKey` in
|
|
7
|
+
* packages/shared/src/keys.ts.
|
|
8
|
+
*/
|
|
9
|
+
export declare function keys(args: string[]): Promise<number>;
|
|
10
|
+
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAkC1D"}
|
package/dist/keys.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { loadProviderKeys, saveProviderKey } from "@popoverinstall/shared";
|
|
2
|
+
import { bad, dim, info, ok } from "./ui.js";
|
|
3
|
+
const SUPPORTED = ["cursor"];
|
|
4
|
+
/**
|
|
5
|
+
* `popover keys set <provider> <key>` / `popover keys list`.
|
|
6
|
+
*
|
|
7
|
+
* Only Cursor today — Claude Code's own answering never needs a stored key, since it shells
|
|
8
|
+
* out to the already-logged-in `claude` CLI. `CURSOR_API_KEY` in the environment always
|
|
9
|
+
* takes precedence over whatever is stored here; see `resolveCursorApiKey` in
|
|
10
|
+
* packages/shared/src/keys.ts.
|
|
11
|
+
*/
|
|
12
|
+
export async function keys(args) {
|
|
13
|
+
const [sub, ...rest] = args;
|
|
14
|
+
if (sub === "set") {
|
|
15
|
+
const [provider, key] = rest;
|
|
16
|
+
if (!provider || !SUPPORTED.includes(provider) || !key) {
|
|
17
|
+
bad(`usage: popover keys set <${SUPPORTED.join("|")}> <key>`);
|
|
18
|
+
return 1;
|
|
19
|
+
}
|
|
20
|
+
saveProviderKey(provider, key);
|
|
21
|
+
ok(`Saved ${provider} key.`);
|
|
22
|
+
dim("Stored locally (0600). CURSOR_API_KEY in the environment, if set, is used instead " +
|
|
23
|
+
"of this on every machine — this file is only the fallback.");
|
|
24
|
+
return 0;
|
|
25
|
+
}
|
|
26
|
+
if (sub === "list") {
|
|
27
|
+
const stored = loadProviderKeys();
|
|
28
|
+
for (const provider of SUPPORTED) {
|
|
29
|
+
if (provider === "cursor" && process.env["CURSOR_API_KEY"]) {
|
|
30
|
+
info(`${provider}: set via CURSOR_API_KEY (takes precedence over any stored key)`);
|
|
31
|
+
}
|
|
32
|
+
else if (stored[provider]) {
|
|
33
|
+
info(`${provider}: stored locally`);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
dim(`${provider}: not configured`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return 0;
|
|
40
|
+
}
|
|
41
|
+
bad(`usage: popover keys set <${SUPPORTED.join("|")}> <key> | popover keys list`);
|
|
42
|
+
return 1;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=keys.js.map
|
package/dist/keys.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAqB,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,SAAS,GAA8B,CAAC,QAAQ,CAAC,CAAC;AAExD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc;IACvC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAE5B,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAA8B,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7E,GAAG,CAAC,4BAA4B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9D,OAAO,CAAC,CAAC;QACX,CAAC;QACD,eAAe,CAAC,QAA8B,EAAE,GAAG,CAAC,CAAC;QACrD,EAAE,CAAC,SAAS,QAAQ,OAAO,CAAC,CAAC;QAC7B,GAAG,CACD,oFAAoF;YAClF,4DAA4D,CAC/D,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,GAAG,QAAQ,iEAAiE,CAAC,CAAC;YACrF,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,QAAQ,kBAAkB,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,QAAQ,kBAAkB,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,4BAA4B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAClF,OAAO,CAAC,CAAC;AACX,CAAC"}
|
package/dist/next-steps.d.ts
CHANGED
|
@@ -6,11 +6,7 @@
|
|
|
6
6
|
* either way, so it gets the same send-off — and login.ts cannot import this from welcome.ts,
|
|
7
7
|
* which imports login.ts.
|
|
8
8
|
*/
|
|
9
|
-
/**
|
|
10
|
-
* The product name as people see it. The installers print it too — they are separate templates
|
|
11
|
-
* in apps/web/src/lib/install-script*.ts, so that string is paired with this one rather than
|
|
12
|
-
* shared.
|
|
13
|
-
*/
|
|
9
|
+
/** The product name as people see it. */
|
|
14
10
|
export declare const BRAND = "Popover";
|
|
15
11
|
export declare const TAGLINE = "The first multiplayer coding experience.";
|
|
16
12
|
export declare const TAGLINE_SECONDARY = "Let your team's AI agents communicate and collaborate with each other.";
|
package/dist/next-steps.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-steps.d.ts","sourceRoot":"","sources":["../src/next-steps.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH
|
|
1
|
+
{"version":3,"file":"next-steps.d.ts","sourceRoot":"","sources":["../src/next-steps.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,yCAAyC;AACzC,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,OAAO,6CAA6C,CAAC;AAClE,eAAO,MAAM,iBAAiB,2EAC4C,CAAC;AA6B3E,wBAAgB,SAAS,IAAI,IAAI,CAiDhC"}
|
package/dist/next-steps.js
CHANGED
|
@@ -7,11 +7,7 @@
|
|
|
7
7
|
* which imports login.ts.
|
|
8
8
|
*/
|
|
9
9
|
import { badge, box, glyph, line, step, style, trunk, wrap } from "./theme.js";
|
|
10
|
-
/**
|
|
11
|
-
* The product name as people see it. The installers print it too — they are separate templates
|
|
12
|
-
* in apps/web/src/lib/install-script*.ts, so that string is paired with this one rather than
|
|
13
|
-
* shared.
|
|
14
|
-
*/
|
|
10
|
+
/** The product name as people see it. */
|
|
15
11
|
export const BRAND = "Popover";
|
|
16
12
|
export const TAGLINE = "The first multiplayer coding experience.";
|
|
17
13
|
export const TAGLINE_SECONDARY = "Let your team's AI agents communicate and collaborate with each other.";
|
|
@@ -30,6 +26,11 @@ export const TAGLINE_SECONDARY = "Let your team's AI agents communicate and coll
|
|
|
30
26
|
* Three different opening verbs, and no "Ask Popover" prefix: the heading above these
|
|
31
27
|
* already says whose job this is, and every character spent on the prefix is a character
|
|
32
28
|
* closer to wrapping in an 80-column terminal.
|
|
29
|
+
*
|
|
30
|
+
* Note that all three need a teammate, and most people finishing an install do not have one
|
|
31
|
+
* yet — so on its own this section shows a new user three ways to be told nobody is there.
|
|
32
|
+
* `/popover:fork create` in "Pick a starting point" is the counterweight: it is the one thing
|
|
33
|
+
* here that does something on a team of one. Keep it there if these change.
|
|
33
34
|
*/
|
|
34
35
|
const ASK_EXAMPLES = [
|
|
35
36
|
"Who else is working in this repo right now, and on what?",
|
|
@@ -54,6 +55,9 @@ export function nextSteps() {
|
|
|
54
55
|
trunk();
|
|
55
56
|
step(style.amber("Pick a starting point"));
|
|
56
57
|
bullet(`${style.bold("/popover:team")} ${style.dim("run it in any Claude Code session")}`);
|
|
58
|
+
// The only line here that works before anyone else joins, which is why it is in the first
|
|
59
|
+
// section rather than buried below: whoever you send a fork to needs no account at all.
|
|
60
|
+
bullet(`${style.bold("/popover:fork")} ${style.dim("hand a conversation to anyone — no account needed")}`);
|
|
57
61
|
bullet(`${style.bold("popover doctor")} ${style.dim("if something looks wrong")}`);
|
|
58
62
|
trunk();
|
|
59
63
|
step(style.amber("Ask your coding agent"));
|
package/dist/next-steps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-steps.js","sourceRoot":"","sources":["../src/next-steps.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAE/E
|
|
1
|
+
{"version":3,"file":"next-steps.js","sourceRoot":"","sources":["../src/next-steps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where `popover repos` is standing, worked out from the working directory and nothing else.
|
|
3
|
+
*
|
|
4
|
+
* There is deliberately no repo argument anywhere in this command, and this file is why:
|
|
5
|
+
* registering a repository is a claim of *possession*, and the only thing that can honestly
|
|
6
|
+
* make that claim is the directory you are in. Typing `acme/backend` proves nothing and
|
|
7
|
+
* produces nothing (docs/team-repos.md §2), so the CLI never offers a way to type it.
|
|
8
|
+
*
|
|
9
|
+
* ## Why this duplicates the daemon rather than calling it
|
|
10
|
+
*
|
|
11
|
+
* `packages/daemon/src/repo-identity.ts` already answers a question shaped like this one,
|
|
12
|
+
* and it is a better answer than this file's — it derives the possession keys, memoizes
|
|
13
|
+
* root commits, budgets the scan across parallel lanes. Three reasons it is not reused:
|
|
14
|
+
*
|
|
15
|
+
* 1. **This command needs remotes, not keys.** A key is a bearer credential; the CLI never
|
|
16
|
+
* sends one and the API never accepts one. Registration names a remote and the *server*
|
|
17
|
+
* resolves the key from the caller's own published sessions (`register_team_repo`). So
|
|
18
|
+
* the expensive half of the daemon's work — `rev-list --max-parents=0` over the whole
|
|
19
|
+
* history — buys this command nothing at all.
|
|
20
|
+
* 2. **There is no IPC request for it.** The daemon's protocol has no "what repos are
|
|
21
|
+
* here" message; adding one means changing `packages/shared/src/ipc.ts`, and a machine
|
|
22
|
+
* whose daemon is older than its CLI would then time out and look dead.
|
|
23
|
+
* 3. **This must work with the daemon stopped.** `popover repos` is a thing you run while
|
|
24
|
+
* working out why your team cannot see you, which is frequently a daemon that is down.
|
|
25
|
+
*
|
|
26
|
+
* What is duplicated is therefore small and stated in one place: two git commands, the
|
|
27
|
+
* `.git` test for a child, and the refusals below. The parts that could silently drift —
|
|
28
|
+
* how a remote URL is normalized, which remote is primary — are imported from
|
|
29
|
+
* `@popoverinstall/shared`, so this file and the daemon cannot disagree about what
|
|
30
|
+
* `github.com/acme/backend` means.
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* The most repos a workspace directory may offer.
|
|
34
|
+
*
|
|
35
|
+
* Not a number chosen here: `repo_keys_well_formed()` refuses an array longer than this, so
|
|
36
|
+
* a workspace above it publishes nothing and there is nothing to register. Offering
|
|
37
|
+
* seventeen repos and watching every add fail server-side would be worse than saying
|
|
38
|
+
* plainly that this directory is a code dump rather than a project.
|
|
39
|
+
*/
|
|
40
|
+
export declare const WORKSPACE_REPO_CAP = 16;
|
|
41
|
+
/**
|
|
42
|
+
* How many child directories may look like repositories before we stop counting.
|
|
43
|
+
*
|
|
44
|
+
* A directory of hundreds of clones is over the cap above whatever the scan finds, so the
|
|
45
|
+
* scan is the wasted part. Refusing at the candidate stage costs one `stat` per child
|
|
46
|
+
* rather than a `git config` spawn per child.
|
|
47
|
+
*/
|
|
48
|
+
export declare const WORKSPACE_CANDIDATE_CAP = 64;
|
|
49
|
+
export interface LocalRepo {
|
|
50
|
+
/** Absolute path of the worktree root. */
|
|
51
|
+
root: string;
|
|
52
|
+
/**
|
|
53
|
+
* The remote this repo would be registered under — `github.com/acme/backend`.
|
|
54
|
+
*
|
|
55
|
+
* `origin` when there is one, otherwise the first remaining remote name in sorted order,
|
|
56
|
+
* which is `primaryRemote`'s rule and therefore the same one the daemon labels a session
|
|
57
|
+
* with. Registration picks a *single* remote on purpose (§2): registering from a clone
|
|
58
|
+
* whose `origin` is `alice/backend` must put the fork's key on the list rather than the
|
|
59
|
+
* canonical repo's, because the fork's key is the one this clone can prove.
|
|
60
|
+
*/
|
|
61
|
+
remote: string;
|
|
62
|
+
/**
|
|
63
|
+
* Every normalized remote this clone has, primary first.
|
|
64
|
+
*
|
|
65
|
+
* Carried because a clone publishes one key per remote, so a fork can already be on a
|
|
66
|
+
* team's list under `upstream` while `origin` is not — and reporting "on no list" there
|
|
67
|
+
* would be false.
|
|
68
|
+
*/
|
|
69
|
+
remotes: string[];
|
|
70
|
+
/** `backend`. From the remote rather than the folder, which is a local choice. */
|
|
71
|
+
name: string;
|
|
72
|
+
/**
|
|
73
|
+
* git says this clone is shallow.
|
|
74
|
+
*
|
|
75
|
+
* Kept because it is the one common reason a repository that looks perfectly registrable
|
|
76
|
+
* holds no key on the server: the daemon refuses to key a shallow clone, since
|
|
77
|
+
* `rev-list --max-parents=0` answers with the graft boundary and that differs with every
|
|
78
|
+
* `--depth`. Without this flag the failure surfaces as "popover has never seen a session
|
|
79
|
+
* here", which is both wrong and unfixable-sounding.
|
|
80
|
+
*/
|
|
81
|
+
shallow: boolean;
|
|
82
|
+
}
|
|
83
|
+
/** Why a directory offers nothing to register. Each maps to one sentence in `repos.ts`. */
|
|
84
|
+
export type NoPlace =
|
|
85
|
+
/** Not a git repository, and nothing directly beneath it is one either. */
|
|
86
|
+
"not-a-repo"
|
|
87
|
+
/** A git repository, but with no remote naming something two people could share. */
|
|
88
|
+
| "no-remote"
|
|
89
|
+
/** `$HOME`. Its children are not a workspace — see `scannable`. */
|
|
90
|
+
| "home"
|
|
91
|
+
/** `/`, `C:\`, a UNC share root. */
|
|
92
|
+
| "filesystem-root"
|
|
93
|
+
/** More repos beneath it than a workspace can publish. */
|
|
94
|
+
| "too-many"
|
|
95
|
+
/** The directory could not be read at all. */
|
|
96
|
+
| "unreadable";
|
|
97
|
+
export type Place = {
|
|
98
|
+
kind: "repo";
|
|
99
|
+
dir: string;
|
|
100
|
+
repo: LocalRepo;
|
|
101
|
+
} | {
|
|
102
|
+
kind: "workspace";
|
|
103
|
+
dir: string;
|
|
104
|
+
repos: LocalRepo[];
|
|
105
|
+
} | {
|
|
106
|
+
kind: "none";
|
|
107
|
+
dir: string;
|
|
108
|
+
why: NoPlace;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* What is registrable from `dir`.
|
|
112
|
+
*
|
|
113
|
+
* Inside a clone the answer is that clone, and the walk *up* to the worktree root is git's
|
|
114
|
+
* own, so running this from `backend/src/api` registers `backend`. Outside one, the
|
|
115
|
+
* immediate children are examined, which is the workspace case (§5): an agent orchestrating
|
|
116
|
+
* `backend/`, `app/` and `firmware/` from `~/src/sam` should be able to register all three
|
|
117
|
+
* without visiting each in turn.
|
|
118
|
+
*
|
|
119
|
+
* Depth 1 only, and never `$HOME` or a filesystem root. Those are the guards the daemon
|
|
120
|
+
* applies to publishing, for the same reason: `~` is where somebody starts an agent by
|
|
121
|
+
* accident, and its children are frequently every repository they have ever cloned.
|
|
122
|
+
*
|
|
123
|
+
* Never throws. Every failure — git missing, the directory deleted underneath us, a
|
|
124
|
+
* permission error — resolves to a `none` with a reason, because a command that explains
|
|
125
|
+
* why it found nothing is worth more than one that crashes.
|
|
126
|
+
*/
|
|
127
|
+
export declare function whereAmI(dir?: string): Place;
|
|
128
|
+
/** `~/src/sam`, where that is shorter and clearer than the absolute path. */
|
|
129
|
+
export declare function tildify(dir: string): string;
|
|
130
|
+
//# sourceMappingURL=repo-scan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-scan.d.ts","sourceRoot":"","sources":["../src/repo-scan.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAS1C,MAAM,WAAW,SAAS;IACxB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,2FAA2F;AAC3F,MAAM,MAAM,OAAO;AACjB,2EAA2E;AACzE,YAAY;AACd,oFAAoF;GAClF,WAAW;AACb,mEAAmE;GACjE,MAAM;AACR,oCAAoC;GAClC,iBAAiB;AACnB,0DAA0D;GACxD,UAAU;AACZ,8CAA8C;GAC5C,YAAY,CAAC;AAEjB,MAAM,MAAM,KAAK,GACb;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,EAAE,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,GAAG,GAAE,MAAsB,GAAG,KAAK,CAiC3D;AA8JD,6EAA6E;AAC7E,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAU3C"}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import { execFileSync } from "node:child_process";
|
|
2
|
+
import { readdirSync, statSync } from "node:fs";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { normalizeRemote, primaryRemote, repoNameFromRemote } from "@popoverinstall/shared";
|
|
6
|
+
/**
|
|
7
|
+
* Where `popover repos` is standing, worked out from the working directory and nothing else.
|
|
8
|
+
*
|
|
9
|
+
* There is deliberately no repo argument anywhere in this command, and this file is why:
|
|
10
|
+
* registering a repository is a claim of *possession*, and the only thing that can honestly
|
|
11
|
+
* make that claim is the directory you are in. Typing `acme/backend` proves nothing and
|
|
12
|
+
* produces nothing (docs/team-repos.md §2), so the CLI never offers a way to type it.
|
|
13
|
+
*
|
|
14
|
+
* ## Why this duplicates the daemon rather than calling it
|
|
15
|
+
*
|
|
16
|
+
* `packages/daemon/src/repo-identity.ts` already answers a question shaped like this one,
|
|
17
|
+
* and it is a better answer than this file's — it derives the possession keys, memoizes
|
|
18
|
+
* root commits, budgets the scan across parallel lanes. Three reasons it is not reused:
|
|
19
|
+
*
|
|
20
|
+
* 1. **This command needs remotes, not keys.** A key is a bearer credential; the CLI never
|
|
21
|
+
* sends one and the API never accepts one. Registration names a remote and the *server*
|
|
22
|
+
* resolves the key from the caller's own published sessions (`register_team_repo`). So
|
|
23
|
+
* the expensive half of the daemon's work — `rev-list --max-parents=0` over the whole
|
|
24
|
+
* history — buys this command nothing at all.
|
|
25
|
+
* 2. **There is no IPC request for it.** The daemon's protocol has no "what repos are
|
|
26
|
+
* here" message; adding one means changing `packages/shared/src/ipc.ts`, and a machine
|
|
27
|
+
* whose daemon is older than its CLI would then time out and look dead.
|
|
28
|
+
* 3. **This must work with the daemon stopped.** `popover repos` is a thing you run while
|
|
29
|
+
* working out why your team cannot see you, which is frequently a daemon that is down.
|
|
30
|
+
*
|
|
31
|
+
* What is duplicated is therefore small and stated in one place: two git commands, the
|
|
32
|
+
* `.git` test for a child, and the refusals below. The parts that could silently drift —
|
|
33
|
+
* how a remote URL is normalized, which remote is primary — are imported from
|
|
34
|
+
* `@popoverinstall/shared`, so this file and the daemon cannot disagree about what
|
|
35
|
+
* `github.com/acme/backend` means.
|
|
36
|
+
*/
|
|
37
|
+
/**
|
|
38
|
+
* The most repos a workspace directory may offer.
|
|
39
|
+
*
|
|
40
|
+
* Not a number chosen here: `repo_keys_well_formed()` refuses an array longer than this, so
|
|
41
|
+
* a workspace above it publishes nothing and there is nothing to register. Offering
|
|
42
|
+
* seventeen repos and watching every add fail server-side would be worse than saying
|
|
43
|
+
* plainly that this directory is a code dump rather than a project.
|
|
44
|
+
*/
|
|
45
|
+
export const WORKSPACE_REPO_CAP = 16;
|
|
46
|
+
/**
|
|
47
|
+
* How many child directories may look like repositories before we stop counting.
|
|
48
|
+
*
|
|
49
|
+
* A directory of hundreds of clones is over the cap above whatever the scan finds, so the
|
|
50
|
+
* scan is the wasted part. Refusing at the candidate stage costs one `stat` per child
|
|
51
|
+
* rather than a `git config` spawn per child.
|
|
52
|
+
*/
|
|
53
|
+
export const WORKSPACE_CANDIDATE_CAP = 64;
|
|
54
|
+
/**
|
|
55
|
+
* Git must not be able to wedge a command a person is watching. Generous for a local call;
|
|
56
|
+
* short enough that a credential helper waiting on a prompt costs a moment rather than the
|
|
57
|
+
* whole invocation.
|
|
58
|
+
*/
|
|
59
|
+
const GIT_TIMEOUT_MS = 2_000;
|
|
60
|
+
/**
|
|
61
|
+
* What is registrable from `dir`.
|
|
62
|
+
*
|
|
63
|
+
* Inside a clone the answer is that clone, and the walk *up* to the worktree root is git's
|
|
64
|
+
* own, so running this from `backend/src/api` registers `backend`. Outside one, the
|
|
65
|
+
* immediate children are examined, which is the workspace case (§5): an agent orchestrating
|
|
66
|
+
* `backend/`, `app/` and `firmware/` from `~/src/sam` should be able to register all three
|
|
67
|
+
* without visiting each in turn.
|
|
68
|
+
*
|
|
69
|
+
* Depth 1 only, and never `$HOME` or a filesystem root. Those are the guards the daemon
|
|
70
|
+
* applies to publishing, for the same reason: `~` is where somebody starts an agent by
|
|
71
|
+
* accident, and its children are frequently every repository they have ever cloned.
|
|
72
|
+
*
|
|
73
|
+
* Never throws. Every failure — git missing, the directory deleted underneath us, a
|
|
74
|
+
* permission error — resolves to a `none` with a reason, because a command that explains
|
|
75
|
+
* why it found nothing is worth more than one that crashes.
|
|
76
|
+
*/
|
|
77
|
+
export function whereAmI(dir = process.cwd()) {
|
|
78
|
+
const here = readRepoAt(dir);
|
|
79
|
+
if (here.inRepo) {
|
|
80
|
+
return here.repo
|
|
81
|
+
? { kind: "repo", dir, repo: here.repo }
|
|
82
|
+
: { kind: "none", dir, why: "no-remote" };
|
|
83
|
+
}
|
|
84
|
+
const guard = scannable(dir);
|
|
85
|
+
if (guard !== "ok")
|
|
86
|
+
return { kind: "none", dir, why: guard };
|
|
87
|
+
const children = repoChildren(dir);
|
|
88
|
+
if (children === "unreadable")
|
|
89
|
+
return { kind: "none", dir, why: "unreadable" };
|
|
90
|
+
if (children === "too-many")
|
|
91
|
+
return { kind: "none", dir, why: "too-many" };
|
|
92
|
+
// Deduped by remote: a worktree kept beside its checkout, or one repo cloned twice under
|
|
93
|
+
// two folder names, is one repository and must be offered once.
|
|
94
|
+
const seen = new Set();
|
|
95
|
+
const repos = [];
|
|
96
|
+
for (const child of children) {
|
|
97
|
+
const found = readRepoAt(child).repo;
|
|
98
|
+
if (!found || seen.has(found.remote))
|
|
99
|
+
continue;
|
|
100
|
+
seen.add(found.remote);
|
|
101
|
+
repos.push(found);
|
|
102
|
+
}
|
|
103
|
+
if (repos.length === 0)
|
|
104
|
+
return { kind: "none", dir, why: "not-a-repo" };
|
|
105
|
+
if (repos.length > WORKSPACE_REPO_CAP)
|
|
106
|
+
return { kind: "none", dir, why: "too-many" };
|
|
107
|
+
// Sorted by name so two runs in the same directory print the same order; `readdir` makes
|
|
108
|
+
// no promise about one.
|
|
109
|
+
repos.sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
|
|
110
|
+
return { kind: "workspace", dir, repos };
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* One directory, as git sees it.
|
|
114
|
+
*
|
|
115
|
+
* `inRepo` is deliberately distinct from `repo !== null`, and the distinction is what gates
|
|
116
|
+
* the workspace scan. A checkout with no usable remote is unambiguously *inside* a
|
|
117
|
+
* repository, and scanning its children would offer whatever happens to be vendored one
|
|
118
|
+
* level down — a `packages/` directory of submodules — which is not what the person is
|
|
119
|
+
* working on.
|
|
120
|
+
*/
|
|
121
|
+
function readRepoAt(dir) {
|
|
122
|
+
// Both facts in one spawn, matching the daemon. `--is-shallow-repository` needs git 2.15
|
|
123
|
+
// (2017); on anything older the whole call fails and the directory reads as "not a repo",
|
|
124
|
+
// which costs a workspace scan that finds nothing and falls through to the same answer.
|
|
125
|
+
const info = git(dir, ["rev-parse", "--show-toplevel", "--is-shallow-repository"]);
|
|
126
|
+
if (info === null)
|
|
127
|
+
return { inRepo: false, repo: null };
|
|
128
|
+
const lines = info.split("\n").map((l) => l.trim());
|
|
129
|
+
const root = lines[0] || dir;
|
|
130
|
+
const shallow = lines[1] === "true";
|
|
131
|
+
// `git config --get-regexp` rather than `git remote -v`, which prints every remote twice
|
|
132
|
+
// — once for fetch, once for push — and would have to be de-duplicated by hand.
|
|
133
|
+
const config = git(dir, ["config", "--get-regexp", "^remote\\..*\\.url$"]);
|
|
134
|
+
if (!config)
|
|
135
|
+
return { inRepo: true, repo: null };
|
|
136
|
+
const remotes = new Map();
|
|
137
|
+
for (const line of config.split("\n")) {
|
|
138
|
+
const match = /^remote\.(.+)\.url\s+(.+)$/.exec(line.trim());
|
|
139
|
+
if (!match)
|
|
140
|
+
continue;
|
|
141
|
+
// A filesystem remote normalizes to null: it names a path on one machine, which is
|
|
142
|
+
// exactly what a shared identity must not be.
|
|
143
|
+
const remote = normalizeRemote(match[2]);
|
|
144
|
+
if (remote)
|
|
145
|
+
remotes.set(match[1], remote);
|
|
146
|
+
}
|
|
147
|
+
const primary = primaryRemote(remotes);
|
|
148
|
+
if (!primary)
|
|
149
|
+
return { inRepo: true, repo: null };
|
|
150
|
+
const rest = [...new Set(remotes.values())].filter((r) => r !== primary).sort();
|
|
151
|
+
return {
|
|
152
|
+
inRepo: true,
|
|
153
|
+
repo: {
|
|
154
|
+
root,
|
|
155
|
+
remote: primary,
|
|
156
|
+
remotes: [primary, ...rest],
|
|
157
|
+
name: repoNameFromRemote(primary),
|
|
158
|
+
shallow,
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Whether we are willing to look at this directory's children at all.
|
|
164
|
+
*
|
|
165
|
+
* Both refusals are about the same failure: a directory whose children are not a project.
|
|
166
|
+
* `$HOME` is the one somebody will actually hit, because starting an agent in `~` is
|
|
167
|
+
* ordinary, and offering to register every repository they have ever cloned is not what
|
|
168
|
+
* they meant by running this. A filesystem root is the same mistake with a wider blast
|
|
169
|
+
* radius, and is reachable by accident from a shell whose working directory was lost.
|
|
170
|
+
*
|
|
171
|
+
* The honest gap, kept identical to the daemon's: the *parent* of `$HOME` — `/Users`,
|
|
172
|
+
* `/home` — is refused by neither, and its children are other people's home directories.
|
|
173
|
+
* Guarding it would also refuse a perfectly ordinary `/home/shared-projects`, and an agent
|
|
174
|
+
* whose cwd is `/Users` is not a case that occurs.
|
|
175
|
+
*/
|
|
176
|
+
function scannable(dir) {
|
|
177
|
+
if (!dir)
|
|
178
|
+
return "unreadable";
|
|
179
|
+
let resolved;
|
|
180
|
+
try {
|
|
181
|
+
resolved = path.resolve(dir);
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
return "unreadable";
|
|
185
|
+
}
|
|
186
|
+
// `path.dirname` is a fixed point exactly at a root — `/`, `C:\`, `\\server\share`.
|
|
187
|
+
if (path.dirname(resolved) === resolved)
|
|
188
|
+
return "filesystem-root";
|
|
189
|
+
try {
|
|
190
|
+
if (samePath(resolved, os.homedir()))
|
|
191
|
+
return "home";
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
/* No home to compare against. The root check above still stands. */
|
|
195
|
+
}
|
|
196
|
+
return "ok";
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Immediate children of `dir` that are repository roots.
|
|
200
|
+
*
|
|
201
|
+
* The `.git` test is what makes this affordable: asking git about every child would cost a
|
|
202
|
+
* spawn each, so `~/Documents` with ninety folders in it would pay ninety processes to
|
|
203
|
+
* learn that none of them is a repository. A repository root has `.git` — a directory in a
|
|
204
|
+
* normal clone, a *file* in a linked worktree or a submodule, and `stat` accepts both. A
|
|
205
|
+
* bare repo (`foo.git/`) has neither and is skipped, which is right: nobody runs an agent
|
|
206
|
+
* in one.
|
|
207
|
+
*
|
|
208
|
+
* Dotfiles are skipped first. `.cache`, `.venv` and `.config` are not workspace members,
|
|
209
|
+
* and `dir` is already known not to be a repository, so its own `.git` is not in play.
|
|
210
|
+
*/
|
|
211
|
+
function repoChildren(dir) {
|
|
212
|
+
let entries;
|
|
213
|
+
try {
|
|
214
|
+
entries = readdirSync(dir, { withFileTypes: true });
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
return "unreadable";
|
|
218
|
+
}
|
|
219
|
+
const children = [];
|
|
220
|
+
for (const entry of entries) {
|
|
221
|
+
if (entry.name.startsWith("."))
|
|
222
|
+
continue;
|
|
223
|
+
// Symlinks are followed: `~/src/current -> ~/src/app-v2` is a real way to arrange a
|
|
224
|
+
// workspace, and a link and its target resolve to one remote, which the dedupe collapses.
|
|
225
|
+
if (!entry.isDirectory() && !entry.isSymbolicLink())
|
|
226
|
+
continue;
|
|
227
|
+
const child = path.join(dir, entry.name);
|
|
228
|
+
if (!hasGitDir(child))
|
|
229
|
+
continue;
|
|
230
|
+
children.push(child);
|
|
231
|
+
if (children.length > WORKSPACE_CANDIDATE_CAP)
|
|
232
|
+
return "too-many";
|
|
233
|
+
}
|
|
234
|
+
return children;
|
|
235
|
+
}
|
|
236
|
+
function hasGitDir(child) {
|
|
237
|
+
try {
|
|
238
|
+
statSync(path.join(child, ".git"));
|
|
239
|
+
return true;
|
|
240
|
+
}
|
|
241
|
+
catch {
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/** Case-insensitive on Windows and macOS paths, separator- and trailing-slash-blind. */
|
|
246
|
+
function samePath(a, b) {
|
|
247
|
+
const canonical = (p) => p.replace(/[\\/]+$/, "").replace(/\\/g, "/").toLowerCase();
|
|
248
|
+
return canonical(a) === canonical(b);
|
|
249
|
+
}
|
|
250
|
+
/** Git's answer, or null for any failure — including git not being installed at all. */
|
|
251
|
+
function git(cwd, args) {
|
|
252
|
+
try {
|
|
253
|
+
const out = execFileSync("git", ["-C", cwd, ...args], {
|
|
254
|
+
encoding: "utf8",
|
|
255
|
+
timeout: GIT_TIMEOUT_MS,
|
|
256
|
+
windowsHide: true,
|
|
257
|
+
// stderr discarded: "not a git repository" is the ordinary case here rather than an
|
|
258
|
+
// error worth printing over whatever the command is about to render.
|
|
259
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
260
|
+
}).trim();
|
|
261
|
+
return out || null;
|
|
262
|
+
}
|
|
263
|
+
catch {
|
|
264
|
+
return null;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
/** `~/src/sam`, where that is shorter and clearer than the absolute path. */
|
|
268
|
+
export function tildify(dir) {
|
|
269
|
+
let home = "";
|
|
270
|
+
try {
|
|
271
|
+
home = os.homedir();
|
|
272
|
+
}
|
|
273
|
+
catch {
|
|
274
|
+
return dir;
|
|
275
|
+
}
|
|
276
|
+
if (!home || !samePath(dir.slice(0, home.length), home))
|
|
277
|
+
return dir;
|
|
278
|
+
const rest = dir.slice(home.length).replace(/^[\\/]/, "");
|
|
279
|
+
return rest ? `~/${rest.replace(/\\/g, "/")}` : "~";
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=repo-scan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-scan.js","sourceRoot":"","sources":["../src/repo-scan.ts"],"names":[],"mappings":"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"}
|