@goondocks/myco 0.19.4 → 0.19.6
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-OGWPNU43.js → agent-run-WK5NKBYA.js} +9 -5
- package/dist/{agent-run-OGWPNU43.js.map → agent-run-WK5NKBYA.js.map} +1 -1
- package/dist/{agent-tasks-XWMDAEPG.js → agent-tasks-2E73GG3A.js} +9 -5
- package/dist/{agent-tasks-XWMDAEPG.js.map → agent-tasks-2E73GG3A.js.map} +1 -1
- package/dist/{chunk-QLCD77AN.js → chunk-6RFZWV4R.js} +18 -1
- package/dist/chunk-6RFZWV4R.js.map +1 -0
- package/dist/{chunk-PLYWR5D7.js → chunk-FKBPXCH3.js} +2 -2
- package/dist/{chunk-5B2ORGTF.js → chunk-NCBLB2C6.js} +3 -3
- package/dist/{chunk-3C4LT4BW.js → chunk-NKQZ73LL.js} +3 -2
- package/dist/chunk-NKQZ73LL.js.map +1 -0
- package/dist/{chunk-RTNLDAIC.js → chunk-P5VNHGVZ.js} +3 -3
- package/dist/chunk-P5VNHGVZ.js.map +1 -0
- package/dist/{chunk-W3P6MHLQ.js → chunk-QH5HS54N.js} +2 -2
- package/dist/{chunk-NTWJR6KH.js → chunk-ST2D3SGM.js} +2 -2
- package/dist/{chunk-WYOE4IAX.js → chunk-TMNFCUAD.js} +81 -8
- package/dist/chunk-TMNFCUAD.js.map +1 -0
- package/dist/{chunk-YDCGI3CS.js → chunk-VLGBWOBY.js} +3 -3
- package/dist/{chunk-Y3IJFUVX.js → chunk-W3JUH5S3.js} +2 -2
- package/dist/{cli-XDG624PV.js → cli-LCTXK7N6.js} +41 -37
- package/dist/{cli-XDG624PV.js.map → cli-LCTXK7N6.js.map} +1 -1
- package/dist/{client-EEPUQVMX.js → client-S47ENM76.js} +3 -3
- package/dist/{config-2KQ45OC5.js → config-IO5WALOD.js} +2 -2
- package/dist/{doctor-L4LWMJYH.js → doctor-EE6GAC54.js} +11 -7
- package/dist/{doctor-L4LWMJYH.js.map → doctor-EE6GAC54.js.map} +1 -1
- package/dist/{executor-4TJOZN32.js → executor-NXNSUEMQ.js} +102 -63
- package/dist/executor-NXNSUEMQ.js.map +1 -0
- package/dist/{init-U2SG2IOC.js → init-IPL3XV6F.js} +9 -9
- package/dist/{installer-BWJED3ED.js → installer-WMTB4NCX.js} +8 -2
- package/dist/{loader-JG5OBPB6.js → loader-V774GZU4.js} +2 -2
- package/dist/{main-EVS3FXDJ.js → main-RPJSS7PT.js} +284 -117
- package/dist/main-RPJSS7PT.js.map +1 -0
- package/dist/{open-TEQZXO4A.js → open-OYBKVBYX.js} +9 -5
- package/dist/{open-TEQZXO4A.js.map → open-OYBKVBYX.js.map} +1 -1
- package/dist/{post-compact-POSTGJEV.js → post-compact-E2OVMNGQ.js} +4 -4
- package/dist/{post-tool-use-VE6YPEY2.js → post-tool-use-FGQE26GJ.js} +3 -3
- package/dist/{post-tool-use-failure-LUFD62SB.js → post-tool-use-failure-3CITJYQK.js} +4 -4
- package/dist/{pre-compact-7QGJYRJF.js → pre-compact-GYMHCXII.js} +4 -4
- package/dist/{remove-4UZXDSVY.js → remove-72ER3TG5.js} +6 -6
- package/dist/{restart-HLXD4ZGX.js → restart-EQHEJCGT.js} +10 -6
- package/dist/{restart-HLXD4ZGX.js.map → restart-EQHEJCGT.js.map} +1 -1
- package/dist/{search-MWXY3GTI.js → search-JOBYIW43.js} +9 -5
- package/dist/{search-MWXY3GTI.js.map → search-JOBYIW43.js.map} +1 -1
- package/dist/{server-TQY7CYOS.js → server-PZCWYWZL.js} +3 -3
- package/dist/{session-P2POKO22.js → session-APO4A2C7.js} +9 -5
- package/dist/{session-P2POKO22.js.map → session-APO4A2C7.js.map} +1 -1
- package/dist/{session-end-DZNJHGQB.js → session-end-4V4VHAOQ.js} +3 -3
- package/dist/{session-start-JNNJTP3C.js → session-start-K6ESRZU7.js} +4 -4
- package/dist/{setup-llm-UQO2INBY.js → setup-llm-QUWOSB7A.js} +6 -6
- package/dist/src/agent/definitions/tasks/full-intelligence.yaml +37 -8
- package/dist/src/agent/prompts/agent.md +2 -2
- 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-DJYTDCUE.js → stats-TYOZAOP2.js} +7 -7
- package/dist/{stop-VBA4RMQM.js → stop-2COOWEYG.js} +3 -3
- package/dist/{stop-failure-54Z2HSU4.js → stop-failure-UQ33GZLE.js} +4 -4
- package/dist/{subagent-start-XL773ZID.js → subagent-start-YENEY6VF.js} +4 -4
- package/dist/{subagent-stop-HJVSYNII.js → subagent-stop-W2757YDB.js} +4 -4
- package/dist/{task-completed-GLNYNBYP.js → task-completed-KU6GWMWV.js} +4 -4
- package/dist/{team-M6TC4TFC.js → team-SNLC6FZM.js} +3 -3
- package/dist/{turns-3ZQAF6HF.js → turns-YFNI5CQC.js} +6 -4
- package/dist/ui/assets/index-816yFmz_.js +842 -0
- package/dist/ui/assets/index-Dj6vQpFd.css +1 -0
- package/dist/ui/index.html +2 -2
- package/dist/{update-JZV2K4YG.js → update-5VYNQZJ4.js} +6 -6
- package/dist/update-5VYNQZJ4.js.map +1 -0
- package/dist/{user-prompt-submit-6KMTMHKW.js → user-prompt-submit-KATLHAKA.js} +3 -3
- package/dist/{verify-CJHF23QH.js → verify-BGJVB3K2.js} +2 -2
- package/dist/{version-KS3UADP5.js → version-MKNN5GYM.js} +2 -2
- package/package.json +1 -1
- package/skills/rules/SKILL.md +6 -0
- package/dist/chunk-3C4LT4BW.js.map +0 -1
- package/dist/chunk-QLCD77AN.js.map +0 -1
- package/dist/chunk-RTNLDAIC.js.map +0 -1
- package/dist/chunk-WYOE4IAX.js.map +0 -1
- package/dist/executor-4TJOZN32.js.map +0 -1
- package/dist/main-EVS3FXDJ.js.map +0 -1
- package/dist/ui/assets/index-CRmkSi63.css +0 -1
- package/dist/ui/assets/index-CwPuGRsJ.js +0 -842
- package/dist/update-JZV2K4YG.js.map +0 -1
- /package/dist/{chunk-PLYWR5D7.js.map → chunk-FKBPXCH3.js.map} +0 -0
- /package/dist/{chunk-5B2ORGTF.js.map → chunk-NCBLB2C6.js.map} +0 -0
- /package/dist/{chunk-W3P6MHLQ.js.map → chunk-QH5HS54N.js.map} +0 -0
- /package/dist/{chunk-NTWJR6KH.js.map → chunk-ST2D3SGM.js.map} +0 -0
- /package/dist/{chunk-YDCGI3CS.js.map → chunk-VLGBWOBY.js.map} +0 -0
- /package/dist/{chunk-Y3IJFUVX.js.map → chunk-W3JUH5S3.js.map} +0 -0
- /package/dist/{client-EEPUQVMX.js.map → client-S47ENM76.js.map} +0 -0
- /package/dist/{config-2KQ45OC5.js.map → config-IO5WALOD.js.map} +0 -0
- /package/dist/{init-U2SG2IOC.js.map → init-IPL3XV6F.js.map} +0 -0
- /package/dist/{installer-BWJED3ED.js.map → installer-WMTB4NCX.js.map} +0 -0
- /package/dist/{loader-JG5OBPB6.js.map → loader-V774GZU4.js.map} +0 -0
- /package/dist/{post-compact-POSTGJEV.js.map → post-compact-E2OVMNGQ.js.map} +0 -0
- /package/dist/{post-tool-use-VE6YPEY2.js.map → post-tool-use-FGQE26GJ.js.map} +0 -0
- /package/dist/{post-tool-use-failure-LUFD62SB.js.map → post-tool-use-failure-3CITJYQK.js.map} +0 -0
- /package/dist/{pre-compact-7QGJYRJF.js.map → pre-compact-GYMHCXII.js.map} +0 -0
- /package/dist/{remove-4UZXDSVY.js.map → remove-72ER3TG5.js.map} +0 -0
- /package/dist/{server-TQY7CYOS.js.map → server-PZCWYWZL.js.map} +0 -0
- /package/dist/{session-end-DZNJHGQB.js.map → session-end-4V4VHAOQ.js.map} +0 -0
- /package/dist/{session-start-JNNJTP3C.js.map → session-start-K6ESRZU7.js.map} +0 -0
- /package/dist/{setup-llm-UQO2INBY.js.map → setup-llm-QUWOSB7A.js.map} +0 -0
- /package/dist/{stats-DJYTDCUE.js.map → stats-TYOZAOP2.js.map} +0 -0
- /package/dist/{stop-VBA4RMQM.js.map → stop-2COOWEYG.js.map} +0 -0
- /package/dist/{stop-failure-54Z2HSU4.js.map → stop-failure-UQ33GZLE.js.map} +0 -0
- /package/dist/{subagent-start-XL773ZID.js.map → subagent-start-YENEY6VF.js.map} +0 -0
- /package/dist/{subagent-stop-HJVSYNII.js.map → subagent-stop-W2757YDB.js.map} +0 -0
- /package/dist/{task-completed-GLNYNBYP.js.map → task-completed-KU6GWMWV.js.map} +0 -0
- /package/dist/{team-M6TC4TFC.js.map → team-SNLC6FZM.js.map} +0 -0
- /package/dist/{turns-3ZQAF6HF.js.map → turns-YFNI5CQC.js.map} +0 -0
- /package/dist/{user-prompt-submit-6KMTMHKW.js.map → user-prompt-submit-KATLHAKA.js.map} +0 -0
- /package/dist/{verify-CJHF23QH.js.map → verify-BGJVB3K2.js.map} +0 -0
- /package/dist/{version-KS3UADP5.js.map → version-MKNN5GYM.js.map} +0 -0
|
@@ -4,16 +4,20 @@ import {
|
|
|
4
4
|
} from "./chunk-5NFJTZ64.js";
|
|
5
5
|
import {
|
|
6
6
|
connectToDaemon
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-NCBLB2C6.js";
|
|
8
8
|
import "./chunk-SAKJMNSR.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-TMNFCUAD.js";
|
|
10
10
|
import "./chunk-PMT2LSTQ.js";
|
|
11
|
+
import "./chunk-NKQZ73LL.js";
|
|
11
12
|
import "./chunk-MYX5NCRH.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-QH5HS54N.js";
|
|
14
|
+
import "./chunk-ST2D3SGM.js";
|
|
14
15
|
import "./chunk-LPUQPDC2.js";
|
|
15
16
|
import "./chunk-I54KLC6H.js";
|
|
16
17
|
import "./chunk-UUHLLQXO.js";
|
|
18
|
+
import "./chunk-6LQIMRTC.js";
|
|
19
|
+
import "./chunk-ODXLRR4U.js";
|
|
20
|
+
import "./chunk-U6PF3YII.js";
|
|
17
21
|
import "./chunk-PZUWP5VK.js";
|
|
18
22
|
|
|
19
23
|
// src/cli/open.ts
|
|
@@ -37,4 +41,4 @@ async function run(_args, vaultDir) {
|
|
|
37
41
|
export {
|
|
38
42
|
run
|
|
39
43
|
};
|
|
40
|
-
//# sourceMappingURL=open-
|
|
44
|
+
//# sourceMappingURL=open-OYBKVBYX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/open.ts"],"sourcesContent":["import { connectToDaemon } from './shared.js';\nimport { openBrowser } from './open-browser.js';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nexport async function run(_args: string[], vaultDir: string): Promise<void> {\n await connectToDaemon(vaultDir);\n\n const daemonPath = path.join(vaultDir, 'daemon.json');\n let port: number;\n try {\n const info = JSON.parse(fs.readFileSync(daemonPath, 'utf-8'));\n port = info.port;\n } catch {\n console.error('Could not read daemon.json. Try: myco restart');\n process.exit(1);\n }\n\n const url = `http://localhost:${port}/`;\n\n openBrowser(url);\n console.log(`Opened ${url}`);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/cli/open.ts"],"sourcesContent":["import { connectToDaemon } from './shared.js';\nimport { openBrowser } from './open-browser.js';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nexport async function run(_args: string[], vaultDir: string): Promise<void> {\n await connectToDaemon(vaultDir);\n\n const daemonPath = path.join(vaultDir, 'daemon.json');\n let port: number;\n try {\n const info = JSON.parse(fs.readFileSync(daemonPath, 'utf-8'));\n port = info.port;\n } catch {\n console.error('Could not read daemon.json. Try: myco restart');\n process.exit(1);\n }\n\n const url = `http://localhost:${port}/`;\n\n openBrowser(url);\n console.log(`Opened ${url}`);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,QAAQ;AACf,OAAO,UAAU;AAEjB,eAAsB,IAAI,OAAiB,UAAiC;AAC1E,QAAM,gBAAgB,QAAQ;AAE9B,QAAM,aAAa,KAAK,KAAK,UAAU,aAAa;AACpD,MAAI;AACJ,MAAI;AACF,UAAM,OAAO,KAAK,MAAM,GAAG,aAAa,YAAY,OAAO,CAAC;AAC5D,WAAO,KAAK;AAAA,EACd,QAAQ;AACN,YAAQ,MAAM,+CAA+C;AAC7D,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,MAAM,oBAAoB,IAAI;AAEpC,cAAY,GAAG;AACf,UAAQ,IAAI,UAAU,GAAG,EAAE;AAC7B;","names":[]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
sendEvent
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-W3JUH5S3.js";
|
|
5
5
|
import "./chunk-V7XG6V6C.js";
|
|
6
6
|
import "./chunk-WKNAKQKA.js";
|
|
7
7
|
import "./chunk-5ZT2Q6P5.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-QH5HS54N.js";
|
|
9
|
+
import "./chunk-ST2D3SGM.js";
|
|
10
10
|
import "./chunk-UVKQ62II.js";
|
|
11
11
|
import "./chunk-LPUQPDC2.js";
|
|
12
12
|
import "./chunk-I54KLC6H.js";
|
|
@@ -27,4 +27,4 @@ async function main() {
|
|
|
27
27
|
export {
|
|
28
28
|
main
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=post-compact-
|
|
30
|
+
//# sourceMappingURL=post-compact-E2OVMNGQ.js.map
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
} from "./chunk-5ZT2Q6P5.js";
|
|
12
12
|
import {
|
|
13
13
|
DaemonClient
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-QH5HS54N.js";
|
|
15
|
+
import "./chunk-ST2D3SGM.js";
|
|
16
16
|
import "./chunk-UVKQ62II.js";
|
|
17
17
|
import "./chunk-LPUQPDC2.js";
|
|
18
18
|
import {
|
|
@@ -60,4 +60,4 @@ async function main() {
|
|
|
60
60
|
export {
|
|
61
61
|
main
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=post-tool-use-
|
|
63
|
+
//# sourceMappingURL=post-tool-use-FGQE26GJ.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
sendEvent
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-W3JUH5S3.js";
|
|
5
5
|
import "./chunk-V7XG6V6C.js";
|
|
6
6
|
import "./chunk-WKNAKQKA.js";
|
|
7
7
|
import "./chunk-5ZT2Q6P5.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-QH5HS54N.js";
|
|
9
|
+
import "./chunk-ST2D3SGM.js";
|
|
10
10
|
import "./chunk-UVKQ62II.js";
|
|
11
11
|
import "./chunk-LPUQPDC2.js";
|
|
12
12
|
import "./chunk-I54KLC6H.js";
|
|
@@ -29,4 +29,4 @@ async function main() {
|
|
|
29
29
|
export {
|
|
30
30
|
main
|
|
31
31
|
};
|
|
32
|
-
//# sourceMappingURL=post-tool-use-failure-
|
|
32
|
+
//# sourceMappingURL=post-tool-use-failure-3CITJYQK.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
sendEvent
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-W3JUH5S3.js";
|
|
5
5
|
import "./chunk-V7XG6V6C.js";
|
|
6
6
|
import "./chunk-WKNAKQKA.js";
|
|
7
7
|
import "./chunk-5ZT2Q6P5.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-QH5HS54N.js";
|
|
9
|
+
import "./chunk-ST2D3SGM.js";
|
|
10
10
|
import "./chunk-UVKQ62II.js";
|
|
11
11
|
import "./chunk-LPUQPDC2.js";
|
|
12
12
|
import "./chunk-I54KLC6H.js";
|
|
@@ -26,4 +26,4 @@ async function main() {
|
|
|
26
26
|
export {
|
|
27
27
|
main
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=pre-compact-
|
|
29
|
+
//# sourceMappingURL=pre-compact-GYMHCXII.js.map
|
|
@@ -1,23 +1,23 @@
|
|
|
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-NCBLB2C6.js";
|
|
5
5
|
import {
|
|
6
6
|
parseStringFlag
|
|
7
7
|
} from "./chunk-SAKJMNSR.js";
|
|
8
8
|
import {
|
|
9
9
|
SymbiontInstaller
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-TMNFCUAD.js";
|
|
11
11
|
import "./chunk-PMT2LSTQ.js";
|
|
12
12
|
import {
|
|
13
13
|
updateConfig
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-NKQZ73LL.js";
|
|
15
15
|
import "./chunk-MYX5NCRH.js";
|
|
16
16
|
import {
|
|
17
17
|
resolveVaultDir
|
|
18
18
|
} from "./chunk-5ZT2Q6P5.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-QH5HS54N.js";
|
|
20
|
+
import "./chunk-ST2D3SGM.js";
|
|
21
21
|
import {
|
|
22
22
|
loadManifests,
|
|
23
23
|
resolvePackageRoot
|
|
@@ -123,4 +123,4 @@ async function run(args) {
|
|
|
123
123
|
export {
|
|
124
124
|
run
|
|
125
125
|
};
|
|
126
|
-
//# sourceMappingURL=remove-
|
|
126
|
+
//# sourceMappingURL=remove-72ER3TG5.js.map
|
|
@@ -1,16 +1,20 @@
|
|
|
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-NCBLB2C6.js";
|
|
5
5
|
import "./chunk-SAKJMNSR.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-TMNFCUAD.js";
|
|
7
7
|
import "./chunk-PMT2LSTQ.js";
|
|
8
|
+
import "./chunk-NKQZ73LL.js";
|
|
8
9
|
import "./chunk-MYX5NCRH.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-QH5HS54N.js";
|
|
11
|
+
import "./chunk-ST2D3SGM.js";
|
|
11
12
|
import "./chunk-LPUQPDC2.js";
|
|
12
13
|
import "./chunk-I54KLC6H.js";
|
|
13
14
|
import "./chunk-UUHLLQXO.js";
|
|
15
|
+
import "./chunk-6LQIMRTC.js";
|
|
16
|
+
import "./chunk-ODXLRR4U.js";
|
|
17
|
+
import "./chunk-U6PF3YII.js";
|
|
14
18
|
import "./chunk-PZUWP5VK.js";
|
|
15
19
|
|
|
16
20
|
// src/cli/restart.ts
|
|
@@ -34,7 +38,7 @@ async function run(_args, vaultDir) {
|
|
|
34
38
|
} catch {
|
|
35
39
|
}
|
|
36
40
|
}
|
|
37
|
-
const { DaemonClient } = await import("./client-
|
|
41
|
+
const { DaemonClient } = await import("./client-S47ENM76.js");
|
|
38
42
|
const client = new DaemonClient(vaultDir);
|
|
39
43
|
console.log("Waiting for health check...");
|
|
40
44
|
const healthy = await client.ensureRunning();
|
|
@@ -53,4 +57,4 @@ async function run(_args, vaultDir) {
|
|
|
53
57
|
export {
|
|
54
58
|
run
|
|
55
59
|
};
|
|
56
|
-
//# sourceMappingURL=restart-
|
|
60
|
+
//# sourceMappingURL=restart-EQHEJCGT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/restart.ts"],"sourcesContent":["import { isProcessAlive } from './shared.js';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nexport async function run(_args: string[], vaultDir: string): Promise<void> {\n const daemonPath = path.join(vaultDir, 'daemon.json');\n\n // Kill existing daemon if running\n if (fs.existsSync(daemonPath)) {\n try {\n const daemon = JSON.parse(fs.readFileSync(daemonPath, 'utf-8'));\n if (isProcessAlive(daemon.pid)) {\n process.kill(daemon.pid, 'SIGTERM');\n console.log(`Stopped daemon (pid ${daemon.pid})`);\n } else {\n console.log(`Daemon pid ${daemon.pid} was already dead`);\n }\n } catch { /* ignore */ }\n try { fs.unlinkSync(daemonPath); } catch { /* already gone */ }\n }\n\n // Spawn and wait for health using the shared client\n // (handles CLAUDE_PLUGIN_ROOT + CURSOR_PLUGIN_ROOT resolution)\n const { DaemonClient } = await import('../hooks/client.js');\n const client = new DaemonClient(vaultDir);\n\n console.log('Waiting for health check...');\n const healthy = await client.ensureRunning();\n if (healthy) {\n try {\n const info = JSON.parse(fs.readFileSync(daemonPath, 'utf-8'));\n console.log(`Daemon healthy on port ${info.port}`);\n console.log(`Dashboard: http://localhost:${info.port}/`);\n } catch {\n console.log('Daemon healthy');\n }\n } else {\n console.error('Daemon failed to become healthy');\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/cli/restart.ts"],"sourcesContent":["import { isProcessAlive } from './shared.js';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nexport async function run(_args: string[], vaultDir: string): Promise<void> {\n const daemonPath = path.join(vaultDir, 'daemon.json');\n\n // Kill existing daemon if running\n if (fs.existsSync(daemonPath)) {\n try {\n const daemon = JSON.parse(fs.readFileSync(daemonPath, 'utf-8'));\n if (isProcessAlive(daemon.pid)) {\n process.kill(daemon.pid, 'SIGTERM');\n console.log(`Stopped daemon (pid ${daemon.pid})`);\n } else {\n console.log(`Daemon pid ${daemon.pid} was already dead`);\n }\n } catch { /* ignore */ }\n try { fs.unlinkSync(daemonPath); } catch { /* already gone */ }\n }\n\n // Spawn and wait for health using the shared client\n // (handles CLAUDE_PLUGIN_ROOT + CURSOR_PLUGIN_ROOT resolution)\n const { DaemonClient } = await import('../hooks/client.js');\n const client = new DaemonClient(vaultDir);\n\n console.log('Waiting for health check...');\n const healthy = await client.ensureRunning();\n if (healthy) {\n try {\n const info = JSON.parse(fs.readFileSync(daemonPath, 'utf-8'));\n console.log(`Daemon healthy on port ${info.port}`);\n console.log(`Dashboard: http://localhost:${info.port}/`);\n } catch {\n console.log('Daemon healthy');\n }\n } else {\n console.error('Daemon failed to become healthy');\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,OAAO,QAAQ;AACf,OAAO,UAAU;AAEjB,eAAsB,IAAI,OAAiB,UAAiC;AAC1E,QAAM,aAAa,KAAK,KAAK,UAAU,aAAa;AAGpD,MAAI,GAAG,WAAW,UAAU,GAAG;AAC7B,QAAI;AACF,YAAM,SAAS,KAAK,MAAM,GAAG,aAAa,YAAY,OAAO,CAAC;AAC9D,UAAI,eAAe,OAAO,GAAG,GAAG;AAC9B,gBAAQ,KAAK,OAAO,KAAK,SAAS;AAClC,gBAAQ,IAAI,uBAAuB,OAAO,GAAG,GAAG;AAAA,MAClD,OAAO;AACL,gBAAQ,IAAI,cAAc,OAAO,GAAG,mBAAmB;AAAA,MACzD;AAAA,IACF,QAAQ;AAAA,IAAe;AACvB,QAAI;AAAE,SAAG,WAAW,UAAU;AAAA,IAAG,QAAQ;AAAA,IAAqB;AAAA,EAChE;AAIA,QAAM,EAAE,aAAa,IAAI,MAAM,OAAO,sBAAoB;AAC1D,QAAM,SAAS,IAAI,aAAa,QAAQ;AAExC,UAAQ,IAAI,6BAA6B;AACzC,QAAM,UAAU,MAAM,OAAO,cAAc;AAC3C,MAAI,SAAS;AACX,QAAI;AACF,YAAM,OAAO,KAAK,MAAM,GAAG,aAAa,YAAY,OAAO,CAAC;AAC5D,cAAQ,IAAI,0BAA0B,KAAK,IAAI,EAAE;AACjD,cAAQ,IAAI,+BAA+B,KAAK,IAAI,GAAG;AAAA,IACzD,QAAQ;AACN,cAAQ,IAAI,gBAAgB;AAAA,IAC9B;AAAA,EACF,OAAO;AACL,YAAQ,MAAM,iCAAiC;AAAA,EACjD;AACF;","names":[]}
|
|
@@ -5,18 +5,22 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
connectToDaemon,
|
|
7
7
|
initVaultDb
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-NCBLB2C6.js";
|
|
9
9
|
import "./chunk-SAKJMNSR.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-TMNFCUAD.js";
|
|
11
11
|
import "./chunk-PMT2LSTQ.js";
|
|
12
|
+
import "./chunk-NKQZ73LL.js";
|
|
12
13
|
import "./chunk-MYX5NCRH.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-QH5HS54N.js";
|
|
15
|
+
import "./chunk-ST2D3SGM.js";
|
|
15
16
|
import "./chunk-LPUQPDC2.js";
|
|
16
17
|
import {
|
|
17
18
|
CONTENT_SNIPPET_CHARS
|
|
18
19
|
} from "./chunk-I54KLC6H.js";
|
|
19
20
|
import "./chunk-UUHLLQXO.js";
|
|
21
|
+
import "./chunk-6LQIMRTC.js";
|
|
22
|
+
import "./chunk-ODXLRR4U.js";
|
|
23
|
+
import "./chunk-U6PF3YII.js";
|
|
20
24
|
import "./chunk-PZUWP5VK.js";
|
|
21
25
|
|
|
22
26
|
// src/cli/search.ts
|
|
@@ -89,4 +93,4 @@ export {
|
|
|
89
93
|
run,
|
|
90
94
|
runVectors
|
|
91
95
|
};
|
|
92
|
-
//# sourceMappingURL=search-
|
|
96
|
+
//# sourceMappingURL=search-JOBYIW43.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/search.ts"],"sourcesContent":["/**\n * CLI: myco search — full-text search via direct SQLite reads.\n * CLI: myco vectors — semantic search via daemon API (requires vector store).\n *\n * The `search` command opens the database directly (WAL mode allows concurrent\n * reads) and does NOT require the daemon. The `vectors` command still routes\n * through the daemon because it needs the in-process vector store.\n */\n\nimport { CONTENT_SNIPPET_CHARS } from '@myco/constants.js';\nimport { fullTextSearch } from '@myco/db/queries/search.js';\nimport { connectToDaemon, initVaultDb } from './shared.js';\n\n// ---------------------------------------------------------------------------\n// Constants\n// ---------------------------------------------------------------------------\n\n/** Default result limit for CLI search. */\nconst CLI_SEARCH_LIMIT = 10;\n\n/** Default result limit for CLI vectors. */\nconst CLI_VECTORS_LIMIT = 20;\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ninterface SearchResult {\n id: string;\n type: string;\n title: string;\n preview: string;\n score: number;\n session_id?: string;\n}\n\n// ---------------------------------------------------------------------------\n// search command — direct DB read\n// ---------------------------------------------------------------------------\n\nexport async function run(args: string[], vaultDir: string): Promise<void> {\n const query = args.join(' ');\n if (!query) { console.error('Usage: myco search <query>'); process.exit(1); }\n\n const cleanup = initVaultDb(vaultDir);\n try {\n const results = fullTextSearch(query, { limit: CLI_SEARCH_LIMIT });\n\n console.log(`=== Text Search: \"${query}\" ===`);\n if (results.length === 0) {\n console.log(' (no results)');\n } else {\n for (const r of results) {\n const preview = (r.preview ?? r.title ?? '').slice(0, CONTENT_SNIPPET_CHARS);\n console.log(` [${r.type}] ${preview}`);\n }\n }\n } catch (err) {\n console.error('Search failed:', (err as Error).message);\n process.exit(1);\n } finally {\n cleanup();\n }\n}\n\n// ---------------------------------------------------------------------------\n// vectors command — requires daemon for vector store\n// ---------------------------------------------------------------------------\n\nexport async function runVectors(args: string[], vaultDir: string): Promise<void> {\n const query = args.join(' ');\n if (!query) { console.error('Usage: myco vectors <query>'); process.exit(1); }\n\n const client = await connectToDaemon(vaultDir);\n\n const params = new URLSearchParams({\n q: query,\n limit: String(CLI_VECTORS_LIMIT),\n mode: 'semantic',\n });\n const result = await client.get(`/api/search?${params.toString()}`);\n\n if (!result.ok || !result.data?.results) {\n console.error('Semantic search failed — embedding provider may not be configured');\n process.exit(1);\n }\n\n const results = result.data.results as SearchResult[];\n\n console.log(`Query: \"${query}\"`);\n console.log();\n\n if (results.length === 0) {\n console.log('(no results)');\n } else {\n const topScore = results[0].score;\n const DEFAULT_RELATIVE_THRESHOLD = 0.5;\n console.log(`Top score: ${topScore.toFixed(4)}`);\n console.log(`Default threshold (${DEFAULT_RELATIVE_THRESHOLD}x): ${(topScore * DEFAULT_RELATIVE_THRESHOLD).toFixed(4)}`);\n console.log();\n console.log(' Sim Ratio Type ID');\n console.log(' ------ ----- --------- ' + '-'.repeat(50));\n for (const r of results) {\n const ratio = (r.score / topScore).toFixed(2);\n const pass = r.score >= topScore * DEFAULT_RELATIVE_THRESHOLD ? '\\u2713' : ' ';\n const type = r.type ?? 'unknown';\n console.log(`${pass} ${r.score.toFixed(4)} ${ratio} ${type.padEnd(9)} ${r.id.slice(0, 50)}`);\n }\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/cli/search.ts"],"sourcesContent":["/**\n * CLI: myco search — full-text search via direct SQLite reads.\n * CLI: myco vectors — semantic search via daemon API (requires vector store).\n *\n * The `search` command opens the database directly (WAL mode allows concurrent\n * reads) and does NOT require the daemon. The `vectors` command still routes\n * through the daemon because it needs the in-process vector store.\n */\n\nimport { CONTENT_SNIPPET_CHARS } from '@myco/constants.js';\nimport { fullTextSearch } from '@myco/db/queries/search.js';\nimport { connectToDaemon, initVaultDb } from './shared.js';\n\n// ---------------------------------------------------------------------------\n// Constants\n// ---------------------------------------------------------------------------\n\n/** Default result limit for CLI search. */\nconst CLI_SEARCH_LIMIT = 10;\n\n/** Default result limit for CLI vectors. */\nconst CLI_VECTORS_LIMIT = 20;\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ninterface SearchResult {\n id: string;\n type: string;\n title: string;\n preview: string;\n score: number;\n session_id?: string;\n}\n\n// ---------------------------------------------------------------------------\n// search command — direct DB read\n// ---------------------------------------------------------------------------\n\nexport async function run(args: string[], vaultDir: string): Promise<void> {\n const query = args.join(' ');\n if (!query) { console.error('Usage: myco search <query>'); process.exit(1); }\n\n const cleanup = initVaultDb(vaultDir);\n try {\n const results = fullTextSearch(query, { limit: CLI_SEARCH_LIMIT });\n\n console.log(`=== Text Search: \"${query}\" ===`);\n if (results.length === 0) {\n console.log(' (no results)');\n } else {\n for (const r of results) {\n const preview = (r.preview ?? r.title ?? '').slice(0, CONTENT_SNIPPET_CHARS);\n console.log(` [${r.type}] ${preview}`);\n }\n }\n } catch (err) {\n console.error('Search failed:', (err as Error).message);\n process.exit(1);\n } finally {\n cleanup();\n }\n}\n\n// ---------------------------------------------------------------------------\n// vectors command — requires daemon for vector store\n// ---------------------------------------------------------------------------\n\nexport async function runVectors(args: string[], vaultDir: string): Promise<void> {\n const query = args.join(' ');\n if (!query) { console.error('Usage: myco vectors <query>'); process.exit(1); }\n\n const client = await connectToDaemon(vaultDir);\n\n const params = new URLSearchParams({\n q: query,\n limit: String(CLI_VECTORS_LIMIT),\n mode: 'semantic',\n });\n const result = await client.get(`/api/search?${params.toString()}`);\n\n if (!result.ok || !result.data?.results) {\n console.error('Semantic search failed — embedding provider may not be configured');\n process.exit(1);\n }\n\n const results = result.data.results as SearchResult[];\n\n console.log(`Query: \"${query}\"`);\n console.log();\n\n if (results.length === 0) {\n console.log('(no results)');\n } else {\n const topScore = results[0].score;\n const DEFAULT_RELATIVE_THRESHOLD = 0.5;\n console.log(`Top score: ${topScore.toFixed(4)}`);\n console.log(`Default threshold (${DEFAULT_RELATIVE_THRESHOLD}x): ${(topScore * DEFAULT_RELATIVE_THRESHOLD).toFixed(4)}`);\n console.log();\n console.log(' Sim Ratio Type ID');\n console.log(' ------ ----- --------- ' + '-'.repeat(50));\n for (const r of results) {\n const ratio = (r.score / topScore).toFixed(2);\n const pass = r.score >= topScore * DEFAULT_RELATIVE_THRESHOLD ? '\\u2713' : ' ';\n const type = r.type ?? 'unknown';\n console.log(`${pass} ${r.score.toFixed(4)} ${ratio} ${type.padEnd(9)} ${r.id.slice(0, 50)}`);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,IAAM,mBAAmB;AAGzB,IAAM,oBAAoB;AAmB1B,eAAsB,IAAI,MAAgB,UAAiC;AACzE,QAAM,QAAQ,KAAK,KAAK,GAAG;AAC3B,MAAI,CAAC,OAAO;AAAE,YAAQ,MAAM,4BAA4B;AAAG,YAAQ,KAAK,CAAC;AAAA,EAAG;AAE5E,QAAM,UAAU,YAAY,QAAQ;AACpC,MAAI;AACF,UAAM,UAAU,eAAe,OAAO,EAAE,OAAO,iBAAiB,CAAC;AAEjE,YAAQ,IAAI,qBAAqB,KAAK,OAAO;AAC7C,QAAI,QAAQ,WAAW,GAAG;AACxB,cAAQ,IAAI,gBAAgB;AAAA,IAC9B,OAAO;AACL,iBAAW,KAAK,SAAS;AACvB,cAAM,WAAW,EAAE,WAAW,EAAE,SAAS,IAAI,MAAM,GAAG,qBAAqB;AAC3E,gBAAQ,IAAI,MAAM,EAAE,IAAI,KAAK,OAAO,EAAE;AAAA,MACxC;AAAA,IACF;AAAA,EACF,SAAS,KAAK;AACZ,YAAQ,MAAM,kBAAmB,IAAc,OAAO;AACtD,YAAQ,KAAK,CAAC;AAAA,EAChB,UAAE;AACA,YAAQ;AAAA,EACV;AACF;AAMA,eAAsB,WAAW,MAAgB,UAAiC;AAChF,QAAM,QAAQ,KAAK,KAAK,GAAG;AAC3B,MAAI,CAAC,OAAO;AAAE,YAAQ,MAAM,6BAA6B;AAAG,YAAQ,KAAK,CAAC;AAAA,EAAG;AAE7E,QAAM,SAAS,MAAM,gBAAgB,QAAQ;AAE7C,QAAM,SAAS,IAAI,gBAAgB;AAAA,IACjC,GAAG;AAAA,IACH,OAAO,OAAO,iBAAiB;AAAA,IAC/B,MAAM;AAAA,EACR,CAAC;AACD,QAAM,SAAS,MAAM,OAAO,IAAI,eAAe,OAAO,SAAS,CAAC,EAAE;AAElE,MAAI,CAAC,OAAO,MAAM,CAAC,OAAO,MAAM,SAAS;AACvC,YAAQ,MAAM,wEAAmE;AACjF,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,UAAU,OAAO,KAAK;AAE5B,UAAQ,IAAI,WAAW,KAAK,GAAG;AAC/B,UAAQ,IAAI;AAEZ,MAAI,QAAQ,WAAW,GAAG;AACxB,YAAQ,IAAI,cAAc;AAAA,EAC5B,OAAO;AACL,UAAM,WAAW,QAAQ,CAAC,EAAE;AAC5B,UAAM,6BAA6B;AACnC,YAAQ,IAAI,cAAc,SAAS,QAAQ,CAAC,CAAC,EAAE;AAC/C,YAAQ,IAAI,sBAAsB,0BAA0B,QAAQ,WAAW,4BAA4B,QAAQ,CAAC,CAAC,EAAE;AACvH,YAAQ,IAAI;AACZ,YAAQ,IAAI,gCAAgC;AAC5C,YAAQ,IAAI,iCAAiC,IAAI,OAAO,EAAE,CAAC;AAC3D,eAAW,KAAK,SAAS;AACvB,YAAM,SAAS,EAAE,QAAQ,UAAU,QAAQ,CAAC;AAC5C,YAAM,OAAO,EAAE,SAAS,WAAW,6BAA6B,WAAW;AAC3E,YAAM,OAAO,EAAE,QAAQ;AACvB,cAAQ,IAAI,GAAG,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM,KAAK,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC,EAAE;AAAA,IACjG;AAAA,EACF;AACF;","names":[]}
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
} from "./chunk-5ZT2Q6P5.js";
|
|
6
6
|
import {
|
|
7
7
|
DaemonClient
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-QH5HS54N.js";
|
|
9
9
|
import {
|
|
10
10
|
getPluginVersion
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ST2D3SGM.js";
|
|
12
12
|
import "./chunk-LPUQPDC2.js";
|
|
13
13
|
import {
|
|
14
14
|
DAEMON_CLIENT_TIMEOUT_MS,
|
|
@@ -14719,4 +14719,4 @@ export {
|
|
|
14719
14719
|
createMycoServer,
|
|
14720
14720
|
main
|
|
14721
14721
|
};
|
|
14722
|
-
//# sourceMappingURL=server-
|
|
14722
|
+
//# sourceMappingURL=server-PZCWYWZL.js.map
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
initVaultDb
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-NCBLB2C6.js";
|
|
5
5
|
import "./chunk-SAKJMNSR.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-TMNFCUAD.js";
|
|
7
7
|
import "./chunk-PMT2LSTQ.js";
|
|
8
8
|
import {
|
|
9
9
|
getSession,
|
|
10
10
|
listSessions
|
|
11
11
|
} from "./chunk-Q6OEZM3S.js";
|
|
12
12
|
import "./chunk-AULBWINA.js";
|
|
13
|
+
import "./chunk-NKQZ73LL.js";
|
|
13
14
|
import "./chunk-MYX5NCRH.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-QH5HS54N.js";
|
|
16
|
+
import "./chunk-ST2D3SGM.js";
|
|
16
17
|
import "./chunk-LPUQPDC2.js";
|
|
17
18
|
import "./chunk-I54KLC6H.js";
|
|
18
19
|
import "./chunk-UUHLLQXO.js";
|
|
20
|
+
import "./chunk-6LQIMRTC.js";
|
|
21
|
+
import "./chunk-ODXLRR4U.js";
|
|
22
|
+
import "./chunk-U6PF3YII.js";
|
|
19
23
|
import "./chunk-PZUWP5VK.js";
|
|
20
24
|
|
|
21
25
|
// src/cli/session.ts
|
|
@@ -67,4 +71,4 @@ ${target.summary}`);
|
|
|
67
71
|
export {
|
|
68
72
|
run
|
|
69
73
|
};
|
|
70
|
-
//# sourceMappingURL=session-
|
|
74
|
+
//# sourceMappingURL=session-APO4A2C7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/session.ts"],"sourcesContent":["/**\n * CLI: myco session — display session info via direct SQLite reads.\n *\n * Opens the database directly (WAL mode allows concurrent reads).\n * Does NOT require the daemon to be running.\n */\n\nimport { listSessions, getSession } from '@myco/db/queries/sessions.js';\nimport { initVaultDb } from './shared.js';\n\n// ---------------------------------------------------------------------------\n// Command\n// ---------------------------------------------------------------------------\n\nexport async function run(args: string[], vaultDir: string): Promise<void> {\n const idOrLatest = args[0];\n\n const cleanup = initVaultDb(vaultDir);\n try {\n const sessions = listSessions({ limit: 100 });\n if (sessions.length === 0) {\n console.log('No sessions found');\n return;\n }\n\n // Resolve target session ID\n let targetId: string;\n if (!idOrLatest || idOrLatest === 'latest') {\n targetId = sessions[0].id;\n } else {\n const match = sessions.find((s) => s.id.includes(idOrLatest));\n if (!match) {\n console.error(`Session not found: ${idOrLatest}`);\n console.log('Available:', sessions.map((s) => s.id.slice(0, 12)).join(', '));\n return;\n }\n targetId = match.id;\n }\n\n // Fetch full session detail\n const target = getSession(targetId);\n if (!target) {\n console.error(`Failed to fetch session: ${targetId}`);\n return;\n }\n\n console.log(`Session: ${target.id}`);\n console.log(`Status: ${target.status}`);\n if (target.title) console.log(`Title: ${target.title}`);\n if (target.branch) console.log(`Branch: ${target.branch}`);\n if (target.user) console.log(`User: ${target.user}`);\n console.log(`Started: ${new Date(target.started_at * 1000).toISOString()}`);\n if (target.ended_at) console.log(`Ended: ${new Date(target.ended_at * 1000).toISOString()}`);\n if (target.prompt_count) console.log(`Prompts: ${target.prompt_count}`);\n if (target.tool_count) console.log(`Tools: ${target.tool_count}`);\n if (target.summary) console.log(`\\nSummary:\\n${target.summary}`);\n } catch (err) {\n console.error('Failed to read vault database:', (err as Error).message);\n process.exit(1);\n } finally {\n cleanup();\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/cli/session.ts"],"sourcesContent":["/**\n * CLI: myco session — display session info via direct SQLite reads.\n *\n * Opens the database directly (WAL mode allows concurrent reads).\n * Does NOT require the daemon to be running.\n */\n\nimport { listSessions, getSession } from '@myco/db/queries/sessions.js';\nimport { initVaultDb } from './shared.js';\n\n// ---------------------------------------------------------------------------\n// Command\n// ---------------------------------------------------------------------------\n\nexport async function run(args: string[], vaultDir: string): Promise<void> {\n const idOrLatest = args[0];\n\n const cleanup = initVaultDb(vaultDir);\n try {\n const sessions = listSessions({ limit: 100 });\n if (sessions.length === 0) {\n console.log('No sessions found');\n return;\n }\n\n // Resolve target session ID\n let targetId: string;\n if (!idOrLatest || idOrLatest === 'latest') {\n targetId = sessions[0].id;\n } else {\n const match = sessions.find((s) => s.id.includes(idOrLatest));\n if (!match) {\n console.error(`Session not found: ${idOrLatest}`);\n console.log('Available:', sessions.map((s) => s.id.slice(0, 12)).join(', '));\n return;\n }\n targetId = match.id;\n }\n\n // Fetch full session detail\n const target = getSession(targetId);\n if (!target) {\n console.error(`Failed to fetch session: ${targetId}`);\n return;\n }\n\n console.log(`Session: ${target.id}`);\n console.log(`Status: ${target.status}`);\n if (target.title) console.log(`Title: ${target.title}`);\n if (target.branch) console.log(`Branch: ${target.branch}`);\n if (target.user) console.log(`User: ${target.user}`);\n console.log(`Started: ${new Date(target.started_at * 1000).toISOString()}`);\n if (target.ended_at) console.log(`Ended: ${new Date(target.ended_at * 1000).toISOString()}`);\n if (target.prompt_count) console.log(`Prompts: ${target.prompt_count}`);\n if (target.tool_count) console.log(`Tools: ${target.tool_count}`);\n if (target.summary) console.log(`\\nSummary:\\n${target.summary}`);\n } catch (err) {\n console.error('Failed to read vault database:', (err as Error).message);\n process.exit(1);\n } finally {\n cleanup();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAcA,eAAsB,IAAI,MAAgB,UAAiC;AACzE,QAAM,aAAa,KAAK,CAAC;AAEzB,QAAM,UAAU,YAAY,QAAQ;AACpC,MAAI;AACF,UAAM,WAAW,aAAa,EAAE,OAAO,IAAI,CAAC;AAC5C,QAAI,SAAS,WAAW,GAAG;AACzB,cAAQ,IAAI,mBAAmB;AAC/B;AAAA,IACF;AAGA,QAAI;AACJ,QAAI,CAAC,cAAc,eAAe,UAAU;AAC1C,iBAAW,SAAS,CAAC,EAAE;AAAA,IACzB,OAAO;AACL,YAAM,QAAQ,SAAS,KAAK,CAAC,MAAM,EAAE,GAAG,SAAS,UAAU,CAAC;AAC5D,UAAI,CAAC,OAAO;AACV,gBAAQ,MAAM,sBAAsB,UAAU,EAAE;AAChD,gBAAQ,IAAI,cAAc,SAAS,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;AAC3E;AAAA,MACF;AACA,iBAAW,MAAM;AAAA,IACnB;AAGA,UAAM,SAAS,WAAW,QAAQ;AAClC,QAAI,CAAC,QAAQ;AACX,cAAQ,MAAM,4BAA4B,QAAQ,EAAE;AACpD;AAAA,IACF;AAEA,YAAQ,IAAI,YAAY,OAAO,EAAE,EAAE;AACnC,YAAQ,IAAI,YAAY,OAAO,MAAM,EAAE;AACvC,QAAI,OAAO,MAAO,SAAQ,IAAI,YAAY,OAAO,KAAK,EAAE;AACxD,QAAI,OAAO,OAAQ,SAAQ,IAAI,YAAY,OAAO,MAAM,EAAE;AAC1D,QAAI,OAAO,KAAM,SAAQ,IAAI,YAAY,OAAO,IAAI,EAAE;AACtD,YAAQ,IAAI,YAAY,IAAI,KAAK,OAAO,aAAa,GAAI,EAAE,YAAY,CAAC,EAAE;AAC1E,QAAI,OAAO,SAAU,SAAQ,IAAI,YAAY,IAAI,KAAK,OAAO,WAAW,GAAI,EAAE,YAAY,CAAC,EAAE;AAC7F,QAAI,OAAO,aAAc,SAAQ,IAAI,YAAY,OAAO,YAAY,EAAE;AACtE,QAAI,OAAO,WAAY,SAAQ,IAAI,YAAY,OAAO,UAAU,EAAE;AAClE,QAAI,OAAO,QAAS,SAAQ,IAAI;AAAA;AAAA,EAAe,OAAO,OAAO,EAAE;AAAA,EACjE,SAAS,KAAK;AACZ,YAAQ,MAAM,kCAAmC,IAAc,OAAO;AACtE,YAAQ,KAAK,CAAC;AAAA,EAChB,UAAE;AACA,YAAQ;AAAA,EACV;AACF;","names":[]}
|
|
@@ -8,8 +8,8 @@ import {
|
|
|
8
8
|
} from "./chunk-5ZT2Q6P5.js";
|
|
9
9
|
import {
|
|
10
10
|
DaemonClient
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-QH5HS54N.js";
|
|
12
|
+
import "./chunk-ST2D3SGM.js";
|
|
13
13
|
import "./chunk-UVKQ62II.js";
|
|
14
14
|
import "./chunk-LPUQPDC2.js";
|
|
15
15
|
import "./chunk-I54KLC6H.js";
|
|
@@ -40,4 +40,4 @@ async function main() {
|
|
|
40
40
|
export {
|
|
41
41
|
main
|
|
42
42
|
};
|
|
43
|
-
//# sourceMappingURL=session-end-
|
|
43
|
+
//# sourceMappingURL=session-end-4V4VHAOQ.js.map
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
} from "./chunk-6DDRJQ4X.js";
|
|
16
16
|
import {
|
|
17
17
|
loadConfig
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-NKQZ73LL.js";
|
|
19
19
|
import {
|
|
20
20
|
getDatabase,
|
|
21
21
|
initDatabase,
|
|
@@ -30,8 +30,8 @@ import {
|
|
|
30
30
|
} from "./chunk-5ZT2Q6P5.js";
|
|
31
31
|
import {
|
|
32
32
|
DaemonClient
|
|
33
|
-
} from "./chunk-
|
|
34
|
-
import "./chunk-
|
|
33
|
+
} from "./chunk-QH5HS54N.js";
|
|
34
|
+
import "./chunk-ST2D3SGM.js";
|
|
35
35
|
import {
|
|
36
36
|
loadManifests
|
|
37
37
|
} from "./chunk-UVKQ62II.js";
|
|
@@ -186,4 +186,4 @@ async function main() {
|
|
|
186
186
|
export {
|
|
187
187
|
main
|
|
188
188
|
};
|
|
189
|
-
//# sourceMappingURL=session-start-
|
|
189
|
+
//# sourceMappingURL=session-start-K6ESRZU7.js.map
|
|
@@ -2,19 +2,19 @@ import { createRequire as __cr } from 'node:module'; const require = __cr(import
|
|
|
2
2
|
import {
|
|
3
3
|
withEmbedding
|
|
4
4
|
} from "./chunk-GFR542SM.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-NCBLB2C6.js";
|
|
6
6
|
import {
|
|
7
7
|
parseStringFlag
|
|
8
8
|
} from "./chunk-SAKJMNSR.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-TMNFCUAD.js";
|
|
10
10
|
import "./chunk-PMT2LSTQ.js";
|
|
11
11
|
import {
|
|
12
12
|
loadConfig,
|
|
13
13
|
updateConfig
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-NKQZ73LL.js";
|
|
15
15
|
import "./chunk-MYX5NCRH.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-QH5HS54N.js";
|
|
17
|
+
import "./chunk-ST2D3SGM.js";
|
|
18
18
|
import "./chunk-LPUQPDC2.js";
|
|
19
19
|
import "./chunk-I54KLC6H.js";
|
|
20
20
|
import "./chunk-UUHLLQXO.js";
|
|
@@ -79,4 +79,4 @@ async function run(args, vaultDir) {
|
|
|
79
79
|
export {
|
|
80
80
|
run
|
|
81
81
|
};
|
|
82
|
-
//# sourceMappingURL=setup-llm-
|
|
82
|
+
//# sourceMappingURL=setup-llm-QUWOSB7A.js.map
|
|
@@ -195,14 +195,23 @@ phases:
|
|
|
195
195
|
Consolidate related spores into wisdom and clean up redundancy.
|
|
196
196
|
The vault must get SHARPER over time, not just bigger.
|
|
197
197
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
198
|
+
Spores may exist that were created outside this run's extract phase
|
|
199
|
+
(for example by a coding agent or manual curation). You may still
|
|
200
|
+
consolidate those when it materially sharpens the vault.
|
|
201
|
+
Stay focused on recent or high-signal active spores; do not perform an
|
|
202
|
+
exhaustive crawl if the first few targeted searches show no action.
|
|
203
|
+
|
|
204
|
+
## Step 1: Find clusters safely (budget: 5 turns)
|
|
205
|
+
|
|
206
|
+
1. Start with targeted `vault_search_semantic` queries for themes from the
|
|
207
|
+
current extract phase and other likely consolidation targets.
|
|
208
|
+
2. Use the semantic results as a shortlist: note their IDs, titles/previews,
|
|
209
|
+
and similarity scores.
|
|
210
|
+
3. For any candidate you need to read in full, call `vault_spores` with
|
|
211
|
+
`ids: [...]` to fetch ONLY those exact spores. Do not bulk-read an
|
|
212
|
+
entire high-volume type when exact-ID reads will do.
|
|
213
|
+
4. Use broad `vault_spores` listings only when the payload is small enough
|
|
214
|
+
to inspect safely.
|
|
206
215
|
|
|
207
216
|
## Decision tree
|
|
208
217
|
|
|
@@ -227,6 +236,8 @@ phases:
|
|
|
227
236
|
Also look for spores that are outdated or contradicted by newer ones:
|
|
228
237
|
- If two spores describe the same thing but one is more recent/detailed,
|
|
229
238
|
supersede the older one via `vault_resolve_spore` action "supersede"
|
|
239
|
+
- Never supersede a spore you have not actually read in full via
|
|
240
|
+
`vault_spores(ids: [...])`
|
|
230
241
|
- Superseded spores stay in the DB but are removed from search and
|
|
231
242
|
context injection — this keeps the vault relevant
|
|
232
243
|
|
|
@@ -249,6 +260,11 @@ phases:
|
|
|
249
260
|
prompt: |
|
|
250
261
|
Build the knowledge graph: create entities, then link spores to them.
|
|
251
262
|
|
|
263
|
+
New graph work may still be warranted even when extract skipped, because
|
|
264
|
+
spores and entities can be created by coding agents or manual curation.
|
|
265
|
+
Focus on recent or high-signal active spores and obvious entity gaps.
|
|
266
|
+
If a quick review shows no meaningful new graph work, report "skip".
|
|
267
|
+
|
|
252
268
|
The graph has two layers:
|
|
253
269
|
- Lineage (automatic): spore→session, spore→batch — already done
|
|
254
270
|
- Semantic (your job): spore→entity, entity→entity — you create these
|
|
@@ -321,6 +337,7 @@ phases:
|
|
|
321
337
|
each tier is. Review the prior phase results (in your context):
|
|
322
338
|
- How many spores were created/superseded?
|
|
323
339
|
- How many entities/edges were added?
|
|
340
|
+
- Did consolidate or graph act on externally-created spores or entities?
|
|
324
341
|
|
|
325
342
|
If changes are minor (< 3 new spores, 0 entity changes), call
|
|
326
343
|
`vault_report` with action "skip" and reason explaining why the
|
|
@@ -379,6 +396,10 @@ phases:
|
|
|
379
396
|
Update digest tier 10000 — Full institutional knowledge.
|
|
380
397
|
Budget: 7 turns (1 read + 1-2 search + 1 write + buffer).
|
|
381
398
|
|
|
399
|
+
If the digest-assess phase said this tier should SKIP or reported
|
|
400
|
+
"no new intelligence material this run", call `vault_report` with
|
|
401
|
+
action "skip" for tier 10000 and finish immediately.
|
|
402
|
+
|
|
382
403
|
This is the largest tier (~10,000 tokens). Update if any new content
|
|
383
404
|
was found. The digest-assess phase summary in your context contains
|
|
384
405
|
the material to integrate and per-tier guidance.
|
|
@@ -412,6 +433,10 @@ phases:
|
|
|
412
433
|
Update digest tier 5000 — Deep onboarding.
|
|
413
434
|
Budget: 5 turns (1 read + 1 search + 1 write + buffer).
|
|
414
435
|
|
|
436
|
+
If the digest-assess phase said this tier should SKIP or reported
|
|
437
|
+
"no new intelligence material this run", call `vault_report` with
|
|
438
|
+
action "skip" for tier 5000 and finish immediately.
|
|
439
|
+
|
|
415
440
|
This tier (~5,000 tokens) focuses on trade-offs and patterns. The
|
|
416
441
|
digest-assess phase summary in your context contains the material
|
|
417
442
|
to integrate and per-tier guidance.
|
|
@@ -444,6 +469,10 @@ phases:
|
|
|
444
469
|
Update digest tier 1500 — Executive briefing.
|
|
445
470
|
Budget: 3 turns (1 read + 1 write + buffer).
|
|
446
471
|
|
|
472
|
+
If the digest-assess phase said this tier should SKIP or reported
|
|
473
|
+
"no new intelligence material this run", call `vault_report` with
|
|
474
|
+
action "skip" for tier 1500 and finish immediately.
|
|
475
|
+
|
|
447
476
|
This is the most compressed tier (~1,500 tokens). Only update if
|
|
448
477
|
important new decisions, gotchas, or critical changes were found.
|
|
449
478
|
The digest-assess phase summary in your context contains the material
|
|
@@ -10,10 +10,10 @@ You operate on a vault database. The capture layer writes raw data (sessions, pr
|
|
|
10
10
|
|
|
11
11
|
- **vault_state** — Get your key-value state (cursor position, preferences). Call this first on every run.
|
|
12
12
|
- **vault_unprocessed** — Get prompt batches not yet processed, ordered by ID. Supports cursor-based pagination via `after_id`.
|
|
13
|
-
- **vault_spores** — List existing spores with filters: `observation_type`, `status` (active/superseded/archived), `agent_id
|
|
13
|
+
- **vault_spores** — List existing spores with filters: `observation_type`, `status` (active/superseded/archived), `agent_id`, `session_id`, or fetch exact spores by `ids` when you need full content for a semantic shortlist.
|
|
14
14
|
- **vault_sessions** — List sessions with optional `status` filter, ordered by most recent.
|
|
15
15
|
- **vault_search_fts** — Full-text search across prompt batches and activities using FTS5. Best for keyword matches and finding session content. Params: `query`, `type` (prompt_batch, activity), `limit`.
|
|
16
|
-
- **vault_search_semantic** — Semantic similarity search across embedded vault content (spores, sessions, plans, artifacts). Best for finding conceptually related content. Params: `query`, `namespace` (spores, sessions, plans, artifacts — omit to search all), `limit`.
|
|
16
|
+
- **vault_search_semantic** — Semantic similarity search across embedded vault content (spores, sessions, plans, artifacts). Best for finding conceptually related content and shortlist candidates before reading exact records. Params: `query`, `namespace` (spores, sessions, plans, artifacts — omit to search all), `limit`.
|
|
17
17
|
- **vault_read_digest** — Read current digest extracts. Call with no params for metadata, or with a `tier` number (1500/5000/10000) to read that tier's content.
|
|
18
18
|
- **vault_entities** — List knowledge graph entities with optional `type` and `name` filters. Use to check existing entities before creating new ones.
|
|
19
19
|
- **vault_edges** — List graph edges with optional `source_id`, `target_id`, and `type` filters. Use to check existing relationships before creating edges.
|
package/dist/src/cli.js
CHANGED
package/dist/src/daemon/main.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
|
|
3
3
|
// src/entries/daemon.ts
|
|
4
|
-
var { main } = await import("../../main-
|
|
4
|
+
var { main } = await import("../../main-RPJSS7PT.js");
|
|
5
5
|
await main();
|
|
6
6
|
//# sourceMappingURL=main.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
|
|
3
3
|
// src/entries/post-tool-use.ts
|
|
4
|
-
var { main } = await import("../../post-tool-use-
|
|
4
|
+
var { main } = await import("../../post-tool-use-FGQE26GJ.js");
|
|
5
5
|
await main();
|
|
6
6
|
//# sourceMappingURL=post-tool-use.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
|
|
3
3
|
// src/entries/session-end.ts
|
|
4
|
-
var { main } = await import("../../session-end-
|
|
4
|
+
var { main } = await import("../../session-end-4V4VHAOQ.js");
|
|
5
5
|
await main();
|
|
6
6
|
//# sourceMappingURL=session-end.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
|
|
3
3
|
// src/entries/session-start.ts
|
|
4
|
-
var { main } = await import("../../session-start-
|
|
4
|
+
var { main } = await import("../../session-start-K6ESRZU7.js");
|
|
5
5
|
await main();
|
|
6
6
|
//# sourceMappingURL=session-start.js.map
|
package/dist/src/hooks/stop.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
|
|
3
3
|
// src/entries/stop.ts
|
|
4
|
-
var { main } = await import("../../stop-
|
|
4
|
+
var { main } = await import("../../stop-2COOWEYG.js");
|
|
5
5
|
await main();
|
|
6
6
|
//# sourceMappingURL=stop.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
|
|
3
3
|
// src/entries/user-prompt-submit.ts
|
|
4
|
-
var { main } = await import("../../user-prompt-submit-
|
|
4
|
+
var { main } = await import("../../user-prompt-submit-KATLHAKA.js");
|
|
5
5
|
await main();
|
|
6
6
|
//# sourceMappingURL=user-prompt-submit.js.map
|
package/dist/src/mcp/server.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
|
|
3
3
|
// src/entries/mcp-server.ts
|
|
4
|
-
var { main } = await import("../../server-
|
|
4
|
+
var { main } = await import("../../server-PZCWYWZL.js");
|
|
5
5
|
await main();
|
|
6
6
|
//# sourceMappingURL=server.js.map
|