@cjvana/claude-auto 0.1.1 → 0.1.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/index.d.ts +615 -319
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
|
-
import { Document } from
|
|
2
|
-
import { z } from
|
|
3
|
-
import Database from
|
|
1
|
+
import { Document } from "yaml";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import Database from "better-sqlite3";
|
|
4
4
|
|
|
5
|
-
type CliCommand =
|
|
5
|
+
type CliCommand =
|
|
6
|
+
| "create"
|
|
7
|
+
| "check-repo"
|
|
8
|
+
| "list"
|
|
9
|
+
| "logs"
|
|
10
|
+
| "report"
|
|
11
|
+
| "pause"
|
|
12
|
+
| "resume"
|
|
13
|
+
| "remove"
|
|
14
|
+
| "edit"
|
|
15
|
+
| "cost"
|
|
16
|
+
| "dashboard"
|
|
17
|
+
| "help";
|
|
6
18
|
interface ParsedCommand {
|
|
7
|
-
|
|
8
|
-
|
|
19
|
+
command: CliCommand;
|
|
20
|
+
args: Record<string, string | number | boolean | undefined>;
|
|
9
21
|
}
|
|
10
22
|
type CommandHandler = (args: ParsedCommand["args"]) => Promise<void>;
|
|
11
23
|
declare const COMMANDS: Record<string, string>;
|
|
@@ -25,7 +37,9 @@ declare function checkRepoCommand(args: ParsedCommand["args"]): Promise<void>;
|
|
|
25
37
|
*
|
|
26
38
|
* @param args - Parsed CLI arguments (jobId?: string, json?: boolean)
|
|
27
39
|
*/
|
|
28
|
-
declare function costCommand(
|
|
40
|
+
declare function costCommand(
|
|
41
|
+
args: Record<string, string | number | boolean | undefined>,
|
|
42
|
+
): Promise<void>;
|
|
29
43
|
|
|
30
44
|
/**
|
|
31
45
|
* Create a new autonomous cron job. Validates all inputs, optionally clones the repo,
|
|
@@ -109,103 +123,179 @@ declare function parseCommand(argv: string[]): ParsedCommand;
|
|
|
109
123
|
*/
|
|
110
124
|
declare function runCli(argv: string[]): Promise<void>;
|
|
111
125
|
|
|
112
|
-
declare const JobConfigSchema: z.ZodObject<
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
126
|
+
declare const JobConfigSchema: z.ZodObject<
|
|
127
|
+
{
|
|
128
|
+
id: z.ZodString;
|
|
129
|
+
name: z.ZodString;
|
|
130
|
+
repo: z.ZodObject<
|
|
131
|
+
{
|
|
132
|
+
path: z.ZodString;
|
|
133
|
+
branch: z.ZodDefault<z.ZodString>;
|
|
134
|
+
remote: z.ZodDefault<z.ZodString>;
|
|
135
|
+
},
|
|
136
|
+
z.core.$strip
|
|
137
|
+
>;
|
|
138
|
+
schedule: z.ZodObject<
|
|
139
|
+
{
|
|
140
|
+
cron: z.ZodString;
|
|
141
|
+
timezone: z.ZodDefault<z.ZodString>;
|
|
142
|
+
},
|
|
143
|
+
z.core.$strip
|
|
144
|
+
>;
|
|
145
|
+
focus: z.ZodDefault<
|
|
146
|
+
z.ZodArray<
|
|
147
|
+
z.ZodEnum<{
|
|
148
|
+
"open-issues": "open-issues";
|
|
149
|
+
"bug-discovery": "bug-discovery";
|
|
150
|
+
features: "features";
|
|
151
|
+
documentation: "documentation";
|
|
152
|
+
}>
|
|
153
|
+
>
|
|
154
|
+
>;
|
|
155
|
+
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
156
|
+
guardrails: z.ZodDefault<
|
|
157
|
+
z.ZodObject<
|
|
158
|
+
{
|
|
159
|
+
maxTurns: z.ZodDefault<z.ZodNumber>;
|
|
160
|
+
maxBudgetUsd: z.ZodDefault<z.ZodNumber>;
|
|
161
|
+
noNewDependencies: z.ZodDefault<z.ZodBoolean>;
|
|
162
|
+
noArchitectureChanges: z.ZodDefault<z.ZodBoolean>;
|
|
163
|
+
bugFixOnly: z.ZodDefault<z.ZodBoolean>;
|
|
164
|
+
restrictToPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
165
|
+
},
|
|
166
|
+
z.core.$strip
|
|
167
|
+
>
|
|
168
|
+
>;
|
|
169
|
+
notifications: z.ZodDefault<
|
|
170
|
+
z.ZodObject<
|
|
171
|
+
{
|
|
172
|
+
discord: z.ZodOptional<
|
|
173
|
+
z.ZodObject<
|
|
174
|
+
{
|
|
175
|
+
webhookUrl: z.ZodString;
|
|
176
|
+
onSuccess: z.ZodDefault<z.ZodBoolean>;
|
|
177
|
+
onFailure: z.ZodDefault<z.ZodBoolean>;
|
|
178
|
+
onNoChanges: z.ZodDefault<z.ZodBoolean>;
|
|
179
|
+
onLocked: z.ZodDefault<z.ZodBoolean>;
|
|
180
|
+
},
|
|
181
|
+
z.core.$strip
|
|
182
|
+
>
|
|
183
|
+
>;
|
|
184
|
+
slack: z.ZodOptional<
|
|
185
|
+
z.ZodObject<
|
|
186
|
+
{
|
|
187
|
+
webhookUrl: z.ZodString;
|
|
188
|
+
onSuccess: z.ZodDefault<z.ZodBoolean>;
|
|
189
|
+
onFailure: z.ZodDefault<z.ZodBoolean>;
|
|
190
|
+
onNoChanges: z.ZodDefault<z.ZodBoolean>;
|
|
191
|
+
onLocked: z.ZodDefault<z.ZodBoolean>;
|
|
192
|
+
},
|
|
193
|
+
z.core.$strip
|
|
194
|
+
>
|
|
195
|
+
>;
|
|
196
|
+
telegram: z.ZodOptional<
|
|
197
|
+
z.ZodObject<
|
|
198
|
+
{
|
|
199
|
+
botToken: z.ZodString;
|
|
200
|
+
chatId: z.ZodString;
|
|
201
|
+
onSuccess: z.ZodDefault<z.ZodBoolean>;
|
|
202
|
+
onFailure: z.ZodDefault<z.ZodBoolean>;
|
|
203
|
+
onNoChanges: z.ZodDefault<z.ZodBoolean>;
|
|
204
|
+
onLocked: z.ZodDefault<z.ZodBoolean>;
|
|
205
|
+
},
|
|
206
|
+
z.core.$strip
|
|
207
|
+
>
|
|
208
|
+
>;
|
|
209
|
+
},
|
|
210
|
+
z.core.$strip
|
|
211
|
+
>
|
|
212
|
+
>;
|
|
213
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
214
|
+
model: z.ZodOptional<
|
|
215
|
+
z.ZodUnion<
|
|
216
|
+
readonly [
|
|
217
|
+
z.ZodEnum<{
|
|
218
|
+
default: "default";
|
|
219
|
+
sonnet: "sonnet";
|
|
220
|
+
opus: "opus";
|
|
221
|
+
haiku: "haiku";
|
|
222
|
+
opusplan: "opusplan";
|
|
223
|
+
}>,
|
|
224
|
+
z.ZodString,
|
|
225
|
+
]
|
|
226
|
+
>
|
|
227
|
+
>;
|
|
228
|
+
budget: z.ZodOptional<
|
|
229
|
+
z.ZodObject<
|
|
230
|
+
{
|
|
231
|
+
dailyUsd: z.ZodOptional<z.ZodNumber>;
|
|
232
|
+
weeklyUsd: z.ZodOptional<z.ZodNumber>;
|
|
233
|
+
monthlyUsd: z.ZodOptional<z.ZodNumber>;
|
|
234
|
+
},
|
|
235
|
+
z.core.$strip
|
|
236
|
+
>
|
|
237
|
+
>;
|
|
238
|
+
maxFeedbackRounds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
239
|
+
pipeline: z.ZodOptional<
|
|
240
|
+
z.ZodObject<
|
|
241
|
+
{
|
|
242
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
243
|
+
planModel: z.ZodDefault<
|
|
244
|
+
z.ZodUnion<
|
|
245
|
+
readonly [
|
|
246
|
+
z.ZodEnum<{
|
|
247
|
+
default: "default";
|
|
248
|
+
sonnet: "sonnet";
|
|
249
|
+
opus: "opus";
|
|
250
|
+
haiku: "haiku";
|
|
251
|
+
opusplan: "opusplan";
|
|
252
|
+
}>,
|
|
253
|
+
z.ZodString,
|
|
254
|
+
]
|
|
255
|
+
>
|
|
256
|
+
>;
|
|
257
|
+
implementModel: z.ZodDefault<
|
|
258
|
+
z.ZodUnion<
|
|
259
|
+
readonly [
|
|
260
|
+
z.ZodEnum<{
|
|
261
|
+
default: "default";
|
|
262
|
+
sonnet: "sonnet";
|
|
263
|
+
opus: "opus";
|
|
264
|
+
haiku: "haiku";
|
|
265
|
+
opusplan: "opusplan";
|
|
266
|
+
}>,
|
|
267
|
+
z.ZodString,
|
|
268
|
+
]
|
|
269
|
+
>
|
|
270
|
+
>;
|
|
271
|
+
reviewModel: z.ZodDefault<
|
|
272
|
+
z.ZodUnion<
|
|
273
|
+
readonly [
|
|
274
|
+
z.ZodEnum<{
|
|
275
|
+
default: "default";
|
|
276
|
+
sonnet: "sonnet";
|
|
277
|
+
opus: "opus";
|
|
278
|
+
haiku: "haiku";
|
|
279
|
+
opusplan: "opusplan";
|
|
280
|
+
}>,
|
|
281
|
+
z.ZodString,
|
|
282
|
+
]
|
|
283
|
+
>
|
|
284
|
+
>;
|
|
285
|
+
maxReviewRounds: z.ZodDefault<z.ZodNumber>;
|
|
286
|
+
},
|
|
287
|
+
z.core.$strip
|
|
288
|
+
>
|
|
289
|
+
>;
|
|
290
|
+
},
|
|
291
|
+
z.core.$strip
|
|
292
|
+
>;
|
|
203
293
|
type JobConfig = z.infer<typeof JobConfigSchema>;
|
|
204
294
|
interface ScheduleInfo {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
295
|
+
cron: string;
|
|
296
|
+
timezone: string;
|
|
297
|
+
humanReadable: string;
|
|
298
|
+
nextRuns: Date[];
|
|
209
299
|
}
|
|
210
300
|
|
|
211
301
|
/**
|
|
@@ -268,7 +358,10 @@ declare function readJob(jobId: string): Promise<JobConfig>;
|
|
|
268
358
|
* Update specified fields of a job config while preserving YAML comments.
|
|
269
359
|
* Validates the result before writing. Rejects invalid updates.
|
|
270
360
|
*/
|
|
271
|
-
declare function updateJob(
|
|
361
|
+
declare function updateJob(
|
|
362
|
+
jobId: string,
|
|
363
|
+
updates: Partial<Omit<JobConfig, "id">>,
|
|
364
|
+
): Promise<JobConfig>;
|
|
272
365
|
/**
|
|
273
366
|
* Delete a job and its entire directory.
|
|
274
367
|
* Idempotent: does not throw if the job doesn't exist.
|
|
@@ -301,89 +394,97 @@ declare function getNextRuns(cronExpr: string, timezone: string, count?: number)
|
|
|
301
394
|
declare function validateAndDescribeSchedule(cronExpr: string, timezone: string): ScheduleInfo;
|
|
302
395
|
|
|
303
396
|
interface SpawnOptions {
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
397
|
+
cwd: string;
|
|
398
|
+
prompt: string;
|
|
399
|
+
maxTurns: number;
|
|
400
|
+
maxBudgetUsd: number;
|
|
401
|
+
allowedTools: string[];
|
|
402
|
+
appendSystemPrompt?: string;
|
|
403
|
+
model?: string;
|
|
404
|
+
env?: Record<string, string>;
|
|
312
405
|
}
|
|
313
406
|
interface SpawnResult {
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
407
|
+
success: boolean;
|
|
408
|
+
result: string;
|
|
409
|
+
summary: string;
|
|
410
|
+
sessionId: string;
|
|
411
|
+
costUsd: number;
|
|
412
|
+
numTurns: number;
|
|
413
|
+
durationMs: number;
|
|
414
|
+
isError: boolean;
|
|
415
|
+
subtype: string;
|
|
416
|
+
errors?: string[];
|
|
324
417
|
}
|
|
325
|
-
type RunStatus =
|
|
418
|
+
type RunStatus =
|
|
419
|
+
| "success"
|
|
420
|
+
| "no-changes"
|
|
421
|
+
| "error"
|
|
422
|
+
| "locked"
|
|
423
|
+
| "git-error"
|
|
424
|
+
| "paused"
|
|
425
|
+
| "budget-exceeded"
|
|
426
|
+
| "needs-human-review"
|
|
427
|
+
| "merge-conflict";
|
|
326
428
|
interface RunResult {
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
}
|
|
351
|
-
interface RunLogEntry extends RunResult {
|
|
429
|
+
status: RunStatus;
|
|
430
|
+
jobId: string;
|
|
431
|
+
runId: string;
|
|
432
|
+
startedAt: string;
|
|
433
|
+
completedAt: string;
|
|
434
|
+
durationMs: number;
|
|
435
|
+
prUrl?: string;
|
|
436
|
+
summary?: string;
|
|
437
|
+
costUsd?: number;
|
|
438
|
+
numTurns?: number;
|
|
439
|
+
sessionId?: string;
|
|
440
|
+
error?: string;
|
|
441
|
+
branchName?: string;
|
|
442
|
+
issueNumber?: number;
|
|
443
|
+
model?: string;
|
|
444
|
+
feedbackRound?: number;
|
|
445
|
+
prNumber?: number;
|
|
446
|
+
pipelineStages?: Array<{
|
|
447
|
+
stage: string;
|
|
448
|
+
costUsd: number;
|
|
449
|
+
durationMs: number;
|
|
450
|
+
numTurns: number;
|
|
451
|
+
}>;
|
|
352
452
|
}
|
|
453
|
+
interface RunLogEntry extends RunResult {}
|
|
353
454
|
interface ReviewThread {
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
455
|
+
id: string;
|
|
456
|
+
isResolved: boolean;
|
|
457
|
+
comments: Array<{
|
|
458
|
+
body: string;
|
|
459
|
+
author: {
|
|
460
|
+
login: string;
|
|
461
|
+
};
|
|
462
|
+
}>;
|
|
362
463
|
}
|
|
363
464
|
interface PRFeedbackContext {
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
465
|
+
number: number;
|
|
466
|
+
title: string;
|
|
467
|
+
headRefName: string;
|
|
468
|
+
url: string;
|
|
469
|
+
reviewDecision: string;
|
|
470
|
+
unresolvedThreads: ReviewThread[];
|
|
471
|
+
currentRound: number;
|
|
371
472
|
}
|
|
372
473
|
interface PipelineStageResult {
|
|
373
|
-
|
|
374
|
-
|
|
474
|
+
stage: "plan" | "implement" | "review" | "fix";
|
|
475
|
+
spawnResult: SpawnResult;
|
|
375
476
|
}
|
|
376
477
|
interface PipelineResult {
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
478
|
+
stages: PipelineStageResult[];
|
|
479
|
+
reviewVerdict: "pass" | "fail" | "skipped";
|
|
480
|
+
totalCostUsd: number;
|
|
481
|
+
totalDurationMs: number;
|
|
482
|
+
summary: string;
|
|
382
483
|
}
|
|
383
484
|
interface RebaseResult {
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
485
|
+
diverged: boolean;
|
|
486
|
+
rebased: boolean;
|
|
487
|
+
conflicts: string[];
|
|
387
488
|
}
|
|
388
489
|
|
|
389
490
|
/**
|
|
@@ -394,29 +495,37 @@ interface RebaseResult {
|
|
|
394
495
|
*/
|
|
395
496
|
declare function sendNotifications(config: JobConfig, result: RunResult): Promise<void>;
|
|
396
497
|
|
|
397
|
-
type NotificationEvent =
|
|
498
|
+
type NotificationEvent =
|
|
499
|
+
| "success"
|
|
500
|
+
| "no-changes"
|
|
501
|
+
| "error"
|
|
502
|
+
| "locked"
|
|
503
|
+
| "git-error"
|
|
504
|
+
| "budget-exceeded"
|
|
505
|
+
| "merge-conflict"
|
|
506
|
+
| "needs-human-review";
|
|
398
507
|
interface NotificationPayload {
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
508
|
+
event: NotificationEvent;
|
|
509
|
+
jobId: string;
|
|
510
|
+
jobName: string;
|
|
511
|
+
runId: string;
|
|
512
|
+
repoPath: string;
|
|
513
|
+
branch: string;
|
|
514
|
+
startedAt: string;
|
|
515
|
+
completedAt: string;
|
|
516
|
+
durationMs: number;
|
|
517
|
+
prUrl?: string;
|
|
518
|
+
summary?: string;
|
|
519
|
+
costUsd?: number;
|
|
520
|
+
numTurns?: number;
|
|
521
|
+
error?: string;
|
|
522
|
+
branchName?: string;
|
|
414
523
|
}
|
|
415
524
|
interface EventTriggers {
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
525
|
+
onSuccess?: boolean;
|
|
526
|
+
onFailure?: boolean;
|
|
527
|
+
onNoChanges?: boolean;
|
|
528
|
+
onLocked?: boolean;
|
|
420
529
|
}
|
|
421
530
|
/**
|
|
422
531
|
* Determines whether a notification should be sent for a given run status
|
|
@@ -458,13 +567,13 @@ declare function formatTelegram(payload: NotificationPayload, chatId: string): o
|
|
|
458
567
|
*/
|
|
459
568
|
declare function extractIssueNumber(text: string): number | undefined;
|
|
460
569
|
interface PostIssueCommentOptions {
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
570
|
+
repoPath: string;
|
|
571
|
+
issueNumber: number;
|
|
572
|
+
status: RunStatus;
|
|
573
|
+
prUrl?: string;
|
|
574
|
+
summary?: string;
|
|
575
|
+
error?: string;
|
|
576
|
+
jobName: string;
|
|
468
577
|
}
|
|
469
578
|
/**
|
|
470
579
|
* Post a comment on a GitHub issue about the run result.
|
|
@@ -475,15 +584,15 @@ interface PostIssueCommentOptions {
|
|
|
475
584
|
declare function postIssueComment(options: PostIssueCommentOptions): Promise<void>;
|
|
476
585
|
|
|
477
586
|
interface RegisteredJob {
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
587
|
+
jobId: string;
|
|
588
|
+
schedule: string;
|
|
589
|
+
command: string;
|
|
481
590
|
}
|
|
482
591
|
interface Scheduler {
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
592
|
+
register(job: JobConfig, env?: Record<string, string>): Promise<void>;
|
|
593
|
+
unregister(jobId: string): Promise<void>;
|
|
594
|
+
isRegistered(jobId: string): Promise<boolean>;
|
|
595
|
+
list(): Promise<RegisteredJob[]>;
|
|
487
596
|
}
|
|
488
597
|
/**
|
|
489
598
|
* Factory function that returns the correct Scheduler implementation
|
|
@@ -497,10 +606,10 @@ declare function createScheduler(): Promise<Scheduler>;
|
|
|
497
606
|
* Uses comment-tagged crontab entries for identification and CRUD.
|
|
498
607
|
*/
|
|
499
608
|
declare class CrontabScheduler implements Scheduler {
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
609
|
+
register(job: JobConfig, _env?: Record<string, string>): Promise<void>;
|
|
610
|
+
unregister(jobId: string): Promise<void>;
|
|
611
|
+
isRegistered(jobId: string): Promise<boolean>;
|
|
612
|
+
list(): Promise<RegisteredJob[]>;
|
|
504
613
|
}
|
|
505
614
|
|
|
506
615
|
type Platform = "linux" | "darwin" | "win32";
|
|
@@ -511,11 +620,11 @@ type Platform = "linux" | "darwin" | "win32";
|
|
|
511
620
|
declare function detectPlatform(): Platform;
|
|
512
621
|
|
|
513
622
|
interface CalendarInterval {
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
623
|
+
Month?: number;
|
|
624
|
+
Day?: number;
|
|
625
|
+
Weekday?: number;
|
|
626
|
+
Hour?: number;
|
|
627
|
+
Minute?: number;
|
|
519
628
|
}
|
|
520
629
|
/**
|
|
521
630
|
* Convert a 5-field cron expression to launchd scheduling config.
|
|
@@ -526,23 +635,23 @@ interface CalendarInterval {
|
|
|
526
635
|
* Throws if the expression would produce more than 50 calendar intervals.
|
|
527
636
|
*/
|
|
528
637
|
declare function cronToCalendarIntervals(cronExpr: string): {
|
|
529
|
-
|
|
530
|
-
|
|
638
|
+
calendarIntervals?: CalendarInterval[];
|
|
639
|
+
startInterval?: number;
|
|
531
640
|
};
|
|
532
641
|
/**
|
|
533
642
|
* LaunchdScheduler implements the Scheduler interface for macOS.
|
|
534
643
|
* Uses plist files in ~/Library/LaunchAgents/ and modern launchctl bootstrap/bootout.
|
|
535
644
|
*/
|
|
536
645
|
declare class LaunchdScheduler implements Scheduler {
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
646
|
+
register(job: JobConfig, env?: Record<string, string>): Promise<void>;
|
|
647
|
+
unregister(jobId: string): Promise<void>;
|
|
648
|
+
isRegistered(jobId: string): Promise<boolean>;
|
|
649
|
+
list(): Promise<RegisteredJob[]>;
|
|
541
650
|
}
|
|
542
651
|
|
|
543
652
|
interface SchtasksSchedule {
|
|
544
|
-
|
|
545
|
-
|
|
653
|
+
args: string[];
|
|
654
|
+
description: string;
|
|
546
655
|
}
|
|
547
656
|
/**
|
|
548
657
|
* Translate a 5-field cron expression into schtasks /SC schedule parameters.
|
|
@@ -565,10 +674,10 @@ declare function cronToSchtasks(cronExpr: string): SchtasksSchedule;
|
|
|
565
674
|
* Task name format: `claude-auto-{jobId}`
|
|
566
675
|
*/
|
|
567
676
|
declare class SchtasksScheduler implements Scheduler {
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
677
|
+
register(job: JobConfig, _env?: Record<string, string>): Promise<void>;
|
|
678
|
+
unregister(jobId: string): Promise<void>;
|
|
679
|
+
isRegistered(jobId: string): Promise<boolean>;
|
|
680
|
+
list(): Promise<RegisteredJob[]>;
|
|
572
681
|
}
|
|
573
682
|
|
|
574
683
|
/**
|
|
@@ -576,13 +685,13 @@ declare class SchtasksScheduler implements Scheduler {
|
|
|
576
685
|
* (issue numbers, PR URLs, branch names) -- never raw narrative summaries.
|
|
577
686
|
*/
|
|
578
687
|
interface RunContext {
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
688
|
+
id: string;
|
|
689
|
+
status: string;
|
|
690
|
+
pr_url: string | null;
|
|
691
|
+
branch_name: string | null;
|
|
692
|
+
issue_number: number | null;
|
|
693
|
+
summary: string | null;
|
|
694
|
+
started_at: string;
|
|
586
695
|
}
|
|
587
696
|
/**
|
|
588
697
|
* Persist a run log entry to the SQLite database.
|
|
@@ -617,28 +726,28 @@ declare function formatContextWindow(context: RunContext[]): string;
|
|
|
617
726
|
* before spawning a new run.
|
|
618
727
|
*/
|
|
619
728
|
interface BudgetConfig {
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
729
|
+
dailyUsd?: number;
|
|
730
|
+
weeklyUsd?: number;
|
|
731
|
+
monthlyUsd?: number;
|
|
623
732
|
}
|
|
624
733
|
/**
|
|
625
734
|
* Per-job cost summary row returned by getCostSummary() when no jobId is specified.
|
|
626
735
|
*/
|
|
627
736
|
interface CostSummaryRow {
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
737
|
+
job_id: string;
|
|
738
|
+
runs: number;
|
|
739
|
+
total_cost: number;
|
|
740
|
+
avg_cost: number;
|
|
741
|
+
total_turns: number;
|
|
633
742
|
}
|
|
634
743
|
/**
|
|
635
744
|
* Per-day cost breakdown row returned by getCostSummary(jobId).
|
|
636
745
|
*/
|
|
637
746
|
interface DailyCostRow {
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
747
|
+
day: string;
|
|
748
|
+
runs: number;
|
|
749
|
+
total_cost: number;
|
|
750
|
+
total_turns: number;
|
|
642
751
|
}
|
|
643
752
|
/**
|
|
644
753
|
* Check whether cumulative cost for a job exceeds any configured budget cap.
|
|
@@ -697,7 +806,13 @@ declare function checkoutExistingBranch(repoPath: string, branchName: string): P
|
|
|
697
806
|
* Create a pull request via GitHub CLI.
|
|
698
807
|
* Returns the PR URL.
|
|
699
808
|
*/
|
|
700
|
-
declare function createPR(
|
|
809
|
+
declare function createPR(
|
|
810
|
+
repoPath: string,
|
|
811
|
+
branchName: string,
|
|
812
|
+
baseBranch: string,
|
|
813
|
+
title: string,
|
|
814
|
+
body: string,
|
|
815
|
+
): Promise<string>;
|
|
701
816
|
/**
|
|
702
817
|
* Check if the target branch has diverged from the current branch.
|
|
703
818
|
* Fetches the remote base branch first, then uses git merge-base --is-ancestor
|
|
@@ -705,13 +820,21 @@ declare function createPR(repoPath: string, branchName: string, baseBranch: stri
|
|
|
705
820
|
*
|
|
706
821
|
* @returns true if diverged (remote base has commits not in current branch), false otherwise
|
|
707
822
|
*/
|
|
708
|
-
declare function checkDivergence(
|
|
823
|
+
declare function checkDivergence(
|
|
824
|
+
repoPath: string,
|
|
825
|
+
baseBranch: string,
|
|
826
|
+
remote: string,
|
|
827
|
+
): Promise<boolean>;
|
|
709
828
|
/**
|
|
710
829
|
* Attempt to rebase the current branch onto the remote base branch.
|
|
711
830
|
* First checks for divergence; if not diverged, returns early.
|
|
712
831
|
* If diverged, attempts rebase. On conflict, aborts cleanly and returns conflict list.
|
|
713
832
|
*/
|
|
714
|
-
declare function attemptRebase(
|
|
833
|
+
declare function attemptRebase(
|
|
834
|
+
repoPath: string,
|
|
835
|
+
baseBranch: string,
|
|
836
|
+
remote: string,
|
|
837
|
+
): Promise<RebaseResult>;
|
|
715
838
|
/**
|
|
716
839
|
* Get the diff between the base branch and HEAD.
|
|
717
840
|
* Best-effort: returns empty string on error.
|
|
@@ -723,12 +846,12 @@ declare function getDiffFromBase(repoPath: string, baseBranch: string): Promise<
|
|
|
723
846
|
* Body is truncated to 1000 chars to reduce token usage.
|
|
724
847
|
*/
|
|
725
848
|
interface ScoredIssue {
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
849
|
+
number: number;
|
|
850
|
+
title: string;
|
|
851
|
+
body: string;
|
|
852
|
+
labels: string[];
|
|
853
|
+
score: number;
|
|
854
|
+
skipReason?: string;
|
|
732
855
|
}
|
|
733
856
|
/**
|
|
734
857
|
* Triage GitHub issues for a repository by scoring and filtering them
|
|
@@ -818,7 +941,13 @@ declare function executeRun(jobId: string): Promise<RunResult>;
|
|
|
818
941
|
* @param triaged - Pre-scored issues from triage
|
|
819
942
|
* @returns PipelineResult with all stage results aggregated
|
|
820
943
|
*/
|
|
821
|
-
declare function runPipeline(
|
|
944
|
+
declare function runPipeline(
|
|
945
|
+
config: JobConfig,
|
|
946
|
+
repoPath: string,
|
|
947
|
+
_branchName: string,
|
|
948
|
+
runContext: RunContext[],
|
|
949
|
+
triaged: ScoredIssue[],
|
|
950
|
+
): Promise<PipelineResult>;
|
|
822
951
|
|
|
823
952
|
/**
|
|
824
953
|
* Build a read-only tool set for plan and review stages.
|
|
@@ -839,7 +968,11 @@ declare function buildReadOnlyTools(_config: JobConfig): string[];
|
|
|
839
968
|
* @param context - Prior run context for duplicate avoidance
|
|
840
969
|
* @returns Multi-section plan prompt string
|
|
841
970
|
*/
|
|
842
|
-
declare function buildPlanPrompt(
|
|
971
|
+
declare function buildPlanPrompt(
|
|
972
|
+
config: JobConfig,
|
|
973
|
+
triaged: ScoredIssue[],
|
|
974
|
+
context: RunContext[],
|
|
975
|
+
): string;
|
|
843
976
|
/**
|
|
844
977
|
* Build the system prompt for the PLAN stage.
|
|
845
978
|
*
|
|
@@ -857,7 +990,11 @@ declare function buildPlanSystemPrompt(config: JobConfig): string;
|
|
|
857
990
|
* @param context - Prior run context for duplicate avoidance
|
|
858
991
|
* @returns Multi-section implement prompt string
|
|
859
992
|
*/
|
|
860
|
-
declare function buildImplementPrompt(
|
|
993
|
+
declare function buildImplementPrompt(
|
|
994
|
+
config: JobConfig,
|
|
995
|
+
planResult: SpawnResult,
|
|
996
|
+
context: RunContext[],
|
|
997
|
+
): string;
|
|
861
998
|
/**
|
|
862
999
|
* Build the system prompt for the IMPLEMENT stage.
|
|
863
1000
|
*
|
|
@@ -874,7 +1011,11 @@ declare function buildImplementSystemPrompt(config: JobConfig): string;
|
|
|
874
1011
|
* @param diffOutput - Git diff of implementation changes
|
|
875
1012
|
* @returns Multi-section review prompt string
|
|
876
1013
|
*/
|
|
877
|
-
declare function buildReviewPrompt(
|
|
1014
|
+
declare function buildReviewPrompt(
|
|
1015
|
+
_config: JobConfig,
|
|
1016
|
+
planText: string,
|
|
1017
|
+
diffOutput: string,
|
|
1018
|
+
): string;
|
|
878
1019
|
/**
|
|
879
1020
|
* Build the system prompt for the REVIEW stage.
|
|
880
1021
|
*
|
|
@@ -914,11 +1055,11 @@ declare function parseReviewVerdict(reviewResult: SpawnResult): "pass" | "fail";
|
|
|
914
1055
|
* Not exported -- external consumers use PRFeedbackContext.
|
|
915
1056
|
*/
|
|
916
1057
|
interface PRWithFeedback {
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
1058
|
+
number: number;
|
|
1059
|
+
title: string;
|
|
1060
|
+
headRefName: string;
|
|
1061
|
+
reviewDecision: string;
|
|
1062
|
+
url: string;
|
|
922
1063
|
}
|
|
923
1064
|
/**
|
|
924
1065
|
* List open PRs authored by the current user that match this job's branch prefix.
|
|
@@ -928,7 +1069,10 @@ interface PRWithFeedback {
|
|
|
928
1069
|
* @param jobId - Job identifier used to filter branches by prefix
|
|
929
1070
|
* @returns Array of PRs matching the claude-auto/{jobId}/ branch prefix
|
|
930
1071
|
*/
|
|
931
|
-
declare function listOpenPRsWithFeedback(
|
|
1072
|
+
declare function listOpenPRsWithFeedback(
|
|
1073
|
+
repoPath: string,
|
|
1074
|
+
jobId: string,
|
|
1075
|
+
): Promise<PRWithFeedback[]>;
|
|
932
1076
|
/**
|
|
933
1077
|
* Get the owner and name of the repository from `gh repo view`.
|
|
934
1078
|
*
|
|
@@ -936,8 +1080,8 @@ declare function listOpenPRsWithFeedback(repoPath: string, jobId: string): Promi
|
|
|
936
1080
|
* @returns Object with owner (login) and name of the repository
|
|
937
1081
|
*/
|
|
938
1082
|
declare function getRepoOwnerName(repoPath: string): Promise<{
|
|
939
|
-
|
|
940
|
-
|
|
1083
|
+
owner: string;
|
|
1084
|
+
name: string;
|
|
941
1085
|
}>;
|
|
942
1086
|
/**
|
|
943
1087
|
* Fetch unresolved review threads for a PR using the GitHub GraphQL API.
|
|
@@ -985,7 +1129,11 @@ declare function getFeedbackRound(jobId: string, prNumber: number): number;
|
|
|
985
1129
|
* @param maxRounds - Maximum number of feedback rounds allowed
|
|
986
1130
|
* @returns PRFeedbackContext if there's actionable feedback, null otherwise
|
|
987
1131
|
*/
|
|
988
|
-
declare function checkPendingPRFeedback(
|
|
1132
|
+
declare function checkPendingPRFeedback(
|
|
1133
|
+
repoPath: string,
|
|
1134
|
+
jobId: string,
|
|
1135
|
+
maxRounds: number,
|
|
1136
|
+
): Promise<PRFeedbackContext | null>;
|
|
989
1137
|
|
|
990
1138
|
/**
|
|
991
1139
|
* Build the system prompt for Claude, including research instructions
|
|
@@ -1020,7 +1168,11 @@ declare function buildWorkPrompt(config: JobConfig, context?: RunContext[]): str
|
|
|
1020
1168
|
* @param context - Optional array of prior run context
|
|
1021
1169
|
* @returns Multi-section feedback prompt string
|
|
1022
1170
|
*/
|
|
1023
|
-
declare function buildFeedbackPrompt(
|
|
1171
|
+
declare function buildFeedbackPrompt(
|
|
1172
|
+
config: JobConfig,
|
|
1173
|
+
feedback: PRFeedbackContext,
|
|
1174
|
+
context?: RunContext[],
|
|
1175
|
+
): string;
|
|
1024
1176
|
/**
|
|
1025
1177
|
* Build a work prompt enhanced with pre-triaged issue candidates.
|
|
1026
1178
|
*
|
|
@@ -1033,7 +1185,11 @@ declare function buildFeedbackPrompt(config: JobConfig, feedback: PRFeedbackCont
|
|
|
1033
1185
|
* @param context - Optional array of prior run context
|
|
1034
1186
|
* @returns Multi-section work prompt string
|
|
1035
1187
|
*/
|
|
1036
|
-
declare function buildTriagedWorkPrompt(
|
|
1188
|
+
declare function buildTriagedWorkPrompt(
|
|
1189
|
+
config: JobConfig,
|
|
1190
|
+
triaged: ScoredIssue[],
|
|
1191
|
+
context?: RunContext[],
|
|
1192
|
+
): string;
|
|
1037
1193
|
|
|
1038
1194
|
/**
|
|
1039
1195
|
* Build the list of allowed tools for Claude based on job config guardrails.
|
|
@@ -1060,78 +1216,218 @@ declare function spawnClaude(options: SpawnOptions): Promise<SpawnResult>;
|
|
|
1060
1216
|
declare function launchDashboard(): Promise<void>;
|
|
1061
1217
|
|
|
1062
1218
|
declare class ConfigParseError extends Error {
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1219
|
+
readonly filePath: string;
|
|
1220
|
+
readonly parseErrors: Array<{
|
|
1221
|
+
message: string;
|
|
1222
|
+
}>;
|
|
1223
|
+
name: "ConfigParseError";
|
|
1224
|
+
constructor(
|
|
1225
|
+
filePath: string,
|
|
1226
|
+
parseErrors: Array<{
|
|
1227
|
+
message: string;
|
|
1228
|
+
}>,
|
|
1229
|
+
);
|
|
1071
1230
|
}
|
|
1072
1231
|
declare class ConfigValidationError extends Error {
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1232
|
+
readonly filePath: string;
|
|
1233
|
+
readonly validationMessage: string;
|
|
1234
|
+
name: "ConfigValidationError";
|
|
1235
|
+
constructor(filePath: string, validationMessage: string);
|
|
1077
1236
|
}
|
|
1078
1237
|
declare class SchedulerError extends Error {
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1238
|
+
readonly platform: string;
|
|
1239
|
+
readonly cause?: Error | undefined;
|
|
1240
|
+
name: "SchedulerError";
|
|
1241
|
+
constructor(platform: string, message: string, cause?: Error | undefined);
|
|
1083
1242
|
}
|
|
1084
1243
|
declare class CronValidationError extends Error {
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1244
|
+
readonly expression: string;
|
|
1245
|
+
name: "CronValidationError";
|
|
1246
|
+
constructor(expression: string, message: string);
|
|
1088
1247
|
}
|
|
1089
1248
|
declare class GitOpsError extends Error {
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1249
|
+
readonly operation: string;
|
|
1250
|
+
readonly repoPath: string;
|
|
1251
|
+
readonly cause?: Error | undefined;
|
|
1252
|
+
name: "GitOpsError";
|
|
1253
|
+
constructor(operation: string, repoPath: string, message: string, cause?: Error | undefined);
|
|
1095
1254
|
}
|
|
1096
1255
|
declare class LockError extends Error {
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1256
|
+
readonly jobId: string;
|
|
1257
|
+
name: "LockError";
|
|
1258
|
+
constructor(jobId: string, message: string);
|
|
1100
1259
|
}
|
|
1101
1260
|
declare class SpawnError extends Error {
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1261
|
+
readonly exitCode?: number | undefined;
|
|
1262
|
+
name: "SpawnError";
|
|
1263
|
+
constructor(message: string, exitCode?: number | undefined);
|
|
1105
1264
|
}
|
|
1106
1265
|
|
|
1107
1266
|
interface ExecResult {
|
|
1108
|
-
|
|
1109
|
-
|
|
1267
|
+
stdout: string;
|
|
1268
|
+
stderr: string;
|
|
1110
1269
|
}
|
|
1111
1270
|
/**
|
|
1112
1271
|
* Execute a command and return stdout/stderr.
|
|
1113
1272
|
* Throws if the command exits with non-zero status.
|
|
1114
1273
|
*/
|
|
1115
|
-
declare function execCommand(
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1274
|
+
declare function execCommand(
|
|
1275
|
+
command: string,
|
|
1276
|
+
args: string[],
|
|
1277
|
+
options?: {
|
|
1278
|
+
stdin?: string;
|
|
1279
|
+
cwd?: string;
|
|
1280
|
+
},
|
|
1281
|
+
): Promise<ExecResult>;
|
|
1119
1282
|
|
|
1120
1283
|
declare function writeFileSafe(filePath: string, content: string): Promise<void>;
|
|
1121
1284
|
|
|
1122
1285
|
declare const paths: {
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1286
|
+
readonly base: string;
|
|
1287
|
+
readonly jobs: string;
|
|
1288
|
+
readonly jobDir: (jobId: string) => string;
|
|
1289
|
+
readonly jobConfig: (jobId: string) => string;
|
|
1290
|
+
readonly logs: string;
|
|
1291
|
+
readonly jobLogs: (jobId: string) => string;
|
|
1292
|
+
readonly jobLog: (jobId: string, runId: string) => string;
|
|
1293
|
+
readonly jobLock: (jobId: string) => string;
|
|
1294
|
+
readonly plistDir: string;
|
|
1295
|
+
readonly plistPath: (jobId: string) => string;
|
|
1296
|
+
readonly crontabLock: string;
|
|
1297
|
+
readonly database: string;
|
|
1135
1298
|
};
|
|
1136
1299
|
|
|
1137
|
-
export {
|
|
1300
|
+
export {
|
|
1301
|
+
type BudgetConfig,
|
|
1302
|
+
COMMANDS,
|
|
1303
|
+
type CalendarInterval,
|
|
1304
|
+
type CliCommand,
|
|
1305
|
+
type CommandHandler,
|
|
1306
|
+
ConfigParseError,
|
|
1307
|
+
ConfigValidationError,
|
|
1308
|
+
type CostSummaryRow,
|
|
1309
|
+
CronValidationError,
|
|
1310
|
+
CrontabScheduler,
|
|
1311
|
+
type DailyCostRow,
|
|
1312
|
+
type EventTriggers,
|
|
1313
|
+
GitOpsError,
|
|
1314
|
+
type JobConfig,
|
|
1315
|
+
JobConfigSchema,
|
|
1316
|
+
LaunchdScheduler,
|
|
1317
|
+
LockError,
|
|
1318
|
+
type NotificationEvent,
|
|
1319
|
+
type NotificationPayload,
|
|
1320
|
+
type PRFeedbackContext,
|
|
1321
|
+
type ParsedCommand,
|
|
1322
|
+
type PipelineResult,
|
|
1323
|
+
type PipelineStageResult,
|
|
1324
|
+
type Platform,
|
|
1325
|
+
type RebaseResult,
|
|
1326
|
+
type RegisteredJob,
|
|
1327
|
+
type ReviewThread,
|
|
1328
|
+
type RunContext,
|
|
1329
|
+
type RunLogEntry,
|
|
1330
|
+
type RunResult,
|
|
1331
|
+
type RunStatus,
|
|
1332
|
+
STALE_THRESHOLD,
|
|
1333
|
+
type ScheduleInfo,
|
|
1334
|
+
type Scheduler,
|
|
1335
|
+
SchedulerError,
|
|
1336
|
+
SchtasksScheduler,
|
|
1337
|
+
type ScoredIssue,
|
|
1338
|
+
SpawnError,
|
|
1339
|
+
type SpawnOptions,
|
|
1340
|
+
type SpawnResult,
|
|
1341
|
+
acquireLock,
|
|
1342
|
+
attemptRebase,
|
|
1343
|
+
buildAllowedTools,
|
|
1344
|
+
buildFeedbackPrompt,
|
|
1345
|
+
buildFixPrompt,
|
|
1346
|
+
buildFixSystemPrompt,
|
|
1347
|
+
buildImplementPrompt,
|
|
1348
|
+
buildImplementSystemPrompt,
|
|
1349
|
+
buildPayload,
|
|
1350
|
+
buildPlanPrompt,
|
|
1351
|
+
buildPlanSystemPrompt,
|
|
1352
|
+
buildReadOnlyTools,
|
|
1353
|
+
buildReviewPrompt,
|
|
1354
|
+
buildReviewSystemPrompt,
|
|
1355
|
+
buildSystemPrompt,
|
|
1356
|
+
buildTriagedWorkPrompt,
|
|
1357
|
+
buildWorkPrompt,
|
|
1358
|
+
checkBudget,
|
|
1359
|
+
checkDivergence,
|
|
1360
|
+
checkPendingPRFeedback,
|
|
1361
|
+
checkRepoCommand,
|
|
1362
|
+
checkoutExistingBranch,
|
|
1363
|
+
closeDatabase,
|
|
1364
|
+
costCommand,
|
|
1365
|
+
createBranch,
|
|
1366
|
+
createCommand,
|
|
1367
|
+
createJob,
|
|
1368
|
+
createPR,
|
|
1369
|
+
createScheduler,
|
|
1370
|
+
cronToCalendarIntervals,
|
|
1371
|
+
cronToSchtasks,
|
|
1372
|
+
deleteJob,
|
|
1373
|
+
describeSchedule,
|
|
1374
|
+
detectPlatform,
|
|
1375
|
+
editCommand,
|
|
1376
|
+
execCommand,
|
|
1377
|
+
executeRun,
|
|
1378
|
+
extractIssueNumber,
|
|
1379
|
+
formatContextWindow,
|
|
1380
|
+
formatDiscord,
|
|
1381
|
+
formatDuration,
|
|
1382
|
+
formatRelativeTime,
|
|
1383
|
+
formatSlack,
|
|
1384
|
+
formatTable,
|
|
1385
|
+
formatTelegram,
|
|
1386
|
+
getCostSummary,
|
|
1387
|
+
getDatabase,
|
|
1388
|
+
getDiffFromBase,
|
|
1389
|
+
getFeedbackRound,
|
|
1390
|
+
getNextRuns,
|
|
1391
|
+
getRepoOwnerName,
|
|
1392
|
+
getUnresolvedThreads,
|
|
1393
|
+
hasChanges,
|
|
1394
|
+
launchDashboard,
|
|
1395
|
+
listCommand,
|
|
1396
|
+
listJobs,
|
|
1397
|
+
listOpenPRsWithFeedback,
|
|
1398
|
+
listRunLogs,
|
|
1399
|
+
loadJobConfig,
|
|
1400
|
+
loadRunContext,
|
|
1401
|
+
logsCommand,
|
|
1402
|
+
parseCommand,
|
|
1403
|
+
parseReviewVerdict,
|
|
1404
|
+
paths,
|
|
1405
|
+
pauseCommand,
|
|
1406
|
+
postIssueComment,
|
|
1407
|
+
postPRComment,
|
|
1408
|
+
pullLatest,
|
|
1409
|
+
pushBranch,
|
|
1410
|
+
readConfigDocument,
|
|
1411
|
+
readJob,
|
|
1412
|
+
readRunLog,
|
|
1413
|
+
removeCommand,
|
|
1414
|
+
reportCommand,
|
|
1415
|
+
resumeCommand,
|
|
1416
|
+
runCli,
|
|
1417
|
+
runPipeline,
|
|
1418
|
+
saveJobConfig,
|
|
1419
|
+
saveRunContext,
|
|
1420
|
+
sendNotifications,
|
|
1421
|
+
shouldNotify,
|
|
1422
|
+
spawnClaude,
|
|
1423
|
+
statusBadge,
|
|
1424
|
+
triageIssues,
|
|
1425
|
+
updateConfigField,
|
|
1426
|
+
updateJob,
|
|
1427
|
+
validateAndDescribeSchedule,
|
|
1428
|
+
validateConfig,
|
|
1429
|
+
validateCronExpression,
|
|
1430
|
+
writeConfigDocument,
|
|
1431
|
+
writeFileSafe,
|
|
1432
|
+
writeRunLog,
|
|
1433
|
+
};
|