opencode-autoresearch 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,10 +1,11 @@
1
1
  # Auto Research
2
2
 
3
3
  <p align="center">
4
- <img src="assets/autoresearch-banner.svg" width="900" alt="Auto Research — Autonomous recursive self-improvement engine" />
4
+ <img src="assets/autoresearch-banner.svg" width="900" alt="Auto Research — Multi-runtime autonomous recursive self-improvement engine" />
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
+ <img src="https://img.shields.io/badge/version-v3.4.0-58a6ff?style=flat" alt="v3.4.0">
8
9
  <a href="https://github.com/Maleick/AutoResearch/stargazers"><img src="https://img.shields.io/github/stars/Maleick/AutoResearch?style=flat&color=58a6ff" alt="Stars"></a>
9
10
  <a href="https://github.com/Maleick/AutoResearch/commits/main"><img src="https://img.shields.io/github/last-commit/Maleick/AutoResearch?style=flat" alt="Last Commit"></a>
10
11
  <a href="https://github.com/Maleick/AutoResearch/releases"><img src="https://img.shields.io/github/v/release/Maleick/AutoResearch?style=flat" alt="Version"></a>
@@ -20,7 +21,7 @@
20
21
  <a href="#self-improvement-loop">Self-Improvement</a>
21
22
  </p>
22
23
 
23
- <p align="center"><strong>Autonomous recursive self-improvement engine for OpenCode.</strong></p>
24
+ <p align="center"><strong>Multi-runtime autonomous recursive self-improvement engine.</strong></p>
24
25
 
25
26
  ```text
26
27
  ┌──────────────────────────────────────────────┐
@@ -34,7 +35,7 @@
34
35
 
35
36
  ## What It Does
36
37
 
37
- Auto Research is a **subagent-first autonomous iteration engine** that runs structured improve-verify loops inside OpenCode. Unlike simple task runners, it maintains a standing pool of specialized subagents, persists learnings across iterations, and can run recursive self-improvement loops on its own codebase.
38
+ Auto Research is a **subagent-first autonomous iteration engine** that runs structured improve-verify loops inside **OpenCode** or **Hermes Agent**. Unlike simple task runners, it maintains a pool of specialized subagents, persists learnings across iterations, and can run recursive self-improvement loops on its own codebase.
38
39
 
39
40
  - **Plans** experiments from a measurable goal
40
41
  - **Modifies** one focused change per iteration
@@ -59,7 +60,7 @@ flowchart LR
59
60
  ```mermaid
60
61
  flowchart TD
61
62
  A[Goal + Metric + Verify] --> B[Baseline]
62
- B --> C[Standing Pool Init]
63
+ B --> C[Pool Init]
63
64
  C --> D[Iteration N]
64
65
  D --> E[Subagent Context]
65
66
  E --> F[Focused Change]
