arc402-cli 1.8.2 → 1.8.4
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/chat/harness.d.ts +1 -0
- package/dist/chat/harness.d.ts.map +1 -1
- package/dist/chat/harness.js +28 -3
- package/dist/chat/harness.js.map +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +4 -3
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +57 -11
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/hire.d.ts.map +1 -1
- package/dist/commands/hire.js +6 -16
- package/dist/commands/hire.js.map +1 -1
- package/dist/commands/openshell.d.ts.map +1 -1
- package/dist/commands/openshell.js +12 -2
- package/dist/commands/openshell.js.map +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +60 -1
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/worker-executor.d.ts +1 -0
- package/dist/daemon/worker-executor.d.ts.map +1 -1
- package/dist/daemon/worker-executor.js +16 -1
- package/dist/daemon/worker-executor.js.map +1 -1
- package/dist/openshell-runtime.d.ts +6 -0
- package/dist/openshell-runtime.d.ts.map +1 -1
- package/dist/openshell-runtime.js +93 -4
- package/dist/openshell-runtime.js.map +1 -1
- package/dist/renderer/ThemedText.d.ts +2 -1
- package/dist/renderer/ThemedText.d.ts.map +1 -1
- package/dist/renderer/ThemedText.js +4 -1
- package/dist/renderer/ThemedText.js.map +1 -1
- package/dist/renderer/reconciler.d.ts.map +1 -1
- package/dist/renderer/reconciler.js +13 -1
- package/dist/renderer/reconciler.js.map +1 -1
- package/dist/renderer/render-frame.d.ts.map +1 -1
- package/dist/renderer/render-frame.js +13 -8
- package/dist/renderer/render-frame.js.map +1 -1
- package/dist/tui/App.d.ts +3 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +82 -25
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/Header.d.ts.map +1 -1
- package/dist/tui/Header.js +4 -2
- package/dist/tui/Header.js.map +1 -1
- package/dist/tui/InputLine.d.ts.map +1 -1
- package/dist/tui/InputLine.js +2 -1
- package/dist/tui/InputLine.js.map +1 -1
- package/dist/tui/KernelPayloadRenderer.d.ts.map +1 -1
- package/dist/tui/KernelPayloadRenderer.js +17 -0
- package/dist/tui/KernelPayloadRenderer.js.map +1 -1
- package/dist/tui/Viewport.d.ts +4 -8
- package/dist/tui/Viewport.d.ts.map +1 -1
- package/dist/tui/Viewport.js +19 -28
- package/dist/tui/Viewport.js.map +1 -1
- package/dist/tui/command-catalog.d.ts.map +1 -1
- package/dist/tui/command-catalog.js +7 -2
- package/dist/tui/command-catalog.js.map +1 -1
- package/dist/tui/command-renderers.d.ts +20 -12
- package/dist/tui/command-renderers.d.ts.map +1 -1
- package/dist/tui/command-renderers.js +154 -37
- package/dist/tui/command-renderers.js.map +1 -1
- package/dist/tui/components/AnsiTextLine.d.ts +4 -0
- package/dist/tui/components/AnsiTextLine.d.ts.map +1 -0
- package/dist/tui/components/AnsiTextLine.js +92 -0
- package/dist/tui/components/AnsiTextLine.js.map +1 -0
- package/dist/tui/components/Button.js +1 -1
- package/dist/tui/components/Button.js.map +1 -1
- package/dist/tui/components/ChatHarnessSelector.d.ts.map +1 -1
- package/dist/tui/components/ChatHarnessSelector.js +6 -5
- package/dist/tui/components/ChatHarnessSelector.js.map +1 -1
- package/dist/tui/components/CompletionDropdown.d.ts.map +1 -1
- package/dist/tui/components/CompletionDropdown.js +4 -3
- package/dist/tui/components/CompletionDropdown.js.map +1 -1
- package/dist/tui/components/ConfirmPrompt.d.ts.map +1 -1
- package/dist/tui/components/ConfirmPrompt.js +2 -1
- package/dist/tui/components/ConfirmPrompt.js.map +1 -1
- package/dist/tui/components/commerce/FeedCard.d.ts +13 -0
- package/dist/tui/components/commerce/FeedCard.d.ts.map +1 -0
- package/dist/tui/components/commerce/FeedCard.js +26 -0
- package/dist/tui/components/commerce/FeedCard.js.map +1 -0
- package/dist/tui/components/commerce/HireFlow.d.ts +13 -0
- package/dist/tui/components/commerce/HireFlow.d.ts.map +1 -0
- package/dist/tui/components/commerce/HireFlow.js +109 -0
- package/dist/tui/components/commerce/HireFlow.js.map +1 -0
- package/dist/tui/components/commerce/JobStatusCard.d.ts +17 -0
- package/dist/tui/components/commerce/JobStatusCard.d.ts.map +1 -0
- package/dist/tui/components/commerce/JobStatusCard.js +11 -0
- package/dist/tui/components/commerce/JobStatusCard.js.map +1 -0
- package/dist/tui/components/commerce/RoundsList.js +1 -1
- package/dist/tui/components/commerce/RoundsList.js.map +1 -1
- package/dist/tui/components/commerce/StandingsCard.d.ts +13 -0
- package/dist/tui/components/commerce/StandingsCard.d.ts.map +1 -0
- package/dist/tui/components/commerce/StandingsCard.js +9 -0
- package/dist/tui/components/commerce/StandingsCard.js.map +1 -0
- package/dist/tui/components/commerce/StatusCard.d.ts.map +1 -1
- package/dist/tui/components/commerce/StatusCard.js +1 -2
- package/dist/tui/components/commerce/StatusCard.js.map +1 -1
- package/dist/tui/components/commerce/common.d.ts.map +1 -1
- package/dist/tui/components/commerce/common.js +17 -12
- package/dist/tui/components/commerce/common.js.map +1 -1
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +3 -1
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/kernel-payload.d.ts +23 -0
- package/dist/tui/kernel-payload.d.ts.map +1 -1
- package/dist/tui/kernel.d.ts.map +1 -1
- package/dist/tui/kernel.js +350 -2
- package/dist/tui/kernel.js.map +1 -1
- package/dist/tui/useChat.d.ts.map +1 -1
- package/dist/tui/useChat.js +11 -12
- package/dist/tui/useChat.js.map +1 -1
- package/dist/tui/useDaemonEvents.d.ts.map +1 -1
- package/dist/tui/useDaemonEvents.js +142 -44
- package/dist/tui/useDaemonEvents.js.map +1 -1
- package/dist/tui/viewport-measure.d.ts +28 -0
- package/dist/tui/viewport-measure.d.ts.map +1 -0
- package/dist/tui/viewport-measure.js +35 -0
- package/dist/tui/viewport-measure.js.map +1 -0
- package/dist/ui/banner.d.ts +1 -0
- package/dist/ui/banner.d.ts.map +1 -1
- package/dist/ui/banner.js +54 -20
- package/dist/ui/banner.js.map +1 -1
- package/dist/walletconnect.d.ts +1 -0
- package/dist/walletconnect.d.ts.map +1 -1
- package/dist/walletconnect.js +195 -126
- package/dist/walletconnect.js.map +1 -1
- package/package.json +2 -2
package/dist/tui/useChat.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.useChat = useChat;
|
|
7
4
|
const react_1 = require("react");
|
|
8
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
9
5
|
const harness_js_1 = require("../chat/harness.js");
|
|
10
6
|
function useChat() {
|
|
11
7
|
const initial = (0, react_1.useMemo)(() => (0, harness_js_1.resolveInitialChatRuntime)(), []);
|
|
@@ -23,7 +19,7 @@ function useChat() {
|
|
|
23
19
|
setSelectorVisible(false);
|
|
24
20
|
setPendingHarness(undefined);
|
|
25
21
|
setIsChatMode(true);
|
|
26
|
-
onLine(
|
|
22
|
+
onLine(` ◈ Commerce Shell ready · Harness: ${(0, harness_js_1.getHarnessLabel)(harness)}`);
|
|
27
23
|
}, [runtime]);
|
|
28
24
|
const beginChat = (0, react_1.useCallback)((onLine, requestedHarness) => {
|
|
29
25
|
const explicit = (0, harness_js_1.normalizeHarness)(requestedHarness);
|
|
@@ -33,11 +29,11 @@ function useChat() {
|
|
|
33
29
|
}
|
|
34
30
|
setIsChatMode(true);
|
|
35
31
|
if (runtime.harness) {
|
|
36
|
-
onLine(
|
|
32
|
+
onLine(` ◈ Commerce Shell ready · Harness: ${(0, harness_js_1.getHarnessLabel)(runtime.harness)}`);
|
|
37
33
|
return;
|
|
38
34
|
}
|
|
39
35
|
setSelectorVisible(true);
|
|
40
|
-
onLine(
|
|
36
|
+
onLine(" ⚠ No chat harness selected yet. Choose one below.");
|
|
41
37
|
}, [activateHarness, runtime.harness]);
|
|
42
38
|
const cancelSelector = (0, react_1.useCallback)(() => {
|
|
43
39
|
setSelectorVisible(false);
|
|
@@ -70,12 +66,12 @@ function useChat() {
|
|
|
70
66
|
if (!harness) {
|
|
71
67
|
setIsChatMode(true);
|
|
72
68
|
setSelectorVisible(true);
|
|
73
|
-
onLine(
|
|
69
|
+
onLine(" ⚠ Choose a harness before sending chat.");
|
|
74
70
|
return;
|
|
75
71
|
}
|
|
76
72
|
setIsSending(true);
|
|
77
73
|
setIsChatMode(true);
|
|
78
|
-
onLine(
|
|
74
|
+
onLine(` ◈ ${(0, harness_js_1.getHarnessLabel)(harness)} thinking...`);
|
|
79
75
|
try {
|
|
80
76
|
const output = await (0, harness_js_1.dispatchHarnessChat)({
|
|
81
77
|
harness,
|
|
@@ -85,7 +81,7 @@ function useChat() {
|
|
|
85
81
|
});
|
|
86
82
|
for (const line of output.split(/\r?\n/)) {
|
|
87
83
|
if (line.trim())
|
|
88
|
-
onLine(
|
|
84
|
+
onLine(` ◈ ${line}`);
|
|
89
85
|
}
|
|
90
86
|
const nextRuntime = explicit ? { ...runtime, harness: explicit } : runtime;
|
|
91
87
|
if (explicit) {
|
|
@@ -95,9 +91,12 @@ function useChat() {
|
|
|
95
91
|
}
|
|
96
92
|
catch (err) {
|
|
97
93
|
const msg = err instanceof Error ? err.message : String(err);
|
|
98
|
-
onLine(
|
|
94
|
+
onLine(` ✗ ${msg}`);
|
|
99
95
|
if (harness === "openclaw") {
|
|
100
|
-
onLine(
|
|
96
|
+
onLine(" Hint: make sure OpenClaw gateway is running (openclaw gateway start).");
|
|
97
|
+
}
|
|
98
|
+
if (harness === "hermes") {
|
|
99
|
+
onLine(` Hint: make sure the ARC-402 daemon is reachable at ${runtime.daemonUrl}.`);
|
|
101
100
|
}
|
|
102
101
|
}
|
|
103
102
|
finally {
|
package/dist/tui/useChat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../src/tui/useChat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../src/tui/useChat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDaemonEvents.d.ts","sourceRoot":"","sources":["../../src/tui/useDaemonEvents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDaemonEvents.d.ts","sourceRoot":"","sources":["../../src/tui/useDaemonEvents.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GACvB,eAAe,GACf,oBAAoB,GACpB,uBAAuB,GACvB,aAAa,GACb,eAAe,GACf,YAAY,GACZ,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,CAAC;AAErB,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAsGhG,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,UAAO,QAyC1E"}
|
|
@@ -1,68 +1,166 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.useDaemonEvents = useDaemonEvents;
|
|
4
37
|
const react_1 = require("react");
|
|
38
|
+
const http = __importStar(require("http"));
|
|
39
|
+
const https = __importStar(require("https"));
|
|
5
40
|
const DAEMON_EVENTS_URL = "http://127.0.0.1:4402/events";
|
|
41
|
+
const DAEMON_HEALTH_URL = "http://127.0.0.1:4402/health";
|
|
42
|
+
function connectSse(urlString, onEvent, onDisconnect) {
|
|
43
|
+
const url = new URL(urlString);
|
|
44
|
+
const transport = url.protocol === "https:" ? https : http;
|
|
45
|
+
const req = transport.request({
|
|
46
|
+
protocol: url.protocol,
|
|
47
|
+
hostname: url.hostname,
|
|
48
|
+
port: url.port || (url.protocol === "https:" ? 443 : 80),
|
|
49
|
+
path: `${url.pathname}${url.search}`,
|
|
50
|
+
method: "GET",
|
|
51
|
+
headers: {
|
|
52
|
+
Accept: "text/event-stream",
|
|
53
|
+
Connection: "keep-alive",
|
|
54
|
+
"Cache-Control": "no-cache",
|
|
55
|
+
},
|
|
56
|
+
}, (res) => {
|
|
57
|
+
if ((res.statusCode ?? 500) >= 400) {
|
|
58
|
+
res.resume();
|
|
59
|
+
onDisconnect();
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
let buffer = "";
|
|
63
|
+
res.setEncoding("utf8");
|
|
64
|
+
res.on("data", (chunk) => {
|
|
65
|
+
buffer += chunk;
|
|
66
|
+
while (true) {
|
|
67
|
+
const boundary = buffer.indexOf("\n\n");
|
|
68
|
+
if (boundary === -1)
|
|
69
|
+
break;
|
|
70
|
+
const rawEvent = buffer.slice(0, boundary);
|
|
71
|
+
buffer = buffer.slice(boundary + 2);
|
|
72
|
+
const lines = rawEvent.split(/\r?\n/);
|
|
73
|
+
let type = "message";
|
|
74
|
+
const dataLines = [];
|
|
75
|
+
for (const line of lines) {
|
|
76
|
+
if (line.startsWith(":"))
|
|
77
|
+
continue;
|
|
78
|
+
if (line.startsWith("event:")) {
|
|
79
|
+
type = line.slice(6).trim();
|
|
80
|
+
}
|
|
81
|
+
else if (line.startsWith("data:")) {
|
|
82
|
+
dataLines.push(line.slice(5).trimStart());
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (!dataLines.length || type === "message")
|
|
86
|
+
continue;
|
|
87
|
+
try {
|
|
88
|
+
onEvent(type, JSON.parse(dataLines.join("\n")));
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
// ignore malformed event payloads
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
res.on("end", onDisconnect);
|
|
96
|
+
res.on("close", onDisconnect);
|
|
97
|
+
res.on("error", onDisconnect);
|
|
98
|
+
});
|
|
99
|
+
req.on("error", onDisconnect);
|
|
100
|
+
req.end();
|
|
101
|
+
return () => {
|
|
102
|
+
req.destroy();
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
function probeHealth(timeoutMs = 500) {
|
|
106
|
+
return new Promise((resolve) => {
|
|
107
|
+
const url = new URL(DAEMON_HEALTH_URL);
|
|
108
|
+
const transport = url.protocol === "https:" ? https : http;
|
|
109
|
+
const req = transport.request({
|
|
110
|
+
protocol: url.protocol,
|
|
111
|
+
hostname: url.hostname,
|
|
112
|
+
port: url.port || (url.protocol === "https:" ? 443 : 80),
|
|
113
|
+
path: `${url.pathname}${url.search}`,
|
|
114
|
+
method: "GET",
|
|
115
|
+
}, (res) => {
|
|
116
|
+
res.resume();
|
|
117
|
+
resolve((res.statusCode ?? 500) < 500);
|
|
118
|
+
});
|
|
119
|
+
req.on("error", () => resolve(false));
|
|
120
|
+
req.setTimeout(timeoutMs, () => {
|
|
121
|
+
req.destroy();
|
|
122
|
+
resolve(false);
|
|
123
|
+
});
|
|
124
|
+
req.end();
|
|
125
|
+
});
|
|
126
|
+
}
|
|
6
127
|
function useDaemonEvents(onEvent, enabled = true) {
|
|
7
128
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
8
129
|
const stableHandler = (0, react_1.useCallback)(onEvent, []);
|
|
9
130
|
(0, react_1.useEffect)(() => {
|
|
10
131
|
if (!enabled)
|
|
11
132
|
return;
|
|
12
|
-
let
|
|
133
|
+
let teardown = null;
|
|
13
134
|
let reconnectTimer = null;
|
|
14
135
|
let mounted = true;
|
|
15
|
-
const
|
|
136
|
+
const scheduleReconnect = () => {
|
|
137
|
+
if (!mounted || reconnectTimer)
|
|
138
|
+
return;
|
|
139
|
+
reconnectTimer = setTimeout(() => {
|
|
140
|
+
reconnectTimer = null;
|
|
141
|
+
void start();
|
|
142
|
+
}, 5000);
|
|
143
|
+
};
|
|
144
|
+
const start = async () => {
|
|
16
145
|
if (!mounted)
|
|
17
146
|
return;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return;
|
|
23
|
-
try {
|
|
24
|
-
const data = JSON.parse(e.data ?? "{}");
|
|
25
|
-
stableHandler(type, data);
|
|
26
|
-
}
|
|
27
|
-
catch { /* ignore malformed */ }
|
|
28
|
-
};
|
|
29
|
-
const eventTypes = [
|
|
30
|
-
"hire_proposed",
|
|
31
|
-
"agreement_accepted",
|
|
32
|
-
"deliverable_committed",
|
|
33
|
-
"job_started",
|
|
34
|
-
"job_completed",
|
|
35
|
-
"job_failed",
|
|
36
|
-
"security_threat",
|
|
37
|
-
"handshake_received",
|
|
38
|
-
"round_resolved",
|
|
39
|
-
];
|
|
40
|
-
for (const type of eventTypes) {
|
|
41
|
-
source.addEventListener(type, handleEvent(type));
|
|
42
|
-
}
|
|
43
|
-
source.onerror = () => {
|
|
44
|
-
source?.close();
|
|
45
|
-
source = null;
|
|
46
|
-
if (mounted) {
|
|
47
|
-
reconnectTimer = setTimeout(connect, 5000);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
catch {
|
|
52
|
-
if (mounted)
|
|
53
|
-
reconnectTimer = setTimeout(connect, 5000);
|
|
147
|
+
const healthy = await probeHealth();
|
|
148
|
+
if (!healthy) {
|
|
149
|
+
scheduleReconnect();
|
|
150
|
+
return;
|
|
54
151
|
}
|
|
152
|
+
teardown = connectSse(DAEMON_EVENTS_URL, stableHandler, () => {
|
|
153
|
+
teardown?.();
|
|
154
|
+
teardown = null;
|
|
155
|
+
scheduleReconnect();
|
|
156
|
+
});
|
|
55
157
|
};
|
|
56
|
-
|
|
57
|
-
fetch("http://127.0.0.1:4402/health", { signal: AbortSignal.timeout(500) })
|
|
58
|
-
.then(() => { if (mounted)
|
|
59
|
-
connect(); })
|
|
60
|
-
.catch(() => { });
|
|
158
|
+
void start();
|
|
61
159
|
return () => {
|
|
62
160
|
mounted = false;
|
|
63
161
|
if (reconnectTimer)
|
|
64
162
|
clearTimeout(reconnectTimer);
|
|
65
|
-
|
|
163
|
+
teardown?.();
|
|
66
164
|
};
|
|
67
165
|
}, [enabled, stableHandler]);
|
|
68
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDaemonEvents.js","sourceRoot":"","sources":["../../src/tui/useDaemonEvents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDaemonEvents.js","sourceRoot":"","sources":["../../src/tui/useDaemonEvents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface LogicalViewportEntry<T = unknown> {
|
|
2
|
+
entry: T;
|
|
3
|
+
logicalLines: string[];
|
|
4
|
+
rowStart: number;
|
|
5
|
+
rowEnd: number;
|
|
6
|
+
}
|
|
7
|
+
export interface VisibleLogicalSegment<T = unknown> {
|
|
8
|
+
item: LogicalViewportEntry<T>;
|
|
9
|
+
sliceStart: number;
|
|
10
|
+
sliceEnd: number;
|
|
11
|
+
isFull: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function measureLogicalEntries<T>(items: Array<{
|
|
14
|
+
entry: T;
|
|
15
|
+
logicalLines: string[];
|
|
16
|
+
}>): {
|
|
17
|
+
measured: LogicalViewportEntry<T>[];
|
|
18
|
+
totalRows: number;
|
|
19
|
+
};
|
|
20
|
+
export declare function sliceVisibleLogicalEntries<T>(measured: LogicalViewportEntry<T>[], scrollOffset: number, viewportHeight: number): {
|
|
21
|
+
segments: VisibleLogicalSegment<T>[];
|
|
22
|
+
totalRows: number;
|
|
23
|
+
startRow: number;
|
|
24
|
+
endRow: number;
|
|
25
|
+
visibleRowCount: number;
|
|
26
|
+
padCount: number;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=viewport-measure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport-measure.d.ts","sourceRoot":"","sources":["../../src/tui/viewport-measure.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,OAAO;IAC/C,KAAK,EAAE,CAAC,CAAC;IACT,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,OAAO;IAChD,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,KAAK,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GACjD;IAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAS5D;AAED,wBAAgB,0BAA0B,CAAC,CAAC,EAC1C,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,EACnC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB;IACD,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqBA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.measureLogicalEntries = measureLogicalEntries;
|
|
4
|
+
exports.sliceVisibleLogicalEntries = sliceVisibleLogicalEntries;
|
|
5
|
+
function measureLogicalEntries(items) {
|
|
6
|
+
let cursor = 0;
|
|
7
|
+
const measured = items.map(({ entry, logicalLines }) => {
|
|
8
|
+
const rowStart = cursor;
|
|
9
|
+
const rowEnd = rowStart + logicalLines.length;
|
|
10
|
+
cursor = rowEnd;
|
|
11
|
+
return { entry, logicalLines, rowStart, rowEnd };
|
|
12
|
+
});
|
|
13
|
+
return { measured, totalRows: cursor };
|
|
14
|
+
}
|
|
15
|
+
function sliceVisibleLogicalEntries(measured, scrollOffset, viewportHeight) {
|
|
16
|
+
const totalRows = measured.length > 0 ? measured[measured.length - 1].rowEnd : 0;
|
|
17
|
+
const endRow = Math.max(0, totalRows - scrollOffset);
|
|
18
|
+
const startRow = Math.max(0, endRow - viewportHeight);
|
|
19
|
+
const segments = measured.flatMap((item) => {
|
|
20
|
+
if (item.rowEnd <= startRow || item.rowStart >= endRow)
|
|
21
|
+
return [];
|
|
22
|
+
const sliceStart = Math.max(0, startRow - item.rowStart);
|
|
23
|
+
const sliceEnd = Math.min(item.logicalLines.length, endRow - item.rowStart);
|
|
24
|
+
return [{
|
|
25
|
+
item,
|
|
26
|
+
sliceStart,
|
|
27
|
+
sliceEnd,
|
|
28
|
+
isFull: sliceStart === 0 && sliceEnd === item.logicalLines.length,
|
|
29
|
+
}];
|
|
30
|
+
});
|
|
31
|
+
const visibleRowCount = segments.reduce((sum, segment) => sum + (segment.sliceEnd - segment.sliceStart), 0);
|
|
32
|
+
const padCount = Math.max(0, viewportHeight - visibleRowCount);
|
|
33
|
+
return { segments, totalRows, startRow, endRow, visibleRowCount, padCount };
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=viewport-measure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport-measure.js","sourceRoot":"","sources":["../../src/tui/viewport-measure.ts"],"names":[],"mappings":";;AAcA,sDAWC;AAED,gEAgCC;AA7CD,SAAgB,qBAAqB,CACnC,KAAkD;IAElD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE;QACrD,MAAM,QAAQ,GAAG,MAAM,CAAC;QACxB,MAAM,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC;QAC9C,MAAM,GAAG,MAAM,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,SAAgB,0BAA0B,CACxC,QAAmC,EACnC,YAAoB,EACpB,cAAsB;IAStB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC;IAEtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACzC,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM;YAAE,OAAO,EAAE,CAAC;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5E,OAAO,CAAC;gBACN,IAAI;gBACJ,UAAU;gBACV,QAAQ;gBACR,MAAM,EAAE,UAAU,KAAK,CAAC,IAAI,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM;aAClE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5G,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,eAAe,CAAC,CAAC;IAE/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;AAC9E,CAAC"}
|
package/dist/ui/banner.d.ts
CHANGED
package/dist/ui/banner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/ui/banner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/ui/banner.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsBD,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,CA2C9D;AAED,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAIxD"}
|
package/dist/ui/banner.js
CHANGED
|
@@ -52,32 +52,66 @@ function readVersion() {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
const _pkg = { version: readVersion() };
|
|
55
|
-
const
|
|
56
|
-
██████╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗
|
|
57
|
-
██╔══██╗██╔══██╗██╔════╝ ██║ ██║██╔═══██╗╚════██╗
|
|
58
|
-
███████║██████╔╝██║ █████╗███████║██║ ██║ █████╔╝
|
|
59
|
-
██╔══██║██╔══██╗██║ ╚════╝╚════██║██║ ██║██╔═══╝
|
|
60
|
-
██║ ██║██║ ██║╚██████╗ ██║╚██████╔╝███████╗
|
|
61
|
-
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝
|
|
62
|
-
|
|
55
|
+
const LARGE_ART = [
|
|
56
|
+
" ██████╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗",
|
|
57
|
+
" ██╔══██╗██╔══██╗██╔════╝ ██║ ██║██╔═══██╗╚════██╗",
|
|
58
|
+
" ███████║██████╔╝██║ █████╗███████║██║ ██║ █████╔╝",
|
|
59
|
+
" ██╔══██║██╔══██╗██║ ╚════╝╚════██║██║ ██║██╔═══╝",
|
|
60
|
+
" ██║ ██║██║ ██║╚██████╗ ██║╚██████╔╝███████╗",
|
|
61
|
+
" ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚══════╝",
|
|
62
|
+
];
|
|
63
|
+
const MEDIUM_MARK = [
|
|
64
|
+
" ARC-402",
|
|
65
|
+
" agent-to-agent commerce",
|
|
66
|
+
];
|
|
67
|
+
const SMALL_MARK = [" ARC-402"];
|
|
68
|
+
function visibleLength(value) {
|
|
69
|
+
return value.replace(/\u001B\[[0-9;]*m/g, "").length;
|
|
70
|
+
}
|
|
71
|
+
function pickVariant(width) {
|
|
72
|
+
const largeWidth = LARGE_ART.reduce((max, line) => Math.max(max, line.length), 0);
|
|
73
|
+
if (width >= largeWidth + 2) {
|
|
74
|
+
return { artLines: LARGE_ART, compactMeta: false };
|
|
75
|
+
}
|
|
76
|
+
if (width >= 32) {
|
|
77
|
+
return { artLines: MEDIUM_MARK, compactMeta: false };
|
|
78
|
+
}
|
|
79
|
+
return { artLines: SMALL_MARK, compactMeta: true };
|
|
80
|
+
}
|
|
63
81
|
/** Returns banner as an array of plain lines (no trailing newlines). */
|
|
64
82
|
function getBannerLines(config) {
|
|
83
|
+
const width = Math.max(20, config?.width ?? process.stdout?.columns ?? 80);
|
|
84
|
+
const { artLines, compactMeta } = pickVariant(width);
|
|
65
85
|
const lines = [];
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
lines.push(chalk_1.default.cyan(l));
|
|
86
|
+
for (const line of artLines) {
|
|
87
|
+
lines.push(chalk_1.default.cyan(line));
|
|
69
88
|
}
|
|
70
89
|
lines.push("");
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
90
|
+
const versionLine = compactMeta
|
|
91
|
+
? ` ${chalk_1.default.dim(`v${_pkg.version}`)}`
|
|
92
|
+
: ` ${chalk_1.default.dim(`agent-to-agent arcing · v${_pkg.version}`)}`;
|
|
93
|
+
lines.push(versionLine);
|
|
94
|
+
const separatorWidth = Math.max(12, Math.min(45, width - 4));
|
|
95
|
+
lines.push(` ${chalk_1.default.cyanBright("◈")} ${chalk_1.default.dim("─".repeat(separatorWidth))}`);
|
|
96
|
+
const metaLines = [];
|
|
97
|
+
if (config?.network)
|
|
98
|
+
metaLines.push(` ${chalk_1.default.dim("Network")} ${chalk_1.default.white(config.network)}`);
|
|
99
|
+
if (config?.wallet)
|
|
100
|
+
metaLines.push(` ${chalk_1.default.dim("Wallet")} ${chalk_1.default.white(config.wallet)}`);
|
|
101
|
+
if (config?.balance)
|
|
102
|
+
metaLines.push(` ${chalk_1.default.dim("Balance")} ${chalk_1.default.white(config.balance)}`);
|
|
103
|
+
if (metaLines.length > 0) {
|
|
74
104
|
lines.push("");
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
105
|
+
const available = Math.max(10, width - 2);
|
|
106
|
+
for (const line of metaLines) {
|
|
107
|
+
if (visibleLength(line) <= available) {
|
|
108
|
+
lines.push(line);
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
const [labelPart, valuePart = ""] = line.split(/\s{2,}/, 2);
|
|
112
|
+
lines.push(labelPart);
|
|
113
|
+
lines.push(` ${valuePart.trim()}`);
|
|
114
|
+
}
|
|
81
115
|
}
|
|
82
116
|
lines.push("");
|
|
83
117
|
lines.push(` ${chalk_1.default.dim("Type 'help' to get started")}`);
|
package/dist/ui/banner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/ui/banner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/ui/banner.ts"],"names":[],"mappings":"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"}
|
package/dist/walletconnect.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walletconnect.d.ts","sourceRoot":"","sources":["../src/walletconnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAKxD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAWxC,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAC5D,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,iBAAiB,GAAG,OAAO,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACjH,CAAC;AAGF,KAAK,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/D,KAAK,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"walletconnect.d.ts","sourceRoot":"","sources":["../src/walletconnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAKxD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAWxC,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAC5D,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,iBAAiB,GAAG,OAAO,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACjH,CAAC;AAGF,KAAK,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/D,KAAK,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAuE3D;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,YAAY,EACpB,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,WAAW,CAAA;CAAE,GACnG,OAAO,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA+KvE;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,MAAM,CAAC,CAyDjB;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1E,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,YAAY,EAC3B,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA6F9C"}
|