Skip to content

Commit a888bf2

Browse files
committed
Merge remote-tracking branch 'upstream/dev' into dev
2 parents f8a23b4 + 4ca809e commit a888bf2

363 files changed

Lines changed: 5701 additions & 2083 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.oxlintrc.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/nicolo-ribaudo/oxc-project.github.io/refs/heads/json-schema/src/public/.oxlintrc.schema.json",
3+
"rules": {
4+
// Effect uses `function*` with Effect.gen/Effect.fnUntraced that don't always yield
5+
"require-yield": "off",
6+
// SolidJS uses `let ref: T | undefined` for JSX ref bindings assigned at runtime
7+
"no-unassigned-vars": "off"
8+
},
9+
"ignorePatterns": ["**/node_modules", "**/dist", "**/.build", "**/.sst", "**/*.d.ts"]
10+
}

AGENTS.md

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -11,36 +11,10 @@
1111
- Keep things in one function unless composable or reusable
1212
- Avoid `try`/`catch` where possible
1313
- Avoid using the `any` type
14-
- Prefer single word variable names where possible
1514
- Use Bun APIs when possible, like `Bun.file()`
1615
- Rely on type inference when possible; avoid explicit type annotations or interfaces unless necessary for exports or clarity
1716
- Prefer functional array methods (flatMap, filter, map) over for loops; use type guards on filter to maintain type inference downstream
1817

19-
### Naming
20-
21-
Prefer single word names for variables and functions. Only use multiple words if necessary.
22-
23-
### Naming Enforcement (Read This)
24-
25-
THIS RULE IS MANDATORY FOR AGENT WRITTEN CODE.
26-
27-
- Use single word names by default for new locals, params, and helper functions.
28-
- Multi-word names are allowed only when a single word would be unclear or ambiguous.
29-
- Do not introduce new camelCase compounds when a short single-word alternative is clear.
30-
- Before finishing edits, review touched lines and shorten newly introduced identifiers where possible.
31-
- Good short names to prefer: `pid`, `cfg`, `err`, `opts`, `dir`, `root`, `child`, `state`, `timeout`.
32-
- Examples to avoid unless truly required: `inputPID`, `existingClient`, `connectTimeout`, `workerPath`.
33-
34-
```ts
35-
// Good
36-
const foo = 1
37-
function journal(dir: string) {}
38-
39-
// Bad
40-
const fooBar = 1
41-
function prepareJournal(dir: string) {}
42-
```
43-
4418
Reduce total variable count by inlining when a value is only used once.
4519

