@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.
- package/LICENSE +214 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +7 -0
- package/dist/bin.js.map +1 -0
- package/dist/bootstrap.d.ts +89 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +161 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/rate-limiter.d.ts +136 -0
- package/dist/middleware/rate-limiter.d.ts.map +1 -0
- package/dist/middleware/rate-limiter.js +262 -0
- package/dist/middleware/rate-limiter.js.map +1 -0
- package/dist/prompts/agent-guide.d.ts +16 -0
- package/dist/prompts/agent-guide.d.ts.map +1 -0
- package/dist/prompts/agent-guide.js +391 -0
- package/dist/prompts/agent-guide.js.map +1 -0
- package/dist/prompts/explain-workflow.d.ts +15 -0
- package/dist/prompts/explain-workflow.d.ts.map +1 -0
- package/dist/prompts/explain-workflow.js +157 -0
- package/dist/prompts/explain-workflow.js.map +1 -0
- package/dist/prompts/index.d.ts +39 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +83 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/review-changes.d.ts +15 -0
- package/dist/prompts/review-changes.d.ts.map +1 -0
- package/dist/prompts/review-changes.js +102 -0
- package/dist/prompts/review-changes.js.map +1 -0
- package/dist/prompts/troubleshoot-session.d.ts +15 -0
- package/dist/prompts/troubleshoot-session.d.ts.map +1 -0
- package/dist/prompts/troubleshoot-session.js +156 -0
- package/dist/prompts/troubleshoot-session.js.map +1 -0
- package/dist/registry-accessor.d.ts +83 -0
- package/dist/registry-accessor.d.ts.map +1 -0
- package/dist/registry-accessor.js +153 -0
- package/dist/registry-accessor.js.map +1 -0
- package/dist/resources/agents.d.ts +40 -0
- package/dist/resources/agents.d.ts.map +1 -0
- package/dist/resources/agents.js +123 -0
- package/dist/resources/agents.js.map +1 -0
- package/dist/resources/config.d.ts +57 -0
- package/dist/resources/config.d.ts.map +1 -0
- package/dist/resources/config.js +222 -0
- package/dist/resources/config.js.map +1 -0
- package/dist/resources/index.d.ts +38 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +132 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/policies.d.ts +40 -0
- package/dist/resources/policies.d.ts.map +1 -0
- package/dist/resources/policies.js +122 -0
- package/dist/resources/policies.js.map +1 -0
- package/dist/resources/sessions.d.ts +30 -0
- package/dist/resources/sessions.d.ts.map +1 -0
- package/dist/resources/sessions.js +64 -0
- package/dist/resources/sessions.js.map +1 -0
- package/dist/resources/workflows.d.ts +40 -0
- package/dist/resources/workflows.d.ts.map +1 -0
- package/dist/resources/workflows.js +143 -0
- package/dist/resources/workflows.js.map +1 -0
- package/dist/schema-registry.d.ts +23 -0
- package/dist/schema-registry.d.ts.map +1 -0
- package/dist/schema-registry.js +225 -0
- package/dist/schema-registry.js.map +1 -0
- package/dist/server.d.ts +63 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +393 -0
- package/dist/server.js.map +1 -0
- package/dist/session-accessor.d.ts +23 -0
- package/dist/session-accessor.d.ts.map +1 -0
- package/dist/session-accessor.js +39 -0
- package/dist/session-accessor.js.map +1 -0
- package/dist/shared-registry.d.ts +23 -0
- package/dist/shared-registry.d.ts.map +1 -0
- package/dist/shared-registry.js +235 -0
- package/dist/shared-registry.js.map +1 -0
- package/dist/stdio.d.ts +6 -0
- package/dist/stdio.d.ts.map +1 -0
- package/dist/stdio.js +152 -0
- package/dist/stdio.js.map +1 -0
- package/dist/tool-namespacing.d.ts +28 -0
- package/dist/tool-namespacing.d.ts.map +1 -0
- package/dist/tool-namespacing.js +80 -0
- package/dist/tool-namespacing.js.map +1 -0
- package/dist/tools/ability.d.ts +55 -0
- package/dist/tools/ability.d.ts.map +1 -0
- package/dist/tools/ability.js +560 -0
- package/dist/tools/ability.js.map +1 -0
- package/dist/tools/agent.d.ts +73 -0
- package/dist/tools/agent.d.ts.map +1 -0
- package/dist/tools/agent.js +895 -0
- package/dist/tools/agent.js.map +1 -0
- package/dist/tools/config.d.ts +36 -0
- package/dist/tools/config.d.ts.map +1 -0
- package/dist/tools/config.js +265 -0
- package/dist/tools/config.js.map +1 -0
- package/dist/tools/design.d.ts +42 -0
- package/dist/tools/design.d.ts.map +1 -0
- package/dist/tools/design.js +736 -0
- package/dist/tools/design.js.map +1 -0
- package/dist/tools/discuss.d.ts +40 -0
- package/dist/tools/discuss.d.ts.map +1 -0
- package/dist/tools/discuss.js +331 -0
- package/dist/tools/discuss.js.map +1 -0
- package/dist/tools/file-system.d.ts +63 -0
- package/dist/tools/file-system.d.ts.map +1 -0
- package/dist/tools/file-system.js +513 -0
- package/dist/tools/file-system.js.map +1 -0
- package/dist/tools/guard.d.ts +29 -0
- package/dist/tools/guard.d.ts.map +1 -0
- package/dist/tools/guard.js +311 -0
- package/dist/tools/guard.js.map +1 -0
- package/dist/tools/index.d.ts +35 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +178 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/memory.d.ts +101 -0
- package/dist/tools/memory.d.ts.map +1 -0
- package/dist/tools/memory.js +704 -0
- package/dist/tools/memory.js.map +1 -0
- package/dist/tools/orchestration.d.ts +58 -0
- package/dist/tools/orchestration.d.ts.map +1 -0
- package/dist/tools/orchestration.js +714 -0
- package/dist/tools/orchestration.js.map +1 -0
- package/dist/tools/review.d.ts +40 -0
- package/dist/tools/review.d.ts.map +1 -0
- package/dist/tools/review.js +319 -0
- package/dist/tools/review.js.map +1 -0
- package/dist/tools/scaffold.d.ts +27 -0
- package/dist/tools/scaffold.d.ts.map +1 -0
- package/dist/tools/scaffold.js +495 -0
- package/dist/tools/scaffold.js.map +1 -0
- package/dist/tools/session.d.ts +75 -0
- package/dist/tools/session.d.ts.map +1 -0
- package/dist/tools/session.js +749 -0
- package/dist/tools/session.js.map +1 -0
- package/dist/tools/telemetry.d.ts +58 -0
- package/dist/tools/telemetry.d.ts.map +1 -0
- package/dist/tools/telemetry.js +638 -0
- package/dist/tools/telemetry.js.map +1 -0
- package/dist/tools/trace.d.ts +29 -0
- package/dist/tools/trace.d.ts.map +1 -0
- package/dist/tools/trace.js +191 -0
- package/dist/tools/trace.js.map +1 -0
- package/dist/tools/workflow.d.ts +26 -0
- package/dist/tools/workflow.d.ts.map +1 -0
- package/dist/tools/workflow.js +269 -0
- package/dist/tools/workflow.js.map +1 -0
- package/dist/trace-wrapper.d.ts +79 -0
- package/dist/trace-wrapper.d.ts.map +1 -0
- package/dist/trace-wrapper.js +151 -0
- package/dist/trace-wrapper.js.map +1 -0
- package/dist/types.d.ts +185 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/artifact-store.d.ts +49 -0
- package/dist/utils/artifact-store.d.ts.map +1 -0
- package/dist/utils/artifact-store.js +102 -0
- package/dist/utils/artifact-store.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +10 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/response.d.ts +139 -0
- package/dist/utils/response.d.ts.map +1 -0
- package/dist/utils/response.js +293 -0
- package/dist/utils/response.js.map +1 -0
- package/dist/validation.d.ts +223 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +372 -0
- package/dist/validation.js.map +1 -0
- 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"}
|