@goondocks/myco 0.20.0 → 0.20.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 (94) hide show
  1. package/dist/{agent-run-4HUXVRHW.js → agent-run-PQXC246Y.js} +5 -5
  2. package/dist/{agent-tasks-JF45ELB6.js → agent-tasks-323BZEBX.js} +5 -5
  3. package/dist/{chunk-P3DN5EWW.js → chunk-22JALAXN.js} +4 -4
  4. package/dist/chunk-22JALAXN.js.map +1 -0
  5. package/dist/{chunk-UOQQENDW.js → chunk-3WWJOTYG.js} +2 -2
  6. package/dist/{chunk-POR75WM6.js → chunk-63ZGP4Q2.js} +2 -2
  7. package/dist/{chunk-ACQ2AIEM.js → chunk-AIYFHQRX.js} +2 -2
  8. package/dist/{chunk-L6XFAJIF.js → chunk-FGY7J6EZ.js} +4 -4
  9. package/dist/chunk-FGY7J6EZ.js.map +1 -0
  10. package/dist/{chunk-4LCIKVDM.js → chunk-LZP4IJB3.js} +3 -3
  11. package/dist/chunk-LZP4IJB3.js.map +1 -0
  12. package/dist/{chunk-YSNIAJ5D.js → chunk-UEWMSIL3.js} +3 -3
  13. package/dist/{cli-AHTINAHY.js → cli-UWBAOHLL.js} +34 -34
  14. package/dist/{client-LHENCAV3.js → client-SLDDMSKN.js} +3 -3
  15. package/dist/{doctor-XPCF5HV5.js → doctor-UUUOVDZS.js} +7 -7
  16. package/dist/doctor-UUUOVDZS.js.map +1 -0
  17. package/dist/{executor-ACDHGTRH.js → executor-J4IBXSBY.js} +7 -7
  18. package/dist/{init-V3KCC36O.js → init-UDH3ZBDD.js} +11 -15
  19. package/dist/init-UDH3ZBDD.js.map +1 -0
  20. package/dist/{installer-ZNK4JSQA.js → installer-I6KRGJOO.js} +2 -2
  21. package/dist/{main-5S4MDCIO.js → main-E7HU4QYR.js} +222 -108
  22. package/dist/main-E7HU4QYR.js.map +1 -0
  23. package/dist/{open-AB5ULZIB.js → open-4UGDPBKN.js} +5 -5
  24. package/dist/{post-compact-P2B7C7FE.js → post-compact-BFU3WZSV.js} +4 -4
  25. package/dist/{post-tool-use-LXL6NXDS.js → post-tool-use-RYHXLCTC.js} +3 -3
  26. package/dist/{post-tool-use-failure-WAYVVKGR.js → post-tool-use-failure-DCVHK2P3.js} +4 -4
  27. package/dist/{pre-compact-BCXUCF4V.js → pre-compact-EZZCJ6AG.js} +4 -4
  28. package/dist/{remove-KAPX5NT2.js → remove-GBBQG3SJ.js} +5 -5
  29. package/dist/{restart-HQO36FTG.js → restart-RMIGKMA6.js} +6 -6
  30. package/dist/{search-YOMOKAAI.js → search-2A5AJVNG.js} +5 -5
  31. package/dist/{server-2N23P6F2.js → server-TSYZMFFK.js} +3 -3
  32. package/dist/{session-WW2JLHPX.js → session-NKREOTEO.js} +5 -5
  33. package/dist/{session-end-4WRTIBVQ.js → session-end-DQELLTGJ.js} +3 -3
  34. package/dist/{session-start-HRWTZXQR.js → session-start-5SUTR5GP.js} +5 -5
  35. package/dist/{session-start-HRWTZXQR.js.map → session-start-5SUTR5GP.js.map} +1 -1
  36. package/dist/{setup-llm-HFWSBUAF.js → setup-llm-SLX5764H.js} +5 -5
  37. package/dist/src/cli.js +1 -1
  38. package/dist/src/daemon/main.js +1 -1
  39. package/dist/src/hooks/post-tool-use.js +1 -1
  40. package/dist/src/hooks/session-end.js +1 -1
  41. package/dist/src/hooks/session-start.js +1 -1
  42. package/dist/src/hooks/stop.js +1 -1
  43. package/dist/src/hooks/user-prompt-submit.js +1 -1
  44. package/dist/src/mcp/server.js +1 -1
  45. package/dist/{stats-7A4CJ4MS.js → stats-ARBLNEE3.js} +6 -6
  46. package/dist/{stop-R2GDHMRA.js → stop-5AJXBKEE.js} +3 -3
  47. package/dist/{stop-failure-773KR4VZ.js → stop-failure-XGKTZPLR.js} +4 -4
  48. package/dist/{subagent-start-IDECNBHW.js → subagent-start-2JLIPGJN.js} +4 -4
  49. package/dist/{subagent-stop-3JH7DR2S.js → subagent-stop-FV4EOKWZ.js} +4 -4
  50. package/dist/{task-completed-AYVHPHDR.js → task-completed-XJKT366I.js} +4 -4
  51. package/dist/{update-YWYW55JM.js → update-XVSAMN4O.js} +5 -5
  52. package/dist/{user-prompt-submit-YELSR6XI.js → user-prompt-submit-TTBTHBBH.js} +3 -3
  53. package/dist/{verify-JS44DVKJ.js → verify-LMHNEYIP.js} +3 -3
  54. package/dist/verify-LMHNEYIP.js.map +1 -0
  55. package/dist/{version-K5NETYIL.js → version-HRVSEMUR.js} +2 -2
  56. package/package.json +1 -1
  57. package/dist/chunk-4LCIKVDM.js.map +0 -1
  58. package/dist/chunk-L6XFAJIF.js.map +0 -1
  59. package/dist/chunk-P3DN5EWW.js.map +0 -1
  60. package/dist/doctor-XPCF5HV5.js.map +0 -1
  61. package/dist/init-V3KCC36O.js.map +0 -1
  62. package/dist/main-5S4MDCIO.js.map +0 -1
  63. package/dist/verify-JS44DVKJ.js.map +0 -1
  64. /package/dist/{agent-run-4HUXVRHW.js.map → agent-run-PQXC246Y.js.map} +0 -0
  65. /package/dist/{agent-tasks-JF45ELB6.js.map → agent-tasks-323BZEBX.js.map} +0 -0
  66. /package/dist/{chunk-UOQQENDW.js.map → chunk-3WWJOTYG.js.map} +0 -0
  67. /package/dist/{chunk-POR75WM6.js.map → chunk-63ZGP4Q2.js.map} +0 -0
  68. /package/dist/{chunk-ACQ2AIEM.js.map → chunk-AIYFHQRX.js.map} +0 -0
  69. /package/dist/{chunk-YSNIAJ5D.js.map → chunk-UEWMSIL3.js.map} +0 -0
  70. /package/dist/{cli-AHTINAHY.js.map → cli-UWBAOHLL.js.map} +0 -0
  71. /package/dist/{client-LHENCAV3.js.map → client-SLDDMSKN.js.map} +0 -0
  72. /package/dist/{executor-ACDHGTRH.js.map → executor-J4IBXSBY.js.map} +0 -0
  73. /package/dist/{installer-ZNK4JSQA.js.map → installer-I6KRGJOO.js.map} +0 -0
  74. /package/dist/{open-AB5ULZIB.js.map → open-4UGDPBKN.js.map} +0 -0
  75. /package/dist/{post-compact-P2B7C7FE.js.map → post-compact-BFU3WZSV.js.map} +0 -0
  76. /package/dist/{post-tool-use-LXL6NXDS.js.map → post-tool-use-RYHXLCTC.js.map} +0 -0
  77. /package/dist/{post-tool-use-failure-WAYVVKGR.js.map → post-tool-use-failure-DCVHK2P3.js.map} +0 -0
  78. /package/dist/{pre-compact-BCXUCF4V.js.map → pre-compact-EZZCJ6AG.js.map} +0 -0
  79. /package/dist/{remove-KAPX5NT2.js.map → remove-GBBQG3SJ.js.map} +0 -0
  80. /package/dist/{restart-HQO36FTG.js.map → restart-RMIGKMA6.js.map} +0 -0
  81. /package/dist/{search-YOMOKAAI.js.map → search-2A5AJVNG.js.map} +0 -0
  82. /package/dist/{server-2N23P6F2.js.map → server-TSYZMFFK.js.map} +0 -0
  83. /package/dist/{session-WW2JLHPX.js.map → session-NKREOTEO.js.map} +0 -0
  84. /package/dist/{session-end-4WRTIBVQ.js.map → session-end-DQELLTGJ.js.map} +0 -0
  85. /package/dist/{setup-llm-HFWSBUAF.js.map → setup-llm-SLX5764H.js.map} +0 -0
  86. /package/dist/{stats-7A4CJ4MS.js.map → stats-ARBLNEE3.js.map} +0 -0
  87. /package/dist/{stop-R2GDHMRA.js.map → stop-5AJXBKEE.js.map} +0 -0
  88. /package/dist/{stop-failure-773KR4VZ.js.map → stop-failure-XGKTZPLR.js.map} +0 -0
  89. /package/dist/{subagent-start-IDECNBHW.js.map → subagent-start-2JLIPGJN.js.map} +0 -0
  90. /package/dist/{subagent-stop-3JH7DR2S.js.map → subagent-stop-FV4EOKWZ.js.map} +0 -0
  91. /package/dist/{task-completed-AYVHPHDR.js.map → task-completed-XJKT366I.js.map} +0 -0
  92. /package/dist/{update-YWYW55JM.js.map → update-XVSAMN4O.js.map} +0 -0
  93. /package/dist/{user-prompt-submit-YELSR6XI.js.map → user-prompt-submit-TTBTHBBH.js.map} +0 -0
  94. /package/dist/{version-K5NETYIL.js.map → version-HRVSEMUR.js.map} +0 -0
