agent-embassy 4.3.0 → 4.4.1
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/CHANGELOG.md +15 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +174 -156
- package/SECURITY.md +13 -11
- package/dist/src/gateway/core-cli.js +2 -1
- package/dist/src/gateway/core-cli.js.map +1 -1
- package/dist/src/gateway/core-version.d.ts +1 -1
- package/dist/src/gateway/core-version.js +1 -1
- package/dist/src/gateway/tui-model.d.ts +67 -0
- package/dist/src/gateway/tui-model.js +136 -0
- package/dist/src/gateway/tui-model.js.map +1 -0
- package/dist/src/gateway/tui-view.d.ts +11 -0
- package/dist/src/gateway/tui-view.js +206 -0
- package/dist/src/gateway/tui-view.js.map +1 -0
- package/dist/src/gateway/tui.d.ts +7 -41
- package/dist/src/gateway/tui.js +43 -234
- package/dist/src/gateway/tui.js.map +1 -1
- package/docs/CONFIGURATION.md +33 -32
- package/docs/GATEWAY-ARCHITECTURE.md +18 -19
- package/package.json +7 -2
- package/skills/embassy-peer/SKILL.md +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-cli.js","sourceRoot":"","sources":["../../../src/gateway/core-cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core-cli.js","sourceRoot":"","sources":["../../../src/gateway/core-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const CORE_VERSION = "4.
|
|
1
|
+
export declare const CORE_VERSION = "4.4.1";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const CORE_VERSION = "4.
|
|
1
|
+
export const CORE_VERSION = "4.4.1";
|
|
2
2
|
//# sourceMappingURL=core-version.js.map
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
export type Obj = Record<string, unknown>;
|
|
2
|
+
export type Section = "endpoints" | "deliveries" | "retirements" | "result";
|
|
3
|
+
export type Mode = "browse" | "token" | "confirm";
|
|
4
|
+
export type EndpointRow = Readonly<{
|
|
5
|
+
id: string;
|
|
6
|
+
alias: string;
|
|
7
|
+
provider: string;
|
|
8
|
+
host: string;
|
|
9
|
+
local: boolean;
|
|
10
|
+
queueDepth?: number;
|
|
11
|
+
lastOperation?: Obj;
|
|
12
|
+
observedAt?: string;
|
|
13
|
+
safeErrorCode?: string;
|
|
14
|
+
codex?: Obj;
|
|
15
|
+
placeholder?: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
export type DeliverySummary = Readonly<{
|
|
18
|
+
summary: true;
|
|
19
|
+
rows: readonly Obj[];
|
|
20
|
+
}>;
|
|
21
|
+
export type TuiModel = {
|
|
22
|
+
snapshot?: Obj;
|
|
23
|
+
snapshotAt?: number;
|
|
24
|
+
staleSince?: number;
|
|
25
|
+
error?: string;
|
|
26
|
+
errorDetail?: string;
|
|
27
|
+
action?: string;
|
|
28
|
+
actionRunning?: boolean;
|
|
29
|
+
host?: string;
|
|
30
|
+
restarted?: boolean;
|
|
31
|
+
section: Section;
|
|
32
|
+
previousSection?: Exclude<Section, "result">;
|
|
33
|
+
selected: Record<Exclude<Section, "result">, number> & Partial<Record<"result", number>>;
|
|
34
|
+
selectedEndpoint?: string;
|
|
35
|
+
mode: Mode;
|
|
36
|
+
token: string;
|
|
37
|
+
retiring?: EndpointRow;
|
|
38
|
+
result?: Readonly<{
|
|
39
|
+
label: string;
|
|
40
|
+
value: string;
|
|
41
|
+
}>;
|
|
42
|
+
hosts?: readonly Readonly<{
|
|
43
|
+
host: string;
|
|
44
|
+
state: string;
|
|
45
|
+
selected: boolean;
|
|
46
|
+
}>[];
|
|
47
|
+
};
|
|
48
|
+
export declare const object: (value: unknown) => value is Obj;
|
|
49
|
+
export declare const list: (value: unknown) => Obj[];
|
|
50
|
+
export declare const text: (value: unknown, fallback?: string) => string;
|
|
51
|
+
export declare const clean: (value: unknown) => string;
|
|
52
|
+
export declare const errorText: (error: unknown) => string;
|
|
53
|
+
export declare const age: (milliseconds: unknown) => string;
|
|
54
|
+
export declare const json: (value: unknown) => string;
|
|
55
|
+
export declare const endpointKey: (row: Pick<EndpointRow, "host" | "id">) => string;
|
|
56
|
+
export declare const unsuccessful: Set<string>;
|
|
57
|
+
export declare const deliveryToken: RegExp;
|
|
58
|
+
export declare function tokenFeedback(token: string): string;
|
|
59
|
+
export declare const groups: readonly ["Working", "Waiting", "Faulted", "Ready", "Dormant", "Not reporting", "Cached"];
|
|
60
|
+
export declare function endpointGroup(row: EndpointRow): number;
|
|
61
|
+
export declare function endpointRows(snapshot?: Obj): EndpointRow[];
|
|
62
|
+
export declare function sectionRows(model: TuiModel, width?: number): (Obj | EndpointRow | DeliverySummary | string)[];
|
|
63
|
+
export declare function operation(row: EndpointRow): string;
|
|
64
|
+
export declare function collisionAliases(snapshot?: Obj): Set<string>;
|
|
65
|
+
export declare function summaryLine(row: DeliverySummary): string;
|
|
66
|
+
export declare const isLoopback: (value: unknown) => boolean;
|
|
67
|
+
export declare function modalFits(model: Readonly<TuiModel>, width: number, height: number): boolean;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import wrapAnsi from "wrap-ansi";
|
|
2
|
+
export const object = (value) => !!value && typeof value === "object" && !Array.isArray(value);
|
|
3
|
+
export const list = (value) => Array.isArray(value) ? value.filter(object) : [];
|
|
4
|
+
export const text = (value, fallback = "not reported") => typeof value === "string" && value.length > 0 ? value : fallback;
|
|
5
|
+
const ansi = /(?:\u001b\][^\u0007\u001b]*(?:\u0007|\u001b\\)|\u001b[P^_X][\s\S]*?\u001b\\|\u001b\[[0-?]*[ -/]*[@-~]|\u001b[@-_])/g;
|
|
6
|
+
export const clean = (value) => text(value, "").replace(ansi, "")
|
|
7
|
+
.replace(/[\p{Cc}\p{Cf}]/gu, (character) => character === "\u200d" ? character
|
|
8
|
+
: character === "\n" || character === "\r" || character === "\t" ? " " : "?");
|
|
9
|
+
export const errorText = (error) => {
|
|
10
|
+
if (object(error) && typeof error.code === "string")
|
|
11
|
+
return clean(error.code);
|
|
12
|
+
if (error instanceof Error && typeof error.code === "string")
|
|
13
|
+
return clean(error.code);
|
|
14
|
+
return "CONTROL_UNAVAILABLE";
|
|
15
|
+
};
|
|
16
|
+
export const age = (milliseconds) => {
|
|
17
|
+
const ms = typeof milliseconds === "number" && Number.isFinite(milliseconds) ? Math.max(0, milliseconds) : 0;
|
|
18
|
+
if (ms < 1_000)
|
|
19
|
+
return `${Math.round(ms)}ms`;
|
|
20
|
+
if (ms < 60_000)
|
|
21
|
+
return `${Math.floor(ms / 1_000)}s`;
|
|
22
|
+
if (ms < 3_600_000)
|
|
23
|
+
return `${Math.floor(ms / 60_000)}m`;
|
|
24
|
+
return `${Math.floor(ms / 3_600_000)}h`;
|
|
25
|
+
};
|
|
26
|
+
export const json = (value) => {
|
|
27
|
+
try {
|
|
28
|
+
return clean(JSON.stringify(value));
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return "unprintable result";
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
export const endpointKey = (row) => `${row.host}\0${row.id}`;
|
|
35
|
+
const loopback = (value) => typeof value === "string" && /^loopback-[ab]-[0-9a-f]{8}@/.test(value);
|
|
36
|
+
export const unsuccessful = new Set(["failed", "cancelled", "expired", "ambiguous", "unconfirmed"]);
|
|
37
|
+
export const deliveryToken = /^dlv_[A-Za-z0-9_-]{24}$/;
|
|
38
|
+
export function tokenFeedback(token) {
|
|
39
|
+
if (deliveryToken.test(token))
|
|
40
|
+
return "format valid";
|
|
41
|
+
if ("dlv_".startsWith(token) || /^dlv_[A-Za-z0-9_-]{0,23}$/.test(token))
|
|
42
|
+
return "format incomplete";
|
|
43
|
+
return "format invalid";
|
|
44
|
+
}
|
|
45
|
+
export const groups = ["Working", "Waiting", "Faulted", "Ready", "Dormant", "Not reporting", "Cached"];
|
|
46
|
+
export function endpointGroup(row) {
|
|
47
|
+
if (!row.local)
|
|
48
|
+
return 6;
|
|
49
|
+
return { busy: 0, waiting: 1, systemError: 2, idle: 3, dormant: 4 }[String(row.codex?.state)] ?? 5;
|
|
50
|
+
}
|
|
51
|
+
export function endpointRows(snapshot) {
|
|
52
|
+
const local = list(snapshot?.routes).map((row) => ({ id: text(row.id), alias: text(row.alias), provider: text(row.provider),
|
|
53
|
+
host: text(row.host), local: true, ...(typeof row.queueDepth === "number" ? { queueDepth: row.queueDepth } : {}),
|
|
54
|
+
...(object(row.lastOperation) ? { lastOperation: row.lastOperation } : {}), ...(object(row.codex) ? { codex: row.codex } : {}) }));
|
|
55
|
+
const federation = object(snapshot?.federation) ? snapshot.federation : undefined;
|
|
56
|
+
const remote = list(federation?.nodes).flatMap((node) => {
|
|
57
|
+
const common = { host: text(node.host), local: false,
|
|
58
|
+
...(typeof node.observedAt === "string" ? { observedAt: node.observedAt } : {}),
|
|
59
|
+
...(typeof node.safeErrorCode === "string" ? { safeErrorCode: node.safeErrorCode } : {}) };
|
|
60
|
+
const routes = list(node.routes);
|
|
61
|
+
return routes.length ? routes.map((row) => ({ ...common, id: text(row.id), alias: text(row.alias),
|
|
62
|
+
provider: text(row.provider), host: text(row.host, common.host) }))
|
|
63
|
+
: [{ ...common, id: "", alias: "No cached endpoints", provider: "-", placeholder: true }];
|
|
64
|
+
});
|
|
65
|
+
return [...local, ...remote].sort((a, b) => endpointGroup(a) - endpointGroup(b));
|
|
66
|
+
}
|
|
67
|
+
function deliveryRows(snapshot) {
|
|
68
|
+
const sorted = list(snapshot?.messages).sort((a, b) => (typeof a.ageMs === "number" ? a.ageMs : Number.MAX_SAFE_INTEGER) -
|
|
69
|
+
(typeof b.ageMs === "number" ? b.ageMs : Number.MAX_SAFE_INTEGER));
|
|
70
|
+
const result = [];
|
|
71
|
+
for (const row of sorted) {
|
|
72
|
+
const anonymous = typeof row.source !== "string" && typeof row.target !== "string", last = result.at(-1);
|
|
73
|
+
if (object(last) && last.summary === true && anonymous && Array.isArray(last.rows))
|
|
74
|
+
result[result.length - 1] = { summary: true, rows: [...last.rows.filter(object), row] };
|
|
75
|
+
else if (anonymous)
|
|
76
|
+
result.push({ summary: true, rows: [row] });
|
|
77
|
+
else
|
|
78
|
+
result.push(row);
|
|
79
|
+
}
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
export function sectionRows(model, width = 80) {
|
|
83
|
+
if (model.section === "endpoints")
|
|
84
|
+
return endpointRows(model.snapshot);
|
|
85
|
+
if (model.section === "deliveries")
|
|
86
|
+
return deliveryRows(model.snapshot);
|
|
87
|
+
if (model.section === "result") {
|
|
88
|
+
if (!model.result)
|
|
89
|
+
return [];
|
|
90
|
+
let value = model.result.value;
|
|
91
|
+
try {
|
|
92
|
+
value = JSON.stringify(JSON.parse(value), null, 2);
|
|
93
|
+
}
|
|
94
|
+
catch { /* A refusal includes plain operator guidance. */ }
|
|
95
|
+
return [`${model.result.label}:`, ...value.split("\n").flatMap((line) => wrapAnsi(clean(line), Math.max(1, width - 2), { hard: true, trim: false }).split("\n"))];
|
|
96
|
+
}
|
|
97
|
+
return list(model.snapshot?.retirements);
|
|
98
|
+
}
|
|
99
|
+
export function operation(row) {
|
|
100
|
+
if (!row.lastOperation)
|
|
101
|
+
return "not yet observed";
|
|
102
|
+
const outcome = text(row.lastOperation.outcome);
|
|
103
|
+
return outcome === "delivered" ? "delivered" : `${outcome} !${text(row.lastOperation.code)}`;
|
|
104
|
+
}
|
|
105
|
+
export function collisionAliases(snapshot) {
|
|
106
|
+
const counts = new Map();
|
|
107
|
+
for (const row of endpointRows(snapshot))
|
|
108
|
+
if (!row.placeholder)
|
|
109
|
+
counts.set(row.alias, (counts.get(row.alias) ?? 0) + 1);
|
|
110
|
+
return new Set([...counts].filter(([, count]) => count > 1).map(([alias]) => alias));
|
|
111
|
+
}
|
|
112
|
+
export function summaryLine(row) {
|
|
113
|
+
const counts = new Map();
|
|
114
|
+
for (const item of row.rows) {
|
|
115
|
+
const state = text(item.state), label = `${state}${unsuccessful.has(state) && item.safeErrorCode ? ` !${text(item.safeErrorCode)}` : ""}`;
|
|
116
|
+
counts.set(label, (counts.get(label) ?? 0) + 1);
|
|
117
|
+
}
|
|
118
|
+
return `${row.rows.length} unattributed deliveries · ${[...counts].map(([label, count]) => `${label} ${count}`).join(" · ")}`;
|
|
119
|
+
}
|
|
120
|
+
export const isLoopback = loopback;
|
|
121
|
+
export function modalFits(model, width, height) {
|
|
122
|
+
if (width < 48)
|
|
123
|
+
return false;
|
|
124
|
+
const inner = Math.min(78, width - 4) - 6;
|
|
125
|
+
const count = (value) => wrapAnsi(clean(value), inner, { hard: true, trim: false }).split("\n").length;
|
|
126
|
+
if (model.mode === "token")
|
|
127
|
+
return height >= 11;
|
|
128
|
+
if (model.mode !== "confirm" || !model.retiring)
|
|
129
|
+
return true;
|
|
130
|
+
const row = model.retiring;
|
|
131
|
+
const rows = 11 + count(`Host: ${row.host}`) + count(`Alias: ${row.alias}`) + count(row.id) +
|
|
132
|
+
count(`${row.provider} · queue ${row.queueDepth ?? 0} · last ${operation(row)}`) +
|
|
133
|
+
count("queued/reserved work is cancelled, armed work becomes ambiguous, accepted work becomes unconfirmed — cannot be undone.");
|
|
134
|
+
return rows <= height;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=tui-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui-model.js","sourceRoot":"","sources":["../../../src/gateway/tui-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type TuiModel } from "./tui-model.js";
|
|
3
|
+
export type TuiViewProps = Readonly<{
|
|
4
|
+
model: Readonly<TuiModel>;
|
|
5
|
+
columns: number;
|
|
6
|
+
rows: number;
|
|
7
|
+
now: number;
|
|
8
|
+
color: boolean;
|
|
9
|
+
}>;
|
|
10
|
+
export { modalFits } from "./tui-model.js";
|
|
11
|
+
export declare function TuiView({ model, columns, rows, now, color }: TuiViewProps): React.JSX.Element;
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Box, Text } from "ink";
|
|
4
|
+
import stringWidth from "string-width";
|
|
5
|
+
import { age, clean, collisionAliases, endpointGroup, endpointKey, groups, isLoopback, list, modalFits, object, operation, sectionRows, summaryLine, text, tokenFeedback, unsuccessful, } from "./tui-model.js";
|
|
6
|
+
function tone(value) {
|
|
7
|
+
if (["healthy", "idle", "ready", "delivered", "ok"].includes(value))
|
|
8
|
+
return "good";
|
|
9
|
+
if (["busy", "working", "queued", "reserved", "armed", "accepted"].includes(value))
|
|
10
|
+
return "busy";
|
|
11
|
+
if (value === "waiting")
|
|
12
|
+
return "waiting";
|
|
13
|
+
if (["dormant", "cached", "unknown"].includes(value))
|
|
14
|
+
return "dormant";
|
|
15
|
+
if (value === "stale")
|
|
16
|
+
return "busy";
|
|
17
|
+
if (unsuccessful.has(value) || ["unreachable", "not reachable", "degraded", "systemError"].includes(value))
|
|
18
|
+
return "bad";
|
|
19
|
+
return "plain";
|
|
20
|
+
}
|
|
21
|
+
function ToneText({ children, value, color, bold = false, inverse = false, dim = false, wrap = "truncate-end" }) {
|
|
22
|
+
const semantic = tone(value ?? "");
|
|
23
|
+
const foreground = !color ? undefined : semantic === "good" ? "green" : semantic === "busy" ? "yellow"
|
|
24
|
+
: semantic === "waiting" ? "magenta" : semantic === "bad" ? "red" : undefined;
|
|
25
|
+
return _jsx(Text, { ...(foreground ? { color: foreground } : {}), bold: color && bold, inverse: color && inverse, dimColor: color && (dim || semantic === "dormant" || value === "stale"), ...(wrap ? { wrap } : {}), children: children });
|
|
26
|
+
}
|
|
27
|
+
const graphemes = new Intl.Segmenter("en", { granularity: "grapheme" });
|
|
28
|
+
function padded(value, width, right = false) {
|
|
29
|
+
const safe = clean(value);
|
|
30
|
+
let output = safe;
|
|
31
|
+
if (stringWidth(safe) > width) {
|
|
32
|
+
output = "";
|
|
33
|
+
for (const { segment } of graphemes.segment(safe)) {
|
|
34
|
+
if (stringWidth(output + segment) > width - 1)
|
|
35
|
+
break;
|
|
36
|
+
output += segment;
|
|
37
|
+
}
|
|
38
|
+
output += width > 0 ? "…" : "";
|
|
39
|
+
}
|
|
40
|
+
const space = " ".repeat(Math.max(0, width - stringWidth(output)));
|
|
41
|
+
return right ? space + output : output + space;
|
|
42
|
+
}
|
|
43
|
+
function DataLine({ cells, selected, color, width }) {
|
|
44
|
+
return _jsx(Box, { height: 1, flexShrink: 0, width: width, children: _jsxs(Text, { inverse: selected && color, children: [selected ? "> " : " ", cells.map((cell, index) => _jsx(ToneText, { color: color, ...(!selected && cell.tone ? { value: cell.tone } : {}), bold: cell.bold ?? false, dim: !selected && (cell.dim ?? false), children: index < cells.length - 1 ? `${padded(cell.value, Math.max(0, cell.width - 1), cell.right)} ` : padded(cell.value, cell.width, cell.right) }, index))] }) });
|
|
45
|
+
}
|
|
46
|
+
function endpointWidths(width) {
|
|
47
|
+
const alias = Math.min(48, Math.max(10, width - 63));
|
|
48
|
+
return { alias, outcome: Math.max(1, width - alias - 27) };
|
|
49
|
+
}
|
|
50
|
+
function Rule({ width, color }) {
|
|
51
|
+
return _jsx(ToneText, { color: color, dim: true, children: "─".repeat(Math.max(1, width)) });
|
|
52
|
+
}
|
|
53
|
+
function HostTabs({ model, color, width }) {
|
|
54
|
+
if (!model.hosts || model.hosts.length < 2)
|
|
55
|
+
return null;
|
|
56
|
+
const count = Math.max(1, Math.floor(width / 24)), active = Math.max(0, model.hosts.findIndex((host) => host.selected));
|
|
57
|
+
const start = Math.max(0, Math.min(active - 1, model.hosts.length - count));
|
|
58
|
+
return _jsx(Box, { flexShrink: 0, height: 1, overflow: "hidden", children: model.hosts.slice(start, start + count).map((host) => _jsxs(Box, { width: Math.floor(width / Math.min(count, model.hosts.length)), paddingRight: 1, flexShrink: 0, children: [_jsx(ToneText, { color: color, value: host.state, children: "\u25CF " }), _jsx(ToneText, { color: color, value: host.state, bold: host.selected, wrap: "truncate-end", children: host.selected ? `[${clean(host.host)} · ${clean(host.state)}]` : `${clean(host.host)} · ${clean(host.state)}` })] }, host.host)) });
|
|
59
|
+
}
|
|
60
|
+
function Header({ model, width, now, color }) {
|
|
61
|
+
const snapshot = model.snapshot;
|
|
62
|
+
const health = model.error ? "UNREACHABLE" : snapshot ? text(snapshot.health, "unknown") : "not reachable";
|
|
63
|
+
const elapsed = model.snapshotAt === undefined ? "never" : now - model.snapshotAt < 1_000 ? "just now" : `${age(now - model.snapshotAt)} ago`;
|
|
64
|
+
return _jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [_jsx(HostTabs, { model: model, color: color, width: width }), _jsxs(Box, { height: 1, children: [_jsx(Box, { width: Math.max(12, width - 43), children: _jsxs(ToneText, { color: color, bold: true, wrap: "truncate-end", children: ["Embassy ", clean(model.host ?? "local")] }) }), _jsx(Box, { width: 25, children: _jsxs(ToneText, { color: color, value: health.toLowerCase(), children: ["broker ", clean(health)] }) }), _jsx(Box, { width: 18, children: _jsxs(ToneText, { color: color, dim: true, wrap: "truncate-end", children: ["ledger rev ", String(snapshot?.revision ?? "-")] }) })] }), _jsx(Box, { height: 1, flexShrink: 0, children: _jsxs(ToneText, { color: color, dim: true, wrap: "truncate-end", children: ["Updated ", elapsed, object(snapshot?.codex) ? ` · Codex discovery ${snapshot.codex.complete ? "up to 20 most recent" : "partial"}${snapshot.codex.truncated ? " · truncated" : ""} · ${observationAge(snapshot.codex.observedAt, now)}${snapshot.codex.safeErrorCode ? ` !${clean(text(snapshot.codex.safeErrorCode))}` : ""}` : ""] }) }), model.error ? _jsxs(_Fragment, { children: [_jsxs(ToneText, { color: color, value: "stale", children: ["STALE ", age(now - (model.staleSince ?? now)), " !", clean(model.error)] }), _jsxs(ToneText, { color: color, dim: true, children: [snapshot ? `Last-known: ${clean(text(snapshot.health))}. ` : "", "Run embassy service status on ", clean(model.host ?? "local"), "."] }), model.errorDetail ? _jsx(ToneText, { color: color, value: "failed", children: clean(model.errorDetail) }) : null] }) : snapshot?.safeErrorCode ? _jsxs(ToneText, { color: color, value: "failed", children: ["!", clean(text(snapshot.safeErrorCode))] }) : null, model.restarted ? _jsx(ToneText, { color: color, value: "busy", children: "Ledger revision decreased; broker restarted/reset." }) : null, _jsx(ToneText, { color: color, dim: true, children: padded("── not a provider readiness proof ", width).replace(/ +$/, (spaces) => " " + "─".repeat(Math.max(0, spaces.length - 1))) })] });
|
|
65
|
+
}
|
|
66
|
+
function observationAge(value, now) {
|
|
67
|
+
const parsed = typeof value === "string" ? Date.parse(value) : Number.NaN;
|
|
68
|
+
return Number.isFinite(parsed) ? `${age(now - parsed)} ago` : "not yet refreshed";
|
|
69
|
+
}
|
|
70
|
+
function SectionTabs({ model, color }) {
|
|
71
|
+
const failed = list(model.snapshot?.messages).filter((row) => row.state === "failed").length;
|
|
72
|
+
const tabs = ["endpoints", "deliveries", "retirements", "result"];
|
|
73
|
+
return _jsx(Box, { flexShrink: 0, children: tabs.map((section, index) => {
|
|
74
|
+
const selected = model.section === section;
|
|
75
|
+
const label = `${index + 1} ${section}`;
|
|
76
|
+
return _jsxs(Box, { marginRight: 2, children: [_jsx(ToneText, { color: color, bold: selected, dim: !selected, children: selected ? `[${label}` : label }), section === "deliveries" && failed ? _jsxs(ToneText, { color: color, value: "failed", children: [" (", failed, " failed)"] }) : null, selected ? _jsx(ToneText, { color: color, bold: true, children: "]" }) : null] }, section);
|
|
77
|
+
}) });
|
|
78
|
+
}
|
|
79
|
+
function EndpointLine({ row, selected, collisions, color, now, width }) {
|
|
80
|
+
const state = row.local ? text(row.codex?.state, "unknown") : row.safeErrorCode ? "stale" : "cached";
|
|
81
|
+
const alias = clean(row.alias), collision = collisions.has(row.alias);
|
|
82
|
+
const sizes = endpointWidths(width), outcome = text(row.lastOperation?.outcome, "");
|
|
83
|
+
return _jsxs(Box, { flexDirection: "column", children: [_jsx(DataLine, { selected: selected, color: color, width: width, cells: [
|
|
84
|
+
{ value: state, width: 12, tone: state }, { value: alias, width: sizes.alias, bold: true },
|
|
85
|
+
{ value: row.provider, width: 7, dim: true }, { value: row.local ? String(row.queueDepth ?? 0) : "—", width: 6, right: true, dim: true },
|
|
86
|
+
{ value: row.local ? operation(row) : "not reported", width: sizes.outcome,
|
|
87
|
+
tone: outcome === "failed" || outcome === "delivered" ? outcome : "", dim: !["failed", "delivered"].includes(outcome) },
|
|
88
|
+
] }), collision ? _jsx(Box, { paddingLeft: 14, height: 1, children: _jsxs(ToneText, { color: color, dim: true, wrap: "truncate-end", children: ["ambiguous name \u00B7 endpoint \u2026", clean(row.id.slice(-8))] }) }) : null, !row.local ? _jsx(Box, { paddingLeft: 14, height: 1, children: _jsxs(ToneText, { color: color, value: row.safeErrorCode ? "stale" : "dormant", dim: true, wrap: "truncate-end", children: ["SSH ", clean(row.host), " \u00B7 catalog ", observationAge(row.observedAt, now), row.safeErrorCode ? ` !${clean(row.safeErrorCode)}` : "", " \u00B7 queue/last not reported"] }) }) : null] });
|
|
89
|
+
}
|
|
90
|
+
function DeliveryLine({ row, selected, color, width }) {
|
|
91
|
+
if (row.summary === true)
|
|
92
|
+
return _jsx(DataLine, { selected: selected, color: color, width: width, cells: [{ value: summaryLine(row), width: width - 2,
|
|
93
|
+
tone: row.rows.some((item) => unsuccessful.has(String(item.state))) ? "failed" : "" }] });
|
|
94
|
+
const item = row;
|
|
95
|
+
const state = text(item.state), fault = unsuccessful.has(state) && item.safeErrorCode ? ` !${clean(text(item.safeErrorCode))}` : "";
|
|
96
|
+
const source = clean(text(item.source, "unavailable sender")), target = clean(text(item.target, "unavailable recipient"));
|
|
97
|
+
return _jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [_jsx(DataLine, { selected: selected, color: color, width: width, cells: [
|
|
98
|
+
{ value: `${age(item.ageMs)} ago`, width: 10, right: true, dim: true }, { value: state, width: 13, tone: state },
|
|
99
|
+
{ value: `${source} -> ${target}${isLoopback(source) || isLoopback(target) ? " (loopback check)" : ""}`, width: width - 25, bold: true },
|
|
100
|
+
] }), fault ? _jsx(Box, { paddingLeft: 25, height: 1, children: _jsx(ToneText, { color: color, value: "failed", wrap: "truncate-end", children: fault.trim() }) }) : null] });
|
|
101
|
+
}
|
|
102
|
+
function content(model, color, now, width) {
|
|
103
|
+
const rows = sectionRows(model, width), selected = selectedIndex(model, rows), collisions = collisionAliases(model.snapshot);
|
|
104
|
+
const entries = [];
|
|
105
|
+
if (model.section === "endpoints") {
|
|
106
|
+
let prior = -1;
|
|
107
|
+
for (const [index, item] of rows.entries()) {
|
|
108
|
+
const group = endpointGroup(item);
|
|
109
|
+
if (group !== prior) {
|
|
110
|
+
const count = rows.filter((row) => endpointGroup(row) === group).length;
|
|
111
|
+
entries.push({ key: `group-${group}`, height: 1, node: _jsxs(ToneText, { color: color, bold: true, children: [groups[group], " (", count, ")"] }) });
|
|
112
|
+
prior = group;
|
|
113
|
+
}
|
|
114
|
+
entries.push({ key: `${endpointKey(item)}\0${index}`, index, height: 1 + Number(collisions.has(item.alias)) + Number(!item.local),
|
|
115
|
+
node: _jsx(EndpointLine, { row: item, selected: index === selected, collisions: collisions, color: color, now: now, width: width }) });
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else if (model.section === "deliveries") {
|
|
119
|
+
rows.forEach((row, index) => entries.push({ key: `delivery-${index}`, index,
|
|
120
|
+
height: object(row) && !row.summary && unsuccessful.has(String(row.state)) && row.safeErrorCode ? 2 : 1,
|
|
121
|
+
node: _jsx(DeliveryLine, { row: row, selected: index === selected, color: color, width: width }) }));
|
|
122
|
+
}
|
|
123
|
+
else if (model.section === "retirements") {
|
|
124
|
+
rows.forEach((row, index) => {
|
|
125
|
+
const item = row, alias = text(item.alias), at = Date.parse(String(item.at));
|
|
126
|
+
entries.push({ key: `retirement-${index}`, index, height: 1,
|
|
127
|
+
node: _jsx(DataLine, { selected: index === selected, color: color, width: width, cells: [
|
|
128
|
+
{ value: Number.isFinite(at) ? `${age(now - at)} ago` : text(item.at), width: 11, right: true, dim: true },
|
|
129
|
+
{ value: alias + (isLoopback(alias) ? " (loopback check)" : ""), width: width - 13, bold: !isLoopback(alias), dim: isLoopback(alias) },
|
|
130
|
+
] }) });
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
else if (model.result) {
|
|
134
|
+
rows.forEach((row, index) => {
|
|
135
|
+
const state = /"(?:state|status|health|outcome)":\s*"([a-zA-Z]+)"/.exec(String(row))?.[1];
|
|
136
|
+
entries.push({ key: `result-${index}`, index, height: 1,
|
|
137
|
+
node: _jsx(DataLine, { selected: index === selected, color: color, width: width, cells: [
|
|
138
|
+
{ value: clean(row), width: width - 2, ...(state ? { tone: state } : {}), bold: index === 0 },
|
|
139
|
+
] }) });
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
return entries;
|
|
143
|
+
}
|
|
144
|
+
function selectedIndex(model, rows = sectionRows(model)) {
|
|
145
|
+
if (model.section === "endpoints" && model.selectedEndpoint)
|
|
146
|
+
return rows.findIndex((row) => endpointKey(row) === model.selectedEndpoint);
|
|
147
|
+
return Math.max(0, Math.min(model.selected[model.section] ?? 0, Math.max(0, rows.length - 1)));
|
|
148
|
+
}
|
|
149
|
+
function viewport(all, focus, height) {
|
|
150
|
+
let start = 0, end = 0;
|
|
151
|
+
while (start < all.length) {
|
|
152
|
+
let remaining = height - Number(all.slice(0, start).some((entry) => entry.index !== undefined));
|
|
153
|
+
end = start;
|
|
154
|
+
while (end < all.length && all[end].height <= remaining) {
|
|
155
|
+
remaining -= all[end].height;
|
|
156
|
+
end++;
|
|
157
|
+
}
|
|
158
|
+
if (end < all.length && remaining === 0)
|
|
159
|
+
end--;
|
|
160
|
+
while (end > start && all[end - 1].index === undefined)
|
|
161
|
+
end--;
|
|
162
|
+
if (focus < 0 || focus < end || start >= focus)
|
|
163
|
+
break;
|
|
164
|
+
start++;
|
|
165
|
+
}
|
|
166
|
+
const above = all.slice(0, start).filter((entry) => entry.index !== undefined).length;
|
|
167
|
+
const below = all.slice(end).filter((entry) => entry.index !== undefined).length;
|
|
168
|
+
return { entries: all.slice(start, end), above, below };
|
|
169
|
+
}
|
|
170
|
+
function DialogContent({ model, columns, color }) {
|
|
171
|
+
const retirement = model.mode === "confirm" ? model.retiring : undefined;
|
|
172
|
+
return _jsxs(Box, { width: Math.min(78, columns - 4), borderStyle: "round", borderColor: color ? "gray" : undefined, paddingX: 2, paddingY: 1, flexDirection: "column", children: [_jsx(ToneText, { color: color, bold: true, children: retirement ? "Retire endpoint" : "Look up delivery" }), _jsx(Box, { height: 1 }), retirement ? _jsxs(_Fragment, { children: [_jsxs(ToneText, { color: color, bold: true, wrap: "wrap", children: ["Host: ", clean(retirement.host)] }), _jsxs(ToneText, { color: color, bold: true, wrap: "wrap", children: ["Alias: ", clean(retirement.alias)] }), _jsx(ToneText, { color: color, dim: true, children: "Endpoint ID" }), _jsx(ToneText, { color: color, bold: true, wrap: "wrap", children: clean(retirement.id) }), _jsx(Box, { height: 1 }), _jsxs(ToneText, { color: color, bold: true, wrap: "wrap", children: [clean(retirement.provider), " \u00B7 queue ", retirement.queueDepth ?? 0, " \u00B7 last ", clean(operation(retirement))] }), _jsx(Box, { height: 1 }), _jsx(ToneText, { color: color, value: "failed", wrap: "wrap", children: "queued/reserved work is cancelled, armed work becomes ambiguous, accepted work becomes unconfirmed \u2014 cannot be undone." }), _jsx(Box, { height: 1 }), _jsxs(Box, { children: [_jsx(ToneText, { color: color, value: "failed", bold: true, children: "y confirm" }), _jsx(ToneText, { color: color, children: " \u00B7 " }), _jsx(ToneText, { color: color, bold: true, children: "[N] cancel" })] })] }) : _jsxs(_Fragment, { children: [_jsx(ToneText, { color: color, dim: true, children: "Delivery token" }), _jsx(ToneText, { color: color, bold: true, children: clean(model.token || "dlv_…") }), _jsx(ToneText, { color: color, dim: true, children: tokenFeedback(model.token) }), _jsx(Box, { height: 1 }), _jsx(ToneText, { color: color, bold: true, children: "Enter look up \u00B7 Esc cancel" })] })] });
|
|
173
|
+
}
|
|
174
|
+
export { modalFits } from "./tui-model.js";
|
|
175
|
+
function Dialog({ model, columns, rows, color }) {
|
|
176
|
+
if (!modalFits(model, columns, rows))
|
|
177
|
+
return _jsx(TooSmall, { mode: model.mode, color: color });
|
|
178
|
+
return _jsx(Box, { width: columns, height: rows, alignItems: "center", justifyContent: "center", children: _jsx(DialogContent, { model: model, columns: columns, color: color }) });
|
|
179
|
+
}
|
|
180
|
+
function TooSmall({ mode, color }) {
|
|
181
|
+
return _jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsx(Box, { height: 1, flexShrink: 0, children: _jsx(ToneText, { color: color, bold: true, wrap: "truncate-end", children: "Embassy \u00B7 terminal too small" }) }), _jsx(Box, { height: 1, flexShrink: 0, children: _jsx(ToneText, { color: color, dim: true, wrap: "truncate-end", children: mode === "confirm" ? "Resize to show the exact endpoint ID and consequences." : "Resize: needs 48×10." }) }), _jsx(Box, { height: 1, flexShrink: 0, children: _jsx(ToneText, { color: color, wrap: "truncate-end", children: mode === "confirm" ? "N cancel" : mode === "token" ? "Esc cancel" : "q quit" }) })] });
|
|
182
|
+
}
|
|
183
|
+
export function TuiView({ model, columns, rows, now, color }) {
|
|
184
|
+
const width = Math.max(1, columns), height = Math.max(1, rows);
|
|
185
|
+
if (height < 10 || width < 48)
|
|
186
|
+
return _jsx(Box, { width: width, height: height, overflow: "hidden", children: _jsx(TooSmall, { mode: model.mode, color: color }) });
|
|
187
|
+
if (model.mode !== "browse")
|
|
188
|
+
return _jsx(Dialog, { model: model, columns: width, rows: height, color: color });
|
|
189
|
+
const all = content(model, color, now, width), source = sectionRows(model, width), selected = selectedIndex(model, source);
|
|
190
|
+
const headerRows = 3 + (model.hosts && model.hosts.length > 1 ? 1 : 0) + (model.error ? 2 + (model.errorDetail ? 1 : 0) : model.snapshot?.safeErrorCode ? 1 : 0)
|
|
191
|
+
+ (model.restarted ? 1 : 0);
|
|
192
|
+
const actionRows = model.action ? 1 : 0, available = Math.max(1, height - headerRows - actionRows - 3 - Number(model.section === "endpoints"));
|
|
193
|
+
const focus = all.findIndex((entry) => entry.index === selected);
|
|
194
|
+
const visible = viewport(all, focus, available), sizes = endpointWidths(width);
|
|
195
|
+
const counter = `${model.section}${model.section === "result" ? " line" : ""} ${source.length ? `${selected < 0 ? "-" : selected + 1}/${source.length}` : "0/0"}`;
|
|
196
|
+
const empty = model.error ? `Broker unreachable (!${model.error}).` : !model.snapshot ? "Broker not reachable."
|
|
197
|
+
: model.section === "endpoints" ? "No endpoints registered." : model.section === "deliveries" ? "No deliveries yet."
|
|
198
|
+
: model.section === "retirements" ? "No retirements." : "No result yet. Run an action to see its result here.";
|
|
199
|
+
return _jsxs(Box, { width: width, height: height, flexDirection: "column", children: [_jsx(Header, { model: model, width: width, now: now, color: color }), _jsx(SectionTabs, { model: model, color: color }), model.section === "endpoints" ? _jsx(DataLine, { selected: false, color: color, width: width, cells: [
|
|
200
|
+
{ value: "State", width: 12, dim: true }, { value: "Endpoint", width: sizes.alias, dim: true },
|
|
201
|
+
{ value: "Type", width: 7, dim: true }, { value: "Queue", width: 6, right: true, dim: true },
|
|
202
|
+
{ value: "Outcome", width: sizes.outcome, dim: true },
|
|
203
|
+
] }) : null, _jsxs(Box, { flexDirection: "column", height: available, flexShrink: 0, overflow: "hidden", children: [visible.above > 0 ? _jsxs(ToneText, { color: color, dim: true, children: ["\u2191 ", visible.above, " more"] }) : null, visible.entries.length ? visible.entries.map((entry) => _jsx(React.Fragment, { children: entry.node }, entry.key))
|
|
204
|
+
: _jsx(ToneText, { color: color, dim: true, children: empty }), _jsx(Box, { flexGrow: 1 }), visible.below > 0 ? _jsxs(ToneText, { color: color, dim: true, children: ["\u2193 ", visible.below, " more"] }) : null] }), model.action ? _jsxs(ToneText, { color: color, ...(model.actionRunning ? { value: "busy" } : {}), wrap: "truncate-end", children: [clean(model.action), model.actionRunning ? " — polling paused" : ""] }) : null, _jsx(Rule, { width: width, color: color }), _jsx(Box, { height: 1, flexShrink: 0, children: _jsxs(ToneText, { color: color, dim: true, wrap: "truncate-end", children: [counter, " \u00B7 [/]:host Tab:view \u2191\u2193 r:refresh c:check d:token x:retire q:quit"] }) })] });
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=tui-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui-view.js","sourceRoot":"","sources":["../../../src/gateway/tui-view.tsx"],"names":[],"mappings":"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"}
|