@mpowr/nexus-mcp 0.5.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 (119) hide show
  1. package/README.md +59 -0
  2. package/dist/auth.d.ts +39 -0
  3. package/dist/auth.d.ts.map +1 -0
  4. package/dist/auth.js +47 -0
  5. package/dist/auth.js.map +1 -0
  6. package/dist/nexus-api.d.ts +29 -0
  7. package/dist/nexus-api.d.ts.map +1 -0
  8. package/dist/nexus-api.js +76 -0
  9. package/dist/nexus-api.js.map +1 -0
  10. package/dist/server.d.ts +65 -0
  11. package/dist/server.d.ts.map +1 -0
  12. package/dist/server.js +183 -0
  13. package/dist/server.js.map +1 -0
  14. package/dist/tools/add-task-note.d.ts +34 -0
  15. package/dist/tools/add-task-note.d.ts.map +1 -0
  16. package/dist/tools/add-task-note.js +39 -0
  17. package/dist/tools/add-task-note.js.map +1 -0
  18. package/dist/tools/append-session-entry.d.ts +53 -0
  19. package/dist/tools/append-session-entry.d.ts.map +1 -0
  20. package/dist/tools/append-session-entry.js +67 -0
  21. package/dist/tools/append-session-entry.js.map +1 -0
  22. package/dist/tools/create-task.d.ts +52 -0
  23. package/dist/tools/create-task.d.ts.map +1 -0
  24. package/dist/tools/create-task.js +51 -0
  25. package/dist/tools/create-task.js.map +1 -0
  26. package/dist/tools/decision-comments.d.ts +54 -0
  27. package/dist/tools/decision-comments.d.ts.map +1 -0
  28. package/dist/tools/decision-comments.js +80 -0
  29. package/dist/tools/decision-comments.js.map +1 -0
  30. package/dist/tools/get-document.d.ts +47 -0
  31. package/dist/tools/get-document.d.ts.map +1 -0
  32. package/dist/tools/get-document.js +68 -0
  33. package/dist/tools/get-document.js.map +1 -0
  34. package/dist/tools/get-project-memory.d.ts +47 -0
  35. package/dist/tools/get-project-memory.d.ts.map +1 -0
  36. package/dist/tools/get-project-memory.js +53 -0
  37. package/dist/tools/get-project-memory.js.map +1 -0
  38. package/dist/tools/get-related-entities.d.ts +44 -0
  39. package/dist/tools/get-related-entities.d.ts.map +1 -0
  40. package/dist/tools/get-related-entities.js +60 -0
  41. package/dist/tools/get-related-entities.js.map +1 -0
  42. package/dist/tools/governance.d.ts +90 -0
  43. package/dist/tools/governance.d.ts.map +1 -0
  44. package/dist/tools/governance.js +124 -0
  45. package/dist/tools/governance.js.map +1 -0
  46. package/dist/tools/ingest-document.d.ts +40 -0
  47. package/dist/tools/ingest-document.d.ts.map +1 -0
  48. package/dist/tools/ingest-document.js +48 -0
  49. package/dist/tools/ingest-document.js.map +1 -0
  50. package/dist/tools/letter-inbox.d.ts +80 -0
  51. package/dist/tools/letter-inbox.d.ts.map +1 -0
  52. package/dist/tools/letter-inbox.js +118 -0
  53. package/dist/tools/letter-inbox.js.map +1 -0
  54. package/dist/tools/letters.d.ts +91 -0
  55. package/dist/tools/letters.d.ts.map +1 -0
  56. package/dist/tools/letters.js +112 -0
  57. package/dist/tools/letters.js.map +1 -0
  58. package/dist/tools/project-list.d.ts +28 -0
  59. package/dist/tools/project-list.d.ts.map +1 -0
  60. package/dist/tools/project-list.js +43 -0
  61. package/dist/tools/project-list.js.map +1 -0
  62. package/dist/tools/reviews.d.ts +145 -0
  63. package/dist/tools/reviews.d.ts.map +1 -0
  64. package/dist/tools/reviews.js +216 -0
  65. package/dist/tools/reviews.js.map +1 -0
  66. package/dist/tools/search-knowledge.d.ts +48 -0
  67. package/dist/tools/search-knowledge.d.ts.map +1 -0
  68. package/dist/tools/search-knowledge.js +54 -0
  69. package/dist/tools/search-knowledge.js.map +1 -0
  70. package/dist/tools/sessions.d.ts +81 -0
  71. package/dist/tools/sessions.d.ts.map +1 -0
  72. package/dist/tools/sessions.js +120 -0
  73. package/dist/tools/sessions.js.map +1 -0
  74. package/dist/tools/skill-assign.d.ts +77 -0
  75. package/dist/tools/skill-assign.d.ts.map +1 -0
  76. package/dist/tools/skill-assign.js +108 -0
  77. package/dist/tools/skill-assign.js.map +1 -0
  78. package/dist/tools/skills.d.ts +138 -0
  79. package/dist/tools/skills.d.ts.map +1 -0
  80. package/dist/tools/skills.js +192 -0
  81. package/dist/tools/skills.js.map +1 -0
  82. package/dist/tools/update-task-status.d.ts +48 -0
  83. package/dist/tools/update-task-status.d.ts.map +1 -0
  84. package/dist/tools/update-task-status.js +51 -0
  85. package/dist/tools/update-task-status.js.map +1 -0
  86. package/package.json +30 -0
  87. package/src/__tests__/auth.test.ts +162 -0
  88. package/src/__tests__/decision-comments.test.ts +173 -0
  89. package/src/__tests__/helpers.ts +58 -0
  90. package/src/__tests__/layer1-knowledge.test.ts +302 -0
  91. package/src/__tests__/layer2-coordination.test.ts +775 -0
  92. package/src/__tests__/layer3-governance.test.ts +205 -0
  93. package/src/__tests__/project-list-and-skill-assign.test.ts +282 -0
  94. package/src/__tests__/reviews.test.ts +420 -0
  95. package/src/__tests__/server.test.ts +238 -0
  96. package/src/__tests__/setup.ts +15 -0
  97. package/src/auth.ts +81 -0
  98. package/src/nexus-api.ts +110 -0
  99. package/src/server.ts +499 -0
  100. package/src/tools/add-task-note.ts +50 -0
  101. package/src/tools/append-session-entry.ts +83 -0
  102. package/src/tools/create-task.ts +66 -0
  103. package/src/tools/decision-comments.ts +102 -0
  104. package/src/tools/get-document.ts +80 -0
  105. package/src/tools/get-project-memory.ts +65 -0
  106. package/src/tools/get-related-entities.ts +73 -0
  107. package/src/tools/governance.ts +162 -0
  108. package/src/tools/ingest-document.ts +64 -0
  109. package/src/tools/letter-inbox.ts +157 -0
  110. package/src/tools/letters.ts +144 -0
  111. package/src/tools/project-list.ts +52 -0
  112. package/src/tools/reviews.ts +277 -0
  113. package/src/tools/search-knowledge.ts +68 -0
  114. package/src/tools/sessions.ts +154 -0
  115. package/src/tools/skill-assign.ts +142 -0
  116. package/src/tools/skills.ts +252 -0
  117. package/src/tools/update-task-status.ts +64 -0
  118. package/tsconfig.json +20 -0
  119. package/vitest.config.ts +8 -0