@@ -1,14 +1,14 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  connectToDaemon
4
- } from "./chunk-YSNIAJ5D.js";
4
+ } from "./chunk-UEWMSIL3.js";
5
5
  import "./chunk-SAKJMNSR.js";
6
- import "./chunk-4LCIKVDM.js";
6
+ import "./chunk-LZP4IJB3.js";
7
7
  import "./chunk-FMRZ26U5.js";
8
8
  import "./chunk-SRXTSI25.js";
9
9
  import "./chunk-MYX5NCRH.js";
10
- import "./chunk-UOQQENDW.js";
11
- import "./chunk-ACQ2AIEM.js";
10
+ import "./chunk-3WWJOTYG.js";
11
+ import "./chunk-AIYFHQRX.js";
12
12
  import "./chunk-LPUQPDC2.js";
13
13
  import "./chunk-FLLBJLHM.js";
14
14
  import "./chunk-UUHLLQXO.js";
@@ -36,4 +36,4 @@ async function run(args, vaultDir) {
36
36
  export {
37
37
  run
38
38
  };
39
- //# sourceMappingURL=agent-run-4HUXVRHW.js.map
39
+ //# sourceMappingURL=agent-run-PQXC246Y.js.map
@@ -1,14 +1,14 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  connectToDaemon
4
- } from "./chunk-YSNIAJ5D.js";
4
+ } from "./chunk-UEWMSIL3.js";
5
5
  import "./chunk-SAKJMNSR.js";
