@goondocks/myco 0.4.2 → 0.4.4

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 (92) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/dist/chunk-2AMAOSRF.js +105 -0
  4. package/dist/chunk-2AMAOSRF.js.map +1 -0
  5. package/dist/chunk-3F63SFZZ.js +381 -0
  6. package/dist/chunk-3F63SFZZ.js.map +1 -0
  7. package/dist/{chunk-WBT5DWGC.js → chunk-42R7KVAW.js} +2 -2
  8. package/dist/{chunk-GFBG73P4.js → chunk-5FIIK27E.js} +3 -3
  9. package/dist/{chunk-XCPQHC4X.js → chunk-6CAKKNGD.js} +2 -2
  10. package/dist/{chunk-I7PNZEBO.js → chunk-6LTNFMXO.js} +12 -1
  11. package/dist/{chunk-I7PNZEBO.js.map → chunk-6LTNFMXO.js.map} +1 -1
  12. package/dist/{chunk-V2OWD2VV.js → chunk-DKHYIA2V.js} +24 -146
  13. package/dist/chunk-DKHYIA2V.js.map +1 -0
  14. package/dist/{chunk-BNIYWCST.js → chunk-EQVQEFOA.js} +2 -2
  15. package/dist/{chunk-FPEDTLQ6.js → chunk-JJL6AMDA.js} +3 -101
  16. package/dist/chunk-JJL6AMDA.js.map +1 -0
  17. package/dist/{chunk-OUFSLZTX.js → chunk-KDWBZSOB.js} +21 -9
  18. package/dist/chunk-KDWBZSOB.js.map +1 -0
  19. package/dist/{chunk-67R6EMYD.js → chunk-OPO47BVS.js} +31 -52
  20. package/dist/chunk-OPO47BVS.js.map +1 -0
  21. package/dist/{chunk-IYFKPSRP.js → chunk-OSZRLHIJ.js} +3 -3
  22. package/dist/chunk-PD7LV22R.js +150 -0
  23. package/dist/chunk-PD7LV22R.js.map +1 -0
  24. package/dist/{chunk-JBD5KP5G.js → chunk-TDLQBGKA.js} +6 -2
  25. package/dist/chunk-TDLQBGKA.js.map +1 -0
  26. package/dist/{chunk-2GJFTIWX.js → chunk-TK2ZYIAL.js} +2 -2
  27. package/dist/{chunk-ZCBL5HER.js → chunk-XIIVIMFC.js} +2 -2
  28. package/dist/{cli-PMOFCZQL.js → cli-WOM4Z2Z4.js} +21 -18
  29. package/dist/cli-WOM4Z2Z4.js.map +1 -0
  30. package/dist/{client-5SUO2UYH.js → client-XCNF6NFT.js} +5 -5
  31. package/dist/{detect-providers-IRL2TTLK.js → detect-providers-CQSPTW2B.js} +3 -3
  32. package/dist/digest-WTS6S4XP.js +96 -0
  33. package/dist/digest-WTS6S4XP.js.map +1 -0
  34. package/dist/{init-NUF5UBUJ.js → init-VPLUEULI.js} +5 -5
  35. package/dist/{main-2XEBVUR6.js → main-OGXH6XWO.js} +230 -575
  36. package/dist/main-OGXH6XWO.js.map +1 -0
  37. package/dist/{rebuild-E6YFIRYZ.js → rebuild-Z4YUY6HT.js} +8 -7
  38. package/dist/{rebuild-E6YFIRYZ.js.map → rebuild-Z4YUY6HT.js.map} +1 -1
  39. package/dist/{reprocess-7G7KQWCN.js → reprocess-DMGPZTLC.js} +91 -20
  40. package/dist/reprocess-DMGPZTLC.js.map +1 -0
  41. package/dist/{restart-ABW4ZK3P.js → restart-QCQQ55KX.js} +6 -6
  42. package/dist/{search-MPD7SFK6.js → search-ACEFQOUW.js} +6 -6
  43. package/dist/{server-NZLZRITH.js → server-BQ3DWKZ6.js} +16 -14
  44. package/dist/{server-NZLZRITH.js.map → server-BQ3DWKZ6.js.map} +1 -1
  45. package/dist/{session-start-YB4A4PZB.js → session-start-BXRTKS4X.js} +6 -6
  46. package/dist/{setup-digest-K732MGOJ.js → setup-digest-EJXSQGZ5.js} +5 -5
  47. package/dist/{setup-llm-XCCH5LYD.js → setup-llm-P3MLWUDR.js} +5 -5
  48. package/dist/src/cli.js +4 -4
  49. package/dist/src/daemon/main.js +4 -4
  50. package/dist/src/hooks/post-tool-use.js +5 -5
  51. package/dist/src/hooks/session-end.js +5 -5
  52. package/dist/src/hooks/session-start.js +4 -4
  53. package/dist/src/hooks/stop.js +6 -6
  54. package/dist/src/hooks/stop.js.map +1 -1
  55. package/dist/src/hooks/user-prompt-submit.js +5 -5
  56. package/dist/src/mcp/server.js +4 -4
  57. package/dist/src/prompts/extraction.md +1 -1
  58. package/dist/src/prompts/summary.md +1 -11
  59. package/dist/{stats-6G7SN5YZ.js → stats-3FAP5FKV.js} +5 -5
  60. package/dist/{verify-JFHQH55Z.js → verify-3FTCOULE.js} +4 -4
  61. package/dist/{version-5B2TWXQJ.js → version-AL67JH7X.js} +4 -4
  62. package/package.json +1 -1
  63. package/skills/myco/SKILL.md +4 -0
  64. package/skills/myco/references/reconfiguration.md +92 -0
  65. package/skills/setup/SKILL.md +59 -31
  66. package/skills/setup/references/model-recommendations.md +49 -43
  67. package/dist/chunk-67R6EMYD.js.map +0 -1
  68. package/dist/chunk-FPEDTLQ6.js.map +0 -1
  69. package/dist/chunk-JBD5KP5G.js.map +0 -1
  70. package/dist/chunk-OUFSLZTX.js.map +0 -1
  71. package/dist/chunk-V2OWD2VV.js.map +0 -1
  72. package/dist/cli-PMOFCZQL.js.map +0 -1
  73. package/dist/main-2XEBVUR6.js.map +0 -1
  74. package/dist/reprocess-7G7KQWCN.js.map +0 -1
  75. /package/dist/{chunk-WBT5DWGC.js.map → chunk-42R7KVAW.js.map} +0 -0
  76. /package/dist/{chunk-GFBG73P4.js.map → chunk-5FIIK27E.js.map} +0 -0
  77. /package/dist/{chunk-XCPQHC4X.js.map → chunk-6CAKKNGD.js.map} +0 -0
  78. /package/dist/{chunk-BNIYWCST.js.map → chunk-EQVQEFOA.js.map} +0 -0
  79. /package/dist/{chunk-IYFKPSRP.js.map → chunk-OSZRLHIJ.js.map} +0 -0
  80. /package/dist/{chunk-2GJFTIWX.js.map → chunk-TK2ZYIAL.js.map} +0 -0
  81. /package/dist/{chunk-ZCBL5HER.js.map → chunk-XIIVIMFC.js.map} +0 -0
  82. /package/dist/{client-5SUO2UYH.js.map → client-XCNF6NFT.js.map} +0 -0
  83. /package/dist/{detect-providers-IRL2TTLK.js.map → detect-providers-CQSPTW2B.js.map} +0 -0
  84. /package/dist/{init-NUF5UBUJ.js.map → init-VPLUEULI.js.map} +0 -0
  85. /package/dist/{restart-ABW4ZK3P.js.map → restart-QCQQ55KX.js.map} +0 -0
  86. /package/dist/{search-MPD7SFK6.js.map → search-ACEFQOUW.js.map} +0 -0
  87. /package/dist/{session-start-YB4A4PZB.js.map → session-start-BXRTKS4X.js.map} +0 -0
  88. /package/dist/{setup-digest-K732MGOJ.js.map → setup-digest-EJXSQGZ5.js.map} +0 -0
  89. /package/dist/{setup-llm-XCCH5LYD.js.map → setup-llm-P3MLWUDR.js.map} +0 -0
  90. /package/dist/{stats-6G7SN5YZ.js.map → stats-3FAP5FKV.js.map} +0 -0
  91. /package/dist/{verify-JFHQH55Z.js.map → verify-3FTCOULE.js.map} +0 -0
  92. /package/dist/{version-5B2TWXQJ.js.map → version-AL67JH7X.js.map} +0 -0
@@ -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-GFBG73P4.js";
5
+ } from "./chunk-5FIIK27E.js";
6
6
  import "./chunk-SAKJMNSR.js";
7
- import "./chunk-67R6EMYD.js";
7
+ import "./chunk-OPO47BVS.js";
8
8
  import {
9
9
  resolveVaultDir
10
10
  } from "./chunk-N33KUCFP.js";
11
- import "./chunk-BNIYWCST.js";
12
- import "./chunk-JBD5KP5G.js";
11
+ import "./chunk-EQVQEFOA.js";
12
+ import "./chunk-TDLQBGKA.js";
13
13
  import "./chunk-PZUWP5VK.js";
14
14
 
15
15
  // src/cli.ts
@@ -30,9 +30,10 @@ Commands:
30
30
  logs [options] View daemon logs
31
31
  setup-llm [options] Configure LLM and embedding providers
32
32
  setup-digest [options] Configure digest and capture settings
33
+ digest [options] Run a digest cycle (--tier N, --full)
33
34
  restart Restart the daemon
34
35
  rebuild Reindex the entire vault
35
- reprocess [options] Re-extract observations and re-index sessions
36
+ reprocess [options] Re-extract observations, regenerate summaries, re-index
36
37
  version Show plugin version
37
38
  `;
38
39
  async function main() {
@@ -41,10 +42,10 @@ async function main() {
41
42
  process.stdout.write(USAGE);
42
43
  return;
43
44
  }
44
- if (cmd === "init") return (await import("./init-NUF5UBUJ.js")).run(args);
45
- if (cmd === "detect-providers") return (await import("./detect-providers-IRL2TTLK.js")).run(args);
45
+ if (cmd === "init") return (await import("./init-VPLUEULI.js")).run(args);
46
+ if (cmd === "detect-providers") return (await import("./detect-providers-CQSPTW2B.js")).run(args);
46
47
  if (cmd === "version" || cmd === "--version" || cmd === "-v") {
47
- const { getPluginVersion } = await import("./version-5B2TWXQJ.js");
48
+ const { getPluginVersion } = await import("./version-AL67JH7X.js");
48
49
  console.log(getPluginVersion());
49
50
  return;
50
51
  }
@@ -57,25 +58,27 @@ async function main() {
57
58
  case "config":
58
59
  return (await import("./config-5FGLQGCW.js")).run(args, vaultDir);
59
60
  case "verify":
60
- return (await import("./verify-JFHQH55Z.js")).run(args, vaultDir);
61
+ return (await import("./verify-3FTCOULE.js")).run(args, vaultDir);
61
62
  case "stats":
62
- return (await import("./stats-6G7SN5YZ.js")).run(args, vaultDir);
63
+ return (await import("./stats-3FAP5FKV.js")).run(args, vaultDir);
63
64
  case "search":
64
- return (await import("./search-MPD7SFK6.js")).run(args, vaultDir);
65
+ return (await import("./search-ACEFQOUW.js")).run(args, vaultDir);
65
66
  case "vectors":
66
- return (await import("./search-MPD7SFK6.js")).runVectors(args, vaultDir);
67
+ return (await import("./search-ACEFQOUW.js")).runVectors(args, vaultDir);
67
68
  case "session":
68
69
  return (await import("./session-QF6MILAC.js")).run(args, vaultDir);
69
70
  case "setup-llm":
70
- return (await import("./setup-llm-XCCH5LYD.js")).run(args, vaultDir);
71
+ return (await import("./setup-llm-P3MLWUDR.js")).run(args, vaultDir);
71
72
  case "setup-digest":
72
- return (await import("./setup-digest-K732MGOJ.js")).run(args, vaultDir);
73
+ return (await import("./setup-digest-EJXSQGZ5.js")).run(args, vaultDir);
74
+ case "digest":
75
+ return (await import("./digest-WTS6S4XP.js")).run(args, vaultDir);
73
76
  case "restart":
74
- return (await import("./restart-ABW4ZK3P.js")).run(args, vaultDir);
77
+ return (await import("./restart-QCQQ55KX.js")).run(args, vaultDir);
75
78
  case "rebuild":
76
- return (await import("./rebuild-E6YFIRYZ.js")).run(args, vaultDir);
79
+ return (await import("./rebuild-Z4YUY6HT.js")).run(args, vaultDir);
77
80
  case "reprocess":
78
- return (await import("./reprocess-7G7KQWCN.js")).run(args, vaultDir);
81
+ return (await import("./reprocess-DMGPZTLC.js")).run(args, vaultDir);
79
82
  case "logs":
80
83
  return (await import("./logs-BSTBZHDR.js")).run(args, vaultDir);
81
84
  default:
@@ -88,4 +91,4 @@ main().catch((err) => {
88
91
  console.error(`myco: ${err.message}`);
89
92
  process.exit(1);
90
93
  });
91
- //# sourceMappingURL=cli-PMOFCZQL.js.map
94
+ //# sourceMappingURL=cli-WOM4Z2Z4.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 digest [options] Run a digest cycle (--tier N, --full)\n restart Restart the daemon\n rebuild Reindex the entire vault\n reprocess [options] Re-extract observations, regenerate summaries, re-index\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 'digest': return (await import('./cli/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;AAAA;AAqBd,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;AAAU,cAAQ,MAAM,OAAO,sBAAiB,GAAG,IAAI,MAAM,QAAQ;AAAA,IAC1E,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-OUFSLZTX.js";
5
- import "./chunk-2GJFTIWX.js";
6
- import "./chunk-BNIYWCST.js";
7
- import "./chunk-JBD5KP5G.js";
4
+ } from "./chunk-KDWBZSOB.js";
5
+ import "./chunk-TK2ZYIAL.js";
6
+ import "./chunk-EQVQEFOA.js";
7
+ import "./chunk-TDLQBGKA.js";
8
8
  import "./chunk-PZUWP5VK.js";
9
9
  export {
10
10
  DaemonClient
11
11
  };
12
- //# sourceMappingURL=client-5SUO2UYH.js.map
12
+ //# sourceMappingURL=client-XCNF6NFT.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-67R6EMYD.js";
5
+ } from "./chunk-OPO47BVS.js";
6
6
  import {
7
7
  PROVIDER_DETECT_TIMEOUT_MS
8
- } from "./chunk-JBD5KP5G.js";
8
+ } from "./chunk-TDLQBGKA.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-IRL2TTLK.js.map
35
+ //# sourceMappingURL=detect-providers-CQSPTW2B.js.map
@@ -0,0 +1,96 @@
1
+ import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
+ import {
3
+ DigestEngine
4
+ } from "./chunk-3F63SFZZ.js";
5
+ import "./chunk-PD7LV22R.js";
6
+ import "./chunk-2AMAOSRF.js";
7
+ import {
8
+ createLlmProvider
9
+ } from "./chunk-OSZRLHIJ.js";
10
+ import "./chunk-MIU3DKLN.js";
11
+ import {
12
+ MycoIndex
13
+ } from "./chunk-AK6GNLPV.js";
14
+ import "./chunk-5FIIK27E.js";
15
+ import {
16
+ parseIntFlag
17
+ } from "./chunk-SAKJMNSR.js";
18
+ import "./chunk-OPO47BVS.js";
19
+ import {
20
+ loadConfig
21
+ } from "./chunk-TBRZAJ7W.js";
22
+ import "./chunk-6UJWI4IW.js";
23
+ import "./chunk-EQVQEFOA.js";
24
+ import "./chunk-TDLQBGKA.js";
25
+ import "./chunk-PZUWP5VK.js";
26
+
27
+ // src/cli/digest.ts
28
+ import path from "path";
29
+ async function run(args, vaultDir) {
30
+ const config = loadConfig(vaultDir);
31
+ if (!config.digest.enabled) {
32
+ console.error("Digest is not enabled. Set digest.enabled: true in myco.yaml.");
33
+ process.exit(1);
34
+ }
35
+ const tierArg = parseIntFlag(args, "--tier");
36
+ const isFull = args.includes("--full");
37
+ const isReprocess = isFull || tierArg !== void 0;
38
+ const digestLlmConfig = {
39
+ provider: config.digest.intelligence.provider ?? config.intelligence.llm.provider,
40
+ model: config.digest.intelligence.model ?? config.intelligence.llm.model,
41
+ base_url: config.digest.intelligence.base_url ?? config.intelligence.llm.base_url,
42
+ context_window: config.digest.intelligence.context_window
43
+ };
44
+ const llmProvider = createLlmProvider(digestLlmConfig);
45
+ const index = new MycoIndex(path.join(vaultDir, "index.db"));
46
+ const engine = new DigestEngine({
47
+ vaultDir,
48
+ index,
49
+ llmProvider,
50
+ config,
51
+ log: (level, message, data) => {
52
+ const prefix = level === "warn" ? "\u26A0" : level === "info" ? "\u2192" : " ";
53
+ const suffix = data ? ` ${JSON.stringify(data)}` : "";
54
+ console.log(`${prefix} ${message}${suffix}`);
55
+ }
56
+ });
57
+ const opts = {};
58
+ if (isReprocess) {
59
+ opts.fullReprocess = true;
60
+ opts.cleanSlate = true;
61
+ }
62
+ if (tierArg !== void 0) {
63
+ const eligible = engine.getEligibleTiers();
64
+ if (!eligible.includes(tierArg)) {
65
+ console.error(`Tier ${tierArg} is not eligible. Eligible tiers: [${eligible.join(", ")}]`);
66
+ index.close();
67
+ process.exit(1);
68
+ }
69
+ opts.tiers = [tierArg];
70
+ }
71
+ if (isReprocess) {
72
+ const tierLabel = tierArg ? `tier ${tierArg}` : "all tiers";
73
+ console.log(`Full reprocess of ${tierLabel} \u2014 clean slate, all substrate`);
74
+ } else {
75
+ console.log("Running incremental digest cycle");
76
+ }
77
+ try {
78
+ const result = await engine.runCycle(opts);
79
+ if (!result) {
80
+ console.log("No substrate found \u2014 nothing to digest.");
81
+ return;
82
+ }
83
+ console.log(`
84
+ Digest cycle complete:`);
85
+ console.log(` Tiers generated: [${result.tiersGenerated.join(", ")}]`);
86
+ console.log(` Substrate: ${Object.values(result.substrate).flat().length} notes`);
87
+ console.log(` Duration: ${(result.durationMs / 1e3).toFixed(1)}s`);
88
+ console.log(` Model: ${result.model}`);
89
+ } finally {
90
+ index.close();
91
+ }
92
+ }
93
+ export {
94
+ run
95
+ };
96
+ //# sourceMappingURL=digest-WTS6S4XP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/digest.ts"],"sourcesContent":["/**\n * myco digest — run a digest cycle from the CLI.\n *\n * Usage:\n * myco digest Incremental cycle (only new substrate)\n * myco digest --full Full reprocess of all tiers from clean slate\n * myco digest --tier 3000 Reprocess a specific tier from clean slate\n *\n * When --tier or --full is used, the cycle processes ALL vault notes (not just\n * new ones) and ignores previous extracts, producing a clean synthesis.\n */\nimport { loadConfig } from '../config/loader.js';\nimport { MycoIndex } from '../index/sqlite.js';\nimport { createLlmProvider } from '../intelligence/llm.js';\nimport { DigestEngine } from '../daemon/digest.js';\nimport type { DigestCycleOptions } from '../daemon/digest.js';\nimport { parseIntFlag } from './shared.js';\nimport path from 'node:path';\n\nexport async function run(args: string[], vaultDir: string): Promise<void> {\n const config = loadConfig(vaultDir);\n\n if (!config.digest.enabled) {\n console.error('Digest is not enabled. Set digest.enabled: true in myco.yaml.');\n process.exit(1);\n }\n\n const tierArg = parseIntFlag(args, '--tier');\n const isFull = args.includes('--full');\n const isReprocess = isFull || tierArg !== undefined;\n\n // Resolve the digest LLM provider\n const digestLlmConfig = {\n provider: config.digest.intelligence.provider ?? config.intelligence.llm.provider,\n model: config.digest.intelligence.model ?? config.intelligence.llm.model,\n base_url: config.digest.intelligence.base_url ?? config.intelligence.llm.base_url,\n context_window: config.digest.intelligence.context_window,\n };\n const llmProvider = createLlmProvider(digestLlmConfig);\n\n const index = new MycoIndex(path.join(vaultDir, 'index.db'));\n\n const engine = new DigestEngine({\n vaultDir,\n index,\n llmProvider,\n config,\n log: (level, message, data) => {\n const prefix = level === 'warn' ? '⚠' : level === 'info' ? '→' : ' ';\n const suffix = data ? ` ${JSON.stringify(data)}` : '';\n console.log(`${prefix} ${message}${suffix}`);\n },\n });\n\n const opts: DigestCycleOptions = {};\n if (isReprocess) {\n opts.fullReprocess = true;\n opts.cleanSlate = true;\n }\n if (tierArg !== undefined) {\n const eligible = engine.getEligibleTiers();\n if (!eligible.includes(tierArg)) {\n console.error(`Tier ${tierArg} is not eligible. Eligible tiers: [${eligible.join(', ')}]`);\n index.close();\n process.exit(1);\n }\n opts.tiers = [tierArg];\n }\n\n if (isReprocess) {\n const tierLabel = tierArg ? `tier ${tierArg}` : 'all tiers';\n console.log(`Full reprocess of ${tierLabel} — clean slate, all substrate`);\n } else {\n console.log('Running incremental digest cycle');\n }\n\n try {\n const result = await engine.runCycle(opts);\n\n if (!result) {\n console.log('No substrate found — nothing to digest.');\n return;\n }\n\n console.log(`\\nDigest cycle complete:`);\n console.log(` Tiers generated: [${result.tiersGenerated.join(', ')}]`);\n console.log(` Substrate: ${Object.values(result.substrate).flat().length} notes`);\n console.log(` Duration: ${(result.durationMs / 1000).toFixed(1)}s`);\n console.log(` Model: ${result.model}`);\n } finally {\n index.close();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,OAAO,UAAU;AAEjB,eAAsB,IAAI,MAAgB,UAAiC;AACzE,QAAM,SAAS,WAAW,QAAQ;AAElC,MAAI,CAAC,OAAO,OAAO,SAAS;AAC1B,YAAQ,MAAM,+DAA+D;AAC7E,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,UAAU,aAAa,MAAM,QAAQ;AAC3C,QAAM,SAAS,KAAK,SAAS,QAAQ;AACrC,QAAM,cAAc,UAAU,YAAY;AAG1C,QAAM,kBAAkB;AAAA,IACtB,UAAU,OAAO,OAAO,aAAa,YAAY,OAAO,aAAa,IAAI;AAAA,IACzE,OAAO,OAAO,OAAO,aAAa,SAAS,OAAO,aAAa,IAAI;AAAA,IACnE,UAAU,OAAO,OAAO,aAAa,YAAY,OAAO,aAAa,IAAI;AAAA,IACzE,gBAAgB,OAAO,OAAO,aAAa;AAAA,EAC7C;AACA,QAAM,cAAc,kBAAkB,eAAe;AAErD,QAAM,QAAQ,IAAI,UAAU,KAAK,KAAK,UAAU,UAAU,CAAC;AAE3D,QAAM,SAAS,IAAI,aAAa;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,CAAC,OAAO,SAAS,SAAS;AAC7B,YAAM,SAAS,UAAU,SAAS,WAAM,UAAU,SAAS,WAAM;AACjE,YAAM,SAAS,OAAO,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK;AACnD,cAAQ,IAAI,GAAG,MAAM,IAAI,OAAO,GAAG,MAAM,EAAE;AAAA,IAC7C;AAAA,EACF,CAAC;AAED,QAAM,OAA2B,CAAC;AAClC,MAAI,aAAa;AACf,SAAK,gBAAgB;AACrB,SAAK,aAAa;AAAA,EACpB;AACA,MAAI,YAAY,QAAW;AACzB,UAAM,WAAW,OAAO,iBAAiB;AACzC,QAAI,CAAC,SAAS,SAAS,OAAO,GAAG;AAC/B,cAAQ,MAAM,QAAQ,OAAO,sCAAsC,SAAS,KAAK,IAAI,CAAC,GAAG;AACzF,YAAM,MAAM;AACZ,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,SAAK,QAAQ,CAAC,OAAO;AAAA,EACvB;AAEA,MAAI,aAAa;AACf,UAAM,YAAY,UAAU,QAAQ,OAAO,KAAK;AAChD,YAAQ,IAAI,qBAAqB,SAAS,oCAA+B;AAAA,EAC3E,OAAO;AACL,YAAQ,IAAI,kCAAkC;AAAA,EAChD;AAEA,MAAI;AACF,UAAM,SAAS,MAAM,OAAO,SAAS,IAAI;AAEzC,QAAI,CAAC,QAAQ;AACX,cAAQ,IAAI,8CAAyC;AACrD;AAAA,IACF;AAEA,YAAQ,IAAI;AAAA,uBAA0B;AACtC,YAAQ,IAAI,uBAAuB,OAAO,eAAe,KAAK,IAAI,CAAC,GAAG;AACtE,YAAQ,IAAI,gBAAgB,OAAO,OAAO,OAAO,SAAS,EAAE,KAAK,EAAE,MAAM,QAAQ;AACjF,YAAQ,IAAI,gBAAgB,OAAO,aAAa,KAAM,QAAQ,CAAC,CAAC,GAAG;AACnE,YAAQ,IAAI,YAAY,OAAO,KAAK,EAAE;AAAA,EACxC,UAAE;AACA,UAAM,MAAM;AAAA,EACd;AACF;","names":[]}
@@ -15,11 +15,11 @@ import {
15
15
  DASHBOARD_CONTENT,
16
16
  VAULT_GITIGNORE,
17
17
  configureVaultEnv
18
- } from "./chunk-GFBG73P4.js";
18
+ } from "./chunk-5FIIK27E.js";
19
19
  import {
20
20
  parseStringFlag
21
21
  } from "./chunk-SAKJMNSR.js";
22
- import "./chunk-67R6EMYD.js";
22
+ import "./chunk-OPO47BVS.js";
23
23
  import {
24
24
  MycoConfigSchema,
25
25
  require_dist
@@ -27,8 +27,8 @@ import {
27
27
  import {
28
28
  resolveVaultDir
29
29
  } from "./chunk-N33KUCFP.js";
30
- import "./chunk-BNIYWCST.js";
31
- import "./chunk-JBD5KP5G.js";
30
+ import "./chunk-EQVQEFOA.js";
31
+ import "./chunk-TDLQBGKA.js";
32
32
  import {
33
33
  __toESM
34
34
  } from "./chunk-PZUWP5VK.js";
@@ -108,4 +108,4 @@ async function run3(args) {
108
108
  export {
109
109
  run3 as run
110
110
  };
111
- //# sourceMappingURL=init-NUF5UBUJ.js.map
111
+ //# sourceMappingURL=init-VPLUEULI.js.map