whitesmith 0.0.0 → 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.
Files changed (71) hide show
  1. package/README.md +228 -0
  2. package/dist/auto-work.d.ts +11 -0
  3. package/dist/auto-work.d.ts.map +1 -0
  4. package/dist/auto-work.js +22 -0
  5. package/dist/auto-work.js.map +1 -0
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +108 -1
  8. package/dist/cli.js.map +1 -1
  9. package/dist/comment.d.ts +29 -0
  10. package/dist/comment.d.ts.map +1 -0
  11. package/dist/comment.js +390 -0
  12. package/dist/comment.js.map +1 -0
  13. package/dist/git.d.ts +12 -0
  14. package/dist/git.d.ts.map +1 -1
  15. package/dist/git.js +57 -14
  16. package/dist/git.js.map +1 -1
  17. package/dist/harnesses/agent-harness.d.ts +13 -0
  18. package/dist/harnesses/agent-harness.d.ts.map +1 -1
  19. package/dist/harnesses/index.d.ts +1 -1
  20. package/dist/harnesses/index.d.ts.map +1 -1
  21. package/dist/harnesses/pi.d.ts +7 -5
  22. package/dist/harnesses/pi.d.ts.map +1 -1
  23. package/dist/harnesses/pi.js +122 -9
  24. package/dist/harnesses/pi.js.map +1 -1
  25. package/dist/install-ci.d.ts +7 -0
  26. package/dist/install-ci.d.ts.map +1 -0
  27. package/dist/install-ci.js +760 -0
  28. package/dist/install-ci.js.map +1 -0
  29. package/dist/orchestrator.d.ts +24 -4
  30. package/dist/orchestrator.d.ts.map +1 -1
  31. package/dist/orchestrator.js +254 -63
  32. package/dist/orchestrator.js.map +1 -1
  33. package/dist/prompts.d.ts.map +1 -1
  34. package/dist/prompts.js +1 -0
  35. package/dist/prompts.js.map +1 -1
  36. package/dist/providers/github-ci.d.ts +16 -0
  37. package/dist/providers/github-ci.d.ts.map +1 -0
  38. package/dist/providers/github-ci.js +733 -0
  39. package/dist/providers/github-ci.js.map +1 -0
  40. package/dist/providers/github.d.ts +21 -0
  41. package/dist/providers/github.d.ts.map +1 -1
  42. package/dist/providers/github.js +88 -3
  43. package/dist/providers/github.js.map +1 -1
  44. package/dist/providers/index.d.ts +1 -0
  45. package/dist/providers/index.d.ts.map +1 -1
  46. package/dist/providers/issue-provider.d.ts +26 -0
  47. package/dist/providers/issue-provider.d.ts.map +1 -1
  48. package/dist/task-manager.d.ts +4 -0
  49. package/dist/task-manager.d.ts.map +1 -1
  50. package/dist/task-manager.js +6 -0
  51. package/dist/task-manager.js.map +1 -1
  52. package/dist/types.d.ts +13 -0
  53. package/dist/types.d.ts.map +1 -1
  54. package/dist/types.js +2 -0
  55. package/dist/types.js.map +1 -1
  56. package/package.json +3 -1
  57. package/src/auto-work.ts +26 -0
  58. package/src/cli.ts +123 -1
  59. package/src/comment.ts +531 -0
  60. package/src/git.ts +58 -12
  61. package/src/harnesses/agent-harness.ts +15 -0
  62. package/src/harnesses/index.ts +1 -1
  63. package/src/harnesses/pi.ts +146 -10
  64. package/src/orchestrator.ts +290 -72
  65. package/src/prompts.ts +1 -0
  66. package/src/providers/github-ci.ts +840 -0
  67. package/src/providers/github.ts +118 -5
  68. package/src/providers/index.ts +1 -0
  69. package/src/providers/issue-provider.ts +25 -1
  70. package/src/task-manager.ts +7 -0
  71. package/src/types.ts +11 -0
@@ -1,5 +1,6 @@
1
- import { exec } from 'node:child_process';
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.
@@ -8,18 +9,69 @@ import * as path from 'node:path';
8
9
  */
