@goondocks/myco 0.12.0 → 0.12.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 (84) hide show
  1. package/dist/{agent-run-5KYQJQTY.js → agent-run-CXK2SJEA.js} +4 -4
  2. package/dist/{agent-tasks-N7BDYKGB.js → agent-tasks-O72CTOGN.js} +4 -4
  3. package/dist/{chunk-RGRPAKEY.js → chunk-4CKDWUCX.js} +3 -3
  4. package/dist/{chunk-RGRPAKEY.js.map → chunk-4CKDWUCX.js.map} +1 -1
  5. package/dist/{chunk-TY7A5OZ5.js → chunk-ABZJLB6K.js} +2 -2
  6. package/dist/{chunk-HAG2YDH6.js → chunk-B7CPVELQ.js} +2 -2
  7. package/dist/{chunk-YRHSTVCZ.js → chunk-OIQJF7UV.js} +21 -2
  8. package/dist/chunk-OIQJF7UV.js.map +1 -0
  9. package/dist/{chunk-DPJVKNNP.js → chunk-UK2WZET6.js} +2 -2
  10. package/dist/{cli-Y5QZJAHX.js → cli-NTP2SSAU.js} +31 -31
  11. package/dist/{client-UGM6MG55.js → client-DFHTPO6U.js} +3 -3
  12. package/dist/{doctor-NFWPX75B.js → doctor-RUMMTET5.js} +4 -4
  13. package/dist/{executor-ESRLUCGU.js → executor-G3L2UHXF.js} +2 -2
  14. package/dist/{init-NMSG24BY.js → init-X3AKEAPM.js} +28 -12
  15. package/dist/{init-NMSG24BY.js.map → init-X3AKEAPM.js.map} +1 -1
  16. package/dist/{init-wizard-WIUCR4JE.js → init-wizard-W7XGO4FM.js} +2 -2
  17. package/dist/{main-3NTAT7ZD.js → main-6YKOV53K.js} +11 -10
  18. package/dist/main-6YKOV53K.js.map +1 -0
  19. package/dist/{post-compact-3DDK3OVZ.js → post-compact-OBSL3Q4N.js} +4 -4
  20. package/dist/{post-tool-use-LSG6N3W5.js → post-tool-use-WRKKE5U3.js} +3 -3
  21. package/dist/{post-tool-use-failure-5V3OCLI6.js → post-tool-use-failure-HQ5XXBYL.js} +4 -4
  22. package/dist/{pre-compact-F7Y7SDSZ.js → pre-compact-JWJ6NSJ7.js} +4 -4
  23. package/dist/{remove-VCWRNG54.js → remove-7JJAVZFY.js} +4 -4
  24. package/dist/{restart-YYJ7SH4K.js → restart-OKRZZMEQ.js} +5 -5
  25. package/dist/{search-L7KTBURJ.js → search-XNURLMCH.js} +4 -4
  26. package/dist/{server-GMRVF2PB.js → server-7BVCA5BY.js} +3 -3
  27. package/dist/{session-V3SNFG7J.js → session-UU6PID3W.js} +4 -4
  28. package/dist/{session-end-V3V3GMP2.js → session-end-XMTXUGS4.js} +3 -3
  29. package/dist/{session-start-OH7SBUIA.js → session-start-FDDGWWMC.js} +3 -3
  30. package/dist/{setup-llm-5AMWEAJ5.js → setup-llm-UGZDYJKD.js} +4 -4
  31. package/dist/src/cli.js +1 -1
  32. package/dist/src/daemon/main.js +1 -1
  33. package/dist/src/hooks/post-tool-use.js +1 -1
  34. package/dist/src/hooks/session-end.js +1 -1
  35. package/dist/src/hooks/session-start.js +1 -1
  36. package/dist/src/hooks/stop.js +1 -1
  37. package/dist/src/hooks/user-prompt-submit.js +1 -1
  38. package/dist/src/mcp/server.js +1 -1
  39. package/dist/src/symbionts/templates/agents-starter.md +5 -0
  40. package/dist/{stats-B2V7P45Y.js → stats-DPXRT7BQ.js} +5 -5
  41. package/dist/{stop-D6L2KRHZ.js → stop-RZNL4BGV.js} +3 -3
  42. package/dist/{stop-failure-7OM2AYRX.js → stop-failure-C7IUKTIW.js} +4 -4
  43. package/dist/{subagent-start-MKL5I54S.js → subagent-start-2MVHKQ5K.js} +4 -4
  44. package/dist/{subagent-stop-2E7VKZW2.js → subagent-stop-YVWHRVDZ.js} +4 -4
  45. package/dist/{task-completed-5QHIT773.js → task-completed-QFPSXH23.js} +4 -4
  46. package/dist/ui/assets/{index-aMc07Ym5.js → index-BE87MlCd.js} +112 -112
  47. package/dist/ui/index.html +1 -1
  48. package/dist/{update-4NVFET56.js → update-Z25DYA32.js} +4 -4
  49. package/dist/{user-prompt-submit-X4BCPMZ4.js → user-prompt-submit-KNB27MOC.js} +3 -3
  50. package/dist/{version-GTFCEIJ2.js → version-G3HCB5X5.js} +2 -2
  51. package/package.json +1 -1
  52. package/dist/chunk-YRHSTVCZ.js.map +0 -1
  53. package/dist/main-3NTAT7ZD.js.map +0 -1
  54. /package/dist/{agent-run-5KYQJQTY.js.map → agent-run-CXK2SJEA.js.map} +0 -0
  55. /package/dist/{agent-tasks-N7BDYKGB.js.map → agent-tasks-O72CTOGN.js.map} +0 -0
  56. /package/dist/{chunk-TY7A5OZ5.js.map → chunk-ABZJLB6K.js.map} +0 -0
  57. /package/dist/{chunk-HAG2YDH6.js.map → chunk-B7CPVELQ.js.map} +0 -0
  58. /package/dist/{chunk-DPJVKNNP.js.map → chunk-UK2WZET6.js.map} +0 -0
  59. /package/dist/{cli-Y5QZJAHX.js.map → cli-NTP2SSAU.js.map} +0 -0
  60. /package/dist/{client-UGM6MG55.js.map → client-DFHTPO6U.js.map} +0 -0
  61. /package/dist/{doctor-NFWPX75B.js.map → doctor-RUMMTET5.js.map} +0 -0
  62. /package/dist/{executor-ESRLUCGU.js.map → executor-G3L2UHXF.js.map} +0 -0
  63. /package/dist/{init-wizard-WIUCR4JE.js.map → init-wizard-W7XGO4FM.js.map} +0 -0
  64. /package/dist/{post-compact-3DDK3OVZ.js.map → post-compact-OBSL3Q4N.js.map} +0 -0
  65. /package/dist/{post-tool-use-LSG6N3W5.js.map → post-tool-use-WRKKE5U3.js.map} +0 -0
  66. /package/dist/{post-tool-use-failure-5V3OCLI6.js.map → post-tool-use-failure-HQ5XXBYL.js.map} +0 -0
  67. /package/dist/{pre-compact-F7Y7SDSZ.js.map → pre-compact-JWJ6NSJ7.js.map} +0 -0
  68. /package/dist/{remove-VCWRNG54.js.map → remove-7JJAVZFY.js.map} +0 -0
  69. /package/dist/{restart-YYJ7SH4K.js.map → restart-OKRZZMEQ.js.map} +0 -0
  70. /package/dist/{search-L7KTBURJ.js.map → search-XNURLMCH.js.map} +0 -0
  71. /package/dist/{server-GMRVF2PB.js.map → server-7BVCA5BY.js.map} +0 -0
  72. /package/dist/{session-V3SNFG7J.js.map → session-UU6PID3W.js.map} +0 -0
  73. /package/dist/{session-end-V3V3GMP2.js.map → session-end-XMTXUGS4.js.map} +0 -0
  74. /package/dist/{session-start-OH7SBUIA.js.map → session-start-FDDGWWMC.js.map} +0 -0
  75. /package/dist/{setup-llm-5AMWEAJ5.js.map → setup-llm-UGZDYJKD.js.map} +0 -0
  76. /package/dist/{stats-B2V7P45Y.js.map → stats-DPXRT7BQ.js.map} +0 -0
  77. /package/dist/{stop-D6L2KRHZ.js.map → stop-RZNL4BGV.js.map} +0 -0
  78. /package/dist/{stop-failure-7OM2AYRX.js.map → stop-failure-C7IUKTIW.js.map} +0 -0
  79. /package/dist/{subagent-start-MKL5I54S.js.map → subagent-start-2MVHKQ5K.js.map} +0 -0
  80. /package/dist/{subagent-stop-2E7VKZW2.js.map → subagent-stop-YVWHRVDZ.js.map} +0 -0
  81. /package/dist/{task-completed-5QHIT773.js.map → task-completed-QFPSXH23.js.map} +0 -0
  82. /package/dist/{update-4NVFET56.js.map → update-Z25DYA32.js.map} +0 -0
  83. /package/dist/{user-prompt-submit-X4BCPMZ4.js.map → user-prompt-submit-KNB27MOC.js.map} +0 -0
  84. /package/dist/{version-GTFCEIJ2.js.map → version-G3HCB5X5.js.map} +0 -0
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  VAULT_GITIGNORE,
7
7
  registerSymbionts
