@goondocks/myco 0.6.3 → 0.6.5

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 (105) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/dist/{chunk-CPVXNRGW.js → chunk-4B5RO2YV.js} +4 -4
  4. package/dist/{chunk-25FY74AP.js → chunk-4DYD4HHG.js} +25 -7
  5. package/dist/chunk-4DYD4HHG.js.map +1 -0
  6. package/dist/{chunk-DBMHUMG3.js → chunk-54WVLTKD.js} +3 -3
  7. package/dist/{chunk-WU4PCNIK.js → chunk-5LMRZDH3.js} +2 -2
  8. package/dist/{chunk-CQ4RKK67.js → chunk-AHZN4Z34.js} +2 -2
  9. package/dist/{chunk-WBLTISAK.js → chunk-DYDBF5W6.js} +36 -6
  10. package/dist/chunk-DYDBF5W6.js.map +1 -0
  11. package/dist/{chunk-JSK7L46L.js → chunk-ERG2IEWX.js} +22 -4
  12. package/dist/{chunk-JSK7L46L.js.map → chunk-ERG2IEWX.js.map} +1 -1
  13. package/dist/{chunk-RNWALAFP.js → chunk-F7GAYVWF.js} +2 -2
  14. package/dist/chunk-F7GAYVWF.js.map +1 -0
  15. package/dist/{chunk-H7PRCVGQ.js → chunk-F7PGDD2X.js} +2 -2
  16. package/dist/{chunk-RY76WEN3.js → chunk-GENQ5QGP.js} +2 -2
  17. package/dist/{chunk-YG6MLLGL.js → chunk-HYVT345Y.js} +2 -2
  18. package/dist/{chunk-LDKXXKF6.js → chunk-LEK6DEAE.js} +4 -4
  19. package/dist/{chunk-IWBWZQK6.js → chunk-MDLSAFPP.js} +2 -2
  20. package/dist/{chunk-QLUE3BUL.js → chunk-O6TBHGVO.js} +9 -2
  21. package/dist/chunk-O6TBHGVO.js.map +1 -0
  22. package/dist/{chunk-RXJHB7W4.js → chunk-OEGZ5YTJ.js} +2 -2
  23. package/dist/{chunk-XNAM6Z4O.js → chunk-P723N2LP.js} +2 -2
  24. package/dist/{chunk-PQWQC3RF.js → chunk-TK7A4RX7.js} +144 -146
  25. package/dist/chunk-TK7A4RX7.js.map +1 -0
  26. package/dist/{chunk-ALBVNGCF.js → chunk-V6BJVYNH.js} +55 -44
  27. package/dist/{chunk-ALBVNGCF.js.map → chunk-V6BJVYNH.js.map} +1 -1
  28. package/dist/{chunk-CK24O5YQ.js → chunk-XH34FX4C.js} +2 -2
  29. package/dist/{chunk-4WL5X7VS.js → chunk-YRIIBPJD.js} +3 -3
  30. package/dist/{cli-EGWAINIE.js → cli-OJYHLO4Y.js} +21 -21
  31. package/dist/{client-FDKJ4BY7.js → client-SS3C5MF6.js} +5 -5
  32. package/dist/{config-HDUFDOQN.js → config-IBS6KOLQ.js} +3 -3
  33. package/dist/{curate-OHIJFBYF.js → curate-4CKEMOPV.js} +9 -10
  34. package/dist/{curate-OHIJFBYF.js.map → curate-4CKEMOPV.js.map} +1 -1
  35. package/dist/{detect-providers-4U3ZPW5G.js → detect-providers-LFIVJYQO.js} +3 -3
  36. package/dist/{digest-I2XYCK2M.js → digest-ZLARHLLY.js} +11 -11
  37. package/dist/{init-ZO2XQT6U.js → init-3LVKVQ4L.js} +8 -8
  38. package/dist/{logs-IENORIYR.js → logs-6CWVP574.js} +3 -3
  39. package/dist/{main-XZ6X4BUX.js → main-RB727YRP.js} +2109 -390
  40. package/dist/main-RB727YRP.js.map +1 -0
  41. package/dist/{rebuild-NAH4EW5B.js → rebuild-QWVVCBCZ.js} +9 -10
  42. package/dist/{rebuild-NAH4EW5B.js.map → rebuild-QWVVCBCZ.js.map} +1 -1
  43. package/dist/{reprocess-6FOP37XS.js → reprocess-YG3WLUI2.js} +11 -11
  44. package/dist/{restart-WSA4JSE3.js → restart-UIP7US4U.js} +6 -6
  45. package/dist/{search-QXJQUB35.js → search-BQLBW5CS.js} +6 -6
  46. package/dist/{server-VXN3CJ4Y.js → server-43KSJ65Q.js} +80 -32
  47. package/dist/{server-VXN3CJ4Y.js.map → server-43KSJ65Q.js.map} +1 -1
  48. package/dist/{session-start-KQ4KCQMZ.js → session-start-6SHGT2AW.js} +9 -9
  49. package/dist/setup-digest-X735EZSD.js +15 -0
  50. package/dist/setup-llm-QBSTQO7N.js +15 -0
  51. package/dist/src/cli.js +4 -4
  52. package/dist/src/daemon/main.js +4 -4
  53. package/dist/src/hooks/post-tool-use.js +5 -5
  54. package/dist/src/hooks/session-end.js +5 -5
  55. package/dist/src/hooks/session-start.js +4 -4
  56. package/dist/src/hooks/stop.js +7 -7
  57. package/dist/src/hooks/user-prompt-submit.js +5 -5
  58. package/dist/src/mcp/server.js +4 -4
  59. package/dist/src/prompts/extraction.md +4 -4
  60. package/dist/{stats-43OESUEB.js → stats-QBLIEFWL.js} +6 -6
  61. package/dist/ui/assets/index-CjWGVHhF.css +1 -0
  62. package/dist/ui/assets/index-Cq-H7wgE.js +369 -0
  63. package/dist/ui/index.html +2 -2
  64. package/dist/{verify-IIAHBAAU.js → verify-X272WGBD.js} +6 -6
  65. package/dist/{version-NKOECSVH.js → version-XE4GYTBV.js} +4 -4
  66. package/package.json +1 -1
  67. package/dist/chunk-25FY74AP.js.map +0 -1
  68. package/dist/chunk-PQWQC3RF.js.map +0 -1
  69. package/dist/chunk-QLUE3BUL.js.map +0 -1
  70. package/dist/chunk-RNWALAFP.js.map +0 -1
  71. package/dist/chunk-WBLTISAK.js.map +0 -1
  72. package/dist/main-XZ6X4BUX.js.map +0 -1
  73. package/dist/setup-digest-QNCM3PNQ.js +0 -15
  74. package/dist/setup-llm-EAOIUSPJ.js +0 -15
  75. package/dist/ui/assets/index-Bk4X_8-Z.css +0 -1
  76. package/dist/ui/assets/index-D3SY7ZHY.js +0 -299
  77. /package/dist/{chunk-CPVXNRGW.js.map → chunk-4B5RO2YV.js.map} +0 -0
  78. /package/dist/{chunk-DBMHUMG3.js.map → chunk-54WVLTKD.js.map} +0 -0
  79. /package/dist/{chunk-WU4PCNIK.js.map → chunk-5LMRZDH3.js.map} +0 -0
  80. /package/dist/{chunk-CQ4RKK67.js.map → chunk-AHZN4Z34.js.map} +0 -0
  81. /package/dist/{chunk-H7PRCVGQ.js.map → chunk-F7PGDD2X.js.map} +0 -0
  82. /package/dist/{chunk-RY76WEN3.js.map → chunk-GENQ5QGP.js.map} +0 -0
  83. /package/dist/{chunk-YG6MLLGL.js.map → chunk-HYVT345Y.js.map} +0 -0
  84. /package/dist/{chunk-LDKXXKF6.js.map → chunk-LEK6DEAE.js.map} +0 -0
  85. /package/dist/{chunk-IWBWZQK6.js.map → chunk-MDLSAFPP.js.map} +0 -0
  86. /package/dist/{chunk-RXJHB7W4.js.map → chunk-OEGZ5YTJ.js.map} +0 -0
  87. /package/dist/{chunk-XNAM6Z4O.js.map → chunk-P723N2LP.js.map} +0 -0
  88. /package/dist/{chunk-CK24O5YQ.js.map → chunk-XH34FX4C.js.map} +0 -0
  89. /package/dist/{chunk-4WL5X7VS.js.map → chunk-YRIIBPJD.js.map} +0 -0
  90. /package/dist/{cli-EGWAINIE.js.map → cli-OJYHLO4Y.js.map} +0 -0
  91. /package/dist/{client-FDKJ4BY7.js.map → client-SS3C5MF6.js.map} +0 -0
  92. /package/dist/{config-HDUFDOQN.js.map → config-IBS6KOLQ.js.map} +0 -0
  93. /package/dist/{detect-providers-4U3ZPW5G.js.map → detect-providers-LFIVJYQO.js.map} +0 -0
  94. /package/dist/{digest-I2XYCK2M.js.map → digest-ZLARHLLY.js.map} +0 -0
  95. /package/dist/{init-ZO2XQT6U.js.map → init-3LVKVQ4L.js.map} +0 -0
  96. /package/dist/{logs-IENORIYR.js.map → logs-6CWVP574.js.map} +0 -0
  97. /package/dist/{reprocess-6FOP37XS.js.map → reprocess-YG3WLUI2.js.map} +0 -0
  98. /package/dist/{restart-WSA4JSE3.js.map → restart-UIP7US4U.js.map} +0 -0
  99. /package/dist/{search-QXJQUB35.js.map → search-BQLBW5CS.js.map} +0 -0
  100. /package/dist/{session-start-KQ4KCQMZ.js.map → session-start-6SHGT2AW.js.map} +0 -0
  101. /package/dist/{setup-digest-QNCM3PNQ.js.map → setup-digest-X735EZSD.js.map} +0 -0
  102. /package/dist/{setup-llm-EAOIUSPJ.js.map → setup-llm-QBSTQO7N.js.map} +0 -0
  103. /package/dist/{stats-43OESUEB.js.map → stats-QBLIEFWL.js.map} +0 -0
  104. /package/dist/{verify-IIAHBAAU.js.map → verify-X272WGBD.js.map} +0 -0
  105. /package/dist/{version-NKOECSVH.js.map → version-XE4GYTBV.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-RNWALAFP.js";
4
+ } from "./chunk-F7GAYVWF.js";
5
5
 
