open-agents-ai 0.103.13 → 0.103.15
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 +83 -43
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -18258,10 +18258,10 @@ ${marker}` : marker);
|
|
|
18258
18258
|
if (!this._workingDirectory)
|
|
18259
18259
|
return;
|
|
18260
18260
|
try {
|
|
18261
|
-
const { mkdirSync:
|
|
18261
|
+
const { mkdirSync: mkdirSync20, writeFileSync: writeFileSync18 } = __require("node:fs");
|
|
18262
18262
|
const { join: join55 } = __require("node:path");
|
|
18263
18263
|
const sessionDir = join55(this._workingDirectory, ".oa", "session", this._sessionId);
|
|
18264
|
-
|
|
18264
|
+
mkdirSync20(sessionDir, { recursive: true });
|
|
18265
18265
|
const checkpoint = {
|
|
18266
18266
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
18267
18267
|
sessionId: this._sessionId,
|
|
@@ -26203,7 +26203,7 @@ import { EventEmitter as EventEmitter3 } from "node:events";
|
|
|
26203
26203
|
import { randomBytes as randomBytes7 } from "node:crypto";
|
|
26204
26204
|
import { URL as URL2 } from "node:url";
|
|
26205
26205
|
import { loadavg, cpus, totalmem, freemem } from "node:os";
|
|
26206
|
-
import { existsSync as existsSync26, readFileSync as readFileSync18, writeFileSync as writeFileSync8, unlinkSync as unlinkSync3 } from "node:fs";
|
|
26206
|
+
import { existsSync as existsSync26, readFileSync as readFileSync18, writeFileSync as writeFileSync8, unlinkSync as unlinkSync3, mkdirSync as mkdirSync8 } from "node:fs";
|
|
26207
26207
|
import { join as join35 } from "node:path";
|
|
26208
26208
|
function cleanForwardHeaders(raw, targetHost) {
|
|
26209
26209
|
const out = {};
|
|
@@ -26239,6 +26239,7 @@ function readExposeState(stateDir) {
|
|
|
26239
26239
|
}
|
|
26240
26240
|
function writeExposeState(stateDir, state) {
|
|
26241
26241
|
try {
|
|
26242
|
+
mkdirSync8(stateDir, { recursive: true });
|
|
26242
26243
|
writeFileSync8(join35(stateDir, STATE_FILE_NAME), JSON.stringify(state, null, 2));
|
|
26243
26244
|
} catch {
|
|
26244
26245
|
}
|
|
@@ -26334,6 +26335,8 @@ var init_expose = __esm({
|
|
|
26334
26335
|
cloudflaredProcess = null;
|
|
26335
26336
|
/** PID of detached cloudflared (for killing on stop, even across OA restarts) */
|
|
26336
26337
|
_cloudflaredPid = null;
|
|
26338
|
+
/** Periodic PID watchdog for reconnect mode (no ChildProcess close event) */
|
|
26339
|
+
_pidWatchdog = null;
|
|
26337
26340
|
_tunnelUrl = null;
|
|
26338
26341
|
_authKey;
|
|
26339
26342
|
_targetUrl;
|
|
@@ -26425,9 +26428,11 @@ var init_expose = __esm({
|
|
|
26425
26428
|
});
|
|
26426
26429
|
this._stats.status = "active";
|
|
26427
26430
|
this.emitStats();
|
|
26431
|
+
this.startPidWatchdog();
|
|
26428
26432
|
return this._tunnelUrl;
|
|
26429
26433
|
}
|
|
26430
26434
|
async stop() {
|
|
26435
|
+
this.stopPidWatchdog();
|
|
26431
26436
|
if (this._cloudflaredPid && isProcessAlive(this._cloudflaredPid)) {
|
|
26432
26437
|
try {
|
|
26433
26438
|
process.kill(this._cloudflaredPid, "SIGTERM");
|
|
@@ -26476,8 +26481,10 @@ var init_expose = __esm({
|
|
|
26476
26481
|
});
|
|
26477
26482
|
try {
|
|
26478
26483
|
await gateway.reconnect(state);
|
|
26484
|
+
options.onInfo?.(`Expose tunnel reconnected: ${state.tunnelUrl}`);
|
|
26479
26485
|
return gateway;
|
|
26480
|
-
} catch {
|
|
26486
|
+
} catch (err) {
|
|
26487
|
+
options.onError?.(`Expose reconnect failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
26481
26488
|
return null;
|
|
26482
26489
|
}
|
|
26483
26490
|
}
|
|
@@ -26702,7 +26709,8 @@ var init_expose = __esm({
|
|
|
26702
26709
|
this._tunnelUrl = await this.startCloudflared(this._proxyPort);
|
|
26703
26710
|
this._stats.status = "active";
|
|
26704
26711
|
this.emitStats();
|
|
26705
|
-
this.options.onInfo?.(`Tunnel restarted:
|
|
26712
|
+
this.options.onInfo?.(`Tunnel restarted with new URL \u2014 share with consumers:
|
|
26713
|
+
${this.formatConnectionInfo()}`);
|
|
26706
26714
|
if (this._stateDir) {
|
|
26707
26715
|
writeExposeState(this._stateDir, {
|
|
26708
26716
|
pid: this._cloudflaredPid,
|
|
@@ -26718,6 +26726,32 @@ var init_expose = __esm({
|
|
|
26718
26726
|
this.options.onError?.(`Tunnel restart failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
26719
26727
|
}
|
|
26720
26728
|
}
|
|
26729
|
+
/**
|
|
26730
|
+
* Periodically check if the cloudflared PID is still alive.
|
|
26731
|
+
* Used in reconnect mode where we don't have a ChildProcess close event.
|
|
26732
|
+
* If cloudflared dies, triggers auto-restart.
|
|
26733
|
+
*/
|
|
26734
|
+
startPidWatchdog() {
|
|
26735
|
+
this.stopPidWatchdog();
|
|
26736
|
+
this._pidWatchdog = setInterval(() => {
|
|
26737
|
+
if (!this._cloudflaredPid || !isProcessAlive(this._cloudflaredPid)) {
|
|
26738
|
+
this.stopPidWatchdog();
|
|
26739
|
+
if (this._stats.status === "active") {
|
|
26740
|
+
this.options.onInfo?.("Cloudflared tunnel died (detected by watchdog) \u2014 restarting...");
|
|
26741
|
+
this._stats.status = "error";
|
|
26742
|
+
this.emitStats();
|
|
26743
|
+
this.restartCloudflared();
|
|
26744
|
+
}
|
|
26745
|
+
}
|
|
26746
|
+
}, 1e4);
|
|
26747
|
+
this._pidWatchdog.unref();
|
|
26748
|
+
}
|
|
26749
|
+
stopPidWatchdog() {
|
|
26750
|
+
if (this._pidWatchdog) {
|
|
26751
|
+
clearInterval(this._pidWatchdog);
|
|
26752
|
+
this._pidWatchdog = null;
|
|
26753
|
+
}
|
|
26754
|
+
}
|
|
26721
26755
|
// ── Helpers ─────────────────────────────────────────────────────────────
|
|
26722
26756
|
findFreePort() {
|
|
26723
26757
|
return new Promise((resolve31, reject) => {
|
|
@@ -26739,6 +26773,7 @@ var init_expose = __esm({
|
|
|
26739
26773
|
}
|
|
26740
26774
|
/** Format connection info for display */
|
|
26741
26775
|
formatConnectionInfo() {
|
|
26776
|
+
const endpointCmd = `/endpoint ${this._tunnelUrl ?? "<tunnel-url>"} --auth ${this._authKey}`;
|
|
26742
26777
|
const lines = [];
|
|
26743
26778
|
lines.push(` ${c2.green("\u25CF")} Expose gateway active`);
|
|
26744
26779
|
lines.push(` ${c2.cyan("Backend".padEnd(12))} ${this._kind} (${this._targetUrl})`);
|
|
@@ -26746,9 +26781,14 @@ var init_expose = __esm({
|
|
|
26746
26781
|
lines.push(` ${c2.cyan("Auth Key".padEnd(12))} ${c2.bold(this._authKey)}`);
|
|
26747
26782
|
lines.push("");
|
|
26748
26783
|
lines.push(` ${c2.dim("Remote users connect with:")}`);
|
|
26749
|
-
lines.push(` ${c2.bold(
|
|
26784
|
+
lines.push(` ${c2.bold(endpointCmd)}`);
|
|
26750
26785
|
lines.push("");
|
|
26751
26786
|
lines.push(` ${c2.yellow("!")} ${c2.dim("Keep this key secure \u2014 it grants full access to your models.")}`);
|
|
26787
|
+
if ((process.stdout.isTTY ?? false) && this._tunnelUrl) {
|
|
26788
|
+
const b64 = Buffer.from(endpointCmd).toString("base64");
|
|
26789
|
+
lines.push(`\x1B]52;c;${b64}\x07`);
|
|
26790
|
+
lines.push(` ${c2.dim("(copied to clipboard)")}`);
|
|
26791
|
+
}
|
|
26752
26792
|
return lines.join("\n");
|
|
26753
26793
|
}
|
|
26754
26794
|
/** Format usage stats for display */
|
|
@@ -26786,7 +26826,7 @@ var init_types = __esm({
|
|
|
26786
26826
|
|
|
26787
26827
|
// packages/cli/dist/tui/p2p/secret-vault.js
|
|
26788
26828
|
import { createCipheriv as createCipheriv2, createDecipheriv as createDecipheriv2, randomBytes as randomBytes8, scryptSync as scryptSync2, createHash as createHash2 } from "node:crypto";
|
|
26789
|
-
import { readFileSync as readFileSync19, writeFileSync as writeFileSync9, existsSync as existsSync27, mkdirSync as
|
|
26829
|
+
import { readFileSync as readFileSync19, writeFileSync as writeFileSync9, existsSync as existsSync27, mkdirSync as mkdirSync9 } from "node:fs";
|
|
26790
26830
|
import { join as join36, dirname as dirname13 } from "node:path";
|
|
26791
26831
|
var PLACEHOLDER_PREFIX, PLACEHOLDER_SUFFIX, CIPHER_ALGO, SALT_LEN, IV_LEN, KEY_LEN, SecretVault;
|
|
26792
26832
|
var init_secret_vault = __esm({
|
|
@@ -27000,7 +27040,7 @@ var init_secret_vault = __esm({
|
|
|
27000
27040
|
const blob = Buffer.concat([salt, iv, tag, encrypted]);
|
|
27001
27041
|
const dir = dirname13(this.storePath);
|
|
27002
27042
|
if (!existsSync27(dir))
|
|
27003
|
-
|
|
27043
|
+
mkdirSync9(dir, { recursive: true });
|
|
27004
27044
|
writeFileSync9(this.storePath, blob, { mode: 384 });
|
|
27005
27045
|
}
|
|
27006
27046
|
/**
|
|
@@ -28382,13 +28422,13 @@ var init_dist6 = __esm({
|
|
|
28382
28422
|
});
|
|
28383
28423
|
|
|
28384
28424
|
// packages/cli/dist/tui/oa-directory.js
|
|
28385
|
-
import { existsSync as existsSync29, mkdirSync as
|
|
28425
|
+
import { existsSync as existsSync29, mkdirSync as mkdirSync10, readFileSync as readFileSync21, writeFileSync as writeFileSync10, readdirSync as readdirSync7, statSync as statSync9, unlinkSync as unlinkSync4 } from "node:fs";
|
|
28386
28426
|
import { join as join39, relative as relative2, basename as basename9, extname as extname8 } from "node:path";
|
|
28387
28427
|
import { homedir as homedir9 } from "node:os";
|
|
28388
28428
|
function initOaDirectory(repoRoot) {
|
|
28389
28429
|
const oaPath = join39(repoRoot, OA_DIR);
|
|
28390
28430
|
for (const sub of SUBDIRS) {
|
|
28391
|
-
|
|
28431
|
+
mkdirSync10(join39(oaPath, sub), { recursive: true });
|
|
28392
28432
|
}
|
|
28393
28433
|
try {
|
|
28394
28434
|
const gitignorePath = join39(repoRoot, ".gitignore");
|
|
@@ -28418,7 +28458,7 @@ function loadProjectSettings(repoRoot) {
|
|
|
28418
28458
|
}
|
|
28419
28459
|
function saveProjectSettings(repoRoot, settings) {
|
|
28420
28460
|
const oaPath = join39(repoRoot, OA_DIR);
|
|
28421
|
-
|
|
28461
|
+
mkdirSync10(oaPath, { recursive: true });
|
|
28422
28462
|
const existing = loadProjectSettings(repoRoot);
|
|
28423
28463
|
const merged = { ...existing, ...settings };
|
|
28424
28464
|
writeFileSync10(join39(oaPath, "settings.json"), JSON.stringify(merged, null, 2) + "\n", { encoding: "utf-8", mode: 384 });
|
|
@@ -28435,7 +28475,7 @@ function loadGlobalSettings() {
|
|
|
28435
28475
|
}
|
|
28436
28476
|
function saveGlobalSettings(settings) {
|
|
28437
28477
|
const dir = join39(homedir9(), ".open-agents");
|
|
28438
|
-
|
|
28478
|
+
mkdirSync10(dir, { recursive: true });
|
|
28439
28479
|
const existing = loadGlobalSettings();
|
|
28440
28480
|
const merged = { ...existing, ...settings };
|
|
28441
28481
|
writeFileSync10(join39(dir, "settings.json"), JSON.stringify(merged, null, 2) + "\n", { encoding: "utf-8", mode: 384 });
|
|
@@ -28560,13 +28600,13 @@ ${tree}\`\`\`
|
|
|
28560
28600
|
}
|
|
28561
28601
|
const content = sections.join("\n");
|
|
28562
28602
|
const contextDir = join39(repoRoot, OA_DIR, "context");
|
|
28563
|
-
|
|
28603
|
+
mkdirSync10(contextDir, { recursive: true });
|
|
28564
28604
|
writeFileSync10(join39(contextDir, "project-map.md"), content, "utf-8");
|
|
28565
28605
|
return content;
|
|
28566
28606
|
}
|
|
28567
28607
|
function saveSession(repoRoot, session) {
|
|
28568
28608
|
const historyDir = join39(repoRoot, OA_DIR, "history");
|
|
28569
|
-
|
|
28609
|
+
mkdirSync10(historyDir, { recursive: true });
|
|
28570
28610
|
writeFileSync10(join39(historyDir, `${session.id}.json`), JSON.stringify(session, null, 2), "utf-8");
|
|
28571
28611
|
}
|
|
28572
28612
|
function loadRecentSessions(repoRoot, limit = 5) {
|
|
@@ -28591,7 +28631,7 @@ function loadRecentSessions(repoRoot, limit = 5) {
|
|
|
28591
28631
|
}
|
|
28592
28632
|
function savePendingTask(repoRoot, task) {
|
|
28593
28633
|
const historyDir = join39(repoRoot, OA_DIR, "history");
|
|
28594
|
-
|
|
28634
|
+
mkdirSync10(historyDir, { recursive: true });
|
|
28595
28635
|
writeFileSync10(join39(historyDir, PENDING_TASK_FILE), JSON.stringify(task, null, 2) + "\n", "utf-8");
|
|
28596
28636
|
}
|
|
28597
28637
|
function loadPendingTask(repoRoot) {
|
|
@@ -28611,7 +28651,7 @@ function loadPendingTask(repoRoot) {
|
|
|
28611
28651
|
}
|
|
28612
28652
|
function saveSessionContext(repoRoot, entry) {
|
|
28613
28653
|
const contextDir = join39(repoRoot, OA_DIR, "context");
|
|
28614
|
-
|
|
28654
|
+
mkdirSync10(contextDir, { recursive: true });
|
|
28615
28655
|
const filePath = join39(contextDir, CONTEXT_SAVE_FILE);
|
|
28616
28656
|
let ctx;
|
|
28617
28657
|
try {
|
|
@@ -28768,7 +28808,7 @@ function loadUsageFile(filePath) {
|
|
|
28768
28808
|
}
|
|
28769
28809
|
function saveUsageFile(filePath, data) {
|
|
28770
28810
|
const dir = join39(filePath, "..");
|
|
28771
|
-
|
|
28811
|
+
mkdirSync10(dir, { recursive: true });
|
|
28772
28812
|
writeFileSync10(filePath, JSON.stringify(data, null, 2) + "\n", { encoding: "utf-8", mode: 384 });
|
|
28773
28813
|
}
|
|
28774
28814
|
function recordUsage(kind, value, opts) {
|
|
@@ -28874,7 +28914,7 @@ var init_oa_directory = __esm({
|
|
|
28874
28914
|
import * as readline from "node:readline";
|
|
28875
28915
|
import { execSync as execSync25, spawn as spawn15, exec as exec2 } from "node:child_process";
|
|
28876
28916
|
import { promisify as promisify5 } from "node:util";
|
|
28877
|
-
import { existsSync as existsSync30, writeFileSync as writeFileSync11, mkdirSync as
|
|
28917
|
+
import { existsSync as existsSync30, writeFileSync as writeFileSync11, mkdirSync as mkdirSync11 } from "node:fs";
|
|
28878
28918
|
import { join as join40 } from "node:path";
|
|
28879
28919
|
import { homedir as homedir10, platform } from "node:os";
|
|
28880
28920
|
function detectSystemSpecs() {
|
|
@@ -29907,7 +29947,7 @@ async function doSetup(config, rl) {
|
|
|
29907
29947
|
`PARAMETER stop "<|endoftext|>"`
|
|
29908
29948
|
].join("\n");
|
|
29909
29949
|
const modelDir2 = join40(homedir10(), ".open-agents", "models");
|
|
29910
|
-
|
|
29950
|
+
mkdirSync11(modelDir2, { recursive: true });
|
|
29911
29951
|
const modelfilePath = join40(modelDir2, `Modelfile.${customName}`);
|
|
29912
29952
|
writeFileSync11(modelfilePath, modelfileContent + "\n", "utf8");
|
|
29913
29953
|
process.stdout.write(` ${c2.dim("Creating model...")} `);
|
|
@@ -30016,7 +30056,7 @@ function ensureVenv(log) {
|
|
|
30016
30056
|
return null;
|
|
30017
30057
|
}
|
|
30018
30058
|
try {
|
|
30019
|
-
|
|
30059
|
+
mkdirSync11(join40(homedir10(), ".open-agents"), { recursive: true });
|
|
30020
30060
|
execSync25(`python3 -m venv "${venvDir}"`, { stdio: "pipe", timeout: 3e4 });
|
|
30021
30061
|
execSync25(`"${join40(venvDir, "bin", "pip")}" install --upgrade pip`, {
|
|
30022
30062
|
stdio: "pipe",
|
|
@@ -30349,7 +30389,7 @@ async function createExpandedVariantAsync(baseModel, specs, sizeGB) {
|
|
|
30349
30389
|
`PARAMETER stop "<|endoftext|>"`
|
|
30350
30390
|
].join("\n");
|
|
30351
30391
|
const modelDir2 = join40(homedir10(), ".open-agents", "models");
|
|
30352
|
-
|
|
30392
|
+
mkdirSync11(modelDir2, { recursive: true });
|
|
30353
30393
|
const modelfilePath = join40(modelDir2, `Modelfile.${customName}`);
|
|
30354
30394
|
writeFileSync11(modelfilePath, modelfileContent + "\n", "utf8");
|
|
30355
30395
|
await execAsync(`ollama create ${customName} -f ${modelfilePath}`, {
|
|
@@ -33706,7 +33746,7 @@ var init_carousel = __esm({
|
|
|
33706
33746
|
});
|
|
33707
33747
|
|
|
33708
33748
|
// packages/cli/dist/tui/carousel-descriptors.js
|
|
33709
|
-
import { existsSync as existsSync32, readFileSync as readFileSync23, writeFileSync as writeFileSync12, mkdirSync as
|
|
33749
|
+
import { existsSync as existsSync32, readFileSync as readFileSync23, writeFileSync as writeFileSync12, mkdirSync as mkdirSync12, readdirSync as readdirSync9 } from "node:fs";
|
|
33710
33750
|
import { join as join42, basename as basename11 } from "node:path";
|
|
33711
33751
|
function loadToolProfile(repoRoot) {
|
|
33712
33752
|
const filePath = join42(repoRoot, OA_DIR, "context", TOOL_PROFILE_FILE);
|
|
@@ -33720,7 +33760,7 @@ function loadToolProfile(repoRoot) {
|
|
|
33720
33760
|
}
|
|
33721
33761
|
function saveToolProfile(repoRoot, profile) {
|
|
33722
33762
|
const contextDir = join42(repoRoot, OA_DIR, "context");
|
|
33723
|
-
|
|
33763
|
+
mkdirSync12(contextDir, { recursive: true });
|
|
33724
33764
|
writeFileSync12(join42(contextDir, TOOL_PROFILE_FILE), JSON.stringify(profile, null, 2), "utf-8");
|
|
33725
33765
|
}
|
|
33726
33766
|
function categorizeToolCall(toolName) {
|
|
@@ -33791,7 +33831,7 @@ function loadCachedDescriptors(repoRoot) {
|
|
|
33791
33831
|
}
|
|
33792
33832
|
function saveCachedDescriptors(repoRoot, phrases, sourceHash) {
|
|
33793
33833
|
const contextDir = join42(repoRoot, OA_DIR, "context");
|
|
33794
|
-
|
|
33834
|
+
mkdirSync12(contextDir, { recursive: true });
|
|
33795
33835
|
const cached = {
|
|
33796
33836
|
phrases,
|
|
33797
33837
|
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -34059,7 +34099,7 @@ var init_carousel_descriptors = __esm({
|
|
|
34059
34099
|
});
|
|
34060
34100
|
|
|
34061
34101
|
// packages/cli/dist/tui/voice.js
|
|
34062
|
-
import { existsSync as existsSync33, mkdirSync as
|
|
34102
|
+
import { existsSync as existsSync33, mkdirSync as mkdirSync13, writeFileSync as writeFileSync13, readFileSync as readFileSync24, unlinkSync as unlinkSync5 } from "node:fs";
|
|
34063
34103
|
import { join as join43 } from "node:path";
|
|
34064
34104
|
import { homedir as homedir12, tmpdir as tmpdir6, platform as platform3 } from "node:os";
|
|
34065
34105
|
import { execSync as execSync27, spawn as nodeSpawn } from "node:child_process";
|
|
@@ -35330,7 +35370,7 @@ Error: ${err2 instanceof Error ? err2.message : String(err2)}`);
|
|
|
35330
35370
|
if (this.ort)
|
|
35331
35371
|
return;
|
|
35332
35372
|
const arch = process.arch;
|
|
35333
|
-
|
|
35373
|
+
mkdirSync13(voiceDir(), { recursive: true });
|
|
35334
35374
|
const pkgPath = join43(voiceDir(), "package.json");
|
|
35335
35375
|
const expectedDeps = {
|
|
35336
35376
|
"onnxruntime-node": "^1.21.0",
|
|
@@ -35424,7 +35464,7 @@ Error: ${err instanceof Error ? err.message : String(err)}`);
|
|
|
35424
35464
|
const configPath = modelConfigPath(id);
|
|
35425
35465
|
if (existsSync33(onnxPath) && existsSync33(configPath))
|
|
35426
35466
|
return;
|
|
35427
|
-
|
|
35467
|
+
mkdirSync13(dir, { recursive: true });
|
|
35428
35468
|
if (!existsSync33(configPath)) {
|
|
35429
35469
|
renderInfo(`Downloading ${model.label} voice config...`);
|
|
35430
35470
|
const configResp = await fetch(model.configUrl);
|
|
@@ -36334,13 +36374,13 @@ var init_stream_renderer = __esm({
|
|
|
36334
36374
|
});
|
|
36335
36375
|
|
|
36336
36376
|
// packages/cli/dist/tui/edit-history.js
|
|
36337
|
-
import { appendFileSync as appendFileSync2, mkdirSync as
|
|
36377
|
+
import { appendFileSync as appendFileSync2, mkdirSync as mkdirSync14 } from "node:fs";
|
|
36338
36378
|
import { join as join44 } from "node:path";
|
|
36339
36379
|
function createEditHistoryLogger(repoRoot, sessionId) {
|
|
36340
36380
|
const historyDir = join44(repoRoot, ".oa", "history");
|
|
36341
36381
|
const logPath = join44(historyDir, "edits.jsonl");
|
|
36342
36382
|
try {
|
|
36343
|
-
|
|
36383
|
+
mkdirSync14(historyDir, { recursive: true });
|
|
36344
36384
|
} catch {
|
|
36345
36385
|
}
|
|
36346
36386
|
function logToolCall(toolName, toolArgs, success) {
|
|
@@ -36480,7 +36520,7 @@ var init_promptLoader3 = __esm({
|
|
|
36480
36520
|
});
|
|
36481
36521
|
|
|
36482
36522
|
// packages/cli/dist/tui/dream-engine.js
|
|
36483
|
-
import { mkdirSync as
|
|
36523
|
+
import { mkdirSync as mkdirSync15, writeFileSync as writeFileSync14, readFileSync as readFileSync26, existsSync as existsSync35, cpSync, rmSync, readdirSync as readdirSync10 } from "node:fs";
|
|
36484
36524
|
import { join as join46, basename as basename12 } from "node:path";
|
|
36485
36525
|
import { execSync as execSync28 } from "node:child_process";
|
|
36486
36526
|
function loadAutoresearchMemory(repoRoot) {
|
|
@@ -36684,7 +36724,7 @@ var init_dream_engine = __esm({
|
|
|
36684
36724
|
}
|
|
36685
36725
|
try {
|
|
36686
36726
|
const dir = join46(targetPath, "..");
|
|
36687
|
-
|
|
36727
|
+
mkdirSync15(dir, { recursive: true });
|
|
36688
36728
|
writeFileSync14(targetPath, content, "utf-8");
|
|
36689
36729
|
return { success: true, output: `Wrote ${content.length} bytes to ${rawPath}`, durationMs: Date.now() - start };
|
|
36690
36730
|
} catch (err) {
|
|
@@ -36773,7 +36813,7 @@ var init_dream_engine = __esm({
|
|
|
36773
36813
|
}
|
|
36774
36814
|
try {
|
|
36775
36815
|
const dir = join46(targetPath, "..");
|
|
36776
|
-
|
|
36816
|
+
mkdirSync15(dir, { recursive: true });
|
|
36777
36817
|
writeFileSync14(targetPath, content, "utf-8");
|
|
36778
36818
|
return { success: true, output: `Wrote ${content.length} bytes to ${rawPath}`, durationMs: Date.now() - start };
|
|
36779
36819
|
} catch (err) {
|
|
@@ -36900,7 +36940,7 @@ var init_dream_engine = __esm({
|
|
|
36900
36940
|
startedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
36901
36941
|
results: []
|
|
36902
36942
|
};
|
|
36903
|
-
|
|
36943
|
+
mkdirSync15(this.dreamsDir, { recursive: true });
|
|
36904
36944
|
this.saveDreamState();
|
|
36905
36945
|
try {
|
|
36906
36946
|
for (let cycle = 1; cycle <= totalCycles; cycle++) {
|
|
@@ -37552,7 +37592,7 @@ ${summaryResult}
|
|
|
37552
37592
|
*Generated by open-agents autoresearch swarm*
|
|
37553
37593
|
`;
|
|
37554
37594
|
try {
|
|
37555
|
-
|
|
37595
|
+
mkdirSync15(this.dreamsDir, { recursive: true });
|
|
37556
37596
|
writeFileSync14(reportPath, report, "utf-8");
|
|
37557
37597
|
} catch {
|
|
37558
37598
|
}
|
|
@@ -37621,7 +37661,7 @@ ${summaryResult}
|
|
|
37621
37661
|
saveVersionCheckpoint(cycle) {
|
|
37622
37662
|
const checkpointDir = join46(this.dreamsDir, "checkpoints", `cycle-${cycle}`);
|
|
37623
37663
|
try {
|
|
37624
|
-
|
|
37664
|
+
mkdirSync15(checkpointDir, { recursive: true });
|
|
37625
37665
|
try {
|
|
37626
37666
|
const gitStatus = execSync28("git status --porcelain", {
|
|
37627
37667
|
cwd: this.repoRoot,
|
|
@@ -38088,7 +38128,7 @@ var init_bless_engine = __esm({
|
|
|
38088
38128
|
});
|
|
38089
38129
|
|
|
38090
38130
|
// packages/cli/dist/tui/dmn-engine.js
|
|
38091
|
-
import { existsSync as existsSync36, readFileSync as readFileSync27, writeFileSync as writeFileSync15, mkdirSync as
|
|
38131
|
+
import { existsSync as existsSync36, readFileSync as readFileSync27, writeFileSync as writeFileSync15, mkdirSync as mkdirSync16, readdirSync as readdirSync11, unlinkSync as unlinkSync6 } from "node:fs";
|
|
38092
38132
|
import { join as join47, basename as basename13 } from "node:path";
|
|
38093
38133
|
function buildDMNGatherPrompt(recentTaskSummaries, dueReminders, attentionItems, memoryTopics, capabilities, competence, reflectionBuffer) {
|
|
38094
38134
|
const competenceReport = competence.length > 0 ? competence.map((c3) => {
|
|
@@ -38204,7 +38244,7 @@ var init_dmn_engine = __esm({
|
|
|
38204
38244
|
this.repoRoot = repoRoot;
|
|
38205
38245
|
this.stateDir = join47(repoRoot, ".oa", "dmn");
|
|
38206
38246
|
this.historyDir = join47(repoRoot, ".oa", "dmn", "cycles");
|
|
38207
|
-
|
|
38247
|
+
mkdirSync16(this.historyDir, { recursive: true });
|
|
38208
38248
|
this.loadState();
|
|
38209
38249
|
}
|
|
38210
38250
|
get stats() {
|
|
@@ -39669,7 +39709,7 @@ var init_tool_policy = __esm({
|
|
|
39669
39709
|
});
|
|
39670
39710
|
|
|
39671
39711
|
// packages/cli/dist/tui/telegram-bridge.js
|
|
39672
|
-
import { mkdirSync as
|
|
39712
|
+
import { mkdirSync as mkdirSync17, existsSync as existsSync38, unlinkSync as unlinkSync7, readdirSync as readdirSync13, statSync as statSync10 } from "node:fs";
|
|
39673
39713
|
import { join as join49, resolve as resolve27 } from "node:path";
|
|
39674
39714
|
import { writeFile as writeFileAsync } from "node:fs/promises";
|
|
39675
39715
|
function convertMarkdownToTelegramHTML(md) {
|
|
@@ -39998,7 +40038,7 @@ with summary "no_reply" to silently skip without responding.
|
|
|
39998
40038
|
this.polling = true;
|
|
39999
40039
|
this.abortController = new AbortController();
|
|
40000
40040
|
try {
|
|
40001
|
-
|
|
40041
|
+
mkdirSync17(this.mediaCacheDir, { recursive: true });
|
|
40002
40042
|
} catch {
|
|
40003
40043
|
}
|
|
40004
40044
|
this.mediaCacheCleanupTimer = setInterval(() => this.cleanupMediaCache(), 5 * 60 * 1e3);
|
|
@@ -42271,7 +42311,7 @@ import { cwd } from "node:process";
|
|
|
42271
42311
|
import { resolve as resolve28, join as join50, dirname as dirname17, extname as extname9 } from "node:path";
|
|
42272
42312
|
import { createRequire as createRequire2 } from "node:module";
|
|
42273
42313
|
import { fileURLToPath as fileURLToPath12 } from "node:url";
|
|
42274
|
-
import { readFileSync as readFileSync29, writeFileSync as writeFileSync16, appendFileSync as appendFileSync3, rmSync as rmSync2, readdirSync as readdirSync14, mkdirSync as
|
|
42314
|
+
import { readFileSync as readFileSync29, writeFileSync as writeFileSync16, appendFileSync as appendFileSync3, rmSync as rmSync2, readdirSync as readdirSync14, mkdirSync as mkdirSync18 } from "node:fs";
|
|
42275
42315
|
import { existsSync as existsSync39 } from "node:fs";
|
|
42276
42316
|
import { homedir as homedir13 } from "node:os";
|
|
42277
42317
|
function formatTimeAgo(date) {
|
|
@@ -43473,7 +43513,7 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
|
|
|
43473
43513
|
if (!line.trim())
|
|
43474
43514
|
return;
|
|
43475
43515
|
try {
|
|
43476
|
-
|
|
43516
|
+
mkdirSync18(HISTORY_DIR, { recursive: true });
|
|
43477
43517
|
appendFileSync3(HISTORY_FILE, line + "\n", "utf8");
|
|
43478
43518
|
if (Math.random() < 0.02) {
|
|
43479
43519
|
const all = readFileSync29(HISTORY_FILE, "utf8").trim().split("\n");
|
|
@@ -46108,7 +46148,7 @@ __export(eval_exports, {
|
|
|
46108
46148
|
evalCommand: () => evalCommand
|
|
46109
46149
|
});
|
|
46110
46150
|
import { tmpdir as tmpdir7 } from "node:os";
|
|
46111
|
-
import { mkdirSync as
|
|
46151
|
+
import { mkdirSync as mkdirSync19, writeFileSync as writeFileSync17 } from "node:fs";
|
|
46112
46152
|
import { join as join53 } from "node:path";
|
|
46113
46153
|
async function evalCommand(opts, config) {
|
|
46114
46154
|
const suiteName = opts.suite ?? "basic";
|
|
@@ -46235,7 +46275,7 @@ async function evalCommand(opts, config) {
|
|
|
46235
46275
|
}
|
|
46236
46276
|
function createTempEvalRepo() {
|
|
46237
46277
|
const dir = join53(tmpdir7(), `open-agents-eval-${Date.now()}`);
|
|
46238
|
-
|
|
46278
|
+
mkdirSync19(dir, { recursive: true });
|
|
46239
46279
|
writeFileSync17(join53(dir, "package.json"), JSON.stringify({ name: "eval-repo", version: "0.0.0" }, null, 2) + "\n", "utf8");
|
|
46240
46280
|
return dir;
|
|
46241
46281
|
}
|
package/package.json
CHANGED