6
- import "./chunk-4LCIKVDM.js";
6
+ import "./chunk-LZP4IJB3.js";
7
7
  import "./chunk-FMRZ26U5.js";
8
8
  import "./chunk-SRXTSI25.js";
9
9
  import "./chunk-MYX5NCRH.js";
10
- import "./chunk-UOQQENDW.js";
11
- import "./chunk-ACQ2AIEM.js";
10
+ import "./chunk-3WWJOTYG.js";
11
+ import "./chunk-AIYFHQRX.js";
12
12
  import "./chunk-LPUQPDC2.js";
13
13
  import "./chunk-FLLBJLHM.js";
14
14
  import "./chunk-UUHLLQXO.js";
@@ -182,4 +182,4 @@ async function run(args, vaultDir) {
182
182
  export {
183
183
  run
184
184
  };
185
- //# sourceMappingURL=agent-tasks-JF45ELB6.js.map
185
+ //# sourceMappingURL=agent-tasks-323BZEBX.js.map
@@ -1,9 +1,9 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
2
  import {
3
3
  isProcessAlive
4
- } from "./chunk-YSNIAJ5D.js";
4
+ } from "./chunk-UEWMSIL3.js";
5
5
  import {
6
- loadConfig
6
+ loadMergedConfig
7
7
  } from "./chunk-SRXTSI25.js";
