@goondocks/myco 0.3.7 → 0.4.1

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 (121) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +9 -4
  4. package/commands/init.md +63 -39
  5. package/commands/setup-llm.md +69 -44
  6. package/commands/status.md +28 -10
  7. package/dist/{chunk-YFG2O5HR.js → chunk-2GJFTIWX.js} +2 -2
  8. package/dist/{chunk-ISCT2SI6.js → chunk-6UJWI4IW.js} +7359 -60
  9. package/dist/chunk-6UJWI4IW.js.map +1 -0
  10. package/dist/{chunk-PA3VMINE.js → chunk-AK6GNLPV.js} +6 -1
  11. package/dist/chunk-AK6GNLPV.js.map +1 -0
  12. package/dist/{chunk-JKOALBZC.js → chunk-BNIYWCST.js} +2 -2
  13. package/dist/{chunk-AWF3M57N.js → chunk-FPEDTLQ6.js} +9 -9
  14. package/dist/{chunk-AWF3M57N.js.map → chunk-FPEDTLQ6.js.map} +1 -1
  15. package/dist/{chunk-QWU7QLZI.js → chunk-I7PNZEBO.js} +10 -10
  16. package/dist/chunk-I7PNZEBO.js.map +1 -0
  17. package/dist/{chunk-7WNE22W7.js → chunk-IVS5MYBL.js} +3 -3
  18. package/dist/{chunk-7WNE22W7.js.map → chunk-IVS5MYBL.js.map} +1 -1
  19. package/dist/{chunk-7VPJK56U.js → chunk-JBD5KP5G.js} +31 -16
  20. package/dist/chunk-JBD5KP5G.js.map +1 -0
  21. package/dist/chunk-MIU3DKLN.js +37 -0
  22. package/dist/chunk-MIU3DKLN.js.map +1 -0
  23. package/dist/{chunk-NYAWCMRZ.js → chunk-OUFSLZTX.js} +4 -4
  24. package/dist/chunk-P7RNAYU7.js +242 -0
  25. package/dist/chunk-P7RNAYU7.js.map +1 -0
  26. package/dist/chunk-T7OC6GH5.js +99 -0
  27. package/dist/chunk-T7OC6GH5.js.map +1 -0
  28. package/dist/chunk-TBRZAJ7W.js +135 -0
  29. package/dist/chunk-TBRZAJ7W.js.map +1 -0
  30. package/dist/chunk-UKWO26VI.js +147 -0
  31. package/dist/chunk-UKWO26VI.js.map +1 -0
  32. package/dist/{chunk-FFQNE6CT.js → chunk-V2OWD2VV.js} +45 -31
  33. package/dist/chunk-V2OWD2VV.js.map +1 -0
  34. package/dist/chunk-WBT5DWGC.js +49 -0
  35. package/dist/chunk-WBT5DWGC.js.map +1 -0
  36. package/dist/{chunk-LR7RQCOB.js → chunk-XCPQHC4X.js} +2 -2
  37. package/dist/{chunk-CCIV47S4.js → chunk-XHWIIU5D.js} +8 -9
  38. package/dist/chunk-XHWIIU5D.js.map +1 -0
  39. package/dist/{chunk-ZBNT6E22.js → chunk-ZCBL5HER.js} +2 -2
  40. package/dist/{cli-3WQSDSW6.js → cli-IGZA3TZC.js} +23 -17
  41. package/dist/cli-IGZA3TZC.js.map +1 -0
  42. package/dist/{client-5T4M42UQ.js → client-5SUO2UYH.js} +5 -5
  43. package/dist/{config-MD4XMLUS.js → config-5FGLQGCW.js} +4 -4
  44. package/dist/{detect-providers-LNOLBICR.js → detect-providers-5FU3BN5Q.js} +3 -3
  45. package/dist/{init-RALMQKOQ.js → init-M3GDZRKI.js} +51 -60
  46. package/dist/init-M3GDZRKI.js.map +1 -0
  47. package/dist/{main-S3WSUF5T.js → main-3JSO25IZ.js} +657 -228
  48. package/dist/main-3JSO25IZ.js.map +1 -0
  49. package/dist/{rebuild-JW6BCHHZ.js → rebuild-MW4GCY6Z.js} +10 -10
  50. package/dist/rebuild-MW4GCY6Z.js.map +1 -0
  51. package/dist/{reprocess-SNXFNKBN.js → reprocess-SWRFIIDZ.js} +18 -18
  52. package/dist/reprocess-SWRFIIDZ.js.map +1 -0
  53. package/dist/{restart-YE2IGOYT.js → restart-5UY2KV54.js} +6 -6
  54. package/dist/{search-2HMG3ON7.js → search-IYVMRZU2.js} +9 -9
  55. package/dist/{server-JM3TM7D2.js → server-FSUSHJ3Y.js} +77 -54
  56. package/dist/{server-JM3TM7D2.js.map → server-FSUSHJ3Y.js.map} +1 -1
  57. package/dist/{session-5GI2YU6R.js → session-QF6MILAC.js} +2 -2
  58. package/dist/{session-start-2UEEEO52.js → session-start-YB4A4PZB.js} +29 -28
  59. package/dist/session-start-YB4A4PZB.js.map +1 -0
  60. package/dist/setup-digest-6TK5SPS6.js +15 -0
  61. package/dist/setup-llm-UGZBURZJ.js +15 -0
  62. package/dist/setup-llm-UGZBURZJ.js.map +1 -0
  63. package/dist/src/cli.js +4 -4
  64. package/dist/src/daemon/main.js +4 -4
  65. package/dist/src/hooks/post-tool-use.js +5 -5
  66. package/dist/src/hooks/session-end.js +5 -5
  67. package/dist/src/hooks/session-start.js +4 -4
  68. package/dist/src/hooks/stop.js +7 -7
  69. package/dist/src/hooks/user-prompt-submit.js +5 -5
  70. package/dist/src/hooks/user-prompt-submit.js.map +1 -1
  71. package/dist/src/mcp/server.js +4 -4
  72. package/dist/src/prompts/classification.md +1 -0
  73. package/dist/src/prompts/digest-10000.md +74 -0
  74. package/dist/src/prompts/digest-1500.md +25 -0
  75. package/dist/src/prompts/digest-3000.md +32 -0
  76. package/dist/src/prompts/digest-5000.md +43 -0
  77. package/dist/src/prompts/digest-system.md +32 -0
  78. package/dist/src/prompts/extraction.md +11 -10
  79. package/dist/src/prompts/summary.md +11 -1
  80. package/dist/src/prompts/title.md +1 -1
  81. package/dist/{stats-IOWXG576.js → stats-IVIXIKTS.js} +12 -12
  82. package/dist/stats-IVIXIKTS.js.map +1 -0
  83. package/dist/{verify-7MWOV72E.js → verify-WEGRM4W2.js} +6 -6
  84. package/dist/{version-S7MHLD5P.js → version-5B2TWXQJ.js} +4 -4
  85. package/dist/version-5B2TWXQJ.js.map +1 -0
  86. package/package.json +1 -1
  87. package/skills/myco/SKILL.md +20 -20
  88. package/skills/myco/references/wisdom.md +14 -14
  89. package/skills/rules/SKILL.md +4 -4
  90. package/dist/chunk-7VPJK56U.js.map +0 -1
  91. package/dist/chunk-BA23DROX.js +0 -160
  92. package/dist/chunk-BA23DROX.js.map +0 -1
  93. package/dist/chunk-CCIV47S4.js.map +0 -1
  94. package/dist/chunk-EF4JVH24.js +0 -7299
  95. package/dist/chunk-EF4JVH24.js.map +0 -1
  96. package/dist/chunk-FFQNE6CT.js.map +0 -1
  97. package/dist/chunk-ISCT2SI6.js.map +0 -1
  98. package/dist/chunk-PA3VMINE.js.map +0 -1
  99. package/dist/chunk-QWU7QLZI.js.map +0 -1
  100. package/dist/chunk-YMYJ7FNH.js +0 -19
  101. package/dist/chunk-YMYJ7FNH.js.map +0 -1
  102. package/dist/cli-3WQSDSW6.js.map +0 -1
  103. package/dist/init-RALMQKOQ.js.map +0 -1
  104. package/dist/main-S3WSUF5T.js.map +0 -1
  105. package/dist/rebuild-JW6BCHHZ.js.map +0 -1
  106. package/dist/reprocess-SNXFNKBN.js.map +0 -1
  107. package/dist/session-start-2UEEEO52.js.map +0 -1
  108. package/dist/stats-IOWXG576.js.map +0 -1
  109. /package/dist/{chunk-YFG2O5HR.js.map → chunk-2GJFTIWX.js.map} +0 -0
  110. /package/dist/{chunk-JKOALBZC.js.map → chunk-BNIYWCST.js.map} +0 -0
  111. /package/dist/{chunk-NYAWCMRZ.js.map → chunk-OUFSLZTX.js.map} +0 -0
  112. /package/dist/{chunk-LR7RQCOB.js.map → chunk-XCPQHC4X.js.map} +0 -0
  113. /package/dist/{chunk-ZBNT6E22.js.map → chunk-ZCBL5HER.js.map} +0 -0
  114. /package/dist/{client-5T4M42UQ.js.map → client-5SUO2UYH.js.map} +0 -0
  115. /package/dist/{config-MD4XMLUS.js.map → config-5FGLQGCW.js.map} +0 -0
  116. /package/dist/{detect-providers-LNOLBICR.js.map → detect-providers-5FU3BN5Q.js.map} +0 -0
  117. /package/dist/{restart-YE2IGOYT.js.map → restart-5UY2KV54.js.map} +0 -0
  118. /package/dist/{search-2HMG3ON7.js.map → search-IYVMRZU2.js.map} +0 -0
  119. /package/dist/{session-5GI2YU6R.js.map → session-QF6MILAC.js.map} +0 -0
  120. /package/dist/{version-S7MHLD5P.js.map → setup-digest-6TK5SPS6.js.map} +0 -0
  121. /package/dist/{verify-7MWOV72E.js.map → verify-WEGRM4W2.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  AgentRegistry
4
- } from "./chunk-JKOALBZC.js";
4
+ } from "./chunk-BNIYWCST.js";
5
5
 
