@goondocks/myco 0.17.1 → 0.17.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/README.md +1 -1
- package/dist/{agent-run-BGW4TY3D.js → agent-run-7AYHXIEF.js} +6 -6
- package/dist/{agent-tasks-XUJ6FTPL.js → agent-tasks-UUIFKBD4.js} +6 -6
- package/dist/{chunk-VGVRBSLC.js → chunk-25WHTV4N.js} +2 -2
- package/dist/{chunk-ZUSTCXHT.js → chunk-3NCVCGUZ.js} +3 -3
- package/dist/chunk-5NFJTZ64.js +14 -0
- package/dist/chunk-5NFJTZ64.js.map +1 -0
- package/dist/{chunk-2WRXLYG6.js → chunk-5ZISXCDC.js} +2 -2
- package/dist/{chunk-6SDC6V3N.js → chunk-7DAH5GLC.js} +1 -5
- package/dist/{chunk-6SDC6V3N.js.map → chunk-7DAH5GLC.js.map} +1 -1
- package/dist/{chunk-KOTFMGL5.js → chunk-BZDZORVP.js} +4 -4
- package/dist/{chunk-KKEMVH6D.js → chunk-C3C5QVLK.js} +2 -2
- package/dist/{chunk-XQHL4GMO.js → chunk-CTF7TQMJ.js} +3 -3
- package/dist/{chunk-CPL76CYD.js → chunk-DT42247G.js} +3 -3
- package/dist/{chunk-VQQ57UPG.js → chunk-F6C4IC6R.js} +4 -4
- package/dist/{chunk-VQQ57UPG.js.map → chunk-F6C4IC6R.js.map} +1 -1
- package/dist/{chunk-SODRR3HE.js → chunk-GFR542SM.js} +1 -1
- package/dist/chunk-GFR542SM.js.map +1 -0
- package/dist/{chunk-QQ7CXA7Q.js → chunk-HPZ7YAMA.js} +95 -10
- package/dist/{chunk-QQ7CXA7Q.js.map → chunk-HPZ7YAMA.js.map} +1 -1
- package/dist/{chunk-GBYLHPML.js → chunk-IGBHLFV5.js} +2 -2
- package/dist/{chunk-DKSQMH5X.js → chunk-ML6GTPZU.js} +2 -2
- package/dist/{chunk-KQOII5RU.js → chunk-NUSTG3BH.js} +3 -3
- package/dist/{chunk-2IJ6C63F.js → chunk-RKPTMHED.js} +2 -2
- package/dist/{chunk-YTOD6L6N.js → chunk-RMJPQZGF.js} +97 -7
- package/dist/chunk-RMJPQZGF.js.map +1 -0
- package/dist/{chunk-LA7NDX3J.js → chunk-SI5BBQAT.js} +2 -2
- package/dist/{chunk-OGNEW5CN.js → chunk-UTLWSKDV.js} +2 -2
- package/dist/{chunk-FEX6ALLH.js → chunk-XD3NEN3Q.js} +29 -3
- package/dist/chunk-XD3NEN3Q.js.map +1 -0
- package/dist/{chunk-N6JNOSBQ.js → chunk-XZWFMMJR.js} +3 -3
- package/dist/{chunk-UDBCAFXS.js → chunk-ZSJPI5MS.js} +2 -2
- package/dist/{cli-353VNZIY.js → cli-WJVYP2QT.js} +39 -39
- package/dist/{client-7KJ453V4.js → client-LZ3ZR4HC.js} +4 -4
- package/dist/{config-K3CJEFFO.js → config-ZQIMG3FB.js} +4 -4
- package/dist/{detect-providers-OE6HWW3M.js → detect-providers-C64L3QET.js} +4 -4
- package/dist/{doctor-RYFP7ABA.js → doctor-XEPBNHM3.js} +11 -11
- package/dist/doctor-XEPBNHM3.js.map +1 -0
- package/dist/{executor-YOKYS7OT.js → executor-NXKJU5KW.js} +25 -106
- package/dist/executor-NXKJU5KW.js.map +1 -0
- package/dist/{init-XR2JZWY2.js → init-BHVQAQ27.js} +54 -72
- package/dist/init-BHVQAQ27.js.map +1 -0
- package/dist/{llm-PGETQHZ2.js → llm-KTD6SR55.js} +4 -7
- package/dist/{loader-J56KP27U.js → loader-NEX3UF6U.js} +3 -3
- package/dist/{loader-AVWL7PNO.js → loader-SHRKUKOS.js} +3 -3
- package/dist/{main-6DGPZXRF.js → main-YFVBIRRK.js} +87 -57
- package/dist/main-YFVBIRRK.js.map +1 -0
- package/dist/{open-P7YEH7UJ.js → open-2U7ZRGA3.js} +10 -9
- package/dist/open-2U7ZRGA3.js.map +1 -0
- package/dist/open-browser-EBKBAYSM.js +9 -0
- package/dist/{post-compact-WPS4SONO.js → post-compact-QIBMEWL3.js} +6 -6
- package/dist/{post-tool-use-5WLLRGZ5.js → post-tool-use-ICGFXDVY.js} +5 -5
- package/dist/{post-tool-use-failure-6C6HSBHI.js → post-tool-use-failure-C7TLH3XQ.js} +6 -6
- package/dist/{pre-compact-Z4E4JLAK.js → pre-compact-IF7K4TQK.js} +6 -6
- package/dist/{provider-check-CESRPIY5.js → provider-check-LTLQ6BUZ.js} +4 -4
- package/dist/{registry-SPKP2WLI.js → registry-TFQ22Z7N.js} +4 -4
- package/dist/{remove-B2PFVQXK.js → remove-FBGM2QVJ.js} +7 -7
- package/dist/{resolution-events-CLDXZF67.js → resolution-events-HGKIJOTA.js} +4 -4
- package/dist/{restart-XAJDOL3E.js → restart-TQEECRNW.js} +7 -7
- package/dist/{search-ERTCTAQ3.js → search-NN5FC4Z6.js} +7 -7
- package/dist/{server-LXUA7XUQ.js → server-XMWJ4GF7.js} +4 -4
- package/dist/{session-433T6V3C.js → session-GLPAFYPO.js} +8 -8
- package/dist/{session-end-4Y5VY4OI.js → session-end-TI3ILRBC.js} +5 -5
- package/dist/{session-start-3STH4HFL.js → session-start-PJLJDVJJ.js} +10 -10
- package/dist/{setup-llm-UBBSQWX5.js → setup-llm-AQSWLXCZ.js} +8 -8
- 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-3NW7PGQK.js → stats-BISBIBXZ.js} +8 -8
- package/dist/{stop-L7BLMHUD.js → stop-47BJ42EO.js} +5 -5
- package/dist/{stop-failure-P5MYHGAZ.js → stop-failure-VU5BTLWX.js} +6 -6
- package/dist/{subagent-start-AIEFG4HA.js → subagent-start-SPTKQRHU.js} +6 -6
- package/dist/{subagent-stop-TZ62BSNI.js → subagent-stop-UU75BYLC.js} +6 -6
- package/dist/{task-completed-ZKVCUBCP.js → task-completed-MVDO7TZF.js} +6 -6
- package/dist/{team-WHZW6IFU.js → team-7X64J4Y6.js} +4 -4
- package/dist/ui/assets/index-CRmkSi63.css +1 -0
- package/dist/ui/assets/index-rpmSpJpm.js +842 -0
- package/dist/ui/index.html +2 -2
- package/dist/{update-P7GIQLIV.js → update-DA7VEXOS.js} +7 -7
- package/dist/{user-prompt-submit-4J7ZW6X3.js → user-prompt-submit-ADZ4NTVO.js} +5 -5
- package/dist/{verify-PSERIZPF.js → verify-QYSERHF7.js} +5 -8
- package/dist/{verify-PSERIZPF.js.map → verify-QYSERHF7.js.map} +1 -1
- package/dist/{version-OHJ5ZLHX.js → version-A72TAL2J.js} +2 -2
- package/package.json +6 -2
- package/dist/chunk-FEX6ALLH.js.map +0 -1
- package/dist/chunk-KGL5QSDN.js +0 -66
- package/dist/chunk-KGL5QSDN.js.map +0 -1
- package/dist/chunk-SODRR3HE.js.map +0 -1
- package/dist/chunk-U3SSOSIR.js +0 -26
- package/dist/chunk-U3SSOSIR.js.map +0 -1
- package/dist/chunk-Y7QCKCEJ.js +0 -26
- package/dist/chunk-Y7QCKCEJ.js.map +0 -1
- package/dist/chunk-YTOD6L6N.js.map +0 -1
- package/dist/doctor-RYFP7ABA.js.map +0 -1
- package/dist/executor-YOKYS7OT.js.map +0 -1
- package/dist/init-XR2JZWY2.js.map +0 -1
- package/dist/init-wizard-5CH2FD76.js +0 -294
- package/dist/init-wizard-5CH2FD76.js.map +0 -1
- package/dist/main-6DGPZXRF.js.map +0 -1
- package/dist/open-P7YEH7UJ.js.map +0 -1
- package/dist/openai-embeddings-LZKY6RV5.js +0 -14
- package/dist/openrouter-UTOZG6Z5.js +0 -14
- package/dist/ui/assets/index-2UyTdjlV.js +0 -842
- package/dist/ui/assets/index-Cts1wLEW.css +0 -1
- package/dist/version-OHJ5ZLHX.js.map +0 -1
- /package/dist/{agent-run-BGW4TY3D.js.map → agent-run-7AYHXIEF.js.map} +0 -0
- /package/dist/{agent-tasks-XUJ6FTPL.js.map → agent-tasks-UUIFKBD4.js.map} +0 -0
- /package/dist/{chunk-VGVRBSLC.js.map → chunk-25WHTV4N.js.map} +0 -0
- /package/dist/{chunk-ZUSTCXHT.js.map → chunk-3NCVCGUZ.js.map} +0 -0
- /package/dist/{chunk-2WRXLYG6.js.map → chunk-5ZISXCDC.js.map} +0 -0
- /package/dist/{chunk-KOTFMGL5.js.map → chunk-BZDZORVP.js.map} +0 -0
- /package/dist/{chunk-KKEMVH6D.js.map → chunk-C3C5QVLK.js.map} +0 -0
- /package/dist/{chunk-XQHL4GMO.js.map → chunk-CTF7TQMJ.js.map} +0 -0
- /package/dist/{chunk-CPL76CYD.js.map → chunk-DT42247G.js.map} +0 -0
- /package/dist/{chunk-GBYLHPML.js.map → chunk-IGBHLFV5.js.map} +0 -0
- /package/dist/{chunk-DKSQMH5X.js.map → chunk-ML6GTPZU.js.map} +0 -0
- /package/dist/{chunk-KQOII5RU.js.map → chunk-NUSTG3BH.js.map} +0 -0
- /package/dist/{chunk-2IJ6C63F.js.map → chunk-RKPTMHED.js.map} +0 -0
- /package/dist/{chunk-LA7NDX3J.js.map → chunk-SI5BBQAT.js.map} +0 -0
- /package/dist/{chunk-OGNEW5CN.js.map → chunk-UTLWSKDV.js.map} +0 -0
- /package/dist/{chunk-N6JNOSBQ.js.map → chunk-XZWFMMJR.js.map} +0 -0
- /package/dist/{chunk-UDBCAFXS.js.map → chunk-ZSJPI5MS.js.map} +0 -0
- /package/dist/{cli-353VNZIY.js.map → cli-WJVYP2QT.js.map} +0 -0
- /package/dist/{client-7KJ453V4.js.map → client-LZ3ZR4HC.js.map} +0 -0
- /package/dist/{config-K3CJEFFO.js.map → config-ZQIMG3FB.js.map} +0 -0
- /package/dist/{detect-providers-OE6HWW3M.js.map → detect-providers-C64L3QET.js.map} +0 -0
- /package/dist/{llm-PGETQHZ2.js.map → llm-KTD6SR55.js.map} +0 -0
- /package/dist/{loader-AVWL7PNO.js.map → loader-NEX3UF6U.js.map} +0 -0
- /package/dist/{loader-J56KP27U.js.map → loader-SHRKUKOS.js.map} +0 -0
- /package/dist/{openai-embeddings-LZKY6RV5.js.map → open-browser-EBKBAYSM.js.map} +0 -0
- /package/dist/{post-compact-WPS4SONO.js.map → post-compact-QIBMEWL3.js.map} +0 -0
- /package/dist/{post-tool-use-5WLLRGZ5.js.map → post-tool-use-ICGFXDVY.js.map} +0 -0
- /package/dist/{post-tool-use-failure-6C6HSBHI.js.map → post-tool-use-failure-C7TLH3XQ.js.map} +0 -0
- /package/dist/{pre-compact-Z4E4JLAK.js.map → pre-compact-IF7K4TQK.js.map} +0 -0
- /package/dist/{openrouter-UTOZG6Z5.js.map → provider-check-LTLQ6BUZ.js.map} +0 -0
- /package/dist/{provider-check-CESRPIY5.js.map → registry-TFQ22Z7N.js.map} +0 -0
- /package/dist/{remove-B2PFVQXK.js.map → remove-FBGM2QVJ.js.map} +0 -0
- /package/dist/{registry-SPKP2WLI.js.map → resolution-events-HGKIJOTA.js.map} +0 -0
- /package/dist/{restart-XAJDOL3E.js.map → restart-TQEECRNW.js.map} +0 -0
- /package/dist/{search-ERTCTAQ3.js.map → search-NN5FC4Z6.js.map} +0 -0
- /package/dist/{server-LXUA7XUQ.js.map → server-XMWJ4GF7.js.map} +0 -0
- /package/dist/{session-433T6V3C.js.map → session-GLPAFYPO.js.map} +0 -0
- /package/dist/{session-end-4Y5VY4OI.js.map → session-end-TI3ILRBC.js.map} +0 -0
- /package/dist/{session-start-3STH4HFL.js.map → session-start-PJLJDVJJ.js.map} +0 -0
- /package/dist/{setup-llm-UBBSQWX5.js.map → setup-llm-AQSWLXCZ.js.map} +0 -0
- /package/dist/{stats-3NW7PGQK.js.map → stats-BISBIBXZ.js.map} +0 -0
- /package/dist/{stop-L7BLMHUD.js.map → stop-47BJ42EO.js.map} +0 -0
- /package/dist/{stop-failure-P5MYHGAZ.js.map → stop-failure-VU5BTLWX.js.map} +0 -0
- /package/dist/{subagent-start-AIEFG4HA.js.map → subagent-start-SPTKQRHU.js.map} +0 -0
- /package/dist/{subagent-stop-TZ62BSNI.js.map → subagent-stop-UU75BYLC.js.map} +0 -0
- /package/dist/{task-completed-ZKVCUBCP.js.map → task-completed-MVDO7TZF.js.map} +0 -0
- /package/dist/{team-WHZW6IFU.js.map → team-7X64J4Y6.js.map} +0 -0
- /package/dist/{update-P7GIQLIV.js.map → update-DA7VEXOS.js.map} +0 -0
- /package/dist/{user-prompt-submit-4J7ZW6X3.js.map → user-prompt-submit-ADZ4NTVO.js.map} +0 -0
- /package/dist/{resolution-events-CLDXZF67.js.map → version-A72TAL2J.js.map} +0 -0
|
@@ -2,23 +2,20 @@ 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-CTF7TQMJ.js";
|
|
6
6
|
import {
|
|
7
7
|
parseStringFlag
|
|
8
8
|
} from "./chunk-SAKJMNSR.js";
|
|
9
|
-
import {
|
|
10
|
-
writeSecret
|
|
11
|
-
} from "./chunk-RJMXDUMA.js";
|
|
12
9
|
import "./chunk-VVGZL2HX.js";
|
|
13
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-ML6GTPZU.js";
|
|
14
11
|
import {
|
|
15
12
|
createSchema
|
|
16
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-UTLWSKDV.js";
|
|
17
14
|
import {
|
|
18
15
|
MycoConfigSchema,
|
|
19
16
|
saveConfig,
|
|
20
17
|
updateConfig
|
|
21
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-XD3NEN3Q.js";
|
|
22
19
|
import {
|
|
23
20
|
closeDatabase,
|
|
24
21
|
initDatabase,
|
|
@@ -27,15 +24,19 @@ import {
|
|
|
27
24
|
import {
|
|
28
25
|
resolveVaultDir
|
|
29
26
|
} from "./chunk-5ZT2Q6P5.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import
|
|
27
|
+
import "./chunk-XZWFMMJR.js";
|
|
28
|
+
import {
|
|
29
|
+
getPluginVersion
|
|
30
|
+
} from "./chunk-SI5BBQAT.js";
|
|
32
31
|
import {
|
|
33
32
|
detectSymbionts,
|
|
34
33
|
loadManifests,
|
|
35
34
|
resolvePackageRoot
|
|
36
35
|
} from "./chunk-EBIYONNZ.js";
|
|
37
36
|
import "./chunk-LPUQPDC2.js";
|
|
38
|
-
import
|
|
37
|
+
import {
|
|
38
|
+
DEFAULT_OLLAMA_EMBEDDING_MODEL
|
|
39
|
+
} from "./chunk-7DAH5GLC.js";
|
|
39
40
|
import "./chunk-E7NUADTQ.js";
|
|
40
41
|
import "./chunk-D7TYRPRM.js";
|
|
41
42
|
import "./chunk-E4VLWIJC.js";
|
|
@@ -47,12 +48,19 @@ import fs from "fs";
|
|
|
47
48
|
import path from "path";
|
|
48
49
|
import os from "os";
|
|
49
50
|
var VAULT_REQUIRED_DIRS = ["buffer", "attachments", "logs"];
|
|
51
|
+
function printBanner() {
|
|
52
|
+
const version = getPluginVersion();
|
|
53
|
+
console.log("");
|
|
54
|
+
console.log(" \u{1F344} Myco");
|
|
55
|
+
console.log(` v${version} \u2014 Collective Agent Intelligence`);
|
|
56
|
+
console.log(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500");
|
|
57
|
+
console.log("");
|
|
58
|
+
}
|
|
50
59
|
async function run(args) {
|
|
51
60
|
const vaultPath = parseStringFlag(args, "--vault");
|
|
52
61
|
const nonInteractive = args.includes("--non-interactive");
|
|
53
62
|
const isInteractive = !nonInteractive && !!process.stdin.isTTY;
|
|
54
63
|
if (isInteractive) {
|
|
55
|
-
const { printBanner } = await import("./init-wizard-5CH2FD76.js");
|
|
56
64
|
printBanner();
|
|
57
65
|
}
|
|
58
66
|
const vaultDir = vaultPath ? vaultPath.startsWith("~/") ? path.join(os.homedir(), vaultPath.slice(2)) : path.resolve(vaultPath) : path.join(resolveVaultDir());
|
|
@@ -61,48 +69,36 @@ async function run(args) {
|
|
|
61
69
|
const embeddingModel = parseStringFlag(args, "--embedding-model");
|
|
62
70
|
const embeddingUrl = parseStringFlag(args, "--embedding-url");
|
|
63
71
|
const hasEmbeddingFlags = !!(embeddingProvider || embeddingModel || embeddingUrl);
|
|
64
|
-
let
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const config = loadConfig(vaultDir);
|
|
72
|
-
const agentProvider = config.agent.provider;
|
|
73
|
-
const embConfig = config.embedding;
|
|
74
|
-
console.log(` Vault: ${vaultDir}`);
|
|
75
|
-
console.log(` Intelligence: ${agentProvider?.type ?? "not configured"}${agentProvider?.model ? ` / ${agentProvider.model}` : ""}`);
|
|
76
|
-
console.log(` Embeddings: ${embConfig.provider} / ${embConfig.model}`);
|
|
77
|
-
console.log("");
|
|
78
|
-
const { confirm } = await import("@inquirer/prompts");
|
|
79
|
-
shouldRunWizard = await confirm({ message: "Reconfigure providers?", default: false });
|
|
80
|
-
} else {
|
|
81
|
-
shouldRunWizard = true;
|
|
82
|
-
}
|
|
72
|
+
let embeddingFromFlags = {};
|
|
73
|
+
if (hasEmbeddingFlags && !alreadyInitialized) {
|
|
74
|
+
embeddingFromFlags = {
|
|
75
|
+
provider: embeddingProvider ?? "ollama",
|
|
76
|
+
model: embeddingModel ?? DEFAULT_OLLAMA_EMBEDDING_MODEL,
|
|
77
|
+
...embeddingUrl ? { base_url: embeddingUrl } : {}
|
|
78
|
+
};
|
|
83
79
|
}
|
|
84
|
-
if (
|
|
85
|
-
const {
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
|
|
80
|
+
if (alreadyInitialized && isInteractive) {
|
|
81
|
+
const { loadConfig } = await import("./loader-SHRKUKOS.js");
|
|
82
|
+
const config = loadConfig(vaultDir);
|
|
83
|
+
const agentProvider = config.agent.provider;
|
|
84
|
+
const embConfig = config.embedding;
|
|
85
|
+
console.log(` Vault: ${vaultDir}`);
|
|
86
|
+
console.log(` Intelligence: ${agentProvider?.type ?? "not configured"}${agentProvider?.model ? ` / ${agentProvider.model}` : ""}`);
|
|
87
|
+
console.log(` Embeddings: ${embConfig.provider} / ${embConfig.model}`);
|
|
88
|
+
console.log("");
|
|
92
89
|
}
|
|
93
90
|
if (!alreadyInitialized) {
|
|
94
91
|
console.log(`Initializing Myco vault at ${vaultDir}`);
|
|
95
92
|
for (const dir of VAULT_REQUIRED_DIRS) {
|
|
96
93
|
fs.mkdirSync(path.join(vaultDir, dir), { recursive: true });
|
|
97
94
|
}
|
|
98
|
-
const embeddingOverrides = { ...wizardOverrides };
|
|
99
|
-
if (embeddingProvider) embeddingOverrides.provider = embeddingProvider;
|
|
100
|
-
if (embeddingModel) embeddingOverrides.model = embeddingModel;
|
|
101
|
-
if (embeddingUrl) embeddingOverrides.base_url = embeddingUrl;
|
|
102
95
|
const config = MycoConfigSchema.parse({
|
|
103
96
|
version: 3,
|
|
104
|
-
...Object.keys(
|
|
105
|
-
|
|
97
|
+
...Object.keys(embeddingFromFlags).length > 0 ? { embedding: embeddingFromFlags } : {},
|
|
98
|
+
agent: {
|
|
99
|
+
scheduled_tasks_enabled: false,
|
|
100
|
+
event_tasks_enabled: false
|
|
101
|
+
}
|
|
106
102
|
});
|
|
107
103
|
saveConfig(vaultDir, config);
|
|
108
104
|
fs.writeFileSync(path.join(vaultDir, ".gitignore"), VAULT_GITIGNORE, "utf-8");
|
|
@@ -110,28 +106,6 @@ async function run(args) {
|
|
|
110
106
|
createSchema(db);
|
|
111
107
|
closeDatabase();
|
|
112
108
|
}
|
|
113
|
-
if (alreadyInitialized && (Object.keys(wizardOverrides).length > 0 || agentOverrides)) {
|
|
114
|
-
updateConfig(vaultDir, (config) => {
|
|
115
|
-
let updated = config;
|
|
116
|
-
if (Object.keys(wizardOverrides).length > 0) {
|
|
117
|
-
updated = { ...updated, embedding: wizardOverrides };
|
|
118
|
-
}
|
|
119
|
-
if (agentOverrides) {
|
|
120
|
-
updated = {
|
|
121
|
-
...updated,
|
|
122
|
-
agent: { ...updated.agent, ...agentOverrides }
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
return updated;
|
|
126
|
-
});
|
|
127
|
-
console.log(" Updated myco.yaml");
|
|
128
|
-
}
|
|
129
|
-
if (wizardAnswers?.embeddingApiKey) {
|
|
130
|
-
const { OPENROUTER_API_KEY_ENV } = await import("./openrouter-UTOZG6Z5.js");
|
|
131
|
-
const { OPENAI_API_KEY_ENV } = await import("./openai-embeddings-LZKY6RV5.js");
|
|
132
|
-
const envVarName = wizardAnswers.embeddingProvider === "openrouter" ? OPENROUTER_API_KEY_ENV : OPENAI_API_KEY_ENV;
|
|
133
|
-
writeSecret(vaultDir, envVarName, wizardAnswers.embeddingApiKey);
|
|
134
|
-
}
|
|
135
109
|
const projectRoot = path.dirname(vaultDir);
|
|
136
110
|
const allManifests = loadManifests();
|
|
137
111
|
const detected = detectSymbionts(projectRoot);
|
|
@@ -139,7 +113,7 @@ async function run(args) {
|
|
|
139
113
|
let existingSymbionts;
|
|
140
114
|
if (alreadyInitialized && isInteractive) {
|
|
141
115
|
try {
|
|
142
|
-
const { loadConfig } = await import("./loader-
|
|
116
|
+
const { loadConfig } = await import("./loader-SHRKUKOS.js");
|
|
143
117
|
const existing = loadConfig(vaultDir);
|
|
144
118
|
existingSymbionts = existing.symbionts;
|
|
145
119
|
} catch {
|
|
@@ -181,14 +155,14 @@ async function run(args) {
|
|
|
181
155
|
registerSymbionts(selectedManifests, projectRoot, pkgRoot, "Registered");
|
|
182
156
|
}
|
|
183
157
|
}
|
|
184
|
-
const { DaemonClient } = await import("./client-
|
|
158
|
+
const { DaemonClient } = await import("./client-LZ3ZR4HC.js");
|
|
185
159
|
const client = new DaemonClient(vaultDir);
|
|
186
160
|
const daemonHealthy = await client.ensureRunning();
|
|
187
161
|
let daemonUrl = "";
|
|
188
162
|
if (daemonHealthy) {
|
|
189
163
|
try {
|
|
190
164
|
const daemonJson = JSON.parse(fs.readFileSync(path.join(vaultDir, "daemon.json"), "utf-8"));
|
|
191
|
-
daemonUrl = `http://localhost:${daemonJson.port}
|
|
165
|
+
daemonUrl = `http://localhost:${daemonJson.port}/settings`;
|
|
192
166
|
} catch {
|
|
193
167
|
}
|
|
194
168
|
}
|
|
@@ -202,13 +176,21 @@ async function run(args) {
|
|
|
202
176
|
console.log(`Vault: ${vaultDir}`);
|
|
203
177
|
if (daemonUrl) {
|
|
204
178
|
console.log(`Dashboard: ${daemonUrl}`);
|
|
179
|
+
if (isInteractive) {
|
|
180
|
+
console.log("");
|
|
181
|
+
console.log(" Data collection is active. Configure the Myco agent and");
|
|
182
|
+
console.log(" embedding providers in the dashboard to unlock the full");
|
|
183
|
+
console.log(" intelligence pipeline.");
|
|
184
|
+
const { openBrowser } = await import("./open-browser-EBKBAYSM.js");
|
|
185
|
+
openBrowser(daemonUrl);
|
|
186
|
+
}
|
|
205
187
|
} else if (!daemonHealthy) {
|
|
206
|
-
console.log("Dashboard: daemon failed to start
|
|
188
|
+
console.log("Dashboard: daemon failed to start -- run `myco doctor` to diagnose");
|
|
207
189
|
}
|
|
208
190
|
console.log("");
|
|
209
|
-
console.log("Start a coding session
|
|
191
|
+
console.log("Start a coding session -- Myco will begin capturing automatically.");
|
|
210
192
|
}
|
|
211
193
|
export {
|
|
212
194
|
run
|
|
213
195
|
};
|
|
214
|
-
//# sourceMappingURL=init-
|
|
196
|
+
//# sourceMappingURL=init-BHVQAQ27.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 { loadConfig } = await import('../config/loader.js');\n const config = loadConfig(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 // Agent disabled by default -- user enables via dashboard after configuring a provider\n const config = MycoConfigSchema.parse({\n version: 3,\n ...(Object.keys(embeddingFromFlags).length > 0 ? { embedding: embeddingFromFlags } : {}),\n agent: {\n scheduled_tasks_enabled: false,\n event_tasks_enabled: false,\n },\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 { loadConfig } = await import('../config/loader.js');\n const existing = loadConfig(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":[]}
|
|
@@ -2,16 +2,13 @@ import { createRequire as __cr } from 'node:module'; const require = __cr(import
|
|
|
2
2
|
import {
|
|
3
3
|
createEmbeddingProvider,
|
|
4
4
|
createLlmProvider
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-KGL5QSDN.js";
|
|
9
|
-
import "./chunk-DKSQMH5X.js";
|
|
10
|
-
import "./chunk-6SDC6V3N.js";
|
|
5
|
+
} from "./chunk-HPZ7YAMA.js";
|
|
6
|
+
import "./chunk-ML6GTPZU.js";
|
|
7
|
+
import "./chunk-7DAH5GLC.js";
|
|
11
8
|
import "./chunk-E7NUADTQ.js";
|
|
12
9
|
import "./chunk-PZUWP5VK.js";
|
|
13
10
|
export {
|
|
14
11
|
createEmbeddingProvider,
|
|
15
12
|
createLlmProvider
|
|
16
13
|
};
|
|
17
|
-
//# sourceMappingURL=llm-
|
|
14
|
+
//# sourceMappingURL=llm-KTD6SR55.js.map
|
|
@@ -7,11 +7,11 @@ import {
|
|
|
7
7
|
resolveDefinitionsDir,
|
|
8
8
|
resolveEffectiveConfig,
|
|
9
9
|
taskFromParsed
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-F6C4IC6R.js";
|
|
11
11
|
import "./chunk-IB76KGBY.js";
|
|
12
12
|
import "./chunk-MYX5NCRH.js";
|
|
13
13
|
import "./chunk-LPUQPDC2.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-7DAH5GLC.js";
|
|
15
15
|
import "./chunk-E7NUADTQ.js";
|
|
16
16
|
import "./chunk-D7TYRPRM.js";
|
|
17
17
|
import "./chunk-GDY63YAW.js";
|
|
@@ -25,4 +25,4 @@ export {
|
|
|
25
25
|
resolveEffectiveConfig,
|
|
26
26
|
taskFromParsed
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=loader-
|
|
28
|
+
//# sourceMappingURL=loader-NEX3UF6U.js.map
|
|
@@ -7,8 +7,8 @@ import {
|
|
|
7
7
|
updateBackupConfig,
|
|
8
8
|
updateConfig,
|
|
9
9
|
updateTeamConfig
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-XD3NEN3Q.js";
|
|
11
|
+
import "./chunk-7DAH5GLC.js";
|
|
12
12
|
import "./chunk-E7NUADTQ.js";
|
|
13
13
|
import "./chunk-D7TYRPRM.js";
|
|
14
14
|
import "./chunk-E4VLWIJC.js";
|
|
@@ -23,4 +23,4 @@ export {
|
|
|
23
23
|
updateConfig,
|
|
24
24
|
updateTeamConfig
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=loader-
|
|
26
|
+
//# sourceMappingURL=loader-SHRKUKOS.js.map
|
|
@@ -3,6 +3,9 @@ import {
|
|
|
3
3
|
DaemonLogger,
|
|
4
4
|
LEVEL_ORDER
|
|
5
5
|
} from "./chunk-MVBCON4D.js";
|
|
6
|
+
import {
|
|
7
|
+
withTaskConfig
|
|
8
|
+
} from "./chunk-GFR542SM.js";
|
|
6
9
|
import {
|
|
7
10
|
EMBEDDABLE_TABLES,
|
|
8
11
|
EMBEDDABLE_TEXT_COLUMNS,
|
|
@@ -12,7 +15,16 @@ import {
|
|
|
12
15
|
getEmbeddingQueueDepth,
|
|
13
16
|
getUnembedded,
|
|
14
17
|
markEmbedded
|
|
15
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-BZDZORVP.js";
|
|
19
|
+
import {
|
|
20
|
+
loadSecrets,
|
|
21
|
+
readSecrets,
|
|
22
|
+
writeSecret
|
|
23
|
+
} from "./chunk-RJMXDUMA.js";
|
|
24
|
+
import {
|
|
25
|
+
Anthropic,
|
|
26
|
+
createEmbeddingProvider
|
|
27
|
+
} from "./chunk-HPZ7YAMA.js";
|
|
16
28
|
import {
|
|
17
29
|
buildTaskInstruction,
|
|
18
30
|
closeOpenBatches,
|
|
@@ -38,6 +50,7 @@ import {
|
|
|
38
50
|
getRun,
|
|
39
51
|
getSkillRecord,
|
|
40
52
|
getSkillRecordByName,
|
|
53
|
+
hasConfiguredProvider,
|
|
41
54
|
incrementActivityCount,
|
|
42
55
|
incrementSkillUsageCount,
|
|
43
56
|
insertBatchStateless,
|
|
@@ -59,71 +72,57 @@ import {
|
|
|
59
72
|
setResponseSummary,
|
|
60
73
|
updateCandidate,
|
|
61
74
|
updateNotificationStatus
|
|
62
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-RMJPQZGF.js";
|
|
63
76
|
import {
|
|
64
77
|
fullTextSearch,
|
|
65
78
|
hydrateSearchResults
|
|
66
|
-
} from "./chunk-
|
|
67
|
-
import {
|
|
68
|
-
cleanupStagedSkill,
|
|
69
|
-
listStaleStagingDirs
|
|
70
|
-
} from "./chunk-U5EW2VIQ.js";
|
|
71
|
-
import {
|
|
72
|
-
withTaskConfig
|
|
73
|
-
} from "./chunk-SODRR3HE.js";
|
|
74
|
-
import {
|
|
75
|
-
getMachineId
|
|
76
|
-
} from "./chunk-ENWBFX7F.js";
|
|
77
|
-
import {
|
|
78
|
-
createEmbeddingProvider
|
|
79
|
-
} from "./chunk-QQ7CXA7Q.js";
|
|
79
|
+
} from "./chunk-IGBHLFV5.js";
|
|
80
80
|
import {
|
|
81
81
|
copyTaskToUser,
|
|
82
82
|
deleteUserTask,
|
|
83
83
|
loadAllTasks,
|
|
84
84
|
validateTaskName,
|
|
85
85
|
writeUserTask
|
|
86
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-3NCVCGUZ.js";
|
|
87
87
|
import {
|
|
88
88
|
AgentTaskSchema,
|
|
89
89
|
registerAgent,
|
|
90
90
|
resolveDefinitionsDir,
|
|
91
91
|
taskFromParsed
|
|
92
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-F6C4IC6R.js";
|
|
93
93
|
import {
|
|
94
94
|
listTurnsByRun
|
|
95
95
|
} from "./chunk-QLCD77AN.js";
|
|
96
96
|
import {
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
cleanupStagedSkill,
|
|
98
|
+
listStaleStagingDirs
|
|
99
|
+
} from "./chunk-U5EW2VIQ.js";
|
|
100
|
+
import {
|
|
101
|
+
getMachineId
|
|
102
|
+
} from "./chunk-ENWBFX7F.js";
|
|
99
103
|
import {
|
|
100
104
|
EventBuffer,
|
|
101
105
|
cleanStaleBuffers,
|
|
102
106
|
listBufferSessionIds
|
|
103
107
|
} from "./chunk-V7XG6V6C.js";
|
|
104
108
|
import "./chunk-IB76KGBY.js";
|
|
105
|
-
import "./chunk-
|
|
106
|
-
import "./chunk-Y7QCKCEJ.js";
|
|
107
|
-
import "./chunk-KGL5QSDN.js";
|
|
108
|
-
import "./chunk-XQHL4GMO.js";
|
|
109
|
+
import "./chunk-CTF7TQMJ.js";
|
|
109
110
|
import "./chunk-SAKJMNSR.js";
|
|
110
|
-
import {
|
|
111
|
-
loadSecrets,
|
|
112
|
-
readSecrets,
|
|
113
|
-
writeSecret
|
|
114
|
-
} from "./chunk-RJMXDUMA.js";
|
|
115
111
|
import "./chunk-VVGZL2HX.js";
|
|
112
|
+
import {
|
|
113
|
+
checkLocalProvider
|
|
114
|
+
} from "./chunk-DT42247G.js";
|
|
116
115
|
import {
|
|
117
116
|
LmStudioBackend,
|
|
118
117
|
OllamaBackend
|
|
119
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-ML6GTPZU.js";
|
|
120
119
|
import {
|
|
121
120
|
countSpores,
|
|
122
121
|
getSpore,
|
|
123
122
|
insertSpore,
|
|
124
123
|
listSpores,
|
|
125
124
|
updateSporeStatus
|
|
126
|
-
} from "./chunk-
|
|
125
|
+
} from "./chunk-ZSJPI5MS.js";
|
|
127
126
|
import {
|
|
128
127
|
closeSession,
|
|
129
128
|
countSessions,
|
|
@@ -134,7 +133,7 @@ import {
|
|
|
134
133
|
listSessions,
|
|
135
134
|
updateSession,
|
|
136
135
|
upsertSession
|
|
137
|
-
} from "./chunk-
|
|
136
|
+
} from "./chunk-25WHTV4N.js";
|
|
138
137
|
import {
|
|
139
138
|
backfillUnsynced,
|
|
140
139
|
countDeadLettered,
|
|
@@ -150,13 +149,13 @@ import {
|
|
|
150
149
|
pruneOld,
|
|
151
150
|
retryDeadLettered,
|
|
152
151
|
syncRow
|
|
153
|
-
} from "./chunk-
|
|
152
|
+
} from "./chunk-C3C5QVLK.js";
|
|
154
153
|
import {
|
|
155
154
|
EMBEDDING_DIMENSIONS,
|
|
156
155
|
REST_SETTABLE_STATUSES,
|
|
157
156
|
SCHEMA_VERSION,
|
|
158
157
|
createSchema
|
|
159
|
-
} from "./chunk-
|
|
158
|
+
} from "./chunk-UTLWSKDV.js";
|
|
160
159
|
import {
|
|
161
160
|
CONFIG_FILENAME,
|
|
162
161
|
MycoConfigSchema,
|
|
@@ -165,7 +164,7 @@ import {
|
|
|
165
164
|
updateBackupConfig,
|
|
166
165
|
updateConfig,
|
|
167
166
|
updateTeamConfig
|
|
168
|
-
} from "./chunk-
|
|
167
|
+
} from "./chunk-XD3NEN3Q.js";
|
|
169
168
|
import {
|
|
170
169
|
closeDatabase,
|
|
171
170
|
getDatabase,
|
|
@@ -174,10 +173,10 @@ import {
|
|
|
174
173
|
} from "./chunk-MYX5NCRH.js";
|
|
175
174
|
import {
|
|
176
175
|
resolveCliEntryPath
|
|
177
|
-
} from "./chunk-
|
|
176
|
+
} from "./chunk-XZWFMMJR.js";
|
|
178
177
|
import {
|
|
179
178
|
getPluginVersion
|
|
180
|
-
} from "./chunk-
|
|
179
|
+
} from "./chunk-SI5BBQAT.js";
|
|
181
180
|
import {
|
|
182
181
|
loadManifests
|
|
183
182
|
} from "./chunk-EBIYONNZ.js";
|
|
@@ -234,7 +233,7 @@ import {
|
|
|
234
233
|
USER_TASK_SOURCE,
|
|
235
234
|
epochSeconds,
|
|
236
235
|
estimateTokens
|
|
237
|
-
} from "./chunk-
|
|
236
|
+
} from "./chunk-7DAH5GLC.js";
|
|
238
237
|
import {
|
|
239
238
|
LOG_KINDS,
|
|
240
239
|
kindToComponent
|
|
@@ -2327,7 +2326,7 @@ function createTeamHandlers(deps) {
|
|
|
2327
2326
|
return { body: { retried: count } };
|
|
2328
2327
|
}
|
|
2329
2328
|
async function handleUpgradeWorker(_req) {
|
|
2330
|
-
const { upgradeWorker } = await import("./team-
|
|
2329
|
+
const { upgradeWorker } = await import("./team-7X64J4Y6.js");
|
|
2331
2330
|
const result = upgradeWorker(vaultDir);
|
|
2332
2331
|
if (!result.success) {
|
|
2333
2332
|
return { status: 500, body: { error: result.error } };
|
|
@@ -2802,8 +2801,8 @@ async function handleGetProgress(tracker, token) {
|
|
|
2802
2801
|
// src/daemon/api/models.ts
|
|
2803
2802
|
var MODEL_LIST_TIMEOUT_MS = 5e3;
|
|
2804
2803
|
var ANTHROPIC_MODELS = [
|
|
2805
|
-
"claude-opus-4-6",
|
|
2806
2804
|
"claude-sonnet-4-6",
|
|
2805
|
+
"claude-opus-4-6",
|
|
2807
2806
|
"claude-haiku-4-5-20251001"
|
|
2808
2807
|
];
|
|
2809
2808
|
var EMBEDDING_PATTERNS = [
|
|
@@ -5406,13 +5405,16 @@ async function handleUpdateTaskConfig(req, vaultDir) {
|
|
|
5406
5405
|
}
|
|
5407
5406
|
|
|
5408
5407
|
// src/daemon/api/providers.ts
|
|
5408
|
+
var ANTHROPIC_MODELS_TIMEOUT_MS = 5e3;
|
|
5409
|
+
var ANTHROPIC_MODELS_CACHE_TTL_MS = 10 * 60 * 1e3;
|
|
5410
|
+
var anthropicModelsCache = null;
|
|
5409
5411
|
var HTTP_OK2 = 200;
|
|
5410
5412
|
var HTTP_BAD_REQUEST2 = 400;
|
|
5411
5413
|
async function handleGetProviders() {
|
|
5412
5414
|
const results = await Promise.allSettled([
|
|
5415
|
+
detectAnthropic(),
|
|
5413
5416
|
detectLocalProviderInfo("ollama", OllamaBackend.DEFAULT_BASE_URL),
|
|
5414
|
-
detectLocalProviderInfo("lmstudio", LmStudioBackend.DEFAULT_BASE_URL)
|
|
5415
|
-
detectCloud()
|
|
5417
|
+
detectLocalProviderInfo("lmstudio", LmStudioBackend.DEFAULT_BASE_URL)
|
|
5416
5418
|
]);
|
|
5417
5419
|
const providers = results.map(
|
|
5418
5420
|
(r) => r.status === "fulfilled" ? r.value : { type: "unknown", available: false, models: [] }
|
|
@@ -5422,10 +5424,10 @@ async function handleGetProviders() {
|
|
|
5422
5424
|
async function handleTestProvider(req) {
|
|
5423
5425
|
const body = req.body;
|
|
5424
5426
|
const type = body?.type;
|
|
5425
|
-
if (!type || !["
|
|
5427
|
+
if (!type || !["anthropic", "ollama", "lmstudio"].includes(type)) {
|
|
5426
5428
|
return {
|
|
5427
5429
|
status: HTTP_BAD_REQUEST2,
|
|
5428
|
-
body: { error: "type is required and must be one of:
|
|
5430
|
+
body: { error: "type is required and must be one of: anthropic, ollama, lmstudio" }
|
|
5429
5431
|
};
|
|
5430
5432
|
}
|
|
5431
5433
|
const baseUrl = body?.baseUrl;
|
|
@@ -5437,7 +5439,7 @@ async function handleTestProvider(req) {
|
|
|
5437
5439
|
} else if (type === "lmstudio") {
|
|
5438
5440
|
result = await testLocalProvider(new LmStudioBackend({ base_url: baseUrl }), "LM Studio", LmStudioBackend.DEFAULT_BASE_URL, baseUrl);
|
|
5439
5441
|
} else {
|
|
5440
|
-
result =
|
|
5442
|
+
result = testAnthropic();
|
|
5441
5443
|
}
|
|
5442
5444
|
} catch (err) {
|
|
5443
5445
|
result = { ok: false, error: String(err) };
|
|
@@ -5449,11 +5451,30 @@ async function handleTestProvider(req) {
|
|
|
5449
5451
|
}
|
|
5450
5452
|
async function detectLocalProviderInfo(type, defaultBaseUrl) {
|
|
5451
5453
|
const status = await checkLocalProvider(type);
|
|
5452
|
-
const
|
|
5454
|
+
const variantFiltered = status.models.filter((m) => !/-ctx\d+/.test(m));
|
|
5455
|
+
const models = filterLlmModels(variantFiltered);
|
|
5453
5456
|
return { type, available: status.available, baseUrl: defaultBaseUrl, models };
|
|
5454
5457
|
}
|
|
5455
|
-
async function
|
|
5456
|
-
|
|
5458
|
+
async function detectAnthropic() {
|
|
5459
|
+
const now = Date.now();
|
|
5460
|
+
if (anthropicModelsCache && now - anthropicModelsCache.ts < ANTHROPIC_MODELS_CACHE_TTL_MS) {
|
|
5461
|
+
return { type: "anthropic", available: true, models: anthropicModelsCache.models };
|
|
5462
|
+
}
|
|
5463
|
+
let models = ANTHROPIC_MODELS;
|
|
5464
|
+
try {
|
|
5465
|
+
const client = new Anthropic();
|
|
5466
|
+
const response = await client.models.list(
|
|
5467
|
+
{ limit: 50 },
|
|
5468
|
+
{ timeout: ANTHROPIC_MODELS_TIMEOUT_MS }
|
|
5469
|
+
);
|
|
5470
|
+
const liveModels = response.data.map((m) => m.id).filter((id) => id.startsWith("claude-"));
|
|
5471
|
+
if (liveModels.length > 0) {
|
|
5472
|
+
models = liveModels;
|
|
5473
|
+
}
|
|
5474
|
+
} catch {
|
|
5475
|
+
}
|
|
5476
|
+
anthropicModelsCache = { ts: now, models };
|
|
5477
|
+
return { type: "anthropic", available: true, models };
|
|
5457
5478
|
}
|
|
5458
5479
|
async function testLocalProvider(backend, label, defaultBaseUrl, baseUrl) {
|
|
5459
5480
|
const available = await backend.isAvailable();
|
|
@@ -5462,7 +5483,7 @@ async function testLocalProvider(backend, label, defaultBaseUrl, baseUrl) {
|
|
|
5462
5483
|
}
|
|
5463
5484
|
return { ok: true };
|
|
5464
5485
|
}
|
|
5465
|
-
function
|
|
5486
|
+
function testAnthropic() {
|
|
5466
5487
|
return { ok: true };
|
|
5467
5488
|
}
|
|
5468
5489
|
|
|
@@ -5523,7 +5544,7 @@ async function registerScheduledTasks(powerManager, deps) {
|
|
|
5523
5544
|
logger.info(LOG_KINDS.AGENT_RUN, "Scheduled agent tasks disabled globally (agent.scheduled_tasks_enabled: false)");
|
|
5524
5545
|
return;
|
|
5525
5546
|
}
|
|
5526
|
-
const { loadAllTasks: loadAllTasks2 } = await import("./registry-
|
|
5547
|
+
const { loadAllTasks: loadAllTasks2 } = await import("./registry-TFQ22Z7N.js");
|
|
5527
5548
|
const allTasks = Array.from(loadAllTasks2(definitionsDir, vaultDir).values());
|
|
5528
5549
|
const initialLastRuns = {};
|
|
5529
5550
|
try {
|
|
@@ -5545,7 +5566,7 @@ async function registerScheduledTasks(powerManager, deps) {
|
|
|
5545
5566
|
else runningTasks.delete(name);
|
|
5546
5567
|
},
|
|
5547
5568
|
runTask: async (taskName) => {
|
|
5548
|
-
const { runAgent } = await import("./executor-
|
|
5569
|
+
const { runAgent } = await import("./executor-NXKJU5KW.js");
|
|
5549
5570
|
const taskConfig = config.agent.tasks?.[taskName];
|
|
5550
5571
|
const built = buildTaskInstruction(taskName, taskConfig?.params);
|
|
5551
5572
|
if (isInstructionRequiredTask(taskName) && !built) {
|
|
@@ -5714,7 +5735,7 @@ function createMcpProxyHandlers(deps) {
|
|
|
5714
5735
|
name: USER_AGENT_NAME,
|
|
5715
5736
|
created_at: now
|
|
5716
5737
|
});
|
|
5717
|
-
const { insertResolutionEvent } = await import("./resolution-events-
|
|
5738
|
+
const { insertResolutionEvent } = await import("./resolution-events-HGKIJOTA.js");
|
|
5718
5739
|
const resolutionId = `res-${randomBytes(RESOLUTION_ID_RANDOM_BYTES).toString("hex")}`;
|
|
5719
5740
|
insertResolutionEvent({
|
|
5720
5741
|
id: resolutionId,
|
|
@@ -5806,12 +5827,21 @@ function createAgentRunHandlers(deps) {
|
|
|
5806
5827
|
const { vaultDir, embeddingManager, logger } = deps;
|
|
5807
5828
|
async function handleRun(req) {
|
|
5808
5829
|
const { task, instruction: rawInstruction, agentId } = AgentRunBody.parse(req.body);
|
|
5830
|
+
const mycoConfig = loadConfig(vaultDir);
|
|
5831
|
+
if (!hasConfiguredProvider(mycoConfig, task)) {
|
|
5832
|
+
return {
|
|
5833
|
+
status: 400,
|
|
5834
|
+
body: {
|
|
5835
|
+
ok: false,
|
|
5836
|
+
error: "No agent provider configured. Configure one in Settings."
|
|
5837
|
+
}
|
|
5838
|
+
};
|
|
5839
|
+
}
|
|
5809
5840
|
let instruction = rawInstruction;
|
|
5810
5841
|
let runContext;
|
|
5811
5842
|
if (task && !instruction) {
|
|
5812
5843
|
let built;
|
|
5813
5844
|
try {
|
|
5814
|
-
const mycoConfig = loadConfig(vaultDir);
|
|
5815
5845
|
const taskParams = mycoConfig.agent.tasks?.[task]?.params;
|
|
5816
5846
|
built = buildTaskInstruction(task, taskParams);
|
|
5817
5847
|
} catch {
|
|
@@ -5830,7 +5860,7 @@ function createAgentRunHandlers(deps) {
|
|
|
5830
5860
|
};
|
|
5831
5861
|
}
|
|
5832
5862
|
}
|
|
5833
|
-
const { runAgent } = await import("./executor-
|
|
5863
|
+
const { runAgent } = await import("./executor-NXKJU5KW.js");
|
|
5834
5864
|
const resultPromise = runAgent(vaultDir, {
|
|
5835
5865
|
task,
|
|
5836
5866
|
instruction,
|
|
@@ -6581,7 +6611,7 @@ function createStopProcessor(deps) {
|
|
|
6581
6611
|
if (config.agent.summary_batch_interval <= 0) return;
|
|
6582
6612
|
if (config.agent.event_tasks_enabled === false) return;
|
|
6583
6613
|
try {
|
|
6584
|
-
const { runAgent } = await import("./executor-
|
|
6614
|
+
const { runAgent } = await import("./executor-NXKJU5KW.js");
|
|
6585
6615
|
runAgent(vaultDir, {
|
|
6586
6616
|
task: "title-summary",
|
|
6587
6617
|
instruction: `Process session ${sessionId} only`,
|
|
@@ -7157,7 +7187,7 @@ async function main() {
|
|
|
7157
7187
|
const databaseManager = new DatabaseMaintenanceManager(vaultDbPath(vaultDir), vaultDir, logger);
|
|
7158
7188
|
let definitionsDir;
|
|
7159
7189
|
try {
|
|
7160
|
-
const { registerBuiltInAgentsAndTasks, resolveDefinitionsDir: resolveDefinitionsDir2 } = await import("./loader-
|
|
7190
|
+
const { registerBuiltInAgentsAndTasks, resolveDefinitionsDir: resolveDefinitionsDir2 } = await import("./loader-NEX3UF6U.js");
|
|
7161
7191
|
definitionsDir = resolveDefinitionsDir2();
|
|
7162
7192
|
await registerBuiltInAgentsAndTasks(definitionsDir, vaultDir);
|
|
7163
7193
|
logger.info(LOG_KINDS.AGENT_TASK, "Built-in agents and tasks registered");
|
|
@@ -7463,4 +7493,4 @@ export {
|
|
|
7463
7493
|
handleUserPrompt,
|
|
7464
7494
|
main
|
|
7465
7495
|
};
|
|
7466
|
-
//# sourceMappingURL=main-
|
|
7496
|
+
//# sourceMappingURL=main-YFVBIRRK.js.map
|