@defai.digital/mcp-server 13.0.3

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 (178) hide show
  1. package/LICENSE +214 -0
  2. package/dist/bin.d.ts +3 -0
  3. package/dist/bin.d.ts.map +1 -0
  4. package/dist/bin.js +7 -0
  5. package/dist/bin.js.map +1 -0
  6. package/dist/bootstrap.d.ts +89 -0
  7. package/dist/bootstrap.d.ts.map +1 -0
  8. package/dist/bootstrap.js +161 -0
  9. package/dist/bootstrap.js.map +1 -0
  10. package/dist/index.d.ts +10 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +17 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/middleware/rate-limiter.d.ts +136 -0
  15. package/dist/middleware/rate-limiter.d.ts.map +1 -0
  16. package/dist/middleware/rate-limiter.js +262 -0
  17. package/dist/middleware/rate-limiter.js.map +1 -0
  18. package/dist/prompts/agent-guide.d.ts +16 -0
  19. package/dist/prompts/agent-guide.d.ts.map +1 -0
  20. package/dist/prompts/agent-guide.js +391 -0
  21. package/dist/prompts/agent-guide.js.map +1 -0
  22. package/dist/prompts/explain-workflow.d.ts +15 -0
  23. package/dist/prompts/explain-workflow.d.ts.map +1 -0
  24. package/dist/prompts/explain-workflow.js +157 -0
  25. package/dist/prompts/explain-workflow.js.map +1 -0
  26. package/dist/prompts/index.d.ts +39 -0
  27. package/dist/prompts/index.d.ts.map +1 -0
  28. package/dist/prompts/index.js +83 -0
  29. package/dist/prompts/index.js.map +1 -0
  30. package/dist/prompts/review-changes.d.ts +15 -0
  31. package/dist/prompts/review-changes.d.ts.map +1 -0
  32. package/dist/prompts/review-changes.js +102 -0
  33. package/dist/prompts/review-changes.js.map +1 -0
  34. package/dist/prompts/troubleshoot-session.d.ts +15 -0
  35. package/dist/prompts/troubleshoot-session.d.ts.map +1 -0
  36. package/dist/prompts/troubleshoot-session.js +156 -0
  37. package/dist/prompts/troubleshoot-session.js.map +1 -0
  38. package/dist/registry-accessor.d.ts +83 -0
  39. package/dist/registry-accessor.d.ts.map +1 -0
  40. package/dist/registry-accessor.js +153 -0
  41. package/dist/registry-accessor.js.map +1 -0
  42. package/dist/resources/agents.d.ts +40 -0
  43. package/dist/resources/agents.d.ts.map +1 -0
  44. package/dist/resources/agents.js +123 -0
  45. package/dist/resources/agents.js.map +1 -0
  46. package/dist/resources/config.d.ts +57 -0
  47. package/dist/resources/config.d.ts.map +1 -0
  48. package/dist/resources/config.js +222 -0
  49. package/dist/resources/config.js.map +1 -0
  50. package/dist/resources/index.d.ts +38 -0
  51. package/dist/resources/index.d.ts.map +1 -0
  52. package/dist/resources/index.js +132 -0
  53. package/dist/resources/index.js.map +1 -0
  54. package/dist/resources/policies.d.ts +40 -0
  55. package/dist/resources/policies.d.ts.map +1 -0
  56. package/dist/resources/policies.js +122 -0
  57. package/dist/resources/policies.js.map +1 -0
  58. package/dist/resources/sessions.d.ts +30 -0
  59. package/dist/resources/sessions.d.ts.map +1 -0
  60. package/dist/resources/sessions.js +64 -0
  61. package/dist/resources/sessions.js.map +1 -0
  62. package/dist/resources/workflows.d.ts +40 -0
  63. package/dist/resources/workflows.d.ts.map +1 -0
  64. package/dist/resources/workflows.js +143 -0
  65. package/dist/resources/workflows.js.map +1 -0
  66. package/dist/schema-registry.d.ts +23 -0
  67. package/dist/schema-registry.d.ts.map +1 -0
  68. package/dist/schema-registry.js +225 -0
  69. package/dist/schema-registry.js.map +1 -0
  70. package/dist/server.d.ts +63 -0
  71. package/dist/server.d.ts.map +1 -0
  72. package/dist/server.js +393 -0
  73. package/dist/server.js.map +1 -0
  74. package/dist/session-accessor.d.ts +23 -0
  75. package/dist/session-accessor.d.ts.map +1 -0
  76. package/dist/session-accessor.js +39 -0
  77. package/dist/session-accessor.js.map +1 -0
  78. package/dist/shared-registry.d.ts +23 -0
  79. package/dist/shared-registry.d.ts.map +1 -0
  80. package/dist/shared-registry.js +235 -0
  81. package/dist/shared-registry.js.map +1 -0
  82. package/dist/stdio.d.ts +6 -0
  83. package/dist/stdio.d.ts.map +1 -0
  84. package/dist/stdio.js +152 -0
  85. package/dist/stdio.js.map +1 -0
  86. package/dist/tool-namespacing.d.ts +28 -0
  87. package/dist/tool-namespacing.d.ts.map +1 -0
  88. package/dist/tool-namespacing.js +80 -0
  89. package/dist/tool-namespacing.js.map +1 -0
  90. package/dist/tools/ability.d.ts +55 -0
  91. package/dist/tools/ability.d.ts.map +1 -0
  92. package/dist/tools/ability.js +560 -0
  93. package/dist/tools/ability.js.map +1 -0
  94. package/dist/tools/agent.d.ts +73 -0
  95. package/dist/tools/agent.d.ts.map +1 -0
  96. package/dist/tools/agent.js +895 -0
  97. package/dist/tools/agent.js.map +1 -0
  98. package/dist/tools/config.d.ts +36 -0
  99. package/dist/tools/config.d.ts.map +1 -0
  100. package/dist/tools/config.js +265 -0
  101. package/dist/tools/config.js.map +1 -0
  102. package/dist/tools/design.d.ts +42 -0
  103. package/dist/tools/design.d.ts.map +1 -0
  104. package/dist/tools/design.js +736 -0
  105. package/dist/tools/design.js.map +1 -0
  106. package/dist/tools/discuss.d.ts +40 -0
  107. package/dist/tools/discuss.d.ts.map +1 -0
  108. package/dist/tools/discuss.js +331 -0
  109. package/dist/tools/discuss.js.map +1 -0
  110. package/dist/tools/file-system.d.ts +63 -0
  111. package/dist/tools/file-system.d.ts.map +1 -0
  112. package/dist/tools/file-system.js +513 -0
  113. package/dist/tools/file-system.js.map +1 -0
  114. package/dist/tools/guard.d.ts +29 -0
  115. package/dist/tools/guard.d.ts.map +1 -0
  116. package/dist/tools/guard.js +311 -0
  117. package/dist/tools/guard.js.map +1 -0
  118. package/dist/tools/index.d.ts +35 -0
  119. package/dist/tools/index.d.ts.map +1 -0
  120. package/dist/tools/index.js +178 -0
  121. package/dist/tools/index.js.map +1 -0
  122. package/dist/tools/memory.d.ts +101 -0
  123. package/dist/tools/memory.d.ts.map +1 -0
  124. package/dist/tools/memory.js +704 -0
  125. package/dist/tools/memory.js.map +1 -0
  126. package/dist/tools/orchestration.d.ts +58 -0
  127. package/dist/tools/orchestration.d.ts.map +1 -0
  128. package/dist/tools/orchestration.js +714 -0
  129. package/dist/tools/orchestration.js.map +1 -0
  130. package/dist/tools/review.d.ts +40 -0
  131. package/dist/tools/review.d.ts.map +1 -0
  132. package/dist/tools/review.js +319 -0
  133. package/dist/tools/review.js.map +1 -0
  134. package/dist/tools/scaffold.d.ts +27 -0
  135. package/dist/tools/scaffold.d.ts.map +1 -0
  136. package/dist/tools/scaffold.js +495 -0
  137. package/dist/tools/scaffold.js.map +1 -0
  138. package/dist/tools/session.d.ts +75 -0
  139. package/dist/tools/session.d.ts.map +1 -0
  140. package/dist/tools/session.js +749 -0
  141. package/dist/tools/session.js.map +1 -0
  142. package/dist/tools/telemetry.d.ts +58 -0
  143. package/dist/tools/telemetry.d.ts.map +1 -0
  144. package/dist/tools/telemetry.js +638 -0
  145. package/dist/tools/telemetry.js.map +1 -0
  146. package/dist/tools/trace.d.ts +29 -0
  147. package/dist/tools/trace.d.ts.map +1 -0
  148. package/dist/tools/trace.js +191 -0
  149. package/dist/tools/trace.js.map +1 -0
  150. package/dist/tools/workflow.d.ts +26 -0
  151. package/dist/tools/workflow.d.ts.map +1 -0
  152. package/dist/tools/workflow.js +269 -0
  153. package/dist/tools/workflow.js.map +1 -0
  154. package/dist/trace-wrapper.d.ts +79 -0
  155. package/dist/trace-wrapper.d.ts.map +1 -0
  156. package/dist/trace-wrapper.js +151 -0
  157. package/dist/trace-wrapper.js.map +1 -0
  158. package/dist/types.d.ts +185 -0
  159. package/dist/types.d.ts.map +1 -0
  160. package/dist/types.js +11 -0
  161. package/dist/types.js.map +1 -0
  162. package/dist/utils/artifact-store.d.ts +49 -0
  163. package/dist/utils/artifact-store.d.ts.map +1 -0
  164. package/dist/utils/artifact-store.js +102 -0
  165. package/dist/utils/artifact-store.js.map +1 -0
  166. package/dist/utils/index.d.ts +6 -0
  167. package/dist/utils/index.d.ts.map +1 -0
  168. package/dist/utils/index.js +10 -0
  169. package/dist/utils/index.js.map +1 -0
  170. package/dist/utils/response.d.ts +139 -0
  171. package/dist/utils/response.d.ts.map +1 -0
  172. package/dist/utils/response.js +293 -0
  173. package/dist/utils/response.js.map +1 -0
  174. package/dist/validation.d.ts +223 -0
  175. package/dist/validation.d.ts.map +1 -0
  176. package/dist/validation.js +372 -0
  177. package/dist/validation.js.map +1 -0
  178. package/package.json +67 -0