@@ -96,34 +97,79 @@ See [`skills/autoresearch/references/self-improve-loop.md`](skills/autoresearch/
96
97
 
97
98
  ## Installation
98
99
 
99
- Install the CLI globally if you want Auto Research available long-term on your PATH:
100
+ ### OpenCode
100
101
 
101
- ```bash
102
- npm install -g opencode-autoresearch
103
- opencode-autoresearch doctor
102
+ For OpenCode, paste this one-line install prompt into your agent. This URL follows the latest `main` instructions:
103
+
104
+ ```text
105
+ Fetch and follow instructions from https://raw.githubusercontent.com/Maleick/AutoResearch/refs/heads/main/INSTALL.md
104
106
  ```
105
107
 
106
- For a one-time install without keeping a global CLI, use `bunx` instead:
108
+ Recommended plugin install in `opencode.json`:
107
109
 
108
- ```bash
109
- bunx opencode-autoresearch install
110
- bunx opencode-autoresearch doctor
110
+ ```json
111
+ {
112
+ "plugin": ["opencode-autoresearch@latest"]
113
+ }
111
114
  ```
112
115
 
113
- Then start the setup wizard inside OpenCode:
116
+ Restart OpenCode, then run the setup wizard:
114
117
 
115
118
  ```text
116
119
  /autoresearch
117
120
  ```
118
121
 
119
- ## Quick Start
122
+ ### Hermes Agent
123
+
124
+ ```bash
125
+ # 1. Clone AutoResearch
126
+ git clone https://github.com/Maleick/AutoResearch.git
127
+ cd AutoResearch
128
+ npm install
129
+
130
+ # 2. Install the Hermes skill
131
+ mkdir -p ~/.hermes/skills/software-development/autoresearch
132
+ cp skills/hermes/autoresearch-prompt.md ~/.hermes/skills/software-development/autoresearch/SKILL.md
133
+ cp skills/hermes/INTEGRATION.md ~/.hermes/skills/software-development/autoresearch/REFERENCES.md
134
+
135
+ # 3. Create a cronjob
136
+ hermes cron create \
137
+ --name "autoresearch-loop" \
138
+ --workdir ~/projects/AutoResearch \
139
+ --skill autoresearch-hermes \
140
+ "every 15m" \
141
+ "Run AutoResearch iteration loop. Detect phase from .autoresearch/state.json and execute one phase. Approved verify command: \"npm run test:coverage\". Approved guard command: \"npm run typecheck\"."
142
+ ```
143
+
144
+ See [`skills/hermes/README.md`](skills/hermes/README.md) for full Hermes setup, troubleshooting, and command mapping.
145
+
146
+ ### npm CLI (both runtimes)
147
+
148
+ Global install path:
120
149
 
121
150
  ```bash
122
- # 1. Install the CLI globally
123
151
  npm install -g opencode-autoresearch
152
+ autoresearch doctor
153
+ autoresearch --version
154
+ ```
155
+
156
+ One-time package runner path:
157
+
158
+ ```bash
159
+ npx opencode-autoresearch doctor
160
+ ```
161
+
162
+ See [`INSTALL.md`](INSTALL.md) for prerequisites, verification, updating, and troubleshooting.
163
+
164
+ ## Quick Start
124
165
 
125
- # 2. Verify installation
126
- opencode-autoship doctor
166
+ ### OpenCode
167
+
168
+ ```bash
169
+ # 1. Add the plugin to opencode.json
170
+ # { "plugin": ["opencode-autoresearch@latest"] }
171
+
172
+ # 2. Restart OpenCode
127
173
 
128
174
  # 3. Navigate to your project
129
175
  cd ~/Projects/my-project
@@ -132,25 +178,48 @@ cd ~/Projects/my-project
132
178
  /autoresearch
133
179
  ```
134
180
 
181
+ ### Hermes Agent
182
+
183
+ ```bash
184
+ # 1. Ensure the skill is installed (see Installation above)
185
+
186
+ # 2. Initialize state from a trusted shell before enabling unattended cron
187
+ autoresearch init \
188
+ --goal "Improve test coverage" \
189
+ --metric "coverage_pct" \
190
+ --direction "higher" \
191
+ --verify "npm run test:coverage" \
192
+ --guard "npm run typecheck" \
193
+ --iterations 20 \
194
+ --mode background
195
+
196
+ # 3. Start the cronjob
197
+ hermes cron resume autoresearch-loop
198
+
199
+ # 4. Check progress
200
+ cat .autoresearch/state.json | jq .
201
+ ```
202
+
135
203
  ## Runtime Surfaces
136
204
 
137
205
  | Surface | Entry point |
138
206
  | --- | --- |
139
207
  | OpenCode | `/autoresearch`, `/autoresearch:plan`, `/autoresearch:debug`, `/autoresearch:fix`, `/autoresearch:learn`, `/autoresearch:predict`, `/autoresearch:scenario`, `/autoresearch:security`, `/autoresearch:ship` |
208
+ | Hermes | Cronjob `autoresearch-loop` (see `skills/hermes/README.md`) |
140
209
 
141
210
  ## Commands
142
211
 
143
- | Command | Purpose |
144
- | --- | --- |
145
- | `/autoresearch` | Default improve-verify loop |
146
- | `/autoresearch:plan` | Planning workflow |
147
- | `/autoresearch:debug` | Debugging workflow |
148
- | `/autoresearch:fix` | Fix workflow |
149
- | `/autoresearch:learn` | Learning workflow |
150
- | `/autoresearch:predict` | Prediction workflow |
151
- | `/autoresearch:scenario` | Scenario expansion |
152
- | `/autoresearch:security` | Security review |
153
- | `/autoresearch:ship` | Ship-readiness workflow |
212
+ | Command | Purpose | Hermes Equivalent |
213
+ | --- | --- | --- |
214
+ | `/autoresearch` | Default improve-verify loop | Cron runs iteration loop |
215
+ | `/autoresearch:plan` | Planning workflow | Subagent task: plan experiments |
216
+ | `/autoresearch:debug` | Debugging workflow | Subagent task: debug failures |
217
+ | `/autoresearch:fix` | Fix workflow | Subagent task: fix issues |
218
+ | `/autoresearch:learn` | Learning workflow | Memory tool + pattern analysis |
219
+ | `/autoresearch:predict` | Prediction workflow | Subagent task: predict outcomes |
220
+ | `/autoresearch:scenario` | Scenario expansion | Subagent task: expand scenarios |
221
+ | `/autoresearch:security` | Security review | Subagent task: security audit |
222
+ | `/autoresearch:ship` | Ship-readiness workflow | Subagent task: ship checks |
154
223
 
155
224
  ## CLI Commands
156
225
 
@@ -180,15 +249,16 @@ cd ~/Projects/my-project
180
249
  ```mermaid
181
250
  flowchart LR
182
251
  A[OpenCode /autoresearch] --> B[CLI]
252
+ H[Hermes Cronjob] --> B
183
253
  B --> C[Run Manager]
184
254
  C --> D[State JSON]
185
255
  C --> E[Results TSV]
186
256
  C --> F[Subagent Pool]
187
257
  F --> G[Orchestrator]
188
- F --> H[Scout]
189
- F --> I[Analyst]
190
- F --> J[Verifier]
191
- F --> K[Synthesizer]
258
+ F --> I[Scout]
259
+ F --> J[Analyst]
260
+ F --> K[Verifier]
261
+ F --> L[Synthesizer]
192
262
  ```
193
263
 
194
264
  ## Runtime Artifacts
@@ -249,6 +319,19 @@ The standing pool provides specialized roles reused across iterations:
249
319
  | `release_guard` | Ship-readiness verification |
250
320
  | `research_tracker` | Pattern tracking across iterations |
251
321
 
322
+ ## Runtime Comparison
323
+
324
+ | Feature | OpenCode | Hermes |
325
+ |---------|----------|--------|
326
+ | Entry | `/autoresearch` slash command | Cronjob or `delegate_task` |
327
+ | Subagents | Standing pool (unlimited) | Batch via `delegate_task` (max 3) |
328
+ | Real-time | Yes | 15-minute cron intervals |
329
+ | Slash commands | 8 variants | Separate cron jobs or tasks |
330
+ | State | `.autoresearch/state.json` | Same file format |
331
+ | Memory | File-based (`autoresearch-memory.md`) | `memory` tool + file |
332
+ | Background | `autoresearch launch` | Native cron |
333
+ | Resume | `autoresearch resume` | Cron continues automatically |
334
+
252
335
  ## Development
253
336
 
254
337
  ```bash
@@ -264,13 +347,17 @@ npm pack --dry-run # Preview shipped package contents
264
347
  src/ # TypeScript source (runtime helpers, CLI, subagent pool)
265
348
  dist/ # Compiled JavaScript output
266
349
  commands/ # OpenCode command surfaces
267
- skills/autoresearch/ # Skill bundle with references
350
+ skills/autoresearch/ # OpenCode skill bundle with references
268
351
  references/ # Workflow and runtime references
269
352
  core-principles.md # Loop discipline
270
353
  loop-workflow.md # Main iteration workflow
271
354
  subagent-orchestration.md # Pool management
272
355
  state-management.md # State semantics
273
356
  self-improve-loop.md # Recursive self-improvement
357
+ skills/hermes/ # Hermes Agent skill bundle
358
+ README.md # Hermes setup and usage
359
+ INTEGRATION.md # Architecture and command mapping
360
+ autoresearch-prompt.md # Cron prompt template
274
361
  hooks/ # Shell hooks for session lifecycle
275
362
  docs/ # Install and architecture docs
276
363
  wiki/ # GitHub wiki pages
@@ -280,7 +367,8 @@ wiki/ # GitHub wiki pages
280
367
 
281
368
  ## Notes
282
369
 
283
- - This is an **OpenCode-only** package. No Claude or Codex runtime is supported.
370
+ - **OpenCode** users: install via `opencode.json` plugin array or `npm install -g opencode-autoresearch`.
371
+ - **Hermes Agent** users: install via skill files in `skills/hermes/` and create a cronjob.
284
372
  - The CLI uses Node.js ESM modules.
285
373
  - Self-improvement loops require `--mode background` for long-running unattended operation.
286
374
  - Memory files (`autoresearch-memory.md`) are portable across runs and repositories.
package/VERSION CHANGED
@@ -1 +1 @@
1
- 3.3.0
1
+ 3.4.0
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { existsSync, readFileSync, readdirSync } from "fs";
3
3
  import { resolve } from "path";
4
- import { printJson, resolveRepo } from "./helpers.js";
4
+ import { printJson, resolveRepo, parseRunState, parsePositiveInt } from "./helpers.js";
5
5
  const VERSION_FLAGS = ["--version", "-v"];
6
6
  const HELP_FLAGS = ["--help", "-h", "help"];
7
7
  const usage = () => {
@@ -140,7 +140,7 @@ const main = async () => {
140
140
  verify: grouped.verify,
141
141
  guard: grouped.guard,
142
142
  mode: grouped.mode,
143
- iterations: grouped.iterations ? parseInt(grouped.iterations) : undefined,
143
+ iterations: parsePositiveInt(grouped.iterations, "iterations"),
144
144
  duration: grouped.duration,
145
145
  memory_path: grouped["memory-path"],
146
146
  required_keep_labels: grouped["required-keep-labels"],
@@ -173,7 +173,7 @@ const main = async () => {
173
173
  mode: grouped.mode || "foreground",
174
174
  scope: grouped.scope,
175
175
  guard: grouped.guard,
176
- iterations: grouped.iterations ? parseInt(grouped.iterations) : undefined,
176
+ iterations: parsePositiveInt(grouped.iterations, "iterations"),
177
177
  duration: grouped.duration,
178
178
  memory_path: grouped["memory-path"],
179
179
  required_keep_labels: grouped["required-keep-labels"],
@@ -273,7 +273,7 @@ const main = async () => {
273
273
  console.log("No iteration records yet.");
274
274
  break;
275
275
  }
276
- const limit = grouped.limit ? parseInt(grouped.limit) : 10;
276
+ const limit = parsePositiveInt(grouped.limit, "limit") ?? 10;
277
277
  const records = lines.slice(1).reverse().slice(0, limit);
278
278
  if (useJson) {
279
279
  const headers = lines[0].split("\t");
@@ -306,7 +306,7 @@ const main = async () => {
306
306
  console.log("No run state found. Run 'autoresearch init' first.");
307
307
  break;
308
308
  }
309
- const state = readJsonFile(statePath);
309
+ const state = parseRunState(readJsonFile(statePath));
310
310
  if (useJson) {
311
311
  printJson({
312
312
  goal: state.goal,
@@ -437,7 +437,7 @@ const main = async () => {
437
437
  console.log("No run state found. Run 'autoresearch init' first.");
438
438
  break;
439
439
  }
440
- const state = readJsonFile(statePath);
440
+ const state = parseRunState(readJsonFile(statePath));
441
441
  let results = [];
442
442
  if (existsSync(resultsPath)) {
443
443
  const content = readFileSync(resultsPath, "utf-8");
@@ -600,7 +600,7 @@ const main = async () => {
600
600
  mode: "background",
601
601
  scope: grouped.scope,
602
602
  guard: grouped.guard,
603
- iterations: grouped.iterations ? parseInt(grouped.iterations) : undefined,
603
+ iterations: parsePositiveInt(grouped.iterations, "iterations"),
604
604
  duration: grouped.duration,
605
605
  memory_path: grouped["memory-path"],
606
606
  required_keep_labels: grouped["required-keep-labels"],
@@ -638,7 +638,7 @@ const main = async () => {
638
638
  const { normalizeResultStatus } = await import("./helpers.js");
639
639
  const vs = grouped["verify-status"] || "pass";
640
640
  const gs = grouped["guard-status"] || "skip";
641
- const state = await appendIteration(grouped.repo, grouped["results-path"], grouped["state-path"], grouped.decision, grouped["metric-value"], normalizeResultStatus(vs, "verify_status"), normalizeResultStatus(gs, "guard_status"), grouped.hypothesis, grouped["change-summary"], grouped.labels ? (Array.isArray(grouped.labels) ? grouped.labels : [grouped.labels]) : undefined, grouped.note, grouped.iteration ? parseInt(grouped.iteration) : undefined);
641
+ const state = await appendIteration(grouped.repo, grouped["results-path"], grouped["state-path"], grouped.decision, grouped["metric-value"], normalizeResultStatus(vs, "verify_status"), normalizeResultStatus(gs, "guard_status"), grouped.hypothesis, grouped["change-summary"], grouped.labels ? (Array.isArray(grouped.labels) ? grouped.labels : [grouped.labels]) : undefined, grouped.note, parsePositiveInt(grouped.iteration, "iteration"));
642
642
  printJson(state);
643
643
  break;
644
644
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const VERSION = "3.3.0";
1
+ export declare const VERSION = "3.4.0";
2
2
  export declare const PACKAGE_NAME = "opencode-autoresearch";
3
3
  export declare const SKILL_NAME = "autoresearch";
4
4
  export declare const PRODUCT_BRAND = "Auto Research";
package/dist/constants.js CHANGED
@@ -1,4 +1,4 @@
1
- export const VERSION = "3.3.0";
1
+ export const VERSION = "3.4.0";
2
2
  export const PACKAGE_NAME = "opencode-autoresearch";
3
3
  export const SKILL_NAME = "autoresearch";
4
4
  export const PRODUCT_BRAND = "Auto Research";
package/dist/helpers.d.ts CHANGED
@@ -11,8 +11,13 @@ export declare function resolvePath(repo: string | undefined, value: string | un
11
11
  export declare function normalizeDirection(value: string | undefined | null): string;
12
12
  export declare function normalizeMode(value: string | undefined | null): string;
13
13
  export declare function normalizeResultStatus(value: string | undefined | null, fieldName: string): string;
14
+ export declare function parsePositiveInt(value: string | undefined | null, fieldName: string): number | undefined;
14
15
  export declare function parseDurationSeconds(value: string | undefined | null): number | null;
15
16
  export declare function inferVerifyCommand(repo?: string): string;
16
- export declare function normalizeLabels(values?: string | string[] | null): string[];
17
+ export declare function normalizeLabels(values?: unknown): string[];
17
18
  export declare function missingRequiredLabels(labels: string[], required: string[]): string[];
19
+ export declare function parseTsvFile(content: string): Record<string, string>[];
20
+ export declare function countTsvDataRows(content: string): number;
21
+ import type { RunState } from "./types.js";
22
+ export declare function parseRunState(value: unknown): RunState;
18
23
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAGA,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEhD;AAED,wBAAgB,MAAM,IAAI,MAAM,CAE/B;AAED,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEnD;AAcD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAExE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAStE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAK5G;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAO3E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAOtE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAOjG;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CA0BpF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAaxD;AAED,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,MAAM,EAAE,CAO3E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAGpF"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAGA,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEhD;AAED,wBAAgB,MAAM,IAAI,MAAM,CAE/B;AAED,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEnD;AAcD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAExE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAStE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAK5G;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAO3E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAOtE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAOjG;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOxG;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CA0BpF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAaxD;AAED,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAqB1D;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAGpF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAUtE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAsCtD"}
package/dist/helpers.js CHANGED
@@ -80,6 +80,15 @@ export function normalizeResultStatus(value, fieldName) {
80
80
  }
81
81
  return normalized;
82
82
  }
83
+ export function parsePositiveInt(value, fieldName) {
84
+ if (!value)
85
+ return undefined;
86
+ const n = parseInt(value, 10);
87
+ if (isNaN(n) || n <= 0) {
88
+ throw new AutoresearchError(`Invalid ${fieldName}: ${value} (must be a positive integer)`);
89
+ }
90
+ return n;
91
+ }
83
92
  export function parseDurationSeconds(value) {
84
93
  if (!value)
85
94
  return null;
@@ -130,17 +139,81 @@ export function inferVerifyCommand(repo) {
130
139
  return "<set verify command>";
131
140
  }
132
141
  export function normalizeLabels(values) {
133
- if (!values)
142
+ if (values == null)
134
143
  return [];
135
144
  if (typeof values === "string") {
136
145
  return [...new Set(values.split(",").map((s) => s.trim()).filter(Boolean))];
137
146
  }
138
- if (!Array.isArray(values))
139
- return [];
140
- return [...new Set(values.map((v) => v.trim()).filter(Boolean))];
147
+ if (!Array.isArray(values)) {
148
+ const str = String(values).trim();
149
+ return str ? [str] : [];
150
+ }
151
+ const flatten = (arr) => arr.flatMap((v) => {
152
+ if (v == null)
153
+ return [];
154
+ if (typeof v === "string") {
155
+ const trimmed = v.trim();
156
+ return trimmed ? [trimmed] : [];
157
+ }
158
+ if (Array.isArray(v))
159
+ return flatten(v);
160
+ const str = String(v).trim();
161
+ return str ? [str] : [];
162
+ });
163
+ return [...new Set(flatten(values).filter(Boolean))];
141
164
  }
142
165
  export function missingRequiredLabels(labels, required) {
143
166
  const labelSet = new Set(labels);
144
167
  return required.filter((l) => !labelSet.has(l));
145
168
  }
169
+ export function parseTsvFile(content) {
170
+ const lines = content.trim().split("\n");
171
+ if (lines.length <= 1)
172
+ return [];
173
+ const headers = lines[0].split("\t");
174
+ return lines.slice(1).filter(Boolean).map((r) => {
175
+ const cols = r.split("\t");
176
+ const obj = {};
177
+ headers.forEach((h, i) => { obj[h] = cols[i] ?? ""; });
178
+ return obj;
179
+ });
180
+ }
181
+ export function countTsvDataRows(content) {
182
+ const lines = content.trim().split("\n");
183
+ return lines.length > 1 ? lines.slice(1).filter((l) => l.trim()).length : 0;
184
+ }
185
+ export function parseRunState(value) {
186
+ if (typeof value !== "object" || value === null) {
187
+ throw new AutoresearchError("Invalid state: expected object");
188
+ }
189
+ const obj = value;
190
+ const required = ["schema_version", "run_id", "created_at", "updated_at", "status", "mode", "goal", "scope", "metric", "verify", "label_requirements", "artifact_paths", "stats", "flags"];
191
+ for (const key of required) {
192
+ if (!(key in obj)) {
193
+ throw new AutoresearchError(`Invalid state: missing required field "${key}"`);
194
+ }
195
+ }
196
+ if (typeof obj.metric !== "object" || obj.metric === null) {
197
+ throw new AutoresearchError("Invalid state: metric must be an object");
198
+ }
199
+ const metric = obj.metric;
200
+ if (typeof metric.name !== "string" || typeof metric.direction !== "string") {
201
+ throw new AutoresearchError("Invalid state: metric must have name and direction");
202
+ }
203
+ if (typeof obj.stats !== "object" || obj.stats === null) {
204
+ throw new AutoresearchError("Invalid state: stats must be an object");
205
+ }
206
+ const stats = obj.stats;
207
+ if (typeof stats.total_iterations !== "number" || typeof stats.kept !== "number" || typeof stats.discarded !== "number" || typeof stats.needs_human !== "number") {
208
+ throw new AutoresearchError("Invalid state: stats must have total_iterations, kept, discarded, needs_human");
209
+ }
210
+ if (typeof obj.flags !== "object" || obj.flags === null) {
211
+ throw new AutoresearchError("Invalid state: flags must be an object");
212
+ }
213
+ const flags = obj.flags;
214
+ if (typeof flags.stop_requested !== "boolean" || typeof flags.needs_human !== "boolean" || typeof flags.background_active !== "boolean" || typeof flags.stop_ready !== "boolean") {
215
+ throw new AutoresearchError("Invalid state: flags must have stop_requested, needs_human, background_active, stop_ready");
216
+ }
217
+ return obj;
218
+ }
146
219
  //# sourceMappingURL=helpers.js.map