| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
…ect Schema (#23244)
…mbass agents from touching these files (#24057)
Co-authored-by: rgs_ramp <rgs@ramp.com> Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
…example placeholder (#24105)
…t landed (#19937) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com>
Use catalog references for @opentui/core, @opentui/solid, and opentui-spinner across packages to ensure consistent versions and simplify updates.
… tool permission keys The permission configuration previously used a generic record type that didn't offer editor completions. Updated the schema to explicitly list all tool permission keys (read, edit, glob, grep, list, bash, task, external_directory, lsp, skill, todowrite, question, webfetch, websearch, codesearch, doom_loop) with proper types, enabling autocomplete when editing permission files.
73 upstream commits. Targeted v1.14.25 (not latest v1.14.31, 357 commits) because v1.14.26 introduces a packages/shared -> packages/core rename and Global module relocation that needs design discussion. Splitting keeps each sync mechanical. Conflicts: packages/opencode/package.json (kept our name, took their version), bun.lock (took upstream, regenerated), .github/workflows/publish.yml (kept our deletion). Notable: PR #23244 migrated the tool framework + all 18 built-in tools from Zod to Effect Schema. Adapted our browser_execute Level-1 + Level-2 surface accordingly. Yellow-zone audit: 4 files touched by upstream (tui/app.tsx, config.ts, installation/index.ts, session.ts). All auto-merged cleanly with our BrowserCode customizations preserved.
There was a problem hiding this comment.
4 issues found across 258 files
Note: This PR contains a large number of files. cubic only reviews up to 75 files per PR, so some files may not have been reviewed. cubic prioritises the most important files to review.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name=".github/actions/setup-bun/action.yml">
<violation number="1" location=".github/actions/setup-bun/action.yml:54">
P1: Do not splice raw `install-flags` into the shell command; this allows shell injection via action input.</violation>
</file>
<file name="packages/opencode/src/cli/cmd/tui/event.ts">
<violation number="1" location="packages/opencode/src/cli/cmd/tui/event.ts:39">
P2: `ToastShow.duration` lost its 5000ms default during the schema migration, so omitted durations can result in immediate toast dismissal.</violation>
</file>
<file name="packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx">
<violation number="1" location="packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx:120">
P2: Displayed editor selection line numbers are off by one because zero-based line indices are shown directly.</violation>
<violation number="2" location="packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx:762">
P2: Prompt context note uses zero-based line numbers, so line references sent to the model are incorrect for users.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review, or fix all with cubic.
Sorry, something went wrong.
| # https://github.com/oven-sh/bun/issues/28147 | ||
| if [ "$RUNNER_OS" = "Windows" ]; then | ||
| bun install --linker hoisted | ||
| bun install --linker hoisted ${{ inputs.install-flags }} |
There was a problem hiding this comment.
P1: Do not splice raw install-flags into the shell command; this allows shell injection via action input.
Prompt for AI agentsCheck if this issue is valid — if so, understand the root cause and fix it. At .github/actions/setup-bun/action.yml, line 54:
<comment>Do not splice raw `install-flags` into the shell command; this allows shell injection via action input.</comment>
<file context>
@@ -46,8 +51,8 @@ runs:
# https://github.com/oven-sh/bun/issues/28147
if [ "$RUNNER_OS" = "Windows" ]; then
- bun install --linker hoisted
+ bun install --linker hoisted ${{ inputs.install-flags }}
else
- bun install
</file context>
Sorry, something went wrong.
| title: Schema.optional(Schema.String), | ||
| message: Schema.String, | ||
| variant: Schema.Literals(["info", "success", "warning", "error"]), | ||
| duration: Schema.optional(Schema.Number).annotate({ description: "Duration in milliseconds" }), |
There was a problem hiding this comment.
P2: ToastShow.duration lost its 5000ms default during the schema migration, so omitted durations can result in immediate toast dismissal.
Prompt for AI agentsCheck if this issue is valid — if so, understand the root cause and fix it. At packages/opencode/src/cli/cmd/tui/event.ts, line 39:
<comment>`ToastShow.duration` lost its 5000ms default during the schema migration, so omitted durations can result in immediate toast dismissal.</comment>
<file context>
@@ -26,23 +26,23 @@ export const TuiEvent = {
+ title: Schema.optional(Schema.String),
+ message: Schema.String,
+ variant: Schema.Literals(["info", "success", "warning", "error"]),
+ duration: Schema.optional(Schema.Number).annotate({ description: "Duration in milliseconds" }),
}),
),
</file context>
Sorry, something went wrong.
| const selection = editor.selection()?.selection | ||
| if (!selection) return | ||
| if (selection.start.line === selection.end.line && selection.start.character === selection.end.character) return | ||
| if (selection.start.line === selection.end.line) return `#${selection.start.line}` |
There was a problem hiding this comment.
P2: Displayed editor selection line numbers are off by one because zero-based line indices are shown directly.
Prompt for AI agentsCheck if this issue is valid — if so, understand the root cause and fix it. At packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx, line 120:
<comment>Displayed editor selection line numbers are off by one because zero-based line indices are shown directly.</comment>
<file context>
@@ -104,11 +106,34 @@ export function Prompt(props: PromptProps) {
+ const selection = editor.selection()?.selection
+ if (!selection) return
+ if (selection.start.line === selection.end.line && selection.start.character === selection.end.character) return
+ if (selection.start.line === selection.end.line) return `#${selection.start.line}`
+ return `#${selection.start.line}-${selection.end.line}`
+ })
</file context>
Sorry, something went wrong.
| return `Note: The user opened the file "${editorSelection.filePath}".` | ||
| } | ||
| if (start.line === end.line) { | ||
| return `Note: The user selected line ${start.line} from "${editorSelection.filePath}": ${editorSelection.text}` |
There was a problem hiding this comment.
P2: Prompt context note uses zero-based line numbers, so line references sent to the model are incorrect for users.
Prompt for AI agentsCheck if this issue is valid — if so, understand the root cause and fix it. At packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx, line 762:
<comment>Prompt context note uses zero-based line numbers, so line references sent to the model are incorrect for users.</comment>
<file context>
@@ -721,6 +746,27 @@ export function Prompt(props: PromptProps) {
+ return `Note: The user opened the file "${editorSelection.filePath}".`
+ }
+ if (start.line === end.line) {
+ return `Note: The user selected line ${start.line} from "${editorSelection.filePath}": ${editorSelection.text}`
+ }
+ return `Note: The user selected lines ${start.line} to ${end.line} from "${editorSelection.filePath}": ${editorSelection.text}`
</file context>
Sorry, something went wrong.
|
Superseded by #30, which carries the same v1.14.25 commit as its base plus two additional release-point merges (v1.14.26 with the packages/shared → packages/core refactor, and v1.14.31 with the rest of the catch-up window). Closing in favor of the single combined PR. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Summary
Brings anomalyco/opencode up to v1.14.25 (bad732c26 on dev). 73 upstream commits since eb7555d3c.
Targeted v1.14.25 instead of latest v1.14.31 (357 commits behind). v1.14.26 introduces a sweeping refactor — packages/shared → packages/core rename (PR #24309) + Global module move (packages/opencode/src/global/index.ts + packages/shared/src/global.ts → packages/core/src/global.ts). Per the runbook's troubleshooting note ("Massive refactor — stop and ask"), splitting the catch-up into two syncs keeps each one mechanical. The shared→core sync should be a follow-up PR with design discussion of how our Global.Service Effect layer in packages/shared/src/global.ts integrates with the new upstream module structure.
Conflicts resolved
Adaptations beyond conflicts
Verification
Yellow-zone audit
Upstream touched 4 of our Yellow-zone files in this window. All auto-merged without conflicts; BrowserCode customizations verified preserved:
Follow-up
Next sync targets v1.14.26+ and must address upstream PR #24309 (packages/shared → packages/core rename) as a documented integration step, including how our Global.Service Effect layer reconciles with the new upstream packages/core/src/global.ts.