omnius 1.0.845 → 1.0.847
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 +2 -2
- package/dist/library.js +190 -36
- package/docs/DISCOVERY.json +110 -0
- package/docs/DISCOVERY.md +3 -0
- package/docs/work-orders/WO-native-transport-fresh-install-20261012.md +84 -0
- package/docs/work-orders/WO-telegram-plain-answer-and-provider-catalog-20261012.md +117 -0
- package/docs/work-orders/WO-telegram-unavailable-review-presentation-20261012.md +88 -0
- package/npm-shrinkwrap.json +29 -184
- package/package.json +1 -2
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/dist/index.js
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 37088449 bytes
|
|
4
|
+
sha256: f5581b26f6b472a9af893e906670aabb393bc4c63944d2daeadbec245809eb01
|
package/dist/library.js
CHANGED
|
@@ -342649,8 +342649,31 @@ var FREE_INFERENCE_SEEDS = Object.freeze([
|
|
|
342649
342649
|
modelsUrl: "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1/models",
|
|
342650
342650
|
model: "gpt-oss-20b",
|
|
342651
342651
|
nativeToolsHint: true
|
|
342652
|
+
}),
|
|
342653
|
+
Object.freeze({
|
|
342654
|
+
id: "chat",
|
|
342655
|
+
name: "ch.at",
|
|
342656
|
+
chatUrl: "https://ch.at/v1/chat/completions",
|
|
342657
|
+
model: "provider-default",
|
|
342658
|
+
nativeToolsHint: false,
|
|
342659
|
+
providerDefaultModel: true
|
|
342652
342660
|
})
|
|
342653
342661
|
]);
|
|
342662
|
+
function mergeKeylessInferenceProviders(discovered) {
|
|
342663
|
+
const routes = new Map(FREE_INFERENCE_SEEDS.map((provider) => [provider.chatUrl, { ...provider }]));
|
|
342664
|
+
for (const provider of discovered) {
|
|
342665
|
+
const known = routes.get(provider.chatUrl);
|
|
342666
|
+
if (!known)
|
|
342667
|
+
routes.set(provider.chatUrl, { ...provider });
|
|
342668
|
+
else if (known.id === provider.id && known.modelsUrl === provider.modelsUrl)
|
|
342669
|
+
routes.set(provider.chatUrl, {
|
|
342670
|
+
...provider,
|
|
342671
|
+
...known,
|
|
342672
|
+
nativeToolsHint: known.nativeToolsHint || provider.nativeToolsHint
|
|
342673
|
+
});
|
|
342674
|
+
}
|
|
342675
|
+
return [...routes.values()];
|
|
342676
|
+
}
|
|
342654
342677
|
var object2 = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
|
|
342655
342678
|
var boundedString3 = (value, max = 256) => typeof value === "string" && value.length > 0 && value.length <= max && !/[\u0000-\u001f\u007f]/.test(value);
|
|
342656
342679
|
function publicHttpsSyntax(value) {
|
|
@@ -342704,11 +342727,12 @@ function parseKeylessInferenceRegistry(html) {
|
|
|
342704
342727
|
continue;
|
|
342705
342728
|
const chat = provider.endpoints.find((e) => object2(e) && e.method === "POST" && typeof e.url === "string" && e.url.endsWith("/chat/completions"));
|
|
342706
342729
|
const models = provider.endpoints.find((e) => object2(e) && e.method === "GET" && typeof e.url === "string" && e.url.endsWith("/models"));
|
|
342707
|
-
if (!object2(chat)
|
|
342730
|
+
if (!object2(chat))
|
|
342708
342731
|
continue;
|
|
342709
342732
|
const chatUrl = publicHttpsSyntax(chat.url);
|
|
342710
|
-
const modelsUrl = publicHttpsSyntax(models.url);
|
|
342711
|
-
|
|
342733
|
+
const modelsUrl = object2(models) ? publicHttpsSyntax(models.url) : void 0;
|
|
342734
|
+
const pinnedDefault = FREE_INFERENCE_SEEDS.find((seed) => seed.providerDefaultModel && seed.id === provider.id && seed.chatUrl === chatUrl);
|
|
342735
|
+
if (!chatUrl || !modelsUrl && !pinnedDefault || modelsUrl && new URL(chatUrl).origin !== new URL(modelsUrl).origin)
|
|
342712
342736
|
continue;
|
|
342713
342737
|
if (sentinel && new URL(chatUrl).origin !== "https://api.llm7.io")
|
|
342714
342738
|
continue;
|
|
@@ -342717,9 +342741,10 @@ function parseKeylessInferenceRegistry(html) {
|
|
|
342717
342741
|
id: provider.id,
|
|
342718
342742
|
name: boundedString3(provider.name, 80) ? provider.name : provider.id,
|
|
342719
342743
|
chatUrl,
|
|
342720
|
-
modelsUrl,
|
|
342721
|
-
model: boundedString3(example.model) ? example.model : "",
|
|
342744
|
+
...modelsUrl ? { modelsUrl } : {},
|
|
342745
|
+
model: pinnedDefault?.model ?? (boundedString3(example.model) ? example.model : ""),
|
|
342722
342746
|
nativeToolsHint: provider.capabilities.some((cap) => cap === "function_calling_on_supported_models" || cap === "tools_on_supported_models"),
|
|
342747
|
+
...pinnedDefault ? { providerDefaultModel: true, nativeToolsHint: false } : {},
|
|
342723
342748
|
...sentinel ? { anonymousAuthorization: "Bearer unused" } : {}
|
|
342724
342749
|
});
|
|
342725
342750
|
if (providers.length >= MAX_ROUTES)
|
|
@@ -349052,6 +349077,7 @@ var localCooldowns = /* @__PURE__ */ new Map();
|
|
|
349052
349077
|
var registryCaches = /* @__PURE__ */ new WeakMap();
|
|
349053
349078
|
var catalogCaches = /* @__PURE__ */ new WeakMap();
|
|
349054
349079
|
var MAX_ROUTES2 = 6;
|
|
349080
|
+
var MAX_MODELS_PER_PROVIDER = 3;
|
|
349055
349081
|
var MAX_REGISTRY_BYTES = 1048576;
|
|
349056
349082
|
var MAX_CATALOG_BYTES = 262144;
|
|
349057
349083
|
var MAX_REQUEST_BYTES = 2097152;
|
|
@@ -349121,6 +349147,12 @@ function publicHttps(value) {
|
|
|
349121
349147
|
function hasImages(request) {
|
|
349122
349148
|
return request.messages.some((message) => Array.isArray(message.content) && message.content.some((part) => object4(part) && (String(part.type) === "image_url" || String(part.type) === "image")));
|
|
349123
349149
|
}
|
|
349150
|
+
function chatCatalogModel(model) {
|
|
349151
|
+
if (!object4(model) || typeof model.id !== "string" || !/^[A-Za-z0-9_./:+@-]{1,200}$/.test(model.id) || model.max_completion_tokens === 0 || model.usage_based_only === true || model.model_type !== void 0 && model.model_type !== "chat" || /embedding|^bge-|^whisper|^flux|qwen\d*guard|(?:^|[/_-])(?:llama[-_])?guard(?:[-_/]|$)|moderation/i.test(model.id))
|
|
349152
|
+
return false;
|
|
349153
|
+
const modalities = object4(model.modalities) ? model.modalities : void 0;
|
|
349154
|
+
return !modalities || (!Array.isArray(modalities.input) || modalities.input.includes("text")) && (!Array.isArray(modalities.output) || modalities.output.includes("text"));
|
|
349155
|
+
}
|
|
349124
349156
|
var RemoteInferenceFallback = class _RemoteInferenceFallback {
|
|
349125
349157
|
primary;
|
|
349126
349158
|
makeBackend;
|
|
@@ -349531,6 +349563,7 @@ var RemoteInferenceFallback = class _RemoteInferenceFallback {
|
|
|
349531
349563
|
...route.contextWindow || route.maxOutputTokens ? { providerDefaultOutput: void 0 } : route.keyless ? { providerDefaultOutput: true, remoteProviderDefaultOutput: true } : {},
|
|
349532
349564
|
preferNativeOllamaChat: false,
|
|
349533
349565
|
think: false,
|
|
349566
|
+
remoteProviderDefaultModel: route.keyless?.providerDefaultModel ? true : void 0,
|
|
349534
349567
|
...route.keyless?.directAnswer ? { chatTemplateKwargs: { enable_thinking: false } } : {},
|
|
349535
349568
|
timeoutMs: Math.min(request.timeoutMs, this.policy.requestTimeoutMs)
|
|
349536
349569
|
};
|
|
@@ -349668,7 +349701,8 @@ var RemoteInferenceFallback = class _RemoteInferenceFallback {
|
|
|
349668
349701
|
this.fence(request);
|
|
349669
349702
|
registryCaches.set(fetcher, { until: this.now() + 15e3, providers: [] });
|
|
349670
349703
|
}
|
|
349671
|
-
|
|
349704
|
+
const alternatives = [];
|
|
349705
|
+
for (const provider of mergeKeylessInferenceProviders(discovered)) {
|
|
349672
349706
|
this.fence(request);
|
|
349673
349707
|
if (this.now() >= deadline || count2 >= MAX_ROUTES2)
|
|
349674
349708
|
return;
|
|
@@ -349684,50 +349718,88 @@ var RemoteInferenceFallback = class _RemoteInferenceFallback {
|
|
|
349684
349718
|
keyless: provider,
|
|
349685
349719
|
...provider.anonymousAuthorization === "Bearer unused" ? { apiKey: "unused" } : {}
|
|
349686
349720
|
};
|
|
349687
|
-
if (
|
|
349721
|
+
if (!this.compatible(request, route, includeCooling))
|
|
349722
|
+
continue;
|
|
349723
|
+
if (provider.providerDefaultModel) {
|
|
349724
|
+
const key = routeKey(route);
|
|
349725
|
+
if (!seen.has(key)) {
|
|
349726
|
+
seen.add(key);
|
|
349727
|
+
count2++;
|
|
349728
|
+
yield route;
|
|
349729
|
+
}
|
|
349730
|
+
continue;
|
|
349731
|
+
}
|
|
349732
|
+
const modelsUrl = provider.modelsUrl;
|
|
349733
|
+
if (!modelsUrl)
|
|
349688
349734
|
continue;
|
|
349689
|
-
seen.add(routeKey(route));
|
|
349690
349735
|
try {
|
|
349691
349736
|
let cache3 = catalogCaches.get(fetcher);
|
|
349692
349737
|
if (!cache3) {
|
|
349693
349738
|
cache3 = /* @__PURE__ */ new Map();
|
|
349694
349739
|
catalogCaches.set(fetcher, cache3);
|
|
349695
349740
|
}
|
|
349696
|
-
const cached = cache3.get(
|
|
349697
|
-
const raw = cached && cached.until > this.now() ? cached.value : JSON.parse(await this.read(
|
|
349741
|
+
const cached = cache3.get(modelsUrl);
|
|
349742
|
+
const raw = cached && cached.until > this.now() ? cached.value : JSON.parse(await this.read(modelsUrl, request, deadline, MAX_CATALOG_BYTES));
|
|
349698
349743
|
if (!object4(raw) || !Array.isArray(raw.data) || raw.data.length > 512)
|
|
349699
349744
|
continue;
|
|
349700
349745
|
if (cache3.size >= 64)
|
|
349701
349746
|
cache3.delete(cache3.keys().next().value);
|
|
349702
|
-
cache3.set(
|
|
349703
|
-
const models = raw.data.filter(
|
|
349704
|
-
const
|
|
349705
|
-
|
|
349706
|
-
|
|
349707
|
-
|
|
349708
|
-
|
|
349709
|
-
|
|
349710
|
-
|
|
349711
|
-
|
|
349712
|
-
const
|
|
349713
|
-
if (
|
|
349714
|
-
|
|
349715
|
-
|
|
349747
|
+
cache3.set(modelsUrl, { until: this.now() + 3e5, value: raw });
|
|
349748
|
+
const models = raw.data.filter(chatCatalogModel);
|
|
349749
|
+
const unique4 = [...new Map(models.map((model) => [String(model.id), model])).values()];
|
|
349750
|
+
const preferred = unique4.find((model) => model.id === route.model);
|
|
349751
|
+
const ordered = [
|
|
349752
|
+
...preferred ? [preferred] : provider.selector ? [void 0] : [],
|
|
349753
|
+
...unique4.filter((model) => model !== preferred).sort((a, b) => String(a.id) < String(b.id) ? -1 : String(a.id) > String(b.id) ? 1 : 0)
|
|
349754
|
+
];
|
|
349755
|
+
const compatible = [];
|
|
349756
|
+
for (const selected of ordered) {
|
|
349757
|
+
const candidate = { ...route, ...selected ? { model: String(selected.id) } : {} };
|
|
349758
|
+
if (selected) {
|
|
349759
|
+
const capabilities = object4(selected.capabilities) ? selected.capabilities : void 0;
|
|
349760
|
+
if (request.tools.length && (selected.tools_calling === false || capabilities?.tools === false || Array.isArray(selected.supported_parameters) && !selected.supported_parameters.includes("tools")))
|
|
349761
|
+
continue;
|
|
349762
|
+
if ((request.responseFormat ?? request.response_format) && (selected.json_mode === false || capabilities?.json_mode === false))
|
|
349763
|
+
continue;
|
|
349764
|
+
const nestedWindow = object4(selected.context_window) ? selected.context_window.tokens : selected.context_window;
|
|
349765
|
+
const window2 = [selected.context_length, nestedWindow, selected.max_model_len].find((value) => typeof value === "number" && Number.isSafeInteger(value) && value > 0);
|
|
349766
|
+
if (typeof window2 === "number")
|
|
349767
|
+
candidate.contextWindow = window2;
|
|
349768
|
+
const output = selected.max_completion_tokens;
|
|
349769
|
+
if (typeof output === "number" && Number.isSafeInteger(output) && output > 0)
|
|
349770
|
+
candidate.maxOutputTokens = output;
|
|
349771
|
+
}
|
|
349772
|
+
if (!candidate.model || seen.has(routeKey(candidate)) || !this.compatible(request, candidate, includeCooling))
|
|
349716
349773
|
continue;
|
|
349774
|
+
compatible.push(candidate);
|
|
349775
|
+
if (compatible.length >= MAX_MODELS_PER_PROVIDER)
|
|
349776
|
+
break;
|
|
349717
349777
|
}
|
|
349718
|
-
|
|
349778
|
+
const first = compatible.shift();
|
|
349779
|
+
if (!first)
|
|
349719
349780
|
continue;
|
|
349720
|
-
|
|
349721
|
-
|
|
349722
|
-
continue;
|
|
349723
|
-
seen.add(actualKey);
|
|
349724
|
-
yield route;
|
|
349781
|
+
alternatives.push(compatible);
|
|
349782
|
+
seen.add(routeKey(first));
|
|
349725
349783
|
count2++;
|
|
349784
|
+
yield first;
|
|
349726
349785
|
} catch {
|
|
349727
349786
|
this.fence(request);
|
|
349728
349787
|
this.cooldown(route, void 0);
|
|
349729
349788
|
}
|
|
349730
349789
|
}
|
|
349790
|
+
while (alternatives.some((routes) => routes.length)) {
|
|
349791
|
+
for (const routes of alternatives) {
|
|
349792
|
+
this.fence(request);
|
|
349793
|
+
if (this.now() >= deadline || count2 >= MAX_ROUTES2)
|
|
349794
|
+
return;
|
|
349795
|
+
const route = routes.shift();
|
|
349796
|
+
if (!route || seen.has(routeKey(route)) || !this.compatible(request, route, includeCooling))
|
|
349797
|
+
continue;
|
|
349798
|
+
seen.add(routeKey(route));
|
|
349799
|
+
count2++;
|
|
349800
|
+
yield route;
|
|
349801
|
+
}
|
|
349802
|
+
}
|
|
349731
349803
|
}
|
|
349732
349804
|
read(url, request, deadline, limit2) {
|
|
349733
349805
|
return this.attempt(request, Math.min(5e3, this.policy.requestTimeoutMs, deadline - this.now()), async (bounded3) => {
|
|
@@ -386366,6 +386438,7 @@ runtime_module_sha256=${record8.runtimeProvenance.module.sha256 ?? "unknown"}`
|
|
|
386366
386438
|
maxTurns: options?.maxTurns ?? 60,
|
|
386367
386439
|
continueOnDurableWorkProgress: options?.continueOnDurableWorkProgress ?? options?.maxTurns === void 0,
|
|
386368
386440
|
acceptTextOnlyCompletion: options?.acceptTextOnlyCompletion ?? false,
|
|
386441
|
+
admitTextOnlyCompletionCandidate: options?.admitTextOnlyCompletionCandidate,
|
|
386369
386442
|
expectedOutcomeContract,
|
|
386370
386443
|
taskObjectiveContract,
|
|
386371
386444
|
taskWorkPlan: options?.taskWorkPlan,
|
|
@@ -406165,6 +406238,7 @@ ${dynamicProjectContext}`
|
|
|
406165
406238
|
const sameResponseTelegramCompletionReplies = /* @__PURE__ */ new Map();
|
|
406166
406239
|
const telegramOnlyCompletionCallIds = /* @__PURE__ */ new Set();
|
|
406167
406240
|
let acceptedVisibleConversationResponse = false;
|
|
406241
|
+
let acceptedHostTextCompletion = false;
|
|
406168
406242
|
const currentTelegramCompletionObjectiveScope = () => {
|
|
406169
406243
|
return this._telegramCompletionObjectiveScope();
|
|
406170
406244
|
};
|
|
@@ -413008,7 +413082,85 @@ ${transportFailure2}` : transportFailure2;
|
|
|
413008
413082
|
});
|
|
413009
413083
|
const cleanNonStream = content.replace(/<think>[\s\S]*?<\/think>/g, "").trim();
|
|
413010
413084
|
this.emitModelAssistantText(cleanNonStream, turn);
|
|
413011
|
-
const
|
|
413085
|
+
const admitTextCandidate = this.options.admitTextOnlyCompletionCandidate;
|
|
413086
|
+
const textCandidate = this._latestModelVisibleAssistantText;
|
|
413087
|
+
if (this._isTelegramSurface() && admitTextCandidate && cleanNonStream && !isThinkOnly && this.options.expectedOutcomeContract?.requiredEffects.includes("visible_response") === true && textCandidate?.text === cleanNonStream && textCandidate.turn === turn && !this._pendingSteeringPreemption && !this._hasUnresolvedCurrentSteeringInputs() && !this.pendingUserMessages.length && !this.taskRequirementInterpretationPending) {
|
|
413088
|
+
const runController = this._abortController, turnController = this._turnAbortController;
|
|
413089
|
+
const signal = AbortSignal.any([runController.signal, turnController.signal]);
|
|
413090
|
+
const assertCurrent = () => {
|
|
413091
|
+
signal.throwIfAborted();
|
|
413092
|
+
const interruption = this._interruptionLifecycle?.snapshot();
|
|
413093
|
+
if (this.aborted || this._paused || this._abortController !== runController || this._turnAbortController !== turnController || this._latestModelVisibleAssistantText !== textCandidate || textCandidate.runId !== this.currentArtifactRunId() || textCandidate.taskEpoch !== this._taskEpoch || textCandidate.turn !== turn || textCandidate.text !== cleanNonStream || textCandidate.objectiveScope !== currentTelegramCompletionObjectiveScope() || textCandidate.objectiveFingerprint !== this._objectiveFrontier?.fingerprint || this._pendingSteeringPreemption || this._hasUnresolvedCurrentSteeringInputs() || this.pendingUserMessages.length || this.taskRequirementInterpretationPending || interruption && (interruption.phase !== "running" || interruption.pendingAcknowledgements.some((operation) => operation.status === "pending") || interruption.ambiguousEffects.some((effect) => effect.state === "unknown_after_interrupt")))
|
|
413094
|
+
throw new Error("Host-reviewed assistant reply is no longer current");
|
|
413095
|
+
};
|
|
413096
|
+
let onAbort;
|
|
413097
|
+
try {
|
|
413098
|
+
assertCurrent();
|
|
413099
|
+
const admission = Promise.resolve().then(() => {
|
|
413100
|
+
assertCurrent();
|
|
413101
|
+
return admitTextCandidate(Object.freeze({
|
|
413102
|
+
text: cleanNonStream,
|
|
413103
|
+
runId: textCandidate.runId,
|
|
413104
|
+
taskEpoch: textCandidate.taskEpoch,
|
|
413105
|
+
turn,
|
|
413106
|
+
signal,
|
|
413107
|
+
assertCurrent
|
|
413108
|
+
}));
|
|
413109
|
+
});
|
|
413110
|
+
const admitted = await Promise.race([admission, new Promise((_resolve, reject) => {
|
|
413111
|
+
onAbort = () => reject(signal.reason);
|
|
413112
|
+
if (signal.aborted)
|
|
413113
|
+
onAbort();
|
|
413114
|
+
else
|
|
413115
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
413116
|
+
})]);
|
|
413117
|
+
assertCurrent();
|
|
413118
|
+
if (admitted === true) {
|
|
413119
|
+
acceptedCompletionReply = {
|
|
413120
|
+
...textCandidate,
|
|
413121
|
+
text: cleanNonStream,
|
|
413122
|
+
toolCallId: `host-visible-response:${crypto.randomUUID()}`,
|
|
413123
|
+
source: "host_reviewed_model_visible_text"
|
|
413124
|
+
};
|
|
413125
|
+
acceptedHostTextCompletion = true;
|
|
413126
|
+
acceptedVisibleConversationResponse = true;
|
|
413127
|
+
completed = true;
|
|
413128
|
+
summary = cleanNonStream;
|
|
413129
|
+
this._onTypedEvent?.({
|
|
413130
|
+
type: "completion_requested",
|
|
413131
|
+
runId: this.currentArtifactRunId(),
|
|
413132
|
+
summary: cleanNonStream.slice(0, 500),
|
|
413133
|
+
sourcePath: this.options.streamEnabled ? "stream" : "batch",
|
|
413134
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
413135
|
+
});
|
|
413136
|
+
break;
|
|
413137
|
+
}
|
|
413138
|
+
if (admitted && typeof admitted === "object" && admitted.admitted === false && typeof admitted.feedback === "string") {
|
|
413139
|
+
const feedback = this.scrubUserInput(admitted.feedback, "host-text-completion-review").trim().slice(0, 4e3);
|
|
413140
|
+
if (feedback)
|
|
413141
|
+
messages.push({ role: "system", content: feedback });
|
|
413142
|
+
}
|
|
413143
|
+
} catch (error) {
|
|
413144
|
+
if (this.aborted || runController.signal.aborted)
|
|
413145
|
+
break;
|
|
413146
|
+
if (this._pendingSteeringPreemption || this._immediateSteeringWakeInputId || this._hasUnresolvedCurrentSteeringInputs() || this.pendingUserMessages.length || this.taskRequirementInterpretationPending) {
|
|
413147
|
+
this.emit({
|
|
413148
|
+
type: "status",
|
|
413149
|
+
content: "Plain assistant reply admission interrupted by current user steering; entering the next safe boundary.",
|
|
413150
|
+
turn,
|
|
413151
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
413152
|
+
});
|
|
413153
|
+
continue;
|
|
413154
|
+
}
|
|
413155
|
+
if (signal.aborted)
|
|
413156
|
+
break;
|
|
413157
|
+
throw error;
|
|
413158
|
+
} finally {
|
|
413159
|
+
if (onAbort)
|
|
413160
|
+
signal.removeEventListener("abort", onAbort);
|
|
413161
|
+
}
|
|
413162
|
+
}
|
|
413163
|
+
const textOnlyCompletionAllowed = !(this._isTelegramSurface() && admitTextCandidate) && this.options.acceptTextOnlyCompletion && expectedOutcomeAllowsTextOnlyCompletion(this.options.expectedOutcomeContract);
|
|
413012
413164
|
if (this._isTelegramSurface() && textOnlyCompletionAllowed && cleanNonStream) {
|
|
413013
413165
|
const beforeVisibleResponse = this._currentExpectedOutcomeAssessment();
|
|
413014
413166
|
if (beforeVisibleResponse?.missingEffects.length && beforeVisibleResponse.missingEffects.every((effect) => effect === "visible_response")) {
|
|
@@ -413955,7 +414107,7 @@ ${terminalFeedback.slice(0, 4e3)}`,
|
|
|
413955
414107
|
});
|
|
413956
414108
|
}
|
|
413957
414109
|
const completionHadIndependentVerificationFailure = Boolean(finalAuthoritativeDeficit || this._completionIncompleteVerification);
|
|
413958
|
-
const taskCompleteRequiresVisibleResponse = this._isTelegramSurface() && acceptedTaskCompleteStatus !== void 0 && this.options.expectedOutcomeContract?.requiredEffects.includes("visible_response") === true;
|
|
414110
|
+
const taskCompleteRequiresVisibleResponse = this._isTelegramSurface() && (acceptedTaskCompleteStatus !== void 0 || acceptedHostTextCompletion) && this.options.expectedOutcomeContract?.requiredEffects.includes("visible_response") === true;
|
|
413959
414111
|
const taskCompleteOwnsAcceptedReply = acceptedCompletionReply?.source === "task_complete_user_reply" && acceptedCompletionReply.runId === this.currentArtifactRunId() && acceptedCompletionReply.taskEpoch === this._taskEpoch && acceptedCompletionReply.objectiveScope === currentTelegramCompletionObjectiveScope();
|
|
413960
414112
|
const hasTelegramDeliveryReceipt = this._isTelegramSurface() && [...this._completionDeliveryReceipts.values()].some((receipt) => receipt.provider.trim().toLowerCase() === "telegram");
|
|
413961
414113
|
if (completed && !declaredDegradedCompletion && taskCompleteRequiresVisibleResponse && !taskCompleteOwnsAcceptedReply && !hasTelegramDeliveryReceipt) {
|
|
@@ -413995,9 +414147,9 @@ ${terminalFeedback.slice(0, 4e3)}`,
|
|
|
413995
414147
|
expectedOutcomeAssessment,
|
|
413996
414148
|
override: acceptedTaskCompleteOverride
|
|
413997
414149
|
});
|
|
413998
|
-
const providerDeliveryIsOnlyRemainingEffect = Boolean(this._isTelegramSurface() && taskCompleteRequiresVisibleResponse && !hasTelegramDeliveryReceipt && (acceptedCompletionReply?.source === "task_complete_user_reply" || acceptedCompletionReply?.source === "same_response_model_visible_text" || acceptedCompletionReply?.source === "prior_response_model_visible_text") && expectedOutcomeAssessment && !expectedOutcomeAssessment.satisfied && expectedOutcomeAssessment.missingEffects.length === 1 && expectedOutcomeAssessment.missingEffects[0] === "visible_response" && expectedOutcomeAssessment.requiredEffects.every((effect) => effect === "visible_response" || expectedOutcomeAssessment.observedEffects.includes(effect)) && completionReadinessAllowsExpectedEffectReply(completionReadiness));
|
|
413999
|
-
const canonicalProviderDeliveryIsPending = Boolean(this._isTelegramSurface() && !declaredDegradedCompletion && !hasTelegramDeliveryReceipt && !completionHadIndependentVerificationFailure && !this._terminalRuntimeFailure && !this.aborted && !this.taskRequirementInterpretationPending && !this._interruptionLifecycle?.snapshot().pendingAcknowledgements.some((operation) => operation.status === "pending") && !this._interruptionLifecycle?.snapshot().ambiguousEffects.some((effect) => effect.state === "unknown_after_interrupt") && acceptedCompletionReply && acceptedCompletionReply.runId === this.currentArtifactRunId() && acceptedCompletionReply.taskEpoch === this._taskEpoch && acceptedCompletionReply.objectiveScope === currentTelegramCompletionObjectiveScope() && (acceptedCompletionReply.source === "task_complete_user_reply" || acceptedCompletionReply.source === "same_response_model_visible_text" || acceptedCompletionReply.source === "prior_response_model_visible_text") && completionReadinessAllowsCanonicalProviderDelivery(completionReadiness, this.getTaskExecutionSnapshot(), acceptedCompletionReply.text));
|
|
414000
|
-
const providerDeliveryEffectsArePending = canonicalProviderDeliveryIsPending || Boolean(this._telegramPendingProviderDeliveryFrontierIsCurrent() && !declaredDegradedCompletion && !hasTelegramDeliveryReceipt && !completionHadIndependentVerificationFailure && acceptedCompletionReply && acceptedCompletionReply.runId === this.currentArtifactRunId() && acceptedCompletionReply.taskEpoch === this._taskEpoch && acceptedCompletionReply.objectiveScope === currentTelegramCompletionObjectiveScope() && acceptedCompletionReply.objectiveFingerprint === this._objectiveFrontier?.fingerprint && (acceptedCompletionReply.source === "task_complete_user_reply" || acceptedCompletionReply.source === "same_response_model_visible_text" || acceptedCompletionReply.source === "prior_response_model_visible_text") && completionReadinessAllowsPendingProviderDelivery(completionReadiness));
|
|
414150
|
+
const providerDeliveryIsOnlyRemainingEffect = Boolean(this._isTelegramSurface() && taskCompleteRequiresVisibleResponse && !hasTelegramDeliveryReceipt && (acceptedCompletionReply?.source === "task_complete_user_reply" || acceptedCompletionReply?.source === "same_response_model_visible_text" || acceptedCompletionReply?.source === "prior_response_model_visible_text" || acceptedCompletionReply?.source === "host_reviewed_model_visible_text") && expectedOutcomeAssessment && !expectedOutcomeAssessment.satisfied && expectedOutcomeAssessment.missingEffects.length === 1 && expectedOutcomeAssessment.missingEffects[0] === "visible_response" && expectedOutcomeAssessment.requiredEffects.every((effect) => effect === "visible_response" || expectedOutcomeAssessment.observedEffects.includes(effect)) && completionReadinessAllowsExpectedEffectReply(completionReadiness));
|
|
414151
|
+
const canonicalProviderDeliveryIsPending = Boolean(this._isTelegramSurface() && !declaredDegradedCompletion && !hasTelegramDeliveryReceipt && !completionHadIndependentVerificationFailure && !this._terminalRuntimeFailure && !this.aborted && !this.taskRequirementInterpretationPending && !this._interruptionLifecycle?.snapshot().pendingAcknowledgements.some((operation) => operation.status === "pending") && !this._interruptionLifecycle?.snapshot().ambiguousEffects.some((effect) => effect.state === "unknown_after_interrupt") && acceptedCompletionReply && acceptedCompletionReply.runId === this.currentArtifactRunId() && acceptedCompletionReply.taskEpoch === this._taskEpoch && acceptedCompletionReply.objectiveScope === currentTelegramCompletionObjectiveScope() && (acceptedCompletionReply.source === "task_complete_user_reply" || acceptedCompletionReply.source === "same_response_model_visible_text" || acceptedCompletionReply.source === "prior_response_model_visible_text" || acceptedCompletionReply.source === "host_reviewed_model_visible_text") && completionReadinessAllowsCanonicalProviderDelivery(completionReadiness, this.getTaskExecutionSnapshot(), acceptedCompletionReply.text));
|
|
414152
|
+
const providerDeliveryEffectsArePending = canonicalProviderDeliveryIsPending || Boolean(this._telegramPendingProviderDeliveryFrontierIsCurrent() && !declaredDegradedCompletion && !hasTelegramDeliveryReceipt && !completionHadIndependentVerificationFailure && acceptedCompletionReply && acceptedCompletionReply.runId === this.currentArtifactRunId() && acceptedCompletionReply.taskEpoch === this._taskEpoch && acceptedCompletionReply.objectiveScope === currentTelegramCompletionObjectiveScope() && acceptedCompletionReply.objectiveFingerprint === this._objectiveFrontier?.fingerprint && (acceptedCompletionReply.source === "task_complete_user_reply" || acceptedCompletionReply.source === "same_response_model_visible_text" || acceptedCompletionReply.source === "prior_response_model_visible_text" || acceptedCompletionReply.source === "host_reviewed_model_visible_text") && completionReadinessAllowsPendingProviderDelivery(completionReadiness));
|
|
414001
414153
|
const attemptedSuccessfulTerminal = !declaredDegradedCompletion && (completed || acceptedTaskCompleteStatus === "completed" || acceptedTaskCompleteStatus === "no_changes_required");
|
|
414002
414154
|
if (this._completionReadinessMode === "shadow") {
|
|
414003
414155
|
const integrityKey = loadRuntimeRolloutIntegrityKey(this.omniusStateDir());
|
|
@@ -415112,7 +415264,7 @@ Result: ${summary.slice(0, 330)}`,
|
|
|
415112
415264
|
runId: terminalReceipt.runId,
|
|
415113
415265
|
terminalReceiptId: terminalReceipt.id
|
|
415114
415266
|
} : void 0,
|
|
415115
|
-
deliverableUserReply: terminalReceipt && (acceptedCompletionReply?.source === "task_complete_user_reply" || acceptedCompletionReply?.source === "same_response_model_visible_text" || acceptedCompletionReply?.source === "prior_response_model_visible_text") && acceptedCompletionReply.taskEpoch === terminalReceipt.taskEpoch && (declaredIncompleteReplyIsCurrent || !declaredDegradedCompletion && (providerDeliveryEffectsArePending || completionReadinessAllowsExpectedEffectReply(completionReadiness) && (providerDeliveryIsOnlyRemainingEffect || !completionHadIndependentVerificationFailure))) ? {
|
|
415267
|
+
deliverableUserReply: terminalReceipt && (acceptedCompletionReply?.source === "task_complete_user_reply" || acceptedCompletionReply?.source === "same_response_model_visible_text" || acceptedCompletionReply?.source === "prior_response_model_visible_text" || acceptedCompletionReply?.source === "host_reviewed_model_visible_text") && (acceptedCompletionReply.source !== "host_reviewed_model_visible_text" || providerDeliveryIsOnlyRemainingEffect || providerDeliveryEffectsArePending) && acceptedCompletionReply.taskEpoch === terminalReceipt.taskEpoch && (declaredIncompleteReplyIsCurrent || !declaredDegradedCompletion && (providerDeliveryEffectsArePending || completionReadinessAllowsExpectedEffectReply(completionReadiness) && (providerDeliveryIsOnlyRemainingEffect || !completionHadIndependentVerificationFailure))) ? {
|
|
415116
415268
|
text: acceptedCompletionReply.text,
|
|
415117
415269
|
toolCallId: acceptedCompletionReply.toolCallId,
|
|
415118
415270
|
taskEpoch: acceptedCompletionReply.taskEpoch,
|
|
@@ -422069,6 +422221,8 @@ var OllamaAgenticBackend = class _OllamaAgenticBackend {
|
|
|
422069
422221
|
}
|
|
422070
422222
|
brokerRequestOptions(request, body, signal) {
|
|
422071
422223
|
const nativeContext = request.numCtx ?? request.num_ctx;
|
|
422224
|
+
if (request.remoteProviderDefaultModel === true && request.configuredEndpointOnly === true && this._provider.protocol === "openai-chat")
|
|
422225
|
+
delete body["model"];
|
|
422072
422226
|
const remoteDefault = request.remoteProviderDefaultOutput === true && request.configuredEndpointOnly === true && this._provider.protocol === "openai-chat";
|
|
422073
422227
|
if (request.providerDefaultOutput === true && (remoteDefault || request.maxTokens === 16384 && request.contextAdmission !== true && !(Number.isFinite(nativeContext) && (nativeContext ?? 0) > 0)) && this._provider.protocol !== "anthropic-messages") {
|
|
422074
422228
|
delete body["max_tokens"];
|
package/docs/DISCOVERY.json
CHANGED
|
@@ -37230,6 +37230,42 @@
|
|
|
37230
37230
|
}
|
|
37231
37231
|
]
|
|
37232
37232
|
},
|
|
37233
|
+
{
|
|
37234
|
+
"id": "guide.work-orders-wo-native-transport-fresh-install-20261012-uppercase",
|
|
37235
|
+
"kind": "guide",
|
|
37236
|
+
"title": "Native transport failure in the fresh npm installation gate",
|
|
37237
|
+
"summary": "Status: implemented and verified. Publication remains with the user.",
|
|
37238
|
+
"keywords": [
|
|
37239
|
+
"work",
|
|
37240
|
+
"orders",
|
|
37241
|
+
"WO",
|
|
37242
|
+
"native",
|
|
37243
|
+
"transport",
|
|
37244
|
+
"fresh",
|
|
37245
|
+
"install",
|
|
37246
|
+
"20261012",
|
|
37247
|
+
"md"
|
|
37248
|
+
],
|
|
37249
|
+
"maturity": "internal",
|
|
37250
|
+
"audiences": [
|
|
37251
|
+
"maintainer",
|
|
37252
|
+
"large-context-agent"
|
|
37253
|
+
],
|
|
37254
|
+
"layer": "documentation",
|
|
37255
|
+
"interfaces": [
|
|
37256
|
+
{
|
|
37257
|
+
"type": "file",
|
|
37258
|
+
"target": "docs/work-orders/WO-native-transport-fresh-install-20261012.md"
|
|
37259
|
+
}
|
|
37260
|
+
],
|
|
37261
|
+
"references": [
|
|
37262
|
+
{
|
|
37263
|
+
"type": "documentation",
|
|
37264
|
+
"target": "docs/work-orders/WO-native-transport-fresh-install-20261012.md",
|
|
37265
|
+
"relation": "canonical-artifact"
|
|
37266
|
+
}
|
|
37267
|
+
]
|
|
37268
|
+
},
|
|
37233
37269
|
{
|
|
37234
37270
|
"id": "guide.work-orders-wo-primary-checkout-fallback-delivery-20261012-uppercase",
|
|
37235
37271
|
"kind": "guide",
|
|
@@ -37300,6 +37336,80 @@
|
|
|
37300
37336
|
}
|
|
37301
37337
|
]
|
|
37302
37338
|
},
|
|
37339
|
+
{
|
|
37340
|
+
"id": "guide.work-orders-wo-telegram-plain-answer-and-provider-catalog-20261012-uppercase",
|
|
37341
|
+
"kind": "guide",
|
|
37342
|
+
"title": "Preserve native Telegram answers and use compatible free inference routes",
|
|
37343
|
+
"summary": "Status: implemented and verified. The user owns publication and runtime replacement.",
|
|
37344
|
+
"keywords": [
|
|
37345
|
+
"work",
|
|
37346
|
+
"orders",
|
|
37347
|
+
"WO",
|
|
37348
|
+
"telegram",
|
|
37349
|
+
"plain",
|
|
37350
|
+
"answer",
|
|
37351
|
+
"and",
|
|
37352
|
+
"provider",
|
|
37353
|
+
"catalog",
|
|
37354
|
+
"20261012",
|
|
37355
|
+
"md"
|
|
37356
|
+
],
|
|
37357
|
+
"maturity": "internal",
|
|
37358
|
+
"audiences": [
|
|
37359
|
+
"maintainer",
|
|
37360
|
+
"large-context-agent"
|
|
37361
|
+
],
|
|
37362
|
+
"layer": "documentation",
|
|
37363
|
+
"interfaces": [
|
|
37364
|
+
{
|
|
37365
|
+
"type": "file",
|
|
37366
|
+
"target": "docs/work-orders/WO-telegram-plain-answer-and-provider-catalog-20261012.md"
|
|
37367
|
+
}
|
|
37368
|
+
],
|
|
37369
|
+
"references": [
|
|
37370
|
+
{
|
|
37371
|
+
"type": "documentation",
|
|
37372
|
+
"target": "docs/work-orders/WO-telegram-plain-answer-and-provider-catalog-20261012.md",
|
|
37373
|
+
"relation": "canonical-artifact"
|
|
37374
|
+
}
|
|
37375
|
+
]
|
|
37376
|
+
},
|
|
37377
|
+
{
|
|
37378
|
+
"id": "guide.work-orders-wo-telegram-unavailable-review-presentation-20261012-uppercase",
|
|
37379
|
+
"kind": "guide",
|
|
37380
|
+
"title": "Telegram reply presentation when an auxiliary review is unavailable",
|
|
37381
|
+
"summary": "Status: implemented and verified. Publication and runtime replacement remain with the user.",
|
|
37382
|
+
"keywords": [
|
|
37383
|
+
"work",
|
|
37384
|
+
"orders",
|
|
37385
|
+
"WO",
|
|
37386
|
+
"telegram",
|
|
37387
|
+
"unavailable",
|
|
37388
|
+
"review",
|
|
37389
|
+
"presentation",
|
|
37390
|
+
"20261012",
|
|
37391
|
+
"md"
|
|
37392
|
+
],
|
|
37393
|
+
"maturity": "internal",
|
|
37394
|
+
"audiences": [
|
|
37395
|
+
"maintainer",
|
|
37396
|
+
"large-context-agent"
|
|
37397
|
+
],
|
|
37398
|
+
"layer": "documentation",
|
|
37399
|
+
"interfaces": [
|
|
37400
|
+
{
|
|
37401
|
+
"type": "file",
|
|
37402
|
+
"target": "docs/work-orders/WO-telegram-unavailable-review-presentation-20261012.md"
|
|
37403
|
+
}
|
|
37404
|
+
],
|
|
37405
|
+
"references": [
|
|
37406
|
+
{
|
|
37407
|
+
"type": "documentation",
|
|
37408
|
+
"target": "docs/work-orders/WO-telegram-unavailable-review-presentation-20261012.md",
|
|
37409
|
+
"relation": "canonical-artifact"
|
|
37410
|
+
}
|
|
37411
|
+
]
|
|
37412
|
+
},
|
|
37303
37413
|
{
|
|
37304
37414
|
"id": "guide.work-orders-world-class-memory-compiler-readme-uppercase",
|
|
37305
37415
|
"kind": "guide",
|
package/docs/DISCOVERY.md
CHANGED
|
@@ -644,8 +644,11 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
644
644
|
| `guide.work-orders-wo-active-inference-route-and-telegram-review-20261012-uppercase` | Active inference route and Telegram completion review | Status: implementation complete and verified. Publication remains with the user. |
|
|
645
645
|
| `guide.work-orders-wo-am-gaps-uppercase` | Associative Memory Gap Work Orders | Generated: 2026-04-13 Source: Deep audit of multimodal associative memory systems Status: READY FOR IMPLEMENTATION |
|
|
646
646
|
| `guide.work-orders-wo-inference-fallback-20261012-uppercase` | Local inference outage fallback | Status: source implementation complete and verified. Installed-runtime activation is separate; the running daemon has not been upgraded or restarted. |
|
|
647
|
+
| `guide.work-orders-wo-native-transport-fresh-install-20261012-uppercase` | Native transport failure in the fresh npm installation gate | Status: implemented and verified. Publication remains with the user. |
|
|
647
648
|
| `guide.work-orders-wo-primary-checkout-fallback-delivery-20261012-uppercase` | Primary checkout delivery and remote output capacity | Status: implementation complete and verified in the primary checkout. Publication remains with the user. |
|
|
648
649
|
| `guide.work-orders-wo-telegram-fallback-20261012-uppercase` | Telegram outage fallback and user-selected approval mode | Status: implementation complete; distributable verification recorded below. Publication and runtime installation are reserved for the user. |
|
|
650
|
+
| `guide.work-orders-wo-telegram-plain-answer-and-provider-catalog-20261012-uppercase` | Preserve native Telegram answers and use compatible free inference routes | Status: implemented and verified. The user owns publication and runtime replacement. |
|
|
651
|
+
| `guide.work-orders-wo-telegram-unavailable-review-presentation-20261012-uppercase` | Telegram reply presentation when an auxiliary review is unavailable | Status: implemented and verified. Publication and runtime replacement remain with the user. |
|
|
649
652
|
| `guide.work-orders-world-class-memory-compiler-readme-uppercase` | World-Class Memory Compiler Program | Status: active implementation program Owner: Omnius orchestration and memory packages Last updated: 2026-07-13 |
|
|
650
653
|
| `guide.work-orders-world-class-memory-compiler-tracker-uppercase` | Memory Compiler Implementation Tracker | Last reconciled: 2026-07-13 Authority: This file is the granular program tracker. The work-order documents define the contract and acceptance criteria; neither test output nor a model claim may check an item without the named evidence. |
|
|
651
654
|
| `guide.work-orders-world-class-memory-compiler-wo-01-exact-request-budget-uppercase` | WO-01 — Exact Request and Budget Compiler | Status: in progress Primary modules: packages/orchestrator/src/agenticRunner.ts, contextWindowDump.ts, context-compiler.ts, context-fabric.ts Depends on: none |
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Native transport failure in the fresh npm installation gate
|
|
2
|
+
|
|
3
|
+
Status: implemented and verified. Publication remains with the user.
|
|
4
|
+
|
|
5
|
+
## Observed failure
|
|
6
|
+
|
|
7
|
+
The user's publisher packed 1.0.844 and passed the 528-file tarball audit. Its
|
|
8
|
+
ordinary fresh global install then failed in `node-datachannel@0.27.0`: a
|
|
9
|
+
prebuilt download timed out, and the package's fallback `prebuild -r napi`
|
|
10
|
+
crashed with an undefined N-API target and `expected first argument to be an
|
|
11
|
+
array`. The gate requested `--omit=optional` and retained lifecycle scripts.
|
|
12
|
+
|
|
13
|
+
## Work orders
|
|
14
|
+
|
|
15
|
+
1. Establish the actual failing dependency path and compare global installation
|
|
16
|
+
with the successful local-prefix dependency projection. Do not assume that
|
|
17
|
+
a different nested version explains this failure.
|
|
18
|
+
2. Repair the dependency/install boundary without suppressing failures from
|
|
19
|
+
required native dependencies or weakening SQLite startup verification.
|
|
20
|
+
Preserve transport behavior or state any actual unavailable optional
|
|
21
|
+
capability accurately.
|
|
22
|
+
3. Add a regression for the discovered dependency/install behavior and rerun
|
|
23
|
+
the real fresh-install gate with lifecycle scripts enabled, normal startup
|
|
24
|
+
checks, required SQLite query, library exports and AIWG companion verification.
|
|
25
|
+
4. Preserve unrelated package and lockfile edits, retain the inference-route
|
|
26
|
+
repair, and deliver a separate scoped, verified commit to the tracked branch.
|
|
27
|
+
5. Coordinate staging with the user's active publisher. Keep diagnosis probes
|
|
28
|
+
in private prefixes and copy the tarball before testing it, so a rebuild
|
|
29
|
+
cannot replace the artifact under verification.
|
|
30
|
+
|
|
31
|
+
## Scope constraints
|
|
32
|
+
|
|
33
|
+
No local inference, CUDA workload change, Telegram delivery, global host
|
|
34
|
+
installation, daemon activation or npm publication is required. Lifecycle
|
|
35
|
+
probes must use the existing gate's daemon/wrapper/bootstrap suppression.
|
|
36
|
+
|
|
37
|
+
## Anchored diagnosis and repair
|
|
38
|
+
|
|
39
|
+
- The sole incoming edge to failing `node-datachannel@0.27.0` belongs to
|
|
40
|
+
`omnius-fabric@0.12.9`. Its optional metadata is already correct.
|
|
41
|
+
- A local-prefix install omits this dependency; a global tarball install on
|
|
42
|
+
npm 11.9.0 installs it despite `--omit=optional`. This matches
|
|
43
|
+
[npm/cli issue 8284](https://github.com/npm/cli/issues/8284). The global
|
|
44
|
+
`--install-links` folder variant and a root dependency override also failed
|
|
45
|
+
to exclude or replace the physical legacy addon in isolated probes.
|
|
46
|
+
- Commit `239dd998` added Fabric as one publish-manifest line, with no code
|
|
47
|
+
integration. Independent source, shipped-bundle, shim and Nexus checks
|
|
48
|
+
found no imports, commands or downstream dependency requiring Fabric.
|
|
49
|
+
Nexus independently uses the newer `node-datachannel@0.33.4` packaging.
|
|
50
|
+
- Remove the unused Fabric dependency, normalize old staging manifests at
|
|
51
|
+
build time, and regenerate the ordinary shrinkwrap. Preserve required
|
|
52
|
+
Nexus and SQLite and the exact global tarball install gate.
|
|
53
|
+
- Audit both staging and packed dependency graphs against stale Fabric and
|
|
54
|
+
legacy native-build entries. Keep Fabric autostart disabled in smoke-test
|
|
55
|
+
environments, alongside Omnius daemon/wrapper/bootstrap suppression.
|
|
56
|
+
|
|
57
|
+
## Verification
|
|
58
|
+
|
|
59
|
+
- Full workspace rebuild and bundling passed. The packed 1.0.845 artifact
|
|
60
|
+
passed the tarball audit with 529 files and no warnings.
|
|
61
|
+
- The ordinary isolated `npm install -g <tarball> --omit=optional` passed
|
|
62
|
+
twice with lifecycle scripts enabled and compiler commands blocked. CLI
|
|
63
|
+
version, required in-memory SQLite query, library exports, AIWG companion
|
|
64
|
+
version and postinstall PATH guidance all passed. The second pass also
|
|
65
|
+
disabled the companion transcription package's optional Python/model
|
|
66
|
+
bootstrap, keeping model setup outside this compiler-free core check.
|
|
67
|
+
- Physical installation contains no Fabric or legacy `0.27.0` addon; Nexus's
|
|
68
|
+
newer `0.33.4` addon remains installed. No required dependency was made
|
|
69
|
+
optional and the normal global tarball installation was not substituted.
|
|
70
|
+
- All 48 publish-related tests passed, including 19 new dependency graph
|
|
71
|
+
regressions. Both audits share the same validation and retain required
|
|
72
|
+
SQLite checks.
|
|
73
|
+
- All 12 bundled inference fallback scenarios passed against the actual
|
|
74
|
+
lifecycle-installed artifact with mocked HTTP/DNS, no inference requests
|
|
75
|
+
and no Telegram sends.
|
|
76
|
+
|
|
77
|
+
Evidence logs: `/tmp/omnius-native-transport-publish-build.log`,
|
|
78
|
+
`/tmp/omnius-native-transport-tarball-audit.log`,
|
|
79
|
+
`/tmp/omnius-native-transport-fresh-install-final.log`,
|
|
80
|
+
`/tmp/omnius-native-transport-policy-tests.log`, and
|
|
81
|
+
`/tmp/omnius-native-transport-installed-fallback-verification.json`.
|
|
82
|
+
Private prefixes and copied artifacts isolated tests from the user's
|
|
83
|
+
publisher and running services. Release version and unrelated lockfile
|
|
84
|
+
metadata changes remain owned by the user.
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Preserve native Telegram answers and use compatible free inference routes
|
|
2
|
+
|
|
3
|
+
Status: implemented and verified. The user owns publication and runtime replacement.
|
|
4
|
+
|
|
5
|
+
## Anchored incident
|
|
6
|
+
|
|
7
|
+
Telegram input 3363 (a backtick followed by “hey”), update activity
|
|
8
|
+
`telegram:1e8af20a7e273e82`, finalization
|
|
9
|
+
`telegram-64ac9937dc7647a8-1791853421483-1` ran on 1.0.846, PID 2409421,
|
|
10
|
+
started 2026-10-13T00:32:14.464Z. Its bundle SHA256 matches the previous
|
|
11
|
+
verified artifact:
|
|
12
|
+
`f568a8a54e037eb22f21193f7f589f8769b6b94369c0e9dfa7446ca6e8a5f87b`.
|
|
13
|
+
This incident is not explained by an older installed build.
|
|
14
|
+
|
|
15
|
+
Turn 0 returned ordinary assistant text: “Hey! How can I assist you today?”
|
|
16
|
+
The transcript and turn-1 context retain that answer. Native Telegram
|
|
17
|
+
disabled text completion, so the runner demanded another generation to
|
|
18
|
+
call task_complete. Turn 1 exhausted the remote routes and the usable
|
|
19
|
+
answer never acquired terminal delivery authority. The Activity panel
|
|
20
|
+
obscured the successful first response.
|
|
21
|
+
|
|
22
|
+
The public registry at https://robit-man.github.io/inference/ also exposed
|
|
23
|
+
two reproducible routing gaps: discovery lost LLM7's provider-default
|
|
24
|
+
selector and chose the first catalog entry, and preferred-model
|
|
25
|
+
incompatibility skipped a provider with other compatible models. The
|
|
26
|
+
catalog-less ch.at chat endpoint was excluded even from tool-free requests.
|
|
27
|
+
Asynchronous jobs, disabled relays, and non-chat services require distinct
|
|
28
|
+
adapters; their presence in the page does not establish native tool support.
|
|
29
|
+
|
|
30
|
+
## Ordered work
|
|
31
|
+
|
|
32
|
+
1. Admit an exact current native assistant candidate through host semantic
|
|
33
|
+
assessment and real effect checks. Avoid a redundant task_complete
|
|
34
|
+
generation. Preserve run, epoch, turn, owner, steering, candidate and
|
|
35
|
+
physical evidence fences, terminal receipts and the actual Telegram ACK.
|
|
36
|
+
No executable completion tool call may be synthesized from prose.
|
|
37
|
+
2. Continue actual work when a promise lacks required mutation, observation,
|
|
38
|
+
verification or delivery. An unavailable auxiliary assessment may permit
|
|
39
|
+
delivery of current useful text under existing unavailable-review policy;
|
|
40
|
+
it must leave the native goal unresolved and never forge fulfillment.
|
|
41
|
+
3. Preserve known selector and transport hints while merging discovered
|
|
42
|
+
provider capabilities. Enumerate bounded, compatible catalog alternatives
|
|
43
|
+
deterministically, deduplicate actual routes, preserve whole-input capacity
|
|
44
|
+
checks, deadlines, manual approval, Stop and provider-specific credentials.
|
|
45
|
+
4. Support catalog-less ch.at only for tool-free chat using its documented
|
|
46
|
+
omitted-model request. Do not invent a model identifier on the wire or
|
|
47
|
+
advertise tools, images, or unsupported job protocols.
|
|
48
|
+
5. Test ordinary native text through the actual backend/runner/bridge path,
|
|
49
|
+
including unavailable assessment, real missing effects, stale ownership,
|
|
50
|
+
cancellation and provider ACK failure. Exercise registry selector and
|
|
51
|
+
catalog alternative regressions without live inference or Telegram sends.
|
|
52
|
+
6. Rebuild the workspaces and actual CLI artifact, verify bundle markers and
|
|
53
|
+
package gates, then commit and push only task-owned changes. Preserve
|
|
54
|
+
unrelated dirty work and user-owned release versions. The user owns npm
|
|
55
|
+
publication and runtime replacement.
|
|
56
|
+
|
|
57
|
+
No service restart, local model request, CUDA workload change or external
|
|
58
|
+
Telegram message is part of this repair's verification.
|
|
59
|
+
|
|
60
|
+
## Result and verification
|
|
61
|
+
|
|
62
|
+
Native private and public replies now submit exact current plain text for
|
|
63
|
+
host review and terminal delivery custody without another completion
|
|
64
|
+
generation. Rejected candidates carry bounded missing-effect feedback into
|
|
65
|
+
the next primary request. Stop, steering reconciliation, stale candidate
|
|
66
|
+
rejection, ordinary prose-loop limits and actual provider acknowledgements
|
|
67
|
+
remain enforced. The host neither executes a synthetic task_complete nor
|
|
68
|
+
marks an unknown native goal fulfilled when auxiliary inference is unavailable.
|
|
69
|
+
Selected/generated artifacts retain their explicit delivery boundary.
|
|
70
|
+
|
|
71
|
+
The runtime merges known provider selector/auth/transport hints with page
|
|
72
|
+
capabilities, tries bounded compatible catalog alternatives after giving
|
|
73
|
+
providers their first attempt, and reads nested context/tool metadata.
|
|
74
|
+
Explicit non-chat, moderation and paid-only catalog entries are excluded.
|
|
75
|
+
ch.at's text-only route omits the model on the wire and needs no catalog;
|
|
76
|
+
onboarding also supports it while retaining a synthetic readiness probe.
|
|
77
|
+
|
|
78
|
+
Verification:
|
|
79
|
+
|
|
80
|
+
- 136 registry, routing and existing fallback checks passed.
|
|
81
|
+
- 18 host-admission/model-wire checks and 69 existing completion/steering
|
|
82
|
+
authority checks passed.
|
|
83
|
+
- 12 new actual backend/runner/Telegram bridge integration cases passed with
|
|
84
|
+
mocked network responses, including public topic-bound ACK, unavailable
|
|
85
|
+
assessment, real file mutation, review feedback, Stop and stale ownership.
|
|
86
|
+
- 89 existing Telegram/fallback checks, 11 header route checks and 61
|
|
87
|
+
onboarding checks passed. Total: 396 regression cases.
|
|
88
|
+
- Two live synthetic requests through the production backend succeeded:
|
|
89
|
+
streaming text via ch.at in 4821 ms, and streaming native function calling
|
|
90
|
+
via Hermes in 1764 ms. Both recorded zero local dispatches and executed no
|
|
91
|
+
generated action. These probes contained only synthetic public test text.
|
|
92
|
+
- Full workspace rebuild and staging audit passed. The tarball audit passed
|
|
93
|
+
with 531 files and zero warnings. Fresh isolated global npm installation
|
|
94
|
+
with lifecycle scripts enabled and compilers blocked passed, including
|
|
95
|
+
SQLite, CLI/library, companion install and PATH checks.
|
|
96
|
+
- All 12 mocked transport scenarios passed against the exact installed
|
|
97
|
+
tarball bundle. Installed and staged runtime SHA256 match:
|
|
98
|
+
`f5581b26f6b472a9af893e906670aabb393bc4c63944d2daeadbec245809eb01`.
|
|
99
|
+
|
|
100
|
+
Logs:
|
|
101
|
+
`/tmp/omnius-keyless-routing-tests-20261012.log`,
|
|
102
|
+
`/tmp/omnius-host-text-admission-focused.log`,
|
|
103
|
+
`/tmp/omnius-host-text-admission-regressions.log`,
|
|
104
|
+
`/tmp/omnius-native-plain-text-admission-20261012.log`,
|
|
105
|
+
`/tmp/omnius-plain-answer-cli-regressions-20261012.log`,
|
|
106
|
+
`/tmp/omnius-plain-answer-route-header-20261012.log`,
|
|
107
|
+
`/tmp/omnius-onboarding-catalogless-tests-20261012.log`,
|
|
108
|
+
`/tmp/omnius-plain-answer-live-remote-text-20261012.json`,
|
|
109
|
+
`/tmp/omnius-plain-answer-live-remote-tools-20261012.json`,
|
|
110
|
+
`/tmp/omnius-plain-answer-publish-build-final-20261012.log`,
|
|
111
|
+
`/tmp/omnius-plain-answer-tarball-audit-20261012.log`,
|
|
112
|
+
`/tmp/omnius-plain-answer-fresh-install-20261012.log` and
|
|
113
|
+
`/tmp/omnius-plain-answer-installed-verification-20261012.json`.
|
|
114
|
+
|
|
115
|
+
The already running 1.0.846 bot still uses the earlier f568a8a5 bundle.
|
|
116
|
+
The next user-owned patch publication/update and restart must load this repair;
|
|
117
|
+
the isolated package retained the user's staging version without publishing it.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Telegram reply presentation when an auxiliary review is unavailable
|
|
2
|
+
|
|
3
|
+
Status: implemented and verified. Publication and runtime replacement remain
|
|
4
|
+
with the user.
|
|
5
|
+
|
|
6
|
+
## Live incident
|
|
7
|
+
|
|
8
|
+
The user's 17:08 PDT `quick ping!` received `pong`, followed by an incorrect
|
|
9
|
+
generic assertion that the task remained incomplete. This was the repaired
|
|
10
|
+
1.0.845 runtime, PID 2042875 started at 17:05:34 PDT, not stale code. Its
|
|
11
|
+
bundle SHA256 was
|
|
12
|
+
`a9cbdc655c3f3be3c254f09caaa9149c8677cb9858cb12940142e24dc9eb514e`.
|
|
13
|
+
|
|
14
|
+
Input 3360, update 666870213, runner `telegram:a0e3cbd0c36f1126`, finalization
|
|
15
|
+
`telegram-64ac9937dc7647a8-1791850093839-1` and conversation event line 1905
|
|
16
|
+
anchor the trace. The final text was acknowledged at 17:08:48 PDT. The
|
|
17
|
+
auxiliary native goal assessment was `unavailable`, not `incomplete`.
|
|
18
|
+
User-visible telemetry recorded local HTTP 503, LLM7 HTTP 429 and OVH empty
|
|
19
|
+
response. Detailed review errors were emitted to the live TUI, not retained
|
|
20
|
+
in the finalization's generic unavailable assessment.
|
|
21
|
+
|
|
22
|
+
The runner's earlier `incomplete_verification` receipt was awaiting the
|
|
23
|
+
visible-response provider acknowledgement. It did not demonstrate unfinished
|
|
24
|
+
work. The bridge appended the failure sentence for every assessment that
|
|
25
|
+
was not ready, conflating review transport failure with a negative verdict.
|
|
26
|
+
|
|
27
|
+
## Work orders
|
|
28
|
+
|
|
29
|
+
1. Exclude only unavailable auxiliary reviews from the generic incomplete
|
|
30
|
+
suffix when the current runner has not declared a partial answer. Keep
|
|
31
|
+
actual partial, incomplete and uncertain verdict behavior intact.
|
|
32
|
+
2. Preserve current owner, input, epoch, steering, exact candidate and
|
|
33
|
+
physical evidence checks before sending useful text despite an unavailable
|
|
34
|
+
review. No failed or stale review grants completion or delivery authority.
|
|
35
|
+
3. Preserve the unavailable assessment, retained goal and real receipts;
|
|
36
|
+
do not forge fulfillment, consume unresolved work, or automatically replay
|
|
37
|
+
object actions after the provider acknowledges the visible reply.
|
|
38
|
+
4. Exercise real runner-to-delivery fixtures for ping, transport failure,
|
|
39
|
+
empty/truncated assessment, useful completed read work, genuine partial
|
|
40
|
+
work and stale owner/candidate/steering bindings. Include public native
|
|
41
|
+
replies as well as admin DMs.
|
|
42
|
+
5. Rebuild all workspace packages, audit the actual artifact and deliver a
|
|
43
|
+
scoped verified commit to the tracked branch. Preserve unrelated bridge
|
|
44
|
+
edits and user-owned release versions. Publication remains with the user.
|
|
45
|
+
|
|
46
|
+
No greeting classifier, model assertion of external effects, live inference,
|
|
47
|
+
Telegram test sends, service restart or CUDA workload change is required.
|
|
48
|
+
|
|
49
|
+
## Result and verification
|
|
50
|
+
|
|
51
|
+
Unavailable reviews no longer append the incomplete-task sentence to useful
|
|
52
|
+
current replies. Genuine partial answers and negative/uncertain verdicts
|
|
53
|
+
retain their existing reporting. The unavailable review and retained goal
|
|
54
|
+
remain unresolved internally; no new completion authority or automatic
|
|
55
|
+
object-work replay is created. Delivery additionally checks the unavailable
|
|
56
|
+
assessment's exact candidate, steering and physical evidence bindings.
|
|
57
|
+
|
|
58
|
+
- All 62 tests across private native closeout, private runner and public
|
|
59
|
+
runner suites passed. Cases include exact `pong` after HTTP 503, empty or
|
|
60
|
+
truncated auxiliary output, useful completed read work, genuine partial
|
|
61
|
+
file work, failed provider acknowledgement and stale owner/epoch/generation,
|
|
62
|
+
candidate and steering bindings.
|
|
63
|
+
- Broader native core, steering, initial-instruction, update adoption,
|
|
64
|
+
remote fallback and delivery checks passed 112 of 114 cases. The two panel
|
|
65
|
+
label assertions at update-adoption test lines 234 and 300 also fail on
|
|
66
|
+
clean prior commit `14db5c33`, before completion runs. Their test and panel
|
|
67
|
+
logic are unchanged; they are recorded as existing failures, not relaxed.
|
|
68
|
+
- All four bundle-policy tests passed, including rejection of the earlier
|
|
69
|
+
fallback bundle that lacked this unavailable-review repair.
|
|
70
|
+
- The full workspace rebuild, bundle audit and 530-file tarball audit passed.
|
|
71
|
+
The exact global tarball installation passed with lifecycle scripts enabled
|
|
72
|
+
and compilers blocked, including SQLite, CLI version, library exports,
|
|
73
|
+
AIWG companion and PATH guidance checks.
|
|
74
|
+
- All 12 mocked inference scenarios passed against the actual installed
|
|
75
|
+
bundle. Runtime bundle SHA256:
|
|
76
|
+
`f568a8a54e037eb22f21193f7f589f8769b6b94369c0e9dfa7446ca6e8a5f87b`.
|
|
77
|
+
|
|
78
|
+
Evidence logs: `/tmp/omnius-native-goal-review-closeout-tests-20261012.log`,
|
|
79
|
+
`/tmp/omnius-unavailable-review-integration.log`,
|
|
80
|
+
`/tmp/omnius-native-update-adoption-baseline-14db.log`,
|
|
81
|
+
`/tmp/omnius-unavailable-review-bundle-policy-tests.log`,
|
|
82
|
+
`/tmp/omnius-unavailable-review-publish-build.log`,
|
|
83
|
+
`/tmp/omnius-unavailable-review-tarball-audit.log`,
|
|
84
|
+
`/tmp/omnius-unavailable-review-fresh-install.log` and
|
|
85
|
+
`/tmp/omnius-unavailable-review-installed-verification.json`.
|
|
86
|
+
|
|
87
|
+
The live bot's earlier 1.0.845 process has not been replaced by these tests.
|
|
88
|
+
Its next user-owned publish/update and restart must load the rebuilt code.
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnius",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.847",
|
|
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.847",
|
|
10
10
|
"bundleDependencies": [
|
|
11
11
|
"image-to-ascii"
|
|
12
12
|
],
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
"ignore": "^7.0.5",
|
|
19
19
|
"image-to-ascii": "file:vendor/image-to-ascii",
|
|
20
20
|
"nats.ws": "1.30.3",
|
|
21
|
-
"omnius-fabric": "^0.12.8",
|
|
22
21
|
"open-agents-nexus": "1.17.3",
|
|
23
22
|
"ws": "^8.20.0",
|
|
24
23
|
"zod": "^4.4.3"
|
|
@@ -430,15 +429,6 @@
|
|
|
430
429
|
"uint8arrays": "^5.1.0"
|
|
431
430
|
}
|
|
432
431
|
},
|
|
433
|
-
"node_modules/@helia/utils/node_modules/cborg": {
|
|
434
|
-
"version": "5.1.11",
|
|
435
|
-
"resolved": "https://registry.npmjs.org/cborg/-/cborg-5.1.11.tgz",
|
|
436
|
-
"integrity": "sha512-oc6Pzg/gkTobxHZNgMmny+G99dOeBMbAmnGHcZWMKtolxZBIVwfi0Pj0khxEtNU8HMFdbT5sK0HmtgecDUPP0A==",
|
|
437
|
-
"license": "Apache-2.0",
|
|
438
|
-
"bin": {
|
|
439
|
-
"cborg": "lib/bin.js"
|
|
440
|
-
}
|
|
441
|
-
},
|
|
442
432
|
"node_modules/@ipld/dag-cbor": {
|
|
443
433
|
"version": "9.2.7",
|
|
444
434
|
"resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-9.2.7.tgz",
|
|
@@ -449,15 +439,6 @@
|
|
|
449
439
|
"multiformats": "^13.1.0"
|
|
450
440
|
}
|
|
451
441
|
},
|
|
452
|
-
"node_modules/@ipld/dag-cbor/node_modules/cborg": {
|
|
453
|
-
"version": "5.1.11",
|
|
454
|
-
"resolved": "https://registry.npmjs.org/cborg/-/cborg-5.1.11.tgz",
|
|
455
|
-
"integrity": "sha512-oc6Pzg/gkTobxHZNgMmny+G99dOeBMbAmnGHcZWMKtolxZBIVwfi0Pj0khxEtNU8HMFdbT5sK0HmtgecDUPP0A==",
|
|
456
|
-
"license": "Apache-2.0",
|
|
457
|
-
"bin": {
|
|
458
|
-
"cborg": "lib/bin.js"
|
|
459
|
-
}
|
|
460
|
-
},
|
|
461
442
|
"node_modules/@ipld/dag-json": {
|
|
462
443
|
"version": "10.2.9",
|
|
463
444
|
"resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-10.2.9.tgz",
|
|
@@ -468,15 +449,6 @@
|
|
|
468
449
|
"multiformats": "^13.1.0"
|
|
469
450
|
}
|
|
470
451
|
},
|
|
471
|
-
"node_modules/@ipld/dag-json/node_modules/cborg": {
|
|
472
|
-
"version": "5.1.11",
|
|
473
|
-
"resolved": "https://registry.npmjs.org/cborg/-/cborg-5.1.11.tgz",
|
|
474
|
-
"integrity": "sha512-oc6Pzg/gkTobxHZNgMmny+G99dOeBMbAmnGHcZWMKtolxZBIVwfi0Pj0khxEtNU8HMFdbT5sK0HmtgecDUPP0A==",
|
|
475
|
-
"license": "Apache-2.0",
|
|
476
|
-
"bin": {
|
|
477
|
-
"cborg": "lib/bin.js"
|
|
478
|
-
}
|
|
479
|
-
},
|
|
480
452
|
"node_modules/@ipld/dag-pb": {
|
|
481
453
|
"version": "4.2.0",
|
|
482
454
|
"resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-4.2.0.tgz",
|
|
@@ -1399,6 +1371,15 @@
|
|
|
1399
1371
|
"uint8arrays": "^5.1.0"
|
|
1400
1372
|
}
|
|
1401
1373
|
},
|
|
1374
|
+
"node_modules/@libp2p/utils/node_modules/cborg": {
|
|
1375
|
+
"version": "4.5.8",
|
|
1376
|
+
"resolved": "https://registry.npmjs.org/cborg/-/cborg-4.5.8.tgz",
|
|
1377
|
+
"integrity": "sha512-6/viltD51JklRhq4L7jC3zgy6gryuG5xfZ3kzpE+PravtyeQLeQmCYLREhQH7pWENg5pY4Yu/XCd6a7dKScVlw==",
|
|
1378
|
+
"license": "Apache-2.0",
|
|
1379
|
+
"bin": {
|
|
1380
|
+
"cborg": "lib/bin.js"
|
|
1381
|
+
}
|
|
1382
|
+
},
|
|
1402
1383
|
"node_modules/@libp2p/webrtc": {
|
|
1403
1384
|
"version": "6.1.0",
|
|
1404
1385
|
"resolved": "https://registry.npmjs.org/@libp2p/webrtc/-/webrtc-6.1.0.tgz",
|
|
@@ -1489,29 +1470,6 @@
|
|
|
1489
1470
|
"integrity": "sha512-vbIm83F2yZ1pWJGS0yl0ysracIvv56LtbrIyiIQHoLdYDJOMoLfVFsXhh9DUH4SFdkdkFhucyWniihsNzVEjkQ==",
|
|
1490
1471
|
"license": "Apache-2.0 OR MIT"
|
|
1491
1472
|
},
|
|
1492
|
-
"node_modules/@libp2p/webrtc/node_modules/node-datachannel": {
|
|
1493
|
-
"version": "0.33.4",
|
|
1494
|
-
"resolved": "https://registry.npmjs.org/node-datachannel/-/node-datachannel-0.33.4.tgz",
|
|
1495
|
-
"integrity": "sha512-qiUrdh8vY9XhglEnx91HK0N2JEAAu8qTZl0fcR3yQd0fFrdO39NwDeJD/KpG+WKUb9/o4p2UwnP+/HftA/xMbQ==",
|
|
1496
|
-
"license": "MPL 2.0",
|
|
1497
|
-
"dependencies": {
|
|
1498
|
-
"detect-libc": "^2.0.4"
|
|
1499
|
-
},
|
|
1500
|
-
"engines": {
|
|
1501
|
-
"node": ">=18.20.0"
|
|
1502
|
-
},
|
|
1503
|
-
"optionalDependencies": {
|
|
1504
|
-
"@node-datachannel/android-arm64": "0.33.4",
|
|
1505
|
-
"@node-datachannel/darwin-arm64": "0.33.4",
|
|
1506
|
-
"@node-datachannel/darwin-x64": "0.33.4",
|
|
1507
|
-
"@node-datachannel/linux-arm64-gnu": "0.33.4",
|
|
1508
|
-
"@node-datachannel/linux-arm64-musl": "0.33.4",
|
|
1509
|
-
"@node-datachannel/linux-x64-gnu": "0.33.4",
|
|
1510
|
-
"@node-datachannel/linux-x64-musl": "0.33.4",
|
|
1511
|
-
"@node-datachannel/win32-arm64-msvc": "0.33.4",
|
|
1512
|
-
"@node-datachannel/win32-x64-msvc": "0.33.4"
|
|
1513
|
-
}
|
|
1514
|
-
},
|
|
1515
1473
|
"node_modules/@libp2p/webrtc/node_modules/protons-runtime": {
|
|
1516
1474
|
"version": "7.1.2",
|
|
1517
1475
|
"resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-7.1.2.tgz",
|
|
@@ -1698,51 +1656,6 @@
|
|
|
1698
1656
|
"is-ip": "^5.0.0"
|
|
1699
1657
|
}
|
|
1700
1658
|
},
|
|
1701
|
-
"node_modules/@nats-io/nats-core": {
|
|
1702
|
-
"version": "3.4.0",
|
|
1703
|
-
"resolved": "https://registry.npmjs.org/@nats-io/nats-core/-/nats-core-3.4.0.tgz",
|
|
1704
|
-
"integrity": "sha512-QMDM86EUNm+wudlKC67HLar/KHHQUvJGLfb4jbahje3pUk3K9afeck9fwsxBZF0eUFox6T/TA6m/t+lQqf+QsQ==",
|
|
1705
|
-
"license": "Apache-2.0",
|
|
1706
|
-
"dependencies": {
|
|
1707
|
-
"@nats-io/nkeys": "2.0.3",
|
|
1708
|
-
"@nats-io/nuid": "3.0.0"
|
|
1709
|
-
}
|
|
1710
|
-
},
|
|
1711
|
-
"node_modules/@nats-io/nkeys": {
|
|
1712
|
-
"version": "2.0.3",
|
|
1713
|
-
"resolved": "https://registry.npmjs.org/@nats-io/nkeys/-/nkeys-2.0.3.tgz",
|
|
1714
|
-
"integrity": "sha512-JVt56GuE6Z89KUkI4TXUbSI9fmIfAmk6PMPknijmuL72GcD+UgIomTcRWiNvvJKxA01sBbmIPStqJs5cMRBC3A==",
|
|
1715
|
-
"license": "Apache-2.0",
|
|
1716
|
-
"dependencies": {
|
|
1717
|
-
"tweetnacl": "^1.0.3"
|
|
1718
|
-
},
|
|
1719
|
-
"engines": {
|
|
1720
|
-
"node": ">=18.0.0"
|
|
1721
|
-
}
|
|
1722
|
-
},
|
|
1723
|
-
"node_modules/@nats-io/nuid": {
|
|
1724
|
-
"version": "3.0.0",
|
|
1725
|
-
"resolved": "https://registry.npmjs.org/@nats-io/nuid/-/nuid-3.0.0.tgz",
|
|
1726
|
-
"integrity": "sha512-QbXZDrxmYlrn5AD06gYcUTmEHwxn96HBQMIk7XTjDlEcx6FPzVBBPjp4AMRh1lEv6B4iJ6Xb/Uz61JugPXFRQg==",
|
|
1727
|
-
"license": "Apache-2.0",
|
|
1728
|
-
"engines": {
|
|
1729
|
-
"node": ">= 22.x"
|
|
1730
|
-
}
|
|
1731
|
-
},
|
|
1732
|
-
"node_modules/@nats-io/transport-node": {
|
|
1733
|
-
"version": "3.4.0",
|
|
1734
|
-
"resolved": "https://registry.npmjs.org/@nats-io/transport-node/-/transport-node-3.4.0.tgz",
|
|
1735
|
-
"integrity": "sha512-hH7u7ejIBTFEJIZ8rIcMrHJI6wl+HhpO5sVFs1+ppmXa8RuB2+Lh1+UwTzZ5xTNNm1TKcRkYy+2qCV56qp8RxA==",
|
|
1736
|
-
"license": "Apache-2.0",
|
|
1737
|
-
"dependencies": {
|
|
1738
|
-
"@nats-io/nats-core": "3.4.0",
|
|
1739
|
-
"@nats-io/nkeys": "2.0.3",
|
|
1740
|
-
"@nats-io/nuid": "3.0.0"
|
|
1741
|
-
},
|
|
1742
|
-
"engines": {
|
|
1743
|
-
"node": ">= 18.0.0"
|
|
1744
|
-
}
|
|
1745
|
-
},
|
|
1746
1659
|
"node_modules/@nkn/ncp": {
|
|
1747
1660
|
"version": "1.1.2",
|
|
1748
1661
|
"resolved": "https://registry.npmjs.org/@nkn/ncp/-/ncp-1.1.2.tgz",
|
|
@@ -2871,9 +2784,9 @@
|
|
|
2871
2784
|
}
|
|
2872
2785
|
},
|
|
2873
2786
|
"node_modules/cborg": {
|
|
2874
|
-
"version": "
|
|
2875
|
-
"resolved": "https://registry.npmjs.org/cborg/-/cborg-
|
|
2876
|
-
"integrity": "sha512-
|
|
2787
|
+
"version": "5.1.11",
|
|
2788
|
+
"resolved": "https://registry.npmjs.org/cborg/-/cborg-5.1.11.tgz",
|
|
2789
|
+
"integrity": "sha512-oc6Pzg/gkTobxHZNgMmny+G99dOeBMbAmnGHcZWMKtolxZBIVwfi0Pj0khxEtNU8HMFdbT5sK0HmtgecDUPP0A==",
|
|
2877
2790
|
"license": "Apache-2.0",
|
|
2878
2791
|
"bin": {
|
|
2879
2792
|
"cborg": "lib/bin.js"
|
|
@@ -3008,15 +2921,6 @@
|
|
|
3008
2921
|
"node": ">= 0.8"
|
|
3009
2922
|
}
|
|
3010
2923
|
},
|
|
3011
|
-
"node_modules/commander": {
|
|
3012
|
-
"version": "14.0.3",
|
|
3013
|
-
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz",
|
|
3014
|
-
"integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==",
|
|
3015
|
-
"license": "MIT",
|
|
3016
|
-
"engines": {
|
|
3017
|
-
"node": ">=20"
|
|
3018
|
-
}
|
|
3019
|
-
},
|
|
3020
2924
|
"node_modules/convert-hrtime": {
|
|
3021
2925
|
"version": "5.0.0",
|
|
3022
2926
|
"resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz",
|
|
@@ -3944,15 +3848,6 @@
|
|
|
3944
3848
|
"uint8arrays": "^5.1.0"
|
|
3945
3849
|
}
|
|
3946
3850
|
},
|
|
3947
|
-
"node_modules/ipns/node_modules/cborg": {
|
|
3948
|
-
"version": "5.1.11",
|
|
3949
|
-
"resolved": "https://registry.npmjs.org/cborg/-/cborg-5.1.11.tgz",
|
|
3950
|
-
"integrity": "sha512-oc6Pzg/gkTobxHZNgMmny+G99dOeBMbAmnGHcZWMKtolxZBIVwfi0Pj0khxEtNU8HMFdbT5sK0HmtgecDUPP0A==",
|
|
3951
|
-
"license": "Apache-2.0",
|
|
3952
|
-
"bin": {
|
|
3953
|
-
"cborg": "lib/bin.js"
|
|
3954
|
-
}
|
|
3955
|
-
},
|
|
3956
3851
|
"node_modules/ipns/node_modules/protons-runtime": {
|
|
3957
3852
|
"version": "6.0.2",
|
|
3958
3853
|
"resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-6.0.2.tgz",
|
|
@@ -4470,12 +4365,6 @@
|
|
|
4470
4365
|
"graceful-fs": "^4.1.6"
|
|
4471
4366
|
}
|
|
4472
4367
|
},
|
|
4473
|
-
"node_modules/jsqr": {
|
|
4474
|
-
"version": "1.4.0",
|
|
4475
|
-
"resolved": "https://registry.npmjs.org/jsqr/-/jsqr-1.4.0.tgz",
|
|
4476
|
-
"integrity": "sha512-dxLob7q65Xg2DvstYkRpkYtmKm2sPJ9oFhrhmudT1dZvNFFTlroai3AWSpLey/w5vMcLBXRgOJsbXpdN9HzU/A==",
|
|
4477
|
-
"license": "Apache-2.0"
|
|
4478
|
-
},
|
|
4479
4368
|
"node_modules/kuler": {
|
|
4480
4369
|
"version": "2.0.0",
|
|
4481
4370
|
"resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
|
|
@@ -4912,17 +4801,26 @@
|
|
|
4912
4801
|
"optional": true
|
|
4913
4802
|
},
|
|
4914
4803
|
"node_modules/node-datachannel": {
|
|
4915
|
-
"version": "0.
|
|
4916
|
-
"resolved": "https://registry.npmjs.org/node-datachannel/-/node-datachannel-0.
|
|
4917
|
-
"integrity": "sha512-
|
|
4918
|
-
"hasInstallScript": true,
|
|
4804
|
+
"version": "0.33.4",
|
|
4805
|
+
"resolved": "https://registry.npmjs.org/node-datachannel/-/node-datachannel-0.33.4.tgz",
|
|
4806
|
+
"integrity": "sha512-qiUrdh8vY9XhglEnx91HK0N2JEAAu8qTZl0fcR3yQd0fFrdO39NwDeJD/KpG+WKUb9/o4p2UwnP+/HftA/xMbQ==",
|
|
4919
4807
|
"license": "MPL 2.0",
|
|
4920
|
-
"optional": true,
|
|
4921
4808
|
"dependencies": {
|
|
4922
|
-
"
|
|
4809
|
+
"detect-libc": "^2.0.4"
|
|
4923
4810
|
},
|
|
4924
4811
|
"engines": {
|
|
4925
4812
|
"node": ">=18.20.0"
|
|
4813
|
+
},
|
|
4814
|
+
"optionalDependencies": {
|
|
4815
|
+
"@node-datachannel/android-arm64": "0.33.4",
|
|
4816
|
+
"@node-datachannel/darwin-arm64": "0.33.4",
|
|
4817
|
+
"@node-datachannel/darwin-x64": "0.33.4",
|
|
4818
|
+
"@node-datachannel/linux-arm64-gnu": "0.33.4",
|
|
4819
|
+
"@node-datachannel/linux-arm64-musl": "0.33.4",
|
|
4820
|
+
"@node-datachannel/linux-x64-gnu": "0.33.4",
|
|
4821
|
+
"@node-datachannel/linux-x64-musl": "0.33.4",
|
|
4822
|
+
"@node-datachannel/win32-arm64-msvc": "0.33.4",
|
|
4823
|
+
"@node-datachannel/win32-x64-msvc": "0.33.4"
|
|
4926
4824
|
}
|
|
4927
4825
|
},
|
|
4928
4826
|
"node_modules/node-fetch": {
|
|
@@ -4975,51 +4873,6 @@
|
|
|
4975
4873
|
"node": ">=0.10.0"
|
|
4976
4874
|
}
|
|
4977
4875
|
},
|
|
4978
|
-
"node_modules/omnius-fabric": {
|
|
4979
|
-
"version": "0.12.9",
|
|
4980
|
-
"resolved": "https://registry.npmjs.org/omnius-fabric/-/omnius-fabric-0.12.9.tgz",
|
|
4981
|
-
"integrity": "sha512-A5nngGmYmajoQpBoQ0gBzc2vxsec3rXGoPJ430aQJeqy+cgfPjLM8bfzyO7p/Nfj9Mb8FPlg30F0tLk+w3aonQ==",
|
|
4982
|
-
"hasInstallScript": true,
|
|
4983
|
-
"license": "MIT",
|
|
4984
|
-
"dependencies": {
|
|
4985
|
-
"@chainsafe/libp2p-noise": "^17.0.0",
|
|
4986
|
-
"@chainsafe/libp2p-yamux": "^8.0.1",
|
|
4987
|
-
"@libp2p/autonat": "^3.0.20",
|
|
4988
|
-
"@libp2p/bootstrap": "^12.0.22",
|
|
4989
|
-
"@libp2p/circuit-relay-v2": "^4.2.5",
|
|
4990
|
-
"@libp2p/crypto": "^5.1.18",
|
|
4991
|
-
"@libp2p/dcutr": "^3.0.20",
|
|
4992
|
-
"@libp2p/gossipsub": "^15.0.23",
|
|
4993
|
-
"@libp2p/identify": "^4.1.6",
|
|
4994
|
-
"@libp2p/kad-dht": "^16.3.0",
|
|
4995
|
-
"@libp2p/mdns": "^12.0.22",
|
|
4996
|
-
"@libp2p/peer-id": "^6.0.9",
|
|
4997
|
-
"@libp2p/ping": "^3.1.5",
|
|
4998
|
-
"@libp2p/pubsub-peer-discovery": "^12.0.0",
|
|
4999
|
-
"@libp2p/tcp": "^11.0.20",
|
|
5000
|
-
"@libp2p/upnp-nat": "^4.0.20",
|
|
5001
|
-
"@libp2p/websockets": "^10.1.13",
|
|
5002
|
-
"@multiformats/multiaddr": "^13.0.3",
|
|
5003
|
-
"@nats-io/transport-node": "^3.4.0",
|
|
5004
|
-
"commander": "^14.0.0",
|
|
5005
|
-
"jsqr": "^1.4.0",
|
|
5006
|
-
"libp2p": "^3.3.1",
|
|
5007
|
-
"nkn-sdk": "^1.3.6",
|
|
5008
|
-
"qrcode-terminal": "^0.12.0",
|
|
5009
|
-
"ws": "^8.18.0"
|
|
5010
|
-
},
|
|
5011
|
-
"bin": {
|
|
5012
|
-
"fabric": "dist/cli.js",
|
|
5013
|
-
"omnius-fabric": "dist/cli.js"
|
|
5014
|
-
},
|
|
5015
|
-
"engines": {
|
|
5016
|
-
"node": ">=20.10.0"
|
|
5017
|
-
},
|
|
5018
|
-
"optionalDependencies": {
|
|
5019
|
-
"@achingbrain/nat-port-mapper": "^4.0.5",
|
|
5020
|
-
"node-datachannel": "^0.27.0"
|
|
5021
|
-
}
|
|
5022
|
-
},
|
|
5023
4876
|
"node_modules/once": {
|
|
5024
4877
|
"version": "1.4.0",
|
|
5025
4878
|
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
|
@@ -5384,14 +5237,6 @@
|
|
|
5384
5237
|
"node": ">=16.0.0"
|
|
5385
5238
|
}
|
|
5386
5239
|
},
|
|
5387
|
-
"node_modules/qrcode-terminal": {
|
|
5388
|
-
"version": "0.12.0",
|
|
5389
|
-
"resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz",
|
|
5390
|
-
"integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==",
|
|
5391
|
-
"bin": {
|
|
5392
|
-
"qrcode-terminal": "bin/qrcode-terminal.js"
|
|
5393
|
-
}
|
|
5394
|
-
},
|
|
5395
5240
|
"node_modules/queue-microtask": {
|
|
5396
5241
|
"version": "1.2.3",
|
|
5397
5242
|
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnius",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.847",
|
|
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/library.js",
|
|
@@ -105,7 +105,6 @@
|
|
|
105
105
|
},
|
|
106
106
|
"dependencies": {
|
|
107
107
|
"better-sqlite3": "^12.10.0",
|
|
108
|
-
"omnius-fabric": "^0.12.8",
|
|
109
108
|
"glob": "^13.0.6",
|
|
110
109
|
"ignore": "^7.0.5",
|
|
111
110
|
"image-to-ascii": "file:vendor/image-to-ascii",
|