clew-code 0.4.5 → 0.4.7
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/LICENSE.md +1 -1
- package/README.md +367 -250
- package/dist/main.js +2296 -2111
- package/docs/architecture/provider-system.md +107 -0
- package/package.json +162 -162
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Provider System
|
|
2
|
+
|
|
3
|
+
How Clew Code selects, configures, and talks to AI providers.
|
|
4
|
+
|
|
5
|
+
## Architecture
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
Clew core (claude.ts agent loop)
|
|
9
|
+
│ speaks Clew Internal Protocol v1
|
|
10
|
+
▼
|
|
11
|
+
UnifiedAIProviderClient — client.beta.messages.create(...)
|
|
12
|
+
│
|
|
13
|
+
├─ anthropic → native Anthropic SDK client (no adapter)
|
|
14
|
+
└─ everyone else
|
|
15
|
+
│
|
|
16
|
+
ProviderManager.createClient()
|
|
17
|
+
│ selection: session override → AI_PROVIDER → provider.json → legacy env → DEFAULT_PROVIDER
|
|
18
|
+
▼
|
|
19
|
+
ProviderRegistry (built from providers.json)
|
|
20
|
+
│ provider classes: OpenAIProvider, GoogleProvider, OpenAICompatibleProvider, ...
|
|
21
|
+
▼
|
|
22
|
+
AnthropicAdapter
|
|
23
|
+
converts requests/responses/stream events between the provider's
|
|
24
|
+
wire format and the Clew Internal Protocol
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Clew Internal Protocol v1
|
|
28
|
+
|
|
29
|
+
The core speaks the **Anthropic Messages format** end to end. This is a
|
|
30
|
+
deliberate, named decision — declared in `src/services/api/clewProtocol.ts` —
|
|
31
|
+
not an accident of history:
|
|
32
|
+
|
|
33
|
+
- `ClewProtocolRequest` = `BetaMessageStreamParams`
|
|
34
|
+
- `ClewProtocolMessage` = `BetaMessage`
|
|
35
|
+
- `ClewProtocolStreamEvent` = `BetaRawMessageStreamEvent`
|
|
36
|
+
|
|
37
|
+
Providers with other wire formats (OpenAI-compatible, Gemini, ...) are
|
|
38
|
+
converted at the system edge by adapters in `src/services/ai/adapter/`.
|
|
39
|
+
Changing these shapes is a protocol version bump.
|
|
40
|
+
|
|
41
|
+
## Single source of truth
|
|
42
|
+
|
|
43
|
+
`src/services/ai/providers.json` is the only provider/model catalog. It feeds:
|
|
44
|
+
|
|
45
|
+
- `providerRegistry.ts` → `PROVIDER_REGISTRY`, `PROVIDER_IDS`, capabilities,
|
|
46
|
+
default models, prompt-caching support
|
|
47
|
+
- the `/providers` slash command (interactive picker)
|
|
48
|
+
- the `clew provider` CLI (`src/commands/provider-select-cli.ts`)
|
|
49
|
+
- dynamic model listing fallbacks (`providerModels.ts`)
|
|
50
|
+
|
|
51
|
+
Do **not** add hardcoded provider or model lists elsewhere. If a provider
|
|
52
|
+
needs a dedicated client class, register it in `createProvider()` in
|
|
53
|
+
`providerRegistry.ts`; anything OpenAI-compatible only needs a
|
|
54
|
+
`providers.json` entry (`envKey` + `defaultBaseUrl`) and falls back to
|
|
55
|
+
`OpenAICompatibleProvider` automatically.
|
|
56
|
+
|
|
57
|
+
`anthropic` is a first-class registry entry. Client creation still
|
|
58
|
+
special-cases it in `src/services/api/client.ts` (native SDK client, no
|
|
59
|
+
adapter), but selection, API-key resolution, model listing, and defaults all
|
|
60
|
+
go through the registry like every other provider.
|
|
61
|
+
|
|
62
|
+
## Configuration
|
|
63
|
+
|
|
64
|
+
| Source | Precedence |
|
|
65
|
+
|---|---|
|
|
66
|
+
| Session override (`setSessionProvider` / `/providers set` without `--global`) | 1 (highest) |
|
|
67
|
+
| `AI_PROVIDER` env var | 2 |
|
|
68
|
+
| `<project>/.clew/provider.json`, else `~/.clew/provider.json` | 3 |
|
|
69
|
+
| Legacy env (`CLAUDE_CODE_USE_BEDROCK` / `VERTEX` / `FOUNDRY` → anthropic) | 4 |
|
|
70
|
+
| `DEFAULT_PROVIDER` (`openai`) | 5 |
|
|
71
|
+
|
|
72
|
+
### Legacy IDs and migration
|
|
73
|
+
|
|
74
|
+
Older configs and CLIs wrote provider IDs that were never registered
|
|
75
|
+
(notably `gemini`). `normalizeProviderId()` in `providerRegistry.ts` maps
|
|
76
|
+
these aliases to canonical IDs (`gemini` → `google`) and is applied:
|
|
77
|
+
|
|
78
|
+
- when `provider.json` is loaded (`normalizeLegacyProviderConfig` — in-memory
|
|
79
|
+
only; the file on disk is not rewritten, and legacy `apiKeys` entries are
|
|
80
|
+
copied to the canonical ID rather than deleted, so older versions keep
|
|
81
|
+
working)
|
|
82
|
+
- to `AI_PROVIDER` and session-provider values
|
|
83
|
+
- to provider arguments of `/providers` and `clew provider --models`
|
|
84
|
+
|
|
85
|
+
Unknown provider IDs never throw at selection time — they fall through to
|
|
86
|
+
the next precedence level.
|
|
87
|
+
|
|
88
|
+
### Selection-time validation
|
|
89
|
+
|
|
90
|
+
`src/services/ai/providerSelection.ts` validates provider/model choices when
|
|
91
|
+
the user changes them (`/providers set <provider> <model>`, `clew provider`):
|
|
92
|
+
|
|
93
|
+
- provider must resolve to a registry entry (aliases applied)
|
|
94
|
+
- model must appear in the registry catalog **or** the provider's live
|
|
95
|
+
`/models` listing; when neither yields any models (no API key, offline),
|
|
96
|
+
the model is accepted unverified
|
|
97
|
+
- `custom` provider models are never validated (arbitrary endpoints)
|
|
98
|
+
|
|
99
|
+
## Known caveat: checked-in `.js` shadows
|
|
100
|
+
|
|
101
|
+
Several modules in `src/services/ai/` have a checked-in transpiled `.js`
|
|
102
|
+
sibling (`providerRegistry.js`, `ProviderManager.js`, `providers/*.js`,
|
|
103
|
+
`adapter/AnthropicAdapter.js`). Bun resolves an `import './x.js'` to the
|
|
104
|
+
`.js` file when it exists, so **the `.js` shadow is what actually runs** —
|
|
105
|
+
any change to a shadowed `.ts` file must be mirrored in its `.js` sibling or
|
|
106
|
+
it silently has no effect at runtime. Longer term these shadows should be
|
|
107
|
+
removed or generated by tooling.
|
package/package.json
CHANGED
|
@@ -1,162 +1,162 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "clew-code",
|
|
3
|
-
"version": "0.4.
|
|
4
|
-
"description": "ClewCode — multi-provider AI coding agent CLI",
|
|
5
|
-
"main": "./dist/main.js",
|
|
6
|
-
"type": "module",
|
|
7
|
-
"bin": {
|
|
8
|
-
"clew": "bin/clew.cjs",
|
|
9
|
-
"clewcode": "bin/clew.cjs"
|
|
10
|
-
},
|
|
11
|
-
"files": [
|
|
12
|
-
"bin/",
|
|
13
|
-
"dist/",
|
|
14
|
-
"docs/",
|
|
15
|
-
"scripts/",
|
|
16
|
-
"README.md",
|
|
17
|
-
"LICENSE.md"
|
|
18
|
-
],
|
|
19
|
-
"repository": {
|
|
20
|
-
"type": "git",
|
|
21
|
-
"url": "git+https://github.com/ClewCode/ClewCode.git"
|
|
22
|
-
},
|
|
23
|
-
"bugs": {
|
|
24
|
-
"url": "https://github.com/ClewCode/ClewCode/issues"
|
|
25
|
-
},
|
|
26
|
-
"homepage": "https://github.com/ClewCode/ClewCode#readme",
|
|
27
|
-
"scripts": {
|
|
28
|
-
"prebuild-version": "node scripts/prebuild-version.mjs",
|
|
29
|
-
"dev": "bun run prebuild-version && node scripts/bun-run.mjs --watch",
|
|
30
|
-
"start": "bun run prebuild-version && node scripts/bun-run.mjs",
|
|
31
|
-
"dev:channels": "bun run prebuild-version && node scripts/bun-run.mjs -- --dangerously-load-development-channels server:clew-orc",
|
|
32
|
-
"build": "bun run prebuild-version && NODE_ENV=production bun build --production --define.TRANSCRIPT_CLASSIFIER=true --define.CHICAGO_MCP=true --define.VOICE_MODE=true --define.AWAY_SUMMARY=true src/main.tsx --outdir ./dist --target bun --external electron --external 'chromium-bidi*' --external '@ant/claude-for-chrome-mcp' --external '@anthropic-ai/bedrock-sdk' --external '@anthropic-ai/foundry-sdk' --external '@anthropic-ai/vertex-sdk' --external '@anthropic-ai/mcpb' --external '@aws-sdk/client-bedrock-runtime' --external 'google-auth-library' --external 'sharp' --external 'asciichart' --external 'audio-capture-napi' --external 'modifiers-napi' --external '@xenova/transformers' --external 'onnxruntime-node' --external playwright --external 'playwright-core' --external 'node-pty' && node scripts/postbuild-inject-macro.mjs",
|
|
33
|
-
"prepublishOnly": "bun run build",
|
|
34
|
-
"test": "bun test",
|
|
35
|
-
"lint": "biome lint --write src/",
|
|
36
|
-
"lint:check": "biome lint src/",
|
|
37
|
-
"format": "biome format --write src/",
|
|
38
|
-
"format:check": "biome format src/",
|
|
39
|
-
"check": "biome check --write src/",
|
|
40
|
-
"check:ci": "biome ci src/",
|
|
41
|
-
"ast-grep": "bun x ast-grep",
|
|
42
|
-
"codegraph": "bun run scripts/codegraph.ts",
|
|
43
|
-
"docs:generate": "bun run scripts/generate-docs.ts",
|
|
44
|
-
"docs:watch": "bun --watch run scripts/generate-docs.ts",
|
|
45
|
-
"preload": "bun run scripts/preload.ts",
|
|
46
|
-
"session": "bun run scripts/session.ts",
|
|
47
|
-
"relay": "bun run src/remote/relay-server.ts",
|
|
48
|
-
"install:unix": "bash scripts/install.sh",
|
|
49
|
-
"install:win": "powershell -ExecutionPolicy Bypass -File scripts/install.ps1"
|
|
50
|
-
},
|
|
51
|
-
"keywords": [
|
|
52
|
-
"ai",
|
|
53
|
-
"coding-assistant",
|
|
54
|
-
"anthropic",
|
|
55
|
-
"openai",
|
|
56
|
-
"google",
|
|
57
|
-
"gemini",
|
|
58
|
-
"claude",
|
|
59
|
-
"gpt",
|
|
60
|
-
"openrouter",
|
|
61
|
-
"kilocode",
|
|
62
|
-
"opencode"
|
|
63
|
-
],
|
|
64
|
-
"author": "Dek1milliontoken",
|
|
65
|
-
"license": "SEE LICENSE.md",
|
|
66
|
-
"dependencies": {
|
|
67
|
-
"@agentclientprotocol/sdk": "^0.29.0",
|
|
68
|
-
"@ai-sdk/anthropic": "^3.0.86",
|
|
69
|
-
"@ai-sdk/google": "^3.0.83",
|
|
70
|
-
"@ai-sdk/openai": "^3.0.74",
|
|
71
|
-
"@anthropic-ai/sandbox-runtime": "0.0.59",
|
|
72
|
-
"@anthropic-ai/sdk": "^0.104.2",
|
|
73
|
-
"@aws-sdk/client-bedrock": "^3.1075.0",
|
|
74
|
-
"@aws-sdk/client-sts": "^3.1075.0",
|
|
75
|
-
"@azure/identity": "^4.13.1",
|
|
76
|
-
"@commander-js/extra-typings": "^15.0.0",
|
|
77
|
-
"@google/generative-ai": "0.24.1",
|
|
78
|
-
"@growthbook/growthbook": "^1.6.5",
|
|
79
|
-
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
80
|
-
"@openrouter/ai-sdk-provider": "^2.9.1",
|
|
81
|
-
"@opentelemetry/api": "^1.9.1",
|
|
82
|
-
"@opentelemetry/exporter-logs-otlp-grpc": "^0.219.0",
|
|
83
|
-
"@opentelemetry/exporter-logs-otlp-http": "^0.219.0",
|
|
84
|
-
"@opentelemetry/exporter-logs-otlp-proto": "^0.219.0",
|
|
85
|
-
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.219.0",
|
|
86
|
-
"@opentelemetry/exporter-metrics-otlp-http": "^0.219.0",
|
|
87
|
-
"@opentelemetry/exporter-metrics-otlp-proto": "^0.219.0",
|
|
88
|
-
"@opentelemetry/exporter-prometheus": "^0.219.0",
|
|
89
|
-
"@opentelemetry/exporter-trace-otlp-grpc": "^0.219.0",
|
|
90
|
-
"@opentelemetry/exporter-trace-otlp-http": "^0.219.0",
|
|
91
|
-
"@opentelemetry/exporter-trace-otlp-proto": "^0.219.0",
|
|
92
|
-
"@opentelemetry/resources": "2.8.0",
|
|
93
|
-
"@opentelemetry/sdk-logs": "^0.219.0",
|
|
94
|
-
"@opentelemetry/sdk-metrics": "2.8.0",
|
|
95
|
-
"@opentelemetry/sdk-node": "^0.219.0",
|
|
96
|
-
"@opentelemetry/sdk-trace-base": "2.8.0",
|
|
97
|
-
"@opentelemetry/sdk-trace-node": "2.8.0",
|
|
98
|
-
"@opentelemetry/semantic-conventions": "1.41.1",
|
|
99
|
-
"@sentry/node": "^10.60.0",
|
|
100
|
-
"@types/react": "^19.2.17",
|
|
101
|
-
"@types/react-dom": "^19.2.3",
|
|
102
|
-
"@types/ws": "^8.18.1",
|
|
103
|
-
"@xenova/transformers": "^2.17.2",
|
|
104
|
-
"ansis": "^4.3.1",
|
|
105
|
-
"asciichart": "^1.5.25",
|
|
106
|
-
"bidi-js": "1.0.3",
|
|
107
|
-
"chokidar": "5.0.0",
|
|
108
|
-
"commander": "^15.0.0",
|
|
109
|
-
"conf": "^15.1.0",
|
|
110
|
-
"diff": "^9.0.0",
|
|
111
|
-
"dotenv": "^17.4.2",
|
|
112
|
-
"fflate": "^0.8.3",
|
|
113
|
-
"fuse.js": "^7.4.2",
|
|
114
|
-
"https-proxy-agent": "^9.1.0",
|
|
115
|
-
"ignore": "^7.0.5",
|
|
116
|
-
"ink": "^7.1.0",
|
|
117
|
-
"ink-divider": "^4.1.1",
|
|
118
|
-
"ink-markdown": "^1.0.4",
|
|
119
|
-
"ink-select-input": "^6.2.0",
|
|
120
|
-
"ink-spinner": "^5.0.0",
|
|
121
|
-
"ink-text-input": "^6.0.0",
|
|
122
|
-
"is-docker": "^4.0.0",
|
|
123
|
-
"is-wsl": "^3.1.1",
|
|
124
|
-
"jsonc-parser": "^3.3.1",
|
|
125
|
-
"jsonrepair": "^3.14.0",
|
|
126
|
-
"lodash-es": "^4.18.1",
|
|
127
|
-
"lru-cache": "^11.5.1",
|
|
128
|
-
"lucide-react": "^1.21.0",
|
|
129
|
-
"nano-spawn": "^2.1.0",
|
|
130
|
-
"node-pty": "^1.1.0",
|
|
131
|
-
"ofetch": "^1.5.1",
|
|
132
|
-
"open": "^11.0.0",
|
|
133
|
-
"openai": "^6.44.0",
|
|
134
|
-
"p-map": "^7.0.4",
|
|
135
|
-
"picomatch": "^4.0.4",
|
|
136
|
-
"playwright": "^1.61.1",
|
|
137
|
-
"proper-lockfile": "^4.1.2",
|
|
138
|
-
"qrcode": "^1.5.4",
|
|
139
|
-
"react": "^19.2.7",
|
|
140
|
-
"react-dom": "^19.2.7",
|
|
141
|
-
"react-markdown": "^10.1.0",
|
|
142
|
-
"react-reconciler": "0.33.0",
|
|
143
|
-
"shell-quote": "^1.8.4",
|
|
144
|
-
"signal-exit": "^4.1.0",
|
|
145
|
-
"tree-kill": "^1.2.2",
|
|
146
|
-
"turndown": "^7.2.4",
|
|
147
|
-
"usehooks-ts": "^3.1.1",
|
|
148
|
-
"vscode-jsonrpc": "^9.0.0",
|
|
149
|
-
"xss": "^1.0.15",
|
|
150
|
-
"zod": "^4.4.3"
|
|
151
|
-
},
|
|
152
|
-
"overrides": {
|
|
153
|
-
"react-reconciler": "0.33.0"
|
|
154
|
-
},
|
|
155
|
-
"devDependencies": {
|
|
156
|
-
"@ast-grep/cli": "^0.44.0",
|
|
157
|
-
"@biomejs/biome": "^2.5.1",
|
|
158
|
-
"@types/bun": "latest",
|
|
159
|
-
"@types/semver": "^7.7.1"
|
|
160
|
-
},
|
|
161
|
-
"optionalDependencies": {}
|
|
162
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "clew-code",
|
|
3
|
+
"version": "0.4.7",
|
|
4
|
+
"description": "ClewCode — multi-provider AI coding agent CLI",
|
|
5
|
+
"main": "./dist/main.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"clew": "bin/clew.cjs",
|
|
9
|
+
"clewcode": "bin/clew.cjs"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"bin/",
|
|
13
|
+
"dist/",
|
|
14
|
+
"docs/",
|
|
15
|
+
"scripts/",
|
|
16
|
+
"README.md",
|
|
17
|
+
"LICENSE.md"
|
|
18
|
+
],
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "git+https://github.com/ClewCode/ClewCode.git"
|
|
22
|
+
},
|
|
23
|
+
"bugs": {
|
|
24
|
+
"url": "https://github.com/ClewCode/ClewCode/issues"
|
|
25
|
+
},
|
|
26
|
+
"homepage": "https://github.com/ClewCode/ClewCode#readme",
|
|
27
|
+
"scripts": {
|
|
28
|
+
"prebuild-version": "node scripts/prebuild-version.mjs",
|
|
29
|
+
"dev": "bun run prebuild-version && node scripts/bun-run.mjs --watch",
|
|
30
|
+
"start": "bun run prebuild-version && node scripts/bun-run.mjs",
|
|
31
|
+
"dev:channels": "bun run prebuild-version && node scripts/bun-run.mjs -- --dangerously-load-development-channels server:clew-orc",
|
|
32
|
+
"build": "bun run prebuild-version && NODE_ENV=production bun build --production --define.TRANSCRIPT_CLASSIFIER=true --define.CHICAGO_MCP=true --define.VOICE_MODE=true --define.AWAY_SUMMARY=true src/main.tsx --outdir ./dist --target bun --external electron --external 'chromium-bidi*' --external '@ant/claude-for-chrome-mcp' --external '@anthropic-ai/bedrock-sdk' --external '@anthropic-ai/foundry-sdk' --external '@anthropic-ai/vertex-sdk' --external '@anthropic-ai/mcpb' --external '@aws-sdk/client-bedrock-runtime' --external 'google-auth-library' --external 'sharp' --external 'asciichart' --external 'audio-capture-napi' --external 'modifiers-napi' --external '@xenova/transformers' --external 'onnxruntime-node' --external playwright --external 'playwright-core' --external 'node-pty' && node scripts/postbuild-inject-macro.mjs",
|
|
33
|
+
"prepublishOnly": "bun run build",
|
|
34
|
+
"test": "bun test",
|
|
35
|
+
"lint": "biome lint --write src/",
|
|
36
|
+
"lint:check": "biome lint src/",
|
|
37
|
+
"format": "biome format --write src/",
|
|
38
|
+
"format:check": "biome format src/",
|
|
39
|
+
"check": "biome check --write src/",
|
|
40
|
+
"check:ci": "biome ci src/",
|
|
41
|
+
"ast-grep": "bun x ast-grep",
|
|
42
|
+
"codegraph": "bun run scripts/codegraph.ts",
|
|
43
|
+
"docs:generate": "bun run scripts/generate-docs.ts",
|
|
44
|
+
"docs:watch": "bun --watch run scripts/generate-docs.ts",
|
|
45
|
+
"preload": "bun run scripts/preload.ts",
|
|
46
|
+
"session": "bun run scripts/session.ts",
|
|
47
|
+
"relay": "bun run src/remote/relay-server.ts",
|
|
48
|
+
"install:unix": "bash scripts/install.sh",
|
|
49
|
+
"install:win": "powershell -ExecutionPolicy Bypass -File scripts/install.ps1"
|
|
50
|
+
},
|
|
51
|
+
"keywords": [
|
|
52
|
+
"ai",
|
|
53
|
+
"coding-assistant",
|
|
54
|
+
"anthropic",
|
|
55
|
+
"openai",
|
|
56
|
+
"google",
|
|
57
|
+
"gemini",
|
|
58
|
+
"claude",
|
|
59
|
+
"gpt",
|
|
60
|
+
"openrouter",
|
|
61
|
+
"kilocode",
|
|
62
|
+
"opencode"
|
|
63
|
+
],
|
|
64
|
+
"author": "Dek1milliontoken",
|
|
65
|
+
"license": "SEE LICENSE.md",
|
|
66
|
+
"dependencies": {
|
|
67
|
+
"@agentclientprotocol/sdk": "^0.29.0",
|
|
68
|
+
"@ai-sdk/anthropic": "^3.0.86",
|
|
69
|
+
"@ai-sdk/google": "^3.0.83",
|
|
70
|
+
"@ai-sdk/openai": "^3.0.74",
|
|
71
|
+
"@anthropic-ai/sandbox-runtime": "0.0.59",
|
|
72
|
+
"@anthropic-ai/sdk": "^0.104.2",
|
|
73
|
+
"@aws-sdk/client-bedrock": "^3.1075.0",
|
|
74
|
+
"@aws-sdk/client-sts": "^3.1075.0",
|
|
75
|
+
"@azure/identity": "^4.13.1",
|
|
76
|
+
"@commander-js/extra-typings": "^15.0.0",
|
|
77
|
+
"@google/generative-ai": "0.24.1",
|
|
78
|
+
"@growthbook/growthbook": "^1.6.5",
|
|
79
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
80
|
+
"@openrouter/ai-sdk-provider": "^2.9.1",
|
|
81
|
+
"@opentelemetry/api": "^1.9.1",
|
|
82
|
+
"@opentelemetry/exporter-logs-otlp-grpc": "^0.219.0",
|
|
83
|
+
"@opentelemetry/exporter-logs-otlp-http": "^0.219.0",
|
|
84
|
+
"@opentelemetry/exporter-logs-otlp-proto": "^0.219.0",
|
|
85
|
+
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.219.0",
|
|
86
|
+
"@opentelemetry/exporter-metrics-otlp-http": "^0.219.0",
|
|
87
|
+
"@opentelemetry/exporter-metrics-otlp-proto": "^0.219.0",
|
|
88
|
+
"@opentelemetry/exporter-prometheus": "^0.219.0",
|
|
89
|
+
"@opentelemetry/exporter-trace-otlp-grpc": "^0.219.0",
|
|
90
|
+
"@opentelemetry/exporter-trace-otlp-http": "^0.219.0",
|
|
91
|
+
"@opentelemetry/exporter-trace-otlp-proto": "^0.219.0",
|
|
92
|
+
"@opentelemetry/resources": "2.8.0",
|
|
93
|
+
"@opentelemetry/sdk-logs": "^0.219.0",
|
|
94
|
+
"@opentelemetry/sdk-metrics": "2.8.0",
|
|
95
|
+
"@opentelemetry/sdk-node": "^0.219.0",
|
|
96
|
+
"@opentelemetry/sdk-trace-base": "2.8.0",
|
|
97
|
+
"@opentelemetry/sdk-trace-node": "2.8.0",
|
|
98
|
+
"@opentelemetry/semantic-conventions": "1.41.1",
|
|
99
|
+
"@sentry/node": "^10.60.0",
|
|
100
|
+
"@types/react": "^19.2.17",
|
|
101
|
+
"@types/react-dom": "^19.2.3",
|
|
102
|
+
"@types/ws": "^8.18.1",
|
|
103
|
+
"@xenova/transformers": "^2.17.2",
|
|
104
|
+
"ansis": "^4.3.1",
|
|
105
|
+
"asciichart": "^1.5.25",
|
|
106
|
+
"bidi-js": "1.0.3",
|
|
107
|
+
"chokidar": "5.0.0",
|
|
108
|
+
"commander": "^15.0.0",
|
|
109
|
+
"conf": "^15.1.0",
|
|
110
|
+
"diff": "^9.0.0",
|
|
111
|
+
"dotenv": "^17.4.2",
|
|
112
|
+
"fflate": "^0.8.3",
|
|
113
|
+
"fuse.js": "^7.4.2",
|
|
114
|
+
"https-proxy-agent": "^9.1.0",
|
|
115
|
+
"ignore": "^7.0.5",
|
|
116
|
+
"ink": "^7.1.0",
|
|
117
|
+
"ink-divider": "^4.1.1",
|
|
118
|
+
"ink-markdown": "^1.0.4",
|
|
119
|
+
"ink-select-input": "^6.2.0",
|
|
120
|
+
"ink-spinner": "^5.0.0",
|
|
121
|
+
"ink-text-input": "^6.0.0",
|
|
122
|
+
"is-docker": "^4.0.0",
|
|
123
|
+
"is-wsl": "^3.1.1",
|
|
124
|
+
"jsonc-parser": "^3.3.1",
|
|
125
|
+
"jsonrepair": "^3.14.0",
|
|
126
|
+
"lodash-es": "^4.18.1",
|
|
127
|
+
"lru-cache": "^11.5.1",
|
|
128
|
+
"lucide-react": "^1.21.0",
|
|
129
|
+
"nano-spawn": "^2.1.0",
|
|
130
|
+
"node-pty": "^1.1.0",
|
|
131
|
+
"ofetch": "^1.5.1",
|
|
132
|
+
"open": "^11.0.0",
|
|
133
|
+
"openai": "^6.44.0",
|
|
134
|
+
"p-map": "^7.0.4",
|
|
135
|
+
"picomatch": "^4.0.4",
|
|
136
|
+
"playwright": "^1.61.1",
|
|
137
|
+
"proper-lockfile": "^4.1.2",
|
|
138
|
+
"qrcode": "^1.5.4",
|
|
139
|
+
"react": "^19.2.7",
|
|
140
|
+
"react-dom": "^19.2.7",
|
|
141
|
+
"react-markdown": "^10.1.0",
|
|
142
|
+
"react-reconciler": "0.33.0",
|
|
143
|
+
"shell-quote": "^1.8.4",
|
|
144
|
+
"signal-exit": "^4.1.0",
|
|
145
|
+
"tree-kill": "^1.2.2",
|
|
146
|
+
"turndown": "^7.2.4",
|
|
147
|
+
"usehooks-ts": "^3.1.1",
|
|
148
|
+
"vscode-jsonrpc": "^9.0.0",
|
|
149
|
+
"xss": "^1.0.15",
|
|
150
|
+
"zod": "^4.4.3"
|
|
151
|
+
},
|
|
152
|
+
"overrides": {
|
|
153
|
+
"react-reconciler": "0.33.0"
|
|
154
|
+
},
|
|
155
|
+
"devDependencies": {
|
|
156
|
+
"@ast-grep/cli": "^0.44.0",
|
|
157
|
+
"@biomejs/biome": "^2.5.1",
|
|
158
|
+
"@types/bun": "latest",
|
|
159
|
+
"@types/semver": "^7.7.1"
|
|
160
|
+
},
|
|
161
|
+
"optionalDependencies": {}
|
|
162
|
+
}
|