6
6
  // src/native-deps.ts
7
7
  import { execFileSync } from "child_process";
@@ -53,4 +53,4 @@ function ensureNativeDeps() {
53
53
  export {
54
54
  ensureNativeDeps
55
55
  };
56
- //# sourceMappingURL=chunk-LR7RQCOB.js.map
56
+ //# sourceMappingURL=chunk-XCPQHC4X.js.map
@@ -2,10 +2,10 @@ import { createRequire as __cr } from 'node:module'; const require = __cr(import
2
2
  import {
3
3
  LmStudioBackend,
4
4
  OllamaBackend
5
- } from "./chunk-BA23DROX.js";
5
+ } from "./chunk-P7RNAYU7.js";
6
6
  import {
7
7
  AgentRegistry
8
- } from "./chunk-JKOALBZC.js";
8
+ } from "./chunk-BNIYWCST.js";
9
9
 
10
10
  // src/cli/shared.ts
11
11
  import fs from "fs";
@@ -48,22 +48,22 @@ TABLE user, started, tools_used FROM #type/session
48
48
  SORT started DESC LIMIT 10
49
49
  \`\`\`
50
50
 
51
- ## Recent Memories
51
+ ## Recent Spores
52
52
  \`\`\`dataview
53
- TABLE observation_type AS "Type", created FROM #type/memory
53
+ TABLE observation_type AS "Type", created FROM #type/spore
54
54
  SORT created DESC LIMIT 15
55
55
  \`\`\`
56
56
 
57
- ## Memories by Type
57
+ ## Spores by Type
58
58
  \`\`\`dataview
59
59
  TABLE WITHOUT ID observation_type AS "Type", length(rows) AS "Count"
60
- FROM #type/memory GROUP BY observation_type
60
+ FROM #type/spore GROUP BY observation_type
61
61
  SORT length(rows) DESC
62
62
  \`\`\`
63
63
 
64
64
  ## Gotchas
65
65
  \`\`\`dataview
66
- LIST FROM #memory/gotcha SORT created DESC LIMIT 10
66
+ LIST FROM #spore/gotcha SORT created DESC LIMIT 10
67
67
  \`\`\`
68
68
  `;
