dbctx 1.0.3 → 1.3.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/dist/app/assemble.d.mts +5 -0
- package/dist/app/assemble.d.mts.map +1 -0
- package/dist/app/assemble.mjs +161 -0
- package/dist/app/config.d.mts +9 -0
- package/dist/app/config.d.mts.map +1 -0
- package/dist/app/config.mjs +49 -0
- package/dist/app/db.d.mts +9 -0
- package/dist/app/db.d.mts.map +1 -0
- package/dist/app/db.mjs +181 -0
- package/dist/app/detect.d.mts +11 -0
- package/dist/app/detect.d.mts.map +1 -0
- package/dist/app/detect.mjs +105 -0
- package/dist/app/index.d.mts +3 -0
- package/dist/app/index.d.mts.map +1 -0
- package/dist/app/index.mjs +81 -0
- package/dist/app/open-url.d.mts +4 -0
- package/dist/app/open-url.d.mts.map +1 -0
- package/dist/app/open-url.mjs +27 -0
- package/dist/app/session.d.mts +8 -0
- package/dist/app/session.d.mts.map +1 -0
- package/dist/app/session.mjs +155 -0
- package/dist/app/ssh.d.mts +3 -0
- package/dist/app/ssh.d.mts.map +1 -0
- package/dist/app/ssh.mjs +207 -0
- package/dist/db/analyze.d.mts +1 -1
- package/dist/db/analyze.d.mts.map +1 -1
- package/dist/db/analyze.mjs +1 -1
- package/dist/db/attributes.d.mts +3 -3
- package/dist/db/attributes.d.mts.map +1 -1
- package/dist/db/attributes.mjs +2 -2
- package/dist/db/enums.d.mts +1 -1
- package/dist/db/enums.d.mts.map +1 -1
- package/dist/db/enums.mjs +2 -2
- package/dist/db/file-stats.d.mts +1 -1
- package/dist/db/file-stats.d.mts.map +1 -1
- package/dist/db/file-stats.mjs +1 -1
- package/dist/db/foreign-keys.d.mts +2 -2
- package/dist/db/foreign-keys.d.mts.map +1 -1
- package/dist/db/foreign-keys.mjs +1 -1
- package/dist/db/index.d.mts +9 -9
- package/dist/db/index.d.mts.map +1 -1
- package/dist/db/index.mjs +10 -10
- package/dist/db/indexes.d.mts +1 -1
- package/dist/db/indexes.d.mts.map +1 -1
- package/dist/db/indexes.mjs +1 -1
- package/dist/db/relations.d.mts +2 -2
- package/dist/db/relations.d.mts.map +1 -1
- package/dist/db/relations.mjs +2 -2
- package/dist/db/stats.d.mts +1 -1
- package/dist/db/stats.d.mts.map +1 -1
- package/dist/db/stats.mjs +2 -2
- package/dist/db/version.d.mts +2 -1
- package/dist/db/version.d.mts.map +1 -1
- package/dist/db/version.mjs +9 -1
- package/dist/index.d.mts +4 -3
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +105 -51
- package/dist/lib/trpc-url.d.mts +2 -0
- package/dist/lib/trpc-url.d.mts.map +1 -0
- package/dist/lib/trpc-url.mjs +6 -0
- package/dist/lib/trpc.d.mts +7 -0
- package/dist/lib/trpc.d.mts.map +1 -0
- package/dist/lib/trpc.mjs +37 -0
- package/dist/lib/trpc.react.d.mts +4 -0
- package/dist/lib/trpc.react.d.mts.map +1 -0
- package/dist/lib/trpc.react.mjs +3 -0
- package/dist/lib/version.d.mts +2 -0
- package/dist/lib/version.d.mts.map +1 -0
- package/dist/lib/version.mjs +5 -0
- package/dist/providers/TrpcProvider.d.ts +9 -0
- package/dist/providers/TrpcProvider.d.ts.map +1 -0
- package/dist/providers/TrpcProvider.js +41 -0
- package/dist/schemas/index.d.mts +106 -1
- package/dist/schemas/index.d.mts.map +1 -1
- package/dist/schemas/index.mjs +27 -2
- package/dist/store.d.mts +64 -0
- package/dist/store.d.mts.map +1 -0
- package/dist/store.mjs +68 -0
- package/dist/{App.d.ts → types/connection.d.mts} +3 -9
- package/dist/types/connection.d.mts.map +1 -0
- package/dist/types/connection.mjs +2 -0
- package/dist/ui/App.d.ts +10 -0
- package/dist/ui/App.d.ts.map +1 -0
- package/dist/ui/App.js +13 -0
- package/dist/ui/components/DB.d.ts +10 -0
- package/dist/ui/components/DB.d.ts.map +1 -0
- package/dist/ui/components/DB.js +22 -0
- package/dist/{components → ui/components}/Error.d.ts +1 -1
- package/dist/ui/components/Error.d.ts.map +1 -0
- package/dist/ui/components/Error.js +6 -0
- package/dist/ui/components/Gate.d.ts +10 -0
- package/dist/ui/components/Gate.d.ts.map +1 -0
- package/dist/ui/components/Gate.js +15 -0
- package/dist/ui/components/Introspect.d.ts +10 -0
- package/dist/ui/components/Introspect.d.ts.map +1 -0
- package/dist/ui/components/Introspect.js +66 -0
- package/dist/ui/components/PasswordInput.d.ts +7 -0
- package/dist/ui/components/PasswordInput.d.ts.map +1 -0
- package/dist/ui/components/PasswordInput.js +32 -0
- package/dist/ui/components/SSH.d.ts +10 -0
- package/dist/ui/components/SSH.d.ts.map +1 -0
- package/dist/ui/components/SSH.js +22 -0
- package/dist/ui/components/Session.d.ts +10 -0
- package/dist/ui/components/Session.d.ts.map +1 -0
- package/dist/ui/components/Session.js +47 -0
- package/dist/ui/components/Spinner.d.ts +3 -0
- package/dist/ui/components/Spinner.d.ts.map +1 -0
- package/dist/ui/components/Spinner.js +18 -0
- package/dist/ui/components/Splash.d.ts +3 -0
- package/dist/ui/components/Splash.d.ts.map +1 -0
- package/dist/ui/components/Splash.js +13 -0
- package/dist/validatePaths.d.mts +1 -1
- package/dist/validatePaths.d.mts.map +1 -1
- package/dist/validatePaths.mjs +17 -11
- package/package.json +22 -2
- package/dist/App.d.ts.map +0 -1
- package/dist/App.js +0 -9
- package/dist/components/Error.d.ts.map +0 -1
- package/dist/components/Error.js +0 -6
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { useState, useEffect } from 'react';
|
|
4
|
+
import { observer } from 'mobx-react-lite';
|
|
5
|
+
import { Spinner } from './Spinner.js';
|
|
6
|
+
const PHASE_TEXTS = [
|
|
7
|
+
'fetching tables / views',
|
|
8
|
+
'analyzing tables',
|
|
9
|
+
'fetching columns',
|
|
10
|
+
'fetching indexes',
|
|
11
|
+
'fetching foreign key references',
|
|
12
|
+
'fetching statistics',
|
|
13
|
+
'fetching enums',
|
|
14
|
+
];
|
|
15
|
+
const PHASE_INTERVAL = 1500;
|
|
16
|
+
const CountsLine = observer(({ store }) => {
|
|
17
|
+
const { counts } = store.steps.introspection;
|
|
18
|
+
const parts = [
|
|
19
|
+
counts.tables > 0 ? `${counts.tables} tables` : null,
|
|
20
|
+
counts.views > 0 ? `${counts.views} views` : null,
|
|
21
|
+
counts.analyzed > 0 ? `${counts.analyzed} analyzed` : null,
|
|
22
|
+
counts.columns > 0 ? `${counts.columns} columns` : null,
|
|
23
|
+
counts.indexes > 0 ? `${counts.indexes} indexes` : null,
|
|
24
|
+
counts.foreignKeys > 0 ? `${counts.foreignKeys} fk refs` : null,
|
|
25
|
+
counts.enums > 0 ? `${counts.enums} enums` : null,
|
|
26
|
+
].filter(Boolean);
|
|
27
|
+
if (parts.length === 0) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return (_jsxs(Box, { children: [_jsx(Text, { children: ' ' }), _jsx(Text, { color: "gray", children: parts.join(' · ') })] }));
|
|
31
|
+
});
|
|
32
|
+
export const Introspect = observer(({ store }) => {
|
|
33
|
+
const intro = store.steps.introspection;
|
|
34
|
+
const [phase, setPhase] = useState(0);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
if (intro.state !== 'fetching') {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const phaseId = setInterval(() => {
|
|
40
|
+
setPhase((prev) => (prev + 1) % PHASE_TEXTS.length);
|
|
41
|
+
}, PHASE_INTERVAL);
|
|
42
|
+
return () => {
|
|
43
|
+
clearInterval(phaseId);
|
|
44
|
+
};
|
|
45
|
+
}, [intro.state]);
|
|
46
|
+
if (intro.state === 'idle') {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
if (intro.state === 'error') {
|
|
50
|
+
return (_jsxs(Box, { children: [_jsx(Text, { color: "red", children: "\u25CF" }), _jsx(Text, { children: " " }), _jsxs(Text, { color: "red", children: ["Error: ", intro.error] })] }));
|
|
51
|
+
}
|
|
52
|
+
if (intro.state === 'done') {
|
|
53
|
+
const { counts } = intro;
|
|
54
|
+
const parts = [
|
|
55
|
+
counts.tables > 0 ? `${counts.tables} tables` : null,
|
|
56
|
+
counts.views > 0 ? `${counts.views} views` : null,
|
|
57
|
+
counts.columns > 0 ? `${counts.columns} columns` : null,
|
|
58
|
+
counts.indexes > 0 ? `${counts.indexes} indexes` : null,
|
|
59
|
+
counts.foreignKeys > 0 ? `${counts.foreignKeys} fk refs` : null,
|
|
60
|
+
counts.enums > 0 ? `${counts.enums} enums` : null,
|
|
61
|
+
].filter(Boolean);
|
|
62
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: "green", children: "\u25CF" }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "INTROSPECTION: " }), _jsxs(Text, { color: "green", children: ["introspected ", parts.join(' · ')] })] }), intro.fileStatsSkipped ? (_jsxs(Box, { children: [_jsx(Text, { children: ' ' }), _jsx(Text, { color: "gray", children: "file stats skipped (insufficient privileges)" })] })) : null] }));
|
|
63
|
+
}
|
|
64
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Spinner, {}), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "INTROSPECTION: " }), _jsxs(Text, { children: [PHASE_TEXTS[phase], "..."] })] }), _jsx(CountsLine, { store: store })] }));
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50cm9zcGVjdC5qcyIsInNvdXJjZVJvb3QiOiIuL3NyYy8iLCJzb3VyY2VzIjpbInVpL2NvbXBvbmVudHMvSW50cm9zcGVjdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFDLE1BQU0sS0FBSyxDQUFDO0FBRTlCLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLE1BQU0sT0FBTyxDQUFDO0FBQzFDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRXJDLE1BQU0sV0FBVyxHQUFHO0lBQ2hCLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixpQ0FBaUM7SUFDakMscUJBQXFCO0lBQ3JCLGdCQUFnQjtDQUNWLENBQUM7QUFFWCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUM7QUFNNUIsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQW1CLEVBQWEsRUFBRTtJQUNqRSxNQUFNLEVBQUMsTUFBTSxFQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFDM0MsTUFBTSxLQUFLLEdBQUc7UUFDVixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDcEQsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ2pELE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUMxRCxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDdkQsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ3ZELE1BQU0sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxXQUFXLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUMvRCxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUk7S0FDcEQsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbEIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLENBQ0gsTUFBQyxHQUFHLGVBQ0EsS0FBQyxJQUFJLGNBQUUsSUFBSSxHQUFRLEVBQ25CLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBQyxNQUFNLFlBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBUSxJQUMzQyxDQUNULENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBbUIsRUFBYSxFQUFFO0lBQ3hFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBQ3hDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXRDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDWCxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDN0IsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQzdCLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUVuQixPQUFPLEdBQUcsRUFBRTtZQUNSLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUM7SUFDTixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUVsQixJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUMxQixPQUFPLENBQ0gsTUFBQyxHQUFHLGVBQ0EsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFDLEtBQUssdUJBQVMsRUFDMUIsS0FBQyxJQUFJLG9CQUFTLEVBQ2QsTUFBQyxJQUFJLElBQUMsS0FBSyxFQUFDLEtBQUssd0JBQVMsS0FBSyxDQUFDLEtBQUssSUFBUSxJQUMzQyxDQUNULENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxLQUFLLENBQUM7UUFDdkIsTUFBTSxLQUFLLEdBQUc7WUFDVixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDcEQsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ2pELE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUN2RCxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDdkQsTUFBTSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLFdBQVcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQy9ELE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUNwRCxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVsQixPQUFPLENBQ0gsTUFBQyxHQUFHLElBQUMsYUFBYSxFQUFDLFFBQVEsYUFDdkIsTUFBQyxHQUFHLGVBQ0EsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFDLE9BQU8sdUJBQVMsRUFDNUIsS0FBQyxJQUFJLG9CQUFTLEVBQ2QsS0FBQyxJQUFJLElBQUMsSUFBSSxzQ0FBdUIsRUFDakMsTUFBQyxJQUFJLElBQUMsS0FBSyxFQUFDLE9BQU8sOEJBQWUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBUSxJQUN6RCxFQUNMLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FDdEIsTUFBQyxHQUFHLGVBQ0EsS0FBQyxJQUFJLGNBQUUsSUFBSSxHQUFRLEVBQ25CLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBQyxNQUFNLDZEQUVYLElBQ0wsQ0FDVCxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQ04sQ0FDVCxDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU8sQ0FDSCxNQUFDLEdBQUcsSUFBQyxhQUFhLEVBQUMsUUFBUSxhQUN2QixNQUFDLEdBQUcsZUFDQSxLQUFDLE9BQU8sS0FBRyxFQUNYLEtBQUMsSUFBSSxvQkFBUyxFQUNkLEtBQUMsSUFBSSxJQUFDLElBQUksc0NBQXVCLEVBQ2pDLE1BQUMsSUFBSSxlQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUNsQyxFQUNOLEtBQUMsVUFBVSxJQUFDLEtBQUssRUFBRSxLQUFLLEdBQUksSUFDMUIsQ0FDVCxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JveCwgVGV4dH0gZnJvbSAnaW5rJztcbmltcG9ydCB0eXBlIHtSZWFjdE5vZGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7dXNlU3RhdGUsIHVzZUVmZmVjdH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtvYnNlcnZlcn0gZnJvbSAnbW9ieC1yZWFjdC1saXRlJztcbmltcG9ydCB0eXBlIHtUU3RvcmV9IGZyb20gJy4uLy4uL3N0b3JlLm1qcyc7XG5pbXBvcnQge1NwaW5uZXJ9IGZyb20gJy4vU3Bpbm5lci5qcyc7XG5cbmNvbnN0IFBIQVNFX1RFWFRTID0gW1xuICAgICdmZXRjaGluZyB0YWJsZXMgLyB2aWV3cycsXG4gICAgJ2FuYWx5emluZyB0YWJsZXMnLFxuICAgICdmZXRjaGluZyBjb2x1bW5zJyxcbiAgICAnZmV0Y2hpbmcgaW5kZXhlcycsXG4gICAgJ2ZldGNoaW5nIGZvcmVpZ24ga2V5IHJlZmVyZW5jZXMnLFxuICAgICdmZXRjaGluZyBzdGF0aXN0aWNzJyxcbiAgICAnZmV0Y2hpbmcgZW51bXMnLFxuXSBhcyBjb25zdDtcblxuY29uc3QgUEhBU0VfSU5URVJWQUwgPSAxNTAwO1xuXG50eXBlIFRJbnRyb3NwZWN0UHJvcHMgPSB7XG4gICAgcmVhZG9ubHkgc3RvcmU6IFRTdG9yZTtcbn07XG5cbmNvbnN0IENvdW50c0xpbmUgPSBvYnNlcnZlcigoe3N0b3JlfTogVEludHJvc3BlY3RQcm9wcyk6IFJlYWN0Tm9kZSA9PiB7XG4gICAgY29uc3Qge2NvdW50c30gPSBzdG9yZS5zdGVwcy5pbnRyb3NwZWN0aW9uO1xuICAgIGNvbnN0IHBhcnRzID0gW1xuICAgICAgICBjb3VudHMudGFibGVzID4gMCA/IGAke2NvdW50cy50YWJsZXN9IHRhYmxlc2AgOiBudWxsLFxuICAgICAgICBjb3VudHMudmlld3MgPiAwID8gYCR7Y291bnRzLnZpZXdzfSB2aWV3c2AgOiBudWxsLFxuICAgICAgICBjb3VudHMuYW5hbHl6ZWQgPiAwID8gYCR7Y291bnRzLmFuYWx5emVkfSBhbmFseXplZGAgOiBudWxsLFxuICAgICAgICBjb3VudHMuY29sdW1ucyA+IDAgPyBgJHtjb3VudHMuY29sdW1uc30gY29sdW1uc2AgOiBudWxsLFxuICAgICAgICBjb3VudHMuaW5kZXhlcyA+IDAgPyBgJHtjb3VudHMuaW5kZXhlc30gaW5kZXhlc2AgOiBudWxsLFxuICAgICAgICBjb3VudHMuZm9yZWlnbktleXMgPiAwID8gYCR7Y291bnRzLmZvcmVpZ25LZXlzfSBmayByZWZzYCA6IG51bGwsXG4gICAgICAgIGNvdW50cy5lbnVtcyA+IDAgPyBgJHtjb3VudHMuZW51bXN9IGVudW1zYCA6IG51bGwsXG4gICAgXS5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICBpZiAocGFydHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAgIDxCb3g+XG4gICAgICAgICAgICA8VGV4dD57JyAgJ308L1RleHQ+XG4gICAgICAgICAgICA8VGV4dCBjb2xvcj1cImdyYXlcIj57cGFydHMuam9pbignIMK3ICcpfTwvVGV4dD5cbiAgICAgICAgPC9Cb3g+XG4gICAgKTtcbn0pO1xuXG5leHBvcnQgY29uc3QgSW50cm9zcGVjdCA9IG9ic2VydmVyKCh7c3RvcmV9OiBUSW50cm9zcGVjdFByb3BzKTogUmVhY3ROb2RlID0+IHtcbiAgICBjb25zdCBpbnRybyA9IHN0b3JlLnN0ZXBzLmludHJvc3BlY3Rpb247XG4gICAgY29uc3QgW3BoYXNlLCBzZXRQaGFzZV0gPSB1c2VTdGF0ZSgwKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChpbnRyby5zdGF0ZSAhPT0gJ2ZldGNoaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGhhc2VJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIHNldFBoYXNlKChwcmV2KSA9PiAocHJldiArIDEpICUgUEhBU0VfVEVYVFMubGVuZ3RoKTtcbiAgICAgICAgfSwgUEhBU0VfSU5URVJWQUwpO1xuXG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHBoYXNlSWQpO1xuICAgICAgICB9O1xuICAgIH0sIFtpbnRyby5zdGF0ZV0pO1xuXG4gICAgaWYgKGludHJvLnN0YXRlID09PSAnaWRsZScpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGludHJvLnN0YXRlID09PSAnZXJyb3InKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8Qm94PlxuICAgICAgICAgICAgICAgIDxUZXh0IGNvbG9yPVwicmVkXCI+4pePPC9UZXh0PlxuICAgICAgICAgICAgICAgIDxUZXh0PiA8L1RleHQ+XG4gICAgICAgICAgICAgICAgPFRleHQgY29sb3I9XCJyZWRcIj5FcnJvcjoge2ludHJvLmVycm9yfTwvVGV4dD5cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChpbnRyby5zdGF0ZSA9PT0gJ2RvbmUnKSB7XG4gICAgICAgIGNvbnN0IHtjb3VudHN9ID0gaW50cm87XG4gICAgICAgIGNvbnN0IHBhcnRzID0gW1xuICAgICAgICAgICAgY291bnRzLnRhYmxlcyA+IDAgPyBgJHtjb3VudHMudGFibGVzfSB0YWJsZXNgIDogbnVsbCxcbiAgICAgICAgICAgIGNvdW50cy52aWV3cyA+IDAgPyBgJHtjb3VudHMudmlld3N9IHZpZXdzYCA6IG51bGwsXG4gICAgICAgICAgICBjb3VudHMuY29sdW1ucyA+IDAgPyBgJHtjb3VudHMuY29sdW1uc30gY29sdW1uc2AgOiBudWxsLFxuICAgICAgICAgICAgY291bnRzLmluZGV4ZXMgPiAwID8gYCR7Y291bnRzLmluZGV4ZXN9IGluZGV4ZXNgIDogbnVsbCxcbiAgICAgICAgICAgIGNvdW50cy5mb3JlaWduS2V5cyA+IDAgPyBgJHtjb3VudHMuZm9yZWlnbktleXN9IGZrIHJlZnNgIDogbnVsbCxcbiAgICAgICAgICAgIGNvdW50cy5lbnVtcyA+IDAgPyBgJHtjb3VudHMuZW51bXN9IGVudW1zYCA6IG51bGwsXG4gICAgICAgIF0uZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICA8Qm94PlxuICAgICAgICAgICAgICAgICAgICA8VGV4dCBjb2xvcj1cImdyZWVuXCI+4pePPC9UZXh0PlxuICAgICAgICAgICAgICAgICAgICA8VGV4dD4gPC9UZXh0PlxuICAgICAgICAgICAgICAgICAgICA8VGV4dCBib2xkPklOVFJPU1BFQ1RJT046IDwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgPFRleHQgY29sb3I9XCJncmVlblwiPmludHJvc3BlY3RlZCB7cGFydHMuam9pbignIMK3ICcpfTwvVGV4dD5cbiAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICB7aW50cm8uZmlsZVN0YXRzU2tpcHBlZCA/IChcbiAgICAgICAgICAgICAgICAgICAgPEJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0PnsnICAnfTwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0IGNvbG9yPVwiZ3JheVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUgc3RhdHMgc2tpcHBlZCAoaW5zdWZmaWNpZW50IHByaXZpbGVnZXMpXG4gICAgICAgICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCI+XG4gICAgICAgICAgICA8Qm94PlxuICAgICAgICAgICAgICAgIDxTcGlubmVyIC8+XG4gICAgICAgICAgICAgICAgPFRleHQ+IDwvVGV4dD5cbiAgICAgICAgICAgICAgICA8VGV4dCBib2xkPklOVFJPU1BFQ1RJT046IDwvVGV4dD5cbiAgICAgICAgICAgICAgICA8VGV4dD57UEhBU0VfVEVYVFNbcGhhc2VdfS4uLjwvVGV4dD5cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgPENvdW50c0xpbmUgc3RvcmU9e3N0b3JlfSAvPlxuICAgICAgICA8L0JveD5cbiAgICApO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
type TPasswordInputProps = {
|
|
3
|
+
readonly onSubmit: (value: string) => void;
|
|
4
|
+
};
|
|
5
|
+
export declare const PasswordInput: ({ onSubmit }: TPasswordInputProps) => ReactNode;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=PasswordInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasswordInput.d.ts","sourceRoot":"./src/","sources":["ui/components/PasswordInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAKrC,KAAK,mBAAmB,GAAG;IACvB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,cAAY,mBAAmB,KAAG,SAsC/D,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Text, useInput } from 'ink';
|
|
3
|
+
import { useState, useEffect } from 'react';
|
|
4
|
+
const CURSOR_INTERVAL = 500;
|
|
5
|
+
export const PasswordInput = ({ onSubmit }) => {
|
|
6
|
+
const [value, setValue] = useState('');
|
|
7
|
+
const [cursorVisible, setCursorVisible] = useState(true);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
const id = setInterval(() => {
|
|
10
|
+
setCursorVisible((prev) => !prev);
|
|
11
|
+
}, CURSOR_INTERVAL);
|
|
12
|
+
return () => {
|
|
13
|
+
clearInterval(id);
|
|
14
|
+
};
|
|
15
|
+
}, []);
|
|
16
|
+
useInput((input, key) => {
|
|
17
|
+
if (key.return) {
|
|
18
|
+
onSubmit(value);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (key.backspace || key.delete) {
|
|
22
|
+
setValue((prev) => prev.slice(0, -1));
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (key.ctrl || key.meta || key.escape || key.tab) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
setValue((prev) => prev + input);
|
|
29
|
+
});
|
|
30
|
+
return (_jsxs(Text, { children: ['*'.repeat(value.length), cursorVisible ? '█' : ' '] }));
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFzc3dvcmRJbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIuL3NyYy8iLCJzb3VyY2VzIjpbInVpL2NvbXBvbmVudHMvUGFzc3dvcmRJbnB1dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFDLE1BQU0sS0FBSyxDQUFDO0FBRW5DLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLE1BQU0sT0FBTyxDQUFDO0FBRTFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQztBQU01QixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxFQUFDLFFBQVEsRUFBc0IsRUFBYSxFQUFFO0lBQ3hFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNYLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDeEIsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRXBCLE9BQU8sR0FBRyxFQUFFO1lBQ1IsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQztJQUNOLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNwQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNiLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksR0FBRyxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUIsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEMsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNoRCxPQUFPO1FBQ1gsQ0FBQztRQUVELFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUNILE1BQUMsSUFBSSxlQUNBLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUN4QixhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUN2QixDQUNWLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RleHQsIHVzZUlucHV0fSBmcm9tICdpbmsnO1xuaW1wb3J0IHR5cGUge1JlYWN0Tm9kZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHt1c2VTdGF0ZSwgdXNlRWZmZWN0fSBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IENVUlNPUl9JTlRFUlZBTCA9IDUwMDtcblxudHlwZSBUUGFzc3dvcmRJbnB1dFByb3BzID0ge1xuICAgIHJlYWRvbmx5IG9uU3VibWl0OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCBQYXNzd29yZElucHV0ID0gKHtvblN1Ym1pdH06IFRQYXNzd29yZElucHV0UHJvcHMpOiBSZWFjdE5vZGUgPT4ge1xuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGUoJycpO1xuICAgIGNvbnN0IFtjdXJzb3JWaXNpYmxlLCBzZXRDdXJzb3JWaXNpYmxlXSA9IHVzZVN0YXRlKHRydWUpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICBzZXRDdXJzb3JWaXNpYmxlKChwcmV2KSA9PiAhcHJldik7XG4gICAgICAgIH0sIENVUlNPUl9JTlRFUlZBTCk7XG5cbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaWQpO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcblxuICAgIHVzZUlucHV0KChpbnB1dCwga2V5KSA9PiB7XG4gICAgICAgIGlmIChrZXkucmV0dXJuKSB7XG4gICAgICAgICAgICBvblN1Ym1pdCh2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoa2V5LmJhY2tzcGFjZSB8fCBrZXkuZGVsZXRlKSB7XG4gICAgICAgICAgICBzZXRWYWx1ZSgocHJldikgPT4gcHJldi5zbGljZSgwLCAtMSkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGtleS5jdHJsIHx8IGtleS5tZXRhIHx8IGtleS5lc2NhcGUgfHwga2V5LnRhYikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VmFsdWUoKHByZXYpID0+IHByZXYgKyBpbnB1dCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgIHsnKicucmVwZWF0KHZhbHVlLmxlbmd0aCl9XG4gICAgICAgICAgICB7Y3Vyc29yVmlzaWJsZSA/ICfilognIDogJyAnfVxuICAgICAgICA8L1RleHQ+XG4gICAgKTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { TStore } from '../../store.mjs';
|
|
3
|
+
type TSSHProps = {
|
|
4
|
+
store: TStore;
|
|
5
|
+
};
|
|
6
|
+
export declare const SSH: (({ store }: TSSHProps) => ReactNode) & {
|
|
7
|
+
displayName: string;
|
|
8
|
+
};
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=SSH.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SSH.d.ts","sourceRoot":"./src/","sources":["ui/components/SSH.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAGrC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAI5C,KAAK,SAAS,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,GAAG,eAAsB,SAAS,KAAG,SAAS;;CAqEzD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { observer } from 'mobx-react-lite';
|
|
4
|
+
import { runInAction } from 'mobx';
|
|
5
|
+
import { Spinner } from './Spinner.js';
|
|
6
|
+
import { PasswordInput } from './PasswordInput.js';
|
|
7
|
+
export const SSH = observer(({ store }) => {
|
|
8
|
+
const ssh = store.steps.sshConnection;
|
|
9
|
+
if (!ssh.enabled || ssh.state === 'idle') {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const portSuffix = ssh.pickedPort === 22 ? '' : `:${ssh.pickedPort}`;
|
|
13
|
+
const target = `${ssh.pickedUsername}@${ssh.pickedHostname}${portSuffix}`;
|
|
14
|
+
return (_jsxs(Box, { children: [ssh.state === 'connecting' ? (_jsx(Spinner, {})) : ssh.state === 'connected' ? (_jsx(Text, { color: "green", children: "\u25CF" })) : ssh.state === 'need-password' ? (_jsx(Text, { color: "gray", children: "\u25CF" })) : (_jsx(Text, { color: "red", children: "\u25CF" })), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "SSH: " }), ssh.state === 'connecting' ? (_jsxs(Text, { children: ["connecting to ", target] })) : ssh.state === 'need-password' ? (_jsxs(_Fragment, { children: [ssh.wrongAttempt ? (_jsx(Text, { color: "red", children: ssh.passwordPromptType === 'passphrase'
|
|
15
|
+
? 'Wrong passphrase. '
|
|
16
|
+
: 'Wrong password. ' })) : null, ssh.passwordPromptType === 'passphrase' ? (_jsxs(Text, { children: ["Enter passphrase for key", ' ', _jsx(Text, { color: "cyan", children: ssh.pickedKeyPath }), ': '] })) : (_jsxs(Text, { children: ["Enter password for", ' ', _jsx(Text, { color: "cyan", children: target }), ': '] })), _jsx(PasswordInput, { onSubmit: (value) => {
|
|
17
|
+
runInAction(() => {
|
|
18
|
+
store.steps.sshConnection.password = value;
|
|
19
|
+
});
|
|
20
|
+
} }, ssh.promptCount)] })) : ssh.state === 'connected' ? (_jsxs(Text, { color: "green", children: ["connected to ", target] })) : ssh.state === 'error' ? (_jsxs(Text, { color: "red", children: ["Error: ", ssh.error, " \u2014 ", target] })) : (_jsx(Text, { color: "red", children: "closed" }))] }));
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1NILmpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsidWkvY29tcG9uZW50cy9TU0gudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLEtBQUssQ0FBQztBQUU5QixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQU1qRCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQVksRUFBYSxFQUFFO0lBQzFELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBRXRDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3JFLE1BQU0sTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLGNBQWMsSUFBSSxHQUFHLENBQUMsY0FBYyxHQUFHLFVBQVUsRUFBRSxDQUFDO0lBRTFFLE9BQU8sQ0FDSCxNQUFDLEdBQUcsZUFDQyxHQUFHLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FDMUIsS0FBQyxPQUFPLEtBQUcsQ0FDZCxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDNUIsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFDLE9BQU8sdUJBQVMsQ0FDL0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQ2hDLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBQyxNQUFNLHVCQUFTLENBQzlCLENBQUMsQ0FBQyxDQUFDLENBQ0EsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFDLEtBQUssdUJBQVMsQ0FDN0IsRUFFRCxLQUFDLElBQUksb0JBQVMsRUFDZCxLQUFDLElBQUksSUFBQyxJQUFJLDRCQUFhLEVBRXRCLEdBQUcsQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUMxQixNQUFDLElBQUksaUNBQWdCLE1BQU0sSUFBUSxDQUN0QyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FDaEMsOEJBQ0ssR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FDaEIsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFDLEtBQUssWUFDWixHQUFHLENBQUMsa0JBQWtCLEtBQUssWUFBWTs0QkFDcEMsQ0FBQyxDQUFDLG9CQUFvQjs0QkFDdEIsQ0FBQyxDQUFDLGtCQUFrQixHQUNyQixDQUNWLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDUCxHQUFHLENBQUMsa0JBQWtCLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUN2QyxNQUFDLElBQUksMkNBQ3dCLEdBQUcsRUFDNUIsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFDLE1BQU0sWUFBRSxHQUFHLENBQUMsYUFBYSxHQUFRLEVBQzVDLElBQUksSUFDRixDQUNWLENBQUMsQ0FBQyxDQUFDLENBQ0EsTUFBQyxJQUFJLHFDQUNrQixHQUFHLEVBQ3RCLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBQyxNQUFNLFlBQUUsTUFBTSxHQUFRLEVBQ2pDLElBQUksSUFDRixDQUNWLEVBQ0QsS0FBQyxhQUFhLElBQ1YsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7NEJBQ2hCLFdBQVcsQ0FBQyxHQUFHLEVBQUU7Z0NBQ2IsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQzs0QkFDL0MsQ0FBQyxDQUFDLENBQUM7d0JBQ1AsQ0FBQyxJQUNJLEdBQUcsQ0FBQyxXQUFXLENBQ3RCLElBQ0gsQ0FDTixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDNUIsTUFBQyxJQUFJLElBQUMsS0FBSyxFQUFDLE9BQU8sOEJBQWUsTUFBTSxJQUFRLENBQ25ELENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUN4QixNQUFDLElBQUksSUFBQyxLQUFLLEVBQUMsS0FBSyx3QkFDTCxHQUFHLENBQUMsS0FBSyxjQUFLLE1BQU0sSUFDekIsQ0FDVixDQUFDLENBQUMsQ0FBQyxDQUNBLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBQyxLQUFLLHVCQUFjLENBQ2xDLElBQ0MsQ0FDVCxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JveCwgVGV4dH0gZnJvbSAnaW5rJztcbmltcG9ydCB0eXBlIHtSZWFjdE5vZGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7b2JzZXJ2ZXJ9IGZyb20gJ21vYngtcmVhY3QtbGl0ZSc7XG5pbXBvcnQge3J1bkluQWN0aW9ufSBmcm9tICdtb2J4JztcbmltcG9ydCB0eXBlIHtUU3RvcmV9IGZyb20gJy4uLy4uL3N0b3JlLm1qcyc7XG5pbXBvcnQge1NwaW5uZXJ9IGZyb20gJy4vU3Bpbm5lci5qcyc7XG5pbXBvcnQge1Bhc3N3b3JkSW5wdXR9IGZyb20gJy4vUGFzc3dvcmRJbnB1dC5qcyc7XG5cbnR5cGUgVFNTSFByb3BzID0ge1xuICAgIHN0b3JlOiBUU3RvcmU7XG59O1xuXG5leHBvcnQgY29uc3QgU1NIID0gb2JzZXJ2ZXIoKHtzdG9yZX06IFRTU0hQcm9wcyk6IFJlYWN0Tm9kZSA9PiB7XG4gICAgY29uc3Qgc3NoID0gc3RvcmUuc3RlcHMuc3NoQ29ubmVjdGlvbjtcblxuICAgIGlmICghc3NoLmVuYWJsZWQgfHwgc3NoLnN0YXRlID09PSAnaWRsZScpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgcG9ydFN1ZmZpeCA9IHNzaC5waWNrZWRQb3J0ID09PSAyMiA/ICcnIDogYDoke3NzaC5waWNrZWRQb3J0fWA7XG4gICAgY29uc3QgdGFyZ2V0ID0gYCR7c3NoLnBpY2tlZFVzZXJuYW1lfUAke3NzaC5waWNrZWRIb3N0bmFtZX0ke3BvcnRTdWZmaXh9YDtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxCb3g+XG4gICAgICAgICAgICB7c3NoLnN0YXRlID09PSAnY29ubmVjdGluZycgPyAoXG4gICAgICAgICAgICAgICAgPFNwaW5uZXIgLz5cbiAgICAgICAgICAgICkgOiBzc2guc3RhdGUgPT09ICdjb25uZWN0ZWQnID8gKFxuICAgICAgICAgICAgICAgIDxUZXh0IGNvbG9yPVwiZ3JlZW5cIj7il488L1RleHQ+XG4gICAgICAgICAgICApIDogc3NoLnN0YXRlID09PSAnbmVlZC1wYXNzd29yZCcgPyAoXG4gICAgICAgICAgICAgICAgPFRleHQgY29sb3I9XCJncmF5XCI+4pePPC9UZXh0PlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8VGV4dCBjb2xvcj1cInJlZFwiPuKXjzwvVGV4dD5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIDxUZXh0PiA8L1RleHQ+XG4gICAgICAgICAgICA8VGV4dCBib2xkPlNTSDogPC9UZXh0PlxuXG4gICAgICAgICAgICB7c3NoLnN0YXRlID09PSAnY29ubmVjdGluZycgPyAoXG4gICAgICAgICAgICAgICAgPFRleHQ+Y29ubmVjdGluZyB0byB7dGFyZ2V0fTwvVGV4dD5cbiAgICAgICAgICAgICkgOiBzc2guc3RhdGUgPT09ICduZWVkLXBhc3N3b3JkJyA/IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICB7c3NoLndyb25nQXR0ZW1wdCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0IGNvbG9yPVwicmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3NzaC5wYXNzd29yZFByb21wdFR5cGUgPT09ICdwYXNzcGhyYXNlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdXcm9uZyBwYXNzcGhyYXNlLiAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ1dyb25nIHBhc3N3b3JkLiAnfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAge3NzaC5wYXNzd29yZFByb21wdFR5cGUgPT09ICdwYXNzcGhyYXNlJyA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVyIHBhc3NwaHJhc2UgZm9yIGtleXsnICd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRleHQgY29sb3I9XCJjeWFuXCI+e3NzaC5waWNrZWRLZXlQYXRofTwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7JzogJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGVyIHBhc3N3b3JkIGZvcnsnICd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRleHQgY29sb3I9XCJjeWFuXCI+e3RhcmdldH08L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyc6ICd9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDxQYXNzd29yZElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBvblN1Ym1pdD17KHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuSW5BY3Rpb24oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZS5zdGVwcy5zc2hDb25uZWN0aW9uLnBhc3N3b3JkID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtzc2gucHJvbXB0Q291bnR9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApIDogc3NoLnN0YXRlID09PSAnY29ubmVjdGVkJyA/IChcbiAgICAgICAgICAgICAgICA8VGV4dCBjb2xvcj1cImdyZWVuXCI+Y29ubmVjdGVkIHRvIHt0YXJnZXR9PC9UZXh0PlxuICAgICAgICAgICAgKSA6IHNzaC5zdGF0ZSA9PT0gJ2Vycm9yJyA/IChcbiAgICAgICAgICAgICAgICA8VGV4dCBjb2xvcj1cInJlZFwiPlxuICAgICAgICAgICAgICAgICAgICBFcnJvcjoge3NzaC5lcnJvcn0g4oCUIHt0YXJnZXR9XG4gICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8VGV4dCBjb2xvcj1cInJlZFwiPmNsb3NlZDwvVGV4dD5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvQm94PlxuICAgICk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { TStore } from '../../store.mjs';
|
|
3
|
+
type TSessionProps = {
|
|
4
|
+
readonly store: TStore;
|
|
5
|
+
};
|
|
6
|
+
export declare const Account: (({ store }: TSessionProps) => ReactNode) & {
|
|
7
|
+
displayName: string;
|
|
8
|
+
};
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=Session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Session.d.ts","sourceRoot":"./src/","sources":["ui/components/Session.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAGrC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAI5C,KAAK,aAAa,GAAG;IACjB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B,CAAC;AAMF,eAAO,MAAM,OAAO,eAAsB,aAAa,KAAG,SAAS;;CA6GjE,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text, useInput } from 'ink';
|
|
3
|
+
import { useState, useEffect } from 'react';
|
|
4
|
+
import { observer } from 'mobx-react-lite';
|
|
5
|
+
import { openSessionURL, shouldOpenBrowser } from '../../app/open-url.mjs';
|
|
6
|
+
import { Spinner } from './Spinner.js';
|
|
7
|
+
const terminalLink = (url) => `${url}`;
|
|
8
|
+
const canOpen = shouldOpenBrowser();
|
|
9
|
+
export const Account = observer(({ store }) => {
|
|
10
|
+
const account = store.steps.account;
|
|
11
|
+
const [dotVisible, setDotVisible] = useState(true);
|
|
12
|
+
const [opened, setOpened] = useState(false);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
if (account.state !== 'waiting') {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const id = setInterval(() => {
|
|
18
|
+
setDotVisible((prev) => !prev);
|
|
19
|
+
}, 750);
|
|
20
|
+
return () => {
|
|
21
|
+
clearInterval(id);
|
|
22
|
+
};
|
|
23
|
+
}, [account.state]);
|
|
24
|
+
useInput((_input, key) => {
|
|
25
|
+
if (key.return && account.url) {
|
|
26
|
+
setOpened(true);
|
|
27
|
+
openSessionURL(account.url);
|
|
28
|
+
}
|
|
29
|
+
}, { isActive: account.state === 'waiting' && canOpen });
|
|
30
|
+
if (account.state === 'idle') {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
if (account.state === 'error') {
|
|
34
|
+
return (_jsxs(Box, { children: [_jsx(Text, { color: "red", children: "\u25CF" }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "ACCOUNT: " }), _jsx(Text, { color: "red", children: account.error })] }));
|
|
35
|
+
}
|
|
36
|
+
if (account.state === 'connected') {
|
|
37
|
+
return (_jsxs(Box, { children: [_jsx(Text, { color: "green", children: "\u25CF" }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "ACCOUNT: " }), _jsx(Text, { children: "connected to account " }), _jsx(Text, { bold: true, children: account.email })] }));
|
|
38
|
+
}
|
|
39
|
+
if (account.state === 'fetching-account') {
|
|
40
|
+
return (_jsxs(Box, { children: [_jsx(Spinner, {}), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "ACCOUNT: " }), _jsx(Text, { children: "connecting..." })] }));
|
|
41
|
+
}
|
|
42
|
+
if (account.state === 'waiting') {
|
|
43
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: "gray", children: dotVisible ? '●' : ' ' }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "ACCOUNT" })] }), _jsxs(Box, { borderStyle: "single", paddingX: 2, paddingY: 1, marginLeft: 1, borderDimColor: true, width: 92, flexDirection: "column", children: [_jsxs(Text, { bold: true, children: ["Login to your dbctx.io account", '\n'] }), _jsx(Text, { color: 'cyan', children: terminalLink(account.url) }), canOpen ? (_jsxs(Text, { color: "gray", children: ["Press Enter to ", opened ? 're-open' : 'open', " in browser"] })) : null, _jsx(Text, { children: '\n\n' }), _jsxs(Box, { children: [_jsx(Spinner, {}), _jsx(Text, { dimColor: true, children: " Waiting for login ..." })] })] })] }));
|
|
44
|
+
}
|
|
45
|
+
return (_jsxs(Box, { children: [_jsx(Spinner, {}), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "ACCOUNT: " }), _jsx(Text, { children: "creating..." })] }));
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIuL3NyYy8iLCJzb3VyY2VzIjpbInVpL2NvbXBvbmVudHMvU2Vzc2lvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBQyxNQUFNLEtBQUssQ0FBQztBQUV4QyxPQUFPLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLE9BQU8sQ0FBQztBQUMxQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFNckMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQVUsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFFdkQsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztBQUVwQyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQWdCLEVBQWEsRUFBRTtJQUNsRSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUNwQyxNQUFNLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxNQUFNLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU1QyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ1gsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlCLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUN4QixhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFD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QyxNQUFNLGdDQUNFLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLG1CQUV4QyxDQUNWLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDUixLQUFDLElBQUksY0FBRSxNQUFNLEdBQVEsRUFDckIsTUFBQyxHQUFHLGVBQ0EsS0FBQyxPQUFPLEtBQUcsRUFDWCxLQUFDLElBQUksSUFBQyxRQUFRLDZDQUE4QixJQUMxQyxJQUNKLElBQ0osQ0FDVCxDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU8sQ0FDSCxNQUFDLEdBQUcsZUFDQSxLQUFDLE9BQU8sS0FBRyxFQUNYLEtBQUMsSUFBSSxvQkFBUyxFQUNkLEtBQUMsSUFBSSxJQUFDLElBQUksZ0NBQWlCLEVBQzNCLEtBQUMsSUFBSSw4QkFBbUIsSUFDdEIsQ0FDVCxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JveCwgVGV4dCwgdXNlSW5wdXR9IGZyb20gJ2luayc7XG5pbXBvcnQgdHlwZSB7UmVhY3ROb2RlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge3VzZVN0YXRlLCB1c2VFZmZlY3R9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7b2JzZXJ2ZXJ9IGZyb20gJ21vYngtcmVhY3QtbGl0ZSc7XG5pbXBvcnQgdHlwZSB7VFN0b3JlfSBmcm9tICcuLi8uLi9zdG9yZS5tanMnO1xuaW1wb3J0IHtvcGVuU2Vzc2lvblVSTCwgc2hvdWxkT3BlbkJyb3dzZXJ9IGZyb20gJy4uLy4uL2FwcC9vcGVuLXVybC5tanMnO1xuaW1wb3J0IHtTcGlubmVyfSBmcm9tICcuL1NwaW5uZXIuanMnO1xuXG50eXBlIFRTZXNzaW9uUHJvcHMgPSB7XG4gICAgcmVhZG9ubHkgc3RvcmU6IFRTdG9yZTtcbn07XG5cbmNvbnN0IHRlcm1pbmFsTGluayA9ICh1cmw6IHN0cmluZyk6IHN0cmluZyA9PiBgJHt1cmx9YDtcblxuY29uc3QgY2FuT3BlbiA9IHNob3VsZE9wZW5Ccm93c2VyKCk7XG5cbmV4cG9ydCBjb25zdCBBY2NvdW50ID0gb2JzZXJ2ZXIoKHtzdG9yZX06IFRTZXNzaW9uUHJvcHMpOiBSZWFjdE5vZGUgPT4ge1xuICAgIGNvbnN0IGFjY291bnQgPSBzdG9yZS5zdGVwcy5hY2NvdW50O1xuICAgIGNvbnN0IFtkb3RWaXNpYmxlLCBzZXREb3RWaXNpYmxlXSA9IHVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFtvcGVuZWQsIHNldE9wZW5lZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoYWNjb3VudC5zdGF0ZSAhPT0gJ3dhaXRpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIHNldERvdFZpc2libGUoKHByZXYpID0+ICFwcmV2KTtcbiAgICAgICAgfSwgNzUwKTtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpZCk7XG4gICAgICAgIH07XG4gICAgfSwgW2FjY291bnQuc3RhdGVdKTtcblxuICAgIHVzZUlucHV0KFxuICAgICAgICAoX2lucHV0LCBrZXkpID0+IHtcbiAgICAgICAgICAgIGlmIChrZXkucmV0dXJuICYmIGFjY291bnQudXJsKSB7XG4gICAgICAgICAgICAgICAgc2V0T3BlbmVkKHRydWUpO1xuICAgICAgICAgICAgICAgIG9wZW5TZXNzaW9uVVJMKGFjY291bnQudXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge2lzQWN0aXZlOiBhY2NvdW50LnN0YXRlID09PSAnd2FpdGluZycgJiYgY2FuT3Blbn0sXG4gICAgKTtcblxuICAgIGlmIChhY2NvdW50LnN0YXRlID09PSAnaWRsZScpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGFjY291bnQuc3RhdGUgPT09ICdlcnJvcicpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxCb3g+XG4gICAgICAgICAgICAgICAgPFRleHQgY29sb3I9XCJyZWRcIj7il488L1RleHQ+XG4gICAgICAgICAgICAgICAgPFRleHQ+IDwvVGV4dD5cbiAgICAgICAgICAgICAgICA8VGV4dCBib2xkPkFDQ09VTlQ6IDwvVGV4dD5cbiAgICAgICAgICAgICAgICA8VGV4dCBjb2xvcj1cInJlZFwiPnthY2NvdW50LmVycm9yfTwvVGV4dD5cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChhY2NvdW50LnN0YXRlID09PSAnY29ubmVjdGVkJykge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEJveD5cbiAgICAgICAgICAgICAgICA8VGV4dCBjb2xvcj1cImdyZWVuXCI+4pePPC9UZXh0PlxuICAgICAgICAgICAgICAgIDxUZXh0PiA8L1RleHQ+XG4gICAgICAgICAgICAgICAgPFRleHQgYm9sZD5BQ0NPVU5UOiA8L1RleHQ+XG4gICAgICAgICAgICAgICAgPFRleHQ+Y29ubmVjdGVkIHRvIGFjY291bnQgPC9UZXh0PlxuICAgICAgICAgICAgICAgIDxUZXh0IGJvbGQ+e2FjY291bnQuZW1haWx9PC9UZXh0PlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGFjY291bnQuc3RhdGUgPT09ICdmZXRjaGluZy1hY2NvdW50Jykge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEJveD5cbiAgICAgICAgICAgICAgICA8U3Bpbm5lciAvPlxuICAgICAgICAgICAgICAgIDxUZXh0PiA8L1RleHQ+XG4gICAgICAgICAgICAgICAgPFRleHQgYm9sZD5BQ0NPVU5UOiA8L1RleHQ+XG4gICAgICAgICAgICAgICAgPFRleHQ+Y29ubmVjdGluZy4uLjwvVGV4dD5cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChhY2NvdW50LnN0YXRlID09PSAnd2FpdGluZycpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiPlxuICAgICAgICAgICAgICAgIDxCb3g+XG4gICAgICAgICAgICAgICAgICAgIDxUZXh0IGNvbG9yPVwiZ3JheVwiPntkb3RWaXNpYmxlID8gJ+KXjycgOiAnICd9PC9UZXh0PlxuICAgICAgICAgICAgICAgICAgICA8VGV4dD4gPC9UZXh0PlxuICAgICAgICAgICAgICAgICAgICA8VGV4dCBib2xkPkFDQ09VTlQ8L1RleHQ+XG4gICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgPEJveFxuICAgICAgICAgICAgICAgICAgICBib3JkZXJTdHlsZT1cInNpbmdsZVwiXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmdYPXsyfVxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nWT17MX1cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luTGVmdD17MX1cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyRGltQ29sb3JcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9ezkyfVxuICAgICAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxUZXh0IGJvbGQ+TG9naW4gdG8geW91ciBkYmN0eC5pbyBhY2NvdW50eydcXG4nfTwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgPFRleHQgY29sb3I9eydjeWFuJ30+e3Rlcm1pbmFsTGluayhhY2NvdW50LnVybCEpfTwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAge2Nhbk9wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8VGV4dCBjb2xvcj1cImdyYXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVzcyBFbnRlciB0byB7b3BlbmVkID8gJ3JlLW9wZW4nIDogJ29wZW4nfSBpblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgIDxUZXh0PnsnXFxuXFxuJ308L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgIDxCb3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3Bpbm5lciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFRleHQgZGltQ29sb3I+IFdhaXRpbmcgZm9yIGxvZ2luIC4uLjwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8Qm94PlxuICAgICAgICAgICAgPFNwaW5uZXIgLz5cbiAgICAgICAgICAgIDxUZXh0PiA8L1RleHQ+XG4gICAgICAgICAgICA8VGV4dCBib2xkPkFDQ09VTlQ6IDwvVGV4dD5cbiAgICAgICAgICAgIDxUZXh0PmNyZWF0aW5nLi4uPC9UZXh0PlxuICAgICAgICA8L0JveD5cbiAgICApO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spinner.d.ts","sourceRoot":"./src/","sources":["ui/components/Spinner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAOrC,eAAO,MAAM,OAAO,QAAO,SAc1B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Text } from 'ink';
|
|
3
|
+
import { useState, useEffect } from 'react';
|
|
4
|
+
const SPINNER_FRAMES = ['·', '✻', '✽', '✶', '\u2733\uFE0E', '✢'];
|
|
5
|
+
const SPINNER_INTERVAL = 200;
|
|
6
|
+
export const Spinner = () => {
|
|
7
|
+
const [frame, setFrame] = useState(0);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
const id = setInterval(() => {
|
|
10
|
+
setFrame((prev) => (prev + 1) % SPINNER_FRAMES.length);
|
|
11
|
+
}, SPINNER_INTERVAL);
|
|
12
|
+
return () => {
|
|
13
|
+
clearInterval(id);
|
|
14
|
+
};
|
|
15
|
+
}, []);
|
|
16
|
+
return _jsx(Text, { color: "cyan", children: SPINNER_FRAMES[frame] });
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3Bpbm5lci5qcyIsInNvdXJjZVJvb3QiOiIuL3NyYy8iLCJzb3VyY2VzIjpbInVpL2NvbXBvbmVudHMvU3Bpbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxLQUFLLENBQUM7QUFFekIsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxPQUFPLENBQUM7QUFFMUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLEdBQUcsQ0FBVSxDQUFDO0FBRTFFLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDO0FBRTdCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxHQUFjLEVBQUU7SUFDbkMsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFdEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNYLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDeEIsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFFckIsT0FBTyxHQUFHLEVBQUU7WUFDUixhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDO0lBQ04sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsT0FBTyxLQUFDLElBQUksSUFBQyxLQUFLLEVBQUMsTUFBTSxZQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBUSxDQUFDO0FBQzdELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGV4dH0gZnJvbSAnaW5rJztcbmltcG9ydCB0eXBlIHtSZWFjdE5vZGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7dXNlU3RhdGUsIHVzZUVmZmVjdH0gZnJvbSAncmVhY3QnO1xuXG5jb25zdCBTUElOTkVSX0ZSQU1FUyA9IFsnwrcnLCAn4py7JywgJ+KcvScsICfinLYnLCAnXFx1MjczM1xcdUZFMEUnLCAn4pyiJ10gYXMgY29uc3Q7XG5cbmNvbnN0IFNQSU5ORVJfSU5URVJWQUwgPSAyMDA7XG5cbmV4cG9ydCBjb25zdCBTcGlubmVyID0gKCk6IFJlYWN0Tm9kZSA9PiB7XG4gICAgY29uc3QgW2ZyYW1lLCBzZXRGcmFtZV0gPSB1c2VTdGF0ZSgwKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgc2V0RnJhbWUoKHByZXYpID0+IChwcmV2ICsgMSkgJSBTUElOTkVSX0ZSQU1FUy5sZW5ndGgpO1xuICAgICAgICB9LCBTUElOTkVSX0lOVEVSVkFMKTtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpZCk7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIDxUZXh0IGNvbG9yPVwiY3lhblwiPntTUElOTkVSX0ZSQU1FU1tmcmFtZV19PC9UZXh0Pjtcbn07XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Splash.d.ts","sourceRoot":"./src/","sources":["ui/components/Splash.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAIrC,eAAO,MAAM,MAAM,QAAO,SA4BzB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import dedent from 'dedent';
|
|
4
|
+
import { CLIENT_VERSION } from '../../lib/version.mjs';
|
|
5
|
+
export const Splash = () => {
|
|
6
|
+
return (_jsxs(Box, { flexDirection: 'row', marginY: 1, children: [_jsx(Box, { paddingX: 2, children: _jsx(Text, { children: dedent `
|
|
7
|
+
▛▀▖▛▀▖▞▀▖▀▛▘▌ ▌
|
|
8
|
+
▌ ▌▙▄▘▌ ▌ ▝▞
|
|
9
|
+
▌ ▌▌ ▌▌ ▖ ▌ ▞▝▖
|
|
10
|
+
▀▀ ▀▀ ▝▀ ▘ ▘ ▘
|
|
11
|
+
` }) }), _jsx(Box, { width: 42, alignItems: 'center', flexDirection: 'column', children: _jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsx(Text, { color: 'cyan', children: "dbctx.io" }), _jsx(Text, { dimColor: true, children: ` — v${CLIENT_VERSION}` })] }), _jsx(Text, { children: 'AI Enriched Database Docs for Humans & Coding Agents.' })] }) })] }));
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BsYXNoLmpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsidWkvY29tcG9uZW50cy9TcGxhc2gudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLEtBQUssQ0FBQztBQUU5QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxHQUFjLEVBQUU7SUFDbEMsT0FBTyxDQUNILE1BQUMsR0FBRyxJQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsYUFDakMsS0FBQyxHQUFHLElBQUMsUUFBUSxFQUFFLENBQUMsWUFDWixLQUFDLElBQUksY0FDQSxNQUFNLENBQUE7Ozs7O3FCQUtOLEdBQ0UsR0FDTCxFQUNOLEtBQUMsR0FBRyxJQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsUUFBUSxZQUN6RCxNQUFDLEdBQUcsSUFBQyxhQUFhLEVBQUUsUUFBUSxhQUN4QixNQUFDLElBQUksZUFDRCxLQUFDLElBQUksSUFBQyxLQUFLLEVBQUUsTUFBTSx5QkFBaUIsRUFDcEMsS0FBQyxJQUFJLElBQUMsUUFBUSxrQkFBRSxPQUFPLGNBQWMsRUFBRSxHQUFRLElBQzVDLEVBQ1AsS0FBQyxJQUFJLGNBRUcsdURBQXVELEdBRXhELElBQ0wsR0FDSixJQUNKLENBQ1QsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Qm94LCBUZXh0fSBmcm9tICdpbmsnO1xuaW1wb3J0IHR5cGUge1JlYWN0Tm9kZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGRlZGVudCBmcm9tICdkZWRlbnQnO1xuaW1wb3J0IHtDTElFTlRfVkVSU0lPTn0gZnJvbSAnLi4vLi4vbGliL3ZlcnNpb24ubWpzJztcblxuZXhwb3J0IGNvbnN0IFNwbGFzaCA9ICgpOiBSZWFjdE5vZGUgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj17J3Jvdyd9IG1hcmdpblk9ezF9PlxuICAgICAgICAgICAgPEJveCBwYWRkaW5nWD17Mn0+XG4gICAgICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICAgICAgIHtkZWRlbnRgXG4gICAgICAgICAgICAgICAgICAgICAgICDilpviloDilpbilpviloDilpbilp7iloDilpbiloDilpvilpjilowg4paMXG4gICAgICAgICAgICAgICAgICAgICAgICDilowg4paM4paZ4paE4paY4paMICAg4paMIOKWneKWnlxuICAgICAgICAgICAgICAgICAgICAgICAg4paMIOKWjOKWjCDilozilowg4paWIOKWjCDilp7ilp3ilpZcbiAgICAgICAgICAgICAgICAgICAgICAgIOKWgOKWgCDiloDiloAg4pad4paAICDilpgg4paYIOKWmFxuICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgPEJveCB3aWR0aD17NDJ9IGFsaWduSXRlbXM9eydjZW50ZXInfSBmbGV4RGlyZWN0aW9uPXsnY29sdW1uJ30+XG4gICAgICAgICAgICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPXsnY29sdW1uJ30+XG4gICAgICAgICAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFRleHQgY29sb3I9eydjeWFuJ30+ZGJjdHguaW88L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8VGV4dCBkaW1Db2xvcj57YCDigJQgdiR7Q0xJRU5UX1ZFUlNJT059YH08L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FJIEVucmljaGVkIERhdGFiYXNlIERvY3MgZm9yIEh1bWFucyAmIENvZGluZyBBZ2VudHMuJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgPC9Cb3g+XG4gICAgKTtcbn07XG4iXX0=
|
package/dist/validatePaths.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validatePaths.d.mts","sourceRoot":"./src/","sources":["validatePaths.mts"],"names":[],"mappings":"AAQA,KAAK,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"validatePaths.d.mts","sourceRoot":"./src/","sources":["validatePaths.mts"],"names":[],"mappings":"AAQA,KAAK,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,QAAQ,CAAC;AAEtE,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAwBF,eAAO,MAAM,mBAAmB,GAC5B,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,EAEjD,SAAS,CAAC,KACX;IACC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;CA0C1D,CAAC"}
|
package/dist/validatePaths.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { existsSync } from
|
|
2
|
-
import { homedir } from
|
|
3
|
-
import { resolve } from
|
|
4
|
-
const expandTilde = (path) => path.startsWith(
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { resolve } from 'node:path';
|
|
4
|
+
const expandTilde = (path) => path.startsWith('~/') || path === '~'
|
|
5
5
|
? path.replace(/^~/, homedir())
|
|
6
6
|
: path;
|
|
7
7
|
const normalizePath = (path) => resolve(expandTilde(path));
|
|
@@ -12,13 +12,18 @@ const validatePathExists = (path) => {
|
|
|
12
12
|
: { valid: false, error: `Path does not exist: ${path}` };
|
|
13
13
|
};
|
|
14
14
|
const PATH_OPTION_LABELS = {
|
|
15
|
-
sslcert:
|
|
16
|
-
sslkey:
|
|
17
|
-
sslrootcert:
|
|
18
|
-
|
|
15
|
+
sslcert: '--sslcert',
|
|
16
|
+
sslkey: '--sslkey',
|
|
17
|
+
sslrootcert: '--sslrootcert',
|
|
18
|
+
sshKey: '--ssh-key',
|
|
19
19
|
};
|
|
20
20
|
export const validatePathOptions = (options) => {
|
|
21
|
-
const pathKeys = [
|
|
21
|
+
const pathKeys = [
|
|
22
|
+
'sslcert',
|
|
23
|
+
'sslkey',
|
|
24
|
+
'sslrootcert',
|
|
25
|
+
'sshKey',
|
|
26
|
+
];
|
|
22
27
|
const results = pathKeys
|
|
23
28
|
.filter((key) => options[key] !== undefined)
|
|
24
29
|
.map((key) => {
|
|
@@ -41,8 +46,9 @@ export const validatePathOptions = (options) => {
|
|
|
41
46
|
.filter((r) => r.result.valid)
|
|
42
47
|
.reduce((acc, r) => ({
|
|
43
48
|
...acc,
|
|
44
|
-
[r.key]: r.result
|
|
49
|
+
[r.key]: r.result
|
|
50
|
+
.expandedPath,
|
|
45
51
|
}), {});
|
|
46
52
|
return { errors, expandedPaths };
|
|
47
53
|
};
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVQYXRocy5tanMiLCJzb3VyY2VSb290IjoiLi9zcmMvIiwic291cmNlcyI6WyJ2YWxpZGF0ZVBhdGhzLm10cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQ25DLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQztBQWNsQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQVksRUFBVSxFQUFFLENBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLEdBQUc7SUFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFFZixNQUFNLGFBQWEsR0FBRyxDQUFDLElBQVksRUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBRTNFLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxJQUFZLEVBQXlCLEVBQUU7SUFDL0QsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpDLE9BQU8sVUFBVSxDQUFDLFlBQVksQ0FBQztRQUMzQixDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBQztRQUM3QixDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsQ0FBQztBQUNoRSxDQUFDLENBQUM7QUFFRixNQUFNLGtCQUFrQixHQUFtQztJQUN2RCxPQUFPLEVBQUUsV0FBVztJQUNwQixNQUFNLEVBQUUsVUFBVTtJQUNsQixXQUFXLEVBQUUsZUFBZTtJQUM1QixNQUFNLEVBQUUsV0FBVztDQUN0QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FHL0IsT0FBVSxFQUlaLEVBQUU7SUFDQSxNQUFNLFFBQVEsR0FBcUI7UUFDL0IsU0FBUztRQUNULFFBQVE7UUFDUixhQUFhO1FBQ2IsUUFBUTtLQUNYLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBRyxRQUFRO1NBQ25CLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsQ0FBQztTQUMzQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNULE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQVcsQ0FBQztRQUNwQyxNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4QyxPQUFPO1lBQ0gsR0FBRztZQUNILElBQUk7WUFDSixNQUFNO1NBQ1QsQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUFDO0lBRVAsTUFBTSxNQUFNLEdBQUcsT0FBTztTQUNqQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDOUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1QsTUFBTSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDakMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO1FBQ1osS0FBSyxFQUFHLENBQUMsQ0FBQyxNQUF3QyxDQUFDLEtBQUs7S0FDM0QsQ0FBQyxDQUFDLENBQUM7SUFFUixNQUFNLGFBQWEsR0FBRyxPQUFPO1NBQ3hCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDN0IsTUFBTSxDQUNILENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNULEdBQUcsR0FBRztRQUNOLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFHLENBQUMsQ0FBQyxNQUE4QzthQUNyRCxZQUFZO0tBQ3BCLENBQUMsRUFDRixFQUE2QyxDQUNoRCxDQUFDO0lBRU4sT0FBTyxFQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2V4aXN0c1N5bmN9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHtob21lZGlyfSBmcm9tICdub2RlOm9zJztcbmltcG9ydCB7cmVzb2x2ZX0gZnJvbSAnbm9kZTpwYXRoJztcblxudHlwZSBUUGF0aFZhbGlkYXRpb25SZXN1bHQgPVxuICAgIHwge3ZhbGlkOiB0cnVlOyBleHBhbmRlZFBhdGg6IHN0cmluZ31cbiAgICB8IHt2YWxpZDogZmFsc2U7IGVycm9yOiBzdHJpbmd9O1xuXG50eXBlIFRQYXRoT3B0aW9uS2V5ID0gJ3NzbGNlcnQnIHwgJ3NzbGtleScgfCAnc3Nscm9vdGNlcnQnIHwgJ3NzaEtleSc7XG5cbmV4cG9ydCB0eXBlIFRQYXRoVmFsaWRhdGlvbkVycm9yID0ge1xuICAgIG9wdGlvbjogc3RyaW5nO1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBlcnJvcjogc3RyaW5nO1xufTtcblxuY29uc3QgZXhwYW5kVGlsZGUgPSAocGF0aDogc3RyaW5nKTogc3RyaW5nID0+XG4gICAgcGF0aC5zdGFydHNXaXRoKCd+LycpIHx8IHBhdGggPT09ICd+J1xuICAgICAgICA/IHBhdGgucmVwbGFjZSgvXn4vLCBob21lZGlyKCkpXG4gICAgICAgIDogcGF0aDtcblxuY29uc3Qgbm9ybWFsaXplUGF0aCA9IChwYXRoOiBzdHJpbmcpOiBzdHJpbmcgPT4gcmVzb2x2ZShleHBhbmRUaWxkZShwYXRoKSk7XG5cbmNvbnN0IHZhbGlkYXRlUGF0aEV4aXN0cyA9IChwYXRoOiBzdHJpbmcpOiBUUGF0aFZhbGlkYXRpb25SZXN1bHQgPT4ge1xuICAgIGNvbnN0IGV4cGFuZGVkUGF0aCA9IG5vcm1hbGl6ZVBhdGgocGF0aCk7XG5cbiAgICByZXR1cm4gZXhpc3RzU3luYyhleHBhbmRlZFBhdGgpXG4gICAgICAgID8ge3ZhbGlkOiB0cnVlLCBleHBhbmRlZFBhdGh9XG4gICAgICAgIDoge3ZhbGlkOiBmYWxzZSwgZXJyb3I6IGBQYXRoIGRvZXMgbm90IGV4aXN0OiAke3BhdGh9YH07XG59O1xuXG5jb25zdCBQQVRIX09QVElPTl9MQUJFTFM6IFJlY29yZDxUUGF0aE9wdGlvbktleSwgc3RyaW5nPiA9IHtcbiAgICBzc2xjZXJ0OiAnLS1zc2xjZXJ0JyxcbiAgICBzc2xrZXk6ICctLXNzbGtleScsXG4gICAgc3Nscm9vdGNlcnQ6ICctLXNzbHJvb3RjZXJ0JyxcbiAgICBzc2hLZXk6ICctLXNzaC1rZXknLFxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUGF0aE9wdGlvbnMgPSA8XG4gICAgVCBleHRlbmRzIFBhcnRpYWw8UmVjb3JkPFRQYXRoT3B0aW9uS2V5LCBzdHJpbmc+Pixcbj4oXG4gICAgb3B0aW9uczogVCxcbik6IHtcbiAgICBlcnJvcnM6IFRQYXRoVmFsaWRhdGlvbkVycm9yW107XG4gICAgZXhwYW5kZWRQYXRoczogUGFydGlhbDxSZWNvcmQ8VFBhdGhPcHRpb25LZXksIHN0cmluZz4+O1xufSA9PiB7XG4gICAgY29uc3QgcGF0aEtleXM6IFRQYXRoT3B0aW9uS2V5W10gPSBbXG4gICAgICAgICdzc2xjZXJ0JyxcbiAgICAgICAgJ3NzbGtleScsXG4gICAgICAgICdzc2xyb290Y2VydCcsXG4gICAgICAgICdzc2hLZXknLFxuICAgIF07XG5cbiAgICBjb25zdCByZXN1bHRzID0gcGF0aEtleXNcbiAgICAgICAgLmZpbHRlcigoa2V5KSA9PiBvcHRpb25zW2tleV0gIT09IHVuZGVmaW5lZClcbiAgICAgICAgLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gb3B0aW9uc1trZXldIGFzIHN0cmluZztcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHZhbGlkYXRlUGF0aEV4aXN0cyhwYXRoKTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcblxuICAgIGNvbnN0IGVycm9ycyA9IHJlc3VsdHNcbiAgICAgICAgLmZpbHRlcigocikgPT4gIXIucmVzdWx0LnZhbGlkKVxuICAgICAgICAubWFwKChyKSA9PiAoe1xuICAgICAgICAgICAgb3B0aW9uOiBQQVRIX09QVElPTl9MQUJFTFNbci5rZXldLFxuICAgICAgICAgICAgcGF0aDogci5wYXRoLFxuICAgICAgICAgICAgZXJyb3I6IChyLnJlc3VsdCBhcyB7dmFsaWQ6IGZhbHNlOyBlcnJvcjogc3RyaW5nfSkuZXJyb3IsXG4gICAgICAgIH0pKTtcblxuICAgIGNvbnN0IGV4cGFuZGVkUGF0aHMgPSByZXN1bHRzXG4gICAgICAgIC5maWx0ZXIoKHIpID0+IHIucmVzdWx0LnZhbGlkKVxuICAgICAgICAucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgcikgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgICAgICAgW3Iua2V5XTogKHIucmVzdWx0IGFzIHt2YWxpZDogdHJ1ZTsgZXhwYW5kZWRQYXRoOiBzdHJpbmd9KVxuICAgICAgICAgICAgICAgICAgICAuZXhwYW5kZWRQYXRoLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB7fSBhcyBQYXJ0aWFsPFJlY29yZDxUUGF0aE9wdGlvbktleSwgc3RyaW5nPj4sXG4gICAgICAgICk7XG5cbiAgICByZXR1cm4ge2Vycm9ycywgZXhwYW5kZWRQYXRoc307XG59O1xuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dbctx",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "dbctx CLI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.mjs",
|
|
@@ -14,12 +14,29 @@
|
|
|
14
14
|
"url": "https://airstate.dev"
|
|
15
15
|
},
|
|
16
16
|
"license": "UNLICENSED",
|
|
17
|
+
"imports": {
|
|
18
|
+
"#client/*": "./dist/*"
|
|
19
|
+
},
|
|
17
20
|
"dependencies": {
|
|
21
|
+
"@tanstack/react-query": "5.90.20",
|
|
22
|
+
"@trpc/client": "11.8.1",
|
|
23
|
+
"@trpc/react-query": "11.8.1",
|
|
24
|
+
"@trpc/server": "11.8.1",
|
|
18
25
|
"commander": "14.0.3",
|
|
26
|
+
"dedent": "1.7.1",
|
|
19
27
|
"es-toolkit": "1.44.0",
|
|
28
|
+
"eventsource": "4.1.0",
|
|
20
29
|
"ink": "6.6.0",
|
|
30
|
+
"mobx": "6.15.0",
|
|
31
|
+
"mobx-react-lite": "4.1.1",
|
|
32
|
+
"open": "11.0.0",
|
|
33
|
+
"p-queue": "8.0.1",
|
|
21
34
|
"pg": "8.18.0",
|
|
22
35
|
"react": "19.2.4",
|
|
36
|
+
"scope-utilities": "2.2.1",
|
|
37
|
+
"ssh-config": "5.0.4",
|
|
38
|
+
"ssh2": "1.17.0",
|
|
39
|
+
"uuidv7": "1.0.2",
|
|
23
40
|
"winston": "3.19.0",
|
|
24
41
|
"zod": "4.3.6"
|
|
25
42
|
},
|
|
@@ -27,9 +44,12 @@
|
|
|
27
44
|
"@types/node": "24.0.0",
|
|
28
45
|
"@types/pg": "8.16.0",
|
|
29
46
|
"@types/react": "19.2.10",
|
|
47
|
+
"@types/ssh2": "1.15.5",
|
|
30
48
|
"concurrently": "9.2.1",
|
|
31
49
|
"cross-env": "7.0.3",
|
|
32
|
-
"
|
|
50
|
+
"prettier": "3.8.1",
|
|
51
|
+
"typescript": "5.9.3",
|
|
52
|
+
"@dbctx/core": "1.0.5"
|
|
33
53
|
},
|
|
34
54
|
"volta": {
|
|
35
55
|
"node": "24.0.0"
|
package/dist/App.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"./src/","sources":["App.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GAAG;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,SAAS,GAAG;IACb,MAAM,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF,wBAAgB,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,GAAG,SAAS,CAmBpD"}
|
package/dist/App.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Text, Box } from "ink";
|
|
3
|
-
export function App({ config }) {
|
|
4
|
-
const connectionTarget = config.connectionString
|
|
5
|
-
? config.connectionString.replace(/:[^:@]+@/, ":***@") // mask password
|
|
6
|
-
: `${config.hostname}:${config.port}/${config.database}`;
|
|
7
|
-
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: "cyan", bold: true, children: "dbctx" }), _jsx(Text, { dimColor: true, children: " - AI generated docs from your application database" })] }), _jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "Connecting to: " }), _jsx(Text, { color: "yellow", children: connectionTarget })] })] }));
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwLmpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsiQXBwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUFLLENBQUM7QUF3QmhDLE1BQU0sVUFBVSxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQWE7SUFDckMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCO1FBQzVDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxnQkFBZ0I7UUFDdkUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUU3RCxPQUFPLENBQ0gsTUFBQyxHQUFHLElBQUMsYUFBYSxFQUFDLFFBQVEsRUFBQyxPQUFPLEVBQUUsQ0FBQyxhQUNsQyxNQUFDLEdBQUcsSUFBQyxZQUFZLEVBQUUsQ0FBQyxhQUNoQixLQUFDLElBQUksSUFBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLElBQUksNEJBRWhCLEVBQ1AsS0FBQyxJQUFJLElBQUMsUUFBUSwwRUFBMkQsSUFDdkUsRUFDTixNQUFDLEdBQUcsZUFDQSxLQUFDLElBQUksSUFBQyxRQUFRLHNDQUF1QixFQUNyQyxLQUFDLElBQUksSUFBQyxLQUFLLEVBQUMsUUFBUSxZQUFFLGdCQUFnQixHQUFRLElBQzVDLElBQ0osQ0FDVCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRleHQsIEJveCB9IGZyb20gXCJpbmtcIjtcbmltcG9ydCB0eXBlIHsgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IFRTU0xNb2RlIH0gZnJvbSBcIi4vaW5kZXgubWpzXCI7XG5cbmV4cG9ydCB0eXBlIFRDb25uZWN0aW9uQ29uZmlnID0ge1xuICAgIGNvbm5lY3Rpb25TdHJpbmc/OiBzdHJpbmc7XG4gICAgaG9zdG5hbWU/OiBzdHJpbmc7XG4gICAgcG9ydD86IG51bWJlcjtcbiAgICBkYXRhYmFzZT86IHN0cmluZztcbiAgICB1c2VybmFtZT86IHN0cmluZztcbiAgICBzc2xtb2RlPzogVFNTTE1vZGU7XG4gICAgc3NsY2VydD86IHN0cmluZztcbiAgICBzc2xrZXk/OiBzdHJpbmc7XG4gICAgc3Nscm9vdGNlcnQ/OiBzdHJpbmc7XG4gICAgc3NoSG9zdD86IHN0cmluZztcbiAgICBzc2hQb3J0PzogbnVtYmVyO1xuICAgIHNzaFVzZXJuYW1lPzogc3RyaW5nO1xuICAgIHNzaFByaXZhdGVLZXk/OiBzdHJpbmc7XG59O1xuXG50eXBlIFRBcHBQcm9wcyA9IHtcbiAgICBjb25maWc6IFRDb25uZWN0aW9uQ29uZmlnO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIEFwcCh7IGNvbmZpZyB9OiBUQXBwUHJvcHMpOiBSZWFjdE5vZGUge1xuICAgIGNvbnN0IGNvbm5lY3Rpb25UYXJnZXQgPSBjb25maWcuY29ubmVjdGlvblN0cmluZ1xuICAgICAgICA/IGNvbmZpZy5jb25uZWN0aW9uU3RyaW5nLnJlcGxhY2UoLzpbXjpAXStALywgXCI6KioqQFwiKSAvLyBtYXNrIHBhc3N3b3JkXG4gICAgICAgIDogYCR7Y29uZmlnLmhvc3RuYW1lfToke2NvbmZpZy5wb3J0fS8ke2NvbmZpZy5kYXRhYmFzZX1gO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCIgcGFkZGluZz17MX0+XG4gICAgICAgICAgICA8Qm94IG1hcmdpbkJvdHRvbT17MX0+XG4gICAgICAgICAgICAgICAgPFRleHQgY29sb3I9XCJjeWFuXCIgYm9sZD5cbiAgICAgICAgICAgICAgICAgICAgZGJjdHhcbiAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgPFRleHQgZGltQ29sb3I+IC0gQUkgZ2VuZXJhdGVkIGRvY3MgZnJvbSB5b3VyIGFwcGxpY2F0aW9uIGRhdGFiYXNlPC9UZXh0PlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICA8Qm94PlxuICAgICAgICAgICAgICAgIDxUZXh0IGRpbUNvbG9yPkNvbm5lY3RpbmcgdG86IDwvVGV4dD5cbiAgICAgICAgICAgICAgICA8VGV4dCBjb2xvcj1cInllbGxvd1wiPntjb25uZWN0aW9uVGFyZ2V0fTwvVGV4dD5cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICA8L0JveD5cbiAgICApO1xufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Error.d.ts","sourceRoot":"./src/","sources":["components/Error.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,UAAU,UAAU;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,GAAG,SAAS,CAQxD"}
|
package/dist/components/Error.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Text, Box } from "ink";
|
|
3
|
-
export function Error({ message }) {
|
|
4
|
-
return (_jsx(Box, { children: _jsxs(Text, { color: "red", bold: true, children: ["Error: ", message] }) }));
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3IuanMiLCJzb3VyY2VSb290IjoiLi9zcmMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL0Vycm9yLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFPaEMsTUFBTSxVQUFVLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBYztJQUN6QyxPQUFPLENBQ0gsS0FBQyxHQUFHLGNBQ0EsTUFBQyxJQUFJLElBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxJQUFJLDhCQUNWLE9BQU8sSUFDWixHQUNMLENBQ1QsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0LCBCb3ggfSBmcm9tIFwiaW5rXCI7XG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbnRlcmZhY2UgRXJyb3JQcm9wcyB7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXJyb3IoeyBtZXNzYWdlIH06IEVycm9yUHJvcHMpOiBSZWFjdE5vZGUge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxCb3g+XG4gICAgICAgICAgICA8VGV4dCBjb2xvcj1cInJlZFwiIGJvbGQ+XG4gICAgICAgICAgICAgICAgRXJyb3I6IHttZXNzYWdlfVxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L0JveD5cbiAgICApO1xufVxuIl19
|