@elyracode/coding-agent 0.9.31 → 0.9.33
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/CHANGELOG.md +13 -0
- package/dist/core/agent-session.d.ts +11 -2
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +57 -2
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +5 -3
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/settings-manager.d.ts +4 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +3 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +7 -1
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/terminal-capabilities.d.ts +12 -0
- package/dist/modes/interactive/terminal-capabilities.d.ts.map +1 -0
- package/dist/modes/interactive/terminal-capabilities.js +35 -0
- package/dist/modes/interactive/terminal-capabilities.js.map +1 -0
- package/docs/providers.md +4 -4
- package/docs/settings.md +15 -0
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User overrides for auto-detected terminal capabilities.
|
|
3
|
+
* Detection is conservative (unknown terminals get hyperlinks/images off),
|
|
4
|
+
* so settings let users force capabilities on or off.
|
|
5
|
+
*/
|
|
6
|
+
import type { TerminalCapabilities } from "@elyracode/tui";
|
|
7
|
+
import type { TerminalSettings } from "../../core/settings-manager.js";
|
|
8
|
+
/** Returns true if any capability override is set to a non-"auto" value. */
|
|
9
|
+
export declare function hasTerminalCapabilityOverrides(overrides: TerminalSettings): boolean;
|
|
10
|
+
/** Applies user capability overrides on top of detected capabilities. "auto"/undefined keeps detection. */
|
|
11
|
+
export declare function applyTerminalCapabilityOverrides(detected: TerminalCapabilities, overrides: TerminalSettings): TerminalCapabilities;
|
|
12
|
+
//# sourceMappingURL=terminal-capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-capabilities.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/terminal-capabilities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,4EAA4E;AAC5E,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAMnF;AAED,2GAA2G;AAC3G,wBAAgB,gCAAgC,CAC/C,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,gBAAgB,GACzB,oBAAoB,CAkBtB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User overrides for auto-detected terminal capabilities.
|
|
3
|
+
* Detection is conservative (unknown terminals get hyperlinks/images off),
|
|
4
|
+
* so settings let users force capabilities on or off.
|
|
5
|
+
*/
|
|
6
|
+
/** Returns true if any capability override is set to a non-"auto" value. */
|
|
7
|
+
export function hasTerminalCapabilityOverrides(overrides) {
|
|
8
|
+
return ((overrides.hyperlinks !== undefined && overrides.hyperlinks !== "auto") ||
|
|
9
|
+
(overrides.images !== undefined && overrides.images !== "auto") ||
|
|
10
|
+
(overrides.trueColor !== undefined && overrides.trueColor !== "auto"));
|
|
11
|
+
}
|
|
12
|
+
/** Applies user capability overrides on top of detected capabilities. "auto"/undefined keeps detection. */
|
|
13
|
+
export function applyTerminalCapabilityOverrides(detected, overrides) {
|
|
14
|
+
const result = { ...detected };
|
|
15
|
+
if (overrides.hyperlinks === "on") {
|
|
16
|
+
result.hyperlinks = true;
|
|
17
|
+
}
|
|
18
|
+
else if (overrides.hyperlinks === "off") {
|
|
19
|
+
result.hyperlinks = false;
|
|
20
|
+
}
|
|
21
|
+
if (overrides.trueColor === "on") {
|
|
22
|
+
result.trueColor = true;
|
|
23
|
+
}
|
|
24
|
+
else if (overrides.trueColor === "off") {
|
|
25
|
+
result.trueColor = false;
|
|
26
|
+
}
|
|
27
|
+
if (overrides.images === "off") {
|
|
28
|
+
result.images = null;
|
|
29
|
+
}
|
|
30
|
+
else if (overrides.images === "kitty" || overrides.images === "iterm2") {
|
|
31
|
+
result.images = overrides.images;
|
|
32
|
+
}
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=terminal-capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-capabilities.js","sourceRoot":"","sources":["../../../src/modes/interactive/terminal-capabilities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,4EAA4E;AAC5E,MAAM,UAAU,8BAA8B,CAAC,SAA2B;IACzE,OAAO,CACN,CAAC,SAAS,CAAC,UAAU,KAAK,SAAS,IAAI,SAAS,CAAC,UAAU,KAAK,MAAM,CAAC;QACvE,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC;QAC/D,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,MAAM,CAAC,CACrE,CAAC;AACH,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,gCAAgC,CAC/C,QAA8B,EAC9B,SAA2B;IAE3B,MAAM,MAAM,GAAyB,EAAE,GAAG,QAAQ,EAAE,CAAC;IACrD,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;IAC1B,CAAC;SAAM,IAAI,SAAS,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QAC3C,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;IAC3B,CAAC;IACD,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;IACzB,CAAC;SAAM,IAAI,SAAS,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC1C,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;IAC1B,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1E,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC","sourcesContent":["/**\n * User overrides for auto-detected terminal capabilities.\n * Detection is conservative (unknown terminals get hyperlinks/images off),\n * so settings let users force capabilities on or off.\n */\n\nimport type { TerminalCapabilities } from \"@elyracode/tui\";\nimport type { TerminalSettings } from \"../../core/settings-manager.js\";\n\n/** Returns true if any capability override is set to a non-\"auto\" value. */\nexport function hasTerminalCapabilityOverrides(overrides: TerminalSettings): boolean {\n\treturn (\n\t\t(overrides.hyperlinks !== undefined && overrides.hyperlinks !== \"auto\") ||\n\t\t(overrides.images !== undefined && overrides.images !== \"auto\") ||\n\t\t(overrides.trueColor !== undefined && overrides.trueColor !== \"auto\")\n\t);\n}\n\n/** Applies user capability overrides on top of detected capabilities. \"auto\"/undefined keeps detection. */\nexport function applyTerminalCapabilityOverrides(\n\tdetected: TerminalCapabilities,\n\toverrides: TerminalSettings,\n): TerminalCapabilities {\n\tconst result: TerminalCapabilities = { ...detected };\n\tif (overrides.hyperlinks === \"on\") {\n\t\tresult.hyperlinks = true;\n\t} else if (overrides.hyperlinks === \"off\") {\n\t\tresult.hyperlinks = false;\n\t}\n\tif (overrides.trueColor === \"on\") {\n\t\tresult.trueColor = true;\n\t} else if (overrides.trueColor === \"off\") {\n\t\tresult.trueColor = false;\n\t}\n\tif (overrides.images === \"off\") {\n\t\tresult.images = null;\n\t} else if (overrides.images === \"kitty\" || overrides.images === \"iterm2\") {\n\t\tresult.images = overrides.images;\n\t}\n\treturn result;\n}\n"]}
|
package/docs/providers.md
CHANGED
|
@@ -190,18 +190,18 @@ export CLOUDFLARE_GATEWAY_ID=... # create at dash.cloudflare.com → AI
|
|
|
190
190
|
elyra --provider cloudflare-ai-gateway --model "claude-sonnet-4-5"
|
|
191
191
|
```
|
|
192
192
|
|
|
193
|
-
Routes to OpenAI
|
|
193
|
+
Routes to OpenAI and Anthropic through Cloudflare AI Gateway. OpenAI uses the OpenAI passthrough route (`/openai`) with native OpenAI model IDs such as `gpt-5.1`. Anthropic uses the Anthropic passthrough route (`/anthropic`) with native Anthropic model IDs such as `claude-sonnet-4-5`.
|
|
194
|
+
|
|
195
|
+
**Workers AI is no longer reachable through the gateway.** The catalog dropped its Workers AI mirror, so `workers-ai/@cf/...` model IDs are gone from this provider and it is BYOK-only. Use the [Cloudflare Workers AI](#cloudflare-workers-ai) provider directly for `@cf/...` models.
|
|
194
196
|
|
|
195
197
|
AI Gateway authentication uses `CLOUDFLARE_API_KEY` as `cf-aig-authorization`. Upstream authentication can be one of:
|
|
196
198
|
|
|
197
199
|
| Mode | Request auth | Upstream auth |
|
|
198
200
|
|------|--------------|---------------|
|
|
199
|
-
| Workers AI | Cloudflare token only | Cloudflare-native |
|
|
200
|
-
| Unified billing | Cloudflare token only | Cloudflare handles upstream auth and deducts credits |
|
|
201
201
|
| Stored BYOK | Cloudflare token only | Cloudflare injects provider keys stored in the AI Gateway dashboard |
|
|
202
202
|
| Inline BYOK | Cloudflare token plus upstream `Authorization` header | The request supplies the upstream provider key |
|
|
203
203
|
|
|
204
|
-
For normal elyra usage, prefer
|
|
204
|
+
For normal elyra usage, prefer stored BYOK. Inline BYOK requires configuring an additional upstream `Authorization` header for the Cloudflare AI Gateway provider, for example via a `models.json` provider/model override.
|
|
205
205
|
|
|
206
206
|
### Cloudflare Workers AI
|
|
207
207
|
|
package/docs/settings.md
CHANGED
|
@@ -136,9 +136,24 @@ When a provider requests a retry delay longer than `retry.provider.maxRetryDelay
|
|
|
136
136
|
| `terminal.showImages` | boolean | `true` | Show images in terminal (if supported) |
|
|
137
137
|
| `terminal.imageWidthCells` | number | `60` | Preferred inline image width in terminal cells |
|
|
138
138
|
| `terminal.clearOnShrink` | boolean | `false` | Clear empty rows when content shrinks (can cause flicker) |
|
|
139
|
+
| `terminal.hyperlinks` | string | `"auto"` | OSC 8 hyperlink support: `"auto"`, `"on"`, `"off"` |
|
|
140
|
+
| `terminal.images` | string | `"auto"` | Inline image protocol: `"auto"`, `"kitty"`, `"iterm2"`, `"off"` |
|
|
141
|
+
| `terminal.trueColor` | string | `"auto"` | 24-bit color support: `"auto"`, `"on"`, `"off"` |
|
|
139
142
|
| `images.autoResize` | boolean | `true` | Resize images to 2000x2000 max |
|
|
140
143
|
| `images.blockImages` | boolean | `false` | Block all images from being sent to LLM |
|
|
141
144
|
|
|
145
|
+
`terminal.hyperlinks`, `terminal.images`, and `terminal.trueColor` override capability auto-detection. Detection is conservative: unrecognized terminals get hyperlinks and images disabled, and tmux/screen forces hyperlinks off. Use these to force-enable features on capable but unrecognized terminals, or to disable a misdetected capability. `"auto"` (the default) keeps the detected value.
|
|
146
|
+
|
|
147
|
+
```json
|
|
148
|
+
{
|
|
149
|
+
"terminal": {
|
|
150
|
+
"hyperlinks": "on",
|
|
151
|
+
"images": "kitty",
|
|
152
|
+
"trueColor": "on"
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
142
157
|
### Shell
|
|
143
158
|
|
|
144
159
|
| Setting | Type | Default | Description |
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "elyra-extension-custom-provider",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.33",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "elyra-extension-custom-provider",
|
|
9
|
-
"version": "0.9.
|
|
9
|
+
"version": "0.9.33",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@anthropic-ai/sdk": "^0.52.0"
|
|
12
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "elyra-extension-sandbox",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.33",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "elyra-extension-sandbox",
|
|
9
|
-
"version": "0.9.
|
|
9
|
+
"version": "0.9.33",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@anthropic-ai/sandbox-runtime": "^0.0.26"
|
|
12
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "elyra-extension-with-deps",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.33",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "elyra-extension-with-deps",
|
|
9
|
-
"version": "0.9.
|
|
9
|
+
"version": "0.9.33",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"ms": "^2.1.3"
|
|
12
12
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elyracode/coding-agent",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.33",
|
|
4
4
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"elyraConfig": {
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"prepublishOnly": "npm run clean && npm run build"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@elyracode/agent-core": "^0.9.
|
|
42
|
-
"@elyracode/ai": "^0.9.
|
|
43
|
-
"@elyracode/tui": "^0.9.
|
|
41
|
+
"@elyracode/agent-core": "^0.9.33",
|
|
42
|
+
"@elyracode/ai": "^0.9.33",
|
|
43
|
+
"@elyracode/tui": "^0.9.33",
|
|
44
44
|
"@silvia-odwyer/photon-node": "^0.3.4",
|
|
45
45
|
"chalk": "^5.5.0",
|
|
46
46
|
"cli-highlight": "^2.1.11",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
69
|
"optionalDependencies": {
|
|
70
|
-
"@elyracode/clipboard": "^0.9.
|
|
70
|
+
"@elyracode/clipboard": "^0.9.33"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
73
|
"@types/diff": "^7.0.2",
|