Skip to content

Commit 7bf9eb4

Browse files
committed
Merge branch 'main' into sd-cli
Resolve conflict in src/index.ts caused by agentclientprotocol#135 (codex app-server is now started via node when using the bundled codex.js). Drop the local getCodexPath() helper and pass process.env["CODEX_PATH"] (possibly undefined) to both startCodexConnection and runCodexCli, mirroring the same bundled-path + node-spawn fallback inside runCodexCli.
2 parents 868c66c + 9f9673b commit 7bf9eb4

92 files changed

Lines changed: 2291 additions & 854 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/workflows/ci.yml

Lines changed: 13 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -6,45 +6,26 @@ on:
66
pull_request:
77
branches: [main]
88

9-
jobs:
10-
typecheck:
11-
runs-on: ubuntu-latest
12-
steps:
13-
- uses: actions/checkout@v4
14-
- uses: actions/setup-node@v6
15-
with:
16-
node-version: '24'
17-
- run: npm ci
18-
- run: npm run typecheck
19-
20-
test:
21-
runs-on: ubuntu-latest
22-
steps:
23-
- uses: actions/checkout@v4
24-
- uses: actions/setup-node@v6
25-
with:
26-
node-version: '24'
27-
- run: npm ci
28-
- run: npm test
29-
- name: Run e2e tests
30-
env:
31-
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
32-
run:
33-
npm run test:e2e
9+
permissions: {}
3410

35-
build:
11+
jobs:
12+
ci:
3613
runs-on: ubuntu-latest
14+
permissions:
15+
contents: read
3716
steps:
3817
- uses: actions/checkout@v4
3918
- uses: actions/setup-node@v6
4019
with:
4120
node-version: '24'
42-
- run: npm ci
4321
- uses: oven-sh/setup-bun@v2
4422
with:
4523
bun-version: 1.3.11
46-
- run: npm run bundle:all
47-
- uses: actions/upload-artifact@v4
48-
with:
49-
name: binaries
50-
path: dist/bin/
24+
- name: Install dependencies
25+
run: npm ci
26+
- name: Typecheck
27+
run: npm run typecheck
28+
- name: Run unit tests
29+
run: npm test
30+
- name: Bundle binaries
31+
run: npm run bundle:all

.github/workflows/codex-update.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,15 @@ jobs:
2323
- name: Check if update is required
2424
id: check
2525
run: |
26-
if npm outdated "$CODEX_PACKAGE"; then
27-
echo "Package is up to date"
26+
RAW=$(jq -r --arg pkg "$CODEX_PACKAGE" '.dependencies[$pkg]' package.json)
27+
CURRENT="${RAW#[\^~]}"
28+
LATEST=$(npm view "$CODEX_PACKAGE" version)
29+
30+
if [ "$CURRENT" = "$LATEST" ]; then
31+
echo "Package is up to date ($CURRENT)"
2832
exit 0
2933
fi
3034
31-
LATEST=$(npm view "$CODEX_PACKAGE" version)
3235
BRANCH="codex-update/$LATEST"
3336
3437
if git ls-remote --exit-code --heads origin "refs/heads/$BRANCH" >/dev/null 2>&1; then

.github/workflows/e2e.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: E2E tests
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
permissions: {}
9+
10+
jobs:
11+
e2e:
12+
runs-on: ubuntu-latest
13+
permissions:
14+
contents: read
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: actions/setup-node@v6
18+
with:
19+
node-version: '24'
20+
- name: Configure sandboxing
21+
run: |
22+
sudo apt-get update
23+
sudo apt-get install --yes bubblewrap
24+
sudo sysctl -w kernel.unprivileged_userns_clone=1
25+
if [ -f /proc/sys/kernel/apparmor_restrict_unprivileged_userns ]; then
26+
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
27+
fi
28+
- name: Install dependencies
29+
run: npm ci
30+
- name: Run e2e tests
31+
env:
32+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
33+
run: npm run test:e2e

.github/workflows/publish.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,14 @@ jobs:
1818
- uses: actions/setup-node@v6
1919
with:
2020
node-version: '24'
21+
- name: Configure sandboxing
22+
run: |
23+
sudo apt-get update
24+
sudo apt-get install --yes bubblewrap
25+
sudo sysctl -w kernel.unprivileged_userns_clone=1
26+
if [ -f /proc/sys/kernel/apparmor_restrict_unprivileged_userns ]; then
27+
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
28+
fi
2129
- run: npm ci
2230
- run: npm run typecheck
2331
- run: npm test
@@ -40,7 +48,7 @@ jobs:
4048
node-version: '24'
4149
registry-url: 'https://registry.npmjs.org'
4250
- run: npm ci
43-
- run: npm publish --access public --tag beta
51+
- run: npm publish --access public
4452

4553
create-release:
4654
needs: publish-to-npm

.github/workflows/version-bump.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Version Bump
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
bump:
7+
description: 'Bump x.y.z (triggers release): patch=z, minor=y (resets z), major=x (resets y, z)'
8+
type: choice
9+
default: 'patch'
10+
options:
11+
- patch
12+
- minor
13+
- major
14+
15+
permissions: {}
16+
17+
jobs:
18+
bump:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Generate GitHub token
22+
uses: actions/create-github-app-token@v2
23+
id: generate-token
24+
with:
25+
app-id: ${{ secrets.RELEASE_PLZ_APP_ID }}
26+
private-key: ${{ secrets.RELEASE_PLZ_APP_PRIVATE_KEY }}
27+
28+
- uses: actions/checkout@v4
29+
with:
30+
token: ${{ steps.generate-token.outputs.token }}
31+
32+
- name: Configure git
33+
run: |
34+
git config user.name "github-actions[bot]"
35+
git config user.email "github-actions[bot]@users.noreply.github.com"
36+
37+
# Bumps the version, commits to main, and pushes a v* tag.
38+
# The tag push triggers the Release workflow (publish.yml), which publishes to npm.
39+
- name: Bump version
40+
run: npm version ${{ inputs.bump }} -m "Release v%s"
41+
42+
- name: Push commit and tag
43+
run: git push --follow-tags origin main

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ dist/
33
*.log
44
.DS_Store
55
.idea/
6+
tmp/

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,4 @@
44

55
## Documentation
66

7-
- **[Development Guide](readme-dev.md)** - Setup, configuration, and building binaries
8-
- **[Release Instructions](release.md)** - How to create a new release
7+
- **[Development Guide](readme-dev.md)** - Setup, configuration, and building binaries

package-lock.json

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

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"publishConfig": {
44
"access": "public"
55
},
6-
"version": "0.0.40",
6+
"version": "0.0.44",
77
"description": "",
88
"main": "dist/index.js",
99
"bin": {
@@ -61,8 +61,8 @@
6161
"vitest": "^4.0.10"
6262
},
6363
"dependencies": {
64-
"@agentclientprotocol/sdk": "^0.16.1",
65-
"@openai/codex": "^0.125.0",
64+
"@agentclientprotocol/sdk": "^0.21.0",
65+
"@openai/codex": "^0.128.0",
6666
"diff": "^8.0.3",
6767
"open": "^11.0.0",
6868
"vscode-jsonrpc": "^8.2.1"

release.md

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)