Skip to content

Commit 35a19df

Browse files
committed
fix(scout): widen repo tool schema types
1 parent 343e688 commit 35a19df

2 files changed

Lines changed: 16 additions & 5 deletions

File tree

packages/opencode/src/tool/repo_clone.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@ import DESCRIPTION from "./repo_clone.txt"
88
import * as Tool from "./tool"
99
import { parseRepositoryReference, repositoryCachePath, sameRepositoryReference } from "@/util/repository"
1010

11-
const parameters = z.object({
11+
type Parameters = {
12+
repository: string
13+
refresh?: boolean
14+
}
15+
16+
const parameters: z.ZodType<Parameters> = z.object({
1217
repository: z
1318
.string()
1419
.describe("Repository to clone, as a git URL, host/path reference, or GitHub owner/repo shorthand"),
@@ -53,7 +58,7 @@ export const RepoCloneTool = Tool.define<typeof parameters, Metadata, AppFileSys
5358
return {
5459
description: DESCRIPTION,
5560
parameters,
56-
execute: (params: z.infer<typeof parameters>, ctx: Tool.Context<Metadata>) =>
61+
execute: (params: Parameters, ctx: Tool.Context<Metadata>) =>
5762
Effect.gen(function* () {
5863
const reference = parseRepositoryReference(params.repository)
5964
if (!reference) throw new Error("Repository must be a git URL, host/path reference, or GitHub owner/repo shorthand")

packages/opencode/src/tool/repo_overview.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,13 @@ import * as Tool from "./tool"
99
import { parseRepositoryReference, repositoryCachePath } from "@/util/repository"
1010
import { Instance } from "@/project/instance"
1111

12-
const parameters = z
12+
type Parameters = {
13+
repository?: string
14+
path?: string
15+
depth?: number
16+
}
17+
18+
const parameters: z.ZodType<Parameters> = z
1319
.object({
1420
repository: z
1521
.string()
@@ -84,7 +90,7 @@ export const RepoOverviewTool = Tool.define<typeof parameters, Metadata, AppFile
8490
const fs = yield* AppFileSystem.Service
8591
const git = yield* Git.Service
8692

87-
const resolveTarget = Effect.fn("RepoOverviewTool.resolveTarget")(function* (params: z.infer<typeof parameters>) {
93+
const resolveTarget = Effect.fn("RepoOverviewTool.resolveTarget")(function* (params: Parameters) {
8894
if (params.path) {
8995
const full = path.isAbsolute(params.path) ? params.path : path.resolve(Instance.directory, params.path)
9096
return { path: full, repository: params.repository }
@@ -147,7 +153,7 @@ export const RepoOverviewTool = Tool.define<typeof parameters, Metadata, AppFile
147153
return {
148154
description: DESCRIPTION,
149155
parameters,
150-
execute: (params: z.infer<typeof parameters>, ctx: Tool.Context<Metadata>) =>
156+
execute: (params: Parameters, ctx: Tool.Context<Metadata>) =>
151157
Effect.gen(function* () {
152158
const target = yield* resolveTarget(params)
153159
const depth = params.depth ?? 3

0 commit comments

Comments
 (0)