@goondocks/myco 0.2.13 → 0.3.0

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 (93) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/commands/init.md +33 -22
  4. package/dist/{chunk-BXFS4PCJ.js → chunk-2QEJKG7R.js} +2 -2
  5. package/dist/{chunk-MAFUTKOZ.js → chunk-2TKJPRZL.js} +2 -2
  6. package/dist/chunk-5EZ7QF6J.js +96 -0
  7. package/dist/chunk-5EZ7QF6J.js.map +1 -0
  8. package/dist/chunk-6FQISQNA.js +61 -0
  9. package/dist/chunk-6FQISQNA.js.map +1 -0
  10. package/dist/{chunk-S4WBXXO6.js → chunk-BMJX2IDQ.js} +2 -2
  11. package/dist/chunk-EF4JVH24.js +7299 -0
  12. package/dist/chunk-EF4JVH24.js.map +1 -0
  13. package/dist/{chunk-YXZEP5U6.js → chunk-ISCT2SI6.js} +11 -7301
  14. package/dist/chunk-ISCT2SI6.js.map +1 -0
  15. package/dist/{chunk-6C26YFOA.js → chunk-N6IAW33G.js} +248 -4306
  16. package/dist/chunk-N6IAW33G.js.map +1 -0
  17. package/dist/{chunk-C2YPBQQM.js → chunk-NTYYYC32.js} +3 -3
  18. package/dist/{chunk-NKJIZSPD.js → chunk-P2Q77C5F.js} +3 -3
  19. package/dist/chunk-PAUPHPOC.js +111 -0
  20. package/dist/chunk-PAUPHPOC.js.map +1 -0
  21. package/dist/chunk-PZUWP5VK.js +44 -0
  22. package/dist/{chunk-O5VSPHDL.js → chunk-Q7BEFSOV.js} +3 -40
  23. package/dist/{chunk-O5VSPHDL.js.map → chunk-Q7BEFSOV.js.map} +1 -1
  24. package/dist/chunk-QQWUV3TC.js +3691 -0
  25. package/dist/chunk-QQWUV3TC.js.map +1 -0
  26. package/dist/chunk-RGVBGTD6.js +21 -0
  27. package/dist/chunk-RGVBGTD6.js.map +1 -0
  28. package/dist/chunk-SAKJMNSR.js +50 -0
  29. package/dist/chunk-SAKJMNSR.js.map +1 -0
  30. package/dist/chunk-TJJRIVZ7.js +56 -0
  31. package/dist/chunk-TJJRIVZ7.js.map +1 -0
  32. package/dist/chunk-XQXXF6MU.js +96 -0
  33. package/dist/chunk-XQXXF6MU.js.map +1 -0
  34. package/dist/chunk-XW3OL55U.js +160 -0
  35. package/dist/chunk-XW3OL55U.js.map +1 -0
  36. package/dist/cli-ZHUR53CS.js +76 -0
  37. package/dist/cli-ZHUR53CS.js.map +1 -0
  38. package/dist/client-HORA3CC4.js +11 -0
  39. package/dist/client-HORA3CC4.js.map +1 -0
  40. package/dist/config-MD4XMLUS.js +101 -0
  41. package/dist/config-MD4XMLUS.js.map +1 -0
  42. package/dist/detect-providers-6RQCQZOI.js +35 -0
  43. package/dist/detect-providers-6RQCQZOI.js.map +1 -0
  44. package/dist/init-LLLHUNSY.js +120 -0
  45. package/dist/init-LLLHUNSY.js.map +1 -0
  46. package/dist/logs-BSTBZHDR.js +84 -0
  47. package/dist/logs-BSTBZHDR.js.map +1 -0
  48. package/dist/{main-ORWCEWNJ.js → main-JY6O6ZVH.js} +60 -15
  49. package/dist/{main-ORWCEWNJ.js.map → main-JY6O6ZVH.js.map} +1 -1
  50. package/dist/rebuild-YAN3TPFB.js +78 -0
  51. package/dist/rebuild-YAN3TPFB.js.map +1 -0
  52. package/dist/restart-NH5MX45I.js +50 -0
  53. package/dist/restart-NH5MX45I.js.map +1 -0
  54. package/dist/search-W3ECVSTH.js +120 -0
  55. package/dist/search-W3ECVSTH.js.map +1 -0
  56. package/dist/{server-J3AQ3YFA.js → server-DLBATUNG.js} +29 -16
  57. package/dist/{server-J3AQ3YFA.js.map → server-DLBATUNG.js.map} +1 -1
  58. package/dist/session-5GI2YU6R.js +44 -0
  59. package/dist/session-5GI2YU6R.js.map +1 -0
  60. package/dist/{session-start-BEC4JMNZ.js → session-start-DECLNJDI.js} +8 -6
  61. package/dist/{session-start-BEC4JMNZ.js.map → session-start-DECLNJDI.js.map} +1 -1
  62. package/dist/src/cli.js +8 -1
  63. package/dist/src/cli.js.map +1 -1
  64. package/dist/src/daemon/main.js +8 -1
  65. package/dist/src/daemon/main.js.map +1 -1
  66. package/dist/src/hooks/post-tool-use.js +5 -4
  67. package/dist/src/hooks/post-tool-use.js.map +1 -1
  68. package/dist/src/hooks/session-end.js +5 -4
  69. package/dist/src/hooks/session-end.js.map +1 -1
  70. package/dist/src/hooks/session-start.js +8 -1
  71. package/dist/src/hooks/session-start.js.map +1 -1
  72. package/dist/src/hooks/stop.js +7 -5
  73. package/dist/src/hooks/stop.js.map +1 -1
  74. package/dist/src/hooks/user-prompt-submit.js +5 -4
  75. package/dist/src/hooks/user-prompt-submit.js.map +1 -1
  76. package/dist/src/mcp/server.js +8 -1
  77. package/dist/src/mcp/server.js.map +1 -1
  78. package/dist/stats-7VEZN2WF.js +77 -0
  79. package/dist/stats-7VEZN2WF.js.map +1 -0
  80. package/dist/verify-HN5DWV2H.js +50 -0
  81. package/dist/verify-HN5DWV2H.js.map +1 -0
  82. package/package.json +1 -1
  83. package/dist/chunk-6C26YFOA.js.map +0 -1
  84. package/dist/chunk-YXZEP5U6.js.map +0 -1
  85. package/dist/cli-KMWJFK5Y.js +0 -623
  86. package/dist/cli-KMWJFK5Y.js.map +0 -1
  87. package/dist/client-TEUHXGOY.js +0 -10
  88. /package/dist/{chunk-BXFS4PCJ.js.map → chunk-2QEJKG7R.js.map} +0 -0
  89. /package/dist/{chunk-MAFUTKOZ.js.map → chunk-2TKJPRZL.js.map} +0 -0
  90. /package/dist/{chunk-S4WBXXO6.js.map → chunk-BMJX2IDQ.js.map} +0 -0
  91. /package/dist/{chunk-C2YPBQQM.js.map → chunk-NTYYYC32.js.map} +0 -0
  92. /package/dist/{chunk-NKJIZSPD.js.map → chunk-P2Q77C5F.js.map} +0 -0
  93. /package/dist/{client-TEUHXGOY.js.map → chunk-PZUWP5VK.js.map} +0 -0
