open-agents-ai 0.187.54 → 0.187.56

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.
Files changed (2) hide show
  1. package/dist/index.js +33 -18
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -263605,12 +263605,23 @@ ${transcript}`
263605
263605
  "val_bpb",
263606
263606
  "best_val"
263607
263607
  ]);
263608
+ for (const tool of this.tools.values()) {
263609
+ const props = tool.parameters?.properties;
263610
+ if (props && typeof props === "object") {
263611
+ for (const paramName of Object.keys(props)) {
263612
+ IGNORE_LIST.add(paramName);
263613
+ }
263614
+ }
263615
+ }
263616
+ const SUBCOMMAND_PATTERNS = /^(join|leave|send|list|read|block|unblock|register|unregister|discover|invoke|retrieve|store|create|set|get|remote|priority|budget|pricing|metering|wallet|payment|inference|room|peer|target|dry)_/;
263608
263617
  const missingTools = [];
263609
263618
  for (const name10 of contextualNames) {
263610
263619
  if (registeredNames.has(name10))
263611
263620
  continue;
263612
263621
  if (IGNORE_LIST.has(name10))
263613
263622
  continue;
263623
+ if (SUBCOMMAND_PATTERNS.test(name10))
263624
+ continue;
263614
263625
  let isPartial = false;
263615
263626
  for (const reg of registeredNames) {
263616
263627
  if (reg.includes(name10) || name10.includes(reg)) {
@@ -301338,20 +301349,21 @@ ${CONTENT_BG_SEQ}`);
301338
301349
  * When suggestions are active, they replace the braille row and expand upward. */
301339
301350
  rowPositions(rows) {
301340
301351
  const fh = this._currentFooterHeight;
301341
- const suggestionRows = this._suggestions.length > 0 ? this._suggestions.length : 1;
301342
- const inputLines = fh - 1 - suggestionRows;
301352
+ const hasSugg = this._suggestions.length > 0;
301353
+ const suggestionAndBottomRows = hasSugg ? this._suggestions.length + 1 : 1;
301343
301354
  const totalFooter = fh;
301355
+ const metricsRow = rows;
301356
+ const boxBottomRow = metricsRow - 1;
301357
+ const suggestStartRow = hasSugg ? boxBottomRow - this._suggestions.length : -1;
301358
+ const inputEndRow = hasSugg ? suggestStartRow - 1 : boxBottomRow - 1;
301359
+ const inputStartRow = rows - totalFooter + 1;
301344
301360
  return {
301345
- scrollEnd: Math.max(rows - totalFooter, this.scrollRegionTop + 1),
301346
- inputStartRow: rows - totalFooter + 1,
301361
+ scrollEnd: Math.max(inputStartRow - 1, this.scrollRegionTop + 1),
301362
+ inputStartRow,
301347
301363
  tabBarRow: -1,
301348
- // deprecated: tabs now in header
301349
- // When suggestions active: multiple rows between input and metrics
301350
- // When no suggestions: single braille row at N-1
301351
- bufferRow: rows - 1,
301352
- // braille (only used when no suggestions)
301353
- suggestStartRow: this._suggestions.length > 0 ? rows - suggestionRows : -1,
301354
- metricsRow: rows,
301364
+ bufferRow: boxBottomRow,
301365
+ suggestStartRow,
301366
+ metricsRow,
301355
301367
  topSepRow: -1,
301356
301368
  bottomSepRow: -1
301357
301369
  };
@@ -301542,16 +301554,19 @@ ${CONTENT_BG_SEQ}`);
301542
301554
  if (pos.tabBarRow > 0) {
301543
301555
  buf += `\x1B[${pos.tabBarRow};1H${PANEL_BG_SEQ}\x1B[2K${RESET}`;
301544
301556
  }
301557
+ const boxInnerR = w - 2;
301545
301558
  if (this._suggestions.length > 0 && pos.suggestStartRow > 0) {
301546
301559
  for (let si = 0; si < this._suggestions.length; si++) {
301547
301560
  const row = pos.suggestStartRow + si;
301548
301561
  const cmd = this._suggestions[si];
301549
- buf += `\x1B[${row};1H${PANEL_BG_SEQ}\x1B[2K`;
301550
- buf += `${PANEL_BG_SEQ}\x1B[38;5;${TEXT_DIM}m /`;
301551
- buf += `\x1B[38;5;${TEXT_PRIMARY}m${cmd}${RESET}`;
301562
+ const isHl = si === this._suggestIndex;
301563
+ const fg2 = isHl ? `\x1B[1;38;5;${TEXT_PRIMARY}m` : `\x1B[38;5;${TEXT_PRIMARY}m`;
301564
+ const marker = isHl ? `\x1B[38;5;${TEXT_PRIMARY}m\u203A ` : " ";
301565
+ buf += `\x1B[${row};1H${PANEL_BG_SEQ}\x1B[2K${BOX_FG}${BOX_V}${RESET}${PANEL_BG_SEQ} ${marker}\x1B[38;5;${TEXT_DIM}m/${fg2}${cmd}`;
301566
+ buf += `${PANEL_BG_SEQ}\x1B[K\x1B[${row};${w}H${BOX_FG}${BOX_V}${RESET}`;
301552
301567
  }
301568
+ buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${BOX_FG}${BOX_BL}${BOX_H.repeat(Math.max(0, boxInnerR))}${BOX_BR}${RESET}`;
301553
301569
  } else {
301554
- const boxInnerR = w - 2;
301555
301570
  buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${BOX_FG}${BOX_BL}${BOX_H.repeat(Math.max(0, boxInnerR))}${BOX_BR}${RESET}`;
301556
301571
  }
301557
301572
  buf += `\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET}\x1B[?7h\x1B8` + // DEC restore cursor
@@ -311194,7 +311209,7 @@ ${result.text}`;
311194
311209
  ` - "On it, pulling in that dependency first"`,
311195
311210
  ` - "Yep, let me rethink the caching layer"`,
311196
311211
  ` - "Makes sense, I'll refactor that into a separate module"`,
311197
- `- summary: expanded instruction for the main agent (e.g. "USER STEERING: The user wants X instead of Y. Adjust your approach to prioritize Z. Specifically, they are asking you to...")`
311212
+ `- summary: expanded instruction for the main agent (e.g. "The user wants X instead of Y. Adjust your approach to prioritize Z. Specifically, they are asking you to...")`
311198
311213
  ].join("\n");
311199
311214
  const result = await steerAgent.run(steerPrompt, "Steering sub-agent \u2014 interpret user input and produce instruction.");
311200
311215
  const STEER_FALLBACKS = [
@@ -311211,7 +311226,7 @@ ${result.text}`;
311211
311226
  ];
311212
311227
  const fbIdx = Math.floor(Math.random() * STEER_FALLBACKS.length);
311213
311228
  let acknowledgment = STEER_FALLBACKS[fbIdx];
311214
- let steering = `USER STEERING: ${input}`;
311229
+ let steering = input;
311215
311230
  try {
311216
311231
  const parsed = JSON.parse(result.summary || "{}");
311217
311232
  if (parsed.acknowledgment)
@@ -311224,7 +311239,7 @@ ${result.text}`;
311224
311239
  if (ackMatch)
311225
311240
  acknowledgment = ackMatch[1].trim();
311226
311241
  if (raw.length > 10)
311227
- steering = `USER STEERING: ${raw}`;
311242
+ steering = raw;
311228
311243
  }
311229
311244
  if (voiceEngine?.enabled) {
311230
311245
  writeContent(() => renderVoiceText(acknowledgment));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.187.54",
3
+ "version": "0.187.56",
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",