6
6
  // src/version.ts
7
7
  import fs from "fs";
@@ -40,4 +40,4 @@ function readVersionFrom(dir) {
40
40
  export {
41
41
  getPluginVersion
42
42
  };
43
- //# sourceMappingURL=chunk-CK24O5YQ.js.map
43
+ //# sourceMappingURL=chunk-XH34FX4C.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-25FY74AP.js";
5
+ } from "./chunk-4DYD4HHG.js";
6
6
  import {
7
7
  AgentRegistry
8
- } from "./chunk-RNWALAFP.js";
8
+ } from "./chunk-F7GAYVWF.js";
9
9
 
10
10
  // src/cli/shared.ts
11
11
  import fs from "fs";
@@ -83,4 +83,4 @@ export {
83
83
  VAULT_GITIGNORE,
84
84
  configureVaultEnv
85
85
  };
86
- //# sourceMappingURL=chunk-4WL5X7VS.js.map
86
+ //# sourceMappingURL=chunk-YRIIBPJD.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-4WL5X7VS.js";
5
+ } from "./chunk-YRIIBPJD.js";
6
6
  import "./chunk-SAKJMNSR.js";
7
- import "./chunk-25FY74AP.js";
7
+ import "./chunk-4DYD4HHG.js";
8
8
  import {
9
9
  resolveVaultDir
10
10
  } from "./chunk-N33KUCFP.js";
