@bradtaylorsf/alpha-loop 1.4.2 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +136 -3
  2. package/dist/cli.js +73 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/eval.d.ts +59 -4
  5. package/dist/commands/eval.js +370 -55
  6. package/dist/commands/eval.js.map +1 -1
  7. package/dist/commands/evolve.d.ts +43 -4
  8. package/dist/commands/evolve.js +444 -66
  9. package/dist/commands/evolve.js.map +1 -1
  10. package/dist/commands/init.js +3 -7
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/plan.d.ts +11 -0
  13. package/dist/commands/plan.js +298 -0
  14. package/dist/commands/plan.js.map +1 -0
  15. package/dist/commands/roadmap.d.ts +9 -0
  16. package/dist/commands/roadmap.js +202 -0
  17. package/dist/commands/roadmap.js.map +1 -0
  18. package/dist/commands/triage.d.ts +9 -0
  19. package/dist/commands/triage.js +226 -0
  20. package/dist/commands/triage.js.map +1 -0
  21. package/dist/commands/vision.js +1 -0
  22. package/dist/commands/vision.js.map +1 -1
  23. package/dist/lib/config.d.ts +20 -0
  24. package/dist/lib/config.js +55 -0
  25. package/dist/lib/config.js.map +1 -1
  26. package/dist/lib/eval-checks.d.ts +11 -1
  27. package/dist/lib/eval-checks.js +39 -0
  28. package/dist/lib/eval-checks.js.map +1 -1
  29. package/dist/lib/eval-fixtures.d.ts +55 -0
  30. package/dist/lib/eval-fixtures.js +172 -0
  31. package/dist/lib/eval-fixtures.js.map +1 -0
  32. package/dist/lib/eval-runner.d.ts +26 -2
  33. package/dist/lib/eval-runner.js +202 -17
  34. package/dist/lib/eval-runner.js.map +1 -1
  35. package/dist/lib/eval-skill-bridge.d.ts +53 -0
  36. package/dist/lib/eval-skill-bridge.js +121 -0
  37. package/dist/lib/eval-skill-bridge.js.map +1 -0
  38. package/dist/lib/eval-swebench.d.ts +68 -0
  39. package/dist/lib/eval-swebench.js +274 -0
  40. package/dist/lib/eval-swebench.js.map +1 -0
  41. package/dist/lib/eval.d.ts +9 -1
  42. package/dist/lib/eval.js +27 -7
  43. package/dist/lib/eval.js.map +1 -1
  44. package/dist/lib/github.d.ts +46 -0
  45. package/dist/lib/github.js +179 -0
  46. package/dist/lib/github.js.map +1 -1
  47. package/dist/lib/pipeline.js +44 -2
  48. package/dist/lib/pipeline.js.map +1 -1
  49. package/dist/lib/planning.d.ts +91 -0
  50. package/dist/lib/planning.js +315 -0
  51. package/dist/lib/planning.js.map +1 -0
  52. package/dist/lib/prompts.d.ts +79 -0
  53. package/dist/lib/prompts.js +151 -2
  54. package/dist/lib/prompts.js.map +1 -1
  55. package/dist/lib/score.d.ts +24 -2
  56. package/dist/lib/score.js +162 -3
  57. package/dist/lib/score.js.map +1 -1
  58. package/package.json +2 -1
