whitesmith 0.0.1 ā 0.0.2
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/dist/auto-work.d.ts +11 -0
- package/dist/auto-work.d.ts.map +1 -0
- package/dist/auto-work.js +22 -0
- package/dist/auto-work.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +99 -0
- package/dist/cli.js.map +1 -1
- package/dist/comment.d.ts +29 -0
- package/dist/comment.d.ts.map +1 -0
- package/dist/comment.js +390 -0
- package/dist/comment.js.map +1 -0
- package/dist/git.d.ts +12 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +57 -14
- package/dist/git.js.map +1 -1
- package/dist/harnesses/pi.d.ts +2 -0
- package/dist/harnesses/pi.d.ts.map +1 -1
- package/dist/harnesses/pi.js +92 -6
- package/dist/harnesses/pi.js.map +1 -1
- package/dist/install-ci.d.ts +7 -0
- package/dist/install-ci.d.ts.map +1 -0
- package/dist/install-ci.js +760 -0
- package/dist/install-ci.js.map +1 -0
- package/dist/orchestrator.d.ts +24 -4
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +252 -67
- package/dist/orchestrator.js.map +1 -1
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +1 -0
- package/dist/prompts.js.map +1 -1
- package/dist/providers/github-ci.d.ts +16 -0
- package/dist/providers/github-ci.d.ts.map +1 -0
- package/dist/providers/github-ci.js +733 -0
- package/dist/providers/github-ci.js.map +1 -0
- package/dist/providers/github.d.ts +21 -0
- package/dist/providers/github.d.ts.map +1 -1
- package/dist/providers/github.js +88 -3
- package/dist/providers/github.js.map +1 -1
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/issue-provider.d.ts +26 -0
- package/dist/providers/issue-provider.d.ts.map +1 -1
- package/dist/task-manager.d.ts +4 -0
- package/dist/task-manager.d.ts.map +1 -1
- package/dist/task-manager.js +6 -0
- package/dist/task-manager.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -1
- package/package.json +2 -1
- package/src/auto-work.ts +26 -0
- package/src/cli.ts +114 -0
- package/src/comment.ts +531 -0
- package/src/git.ts +58 -12
- package/src/harnesses/pi.ts +108 -6
- package/src/orchestrator.ts +287 -76
- package/src/prompts.ts +1 -0
- package/src/providers/github-ci.ts +840 -0
- package/src/providers/github.ts +118 -5
- package/src/providers/index.ts +1 -0
- package/src/providers/issue-provider.ts +25 -1
- package/src/task-manager.ts +7 -0
- package/src/types.ts +7 -0
package/dist/git.d.ts
CHANGED
|
@@ -9,6 +9,10 @@ export declare class GitManager {
|
|
|
9
9
|
* Get the current branch name
|
|
10
10
|
*/
|
|
11
11
|
getCurrentBranch(): Promise<string>;
|
|
12
|
+
/**
|
|
13
|
+
* Remove all .whitesmith-* temp files from the working directory.
|
|
14
|
+
*/
|
|
15
|
+
cleanupTempFiles(): void;
|
|
12
16
|
/**
|
|
13
17
|
* Fetch latest from origin
|
|
14
18
|
*/
|
|
@@ -52,6 +56,14 @@ export declare class GitManager {
|
|
|
52
56
|
* Get the default branch (usually main)
|
|
53
57
|
*/
|
|
54
58
|
getDefaultBranch(): Promise<string>;
|
|
59
|
+
/**
|
|
60
|
+
* Check if a file exists on a remote ref (without checking out)
|
|
61
|
+
*/
|
|
62
|
+
remoteFileExists(ref: string, filePath: string): Promise<boolean>;
|
|
63
|
+
/**
|
|
64
|
+
* Check if a path has any files on a remote ref (without checking out)
|
|
65
|
+
*/
|
|
66
|
+
remotePathHasFiles(ref: string, dirPath: string): Promise<boolean>;
|
|
55
67
|
/**
|
|
56
68
|
* Verify we're on the expected branch
|
|
57
69
|
*/
|
package/dist/git.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,qBAAa,UAAU;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM;YAIb,GAAG;IAKjB;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIzC;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAYxB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAShG;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAKnC;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IA6BtE;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAKpC;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASzD;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtD;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IASzC;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASvE;;OAEG;IACG,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASxE;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMnD"}
|
package/dist/git.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { exec } from 'node:child_process';
|
|
2
|
+
import * as fs from 'node:fs';
|
|
3
|
+
import * as path from 'node:path';
|
|
2
4
|
import { promisify } from 'node:util';
|
|
3
5
|
const execAsync = promisify(exec);
|
|
4
6
|
/**
|
|
@@ -19,6 +21,21 @@ export class GitManager {
|
|
|
19
21
|
async getCurrentBranch() {
|
|
20
22
|
return this.git('rev-parse --abbrev-ref HEAD');
|
|
21
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Remove all .whitesmith-* temp files from the working directory.
|
|
26
|
+
*/
|
|
27
|
+
cleanupTempFiles() {
|
|
28
|
+
for (const entry of fs.readdirSync(this.workDir)) {
|
|
29
|
+
if (entry.startsWith('.whitesmith-')) {
|
|
30
|
+
try {
|
|
31
|
+
fs.unlinkSync(path.join(this.workDir, entry));
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// ignore
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
22
39
|
/**
|
|
23
40
|
* Fetch latest from origin
|
|
24
41
|
*/
|
|
@@ -48,26 +65,28 @@ export class GitManager {
|
|
|
48
65
|
* Stage all changes and commit
|
|
49
66
|
*/
|
|
50
67
|
async commitAll(message, exclude) {
|
|
68
|
+
// Always exclude whitesmith temp files
|
|
69
|
+
const allExclude = ['.whitesmith-*', ...(exclude || [])];
|
|
70
|
+
// Remove any whitesmith temp files from the working tree
|
|
71
|
+
this.cleanupTempFiles();
|
|
51
72
|
// Check if there are changes
|
|
52
73
|
const status = await this.git('status --porcelain');
|
|
53
74
|
if (!status)
|
|
54
75
|
return false;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
catch {
|
|
64
|
-
// File might not be staged
|
|
65
|
-
}
|
|
76
|
+
// Add all then unstage excluded patterns
|
|
77
|
+
await this.git('add -A');
|
|
78
|
+
for (const pattern of allExclude) {
|
|
79
|
+
try {
|
|
80
|
+
await this.git(`reset HEAD -- ${pattern}`);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
// File might not be staged
|
|
66
84
|
}
|
|
67
85
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
86
|
+
// Check if anything is still staged after exclusions
|
|
87
|
+
const staged = await this.git('diff --cached --name-only');
|
|
88
|
+
if (!staged)
|
|
89
|
+
return false;
|
|
71
90
|
await this.git(`commit -m "${message.replace(/"/g, '\\"')}"`);
|
|
72
91
|
return true;
|
|
73
92
|
}
|
|
@@ -125,6 +144,30 @@ export class GitManager {
|
|
|
125
144
|
return 'main';
|
|
126
145
|
}
|
|
127
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Check if a file exists on a remote ref (without checking out)
|
|
149
|
+
*/
|
|
150
|
+
async remoteFileExists(ref, filePath) {
|
|
151
|
+
try {
|
|
152
|
+
await this.git(`show ${ref}:${filePath}`);
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Check if a path has any files on a remote ref (without checking out)
|
|
161
|
+
*/
|
|
162
|
+
async remotePathHasFiles(ref, dirPath) {
|
|
163
|
+
try {
|
|
164
|
+
const result = await this.git(`ls-tree ${ref} -- ${dirPath}`);
|
|
165
|
+
return result.length > 0;
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
128
171
|
/**
|
|
129
172
|
* Verify we're on the expected branch
|
|
130
173
|
*/
|
package/dist/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAC;AAEpC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,OAAO,UAAU;IACd,OAAO,CAAS;IAExB,YAAY,OAAe;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,GAAG,CAAC,IAAY;QAC7B,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,SAAS,CAAC,OAAO,IAAI,EAAE,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACV,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAAiD;QAC/E,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,aAAa,CAAC;YACvD,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QACjB,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,OAAkB;QAClD,
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
|
package/dist/harnesses/pi.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export declare class PiHarness implements AgentHarness {
|
|
|
18
18
|
output: string;
|
|
19
19
|
exitCode: number;
|
|
20
20
|
}>;
|
|
21
|
+
/** Format a pi JSON event as a human-readable log line (null = skip) */
|
|
22
|
+
private formatEvent;
|
|
21
23
|
private exec;
|
|
22
24
|
}
|
|
23
25
|
//# sourceMappingURL=pi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../src/harnesses/pi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../src/harnesses/pi.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAmBzE;;;;GAIG;AACH,qBAAa,SAAU,YAAW,YAAY;IAC7C,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,kBAAkB;IAMhC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA2DzB,GAAG,CAAC,OAAO,EAAE;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,CAAC;IAsB/C,wEAAwE;IACxE,OAAO,CAAC,WAAW;IAoCnB,OAAO,CAAC,IAAI;CAwDZ"}
|
package/dist/harnesses/pi.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { exec, execSync } from 'node:child_process';
|
|
2
2
|
import * as fs from 'node:fs';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
3
4
|
import * as path from 'node:path';
|
|
4
5
|
/**
|
|
5
6
|
* Agent harness for @mariozechner/pi-coding-agent.
|
|
@@ -25,9 +26,28 @@ export class PiHarness {
|
|
|
25
26
|
`Make sure it is installed and available in PATH. ` +
|
|
26
27
|
`For pi-coding-agent: npm install -g @mariozechner/pi-coding-agent`);
|
|
27
28
|
}
|
|
29
|
+
// Check auth.json exists and has the expected provider
|
|
30
|
+
const homeDir = process.env.HOME || homedir();
|
|
31
|
+
const authJsonPath = path.join(homeDir, '.pi', 'agent', 'auth.json');
|
|
32
|
+
if (fs.existsSync(authJsonPath)) {
|
|
33
|
+
try {
|
|
34
|
+
const authData = JSON.parse(fs.readFileSync(authJsonPath, 'utf-8'));
|
|
35
|
+
const providers = Object.keys(authData);
|
|
36
|
+
console.log(`Auth file found at ${authJsonPath} with providers: ${providers.join(', ')}`);
|
|
37
|
+
if (!authData[this.provider]) {
|
|
38
|
+
console.warn(`WARNING: Provider '${this.provider}' not found in auth.json (has: ${providers.join(', ')})`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
console.warn(`WARNING: Could not parse auth.json: ${e.message}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
console.warn(`WARNING: No auth.json found at ${authJsonPath}`);
|
|
47
|
+
}
|
|
28
48
|
// Validate auth by making a minimal API call
|
|
29
49
|
try {
|
|
30
|
-
const result = execSync(`${this.cmd} --print --no-tools --provider ${this.provider} --model ${this.model} "respond with OK"`, { stdio: 'pipe', timeout: 30_000 });
|
|
50
|
+
const result = execSync(`${this.cmd} --print --no-tools --no-session --provider ${this.provider} --model ${this.model} "respond with OK"`, { stdio: 'pipe', timeout: 30_000 });
|
|
31
51
|
const output = result.toString().trim();
|
|
32
52
|
if (!output) {
|
|
33
53
|
throw new Error('Empty response');
|
|
@@ -35,18 +55,23 @@ export class PiHarness {
|
|
|
35
55
|
console.log(`Auth check passed (response: ${output.slice(0, 20)})`);
|
|
36
56
|
}
|
|
37
57
|
catch (error) {
|
|
38
|
-
const stderr = error.stderr?.toString() ||
|
|
58
|
+
const stderr = error.stderr?.toString() || '';
|
|
59
|
+
const stdout = error.stdout?.toString() || '';
|
|
60
|
+
const details = [stderr, stdout].filter(Boolean).join('\n') || error.message || 'unknown error';
|
|
39
61
|
throw new Error(`Agent auth validation failed. Ensure valid credentials are configured.\n` +
|
|
40
62
|
`Set ANTHROPIC_API_KEY or configure OAuth via ~/.pi/agent/auth.json\n` +
|
|
41
|
-
`
|
|
63
|
+
`Auth file path: ${authJsonPath}\n` +
|
|
64
|
+
`Auth file exists: ${fs.existsSync(authJsonPath)}\n` +
|
|
65
|
+
`HOME: ${homeDir}\n` +
|
|
66
|
+
`Details: ${details.slice(0, 800)}`);
|
|
42
67
|
}
|
|
43
68
|
}
|
|
44
69
|
async run(options) {
|
|
45
|
-
// Write prompt to a temp file
|
|
70
|
+
// Write prompt to a temp file and use @file syntax so pi reads contents
|
|
46
71
|
const promptFile = path.join(options.workDir, '.whitesmith-prompt.md');
|
|
47
72
|
fs.writeFileSync(promptFile, options.prompt, 'utf-8');
|
|
48
73
|
try {
|
|
49
|
-
const result = await this.exec(`${this.cmd} --
|
|
74
|
+
const result = await this.exec(`${this.cmd} --print --mode json --no-session --provider ${this.provider} --model ${this.model} @"${promptFile}"`, options.workDir, options.logFile);
|
|
50
75
|
return result;
|
|
51
76
|
}
|
|
52
77
|
finally {
|
|
@@ -59,6 +84,44 @@ export class PiHarness {
|
|
|
59
84
|
}
|
|
60
85
|
}
|
|
61
86
|
}
|
|
87
|
+
/** Format a pi JSON event as a human-readable log line (null = skip) */
|
|
88
|
+
formatEvent(event) {
|
|
89
|
+
switch (event.type) {
|
|
90
|
+
case 'agent_start':
|
|
91
|
+
return '\nš¤ Agent started';
|
|
92
|
+
case 'agent_end':
|
|
93
|
+
return '\nš Agent finished';
|
|
94
|
+
case 'turn_start':
|
|
95
|
+
return '\n--- turn ---';
|
|
96
|
+
case 'message_update': {
|
|
97
|
+
const evt = event.assistantMessageEvent;
|
|
98
|
+
if (evt?.type === 'text_delta' && evt.delta)
|
|
99
|
+
return evt.delta;
|
|
100
|
+
if (evt?.type === 'thinking_delta' && evt.delta)
|
|
101
|
+
return evt.delta;
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
case 'tool_execution_start': {
|
|
105
|
+
const argsStr = JSON.stringify(event.args);
|
|
106
|
+
const truncArgs = argsStr.length > 200 ? argsStr.slice(0, 200) + 'ā¦' : argsStr;
|
|
107
|
+
return `\nš§ ${event.toolName}(${truncArgs})`;
|
|
108
|
+
}
|
|
109
|
+
case 'tool_execution_end': {
|
|
110
|
+
const icon = event.isError ? 'ā' : 'ā
';
|
|
111
|
+
const res = typeof event.result === 'string' ? event.result : JSON.stringify(event.result);
|
|
112
|
+
const truncRes = res.length > 500 ? res.slice(0, 500) + 'ā¦' : res;
|
|
113
|
+
return `${icon} ${event.toolName} ā ${truncRes}`;
|
|
114
|
+
}
|
|
115
|
+
case 'compaction_start':
|
|
116
|
+
return `\nš¦ Compaction (${event.reason})`;
|
|
117
|
+
case 'auto_retry_start':
|
|
118
|
+
return `\nš Retry ${event.attempt}/${event.maxAttempts}: ${event.errorMessage}`;
|
|
119
|
+
case 'auto_retry_end':
|
|
120
|
+
return event.success ? 'š Retry succeeded' : `š Retry failed: ${event.finalError}`;
|
|
121
|
+
default:
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
62
125
|
exec(cmd, workDir, logFile) {
|
|
63
126
|
return new Promise((resolve) => {
|
|
64
127
|
const child = exec(cmd, {
|
|
@@ -66,14 +129,35 @@ export class PiHarness {
|
|
|
66
129
|
maxBuffer: 50 * 1024 * 1024,
|
|
67
130
|
timeout: 30 * 60 * 1000, // 30 minute timeout
|
|
68
131
|
});
|
|
132
|
+
// Close stdin immediately so pi doesn't hang waiting for piped input
|
|
133
|
+
child.stdin?.end();
|
|
69
134
|
let output = '';
|
|
135
|
+
let lineBuffer = '';
|
|
70
136
|
const logStream = logFile
|
|
71
137
|
? fs.createWriteStream(path.resolve(workDir, logFile), { flags: 'a' })
|
|
72
138
|
: null;
|
|
139
|
+
const processLine = (line) => {
|
|
140
|
+
if (!line.trim())
|
|
141
|
+
return;
|
|
142
|
+
try {
|
|
143
|
+
const event = JSON.parse(line);
|
|
144
|
+
const formatted = this.formatEvent(event);
|
|
145
|
+
if (formatted !== null) {
|
|
146
|
+
process.stdout.write(formatted);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
process.stdout.write(line + '\n');
|
|
151
|
+
}
|
|
152
|
+
};
|
|
73
153
|
child.stdout?.on('data', (data) => {
|
|
74
154
|
output += data;
|
|
75
|
-
process.stdout.write(data);
|
|
76
155
|
logStream?.write(data);
|
|
156
|
+
lineBuffer += data;
|
|
157
|
+
const lines = lineBuffer.split('\n');
|
|
158
|
+
lineBuffer = lines.pop() ?? '';
|
|
159
|
+
for (const line of lines)
|
|
160
|
+
processLine(line);
|
|
77
161
|
});
|
|
78
162
|
child.stderr?.on('data', (data) => {
|
|
79
163
|
output += data;
|
|
@@ -81,6 +165,8 @@ export class PiHarness {
|
|
|
81
165
|
logStream?.write(data);
|
|
82
166
|
});
|
|
83
167
|
child.on('close', (code) => {
|
|
168
|
+
if (lineBuffer.trim())
|
|
169
|
+
processLine(lineBuffer);
|
|
84
170
|
logStream?.end();
|
|
85
171
|
resolve({ output, exitCode: code ?? 1 });
|
|
86
172
|
});
|
package/dist/harnesses/pi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/harnesses/pi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/harnesses/pi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type AuthMode = 'auth-json' | 'models-json';
|
|
2
|
+
export interface InstallCIOptions {
|
|
3
|
+
authMode: AuthMode;
|
|
4
|
+
repo?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function installCI(workDir: string, options: InstallCIOptions): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=install-ci.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-ci.d.ts","sourceRoot":"","sources":["../src/install-ci.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;AA+rBnD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4IzF"}
|