Skip to content

Commit dd64858

Browse files
committed
Merge tag 'v1.2.27' into upstream/merge-v1.2.27
# Conflicts: # .github/TEAM_MEMBERS # .github/actions/setup-git-committer/action.yml # .github/pull_request_template.md # .github/workflows/opencode.yml # .github/workflows/pr-management.yml # .github/workflows/pr-standards.yml # .gitignore # .opencode/command/issues.md # .opencode/opencode.jsonc # CONTRIBUTING.md # LICENSE # README.md # SECURITY.md # bun.lock # github/README.md # github/action.yml # github/index.ts # github/script/release # install # package.json # packages/opencode/Dockerfile # packages/opencode/package.json # packages/opencode/parsers-config.ts # packages/opencode/script/build.ts # packages/opencode/script/postinstall.mjs # packages/opencode/script/publish.ts # packages/opencode/src/acp/README.md # packages/opencode/src/acp/agent.ts # packages/opencode/src/agent/agent.ts # packages/opencode/src/cli/cmd/debug/agent.ts # packages/opencode/src/cli/cmd/github.ts # packages/opencode/src/cli/cmd/import.ts # packages/opencode/src/cli/cmd/mcp.ts # packages/opencode/src/cli/cmd/providers.ts # packages/opencode/src/cli/cmd/run.ts # packages/opencode/src/cli/cmd/serve.ts # packages/opencode/src/cli/cmd/tui/app.tsx # packages/opencode/src/cli/cmd/tui/attach.ts # packages/opencode/src/cli/cmd/tui/component/dialog-mcp.tsx # packages/opencode/src/cli/cmd/tui/component/dialog-provider.tsx # packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx # packages/opencode/src/cli/cmd/tui/component/dialog-workspace-list.tsx # packages/opencode/src/cli/cmd/tui/component/logo.tsx # packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx # packages/opencode/src/cli/cmd/tui/component/tips.tsx # packages/opencode/src/cli/cmd/tui/context/route.tsx # packages/opencode/src/cli/cmd/tui/context/sdk.tsx # packages/opencode/src/cli/cmd/tui/context/sync.tsx # packages/opencode/src/cli/cmd/tui/context/theme.tsx # packages/opencode/src/cli/cmd/tui/context/theme/aura.json # packages/opencode/src/cli/cmd/tui/context/theme/ayu.json # packages/opencode/src/cli/cmd/tui/context/theme/carbonfox.json # packages/opencode/src/cli/cmd/tui/context/theme/catppuccin-frappe.json # packages/opencode/src/cli/cmd/tui/context/theme/catppuccin-macchiato.json # packages/opencode/src/cli/cmd/tui/context/theme/catppuccin.json # packages/opencode/src/cli/cmd/tui/context/theme/cobalt2.json # packages/opencode/src/cli/cmd/tui/context/theme/cursor.json # packages/opencode/src/cli/cmd/tui/context/theme/dracula.json # packages/opencode/src/cli/cmd/tui/context/theme/everforest.json # packages/opencode/src/cli/cmd/tui/context/theme/flexoki.json # packages/opencode/src/cli/cmd/tui/context/theme/github.json # packages/opencode/src/cli/cmd/tui/context/theme/gruvbox.json # packages/opencode/src/cli/cmd/tui/context/theme/kanagawa.json # packages/opencode/src/cli/cmd/tui/context/theme/lucent-orng.json # packages/opencode/src/cli/cmd/tui/context/theme/material.json # packages/opencode/src/cli/cmd/tui/context/theme/matrix.json # packages/opencode/src/cli/cmd/tui/context/theme/mercury.json # packages/opencode/src/cli/cmd/tui/context/theme/monokai.json # packages/opencode/src/cli/cmd/tui/context/theme/nightowl.json # packages/opencode/src/cli/cmd/tui/context/theme/nord.json # packages/opencode/src/cli/cmd/tui/context/theme/one-dark.json # packages/opencode/src/cli/cmd/tui/context/theme/opencode.json # packages/opencode/src/cli/cmd/tui/context/theme/orng.json # packages/opencode/src/cli/cmd/tui/context/theme/osaka-jade.json # packages/opencode/src/cli/cmd/tui/context/theme/palenight.json # packages/opencode/src/cli/cmd/tui/context/theme/rosepine.json # packages/opencode/src/cli/cmd/tui/context/theme/solarized.json # packages/opencode/src/cli/cmd/tui/context/theme/synthwave84.json # packages/opencode/src/cli/cmd/tui/context/theme/tokyonight.json # packages/opencode/src/cli/cmd/tui/context/theme/vercel.json # packages/opencode/src/cli/cmd/tui/context/theme/vesper.json # packages/opencode/src/cli/cmd/tui/context/theme/zenburn.json # packages/opencode/src/cli/cmd/tui/routes/home.tsx # packages/opencode/src/cli/cmd/tui/routes/session/footer.tsx # packages/opencode/src/cli/cmd/tui/routes/session/index.tsx # packages/opencode/src/cli/cmd/tui/routes/session/permission.tsx # packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx # packages/opencode/src/cli/cmd/tui/thread.ts # packages/opencode/src/cli/cmd/tui/util/clipboard.ts # packages/opencode/src/cli/cmd/tui/worker.ts # packages/opencode/src/cli/cmd/uninstall.ts # packages/opencode/src/cli/cmd/upgrade.ts # packages/opencode/src/cli/cmd/web.ts # packages/opencode/src/cli/error.ts # packages/opencode/src/cli/logo.ts # packages/opencode/src/command/index.ts # packages/opencode/src/config/config.ts # packages/opencode/src/config/migrate-tui-config.ts # packages/opencode/src/config/paths.ts # packages/opencode/src/control-plane/adaptors/worktree.ts # packages/opencode/src/effect/runtime.ts # packages/opencode/src/file/index.ts # packages/opencode/src/file/protected.ts # packages/opencode/src/flag/flag.ts # packages/opencode/src/global/index.ts # packages/opencode/src/index.ts # packages/opencode/src/installation/index.ts # packages/opencode/src/mcp/index.ts # packages/opencode/src/mcp/oauth-callback.ts # packages/opencode/src/mcp/oauth-provider.ts # packages/opencode/src/permission/next.ts # packages/opencode/src/permission/schema.ts # packages/opencode/src/plugin/codex.ts # packages/opencode/src/plugin/copilot.ts # packages/opencode/src/plugin/index.ts # packages/opencode/src/project/instance.ts # packages/opencode/src/project/project.ts # packages/opencode/src/project/vcs.ts # packages/opencode/src/provider/auth-service.ts # packages/opencode/src/provider/error.ts # packages/opencode/src/provider/models.ts # packages/opencode/src/provider/provider.ts # packages/opencode/src/question/index.ts # packages/opencode/src/question/schema.ts # packages/opencode/src/server/routes/config.ts # packages/opencode/src/server/routes/experimental.ts # packages/opencode/src/server/routes/global.ts # packages/opencode/src/server/routes/project.ts # packages/opencode/src/server/routes/pty.ts # packages/opencode/src/server/routes/session.ts # packages/opencode/src/server/server.ts # packages/opencode/src/session/compaction.ts # packages/opencode/src/session/index.ts # packages/opencode/src/session/message-v2.ts # packages/opencode/src/session/processor.ts # packages/opencode/src/session/prompt.ts # packages/opencode/src/session/prompt/anthropic.txt # packages/opencode/src/session/prompt/codex_header.txt # packages/opencode/src/session/prompt/qwen.txt # packages/opencode/src/session/retry.ts # packages/opencode/src/session/schema.ts # packages/opencode/src/session/system.ts # packages/opencode/src/share/share-next.ts # packages/opencode/src/skill/skill.ts # packages/opencode/src/storage/db.ts # packages/opencode/src/tool/apply_patch.ts # packages/opencode/src/tool/bash.ts # packages/opencode/src/tool/edit.ts # packages/opencode/src/tool/external-directory.ts # packages/opencode/src/tool/registry.ts # packages/opencode/src/tool/skill.ts # packages/opencode/src/tool/tool.ts # packages/opencode/src/tool/webfetch.ts # packages/opencode/src/tool/write.ts # packages/opencode/src/util/filesystem.ts # packages/opencode/src/util/instance-state.ts # packages/opencode/src/util/schema.ts # packages/opencode/src/util/token.ts # packages/opencode/test/agent/agent.test.ts # packages/opencode/test/cli/import.test.ts # packages/opencode/test/config/agent-color.test.ts # packages/opencode/test/config/config.test.ts # packages/opencode/test/file/path-traversal.test.ts # packages/opencode/test/fixture/fixture.ts # packages/opencode/test/mcp/headers.test.ts # packages/opencode/test/mcp/oauth-auto-connect.test.ts # packages/opencode/test/mcp/oauth-browser.test.ts # packages/opencode/test/permission/next.test.ts # packages/opencode/test/project/project.test.ts # packages/opencode/test/provider/amazon-bedrock.test.ts # packages/opencode/test/provider/gitlab-duo.test.ts # packages/opencode/test/provider/provider.test.ts # packages/opencode/test/provider/transform.test.ts # packages/opencode/test/pty/pty-session.test.ts # packages/opencode/test/question/question.test.ts # packages/opencode/test/session/compaction.test.ts # packages/opencode/test/session/llm.test.ts # packages/opencode/test/session/retry.test.ts # packages/opencode/test/skill/skill.test.ts # packages/opencode/test/tool/fixtures/models-api.json # packages/opencode/test/tool/read.test.ts # packages/opencode/test/tool/registry.test.ts # packages/opencode/test/tool/skill.test.ts # packages/opencode/test/tool/truncation.test.ts # packages/opencode/test/tool/webfetch.test.ts # packages/opencode/test/util/instance-state.test.ts # packages/plugin/package.json # packages/script/src/index.ts # packages/sdk/js/package.json # packages/sdk/js/src/gen/types.gen.ts # packages/sdk/js/src/v2/gen/sdk.gen.ts # packages/sdk/js/src/v2/gen/types.gen.ts # packages/sdk/openapi.json # packages/util/package.json # packages/util/src/error.ts # script/changelog.ts # script/publish.ts # sdks/vscode/README.md # sdks/vscode/package.json # sdks/vscode/script/release # turbo.json
2 parents 2445da3 + 4ee426b commit dd64858

