omnius 1.0.52 → 1.0.53
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 +44 -25
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -255441,7 +255441,7 @@ function videoGenerationSetupPlan(backend, repoRoot = ".", model) {
|
|
|
255441
255441
|
`Default first-run model: ${DEFAULT_DIFFUSERS_VIDEO_MODEL} (Sana-Video 480p; T2V+I2V).`,
|
|
255442
255442
|
"The venv, Hugging Face cache, Torch cache, and pip cache stay under .omnius/video-gen.",
|
|
255443
255443
|
"The runner script is created automatically at .omnius/video-gen/diffusers_text2video.py.",
|
|
255444
|
-
"HF gated repos (HunyuanVideo, LTX-Video, LTX-2.3)
|
|
255444
|
+
"HF gated repos (Sana-Video, HunyuanVideo, LTX-Video, LTX-2.3) require HF_TOKEN — set it in your environment and accept the model license on huggingface.co before first download.",
|
|
255445
255445
|
"Synchronized audio-video: pass with_audio=true (post-process mux) or use Lightricks/LTX-2.3 / Wan-AI/Wan2.2-S2V-14B for native sync.",
|
|
255446
255446
|
"Video generation is slow — expect 2-10 minutes per clip on consumer GPUs."
|
|
255447
255447
|
]
|
|
@@ -255534,8 +255534,11 @@ function formatVideoFailure(stderrOrStdout) {
|
|
|
255534
255534
|
if (lower.includes("autoencoderklwan") && (lower.includes("not found") || lower.includes("no module") || lower.includes("cannot import"))) {
|
|
255535
255535
|
notes2.push("Diffusers is missing the AutoencoderKLWan symbol. Upgrade with: pip install -U 'diffusers>=0.32'.");
|
|
255536
255536
|
}
|
|
255537
|
-
if (lower.includes("hf_token") || lower.includes("gated repo") || lower.includes("401") || lower.includes("unauthorized")) {
|
|
255538
|
-
notes2.push("This video model
|
|
255537
|
+
if (lower.includes("hf_token") || lower.includes("gated repo") || lower.includes("401") || lower.includes("unauthorized") || lower.includes("repository not found")) {
|
|
255538
|
+
notes2.push("This video model is gated on Hugging Face. You must: (1) visit the model page on huggingface.co and accept the license, and (2) set HF_TOKEN in your environment (export HF_TOKEN=your_token). Then re-run.");
|
|
255539
|
+
}
|
|
255540
|
+
if (lower.includes("sana-video") && (lower.includes("401") || lower.includes("unauthorized") || lower.includes("repository not found"))) {
|
|
255541
|
+
notes2.push("Sana-Video models require Hugging Face login. Run: huggingface-cli login, or set HF_TOKEN. Also accept the license at https://huggingface.co/NVlabs/Sana-Video-480p or https://huggingface.co/NVlabs/Sana-Video-720p");
|
|
255539
255542
|
}
|
|
255540
255543
|
if (lower.includes("ltx-video-open-weights")) {
|
|
255541
255544
|
notes2.push("LTX-Video is licensed under the LTX Open-Weights non-commercial license; review the bundled license before commercial use.");
|
|
@@ -255562,7 +255565,10 @@ function videoGenerationPythonEnv(repoRoot) {
|
|
|
255562
255565
|
DIFFUSERS_CACHE: join38(hf, "diffusers"),
|
|
255563
255566
|
TORCH_HOME: join38(root, "torch"),
|
|
255564
255567
|
XDG_CACHE_HOME: join38(root, "cache"),
|
|
255565
|
-
PIP_CACHE_DIR: join38(root, "pip-cache")
|
|
255568
|
+
PIP_CACHE_DIR: join38(root, "pip-cache"),
|
|
255569
|
+
// Pass through HF_TOKEN if set — required for gated models like Sana-Video, HunyuanVideo, LTX-Video
|
|
255570
|
+
...process.env.HF_TOKEN ? { HF_TOKEN: process.env.HF_TOKEN } : {},
|
|
255571
|
+
...process.env.HUGGING_FACE_HUB_TOKEN ? { HUGGING_FACE_HUB_TOKEN: process.env.HUGGING_FACE_HUB_TOKEN } : {}
|
|
255566
255572
|
};
|
|
255567
255573
|
}
|
|
255568
255574
|
async function ensureVideoGenerationCacheDirs(repoRoot) {
|
|
@@ -560097,6 +560103,7 @@ __export(render_exports, {
|
|
|
560097
560103
|
renderTaskIncomplete: () => renderTaskIncomplete,
|
|
560098
560104
|
renderThinking: () => renderThinking,
|
|
560099
560105
|
renderToolCallStart: () => renderToolCallStart,
|
|
560106
|
+
renderToolLine: () => renderToolLine,
|
|
560100
560107
|
renderToolResult: () => renderToolResult,
|
|
560101
560108
|
renderUserInterrupt: () => renderUserInterrupt,
|
|
560102
560109
|
renderUserMessage: () => renderUserMessage,
|
|
@@ -560272,12 +560279,18 @@ function renderToolCallStart(toolName, args, verbose) {
|
|
|
560272
560279
|
const colorFn = _colorsEnabled ? TOOL_COLORS[toolName] ?? c3.dim : (t2) => t2;
|
|
560273
560280
|
const emojiPrefix = _emojisEnabled ? `${icon} ` : "";
|
|
560274
560281
|
process.stdout.write(`
|
|
560275
|
-
${
|
|
560282
|
+
${emojiPrefix}${colorFn(c3.bold(label))}${argsSummary ? c3.dim(": ") + argsSummary : ""}
|
|
560283
|
+
`);
|
|
560284
|
+
}
|
|
560285
|
+
function renderToolLine(content, isLast = false) {
|
|
560286
|
+
const connector = isLast ? "└" : "├";
|
|
560287
|
+
process.stdout.write(` ${c3.dim(connector)}─ ${content}
|
|
560276
560288
|
`);
|
|
560277
560289
|
}
|
|
560278
560290
|
function renderToolResult(toolName, success, output, verbose) {
|
|
560291
|
+
const debug = loadConfig()?.debug ?? false;
|
|
560279
560292
|
const maxW = verbose ? Math.max(getTermWidth() - 10, 200) : getTermWidth() - 10;
|
|
560280
|
-
const prefix = ` ${c3.dim("
|
|
560293
|
+
const prefix = ` ${c3.dim("│")} `;
|
|
560281
560294
|
switch (toolName) {
|
|
560282
560295
|
case "file_write": {
|
|
560283
560296
|
const summary = extractFirstLine(output, maxW);
|
|
@@ -560327,7 +560340,12 @@ function renderToolResult(toolName, success, output, verbose) {
|
|
|
560327
560340
|
default:
|
|
560328
560341
|
break;
|
|
560329
560342
|
}
|
|
560330
|
-
const lines = output.split("\n").filter((l2) =>
|
|
560343
|
+
const lines = output.split("\n").filter((l2) => {
|
|
560344
|
+
const trimmed = l2.trim();
|
|
560345
|
+
if (!trimmed) return false;
|
|
560346
|
+
if (!debug && (trimmed.startsWith("[trust_tier:") || trimmed.startsWith("[SYSTEM]:") || trimmed.includes("tool_output_untrusted"))) return false;
|
|
560347
|
+
return true;
|
|
560348
|
+
});
|
|
560331
560349
|
if (lines.length === 0) {
|
|
560332
560350
|
const icon = success ? _emojisEnabled ? c3.green("✔") : c3.green("+") : _emojisEnabled ? c3.red("✖") : c3.red("x");
|
|
560333
560351
|
process.stdout.write(`${prefix}${icon} ${success ? c3.dim("Done") : c3.red("Failed")}
|
|
@@ -560381,7 +560399,7 @@ function renderToolResult(toolName, success, output, verbose) {
|
|
|
560381
560399
|
}
|
|
560382
560400
|
}
|
|
560383
560401
|
function renderImageAsciiPreview(title, imagePath, ascii2, renderer) {
|
|
560384
|
-
const prefix = ` ${c3.dim("
|
|
560402
|
+
const prefix = ` ${c3.dim("│")} `;
|
|
560385
560403
|
const maxW = Math.max(getTermWidth() - 10, 40);
|
|
560386
560404
|
const header = `${title}: ${imagePath} (${renderer})`;
|
|
560387
560405
|
process.stdout.write(`
|
|
@@ -560807,6 +560825,7 @@ var init_render = __esm({
|
|
|
560807
560825
|
init_theme();
|
|
560808
560826
|
init_layout2();
|
|
560809
560827
|
init_command_registry();
|
|
560828
|
+
init_config();
|
|
560810
560829
|
isTTY2 = process.stdout.isTTY ?? false;
|
|
560811
560830
|
c3 = {
|
|
560812
560831
|
bold: (t2) => ansi2("1", t2),
|
|
@@ -561767,11 +561786,11 @@ function renderVoiceSessionStart(tunnelUrl) {
|
|
|
561767
561786
|
process.stdout.write(`
|
|
561768
561787
|
${c3.cyan("☁")} ${c3.bold("Live Voice Session")}
|
|
561769
561788
|
`);
|
|
561770
|
-
process.stdout.write(` ${c3.dim("
|
|
561789
|
+
process.stdout.write(` ${c3.dim("│")} ${c3.cyan(tunnelUrl)}
|
|
561771
561790
|
`);
|
|
561772
|
-
process.stdout.write(` ${c3.dim("
|
|
561791
|
+
process.stdout.write(` ${c3.dim("│")} Bidirectional PCM audio + live transcription
|
|
561773
561792
|
`);
|
|
561774
|
-
process.stdout.write(` ${c3.dim("
|
|
561793
|
+
process.stdout.write(` ${c3.dim("│")} /hangup to end session (auto-closes after 1 min idle)
|
|
561775
561794
|
|
|
561776
561795
|
`);
|
|
561777
561796
|
}
|
|
@@ -561785,13 +561804,13 @@ function renderVoiceSessionStop(runtime) {
|
|
|
561785
561804
|
}
|
|
561786
561805
|
function renderVoiceSessionUser(action, username) {
|
|
561787
561806
|
const icon = action === "connected" ? c3.green("→") : c3.red("←");
|
|
561788
|
-
process.stdout.write(` ${c3.dim("
|
|
561807
|
+
process.stdout.write(` ${c3.dim("│")} ${c3.cyan("☁")} ${icon} ${username} ${action}
|
|
561789
561808
|
`);
|
|
561790
561809
|
}
|
|
561791
561810
|
function renderVoiceSessionTranscript(speaker, text) {
|
|
561792
561811
|
const label = speaker === "user" ? c3.yellow("user") : c3.cyan("agent");
|
|
561793
561812
|
const preview = text.length > 80 ? text.slice(0, 77) + "..." : text;
|
|
561794
|
-
process.stdout.write(` ${c3.dim("
|
|
561813
|
+
process.stdout.write(` ${c3.dim("│")} ${c3.cyan("☁")} [${label}] ${preview}
|
|
561795
561814
|
`);
|
|
561796
561815
|
}
|
|
561797
561816
|
var VoiceSession;
|
|
@@ -600470,7 +600489,7 @@ var init_stream_renderer = __esm({
|
|
|
600470
600489
|
/**
|
|
600471
600490
|
* Track cursor's current column on the bottom-of-scroll row during partial
|
|
600472
600491
|
* flushes so we can wrap when cumulative partials would exceed terminal
|
|
600473
|
-
* width. Reset to 0 on \n, 5 when a new "
|
|
600492
|
+
* width. Reset to 0 on \n, 5 when a new " │ " prefix line starts.
|
|
600474
600493
|
* Essential for the typing-effect: without this, successive partial
|
|
600475
600494
|
* writes pile up on the bottom row past the right edge and the user
|
|
600476
600495
|
* only sees proper placement once the stream ends and a full repaint
|
|
@@ -600517,11 +600536,11 @@ var init_stream_renderer = __esm({
|
|
|
600517
600536
|
} else {
|
|
600518
600537
|
if (!this.thinkingIndicatorShown) {
|
|
600519
600538
|
this.thinkingIndicatorShown = true;
|
|
600520
|
-
this.writeRaw(dimText("
|
|
600539
|
+
this.writeRaw(dimText(" │ ") + dimItalic("thinking...") + "\n");
|
|
600521
600540
|
this.lineStarted = false;
|
|
600522
600541
|
}
|
|
600523
600542
|
if (this.thinkingTokenCount % 500 === 0) {
|
|
600524
|
-
this.writeRaw(dimText("
|
|
600543
|
+
this.writeRaw(dimText(" │ ") + dimItalic(`thinking... (${this.thinkingTokenCount} tokens)`) + "\n");
|
|
600525
600544
|
this.lineStarted = false;
|
|
600526
600545
|
}
|
|
600527
600546
|
return;
|
|
@@ -600529,7 +600548,7 @@ var init_stream_renderer = __esm({
|
|
|
600529
600548
|
}
|
|
600530
600549
|
if (this.thinkingIndicatorShown && kind === "content") {
|
|
600531
600550
|
this.thinkingIndicatorShown = false;
|
|
600532
|
-
this.writeRaw(dimText("
|
|
600551
|
+
this.writeRaw(dimText(" │ ") + dimItalic(`thought for ${this.thinkingTokenCount} tokens`) + "\n");
|
|
600533
600552
|
this.thinkingTokenCount = 0;
|
|
600534
600553
|
this.lineStarted = false;
|
|
600535
600554
|
}
|
|
@@ -600602,13 +600621,13 @@ var init_stream_renderer = __esm({
|
|
|
600602
600621
|
const trimmedLine = line.replace(/\n$/, "");
|
|
600603
600622
|
if (trimmedLine.trimStart().startsWith("```")) {
|
|
600604
600623
|
if (this.inCodeBlock) {
|
|
600605
|
-
this.writeRaw(dimText("
|
|
600624
|
+
this.writeRaw(dimText(" │ ") + dimText("```") + "\n");
|
|
600606
600625
|
this.inCodeBlock = false;
|
|
600607
600626
|
this.codeLang = "";
|
|
600608
600627
|
this.lineStarted = false;
|
|
600609
600628
|
} else {
|
|
600610
600629
|
this.codeLang = trimmedLine.replace(/```/g, "").trim();
|
|
600611
|
-
this.writeRaw(dimText("
|
|
600630
|
+
this.writeRaw(dimText(" │ ") + dimText("```" + this.codeLang) + "\n");
|
|
600612
600631
|
this.inCodeBlock = true;
|
|
600613
600632
|
this.lineStarted = false;
|
|
600614
600633
|
}
|
|
@@ -600649,7 +600668,7 @@ var init_stream_renderer = __esm({
|
|
|
600649
600668
|
this.jsonBlobSuppressed = false;
|
|
600650
600669
|
}
|
|
600651
600670
|
}
|
|
600652
|
-
const prefix = this.lineStarted ? "" : "
|
|
600671
|
+
const prefix = this.lineStarted ? "" : " │ ";
|
|
600653
600672
|
const maxW = Math.max(10, termCols() - 6);
|
|
600654
600673
|
let rendered;
|
|
600655
600674
|
const emitWrapped = (text2, highlight, trailingNewline) => {
|
|
@@ -608254,26 +608273,26 @@ function renderTelegramSubAgentStart(username, text, isAdmin) {
|
|
|
608254
608273
|
process.stdout.write(`
|
|
608255
608274
|
${c3.cyan("✈")} ${c3.bold(`Sub-agent`)} [${mode}] for @${username}
|
|
608256
608275
|
`);
|
|
608257
|
-
process.stdout.write(` ${c3.dim("
|
|
608276
|
+
process.stdout.write(` ${c3.dim("│")} ${preview}
|
|
608258
608277
|
`);
|
|
608259
608278
|
}
|
|
608260
608279
|
function renderTelegramSubAgentEvent(username, detail) {
|
|
608261
|
-
process.stdout.write(` ${c3.dim("
|
|
608280
|
+
process.stdout.write(` ${c3.dim("│")} ${c3.cyan("✈")} ${c3.dim(`@${username}:`)} ${detail}
|
|
608262
608281
|
`);
|
|
608263
608282
|
}
|
|
608264
608283
|
function renderTelegramSubAgentToolCall(username, toolName, args) {
|
|
608265
608284
|
const preview = args.length > 50 ? args.slice(0, 47) + "..." : args;
|
|
608266
|
-
process.stdout.write(` ${c3.dim("
|
|
608285
|
+
process.stdout.write(` ${c3.dim("│")} ${c3.cyan("✈")} ${c3.dim(`@${username}`)} ${c3.bold(toolName)}(${c3.dim(preview)})
|
|
608267
608286
|
`);
|
|
608268
608287
|
}
|
|
608269
608288
|
function renderTelegramSubAgentComplete(username, summary) {
|
|
608270
608289
|
const preview = summary.length > 80 ? summary.slice(0, 77) + "..." : summary;
|
|
608271
|
-
process.stdout.write(` ${c3.dim("
|
|
608290
|
+
process.stdout.write(` ${c3.dim("│")} ${c3.green("✔")} @${username}: ${c3.dim(preview)}
|
|
608272
608291
|
`);
|
|
608273
608292
|
}
|
|
608274
608293
|
function renderTelegramSubAgentError(username, error) {
|
|
608275
608294
|
const preview = error.length > 80 ? error.slice(0, 77) + "..." : error;
|
|
608276
|
-
process.stdout.write(` ${c3.dim("
|
|
608295
|
+
process.stdout.write(` ${c3.dim("│")} ${c3.red("✘")} @${username}: ${c3.dim(preview)}
|
|
608277
608296
|
`);
|
|
608278
608297
|
}
|
|
608279
608298
|
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_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_MEMORY_STOPWORDS, TELEGRAM_SUB_AGENT_BOUNDED_OPTIONS, TELEGRAM_PUBLIC_HELP_COMMANDS, TELEGRAM_REMINDER_SLASH_COMMANDS, TELEGRAM_REFLECTION_SLASH_COMMANDS, 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_PUBLIC_TOOL_QUOTAS, TelegramBridge;
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnius",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.53",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "omnius",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.53",
|
|
10
10
|
"bundleDependencies": [
|
|
11
11
|
"image-to-ascii"
|
|
12
12
|
],
|
package/package.json
CHANGED