9
10
  export class PiHarness {
10
11
  cmd;
11
- /**
12
- * @param cmd - Command to invoke pi (default: "pi")
13
- */
14
- constructor(cmd = 'pi') {
15
- this.cmd = cmd;
12
+ provider;
13
+ model;
14
+ constructor(config) {
15
+ this.cmd = config.cmd;
16
+ this.provider = config.provider;
17
+ this.model = config.model;
18
+ }
19
+ async validate() {
20
+ // Check if the command exists
21
+ try {
22
+ execSync(`which ${this.cmd}`, { stdio: 'pipe' });
23
+ }
24
+ catch {
25
+ throw new Error(`Agent command '${this.cmd}' not found. ` +
26
+ `Make sure it is installed and available in PATH. ` +
27
+ `For pi-coding-agent: npm install -g @mariozechner/pi-coding-agent`);
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
+ }
48
+ // Validate auth by making a minimal API call
49
+ try {
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 });
51
+ const output = result.toString().trim();
52
+ if (!output) {
53
+ throw new Error('Empty response');
54
+ }
55
+ console.log(`Auth check passed (response: ${output.slice(0, 20)})`);
56
+ }
57
+ catch (error) {
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';
61
+ throw new Error(`Agent auth validation failed. Ensure valid credentials are configured.\n` +
62
+ `Set ANTHROPIC_API_KEY or configure OAuth via ~/.pi/agent/auth.json\n` +
63
+ `Auth file path: ${authJsonPath}\n` +
64
+ `Auth file exists: ${fs.existsSync(authJsonPath)}\n` +
65
+ `HOME: ${homeDir}\n` +
66
+ `Details: ${details.slice(0, 800)}`);
67
+ }
16
68
  }
17
69
  async run(options) {
18
- // Write prompt to a temp file to avoid shell escaping issues
70
+ // Write prompt to a temp file and use @file syntax so pi reads contents
19
71
  const promptFile = path.join(options.workDir, '.whitesmith-prompt.md');
20
72
  fs.writeFileSync(promptFile, options.prompt, 'utf-8');
21
73
  try {
22
- const result = await this.exec(`${this.cmd} --prompt-file "${promptFile}" --yes`, options.workDir, options.logFile);
74
+ const result = await this.exec(`${this.cmd} --print --mode json --no-session --provider ${this.provider} --model ${this.model} @"${promptFile}"`, options.workDir, options.logFile);
23
75
  return result;
24
76
  }
25
77
  finally {
@@ -32,6 +84,44 @@ export class PiHarness {
32
84
  }
33
85
  }
34
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
+ }
35
125
  exec(cmd, workDir, logFile) {
36
126
  return new Promise((resolve) => {
37
127
  const child = exec(cmd, {
@@ -39,14 +129,35 @@ export class PiHarness {
39
129
  maxBuffer: 50 * 1024 * 1024,
40
130
  timeout: 30 * 60 * 1000, // 30 minute timeout
41
131
  });
132
+ // Close stdin immediately so pi doesn't hang waiting for piped input
133
+ child.stdin?.end();
42
134
  let output = '';
135
+ let lineBuffer = '';
43
136
  const logStream = logFile
44
137
  ? fs.createWriteStream(path.resolve(workDir, logFile), { flags: 'a' })
45
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
+ };
46
153
  child.stdout?.on('data', (data) => {
47
154
  output += data;
48
- process.stdout.write(data);
49
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);
50
161
  });
51
162
  child.stderr?.on('data', (data) => {
52
163
  output += data;
@@ -54,6 +165,8 @@ export class PiHarness {
54
165
  logStream?.write(data);
55
166
  });
56
167
  child.on('close', (code) => {
168
+ if (lineBuffer.trim())
169
+ processLine(lineBuffer);
57
170
  logStream?.end();
58
171
  resolve({ output, exitCode: code ?? 1 });
59
172
  });
@@ -1 +1 @@
1
- {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/harnesses/pi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC;;;;GAIG;AACH,MAAM,OAAO,SAAS;IACb,GAAG,CAAS;IAEpB;;OAEG;IACH,YAAY,MAAc,IAAI;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAIT;QACA,6DAA6D;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACvE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEtD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAC7B,GAAG,IAAI,CAAC,GAAG,mBAAmB,UAAU,SAAS,EACjD,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,CACf,CAAC;YACF,OAAO,MAAM,CAAC;QACf,CAAC;gBAAS,CAAC;YACV,uBAAuB;YACvB,IAAI,CAAC;gBACJ,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACR,SAAS;YACV,CAAC;QACF,CAAC;IACF,CAAC;IAEO,IAAI,CACX,GAAW,EACX,OAAe,EACf,OAAgB;QAEhB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;gBACvB,GAAG,EAAE,OAAO;gBACZ,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;gBAC3B,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,oBAAoB;aAC7C,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,OAAO;gBACxB,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAC,KAAK,EAAE,GAAG,EAAC,CAAC;gBACpE,CAAC,CAAC,IAAI,CAAC;YAER,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACzC,MAAM,IAAI,IAAI,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACzC,MAAM,IAAI,IAAI,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,SAAS,EAAE,GAAG,EAAE,CAAC;gBACjB,OAAO,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,EAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
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"}