@theia/ai-codex 1.67.0-next.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -0
- package/package.json +59 -0
- package/src/browser/codex-chat-agent.spec.ts +672 -0
- package/src/browser/codex-chat-agent.ts +654 -0
- package/src/browser/codex-frontend-module.ts +61 -0
- package/src/browser/codex-frontend-service.spec.ts +245 -0
- package/src/browser/codex-frontend-service.ts +221 -0
- package/src/browser/codex-tool-call-content.ts +42 -0
- package/src/browser/renderers/collapsible-tool-renderer.tsx +75 -0
- package/src/browser/renderers/command-execution-renderer.tsx +104 -0
- package/src/browser/renderers/todo-list-renderer.tsx +151 -0
- package/src/browser/renderers/web-search-renderer.tsx +88 -0
- package/src/browser/style/.gitkeep +0 -0
- package/src/browser/style/codex-tool-renderers.css +443 -0
- package/src/common/.gitkeep +0 -0
- package/src/common/codex-preferences.ts +32 -0
- package/src/common/codex-service.ts +46 -0
- package/src/common/index.ts +18 -0
- package/src/node/codex-backend-module.ts +42 -0
- package/src/node/codex-service-impl.ts +104 -0
package/README.md
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<div align='center'>
|
|
2
|
+
|
|
3
|
+
<br />
|
|
4
|
+
|
|
5
|
+
<img src='https://raw.githubusercontent.com/eclipse-theia/theia/master/logo/theia.svg?sanitize=true' alt='theia-ext-logo' width='100px' />
|
|
6
|
+
|
|
7
|
+
<h2>ECLIPSE THEIA - OPENAI CODEX INTEGRATION</h2>
|
|
8
|
+
|
|
9
|
+
<hr />
|
|
10
|
+
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
## Description
|
|
14
|
+
|
|
15
|
+
The `@theia/ai-codex` integrates OpenAI's Codex agent into the Theia platform, providing natural language coding assistance through the chat interface.
|
|
16
|
+
|
|
17
|
+
## Features
|
|
18
|
+
|
|
19
|
+
- Natural language coding assistance via OpenAI Codex SDK
|
|
20
|
+
- Thread-based conversation management
|
|
21
|
+
- Streaming responses with real-time updates
|
|
22
|
+
- Token usage tracking and cost monitoring
|
|
23
|
+
- Structured output support (JSON Schema, Zod)
|
|
24
|
+
- Integration with Theia's AI chat infrastructure
|
|
25
|
+
|
|
26
|
+
## Prerequisites
|
|
27
|
+
|
|
28
|
+
- Node.js 18 or higher
|
|
29
|
+
- OpenAI API key (configured via Theia preferences)
|
|
30
|
+
|
|
31
|
+
## Configuration
|
|
32
|
+
|
|
33
|
+
### API Key
|
|
34
|
+
|
|
35
|
+
Codex requires an OpenAI API key. You can configure it in several ways (in order of priority):
|
|
36
|
+
|
|
37
|
+
1. **Codex-specific key** (highest priority):
|
|
38
|
+
- Preference: `ai-features.codex.apiKey`
|
|
39
|
+
- Use this if you want a separate API key for Codex
|
|
40
|
+
|
|
41
|
+
2. **Shared OpenAI key** (fallback):
|
|
42
|
+
- Preference: `ai-features.openAiOfficial.openAiApiKey`
|
|
43
|
+
- Shared with other OpenAI integrations in Theia
|
|
44
|
+
|
|
45
|
+
3. **Environment variable** (final fallback):
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
export OPENAI_API_KEY=your-api-key-here
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Example
|
|
52
|
+
|
|
53
|
+
If you already use OpenAI features in Theia, Codex will automatically use that API key. No additional configuration needed!
|
|
54
|
+
|
|
55
|
+
## Additional Information
|
|
56
|
+
|
|
57
|
+
- [API documentation for `@theia/ai-codex`](https://eclipse-theia.github.io/theia/docs/next/modules/_theia_ai-codex.html)
|
|
58
|
+
- [Theia - GitHub](https://github.com/eclipse-theia/theia)
|
|
59
|
+
- [Theia - Website](https://theia-ide.org/)
|
|
60
|
+
- [OpenAI Codex SDK](https://github.com/openai/codex)
|
|
61
|
+
|
|
62
|
+
## License
|
|
63
|
+
|
|
64
|
+
- [Eclipse Public License 2.0](http://www.eclipse.org/legal/epl-2.0/)
|
|
65
|
+
- [一 (Secondary) GNU General Public License, version 2 with the GNU Classpath Exception](https://projects.eclipse.org/license/secondary-gpl-2.0-cp)
|
|
66
|
+
|
|
67
|
+
## Trademark
|
|
68
|
+
|
|
69
|
+
"Theia" is a trademark of the Eclipse Foundation
|
|
70
|
+
<https://www.eclipse.org/theia>
|
package/package.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@theia/ai-codex",
|
|
3
|
+
"version": "1.67.0-next.56+d8f18cc386c",
|
|
4
|
+
"description": "Theia - OpenAI Codex Integration",
|
|
5
|
+
"dependencies": {
|
|
6
|
+
"@openai/codex-sdk": "^0.49.0",
|
|
7
|
+
"@theia/ai-chat": "1.67.0-next.56+d8f18cc386c",
|
|
8
|
+
"@theia/ai-chat-ui": "1.67.0-next.56+d8f18cc386c",
|
|
9
|
+
"@theia/ai-core": "1.67.0-next.56+d8f18cc386c",
|
|
10
|
+
"@theia/ai-openai": "1.67.0-next.56+d8f18cc386c",
|
|
11
|
+
"@theia/core": "1.67.0-next.56+d8f18cc386c",
|
|
12
|
+
"@theia/editor": "1.67.0-next.56+d8f18cc386c",
|
|
13
|
+
"@theia/filesystem": "1.67.0-next.56+d8f18cc386c",
|
|
14
|
+
"@theia/monaco-editor-core": "^1.96.302",
|
|
15
|
+
"@theia/output": "1.67.0-next.56+d8f18cc386c",
|
|
16
|
+
"@theia/workspace": "1.67.0-next.56+d8f18cc386c",
|
|
17
|
+
"tslib": "^2.6.2"
|
|
18
|
+
},
|
|
19
|
+
"publishConfig": {
|
|
20
|
+
"access": "public"
|
|
21
|
+
},
|
|
22
|
+
"theiaExtensions": [
|
|
23
|
+
{
|
|
24
|
+
"frontend": "lib/browser/codex-frontend-module",
|
|
25
|
+
"backend": "lib/node/codex-backend-module"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"keywords": [
|
|
29
|
+
"theia-extension"
|
|
30
|
+
],
|
|
31
|
+
"license": "EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0",
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "https://github.com/eclipse-theia/theia.git"
|
|
35
|
+
},
|
|
36
|
+
"bugs": {
|
|
37
|
+
"url": "https://github.com/eclipse-theia/theia/issues"
|
|
38
|
+
},
|
|
39
|
+
"homepage": "https://github.com/eclipse-theia/theia",
|
|
40
|
+
"files": [
|
|
41
|
+
"lib",
|
|
42
|
+
"src"
|
|
43
|
+
],
|
|
44
|
+
"scripts": {
|
|
45
|
+
"build": "theiaext build",
|
|
46
|
+
"clean": "theiaext clean",
|
|
47
|
+
"compile": "theiaext compile",
|
|
48
|
+
"lint": "theiaext lint",
|
|
49
|
+
"test": "theiaext test",
|
|
50
|
+
"watch": "theiaext watch"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@theia/ext-scripts": "1.66.0"
|
|
54
|
+
},
|
|
55
|
+
"nyc": {
|
|
56
|
+
"extends": "../../configs/nyc.json"
|
|
57
|
+
},
|
|
58
|
+
"gitHead": "d8f18cc386c45a736cd193d42eab02c8f64c6b10"
|
|
59
|
+
}
|