@mcp-graph-workflow/mcp-graph 5.3.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.
Files changed (76) hide show
  1. package/dist/api/router.js +1 -1
  2. package/dist/api/router.js.map +1 -1
  3. package/dist/api/routes/context.d.ts.map +1 -1
  4. package/dist/api/routes/context.js +75 -0
  5. package/dist/api/routes/context.js.map +1 -1
  6. package/dist/api/routes/skills.d.ts +2 -1
  7. package/dist/api/routes/skills.d.ts.map +1 -1
  8. package/dist/api/routes/skills.js +139 -3
  9. package/dist/api/routes/skills.js.map +1 -1
  10. package/dist/core/events/event-types.d.ts +18 -1
  11. package/dist/core/events/event-types.d.ts.map +1 -1
  12. package/dist/core/graph/graph-types.d.ts +1 -0
  13. package/dist/core/graph/graph-types.d.ts.map +1 -1
  14. package/dist/core/skills/built-in-skills.d.ts +1 -1
  15. package/dist/core/skills/built-in-skills.d.ts.map +1 -1
  16. package/dist/core/skills/built-in-skills.js +265 -1
  17. package/dist/core/skills/built-in-skills.js.map +1 -1
  18. package/dist/core/skills/self-healing-listener.d.ts +22 -0
  19. package/dist/core/skills/self-healing-listener.d.ts.map +1 -0
  20. package/dist/core/skills/self-healing-listener.js +102 -0
  21. package/dist/core/skills/self-healing-listener.js.map +1 -0
  22. package/dist/core/skills/skill-store.d.ts +14 -0
  23. package/dist/core/skills/skill-store.d.ts.map +1 -0
  24. package/dist/core/skills/skill-store.js +109 -0
  25. package/dist/core/skills/skill-store.js.map +1 -0
  26. package/dist/core/store/migrations.d.ts.map +1 -1
  27. package/dist/core/store/migrations.js +39 -0
  28. package/dist/core/store/migrations.js.map +1 -1
  29. package/dist/core/store/path-resolver.d.ts +38 -0
  30. package/dist/core/store/path-resolver.d.ts.map +1 -0
  31. package/dist/core/store/path-resolver.js +92 -0
  32. package/dist/core/store/path-resolver.js.map +1 -0
  33. package/dist/core/store/sqlite-store.d.ts +21 -0
  34. package/dist/core/store/sqlite-store.d.ts.map +1 -1
  35. package/dist/core/store/sqlite-store.js +81 -30
  36. package/dist/core/store/sqlite-store.js.map +1 -1
  37. package/dist/core/utils/constants.d.ts +10 -0
  38. package/dist/core/utils/constants.d.ts.map +1 -1
  39. package/dist/core/utils/constants.js +12 -0
  40. package/dist/core/utils/constants.js.map +1 -1
  41. package/dist/mcp/lifecycle-wrapper.d.ts +2 -1
  42. package/dist/mcp/lifecycle-wrapper.d.ts.map +1 -1
  43. package/dist/mcp/lifecycle-wrapper.js +20 -1
  44. package/dist/mcp/lifecycle-wrapper.js.map +1 -1
  45. package/dist/mcp/tools/index.d.ts.map +1 -1
  46. package/dist/mcp/tools/index.js +2 -0
  47. package/dist/mcp/tools/index.js.map +1 -1
  48. package/dist/mcp/tools/manage-skill.d.ts +8 -0
  49. package/dist/mcp/tools/manage-skill.d.ts.map +1 -0
  50. package/dist/mcp/tools/manage-skill.js +149 -0
  51. package/dist/mcp/tools/manage-skill.js.map +1 -0
  52. package/dist/schemas/graph.schema.d.ts +2 -0
  53. package/dist/schemas/graph.schema.d.ts.map +1 -1
  54. package/dist/schemas/graph.schema.js +1 -0
  55. package/dist/schemas/graph.schema.js.map +1 -1
  56. package/dist/schemas/skill.schema.d.ts +57 -0
  57. package/dist/schemas/skill.schema.d.ts.map +1 -0
  58. package/dist/schemas/skill.schema.js +24 -0
  59. package/dist/schemas/skill.schema.js.map +1 -0
  60. package/dist/web/dashboard/dist/assets/{benchmark-tab-B5Sr8Cah.js → benchmark-tab-BW4QxI49.js} +1 -1
  61. package/dist/web/dashboard/dist/assets/context-tab-C5RAlXNW.js +1 -0
  62. package/dist/web/dashboard/dist/assets/{gitnexus-tab-DqmbSdzV.js → gitnexus-tab-BnxxYl2F.js} +1 -1
  63. package/dist/web/dashboard/dist/assets/{graph-tab-BKns5HdW.js → graph-tab-Cv_wQ6Az.js} +1 -1
  64. package/dist/web/dashboard/dist/assets/{graph-utils-BxUWNvsI.js → graph-utils-Ds1zJyD1.js} +1 -1
  65. package/dist/web/dashboard/dist/assets/{index-CZOiKbTP.js → index-BAeZDWWy.js} +11 -11
  66. package/dist/web/dashboard/dist/assets/{index-Dd4vKyDX.js → index-Bic_URMs.js} +1 -1
  67. package/dist/web/dashboard/dist/assets/index-DQqYFXms.css +1 -0
  68. package/dist/web/dashboard/dist/assets/{insights-tab-B1kPckBM.js → insights-tab-U_ATOqPu.js} +1 -1
  69. package/dist/web/dashboard/dist/assets/{logs-tab-BWfsrRlB.js → logs-tab-B8psCXuB.js} +1 -1
  70. package/dist/web/dashboard/dist/assets/{memories-tab-D3zm-1Sq.js → memories-tab-DcWok2by.js} +1 -1
  71. package/dist/web/dashboard/dist/assets/{prd-backlog-tab-DXP4dFP-.js → prd-backlog-tab-CjftveTc.js} +1 -1
  72. package/dist/web/dashboard/dist/assets/skills-tab-Ddp1w4vS.js +1 -0
  73. package/dist/web/dashboard/dist/index.html +2 -2
  74. package/package.json +1 -1
  75. package/dist/web/dashboard/dist/assets/index-xyMN-_UV.css +0 -1
  76. package/dist/web/dashboard/dist/assets/skills-tab-CAlVL80S.js +0 -1
@@ -45,7 +45,7 @@ export function createApiRouter(storeOrOptions) {
45
45
  router.use("/import", createImportRouter(storeRef));
46
46
  router.use("/integrations", createIntegrationsRouter(storeRef, getBasePath));
47
47
  router.use("/insights", createInsightsRouter(storeRef, getBasePath));
48
- router.use("/skills", createSkillsRouter(getBasePath));
48
+ router.use("/skills", createSkillsRouter(getBasePath, storeRef));
49
49
  router.use("/capture", createCaptureRouter());
50
50
  router.use("/docs", createDocsCacheRouter(storeRef));
51
51
  router.use("/context", createContextRouter(storeRef));
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/api/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/api/router.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/api/routes/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAGlE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAwB9D"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/api/routes/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAMlE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAkH9D"}
@@ -1,5 +1,8 @@
1
1
  import { Router } from "express";
2
2
  import { buildTaskContext } from "../../core/context/compact-context.js";
3
+ import { getBuiltInSkills } from "../../core/skills/built-in-skills.js";
4
+ import { getSkillPreferences, getCustomSkills } from "../../core/skills/skill-store.js";
5
+ import { estimateTokens } from "../../core/context/token-estimator.js";
3
6
  export function createContextRouter(storeRef) {
4
7
  const router = Router();
5
8
  router.get("/preview", (req, res, next) => {
@@ -20,6 +23,78 @@ export function createContextRouter(storeRef) {
20
23
  next(err);
21
24
  }
22
25
  });
26
+ /**
27
+ * GET /context/budget — token budget breakdown per skill.
28
+ */
29
+ router.get("/budget", (req, res, next) => {
30
+ try {
31
+ const project = storeRef.current.getProject();
32
+ const db = storeRef.current.getDb();
33
+ const preferences = project
34
+ ? getSkillPreferences(db, project.id)
35
+ : new Map();
36
+ const breakdown = [];
37
+ // Built-in skills
38
+ for (const skill of getBuiltInSkills()) {
39
+ const enabled = preferences.get(skill.name) ?? true;
40
+ breakdown.push({
41
+ name: skill.name,
42
+ source: "built-in",
43
+ tokens: estimateTokens(skill.instructions),
44
+ enabled,
45
+ });
46
+ }
47
+ // Custom skills
48
+ if (project) {
49
+ const customSkills = getCustomSkills(db, project.id);
50
+ for (const skill of customSkills) {
51
+ const enabled = preferences.get(skill.name) ?? true;
52
+ breakdown.push({
53
+ name: skill.name,
54
+ source: "custom",
55
+ tokens: estimateTokens(skill.instructions),
56
+ enabled,
57
+ });
58
+ }
59
+ }
60
+ const totalTokens = breakdown.reduce((s, b) => s + b.tokens, 0);
61
+ const activeTokens = breakdown.filter((b) => b.enabled).reduce((s, b) => s + b.tokens, 0);
62
+ const activeCount = breakdown.filter((b) => b.enabled).length;
63
+ const totalCount = breakdown.length;
64
+ // Sort by token size descending
65
+ breakdown.sort((a, b) => b.tokens - a.tokens);
66
+ // Generate recommendations
67
+ const recommendations = [];
68
+ if (activeTokens > 4000) {
69
+ recommendations.push("Active skill tokens exceed 4000. Consider disabling non-essential skills.");
70
+ }
71
+ const largeSoftwareDesign = breakdown.filter((b) => b.enabled && b.source === "built-in" && b.tokens > 100);
72
+ if (largeSoftwareDesign.length > 20) {
73
+ recommendations.push("Many large skills enabled. Review if all are needed for the current phase.");
74
+ }
75
+ // Session health: green / yellow / red
76
+ const ratio = activeTokens / 4000;
77
+ const health = ratio <= 0.5 ? "green" : ratio <= 0.8 ? "yellow" : "red";
78
+ const healthMessages = {
79
+ green: "Context budget is healthy.",
80
+ yellow: "Consider disabling non-essential skills to save tokens.",
81
+ red: "Token budget is high. Start a new session or disable skills to reduce context.",
82
+ };
83
+ res.json({
84
+ totalTokens,
85
+ activeTokens,
86
+ totalCount,
87
+ activeCount,
88
+ health,
89
+ healthMessage: healthMessages[health],
90
+ recommendations,
91
+ breakdown,
92
+ });
93
+ }
94
+ catch (err) {
95
+ next(err);
96
+ }
97
+ });
23
98
  return router;
24
99
  }
25
100
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/api/routes/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,MAAM,UAAU,mBAAmB,CAAC,QAAkB;IACpD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAA4B,CAAC;YACtD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;gBACpE,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC7D,OAAO;YACT,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/api/routes/context.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { Router } from "express";
2
- export declare function createSkillsRouter(getBasePath: () => string): Router;
2
+ import type { StoreRef } from "../../core/store/store-manager.js";
3
+ export declare function createSkillsRouter(getBasePath: () => string, storeRef?: StoreRef): Router;
3
4
  //# sourceMappingURL=skills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/api/routes/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAiBjC,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,MAAM,GAAG,MAAM,CAsEpE"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/api/routes/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAejC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAclE,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CA2MzF"}
@@ -3,17 +3,35 @@ import { readFile } from "node:fs/promises";
3
3
  import { scanSkills } from "../../core/insights/skill-recommender.js";
4
4
  import { getBuiltInSkills, getSkillsByPhase } from "../../core/skills/built-in-skills.js";
5
5
  import { estimateTokens } from "../../core/context/token-estimator.js";
6
- export function createSkillsRouter(getBasePath) {
6
+ import { setSkillEnabled, getSkillPreferences, createCustomSkill, updateCustomSkill, deleteCustomSkill, getCustomSkills, } from "../../core/skills/skill-store.js";
7
+ import { CustomSkillInputSchema } from "../../schemas/skill.schema.js";
8
+ export function createSkillsRouter(getBasePath, storeRef) {
7
9
  const router = Router();
10
+ /** Helper: get project ID + DB from storeRef */
11
+ function getProjectContext() {
12
+ if (!storeRef)
13
+ return null;
14
+ try {
15
+ const project = storeRef.current.getProject();
16
+ if (!project)
17
+ return null;
18
+ return { db: storeRef.current.getDb(), projectId: project.id };
19
+ }
20
+ catch {
21
+ return null;
22
+ }
23
+ }
8
24
  /**
9
- * GET /skills — list all skills (built-in + filesystem).
25
+ * GET /skills — list all skills (built-in + filesystem + custom).
10
26
  * Query params: ?phase=IMPLEMENT — filter by lifecycle phase.
11
- * ?source=built-in|filesystem — filter by source.
27
+ * ?source=built-in|filesystem|custom — filter by source.
12
28
  */
13
29
  router.get("/", async (req, res, next) => {
14
30
  try {
15
31
  const phaseFilter = req.query.phase;
16
32
  const sourceFilter = req.query.source;
33
+ const ctx = getProjectContext();
34
+ const preferences = ctx ? getSkillPreferences(ctx.db, ctx.projectId) : new Map();
17
35
  const result = [];
18
36
  // Built-in skills
19
37
  if (!sourceFilter || sourceFilter === "built-in") {
@@ -28,6 +46,7 @@ export function createSkillsRouter(getBasePath) {
28
46
  phases: [...skill.phases],
29
47
  source: "built-in",
30
48
  estimatedTokens: estimateTokens(skill.instructions),
49
+ enabled: preferences.get(skill.name) ?? true,
31
50
  });
32
51
  }
33
52
  }
@@ -55,6 +74,25 @@ export function createSkillsRouter(getBasePath) {
55
74
  source: "filesystem",
56
75
  estimatedTokens: tokens,
57
76
  filePath: skill.filePath,
77
+ enabled: preferences.get(skill.name) ?? true,
78
+ });
79
+ }
80
+ }
81
+ // Custom skills
82
+ if (ctx && (!sourceFilter || sourceFilter === "custom")) {
83
+ const customSkills = getCustomSkills(ctx.db, ctx.projectId);
84
+ for (const skill of customSkills) {
85
+ if (phaseFilter && !skill.phases.includes(phaseFilter))
86
+ continue;
87
+ result.push({
88
+ id: skill.id,
89
+ name: skill.name,
90
+ description: skill.description,
91
+ category: skill.category,
92
+ phases: [...skill.phases],
93
+ source: "custom",
94
+ estimatedTokens: estimateTokens(skill.instructions),
95
+ enabled: preferences.get(skill.name) ?? true,
58
96
  });
59
97
  }
60
98
  }