@@ -0,0 +1,68 @@
1
+ /** Raw SWE-bench entry as provided by HuggingFace datasets. */
2
+ export type SwebenchEntry = {
3
+ instance_id: string;
4
+ repo: string;
5
+ base_commit: string;
6
+ problem_statement: string;
7
+ patch: string;
8
+ test_patch: string;
9
+ FAIL_TO_PASS: string;
10
+ PASS_TO_PASS: string;
11
+ version: string;
12
+ environment_setup_commit?: string;
13
+ };
14
+ /** Options for importing SWE-bench entries. */
15
+ export type ImportOptions = {
16
+ /** Path to a downloaded JSONL file. If not provided, auto-downloads. */
17
+ dataset?: string;
18
+ /** HuggingFace dataset ID (default: princeton-nlp/SWE-bench_Lite). */
19
+ datasetId?: string;
20
+ /** Maximum number of entries to import. */
21
+ count?: number;
22
+ /** Filter by repo (e.g. 'django/django'). */
23
+ repo?: string;
24
+ /** Import specific instance IDs (comma-separated). */
25
+ ids?: string;
26
+ /** Pipeline step to target (default: 'implement'). */
27
+ step?: string;
28
+ /** Project directory. */
29
+ projectDir?: string;
30
+ /** Eval directory override. */
31
+ evalDir?: string;
32
+ };
33
+ /**
34
+ * Download a SWE-bench dataset from HuggingFace and save as JSONL.
35
+ * Requires Python with the `datasets` library installed.
36
+ */
37
+ export declare function downloadDataset(datasetId: string, outputPath: string): void;
38
+ /**
39
+ * Read a JSONL file and parse SWE-bench entries.
40
+ * Supports filtering by repo, instance IDs, and count.
41
+ */
42
+ export declare function importFromJsonl(datasetPath: string, options?: Pick<ImportOptions, 'count' | 'repo' | 'ids'>): SwebenchEntry[];
43
+ /**
44
+ * Convert a SWE-bench entry into a directory-based eval case.
45
+ *
46
+ * Creates:
47
+ * .alpha-loop/evals/cases/e2e/swe-{sanitized-id}/
48
+ * ├── issue.md # From problem_statement
49
+ * ├── checks.yaml # FAIL_TO_PASS tests as acceptance criteria
50
+ * ├── metadata.yaml # repo, base_commit, instance_id, source: swe-bench
51
+ * └── reference.patch # The validated fix (for comparison, not shown to agent)
52
+ *
53
+ * Returns the path to the created case directory.
54
+ */
55
+ export declare function convertToEvalCase(entry: SwebenchEntry, projectDir?: string, evalDirOverride?: string, step?: string): string;
56
+ /**
57
+ * Update eval config.yaml with SWE-bench repo base commits.
58
+ */
59
+ export declare function updateEvalConfig(evalDirPath: string, entries: SwebenchEntry[]): void;
60
+ /**
61
+ * Run the full SWE-bench import pipeline.
62
+ * Returns the number of cases imported.
63
+ */
64
+ export declare function importSwebench(options: ImportOptions): number;
65
+ /**
66
+ * List available SWE-bench cases that have been imported.
67
+ */
68
+ export declare function listImportedSwebenchCases(projectDir?: string, evalDirOverride?: string): string[];
@@ -0,0 +1,274 @@
1
+ /**
2
+ * SWE-bench Importer — download and convert SWE-bench entries to eval cases.
3
+ *
4
+ * SWE-bench provides real GitHub issues from real Python repos, frozen at the
5
+ * exact commit where the bug existed. Each entry includes a validated fix (patch)
6
+ * and tests that verify the fix (FAIL_TO_PASS).
7
+ *
8
+ * Supported datasets:
9
+ * - princeton-nlp/SWE-bench_Lite (300 curated issues)
10
+ * - princeton-nlp/SWE-bench_Verified (500 human-verified issues)
11
+ */
12
+ import { existsSync, mkdirSync, readFileSync, writeFileSync, readdirSync, rmSync } from 'node:fs';
13
+ import { join, basename } from 'node:path';
14
+ import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
15
+ import { exec } from './shell.js';
16
+ import { log } from './logger.js';
17
+ import { evalsDir } from './eval.js';
18
+ import { loadEvalConfig } from './eval-fixtures.js';
19
+ /**
20
+ * Download a SWE-bench dataset from HuggingFace and save as JSONL.
21
+ * Requires Python with the `datasets` library installed.
22
+ */
23
+ export function downloadDataset(datasetId, outputPath) {
24
+ const dir = join(outputPath, '..');
25
+ mkdirSync(dir, { recursive: true });
26
+ // Validate datasetId to prevent injection (must be owner/dataset format)
27
+ if (!/^[\w.-]+\/[\w._-]+$/.test(datasetId)) {
28
+ throw new Error(`Invalid dataset ID: ${datasetId}. Expected format: owner/dataset-name`);
29
+ }
30
+ // Use a temp Python script file instead of inline -c to avoid shell escaping issues
31
+ const scriptPath = join(dir, '_download_dataset.py');
32
+ const scriptContent = [
33
+ 'import json, sys, os',
34
+ 'from datasets import load_dataset',
35
+ `ds = load_dataset(${JSON.stringify(datasetId)}, split="test")`,
36
+ `output_path = ${JSON.stringify(outputPath)}`,
37
+ 'with open(output_path, "w") as f:',
38
+ ' for entry in ds:',
39
+ ' f.write(json.dumps(entry) + "\\n")',
40
+ 'print(f"Downloaded {len(ds)} entries to {output_path}")',
41
+ ].join('\n');
42
+ writeFileSync(scriptPath, scriptContent);
43
+ log.info(`Downloading ${datasetId} from HuggingFace...`);
44
+ const result = exec(`python3 "${scriptPath}"`, { timeout: 300_000 });
45
+ // Clean up temp script
46
+ try {
47
+ rmSync(scriptPath);
48
+ }
49
+ catch { /* non-fatal */ }
50
+ if (result.exitCode !== 0) {
51
+ throw new Error(`Failed to download dataset. Ensure Python and 'datasets' are installed:\n` +
52
+ ` pip install datasets\n\n${result.stderr}`);
53
+ }
54
+ log.info(result.stdout);
55
+ }
56
+ /**
57
+ * Read a JSONL file and parse SWE-bench entries.
58
+ * Supports filtering by repo, instance IDs, and count.
59
+ */
60
+ export function importFromJsonl(datasetPath, options) {
61
+ if (!existsSync(datasetPath)) {
62
+ throw new Error(`Dataset file not found: ${datasetPath}`);
63
+ }
64
+ const content = readFileSync(datasetPath, 'utf-8');
65
+ const lines = content.trim().split('\n').filter(Boolean);
66
+ let entries = lines.map((line) => {
67
+ const parsed = JSON.parse(line);
68
+ return parsed;
69
+ });
70
+ // Filter by specific instance IDs
71
+ if (options?.ids) {
72
+ const idSet = new Set(options.ids.split(',').map((s) => s.trim()));
73
+ entries = entries.filter((e) => idSet.has(e.instance_id));
74
+ }
75
+ // Filter by repo
76
+ if (options?.repo) {
77
+ entries = entries.filter((e) => e.repo === options.repo);
78
+ }
79
+ // Limit count
80
+ if (options?.count && options.count > 0) {
81
+ entries = entries.slice(0, options.count);
82
+ }
83
+ return entries;
84
+ }
85
+ /**
86
+ * Convert a SWE-bench entry into a directory-based eval case.
87
+ *
88
+ * Creates:
89
+ * .alpha-loop/evals/cases/e2e/swe-{sanitized-id}/
90
+ * ├── issue.md # From problem_statement
91
+ * ├── checks.yaml # FAIL_TO_PASS tests as acceptance criteria
92
+ * ├── metadata.yaml # repo, base_commit, instance_id, source: swe-bench
93
+ * └── reference.patch # The validated fix (for comparison, not shown to agent)
94
+ *
95
+ * Returns the path to the created case directory.
96
+ */
97
+ export function convertToEvalCase(entry, projectDir, evalDirOverride, step) {
98
+ const dir = evalsDir(projectDir, evalDirOverride);
99
+ const sanitizedId = entry.instance_id.replace(/[^a-zA-Z0-9_-]/g, '-').toLowerCase();
100
+ const caseId = `swe-${sanitizedId}`;
101
+ const targetStep = step ?? 'implement';
102
+ // e2e cases go under cases/e2e/
103
+ const casePath = join(dir, 'cases', 'e2e', caseId);
104
+ mkdirSync(casePath, { recursive: true });
105
+ // Parse FAIL_TO_PASS — it's a JSON string containing a list of test identifiers
106
+ let failToPass = [];
107
+ try {
108
+ failToPass = JSON.parse(entry.FAIL_TO_PASS);
109
+ if (!Array.isArray(failToPass))
110
+ failToPass = [String(entry.FAIL_TO_PASS)];
111
+ }
112
+ catch {
113
+ failToPass = entry.FAIL_TO_PASS ? [entry.FAIL_TO_PASS] : [];
114
+ }
115
+ // Parse PASS_TO_PASS
116
+ let passToPass = [];
117
+ try {
118
+ passToPass = JSON.parse(entry.PASS_TO_PASS);
119
+ if (!Array.isArray(passToPass))
120
+ passToPass = [];
121
+ }
122
+ catch {
123
+ passToPass = [];
124
+ }
125
+ // metadata.yaml
126
+ const metadata = stringifyYaml({
127
+ id: caseId,
128
+ description: `SWE-bench: ${entry.instance_id}`,
129
+ tags: ['swe-bench', entry.repo.replace('/', '-'), targetStep],
130
+ source: 'swe-bench',
131
+ swebench: {
132
+ instance_id: entry.instance_id,
133
+ repo: entry.repo,
134
+ base_commit: entry.base_commit,
135
+ version: entry.version || undefined,
136
+ },
137
+ });
138
+ writeFileSync(join(casePath, 'metadata.yaml'), metadata);
139
+ // checks.yaml — FAIL_TO_PASS tests as test_pass checks
140
+ const checks = [];
141
+ // Primary check: the tests that must go from failing to passing
142
+ if (failToPass.length > 0) {
143
+ checks.push({
144
+ type: 'test_pass',
145
+ command: buildTestCommand(entry.repo, failToPass),
146
+ });
147
+ }
148
+ // Keyword checks: ensure key test identifiers appear in output
149
+ if (failToPass.length > 0) {
150
+ checks.push({
151
+ type: 'keyword_present',
152
+ keywords: failToPass.slice(0, 5), // Limit to avoid overly long checks
153
+ });
154
+ }
155
+ const checksYaml = stringifyYaml({
156
+ type: 'full',
157
+ step: targetStep,
158
+ eval_method: 'checks',
159
+ status: 'ready',
160
+ repo: entry.repo,
161
+ fixture_ref: entry.base_commit,
162
+ fail_to_pass: failToPass,
163
+ pass_to_pass: passToPass.slice(0, 10), // Keep manageable
164
+ checks,
165
+ });
166
+ writeFileSync(join(casePath, 'checks.yaml'), checksYaml);
167
+ // issue.md — the problem statement
168
+ const title = extractTitle(entry.instance_id, entry.problem_statement);
169
+ const issueContent = `# ${title}\n\n${entry.problem_statement}\n`;
170
+ writeFileSync(join(casePath, 'issue.md'), issueContent);
171
+ // reference.patch — validated fix for comparison
172
+ if (entry.patch) {
173
+ writeFileSync(join(casePath, 'reference.patch'), entry.patch);
174
+ }
175
+ // test.patch — test changes for verification
176
+ if (entry.test_patch) {
177
+ writeFileSync(join(casePath, 'test.patch'), entry.test_patch);
178
+ }
179
+ return casePath;
180
+ }
181
+ /**
182
+ * Update eval config.yaml with SWE-bench repo base commits.
183
+ */
184
+ export function updateEvalConfig(evalDirPath, entries) {
185
+ const config = loadEvalConfig(evalDirPath);
186
+ const repos = config.swebench_repos ?? {};
187
+ for (const entry of entries) {
188
+ if (!repos[entry.repo]) {
189
+ repos[entry.repo] = { base_commits: {} };
190
+ }
191
+ repos[entry.repo].base_commits[entry.instance_id] = entry.base_commit;
192
+ }
193
+ // Read existing config and update swebench_repos section
194
+ const configPath = join(evalDirPath, 'config.yaml');
195
+ let existing = {};
196
+ if (existsSync(configPath)) {
197
+ try {
198
+ existing = parseYaml(readFileSync(configPath, 'utf-8'));
199
+ }
200
+ catch { /* start fresh */ }
201
+ }
202
+ existing.swebench_repos = repos;
203
+ writeFileSync(configPath, stringifyYaml(existing));
204
+ }
205
+ /**
206
+ * Run the full SWE-bench import pipeline.
207
+ * Returns the number of cases imported.
208
+ */
209
+ export function importSwebench(options) {
210
+ const projectDir = options.projectDir ?? process.cwd();
211
+ const evalDirPath = evalsDir(projectDir, options.evalDir);
212
+ // Determine dataset path
213
+ let datasetPath = options.dataset;
214
+ if (!datasetPath) {
215
+ const datasetId = options.datasetId ?? 'princeton-nlp/SWE-bench_Lite';
216
+ datasetPath = join(evalDirPath, 'datasets', `${datasetId.replace(/\//g, '_')}.jsonl`);
217
+ if (!existsSync(datasetPath)) {
218
+ downloadDataset(datasetId, datasetPath);
219
+ }
220
+ else {
221
+ log.info(`Using cached dataset: ${datasetPath}`);
222
+ }
223
+ }
224
+ // Parse and filter entries
225
+ const entries = importFromJsonl(datasetPath, {
226
+ count: options.count,
227
+ repo: options.repo,
228
+ ids: options.ids,
229
+ });
230
+ if (entries.length === 0) {
231
+ log.warn('No matching SWE-bench entries found.');
232
+ return 0;
233
+ }
234
+ log.info(`Importing ${entries.length} SWE-bench case(s)...`);
235
+ // Convert each entry to an eval case
236
+ const created = [];
237
+ for (const entry of entries) {
238
+ const casePath = convertToEvalCase(entry, projectDir, options.evalDir, options.step);
239
+ created.push(casePath);
240
+ log.info(` Created: ${basename(casePath)}`);
241
+ }
242
+ // Update config.yaml with repo mappings
243
+ updateEvalConfig(evalDirPath, entries);
244
+ return created.length;
245
+ }
246
+ /** Extract a title from instance_id or first line of problem_statement. */
247
+ function extractTitle(instanceId, problemStatement) {
248
+ // Try to extract from first line of problem statement
249
+ const firstLine = problemStatement.split('\n')[0].trim();
250
+ if (firstLine && firstLine.length > 10 && firstLine.length < 200) {
251
+ return firstLine;
252
+ }
253
+ // Fall back to instance_id formatted as title
254
+ return instanceId.replace(/__/g, ': ').replace(/-/g, ' ');
255
+ }
256
+ /** Build a test command for a SWE-bench repo. */
257
+ function buildTestCommand(repo, tests) {
258
+ // Most SWE-bench repos are Python — use pytest
259
+ const testArgs = tests.slice(0, 3).join(' ');
260
+ return `python -m pytest ${testArgs}`;
261
+ }
262
+ /**
263
+ * List available SWE-bench cases that have been imported.
264
+ */
265
+ export function listImportedSwebenchCases(projectDir, evalDirOverride) {
266
+ const dir = evalsDir(projectDir, evalDirOverride);
267
+ const e2eDir = join(dir, 'cases', 'e2e');
268
+ if (!existsSync(e2eDir))
269
+ return [];
270
+ return readdirSync(e2eDir, { withFileTypes: true })
271
+ .filter((d) => d.isDirectory() && d.name.startsWith('swe-'))
272
+ .map((d) => d.name);
273
+ }
274
+ //# sourceMappingURL=eval-swebench.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval-swebench.js","sourceRoot":"","sources":["../../src/lib/eval-swebench.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { CheckDefinition } from './eval-checks.js';
4
4
  /** Status of a captured eval case. */