69
69
  var VAULT_GITIGNORE = `# Runtime \u2014 rebuilt on daemon startup
@@ -112,9 +112,8 @@ For other agents, add to your shell profile:`);
112
112
  export {
113
113
  loadEnv,
114
114
  isProcessAlive,
115
- PROVIDER_DEFAULTS,
116
115
  DASHBOARD_CONTENT,
117
116
  VAULT_GITIGNORE,
118
117
  configureVaultEnv
119
118
  };
120
- //# sourceMappingURL=chunk-CCIV47S4.js.map
119
+ //# sourceMappingURL=chunk-XHWIIU5D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/shared.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport os from 'node:os';\nimport { AgentRegistry } from '../agents/registry.js';\nimport { OllamaBackend } from '../intelligence/ollama.js';\nimport { LmStudioBackend } from '../intelligence/lm-studio.js';\n\nexport { parseStringFlag, parseIntFlag } from '../logs/format.js';\n\n/** Load .env from cwd (not script location — that's the plugin install dir). */\nexport function loadEnv(): void {\n const envPath = path.resolve(process.cwd(), '.env');\n if (!fs.existsSync(envPath)) return;\n for (const line of fs.readFileSync(envPath, 'utf-8').split('\\n')) {\n const match = line.match(/^\\s*([^#=]+?)\\s*=\\s*(.*?)\\s*$/);\n if (match && !process.env[match[1]]) {\n process.env[match[1]] = match[2];\n }\n }\n}\n\nexport function isProcessAlive(pid: number): boolean {\n try { process.kill(pid, 0); return true; } catch { return false; }\n}\n\n// --- Provider defaults (sourced from backend classes) ---\nexport const PROVIDER_DEFAULTS: Record<string, { base_url: string }> = {\n ollama: { base_url: OllamaBackend.DEFAULT_BASE_URL },\n 'lm-studio': { base_url: LmStudioBackend.DEFAULT_BASE_URL },\n};\n\nexport const DASHBOARD_CONTENT = `# Myco Vault\n\n## Active Plans\n\\`\\`\\`dataview\nTABLE status, tags FROM #type/plan\nWHERE status = \"active\" OR status = \"in_progress\"\nSORT created DESC\n\\`\\`\\`\n\n## Recent Sessions\n\\`\\`\\`dataview\nTABLE user, started, tools_used FROM #type/session\nSORT started DESC LIMIT 10\n\\`\\`\\`\n\n## Recent Spores\n\\`\\`\\`dataview\nTABLE observation_type AS \"Type\", created FROM #type/spore\nSORT created DESC LIMIT 15\n\\`\\`\\`\n\n## Spores by Type\n\\`\\`\\`dataview\nTABLE WITHOUT ID observation_type AS \"Type\", length(rows) AS \"Count\"\nFROM #type/spore GROUP BY observation_type\nSORT length(rows) DESC\n\\`\\`\\`\n\n## Gotchas\n\\`\\`\\`dataview\nLIST FROM #spore/gotcha SORT created DESC LIMIT 10\n\\`\\`\\`\n`;\n\nexport const VAULT_GITIGNORE = `# Runtime — rebuilt on daemon startup\nindex.db\nindex.db-wal\nindex.db-shm\nvectors.db\n\n# Daemon state — per-machine, ephemeral\ndaemon.json\nbuffer/\nlogs/\n\n# Obsidian — per-user workspace config\n.obsidian/\n`;\n\n/** Collapse an absolute home-dir path to its `~/` form for portable config storage. */\nexport function collapseHomePath(absPath: string): string {\n const home = os.homedir();\n if (absPath.startsWith(home + path.sep) || absPath === home) {\n return '~' + absPath.slice(home.length);\n }\n return absPath;\n}\n\n/** Set MYCO_VAULT_DIR in the active agent's config, falling back to all known agents. */\nexport function configureVaultEnv(projectRoot: string, vaultDir: string): void {\n const registry = new AgentRegistry();\n const active = registry.detectActiveAgent();\n // Store the portable ~/... form so config files don't leak the username\n const portableDir = collapseHomePath(vaultDir);\n\n if (active) {\n if (active.configureVaultEnv(projectRoot, portableDir)) {\n console.log(`Set MYCO_VAULT_DIR for ${active.displayName}`);\n }\n } else {\n // No active agent detected — try all adapters\n for (const name of registry.adapterNames) {\n const adapter = registry.getAdapter(name);\n if (adapter?.configureVaultEnv(projectRoot, portableDir)) {\n console.log(`Set MYCO_VAULT_DIR for ${adapter.displayName}`);\n }\n }\n }\n\n console.log(`\\nFor other agents, add to your shell profile:`);\n console.log(` export MYCO_VAULT_DIR=\"${portableDir}\"\\n`);\n}\n"],"mappings":";;;;;;;;;;AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,QAAQ;AAQR,SAAS,UAAgB;AAC9B,QAAM,UAAU,KAAK,QAAQ,QAAQ,IAAI,GAAG,MAAM;AAClD,MAAI,CAAC,GAAG,WAAW,OAAO,EAAG;AAC7B,aAAW,QAAQ,GAAG,aAAa,SAAS,OAAO,EAAE,MAAM,IAAI,GAAG;AAChE,UAAM,QAAQ,KAAK,MAAM,+BAA+B;AACxD,QAAI,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,GAAG;AACnC,cAAQ,IAAI,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC;AAAA,IACjC;AAAA,EACF;AACF;AAEO,SAAS,eAAe,KAAsB;AACnD,MAAI;AAAE,YAAQ,KAAK,KAAK,CAAC;AAAG,WAAO;AAAA,EAAM,QAAQ;AAAE,WAAO;AAAA,EAAO;AACnE;AAGO,IAAM,oBAA0D;AAAA,EACrE,QAAQ,EAAE,UAAU,cAAc,iBAAiB;AAAA,EACnD,aAAa,EAAE,UAAU,gBAAgB,iBAAiB;AAC5D;AAEO,IAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkC1B,IAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBxB,SAAS,iBAAiB,SAAyB;AACxD,QAAM,OAAO,GAAG,QAAQ;AACxB,MAAI,QAAQ,WAAW,OAAO,KAAK,GAAG,KAAK,YAAY,MAAM;AAC3D,WAAO,MAAM,QAAQ,MAAM,KAAK,MAAM;AAAA,EACxC;AACA,SAAO;AACT;AAGO,SAAS,kBAAkB,aAAqB,UAAwB;AAC7E,QAAM,WAAW,IAAI,cAAc;AACnC,QAAM,SAAS,SAAS,kBAAkB;AAE1C,QAAM,cAAc,iBAAiB,QAAQ;AAE7C,MAAI,QAAQ;AACV,QAAI,OAAO,kBAAkB,aAAa,WAAW,GAAG;AACtD,cAAQ,IAAI,0BAA0B,OAAO,WAAW,EAAE;AAAA,IAC5D;AAAA,EACF,OAAO;AAEL,eAAW,QAAQ,SAAS,cAAc;AACxC,YAAM,UAAU,SAAS,WAAW,IAAI;AACxC,UAAI,SAAS,kBAAkB,aAAa,WAAW,GAAG;AACxD,gBAAQ,IAAI,0BAA0B,QAAQ,WAAW,EAAE;AAAA,MAC7D;AAAA,IACF;AAAA,EACF;AAEA,UAAQ,IAAI;AAAA,6CAAgD;AAC5D,UAAQ,IAAI,4BAA4B,WAAW;AAAA,CAAK;AAC1D;","names":[]}
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  STDIN_TIMEOUT_MS
4
- } from "./chunk-7VPJK56U.js";
4
+ } from "./chunk-JBD5KP5G.js";
5
5
 
