create-hq 10.7.1 → 10.9.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.
Files changed (56) hide show
  1. package/commands/invite.md +215 -0
  2. package/commands/promote.md +161 -0
  3. package/commands/team-sync.md +431 -0
  4. package/dist/__tests__/auth.test.d.ts +2 -0
  5. package/dist/__tests__/auth.test.d.ts.map +1 -0
  6. package/dist/__tests__/auth.test.js +201 -0
  7. package/dist/__tests__/auth.test.js.map +1 -0
  8. package/dist/__tests__/scaffold.test.js +14 -1
  9. package/dist/__tests__/scaffold.test.js.map +1 -1
  10. package/dist/admin-onboarding.d.ts.map +1 -1
  11. package/dist/admin-onboarding.js +11 -0
  12. package/dist/admin-onboarding.js.map +1 -1
  13. package/dist/auth.d.ts +58 -13
  14. package/dist/auth.d.ts.map +1 -1
  15. package/dist/auth.js +105 -29
  16. package/dist/auth.js.map +1 -1
  17. package/dist/fetch-template.d.ts +3 -3
  18. package/dist/fetch-template.d.ts.map +1 -1
  19. package/dist/fetch-template.js +93 -71
  20. package/dist/fetch-template.js.map +1 -1
  21. package/dist/git.d.ts +12 -1
  22. package/dist/git.d.ts.map +1 -1
  23. package/dist/git.js +40 -20
  24. package/dist/git.js.map +1 -1
  25. package/dist/index.js +0 -0
  26. package/dist/join-flow.d.ts.map +1 -1
  27. package/dist/join-flow.js +11 -0
  28. package/dist/join-flow.js.map +1 -1
  29. package/dist/scaffold.d.ts.map +1 -1
  30. package/dist/scaffold.js +48 -13
  31. package/dist/scaffold.js.map +1 -1
  32. package/dist/team-setup.d.ts +25 -0
  33. package/dist/team-setup.d.ts.map +1 -1
  34. package/dist/team-setup.js +113 -0
  35. package/dist/team-setup.js.map +1 -1
  36. package/dist/teams-flow.d.ts +7 -2
  37. package/dist/teams-flow.d.ts.map +1 -1
  38. package/dist/teams-flow.js +31 -8
  39. package/dist/teams-flow.js.map +1 -1
  40. package/dist/ui.d.ts +3 -0
  41. package/dist/ui.d.ts.map +1 -1
  42. package/dist/ui.js +79 -3
  43. package/dist/ui.js.map +1 -1
  44. package/package.json +3 -2
  45. package/dist/art.d.ts +0 -17
  46. package/dist/art.d.ts.map +0 -1
  47. package/dist/art.js +0 -171
  48. package/dist/art.js.map +0 -1
  49. package/dist/cloud.d.ts +0 -26
  50. package/dist/cloud.d.ts.map +0 -1
  51. package/dist/cloud.js +0 -126
  52. package/dist/cloud.js.map +0 -1
  53. package/dist/tui.d.ts +0 -8
  54. package/dist/tui.d.ts.map +0 -1
  55. package/dist/tui.js +0 -86
  56. package/dist/tui.js.map +0 -1