8
8
  import {
9
9
  getDatabase
@@ -87,7 +87,7 @@ function countTable(db, table) {
87
87
  }
88
88
  function gatherStats(vaultDir, options) {
89
89
  const db = getDatabase();
90
- const config = loadConfig(vaultDir);
90
+ const config = loadMergedConfig(vaultDir);
91
91
  const session_count = countTable(db, "sessions");
92
92
  const batch_count = countTable(db, "prompt_batches");
93
93
  const spore_count = countTable(db, "spores");
@@ -187,4 +187,4 @@ export {
187
187
  getEmbeddingQueueDepth,
188
188
  gatherStats
189
189
  };
190
- //# sourceMappingURL=chunk-P3DN5EWW.js.map
190
+ //# sourceMappingURL=chunk-22JALAXN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/db/queries/embeddings.ts","../src/services/stats.ts"],"sourcesContent":["/**\n * Embedded flag management — tracks which rows have been indexed in the external vector store.\n *\n * All vector storage and similarity search is handled by the external VectorStore.\n * This module only manages the `embedded` flag on relational tables.\n */\n\nimport { getDatabase } from '@myco/db/client.js';\n\n// ---------------------------------------------------------------------------\n// Constants\n// ---------------------------------------------------------------------------\n\n/** Tables that participate in vector embedding. */\nexport const EMBEDDABLE_TABLES = ['sessions', 'spores', 'plans', 'artifacts', 'skill_records'] as const;\n\n/** TypeScript type for valid embeddable table names. */\nexport type EmbeddableTable = (typeof EMBEDDABLE_TABLES)[number];\n\n/** Per-table column that holds the text content used for embedding. */\nexport const EMBEDDABLE_TEXT_COLUMNS: Record<EmbeddableTable, string> = {\n sessions: 'summary',\n spores: 'content',\n plans: 'content',\n artifacts: 'content',\n skill_records: 'description',\n};\n\n/** Error message for invalid table names. */\nconst INVALID_TABLE_MSG = 'Invalid table name — must be one of: sessions, spores, plans, artifacts, skill_records';\n\n/** Default number of rows returned by getUnembedded. */\nconst DEFAULT_UNEMBEDDED_LIMIT = 100;\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\n/**\n * Validate that a table name is in the allowlist.\n *\n * @throws if the table name is not one of the embeddable tables.\n */\nexport function assertValidTable(table: string): asserts table is EmbeddableTable {\n if (!(EMBEDDABLE_TABLES as readonly string[]).includes(table)) {\n throw new Error(INVALID_TABLE_MSG);\n }\n}\n\n// ---------------------------------------------------------------------------\n// Public API\n// ---------------------------------------------------------------------------\n\n/** Mark a row as embedded in the external vector store. */\nexport function markEmbedded(table: string, id: string | number): void {\n assertValidTable(table);\n const db = getDatabase();\n db.prepare(`UPDATE ${table} SET embedded = 1 WHERE id = ?`).run(id);\n}\n\n/** Clear the embedded flag (e.g., when vector is removed or needs re-embedding). */\nexport function clearEmbedded(table: string, id: string | number): void {\n assertValidTable(table);\n const db = getDatabase();\n db.prepare(`UPDATE ${table} SET embedded = 0 WHERE id = ?`).run(id);\n}\n\n/** Find rows that have not yet been embedded, oldest first. */\nexport function getUnembedded(\n table: string,\n limit: number = DEFAULT_UNEMBEDDED_LIMIT,\n): Array<{ id: string | number; created_at: number; text: string }> {\n assertValidTable(table);\n const db = getDatabase();\n const textCol = EMBEDDABLE_TEXT_COLUMNS[table as EmbeddableTable];\n const contentFilter = table === 'sessions' ? ' AND summary IS NOT NULL' : '';\n const statusFilter = (table === 'spores' || table === 'skill_records') ? \" AND status = 'active'\" : '';\n\n return db.prepare(\n `SELECT id, created_at, ${textCol} AS text\n FROM ${table}\n WHERE embedded = 0${contentFilter}${statusFilter}\n ORDER BY created_at ASC\n LIMIT ?`\n ).all(limit) as Array<{ id: string | number; created_at: number; text: string }>;\n}\n\n/** Get aggregated embedding queue depth across all embeddable tables. */\nexport function getEmbeddingQueueDepth(): {\n queue_depth: number;\n embedded_count: number;\n total: number;\n} {\n const db = getDatabase();\n\n const queueRow = db.prepare(`\n SELECT\n (SELECT COUNT(*) FROM sessions WHERE embedded = 0 AND summary IS NOT NULL) +\n (SELECT COUNT(*) FROM spores WHERE embedded = 0 AND status = 'active') +\n (SELECT COUNT(*) FROM plans WHERE embedded = 0 AND content IS NOT NULL) +\n (SELECT COUNT(*) FROM artifacts WHERE embedded = 0 AND content IS NOT NULL) +\n (SELECT COUNT(*) FROM skill_records WHERE embedded = 0 AND status = 'active')\n AS cnt\n `).get() as { cnt: number };\n\n const embeddedRow = db.prepare(`\n SELECT\n (SELECT COUNT(*) FROM sessions WHERE embedded = 1) +\n (SELECT COUNT(*) FROM spores WHERE embedded = 1) +\n (SELECT COUNT(*) FROM plans WHERE embedded = 1) +\n (SELECT COUNT(*) FROM artifacts WHERE embedded = 1) +\n (SELECT COUNT(*) FROM skill_records WHERE embedded = 1)\n AS cnt\n `).get() as { cnt: number };\n\n const queue_depth = Number(queueRow.cnt ?? 0);\n const embedded_count = Number(embeddedRow.cnt ?? 0);\n return { queue_depth, embedded_count, total: queue_depth + embedded_count };\n}\n","/**\n * Vault statistics — gathered from SQLite.\n */\n\nimport { getDatabase } from '@myco/db/client.js';\nimport { getEmbeddingQueueDepth } from '@myco/db/queries/embeddings.js';\nimport { loadMergedConfig } from '@myco/config/loader.js';\nimport { isProcessAlive } from '@myco/cli/shared.js';\nimport { DIGEST_TIERS } from '@myco/constants.js';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\n// ---------------------------------------------------------------------------\n// Constants\n// ---------------------------------------------------------------------------\n\n/** Process uptime is available directly from the daemon process via process.uptime(). */\nconst DAEMON_JSON_FILENAME = 'daemon.json';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface V2Stats {\n daemon: {\n pid: number;\n port: number;\n version: string;\n uptime_seconds: number;\n active_sessions: string[];\n };\n vault: {\n path: string;\n name: string;\n session_count: number;\n batch_count: number;\n spore_count: number;\n plan_count: number;\n artifact_count: number;\n entity_count: number;\n edge_count: number;\n };\n embedding: {\n provider: string;\n model: string;\n queue_depth: number;\n embedded_count: number;\n total_embeddable: number;\n };\n agent: {\n last_run_at: number | null;\n last_run_status: string | null;\n total_runs: number;\n };\n digest: {\n freshest_tier: number | null;\n generated_at: number | null;\n tiers_available: number[];\n };\n unprocessed_batches: number;\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\n/** Count rows in a table (sync). */\nfunction countTable(db: ReturnType<typeof getDatabase>, table: string): number {\n const row = db.prepare(`SELECT COUNT(*) AS cnt FROM ${table}`).get() as { cnt: number };\n return Number(row.cnt);\n}\n\n// ---------------------------------------------------------------------------\n// Public API\n// ---------------------------------------------------------------------------\n\nexport function gatherStats(vaultDir: string, options?: { active_sessions?: string[] }): V2Stats {\n const db = getDatabase();\n\n // Load config for embedding provider info (sync — already on disk)\n const config = loadMergedConfig(vaultDir);\n\n // All queries are synchronous — no Promise.all needed\n const session_count = countTable(db, 'sessions');\n const batch_count = countTable(db, 'prompt_batches');\n const spore_count = countTable(db, 'spores');\n const plan_count = countTable(db, 'plans');\n const artifact_count = countTable(db, 'artifacts');\n const entity_count = countTable(db, 'entities');\n const edge_count = countTable(db, 'graph_edges');\n\n // Shared embedding queue depth helper (consistent filter logic)\n const embeddingStats = getEmbeddingQueueDepth();\n const { queue_depth, embedded_count, total: total_embeddable } = embeddingStats;\n\n // Unprocessed batches\n const unprocessedRow = db.prepare(\n 'SELECT COUNT(*) AS cnt FROM prompt_batches WHERE processed = 0',\n ).get() as { cnt: number };\n const unprocessed_batches = Number(unprocessedRow.cnt ?? 0);\n\n // Agent: most recent run\n const lastRun = db.prepare(\n 'SELECT started_at, status FROM agent_runs ORDER BY started_at DESC LIMIT 1',\n ).get() as { started_at: number; status: string } | undefined;\n const last_run_at = lastRun ? lastRun.started_at : null;\n const last_run_status = lastRun ? lastRun.status : null;\n\n // Total agent runs\n const agentTotalRow = db.prepare(\n 'SELECT COUNT(*) AS cnt FROM agent_runs',\n ).get() as { cnt: number };\n const total_runs = Number(agentTotalRow.cnt ?? 0);\n\n // Digest extracts: only report tiers that are currently configured\n const digestRows = db.prepare(\n 'SELECT tier, generated_at FROM digest_extracts ORDER BY tier ASC',\n ).all() as Array<{ tier: number; generated_at: number }>;\n const configuredTiers = new Set<number>(DIGEST_TIERS);\n const activeDigestRows = digestRows.filter((r) => configuredTiers.has(r.tier));\n const tiers_available = activeDigestRows.map((r) => r.tier);\n const freshest_tier = tiers_available.length > 0 ? Math.max(...tiers_available) : null;\n const freshestRow = activeDigestRows.find((r) => r.tier === freshest_tier);\n const generated_at = freshestRow ? freshestRow.generated_at : null;\n\n // Daemon info from daemon.json\n let daemonPid = 0;\n let daemonPort = 0;\n let daemonVersion = '';\n let daemonUptimeSeconds = 0;\n const daemonPath = path.join(vaultDir, DAEMON_JSON_FILENAME);\n if (fs.existsSync(daemonPath)) {\n try {\n const info = JSON.parse(fs.readFileSync(daemonPath, 'utf-8')) as Record<string, unknown>;\n daemonPid = (info.pid as number) ?? 0;\n daemonPort = (info.port as number) ?? 0;\n daemonVersion = (info.version as string) ?? '';\n // uptime: if daemon is alive, compute from started timestamp\n if (typeof info.started === 'string' && isProcessAlive(daemonPid)) {\n const startedMs = new Date(info.started as string).getTime();\n daemonUptimeSeconds = Math.floor((Date.now() - startedMs) / 1000);\n }\n } catch { /* ignore corrupt daemon.json */ }\n }\n\n return {\n daemon: {\n pid: daemonPid,\n port: daemonPort,\n version: daemonVersion,\n uptime_seconds: daemonUptimeSeconds,\n active_sessions: options?.active_sessions ?? [],\n },\n vault: {\n path: vaultDir,\n name: path.basename(path.dirname(vaultDir)),\n session_count,\n batch_count,\n spore_count,\n plan_count,\n artifact_count,\n entity_count,\n edge_count,\n },\n embedding: {\n provider: config.embedding.provider,\n model: config.embedding.model,\n queue_depth,\n embedded_count,\n total_embeddable,\n },\n agent: {\n last_run_at,\n last_run_status,\n total_runs,\n },\n digest: {\n freshest_tier,\n generated_at,\n tiers_available,\n },\n unprocessed_batches,\n };\n}\n"],"mappings":"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","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
  getPluginVersion
4
- } from "./chunk-ACQ2AIEM.js";
4
+ } from "./chunk-AIYFHQRX.js";
5
5
  import {
6
6
  DAEMON_CLIENT_TIMEOUT_MS,
7
7
  DAEMON_HEALTH_CHECK_TIMEOUT_MS,
@@ -185,4 +185,4 @@ export {
185
185
  resolveCliEntryPath,
186
186
  DaemonClient
187
187
  };
188
- //# sourceMappingURL=chunk-UOQQENDW.js.map
188
+ //# sourceMappingURL=chunk-3WWJOTYG.js.map
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-CUDIZJY7.js";
12
12
  import {
13
13
  DaemonClient
14
- } from "./chunk-UOQQENDW.js";
14
+ } from "./chunk-3WWJOTYG.js";
15
15
 