6
6
  // src/hooks/read-stdin.ts
7
7
  function readStdin() {
@@ -18,4 +18,4 @@ function readStdin() {
18
18
  export {
19
19
  readStdin
20
20
  };
21
- //# sourceMappingURL=chunk-ZBNT6E22.js.map
21
+ //# sourceMappingURL=chunk-ZCBL5HER.js.map
@@ -2,14 +2,14 @@
2
2
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
3
3
  import {
4
4
  loadEnv
5
- } from "./chunk-CCIV47S4.js";
5
+ } from "./chunk-XHWIIU5D.js";
6
6
  import "./chunk-SAKJMNSR.js";
7
- import "./chunk-BA23DROX.js";
7
+ import "./chunk-P7RNAYU7.js";
8
8
  import {
9
9
  resolveVaultDir
10
10
  } from "./chunk-N33KUCFP.js";
11
- import "./chunk-JKOALBZC.js";
12
- import "./chunk-7VPJK56U.js";
11
+ import "./chunk-BNIYWCST.js";
12
+ import "./chunk-JBD5KP5G.js";
13
13
  import "./chunk-PZUWP5VK.js";
14
14
 
15
15
  // src/cli.ts
@@ -28,6 +28,8 @@ Commands:
28
28
  vectors <query> Raw vector search with similarity scores
29
29
  session [id|latest] Show a session note
30
30
  logs [options] View daemon logs
31
+ setup-llm [options] Configure LLM and embedding providers
32
+ setup-digest [options] Configure digest and capture settings
31
33
  restart Restart the daemon
32
34
  rebuild Reindex the entire vault
33
35
  reprocess [options] Re-extract observations and re-index sessions
@@ -39,10 +41,10 @@ async function main() {
39
41
  process.stdout.write(USAGE);
40
42
  return;
41
43
  }
42
- if (cmd === "init") return (await import("./init-RALMQKOQ.js")).run(args);
43
- if (cmd === "detect-providers") return (await import("./detect-providers-LNOLBICR.js")).run(args);
44
+ if (cmd === "init") return (await import("./init-M3GDZRKI.js")).run(args);
45
+ if (cmd === "detect-providers") return (await import("./detect-providers-5FU3BN5Q.js")).run(args);
44
46
  if (cmd === "version" || cmd === "--version" || cmd === "-v") {
45
- const { getPluginVersion } = await import("./version-S7MHLD5P.js");
47
+ const { getPluginVersion } = await import("./version-5B2TWXQJ.js");
46
48
  console.log(getPluginVersion());
47
49
  return;
48
50
  }
@@ -53,23 +55,27 @@ async function main() {
53
55
  }
54
56
  switch (cmd) {
55
57
  case "config":
56
- return (await import("./config-MD4XMLUS.js")).run(args, vaultDir);
58
+ return (await import("./config-5FGLQGCW.js")).run(args, vaultDir);
57
59
  case "verify":
58
- return (await import("./verify-7MWOV72E.js")).run(args, vaultDir);
60
+ return (await import("./verify-WEGRM4W2.js")).run(args, vaultDir);
59
61
  case "stats":
60
- return (await import("./stats-IOWXG576.js")).run(args, vaultDir);
62
+ return (await import("./stats-IVIXIKTS.js")).run(args, vaultDir);
61
63
  case "search":
62
- return (await import("./search-2HMG3ON7.js")).run(args, vaultDir);
64
+ return (await import("./search-IYVMRZU2.js")).run(args, vaultDir);
63
65
  case "vectors":
64
- return (await import("./search-2HMG3ON7.js")).runVectors(args, vaultDir);
66
+ return (await import("./search-IYVMRZU2.js")).runVectors(args, vaultDir);
65
67
  case "session":
66
- return (await import("./session-5GI2YU6R.js")).run(args, vaultDir);
68
+ return (await import("./session-QF6MILAC.js")).run(args, vaultDir);
69
+ case "setup-llm":
70
+ return (await import("./setup-llm-UGZBURZJ.js")).run(args, vaultDir);
71
+ case "setup-digest":
72
+ return (await import("./setup-digest-6TK5SPS6.js")).run(args, vaultDir);
67
73
  case "restart":
68
- return (await import("./restart-YE2IGOYT.js")).run(args, vaultDir);
74
+ return (await import("./restart-5UY2KV54.js")).run(args, vaultDir);
69
75
  case "rebuild":
70
- return (await import("./rebuild-JW6BCHHZ.js")).run(args, vaultDir);
76
+ return (await import("./rebuild-MW4GCY6Z.js")).run(args, vaultDir);
71
77
  case "reprocess":
72
- return (await import("./reprocess-SNXFNKBN.js")).run(args, vaultDir);
78
+ return (await import("./reprocess-SWRFIIDZ.js")).run(args, vaultDir);
73
79
  case "logs":
74
80
  return (await import("./logs-BSTBZHDR.js")).run(args, vaultDir);
75
81
  default:
@@ -82,4 +88,4 @@ main().catch((err) => {
82
88
  console.error(`myco: ${err.message}`);
83
89
  process.exit(1);
84
90
  });
85
- //# sourceMappingURL=cli-3WQSDSW6.js.map
91
+ //# sourceMappingURL=cli-IGZA3TZC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { loadEnv } from './cli/shared.js';\nimport { resolveVaultDir } from './vault/resolve.js';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nloadEnv();\n\nconst USAGE = `Usage: myco <command> [args]\n\nCommands:\n init [options] Initialize a new vault\n config <get|set> [args] Get or set vault config values\n detect-providers Detect available LLM/embedding providers (JSON)\n verify Test LLM and embedding connectivity\n stats Vault health, index counts, vector count\n search <query> Combined FTS + vector search with scores\n vectors <query> Raw vector search with similarity scores\n session [id|latest] Show a session note\n logs [options] View daemon logs\n setup-llm [options] Configure LLM and embedding providers\n setup-digest [options] Configure digest and capture settings\n restart Restart the daemon\n rebuild Reindex the entire vault\n reprocess [options] Re-extract observations and re-index sessions\n version Show plugin version\n`;\n\nasync function main(): Promise<void> {\n const [cmd, ...args] = process.argv.slice(2);\n if (!cmd || cmd === '--help' || cmd === '-h') {\n process.stdout.write(USAGE);\n return;\n }\n\n if (cmd === 'init') return (await import('./cli/init.js')).run(args);\n if (cmd === 'detect-providers') return (await import('./cli/detect-providers.js')).run(args);\n if (cmd === 'version' || cmd === '--version' || cmd === '-v') {\n const { getPluginVersion } = await import('./version.js');\n console.log(getPluginVersion());\n return;\n }\n\n const vaultDir = resolveVaultDir();\n if (!fs.existsSync(path.join(vaultDir, 'myco.yaml'))) {\n console.error(`No myco.yaml found in ${vaultDir}. Run 'myco init' first.`);\n process.exit(1);\n }\n\n switch (cmd) {\n case 'config': return (await import('./cli/config.js')).run(args, vaultDir);\n case 'verify': return (await import('./cli/verify.js')).run(args, vaultDir);\n case 'stats': return (await import('./cli/stats.js')).run(args, vaultDir);\n case 'search': return (await import('./cli/search.js')).run(args, vaultDir);\n case 'vectors': return (await import('./cli/search.js')).runVectors(args, vaultDir);\n case 'session': return (await import('./cli/session.js')).run(args, vaultDir);\n case 'setup-llm': return (await import('./cli/setup-llm.js')).run(args, vaultDir);\n case 'setup-digest': return (await import('./cli/setup-digest.js')).run(args, vaultDir);\n case 'restart': return (await import('./cli/restart.js')).run(args, vaultDir);\n case 'rebuild': return (await import('./cli/rebuild.js')).run(args, vaultDir);\n case 'reprocess': return (await import('./cli/reprocess.js')).run(args, vaultDir);\n case 'logs': return (await import('./cli/logs.js')).run(args, vaultDir);\n default:\n console.error(`Unknown command: ${cmd}`);\n process.stdout.write(USAGE);\n process.exit(1);\n }\n}\n\nmain().catch((err) => {\n console.error(`myco: ${(err as Error).message}`);\n process.exit(1);\n});\n"],"mappings":";;;;;;;;;;;;;;;AAGA,OAAO,QAAQ;AACf,OAAO,UAAU;AAEjB,QAAQ;AAER,IAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBd,eAAe,OAAsB;AACnC,QAAM,CAAC,KAAK,GAAG,IAAI,IAAI,QAAQ,KAAK,MAAM,CAAC;AAC3C,MAAI,CAAC,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAC5C,YAAQ,OAAO,MAAM,KAAK;AAC1B;AAAA,EACF;AAEA,MAAI,QAAQ,OAAQ,SAAQ,MAAM,OAAO,oBAAe,GAAG,IAAI,IAAI;AACnE,MAAI,QAAQ,mBAAoB,SAAQ,MAAM,OAAO,gCAA2B,GAAG,IAAI,IAAI;AAC3F,MAAI,QAAQ,aAAa,QAAQ,eAAe,QAAQ,MAAM;AAC5D,UAAM,EAAE,iBAAiB,IAAI,MAAM,OAAO,uBAAc;AACxD,YAAQ,IAAI,iBAAiB,CAAC;AAC9B;AAAA,EACF;AAEA,QAAM,WAAW,gBAAgB;AACjC,MAAI,CAAC,GAAG,WAAW,KAAK,KAAK,UAAU,WAAW,CAAC,GAAG;AACpD,YAAQ,MAAM,yBAAyB,QAAQ,0BAA0B;AACzE,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,UAAQ,KAAK;AAAA,IACX,KAAK;AAAU,cAAQ,MAAM,OAAO,sBAAiB,GAAG,IAAI,MAAM,QAAQ;AAAA,IAC1E,KAAK;AAAU,cAAQ,MAAM,OAAO,sBAAiB,GAAG,IAAI,MAAM,QAAQ;AAAA,IAC1E,KAAK;AAAS,cAAQ,MAAM,OAAO,qBAAgB,GAAG,IAAI,MAAM,QAAQ;AAAA,IACxE,KAAK;AAAU,cAAQ,MAAM,OAAO,sBAAiB,GAAG,IAAI,MAAM,QAAQ;AAAA,IAC1E,KAAK;AAAW,cAAQ,MAAM,OAAO,sBAAiB,GAAG,WAAW,MAAM,QAAQ;AAAA,IAClF,KAAK;AAAW,cAAQ,MAAM,OAAO,uBAAkB,GAAG,IAAI,MAAM,QAAQ;AAAA,IAC5E,KAAK;AAAa,cAAQ,MAAM,OAAO,yBAAoB,GAAG,IAAI,MAAM,QAAQ;AAAA,IAChF,KAAK;AAAgB,cAAQ,MAAM,OAAO,4BAAuB,GAAG,IAAI,MAAM,QAAQ;AAAA,IACtF,KAAK;AAAW,cAAQ,MAAM,OAAO,uBAAkB,GAAG,IAAI,MAAM,QAAQ;AAAA,IAC5E,KAAK;AAAW,cAAQ,MAAM,OAAO,uBAAkB,GAAG,IAAI,MAAM,QAAQ;AAAA,IAC5E,KAAK;AAAa,cAAQ,MAAM,OAAO,yBAAoB,GAAG,IAAI,MAAM,QAAQ;AAAA,IAChF,KAAK;AAAQ,cAAQ,MAAM,OAAO,oBAAe,GAAG,IAAI,MAAM,QAAQ;AAAA,IACtE;AACE,cAAQ,MAAM,oBAAoB,GAAG,EAAE;AACvC,cAAQ,OAAO,MAAM,KAAK;AAC1B,cAAQ,KAAK,CAAC;AAAA,EAClB;AACF;AAEA,KAAK,EAAE,MAAM,CAAC,QAAQ;AACpB,UAAQ,MAAM,SAAU,IAAc,OAAO,EAAE;AAC/C,UAAQ,KAAK,CAAC;AAChB,CAAC;","names":[]}
@@ -1,12 +1,12 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  DaemonClient
4
- } from "./chunk-NYAWCMRZ.js";
5
- import "./chunk-YFG2O5HR.js";
6
- import "./chunk-JKOALBZC.js";
7
- import "./chunk-7VPJK56U.js";
4
+ } from "./chunk-OUFSLZTX.js";
5
+ import "./chunk-2GJFTIWX.js";
6
+ import "./chunk-BNIYWCST.js";
7
+ import "./chunk-JBD5KP5G.js";
8
8
  import "./chunk-PZUWP5VK.js";
