dbctx 1.4.6 → 1.5.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 +2 -2
- package/dist/app/assemble.d.mts.map +1 -1
- package/dist/app/assemble.mjs +19 -14
- package/dist/app/db.d.mts.map +1 -1
- package/dist/app/db.mjs +3 -2
- package/dist/app/detect.d.mts +1 -0
- package/dist/app/detect.d.mts.map +1 -1
- package/dist/app/detect.mjs +3 -2
- package/dist/app/index.d.mts.map +1 -1
- package/dist/app/index.mjs +84 -10
- package/dist/app/session.d.mts +2 -2
- package/dist/app/session.d.mts.map +1 -1
- package/dist/app/session.mjs +3 -3
- package/dist/app/ssh.d.mts.map +1 -1
- package/dist/app/ssh.mjs +12 -1
- package/dist/db/foreign-keys.mjs +3 -3
- package/dist/db/index.d.mts +1 -1
- package/dist/db/index.d.mts.map +1 -1
- package/dist/db/index.mjs +2 -2
- package/dist/db/relations.d.mts +1 -0
- package/dist/db/relations.d.mts.map +1 -1
- package/dist/db/relations.mjs +10 -1
- package/dist/db/stats.mjs +3 -3
- package/dist/index.d.mts +5 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +28 -4
- package/dist/store.d.mts +20 -1
- package/dist/store.d.mts.map +1 -1
- package/dist/store.mjs +18 -2
- package/dist/ui/App.d.ts.map +1 -1
- package/dist/ui/App.js +13 -3
- package/dist/ui/components/OutputJson.d.ts +10 -0
- package/dist/ui/components/OutputJson.d.ts.map +1 -0
- package/dist/ui/components/OutputJson.js +18 -0
- package/dist/ui/components/TextInput.d.ts +11 -0
- package/dist/ui/components/TextInput.d.ts.map +1 -0
- package/dist/ui/components/TextInput.js +286 -0
- package/dist/ui/components/UserExplanation.d.ts +10 -0
- package/dist/ui/components/UserExplanation.d.ts.map +1 -0
- package/dist/ui/components/UserExplanation.js +34 -0
- package/dist/validatePaths.d.mts +1 -0
- package/dist/validatePaths.d.mts.map +1 -1
- package/dist/validatePaths.mjs +2 -2
- package/package.json +1 -1
- package/dist/schemas/index.d.mts +0 -107
- package/dist/schemas/index.d.mts.map +0 -1
- package/dist/schemas/index.mjs +0 -116
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { observer } from 'mobx-react-lite';
|
|
4
|
+
import { runInAction } from 'mobx';
|
|
5
|
+
import { TextInput } from './TextInput.js';
|
|
6
|
+
const TRUNCATE_LENGTH = 80;
|
|
7
|
+
const truncate = (text) => text.length > TRUNCATE_LENGTH
|
|
8
|
+
? `${text.slice(0, TRUNCATE_LENGTH)}...`
|
|
9
|
+
: text;
|
|
10
|
+
export const UserExplanation = observer(({ store }) => {
|
|
11
|
+
const step = store.steps.userExplanation;
|
|
12
|
+
if (step.state === 'idle') {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
if (step.state === 'done') {
|
|
16
|
+
return (_jsx(Box, { flexDirection: "column", children: _jsxs(Box, { children: [_jsx(Text, { color: "green", children: "\u25CF" }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "EXPLANATION: " }), _jsx(Text, { dimColor: true, children: truncate(step.value ?? '') })] }) }));
|
|
17
|
+
}
|
|
18
|
+
const handleSubmit = (value) => {
|
|
19
|
+
const trimmed = value.trim();
|
|
20
|
+
if (trimmed.length === 0) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
runInAction(() => {
|
|
24
|
+
store.steps.userExplanation.value = trimmed;
|
|
25
|
+
store.steps.userExplanation.state = 'done';
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: "yellow", children: "\u25CF" }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "EXPLANATION: " }), _jsx(Text, { children: "Describe this database" })] }), _jsxs(Box, { paddingLeft: 2, flexDirection: "column", children: [_jsx(Box, { width: 96, flexDirection: 'column', paddingTop: 1, children: _jsx(Text, { dimColor: true, children: "Mention what kind of DB it is, which app it's for, what the business is, if it's standalone or part of a larger ecosystem, and what the app does (Ctrl+J for new line)" }) }), _jsx(Text, { children: " " }), _jsx(TextInput, { isActive: step.state === 'prompting', onSubmit: handleSubmit, placeholder: "e.g. a multi-vendor ecommerce platform part of a larger superapp", linePrefix: (lineNumber, totalLines) => {
|
|
29
|
+
const width = String(totalLines).length;
|
|
30
|
+
const num = String(lineNumber + 1).padStart(width, ' ');
|
|
31
|
+
return (_jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: num }), _jsx(Text, { color: "gray", children: " \u2503 " })] }));
|
|
32
|
+
} })] })] }));
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlckV4cGxhbmF0aW9uLmpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsidWkvY29tcG9uZW50cy9Vc2VyRXhwbGFuYXRpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLEtBQUssQ0FBQztBQUU5QixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFNekMsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO0FBRTNCLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBWSxFQUFVLEVBQUUsQ0FDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxlQUFlO0lBQ3pCLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxLQUFLO0lBQ3hDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFFZixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUNuQyxDQUFDLEVBQUMsS0FBSyxFQUF3QixFQUFhLEVBQUU7SUFDMUMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7SUFFekMsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDeEIsT0FBTyxDQUNILEtBQUMsR0FBRyxJQUFDLGFBQWEsRUFBQyxRQUFRLFlBQ3ZCLE1BQUMsR0FBRyxlQUNBLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBQyxPQUFPLHVCQUFTLEVBQzVCLEtBQUMsSUFBSSxvQkFBUyxFQUNkLEtBQUMsSUFBSSxJQUFDLElBQUksb0NBQXFCLEVBQy9CLEtBQUMsSUFBSSxJQUFDLFFBQVEsa0JBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLEdBQVEsSUFDaEQsR0FDSixDQUNULENBQUM7SUFDTixDQUFDO0lBRUQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtRQUNuQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU87UUFDWCxDQUFDO1FBQ0QsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNiLEtBQUssQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7WUFDNUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQztJQUVGLE9BQU8sQ0FDSCxNQUFDLEdBQUcsSUFBQyxhQUFhLEVBQUMsUUFBUSxhQUN2QixNQUFDLEdBQUcsZUFDQSxLQUFDLElBQUksSUFBQyxLQUFLLEVBQUMsUUFBUSx1QkFBUyxFQUM3QixLQUFDLElBQUksb0JBQVMsRUFDZCxLQUFDLElBQUksSUFBQyxJQUFJLG9DQUFxQixFQUMvQixLQUFDLElBQUkseUNBQThCLElBQ2pDLEVBQ04sTUFBQyxHQUFHLElBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxhQUFhLEVBQUMsUUFBUSxhQUN2QyxLQUFDLEdBQUcsSUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUMsWUFDbEQsS0FBQyxJQUFJLElBQUMsUUFBUSw2TEFLUCxHQUNMLEVBQ04sS0FBQyxJQUFJLG9CQUFTLEVBQ2QsS0FBQyxTQUFTLElBQ04sUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUNwQyxRQUFRLEVBQUUsWUFBWSxFQUN0QixXQUFXLEVBQUMsa0VBQWtFLEVBQzlFLFVBQVUsRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsRUFBRTs0QkFDbkMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQzs0QkFDeEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQ3ZDLEtBQUssRUFDTCxHQUFHLENBQ04sQ0FBQzs0QkFDRixPQUFPLENBQ0gsTUFBQyxJQUFJLGVBQ0QsS0FBQyxJQUFJLElBQUMsUUFBUSxrQkFBRSxHQUFHLEdBQVEsRUFDM0IsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFDLE1BQU0seUJBQVcsSUFDMUIsQ0FDVixDQUFDO3dCQUNOLENBQUMsR0FDSCxJQUNBLElBQ0osQ0FDVCxDQUFDO0FBQ04sQ0FBQyxDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JveCwgVGV4dH0gZnJvbSAnaW5rJztcbmltcG9ydCB0eXBlIHtSZWFjdE5vZGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7b2JzZXJ2ZXJ9IGZyb20gJ21vYngtcmVhY3QtbGl0ZSc7XG5pbXBvcnQge3J1bkluQWN0aW9ufSBmcm9tICdtb2J4JztcbmltcG9ydCB0eXBlIHtUU3RvcmV9IGZyb20gJy4uLy4uL3N0b3JlLm1qcyc7XG5pbXBvcnQge1RleHRJbnB1dH0gZnJvbSAnLi9UZXh0SW5wdXQuanMnO1xuXG50eXBlIFRVc2VyRXhwbGFuYXRpb25Qcm9wcyA9IHtcbiAgICByZWFkb25seSBzdG9yZTogVFN0b3JlO1xufTtcblxuY29uc3QgVFJVTkNBVEVfTEVOR1RIID0gODA7XG5cbmNvbnN0IHRydW5jYXRlID0gKHRleHQ6IHN0cmluZyk6IHN0cmluZyA9PlxuICAgIHRleHQubGVuZ3RoID4gVFJVTkNBVEVfTEVOR1RIXG4gICAgICAgID8gYCR7dGV4dC5zbGljZSgwLCBUUlVOQ0FURV9MRU5HVEgpfS4uLmBcbiAgICAgICAgOiB0ZXh0O1xuXG5leHBvcnQgY29uc3QgVXNlckV4cGxhbmF0aW9uID0gb2JzZXJ2ZXIoXG4gICAgKHtzdG9yZX06IFRVc2VyRXhwbGFuYXRpb25Qcm9wcyk6IFJlYWN0Tm9kZSA9PiB7XG4gICAgICAgIGNvbnN0IHN0ZXAgPSBzdG9yZS5zdGVwcy51c2VyRXhwbGFuYXRpb247XG5cbiAgICAgICAgaWYgKHN0ZXAuc3RhdGUgPT09ICdpZGxlJykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3RlcC5zdGF0ZSA9PT0gJ2RvbmUnKSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICA8Qm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFRleHQgY29sb3I9XCJncmVlblwiPuKXjzwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0PiA8L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8VGV4dCBib2xkPkVYUExBTkFUSU9OOiA8L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8VGV4dCBkaW1Db2xvcj57dHJ1bmNhdGUoc3RlcC52YWx1ZSA/PyAnJyl9PC9UZXh0PlxuICAgICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBoYW5kbGVTdWJtaXQgPSAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHJpbW1lZCA9IHZhbHVlLnRyaW0oKTtcbiAgICAgICAgICAgIGlmICh0cmltbWVkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJ1bkluQWN0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgICBzdG9yZS5zdGVwcy51c2VyRXhwbGFuYXRpb24udmFsdWUgPSB0cmltbWVkO1xuICAgICAgICAgICAgICAgIHN0b3JlLnN0ZXBzLnVzZXJFeHBsYW5hdGlvbi5zdGF0ZSA9ICdkb25lJztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICA8Qm94PlxuICAgICAgICAgICAgICAgICAgICA8VGV4dCBjb2xvcj1cInllbGxvd1wiPuKXjzwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgPFRleHQ+IDwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgPFRleHQgYm9sZD5FWFBMQU5BVElPTjogPC9UZXh0PlxuICAgICAgICAgICAgICAgICAgICA8VGV4dD5EZXNjcmliZSB0aGlzIGRhdGFiYXNlPC9UZXh0PlxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgIDxCb3ggcGFkZGluZ0xlZnQ9ezJ9IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPEJveCB3aWR0aD17OTZ9IGZsZXhEaXJlY3Rpb249eydjb2x1bW4nfSBwYWRkaW5nVG9wPXsxfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0IGRpbUNvbG9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbnRpb24gd2hhdCBraW5kIG9mIERCIGl0IGlzLCB3aGljaCBhcHAgaXQncyBmb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hhdCB0aGUgYnVzaW5lc3MgaXMsIGlmIGl0J3Mgc3RhbmRhbG9uZSBvciBwYXJ0IG9mXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBsYXJnZXIgZWNvc3lzdGVtLCBhbmQgd2hhdCB0aGUgYXBwIGRvZXMgKEN0cmwrSlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBuZXcgbGluZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgIDxUZXh0PiA8L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgIDxUZXh0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtzdGVwLnN0YXRlID09PSAncHJvbXB0aW5nJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uU3VibWl0PXtoYW5kbGVTdWJtaXR9XG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImUuZy4gYSBtdWx0aS12ZW5kb3IgZWNvbW1lcmNlIHBsYXRmb3JtIHBhcnQgb2YgYSBsYXJnZXIgc3VwZXJhcHBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZVByZWZpeD17KGxpbmVOdW1iZXIsIHRvdGFsTGluZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3aWR0aCA9IFN0cmluZyh0b3RhbExpbmVzKS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbnVtID0gU3RyaW5nKGxpbmVOdW1iZXIgKyAxKS5wYWRTdGFydChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRleHQgZGltQ29sb3I+e251bX08L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGV4dCBjb2xvcj1cImdyYXlcIj4g4pSDIDwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICk7XG4gICAgfSxcbik7XG4iXX0=
|
package/dist/validatePaths.d.mts
CHANGED
|
@@ -4,6 +4,7 @@ export type TPathValidationError = {
|
|
|
4
4
|
path: string;
|
|
5
5
|
error: string;
|
|
6
6
|
};
|
|
7
|
+
export declare const normalizePath: (path: string) => string;
|
|
7
8
|
export declare const validatePathOptions: <T extends Partial<Record<TPathOptionKey, string>>>(options: T) => {
|
|
8
9
|
errors: TPathValidationError[];
|
|
9
10
|
expandedPaths: Partial<Record<TPathOptionKey, string>>;
|
|
@@ -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,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;
|
|
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;AAOF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,MACf,CAAC;AAiB/B,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
|
@@ -4,7 +4,7 @@ import { resolve } from 'node:path';
|
|
|
4
4
|
const expandTilde = (path) => path.startsWith('~/') || path === '~'
|
|
5
5
|
? path.replace(/^~/, homedir())
|
|
6
6
|
: path;
|
|
7
|
-
const normalizePath = (path) => resolve(expandTilde(path));
|
|
7
|
+
export const normalizePath = (path) => resolve(expandTilde(path));
|
|
8
8
|
const validatePathExists = (path) => {
|
|
9
9
|
const expandedPath = normalizePath(path);
|
|
10
10
|
return existsSync(expandedPath)
|
|
@@ -51,4 +51,4 @@ export const validatePathOptions = (options) => {
|
|
|
51
51
|
}), {});
|
|
52
52
|
return { errors, expandedPaths };
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVQYXRocy5tanMiLCJzb3VyY2VSb290IjoiLi9zcmMvIiwic291cmNlcyI6WyJ2YWxpZGF0ZVBhdGhzLm10cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQ25DLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQztBQWNsQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQVksRUFBVSxFQUFFLENBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLEdBQUc7SUFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFFZixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUNsRCxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFFL0IsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLElBQVksRUFBeUIsRUFBRTtJQUMvRCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekMsT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFDO1FBQzdCLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQztBQUVGLE1BQU0sa0JBQWtCLEdBQW1DO0lBQ3ZELE9BQU8sRUFBRSxXQUFXO0lBQ3BCLE1BQU0sRUFBRSxVQUFVO0lBQ2xCLFdBQVcsRUFBRSxlQUFlO0lBQzVCLE1BQU0sRUFBRSxXQUFXO0NBQ3RCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUcvQixPQUFVLEVBSVosRUFBRTtJQUNBLE1BQU0sUUFBUSxHQUFxQjtRQUMvQixTQUFTO1FBQ1QsUUFBUTtRQUNSLGFBQWE7UUFDYixRQUFRO0tBQ1gsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLFFBQVE7U0FDbkIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxDQUFDO1NBQzNDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ1QsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBVyxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhDLE9BQU87WUFDSCxHQUFHO1lBQ0gsSUFBSTtZQUNKLE1BQU07U0FDVCxDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7SUFFUCxNQUFNLE1BQU0sR0FBRyxPQUFPO1NBQ2pCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUM5QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDVCxNQUFNLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNqQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7UUFDWixLQUFLLEVBQUcsQ0FBQyxDQUFDLE1BQXdDLENBQUMsS0FBSztLQUMzRCxDQUFDLENBQUMsQ0FBQztJQUVSLE1BQU0sYUFBYSxHQUFHLE9BQU87U0FDeEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUM3QixNQUFNLENBQ0gsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1QsR0FBRyxHQUFHO1FBQ04sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUcsQ0FBQyxDQUFDLE1BQThDO2FBQ3JELFlBQVk7S0FDcEIsQ0FBQyxFQUNGLEVBQTZDLENBQ2hELENBQUM7SUFFTixPQUFPLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZXhpc3RzU3luY30gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge2hvbWVkaXJ9IGZyb20gJ25vZGU6b3MnO1xuaW1wb3J0IHtyZXNvbHZlfSBmcm9tICdub2RlOnBhdGgnO1xuXG50eXBlIFRQYXRoVmFsaWRhdGlvblJlc3VsdCA9XG4gICAgfCB7dmFsaWQ6IHRydWU7IGV4cGFuZGVkUGF0aDogc3RyaW5nfVxuICAgIHwge3ZhbGlkOiBmYWxzZTsgZXJyb3I6IHN0cmluZ307XG5cbnR5cGUgVFBhdGhPcHRpb25LZXkgPSAnc3NsY2VydCcgfCAnc3Nsa2V5JyB8ICdzc2xyb290Y2VydCcgfCAnc3NoS2V5JztcblxuZXhwb3J0IHR5cGUgVFBhdGhWYWxpZGF0aW9uRXJyb3IgPSB7XG4gICAgb3B0aW9uOiBzdHJpbmc7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIGVycm9yOiBzdHJpbmc7XG59O1xuXG5jb25zdCBleHBhbmRUaWxkZSA9IChwYXRoOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgICBwYXRoLnN0YXJ0c1dpdGgoJ34vJykgfHwgcGF0aCA9PT0gJ34nXG4gICAgICAgID8gcGF0aC5yZXBsYWNlKC9efi8sIGhvbWVkaXIoKSlcbiAgICAgICAgOiBwYXRoO1xuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplUGF0aCA9IChwYXRoOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgICByZXNvbHZlKGV4cGFuZFRpbGRlKHBhdGgpKTtcblxuY29uc3QgdmFsaWRhdGVQYXRoRXhpc3RzID0gKHBhdGg6IHN0cmluZyk6IFRQYXRoVmFsaWRhdGlvblJlc3VsdCA9PiB7XG4gICAgY29uc3QgZXhwYW5kZWRQYXRoID0gbm9ybWFsaXplUGF0aChwYXRoKTtcblxuICAgIHJldHVybiBleGlzdHNTeW5jKGV4cGFuZGVkUGF0aClcbiAgICAgICAgPyB7dmFsaWQ6IHRydWUsIGV4cGFuZGVkUGF0aH1cbiAgICAgICAgOiB7dmFsaWQ6IGZhbHNlLCBlcnJvcjogYFBhdGggZG9lcyBub3QgZXhpc3Q6ICR7cGF0aH1gfTtcbn07XG5cbmNvbnN0IFBBVEhfT1BUSU9OX0xBQkVMUzogUmVjb3JkPFRQYXRoT3B0aW9uS2V5LCBzdHJpbmc+ID0ge1xuICAgIHNzbGNlcnQ6ICctLXNzbGNlcnQnLFxuICAgIHNzbGtleTogJy0tc3Nsa2V5JyxcbiAgICBzc2xyb290Y2VydDogJy0tc3Nscm9vdGNlcnQnLFxuICAgIHNzaEtleTogJy0tc3NoLWtleScsXG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQYXRoT3B0aW9ucyA9IDxcbiAgICBUIGV4dGVuZHMgUGFydGlhbDxSZWNvcmQ8VFBhdGhPcHRpb25LZXksIHN0cmluZz4+LFxuPihcbiAgICBvcHRpb25zOiBULFxuKToge1xuICAgIGVycm9yczogVFBhdGhWYWxpZGF0aW9uRXJyb3JbXTtcbiAgICBleHBhbmRlZFBhdGhzOiBQYXJ0aWFsPFJlY29yZDxUUGF0aE9wdGlvbktleSwgc3RyaW5nPj47XG59ID0+IHtcbiAgICBjb25zdCBwYXRoS2V5czogVFBhdGhPcHRpb25LZXlbXSA9IFtcbiAgICAgICAgJ3NzbGNlcnQnLFxuICAgICAgICAnc3Nsa2V5JyxcbiAgICAgICAgJ3NzbHJvb3RjZXJ0JyxcbiAgICAgICAgJ3NzaEtleScsXG4gICAgXTtcblxuICAgIGNvbnN0IHJlc3VsdHMgPSBwYXRoS2V5c1xuICAgICAgICAuZmlsdGVyKChrZXkpID0+IG9wdGlvbnNba2V5XSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAubWFwKChrZXkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBvcHRpb25zW2tleV0gYXMgc3RyaW5nO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdmFsaWRhdGVQYXRoRXhpc3RzKHBhdGgpO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgY29uc3QgZXJyb3JzID0gcmVzdWx0c1xuICAgICAgICAuZmlsdGVyKChyKSA9PiAhci5yZXN1bHQudmFsaWQpXG4gICAgICAgIC5tYXAoKHIpID0+ICh7XG4gICAgICAgICAgICBvcHRpb246IFBBVEhfT1BUSU9OX0xBQkVMU1tyLmtleV0sXG4gICAgICAgICAgICBwYXRoOiByLnBhdGgsXG4gICAgICAgICAgICBlcnJvcjogKHIucmVzdWx0IGFzIHt2YWxpZDogZmFsc2U7IGVycm9yOiBzdHJpbmd9KS5lcnJvcixcbiAgICAgICAgfSkpO1xuXG4gICAgY29uc3QgZXhwYW5kZWRQYXRocyA9IHJlc3VsdHNcbiAgICAgICAgLmZpbHRlcigocikgPT4gci5yZXN1bHQudmFsaWQpXG4gICAgICAgIC5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCByKSA9PiAoe1xuICAgICAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgICAgICBbci5rZXldOiAoci5yZXN1bHQgYXMge3ZhbGlkOiB0cnVlOyBleHBhbmRlZFBhdGg6IHN0cmluZ30pXG4gICAgICAgICAgICAgICAgICAgIC5leHBhbmRlZFBhdGgsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHt9IGFzIFBhcnRpYWw8UmVjb3JkPFRQYXRoT3B0aW9uS2V5LCBzdHJpbmc+PixcbiAgICAgICAgKTtcblxuICAgIHJldHVybiB7ZXJyb3JzLCBleHBhbmRlZFBhdGhzfTtcbn07XG4iXX0=
|
package/package.json
CHANGED
package/dist/schemas/index.d.mts
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const database: z.ZodObject<{
|
|
3
|
-
type: z.ZodEnum<{
|
|
4
|
-
postgresql: "postgresql";
|
|
5
|
-
}>;
|
|
6
|
-
version: z.ZodObject<{
|
|
7
|
-
version_string: z.ZodString;
|
|
8
|
-
version_number: z.ZodNumber;
|
|
9
|
-
}, z.core.$strip>;
|
|
10
|
-
identifier: z.ZodObject<{
|
|
11
|
-
system_identifier: z.ZodString;
|
|
12
|
-
database_oid: z.ZodNumber;
|
|
13
|
-
}, z.core.$strip>;
|
|
14
|
-
name: z.ZodString;
|
|
15
|
-
comment: z.ZodNullable<z.ZodString>;
|
|
16
|
-
summary: z.ZodOptional<z.ZodString>;
|
|
17
|
-
details: z.ZodOptional<z.ZodString>;
|
|
18
|
-
relations: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
19
|
-
name: z.ZodString;
|
|
20
|
-
comment: z.ZodNullable<z.ZodString>;
|
|
21
|
-
kind: z.ZodEnum<{
|
|
22
|
-
partitioned_table: "partitioned_table";
|
|
23
|
-
table: "table";
|
|
24
|
-
view: "view";
|
|
25
|
-
materialized_view: "materialized_view";
|
|
26
|
-
}>;
|
|
27
|
-
summary: z.ZodOptional<z.ZodString>;
|
|
28
|
-
details: z.ZodOptional<z.ZodString>;
|
|
29
|
-
attributes: z.ZodRecord<z.ZodString, z.ZodIntersection<z.ZodObject<{
|
|
30
|
-
name: z.ZodString;
|
|
31
|
-
data_type: z.ZodString;
|
|
32
|
-
is_nullable: z.ZodBoolean;
|
|
33
|
-
comment: z.ZodNullable<z.ZodString>;
|
|
34
|
-
estimated_distinct: z.ZodOptional<z.ZodNumber>;
|
|
35
|
-
}, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
36
|
-
kind: z.ZodLiteral<"regular">;
|
|
37
|
-
has_default: z.ZodLiteral<false>;
|
|
38
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
39
|
-
kind: z.ZodLiteral<"regular">;
|
|
40
|
-
has_default: z.ZodLiteral<true>;
|
|
41
|
-
default_expression: z.ZodString;
|
|
42
|
-
}, z.core.$strip>], "has_default">, z.ZodObject<{
|
|
43
|
-
kind: z.ZodLiteral<"generated">;
|
|
44
|
-
generated_storage: z.ZodEnum<{
|
|
45
|
-
stored: "stored";
|
|
46
|
-
virtual: "virtual";
|
|
47
|
-
}>;
|
|
48
|
-
generated_expression: z.ZodString;
|
|
49
|
-
}, z.core.$strip>], "kind">>>;
|
|
50
|
-
references: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
51
|
-
constraint_name: z.ZodString;
|
|
52
|
-
attributes: z.ZodArray<z.ZodString>;
|
|
53
|
-
referenced_relation: z.ZodString;
|
|
54
|
-
referenced_attributes: z.ZodArray<z.ZodString>;
|
|
55
|
-
on_update: z.ZodEnum<{
|
|
56
|
-
"NO ACTION": "NO ACTION";
|
|
57
|
-
RESTRICT: "RESTRICT";
|
|
58
|
-
CASCADE: "CASCADE";
|
|
59
|
-
"SET NULL": "SET NULL";
|
|
60
|
-
"SET DEFAULT": "SET DEFAULT";
|
|
61
|
-
}>;
|
|
62
|
-
on_delete: z.ZodEnum<{
|
|
63
|
-
"NO ACTION": "NO ACTION";
|
|
64
|
-
RESTRICT: "RESTRICT";
|
|
65
|
-
CASCADE: "CASCADE";
|
|
66
|
-
"SET NULL": "SET NULL";
|
|
67
|
-
"SET DEFAULT": "SET DEFAULT";
|
|
68
|
-
}>;
|
|
69
|
-
comment: z.ZodNullable<z.ZodString>;
|
|
70
|
-
}, z.core.$strip>>;
|
|
71
|
-
indexes: z.ZodRecord<z.ZodString, z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
|
|
72
|
-
index_name: z.ZodString;
|
|
73
|
-
relation_name: z.ZodString;
|
|
74
|
-
attributes: z.ZodArray<z.ZodString>;
|
|
75
|
-
definition: z.ZodString;
|
|
76
|
-
comment: z.ZodNullable<z.ZodString>;
|
|
77
|
-
}, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
78
|
-
index_kind: z.ZodLiteral<"primary">;
|
|
79
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
80
|
-
index_kind: z.ZodLiteral<"unique">;
|
|
81
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
82
|
-
index_kind: z.ZodLiteral<"exclusion">;
|
|
83
|
-
exclusion_operators: z.ZodArray<z.ZodString>;
|
|
84
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
85
|
-
index_kind: z.ZodLiteral<"plain">;
|
|
86
|
-
}, z.core.$strip>], "index_kind">>, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
87
|
-
is_partial: z.ZodLiteral<false>;
|
|
88
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
89
|
-
is_partial: z.ZodLiteral<true>;
|
|
90
|
-
partial_predicate: z.ZodString;
|
|
91
|
-
}, z.core.$strip>], "is_partial">>>;
|
|
92
|
-
fileStats: z.ZodOptional<z.ZodObject<{
|
|
93
|
-
file_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
94
|
-
modification_time: z.ZodOptional<z.ZodDate>;
|
|
95
|
-
size_bytes: z.ZodOptional<z.ZodNumber>;
|
|
96
|
-
is_partitioned: z.ZodOptional<z.ZodBoolean>;
|
|
97
|
-
partition_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
98
|
-
estimated_row_count: z.ZodOptional<z.ZodNumber>;
|
|
99
|
-
}, z.core.$strip>>;
|
|
100
|
-
}, z.core.$strip>>;
|
|
101
|
-
enums: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
102
|
-
values: z.ZodArray<z.ZodString>;
|
|
103
|
-
comment: z.ZodNullable<z.ZodString>;
|
|
104
|
-
}, z.core.$strip>>;
|
|
105
|
-
}, z.core.$strip>;
|
|
106
|
-
export type TDatabase = z.infer<typeof database>;
|
|
107
|
-
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"./src/","sources":["schemas/index.mts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAgHtB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgBnB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC"}
|
package/dist/schemas/index.mjs
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
const relationAttribute = z
|
|
3
|
-
.object({
|
|
4
|
-
name: z.string(),
|
|
5
|
-
data_type: z.string(),
|
|
6
|
-
is_nullable: z.boolean(),
|
|
7
|
-
comment: z.string().nullable(),
|
|
8
|
-
estimated_distinct: z.number().optional(),
|
|
9
|
-
})
|
|
10
|
-
.and(z.discriminatedUnion('kind', [
|
|
11
|
-
z.discriminatedUnion('has_default', [
|
|
12
|
-
z.object({
|
|
13
|
-
kind: z.literal('regular'),
|
|
14
|
-
has_default: z.literal(false),
|
|
15
|
-
}),
|
|
16
|
-
z.object({
|
|
17
|
-
kind: z.literal('regular'),
|
|
18
|
-
has_default: z.literal(true),
|
|
19
|
-
default_expression: z.string(),
|
|
20
|
-
}),
|
|
21
|
-
]),
|
|
22
|
-
z.object({
|
|
23
|
-
kind: z.literal('generated'),
|
|
24
|
-
generated_storage: z.enum(['stored', 'virtual']),
|
|
25
|
-
generated_expression: z.string(),
|
|
26
|
-
}),
|
|
27
|
-
]));
|
|
28
|
-
const indexInfo = z
|
|
29
|
-
.object({
|
|
30
|
-
index_name: z.string(),
|
|
31
|
-
relation_name: z.string(),
|
|
32
|
-
attributes: z.array(z.string()),
|
|
33
|
-
definition: z.string(),
|
|
34
|
-
comment: z.string().nullable(),
|
|
35
|
-
})
|
|
36
|
-
.and(z.discriminatedUnion('index_kind', [
|
|
37
|
-
z.object({ index_kind: z.literal('primary') }),
|
|
38
|
-
z.object({ index_kind: z.literal('unique') }),
|
|
39
|
-
z.object({
|
|
40
|
-
index_kind: z.literal('exclusion'),
|
|
41
|
-
exclusion_operators: z.array(z.string()),
|
|
42
|
-
}),
|
|
43
|
-
z.object({ index_kind: z.literal('plain') }),
|
|
44
|
-
]))
|
|
45
|
-
.and(z.discriminatedUnion('is_partial', [
|
|
46
|
-
z.object({ is_partial: z.literal(false) }),
|
|
47
|
-
z.object({
|
|
48
|
-
is_partial: z.literal(true),
|
|
49
|
-
partial_predicate: z.string(),
|
|
50
|
-
}),
|
|
51
|
-
]));
|
|
52
|
-
const reference = z.object({
|
|
53
|
-
constraint_name: z.string(),
|
|
54
|
-
attributes: z.array(z.string()),
|
|
55
|
-
referenced_relation: z.string(),
|
|
56
|
-
referenced_attributes: z.array(z.string()),
|
|
57
|
-
on_update: z.enum([
|
|
58
|
-
'NO ACTION',
|
|
59
|
-
'RESTRICT',
|
|
60
|
-
'CASCADE',
|
|
61
|
-
'SET NULL',
|
|
62
|
-
'SET DEFAULT',
|
|
63
|
-
]),
|
|
64
|
-
on_delete: z.enum([
|
|
65
|
-
'NO ACTION',
|
|
66
|
-
'RESTRICT',
|
|
67
|
-
'CASCADE',
|
|
68
|
-
'SET NULL',
|
|
69
|
-
'SET DEFAULT',
|
|
70
|
-
]),
|
|
71
|
-
comment: z.string().nullable(),
|
|
72
|
-
});
|
|
73
|
-
const relationFileStats = z
|
|
74
|
-
.object({
|
|
75
|
-
file_path: z.string().nullable(),
|
|
76
|
-
modification_time: z.date(),
|
|
77
|
-
size_bytes: z.number(),
|
|
78
|
-
is_partitioned: z.boolean(),
|
|
79
|
-
partition_count: z.number().nullable(),
|
|
80
|
-
estimated_row_count: z.number(),
|
|
81
|
-
})
|
|
82
|
-
.partial();
|
|
83
|
-
const relation = z.object({
|
|
84
|
-
name: z.string(),
|
|
85
|
-
comment: z.string().nullable(),
|
|
86
|
-
kind: z.enum(['partitioned_table', 'table', 'view', 'materialized_view']),
|
|
87
|
-
summary: z.string().optional(),
|
|
88
|
-
details: z.string().optional(),
|
|
89
|
-
attributes: z.record(z.string(), relationAttribute),
|
|
90
|
-
references: z.record(z.string(), reference),
|
|
91
|
-
indexes: z.record(z.string(), indexInfo),
|
|
92
|
-
fileStats: relationFileStats.optional(),
|
|
93
|
-
});
|
|
94
|
-
const relations = z.record(z.string(), relation);
|
|
95
|
-
const enumType = z.object({
|
|
96
|
-
values: z.array(z.string()),
|
|
97
|
-
comment: z.string().nullable(),
|
|
98
|
-
});
|
|
99
|
-
export const database = z.object({
|
|
100
|
-
type: z.enum(['postgresql']),
|
|
101
|
-
version: z.object({
|
|
102
|
-
version_string: z.string(),
|
|
103
|
-
version_number: z.number(),
|
|
104
|
-
}),
|
|
105
|
-
identifier: z.object({
|
|
106
|
-
system_identifier: z.string(),
|
|
107
|
-
database_oid: z.number(),
|
|
108
|
-
}),
|
|
109
|
-
name: z.string(),
|
|
110
|
-
comment: z.string().nullable(),
|
|
111
|
-
summary: z.string().optional(),
|
|
112
|
-
details: z.string().optional(),
|
|
113
|
-
relations: relations,
|
|
114
|
-
enums: z.record(z.string(), enumType),
|
|
115
|
-
});
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsic2NoZW1hcy9pbmRleC5tdHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLENBQUMsRUFBQyxNQUFNLEtBQUssQ0FBQztBQUV0QixNQUFNLGlCQUFpQixHQUFHLENBQUM7S0FDdEIsTUFBTSxDQUFDO0lBQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDckIsV0FBVyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDeEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUIsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUM1QyxDQUFDO0tBQ0QsR0FBRyxDQUNBLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUU7SUFDekIsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRTtRQUNoQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ0wsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQzFCLFdBQVcsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztTQUNoQyxDQUFDO1FBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNMLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUMxQixXQUFXLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDNUIsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtTQUNqQyxDQUFDO0tBQ0wsQ0FBQztJQUNGLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDTCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDNUIsaUJBQWlCLEVBQUUsQ0FBQyxDQUFD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QUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDakMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDN0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1QixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNkLGNBQWMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO1FBQzFCLGNBQWMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0tBQzdCLENBQUM7SUFDRixVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNqQixpQkFBaUIsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO1FBQzdCLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0tBQzNCLENBQUM7SUFDRixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QixTQUFTLEVBQUUsU0FBUztJQUNwQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsUUFBUSxDQUFDO0NBQ3hDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7en0gZnJvbSAnem9kJztcblxuY29uc3QgcmVsYXRpb25BdHRyaWJ1dGUgPSB6XG4gICAgLm9iamVjdCh7XG4gICAgICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgICAgIGRhdGFfdHlwZTogei5zdHJpbmcoKSxcbiAgICAgICAgaXNfbnVsbGFibGU6IHouYm9vbGVhbigpLFxuICAgICAgICBjb21tZW50OiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gICAgICAgIGVzdGltYXRlZF9kaXN0aW5jdDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICAgIH0pXG4gICAgLmFuZChcbiAgICAgICAgei5kaXNjcmltaW5hdGVkVW5pb24oJ2tpbmQnLCBbXG4gICAgICAgICAgICB6LmRpc2NyaW1pbmF0ZWRVbmlvbignaGFzX2RlZmF1bHQnLCBbXG4gICAgICAgICAgICAgICAgei5vYmplY3Qoe1xuICAgICAgICAgICAgICAgICAgICBraW5kOiB6LmxpdGVyYWwoJ3JlZ3VsYXInKSxcbiAgICAgICAgICAgICAgICAgICAgaGFzX2RlZmF1bHQ6IHoubGl0ZXJhbChmYWxzZSksXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgei5vYmplY3Qoe1xuICAgICAgICAgICAgICAgICAgICBraW5kOiB6LmxpdGVyYWwoJ3JlZ3VsYXInKSxcbiAgICAgICAgICAgICAgICAgICAgaGFzX2RlZmF1bHQ6IHoubGl0ZXJhbCh0cnVlKSxcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdF9leHByZXNzaW9uOiB6LnN0cmluZygpLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB6Lm9iamVjdCh7XG4gICAgICAgICAgICAgICAga2luZDogei5saXRlcmFsKCdnZW5lcmF0ZWQnKSxcbiAgICAgICAgICAgICAgICBnZW5lcmF0ZWRfc3RvcmFnZTogei5lbnVtKFsnc3RvcmVkJywgJ3ZpcnR1YWwnXSksXG4gICAgICAgICAgICAgICAgZ2VuZXJhdGVkX2V4cHJlc3Npb246IHouc3RyaW5nKCksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXSksXG4gICAgKTtcblxuY29uc3QgaW5kZXhJbmZvID0gelxuICAgIC5vYmplY3Qoe1xuICAgICAgICBpbmRleF9uYW1lOiB6LnN0cmluZygpLFxuICAgICAgICByZWxhdGlvbl9uYW1lOiB6LnN0cmluZygpLFxuICAgICAgICBhdHRyaWJ1dGVzOiB6LmFycmF5KHouc3RyaW5nKCkpLFxuICAgICAgICBkZWZpbml0aW9uOiB6LnN0cmluZygpLFxuICAgICAgICBjb21tZW50OiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gICAgfSlcbiAgICAuYW5kKFxuICAgICAgICB6LmRpc2NyaW1pbmF0ZWRVbmlvbignaW5kZXhfa2luZCcsIFtcbiAgICAgICAgICAgIHoub2JqZWN0KHtpbmRleF9raW5kOiB6LmxpdGVyYWwoJ3ByaW1hcnknKX0pLFxuICAgICAgICAgICAgei5vYmplY3Qoe2luZGV4X2tpbmQ6IHoubGl0ZXJhbCgndW5pcXVlJyl9KSxcbiAgICAgICAgICAgIHoub2JqZWN0KHtcbiAgICAgICAgICAgICAgICBpbmRleF9raW5kOiB6LmxpdGVyYWwoJ2V4Y2x1c2lvbicpLFxuICAgICAgICAgICAgICAgIGV4Y2x1c2lvbl9vcGVyYXRvcnM6IHouYXJyYXkoei5zdHJpbmcoKSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHoub2JqZWN0KHtpbmRleF9raW5kOiB6LmxpdGVyYWwoJ3BsYWluJyl9KSxcbiAgICAgICAgXSksXG4gICAgKVxuICAgIC5hbmQoXG4gICAgICAgIHouZGlzY3JpbWluYXRlZFVuaW9uKCdpc19wYXJ0aWFsJywgW1xuICAgICAgICAgICAgei5vYmplY3Qoe2lzX3BhcnRpYWw6IHoubGl0ZXJhbChmYWxzZSl9KSxcbiAgICAgICAgICAgIHoub2JqZWN0KHtcbiAgICAgICAgICAgICAgICBpc19wYXJ0aWFsOiB6LmxpdGVyYWwodHJ1ZSksXG4gICAgICAgICAgICAgICAgcGFydGlhbF9wcmVkaWNhdGU6IHouc3RyaW5nKCksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXSksXG4gICAgKTtcblxuY29uc3QgcmVmZXJlbmNlID0gei5vYmplY3Qoe1xuICAgIGNvbnN0cmFpbnRfbmFtZTogei5zdHJpbmcoKSxcbiAgICBhdHRyaWJ1dGVzOiB6LmFycmF5KHouc3RyaW5nKCkpLFxuICAgIHJlZmVyZW5jZWRfcmVsYXRpb246IHouc3RyaW5nKCksXG4gICAgcmVmZXJlbmNlZF9hdHRyaWJ1dGVzOiB6LmFycmF5KHouc3RyaW5nKCkpLFxuICAgIG9uX3VwZGF0ZTogei5lbnVtKFtcbiAgICAgICAgJ05PIEFDVElPTicsXG4gICAgICAgICdSRVNUUklDVCcsXG4gICAgICAgICdDQVNDQURFJyxcbiAgICAgICAgJ1NFVCBOVUxMJyxcbiAgICAgICAgJ1NFVCBERUZBVUxUJyxcbiAgICBdKSxcbiAgICBvbl9kZWxldGU6IHouZW51bShbXG4gICAgICAgICdOTyBBQ1RJT04nLFxuICAgICAgICAnUkVTVFJJQ1QnLFxuICAgICAgICAnQ0FTQ0FERScsXG4gICAgICAgICdTRVQgTlVMTCcsXG4gICAgICAgICdTRVQgREVGQVVMVCcsXG4gICAgXSksXG4gICAgY29tbWVudDogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxufSk7XG5cbmNvbnN0IHJlbGF0aW9uRmlsZVN0YXRzID0gelxuICAgIC5vYmplY3Qoe1xuICAgICAgICBmaWxlX3BhdGg6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgICAgICAgbW9kaWZpY2F0aW9uX3RpbWU6IHouZGF0ZSgpLFxuICAgICAgICBzaXplX2J5dGVzOiB6Lm51bWJlcigpLFxuICAgICAgICBpc19wYXJ0aXRpb25lZDogei5ib29sZWFuKCksXG4gICAgICAgIHBhcnRpdGlvbl9jb3VudDogei5udW1iZXIoKS5udWxsYWJsZSgpLFxuICAgICAgICBlc3RpbWF0ZWRfcm93X2NvdW50OiB6Lm51bWJlcigpLFxuICAgIH0pXG4gICAgLnBhcnRpYWwoKTtcblxuY29uc3QgcmVsYXRpb24gPSB6Lm9iamVjdCh7XG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBjb21tZW50OiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gICAga2luZDogei5lbnVtKFsncGFydGl0aW9uZWRfdGFibGUnLCAndGFibGUnLCAndmlldycsICdtYXRlcmlhbGl6ZWRfdmlldyddKSxcbiAgICBzdW1tYXJ5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGV0YWlsczogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGF0dHJpYnV0ZXM6IHoucmVjb3JkKHouc3RyaW5nKCksIHJlbGF0aW9uQXR0cmlidXRlKSxcbiAgICByZWZlcmVuY2VzOiB6LnJlY29yZCh6LnN0cmluZygpLCByZWZlcmVuY2UpLFxuICAgIGluZGV4ZXM6IHoucmVjb3JkKHouc3RyaW5nKCksIGluZGV4SW5mbyksXG4gICAgZmlsZVN0YXRzOiByZWxhdGlvbkZpbGVTdGF0cy5vcHRpb25hbCgpLFxufSk7XG5cbmNvbnN0IHJlbGF0aW9ucyA9IHoucmVjb3JkKHouc3RyaW5nKCksIHJlbGF0aW9uKTtcblxuY29uc3QgZW51bVR5cGUgPSB6Lm9iamVjdCh7XG4gICAgdmFsdWVzOiB6LmFycmF5KHouc3RyaW5nKCkpLFxuICAgIGNvbW1lbnQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZGF0YWJhc2UgPSB6Lm9iamVjdCh7XG4gICAgdHlwZTogei5lbnVtKFsncG9zdGdyZXNxbCddKSxcbiAgICB2ZXJzaW9uOiB6Lm9iamVjdCh7XG4gICAgICAgIHZlcnNpb25fc3RyaW5nOiB6LnN0cmluZygpLFxuICAgICAgICB2ZXJzaW9uX251bWJlcjogei5udW1iZXIoKSxcbiAgICB9KSxcbiAgICBpZGVudGlmaWVyOiB6Lm9iamVjdCh7XG4gICAgICAgIHN5c3RlbV9pZGVudGlmaWVyOiB6LnN0cmluZygpLFxuICAgICAgICBkYXRhYmFzZV9vaWQ6IHoubnVtYmVyKCksXG4gICAgfSksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBjb21tZW50OiB6LnN0cmluZygpLm51bGxhYmxlKCksXG4gICAgc3VtbWFyeTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRldGFpbHM6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICByZWxhdGlvbnM6IHJlbGF0aW9ucyxcbiAgICBlbnVtczogei5yZWNvcmQoei5zdHJpbmcoKSwgZW51bVR5cGUpLFxufSk7XG5cbmV4cG9ydCB0eXBlIFREYXRhYmFzZSA9IHouaW5mZXI8dHlwZW9mIGRhdGFiYXNlPjtcbiJdfQ==
|