omnius 1.0.171 → 1.0.172
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 +73 -21
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -558666,7 +558666,7 @@ Actions: (1) list_directory on the parent directory to see what's there, (2) Che
|
|
|
558666
558666
|
const lines = output.split("\n");
|
|
558667
558667
|
const { foldLineThreshold, foldHeadLines, foldTailLines } = this.contextLimits();
|
|
558668
558668
|
if (lines.length <= foldLineThreshold) {
|
|
558669
|
-
return
|
|
558669
|
+
return this.truncateTextWithoutCuttingUrl(output, maxChars, "\n...(truncated)");
|
|
558670
558670
|
}
|
|
558671
558671
|
const headLines = foldHeadLines;
|
|
558672
558672
|
const tailLines = foldTailLines;
|
|
@@ -558679,10 +558679,27 @@ Actions: (1) list_directory on the parent directory to see what's there, (2) Che
|
|
|
558679
558679
|
|
|
558680
558680
|
${tail}`;
|
|
558681
558681
|
if (folded.length > maxChars) {
|
|
558682
|
-
return
|
|
558682
|
+
return this.truncateTextWithoutCuttingUrl(folded, maxChars, "\n...(truncated)");
|
|
558683
558683
|
}
|
|
558684
558684
|
return folded;
|
|
558685
558685
|
}
|
|
558686
|
+
truncateTextWithoutCuttingUrl(text, maxChars, suffix = "...") {
|
|
558687
|
+
if (text.length <= maxChars)
|
|
558688
|
+
return text;
|
|
558689
|
+
if (maxChars <= suffix.length)
|
|
558690
|
+
return text.slice(0, maxChars);
|
|
558691
|
+
let cut = maxChars - suffix.length;
|
|
558692
|
+
const urlRe = /\bhttps?:\/\/[^\s<>"'()[\]{}]+/gi;
|
|
558693
|
+
for (const match of text.matchAll(urlRe)) {
|
|
558694
|
+
const start2 = match.index ?? 0;
|
|
558695
|
+
const end = start2 + match[0].length;
|
|
558696
|
+
if (start2 < cut && cut < end) {
|
|
558697
|
+
cut = start2;
|
|
558698
|
+
break;
|
|
558699
|
+
}
|
|
558700
|
+
}
|
|
558701
|
+
return `${text.slice(0, Math.max(0, cut)).trimEnd()}${suffix}`;
|
|
558702
|
+
}
|
|
558686
558703
|
async appendInjectedUserMessage(userMsg, messages2, turn) {
|
|
558687
558704
|
const imagePattern = /\[IMAGE_BASE64:([^:]+):([^\]]+)\]/;
|
|
558688
558705
|
const imgMatch = userMsg.match(imagePattern);
|
|
@@ -615378,6 +615395,23 @@ import { existsSync as existsSync109, readFileSync as readFileSync87, readdirSyn
|
|
|
615378
615395
|
import { join as join122, basename as basename24 } from "node:path";
|
|
615379
615396
|
import { execSync as execSync54 } from "node:child_process";
|
|
615380
615397
|
import { homedir as homedir42 } from "node:os";
|
|
615398
|
+
function projectContextUrlSpanAt(text, index) {
|
|
615399
|
+
PROJECT_CONTEXT_URL_RE.lastIndex = 0;
|
|
615400
|
+
for (const match of text.matchAll(PROJECT_CONTEXT_URL_RE)) {
|
|
615401
|
+
const start2 = match.index ?? 0;
|
|
615402
|
+
const end = start2 + match[0].length;
|
|
615403
|
+
if (start2 < index && index < end) return { start: start2, end };
|
|
615404
|
+
}
|
|
615405
|
+
return null;
|
|
615406
|
+
}
|
|
615407
|
+
function truncateProjectContextText(text, maxChars, suffix = "...") {
|
|
615408
|
+
if (text.length <= maxChars) return text;
|
|
615409
|
+
if (maxChars <= suffix.length) return text.slice(0, maxChars);
|
|
615410
|
+
let cut = maxChars - suffix.length;
|
|
615411
|
+
const span = projectContextUrlSpanAt(text, cut);
|
|
615412
|
+
if (span) cut = span.start;
|
|
615413
|
+
return `${text.slice(0, Math.max(0, cut)).trimEnd()}${suffix}`;
|
|
615414
|
+
}
|
|
615381
615415
|
function getModelTier(modelName) {
|
|
615382
615416
|
const m2 = modelName.toLowerCase();
|
|
615383
615417
|
const sizeMatch = m2.match(/\b(\d+)b\b/);
|
|
@@ -615496,7 +615530,7 @@ function loadMemoryContext(repoRoot) {
|
|
|
615496
615530
|
if (sorted.length === 0) continue;
|
|
615497
615531
|
lines.push(`[${bucketKey}]`);
|
|
615498
615532
|
for (const e2 of sorted) {
|
|
615499
|
-
lines.push(` ${e2.key}: ${e2.value
|
|
615533
|
+
lines.push(` ${e2.key}: ${truncateProjectContextText(e2.value, 200, "")}`);
|
|
615500
615534
|
}
|
|
615501
615535
|
}
|
|
615502
615536
|
return lines.join("\n");
|
|
@@ -615509,10 +615543,10 @@ function loadSessionHistory2(repoRoot) {
|
|
|
615509
615543
|
const status = s2.completed ? "completed" : "incomplete";
|
|
615510
615544
|
const date = s2.startedAt.split("T")[0];
|
|
615511
615545
|
const cleanTask = cleanForStorage(s2.task) || s2.task;
|
|
615512
|
-
lines.push(`- [${date}] ${cleanTask
|
|
615546
|
+
lines.push(`- [${date}] ${truncateProjectContextText(cleanTask, 80, "")} (${status}, ${s2.turns ?? 0} turns)`);
|
|
615513
615547
|
if (s2.summary) {
|
|
615514
615548
|
const cleanSummary = cleanForStorage(s2.summary) || s2.summary;
|
|
615515
|
-
lines.push(` Summary: ${cleanSummary
|
|
615549
|
+
lines.push(` Summary: ${truncateProjectContextText(cleanSummary, 120, "")}`);
|
|
615516
615550
|
}
|
|
615517
615551
|
}
|
|
615518
615552
|
const sessionCtx = loadSessionContext(repoRoot);
|
|
@@ -615524,8 +615558,8 @@ function loadSessionHistory2(repoRoot) {
|
|
|
615524
615558
|
const user = cleanForStorage(entry.task) || entry.task;
|
|
615525
615559
|
const assistant = cleanForStorage(entry.assistantResponse || entry.summary) || entry.assistantResponse || entry.summary;
|
|
615526
615560
|
if (!assistant) continue;
|
|
615527
|
-
lines.push(`- User: ${user
|
|
615528
|
-
lines.push(` Assistant: ${assistant
|
|
615561
|
+
lines.push(`- User: ${truncateProjectContextText(user, 120, "")}`);
|
|
615562
|
+
lines.push(` Assistant: ${truncateProjectContextText(assistant, 160, "")}`);
|
|
615529
615563
|
}
|
|
615530
615564
|
}
|
|
615531
615565
|
return lines.length > 1 ? lines.join("\n") : "";
|
|
@@ -615649,7 +615683,7 @@ function loadCustomToolsContext(repoRoot) {
|
|
|
615649
615683
|
const tested = tool.qualityGate?.lastTest?.testedAt?.split("T")[0] ?? "passed";
|
|
615650
615684
|
const schema = tool.qualityGate?.lastTest?.schemaValidation?.status;
|
|
615651
615685
|
const bits = [
|
|
615652
|
-
`- ${tool.name} v${tool.version ?? 1}: ${String(tool.description ?? "")
|
|
615686
|
+
`- ${tool.name} v${tool.version ?? 1}: ${truncateProjectContextText(String(tool.description ?? ""), 140, "")}`,
|
|
615653
615687
|
`docs=${tool.docsPath ?? "missing"}`,
|
|
615654
615688
|
existsSync109(indexPath) ? `index=${indexPath}` : "",
|
|
615655
615689
|
`test=${tested}${schema ? `, schema=${schema}` : ""}`,
|
|
@@ -615733,7 +615767,7 @@ ${ctx3.gitInfo}`);
|
|
|
615733
615767
|
} else if (modelTier === "medium" && ctx3.projectMap.length > 2e3) {
|
|
615734
615768
|
sections.push(`## Project Map (truncated)
|
|
615735
615769
|
|
|
615736
|
-
${ctx3.projectMap
|
|
615770
|
+
${truncateProjectContextText(ctx3.projectMap, 2e3, "")}
|
|
615737
615771
|
...(use find_files/list_directory for full listing)`);
|
|
615738
615772
|
} else {
|
|
615739
615773
|
sections.push(`## Project Map
|
|
@@ -615790,12 +615824,14 @@ These patterns have been repeated 3+ times. Consider using create_tool to automa
|
|
|
615790
615824
|
}
|
|
615791
615825
|
return sections.join("\n\n");
|
|
615792
615826
|
}
|
|
615827
|
+
var PROJECT_CONTEXT_URL_RE;
|
|
615793
615828
|
var init_project_context = __esm({
|
|
615794
615829
|
"packages/cli/src/tui/project-context.ts"() {
|
|
615795
615830
|
"use strict";
|
|
615796
615831
|
init_dist8();
|
|
615797
615832
|
init_omnius_directory();
|
|
615798
615833
|
init_dist5();
|
|
615834
|
+
PROJECT_CONTEXT_URL_RE = /\bhttps?:\/\/[^\s<>"'()[\]{}]+/gi;
|
|
615799
615835
|
}
|
|
615800
615836
|
});
|
|
615801
615837
|
|
|
@@ -627465,6 +627501,24 @@ function normalizeTelegramOutboundLinks(text) {
|
|
|
627465
627501
|
(match) => match.replace(/^(https?:\/\/)\s*/i, "$1").replace(/\s*\.\s*/g, ".").replace(/\s*:\s*(\d+)/g, ":$1")
|
|
627466
627502
|
);
|
|
627467
627503
|
}
|
|
627504
|
+
function telegramUrlSpanAt(text, index) {
|
|
627505
|
+
TELEGRAM_HTTP_URL_RE.lastIndex = 0;
|
|
627506
|
+
for (const match of text.matchAll(TELEGRAM_HTTP_URL_RE)) {
|
|
627507
|
+
const start2 = match.index ?? 0;
|
|
627508
|
+
const end = start2 + match[0].length;
|
|
627509
|
+
if (start2 < index && index < end) return { start: start2, end };
|
|
627510
|
+
}
|
|
627511
|
+
return null;
|
|
627512
|
+
}
|
|
627513
|
+
function truncateTelegramUrlSafe(text, maxLength, suffix = "...") {
|
|
627514
|
+
const normalized = normalizeTelegramOutboundLinks(text);
|
|
627515
|
+
if (normalized.length <= maxLength) return normalized;
|
|
627516
|
+
if (maxLength <= suffix.length) return normalized.slice(0, maxLength);
|
|
627517
|
+
let cut = maxLength - suffix.length;
|
|
627518
|
+
const span = telegramUrlSpanAt(normalized, cut);
|
|
627519
|
+
if (span) cut = span.start;
|
|
627520
|
+
return `${normalized.slice(0, Math.max(0, cut)).trimEnd()}${suffix}`;
|
|
627521
|
+
}
|
|
627468
627522
|
function splitTelegramMessageText(text, maxLength = 3900) {
|
|
627469
627523
|
const trimmed = text.trim();
|
|
627470
627524
|
if (!trimmed) return [];
|
|
@@ -627611,16 +627665,14 @@ function dedupeTelegramVisibleReply(text) {
|
|
|
627611
627665
|
return out.join(" ").trim();
|
|
627612
627666
|
}
|
|
627613
627667
|
function truncateTelegramContext(text, maxLength) {
|
|
627614
|
-
const trimmed = text.trim();
|
|
627668
|
+
const trimmed = normalizeTelegramOutboundLinks(text).trim();
|
|
627615
627669
|
if (trimmed.length <= maxLength) return trimmed;
|
|
627616
|
-
return
|
|
627617
|
-
|
|
627618
|
-
[Telegram context truncated; use tools for full detail.]`;
|
|
627670
|
+
return truncateTelegramUrlSafe(trimmed, maxLength, "\n\n[Telegram context truncated; use tools for full detail.]");
|
|
627619
627671
|
}
|
|
627620
627672
|
function truncateTelegramContextLine(text, maxLength = TELEGRAM_CONTEXT_LINE_LIMIT) {
|
|
627621
|
-
const compact3 = stripTelegramHiddenThinking(text).replace(/\s+/g, " ").trim();
|
|
627673
|
+
const compact3 = normalizeTelegramOutboundLinks(stripTelegramHiddenThinking(text)).replace(/\s+/g, " ").trim();
|
|
627622
627674
|
if (compact3.length <= maxLength) return compact3;
|
|
627623
|
-
return
|
|
627675
|
+
return truncateTelegramUrlSafe(compact3, maxLength);
|
|
627624
627676
|
}
|
|
627625
627677
|
function telegramRegexEscape(text) {
|
|
627626
627678
|
return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
@@ -628647,7 +628699,7 @@ function renderTelegramSubAgentError(username, error) {
|
|
|
628647
628699
|
process.stdout.write(` ${c3.dim("│")} ${c3.magenta("✘")} @${username}: ${c3.dim(preview)}
|
|
628648
628700
|
`);
|
|
628649
628701
|
}
|
|
628650
|
-
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_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_SUB_AGENT_DEFAULT_LIMIT, TELEGRAM_SUB_AGENT_MAX_LIMIT, TELEGRAM_SUB_AGENT_BURST_CONTEXT_LIMIT, 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_PUBLIC_TOOL_QUOTAS, TelegramBridge;
|
|
628702
|
+
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_SUB_AGENT_DEFAULT_LIMIT, TELEGRAM_SUB_AGENT_MAX_LIMIT, TELEGRAM_SUB_AGENT_BURST_CONTEXT_LIMIT, 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_PUBLIC_TOOL_QUOTAS, TelegramBridge;
|
|
628651
628703
|
var init_telegram_bridge = __esm({
|
|
628652
628704
|
"packages/cli/src/tui/telegram-bridge.ts"() {
|
|
628653
628705
|
"use strict";
|
|
@@ -628947,6 +628999,7 @@ Telegram link integrity contract:
|
|
|
628947
628999
|
}
|
|
628948
629000
|
};
|
|
628949
629001
|
TELEGRAM_SPACED_URL_RE = /\bhttps?:\/\/\s*[A-Za-z0-9-]+(?:\s*\.\s*[A-Za-z0-9-]+)+(?:\s*:\s*\d+)?(?:[/?#][^\s<>"'()[\]{}]*)?/gi;
|
|
629002
|
+
TELEGRAM_HTTP_URL_RE = /\bhttps?:\/\/[^\s<>"'()[\]{}]+/gi;
|
|
628950
629003
|
TELEGRAM_STUCK_SELF_TALK_PREFIXES = [
|
|
628951
629004
|
/^i'?ve been stuck for\b/i,
|
|
628952
629005
|
/^i am (still |currently )?stuck\b/i,
|
|
@@ -630230,9 +630283,8 @@ ${message2}`)
|
|
|
630230
630283
|
return reply;
|
|
630231
630284
|
}
|
|
630232
630285
|
quoteTelegramContextBlock(text, maxLength = 1800) {
|
|
630233
|
-
const clean5 = stripTelegramHiddenThinking(text).trim();
|
|
630234
|
-
const clipped = clean5.length > maxLength ?
|
|
630235
|
-
[reply context truncated]` : clean5;
|
|
630286
|
+
const clean5 = normalizeTelegramOutboundLinks(stripTelegramHiddenThinking(text)).trim();
|
|
630287
|
+
const clipped = clean5.length > maxLength ? truncateTelegramUrlSafe(clean5, maxLength, "\n[reply context truncated]") : clean5;
|
|
630236
630288
|
return clipped.split(/\r?\n/).map((line) => `> ${line}`).join("\n");
|
|
630237
630289
|
}
|
|
630238
630290
|
buildTelegramCurrentReplyContext(sessionKey, msg) {
|
|
@@ -631620,7 +631672,7 @@ ${mediaContext}` : ""
|
|
|
631620
631672
|
recordTelegramUserMessage(msg, mode, textOverride) {
|
|
631621
631673
|
const sessionKey = this.sessionKeyForMessage(msg);
|
|
631622
631674
|
const mediaSummary = summarizeTelegramMessageAttachments(msg);
|
|
631623
|
-
const text = (textOverride ?? msg.text ?? "").trim() || mediaSummary || "[non-text Telegram message]";
|
|
631675
|
+
const text = normalizeTelegramOutboundLinks((textOverride ?? msg.text ?? "").trim()) || mediaSummary || "[non-text Telegram message]";
|
|
631624
631676
|
this.ensureTelegramConversationLoaded(sessionKey);
|
|
631625
631677
|
const history = this.chatHistory.get(sessionKey) ?? [];
|
|
631626
631678
|
const existing = Number.isFinite(msg.messageId) ? history.find(
|
|
@@ -631709,7 +631761,7 @@ ${mediaContext}` : ""
|
|
|
631709
631761
|
this.saveTelegramConversationState(sessionKey);
|
|
631710
631762
|
}
|
|
631711
631763
|
recordTelegramAssistantMessage(msg, text, mode, options2 = {}) {
|
|
631712
|
-
const clean5 = stripTelegramHiddenThinking(text).trim();
|
|
631764
|
+
const clean5 = normalizeTelegramOutboundLinks(stripTelegramHiddenThinking(text)).trim();
|
|
631713
631765
|
if (!clean5) return;
|
|
631714
631766
|
const sessionKey = this.sessionKeyForMessage(msg);
|
|
631715
631767
|
const entry = {
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnius",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.172",
|
|
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.172",
|
|
10
10
|
"bundleDependencies": [
|
|
11
11
|
"image-to-ascii"
|
|
12
12
|
],
|
package/package.json
CHANGED