diff --git a/.github/workflows/pr_lint.yml b/.github/workflows/pr_lint.yml
index 50749b52..e52c6e9f 100644
--- a/.github/workflows/pr_lint.yml
+++ b/.github/workflows/pr_lint.yml
@@ -30,14 +30,10 @@ jobs:
revert
release
scopes: |
- checkpoint
- checkpoint-postgres
- checkpoint-sqlite
+ shared
cli
- langgraph
- prebuilt
- scheduler-kafka
- sdk-py
+ web
+ open-swe
docs
requireScope: false
ignoreLabels: |
diff --git a/README.md b/README.md
index 47595d38..15d6d108 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,3 @@
-> [!WARNING]
-> Open SWE is under active development and is not yet ready for production use.
-
@@ -20,14 +17,18 @@ Open SWE is an open-source cloud-based coding agent built with [LangGraph](https
>
> **Note: you're required to set your own LLM API keys to use the demo.**
+> [!INFO]
+> Read the Open SWE documentation [here](https://docs.langchain.com/labs/swe/).
+
# Features
+
+
- 📝 **Planning**: Open SWE has a dedicated planning step which allows it to deeply understand complex codebases and nuanced tasks. You're also given the ability to accept, edit, or reject the proposed plan before it's executed.
- 🤝 **Human in the loop**: With Open SWE, you can send it messages while it's running (both during the planning and execution steps). This allows for giving real time feedback and instructions without having to interrupt the process.
- 🏃 **Parallel Execution**: You can run as many Open SWE tasks as you want in parallel! Since it runs in a sandbox environment in the cloud, you're not limited by the number of tasks you can run at once.
- 🧑💻 **End to end task management**: Open SWE will automatically create GitHub issues for tasks, and create pull requests which will close the issue when implementation is complete.
-
## Usage
diff --git a/apps/web/package.json b/apps/web/package.json
index 5fa1da45..0c29c0f7 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -47,6 +47,7 @@
"esbuild": "^0.25.0",
"esbuild-plugin-tailwindcss": "^2.0.1",
"framer-motion": "^12.4.9",
+ "jsonwebtoken": "^9.0.2",
"katex": "^0.16.21",
"langgraph-nextjs-api-passthrough": "^0.1.4",
"lodash": "^4.17.21",
@@ -74,7 +75,7 @@
"@eslint/js": "^9.19.0",
"@octokit/types": "^14.1.0",
"@tailwindcss/postcss": "^4.0.13",
- "@types/jsonwebtoken": "^9.0.9",
+ "@types/jsonwebtoken": "^9.0.10",
"@types/lodash": "^4.17.16",
"@types/node": "^22.13.5",
"@types/react": "^19.0.8",
diff --git a/package.json b/package.json
index 19dd1725..d848f383 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,8 @@
"resolutions": {
"@langchain/langgraph-sdk": "^0.0.95",
"@langchain/core": "^0.3.65",
- "langsmith": "^0.3.48"
+ "langsmith": "^0.3.48",
+ "jsonwebtoken": "^9.0.2"
},
"packageManager": "yarn@3.5.1"
}
diff --git a/packages/shared/package.json b/packages/shared/package.json
index a6b9b359..90f56aff 100644
--- a/packages/shared/package.json
+++ b/packages/shared/package.json
@@ -34,6 +34,7 @@
"@octokit/types": "^12.0.0",
"@tsconfig/recommended": "^1.0.8",
"@types/jest": "^29.5.0",
+ "@types/jsonwebtoken": "^9.0.10",
"@types/node": "^22.13.5",
"dotenv": "^16.4.7",
"eslint": "^9.19.0",
diff --git a/yarn.lock b/yarn.lock
index 2f629e40..f9cb01b5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4197,6 +4197,7 @@ __metadata:
"@octokit/types": ^12.0.0
"@tsconfig/recommended": ^1.0.8
"@types/jest": ^29.5.0
+ "@types/jsonwebtoken": ^9.0.10
"@types/node": ^22.13.5
dotenv: ^16.4.7
eslint: ^9.19.0
@@ -4241,7 +4242,7 @@ __metadata:
"@radix-ui/react-tabs": ^1.1.12
"@radix-ui/react-tooltip": ^1.1.8
"@tailwindcss/postcss": ^4.0.13
- "@types/jsonwebtoken": ^9.0.9
+ "@types/jsonwebtoken": ^9.0.10
"@types/lodash": ^4.17.16
"@types/node": ^22.13.5
"@types/react": ^19.0.8
@@ -4262,6 +4263,7 @@ __metadata:
eslint-plugin-react-refresh: ^0.4.18
framer-motion: ^12.4.9
globals: ^15.14.0
+ jsonwebtoken: ^9.0.2
katex: ^0.16.21
langgraph-nextjs-api-passthrough: ^0.1.4
lodash: ^4.17.21
@@ -6966,7 +6968,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/jsonwebtoken@npm:^9.0.9":
+"@types/jsonwebtoken@npm:^9.0.10":
version: 9.0.10
resolution: "@types/jsonwebtoken@npm:9.0.10"
dependencies: