@moreih29/nexus-core 0.20.0 → 0.21.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 (60) hide show
  1. package/README.md +1 -1
  2. package/dist/mcp/definitions/artifact.d.ts +15 -0
  3. package/dist/mcp/definitions/artifact.d.ts.map +1 -1
  4. package/dist/mcp/definitions/artifact.js +15 -1
  5. package/dist/mcp/definitions/artifact.js.map +1 -1
  6. package/dist/mcp/definitions/history.d.ts +8 -0
  7. package/dist/mcp/definitions/history.d.ts.map +1 -1
  8. package/dist/mcp/definitions/history.js +28 -3
  9. package/dist/mcp/definitions/history.js.map +1 -1
  10. package/dist/mcp/definitions/index.d.ts +58 -2
  11. package/dist/mcp/definitions/index.d.ts.map +1 -1
  12. package/dist/mcp/definitions/plan.js +2 -2
  13. package/dist/mcp/definitions/plan.js.map +1 -1
  14. package/dist/mcp/definitions/task.d.ts +38 -2
  15. package/dist/mcp/definitions/task.d.ts.map +1 -1
  16. package/dist/mcp/definitions/task.js +26 -7
  17. package/dist/mcp/definitions/task.js.map +1 -1
  18. package/dist/mcp/handlers/artifact.d.ts.map +1 -1
  19. package/dist/mcp/handlers/artifact.js +39 -1
  20. package/dist/mcp/handlers/artifact.js.map +1 -1
  21. package/dist/mcp/handlers/history.d.ts.map +1 -1
  22. package/dist/mcp/handlers/history.js +178 -12
  23. package/dist/mcp/handlers/history.js.map +1 -1
  24. package/dist/mcp/handlers/plan.d.ts.map +1 -1
  25. package/dist/mcp/handlers/plan.js +0 -2
  26. package/dist/mcp/handlers/plan.js.map +1 -1
  27. package/dist/mcp/handlers/task.d.ts.map +1 -1
  28. package/dist/mcp/handlers/task.js +27 -3
  29. package/dist/mcp/handlers/task.js.map +1 -1
  30. package/dist/types/state.d.ts +177 -0
  31. package/dist/types/state.d.ts.map +1 -1
  32. package/dist/types/state.js +8 -0
  33. package/dist/types/state.js.map +1 -1
  34. package/package.json +1 -1
  35. package/spec/agents/architect/body.ko.md +64 -118
  36. package/spec/agents/architect/body.md +62 -118
  37. package/spec/agents/designer/body.ko.md +120 -241
  38. package/spec/agents/designer/body.md +114 -237
  39. package/spec/agents/engineer/body.ko.md +62 -114
  40. package/spec/agents/engineer/body.md +62 -114
  41. package/spec/agents/lead/body.ko.md +78 -154
  42. package/spec/agents/lead/body.md +76 -153
  43. package/spec/agents/postdoc/body.ko.md +111 -120
  44. package/spec/agents/postdoc/body.md +110 -121
  45. package/spec/agents/researcher/body.ko.md +80 -158
  46. package/spec/agents/researcher/body.md +80 -158
  47. package/spec/agents/reviewer/body.ko.md +75 -143
  48. package/spec/agents/reviewer/body.md +76 -144
  49. package/spec/agents/tester/body.ko.md +76 -190
  50. package/spec/agents/tester/body.md +77 -193
  51. package/spec/agents/writer/body.ko.md +70 -143
  52. package/spec/agents/writer/body.md +70 -143
  53. package/spec/skills/nx-auto-plan/body.ko.md +22 -21
  54. package/spec/skills/nx-auto-plan/body.md +20 -19
  55. package/spec/skills/nx-plan/body.ko.md +15 -25
  56. package/spec/skills/nx-plan/body.md +15 -25
  57. package/spec/skills/nx-run/body.ko.md +67 -9
  58. package/spec/skills/nx-run/body.md +67 -9
  59. package/spec/agents/strategist/body.ko.md +0 -189
  60. package/spec/agents/strategist/body.md +0 -187
package/README.md CHANGED
@@ -81,7 +81,7 @@ Nexus 런타임이 기대하는 세 가지 역할을 각 하네스에서 와이
81
81
 
82
82
  | 카테고리 | 역할 | 에이전트 |
83
83
  |---|---|---|