9
9
  export {
10
10
  DaemonClient
11
11
  };
12
- //# sourceMappingURL=client-5T4M42UQ.js.map
12
+ //# sourceMappingURL=client-5SUO2UYH.js.map
@@ -1,11 +1,11 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
- MycoConfigSchema,
4
3
  loadConfig
5
- } from "./chunk-ISCT2SI6.js";
4
+ } from "./chunk-TBRZAJ7W.js";
6
5
  import {
6
+ MycoConfigSchema,
7
7
  require_dist
8
- } from "./chunk-EF4JVH24.js";
8
+ } from "./chunk-6UJWI4IW.js";
9
9
  import {
10
10
  __toESM
11
11
  } from "./chunk-PZUWP5VK.js";
@@ -98,4 +98,4 @@ function parseValue(raw) {
98
98
  export {
99
99
  run
100
100
  };
101
- //# sourceMappingURL=config-MD4XMLUS.js.map
101
+ //# sourceMappingURL=config-5FGLQGCW.js.map
@@ -2,10 +2,10 @@ import { createRequire as __cr } from 'node:module'; const require = __cr(import
2
2
  import {
3
3
  LmStudioBackend,
4
4
  OllamaBackend
5
- } from "./chunk-BA23DROX.js";
5
+ } from "./chunk-P7RNAYU7.js";
6
6
  import {
7
7
  PROVIDER_DETECT_TIMEOUT_MS
8
- } from "./chunk-7VPJK56U.js";
8
+ } from "./chunk-JBD5KP5G.js";
9
9
  import "./chunk-PZUWP5VK.js";