3,941 files changed

Lines changed: 512002 additions & 5009 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.

.github/CODEOWNERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# web + desktop packages
2+
packages/app/ @adamdotdevin
3+
packages/tauri/ @adamdotdevin
4+
packages/desktop/src-tauri/ @brendonovich
5+
packages/desktop/ @adamdotdevin

.github/TEAM_MEMBERS

Lines changed: 15 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,15 @@
1-
aidtya
2-
aloks98
3-
altimateanas
4-
anandgupta42
5-
ankitksharma
6-
anusha-sharma
7-
arora-saurabh448
8-
dvanaken
9-
frasermarlow
10-
gaurpulkit
11-
govindpawa
12-
jontsai
13-
kulvirgit
14-
mdesmet
15-
mhallida
16-
ppradnesh
17-
rakendd
18-
ralphstodomingo
19-
ravik-aai
20-
robertmaybin
21-
sahrizvi
22-
sanjaykr5
23-
saravmajestic
24-
sgvarsh
25-
shreyastelkar
26-
sourabhchrs93
27-
suryaiyer95
28-
tshreyas
29-
vivekvenkatareddy
30-
yukthagv
1+
adamdotdevin
2+
Brendonovich
3+
fwang
4+
Hona
5+
iamdavidhill
6+
jayair
7+
jlongster
8+
kitlangton
9+
kommander
10+
MrMushrooooom
11+
nexxeln
12+
R44VC0RP
13+
rekram1-node
14+
RhysSullivan
15+
thdxr