11
- import "./chunk-RNWALAFP.js";
12
- import "./chunk-WBLTISAK.js";
11
+ import "./chunk-F7GAYVWF.js";
12
+ import "./chunk-DYDBF5W6.js";
13
13
  import "./chunk-PZUWP5VK.js";
14
14
 
15
15
  // src/cli.ts
@@ -43,10 +43,10 @@ async function main() {
43
43
  process.stdout.write(USAGE);
44
44
  return;
45
45
  }
46
- if (cmd === "init") return (await import("./init-ZO2XQT6U.js")).run(args);
47
- if (cmd === "detect-providers") return (await import("./detect-providers-4U3ZPW5G.js")).run(args);
46
+ if (cmd === "init") return (await import("./init-3LVKVQ4L.js")).run(args);
47
+ if (cmd === "detect-providers") return (await import("./detect-providers-LFIVJYQO.js")).run(args);
48
48
  if (cmd === "version" || cmd === "--version" || cmd === "-v") {
49
- const { getPluginVersion } = await import("./version-NKOECSVH.js");
49
+ const { getPluginVersion } = await import("./version-XE4GYTBV.js");
50
50
  console.log(getPluginVersion());
51
51
  return;
52
52
  }
@@ -57,33 +57,33 @@ async function main() {
57
57
  }