@@ -65,6 +103,104 @@ export function createSkillsRouter(getBasePath) {
65
103
  next(err);
66
104
  }
67
105
  });
106
+ /**
107
+ * GET /skills/preferences — all skill preferences for active project.
108
+ */
109
+ router.get("/preferences", (req, res, next) => {
110
+ try {
111
+ const ctx = getProjectContext();
112
+ if (!ctx) {
113
+ res.json({ preferences: {} });
114
+ return;
115
+ }
116
+ const prefs = getSkillPreferences(ctx.db, ctx.projectId);
117
+ const obj = {};
118
+ for (const [k, v] of prefs)
119
+ obj[k] = v;
120
+ res.json({ preferences: obj });
121
+ }
122
+ catch (err) {
123
+ next(err);
124
+ }
125
+ });
126
+ /**
127
+ * PATCH /skills/:name/preference — set enabled/disabled for a skill.
128
+ */
129
+ router.patch("/:name/preference", (req, res, next) => {
130
+ try {
131
+ const ctx = getProjectContext();
132
+ if (!ctx) {
133
+ res.status(400).json({ error: "No active project" });
134
+ return;
135
+ }
136
+ const { enabled } = req.body;
137
+ if (typeof enabled !== "boolean") {
138
+ res.status(400).json({ error: "Missing or invalid 'enabled' boolean field" });
139
+ return;
140
+ }
141
+ setSkillEnabled(ctx.db, ctx.projectId, req.params.name, enabled);
142
+ res.json({ ok: true, name: req.params.name, enabled });
143
+ }
144
+ catch (err) {
145
+ next(err);
146
+ }
147
+ });
148
+ /**
149
+ * POST /skills/custom — create a custom skill.
150
+ */
151
+ router.post("/custom", (req, res, next) => {
152
+ try {
153
+ const ctx = getProjectContext();
154
+ if (!ctx) {
155
+ res.status(400).json({ error: "No active project" });
156
+ return;
157
+ }
158
+ const parsed = CustomSkillInputSchema.safeParse(req.body);
159
+ if (!parsed.success) {
160
+ res.status(400).json({ error: "Validation failed", details: parsed.error.issues });
161
+ return;
162
+ }
163
+ const skill = createCustomSkill(ctx.db, ctx.projectId, parsed.data);
164
+ res.status(201).json(skill);
165
+ }
166
+ catch (err) {
167
+ next(err);
168
+ }
169
+ });
170
+ /**
171
+ * PUT /skills/custom/:id — update a custom skill.
172
+ */
173
+ router.put("/custom/:id", (req, res, next) => {
174
+ try {
175
+ const ctx = getProjectContext();
176
+ if (!ctx) {
177
+ res.status(400).json({ error: "No active project" });
178
+ return;
179
+ }
180
+ const skill = updateCustomSkill(ctx.db, ctx.projectId, req.params.id, req.body);
181
+ res.json(skill);
182
+ }
183
+ catch (err) {
184
+ next(err);
185
+ }
186
+ });
187
+ /**
188
+ * DELETE /skills/custom/:id — delete a custom skill.
189
+ */
190
+ router.delete("/custom/:id", (req, res, next) => {
191
+ try {
192
+ const ctx = getProjectContext();
193
+ if (!ctx) {
194
+ res.status(400).json({ error: "No active project" });
195
+ return;
196
+ }
197
+ deleteCustomSkill(ctx.db, ctx.projectId, req.params.id);
198
+ res.status(204).send();
199
+ }
200
+ catch (err) {
201
+ next(err);
202
+ }
203
+ });
68
204
  return router;
