revu-ai 0.1.2 → 0.2.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 (90) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +75 -12
  3. package/dist/cache/cross-reference.d.ts +37 -0
  4. package/dist/cache/cross-reference.js +94 -0
  5. package/dist/cache/cross-reference.js.map +1 -0
  6. package/dist/cli.js +106 -12
  7. package/dist/cli.js.map +1 -1
  8. package/dist/config.d.ts +3 -1
  9. package/dist/config.js +9 -10
  10. package/dist/config.js.map +1 -1
  11. package/dist/discovery.js +8 -1
  12. package/dist/discovery.js.map +1 -1
  13. package/dist/findings.d.ts +18 -0
  14. package/dist/findings.js +22 -0
  15. package/dist/findings.js.map +1 -0
  16. package/dist/forges/dedup.d.ts +17 -0
  17. package/dist/forges/dedup.js +42 -0
  18. package/dist/forges/dedup.js.map +1 -0
  19. package/dist/forges/diff-lines.d.ts +12 -0
  20. package/dist/forges/diff-lines.js +93 -0
  21. package/dist/forges/diff-lines.js.map +1 -0
  22. package/dist/forges/github/api.d.ts +70 -0
  23. package/dist/forges/github/api.js +102 -0
  24. package/dist/forges/github/api.js.map +1 -0
  25. package/dist/forges/github/index.d.ts +10 -0
  26. package/dist/forges/github/index.js +292 -0
  27. package/dist/forges/github/index.js.map +1 -0
  28. package/dist/forges/gitlab/index.d.ts +7 -0
  29. package/dist/forges/gitlab/index.js +13 -0
  30. package/dist/forges/gitlab/index.js.map +1 -0
  31. package/dist/forges/post-cmd.d.ts +20 -0
  32. package/dist/forges/post-cmd.js +54 -0
  33. package/dist/forges/post-cmd.js.map +1 -0
  34. package/dist/forges/registry.d.ts +5 -0
  35. package/dist/forges/registry.js +24 -0
  36. package/dist/forges/registry.js.map +1 -0
  37. package/dist/forges/render.d.ts +18 -0
  38. package/dist/forges/render.js +59 -0
  39. package/dist/forges/render.js.map +1 -0
  40. package/dist/forges/types.d.ts +65 -0
  41. package/dist/forges/types.js +2 -0
  42. package/dist/forges/types.js.map +1 -0
  43. package/dist/index.d.ts +2 -2
  44. package/dist/index.js +1 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/init.d.ts +3 -1
  47. package/dist/init.js +6 -3
  48. package/dist/init.js.map +1 -1
  49. package/dist/mcp/aggregator.d.ts +9 -1
  50. package/dist/mcp/aggregator.js +39 -3
  51. package/dist/mcp/aggregator.js.map +1 -1
  52. package/dist/mcp/server.d.ts +8 -0
  53. package/dist/mcp/server.js +60 -5
  54. package/dist/mcp/server.js.map +1 -1
  55. package/dist/mcp/tools.d.ts +38 -2
  56. package/dist/mcp/tools.js +36 -1
  57. package/dist/mcp/tools.js.map +1 -1
  58. package/dist/output/github.d.ts +1 -1
  59. package/dist/output/github.js +3 -7
  60. package/dist/output/github.js.map +1 -1
  61. package/dist/output/json.d.ts +3 -1
  62. package/dist/output/json.js +4 -7
  63. package/dist/output/json.js.map +1 -1
  64. package/dist/output/pretty.d.ts +1 -1
  65. package/dist/output/pretty.js +2 -8
  66. package/dist/output/pretty.js.map +1 -1
  67. package/dist/prompts/review-system.d.ts +3 -1
  68. package/dist/prompts/review-system.js +47 -2
  69. package/dist/prompts/review-system.js.map +1 -1
  70. package/dist/providers/claude-code.d.ts +7 -5
  71. package/dist/providers/claude-code.js +77 -15
  72. package/dist/providers/claude-code.js.map +1 -1
  73. package/dist/providers/opencode.d.ts +6 -0
  74. package/dist/providers/opencode.js +653 -0
  75. package/dist/providers/opencode.js.map +1 -0
  76. package/dist/providers/registry.d.ts +7 -7
  77. package/dist/providers/registry.js +29 -21
  78. package/dist/providers/registry.js.map +1 -1
  79. package/dist/providers/types.d.ts +8 -1
  80. package/dist/runner.d.ts +6 -1
  81. package/dist/runner.js +71 -26
  82. package/dist/runner.js.map +1 -1
  83. package/dist/scaffold-paths.d.ts +10 -0
  84. package/dist/scaffold-paths.js +25 -0
  85. package/dist/scaffold-paths.js.map +1 -0
  86. package/dist/types.d.ts +38 -3
  87. package/dist/types.js +4 -7
  88. package/dist/types.js.map +1 -1
  89. package/examples/github-workflow.yml +51 -10
  90. package/package.json +16 -10
