coding-friend-cli 1.38.3 → 1.39.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/dist/{chunk-32UAW3NX.js → chunk-2EY7VVFT.js} +1 -1
- package/dist/{chunk-RCE4OWNX.js → chunk-463QKRBN.js} +1 -1
- package/dist/{chunk-ETTZRJ55.js → chunk-4CPUWHIN.js} +1 -1
- package/dist/{chunk-6NXZKAOV.js → chunk-7JQZRMOG.js} +37 -4
- package/dist/{chunk-5KHZQCZB.js → chunk-FQUIO5BW.js} +1 -1
- package/dist/chunk-GTOEIGDM.js +510 -0
- package/dist/{chunk-PLSJW7QJ.js → chunk-IV5OPG34.js} +47 -1
- package/dist/{chunk-5QCGEPQO.js → chunk-JSH6BMVZ.js} +1 -1
- package/dist/{chunk-S4ENKXXC.js → chunk-ODW27NAC.js} +8 -8
- package/dist/chunk-OFEC6OVI.js +99 -0
- package/dist/{chunk-GIH6E7GJ.js → chunk-VMODQCSL.js} +4 -53
- package/dist/{chunk-I2DQYPKT.js → chunk-WJHQUCOF.js} +162 -17
- package/dist/{chunk-VHUU3QDC.js → chunk-YPW67OGP.js} +1 -1
- package/dist/{chunk-BXSCYGWE.js → chunk-ZGIUKUL2.js} +51 -6
- package/dist/chunk-ZZNTNIM4.js +63 -0
- package/dist/{clean-BJSNDUPN.js → clean-LPWEBJJ5.js} +45 -7
- package/dist/{config-EX3B3HWO.js → config-VNSC2NAY.js} +15 -13
- package/dist/{dev-PTBNMKZT.js → dev-NRTDUQAR.js} +3 -3
- package/dist/{disable-MO7AXYYF.js → disable-NROSQUHR.js} +19 -4
- package/dist/{enable-4GXLQEHD.js → enable-26FFJGX5.js} +24 -4
- package/dist/{guide-HCR43LJN.js → guide-HCLEOAGR.js} +1 -1
- package/dist/{host-VIQ5YI3V.js → host-2JOPHLN3.js} +4 -3
- package/dist/index.js +46 -46
- package/dist/{init-S2K4CQO2.js → init-MHHII5EP.js} +54 -18
- package/dist/{install-LUPE3VTC.js → install-OEFJLAWA.js} +52 -9
- package/dist/{learn-A3TP6PLL.js → learn-SSNBBDY3.js} +2 -2
- package/dist/{mcp-QNJTCZMS.js → mcp-J5VO3OH7.js} +13 -11
- package/dist/{mcp-serve-4VP4KDYG.js → mcp-serve-55DSE2J4.js} +4 -3
- package/dist/{mcp-serve-learn-UVXIDOEZ.js → mcp-serve-learn-EDBWNL4I.js} +3 -2
- package/dist/{memory-7GKTQSIW.js → memory-CDZKWOFL.js} +9 -7
- package/dist/{permission-VISPGMUK.js → permission-DPKPA2HU.js} +11 -3
- package/dist/{permissions-2SBACQHV.js → permissions-HZYUVKCY.js} +2 -2
- package/dist/{session-VDGNTICO.js → session-YWJDLNBP.js} +2 -2
- package/dist/{status-RHSL5MBU.js → status-4WMIQL7L.js} +18 -16
- package/dist/{statusline-AOZHEQSV.js → statusline-R5BNYK3H.js} +2 -2
- package/dist/{uninstall-QN6527IR.js → uninstall-EV7362NK.js} +52 -8
- package/dist/{update-ZQG25VOJ.js → update-YQBBAIIF.js} +10 -7
- package/dist/{update-check-7LKJLJPM.js → update-check-EJSGVGO6.js} +1 -1
- package/package.json +1 -1
- package/dist/chunk-RZRT7NGT.js +0 -18
|
@@ -6,18 +6,14 @@ import {
|
|
|
6
6
|
getExistingRules,
|
|
7
7
|
getMissingRules,
|
|
8
8
|
logPluginScriptWarning
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import {
|
|
11
|
-
isLearnMcpRegistered,
|
|
12
|
-
registerLearnMcp
|
|
13
|
-
} from "./chunk-6NXZKAOV.js";
|
|
9
|
+
} from "./chunk-463QKRBN.js";
|
|
14
10
|
import {
|
|
15
11
|
ensureMemoryBuilt,
|
|
16
12
|
isMemoryInitialized,
|
|
17
13
|
memoryInitWizard
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-ODW27NAC.js";
|
|
15
|
+
import "./chunk-YPW67OGP.js";
|
|
16
|
+
import "./chunk-FQUIO5BW.js";
|
|
21
17
|
import {
|
|
22
18
|
findStatuslineHookPath,
|
|
23
19
|
getCurrentAccountEmail,
|
|
@@ -28,10 +24,14 @@ import {
|
|
|
28
24
|
saveStatuslineConfig,
|
|
29
25
|
selectStatuslineComponents,
|
|
30
26
|
writeStatuslineSettings
|
|
31
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-4CPUWHIN.js";
|
|
32
28
|
import {
|
|
33
29
|
DEFAULT_CONFIG
|
|
34
30
|
} from "./chunk-3WIZA5OZ.js";
|
|
31
|
+
import {
|
|
32
|
+
isLearnMcpRegistered,
|
|
33
|
+
registerLearnMcp
|
|
34
|
+
} from "./chunk-7JQZRMOG.js";
|
|
35
35
|
import {
|
|
36
36
|
ensureShellCompletion,
|
|
37
37
|
hasShellCompletion
|
|
@@ -40,17 +40,17 @@ import {
|
|
|
40
40
|
isMemoryMcpRegistered,
|
|
41
41
|
memoryConfigMenu,
|
|
42
42
|
registerMemoryMcp
|
|
43
|
-
} from "./chunk-
|
|
44
|
-
import {
|
|
45
|
-
getLibPath
|
|
46
|
-
} from "./chunk-RZRT7NGT.js";
|
|
43
|
+
} from "./chunk-ZGIUKUL2.js";
|
|
47
44
|
import {
|
|
48
45
|
deployCodexAgents,
|
|
49
46
|
findCodexAgentSourceDir,
|
|
50
47
|
trustCodexProject,
|
|
51
48
|
writeCodexAgentLimits,
|
|
52
49
|
writeCodexMemoryMcpConfig
|
|
53
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-JSH6BMVZ.js";
|
|
51
|
+
import {
|
|
52
|
+
isOmpAgentInstalled
|
|
53
|
+
} from "./chunk-GTOEIGDM.js";
|
|
54
54
|
import {
|
|
55
55
|
BACK,
|
|
56
56
|
applyDocsDirChange,
|
|
@@ -62,7 +62,11 @@ import {
|
|
|
62
62
|
injectBackChoice,
|
|
63
63
|
resolveHostFlags,
|
|
64
64
|
showConfigHint
|
|
65
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-VMODQCSL.js";
|
|
66
|
+
import {
|
|
67
|
+
getLibPath
|
|
68
|
+
} from "./chunk-ZZNTNIM4.js";
|
|
69
|
+
import "./chunk-OFEC6OVI.js";
|
|
66
70
|
import {
|
|
67
71
|
commandExists,
|
|
68
72
|
run
|
|
@@ -79,8 +83,10 @@ import {
|
|
|
79
83
|
codexConfigTomlPath,
|
|
80
84
|
globalConfigPath,
|
|
81
85
|
localConfigPath,
|
|
86
|
+
ompProjectDir,
|
|
87
|
+
ompProjectMcpJsonPath,
|
|
82
88
|
resolvePath
|
|
83
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-IV5OPG34.js";
|
|
84
90
|
import {
|
|
85
91
|
log,
|
|
86
92
|
printBanner
|
|
@@ -708,7 +714,7 @@ async function stepAutoApprove(globalCfg, localCfg) {
|
|
|
708
714
|
mergeJson(targetPath, { autoApprove: autoApproveChoice });
|
|
709
715
|
log.success(`Saved to ${targetPath}`);
|
|
710
716
|
if (autoApproveChoice) {
|
|
711
|
-
const { runDangerousRulesAudit } = await import("./permissions-
|
|
717
|
+
const { runDangerousRulesAudit } = await import("./permissions-HZYUVKCY.js");
|
|
712
718
|
await runDangerousRulesAudit(
|
|
713
719
|
[
|
|
714
720
|
claudeProjectSettingsPath(),
|
|
@@ -992,7 +998,7 @@ async function initMenu(gitAvailable) {
|
|
|
992
998
|
log.success(`Saved to ${targetPath}`);
|
|
993
999
|
}
|
|
994
1000
|
if (autoApproveChoice) {
|
|
995
|
-
const { runDangerousRulesAudit } = await import("./permissions-
|
|
1001
|
+
const { runDangerousRulesAudit } = await import("./permissions-HZYUVKCY.js");
|
|
996
1002
|
await runDangerousRulesAudit(
|
|
997
1003
|
[
|
|
998
1004
|
claudeProjectSettingsPath(),
|
|
@@ -1064,6 +1070,10 @@ async function initCommand(opts = {}) {
|
|
|
1064
1070
|
initCodexCommand(opts);
|
|
1065
1071
|
return;
|
|
1066
1072
|
}
|
|
1073
|
+
if (host === "omp") {
|
|
1074
|
+
initOmpCommand(opts);
|
|
1075
|
+
return;
|
|
1076
|
+
}
|
|
1067
1077
|
_stepIndex = 0;
|
|
1068
1078
|
console.log();
|
|
1069
1079
|
printBanner("\u2728 Coding Friend Setup Wizard \u2728");
|
|
@@ -1278,6 +1288,32 @@ function initCodexCommand(opts) {
|
|
|
1278
1288
|
log.congrats("Codex setup complete!");
|
|
1279
1289
|
log.dim("Restart Codex CLI or start a new session to use Coding Friend.");
|
|
1280
1290
|
}
|
|
1291
|
+
function initOmpCommand(_opts) {
|
|
1292
|
+
_stepIndex = 0;
|
|
1293
|
+
console.log();
|
|
1294
|
+
printBanner("\u2728 Coding Friend OMP Setup \u2728");
|
|
1295
|
+
console.log();
|
|
1296
|
+
mkdirSync(ompProjectDir(), { recursive: true });
|
|
1297
|
+
const mcpPath = ompProjectMcpJsonPath();
|
|
1298
|
+
if (!existsSync(mcpPath)) {
|
|
1299
|
+
writeJson(mcpPath, { mcpServers: {} });
|
|
1300
|
+
log.success("Created project .omp/mcp.json.");
|
|
1301
|
+
} else {
|
|
1302
|
+
log.dim(".omp/mcp.json already exists; left unchanged.");
|
|
1303
|
+
}
|
|
1304
|
+
if (!existsSync(localConfigPath())) {
|
|
1305
|
+
writeJson(localConfigPath(), {});
|
|
1306
|
+
log.success("Created .coding-friend/config.json.");
|
|
1307
|
+
} else {
|
|
1308
|
+
log.dim(".coding-friend/config.json already exists; left unchanged.");
|
|
1309
|
+
}
|
|
1310
|
+
console.log();
|
|
1311
|
+
log.congrats("OMP setup complete!");
|
|
1312
|
+
if (!isOmpAgentInstalled("user") && !isOmpAgentInstalled("project")) {
|
|
1313
|
+
log.dim("Next: cf install --agent omp");
|
|
1314
|
+
}
|
|
1315
|
+
log.dim("Restart omp or start a new session to use Coding Friend.");
|
|
1316
|
+
}
|
|
1281
1317
|
function renderCodexAgentsMd() {
|
|
1282
1318
|
return `# Coding Friend
|
|
1283
1319
|
|
|
@@ -1,32 +1,41 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getLatestVersion,
|
|
3
3
|
semverCompare
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-WJHQUCOF.js";
|
|
5
5
|
import {
|
|
6
6
|
getInstalledVersion
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-4CPUWHIN.js";
|
|
8
8
|
import "./chunk-3WIZA5OZ.js";
|
|
9
9
|
import {
|
|
10
10
|
ensureShellCompletion
|
|
11
11
|
} from "./chunk-667NMPN4.js";
|
|
12
|
-
import
|
|
13
|
-
|
|
12
|
+
import {
|
|
13
|
+
registerMemoryMcp
|
|
14
|
+
} from "./chunk-ZGIUKUL2.js";
|
|
14
15
|
import {
|
|
15
16
|
enableMarketplaceAutoUpdate,
|
|
16
17
|
isMarketplaceRegistered,
|
|
17
18
|
isPluginDisabled
|
|
18
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-2EY7VVFT.js";
|
|
19
20
|
import {
|
|
20
21
|
deployCodexAgents,
|
|
21
22
|
findCodexAgentSourceDir,
|
|
22
23
|
isCodexMarketplaceRegistered,
|
|
23
24
|
setCodexPluginEnabled
|
|
24
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-JSH6BMVZ.js";
|
|
26
|
+
import {
|
|
27
|
+
deployOmpAgents,
|
|
28
|
+
writeOmpExtensionEntry
|
|
29
|
+
} from "./chunk-GTOEIGDM.js";
|
|
25
30
|
import {
|
|
26
|
-
checkCodexVersion,
|
|
27
31
|
resolveHostFlags,
|
|
28
32
|
resolveScope
|
|
29
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-VMODQCSL.js";
|
|
34
|
+
import "./chunk-ZZNTNIM4.js";
|
|
35
|
+
import {
|
|
36
|
+
checkCodexVersion,
|
|
37
|
+
checkOmpVersion
|
|
38
|
+
} from "./chunk-OFEC6OVI.js";
|
|
30
39
|
import {
|
|
31
40
|
commandExists,
|
|
32
41
|
run
|
|
@@ -34,7 +43,7 @@ import {
|
|
|
34
43
|
import "./chunk-5UVDWG5L.js";
|
|
35
44
|
import {
|
|
36
45
|
devStatePath
|
|
37
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-IV5OPG34.js";
|
|
38
47
|
import {
|
|
39
48
|
log,
|
|
40
49
|
printBanner
|
|
@@ -48,6 +57,9 @@ async function installCommand(opts = {}) {
|
|
|
48
57
|
if (host === "codex") {
|
|
49
58
|
await installCodexCommand();
|
|
50
59
|
return;
|
|
60
|
+
} else if (host === "omp") {
|
|
61
|
+
await installOmpCommand(opts);
|
|
62
|
+
return;
|
|
51
63
|
}
|
|
52
64
|
printBanner("\u2728 Coding Friend Install \u2728");
|
|
53
65
|
console.log();
|
|
@@ -205,6 +217,37 @@ async function installCodexCommand() {
|
|
|
205
217
|
);
|
|
206
218
|
log.dim("Run cf update --agent codex for on-demand plugin updates.");
|
|
207
219
|
}
|
|
220
|
+
var OMP_INSTALL_URL = "https://omp.sh/";
|
|
221
|
+
var OMP_INSTALL_HINT = `curl -fsSL ${OMP_INSTALL_URL}install | sh`;
|
|
222
|
+
async function installOmpCommand(opts = {}) {
|
|
223
|
+
printBanner("\u2728 Coding Friend omp Install (beta) \u2728");
|
|
224
|
+
console.log();
|
|
225
|
+
if (!commandExists("omp")) {
|
|
226
|
+
log.error(
|
|
227
|
+
`omp CLI not found. Install it first: ${OMP_INSTALL_URL} (${OMP_INSTALL_HINT})`
|
|
228
|
+
);
|
|
229
|
+
process.exit(1);
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
const version = checkOmpVersion();
|
|
233
|
+
if (!version.ok) {
|
|
234
|
+
log.error(
|
|
235
|
+
`omp CLI ${version.actual ? `v${version.actual}` : "version"} is unsupported. Coding Friend requires omp CLI >= ${version.min}. Install or upgrade: ${OMP_INSTALL_URL} (${OMP_INSTALL_HINT})`
|
|
236
|
+
);
|
|
237
|
+
process.exit(1);
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
const ompScope = opts.project || opts.local ? "project" : "user";
|
|
241
|
+
const { deployed } = deployOmpAgents(ompScope);
|
|
242
|
+
log.success(`Deployed ${deployed.length} omp agent definition(s).`);
|
|
243
|
+
writeOmpExtensionEntry(ompScope);
|
|
244
|
+
log.success("Wrote omp extension entry.");
|
|
245
|
+
registerMemoryMcp("omp");
|
|
246
|
+
console.log();
|
|
247
|
+
log.success("Installed for omp (beta).");
|
|
248
|
+
log.dim("Skills inherit from ~/.claude \u2014 no extra skill install needed.");
|
|
249
|
+
log.dim("Restart omp (or start a new session) to pick up agents and MCP.");
|
|
250
|
+
}
|
|
208
251
|
export {
|
|
209
252
|
installCommand
|
|
210
253
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveLearnDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FQUIO5BW.js";
|
|
4
4
|
import "./chunk-3WIZA5OZ.js";
|
|
5
5
|
import {
|
|
6
6
|
commandExists,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "./chunk-5UVDWG5L.js";
|
|
14
14
|
import {
|
|
15
15
|
globalConfigPath
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-IV5OPG34.js";
|
|
17
17
|
import {
|
|
18
18
|
log,
|
|
19
19
|
printBanner
|
|
@@ -1,34 +1,36 @@
|
|
|
1
1
|
import {
|
|
2
2
|
listMdFilesRecursive
|
|
3
3
|
} from "./chunk-2DTXVMPQ.js";
|
|
4
|
-
import {
|
|
5
|
-
isLearnMcpRegistered,
|
|
6
|
-
registerLearnMcp
|
|
7
|
-
} from "./chunk-6NXZKAOV.js";
|
|
8
4
|
import {
|
|
9
5
|
ensureMemoryBuilt,
|
|
10
6
|
printMemoryMcpConfig
|
|
11
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ODW27NAC.js";
|
|
12
8
|
import {
|
|
13
9
|
checkLearnMcpHealth,
|
|
14
10
|
checkMemoryMcpHealth,
|
|
15
11
|
detectMemoryMcpState,
|
|
16
12
|
printHealthSection,
|
|
17
13
|
warnStaleMcpJson
|
|
18
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-YPW67OGP.js";
|
|
19
15
|
import {
|
|
20
16
|
resolveLearnDir,
|
|
21
17
|
resolveMemoryDir
|
|
22
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-FQUIO5BW.js";
|
|
23
19
|
import "./chunk-3WIZA5OZ.js";
|
|
20
|
+
import {
|
|
21
|
+
isLearnMcpRegistered,
|
|
22
|
+
registerLearnMcp
|
|
23
|
+
} from "./chunk-7JQZRMOG.js";
|
|
24
24
|
import {
|
|
25
25
|
isMemoryMcpRegistered,
|
|
26
26
|
registerMemoryMcp
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-ZGIUKUL2.js";
|
|
28
|
+
import "./chunk-GTOEIGDM.js";
|
|
29
|
+
import "./chunk-VMODQCSL.js";
|
|
28
30
|
import {
|
|
29
31
|
getLibPath
|
|
30
|
-
} from "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
+
} from "./chunk-ZZNTNIM4.js";
|
|
33
|
+
import "./chunk-OFEC6OVI.js";
|
|
32
34
|
import {
|
|
33
35
|
run
|
|
34
36
|
} from "./chunk-EVGXUDX4.js";
|
|
@@ -37,7 +39,7 @@ import {
|
|
|
37
39
|
} from "./chunk-5UVDWG5L.js";
|
|
38
40
|
import {
|
|
39
41
|
globalConfigPath
|
|
40
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-IV5OPG34.js";
|
|
41
43
|
import {
|
|
42
44
|
log,
|
|
43
45
|
printBanner
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveProjectMemoryDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FQUIO5BW.js";
|
|
4
4
|
import "./chunk-3WIZA5OZ.js";
|
|
5
5
|
import {
|
|
6
6
|
getLibPath
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ZZNTNIM4.js";
|
|
8
|
+
import "./chunk-OFEC6OVI.js";
|
|
8
9
|
import "./chunk-EVGXUDX4.js";
|
|
9
10
|
import "./chunk-5UVDWG5L.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-IV5OPG34.js";
|
|
11
12
|
import {
|
|
12
13
|
log
|
|
13
14
|
} from "./chunk-NREZK463.js";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getLibPath
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZZNTNIM4.js";
|
|
4
|
+
import "./chunk-OFEC6OVI.js";
|
|
4
5
|
import {
|
|
5
6
|
runWithStderr
|
|
6
7
|
} from "./chunk-EVGXUDX4.js";
|
|
@@ -9,7 +10,7 @@ import {
|
|
|
9
10
|
} from "./chunk-5UVDWG5L.js";
|
|
10
11
|
import {
|
|
11
12
|
globalConfigPath
|
|
12
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-IV5OPG34.js";
|
|
13
14
|
import {
|
|
14
15
|
log
|
|
15
16
|
} from "./chunk-NREZK463.js";
|
|
@@ -14,16 +14,18 @@ import {
|
|
|
14
14
|
memoryStopDaemonCommand,
|
|
15
15
|
printMemoryMcpConfig,
|
|
16
16
|
refreshMemoryAfterUpdate
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-ODW27NAC.js";
|
|
18
|
+
import "./chunk-YPW67OGP.js";
|
|
19
|
+
import "./chunk-FQUIO5BW.js";
|
|
20
20
|
import "./chunk-3WIZA5OZ.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-ZGIUKUL2.js";
|
|
22
|
+
import "./chunk-GTOEIGDM.js";
|
|
23
|
+
import "./chunk-VMODQCSL.js";
|
|
24
|
+
import "./chunk-ZZNTNIM4.js";
|
|
25
|
+
import "./chunk-OFEC6OVI.js";
|
|
24
26
|
import "./chunk-EVGXUDX4.js";
|
|
25
27
|
import "./chunk-5UVDWG5L.js";
|
|
26
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-IV5OPG34.js";
|
|
27
29
|
import "./chunk-NREZK463.js";
|
|
28
30
|
export {
|
|
29
31
|
ensureMemoryBuilt,
|
|
@@ -8,14 +8,15 @@ import {
|
|
|
8
8
|
groupByCategory,
|
|
9
9
|
logPluginScriptWarning,
|
|
10
10
|
runDangerousRulesAudit
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-463QKRBN.js";
|
|
12
12
|
import {
|
|
13
13
|
askScope,
|
|
14
14
|
formatScopeLabel,
|
|
15
15
|
getMergedValue,
|
|
16
16
|
getScopeLabel,
|
|
17
17
|
resolveHostFlags
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-VMODQCSL.js";
|
|
19
|
+
import "./chunk-OFEC6OVI.js";
|
|
19
20
|
import "./chunk-EVGXUDX4.js";
|
|
20
21
|
import {
|
|
21
22
|
mergeJson,
|
|
@@ -27,7 +28,7 @@ import {
|
|
|
27
28
|
claudeSettingsPath,
|
|
28
29
|
globalConfigPath,
|
|
29
30
|
localConfigPath
|
|
30
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-IV5OPG34.js";
|
|
31
32
|
import {
|
|
32
33
|
log,
|
|
33
34
|
printBanner
|
|
@@ -218,6 +219,13 @@ async function permissionCommand(opts) {
|
|
|
218
219
|
codexPermissionCommand(opts);
|
|
219
220
|
return;
|
|
220
221
|
}
|
|
222
|
+
if (host === "omp") {
|
|
223
|
+
log.info(
|
|
224
|
+
"omp uses its own approval-mode; run `omp config` / omp approval settings \u2014 coding-friend does not manage omp permissions."
|
|
225
|
+
);
|
|
226
|
+
log.dim("See docs/omp-dev.md.");
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
221
229
|
printBanner("\u2728 Coding Friend Permissions \u2728");
|
|
222
230
|
console.log();
|
|
223
231
|
const {
|
|
@@ -15,9 +15,9 @@ import {
|
|
|
15
15
|
logPluginScriptWarning,
|
|
16
16
|
runDangerousRulesAudit,
|
|
17
17
|
stripDangerousRules
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-463QKRBN.js";
|
|
19
19
|
import "./chunk-5UVDWG5L.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-IV5OPG34.js";
|
|
21
21
|
export {
|
|
22
22
|
DANGEROUS_RULE_PATTERNS,
|
|
23
23
|
PERMISSION_RULES,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
loadConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FQUIO5BW.js";
|
|
4
4
|
import "./chunk-3WIZA5OZ.js";
|
|
5
5
|
import "./chunk-EVGXUDX4.js";
|
|
6
6
|
import {
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
claudeSessionDir,
|
|
12
12
|
encodeProjectPath,
|
|
13
13
|
resolvePath
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-IV5OPG34.js";
|
|
15
15
|
import {
|
|
16
16
|
log
|
|
17
17
|
} from "./chunk-NREZK463.js";
|
|
@@ -1,44 +1,46 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getExistingRules
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-463QKRBN.js";
|
|
4
4
|
import {
|
|
5
5
|
listMdFilesRecursive
|
|
6
6
|
} from "./chunk-2DTXVMPQ.js";
|
|
7
|
-
import {
|
|
8
|
-
isLearnMcpRegistered
|
|
9
|
-
} from "./chunk-6NXZKAOV.js";
|
|
10
7
|
import {
|
|
11
8
|
checkLearnMcpHealth,
|
|
12
9
|
checkMemoryMcpHealth
|
|
13
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YPW67OGP.js";
|
|
14
11
|
import {
|
|
15
12
|
resolveLearnDir,
|
|
16
13
|
resolveMemoryDir,
|
|
17
14
|
sanitizeRawConfig
|
|
18
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-FQUIO5BW.js";
|
|
19
16
|
import {
|
|
20
17
|
getCliVersion,
|
|
21
18
|
getLatestCliVersion,
|
|
22
19
|
getLatestVersion,
|
|
23
20
|
semverCompare
|
|
24
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-WJHQUCOF.js";
|
|
25
22
|
import {
|
|
26
23
|
getInstalledVersion
|
|
27
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-4CPUWHIN.js";
|
|
28
25
|
import "./chunk-3WIZA5OZ.js";
|
|
26
|
+
import {
|
|
27
|
+
isLearnMcpRegistered
|
|
28
|
+
} from "./chunk-7JQZRMOG.js";
|
|
29
29
|
import "./chunk-667NMPN4.js";
|
|
30
30
|
import {
|
|
31
31
|
isMemoryMcpRegistered
|
|
32
|
-
} from "./chunk-
|
|
33
|
-
import {
|
|
34
|
-
getLibPath
|
|
35
|
-
} from "./chunk-RZRT7NGT.js";
|
|
32
|
+
} from "./chunk-ZGIUKUL2.js";
|
|
36
33
|
import {
|
|
37
34
|
detectPluginScope,
|
|
38
35
|
isPluginDisabled
|
|
39
|
-
} from "./chunk-
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
36
|
+
} from "./chunk-2EY7VVFT.js";
|
|
37
|
+
import "./chunk-JSH6BMVZ.js";
|
|
38
|
+
import "./chunk-GTOEIGDM.js";
|
|
39
|
+
import "./chunk-VMODQCSL.js";
|
|
40
|
+
import {
|
|
41
|
+
getLibPath
|
|
42
|
+
} from "./chunk-ZZNTNIM4.js";
|
|
43
|
+
import "./chunk-OFEC6OVI.js";
|
|
42
44
|
import "./chunk-EVGXUDX4.js";
|
|
43
45
|
import {
|
|
44
46
|
readJson
|
|
@@ -48,7 +50,7 @@ import {
|
|
|
48
50
|
devStatePath,
|
|
49
51
|
globalConfigPath,
|
|
50
52
|
localConfigPath
|
|
51
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-IV5OPG34.js";
|
|
52
54
|
import "./chunk-NREZK463.js";
|
|
53
55
|
|
|
54
56
|
// src/commands/status.ts
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
saveStatuslineConfig,
|
|
9
9
|
selectStatuslineComponents,
|
|
10
10
|
writeStatuslineSettings
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-4CPUWHIN.js";
|
|
12
12
|
import {
|
|
13
13
|
ALL_COMPONENT_IDS
|
|
14
14
|
} from "./chunk-3WIZA5OZ.js";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
commandExists
|
|
17
17
|
} from "./chunk-EVGXUDX4.js";
|
|
18
18
|
import "./chunk-5UVDWG5L.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-IV5OPG34.js";
|
|
20
20
|
import {
|
|
21
21
|
log,
|
|
22
22
|
printBanner
|
|
@@ -1,25 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
unregisterLearnMcp
|
|
3
|
+
} from "./chunk-7JQZRMOG.js";
|
|
1
4
|
import {
|
|
2
5
|
hasShellCompletion,
|
|
3
6
|
removeShellCompletion
|
|
4
7
|
} from "./chunk-667NMPN4.js";
|
|
5
8
|
import {
|
|
6
|
-
removeMemoryMcpEntry
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
removeMemoryMcpEntry,
|
|
10
|
+
unregisterMemoryMcp
|
|
11
|
+
} from "./chunk-ZGIUKUL2.js";
|
|
9
12
|
import {
|
|
10
13
|
isMarketplaceRegistered,
|
|
11
14
|
isPluginInstalled
|
|
12
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-2EY7VVFT.js";
|
|
13
16
|
import {
|
|
14
17
|
CODEX_MARKETPLACE_NAME,
|
|
15
18
|
removeCodexMemoryMcpConfig,
|
|
16
19
|
removeDeployedCodexAgents,
|
|
17
20
|
setCodexPluginEnabled
|
|
18
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-JSH6BMVZ.js";
|
|
22
|
+
import {
|
|
23
|
+
isOmpAgentInstalled,
|
|
24
|
+
removeOmpAgents,
|
|
25
|
+
removeOmpExtensionEntry
|
|
26
|
+
} from "./chunk-GTOEIGDM.js";
|
|
19
27
|
import {
|
|
20
28
|
resolveHostFlags,
|
|
21
29
|
resolveScope
|
|
22
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-VMODQCSL.js";
|
|
31
|
+
import "./chunk-ZZNTNIM4.js";
|
|
32
|
+
import "./chunk-OFEC6OVI.js";
|
|
23
33
|
import {
|
|
24
34
|
commandExists,
|
|
25
35
|
run
|
|
@@ -34,8 +44,10 @@ import {
|
|
|
34
44
|
globalConfigDir,
|
|
35
45
|
marketplaceCachePath,
|
|
36
46
|
marketplaceClonePath,
|
|
37
|
-
memoryDepsDir
|
|
38
|
-
|
|
47
|
+
memoryDepsDir,
|
|
48
|
+
ompExtensionsDir,
|
|
49
|
+
ompProjectExtensionsDir
|
|
50
|
+
} from "./chunk-IV5OPG34.js";
|
|
39
51
|
import {
|
|
40
52
|
log,
|
|
41
53
|
printBanner
|
|
@@ -43,6 +55,7 @@ import {
|
|
|
43
55
|
|
|
44
56
|
// src/commands/uninstall.ts
|
|
45
57
|
import { existsSync, rmSync } from "fs";
|
|
58
|
+
import { join } from "path";
|
|
46
59
|
import { confirm } from "@inquirer/prompts";
|
|
47
60
|
import chalk from "chalk";
|
|
48
61
|
var MARKETPLACE_NAME = "coding-friend-marketplace";
|
|
@@ -140,6 +153,10 @@ async function uninstallCommand(opts = {}) {
|
|
|
140
153
|
uninstallCodexCommand(opts);
|
|
141
154
|
return;
|
|
142
155
|
}
|
|
156
|
+
if (host === "omp") {
|
|
157
|
+
uninstallOmpCommand(opts);
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
143
160
|
console.log();
|
|
144
161
|
printBanner("\u{1F44B} Coding Friend Uninstall \u{1F44B}", { color: chalk.red });
|
|
145
162
|
if (!commandExists("claude")) {
|
|
@@ -311,6 +328,33 @@ async function uninstallCommand(opts = {}) {
|
|
|
311
328
|
log.dim("To also remove the CLI tool globally, run:");
|
|
312
329
|
console.log(` ${chalk.bold("npm uninstall -g coding-friend-cli")}`);
|
|
313
330
|
}
|
|
331
|
+
var OMP_EXTENSION_SHIM = "coding-friend.ts";
|
|
332
|
+
function toOmpScope(opts) {
|
|
333
|
+
if (opts.project || opts.local) return "project";
|
|
334
|
+
return "user";
|
|
335
|
+
}
|
|
336
|
+
function isOmpExtensionPresent(scope) {
|
|
337
|
+
const dir = scope === "project" ? ompProjectExtensionsDir() : ompExtensionsDir();
|
|
338
|
+
return existsSync(join(dir, OMP_EXTENSION_SHIM));
|
|
339
|
+
}
|
|
340
|
+
function uninstallOmpCommand(opts) {
|
|
341
|
+
console.log();
|
|
342
|
+
printBanner("\u{1F44B} Coding Friend omp Uninstall \u{1F44B}", { color: chalk.red });
|
|
343
|
+
const scope = toOmpScope(opts);
|
|
344
|
+
if (!isOmpAgentInstalled(scope) && !isOmpExtensionPresent(scope)) {
|
|
345
|
+
log.info("Nothing to uninstall");
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
log.step(`Uninstalling Coding Friend from omp (${scope} scope)...`);
|
|
349
|
+
removeOmpAgents(scope);
|
|
350
|
+
removeOmpExtensionEntry(scope);
|
|
351
|
+
if (scope === "user") {
|
|
352
|
+
unregisterMemoryMcp("omp");
|
|
353
|
+
unregisterLearnMcp("omp");
|
|
354
|
+
}
|
|
355
|
+
log.success(`Coding Friend uninstalled from omp (${scope} scope).`);
|
|
356
|
+
log.dim("Restart omp for the change to take effect.");
|
|
357
|
+
}
|
|
314
358
|
function uninstallCodexCommand(opts) {
|
|
315
359
|
console.log();
|
|
316
360
|
printBanner("\u{1F44B} Coding Friend Codex Uninstall \u{1F44B}", { color: chalk.red });
|
|
@@ -4,17 +4,20 @@ import {
|
|
|
4
4
|
getLatestVersion,
|
|
5
5
|
semverCompare,
|
|
6
6
|
updateCommand
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-WJHQUCOF.js";
|
|
8
|
+
import "./chunk-4CPUWHIN.js";
|
|
9
9
|
import "./chunk-3WIZA5OZ.js";
|
|
10
10
|
import "./chunk-667NMPN4.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-ZGIUKUL2.js";
|
|
12
|
+
import "./chunk-2EY7VVFT.js";
|
|
13
|
+
import "./chunk-JSH6BMVZ.js";
|
|
14
|
+
import "./chunk-GTOEIGDM.js";
|
|
15
|
+
import "./chunk-VMODQCSL.js";
|
|
16
|
+
import "./chunk-ZZNTNIM4.js";
|
|
17
|
+
import "./chunk-OFEC6OVI.js";
|
|
15
18
|
import "./chunk-EVGXUDX4.js";
|
|
16
19
|
import "./chunk-5UVDWG5L.js";
|
|
17
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-IV5OPG34.js";
|
|
18
21
|
import "./chunk-NREZK463.js";
|
|
19
22
|
export {
|
|
20
23
|
getCliVersion,
|