@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.
Files changed (160) hide show
  1. package/README.md +1 -1
  2. package/dist/{agent-run-BGW4TY3D.js → agent-run-7AYHXIEF.js} +6 -6
  3. package/dist/{agent-tasks-XUJ6FTPL.js → agent-tasks-UUIFKBD4.js} +6 -6
  4. package/dist/{chunk-VGVRBSLC.js → chunk-25WHTV4N.js} +2 -2
  5. package/dist/{chunk-ZUSTCXHT.js → chunk-3NCVCGUZ.js} +3 -3
  6. package/dist/chunk-5NFJTZ64.js +14 -0
  7. package/dist/chunk-5NFJTZ64.js.map +1 -0
  8. package/dist/{chunk-2WRXLYG6.js → chunk-5ZISXCDC.js} +2 -2
  9. package/dist/{chunk-6SDC6V3N.js → chunk-7DAH5GLC.js} +1 -5
  10. package/dist/{chunk-6SDC6V3N.js.map → chunk-7DAH5GLC.js.map} +1 -1
  11. package/dist/{chunk-KOTFMGL5.js → chunk-BZDZORVP.js} +4 -4
  12. package/dist/{chunk-KKEMVH6D.js → chunk-C3C5QVLK.js} +2 -2
  13. package/dist/{chunk-XQHL4GMO.js → chunk-CTF7TQMJ.js} +3 -3
  14. package/dist/{chunk-CPL76CYD.js → chunk-DT42247G.js} +3 -3
  15. package/dist/{chunk-VQQ57UPG.js → chunk-F6C4IC6R.js} +4 -4
  16. package/dist/{chunk-VQQ57UPG.js.map → chunk-F6C4IC6R.js.map} +1 -1
  17. package/dist/{chunk-SODRR3HE.js → chunk-GFR542SM.js} +1 -1
  18. package/dist/chunk-GFR542SM.js.map +1 -0
  19. package/dist/{chunk-QQ7CXA7Q.js → chunk-HPZ7YAMA.js} +95 -10
  20. package/dist/{chunk-QQ7CXA7Q.js.map → chunk-HPZ7YAMA.js.map} +1 -1
  21. package/dist/{chunk-GBYLHPML.js → chunk-IGBHLFV5.js} +2 -2
  22. package/dist/{chunk-DKSQMH5X.js → chunk-ML6GTPZU.js} +2 -2
  23. package/dist/{chunk-KQOII5RU.js → chunk-NUSTG3BH.js} +3 -3
  24. package/dist/{chunk-2IJ6C63F.js → chunk-RKPTMHED.js} +2 -2
  25. package/dist/{chunk-YTOD6L6N.js → chunk-RMJPQZGF.js} +97 -7
  26. package/dist/chunk-RMJPQZGF.js.map +1 -0
  27. package/dist/{chunk-LA7NDX3J.js → chunk-SI5BBQAT.js} +2 -2
  28. package/dist/{chunk-OGNEW5CN.js → chunk-UTLWSKDV.js} +2 -2
  29. package/dist/{chunk-FEX6ALLH.js → chunk-XD3NEN3Q.js} +29 -3
  30. package/dist/chunk-XD3NEN3Q.js.map +1 -0
  31. package/dist/{chunk-N6JNOSBQ.js → chunk-XZWFMMJR.js} +3 -3
  32. package/dist/{chunk-UDBCAFXS.js → chunk-ZSJPI5MS.js} +2 -2
  33. package/dist/{cli-353VNZIY.js → cli-WJVYP2QT.js} +39 -39
  34. package/dist/{client-7KJ453V4.js → client-LZ3ZR4HC.js} +4 -4
  35. package/dist/{config-K3CJEFFO.js → config-ZQIMG3FB.js} +4 -4
  36. package/dist/{detect-providers-OE6HWW3M.js → detect-providers-C64L3QET.js} +4 -4
  37. package/dist/{doctor-RYFP7ABA.js → doctor-XEPBNHM3.js} +11 -11
  38. package/dist/doctor-XEPBNHM3.js.map +1 -0
  39. package/dist/{executor-YOKYS7OT.js → executor-NXKJU5KW.js} +25 -106
  40. package/dist/executor-NXKJU5KW.js.map +1 -0
  41. package/dist/{init-XR2JZWY2.js → init-BHVQAQ27.js} +54 -72
  42. package/dist/init-BHVQAQ27.js.map +1 -0
  43. package/dist/{llm-PGETQHZ2.js → llm-KTD6SR55.js} +4 -7
  44. package/dist/{loader-J56KP27U.js → loader-NEX3UF6U.js} +3 -3
  45. package/dist/{loader-AVWL7PNO.js → loader-SHRKUKOS.js} +3 -3
  46. package/dist/{main-6DGPZXRF.js → main-YFVBIRRK.js} +87 -57
  47. package/dist/main-YFVBIRRK.js.map +1 -0
  48. package/dist/{open-P7YEH7UJ.js → open-2U7ZRGA3.js} +10 -9
  49. package/dist/open-2U7ZRGA3.js.map +1 -0
  50. package/dist/open-browser-EBKBAYSM.js +9 -0
  51. package/dist/{post-compact-WPS4SONO.js → post-compact-QIBMEWL3.js} +6 -6
  52. package/dist/{post-tool-use-5WLLRGZ5.js → post-tool-use-ICGFXDVY.js} +5 -5
  53. package/dist/{post-tool-use-failure-6C6HSBHI.js → post-tool-use-failure-C7TLH3XQ.js} +6 -6
  54. package/dist/{pre-compact-Z4E4JLAK.js → pre-compact-IF7K4TQK.js} +6 -6
  55. package/dist/{provider-check-CESRPIY5.js → provider-check-LTLQ6BUZ.js} +4 -4
  56. package/dist/{registry-SPKP2WLI.js → registry-TFQ22Z7N.js} +4 -4
  57. package/dist/{remove-B2PFVQXK.js → remove-FBGM2QVJ.js} +7 -7
  58. package/dist/{resolution-events-CLDXZF67.js → resolution-events-HGKIJOTA.js} +4 -4
  59. package/dist/{restart-XAJDOL3E.js → restart-TQEECRNW.js} +7 -7
  60. package/dist/{search-ERTCTAQ3.js → search-NN5FC4Z6.js} +7 -7
  61. package/dist/{server-LXUA7XUQ.js → server-XMWJ4GF7.js} +4 -4
  62. package/dist/{session-433T6V3C.js → session-GLPAFYPO.js} +8 -8
  63. package/dist/{session-end-4Y5VY4OI.js → session-end-TI3ILRBC.js} +5 -5
  64. package/dist/{session-start-3STH4HFL.js → session-start-PJLJDVJJ.js} +10 -10
  65. package/dist/{setup-llm-UBBSQWX5.js → setup-llm-AQSWLXCZ.js} +8 -8
  66. package/dist/src/cli.js +1 -1
  67. package/dist/src/daemon/main.js +1 -1
  68. package/dist/src/hooks/post-tool-use.js +1 -1
  69. package/dist/src/hooks/session-end.js +1 -1
  70. package/dist/src/hooks/session-start.js +1 -1
  71. package/dist/src/hooks/stop.js +1 -1
  72. package/dist/src/hooks/user-prompt-submit.js +1 -1
  73. package/dist/src/mcp/server.js +1 -1
  74. package/dist/{stats-3NW7PGQK.js → stats-BISBIBXZ.js} +8 -8
  75. package/dist/{stop-L7BLMHUD.js → stop-47BJ42EO.js} +5 -5
  76. package/dist/{stop-failure-P5MYHGAZ.js → stop-failure-VU5BTLWX.js} +6 -6
  77. package/dist/{subagent-start-AIEFG4HA.js → subagent-start-SPTKQRHU.js} +6 -6
  78. package/dist/{subagent-stop-TZ62BSNI.js → subagent-stop-UU75BYLC.js} +6 -6
  79. package/dist/{task-completed-ZKVCUBCP.js → task-completed-MVDO7TZF.js} +6 -6
  80. package/dist/{team-WHZW6IFU.js → team-7X64J4Y6.js} +4 -4
  81. package/dist/ui/assets/index-CRmkSi63.css +1 -0
  82. package/dist/ui/assets/index-rpmSpJpm.js +842 -0
  83. package/dist/ui/index.html +2 -2
  84. package/dist/{update-P7GIQLIV.js → update-DA7VEXOS.js} +7 -7
  85. package/dist/{user-prompt-submit-4J7ZW6X3.js → user-prompt-submit-ADZ4NTVO.js} +5 -5
  86. package/dist/{verify-PSERIZPF.js → verify-QYSERHF7.js} +5 -8
  87. package/dist/{verify-PSERIZPF.js.map → verify-QYSERHF7.js.map} +1 -1
  88. package/dist/{version-OHJ5ZLHX.js → version-A72TAL2J.js} +2 -2
  89. package/package.json +6 -2
  90. package/dist/chunk-FEX6ALLH.js.map +0 -1
  91. package/dist/chunk-KGL5QSDN.js +0 -66
  92. package/dist/chunk-KGL5QSDN.js.map +0 -1
  93. package/dist/chunk-SODRR3HE.js.map +0 -1
  94. package/dist/chunk-U3SSOSIR.js +0 -26
  95. package/dist/chunk-U3SSOSIR.js.map +0 -1
  96. package/dist/chunk-Y7QCKCEJ.js +0 -26
  97. package/dist/chunk-Y7QCKCEJ.js.map +0 -1
  98. package/dist/chunk-YTOD6L6N.js.map +0 -1
  99. package/dist/doctor-RYFP7ABA.js.map +0 -1
  100. package/dist/executor-YOKYS7OT.js.map +0 -1
  101. package/dist/init-XR2JZWY2.js.map +0 -1
  102. package/dist/init-wizard-5CH2FD76.js +0 -294
  103. package/dist/init-wizard-5CH2FD76.js.map +0 -1
  104. package/dist/main-6DGPZXRF.js.map +0 -1
  105. package/dist/open-P7YEH7UJ.js.map +0 -1
  106. package/dist/openai-embeddings-LZKY6RV5.js +0 -14
  107. package/dist/openrouter-UTOZG6Z5.js +0 -14
  108. package/dist/ui/assets/index-2UyTdjlV.js +0 -842
  109. package/dist/ui/assets/index-Cts1wLEW.css +0 -1
  110. package/dist/version-OHJ5ZLHX.js.map +0 -1
  111. /package/dist/{agent-run-BGW4TY3D.js.map → agent-run-7AYHXIEF.js.map} +0 -0
  112. /package/dist/{agent-tasks-XUJ6FTPL.js.map → agent-tasks-UUIFKBD4.js.map} +0 -0
  113. /package/dist/{chunk-VGVRBSLC.js.map → chunk-25WHTV4N.js.map} +0 -0
  114. /package/dist/{chunk-ZUSTCXHT.js.map → chunk-3NCVCGUZ.js.map} +0 -0
  115. /package/dist/{chunk-2WRXLYG6.js.map → chunk-5ZISXCDC.js.map} +0 -0
  116. /package/dist/{chunk-KOTFMGL5.js.map → chunk-BZDZORVP.js.map} +0 -0
  117. /package/dist/{chunk-KKEMVH6D.js.map → chunk-C3C5QVLK.js.map} +0 -0
  118. /package/dist/{chunk-XQHL4GMO.js.map → chunk-CTF7TQMJ.js.map} +0 -0
  119. /package/dist/{chunk-CPL76CYD.js.map → chunk-DT42247G.js.map} +0 -0
  120. /package/dist/{chunk-GBYLHPML.js.map → chunk-IGBHLFV5.js.map} +0 -0
  121. /package/dist/{chunk-DKSQMH5X.js.map → chunk-ML6GTPZU.js.map} +0 -0
  122. /package/dist/{chunk-KQOII5RU.js.map → chunk-NUSTG3BH.js.map} +0 -0
  123. /package/dist/{chunk-2IJ6C63F.js.map → chunk-RKPTMHED.js.map} +0 -0
  124. /package/dist/{chunk-LA7NDX3J.js.map → chunk-SI5BBQAT.js.map} +0 -0
  125. /package/dist/{chunk-OGNEW5CN.js.map → chunk-UTLWSKDV.js.map} +0 -0
  126. /package/dist/{chunk-N6JNOSBQ.js.map → chunk-XZWFMMJR.js.map} +0 -0
  127. /package/dist/{chunk-UDBCAFXS.js.map → chunk-ZSJPI5MS.js.map} +0 -0
  128. /package/dist/{cli-353VNZIY.js.map → cli-WJVYP2QT.js.map} +0 -0
  129. /package/dist/{client-7KJ453V4.js.map → client-LZ3ZR4HC.js.map} +0 -0
  130. /package/dist/{config-K3CJEFFO.js.map → config-ZQIMG3FB.js.map} +0 -0
  131. /package/dist/{detect-providers-OE6HWW3M.js.map → detect-providers-C64L3QET.js.map} +0 -0
  132. /package/dist/{llm-PGETQHZ2.js.map → llm-KTD6SR55.js.map} +0 -0
  133. /package/dist/{loader-AVWL7PNO.js.map → loader-NEX3UF6U.js.map} +0 -0
  134. /package/dist/{loader-J56KP27U.js.map → loader-SHRKUKOS.js.map} +0 -0
  135. /package/dist/{openai-embeddings-LZKY6RV5.js.map → open-browser-EBKBAYSM.js.map} +0 -0
  136. /package/dist/{post-compact-WPS4SONO.js.map → post-compact-QIBMEWL3.js.map} +0 -0
  137. /package/dist/{post-tool-use-5WLLRGZ5.js.map → post-tool-use-ICGFXDVY.js.map} +0 -0
  138. /package/dist/{post-tool-use-failure-6C6HSBHI.js.map → post-tool-use-failure-C7TLH3XQ.js.map} +0 -0
  139. /package/dist/{pre-compact-Z4E4JLAK.js.map → pre-compact-IF7K4TQK.js.map} +0 -0
  140. /package/dist/{openrouter-UTOZG6Z5.js.map → provider-check-LTLQ6BUZ.js.map} +0 -0
  141. /package/dist/{provider-check-CESRPIY5.js.map → registry-TFQ22Z7N.js.map} +0 -0
  142. /package/dist/{remove-B2PFVQXK.js.map → remove-FBGM2QVJ.js.map} +0 -0
  143. /package/dist/{registry-SPKP2WLI.js.map → resolution-events-HGKIJOTA.js.map} +0 -0
  144. /package/dist/{restart-XAJDOL3E.js.map → restart-TQEECRNW.js.map} +0 -0
  145. /package/dist/{search-ERTCTAQ3.js.map → search-NN5FC4Z6.js.map} +0 -0
  146. /package/dist/{server-LXUA7XUQ.js.map → server-XMWJ4GF7.js.map} +0 -0
  147. /package/dist/{session-433T6V3C.js.map → session-GLPAFYPO.js.map} +0 -0
  148. /package/dist/{session-end-4Y5VY4OI.js.map → session-end-TI3ILRBC.js.map} +0 -0
  149. /package/dist/{session-start-3STH4HFL.js.map → session-start-PJLJDVJJ.js.map} +0 -0
  150. /package/dist/{setup-llm-UBBSQWX5.js.map → setup-llm-AQSWLXCZ.js.map} +0 -0
  151. /package/dist/{stats-3NW7PGQK.js.map → stats-BISBIBXZ.js.map} +0 -0
  152. /package/dist/{stop-L7BLMHUD.js.map → stop-47BJ42EO.js.map} +0 -0
  153. /package/dist/{stop-failure-P5MYHGAZ.js.map → stop-failure-VU5BTLWX.js.map} +0 -0
  154. /package/dist/{subagent-start-AIEFG4HA.js.map → subagent-start-SPTKQRHU.js.map} +0 -0
  155. /package/dist/{subagent-stop-TZ62BSNI.js.map → subagent-stop-UU75BYLC.js.map} +0 -0
  156. /package/dist/{task-completed-ZKVCUBCP.js.map → task-completed-MVDO7TZF.js.map} +0 -0
  157. /package/dist/{team-WHZW6IFU.js.map → team-7X64J4Y6.js.map} +0 -0
  158. /package/dist/{update-P7GIQLIV.js.map → update-DA7VEXOS.js.map} +0 -0
  159. /package/dist/{user-prompt-submit-4J7ZW6X3.js.map → user-prompt-submit-ADZ4NTVO.js.map} +0 -0
  160. /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-XQHL4GMO.js";
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-DKSQMH5X.js";
10
+ import "./chunk-ML6GTPZU.js";
14
11
  import {
15
12
  createSchema
16
- } from "./chunk-OGNEW5CN.js";
13
+ } from "./chunk-UTLWSKDV.js";
17
14
  import {
18
15
  MycoConfigSchema,
19
16
  saveConfig,
20
17
  updateConfig
21
- } from "./chunk-FEX6ALLH.js";
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-N6JNOSBQ.js";
31
- import "./chunk-LA7NDX3J.js";
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 "./chunk-6SDC6V3N.js";
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 wizardOverrides = {};
65
- let agentOverrides = null;
66
- let wizardAnswers = null;
67
- let shouldRunWizard = false;
68
- if (isInteractive && !hasEmbeddingFlags) {
69
- if (alreadyInitialized) {
70
- const { loadConfig } = await import("./loader-AVWL7PNO.js");
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 (shouldRunWizard) {
85
- const { runWizard, buildEmbeddingConfig, buildAgentConfig } = await import("./init-wizard-5CH2FD76.js");
86
- const answers = await runWizard();
87
- wizardAnswers = answers;
88
- if (answers.embeddingProvider !== "skip") {
89
- wizardOverrides = { ...buildEmbeddingConfig(answers) };
90
- }
91
- agentOverrides = buildAgentConfig(answers);
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(embeddingOverrides).length > 0 ? { embedding: embeddingOverrides } : {},
105
- ...agentOverrides ? { agent: agentOverrides } : {}
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-AVWL7PNO.js");
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-7KJ453V4.js");
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 \u2014 run `myco doctor` to diagnose");
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 \u2014 Myco will begin capturing automatically.");
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-XR2JZWY2.js.map
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-QQ7CXA7Q.js";
6
- import "./chunk-U3SSOSIR.js";
7
- import "./chunk-Y7QCKCEJ.js";
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-PGETQHZ2.js.map
14
+ //# sourceMappingURL=llm-KTD6SR55.js.map
@@ -7,11 +7,11 @@ import {
7
7
  resolveDefinitionsDir,
8
8
  resolveEffectiveConfig,
9
9
  taskFromParsed
10
- } from "./chunk-VQQ57UPG.js";
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-6SDC6V3N.js";
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-J56KP27U.js.map
28
+ //# sourceMappingURL=loader-NEX3UF6U.js.map
@@ -7,8 +7,8 @@ import {
7
7
  updateBackupConfig,
8
8
  updateConfig,
9
9
  updateTeamConfig
10
- } from "./chunk-FEX6ALLH.js";
11
- import "./chunk-6SDC6V3N.js";
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-AVWL7PNO.js.map
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-KOTFMGL5.js";
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-YTOD6L6N.js";
75
+ } from "./chunk-RMJPQZGF.js";
63
76
  import {
64
77
  fullTextSearch,
65
78
  hydrateSearchResults
66
- } from "./chunk-GBYLHPML.js";
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-ZUSTCXHT.js";
86
+ } from "./chunk-3NCVCGUZ.js";
87
87
  import {
88
88
  AgentTaskSchema,
89
89
  registerAgent,
90
90
  resolveDefinitionsDir,
91
91
  taskFromParsed
92
- } from "./chunk-VQQ57UPG.js";
92
+ } from "./chunk-F6C4IC6R.js";
93
93
  import {
94
94
  listTurnsByRun
95
95
  } from "./chunk-QLCD77AN.js";