@@ -1,5 +1,6 @@
1
1
  export function buildSystemPrompt(args) {
2
2
  const inspectHint = inspectionHint(args.reviewTarget);
3
+ const priorBlock = renderPriorFindingsBlock(args);
3
4
  return `You are a focused code reviewer for the rule "${args.ruleId}".
4
5
 
5
6
  You evaluate the changes ONLY through the lens of the rules in the <rules> block below. If the changes are unrelated to those rules, finish your turn without reporting anything — silence is the correct outcome in that case.
@@ -20,6 +21,7 @@ For each issue you find, call the MCP tool \`mcp__revu__report_finding\` with:
20
21
  - lineEnd: 1-indexed line number where the issue ends (optional, requires line)
21
22
  - message: a clear, concise description of the issue and what to do about it
22
23
  - category: optional free-form category tag
24
+ - priorFp: ONLY when this is a moved version of a finding listed in the prior findings below — pass that finding's fingerprint so the runner can correlate them.
23
25
 
24
26
  Severity guidance:
25
27
  aesthetic = nit / style preference
@@ -32,12 +34,55 @@ Severity guidance:
32
34
 
33
35
  - Do NOT modify any files.
34
36
  - Do NOT report findings outside the scope of the <rules> below.
35
- - Do NOT include a final summary or commentary about what you reviewed; just call the tool for any findings and stop. The runner doesn't read your text output.
37
+ - Do NOT include a final summary or commentary about what you reviewed; just call tools and stop. The runner doesn't read your text output.
38
+ - Do NOT delegate to subagents (no \`task\` / \`Task\` tool, no agent dispatch). Run every \`git\`, \`Read\`, \`Grep\`, \`Glob\` call yourself in this session — subagent calls run silently to the runner's progress log, give the impression of a stuck agent, and cost extra tokens for no review benefit. The single rule scope is small enough to review directly.
36
39
  - If you find nothing, just stop. No "all clear" message needed.
37
-
40
+ ${priorBlock}
38
41
  <rules>
39
42
  ${args.rulesContent.trim()}
40
43
  </rules>
44
+ `;
45
+ }
46
+ function renderPriorFindingsBlock(args) {
47
+ const priors = args.priorFindings ?? [];
48
+ if (priors.length === 0)
49
+ return "";
50
+ const oldSha = args.priorHeadSha ?? "(unknown)";
51
+ const headHint = args.reviewTarget.mode === "ref-range"
52
+ ? args.reviewTarget.head
53
+ : args.reviewTarget.mode === "staged"
54
+ ? "the staged changes"
55
+ : "the working tree";
56
+ // Trim each prior finding to just the fields the agent needs to recognise it.
57
+ const slim = priors.map((f) => ({
58
+ fingerprint: f.fingerprint,
59
+ severity: f.severity,
60
+ path: f.path,
61
+ ...(f.line !== undefined ? { line: f.line } : {}),
62
+ ...(f.lineEnd !== undefined ? { lineEnd: f.lineEnd } : {}),
63
+ message: f.message,
64
+ ...(f.category !== undefined ? { category: f.category } : {}),
65
+ }));
66
+ return `
67
+ # Previously reported findings (this rule)
68
+
69
+ A prior run of THIS rule, against commit \`${oldSha}\`, reported the findings below. The current target is ${headHint}. Use \`git diff ${oldSha}..${args.reviewTarget.mode === "ref-range" ? args.reviewTarget.head : "HEAD"}\` (or any narrower diff) to see what's changed since then.
70
+
71
+ For EACH prior finding, decide:
72
+
73
+ - **Resolved** — the new commits address the issue (offending code removed, fixed, or made acceptable). Call \`mcp__revu__mark_finding_resolved\` with the prior \`fingerprint\` and \`reason="fixed"\`.
74
+ - **No longer applicable** — the file was deleted, the rule's premise no longer holds, etc. Call \`mcp__revu__mark_finding_resolved\` with \`reason="stale"\`.
75
+ - **Still open at the same location** — DO NOTHING. The runner keeps the prior open status; do NOT re-emit a \`report_finding\` for it.
76
+ - **Still open but at a different location** (line moved, code shifted) — call \`mcp__revu__report_finding\` for the NEW location with \`priorFp\` set to the prior fingerprint.
77
+
78
+ Then, additionally, scan the diff for GENUINELY new findings (not in the prior list) and \`report_finding\` for those with \`priorFp\` unset.
79
+
80
+ ## Prior findings JSON
81
+
82
+ \`\`\`json
83
+ ${JSON.stringify(slim, null, 2)}
84
+ \`\`\`
85
+
41
86
  `;
42
87
  }