8
- } from "./chunk-YRHSTVCZ.js";
8
+ } from "./chunk-OIQJF7UV.js";
9
9
  import {
10
10
  parseStringFlag
11
11
  } from "./chunk-SAKJMNSR.js";
@@ -23,10 +23,10 @@ import {
23
23
  initDatabase,
24
24
  vaultDbPath
25
25
  } from "./chunk-MYX5NCRH.js";
26
- import "./chunk-DPJVKNNP.js";
26
+ import "./chunk-UK2WZET6.js";
27
27
  import "./chunk-PIRWYDOH.js";
28
28
  import "./chunk-S6I62FAH.js";
29
- import "./chunk-TY7A5OZ5.js";
29
+ import "./chunk-ABZJLB6K.js";
30
30
  import {
31
31
  detectSymbionts,
32
32
  loadManifests,
@@ -51,7 +51,7 @@ async function run(args) {
51
51
  const nonInteractive = args.includes("--non-interactive");
52
52
  const isInteractive = !nonInteractive && !!process.stdin.isTTY;
53
53
  if (isInteractive) {
54
- const { printBanner } = await import("./init-wizard-WIUCR4JE.js");
54
+ const { printBanner } = await import("./init-wizard-W7XGO4FM.js");
55
55
  printBanner();
56
56
  }
57
57
  const vaultDir = vaultPath ? vaultPath.startsWith("~/") ? path.join(os.homedir(), vaultPath.slice(2)) : path.resolve(vaultPath) : path.join(resolveVaultDir());
@@ -81,7 +81,7 @@ async function run(args) {
81
81
  }
82
82
  }
83
83
  if (shouldRunWizard) {
84
- const { runWizard, buildEmbeddingConfig, buildAgentConfig } = await import("./init-wizard-WIUCR4JE.js");
84
+ const { runWizard, buildEmbeddingConfig, buildAgentConfig } = await import("./init-wizard-W7XGO4FM.js");
85
85
  const answers = await runWizard();
86
86
  wizardAnswers = answers;
87
87
  if (answers.embeddingProvider !== "skip") {
@@ -162,18 +162,34 @@ async function run(args) {
162
162
  registerSymbionts(selectedManifests, projectRoot, pkgRoot, "Registered");
163
163
  }
164
164
  }
165
+ const { DaemonClient } = await import("./client-DFHTPO6U.js");
166
+ const client = new DaemonClient(vaultDir);
167
+ const daemonHealthy = await client.ensureRunning();
168
+ let daemonUrl = "";
169
+ if (daemonHealthy) {
170
+ try {
171
+ const daemonJson = JSON.parse(fs.readFileSync(path.join(vaultDir, "daemon.json"), "utf-8"));
172
+ daemonUrl = `http://localhost:${daemonJson.port}/`;
173
+ } catch {
174
+ }
175
+ }
176
+ console.log("");
165
177
  if (!alreadyInitialized) {
166
- console.log("");
167
178
  console.log("=== Myco Vault Initialized ===");
168
- console.log(`Path: ${vaultDir}`);
169
- console.log("");
170
- console.log("Next: start a coding session \u2014 Myco will begin capturing automatically.");
171
179
  } else {
172
- console.log("");
173
- console.log("Run `myco doctor` to verify setup health.");
180
+ console.log("=== Myco Updated ===");
181
+ }
182
+ console.log(`Project: ${path.basename(projectRoot)}`);
183
+ console.log(`Vault: ${vaultDir}`);
184
+ if (daemonUrl) {
185
+ console.log(`Dashboard: ${daemonUrl}`);
186
+ } else if (!daemonHealthy) {
187
+ console.log("Dashboard: daemon failed to start \u2014 run `myco doctor` to diagnose");
174
188
  }
189
+ console.log("");
190
+ console.log("Start a coding session \u2014 Myco will begin capturing automatically.");
175
191
  }
176
192
  export {
177
193
  run
178
194
  };
179
- //# sourceMappingURL=init-NMSG24BY.js.map
195
+ //# sourceMappingURL=init-X3AKEAPM.js.map
@@ -1 +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 { writeSecret } from '../config/secrets.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\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 const { printBanner } = await import('./init-wizard.js');\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 // --- Wizard: runs for both new and existing vaults ---\n\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 let wizardOverrides: Record<string, unknown> = {};\n let agentOverrides: Record<string, unknown> | null = null;\n let wizardAnswers: Awaited<ReturnType<typeof import('./init-wizard.js').runWizard>> | null = null;\n\n // Determine if the wizard should run\n let shouldRunWizard = false;\n if (isInteractive && !hasEmbeddingFlags) {\n if (alreadyInitialized) {\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 const { confirm } = await import('@inquirer/prompts');\n shouldRunWizard = await confirm({ message: 'Reconfigure providers?', default: false });\n } else {\n shouldRunWizard = true;\n }\n }\n\n if (shouldRunWizard) {\n const { runWizard, buildEmbeddingConfig, buildAgentConfig } = await import('./init-wizard.js');\n const answers = await runWizard();\n wizardAnswers = answers;\n if (answers.embeddingProvider !== 'skip') {\n wizardOverrides = { ...buildEmbeddingConfig(answers) };\n }\n agentOverrides = buildAgentConfig(answers);\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 // Build embedding config from flags (flags take precedence over wizard)\n const embeddingOverrides: Record<string, unknown> = { ...wizardOverrides };\n if (embeddingProvider) embeddingOverrides.provider = embeddingProvider;\n if (embeddingModel) embeddingOverrides.model = embeddingModel;\n if (embeddingUrl) embeddingOverrides.base_url = embeddingUrl;\n\n const config = MycoConfigSchema.parse({\n version: 3,\n ...(Object.keys(embeddingOverrides).length > 0 ? { embedding: embeddingOverrides } : {}),\n ...(agentOverrides ? { agent: agentOverrides } : {}),\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 // --- Update existing vault config if wizard ran ---\n\n if (alreadyInitialized && (Object.keys(wizardOverrides).length > 0 || agentOverrides)) {\n updateConfig(vaultDir, (config) => {\n let updated = config;\n if (Object.keys(wizardOverrides).length > 0) {\n // Full replacement — avoids stale fields (e.g., old base_url) leaking when switching providers\n updated = { ...updated, embedding: wizardOverrides as typeof updated.embedding };\n }\n if (agentOverrides) {\n updated = {\n ...updated,\n agent: { ...updated.agent, ...agentOverrides },\n };\n }\n return updated;\n });\n console.log(' Updated myco.yaml');\n }\n\n // --- Store embedding API key in secrets.env ---\n\n if (wizardAnswers?.embeddingApiKey) {\n const { OPENROUTER_API_KEY_ENV } = await import('./providers/openrouter.js');\n const { OPENAI_API_KEY_ENV } = await import('./providers/openai-embeddings.js');\n const envVarName = wizardAnswers.embeddingProvider === 'openrouter'\n ? OPENROUTER_API_KEY_ENV\n : OPENAI_API_KEY_ENV;\n writeSecret(vaultDir, envVarName, wizardAnswers.embeddingApiKey);\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 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 return {\n value: m.name,\n name: hint ? `${m.displayName} (${hint})` : m.displayName,\n checked: detectedNames.has(m.name),\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 pkgRoot = resolvePackageRoot();\n registerSymbionts(selectedManifests, projectRoot, pkgRoot, 'Registered');\n }\n }\n\n // --- Summary ---\n\n if (!alreadyInitialized) {\n console.log('');\n console.log('=== Myco Vault Initialized ===');\n console.log(`Path: ${vaultDir}`);\n console.log('');\n console.log('Next: start a coding session — Myco will begin capturing automatically.');\n } else {\n console.log('');\n console.log('Run `myco doctor` to verify setup health.');\n }\n}\n\n"],"mappings":"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","names":[]}
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 { writeSecret } from '../config/secrets.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\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 const { printBanner } = await import('./init-wizard.js');\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 // --- Wizard: runs for both new and existing vaults ---\n\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 let wizardOverrides: Record<string, unknown> = {};\n let agentOverrides: Record<string, unknown> | null = null;\n let wizardAnswers: Awaited<ReturnType<typeof import('./init-wizard.js').runWizard>> | null = null;\n\n // Determine if the wizard should run\n let shouldRunWizard = false;\n if (isInteractive && !hasEmbeddingFlags) {\n if (alreadyInitialized) {\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 const { confirm } = await import('@inquirer/prompts');\n shouldRunWizard = await confirm({ message: 'Reconfigure providers?', default: false });\n } else {\n shouldRunWizard = true;\n }\n }\n\n if (shouldRunWizard) {\n const { runWizard, buildEmbeddingConfig, buildAgentConfig } = await import('./init-wizard.js');\n const answers = await runWizard();\n wizardAnswers = answers;\n if (answers.embeddingProvider !== 'skip') {\n wizardOverrides = { ...buildEmbeddingConfig(answers) };\n }\n agentOverrides = buildAgentConfig(answers);\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 // Build embedding config from flags (flags take precedence over wizard)\n const embeddingOverrides: Record<string, unknown> = { ...wizardOverrides };\n if (embeddingProvider) embeddingOverrides.provider = embeddingProvider;\n if (embeddingModel) embeddingOverrides.model = embeddingModel;\n if (embeddingUrl) embeddingOverrides.base_url = embeddingUrl;\n\n const config = MycoConfigSchema.parse({\n version: 3,\n ...(Object.keys(embeddingOverrides).length > 0 ? { embedding: embeddingOverrides } : {}),\n ...(agentOverrides ? { agent: agentOverrides } : {}),\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 // --- Update existing vault config if wizard ran ---\n\n if (alreadyInitialized && (Object.keys(wizardOverrides).length > 0 || agentOverrides)) {\n updateConfig(vaultDir, (config) => {\n let updated = config;\n if (Object.keys(wizardOverrides).length > 0) {\n // Full replacement — avoids stale fields (e.g., old base_url) leaking when switching providers\n updated = { ...updated, embedding: wizardOverrides as typeof updated.embedding };\n }\n if (agentOverrides) {\n updated = {\n ...updated,\n agent: { ...updated.agent, ...agentOverrides },\n };\n }\n return updated;\n });\n console.log(' Updated myco.yaml');\n }\n\n // --- Store embedding API key in secrets.env ---\n\n if (wizardAnswers?.embeddingApiKey) {\n const { OPENROUTER_API_KEY_ENV } = await import('./providers/openrouter.js');\n const { OPENAI_API_KEY_ENV } = await import('./providers/openai-embeddings.js');\n const envVarName = wizardAnswers.embeddingProvider === 'openrouter'\n ? OPENROUTER_API_KEY_ENV\n : OPENAI_API_KEY_ENV;\n writeSecret(vaultDir, envVarName, wizardAnswers.embeddingApiKey);\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 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 return {\n value: m.name,\n name: hint ? `${m.displayName} (${hint})` : m.displayName,\n checked: detectedNames.has(m.name),\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 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}/`;\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 } 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,QAAQ;AAGf,IAAM,sBAAsB,CAAC,UAAU,eAAe,MAAM;AAE5D,eAAsB,IAAI,MAA+B;AACvD,QAAM,YAAY,gBAAgB,MAAM,SAAS;AACjD,QAAM,iBAAiB,KAAK,SAAS,mBAAmB;AACxD,QAAM,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,QAAQ,MAAM;AAGzD,MAAI,eAAe;AACjB,UAAM,EAAE,YAAY,IAAI,MAAM,OAAO,2BAAkB;AACvD,gBAAY;AAAA,EACd;AAGA,QAAM,WAAW,YACZ,UAAU,WAAW,IAAI,IAAI,KAAK,KAAK,GAAG,QAAQ,GAAG,UAAU,MAAM,CAAC,CAAC,IAAI,KAAK,QAAQ,SAAS,IAClG,KAAK,KAAK,gBAAgB,CAAC;AAE/B,QAAM,qBAAqB,GAAG,WAAW,KAAK,KAAK,UAAU,WAAW,CAAC;AAIzE,QAAM,oBAAoB,gBAAgB,MAAM,sBAAsB;AACtE,QAAM,iBAAiB,gBAAgB,MAAM,mBAAmB;AAChE,QAAM,eAAe,gBAAgB,MAAM,iBAAiB;AAC5D,QAAM,oBAAoB,CAAC,EAAE,qBAAqB,kBAAkB;AAEpE,MAAI,kBAA2C,CAAC;AAChD,MAAI,iBAAiD;AACrD,MAAI,gBAAyF;AAG7F,MAAI,kBAAkB;AACtB,MAAI,iBAAiB,CAAC,mBAAmB;AACvC,QAAI,oBAAoB;AACtB,YAAM,EAAE,WAAW,IAAI,MAAM,OAAO,sBAAqB;AACzD,YAAM,SAAS,WAAW,QAAQ;AAClC,YAAM,gBAAgB,OAAO,MAAM;AACnC,YAAM,YAAY,OAAO;AAEzB,cAAQ,IAAI,YAAY,QAAQ,EAAE;AAClC,cAAQ,IAAI,mBAAmB,eAAe,QAAQ,gBAAgB,GAAG,eAAe,QAAQ,MAAM,cAAc,KAAK,KAAK,EAAE,EAAE;AAClI,cAAQ,IAAI,iBAAiB,UAAU,QAAQ,MAAM,UAAU,KAAK,EAAE;AACtE,cAAQ,IAAI,EAAE;AAEd,YAAM,EAAE,QAAQ,IAAI,MAAM,OAAO,mBAAmB;AACpD,wBAAkB,MAAM,QAAQ,EAAE,SAAS,0BAA0B,SAAS,MAAM,CAAC;AAAA,IACvF,OAAO;AACL,wBAAkB;AAAA,IACpB;AAAA,EACF;AAEA,MAAI,iBAAiB;AACnB,UAAM,EAAE,WAAW,sBAAsB,iBAAiB,IAAI,MAAM,OAAO,2BAAkB;AAC7F,UAAM,UAAU,MAAM,UAAU;AAChC,oBAAgB;AAChB,QAAI,QAAQ,sBAAsB,QAAQ;AACxC,wBAAkB,EAAE,GAAG,qBAAqB,OAAO,EAAE;AAAA,IACvD;AACA,qBAAiB,iBAAiB,OAAO;AAAA,EAC3C;AAIA,MAAI,CAAC,oBAAoB;AACvB,YAAQ,IAAI,8BAA8B,QAAQ,EAAE;AAEpD,eAAW,OAAO,qBAAqB;AACrC,SAAG,UAAU,KAAK,KAAK,UAAU,GAAG,GAAG,EAAE,WAAW,KAAK,CAAC;AAAA,IAC5D;AAGA,UAAM,qBAA8C,EAAE,GAAG,gBAAgB;AACzE,QAAI,kBAAmB,oBAAmB,WAAW;AACrD,QAAI,eAAgB,oBAAmB,QAAQ;AAC/C,QAAI,aAAc,oBAAmB,WAAW;AAEhD,UAAM,SAAS,iBAAiB,MAAM;AAAA,MACpC,SAAS;AAAA,MACT,GAAI,OAAO,KAAK,kBAAkB,EAAE,SAAS,IAAI,EAAE,WAAW,mBAAmB,IAAI,CAAC;AAAA,MACtF,GAAI,iBAAiB,EAAE,OAAO,eAAe,IAAI,CAAC;AAAA,IACpD,CAAC;AAED,eAAW,UAAU,MAAM;AAC3B,OAAG,cAAc,KAAK,KAAK,UAAU,YAAY,GAAG,iBAAiB,OAAO;AAE5E,UAAM,KAAK,aAAa,YAAY,QAAQ,CAAC;AAC7C,iBAAa,EAAE;AACf,kBAAc;AAAA,EAChB;AAIA,MAAI,uBAAuB,OAAO,KAAK,eAAe,EAAE,SAAS,KAAK,iBAAiB;AACrF,iBAAa,UAAU,CAAC,WAAW;AACjC,UAAI,UAAU;AACd,UAAI,OAAO,KAAK,eAAe,EAAE,SAAS,GAAG;AAE3C,kBAAU,EAAE,GAAG,SAAS,WAAW,gBAA4C;AAAA,MACjF;AACA,UAAI,gBAAgB;AAClB,kBAAU;AAAA,UACR,GAAG;AAAA,UACH,OAAO,EAAE,GAAG,QAAQ,OAAO,GAAG,eAAe;AAAA,QAC/C;AAAA,MACF;AACA,aAAO;AAAA,IACT,CAAC;AACD,YAAQ,IAAI,qBAAqB;AAAA,EACnC;AAIA,MAAI,eAAe,iBAAiB;AAClC,UAAM,EAAE,uBAAuB,IAAI,MAAM,OAAO,0BAA2B;AAC3E,UAAM,EAAE,mBAAmB,IAAI,MAAM,OAAO,iCAAkC;AAC9E,UAAM,aAAa,cAAc,sBAAsB,eACnD,yBACA;AACJ,gBAAY,UAAU,YAAY,cAAc,eAAe;AAAA,EACjE;AAIA,QAAM,cAAc,KAAK,QAAQ,QAAQ;AACzC,QAAM,eAAe,cAAc;AACnC,QAAM,WAAW,gBAAgB,WAAW;AAC5C,QAAM,gBAAgB,IAAI,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC;AAElE,MAAI,aAAa,SAAS,GAAG;AAE3B,QAAI,oBAAoB,aAAa,OAAO,CAAC,MAAM,cAAc,IAAI,EAAE,IAAI,CAAC;AAE5E,QAAI,eAAe;AACjB,YAAM,EAAE,SAAS,IAAI,MAAM,OAAO,mBAAmB;AACrD,YAAM,UAAU,aAAa,IAAI,CAAC,MAAM;AACtC,cAAM,MAAM,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,IAAI;AAC3D,cAAM,OAAO,MACT,CAAC,IAAI,eAAe,YAAY,IAAI,kBAAkB,GAAG,EAAE,SAAS,UAAU,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI,IACzG;AACJ,eAAO;AAAA,UACL,OAAO,EAAE;AAAA,UACT,MAAM,OAAO,GAAG,EAAE,WAAW,KAAK,IAAI,MAAM,EAAE;AAAA,UAC9C,SAAS,cAAc,IAAI,EAAE,IAAI;AAAA,QACnC;AAAA,MACF,CAAC;AACD,YAAM,gBAAgB,MAAM,SAAS;AAAA,QACnC,SAAS;AAAA,QACT;AAAA,MACF,CAAC;AACD,0BAAoB,aAAa,OAAO,CAAC,MAAM,cAAc,SAAS,EAAE,IAAI,CAAC;AAC7E,UAAI,kBAAkB,WAAW,GAAG;AAClC,gBAAQ,IAAI,gCAAgC;AAAA,MAC9C;AAAA,IACF;AAEA,QAAI,kBAAkB,SAAS,GAAG;AAChC,YAAM,UAAU,mBAAmB;AACnC,wBAAkB,mBAAmB,aAAa,SAAS,YAAY;AAAA,IACzE;AAAA,EACF;AAIA,QAAM,EAAE,aAAa,IAAI,MAAM,OAAO,sBAAoB;AAC1D,QAAM,SAAS,IAAI,aAAa,QAAQ;AACxC,QAAM,gBAAgB,MAAM,OAAO,cAAc;AAEjD,MAAI,YAAY;AAChB,MAAI,eAAe;AACjB,QAAI;AACF,YAAM,aAAa,KAAK,MAAM,GAAG,aAAa,KAAK,KAAK,UAAU,aAAa,GAAG,OAAO,CAAC;AAC1F,kBAAY,oBAAoB,WAAW,IAAI;AAAA,IACjD,QAAQ;AAAA,IAA4C;AAAA,EACtD;AAEA,UAAQ,IAAI,EAAE;AACd,MAAI,CAAC,oBAAoB;AACvB,YAAQ,IAAI,gCAAgC;AAAA,EAC9C,OAAO;AACL,YAAQ,IAAI,sBAAsB;AAAA,EACpC;AACA,UAAQ,IAAI,aAAa,KAAK,SAAS,WAAW,CAAC,EAAE;AACrD,UAAQ,IAAI,aAAa,QAAQ,EAAE;AACnC,MAAI,WAAW;AACb,YAAQ,IAAI,cAAc,SAAS,EAAE;AAAA,EACvC,WAAW,CAAC,eAAe;AACzB,YAAQ,IAAI,wEAAmE;AAAA,EACjF;AACA,UAAQ,IAAI,EAAE;AACd,UAAQ,IAAI,wEAAmE;AACjF;","names":[]}
@@ -19,7 +19,7 @@ import {
19
19
  import "./chunk-S6I62FAH.js";
20
20
  import {
21
21
  getPluginVersion
22
- } from "./chunk-TY7A5OZ5.js";
22
+ } from "./chunk-ABZJLB6K.js";
23
23
  import "./chunk-LPUQPDC2.js";
24
24
  import "./chunk-PZUWP5VK.js";
25
25
 
@@ -291,4 +291,4 @@ export {
291
291
  printBanner,
292
292
  runWizard
293
293
  };
294
- //# sourceMappingURL=init-wizard-WIUCR4JE.js.map
294
+ //# sourceMappingURL=init-wizard-W7XGO4FM.js.map
@@ -15,7 +15,7 @@ import {
15
15
  getEmbeddingQueueDepth,
16
16
  getUnembedded,
17
17
  markEmbedded
18
- } from "./chunk-RGRPAKEY.js";
18
+ } from "./chunk-4CKDWUCX.js";
19
19
  import {
20
20
  getMachineId
21
21
  } from "./chunk-ENWBFX7F.js";
