open-agents-ai 0.187.108 → 0.187.110
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
CHANGED
|
@@ -3886,8 +3886,8 @@ var init_explore_tools = __esm({
|
|
|
3886
3886
|
},
|
|
3887
3887
|
required: []
|
|
3888
3888
|
};
|
|
3889
|
-
/** Set of currently unlocked tool names (
|
|
3890
|
-
unlockedTools =
|
|
3889
|
+
/** Set of currently unlocked tool names (now defaults to ALL tools) */
|
|
3890
|
+
unlockedTools = new Set(Object.keys(TOOL_CATALOG));
|
|
3891
3891
|
/** Callback to signal tool unlock to the runner */
|
|
3892
3892
|
onUnlock;
|
|
3893
3893
|
/**
|
|
@@ -3917,7 +3917,7 @@ var init_explore_tools = __esm({
|
|
|
3917
3917
|
if (this.unlockedTools.has(enableName)) {
|
|
3918
3918
|
return {
|
|
3919
3919
|
success: true,
|
|
3920
|
-
output: `Tool '${enableName}' is already
|
|
3920
|
+
output: `Tool '${enableName}' is already available. You can use it now.`,
|
|
3921
3921
|
durationMs: performance.now() - start2
|
|
3922
3922
|
};
|
|
3923
3923
|
}
|
|
@@ -3934,7 +3934,7 @@ var init_explore_tools = __esm({
|
|
|
3934
3934
|
}
|
|
3935
3935
|
return {
|
|
3936
3936
|
success: true,
|
|
3937
|
-
output: `
|
|
3937
|
+
output: `Tool '${enableName}' is now available.`,
|
|
3938
3938
|
durationMs: performance.now() - start2
|
|
3939
3939
|
};
|
|
3940
3940
|
}
|
|
@@ -3958,27 +3958,22 @@ var init_explore_tools = __esm({
|
|
|
3958
3958
|
const lines2 = [`Tools matching "${searchQuery}":
|
|
3959
3959
|
`];
|
|
3960
3960
|
for (const [name10, desc] of matches.slice(0, 8)) {
|
|
3961
|
-
|
|
3962
|
-
lines2.push(` ${name10}: ${desc}${status}`);
|
|
3961
|
+
lines2.push(` ${name10}: ${desc}`);
|
|
3963
3962
|
}
|
|
3964
3963
|
lines2.push(`
|
|
3965
|
-
|
|
3964
|
+
Call the tools above directly; all tools are available by default.`);
|
|
3966
3965
|
return {
|
|
3967
3966
|
success: true,
|
|
3968
3967
|
output: lines2.join("\n"),
|
|
3969
3968
|
durationMs: performance.now() - start2
|
|
3970
3969
|
};
|
|
3971
3970
|
}
|
|
3972
|
-
const lines = ["Available tools (
|
|
3971
|
+
const lines = ["Available tools (all tools are available by default):\n"];
|
|
3973
3972
|
for (const [name10, desc] of Object.entries(TOOL_CATALOG)) {
|
|
3974
|
-
|
|
3975
|
-
lines.push(` ${name10}: ${desc}${status}`);
|
|
3973
|
+
lines.push(` ${name10}: ${desc}`);
|
|
3976
3974
|
}
|
|
3977
3975
|
lines.push(`
|
|
3978
|
-
${this.unlockedTools.size} of ${Object.keys(TOOL_CATALOG).length} tools currently unlocked.`);
|
|
3979
|
-
lines.push(`
|
|
3980
3976
|
Examples:`);
|
|
3981
|
-
lines.push(` explore_tools({enable: 'grep_search'})`);
|
|
3982
3977
|
lines.push(` explore_tools({search: 'search files'})`);
|
|
3983
3978
|
return {
|
|
3984
3979
|
success: true,
|
|
@@ -278956,6 +278951,10 @@ var init_status_bar = __esm({
|
|
|
278956
278951
|
_contentScrollOffset = 0;
|
|
278957
278952
|
// 0 = live (bottom), >0 = scrolled back
|
|
278958
278953
|
_contentMaxLines = 1e4;
|
|
278954
|
+
/** Auto-scroll to live when new content arrives (disabled when user scrolls back) */
|
|
278955
|
+
_autoScroll = true;
|
|
278956
|
+
/** Cached click region for the spacer button */
|
|
278957
|
+
_scrollBtnRegion = null;
|
|
278959
278958
|
stdinHooked = false;
|
|
278960
278959
|
/** COHERE distributed cognitive commons active flag */
|
|
278961
278960
|
_cohereActive = false;
|
|
@@ -279168,13 +279167,23 @@ var init_status_bar = __esm({
|
|
|
279168
279167
|
});
|
|
279169
279168
|
}
|
|
279170
279169
|
const sysItems = [];
|
|
279170
|
+
const trunc3 = (s2) => {
|
|
279171
|
+
const parts = s2.trim().split(/\s+/).slice(0, 3);
|
|
279172
|
+
return parts.join(" ");
|
|
279173
|
+
};
|
|
279174
|
+
if (this._activeViewId !== "main") {
|
|
279175
|
+
const mainLabel = ` \u21A9 main `;
|
|
279176
|
+
const mainColored = `\x1B[38;5;110m${mainLabel}\x1B[0m`;
|
|
279177
|
+
sysItems.push({ render: () => mainColored + " ", w: mainLabel.length + 1 });
|
|
279178
|
+
}
|
|
279171
279179
|
if (this._agentViews.size > 1) {
|
|
279172
279180
|
for (const view of this._agentViews.values()) {
|
|
279173
279181
|
if (view.id === "main" && this._activeViewId === "main")
|
|
279174
279182
|
continue;
|
|
279175
279183
|
const icon = view.status === "running" ? "\u25CF" : view.status === "completed" ? "\u2713" : view.status === "failed" ? "\u2717" : "\u25CB";
|
|
279176
|
-
const
|
|
279177
|
-
|
|
279184
|
+
const base3 = ` ${trunc3(view.label)} ${icon} `;
|
|
279185
|
+
const colored = view.id === this._activeViewId ? `\x1B[1;38;5;219m${base3}\x1B[0m` : `\x1B[38;5;213m${base3}\x1B[0m`;
|
|
279186
|
+
sysItems.push({ render: () => renderBtn(`view:${view.id}`, colored) + " ", w: base3.length + 1 });
|
|
279178
279187
|
}
|
|
279179
279188
|
} else {
|
|
279180
279189
|
sysItems.push({ render: () => `\x1B[38;5;${TEXT_DIM}m no sub-agents `, w: 14 });
|
|
@@ -279237,7 +279246,55 @@ var init_status_bar = __esm({
|
|
|
279237
279246
|
const panel = this._headerPanels[this._headerPanelIndex];
|
|
279238
279247
|
if (!panel)
|
|
279239
279248
|
return;
|
|
279240
|
-
|
|
279249
|
+
let content = panel.render(innerW);
|
|
279250
|
+
this._sysClickZones = [];
|
|
279251
|
+
if (String(this.currentHeaderPanel).startsWith("sys-")) {
|
|
279252
|
+
const zones = [];
|
|
279253
|
+
const trunc3 = (s2) => s2.trim().split(/\s+/).slice(0, 3).join(" ");
|
|
279254
|
+
if (this._activeViewId !== "main") {
|
|
279255
|
+
const mainLabel = ` \u21A9 main `;
|
|
279256
|
+
zones.push({ w: mainLabel.length + 1, id: "main", render: () => "" });
|
|
279257
|
+
}
|
|
279258
|
+
if (this._agentViews.size > 1) {
|
|
279259
|
+
for (const view of this._agentViews.values()) {
|
|
279260
|
+
if (view.id === "main" && this._activeViewId === "main")
|
|
279261
|
+
continue;
|
|
279262
|
+
const icon = view.status === "running" ? "\u25CF" : view.status === "completed" ? "\u2713" : view.status === "failed" ? "\u2717" : "\u25CB";
|
|
279263
|
+
const base3 = ` ${trunc3(view.label)} ${icon} `;
|
|
279264
|
+
zones.push({ w: base3.length + 1, id: view.id, render: () => "" });
|
|
279265
|
+
}
|
|
279266
|
+
} else {
|
|
279267
|
+
zones.push({ w: 14, render: () => "" });
|
|
279268
|
+
}
|
|
279269
|
+
zones.push({ w: 2, render: () => "" });
|
|
279270
|
+
const voiceLabel = this._voiceActive ? ` ${this._voiceModelId || "voice"} ` : " voice ";
|
|
279271
|
+
zones.push({ w: voiceLabel.length + 2, render: () => "" });
|
|
279272
|
+
zones.push({ w: 9, render: () => "" });
|
|
279273
|
+
let pages = [];
|
|
279274
|
+
let cur = [];
|
|
279275
|
+
let used = 0;
|
|
279276
|
+
for (const z16 of zones) {
|
|
279277
|
+
if (used + z16.w > innerW && cur.length > 0) {
|
|
279278
|
+
pages.push(cur);
|
|
279279
|
+
cur = [];
|
|
279280
|
+
used = 0;
|
|
279281
|
+
}
|
|
279282
|
+
cur.push(z16);
|
|
279283
|
+
used += z16.w;
|
|
279284
|
+
}
|
|
279285
|
+
if (cur.length > 0)
|
|
279286
|
+
pages.push(cur);
|
|
279287
|
+
const idx = parseInt(String(this.currentHeaderPanel).split("-")[1] || "0", 10) || 0;
|
|
279288
|
+
const page2 = pages[Math.max(0, Math.min(idx, pages.length - 1))] ?? [];
|
|
279289
|
+
let col = 4;
|
|
279290
|
+
const clickZones = [];
|
|
279291
|
+
for (const z16 of page2) {
|
|
279292
|
+
if (z16.id)
|
|
279293
|
+
clickZones.push({ start: col, end: col + z16.w - 2, id: z16.id });
|
|
279294
|
+
col += z16.w;
|
|
279295
|
+
}
|
|
279296
|
+
this._sysClickZones = clickZones;
|
|
279297
|
+
}
|
|
279241
279298
|
const hasMultiple = this._headerPanels.length > 1;
|
|
279242
279299
|
const leftArrow = hasMultiple ? `\x1B]8;;oa-cmd:header-prev\x07\x1B[38;5;${TEXT_DIM}m${this._headerPanelIndex > 0 ? "\u25C0" : " "}\x1B]8;;\x07` : " ";
|
|
279243
279300
|
const rightArrow = hasMultiple ? `\x1B]8;;oa-cmd:header-next\x07\x1B[38;5;${TEXT_DIM}m${this._headerPanelIndex < this._headerPanels.length - 1 ? "\u25B6" : " "}\x1B]8;;\x07` : " ";
|
|
@@ -280095,6 +280152,22 @@ var init_status_bar = __esm({
|
|
|
280095
280152
|
return;
|
|
280096
280153
|
}
|
|
280097
280154
|
if (row < this.scrollRegionTop) {
|
|
280155
|
+
const hdrRow = layout().headerContent;
|
|
280156
|
+
if (type === "press" && row === hdrRow && String(this.currentHeaderPanel).startsWith("sys-")) {
|
|
280157
|
+
const zones = this._sysClickZones ?? [];
|
|
280158
|
+
const hit = zones.find((z16) => col >= z16.start && col <= z16.end);
|
|
280159
|
+
if (hit) {
|
|
280160
|
+
this.switchToView(hit.id);
|
|
280161
|
+
if (hit.id !== "main") {
|
|
280162
|
+
this.beginContentWrite();
|
|
280163
|
+
process.stdout.write(`
|
|
280164
|
+
\x1B[38;5;245mpress Esc to return to primary interface\x1B[0m
|
|
280165
|
+
`);
|
|
280166
|
+
this.endContentWrite();
|
|
280167
|
+
}
|
|
280168
|
+
return;
|
|
280169
|
+
}
|
|
280170
|
+
}
|
|
280098
280171
|
const cmd = hitTestHeaderButton(row, col, w);
|
|
280099
280172
|
if (type === "press" && cmd) {
|
|
280100
280173
|
if (cmd === "header-prev") {
|
|
@@ -280124,6 +280197,12 @@ var init_status_bar = __esm({
|
|
|
280124
280197
|
}
|
|
280125
280198
|
return;
|
|
280126
280199
|
}
|
|
280200
|
+
if (type === "press" && this._scrollBtnRegion && row === this._scrollBtnRegion.row) {
|
|
280201
|
+
if (col >= this._scrollBtnRegion.start && col <= this._scrollBtnRegion.end) {
|
|
280202
|
+
this.jumpToLive();
|
|
280203
|
+
return;
|
|
280204
|
+
}
|
|
280205
|
+
}
|
|
280127
280206
|
const pos = this.rowPositions(termRows());
|
|
280128
280207
|
if (type === "press" && pos.tabBarRow > 0 && row === pos.tabBarRow) {
|
|
280129
280208
|
const viewId = this.hitTestTabBar(col);
|
|
@@ -280178,7 +280257,8 @@ var init_status_bar = __esm({
|
|
|
280178
280257
|
scrollOffset: 0,
|
|
280179
280258
|
status: "running",
|
|
280180
280259
|
taskSummary: taskSummary ?? "",
|
|
280181
|
-
startedAt: Date.now()
|
|
280260
|
+
startedAt: Date.now(),
|
|
280261
|
+
colorCode: this.nextAgentColor()
|
|
280182
280262
|
});
|
|
280183
280263
|
if (this.active) {
|
|
280184
280264
|
this.applyScrollRegion();
|
|
@@ -280230,7 +280310,9 @@ var init_status_bar = __esm({
|
|
|
280230
280310
|
if (!view)
|
|
280231
280311
|
return;
|
|
280232
280312
|
const lines = text.split("\n");
|
|
280233
|
-
view.
|
|
280313
|
+
const color = view.colorCode ?? 213;
|
|
280314
|
+
const colored = lines.map((l2) => l2.length ? `\x1B[38;5;${color}m${l2}\x1B[0m` : l2);
|
|
280315
|
+
view.contentLines.push(...colored);
|
|
280234
280316
|
if (view.contentLines.length > this._contentMaxLines) {
|
|
280235
280317
|
view.contentLines.splice(0, view.contentLines.length - this._contentMaxLines);
|
|
280236
280318
|
}
|
|
@@ -280256,6 +280338,14 @@ var init_status_bar = __esm({
|
|
|
280256
280338
|
get hasSubAgents() {
|
|
280257
280339
|
return this._agentViews.size > 1;
|
|
280258
280340
|
}
|
|
280341
|
+
// Distinct color assignment per sub-agent for consistent labeling
|
|
280342
|
+
_agentColorIndex = 0;
|
|
280343
|
+
_agentColorPalette = [213, 183, 147, 219, 141, 177, 111, 186];
|
|
280344
|
+
nextAgentColor() {
|
|
280345
|
+
const code8 = this._agentColorPalette[this._agentColorIndex % this._agentColorPalette.length];
|
|
280346
|
+
this._agentColorIndex++;
|
|
280347
|
+
return code8;
|
|
280348
|
+
}
|
|
280259
280349
|
// ── Agent Tab Bar (WO-NA2) ───────────────────────────────────
|
|
280260
280350
|
/** Refresh agent tabs in header — delegates to the header panel system.
|
|
280261
280351
|
* If currently on the "systems" panel, re-render to show updated agent list. */
|
|
@@ -280516,6 +280606,8 @@ ${CONTENT_BG_SEQ}`);
|
|
|
280516
280606
|
this._contentScrollOffset = Math.min(this._contentScrollOffset, Math.max(0, this._contentLines.length - this.contentHeight));
|
|
280517
280607
|
}
|
|
280518
280608
|
}
|
|
280609
|
+
if (this._autoScroll)
|
|
280610
|
+
this._contentScrollOffset = 0;
|
|
280519
280611
|
}
|
|
280520
280612
|
/**
|
|
280521
280613
|
* Remove the last N lines from the content scrollback buffer and repaint.
|
|
@@ -280543,6 +280635,7 @@ ${CONTENT_BG_SEQ}`);
|
|
|
280543
280635
|
this._textSelection.clear();
|
|
280544
280636
|
this.cancelMouseIdle();
|
|
280545
280637
|
this.enableMouseTracking();
|
|
280638
|
+
this._autoScroll = false;
|
|
280546
280639
|
const maxOffset = Math.max(0, this._contentLines.length - this.contentHeight);
|
|
280547
280640
|
this._contentScrollOffset = Math.min(maxOffset, this._contentScrollOffset + lines);
|
|
280548
280641
|
this.repaintContent();
|
|
@@ -280557,6 +280650,8 @@ ${CONTENT_BG_SEQ}`);
|
|
|
280557
280650
|
this.enableMouseTracking();
|
|
280558
280651
|
this._contentScrollOffset = Math.max(0, this._contentScrollOffset - lines);
|
|
280559
280652
|
this.repaintContent();
|
|
280653
|
+
if (this._contentScrollOffset === 0)
|
|
280654
|
+
this._autoScroll = true;
|
|
280560
280655
|
this.scheduleMouseIdle();
|
|
280561
280656
|
}
|
|
280562
280657
|
/** Page up — scroll by visible height */
|
|
@@ -280570,6 +280665,7 @@ ${CONTENT_BG_SEQ}`);
|
|
|
280570
280665
|
/** Jump to live (End key) */
|
|
280571
280666
|
jumpToLive() {
|
|
280572
280667
|
this._contentScrollOffset = 0;
|
|
280668
|
+
this._autoScroll = true;
|
|
280573
280669
|
this.repaintContent();
|
|
280574
280670
|
}
|
|
280575
280671
|
/**
|
|
@@ -280596,6 +280692,19 @@ ${CONTENT_BG_SEQ}`);
|
|
|
280596
280692
|
line = line.replace(/\x1B\[0m/g, `\x1B[0m${CONTENT_BG_SEQ}`);
|
|
280597
280693
|
buf += `\x1B[${screenRow};1H${CONTENT_BG_SEQ}\x1B[2K${line}`;
|
|
280598
280694
|
}
|
|
280695
|
+
const L = layout();
|
|
280696
|
+
const spacerRow = L.footerBoxTop - 1;
|
|
280697
|
+
if (spacerRow >= this.scrollRegionTop && spacerRow < this.scrollRegionTop + h + 2) {
|
|
280698
|
+
buf += `\x1B[${spacerRow};1H${CONTENT_BG_SEQ}\x1B[2K`;
|
|
280699
|
+
if (this._contentScrollOffset > 0) {
|
|
280700
|
+
const label = " \u2193 scroll to bottom ";
|
|
280701
|
+
const startCol = 3;
|
|
280702
|
+
buf += `\x1B[${spacerRow};${startCol}H\x1B[48;5;236m\x1B[38;5;229m${label}\x1B[0m${CONTENT_BG_SEQ}`;
|
|
280703
|
+
this._scrollBtnRegion = { row: spacerRow, start: startCol, end: startCol + label.length - 1 };
|
|
280704
|
+
} else {
|
|
280705
|
+
this._scrollBtnRegion = null;
|
|
280706
|
+
}
|
|
280707
|
+
}
|
|
280599
280708
|
if (this._contentScrollOffset > 0) {
|
|
280600
280709
|
const linesAbove = startIdx;
|
|
280601
280710
|
const pct = totalLines > 0 ? Math.round((startIdx + h) / totalLines * 100) : 100;
|
|
@@ -280617,7 +280726,7 @@ ${CONTENT_BG_SEQ}`);
|
|
|
280617
280726
|
if (!this.active)
|
|
280618
280727
|
return;
|
|
280619
280728
|
const L = layout();
|
|
280620
|
-
this.termWrite(`\x1B[${L.footerInput};${this.promptWidth +
|
|
280729
|
+
this.termWrite(`\x1B[${L.footerInput};${this.promptWidth + 2}H\x1B[?25h`);
|
|
280621
280730
|
}
|
|
280622
280731
|
/** Strip ANSI escape codes to measure visible character width */
|
|
280623
280732
|
static visWidth(s2) {
|
|
@@ -281068,7 +281177,8 @@ ${CONTENT_BG_SEQ}`);
|
|
|
281068
281177
|
return {
|
|
281069
281178
|
lines,
|
|
281070
281179
|
cursorRow: cursorLineIdx,
|
|
281071
|
-
|
|
281180
|
+
// +2 accounts for the left box border (│ at col 1) and the column after it
|
|
281181
|
+
cursorCol: this.promptWidth + cursorColInLine + 2
|
|
281072
281182
|
};
|
|
281073
281183
|
}
|
|
281074
281184
|
/** Set the DECSTBM scroll region to exclude the dynamic footer rows */
|
|
@@ -298170,12 +298280,15 @@ var init_stream_renderer = __esm({
|
|
|
298170
298280
|
/** Track whether we've shown the thinking indicator */
|
|
298171
298281
|
thinkingIndicatorShown = false;
|
|
298172
298282
|
thinkingTokenCount = 0;
|
|
298283
|
+
thinkingCache = "";
|
|
298173
298284
|
write(token, kind) {
|
|
298174
298285
|
if (!this.enabled)
|
|
298175
298286
|
return;
|
|
298176
298287
|
this.tokenCount++;
|
|
298177
298288
|
if (kind === "thinking") {
|
|
298178
298289
|
this.thinkingTokenCount++;
|
|
298290
|
+
if (token)
|
|
298291
|
+
this.thinkingCache += token;
|
|
298179
298292
|
if (this.showThinking) {
|
|
298180
298293
|
for (const char of token) {
|
|
298181
298294
|
this.lineBuffer += char;
|
|
@@ -298289,6 +298402,10 @@ var init_stream_renderer = __esm({
|
|
|
298289
298402
|
const effectiveKind = this.inThinkBlock ? "thinking" : kind;
|
|
298290
298403
|
this.writeHighlighted(line, effectiveKind);
|
|
298291
298404
|
}
|
|
298405
|
+
/** Return accumulated thinking content so far */
|
|
298406
|
+
dumpThinkingCache() {
|
|
298407
|
+
return this.thinkingCache;
|
|
298408
|
+
}
|
|
298292
298409
|
/**
|
|
298293
298410
|
* Write a highlighted line/fragment to stdout.
|
|
298294
298411
|
*/
|
|
@@ -310434,11 +310551,30 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
|
|
|
310434
310551
|
} else {
|
|
310435
310552
|
const current = streamRenderer.getThinkingVisible?.() ?? false;
|
|
310436
310553
|
streamRenderer.setThinkingVisible?.(!current);
|
|
310437
|
-
if (statusBar.isActive
|
|
310554
|
+
if (statusBar.isActive) {
|
|
310438
310555
|
statusBar.beginContentWrite();
|
|
310439
|
-
|
|
310556
|
+
if (!current) {
|
|
310557
|
+
const dump = streamRenderer.dumpThinkingCache?.() || "";
|
|
310558
|
+
if (dump.trim()) {
|
|
310559
|
+
process.stdout.write(`
|
|
310560
|
+
${c3.dim(c3.italic("[expanded thinking]"))}
|
|
310561
|
+
`);
|
|
310562
|
+
for (const line of dump.split("\n")) {
|
|
310563
|
+
if (line.trim().length === 0)
|
|
310564
|
+
continue;
|
|
310565
|
+
process.stdout.write(" " + c3.dim(c3.italic(line)) + "\n");
|
|
310566
|
+
}
|
|
310567
|
+
} else {
|
|
310568
|
+
renderInfo("Thinking visibility: shown");
|
|
310569
|
+
}
|
|
310570
|
+
} else {
|
|
310571
|
+
renderInfo("Thinking visibility: hidden");
|
|
310572
|
+
}
|
|
310440
310573
|
statusBar.endContentWrite();
|
|
310441
310574
|
}
|
|
310575
|
+
statusBar.cancelMouseIdle();
|
|
310576
|
+
statusBar.enableMouseTracking();
|
|
310577
|
+
statusBar.refreshHeaderContent();
|
|
310442
310578
|
}
|
|
310443
310579
|
});
|
|
310444
310580
|
let commandCtxRef = null;
|
|
@@ -312858,7 +312994,11 @@ Summarize or analyze this transcription as appropriate.`;
|
|
|
312858
312994
|
}
|
|
312859
312995
|
const inputLineCount = fullInput.split("\n").length;
|
|
312860
312996
|
const displayText = isImage ? `[Image: ${cleanPath}]` : inputLineCount > 1 ? `[pasted ${inputLineCount} lines]` : fullInput;
|
|
312861
|
-
writeContent(() =>
|
|
312997
|
+
writeContent(() => {
|
|
312998
|
+
renderUserMessage(displayText);
|
|
312999
|
+
const preview = fullInput.length > 160 ? fullInput.slice(0, 160) + "\u2026" : fullInput;
|
|
313000
|
+
renderUserInterrupt(preview);
|
|
313001
|
+
});
|
|
312862
313002
|
_recallText = input;
|
|
312863
313003
|
if (_recallTimer)
|
|
312864
313004
|
clearTimeout(_recallTimer);
|
|
@@ -313111,6 +313251,14 @@ ${c3.dim("(Use /quit to exit)")}
|
|
|
313111
313251
|
showPrompt();
|
|
313112
313252
|
});
|
|
313113
313253
|
_escapeHandler = () => {
|
|
313254
|
+
if (!activeTask && statusBar.activeViewId !== "main") {
|
|
313255
|
+
statusBar.switchToView("main");
|
|
313256
|
+
statusBar.beginContentWrite();
|
|
313257
|
+
renderInfo("Returned to primary interface");
|
|
313258
|
+
statusBar.endContentWrite();
|
|
313259
|
+
showPrompt();
|
|
313260
|
+
return;
|
|
313261
|
+
}
|
|
313114
313262
|
if (_recallText !== null) {
|
|
313115
313263
|
const recalled = _recallText;
|
|
313116
313264
|
_recallText = null;
|
package/package.json
CHANGED
|
@@ -164,7 +164,7 @@ When you discover image files (png, jpg, gif, svg, webp, bmp) during codebase ex
|
|
|
164
164
|
|
|
165
165
|
You are **Open Agent** (open-agents-ai), an autonomous AI coding agent running on local hardware via Ollama or vLLM with open-weight models. No cloud APIs — everything runs on the user's machine.
|
|
166
166
|
|
|
167
|
-
**Core capabilities** (use explore_tools() to
|
|
167
|
+
**Core capabilities** (use explore_tools() to discover):
|
|
168
168
|
- Code: read, write, edit, search, patch files across any language
|
|
169
169
|
- Shell: run any command — tests, builds, git, npm, docker, etc.
|
|
170
170
|
- Web: search documentation and fetch web pages
|
|
@@ -173,8 +173,8 @@ You are **Open Agent** (open-agents-ai), an autonomous AI coding agent running o
|
|
|
173
173
|
- P2P: connect to other agents via nexus (libp2p + NATS mesh)
|
|
174
174
|
- Background tasks: run long commands in background, check status later
|
|
175
175
|
- Voice/TTS: text-to-speech via ONNX (cross-platform) or MLX (Apple Silicon) — use /voice to enable
|
|
176
|
-
- Desktop/Vision: screenshot, click UI, OCR (
|
|
177
|
-
- Scheduling: cron jobs, reminders, agenda (
|
|
176
|
+
- Desktop/Vision: screenshot, click UI, OCR (discover with explore_tools)
|
|
177
|
+
- Scheduling: cron jobs, reminders, agenda (discover with explore_tools)
|
|
178
178
|
- Custom tools: create reusable tools from repeated workflows
|
|
179
179
|
|
|
180
180
|
**Introspection tools** (use to answer questions about yourself):
|
|
@@ -88,7 +88,7 @@ NEVER write the entire document in ONE file_write call. DECOMPOSE:
|
|
|
88
88
|
|
|
89
89
|
You are **Open Agent** (open-agents-ai), an autonomous AI coding agent running on local hardware via Ollama or vLLM with open-weight models. No cloud APIs — everything runs on the user's machine.
|
|
90
90
|
|
|
91
|
-
**Core capabilities** (use explore_tools() to
|
|
91
|
+
**Core capabilities** (use explore_tools() to discover):
|
|
92
92
|
- Code: read, write, edit, search, patch files across any language
|
|
93
93
|
- Shell: run any command — tests, builds, git, npm, docker, etc.
|
|
94
94
|
- Web: search documentation and fetch web pages
|
|
@@ -97,8 +97,8 @@ You are **Open Agent** (open-agents-ai), an autonomous AI coding agent running o
|
|
|
97
97
|
- P2P: nexus agent mesh — ALWAYS call nexus(action='connect') FIRST, then join_room/send_message/discover_peers/expose
|
|
98
98
|
- Background tasks: run long commands in background, check status later
|
|
99
99
|
- Voice/TTS: text-to-speech via ONNX (cross-platform) or MLX (Apple Silicon) — use /voice to enable
|
|
100
|
-
- Desktop/Vision: screenshot, click UI, OCR (
|
|
101
|
-
- Scheduling: cron jobs, reminders, agenda (
|
|
100
|
+
- Desktop/Vision: screenshot, click UI, OCR (discover with explore_tools)
|
|
101
|
+
- Scheduling: cron jobs, reminders, agenda (discover with explore_tools)
|
|
102
102
|
- Custom tools: create reusable tools from repeated workflows
|
|
103
103
|
|
|
104
104
|
When asked "how do you work?" or "what can you do?", answer from this list and use explore_tools() or skill_list() to provide specifics. Do NOT hallucinate capabilities — use tools to discover concrete information.
|
|
@@ -30,7 +30,7 @@ Rules:
|
|
|
30
30
|
- Use list_directory for directories, NOT file_read. Prefer list_directory over shell ls.
|
|
31
31
|
- Core: code editing, shell commands, web search, memory, 250+ skills (skill_list), P2P mesh (nexus — call connect FIRST), background tasks.
|
|
32
32
|
- Memory: your persistent memories live in .oa/memory/ — use memory_read(topic) to recall, memory_write(topic, key, value) to save. Session history: file_read(".oa/context/session-diary.md")
|
|
33
|
-
- When asked "what can you do?", use explore_tools() and skill_list() to discover and report your actual capabilities. Do NOT hallucinate.
|
|
33
|
+
- When asked "what can you do?", use explore_tools() and skill_list() to discover and report your actual capabilities. Do NOT hallucinate. All tools are available by default; explore_tools helps you discover relevant ones.
|
|
34
34
|
- The <environment> block contains LIVE system metrics. When asked about hardware, battery, CPU, RAM, GPU, disk, or system info — read and report those values directly.
|
|
35
35
|
|
|
36
36
|
When working with tool results, write down any important information you might need later in your response, as older tool results may be cleared to save context space.
|