4620
```ts

bun.lock

Lines changed: 98 additions & 60 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

nix/hashes.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"nodeModules": {
3-
"x86_64-linux": "sha256-gdS7MkWGeVO0qLs0HKD156YE0uCk5vWeYjKu4JR1Apw=",
4-
"aarch64-linux": "sha256-tF4pyVqzbrvdkRG23Fot37FCg8guRZkcU738fHPr/OQ=",
5-
"aarch64-darwin": "sha256-FugTWzGMb2ktAbNwQvWRM3GWOb5RTR++8EocDDrQMLc=",
6-
"x86_64-darwin": "sha256-jpe6EiwKr+CS00cn0eHwcDluO4LvO3t/5l/LcFBBKP0="
3+
"x86_64-linux": "sha256-PvIx2g1J5QIUIzkz2ABaAM4K/k/+xlBPDUExoOJNNuo=",
4+
"aarch64-linux": "sha256-YTAL+P13L5hgNJdDSiBED/UNa5zdTntnUUYDYL+Jdzo=",
5+
"aarch64-darwin": "sha256-y2VCJifYAp+H0lpDcJ0QfKNMG00Q/usFElaUIpdc8Vs=",
6+
"x86_64-darwin": "sha256-yz8edIlqLp06Y95ad8YjKz5azP7YATPle4TcDx6lM+U="
77
}
88
}

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"dev:web": "bun --cwd packages/app dev",
1212
"dev:console": "ulimit -n 10240 2>/dev/null; bun run --cwd packages/console/app dev",
1313
"dev:storybook": "bun --cwd packages/storybook storybook",
14+
"lint": "oxlint",
1415
"typecheck": "bun turbo typecheck",
1516
"postinstall": "bun run --cwd packages/opencode fix-node-pty",
1617
"prepare": "husky",
@@ -28,6 +29,7 @@
2829
"catalog": {
2930
"@effect/opentelemetry": "4.0.0-beta.48",
3031
"@effect/platform-node": "4.0.0-beta.48",
32+
"@npmcli/arborist": "9.4.0",
3133
"@types/bun": "1.3.11",
3234
"@types/cross-spawn": "6.0.6",
3335
"@octokit/rest": "22.0.0",
@@ -59,6 +61,7 @@
5961
"marked-shiki": "1.2.1",
6062
"remend": "1.3.0",
6163
"@playwright/test": "1.59.1",
64+
"semver": "7.7.4",
6265
"typescript": "5.8.2",
6366
"@typescript/native-preview": "7.0.0-dev.20251207.1",
6467
"zod": "4.1.8",
@@ -83,6 +86,7 @@
8386
"@typescript/native-preview": "catalog:",
8487
"glob": "13.0.5",
8588
"husky": "9.1.7",
89+
"oxlint": "1.60.0",
8690
"prettier": "3.6.2",
8791
"semver": "^7.6.0",
8892
"sst": "3.18.10",

packages/app/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@opencode-ai/app",
3-
"version": "1.4.5",
3+
"version": "1.4.6",
44
"description": "",
55
"type": "module",
66
"exports": {
@@ -42,7 +42,7 @@
4242
"@kobalte/core": "catalog:",
4343
"@opencode-ai/sdk": "workspace:*",
4444
"@opencode-ai/ui": "workspace:*",
45-
"@opencode-ai/util": "workspace:*",
45+
"@opencode-ai/shared": "workspace:*",
4646
"@shikijs/transformers": "3.9.2",
4747
"@solid-primitives/active-element": "2.1.3",
4848
"@solid-primitives/audio": "1.4.2",

packages/app/src/components/dialog-edit-project.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { createStore } from "solid-js/store"
99
import { useGlobalSDK } from "@/context/global-sdk"
1010
import { useGlobalSync } from "@/context/global-sync"
1111
import { type LocalProject, getAvatarColors } from "@/context/layout"
12-
import { getFilename } from "@opencode-ai/util/path"
12+
import { getFilename } from "@opencode-ai/shared/util/path"
1313
import { Avatar } from "@opencode-ai/ui/avatar"
1414
import { useLanguage } from "@/context/language"
1515

packages/app/src/components/dialog-fork.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { List } from "@opencode-ai/ui/list"
99
import { showToast } from "@opencode-ai/ui/toast"
1010
import { extractPromptFromParts } from "@/utils/prompt"
1111
import type { TextPart as SDKTextPart } from "@opencode-ai/sdk/v2/client"
12-
import { base64Encode } from "@opencode-ai/util/encode"
12+
import { base64Encode } from "@opencode-ai/shared/util/encode"
1313
import { useLanguage } from "@/context/language"
1414

1515
interface ForkableMessage {

packages/app/src/components/dialog-select-directory.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { Dialog } from "@opencode-ai/ui/dialog"
33
import { FileIcon } from "@opencode-ai/ui/file-icon"
44
import { List } from "@opencode-ai/ui/list"
55
import type { ListRef } from "@opencode-ai/ui/list"
6-
import { getDirectory, getFilename } from "@opencode-ai/util/path"
6+
import { getDirectory, getFilename } from "@opencode-ai/shared/util/path"
77
import fuzzysort from "fuzzysort"
88
import { createMemo, createResource, createSignal } from "solid-js"
99
import { useGlobalSDK } from "@/context/global-sdk"

packages/app/src/components/dialog-select-file.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import { FileIcon } from "@opencode-ai/ui/file-icon"
44
import { Icon } from "@opencode-ai/ui/icon"
55
import { Keybind } from "@opencode-ai/ui/keybind"
66
import { List } from "@opencode-ai/ui/list"
7-
import { base64Encode } from "@opencode-ai/util/encode"
8-
import { getDirectory, getFilename } from "@opencode-ai/util/path"
7+
import { base64Encode } from "@opencode-ai/shared/util/encode"
8+
import { getDirectory, getFilename } from "@opencode-ai/shared/util/path"
99
import { useNavigate } from "@solidjs/router"
1010
import { createMemo, createSignal, Match, onCleanup, Show, Switch } from "solid-js"
1111
import { formatKeybind, useCommand, type CommandOption } from "@/context/command"

0 commit comments

Comments
 (0)