@@ -79,7 +79,7 @@ import {
79
79
  readSecrets,
80
80
  writeSecret
81
81
  } from "./chunk-RJMXDUMA.js";
82
- import "./chunk-YRHSTVCZ.js";
82
+ import "./chunk-OIQJF7UV.js";
83
83
  import "./chunk-SAKJMNSR.js";
84
84
  import {
85
85
  LmStudioBackend,
@@ -132,7 +132,7 @@ import {
132
132
  } from "./chunk-MYX5NCRH.js";
133
133
  import {
134
134
  resolveCliEntryPath
135
- } from "./chunk-DPJVKNNP.js";
135
+ } from "./chunk-UK2WZET6.js";
136
136
  import {
137
137
  CONTENT_HASH_ALGORITHM,
138
138
  DAEMON_EVICT_POLL_MS,
@@ -191,7 +191,7 @@ import {
191
191
  } from "./chunk-S6I62FAH.js";
192
192
  import {
193
193
  getPluginVersion
194
- } from "./chunk-TY7A5OZ5.js";
194
+ } from "./chunk-ABZJLB6K.js";
195
195
  import {
196
196
  loadManifests
197
197
  } from "./chunk-QFMBZ72S.js";
@@ -1818,6 +1818,7 @@ function generateUpdateScript(params) {
1818
1818
  );
