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.
- package/LICENSE.md +30 -0
- package/README.md +198 -0
- package/dist/__tests__/gates.test.d.ts +2 -0
- package/dist/__tests__/gates.test.d.ts.map +1 -0
- package/dist/__tests__/gates.test.js +342 -0
- package/dist/__tests__/gates.test.js.map +1 -0
- package/dist/__tests__/observability.test.d.ts +2 -0
- package/dist/__tests__/observability.test.d.ts.map +1 -0
- package/dist/__tests__/observability.test.js +382 -0
- package/dist/__tests__/observability.test.js.map +1 -0
- package/dist/__tests__/state.test.d.ts +2 -0
- package/dist/__tests__/state.test.d.ts.map +1 -0
- package/dist/__tests__/state.test.js +415 -0
- package/dist/__tests__/state.test.js.map +1 -0
- package/dist/agent-runner.d.ts +3 -0
- package/dist/agent-runner.d.ts.map +1 -0
- package/dist/agent-runner.js +419 -0
- package/dist/agent-runner.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +763 -0
- package/dist/cli.js.map +1 -0
- package/dist/mcp-server.d.ts +3 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +1382 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/utils/agent.d.ts +42 -0
- package/dist/utils/agent.d.ts.map +1 -0
- package/dist/utils/agent.js +231 -0
- package/dist/utils/agent.js.map +1 -0
- package/dist/utils/artifacts.d.ts +92 -0
- package/dist/utils/artifacts.d.ts.map +1 -0
- package/dist/utils/artifacts.js +338 -0
- package/dist/utils/artifacts.js.map +1 -0
- package/dist/utils/capsule.d.ts +28 -0
- package/dist/utils/capsule.d.ts.map +1 -0
- package/dist/utils/capsule.js +462 -0
- package/dist/utils/capsule.js.map +1 -0
- package/dist/utils/diagnostics.d.ts +62 -0
- package/dist/utils/diagnostics.d.ts.map +1 -0
- package/dist/utils/diagnostics.js +404 -0
- package/dist/utils/diagnostics.js.map +1 -0
- package/dist/utils/gates.d.ts +78 -0
- package/dist/utils/gates.d.ts.map +1 -0
- package/dist/utils/gates.js +661 -0
- package/dist/utils/gates.js.map +1 -0
- package/dist/utils/logging.d.ts +53 -0
- package/dist/utils/logging.d.ts.map +1 -0
- package/dist/utils/logging.js +187 -0
- package/dist/utils/logging.js.map +1 -0
- package/dist/utils/project-gates.d.ts +73 -0
- package/dist/utils/project-gates.d.ts.map +1 -0
- package/dist/utils/project-gates.js +520 -0
- package/dist/utils/project-gates.js.map +1 -0
- package/dist/utils/reconcile.d.ts +50 -0
- package/dist/utils/reconcile.d.ts.map +1 -0
- package/dist/utils/reconcile.js +262 -0
- package/dist/utils/reconcile.js.map +1 -0
- package/dist/utils/state.d.ts +241 -0
- package/dist/utils/state.d.ts.map +1 -0
- package/dist/utils/state.js +865 -0
- package/dist/utils/state.js.map +1 -0
- package/dist/utils/worktree.d.ts +27 -0
- package/dist/utils/worktree.d.ts.map +1 -0
- package/dist/utils/worktree.js +275 -0
- package/dist/utils/worktree.js.map +1 -0
- 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":"AAAA,uCAAuC;AACvC,2CAA2C;AAE3C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAwBlE,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,SAAS,aAAa;IACpB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,WAAW,MAAM,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,WAAmB,EACnB,KAAwB,EACxB,MAAc,EACd,OAAe,EACf,IAA0B;IAE1B,aAAa,EAAE,CAAC;IAEhB,MAAM,KAAK,GAAa;QACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK;QACL,MAAM;QACN,OAAO;QACP,IAAI;KACL,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAE1C,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,MAAc;IACvE,OAAO;QACL,KAAK,EAAE,CAAC,OAAe,EAAE,IAA0B,EAAE,EAAE,CACrD,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;QACxD,IAAI,EAAE,CAAC,OAAe,EAAE,IAA0B,EAAE,EAAE,CACpD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;QACvD,IAAI,EAAE,CAAC,OAAe,EAAE,IAA0B,EAAE,EAAE,CACpD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;QACvD,KAAK,EAAE,CAAC,OAAe,EAAE,IAA0B,EAAE,EAAE,CACrD,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;KACzD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,WAAmB,EAAE,QAAgB,EAAE;IACjE,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,KAAK,EAAE,OAAgB;oBACvB,MAAM,EAAE,YAAY;oBACpB,OAAO,EAAE,6BAA6B,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;iBAC3D,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC;gBAC3C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEpB,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;gBAC9B,CAAC;gBACD,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC;gBAE1B,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;oBAC5B,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC;QAED,OAAO;YACL,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,OAAO;YACjB,aAAa,EAAE,OAAO,CAAC,MAAM;YAC7B,WAAW,EAAE,UAAU;YACvB,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;SACjC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB,EAAE,QAAgB,EAAE;IAClE,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC;gBAC3C,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;oBACtD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,UAAkB,CAAC;IAC9C,aAAa,EAAE,CAAC;IAEhB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAEvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC;oBAC1B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -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"}
|