omnius 1.0.873 → 1.0.875
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 +259 -62
- package/dist/providerRegistry.d.ts +6 -0
- package/dist/tui/native/worker.js +91 -10
- package/docs/DISCOVERY.json +1054 -130
- package/docs/DISCOVERY.md +26 -1
- package/docs/guides/endpoint-requirements.md +33 -0
- package/docs/guides/sponsored-inference-mesh.md +84 -0
- package/docs/work-orders/evidence/chat-session-document-revision-20261017.json +57 -0
- package/docs/work-orders/evidence/chat-session-legacy-document-20261017.json +60 -0
- package/docs/work-orders/evidence/chat-session-live-sidecar-20261017.json +158 -0
- package/docs/work-orders/evidence/chat-session-shared-store-20261017.json +89 -0
- package/docs/work-orders/evidence/endpoint-completion-verification-20261017.json +95 -0
- package/docs/work-orders/evidence/endpoint-source-verification-20261017.json +175 -0
- package/docs/work-orders/evidence/expanded-variant-repair-20261017.json +88 -0
- package/docs/work-orders/evidence/final-presentation-native-20261017/final-160x48.txt +48 -0
- package/docs/work-orders/evidence/final-presentation-native-20261017/final-60x20.txt +20 -0
- package/docs/work-orders/evidence/final-presentation-native-20261017/report.json +1225 -0
- package/docs/work-orders/evidence/final-presentation-native-20261017/rich-final-160x48.txt +48 -0
- package/docs/work-orders/evidence/final-presentation-native-20261017.json +116 -0
- package/docs/work-orders/evidence/inference-route-attempts-20261017.json +82 -0
- package/docs/work-orders/evidence/mesh-source-verification-20261017.json +46 -0
- package/docs/work-orders/evidence/mesh-transport-verification-20261017.json +156 -0
- package/docs/work-orders/evidence/opencode-endpoint-regression-20261017.json +984 -0
- package/docs/work-orders/evidence/project-session-delete-shared-state-20261017.json +54 -0
- package/docs/work-orders/evidence/public-session-live-20261017.json +52 -0
- package/docs/work-orders/evidence/session-live-sidecar-profile-20261017.json +315 -0
- package/docs/work-orders/evidence/session-live-write-profile-20261017.json +167 -0
- package/docs/work-orders/evidence/sticky-catalog-candidate-release-20261017.json +314 -0
- package/npm-shrinkwrap.json +1705 -202
- package/package.json +78 -34
|
@@ -28,6 +28,12 @@ export interface ProviderDescriptor {
|
|
|
28
28
|
defaultUrl?: string;
|
|
29
29
|
apiKeyUrl?: string;
|
|
30
30
|
docsUrl?: string;
|
|
31
|
+
/** Published retirement metadata; this is not a live availability attestation. */
|
|
32
|
+
availability?: Readonly<{
|
|
33
|
+
state: "retired";
|
|
34
|
+
reason: string;
|
|
35
|
+
docsUrl: string;
|
|
36
|
+
}>;
|
|
31
37
|
description: string;
|
|
32
38
|
}
|
|
33
39
|
export interface ResolveProviderOptions {
|
|
@@ -66,6 +66,7 @@ function sanitizeNativeInterfaceState(value) {
|
|
|
66
66
|
devices: instruments.devices === true,
|
|
67
67
|
scrollTop: offset(instruments.scrollTop),
|
|
68
68
|
deviceScrollTop: offset(instruments.deviceScrollTop),
|
|
69
|
+
...typeof instruments.routeAttempts === "boolean" ? { routeAttempts: instruments.routeAttempts } : {},
|
|
69
70
|
...taskNotes ? { taskNotes: { open: taskNotes.open !== false, tasks: taskNotes.tasks !== false, notes: taskNotes.notes !== false, layers: taskNotes.layers !== false, disclosures: taskDisclosures } } : {},
|
|
70
71
|
...workQueue ? { workQueue: { open: workQueue.open !== false, history: workQueue.history === true, disclosures: workDisclosures } } : {}
|
|
71
72
|
},
|
|
@@ -1187,6 +1188,8 @@ var NativeBlockView = class {
|
|
|
1187
1188
|
this.spec = spec;
|
|
1188
1189
|
if (rebuild) this.reset();
|
|
1189
1190
|
this.signature = signature;
|
|
1191
|
+
const finalAnswer = spec.kind === "markdown" && spec.presentation === "final-answer";
|
|
1192
|
+
this.root.marginTop = this.root.marginBottom = finalAnswer ? 1 : 0;
|
|
1190
1193
|
if (spec.collapsed !== this.previousModelCollapsed) {
|
|
1191
1194
|
this.collapsed = spec.collapsed ?? false;
|
|
1192
1195
|
this.previousModelCollapsed = spec.collapsed;
|
|
@@ -4032,6 +4035,9 @@ var InstrumentRail = class extends BoxRenderable7 {
|
|
|
4032
4035
|
contextMeter;
|
|
4033
4036
|
contextHeader;
|
|
4034
4037
|
contextDetails;
|
|
4038
|
+
routeAttemptsHeader;
|
|
4039
|
+
routeAttempts;
|
|
4040
|
+
routeAttemptRows = [];
|
|
4035
4041
|
onResize(width, height) {
|
|
4036
4042
|
super.onResize(width, height);
|
|
4037
4043
|
this.devices?.fitHeight(height);
|
|
@@ -4150,6 +4156,16 @@ var InstrumentRail = class extends BoxRenderable7 {
|
|
|
4150
4156
|
addRow(this.contextDetails, "context-tools", "TOOL CALLS");
|
|
4151
4157
|
addRow(this.contextDetails, "adversary", "ADVERSARY");
|
|
4152
4158
|
addRow(this.contextDetails, "duration", "LAST GEN");
|
|
4159
|
+
this.routeAttemptsHeader = new SectionBanner(renderer2, "ROUTE ATTEMPTS", `${id}:route-attempts`, () => {
|
|
4160
|
+
this.routeAttempts.visible = !this.routeAttempts.visible;
|
|
4161
|
+
this.routeAttemptsHeader.update(this.routeAttemptsHeading, this.routeAttempts.visible);
|
|
4162
|
+
});
|
|
4163
|
+
this.routeAttemptsHeader.update("ROUTE ATTEMPTS", false);
|
|
4164
|
+
this.routeAttemptsHeader.visible = false;
|
|
4165
|
+
this.routeAttemptsHeader.on(RenderableEvents5.FOCUSED, () => this.reveal(this.routeAttemptsHeader));
|
|
4166
|
+
this.inference.add(this.routeAttemptsHeader);
|
|
4167
|
+
this.routeAttempts = new BoxRenderable7(renderer2, { id: `${id}:route-attempt-body`, width: "100%", flexDirection: "column", flexShrink: 0, visible: false });
|
|
4168
|
+
this.inference.add(this.routeAttempts);
|
|
4153
4169
|
this.sessionHeader = new SectionBanner(
|
|
4154
4170
|
renderer2,
|
|
4155
4171
|
"SESSION / AGENTS",
|
|
@@ -4193,6 +4209,7 @@ var InstrumentRail = class extends BoxRenderable7 {
|
|
|
4193
4209
|
const data = state.instruments;
|
|
4194
4210
|
const inference = data?.inference;
|
|
4195
4211
|
const session = data?.session;
|
|
4212
|
+
this.updateRouteAttempts(inference?.routeAttempts ?? []);
|
|
4196
4213
|
const set = (id, value) => this.rows.get(id).update(value);
|
|
4197
4214
|
set("messages", instrumentNumber(inference?.contextMessages));
|
|
4198
4215
|
set("headroom", inference?.contextHeadroom !== void 0 && Number.isFinite(inference.contextHeadroom) ? String(Math.round(inference.contextHeadroom)) : "--");
|
|
@@ -4243,6 +4260,39 @@ var InstrumentRail = class extends BoxRenderable7 {
|
|
|
4243
4260
|
}))
|
|
4244
4261
|
);
|
|
4245
4262
|
}
|
|
4263
|
+
routeAttemptsHeading = "ROUTE ATTEMPTS";
|
|
4264
|
+
updateRouteAttempts(attempts) {
|
|
4265
|
+
const bounded = attempts.slice(-24);
|
|
4266
|
+
this.routeAttemptsHeading = `ROUTE ATTEMPTS (${bounded.length})`;
|
|
4267
|
+
this.routeAttemptsHeader.visible = bounded.length > 0;
|
|
4268
|
+
this.routeAttemptsHeader.update(this.routeAttemptsHeading);
|
|
4269
|
+
this.routeAttempts.visible = this.routeAttemptsHeader.visible && this.routeAttemptsHeader.expanded;
|
|
4270
|
+
for (let index = 0; index < bounded.length; index++) {
|
|
4271
|
+
let row = this.routeAttemptRows[index];
|
|
4272
|
+
if (!row) {
|
|
4273
|
+
const id = `${this.routeAttempts.id}:${index}`;
|
|
4274
|
+
const box = new BoxRenderable7(this.ctx, { id, width: "100%", flexDirection: "column", flexShrink: 0 });
|
|
4275
|
+
const title2 = new TextRenderable6(this.ctx, { id: `${id}:title`, width: "100%", height: 1, content: "", fg: foreground, bg: background, wrapMode: "none", truncate: true, flexShrink: 0 });
|
|
4276
|
+
const detail2 = new TextRenderable6(this.ctx, { id: `${id}:detail`, width: "100%", content: "", fg: foreground, bg: background, attributes: TextAttributes7.DIM, wrapMode: "word", flexShrink: 0 });
|
|
4277
|
+
box.add(title2);
|
|
4278
|
+
box.add(detail2);
|
|
4279
|
+
this.routeAttempts.add(box);
|
|
4280
|
+
row = { box, title: title2, detail: detail2 };
|
|
4281
|
+
this.routeAttemptRows.push(row);
|
|
4282
|
+
}
|
|
4283
|
+
const attempt = bounded[index];
|
|
4284
|
+
const title = `${attempt.phase.toUpperCase()} ${attempt.model}`;
|
|
4285
|
+
const detail = [
|
|
4286
|
+
[attempt.category?.replace(/_/g, " ").toUpperCase(), attempt.status === void 0 ? void 0 : `HTTP ${attempt.status}`].filter(Boolean).join(" · "),
|
|
4287
|
+
[attempt.disposition?.replace(/_/g, " ").toUpperCase(), attempt.retryDelayMs === void 0 ? void 0 : `WAIT ${instrumentNumber(attempt.retryDelayMs / 1e3, 1, "s")}`].filter(Boolean).join(" · ")
|
|
4288
|
+
].filter(Boolean).join("\n");
|
|
4289
|
+
if (row.title.plainText !== title) row.title.content = title;
|
|
4290
|
+
if (row.detail.plainText !== detail) row.detail.content = detail;
|
|
4291
|
+
row.detail.visible = detail.length > 0;
|
|
4292
|
+
row.box.visible = true;
|
|
4293
|
+
}
|
|
4294
|
+
for (let index = bounded.length; index < this.routeAttemptRows.length; index++) this.routeAttemptRows[index].box.visible = false;
|
|
4295
|
+
}
|
|
4246
4296
|
applyTheme(colors) {
|
|
4247
4297
|
this.backgroundColor = colors.background;
|
|
4248
4298
|
const visit = (node) => {
|
|
@@ -4273,6 +4323,7 @@ var InstrumentRail = class extends BoxRenderable7 {
|
|
|
4273
4323
|
session: this.session.visible,
|
|
4274
4324
|
context: this.contextHeader.expanded,
|
|
4275
4325
|
devices: this.devices.isExpanded,
|
|
4326
|
+
routeAttempts: this.routeAttemptsHeader.expanded,
|
|
4276
4327
|
scrollTop: this.scroll.scrollTop,
|
|
4277
4328
|
deviceScrollTop: this.devices.scroll.scrollTop,
|
|
4278
4329
|
taskNotes: this.taskNotes.capturePresentation(),
|
|
@@ -4286,6 +4337,8 @@ var InstrumentRail = class extends BoxRenderable7 {
|
|
|
4286
4337
|
if (this.session.visible !== state.session) this.toggleSection("session");
|
|
4287
4338
|
this.contextHeader.update("CONTEXT DETAILS", state.context);
|
|
4288
4339
|
this.contextDetails.visible = this.contextHeader.visible && state.context;
|
|
4340
|
+
this.routeAttemptsHeader.update(this.routeAttemptsHeading, state.routeAttempts === true);
|
|
4341
|
+
this.routeAttempts.visible = this.routeAttemptsHeader.visible && state.routeAttempts === true;
|
|
4289
4342
|
this.devices.setExpanded(state.devices);
|
|
4290
4343
|
this.scroll.scrollTo(state.scrollTop);
|
|
4291
4344
|
this.devices.scroll.scrollTo(state.deviceScrollTop);
|
|
@@ -4297,6 +4350,7 @@ var InstrumentRail = class extends BoxRenderable7 {
|
|
|
4297
4350
|
...this.taskNotes.focusTargets(),
|
|
4298
4351
|
this.inferenceHeader,
|
|
4299
4352
|
...this.inference.visible && this.contextHeader.visible ? [this.contextHeader] : [],
|
|
4353
|
+
...this.inference.visible && this.routeAttemptsHeader.visible ? [this.routeAttemptsHeader] : [],
|
|
4300
4354
|
this.sessionHeader,
|
|
4301
4355
|
...this.session.visible ? this.channels.focusTargets() : [],
|
|
4302
4356
|
...this.devices.focusTargets()
|
|
@@ -4323,8 +4377,8 @@ var COMMAND_SIGNATURES = [
|
|
|
4323
4377
|
["/model", "Select from available models"],
|
|
4324
4378
|
["/model <name>", "Switch to a specific model"],
|
|
4325
4379
|
["/models", "List all available models"],
|
|
4326
|
-
["/endpoint", "
|
|
4327
|
-
["/endpoint <url>", "Set backend URL
|
|
4380
|
+
["/endpoint", "Select an endpoint or provider"],
|
|
4381
|
+
["/endpoint <provider|alias|url>", "Set a provider name, alias, or backend URL"],
|
|
4328
4382
|
["/endpoint <url> --auth <t>", "Set endpoint with Bearer auth"],
|
|
4329
4383
|
["/fallback", "Show remote inference fallback mode"],
|
|
4330
4384
|
["/fallback status", "Show remote inference fallback mode"],
|
|
@@ -4777,6 +4831,7 @@ var COMMAND_SIGNATURES = [
|
|
|
4777
4831
|
["/ipfs share <tool|skill> <name>", "Share a tool or skill through IPFS"],
|
|
4778
4832
|
["/ipfs import <cid>", "Import a shared IPFS tool or skill reference"],
|
|
4779
4833
|
["/sponsor", "Sponsor inference - onboarding wizard or dashboard"],
|
|
4834
|
+
["/mesh [status|identity]", "Inspect trusted inference mesh routing and public identity"],
|
|
4780
4835
|
["/sponsor status", "Show sponsor dashboard with usage metrics"],
|
|
4781
4836
|
["/sponsor image <prompt>", "Generate an image on a sponsored peer"],
|
|
4782
4837
|
["/sponsor video <prompt>", "Generate a video on a sponsored peer"],
|
|
@@ -4834,7 +4889,7 @@ var COMMAND_SIGNATURES = [
|
|
|
4834
4889
|
],
|
|
4835
4890
|
["/reminders", "Alias for /reminder"],
|
|
4836
4891
|
["/daemon", "Show or manage the local API daemon"],
|
|
4837
|
-
["/daemon <start|stop|restart|takeover>", "
|
|
4892
|
+
["/daemon <status|diagnostics|start|stop|restart|takeover>", "Inspect startup diagnostics or control the local API daemon"],
|
|
4838
4893
|
["/apikey", "Show current API key (for pasting into Web UI / clients)"],
|
|
4839
4894
|
["/apikey copy", "Copy the API key to clipboard"],
|
|
4840
4895
|
["/apikey new", "Rotate to a new API key (regenerate)"],
|
|
@@ -5053,6 +5108,7 @@ var CATEGORY_OVERRIDES = {
|
|
|
5053
5108
|
"task-type": "runtime",
|
|
5054
5109
|
tasktype: "runtime",
|
|
5055
5110
|
sponsor: "network",
|
|
5111
|
+
mesh: "network",
|
|
5056
5112
|
expose: "gateway",
|
|
5057
5113
|
access: "network",
|
|
5058
5114
|
host: "network",
|
|
@@ -6154,9 +6210,19 @@ var NativeFrontend = class {
|
|
|
6154
6210
|
};
|
|
6155
6211
|
const headerRow = new BoxRenderable10(renderer2, { id: "omnius-header-row", width: "100%", minWidth: 0, minHeight: 1, flexDirection: "row", gap: 1 });
|
|
6156
6212
|
this.header.add(headerRow);
|
|
6213
|
+
this.identityMarker = new TextRenderable9(renderer2, {
|
|
6214
|
+
id: "omnius-marker",
|
|
6215
|
+
content: "■",
|
|
6216
|
+
width: 1,
|
|
6217
|
+
height: 1,
|
|
6218
|
+
flexShrink: 0,
|
|
6219
|
+
fg: colors.foreground,
|
|
6220
|
+
selectable: false
|
|
6221
|
+
});
|
|
6222
|
+
headerRow.add(this.identityMarker);
|
|
6157
6223
|
this.identity = new TextRenderable9(renderer2, {
|
|
6158
6224
|
id: "omnius-identity",
|
|
6159
|
-
content: "
|
|
6225
|
+
content: "OMNIUS",
|
|
6160
6226
|
fg: colors.foreground,
|
|
6161
6227
|
flexShrink: 0,
|
|
6162
6228
|
flexGrow: 0,
|
|
@@ -6217,7 +6283,7 @@ var NativeFrontend = class {
|
|
|
6217
6283
|
}
|
|
6218
6284
|
});
|
|
6219
6285
|
this.detailButton.focusable = true;
|
|
6220
|
-
headerRow.add(this.detailButton,
|
|
6286
|
+
headerRow.add(this.detailButton, 2);
|
|
6221
6287
|
for (const control of [this.identity, this.detailButton]) {
|
|
6222
6288
|
const attributes = control.attributes;
|
|
6223
6289
|
control.on("focused", () => {
|
|
@@ -6227,6 +6293,14 @@ var NativeFrontend = class {
|
|
|
6227
6293
|
control.attributes = attributes;
|
|
6228
6294
|
});
|
|
6229
6295
|
}
|
|
6296
|
+
if (process.env["OMNIUS_TUI_REDUCE_MOTION"] !== "1" && process.env["REDUCE_MOTION"] !== "1") {
|
|
6297
|
+
this.identityMarkerTimer = setInterval(() => {
|
|
6298
|
+
if (this.destroyed) return;
|
|
6299
|
+
this.identityMarker.content = this.identityMarker.plainText === "■" ? " " : "■";
|
|
6300
|
+
this.renderer.requestRender();
|
|
6301
|
+
}, 600);
|
|
6302
|
+
this.identityMarkerTimer.unref?.();
|
|
6303
|
+
}
|
|
6230
6304
|
this.sessionRow = new BoxRenderable10(renderer2, {
|
|
6231
6305
|
id: "omnius-sessions-row",
|
|
6232
6306
|
width: "100%",
|
|
@@ -6587,6 +6661,7 @@ var NativeFrontend = class {
|
|
|
6587
6661
|
context;
|
|
6588
6662
|
selectionMenu;
|
|
6589
6663
|
header;
|
|
6664
|
+
identityMarker;
|
|
6590
6665
|
identity;
|
|
6591
6666
|
headerActions;
|
|
6592
6667
|
headerPanel;
|
|
@@ -6626,6 +6701,7 @@ var NativeFrontend = class {
|
|
|
6626
6701
|
clipboard;
|
|
6627
6702
|
copyFeedback;
|
|
6628
6703
|
copyFeedbackTimer;
|
|
6704
|
+
identityMarkerTimer;
|
|
6629
6705
|
state;
|
|
6630
6706
|
themeSignature = "";
|
|
6631
6707
|
headerSignature = "";
|
|
@@ -6678,7 +6754,7 @@ var NativeFrontend = class {
|
|
|
6678
6754
|
if (headerSignature !== this.headerSignature) {
|
|
6679
6755
|
this.headerSignature = headerSignature;
|
|
6680
6756
|
this.identity.content = styledText([
|
|
6681
|
-
{ text: `${plainText(state.header.panel) ? this.headerPanelCollapsed ? "▸" : "▾" : "
|
|
6757
|
+
{ text: `${plainText(state.header.panel) ? this.headerPanelCollapsed ? "▸ " : "▾ " : ""}${state.header.title}` },
|
|
6682
6758
|
...state.header.detail ? [{ text: " " }, ...textSpans(state.header.detail)] : []
|
|
6683
6759
|
]);
|
|
6684
6760
|
this.headerPanel.content = styledText(state.header.panel);
|
|
@@ -6846,6 +6922,7 @@ var NativeFrontend = class {
|
|
|
6846
6922
|
this.header.backgroundColor = this.footer.backgroundColor = colors.background;
|
|
6847
6923
|
this.header.borderColor = this.footer.borderColor = this.embeddedPane.borderColor = colors.border;
|
|
6848
6924
|
this.identity.fg = colors.foreground;
|
|
6925
|
+
this.identityMarker.fg = colors.foreground;
|
|
6849
6926
|
this.headerPanel.fg = colors.foreground;
|
|
6850
6927
|
this.routeWarning.fg = colors.warning;
|
|
6851
6928
|
this.prompt.fg = this.activity.fg = this.liveButton.fg = colors.accent;
|
|
@@ -6937,11 +7014,11 @@ var NativeFrontend = class {
|
|
|
6937
7014
|
const actions = this.state?.header.actions ?? [];
|
|
6938
7015
|
const naturalWidth = actions.reduce((size, action) => size + terminalCellWidth(plainText(action.label)), 0) + Math.max(0, actions.length - 1);
|
|
6939
7016
|
const detailWidth = width < 40 ? 1 : 9;
|
|
6940
|
-
const gapCount = this.headerActions.visible ?
|
|
6941
|
-
const controlWidth = Math.min(naturalWidth, Math.max(1, width - 18 - detailWidth - gapCount));
|
|
7017
|
+
const gapCount = this.headerActions.visible ? 3 : 2;
|
|
7018
|
+
const controlWidth = Math.min(naturalWidth, Math.max(1, width - 1 - 18 - detailWidth - gapCount));
|
|
6942
7019
|
this.headerActions.width = controlWidth;
|
|
6943
|
-
this.identity.minWidth = Math.max(0, Math.min(18, width - detailWidth - gapCount));
|
|
6944
|
-
this.identity.width = Math.max(0, width - (this.headerActions.visible ? controlWidth : 0) - detailWidth - gapCount);
|
|
7020
|
+
this.identity.minWidth = Math.max(0, Math.min(18, width - 1 - detailWidth - gapCount));
|
|
7021
|
+
this.identity.width = Math.max(0, width - 1 - (this.headerActions.visible ? controlWidth : 0) - detailWidth - gapCount);
|
|
6945
7022
|
this.detailButton.width = detailWidth;
|
|
6946
7023
|
this.keyHints.content = width < 60 ? "F1 HELP" : "F1 HELP TAB FOCUS";
|
|
6947
7024
|
this.detailButton.content = `${shown ? "-" : "+"}${detailWidth > 1 ? " DETAILS" : ""}`;
|
|
@@ -7487,6 +7564,10 @@ var NativeFrontend = class {
|
|
|
7487
7564
|
if (this.destroyed) return;
|
|
7488
7565
|
this.destroyed = true;
|
|
7489
7566
|
if (this.copyFeedbackTimer) clearTimeout(this.copyFeedbackTimer);
|
|
7567
|
+
if (this.identityMarkerTimer) {
|
|
7568
|
+
clearInterval(this.identityMarkerTimer);
|
|
7569
|
+
this.identityMarkerTimer = void 0;
|
|
7570
|
+
}
|
|
7490
7571
|
this.selectionMenu.destroy();
|
|
7491
7572
|
this.disposeSelectionContrast();
|
|
7492
7573
|
this.renderer.keyInput.off("keypress", this.onKey);
|