10
10
 
11
11
  // src/cli/detect-providers.ts
@@ -32,4 +32,4 @@ async function run(_args) {
32
32
  export {
33
33
  run
34
34
  };
35
- //# sourceMappingURL=detect-providers-LNOLBICR.js.map
35
+ //# sourceMappingURL=detect-providers-5FU3BN5Q.js.map
@@ -1,28 +1,34 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
+ import {
3
+ initFts
4
+ } from "./chunk-6FQISQNA.js";
5
+ import {
6
+ MycoIndex
7
+ } from "./chunk-AK6GNLPV.js";
8
+ import {
9
+ run
10
+ } from "./chunk-T7OC6GH5.js";
11
+ import {
12
+ run as run2
13
+ } from "./chunk-UKWO26VI.js";
2
14
  import {
3
15
  DASHBOARD_CONTENT,
4
- PROVIDER_DEFAULTS,
5
16
  VAULT_GITIGNORE,
6
17
  configureVaultEnv
7
- } from "./chunk-CCIV47S4.js";
18
+ } from "./chunk-XHWIIU5D.js";
8
19
  import {
9
20
  parseStringFlag
10
21
  } from "./chunk-SAKJMNSR.js";
22
+ import "./chunk-P7RNAYU7.js";
11
23
  import {
12
- initFts
13
- } from "./chunk-6FQISQNA.js";
14
- import {
15
- MycoIndex
16
- } from "./chunk-PA3VMINE.js";
17
- import "./chunk-BA23DROX.js";
18
- import {
24
+ MycoConfigSchema,
19
25
  require_dist
20
- } from "./chunk-EF4JVH24.js";
26
+ } from "./chunk-6UJWI4IW.js";
21
27
  import {
22
28
  resolveVaultDir
23
29
  } from "./chunk-N33KUCFP.js";