69
205
  }
70
206
  //# sourceMappingURL=skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/api/routes/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/api/routes/skills.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type GraphEventType = "node:created" | "node:updated" | "node:deleted" | "edge:created" | "edge:deleted" | "import:completed" | "bulk:updated" | "knowledge:indexed" | "knowledge:deleted" | "phase:transitioned" | "log:entry";
1
+ export type GraphEventType = "node:created" | "node:updated" | "node:deleted" | "edge:created" | "edge:deleted" | "import:completed" | "bulk:updated" | "knowledge:indexed" | "knowledge:deleted" | "phase:transitioned" | "log:entry" | "error:detected" | "healing:memory_created";
2
2
  export interface GraphEvent {
3
3
  type: GraphEventType;
4
4
  timestamp: string;
@@ -87,4 +87,21 @@ export interface LogEntryEvent extends GraphEvent {
87
87
  context?: Record<string, unknown>;
88
88
  };
89
89
  }
90
+ export interface ErrorDetectedEvent extends GraphEvent {
91
+ type: "error:detected";
92
+ payload: {
93
+ toolName: string;
94
+ errorMessage: string;
95
+ errorCategory: string;
96
+ errorHash: string;
97
+ };
98
+ }
99
+ export interface HealingMemoryCreatedEvent extends GraphEvent {
100
+ type: "healing:memory_created";
101
+ payload: {
102
+ memoryName: string;
103
+ errorCategory: string;
104
+ errorHash: string;
105
+ };
106
+ }
90
107
  //# sourceMappingURL=event-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../../src/core/events/event-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../../src/core/events/event-types.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,7 @@ export interface GraphIndexes {
54
54
  export interface GraphProject {
55
55
  id: string;
56
56
  name: string;
57
+ fsPath?: string;
57
58
  createdAt: string;
58
59
  updatedAt: string;
59
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graph-types.d.ts","sourceRoot":"","sources":["../../../src/core/graph/graph-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-types.d.ts","sourceRoot":"","sources":["../../../src/core/graph/graph-types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Built-in Skills Registry — 19 skills mapped to lifecycle phases.
2
+ * Built-in Skills Registry — 40 skills mapped to lifecycle phases.
3
3
  * Each skill is a structured instruction set for agentic workflows.
4
4
  */
5
5
  import type { LifecyclePhase } from "../planner/lifecycle-phase.js";
@@ -1 +1 @@
1
- {"version":3,"file":"built-in-skills.d.ts","sourceRoot":"","sources":["../../../src/core/skills/built-in-skills.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EA2MzC,CAAC;AAEX;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,SAAS,YAAY,EAAE,CAE1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,EAAE,CAEtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAErE"}
1
+ {"version":3,"file":"built-in-skills.d.ts","sourceRoot":"","sources":["../../../src/core/skills/built-in-skills.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAqfzC,CAAC;AAEX;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,SAAS,YAAY,EAAE,CAE1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,EAAE,CAEtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAErE"}