58
58
  switch (cmd) {
59
59
  case "config":
60
- return (await import("./config-HDUFDOQN.js")).run(args, vaultDir);
60
+ return (await import("./config-IBS6KOLQ.js")).run(args, vaultDir);
61
61
  case "curate":
62
- return (await import("./curate-OHIJFBYF.js")).run(args, vaultDir);
62
+ return (await import("./curate-4CKEMOPV.js")).run(args, vaultDir);
63
63
  case "verify":
64
- return (await import("./verify-IIAHBAAU.js")).run(args, vaultDir);
64
+ return (await import("./verify-X272WGBD.js")).run(args, vaultDir);
65
65
  case "stats":
66
- return (await import("./stats-43OESUEB.js")).run(args, vaultDir);
66
+ return (await import("./stats-QBLIEFWL.js")).run(args, vaultDir);
67
67
  case "search":
68
- return (await import("./search-QXJQUB35.js")).run(args, vaultDir);
68
+ return (await import("./search-BQLBW5CS.js")).run(args, vaultDir);
69
69
  case "vectors":
70
- return (await import("./search-QXJQUB35.js")).runVectors(args, vaultDir);
70
+ return (await import("./search-BQLBW5CS.js")).runVectors(args, vaultDir);
71
71
  case "session":
72
72
  return (await import("./session-F326AWCH.js")).run(args, vaultDir);
73
73
  case "setup-llm":
74
- return (await import("./setup-llm-EAOIUSPJ.js")).run(args, vaultDir);
74
+ return (await import("./setup-llm-QBSTQO7N.js")).run(args, vaultDir);
75
75
  case "setup-digest":
76
- return (await import("./setup-digest-QNCM3PNQ.js")).run(args, vaultDir);
76
+ return (await import("./setup-digest-X735EZSD.js")).run(args, vaultDir);
77
77
  case "digest":
78
- return (await import("./digest-I2XYCK2M.js")).run(args, vaultDir);
78
+ return (await import("./digest-ZLARHLLY.js")).run(args, vaultDir);
79
79
  case "restart":
80
- return (await import("./restart-WSA4JSE3.js")).run(args, vaultDir);
80
+ return (await import("./restart-UIP7US4U.js")).run(args, vaultDir);
81
81
  case "rebuild":
82
- return (await import("./rebuild-NAH4EW5B.js")).run(args, vaultDir);
82
+ return (await import("./rebuild-QWVVCBCZ.js")).run(args, vaultDir);
83
83
  case "reprocess":
84
- return (await import("./reprocess-6FOP37XS.js")).run(args, vaultDir);
84
+ return (await import("./reprocess-YG3WLUI2.js")).run(args, vaultDir);
85
85
  case "logs":
86
- return (await import("./logs-IENORIYR.js")).run(args, vaultDir);
86
+ return (await import("./logs-6CWVP574.js")).run(args, vaultDir);
87
87
  default:
88
88
  console.error(`Unknown command: ${cmd}`);
89
89
  process.stdout.write(USAGE);
@@ -94,4 +94,4 @@ main().catch((err) => {
94
94
  console.error(`myco: ${err.message}`);
95
95
  process.exit(1);
96
96
  });
97
- //# sourceMappingURL=cli-EGWAINIE.js.map
97
+ //# sourceMappingURL=cli-OJYHLO4Y.js.map
@@ -1,12 +1,12 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  DaemonClient
4
- } from "./chunk-CPVXNRGW.js";
5
- import "./chunk-CK24O5YQ.js";
6
- import "./chunk-RNWALAFP.js";
7
- import "./chunk-WBLTISAK.js";
4
+ } from "./chunk-4B5RO2YV.js";
5
+ import "./chunk-XH34FX4C.js";
6
+ import "./chunk-F7GAYVWF.js";
7
+ import "./chunk-DYDBF5W6.js";
8
8
  import "./chunk-PZUWP5VK.js";