24
- import "./chunk-JKOALBZC.js";
25
- import "./chunk-7VPJK56U.js";
30
+ import "./chunk-BNIYWCST.js";
31
+ import "./chunk-JBD5KP5G.js";
26
32
  import {
27
33
  __toESM
28
34
  } from "./chunk-PZUWP5VK.js";
@@ -32,14 +38,8 @@ var import_yaml = __toESM(require_dist(), 1);
32
38
  import fs from "fs";
33
39
  import path from "path";
34
40
  import os from "os";
35
- async function run(args) {
41
+ async function run3(args) {
36
42
  const vaultPath = parseStringFlag(args, "--vault");
37
- const llmProvider = parseStringFlag(args, "--llm-provider") ?? "ollama";
38
- const llmModel = parseStringFlag(args, "--llm-model") ?? "gpt-oss";
39
- const llmUrl = parseStringFlag(args, "--llm-url") ?? PROVIDER_DEFAULTS[llmProvider]?.base_url;
40
- const embeddingProvider = parseStringFlag(args, "--embedding-provider") ?? "ollama";
41
- const embeddingModel = parseStringFlag(args, "--embedding-model") ?? "bge-m3";
42
- const embeddingUrl = parseStringFlag(args, "--embedding-url") ?? PROVIDER_DEFAULTS[embeddingProvider]?.base_url;
43
43
  const user = parseStringFlag(args, "--user") ?? "";
44
44
  const teamEnabled = args.includes("--team");
45
45
  const vaultDir = vaultPath ? vaultPath.startsWith("~/") ? path.join(os.homedir(), vaultPath.slice(2)) : path.resolve(vaultPath) : path.join(resolveVaultDir());
@@ -48,47 +48,14 @@ async function run(args) {
48
48
  return;
49
49
  }
50
50
  console.log(`Initializing Myco vault at ${vaultDir}`);
51
- const dirs = ["sessions", "plans", "memories", "artifacts", "team", "buffer", "logs"];
51
+ const dirs = ["sessions", "plans", "spores", "artifacts", "team", "buffer", "logs"];
52
52
  for (const dir of dirs) {
53
53
  fs.mkdirSync(path.join(vaultDir, dir), { recursive: true });
54
54
  }
55
- const config = {
55
+ const config = MycoConfigSchema.parse({
56
56
  version: 2,
57
- intelligence: {
58
- llm: {
59
- provider: llmProvider,
60
- model: llmModel,
61
- ...llmUrl ? { base_url: llmUrl } : {},
62
- context_window: 8192,
63
- max_tokens: 1024
64
- },
65
- embedding: {
66
- provider: embeddingProvider,
67
- model: embeddingModel,
68
- ...embeddingUrl ? { base_url: embeddingUrl } : {}
69
- }
70
- },
71
- daemon: {
72
- log_level: "info",
73
- grace_period: 30,
74
- max_log_size: 5242880
75
- },
76
- capture: {
77
- transcript_paths: [],
78
- artifact_watch: [".claude/plans/", ".cursor/plans/"],
79
- artifact_extensions: [".md"],
80
- buffer_max_events: 500
81
- },
82
- context: {
83
- max_tokens: 1200,
84
- layers: { plans: 200, sessions: 500, memories: 300, team: 200 }
85
- },
86
- team: {
87
- enabled: teamEnabled,
88
- user,
89
- sync: "git"
90
- }
91
- };
57
+ team: { user, enabled: teamEnabled }
58
+ });
92
59
  fs.writeFileSync(
93
60
  path.join(vaultDir, "myco.yaml"),
94
61
  import_yaml.default.stringify(config),
@@ -99,11 +66,35 @@ async function run(args) {
99
66
  const index = new MycoIndex(path.join(vaultDir, "index.db"));
100
67
  initFts(index);
101
68
  index.close();
69
+ const llmFlags = [];
70
+ const llmProvider = parseStringFlag(args, "--llm-provider");
71
+ const llmModel = parseStringFlag(args, "--llm-model");
72
+ const llmUrl = parseStringFlag(args, "--llm-url");
73
+ if (llmProvider) llmFlags.push("--llm-provider", llmProvider);
74
+ if (llmModel) llmFlags.push("--llm-model", llmModel);
75
+ if (llmUrl) llmFlags.push("--llm-url", llmUrl);
76
+ const embeddingProvider = parseStringFlag(args, "--embedding-provider");
77
+ const embeddingModel = parseStringFlag(args, "--embedding-model");
78
+ const embeddingUrl = parseStringFlag(args, "--embedding-url");
79
+ if (embeddingProvider) llmFlags.push("--embedding-provider", embeddingProvider);
80
+ if (embeddingModel) llmFlags.push("--embedding-model", embeddingModel);
81
+ if (embeddingUrl) llmFlags.push("--embedding-url", embeddingUrl);
82
+ if (llmFlags.length > 0) {
83
+ await run(llmFlags, vaultDir);
84
+ }
85
+ const digestFlags = [];
86
+ const tiers = parseStringFlag(args, "--tiers");
87
+ const injectTier = parseStringFlag(args, "--inject-tier");
88
+ const contextWindow = parseStringFlag(args, "--context-window");
89
+ if (tiers) digestFlags.push("--tiers", tiers);
90
+ if (injectTier) digestFlags.push("--inject-tier", injectTier);
91
+ if (contextWindow) digestFlags.push("--context-window", contextWindow);
92
+ if (digestFlags.length > 0) {
93
+ await run2(digestFlags, vaultDir);
94
+ }
102
95
  console.log("");
103
96
  console.log("=== Myco Vault Initialized ===");
104
97
  console.log(`Path: ${vaultDir}`);
105
- console.log(`LLM provider: ${llmProvider} / ${llmModel}`);
106
- console.log(`Embedding provider: ${embeddingProvider} / ${embeddingModel}`);
107
98
  console.log(`Team mode: ${teamEnabled ? "enabled" : "disabled"}`);
108
99
  if (user) console.log(`User: ${user}`);
109
100
  console.log("");
@@ -115,6 +106,6 @@ async function run(args) {
115
106
  console.log("Next: start a coding session \u2014 Myco will begin capturing automatically.");
116
107
  }
117
108
  export {
118
- run
109
+ run3 as run
119
110
  };
120
- //# sourceMappingURL=init-RALMQKOQ.js.map
111
+ //# sourceMappingURL=init-M3GDZRKI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/init.ts"],"sourcesContent":["import { MycoIndex } from '../index/sqlite.js';\nimport { initFts } from '../index/fts.js';\nimport { resolveVaultDir } from '../vault/resolve.js';\nimport {\n parseStringFlag,\n DASHBOARD_CONTENT,\n VAULT_GITIGNORE,\n configureVaultEnv,\n} from './shared.js';\nimport { MycoConfigSchema } from '../config/schema.js';\nimport { run as setupLlm } from './setup-llm.js';\nimport { run as setupDigest } from './setup-digest.js';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport os from 'node:os';\nimport YAML from 'yaml';\n\nexport async function run(args: string[]): Promise<void> {\n const vaultPath = parseStringFlag(args, '--vault');\n const user = parseStringFlag(args, '--user') ?? '';\n const teamEnabled = args.includes('--team');\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 // Check if already initialized\n if (fs.existsSync(path.join(vaultDir, 'myco.yaml'))) {\n console.log(`Vault already initialized at ${vaultDir}`);\n return;\n }\n\n console.log(`Initializing Myco vault at ${vaultDir}`);\n\n // Create directory structure\n const dirs = ['sessions', 'plans', 'spores', 'artifacts', 'team', 'buffer', 'logs'];\n for (const dir of dirs) {\n fs.mkdirSync(path.join(vaultDir, dir), { recursive: true });\n }\n\n // Write myco.yaml — only version is truly required, everything else has Zod defaults\n const config = MycoConfigSchema.parse({\n version: 2,\n team: { user, enabled: teamEnabled },\n });\n\n fs.writeFileSync(\n path.join(vaultDir, 'myco.yaml'),\n YAML.stringify(config),\n 'utf-8',\n );\n\n // Write .gitignore\n fs.writeFileSync(path.join(vaultDir, '.gitignore'), VAULT_GITIGNORE, 'utf-8');\n\n // Write Obsidian dashboard\n fs.writeFileSync(path.join(vaultDir, '_dashboard.md'), DASHBOARD_CONTENT, 'utf-8');\n\n // Initialize FTS index\n const index = new MycoIndex(path.join(vaultDir, 'index.db'));\n initFts(index);\n index.close();\n\n // Apply LLM provider settings from flags (if any were passed)\n const llmFlags: string[] = [];\n const llmProvider = parseStringFlag(args, '--llm-provider');\n const llmModel = parseStringFlag(args, '--llm-model');\n const llmUrl = parseStringFlag(args, '--llm-url');\n if (llmProvider) llmFlags.push('--llm-provider', llmProvider);\n if (llmModel) llmFlags.push('--llm-model', llmModel);\n if (llmUrl) llmFlags.push('--llm-url', llmUrl);\n const embeddingProvider = parseStringFlag(args, '--embedding-provider');\n const embeddingModel = parseStringFlag(args, '--embedding-model');\n const embeddingUrl = parseStringFlag(args, '--embedding-url');\n if (embeddingProvider) llmFlags.push('--embedding-provider', embeddingProvider);\n if (embeddingModel) llmFlags.push('--embedding-model', embeddingModel);\n if (embeddingUrl) llmFlags.push('--embedding-url', embeddingUrl);\n\n if (llmFlags.length > 0) {\n await setupLlm(llmFlags, vaultDir);\n }\n\n // Apply digest settings from flags (if any were passed)\n const digestFlags: string[] = [];\n const tiers = parseStringFlag(args, '--tiers');\n const injectTier = parseStringFlag(args, '--inject-tier');\n const contextWindow = parseStringFlag(args, '--context-window');\n if (tiers) digestFlags.push('--tiers', tiers);\n if (injectTier) digestFlags.push('--inject-tier', injectTier);\n if (contextWindow) digestFlags.push('--context-window', contextWindow);\n\n if (digestFlags.length > 0) {\n await setupDigest(digestFlags, vaultDir);\n }\n\n // Summary\n console.log('');\n console.log('=== Myco Vault Initialized ===');\n console.log(`Path: ${vaultDir}`);\n console.log(`Team mode: ${teamEnabled ? 'enabled' : 'disabled'}`);\n if (user) console.log(`User: ${user}`);\n console.log('');\n\n // If vault is outside the project, configure MYCO_VAULT_DIR for the current agent\n const projectRoot = path.resolve('.');\n const isProjectLocal = vaultDir.startsWith(projectRoot);\n if (!isProjectLocal) {\n configureVaultEnv(projectRoot, vaultDir);\n }\n\n console.log('Next: start a coding session — Myco will begin capturing automatically.');\n}\n"],"mappings":"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","names":["run","YAML"]}