surrogate-protocol-mcp 2.0.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 (67) hide show
  1. package/LICENSE.md +30 -0
  2. package/README.md +198 -0
  3. package/dist/__tests__/gates.test.d.ts +2 -0
  4. package/dist/__tests__/gates.test.d.ts.map +1 -0
  5. package/dist/__tests__/gates.test.js +342 -0
  6. package/dist/__tests__/gates.test.js.map +1 -0
  7. package/dist/__tests__/observability.test.d.ts +2 -0
  8. package/dist/__tests__/observability.test.d.ts.map +1 -0
  9. package/dist/__tests__/observability.test.js +382 -0
  10. package/dist/__tests__/observability.test.js.map +1 -0
  11. package/dist/__tests__/state.test.d.ts +2 -0
  12. package/dist/__tests__/state.test.d.ts.map +1 -0
  13. package/dist/__tests__/state.test.js +415 -0
  14. package/dist/__tests__/state.test.js.map +1 -0
  15. package/dist/agent-runner.d.ts +3 -0
  16. package/dist/agent-runner.d.ts.map +1 -0
  17. package/dist/agent-runner.js +419 -0
  18. package/dist/agent-runner.js.map +1 -0
  19. package/dist/cli.d.ts +3 -0
  20. package/dist/cli.d.ts.map +1 -0
  21. package/dist/cli.js +763 -0
  22. package/dist/cli.js.map +1 -0
  23. package/dist/mcp-server.d.ts +3 -0
  24. package/dist/mcp-server.d.ts.map +1 -0
  25. package/dist/mcp-server.js +1382 -0
  26. package/dist/mcp-server.js.map +1 -0
  27. package/dist/utils/agent.d.ts +42 -0
  28. package/dist/utils/agent.d.ts.map +1 -0
  29. package/dist/utils/agent.js +231 -0
  30. package/dist/utils/agent.js.map +1 -0
  31. package/dist/utils/artifacts.d.ts +92 -0
  32. package/dist/utils/artifacts.d.ts.map +1 -0
  33. package/dist/utils/artifacts.js +338 -0
  34. package/dist/utils/artifacts.js.map +1 -0
  35. package/dist/utils/capsule.d.ts +28 -0
  36. package/dist/utils/capsule.d.ts.map +1 -0
  37. package/dist/utils/capsule.js +462 -0
  38. package/dist/utils/capsule.js.map +1 -0
  39. package/dist/utils/diagnostics.d.ts +62 -0
  40. package/dist/utils/diagnostics.d.ts.map +1 -0
  41. package/dist/utils/diagnostics.js +404 -0
  42. package/dist/utils/diagnostics.js.map +1 -0
  43. package/dist/utils/gates.d.ts +78 -0
  44. package/dist/utils/gates.d.ts.map +1 -0
  45. package/dist/utils/gates.js +661 -0
  46. package/dist/utils/gates.js.map +1 -0
  47. package/dist/utils/logging.d.ts +53 -0
  48. package/dist/utils/logging.d.ts.map +1 -0
  49. package/dist/utils/logging.js +187 -0
  50. package/dist/utils/logging.js.map +1 -0
  51. package/dist/utils/project-gates.d.ts +73 -0
  52. package/dist/utils/project-gates.d.ts.map +1 -0
  53. package/dist/utils/project-gates.js +520 -0
  54. package/dist/utils/project-gates.js.map +1 -0
  55. package/dist/utils/reconcile.d.ts +50 -0
  56. package/dist/utils/reconcile.d.ts.map +1 -0
  57. package/dist/utils/reconcile.js +262 -0
  58. package/dist/utils/reconcile.js.map +1 -0
  59. package/dist/utils/state.d.ts +241 -0
  60. package/dist/utils/state.d.ts.map +1 -0
  61. package/dist/utils/state.js +865 -0
  62. package/dist/utils/state.js.map +1 -0
  63. package/dist/utils/worktree.d.ts +27 -0
  64. package/dist/utils/worktree.d.ts.map +1 -0
  65. package/dist/utils/worktree.js +275 -0
  66. package/dist/utils/worktree.js.map +1 -0
  67. package/package.json +65 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gates.js","sourceRoot":"","sources":["../../src/utils/gates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ export interface LogEntry {
2
+ timestamp: string;
3
+ level: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
4
+ source: string;
5
+ message: string;
6
+ data?: Record<string, any>;
7
+ }
8
+ export interface SurrogateLogSummary {
9
+ surrogate_id: string;
10
+ log_path: string;
11
+ started_at: string;
12
+ ended_at?: string;
13
+ total_entries: number;
14
+ error_count: number;
15
+ last_entries: LogEntry[];
16
+ }
17
+ /**
18
+ * Get the log file path for a surrogate.
19
+ */
20
+ export declare function getLogPath(surrogateId: string): string;
21
+ /**
22
+ * Append a log entry to a surrogate's log file.
23
+ */
24
+ export declare function appendLog(surrogateId: string, level: LogEntry['level'], source: string, message: string, data?: Record<string, any>): void;
25
+ /**
26
+ * Create a logger instance for a specific surrogate.
27
+ */
28
+ export declare function createSurrogateLogger(surrogateId: string, source: string): {
29
+ debug: (message: string, data?: Record<string, any>) => void;
30
+ info: (message: string, data?: Record<string, any>) => void;
31
+ warn: (message: string, data?: Record<string, any>) => void;
32
+ error: (message: string, data?: Record<string, any>) => void;
33
+ };
34
+ /**
35
+ * Read the last N entries from a surrogate's log.
36
+ */
37
+ export declare function readLogTail(surrogateId: string, lines?: number): LogEntry[];
38
+ /**
39
+ * Get a summary of a surrogate's log.
40
+ */
41
+ export declare function getLogSummary(surrogateId: string): SurrogateLogSummary | null;
42
+ /**
43
+ * Get error entries from a surrogate's log.
44
+ */
45
+ export declare function getLogErrors(surrogateId: string, limit?: number): LogEntry[];
46
+ /**
47
+ * Clean up old log files (older than N days).
48
+ */
49
+ export declare function cleanOldLogs(daysOld?: number): {
50
+ cleaned: string[];
51
+ errors: string[];
52
+ };
53
+ //# sourceMappingURL=logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,QAAQ,EAAE,CAAC;CAC1B;AAYD;;GAEG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,IAAI,CAeN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;qBAEpD,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;oBAEnC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;oBAElC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;qBAEjC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;EAGtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,QAAQ,EAAE,CA2B/E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAkD7E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,QAAQ,EAAE,CA2BhF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,MAAU,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CA2BzF"}
@@ -0,0 +1,187 @@
1
+ // surrogate-tools/src/utils/logging.ts
2
+ // Per-surrogate structured logging (WS3-1)
3
+ import * as fs from 'fs';
4
+ import * as path from 'path';
5
+ import { PROJECT_ROOT } from './state.js';
6
+ // ═══════════════════════════════════════════════════════════════════════════
7
+ // CONSTANTS
8
+ // ═══════════════════════════════════════════════════════════════════════════
9
+ const LOGS_DIR = path.resolve(PROJECT_ROOT, '.surrogate', 'logs');
10
+ // ═══════════════════════════════════════════════════════════════════════════
11
+ // LOGGING FUNCTIONS
12
+ // ═══════════════════════════════════════════════════════════════════════════
13
+ function ensureLogsDir() {
14
+ if (!fs.existsSync(LOGS_DIR)) {
15
+ fs.mkdirSync(LOGS_DIR, { recursive: true });
16
+ }
17
+ }
18
+ /**
19
+ * Get the log file path for a surrogate.
20
+ */
21
+ export function getLogPath(surrogateId) {
22
+ return path.join(LOGS_DIR, `${surrogateId}.log`);
23
+ }
24
+ /**
25
+ * Append a log entry to a surrogate's log file.
26
+ */
27
+ export function appendLog(surrogateId, level, source, message, data) {
28
+ ensureLogsDir();
29
+ const entry = {
30
+ timestamp: new Date().toISOString(),
31
+ level,
32
+ source,
33
+ message,
34
+ data,
35
+ };
36
+ const logPath = getLogPath(surrogateId);
37
+ const line = JSON.stringify(entry) + '\n';
38
+ fs.appendFileSync(logPath, line);
39
+ }
40
+ /**
41
+ * Create a logger instance for a specific surrogate.
42
+ */
43
+ export function createSurrogateLogger(surrogateId, source) {
44
+ return {
45
+ debug: (message, data) => appendLog(surrogateId, 'DEBUG', source, message, data),
46
+ info: (message, data) => appendLog(surrogateId, 'INFO', source, message, data),
47
+ warn: (message, data) => appendLog(surrogateId, 'WARN', source, message, data),
48
+ error: (message, data) => appendLog(surrogateId, 'ERROR', source, message, data),
49
+ };
50
+ }
51
+ /**
52
+ * Read the last N entries from a surrogate's log.
53
+ */
54
+ export function readLogTail(surrogateId, lines = 50) {
55
+ const logPath = getLogPath(surrogateId);
56
+ if (!fs.existsSync(logPath)) {
57
+ return [];
58
+ }
59
+ try {
60
+ const content = fs.readFileSync(logPath, 'utf8');
61
+ const allLines = content.trim().split('\n').filter(Boolean);
62
+ const tailLines = allLines.slice(-lines);
63
+ return tailLines.map(line => {
64
+ try {
65
+ return JSON.parse(line);
66
+ }
67
+ catch {
68
+ return {
69
+ timestamp: new Date().toISOString(),
70
+ level: 'ERROR',
71
+ source: 'log-parser',
72
+ message: `Failed to parse log line: ${line.slice(0, 100)}`,
73
+ };
74
+ }
75
+ });
76
+ }
77
+ catch {
78
+ return [];
79
+ }
80
+ }
81
+ /**
82
+ * Get a summary of a surrogate's log.
83
+ */
84
+ export function getLogSummary(surrogateId) {
85
+ const logPath = getLogPath(surrogateId);
86
+ if (!fs.existsSync(logPath)) {
87
+ return null;
88
+ }
89
+ try {
90
+ const content = fs.readFileSync(logPath, 'utf8');
91
+ const lines = content.trim().split('\n').filter(Boolean);
92
+ if (lines.length === 0) {
93
+ return null;
94
+ }
95
+ let startedAt = '';
96
+ let endedAt = '';
97
+ let errorCount = 0;
98
+ const entries = [];
99
+ for (const line of lines) {
100
+ try {
101
+ const entry = JSON.parse(line);
102
+ entries.push(entry);
103
+ if (!startedAt) {
104
+ startedAt = entry.timestamp;
105
+ }
106
+ endedAt = entry.timestamp;
107
+ if (entry.level === 'ERROR') {
108
+ errorCount++;
109
+ }
110
+ }
111
+ catch {
112
+ // Skip malformed lines
113
+ }
114
+ }
115
+ return {
116
+ surrogate_id: surrogateId,
117
+ log_path: logPath,
118
+ started_at: startedAt,
119
+ ended_at: endedAt,
120
+ total_entries: entries.length,
121
+ error_count: errorCount,
122
+ last_entries: entries.slice(-10),
123
+ };
124
+ }
125
+ catch {
126
+ return null;
127
+ }
128
+ }
129
+ /**
130
+ * Get error entries from a surrogate's log.
131
+ */
132
+ export function getLogErrors(surrogateId, limit = 20) {
133
+ const logPath = getLogPath(surrogateId);
134
+ if (!fs.existsSync(logPath)) {
135
+ return [];
136
+ }
137
+ try {
138
+ const content = fs.readFileSync(logPath, 'utf8');
139
+ const lines = content.trim().split('\n').filter(Boolean);
140
+ const errors = [];
141
+ for (const line of lines) {
142
+ try {
143
+ const entry = JSON.parse(line);
144
+ if (entry.level === 'ERROR' || entry.level === 'WARN') {
145
+ errors.push(entry);
146
+ }
147
+ }
148
+ catch {
149
+ // Skip
150
+ }
151
+ }
152
+ return errors.slice(-limit);
153
+ }
154
+ catch {
155
+ return [];
156
+ }
157
+ }
158
+ /**
159
+ * Clean up old log files (older than N days).
160
+ */
161
+ export function cleanOldLogs(daysOld = 7) {
162
+ ensureLogsDir();
163
+ const cleaned = [];
164
+ const errors = [];
165
+ const cutoff = Date.now() - daysOld * 24 * 60 * 60 * 1000;
166
+ try {
167
+ const files = fs.readdirSync(LOGS_DIR).filter(f => f.endsWith('.log'));
168
+ for (const file of files) {
169
+ const filePath = path.join(LOGS_DIR, file);
170
+ try {
171
+ const stat = fs.statSync(filePath);
172
+ if (stat.mtimeMs < cutoff) {
173
+ fs.unlinkSync(filePath);
174
+ cleaned.push(file);
175
+ }
176
+ }
177
+ catch (error) {
178
+ errors.push(`${file}: ${error instanceof Error ? error.message : String(error)}`);
179
+ }
180
+ }
181
+ }
182
+ catch (error) {
183
+ errors.push(`Failed to read logs dir: ${error instanceof Error ? error.message : String(error)}`);
184
+ }
185
+ return { cleaned, errors };
186
+ }
187
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ export type ProjectType = 'node' | 'python' | 'mixed' | 'docs' | 'unknown';
2
+ export interface ProjectConfig {
3
+ name: string;
4
+ path: string;
5
+ type: ProjectType;
6
+ hasTests: boolean;
7
+ hasLint: boolean;
8
+ hasBuild: boolean;
9
+ hasTypecheck: boolean;
10
+ }
11
+ export interface ImpactAnalysis {
12
+ changedFiles: string[];
13
+ impactedProjects: ProjectConfig[];
14
+ docsOnly: boolean;
15
+ noChanges: boolean;
16
+ }
17
+ export interface StructuredGateResult {
18
+ gate_name: string;
19
+ project: string;
20
+ command: string;
21
+ cwd: string;
22
+ exit_code: number;
23
+ passed: boolean;
24
+ stdout_tail: string;
25
+ stderr_tail: string;
26
+ duration_ms: number;
27
+ skipped?: boolean;
28
+ skip_reason?: string;
29
+ }
30
+ export interface ProjectGatesResult {
31
+ all_passed: boolean;
32
+ gates: StructuredGateResult[];
33
+ summary: string;
34
+ total_duration_ms: number;
35
+ }
36
+ /**
37
+ * Detect project type from directory contents.
38
+ */
39
+ export declare function detectProjectType(projectPath: string): ProjectType;
40
+ /**
41
+ * Build a ProjectConfig for a given path.
42
+ */
43
+ export declare function buildProjectConfig(projectPath: string, name: string): ProjectConfig;
44
+ /**
45
+ * Analyze which projects are impacted by changed files.
46
+ */
47
+ export declare function analyzeImpact(worktreePath: string, baseBranch?: string): ImpactAnalysis;
48
+ export declare function runNodeGates(projectPath: string, projectName: string, options?: {
49
+ skipTests?: boolean;
50
+ skipLint?: boolean;
51
+ skipBuild?: boolean;
52
+ skipTypecheck?: boolean;
53
+ }): StructuredGateResult[];
54
+ /**
55
+ * Ensure Python venv exists for the project.
56
+ * Creates venv if missing and installs dependencies.
57
+ */
58
+ export declare function ensurePythonVenv(projectPath: string): StructuredGateResult | null;
59
+ export declare function runPythonGates(projectPath: string, projectName: string, options?: {
60
+ skipTests?: boolean;
61
+ skipLint?: boolean;
62
+ skipTypecheck?: boolean;
63
+ }): StructuredGateResult[];
64
+ export interface UnifiedGateOptions {
65
+ skipTests?: boolean;
66
+ skipLint?: boolean;
67
+ skipBuild?: boolean;
68
+ skipTypecheck?: boolean;
69
+ skipRebase?: boolean;
70
+ targetBranch?: string;
71
+ }
72
+ export declare function runProjectAwareGates(worktreePath: string, options?: UnifiedGateOptions): Promise<ProjectGatesResult>;
73
+ //# sourceMappingURL=project-gates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-gates.d.ts","sourceRoot":"","sources":["../../src/utils/project-gates.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAalE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAsDnF;AAeD;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,GAAE,MAAe,GAAG,cAAc,CA4E/F;AAkED,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GACtG,oBAAoB,EAAE,CAoFxB;AASD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CA0DjF;AAYD,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GACjF,oBAAoB,EAAE,CA6ExB;AAMD,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CAmI7B"}