@tryglen/cli 0.36.0 → 0.36.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/README.md +39 -27
- package/dist/_utils/agent-adapter.d.ts +0 -15
- package/dist/_utils/agent-adapter.js +0 -20
- package/dist/_utils/agent-adapter.js.map +1 -1
- package/dist/_utils/agents-table.js +1 -9
- package/dist/_utils/agents-table.js.map +1 -1
- package/dist/_utils/cli-error.js +0 -3
- package/dist/_utils/cli-error.js.map +1 -1
- package/dist/_utils/codex-app-server.js +0 -2
- package/dist/_utils/codex-app-server.js.map +1 -1
- package/dist/_utils/codex-hooks-merge.js +0 -11
- package/dist/_utils/codex-hooks-merge.js.map +1 -1
- package/dist/_utils/codex-hooks-setup.js +0 -18
- package/dist/_utils/codex-hooks-setup.js.map +1 -1
- package/dist/_utils/codex-paths.js +0 -3
- package/dist/_utils/codex-paths.js.map +1 -1
- package/dist/_utils/codex-repair-trace.js +0 -3
- package/dist/_utils/codex-repair-trace.js.map +1 -1
- package/dist/_utils/codex-trust-toml.js +1 -9
- package/dist/_utils/codex-trust-toml.js.map +1 -1
- package/dist/_utils/collect-import-files.js +0 -7
- package/dist/_utils/collect-import-files.js.map +1 -1
- package/dist/_utils/config.js +0 -4
- package/dist/_utils/config.js.map +1 -1
- package/dist/_utils/confirm.js +2 -10
- package/dist/_utils/confirm.js.map +1 -1
- package/dist/_utils/credentials.js +0 -3
- package/dist/_utils/credentials.js.map +1 -1
- package/dist/_utils/detect-transcript-format.js +0 -7
- package/dist/_utils/detect-transcript-format.js.map +1 -1
- package/dist/_utils/ensure-global-cli.d.ts +0 -12
- package/dist/_utils/ensure-global-cli.js +1 -28
- package/dist/_utils/ensure-global-cli.js.map +1 -1
- package/dist/_utils/ephemeral-session.js +3 -24
- package/dist/_utils/ephemeral-session.js.map +1 -1
- package/dist/_utils/extract-claude-segments.js +1 -5
- package/dist/_utils/extract-claude-segments.js.map +1 -1
- package/dist/_utils/extract-codex-segments.js +0 -9
- package/dist/_utils/extract-codex-segments.js.map +1 -1
- package/dist/_utils/extract-pi-segments.js +1 -5
- package/dist/_utils/extract-pi-segments.js.map +1 -1
- package/dist/_utils/find-bin.js +0 -8
- package/dist/_utils/find-bin.js.map +1 -1
- package/dist/_utils/format-search-result.js +3 -19
- package/dist/_utils/format-search-result.js.map +1 -1
- package/dist/_utils/format-turn-nudges.js +2 -20
- package/dist/_utils/format-turn-nudges.js.map +1 -1
- package/dist/_utils/git-context.d.ts +0 -2
- package/dist/_utils/git-context.js +1 -33
- package/dist/_utils/git-context.js.map +1 -1
- package/dist/_utils/git-hook-setup.js +0 -1
- package/dist/_utils/git-hook-setup.js.map +1 -1
- package/dist/_utils/glen-headers.js +1 -4
- package/dist/_utils/glen-headers.js.map +1 -1
- package/dist/_utils/http.js +1 -8
- package/dist/_utils/http.js.map +1 -1
- package/dist/_utils/idempotency-key.js +1 -4
- package/dist/_utils/idempotency-key.js.map +1 -1
- package/dist/_utils/indicator-app.js +4 -26
- package/dist/_utils/indicator-app.js.map +1 -1
- package/dist/_utils/indicator-health.js +0 -6
- package/dist/_utils/indicator-health.js.map +1 -1
- package/dist/_utils/ingest-diagnosis.js +0 -5
- package/dist/_utils/ingest-diagnosis.js.map +1 -1
- package/dist/_utils/ingest-heartbeat.js +1 -6
- package/dist/_utils/ingest-heartbeat.js.map +1 -1
- package/dist/_utils/install-receipt.js +0 -3
- package/dist/_utils/install-receipt.js.map +1 -1
- package/dist/_utils/jcode-bundle.js +0 -7
- package/dist/_utils/jcode-bundle.js.map +1 -1
- package/dist/_utils/jcode-event.js +2 -18
- package/dist/_utils/jcode-event.js.map +1 -1
- package/dist/_utils/jcode-hook-lines.js +1 -5
- package/dist/_utils/jcode-hook-lines.js.map +1 -1
- package/dist/_utils/jcode-hooks-toml.js +1 -9
- package/dist/_utils/jcode-hooks-toml.js.map +1 -1
- package/dist/_utils/jcode-paths.js +0 -3
- package/dist/_utils/jcode-paths.js.map +1 -1
- package/dist/_utils/jcode-setup.js +0 -7
- package/dist/_utils/jcode-setup.js.map +1 -1
- package/dist/_utils/jcode-skills-sync.js +1 -6
- package/dist/_utils/jcode-skills-sync.js.map +1 -1
- package/dist/_utils/login-check.js +1 -4
- package/dist/_utils/login-check.js.map +1 -1
- package/dist/_utils/managed-block.js +0 -4
- package/dist/_utils/managed-block.js.map +1 -1
- package/dist/_utils/normalize-boolean-flags.js +2 -7
- package/dist/_utils/normalize-boolean-flags.js.map +1 -1
- package/dist/_utils/open-browser.js +1 -3
- package/dist/_utils/open-browser.js.map +1 -1
- package/dist/_utils/parse-claude-transcript.js +4 -24
- package/dist/_utils/parse-claude-transcript.js.map +1 -1
- package/dist/_utils/parse-codex-transcript.js +1 -22
- package/dist/_utils/parse-codex-transcript.js.map +1 -1
- package/dist/_utils/parse-cursor-db.js +2 -21
- package/dist/_utils/parse-cursor-db.js.map +1 -1
- package/dist/_utils/parse-jcode-session.js +0 -15
- package/dist/_utils/parse-jcode-session.js.map +1 -1
- package/dist/_utils/parse-pi-transcript.js +1 -35
- package/dist/_utils/parse-pi-transcript.js.map +1 -1
- package/dist/_utils/parse-transcript.js +1 -9
- package/dist/_utils/parse-transcript.js.map +1 -1
- package/dist/_utils/plugin-status.js +0 -19
- package/dist/_utils/plugin-status.js.map +1 -1
- package/dist/_utils/post-route.js +0 -7
- package/dist/_utils/post-route.js.map +1 -1
- package/dist/_utils/pr-review-link.js +0 -2
- package/dist/_utils/pr-review-link.js.map +1 -1
- package/dist/_utils/proactive-ticket-log.js +1 -11
- package/dist/_utils/proactive-ticket-log.js.map +1 -1
- package/dist/_utils/record-commit-anchor.js +1 -8
- package/dist/_utils/record-commit-anchor.js.map +1 -1
- package/dist/_utils/refresh-control-state.js +1 -7
- package/dist/_utils/refresh-control-state.js.map +1 -1
- package/dist/_utils/render-callback-page.js +0 -7
- package/dist/_utils/render-callback-page.js.map +1 -1
- package/dist/_utils/resolve-import-workspace.d.ts +0 -7
- package/dist/_utils/resolve-import-workspace.js +1 -13
- package/dist/_utils/resolve-import-workspace.js.map +1 -1
- package/dist/_utils/run-bin.js +0 -2
- package/dist/_utils/run-bin.js.map +1 -1
- package/dist/_utils/session-map.js +0 -5
- package/dist/_utils/session-map.js.map +1 -1
- package/dist/_utils/shell-profile.js +1 -28
- package/dist/_utils/shell-profile.js.map +1 -1
- package/dist/_utils/state-line-memo.d.ts +0 -6
- package/dist/_utils/state-line-memo.js +3 -18
- package/dist/_utils/state-line-memo.js.map +1 -1
- package/dist/_utils/state-line.js +0 -4
- package/dist/_utils/state-line.js.map +1 -1
- package/dist/_utils/state.js +0 -5
- package/dist/_utils/state.js.map +1 -1
- package/dist/_utils/sync-mode-from-server.d.ts +0 -18
- package/dist/_utils/sync-mode-from-server.js +2 -21
- package/dist/_utils/sync-mode-from-server.js.map +1 -1
- package/dist/_utils/transcript-turns.js +1 -51
- package/dist/_utils/transcript-turns.js.map +1 -1
- package/dist/_utils/turn-cache.js +1 -8
- package/dist/_utils/turn-cache.js.map +1 -1
- package/dist/_utils/update.d.ts +0 -10
- package/dist/_utils/update.js +8 -30
- package/dist/_utils/update.js.map +1 -1
- package/dist/_utils/version.js +3 -6
- package/dist/_utils/version.js.map +1 -1
- package/dist/_utils/which.d.ts +0 -5
- package/dist/_utils/which.js +0 -5
- package/dist/_utils/which.js.map +1 -1
- package/dist/_utils/write-commit-trailer.js +1 -5
- package/dist/_utils/write-commit-trailer.js.map +1 -1
- package/dist/bin.js +6 -25
- package/dist/bin.js.map +1 -1
- package/dist/commands/_utils/materialize-skill.js +4 -34
- package/dist/commands/_utils/materialize-skill.js.map +1 -1
- package/dist/commands/_utils/pack-skill-dir.js +6 -27
- package/dist/commands/_utils/pack-skill-dir.js.map +1 -1
- package/dist/commands/artifact.js +2 -5
- package/dist/commands/artifact.js.map +1 -1
- package/dist/commands/code-search.js +0 -6
- package/dist/commands/code-search.js.map +1 -1
- package/dist/commands/doctor.d.ts +0 -17
- package/dist/commands/doctor.js +15 -79
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/feedback.js +2 -10
- package/dist/commands/feedback.js.map +1 -1
- package/dist/commands/git-hooks.js +0 -3
- package/dist/commands/git-hooks.js.map +1 -1
- package/dist/commands/import.js +5 -27
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/incognito.d.ts +0 -5
- package/dist/commands/incognito.js +0 -5
- package/dist/commands/incognito.js.map +1 -1
- package/dist/commands/indicator.d.ts +0 -1
- package/dist/commands/indicator.js +0 -1
- package/dist/commands/indicator.js.map +1 -1
- package/dist/commands/ingest.js +37 -111
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/install.js +7 -93
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/invite.d.ts +0 -6
- package/dist/commands/invite.js +0 -16
- package/dist/commands/invite.js.map +1 -1
- package/dist/commands/login.js +0 -15
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/onboard.js +0 -6
- package/dist/commands/onboard.js.map +1 -1
- package/dist/commands/org.js +0 -2
- package/dist/commands/org.js.map +1 -1
- package/dist/commands/pr-link.js +2 -15
- package/dist/commands/pr-link.js.map +1 -1
- package/dist/commands/search.js +0 -5
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/session-start.d.ts +0 -21
- package/dist/commands/session-start.js +6 -65
- package/dist/commands/session-start.js.map +1 -1
- package/dist/commands/set-mode.d.ts +0 -6
- package/dist/commands/set-mode.js +2 -12
- package/dist/commands/set-mode.js.map +1 -1
- package/dist/commands/skill.js +5 -35
- package/dist/commands/skill.js.map +1 -1
- package/dist/commands/statusline.d.ts +0 -13
- package/dist/commands/statusline.js +0 -15
- package/dist/commands/statusline.js.map +1 -1
- package/dist/commands/suggestions.d.ts +0 -6
- package/dist/commands/suggestions.js +0 -7
- package/dist/commands/suggestions.js.map +1 -1
- package/dist/commands/takeover/_utils/agent-paths.js +2 -3
- package/dist/commands/takeover/_utils/agent-paths.js.map +1 -1
- package/dist/commands/takeover/_utils/cursor-store.js +1 -3
- package/dist/commands/takeover/_utils/cursor-store.js.map +1 -1
- package/dist/commands/takeover/_utils/write-codex-desktop-session.js +1 -4
- package/dist/commands/takeover/_utils/write-codex-desktop-session.js.map +1 -1
- package/dist/commands/takeover/_utils/write-codex-session.js +1 -2
- package/dist/commands/takeover/_utils/write-codex-session.js.map +1 -1
- package/dist/commands/uninstall.d.ts +0 -1
- package/dist/commands/uninstall.js +3 -7
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts +0 -10
- package/dist/commands/update.js +4 -32
- package/dist/commands/update.js.map +1 -1
- package/dist/jcode/plugin.json +1 -1
- package/package.json +1 -1
package/dist/commands/install.js
CHANGED
|
@@ -24,16 +24,8 @@ import { addGlenLoginCheckBlock, loginProfileForShell, } from "../_utils/shell-p
|
|
|
24
24
|
import { statePath } from "../_utils/state.js";
|
|
25
25
|
import { isInstalled } from "../_utils/which.js";
|
|
26
26
|
import { login } from "./login.js";
|
|
27
|
-
// ---------------------------------------------------------------------------
|
|
28
|
-
// Settings path (GLEN_CLAUDE_SETTINGS_PATH env var is for test overrides only)
|
|
29
|
-
// ---------------------------------------------------------------------------
|
|
30
27
|
const claudeSettingsPath = () => process.env.GLEN_CLAUDE_SETTINGS_PATH ??
|
|
31
28
|
join(homedir(), ".claude", "settings.json");
|
|
32
|
-
// ---------------------------------------------------------------------------
|
|
33
|
-
// Path overrides (--claude-path / --codex-path / --pi-path) — validated and
|
|
34
|
-
// persisted to ~/.glen/agents.json BEFORE detection, so findBin picks them up
|
|
35
|
-
// immediately.
|
|
36
|
-
// ---------------------------------------------------------------------------
|
|
37
29
|
const applyPathOverrides = async (paths) => {
|
|
38
30
|
for (const bin of ["claude", "codex", "pi", "jcode"]) {
|
|
39
31
|
const path = paths?.[bin];
|
|
@@ -59,9 +51,6 @@ const applyPathOverrides = async (paths) => {
|
|
|
59
51
|
}
|
|
60
52
|
return ok(undefined);
|
|
61
53
|
};
|
|
62
|
-
// ---------------------------------------------------------------------------
|
|
63
|
-
// Step label: last two args make a readable name ("marketplace add", "install glen@glen")
|
|
64
|
-
// ---------------------------------------------------------------------------
|
|
65
54
|
const stepLabel = (step) => step.slice(1).join(" ");
|
|
66
55
|
const recordInstallerStatePaths = async () => {
|
|
67
56
|
const paths = [
|
|
@@ -77,13 +66,6 @@ const recordInstallerStatePaths = async () => {
|
|
|
77
66
|
}
|
|
78
67
|
}
|
|
79
68
|
};
|
|
80
|
-
// ---------------------------------------------------------------------------
|
|
81
|
-
// Statusline for Claude Code — configured by default (no opt-in prompt).
|
|
82
|
-
// An existing statusLine is never overwritten; we print a merge note instead.
|
|
83
|
-
// ---------------------------------------------------------------------------
|
|
84
|
-
// Read + parse the settings file. Missing file → empty settings; an
|
|
85
|
-
// unreadable/corrupt file → the root-cause parse error (kept so the user
|
|
86
|
-
// sees WHY their settings file was rejected, not just that it was).
|
|
87
69
|
const readClaudeSettings = async (filePath) => {
|
|
88
70
|
const rawResult = await fromPromise(readFile(filePath, "utf-8"));
|
|
89
71
|
if (!rawResult.ok)
|
|
@@ -101,8 +83,6 @@ const readClaudeSettings = async (filePath) => {
|
|
|
101
83
|
const handleClaudeStatusline = async () => {
|
|
102
84
|
const filePath = claudeSettingsPath();
|
|
103
85
|
const read = await readClaudeSettings(filePath);
|
|
104
|
-
// Corrupt JSON: structured inline error (statusline failure must not abort
|
|
105
|
-
// the install) — tell the user exactly what to fix and what to add.
|
|
106
86
|
if ("parseError" in read) {
|
|
107
87
|
process.stdout.write(formatCliError(cliErr({
|
|
108
88
|
what: "~/.claude/settings.json is not valid JSON",
|
|
@@ -113,14 +93,12 @@ const handleClaudeStatusline = async () => {
|
|
|
113
93
|
return;
|
|
114
94
|
}
|
|
115
95
|
const existingSettings = read.settings;
|
|
116
|
-
// If statusLine already exists, print snippet + merge note; do NOT touch
|
|
117
96
|
if ("statusLine" in existingSettings) {
|
|
118
97
|
process.stdout.write(" ℹ statusLine already configured. To add glen, merge this into your existing command:\n");
|
|
119
98
|
process.stdout.write(` "statusLine": { "type": "command", "command": "glen statusline" }\n`);
|
|
120
99
|
process.stdout.write(` (manual merge required — glen won't overwrite your existing statusLine)\n`);
|
|
121
100
|
return;
|
|
122
101
|
}
|
|
123
|
-
// Write back with statusLine key added — atomic tmp+rename
|
|
124
102
|
const updated = {
|
|
125
103
|
...existingSettings,
|
|
126
104
|
statusLine: { type: "command", command: "glen statusline" },
|
|
@@ -162,16 +140,10 @@ const handleClaudeStatusline = async () => {
|
|
|
162
140
|
}
|
|
163
141
|
process.stdout.write(" ✓ statusline configured\n");
|
|
164
142
|
};
|
|
165
|
-
// ---------------------------------------------------------------------------
|
|
166
|
-
// Post-install actions per agent. Returns true when the post-install fully
|
|
167
|
-
// succeeded (codex: hooks registered AND trusted; claude: always true).
|
|
168
|
-
// ---------------------------------------------------------------------------
|
|
169
143
|
const handlePostInstall = async (agent) => {
|
|
170
144
|
if (agent.postInstall === "codex") {
|
|
171
|
-
// Codex never fires plugin-manifest hooks (openai/codex#16430), so
|
|
172
|
-
//
|
|
173
|
-
// and auto-trust them ([hooks.state] in ~/.codex/config.toml) —
|
|
174
|
-
// running `glen install` is the consent moment.
|
|
145
|
+
// Codex never fires plugin-manifest hooks (openai/codex#16430), so register them in ~/.codex/hooks.json
|
|
146
|
+
// and auto-trust them; running `glen install` is the consent moment.
|
|
175
147
|
process.stdout.write("\n Registering glen hooks in Codex's user config layer\n" +
|
|
176
148
|
" (workaround for openai/codex#16430 — plugin hooks don't fire):\n");
|
|
177
149
|
const r = await installCodexHooks();
|
|
@@ -190,7 +162,6 @@ const handlePostInstall = async (agent) => {
|
|
|
190
162
|
}
|
|
191
163
|
const glenHooks = verify.value.filter((e) => e.source === "user" &&
|
|
192
164
|
e.command.trimStart().startsWith(GLEN_OWNER_PREFIX));
|
|
193
|
-
// Empty listing → a "verified trusted" ✓ would be vacuous.
|
|
194
165
|
if (glenHooks.length === 0) {
|
|
195
166
|
process.stdout.write(" ⚠ could not verify hook trust — run `glen doctor` after install\n");
|
|
196
167
|
return false;
|
|
@@ -208,25 +179,15 @@ const handlePostInstall = async (agent) => {
|
|
|
208
179
|
return false;
|
|
209
180
|
}
|
|
210
181
|
if (agent.postInstall === "claude") {
|
|
211
|
-
// No prompt — statusline setup is non-interactive, so it runs in both
|
|
212
|
-
// interactive and scripted (--agent) installs.
|
|
213
182
|
await handleClaudeStatusline();
|
|
214
183
|
process.stdout.write("\n Tip: enable auto-update for the glen marketplace in /plugin → Marketplaces.\n");
|
|
215
184
|
}
|
|
216
185
|
if (agent.postInstall === "pi") {
|
|
217
|
-
// Pi loads extensions at startup — an already-running pi needs a reload
|
|
218
|
-
// before the glen extension (and its hooks) exist in the session.
|
|
219
186
|
process.stdout.write("\n Restart pi (or run /reload inside pi) to load the glen extension.\n");
|
|
220
187
|
}
|
|
221
188
|
return true;
|
|
222
189
|
};
|
|
223
|
-
// jcode is not an AGENTS entry (no bin steps, no plugin CLI) — a sentinel
|
|
224
|
-
// choice represents it in `selected` so the same multiselect/scripted-agent
|
|
225
|
-
// flow can carry it through to the install loop below.
|
|
226
190
|
const JCODE_CHOICE = { name: "jcode", bin: "jcode" };
|
|
227
|
-
// jcode has no plugin CLI — the install IS a set of file edits under ~/.jcode
|
|
228
|
-
// (hooks in config.toml, managed prompt blocks, owned skill dirs). Returns
|
|
229
|
-
// true when everything converged.
|
|
230
191
|
const handleJcodeInstall = async () => {
|
|
231
192
|
process.stdout.write("\n Installing jcode plugin (file-based — jcode has no plugin CLI):\n");
|
|
232
193
|
const r = await installJcode();
|
|
@@ -245,10 +206,6 @@ const handleJcodeInstall = async () => {
|
|
|
245
206
|
" jcode can't display glen's status; check it with `glen status`.\n");
|
|
246
207
|
return true;
|
|
247
208
|
};
|
|
248
|
-
// ---------------------------------------------------------------------------
|
|
249
|
-
// Connect prompt — both install paths end here so a fresh user always gets
|
|
250
|
-
// nudged into `glen login`. Never prompts when non-interactive or logged in.
|
|
251
|
-
// ---------------------------------------------------------------------------
|
|
252
209
|
const promptConnect = async () => {
|
|
253
210
|
const creds = await readCredentials();
|
|
254
211
|
if (creds)
|
|
@@ -257,8 +214,7 @@ const promptConnect = async () => {
|
|
|
257
214
|
process.stdout.write(" Run `glen login` to connect your account.\n\n");
|
|
258
215
|
return;
|
|
259
216
|
}
|
|
260
|
-
//
|
|
261
|
-
// prompts@2.4.2 crashes the process on escape-prefixed keypresses).
|
|
217
|
+
// Not `prompts`' confirm: prompts@2.4.2 crashes on escape-prefixed keypresses.
|
|
262
218
|
const connect = await confirmYesNo({
|
|
263
219
|
message: "Connect your glen account now?",
|
|
264
220
|
initial: true,
|
|
@@ -273,9 +229,6 @@ const promptConnect = async () => {
|
|
|
273
229
|
process.stdout.write(" Run `glen login` to try again.\n\n");
|
|
274
230
|
}
|
|
275
231
|
};
|
|
276
|
-
// The menu bar indicator is on by default — it is the only surface that tells
|
|
277
|
-
// desktop-app users their recording state. Non-fatal: a failure here must not
|
|
278
|
-
// fail the plugin install.
|
|
279
232
|
const setUpIndicator = async () => {
|
|
280
233
|
if (process.platform !== "darwin")
|
|
281
234
|
return;
|
|
@@ -285,8 +238,6 @@ const setUpIndicator = async () => {
|
|
|
285
238
|
? " ✓ menu bar indicator started — run `glen indicator stop` to hide it\n"
|
|
286
239
|
: " ⚠ could not start the menu bar indicator — run `glen doctor` for details\n");
|
|
287
240
|
};
|
|
288
|
-
// In scripted mode (--agent) never open an interactive prompt — print the
|
|
289
|
-
// login hint instead. promptConnect itself already handles the non-TTY case.
|
|
290
241
|
const connectOrHint = async (agentBin) => {
|
|
291
242
|
await setUpIndicator();
|
|
292
243
|
if (agentBin === undefined) {
|
|
@@ -299,8 +250,7 @@ const connectOrHint = async (agentBin) => {
|
|
|
299
250
|
}
|
|
300
251
|
};
|
|
301
252
|
const reportInstallCompletion = async (install, agentBin) => {
|
|
302
|
-
//
|
|
303
|
-
// outbox, which report-cli-install clears a few lines below.
|
|
253
|
+
// Recorded before the pending outbox, which report-cli-install clears below.
|
|
304
254
|
await installReceipt.recordInstalledAt(new Date().toISOString());
|
|
305
255
|
await installReceipt.recordPendingInstall({
|
|
306
256
|
...install,
|
|
@@ -309,12 +259,8 @@ const reportInstallCompletion = async (install, agentBin) => {
|
|
|
309
259
|
await connectOrHint(agentBin);
|
|
310
260
|
await reportCliInstall();
|
|
311
261
|
};
|
|
312
|
-
//
|
|
313
|
-
//
|
|
314
|
-
// PATH, but the plugins' hooks shell out to `glen`. Ensure one exists before
|
|
315
|
-
// installing plugins; every failure warns and continues (the hooks fail open,
|
|
316
|
-
// and the plugins start working the moment a binary appears).
|
|
317
|
-
// ---------------------------------------------------------------------------
|
|
262
|
+
// npx doesn't link `glen` onto PATH, but plugin hooks shell out to it.
|
|
263
|
+
// Every failure warns and continues: hooks fail open until a binary appears.
|
|
318
264
|
const ensureCliBinary = async () => {
|
|
319
265
|
const outcome = ensureGlobalCli((hadExisting) => {
|
|
320
266
|
process.stdout.write(hadExisting
|
|
@@ -343,17 +289,12 @@ const ensureCliBinary = async () => {
|
|
|
343
289
|
? ` ⚠ Couldn't update your older glen.\n${permissionHint}${manualInstallHint}\n`
|
|
344
290
|
: ` ⚠ Couldn't install the glen command — the plugins won't work without it.\n${permissionHint}${manualInstallHint}\n`);
|
|
345
291
|
};
|
|
346
|
-
// ---------------------------------------------------------------------------
|
|
347
|
-
// Main install command
|
|
348
|
-
// ---------------------------------------------------------------------------
|
|
349
292
|
const install = async (agentBin, paths) => {
|
|
350
293
|
process.stdout.write("\n 🏔️ glen — install agent plugins\n\n");
|
|
351
294
|
const overrides = await applyPathOverrides(paths);
|
|
352
295
|
if (!overrides.ok)
|
|
353
296
|
return overrides;
|
|
354
297
|
await recordInstallerStatePaths();
|
|
355
|
-
// Login-check fence: warns on SSH login when this machine never ingests.
|
|
356
|
-
// Unsupported shells (loginProfileForShell → null) get no write, no error.
|
|
357
298
|
const profile = loginProfileForShell();
|
|
358
299
|
if (profile) {
|
|
359
300
|
const fence = await addGlenLoginCheckBlock(profile.profilePath);
|
|
@@ -363,13 +304,10 @@ const install = async (agentBin, paths) => {
|
|
|
363
304
|
process.stdout.write(` ✓ login-shell check added to ${profile.profilePath}\n`);
|
|
364
305
|
}
|
|
365
306
|
else {
|
|
366
|
-
// Non-fatal: the fence is a nicety, not a prerequisite for recording.
|
|
367
307
|
process.stdout.write(` ⚠ could not add the login-shell check to ${profile.profilePath} — run \`glen doctor\` to check recording later\n`);
|
|
368
308
|
}
|
|
369
309
|
}
|
|
370
310
|
await ensureCliBinary();
|
|
371
|
-
// Cursor has no plugin CLI (install is editor-side via /add-plugin) — the
|
|
372
|
-
// scripted path prints guided instructions instead of running steps.
|
|
373
311
|
const printCursorInstructions = () => {
|
|
374
312
|
process.stdout.write("\n Cursor plugin — install inside the editor (Cursor has no plugin CLI):\n" +
|
|
375
313
|
" 1. Open Cursor's agent chat and type: /add-plugin\n" +
|
|
@@ -388,17 +326,12 @@ const install = async (agentBin, paths) => {
|
|
|
388
326
|
const detected = AGENTS.filter((a) => isInstalled(a.bin));
|
|
389
327
|
const jcodeDetected = isInstalled("jcode");
|
|
390
328
|
if (detected.length === 0 && !jcodeDetected) {
|
|
391
|
-
// Cursor has no plugin CLI — its install is editor-side only, so it is
|
|
392
|
-
// not in AGENTS and never appears in `detected`. Handle it as a success
|
|
393
|
-
// case: print guided instructions and return ok.
|
|
394
329
|
if (isInstalled("cursor")) {
|
|
395
330
|
process.stdout.write(" Detected coding agents:\n ✓ Cursor (cursor) — editor-side install\n\n");
|
|
396
331
|
printCursorInstructions();
|
|
397
332
|
await reportInstallCompletion({ agents: ["cursor"], outcome: "instructions" }, agentBin);
|
|
398
333
|
return ok(undefined);
|
|
399
334
|
}
|
|
400
|
-
// No login nudge here — a connect prompt before the user learns nothing
|
|
401
|
-
// was detected is confusing, and pointless without an agent to feed.
|
|
402
335
|
return err(cliErr({
|
|
403
336
|
what: "no coding agents detected",
|
|
404
337
|
why: "looked for `claude`, `codex`, and `pi` on PATH, in /opt/homebrew/bin, /usr/local/bin, ~/.local/bin, ~/bin, and via your login shell; for codex, also inside the Codex Desktop app bundle (/Applications/ChatGPT.app); also looked for the `cursor` launcher (Cursor installs are editor-side via /add-plugin); also looked for `jcode` (file-based install)",
|
|
@@ -416,11 +349,7 @@ const install = async (agentBin, paths) => {
|
|
|
416
349
|
process.stdout.write(" ✓ jcode (jcode) — file-based install\n");
|
|
417
350
|
}
|
|
418
351
|
process.stdout.write("\n");
|
|
419
|
-
// "claude-code" is the hook-line vocabulary (--agent claude-code) — accept
|
|
420
|
-
// it as an alias for the claude bin.
|
|
421
352
|
const normalized = agentBin === "claude-code" ? "claude" : agentBin;
|
|
422
|
-
// jcode is not an AGENTS entry (no bin steps) — a sentinel choice routes it
|
|
423
|
-
// to handleJcodeInstall in the loop below.
|
|
424
353
|
const selected = await (async () => {
|
|
425
354
|
if (normalized !== undefined) {
|
|
426
355
|
if (normalized === "jcode")
|
|
@@ -456,9 +385,6 @@ const install = async (agentBin, paths) => {
|
|
|
456
385
|
}
|
|
457
386
|
if (selected.length === 0) {
|
|
458
387
|
process.stdout.write(" No plugins selected.\n");
|
|
459
|
-
// In interactive mode, still show Cursor guidance when it's detected so
|
|
460
|
-
// the user knows how to install the Cursor plugin even if they selected
|
|
461
|
-
// nothing from the AGENTS multiselect.
|
|
462
388
|
if (agentBin === undefined && isInstalled("cursor")) {
|
|
463
389
|
printCursorInstructions();
|
|
464
390
|
}
|
|
@@ -467,17 +393,11 @@ const install = async (agentBin, paths) => {
|
|
|
467
393
|
}
|
|
468
394
|
const results = [];
|
|
469
395
|
for (const agent of selected) {
|
|
470
|
-
// jcode has no bin steps — route it to the file-based installer and
|
|
471
|
-
// skip the AGENTS step-runner code below (which expects a real `Agent`).
|
|
472
396
|
if (agent.bin === "jcode") {
|
|
473
397
|
results.push(await handleJcodeInstall());
|
|
474
398
|
continue;
|
|
475
399
|
}
|
|
476
|
-
// Resolve once per agent — every step runs against the same binary the
|
|
477
|
-
// detection (and any --<bin>-path override) found.
|
|
478
400
|
const resolvedBin = findBin(agent.bin) ?? agent.bin;
|
|
479
|
-
// Converge: already installed → run the update steps instead of failing
|
|
480
|
-
// the `plugin add/install` step on a re-run; unknown → attempt install.
|
|
481
401
|
const status = glenPluginStatus(agent.bin);
|
|
482
402
|
const converging = status === "installed";
|
|
483
403
|
process.stdout.write(converging
|
|
@@ -486,8 +406,7 @@ const install = async (agentBin, paths) => {
|
|
|
486
406
|
for (const step of converging ? agent.updateSteps : agent.steps) {
|
|
487
407
|
const label = stepLabel(step);
|
|
488
408
|
const r = runBin(resolvedBin, step);
|
|
489
|
-
//
|
|
490
|
-
// `plugin add` must not report "Done! … memory is active".
|
|
409
|
+
// A failed `plugin add` must not report "memory is active".
|
|
491
410
|
results.push(r.ok);
|
|
492
411
|
if (r.ok) {
|
|
493
412
|
process.stdout.write(` ${label}... ✓\n`);
|
|
@@ -500,17 +419,12 @@ const install = async (agentBin, paths) => {
|
|
|
500
419
|
}
|
|
501
420
|
results.push(await handlePostInstall(agent));
|
|
502
421
|
}
|
|
503
|
-
// Print Cursor instructions in the interactive flow when Cursor is detected —
|
|
504
|
-
// interactive users get the guided install alongside any scripted agents.
|
|
505
422
|
if (agentBin === undefined && isInstalled("cursor")) {
|
|
506
423
|
printCursorInstructions();
|
|
507
424
|
}
|
|
508
|
-
// Best-effort: install the prepare-commit-msg git hook when inside a git
|
|
509
|
-
// repo. A failure must never abort `glen install`.
|
|
510
425
|
if (gitContext(process.cwd()).repoName) {
|
|
511
426
|
const { installGitHooks } = await import("./git-hooks.js");
|
|
512
427
|
const gh = await installGitHooks({ absolute: false });
|
|
513
|
-
// best-effort: a hook-install failure must not fail `glen install`
|
|
514
428
|
if (!gh.ok)
|
|
515
429
|
process.stderr.write("note: skipped git-hook install (not fatal)\n");
|
|
516
430
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import { type CliError } from "../_utils/cli-error.js";
|
|
2
2
|
import { type Result } from "../_utils/result.js";
|
|
3
|
-
/**
|
|
4
|
-
* `glen invite <email> [more…] [--role admin]` — invite teammates to the active
|
|
5
|
-
* org by email. Mirrors the dashboard invite (same Better-Auth invitation +
|
|
6
|
-
* `/accept-invitation/<id>` flow), so a teammate accepts and lands straight in
|
|
7
|
-
* the shared memory. postRoute owns auth/426/no-org handling.
|
|
8
|
-
*/
|
|
9
3
|
declare const invite: (emails: string[], role: "member" | "admin") => Promise<Result<void, CliError>>;
|
|
10
4
|
export { invite };
|
package/dist/commands/invite.js
CHANGED
|
@@ -3,9 +3,6 @@ import { config } from "../_utils/config.js";
|
|
|
3
3
|
import { postRoute } from "../_utils/post-route.js";
|
|
4
4
|
import { err, ok } from "../_utils/result.js";
|
|
5
5
|
import { readState } from "../_utils/state.js";
|
|
6
|
-
// Pragmatic address check — the server validates authoritatively (zod .email()).
|
|
7
|
-
// We only catch obvious typos client-side so a bad arg fails fast without a round
|
|
8
|
-
// trip and without a confusing server error.
|
|
9
6
|
const EMAIL_RE = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
10
7
|
const asStringArray = (v) => Array.isArray(v) ? v.filter((x) => typeof x === "string") : [];
|
|
11
8
|
const asFailedArray = (v) => Array.isArray(v)
|
|
@@ -13,8 +10,6 @@ const asFailedArray = (v) => Array.isArray(v)
|
|
|
13
10
|
const row = x;
|
|
14
11
|
if (typeof row.email !== "string")
|
|
15
12
|
return [];
|
|
16
|
-
// exactOptionalPropertyTypes: only attach `reason` when it's a string,
|
|
17
|
-
// never as an explicit `undefined`.
|
|
18
13
|
return [
|
|
19
14
|
typeof row.reason === "string"
|
|
20
15
|
? { email: row.email, reason: row.reason }
|
|
@@ -22,19 +17,10 @@ const asFailedArray = (v) => Array.isArray(v)
|
|
|
22
17
|
];
|
|
23
18
|
})
|
|
24
19
|
: [];
|
|
25
|
-
/**
|
|
26
|
-
* `glen invite <email> [more…] [--role admin]` — invite teammates to the active
|
|
27
|
-
* org by email. Mirrors the dashboard invite (same Better-Auth invitation +
|
|
28
|
-
* `/accept-invitation/<id>` flow), so a teammate accepts and lands straight in
|
|
29
|
-
* the shared memory. postRoute owns auth/426/no-org handling.
|
|
30
|
-
*/
|
|
31
20
|
const invite = async (emails, role) => {
|
|
32
21
|
const cleaned = [
|
|
33
22
|
...new Set(emails.map((e) => e.trim().toLowerCase()).filter(Boolean)),
|
|
34
23
|
];
|
|
35
|
-
// No email given → print a shareable join link for the active org. Anyone who
|
|
36
|
-
// signs in with a verified email on the org's work-email domain joins
|
|
37
|
-
// automatically (gated server-side), so a leaked link is useless to outsiders.
|
|
38
24
|
if (cleaned.length === 0) {
|
|
39
25
|
const state = await readState();
|
|
40
26
|
if (!state?.activeOrgId)
|
|
@@ -64,8 +50,6 @@ const invite = async (emails, role) => {
|
|
|
64
50
|
process.stdout.write(`· ${e} is already a member\n`);
|
|
65
51
|
for (const f of failed)
|
|
66
52
|
process.stdout.write(`✗ Could not invite ${f.email}${f.reason ? ` (${f.reason})` : ""}\n`);
|
|
67
|
-
// Nothing landed and at least one address failed → surface a non-zero exit so
|
|
68
|
-
// scripts/agents notice. A mix (some sent, some already members) is success.
|
|
69
53
|
if (invited.length === 0 && alreadyMember.length === 0 && failed.length > 0)
|
|
70
54
|
return err(cliErr({
|
|
71
55
|
what: "no invitations were sent",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invite.js","sourceRoot":"","sources":["../../src/commands/invite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAe,GAAG,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,
|
|
1
|
+
{"version":3,"file":"invite.js","sourceRoot":"","sources":["../../src/commands/invite.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/login.js
CHANGED
|
@@ -6,13 +6,9 @@ import { openBrowser } from "../_utils/open-browser.js";
|
|
|
6
6
|
import { reportCliInstall } from "../_utils/report-cli-install.js";
|
|
7
7
|
import { err, ok } from "../_utils/result.js";
|
|
8
8
|
import { writeState } from "../_utils/state.js";
|
|
9
|
-
// Fallbacks if the server payload omits pacing hints; the server currently sends
|
|
10
|
-
// expiresIn: 600 / interval: 5 and we never poll faster or longer than these caps.
|
|
11
9
|
const MAX_WAIT_S = 10 * 60;
|
|
12
10
|
const MIN_INTERVAL_S = 5;
|
|
13
11
|
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
14
|
-
// Defensively narrow the start payload — all four fields must be present and
|
|
15
|
-
// well-typed or we treat the bootstrap as failed (never openBrowser on junk).
|
|
16
12
|
const parseStart = (json) => {
|
|
17
13
|
const p = json;
|
|
18
14
|
if (!p ||
|
|
@@ -34,8 +30,6 @@ const parseStart = (json) => {
|
|
|
34
30
|
: MIN_INTERVAL_S, MIN_INTERVAL_S),
|
|
35
31
|
};
|
|
36
32
|
};
|
|
37
|
-
// Poll the token endpoint until the browser approval lands, the code expires, or
|
|
38
|
-
// the deadline passes. Returns the mint payload ({ apikey, org }) on success.
|
|
39
33
|
const pollForApproval = async (input) => {
|
|
40
34
|
for (;;) {
|
|
41
35
|
if (Date.now() >= input.deadline)
|
|
@@ -56,8 +50,6 @@ const pollForApproval = async (input) => {
|
|
|
56
50
|
remedy: networkRemedy(polled.error),
|
|
57
51
|
}));
|
|
58
52
|
if (!polled.value.isOk) {
|
|
59
|
-
// The server collapses unknown/expired/already-used to one generic
|
|
60
|
-
// invalid_grant — from here that simply means this login can't complete.
|
|
61
53
|
return err(cliErr({
|
|
62
54
|
what: "login expired or was cancelled",
|
|
63
55
|
why: polled.value.rawText.length > 0
|
|
@@ -102,9 +94,6 @@ const login = async () => {
|
|
|
102
94
|
what: "login bootstrap returned an unexpected response",
|
|
103
95
|
remedy: "retry `glen login`; if it persists, contact support",
|
|
104
96
|
}));
|
|
105
|
-
// The code + URL are the flow: they work from ANY browser on ANY device (SSH,
|
|
106
|
-
// containers), while the prefilled-URL browser open is a convenience for the
|
|
107
|
-
// local case. openBrowser is fire-and-forget — failure just means typing the code.
|
|
108
97
|
process.stdout.write(`To connect glen, visit:\n\n ${start.verificationUri}\n\nand enter the code:\n\n ${start.userCode}\n\n`);
|
|
109
98
|
process.stdout.write("Opening your browser with the code prefilled…\n");
|
|
110
99
|
openBrowser(start.verificationUriComplete);
|
|
@@ -128,8 +117,6 @@ const login = async () => {
|
|
|
128
117
|
path: credentialsPath(),
|
|
129
118
|
remedy: "check ownership of ~/.glen (e.g. `sudo chown -R $USER ~/.glen`) and retry",
|
|
130
119
|
}));
|
|
131
|
-
// Defensively parse the org from the mint payload.
|
|
132
|
-
// All three fields must be strings; anything else is treated as null.
|
|
133
120
|
const rawOrg = payload.org ?? null;
|
|
134
121
|
const org = rawOrg !== null &&
|
|
135
122
|
typeof rawOrg === "object" &&
|
|
@@ -150,8 +137,6 @@ const login = async () => {
|
|
|
150
137
|
process.stdout.write(`🏔️ Connected to glen — active org: ${org.name}. Memory is now active.\n`);
|
|
151
138
|
return ok(undefined);
|
|
152
139
|
}
|
|
153
|
-
// writeState failed — credentials already saved, so login succeeded.
|
|
154
|
-
// Fall through to the org-switch hint below.
|
|
155
140
|
}
|
|
156
141
|
process.stdout.write("🏔️ Connected to glen. Run `glen org switch` to pick an organization.\n");
|
|
157
142
|
return ok(undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAe,GAAG,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/onboard.js
CHANGED
|
@@ -2,17 +2,11 @@ import { formatCliError } from "../_utils/cli-error.js";
|
|
|
2
2
|
import { readCredentials } from "../_utils/credentials.js";
|
|
3
3
|
import { ok } from "../_utils/result.js";
|
|
4
4
|
import { install } from "./install.js";
|
|
5
|
-
// First-run onboarding for bare `glen`. Fires only on a fresh interactive
|
|
6
|
-
// setup (no credentials + TTY); everything else returns "skip" so bin.ts
|
|
7
|
-
// falls through to help. The connect/login prompt chains inside install().
|
|
8
5
|
const maybeOnboard = async () => {
|
|
9
6
|
const creds = await readCredentials();
|
|
10
7
|
if (creds || !process.stdout.isTTY)
|
|
11
8
|
return ok("skip");
|
|
12
9
|
process.stdout.write("\n 🏔️ glen — let's get you set up\n");
|
|
13
|
-
// install() prints its own guidance for successful outcomes; a failure
|
|
14
|
-
// (e.g. "no agents detected") is returned structured, so print it here —
|
|
15
|
-
// onboarding continues to the summary regardless.
|
|
16
10
|
const installed = await install();
|
|
17
11
|
if (!installed.ok)
|
|
18
12
|
process.stdout.write(formatCliError(installed.error));
|
|
@@ -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,
|
|
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,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,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/org.js
CHANGED
|
@@ -121,8 +121,6 @@ const orgList = async () => {
|
|
|
121
121
|
return ok(undefined);
|
|
122
122
|
};
|
|
123
123
|
const orgSwitch = async (slug) => {
|
|
124
|
-
// No slug + no TTY: the interactive picker would hang (or silently no-op) —
|
|
125
|
-
// fail fast with the scripted alternative before any network call.
|
|
126
124
|
if (!slug && !process.stdin.isTTY)
|
|
127
125
|
return err(cliErr({
|
|
128
126
|
what: "no organization specified",
|
package/dist/commands/org.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/commands/org.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAiB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAe,GAAG,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD,MAAM,eAAe,GAAG,KAAK,EAC3B,GAAW,EACX,GAAW,EACX,KAAyD,EACzD,IAA6B,EACO,EAAE;IACtC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE;QACnC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,gBAAgB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;SACzD;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC,qBAAqB;KACxC,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE;QACd,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,gEAAgE;YACtE,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;YAC1B,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;SACtC,CAAC,CACH,CAAC;IACJ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;QACtB,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,gEAAgE;YACtE,GAAG,EACD,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBACpC,QAAQ,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;YACjC,MAAM,EAAE,uBAAuB;SAChC,CAAC,CACH,CAAC;IACJ,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,IAAsC,EAAE;IAC7D,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;IACtC,IAAI,CAAC,KAAK;QACR,OAAO,GAAG,CACR,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CACpE,CAAC;IACJ,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE;QAC7C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,gBAAgB,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;SACpE;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC,iBAAiB;KACpC,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE;QACT,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,sBAAsB;YAC5B,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;YACrB,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;SACjC,CAAC,CACH,CAAC;IACJ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG;QACtD,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,oCAAoC;YAC1C,MAAM,EAAE,+BAA+B;SACxC,CAAC,CACH,CAAC;IACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;QACjB,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,sBAAsB,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;YAC9C,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;YAClE,MAAM,EACJ,0EAA0E;SAC7E,CAAC,CACH,CAAC;IACJ,MAAM,IAAI,GAAI,GAAG,CAAC,KAAK,CAAC,IAAgC,EAAE,IAAI,CAAC;IAC/D,IAAI,CAAC,IAAI;QACP,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,+BAA+B;YACrC,MAAM,EAAE,0CAA0C;SACnD,CAAC,CACH,CAAC;IACJ,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EAAE,MAAW,EAAmC,EAAE;IACzE,MAAM,WAAW,GAAG,MAAM,eAAe,EAAE,CAAC;IAC5C,IAAI,CAAC,WAAW;QACd,OAAO,GAAG,CACR,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CACpE,CAAC;IACJ,MAAM,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG;QACX,WAAW,EAAE,MAAM,CAAC,KAAK;QACzB,aAAa,EAAE,MAAM,CAAC,IAAI;QAC1B,aAAa,EAAE,MAAM,CAAC,IAAI;QAC1B,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI;QAC3B,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;IACX,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC,MAAM,CAAC,iBAAiB,EACxB,WAAW,CAAC,GAAG,EACf,IAAI,EACJ,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI,EAAE,CAChD,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,OAAO,CAAC;IAChC,MAAM,OAAO,GAAI,OAAO,CAAC,KAAiC,EAAE,EAAE,CAAC;IAC/D,IAAI,OAAO,OAAO,KAAK,QAAQ;QAC7B,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,gEAAgE;YACtE,MAAM,EAAE,6BAA6B;SACtC,CAAC,CACH,CAAC;IACJ,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,CAAC,EAAE;QACP,OAAO,eAAe,CAAC,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE;YACvE,OAAO;YACP,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACX,GAAG,CACD,MAAM,CAAC;YACL,IAAI,EAAE,8BAA8B;YACpC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YACrB,IAAI,EAAE,SAAS,EAAE;YACjB,MAAM,EACJ,2EAA2E;SAC9E,CAAC,CACH,CACF,CAAC;IACJ,MAAM,QAAQ,GAAG,MAAM,eAAe,CACpC,MAAM,CAAC,kBAAkB,EACzB,WAAW,CAAC,GAAG,EACf,IAAI,EACJ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAChC,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE;QACd,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,gEAAgE;YACtE,MAAM,EAAE,kDAAkD;SAC3D,CAAC,CACH,CAAC;IACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kCAAkC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,MAAM,CACpE,CAAC;IACF,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,KAAK,IAAqC,EAAE;IAC1D,MAAM,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;IAC/B,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IACzE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,EAAE,IAAa,EAAmC,EAAE;IACzE,
|
|
1
|
+
{"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/commands/org.ts"],"names":[],"mappings":"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"}
|