1819
1819
  return `#!/bin/sh
1820
1820
  set -e
1821
+ MYCO="\${MYCO_CMD:-myco}"
1821
1822
 
1822
1823
  # Wait for daemon to exit cleanly
1823
1824
  sleep ${UPDATE_SCRIPT_DELAY_SECONDS}
@@ -1825,7 +1826,7 @@ sleep ${UPDATE_SCRIPT_DELAY_SECONDS}
1825
1826
  # Attempt the update
1826
1827
  if npm install -g ${packageSpec} 2>&1; then
1827
1828
  # Sync project files (gitignore, symbiont registration)
1828
- myco update --project ${quotedProjectRoot} || true
1829
+ "$MYCO" update --project ${quotedProjectRoot} || true
1829
1830
  # Clear any previous error
1830
1831
  rm -f ${quotedErrorPath}
1831
1832
  else
@@ -1834,7 +1835,7 @@ else
1834
1835
  fi
1835
1836
 
1836
1837
  # Restart daemon (works whether install succeeded or failed)
1837
- myco daemon --vault ${quotedVaultDir} &
1838
+ "$MYCO" daemon --vault ${quotedVaultDir} &
1838
1839
 
1839
1840
  # Clean up this script
1840
1841
  rm -f "$0"
@@ -4832,7 +4833,7 @@ async function main() {
4832
4833
  const running = getRunningRun(DEFAULT_AGENT_ID);
4833
4834
  if (running) return;
4834
4835
  try {
4835
- const { runAgent } = await import("./executor-ESRLUCGU.js");
4836
+ const { runAgent } = await import("./executor-G3L2UHXF.js");
4836
4837
  runAgent(vaultDir, {
4837
4838
  task: "title-summary",
4838
4839
  instruction: `Process session ${sessionId} only`,
@@ -5513,7 +5514,7 @@ async function main() {
5513
5514
  });
5514
5515
  server.registerRoute("POST", "/api/agent/run", async (req) => {
5515
5516
  const { task, instruction, agentId } = AgentRunBody.parse(req.body);
5516
- const { runAgent } = await import("./executor-ESRLUCGU.js");
5517
+ const { runAgent } = await import("./executor-G3L2UHXF.js");
5517
5518
  const resultPromise = runAgent(vaultDir, { task, instruction, agentId, embeddingManager });
5518
5519
  const effectiveAgentId = agentId ?? "myco-agent";
5519
5520
  const latestRun = getRunningRun(effectiveAgentId);
@@ -5849,7 +5850,7 @@ async function main() {
5849
5850
  lastAgentRun = Date.now();
5850
5851
  try {
5851
5852
  logger.info(LOG_KINDS.AGENT_AUTO_RUN, "Unprocessed batches found, starting agent", { count });
5852
- const { runAgent } = await import("./executor-ESRLUCGU.js");
5853
+ const { runAgent } = await import("./executor-G3L2UHXF.js");
5853
5854
  const runResult = await runAgent(vaultDir, { embeddingManager });
5854
5855
  logger.info(LOG_KINDS.AGENT_RUN, "Agent run completed", { status: runResult.status, runId: runResult.runId });
5855
5856
  } catch (err) {
@@ -5954,4 +5955,4 @@ export {
5954
5955
  handleUserPrompt,
5955
5956
  main
5956
5957
  };
5957
- //# sourceMappingURL=main-3NTAT7ZD.js.map
5958
+ //# sourceMappingURL=main-6YKOV53K.js.map