5
5
  export type CapturedCaseStatus = 'needs-annotation' | 'ready';
6
6
  /** The pipeline step that a step-level eval targets. */
7
- export type PipelineStep = 'plan' | 'implement' | 'test' | 'review' | 'verify';
7
+ export type PipelineStep = 'plan' | 'implement' | 'test' | 'review' | 'verify' | 'learn' | 'skill' | 'test-fix';
8
8
  /** Expected outcome for an eval case. */
9
9
  export type ExpectedOutcome = {
10
10
  /** Should the pipeline succeed? */
@@ -61,6 +61,12 @@ export type EvalResult = {
61
61
  retries: number;
62
62
  duration: number;
63
63
  error?: string;
64
+ /** Cost in USD for this case (from agent token usage). */
65
+ costUsd?: number;
66
+ /** Input tokens consumed by this case. */
67
+ inputTokens?: number;
68
+ /** Output tokens generated by this case. */
69
+ outputTokens?: number;
64
70
  details: {
65
71
  successMatch: boolean;
66
72
  filesMatch: boolean;
@@ -74,6 +80,8 @@ export type EvalSuiteResult = {
74
80
  cases: EvalResult[];
75
81
  composite: number;
76
82
  totalDuration: number;
83
+ /** Total cost in USD across all cases (from agent token usage). */
84
+ totalCost: number;
77
85
  passCount: number;
78
86
  failCount: number;
79
87
  };
package/dist/lib/eval.js CHANGED
@@ -97,13 +97,23 @@ export function loadEvalCaseDir(dirPath) {
97
97
  const captureStatus = checksRaw.status === 'needs-annotation' ? 'needs-annotation'
98
98
  : checksRaw.status === 'ready' ? 'ready'
99
99
  : undefined;
100
+ // Resolve fixture repo — support SWE-bench metadata with nested swebench.repo
101
+ const swebench = metadata.swebench;
102
+ let fixtureRepo = String(checksRaw.repo ?? metadata.repo ?? '');
103
+ let fixtureRef = String(checksRaw.fixture_ref ?? metadata.fixture_ref ?? 'main');
104
+ if (swebench && typeof swebench === 'object') {
105
+ if (!fixtureRepo && swebench.repo)
106
+ fixtureRepo = String(swebench.repo);
107
+ if (fixtureRef === 'main' && swebench.base_commit)
108
+ fixtureRef = String(swebench.base_commit);
109
+ }
100
110
  return {
101
111
  id,
102
112
  description: String(metadata.description ?? (issueTitle || id)),
103
113
  type: evalType,
104
114
  step: checksRaw.step ? String(checksRaw.step) : undefined,
105
- fixtureRepo: String(checksRaw.repo ?? metadata.repo ?? ''),
106
- fixtureRef: String(checksRaw.fixture_ref ?? metadata.fixture_ref ?? 'main'),
115
+ fixtureRepo,
116
+ fixtureRef,
107
117
  issueTitle,
108
118
  issueBody: issueBody || inputText || '',
109
119
  expected: {
@@ -323,7 +333,7 @@ export function recordEvalResults(results, config, cost, projectDir) {
323
333
  const passCount = results.filter((r) => r.passed).length;
324
334
  const failCount = results.length - passCount;
325
335
  const totalDuration = results.reduce((sum, r) => sum + r.duration, 0);
326
- return { cases: results, composite, totalDuration, passCount, failCount };
336
+ return { cases: results, composite, totalDuration, totalCost: cost, passCount, failCount };
327
337
  }
328
338
  /**
329
339
  * Format eval case for display.
@@ -493,15 +503,25 @@ export function annotateCapturedCase(casePath, annotation) {
493
503
  }
494
504
  }
495
505
  }
506
+ /** Common stopwords to exclude from keyword extraction. */
507
+ const STOPWORDS = new Set([
508
+ 'should', 'would', 'could', 'have', 'been', 'were', 'they', 'them',
509
+ 'their', 'this', 'that', 'with', 'from', 'into', 'also', 'then',
510
+ 'than', 'when', 'what', 'which', 'where', 'there', 'here', 'some',
511
+ 'will', 'does', 'done', 'each', 'make', 'made', 'like', 'just',
512
+ 'only', 'very', 'more', 'most', 'such', 'other', 'about', 'after',
513
+ 'before', 'being', 'between', 'both', 'same', 'because', 'need',
514
+ 'needs', 'instead', 'still', 'already',
515
+ ]);
496
516
  /**
497
517
  * Extract meaningful keywords from annotation text for keyword_present checks.
518
+ * Filters common stopwords to produce higher-quality check terms.
498
519
  */
499
520
  function extractKeywords(text) {
500
- // Split on common delimiters and take meaningful words (>3 chars)
501
521
  return text
502
- .split(/[\s,;.!?]+/)
503
- .filter((w) => w.length > 3)
504
- .map((w) => w.toLowerCase())
522
+ .split(/[\s,;.!?()[\]{}:]+/)
523
+ .map((w) => w.toLowerCase().replace(/[^a-z0-9_-]/g, ''))
524
+ .filter((w) => w.length > 3 && !STOPWORDS.has(w))
505
525
  .slice(0, 5);
506
526
  }
507
527
  //# sourceMappingURL=eval.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/lib/eval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/lib/eval.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,14 @@
1
+ export type Comment = {
2
+ author: string;
3
+ body: string;
4
+ createdAt: string;
5
+ };
1
6
  export type Issue = {
2
7
  number: number;
3
8
  title: string;
4
9
  body: string;
5
10
  labels: string[];
11
+ comments?: Comment[];
6
12
  };
7
13
  export type Milestone = {
8
14
  number: number;
@@ -64,3 +70,43 @@ export declare function mergePR(repo: string, head: string, method?: 'squash' |
64
70
  * This is a multi-step operation using gh project commands.
65
71
  */
66
72
  export declare function updateProjectStatus(repo: string, projectNum: number, owner: string, issueNum: number, status: string): void;
73
+ /**
74
+ * Create a new issue. Returns the created issue number.
75
+ * Uses --body-file for shell safety (same pattern as commentIssue).
76
+ */
77
+ export declare function createIssue(repo: string, title: string, body: string, labels: string[], milestone?: number): number;
78
+ /**
79
+ * Update an existing issue's title and/or body.
80
+ */
81
+ export declare function updateIssue(repo: string, issueNum: number, updates: {
82
+ title?: string;
83
+ body?: string;
84
+ }): void;
85
+ /**
86
+ * Close an issue with an optional reason.
87
+ */
88
+ export declare function closeIssue(repo: string, issueNum: number, reason?: 'completed' | 'not_planned'): void;
89
+ /**
90
+ * Create a milestone. Returns the milestone number.
91
+ */
92
+ export declare function createMilestone(repo: string, title: string, description: string, dueOn?: string): number;
93
+ /**
94
+ * Assign an issue to a milestone by milestone number.
95
+ */
96
+ export declare function setIssueMilestone(repo: string, issueNum: number, milestoneNum: number): void;
97
+ /**
98
+ * List all open issues (no label filter). Default limit 100.
99
+ */
100
+ export declare function listOpenIssues(repo: string, limit?: number): Issue[];
101
+ /**
102
+ * Fetch comments for a specific issue.
103
+ */
104
+ export declare function getIssueComments(repo: string, issueNum: number): Comment[];
105
+ /**
106
+ * Fetch a single issue with its full body and comments.
107
+ */
108
+ export declare function getIssueWithComments(repo: string, issueNum: number): Issue | null;
109
+ /**
110
+ * Add an issue to a GitHub Project v2.
111
+ */
112
+ export declare function addIssueToProject(owner: string, projectNum: number, repo: string, issueNum: number): void;