moderado 0.4.34 → 0.4.50
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/commands/chat.d.ts +7 -70
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +279 -453
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/chat_meta.d.ts +36 -0
- package/dist/commands/chat_meta.d.ts.map +1 -0
- package/dist/commands/chat_meta.js +102 -0
- package/dist/commands/chat_meta.js.map +1 -0
- package/dist/commands/chat_outcome.d.ts +31 -0
- package/dist/commands/chat_outcome.d.ts.map +1 -0
- package/dist/commands/chat_outcome.js +70 -0
- package/dist/commands/chat_outcome.js.map +1 -0
- package/dist/commands/chat_search.d.ts +24 -0
- package/dist/commands/chat_search.d.ts.map +1 -0
- package/dist/commands/chat_search.js +61 -0
- package/dist/commands/chat_search.js.map +1 -0
- package/dist/commands/chat_slash.d.ts +17 -0
- package/dist/commands/chat_slash.d.ts.map +1 -0
- package/dist/commands/chat_slash.js +109 -0
- package/dist/commands/chat_slash.js.map +1 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +25 -1
- package/dist/commands/run.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +18 -2
- package/dist/config.js.map +1 -1
- package/dist/diagnostic_log.d.ts.map +1 -1
- package/dist/diagnostic_log.js +1 -0
- package/dist/diagnostic_log.js.map +1 -1
- package/dist/sessions.d.ts.map +1 -1
- package/dist/sessions.js +5 -1
- package/dist/sessions.js.map +1 -1
- package/dist/transcript.d.ts +19 -0
- package/dist/transcript.d.ts.map +1 -0
- package/dist/transcript.js +76 -0
- package/dist/transcript.js.map +1 -0
- package/dist/turn_summary.d.ts +76 -0
- package/dist/turn_summary.d.ts.map +1 -0
- package/dist/turn_summary.js +305 -0
- package/dist/turn_summary.js.map +1 -0
- package/dist/ui/box.d.ts +19 -0
- package/dist/ui/box.d.ts.map +1 -1
- package/dist/ui/box.js +119 -12
- package/dist/ui/box.js.map +1 -1
- package/dist/ui/chart.d.ts +2 -0
- package/dist/ui/chart.d.ts.map +1 -0
- package/dist/ui/chart.js +97 -0
- package/dist/ui/chart.js.map +1 -0
- package/dist/ui/composer.d.ts +80 -0
- package/dist/ui/composer.d.ts.map +1 -0
- package/dist/ui/composer.js +883 -0
- package/dist/ui/composer.js.map +1 -0
- package/dist/ui/help_content.d.ts +2 -2
- package/dist/ui/help_content.d.ts.map +1 -1
- package/dist/ui/help_content.js +5 -3
- package/dist/ui/help_content.js.map +1 -1
- package/dist/ui/model_selector.d.ts +1 -0
- package/dist/ui/model_selector.d.ts.map +1 -1
- package/dist/ui/model_selector.js +61 -18
- package/dist/ui/model_selector.js.map +1 -1
- package/dist/ui/popup.d.ts.map +1 -1
- package/dist/ui/popup.js +7 -0
- package/dist/ui/popup.js.map +1 -1
- package/dist/ui/provider_connect.d.ts +8 -0
- package/dist/ui/provider_connect.d.ts.map +1 -1
- package/dist/ui/provider_connect.js +81 -23
- package/dist/ui/provider_connect.js.map +1 -1
- package/dist/ui/renderer.d.ts +49 -4
- package/dist/ui/renderer.d.ts.map +1 -1
- package/dist/ui/renderer.js +167 -31
- package/dist/ui/renderer.js.map +1 -1
- package/dist/ui/terminal_approval.d.ts +21 -0
- package/dist/ui/terminal_approval.d.ts.map +1 -1
- package/dist/ui/terminal_approval.js +145 -47
- package/dist/ui/terminal_approval.js.map +1 -1
- package/dist/ui/welcome.d.ts +274 -69
- package/dist/ui/welcome.d.ts.map +1 -1
- package/dist/ui/welcome.js +729 -700
- package/dist/ui/welcome.js.map +1 -1
- package/dist/vendor/providers/presets.d.ts +16 -0
- package/dist/vendor/providers/presets.d.ts.map +1 -1
- package/dist/vendor/providers/presets.js +13 -0
- package/dist/vendor/providers/presets.js.map +1 -1
- package/dist/vendor/tools/checkpoints.js +5 -5
- package/dist/vendor/tools/checkpoints.js.map +1 -1
- package/dist/vendor/tools/jail.d.ts +8 -0
- package/dist/vendor/tools/jail.d.ts.map +1 -1
- package/dist/vendor/tools/jail.js +13 -2
- package/dist/vendor/tools/jail.js.map +1 -1
- package/dist/vendor/tools/tools/apply_patch.d.ts.map +1 -1
- package/dist/vendor/tools/tools/apply_patch.js +6 -3
- package/dist/vendor/tools/tools/apply_patch.js.map +1 -1
- package/dist/vendor/tools/tools/git_diff.d.ts.map +1 -1
- package/dist/vendor/tools/tools/git_diff.js +5 -3
- package/dist/vendor/tools/tools/git_diff.js.map +1 -1
- package/package.json +1 -1
package/dist/ui/renderer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/ui/renderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/ui/renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,34 @@ import { ApprovalDecision, ApprovalRequest, IApprovalHandler } from '@moderado/c
|
|
|
2
2
|
export interface TerminalApprovalOptions {
|
|
3
3
|
stdin?: NodeJS.ReadableStream;
|
|
4
4
|
stdout?: NodeJS.WritableStream;
|
|
5
|
+
/**
|
|
6
|
+
* Paints the dialog over the chat frame (dimmed background + centred box).
|
|
7
|
+
* Supplied by the chat session, which owns the frame. Without it the box is
|
|
8
|
+
* written inline, which is all a test stream needs.
|
|
9
|
+
*/
|
|
10
|
+
renderLayer?: (popupLines: string[]) => string;
|
|
5
11
|
}
|
|
6
12
|
export declare class TerminalApprovalHandler implements IApprovalHandler {
|
|
7
13
|
private readonly stdin;
|
|
8
14
|
private readonly stdout;
|
|
9
15
|
private alwaysApprove;
|
|
16
|
+
/**
|
|
17
|
+
* Set per turn by the chat session. When present the dialog is composited
|
|
18
|
+
* over the frame instead of being appended below it — appending used to push
|
|
19
|
+
* the composer off screen, which is what "the dialog overflows the workspace"
|
|
20
|
+
* looked like.
|
|
21
|
+
*/
|
|
22
|
+
renderLayer?: (popupLines: string[]) => string;
|
|
10
23
|
constructor(options?: TerminalApprovalOptions);
|
|
11
24
|
requestApproval(request: ApprovalRequest, signal?: AbortSignal): Promise<ApprovalDecision>;
|
|
25
|
+
/** Rows in the viewport, with the same fallback the renderer uses. */
|
|
26
|
+
private rows;
|
|
27
|
+
/** Put the caret on the bottom row, where the question is asked. */
|
|
28
|
+
private paintPromptRow;
|
|
29
|
+
/** Feedback line, just above the prompt row. */
|
|
30
|
+
private paintNote;
|
|
31
|
+
/** Keep the prompt inside the terminal, with a floor so it stays readable. */
|
|
32
|
+
private boxWidth;
|
|
12
33
|
private prompt;
|
|
13
34
|
}
|
|
14
35
|
//# sourceMappingURL=terminal_approval.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal_approval.d.ts","sourceRoot":"","sources":["../../src/ui/terminal_approval.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal_approval.d.ts","sourceRoot":"","sources":["../../src/ui/terminal_approval.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;CAChD;AAoBD,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,aAAa,CAAS;IAC9B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;gBAEnC,OAAO,GAAE,uBAA4B;IAM3C,eAAe,CACnB,OAAO,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC;IA2G5B,sEAAsE;IACtE,OAAO,CAAC,IAAI;IAIZ,oEAAoE;IACpE,OAAO,CAAC,cAAc;IAKtB,gDAAgD;IAChD,OAAO,CAAC,SAAS;IAQjB,8EAA8E;IAC9E,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,MAAM;CAsCf"}
|
|
@@ -1,12 +1,36 @@
|
|
|
1
1
|
import readline from 'node:readline';
|
|
2
|
-
import { renderBox } from './box.js';
|
|
2
|
+
import { displayWidth, renderBox } from './box.js';
|
|
3
|
+
/** Diff lines shown before the prompt collapses the rest into a count. */
|
|
4
|
+
const PREVIEW_LINES = 10;
|
|
5
|
+
/** Sentinel for "stdin closed before an answer", which must not read as Enter. */
|
|
6
|
+
const NO_INPUT = '\u0000no-input';
|
|
7
|
+
/**
|
|
8
|
+
* The key hints, in the widest form that fits.
|
|
9
|
+
*
|
|
10
|
+
* Truncating the full row dropped `[q] Quit session` on a 60-column terminal,
|
|
11
|
+
* which is the one key a stuck user needs to find.
|
|
12
|
+
*/
|
|
13
|
+
function approvalKeyRow(contentWidth) {
|
|
14
|
+
const full = '\x1b[38;5;114m[Y] Approve (Enter)\x1b[0m \x1b[38;5;114m[a] Always approve\x1b[0m \x1b[38;5;222m[n] Deny\x1b[0m \x1b[38;5;203m[q] Quit session\x1b[0m';
|
|
15
|
+
if (displayWidth(full) <= contentWidth)
|
|
16
|
+
return full;
|
|
17
|
+
return '\x1b[38;5;114m[Y] Approve\x1b[0m \x1b[38;5;114m[a] Always\x1b[0m \x1b[38;5;222m[n] Deny\x1b[0m \x1b[38;5;203m[q] Quit\x1b[0m';
|
|
18
|
+
}
|
|
3
19
|
export class TerminalApprovalHandler {
|
|
4
20
|
stdin;
|
|
5
21
|
stdout;
|
|
6
22
|
alwaysApprove = false;
|
|
23
|
+
/**
|
|
24
|
+
* Set per turn by the chat session. When present the dialog is composited
|
|
25
|
+
* over the frame instead of being appended below it — appending used to push
|
|
26
|
+
* the composer off screen, which is what "the dialog overflows the workspace"
|
|
27
|
+
* looked like.
|
|
28
|
+
*/
|
|
29
|
+
renderLayer;
|
|
7
30
|
constructor(options = {}) {
|
|
8
31
|
this.stdin = options.stdin ?? process.stdin;
|
|
9
32
|
this.stdout = options.stdout ?? process.stdout;
|
|
33
|
+
this.renderLayer = options.renderLayer;
|
|
10
34
|
}
|
|
11
35
|
async requestApproval(request, signal) {
|
|
12
36
|
if (signal?.aborted) {
|
|
@@ -15,54 +39,123 @@ export class TerminalApprovalHandler {
|
|
|
15
39
|
if (this.alwaysApprove) {
|
|
16
40
|
return { requestId: request.requestId, status: 'approved' };
|
|
17
41
|
}
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (request.exactPayload.command) {
|
|
23
|
-
lines.push(`\x1b[38;5;245mCommand\x1b[0m \x1b[1;38;5;75m${request.exactPayload.command.join(' ')}\x1b[0m`);
|
|
24
|
-
if (request.exactPayload.cwd) {
|
|
25
|
-
lines.push(`\x1b[38;5;245mWorking Dir\x1b[0m \x1b[38;5;242m${request.exactPayload.cwd}\x1b[0m`);
|
|
42
|
+
const paintApproval = () => {
|
|
43
|
+
const lines = [];
|
|
44
|
+
if (request.exactPayload.targetFile) {
|
|
45
|
+
lines.push(`\x1b[38;5;245mTarget File\x1b[0m \x1b[38;5;253m${request.exactPayload.targetFile}\x1b[0m`);
|
|
26
46
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
for (const line of request.exactPayload.diffPreview.split('\n').slice(0, 15)) {
|
|
32
|
-
if (line.startsWith('+')) {
|
|
33
|
-
lines.push(` \x1b[38;5;114m${line}\x1b[0m`);
|
|
47
|
+
if (request.exactPayload.command) {
|
|
48
|
+
lines.push(`\x1b[38;5;245mCommand\x1b[0m \x1b[1;38;5;75m${request.exactPayload.command.join(' ')}\x1b[0m`);
|
|
49
|
+
if (request.exactPayload.cwd) {
|
|
50
|
+
lines.push(`\x1b[38;5;245mWorking Dir\x1b[0m \x1b[38;5;242m${request.exactPayload.cwd}\x1b[0m`);
|
|
34
51
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
52
|
+
}
|
|
53
|
+
// Recompute preview and width after a terminal resize so the prompt stays
|
|
54
|
+
// visible inside the new viewport.
|
|
55
|
+
const previewBudget = Math.max(0, Math.min(PREVIEW_LINES, this.rows() - 13));
|
|
56
|
+
if (request.exactPayload.diffPreview) {
|
|
57
|
+
const previewLines = request.exactPayload.diffPreview.split('\n');
|
|
58
|
+
const added = previewLines.filter((line) => line.startsWith('+')).length;
|
|
59
|
+
const removed = previewLines.filter((line) => line.startsWith('-')).length;
|
|
60
|
+
const shown = previewLines.slice(0, previewBudget);
|
|
61
|
+
const hidden = previewLines.length - shown.length;
|
|
62
|
+
const summary = [`+${added}`, `-${removed}`, hidden > 0 ? `${hidden} more line${hidden === 1 ? '' : 's'}` : '']
|
|
63
|
+
.filter(Boolean)
|
|
64
|
+
.join(', ');
|
|
65
|
+
lines.push('---');
|
|
66
|
+
lines.push(`\x1b[1;38;5;250mDiff Preview\x1b[0m \x1b[38;5;244m(${summary})\x1b[0m`);
|
|
67
|
+
for (const line of shown) {
|
|
68
|
+
if (line.startsWith('+')) {
|
|
69
|
+
lines.push(` \x1b[38;5;114m${line}\x1b[0m`);
|
|
70
|
+
}
|
|
71
|
+
else if (line.startsWith('-')) {
|
|
72
|
+
lines.push(` \x1b[38;5;203m${line}\x1b[0m`);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
lines.push(` \x1b[38;5;244m${line}\x1b[0m`);
|
|
76
|
+
}
|
|
40
77
|
}
|
|
78
|
+
if (hidden > 0)
|
|
79
|
+
lines.push(` \x1b[38;5;244m… ${hidden} more line${hidden === 1 ? '' : 's'} not shown\x1b[0m`);
|
|
41
80
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
this.stdout.write('\n' +
|
|
46
|
-
renderBox(lines, {
|
|
81
|
+
lines.push('---');
|
|
82
|
+
lines.push(approvalKeyRow(this.boxWidth() - 6));
|
|
83
|
+
const box = renderBox(lines, {
|
|
47
84
|
title: `⚠️ Permission Required: ${request.toolName}`,
|
|
48
85
|
minWidth: 58,
|
|
86
|
+
maxWidth: this.boxWidth(),
|
|
49
87
|
borderColor: '\x1b[38;5;214m',
|
|
50
88
|
titleColor: '\x1b[1;38;5;222m',
|
|
51
|
-
})
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
89
|
+
});
|
|
90
|
+
if (this.renderLayer) {
|
|
91
|
+
this.stdout.write(`\x1b[H\x1b[J${this.renderLayer(box.split('\n'))}`);
|
|
92
|
+
this.paintPromptRow();
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
this.stdout.write(`\n${box}\n`);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
const onResize = () => paintApproval();
|
|
99
|
+
this.stdout.on('resize', onResize);
|
|
100
|
+
paintApproval();
|
|
101
|
+
try {
|
|
102
|
+
for (let attempt = 0; attempt < 5; attempt += 1) {
|
|
103
|
+
this.paintPromptRow();
|
|
104
|
+
const answer = await this.prompt('\x1b[1mApprove this action? [Y/n/a/q]: \x1b[0m', signal);
|
|
105
|
+
// A closed stdin resolves like a bare Enter; approving there would turn an
|
|
106
|
+
// unattended session into an auto-approver, so it fails closed instead.
|
|
107
|
+
if (answer === NO_INPUT) {
|
|
108
|
+
return { requestId: request.requestId, status: 'aborted', reason: 'No input available for approval' };
|
|
109
|
+
}
|
|
110
|
+
const normalized = answer.trim().toLowerCase();
|
|
111
|
+
// Enter approves once: the box advertises the capitalised key as the
|
|
112
|
+
// default, and pressing Enter only to be told "denied" is the behaviour
|
|
113
|
+
// that made an ordinary `npx` scaffold look like a permissions bug.
|
|
114
|
+
if (normalized === '' || normalized === 'y' || normalized === 'yes') {
|
|
115
|
+
return { requestId: request.requestId, status: 'approved' };
|
|
116
|
+
}
|
|
117
|
+
if (normalized === 'a' || normalized === 'all' || normalized === 'always') {
|
|
118
|
+
this.alwaysApprove = true;
|
|
119
|
+
return { requestId: request.requestId, status: 'approved' };
|
|
120
|
+
}
|
|
121
|
+
if (normalized === 'n' || normalized === 'no') {
|
|
122
|
+
return { requestId: request.requestId, status: 'denied', reason: 'User denied approval' };
|
|
123
|
+
}
|
|
124
|
+
if (normalized === 'q' || normalized === 'quit') {
|
|
125
|
+
return { requestId: request.requestId, status: 'aborted', reason: 'User quit session' };
|
|
126
|
+
}
|
|
127
|
+
// Anything else is a typo or a stray keystroke, not a decision. Keep the
|
|
128
|
+
// note on the row above the prompt so it is actually readable.
|
|
129
|
+
this.paintNote('\x1b[38;5;222mPlease answer y, a, n, or q.\x1b[0m');
|
|
130
|
+
}
|
|
57
131
|
}
|
|
58
|
-
|
|
59
|
-
this.
|
|
60
|
-
return { requestId: request.requestId, status: 'approved' };
|
|
132
|
+
finally {
|
|
133
|
+
this.stdout.removeListener('resize', onResize);
|
|
61
134
|
}
|
|
62
|
-
|
|
63
|
-
|
|
135
|
+
return { requestId: request.requestId, status: 'denied', reason: 'No valid answer after five prompts' };
|
|
136
|
+
}
|
|
137
|
+
/** Rows in the viewport, with the same fallback the renderer uses. */
|
|
138
|
+
rows() {
|
|
139
|
+
return this.stdout.rows ?? 24;
|
|
140
|
+
}
|
|
141
|
+
/** Put the caret on the bottom row, where the question is asked. */
|
|
142
|
+
paintPromptRow() {
|
|
143
|
+
if (!this.renderLayer)
|
|
144
|
+
return;
|
|
145
|
+
this.stdout.write(`\x1b[${this.rows()};1H\x1b[2K\x1b[?25h`);
|
|
146
|
+
}
|
|
147
|
+
/** Feedback line, just above the prompt row. */
|
|
148
|
+
paintNote(text) {
|
|
149
|
+
if (!this.renderLayer) {
|
|
150
|
+
this.stdout.write(`${text}\n`);
|
|
151
|
+
return;
|
|
64
152
|
}
|
|
65
|
-
|
|
153
|
+
this.stdout.write(`\x1b[${Math.max(1, this.rows() - 1)};1H\x1b[2K${text}`);
|
|
154
|
+
}
|
|
155
|
+
/** Keep the prompt inside the terminal, with a floor so it stays readable. */
|
|
156
|
+
boxWidth() {
|
|
157
|
+
const columns = this.stdout.columns ?? 80;
|
|
158
|
+
return Math.max(40, Math.min(columns - 2, 100));
|
|
66
159
|
}
|
|
67
160
|
prompt(query, signal) {
|
|
68
161
|
return new Promise((resolve) => {
|
|
@@ -78,20 +171,25 @@ export class TerminalApprovalHandler {
|
|
|
78
171
|
input: this.stdin,
|
|
79
172
|
output: this.stdout,
|
|
80
173
|
});
|
|
81
|
-
|
|
174
|
+
let settled = false;
|
|
175
|
+
const finish = (value) => {
|
|
176
|
+
if (settled)
|
|
177
|
+
return;
|
|
178
|
+
settled = true;
|
|
179
|
+
if (signal)
|
|
180
|
+
signal.removeEventListener('abort', onAbort);
|
|
82
181
|
rl.close();
|
|
83
|
-
resolve(
|
|
182
|
+
resolve(value);
|
|
84
183
|
};
|
|
184
|
+
const onAbort = () => finish('q');
|
|
85
185
|
if (signal) {
|
|
86
186
|
signal.addEventListener('abort', onAbort, { once: true });
|
|
87
187
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
resolve(answer);
|
|
94
|
-
});
|
|
188
|
+
// A stream that ends without a newline closes the interface without ever
|
|
189
|
+
// calling the question callback. Report that distinctly from an empty
|
|
190
|
+
// answer, which is a deliberate Enter.
|
|
191
|
+
rl.on('close', () => finish(NO_INPUT));
|
|
192
|
+
rl.question(query, (answer) => finish(answer));
|
|
95
193
|
});
|
|
96
194
|
}
|
|
97
195
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal_approval.js","sourceRoot":"","sources":["../../src/ui/terminal_approval.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAMrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal_approval.js","sourceRoot":"","sources":["../../src/ui/terminal_approval.ts"],"names":[],"mappings":"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"}
|