9
9
  export {
10
10
  DaemonClient
11
11
  };
12
- //# sourceMappingURL=client-FDKJ4BY7.js.map
12
+ //# sourceMappingURL=client-SS3C5MF6.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
3
  loadConfig
4
- } from "./chunk-YG6MLLGL.js";
4
+ } from "./chunk-HYVT345Y.js";
5
5
  import {
6
6
  MycoConfigSchema,
7
7
  require_dist
8
- } from "./chunk-JSK7L46L.js";
8
+ } from "./chunk-ERG2IEWX.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-HDUFDOQN.js.map
101
+ //# sourceMappingURL=config-IBS6KOLQ.js.map
@@ -1,28 +1,27 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  runCuration
4
- } from "./chunk-PQWQC3RF.js";
4
+ } from "./chunk-TK7A4RX7.js";
5
5
  import {
6
6
  VectorIndex
7
7
  } from "./chunk-4RMSHZE4.js";
8
- import "./chunk-ALBVNGCF.js";
8
+ import "./chunk-V6BJVYNH.js";
9
9
  import "./chunk-RGVBGTD6.js";
10
10
  import {
11
11
  createEmbeddingProvider,
12
12
  createLlmProvider
13
- } from "./chunk-DBMHUMG3.js";
14
- import "./chunk-RY76WEN3.js";
13
+ } from "./chunk-54WVLTKD.js";
14
+ import "./chunk-GENQ5QGP.js";
15
15
  import "./chunk-6FQISQNA.js";
16
16
  import {
17
17
  MycoIndex
18
18
  } from "./chunk-TWSTAVLO.js";
19
- import "./chunk-25FY74AP.js";
19
+ import "./chunk-4DYD4HHG.js";
20
20
  import {
21
21
  loadConfig
22
- } from "./chunk-YG6MLLGL.js";
23
- import "./chunk-JSK7L46L.js";
24
- import "./chunk-RNWALAFP.js";
25
- import "./chunk-WBLTISAK.js";
22
+ } from "./chunk-HYVT345Y.js";
23
+ import "./chunk-ERG2IEWX.js";
24
+ import "./chunk-DYDBF5W6.js";
26
25
  import "./chunk-PZUWP5VK.js";
27
26
 
28
27
  // src/cli/curate.ts