96
96
  import {
97
- checkLocalProvider
98
- } from "./chunk-CPL76CYD.js";
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-U3SSOSIR.js";
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-DKSQMH5X.js";
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-UDBCAFXS.js";
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-VGVRBSLC.js";
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-KKEMVH6D.js";
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-OGNEW5CN.js";
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-FEX6ALLH.js";
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-N6JNOSBQ.js";
176
+ } from "./chunk-XZWFMMJR.js";
178
177
  import {
179
178
  getPluginVersion
180
- } from "./chunk-LA7NDX3J.js";
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-6SDC6V3N.js";
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-WHZW6IFU.js");
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 || !["cloud", "ollama", "lmstudio"].includes(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: cloud, ollama, lmstudio" }
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 = testCloud();
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 models = status.models.filter((m) => !/-ctx\d+/.test(m));
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 detectCloud() {
5456
- return { type: "cloud", available: true, models: ANTHROPIC_MODELS };
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 testCloud() {
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-SPKP2WLI.js");
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-YOKYS7OT.js");
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-CLDXZF67.js");
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-YOKYS7OT.js");
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-YOKYS7OT.js");
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-J56KP27U.js");
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-6DGPZXRF.js.map
7496
+ //# sourceMappingURL=main-YFVBIRRK.js.map