@@ -0,0 +1,48 @@
1
+ /**
2
+ * kb_search -- Layer 1 Knowledge Access
3
+ *
4
+ * Searches project knowledge using keyword, semantic, or hybrid mode.
5
+ * Delegates to POST /api/mcp/search.
6
+ */
7
+ import { z } from 'zod';
8
+ export declare const searchKnowledgeSchema: {
9
+ query: z.ZodString;
10
+ project_id: z.ZodString;
11
+ entity_types: z.ZodOptional<z.ZodArray<z.ZodEnum<{
12
+ session: "session";
13
+ decision: "decision";
14
+ letter: "letter";
15
+ task: "task";
16
+ research_note: "research_note";
17
+ planning_item: "planning_item";
18
+ ingest_item: "ingest_item";
19
+ }>>>;
20
+ search_mode: z.ZodDefault<z.ZodEnum<{
21
+ keyword: "keyword";
22
+ semantic: "semantic";
23
+ hybrid: "hybrid";
24
+ }>>;
25
+ limit: z.ZodDefault<z.ZodNumber>;
26
+ };
27
+ type SearchArgs = {
28
+ query: string;
29
+ project_id: string;
30
+ entity_types?: string[];
31
+ search_mode?: string;
32
+ limit?: number;
33
+ };
34
+ export declare function searchKnowledge(args: SearchArgs): Promise<{
35
+ content: {
36
+ type: "text";
37
+ text: string;
38
+ }[];
39
+ isError: boolean;
40
+ } | {
41
+ content: {
42
+ type: "text";
43
+ text: string;
44
+ }[];
45
+ isError?: undefined;
46
+ }>;
47
+ export {};
48
+ //# sourceMappingURL=search-knowledge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-knowledge.d.ts","sourceRoot":"","sources":["../../src/tools/search-knowledge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;CA4BjC,CAAA;AAED,KAAK,UAAU,GAAG;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU;;;;;;;;;;;;GAmBrD"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * kb_search -- Layer 1 Knowledge Access
3
+ *
4
+ * Searches project knowledge using keyword, semantic, or hybrid mode.
5
+ * Delegates to POST /api/mcp/search.
6
+ */
7
+ import { z } from 'zod';
8
+ import { nexusPost } from '../nexus-api.js';
9
+ export const searchKnowledgeSchema = {
10
+ query: z.string().describe('Free-text search query'),
11
+ project_id: z.string().uuid().describe('Project UUID to scope the search'),
12
+ entity_types: z
13
+ .array(z.enum([
14
+ 'session',
15
+ 'decision',
16
+ 'letter',
17
+ 'task',
18
+ 'research_note',
19
+ 'planning_item',
20
+ 'ingest_item',
21
+ ]))
22
+ .optional()
23
+ .describe('Filter to specific entity types'),
24
+ search_mode: z
25
+ .enum(['keyword', 'semantic', 'hybrid'])
26
+ .default('keyword')
27
+ .describe('Search mode: keyword, semantic, or hybrid'),
28
+ limit: z
29
+ .number()
30
+ .int()
31
+ .min(1)
32
+ .max(50)
33
+ .default(10)
34
+ .describe('Maximum results to return'),
35
+ };
36
+ export async function searchKnowledge(args) {
37
+ const result = await nexusPost('/api/mcp/search', {
38
+ project_id: args.project_id,
39
+ query: args.query,
40
+ entity_types: args.entity_types,
41
+ search_mode: args.search_mode ?? 'keyword',
42
+ limit: args.limit ?? 10,
43
+ });
44
+ if (!result.ok) {
45
+ return {
46
+ content: [{ type: 'text', text: JSON.stringify({ error: result.error }, null, 2) }],
47
+ isError: true,
48
+ };
49
+ }
50
+ return {
51
+ content: [{ type: 'text', text: JSON.stringify(result.data, null, 2) }],
52
+ };
53
+ }
54
+ //# sourceMappingURL=search-knowledge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-knowledge.js","sourceRoot":"","sources":["../../src/tools/search-knowledge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACpD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC1E,YAAY,EAAE,CAAC;SACZ,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC;QACL,SAAS;QACT,UAAU;QACV,QAAQ;QACR,MAAM;QACN,eAAe;QACf,eAAe;QACf,aAAa;KACd,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,iCAAiC,CAAC;IAC9C,WAAW,EAAE,CAAC;SACX,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;SACvC,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,2CAA2C,CAAC;IACxD,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,2BAA2B,CAAC;CACzC,CAAA;AAUD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAgB;IACpD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE;QAChD,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS;QAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;KACxB,CAAC,CAAA;IAEF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC5F,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KACjF,CAAA;AACH,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Session lifecycle tools -- Layer 2 Coordination
3
+ *
4
+ * session_create: Start a new work session for a project
5
+ * session_close: End a session with summary and next entry point
6
+ * session_list: List open sessions for a project
7
+ *
8
+ * Delegates to POST /api/mcp/sessions.
9
+ */
10
+ import { z } from 'zod';
11
+ export declare const createSessionSchema: {
12
+ project_id: z.ZodString;
13
+ title: z.ZodString;
14
+ agent_id: z.ZodOptional<z.ZodString>;
15
+ };
16
+ type CreateSessionArgs = {
17
+ project_id: string;
18
+ title: string;
19
+ agent_id?: string;
20
+ user_id: string;
21
+ };
22
+ export declare function createSession(args: CreateSessionArgs): Promise<{
23
+ content: {
24
+ type: "text";
25
+ text: string;
26
+ }[];
27
+ isError: boolean;
28
+ } | {
29
+ content: {
30
+ type: "text";
31
+ text: string;
32
+ }[];
33
+ isError?: undefined;
34
+ }>;
35
+ export declare const closeSessionSchema: {
36
+ session_id: z.ZodString;
37
+ summary: z.ZodOptional<z.ZodString>;
38
+ next_entry_point: z.ZodOptional<z.ZodString>;
39
+ };
40
+ type CloseSessionArgs = {
41
+ session_id: string;
42
+ summary?: string;
43
+ next_entry_point?: string;
44
+ user_id: string;
45
+ };
46
+ export declare function closeSession(args: CloseSessionArgs): Promise<{
47
+ content: {
48
+ type: "text";
49
+ text: string;
50
+ }[];
51
+ isError: boolean;
52
+ } | {
53
+ content: {
54
+ type: "text";
55
+ text: string;
56
+ }[];
57
+ isError?: undefined;
58
+ }>;
59
+ export declare const listOpenSessionsSchema: {
60
+ project_id: z.ZodString;
61
+ limit: z.ZodDefault<z.ZodNumber>;
62
+ };
63
+ type ListOpenSessionsArgs = {
64
+ project_id: string;
65
+ limit?: number;
66
+ };
67
+ export declare function listOpenSessions(args: ListOpenSessionsArgs): Promise<{
68
+ content: {
69
+ type: "text";
70
+ text: string;
71
+ }[];
72
+ isError: boolean;
73
+ } | {
74
+ content: {
75
+ type: "text";
76
+ text: string;
77
+ }[];
78
+ isError?: undefined;
79
+ }>;
80
+ export {};
81
+ //# sourceMappingURL=sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/tools/sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAOvB,eAAO,MAAM,mBAAmB;;;;CAO/B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB;;;;;;;;;;;;GAwB1D;AAMD,eAAO,MAAM,kBAAkB;;;;CAU9B,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB;;;;;;;;;;;;GAyBxD;AAMD,eAAO,MAAM,sBAAsB;;;CASlC,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB;;;;;;;;;;;;GAwBhE"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Session lifecycle tools -- Layer 2 Coordination
3
+ *
4
+ * session_create: Start a new work session for a project
5
+ * session_close: End a session with summary and next entry point
6
+ * session_list: List open sessions for a project
7
+ *
8
+ * Delegates to POST /api/mcp/sessions.
9
+ */
10
+ import { z } from 'zod';
11
+ import { nexusPost } from '../nexus-api.js';
12
+ // ---------------------------------------------------------------------------
13
+ // create_session -> session_create
14
+ // ---------------------------------------------------------------------------
15
+ export const createSessionSchema = {
16
+ project_id: z.string().uuid().describe('Project UUID'),
17
+ title: z.string().describe('Session title (e.g., "Architecture review")'),
18
+ agent_id: z
19
+ .string()
20
+ .optional()
21
+ .describe('Agent identifier starting this session'),
22
+ };
23
+ export async function createSession(args) {
24
+ const result = await nexusPost('/api/mcp/sessions', {
25
+ action: 'session_create',
26
+ project_id: args.project_id,
27
+ title: args.title,
28
+ });
29
+ if (!result.ok) {
30
+ return {
31
+ content: [
32
+ {
33
+ type: 'text',
34
+ text: JSON.stringify({ error: result.error }, null, 2),
35
+ },
36
+ ],
37
+ isError: true,
38
+ };
39
+ }
40
+ return {
41
+ content: [
42
+ { type: 'text', text: JSON.stringify(result.data, null, 2) },
43
+ ],
44
+ };
45
+ }
46
+ // ---------------------------------------------------------------------------
47
+ // close_session -> session_close
48
+ // ---------------------------------------------------------------------------
49
+ export const closeSessionSchema = {
50
+ session_id: z.string().uuid().describe('Session UUID to close'),
51
+ summary: z
52
+ .string()
53
+ .optional()
54
+ .describe('Summary of what was accomplished in the session'),
55
+ next_entry_point: z
56
+ .string()
57
+ .optional()
58
+ .describe('Suggested starting point for the next session'),
59
+ };
60
+ export async function closeSession(args) {
61
+ const result = await nexusPost('/api/mcp/sessions', {
62
+ action: 'session_close',
63
+ session_id: args.session_id,
64
+ summary: args.summary,
65
+ next_entry_point: args.next_entry_point,
66
+ });
67
+ if (!result.ok) {
68
+ return {
69
+ content: [
70
+ {
71
+ type: 'text',
72
+ text: JSON.stringify({ error: result.error }, null, 2),
73
+ },
74
+ ],
75
+ isError: true,
76
+ };
77
+ }
78
+ return {
79
+ content: [
80
+ { type: 'text', text: JSON.stringify(result.data, null, 2) },
81
+ ],
82
+ };
83
+ }
84
+ // ---------------------------------------------------------------------------
85
+ // list_open_sessions -> session_list
86
+ // ---------------------------------------------------------------------------
87
+ export const listOpenSessionsSchema = {
88
+ project_id: z.string().uuid().describe('Project UUID'),
89
+ limit: z
90
+ .number()
91
+ .int()
92
+ .min(1)
93
+ .max(100)
94
+ .default(25)
95
+ .describe('Maximum number of sessions to return (default 25)'),
96
+ };
97
+ export async function listOpenSessions(args) {
98
+ const result = await nexusPost('/api/mcp/sessions', {
99
+ action: 'session_list',
100
+ project_id: args.project_id,
101
+ limit: args.limit ?? 25,
102
+ });
103
+ if (!result.ok) {
104
+ return {
105
+ content: [
106
+ {
107
+ type: 'text',
108
+ text: JSON.stringify({ error: result.error }, null, 2),
109
+ },
110
+ ],
111
+ isError: true,
112
+ };
113
+ }
114
+ return {
115
+ content: [
116
+ { type: 'text', text: JSON.stringify(result.data, null, 2) },
117
+ ],
118
+ };
119
+ }
120
+ //# sourceMappingURL=sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/tools/sessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * sk_assign + sk_unassign + sk_export -- Layer 2 Coordination
3
+ *
4
+ * Skill-project assignment management tools for the Nexus platform.
5
+ * Delegates to POST /api/mcp/skills.
6
+ */
7
+ import { z } from 'zod';
8
+ export declare const skAssignSchema: {
9
+ project_id: z.ZodString;
10
+ skill_id: z.ZodString;
11
+ pinned_version: z.ZodOptional<z.ZodNumber>;
12
+ enabled: z.ZodOptional<z.ZodBoolean>;
13
+ };
14
+ type SkAssignArgs = {
15
+ project_id: string;
16
+ skill_id: string;
17
+ pinned_version?: number;
18
+ enabled?: boolean;
19
+ user_id: string;
20
+ };
21
+ export declare function skAssign(args: SkAssignArgs): Promise<{
22
+ content: {
23
+ type: "text";
24
+ text: string;
25
+ }[];
26
+ isError: boolean;
27
+ } | {
28
+ content: {
29
+ type: "text";
30
+ text: string;
31
+ }[];
32
+ isError?: undefined;
33
+ }>;
34
+ export declare const skUnassignSchema: {
35
+ project_id: z.ZodString;
36
+ skill_id: z.ZodString;
37
+ };
38
+ type SkUnassignArgs = {
39
+ project_id: string;
40
+ skill_id: string;
41
+ user_id: string;
42
+ };
43
+ export declare function skUnassign(args: SkUnassignArgs): Promise<{
44
+ content: {
45
+ type: "text";
46
+ text: string;
47
+ }[];
48
+ isError: boolean;
49
+ } | {
50
+ content: {
51
+ type: "text";
52
+ text: string;
53
+ }[];
54
+ isError?: undefined;
55
+ }>;
56
+ export declare const skExportSchema: {
57
+ project_id: z.ZodString;
58
+ };
59
+ type SkExportArgs = {
60
+ project_id: string;
61
+ user_id: string;
62
+ };
63
+ export declare function skExport(args: SkExportArgs): Promise<{
64
+ content: {
65
+ type: "text";
66
+ text: string;
67
+ }[];
68
+ isError: boolean;
69
+ } | {
70
+ content: {
71
+ type: "text";
72
+ text: string;
73
+ }[];
74
+ isError?: undefined;
75
+ }>;
76
+ export {};
77
+ //# sourceMappingURL=skill-assign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-assign.d.ts","sourceRoot":"","sources":["../../src/tools/skill-assign.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAOvB,eAAO,MAAM,cAAc;;;;;CAY1B,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY;;;;;;;;;;;;GA0BhD;AAMD,eAAO,MAAM,gBAAgB;;;CAG5B,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc;;;;;;;;;;;;GAwBpD;AAMD,eAAO,MAAM,cAAc;;CAE1B,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY;;;;;;;;;;;;GAuBhD"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * sk_assign + sk_unassign + sk_export -- Layer 2 Coordination
3
+ *
4
+ * Skill-project assignment management tools for the Nexus platform.
5
+ * Delegates to POST /api/mcp/skills.
6
+ */
7
+ import { z } from 'zod';
8
+ import { nexusPost } from '../nexus-api.js';
9
+ // ---------------------------------------------------------------------------
10
+ // sk_assign
11
+ // ---------------------------------------------------------------------------
12
+ export const skAssignSchema = {
13
+ project_id: z.string().uuid().describe('Project UUID'),
14
+ skill_id: z.string().describe('Skill identifier or UUID'),
15
+ pinned_version: z
16
+ .number()
17
+ .int()
18
+ .optional()
19
+ .describe('Pin to a specific skill version'),
20
+ enabled: z
21
+ .boolean()
22
+ .optional()
23
+ .describe('Whether the assignment is enabled (default: true)'),
24
+ };
25
+ export async function skAssign(args) {
26
+ const result = await nexusPost('/api/mcp/skills', {
27
+ action: 'sk_assign',
28
+ project_id: args.project_id,
29
+ skill_id: args.skill_id,
30
+ pinned_version: args.pinned_version,
31
+ enabled: args.enabled,
32
+ });
33
+ if (!result.ok) {
34
+ return {
35
+ content: [
36
+ {
37
+ type: 'text',
38
+ text: JSON.stringify({ error: result.error }, null, 2),
39
+ },
40
+ ],
41
+ isError: true,
42
+ };
43
+ }
44
+ return {
45
+ content: [
46
+ { type: 'text', text: JSON.stringify(result.data, null, 2) },
47
+ ],
48
+ };
49
+ }
50
+ // ---------------------------------------------------------------------------
51
+ // sk_unassign
52
+ // ---------------------------------------------------------------------------
53
+ export const skUnassignSchema = {
54
+ project_id: z.string().uuid().describe('Project UUID'),
55
+ skill_id: z.string().describe('Skill identifier or UUID'),
56
+ };
57
+ export async function skUnassign(args) {
58
+ const result = await nexusPost('/api/mcp/skills', {
59
+ action: 'sk_unassign',
60
+ project_id: args.project_id,
61
+ skill_id: args.skill_id,
62
+ });
63
+ if (!result.ok) {
64
+ return {
65
+ content: [
66
+ {
67
+ type: 'text',
68
+ text: JSON.stringify({ error: result.error }, null, 2),
69
+ },
70
+ ],
71
+ isError: true,
72
+ };
73
+ }
74
+ return {
75
+ content: [
76
+ { type: 'text', text: JSON.stringify(result.data, null, 2) },
77
+ ],
78
+ };
79
+ }
80
+ // ---------------------------------------------------------------------------
81
+ // sk_export
82
+ // ---------------------------------------------------------------------------
83
+ export const skExportSchema = {
84
+ project_id: z.string().uuid().describe('Project UUID'),
85
+ };
86
+ export async function skExport(args) {
87
+ const result = await nexusPost('/api/mcp/skills', {
88
+ action: 'sk_export',
89
+ project_id: args.project_id,
90
+ });
91
+ if (!result.ok) {
92
+ return {
93
+ content: [
94
+ {
95
+ type: 'text',
96
+ text: JSON.stringify({ error: result.error }, null, 2),
97
+ },
98
+ ],
99
+ isError: true,
100
+ };
101
+ }
102
+ return {
103
+ content: [
104
+ { type: 'text', text: JSON.stringify(result.data, null, 2) },
105
+ ],
106
+ };
107
+ }
108
+ //# sourceMappingURL=skill-assign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-assign.js","sourceRoot":"","sources":["../../src/tools/skill-assign.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * sk_list + sk_get + sk_create + sk_update + sk_activate -- Layer 2 Coordination
3
+ *
4
+ * Skill management tools for the Nexus platform.
5
+ * Skills are tenant-scoped instruction sets for agent sessions.
6
+ * Delegates to POST /api/mcp/skills.
7
+ */
8
+ import { z } from 'zod';
9
+ export declare const skListSchema: {
10
+ status_filter: z.ZodOptional<z.ZodArray<z.ZodEnum<{
11
+ draft: "draft";
12
+ active: "active";
13
+ archived: "archived";
14
+ }>>>;
15
+ limit: z.ZodDefault<z.ZodNumber>;
16
+ };
17
+ type SkListArgs = {
18
+ status_filter?: string[];
19
+ limit?: number;
20
+ user_id: string;
21
+ };
22
+ export declare function skList(args: SkListArgs): Promise<{
23
+ content: {
24
+ type: "text";
25
+ text: string;
26
+ }[];
27
+ isError: boolean;
28
+ } | {
29
+ content: {
30
+ type: "text";
31
+ text: string;
32
+ }[];
33
+ isError?: undefined;
34
+ }>;
35
+ export declare const skGetSchema: {
36
+ skill_id: z.ZodString;
37
+ };
38
+ type SkGetArgs = {
39
+ skill_id: string;
40
+ user_id: string;
41
+ };
42
+ export declare function skGet(args: SkGetArgs): Promise<{
43
+ content: {
44
+ type: "text";
45
+ text: string;
46
+ }[];
47
+ isError: boolean;
48
+ } | {
49
+ content: {
50
+ type: "text";
51
+ text: string;
52
+ }[];
53
+ isError?: undefined;
54
+ }>;
55
+ export declare const skCreateSchema: {
56
+ skill_id: z.ZodString;
57
+ name: z.ZodString;
58
+ description: z.ZodOptional<z.ZodString>;
59
+ body: z.ZodString;
60
+ auto_generate_command: z.ZodDefault<z.ZodBoolean>;
61
+ };
62
+ type SkCreateArgs = {
63
+ skill_id: string;
64
+ name: string;
65
+ description?: string;
66
+ body: string;
67
+ auto_generate_command?: boolean;
68
+ user_id: string;
69
+ };
70
+ export declare function skCreate(args: SkCreateArgs): Promise<{
71
+ content: {
72
+ type: "text";
73
+ text: string;
74
+ }[];
75
+ isError: boolean;
76
+ } | {
77
+ content: {
78
+ type: "text";
79
+ text: string;
80
+ }[];
81
+ isError?: undefined;
82
+ }>;
83
+ export declare const skUpdateSchema: {
84
+ skill_id: z.ZodString;
85
+ name: z.ZodOptional<z.ZodString>;
86
+ description: z.ZodOptional<z.ZodString>;
87
+ body: z.ZodOptional<z.ZodString>;
88
+ auto_generate_command: z.ZodOptional<z.ZodBoolean>;
89
+ };
90
+ type SkUpdateArgs = {
91
+ skill_id: string;
92
+ name?: string;
93
+ description?: string;
94
+ body?: string;
95
+ auto_generate_command?: boolean;
96
+ user_id: string;
97
+ };
98
+ export declare function skUpdate(args: SkUpdateArgs): Promise<{
99
+ content: {
100
+ type: "text";
101
+ text: string;
102
+ }[];
103
+ isError: boolean;
104
+ } | {
105
+ content: {
106
+ type: "text";
107
+ text: string;
108
+ }[];
109
+ isError?: undefined;
110
+ }>;
111
+ export declare const skActivateSchema: {
112
+ skill_id: z.ZodString;
113
+ status: z.ZodEnum<{
114
+ draft: "draft";
115
+ active: "active";
116
+ archived: "archived";
117
+ }>;
118
+ };
119
+ type SkActivateArgs = {
120
+ skill_id: string;
121
+ status: string;
122
+ user_id: string;
123
+ };
124
+ export declare function skActivate(args: SkActivateArgs): Promise<{
125
+ content: {
126
+ type: "text";
127
+ text: string;
128
+ }[];
129
+ isError: boolean;
130
+ } | {
131
+ content: {
132
+ type: "text";
133
+ text: string;
134
+ }[];
135
+ isError?: undefined;
136
+ }>;
137
+ export {};
138
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/tools/skills.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAOvB,eAAO,MAAM,YAAY;;;;;;;CAWxB,CAAA;AAED,KAAK,UAAU,GAAG;IAChB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU;;;;;;;;;;;;GAwB5C;AAMD,eAAO,MAAM,WAAW;;CAIvB,CAAA;AAED,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,SAAS;;;;;;;;;;;;GAuB1C;AAMD,eAAO,MAAM,cAAc;;;;;;CAS1B,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY;;;;;;;;;;;;GA2BhD;AAMD,eAAO,MAAM,cAAc;;;;;;CAW1B,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY;;;;;;;;;;;;GA2BhD;AAMD,eAAO,MAAM,gBAAgB;;;;;;;CAO5B,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc;;;;;;;;;;;;GAwBpD"}