@tdk-landscape/tdk-cli-core 1.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +293 -0
- package/bin/tdk.js +14 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +64 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/completion.d.ts +3 -0
- package/dist/commands/completion.d.ts.map +1 -0
- package/dist/commands/completion.js +294 -0
- package/dist/commands/completion.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +220 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +176 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/down.d.ts +3 -0
- package/dist/commands/down.d.ts.map +1 -0
- package/dist/commands/down.js +32 -0
- package/dist/commands/down.js.map +1 -0
- package/dist/commands/help.d.ts +2 -0
- package/dist/commands/help.d.ts.map +1 -0
- package/dist/commands/help.js +130 -0
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/networks.d.ts +3 -0
- package/dist/commands/networks.d.ts.map +1 -0
- package/dist/commands/networks.js +260 -0
- package/dist/commands/networks.js.map +1 -0
- package/dist/commands/project.d.ts +3 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +360 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/projects.d.ts +3 -0
- package/dist/commands/projects.d.ts.map +1 -0
- package/dist/commands/projects.js +71 -0
- package/dist/commands/projects.js.map +1 -0
- package/dist/commands/resource.d.ts +69 -0
- package/dist/commands/resource.d.ts.map +1 -0
- package/dist/commands/resource.js +572 -0
- package/dist/commands/resource.js.map +1 -0
- package/dist/commands/resources.d.ts +3 -0
- package/dist/commands/resources.d.ts.map +1 -0
- package/dist/commands/resources.js +73 -0
- package/dist/commands/resources.js.map +1 -0
- package/dist/commands/stack.d.ts +3 -0
- package/dist/commands/stack.d.ts.map +1 -0
- package/dist/commands/stack.js +103 -0
- package/dist/commands/stack.js.map +1 -0
- package/dist/commands/stacks.d.ts +3 -0
- package/dist/commands/stacks.d.ts.map +1 -0
- package/dist/commands/stacks.js +43 -0
- package/dist/commands/stacks.js.map +1 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +71 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/ui.d.ts +3 -0
- package/dist/commands/ui.d.ts.map +1 -0
- package/dist/commands/ui.js +446 -0
- package/dist/commands/ui.js.map +1 -0
- package/dist/commands/up.d.ts +3 -0
- package/dist/commands/up.d.ts.map +1 -0
- package/dist/commands/up.js +149 -0
- package/dist/commands/up.js.map +1 -0
- package/dist/commands/upgrade.d.ts +3 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +454 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/version.d.ts +3 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +9 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/components/Accessible.d.ts +8 -0
- package/dist/components/Accessible.d.ts.map +1 -0
- package/dist/components/Accessible.js +10 -0
- package/dist/components/Accessible.js.map +1 -0
- package/dist/components/BaseTooltip.d.ts +4 -0
- package/dist/components/BaseTooltip.d.ts.map +1 -0
- package/dist/components/BaseTooltip.js +28 -0
- package/dist/components/BaseTooltip.js.map +1 -0
- package/dist/components/DetailPanel.d.ts +4 -0
- package/dist/components/DetailPanel.d.ts.map +1 -0
- package/dist/components/DetailPanel.js +18 -0
- package/dist/components/DetailPanel.js.map +1 -0
- package/dist/components/FileTree.d.ts +4 -0
- package/dist/components/FileTree.d.ts.map +1 -0
- package/dist/components/FileTree.js +47 -0
- package/dist/components/FileTree.js.map +1 -0
- package/dist/components/ResourceSelectInput.d.ts +4 -0
- package/dist/components/ResourceSelectInput.d.ts.map +1 -0
- package/dist/components/ResourceSelectInput.js +7 -0
- package/dist/components/ResourceSelectInput.js.map +1 -0
- package/dist/components/ResourceTable.d.ts +4 -0
- package/dist/components/ResourceTable.d.ts.map +1 -0
- package/dist/components/ResourceTable.js +18 -0
- package/dist/components/ResourceTable.js.map +1 -0
- package/dist/components/TabBar.d.ts +4 -0
- package/dist/components/TabBar.d.ts.map +1 -0
- package/dist/components/TabBar.js +17 -0
- package/dist/components/TabBar.js.map +1 -0
- package/dist/components/Tooltip.d.ts +12 -0
- package/dist/components/Tooltip.d.ts.map +1 -0
- package/dist/components/Tooltip.js +12 -0
- package/dist/components/Tooltip.js.map +1 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +8 -0
- package/dist/components/index.js.map +1 -0
- package/dist/config/platform-standards.d.ts +159 -0
- package/dist/config/platform-standards.d.ts.map +1 -0
- package/dist/config/platform-standards.js +181 -0
- package/dist/config/platform-standards.js.map +1 -0
- package/dist/generator/extension-fetch.d.ts +9 -0
- package/dist/generator/extension-fetch.d.ts.map +1 -0
- package/dist/generator/extension-fetch.js +153 -0
- package/dist/generator/extension-fetch.js.map +1 -0
- package/dist/generator/template-engine.d.ts +60 -0
- package/dist/generator/template-engine.d.ts.map +1 -0
- package/dist/generator/template-engine.js +416 -0
- package/dist/generator/template-engine.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +236 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +17 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/cache.d.ts +19 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +64 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/command-helpers.d.ts +17 -0
- package/dist/utils/command-helpers.d.ts.map +1 -0
- package/dist/utils/command-helpers.js +48 -0
- package/dist/utils/command-helpers.js.map +1 -0
- package/dist/utils/constants.d.ts +50 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +100 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/discovery-context.d.ts +4 -0
- package/dist/utils/discovery-context.d.ts.map +1 -0
- package/dist/utils/discovery-context.js +39 -0
- package/dist/utils/discovery-context.js.map +1 -0
- package/dist/utils/docker.d.ts +3 -0
- package/dist/utils/docker.d.ts.map +1 -0
- package/dist/utils/docker.js +13 -0
- package/dist/utils/docker.js.map +1 -0
- package/dist/utils/env-validator.d.ts +15 -0
- package/dist/utils/env-validator.d.ts.map +1 -0
- package/dist/utils/env-validator.js +95 -0
- package/dist/utils/env-validator.js.map +1 -0
- package/dist/utils/errors.d.ts +28 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +127 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/file-helpers.d.ts +14 -0
- package/dist/utils/file-helpers.d.ts.map +1 -0
- package/dist/utils/file-helpers.js +45 -0
- package/dist/utils/file-helpers.js.map +1 -0
- package/dist/utils/formatting.d.ts +30 -0
- package/dist/utils/formatting.d.ts.map +1 -0
- package/dist/utils/formatting.js +164 -0
- package/dist/utils/formatting.js.map +1 -0
- package/dist/utils/paths.d.ts +3 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +41 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/port-assignment.d.ts +6 -0
- package/dist/utils/port-assignment.d.ts.map +1 -0
- package/dist/utils/port-assignment.js +75 -0
- package/dist/utils/port-assignment.js.map +1 -0
- package/dist/utils/project-features.d.ts +23 -0
- package/dist/utils/project-features.d.ts.map +1 -0
- package/dist/utils/project-features.js +98 -0
- package/dist/utils/project-features.js.map +1 -0
- package/dist/utils/project-templates.d.ts +7 -0
- package/dist/utils/project-templates.d.ts.map +1 -0
- package/dist/utils/project-templates.js +24 -0
- package/dist/utils/project-templates.js.map +1 -0
- package/dist/utils/resource-features.d.ts +28 -0
- package/dist/utils/resource-features.d.ts.map +1 -0
- package/dist/utils/resource-features.js +148 -0
- package/dist/utils/resource-features.js.map +1 -0
- package/dist/utils/services.d.ts +18 -0
- package/dist/utils/services.d.ts.map +1 -0
- package/dist/utils/services.js +291 -0
- package/dist/utils/services.js.map +1 -0
- package/dist/utils/stack-features.d.ts +22 -0
- package/dist/utils/stack-features.d.ts.map +1 -0
- package/dist/utils/stack-features.js +13 -0
- package/dist/utils/stack-features.js.map +1 -0
- package/dist/utils/tar.d.ts +7 -0
- package/dist/utils/tar.d.ts.map +1 -0
- package/dist/utils/tar.js +21 -0
- package/dist/utils/tar.js.map +1 -0
- package/dist/utils/tilt.d.ts +18 -0
- package/dist/utils/tilt.d.ts.map +1 -0
- package/dist/utils/tilt.js +77 -0
- package/dist/utils/tilt.js.map +1 -0
- package/dist/utils/validation.d.ts +9 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +49 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +72 -0
- package/templates/.tiltignore.hbs +73 -0
- package/templates/TILT_RESOURCE_DEFAULTS.star.hbs +221 -0
- package/templates/TILT_TECH_STACK.star.hbs +150 -0
- package/templates/Tiltfile.hbs +295 -0
- package/templates/spec.master.hbs +186 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,cAAc,SAKvB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { getPackageVersion } from "../utils/paths.js";
|
|
3
|
+
export const versionCommand = new Command("version")
|
|
4
|
+
.description("Display version number")
|
|
5
|
+
.alias("v")
|
|
6
|
+
.action(() => {
|
|
7
|
+
console.log(getPackageVersion());
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,wBAAwB,CAAC;KACrC,KAAK,CAAC,GAAG,CAAC;KACV,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { BaseTooltipProps } from "../types/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Info tooltip variant with predefined accessibility styling.
|
|
5
|
+
* Uses ℹ prefix and adds margin for better visibility.
|
|
6
|
+
*/
|
|
7
|
+
export declare const AccessibleTooltip: React.FC<Pick<BaseTooltipProps, "content" | "shortcut" | "visible">>;
|
|
8
|
+
//# sourceMappingURL=Accessible.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accessible.d.ts","sourceRoot":"","sources":["../../src/components/Accessible.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CACtC,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAW3D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { BaseTooltip } from "./BaseTooltip.js";
|
|
3
|
+
/**
|
|
4
|
+
* Info tooltip variant with predefined accessibility styling.
|
|
5
|
+
* Uses ℹ prefix and adds margin for better visibility.
|
|
6
|
+
*/
|
|
7
|
+
export const AccessibleTooltip = ({ content, shortcut, visible }) => {
|
|
8
|
+
return (_jsx(BaseTooltip, { content: content, shortcut: shortcut, visible: visible, prefix: "\u2139 ", marginTop: 1 }));
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=Accessible.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accessible.js","sourceRoot":"","sources":["../../src/components/Accessible.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAE1B,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IACrC,OAAO,CACL,KAAC,WAAW,IACV,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,SAAI,EACX,SAAS,EAAE,CAAC,GACZ,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseTooltip.d.ts","sourceRoot":"","sources":["../../src/components/BaseTooltip.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA0ClD,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
export const BaseTooltip = ({ content, shortcut, visible, maxWidth = 40, wrapText = false, prefix = "", marginTop = 0, }) => {
|
|
4
|
+
if (!visible)
|
|
5
|
+
return null;
|
|
6
|
+
// Wrap text to maxWidth if requested
|
|
7
|
+
const lines = wrapText ? wrapContent(content, maxWidth) : [content];
|
|
8
|
+
return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "yellow", paddingX: 1, paddingY: 1, backgroundColor: "black", marginTop: marginTop, children: [lines.map((line, i) => (_jsxs(Text, { color: "yellow", children: [prefix, line] }, i))), shortcut && (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "gray", children: "Press " }), _jsx(Text, { color: "cyan", bold: true, children: shortcut.startsWith("[") ? shortcut : `[${shortcut}]` }), _jsx(Text, { color: "gray", children: " to use" })] }))] }));
|
|
9
|
+
};
|
|
10
|
+
function wrapContent(content, maxWidth) {
|
|
11
|
+
const words = content.split(" ");
|
|
12
|
+
const lines = [];
|
|
13
|
+
let currentLine = "";
|
|
14
|
+
for (const word of words) {
|
|
15
|
+
if ((currentLine + word).length > maxWidth - 2) {
|
|
16
|
+
lines.push(currentLine.trim());
|
|
17
|
+
currentLine = `${word} `;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
currentLine += `${word} `;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
if (currentLine) {
|
|
24
|
+
lines.push(currentLine.trim());
|
|
25
|
+
}
|
|
26
|
+
return lines;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=BaseTooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseTooltip.js","sourceRoot":"","sources":["../../src/components/BaseTooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAIhC,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EACtD,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,EAAE,EACb,QAAQ,GAAG,KAAK,EAChB,MAAM,GAAG,EAAE,EACX,SAAS,GAAG,CAAC,GACd,EAAE,EAAE;IACH,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,qCAAqC;IACrC,MAAM,KAAK,GAAa,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE9E,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,eAAe,EAAC,OAAO,EACvB,SAAS,EAAE,SAAS,aAEnB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAEtB,MAAC,IAAI,IAAS,KAAK,EAAC,QAAQ,aACzB,MAAM,EACN,IAAI,KAFI,CAAC,CAGL,CACR,CAAC,EACD,QAAQ,IAAI,CACX,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAc,EAChC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,kBACpB,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,GACjD,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,wBAAe,IAC7B,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,WAAW,CAAC,OAAe,EAAE,QAAgB;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,GAAG,EAAE,CAAC;IAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/B,WAAW,GAAG,GAAG,IAAI,GAAG,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,WAAW,IAAI,GAAG,IAAI,GAAG,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DetailPanel.d.ts","sourceRoot":"","sources":["../../src/components/DetailPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA4IlD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { formatDate, getStatusColor, getStatusIcon } from "../utils/formatting.js";
|
|
4
|
+
export const DetailPanel = ({ stack, service, stackMetadata, visible, }) => {
|
|
5
|
+
if (!visible) {
|
|
6
|
+
return _jsx(Box, { width: 0 });
|
|
7
|
+
}
|
|
8
|
+
if (service) {
|
|
9
|
+
return (_jsxs(Box, { width: 40, flexDirection: "column", borderStyle: "single", borderColor: "gray", paddingX: 1, paddingY: 1, children: [_jsx(Box, { marginBottom: 1, justifyContent: "center", children: _jsxs(Text, { color: "cyan", bold: true, children: ["\u250C\u2500 ", service.name.toUpperCase(), " \u2500\u2510"] }) }), _jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "Name: " }), _jsx(Text, { color: "white", children: service.name })] }), _jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "Stack: " }), _jsx(Text, { color: "white", children: service.stack || "unknown" })] }), _jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "Type: " }), _jsx(Text, { color: "yellow", children: (service.stack || "") === "platform" ? "PLATFORM" : "PRODUCT" })] })] }), _jsx(Box, { marginTop: 2, children: _jsxs(Text, { color: "gray", dimColor: true, children: ["Press ", _jsx(Text, { color: "cyan", children: "[Esc]" }), " to close"] }) })] }));
|
|
10
|
+
}
|
|
11
|
+
if (stack && stackMetadata) {
|
|
12
|
+
const statusColor = getStatusColor(stackMetadata.overallStatus);
|
|
13
|
+
const statusIcon = getStatusIcon(stackMetadata.overallStatus);
|
|
14
|
+
return (_jsxs(Box, { width: 40, flexDirection: "column", borderStyle: "single", borderColor: "gray", paddingX: 1, paddingY: 1, children: [_jsx(Box, { marginBottom: 1, justifyContent: "center", children: _jsxs(Text, { color: "cyan", bold: true, children: ["\u250C\u2500 ", stack.name.toUpperCase(), " \u2500\u2510"] }) }), _jsx(Box, { borderStyle: "single", borderColor: statusColor, paddingX: 1, paddingY: 1, marginY: 1, justifyContent: "center", children: _jsxs(Text, { color: statusColor, bold: true, children: [statusIcon, " ", stackMetadata.overallStatus.toUpperCase()] }) }), _jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "Created: " }), _jsx(Text, { color: "white", children: formatDate(stackMetadata.createdAt) })] }), _jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "Resources: " }), _jsx(Text, { color: "cyan", children: stackMetadata.resourceCount })] })] }), _jsx(Box, { marginTop: 1, marginBottom: 1, children: _jsx(Text, { color: "gray", underline: true, children: "Resources" }) }), _jsx(Box, { flexDirection: "column", children: stack.resources.map((svc, index) => (_jsxs(Box, { children: [_jsx(Text, { color: "gray", children: index === stack.resources.length - 1 ? "└─ " : "├─ " }), _jsx(Text, { color: "white", children: svc.name })] }, svc.name))) }), _jsx(Box, { marginTop: 2, children: _jsxs(Text, { color: "gray", dimColor: true, children: ["Press ", _jsx(Text, { color: "cyan", children: "[Esc]" }), " to close"] }) })] }));
|
|
15
|
+
}
|
|
16
|
+
return (_jsxs(Box, { width: 40, borderStyle: "single", borderColor: "gray", paddingX: 2, paddingY: 2, flexDirection: "column", children: [_jsx(Box, { marginBottom: 1, justifyContent: "center", children: _jsx(Text, { color: "gray", dimColor: true, children: "Select a stack or service" }) }), _jsx(Box, { justifyContent: "center", children: _jsx(Text, { color: "gray", dimColor: true, children: "to view details" }) })] }));
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=DetailPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DetailPanel.js","sourceRoot":"","sources":["../../src/components/DetailPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileTree.d.ts","sourceRoot":"","sources":["../../src/components/FileTree.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAY,aAAa,EAAY,MAAM,mBAAmB,CAAC;AAsB3E,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA+D5C,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { formatBytes } from "../utils/formatting.js";
|
|
5
|
+
const FILE_ICONS = {
|
|
6
|
+
docker: "🐳",
|
|
7
|
+
tilt: "⚙️",
|
|
8
|
+
config: "🔧",
|
|
9
|
+
prisma: "🗄️",
|
|
10
|
+
generated: "📄",
|
|
11
|
+
unknown: "📃",
|
|
12
|
+
};
|
|
13
|
+
const FILE_COLORS = {
|
|
14
|
+
docker: "blue",
|
|
15
|
+
tilt: "cyan",
|
|
16
|
+
config: "yellow",
|
|
17
|
+
prisma: "magenta",
|
|
18
|
+
generated: "gray",
|
|
19
|
+
unknown: "white",
|
|
20
|
+
};
|
|
21
|
+
// biome-ignore lint/correctness/noUnusedFunctionParameters: reserved callback prop kept in the component API
|
|
22
|
+
export const FileTree = ({ nodes, onSelect, selectedPath }) => {
|
|
23
|
+
const [expandedNodes, setExpandedNodes] = useState(new Set());
|
|
24
|
+
const _toggleNode = (path) => {
|
|
25
|
+
const newExpanded = new Set(expandedNodes);
|
|
26
|
+
if (newExpanded.has(path)) {
|
|
27
|
+
newExpanded.delete(path);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
newExpanded.add(path);
|
|
31
|
+
}
|
|
32
|
+
setExpandedNodes(newExpanded);
|
|
33
|
+
};
|
|
34
|
+
const renderNode = (node, depth = 0) => {
|
|
35
|
+
const isExpanded = expandedNodes.has(node.path);
|
|
36
|
+
const isSelected = selectedPath === node.path;
|
|
37
|
+
const indent = " ".repeat(depth);
|
|
38
|
+
if (node.type === "directory") {
|
|
39
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { children: _jsxs(Text, { color: isSelected ? "cyan" : "white", bold: isSelected, backgroundColor: isSelected ? "blue" : undefined, children: [indent, isExpanded ? "▼" : "▶", " ", node.name] }) }), isExpanded && node.children?.map((child) => renderNode(child, depth + 1))] }, node.path));
|
|
40
|
+
}
|
|
41
|
+
const icon = node.fileType ? FILE_ICONS[node.fileType] : FILE_ICONS.unknown;
|
|
42
|
+
const color = node.fileType ? FILE_COLORS[node.fileType] : FILE_COLORS.unknown;
|
|
43
|
+
return (_jsxs(Box, { children: [_jsxs(Text, { color: isSelected ? "cyan" : color, bold: isSelected, backgroundColor: isSelected ? "blue" : undefined, children: [indent, " ", icon, " ", node.name] }), node.size && (_jsxs(Text, { color: "gray", dimColor: true, children: [" ", "(", formatBytes(node.size), ")"] }))] }, node.path));
|
|
44
|
+
};
|
|
45
|
+
return (_jsx(Box, { flexDirection: "column", paddingX: 1, children: nodes.map((node) => renderNode(node, 0)) }));
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=FileTree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileTree.js","sourceRoot":"","sources":["../../src/components/FileTree.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceSelectInput.d.ts","sourceRoot":"","sources":["../../src/components/ResourceSelectInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAElE,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAwBlE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Text } from "ink";
|
|
3
|
+
import SelectInput from "ink-select-input";
|
|
4
|
+
export const ResourceSelectInput = ({ items, onSelect, highlightedIndex, }) => {
|
|
5
|
+
return (_jsx(SelectInput, { items: items, onSelect: onSelect, initialIndex: highlightedIndex, indicatorComponent: ({ isSelected }) => (_jsx(Text, { color: isSelected ? "cyan" : undefined, children: isSelected ? "▓▒░ " : " " })), itemComponent: ({ isSelected, label }) => (_jsx(Text, { color: isSelected ? "cyan" : "white", bold: isSelected, backgroundColor: isSelected ? "black" : undefined, children: label })) }));
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=ResourceSelectInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceSelectInput.js","sourceRoot":"","sources":["../../src/components/ResourceSelectInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAI3C,MAAM,CAAC,MAAM,mBAAmB,GAAuC,CAAC,EACtE,KAAK,EACL,QAAQ,EACR,gBAAgB,GACjB,EAAE,EAAE;IACH,OAAO,CACL,KAAC,WAAW,IACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,gBAAgB,EAC9B,kBAAkB,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CACtC,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAQ,CACpF,EACD,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACxC,KAAC,IAAI,IACH,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EACpC,IAAI,EAAE,UAAU,EAChB,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,YAEhD,KAAK,GACD,CACR,GACD,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceTable.d.ts","sourceRoot":"","sources":["../../src/components/ResourceTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAwEtD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { formatShortDate, getStatusColor, getStatusIcon, truncate } from "../utils/formatting.js";
|
|
4
|
+
export const ResourceTable = ({ resources, maxWidth = 100 }) => {
|
|
5
|
+
if (resources.length === 0) {
|
|
6
|
+
return (_jsx(Box, { paddingY: 1, children: _jsx(Text, { color: "gray", children: "No resources found" }) }));
|
|
7
|
+
}
|
|
8
|
+
const narrowMode = maxWidth < 80;
|
|
9
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { flexDirection: "row", borderStyle: "single", borderColor: "gray", paddingX: 1, children: [_jsx(Box, { width: narrowMode ? 20 : 25, children: _jsx(Text, { bold: true, children: "Logical ID" }) }), !narrowMode && (_jsx(Box, { width: 20, children: _jsx(Text, { bold: true, children: "Physical ID" }) })), _jsx(Box, { width: 12, children: _jsx(Text, { bold: true, children: "Type" }) }), _jsx(Box, { width: 15, children: _jsx(Text, { bold: true, children: "Status" }) }), !narrowMode && (_jsx(Box, { width: 20, children: _jsx(Text, { bold: true, children: "Created" }) }))] }), resources.map((resource, index) => {
|
|
10
|
+
const statusColor = getStatusColor(resource.status);
|
|
11
|
+
const statusIcon = getStatusIcon(resource.status);
|
|
12
|
+
const _isEven = index % 2 === 0;
|
|
13
|
+
return (_jsxs(Box, { flexDirection: "row", paddingX: 1, children: [_jsx(Box, { width: narrowMode ? 20 : 25, children: _jsx(Text, { children: truncate(resource.name, narrowMode ? 18 : 23) }) }), !narrowMode && (_jsx(Box, { width: 20, children: _jsx(Text, { color: "gray", children: resource.stack && resource.stack !== "unknown"
|
|
14
|
+
? truncate(`${resource.stack}/${resource.name}`, 18)
|
|
15
|
+
: truncate(resource.name, 18) }) })), _jsx(Box, { width: 12, children: _jsx(Text, { color: "cyan", children: resource.type }) }), _jsx(Box, { width: 15, children: _jsxs(Text, { color: statusColor, children: [statusIcon, " ", resource.status] }) }), !narrowMode && (_jsx(Box, { width: 20, children: _jsx(Text, { color: "gray", children: formatShortDate(resource.createdAt) }) }))] }, resource.name));
|
|
16
|
+
})] }));
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=ResourceTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceTable.js","sourceRoot":"","sources":["../../src/components/ResourceTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAGhC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElG,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,GAAG,EAAE,EAAE,EAAE;IAC3F,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CACL,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,mCAA0B,GACxC,CACP,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,GAAG,EAAE,CAAC;IAEjC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,aAC1E,KAAC,GAAG,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAC9B,KAAC,IAAI,IAAC,IAAI,iCAAkB,GACxB,EACL,CAAC,UAAU,IAAI,CACd,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,KAAC,IAAI,IAAC,IAAI,kCAAmB,GACzB,CACP,EACD,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,KAAC,IAAI,IAAC,IAAI,2BAAY,GAClB,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,KAAC,IAAI,IAAC,IAAI,6BAAc,GACpB,EACL,CAAC,UAAU,IAAI,CACd,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,KAAC,IAAI,IAAC,IAAI,8BAAe,GACrB,CACP,IACG,EAEL,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;gBACjC,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACpD,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;gBAEhC,OAAO,CACL,MAAC,GAAG,IAAqB,aAAa,EAAC,KAAK,EAAC,QAAQ,EAAE,CAAC,aACtD,KAAC,GAAG,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAC9B,KAAC,IAAI,cAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAQ,GACxD,EACL,CAAC,UAAU,IAAI,CACd,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YACf,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;oCAC7C,CAAC,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;oCACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,GAC1B,GACH,CACP,EACD,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,QAAQ,CAAC,IAAI,GAAQ,GACrC,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,MAAC,IAAI,IAAC,KAAK,EAAE,WAAW,aACrB,UAAU,OAAG,QAAQ,CAAC,MAAM,IACxB,GACH,EACL,CAAC,UAAU,IAAI,CACd,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAQ,GAC3D,CACP,KAzBO,QAAQ,CAAC,IAAI,CA0BjB,CACP,CAAC;YACJ,CAAC,CAAC,IACE,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../src/components/TabBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAO,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAW1D,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAuCxC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
const TABS = [
|
|
4
|
+
{ id: "overview", label: "OVERVIEW", shortcut: "1" },
|
|
5
|
+
{ id: "resources", label: "RESOURCES", shortcut: "2" },
|
|
6
|
+
{ id: "events", label: "EVENTS", shortcut: "3" },
|
|
7
|
+
{ id: "files", label: "FILES", shortcut: "4" },
|
|
8
|
+
{ id: "config", label: "CONFIG", shortcut: "5" },
|
|
9
|
+
];
|
|
10
|
+
// biome-ignore lint/correctness/noUnusedFunctionParameters: reserved callback prop kept in the component API
|
|
11
|
+
export const TabBar = ({ activeTab, onTabChange, compact = false }) => {
|
|
12
|
+
return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: "gray", children: "─".repeat(compact ? 60 : 80) }) }), _jsx(Box, { flexDirection: "row", justifyContent: "space-between", paddingX: 1, children: TABS.map((tab) => {
|
|
13
|
+
const isActive = activeTab === tab.id;
|
|
14
|
+
return (_jsx(Box, { children: isActive ? (_jsx(Box, { borderStyle: "single", borderColor: "cyan", paddingX: 1, backgroundColor: "black", children: _jsxs(Text, { children: [_jsx(Text, { color: "cyan", children: "\u2593\u2592\u2591" }), _jsxs(Text, { color: "cyan", bold: true, children: [" ", "[", tab.shortcut, "] ", tab.label, " "] }), _jsx(Text, { color: "cyan", children: "\u2591\u2592\u2593" })] }) })) : (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { color: "gray", dimColor: true, children: ["[", tab.shortcut, "] ", compact ? tab.label.slice(0, 4) : tab.label] }) })) }, tab.id));
|
|
15
|
+
}) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", children: "─".repeat(compact ? 60 : 80) }) })] }));
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=TabBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabBar.js","sourceRoot":"","sources":["../../src/components/TabBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAIhC,MAAM,IAAI,GAAU;IAClB,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE;IACpD,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE;IACtD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE;IAChD,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE;IAC9C,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE;CACjD,CAAC;AAEF,6GAA6G;AAC7G,MAAM,CAAC,MAAM,MAAM,GAA0B,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE,EAAE;IAC3F,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACrC,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAClB,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAQ,GACrD,EACN,KAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,cAAc,EAAC,eAAe,EAAC,QAAQ,EAAE,CAAC,YAChE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAChB,MAAM,QAAQ,GAAG,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC;oBAEtC,OAAO,CACL,KAAC,GAAG,cACD,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,GAAG,IAAC,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAC,OAAO,YAC/E,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,mCAAW,EAC7B,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,mBACpB,GAAG,OACF,GAAG,CAAC,QAAQ,QAAI,GAAG,CAAC,KAAK,EAAE,GAAG,IAC3B,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,mCAAW,IACxB,GACH,CACP,CAAC,CAAC,CAAC,CACF,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,QAAQ,wBACvB,GAAG,CAAC,QAAQ,QAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IACxD,GACH,CACP,IAlBO,GAAG,CAAC,EAAE,CAmBV,CACP,CAAC;gBACJ,CAAC,CAAC,GACE,EACN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAQ,GACrD,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const TOOLTIPS: {
|
|
2
|
+
overviewTab: string;
|
|
3
|
+
resourcesTab: string;
|
|
4
|
+
eventsTab: string;
|
|
5
|
+
filesTab: string;
|
|
6
|
+
configTab: string;
|
|
7
|
+
search: string;
|
|
8
|
+
refresh: string;
|
|
9
|
+
help: string;
|
|
10
|
+
quit: string;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=Tooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/components/Tooltip.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;IACnB,WAAW;IACX,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,IAAI;IACJ,IAAI;CACL,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const TOOLTIPS = {
|
|
2
|
+
overviewTab: "View all stacks and their resources",
|
|
3
|
+
resourcesTab: "Detailed resource list with metadata",
|
|
4
|
+
eventsTab: "Service lifecycle events timeline",
|
|
5
|
+
filesTab: "Browse autogenerated configuration files",
|
|
6
|
+
configTab: "View and edit service configurations",
|
|
7
|
+
search: "Filter services by name, stack, or type",
|
|
8
|
+
refresh: "Reload data from Tilt API",
|
|
9
|
+
help: "Show keyboard shortcuts and help",
|
|
10
|
+
quit: "Exit the TUI",
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../src/components/Tooltip.tsx"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,WAAW,EAAE,qCAAqC;IAClD,YAAY,EAAE,sCAAsC;IACpD,SAAS,EAAE,mCAAmC;IAC9C,QAAQ,EAAE,0CAA0C;IACpD,SAAS,EAAE,sCAAsC;IACjD,MAAM,EAAE,yCAAyC;IACjD,OAAO,EAAE,2BAA2B;IACpC,IAAI,EAAE,kCAAkC;IACxC,IAAI,EAAE,cAAc;CACrB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { AccessibleTooltip } from "./Accessible.js";
|
|
2
|
+
export { DetailPanel } from "./DetailPanel.js";
|
|
3
|
+
export { FileTree } from "./FileTree.js";
|
|
4
|
+
export { ResourceSelectInput } from "./ResourceSelectInput.js";
|
|
5
|
+
export { ResourceTable } from "./ResourceTable.js";
|
|
6
|
+
export { TabBar } from "./TabBar.js";
|
|
7
|
+
export { TOOLTIPS } from "./Tooltip.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { AccessibleTooltip } from "./Accessible.js";
|
|
2
|
+
export { DetailPanel } from "./DetailPanel.js";
|
|
3
|
+
export { FileTree } from "./FileTree.js";
|
|
4
|
+
export { ResourceSelectInput } from "./ResourceSelectInput.js";
|
|
5
|
+
export { ResourceTable } from "./ResourceTable.js";
|
|
6
|
+
export { TabBar } from "./TabBar.js";
|
|
7
|
+
export { TOOLTIPS } from "./Tooltip.js";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
export declare const PLATFORM_STANDARDS: {
|
|
2
|
+
readonly version: "1.0.0";
|
|
3
|
+
readonly tech: {
|
|
4
|
+
readonly runtime: "bun";
|
|
5
|
+
readonly bundler: "vite";
|
|
6
|
+
readonly language: "typescript";
|
|
7
|
+
readonly framework: "hono";
|
|
8
|
+
readonly database: "postgresql";
|
|
9
|
+
readonly orm: "prisma";
|
|
10
|
+
readonly messaging: "nats";
|
|
11
|
+
readonly linting: "biome";
|
|
12
|
+
readonly testing: "vitest";
|
|
13
|
+
};
|
|
14
|
+
readonly ports: {
|
|
15
|
+
readonly frontend: {
|
|
16
|
+
readonly base: 3000;
|
|
17
|
+
readonly range: "3000-3999";
|
|
18
|
+
readonly start: 3000;
|
|
19
|
+
readonly end: 3999;
|
|
20
|
+
};
|
|
21
|
+
readonly backend: {
|
|
22
|
+
readonly base: 4000;
|
|
23
|
+
readonly range: "4000-4999";
|
|
24
|
+
readonly start: 4000;
|
|
25
|
+
readonly end: 4999;
|
|
26
|
+
};
|
|
27
|
+
readonly health: {
|
|
28
|
+
readonly base: 5000;
|
|
29
|
+
readonly range: "5000-5999";
|
|
30
|
+
readonly start: 5000;
|
|
31
|
+
readonly end: 5999;
|
|
32
|
+
};
|
|
33
|
+
readonly worker: {
|
|
34
|
+
readonly base: 6000;
|
|
35
|
+
readonly range: "6000-6999";
|
|
36
|
+
readonly start: 6000;
|
|
37
|
+
readonly end: 6999;
|
|
38
|
+
};
|
|
39
|
+
readonly migrator: {
|
|
40
|
+
readonly base: 7000;
|
|
41
|
+
readonly range: "7000-7999";
|
|
42
|
+
readonly start: 7000;
|
|
43
|
+
readonly end: 7999;
|
|
44
|
+
};
|
|
45
|
+
readonly tiltUi: 10350;
|
|
46
|
+
readonly traefik: 8080;
|
|
47
|
+
};
|
|
48
|
+
readonly health: {
|
|
49
|
+
readonly path: "/health";
|
|
50
|
+
readonly live: "/health/live";
|
|
51
|
+
readonly ready: "/health/ready";
|
|
52
|
+
readonly timeout: 30;
|
|
53
|
+
readonly interval: 5;
|
|
54
|
+
};
|
|
55
|
+
readonly naming: {
|
|
56
|
+
readonly frontend: "-frontend";
|
|
57
|
+
readonly backend: "-backend";
|
|
58
|
+
readonly worker: "-worker";
|
|
59
|
+
readonly migrator: "-migrator";
|
|
60
|
+
readonly library: "-lib";
|
|
61
|
+
readonly sdk: "-sdk";
|
|
62
|
+
readonly validSeparators: readonly ["-", "_"];
|
|
63
|
+
readonly maxLength: 63;
|
|
64
|
+
readonly minLength: 3;
|
|
65
|
+
};
|
|
66
|
+
readonly traefik: {
|
|
67
|
+
readonly entrypoint: "web";
|
|
68
|
+
readonly network: "traefik-public";
|
|
69
|
+
readonly defaultHost: "localhost";
|
|
70
|
+
readonly appHost: "app.localhost";
|
|
71
|
+
readonly apiHost: "api.localhost";
|
|
72
|
+
readonly appSubdomainPrefix: "app";
|
|
73
|
+
readonly apiSubdomainPrefix: "api";
|
|
74
|
+
readonly defaultPort: 8080;
|
|
75
|
+
readonly tlsEnabled: false;
|
|
76
|
+
readonly entrypoints: readonly ["web"];
|
|
77
|
+
readonly middlewares: readonly [];
|
|
78
|
+
readonly tls: {
|
|
79
|
+
readonly enabled: false;
|
|
80
|
+
};
|
|
81
|
+
readonly healthcheckPath: "/health";
|
|
82
|
+
readonly healthcheckInterval: "10s";
|
|
83
|
+
readonly healthcheckTimeout: "5s";
|
|
84
|
+
readonly frontendPriorityBase: 100;
|
|
85
|
+
};
|
|
86
|
+
readonly filewatchIgnores: readonly ["node_modules", "dist", "build", ".git", ".prisma", ".turbo", "coverage", "tmp", "temp", "__tests__", "test", "tests"];
|
|
87
|
+
readonly serviceTypes: {
|
|
88
|
+
readonly frontend: {
|
|
89
|
+
readonly suffix: "-frontend";
|
|
90
|
+
readonly portRange: "3000-3999";
|
|
91
|
+
};
|
|
92
|
+
readonly backend: {
|
|
93
|
+
readonly suffix: "-backend";
|
|
94
|
+
readonly portRange: "4000-4999";
|
|
95
|
+
};
|
|
96
|
+
readonly library: {
|
|
97
|
+
readonly suffix: "-library";
|
|
98
|
+
readonly portRange: null;
|
|
99
|
+
};
|
|
100
|
+
readonly sdk: {
|
|
101
|
+
readonly suffix: "-sdk";
|
|
102
|
+
readonly portRange: "3000-9999";
|
|
103
|
+
};
|
|
104
|
+
readonly migrator: {
|
|
105
|
+
readonly suffix: "-migrator";
|
|
106
|
+
readonly portRange: "7000-7999";
|
|
107
|
+
};
|
|
108
|
+
readonly worker: {
|
|
109
|
+
readonly suffix: "-worker";
|
|
110
|
+
readonly portRange: "6000-6999";
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
readonly features: {
|
|
114
|
+
readonly prisma: "Database ORM with migrations";
|
|
115
|
+
readonly nats: "Event streaming via NATS";
|
|
116
|
+
readonly redis: "Caching layer";
|
|
117
|
+
readonly infisical: "Secrets management";
|
|
118
|
+
readonly vitest: "Testing framework";
|
|
119
|
+
readonly traefik: "HTTP routing";
|
|
120
|
+
readonly websocket: "Real-time connections";
|
|
121
|
+
readonly graphql: "GraphQL support";
|
|
122
|
+
readonly grpc: "gRPC support";
|
|
123
|
+
readonly viteNode: "Vite Node runtime";
|
|
124
|
+
readonly maintenance: "Maintenance mode";
|
|
125
|
+
};
|
|
126
|
+
readonly paths: {
|
|
127
|
+
readonly services: "services/product";
|
|
128
|
+
readonly sharedPlatform: "shared-platform-engineering";
|
|
129
|
+
readonly sharedProduct: "shared-product-engineering";
|
|
130
|
+
readonly sharedDdd: "shared-ddd-layers";
|
|
131
|
+
};
|
|
132
|
+
readonly discovery: {
|
|
133
|
+
readonly scanIntervalSeconds: 5;
|
|
134
|
+
readonly maxManifestsPerRoot: 50;
|
|
135
|
+
readonly servicePatterns: readonly ["services/product/*", "services/platform/*"];
|
|
136
|
+
};
|
|
137
|
+
readonly docker: {
|
|
138
|
+
readonly dockerfile: "Dockerfile";
|
|
139
|
+
readonly context: ".";
|
|
140
|
+
};
|
|
141
|
+
readonly runtime: {
|
|
142
|
+
readonly backend: {
|
|
143
|
+
readonly command: "bun";
|
|
144
|
+
readonly args: readonly ["run", "dev"];
|
|
145
|
+
readonly env: {
|
|
146
|
+
readonly NODE_ENV: "development";
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
readonly frontend: {
|
|
150
|
+
readonly command: "bun";
|
|
151
|
+
readonly args: readonly ["run", "dev"];
|
|
152
|
+
readonly env: {
|
|
153
|
+
readonly NODE_ENV: "development";
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
export type PlatformStandards = typeof PLATFORM_STANDARDS;
|
|
159
|
+
//# sourceMappingURL=platform-standards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-standards.d.ts","sourceRoot":"","sources":["../../src/config/platform-standards.ts"],"names":[],"mappings":"AAmLA,eAAO,MAAM,kBAAkB;aAC7B,OAAO;aACP,IAAI;0BAhLK,KAAK;0BACL,MAAM;2BACL,YAAY;4BACX,MAAM;2BACP,YAAY;sBACjB,QAAQ;4BACF,MAAM;0BACR,OAAO;0BACP,QAAQ;;aAyKjB,KAAK;;qBApKH,IAAI;qBACJ,KAAK;qBACL,KAAK;qBACL,GAAG;;;qBAGH,IAAI;qBACJ,KAAK;qBACL,KAAK;qBACL,GAAG;;;qBAGH,IAAI;qBACJ,KAAK;qBACL,KAAK;qBACL,GAAG;;;qBAGH,IAAI;qBACJ,KAAK;qBACL,KAAK;qBACL,GAAG;;;qBAGH,IAAI;qBACJ,KAAK;qBACL,KAAK;qBACL,GAAG;;;;;aA0IL,MAAM;uBAnIA,SAAS;uBACT,cAAc;wBACb,eAAe;0BACb,EAAE;2BACD,CAAC;;aAgIX,MAAM;2BA5HI,WAAW;0BACZ,UAAU;yBACX,SAAS;2BACP,WAAW;0BACZ,MAAM;sBACV,MAAM;4CACO,GAAG,EAAE,GAAG;4BACf,EAAE;4BACF,CAAC;;aAqHZ,OAAO;6BAjHK,KAAK;0BACR,gBAAgB;8BACZ,WAAW;0BACf,eAAe;0BACf,eAAe;qCACJ,KAAK;qCACL,KAAK;8BACZ,IAAI;;wCAEH,KAAK;;;qBAEZ,OAAO;;kCACG,SAAS;sCACL,KAAK;qCACN,IAAI;uCACF,GAAG;;aAmGzB,gBAAgB;aAChB,YAAY;;qBAhFV,MAAM,EAAE,WAAW;qBACnB,SAAS,EAAE,WAAW;;;qBAGtB,MAAM,EAAE,UAAU;qBAClB,SAAS,EAAE,WAAW;;;qBAGtB,MAAM,EAAE,UAAU;qBAClB,SAAS;;;qBAGT,MAAM,EAAE,MAAM;qBACd,SAAS,EAAE,WAAW;;;qBAGtB,MAAM,EAAE,WAAW;qBACnB,SAAS,EAAE,WAAW;;;qBAGtB,MAAM,EAAE,SAAS;qBACjB,SAAS,EAAE,WAAW;;;aA4DxB,QAAQ;yBAvDA,8BAA8B;uBAChC,0BAA0B;wBACzB,eAAe;4BACX,oBAAoB;yBACvB,mBAAmB;0BAClB,cAAc;4BACZ,uBAAuB;0BACzB,iBAAiB;uBACpB,cAAc;2BACV,mBAAmB;8BAChB,kBAAkB;;aA8C/B,KAAK;2BA1CK,kBAAkB;iCACZ,6BAA6B;gCAC9B,4BAA4B;4BAChC,mBAAmB;;aAwC9B,SAAS;sCApCY,CAAC;sCACD,EAAE;4CACL,oBAAoB,EAAE,qBAAqB;;aAmC7D,MAAM;6BA/BM,YAAY;0BACf,GAAG;;aA+BZ,OAAO;;qBAxBL,OAAO,EAAE,KAAK;qBACd,IAAI,YAAG,KAAK,EAAE,KAAK;qBACnB,GAAG;yBAAI,QAAQ,EAAE,aAAa;;;;qBAG9B,OAAO,EAAE,KAAK;qBACd,IAAI,YAAG,KAAK,EAAE,KAAK;qBACnB,GAAG;yBAAI,QAAQ,EAAE,aAAa;;;;CAkBxB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,kBAAkB,CAAC"}
|