package/dist/art.js DELETED
@@ -1,171 +0,0 @@
1
- import chalk from "chalk";
2
- const VERSION = "7.0.0";
3
- /**
4
- * Raw banner lines without ANSI codes — testable.
5
- */
6
- export function bannerLines() {
7
- return [
8
- "",
9
- " ┌──────────┐",
10
- " │ ╔══════╗│",
11
- " │ ║INDIGO║│",
12
- " │ ║ HQ ║│",
13
- " │ ╚══════╝│",
14
- " ┌────┴──────────┴────┐",
15
- " │ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
16
- " │ ░░ ▓▓ ░░ ▓▓ ░░ │",
17
- " │ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
18
- " ┌────┴────────────────────┴────┐",
19
- " │ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
20
- " │ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ │",
21
- " │ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
22
- " ┌────┴─────────────────────────────┴────┐",
23
- " │ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
24
- " │ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ │",
25
- " │ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
26
- " │ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ │",
27
- " ┌────┴──────────────────────────────────────┴────┐",
28
- " │ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
29
- " │ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ │",
30
- " │ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
31
- " │ ┌──────────────┐ │",
32
- " │ │ ════════ │ │",
33
- " └───────┴──────────────┴───────┘",
34
- "",
35
- " ██╗███╗ ██╗██████╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ",
36
- " ██║████╗ ██║██╔══██╗██║██╔════╝ ██╔═══██╗ ██║ ██║██╔═══██╗",
37
- " ██║██╔██╗ ██║██║ ██║██║██║ ███╗██║ ██║ ███████║██║ ██║",
38
- " ██║██║╚██╗██║██║ ██║██║██║ ██║██║ ██║ ██╔══██║██║▄▄ ██║",
39
- " ██║██║ ╚████║██████╔╝██║╚██████╔╝╚██████╔╝ ██║ ██║╚██████╔╝",
40
- " ╚═╝╚═╝ ╚═══╝╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚══▀▀═╝ ",
41
- "",
42
- ` Personal OS for AI Workers v${VERSION}`,
43
- "",
44
- ];
45
- }
46
- /**
47
- * Raw compact banner lines without ANSI codes — testable.
48
- */
49
- export function compactBannerLines() {
50
- return [
51
- "",
52
- " ┌────────────┐",
53
- " │ ╔════════╗ │",
54
- " │ ║INDIGOHQ║ │",
55
- " │ ╚════════╝ │",
56
- " ┌────┴────────────┴────┐",
57
- " │ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
58
- " │ ░░ ▓▓ ░░ ▓▓ ░░ │",
59
- " │ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
60
- " │ ░░ ▓▓ ░░ ▓▓ ░░ │",
61
- " │ ▓▓ ░░ ▓▓ ░░ ▓▓ │",
62
- " │ ┌──────┐ │",
63
- " │ │ ════ │ │",
64
- " └────┴──────┴────────┘",
65
- "",
66
- " ██╗██╗ ██╗ ██████╗ ",
67
- " ██║██║ ██║██╔═══██╗",
68
- " ██║███████║██║ ██║",
69
- " ██║██╔══██║██║▄▄ ██║",
70
- " ██║██║ ██║╚██████╔╝",
71
- " ╚═╝╚═╝ ╚═╝ ╚══▀▀═╝",
72
- "",
73
- " Personal OS for AI Workers",
74
- ` v${VERSION}`,
75
- "",
76
- ];
77
- }
78
- /**
79
- * Full-width ASCII art banner (80 cols) — retro office building + INDIGO HQ
80
- */
81
- export function banner() {
82
- const b = chalk.cyan; // building structure
83
- const bd = chalk.cyanBright; // building highlights
84
- const w = chalk.blueBright; // windows (lit)
85
- const wd = chalk.blue; // windows (dark)
86
- const t = chalk.bold.whiteBright; // title text
87
- const dim = chalk.dim;
88
- const lines = [
89
- "",
90
- b(" ┌──────────┐"),
91
- b(" │") + bd(" ╔══════╗") + b("│"),
92
- b(" │") + bd(" ║INDIGO║") + b("│"),
93
- b(" │") + bd(" ║ HQ ║") + b("│"),
94
- b(" │") + bd(" ╚══════╝") + b("│"),
95
- b(" ┌────┴──────────┴────┐"),
96
- b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
97
- b(" │") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + b("│"),
98
- b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
99
- b(" ┌────┴────────────────────┴────┐"),
100
- b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
101
- b(" │") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + b("│"),
102
- b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
103
- b(" ┌────┴─────────────────────────────┴────┐"),
104
- b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
105
- b(" │") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + b("│"),
106
- b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
107
- b(" │") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + b("│"),
108
- b(" ┌────┴──────────────────────────────────────┴────┐"),
109
- b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
110
- b(" │") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + b("│"),
111
- b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
112
- b(" │") + wd(" ") + b("┌──────────────┐") + wd(" ") + b("│"),
113
- b(" │") + wd(" ") + b("│") + bd(" ════════ ") + b("│") + wd(" ") + b("│"),
114
- b(" └───────┴──────────────┴───────┘"),
115
- "",
116
- t(" ██╗███╗ ██╗██████╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ "),
117
- t(" ██║████╗ ██║██╔══██╗██║██╔════╝ ██╔═══██╗ ██║ ██║██╔═══██╗"),
118
- t(" ██║██╔██╗ ██║██║ ██║██║██║ ███╗██║ ██║ ███████║██║ ██║"),
119
- t(" ██║██║╚██╗██║██║ ██║██║██║ ██║██║ ██║ ██╔══██║██║▄▄ ██║"),
120
- t(" ██║██║ ╚████║██████╔╝██║╚██████╔╝╚██████╔╝ ██║ ██║╚██████╔╝"),
121
- t(" ╚═╝╚═╝ ╚═══╝╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚══▀▀═╝ "),
122
- "",
123
- dim(" Personal OS for AI Workers") + dim(` v${VERSION}`),
124
- "",
125
- ];
126
- for (const line of lines) {
127
- console.log(line);
128
- }
129
- }
130
- /**
131
- * Compact banner for narrow terminals (< 80 cols)
132
- */
133
- export function compactBanner() {
134
- const b = chalk.cyan;
135
- const bd = chalk.cyanBright;
136
- const w = chalk.blueBright;
137
- const wd = chalk.blue;
138
- const t = chalk.bold.whiteBright;
139
- const dim = chalk.dim;
140
- const lines = [
141
- "",
142
- b(" ┌────────────┐"),
143
- b(" │") + bd(" ╔════════╗ ") + b("│"),
144
- b(" │") + bd(" ║INDIGOHQ║ ") + b("│"),
145
- b(" │") + bd(" ╚════════╝ ") + b("│"),
146
- b(" ┌────┴────────────┴────┐"),
147
- b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
148
- b(" │") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + b("│"),
149
- b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
150
- b(" │") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + b("│"),
151
- b(" │") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + wd(" ░░ ") + w(" ▓▓ ") + b("│"),
152
- b(" │") + wd(" ") + b("┌──────┐") + wd(" ") + b("│"),
153
- b(" │") + wd(" ") + b("│") + bd(" ════ ") + b("│") + wd(" ") + b("│"),
154
- b(" └────┴──────┴────────┘"),
155
- "",
156
- t(" ██╗██╗ ██╗ ██████╗ "),
157
- t(" ██║██║ ██║██╔═══██╗"),
158
- t(" ██║███████║██║ ██║"),
159
- t(" ██║██╔══██║██║▄▄ ██║"),
160
- t(" ██║██║ ██║╚██████╔╝"),
161
- t(" ╚═╝╚═╝ ╚═╝ ╚══▀▀═╝"),
162
- "",
163
- dim(" Personal OS for AI Workers"),
164
- dim(` v${VERSION}`),
165
- "",
166
- ];
167
- for (const line of lines) {
168
- console.log(line);
169
- }
170
- }
171
- //# sourceMappingURL=art.js.map
package/dist/art.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"art.js","sourceRoot":"","sources":["../src/art.ts"],"names":[],"mappings":"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"}
package/dist/cloud.d.ts DELETED
@@ -1,26 +0,0 @@
1
- /**
2
- * Result type for cloud state detection.
3
- */
4
- export type CloudState = {
5
- status: "has-files";
6
- count: number;
7
- } | {
8
- status: "empty";
9
- } | {
10
- status: "error";
11
- message: string;
12
- } | {
13
- status: "no-auth";
14
- };
15
- /**
16
- * Pure function that checks cloud state without side effects.
17
- * Takes dependencies as parameters for testability.
18
- */
19
- export declare function checkCloudState(deps: {
20
- hasCredentials: () => boolean;
21
- listRemoteFiles: () => Promise<{
22
- key: string;
23
- }[]>;
24
- }): Promise<CloudState>;
25
- export declare function checkAndSyncCloud(targetDir: string): Promise<void>;
26
- //# sourceMappingURL=cloud.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../src/cloud.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAE1B;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B,eAAe,EAAE,MAAM,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;CACnD,GAAG,OAAO,CAAC,UAAU,CAAC,CAetB;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8FxE"}
package/dist/cloud.js DELETED
@@ -1,126 +0,0 @@
1
- import { success, warn, step } from "./ui.js";
2
- import { tuiPrompt, tuiConfirm } from "./tui.js";
3
- // Lazy import hq-cloud — it may not be installed yet
4
- async function loadHqCloud() {
5
- try {
6
- return await import("@indigoai/hq-cloud");
7
- }
8
- catch {
9
- return null;
10
- }
11
- }
12
- /**
13
- * Pure function that checks cloud state without side effects.
14
- * Takes dependencies as parameters for testability.
15
- */
16
- export async function checkCloudState(deps) {
17
- if (!deps.hasCredentials()) {
18
- return { status: "no-auth" };
19
- }
20
- try {
21
- const files = await deps.listRemoteFiles();
22
- if (files.length > 0) {
23
- return { status: "has-files", count: files.length };
24
- }
25
- return { status: "empty" };
26
- }
27
- catch (err) {
28
- const message = err instanceof Error ? err.message : String(err);
29
- return { status: "error", message };
30
- }
31
- }
32
- export async function checkAndSyncCloud(targetDir) {
33
- console.log();
34
- const setupSync = await tuiConfirm("Set up cloud sync? (enables mobile access via hq.indigoai.com)");
35
- if (!setupSync)
36
- return;
37
- const hqCloud = await loadHqCloud();
38
- if (!hqCloud) {
39
- warn("@indigoai/hq-cloud not available — skipping cloud sync");
40
- step("You can set up cloud sync later with: hq sync init");
41
- return;
42
- }
43
- // Authenticate
44
- step("Authenticating with HQ Cloud...");
45
- let authenticated = false;
46
- try {
47
- if (hqCloud.hasCredentials()) {
48
- authenticated = true;
49
- step("Using existing credentials");
50
- }
51
- else {
52
- await hqCloud.authenticate();
53
- authenticated = true;
54
- success("Authenticated with HQ Cloud");
55
- }
56
- }
57
- catch (err) {
58
- const message = err instanceof Error ? err.message : String(err);
59
- warn(`Authentication failed: ${message}`);
60
- const skip = await tuiConfirm("Skip cloud setup and continue?");
61
- if (skip)
62
- return;
63
- // If they don't want to skip, try once more
64
- try {
65
- await hqCloud.authenticate();
66
- authenticated = true;
67
- success("Authenticated with HQ Cloud");
68
- }
69
- catch {
70
- warn("Authentication failed again — skipping cloud setup");
71
- return;
72
- }
73
- }
74
- if (!authenticated)
75
- return;
76
- // Check for existing remote files
77
- step("Checking for existing files in your cloud HQ...");
78
- let remoteFiles;
79
- try {
80
- remoteFiles = await hqCloud.listRemoteFiles();
81
- }
82
- catch (err) {
83
- const message = err instanceof Error ? err.message : String(err);
84
- warn(`Could not check remote files: ${message}`);
85
- const skip = await tuiConfirm("Skip cloud setup and continue?");
86
- if (!skip) {
87
- warn("Cloud setup skipped");
88
- }
89
- return;
90
- }
91
- if (remoteFiles.length > 0) {
92
- // Existing files found — offer to clone down
93
- console.log();
94
- const cloneDown = await tuiConfirm(`Found ${remoteFiles.length} files in your cloud HQ. Clone to this machine?`);
95
- if (cloneDown) {
96
- step("Cloning files from cloud...");
97
- try {
98
- const result = await hqCloud.pullAll(targetDir);
99
- success(`Cloned ${result.filesDownloaded} files from cloud to local HQ`);
100
- }
101
- catch (err) {
102
- const message = err instanceof Error ? err.message : String(err);
103
- warn(`Clone failed: ${message}`);
104
- step("Your local template files are still intact");
105
- }
106
- }
107
- else {
108
- // User declined clone — warn about overwrite
109
- warn("Uploading will overwrite your existing cloud files");
110
- const overwriteConfirm = await tuiPrompt("This will replace your cloud HQ. Type YES to confirm:");
111
- if (overwriteConfirm === "YES") {
112
- step("Cloud files will be replaced on next sync");
113
- step("Run: hq sync push");
114
- }
115
- else {
116
- step("Cloud sync skipped — your cloud files are unchanged");
117
- }
118
- }
119
- }
120
- else {
121
- // No remote files — proceed with standard flow
122
- step("No existing cloud files found — starting fresh");
123
- step("Run: hq sync push — to upload your HQ to the cloud");
124
- }
125
- }
126
- //# sourceMappingURL=cloud.js.map
package/dist/cloud.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../src/cloud.ts"],"names":[],"mappings":"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"}
package/dist/tui.d.ts DELETED
@@ -1,8 +0,0 @@
1
- export declare function stepHeader(current: number, total: number, label: string): void;
2
- export declare function completedStep(current: number, total: number, label: string): void;
3
- export declare function failedStep(current: number, total: number, label: string, error: string): void;
4
- export declare function tuiPrompt(question: string, defaultVal?: string): Promise<string>;
5
- export declare function tuiConfirm(question: string, defaultYes?: boolean): Promise<boolean>;
6
- export declare function summaryBox(title: string, lines: string[]): void;
7
- export declare function errorBox(title: string, message: string, suggestion?: string): void;
8
- //# sourceMappingURL=tui.d.ts.map
package/dist/tui.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAKA,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAG9E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEjF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAG7F;AAID,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAatF;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,UAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAOtF;AAID,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAgB/D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAsBlF"}
package/dist/tui.js DELETED
@@ -1,86 +0,0 @@
1
- import chalk from "chalk";
2
- import { createInterface } from "readline";
3
- // ── Step Headers ────────────────────────────────────────────────
4
- export function stepHeader(current, total, label) {
5
- console.log();
6
- console.log(chalk.cyan.bold(` [${current}/${total}]`) + " " + chalk.white.bold(label));
7
- }
8
- export function completedStep(current, total, label) {
9
- console.log(chalk.green(` [${current}/${total}] ✓`) + " " + chalk.dim(label));
10
- }
11
- export function failedStep(current, total, label, error) {
12
- console.log(chalk.red(` [${current}/${total}] ✗`) + " " + chalk.red(label));
13
- console.log(chalk.red(" ") + chalk.dim(error));
14
- }
15
- // ── Prompts ─────────────────────────────────────────────────────
16
- export async function tuiPrompt(question, defaultVal) {
17
- const rl = createInterface({ input: process.stdin, output: process.stdout });
18
- const suffix = defaultVal ? chalk.dim(` (${defaultVal})`) : "";
19
- const frame = chalk.dim(" │ ");
20
- return new Promise((resolve) => {
21
- console.log(chalk.dim(" ┌─────────────────────────────────────"));
22
- rl.question(`${frame}${question}${suffix} `, (answer) => {
23
- console.log(chalk.dim(" └─────────────────────────────────────"));
24
- rl.close();
25
- resolve(answer.trim() || defaultVal || "");
26
- });
27
- });
28
- }
29
- export async function tuiConfirm(question, defaultYes = true) {
30
- const yes = defaultYes ? chalk.white.bold("Y") : chalk.dim("y");
31
- const no = defaultYes ? chalk.dim("n") : chalk.white.bold("N");
32
- const hint = `${yes}${chalk.dim("/")}${no}`;
33
- const answer = await tuiPrompt(`${question} [${hint}]`);
34
- if (!answer)
35
- return defaultYes;
36
- return answer.toLowerCase().startsWith("y");
37
- }
38
- // ── Boxes ───────────────────────────────────────────────────────
39
- export function summaryBox(title, lines) {
40
- const pad = 2;
41
- const maxContent = Math.max(title.length, ...lines.map(stripAnsi).map((l) => l.length));
42
- const innerWidth = maxContent + pad * 2;
43
- console.log();
44
- console.log(chalk.green(" ┌" + "─".repeat(innerWidth) + "┐"));
45
- console.log(chalk.green(" │") + centerText(chalk.green.bold(title), innerWidth, title.length) + chalk.green("│"));
46
- console.log(chalk.green(" ├" + "─".repeat(innerWidth) + "┤"));
47
- for (const line of lines) {
48
- const raw = stripAnsi(line);
49
- const padding = innerWidth - raw.length - pad;
50
- console.log(chalk.green(" │") + " ".repeat(pad) + line + " ".repeat(Math.max(0, padding)) + chalk.green("│"));
51
- }
52
- console.log(chalk.green(" └" + "─".repeat(innerWidth) + "┘"));
53
- console.log();
54
- }
55
- export function errorBox(title, message, suggestion) {
56
- const lines = [message];
57
- if (suggestion) {
58
- lines.push("");
59
- lines.push(chalk.dim("Suggestion: ") + suggestion);
60
- }
61
- const pad = 2;
62
- const maxContent = Math.max(title.length, ...lines.map(stripAnsi).map((l) => l.length));
63
- const innerWidth = maxContent + pad * 2;
64
- console.log();
65
- console.log(chalk.red(" ┌" + "─".repeat(innerWidth) + "┐"));
66
- console.log(chalk.red(" │") + centerText(chalk.red.bold(title), innerWidth, title.length) + chalk.red("│"));
67
- console.log(chalk.red(" ├" + "─".repeat(innerWidth) + "┤"));
68
- for (const line of lines) {
69
- const raw = stripAnsi(line);
70
- const padding = innerWidth - raw.length - pad;
71
- console.log(chalk.red(" │") + " ".repeat(pad) + line + " ".repeat(Math.max(0, padding)) + chalk.red("│"));
72
- }
73
- console.log(chalk.red(" └" + "─".repeat(innerWidth) + "┘"));
74
- console.log();
75
- }
76
- // ── Helpers ─────────────────────────────────────────────────────
77
- function stripAnsi(str) {
78
- // eslint-disable-next-line no-control-regex
79
- return str.replace(/\x1b\[[0-9;]*m/g, "");
80
- }
81
- function centerText(text, width, rawLength) {
82
- const leftPad = Math.floor((width - rawLength) / 2);
83
- const rightPad = width - rawLength - leftPad;
84
- return " ".repeat(leftPad) + text + " ".repeat(rightPad);
85
- }
86
- //# sourceMappingURL=tui.js.map
package/dist/tui.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}