luca 3.0.0 → 3.0.2
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/.github/workflows/release.yaml +1 -0
- package/CLAUDE.md +10 -2
- package/README.md +130 -112
- package/assistants/codingAssistant/CORE.md +6 -1
- package/assistants/codingAssistant/hooks.ts +1 -1
- package/assistants/inkbot/hooks.ts +1 -1
- package/assistants/inkbot/tools.ts +1 -1
- package/bun.lock +220 -322
- package/commands/audit-docs.ts +2 -2
- package/commands/build-bootstrap.ts +2 -3
- package/commands/build-python-bridge.ts +2 -3
- package/commands/build-scaffolds.ts +2 -3
- package/commands/bundle-consumer-project.ts +521 -0
- package/commands/generate-api-docs.ts +2 -2
- package/commands/inkbot.ts +2 -2
- package/commands/release.ts +2 -2
- package/commands/try-all-challenges.ts +3 -3
- package/commands/try-challenge.ts +3 -3
- package/dist/agi/container.server.d.ts +2 -2
- package/dist/agi/features/assistant.d.ts +2 -2
- package/dist/agi/features/assistants-manager.d.ts +1 -1
- package/dist/agi/features/autonomous-assistant.d.ts +1 -1
- package/dist/agi/features/browser-use.d.ts +1 -1
- package/dist/agi/features/claude-code.d.ts +1 -1
- package/dist/agi/features/conversation-history.d.ts +2 -2
- package/dist/agi/features/conversation.d.ts +1 -1
- package/dist/agi/features/docs-reader.d.ts +1 -1
- package/dist/agi/features/file-tools.d.ts +1 -1
- package/dist/agi/features/luca-coder.d.ts +1 -1
- package/dist/agi/features/openai-codex.d.ts +1 -1
- package/dist/agi/features/skills-library.d.ts +1 -1
- package/dist/clients/civitai/index.d.ts +4 -4
- package/dist/clients/client-template.d.ts +4 -4
- package/dist/clients/comfyui/index.d.ts +2 -2
- package/dist/clients/elevenlabs/index.d.ts +2 -2
- package/dist/clients/openai/index.d.ts +2 -2
- package/dist/clients/supabase/index.d.ts +3 -3
- package/dist/command.d.ts +1 -1
- package/dist/node/container.d.ts +1 -1
- package/dist/node/features/helpers.d.ts +3 -3
- package/dist/node/features/semantic-search.d.ts +1 -1
- package/dist/node/features/vm.d.ts +3 -3
- package/dist/node.d.ts +1 -1
- package/dist/scaffolds/generated.d.ts +1 -1
- package/dist/selector.d.ts +1 -1
- package/index.html +217 -190
- package/luca.console.ts +1 -1
- package/package.json +2 -2
- package/public/index.html +217 -190
- package/public/slides-ai-native.html +1 -1
- package/public/slides-intro.html +2 -2
- package/scripts/examples/ask-luca-expert.ts +1 -1
- package/scripts/examples/assistant-questions.ts +1 -1
- package/scripts/examples/excalidraw-expert.ts +1 -1
- package/scripts/examples/file-manager.ts +1 -1
- package/scripts/examples/ideas.ts +1 -1
- package/scripts/examples/interactive-chat.ts +1 -1
- package/scripts/examples/opening-a-web-browser.ts +1 -1
- package/scripts/examples/telegram-bot.ts +1 -1
- package/scripts/examples/using-assistant-with-mcp.ts +1 -1
- package/scripts/examples/using-claude-code.ts +1 -1
- package/scripts/examples/using-contentdb.ts +2 -2
- package/scripts/examples/using-conversations.ts +1 -1
- package/scripts/examples/using-disk-cache.ts +1 -1
- package/scripts/examples/using-docker-shell.ts +1 -1
- package/scripts/examples/using-elevenlabs.ts +1 -1
- package/scripts/examples/using-google-calendar.ts +1 -1
- package/scripts/examples/using-google-docs.ts +1 -1
- package/scripts/examples/using-google-drive.ts +1 -1
- package/scripts/examples/using-google-sheets.ts +1 -1
- package/scripts/examples/using-nlp.ts +1 -1
- package/scripts/examples/using-ollama.ts +1 -1
- package/scripts/examples/using-postgres.ts +1 -1
- package/scripts/examples/using-runpod.ts +1 -1
- package/scripts/examples/using-tts.ts +1 -1
- package/scripts/scaffold.ts +5 -5
- package/scripts/scratch.ts +1 -1
- package/scripts/test-assistant-hooks.ts +1 -1
- package/scripts/test-docs-reader.ts +1 -1
- package/src/agi/container.server.ts +6 -2
- package/src/agi/features/agent-memory.ts +25 -25
- package/src/agi/features/assistant.ts +34 -5
- package/src/agi/features/assistants-manager.ts +122 -6
- package/src/agi/features/autonomous-assistant.ts +1 -1
- package/src/agi/features/browser-use.ts +20 -1
- package/src/agi/features/claude-code.ts +51 -5
- package/src/agi/features/coding-tools.ts +1 -1
- package/src/agi/features/conversation-history.ts +181 -4
- package/src/agi/features/conversation.ts +186 -15
- package/src/agi/features/docs-reader.ts +2 -2
- package/src/agi/features/file-tools.ts +49 -2
- package/src/agi/features/luca-coder.ts +7 -5
- package/src/agi/features/mcp-bridge.ts +532 -0
- package/src/agi/features/openai-codex.ts +2 -2
- package/src/agi/features/skills-library.ts +131 -52
- package/src/agi/lib/token-counter.ts +80 -0
- package/src/bootstrap/generated.ts +56 -57
- package/src/browser.ts +1 -1
- package/src/cli/build-info.ts +2 -2
- package/src/cli/cli.ts +2 -2
- package/src/clients/civitai/index.ts +5 -5
- package/src/clients/client-template.ts +4 -4
- package/src/clients/comfyui/index.ts +4 -4
- package/src/clients/elevenlabs/index.ts +4 -4
- package/src/clients/openai/index.ts +7 -7
- package/src/clients/supabase/index.ts +4 -4
- package/src/clients/voicebox/index.ts +4 -4
- package/src/command.ts +2 -1
- package/src/commands/chat.ts +1 -0
- package/src/commands/eval.ts +2 -56
- package/src/commands/introspect.ts +1 -1
- package/src/commands/prompt.ts +41 -9
- package/src/container-describer.ts +8 -1
- package/src/container.ts +13 -0
- package/src/entity.ts +2 -2
- package/src/helper.ts +1 -1
- package/src/introspection/generated.agi.ts +28563 -27571
- package/src/introspection/generated.node.ts +20281 -20194
- package/src/introspection/generated.web.ts +605 -584
- package/src/introspection/scan.ts +11 -6
- package/src/node/container.ts +1 -1
- package/src/node/features/content-db.ts +39 -2
- package/src/node/features/display-result.ts +57 -0
- package/src/node/features/helpers.ts +42 -15
- package/src/node/features/python.ts +25 -19
- package/src/node/features/repl.ts +1 -1
- package/src/node/features/secure-shell.ts +11 -17
- package/src/node/features/semantic-search.ts +2 -2
- package/src/node/features/transpiler.ts +2 -3
- package/src/node/features/ui.ts +5 -0
- package/src/node/features/vm.ts +3 -3
- package/src/node.ts +3 -3
- package/src/python/generated.ts +0 -1
- package/src/scaffolds/generated.ts +82 -83
- package/src/selector.ts +1 -1
- package/src/servers/express.ts +1 -1
- package/src/web/features/helpers.ts +22 -0
- package/tsconfig.json +12 -12
- package/docs/CLI.md +0 -335
- package/docs/CNAME +0 -1
- package/docs/README.md +0 -60
- package/docs/TABLE-OF-CONTENTS.md +0 -183
- package/docs/apis/clients/elevenlabs.md +0 -308
- package/docs/apis/clients/graph.md +0 -107
- package/docs/apis/clients/openai.md +0 -429
- package/docs/apis/clients/rest.md +0 -161
- package/docs/apis/clients/websocket.md +0 -174
- package/docs/apis/features/agi/assistant.md +0 -625
- package/docs/apis/features/agi/assistants-manager.md +0 -282
- package/docs/apis/features/agi/auto-assistant.md +0 -279
- package/docs/apis/features/agi/browser-use.md +0 -802
- package/docs/apis/features/agi/claude-code.md +0 -884
- package/docs/apis/features/agi/conversation-history.md +0 -364
- package/docs/apis/features/agi/conversation.md +0 -548
- package/docs/apis/features/agi/docs-reader.md +0 -99
- package/docs/apis/features/agi/file-tools.md +0 -163
- package/docs/apis/features/agi/luca-coder.md +0 -407
- package/docs/apis/features/agi/openai-codex.md +0 -396
- package/docs/apis/features/agi/openapi.md +0 -138
- package/docs/apis/features/agi/semantic-search.md +0 -387
- package/docs/apis/features/agi/skills-library.md +0 -239
- package/docs/apis/features/node/container-link.md +0 -192
- package/docs/apis/features/node/content-db.md +0 -450
- package/docs/apis/features/node/disk-cache.md +0 -379
- package/docs/apis/features/node/dns.md +0 -652
- package/docs/apis/features/node/docker.md +0 -706
- package/docs/apis/features/node/downloader.md +0 -81
- package/docs/apis/features/node/esbuild.md +0 -60
- package/docs/apis/features/node/file-manager.md +0 -191
- package/docs/apis/features/node/fs.md +0 -1217
- package/docs/apis/features/node/git.md +0 -371
- package/docs/apis/features/node/google-auth.md +0 -193
- package/docs/apis/features/node/google-calendar.md +0 -202
- package/docs/apis/features/node/google-docs.md +0 -173
- package/docs/apis/features/node/google-drive.md +0 -246
- package/docs/apis/features/node/google-mail.md +0 -214
- package/docs/apis/features/node/google-sheets.md +0 -194
- package/docs/apis/features/node/grep.md +0 -292
- package/docs/apis/features/node/helpers.md +0 -164
- package/docs/apis/features/node/ink.md +0 -334
- package/docs/apis/features/node/ipc-socket.md +0 -249
- package/docs/apis/features/node/json-tree.md +0 -86
- package/docs/apis/features/node/networking.md +0 -316
- package/docs/apis/features/node/nlp.md +0 -133
- package/docs/apis/features/node/opener.md +0 -97
- package/docs/apis/features/node/os.md +0 -146
- package/docs/apis/features/node/package-finder.md +0 -392
- package/docs/apis/features/node/postgres.md +0 -234
- package/docs/apis/features/node/proc.md +0 -399
- package/docs/apis/features/node/process-manager.md +0 -305
- package/docs/apis/features/node/python.md +0 -604
- package/docs/apis/features/node/redis.md +0 -380
- package/docs/apis/features/node/repl.md +0 -88
- package/docs/apis/features/node/runpod.md +0 -674
- package/docs/apis/features/node/secure-shell.md +0 -176
- package/docs/apis/features/node/semantic-search.md +0 -408
- package/docs/apis/features/node/sqlite.md +0 -233
- package/docs/apis/features/node/telegram.md +0 -279
- package/docs/apis/features/node/transpiler.md +0 -74
- package/docs/apis/features/node/tts.md +0 -133
- package/docs/apis/features/node/ui.md +0 -701
- package/docs/apis/features/node/vault.md +0 -59
- package/docs/apis/features/node/vm.md +0 -75
- package/docs/apis/features/node/yaml-tree.md +0 -85
- package/docs/apis/features/node/yaml.md +0 -176
- package/docs/apis/features/web/asset-loader.md +0 -59
- package/docs/apis/features/web/container-link.md +0 -192
- package/docs/apis/features/web/esbuild.md +0 -54
- package/docs/apis/features/web/helpers.md +0 -164
- package/docs/apis/features/web/network.md +0 -44
- package/docs/apis/features/web/speech.md +0 -69
- package/docs/apis/features/web/vault.md +0 -59
- package/docs/apis/features/web/vm.md +0 -75
- package/docs/apis/features/web/voice.md +0 -84
- package/docs/apis/servers/express.md +0 -171
- package/docs/apis/servers/mcp.md +0 -238
- package/docs/apis/servers/websocket.md +0 -170
- package/docs/bootstrap/CLAUDE.md +0 -101
- package/docs/bootstrap/SKILL.md +0 -341
- package/docs/bootstrap/templates/about-command.ts +0 -41
- package/docs/bootstrap/templates/docs-models.ts +0 -22
- package/docs/bootstrap/templates/docs-readme.md +0 -43
- package/docs/bootstrap/templates/example-feature.ts +0 -53
- package/docs/bootstrap/templates/health-endpoint.ts +0 -15
- package/docs/bootstrap/templates/luca-cli.ts +0 -30
- package/docs/bootstrap/templates/runme.md +0 -54
- package/docs/challenges/caching-proxy.md +0 -16
- package/docs/challenges/content-db-round-trip.md +0 -14
- package/docs/challenges/custom-command.md +0 -9
- package/docs/challenges/file-watcher-pipeline.md +0 -11
- package/docs/challenges/grep-audit-report.md +0 -15
- package/docs/challenges/multi-feature-dashboard.md +0 -14
- package/docs/challenges/process-orchestrator.md +0 -17
- package/docs/challenges/rest-api-server-with-client.md +0 -12
- package/docs/challenges/script-runner-with-vm.md +0 -11
- package/docs/challenges/simple-rest-api.md +0 -15
- package/docs/challenges/websocket-serve-and-client.md +0 -11
- package/docs/challenges/yaml-config-system.md +0 -14
- package/docs/command-system-overhaul.md +0 -94
- package/docs/documentation-audit.md +0 -134
- package/docs/examples/assistant/CORE.md +0 -18
- package/docs/examples/assistant/hooks.ts +0 -3
- package/docs/examples/assistant/tools.ts +0 -10
- package/docs/examples/assistant-hooks-reference.ts +0 -171
- package/docs/examples/assistant-with-process-manager.md +0 -84
- package/docs/examples/content-db.md +0 -77
- package/docs/examples/disk-cache.md +0 -83
- package/docs/examples/docker.md +0 -101
- package/docs/examples/downloader.md +0 -70
- package/docs/examples/entity.md +0 -124
- package/docs/examples/esbuild.md +0 -80
- package/docs/examples/feature-as-tool-provider.md +0 -143
- package/docs/examples/file-manager.md +0 -82
- package/docs/examples/fs.md +0 -83
- package/docs/examples/git.md +0 -85
- package/docs/examples/google-auth.md +0 -88
- package/docs/examples/google-calendar.md +0 -94
- package/docs/examples/google-docs.md +0 -82
- package/docs/examples/google-drive.md +0 -96
- package/docs/examples/google-sheets.md +0 -95
- package/docs/examples/grep.md +0 -85
- package/docs/examples/ink-blocks.md +0 -75
- package/docs/examples/ink-renderer.md +0 -41
- package/docs/examples/ink.md +0 -103
- package/docs/examples/ipc-socket.md +0 -103
- package/docs/examples/json-tree.md +0 -91
- package/docs/examples/networking.md +0 -58
- package/docs/examples/nlp.md +0 -91
- package/docs/examples/opener.md +0 -78
- package/docs/examples/os.md +0 -72
- package/docs/examples/package-finder.md +0 -89
- package/docs/examples/postgres.md +0 -91
- package/docs/examples/proc.md +0 -81
- package/docs/examples/process-manager.md +0 -79
- package/docs/examples/python.md +0 -132
- package/docs/examples/repl.md +0 -93
- package/docs/examples/runpod.md +0 -119
- package/docs/examples/secure-shell.md +0 -92
- package/docs/examples/sqlite.md +0 -86
- package/docs/examples/structured-output-with-assistants.md +0 -144
- package/docs/examples/telegram.md +0 -77
- package/docs/examples/tts.md +0 -86
- package/docs/examples/ui.md +0 -80
- package/docs/examples/vault.md +0 -70
- package/docs/examples/vm.md +0 -86
- package/docs/examples/websocket-ask-and-reply-example.md +0 -128
- package/docs/examples/yaml-tree.md +0 -93
- package/docs/examples/yaml.md +0 -104
- package/docs/ideas/assistant-factory-pattern.md +0 -142
- package/docs/in-memory-fs.md +0 -4
- package/docs/introspection-audit.md +0 -49
- package/docs/introspection.md +0 -164
- package/docs/mcp/readme.md +0 -162
- package/docs/models.ts +0 -41
- package/docs/philosophy.md +0 -86
- package/docs/principles.md +0 -7
- package/docs/prompts/audit-codebase-for-failures-to-use-the-container.md +0 -34
- package/docs/prompts/check-for-undocumented-features.md +0 -27
- package/docs/prompts/mcp-test-easy-command.md +0 -27
- package/docs/scaffolds/client.md +0 -149
- package/docs/scaffolds/command.md +0 -120
- package/docs/scaffolds/endpoint.md +0 -171
- package/docs/scaffolds/feature.md +0 -158
- package/docs/scaffolds/selector.md +0 -91
- package/docs/scaffolds/server.md +0 -196
- package/docs/selectors.md +0 -115
- package/docs/sessions/custom-command/attempt-log-2.md +0 -195
- package/docs/sessions/file-watcher-pipeline/attempt-log-1.md +0 -728
- package/docs/sessions/file-watcher-pipeline/attempt-log-2.md +0 -555
- package/docs/sessions/grep-audit-report/attempt-log-1.md +0 -289
- package/docs/sessions/multi-feature-dashboard/attempt-log-2.md +0 -679
- package/docs/sessions/rest-api-server-with-client/attempt-log-1.md +0 -1
- package/docs/sessions/rest-api-server-with-client/attempt-log-3.md +0 -920
- package/docs/sessions/simple-rest-api/attempt-log-1.md +0 -593
- package/docs/sessions/websocket-serve-and-client/attempt-log-2.md +0 -995
- package/docs/tutorials/00-bootstrap.md +0 -166
- package/docs/tutorials/01-getting-started.md +0 -106
- package/docs/tutorials/02-container.md +0 -210
- package/docs/tutorials/03-scripts.md +0 -194
- package/docs/tutorials/04-features-overview.md +0 -196
- package/docs/tutorials/05-state-and-events.md +0 -171
- package/docs/tutorials/06-servers.md +0 -157
- package/docs/tutorials/07-endpoints.md +0 -198
- package/docs/tutorials/08-commands.md +0 -252
- package/docs/tutorials/09-clients.md +0 -162
- package/docs/tutorials/10-creating-features.md +0 -203
- package/docs/tutorials/11-contentbase.md +0 -191
- package/docs/tutorials/12-assistants.md +0 -215
- package/docs/tutorials/13-introspection.md +0 -157
- package/docs/tutorials/14-type-system.md +0 -174
- package/docs/tutorials/15-project-patterns.md +0 -222
- package/docs/tutorials/16-google-features.md +0 -534
- package/docs/tutorials/17-tui-blocks.md +0 -530
- package/docs/tutorials/18-semantic-search.md +0 -334
- package/docs/tutorials/19-python-sessions.md +0 -401
- package/docs/tutorials/20-browser-esm.md +0 -234
- package/src/agi/endpoints/ask.ts +0 -60
- package/src/agi/endpoints/conversations/[id].ts +0 -45
- package/src/agi/endpoints/conversations.ts +0 -31
- package/src/agi/endpoints/experts.ts +0 -37
- package/test/assistant-hooks.test.ts +0 -306
- package/test/assistant.test.ts +0 -81
- package/test/bus.test.ts +0 -134
- package/test/clients-servers.test.ts +0 -217
- package/test/command.test.ts +0 -267
- package/test/container-link.test.ts +0 -274
- package/test/conversation.test.ts +0 -220
- package/test/features.test.ts +0 -160
- package/test/fork-and-research.test.ts +0 -450
- package/test/integration.test.ts +0 -787
- package/test/interceptor-chain.test.ts +0 -61
- package/test/node-container.test.ts +0 -121
- package/test/python-session.test.ts +0 -105
- package/test/rate-limit.test.ts +0 -272
- package/test/semantic-search.test.ts +0 -550
- package/test/state.test.ts +0 -121
- package/test/vm-context.test.ts +0 -146
- package/test/vm-loadmodule.test.ts +0 -213
- package/test/websocket-ask.test.ts +0 -101
- package/test-integration/assistant.test.ts +0 -138
- package/test-integration/assistants-manager.test.ts +0 -113
- package/test-integration/claude-code.test.ts +0 -98
- package/test-integration/conversation-history.test.ts +0 -205
- package/test-integration/conversation.test.ts +0 -137
- package/test-integration/elevenlabs.test.ts +0 -55
- package/test-integration/google-services.test.ts +0 -80
- package/test-integration/helpers.ts +0 -89
- package/test-integration/memory.test.ts +0 -204
- package/test-integration/openai-codex.test.ts +0 -93
- package/test-integration/runpod.test.ts +0 -58
- package/test-integration/server-endpoints.test.ts +0 -97
- package/test-integration/telegram.test.ts +0 -46
|
@@ -1,396 +0,0 @@
|
|
|
1
|
-
# OpenAICodex (features.openaiCodex)
|
|
2
|
-
|
|
3
|
-
OpenAI Codex CLI wrapper feature. Spawns and manages Codex sessions as subprocesses, streaming structured JSON events back through the container's event system. Mirrors the ClaudeCode feature pattern: each call to `run()` spawns a `codex exec --json` process, parses NDJSON from stdout line-by-line, and emits typed events on the feature's event bus.
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
container.feature('openaiCodex', {
|
|
9
|
-
// Path to the codex CLI binary
|
|
10
|
-
codexPath,
|
|
11
|
-
// Default model to use for sessions
|
|
12
|
-
model,
|
|
13
|
-
// Default working directory for sessions
|
|
14
|
-
cwd,
|
|
15
|
-
// Sandbox policy for shell commands
|
|
16
|
-
sandbox,
|
|
17
|
-
// Approval mode for codex operations
|
|
18
|
-
approvalMode,
|
|
19
|
-
// Path to additional project doc to include
|
|
20
|
-
projectDoc,
|
|
21
|
-
// Disable automatic codex.md inclusion
|
|
22
|
-
noProjectDoc,
|
|
23
|
-
// Do not truncate stdout/stderr from command outputs
|
|
24
|
-
fullStdout,
|
|
25
|
-
})
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Options (Zod v4 schema)
|
|
29
|
-
|
|
30
|
-
| Property | Type | Description |
|
|
31
|
-
|----------|------|-------------|
|
|
32
|
-
| `codexPath` | `string` | Path to the codex CLI binary |
|
|
33
|
-
| `model` | `string` | Default model to use for sessions |
|
|
34
|
-
| `cwd` | `string` | Default working directory for sessions |
|
|
35
|
-
| `sandbox` | `string` | Sandbox policy for shell commands |
|
|
36
|
-
| `approvalMode` | `string` | Approval mode for codex operations |
|
|
37
|
-
| `projectDoc` | `string` | Path to additional project doc to include |
|
|
38
|
-
| `noProjectDoc` | `boolean` | Disable automatic codex.md inclusion |
|
|
39
|
-
| `fullStdout` | `boolean` | Do not truncate stdout/stderr from command outputs |
|
|
40
|
-
|
|
41
|
-
## Methods
|
|
42
|
-
|
|
43
|
-
### checkAvailability
|
|
44
|
-
|
|
45
|
-
Check if the Codex CLI is available and capture its version.
|
|
46
|
-
|
|
47
|
-
**Returns:** `Promise<boolean>`
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
### run
|
|
52
|
-
|
|
53
|
-
Run a prompt in a new Codex session. Spawns a subprocess, streams NDJSON events, and resolves when the session completes.
|
|
54
|
-
|
|
55
|
-
**Parameters:**
|
|
56
|
-
|
|
57
|
-
| Name | Type | Required | Description |
|
|
58
|
-
|------|------|----------|-------------|
|
|
59
|
-
| `prompt` | `string` | ✓ | The natural language instruction for the Codex agent |
|
|
60
|
-
| `options` | `CodexRunOptions` | | Optional overrides for model, cwd, sandbox policy, etc. |
|
|
61
|
-
|
|
62
|
-
`CodexRunOptions` properties:
|
|
63
|
-
|
|
64
|
-
| Property | Type | Description |
|
|
65
|
-
|----------|------|-------------|
|
|
66
|
-
| `model` | `string` | |
|
|
67
|
-
| `cwd` | `string` | |
|
|
68
|
-
| `sandbox` | `'read-only' | 'workspace-write' | 'danger-full-access'` | |
|
|
69
|
-
| `approvalMode` | `'suggest' | 'auto-edit' | 'full-auto'` | |
|
|
70
|
-
| `projectDoc` | `string` | |
|
|
71
|
-
| `noProjectDoc` | `boolean` | |
|
|
72
|
-
| `fullStdout` | `boolean` | |
|
|
73
|
-
| `images` | `string[]` | |
|
|
74
|
-
| `fullAuto` | `boolean` | |
|
|
75
|
-
| `resumeSessionId` | `string` | Resume a previous session by ID. |
|
|
76
|
-
| `resumeLast` | `boolean` | Resume the most recent session. |
|
|
77
|
-
| `dangerouslyAutoApproveEverything` | `boolean` | Skip all approvals and sandboxing. |
|
|
78
|
-
| `extraArgs` | `string[]` | Additional CLI flags. |
|
|
79
|
-
|
|
80
|
-
**Returns:** `Promise<CodexSession>`
|
|
81
|
-
|
|
82
|
-
```ts
|
|
83
|
-
const session = await codex.run('Fix the failing tests')
|
|
84
|
-
console.log(session.result)
|
|
85
|
-
|
|
86
|
-
const session = await codex.run('Refactor the auth module', {
|
|
87
|
-
model: 'o4-mini',
|
|
88
|
-
fullAuto: true,
|
|
89
|
-
cwd: '/path/to/project'
|
|
90
|
-
})
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
### start
|
|
96
|
-
|
|
97
|
-
Run a prompt without waiting for completion. Returns the session ID immediately so you can subscribe to events.
|
|
98
|
-
|
|
99
|
-
**Parameters:**
|
|
100
|
-
|
|
101
|
-
| Name | Type | Required | Description |
|
|
102
|
-
|------|------|----------|-------------|
|
|
103
|
-
| `prompt` | `string` | ✓ | The natural language instruction for the Codex agent |
|
|
104
|
-
| `options` | `CodexRunOptions` | | Optional overrides for model, cwd, sandbox policy, etc. |
|
|
105
|
-
|
|
106
|
-
`CodexRunOptions` properties:
|
|
107
|
-
|
|
108
|
-
| Property | Type | Description |
|
|
109
|
-
|----------|------|-------------|
|
|
110
|
-
| `model` | `string` | |
|
|
111
|
-
| `cwd` | `string` | |
|
|
112
|
-
| `sandbox` | `'read-only' | 'workspace-write' | 'danger-full-access'` | |
|
|
113
|
-
| `approvalMode` | `'suggest' | 'auto-edit' | 'full-auto'` | |
|
|
114
|
-
| `projectDoc` | `string` | |
|
|
115
|
-
| `noProjectDoc` | `boolean` | |
|
|
116
|
-
| `fullStdout` | `boolean` | |
|
|
117
|
-
| `images` | `string[]` | |
|
|
118
|
-
| `fullAuto` | `boolean` | |
|
|
119
|
-
| `resumeSessionId` | `string` | Resume a previous session by ID. |
|
|
120
|
-
| `resumeLast` | `boolean` | Resume the most recent session. |
|
|
121
|
-
| `dangerouslyAutoApproveEverything` | `boolean` | Skip all approvals and sandboxing. |
|
|
122
|
-
| `extraArgs` | `string[]` | Additional CLI flags. |
|
|
123
|
-
|
|
124
|
-
**Returns:** `string`
|
|
125
|
-
|
|
126
|
-
```ts
|
|
127
|
-
const sessionId = codex.start('Build a REST API for users')
|
|
128
|
-
|
|
129
|
-
codex.on('session:delta', ({ sessionId: sid, text }) => {
|
|
130
|
-
if (sid === sessionId) process.stdout.write(text)
|
|
131
|
-
})
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
### abort
|
|
137
|
-
|
|
138
|
-
Kill a running session's subprocess.
|
|
139
|
-
|
|
140
|
-
**Parameters:**
|
|
141
|
-
|
|
142
|
-
| Name | Type | Required | Description |
|
|
143
|
-
|------|------|----------|-------------|
|
|
144
|
-
| `sessionId` | `string` | ✓ | The session ID to abort |
|
|
145
|
-
|
|
146
|
-
**Returns:** `void`
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
### getSession
|
|
151
|
-
|
|
152
|
-
Retrieve the current state of a session by its ID.
|
|
153
|
-
|
|
154
|
-
**Parameters:**
|
|
155
|
-
|
|
156
|
-
| Name | Type | Required | Description |
|
|
157
|
-
|------|------|----------|-------------|
|
|
158
|
-
| `sessionId` | `string` | ✓ | The session ID to look up |
|
|
159
|
-
|
|
160
|
-
**Returns:** `CodexSession | undefined`
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
### waitForSession
|
|
165
|
-
|
|
166
|
-
Wait for a running session to complete or error. Resolves immediately if the session is already in a terminal state.
|
|
167
|
-
|
|
168
|
-
**Parameters:**
|
|
169
|
-
|
|
170
|
-
| Name | Type | Required | Description |
|
|
171
|
-
|------|------|----------|-------------|
|
|
172
|
-
| `sessionId` | `string` | ✓ | The session ID to wait for |
|
|
173
|
-
|
|
174
|
-
**Returns:** `Promise<CodexSession>`
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
### enable
|
|
179
|
-
|
|
180
|
-
Enable the feature. Delegates to the base Feature enable() lifecycle.
|
|
181
|
-
|
|
182
|
-
**Parameters:**
|
|
183
|
-
|
|
184
|
-
| Name | Type | Required | Description |
|
|
185
|
-
|------|------|----------|-------------|
|
|
186
|
-
| `options` | `any` | | Options to merge into the feature configuration |
|
|
187
|
-
|
|
188
|
-
**Returns:** `Promise<this>`
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
## Getters
|
|
193
|
-
|
|
194
|
-
| Property | Type | Description |
|
|
195
|
-
|----------|------|-------------|
|
|
196
|
-
| `codexPath` | `string` | |
|
|
197
|
-
|
|
198
|
-
## Events (Zod v4 schema)
|
|
199
|
-
|
|
200
|
-
### session:event
|
|
201
|
-
|
|
202
|
-
Fired for every parsed JSON event from the Codex CLI stream
|
|
203
|
-
|
|
204
|
-
**Event Arguments:**
|
|
205
|
-
|
|
206
|
-
| Name | Type | Description |
|
|
207
|
-
|------|------|-------------|
|
|
208
|
-
| `sessionId` | `string` | |
|
|
209
|
-
| `event` | `any` | |
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
### session:delta
|
|
214
|
-
|
|
215
|
-
Fired for each text delta from an agent message
|
|
216
|
-
|
|
217
|
-
**Event Arguments:**
|
|
218
|
-
|
|
219
|
-
| Name | Type | Description |
|
|
220
|
-
|------|------|-------------|
|
|
221
|
-
| `sessionId` | `string` | |
|
|
222
|
-
| `text` | `string` | |
|
|
223
|
-
| `role` | `string` | |
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
### session:message
|
|
228
|
-
|
|
229
|
-
Fired when a complete agent message is received
|
|
230
|
-
|
|
231
|
-
**Event Arguments:**
|
|
232
|
-
|
|
233
|
-
| Name | Type | Description |
|
|
234
|
-
|------|------|-------------|
|
|
235
|
-
| `sessionId` | `string` | |
|
|
236
|
-
| `message` | `any` | |
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
### session:exec
|
|
241
|
-
|
|
242
|
-
Fired when a command execution item completes
|
|
243
|
-
|
|
244
|
-
**Event Arguments:**
|
|
245
|
-
|
|
246
|
-
| Name | Type | Description |
|
|
247
|
-
|------|------|-------------|
|
|
248
|
-
| `sessionId` | `string` | |
|
|
249
|
-
| `exec` | `any` | |
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
### session:reasoning
|
|
254
|
-
|
|
255
|
-
Fired when a reasoning item is received
|
|
256
|
-
|
|
257
|
-
**Event Arguments:**
|
|
258
|
-
|
|
259
|
-
| Name | Type | Description |
|
|
260
|
-
|------|------|-------------|
|
|
261
|
-
| `sessionId` | `string` | |
|
|
262
|
-
| `text` | `string` | |
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
### session:exec-start
|
|
267
|
-
|
|
268
|
-
Fired when a command execution item starts
|
|
269
|
-
|
|
270
|
-
**Event Arguments:**
|
|
271
|
-
|
|
272
|
-
| Name | Type | Description |
|
|
273
|
-
|------|------|-------------|
|
|
274
|
-
| `sessionId` | `string` | |
|
|
275
|
-
| `command` | `string` | |
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
### session:start
|
|
280
|
-
|
|
281
|
-
Fired when a new Codex session is spawned
|
|
282
|
-
|
|
283
|
-
**Event Arguments:**
|
|
284
|
-
|
|
285
|
-
| Name | Type | Description |
|
|
286
|
-
|------|------|-------------|
|
|
287
|
-
| `sessionId` | `string` | |
|
|
288
|
-
| `prompt` | `string` | |
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
### session:error
|
|
293
|
-
|
|
294
|
-
Fired when a session encounters an error
|
|
295
|
-
|
|
296
|
-
**Event Arguments:**
|
|
297
|
-
|
|
298
|
-
| Name | Type | Description |
|
|
299
|
-
|------|------|-------------|
|
|
300
|
-
| `sessionId` | `string` | |
|
|
301
|
-
| `error` | `any` | |
|
|
302
|
-
| `exitCode` | `number` | |
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
### session:parse-error
|
|
307
|
-
|
|
308
|
-
Fired when a JSON line from the CLI cannot be parsed
|
|
309
|
-
|
|
310
|
-
**Event Arguments:**
|
|
311
|
-
|
|
312
|
-
| Name | Type | Description |
|
|
313
|
-
|------|------|-------------|
|
|
314
|
-
| `sessionId` | `string` | |
|
|
315
|
-
| `line` | `string` | |
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
### session:result
|
|
320
|
-
|
|
321
|
-
Fired when a session completes with a final result
|
|
322
|
-
|
|
323
|
-
**Event Arguments:**
|
|
324
|
-
|
|
325
|
-
| Name | Type | Description |
|
|
326
|
-
|------|------|-------------|
|
|
327
|
-
| `sessionId` | `string` | |
|
|
328
|
-
| `result` | `string` | |
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
### session:abort
|
|
333
|
-
|
|
334
|
-
Fired when a session is aborted by the user
|
|
335
|
-
|
|
336
|
-
**Event Arguments:**
|
|
337
|
-
|
|
338
|
-
| Name | Type | Description |
|
|
339
|
-
|------|------|-------------|
|
|
340
|
-
| `sessionId` | `string` | |
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
## State (Zod v4 schema)
|
|
345
|
-
|
|
346
|
-
| Property | Type | Description |
|
|
347
|
-
|----------|------|-------------|
|
|
348
|
-
| `enabled` | `boolean` | Whether this feature is currently enabled |
|
|
349
|
-
| `sessions` | `object` | Map of session IDs to CodexSession objects |
|
|
350
|
-
| `activeSessions` | `array` | List of currently running session IDs |
|
|
351
|
-
| `codexAvailable` | `boolean` | Whether the codex CLI binary is available |
|
|
352
|
-
| `codexVersion` | `string` | Detected codex CLI version string |
|
|
353
|
-
|
|
354
|
-
## Examples
|
|
355
|
-
|
|
356
|
-
**features.openaiCodex**
|
|
357
|
-
|
|
358
|
-
```ts
|
|
359
|
-
const codex = container.feature('openaiCodex')
|
|
360
|
-
|
|
361
|
-
// Listen for events
|
|
362
|
-
codex.on('session:message', ({ sessionId, message }) => console.log(message))
|
|
363
|
-
codex.on('session:patch', ({ sessionId, patch }) => console.log('File changed:', patch.path))
|
|
364
|
-
|
|
365
|
-
// Run a prompt
|
|
366
|
-
const session = await codex.run('Fix the failing tests in src/')
|
|
367
|
-
console.log(session.result)
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
**run**
|
|
373
|
-
|
|
374
|
-
```ts
|
|
375
|
-
const session = await codex.run('Fix the failing tests')
|
|
376
|
-
console.log(session.result)
|
|
377
|
-
|
|
378
|
-
const session = await codex.run('Refactor the auth module', {
|
|
379
|
-
model: 'o4-mini',
|
|
380
|
-
fullAuto: true,
|
|
381
|
-
cwd: '/path/to/project'
|
|
382
|
-
})
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
**start**
|
|
388
|
-
|
|
389
|
-
```ts
|
|
390
|
-
const sessionId = codex.start('Build a REST API for users')
|
|
391
|
-
|
|
392
|
-
codex.on('session:delta', ({ sessionId: sid, text }) => {
|
|
393
|
-
if (sid === sessionId) process.stdout.write(text)
|
|
394
|
-
})
|
|
395
|
-
```
|
|
396
|
-
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
# OpenAPI (features.openapi)
|
|
2
|
-
|
|
3
|
-
The OpenAPI feature loads an OpenAPI/Swagger spec from a URL and provides inspection and conversion utilities. Works in both browser and node environments since it uses fetch.
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
container.feature('openapi')
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Methods
|
|
12
|
-
|
|
13
|
-
### load
|
|
14
|
-
|
|
15
|
-
Fetches and parses the OpenAPI spec from the configured URL. Populates `endpoints`, updates state with spec metadata.
|
|
16
|
-
|
|
17
|
-
**Returns:** `Promise<this>`
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
### endpoint
|
|
22
|
-
|
|
23
|
-
Get a single endpoint by its friendly name or operationId.
|
|
24
|
-
|
|
25
|
-
**Parameters:**
|
|
26
|
-
|
|
27
|
-
| Name | Type | Required | Description |
|
|
28
|
-
|------|------|----------|-------------|
|
|
29
|
-
| `name` | `string` | ✓ | The friendly name or operationId to look up |
|
|
30
|
-
|
|
31
|
-
**Returns:** `EndpointInfo | undefined`
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
### toOpenAITools
|
|
36
|
-
|
|
37
|
-
Convert all endpoints into OpenAI-compatible tool definitions.
|
|
38
|
-
|
|
39
|
-
**Parameters:**
|
|
40
|
-
|
|
41
|
-
| Name | Type | Required | Description |
|
|
42
|
-
|------|------|----------|-------------|
|
|
43
|
-
| `filter` | `(ep: EndpointInfo) => boolean` | | Optional predicate to select which endpoints to include |
|
|
44
|
-
|
|
45
|
-
**Returns:** `OpenAIToolDef[]`
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
### toTool
|
|
50
|
-
|
|
51
|
-
Convert a single endpoint (by name) to an OpenAI-compatible tool definition.
|
|
52
|
-
|
|
53
|
-
**Parameters:**
|
|
54
|
-
|
|
55
|
-
| Name | Type | Required | Description |
|
|
56
|
-
|------|------|----------|-------------|
|
|
57
|
-
| `name` | `string` | ✓ | The endpoint friendly name or operationId |
|
|
58
|
-
|
|
59
|
-
**Returns:** `OpenAIToolDef | undefined`
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
### toFunctions
|
|
64
|
-
|
|
65
|
-
Convert all endpoints into OpenAI-compatible function definitions.
|
|
66
|
-
|
|
67
|
-
**Parameters:**
|
|
68
|
-
|
|
69
|
-
| Name | Type | Required | Description |
|
|
70
|
-
|------|------|----------|-------------|
|
|
71
|
-
| `filter` | `(ep: EndpointInfo) => boolean` | | Optional predicate to select which endpoints to include |
|
|
72
|
-
|
|
73
|
-
**Returns:** `OpenAIFunctionDef[]`
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
### toFunction
|
|
78
|
-
|
|
79
|
-
Convert a single endpoint (by name) to an OpenAI function definition.
|
|
80
|
-
|
|
81
|
-
**Parameters:**
|
|
82
|
-
|
|
83
|
-
| Name | Type | Required | Description |
|
|
84
|
-
|------|------|----------|-------------|
|
|
85
|
-
| `name` | `string` | ✓ | The endpoint friendly name or operationId |
|
|
86
|
-
|
|
87
|
-
**Returns:** `OpenAIFunctionDef | undefined`
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
### toJSON
|
|
92
|
-
|
|
93
|
-
Return a compact JSON summary of all endpoints, useful for logging or REPL inspection.
|
|
94
|
-
|
|
95
|
-
**Returns:** `{ title: string, version: string, serverUrl: string, endpointCount: number, endpoints: object[]`
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
## Getters
|
|
100
|
-
|
|
101
|
-
| Property | Type | Description |
|
|
102
|
-
|----------|------|-------------|
|
|
103
|
-
| `serverUrl` | `string` | The base server URL derived from options, normalizing the openapi.json suffix |
|
|
104
|
-
| `specUrl` | `string` | The URL that will be fetched for the spec document |
|
|
105
|
-
| `spec` | `any` | The raw spec object. Null before load() is called. |
|
|
106
|
-
| `endpoints` | `EndpointInfo[]` | All parsed endpoints as an array |
|
|
107
|
-
| `endpointNames` | `string[]` | All endpoint friendly names |
|
|
108
|
-
| `endpointsByTag` | `Record<string, EndpointInfo[]>` | Map of endpoints grouped by tag |
|
|
109
|
-
|
|
110
|
-
## Events (Zod v4 schema)
|
|
111
|
-
|
|
112
|
-
### started
|
|
113
|
-
|
|
114
|
-
Event emitted by OpenAPI
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
## Examples
|
|
119
|
-
|
|
120
|
-
**features.openapi**
|
|
121
|
-
|
|
122
|
-
```ts
|
|
123
|
-
const api = container.feature('openapi', { url: 'https://petstore.swagger.io/v2' })
|
|
124
|
-
await api.load()
|
|
125
|
-
|
|
126
|
-
// Inspect all endpoints
|
|
127
|
-
api.endpoints
|
|
128
|
-
|
|
129
|
-
// Get a single endpoint by its friendly name
|
|
130
|
-
api.endpoint('getPetById')
|
|
131
|
-
|
|
132
|
-
// Convert to OpenAI tool definitions
|
|
133
|
-
api.toOpenAITools()
|
|
134
|
-
|
|
135
|
-
// Convert a single endpoint to a function definition
|
|
136
|
-
api.toFunction('getPetById')
|
|
137
|
-
```
|
|
138
|
-
|