@tryglen/cli 0.36.0 → 0.37.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 +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.d.ts +1 -0
- package/dist/_utils/codex-hooks-setup.js +5 -18
- package/dist/_utils/codex-hooks-setup.js.map +1 -1
- package/dist/_utils/codex-paths.d.ts +2 -1
- package/dist/_utils/codex-paths.js +4 -4
- 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-rules-setup.d.ts +4 -0
- package/dist/_utils/codex-rules-setup.js +34 -0
- package/dist/_utils/codex-rules-setup.js.map +1 -0
- 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 +10 -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 +7 -7
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts +0 -10
- package/dist/commands/update.js +6 -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();
|
|
@@ -180,6 +152,9 @@ const handlePostInstall = async (agent) => {
|
|
|
180
152
|
return false;
|
|
181
153
|
}
|
|
182
154
|
process.stdout.write(` ✓ hooks registered in ~/.codex/hooks.json${r.value.backedUp ? " (previous unparseable file backed up)" : ""}\n`);
|
|
155
|
+
process.stdout.write(r.value.rulesError === null
|
|
156
|
+
? " ✓ glen commands allowed without approval in new Codex sessions (~/.codex/rules/glen.rules)\n"
|
|
157
|
+
: ` ⚠ ${r.value.rulesError} — Codex will ask before each glen command\n`);
|
|
183
158
|
if (r.value.trusted) {
|
|
184
159
|
process.stdout.write(" ✓ hooks auto-trusted\n");
|
|
185
160
|
// Re-verify against a fresh hooks/list — a stale trust marker can lie.
|
|
@@ -190,7 +165,6 @@ const handlePostInstall = async (agent) => {
|
|
|
190
165
|
}
|
|
191
166
|
const glenHooks = verify.value.filter((e) => e.source === "user" &&
|
|
192
167
|
e.command.trimStart().startsWith(GLEN_OWNER_PREFIX));
|
|
193
|
-
// Empty listing → a "verified trusted" ✓ would be vacuous.
|
|
194
168
|
if (glenHooks.length === 0) {
|
|
195
169
|
process.stdout.write(" ⚠ could not verify hook trust — run `glen doctor` after install\n");
|
|
196
170
|
return false;
|
|
@@ -208,25 +182,15 @@ const handlePostInstall = async (agent) => {
|
|
|
208
182
|
return false;
|
|
209
183
|
}
|
|
210
184
|
if (agent.postInstall === "claude") {
|
|
211
|
-
// No prompt — statusline setup is non-interactive, so it runs in both
|
|
212
|
-
// interactive and scripted (--agent) installs.
|
|
213
185
|
await handleClaudeStatusline();
|
|
214
186
|
process.stdout.write("\n Tip: enable auto-update for the glen marketplace in /plugin → Marketplaces.\n");
|
|
215
187
|
}
|
|
216
188
|
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
189
|
process.stdout.write("\n Restart pi (or run /reload inside pi) to load the glen extension.\n");
|
|
220
190
|
}
|
|
221
191
|
return true;
|
|
222
192
|
};
|
|
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
193
|
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
194
|
const handleJcodeInstall = async () => {
|
|
231
195
|
process.stdout.write("\n Installing jcode plugin (file-based — jcode has no plugin CLI):\n");
|
|
232
196
|
const r = await installJcode();
|
|
@@ -245,10 +209,6 @@ const handleJcodeInstall = async () => {
|
|
|
245
209
|
" jcode can't display glen's status; check it with `glen status`.\n");
|
|
246
210
|
return true;
|
|
247
211
|
};
|
|
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
212
|
const promptConnect = async () => {
|
|
253
213
|
const creds = await readCredentials();
|
|
254
214
|
if (creds)
|
|
@@ -257,8 +217,7 @@ const promptConnect = async () => {
|
|
|
257
217
|
process.stdout.write(" Run `glen login` to connect your account.\n\n");
|
|
258
218
|
return;
|
|
259
219
|
}
|
|
260
|
-
//
|
|
261
|
-
// prompts@2.4.2 crashes the process on escape-prefixed keypresses).
|
|
220
|
+
// Not `prompts`' confirm: prompts@2.4.2 crashes on escape-prefixed keypresses.
|
|
262
221
|
const connect = await confirmYesNo({
|
|
263
222
|
message: "Connect your glen account now?",
|
|
264
223
|
initial: true,
|
|
@@ -273,9 +232,6 @@ const promptConnect = async () => {
|
|
|
273
232
|
process.stdout.write(" Run `glen login` to try again.\n\n");
|
|
274
233
|
}
|
|
275
234
|
};
|
|
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
235
|
const setUpIndicator = async () => {
|
|
280
236
|
if (process.platform !== "darwin")
|
|
281
237
|
return;
|
|
@@ -285,8 +241,6 @@ const setUpIndicator = async () => {
|
|
|
285
241
|
? " ✓ menu bar indicator started — run `glen indicator stop` to hide it\n"
|
|
286
242
|
: " ⚠ could not start the menu bar indicator — run `glen doctor` for details\n");
|
|
287
243
|
};
|
|
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
244
|
const connectOrHint = async (agentBin) => {
|
|
291
245
|
await setUpIndicator();
|
|
292
246
|
if (agentBin === undefined) {
|
|
@@ -299,8 +253,7 @@ const connectOrHint = async (agentBin) => {
|
|
|
299
253
|
}
|
|
300
254
|
};
|
|
301
255
|
const reportInstallCompletion = async (install, agentBin) => {
|
|
302
|
-
//
|
|
303
|
-
// outbox, which report-cli-install clears a few lines below.
|
|
256
|
+
// Recorded before the pending outbox, which report-cli-install clears below.
|
|
304
257
|
await installReceipt.recordInstalledAt(new Date().toISOString());
|
|
305
258
|
await installReceipt.recordPendingInstall({
|
|
306
259
|
...install,
|
|
@@ -309,12 +262,8 @@ const reportInstallCompletion = async (install, agentBin) => {
|
|
|
309
262
|
await connectOrHint(agentBin);
|
|
310
263
|
await reportCliInstall();
|
|
311
264
|
};
|
|
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
|
-
// ---------------------------------------------------------------------------
|
|
265
|
+
// npx doesn't link `glen` onto PATH, but plugin hooks shell out to it.
|
|
266
|
+
// Every failure warns and continues: hooks fail open until a binary appears.
|
|
318
267
|
const ensureCliBinary = async () => {
|
|
319
268
|
const outcome = ensureGlobalCli((hadExisting) => {
|
|
320
269
|
process.stdout.write(hadExisting
|
|
@@ -343,17 +292,12 @@ const ensureCliBinary = async () => {
|
|
|
343
292
|
? ` ⚠ Couldn't update your older glen.\n${permissionHint}${manualInstallHint}\n`
|
|
344
293
|
: ` ⚠ Couldn't install the glen command — the plugins won't work without it.\n${permissionHint}${manualInstallHint}\n`);
|
|
345
294
|
};
|
|
346
|
-
// ---------------------------------------------------------------------------
|
|
347
|
-
// Main install command
|
|
348
|
-
// ---------------------------------------------------------------------------
|
|
349
295
|
const install = async (agentBin, paths) => {
|
|
350
296
|
process.stdout.write("\n 🏔️ glen — install agent plugins\n\n");
|
|
351
297
|
const overrides = await applyPathOverrides(paths);
|
|
352
298
|
if (!overrides.ok)
|
|
353
299
|
return overrides;
|
|
354
300
|
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
301
|
const profile = loginProfileForShell();
|
|
358
302
|
if (profile) {
|
|
359
303
|
const fence = await addGlenLoginCheckBlock(profile.profilePath);
|
|
@@ -363,13 +307,10 @@ const install = async (agentBin, paths) => {
|
|
|
363
307
|
process.stdout.write(` ✓ login-shell check added to ${profile.profilePath}\n`);
|
|
364
308
|
}
|
|
365
309
|
else {
|
|
366
|
-
// Non-fatal: the fence is a nicety, not a prerequisite for recording.
|
|
367
310
|
process.stdout.write(` ⚠ could not add the login-shell check to ${profile.profilePath} — run \`glen doctor\` to check recording later\n`);
|
|
368
311
|
}
|
|
369
312
|
}
|
|
370
313
|
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
314
|
const printCursorInstructions = () => {
|
|
374
315
|
process.stdout.write("\n Cursor plugin — install inside the editor (Cursor has no plugin CLI):\n" +
|
|
375
316
|
" 1. Open Cursor's agent chat and type: /add-plugin\n" +
|
|
@@ -388,17 +329,12 @@ const install = async (agentBin, paths) => {
|
|
|
388
329
|
const detected = AGENTS.filter((a) => isInstalled(a.bin));
|
|
389
330
|
const jcodeDetected = isInstalled("jcode");
|
|
390
331
|
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
332
|
if (isInstalled("cursor")) {
|
|
395
333
|
process.stdout.write(" Detected coding agents:\n ✓ Cursor (cursor) — editor-side install\n\n");
|
|
396
334
|
printCursorInstructions();
|
|
397
335
|
await reportInstallCompletion({ agents: ["cursor"], outcome: "instructions" }, agentBin);
|
|
398
336
|
return ok(undefined);
|
|
399
337
|
}
|
|
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
338
|
return err(cliErr({
|
|
403
339
|
what: "no coding agents detected",
|
|
404
340
|
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 +352,7 @@ const install = async (agentBin, paths) => {
|
|
|
416
352
|
process.stdout.write(" ✓ jcode (jcode) — file-based install\n");
|
|
417
353
|
}
|
|
418
354
|
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
355
|
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
356
|
const selected = await (async () => {
|
|
425
357
|
if (normalized !== undefined) {
|
|
426
358
|
if (normalized === "jcode")
|
|
@@ -456,9 +388,6 @@ const install = async (agentBin, paths) => {
|
|
|
456
388
|
}
|
|
457
389
|
if (selected.length === 0) {
|
|
458
390
|
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
391
|
if (agentBin === undefined && isInstalled("cursor")) {
|
|
463
392
|
printCursorInstructions();
|
|
464
393
|
}
|
|
@@ -467,17 +396,11 @@ const install = async (agentBin, paths) => {
|
|
|
467
396
|
}
|
|
468
397
|
const results = [];
|
|
469
398
|
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
399
|
if (agent.bin === "jcode") {
|
|
473
400
|
results.push(await handleJcodeInstall());
|
|
474
401
|
continue;
|
|
475
402
|
}
|
|
476
|
-
// Resolve once per agent — every step runs against the same binary the
|
|
477
|
-
// detection (and any --<bin>-path override) found.
|
|
478
403
|
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
404
|
const status = glenPluginStatus(agent.bin);
|
|
482
405
|
const converging = status === "installed";
|
|
483
406
|
process.stdout.write(converging
|
|
@@ -486,8 +409,7 @@ const install = async (agentBin, paths) => {
|
|
|
486
409
|
for (const step of converging ? agent.updateSteps : agent.steps) {
|
|
487
410
|
const label = stepLabel(step);
|
|
488
411
|
const r = runBin(resolvedBin, step);
|
|
489
|
-
//
|
|
490
|
-
// `plugin add` must not report "Done! … memory is active".
|
|
412
|
+
// A failed `plugin add` must not report "memory is active".
|
|
491
413
|
results.push(r.ok);
|
|
492
414
|
if (r.ok) {
|
|
493
415
|
process.stdout.write(` ${label}... ✓\n`);
|
|
@@ -500,17 +422,12 @@ const install = async (agentBin, paths) => {
|
|
|
500
422
|
}
|
|
501
423
|
results.push(await handlePostInstall(agent));
|
|
502
424
|
}
|
|
503
|
-
// Print Cursor instructions in the interactive flow when Cursor is detected —
|
|
504
|
-
// interactive users get the guided install alongside any scripted agents.
|
|
505
425
|
if (agentBin === undefined && isInstalled("cursor")) {
|
|
506
426
|
printCursorInstructions();
|
|
507
427
|
}
|
|
508
|
-
// Best-effort: install the prepare-commit-msg git hook when inside a git
|
|
509
|
-
// repo. A failure must never abort `glen install`.
|
|
510
428
|
if (gitContext(process.cwd()).repoName) {
|
|
511
429
|
const { installGitHooks } = await import("./git-hooks.js");
|
|
512
430
|
const gh = await installGitHooks({ absolute: false });
|
|
513
|
-
// best-effort: a hook-install failure must not fail `glen install`
|
|
514
431
|
if (!gh.ok)
|
|
515
432
|
process.stderr.write("note: skipped git-hook install (not fatal)\n");
|
|
516
433
|
}
|
|
@@ -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":"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
|
|
1
|
+
{"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/commands/org.ts"],"names":[],"mappings":"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"}
|