@@ -76,4 +75,4 @@ Curation complete:`);
76
75
  export {
77
76
  run
78
77
  };
79
- //# sourceMappingURL=curate-OHIJFBYF.js.map
78
+ //# sourceMappingURL=curate-4CKEMOPV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli/curate.ts"],"sourcesContent":["/**\n * myco curate — scan the vault for stale spores and supersede them.\n *\n * Usage:\n * myco curate Scan and supersede stale spores\n * myco curate --dry-run Show what would be superseded without writing\n *\n * Algorithm:\n * 1. Load all active spores from the index\n * 2. Group by observation_type\n * 3. Within each group, embed spores and cluster by cosine similarity\n * 4. For each cluster with 2+ members, ask the LLM which are outdated\n * 5. Mark superseded: update frontmatter, append notice, re-index, remove vector\n */\nimport path from 'node:path';\nimport { loadConfig } from '../config/loader.js';\nimport { MycoIndex } from '../index/sqlite.js';\nimport { VectorIndex } from '../index/vectors.js';\nimport { createLlmProvider, createEmbeddingProvider } from '../intelligence/llm.js';\nimport { runCuration } from '../services/vault-ops.js';\n\nexport async function run(args: string[], vaultDir: string): Promise<void> {\n const isDryRun = args.includes('--dry-run');\n\n const config = loadConfig(vaultDir);\n const index = new MycoIndex(path.join(vaultDir, 'index.db'));\n\n const llmProvider = createLlmProvider(config.intelligence.llm);\n const embeddingProvider = createEmbeddingProvider(config.intelligence.embedding);\n\n let vectorIndex: VectorIndex | null = null;\n try {\n const testEmbed = await embeddingProvider.embed('test');\n vectorIndex = new VectorIndex(path.join(vaultDir, 'vectors.db'), testEmbed.dimensions);\n } catch (e) {\n console.error(`Vector index unavailable: ${(e as Error).message}`);\n console.error('Curate requires a working embedding provider.');\n index.close();\n process.exit(1);\n }\n\n try {\n if (isDryRun) {\n console.log('Dry run — no changes will be written.\\n');\n }\n\n const result = await runCuration(\n {\n vaultDir,\n config,\n index,\n vectorIndex,\n llmProvider,\n embeddingProvider,\n log: (_level, message) => console.log(` ${message}`),\n },\n isDryRun,\n );\n\n console.log(`\\nCuration complete:`);\n console.log(` Scanned: ${result.scanned} active spores`);\n console.log(` Clusters evaluated: ${result.clustersEvaluated}`);\n if (isDryRun) {\n console.log(` Would supersede: ${result.superseded}`);\n } else {\n console.log(` Superseded: ${result.superseded}`);\n }\n } finally {\n index.close();\n vectorIndex?.close();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,OAAO,UAAU;AAOjB,eAAsB,IAAI,MAAgB,UAAiC;AACzE,QAAM,WAAW,KAAK,SAAS,WAAW;AAE1C,QAAM,SAAS,WAAW,QAAQ;AAClC,QAAM,QAAQ,IAAI,UAAU,KAAK,KAAK,UAAU,UAAU,CAAC;AAE3D,QAAM,cAAc,kBAAkB,OAAO,aAAa,GAAG;AAC7D,QAAM,oBAAoB,wBAAwB,OAAO,aAAa,SAAS;AAE/E,MAAI,cAAkC;AACtC,MAAI;AACF,UAAM,YAAY,MAAM,kBAAkB,MAAM,MAAM;AACtD,kBAAc,IAAI,YAAY,KAAK,KAAK,UAAU,YAAY,GAAG,UAAU,UAAU;AAAA,EACvF,SAAS,GAAG;AACV,YAAQ,MAAM,6BAA8B,EAAY,OAAO,EAAE;AACjE,YAAQ,MAAM,+CAA+C;AAC7D,UAAM,MAAM;AACZ,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI;AACF,QAAI,UAAU;AACZ,cAAQ,IAAI,8CAAyC;AAAA,IACvD;AAEA,UAAM,SAAS,MAAM;AAAA,MACnB;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,CAAC,QAAQ,YAAY,QAAQ,IAAI,KAAK,OAAO,EAAE;AAAA,MACtD;AAAA,MACA;AAAA,IACF;AAEA,YAAQ,IAAI;AAAA,mBAAsB;AAClC,YAAQ,IAAI,cAAc,OAAO,OAAO,gBAAgB;AACxD,YAAQ,IAAI,yBAAyB,OAAO,iBAAiB,EAAE;AAC/D,QAAI,UAAU;AACZ,cAAQ,IAAI,sBAAsB,OAAO,UAAU,EAAE;AAAA,IACvD,OAAO;AACL,cAAQ,IAAI,iBAAiB,OAAO,UAAU,EAAE;AAAA,IAClD;AAAA,EACF,UAAE;AACA,UAAM,MAAM;AACZ,iBAAa,MAAM;AAAA,EACrB;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/cli/curate.ts"],"sourcesContent":["/**\n * myco curate — scan the vault for stale spores and supersede them.\n *\n * Usage:\n * myco curate Scan and supersede stale spores\n * myco curate --dry-run Show what would be superseded without writing\n *\n * Algorithm:\n * 1. Load all active spores from the index\n * 2. Group by observation_type\n * 3. Within each group, embed spores and cluster by cosine similarity\n * 4. For each cluster with 2+ members, ask the LLM which are outdated\n * 5. Mark superseded: update frontmatter, append notice, re-index, remove vector\n */\nimport path from 'node:path';\nimport { loadConfig } from '../config/loader.js';\nimport { MycoIndex } from '../index/sqlite.js';\nimport { VectorIndex } from '../index/vectors.js';\nimport { createLlmProvider, createEmbeddingProvider } from '../intelligence/llm.js';\nimport { runCuration } from '../services/vault-ops.js';\n\nexport async function run(args: string[], vaultDir: string): Promise<void> {\n const isDryRun = args.includes('--dry-run');\n\n const config = loadConfig(vaultDir);\n const index = new MycoIndex(path.join(vaultDir, 'index.db'));\n\n const llmProvider = createLlmProvider(config.intelligence.llm);\n const embeddingProvider = createEmbeddingProvider(config.intelligence.embedding);\n\n let vectorIndex: VectorIndex | null = null;\n try {\n const testEmbed = await embeddingProvider.embed('test');\n vectorIndex = new VectorIndex(path.join(vaultDir, 'vectors.db'), testEmbed.dimensions);\n } catch (e) {\n console.error(`Vector index unavailable: ${(e as Error).message}`);\n console.error('Curate requires a working embedding provider.');\n index.close();\n process.exit(1);\n }\n\n try {\n if (isDryRun) {\n console.log('Dry run — no changes will be written.\\n');\n }\n\n const result = await runCuration(\n {\n vaultDir,\n config,\n index,\n vectorIndex,\n llmProvider,\n embeddingProvider,\n log: (_level, message) => console.log(` ${message}`),\n },\n isDryRun,\n );\n\n console.log(`\\nCuration complete:`);\n console.log(` Scanned: ${result.scanned} active spores`);\n console.log(` Clusters evaluated: ${result.clustersEvaluated}`);\n if (isDryRun) {\n console.log(` Would supersede: ${result.superseded}`);\n } else {\n console.log(` Superseded: ${result.superseded}`);\n }\n } finally {\n index.close();\n vectorIndex?.close();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,OAAO,UAAU;AAOjB,eAAsB,IAAI,MAAgB,UAAiC;AACzE,QAAM,WAAW,KAAK,SAAS,WAAW;AAE1C,QAAM,SAAS,WAAW,QAAQ;AAClC,QAAM,QAAQ,IAAI,UAAU,KAAK,KAAK,UAAU,UAAU,CAAC;AAE3D,QAAM,cAAc,kBAAkB,OAAO,aAAa,GAAG;AAC7D,QAAM,oBAAoB,wBAAwB,OAAO,aAAa,SAAS;AAE/E,MAAI,cAAkC;AACtC,MAAI;AACF,UAAM,YAAY,MAAM,kBAAkB,MAAM,MAAM;AACtD,kBAAc,IAAI,YAAY,KAAK,KAAK,UAAU,YAAY,GAAG,UAAU,UAAU;AAAA,EACvF,SAAS,GAAG;AACV,YAAQ,MAAM,6BAA8B,EAAY,OAAO,EAAE;AACjE,YAAQ,MAAM,+CAA+C;AAC7D,UAAM,MAAM;AACZ,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI;AACF,QAAI,UAAU;AACZ,cAAQ,IAAI,8CAAyC;AAAA,IACvD;AAEA,UAAM,SAAS,MAAM;AAAA,MACnB;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,CAAC,QAAQ,YAAY,QAAQ,IAAI,KAAK,OAAO,EAAE;AAAA,MACtD;AAAA,MACA;AAAA,IACF;AAEA,YAAQ,IAAI;AAAA,mBAAsB;AAClC,YAAQ,IAAI,cAAc,OAAO,OAAO,gBAAgB;AACxD,YAAQ,IAAI,yBAAyB,OAAO,iBAAiB,EAAE;AAC/D,QAAI,UAAU;AACZ,cAAQ,IAAI,sBAAsB,OAAO,UAAU,EAAE;AAAA,IACvD,OAAO;AACL,cAAQ,IAAI,iBAAiB,OAAO,UAAU,EAAE;AAAA,IAClD;AAAA,EACF,UAAE;AACA,UAAM,MAAM;AACZ,iBAAa,MAAM;AAAA,EACrB;AACF;","names":[]}
@@ -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-25FY74AP.js";
5
+ } from "./chunk-4DYD4HHG.js";
6
6
  import {
7
7
  PROVIDER_DETECT_TIMEOUT_MS
8
- } from "./chunk-WBLTISAK.js";
8
+ } from "./chunk-DYDBF5W6.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-4U3ZPW5G.js.map
35
+ //# sourceMappingURL=detect-providers-LFIVJYQO.js.map
@@ -1,28 +1,28 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  runDigest
4
- } from "./chunk-PQWQC3RF.js";
5
- import "./chunk-ALBVNGCF.js";
4
+ } from "./chunk-TK7A4RX7.js";
5
+ import "./chunk-V6BJVYNH.js";
6
6
  import "./chunk-RGVBGTD6.js";
7
7
  import {
8
8
  createLlmProvider
9
- } from "./chunk-DBMHUMG3.js";
10
- import "./chunk-RY76WEN3.js";
9
+ } from "./chunk-54WVLTKD.js";
10
+ import "./chunk-GENQ5QGP.js";
11
11
  import "./chunk-6FQISQNA.js";
12
12
  import {
13
13
  MycoIndex
14
14
  } from "./chunk-TWSTAVLO.js";
15
- import "./chunk-4WL5X7VS.js";
15
+ import "./chunk-YRIIBPJD.js";
16
16
  import {
17
17
  parseIntFlag
18
18
  } from "./chunk-SAKJMNSR.js";
19
- import "./chunk-25FY74AP.js";
19
+ import "./chunk-4DYD4HHG.js";
20
20
  import {
21
21
  loadConfig
22
- } from "./chunk-YG6MLLGL.js";
23
- import "./chunk-JSK7L46L.js";
24
- import "./chunk-RNWALAFP.js";
25
- import "./chunk-WBLTISAK.js";
22
+ } from "./chunk-HYVT345Y.js";
23
+ import "./chunk-ERG2IEWX.js";
24
+ import "./chunk-F7GAYVWF.js";
25
+ import "./chunk-DYDBF5W6.js";
26
26
  import "./chunk-PZUWP5VK.js";
27
27
 
28
28
  // src/cli/digest.ts
@@ -82,4 +82,4 @@ Digest cycle complete:`);
82
82
  export {
83
83
  run
84
84
  };