@@ -0,0 +1,40 @@
1
+ /**
2
+ * MCP Policy Resources
3
+ *
4
+ * Read-only access to governance policies via MCP resources protocol.
5
+ *
6
+ * Invariants:
7
+ * - INV-MCP-RES-001: Resources are read-only
8
+ * - INV-MCP-RES-002: Invalid URIs return clear error
9
+ */
10
+ import type { MCPResource, ResourceHandler } from '../types.js';
11
+ /**
12
+ * Policies list resource
13
+ */
14
+ export declare const policiesListResource: MCPResource;
15
+ /**
16
+ * Policy by ID resource template
17
+ */
18
+ export declare const policyByIdResource: MCPResource;
19
+ /**
20
+ * Handler for automatosx://policies
21
+ *
22
+ * INV-MCP-RES-001: Read-only - returns policy list from guard
23
+ */
24
+ export declare const handlePoliciesList: ResourceHandler;
25
+ /**
26
+ * Handler for automatosx://policies/{id}
27
+ *
28
+ * INV-MCP-RES-001: Read-only - returns policy details
29
+ * INV-MCP-RES-002: Returns error for invalid ID
30
+ */
31
+ export declare const handlePolicyById: ResourceHandler;
32
+ /**
33
+ * All policy resources
34
+ */
35
+ export declare const POLICY_RESOURCES: MCPResource[];
36
+ /**
37
+ * Policy resource handlers map
38
+ */
39
+ export declare const POLICY_RESOURCE_HANDLERS: Record<string, ResourceHandler>;
40
+ //# sourceMappingURL=policies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/resources/policies.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAsB,eAAe,EAAE,MAAM,aAAa,CAAC;AAOpF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAKhC,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,eA2BhC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,eA8C9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,EAGzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAGpE,CAAC"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * MCP Policy Resources
3
+ *
4
+ * Read-only access to governance policies via MCP resources protocol.
5
+ *
6
+ * Invariants:
7
+ * - INV-MCP-RES-001: Resources are read-only
8
+ * - INV-MCP-RES-002: Invalid URIs return clear error
9
+ */
10
+ import { getPolicy, listPolicies } from '@defai.digital/guard';
11
+ // ============================================================================
12
+ // Resource Definitions
13
+ // ============================================================================
14
+ /**
15
+ * Policies list resource
16
+ */
17
+ export const policiesListResource = {
18
+ uri: 'automatosx://policies',
19
+ name: 'Policies',
20
+ description: 'List of all governance policies',
21
+ mimeType: 'application/json',
22
+ };
23
+ /**
24
+ * Policy by ID resource template
25
+ */
26
+ export const policyByIdResource = {
27
+ uri: 'automatosx://policies/{id}',
28
+ name: 'Policy by ID',
29
+ description: 'Get a specific governance policy by its ID',
30
+ mimeType: 'application/json',
31
+ };
32
+ // ============================================================================
33
+ // Resource Handlers
34
+ // ============================================================================
35
+ /**
36
+ * Handler for automatosx://policies
37
+ *
38
+ * INV-MCP-RES-001: Read-only - returns policy list from guard
39
+ */
40
+ export const handlePoliciesList = async () => {
41
+ const policyIds = listPolicies();
42
+ const policySummaries = policyIds.map((policyId) => {
43
+ const policy = getPolicy(policyId);
44
+ if (policy === undefined) {
45
+ return {
46
+ policyId,
47
+ allowedPaths: [],
48
+ forbiddenPaths: [],
49
+ gateCount: 0,
50
+ };
51
+ }
52
+ return {
53
+ policyId: policy.policyId,
54
+ allowedPaths: policy.allowedPaths,
55
+ forbiddenPaths: policy.forbiddenPaths,
56
+ gateCount: policy.gates.length,
57
+ changeRadiusLimit: policy.changeRadiusLimit,
58
+ };
59
+ });
60
+ return {
61
+ uri: 'automatosx://policies',
62
+ mimeType: 'application/json',
63
+ text: JSON.stringify({ policies: policySummaries, total: policyIds.length }, null, 2),
64
+ };
65
+ };
66
+ /**
67
+ * Handler for automatosx://policies/{id}
68
+ *
69
+ * INV-MCP-RES-001: Read-only - returns policy details
70
+ * INV-MCP-RES-002: Returns error for invalid ID
71
+ */
72
+ export const handlePolicyById = async (uri, params) => {
73
+ const id = params?.id;
74
+ if (id === undefined) {
75
+ return {
76
+ uri,
77
+ mimeType: 'application/json',
78
+ text: JSON.stringify({
79
+ error: 'INVALID_URI',
80
+ message: 'Policy ID is required',
81
+ }),
82
+ };
83
+ }
84
+ const policy = getPolicy(id);
85
+ if (policy === undefined) {
86
+ return {
87
+ uri,
88
+ mimeType: 'application/json',
89
+ text: JSON.stringify({
90
+ error: 'RESOURCE_NOT_FOUND',
91
+ message: `Policy "${id}" not found`,
92
+ availablePolicies: listPolicies(),
93
+ }),
94
+ };
95
+ }
96
+ return {
97
+ uri,
98
+ mimeType: 'application/json',
99
+ text: JSON.stringify({
100
+ policyId: policy.policyId,
101
+ allowedPaths: policy.allowedPaths,
102
+ forbiddenPaths: policy.forbiddenPaths,
103
+ gates: policy.gates,
104
+ changeRadiusLimit: policy.changeRadiusLimit,
105
+ }, null, 2),
106
+ };
107
+ };
108
+ /**
109
+ * All policy resources
110
+ */
111
+ export const POLICY_RESOURCES = [
112
+ policiesListResource,
113
+ policyByIdResource,
114
+ ];
115
+ /**
116
+ * Policy resource handlers map
117
+ */
118
+ export const POLICY_RESOURCE_HANDLERS = {
119
+ 'automatosx://policies': handlePoliciesList,
120
+ 'automatosx://policies/{id}': handlePolicyById,
121
+ };
122
+ //# sourceMappingURL=policies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policies.js","sourceRoot":"","sources":["../../src/resources/policies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * MCP Session Resources
3
+ *
4
+ * Read-only access to session data via MCP resources protocol.
5
+ *
6
+ * Invariants:
7
+ * - INV-MCP-RES-001: Resources are read-only
8
+ * - INV-MCP-RES-003: Sensitive data is never exposed via resources
9
+ */
10
+ import type { MCPResource, ResourceHandler } from '../types.js';
11
+ /**
12
+ * Active sessions resource
13
+ */
14
+ export declare const activeSessionsResource: MCPResource;
15
+ /**
16
+ * Handler for automatosx://sessions/active
17
+ *
18
+ * INV-MCP-RES-001: Read-only - returns active sessions list
19
+ * INV-MCP-RES-003: No sensitive data (e.g., full metadata) exposed
20
+ */
21
+ export declare const handleActiveSessions: ResourceHandler;
22
+ /**
23
+ * All session resources
24
+ */
25
+ export declare const SESSION_RESOURCES: MCPResource[];
26
+ /**
27
+ * Session resource handlers map
28
+ */
29
+ export declare const SESSION_RESOURCE_HANDLERS: Record<string, ResourceHandler>;
30
+ //# sourceMappingURL=sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/resources/sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAsB,eAAe,EAAE,MAAM,aAAa,CAAC;AAQpF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAKpC,CAAC;AAMF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,eAuBlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,EAA6B,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAErE,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * MCP Session Resources
3
+ *
4
+ * Read-only access to session data via MCP resources protocol.
5
+ *
6
+ * Invariants:
7
+ * - INV-MCP-RES-001: Resources are read-only
8
+ * - INV-MCP-RES-003: Sensitive data is never exposed via resources
9
+ */
10
+ import { getSharedSessionManager } from '../session-accessor.js';
11
+ // ============================================================================
12
+ // Resource Definitions
13
+ // ============================================================================
14
+ /**
15
+ * Active sessions resource
16
+ */
17
+ export const activeSessionsResource = {
18
+ uri: 'automatosx://sessions/active',
19
+ name: 'Active Sessions',
20
+ description: 'List of currently active collaboration sessions',
21
+ mimeType: 'application/json',
22
+ };
23
+ // ============================================================================
24
+ // Resource Handlers
25
+ // ============================================================================
26
+ /**
27
+ * Handler for automatosx://sessions/active
28
+ *
29
+ * INV-MCP-RES-001: Read-only - returns active sessions list
30
+ * INV-MCP-RES-003: No sensitive data (e.g., full metadata) exposed
31
+ */
32
+ export const handleActiveSessions = async () => {
33
+ const manager = getSharedSessionManager();
34
+ const sessions = await manager.listSessions({ status: 'active' });
35
+ const sessionSummaries = sessions.map((s) => ({
36
+ sessionId: s.sessionId,
37
+ initiator: s.initiator,
38
+ task: s.task,
39
+ status: s.status,
40
+ participantCount: s.participants.length,
41
+ participants: s.participants.map((p) => ({
42
+ agentId: p.agentId,
43
+ role: p.role,
44
+ })),
45
+ createdAt: s.createdAt,
46
+ updatedAt: s.updatedAt,
47
+ }));
48
+ return {
49
+ uri: 'automatosx://sessions/active',
50
+ mimeType: 'application/json',
51
+ text: JSON.stringify({ sessions: sessionSummaries, total: sessions.length }, null, 2),
52
+ };
53
+ };
54
+ /**
55
+ * All session resources
56
+ */
57
+ export const SESSION_RESOURCES = [activeSessionsResource];
58
+ /**
59
+ * Session resource handlers map
60
+ */
61
+ export const SESSION_RESOURCE_HANDLERS = {
62
+ 'automatosx://sessions/active': handleActiveSessions,
63
+ };
64
+ //# sourceMappingURL=sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/resources/sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAgB;IACjD,GAAG,EAAE,8BAA8B;IACnC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,iDAAiD;IAC9D,QAAQ,EAAE,kBAAkB;CAC7B,CAAC;AAEF,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAoB,KAAK,IAAiC,EAAE;IAC3F,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAElE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC;QACrD,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,gBAAgB,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;QACvC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC;QACH,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,SAAS,EAAE,CAAC,CAAC,SAAS;KACvB,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,GAAG,EAAE,8BAA8B;QACnC,QAAQ,EAAE,kBAAkB;QAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;KACtF,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAkB,CAAC,sBAAsB,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAoC;IACxE,8BAA8B,EAAE,oBAAoB;CACrD,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * MCP Workflow Resources
3
+ *
4
+ * Read-only access to workflow data via MCP resources protocol.
5
+ *
6
+ * Invariants:
7
+ * - INV-MCP-RES-001: Resources are read-only
8
+ * - INV-MCP-RES-002: Invalid URIs return clear error
9
+ */
10
+ import type { MCPResource, ResourceHandler } from '../types.js';
11
+ /**
12
+ * Workflows list resource
13
+ */
14
+ export declare const workflowsListResource: MCPResource;
15
+ /**
16
+ * Workflow by ID resource template
17
+ */
18
+ export declare const workflowByIdResource: MCPResource;
19
+ /**
20
+ * Handler for automatosx://workflows
21
+ *
22
+ * INV-MCP-RES-001: Read-only - returns workflow list
23
+ */
24
+ export declare const handleWorkflowsList: ResourceHandler;
25
+ /**
26
+ * Handler for automatosx://workflows/{id}
27
+ *
28
+ * INV-MCP-RES-001: Read-only - returns workflow details
29
+ * INV-MCP-RES-002: Returns error for invalid ID
30
+ */
31
+ export declare const handleWorkflowById: ResourceHandler;
32
+ /**
33
+ * All workflow resources
34
+ */
35
+ export declare const WORKFLOW_RESOURCES: MCPResource[];
36
+ /**
37
+ * Workflow resource handlers map
38
+ */
39
+ export declare const WORKFLOW_RESOURCE_HANDLERS: Record<string, ResourceHandler>;
40
+ //# sourceMappingURL=workflows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/resources/workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAsB,eAAe,EAAE,MAAM,aAAa,CAAC;AAiDpF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAKnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,eAcjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAmChC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,EAG3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAGtE,CAAC"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * MCP Workflow Resources
3
+ *
4
+ * Read-only access to workflow data via MCP resources protocol.
5
+ *
6
+ * Invariants:
7
+ * - INV-MCP-RES-001: Resources are read-only
8
+ * - INV-MCP-RES-002: Invalid URIs return clear error
9
+ */
10
+ // ============================================================================
11
+ // Sample Workflow Data
12
+ // ============================================================================
13
+ const SAMPLE_WORKFLOWS = [
14
+ {
15
+ id: 'data-pipeline',
16
+ name: 'Data Pipeline',
17
+ version: '1.0.0',
18
+ description: 'Automated data processing pipeline',
19
+ status: 'active',
20
+ steps: [
21
+ { stepId: 'step-1', name: 'Extract', type: 'tool' },
22
+ { stepId: 'step-2', name: 'Transform', type: 'tool' },
23
+ { stepId: 'step-3', name: 'Load', type: 'tool' },
24
+ ],
25
+ },
26
+ {
27
+ id: 'code-review',
28
+ name: 'Code Review',
29
+ version: '2.1.0',
30
+ description: 'Automated code review workflow',
31
+ status: 'active',
32
+ steps: [
33
+ { stepId: 'step-1', name: 'Lint', type: 'tool' },
34
+ { stepId: 'step-2', name: 'Test', type: 'tool' },
35
+ { stepId: 'step-3', name: 'Review', type: 'agent' },
36
+ ],
37
+ },
38
+ {
39
+ id: 'deploy-staging',
40
+ name: 'Deploy to Staging',
41
+ version: '1.2.0',
42
+ description: 'Deployment workflow for staging environment',
43
+ status: 'active',
44
+ steps: [
45
+ { stepId: 'step-1', name: 'Build', type: 'tool' },
46
+ { stepId: 'step-2', name: 'Test', type: 'tool' },
47
+ { stepId: 'step-3', name: 'Deploy', type: 'tool' },
48
+ ],
49
+ },
50
+ ];
51
+ // ============================================================================
52
+ // Resource Definitions
53
+ // ============================================================================
54
+ /**
55
+ * Workflows list resource
56
+ */
57
+ export const workflowsListResource = {
58
+ uri: 'automatosx://workflows',
59
+ name: 'Workflows',
60
+ description: 'List of all available workflows',
61
+ mimeType: 'application/json',
62
+ };
63
+ /**
64
+ * Workflow by ID resource template
65
+ */
66
+ export const workflowByIdResource = {
67
+ uri: 'automatosx://workflows/{id}',
68
+ name: 'Workflow by ID',
69
+ description: 'Get a specific workflow by its ID',
70
+ mimeType: 'application/json',
71
+ };
72
+ // ============================================================================
73
+ // Resource Handlers
74
+ // ============================================================================
75
+ /**
76
+ * Handler for automatosx://workflows
77
+ *
78
+ * INV-MCP-RES-001: Read-only - returns workflow list
79
+ */
80
+ export const handleWorkflowsList = async () => {
81
+ const workflows = SAMPLE_WORKFLOWS.map((w) => ({
82
+ id: w.id,
83
+ name: w.name,
84
+ version: w.version,
85
+ status: w.status,
86
+ stepCount: w.steps.length,
87
+ }));
88
+ return {
89
+ uri: 'automatosx://workflows',
90
+ mimeType: 'application/json',
91
+ text: JSON.stringify({ workflows, total: workflows.length }, null, 2),
92
+ };
93
+ };
94
+ /**
95
+ * Handler for automatosx://workflows/{id}
96
+ *
97
+ * INV-MCP-RES-001: Read-only - returns workflow details
98
+ * INV-MCP-RES-002: Returns error for invalid ID
99
+ */
100
+ export const handleWorkflowById = async (uri, params) => {
101
+ const id = params?.id;
102
+ if (id === undefined) {
103
+ return {
104
+ uri,
105
+ mimeType: 'application/json',
106
+ text: JSON.stringify({
107
+ error: 'INVALID_URI',
108
+ message: 'Workflow ID is required',
109
+ }),
110
+ };
111
+ }
112
+ const workflow = SAMPLE_WORKFLOWS.find((w) => w.id === id);
113
+ if (workflow === undefined) {
114
+ return {
115
+ uri,
116
+ mimeType: 'application/json',
117
+ text: JSON.stringify({
118
+ error: 'RESOURCE_NOT_FOUND',
119
+ message: `Workflow "${id}" not found`,
120
+ }),
121
+ };
122
+ }
123
+ return {
124
+ uri,
125
+ mimeType: 'application/json',
126
+ text: JSON.stringify(workflow, null, 2),
127
+ };
128
+ };
129
+ /**
130
+ * All workflow resources
131
+ */
132
+ export const WORKFLOW_RESOURCES = [
133
+ workflowsListResource,
134
+ workflowByIdResource,
135
+ ];
136
+ /**
137
+ * Workflow resource handlers map
138
+ */
139
+ export const WORKFLOW_RESOURCE_HANDLERS = {
140
+ 'automatosx://workflows': handleWorkflowsList,
141
+ 'automatosx://workflows/{id}': handleWorkflowById,
142
+ };
143
+ //# sourceMappingURL=workflows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/resources/workflows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * MCP Tool Schema Registry
3
+ *
4
+ * Maps tool names to their input/output validation schemas from contracts.
5
+ * This enables INV-MCP-001 (input validation before execution).
6
+ *
7
+ * Invariants:
8
+ * - INV-MCP-001: Input validation MUST occur before tool execution
9
+ * - INV-MCP-VAL-002: All schemas defined in contracts package
10
+ */
11
+ import type { InputSchemaRegistry, OutputSchemaRegistry } from './validation.js';
12
+ /**
13
+ * Input schema registry for all MCP tools (64 tools total)
14
+ * INV-MCP-001: All tools MUST have input validation
15
+ */
16
+ export declare const INPUT_SCHEMAS: InputSchemaRegistry;
17
+ /**
18
+ * Output schema registry for all MCP tools (54 tools with output schemas)
19
+ * INV-MCP-VAL-001: Output validation (logs but doesn't fail)
20
+ * Note: Not all tools have dedicated output schemas - some use inline formats
21
+ */
22
+ export declare const OUTPUT_SCHEMAS: OutputSchemaRegistry;
23
+ //# sourceMappingURL=schema-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-registry.d.ts","sourceRoot":"","sources":["../src/schema-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmJH,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEjF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,mBAoG3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,oBAkG5B,CAAC"}