84
- | HOW | 기술 설계·분석·전략 자문 | architect, designer, postdoc, strategist |
84
+ | HOW | 기술 설계·분석 자문 | architect, designer, postdoc |
85
85
  | DO | 실행 | engineer, writer, researcher |
86
86
  | CHECK | 검증 | reviewer, tester |
87
87
 
@@ -8,6 +8,14 @@ export declare const artifactWriteTool: {
8
8
  content: z.ZodString;
9
9
  };
10
10
  };
11
+ export declare const artifactListTool: {
12
+ group: string;
13
+ name: string;
14
+ description: string;
15
+ inputSchema: {
16
+ prefix: z.ZodOptional<z.ZodString>;
17
+ };
18
+ };
11
19
  export declare const artifactToolDefinitions: readonly [{
12
20
  group: string;
13
21
  name: string;
@@ -16,5 +24,12 @@ export declare const artifactToolDefinitions: readonly [{
16
24
  filename: z.ZodString;
17
25
  content: z.ZodString;
18
26
  };
27
+ }, {
28
+ group: string;
29
+ name: string;
30
+ description: string;
31
+ inputSchema: {
32
+ prefix: z.ZodOptional<z.ZodString>;
33
+ };
19
34
  }];
20
35
  //# sourceMappingURL=artifact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../../src/mcp/definitions/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,iBAAiB;;;;;;;;CAUF,CAAC;AAE7B,eAAO,MAAM,uBAAuB;;;;;;;;EAA+B,CAAC"}
1
+ {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../../src/mcp/definitions/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,iBAAiB;;;;;;;;CAUF,CAAC;AAE7B,eAAO,MAAM,gBAAgB;;;;;;;CAYD,CAAC;AAE7B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAG1B,CAAC"}
@@ -10,5 +10,19 @@ export const artifactWriteTool = {
10
10
  content: z.string().describe("File content"),
11
11
  },
12
12
  };
13
- export const artifactToolDefinitions = [artifactWriteTool];
13
+ export const artifactListTool = {
14
+ group: "artifact",
15
+ name: "nx_artifact_list",
16
+ description: "List artifacts in the state artifacts directory",
17
+ inputSchema: {
18
+ prefix: z
19
+ .string()
20
+ .optional()
21
+ .describe("Filter results to filenames that start with this prefix. Omit to list all artifacts."),
22
+ },
23
+ };
24
+ export const artifactToolDefinitions = [
25
+ artifactWriteTool,
26
+ artifactListTool,
27
+ ];
14
28
  //# sourceMappingURL=artifact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../../src/mcp/definitions/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,oDAAoD;IACjE,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CAAC,mDAAmD,CAAC;QAChE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;KAC7C;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,iBAAiB,CAAU,CAAC"}
1
+ {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../../src/mcp/definitions/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,oDAAoD;IACjE,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CAAC,mDAAmD,CAAC;QAChE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;KAC7C;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,iDAAiD;IAC9D,WAAW,EAAE;QACX,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,sFAAsF,CACvF;KACJ;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,iBAAiB;IACjB,gBAAgB;CACR,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import * as z from "zod/v3";
2
+ export declare const HISTORY_SCOPE_VALUES: readonly ["all", "decision", "analysis", "task.acceptance", "task.approach", "task.risk", "task.result.outcome", "task.result.summary", "task.result.artifacts"];
3
+ export type HistoryScope = (typeof HISTORY_SCOPE_VALUES)[number];
2
4
  export declare const historySearchTool: {
3
5
  group: string;
4
6
  name: string;
@@ -6,6 +8,9 @@ export declare const historySearchTool: {
6
8
  inputSchema: {
7
9
  query: z.ZodOptional<z.ZodString>;
8
10
  last_n: z.ZodOptional<z.ZodNumber>;
11
+ scope: z.ZodOptional<z.ZodEnum<["all", "decision", "analysis", "task.acceptance", "task.approach", "task.risk", "task.result.outcome", "task.result.summary", "task.result.artifacts"]>>;
12
+ mode: z.ZodOptional<z.ZodEnum<["snippet", "full"]>>;
13
+ group_by_cycle: z.ZodOptional<z.ZodBoolean>;
9
14
  };
10
15
  };
11
16
  export declare const historyToolDefinitions: readonly [{
@@ -15,6 +20,9 @@ export declare const historyToolDefinitions: readonly [{
15
20
  inputSchema: {
16
21
  query: z.ZodOptional<z.ZodString>;
17
22
  last_n: z.ZodOptional<z.ZodNumber>;
23
+ scope: z.ZodOptional<z.ZodEnum<["all", "decision", "analysis", "task.acceptance", "task.approach", "task.risk", "task.result.outcome", "task.result.summary", "task.result.artifacts"]>>;
24
+ mode: z.ZodOptional<z.ZodEnum<["snippet", "full"]>>;
25
+ group_by_cycle: z.ZodOptional<z.ZodBoolean>;
18
26
  };
19
27
  }];
20
28
  //# sourceMappingURL=history.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/mcp/definitions/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,iBAAiB;;;;;;;;CAeF,CAAC;AAE7B,eAAO,MAAM,sBAAsB;;;;;;;;EAA+B,CAAC"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/mcp/definitions/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,oBAAoB,kKAUvB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;CAuCF,CAAC;AAE7B,eAAO,MAAM,sBAAsB;;;;;;;;;;;EAA+B,CAAC"}
@@ -1,4 +1,15 @@
1
1
  import * as z from "zod/v3";
2
+ export const HISTORY_SCOPE_VALUES = [
3
+ "all",
4
+ "decision",
5
+ "analysis",
6
+ "task.acceptance",
7
+ "task.approach",
8
+ "task.risk",
9
+ "task.result.outcome",
10
+ "task.result.summary",
11
+ "task.result.artifacts",
12
+ ];
2
13
  export const historySearchTool = {
3
14
  group: "history",
4
15
  name: "nx_history_search",
@@ -7,11 +18,25 @@ export const historySearchTool = {
7
18
  query: z
8
19
  .string()
9
20
  .optional()
10
- .describe("Full-text query applied to each archived cycle"),
11
- last_n: z
21
+ .describe("Full-text query applied to the specified scope. Omit for metadata-only listing."),
22
+ last_n: z.coerce
12
23
  .number()
24
+ .int()
25
+ .positive()
13
26
  .optional()
14
- .describe("Maximum number of cycles to return. Defaults to 10"),
27
+ .describe("When group_by_cycle=true (default): max number of matching cycles to return. When group_by_cycle=false: max number of hits. Defaults to 10."),
28
+ scope: z
29
+ .enum(HISTORY_SCOPE_VALUES)
30
+ .optional()
31
+ .describe("Which fields to search. Defaults to 'all'. Options: 'decision', 'analysis', 'task.acceptance', 'task.approach', 'task.risk', 'task.result.outcome', 'task.result.summary', 'task.result.artifacts'."),
32
+ mode: z
33
+ .enum(["snippet", "full"])
34
+ .optional()
35
+ .describe("Response shape when query is present. 'snippet' (default): hits[{cycle_id, path, excerpt}]. 'full': hits[{cycle_id, path, parent}] where parent is the containing issue or task object."),
36
+ group_by_cycle: z
37
+ .boolean()
38
+ .optional()
39
+ .describe("When true (default), hits are grouped by cycle and last_n counts cycles. When false, last_n counts individual hits."),
15
40
  },
16
41
  };
17
42
  export const historyToolDefinitions = [historySearchTool];
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/mcp/definitions/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,iFAAiF;IACnF,WAAW,EAAE;QACX,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,gDAAgD,CAAC;QAC7D,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,oDAAoD,CAAC;KAClE;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,iBAAiB,CAAU,CAAC"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/mcp/definitions/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK;IACL,UAAU;IACV,UAAU;IACV,iBAAiB;IACjB,eAAe;IACf,WAAW;IACX,qBAAqB;IACrB,qBAAqB;IACrB,uBAAuB;CACf,CAAC;AAIX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,iFAAiF;IACnF,WAAW,EAAE;QACX,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,iFAAiF,CAClF;QACH,MAAM,EAAE,CAAC,CAAC,MAAM;aACb,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CACP,6IAA6I,CAC9I;QACH,KAAK,EAAE,CAAC;aACL,IAAI,CAAC,oBAAoB,CAAC;aAC1B,QAAQ,EAAE;aACV,QAAQ,CACP,qMAAqM,CACtM;QACH,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;aACzB,QAAQ,EAAE;aACV,QAAQ,CACP,yLAAyL,CAC1L;QACH,cAAc,EAAE,CAAC;aACd,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,qHAAqH,CACtH;KACJ;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,iBAAiB,CAAU,CAAC"}
@@ -11,6 +11,13 @@ export declare const mcpToolDefinitionsByGroup: {
11
11
  filename: import("zod/v3").ZodString;
12
12
  content: import("zod/v3").ZodString;
13
13
  };
14
+ }, {
15
+ group: string;
16
+ name: string;
17
+ description: string;
18
+ inputSchema: {
19
+ prefix: import("zod/v3").ZodOptional<import("zod/v3").ZodString>;
20
+ };
14
21
  }];
15
22
  readonly history: readonly [{
16
23
  group: string;
@@ -19,6 +26,9 @@ export declare const mcpToolDefinitionsByGroup: {
19
26
  inputSchema: {
20
27
  query: import("zod/v3").ZodOptional<import("zod/v3").ZodString>;
21
28
  last_n: import("zod/v3").ZodOptional<import("zod/v3").ZodNumber>;
29
+ scope: import("zod/v3").ZodOptional<import("zod/v3").ZodEnum<["all", "decision", "analysis", "task.acceptance", "task.approach", "task.risk", "task.result.outcome", "task.result.summary", "task.result.artifacts"]>>;
30
+ mode: import("zod/v3").ZodOptional<import("zod/v3").ZodEnum<["snippet", "full"]>>;
31
+ group_by_cycle: import("zod/v3").ZodOptional<import("zod/v3").ZodBoolean>;
22
32
  };
23
33
  }];
24
34
  readonly plan: readonly [{
@@ -112,6 +122,9 @@ export declare const mcpToolDefinitionsByGroup: {
112
122
  inputSchema: {
113
123
  id: import("zod/v3").ZodNumber;
114
124
  status: import("zod/v3").ZodOptional<import("zod/v3").ZodEnum<["pending", "in_progress", "completed"]>>;
125
+ acceptance: import("zod/v3").ZodOptional<import("zod/v3").ZodString>;
126
+ approach: import("zod/v3").ZodOptional<import("zod/v3").ZodString>;
127
+ risk: import("zod/v3").ZodOptional<import("zod/v3").ZodString>;
115
128
  owner: import("zod/v3").ZodOptional<import("zod/v3").ZodObject<{
116
129
  agent_id: import("zod/v3").ZodOptional<import("zod/v3").ZodNullable<import("zod/v3").ZodString>>;
117
130
  resume_tier: import("zod/v3").ZodOptional<import("zod/v3").ZodNullable<import("zod/v3").ZodEnum<["persistent", "bounded", "ephemeral"]>>>;
@@ -122,12 +135,27 @@ export declare const mcpToolDefinitionsByGroup: {
122
135
  agent_id?: string | null | undefined;
123
136
  resume_tier?: "persistent" | "bounded" | "ephemeral" | null | undefined;
124
137
  }>>;
138
+ result: import("zod/v3").ZodOptional<import("zod/v3").ZodObject<{
139
+ outcome: import("zod/v3").ZodEnum<["success", "failure", "partial"]>;
140
+ summary: import("zod/v3").ZodString;
141
+ artifacts: import("zod/v3").ZodOptional<import("zod/v3").ZodArray<import("zod/v3").ZodString, "many">>;
142
+ }, "strip", import("zod/v3").ZodTypeAny, {
143
+ summary: string;
144
+ outcome: "success" | "failure" | "partial";
145
+ artifacts?: string[] | undefined;
146
+ }, {
147
+ summary: string;
148
+ outcome: "success" | "failure" | "partial";
149
+ artifacts?: string[] | undefined;
150
+ }>>;
125
151
  };
126
152
  }, {
127
153
  group: string;
128
154
  name: string;
129
155
  description: string;
130
- inputSchema: {};
156
+ inputSchema: {
157
+ force: import("zod/v3").ZodOptional<import("zod/v3").ZodBoolean>;
158
+ };
131
159
  }, {
132
160
  group: string;
133
161
  name: string;
@@ -145,6 +173,13 @@ export declare const mcpToolDefinitions: ({
145
173
  filename: import("zod/v3").ZodString;
146
174
  content: import("zod/v3").ZodString;
147
175
  };
176
+ } | {
177
+ group: string;
178
+ name: string;
179
+ description: string;
180
+ inputSchema: {
181
+ prefix: import("zod/v3").ZodOptional<import("zod/v3").ZodString>;
182
+ };
148
183
  } | {
149
184
  group: string;
150
185
  name: string;
@@ -152,6 +187,9 @@ export declare const mcpToolDefinitions: ({
152
187
  inputSchema: {
153
188
  query: import("zod/v3").ZodOptional<import("zod/v3").ZodString>;
154
189
  last_n: import("zod/v3").ZodOptional<import("zod/v3").ZodNumber>;
190
+ scope: import("zod/v3").ZodOptional<import("zod/v3").ZodEnum<["all", "decision", "analysis", "task.acceptance", "task.approach", "task.risk", "task.result.outcome", "task.result.summary", "task.result.artifacts"]>>;
191
+ mode: import("zod/v3").ZodOptional<import("zod/v3").ZodEnum<["snippet", "full"]>>;
192
+ group_by_cycle: import("zod/v3").ZodOptional<import("zod/v3").ZodBoolean>;
155
193
  };
156
194
  } | {
157
195
  group: string;
@@ -243,6 +281,9 @@ export declare const mcpToolDefinitions: ({
243
281
  inputSchema: {
244
282
  id: import("zod/v3").ZodNumber;
245
283
  status: import("zod/v3").ZodOptional<import("zod/v3").ZodEnum<["pending", "in_progress", "completed"]>>;
284
+ acceptance: import("zod/v3").ZodOptional<import("zod/v3").ZodString>;
285
+ approach: import("zod/v3").ZodOptional<import("zod/v3").ZodString>;
286
+ risk: import("zod/v3").ZodOptional<import("zod/v3").ZodString>;
246
287
  owner: import("zod/v3").ZodOptional<import("zod/v3").ZodObject<{
247
288
  agent_id: import("zod/v3").ZodOptional<import("zod/v3").ZodNullable<import("zod/v3").ZodString>>;
248
289
  resume_tier: import("zod/v3").ZodOptional<import("zod/v3").ZodNullable<import("zod/v3").ZodEnum<["persistent", "bounded", "ephemeral"]>>>;
@@ -253,12 +294,27 @@ export declare const mcpToolDefinitions: ({
253
294
  agent_id?: string | null | undefined;
254
295
  resume_tier?: "persistent" | "bounded" | "ephemeral" | null | undefined;
255
296
  }>>;
297
+ result: import("zod/v3").ZodOptional<import("zod/v3").ZodObject<{
298
+ outcome: import("zod/v3").ZodEnum<["success", "failure", "partial"]>;
299
+ summary: import("zod/v3").ZodString;
300
+ artifacts: import("zod/v3").ZodOptional<import("zod/v3").ZodArray<import("zod/v3").ZodString, "many">>;
301
+ }, "strip", import("zod/v3").ZodTypeAny, {
302
+ summary: string;
303
+ outcome: "success" | "failure" | "partial";
304
+ artifacts?: string[] | undefined;
305
+ }, {
306
+ summary: string;
307
+ outcome: "success" | "failure" | "partial";
308
+ artifacts?: string[] | undefined;
309
+ }>>;
256
310
  };
257
311
  } | {
258
312
  group: string;
259
313
  name: string;
260
314
  description: string;
261
- inputSchema: {};
315
+ inputSchema: {
316
+ force: import("zod/v3").ZodOptional<import("zod/v3").ZodBoolean>;
317
+ };
262
318
  } | {
263
319
  group: string;
264
320
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/definitions/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,WAAW,EACX,aAAa,EACb,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK5B,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEvB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/definitions/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,WAAW,EACX,aAAa,EACb,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK5B,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEvB,CAAC"}
@@ -40,7 +40,7 @@ export const planDecideTool = {
40
40
  name: "nx_plan_decide",
41
41
  description: "Record the final decision for a plan issue",
42
42
  inputSchema: {
43
- issue_id: z.number().describe("Issue ID to decide"),
43
+ issue_id: z.coerce.number().int().positive().describe("Issue ID to decide"),
44
44
  decision: z.string().describe("Decision text"),
45
45
  },
46
46
  };
@@ -57,7 +57,7 @@ export const planAnalysisAddTool = {
57
57
  name: "nx_plan_analysis_add",
58
58
  description: "Add an analysis entry to a plan issue",
59
59
  inputSchema: {
60
- issue_id: z.number().describe("Target issue ID"),
60
+ issue_id: z.coerce.number().int().positive().describe("Target issue ID"),
61
61
  role: z.string().describe("Role of the analyzing agent"),
62
62
  agent_id: z
63
63
  .string()
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/mcp/definitions/plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,+EAA+E;IACjF,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC5C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAChE,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,QAAQ,CACP,sFAAsF,CACvF;KACJ;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,yCAAyC;IACtD,WAAW,EAAE,EAAE;CACW,CAAC;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,2DAA2D;IACxE,WAAW,EAAE;QACX,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAC3C,QAAQ,CAAC,mBAAmB,CAAC;QAChC,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0DAA0D,CAAC;QACvE,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0CAA0C,CAAC;KACxD;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,4CAA4C;IACzD,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACnD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;KAC/C;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,sDAAsD;IACnE,WAAW,EAAE;QACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KACnD;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,uCAAuC;IACpD,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACxD,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,mCAAmC,CAAC;QAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KACjD;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,aAAa;IACb,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,mBAAmB;CACX,CAAC"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/mcp/definitions/plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,+EAA+E;IACjF,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC5C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAChE,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,QAAQ,CACP,sFAAsF,CACvF;KACJ;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,yCAAyC;IACtD,WAAW,EAAE,EAAE;CACW,CAAC;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,2DAA2D;IACxE,WAAW,EAAE;QACX,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAC3C,QAAQ,CAAC,mBAAmB,CAAC;QAChC,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0DAA0D,CAAC;QACvE,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0CAA0C,CAAC;KACxD;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,4CAA4C;IACzD,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC3E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;KAC/C;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,sDAAsD;IACnE,WAAW,EAAE;QACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KACnD;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,uCAAuC;IACpD,WAAW,EAAE;QACX,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACxE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACxD,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,mCAAmC,CAAC;QAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KACjD;CACyB,CAAC;AAE7B,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,aAAa;IACb,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,mBAAmB;CACX,CAAC"}
@@ -43,6 +43,9 @@ export declare const taskUpdateTool: {
43
43
  inputSchema: {
44
44
  id: z.ZodNumber;
45
45
  status: z.ZodOptional<z.ZodEnum<["pending", "in_progress", "completed"]>>;
46
+ acceptance: z.ZodOptional<z.ZodString>;
47
+ approach: z.ZodOptional<z.ZodString>;
48
+ risk: z.ZodOptional<z.ZodString>;
46
49
  owner: z.ZodOptional<z.ZodObject<{
47
50
  agent_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
48
51
  resume_tier: z.ZodOptional<z.ZodNullable<z.ZodEnum<["persistent", "bounded", "ephemeral"]>>>;
@@ -53,13 +56,28 @@ export declare const taskUpdateTool: {
53
56
  agent_id?: string | null | undefined;
54
57
  resume_tier?: "persistent" | "bounded" | "ephemeral" | null | undefined;
55
58
  }>>;
59
+ result: z.ZodOptional<z.ZodObject<{
60
+ outcome: z.ZodEnum<["success", "failure", "partial"]>;
61
+ summary: z.ZodString;
62
+ artifacts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ summary: string;
65
+ outcome: "success" | "failure" | "partial";
66
+ artifacts?: string[] | undefined;
67
+ }, {
68
+ summary: string;
69
+ outcome: "success" | "failure" | "partial";
70
+ artifacts?: string[] | undefined;
71
+ }>>;
56
72
  };
57
73
  };
58
74
  export declare const taskCloseTool: {
59
75
  group: string;
60
76
  name: string;
61
77
  description: string;
62
- inputSchema: {};
78
+ inputSchema: {
79
+ force: z.ZodOptional<z.ZodBoolean>;
80
+ };
63
81
  };
64
82
  export declare const taskResumeTool: {
65
83
  group: string;
@@ -111,6 +129,9 @@ export declare const taskToolDefinitions: readonly [{
111
129
  inputSchema: {
112
130
  id: z.ZodNumber;
113
131
  status: z.ZodOptional<z.ZodEnum<["pending", "in_progress", "completed"]>>;
132
+ acceptance: z.ZodOptional<z.ZodString>;
133
+ approach: z.ZodOptional<z.ZodString>;
134
+ risk: z.ZodOptional<z.ZodString>;
114
135
  owner: z.ZodOptional<z.ZodObject<{
115
136
  agent_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
116
137
  resume_tier: z.ZodOptional<z.ZodNullable<z.ZodEnum<["persistent", "bounded", "ephemeral"]>>>;
@@ -121,12 +142,27 @@ export declare const taskToolDefinitions: readonly [{
121
142
  agent_id?: string | null | undefined;
122
143
  resume_tier?: "persistent" | "bounded" | "ephemeral" | null | undefined;
123
144
  }>>;
145
+ result: z.ZodOptional<z.ZodObject<{
146
+ outcome: z.ZodEnum<["success", "failure", "partial"]>;
147
+ summary: z.ZodString;
148
+ artifacts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
149
+ }, "strip", z.ZodTypeAny, {
150
+ summary: string;
151
+ outcome: "success" | "failure" | "partial";
152
+ artifacts?: string[] | undefined;
153
+ }, {
154
+ summary: string;
155
+ outcome: "success" | "failure" | "partial";
156
+ artifacts?: string[] | undefined;
157
+ }>>;
124
158
  };
125
159
  }, {
126
160
  group: string;
127
161
  name: string;
128
162
  description: string;
129
- inputSchema: {};
163
+ inputSchema: {
164
+ force: z.ZodOptional<z.ZodBoolean>;
165
+ };
130
166
  }, {
131
167
  group: string;
132
168
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/mcp/definitions/task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAS5B,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBI,CAAC;AAE7B,eAAO,MAAM,YAAY;;;;;;;CAUG,CAAC;AAE7B,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;CAcC,CAAC;AAE7B,eAAO,MAAM,aAAa;;;;;CAME,CAAC;AAE7B,eAAO,MAAM,cAAc;;;;;;;CAOC,CAAC;AAE7B,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMtB,CAAC"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/mcp/definitions/task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAe5B,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BI,CAAC;AAE7B,eAAO,MAAM,YAAY;;;;;;;CAUG,CAAC;AAE7B,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBC,CAAC;AAE7B,eAAO,MAAM,aAAa;;;;;;;CAaE,CAAC;AAE7B,eAAO,MAAM,cAAc;;;;;;;CAOC,CAAC;AAE7B,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMtB,CAAC"}
@@ -4,6 +4,11 @@ const TaskOwnerUpdateSchema = z.object({
4
4
  agent_id: z.string().nullable().optional(),
5
5
  resume_tier: ResumeTierSchema.nullable().optional(),
6
6
  });
7
+ const TaskResultInputSchema = z.object({
8
+ outcome: z.enum(["success", "failure", "partial"]),
9
+ summary: z.string(),
10
+ artifacts: z.array(z.string()).optional(),
11
+ });
7
12
  export const taskAddTool = {
8
13
  group: "task",
9
14
  name: "nx_task_add",
@@ -14,9 +19,14 @@ export const taskAddTool = {
14
19
  acceptance: z.string().describe("Definition of done. Required"),
15
20
  approach: z.string().optional().describe("Implementation approach"),
16
21
  risk: z.string().optional().describe("Known risk"),
17
- plan_issue: z.number().optional().describe("Related plan issue ID"),
22
+ plan_issue: z.coerce
23
+ .number()
24
+ .int()
25
+ .positive()
26
+ .optional()
27
+ .describe("Related plan issue ID"),
18
28
  deps: z
19
- .array(z.number())
29
+ .array(z.coerce.number().int().positive())
20
30
  .optional()
21
31
  .describe("List of dependency task IDs"),
22
32
  owner: TaskOwnerSchema.describe("Owner metadata. role is required"),
@@ -44,28 +54,37 @@ export const taskListTool = {
44
54
  export const taskUpdateTool = {
45
55
  group: "task",
46
56
  name: "nx_task_update",
47
- description: "Partially update task status or owner metadata",
57
+ description: "Partially update a task. Updatable fields: status, acceptance, approach, risk, owner (agent_id/resume_tier only), result (outcome/summary/artifacts). result.recorded_at is always set by the server. id, title, context, deps, created_at, owner.role are immutable — to change identity-carrying fields, delete and re-add the task instead.",
48
58
  inputSchema: {
49
- id: z.number().describe("Task ID to update"),
59
+ id: z.coerce.number().int().positive().describe("Task ID to update"),
50
60
  status: z
51
61
  .enum(["pending", "in_progress", "completed"])
52
62
  .optional()
53
63
  .describe("New status"),
64
+ acceptance: z.string().optional().describe("New acceptance criteria"),
65
+ approach: z.string().optional().describe("New approach"),
66
+ risk: z.string().optional().describe("New risk description"),
54
67
  owner: TaskOwnerUpdateSchema.optional().describe("Partial owner update. Only agent_id and resume_tier are allowed; role cannot be changed"),
68
+ result: TaskResultInputSchema.optional().describe("Task result. recorded_at is set by the server and must not be supplied"),
55
69
  },
56
70
  };
57
71
  export const taskCloseTool = {
58
72
  group: "task",
59
73
  name: "nx_task_close",
60
- description: "Close the current cycle, archive it to history.json, and remove plan.json and tasks.json",
61
- inputSchema: {},
74
+ description: "Close the current cycle, archive it to history.json, and remove plan.json and tasks.json. Throws if any tasks are incomplete unless force is true.",
75
+ inputSchema: {
76
+ force: z
77
+ .boolean()
78
+ .optional()
79
+ .describe("Skip the incomplete-task guard and close anyway. Defaults to false."),
80
+ },
62
81
  };
63
82
  export const taskResumeTool = {
64
83
  group: "task",
65
84
  name: "nx_task_resume",
66
85
  description: "Get task resume routing information based on owner.resume_tier",
67
86
  inputSchema: {
68
- id: z.number().describe("Task ID to look up"),
87
+ id: z.coerce.number().int().positive().describe("Task ID to look up"),
69
88
  },
70
89
  };
71
90
  export const taskToolDefinitions = [
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/mcp/definitions/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/mcp/definitions/task.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/artifact.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASlD;AA2BD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE7D"}
1
+ {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/artifact.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2BzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASlD;AAgED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE7D"}
@@ -1,9 +1,10 @@
1
+ import { readdirSync, statSync } from "node:fs";
1
2
  import { mkdir, realpath, writeFile } from "node:fs/promises";
2
3
  import { dirname, join, relative } from "node:path";
3
4
  import { textResult } from "../../shared/mcp-utils.js";
4
5
  import { findProjectRoot, getStateRoot } from "../../shared/paths.js";
5
6
  import { registerNxTools, } from "../../shared/register-tool.js";
6
- import { artifactWriteTool } from "../definitions/artifact.js";
7
+ import { artifactListTool, artifactWriteTool, } from "../definitions/artifact.js";
7
8
  export function sanitizeName(input) {
8
9
  const normalized = input.replace(/\\/g, "/");
9
10
  const segments = normalized
@@ -14,6 +15,32 @@ export function sanitizeName(input) {
14
15
  }
15
16
  return segments.join("/");
16
17
  }
18
+ function listArtifactsRecursive(dir, base) {
19
+ const entries = [];
20
+ let items;
21
+ try {
22
+ items = readdirSync(dir);
23
+ }
24
+ catch {
25
+ return entries;
26
+ }
27
+ for (const item of items) {
28
+ const fullPath = join(dir, item);
29
+ const stat = statSync(fullPath);
30
+ if (stat.isDirectory()) {
31
+ const sub = listArtifactsRecursive(fullPath, base);
32
+ entries.push(...sub);
33
+ }
34
+ else {
35
+ entries.push({
36
+ filename: relative(base, fullPath),
37
+ size: stat.size,
38
+ modified_at: stat.mtime.toISOString(),
39
+ });
40
+ }
41
+ }
42
+ return entries;
43
+ }
17
44
  const artifactToolBindings = [
18
45
  {
19
46
  definition: artifactWriteTool,
@@ -35,6 +62,17 @@ const artifactToolBindings = [
35
62
  return textResult({ success: true, path: relPath });
36
63
  },
37
64
  },
65
+ {
66
+ definition: artifactListTool,
67
+ handler: async ({ prefix }) => {
68
+ const artifactsDir = join(getStateRoot(), "artifacts");
69
+ const all = listArtifactsRecursive(artifactsDir, artifactsDir);
70
+ const artifacts = prefix !== undefined
71
+ ? all.filter((entry) => entry.filename.startsWith(prefix))
72
+ : all;
73
+ return textResult({ artifacts });
74
+ },
75
+ },
38
76
  ];
39
77
  export function registerArtifactTools(server) {
40
78
  registerNxTools(server, artifactToolBindings);
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../../src/mcp/handlers/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAEL,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAO/D,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,UAAU;SACxB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,oBAAoB,GAAiC;IACzD;QACE,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAqB,EAAE,EAAE;YAC1D,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACxC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;YACtD,IACE,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,gBAAgB,GAAG,CAAC;gBACjD,aAAa,KAAK,gBAAgB,EAClC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAClD,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;KACF;CACF,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,eAAe,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../../src/mcp/handlers/artifact.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/history.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+CzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE5D"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/history.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0PzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE5D"}