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
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.DEFAULT_RUNTIME_REMOTE_ROOT = exports.OPENSHELL_RUNTIME_TARBALL = exports.OPENSHELL_RUNTIME_DIR = exports.OPENSHELL_TOML = exports.ARC402_DIR = void 0;
|
|
36
|
+
exports.DEFAULT_RUNTIME_REMOTE_ROOT = exports.OPENSHELL_RUNTIME_TARBALL = exports.OPENSHELL_RUNTIME_DIR = exports.OPENSHELL_TOML = exports.OPENSHELL_CONFIG_DIR = exports.ARC402_DIR = void 0;
|
|
37
37
|
exports.runCmd = runCmd;
|
|
38
38
|
exports.detectDockerAccess = detectDockerAccess;
|
|
39
39
|
exports.resolveOpenShellSecrets = resolveOpenShellSecrets;
|
|
@@ -44,6 +44,8 @@ exports.buildRuntimeTarball = buildRuntimeTarball;
|
|
|
44
44
|
exports.buildOpenShellSshConfig = buildOpenShellSshConfig;
|
|
45
45
|
exports.provisionFileToSandbox = provisionFileToSandbox;
|
|
46
46
|
exports.provisionRuntimeToSandbox = provisionRuntimeToSandbox;
|
|
47
|
+
exports.getOpenShellSandboxPhase = getOpenShellSandboxPhase;
|
|
48
|
+
exports.waitForOpenShellSandboxReady = waitForOpenShellSandboxReady;
|
|
47
49
|
exports.shellEscape = shellEscape;
|
|
48
50
|
const fs = __importStar(require("fs"));
|
|
49
51
|
const os = __importStar(require("os"));
|
|
@@ -52,10 +54,14 @@ const child_process_1 = require("child_process");
|
|
|
52
54
|
const smol_toml_1 = require("smol-toml");
|
|
53
55
|
const config_1 = require("./config");
|
|
54
56
|
exports.ARC402_DIR = path.join(os.homedir(), ".arc402");
|
|
57
|
+
exports.OPENSHELL_CONFIG_DIR = path.join(os.homedir(), ".config", "openshell");
|
|
55
58
|
exports.OPENSHELL_TOML = path.join(exports.ARC402_DIR, "openshell.toml");
|
|
56
59
|
exports.OPENSHELL_RUNTIME_DIR = path.join(exports.ARC402_DIR, "openshell-runtime");
|
|
57
60
|
exports.OPENSHELL_RUNTIME_TARBALL = path.join(exports.OPENSHELL_RUNTIME_DIR, "arc402-cli-runtime.tgz");
|
|
58
61
|
exports.DEFAULT_RUNTIME_REMOTE_ROOT = "/sandbox/.arc402/runtime/arc402-cli";
|
|
62
|
+
function stripAnsi(value) {
|
|
63
|
+
return value.replace(/\x1B\[[0-9;?]*[ -/]*[@-~]/g, "");
|
|
64
|
+
}
|
|
59
65
|
function runCmd(cmd, args, opts = {}) {
|
|
60
66
|
const result = (0, child_process_1.spawnSync)(cmd, args, {
|
|
61
67
|
encoding: "utf-8",
|
|
@@ -205,10 +211,72 @@ function buildRuntimeTarball() {
|
|
|
205
211
|
}
|
|
206
212
|
return { cliRoot, tarballPath: exports.OPENSHELL_RUNTIME_TARBALL };
|
|
207
213
|
}
|
|
214
|
+
function readActiveOpenShellGatewayMetadata() {
|
|
215
|
+
try {
|
|
216
|
+
const activeGatewayPath = path.join(exports.OPENSHELL_CONFIG_DIR, "active_gateway");
|
|
217
|
+
if (!fs.existsSync(activeGatewayPath))
|
|
218
|
+
return null;
|
|
219
|
+
const gatewayName = fs.readFileSync(activeGatewayPath, "utf-8").trim();
|
|
220
|
+
if (!gatewayName)
|
|
221
|
+
return null;
|
|
222
|
+
const metadataPath = path.join(exports.OPENSHELL_CONFIG_DIR, "gateways", gatewayName, "metadata.json");
|
|
223
|
+
if (!fs.existsSync(metadataPath))
|
|
224
|
+
return null;
|
|
225
|
+
const parsed = JSON.parse(fs.readFileSync(metadataPath, "utf-8"));
|
|
226
|
+
if (!parsed.gateway_endpoint || typeof parsed.gateway_endpoint !== "string")
|
|
227
|
+
return null;
|
|
228
|
+
return {
|
|
229
|
+
name: typeof parsed.name === "string" ? parsed.name : gatewayName,
|
|
230
|
+
gateway_endpoint: parsed.gateway_endpoint,
|
|
231
|
+
gateway_port: typeof parsed.gateway_port === "number" ? parsed.gateway_port : undefined,
|
|
232
|
+
is_remote: typeof parsed.is_remote === "boolean" ? parsed.is_remote : undefined,
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
catch {
|
|
236
|
+
return null;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
function diagnoseOpenShellGatewayCollision() {
|
|
240
|
+
const metadata = readActiveOpenShellGatewayMetadata();
|
|
241
|
+
if (!metadata?.gateway_endpoint)
|
|
242
|
+
return null;
|
|
243
|
+
try {
|
|
244
|
+
const endpoint = new URL(metadata.gateway_endpoint);
|
|
245
|
+
if (endpoint.protocol !== "https:" || !["127.0.0.1", "localhost"].includes(endpoint.hostname)) {
|
|
246
|
+
return null;
|
|
247
|
+
}
|
|
248
|
+
const tlsProbe = runCmd("curl", ["-skI", "--max-time", "5", metadata.gateway_endpoint], { timeout: 8000 });
|
|
249
|
+
if (tlsProbe.ok)
|
|
250
|
+
return null;
|
|
251
|
+
const plainHttpUrl = `http://${endpoint.host}/`;
|
|
252
|
+
const httpProbe = runCmd("curl", ["-sI", "--max-time", "5", plainHttpUrl], { timeout: 8000 });
|
|
253
|
+
const tlsDetail = `${tlsProbe.stderr}\n${tlsProbe.stdout}`.toLowerCase();
|
|
254
|
+
const serverHeader = httpProbe.stdout
|
|
255
|
+
.split("\n")
|
|
256
|
+
.map((line) => line.trim())
|
|
257
|
+
.find((line) => /^server:/i.test(line));
|
|
258
|
+
if (httpProbe.ok || /wrong version number|invalidcontenttype|tls/.test(tlsDetail)) {
|
|
259
|
+
return [
|
|
260
|
+
`OpenShell gateway endpoint ${metadata.gateway_endpoint} is not serving the expected TLS gateway.`,
|
|
261
|
+
`Plain HTTP is responding on ${endpoint.host}${serverHeader ? ` (${serverHeader})` : ""}.`,
|
|
262
|
+
"Another local process is likely occupying the configured gateway port.",
|
|
263
|
+
"Fix: recreate OpenShell on a free port, for example `openshell gateway start --port 18081 --recreate`.",
|
|
264
|
+
].join(" ");
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
catch {
|
|
268
|
+
return null;
|
|
269
|
+
}
|
|
270
|
+
return null;
|
|
271
|
+
}
|
|
272
|
+
function augmentOpenShellError(message) {
|
|
273
|
+
const diagnosis = diagnoseOpenShellGatewayCollision();
|
|
274
|
+
return diagnosis ? `${message}\n${diagnosis}` : message;
|
|
275
|
+
}
|
|
208
276
|
function buildOpenShellSshConfig(sandboxName) {
|
|
209
277
|
const sshConfig = runCmd("openshell", ["sandbox", "ssh-config", sandboxName], { timeout: 120000 });
|
|
210
278
|
if (!sshConfig.ok || !sshConfig.stdout.trim()) {
|
|
211
|
-
throw new Error(`Failed to get OpenShell SSH config for sandbox ${sandboxName}: ${sshConfig.stderr || sshConfig.stdout || "unknown error"}`);
|
|
279
|
+
throw new Error(augmentOpenShellError(`Failed to get OpenShell SSH config for sandbox ${sandboxName}: ${sshConfig.stderr || sshConfig.stdout || "unknown error"}`));
|
|
212
280
|
}
|
|
213
281
|
const hostMatch = sshConfig.stdout.match(/^Host\s+(\S+)/m);
|
|
214
282
|
if (!hostMatch) {
|
|
@@ -227,7 +295,7 @@ function provisionFileToSandbox(sandboxName, localPath, remotePath) {
|
|
|
227
295
|
const { configPath, host } = buildOpenShellSshConfig(sandboxName);
|
|
228
296
|
const prep = runCmd("ssh", ["-F", configPath, host, `rm -rf ${shellEscape(uploadDir)} && mkdir -p ${shellEscape(uploadDir)} && mkdir -p ${shellEscape(remoteDir)}`], { timeout: 120000 });
|
|
229
297
|
if (!prep.ok) {
|
|
230
|
-
throw new Error(`Failed to prepare remote upload directory: ${prep.stderr || prep.stdout}`);
|
|
298
|
+
throw new Error(augmentOpenShellError(`Failed to prepare remote upload directory: ${prep.stderr || prep.stdout}`));
|
|
231
299
|
}
|
|
232
300
|
const upload = runCmd("openshell", ["sandbox", "upload", sandboxName, localPath, uploadDir], { timeout: 300000 });
|
|
233
301
|
if (!upload.ok) {
|
|
@@ -246,7 +314,7 @@ function provisionRuntimeToSandbox(sandboxName, remoteRoot = exports.DEFAULT_RUN
|
|
|
246
314
|
const { configPath, host } = buildOpenShellSshConfig(sandboxName);
|
|
247
315
|
const prep = runCmd("ssh", ["-F", configPath, host, `rm -rf ${shellEscape(remoteUploadDir)} && mkdir -p ${shellEscape(remoteUploadDir)}`], { timeout: 120000 });
|
|
248
316
|
if (!prep.ok) {
|
|
249
|
-
throw new Error(`Failed to prepare remote upload directory: ${prep.stderr || prep.stdout}`);
|
|
317
|
+
throw new Error(augmentOpenShellError(`Failed to prepare remote upload directory: ${prep.stderr || prep.stdout}`));
|
|
250
318
|
}
|
|
251
319
|
const upload = runCmd("openshell", ["sandbox", "upload", sandboxName, tarballPath, remoteUploadDir], { timeout: 300000 });
|
|
252
320
|
if (!upload.ok) {
|
|
@@ -262,6 +330,27 @@ function provisionRuntimeToSandbox(sandboxName, remoteRoot = exports.DEFAULT_RUN
|
|
|
262
330
|
}
|
|
263
331
|
return { tarballPath, remoteRoot };
|
|
264
332
|
}
|
|
333
|
+
function getOpenShellSandboxPhase(sandboxName) {
|
|
334
|
+
const result = runCmd("openshell", ["sandbox", "get", sandboxName], { timeout: 120000 });
|
|
335
|
+
if (!result.ok && !(result.stdout || result.stderr))
|
|
336
|
+
return null;
|
|
337
|
+
const plain = stripAnsi(`${result.stdout}\n${result.stderr}`);
|
|
338
|
+
const match = plain.match(/Phase:\s+([A-Za-z]+)/i);
|
|
339
|
+
return match ? match[1] : null;
|
|
340
|
+
}
|
|
341
|
+
async function waitForOpenShellSandboxReady(sandboxName, opts = {}) {
|
|
342
|
+
const timeoutMs = opts.timeoutMs ?? 300000;
|
|
343
|
+
const intervalMs = opts.intervalMs ?? 2000;
|
|
344
|
+
const startedAt = Date.now();
|
|
345
|
+
let lastPhase = getOpenShellSandboxPhase(sandboxName) ?? "unknown";
|
|
346
|
+
while (Date.now() - startedAt < timeoutMs) {
|
|
347
|
+
if (/ready|running/i.test(lastPhase))
|
|
348
|
+
return;
|
|
349
|
+
await new Promise((resolve) => setTimeout(resolve, intervalMs));
|
|
350
|
+
lastPhase = getOpenShellSandboxPhase(sandboxName) ?? lastPhase;
|
|
351
|
+
}
|
|
352
|
+
throw new Error(`Sandbox ${sandboxName} is not ready yet (last phase: ${lastPhase}).`);
|
|
353
|
+
}
|
|
265
354
|
function shellEscape(value) {
|
|
266
355
|
return `'${value.replace(/'/g, `'"'"'`)}'`;
|
|
267
356
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openshell-runtime.js","sourceRoot":"","sources":["../src/openshell-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openshell-runtime.js","sourceRoot":"","sources":["../src/openshell-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import type { Color } from './cell.js';
|
|
|
3
3
|
import type { Theme } from './theme.js';
|
|
4
4
|
interface ThemedTextProps {
|
|
5
5
|
variant?: keyof Theme['components'];
|
|
6
|
+
themeColor?: keyof Theme['colors'];
|
|
6
7
|
color?: Color | null;
|
|
7
8
|
bold?: boolean;
|
|
8
9
|
dim?: boolean;
|
|
@@ -10,7 +11,7 @@ interface ThemedTextProps {
|
|
|
10
11
|
underline?: boolean;
|
|
11
12
|
children: React.ReactNode;
|
|
12
13
|
}
|
|
13
|
-
export declare function ThemedText({ variant, color, bold, dim, italic, underline, children }: ThemedTextProps): React.CElement<{
|
|
14
|
+
export declare function ThemedText({ variant, themeColor, color, bold, dim, italic, underline, children }: ThemedTextProps): React.CElement<{
|
|
14
15
|
color: string | undefined;
|
|
15
16
|
bold: boolean | undefined;
|
|
16
17
|
dimColor: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemedText.d.ts","sourceRoot":"","sources":["../../src/renderer/ThemedText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,UAAU,eAAe;IAEvB,OAAO,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;IAEpC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,eAAe;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ThemedText.d.ts","sourceRoot":"","sources":["../../src/renderer/ThemedText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,UAAU,eAAe;IAEvB,OAAO,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;IAEpC,UAAU,CAAC,EAAE,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,eAAe;;;;;;;;;;;;cA6BjH"}
|
|
@@ -7,11 +7,14 @@ exports.ThemedText = ThemedText;
|
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const ThemeProvider_js_1 = require("./ThemeProvider.js");
|
|
9
9
|
const ink_js_1 = require("./ink.js");
|
|
10
|
-
function ThemedText({ variant, color, bold, dim, italic, underline, children }) {
|
|
10
|
+
function ThemedText({ variant, themeColor, color, bold, dim, italic, underline, children }) {
|
|
11
11
|
const theme = (0, ThemeProvider_js_1.useTheme)();
|
|
12
12
|
let resolvedColor = color;
|
|
13
13
|
let resolvedBold = bold;
|
|
14
14
|
let resolvedDim = dim;
|
|
15
|
+
if (themeColor && resolvedColor === undefined) {
|
|
16
|
+
resolvedColor = theme.colors[themeColor] ?? null;
|
|
17
|
+
}
|
|
15
18
|
if (variant) {
|
|
16
19
|
const style = theme.components[variant];
|
|
17
20
|
if (resolvedColor === undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemedText.js","sourceRoot":"","sources":["../../src/renderer/ThemedText.tsx"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ThemedText.js","sourceRoot":"","sources":["../../src/renderer/ThemedText.tsx"],"names":[],"mappings":";;;;;AAmBA,gCA6BC;AAhDD,kDAA0B;AAC1B,yDAA8C;AAC9C,qCAAgC;AAiBhC,SAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAmB;IAChH,MAAM,KAAK,GAAG,IAAA,2BAAQ,GAAE,CAAC;IAEzB,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,WAAW,GAAG,GAAG,CAAC;IAEtB,IAAI,UAAU,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC9C,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;IACnD,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAA4B,CAAC;QACnE,IAAI,aAAa,KAAK,SAAS;YAAE,aAAa,GAAI,KAAK,CAAC,EAA+B,IAAI,IAAI,CAAC;QAChG,IAAI,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI;YAAE,YAAY,GAAG,KAAK,CAAC,IAAe,CAAC;IACrF,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,IAAI,IAAI;QACpC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;QACrJ,CAAC,CAAC,SAAS,CAAC;IAEd,8DAA8D;IAC9D,OAAO,eAAK,CAAC,aAAa,CAAC,aAAW,EAAE;QACtC,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,WAAW;QACrB,MAAM;QACN,SAAS;KACV,EAAE,QAAQ,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../../src/renderer/reconciler.ts"],"names":[],"mappings":"AAsBA,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAEhD;
|
|
1
|
+
{"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../../src/renderer/reconciler.ts"],"names":[],"mappings":"AAsBA,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAEhD;AA2GD,eAAO,MAAM,UAAU,EAAE,GAAiC,CAAC"}
|
|
@@ -14,7 +14,19 @@ function resolveColor(color) {
|
|
|
14
14
|
if (!color)
|
|
15
15
|
return null;
|
|
16
16
|
if (typeof color === 'string') {
|
|
17
|
-
|
|
17
|
+
if (color in cell_js_1.COLORS) {
|
|
18
|
+
return cell_js_1.COLORS[color] ?? null;
|
|
19
|
+
}
|
|
20
|
+
const hex = color.trim().match(/^#?([0-9a-fA-F]{6})$/);
|
|
21
|
+
if (hex) {
|
|
22
|
+
const value = hex[1];
|
|
23
|
+
return {
|
|
24
|
+
r: Number.parseInt(value.slice(0, 2), 16),
|
|
25
|
+
g: Number.parseInt(value.slice(2, 4), 16),
|
|
26
|
+
b: Number.parseInt(value.slice(4, 6), 16),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
18
30
|
}
|
|
19
31
|
return color;
|
|
20
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../../src/renderer/reconciler.ts"],"names":[],"mappings":";;;AAsBA,kCAEC;AAxBD,iEAAiE;AACjE,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACpD,qCAAuF;AAGvF,uCAAmC;AAenC,IAAI,QAAQ,GAAwB,IAAI,CAAC;AAEzC,SAAgB,WAAW,CAAC,EAAc;IACxC,QAAQ,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAA4C;IAChE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,gBAAM,CAAC,KAA4B,CAAC,IAAI,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../../src/renderer/reconciler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-frame.d.ts","sourceRoot":"","sources":["../../src/renderer/render-frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"render-frame.d.ts","sourceRoot":"","sources":["../../src/renderer/render-frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAS,MAAM,WAAW,CAAC;AA0BzC,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAiBxD;AAOD,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAElF"}
|
|
@@ -6,6 +6,10 @@ const layout_js_1 = require("./layout.js");
|
|
|
6
6
|
const DEFAULT_STYLE = {
|
|
7
7
|
fg: null, bg: null, bold: false, dim: false, italic: false, underline: false,
|
|
8
8
|
};
|
|
9
|
+
const ANSI_ESCAPE_REGEX = /\u001B\[[0-9;]*[A-Za-z]/g;
|
|
10
|
+
function stripAnsi(value) {
|
|
11
|
+
return value.replace(ANSI_ESCAPE_REGEX, '');
|
|
12
|
+
}
|
|
9
13
|
/** Build a LayoutNode tree mirroring the DOMNode tree */
|
|
10
14
|
function buildLayoutTree(dom) {
|
|
11
15
|
if (dom.type === 'root' || dom.type === 'box') {
|
|
@@ -16,7 +20,6 @@ function buildLayoutTree(dom) {
|
|
|
16
20
|
}
|
|
17
21
|
return layout;
|
|
18
22
|
}
|
|
19
|
-
// Text node: preserve explicit newlines in intrinsic size.
|
|
20
23
|
const flatText = flattenText(dom);
|
|
21
24
|
const textLines = flatText.split('\n');
|
|
22
25
|
const textWidth = textLines.reduce((max, line) => Math.max(max, line.length), 0);
|
|
@@ -27,7 +30,7 @@ function buildLayoutTree(dom) {
|
|
|
27
30
|
}
|
|
28
31
|
function flattenText(dom) {
|
|
29
32
|
if (dom.text !== undefined)
|
|
30
|
-
return dom.text;
|
|
33
|
+
return stripAnsi(dom.text);
|
|
31
34
|
return dom.children.map(flattenText).join('');
|
|
32
35
|
}
|
|
33
36
|
/** Walk DOMNode + LayoutNode trees in parallel, write to frame */
|
|
@@ -46,22 +49,24 @@ function renderNode(dom, layout, frame, inherited) {
|
|
|
46
49
|
}
|
|
47
50
|
return;
|
|
48
51
|
}
|
|
49
|
-
// Text node
|
|
50
52
|
const chars = collectStyledChars(dom, inherited);
|
|
51
|
-
|
|
53
|
+
const renderWidth = Math.max(1, Math.min(width || cols, Math.max(1, cols - Math.floor(x))));
|
|
54
|
+
const renderHeight = Math.max(0, Math.min(height || rows, Math.max(0, rows - Math.floor(y))));
|
|
55
|
+
let cx = 0;
|
|
56
|
+
let cy = 0;
|
|
52
57
|
for (const { char, style } of chars) {
|
|
53
58
|
if (char === '\n') {
|
|
54
59
|
cx = 0;
|
|
55
60
|
cy++;
|
|
56
|
-
if (cy >=
|
|
61
|
+
if (cy >= renderHeight)
|
|
57
62
|
break;
|
|
58
63
|
continue;
|
|
59
64
|
}
|
|
60
|
-
if (cx >=
|
|
65
|
+
if (cx >= renderWidth) {
|
|
61
66
|
cx = 0;
|
|
62
67
|
cy++;
|
|
63
68
|
}
|
|
64
|
-
if (cy >=
|
|
69
|
+
if (cy >= renderHeight)
|
|
65
70
|
break;
|
|
66
71
|
const row = Math.floor(y + cy);
|
|
67
72
|
const col = Math.floor(x + cx);
|
|
@@ -81,7 +86,7 @@ function renderNode(dom, layout, frame, inherited) {
|
|
|
81
86
|
function collectStyledChars(dom, inherited) {
|
|
82
87
|
const merged = mergeStyle(inherited, dom.textStyle);
|
|
83
88
|
if (dom.text !== undefined) {
|
|
84
|
-
return [...dom.text].map(ch => ({ char: ch, style: merged }));
|
|
89
|
+
return [...stripAnsi(dom.text)].map(ch => ({ char: ch, style: merged }));
|
|
85
90
|
}
|
|
86
91
|
const result = [];
|
|
87
92
|
for (const child of dom.children) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-frame.js","sourceRoot":"","sources":["../../src/renderer/render-frame.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"render-frame.js","sourceRoot":"","sources":["../../src/renderer/render-frame.ts"],"names":[],"mappings":";;AA6BA,0CAiBC;AAQD,sCAEC;AAvDD,2CAA2D;AAY3D,MAAM,aAAa,GAAc;IAC/B,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK;CAC7E,CAAC;AAOF,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAErD,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,yDAAyD;AACzD,SAAgB,eAAe,CAAC,GAAY;IAC1C,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAA,4BAAgB,EAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,OAAO,IAAA,4BAAgB,EAAC;QACtB,KAAK,EAAE,SAAS,IAAI,CAAC;QACrB,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KAChE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,GAAY;IAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,kEAAkE;AAClE,SAAgB,aAAa,CAAC,GAAY,EAAE,MAAkB,EAAE,KAAY;IAC1E,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,UAAU,CAAC,GAAY,EAAE,MAAkB,EAAE,KAAY,EAAE,SAAoB;IACtF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;IAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEvC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC/B,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,EAAE,GAAG,CAAC,CAAC;IAEX,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC;QACpC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,EAAE,GAAG,CAAC,CAAC;YACP,EAAE,EAAE,CAAC;YACL,IAAI,EAAE,IAAI,YAAY;gBAAE,MAAM;YAC9B,SAAS;QACX,CAAC;QACD,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC;YACtB,EAAE,GAAG,CAAC,CAAC;YACP,EAAE,EAAE,CAAC;QACP,CAAC;QACD,IAAI,EAAE,IAAI,YAAY;YAAE,MAAM;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACnC,CAAC;QACD,EAAE,EAAE,CAAC;IACP,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAY,EAAE,SAAoB;IAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,MAAiB,EAAE,KAA4B;IACjE,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IAC1B,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;QACjD,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;QACjD,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;QACzD,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG;QACrD,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;QACjE,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS;KAC9E,CAAC;AACJ,CAAC"}
|
package/dist/tui/App.d.ts
CHANGED
|
@@ -3,10 +3,12 @@ interface AppProps {
|
|
|
3
3
|
network?: string;
|
|
4
4
|
wallet?: string;
|
|
5
5
|
balance?: string;
|
|
6
|
+
chainId: number;
|
|
7
|
+
walletConnectProjectId?: string;
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* Root TUI component — fixed header/footer with scrollable viewport.
|
|
9
11
|
*/
|
|
10
|
-
export declare function App({ version, network, wallet, balance }: AppProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare function App({ version, network, wallet, balance, chainId, walletConnectProjectId }: AppProps): import("react/jsx-runtime").JSX.Element;
|
|
11
13
|
export {};
|
|
12
14
|
//# sourceMappingURL=App.d.ts.map
|
package/dist/tui/App.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"AAyBA,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,QAAQ,2CA2TnG"}
|
package/dist/tui/App.js
CHANGED
|
@@ -21,33 +21,38 @@ const useScroll_1 = require("./useScroll");
|
|
|
21
21
|
const banner_1 = require("../ui/banner");
|
|
22
22
|
const kernel_1 = require("./kernel");
|
|
23
23
|
const command_catalog_1 = require("./command-catalog");
|
|
24
|
+
const HireFlow_1 = require("./components/commerce/HireFlow");
|
|
25
|
+
const WalletConnectPairing_1 = require("./WalletConnectPairing");
|
|
26
|
+
const config_1 = require("../config");
|
|
27
|
+
const walletconnect_1 = require("../walletconnect");
|
|
24
28
|
const chalk_1 = __importDefault(require("chalk"));
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
26
|
-
const pkg = require("../../package.json");
|
|
27
29
|
const BUILTIN_CMDS = ["help", "exit", "quit", "clear", "status"];
|
|
28
30
|
/**
|
|
29
31
|
* Root TUI component — fixed header/footer with scrollable viewport.
|
|
30
32
|
*/
|
|
31
|
-
function App({ version, network, wallet, balance }) {
|
|
33
|
+
function App({ version, network, wallet, balance, chainId, walletConnectProjectId }) {
|
|
32
34
|
const { exit } = (0, index_js_1.useApp)();
|
|
33
35
|
const [outputBuffer, setOutputBuffer] = (0, react_1.useState)([
|
|
34
36
|
chalk_1.default.dim(" Type 'help' to see available commands"),
|
|
35
37
|
"",
|
|
36
38
|
]);
|
|
37
39
|
const [isProcessing, setIsProcessing] = (0, react_1.useState)(false);
|
|
40
|
+
const [hireFlowOpen, setHireFlowOpen] = (0, react_1.useState)(false);
|
|
41
|
+
const [walletPairingOpen, setWalletPairingOpen] = (0, react_1.useState)(false);
|
|
38
42
|
const { execute, isRunning } = (0, useCommand_1.useCommand)();
|
|
39
43
|
const { send, isSending, isChatMode, activeHarnessLabel, harnessChoices, selectedHarnessIndex, selectorVisible, beginChat, cancelSelector, moveSelection, confirmSelection, } = (0, useChat_1.useChat)();
|
|
40
|
-
// Measure viewport height from actual terminal size and real header line count.
|
|
41
|
-
// The separator Box rendered between Header and Viewport adds 1 row.
|
|
42
|
-
// Footer (InputLine) is 1 row.
|
|
43
|
-
const { rows } = (0, index_js_1.useTerminalSize)();
|
|
44
|
-
const headerLineCount = (0, banner_1.getBannerLines)({ network, wallet, balance }).length;
|
|
45
|
-
const SEPARATOR_ROWS = 1;
|
|
46
|
-
const FOOTER_ROWS = 1;
|
|
47
|
-
const viewportHeight = Math.max(1, rows - headerLineCount - SEPARATOR_ROWS - FOOTER_ROWS);
|
|
48
|
-
const { scrollOffset, isAutoScroll, scrollUp, scrollDown, snapToBottom } = (0, useScroll_1.useScroll)(viewportHeight);
|
|
49
|
-
const [topCmds] = (0, react_1.useState)(() => (0, kernel_1.getTuiTopLevelCommands)());
|
|
50
44
|
const { toasts, push: pushToast, dismiss } = (0, useNotifications_1.useNotifications)();
|
|
45
|
+
const { rows, columns } = (0, index_js_1.useTerminalSize)();
|
|
46
|
+
const headerLineCount = (0, banner_1.getBannerLines)({ network, wallet, balance, width: columns }).length;
|
|
47
|
+
const separatorRows = 1;
|
|
48
|
+
const selectorRows = selectorVisible ? harnessChoices.length + 2 : 0;
|
|
49
|
+
const chatStatusRows = isChatMode ? 1 : 0;
|
|
50
|
+
const hireFlowRows = hireFlowOpen ? 18 : 0;
|
|
51
|
+
const walletPairingRows = walletPairingOpen ? 26 : 0;
|
|
52
|
+
const toastRows = toasts.length;
|
|
53
|
+
const footerRows = 1 + selectorRows + chatStatusRows + hireFlowRows + walletPairingRows;
|
|
54
|
+
const viewportHeight = Math.max(1, rows - headerLineCount - separatorRows - footerRows - toastRows);
|
|
55
|
+
const { scrollOffset, isAutoScroll, scrollUp, scrollDown, snapToBottom } = (0, useScroll_1.useScroll)(viewportHeight);
|
|
51
56
|
(0, useDaemonEvents_1.useDaemonEvents)((type, data) => {
|
|
52
57
|
switch (type) {
|
|
53
58
|
case "hire_proposed":
|
|
@@ -76,8 +81,32 @@ function App({ version, network, wallet, balance }) {
|
|
|
76
81
|
const appendEntry = (0, react_1.useCallback)((entry) => {
|
|
77
82
|
setOutputBuffer((prev) => [...prev, entry]);
|
|
78
83
|
}, []);
|
|
84
|
+
const buildHireCommand = (0, react_1.useCallback)((agentWallet, task, price, serviceType) => {
|
|
85
|
+
return [
|
|
86
|
+
"hire",
|
|
87
|
+
agentWallet,
|
|
88
|
+
"--task",
|
|
89
|
+
task,
|
|
90
|
+
"--service-type",
|
|
91
|
+
serviceType,
|
|
92
|
+
"--max",
|
|
93
|
+
price,
|
|
94
|
+
"--deadline",
|
|
95
|
+
"24h",
|
|
96
|
+
].map((token) => JSON.stringify(token)).join(" ");
|
|
97
|
+
}, []);
|
|
98
|
+
const connectWalletInTui = (0, react_1.useCallback)(async (callbacks) => {
|
|
99
|
+
const config = (0, config_1.loadConfig)();
|
|
100
|
+
if (!walletConnectProjectId) {
|
|
101
|
+
throw new Error("walletConnectProjectId not set. Run `arc402 config set walletConnectProjectId <id>`. ");
|
|
102
|
+
}
|
|
103
|
+
const result = await (0, walletconnect_1.connectPhoneWallet)(walletConnectProjectId, chainId, config, {
|
|
104
|
+
prompt: "Connect your owner wallet",
|
|
105
|
+
callbacks,
|
|
106
|
+
});
|
|
107
|
+
return { account: result.account };
|
|
108
|
+
}, [chainId, walletConnectProjectId]);
|
|
79
109
|
const handleCommand = (0, react_1.useCallback)(async (input) => {
|
|
80
|
-
// Echo command to viewport
|
|
81
110
|
appendLine(chalk_1.default.cyanBright("◈") +
|
|
82
111
|
" " +
|
|
83
112
|
chalk_1.default.dim("arc402") +
|
|
@@ -85,25 +114,21 @@ function App({ version, network, wallet, balance }) {
|
|
|
85
114
|
chalk_1.default.white(">") +
|
|
86
115
|
" " +
|
|
87
116
|
chalk_1.default.white(input));
|
|
88
|
-
// Snap to bottom on new command
|
|
89
117
|
snapToBottom();
|
|
90
118
|
setIsProcessing(true);
|
|
91
119
|
const firstWord = input.split(/\s+/)[0];
|
|
92
|
-
const allKnown = [...BUILTIN_CMDS, ...
|
|
93
|
-
// ── Built-in: exit/quit ────────────────────────────────────────────────
|
|
120
|
+
const allKnown = [...BUILTIN_CMDS, ...command_catalog_1.TUI_TOP_LEVEL_COMMANDS];
|
|
94
121
|
if (input === "exit" || input === "quit") {
|
|
95
122
|
appendLine(" " + chalk_1.default.cyanBright("◈") + chalk_1.default.dim(" goodbye"));
|
|
96
123
|
setIsProcessing(false);
|
|
97
124
|
setTimeout(() => exit(), 100);
|
|
98
125
|
return;
|
|
99
126
|
}
|
|
100
|
-
// ── Built-in: clear ────────────────────────────────────────────────────
|
|
101
127
|
if (input === "clear") {
|
|
102
128
|
setOutputBuffer([]);
|
|
103
129
|
setIsProcessing(false);
|
|
104
130
|
return;
|
|
105
131
|
}
|
|
106
|
-
// ── Built-in: help ─────────────────────────────────────────────────────
|
|
107
132
|
if (input === "help" || input === "/help") {
|
|
108
133
|
const lines = [
|
|
109
134
|
chalk_1.default.cyanBright("◈ ARC-402 TUI"),
|
|
@@ -127,7 +152,20 @@ function App({ version, network, wallet, balance }) {
|
|
|
127
152
|
setIsProcessing(false);
|
|
128
153
|
return;
|
|
129
154
|
}
|
|
130
|
-
|
|
155
|
+
if (input === "hire") {
|
|
156
|
+
setHireFlowOpen(true);
|
|
157
|
+
appendLine(chalk_1.default.dim(" Opening interactive hire flow…"));
|
|
158
|
+
appendLine("");
|
|
159
|
+
setIsProcessing(false);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (input === "wallet connect") {
|
|
163
|
+
setWalletPairingOpen(true);
|
|
164
|
+
appendLine(chalk_1.default.dim(" Opening WalletConnect pairing…"));
|
|
165
|
+
appendLine("");
|
|
166
|
+
setIsProcessing(false);
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
131
169
|
if (input === "chat") {
|
|
132
170
|
beginChat(appendLine);
|
|
133
171
|
appendLine("");
|
|
@@ -155,7 +193,6 @@ function App({ version, network, wallet, balance }) {
|
|
|
155
193
|
setIsProcessing(false);
|
|
156
194
|
return;
|
|
157
195
|
}
|
|
158
|
-
// ── TUI kernel — returns typed payload → rendered as Phase 2 Ink component ──
|
|
159
196
|
const kernelPayload = await (0, kernel_1.executeKernelForPayload)(input);
|
|
160
197
|
if (kernelPayload !== null) {
|
|
161
198
|
appendEntry(kernelPayload);
|
|
@@ -163,12 +200,17 @@ function App({ version, network, wallet, balance }) {
|
|
|
163
200
|
setIsProcessing(false);
|
|
164
201
|
return;
|
|
165
202
|
}
|
|
166
|
-
// ── Dispatch to commander ──────────────────────────────────────────────
|
|
167
203
|
await execute(input, appendLine);
|
|
168
204
|
appendLine("");
|
|
169
205
|
setIsProcessing(false);
|
|
170
|
-
}, [appendLine, appendEntry, execute, send, snapToBottom,
|
|
206
|
+
}, [appendLine, appendEntry, execute, send, snapToBottom, exit, beginChat, isChatMode, selectorVisible]);
|
|
171
207
|
(0, index_js_1.useInput)((event) => {
|
|
208
|
+
if (walletPairingOpen && event.key === "escape") {
|
|
209
|
+
setWalletPairingOpen(false);
|
|
210
|
+
pushToast("WalletConnect pairing cancelled", "info");
|
|
211
|
+
appendLine(chalk_1.default.dim(" WalletConnect pairing cancelled."));
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
172
214
|
if (selectorVisible)
|
|
173
215
|
return;
|
|
174
216
|
if (event.key === "pgup") {
|
|
@@ -181,7 +223,22 @@ function App({ version, network, wallet, balance }) {
|
|
|
181
223
|
exit();
|
|
182
224
|
}
|
|
183
225
|
});
|
|
184
|
-
const isDisabled = isProcessing || isRunning || isSending;
|
|
185
|
-
|
|
226
|
+
const isDisabled = isProcessing || isRunning || isSending || hireFlowOpen || walletPairingOpen;
|
|
227
|
+
const separatorWidth = Math.max(8, columns - 2);
|
|
228
|
+
return ((0, jsx_runtime_1.jsxs)(index_js_1.Box, { flexDirection: "column", height: "100%", children: [(0, jsx_runtime_1.jsx)(Header_1.Header, { version: version, network: network, wallet: wallet, balance: balance }), (0, jsx_runtime_1.jsx)(index_js_1.Box, { flexShrink: 0, children: (0, jsx_runtime_1.jsx)(index_js_1.Text, { dimColor: true, children: "─".repeat(separatorWidth) }) }), (0, jsx_runtime_1.jsx)(Viewport_1.Viewport, { lines: outputBuffer, scrollOffset: scrollOffset, isAutoScroll: isAutoScroll, viewportHeight: viewportHeight }), toasts.length > 0 && ((0, jsx_runtime_1.jsx)(index_js_1.Box, { flexDirection: "column", flexShrink: 0, children: toasts.map((t) => ((0, jsx_runtime_1.jsx)(Toast_1.Toast, { toast: t, onDismiss: dismiss }, t.id))) })), (0, jsx_runtime_1.jsxs)(Footer_1.Footer, { children: [selectorVisible && ((0, jsx_runtime_1.jsx)(ChatHarnessSelector_1.ChatHarnessSelector, { choices: harnessChoices, selectedIndex: selectedHarnessIndex, onMove: moveSelection, onConfirm: () => confirmSelection(appendLine), onCancel: cancelSelector })), isChatMode && ((0, jsx_runtime_1.jsx)(index_js_1.Box, { marginLeft: 2, flexShrink: 0, children: (0, jsx_runtime_1.jsx)(index_js_1.Text, { dimColor: true, children: `chat mode${activeHarnessLabel ? ` · harness: ${activeHarnessLabel}` : " · harness: choose one"}` }) })), hireFlowOpen && ((0, jsx_runtime_1.jsx)(HireFlow_1.HireFlow, { onCancel: () => setHireFlowOpen(false), onSubmit: async ({ agent, task, price }) => {
|
|
229
|
+
await execute(buildHireCommand(agent.wallet, task, price, agent.serviceType || "ai.assistant"), appendLine);
|
|
230
|
+
appendLine("");
|
|
231
|
+
setHireFlowOpen(false);
|
|
232
|
+
} })), walletPairingOpen && walletConnectProjectId && ((0, jsx_runtime_1.jsx)(WalletConnectPairing_1.WalletConnectPairing, { projectId: walletConnectProjectId, chainId: chainId, connect: connectWalletInTui, onComplete: ({ account }) => {
|
|
233
|
+
pushToast(`✓ Wallet connected — ${account}`, "success");
|
|
234
|
+
appendLine(chalk_1.default.green(` ✓ Wallet connected — ${account}`));
|
|
235
|
+
appendLine("");
|
|
236
|
+
setWalletPairingOpen(false);
|
|
237
|
+
}, onError: (err) => {
|
|
238
|
+
pushToast(`✗ WalletConnect failed — ${err}`, "error");
|
|
239
|
+
appendLine(chalk_1.default.red(` ✗ WalletConnect failed — ${err}`));
|
|
240
|
+
appendLine("");
|
|
241
|
+
setWalletPairingOpen(false);
|
|
242
|
+
} })), (0, jsx_runtime_1.jsx)(InputLine_1.InputLine, { onSubmit: handleCommand, isDisabled: isDisabled || selectorVisible })] })] }));
|
|
186
243
|
}
|
|
187
244
|
//# sourceMappingURL=App.js.map
|