@goondocks/myco 0.20.0 → 0.20.2
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/{agent-run-4HUXVRHW.js → agent-run-X25Q2A6T.js} +6 -6
- package/dist/{agent-tasks-JF45ELB6.js → agent-tasks-7B6OFERB.js} +6 -6
- package/dist/{chunk-POR75WM6.js → chunk-2PDWCDKY.js} +2 -2
- package/dist/{chunk-57O67XVF.js → chunk-6X2ERTQV.js} +2 -2
- package/dist/{chunk-4M7EWPIA.js → chunk-CCRGY3QW.js} +4 -3
- package/dist/{chunk-4M7EWPIA.js.map → chunk-CCRGY3QW.js.map} +1 -1
- package/dist/{chunk-P3DN5EWW.js → chunk-JZGN33AY.js} +5 -5
- package/dist/chunk-JZGN33AY.js.map +1 -0
- package/dist/{chunk-YSNIAJ5D.js → chunk-KESLPBKV.js} +3 -3
- package/dist/{chunk-SRXTSI25.js → chunk-OD4AA7PV.js} +2 -2
- package/dist/chunk-OD4AA7PV.js.map +1 -0
- package/dist/{chunk-4LCIKVDM.js → chunk-Q36VMZST.js} +4 -4
- package/dist/chunk-Q36VMZST.js.map +1 -0
- package/dist/{chunk-L6XFAJIF.js → chunk-UYMFCYBF.js} +57 -7
- package/dist/chunk-UYMFCYBF.js.map +1 -0
- package/dist/{chunk-UOQQENDW.js → chunk-VVNL26WX.js} +2 -2
- package/dist/{chunk-QS5TWZBL.js → chunk-XATDZX7U.js} +2 -2
- package/dist/{chunk-ACQ2AIEM.js → chunk-XG5RRUYF.js} +2 -2
- package/dist/{cli-AHTINAHY.js → cli-GGPWH4UO.js} +38 -38
- package/dist/{client-LHENCAV3.js → client-YXQUTXVZ.js} +3 -3
- package/dist/{config-XPV5GDE4.js → config-OMCYHG2S.js} +2 -2
- package/dist/{doctor-XPCF5HV5.js → doctor-5JXJ36KA.js} +9 -9
- package/dist/doctor-5JXJ36KA.js.map +1 -0
- package/dist/{executor-ACDHGTRH.js → executor-HWW2QNZQ.js} +10 -10
- package/dist/{init-V3KCC36O.js → init-LMYOVZAV.js} +12 -16
- package/dist/init-LMYOVZAV.js.map +1 -0
- package/dist/{installer-ZNK4JSQA.js → installer-FS257JRZ.js} +3 -3
- package/dist/{loader-H7OFASVC.js → loader-CQYTFHEW.js} +2 -2
- package/dist/{loader-TSB5M7FD.js → loader-NOMBJUPW.js} +2 -2
- package/dist/{main-5S4MDCIO.js → main-YTBVRTBI.js} +234 -115
- package/dist/main-YTBVRTBI.js.map +1 -0
- package/dist/{open-AB5ULZIB.js → open-HG2DX6RN.js} +6 -6
- package/dist/{post-compact-P2B7C7FE.js → post-compact-JSECI44W.js} +4 -4
- package/dist/{post-tool-use-LXL6NXDS.js → post-tool-use-POGPTJBA.js} +3 -3
- package/dist/{post-tool-use-failure-WAYVVKGR.js → post-tool-use-failure-OT7BFWQW.js} +4 -4
- package/dist/{pre-compact-BCXUCF4V.js → pre-compact-OXVODKH4.js} +4 -4
- package/dist/{registry-MGJSJBAS.js → registry-U4CHXK6R.js} +3 -3
- package/dist/{remove-KAPX5NT2.js → remove-N7ZPELFU.js} +6 -6
- package/dist/{restart-HQO36FTG.js → restart-ADG5GBTB.js} +7 -7
- package/dist/{search-YOMOKAAI.js → search-AHZEUNRR.js} +6 -6
- package/dist/{server-2N23P6F2.js → server-AGVYZVP5.js} +3 -3
- package/dist/{session-WW2JLHPX.js → session-6IU4AXYP.js} +6 -6
- package/dist/{session-end-4WRTIBVQ.js → session-end-FT27DWYZ.js} +3 -3
- package/dist/{session-start-HRWTZXQR.js → session-start-LAFICHII.js} +6 -6
- package/dist/{session-start-HRWTZXQR.js.map → session-start-LAFICHII.js.map} +1 -1
- package/dist/{setup-llm-HFWSBUAF.js → setup-llm-77MP4I2G.js} +6 -6
- package/dist/src/agent/definitions/tasks/full-intelligence.yaml +1 -1
- package/dist/src/agent/definitions/tasks/skill-evolve.yaml +1 -0
- package/dist/src/agent/definitions/tasks/skill-generate.yaml +1 -0
- package/dist/src/agent/definitions/tasks/skill-survey.yaml +23 -7
- package/dist/src/cli.js +1 -1
- package/dist/src/daemon/main.js +1 -1
- package/dist/src/hooks/post-tool-use.js +1 -1
- package/dist/src/hooks/session-end.js +1 -1
- package/dist/src/hooks/session-start.js +1 -1
- package/dist/src/hooks/stop.js +1 -1
- package/dist/src/hooks/user-prompt-submit.js +1 -1
- package/dist/src/mcp/server.js +1 -1
- package/dist/{stats-7A4CJ4MS.js → stats-NVPWOYTE.js} +7 -7
- package/dist/{stop-R2GDHMRA.js → stop-ZPIKVLH4.js} +3 -3
- package/dist/{stop-failure-773KR4VZ.js → stop-failure-2PX67YJC.js} +4 -4
- package/dist/{subagent-start-IDECNBHW.js → subagent-start-UUE6EHQD.js} +4 -4
- package/dist/{subagent-stop-3JH7DR2S.js → subagent-stop-KQWWWPE6.js} +4 -4
- package/dist/{task-completed-AYVHPHDR.js → task-completed-WMHOFQ7B.js} +4 -4
- package/dist/{team-3JKF7VAD.js → team-LRZ6GTQK.js} +3 -3
- package/dist/{update-YWYW55JM.js → update-O6V4RC4W.js} +6 -6
- package/dist/{user-prompt-submit-YELSR6XI.js → user-prompt-submit-N36KUPHI.js} +3 -3
- package/dist/{verify-JS44DVKJ.js → verify-LXPV7NYG.js} +4 -4
- package/dist/verify-LXPV7NYG.js.map +1 -0
- package/dist/{version-K5NETYIL.js → version-XMPPJQHR.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-4LCIKVDM.js.map +0 -1
- package/dist/chunk-L6XFAJIF.js.map +0 -1
- package/dist/chunk-P3DN5EWW.js.map +0 -1
- package/dist/chunk-SRXTSI25.js.map +0 -1
- package/dist/doctor-XPCF5HV5.js.map +0 -1
- package/dist/init-V3KCC36O.js.map +0 -1
- package/dist/main-5S4MDCIO.js.map +0 -1
- package/dist/verify-JS44DVKJ.js.map +0 -1
- /package/dist/{agent-run-4HUXVRHW.js.map → agent-run-X25Q2A6T.js.map} +0 -0
- /package/dist/{agent-tasks-JF45ELB6.js.map → agent-tasks-7B6OFERB.js.map} +0 -0
- /package/dist/{chunk-POR75WM6.js.map → chunk-2PDWCDKY.js.map} +0 -0
- /package/dist/{chunk-57O67XVF.js.map → chunk-6X2ERTQV.js.map} +0 -0
- /package/dist/{chunk-YSNIAJ5D.js.map → chunk-KESLPBKV.js.map} +0 -0
- /package/dist/{chunk-UOQQENDW.js.map → chunk-VVNL26WX.js.map} +0 -0
- /package/dist/{chunk-QS5TWZBL.js.map → chunk-XATDZX7U.js.map} +0 -0
- /package/dist/{chunk-ACQ2AIEM.js.map → chunk-XG5RRUYF.js.map} +0 -0
- /package/dist/{cli-AHTINAHY.js.map → cli-GGPWH4UO.js.map} +0 -0
- /package/dist/{client-LHENCAV3.js.map → client-YXQUTXVZ.js.map} +0 -0
- /package/dist/{config-XPV5GDE4.js.map → config-OMCYHG2S.js.map} +0 -0
- /package/dist/{executor-ACDHGTRH.js.map → executor-HWW2QNZQ.js.map} +0 -0
- /package/dist/{installer-ZNK4JSQA.js.map → installer-FS257JRZ.js.map} +0 -0
- /package/dist/{loader-H7OFASVC.js.map → loader-CQYTFHEW.js.map} +0 -0
- /package/dist/{loader-TSB5M7FD.js.map → loader-NOMBJUPW.js.map} +0 -0
- /package/dist/{open-AB5ULZIB.js.map → open-HG2DX6RN.js.map} +0 -0
- /package/dist/{post-compact-P2B7C7FE.js.map → post-compact-JSECI44W.js.map} +0 -0
- /package/dist/{post-tool-use-LXL6NXDS.js.map → post-tool-use-POGPTJBA.js.map} +0 -0
- /package/dist/{post-tool-use-failure-WAYVVKGR.js.map → post-tool-use-failure-OT7BFWQW.js.map} +0 -0
- /package/dist/{pre-compact-BCXUCF4V.js.map → pre-compact-OXVODKH4.js.map} +0 -0
- /package/dist/{registry-MGJSJBAS.js.map → registry-U4CHXK6R.js.map} +0 -0
- /package/dist/{remove-KAPX5NT2.js.map → remove-N7ZPELFU.js.map} +0 -0
- /package/dist/{restart-HQO36FTG.js.map → restart-ADG5GBTB.js.map} +0 -0
- /package/dist/{search-YOMOKAAI.js.map → search-AHZEUNRR.js.map} +0 -0
- /package/dist/{server-2N23P6F2.js.map → server-AGVYZVP5.js.map} +0 -0
- /package/dist/{session-WW2JLHPX.js.map → session-6IU4AXYP.js.map} +0 -0
- /package/dist/{session-end-4WRTIBVQ.js.map → session-end-FT27DWYZ.js.map} +0 -0
- /package/dist/{setup-llm-HFWSBUAF.js.map → setup-llm-77MP4I2G.js.map} +0 -0
- /package/dist/{stats-7A4CJ4MS.js.map → stats-NVPWOYTE.js.map} +0 -0
- /package/dist/{stop-R2GDHMRA.js.map → stop-ZPIKVLH4.js.map} +0 -0
- /package/dist/{stop-failure-773KR4VZ.js.map → stop-failure-2PX67YJC.js.map} +0 -0
- /package/dist/{subagent-start-IDECNBHW.js.map → subagent-start-UUE6EHQD.js.map} +0 -0
- /package/dist/{subagent-stop-3JH7DR2S.js.map → subagent-stop-KQWWWPE6.js.map} +0 -0
- /package/dist/{task-completed-AYVHPHDR.js.map → task-completed-WMHOFQ7B.js.map} +0 -0
- /package/dist/{team-3JKF7VAD.js.map → team-LRZ6GTQK.js.map} +0 -0
- /package/dist/{update-YWYW55JM.js.map → update-O6V4RC4W.js.map} +0 -0
- /package/dist/{user-prompt-submit-YELSR6XI.js.map → user-prompt-submit-N36KUPHI.js.map} +0 -0
- /package/dist/{version-K5NETYIL.js.map → version-XMPPJQHR.js.map} +0 -0
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
loadEnv
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-KESLPBKV.js";
|
|
6
6
|
import "./chunk-SAKJMNSR.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-Q36VMZST.js";
|
|
8
8
|
import "./chunk-FMRZ26U5.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-OD4AA7PV.js";
|
|
10
10
|
import "./chunk-MYX5NCRH.js";
|
|
11
11
|
import {
|
|
12
12
|
resolveVaultDir
|
|
13
13
|
} from "./chunk-CUDIZJY7.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-VVNL26WX.js";
|
|
15
|
+
import "./chunk-XG5RRUYF.js";
|
|
16
16
|
import "./chunk-LPUQPDC2.js";
|
|
17
17
|
import "./chunk-FLLBJLHM.js";
|
|
18
18
|
import "./chunk-UUHLLQXO.js";
|
|
@@ -59,29 +59,29 @@ async function main() {
|
|
|
59
59
|
process.stdout.write(USAGE);
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
62
|
-
if (cmd === "init") return (await import("./init-
|
|
62
|
+
if (cmd === "init") return (await import("./init-LMYOVZAV.js")).run(args);
|
|
63
63
|
if (cmd === "detect-providers") return (await import("./detect-providers-5KOPZ7J2.js")).run(args);
|
|
64
64
|
if (cmd === "version" || cmd === "--version" || cmd === "-v") {
|
|
65
|
-
const { getPluginVersion } = await import("./version-
|
|
65
|
+
const { getPluginVersion } = await import("./version-XMPPJQHR.js");
|
|
66
66
|
console.log(getPluginVersion());
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
|
-
if (cmd === "mcp") return (await import("./server-
|
|
69
|
+
if (cmd === "mcp") return (await import("./server-AGVYZVP5.js")).main();
|
|
70
70
|
if (cmd === "hook") {
|
|
71
71
|
const hookName = args[0];
|
|
72
72
|
const HOOK_DISPATCH = {
|
|
73
|
-
"session-start": () => import("./session-start-
|
|
74
|
-
"session-end": () => import("./session-end-
|
|
75
|
-
"stop": () => import("./stop-
|
|
76
|
-
"user-prompt-submit": () => import("./user-prompt-submit-
|
|
77
|
-
"post-tool-use": () => import("./post-tool-use-
|
|
78
|
-
"post-tool-use-failure": () => import("./post-tool-use-failure-
|
|
79
|
-
"subagent-start": () => import("./subagent-start-
|
|
80
|
-
"subagent-stop": () => import("./subagent-stop-
|
|
81
|
-
"stop-failure": () => import("./stop-failure-
|
|
82
|
-
"task-completed": () => import("./task-completed-
|
|
83
|
-
"pre-compact": () => import("./pre-compact-
|
|
84
|
-
"post-compact": () => import("./post-compact-
|
|
73
|
+
"session-start": () => import("./session-start-LAFICHII.js"),
|
|
74
|
+
"session-end": () => import("./session-end-FT27DWYZ.js"),
|
|
75
|
+
"stop": () => import("./stop-ZPIKVLH4.js"),
|
|
76
|
+
"user-prompt-submit": () => import("./user-prompt-submit-N36KUPHI.js"),
|
|
77
|
+
"post-tool-use": () => import("./post-tool-use-POGPTJBA.js"),
|
|
78
|
+
"post-tool-use-failure": () => import("./post-tool-use-failure-OT7BFWQW.js"),
|
|
79
|
+
"subagent-start": () => import("./subagent-start-UUE6EHQD.js"),
|
|
80
|
+
"subagent-stop": () => import("./subagent-stop-KQWWWPE6.js"),
|
|
81
|
+
"stop-failure": () => import("./stop-failure-2PX67YJC.js"),
|
|
82
|
+
"task-completed": () => import("./task-completed-WMHOFQ7B.js"),
|
|
83
|
+
"pre-compact": () => import("./pre-compact-OXVODKH4.js"),
|
|
84
|
+
"post-compact": () => import("./post-compact-JSECI44W.js")
|
|
85
85
|
};
|
|
86
86
|
const loader = HOOK_DISPATCH[hookName];
|
|
87
87
|
if (!loader) {
|
|
@@ -90,13 +90,13 @@ async function main() {
|
|
|
90
90
|
}
|
|
91
91
|
return (await loader()).main();
|
|
92
92
|
}
|
|
93
|
-
if (cmd === "daemon") return (await import("./main-
|
|
93
|
+
if (cmd === "daemon") return (await import("./main-YTBVRTBI.js")).main();
|
|
94
94
|
if (cmd === "doctor") {
|
|
95
95
|
const vaultDir2 = resolveVaultDir();
|
|
96
|
-
return (await import("./doctor-
|
|
96
|
+
return (await import("./doctor-5JXJ36KA.js")).run(args, vaultDir2);
|
|
97
97
|
}
|
|
98
|
-
if (cmd === "update") return (await import("./update-
|
|
99
|
-
if (cmd === "remove") return (await import("./remove-
|
|
98
|
+
if (cmd === "update") return (await import("./update-O6V4RC4W.js")).run(args);
|
|
99
|
+
if (cmd === "remove") return (await import("./remove-N7ZPELFU.js")).run(args);
|
|
100
100
|
const vaultDir = resolveVaultDir();
|
|
101
101
|
if (!fs.existsSync(path.join(vaultDir, "myco.yaml"))) {
|
|
102
102
|
console.error(`No myco.yaml found in ${vaultDir}. Run 'myco init' first.`);
|
|
@@ -104,37 +104,37 @@ async function main() {
|
|
|
104
104
|
}
|
|
105
105
|
switch (cmd) {
|
|
106
106
|
case "config":
|
|
107
|
-
return (await import("./config-
|
|
107
|
+
return (await import("./config-OMCYHG2S.js")).run(args, vaultDir);
|
|
108
108
|
case "verify":
|
|
109
|
-
return (await import("./verify-
|
|
109
|
+
return (await import("./verify-LXPV7NYG.js")).run(args, vaultDir);
|
|
110
110
|
case "stats":
|
|
111
|
-
return (await import("./stats-
|
|
111
|
+
return (await import("./stats-NVPWOYTE.js")).run(args, vaultDir);
|
|
112
112
|
case "search":
|
|
113
|
-
return (await import("./search-
|
|
113
|
+
return (await import("./search-AHZEUNRR.js")).run(args, vaultDir);
|
|
114
114
|
case "vectors":
|
|
115
|
-
return (await import("./search-
|
|
115
|
+
return (await import("./search-AHZEUNRR.js")).runVectors(args, vaultDir);
|
|
116
116
|
case "session":
|
|
117
|
-
return (await import("./session-
|
|
117
|
+
return (await import("./session-6IU4AXYP.js")).run(args, vaultDir);
|
|
118
118
|
case "setup-llm":
|
|
119
|
-
return (await import("./setup-llm-
|
|
119
|
+
return (await import("./setup-llm-77MP4I2G.js")).run(args, vaultDir);
|
|
120
120
|
case "setup-digest":
|
|
121
121
|
return (await import("./setup-digest-4KDSXAIV.js")).run(args, vaultDir);
|
|
122
122
|
case "agent":
|
|
123
|
-
return (await import("./agent-run-
|
|
123
|
+
return (await import("./agent-run-X25Q2A6T.js")).run(args, vaultDir);
|
|
124
124
|
case "task":
|
|
125
|
-
return (await import("./agent-tasks-
|
|
125
|
+
return (await import("./agent-tasks-7B6OFERB.js")).run(args, vaultDir);
|
|
126
126
|
case "team": {
|
|
127
127
|
const sub = args[0];
|
|
128
|
-
if (sub === "init") return (await import("./team-
|
|
129
|
-
if (sub === "upgrade") return (await import("./team-
|
|
128
|
+
if (sub === "init") return (await import("./team-LRZ6GTQK.js")).teamInit(vaultDir);
|
|
129
|
+
if (sub === "upgrade") return (await import("./team-LRZ6GTQK.js")).teamUpgrade(vaultDir);
|
|
130
130
|
console.error("Usage: myco team <init|upgrade>");
|
|
131
131
|
process.exit(1);
|
|
132
132
|
break;
|
|
133
133
|
}
|
|
134
134
|
case "open":
|
|
135
|
-
return (await import("./open-
|
|
135
|
+
return (await import("./open-HG2DX6RN.js")).run(args, vaultDir);
|
|
136
136
|
case "restart":
|
|
137
|
-
return (await import("./restart-
|
|
137
|
+
return (await import("./restart-ADG5GBTB.js")).run(args, vaultDir);
|
|
138
138
|
case "logs":
|
|
139
139
|
return (await import("./logs-7YVGGBIS.js")).run(args, vaultDir);
|
|
140
140
|
default:
|
|
@@ -147,4 +147,4 @@ main().catch((err) => {
|
|
|
147
147
|
console.error(`myco: ${err.message}`);
|
|
148
148
|
process.exit(1);
|
|
149
149
|
});
|
|
150
|
-
//# sourceMappingURL=cli-
|
|
150
|
+
//# sourceMappingURL=cli-GGPWH4UO.js.map
|
|
@@ -2,8 +2,8 @@ import { createRequire as __cr } from 'node:module'; const require = __cr(import
|
|
|
2
2
|
import {
|
|
3
3
|
DaemonClient,
|
|
4
4
|
resolveCliEntryPath
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-VVNL26WX.js";
|
|
6
|
+
import "./chunk-XG5RRUYF.js";
|
|
7
7
|
import "./chunk-LPUQPDC2.js";
|
|
8
8
|
import "./chunk-FLLBJLHM.js";
|
|
9
9
|
import "./chunk-UUHLLQXO.js";
|
|
@@ -12,4 +12,4 @@ export {
|
|
|
12
12
|
DaemonClient,
|
|
13
13
|
resolveCliEntryPath
|
|
14
14
|
};
|
|
15
|
-
//# sourceMappingURL=client-
|
|
15
|
+
//# sourceMappingURL=client-YXQUTXVZ.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
loadConfig,
|
|
7
7
|
updateConfig
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OD4AA7PV.js";
|
|
9
9
|
import {
|
|
10
10
|
getAtPath
|
|
11
11
|
} from "./chunk-ZXZPJJN3.js";
|
|
@@ -79,4 +79,4 @@ function parseValue(raw) {
|
|
|
79
79
|
export {
|
|
80
80
|
run
|
|
81
81
|
};
|
|
82
|
-
//# sourceMappingURL=config-
|
|
82
|
+
//# sourceMappingURL=config-OMCYHG2S.js.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
isProcessAlive
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-KESLPBKV.js";
|
|
5
5
|
import "./chunk-SAKJMNSR.js";
|
|
6
6
|
import {
|
|
7
7
|
MYCO_MCP_SERVER_NAME
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-Q36VMZST.js";
|
|
9
9
|
import "./chunk-FMRZ26U5.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-OD4AA7PV.js";
|
|
11
11
|
import "./chunk-MYX5NCRH.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-VVNL26WX.js";
|
|
13
|
+
import "./chunk-XG5RRUYF.js";
|
|
14
14
|
import "./chunk-LPUQPDC2.js";
|
|
15
15
|
import "./chunk-FLLBJLHM.js";
|
|
16
16
|
import "./chunk-UUHLLQXO.js";
|
|
@@ -33,8 +33,8 @@ async function checkVault(vaultDir) {
|
|
|
33
33
|
return { check: { name: "Vault", status: "fail", detail: `${CONFIG_FILENAME} not found in ${vaultDir}`, fixable: false }, config: null };
|
|
34
34
|
}
|
|
35
35
|
try {
|
|
36
|
-
const {
|
|
37
|
-
const config =
|
|
36
|
+
const { loadMergedConfig } = await import("./loader-CQYTFHEW.js");
|
|
37
|
+
const config = loadMergedConfig(vaultDir);
|
|
38
38
|
return { check: { name: "Vault", status: "ok", detail: `.myco/ (v${config.version})`, fixable: false }, config };
|
|
39
39
|
} catch (err) {
|
|
40
40
|
return { check: { name: "Vault", status: "fail", detail: `${CONFIG_FILENAME} parse error: ${err.message}`, fixable: false }, config: null };
|
|
@@ -101,7 +101,7 @@ async function checkEmbeddings(config) {
|
|
|
101
101
|
async function checkAgents(vaultDir, config) {
|
|
102
102
|
try {
|
|
103
103
|
const { detectSymbionts } = await import("./detect-PXNM6TA7.js");
|
|
104
|
-
const { getEnabledSymbiontNames } = await import("./loader-
|
|
104
|
+
const { getEnabledSymbiontNames } = await import("./loader-CQYTFHEW.js");
|
|
105
105
|
const projectRoot = path.dirname(vaultDir);
|
|
106
106
|
const detected = detectSymbionts(projectRoot);
|
|
107
107
|
const enabledNames = config ? getEnabledSymbiontNames(config) : null;
|
|
@@ -275,4 +275,4 @@ export {
|
|
|
275
275
|
run,
|
|
276
276
|
runChecks
|
|
277
277
|
};
|
|
278
|
-
//# sourceMappingURL=doctor-
|
|
278
|
+
//# sourceMappingURL=doctor-5JXJ36KA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/doctor.ts"],"sourcesContent":["/**\n * CLI: myco doctor — check vault health and auto-repair fixable issues.\n *\n * Runs a series of health checks against the vault directory and reports\n * status. With --fix, attempts to repair issues it can handle automatically.\n */\n\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { isProcessAlive } from './shared.js';\nimport { MYCO_MCP_SERVER_NAME } from '../symbionts/installer.js';\n\n// --- Named constants (no magic literals) ---\n\n\n/** Filename of the vault config file. */\nconst CONFIG_FILENAME = 'myco.yaml';\n\n/** Filename of the daemon state file. */\nconst DAEMON_STATE_FILENAME = 'daemon.json';\n\n/** Filename of the SQLite database. */\nconst DB_FILENAME = 'myco.db';\n\n/** Column width for the check name in output. */\nconst NAME_COL_WIDTH = 17;\n\n/** Prefix for indented continuation lines (e.g. multi-line agent output). */\nconst CONTINUATION_INDENT = ' '.repeat(NAME_COL_WIDTH);\n\n// --- Types ---\n\nexport interface DoctorCheck {\n name: string;\n status: 'ok' | 'fail' | 'warn';\n detail: string;\n fixable: boolean;\n}\n\n// --- Checks ---\n\n/** Check that myco.yaml exists and parses. Returns the parsed config on success. */\nasync function checkVault(vaultDir: string): Promise<{ check: DoctorCheck; config: import('../config/schema.js').MycoConfig | null }> {\n const configPath = path.join(vaultDir, CONFIG_FILENAME);\n if (!fs.existsSync(configPath)) {\n return { check: { name: 'Vault', status: 'fail', detail: `${CONFIG_FILENAME} not found in ${vaultDir}`, fixable: false }, config: null };\n }\n try {\n const { loadMergedConfig } = await import('../config/loader.js');\n const config = loadMergedConfig(vaultDir);\n return { check: { name: 'Vault', status: 'ok', detail: `.myco/ (v${config.version})`, fixable: false }, config };\n } catch (err) {\n return { check: { name: 'Vault', status: 'fail', detail: `${CONFIG_FILENAME} parse error: ${(err as Error).message}`, fixable: false }, config: null };\n }\n}\n\n/** Check that the SQLite database exists and can be queried. */\nasync function checkDatabase(vaultDir: string): Promise<DoctorCheck> {\n const dbPath = path.join(vaultDir, DB_FILENAME);\n if (!fs.existsSync(dbPath)) {\n return { name: 'Database', status: 'fail', detail: `${DB_FILENAME} not found — run \\`myco init\\``, fixable: false };\n }\n try {\n const { initDatabase, closeDatabase, vaultDbPath } = await import('../db/client.js');\n const db = initDatabase(vaultDbPath(vaultDir));\n const row = db.prepare('SELECT count(*) AS cnt FROM sessions').get() as { cnt: number } | undefined;\n const count = row?.cnt ?? 0;\n closeDatabase();\n return { name: 'Database', status: 'ok', detail: `${DB_FILENAME} (${count.toLocaleString()} sessions)`, fixable: false };\n } catch (err) {\n // Ensure DB is closed even on error\n try { const { closeDatabase } = await import('../db/client.js'); closeDatabase(); } catch { /* ignore */ }\n return { name: 'Database', status: 'fail', detail: `Database error: ${(err as Error).message}`, fixable: false };\n }\n}\n\n/** Check that the intelligence (agent) provider is configured. */\nasync function checkIntelligence(config: import('../config/schema.js').MycoConfig): Promise<DoctorCheck> {\n try {\n const provider = config.agent.provider;\n\n if (!provider) {\n return { name: 'Intelligence', status: 'warn', detail: 'No agent provider configured — run `myco init` to set up', fixable: false };\n }\n\n const label = `${provider.type}${provider.model ? ` / ${provider.model}` : ''}`;\n\n if (provider.type === 'anthropic') {\n return { name: 'Intelligence', status: 'ok', detail: `${label} (SDK handles auth)`, fixable: false };\n }\n\n // Local provider — check reachability\n if (provider.type === 'ollama' || provider.type === 'lmstudio') {\n const { checkLocalProvider } = await import('../intelligence/provider-check.js');\n const status = await checkLocalProvider(provider.type, provider.base_url);\n if (!status.available) {\n return { name: 'Intelligence', status: 'warn', detail: `${label} (not reachable)`, fixable: false };\n }\n return { name: 'Intelligence', status: 'ok', detail: label, fixable: false };\n }\n\n return { name: 'Intelligence', status: 'ok', detail: label, fixable: false };\n } catch (err) {\n return { name: 'Intelligence', status: 'fail', detail: `Intelligence check failed: ${(err as Error).message}`, fixable: false };\n }\n}\n\n/** Check that the embedding provider is configured and reachable. */\nasync function checkEmbeddings(config: import('../config/schema.js').MycoConfig): Promise<DoctorCheck> {\n try {\n const { createEmbeddingProvider } = await import('../intelligence/llm.js');\n const provider = createEmbeddingProvider(config.embedding);\n const available = await provider.isAvailable();\n const label = `${config.embedding.provider} / ${config.embedding.model}`;\n if (available) {\n return { name: 'Embeddings', status: 'ok', detail: label, fixable: false };\n }\n return { name: 'Embeddings', status: 'warn', detail: `${label} (not reachable)`, fixable: false };\n } catch (err) {\n return { name: 'Embeddings', status: 'fail', detail: `Embedding check failed: ${(err as Error).message}`, fixable: false };\n }\n}\n\n/** Check symbiont detection and registration status. */\nasync function checkAgents(vaultDir: string, config: import('../config/schema.js').MycoConfig | null): Promise<DoctorCheck[]> {\n try {\n const { detectSymbionts } = await import('../symbionts/detect.js');\n const { getEnabledSymbiontNames } = await import('../config/loader.js');\n const projectRoot = path.dirname(vaultDir);\n const detected = detectSymbionts(projectRoot);\n\n const enabledNames = config ? getEnabledSymbiontNames(config) : null;\n\n if (detected.length === 0 && !enabledNames) {\n return [{ name: 'Agents', status: 'warn', detail: 'No symbionts detected', fixable: false }];\n }\n\n const checks: DoctorCheck[] = [];\n for (const d of detected) {\n const registered = isSymbiontRegistered(d, projectRoot);\n const enabled = enabledNames ? enabledNames.has(d.manifest.name) : registered;\n\n if (enabled && registered) {\n checks.push({\n name: checks.length === 0 ? 'Agents' : '',\n status: 'ok',\n detail: `${d.manifest.displayName} (enabled, registered)`,\n fixable: false,\n });\n } else if (enabled && !registered) {\n checks.push({\n name: checks.length === 0 ? 'Agents' : '',\n status: 'warn',\n detail: `${d.manifest.displayName} (enabled but not registered — run \\`myco update\\`)`,\n fixable: false,\n });\n } else if (!enabled && registered) {\n checks.push({\n name: checks.length === 0 ? 'Agents' : '',\n status: 'warn',\n detail: `${d.manifest.displayName} (registered but not enabled — run \\`myco remove --symbiont ${d.manifest.name}\\`)`,\n fixable: false,\n });\n } else {\n // Detected but neither enabled nor registered\n checks.push({\n name: checks.length === 0 ? 'Agents' : '',\n status: 'ok',\n detail: `${d.manifest.displayName} (detected, not enabled)`,\n fixable: false,\n });\n }\n }\n\n if (checks.length === 0) {\n return [{ name: 'Agents', status: 'warn', detail: 'No symbionts detected or enabled', fixable: false }];\n }\n\n return checks;\n } catch (err) {\n return [{ name: 'Agents', status: 'fail', detail: `Agent check failed: ${(err as Error).message}`, fixable: false }];\n }\n}\n\n/** Check if a symbiont has the Myco MCP server registered. */\nfunction isSymbiontRegistered(\n d: import('../symbionts/detect.js').DetectedSymbiont,\n projectRoot: string,\n): boolean {\n try {\n const mcpTarget = d.manifest.registration?.mcpTarget;\n if (!mcpTarget) return false;\n\n const mcpFile = path.join(projectRoot, mcpTarget);\n const raw = fs.readFileSync(mcpFile, 'utf-8');\n\n // TOML: check for section header\n if (mcpTarget.endsWith('.toml')) {\n return raw.includes(`[mcp_servers.${MYCO_MCP_SERVER_NAME}]`);\n }\n\n // JSON: check for server entry under the configured key (defaults to 'mcpServers').\n // opencode uses 'mcp' — without the manifest lookup, doctor reports opencode as\n // unregistered even after a successful install.\n const config = JSON.parse(raw) as Record<string, unknown>;\n const serversKey = d.manifest.registration?.mcpServersKey ?? 'mcpServers';\n const servers = config[serversKey] as Record<string, unknown> | undefined;\n return !!servers?.[MYCO_MCP_SERVER_NAME];\n } catch { /* config missing or malformed */ }\n return false;\n}\n\n/** Check the daemon state file and process liveness. */\nasync function checkDaemon(vaultDir: string): Promise<DoctorCheck> {\n const daemonFile = path.join(vaultDir, DAEMON_STATE_FILENAME);\n if (!fs.existsSync(daemonFile)) {\n return { name: 'Daemon', status: 'warn', detail: 'Not running (no daemon.json)', fixable: false };\n }\n try {\n const state = JSON.parse(fs.readFileSync(daemonFile, 'utf-8')) as { pid?: number; port?: number };\n if (!state.pid) {\n return { name: 'Daemon', status: 'warn', detail: 'daemon.json exists but no PID', fixable: true };\n }\n if (isProcessAlive(state.pid)) {\n return { name: 'Daemon', status: 'ok', detail: `PID ${state.pid}, port ${state.port ?? 'unknown'}`, fixable: false };\n }\n return { name: 'Daemon', status: 'warn', detail: `Stale daemon.json (PID ${state.pid} not running)`, fixable: true };\n } catch (err) {\n return { name: 'Daemon', status: 'fail', detail: `daemon.json parse error: ${(err as Error).message}`, fixable: true };\n }\n}\n\n\n// --- Public API ---\n\n/** Run all health checks against a vault directory. */\nexport async function runChecks(vaultDir: string): Promise<DoctorCheck[]> {\n const { check: vaultCheck, config } = await checkVault(vaultDir);\n const checks: DoctorCheck[] = [vaultCheck];\n\n if (!config) {\n checks.push(\n { name: 'Database', status: 'fail', detail: 'Skipped (vault check failed)', fixable: false },\n { name: 'Intelligence', status: 'fail', detail: 'Skipped (vault check failed)', fixable: false },\n { name: 'Embeddings', status: 'fail', detail: 'Skipped (vault check failed)', fixable: false },\n { name: 'Agents', status: 'fail', detail: 'Skipped (vault check failed)', fixable: false },\n await checkDaemon(vaultDir),\n );\n return checks;\n }\n\n checks.push(await checkDatabase(vaultDir));\n checks.push(await checkIntelligence(config));\n checks.push(await checkEmbeddings(config));\n checks.push(...await checkAgents(vaultDir, config));\n checks.push(await checkDaemon(vaultDir));\n\n return checks;\n}\n\n/** Auto-repair fixable issues. Returns descriptions of actions taken. */\nexport async function fix(vaultDir: string, checks: DoctorCheck[]): Promise<string[]> {\n const actions: string[] = [];\n\n for (const check of checks) {\n if (!check.fixable || check.status === 'ok') continue;\n\n // Fix stale daemon.json\n if (check.name === 'Daemon' && check.detail.includes('Stale')) {\n const daemonFile = path.join(vaultDir, DAEMON_STATE_FILENAME);\n fs.unlinkSync(daemonFile);\n actions.push('Removed stale daemon.json');\n }\n\n // Fix malformed daemon.json\n if (check.name === 'Daemon' && check.detail.includes('parse error')) {\n const daemonFile = path.join(vaultDir, DAEMON_STATE_FILENAME);\n fs.unlinkSync(daemonFile);\n actions.push('Removed malformed daemon.json');\n }\n\n // Advise on database issues\n if (check.name === 'Database' && check.status === 'fail') {\n actions.push('Run `myco init` to initialize the database');\n }\n }\n\n return actions;\n}\n\n// --- Output formatting ---\n\n/** Status label width (visible characters). */\nconst STATUS_COL_WIDTH = 6;\n\nconst STATUS_LABELS: Record<DoctorCheck['status'], { text: string; color: string }> = {\n ok: { text: 'ok', color: '\\x1b[32m' },\n fail: { text: 'FAIL', color: '\\x1b[31m' },\n warn: { text: '!!', color: '\\x1b[33m' },\n};\n\nfunction formatCheck(check: DoctorCheck): string {\n const name = check.name ? check.name.padEnd(NAME_COL_WIDTH) : CONTINUATION_INDENT;\n const { text, color } = STATUS_LABELS[check.status];\n const paddedText = text.padEnd(STATUS_COL_WIDTH);\n return ` ${name}${color}${paddedText}\\x1b[0m${check.detail}`;\n}\n\n// --- CLI entry point ---\n\nexport async function run(args: string[], vaultDir: string): Promise<void> {\n const shouldFix = args.includes('--fix');\n\n console.log('\\nmyco doctor\\n');\n\n const checks = await runChecks(vaultDir);\n\n for (const check of checks) {\n console.log(formatCheck(check));\n }\n\n const issues = checks.filter(c => c.status !== 'ok');\n const fixable = issues.filter(c => c.fixable);\n\n console.log('');\n\n if (issues.length === 0) {\n console.log(' All checks passed.\\n');\n return;\n }\n\n console.log(` ${issues.length} issue(s) found.`);\n\n if (shouldFix) {\n const actions = await fix(vaultDir, checks);\n if (actions.length > 0) {\n console.log('');\n for (const action of actions) {\n console.log(` Fixed: ${action}`);\n }\n console.log('');\n } else {\n console.log(' No auto-fixable issues.\\n');\n }\n } else if (fixable.length > 0) {\n console.log(` Run \\`myco doctor --fix\\` to repair ${fixable.length} fixable issue(s).\\n`);\n } else {\n console.log('');\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -41,16 +41,16 @@ import {
|
|
|
41
41
|
updateSkillRecord,
|
|
42
42
|
upsertDigestExtract,
|
|
43
43
|
validateSkillContent
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-UYMFCYBF.js";
|
|
45
45
|
import {
|
|
46
46
|
fullTextSearch,
|
|
47
47
|
hydrateSearchResults
|
|
48
48
|
} from "./chunk-5XIVBO25.js";
|
|
49
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-6X2ERTQV.js";
|
|
50
50
|
import {
|
|
51
51
|
getDefaultTask,
|
|
52
52
|
loadSystemPrompt
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-CCRGY3QW.js";
|
|
54
54
|
import {
|
|
55
55
|
insertTurn,
|
|
56
56
|
updateTurn
|
|
@@ -80,7 +80,7 @@ import {
|
|
|
80
80
|
CANDIDATE_STATUS,
|
|
81
81
|
createSchema
|
|
82
82
|
} from "./chunk-MYOZLMB2.js";
|
|
83
|
-
import "./chunk-
|
|
83
|
+
import "./chunk-OD4AA7PV.js";
|
|
84
84
|
import {
|
|
85
85
|
getDatabase,
|
|
86
86
|
initDatabase,
|
|
@@ -88,7 +88,7 @@ import {
|
|
|
88
88
|
} from "./chunk-MYX5NCRH.js";
|
|
89
89
|
import {
|
|
90
90
|
getPluginVersion
|
|
91
|
-
} from "./chunk-
|
|
91
|
+
} from "./chunk-XG5RRUYF.js";
|
|
92
92
|
import {
|
|
93
93
|
findPackageRoot
|
|
94
94
|
} from "./chunk-LPUQPDC2.js";
|
|
@@ -747,7 +747,7 @@ function createSkillTools(deps) {
|
|
|
747
747
|
);
|
|
748
748
|
}
|
|
749
749
|
try {
|
|
750
|
-
const { syncSkillSymlinks } = await import("./installer-
|
|
750
|
+
const { syncSkillSymlinks } = await import("./installer-FS257JRZ.js");
|
|
751
751
|
syncSkillSymlinks(root, params.name, { remove: true });
|
|
752
752
|
} catch (rollbackErr) {
|
|
753
753
|
console.warn(
|
|
@@ -765,7 +765,7 @@ function createSkillTools(deps) {
|
|
|
765
765
|
};
|
|
766
766
|
}
|
|
767
767
|
try {
|
|
768
|
-
const { syncSkillSymlinks } = await import("./installer-
|
|
768
|
+
const { syncSkillSymlinks } = await import("./installer-FS257JRZ.js");
|
|
769
769
|
syncSkillSymlinks(root, params.name);
|
|
770
770
|
} catch (err) {
|
|
771
771
|
console.warn(
|
|
@@ -1032,7 +1032,7 @@ function createSkillTools(deps) {
|
|
|
1032
1032
|
console.warn("[vault_skill_records] Failed to remove skill directory:", err instanceof Error ? err.message : err);
|
|
1033
1033
|
}
|
|
1034
1034
|
try {
|
|
1035
|
-
const { syncSkillSymlinks } = await import("./installer-
|
|
1035
|
+
const { syncSkillSymlinks } = await import("./installer-FS257JRZ.js");
|
|
1036
1036
|
syncSkillSymlinks(root, result.name, { remove: true });
|
|
1037
1037
|
} catch (err) {
|
|
1038
1038
|
console.warn("[vault_skill_records] Failed to remove symlinks:", err instanceof Error ? err.message : err);
|
|
@@ -1150,7 +1150,7 @@ function createSkillTools(deps) {
|
|
|
1150
1150
|
return textResult({ error: `Failed to write skill file: ${err instanceof Error ? err.message : String(err)}` });
|
|
1151
1151
|
}
|
|
1152
1152
|
try {
|
|
1153
|
-
const { syncSkillSymlinks } = await import("./installer-
|
|
1153
|
+
const { syncSkillSymlinks } = await import("./installer-FS257JRZ.js");
|
|
1154
1154
|
syncSkillSymlinks(root, args.name);
|
|
1155
1155
|
} catch (err) {
|
|
1156
1156
|
console.warn("[vault_write_skill] syncSkillSymlinks failed:", err instanceof Error ? err.message : err);
|
|
@@ -2469,4 +2469,4 @@ export {
|
|
|
2469
2469
|
computeWaves,
|
|
2470
2470
|
runAgent
|
|
2471
2471
|
};
|
|
2472
|
-
//# sourceMappingURL=executor-
|
|
2472
|
+
//# sourceMappingURL=executor-HWW2QNZQ.js.map
|
|
@@ -2,11 +2,11 @@ import { createRequire as __cr } from 'node:module'; const require = __cr(import
|
|
|
2
2
|
import {
|
|
3
3
|
VAULT_GITIGNORE,
|
|
4
4
|
registerSymbionts
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-KESLPBKV.js";
|
|
6
6
|
import {
|
|
7
7
|
parseStringFlag
|
|
8
8
|
} from "./chunk-SAKJMNSR.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-Q36VMZST.js";
|
|
10
10
|
import "./chunk-FMRZ26U5.js";
|
|
11
11
|
import {
|
|
12
12
|
createSchema
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
MycoConfigSchema,
|
|
16
16
|
saveConfig,
|
|
17
17
|
updateConfig
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-OD4AA7PV.js";
|
|
19
19
|
import {
|
|
20
20
|
closeDatabase,
|
|
21
21
|
initDatabase,
|
|
@@ -24,10 +24,10 @@ import {
|
|
|
24
24
|
import {
|
|
25
25
|
resolveVaultDir
|
|
26
26
|
} from "./chunk-CUDIZJY7.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-VVNL26WX.js";
|
|
28
28
|
import {
|
|
29
29
|
getPluginVersion
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-XG5RRUYF.js";
|
|
31
31
|
import {
|
|
32
32
|
detectSymbionts,
|
|
33
33
|
loadManifests,
|
|
@@ -78,8 +78,8 @@ async function run(args) {
|
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
80
|
if (alreadyInitialized && isInteractive) {
|
|
81
|
-
const {
|
|
82
|
-
const config =
|
|
81
|
+
const { loadMergedConfig } = await import("./loader-CQYTFHEW.js");
|
|
82
|
+
const config = loadMergedConfig(vaultDir);
|
|
83
83
|
const agentProvider = config.agent.provider;
|
|
84
84
|
const embConfig = config.embedding;
|
|
85
85
|
console.log(` Vault: ${vaultDir}`);
|
|
@@ -94,11 +94,7 @@ async function run(args) {
|
|
|
94
94
|
}
|
|
95
95
|
const config = MycoConfigSchema.parse({
|
|
96
96
|
version: 3,
|
|
97
|
-
...Object.keys(embeddingFromFlags).length > 0 ? { embedding: embeddingFromFlags } : {}
|
|
98
|
-
agent: {
|
|
99
|
-
scheduled_tasks_enabled: false,
|
|
100
|
-
event_tasks_enabled: false
|
|
101
|
-
}
|
|
97
|
+
...Object.keys(embeddingFromFlags).length > 0 ? { embedding: embeddingFromFlags } : {}
|
|
102
98
|
});
|
|
103
99
|
saveConfig(vaultDir, config);
|
|
104
100
|
fs.writeFileSync(path.join(vaultDir, ".gitignore"), VAULT_GITIGNORE, "utf-8");
|
|
@@ -113,8 +109,8 @@ async function run(args) {
|
|
|
113
109
|
let existingSymbionts;
|
|
114
110
|
if (alreadyInitialized && isInteractive) {
|
|
115
111
|
try {
|
|
116
|
-
const {
|
|
117
|
-
const existing =
|
|
112
|
+
const { loadMergedConfig } = await import("./loader-CQYTFHEW.js");
|
|
113
|
+
const existing = loadMergedConfig(vaultDir);
|
|
118
114
|
existingSymbionts = existing.symbionts;
|
|
119
115
|
} catch {
|
|
120
116
|
}
|
|
@@ -155,7 +151,7 @@ async function run(args) {
|
|
|
155
151
|
registerSymbionts(selectedManifests, projectRoot, pkgRoot, "Registered");
|
|
156
152
|
}
|
|
157
153
|
}
|
|
158
|
-
const { DaemonClient } = await import("./client-
|
|
154
|
+
const { DaemonClient } = await import("./client-YXQUTXVZ.js");
|
|
159
155
|
const client = new DaemonClient(vaultDir);
|
|
160
156
|
const daemonHealthy = await client.ensureRunning();
|
|
161
157
|
let daemonUrl = "";
|
|
@@ -193,4 +189,4 @@ async function run(args) {
|
|
|
193
189
|
export {
|
|
194
190
|
run
|
|
195
191
|
};
|
|
196
|
-
//# sourceMappingURL=init-
|
|
192
|
+
//# sourceMappingURL=init-LMYOVZAV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/init.ts"],"sourcesContent":["import { initDatabase, vaultDbPath, closeDatabase } from '../db/client.js';\nimport { createSchema } from '../db/schema.js';\nimport { resolveVaultDir } from '../vault/resolve.js';\nimport {\n parseStringFlag,\n VAULT_GITIGNORE,\n registerSymbionts,\n} from './shared.js';\nimport { detectSymbionts, loadManifests, resolvePackageRoot } from '../symbionts/detect.js';\nimport { MycoConfigSchema } from '../config/schema.js';\nimport { updateConfig, saveConfig } from '../config/loader.js';\nimport { DEFAULT_OLLAMA_EMBEDDING_MODEL } from '../constants.js';\nimport { getPluginVersion } from '../version.js';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport os from 'node:os';\n\n/** Directories that must exist inside a vault for correct operation. */\nconst VAULT_REQUIRED_DIRS = ['buffer', 'attachments', 'logs'] as const;\n\nfunction printBanner(): void {\n const version = getPluginVersion();\n console.log('');\n console.log(' 🍄 Myco');\n console.log(` v${version} — Collective Agent Intelligence`);\n console.log(' ─────────────────────────────────────────────');\n console.log('');\n}\n\nexport async function run(args: string[]): Promise<void> {\n const vaultPath = parseStringFlag(args, '--vault');\n const nonInteractive = args.includes('--non-interactive');\n const isInteractive = !nonInteractive && !!process.stdin.isTTY;\n\n // Show banner in interactive mode\n if (isInteractive) {\n printBanner();\n }\n\n // Resolve vault directory\n const vaultDir = vaultPath\n ? (vaultPath.startsWith('~/') ? path.join(os.homedir(), vaultPath.slice(2)) : path.resolve(vaultPath))\n : path.join(resolveVaultDir());\n\n const alreadyInitialized = fs.existsSync(path.join(vaultDir, 'myco.yaml'));\n\n // CLI flags for non-interactive/scripted installs\n const embeddingProvider = parseStringFlag(args, '--embedding-provider');\n const embeddingModel = parseStringFlag(args, '--embedding-model');\n const embeddingUrl = parseStringFlag(args, '--embedding-url');\n const hasEmbeddingFlags = !!(embeddingProvider || embeddingModel || embeddingUrl);\n\n // Flag-based embedding config for new vaults via non-interactive / scripted installs.\n // Existing vaults are configured through the dashboard, not CLI flags.\n // The agent provider is not flag-configurable -- it must be set via the dashboard.\n let embeddingFromFlags: Record<string, unknown> = {};\n if (hasEmbeddingFlags && !alreadyInitialized) {\n embeddingFromFlags = {\n provider: embeddingProvider ?? 'ollama',\n model: embeddingModel ?? DEFAULT_OLLAMA_EMBEDDING_MODEL,\n ...(embeddingUrl ? { base_url: embeddingUrl } : {}),\n };\n }\n\n // Show existing config summary on re-init\n if (alreadyInitialized && isInteractive) {\n const { loadMergedConfig } = await import('../config/loader.js');\n const config = loadMergedConfig(vaultDir);\n const agentProvider = config.agent.provider;\n const embConfig = config.embedding;\n\n console.log(` Vault: ${vaultDir}`);\n console.log(` Intelligence: ${agentProvider?.type ?? 'not configured'}${agentProvider?.model ? ` / ${agentProvider.model}` : ''}`);\n console.log(` Embeddings: ${embConfig.provider} / ${embConfig.model}`);\n console.log('');\n }\n\n // --- Vault creation (new vaults only) ---\n\n if (!alreadyInitialized) {\n console.log(`Initializing Myco vault at ${vaultDir}`);\n\n for (const dir of VAULT_REQUIRED_DIRS) {\n fs.mkdirSync(path.join(vaultDir, dir), { recursive: true });\n }\n\n // Let schema defaults fill the agent section. Scheduled/event toggles\n // default to true, but the agent only runs once the user configures a\n // provider in Settings, so a no-op \"enabled\" state is safe.\n const config = MycoConfigSchema.parse({\n version: 3,\n ...(Object.keys(embeddingFromFlags).length > 0 ? { embedding: embeddingFromFlags } : {}),\n });\n\n saveConfig(vaultDir, config);\n fs.writeFileSync(path.join(vaultDir, '.gitignore'), VAULT_GITIGNORE, 'utf-8');\n\n const db = initDatabase(vaultDbPath(vaultDir));\n createSchema(db);\n closeDatabase();\n }\n\n // --- Symbiont selection and registration ---\n\n const projectRoot = path.dirname(vaultDir);\n const allManifests = loadManifests();\n const detected = detectSymbionts(projectRoot);\n const detectedNames = new Set(detected.map((d) => d.manifest.name));\n\n // Load existing symbiont config for pre-checking on re-init (interactive only)\n let existingSymbionts: Record<string, { enabled: boolean }> | undefined;\n if (alreadyInitialized && isInteractive) {\n try {\n const { loadMergedConfig } = await import('../config/loader.js');\n const existing = loadMergedConfig(vaultDir);\n existingSymbionts = existing.symbionts;\n } catch { /* config not loadable — skip pre-check */ }\n }\n\n if (allManifests.length > 0) {\n // Interactive: let user choose which agents to configure\n let selectedManifests = allManifests.filter((m) => detectedNames.has(m.name));\n\n if (isInteractive) {\n const { checkbox } = await import('@inquirer/prompts');\n const choices = allManifests.map((m) => {\n const det = detected.find((d) => d.manifest.name === m.name);\n const hint = det\n ? [det.binaryFound && 'detected', det.configDirFound && `${m.configDir}/ exists`].filter(Boolean).join(', ')\n : '';\n // Pre-check from config on re-init; nothing pre-checked on first init\n const checked = !!existingSymbionts?.[m.name]?.enabled;\n return {\n value: m.name,\n name: hint ? `${m.displayName} (${hint})` : m.displayName,\n checked,\n };\n });\n const selectedNames = await checkbox({\n message: 'Configure agents',\n choices,\n });\n selectedManifests = allManifests.filter((m) => selectedNames.includes(m.name));\n if (selectedManifests.length === 0) {\n console.log(' Skipped agent configuration.');\n }\n }\n\n if (selectedManifests.length > 0) {\n const symbiontsConfig: Record<string, { enabled: boolean }> = {};\n for (const m of selectedManifests) {\n symbiontsConfig[m.name] = { enabled: true };\n }\n updateConfig(vaultDir, (config) => ({\n ...config,\n symbionts: symbiontsConfig,\n }));\n\n const pkgRoot = resolvePackageRoot();\n registerSymbionts(selectedManifests, projectRoot, pkgRoot, 'Registered');\n }\n }\n\n // --- Start daemon and show summary ---\n\n const { DaemonClient } = await import('../hooks/client.js');\n const client = new DaemonClient(vaultDir);\n const daemonHealthy = await client.ensureRunning();\n\n let daemonUrl = '';\n if (daemonHealthy) {\n try {\n const daemonJson = JSON.parse(fs.readFileSync(path.join(vaultDir, 'daemon.json'), 'utf-8'));\n daemonUrl = `http://localhost:${daemonJson.port}/settings`;\n } catch { /* daemon.json not readable -- skip URL */ }\n }\n\n console.log('');\n if (!alreadyInitialized) {\n console.log('=== Myco Vault Initialized ===');\n } else {\n console.log('=== Myco Updated ===');\n }\n console.log(`Project: ${path.basename(projectRoot)}`);\n console.log(`Vault: ${vaultDir}`);\n if (daemonUrl) {\n console.log(`Dashboard: ${daemonUrl}`);\n\n if (isInteractive) {\n console.log('');\n console.log(' Data collection is active. Configure the Myco agent and');\n console.log(' embedding providers in the dashboard to unlock the full');\n console.log(' intelligence pipeline.');\n\n // Auto-open browser to settings -- fire-and-forget\n const { openBrowser } = await import('./open-browser.js');\n openBrowser(daemonUrl);\n }\n } else if (!daemonHealthy) {\n console.log('Dashboard: daemon failed to start -- run `myco doctor` to diagnose');\n }\n console.log('');\n console.log('Start a coding session -- Myco will begin capturing automatically.');\n}\n\n"],"mappings":"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","names":[]}
|
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
MYCO_MCP_SERVER_NAME,
|
|
4
4
|
SymbiontInstaller,
|
|
5
5
|
syncSkillSymlinks
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-Q36VMZST.js";
|
|
7
|
+
import "./chunk-OD4AA7PV.js";
|
|
8
8
|
import "./chunk-FLLBJLHM.js";
|
|
9
9
|
import "./chunk-UUHLLQXO.js";
|
|
10
10
|
import "./chunk-6LQIMRTC.js";
|
|
@@ -16,4 +16,4 @@ export {
|
|
|
16
16
|
SymbiontInstaller,
|
|
17
17
|
syncSkillSymlinks
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=installer-
|
|
19
|
+
//# sourceMappingURL=installer-FS257JRZ.js.map
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
updateConfig,
|
|
14
14
|
updateLocalConfig,
|
|
15
15
|
updateTeamConfig
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-OD4AA7PV.js";
|
|
17
17
|
import "./chunk-FLLBJLHM.js";
|
|
18
18
|
import "./chunk-UUHLLQXO.js";
|
|
19
19
|
import "./chunk-6LQIMRTC.js";
|
|
@@ -35,4 +35,4 @@ export {
|
|
|
35
35
|
updateLocalConfig,
|
|
36
36
|
updateTeamConfig
|
|
37
37
|
};
|
|
38
|
-
//# sourceMappingURL=loader-
|
|
38
|
+
//# sourceMappingURL=loader-CQYTFHEW.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
resolveDefinitionsDir,
|
|
8
8
|
resolveEffectiveConfig,
|
|
9
9
|
taskFromParsed
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-CCRGY3QW.js";
|
|
11
11
|
import "./chunk-POEPHBQK.js";
|
|
12
12
|
import "./chunk-MYX5NCRH.js";
|
|
13
13
|
import "./chunk-LPUQPDC2.js";
|
|
@@ -25,4 +25,4 @@ export {
|
|
|
25
25
|
resolveEffectiveConfig,
|
|
26
26
|
taskFromParsed
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=loader-
|
|
28
|
+
//# sourceMappingURL=loader-NOMBJUPW.js.map
|