open-agents-ai 0.184.65 → 0.184.67
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 +85 -22
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -11893,8 +11893,8 @@ async function loadTranscribeCli() {
|
|
|
11893
11893
|
}).trim();
|
|
11894
11894
|
const tcPath = join19(globalRoot, "transcribe-cli");
|
|
11895
11895
|
if (existsSync16(join19(tcPath, "dist", "index.js"))) {
|
|
11896
|
-
const { createRequire:
|
|
11897
|
-
const req =
|
|
11896
|
+
const { createRequire: createRequire6 } = await import("node:module");
|
|
11897
|
+
const req = createRequire6(import.meta.url);
|
|
11898
11898
|
_tcModule = req(join19(tcPath, "dist", "index.js"));
|
|
11899
11899
|
return _tcModule;
|
|
11900
11900
|
}
|
|
@@ -11907,8 +11907,8 @@ async function loadTranscribeCli() {
|
|
|
11907
11907
|
for (const ver of readdirSync23(nvmBase)) {
|
|
11908
11908
|
const tcPath = join19(nvmBase, ver, "lib", "node_modules", "transcribe-cli");
|
|
11909
11909
|
if (existsSync16(join19(tcPath, "dist", "index.js"))) {
|
|
11910
|
-
const { createRequire:
|
|
11911
|
-
const req =
|
|
11910
|
+
const { createRequire: createRequire6 } = await import("node:module");
|
|
11911
|
+
const req = createRequire6(import.meta.url);
|
|
11912
11912
|
_tcModule = req(join19(tcPath, "dist", "index.js"));
|
|
11913
11913
|
return _tcModule;
|
|
11914
11914
|
}
|
|
@@ -30101,8 +30101,8 @@ var init_listen = __esm({
|
|
|
30101
30101
|
/** Load transcribe-cli — bundled as a dependency of open-agents-ai. */
|
|
30102
30102
|
async loadTranscribeCli() {
|
|
30103
30103
|
try {
|
|
30104
|
-
const { createRequire:
|
|
30105
|
-
const req =
|
|
30104
|
+
const { createRequire: createRequire6 } = await import("node:module");
|
|
30105
|
+
const req = createRequire6(import.meta.url);
|
|
30106
30106
|
return req("transcribe-cli");
|
|
30107
30107
|
} catch {
|
|
30108
30108
|
}
|
|
@@ -30114,8 +30114,8 @@ var init_listen = __esm({
|
|
|
30114
30114
|
}).trim();
|
|
30115
30115
|
const tcPath = join48(globalRoot, "transcribe-cli");
|
|
30116
30116
|
if (existsSync32(join48(tcPath, "dist", "index.js"))) {
|
|
30117
|
-
const { createRequire:
|
|
30118
|
-
const req =
|
|
30117
|
+
const { createRequire: createRequire6 } = await import("node:module");
|
|
30118
|
+
const req = createRequire6(import.meta.url);
|
|
30119
30119
|
return req(join48(tcPath, "dist", "index.js"));
|
|
30120
30120
|
}
|
|
30121
30121
|
} catch {
|
|
@@ -30127,8 +30127,8 @@ var init_listen = __esm({
|
|
|
30127
30127
|
for (const ver of readdirSync23(nvmBase)) {
|
|
30128
30128
|
const tcPath = join48(nvmBase, ver, "lib", "node_modules", "transcribe-cli");
|
|
30129
30129
|
if (existsSync32(join48(tcPath, "dist", "index.js"))) {
|
|
30130
|
-
const { createRequire:
|
|
30131
|
-
const req =
|
|
30130
|
+
const { createRequire: createRequire6 } = await import("node:module");
|
|
30131
|
+
const req = createRequire6(import.meta.url);
|
|
30132
30132
|
return req(join48(tcPath, "dist", "index.js"));
|
|
30133
30133
|
}
|
|
30134
30134
|
}
|
|
@@ -50633,11 +50633,11 @@ async function handleUpdate(subcommand, ctx) {
|
|
|
50633
50633
|
}
|
|
50634
50634
|
let currentVersion = "0.0.0";
|
|
50635
50635
|
try {
|
|
50636
|
-
const { createRequire:
|
|
50636
|
+
const { createRequire: createRequire6 } = await import("node:module");
|
|
50637
50637
|
const { fileURLToPath: fileURLToPath15 } = await import("node:url");
|
|
50638
50638
|
const { dirname: dirname23, join: join76 } = await import("node:path");
|
|
50639
50639
|
const { existsSync: existsSync56 } = await import("node:fs");
|
|
50640
|
-
const req =
|
|
50640
|
+
const req = createRequire6(import.meta.url);
|
|
50641
50641
|
const thisDir = dirname23(fileURLToPath15(import.meta.url));
|
|
50642
50642
|
const candidates = [
|
|
50643
50643
|
join76(thisDir, "..", "package.json"),
|
|
@@ -51817,8 +51817,20 @@ var init_project_context = __esm({
|
|
|
51817
51817
|
});
|
|
51818
51818
|
|
|
51819
51819
|
// packages/memory/dist/db.js
|
|
51820
|
-
import
|
|
51820
|
+
import { createRequire as createRequire2 } from "node:module";
|
|
51821
|
+
function getDatabase() {
|
|
51822
|
+
if (_Database !== null)
|
|
51823
|
+
return _Database;
|
|
51824
|
+
try {
|
|
51825
|
+
const req = createRequire2(import.meta.url);
|
|
51826
|
+
_Database = req("better-sqlite3");
|
|
51827
|
+
} catch {
|
|
51828
|
+
throw new Error("better-sqlite3 is not available (native module build may have failed).\nTry: npm rebuild better-sqlite3\nMemory features (SQLite) are disabled until this is resolved.");
|
|
51829
|
+
}
|
|
51830
|
+
return _Database;
|
|
51831
|
+
}
|
|
51821
51832
|
function initDb(dbPath) {
|
|
51833
|
+
const Database = getDatabase();
|
|
51822
51834
|
const db = new Database(dbPath);
|
|
51823
51835
|
db.pragma("journal_mode = WAL");
|
|
51824
51836
|
db.pragma("foreign_keys = ON");
|
|
@@ -52040,9 +52052,11 @@ function runMigrations(db) {
|
|
|
52040
52052
|
ON memory_link (target_id);
|
|
52041
52053
|
`);
|
|
52042
52054
|
}
|
|
52055
|
+
var _Database;
|
|
52043
52056
|
var init_db = __esm({
|
|
52044
52057
|
"packages/memory/dist/db.js"() {
|
|
52045
52058
|
"use strict";
|
|
52059
|
+
_Database = null;
|
|
52046
52060
|
}
|
|
52047
52061
|
});
|
|
52048
52062
|
|
|
@@ -53071,6 +53085,8 @@ var init_banner = __esm({
|
|
|
53071
53085
|
_updateAvailable = null;
|
|
53072
53086
|
/** Global frame counter for pulse animation (survives frame resets) */
|
|
53073
53087
|
_pulseFrame = 0;
|
|
53088
|
+
/** Whether header zone is focused (Ctrl+Tab highlight) */
|
|
53089
|
+
_focused = false;
|
|
53074
53090
|
constructor() {
|
|
53075
53091
|
this.width = process.stdout.columns ?? 80;
|
|
53076
53092
|
}
|
|
@@ -53082,6 +53098,10 @@ var init_banner = __esm({
|
|
|
53082
53098
|
clearUpdateAvailable() {
|
|
53083
53099
|
this._updateAvailable = null;
|
|
53084
53100
|
}
|
|
53101
|
+
/** Set header focus state for Ctrl+Tab visual highlight */
|
|
53102
|
+
setFocused(focused) {
|
|
53103
|
+
this._focused = focused;
|
|
53104
|
+
}
|
|
53085
53105
|
/** Whether an update badge is showing */
|
|
53086
53106
|
get hasUpdate() {
|
|
53087
53107
|
return this._updateAvailable !== null;
|
|
@@ -53183,6 +53203,11 @@ var init_banner = __esm({
|
|
|
53183
53203
|
buf += "\x1B]8;;\x07";
|
|
53184
53204
|
}
|
|
53185
53205
|
}
|
|
53206
|
+
if (this._focused) {
|
|
53207
|
+
for (let r = 0; r < this.rows; r++) {
|
|
53208
|
+
buf += `\x1B[${r + 1};1H\x1B[38;5;178m\x1B[48;5;234m\u258E\x1B[0m`;
|
|
53209
|
+
}
|
|
53210
|
+
}
|
|
53186
53211
|
if (this._updateAvailable && this.currentDesign?.type === "default") {
|
|
53187
53212
|
this._pulseFrame++;
|
|
53188
53213
|
const t = (Math.sin(this._pulseFrame * 0.16) + 1) / 2;
|
|
@@ -58873,7 +58898,7 @@ var init_braille_spinner = __esm({
|
|
|
58873
58898
|
* high SNR produces smooth coherent waves (clean signal propagation).
|
|
58874
58899
|
* - Dream mode: slower, deeper breathing with warm amber color override.
|
|
58875
58900
|
*/
|
|
58876
|
-
render(width) {
|
|
58901
|
+
render(width, hintColor) {
|
|
58877
58902
|
const m = this._metrics;
|
|
58878
58903
|
const useExtended = m.isStreaming || m.isDreaming || m.mood !== "neutral";
|
|
58879
58904
|
const wave = useExtended ? WAVE_EXT : WAVE;
|
|
@@ -58941,7 +58966,7 @@ var init_braille_spinner = __esm({
|
|
|
58941
58966
|
ch = sparseChars[Math.floor(scatter * sparseChars.length * 3.33) % sparseChars.length];
|
|
58942
58967
|
}
|
|
58943
58968
|
}
|
|
58944
|
-
const color = activeColorRamp[Math.min(scaledIdx, activeColorRamp.length - 1)];
|
|
58969
|
+
const color = hintColor ?? activeColorRamp[Math.min(scaledIdx, activeColorRamp.length - 1)];
|
|
58945
58970
|
if (color !== lastColor) {
|
|
58946
58971
|
buf += `\x1B[38;5;${color}m`;
|
|
58947
58972
|
lastColor = color;
|
|
@@ -59855,6 +59880,10 @@ var init_status_bar = __esm({
|
|
|
59855
59880
|
_countdown = 0;
|
|
59856
59881
|
_recBlink = true;
|
|
59857
59882
|
_recBlinkTimer = null;
|
|
59883
|
+
/** Current focus zone for Ctrl+Tab cycling */
|
|
59884
|
+
_focusedZone = "footer";
|
|
59885
|
+
/** Callback to notify header (banner) of focus changes */
|
|
59886
|
+
_headerFocusHandler = null;
|
|
59858
59887
|
/** Whether agent is actively processing (braille animation) */
|
|
59859
59888
|
_processing = false;
|
|
59860
59889
|
_brailleSpinner = new BrailleSpinner();
|
|
@@ -60425,6 +60454,25 @@ var init_status_bar = __esm({
|
|
|
60425
60454
|
get isStreaming() {
|
|
60426
60455
|
return this.writeDepth > 0;
|
|
60427
60456
|
}
|
|
60457
|
+
/** Get current focused zone */
|
|
60458
|
+
get focusedZone() {
|
|
60459
|
+
return this._focusedZone;
|
|
60460
|
+
}
|
|
60461
|
+
/** Set callback for header focus changes (wired by interactive.ts to banner) */
|
|
60462
|
+
setHeaderFocusHandler(handler) {
|
|
60463
|
+
this._headerFocusHandler = handler;
|
|
60464
|
+
}
|
|
60465
|
+
/** Cycle focus: footer → header → content → footer */
|
|
60466
|
+
cycleFocus() {
|
|
60467
|
+
const order = ["footer", "header", "content"];
|
|
60468
|
+
const idx = order.indexOf(this._focusedZone);
|
|
60469
|
+
this._focusedZone = order[(idx + 1) % order.length];
|
|
60470
|
+
this._headerFocusHandler?.(this._focusedZone === "header");
|
|
60471
|
+
if (this.active) {
|
|
60472
|
+
this._bannerRefresh?.();
|
|
60473
|
+
this.renderFooterAndPositionInput();
|
|
60474
|
+
}
|
|
60475
|
+
}
|
|
60428
60476
|
/** Set/get COHERE participation state — shows 🌐 in metrics when active */
|
|
60429
60477
|
setCohereActive(active) {
|
|
60430
60478
|
this._cohereActive = active;
|
|
@@ -61061,6 +61109,13 @@ ${CONTENT_BG_SEQ}`);
|
|
|
61061
61109
|
const compactOrder = [];
|
|
61062
61110
|
let modelSectionIdx = -1;
|
|
61063
61111
|
let versionSectionIdx = -1;
|
|
61112
|
+
{
|
|
61113
|
+
const zoneLabels = { header: "hdr", content: "cnt", footer: "ftr" };
|
|
61114
|
+
const zoneLabel = zoneLabels[this._focusedZone];
|
|
61115
|
+
const focusStr = pastel2(TEXT_PRIMARY, `\u258E${zoneLabel}`);
|
|
61116
|
+
const focusW = 1 + zoneLabel.length;
|
|
61117
|
+
sections.push({ expanded: focusStr, compact: focusStr, expandedW: focusW, compactW: focusW, empty: false });
|
|
61118
|
+
}
|
|
61064
61119
|
if (this._cohereActive) {
|
|
61065
61120
|
const cohereExpanded = "\x1B[38;5;214m\u{1F310}\x1B[0m";
|
|
61066
61121
|
sections.push({ expanded: cohereExpanded, compact: cohereExpanded, expandedW: 2, compactW: 2, empty: false });
|
|
@@ -61600,7 +61655,7 @@ ${CONTENT_BG_SEQ}`);
|
|
|
61600
61655
|
*/
|
|
61601
61656
|
buildBufferContent(width) {
|
|
61602
61657
|
if (this._processing && this._brailleSpinner.isRunning) {
|
|
61603
|
-
return this._brailleSpinner.render(width);
|
|
61658
|
+
return this._brailleSpinner.render(width, PANEL_BG + 1);
|
|
61604
61659
|
}
|
|
61605
61660
|
return "";
|
|
61606
61661
|
}
|
|
@@ -61664,6 +61719,10 @@ ${CONTENT_BG_SEQ}`);
|
|
|
61664
61719
|
onCtrlO();
|
|
61665
61720
|
return;
|
|
61666
61721
|
}
|
|
61722
|
+
if (key?.ctrl && key?.name === "tab" || s === "\x1B[9;5u") {
|
|
61723
|
+
self.cycleFocus();
|
|
61724
|
+
return;
|
|
61725
|
+
}
|
|
61667
61726
|
if (key?.ctrl && key?.shift && key?.name === "b") {
|
|
61668
61727
|
self.armBlockSelection();
|
|
61669
61728
|
return;
|
|
@@ -62057,7 +62116,7 @@ __export(serve_exports, {
|
|
|
62057
62116
|
});
|
|
62058
62117
|
import * as http from "node:http";
|
|
62059
62118
|
import * as https from "node:https";
|
|
62060
|
-
import { createRequire as
|
|
62119
|
+
import { createRequire as createRequire3 } from "node:module";
|
|
62061
62120
|
import { fileURLToPath as fileURLToPath12 } from "node:url";
|
|
62062
62121
|
import { dirname as dirname20, join as join69, resolve as resolve31 } from "node:path";
|
|
62063
62122
|
import { spawn as spawn20 } from "node:child_process";
|
|
@@ -62065,7 +62124,7 @@ import { mkdirSync as mkdirSync26, writeFileSync as writeFileSync25, readFileSyn
|
|
|
62065
62124
|
import { randomBytes as randomBytes16 } from "node:crypto";
|
|
62066
62125
|
function getVersion3() {
|
|
62067
62126
|
try {
|
|
62068
|
-
const require2 =
|
|
62127
|
+
const require2 = createRequire3(import.meta.url);
|
|
62069
62128
|
const thisDir = dirname20(fileURLToPath12(import.meta.url));
|
|
62070
62129
|
const candidates = [
|
|
62071
62130
|
join69(thisDir, "..", "package.json"),
|
|
@@ -63485,7 +63544,7 @@ import * as readline2 from "node:readline";
|
|
|
63485
63544
|
import { Writable } from "node:stream";
|
|
63486
63545
|
import { cwd } from "node:process";
|
|
63487
63546
|
import { resolve as resolve32, join as join70, dirname as dirname21, extname as extname11 } from "node:path";
|
|
63488
|
-
import { createRequire as
|
|
63547
|
+
import { createRequire as createRequire4 } from "node:module";
|
|
63489
63548
|
import { fileURLToPath as fileURLToPath13 } from "node:url";
|
|
63490
63549
|
import { readFileSync as readFileSync42, writeFileSync as writeFileSync26, appendFileSync as appendFileSync4, rmSync as rmSync3, readdirSync as readdirSync21, mkdirSync as mkdirSync27 } from "node:fs";
|
|
63491
63550
|
import { existsSync as existsSync53 } from "node:fs";
|
|
@@ -63506,7 +63565,7 @@ function formatTimeAgo(date) {
|
|
|
63506
63565
|
}
|
|
63507
63566
|
function getVersion4() {
|
|
63508
63567
|
try {
|
|
63509
|
-
const require2 =
|
|
63568
|
+
const require2 = createRequire4(import.meta.url);
|
|
63510
63569
|
const thisDir = dirname21(fileURLToPath13(import.meta.url));
|
|
63511
63570
|
const candidates = [
|
|
63512
63571
|
join70(thisDir, "..", "package.json"),
|
|
@@ -64947,6 +65006,10 @@ Review its full output in the [${id}] tab or via full_sub_agent(action='output',
|
|
|
64947
65006
|
statusBar.setBannerRefresh(() => {
|
|
64948
65007
|
banner.renderCurrentFrame();
|
|
64949
65008
|
});
|
|
65009
|
+
statusBar.setHeaderFocusHandler((focused) => {
|
|
65010
|
+
banner.setFocused(focused);
|
|
65011
|
+
banner.renderCurrentFrame();
|
|
65012
|
+
});
|
|
64950
65013
|
const { onOverlayLeave: onOverlayLeave2 } = await Promise.resolve().then(() => (init_overlay_lock(), overlay_lock_exports));
|
|
64951
65014
|
onOverlayLeave2(() => {
|
|
64952
65015
|
banner.renderCurrentFrame();
|
|
@@ -69265,7 +69328,7 @@ init_config();
|
|
|
69265
69328
|
init_output();
|
|
69266
69329
|
init_updater();
|
|
69267
69330
|
import { parseArgs as nodeParseArgs2 } from "node:util";
|
|
69268
|
-
import { createRequire as
|
|
69331
|
+
import { createRequire as createRequire5 } from "node:module";
|
|
69269
69332
|
import { fileURLToPath as fileURLToPath14 } from "node:url";
|
|
69270
69333
|
import { dirname as dirname22, join as join75 } from "node:path";
|
|
69271
69334
|
|
|
@@ -69373,7 +69436,7 @@ init_spinner();
|
|
|
69373
69436
|
init_output();
|
|
69374
69437
|
function getVersion5() {
|
|
69375
69438
|
try {
|
|
69376
|
-
const require2 =
|
|
69439
|
+
const require2 = createRequire5(import.meta.url);
|
|
69377
69440
|
const pkgPath = join75(dirname22(fileURLToPath14(import.meta.url)), "..", "package.json");
|
|
69378
69441
|
const pkg = require2(pkgPath);
|
|
69379
69442
|
return pkg.version;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "open-agents-ai",
|
|
3
|
-
"version": "0.184.
|
|
3
|
+
"version": "0.184.67",
|
|
4
4
|
"description": "AI coding agent powered by open-source models (Ollama/vLLM) — interactive TUI with agentic tool-calling loop",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -76,7 +76,6 @@
|
|
|
76
76
|
},
|
|
77
77
|
"dependencies": {
|
|
78
78
|
"aiwg": "^2026.3.2",
|
|
79
|
-
"better-sqlite3": "^11.7.0",
|
|
80
79
|
"glob": "^11.0.0",
|
|
81
80
|
"ignore": "^6.0.2",
|
|
82
81
|
"nats.ws": "^1.30.3",
|
|
@@ -84,6 +83,7 @@
|
|
|
84
83
|
"zod": "^3.24.1"
|
|
85
84
|
},
|
|
86
85
|
"optionalDependencies": {
|
|
86
|
+
"better-sqlite3": "^11.7.0",
|
|
87
87
|
"moondream": "^0.2.0",
|
|
88
88
|
"neovim": "^5.3.0",
|
|
89
89
|
"node-pty": "^1.0.0",
|