coding-friend-cli 1.37.0 → 1.38.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 +7 -2
- package/dist/{chunk-GZT3YPAP.js → chunk-32UAW3NX.js} +1 -1
- package/dist/chunk-5QCGEPQO.js +238 -0
- package/dist/{chunk-YIXAQ4R2.js → chunk-6NXZKAOV.js} +1 -1
- package/dist/{chunk-DP6DFQ4G.js → chunk-BXSCYGWE.js} +2 -2
- package/dist/{chunk-W6D3J5DX.js → chunk-CGEMETKQ.js} +8 -6
- package/dist/{chunk-XEKQW4RN.js → chunk-ETTZRJ55.js} +1 -1
- package/dist/{chunk-IKLMHJH6.js → chunk-GIH6E7GJ.js} +62 -1
- package/dist/{chunk-6S7352JG.js → chunk-ONG4KRYP.js} +1 -1
- package/dist/{chunk-X2H7JJMR.js → chunk-PLSJW7QJ.js} +29 -1
- package/dist/{chunk-O5ZKLFSL.js → chunk-RCE4OWNX.js} +1 -1
- package/dist/{chunk-PI4P34KF.js → chunk-RFNKPAJW.js} +3 -1
- package/dist/{chunk-676YCW6T.js → chunk-XAYWGZQT.js} +101 -8
- package/dist/{clean-WEYQZB34.js → clean-YWEMYDE5.js} +2 -2
- package/dist/{config-ZMR2AOBB.js → config-NG7SICM4.js} +12 -24
- package/dist/{dev-IGHMMEP4.js → dev-PTBNMKZT.js} +3 -3
- package/dist/{disable-HL5OEURT.js → disable-MO7AXYYF.js} +20 -3
- package/dist/{enable-CZIOCKKJ.js → enable-4GXLQEHD.js} +20 -3
- package/dist/{guide-CO2V4ZLZ.js → guide-HCR43LJN.js} +1 -1
- package/dist/{host-SSRI4JZV.js → host-EV6QIVTI.js} +2 -2
- package/dist/index.js +59 -47
- package/dist/{init-6MFQWPOP.js → init-KYE5CJMW.js} +115 -12
- package/dist/{install-37NN4CQH.js → install-3YEPLDMD.js} +79 -6
- package/dist/{learn-OPH3CI67.js → learn-MC4VDHZH.js} +2 -2
- package/dist/{mcp-DWKVMNC7.js → mcp-FV6YX3ZT.js} +7 -7
- package/dist/{mcp-serve-5GODJ4DJ.js → mcp-serve-PXREYQRZ.js} +2 -2
- package/dist/{mcp-serve-learn-OF3ZJUJC.js → mcp-serve-learn-UVXIDOEZ.js} +1 -1
- package/dist/{memory-TRDLADUM.js → memory-DF7OUOTV.js} +6 -6
- package/dist/{permission-I3OFJUYA.js → permission-VISPGMUK.js} +38 -4
- package/dist/{permissions-J46VP6US.js → permissions-2SBACQHV.js} +2 -2
- package/dist/{session-S4WKA4P5.js → session-QK6OZO3X.js} +2 -2
- package/dist/{status-YZEOUX46.js → status-6HQRVZKR.js} +11 -10
- package/dist/{statusline-KKFJPTI7.js → statusline-AOZHEQSV.js} +2 -2
- package/dist/{uninstall-AVA3J554.js → uninstall-MF6FRUBO.js} +51 -4
- package/dist/{update-Q3ACCK4Z.js → update-SMWXKJ3R.js} +6 -5
- package/dist/{update-check-25SCLHZO.js → update-check-7LKJLJPM.js} +1 -1
- package/lib/cf-memory/src/lib/claude-md.ts +82 -70
- package/lib/cf-memory/src/lib/status-frame.ts +2 -2
- package/lib/cf-memory/src/tools/delete.ts +1 -1
- package/lib/cf-memory/src/tools/store.ts +6 -6
- package/lib/cf-memory/src/tools/update.ts +5 -11
- package/package.json +32 -4
- package/lib/cf-memory/README.md +0 -317
- package/lib/cf-memory/src/__tests__/claude-md.test.ts +0 -343
- package/lib/cf-memory/src/__tests__/daemon-client.test.ts +0 -146
- package/lib/cf-memory/src/__tests__/daemon-e2e.test.ts +0 -223
- package/lib/cf-memory/src/__tests__/daemon.test.ts +0 -407
- package/lib/cf-memory/src/__tests__/dedup.test.ts +0 -103
- package/lib/cf-memory/src/__tests__/embeddings.test.ts +0 -292
- package/lib/cf-memory/src/__tests__/lazy-install.test.ts +0 -210
- package/lib/cf-memory/src/__tests__/markdown-backend.test.ts +0 -450
- package/lib/cf-memory/src/__tests__/migration.test.ts +0 -255
- package/lib/cf-memory/src/__tests__/migrations.test.ts +0 -288
- package/lib/cf-memory/src/__tests__/minisearch-backend.test.ts +0 -262
- package/lib/cf-memory/src/__tests__/ollama.test.ts +0 -48
- package/lib/cf-memory/src/__tests__/project-id.test.ts +0 -43
- package/lib/cf-memory/src/__tests__/schema.test.ts +0 -128
- package/lib/cf-memory/src/__tests__/search.test.ts +0 -115
- package/lib/cf-memory/src/__tests__/sqlite-lazy-db.test.ts +0 -213
- package/lib/cf-memory/src/__tests__/status-frame.test.ts +0 -136
- package/lib/cf-memory/src/__tests__/temporal-decay.test.ts +0 -54
- package/lib/cf-memory/src/__tests__/tier.test.ts +0 -388
- package/lib/cf-memory/src/__tests__/tools.test.ts +0 -83
- package/lib/cf-memory/vitest.config.ts +0 -7
- package/lib/learn-host/.prettierignore +0 -4
- package/lib/learn-host/.prettierrc +0 -8
- package/lib/learn-host/README.md +0 -113
- package/lib/learn-host/eslint.config.mjs +0 -6
- package/lib/learn-mcp/README.md +0 -187
- package/lib/learn-mcp/src/__tests__/docs.test.ts +0 -117
- package/lib/learn-mcp/vitest.config.ts +0 -8
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ensureStatusline,
|
|
3
3
|
getInstalledVersion
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ETTZRJ55.js";
|
|
5
5
|
import {
|
|
6
6
|
ensureShellCompletion
|
|
7
7
|
} from "./chunk-667NMPN4.js";
|
|
@@ -9,10 +9,15 @@ import {
|
|
|
9
9
|
isMemoryMcpRegistered,
|
|
10
10
|
registerMemoryMcp,
|
|
11
11
|
removeMemoryMcpEntry
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-BXSCYGWE.js";
|
|
13
13
|
import {
|
|
14
|
+
CODEX_MARKETPLACE_NAME,
|
|
15
|
+
getCodexInstalledVersion
|
|
16
|
+
} from "./chunk-5QCGEPQO.js";
|
|
17
|
+
import {
|
|
18
|
+
resolveHostFlags,
|
|
14
19
|
resolveScope
|
|
15
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-GIH6E7GJ.js";
|
|
16
21
|
import {
|
|
17
22
|
commandExists,
|
|
18
23
|
run,
|
|
@@ -24,7 +29,7 @@ import {
|
|
|
24
29
|
} from "./chunk-5UVDWG5L.js";
|
|
25
30
|
import {
|
|
26
31
|
claudeSettingsPath
|
|
27
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-PLSJW7QJ.js";
|
|
28
33
|
import {
|
|
29
34
|
log,
|
|
30
35
|
printBanner
|
|
@@ -94,6 +99,11 @@ function getStatuslineVersion() {
|
|
|
94
99
|
return match?.[1]?.replace(/^v/, "") ?? null;
|
|
95
100
|
}
|
|
96
101
|
async function updateCommand(opts) {
|
|
102
|
+
const { host } = resolveHostFlags(opts);
|
|
103
|
+
if (host === "codex") {
|
|
104
|
+
await updateCodexCommand(opts);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
97
107
|
const updateAll = !opts.cli && !opts.plugin && !opts.statusline;
|
|
98
108
|
const doCli = updateAll || !!opts.cli;
|
|
99
109
|
const doPlugin = updateAll || !!opts.plugin;
|
|
@@ -223,7 +233,9 @@ async function updateCommand(opts) {
|
|
|
223
233
|
}
|
|
224
234
|
}
|
|
225
235
|
}
|
|
236
|
+
let refreshMemoryAfterUpdate = null;
|
|
226
237
|
if (doCli) {
|
|
238
|
+
({ refreshMemoryAfterUpdate } = await import("./memory-DF7OUOTV.js"));
|
|
227
239
|
if (!latestCliVersion) {
|
|
228
240
|
log.warn("Cannot check latest CLI version from npm.");
|
|
229
241
|
} else {
|
|
@@ -253,8 +265,7 @@ async function updateCommand(opts) {
|
|
|
253
265
|
}
|
|
254
266
|
}
|
|
255
267
|
}
|
|
256
|
-
if (doCli) {
|
|
257
|
-
const { refreshMemoryAfterUpdate } = await import("./memory-TRDLADUM.js");
|
|
268
|
+
if (doCli && refreshMemoryAfterUpdate) {
|
|
258
269
|
await refreshMemoryAfterUpdate();
|
|
259
270
|
}
|
|
260
271
|
if (!isMemoryMcpRegistered()) {
|
|
@@ -263,9 +274,13 @@ async function updateCommand(opts) {
|
|
|
263
274
|
const migrationResult = removeMemoryMcpEntry();
|
|
264
275
|
if (migrationResult.removed) {
|
|
265
276
|
if (migrationResult.fileDeleted) {
|
|
266
|
-
log.success(
|
|
277
|
+
log.success(
|
|
278
|
+
"Removed legacy project-scope coding-friend-memory from .mcp.json (file deleted \u2014 was empty)."
|
|
279
|
+
);
|
|
267
280
|
} else {
|
|
268
|
-
log.success(
|
|
281
|
+
log.success(
|
|
282
|
+
"Removed legacy project-scope coding-friend-memory from .mcp.json"
|
|
283
|
+
);
|
|
269
284
|
}
|
|
270
285
|
}
|
|
271
286
|
if (doStatusline) {
|
|
@@ -278,6 +293,84 @@ async function updateCommand(opts) {
|
|
|
278
293
|
console.log();
|
|
279
294
|
log.dim("Restart Claude Code (or start a new session) to see changes.");
|
|
280
295
|
}
|
|
296
|
+
async function updateCodexCommand(opts) {
|
|
297
|
+
const updateAll = !opts.cli && !opts.plugin && !opts.statusline;
|
|
298
|
+
const doCli = updateAll || !!opts.cli;
|
|
299
|
+
const doPlugin = updateAll || !!opts.plugin;
|
|
300
|
+
printBanner("\u2728 Coding Friend Codex Update \u2728");
|
|
301
|
+
console.log();
|
|
302
|
+
if (doPlugin) {
|
|
303
|
+
const beforeVersion = getCodexInstalledVersion();
|
|
304
|
+
console.log(
|
|
305
|
+
` Plugin ${beforeVersion ? beforeVersion : chalk.dim("not installed")}`
|
|
306
|
+
);
|
|
307
|
+
if (!commandExists("codex")) {
|
|
308
|
+
log.error("Codex CLI not found. Cannot update Codex plugin.");
|
|
309
|
+
} else {
|
|
310
|
+
log.step("Updating Codex marketplace...");
|
|
311
|
+
const result = runWithStderr("codex", [
|
|
312
|
+
"plugin",
|
|
313
|
+
"marketplace",
|
|
314
|
+
"upgrade",
|
|
315
|
+
CODEX_MARKETPLACE_NAME
|
|
316
|
+
]);
|
|
317
|
+
if (result.exitCode !== 0) {
|
|
318
|
+
log.error(
|
|
319
|
+
`Codex marketplace upgrade failed. Try manually: codex plugin marketplace upgrade ${CODEX_MARKETPLACE_NAME}`
|
|
320
|
+
);
|
|
321
|
+
if (result.stderr) log.dim(`stderr: ${result.stderr}`);
|
|
322
|
+
} else {
|
|
323
|
+
const afterVersion = getCodexInstalledVersion();
|
|
324
|
+
if (afterVersion && afterVersion !== beforeVersion) {
|
|
325
|
+
log.success(
|
|
326
|
+
`Codex plugin updated to ${chalk.green(`v${afterVersion}`)}.`
|
|
327
|
+
);
|
|
328
|
+
} else if (afterVersion) {
|
|
329
|
+
log.success(
|
|
330
|
+
`Codex plugin is installed at ${chalk.green(`v${afterVersion}`)}.`
|
|
331
|
+
);
|
|
332
|
+
} else {
|
|
333
|
+
log.warn(
|
|
334
|
+
"Marketplace updated, but coding-friend is not installed yet. Open Codex and run /plugins to install it."
|
|
335
|
+
);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
if (doCli) {
|
|
341
|
+
const cliVersion = getCliVersion();
|
|
342
|
+
const latestCliVersion = getLatestCliVersion();
|
|
343
|
+
if (!latestCliVersion) {
|
|
344
|
+
log.warn("Cannot check latest CLI version from npm.");
|
|
345
|
+
} else {
|
|
346
|
+
const cmp = semverCompare(cliVersion, latestCliVersion);
|
|
347
|
+
if (cmp < 0) {
|
|
348
|
+
log.step(
|
|
349
|
+
`CLI update available: ${chalk.yellow(`v${cliVersion}`)} \u2192 ${chalk.green(`v${latestCliVersion}`)}`
|
|
350
|
+
);
|
|
351
|
+
const result = run("npm", [
|
|
352
|
+
"install",
|
|
353
|
+
"-g",
|
|
354
|
+
"coding-friend-cli@latest"
|
|
355
|
+
]);
|
|
356
|
+
if (result === null) {
|
|
357
|
+
log.error(
|
|
358
|
+
"CLI update failed. Try manually: npm install -g coding-friend-cli@latest"
|
|
359
|
+
);
|
|
360
|
+
} else {
|
|
361
|
+
log.success(`CLI updated to ${chalk.green(`v${latestCliVersion}`)}`);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
if (opts.statusline) {
|
|
367
|
+
log.warn(
|
|
368
|
+
"Codex owns its TUI footer. Open Codex and run /statusline to configure it."
|
|
369
|
+
);
|
|
370
|
+
}
|
|
371
|
+
console.log();
|
|
372
|
+
log.dim("Restart Codex CLI (or start a new session) to see changes.");
|
|
373
|
+
}
|
|
281
374
|
|
|
282
375
|
export {
|
|
283
376
|
semverCompare,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
loadConfig,
|
|
3
3
|
resolveMemoryDir
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-RFNKPAJW.js";
|
|
5
5
|
import "./chunk-3WIZA5OZ.js";
|
|
6
6
|
import "./chunk-EVGXUDX4.js";
|
|
7
7
|
import "./chunk-5UVDWG5L.js";
|
|
8
8
|
import {
|
|
9
9
|
resolvePath
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-PLSJW7QJ.js";
|
|
11
11
|
import {
|
|
12
12
|
log,
|
|
13
13
|
printBanner
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getAllRules,
|
|
3
3
|
getExistingRules
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-RCE4OWNX.js";
|
|
5
5
|
import {
|
|
6
6
|
listMdFilesRecursive
|
|
7
7
|
} from "./chunk-2DTXVMPQ.js";
|
|
8
8
|
import {
|
|
9
9
|
registerLearnMcp,
|
|
10
10
|
unregisterLearnMcp
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-6NXZKAOV.js";
|
|
12
12
|
import {
|
|
13
13
|
resolveLearnDir
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-RFNKPAJW.js";
|
|
15
15
|
import {
|
|
16
16
|
findStatuslineHookPath,
|
|
17
17
|
getCurrentAccountEmail,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
saveStatuslineConfig,
|
|
23
23
|
selectStatuslineComponents,
|
|
24
24
|
writeStatuslineSettings
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-ETTZRJ55.js";
|
|
26
26
|
import {
|
|
27
27
|
ALL_COMPONENT_IDS,
|
|
28
28
|
DEFAULT_CONFIG
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
} from "./chunk-667NMPN4.js";
|
|
35
35
|
import {
|
|
36
36
|
memoryConfigMenu
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-BXSCYGWE.js";
|
|
38
38
|
import "./chunk-RZRT7NGT.js";
|
|
39
39
|
import {
|
|
40
40
|
BACK,
|
|
@@ -45,7 +45,7 @@ import {
|
|
|
45
45
|
getScopeLabel,
|
|
46
46
|
injectBackChoice,
|
|
47
47
|
showConfigHint
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-GIH6E7GJ.js";
|
|
49
49
|
import "./chunk-EVGXUDX4.js";
|
|
50
50
|
import {
|
|
51
51
|
mergeJson,
|
|
@@ -58,7 +58,7 @@ import {
|
|
|
58
58
|
globalConfigPath,
|
|
59
59
|
localConfigPath,
|
|
60
60
|
resolvePath
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-PLSJW7QJ.js";
|
|
62
62
|
import {
|
|
63
63
|
log,
|
|
64
64
|
printBanner
|
|
@@ -448,11 +448,7 @@ async function editDisableGUIPlan(globalCfg, localCfg) {
|
|
|
448
448
|
writeToScope(scope, { disableGUIPlan: value });
|
|
449
449
|
}
|
|
450
450
|
async function editGuiPlanFormat(globalCfg, localCfg) {
|
|
451
|
-
const currentValue = getMergedValue(
|
|
452
|
-
"guiPlanFormat",
|
|
453
|
-
globalCfg,
|
|
454
|
-
localCfg
|
|
455
|
-
);
|
|
451
|
+
const currentValue = getMergedValue("guiPlanFormat", globalCfg, localCfg);
|
|
456
452
|
if (currentValue !== void 0) {
|
|
457
453
|
log.dim(`Current: ${currentValue}`);
|
|
458
454
|
}
|
|
@@ -476,16 +472,8 @@ async function planDocsSubMenu() {
|
|
|
476
472
|
while (true) {
|
|
477
473
|
const globalCfg = readJson(globalConfigPath());
|
|
478
474
|
const localCfg = readJson(localConfigPath());
|
|
479
|
-
const disableVal = getMergedValue(
|
|
480
|
-
|
|
481
|
-
globalCfg,
|
|
482
|
-
localCfg
|
|
483
|
-
);
|
|
484
|
-
const formatVal = getMergedValue(
|
|
485
|
-
"guiPlanFormat",
|
|
486
|
-
globalCfg,
|
|
487
|
-
localCfg
|
|
488
|
-
);
|
|
475
|
+
const disableVal = getMergedValue("disableGUIPlan", globalCfg, localCfg);
|
|
476
|
+
const formatVal = getMergedValue("guiPlanFormat", globalCfg, localCfg);
|
|
489
477
|
const choice = await select({
|
|
490
478
|
message: "Plan docs settings:",
|
|
491
479
|
choices: injectBackChoice(
|
|
@@ -553,7 +541,7 @@ async function editAutoApprove(globalCfg, localCfg) {
|
|
|
553
541
|
if (scope === "back") return;
|
|
554
542
|
writeToScope(scope, { autoApprove: value });
|
|
555
543
|
if (value) {
|
|
556
|
-
const { runDangerousRulesAudit } = await import("./permissions-
|
|
544
|
+
const { runDangerousRulesAudit } = await import("./permissions-2SBACQHV.js");
|
|
557
545
|
await runDangerousRulesAudit(
|
|
558
546
|
[
|
|
559
547
|
claudeProjectSettingsPath(),
|
|
@@ -749,7 +737,7 @@ async function editPermissions() {
|
|
|
749
737
|
)
|
|
750
738
|
});
|
|
751
739
|
if (choice === BACK) return;
|
|
752
|
-
const { permissionCommand } = await import("./permission-
|
|
740
|
+
const { permissionCommand } = await import("./permission-VISPGMUK.js");
|
|
753
741
|
switch (choice) {
|
|
754
742
|
case "interactive":
|
|
755
743
|
await permissionCommand({});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ensureStatusline
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ETTZRJ55.js";
|
|
4
4
|
import "./chunk-3WIZA5OZ.js";
|
|
5
5
|
import {
|
|
6
6
|
ensureShellCompletion
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
isMarketplaceRegistered,
|
|
10
10
|
isPluginInstalled
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-32UAW3NX.js";
|
|
12
12
|
import {
|
|
13
13
|
commandExists,
|
|
14
14
|
run,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
devStatePath,
|
|
23
23
|
knownMarketplacesPath,
|
|
24
24
|
pluginCachePath
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-PLSJW7QJ.js";
|
|
26
26
|
import {
|
|
27
27
|
log,
|
|
28
28
|
printBanner
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isPluginDisabled,
|
|
3
3
|
setPluginEnabled
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-32UAW3NX.js";
|
|
5
5
|
import {
|
|
6
|
+
isCodexPluginDisabled,
|
|
7
|
+
setCodexPluginEnabled
|
|
8
|
+
} from "./chunk-5QCGEPQO.js";
|
|
9
|
+
import {
|
|
10
|
+
resolveHostFlags,
|
|
6
11
|
resolveScope
|
|
7
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-GIH6E7GJ.js";
|
|
8
13
|
import "./chunk-EVGXUDX4.js";
|
|
9
14
|
import "./chunk-5UVDWG5L.js";
|
|
10
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-PLSJW7QJ.js";
|
|
11
16
|
import {
|
|
12
17
|
log
|
|
13
18
|
} from "./chunk-NREZK463.js";
|
|
@@ -15,6 +20,18 @@ import {
|
|
|
15
20
|
// src/commands/disable.ts
|
|
16
21
|
import chalk from "chalk";
|
|
17
22
|
async function disableCommand(opts = {}) {
|
|
23
|
+
const { host } = resolveHostFlags(opts);
|
|
24
|
+
if (host === "codex") {
|
|
25
|
+
if (isCodexPluginDisabled()) {
|
|
26
|
+
log.info("Coding Friend is already disabled for Codex.");
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
log.step("Disabling Codex plugin...");
|
|
30
|
+
setCodexPluginEnabled(false);
|
|
31
|
+
log.success("Coding Friend disabled for Codex.");
|
|
32
|
+
log.dim("Restart Codex CLI for the change to take effect.");
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
18
35
|
const scope = await resolveScope(
|
|
19
36
|
opts,
|
|
20
37
|
"Where should Coding Friend be disabled?"
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isPluginDisabled,
|
|
3
3
|
setPluginEnabled
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-32UAW3NX.js";
|
|
5
5
|
import {
|
|
6
|
+
isCodexPluginDisabled,
|
|
7
|
+
setCodexPluginEnabled
|
|
8
|
+
} from "./chunk-5QCGEPQO.js";
|
|
9
|
+
import {
|
|
10
|
+
resolveHostFlags,
|
|
6
11
|
resolveScope
|
|
7
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-GIH6E7GJ.js";
|
|
8
13
|
import "./chunk-EVGXUDX4.js";
|
|
9
14
|
import "./chunk-5UVDWG5L.js";
|
|
10
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-PLSJW7QJ.js";
|
|
11
16
|
import {
|
|
12
17
|
log
|
|
13
18
|
} from "./chunk-NREZK463.js";
|
|
@@ -15,6 +20,18 @@ import {
|
|
|
15
20
|
// src/commands/enable.ts
|
|
16
21
|
import chalk from "chalk";
|
|
17
22
|
async function enableCommand(opts = {}) {
|
|
23
|
+
const { host } = resolveHostFlags(opts);
|
|
24
|
+
if (host === "codex") {
|
|
25
|
+
if (!isCodexPluginDisabled()) {
|
|
26
|
+
log.info("Coding Friend is already enabled for Codex.");
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
log.step("Enabling Codex plugin...");
|
|
30
|
+
setCodexPluginEnabled(true);
|
|
31
|
+
log.success("Coding Friend enabled for Codex.");
|
|
32
|
+
log.dim("Restart Codex CLI for the change to take effect.");
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
18
35
|
const scope = await resolveScope(
|
|
19
36
|
opts,
|
|
20
37
|
"Where should Coding Friend be enabled?"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveLearnDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-RFNKPAJW.js";
|
|
4
4
|
import "./chunk-3WIZA5OZ.js";
|
|
5
5
|
import {
|
|
6
6
|
getLibPath
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from "./chunk-5UVDWG5L.js";
|
|
15
15
|
import {
|
|
16
16
|
globalConfigPath
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-PLSJW7QJ.js";
|
|
18
18
|
import {
|
|
19
19
|
log,
|
|
20
20
|
printBanner
|