16
16
  // src/hooks/send-event.ts
17
17
  import fs from "fs";
@@ -39,4 +39,4 @@ async function sendEvent(hookName, buildEvent) {
39
39
  export {
40
40
  sendEvent
41
41
  };
42
- //# sourceMappingURL=chunk-POR75WM6.js.map
42
+ //# sourceMappingURL=chunk-63ZGP4Q2.js.map
@@ -11,7 +11,7 @@ var cached;
11
11
  function getPluginVersion() {
12
12
  if (cached) return cached;
13
13
  if (true) {
14
- cached = "0.20.0";
14
+ cached = "0.20.1";
15
15
  return cached;
16
16
  }
17
17
  const root = findPackageRoot(path.dirname(fileURLToPath(import.meta.url)));
@@ -32,4 +32,4 @@ function getPluginVersion() {
32
32
  export {
33
33
  getPluginVersion
34
34
  };
35
- //# sourceMappingURL=chunk-ACQ2AIEM.js.map
35
+ //# sourceMappingURL=chunk-AIYFHQRX.js.map
@@ -22,7 +22,7 @@ import {
22
22
  syncRow
23
23
  } from "./chunk-EVDQKYCG.js";
24
24
  import {
25
- loadConfig
25
+ loadMergedConfig
26
26
  } from "./chunk-SRXTSI25.js";
27
27
  import {
28
28
  getDatabase
@@ -138,7 +138,7 @@ function getType(typeId) {
138
138
  function notify(vaultDir, payload, config) {
139
139
  if (!vaultDir) return null;
140
140
  try {
141
- const cfg = config ?? loadConfig(vaultDir);
141
+ const cfg = config ?? loadMergedConfig(vaultDir);
142
142
  if (!cfg.notifications.enabled) return null;
143
143
  const domainConfig = cfg.notifications.domains[payload.domain];
144
144
  if (domainConfig && !domainConfig.enabled) return null;
@@ -402,7 +402,7 @@ function resolveRunConfig(agentId, requestedTask, vaultDir) {
402
402
  let phaseProviderOverrides = {};
403
403
  let taskParams;
404
404
  try {
405
- const mycoConfig = loadConfig(vaultDir);
405
+ const mycoConfig = loadMergedConfig(vaultDir);
406
406
  const taskConfig = taskName ? mycoConfig.agent.tasks?.[taskName] : void 0;
407
407
  const globalProvider = mycoConfig.agent.provider;
408
408
  if (taskConfig?.provider) {
@@ -2273,4 +2273,4 @@ export {
2273
2273
  buildTaskInstruction,
2274
2274
  isInstructionRequiredTask
2275
2275
  };
2276
- //# sourceMappingURL=chunk-L6XFAJIF.js.map
2276
+ //# sourceMappingURL=chunk-FGY7J6EZ.js.map