@@ -1,12 +1,12 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  AgentRegistry
4
- } from "./chunk-BXFS4PCJ.js";
4
+ } from "./chunk-2QEJKG7R.js";
5
5
  import {
6
6
  DAEMON_CLIENT_TIMEOUT_MS,
7
7
  DAEMON_HEALTH_CHECK_TIMEOUT_MS,
8
8
  DAEMON_HEALTH_RETRY_DELAYS
9
- } from "./chunk-O5VSPHDL.js";
9
+ } from "./chunk-Q7BEFSOV.js";
10
10
 
11
11
  // src/hooks/client.ts
12
12
  import fs from "fs";
@@ -101,4 +101,4 @@ var DaemonClient = class {
101
101
  export {
102
102
  DaemonClient
103
103
  };
104
- //# sourceMappingURL=chunk-C2YPBQQM.js.map
104
+ //# sourceMappingURL=chunk-NTYYYC32.js.map
@@ -1,10 +1,10 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  require_dist
4
- } from "./chunk-YXZEP5U6.js";
4
+ } from "./chunk-EF4JVH24.js";
5
5
  import {
6
6
  __toESM
7
- } from "./chunk-O5VSPHDL.js";
7
+ } from "./chunk-PZUWP5VK.js";
8
8
 
9
9
  // src/vault/session-id.ts
