prompsit-cli 26.225.1206 → 26.227.2006
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/README.md +10 -4
- package/dist/api/auth-session.d.ts +11 -11
- package/dist/api/auth-session.d.ts.map +1 -1
- package/dist/api/auth-session.js +21 -17
- package/dist/api/auth-session.js.map +1 -1
- package/dist/api/client.d.ts +4 -4
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +8 -8
- package/dist/api/client.js.map +1 -1
- package/dist/api/curl.d.ts +30 -0
- package/dist/api/curl.d.ts.map +1 -0
- package/dist/api/curl.js +115 -0
- package/dist/api/curl.js.map +1 -0
- package/dist/api/errors.d.ts +2 -3
- package/dist/api/errors.d.ts.map +1 -1
- package/dist/api/errors.js +4 -2
- package/dist/api/errors.js.map +1 -1
- package/dist/api/http-utils.d.ts +5 -0
- package/dist/api/http-utils.d.ts.map +1 -0
- package/dist/api/http-utils.js +19 -0
- package/dist/api/http-utils.js.map +1 -0
- package/dist/api/models.d.ts +135 -89
- package/dist/api/models.d.ts.map +1 -1
- package/dist/api/models.js +62 -72
- package/dist/api/models.js.map +1 -1
- package/dist/api/resources/data.d.ts +3 -5
- package/dist/api/resources/data.d.ts.map +1 -1
- package/dist/api/resources/data.js +11 -12
- package/dist/api/resources/data.js.map +1 -1
- package/dist/api/resources/discovery.d.ts +26 -0
- package/dist/api/resources/discovery.d.ts.map +1 -0
- package/dist/api/resources/discovery.js +46 -0
- package/dist/api/resources/discovery.js.map +1 -0
- package/dist/api/resources/evaluation.d.ts +9 -12
- package/dist/api/resources/evaluation.d.ts.map +1 -1
- package/dist/api/resources/evaluation.js +45 -20
- package/dist/api/resources/evaluation.js.map +1 -1
- package/dist/api/resources/formats.d.ts +1 -1
- package/dist/api/resources/formats.js +2 -2
- package/dist/api/resources/formats.js.map +1 -1
- package/dist/api/resources/jobs.d.ts +7 -8
- package/dist/api/resources/jobs.d.ts.map +1 -1
- package/dist/api/resources/jobs.js +10 -49
- package/dist/api/resources/jobs.js.map +1 -1
- package/dist/api/resources/languages.d.ts +25 -0
- package/dist/api/resources/languages.d.ts.map +1 -0
- package/dist/api/resources/languages.js +44 -0
- package/dist/api/resources/languages.js.map +1 -0
- package/dist/api/resources/translation.d.ts +8 -16
- package/dist/api/resources/translation.d.ts.map +1 -1
- package/dist/api/resources/translation.js +11 -15
- package/dist/api/resources/translation.js.map +1 -1
- package/dist/api/sse-client.d.ts +10 -16
- package/dist/api/sse-client.d.ts.map +1 -1
- package/dist/api/sse-client.js +158 -197
- package/dist/api/sse-client.js.map +1 -1
- package/dist/api/sse-models.js +1 -1
- package/dist/api/sse-models.js.map +1 -1
- package/dist/api/trace.js +1 -1
- package/dist/api/trace.js.map +1 -1
- package/dist/api/transport.d.ts +28 -1
- package/dist/api/transport.d.ts.map +1 -1
- package/dist/api/transport.js +89 -17
- package/dist/api/transport.js.map +1 -1
- package/dist/cli/arg-order.d.ts +2 -0
- package/dist/cli/arg-order.d.ts.map +1 -1
- package/dist/cli/arg-order.js +2 -0
- package/dist/cli/arg-order.js.map +1 -1
- package/dist/cli/exit-codes.d.ts +0 -2
- package/dist/cli/exit-codes.d.ts.map +1 -1
- package/dist/cli/exit-codes.js +0 -2
- package/dist/cli/exit-codes.js.map +1 -1
- package/dist/cli/exit.d.ts +4 -4
- package/dist/cli/exit.d.ts.map +1 -1
- package/dist/cli/exit.js +4 -4
- package/dist/cli/exit.js.map +1 -1
- package/dist/cli/prompts.d.ts +0 -2
- package/dist/cli/prompts.d.ts.map +1 -1
- package/dist/cli/prompts.js +1 -1
- package/dist/cli/prompts.js.map +1 -1
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +0 -1
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/batch-processor.d.ts +38 -0
- package/dist/commands/batch-processor.d.ts.map +1 -0
- package/dist/commands/batch-processor.js +73 -0
- package/dist/commands/batch-processor.js.map +1 -0
- package/dist/commands/config/api-url.d.ts.map +1 -1
- package/dist/commands/config/api-url.js +4 -1
- package/dist/commands/config/api-url.js.map +1 -1
- package/dist/commands/config/command.d.ts.map +1 -1
- package/dist/commands/config/command.js +3 -2
- package/dist/commands/config/command.js.map +1 -1
- package/dist/commands/config/language.d.ts.map +1 -1
- package/dist/commands/config/language.js.map +1 -1
- package/dist/commands/config/reset.d.ts.map +1 -1
- package/dist/commands/config/reset.js.map +1 -1
- package/dist/commands/config/shared.js +3 -3
- package/dist/commands/config/shared.js.map +1 -1
- package/dist/commands/config/show.d.ts.map +1 -1
- package/dist/commands/config/show.js +0 -13
- package/dist/commands/config/show.js.map +1 -1
- package/dist/commands/data.d.ts.map +1 -1
- package/dist/commands/data.js +241 -68
- package/dist/commands/data.js.map +1 -1
- package/dist/commands/evaluate.d.ts.map +1 -1
- package/dist/commands/evaluate.js +111 -29
- package/dist/commands/evaluate.js.map +1 -1
- package/dist/commands/formats.d.ts +1 -1
- package/dist/commands/formats.d.ts.map +1 -1
- package/dist/commands/formats.js +5 -12
- package/dist/commands/formats.js.map +1 -1
- package/dist/commands/health.d.ts +1 -1
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +3 -10
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/job-tracking.d.ts +13 -5
- package/dist/commands/job-tracking.d.ts.map +1 -1
- package/dist/commands/job-tracking.js +25 -18
- package/dist/commands/job-tracking.js.map +1 -1
- package/dist/commands/languages.d.ts +12 -0
- package/dist/commands/languages.d.ts.map +1 -0
- package/dist/commands/languages.js +48 -0
- package/dist/commands/languages.js.map +1 -0
- package/dist/commands/mappers.d.ts +15 -3
- package/dist/commands/mappers.d.ts.map +1 -1
- package/dist/commands/mappers.js +38 -18
- package/dist/commands/mappers.js.map +1 -1
- package/dist/commands/progress-animator.d.ts +2 -1
- package/dist/commands/progress-animator.d.ts.map +1 -1
- package/dist/commands/progress-animator.js +4 -2
- package/dist/commands/progress-animator.js.map +1 -1
- package/dist/commands/translate.d.ts.map +1 -1
- package/dist/commands/translate.js +149 -87
- package/dist/commands/translate.js.map +1 -1
- package/dist/config/credentials.d.ts +11 -87
- package/dist/config/credentials.d.ts.map +1 -1
- package/dist/config/credentials.js +28 -87
- package/dist/config/credentials.js.map +1 -1
- package/dist/config/env-parser.d.ts.map +1 -1
- package/dist/config/env-parser.js +3 -2
- package/dist/config/env-parser.js.map +1 -1
- package/dist/config/file-utils.js +1 -1
- package/dist/config/file-utils.js.map +1 -1
- package/dist/config/index.d.ts +4 -7
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +6 -12
- package/dist/config/index.js.map +1 -1
- package/dist/config/schemas.d.ts +4 -33
- package/dist/config/schemas.d.ts.map +1 -1
- package/dist/config/schemas.js +14 -19
- package/dist/config/schemas.js.map +1 -1
- package/dist/config/settings.d.ts +4 -4
- package/dist/config/settings.d.ts.map +1 -1
- package/dist/config/settings.js +16 -21
- package/dist/config/settings.js.map +1 -1
- package/dist/config/toml-io.js +1 -1
- package/dist/config/toml-io.js.map +1 -1
- package/dist/constants.d.ts +10 -9
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +10 -9
- package/dist/constants.js.map +1 -1
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/catalog.js +6 -8
- package/dist/errors/catalog.js.map +1 -1
- package/dist/errors/contracts.d.ts.map +1 -1
- package/dist/errors/contracts.js +2 -3
- package/dist/errors/contracts.js.map +1 -1
- package/dist/i18n/cache.d.ts +0 -2
- package/dist/i18n/cache.d.ts.map +1 -1
- package/dist/i18n/cache.js +4 -4
- package/dist/i18n/cache.js.map +1 -1
- package/dist/i18n/catalog.d.ts +34 -37
- package/dist/i18n/catalog.d.ts.map +1 -1
- package/dist/i18n/catalog.js +38 -40
- package/dist/i18n/catalog.js.map +1 -1
- package/dist/i18n/index.d.ts +0 -1
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +0 -3
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/translator-adapter.js +1 -1
- package/dist/i18n/translator-adapter.js.map +1 -1
- package/dist/i18n/translator.d.ts.map +1 -1
- package/dist/i18n/translator.js +1 -0
- package/dist/i18n/translator.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/logging/console-handler.js +1 -1
- package/dist/logging/console-handler.js.map +1 -1
- package/dist/logging/file-handler.d.ts.map +1 -1
- package/dist/logging/file-handler.js +4 -5
- package/dist/logging/file-handler.js.map +1 -1
- package/dist/logging/index.d.ts +2 -2
- package/dist/logging/index.d.ts.map +1 -1
- package/dist/logging/index.js +1 -1
- package/dist/logging/index.js.map +1 -1
- package/dist/logging/logger.d.ts +18 -22
- package/dist/logging/logger.d.ts.map +1 -1
- package/dist/logging/logger.js +38 -64
- package/dist/logging/logger.js.map +1 -1
- package/dist/logging/loki-handler.js +1 -1
- package/dist/logging/loki-handler.js.map +1 -1
- package/dist/logging/setup.d.ts +4 -3
- package/dist/logging/setup.d.ts.map +1 -1
- package/dist/logging/setup.js +136 -33
- package/dist/logging/setup.js.map +1 -1
- package/dist/output/ansi-utils.d.ts +13 -0
- package/dist/output/ansi-utils.d.ts.map +1 -0
- package/dist/output/ansi-utils.js +37 -0
- package/dist/output/ansi-utils.js.map +1 -0
- package/dist/output/index.d.ts +2 -5
- package/dist/output/index.d.ts.map +1 -1
- package/dist/output/index.js +3 -2
- package/dist/output/index.js.map +1 -1
- package/dist/output/output-events.d.ts +0 -1
- package/dist/output/output-events.d.ts.map +1 -1
- package/dist/output/tables/catalog.d.ts +5 -2
- package/dist/output/tables/catalog.d.ts.map +1 -1
- package/dist/output/tables/catalog.js +65 -9
- package/dist/output/tables/catalog.js.map +1 -1
- package/dist/output/tables/evaluation.d.ts.map +1 -1
- package/dist/output/tables/evaluation.js +3 -0
- package/dist/output/tables/evaluation.js.map +1 -1
- package/dist/output/tables/health-status.d.ts.map +1 -1
- package/dist/output/tables/health-status.js +11 -7
- package/dist/output/tables/health-status.js.map +1 -1
- package/dist/output/tables/index.d.ts +3 -3
- package/dist/output/tables/index.d.ts.map +1 -1
- package/dist/output/tables/index.js +2 -2
- package/dist/output/tables/index.js.map +1 -1
- package/dist/output/tables/render.d.ts.map +1 -1
- package/dist/output/tables/render.js +2 -10
- package/dist/output/tables/render.js.map +1 -1
- package/dist/output/terminal.d.ts +1 -5
- package/dist/output/terminal.d.ts.map +1 -1
- package/dist/output/terminal.js +25 -24
- package/dist/output/terminal.js.map +1 -1
- package/dist/output/view-models.d.ts +28 -2
- package/dist/output/view-models.d.ts.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +21 -29
- package/dist/program.js.map +1 -1
- package/dist/repl/controller.d.ts.map +1 -1
- package/dist/repl/controller.js +82 -47
- package/dist/repl/controller.js.map +1 -1
- package/dist/repl/core/output-bridge.d.ts.map +1 -1
- package/dist/repl/core/output-bridge.js +6 -4
- package/dist/repl/core/output-bridge.js.map +1 -1
- package/dist/repl/core/progress-types.d.ts +1 -1
- package/dist/repl/core/progress-types.d.ts.map +1 -1
- package/dist/repl/core/progress-types.js +1 -1
- package/dist/repl/core/progress-types.js.map +1 -1
- package/dist/repl/examples.d.ts +5 -7
- package/dist/repl/examples.d.ts.map +1 -1
- package/dist/repl/examples.js +27 -14
- package/dist/repl/examples.js.map +1 -1
- package/dist/repl/executor.d.ts +2 -4
- package/dist/repl/executor.d.ts.map +1 -1
- package/dist/repl/executor.js +69 -58
- package/dist/repl/executor.js.map +1 -1
- package/dist/repl/help.d.ts +10 -3
- package/dist/repl/help.d.ts.map +1 -1
- package/dist/repl/help.js +31 -4
- package/dist/repl/help.js.map +1 -1
- package/dist/repl/history/command-history.js +5 -5
- package/dist/repl/history/command-history.js.map +1 -1
- package/dist/repl/history/output-render.d.ts +1 -3
- package/dist/repl/history/output-render.d.ts.map +1 -1
- package/dist/repl/history/output-render.js +4 -6
- package/dist/repl/history/output-render.js.map +1 -1
- package/dist/repl/history/output-store.d.ts.map +1 -1
- package/dist/repl/history/output-store.js +6 -3
- package/dist/repl/history/output-store.js.map +1 -1
- package/dist/repl/input/autocomplete-provider.d.ts.map +1 -1
- package/dist/repl/input/autocomplete-provider.js +1 -2
- package/dist/repl/input/autocomplete-provider.js.map +1 -1
- package/dist/repl/input/completer.d.ts +0 -2
- package/dist/repl/input/completer.d.ts.map +1 -1
- package/dist/repl/input/completer.js +9 -7
- package/dist/repl/input/completer.js.map +1 -1
- package/dist/repl/input/ghost-text.d.ts +1 -1
- package/dist/repl/input/ghost-text.d.ts.map +1 -1
- package/dist/repl/input/ghost-text.js +1 -1
- package/dist/repl/input/ghost-text.js.map +1 -1
- package/dist/repl/input/input-handler.d.ts.map +1 -1
- package/dist/repl/input/input-handler.js +21 -15
- package/dist/repl/input/input-handler.js.map +1 -1
- package/dist/repl/input/keybindings.d.ts +0 -5
- package/dist/repl/input/keybindings.d.ts.map +1 -1
- package/dist/repl/input/keybindings.js +0 -65
- package/dist/repl/input/keybindings.js.map +1 -1
- package/dist/repl/loop.d.ts +1 -2
- package/dist/repl/loop.d.ts.map +1 -1
- package/dist/repl/loop.js +14 -14
- package/dist/repl/loop.js.map +1 -1
- package/dist/repl/registry.d.ts +28 -20
- package/dist/repl/registry.d.ts.map +1 -1
- package/dist/repl/registry.js +229 -171
- package/dist/repl/registry.js.map +1 -1
- package/dist/repl/service.d.ts +1 -10
- package/dist/repl/service.d.ts.map +1 -1
- package/dist/repl/service.js +15 -26
- package/dist/repl/service.js.map +1 -1
- package/dist/repl/ui/components/curl-panel.js +4 -4
- package/dist/repl/ui/components/curl-panel.js.map +1 -1
- package/dist/repl/ui/components/ghost-text-editor.d.ts +4 -0
- package/dist/repl/ui/components/ghost-text-editor.d.ts.map +1 -1
- package/dist/repl/ui/components/ghost-text-editor.js +17 -6
- package/dist/repl/ui/components/ghost-text-editor.js.map +1 -1
- package/dist/repl/ui/components/history-component.d.ts.map +1 -1
- package/dist/repl/ui/components/history-component.js +7 -69
- package/dist/repl/ui/components/history-component.js.map +1 -1
- package/dist/repl/ui/components/progress-bar.js.map +1 -1
- package/dist/repl/ui/components/status-bar-line.js +1 -1
- package/dist/repl/ui/components/status-bar-line.js.map +1 -1
- package/dist/repl/ui/data.js +3 -3
- package/dist/repl/ui/data.js.map +1 -1
- package/dist/repl/ui/hint-state.d.ts +0 -1
- package/dist/repl/ui/hint-state.d.ts.map +1 -1
- package/dist/repl/ui/hint-state.js +1 -1
- package/dist/repl/ui/hint-state.js.map +1 -1
- package/dist/repl/ui/selection-utils.d.ts +28 -0
- package/dist/repl/ui/selection-utils.d.ts.map +1 -0
- package/dist/repl/ui/selection-utils.js +70 -0
- package/dist/repl/ui/selection-utils.js.map +1 -0
- package/dist/repl/ui/status-bar.d.ts +1 -4
- package/dist/repl/ui/status-bar.d.ts.map +1 -1
- package/dist/repl/ui/status-bar.js +6 -33
- package/dist/repl/ui/status-bar.js.map +1 -1
- package/dist/runtime/async-utils.d.ts +16 -0
- package/dist/runtime/async-utils.d.ts.map +1 -0
- package/dist/runtime/async-utils.js +40 -0
- package/dist/runtime/async-utils.js.map +1 -0
- package/dist/runtime/clipboard-win32.d.ts.map +1 -1
- package/dist/runtime/clipboard-win32.js +2 -1
- package/dist/runtime/clipboard-win32.js.map +1 -1
- package/dist/runtime/clipboard.d.ts.map +1 -1
- package/dist/runtime/clipboard.js +6 -2
- package/dist/runtime/clipboard.js.map +1 -1
- package/dist/runtime/external-transport.d.ts.map +1 -1
- package/dist/runtime/external-transport.js +1 -1
- package/dist/runtime/external-transport.js.map +1 -1
- package/dist/runtime/file-args.d.ts +38 -0
- package/dist/runtime/file-args.d.ts.map +1 -0
- package/dist/runtime/file-args.js +133 -0
- package/dist/runtime/file-args.js.map +1 -0
- package/dist/runtime/platform.d.ts +0 -2
- package/dist/runtime/platform.d.ts.map +1 -1
- package/dist/runtime/platform.js +0 -6
- package/dist/runtime/platform.js.map +1 -1
- package/dist/tui/settings-screen.d.ts +1 -13
- package/dist/tui/settings-screen.d.ts.map +1 -1
- package/dist/tui/settings-screen.js +46 -34
- package/dist/tui/settings-screen.js.map +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +3 -2
- package/dist/version.js.map +1 -1
- package/examples/sample.tmx +6 -0
- package/package.json +18 -7
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// Pure utility functions for ANSI-aware text selection in terminal output.
|
|
2
|
+
// Extracted from history-component.ts for testability.
|
|
3
|
+
const CSI_PREFIX = "\u001B[";
|
|
4
|
+
export const SEL_ON = "\u001B[7m";
|
|
5
|
+
export const SEL_OFF = "\u001B[27m";
|
|
6
|
+
/**
|
|
7
|
+
* Normalize selection so start is always before end.
|
|
8
|
+
* Handles backward selections (drag up / drag left).
|
|
9
|
+
*/
|
|
10
|
+
export function normalizeSelection(sel) {
|
|
11
|
+
const { start, end } = sel;
|
|
12
|
+
if (start.row < end.row || (start.row === end.row && start.col <= end.col)) {
|
|
13
|
+
return { start, end };
|
|
14
|
+
}
|
|
15
|
+
return { start: end, end: start };
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Read a CSI SGR escape code starting at `index` in `input`.
|
|
19
|
+
* Returns the full escape sequence (e.g. "\x1b[31m") or null if not a valid CSI SGR.
|
|
20
|
+
*/
|
|
21
|
+
export function readAnsiCodeAt(input, index) {
|
|
22
|
+
if (!input.startsWith(CSI_PREFIX, index))
|
|
23
|
+
return null;
|
|
24
|
+
let i = index + CSI_PREFIX.length;
|
|
25
|
+
while (i < input.length) {
|
|
26
|
+
const ch = input[i];
|
|
27
|
+
if (ch === "m") {
|
|
28
|
+
return input.slice(index, i + 1);
|
|
29
|
+
}
|
|
30
|
+
if (!((ch >= "0" && ch <= "9") || ch === ";")) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
i++;
|
|
34
|
+
}
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Inject SGR reverse-video highlight into an ANSI string at visible character positions.
|
|
39
|
+
* ANSI escape codes are preserved and skipped during position counting.
|
|
40
|
+
*/
|
|
41
|
+
export function applyHighlight(line, colStart, colEnd) {
|
|
42
|
+
let result = "";
|
|
43
|
+
let visiblePos = 0;
|
|
44
|
+
let i = 0;
|
|
45
|
+
let inHighlight = false;
|
|
46
|
+
while (i < line.length) {
|
|
47
|
+
const ansi = readAnsiCodeAt(line, i);
|
|
48
|
+
if (ansi) {
|
|
49
|
+
result += ansi;
|
|
50
|
+
i += ansi.length;
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
if (visiblePos === colStart) {
|
|
54
|
+
result += SEL_ON;
|
|
55
|
+
inHighlight = true;
|
|
56
|
+
}
|
|
57
|
+
if (visiblePos === colEnd && inHighlight) {
|
|
58
|
+
result += SEL_OFF;
|
|
59
|
+
inHighlight = false;
|
|
60
|
+
}
|
|
61
|
+
result += line[i];
|
|
62
|
+
visiblePos += 1;
|
|
63
|
+
i += 1;
|
|
64
|
+
}
|
|
65
|
+
if (inHighlight) {
|
|
66
|
+
result += SEL_OFF;
|
|
67
|
+
}
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=selection-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection-utils.js","sourceRoot":"","sources":["../../../src/repl/ui/selection-utils.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,uDAAuD;AAOvD,MAAM,UAAU,GAAG,SAAS,CAAC;AAC7B,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAC;AAClC,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC;AAEpC;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAA+C;IAIhF,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC3B,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3E,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACxB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,KAAa;IACzD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,CAAC,GAAG,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,QAAgB,EAAE,MAAc;IAC3E,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,IAAI,CAAC;YACf,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;YACjB,SAAS;QACX,CAAC;QAED,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,MAAM,CAAC;YACjB,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,IAAI,UAAU,KAAK,MAAM,IAAI,WAAW,EAAE,CAAC;YACzC,MAAM,IAAI,OAAO,CAAC;YAClB,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;QAED,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,UAAU,IAAI,CAAC,CAAC;QAChB,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,OAAO,CAAC;IACpB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function buildPrompt(): string;
|
|
3
|
-
export declare function stripAnsi(text: string): string;
|
|
4
|
-
export declare function visibleWidth(text: string): number;
|
|
1
|
+
export { visibleWidth } from "../../output/ansi-utils.ts";
|
|
5
2
|
/**
|
|
6
3
|
* Build status bar text for display below the prompt.
|
|
7
4
|
* Shows: tip | auth_status | env | lang
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-bar.d.ts","sourceRoot":"","sources":["../../../src/repl/ui/status-bar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status-bar.d.ts","sourceRoot":"","sources":["../../../src/repl/ui/status-bar.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AA4C1D;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAoEtD"}
|
|
@@ -7,39 +7,14 @@ import { API_URL_PRESETS } from "../../config/constants.js";
|
|
|
7
7
|
import { t } from "../../i18n/index.js";
|
|
8
8
|
import { REPL_COLORS, STATUS_SEPARATOR } from "./data.js";
|
|
9
9
|
import { getActiveHint } from "./hint-state.js";
|
|
10
|
+
import { visibleWidth } from "../../output/ansi-utils.js";
|
|
11
|
+
export { visibleWidth } from "../../output/ansi-utils.js";
|
|
10
12
|
const TIP_MIN_COLUMNS = 80;
|
|
11
|
-
/** Build the prompt string (just the arrow). */
|
|
12
|
-
export function buildPrompt() {
|
|
13
|
-
return chalk.hex(REPL_COLORS.promptArrow).bold("> ");
|
|
14
|
-
}
|
|
15
|
-
export function stripAnsi(text) {
|
|
16
|
-
let result = "";
|
|
17
|
-
let i = 0;
|
|
18
|
-
while (i < text.length) {
|
|
19
|
-
// ANSI CSI sequences: ESC [ ... letter
|
|
20
|
-
if (text[i] === "\u001B" && text[i + 1] === "[") {
|
|
21
|
-
i += 2;
|
|
22
|
-
while (i < text.length) {
|
|
23
|
-
const code = text.charCodeAt(i);
|
|
24
|
-
const isFinalByte = code >= 0x40 && code <= 0x7e;
|
|
25
|
-
i++;
|
|
26
|
-
if (isFinalByte)
|
|
27
|
-
break;
|
|
28
|
-
}
|
|
29
|
-
continue;
|
|
30
|
-
}
|
|
31
|
-
result += text[i];
|
|
32
|
-
i++;
|
|
33
|
-
}
|
|
34
|
-
return result;
|
|
35
|
-
}
|
|
36
|
-
export function visibleWidth(text) {
|
|
37
|
-
return Array.from(stripAnsi(text)).length;
|
|
38
|
-
}
|
|
39
13
|
function truncateText(text, maxWidth) {
|
|
40
14
|
if (maxWidth <= 0)
|
|
41
15
|
return "";
|
|
42
|
-
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-spread -- intentional Unicode code-point splitting
|
|
17
|
+
const chars = [...text];
|
|
43
18
|
if (chars.length <= maxWidth)
|
|
44
19
|
return text;
|
|
45
20
|
if (maxWidth <= 3)
|
|
@@ -50,16 +25,14 @@ function renderRight(segments) {
|
|
|
50
25
|
if (segments.length === 0)
|
|
51
26
|
return "";
|
|
52
27
|
const sep = chalk.hex(REPL_COLORS.statusSep)(STATUS_SEPARATOR);
|
|
53
|
-
return segments
|
|
54
|
-
.map((segment) => chalk.hex(segment.color)(segment.plain))
|
|
55
|
-
.join(sep);
|
|
28
|
+
return segments.map((segment) => chalk.hex(segment.color)(segment.plain)).join(sep);
|
|
56
29
|
}
|
|
57
30
|
function fitRightSegments(segments, maxWidth) {
|
|
58
31
|
if (maxWidth <= 0)
|
|
59
32
|
return "";
|
|
60
33
|
let active = [...segments];
|
|
61
34
|
while (active.length > 1 && visibleWidth(renderRight(active)) > maxWidth) {
|
|
62
|
-
const drop =
|
|
35
|
+
const drop = active.toSorted((a, b) => b.priority - a.priority)[0];
|
|
63
36
|
active = active.filter((segment) => segment.id !== drop.id);
|
|
64
37
|
}
|
|
65
38
|
let rendered = renderRight(active);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-bar.js","sourceRoot":"","sources":["../../../src/repl/ui/status-bar.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,uCAAuC;AAEvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,
|
|
1
|
+
{"version":3,"file":"status-bar.js","sourceRoot":"","sources":["../../../src/repl/ui/status-bar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cancellable sleep using native Node.js timers/promises.
|
|
3
|
+
* Rejects with AbortError when signal fires.
|
|
4
|
+
*/
|
|
5
|
+
export declare function sleep(ms: number, signal?: AbortSignal): Promise<void>;
|
|
6
|
+
/**
|
|
7
|
+
* Run async tasks over items with bounded concurrency.
|
|
8
|
+
*
|
|
9
|
+
* Each item is processed by `fn`. Workers pull from a shared queue.
|
|
10
|
+
* On abort signal, workers stop picking new items (in-flight items continue
|
|
11
|
+
* and are expected to handle abort via their own signal propagation).
|
|
12
|
+
*
|
|
13
|
+
* @returns PromiseSettledResult per item (error isolation: one failure doesn't block others)
|
|
14
|
+
*/
|
|
15
|
+
export declare function poolMap<T, R>(items: T[], concurrency: number, fn: (item: T, index: number) => Promise<R>, signal?: AbortSignal): Promise<(PromiseSettledResult<R> | undefined)[]>;
|
|
16
|
+
//# sourceMappingURL=async-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-utils.d.ts","sourceRoot":"","sources":["../../src/runtime/async-utils.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAErE;AAED;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,CAAC,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAC1C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAoBlD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Async utilities: cancellable sleep (node:timers/promises) and concurrency pool.
|
|
2
|
+
import { setTimeout } from "node:timers/promises";
|
|
3
|
+
/**
|
|
4
|
+
* Cancellable sleep using native Node.js timers/promises.
|
|
5
|
+
* Rejects with AbortError when signal fires.
|
|
6
|
+
*/
|
|
7
|
+
export function sleep(ms, signal) {
|
|
8
|
+
return setTimeout(ms, undefined, signal ? { signal } : undefined);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Run async tasks over items with bounded concurrency.
|
|
12
|
+
*
|
|
13
|
+
* Each item is processed by `fn`. Workers pull from a shared queue.
|
|
14
|
+
* On abort signal, workers stop picking new items (in-flight items continue
|
|
15
|
+
* and are expected to handle abort via their own signal propagation).
|
|
16
|
+
*
|
|
17
|
+
* @returns PromiseSettledResult per item (error isolation: one failure doesn't block others)
|
|
18
|
+
*/
|
|
19
|
+
export async function poolMap(items, concurrency, fn, signal) {
|
|
20
|
+
const results = Array.from({ length: items.length });
|
|
21
|
+
let nextIndex = 0;
|
|
22
|
+
async function worker() {
|
|
23
|
+
while (nextIndex < items.length) {
|
|
24
|
+
if (signal?.aborted)
|
|
25
|
+
break;
|
|
26
|
+
const i = nextIndex++;
|
|
27
|
+
try {
|
|
28
|
+
const value = await fn(items[i], i);
|
|
29
|
+
results[i] = { status: "fulfilled", value };
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
results[i] = { status: "rejected", reason: error };
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const workerCount = Math.min(concurrency, items.length);
|
|
37
|
+
await Promise.all(Array.from({ length: workerCount }, () => worker()));
|
|
38
|
+
return results;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=async-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-utils.js","sourceRoot":"","sources":["../../src/runtime/async-utils.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,MAAoB;IACpD,OAAO,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,KAAU,EACV,WAAmB,EACnB,EAA0C,EAC1C,MAAoB;IAEpB,MAAM,OAAO,GAA4C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9F,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,UAAU,MAAM;QACnB,OAAO,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,MAAM,EAAE,OAAO;gBAAE,MAAM;YAC3B,MAAM,CAAC,GAAG,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipboard-win32.d.ts","sourceRoot":"","sources":["../../src/runtime/clipboard-win32.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clipboard-win32.d.ts","sourceRoot":"","sources":["../../src/runtime/clipboard-win32.ts"],"names":[],"mappings":"AAoFA;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAmBnD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CA+BjE"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// Pattern: same as pi-tui's enableWindowsVTInput() in terminal.js —
|
|
4
4
|
// dynamic require("koffi"), lazy init, try/catch wrapper.
|
|
5
5
|
// Uses createRequire because the project is ESM-only.
|
|
6
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-unsafe-return */
|
|
6
7
|
import { createRequire } from "node:module";
|
|
7
8
|
let _initialized = false;
|
|
8
9
|
let _koffi = null;
|
|
@@ -20,7 +21,7 @@ let _GlobalAlloc = null;
|
|
|
20
21
|
let _GlobalFree = null;
|
|
21
22
|
let _RtlMoveMemory = null;
|
|
22
23
|
const CF_UNICODETEXT = 13;
|
|
23
|
-
const GMEM_MOVEABLE =
|
|
24
|
+
const GMEM_MOVEABLE = 0x00_02;
|
|
24
25
|
function init() {
|
|
25
26
|
if (_initialized)
|
|
26
27
|
return _OpenClipboard !== null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipboard-win32.js","sourceRoot":"","sources":["../../src/runtime/clipboard-win32.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,kDAAkD;AAClD,oEAAoE;AACpE,0DAA0D;AAC1D,sDAAsD;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,IAAI,MAAM,GAAkC,IAAI,CAAC;AAEjD,SAAS;AACT,IAAI,cAAc,GAAqC,IAAI,CAAC;AAC5D,IAAI,eAAe,GAA2B,IAAI,CAAC;AACnD,IAAI,WAAW,GAAwC,IAAI,CAAC;AAC5D,IAAI,aAAa,GAAwC,IAAI,CAAC;AAE9D,OAAO;AACP,IAAI,iBAAiB,GAAyC,IAAI,CAAC;AAEnE,QAAQ;AACR,IAAI,eAAe,GAA2B,IAAI,CAAC;AACnD,IAAI,iBAAiB,GAAwD,IAAI,CAAC;AAClF,IAAI,YAAY,GAAuD,IAAI,CAAC;AAC5E,IAAI,WAAW,GAAwC,IAAI,CAAC;AAC5D,IAAI,cAAc,GAAkE,IAAI,CAAC;AAEzF,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"clipboard-win32.js","sourceRoot":"","sources":["../../src/runtime/clipboard-win32.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../src/runtime/clipboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../src/runtime/clipboard.ts"],"names":[],"mappings":"AAuGA;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAgBxD;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBrE"}
|
|
@@ -55,7 +55,9 @@ async function linuxGetClipboard() {
|
|
|
55
55
|
try {
|
|
56
56
|
return await runClipboardCommand("wl-paste", ["--no-newline"]);
|
|
57
57
|
}
|
|
58
|
-
catch {
|
|
58
|
+
catch {
|
|
59
|
+
/* fall through to X11 */
|
|
60
|
+
}
|
|
59
61
|
}
|
|
60
62
|
try {
|
|
61
63
|
return await runClipboardCommand("xclip", ["-selection", "clipboard", "-o"]);
|
|
@@ -71,7 +73,9 @@ async function linuxSetClipboard(text) {
|
|
|
71
73
|
await runClipboardCommand("wl-copy", [], text);
|
|
72
74
|
return;
|
|
73
75
|
}
|
|
74
|
-
catch {
|
|
76
|
+
catch {
|
|
77
|
+
/* fall through to X11 */
|
|
78
|
+
}
|
|
75
79
|
}
|
|
76
80
|
try {
|
|
77
81
|
await runClipboardCommand("xclip", ["-selection", "clipboard"], text);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/runtime/clipboard.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,4CAA4C;AAC5C,oDAAoD;AACpD,2BAA2B;AAC3B,4DAA4D;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEvF,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,KAAK,UAAU,mBAAmB,CAChC,MAAc,EACd,IAAc,EACd,KAAc;IAEd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE;YAChC,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAEzB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAC3B,YAAY,CAAC,OAAO,CAAC,CAAC;YAEtB,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,
|
|
1
|
+
{"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/runtime/clipboard.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,4CAA4C;AAC5C,oDAAoD;AACpD,2BAA2B;AAC3B,4DAA4D;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEvF,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,KAAK,UAAU,mBAAmB,CAChC,MAAc,EACd,IAAc,EACd,KAAc;IAEd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE;YAChC,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAEzB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAC3B,YAAY,CAAC,OAAO,CAAC,CAAC;YAEtB,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,CACJ,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,6BAA6B,MAAM,UAAU,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CACvF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,uDAAuD;AACvD,KAAK,UAAU,iBAAiB;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,OAAO,MAAM,mBAAmB,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,mBAAmB,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,wDAAwD;AACxD,KAAK,UAAU,iBAAiB,CAAC,IAAY;IAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,mBAAmB,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,mBAAmB,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,mBAAmB,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,CAAC;QACH,IAAI,iBAAiB,EAAE,EAAE,CAAC;YACxB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACrE,OAAO,mBAAmB,EAAE,IAAI,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAE7C,IAAI,eAAe,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;YAC9C,OAAO,MAAM,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,MAAM,iBAAiB,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY;IACjD,IAAI,CAAC;QACH,IAAI,iBAAiB,EAAE,EAAE,CAAC;YACxB,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAC;QACrC,CAAC;QAED,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAE7C,IAAI,eAAe,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM,mBAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-transport.d.ts","sourceRoot":"","sources":["../../src/runtime/external-transport.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"external-transport.d.ts","sourceRoot":"","sources":["../../src/runtime/external-transport.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAkCD,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,wBAA6B,GAClC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAoCnB"}
|
|
@@ -13,7 +13,7 @@ function toJsonBody(body) {
|
|
|
13
13
|
return JSON.stringify(body);
|
|
14
14
|
}
|
|
15
15
|
async function sendRequest(url, opts) {
|
|
16
|
-
const { method = "GET", headers = {}, body, timeoutMs = 3000
|
|
16
|
+
const { method = "GET", headers = {}, body, timeoutMs = 3000 } = opts;
|
|
17
17
|
const requestHeaders = { ...headers };
|
|
18
18
|
const payload = toJsonBody(body);
|
|
19
19
|
if (payload !== undefined && !("Content-Type" in requestHeaders)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-transport.js","sourceRoot":"","sources":["../../src/runtime/external-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAavC,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEnE,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,OAAiB;IAC1D,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,IAAa;IAC/B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,WAAW,
|
|
1
|
+
{"version":3,"file":"external-transport.js","sourceRoot":"","sources":["../../src/runtime/external-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom error for file argument validation failures.
|
|
3
|
+
* Commands catch this and route through failCommand().
|
|
4
|
+
*/
|
|
5
|
+
export declare class FileArgError extends Error {
|
|
6
|
+
constructor(message: string);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Expand a list of file/directory paths into a flat list of resolved file paths.
|
|
10
|
+
*
|
|
11
|
+
* Directories are expanded non-recursively. Hidden files (starting with '.')
|
|
12
|
+
* and subdirectories are skipped. Each file is validated for read access.
|
|
13
|
+
* Results are sorted alphabetically for deterministic order.
|
|
14
|
+
*
|
|
15
|
+
* @throws FileArgError on inaccessible file or empty directory
|
|
16
|
+
*/
|
|
17
|
+
export declare function expandFileArgs(paths: string[]): string[];
|
|
18
|
+
/**
|
|
19
|
+
* Match files from source and target directories by filename.
|
|
20
|
+
* Both directories must contain files with the same names.
|
|
21
|
+
*
|
|
22
|
+
* @returns Array of [sourcePath, targetPath] pairs, sorted by filename.
|
|
23
|
+
* @throws FileArgError if source files have no matching target
|
|
24
|
+
*/
|
|
25
|
+
export declare function matchDirectoryPairs(sourceDir: string, targetDir: string): [source: string, target: string][];
|
|
26
|
+
/**
|
|
27
|
+
* Compute output paths for a list of input files.
|
|
28
|
+
*
|
|
29
|
+
* Client owns all naming — no server-side filename dependency.
|
|
30
|
+
* Handles compound extensions (.jsonl.zst) and collision disambiguation.
|
|
31
|
+
*
|
|
32
|
+
* @param files - Resolved input file paths
|
|
33
|
+
* @param suffix - Output suffix (e.g. "_eng-spa", "_scored", "_annotated")
|
|
34
|
+
* @param outputDir - Output directory from -o flag (default: beside input file)
|
|
35
|
+
* @param extOverride - Override output extension (e.g. "jsonl.zst", "docx")
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveOutputPaths(files: string[], suffix: string, outputDir?: string, extOverride?: string): string[];
|
|
38
|
+
//# sourceMappingURL=file-args.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-args.d.ts","sourceRoot":"","sources":["../../src/runtime/file-args.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAkCxD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAyBpC;AAiBD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,EAAE,CA0BV"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
// Shared file/directory argument resolution and output path computation.
|
|
2
|
+
// Used by all file-accepting commands (translate, evaluate, data annotate/score).
|
|
3
|
+
import { accessSync, mkdirSync, readdirSync, statSync, constants as fsConstants } from "node:fs";
|
|
4
|
+
import { basename, dirname, extname, join, resolve } from "node:path";
|
|
5
|
+
/**
|
|
6
|
+
* Custom error for file argument validation failures.
|
|
7
|
+
* Commands catch this and route through failCommand().
|
|
8
|
+
*/
|
|
9
|
+
export class FileArgError extends Error {
|
|
10
|
+
constructor(message) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.name = "FileArgError";
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Expand a list of file/directory paths into a flat list of resolved file paths.
|
|
17
|
+
*
|
|
18
|
+
* Directories are expanded non-recursively. Hidden files (starting with '.')
|
|
19
|
+
* and subdirectories are skipped. Each file is validated for read access.
|
|
20
|
+
* Results are sorted alphabetically for deterministic order.
|
|
21
|
+
*
|
|
22
|
+
* @throws FileArgError on inaccessible file or empty directory
|
|
23
|
+
*/
|
|
24
|
+
export function expandFileArgs(paths) {
|
|
25
|
+
const result = [];
|
|
26
|
+
for (const p of paths) {
|
|
27
|
+
const resolved = resolve(p);
|
|
28
|
+
let stat;
|
|
29
|
+
try {
|
|
30
|
+
stat = statSync(resolved);
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
throw new FileArgError(`File not found: ${resolved}`);
|
|
34
|
+
}
|
|
35
|
+
if (stat.isDirectory()) {
|
|
36
|
+
const entries = readdirSync(resolved, { withFileTypes: true });
|
|
37
|
+
const files = entries
|
|
38
|
+
.filter((e) => e.isFile() && !e.name.startsWith("."))
|
|
39
|
+
.map((e) => join(resolved, e.name))
|
|
40
|
+
.toSorted();
|
|
41
|
+
if (files.length === 0) {
|
|
42
|
+
throw new FileArgError(`Directory contains no files: ${resolved}`);
|
|
43
|
+
}
|
|
44
|
+
for (const f of files) {
|
|
45
|
+
accessSync(f, fsConstants.R_OK);
|
|
46
|
+
}
|
|
47
|
+
result.push(...files);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
accessSync(resolved, fsConstants.R_OK);
|
|
51
|
+
result.push(resolved);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Match files from source and target directories by filename.
|
|
58
|
+
* Both directories must contain files with the same names.
|
|
59
|
+
*
|
|
60
|
+
* @returns Array of [sourcePath, targetPath] pairs, sorted by filename.
|
|
61
|
+
* @throws FileArgError if source files have no matching target
|
|
62
|
+
*/
|
|
63
|
+
export function matchDirectoryPairs(sourceDir, targetDir) {
|
|
64
|
+
const sourceFiles = expandFileArgs([sourceDir]);
|
|
65
|
+
const targetFiles = expandFileArgs([targetDir]);
|
|
66
|
+
const targetMap = new Map(targetFiles.map((f) => [basename(f), f]));
|
|
67
|
+
const pairs = [];
|
|
68
|
+
const missing = [];
|
|
69
|
+
for (const src of sourceFiles) {
|
|
70
|
+
const name = basename(src);
|
|
71
|
+
const tgt = targetMap.get(name);
|
|
72
|
+
if (tgt) {
|
|
73
|
+
pairs.push([src, tgt]);
|
|
74
|
+
targetMap.delete(name);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
missing.push(name);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (missing.length > 0) {
|
|
81
|
+
throw new FileArgError(`No matching target file(s) for: ${missing.join(", ")}`);
|
|
82
|
+
}
|
|
83
|
+
// Extra targets are not an error — log at caller level if needed
|
|
84
|
+
return pairs.toSorted((a, b) => basename(a[0]).localeCompare(basename(b[0])));
|
|
85
|
+
}
|
|
86
|
+
/** Compound extensions that extname() cannot parse correctly. */
|
|
87
|
+
const COMPOUND_EXTS = [".jsonl.zst", ".jsonl.gz", ".tar.gz", ".tar.zst"];
|
|
88
|
+
/**
|
|
89
|
+
* Split filename into base and extension, handling compound extensions.
|
|
90
|
+
* Node's extname(".jsonl.zst") returns ".zst" — this handles the full ".jsonl.zst".
|
|
91
|
+
*/
|
|
92
|
+
function splitExtension(filename) {
|
|
93
|
+
for (const ce of COMPOUND_EXTS) {
|
|
94
|
+
if (filename.endsWith(ce))
|
|
95
|
+
return [filename.slice(0, -ce.length), ce];
|
|
96
|
+
}
|
|
97
|
+
const ext = extname(filename);
|
|
98
|
+
return [basename(filename, ext), ext];
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Compute output paths for a list of input files.
|
|
102
|
+
*
|
|
103
|
+
* Client owns all naming — no server-side filename dependency.
|
|
104
|
+
* Handles compound extensions (.jsonl.zst) and collision disambiguation.
|
|
105
|
+
*
|
|
106
|
+
* @param files - Resolved input file paths
|
|
107
|
+
* @param suffix - Output suffix (e.g. "_eng-spa", "_scored", "_annotated")
|
|
108
|
+
* @param outputDir - Output directory from -o flag (default: beside input file)
|
|
109
|
+
* @param extOverride - Override output extension (e.g. "jsonl.zst", "docx")
|
|
110
|
+
*/
|
|
111
|
+
export function resolveOutputPaths(files, suffix, outputDir, extOverride) {
|
|
112
|
+
if (outputDir) {
|
|
113
|
+
mkdirSync(resolve(outputDir), { recursive: true });
|
|
114
|
+
}
|
|
115
|
+
const paths = [];
|
|
116
|
+
const seen = new Map();
|
|
117
|
+
for (const filePath of files) {
|
|
118
|
+
const [inputBase, inputExt] = splitExtension(basename(filePath));
|
|
119
|
+
const dir = outputDir ? resolve(outputDir) : dirname(filePath);
|
|
120
|
+
const outExt = extOverride ? `.${extOverride}` : inputExt;
|
|
121
|
+
let targetPath = join(dir, `${inputBase}${suffix}${outExt}`);
|
|
122
|
+
// Disambiguate collisions
|
|
123
|
+
const count = seen.get(targetPath) ?? 0;
|
|
124
|
+
if (count > 0) {
|
|
125
|
+
const [tBase, tExt] = splitExtension(basename(targetPath));
|
|
126
|
+
targetPath = join(dirname(targetPath), `${tBase}_${count + 1}${tExt}`);
|
|
127
|
+
}
|
|
128
|
+
seen.set(targetPath, count + 1);
|
|
129
|
+
paths.push(targetPath);
|
|
130
|
+
}
|
|
131
|
+
return paths;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=file-args.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-args.js","sourceRoot":"","sources":["../../src/runtime/file-args.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,4 @@ export declare const RuntimePlatform: {
|
|
|
6
6
|
export type RuntimePlatform = (typeof RuntimePlatform)[keyof typeof RuntimePlatform];
|
|
7
7
|
export declare function getRuntimePlatform(): NodeJS.Platform;
|
|
8
8
|
export declare function isWindowsPlatform(platform?: NodeJS.Platform): boolean;
|
|
9
|
-
export declare function isMacOsPlatform(platform?: NodeJS.Platform): boolean;
|
|
10
|
-
export declare function isLinuxPlatform(platform?: NodeJS.Platform): boolean;
|
|
11
9
|
//# sourceMappingURL=platform.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/runtime/platform.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAErF,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,QAAQ,CAEpD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,OAAO,CAEvF
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/runtime/platform.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAErF,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,QAAQ,CAEpD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,OAAO,CAEvF"}
|
package/dist/runtime/platform.js
CHANGED
|
@@ -11,10 +11,4 @@ export function getRuntimePlatform() {
|
|
|
11
11
|
export function isWindowsPlatform(platform = process.platform) {
|
|
12
12
|
return platform === RuntimePlatform.WINDOWS;
|
|
13
13
|
}
|
|
14
|
-
export function isMacOsPlatform(platform = process.platform) {
|
|
15
|
-
return platform === RuntimePlatform.MACOS;
|
|
16
|
-
}
|
|
17
|
-
export function isLinuxPlatform(platform = process.platform) {
|
|
18
|
-
return platform === RuntimePlatform.LINUX;
|
|
19
|
-
}
|
|
20
14
|
//# sourceMappingURL=platform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/runtime/platform.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,iFAAiF;AAEjF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,OAAO;CACN,CAAC;AAIX,MAAM,UAAU,kBAAkB;IAChC,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAA4B,OAAO,CAAC,QAAQ;IAC5E,OAAO,QAAQ,KAAK,eAAe,CAAC,OAAO,CAAC;AAC9C,CAAC
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/runtime/platform.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,iFAAiF;AAEjF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,OAAO;CACN,CAAC;AAIX,MAAM,UAAU,kBAAkB;IAChC,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAA4B,OAAO,CAAC,QAAQ;IAC5E,OAAO,QAAQ,KAAK,eAAe,CAAC,OAAO,CAAC;AAC9C,CAAC"}
|
|
@@ -5,17 +5,6 @@
|
|
|
5
5
|
* Enter = save all + exit, Esc = discard + exit, Space/Left/Right = cycle values.
|
|
6
6
|
*/
|
|
7
7
|
import { type Component } from "@mariozechner/pi-tui";
|
|
8
|
-
interface DraftState {
|
|
9
|
-
original: Map<string, string>;
|
|
10
|
-
current: Map<string, string>;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Persist only changed values and run side-effects.
|
|
14
|
-
*
|
|
15
|
-
* Order: language change (while still authenticated) -> sync changes -> API URL side-effects.
|
|
16
|
-
* Progress: uses ProgressContext from AsyncLocalStorage (REPL → progress bar, standalone → ora).
|
|
17
|
-
*/
|
|
18
|
-
export declare function applyDraftChanges(draft: DraftState): Promise<void>;
|
|
19
8
|
export type SettingsInputInterceptor = (data: string) => {
|
|
20
9
|
consume: boolean;
|
|
21
10
|
} | undefined;
|
|
@@ -23,7 +12,7 @@ export type SettingsInputInterceptor = (data: string) => {
|
|
|
23
12
|
* Create a settings overlay component for use with tui.showOverlay().
|
|
24
13
|
* Returns container, focus target, and input interceptor for Enter/Left/Right/arrow tracking.
|
|
25
14
|
*/
|
|
26
|
-
export declare function createSettingsOverlay(onClose: () => void, onSave: (applyFn: () => Promise<void>) => void): {
|
|
15
|
+
export declare function createSettingsOverlay(onClose: () => void, onSave: (applyFn: () => Promise<void>) => void, requestRender?: () => void): {
|
|
27
16
|
container: Component;
|
|
28
17
|
focusTarget: Component;
|
|
29
18
|
inputInterceptor: SettingsInputInterceptor;
|
|
@@ -35,5 +24,4 @@ export declare function createSettingsOverlay(onClose: () => void, onSave: (appl
|
|
|
35
24
|
* Requires TTY (interactive terminal).
|
|
36
25
|
*/
|
|
37
26
|
export declare function runSettingsScreen(): Promise<void>;
|
|
38
|
-
export {};
|
|
39
27
|
//# sourceMappingURL=settings-screen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-screen.d.ts","sourceRoot":"","sources":["../../src/tui/settings-screen.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"settings-screen.d.ts","sourceRoot":"","sources":["../../src/tui/settings-screen.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAQL,KAAK,SAAS,EAGf,MAAM,sBAAsB,CAAC;AAkO9B,MAAM,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC;AAE1F;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,IAAI,EACnB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAC9C,aAAa,CAAC,EAAE,MAAM,IAAI,GACzB;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,SAAS,CAAC;IACvB,gBAAgB,EAAE,wBAAwB,CAAC;CAC5C,CAsDA;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0FjD"}
|