@goondocks/myco 0.3.2 → 0.3.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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/dist/{chunk-5BGQJOJN.js → chunk-4RJ3IEPW.js} +4 -4
- package/dist/{chunk-Q7BEFSOV.js → chunk-7VPJK56U.js} +10 -4
- package/dist/chunk-7VPJK56U.js.map +1 -0
- package/dist/{chunk-N6IAW33G.js → chunk-7WNE22W7.js} +3 -3
- package/dist/{chunk-72OAG4SF.js → chunk-AWF3M57N.js} +11 -6
- package/dist/{chunk-72OAG4SF.js.map → chunk-AWF3M57N.js.map} +1 -1
- package/dist/{chunk-XW3OL55U.js → chunk-BA23DROX.js} +2 -2
- package/dist/{chunk-TJJRIVZ7.js → chunk-C72VNYA4.js} +2 -2
- package/dist/{chunk-PAUPHPOC.js → chunk-DBSG4V6Y.js} +3 -3
- package/dist/{chunk-P2Q77C5F.js → chunk-QWU7QLZI.js} +6 -2
- package/dist/chunk-QWU7QLZI.js.map +1 -0
- package/dist/{chunk-2UEJVXXE.js → chunk-R2R243GC.js} +2 -2
- package/dist/{chunk-JIQISBPI.js → chunk-UHMMKLK3.js} +5 -5
- package/dist/{chunk-2QEJKG7R.js → chunk-Y3OYD4CX.js} +2 -2
- package/dist/{chunk-2TKJPRZL.js → chunk-ZBNT6E22.js} +2 -2
- package/dist/{cli-4RR3QBYK.js → cli-YTICB2DH.js} +15 -15
- package/dist/{client-43ML4EHJ.js → client-YI6RXFJD.js} +5 -5
- package/dist/{detect-providers-6RQCQZOI.js → detect-providers-LNOLBICR.js} +3 -3
- package/dist/{init-HTKEL3YT.js → init-TQ7Q4WEI.js} +5 -5
- package/dist/{main-DTWU4OAH.js → main-3BL45UM3.js} +10 -9
- package/dist/{main-DTWU4OAH.js.map → main-3BL45UM3.js.map} +1 -1
- package/dist/{rebuild-TXMFYBOU.js → rebuild-JW6BCHHZ.js} +5 -5
- package/dist/{reprocess-ARKHGDWF.js → reprocess-5XX3EOAV.js} +9 -9
- package/dist/{restart-C5BCVG3A.js → restart-UGE2Y327.js} +6 -6
- package/dist/{search-YCKNX2WS.js → search-2HMG3ON7.js} +4 -4
- package/dist/{server-EBKMQISL.js → server-YYCYIH5Z.js} +102 -81
- package/dist/server-YYCYIH5Z.js.map +1 -0
- package/dist/{session-start-ADZLL2YI.js → session-start-4MNXDOYK.js} +6 -6
- package/dist/src/cli.js +4 -4
- package/dist/src/daemon/main.js +4 -4
- package/dist/src/hooks/post-tool-use.js +5 -5
- package/dist/src/hooks/session-end.js +5 -5
- package/dist/src/hooks/session-start.js +4 -4
- package/dist/src/hooks/stop.js +5 -5
- package/dist/src/hooks/user-prompt-submit.js +9 -8
- package/dist/src/hooks/user-prompt-submit.js.map +1 -1
- package/dist/src/mcp/server.js +4 -4
- package/dist/{stats-7VEZN2WF.js → stats-7T44NZQN.js} +5 -5
- package/dist/{verify-HN5DWV2H.js → verify-7MWOV72E.js} +4 -4
- package/dist/{version-N55WTRG5.js → version-3MSC7E3V.js} +4 -4
- package/package.json +1 -1
- package/skills/myco/SKILL.md +15 -14
- package/dist/chunk-P2Q77C5F.js.map +0 -1
- package/dist/chunk-Q7BEFSOV.js.map +0 -1
- package/dist/server-EBKMQISL.js.map +0 -1
- /package/dist/{chunk-5BGQJOJN.js.map → chunk-4RJ3IEPW.js.map} +0 -0
- /package/dist/{chunk-N6IAW33G.js.map → chunk-7WNE22W7.js.map} +0 -0
- /package/dist/{chunk-XW3OL55U.js.map → chunk-BA23DROX.js.map} +0 -0
- /package/dist/{chunk-TJJRIVZ7.js.map → chunk-C72VNYA4.js.map} +0 -0
- /package/dist/{chunk-PAUPHPOC.js.map → chunk-DBSG4V6Y.js.map} +0 -0
- /package/dist/{chunk-2UEJVXXE.js.map → chunk-R2R243GC.js.map} +0 -0
- /package/dist/{chunk-JIQISBPI.js.map → chunk-UHMMKLK3.js.map} +0 -0
- /package/dist/{chunk-2QEJKG7R.js.map → chunk-Y3OYD4CX.js.map} +0 -0
- /package/dist/{chunk-2TKJPRZL.js.map → chunk-ZBNT6E22.js.map} +0 -0
- /package/dist/{cli-4RR3QBYK.js.map → cli-YTICB2DH.js.map} +0 -0
- /package/dist/{client-43ML4EHJ.js.map → client-YI6RXFJD.js.map} +0 -0
- /package/dist/{detect-providers-6RQCQZOI.js.map → detect-providers-LNOLBICR.js.map} +0 -0
- /package/dist/{init-HTKEL3YT.js.map → init-TQ7Q4WEI.js.map} +0 -0
- /package/dist/{rebuild-TXMFYBOU.js.map → rebuild-JW6BCHHZ.js.map} +0 -0
- /package/dist/{reprocess-ARKHGDWF.js.map → reprocess-5XX3EOAV.js.map} +0 -0
- /package/dist/{restart-C5BCVG3A.js.map → restart-UGE2Y327.js.map} +0 -0
- /package/dist/{search-YCKNX2WS.js.map → search-2HMG3ON7.js.map} +0 -0
- /package/dist/{session-start-ADZLL2YI.js.map → session-start-4MNXDOYK.js.map} +0 -0
- /package/dist/{stats-7VEZN2WF.js.map → stats-7T44NZQN.js.map} +0 -0
- /package/dist/{verify-HN5DWV2H.js.map → verify-7MWOV72E.js.map} +0 -0
- /package/dist/{version-N55WTRG5.js.map → version-3MSC7E3V.js.map} +0 -0
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-3JCXYLHD.js";
|
|
6
6
|
import {
|
|
7
7
|
rebuildIndex
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-AWF3M57N.js";
|
|
9
9
|
import {
|
|
10
10
|
generateEmbedding
|
|
11
11
|
} from "./chunk-RGVBGTD6.js";
|
|
@@ -20,15 +20,15 @@ import {
|
|
|
20
20
|
} from "./chunk-PA3VMINE.js";
|
|
21
21
|
import {
|
|
22
22
|
createEmbeddingProvider
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
} from "./chunk-7WNE22W7.js";
|
|
24
|
+
import "./chunk-BA23DROX.js";
|
|
25
25
|
import {
|
|
26
26
|
loadConfig
|
|
27
27
|
} from "./chunk-ISCT2SI6.js";
|
|
28
28
|
import "./chunk-EF4JVH24.js";
|
|
29
29
|
import {
|
|
30
30
|
EMBEDDING_INPUT_LIMIT
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-7VPJK56U.js";
|
|
32
32
|
import "./chunk-PZUWP5VK.js";
|
|
33
33
|
|
|
34
34
|
// src/cli/rebuild.ts
|
|
@@ -82,4 +82,4 @@ Embedded ${result.succeeded} notes (vectors)`);
|
|
|
82
82
|
export {
|
|
83
83
|
run
|
|
84
84
|
};
|
|
85
|
-
//# sourceMappingURL=rebuild-
|
|
85
|
+
//# sourceMappingURL=rebuild-JW6BCHHZ.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
BufferProcessor,
|
|
4
4
|
TranscriptMiner,
|
|
5
5
|
writeObservationNotes
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-UHMMKLK3.js";
|
|
7
7
|
import {
|
|
8
8
|
EMBEDDING_BATCH_CONCURRENCY,
|
|
9
9
|
LLM_BATCH_CONCURRENCY,
|
|
@@ -13,18 +13,18 @@ import {
|
|
|
13
13
|
VaultWriter,
|
|
14
14
|
bareSessionId,
|
|
15
15
|
sessionNoteId
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-QWU7QLZI.js";
|
|
17
17
|
import {
|
|
18
18
|
indexNote,
|
|
19
19
|
require_gray_matter
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-AWF3M57N.js";
|
|
21
21
|
import {
|
|
22
22
|
generateEmbedding
|
|
23
23
|
} from "./chunk-RGVBGTD6.js";
|
|
24
24
|
import {
|
|
25
25
|
VectorIndex
|
|
26
26
|
} from "./chunk-XQXXF6MU.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-DBSG4V6Y.js";
|
|
28
28
|
import {
|
|
29
29
|
parseStringFlag
|
|
30
30
|
} from "./chunk-SAKJMNSR.js";
|
|
@@ -37,8 +37,8 @@ import {
|
|
|
37
37
|
import {
|
|
38
38
|
createEmbeddingProvider,
|
|
39
39
|
createLlmProvider
|
|
40
|
-
} from "./chunk-
|
|
41
|
-
import "./chunk-
|
|
40
|
+
} from "./chunk-7WNE22W7.js";
|
|
41
|
+
import "./chunk-BA23DROX.js";
|
|
42
42
|
import {
|
|
43
43
|
loadConfig
|
|
44
44
|
} from "./chunk-ISCT2SI6.js";
|
|
@@ -46,10 +46,10 @@ import "./chunk-EF4JVH24.js";
|
|
|
46
46
|
import {
|
|
47
47
|
claudeCodeAdapter,
|
|
48
48
|
createPerProjectAdapter
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-Y3OYD4CX.js";
|
|
50
50
|
import {
|
|
51
51
|
EMBEDDING_INPUT_LIMIT
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-7VPJK56U.js";
|
|
53
53
|
import {
|
|
54
54
|
__toESM
|
|
55
55
|
} from "./chunk-PZUWP5VK.js";
|
|
@@ -196,4 +196,4 @@ Done: ${tasks.length} sessions reprocessed, ${totalObservations} observations ex
|
|
|
196
196
|
export {
|
|
197
197
|
run
|
|
198
198
|
};
|
|
199
|
-
//# sourceMappingURL=reprocess-
|
|
199
|
+
//# sourceMappingURL=reprocess-5XX3EOAV.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
|
isProcessAlive
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-DBSG4V6Y.js";
|
|
5
5
|
import "./chunk-SAKJMNSR.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-BA23DROX.js";
|
|
7
|
+
import "./chunk-Y3OYD4CX.js";
|
|
8
|
+
import "./chunk-7VPJK56U.js";
|
|
9
9
|
import "./chunk-PZUWP5VK.js";
|
|
10
10
|
|
|
11
11
|
// src/cli/restart.ts
|
|
@@ -29,7 +29,7 @@ async function run(_args, vaultDir) {
|
|
|
29
29
|
} catch {
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
const { DaemonClient } = await import("./client-
|
|
32
|
+
const { DaemonClient } = await import("./client-YI6RXFJD.js");
|
|
33
33
|
const client = new DaemonClient(vaultDir);
|
|
34
34
|
console.log("Waiting for health check...");
|
|
35
35
|
const healthy = await client.ensureRunning();
|
|
@@ -47,4 +47,4 @@ async function run(_args, vaultDir) {
|
|
|
47
47
|
export {
|
|
48
48
|
run
|
|
49
49
|
};
|
|
50
|
-
//# sourceMappingURL=restart-
|
|
50
|
+
//# sourceMappingURL=restart-UGE2Y327.js.map
|
|
@@ -13,13 +13,13 @@ import {
|
|
|
13
13
|
} from "./chunk-PA3VMINE.js";
|
|
14
14
|
import {
|
|
15
15
|
createEmbeddingProvider
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-7WNE22W7.js";
|
|
17
|
+
import "./chunk-BA23DROX.js";
|
|
18
18
|
import {
|
|
19
19
|
loadConfig
|
|
20
20
|
} from "./chunk-ISCT2SI6.js";
|
|
21
21
|
import "./chunk-EF4JVH24.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-7VPJK56U.js";
|
|
23
23
|
import "./chunk-PZUWP5VK.js";
|
|
24
24
|
|
|
25
25
|
// src/cli/search.ts
|
|
@@ -117,4 +117,4 @@ export {
|
|
|
117
117
|
run,
|
|
118
118
|
runVectors
|
|
119
119
|
};
|
|
120
|
-
//# sourceMappingURL=search-
|
|
120
|
+
//# sourceMappingURL=search-2HMG3ON7.js.map
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
VaultWriter
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QWU7QLZI.js";
|
|
5
5
|
import {
|
|
6
|
-
|
|
6
|
+
OBSERVATION_TYPES,
|
|
7
|
+
PLAN_STATUSES,
|
|
7
8
|
indexNote
|
|
8
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-AWF3M57N.js";
|
|
9
10
|
import {
|
|
10
11
|
generateEmbedding
|
|
11
12
|
} from "./chunk-RGVBGTD6.js";
|
|
@@ -30,8 +31,8 @@ import {
|
|
|
30
31
|
} from "./chunk-PA3VMINE.js";
|
|
31
32
|
import {
|
|
32
33
|
createEmbeddingProvider
|
|
33
|
-
} from "./chunk-
|
|
34
|
-
import "./chunk-
|
|
34
|
+
} from "./chunk-7WNE22W7.js";
|
|
35
|
+
import "./chunk-BA23DROX.js";
|
|
35
36
|
import {
|
|
36
37
|
_enum,
|
|
37
38
|
_null,
|
|
@@ -57,17 +58,20 @@ import {
|
|
|
57
58
|
import "./chunk-EF4JVH24.js";
|
|
58
59
|
import {
|
|
59
60
|
getPluginVersion
|
|
60
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-R2R243GC.js";
|
|
61
62
|
import {
|
|
62
63
|
resolveVaultDir
|
|
63
64
|
} from "./chunk-N33KUCFP.js";
|
|
64
|
-
import "./chunk-
|
|
65
|
+
import "./chunk-Y3OYD4CX.js";
|
|
65
66
|
import {
|
|
66
67
|
CONTENT_SNIPPET_CHARS,
|
|
67
68
|
EMBEDDING_INPUT_LIMIT,
|
|
69
|
+
MCP_LOGS_DEFAULT_LIMIT,
|
|
70
|
+
MCP_SEARCH_DEFAULT_LIMIT,
|
|
71
|
+
MCP_SESSIONS_DEFAULT_LIMIT,
|
|
68
72
|
RECALL_SUMMARY_PREVIEW_CHARS,
|
|
69
73
|
SESSION_SUMMARY_PREVIEW_CHARS
|
|
70
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-7VPJK56U.js";
|
|
71
75
|
import {
|
|
72
76
|
__commonJS,
|
|
73
77
|
__toESM
|
|
@@ -14146,6 +14150,7 @@ async function handleMycoRemember(vaultDir, index, input) {
|
|
|
14146
14150
|
const notePath = writer.writeMemory({
|
|
14147
14151
|
id,
|
|
14148
14152
|
observation_type: input.type,
|
|
14153
|
+
session: input.session,
|
|
14149
14154
|
plan: input.related_plan ?? void 0,
|
|
14150
14155
|
tags: input.tags,
|
|
14151
14156
|
content: input.content
|
|
@@ -14461,148 +14466,164 @@ Superseded by:: [[${wisdomId}]]`;
|
|
|
14461
14466
|
return { wisdom_id: wisdomId, wisdom_path: wisdomPath, sources_archived: archived };
|
|
14462
14467
|
}
|
|
14463
14468
|
|
|
14464
|
-
// src/mcp/
|
|
14465
|
-
var
|
|
14466
|
-
var
|
|
14469
|
+
// src/mcp/tool-definitions.ts
|
|
14470
|
+
var PLAN_STATUS_FILTER = [...PLAN_STATUSES, "all"];
|
|
14471
|
+
var TOOL_SEARCH = "myco_search";
|
|
14472
|
+
var TOOL_RECALL = "myco_recall";
|
|
14473
|
+
var TOOL_REMEMBER = "myco_remember";
|
|
14474
|
+
var TOOL_PLANS = "myco_plans";
|
|
14475
|
+
var TOOL_SESSIONS = "myco_sessions";
|
|
14476
|
+
var TOOL_TEAM = "myco_team";
|
|
14477
|
+
var TOOL_GRAPH = "myco_graph";
|
|
14478
|
+
var TOOL_ORPHANS = "myco_orphans";
|
|
14479
|
+
var TOOL_LOGS = "myco_logs";
|
|
14480
|
+
var TOOL_SUPERSEDE = "myco_supersede";
|
|
14481
|
+
var TOOL_CONSOLIDATE = "myco_consolidate";
|
|
14482
|
+
var PROP_BRANCH = "Git branch name to find related sessions and plans";
|
|
14483
|
+
var PROP_SINCE = "ISO timestamp \u2014 entries after this date";
|
|
14484
|
+
var PROP_TAGS = "Tags for discoverability \u2014 component names, technologies, concepts";
|
|
14467
14485
|
var TOOL_DEFINITIONS = [
|
|
14468
14486
|
{
|
|
14469
|
-
name:
|
|
14470
|
-
description: "
|
|
14487
|
+
name: TOOL_SEARCH,
|
|
14488
|
+
description: "Search the vault for prior decisions, gotchas, bug fixes, and session history. Use before making design decisions, when debugging non-obvious issues, or when wondering why code is structured a certain way.",
|
|
14471
14489
|
inputSchema: {
|
|
14472
14490
|
type: "object",
|
|
14473
14491
|
properties: {
|
|
14474
|
-
query: { type: "string", description: "
|
|
14475
|
-
type: { type: "string", enum: ["session", "plan", "memory", "all"] },
|
|
14476
|
-
limit: { type: "number", default:
|
|
14492
|
+
query: { type: "string", description: "Natural language search query \u2014 describe what you are looking for" },
|
|
14493
|
+
type: { type: "string", enum: ["session", "plan", "memory", "all"], description: "Filter by note type (default: all)" },
|
|
14494
|
+
limit: { type: "number", description: `Max results (default: ${MCP_SEARCH_DEFAULT_LIMIT})` }
|
|
14477
14495
|
},
|
|
14478
14496
|
required: ["query"]
|
|
14479
14497
|
}
|
|
14480
14498
|
},
|
|
14481
14499
|
{
|
|
14482
|
-
name:
|
|
14483
|
-
description: "
|
|
14500
|
+
name: TOOL_RECALL,
|
|
14501
|
+
description: "Get context relevant to your current work \u2014 memories, sessions, and plans related to the branch and files you are working on. Use at the start of a task or when you need background on a component.",
|
|
14484
14502
|
inputSchema: {
|
|
14485
14503
|
type: "object",
|
|
14486
14504
|
properties: {
|
|
14487
|
-
branch: { type: "string" },
|
|
14488
|
-
files: { type: "array", items: { type: "string" } }
|
|
14505
|
+
branch: { type: "string", description: PROP_BRANCH },
|
|
14506
|
+
files: { type: "array", items: { type: "string" }, description: "File paths you are working on \u2014 finds memories tagged with these files" }
|
|
14489
14507
|
}
|
|
14490
14508
|
}
|
|
14491
14509
|
},
|
|
14492
14510
|
{
|
|
14493
|
-
name:
|
|
14494
|
-
description: "
|
|
14511
|
+
name: TOOL_REMEMBER,
|
|
14512
|
+
description: "Save a decision, gotcha, bug fix, discovery, or trade-off as a permanent memory. Use after making a key decision, fixing a tricky bug, discovering something non-obvious, or encountering a gotcha. Always include the session ID from your context.",
|
|
14495
14513
|
inputSchema: {
|
|
14496
14514
|
type: "object",
|
|
14497
14515
|
properties: {
|
|
14498
|
-
content: { type: "string" },
|
|
14499
|
-
type: { type: "string", enum: OBSERVATION_TYPES },
|
|
14500
|
-
tags: { type: "array", items: { type: "string" } },
|
|
14501
|
-
|
|
14516
|
+
content: { type: "string", description: "The observation \u2014 include context, reasoning, and what someone encountering this in the future needs to know" },
|
|
14517
|
+
type: { type: "string", enum: OBSERVATION_TYPES, description: `Observation type: ${OBSERVATION_TYPES.join(", ")}` },
|
|
14518
|
+
tags: { type: "array", items: { type: "string" }, description: PROP_TAGS },
|
|
14519
|
+
session: { type: "string", description: 'Your session ID (from "Session::" in your context) \u2014 links this memory to the current session' },
|
|
14520
|
+
related_plan: { type: "string", description: "Plan ID if this observation relates to an active plan" }
|
|
14502
14521
|
},
|
|
14503
14522
|
required: ["content", "type"]
|
|
14504
14523
|
}
|
|
14505
14524
|
},
|
|
14506
14525
|
{
|
|
14507
|
-
name:
|
|
14508
|
-
description: "List active plans
|
|
14526
|
+
name: TOOL_PLANS,
|
|
14527
|
+
description: "List active implementation plans and their status. Use to check what work is in flight before starting new tasks.",
|
|
14509
14528
|
inputSchema: {
|
|
14510
14529
|
type: "object",
|
|
14511
14530
|
properties: {
|
|
14512
|
-
status: { type: "string", enum:
|
|
14513
|
-
id: { type: "string" }
|
|
14531
|
+
status: { type: "string", enum: PLAN_STATUS_FILTER, description: "Filter by status (default: all statuses)" },
|
|
14532
|
+
id: { type: "string", description: "Get a specific plan by ID" }
|
|
14514
14533
|
}
|
|
14515
14534
|
}
|
|
14516
14535
|
},
|
|
14517
14536
|
{
|
|
14518
|
-
name:
|
|
14519
|
-
description: "
|
|
14537
|
+
name: TOOL_SESSIONS,
|
|
14538
|
+
description: "Browse past coding sessions with summaries, tools used, and linked memories. Use to understand what work has been done on a feature or branch.",
|
|
14520
14539
|
inputSchema: {
|
|
14521
14540
|
type: "object",
|
|
14522
14541
|
properties: {
|
|
14523
|
-
plan: { type: "string" },
|
|
14524
|
-
branch: { type: "string" },
|
|
14525
|
-
user: { type: "string" },
|
|
14526
|
-
since: { type: "string" },
|
|
14527
|
-
limit: { type: "number" }
|
|
14542
|
+
plan: { type: "string", description: "Filter sessions linked to a specific plan" },
|
|
14543
|
+
branch: { type: "string", description: PROP_BRANCH },
|
|
14544
|
+
user: { type: "string", description: "Filter sessions by user" },
|
|
14545
|
+
since: { type: "string", description: PROP_SINCE },
|
|
14546
|
+
limit: { type: "number", description: `Max results (default: ${MCP_SESSIONS_DEFAULT_LIMIT})` }
|
|
14528
14547
|
}
|
|
14529
14548
|
}
|
|
14530
14549
|
},
|
|
14531
14550
|
{
|
|
14532
|
-
name:
|
|
14533
|
-
description: "
|
|
14551
|
+
name: TOOL_TEAM,
|
|
14552
|
+
description: "See what teammates have been working on \u2014 filter by shared files or plan to understand who has context on a component.",
|
|
14534
14553
|
inputSchema: {
|
|
14535
14554
|
type: "object",
|
|
14536
14555
|
properties: {
|
|
14537
|
-
files: { type: "array", items: { type: "string" } },
|
|
14538
|
-
plan: { type: "string" },
|
|
14539
|
-
since: { type: "string" }
|
|
14556
|
+
files: { type: "array", items: { type: "string" }, description: "File paths to find teammates who worked on them" },
|
|
14557
|
+
plan: { type: "string", description: "Plan ID to find teammates collaborating on it" },
|
|
14558
|
+
since: { type: "string", description: PROP_SINCE }
|
|
14540
14559
|
}
|
|
14541
14560
|
}
|
|
14542
14561
|
},
|
|
14543
14562
|
{
|
|
14544
|
-
name:
|
|
14545
|
-
description: "Traverse vault
|
|
14563
|
+
name: TOOL_GRAPH,
|
|
14564
|
+
description: "Traverse connections between vault notes via wikilinks \u2014 explore how sessions, memories, and plans relate to each other.",
|
|
14546
14565
|
inputSchema: {
|
|
14547
14566
|
type: "object",
|
|
14548
14567
|
properties: {
|
|
14549
|
-
note_id: { type: "string", description: 'Note ID to start from (e.g
|
|
14550
|
-
direction: { type: "string", enum: ["incoming", "outgoing", "both"], description: "Link direction (default: both)" },
|
|
14551
|
-
depth: { type: "number", description: "
|
|
14568
|
+
note_id: { type: "string", description: 'Note ID to start from (e.g., "session-abc123" or "decision-xyz789")' },
|
|
14569
|
+
direction: { type: "string", enum: ["incoming", "outgoing", "both"], description: "Link direction to follow (default: both)" },
|
|
14570
|
+
depth: { type: "number", description: "How many hops to traverse, 1-3 (default: 1)" }
|
|
14552
14571
|
},
|
|
14553
14572
|
required: ["note_id"]
|
|
14554
14573
|
}
|
|
14555
14574
|
},
|
|
14556
14575
|
{
|
|
14557
|
-
name:
|
|
14558
|
-
description: "Find vault notes with no
|
|
14576
|
+
name: TOOL_ORPHANS,
|
|
14577
|
+
description: "Find vault notes with no connections \u2014 potentially stale or unlinked knowledge that may need review or cleanup.",
|
|
14559
14578
|
inputSchema: {
|
|
14560
14579
|
type: "object",
|
|
14561
14580
|
properties: {}
|
|
14562
14581
|
}
|
|
14563
14582
|
},
|
|
14564
14583
|
{
|
|
14565
|
-
name:
|
|
14566
|
-
description: "View daemon
|
|
14584
|
+
name: TOOL_LOGS,
|
|
14585
|
+
description: "View daemon logs for debugging when sessions are not being captured, observations are missing, or embeddings fail. Filter by level, component, or time range.",
|
|
14567
14586
|
inputSchema: {
|
|
14568
14587
|
type: "object",
|
|
14569
14588
|
properties: {
|
|
14570
|
-
limit: { type: "number", description:
|
|
14571
|
-
level: { type: "string", enum: ["debug", "info", "warn", "error"], description: "Minimum log level" },
|
|
14572
|
-
component: { type: "string", description: "
|
|
14573
|
-
since: { type: "string", description:
|
|
14589
|
+
limit: { type: "number", description: `Max entries to return (default: ${MCP_LOGS_DEFAULT_LIMIT})` },
|
|
14590
|
+
level: { type: "string", enum: ["debug", "info", "warn", "error"], description: "Minimum log level filter" },
|
|
14591
|
+
component: { type: "string", description: "Component filter: daemon, processor, hooks, lifecycle, embeddings, mcp, lineage, watcher" },
|
|
14592
|
+
since: { type: "string", description: PROP_SINCE },
|
|
14574
14593
|
until: { type: "string", description: "ISO timestamp \u2014 entries before this time" }
|
|
14575
14594
|
}
|
|
14576
14595
|
}
|
|
14577
14596
|
},
|
|
14578
14597
|
{
|
|
14579
|
-
name:
|
|
14580
|
-
description: "Mark a memory as
|
|
14598
|
+
name: TOOL_SUPERSEDE,
|
|
14599
|
+
description: "Mark a memory as outdated and replaced by a newer one. Use when a decision was reversed, a gotcha was fixed, a discovery was wrong, or the codebase changed and an observation no longer applies. The old memory is preserved but marked superseded.",
|
|
14581
14600
|
inputSchema: {
|
|
14582
14601
|
type: "object",
|
|
14583
14602
|
properties: {
|
|
14584
|
-
old_memory_id: { type: "string", description:
|
|
14585
|
-
new_memory_id: { type: "string", description: "ID of the memory
|
|
14586
|
-
reason: { type: "string", description: "Why
|
|
14603
|
+
old_memory_id: { type: "string", description: 'ID of the outdated memory (e.g., "decision-abc123")' },
|
|
14604
|
+
new_memory_id: { type: "string", description: "ID of the replacement memory" },
|
|
14605
|
+
reason: { type: "string", description: "Why the old memory is being superseded" }
|
|
14587
14606
|
},
|
|
14588
14607
|
required: ["old_memory_id", "new_memory_id"]
|
|
14589
14608
|
}
|
|
14590
14609
|
},
|
|
14591
14610
|
{
|
|
14592
|
-
name:
|
|
14593
|
-
description: "Merge
|
|
14611
|
+
name: TOOL_CONSOLIDATE,
|
|
14612
|
+
description: "Merge 3+ related memories into a single comprehensive wisdom note. Use when multiple observations describe aspects of the same insight, share a root cause, or would be more useful as one reference. Source memories are marked superseded.",
|
|
14594
14613
|
inputSchema: {
|
|
14595
14614
|
type: "object",
|
|
14596
14615
|
properties: {
|
|
14597
|
-
source_memory_ids: { type: "array", items: { type: "string" }, description: "IDs of memories to
|
|
14598
|
-
consolidated_content: { type: "string", description: "The merged, comprehensive content
|
|
14599
|
-
observation_type: { type: "string", enum: OBSERVATION_TYPES, description:
|
|
14600
|
-
tags: { type: "array", items: { type: "string" }, description:
|
|
14616
|
+
source_memory_ids: { type: "array", items: { type: "string" }, description: "IDs of the memories to merge (minimum 2)" },
|
|
14617
|
+
consolidated_content: { type: "string", description: "The merged, comprehensive content \u2014 synthesize, do not just concatenate" },
|
|
14618
|
+
observation_type: { type: "string", enum: OBSERVATION_TYPES, description: `Type for the consolidated wisdom note: ${OBSERVATION_TYPES.join(", ")}` },
|
|
14619
|
+
tags: { type: "array", items: { type: "string" }, description: PROP_TAGS }
|
|
14601
14620
|
},
|
|
14602
14621
|
required: ["source_memory_ids", "consolidated_content", "observation_type"]
|
|
14603
14622
|
}
|
|
14604
14623
|
}
|
|
14605
14624
|
];
|
|
14625
|
+
|
|
14626
|
+
// src/mcp/server.ts
|
|
14606
14627
|
function createMycoServer(config2) {
|
|
14607
14628
|
const server = new Server(
|
|
14608
14629
|
{ name: "myco", version: getPluginVersion() },
|
|
@@ -14639,37 +14660,37 @@ function createMycoServer(config2) {
|
|
|
14639
14660
|
const idx = getIndex();
|
|
14640
14661
|
const input = args;
|
|
14641
14662
|
switch (name) {
|
|
14642
|
-
case
|
|
14663
|
+
case TOOL_SEARCH:
|
|
14643
14664
|
return { content: [{ type: "text", text: JSON.stringify(await handleMycoSearch(idx, input, config2.vectorIndex, config2.embeddingProvider)) }] };
|
|
14644
|
-
case
|
|
14665
|
+
case TOOL_RECALL:
|
|
14645
14666
|
return { content: [{ type: "text", text: JSON.stringify(await handleMycoRecall(idx, input)) }] };
|
|
14646
|
-
case
|
|
14667
|
+
case TOOL_REMEMBER: {
|
|
14647
14668
|
const result = await handleMycoRemember(config2.vaultDir, idx, input);
|
|
14648
14669
|
embedNote(result.id, String(input.content), { type: "memory", observation_type: String(input.type ?? ""), importance: "high" });
|
|
14649
|
-
logActivity(
|
|
14670
|
+
logActivity(TOOL_REMEMBER, { id: result.id, observation_type: input.type, path: result.note_path });
|
|
14650
14671
|
return { content: [{ type: "text", text: JSON.stringify(result) }] };
|
|
14651
14672
|
}
|
|
14652
|
-
case
|
|
14673
|
+
case TOOL_PLANS:
|
|
14653
14674
|
return { content: [{ type: "text", text: JSON.stringify(await handleMycoPlans(idx, input)) }] };
|
|
14654
|
-
case
|
|
14675
|
+
case TOOL_SESSIONS:
|
|
14655
14676
|
return { content: [{ type: "text", text: JSON.stringify(await handleMycoSessions(idx, input)) }] };
|
|
14656
|
-
case
|
|
14677
|
+
case TOOL_TEAM:
|
|
14657
14678
|
return { content: [{ type: "text", text: JSON.stringify(await handleMycoTeam(idx, input, config2.teamUser)) }] };
|
|
14658
|
-
case
|
|
14679
|
+
case TOOL_GRAPH:
|
|
14659
14680
|
return { content: [{ type: "text", text: JSON.stringify(await handleMycoGraph(idx, input)) }] };
|
|
14660
|
-
case
|
|
14681
|
+
case TOOL_ORPHANS:
|
|
14661
14682
|
return { content: [{ type: "text", text: JSON.stringify(await handleMycoOrphans(idx)) }] };
|
|
14662
|
-
case
|
|
14683
|
+
case TOOL_LOGS:
|
|
14663
14684
|
return { content: [{ type: "text", text: JSON.stringify(await handleMycoLogs(config2.vaultDir, input)) }] };
|
|
14664
|
-
case
|
|
14685
|
+
case TOOL_SUPERSEDE: {
|
|
14665
14686
|
const result = await handleMycoSupersede(config2.vaultDir, idx, input);
|
|
14666
14687
|
if (result.status === "superseded" && config2.vectorIndex) {
|
|
14667
14688
|
config2.vectorIndex.delete(result.old_memory);
|
|
14668
14689
|
}
|
|
14669
|
-
logActivity(
|
|
14690
|
+
logActivity(TOOL_SUPERSEDE, { old: result.old_memory, new: result.new_memory, status: result.status });
|
|
14670
14691
|
return { content: [{ type: "text", text: JSON.stringify(result) }] };
|
|
14671
14692
|
}
|
|
14672
|
-
case
|
|
14693
|
+
case TOOL_CONSOLIDATE: {
|
|
14673
14694
|
const result = await handleMycoConsolidate(config2.vaultDir, idx, input);
|
|
14674
14695
|
embedNote(result.wisdom_id, String(input.consolidated_content), { type: "memory", observation_type: String(input.observation_type ?? ""), importance: "high" });
|
|
14675
14696
|
if (config2.vectorIndex && Array.isArray(input.source_memory_ids)) {
|
|
@@ -14677,7 +14698,7 @@ function createMycoServer(config2) {
|
|
|
14677
14698
|
config2.vectorIndex.delete(id);
|
|
14678
14699
|
}
|
|
14679
14700
|
}
|
|
14680
|
-
logActivity(
|
|
14701
|
+
logActivity(TOOL_CONSOLIDATE, { wisdom_id: result.wisdom_id, sources: input.source_memory_ids, archived: result.sources_archived });
|
|
14681
14702
|
return { content: [{ type: "text", text: JSON.stringify(result) }] };
|
|
14682
14703
|
}
|
|
14683
14704
|
default:
|
|
@@ -14720,4 +14741,4 @@ export {
|
|
|
14720
14741
|
createMycoServer,
|
|
14721
14742
|
main
|
|
14722
14743
|
};
|
|
14723
|
-
//# sourceMappingURL=server-
|
|
14744
|
+
//# sourceMappingURL=server-YYCYIH5Z.js.map
|