buildwithnexus 0.6.8 → 0.6.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/dist/bin.js +29 -27
- package/dist/nexus-release.tar.gz +0 -0
- package/package.json +1 -1
package/dist/bin.js
CHANGED
|
@@ -16,14 +16,15 @@ __export(init_command_exports, {
|
|
|
16
16
|
});
|
|
17
17
|
import fs from "fs";
|
|
18
18
|
import path from "path";
|
|
19
|
-
import
|
|
19
|
+
import os from "os";
|
|
20
|
+
import { input, confirm, password } from "@inquirer/prompts";
|
|
20
21
|
async function deepAgentsInitCommand() {
|
|
21
22
|
console.log(`
|
|
22
23
|
\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557
|
|
23
24
|
\u2551 Deep Agents -- First Time Setup \u2551
|
|
24
25
|
\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D
|
|
25
26
|
`);
|
|
26
|
-
const envPath = path.join(
|
|
27
|
+
const envPath = path.join(os.homedir(), ".env.local");
|
|
27
28
|
const hasEnv = fs.existsSync(envPath);
|
|
28
29
|
if (hasEnv) {
|
|
29
30
|
const shouldReset = await confirm({
|
|
@@ -38,19 +39,17 @@ async function deepAgentsInitCommand() {
|
|
|
38
39
|
console.log(
|
|
39
40
|
"Please provide your LLM API keys:\n(You can set these later by editing .env.local)\n"
|
|
40
41
|
);
|
|
41
|
-
const anthropicKey = await
|
|
42
|
+
const anthropicKey = await password({
|
|
42
43
|
message: "ANTHROPIC_API_KEY (Claude)",
|
|
43
|
-
default: "",
|
|
44
44
|
validate: (val) => {
|
|
45
45
|
if (!val) {
|
|
46
|
-
return "
|
|
46
|
+
return "API key is required";
|
|
47
47
|
}
|
|
48
48
|
return true;
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
|
-
const openaiKey = await
|
|
52
|
-
message: "OPENAI_API_KEY (GPT - optional)"
|
|
53
|
-
default: ""
|
|
51
|
+
const openaiKey = await password({
|
|
52
|
+
message: "OPENAI_API_KEY (GPT - optional, press Enter to skip)"
|
|
54
53
|
});
|
|
55
54
|
const backendUrl = await input({
|
|
56
55
|
message: "Backend URL",
|
|
@@ -117,7 +116,7 @@ function getVersion() {
|
|
|
117
116
|
const packageJson = JSON.parse(readFileSync(packagePath, "utf-8"));
|
|
118
117
|
return packageJson.version;
|
|
119
118
|
} catch {
|
|
120
|
-
return true ? "0.6.
|
|
119
|
+
return true ? "0.6.10" : "0.0.0-unknown";
|
|
121
120
|
}
|
|
122
121
|
}
|
|
123
122
|
function showBanner() {
|
|
@@ -1025,10 +1024,10 @@ var log = {
|
|
|
1025
1024
|
};
|
|
1026
1025
|
|
|
1027
1026
|
// src/core/platform.ts
|
|
1028
|
-
import
|
|
1027
|
+
import os2 from "os";
|
|
1029
1028
|
function detectPlatform() {
|
|
1030
|
-
const platform =
|
|
1031
|
-
const arch =
|
|
1029
|
+
const platform = os2.platform();
|
|
1030
|
+
const arch = os2.arch();
|
|
1032
1031
|
if (platform === "darwin") {
|
|
1033
1032
|
return {
|
|
1034
1033
|
os: "mac",
|
|
@@ -1483,7 +1482,7 @@ import { Command as Command2 } from "commander";
|
|
|
1483
1482
|
import chalk7 from "chalk";
|
|
1484
1483
|
|
|
1485
1484
|
// src/ui/prompts.ts
|
|
1486
|
-
import { confirm as confirm2, password } from "@inquirer/prompts";
|
|
1485
|
+
import { confirm as confirm2, password as password2 } from "@inquirer/prompts";
|
|
1487
1486
|
import chalk6 from "chalk";
|
|
1488
1487
|
|
|
1489
1488
|
// src/core/dlp.ts
|
|
@@ -1629,7 +1628,7 @@ function audit(event, detail = "") {
|
|
|
1629
1628
|
// src/ui/prompts.ts
|
|
1630
1629
|
async function promptInitConfig() {
|
|
1631
1630
|
console.log(chalk6.bold("\n API Keys\n"));
|
|
1632
|
-
const anthropicKey = await
|
|
1631
|
+
const anthropicKey = await password2({
|
|
1633
1632
|
message: "Anthropic API key (required):",
|
|
1634
1633
|
mask: "*",
|
|
1635
1634
|
validate: (val) => {
|
|
@@ -1643,7 +1642,7 @@ async function promptInitConfig() {
|
|
|
1643
1642
|
return true;
|
|
1644
1643
|
}
|
|
1645
1644
|
});
|
|
1646
|
-
const openaiKey = await
|
|
1645
|
+
const openaiKey = await password2({
|
|
1647
1646
|
message: "OpenAI API key (optional, press Enter to skip):",
|
|
1648
1647
|
mask: "*",
|
|
1649
1648
|
validate: (val) => {
|
|
@@ -1656,7 +1655,7 @@ async function promptInitConfig() {
|
|
|
1656
1655
|
return true;
|
|
1657
1656
|
}
|
|
1658
1657
|
});
|
|
1659
|
-
const googleKey = await
|
|
1658
|
+
const googleKey = await password2({
|
|
1660
1659
|
message: "Google AI API key (optional, press Enter to skip):",
|
|
1661
1660
|
mask: "*",
|
|
1662
1661
|
validate: (val) => {
|
|
@@ -2404,7 +2403,7 @@ var destroyCommand = new Command9("destroy").description("Remove NEXUS VM and al
|
|
|
2404
2403
|
|
|
2405
2404
|
// src/commands/keys.ts
|
|
2406
2405
|
import { Command as Command10 } from "commander";
|
|
2407
|
-
import { password as
|
|
2406
|
+
import { password as password3 } from "@inquirer/prompts";
|
|
2408
2407
|
import chalk11 from "chalk";
|
|
2409
2408
|
var keysCommand = new Command10("keys").description("Manage API keys");
|
|
2410
2409
|
keysCommand.command("list").description("Show configured API keys (masked)").action(() => {
|
|
@@ -2439,7 +2438,7 @@ keysCommand.command("set <key>").description("Set or update an API key (e.g. ANT
|
|
|
2439
2438
|
log.dim(`Valid keys: ${validKeys.join(", ")}`);
|
|
2440
2439
|
process.exit(1);
|
|
2441
2440
|
}
|
|
2442
|
-
const value = await
|
|
2441
|
+
const value = await password3({ message: `Enter value for ${upper}:`, mask: "*" });
|
|
2443
2442
|
if (!value) {
|
|
2444
2443
|
log.warn("Empty value \u2014 key not changed");
|
|
2445
2444
|
return;
|
|
@@ -3029,8 +3028,8 @@ var EventStream = class {
|
|
|
3029
3028
|
};
|
|
3030
3029
|
|
|
3031
3030
|
// src/commands/shell.ts
|
|
3032
|
-
async function httpPost(httpPort,
|
|
3033
|
-
const res = await fetch(`http://localhost:${httpPort}${
|
|
3031
|
+
async function httpPost(httpPort, path11, body) {
|
|
3032
|
+
const res = await fetch(`http://localhost:${httpPort}${path11}`, {
|
|
3034
3033
|
method: "POST",
|
|
3035
3034
|
headers: { "Content-Type": "application/json" },
|
|
3036
3035
|
body: JSON.stringify(body),
|
|
@@ -3045,9 +3044,9 @@ async function httpPost(httpPort, path10, body) {
|
|
|
3045
3044
|
return text;
|
|
3046
3045
|
}
|
|
3047
3046
|
}
|
|
3048
|
-
async function httpGet(httpPort,
|
|
3047
|
+
async function httpGet(httpPort, path11) {
|
|
3049
3048
|
try {
|
|
3050
|
-
const res = await fetch(`http://localhost:${httpPort}${
|
|
3049
|
+
const res = await fetch(`http://localhost:${httpPort}${path11}`, {
|
|
3051
3050
|
signal: AbortSignal.timeout(1e4)
|
|
3052
3051
|
});
|
|
3053
3052
|
const text = await res.text();
|
|
@@ -3472,7 +3471,7 @@ function getVersionStatic() {
|
|
|
3472
3471
|
const packageJson = JSON.parse(readFileSync2(packagePath, "utf-8"));
|
|
3473
3472
|
return packageJson.version;
|
|
3474
3473
|
} catch {
|
|
3475
|
-
return true ? "0.6.
|
|
3474
|
+
return true ? "0.6.10" : "0.0.0-unknown";
|
|
3476
3475
|
}
|
|
3477
3476
|
}
|
|
3478
3477
|
var cli = new Command15().name("buildwithnexus").description("Auto-scaffold and launch a fully autonomous NEXUS runtime").version(getVersionStatic());
|
|
@@ -3497,12 +3496,12 @@ cli.action(() => {
|
|
|
3497
3496
|
// src/core/update-notifier.ts
|
|
3498
3497
|
import fs8 from "fs";
|
|
3499
3498
|
import path9 from "path";
|
|
3500
|
-
import
|
|
3499
|
+
import os3 from "os";
|
|
3501
3500
|
import https from "https";
|
|
3502
3501
|
import chalk17 from "chalk";
|
|
3503
3502
|
var PACKAGE_NAME = "buildwithnexus";
|
|
3504
3503
|
var CHECK_INTERVAL_MS = 4 * 60 * 60 * 1e3;
|
|
3505
|
-
var STATE_DIR = path9.join(
|
|
3504
|
+
var STATE_DIR = path9.join(os3.homedir(), ".buildwithnexus");
|
|
3506
3505
|
var STATE_FILE = path9.join(STATE_DIR, ".update-check.json");
|
|
3507
3506
|
function readState() {
|
|
3508
3507
|
try {
|
|
@@ -3589,8 +3588,11 @@ function printUpdateBanner(current, latest) {
|
|
|
3589
3588
|
|
|
3590
3589
|
// src/bin.ts
|
|
3591
3590
|
import dotenv from "dotenv";
|
|
3592
|
-
|
|
3593
|
-
|
|
3591
|
+
import os4 from "os";
|
|
3592
|
+
import path10 from "path";
|
|
3593
|
+
var homeEnvPath = path10.join(os4.homedir(), ".env.local");
|
|
3594
|
+
dotenv.config({ path: homeEnvPath });
|
|
3595
|
+
var version = true ? "0.6.10" : "0.5.17";
|
|
3594
3596
|
checkForUpdates(version);
|
|
3595
3597
|
program.name("buildwithnexus").description("Deep Agents - AI-Powered Task Execution").version(version);
|
|
3596
3598
|
program.command("da-init").description("Initialize Deep Agents (set up API keys and .env.local)").action(deepAgentsInitCommand);
|
|
Binary file
|