.github/VOUCHED.td

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Vouched contributors for this project.
2+
#
3+
# See https://github.com/mitchellh/vouch for details.
4+
#
5+
# Syntax:
6+
# - One handle per line (without @), sorted alphabetically.
7+
# - Optional platform prefix: platform:username (e.g., github:user).
8+
# - Denounce with minus prefix: -username or -platform:username.
9+
# - Optional details after a space following the handle.
10+
adamdotdevin
11+
-agusbasari29 AI PR slop
12+
ariane-emory
13+
edemaine
14+
-florianleibert
15+
fwang
16+
iamdavidhill
17+
jayair
18+
kitlangton
19+
kommander
20+
r44vc0rp
21+
rekram1-node
22+
-spider-yamet clawdbot/llm psychosis, spam pinging the team
23+
thdxr

.github/pull_request_template.md

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,29 @@
1-
## Summary
1+
### Issue for this PR
22

3-
What changed and why?
3+
Closes #
44

5-
## Test Plan
5+
### Type of change
66

7-
How was this tested?
7+
- [ ] Bug fix
8+
- [ ] New feature
9+
- [ ] Refactor / code improvement
10+
- [ ] Documentation
811

9-
## Checklist
12+
### What does this PR do?
1013

11-
- [ ] Tests added/updated
12-
- [ ] Documentation updated (if needed)
13-
- [ ] CHANGELOG updated (if user-facing)
14+
Please provide a description of the issue, the changes you made to fix it, and why they work. It is expected that you understand why your changes work and if you do not understand why at least say as much so a maintainer knows how much to value the PR.
15+
16+
**If you paste a large clearly AI generated description here your PR may be IGNORED or CLOSED!**
17+
18+
### How did you verify your code works?
19+
20+
### Screenshots / recordings
21+
22+
_If this is a UI change, please include a screenshot or recording._
23+
24+
### Checklist
25+
26+
- [ ] I have tested my changes locally
27+
- [ ] I have not included unrelated changes in this PR
28+
29+
_If you do not follow this template your PR will be automatically rejected._

