@trentapps/manager-protocol 1.1.1

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 (151) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +446 -0
  3. package/dist/analyzers/ArchitectureDetector.d.ts +44 -0
  4. package/dist/analyzers/ArchitectureDetector.d.ts.map +1 -0
  5. package/dist/analyzers/ArchitectureDetector.js +218 -0
  6. package/dist/analyzers/ArchitectureDetector.js.map +1 -0
  7. package/dist/analyzers/CSSAnalyzer.d.ts +104 -0
  8. package/dist/analyzers/CSSAnalyzer.d.ts.map +1 -0
  9. package/dist/analyzers/CSSAnalyzer.js +578 -0
  10. package/dist/analyzers/CSSAnalyzer.js.map +1 -0
  11. package/dist/analyzers/index.d.ts +5 -0
  12. package/dist/analyzers/index.d.ts.map +1 -0
  13. package/dist/analyzers/index.js +5 -0
  14. package/dist/analyzers/index.js.map +1 -0
  15. package/dist/cli.d.ts +8 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js +174 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/design-system/index.d.ts +6 -0
  20. package/dist/design-system/index.d.ts.map +1 -0
  21. package/dist/design-system/index.js +6 -0
  22. package/dist/design-system/index.js.map +1 -0
  23. package/dist/design-system/tokens.d.ts +106 -0
  24. package/dist/design-system/tokens.d.ts.map +1 -0
  25. package/dist/design-system/tokens.js +554 -0
  26. package/dist/design-system/tokens.js.map +1 -0
  27. package/dist/engine/AppMonitor.d.ts +162 -0
  28. package/dist/engine/AppMonitor.d.ts.map +1 -0
  29. package/dist/engine/AppMonitor.js +754 -0
  30. package/dist/engine/AppMonitor.js.map +1 -0
  31. package/dist/engine/AuditLogger.d.ts +138 -0
  32. package/dist/engine/AuditLogger.d.ts.map +1 -0
  33. package/dist/engine/AuditLogger.js +448 -0
  34. package/dist/engine/AuditLogger.js.map +1 -0
  35. package/dist/engine/GitHubApprovalManager.d.ts +106 -0
  36. package/dist/engine/GitHubApprovalManager.d.ts.map +1 -0
  37. package/dist/engine/GitHubApprovalManager.js +315 -0
  38. package/dist/engine/GitHubApprovalManager.js.map +1 -0
  39. package/dist/engine/RateLimiter.d.ts +79 -0
  40. package/dist/engine/RateLimiter.d.ts.map +1 -0
  41. package/dist/engine/RateLimiter.js +232 -0
  42. package/dist/engine/RateLimiter.js.map +1 -0
  43. package/dist/engine/RulesEngine.d.ts +77 -0
  44. package/dist/engine/RulesEngine.d.ts.map +1 -0
  45. package/dist/engine/RulesEngine.js +400 -0
  46. package/dist/engine/RulesEngine.js.map +1 -0
  47. package/dist/engine/TaskManager.d.ts +173 -0
  48. package/dist/engine/TaskManager.d.ts.map +1 -0
  49. package/dist/engine/TaskManager.js +678 -0
  50. package/dist/engine/TaskManager.js.map +1 -0
  51. package/dist/engine/index.d.ts +9 -0
  52. package/dist/engine/index.d.ts.map +1 -0
  53. package/dist/engine/index.js +9 -0
  54. package/dist/engine/index.js.map +1 -0
  55. package/dist/index.d.ts +21 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +29 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/rules/architecture.d.ts +9 -0
  60. package/dist/rules/architecture.d.ts.map +1 -0
  61. package/dist/rules/architecture.js +322 -0
  62. package/dist/rules/architecture.js.map +1 -0
  63. package/dist/rules/azure.d.ts +7 -0
  64. package/dist/rules/azure.d.ts.map +1 -0
  65. package/dist/rules/azure.js +138 -0
  66. package/dist/rules/azure.js.map +1 -0
  67. package/dist/rules/compliance.d.ts +9 -0
  68. package/dist/rules/compliance.d.ts.map +1 -0
  69. package/dist/rules/compliance.js +304 -0
  70. package/dist/rules/compliance.js.map +1 -0
  71. package/dist/rules/css.d.ts +10 -0
  72. package/dist/rules/css.d.ts.map +1 -0
  73. package/dist/rules/css.js +1239 -0
  74. package/dist/rules/css.js.map +1 -0
  75. package/dist/rules/flask.d.ts +7 -0
  76. package/dist/rules/flask.d.ts.map +1 -0
  77. package/dist/rules/flask.js +155 -0
  78. package/dist/rules/flask.js.map +1 -0
  79. package/dist/rules/index.d.ts +607 -0
  80. package/dist/rules/index.d.ts.map +1 -0
  81. package/dist/rules/index.js +401 -0
  82. package/dist/rules/index.js.map +1 -0
  83. package/dist/rules/ml-ai.d.ts +7 -0
  84. package/dist/rules/ml-ai.d.ts.map +1 -0
  85. package/dist/rules/ml-ai.js +150 -0
  86. package/dist/rules/ml-ai.js.map +1 -0
  87. package/dist/rules/operational.d.ts +9 -0
  88. package/dist/rules/operational.d.ts.map +1 -0
  89. package/dist/rules/operational.js +318 -0
  90. package/dist/rules/operational.js.map +1 -0
  91. package/dist/rules/security.d.ts +9 -0
  92. package/dist/rules/security.d.ts.map +1 -0
  93. package/dist/rules/security.js +287 -0
  94. package/dist/rules/security.js.map +1 -0
  95. package/dist/rules/storage.d.ts +7 -0
  96. package/dist/rules/storage.d.ts.map +1 -0
  97. package/dist/rules/storage.js +134 -0
  98. package/dist/rules/storage.js.map +1 -0
  99. package/dist/rules/stripe.d.ts +7 -0
  100. package/dist/rules/stripe.d.ts.map +1 -0
  101. package/dist/rules/stripe.js +140 -0
  102. package/dist/rules/stripe.js.map +1 -0
  103. package/dist/rules/testing.d.ts +7 -0
  104. package/dist/rules/testing.d.ts.map +1 -0
  105. package/dist/rules/testing.js +135 -0
  106. package/dist/rules/testing.js.map +1 -0
  107. package/dist/rules/ux.d.ts +9 -0
  108. package/dist/rules/ux.d.ts.map +1 -0
  109. package/dist/rules/ux.js +280 -0
  110. package/dist/rules/ux.js.map +1 -0
  111. package/dist/rules/websocket.d.ts +7 -0
  112. package/dist/rules/websocket.d.ts.map +1 -0
  113. package/dist/rules/websocket.js +136 -0
  114. package/dist/rules/websocket.js.map +1 -0
  115. package/dist/server.d.ts +49 -0
  116. package/dist/server.d.ts.map +1 -0
  117. package/dist/server.js +2330 -0
  118. package/dist/server.js.map +1 -0
  119. package/dist/supervisor/AgentSupervisor.d.ts +235 -0
  120. package/dist/supervisor/AgentSupervisor.d.ts.map +1 -0
  121. package/dist/supervisor/AgentSupervisor.js +596 -0
  122. package/dist/supervisor/AgentSupervisor.js.map +1 -0
  123. package/dist/supervisor/ManagedServerRegistry.d.ts +48 -0
  124. package/dist/supervisor/ManagedServerRegistry.d.ts.map +1 -0
  125. package/dist/supervisor/ManagedServerRegistry.js +145 -0
  126. package/dist/supervisor/ManagedServerRegistry.js.map +1 -0
  127. package/dist/supervisor/ProjectTracker.d.ts +188 -0
  128. package/dist/supervisor/ProjectTracker.d.ts.map +1 -0
  129. package/dist/supervisor/ProjectTracker.js +617 -0
  130. package/dist/supervisor/ProjectTracker.js.map +1 -0
  131. package/dist/supervisor/index.d.ts +6 -0
  132. package/dist/supervisor/index.d.ts.map +1 -0
  133. package/dist/supervisor/index.js +6 -0
  134. package/dist/supervisor/index.js.map +1 -0
  135. package/dist/types/index.d.ts +1176 -0
  136. package/dist/types/index.d.ts.map +1 -0
  137. package/dist/types/index.js +391 -0
  138. package/dist/types/index.js.map +1 -0
  139. package/dist/utils/errors.d.ts +86 -0
  140. package/dist/utils/errors.d.ts.map +1 -0
  141. package/dist/utils/errors.js +171 -0
  142. package/dist/utils/errors.js.map +1 -0
  143. package/dist/utils/index.d.ts +5 -0
  144. package/dist/utils/index.d.ts.map +1 -0
  145. package/dist/utils/index.js +5 -0
  146. package/dist/utils/index.js.map +1 -0
  147. package/dist/utils/shell.d.ts +22 -0
  148. package/dist/utils/shell.d.ts.map +1 -0
  149. package/dist/utils/shell.js +29 -0
  150. package/dist/utils/shell.js.map +1 -0
  151. package/package.json +63 -0
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Enterprise Agent Supervisor - Error Utilities
3
+ *
4
+ * Provides custom error types and error handling utilities.
5
+ */
6
+ /**
7
+ * Base error class for Agent Supervisor errors
8
+ */
9
+ export class AgentSupervisorError extends Error {
10
+ code;
11
+ details;
12
+ constructor(message, code, details) {
13
+ super(message);
14
+ this.name = 'AgentSupervisorError';
15
+ this.code = code;
16
+ this.details = details;
17
+ // Maintains proper stack trace for where our error was thrown
18
+ if (Error.captureStackTrace) {
19
+ Error.captureStackTrace(this, AgentSupervisorError);
20
+ }
21
+ }
22
+ }
23
+ /**
24
+ * Error thrown when a rule validation fails
25
+ */
26
+ export class RuleValidationError extends AgentSupervisorError {
27
+ constructor(message, details) {
28
+ super(message, 'RULE_VALIDATION_ERROR', details);
29
+ this.name = 'RuleValidationError';
30
+ }
31
+ }
32
+ /**
33
+ * Error thrown when a rule is not found
34
+ */
35
+ export class RuleNotFoundError extends AgentSupervisorError {
36
+ constructor(ruleId) {
37
+ super(`Rule not found: ${ruleId}`, 'RULE_NOT_FOUND', { ruleId });
38
+ this.name = 'RuleNotFoundError';
39
+ }
40
+ }
41
+ /**
42
+ * Error thrown when rate limit is exceeded
43
+ */
44
+ export class RateLimitExceededError extends AgentSupervisorError {
45
+ resetAt;
46
+ remaining;
47
+ constructor(limitId, resetAt, remaining = 0) {
48
+ super(`Rate limit exceeded: ${limitId}`, 'RATE_LIMIT_EXCEEDED', {
49
+ limitId,
50
+ resetAt: resetAt.toISOString(),
51
+ remaining
52
+ });
53
+ this.name = 'RateLimitExceededError';
54
+ this.resetAt = resetAt;
55
+ this.remaining = remaining;
56
+ }
57
+ }
58
+ /**
59
+ * Error thrown when an approval request is not found
60
+ */
61
+ export class ApprovalNotFoundError extends AgentSupervisorError {
62
+ constructor(requestId) {
63
+ super(`Approval request not found: ${requestId}`, 'APPROVAL_NOT_FOUND', { requestId });
64
+ this.name = 'ApprovalNotFoundError';
65
+ }
66
+ }
67
+ /**
68
+ * Error thrown when an approval request has expired
69
+ */
70
+ export class ApprovalExpiredError extends AgentSupervisorError {
71
+ constructor(requestId, expiredAt) {
72
+ super(`Approval request expired: ${requestId}`, 'APPROVAL_EXPIRED', { requestId, expiredAt });
73
+ this.name = 'ApprovalExpiredError';
74
+ }
75
+ }
76
+ /**
77
+ * Error thrown for configuration errors
78
+ */
79
+ export class ConfigurationError extends AgentSupervisorError {
80
+ constructor(message, details) {
81
+ super(message, 'CONFIGURATION_ERROR', details);
82
+ this.name = 'ConfigurationError';
83
+ }
84
+ }
85
+ /**
86
+ * Error thrown when webhook delivery fails
87
+ */
88
+ export class WebhookDeliveryError extends AgentSupervisorError {
89
+ url;
90
+ statusCode;
91
+ retryCount;
92
+ constructor(url, cause, statusCode, retryCount = 0) {
93
+ const message = typeof cause === 'string' ? cause : cause.message;
94
+ super(`Webhook delivery failed: ${message}`, 'WEBHOOK_DELIVERY_ERROR', {
95
+ url,
96
+ statusCode,
97
+ retryCount
98
+ });
99
+ this.name = 'WebhookDeliveryError';
100
+ this.url = url;
101
+ this.statusCode = statusCode;
102
+ this.retryCount = retryCount;
103
+ }
104
+ }
105
+ const DEFAULT_RETRY_OPTIONS = {
106
+ maxRetries: 3,
107
+ initialDelayMs: 1000,
108
+ maxDelayMs: 30000,
109
+ backoffMultiplier: 2
110
+ };
111
+ /**
112
+ * Execute a function with retry logic and exponential backoff
113
+ */
114
+ export async function withRetry(fn, options = {}) {
115
+ const opts = { ...DEFAULT_RETRY_OPTIONS, ...options };
116
+ let lastError;
117
+ let delay = opts.initialDelayMs;
118
+ for (let attempt = 0; attempt <= opts.maxRetries; attempt++) {
119
+ try {
120
+ return await fn();
121
+ }
122
+ catch (error) {
123
+ lastError = error instanceof Error ? error : new Error(String(error));
124
+ if (attempt < opts.maxRetries) {
125
+ await sleep(delay);
126
+ delay = Math.min(delay * opts.backoffMultiplier, opts.maxDelayMs);
127
+ }
128
+ }
129
+ }
130
+ throw lastError;
131
+ }
132
+ /**
133
+ * Sleep for a specified number of milliseconds
134
+ */
135
+ function sleep(ms) {
136
+ return new Promise(resolve => setTimeout(resolve, ms));
137
+ }
138
+ /**
139
+ * Type guard for checking if an error is an AgentSupervisorError
140
+ */
141
+ export function isAgentSupervisorError(error) {
142
+ return error instanceof AgentSupervisorError;
143
+ }
144
+ /**
145
+ * Format an error for logging
146
+ */
147
+ export function formatError(error) {
148
+ if (error instanceof AgentSupervisorError) {
149
+ return `[${error.code}] ${error.message}${error.details ? ` - ${JSON.stringify(error.details)}` : ''}`;
150
+ }
151
+ if (error instanceof Error) {
152
+ return error.message;
153
+ }
154
+ return String(error);
155
+ }
156
+ /**
157
+ * Safe JSON stringify that handles circular references
158
+ */
159
+ export function safeStringify(obj) {
160
+ const seen = new WeakSet();
161
+ return JSON.stringify(obj, (_key, value) => {
162
+ if (typeof value === 'object' && value !== null) {
163
+ if (seen.has(value)) {
164
+ return '[Circular]';
165
+ }
166
+ seen.add(value);
167
+ }
168
+ return value;
169
+ });
170
+ }
171
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Enterprise Agent Supervisor - Utility Exports
3
+ */
4
+ export * from './errors.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Enterprise Agent Supervisor - Utility Exports
3
+ */
4
+ export * from './errors.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Shell utility functions for secure command execution
3
+ */
4
+ /**
5
+ * Escape a string for safe use in shell commands
6
+ *
7
+ * Wraps the string in single quotes and escapes any embedded single quotes.
8
+ * This prevents command injection vulnerabilities when passing user-controlled
9
+ * strings to shell commands via exec/execSync.
10
+ *
11
+ * @param str - The string to escape
12
+ * @returns The escaped string safe for shell usage
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const userInput = "test'; rm -rf /";
17
+ * const safe = escapeForShell(userInput);
18
+ * await execAsync(`echo ${safe}`); // Safe: prints "test'; rm -rf /" literally
19
+ * ```
20
+ */
21
+ export declare function escapeForShell(str: string | number): string;
22
+ //# sourceMappingURL=shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAQ3D"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Shell utility functions for secure command execution
3
+ */
4
+ /**
5
+ * Escape a string for safe use in shell commands
6
+ *
7
+ * Wraps the string in single quotes and escapes any embedded single quotes.
8
+ * This prevents command injection vulnerabilities when passing user-controlled
9
+ * strings to shell commands via exec/execSync.
10
+ *
11
+ * @param str - The string to escape
12
+ * @returns The escaped string safe for shell usage
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const userInput = "test'; rm -rf /";
17
+ * const safe = escapeForShell(userInput);
18
+ * await execAsync(`echo ${safe}`); // Safe: prints "test'; rm -rf /" literally
19
+ * ```
20
+ */
21
+ export function escapeForShell(str) {
22
+ // Convert numbers to strings
23
+ const value = String(str);
24
+ // Wrap in single quotes and escape any embedded single quotes
25
+ // 'abc' -> 'abc'
26
+ // 'it's' -> 'it'\''s'
27
+ return "'" + value.replace(/'/g, "'\\''") + "'";
28
+ }
29
+ //# sourceMappingURL=shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAAC,GAAoB;IACjD,6BAA6B;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAE1B,8DAA8D;IAC9D,iBAAiB;IACjB,sBAAsB;IACtB,OAAO,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC;AAClD,CAAC"}
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@trentapps/manager-protocol",
3
+ "version": "1.1.1",
4
+ "description": "Enterprise Agent Supervisor - Rules Engine MCP Server for AI Agent Governance",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "agent-supervisor": "dist/cli.js"
10
+ },
11
+ "scripts": {
12
+ "build": "tsc",
13
+ "start": "node dist/cli.js",
14
+ "dev": "tsx src/cli.ts",
15
+ "test": "vitest",
16
+ "test:run": "vitest run",
17
+ "lint": "eslint src --ext .ts",
18
+ "format": "prettier --write \"src/**/*.ts\"",
19
+ "clean": "rm -rf dist",
20
+ "clean:test": "rm -rf test-results/ playwright-report/ traces/ screenshots/ videos/ && find . -name '*.png' -o -name '*.jpg' -o -name '*.jpeg' -o -name '*.webm' | grep -v node_modules | xargs rm -f 2>/dev/null || true",
21
+ "clean:test:old": "find test-results/ playwright-report/ traces/ screenshots/ videos/ -type f -mtime +7 -delete 2>/dev/null || true",
22
+ "prepublishOnly": "npm run build"
23
+ },
24
+ "keywords": [
25
+ "mcp",
26
+ "model-context-protocol",
27
+ "ai-governance",
28
+ "agent-supervisor",
29
+ "rules-engine",
30
+ "compliance",
31
+ "audit",
32
+ "enterprise"
33
+ ],
34
+ "author": "ManagerProtocol",
35
+ "license": "MIT",
36
+ "dependencies": {
37
+ "@modelcontextprotocol/sdk": "^1.0.0",
38
+ "@types/better-sqlite3": "^7.6.13",
39
+ "better-sqlite3": "^12.5.0",
40
+ "uuid": "^9.0.1",
41
+ "ws": "^8.16.0",
42
+ "zod": "^3.22.4"
43
+ },
44
+ "devDependencies": {
45
+ "@types/node": "^20.10.0",
46
+ "@types/uuid": "^9.0.7",
47
+ "@types/ws": "^8.5.10",
48
+ "@typescript-eslint/eslint-plugin": "^6.13.2",
49
+ "@typescript-eslint/parser": "^6.13.2",
50
+ "eslint": "^8.55.0",
51
+ "prettier": "^3.1.1",
52
+ "tsx": "^4.6.2",
53
+ "typescript": "^5.3.2",
54
+ "vitest": "^1.0.4"
55
+ },
56
+ "engines": {
57
+ "node": ">=18.0.0"
58
+ },
59
+ "files": [
60
+ "dist",
61
+ "README.md"
62
+ ]
63
+ }