85
- //# sourceMappingURL=digest-I2XYCK2M.js.map
85
+ //# sourceMappingURL=digest-ZLARHLLY.js.map
@@ -7,27 +7,27 @@ import {
7
7
  } from "./chunk-TWSTAVLO.js";
8
8
  import {
9
9
  run
10
- } from "./chunk-IWBWZQK6.js";
10
+ } from "./chunk-MDLSAFPP.js";
11
11
  import {
12
12
  run as run2
13
- } from "./chunk-XNAM6Z4O.js";
13
+ } from "./chunk-P723N2LP.js";
14
14
  import {
15
15
  VAULT_GITIGNORE,
16
16
  configureVaultEnv
17
- } from "./chunk-4WL5X7VS.js";
17
+ } from "./chunk-YRIIBPJD.js";
18
18
  import {
19
19
  parseStringFlag
20
20
  } from "./chunk-SAKJMNSR.js";
21
- import "./chunk-25FY74AP.js";
21
+ import "./chunk-4DYD4HHG.js";
22
22
  import {
23
23
  MycoConfigSchema,
24
24
  require_dist
25
- } from "./chunk-JSK7L46L.js";
25
+ } from "./chunk-ERG2IEWX.js";
26
26
  import {
27
27
  resolveVaultDir
28
28
  } from "./chunk-N33KUCFP.js";