.github/workflows/beta.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: beta
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "0 * * * *"
7+
8+
jobs:
9+
sync:
10+
runs-on: blacksmith-4vcpu-ubuntu-2404
11+
permissions:
12+
contents: write
13+
pull-requests: write
14+
steps:
15+
- name: Checkout repository
16+
uses: actions/checkout@v4
17+
with:
18+
fetch-depth: 0
19+
20+
- name: Setup Bun
21+
uses: ./.github/actions/setup-bun
22+
23+
- name: Setup Git Committer
24+
id: setup-git-committer
25+
uses: ./.github/actions/setup-git-committer
26+
with:
27+
opencode-app-id: ${{ vars.OPENCODE_APP_ID }}
28+
opencode-app-secret: ${{ secrets.OPENCODE_APP_SECRET }}
29+
30+
- name: Install OpenCode
31+
run: bun i -g opencode-ai
32+
33+
- name: Sync beta branch
34+
env:
35+
GH_TOKEN: ${{ steps.setup-git-committer.outputs.token }}
36+
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
37+
run: bun script/beta.ts
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
name: compliance-close
2+
3+
on:
4+
schedule:
5+
# Run every 30 minutes to check for expired compliance windows
6+
- cron: "*/30 * * * *"
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
issues: write
12+
pull-requests: write
13+
14+
jobs:
15+
close-non-compliant:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Close non-compliant issues and PRs after 2 hours
19+
uses: actions/github-script@v7
20+
with:
21+
script: |
22+
const { data: items } = await github.rest.issues.listForRepo({
23+
owner: context.repo.owner,
24+
repo: context.repo.repo,
25+
labels: 'needs:compliance',
26+
state: 'open',
27+
per_page: 100,
28+
});
29+
30+
if (items.length === 0) {
31+
core.info('No open issues/PRs with needs:compliance label');
32+
return;
33+
}
34+
35+
const now = Date.now();
36+
const twoHours = 2 * 60 * 60 * 1000;
37+
38+
for (const item of items) {
39+
const isPR = !!item.pull_request;
40+
const kind = isPR ? 'PR' : 'issue';
41+
42+
const { data: comments } = await github.rest.issues.listComments({
43+
owner: context.repo.owner,
44+
repo: context.repo.repo,
45+
issue_number: item.number,
46+
});
47+
48+
const complianceComment = comments.find(c => c.body.includes('<!-- issue-compliance -->'));
49+
if (!complianceComment) continue;
50+
51+
const commentAge = now - new Date(complianceComment.created_at).getTime();
52+
if (commentAge < twoHours) {
53+
core.info(`${kind} #${item.number} still within 2-hour window (${Math.round(commentAge / 60000)}m elapsed)`);
54+
continue;
55+
}
56+
57+
const closeMessage = isPR
58+
? 'This pull request has been automatically closed because it was not updated to meet our [contributing guidelines](../blob/dev/CONTRIBUTING.md) within the 2-hour window.\n\nFeel free to open a new pull request that follows our guidelines.'
59+
: 'This issue has been automatically closed because it was not updated to meet our [contributing guidelines](../blob/dev/CONTRIBUTING.md) within the 2-hour window.\n\nFeel free to open a new issue that follows our issue templates.';
60+
61+
await github.rest.issues.createComment({
62+
owner: context.repo.owner,
63+
repo: context.repo.repo,
64+
issue_number: item.number,
65+
body: closeMessage,
66+
});
67+
68+
try {
69+
await github.rest.issues.removeLabel({
70+
owner: context.repo.owner,
71+
repo: context.repo.repo,
72+
issue_number: item.number,
73+
name: 'needs:compliance',
74+
});
75+
} catch (e) {}
76+
77+
if (isPR) {
78+
await github.rest.pulls.update({
79+
owner: context.repo.owner,
80+
repo: context.repo.repo,
81+
pull_number: item.number,
82+
state: 'closed',
83+
});
84+
} else {
85+
await github.rest.issues.update({
86+
owner: context.repo.owner,
87+
repo: context.repo.repo,
88+
issue_number: item.number,
89+
state: 'closed',
90+
state_reason: 'not_planned',
91+
});
92+
}
93+
94+
core.info(`Closed non-compliant ${kind} #${item.number} after 2-hour window`);
95+
}