10
10
  var SESSION_PREFIX = "session-";
@@ -418,4 +418,4 @@ export {
418
418
  formatMemoryBody,
419
419
  VaultWriter
420
420
  };
421
- //# sourceMappingURL=chunk-NKJIZSPD.js.map
421
+ //# sourceMappingURL=chunk-P2Q77C5F.js.map
@@ -0,0 +1,111 @@
1
+ import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
+ import {
3
+ LmStudioBackend,
4
+ OllamaBackend
5
+ } from "./chunk-XW3OL55U.js";
6
+ import {
7
+ AgentRegistry
8
+ } from "./chunk-2QEJKG7R.js";
9
+
10
+ // src/cli/shared.ts
11
+ import fs from "fs";
12
+ import path from "path";
13
+ function loadEnv() {
14
+ const envPath = path.resolve(process.cwd(), ".env");
15
+ if (!fs.existsSync(envPath)) return;
16
+ for (const line of fs.readFileSync(envPath, "utf-8").split("\n")) {
17
+ const match = line.match(/^\s*([^#=]+?)\s*=\s*(.*?)\s*$/);
18
+ if (match && !process.env[match[1]]) {
19
+ process.env[match[1]] = match[2];
20
+ }
21
+ }
22
+ }
23
+ function isProcessAlive(pid) {
24
+ try {
25
+ process.kill(pid, 0);
26
+ return true;
27
+ } catch {
28
+ return false;
29
+ }
30
+ }
31
+ var PROVIDER_DEFAULTS = {
32
+ ollama: { base_url: OllamaBackend.DEFAULT_BASE_URL },
33
+ "lm-studio": { base_url: LmStudioBackend.DEFAULT_BASE_URL }
34
+ };
35
+ var DASHBOARD_CONTENT = `# Myco Vault
36
+
37
+ ## Active Plans
38
+ \`\`\`dataview
39
+ TABLE status, tags FROM #type/plan
40
+ WHERE status = "active" OR status = "in_progress"
41
+ SORT created DESC
42
+ \`\`\`
43
+
44
+ ## Recent Sessions
45
+ \`\`\`dataview
46
+ TABLE user, started, tools_used FROM #type/session
47
+ SORT started DESC LIMIT 10
48
+ \`\`\`
49
+
50
+ ## Recent Memories
51
+ \`\`\`dataview
52
+ TABLE observation_type AS "Type", created FROM #type/memory
53
+ SORT created DESC LIMIT 15
54
+ \`\`\`
55
+
56
+ ## Memories by Type
57
+ \`\`\`dataview
58
+ TABLE WITHOUT ID observation_type AS "Type", length(rows) AS "Count"
59
+ FROM #type/memory GROUP BY observation_type
60
+ SORT length(rows) DESC
61
+ \`\`\`
62
+
63
+ ## Gotchas
64
+ \`\`\`dataview
65
+ LIST FROM #memory/gotcha SORT created DESC LIMIT 10
66
+ \`\`\`
67
+ `;
68
+ var VAULT_GITIGNORE = `# Runtime \u2014 rebuilt on daemon startup
69
+ index.db
70
+ index.db-wal
71
+ index.db-shm
72
+ vectors.db
73
+
74
+ # Daemon state \u2014 per-machine, ephemeral
75
+ daemon.json
76
+ buffer/
77
+ logs/
78
+
79
+ # Obsidian \u2014 per-user workspace config
80
+ .obsidian/
81
+ `;
82
+ function configureVaultEnv(projectRoot, vaultDir) {
83
+ const registry = new AgentRegistry();
84
+ const active = registry.detectActiveAgent();
85
+ if (active) {
86
+ if (active.configureVaultEnv(projectRoot, vaultDir)) {
87
+ console.log(`Set MYCO_VAULT_DIR for ${active.displayName}`);
88
+ }
89
+ } else {
90
+ for (const name of registry.adapterNames) {
91
+ const adapter = registry.getAdapter(name);
92
+ if (adapter?.configureVaultEnv(projectRoot, vaultDir)) {
93
+ console.log(`Set MYCO_VAULT_DIR for ${adapter.displayName}`);
94
+ }
95
+ }
96
+ }
97
+ console.log(`
98
+ For other agents, add to your shell profile:`);
99
+ console.log(` export MYCO_VAULT_DIR="${vaultDir}"
100
+ `);
101
+ }
102
+
103
+ export {
104
+ loadEnv,
105
+ isProcessAlive,
106
+ PROVIDER_DEFAULTS,
107
+ DASHBOARD_CONTENT,
108
+ VAULT_GITIGNORE,
109
+ configureVaultEnv
110
+ };
111
+ //# sourceMappingURL=chunk-PAUPHPOC.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 { 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 Memories\n\\`\\`\\`dataview\nTABLE observation_type AS \"Type\", created FROM #type/memory\nSORT created DESC LIMIT 15\n\\`\\`\\`\n\n## Memories by Type\n\\`\\`\\`dataview\nTABLE WITHOUT ID observation_type AS \"Type\", length(rows) AS \"Count\"\nFROM #type/memory GROUP BY observation_type\nSORT length(rows) DESC\n\\`\\`\\`\n\n## Gotchas\n\\`\\`\\`dataview\nLIST FROM #memory/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/** 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\n if (active) {\n if (active.configureVaultEnv(projectRoot, vaultDir)) {\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, vaultDir)) {\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=\"${vaultDir}\"\\n`);\n}\n"],"mappings":";;;;;;;;;;AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AAQV,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,kBAAkB,aAAqB,UAAwB;AAC7E,QAAM,WAAW,IAAI,cAAc;AACnC,QAAM,SAAS,SAAS,kBAAkB;AAE1C,MAAI,QAAQ;AACV,QAAI,OAAO,kBAAkB,aAAa,QAAQ,GAAG;AACnD,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,QAAQ,GAAG;AACrD,gBAAQ,IAAI,0BAA0B,QAAQ,WAAW,EAAE;AAAA,MAC7D;AAAA,IACF;AAAA,EACF;AAEA,UAAQ,IAAI;AAAA,6CAAgD;AAC5D,UAAQ,IAAI,4BAA4B,QAAQ;AAAA,CAAK;AACvD;","names":[]}
@@ -0,0 +1,44 @@
1
+ import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
9
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
10
+ }) : x)(function(x) {
11
+ if (typeof require !== "undefined") return require.apply(this, arguments);
12
+ throw Error('Dynamic require of "' + x + '" is not supported');
13
+ });
14
+ var __commonJS = (cb, mod) => function __require2() {
15
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
16
+ };
17
+ var __export = (target, all) => {
18
+ for (var name in all)
19
+ __defProp(target, name, { get: all[name], enumerable: true });
20
+ };
21
+ var __copyProps = (to, from, except, desc) => {
22
+ if (from && typeof from === "object" || typeof from === "function") {
23
+ for (let key of __getOwnPropNames(from))
24
+ if (!__hasOwnProp.call(to, key) && key !== except)
25
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
26
+ }
27
+ return to;
28
+ };
29
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
30
+ // If the importer is in node compatibility mode or this is not an ESM
31
+ // file that has been converted to a CommonJS file using a Babel-
32
+ // compatible transform (i.e. "__esModule" has not been set), then set
33
+ // "default" to the CommonJS "module.exports" for node compatibility.
34
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
35
+ mod
36
+ ));
37
+
38
+ export {
39
+ __require,
40
+ __commonJS,
41
+ __export,
42
+ __toESM
43
+ };
44
+ //# sourceMappingURL=chunk-PZUWP5VK.js.map
@@ -1,39 +1,4 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
9
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
10
- }) : x)(function(x) {
11
- if (typeof require !== "undefined") return require.apply(this, arguments);
12
- throw Error('Dynamic require of "' + x + '" is not supported');
13
- });
14
- var __commonJS = (cb, mod) => function __require2() {
15
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
16
- };
17
- var __export = (target, all) => {
18
- for (var name in all)
19
- __defProp(target, name, { get: all[name], enumerable: true });
20
- };
21
- var __copyProps = (to, from, except, desc) => {
22
- if (from && typeof from === "object" || typeof from === "function") {
23
- for (let key of __getOwnPropNames(from))
24
- if (!__hasOwnProp.call(to, key) && key !== except)
25
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
26
- }
27
- return to;
28
- };
29
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
30
- // If the importer is in node compatibility mode or this is not an ESM
31
- // file that has been converted to a CommonJS file using a Babel-
32
- // compatible transform (i.e. "__esModule" has not been set), then set
33
- // "default" to the CommonJS "module.exports" for node compatibility.
34
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
35
- mod
36
- ));
37
2
 
