refactor(file-explorer): add deep linking, path navigation, diff preview, and Codex session persistence

This commit is contained in:
Mohamed Boudra
2025-11-14 19:02:54 +01:00
parent f766a18d7b
commit b2c89df7c7
18 changed files with 3393 additions and 285 deletions
+169 -118
View File
@@ -13,7 +13,9 @@
"packages/app"
],
"dependencies": {
"@boudra/claude-code-acp": "^0.8.3"
"@anthropic-ai/claude-agent-sdk": "^0.1.37",
"@boudra/claude-code-acp": "^0.8.3",
"@openai/codex-sdk": "^0.58.0"
},
"devDependencies": {
"typescript": "^5.9.3"
@@ -105,9 +107,9 @@
}
},
"node_modules/@anthropic-ai/claude-agent-sdk": {
"version": "0.1.23",
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk/-/claude-agent-sdk-0.1.23.tgz",
"integrity": "sha512-DktXOjzS2hOuuj2Zpo7fEooONfMa5bm09pt1/Vt4vn30YugELoezn/ZQ/TG5uSQ7+Zl/ElxAvi4vGDorj1Tirg==",
"version": "0.1.37",
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk/-/claude-agent-sdk-0.1.37.tgz",
"integrity": "sha512-LMfqMIPLTz0vRhpcO7hpPJ5L6Bg24y5/PaqZvwAUNZ/GR3OAl7xmJR7IryIR6m8Pyd/6Hs2yBU8j86Os+wHFQQ==",
"license": "SEE LICENSE IN README.md",
"engines": {
"node": ">=18.0.0"
@@ -1639,6 +1641,26 @@
"claude-code-acp": "dist/index.js"
}
},
"node_modules/@boudra/claude-code-acp/node_modules/@anthropic-ai/claude-agent-sdk": {
"version": "0.1.23",
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk/-/claude-agent-sdk-0.1.23.tgz",
"integrity": "sha512-DktXOjzS2hOuuj2Zpo7fEooONfMa5bm09pt1/Vt4vn30YugELoezn/ZQ/TG5uSQ7+Zl/ElxAvi4vGDorj1Tirg==",
"license": "SEE LICENSE IN README.md",
"engines": {
"node": ">=18.0.0"
},
"optionalDependencies": {
"@img/sharp-darwin-arm64": "^0.33.5",
"@img/sharp-darwin-x64": "^0.33.5",
"@img/sharp-linux-arm": "^0.33.5",
"@img/sharp-linux-arm64": "^0.33.5",
"@img/sharp-linux-x64": "^0.33.5",
"@img/sharp-win32-x64": "^0.33.5"
},
"peerDependencies": {
"zod": "^3.24.1"
}
},
"node_modules/@boudra/claude-code-acp/node_modules/@modelcontextprotocol/sdk": {
"version": "1.20.1",
"resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.20.1.tgz",
@@ -5917,6 +5939,15 @@
"node": ">=12.0.0"
}
},
"node_modules/@openai/codex-sdk": {
"version": "0.58.0",
"resolved": "https://registry.npmjs.org/@openai/codex-sdk/-/codex-sdk-0.58.0.tgz",
"integrity": "sha512-Z5vK294gUS9cn7bpU/lJtgzqJy1UqIGee7WMP+1Z4a6AxDcTxFCLZI4YkH9praJfrgoj5bFeu+3V9HIoBBTzcw==",
"license": "Apache-2.0",
"engines": {
"node": ">=18"
}
},
"node_modules/@openrouter/ai-sdk-provider": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@openrouter/ai-sdk-provider/-/ai-sdk-provider-1.2.0.tgz",
@@ -8302,119 +8333,6 @@
"node": ">=10.0.0"
}
},
"node_modules/@zed-industries/codex-acp": {
"version": "0.3.12",
"resolved": "https://registry.npmjs.org/@zed-industries/codex-acp/-/codex-acp-0.3.12.tgz",
"integrity": "sha512-hX3N06QgGFM5mleB+L/+v8XTZ4iS4ScB5YXQXXbc20fYmkd5p6tEDG7m6p8sjtfDcdeKIZNtiiaEEHQqy2hVAA==",
"license": "Apache-2.0",
"bin": {
"codex-acp": "bin/codex-acp.js"
},
"optionalDependencies": {
"@zed-industries/codex-acp-darwin-arm64": "0.3.12",
"@zed-industries/codex-acp-darwin-x64": "0.3.12",
"@zed-industries/codex-acp-linux-arm64": "0.3.12",
"@zed-industries/codex-acp-linux-x64": "0.3.12",
"@zed-industries/codex-acp-windows-arm64": "0.3.12",
"@zed-industries/codex-acp-windows-x64": "0.3.12"
}
},
"node_modules/@zed-industries/codex-acp-darwin-arm64": {
"version": "0.3.12",
"resolved": "https://registry.npmjs.org/@zed-industries/codex-acp-darwin-arm64/-/codex-acp-darwin-arm64-0.3.12.tgz",
"integrity": "sha512-ajG2aU9I4Hg57Havk+elLR47tXPmxSsnSvZE0yxITiHr59IQacVJL0z/7hDdY3S6H10K+zb/fGQAvOXhcSMEtQ==",
"cpu": [
"arm64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"darwin"
],
"bin": {
"codex-acp-darwin-arm64": "bin/codex-acp"
}
},
"node_modules/@zed-industries/codex-acp-darwin-x64": {
"version": "0.3.12",
"resolved": "https://registry.npmjs.org/@zed-industries/codex-acp-darwin-x64/-/codex-acp-darwin-x64-0.3.12.tgz",
"integrity": "sha512-YQMe+G6hiVLY4R/lbC2UGkPJjnR8viIjaHmSETTfuOHAeQF9p8Wvr0k1DbIvacdyPst6X7ItoIb40fvtgsmVdw==",
"cpu": [
"x64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"darwin"
],
"bin": {
"codex-acp-darwin-x64": "bin/codex-acp"
}
},
"node_modules/@zed-industries/codex-acp-linux-arm64": {
"version": "0.3.12",
"resolved": "https://registry.npmjs.org/@zed-industries/codex-acp-linux-arm64/-/codex-acp-linux-arm64-0.3.12.tgz",
"integrity": "sha512-nrDFzs03Cm0/CB/sEvGPHJHl2Z0pMCSXEmpDVoUTKgZf2Iof23ZsV/VD+eHdLj98VEvmWiT2u7+kSBqBtpnMmA==",
"cpu": [
"arm64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"bin": {
"codex-acp-linux-arm64": "bin/codex-acp"
}
},
"node_modules/@zed-industries/codex-acp-linux-x64": {
"version": "0.3.12",
"resolved": "https://registry.npmjs.org/@zed-industries/codex-acp-linux-x64/-/codex-acp-linux-x64-0.3.12.tgz",
"integrity": "sha512-BWGzV8dmCVAG64FfER6xtBkWedo9VX6u9ZjxOxr7JA9FhQ7KSPycH9r0BV/Nym/6LlvS4hLMcgXRvSfup8gLMA==",
"cpu": [
"x64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"bin": {
"codex-acp-linux-x64": "bin/codex-acp"
}
},
"node_modules/@zed-industries/codex-acp-windows-arm64": {
"version": "0.3.12",
"resolved": "https://registry.npmjs.org/@zed-industries/codex-acp-windows-arm64/-/codex-acp-windows-arm64-0.3.12.tgz",
"integrity": "sha512-iQgXFk3OH8WlJgxMMSc+nDcrVH6m0HpItYca07fbrD4LdR+0ByW7EEy7VvONcuYqkmKLOHT1ufuQZEEraZp1WQ==",
"cpu": [
"arm64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"windows"
],
"bin": {
"codex-acp-windows-arm64": "bin/codex-acp.exe"
}
},
"node_modules/@zed-industries/codex-acp-windows-x64": {
"version": "0.3.12",
"resolved": "https://registry.npmjs.org/@zed-industries/codex-acp-windows-x64/-/codex-acp-windows-x64-0.3.12.tgz",
"integrity": "sha512-26fYm64qW87eRVC2yqAdeIVFdid+tpnfsNAn1Fc6zKcGpzgxfbYxfStjKUltoxI/X0ZHQI/4GvWpeNyshg5XGQ==",
"cpu": [
"x64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"windows"
],
"bin": {
"codex-acp-windows-x64": "bin/codex-acp.exe"
}
},
"node_modules/abort-controller": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
@@ -21362,7 +21280,7 @@
"@deepgram/sdk": "^3.4.0",
"@modelcontextprotocol/sdk": "^1.20.1",
"@openrouter/ai-sdk-provider": "^1.2.0",
"@zed-industries/codex-acp": "^0.3.9",
"@zed-industries/codex-acp": "^0.4.0",
"ai": "^5.0.76",
"dotenv": "^17.2.3",
"express": "^4.18.2",
@@ -21386,6 +21304,26 @@
"vitest": "^3.2.4"
}
},
"packages/server/node_modules/@anthropic-ai/claude-agent-sdk": {
"version": "0.1.23",
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk/-/claude-agent-sdk-0.1.23.tgz",
"integrity": "sha512-DktXOjzS2hOuuj2Zpo7fEooONfMa5bm09pt1/Vt4vn30YugELoezn/ZQ/TG5uSQ7+Zl/ElxAvi4vGDorj1Tirg==",
"license": "SEE LICENSE IN README.md",
"engines": {
"node": ">=18.0.0"
},
"optionalDependencies": {
"@img/sharp-darwin-arm64": "^0.33.5",
"@img/sharp-darwin-x64": "^0.33.5",
"@img/sharp-linux-arm": "^0.33.5",
"@img/sharp-linux-arm64": "^0.33.5",
"@img/sharp-linux-x64": "^0.33.5",
"@img/sharp-win32-x64": "^0.33.5"
},
"peerDependencies": {
"zod": "^3.24.1"
}
},
"packages/server/node_modules/@boudra/claude-code-acp": {
"version": "0.8.5",
"resolved": "https://npm.pkg.github.com/download/@boudra/claude-code-acp/0.8.5/f4bc31a9496d5ec72b306e2f891eeaaef38aeaf5",
@@ -21524,6 +21462,119 @@
"url": "https://opencollective.com/express"
}
},
"packages/server/node_modules/@zed-industries/codex-acp": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@zed-industries/codex-acp/-/codex-acp-0.4.0.tgz",
"integrity": "sha512-1X121qtuxYeD/BBvxDkMEKJ5W67oE11mHUvMMEwlalrBQP2MlxkcDGpKoTNnjQIHTRnN+Gd4jN67bgw2P48tPg==",
"license": "Apache-2.0",
"bin": {
"codex-acp": "bin/codex-acp.js"
},
"optionalDependencies": {
"@zed-industries/codex-acp-darwin-arm64": "0.4.0",
"@zed-industries/codex-acp-darwin-x64": "0.4.0",
"@zed-industries/codex-acp-linux-arm64": "0.4.0",
"@zed-industries/codex-acp-linux-x64": "0.4.0",
"@zed-industries/codex-acp-windows-arm64": "0.4.0",
"@zed-industries/codex-acp-windows-x64": "0.4.0"
}
},
"packages/server/node_modules/@zed-industries/codex-acp-darwin-arm64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@zed-industries/codex-acp-darwin-arm64/-/codex-acp-darwin-arm64-0.4.0.tgz",
"integrity": "sha512-SY54IJdDI1N2qoh0YM1WeH4j3IGEG7NHTZ6PI2Rj/znmB+Oh6bbxV3XemQbcKvqK2aSE+/kl5JKgvIIePEgdAA==",
"cpu": [
"arm64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"darwin"
],
"bin": {
"codex-acp-darwin-arm64": "bin/codex-acp"
}
},
"packages/server/node_modules/@zed-industries/codex-acp-darwin-x64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@zed-industries/codex-acp-darwin-x64/-/codex-acp-darwin-x64-0.4.0.tgz",
"integrity": "sha512-zUV5qAgKPatGJmM1diZqNN5GvTl3pgF8cC5eVhGiwLgSMuw+eUsH9Ilwq5j+WRoTIRRfPnGF/QcGysGyBVvHOQ==",
"cpu": [
"x64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"darwin"
],
"bin": {
"codex-acp-darwin-x64": "bin/codex-acp"
}
},
"packages/server/node_modules/@zed-industries/codex-acp-linux-arm64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@zed-industries/codex-acp-linux-arm64/-/codex-acp-linux-arm64-0.4.0.tgz",
"integrity": "sha512-kUAxIYIXAkzRrYN5+j+LI+ggNLA5WQbHM3kn3RRsXVWBEQj+viehQsxJYyVjL2SRYLnMFl52wfehkErwb+Xf1Q==",
"cpu": [
"arm64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"bin": {
"codex-acp-linux-arm64": "bin/codex-acp"
}
},
"packages/server/node_modules/@zed-industries/codex-acp-linux-x64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@zed-industries/codex-acp-linux-x64/-/codex-acp-linux-x64-0.4.0.tgz",
"integrity": "sha512-MmeXc5o7BbKih4MtbAxIiJ6pOnMCr+xk+7KDaFdodNxQ9jWRoHpL1qyc1vd8pVpUK9L1GKBqkm3vJn3QEwU5Sw==",
"cpu": [
"x64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"bin": {
"codex-acp-linux-x64": "bin/codex-acp"
}
},
"packages/server/node_modules/@zed-industries/codex-acp-windows-arm64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@zed-industries/codex-acp-windows-arm64/-/codex-acp-windows-arm64-0.4.0.tgz",
"integrity": "sha512-xf96JmssYnlh7m6vFcceBGVy11pBmWtPhPSjuZKyiPOR8dd5MGNeokILdJ9uJbDlJv/p5zBovXHX2m42xuIdhg==",
"cpu": [
"arm64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"windows"
],
"bin": {
"codex-acp-windows-arm64": "bin/codex-acp.exe"
}
},
"packages/server/node_modules/@zed-industries/codex-acp-windows-x64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@zed-industries/codex-acp-windows-x64/-/codex-acp-windows-x64-0.4.0.tgz",
"integrity": "sha512-dch3puZuS9g5XkeYRsCBH9v7jBVfhoCtkggY2oLs7sj9cFisgE3lebWfYhfB/0ibXoKSmePNoLwxoql8RiFpZg==",
"cpu": [
"x64"
],
"license": "Apache-2.0",
"optional": true,
"os": [
"windows"
],
"bin": {
"codex-acp-windows-x64": "bin/codex-acp.exe"
}
},
"packages/server/node_modules/accepts": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",