.github/workflows/containers.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: containers
2+
3+
on:
4+
push:
5+
branches:
6+
- dev
7+
paths:
8+
- packages/containers/**
9+
- .github/workflows/containers.yml
10+
- package.json
11+
workflow_dispatch:
12+
13+
permissions:
14+
contents: read
15+
packages: write
16+
17+
jobs:
18+
build:
19+
runs-on: blacksmith-4vcpu-ubuntu-2404
20+
env:
21+
REGISTRY: ghcr.io/${{ github.repository_owner }}
22+
TAG: "24.04"
23+
steps:
24+
- uses: actions/checkout@v4
25+
26+
- uses: ./.github/actions/setup-bun
27+
28+
- name: Set up QEMU
29+
uses: docker/setup-qemu-action@v3
30+
31+
- name: Set up Docker Buildx
32+
uses: docker/setup-buildx-action@v3
33+
34+
- name: Login to GHCR
35+
uses: docker/login-action@v3
36+
with:
37+
registry: ghcr.io
38+
username: ${{ github.repository_owner }}
39+
password: ${{ secrets.GITHUB_TOKEN }}
40+
41+
- name: Build and push containers
42+
run: bun ./packages/containers/script/build.ts --push
43+
env:
44+
REGISTRY: ${{ env.REGISTRY }}
45+
TAG: ${{ env.TAG }}

0 commit comments

Comments
 (0)