38
3
  // src/constants.ts
39
4
  var CHARS_PER_TOKEN = 4;
@@ -58,6 +23,7 @@ var LLM_REQUEST_TIMEOUT_MS = 3e4;
58
23
  var EMBEDDING_REQUEST_TIMEOUT_MS = 1e4;
59
24
  var STDIN_TIMEOUT_MS = 100;
60
25
  var FILE_WATCH_STABILITY_MS = 1e3;
26
+ var PROVIDER_DETECT_TIMEOUT_MS = 3e3;
61
27
  var STALE_BUFFER_MAX_AGE_MS = 24 * 60 * 60 * 1e3;
62
28
  var DAEMON_HEALTH_RETRY_DELAYS = [100, 200, 400, 800, 1500];
63
29
  var MAX_SLUG_LENGTH = 100;
@@ -70,10 +36,6 @@ var PROMPT_CONTEXT_MIN_SIMILARITY = 0.3;
70
36
  var PROMPT_CONTEXT_MIN_LENGTH = 10;
71
37
 
72
38
  export {
73
- __require,
74
- __commonJS,
75
- __export,
76
- __toESM,
77
39
  CHARS_PER_TOKEN,
78
40
  EMBEDDING_INPUT_LIMIT,
79
41
  PROMPT_PREVIEW_CHARS,
@@ -96,6 +58,7 @@ export {
96
58
  EMBEDDING_REQUEST_TIMEOUT_MS,
97
59
  STDIN_TIMEOUT_MS,
98
60
  FILE_WATCH_STABILITY_MS,
61
+ PROVIDER_DETECT_TIMEOUT_MS,
99
62
  STALE_BUFFER_MAX_AGE_MS,
100
63
  DAEMON_HEALTH_RETRY_DELAYS,
101
64
  MAX_SLUG_LENGTH,
@@ -107,4 +70,4 @@ export {
107
70
  PROMPT_CONTEXT_MIN_SIMILARITY,
108
71
  PROMPT_CONTEXT_MIN_LENGTH
109
72
  };
110
- //# sourceMappingURL=chunk-O5VSPHDL.js.map
73
+ //# sourceMappingURL=chunk-Q7BEFSOV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants.ts"],"sourcesContent":["/**\n * Shared constants for the Myco codebase.\n * Per CLAUDE.md: \"No Magic Literals — Numeric and string constants\n * MUST NOT appear inline in logic.\"\n */\n\n// --- Token estimation ---\n/** Approximate characters per token for the chars/4 heuristic. */\nexport const CHARS_PER_TOKEN = 4;\n\n// --- Embedding ---\n/** Max characters of text sent to the embedding model. */\nexport const EMBEDDING_INPUT_LIMIT = 8000;\n\n// --- Truncation limits (display/preview) ---\n/** Max chars for a user prompt preview in event summaries. */\nexport const PROMPT_PREVIEW_CHARS = 300;\n/** Max chars for an AI response preview in event summaries. */\nexport const AI_RESPONSE_PREVIEW_CHARS = 500;\n/** Max chars for a command string preview. */\nexport const COMMAND_PREVIEW_CHARS = 80;\n/** Max chars for a content snippet in search results. */\nexport const CONTENT_SNIPPET_CHARS = 120;\n/** Max chars for a tool output preview in hooks. */\nexport const TOOL_OUTPUT_PREVIEW_CHARS = 200;\n/** Max chars for a session summary preview in MCP tools. */\nexport const SESSION_SUMMARY_PREVIEW_CHARS = 300;\n/** Max chars for a recall summary preview. */\nexport const RECALL_SUMMARY_PREVIEW_CHARS = 200;\n\n// --- Context injection layer budgets (chars, not tokens — used with .slice()) ---\nexport const CONTEXT_PLAN_PREVIEW_CHARS = 100;\nexport const CONTEXT_SESSION_PREVIEW_CHARS = 80;\nexport const CONTEXT_MEMORY_PREVIEW_CHARS = 80;\n\n// --- Processor maxTokens budgets ---\n/** Response token budget for observation extraction. */\nexport const EXTRACTION_MAX_TOKENS = 2048;\n/** Response token budget for session summary. */\nexport const SUMMARY_MAX_TOKENS = 512;\n/** Response token budget for session title generation. */\nexport const TITLE_MAX_TOKENS = 32;\n/** Response token budget for artifact classification. */\nexport const CLASSIFICATION_MAX_TOKENS = 1024;\n\n// --- Timeouts ---\n/** Daemon client HTTP request timeout (ms). */\nexport const DAEMON_CLIENT_TIMEOUT_MS = 2000;\n/** Health check timeout (ms) — fail fast if daemon isn't responding. */\nexport const DAEMON_HEALTH_CHECK_TIMEOUT_MS = 500;\n/** LLM request timeout (ms) — prevents hung requests from blocking stop processing. */\nexport const LLM_REQUEST_TIMEOUT_MS = 30_000;\n/** Embedding request timeout (ms). */\nexport const EMBEDDING_REQUEST_TIMEOUT_MS = 10_000;\n/** Stdin read timeout for hooks (ms). */\nexport const STDIN_TIMEOUT_MS = 100;\n/** Chokidar write stability threshold (ms). */\nexport const FILE_WATCH_STABILITY_MS = 1000;\n\n// --- Buffer cleanup ---\n/** Max age for stale buffer files before cleanup (ms). */\nexport const STALE_BUFFER_MAX_AGE_MS = 24 * 60 * 60 * 1000;\n\n// --- Retry backoff ---\n/** Retry delays for daemon health check (ms). */\nexport const DAEMON_HEALTH_RETRY_DELAYS = [100, 200, 400, 800, 1500];\n\n// --- Slug limits ---\n/** Max length for slugified artifact IDs. */\nexport const MAX_SLUG_LENGTH = 100;\n\n// --- Content preview for classification prompt ---\n/** Max chars of file content per candidate in classification prompt. */\nexport const CANDIDATE_CONTENT_PREVIEW = 2000;\n\n// --- Transcript mining ---\n/** Minimum content length to consider a transcript entry meaningful. */\nexport const MIN_TRANSCRIPT_CONTENT_LENGTH = 10;\n\n// --- Query limits ---\n/** Max recent sessions to check for lineage heuristics. */\nexport const LINEAGE_RECENT_SESSIONS_LIMIT = 5;\n/** Max related memories to query for session notes. */\nexport const RELATED_MEMORIES_LIMIT = 50;\n\n// --- Context injection ---\n/** Max active plans to inject at session start. */\nexport const SESSION_CONTEXT_MAX_PLANS = 3;\n/** Max memories to inject per prompt. */\nexport const PROMPT_CONTEXT_MAX_MEMORIES = 3;\n/** Minimum similarity score for prompt context injection (0-1). */\nexport const PROMPT_CONTEXT_MIN_SIMILARITY = 0.3;\n/** Max token budget for session-start context injection. */\nexport const SESSION_CONTEXT_MAX_TOKENS = 500;\n/** Max token budget for per-prompt context injection. */\nexport const PROMPT_CONTEXT_MAX_TOKENS = 300;\n/** Minimum prompt length to trigger context search. */\nexport const PROMPT_CONTEXT_MIN_LENGTH = 10;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,IAAM,kBAAkB;AAIxB,IAAM,wBAAwB;AAI9B,IAAM,uBAAuB;AAE7B,IAAM,4BAA4B;AAElC,IAAM,wBAAwB;AAE9B,IAAM,wBAAwB;AAE9B,IAAM,4BAA4B;AAElC,IAAM,gCAAgC;AAEtC,IAAM,+BAA+B;AAGrC,IAAM,6BAA6B;AACnC,IAAM,gCAAgC;AACtC,IAAM,+BAA+B;AAIrC,IAAM,wBAAwB;AAE9B,IAAM,qBAAqB;AAE3B,IAAM,mBAAmB;AAEzB,IAAM,4BAA4B;AAIlC,IAAM,2BAA2B;AAEjC,IAAM,iCAAiC;AAEvC,IAAM,yBAAyB;AAE/B,IAAM,+BAA+B;AAErC,IAAM,mBAAmB;AAEzB,IAAM,0BAA0B;AAIhC,IAAM,0BAA0B,KAAK,KAAK,KAAK;AAI/C,IAAM,6BAA6B,CAAC,KAAK,KAAK,KAAK,KAAK,IAAI;AAI5D,IAAM,kBAAkB;AAIxB,IAAM,4BAA4B;AAQlC,IAAM,gCAAgC;AAEtC,IAAM,yBAAyB;AAI/B,IAAM,4BAA4B;AAElC,IAAM,8BAA8B;AAEpC,IAAM,gCAAgC;AAMtC,IAAM,4BAA4B;","names":[]}
1
+ {"version":3,"sources":["../src/constants.ts"],"sourcesContent":["/**\n * Shared constants for the Myco codebase.\n * Per CLAUDE.md: \"No Magic Literals — Numeric and string constants\n * MUST NOT appear inline in logic.\"\n */\n\n// --- Token estimation ---\n/** Approximate characters per token for the chars/4 heuristic. */\nexport const CHARS_PER_TOKEN = 4;\n\n// --- Embedding ---\n/** Max characters of text sent to the embedding model. */\nexport const EMBEDDING_INPUT_LIMIT = 8000;\n\n// --- Truncation limits (display/preview) ---\n/** Max chars for a user prompt preview in event summaries. */\nexport const PROMPT_PREVIEW_CHARS = 300;\n/** Max chars for an AI response preview in event summaries. */\nexport const AI_RESPONSE_PREVIEW_CHARS = 500;\n/** Max chars for a command string preview. */\nexport const COMMAND_PREVIEW_CHARS = 80;\n/** Max chars for a content snippet in search results. */\nexport const CONTENT_SNIPPET_CHARS = 120;\n/** Max chars for a tool output preview in hooks. */\nexport const TOOL_OUTPUT_PREVIEW_CHARS = 200;\n/** Max chars for a session summary preview in MCP tools. */\nexport const SESSION_SUMMARY_PREVIEW_CHARS = 300;\n/** Max chars for a recall summary preview. */\nexport const RECALL_SUMMARY_PREVIEW_CHARS = 200;\n\n// --- Context injection layer budgets (chars, not tokens — used with .slice()) ---\nexport const CONTEXT_PLAN_PREVIEW_CHARS = 100;\nexport const CONTEXT_SESSION_PREVIEW_CHARS = 80;\nexport const CONTEXT_MEMORY_PREVIEW_CHARS = 80;\n\n// --- Processor maxTokens budgets ---\n/** Response token budget for observation extraction. */\nexport const EXTRACTION_MAX_TOKENS = 2048;\n/** Response token budget for session summary. */\nexport const SUMMARY_MAX_TOKENS = 512;\n/** Response token budget for session title generation. */\nexport const TITLE_MAX_TOKENS = 32;\n/** Response token budget for artifact classification. */\nexport const CLASSIFICATION_MAX_TOKENS = 1024;\n\n// --- Timeouts ---\n/** Daemon client HTTP request timeout (ms). */\nexport const DAEMON_CLIENT_TIMEOUT_MS = 2000;\n/** Health check timeout (ms) — fail fast if daemon isn't responding. */\nexport const DAEMON_HEALTH_CHECK_TIMEOUT_MS = 500;\n/** LLM request timeout (ms) — prevents hung requests from blocking stop processing. */\nexport const LLM_REQUEST_TIMEOUT_MS = 30_000;\n/** Embedding request timeout (ms). */\nexport const EMBEDDING_REQUEST_TIMEOUT_MS = 10_000;\n/** Stdin read timeout for hooks (ms). */\nexport const STDIN_TIMEOUT_MS = 100;\n/** Chokidar write stability threshold (ms). */\nexport const FILE_WATCH_STABILITY_MS = 1000;\n/** Provider detection timeout for detect-providers CLI command (ms). */\nexport const PROVIDER_DETECT_TIMEOUT_MS = 3000;\n\n// --- Buffer cleanup ---\n/** Max age for stale buffer files before cleanup (ms). */\nexport const STALE_BUFFER_MAX_AGE_MS = 24 * 60 * 60 * 1000;\n\n// --- Retry backoff ---\n/** Retry delays for daemon health check (ms). */\nexport const DAEMON_HEALTH_RETRY_DELAYS = [100, 200, 400, 800, 1500];\n\n// --- Slug limits ---\n/** Max length for slugified artifact IDs. */\nexport const MAX_SLUG_LENGTH = 100;\n\n// --- Content preview for classification prompt ---\n/** Max chars of file content per candidate in classification prompt. */\nexport const CANDIDATE_CONTENT_PREVIEW = 2000;\n\n// --- Transcript mining ---\n/** Minimum content length to consider a transcript entry meaningful. */\nexport const MIN_TRANSCRIPT_CONTENT_LENGTH = 10;\n\n// --- Query limits ---\n/** Max recent sessions to check for lineage heuristics. */\nexport const LINEAGE_RECENT_SESSIONS_LIMIT = 5;\n/** Max related memories to query for session notes. */\nexport const RELATED_MEMORIES_LIMIT = 50;\n\n// --- Context injection ---\n/** Max active plans to inject at session start. */\nexport const SESSION_CONTEXT_MAX_PLANS = 3;\n/** Max memories to inject per prompt. */\nexport const PROMPT_CONTEXT_MAX_MEMORIES = 3;\n/** Minimum similarity score for prompt context injection (0-1). */\nexport const PROMPT_CONTEXT_MIN_SIMILARITY = 0.3;\n/** Max token budget for session-start context injection. */\nexport const SESSION_CONTEXT_MAX_TOKENS = 500;\n/** Max token budget for per-prompt context injection. */\nexport const PROMPT_CONTEXT_MAX_TOKENS = 300;\n/** Minimum prompt length to trigger context search. */\nexport const PROMPT_CONTEXT_MIN_LENGTH = 10;\n"],"mappings":";;;AAQO,IAAM,kBAAkB;AAIxB,IAAM,wBAAwB;AAI9B,IAAM,uBAAuB;AAE7B,IAAM,4BAA4B;AAElC,IAAM,wBAAwB;AAE9B,IAAM,wBAAwB;AAE9B,IAAM,4BAA4B;AAElC,IAAM,gCAAgC;AAEtC,IAAM,+BAA+B;AAGrC,IAAM,6BAA6B;AACnC,IAAM,gCAAgC;AACtC,IAAM,+BAA+B;AAIrC,IAAM,wBAAwB;AAE9B,IAAM,qBAAqB;AAE3B,IAAM,mBAAmB;AAEzB,IAAM,4BAA4B;AAIlC,IAAM,2BAA2B;AAEjC,IAAM,iCAAiC;AAEvC,IAAM,yBAAyB;AAE/B,IAAM,+BAA+B;AAErC,IAAM,mBAAmB;AAEzB,IAAM,0BAA0B;AAEhC,IAAM,6BAA6B;AAInC,IAAM,0BAA0B,KAAK,KAAK,KAAK;AAI/C,IAAM,6BAA6B,CAAC,KAAK,KAAK,KAAK,KAAK,IAAI;AAI5D,IAAM,kBAAkB;AAIxB,IAAM,4BAA4B;AAQlC,IAAM,gCAAgC;AAEtC,IAAM,yBAAyB;AAI/B,IAAM,4BAA4B;AAElC,IAAM,8BAA8B;AAEpC,IAAM,gCAAgC;AAMtC,IAAM,4BAA4B;","names":[]}