@mcp-graph-workflow/mcp-graph 5.2.0 → 5.4.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.
- package/dist/api/router.d.ts +0 -1
- package/dist/api/router.d.ts.map +1 -1
- package/dist/api/router.js +4 -5
- package/dist/api/router.js.map +1 -1
- package/dist/api/routes/benchmark.d.ts.map +1 -1
- package/dist/api/routes/benchmark.js +47 -2
- package/dist/api/routes/benchmark.js.map +1 -1
- package/dist/api/routes/code-graph.d.ts +12 -0
- package/dist/api/routes/code-graph.d.ts.map +1 -0
- package/dist/api/routes/code-graph.js +154 -0
- package/dist/api/routes/code-graph.js.map +1 -0
- package/dist/api/routes/context.d.ts.map +1 -1
- package/dist/api/routes/context.js +75 -0
- package/dist/api/routes/context.js.map +1 -1
- package/dist/api/routes/folder.d.ts +1 -4
- package/dist/api/routes/folder.d.ts.map +1 -1
- package/dist/api/routes/folder.js +19 -17
- package/dist/api/routes/folder.js.map +1 -1
- package/dist/api/routes/integrations.d.ts.map +1 -1
- package/dist/api/routes/integrations.js +60 -16
- package/dist/api/routes/integrations.js.map +1 -1
- package/dist/api/routes/knowledge.js +1 -1
- package/dist/api/routes/knowledge.js.map +1 -1
- package/dist/api/routes/skills.d.ts +2 -1
- package/dist/api/routes/skills.d.ts.map +1 -1
- package/dist/api/routes/skills.js +194 -4
- package/dist/api/routes/skills.js.map +1 -1
- package/dist/cli/commands/index-cmd.js +5 -5
- package/dist/cli/commands/index-cmd.js.map +1 -1
- package/dist/core/code/code-indexer.d.ts +20 -0
- package/dist/core/code/code-indexer.d.ts.map +1 -0
- package/dist/core/code/code-indexer.js +161 -0
- package/dist/core/code/code-indexer.js.map +1 -0
- package/dist/core/code/code-search.d.ts +16 -0
- package/dist/core/code/code-search.d.ts.map +1 -0
- package/dist/core/code/code-search.js +77 -0
- package/dist/core/code/code-search.js.map +1 -0
- package/dist/core/code/code-store.d.ts +35 -0
- package/dist/core/code/code-store.d.ts.map +1 -0
- package/dist/core/code/code-store.js +228 -0
- package/dist/core/code/code-store.js.map +1 -0
- package/dist/core/code/code-types.d.ts +209 -0
- package/dist/core/code/code-types.d.ts.map +1 -0
- package/dist/core/code/code-types.js +94 -0
- package/dist/core/code/code-types.js.map +1 -0
- package/dist/core/code/graph-traversal.d.ts +27 -0
- package/dist/core/code/graph-traversal.d.ts.map +1 -0
- package/dist/core/code/graph-traversal.js +122 -0
- package/dist/core/code/graph-traversal.js.map +1 -0
- package/dist/core/code/process-detector.d.ts +11 -0
- package/dist/core/code/process-detector.d.ts.map +1 -0
- package/dist/core/code/process-detector.js +65 -0
- package/dist/core/code/process-detector.js.map +1 -0
- package/dist/core/code/ts-analyzer.d.ts +12 -0
- package/dist/core/code/ts-analyzer.d.ts.map +1 -0
- package/dist/core/code/ts-analyzer.js +331 -0
- package/dist/core/code/ts-analyzer.js.map +1 -0
- package/dist/core/config/ai-memory-generator.d.ts.map +1 -1
- package/dist/core/config/ai-memory-generator.js +149 -61
- package/dist/core/config/ai-memory-generator.js.map +1 -1
- package/dist/core/config/config-loader.d.ts.map +1 -1
- package/dist/core/config/config-loader.js +2 -10
- package/dist/core/config/config-loader.js.map +1 -1
- package/dist/core/config/config-schema.d.ts +1 -2
- package/dist/core/config/config-schema.d.ts.map +1 -1
- package/dist/core/config/config-schema.js +2 -3
- package/dist/core/config/config-schema.js.map +1 -1
- package/dist/core/context/compact-context.d.ts +51 -0
- package/dist/core/context/compact-context.d.ts.map +1 -1
- package/dist/core/context/compact-context.js +292 -0
- package/dist/core/context/compact-context.js.map +1 -1
- package/dist/core/context/context-assembler.d.ts +1 -1
- package/dist/core/context/context-assembler.js +1 -1
- package/dist/core/doctor/doctor-checks.d.ts +1 -1
- package/dist/core/doctor/doctor-checks.js +21 -21
- package/dist/core/doctor/doctor-checks.js.map +1 -1
- package/dist/core/events/event-types.d.ts +18 -1
- package/dist/core/events/event-types.d.ts.map +1 -1
- package/dist/core/graph/graph-types.d.ts +1 -0
- package/dist/core/graph/graph-types.d.ts.map +1 -1
- package/dist/core/insights/bottleneck-detector.js +1 -1
- package/dist/core/insights/bottleneck-detector.js.map +1 -1
- package/dist/core/integrations/enriched-context.d.ts +10 -6
- package/dist/core/integrations/enriched-context.d.ts.map +1 -1
- package/dist/core/integrations/enriched-context.js +35 -35
- package/dist/core/integrations/enriched-context.js.map +1 -1
- package/dist/core/integrations/integration-orchestrator.js +2 -2
- package/dist/core/integrations/integration-orchestrator.js.map +1 -1
- package/dist/core/integrations/mcp-deps-installer.d.ts +1 -1
- package/dist/core/integrations/mcp-deps-installer.d.ts.map +1 -1
- package/dist/core/integrations/mcp-deps-installer.js +1 -60
- package/dist/core/integrations/mcp-deps-installer.js.map +1 -1
- package/dist/core/integrations/mcp-servers-config.d.ts +1 -1
- package/dist/core/integrations/mcp-servers-config.d.ts.map +1 -1
- package/dist/core/integrations/mcp-servers-config.js +0 -17
- package/dist/core/integrations/mcp-servers-config.js.map +1 -1
- package/dist/core/integrations/tool-status.d.ts +8 -3
- package/dist/core/integrations/tool-status.d.ts.map +1 -1
- package/dist/core/integrations/tool-status.js +38 -48
- package/dist/core/integrations/tool-status.js.map +1 -1
- package/dist/core/memory/memory-migrator.d.ts +15 -0
- package/dist/core/memory/memory-migrator.d.ts.map +1 -0
- package/dist/core/memory/memory-migrator.js +64 -0
- package/dist/core/memory/memory-migrator.js.map +1 -0
- package/dist/core/memory/memory-reader.d.ts +30 -0
- package/dist/core/memory/memory-reader.d.ts.map +1 -0
- package/dist/core/memory/memory-reader.js +106 -0
- package/dist/core/memory/memory-reader.js.map +1 -0
- package/dist/core/planner/lifecycle-phase.d.ts +1 -0
- package/dist/core/planner/lifecycle-phase.d.ts.map +1 -1
- package/dist/core/planner/lifecycle-phase.js +11 -8
- package/dist/core/planner/lifecycle-phase.js.map +1 -1
- package/dist/core/rag/memory-indexer.d.ts +16 -0
- package/dist/core/rag/memory-indexer.d.ts.map +1 -0
- package/dist/core/rag/{serena-indexer.js → memory-indexer.js} +12 -12
- package/dist/core/rag/memory-indexer.js.map +1 -0
- package/dist/core/rag/{serena-rag-query.d.ts → memory-rag-query.d.ts} +11 -9
- package/dist/core/rag/memory-rag-query.d.ts.map +1 -0
- package/dist/core/rag/{serena-rag-query.js → memory-rag-query.js} +18 -15
- package/dist/core/rag/memory-rag-query.js.map +1 -0
- package/dist/core/rag/skill-indexer.d.ts +16 -0
- package/dist/core/rag/skill-indexer.d.ts.map +1 -0
- package/dist/core/rag/skill-indexer.js +98 -0
- package/dist/core/rag/skill-indexer.js.map +1 -0
- package/dist/core/skills/built-in-skills.d.ts +26 -0
- package/dist/core/skills/built-in-skills.d.ts.map +1 -0
- package/dist/core/skills/built-in-skills.js +467 -0
- package/dist/core/skills/built-in-skills.js.map +1 -0
- package/dist/core/skills/self-healing-listener.d.ts +22 -0
- package/dist/core/skills/self-healing-listener.d.ts.map +1 -0
- package/dist/core/skills/self-healing-listener.js +102 -0
- package/dist/core/skills/self-healing-listener.js.map +1 -0
- package/dist/core/skills/skill-store.d.ts +14 -0
- package/dist/core/skills/skill-store.d.ts.map +1 -0
- package/dist/core/skills/skill-store.js +109 -0
- package/dist/core/skills/skill-store.js.map +1 -0
- package/dist/core/store/knowledge-store.d.ts +1 -1
- package/dist/core/store/knowledge-store.js +1 -1
- package/dist/core/store/migrations.d.ts.map +1 -1
- package/dist/core/store/migrations.js +128 -0
- package/dist/core/store/migrations.js.map +1 -1
- package/dist/core/store/path-resolver.d.ts +38 -0
- package/dist/core/store/path-resolver.d.ts.map +1 -0
- package/dist/core/store/path-resolver.js +92 -0
- package/dist/core/store/path-resolver.js.map +1 -0
- package/dist/core/store/sqlite-store.d.ts +21 -0
- package/dist/core/store/sqlite-store.d.ts.map +1 -1
- package/dist/core/store/sqlite-store.js +81 -30
- package/dist/core/store/sqlite-store.js.map +1 -1
- package/dist/core/store/tool-token-store.d.ts +39 -0
- package/dist/core/store/tool-token-store.d.ts.map +1 -0
- package/dist/core/store/tool-token-store.js +79 -0
- package/dist/core/store/tool-token-store.js.map +1 -0
- package/dist/core/utils/constants.d.ts +10 -0
- package/dist/core/utils/constants.d.ts.map +1 -1
- package/dist/core/utils/constants.js +12 -0
- package/dist/core/utils/constants.js.map +1 -1
- package/dist/mcp/app-factory.d.ts +0 -1
- package/dist/mcp/app-factory.d.ts.map +1 -1
- package/dist/mcp/app-factory.js +2 -2
- package/dist/mcp/app-factory.js.map +1 -1
- package/dist/mcp/lifecycle-wrapper.d.ts +3 -1
- package/dist/mcp/lifecycle-wrapper.d.ts.map +1 -1
- package/dist/mcp/lifecycle-wrapper.js +41 -1
- package/dist/mcp/lifecycle-wrapper.js.map +1 -1
- package/dist/mcp/server.js +19 -14
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js +6 -0
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/list-skills.d.ts +7 -0
- package/dist/mcp/tools/list-skills.d.ts.map +1 -0
- package/dist/mcp/tools/list-skills.js +68 -0
- package/dist/mcp/tools/list-skills.js.map +1 -0
- package/dist/mcp/tools/manage-skill.d.ts +8 -0
- package/dist/mcp/tools/manage-skill.d.ts.map +1 -0
- package/dist/mcp/tools/manage-skill.js +149 -0
- package/dist/mcp/tools/manage-skill.js.map +1 -0
- package/dist/mcp/tools/memory.d.ts +8 -0
- package/dist/mcp/tools/memory.d.ts.map +1 -0
- package/dist/mcp/tools/memory.js +106 -0
- package/dist/mcp/tools/memory.js.map +1 -0
- package/dist/mcp/tools/reindex-knowledge.d.ts.map +1 -1
- package/dist/mcp/tools/reindex-knowledge.js +11 -7
- package/dist/mcp/tools/reindex-knowledge.js.map +1 -1
- package/dist/schemas/graph.schema.d.ts +2 -0
- package/dist/schemas/graph.schema.d.ts.map +1 -1
- package/dist/schemas/graph.schema.js +1 -0
- package/dist/schemas/graph.schema.js.map +1 -1
- package/dist/schemas/knowledge.schema.d.ts +4 -0
- package/dist/schemas/knowledge.schema.d.ts.map +1 -1
- package/dist/schemas/knowledge.schema.js +1 -1
- package/dist/schemas/knowledge.schema.js.map +1 -1
- package/dist/schemas/skill.schema.d.ts +57 -0
- package/dist/schemas/skill.schema.d.ts.map +1 -0
- package/dist/schemas/skill.schema.js +24 -0
- package/dist/schemas/skill.schema.js.map +1 -0
- package/dist/web/dashboard/dist/assets/benchmark-tab-BW4QxI49.js +1 -0
- package/dist/web/dashboard/dist/assets/constants-kpH_c6vY.js +1 -0
- package/dist/web/dashboard/dist/assets/context-tab-C5RAlXNW.js +1 -0
- package/dist/web/dashboard/dist/assets/gitnexus-tab-BnxxYl2F.js +430 -0
- package/dist/web/dashboard/dist/assets/graph-tab-Cv_wQ6Az.js +1 -0
- package/dist/web/dashboard/dist/assets/graph-utils-Ds1zJyD1.js +7 -0
- package/dist/web/dashboard/dist/assets/index-BAeZDWWy.js +53 -0
- package/dist/web/dashboard/dist/assets/index-Bic_URMs.js +17 -0
- package/dist/web/dashboard/dist/assets/index-DQqYFXms.css +1 -0
- package/dist/web/dashboard/dist/assets/insights-tab-U_ATOqPu.js +52 -0
- package/dist/web/dashboard/dist/assets/{logs-tab-Cxpcv_ni.js → logs-tab-B8psCXuB.js} +1 -1
- package/dist/web/dashboard/dist/assets/memories-tab-DcWok2by.js +1 -0
- package/dist/web/dashboard/dist/assets/prd-backlog-tab-CjftveTc.js +1 -0
- package/dist/web/dashboard/dist/assets/skills-tab-Ddp1w4vS.js +1 -0
- package/dist/web/dashboard/dist/index.html +2 -2
- package/package.json +2 -2
- package/dist/api/routes/gitnexus.d.ts +0 -12
- package/dist/api/routes/gitnexus.d.ts.map +0 -1
- package/dist/api/routes/gitnexus.js +0 -164
- package/dist/api/routes/gitnexus.js.map +0 -1
- package/dist/core/integrations/gitnexus-launcher.d.ts +0 -67
- package/dist/core/integrations/gitnexus-launcher.d.ts.map +0 -1
- package/dist/core/integrations/gitnexus-launcher.js +0 -268
- package/dist/core/integrations/gitnexus-launcher.js.map +0 -1
- package/dist/core/integrations/gitnexus-queries.d.ts +0 -55
- package/dist/core/integrations/gitnexus-queries.d.ts.map +0 -1
- package/dist/core/integrations/gitnexus-queries.js +0 -168
- package/dist/core/integrations/gitnexus-queries.js.map +0 -1
- package/dist/core/integrations/serena-reader.d.ts +0 -18
- package/dist/core/integrations/serena-reader.d.ts.map +0 -1
- package/dist/core/integrations/serena-reader.js +0 -68
- package/dist/core/integrations/serena-reader.js.map +0 -1
- package/dist/core/rag/serena-indexer.d.ts +0 -16
- package/dist/core/rag/serena-indexer.d.ts.map +0 -1
- package/dist/core/rag/serena-indexer.js.map +0 -1
- package/dist/core/rag/serena-rag-query.d.ts.map +0 -1
- package/dist/core/rag/serena-rag-query.js.map +0 -1
- package/dist/web/dashboard/dist/assets/benchmark-tab-DE6hAHVG.js +0 -1
- package/dist/web/dashboard/dist/assets/constants-BIEJOBya.js +0 -1
- package/dist/web/dashboard/dist/assets/gitnexus-tab-DsBjJHx8.js +0 -312
- package/dist/web/dashboard/dist/assets/graph-tab-C09DzeZ_.js +0 -1
- package/dist/web/dashboard/dist/assets/graph-utils-D4LFspTf.js +0 -23
- package/dist/web/dashboard/dist/assets/index-B2fTJ4AS.js +0 -53
- package/dist/web/dashboard/dist/assets/index-CkqEqKiH.css +0 -1
- package/dist/web/dashboard/dist/assets/insights-tab-Bm7CDckb.js +0 -1
- package/dist/web/dashboard/dist/assets/prd-backlog-tab-X84Rj-IB.js +0 -1
- package/dist/web/dashboard/dist/assets/serena-tab-BunULNvw.js +0 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool — list_skills
|
|
3
|
+
* Lists built-in skills with optional phase filter.
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod/v4";
|
|
6
|
+
import { getBuiltInSkills, getSkillsByPhase, getSkillByName } from "../../core/skills/built-in-skills.js";
|
|
7
|
+
import { logger } from "../../core/utils/logger.js";
|
|
8
|
+
export function registerListSkills(server) {
|
|
9
|
+
server.tool("list_skills", "List built-in skills (prompts/workflows) mapped to lifecycle phases. Filter by phase or get a specific skill by name.", {
|
|
10
|
+
phase: z
|
|
11
|
+
.enum(["ANALYZE", "DESIGN", "PLAN", "IMPLEMENT", "VALIDATE", "REVIEW", "HANDOFF", "LISTENING"])
|
|
12
|
+
.optional()
|
|
13
|
+
.describe("Filter skills by lifecycle phase"),
|
|
14
|
+
name: z
|
|
15
|
+
.string()
|
|
16
|
+
.optional()
|
|
17
|
+
.describe("Get a specific skill by name (returns full instructions)"),
|
|
18
|
+
}, async ({ phase, name }) => {
|
|
19
|
+
logger.debug("tool:list_skills", { phase, name });
|
|
20
|
+
// Single skill lookup with full instructions
|
|
21
|
+
if (name) {
|
|
22
|
+
const skill = getSkillByName(name);
|
|
23
|
+
if (!skill) {
|
|
24
|
+
return {
|
|
25
|
+
content: [{
|
|
26
|
+
type: "text",
|
|
27
|
+
text: JSON.stringify({ error: `Skill '${name}' not found` }, null, 2),
|
|
28
|
+
}],
|
|
29
|
+
isError: true,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
content: [{
|
|
34
|
+
type: "text",
|
|
35
|
+
text: JSON.stringify({
|
|
36
|
+
name: skill.name,
|
|
37
|
+
description: skill.description,
|
|
38
|
+
category: skill.category,
|
|
39
|
+
phases: skill.phases,
|
|
40
|
+
instructions: skill.instructions,
|
|
41
|
+
}, null, 2),
|
|
42
|
+
}],
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
// List skills (optionally filtered by phase)
|
|
46
|
+
const skills = phase
|
|
47
|
+
? getSkillsByPhase(phase)
|
|
48
|
+
: getBuiltInSkills();
|
|
49
|
+
const summary = skills.map((s) => ({
|
|
50
|
+
name: s.name,
|
|
51
|
+
description: s.description,
|
|
52
|
+
category: s.category,
|
|
53
|
+
phases: s.phases,
|
|
54
|
+
}));
|
|
55
|
+
logger.info("tool:list_skills:ok", { count: summary.length, phase: phase ?? "all" });
|
|
56
|
+
return {
|
|
57
|
+
content: [{
|
|
58
|
+
type: "text",
|
|
59
|
+
text: JSON.stringify({
|
|
60
|
+
total: summary.length,
|
|
61
|
+
...(phase ? { phase } : {}),
|
|
62
|
+
skills: summary,
|
|
63
|
+
}, null, 2),
|
|
64
|
+
}],
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=list-skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-skills.js","sourceRoot":"","sources":["../../../src/mcp/tools/list-skills.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAE1G,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAClD,MAAM,CAAC,IAAI,CACT,aAAa,EACb,uHAAuH,EACvH;QACE,KAAK,EAAE,CAAC;aACL,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;aAC9F,QAAQ,EAAE;aACV,QAAQ,CAAC,kCAAkC,CAAC;QAC/C,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0DAA0D,CAAC;KACxE,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QACxB,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAElD,6CAA6C;QAC7C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,IAAI,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtE,CAAC;oBACF,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,WAAW,EAAE,KAAK,CAAC,WAAW;4BAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACxB,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,YAAY,EAAE,KAAK,CAAC,YAAY;yBACjC,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,MAAM,MAAM,GAAG,KAAK;YAClB,CAAC,CAAC,gBAAgB,CAAC,KAAuB,CAAC;YAC3C,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAEvB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC,CAAC;QAEJ,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;QACrF,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,OAAO,CAAC,MAAM;wBACrB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3B,MAAM,EAAE,OAAO;qBAChB,EAAE,IAAI,EAAE,CAAC,CAAC;iBACZ,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool — manage_skill
|
|
3
|
+
* Enable/disable skills and CRUD custom skills via agent.
|
|
4
|
+
*/
|
|
5
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
6
|
+
import type { SqliteStore } from "../../core/store/sqlite-store.js";
|
|
7
|
+
export declare function registerManageSkill(server: McpServer, store: SqliteStore): void;
|
|
8
|
+
//# sourceMappingURL=manage-skill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manage-skill.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/manage-skill.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAapE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAsJ/E"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool — manage_skill
|
|
3
|
+
* Enable/disable skills and CRUD custom skills via agent.
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod/v4";
|
|
6
|
+
import { setSkillEnabled, getSkillPreferences, createCustomSkill, updateCustomSkill, deleteCustomSkill, getCustomSkills, getCustomSkillByName, } from "../../core/skills/skill-store.js";
|
|
7
|
+
import { CustomSkillInputSchema } from "../../schemas/skill.schema.js";
|
|
8
|
+
import { logger } from "../../core/utils/logger.js";
|
|
9
|
+
export function registerManageSkill(server, store) {
|
|
10
|
+
server.tool("manage_skill", "Manage skills: enable/disable built-in skills, CRUD custom skills (know-me, project-specific).", {
|
|
11
|
+
action: z
|
|
12
|
+
.enum(["enable", "disable", "create", "update", "delete", "list_custom", "get_preferences"])
|
|
13
|
+
.describe("Action to perform"),
|
|
14
|
+
skillName: z
|
|
15
|
+
.string()
|
|
16
|
+
.optional()
|
|
17
|
+
.describe("Skill name (for enable/disable/delete_by_name)"),
|
|
18
|
+
skillId: z
|
|
19
|
+
.string()
|
|
20
|
+
.optional()
|
|
21
|
+
.describe("Skill ID (for update/delete)"),
|
|
22
|
+
data: z
|
|
23
|
+
.object({
|
|
24
|
+
name: z.string().optional(),
|
|
25
|
+
description: z.string().optional(),
|
|
26
|
+
category: z.string().optional(),
|
|
27
|
+
phases: z.array(z.string()).optional(),
|
|
28
|
+
instructions: z.string().optional(),
|
|
29
|
+
})
|
|
30
|
+
.optional()
|
|
31
|
+
.describe("Skill data (for create/update)"),
|
|
32
|
+
}, async ({ action, skillName, skillId, data }) => {
|
|
33
|
+
logger.debug("tool:manage_skill", { action, skillName, skillId });
|
|
34
|
+
const project = store.getProject();
|
|
35
|
+
if (!project) {
|
|
36
|
+
return {
|
|
37
|
+
content: [{ type: "text", text: JSON.stringify({ error: "No active project. Run init first." }) }],
|
|
38
|
+
isError: true,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const db = store.getDb();
|
|
42
|
+
const projectId = project.id;
|
|
43
|
+
try {
|
|
44
|
+
switch (action) {
|
|
45
|
+
case "enable":
|
|
46
|
+
case "disable": {
|
|
47
|
+
if (!skillName) {
|
|
48
|
+
return {
|
|
49
|
+
content: [{ type: "text", text: JSON.stringify({ error: "skillName required for enable/disable" }) }],
|
|
50
|
+
isError: true,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
setSkillEnabled(db, projectId, skillName, action === "enable");
|
|
54
|
+
return {
|
|
55
|
+
content: [{ type: "text", text: JSON.stringify({ ok: true, skillName, enabled: action === "enable" }) }],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
case "create": {
|
|
59
|
+
if (!data) {
|
|
60
|
+
return {
|
|
61
|
+
content: [{ type: "text", text: JSON.stringify({ error: "data required for create" }) }],
|
|
62
|
+
isError: true,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
const parsed = CustomSkillInputSchema.safeParse(data);
|
|
66
|
+
if (!parsed.success) {
|
|
67
|
+
return {
|
|
68
|
+
content: [{ type: "text", text: JSON.stringify({ error: "Validation failed", details: parsed.error.issues }) }],
|
|
69
|
+
isError: true,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
const created = createCustomSkill(db, projectId, parsed.data);
|
|
73
|
+
logger.info("tool:manage_skill:created", { id: created.id, name: created.name });
|
|
74
|
+
return {
|
|
75
|
+
content: [{ type: "text", text: JSON.stringify(created, null, 2) }],
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
case "update": {
|
|
79
|
+
if (!skillId || !data) {
|
|
80
|
+
return {
|
|
81
|
+
content: [{ type: "text", text: JSON.stringify({ error: "skillId and data required for update" }) }],
|
|
82
|
+
isError: true,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
const updated = updateCustomSkill(db, projectId, skillId, data);
|
|
86
|
+
return {
|
|
87
|
+
content: [{ type: "text", text: JSON.stringify(updated, null, 2) }],
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
case "delete": {
|
|
91
|
+
if (!skillId && !skillName) {
|
|
92
|
+
return {
|
|
93
|
+
content: [{ type: "text", text: JSON.stringify({ error: "skillId or skillName required for delete" }) }],
|
|
94
|
+
isError: true,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
if (skillId) {
|
|
98
|
+
deleteCustomSkill(db, projectId, skillId);
|
|
99
|
+
}
|
|
100
|
+
else if (skillName) {
|
|
101
|
+
const skill = getCustomSkillByName(db, projectId, skillName);
|
|
102
|
+
if (!skill) {
|
|
103
|
+
return {
|
|
104
|
+
content: [{ type: "text", text: JSON.stringify({ error: `Custom skill '${skillName}' not found` }) }],
|
|
105
|
+
isError: true,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
deleteCustomSkill(db, projectId, skill.id);
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
content: [{ type: "text", text: JSON.stringify({ ok: true, deleted: skillId ?? skillName }) }],
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
case "list_custom": {
|
|
115
|
+
const customs = getCustomSkills(db, projectId);
|
|
116
|
+
return {
|
|
117
|
+
content: [{
|
|
118
|
+
type: "text",
|
|
119
|
+
text: JSON.stringify({ total: customs.length, skills: customs }, null, 2),
|
|
120
|
+
}],
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
case "get_preferences": {
|
|
124
|
+
const prefs = getSkillPreferences(db, projectId);
|
|
125
|
+
const obj = {};
|
|
126
|
+
for (const [k, v] of prefs)
|
|
127
|
+
obj[k] = v;
|
|
128
|
+
return {
|
|
129
|
+
content: [{ type: "text", text: JSON.stringify({ preferences: obj }, null, 2) }],
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
default:
|
|
133
|
+
return {
|
|
134
|
+
content: [{ type: "text", text: JSON.stringify({ error: `Unknown action: ${action}` }) }],
|
|
135
|
+
isError: true,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
141
|
+
logger.error("tool:manage_skill:error", { action, error: message });
|
|
142
|
+
return {
|
|
143
|
+
content: [{ type: "text", text: JSON.stringify({ error: message }) }],
|
|
144
|
+
isError: true,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=manage-skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manage-skill.js","sourceRoot":"","sources":["../../../src/mcp/tools/manage-skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tools — Native Memory CRUD.
|
|
3
|
+
* Provides write_memory, read_memory, list_memories, delete_memory.
|
|
4
|
+
*/
|
|
5
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
6
|
+
import type { SqliteStore } from "../../core/store/sqlite-store.js";
|
|
7
|
+
export declare function registerMemory(server: McpServer, store: SqliteStore): void;
|
|
8
|
+
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/memory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAWpE,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAgI1E"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tools — Native Memory CRUD.
|
|
3
|
+
* Provides write_memory, read_memory, list_memories, delete_memory.
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod/v4";
|
|
6
|
+
import { KnowledgeStore } from "../../core/store/knowledge-store.js";
|
|
7
|
+
import { listMemories, readMemory, writeMemory, deleteMemory, } from "../../core/memory/memory-reader.js";
|
|
8
|
+
import { indexMemories } from "../../core/rag/memory-indexer.js";
|
|
9
|
+
import { logger } from "../../core/utils/logger.js";
|
|
10
|
+
export function registerMemory(server, store) {
|
|
11
|
+
// ── write_memory ─────────────────────────────
|
|
12
|
+
server.tool("write_memory", "Write a project memory to workflow-graph/memories/{name}.md. Auto-indexes into the knowledge store for RAG search.", {
|
|
13
|
+
name: z.string().describe("Memory name (without .md extension). Supports nested paths like 'architecture/overview'."),
|
|
14
|
+
content: z.string().describe("Memory content (markdown)."),
|
|
15
|
+
}, async ({ name, content }) => {
|
|
16
|
+
logger.debug("tool:write_memory", { name });
|
|
17
|
+
const basePath = process.cwd();
|
|
18
|
+
await writeMemory(basePath, name, content);
|
|
19
|
+
// Auto-index into knowledge store
|
|
20
|
+
const knowledgeStore = new KnowledgeStore(store.getDb());
|
|
21
|
+
const indexResult = await indexMemories(knowledgeStore, basePath);
|
|
22
|
+
return {
|
|
23
|
+
content: [{
|
|
24
|
+
type: "text",
|
|
25
|
+
text: JSON.stringify({
|
|
26
|
+
ok: true,
|
|
27
|
+
name,
|
|
28
|
+
sizeBytes: Buffer.byteLength(content, "utf-8"),
|
|
29
|
+
indexed: indexResult.documentsIndexed,
|
|
30
|
+
}, null, 2),
|
|
31
|
+
}],
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
// ── read_memory ──────────────────────────────
|
|
35
|
+
server.tool("read_memory", "Read a project memory from workflow-graph/memories/{name}.md.", {
|
|
36
|
+
name: z.string().describe("Memory name (without .md extension)."),
|
|
37
|
+
}, async ({ name }) => {
|
|
38
|
+
logger.debug("tool:read_memory", { name });
|
|
39
|
+
const basePath = process.cwd();
|
|
40
|
+
const memory = await readMemory(basePath, name);
|
|
41
|
+
if (!memory) {
|
|
42
|
+
return {
|
|
43
|
+
content: [{
|
|
44
|
+
type: "text",
|
|
45
|
+
text: JSON.stringify({ error: `Memory not found: ${name}` }),
|
|
46
|
+
}],
|
|
47
|
+
isError: true,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
content: [{
|
|
52
|
+
type: "text",
|
|
53
|
+
text: JSON.stringify(memory, null, 2),
|
|
54
|
+
}],
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
// ── list_memories ────────────────────────────
|
|
58
|
+
server.tool("list_memories", "List all project memories available in workflow-graph/memories/.", {}, async () => {
|
|
59
|
+
logger.debug("tool:list_memories", {});
|
|
60
|
+
const basePath = process.cwd();
|
|
61
|
+
const names = await listMemories(basePath);
|
|
62
|
+
return {
|
|
63
|
+
content: [{
|
|
64
|
+
type: "text",
|
|
65
|
+
text: JSON.stringify({
|
|
66
|
+
count: names.length,
|
|
67
|
+
memories: names,
|
|
68
|
+
}, null, 2),
|
|
69
|
+
}],
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
// ── delete_memory ────────────────────────────
|
|
73
|
+
server.tool("delete_memory", "Delete a project memory from workflow-graph/memories/{name}.md and remove from knowledge store.", {
|
|
74
|
+
name: z.string().describe("Memory name to delete (without .md extension)."),
|
|
75
|
+
}, async ({ name }) => {
|
|
76
|
+
logger.debug("tool:delete_memory", { name });
|
|
77
|
+
const basePath = process.cwd();
|
|
78
|
+
const deleted = await deleteMemory(basePath, name);
|
|
79
|
+
if (!deleted) {
|
|
80
|
+
return {
|
|
81
|
+
content: [{
|
|
82
|
+
type: "text",
|
|
83
|
+
text: JSON.stringify({ error: `Memory not found: ${name}` }),
|
|
84
|
+
}],
|
|
85
|
+
isError: true,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
// Remove from knowledge store
|
|
89
|
+
const knowledgeStore = new KnowledgeStore(store.getDb());
|
|
90
|
+
const docs = knowledgeStore.list({ sourceType: "memory" });
|
|
91
|
+
let removed = 0;
|
|
92
|
+
for (const doc of docs) {
|
|
93
|
+
if (doc.sourceId === `memory:${name}`) {
|
|
94
|
+
knowledgeStore.delete(doc.id);
|
|
95
|
+
removed++;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
content: [{
|
|
100
|
+
type: "text",
|
|
101
|
+
text: JSON.stringify({ ok: true, name, knowledgeDocsRemoved: removed }),
|
|
102
|
+
}],
|
|
103
|
+
};
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/mcp/tools/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reindex-knowledge.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/reindex-knowledge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"reindex-knowledge.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/reindex-knowledge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAUpE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAsDpF"}
|
|
@@ -2,33 +2,37 @@ import { z } from "zod/v4";
|
|
|
2
2
|
import { KnowledgeStore } from "../../core/store/knowledge-store.js";
|
|
3
3
|
import { DocsCacheStore } from "../../core/docs/docs-cache-store.js";
|
|
4
4
|
import { EmbeddingStore } from "../../core/rag/embedding-store.js";
|
|
5
|
-
import {
|
|
5
|
+
import { indexMemories } from "../../core/rag/memory-indexer.js";
|
|
6
6
|
import { indexCachedDocs } from "../../core/rag/docs-indexer.js";
|
|
7
|
+
import { indexSkills } from "../../core/rag/skill-indexer.js";
|
|
7
8
|
import { indexAllEmbeddings } from "../../core/rag/rag-pipeline.js";
|
|
8
9
|
import { logger } from "../../core/utils/logger.js";
|
|
9
10
|
export function registerReindexKnowledge(server, store) {
|
|
10
|
-
server.tool("reindex_knowledge", "Reindex all knowledge sources (
|
|
11
|
+
server.tool("reindex_knowledge", "Reindex all knowledge sources (memories, cached docs) into the unified knowledge store and rebuild embeddings.", {
|
|
11
12
|
basePath: z
|
|
12
13
|
.string()
|
|
13
14
|
.optional()
|
|
14
|
-
.describe("Project base path for finding
|
|
15
|
+
.describe("Project base path for finding memories (default: cwd)"),
|
|
15
16
|
sources: z
|
|
16
|
-
.array(z.enum(["serena", "docs", "embeddings"]))
|
|
17
|
+
.array(z.enum(["memory", "serena", "docs", "skills", "embeddings"]))
|
|
17
18
|
.optional()
|
|
18
|
-
.describe("Which sources to reindex (default: all)"),
|
|
19
|
+
.describe("Which sources to reindex. 'serena' is an alias for 'memory'. (default: all)"),
|
|
19
20
|
}, async ({ basePath, sources }) => {
|
|
20
21
|
logger.debug("tool:reindex_knowledge", {});
|
|
21
22
|
const projectPath = basePath ?? process.cwd();
|
|
22
23
|
const allSources = !sources || sources.length === 0;
|
|
23
24
|
const knowledgeStore = new KnowledgeStore(store.getDb());
|
|
24
25
|
const results = {};
|
|
25
|
-
if (allSources || sources?.includes("serena")) {
|
|
26
|
-
results.
|
|
26
|
+
if (allSources || sources?.includes("memory") || sources?.includes("serena")) {
|
|
27
|
+
results.memories = await indexMemories(knowledgeStore, projectPath);
|
|
27
28
|
}
|
|
28
29
|
if (allSources || sources?.includes("docs")) {
|
|
29
30
|
const docsCacheStore = new DocsCacheStore(store.getDb());
|
|
30
31
|
results.docs = indexCachedDocs(knowledgeStore, docsCacheStore);
|
|
31
32
|
}
|
|
33
|
+
if (allSources || sources?.includes("skills")) {
|
|
34
|
+
results.skills = await indexSkills(knowledgeStore, projectPath);
|
|
35
|
+
}
|
|
32
36
|
if (allSources || sources?.includes("embeddings")) {
|
|
33
37
|
const embeddingStore = new EmbeddingStore(store);
|
|
34
38
|
embeddingStore.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reindex-knowledge.js","sourceRoot":"","sources":["../../../src/mcp/tools/reindex-knowledge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"reindex-knowledge.js","sourceRoot":"","sources":["../../../src/mcp/tools/reindex-knowledge.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export declare const GraphIndexesSchema: z.ZodObject<{
|
|
|
8
8
|
export declare const GraphProjectSchema: z.ZodObject<{
|
|
9
9
|
id: z.ZodString;
|
|
10
10
|
name: z.ZodString;
|
|
11
|
+
fsPath: z.ZodOptional<z.ZodString>;
|
|
11
12
|
createdAt: z.ZodString;
|
|
12
13
|
updatedAt: z.ZodString;
|
|
13
14
|
}, z.core.$strip>;
|
|
@@ -20,6 +21,7 @@ export declare const GraphDocumentSchema: z.ZodObject<{
|
|
|
20
21
|
project: z.ZodObject<{
|
|
21
22
|
id: z.ZodString;
|
|
22
23
|
name: z.ZodString;
|
|
24
|
+
fsPath: z.ZodOptional<z.ZodString>;
|
|
23
25
|
createdAt: z.ZodString;
|
|
24
26
|
updatedAt: z.ZodString;
|
|
25
27
|
}, z.core.$strip>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/graph.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"graph.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/graph.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;iBAM7B,CAAC;AAEH,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.schema.js","sourceRoot":"","sources":["../../src/schemas/graph.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACtC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,kBAAkB;IAC3B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;IAC/B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;IAC/B,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,eAAe;CACtB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"graph.schema.js","sourceRoot":"","sources":["../../src/schemas/graph.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACtC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,kBAAkB;IAC3B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;IAC/B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;IAC/B,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,eAAe;CACtB,CAAC,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { z } from "zod/v4";
|
|
|
2
2
|
export declare const KnowledgeSourceTypeSchema: z.ZodEnum<{
|
|
3
3
|
upload: "upload";
|
|
4
4
|
serena: "serena";
|
|
5
|
+
memory: "memory";
|
|
5
6
|
code_context: "code_context";
|
|
6
7
|
docs: "docs";
|
|
7
8
|
web_capture: "web_capture";
|
|
@@ -9,12 +10,14 @@ export declare const KnowledgeSourceTypeSchema: z.ZodEnum<{
|
|
|
9
10
|
design: "design";
|
|
10
11
|
sprint_plan: "sprint_plan";
|
|
11
12
|
phase_summary: "phase_summary";
|
|
13
|
+
skill: "skill";
|
|
12
14
|
}>;
|
|
13
15
|
export declare const KnowledgeDocumentSchema: z.ZodObject<{
|
|
14
16
|
id: z.ZodString;
|
|
15
17
|
sourceType: z.ZodEnum<{
|
|
16
18
|
upload: "upload";
|
|
17
19
|
serena: "serena";
|
|
20
|
+
memory: "memory";
|
|
18
21
|
code_context: "code_context";
|
|
19
22
|
docs: "docs";
|
|
20
23
|
web_capture: "web_capture";
|
|
@@ -22,6 +25,7 @@ export declare const KnowledgeDocumentSchema: z.ZodObject<{
|
|
|
22
25
|
design: "design";
|
|
23
26
|
sprint_plan: "sprint_plan";
|
|
24
27
|
phase_summary: "phase_summary";
|
|
28
|
+
skill: "skill";
|
|
25
29
|
}>;
|
|
26
30
|
sourceId: z.ZodString;
|
|
27
31
|
title: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/knowledge.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"knowledge.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/knowledge.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAEpC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;iBAWlC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod/v4";
|
|
2
2
|
export const KnowledgeSourceTypeSchema = z.enum([
|
|
3
|
-
"upload", "serena", "code_context", "docs", "web_capture", "prd", "design", "sprint_plan", "phase_summary",
|
|
3
|
+
"upload", "serena", "memory", "code_context", "docs", "web_capture", "prd", "design", "sprint_plan", "phase_summary", "skill",
|
|
4
4
|
]);
|
|
5
5
|
export const KnowledgeDocumentSchema = z.object({
|
|
6
6
|
id: z.string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge.schema.js","sourceRoot":"","sources":["../../src/schemas/knowledge.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9C,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"knowledge.schema.js","sourceRoot":"","sources":["../../src/schemas/knowledge.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9C,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO;CAC9H,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,UAAU,EAAE,yBAAyB;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export declare const LifecyclePhaseEnum: z.ZodEnum<{
|
|
3
|
+
ANALYZE: "ANALYZE";
|
|
4
|
+
DESIGN: "DESIGN";
|
|
5
|
+
PLAN: "PLAN";
|
|
6
|
+
IMPLEMENT: "IMPLEMENT";
|
|
7
|
+
VALIDATE: "VALIDATE";
|
|
8
|
+
REVIEW: "REVIEW";
|
|
9
|
+
HANDOFF: "HANDOFF";
|
|
10
|
+
LISTENING: "LISTENING";
|
|
11
|
+
}>;
|
|
12
|
+
export declare const SkillPreferenceSchema: z.ZodObject<{
|
|
13
|
+
projectId: z.ZodString;
|
|
14
|
+
skillName: z.ZodString;
|
|
15
|
+
enabled: z.ZodBoolean;
|
|
16
|
+
updatedAt: z.ZodString;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
export type SkillPreference = z.infer<typeof SkillPreferenceSchema>;
|
|
19
|
+
export declare const CustomSkillInputSchema: z.ZodObject<{
|
|
20
|
+
name: z.ZodString;
|
|
21
|
+
description: z.ZodString;
|
|
22
|
+
category: z.ZodDefault<z.ZodString>;
|
|
23
|
+
phases: z.ZodArray<z.ZodEnum<{
|
|
24
|
+
ANALYZE: "ANALYZE";
|
|
25
|
+
DESIGN: "DESIGN";
|
|
26
|
+
PLAN: "PLAN";
|
|
27
|
+
IMPLEMENT: "IMPLEMENT";
|
|
28
|
+
VALIDATE: "VALIDATE";
|
|
29
|
+
REVIEW: "REVIEW";
|
|
30
|
+
HANDOFF: "HANDOFF";
|
|
31
|
+
LISTENING: "LISTENING";
|
|
32
|
+
}>>;
|
|
33
|
+
instructions: z.ZodString;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
export type CustomSkillInput = z.infer<typeof CustomSkillInputSchema>;
|
|
36
|
+
export declare const CustomSkillSchema: z.ZodObject<{
|
|
37
|
+
name: z.ZodString;
|
|
38
|
+
description: z.ZodString;
|
|
39
|
+
category: z.ZodDefault<z.ZodString>;
|
|
40
|
+
phases: z.ZodArray<z.ZodEnum<{
|
|
41
|
+
ANALYZE: "ANALYZE";
|
|
42
|
+
DESIGN: "DESIGN";
|
|
43
|
+
PLAN: "PLAN";
|
|
44
|
+
IMPLEMENT: "IMPLEMENT";
|
|
45
|
+
VALIDATE: "VALIDATE";
|
|
46
|
+
REVIEW: "REVIEW";
|
|
47
|
+
HANDOFF: "HANDOFF";
|
|
48
|
+
LISTENING: "LISTENING";
|
|
49
|
+
}>>;
|
|
50
|
+
instructions: z.ZodString;
|
|
51
|
+
id: z.ZodString;
|
|
52
|
+
projectId: z.ZodString;
|
|
53
|
+
createdAt: z.ZodString;
|
|
54
|
+
updatedAt: z.ZodString;
|
|
55
|
+
}, z.core.$strip>;
|
|
56
|
+
export type CustomSkill = z.infer<typeof CustomSkillSchema>;
|
|
57
|
+
//# sourceMappingURL=skill.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/skill.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,kBAAkB;;;;;;;;;EAE7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;iBAMjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;iBAK5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export const LifecyclePhaseEnum = z.enum([
|
|
3
|
+
"ANALYZE", "DESIGN", "PLAN", "IMPLEMENT", "VALIDATE", "REVIEW", "HANDOFF", "LISTENING",
|
|
4
|
+
]);
|
|
5
|
+
export const SkillPreferenceSchema = z.object({
|
|
6
|
+
projectId: z.string(),
|
|
7
|
+
skillName: z.string(),
|
|
8
|
+
enabled: z.boolean(),
|
|
9
|
+
updatedAt: z.string(),
|
|
10
|
+
});
|
|
11
|
+
export const CustomSkillInputSchema = z.object({
|
|
12
|
+
name: z.string().min(1).max(100),
|
|
13
|
+
description: z.string().min(1),
|
|
14
|
+
category: z.string().default("know-me"),
|
|
15
|
+
phases: z.array(LifecyclePhaseEnum),
|
|
16
|
+
instructions: z.string().min(1),
|
|
17
|
+
});
|
|
18
|
+
export const CustomSkillSchema = CustomSkillInputSchema.extend({
|
|
19
|
+
id: z.string(),
|
|
20
|
+
projectId: z.string(),
|
|
21
|
+
createdAt: z.string(),
|
|
22
|
+
updatedAt: z.string(),
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=skill.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.schema.js","sourceRoot":"","sources":["../../src/schemas/skill.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW;CACvF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACnC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAChC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,MAAM,CAAC;IAC7D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC"}
|