43
88
  function inspectionHint(target) {
@@ -1 +1 @@
1
- {"version":3,"file":"review-system.js","sourceRoot":"","sources":["../../src/prompts/review-system.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,IAIjC;IACC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtD,OAAO,iDAAiD,IAAI,CAAC,MAAM;;;;;;;EAOnE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BX,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;;CAEzB,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,MAAoB;IAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAC9B,OAAO,kBAAkB,IAAI,MAAM,IAAI;wBACnB,IAAI,MAAM,IAAI;gBACtB,IAAI,KAAK,IAAI;;iBAEZ,IAAI,MAAM,IAAI,kCAAkC,CAAC;IAChE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACnC,OAAO;;oDAEyC,CAAC;IACnD,CAAC;IACD,OAAO;;wDAE+C,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"review-system.js","sourceRoot":"","sources":["../../src/prompts/review-system.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,IAMjC;IACC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAElD,OAAO,iDAAiD,IAAI,CAAC,MAAM;;;;;;;EAOnE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BX,UAAU;;EAEV,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;;CAEzB,CAAC;AACF,CAAC;AAED,SAAS,wBAAwB,CAAC,IAIjC;IACC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;IACxC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,WAAW;QACrD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI;QACxB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,QAAQ;YACnC,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,kBAAkB,CAAC;IAEzB,8EAA8E;IAC9E,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC,CAAC,CAAC;IAEJ,OAAO;;;6CAGoC,MAAM,0DAA0D,QAAQ,oBAAoB,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;;;;;;;;;;;;;;EAc1N,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;;;CAG9B,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,MAAoB;IAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAC9B,OAAO,kBAAkB,IAAI,MAAM,IAAI;wBACnB,IAAI,MAAM,IAAI;gBACtB,IAAI,KAAK,IAAI;;iBAEZ,IAAI,MAAM,IAAI,kCAAkC,CAAC;IAChE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACnC,OAAO;;oDAEyC,CAAC;IACnD,CAAC;IACD,OAAO;;wDAE+C,CAAC;AACzD,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import type { ReviewAgentFactory, ScaffoldAgentFactory } from "./types.js";
2
2
  export declare const claudeCodeProvider: ReviewAgentFactory;
3
+ export type ReadGateDecision = {
4
+ allow: true;
5
+ } | {
6
+ allow: false;
7
+ reason: string;
8
+ };
9
+ export declare function checkReadInput(toolInput: Record<string, unknown>): ReadGateDecision;
3
10
  export declare function isReadOnlyShellCommand(command: string): boolean;
4
- /**
5
- * The scaffold agent is allowed to call `Write`, but only on `.revu.md` files
6
- * that resolve to a path inside the repo root. Anything else is denied.
7
- */
8
- export declare function isAllowedRuleFileWrite(repoRoot: string, filePath: unknown): boolean;
9
11
  export declare const claudeCodeScaffoldProvider: ScaffoldAgentFactory;
@@ -1,5 +1,7 @@
1
1
  import { isAbsolute, relative, resolve } from "node:path";
2
+ import { statSync } from "node:fs";
2
3
  import { query } from "@anthropic-ai/claude-agent-sdk";
4
+ import { isAllowedRuleFileWrite } from "../scaffold-paths.js";
3
5
  import { buildSystemPrompt } from "../prompts/review-system.js";
4
6
  import { buildUserPrompt } from "../prompts/review-user.js";
5
7
  import { buildInitSystemPrompt } from "../prompts/init-system.js";
@@ -9,6 +11,7 @@ const ALWAYS_ALLOWED_TOOLS = [
9
11
  "Grep",
10
12
  "Glob",
11
13
  "mcp__revu__report_finding",
14
+ "mcp__revu__mark_finding_resolved",
12
15
  ];
13
16
  const RESTRICTED_TOOLSET = ["Read", "Grep", "Glob", "Bash"];
14
17
  export const claudeCodeProvider = (cfg) => ({
@@ -36,6 +39,8 @@ export const claudeCodeProvider = (cfg) => ({
36
39
  ruleId: input.ruleId,
37
40
  rulesContent: input.rulesContent,
38
41
  reviewTarget: input.reviewTarget,
42
+ ...(input.priorFindings ? { priorFindings: input.priorFindings } : {}),
43
+ ...(input.priorHeadSha ? { priorHeadSha: input.priorHeadSha } : {}),
39
44
  }),
40
45
  tools: RESTRICTED_TOOLSET,
41
46
  allowedTools: ALWAYS_ALLOWED_TOOLS,
@@ -50,6 +55,13 @@ export const claudeCodeProvider = (cfg) => ({
50
55
  },
51
56
  },
52
57
  canUseTool: async (toolName, toolInput) => {
58
+ if (toolName === "Read") {
59
+ const decision = checkReadInput(toolInput);
60
+ if (!decision.allow) {
61
+ return { behavior: "deny", message: decision.reason };
62
+ }
63
+ return { behavior: "allow", updatedInput: toolInput };
64
+ }
53
65
  if (toolName === "Bash") {
54
66
  const command = typeof toolInput.command === "string" ? toolInput.command : "";
55
67
  if (isReadOnlyShellCommand(command)) {
@@ -218,6 +230,64 @@ const FORBIDDEN_GIT_SUBCOMMANDS = new Set([
218
230
  "update-index",
219
231
  "hash-object",
220
232
  ]);
233
+ /**
234
+ * Pre-flight gate for the Read tool. Two failure modes in the Agent SDK's Read
235
+ * tool turn into session-fatal `error_during_execution` rather than recoverable
236
+ * tool errors:
237
+ *
238
+ * 1. `MaxFileReadTokenExceededError` — the SDK's own context-protection guard
239
+ * throws when a file exceeds its 25k-token cap. The throw is converted to
240
+ * a session-level error result, killing the rule mid-review.
241
+ * 2. `EISDIR` — the Read tool calls `readFileSync` without an `isDirectory()`
242
+ * check. Same upshot: throws, propagated as session error.
243
+ *
244
+ * Both are recoverable in principle. Detect the conditions ourselves before the
245
+ * SDK's tool runs and return a `canUseTool` denial with a useful message; the
246
+ * agent receives a normal tool-error result, adapts, and continues.
247
+ *
248
+ * Heuristic: 4 chars per token, soft cap at 20k tokens (~80 KB) to leave
249
+ * headroom under the SDK's 25k. Bypass the size check if the agent already
250
+ * passed `limit` — they're chunking on purpose and the SDK will only emit the
251
+ * requested slice.
252
+ */
253
+ const APPROX_BYTES_PER_TOKEN = 4;
254
+ const READ_SOFT_TOKEN_CAP = 20_000;
255
+ const READ_SOFT_BYTE_CAP = APPROX_BYTES_PER_TOKEN * READ_SOFT_TOKEN_CAP;
256
+ export function checkReadInput(toolInput) {
257
+ const filePath = toolInput["file_path"];
258
+ if (typeof filePath !== "string" || filePath.length === 0) {
259
+ // Bad input — let the SDK surface its own validation error.
260
+ return { allow: true };
261
+ }
262
+ let st;
263
+ try {
264
+ st = statSync(filePath);
265
+ }
266
+ catch {
267
+ // Missing / permission denied / etc. — let the SDK surface the canonical
268
+ // error so the agent gets the standard "no such file" experience.
269
+ return { allow: true };
270
+ }
271
+ if (st.isDirectory()) {
272
+ return {
273
+ allow: false,
274
+ reason: `${filePath} is a directory, not a file. Use \`Glob\` (e.g. \`Glob "${filePath}/**/*"\`) ` +
275
+ `or \`Bash: ls ${filePath}\` to list its contents, then Read a specific file.`,
276
+ };
277
+ }
278
+ const hasLimit = typeof toolInput["limit"] === "number" && toolInput["limit"] > 0;
279
+ if (!hasLimit && st.size > READ_SOFT_BYTE_CAP) {
280
+ const approxTokens = Math.round(st.size / APPROX_BYTES_PER_TOKEN);
281
+ return {
282
+ allow: false,
283
+ reason: `${filePath} is ${st.size} bytes (~${approxTokens} tokens) — too large to Read all at once ` +
284
+ `(the underlying cap is 25,000 tokens; reading more aborts the review). ` +
285
+ `Either Read with \`offset\`/\`limit\` (e.g. \`limit: 500\`) to chunk, or use \`Grep\` for content search, ` +
286
+ `or skip this file unless it's central to your rule.`,
287
+ };
288
+ }
289
+ return { allow: true };
290
+ }
221
291
  export function isReadOnlyShellCommand(command) {
222
292
  const trimmed = command.trim();
223
293
  if (trimmed.length === 0)
@@ -306,21 +376,6 @@ function summarizeToolInput(name, input) {
306
376
  return "";
307
377
  }
308
378
  }
309
- /**
310
- * The scaffold agent is allowed to call `Write`, but only on `.revu.md` files
311
- * that resolve to a path inside the repo root. Anything else is denied.
312
- */
313
- export function isAllowedRuleFileWrite(repoRoot, filePath) {
314
- if (typeof filePath !== "string" || filePath.length === 0)
315
- return false;
316
- if (!/\.revu\.md$/.test(filePath))
317
- return false;
318
- const abs = isAbsolute(filePath) ? filePath : resolve(repoRoot, filePath);
319
- const rel = relative(resolve(repoRoot), abs);
320
- if (rel === "" || rel.startsWith("..") || isAbsolute(rel))
321
- return false;
322
- return true;
323
- }
324
379
  const SCAFFOLD_TOOLSET = ["Read", "Grep", "Glob", "Bash", "Write"];
325
380
  const SCAFFOLD_ALWAYS_ALLOWED = ["Read", "Grep", "Glob"];
326
381
  export const claudeCodeScaffoldProvider = (cfg) => ({
@@ -349,6 +404,13 @@ export const claudeCodeScaffoldProvider = (cfg) => ({
349
404
  tools: SCAFFOLD_TOOLSET,
350
405
  allowedTools: SCAFFOLD_ALWAYS_ALLOWED,
351
406
  canUseTool: async (toolName, toolInput) => {
407
+ if (toolName === "Read") {
408
+ const decision = checkReadInput(toolInput);
409
+ if (!decision.allow) {
410
+ return { behavior: "deny", message: decision.reason };
411
+ }
412
+ return { behavior: "allow", updatedInput: toolInput };
413
+ }
352
414
  if (toolName === "Bash") {
353
415
  const command = typeof toolInput["command"] === "string" ? toolInput["command"] : "";
354
416
  if (isReadOnlyShellCommand(command)) {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/providers/claude-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/providers/claude-code.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ReviewAgentFactory, ScaffoldAgentFactory } from "./types.js";
2
+ /** Test-only export so `tests/opencode-bash.test.ts` can cross-validate
3
+ * every intended-allow command against `isReadOnlyShellCommand`. */
4
+ export declare const __READ_ONLY_BASH_FOR_TESTS: Record<string, "allow" | "deny">;
5
+ export declare const opencodeProvider: ReviewAgentFactory;
6
+ export declare const opencodeScaffoldProvider: ScaffoldAgentFactory;