diff options
| author | adamdotdevin <[email protected]> | 2025-08-13 10:36:50 -0500 |
|---|---|---|
| committer | adamdotdevin <[email protected]> | 2025-08-13 10:36:50 -0500 |
| commit | f2021a85d61b2a1de2188af2da604102d16731b0 (patch) | |
| tree | 9d83450411a798a2a0a6859f91e81d864f720ec8 | |
| parent | 7d54f893c97330ccbb9e68ab775d68be288f1017 (diff) | |
| download | opencode-f2021a85d61b2a1de2188af2da604102d16731b0.tar.gz opencode-f2021a85d61b2a1de2188af2da604102d16731b0.zip | |
fix: allow attachments outside cwd, and support svg
| -rw-r--r-- | packages/opencode/src/session/index.ts | 1 | ||||
| -rw-r--r-- | packages/opencode/src/tool/read.ts | 4 | ||||
| -rw-r--r-- | packages/opencode/src/tool/tool.ts | 1 |
3 files changed, 3 insertions, 3 deletions
diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts index 85b067efc..c0ab7c7db 100644 --- a/packages/opencode/src/session/index.ts +++ b/packages/opencode/src/session/index.ts @@ -525,6 +525,7 @@ export namespace Session { abort: new AbortController().signal, agent: input.agent!, messageID: userMsg.id, + extra: { bypassCwdCheck: true }, metadata: async () => {}, }), ) diff --git a/packages/opencode/src/tool/read.ts b/packages/opencode/src/tool/read.ts index 793579308..8b3cd97bd 100644 --- a/packages/opencode/src/tool/read.ts +++ b/packages/opencode/src/tool/read.ts @@ -24,7 +24,7 @@ export const ReadTool = Tool.define("read", { filepath = path.join(process.cwd(), filepath) } const app = App.info() - if (!Filesystem.contains(app.path.cwd, filepath)) { + if (!ctx.extra?.["bypassCwdCheck"] && !Filesystem.contains(app.path.cwd, filepath)) { throw new Error(`File ${filepath} is not in the current working directory`) } @@ -98,8 +98,6 @@ function isImageFile(filePath: string): string | false { return "GIF" case ".bmp": return "BMP" - case ".svg": - return "SVG" case ".webp": return "WebP" default: diff --git a/packages/opencode/src/tool/tool.ts b/packages/opencode/src/tool/tool.ts index 8be3d0cde..871a10c81 100644 --- a/packages/opencode/src/tool/tool.ts +++ b/packages/opencode/src/tool/tool.ts @@ -10,6 +10,7 @@ export namespace Tool { agent: string callID?: string abort: AbortSignal + extra?: { [key: string]: any } metadata(input: { title?: string; metadata?: M }): void } export interface Info<Parameters extends StandardSchemaV1 = StandardSchemaV1, M extends Metadata = Metadata> { |
