@asterxsk/kiln 0.1.0 → 0.2.0
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/LICENSE +21 -21
- package/README.md +170 -170
- package/agent/AGENTS.md +67 -67
- package/agent/README.md +5 -5
- package/agent/extensions/AGENTS.md +68 -68
- package/agent/extensions/ask-user/index.ts +418 -418
- package/agent/extensions/ask-user/package-lock.json +769 -769
- package/agent/extensions/ask-user/package.json +19 -19
- package/agent/extensions/ask-user/prompt.ts +45 -45
- package/agent/extensions/ask-user/tsconfig.json +7 -7
- package/agent/extensions/background-terminals/docs/implementation-guide.md +942 -942
- package/agent/extensions/background-terminals/index.ts +627 -627
- package/agent/extensions/background-terminals/manager.test.ts +735 -735
- package/agent/extensions/background-terminals/output.test.ts +109 -109
- package/agent/extensions/background-terminals/package-lock.json +769 -769
- package/agent/extensions/background-terminals/package.json +17 -17
- package/agent/extensions/background-terminals/prompt.test.ts +125 -125
- package/agent/extensions/background-terminals/ps.test.ts +82 -82
- package/agent/extensions/background-terminals/result-delivery.test.ts +44 -44
- package/agent/extensions/background-terminals/src/domain.ts +87 -87
- package/agent/extensions/background-terminals/src/manager.ts +907 -907
- package/agent/extensions/background-terminals/src/output.ts +84 -84
- package/agent/extensions/background-terminals/src/prompt.ts +142 -142
- package/agent/extensions/background-terminals/src/result-delivery.ts +27 -27
- package/agent/extensions/background-terminals/src/runtime.ts +36 -36
- package/agent/extensions/background-terminals/src/ui/output-view.ts +79 -79
- package/agent/extensions/background-terminals/src/ui/ps.ts +621 -621
- package/agent/extensions/background-terminals/tsconfig.json +7 -7
- package/agent/extensions/file-search/index.spec.ts +443 -443
- package/agent/extensions/file-search/index.ts +459 -459
- package/agent/extensions/file-search/package-lock.json +2253 -2253
- package/agent/extensions/file-search/package.json +23 -23
- package/agent/extensions/file-search/src/args.ts +122 -122
- package/agent/extensions/file-search/src/binaries.ts +422 -422
- package/agent/extensions/file-search/src/output.ts +126 -126
- package/agent/extensions/file-search/src/process.ts +146 -146
- package/agent/extensions/file-search/src/prompt.ts +52 -52
- package/agent/extensions/file-search/tsconfig.json +7 -7
- package/agent/extensions/modelconf/PLAN.md +915 -915
- package/agent/extensions/modelconf/index.ts +296 -296
- package/agent/extensions/modelconf/src/ui/ModelConfView.ts +1101 -1101
- package/agent/extensions/pi-web-access/CHANGELOG.md +690 -690
- package/agent/extensions/pi-web-access/LICENSE +21 -21
- package/agent/extensions/pi-web-access/README.md +470 -470
- package/agent/extensions/pi-web-access/SECURITY.md +5 -5
- package/agent/extensions/pi-web-access/activity.ts +101 -101
- package/agent/extensions/pi-web-access/auth-fetch.ts +148 -148
- package/agent/extensions/pi-web-access/brightdata-unlocker.ts +272 -272
- package/agent/extensions/pi-web-access/chrome-cookies.ts +669 -669
- package/agent/extensions/pi-web-access/content-find.ts +139 -139
- package/agent/extensions/pi-web-access/credential-source.ts +191 -191
- package/agent/extensions/pi-web-access/data-uri-sanitize.ts +406 -406
- package/agent/extensions/pi-web-access/datalab-pdf-extract.ts +568 -568
- package/agent/extensions/pi-web-access/declared-web-links.ts +173 -173
- package/agent/extensions/pi-web-access/evidence/CONTRACT-EVIDENCE.md +496 -496
- package/agent/extensions/pi-web-access/evidence/contract-probe.mjs +140 -140
- package/agent/extensions/pi-web-access/exa.ts +526 -526
- package/agent/extensions/pi-web-access/extract.ts +1196 -1196
- package/agent/extensions/pi-web-access/feature-config.ts +29 -29
- package/agent/extensions/pi-web-access/fetch-params.ts +111 -111
- package/agent/extensions/pi-web-access/gemini-adc.ts +298 -298
- package/agent/extensions/pi-web-access/gemini-api.ts +353 -353
- package/agent/extensions/pi-web-access/gemini-pdf-extract.ts +108 -108
- package/agent/extensions/pi-web-access/gemini-url-context.ts +128 -128
- package/agent/extensions/pi-web-access/gemini-web-config.ts +101 -101
- package/agent/extensions/pi-web-access/gemini-web.ts +487 -487
- package/agent/extensions/pi-web-access/github-api.ts +197 -197
- package/agent/extensions/pi-web-access/github-extract.ts +746 -746
- package/agent/extensions/pi-web-access/github-issue-pr.ts +700 -700
- package/agent/extensions/pi-web-access/index.ts +1737 -1737
- package/agent/extensions/pi-web-access/package-lock.json +5808 -5808
- package/agent/extensions/pi-web-access/package.json +64 -64
- package/agent/extensions/pi-web-access/page-query.ts +96 -96
- package/agent/extensions/pi-web-access/pdf-extract.ts +409 -409
- package/agent/extensions/pi-web-access/promise-try.d.ts +7 -7
- package/agent/extensions/pi-web-access/query-rewrite.ts +51 -51
- package/agent/extensions/pi-web-access/render-search-error.ts +170 -170
- package/agent/extensions/pi-web-access/rsc-extract.ts +338 -338
- package/agent/extensions/pi-web-access/source-check.ts +282 -282
- package/agent/extensions/pi-web-access/ssrf-protection.ts +526 -526
- package/agent/extensions/pi-web-access/storage.ts +521 -521
- package/agent/extensions/pi-web-access/summary-model-scope.ts +125 -125
- package/agent/extensions/pi-web-access/test/auth-fetch.test.mjs +208 -208
- package/agent/extensions/pi-web-access/test/brightdata-unlocker.test.mjs +840 -840
- package/agent/extensions/pi-web-access/test/chrome-cookie-extraction.test.mjs +441 -441
- package/agent/extensions/pi-web-access/test/config-path.test.mjs +283 -283
- package/agent/extensions/pi-web-access/test/content-find.test.mjs +25 -25
- package/agent/extensions/pi-web-access/test/credential-source.test.mjs +118 -118
- package/agent/extensions/pi-web-access/test/data-uri-sanitize.test.mjs +210 -210
- package/agent/extensions/pi-web-access/test/datalab-pdf-extract.test.mjs +552 -552
- package/agent/extensions/pi-web-access/test/declared-web-links.test.mjs +212 -212
- package/agent/extensions/pi-web-access/test/fetch-answer-storage.test.mjs +40 -40
- package/agent/extensions/pi-web-access/test/fetch-cache-storage.test.mjs +334 -334
- package/agent/extensions/pi-web-access/test/fetch-content-domain-policy.test.mjs +95 -95
- package/agent/extensions/pi-web-access/test/fetch-modes.test.mjs +53 -53
- package/agent/extensions/pi-web-access/test/fetch-not-found-guidance.test.mjs +92 -92
- package/agent/extensions/pi-web-access/test/fetch-params.test.mjs +86 -86
- package/agent/extensions/pi-web-access/test/fetch-render-call.test.mjs +34 -34
- package/agent/extensions/pi-web-access/test/fetch-routing.test.mjs +173 -173
- package/agent/extensions/pi-web-access/test/gemini-adc-auth.test.mjs +257 -257
- package/agent/extensions/pi-web-access/test/gemini-api-transport.test.mjs +170 -170
- package/agent/extensions/pi-web-access/test/gemini-pdf-extract.test.mjs +133 -133
- package/agent/extensions/pi-web-access/test/gemini-web-cookie-opt-in.test.mjs +178 -178
- package/agent/extensions/pi-web-access/test/gemini-web-header-overflow.test.mjs +148 -148
- package/agent/extensions/pi-web-access/test/get-search-content.test.mjs +223 -223
- package/agent/extensions/pi-web-access/test/github-extract.test.mjs +378 -378
- package/agent/extensions/pi-web-access/test/github-issue-pr.test.mjs +565 -565
- package/agent/extensions/pi-web-access/test/inline-content-config.test.mjs +99 -99
- package/agent/extensions/pi-web-access/test/lazy-extract-load.test.mjs +118 -118
- package/agent/extensions/pi-web-access/test/local-video-oversize.test.mjs +52 -52
- package/agent/extensions/pi-web-access/test/package-typebox-dependency.test.mjs +50 -50
- package/agent/extensions/pi-web-access/test/page-query.test.mjs +51 -51
- package/agent/extensions/pi-web-access/test/pdf-config.test.mjs +140 -140
- package/agent/extensions/pi-web-access/test/pdf-extract.test.mjs +500 -500
- package/agent/extensions/pi-web-access/test/proxy-transport.test.mjs +286 -286
- package/agent/extensions/pi-web-access/test/query-rewrite.test.mjs +52 -52
- package/agent/extensions/pi-web-access/test/rsc-fallback.test.mjs +102 -102
- package/agent/extensions/pi-web-access/test/search-error-render.test.mjs +152 -152
- package/agent/extensions/pi-web-access/test/search-providers.test.mjs +274 -274
- package/agent/extensions/pi-web-access/test/source-check.test.mjs +179 -179
- package/agent/extensions/pi-web-access/test/ssrf-allow-ranges-config.test.mjs +205 -205
- package/agent/extensions/pi-web-access/test/ssrf-protection.test.mjs +456 -456
- package/agent/extensions/pi-web-access/test/tool-registration-config.test.mjs +182 -182
- package/agent/extensions/pi-web-access/test/youtube-extract-errors.test.mjs +64 -64
- package/agent/extensions/pi-web-access/tsconfig.json +11 -11
- package/agent/extensions/pi-web-access/utils.ts +451 -451
- package/agent/extensions/pi-web-access/video-extract.ts +392 -392
- package/agent/extensions/pi-web-access/youtube-extract.ts +328 -328
- package/agent/extensions/shared/activity-status.ts +31 -31
- package/agent/extensions/shared/child-session.test.ts +270 -270
- package/agent/extensions/shared/child-session.ts +148 -148
- package/agent/extensions/shared/context-utilization.test.ts +48 -48
- package/agent/extensions/shared/context-utilization.ts +47 -47
- package/agent/extensions/shared/dashboard-state.ts +99 -99
- package/agent/extensions/shared/tool-call-timeout.test.ts +117 -117
- package/agent/extensions/shared/tool-call-timeout.ts +104 -104
- package/agent/extensions/subagents/by-the-way.test.ts +29 -29
- package/agent/extensions/subagents/claude.test.ts +119 -119
- package/agent/extensions/subagents/codex.test.ts +102 -102
- package/agent/extensions/subagents/context-usage.test.ts +107 -107
- package/agent/extensions/subagents/docs/design-plan.md +568 -568
- package/agent/extensions/subagents/docs/effect-v4-extension-guide.md +354 -354
- package/agent/extensions/subagents/docs/effect-v4-notes.md +571 -571
- package/agent/extensions/subagents/index.ts +779 -779
- package/agent/extensions/subagents/manager.test.ts +276 -276
- package/agent/extensions/subagents/package-lock.json +2244 -2244
- package/agent/extensions/subagents/package.json +19 -19
- package/agent/extensions/subagents/result-delivery.test.ts +27 -27
- package/agent/extensions/subagents/src/backend.ts +73 -73
- package/agent/extensions/subagents/src/backends/claude.ts +701 -701
- package/agent/extensions/subagents/src/backends/codex.ts +1060 -1060
- package/agent/extensions/subagents/src/backends/pi.ts +575 -575
- package/agent/extensions/subagents/src/backends/stub.ts +300 -300
- package/agent/extensions/subagents/src/by-the-way.ts +21 -21
- package/agent/extensions/subagents/src/domain.ts +253 -253
- package/agent/extensions/subagents/src/format.ts +74 -74
- package/agent/extensions/subagents/src/manager.ts +736 -736
- package/agent/extensions/subagents/src/prompt.ts +92 -92
- package/agent/extensions/subagents/src/result-delivery.ts +20 -20
- package/agent/extensions/subagents/src/runtime.ts +53 -53
- package/agent/extensions/subagents/src/ui/takeover.ts +583 -583
- package/agent/extensions/subagents/src/ui/transcript.ts +201 -201
- package/agent/extensions/subagents/takeover.test.ts +29 -29
- package/agent/extensions/subagents/tsconfig.json +7 -7
- package/agent/extensions/todo/AGENTS.md +38 -38
- package/agent/extensions/todo/LICENSE +21 -21
- package/agent/extensions/todo/config.ts +55 -55
- package/agent/extensions/todo/index.ts +151 -151
- package/agent/extensions/todo/locales/de.json +17 -17
- package/agent/extensions/todo/locales/en.json +15 -15
- package/agent/extensions/todo/locales/es.json +17 -17
- package/agent/extensions/todo/locales/fr.json +17 -17
- package/agent/extensions/todo/locales/pt-BR.json +17 -17
- package/agent/extensions/todo/locales/pt.json +17 -17
- package/agent/extensions/todo/locales/ru.json +17 -17
- package/agent/extensions/todo/locales/uk.json +17 -17
- package/agent/extensions/todo/locales/zh.json +17 -17
- package/agent/extensions/todo/package-lock.json +3358 -3358
- package/agent/extensions/todo/package.json +67 -67
- package/agent/extensions/todo/state/i18n-bridge.ts +64 -64
- package/agent/extensions/todo/state/invariants.ts +20 -20
- package/agent/extensions/todo/state/replay.ts +38 -38
- package/agent/extensions/todo/state/selectors.ts +107 -107
- package/agent/extensions/todo/state/state-reducer.ts +326 -326
- package/agent/extensions/todo/state/state.ts +18 -18
- package/agent/extensions/todo/state/store.ts +82 -82
- package/agent/extensions/todo/state/task-graph.ts +57 -57
- package/agent/extensions/todo/todo-overlay.ts +200 -200
- package/agent/extensions/todo/todo.ts +155 -155
- package/agent/extensions/todo/tool/response-envelope.ts +109 -109
- package/agent/extensions/todo/tool/types.ts +206 -206
- package/agent/extensions/todo/view/format.ts +177 -177
- package/agent/install.ps1 +637 -527
- package/agent/install.sh +620 -511
- package/agent/keybindings.json +7 -7
- package/bin/kiln.js +124 -11
- package/package.json +8 -2
- package/agent/extensions/taste/index.ts +0 -443
- package/agent/extensions/taste/install.ps1 +0 -23
- package/agent/extensions/taste/install.sh +0 -21
- /package/agent/extensions/{status line → statusline}/index.ts +0 -0
- /package/agent/extensions/{status line → statusline}/install.ps1 +0 -0
- /package/agent/extensions/{status line → statusline}/install.sh +0 -0
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Domain model for background terminals.
|
|
3
|
-
*
|
|
4
|
-
* A "terminal" is one long-running shell process started by the model. It
|
|
5
|
-
* receives no stdin (launched with stdin: "ignore"), captures stdout and
|
|
6
|
-
* stderr separately, and settles exactly once into a final state.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import { Data } from "effect";
|
|
10
|
-
|
|
11
|
-
export type TerminalStatus = "running" | "done" | "failed" | "killed";
|
|
12
|
-
// "done" = exited with code 0
|
|
13
|
-
// "failed" = exited non-zero, or a spawn-level runtime error after start
|
|
14
|
-
// "killed" = terminated by bg_kill, the /ps UI, or session teardown
|
|
15
|
-
|
|
16
|
-
/** Read-only view over one captured output stream (stdout or stderr). */
|
|
17
|
-
export interface OutputView {
|
|
18
|
-
/** Decoded, possibly head-trimmed text (bounded by the in-memory cap). */
|
|
19
|
-
readonly text: string;
|
|
20
|
-
/** True total bytes ever received on this stream. */
|
|
21
|
-
readonly totalBytes: number;
|
|
22
|
-
/** Bytes dropped from the head of the in-memory view (0 = complete). */
|
|
23
|
-
readonly truncatedBytes: number;
|
|
24
|
-
/** On-disk full capture; always the complete stream when spilling works. */
|
|
25
|
-
readonly spillPath?: string;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface TerminalSnapshot {
|
|
29
|
-
readonly id: string;
|
|
30
|
-
/** Exactly the command line the model asked to run. */
|
|
31
|
-
readonly command: string;
|
|
32
|
-
/** Short model-provided name, shown in listings and the UI. */
|
|
33
|
-
readonly title: string;
|
|
34
|
-
/** Resolved absolute cwd the process runs in. */
|
|
35
|
-
readonly cwd: string;
|
|
36
|
-
/** Undefined only if spawn itself failed before a pid was assigned. */
|
|
37
|
-
readonly pid?: number;
|
|
38
|
-
readonly status: TerminalStatus;
|
|
39
|
-
/** Date.now() at spawn. */
|
|
40
|
-
readonly createdAt: number;
|
|
41
|
-
/** Date.now() at settle (exit/kill). */
|
|
42
|
-
readonly settledAt?: number;
|
|
43
|
-
/** Set when the process exited via exit code (exactly one of exitCode/signal). */
|
|
44
|
-
readonly exitCode?: number;
|
|
45
|
-
/** Set when the process was terminated by a signal, e.g. "SIGTERM". */
|
|
46
|
-
readonly signal?: string;
|
|
47
|
-
/** Spawn error / kill-escalation notes, bounded. */
|
|
48
|
-
readonly errorText?: string;
|
|
49
|
-
readonly stdout: OutputView;
|
|
50
|
-
readonly stderr: OutputView;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export function formatElapsed(snap: TerminalSnapshot) {
|
|
54
|
-
const end = snap.settledAt ?? Date.now();
|
|
55
|
-
const totalSeconds = Math.max(0, Math.round((end - snap.createdAt) / 1000));
|
|
56
|
-
const minutes = Math.floor(totalSeconds / 60);
|
|
57
|
-
const seconds = totalSeconds % 60;
|
|
58
|
-
return minutes > 0
|
|
59
|
-
? `${minutes}m${seconds.toString().padStart(2, "0")}s`
|
|
60
|
-
: `${seconds}s`;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/** "exit 0", "exit 137", "SIGTERM", or "running". */
|
|
64
|
-
export function formatExit(snap: TerminalSnapshot) {
|
|
65
|
-
if (snap.status === "running") return "running";
|
|
66
|
-
if (snap.signal) return snap.signal;
|
|
67
|
-
if (snap.exitCode !== undefined) return `exit ${snap.exitCode}`;
|
|
68
|
-
return snap.status;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
// --- Errors -------------------------------------------------------------------
|
|
72
|
-
|
|
73
|
-
export class SpawnError extends Data.TaggedError("SpawnError")<{
|
|
74
|
-
readonly message: string;
|
|
75
|
-
}> {}
|
|
76
|
-
|
|
77
|
-
export class ConcurrencyLimitError extends Data.TaggedError(
|
|
78
|
-
"ConcurrencyLimitError",
|
|
79
|
-
)<{
|
|
80
|
-
readonly message: string;
|
|
81
|
-
}> {}
|
|
82
|
-
|
|
83
|
-
export class UnknownTerminalError extends Data.TaggedError(
|
|
84
|
-
"UnknownTerminalError",
|
|
85
|
-
)<{
|
|
86
|
-
readonly message: string;
|
|
87
|
-
}> {}
|
|
1
|
+
/**
|
|
2
|
+
* Domain model for background terminals.
|
|
3
|
+
*
|
|
4
|
+
* A "terminal" is one long-running shell process started by the model. It
|
|
5
|
+
* receives no stdin (launched with stdin: "ignore"), captures stdout and
|
|
6
|
+
* stderr separately, and settles exactly once into a final state.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { Data } from "effect";
|
|
10
|
+
|
|
11
|
+
export type TerminalStatus = "running" | "done" | "failed" | "killed";
|
|
12
|
+
// "done" = exited with code 0
|
|
13
|
+
// "failed" = exited non-zero, or a spawn-level runtime error after start
|
|
14
|
+
// "killed" = terminated by bg_kill, the /ps UI, or session teardown
|
|
15
|
+
|
|
16
|
+
/** Read-only view over one captured output stream (stdout or stderr). */
|
|
17
|
+
export interface OutputView {
|
|
18
|
+
/** Decoded, possibly head-trimmed text (bounded by the in-memory cap). */
|
|
19
|
+
readonly text: string;
|
|
20
|
+
/** True total bytes ever received on this stream. */
|
|
21
|
+
readonly totalBytes: number;
|
|
22
|
+
/** Bytes dropped from the head of the in-memory view (0 = complete). */
|
|
23
|
+
readonly truncatedBytes: number;
|
|
24
|
+
/** On-disk full capture; always the complete stream when spilling works. */
|
|
25
|
+
readonly spillPath?: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface TerminalSnapshot {
|
|
29
|
+
readonly id: string;
|
|
30
|
+
/** Exactly the command line the model asked to run. */
|
|
31
|
+
readonly command: string;
|
|
32
|
+
/** Short model-provided name, shown in listings and the UI. */
|
|
33
|
+
readonly title: string;
|
|
34
|
+
/** Resolved absolute cwd the process runs in. */
|
|
35
|
+
readonly cwd: string;
|
|
36
|
+
/** Undefined only if spawn itself failed before a pid was assigned. */
|
|
37
|
+
readonly pid?: number;
|
|
38
|
+
readonly status: TerminalStatus;
|
|
39
|
+
/** Date.now() at spawn. */
|
|
40
|
+
readonly createdAt: number;
|
|
41
|
+
/** Date.now() at settle (exit/kill). */
|
|
42
|
+
readonly settledAt?: number;
|
|
43
|
+
/** Set when the process exited via exit code (exactly one of exitCode/signal). */
|
|
44
|
+
readonly exitCode?: number;
|
|
45
|
+
/** Set when the process was terminated by a signal, e.g. "SIGTERM". */
|
|
46
|
+
readonly signal?: string;
|
|
47
|
+
/** Spawn error / kill-escalation notes, bounded. */
|
|
48
|
+
readonly errorText?: string;
|
|
49
|
+
readonly stdout: OutputView;
|
|
50
|
+
readonly stderr: OutputView;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function formatElapsed(snap: TerminalSnapshot) {
|
|
54
|
+
const end = snap.settledAt ?? Date.now();
|
|
55
|
+
const totalSeconds = Math.max(0, Math.round((end - snap.createdAt) / 1000));
|
|
56
|
+
const minutes = Math.floor(totalSeconds / 60);
|
|
57
|
+
const seconds = totalSeconds % 60;
|
|
58
|
+
return minutes > 0
|
|
59
|
+
? `${minutes}m${seconds.toString().padStart(2, "0")}s`
|
|
60
|
+
: `${seconds}s`;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/** "exit 0", "exit 137", "SIGTERM", or "running". */
|
|
64
|
+
export function formatExit(snap: TerminalSnapshot) {
|
|
65
|
+
if (snap.status === "running") return "running";
|
|
66
|
+
if (snap.signal) return snap.signal;
|
|
67
|
+
if (snap.exitCode !== undefined) return `exit ${snap.exitCode}`;
|
|
68
|
+
return snap.status;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// --- Errors -------------------------------------------------------------------
|
|
72
|
+
|
|
73
|
+
export class SpawnError extends Data.TaggedError("SpawnError")<{
|
|
74
|
+
readonly message: string;
|
|
75
|
+
}> {}
|
|
76
|
+
|
|
77
|
+
export class ConcurrencyLimitError extends Data.TaggedError(
|
|
78
|
+
"ConcurrencyLimitError",
|
|
79
|
+
)<{
|
|
80
|
+
readonly message: string;
|
|
81
|
+
}> {}
|
|
82
|
+
|
|
83
|
+
export class UnknownTerminalError extends Data.TaggedError(
|
|
84
|
+
"UnknownTerminalError",
|
|
85
|
+
)<{
|
|
86
|
+
readonly message: string;
|
|
87
|
+
}> {}
|