@tryglen/cli 0.15.0 → 0.17.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/README.md +1 -0
- package/dist/_utils/agent-adapter.js +14 -0
- package/dist/_utils/agent-adapter.js.map +1 -1
- package/dist/_utils/collect-import-files.d.ts +4 -0
- package/dist/_utils/collect-import-files.js +55 -0
- package/dist/_utils/collect-import-files.js.map +1 -0
- package/dist/_utils/config.d.ts +2 -0
- package/dist/_utils/config.js +3 -0
- package/dist/_utils/config.js.map +1 -1
- package/dist/_utils/detect-transcript-format.d.ts +2 -0
- package/dist/_utils/detect-transcript-format.js +53 -0
- package/dist/_utils/detect-transcript-format.js.map +1 -0
- package/dist/_utils/parse-claude-transcript.d.ts +3 -0
- package/dist/_utils/parse-claude-transcript.js +124 -0
- package/dist/_utils/parse-claude-transcript.js.map +1 -0
- package/dist/_utils/parse-codex-transcript.d.ts +3 -0
- package/dist/_utils/parse-codex-transcript.js +111 -0
- package/dist/_utils/parse-codex-transcript.js.map +1 -0
- package/dist/_utils/parse-cursor-db.d.ts +5 -0
- package/dist/_utils/parse-cursor-db.js +227 -0
- package/dist/_utils/parse-cursor-db.js.map +1 -0
- package/dist/_utils/transcript-turns.d.ts +19 -0
- package/dist/_utils/transcript-turns.js +41 -0
- package/dist/_utils/transcript-turns.js.map +1 -0
- package/dist/_utils/turn-cache.d.ts +7 -0
- package/dist/_utils/turn-cache.js +63 -0
- package/dist/_utils/turn-cache.js.map +1 -0
- package/dist/bin.js +33 -13
- package/dist/bin.js.map +1 -1
- package/dist/commands/doctor.js +6 -0
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/import.d.ts +7 -0
- package/dist/commands/import.js +236 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/ingest.js +79 -24
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/install.js +42 -2
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/onboard.js +1 -1
- package/dist/commands/onboard.js.map +1 -1
- package/dist/commands/pr-link.js +23 -10
- package/dist/commands/pr-link.js.map +1 -1
- package/dist/commands/session-start.d.ts +6 -7
- package/dist/commands/session-start.js +30 -10
- package/dist/commands/session-start.js.map +1 -1
- package/dist/commands/uninstall.js +5 -1
- package/dist/commands/uninstall.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/commands/onboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAe,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,0EAA0E;AAC1E,yEAAyE;AACzE,2EAA2E;AAC3E,MAAM,YAAY,GAAG,KAAK,IAA+C,EAAE;IACzE,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;IACtC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IAEtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAE9D,uEAAuE;IACvE,yEAAyE;IACzE,kDAAkD;IAClD,MAAM,SAAS,GAAG,MAAM,OAAO,EAAE,CAAC;IAClC,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,
|
|
1
|
+
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/commands/onboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAe,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,0EAA0E;AAC1E,yEAAyE;AACzE,2EAA2E;AAC3E,MAAM,YAAY,GAAG,KAAK,IAA+C,EAAE;IACzE,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;IACtC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IAEtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAE9D,uEAAuE;IACvE,yEAAyE;IACzE,kDAAkD;IAClD,MAAM,SAAS,GAAG,MAAM,OAAO,EAAE,CAAC;IAClC,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gFAAgF;QAC9E,kEAAkE,CACrE,CAAC;IACF,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
package/dist/commands/pr-link.js
CHANGED
|
@@ -23,11 +23,11 @@ const textFrom = (v) => {
|
|
|
23
23
|
};
|
|
24
24
|
// `glen pr-link [--agent <agent>]` — PostToolUse hook body. Reads the tool event
|
|
25
25
|
// on stdin, and if the Bash command/output surfaced a GitHub PR URL, injects the
|
|
26
|
-
// matching Glen review link. `--agent`
|
|
27
|
-
//
|
|
28
|
-
//
|
|
26
|
+
// matching Glen review link. `--agent cursor` branches: Cursor's afterShellExecution
|
|
27
|
+
// payload is normalized (top-level command/output → tool_input/tool_response) and
|
|
28
|
+
// stdout is suppressed (the review-link instruction reaches Cursor via sessionStart
|
|
29
|
+
// instead). Claude/codex keep the hookSpecificOutput envelope. Never throws, never blocks.
|
|
29
30
|
const prLink = async (agent) => {
|
|
30
|
-
void agent;
|
|
31
31
|
const raw = await readStdin();
|
|
32
32
|
const event = (() => {
|
|
33
33
|
try {
|
|
@@ -39,6 +39,14 @@ const prLink = async (agent) => {
|
|
|
39
39
|
})();
|
|
40
40
|
if (!event)
|
|
41
41
|
return;
|
|
42
|
+
// Cursor's afterShellExecution carries the shell command/output at the top
|
|
43
|
+
// level; normalize to the claude PostToolUse shape so recordCommitAnchor and
|
|
44
|
+
// the haystack logic handle one shape.
|
|
45
|
+
if (typeof event.command === "string" && event.tool_input === undefined) {
|
|
46
|
+
event.tool_input = { command: event.command };
|
|
47
|
+
if (event.tool_response === undefined && typeof event.output === "string")
|
|
48
|
+
event.tool_response = event.output;
|
|
49
|
+
}
|
|
42
50
|
// Writer A (commit anchoring): best-effort, awaited so the POST completes
|
|
43
51
|
// before this short-lived hook process exits. Never throws.
|
|
44
52
|
await recordCommitAnchor(event);
|
|
@@ -56,12 +64,17 @@ const prLink = async (agent) => {
|
|
|
56
64
|
const links = prs
|
|
57
65
|
.map((p) => `Glen review page for this PR: ${buildReviewUrl(p)}`)
|
|
58
66
|
.join("\n");
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
// Cursor's afterShellExecution ignores hook output — never emit the envelope
|
|
68
|
+
// there (the review-link instruction reaches cursor via sessionStart instead).
|
|
69
|
+
const suppressOutput = agent === "cursor";
|
|
70
|
+
if (!suppressOutput) {
|
|
71
|
+
process.stdout.write(JSON.stringify({
|
|
72
|
+
hookSpecificOutput: {
|
|
73
|
+
hookEventName: "PostToolUse",
|
|
74
|
+
additionalContext: `${links}\nSurface the Glen review link alongside the GitHub PR link.`,
|
|
75
|
+
},
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
65
78
|
};
|
|
66
79
|
export { prLink };
|
|
67
80
|
//# sourceMappingURL=pr-link.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-link.js","sourceRoot":"","sources":["../../src/commands/pr-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,SAAS,GAAG,KAAK,IAAqB,EAAE;IAC5C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC,CAAC,wCAAwC;IAC5E,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;IACtE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAU,EAAE;IACtC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF,iFAAiF;AACjF,iFAAiF;AACjF,
|
|
1
|
+
{"version":3,"file":"pr-link.js","sourceRoot":"","sources":["../../src/commands/pr-link.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `glen session-start [--agent <agent>]` — called by the agent's SessionStart hook.
|
|
3
3
|
*
|
|
4
|
-
* The `--agent` option is accepted and currently unused; it keeps hook lines uniform
|
|
5
|
-
* across agent types so hooks.json can call `glen session-start --agent <agent>` now
|
|
6
|
-
* and we can make use of it later without updating hook configs.
|
|
7
|
-
*
|
|
8
4
|
* Behavior:
|
|
9
5
|
* 1. Spawn a detached `glen doctor --auto` (background maintenance; never blocks).
|
|
10
6
|
* 2. Read stdin (SessionStart event JSON, parsed defensively — tolerate garbage).
|
|
11
7
|
* 3. Read local credentials + session state.
|
|
12
8
|
* 4. Write ONE JSON object to stdout:
|
|
13
|
-
* -
|
|
14
|
-
* + systemMessage at top level when incognito is ON
|
|
9
|
+
* - For claude/codex: `hookSpecificOutput.additionalContext = formatStateLine(state)`
|
|
10
|
+
* + systemMessage at top level when incognito is ON.
|
|
11
|
+
* - For `--agent cursor`: flat `{ additional_context }` shape — Cursor's
|
|
12
|
+
* SessionStart consumes this format; notices (incognito, no-creds, etc.) are
|
|
13
|
+
* folded into the text rather than a separate systemMessage field.
|
|
15
14
|
* - no creds → "[glen] not set up on this machine — ask the user whether
|
|
16
15
|
* to set up glen, then use the setup skill."
|
|
17
16
|
* - creds, no org → "[glen] no org selected — ask the user whether to set up
|
|
18
17
|
* glen, then use the setup skill."
|
|
19
18
|
* 5. Always exit 0 — this hook must never block a session.
|
|
20
19
|
*/
|
|
21
|
-
declare const sessionStart: () => Promise<void>;
|
|
20
|
+
declare const sessionStart: (agent?: string) => Promise<void>;
|
|
22
21
|
export { sessionStart };
|
|
@@ -32,24 +32,23 @@ const spawnDoctorAuto = () => {
|
|
|
32
32
|
/**
|
|
33
33
|
* `glen session-start [--agent <agent>]` — called by the agent's SessionStart hook.
|
|
34
34
|
*
|
|
35
|
-
* The `--agent` option is accepted and currently unused; it keeps hook lines uniform
|
|
36
|
-
* across agent types so hooks.json can call `glen session-start --agent <agent>` now
|
|
37
|
-
* and we can make use of it later without updating hook configs.
|
|
38
|
-
*
|
|
39
35
|
* Behavior:
|
|
40
36
|
* 1. Spawn a detached `glen doctor --auto` (background maintenance; never blocks).
|
|
41
37
|
* 2. Read stdin (SessionStart event JSON, parsed defensively — tolerate garbage).
|
|
42
38
|
* 3. Read local credentials + session state.
|
|
43
39
|
* 4. Write ONE JSON object to stdout:
|
|
44
|
-
* -
|
|
45
|
-
* + systemMessage at top level when incognito is ON
|
|
40
|
+
* - For claude/codex: `hookSpecificOutput.additionalContext = formatStateLine(state)`
|
|
41
|
+
* + systemMessage at top level when incognito is ON.
|
|
42
|
+
* - For `--agent cursor`: flat `{ additional_context }` shape — Cursor's
|
|
43
|
+
* SessionStart consumes this format; notices (incognito, no-creds, etc.) are
|
|
44
|
+
* folded into the text rather than a separate systemMessage field.
|
|
46
45
|
* - no creds → "[glen] not set up on this machine — ask the user whether
|
|
47
46
|
* to set up glen, then use the setup skill."
|
|
48
47
|
* - creds, no org → "[glen] no org selected — ask the user whether to set up
|
|
49
48
|
* glen, then use the setup skill."
|
|
50
49
|
* 5. Always exit 0 — this hook must never block a session.
|
|
51
50
|
*/
|
|
52
|
-
const sessionStart = async () => {
|
|
51
|
+
const sessionStart = async (agent) => {
|
|
53
52
|
// Background maintenance (self-update TTL check, plugin upgrades, codex
|
|
54
53
|
// hooks self-heal) runs in a detached `glen doctor --auto` — one child,
|
|
55
54
|
// never blocks the hook turn.
|
|
@@ -66,9 +65,14 @@ const sessionStart = async () => {
|
|
|
66
65
|
return null;
|
|
67
66
|
}
|
|
68
67
|
})();
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
const sessionId = typeof event?.session_id === "string"
|
|
69
|
+
? event.session_id
|
|
70
|
+
: typeof event?.conversation_id === "string"
|
|
71
|
+
? event.conversation_id
|
|
72
|
+
: null;
|
|
73
|
+
if (sessionId) {
|
|
74
|
+
const cwd = typeof event?.cwd === "string" ? event.cwd : process.cwd();
|
|
75
|
+
await recordSession(cwd, sessionId);
|
|
72
76
|
}
|
|
73
77
|
const [credentials, state] = await Promise.all([
|
|
74
78
|
readCredentials(),
|
|
@@ -91,6 +95,22 @@ const sessionStart = async () => {
|
|
|
91
95
|
: state?.mode === "incognito"
|
|
92
96
|
? "glen: incognito is ON — nothing will be recorded. Run `glen on` to resume."
|
|
93
97
|
: undefined;
|
|
98
|
+
if (agent === "cursor") {
|
|
99
|
+
// Cursor has no user-facing notice channel (no systemMessage field), so the
|
|
100
|
+
// off/incognito notice rides additional_context; it contains no memory.
|
|
101
|
+
const healthy = Boolean(credentials && state && state.mode !== "off");
|
|
102
|
+
const searchNudge = '[glen] Cursor cannot inject team memory per turn — for anything the user references from past team work (decisions, discussions, prior fixes), run `glen search "<topic>"` via the shell and treat its output as team memory.';
|
|
103
|
+
const combined = [
|
|
104
|
+
systemMessage,
|
|
105
|
+
additionalContext,
|
|
106
|
+
healthy ? searchNudge : "",
|
|
107
|
+
]
|
|
108
|
+
.filter(Boolean)
|
|
109
|
+
.join("\n\n");
|
|
110
|
+
if (combined)
|
|
111
|
+
process.stdout.write(JSON.stringify({ additional_context: combined }));
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
94
114
|
const output = {
|
|
95
115
|
hookSpecificOutput: {
|
|
96
116
|
hookEventName: "SessionStart",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../src/commands/session-start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,iFAAiF;AACjF,sCAAsC;AACtC,MAAM,SAAS,GAAG,KAAK,IAAqB,EAAE;IAC5C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC,CAAC,wCAAwC;IAC5E,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;IACtE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,2EAA2E;AAC3E,+EAA+E;AAC/E,4EAA4E;AAC5E,MAAM,eAAe,GAAG,GAAS,EAAE;IACjC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,KAAK,CACb,OAAO,CAAC,QAAQ,EAChB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAC/C,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpC,CAAC;QACF,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACjB,iBAAiB;QACnB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,KAAK,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;AACH,CAAC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../src/commands/session-start.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,8 @@ const uninstall = async () => {
|
|
|
31
31
|
}
|
|
32
32
|
const codexInstalled = isInstalled("codex");
|
|
33
33
|
const claudeInstalled = isInstalled("claude");
|
|
34
|
-
|
|
34
|
+
const cursorInstalled = isInstalled("cursor");
|
|
35
|
+
if (codexInstalled || claudeInstalled || cursorInstalled) {
|
|
35
36
|
process.stdout.write("\n To remove the plugins themselves:\n");
|
|
36
37
|
if (codexInstalled) {
|
|
37
38
|
process.stdout.write(" codex plugin remove glen\n");
|
|
@@ -39,6 +40,9 @@ const uninstall = async () => {
|
|
|
39
40
|
if (claudeInstalled) {
|
|
40
41
|
process.stdout.write(" claude plugin uninstall glen@glen\n");
|
|
41
42
|
}
|
|
43
|
+
if (cursorInstalled) {
|
|
44
|
+
process.stdout.write(" Cursor: remove the glen plugin from Cursor's plugin settings (no CLI)\n");
|
|
45
|
+
}
|
|
42
46
|
}
|
|
43
47
|
const profile = loginProfileForShell();
|
|
44
48
|
if (profile) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAe,GAAG,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,SAAS,GAAG,KAAK,IAAqC,EAAE;IAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAErD,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACxD,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0DAA0D,CAC3D,CAAC;QACF,MAAM,CAAC,GAAG,MAAM,mBAAmB,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,GAAG,CACR,MAAM,CAAC;gBACL,IAAI,EAAE,8BAA8B;gBACpC,GAAG,EAAE,CAAC,CAAC,KAAK;gBACZ,MAAM,EACJ,mGAAmG;aACtG,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uEAAuE;YACrE,0DAA0D,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,cAAc,IAAI,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAe,GAAG,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,SAAS,GAAG,KAAK,IAAqC,EAAE;IAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAErD,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACxD,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0DAA0D,CAC3D,CAAC;QACF,MAAM,CAAC,GAAG,MAAM,mBAAmB,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,GAAG,CACR,MAAM,CAAC;gBACL,IAAI,EAAE,8BAA8B;gBACpC,GAAG,EAAE,CAAC,CAAC,KAAK;gBACZ,MAAM,EACJ,mGAAmG;aACtG,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uEAAuE;YACrE,0DAA0D,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,cAAc,IAAI,eAAe,IAAI,eAAe,EAAE,CAAC;QACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAChE,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6EAA6E,CAC9E,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wCAAwC,OAAO,CAAC,WAAW,IAAI,CAChE,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,SAAS,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,KAAK,CACzD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wFAAwF,CACzF,CAAC;IACF,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"}
|