@oxecli/oxe 1.0.28 → 1.0.29
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/dist/cli.js +1 -1
- package/dist/ui.js +8 -7
- package/package.json +1 -1
- package/README.md +0 -58
package/dist/cli.js
CHANGED
|
@@ -425,7 +425,7 @@ export class CLI {
|
|
|
425
425
|
process.stdout.write("\n");
|
|
426
426
|
process.stdout.write(wasActive
|
|
427
427
|
? "\x1b[2mInterrupted agent. Press Ctrl+C again to close the app, or type a new prompt.\x1b[0m\n"
|
|
428
|
-
: "\x1b[2mNo active response. Press Ctrl+C again to
|
|
428
|
+
: "\x1b[2mNo active response. Press Ctrl+C again to exit the app.\x1b[0m\n");
|
|
429
429
|
continue;
|
|
430
430
|
}
|
|
431
431
|
throw err;
|
package/dist/ui.js
CHANGED
|
@@ -300,14 +300,15 @@ export function tickDuration(seconds) {
|
|
|
300
300
|
// ---------------------------------------------------------------------------
|
|
301
301
|
const FENCE_MARKER_RE = /`{3,}/g;
|
|
302
302
|
export function printAiChunk(chunk) {
|
|
303
|
-
//
|
|
304
|
-
//
|
|
305
|
-
//
|
|
306
|
-
const
|
|
307
|
-
|
|
303
|
+
// A streaming commit can leave the next chunk beginning with the newlines
|
|
304
|
+
// that separate two paragraphs. Keep one of them so the response retains
|
|
305
|
+
// its intentional empty row without accumulating multiple blank rows.
|
|
306
|
+
const leading = chunk.match(/^\n+/)?.[0].length ?? 0;
|
|
307
|
+
const body = chunk.slice(leading);
|
|
308
|
+
if (!body)
|
|
308
309
|
return;
|
|
309
|
-
process.stdout.write(markdownToAnsi(
|
|
310
|
-
if (/^```/m.test(
|
|
310
|
+
process.stdout.write((leading ? "\n" : "") + markdownToAnsi(body) + "\n");
|
|
311
|
+
if (/^```/m.test(body))
|
|
311
312
|
process.stdout.write("\n");
|
|
312
313
|
}
|
|
313
314
|
export function safeCommitPoint(text) {
|
package/package.json
CHANGED
package/README.md
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# Oxe — terminal AI coding agent
|
|
2
|
-
|
|
3
|
-
A terminal-based AI coding agent. This is a **native TypeScript** implementation
|
|
4
|
-
(pure Node.js, no Python required).
|
|
5
|
-
|
|
6
|
-
## Install
|
|
7
|
-
|
|
8
|
-
```bash
|
|
9
|
-
npm install -g @oxecli/oxe
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
The `oxe` command is provided by this package's `bin`.
|
|
13
|
-
|
|
14
|
-
## Usage
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
oxe
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
On first launch you'll be prompted for an **Oxe API key** (must start with
|
|
21
|
-
`oxe_live_`), generated on your Oxe dashboard.
|
|
22
|
-
|
|
23
|
-
## Interactive commands
|
|
24
|
-
|
|
25
|
-
| Command | Description |
|
|
26
|
-
| --- | --- |
|
|
27
|
-
| `/help` | Show available commands |
|
|
28
|
-
| `/resume` | List saved conversations |
|
|
29
|
-
| `/resume <n>` | Resume conversation number `n` |
|
|
30
|
-
| `/effort <none\|low\|high>` | Set reasoning effort |
|
|
31
|
-
| `/clear` | Save current conversation and start a new one |
|
|
32
|
-
| `/exit`, `/quit` | Save and exit |
|
|
33
|
-
|
|
34
|
-
## Configuration
|
|
35
|
-
|
|
36
|
-
Environment variables:
|
|
37
|
-
|
|
38
|
-
| Variable | Description | Default |
|
|
39
|
-
| --- | --- | --- |
|
|
40
|
-
| `OXE_DATA_DIR` | Where sessions are stored | `~/.oxe` |
|
|
41
|
-
| `OXE_BASE_URL` | Chat proxy base URL | bundled backend |
|
|
42
|
-
| `OXE_MODEL_NAME` | Model to use | `deepseek-v4-flash` |
|
|
43
|
-
| `OXE_REASONING_EFFORT` | Default reasoning effort | `low` |
|
|
44
|
-
| `OXE_TIMEOUT` / `OXE_MAX_RETRIES` / `OXE_TEMPERATURE` | Request tuning | |
|
|
45
|
-
|
|
46
|
-
Sessions and user data live under `~/.oxe/sessions`, never in `node_modules`.
|
|
47
|
-
|
|
48
|
-
## Development
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
npm install
|
|
52
|
-
npm run build # tsc -> dist/
|
|
53
|
-
npm install -g . # link as `oxe`
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## License
|
|
57
|
-
|
|
58
|
-
MIT
|