omnius 1.0.228 → 1.0.229

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
@@ -587431,6 +587431,7 @@ var init_model_picker = __esm({
587431
587431
  var render_exports = {};
587432
587432
  __export(render_exports, {
587433
587433
  SLASH_COMMANDS: () => SLASH_COMMANDS2,
587434
+ breakTelegramCoalesce: () => breakTelegramCoalesce,
587434
587435
  c: () => c3,
587435
587436
  fileLink: () => fileLink,
587436
587437
  formatInlineMarkdown: () => formatInlineMarkdown,
@@ -587457,6 +587458,7 @@ __export(render_exports, {
587457
587458
  renderTaskAborted: () => renderTaskAborted,
587458
587459
  renderTaskComplete: () => renderTaskComplete,
587459
587460
  renderTaskIncomplete: () => renderTaskIncomplete,
587461
+ renderTelegramCoalescedRow: () => renderTelegramCoalescedRow,
587460
587462
  renderThinking: () => renderThinking,
587461
587463
  renderToolCallStart: () => renderToolCallStart,
587462
587464
  renderToolLine: () => renderToolLine,
@@ -587599,6 +587601,7 @@ ${accentFg()}▹\x1B[0m ${c3.bold(text)}
587599
587601
  }
587600
587602
  function renderAssistantText(text) {
587601
587603
  if (!text.trim()) return;
587604
+ breakTelegramCoalesce();
587602
587605
  const formatted = formatMarkdownBlock(text);
587603
587606
  const lines = formatted.split("\n");
587604
587607
  for (const line of lines) {
@@ -587861,6 +587864,44 @@ function renderToolDynamicBlock(kind, render2, opts) {
587861
587864
  }
587862
587865
  process.stdout.write(text);
587863
587866
  }
587867
+ function breakTelegramCoalesce() {
587868
+ _telegramCoalesce = null;
587869
+ }
587870
+ function renderTelegramCoalescedRow(row, opts) {
587871
+ const colorCode = opts?.colorCode ?? 45;
587872
+ const title = opts?.title ?? "✈ Telegram";
587873
+ const redir = _contentWriteHook?.redirect?.();
587874
+ const host = _contentWriteHook?.dynamicBlockHost?.() ?? null;
587875
+ if (redir || !host || typeof host.refreshDynamicBlocks !== "function") {
587876
+ _telegramCoalesce = null;
587877
+ renderToolDynamicBlock(
587878
+ "tool-result",
587879
+ (width) => buildToolBoxLines({
587880
+ title,
587881
+ metrics: "",
587882
+ body: [{ text: row, mode: "wrap", kind: "plain" }],
587883
+ colorCode
587884
+ }, width),
587885
+ {}
587886
+ );
587887
+ return;
587888
+ }
587889
+ if (_telegramCoalesce) {
587890
+ _telegramCoalesce.lines.push(row);
587891
+ host.refreshDynamicBlocks();
587892
+ return;
587893
+ }
587894
+ const id = `tg-coalesce-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
587895
+ const state = { id, lines: [row], colorCode };
587896
+ _telegramCoalesce = state;
587897
+ host.registerDynamicBlock(id, (width) => buildToolBoxLines({
587898
+ title,
587899
+ metrics: state.lines.length > 1 ? `${state.lines.length} events` : "",
587900
+ body: state.lines.map((text) => ({ text, mode: "wrap", kind: "plain" })),
587901
+ colorCode: state.colorCode
587902
+ }, width));
587903
+ host.appendDynamicBlock(id);
587904
+ }
587864
587905
  function appendContextBoxSection(body, label, value2) {
587865
587906
  const text = String(value2 ?? "").trim();
587866
587907
  if (!text) return;
@@ -587880,6 +587921,7 @@ function appendContextBoxList(body, label, values) {
587880
587921
  }
587881
587922
  }
587882
587923
  function renderContextIntakeBox(opts) {
587924
+ breakTelegramCoalesce();
587883
587925
  const body = [];
587884
587926
  appendContextBoxSection(body, "Added context:", opts.rawText);
587885
587927
  appendContextBoxSection(body, "Triage:", opts.inference);
@@ -588111,6 +588153,7 @@ function detectToolArtifacts(output) {
588111
588153
  return [...out].slice(0, 12);
588112
588154
  }
588113
588155
  function renderToolCallStart(toolName, args, verboseOrOpts) {
588156
+ breakTelegramCoalesce();
588114
588157
  const opts = normalizeToolOpts(verboseOrOpts);
588115
588158
  const frozenArgs = { ...args ?? {} };
588116
588159
  renderToolDynamicBlock(
@@ -588125,6 +588168,7 @@ function renderToolLine(content, isLast = false) {
588125
588168
  `);
588126
588169
  }
588127
588170
  function renderToolResult(toolName, success, output, verboseOrOpts) {
588171
+ breakTelegramCoalesce();
588128
588172
  const opts = normalizeToolOpts(verboseOrOpts);
588129
588173
  const frozenOutput = String(output ?? "");
588130
588174
  renderToolDynamicBlock(
@@ -588134,6 +588178,7 @@ function renderToolResult(toolName, success, output, verboseOrOpts) {
588134
588178
  );
588135
588179
  }
588136
588180
  function renderBoxedBlock(opts) {
588181
+ breakTelegramCoalesce();
588137
588182
  const mode = opts.mode ?? "wrap";
588138
588183
  const kind = opts.kind ?? "plain";
588139
588184
  const body = (opts.lines.length > 0 ? opts.lines : [""]).map((text) => ({
@@ -588187,6 +588232,7 @@ function highlightToolOutput(line) {
588187
588232
  return c3.dim(line);
588188
588233
  }
588189
588234
  function renderTaskComplete(arg1, turns, toolCalls, durationMs, tokens) {
588235
+ breakTelegramCoalesce();
588190
588236
  const opts = typeof arg1 === "string" ? {
588191
588237
  summary: arg1,
588192
588238
  turns: turns ?? 0,
@@ -588298,6 +588344,7 @@ function setContentWriteHook(hook) {
588298
588344
  _contentWriteHook = hook;
588299
588345
  }
588300
588346
  function renderError(message2) {
588347
+ breakTelegramCoalesce();
588301
588348
  const redir = _contentWriteHook?.redirect?.();
588302
588349
  const icon = _emojisEnabled ? "\x1B[38;5;198m✖\x1B[0m" : "\x1B[38;5;198mE\x1B[0m";
588303
588350
  const text = `
@@ -588312,6 +588359,7 @@ ${icon} \x1B[38;5;198m${message2}\x1B[0m
588312
588359
  _contentWriteHook?.end();
588313
588360
  }
588314
588361
  function renderInfo(message2) {
588362
+ breakTelegramCoalesce();
588315
588363
  const redir = _contentWriteHook?.redirect?.();
588316
588364
  const dim = dimFg();
588317
588365
  const icon = `${dim}∙\x1B[0m`;
@@ -588326,6 +588374,7 @@ function renderInfo(message2) {
588326
588374
  _contentWriteHook?.end();
588327
588375
  }
588328
588376
  function renderWarning(message2) {
588377
+ breakTelegramCoalesce();
588329
588378
  const redir = _contentWriteHook?.redirect?.();
588330
588379
  const icon = "\x1B[38;5;214m!\x1B[0m";
588331
588380
  const text = `${icon} \x1B[38;5;214m${message2}\x1B[0m
@@ -588339,6 +588388,7 @@ function renderWarning(message2) {
588339
588388
  _contentWriteHook?.end();
588340
588389
  }
588341
588390
  function renderVerbose(message2) {
588391
+ breakTelegramCoalesce();
588342
588392
  const redir = _contentWriteHook?.redirect?.();
588343
588393
  const text = ` ${accentFg()}▹\x1B[0m ${c3.dim(message2)}
588344
588394
  `;
@@ -588487,7 +588537,7 @@ function formatDuration4(ms) {
588487
588537
  const secs = Math.floor(totalSecs % 60);
588488
588538
  return `${mins}m ${secs}s`;
588489
588539
  }
588490
- var c3, ui, pastel, _emojisEnabled, _colorsEnabled, MD, TOOL_ICONS, TOOL_LABELS, TOOL_COLOR_CODES, TOOL_ERROR_COLOR_CODE, BOX_TL2, BOX_TR2, BOX_BL2, BOX_BR2, BOX_H2, BOX_V2, BOX_TJ_L2, BOX_TJ_R2, RESET2, DIFF_LINE_RE, _contentWriteHook, HINTS, TOOL_NAMES, COMMAND_NAMES, SLASH_COMMANDS2;
588540
+ var c3, ui, pastel, _emojisEnabled, _colorsEnabled, MD, TOOL_ICONS, TOOL_LABELS, TOOL_COLOR_CODES, TOOL_ERROR_COLOR_CODE, BOX_TL2, BOX_TR2, BOX_BL2, BOX_BR2, BOX_H2, BOX_V2, BOX_TJ_L2, BOX_TJ_R2, RESET2, _telegramCoalesce, DIFF_LINE_RE, _contentWriteHook, HINTS, TOOL_NAMES, COMMAND_NAMES, SLASH_COMMANDS2;
588491
588541
  var init_render = __esm({
588492
588542
  "packages/cli/src/tui/render.ts"() {
588493
588543
  "use strict";
@@ -588679,6 +588729,7 @@ var init_render = __esm({
588679
588729
  BOX_TJ_L2 = "├";
588680
588730
  BOX_TJ_R2 = "┤";
588681
588731
  RESET2 = "\x1B[0m";
588732
+ _telegramCoalesce = null;
588682
588733
  DIFF_LINE_RE = /^\s*\d+\s([-+])\s/;
588683
588734
  _contentWriteHook = null;
588684
588735
  HINTS = [
@@ -644538,62 +644589,35 @@ function renderTelegramStop(state) {
644538
644589
  }
644539
644590
  function renderTelegramMessage(username, text) {
644540
644591
  const preview = text.length > 80 ? text.slice(0, 77) + "..." : text;
644541
- process.stdout.write(` ${c3.cyan("✈")} ${c3.bold(`@${username}`)}: ${preview}
644542
- `);
644592
+ renderTelegramCoalescedRow(`${c3.bold(`@${username}`)}: ${preview}`);
644543
644593
  }
644544
644594
  function renderTelegramIngressMessage(msg) {
644545
644595
  const body = (msg.text || summarizeTelegramMessageAttachments(msg) || "[non-text Telegram message]").replace(/\s+/g, " ").trim();
644546
644596
  const preview = body.length > 96 ? body.slice(0, 93) + "..." : body;
644547
644597
  const chat = msg.chatType !== "private" ? ` ${c3.dim(`[${msg.chatTitle || msg.chatType}]`)}` : "";
644548
- process.stdout.write(
644549
- ` ${c3.cyan("✈")} ${c3.dim("heard")}${chat} ${c3.bold(`@${msg.username || "unknown"}`)} ${c3.dim(`[${telegramActorKindLabel(msg)}]`)}: ${preview}
644550
- `
644598
+ renderTelegramCoalescedRow(
644599
+ `${c3.dim("heard")}${chat} ${c3.bold(`@${msg.username || "unknown"}`)} ${c3.dim(`[${telegramActorKindLabel(msg)}]`)}: ${preview}`
644551
644600
  );
644552
644601
  }
644553
644602
  function renderTelegramSubAgentStart(username, text, isAdmin) {
644554
644603
  const preview = text.length > 60 ? text.slice(0, 57) + "..." : text;
644555
644604
  const mode = isAdmin ? c3.green("admin") : c3.yellow("public");
644556
- process.stdout.write(`
644557
- ${c3.cyan("✈")} ${c3.bold(`Sub-agent`)} [${mode}] for @${username}
644558
- `);
644559
- process.stdout.write(` ${c3.dim("│")} ${preview}
644560
- `);
644605
+ renderTelegramCoalescedRow(`${c3.bold("sub-agent")} [${mode}] ${c3.bold(`@${username}`)}: ${preview}`);
644561
644606
  }
644562
644607
  function renderTelegramSubAgentEvent(username, detail) {
644563
- renderBoxedBlock({
644564
- title: `✈ @${username}`,
644565
- lines: [detail],
644566
- colorCode: 45
644567
- });
644608
+ renderTelegramCoalescedRow(`${c3.bold(`@${username}`)}: ${detail}`);
644568
644609
  }
644569
644610
  function renderTelegramSubAgentToolCall(username, toolName, args) {
644570
644611
  const preview = args.length > 50 ? args.slice(0, 47) + "..." : args;
644571
- renderBoxedBlock({
644572
- title: `✈ @${username}`,
644573
- metrics: toolName,
644574
- lines: [`${c3.bold(toolName)}(${c3.dim(preview)})`],
644575
- colorCode: 45
644576
- });
644612
+ renderTelegramCoalescedRow(`${c3.bold(`@${username}`)} ${c3.bold(toolName)}(${c3.dim(preview)})`);
644577
644613
  }
644578
644614
  function renderTelegramSubAgentComplete(username, summary) {
644579
644615
  const preview = summary.length > 80 ? summary.slice(0, 77) + "..." : summary;
644580
- renderBoxedBlock({
644581
- title: `✔ @${username}`,
644582
- lines: [preview],
644583
- kind: "success",
644584
- colorCode: 42
644585
- // green
644586
- });
644616
+ renderTelegramCoalescedRow(`${c3.green("✔")} ${c3.bold(`@${username}`)}: ${c3.dim(preview)}`);
644587
644617
  }
644588
644618
  function renderTelegramSubAgentError(username, error) {
644589
644619
  const preview = error.length > 80 ? error.slice(0, 77) + "..." : error;
644590
- renderBoxedBlock({
644591
- title: `✘ @${username}`,
644592
- lines: [preview],
644593
- kind: "error",
644594
- colorCode: 198
644595
- // magenta
644596
- });
644620
+ renderTelegramCoalescedRow(`${c3.red("✘")} ${c3.bold(`@${username}`)}: ${c3.dim(preview)}`);
644597
644621
  }
644598
644622
  var TELEGRAM_TOOL_ACTION_GROUPS, TELEGRAM_TOOL_ACTION_GROUP, TELEGRAM_TOOL_MUTATING_GROUPS, DEFAULT_TELEGRAM_TOOL_GROUP_POLICY, TELEGRAM_TOOL_BUTTON_LABELS, TELEGRAM_SAFETY_PROMPT, ADMIN_DM_PROMPT, ADMIN_GROUP_PROMPT, TELEGRAM_PUBLIC_SOUL_PROFILE, TELEGRAM_PUBLIC_ORCHESTRATOR_CONTRACT, TELEGRAM_PUBLIC_MEMORY_SCOPE_CONTRACT, TELEGRAM_PUBLIC_VISION_STACK_CONTRACT, GROUP_REPLY_DISCRETION_PROMPT, TELEGRAM_CHAT_MODE_PROMPT, ADMIN_CHAT_PROFILE_PROMPT, TELEGRAM_ACTION_RESPONSE_CONTRACT, TELEGRAM_EXTERNAL_ACQUISITION_CONTRACT, TELEGRAM_LINK_INTEGRITY_CONTRACT, TELEGRAM_INTERACTION_DECISION_RESPONSE_FORMAT, TELEGRAM_INTERACTION_DECISION_MINIMAL_SCHEMA, TELEGRAM_INTERACTION_DECISION_REPAIR_SCHEMA, TELEGRAM_CHAT_REPLY_RESPONSE_FORMAT, TELEGRAM_SPACED_URL_RE, TELEGRAM_HTTP_URL_RE, TELEGRAM_STUCK_SELF_TALK_PREFIXES, TELEGRAM_CHAT_HISTORY_LIMIT, TELEGRAM_CONTEXT_RECENT_DEFAULT, TELEGRAM_CONTEXT_LINE_LIMIT, TELEGRAM_CONTEXT_SAMPLE_LIMIT, TELEGRAM_MEMORY_CARD_LIMIT, TELEGRAM_MEMORY_NOTE_LIMIT, TELEGRAM_ASSOCIATIVE_FACT_LIMIT, TELEGRAM_ASSOCIATIVE_USER_FACT_LIMIT, TELEGRAM_ASSOCIATIVE_ACTION_LIMIT, TELEGRAM_ASSOCIATIVE_RELATION_LIMIT, TELEGRAM_MEMORY_STOPWORDS, TELEGRAM_MEMORY_GENERIC_QUERY_TOKENS, TELEGRAM_SUB_AGENT_BOUNDED_OPTIONS, TELEGRAM_PUBLIC_FAST_OPTIONS, TELEGRAM_ADMIN_EVIDENCE_OPTIONS, TELEGRAM_SUB_AGENT_DEFAULT_LIMIT, TELEGRAM_SUB_AGENT_MAX_LIMIT, TELEGRAM_SUB_AGENT_BURST_CONTEXT_LIMIT, TELEGRAM_ADMIN_LIVE_PANEL_PAGES, TELEGRAM_ADMIN_LIVE_MUTATION_TOOLS, TELEGRAM_PUBLIC_HELP_COMMANDS2, TELEGRAM_REMINDER_SLASH_COMMANDS, TELEGRAM_REFLECTION_SLASH_COMMANDS, TELEGRAM_PUBLIC_BOT_COMMAND_NAMES, TELEGRAM_IMAGE_EXTENSIONS, MEDIA_CACHE_TTL_MS, TELEGRAM_CHANNEL_DMN_SWEEP_MS, TELEGRAM_CHANNEL_DMN_IDLE_AFTER_MS, TELEGRAM_CHANNEL_DMN_MIN_INTERVAL_MS, TELEGRAM_CHANNEL_DMN_MIN_MESSAGES, TELEGRAM_ALLOWED_UPDATES, TELEGRAM_DEFAULT_LONG_POLL_TIMEOUT_SECONDS, TELEGRAM_ROUTER_AUTO_MIN_PARAMETERS_B, TELEGRAM_PUBLIC_TOOL_QUOTAS, TelegramBridge;
644599
644623
  var init_telegram_bridge = __esm({
@@ -687409,7 +687433,8 @@ ${result.summary}`
687409
687433
  redirect: () => isOverlayActive() ? overlayWrite : isNeovimActive() ? writeToNeovimOutput : null,
687410
687434
  dynamicBlockHost: () => statusBar.isActive && !isOverlayActive() && !isNeovimActive() ? {
687411
687435
  registerDynamicBlock: (id, render2) => statusBar.registerDynamicBlock(id, render2),
687412
- appendDynamicBlock: (id) => statusBar.appendDynamicBlock(id)
687436
+ appendDynamicBlock: (id) => statusBar.appendDynamicBlock(id),
687437
+ refreshDynamicBlocks: () => statusBar.refreshDisplay()
687413
687438
  } : null
687414
687439
  });
687415
687440
  }
@@ -687419,7 +687444,8 @@ ${result.summary}`
687419
687444
  redirect: () => isNeovimActive() ? writeToNeovimOutput : null,
687420
687445
  dynamicBlockHost: () => statusBar.isActive && !isOverlayActive() && !isNeovimActive() ? {
687421
687446
  registerDynamicBlock: (id, render2) => statusBar.registerDynamicBlock(id, render2),
687422
- appendDynamicBlock: (id) => statusBar.appendDynamicBlock(id)
687447
+ appendDynamicBlock: (id) => statusBar.appendDynamicBlock(id),
687448
+ refreshDynamicBlocks: () => statusBar.refreshDisplay()
687423
687449
  } : null
687424
687450
  });
687425
687451
  let resolvedContextWindowSize = 0;
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.228",
3
+ "version": "1.0.229",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omnius",
9
- "version": "1.0.228",
9
+ "version": "1.0.229",
10
10
  "bundleDependencies": [
11
11
  "image-to-ascii"
12
12
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.228",
3
+ "version": "1.0.229",
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",