@datalabrotterdam/nova-ai-cli 1.2.0-alpha.1 → 1.2.0-alpha.10
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 +165 -0
- package/README.md +74 -32
- package/dist/browser-setup-7SWHUQEL.js +57 -0
- package/dist/chunk-FMHWW3E6.js +11 -0
- package/dist/{chunk-ZKRZIF3S.js → chunk-KDAUUQBE.js} +49 -360
- package/dist/chunk-L77KQRGZ.js +170 -0
- package/dist/{headless-ZYUSTZDL.js → headless-BQXK7TNC.js} +29 -46
- package/dist/index.js +57 -19
- package/dist/{tui-XOKXPXN2.js → tui-TJFV6NC6.js} +719 -335
- package/dist/update-check-G3PYCRWM.js +23 -0
- package/package.json +25 -39
- package/dist/acp-ZYOQ6PON.js +0 -65
- package/dist/chunk-GZZ7PY3S.js +0 -8878
- package/dist/chunk-JAEXUFAS.js +0 -451
- package/dist/chunk-Q7WL3DXP.js +0 -19
- package/dist/index.d.ts +0 -1
- package/dist/login-6U7QS7EA.js +0 -118
- package/dist/webui-L4GGMXJ3.js +0 -9
- package/src/acp/web/dist/assets/index-CSccI7lJ.css +0 -1
- package/src/acp/web/dist/assets/index-DlCz3fmq.js +0 -1
- package/src/acp/web/dist/favicon.svg +0 -46
- package/src/acp/web/dist/index.html +0 -32
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {
|
|
2
|
+
checkForUpdate,
|
|
3
|
+
chooseUpdate,
|
|
4
|
+
formatUpdateNotice,
|
|
5
|
+
isNewerVersion,
|
|
6
|
+
readInstalledVersion,
|
|
7
|
+
rememberUpdateAnswer,
|
|
8
|
+
shouldAskAboutUpdate,
|
|
9
|
+
updateCachePath,
|
|
10
|
+
updateChecksDisabled
|
|
11
|
+
} from "./chunk-L77KQRGZ.js";
|
|
12
|
+
import "./chunk-FMHWW3E6.js";
|
|
13
|
+
export {
|
|
14
|
+
checkForUpdate,
|
|
15
|
+
chooseUpdate,
|
|
16
|
+
formatUpdateNotice,
|
|
17
|
+
isNewerVersion,
|
|
18
|
+
readInstalledVersion,
|
|
19
|
+
rememberUpdateAnswer,
|
|
20
|
+
shouldAskAboutUpdate,
|
|
21
|
+
updateCachePath,
|
|
22
|
+
updateChecksDisabled
|
|
23
|
+
};
|
package/package.json
CHANGED
|
@@ -1,47 +1,46 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datalabrotterdam/nova-ai-cli",
|
|
3
|
-
"version": "1.2.0-alpha.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.2.0-alpha.10",
|
|
4
|
+
"description": "Agentic coding with DataLab Rotterdam's Nova AI in your terminal: interactive TUI, headless mode, and an ACP agent for editors",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "DataLab Rotterdam",
|
|
7
7
|
"type": "module",
|
|
8
|
-
"main": "dist/index.js",
|
|
9
|
-
"types": "dist/index.d.ts",
|
|
10
|
-
"bin": {
|
|
11
|
-
"nova-ai-cli": "dist/index.js",
|
|
12
|
-
"nova-ai": "dist/index.js"
|
|
13
|
-
},
|
|
14
|
-
"files": [
|
|
15
|
-
"dist",
|
|
16
|
-
"src/acp/web/dist",
|
|
17
|
-
"LICENSE"
|
|
18
|
-
],
|
|
19
8
|
"engines": {
|
|
20
9
|
"node": ">=22.19"
|
|
21
10
|
},
|
|
22
11
|
"repository": {
|
|
23
12
|
"type": "git",
|
|
24
|
-
"url": "git+https://github.com/Datalab-Rotterdam/nova-ai-cli.git"
|
|
13
|
+
"url": "git+https://github.com/Datalab-Rotterdam/nova-ai-cli.git",
|
|
14
|
+
"directory": "packages/cli"
|
|
25
15
|
},
|
|
26
16
|
"bugs": {
|
|
27
17
|
"url": "https://github.com/Datalab-Rotterdam/nova-ai-cli/issues"
|
|
28
18
|
},
|
|
29
|
-
"homepage": "https://github.com/Datalab-Rotterdam/nova-ai-cli#readme",
|
|
30
19
|
"publishConfig": {
|
|
31
20
|
"access": "public"
|
|
32
21
|
},
|
|
22
|
+
"homepage": "https://github.com/Datalab-Rotterdam/nova-ai-cli#readme",
|
|
23
|
+
"bin": {
|
|
24
|
+
"nova-ai": "dist/index.js"
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"dist",
|
|
28
|
+
"LICENSE",
|
|
29
|
+
"README.md",
|
|
30
|
+
"CHANGELOG.md"
|
|
31
|
+
],
|
|
33
32
|
"scripts": {
|
|
34
|
-
"build": "
|
|
33
|
+
"build": "tsup",
|
|
35
34
|
"dev": "tsx watch src/index.ts",
|
|
36
|
-
"
|
|
37
|
-
"test
|
|
35
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
36
|
+
"test": "npm run typecheck && npm run test:unit && npm run test:pty",
|
|
37
|
+
"test:unit": "node -e \"require('fs').rmSync('dist-test',{recursive:true,force:true})\" && tsc -p tsconfig.test.json && node --import ./dist-test/test-support/setup-env.js --test --test-timeout=30000 \"dist-test/packages/cli/tests/**/*.test.js\"",
|
|
38
38
|
"test:pty": "tsx tests/tui/pty-runtime-runner.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@agentclientprotocol/sdk": "^0.29.0",
|
|
42
|
-
"@datalabrotterdam/nova-
|
|
43
|
-
"@
|
|
44
|
-
"@sourceregistry/node-webserver": "^1.8.0",
|
|
42
|
+
"@datalabrotterdam/nova-ai-agent": "^1.0.0-alpha.7",
|
|
43
|
+
"@datalabrotterdam/nova-ai-browser-host": "^1.0.0",
|
|
45
44
|
"chalk": "^5.3.0",
|
|
46
45
|
"cli-highlight": "^2.1.11",
|
|
47
46
|
"diff": "^9.0.0",
|
|
@@ -50,25 +49,9 @@
|
|
|
50
49
|
"react": "^19.3.0",
|
|
51
50
|
"string-width": "^8.3.0"
|
|
52
51
|
},
|
|
53
|
-
"devDependencies": {
|
|
54
|
-
"@semantic-release/changelog": "^6.0.3",
|
|
55
|
-
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
56
|
-
"@semantic-release/git": "^10.0.1",
|
|
57
|
-
"@semantic-release/npm": "^13.1.5",
|
|
58
|
-
"@semantic-release/release-notes-generator": "^14.1.0",
|
|
59
|
-
"@types/node": "^22.20.0",
|
|
60
|
-
"@types/react": "^19.3.0",
|
|
61
|
-
"@xterm/headless": "^6.0.0",
|
|
62
|
-
"ink-testing-library": "^4.0.0",
|
|
63
|
-
"node-pty": "^1.1.0",
|
|
64
|
-
"tsup": "^8.3.0",
|
|
65
|
-
"tsx": "^4.19.0",
|
|
66
|
-
"typescript": "^5.6.0"
|
|
67
|
-
},
|
|
68
|
-
"overrides": {
|
|
69
|
-
"esbuild": "^0.28.1"
|
|
70
|
-
},
|
|
71
52
|
"release": {
|
|
53
|
+
"extends": "semantic-release-monorepo",
|
|
54
|
+
"tagFormat": "@datalabrotterdam/nova-ai-cli@${version}",
|
|
72
55
|
"branches": [
|
|
73
56
|
"main",
|
|
74
57
|
{
|
|
@@ -92,5 +75,8 @@
|
|
|
92
75
|
}
|
|
93
76
|
]
|
|
94
77
|
]
|
|
78
|
+
},
|
|
79
|
+
"devDependencies": {
|
|
80
|
+
"@datalabrotterdam/nova-sdk": "1.4.0-k8s.3"
|
|
95
81
|
}
|
|
96
82
|
}
|
package/dist/acp-ZYOQ6PON.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
NovaAgent,
|
|
3
|
-
createAgentApp
|
|
4
|
-
} from "./chunk-GZZ7PY3S.js";
|
|
5
|
-
import "./chunk-Q7WL3DXP.js";
|
|
6
|
-
import "./chunk-JAEXUFAS.js";
|
|
7
|
-
|
|
8
|
-
// src/acp/index.ts
|
|
9
|
-
import { Readable, Writable } from "stream";
|
|
10
|
-
import * as acp from "@agentclientprotocol/sdk";
|
|
11
|
-
|
|
12
|
-
// src/acp/stdio-guard.ts
|
|
13
|
-
function redirectConsoleToStderr() {
|
|
14
|
-
const methods = ["log", "info", "debug", "dir", "table", "trace"];
|
|
15
|
-
const original = Object.fromEntries(
|
|
16
|
-
methods.map((method) => [method, console[method]])
|
|
17
|
-
);
|
|
18
|
-
const toStderr = (...args) => console.error(...args);
|
|
19
|
-
for (const method of methods) {
|
|
20
|
-
console[method] = toStderr;
|
|
21
|
-
}
|
|
22
|
-
return () => {
|
|
23
|
-
for (const method of methods) {
|
|
24
|
-
console[method] = original[method];
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// src/acp/index.ts
|
|
30
|
-
async function runAcp() {
|
|
31
|
-
redirectConsoleToStderr();
|
|
32
|
-
const agentImpl = new NovaAgent();
|
|
33
|
-
const output = Writable.toWeb(process.stdout);
|
|
34
|
-
const input = Readable.toWeb(process.stdin);
|
|
35
|
-
const stream = acp.ndJsonStream(output, input);
|
|
36
|
-
const connection = createAgentApp(agentImpl).connect(stream);
|
|
37
|
-
installLifecycle(agentImpl, connection.closed);
|
|
38
|
-
await connection.closed;
|
|
39
|
-
}
|
|
40
|
-
function installLifecycle(agent, closed) {
|
|
41
|
-
let shuttingDown = false;
|
|
42
|
-
const shutdown = async (code) => {
|
|
43
|
-
if (shuttingDown) process.exit(code);
|
|
44
|
-
shuttingDown = true;
|
|
45
|
-
const forced = setTimeout(() => process.exit(code), SHUTDOWN_TIMEOUT_MS);
|
|
46
|
-
forced.unref();
|
|
47
|
-
try {
|
|
48
|
-
await agent.shutdown();
|
|
49
|
-
} catch (error) {
|
|
50
|
-
console.error("nova-ai-cli: error during shutdown:", error);
|
|
51
|
-
}
|
|
52
|
-
process.exit(code);
|
|
53
|
-
};
|
|
54
|
-
void closed.then(() => shutdown(0));
|
|
55
|
-
process.on("SIGTERM", () => void shutdown(0));
|
|
56
|
-
process.on("SIGINT", () => void shutdown(130));
|
|
57
|
-
process.on("unhandledRejection", (reason) => {
|
|
58
|
-
console.error("nova-ai-cli: unhandled rejection:", reason);
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
var SHUTDOWN_TIMEOUT_MS = 5e3;
|
|
62
|
-
var acp_default = runAcp;
|
|
63
|
-
export {
|
|
64
|
-
acp_default as default
|
|
65
|
-
};
|