open-agents-ai 0.13.2 → 0.13.4
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/index.js +134 -59
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3999,12 +3999,15 @@ import { existsSync as existsSync8, readdirSync as readdirSync4, readFileSync as
|
|
|
3999
3999
|
import { join as join11 } from "node:path";
|
|
4000
4000
|
import { homedir as homedir3 } from "node:os";
|
|
4001
4001
|
import { spawn as spawn3 } from "node:child_process";
|
|
4002
|
+
function globalToolsDir() {
|
|
4003
|
+
return join11(homedir3(), ".open-agents", "tools");
|
|
4004
|
+
}
|
|
4002
4005
|
function projectToolsDir(repoRoot) {
|
|
4003
4006
|
return join11(repoRoot, ".oa", "tools");
|
|
4004
4007
|
}
|
|
4005
4008
|
function loadCustomTools(repoRoot) {
|
|
4006
4009
|
const definitions = /* @__PURE__ */ new Map();
|
|
4007
|
-
for (const def of loadFromDirectory(
|
|
4010
|
+
for (const def of loadFromDirectory(globalToolsDir())) {
|
|
4008
4011
|
definitions.set(def.name, def);
|
|
4009
4012
|
}
|
|
4010
4013
|
const projectDir = projectToolsDir(repoRoot);
|
|
@@ -4018,14 +4021,14 @@ function buildCustomTools(repoRoot) {
|
|
|
4018
4021
|
return definitions.map((def) => new CustomTool(def, repoRoot));
|
|
4019
4022
|
}
|
|
4020
4023
|
function saveCustomToolDefinition(definition, scope, repoRoot) {
|
|
4021
|
-
const dir = scope === "project" && repoRoot ? projectToolsDir(repoRoot) :
|
|
4024
|
+
const dir = scope === "project" && repoRoot ? projectToolsDir(repoRoot) : globalToolsDir();
|
|
4022
4025
|
mkdirSync3(dir, { recursive: true });
|
|
4023
4026
|
const filePath = join11(dir, `${definition.name}.json`);
|
|
4024
4027
|
writeFileSync3(filePath, JSON.stringify(definition, null, 2), "utf-8");
|
|
4025
4028
|
return filePath;
|
|
4026
4029
|
}
|
|
4027
4030
|
function deleteCustomToolDefinition(name, scope, repoRoot) {
|
|
4028
|
-
const dir = scope === "project" && repoRoot ? projectToolsDir(repoRoot) :
|
|
4031
|
+
const dir = scope === "project" && repoRoot ? projectToolsDir(repoRoot) : globalToolsDir();
|
|
4029
4032
|
const filePath = join11(dir, `${name}.json`);
|
|
4030
4033
|
if (existsSync8(filePath)) {
|
|
4031
4034
|
const { unlinkSync: unlinkSync3 } = __require("node:fs");
|
|
@@ -4047,7 +4050,7 @@ function listCustomToolFiles(repoRoot) {
|
|
|
4047
4050
|
});
|
|
4048
4051
|
seen.add(def.name);
|
|
4049
4052
|
}
|
|
4050
|
-
for (const def of loadFromDirectory(
|
|
4053
|
+
for (const def of loadFromDirectory(globalToolsDir())) {
|
|
4051
4054
|
if (!seen.has(def.name)) {
|
|
4052
4055
|
result.push({
|
|
4053
4056
|
name: def.name,
|
|
@@ -4083,11 +4086,10 @@ function loadFromDirectory(dir) {
|
|
|
4083
4086
|
}
|
|
4084
4087
|
return definitions;
|
|
4085
4088
|
}
|
|
4086
|
-
var
|
|
4089
|
+
var CustomTool;
|
|
4087
4090
|
var init_custom_tool = __esm({
|
|
4088
4091
|
"packages/execution/dist/tools/custom-tool.js"() {
|
|
4089
4092
|
"use strict";
|
|
4090
|
-
GLOBAL_TOOLS_DIR = join11(homedir3(), ".open-agents", "tools");
|
|
4091
4093
|
CustomTool = class {
|
|
4092
4094
|
name;
|
|
4093
4095
|
description;
|
|
@@ -4491,25 +4493,98 @@ var init_tool_creator = __esm({
|
|
|
4491
4493
|
|
|
4492
4494
|
// packages/execution/dist/tools/skill-tools.js
|
|
4493
4495
|
import { existsSync as existsSync9, readdirSync as readdirSync5, readFileSync as readFileSync8 } from "node:fs";
|
|
4494
|
-
import { join as join12, basename as basename2 } from "node:path";
|
|
4496
|
+
import { join as join12, basename as basename2, dirname as dirname2 } from "node:path";
|
|
4495
4497
|
import { homedir as homedir4 } from "node:os";
|
|
4498
|
+
import { execSync as execSync8 } from "node:child_process";
|
|
4499
|
+
function getAiwgPaths() {
|
|
4500
|
+
const dataDir = join12(homedir4(), ".local", "share", "ai-writing-guide");
|
|
4501
|
+
return {
|
|
4502
|
+
frameworksDir: join12(dataDir, "agentic", "code", "frameworks"),
|
|
4503
|
+
addonsDir: join12(dataDir, "addons"),
|
|
4504
|
+
pluginsDir: join12(dataDir, "plugins")
|
|
4505
|
+
};
|
|
4506
|
+
}
|
|
4507
|
+
function findAiwgPackageRoot() {
|
|
4508
|
+
if (_cachedAiwgPkgRoot !== void 0)
|
|
4509
|
+
return _cachedAiwgPkgRoot;
|
|
4510
|
+
try {
|
|
4511
|
+
const globalRoot = execSync8("npm root -g", {
|
|
4512
|
+
encoding: "utf-8",
|
|
4513
|
+
timeout: 5e3,
|
|
4514
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
4515
|
+
}).trim();
|
|
4516
|
+
const candidate = join12(globalRoot, "aiwg");
|
|
4517
|
+
if (existsSync9(join12(candidate, "package.json"))) {
|
|
4518
|
+
_cachedAiwgPkgRoot = candidate;
|
|
4519
|
+
return candidate;
|
|
4520
|
+
}
|
|
4521
|
+
} catch {
|
|
4522
|
+
}
|
|
4523
|
+
const candidates = [
|
|
4524
|
+
"/usr/local/lib/node_modules/aiwg",
|
|
4525
|
+
"/usr/lib/node_modules/aiwg",
|
|
4526
|
+
join12(homedir4(), ".nvm", "versions")
|
|
4527
|
+
// nvm — need to search deeper
|
|
4528
|
+
];
|
|
4529
|
+
for (const c3 of candidates) {
|
|
4530
|
+
if (c3.includes(".nvm")) {
|
|
4531
|
+
if (existsSync9(c3)) {
|
|
4532
|
+
try {
|
|
4533
|
+
for (const ver of readdirSync5(join12(c3, "node"), { withFileTypes: true })) {
|
|
4534
|
+
if (!ver.isDirectory())
|
|
4535
|
+
continue;
|
|
4536
|
+
const nvmPath = join12(c3, "node", ver.name, "lib", "node_modules", "aiwg");
|
|
4537
|
+
if (existsSync9(join12(nvmPath, "package.json"))) {
|
|
4538
|
+
_cachedAiwgPkgRoot = nvmPath;
|
|
4539
|
+
return nvmPath;
|
|
4540
|
+
}
|
|
4541
|
+
}
|
|
4542
|
+
} catch {
|
|
4543
|
+
}
|
|
4544
|
+
}
|
|
4545
|
+
} else if (existsSync9(join12(c3, "package.json"))) {
|
|
4546
|
+
_cachedAiwgPkgRoot = c3;
|
|
4547
|
+
return c3;
|
|
4548
|
+
}
|
|
4549
|
+
}
|
|
4550
|
+
_cachedAiwgPkgRoot = null;
|
|
4551
|
+
return null;
|
|
4552
|
+
}
|
|
4496
4553
|
function discoverSkills(repoRoot) {
|
|
4497
4554
|
const skills = /* @__PURE__ */ new Map();
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
|
|
4555
|
+
const { frameworksDir, addonsDir, pluginsDir } = getAiwgPaths();
|
|
4556
|
+
const pkgRoot = findAiwgPackageRoot();
|
|
4557
|
+
if (pkgRoot) {
|
|
4558
|
+
const pkgFrameworks = join12(pkgRoot, "agentic", "code", "frameworks");
|
|
4559
|
+
if (existsSync9(pkgFrameworks)) {
|
|
4560
|
+
for (const fw of safeReaddir(pkgFrameworks)) {
|
|
4561
|
+
const skillsDir = join12(pkgFrameworks, fw, "skills");
|
|
4562
|
+
loadSkillsFromDir(skillsDir, `framework:${fw}`, skills);
|
|
4563
|
+
}
|
|
4564
|
+
}
|
|
4565
|
+
const pkgPlugins = join12(pkgRoot, "plugins");
|
|
4566
|
+
if (existsSync9(pkgPlugins)) {
|
|
4567
|
+
for (const plugin of safeReaddir(pkgPlugins)) {
|
|
4568
|
+
const skillsDir = join12(pkgPlugins, plugin, "skills");
|
|
4569
|
+
loadSkillsFromDir(skillsDir, `plugin:${plugin}`, skills);
|
|
4570
|
+
}
|
|
4571
|
+
}
|
|
4572
|
+
}
|
|
4573
|
+
if (existsSync9(frameworksDir)) {
|
|
4574
|
+
for (const framework of safeReaddir(frameworksDir)) {
|
|
4575
|
+
const skillsDir = join12(frameworksDir, framework, "skills");
|
|
4501
4576
|
loadSkillsFromDir(skillsDir, `framework:${framework}`, skills);
|
|
4502
4577
|
}
|
|
4503
4578
|
}
|
|
4504
|
-
if (existsSync9(
|
|
4505
|
-
for (const addon of safeReaddir(
|
|
4506
|
-
const skillsDir = join12(
|
|
4579
|
+
if (existsSync9(addonsDir)) {
|
|
4580
|
+
for (const addon of safeReaddir(addonsDir)) {
|
|
4581
|
+
const skillsDir = join12(addonsDir, addon, "skills");
|
|
4507
4582
|
loadSkillsFromDir(skillsDir, `addon:${addon}`, skills);
|
|
4508
4583
|
}
|
|
4509
4584
|
}
|
|
4510
|
-
if (existsSync9(
|
|
4511
|
-
for (const plugin of safeReaddir(
|
|
4512
|
-
const skillsDir = join12(
|
|
4585
|
+
if (existsSync9(pluginsDir)) {
|
|
4586
|
+
for (const plugin of safeReaddir(pluginsDir)) {
|
|
4587
|
+
const skillsDir = join12(pluginsDir, plugin, "skills");
|
|
4513
4588
|
loadSkillsFromDir(skillsDir, `plugin:${plugin}`, skills);
|
|
4514
4589
|
}
|
|
4515
4590
|
}
|
|
@@ -4641,14 +4716,10 @@ function parseTriggers(filePath) {
|
|
|
4641
4716
|
}
|
|
4642
4717
|
return triggers;
|
|
4643
4718
|
}
|
|
4644
|
-
var
|
|
4719
|
+
var _cachedAiwgPkgRoot, SkillListTool, SkillExecuteTool;
|
|
4645
4720
|
var init_skill_tools = __esm({
|
|
4646
4721
|
"packages/execution/dist/tools/skill-tools.js"() {
|
|
4647
4722
|
"use strict";
|
|
4648
|
-
AIWG_DATA_DIR = join12(homedir4(), ".local", "share", "ai-writing-guide");
|
|
4649
|
-
AIWG_FRAMEWORKS_DIR = join12(AIWG_DATA_DIR, "agentic", "code", "frameworks");
|
|
4650
|
-
AIWG_ADDONS_DIR = join12(AIWG_DATA_DIR, "addons");
|
|
4651
|
-
AIWG_PLUGINS_DIR = join12(AIWG_DATA_DIR, "plugins");
|
|
4652
4723
|
SkillListTool = class {
|
|
4653
4724
|
name = "skill_list";
|
|
4654
4725
|
description = "List all available AIWG skills with their descriptions and trigger patterns. Use this to discover skills that can help with the current task.";
|
|
@@ -9880,10 +9951,10 @@ async function handleUpdate(subcommand, repoRoot, savePendingTaskState) {
|
|
|
9880
9951
|
try {
|
|
9881
9952
|
const { createRequire: createRequire4 } = await import("node:module");
|
|
9882
9953
|
const { fileURLToPath: fileURLToPath3 } = await import("node:url");
|
|
9883
|
-
const { dirname:
|
|
9954
|
+
const { dirname: dirname5, join: join26 } = await import("node:path");
|
|
9884
9955
|
const { existsSync: existsSync17 } = await import("node:fs");
|
|
9885
9956
|
const req = createRequire4(import.meta.url);
|
|
9886
|
-
const thisDir =
|
|
9957
|
+
const thisDir = dirname5(fileURLToPath3(import.meta.url));
|
|
9887
9958
|
const candidates = [
|
|
9888
9959
|
join26(thisDir, "..", "package.json"),
|
|
9889
9960
|
join26(thisDir, "..", "..", "package.json"),
|
|
@@ -9974,7 +10045,7 @@ var init_commands = __esm({
|
|
|
9974
10045
|
|
|
9975
10046
|
// packages/cli/dist/tui/setup.js
|
|
9976
10047
|
import * as readline from "node:readline";
|
|
9977
|
-
import { execSync as
|
|
10048
|
+
import { execSync as execSync9 } from "node:child_process";
|
|
9978
10049
|
import { existsSync as existsSync11, writeFileSync as writeFileSync5, mkdirSync as mkdirSync5 } from "node:fs";
|
|
9979
10050
|
import { join as join16 } from "node:path";
|
|
9980
10051
|
import { homedir as homedir6 } from "node:os";
|
|
@@ -9984,7 +10055,7 @@ function detectSystemSpecs() {
|
|
|
9984
10055
|
let gpuVramGB = 0;
|
|
9985
10056
|
let gpuName = "";
|
|
9986
10057
|
try {
|
|
9987
|
-
const memInfo =
|
|
10058
|
+
const memInfo = execSync9("free -b 2>/dev/null || sysctl -n hw.memsize 2>/dev/null", {
|
|
9988
10059
|
encoding: "utf8",
|
|
9989
10060
|
timeout: 5e3
|
|
9990
10061
|
});
|
|
@@ -10004,7 +10075,7 @@ function detectSystemSpecs() {
|
|
|
10004
10075
|
} catch {
|
|
10005
10076
|
}
|
|
10006
10077
|
try {
|
|
10007
|
-
const nvidiaSmi =
|
|
10078
|
+
const nvidiaSmi = execSync9("nvidia-smi --query-gpu=memory.total,name --format=csv,noheader,nounits 2>/dev/null", { encoding: "utf8", timeout: 5e3 });
|
|
10008
10079
|
const lines = nvidiaSmi.trim().split("\n");
|
|
10009
10080
|
if (lines.length > 0) {
|
|
10010
10081
|
for (const line of lines) {
|
|
@@ -10066,7 +10137,7 @@ function ask(rl, question) {
|
|
|
10066
10137
|
}
|
|
10067
10138
|
function pullModelWithAutoUpdate(tag) {
|
|
10068
10139
|
try {
|
|
10069
|
-
|
|
10140
|
+
execSync9(`ollama pull ${tag}`, {
|
|
10070
10141
|
stdio: "inherit",
|
|
10071
10142
|
timeout: 36e5
|
|
10072
10143
|
// 1 hour max
|
|
@@ -10083,7 +10154,7 @@ function pullModelWithAutoUpdate(tag) {
|
|
|
10083
10154
|
|
|
10084
10155
|
`);
|
|
10085
10156
|
try {
|
|
10086
|
-
|
|
10157
|
+
execSync9("curl -fsSL https://ollama.com/install.sh | sh", {
|
|
10087
10158
|
stdio: "inherit",
|
|
10088
10159
|
timeout: 3e5
|
|
10089
10160
|
// 5 min max for install
|
|
@@ -10094,7 +10165,7 @@ function pullModelWithAutoUpdate(tag) {
|
|
|
10094
10165
|
process.stdout.write(` ${c2.cyan("\u25CF")} Retrying pull of ${c2.bold(tag)}...
|
|
10095
10166
|
|
|
10096
10167
|
`);
|
|
10097
|
-
|
|
10168
|
+
execSync9(`ollama pull ${tag}`, {
|
|
10098
10169
|
stdio: "inherit",
|
|
10099
10170
|
timeout: 36e5
|
|
10100
10171
|
});
|
|
@@ -10277,7 +10348,7 @@ async function doSetup(config, rl) {
|
|
|
10277
10348
|
const modelfilePath = join16(modelDir2, `Modelfile.${customName}`);
|
|
10278
10349
|
writeFileSync5(modelfilePath, modelfileContent + "\n", "utf8");
|
|
10279
10350
|
process.stdout.write(` ${c2.dim("Creating model...")} `);
|
|
10280
|
-
|
|
10351
|
+
execSync9(`ollama create ${customName} -f ${modelfilePath}`, {
|
|
10281
10352
|
stdio: "pipe",
|
|
10282
10353
|
timeout: 12e4
|
|
10283
10354
|
});
|
|
@@ -10362,7 +10433,7 @@ var init_setup = __esm({
|
|
|
10362
10433
|
// packages/cli/dist/tui/project-context.js
|
|
10363
10434
|
import { existsSync as existsSync12, readFileSync as readFileSync10, readdirSync as readdirSync7 } from "node:fs";
|
|
10364
10435
|
import { join as join17, basename as basename4 } from "node:path";
|
|
10365
|
-
import { execSync as
|
|
10436
|
+
import { execSync as execSync10 } from "node:child_process";
|
|
10366
10437
|
import { homedir as homedir7, platform, release } from "node:os";
|
|
10367
10438
|
function loadProjectFiles(repoRoot) {
|
|
10368
10439
|
const discovered = discoverContextFiles(repoRoot);
|
|
@@ -10393,19 +10464,19 @@ function loadProjectMap(repoRoot) {
|
|
|
10393
10464
|
}
|
|
10394
10465
|
function getGitInfo(repoRoot) {
|
|
10395
10466
|
try {
|
|
10396
|
-
|
|
10467
|
+
execSync10("git rev-parse --is-inside-work-tree", { cwd: repoRoot, stdio: "pipe" });
|
|
10397
10468
|
} catch {
|
|
10398
10469
|
return "";
|
|
10399
10470
|
}
|
|
10400
10471
|
const lines = [];
|
|
10401
10472
|
try {
|
|
10402
|
-
const branch =
|
|
10473
|
+
const branch = execSync10("git branch --show-current", { cwd: repoRoot, encoding: "utf-8", stdio: "pipe" }).trim();
|
|
10403
10474
|
if (branch)
|
|
10404
10475
|
lines.push(`Branch: ${branch}`);
|
|
10405
10476
|
} catch {
|
|
10406
10477
|
}
|
|
10407
10478
|
try {
|
|
10408
|
-
const status =
|
|
10479
|
+
const status = execSync10("git status --porcelain", { cwd: repoRoot, encoding: "utf-8", stdio: "pipe" }).trim();
|
|
10409
10480
|
if (status) {
|
|
10410
10481
|
const changed = status.split("\n").length;
|
|
10411
10482
|
lines.push(`Working tree: ${changed} changed file(s)`);
|
|
@@ -10415,7 +10486,7 @@ function getGitInfo(repoRoot) {
|
|
|
10415
10486
|
} catch {
|
|
10416
10487
|
}
|
|
10417
10488
|
try {
|
|
10418
|
-
const log =
|
|
10489
|
+
const log = execSync10("git log --oneline -5 --no-decorate", { cwd: repoRoot, encoding: "utf-8", stdio: "pipe" }).trim();
|
|
10419
10490
|
if (log)
|
|
10420
10491
|
lines.push(`Recent commits:
|
|
10421
10492
|
${log}`);
|
|
@@ -11463,10 +11534,16 @@ var init_carousel = __esm({
|
|
|
11463
11534
|
import { existsSync as existsSync13, mkdirSync as mkdirSync6, writeFileSync as writeFileSync6, readFileSync as readFileSync11, unlinkSync as unlinkSync2 } from "node:fs";
|
|
11464
11535
|
import { join as join18 } from "node:path";
|
|
11465
11536
|
import { homedir as homedir8, tmpdir as tmpdir2, platform as platform2 } from "node:os";
|
|
11466
|
-
import { execSync as
|
|
11537
|
+
import { execSync as execSync11, spawn as nodeSpawn } from "node:child_process";
|
|
11467
11538
|
import { createRequire } from "node:module";
|
|
11539
|
+
function voiceDir() {
|
|
11540
|
+
return join18(homedir8(), ".open-agents", "voice");
|
|
11541
|
+
}
|
|
11542
|
+
function modelsDir() {
|
|
11543
|
+
return join18(voiceDir(), "models");
|
|
11544
|
+
}
|
|
11468
11545
|
function modelDir(id) {
|
|
11469
|
-
return join18(
|
|
11546
|
+
return join18(modelsDir(), id);
|
|
11470
11547
|
}
|
|
11471
11548
|
function modelOnnxPath(id) {
|
|
11472
11549
|
return join18(modelDir(id), "model.onnx");
|
|
@@ -11568,7 +11645,7 @@ function formatBytes2(bytes) {
|
|
|
11568
11645
|
return `${(bytes / 1024).toFixed(0)}KB`;
|
|
11569
11646
|
return `${(bytes / (1024 * 1024)).toFixed(1)}MB`;
|
|
11570
11647
|
}
|
|
11571
|
-
var VOICE_MODELS,
|
|
11648
|
+
var VOICE_MODELS, VoiceEngine;
|
|
11572
11649
|
var init_voice = __esm({
|
|
11573
11650
|
"packages/cli/dist/tui/voice.js"() {
|
|
11574
11651
|
"use strict";
|
|
@@ -11587,8 +11664,6 @@ var init_voice = __esm({
|
|
|
11587
11664
|
configUrl: "https://raw.githubusercontent.com/robit-man/combine_overwatch_onnx/main/overwatch.onnx.json"
|
|
11588
11665
|
}
|
|
11589
11666
|
};
|
|
11590
|
-
VOICE_DIR = join18(homedir8(), ".open-agents", "voice");
|
|
11591
|
-
MODELS_DIR = join18(VOICE_DIR, "models");
|
|
11592
11667
|
VoiceEngine = class {
|
|
11593
11668
|
enabled = false;
|
|
11594
11669
|
modelId = "glados";
|
|
@@ -11877,7 +11952,7 @@ var init_voice = __esm({
|
|
|
11877
11952
|
}
|
|
11878
11953
|
for (const player of ["paplay", "pw-play", "aplay"]) {
|
|
11879
11954
|
try {
|
|
11880
|
-
|
|
11955
|
+
execSync11(`which ${player}`, { stdio: "pipe" });
|
|
11881
11956
|
return [player, path];
|
|
11882
11957
|
} catch {
|
|
11883
11958
|
}
|
|
@@ -11899,8 +11974,8 @@ var init_voice = __esm({
|
|
|
11899
11974
|
async ensureRuntime() {
|
|
11900
11975
|
if (this.ort)
|
|
11901
11976
|
return;
|
|
11902
|
-
mkdirSync6(
|
|
11903
|
-
const pkgPath = join18(
|
|
11977
|
+
mkdirSync6(voiceDir(), { recursive: true });
|
|
11978
|
+
const pkgPath = join18(voiceDir(), "package.json");
|
|
11904
11979
|
const expectedDeps = {
|
|
11905
11980
|
"onnxruntime-node": "^1.21.0",
|
|
11906
11981
|
"phonemizer": "^1.2.1"
|
|
@@ -11922,20 +11997,20 @@ var init_voice = __esm({
|
|
|
11922
11997
|
dependencies: expectedDeps
|
|
11923
11998
|
}, null, 2));
|
|
11924
11999
|
}
|
|
11925
|
-
const voiceRequire = createRequire(join18(
|
|
12000
|
+
const voiceRequire = createRequire(join18(voiceDir(), "index.js"));
|
|
11926
12001
|
try {
|
|
11927
12002
|
this.ort = voiceRequire("onnxruntime-node");
|
|
11928
12003
|
} catch {
|
|
11929
12004
|
renderInfo("Installing ONNX runtime for voice synthesis...");
|
|
11930
12005
|
try {
|
|
11931
|
-
|
|
11932
|
-
cwd:
|
|
12006
|
+
execSync11("npm install --no-audit --no-fund", {
|
|
12007
|
+
cwd: voiceDir(),
|
|
11933
12008
|
stdio: "pipe",
|
|
11934
12009
|
timeout: 12e4
|
|
11935
12010
|
});
|
|
11936
12011
|
this.ort = voiceRequire("onnxruntime-node");
|
|
11937
12012
|
} catch (err) {
|
|
11938
|
-
throw new Error(`Failed to install voice dependencies. Try manually: cd ${
|
|
12013
|
+
throw new Error(`Failed to install voice dependencies. Try manually: cd ${voiceDir()} && npm install
|
|
11939
12014
|
Error: ${err instanceof Error ? err.message : String(err)}`);
|
|
11940
12015
|
}
|
|
11941
12016
|
}
|
|
@@ -11945,15 +12020,15 @@ Error: ${err instanceof Error ? err.message : String(err)}`);
|
|
|
11945
12020
|
} catch {
|
|
11946
12021
|
renderInfo("Installing phonemizer for voice synthesis...");
|
|
11947
12022
|
try {
|
|
11948
|
-
|
|
11949
|
-
cwd:
|
|
12023
|
+
execSync11("npm install --no-audit --no-fund", {
|
|
12024
|
+
cwd: voiceDir(),
|
|
11950
12025
|
stdio: "pipe",
|
|
11951
12026
|
timeout: 12e4
|
|
11952
12027
|
});
|
|
11953
12028
|
const phonemizerMod = voiceRequire("phonemizer");
|
|
11954
12029
|
this.phonemizeFn = phonemizerMod.phonemize ?? phonemizerMod.default?.phonemize ?? phonemizerMod;
|
|
11955
12030
|
} catch (err) {
|
|
11956
|
-
throw new Error(`Failed to install phonemizer. Try manually: cd ${
|
|
12031
|
+
throw new Error(`Failed to install phonemizer. Try manually: cd ${voiceDir()} && npm install
|
|
11957
12032
|
Error: ${err instanceof Error ? err.message : String(err)}`);
|
|
11958
12033
|
}
|
|
11959
12034
|
}
|
|
@@ -12408,7 +12483,7 @@ var init_edit_history = __esm({
|
|
|
12408
12483
|
// packages/cli/dist/tui/dream-engine.js
|
|
12409
12484
|
import { mkdirSync as mkdirSync8, writeFileSync as writeFileSync7, readFileSync as readFileSync12, existsSync as existsSync14, cpSync, rmSync, readdirSync as readdirSync8 } from "node:fs";
|
|
12410
12485
|
import { join as join20, basename as basename5 } from "node:path";
|
|
12411
|
-
import { execSync as
|
|
12486
|
+
import { execSync as execSync12 } from "node:child_process";
|
|
12412
12487
|
function adaptTool(tool) {
|
|
12413
12488
|
return {
|
|
12414
12489
|
name: tool.name,
|
|
@@ -12661,7 +12736,7 @@ var init_dream_engine = __esm({
|
|
|
12661
12736
|
}
|
|
12662
12737
|
}
|
|
12663
12738
|
try {
|
|
12664
|
-
const output =
|
|
12739
|
+
const output = execSync12(cmd, {
|
|
12665
12740
|
cwd: this.repoRoot,
|
|
12666
12741
|
timeout: 3e4,
|
|
12667
12742
|
encoding: "utf-8",
|
|
@@ -12881,17 +12956,17 @@ Dreams directory: ${this.dreamsDir}`);
|
|
|
12881
12956
|
try {
|
|
12882
12957
|
mkdirSync8(checkpointDir, { recursive: true });
|
|
12883
12958
|
try {
|
|
12884
|
-
const gitStatus =
|
|
12959
|
+
const gitStatus = execSync12("git status --porcelain", {
|
|
12885
12960
|
cwd: this.repoRoot,
|
|
12886
12961
|
encoding: "utf-8",
|
|
12887
12962
|
timeout: 1e4
|
|
12888
12963
|
});
|
|
12889
|
-
const gitDiff =
|
|
12964
|
+
const gitDiff = execSync12("git diff", {
|
|
12890
12965
|
cwd: this.repoRoot,
|
|
12891
12966
|
encoding: "utf-8",
|
|
12892
12967
|
timeout: 1e4
|
|
12893
12968
|
});
|
|
12894
|
-
const gitHash =
|
|
12969
|
+
const gitHash = execSync12("git rev-parse HEAD 2>/dev/null || echo 'no-git'", {
|
|
12895
12970
|
cwd: this.repoRoot,
|
|
12896
12971
|
encoding: "utf-8",
|
|
12897
12972
|
timeout: 5e3
|
|
@@ -13301,7 +13376,7 @@ var init_status_bar = __esm({
|
|
|
13301
13376
|
import * as readline2 from "node:readline";
|
|
13302
13377
|
import { Writable } from "node:stream";
|
|
13303
13378
|
import { cwd } from "node:process";
|
|
13304
|
-
import { resolve as resolve12, join as join21, dirname as
|
|
13379
|
+
import { resolve as resolve12, join as join21, dirname as dirname3 } from "node:path";
|
|
13305
13380
|
import { createRequire as createRequire2 } from "node:module";
|
|
13306
13381
|
import { fileURLToPath } from "node:url";
|
|
13307
13382
|
import { readFileSync as readFileSync13 } from "node:fs";
|
|
@@ -13310,7 +13385,7 @@ import { extname as extname5 } from "node:path";
|
|
|
13310
13385
|
function getVersion() {
|
|
13311
13386
|
try {
|
|
13312
13387
|
const require2 = createRequire2(import.meta.url);
|
|
13313
|
-
const thisDir =
|
|
13388
|
+
const thisDir = dirname3(fileURLToPath(import.meta.url));
|
|
13314
13389
|
const candidates = [
|
|
13315
13390
|
join21(thisDir, "..", "package.json"),
|
|
13316
13391
|
join21(thisDir, "..", "..", "package.json"),
|
|
@@ -15116,7 +15191,7 @@ init_updater();
|
|
|
15116
15191
|
import { parseArgs as nodeParseArgs2 } from "node:util";
|
|
15117
15192
|
import { createRequire as createRequire3 } from "node:module";
|
|
15118
15193
|
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
15119
|
-
import { dirname as
|
|
15194
|
+
import { dirname as dirname4, join as join25 } from "node:path";
|
|
15120
15195
|
|
|
15121
15196
|
// packages/cli/dist/cli.js
|
|
15122
15197
|
import { createInterface } from "node:readline";
|
|
@@ -15223,7 +15298,7 @@ init_output();
|
|
|
15223
15298
|
function getVersion2() {
|
|
15224
15299
|
try {
|
|
15225
15300
|
const require2 = createRequire3(import.meta.url);
|
|
15226
|
-
const pkgPath = join25(
|
|
15301
|
+
const pkgPath = join25(dirname4(fileURLToPath2(import.meta.url)), "..", "package.json");
|
|
15227
15302
|
const pkg = require2(pkgPath);
|
|
15228
15303
|
return pkg.version;
|
|
15229
15304
|
} catch {
|
package/package.json
CHANGED