29
- import "./chunk-RNWALAFP.js";
30
- import "./chunk-WBLTISAK.js";
29
+ import "./chunk-F7GAYVWF.js";
30
+ import "./chunk-DYDBF5W6.js";
31
31
  import {
32
32
  __toESM
33
33
  } from "./chunk-PZUWP5VK.js";
@@ -106,4 +106,4 @@ async function run3(args) {
106
106
  export {
107
107
  run3 as run
108
108
  };
109
- //# sourceMappingURL=init-ZO2XQT6U.js.map
109
+ //# sourceMappingURL=init-3LVKVQ4L.js.map
@@ -3,10 +3,10 @@ import {
3
3
  DEFAULT_LOG_TAIL,
4
4
  matchesFilter,
5
5
  queryLogs
6
- } from "./chunk-H7PRCVGQ.js";
6
+ } from "./chunk-F7PGDD2X.js";
7
7
  import {
8
8
  LEVEL_ORDER
9
- } from "./chunk-QLUE3BUL.js";
9
+ } from "./chunk-O6TBHGVO.js";
10
10
  import {
11
11
  formatLogLine,
12
12
  parseIntFlag,
@@ -81,4 +81,4 @@ function run(args, vaultDir) {
81
81
  export {
82
82
  run
83
83
  };
84
- //# sourceMappingURL=logs-IENORIYR.js.map
84
+ //# sourceMappingURL=logs-6CWVP574.js.map