@kya-os/cli 0.1.0-beta.6 → 0.1.0-beta.7

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 (110) hide show
  1. package/README.md +210 -34
  2. package/dist/commands/check.d.ts.map +1 -1
  3. package/dist/commands/check.js +28 -6
  4. package/dist/commands/check.js.map +1 -1
  5. package/dist/commands/cli-experience-demo-simple.d.ts +14 -0
  6. package/dist/commands/cli-experience-demo-simple.d.ts.map +1 -0
  7. package/dist/commands/cli-experience-demo-simple.js +119 -0
  8. package/dist/commands/cli-experience-demo-simple.js.map +1 -0
  9. package/dist/commands/cli-experience-demo.d.ts +14 -0
  10. package/dist/commands/cli-experience-demo.d.ts.map +1 -0
  11. package/dist/commands/cli-experience-demo.js +172 -0
  12. package/dist/commands/cli-experience-demo.js.map +1 -0
  13. package/dist/commands/effects-demo.d.ts +10 -0
  14. package/dist/commands/effects-demo.d.ts.map +1 -0
  15. package/dist/commands/effects-demo.js +292 -0
  16. package/dist/commands/effects-demo.js.map +1 -0
  17. package/dist/commands/env.d.ts.map +1 -1
  18. package/dist/commands/env.js +12 -2
  19. package/dist/commands/env.js.map +1 -1
  20. package/dist/commands/init.d.ts.map +1 -1
  21. package/dist/commands/init.js +262 -136
  22. package/dist/commands/init.js.map +1 -1
  23. package/dist/commands/rotate.d.ts.map +1 -1
  24. package/dist/commands/rotate.js +19 -3
  25. package/dist/commands/rotate.js.map +1 -1
  26. package/dist/dev.d.ts +7 -0
  27. package/dist/dev.d.ts.map +1 -0
  28. package/dist/dev.js +9 -0
  29. package/dist/dev.js.map +1 -0
  30. package/dist/effects/__tests__/effects.test.d.ts +5 -0
  31. package/dist/effects/__tests__/effects.test.d.ts.map +1 -0
  32. package/dist/effects/__tests__/effects.test.js +206 -0
  33. package/dist/effects/__tests__/effects.test.js.map +1 -0
  34. package/dist/effects/animation-engine.d.ts +173 -0
  35. package/dist/effects/animation-engine.d.ts.map +1 -0
  36. package/dist/effects/animation-engine.js +254 -0
  37. package/dist/effects/animation-engine.js.map +1 -0
  38. package/dist/effects/cli-integration.d.ts +86 -0
  39. package/dist/effects/cli-integration.d.ts.map +1 -0
  40. package/dist/effects/cli-integration.js +309 -0
  41. package/dist/effects/cli-integration.js.map +1 -0
  42. package/dist/effects/config.d.ts +95 -0
  43. package/dist/effects/config.d.ts.map +1 -0
  44. package/dist/effects/config.js +216 -0
  45. package/dist/effects/config.js.map +1 -0
  46. package/dist/effects/effect-runner.d.ts +69 -0
  47. package/dist/effects/effect-runner.d.ts.map +1 -0
  48. package/dist/effects/effect-runner.js +255 -0
  49. package/dist/effects/effect-runner.js.map +1 -0
  50. package/dist/effects/gradient.d.ts +131 -0
  51. package/dist/effects/gradient.d.ts.map +1 -0
  52. package/dist/effects/gradient.js +236 -0
  53. package/dist/effects/gradient.js.map +1 -0
  54. package/dist/effects/implementations/beams.d.ts +80 -0
  55. package/dist/effects/implementations/beams.d.ts.map +1 -0
  56. package/dist/effects/implementations/beams.js +221 -0
  57. package/dist/effects/implementations/beams.js.map +1 -0
  58. package/dist/effects/implementations/binary-path.d.ts +88 -0
  59. package/dist/effects/implementations/binary-path.d.ts.map +1 -0
  60. package/dist/effects/implementations/binary-path.js +296 -0
  61. package/dist/effects/implementations/binary-path.js.map +1 -0
  62. package/dist/effects/implementations/blackhole.d.ts +98 -0
  63. package/dist/effects/implementations/blackhole.d.ts.map +1 -0
  64. package/dist/effects/implementations/blackhole.js +394 -0
  65. package/dist/effects/implementations/blackhole.js.map +1 -0
  66. package/dist/effects/implementations/burn.d.ts +74 -0
  67. package/dist/effects/implementations/burn.d.ts.map +1 -0
  68. package/dist/effects/implementations/burn.js +234 -0
  69. package/dist/effects/implementations/burn.js.map +1 -0
  70. package/dist/effects/implementations/decrypt.d.ts +115 -0
  71. package/dist/effects/implementations/decrypt.d.ts.map +1 -0
  72. package/dist/effects/implementations/decrypt.js +394 -0
  73. package/dist/effects/implementations/decrypt.js.map +1 -0
  74. package/dist/effects/implementations/test.d.ts +113 -0
  75. package/dist/effects/implementations/test.d.ts.map +1 -0
  76. package/dist/effects/implementations/test.js +552 -0
  77. package/dist/effects/implementations/test.js.map +1 -0
  78. package/dist/effects/implementations/waves.d.ts +78 -0
  79. package/dist/effects/implementations/waves.d.ts.map +1 -0
  80. package/dist/effects/implementations/waves.js +278 -0
  81. package/dist/effects/implementations/waves.js.map +1 -0
  82. package/dist/effects/index.d.ts +37 -0
  83. package/dist/effects/index.d.ts.map +1 -0
  84. package/dist/effects/index.js +79 -0
  85. package/dist/effects/index.js.map +1 -0
  86. package/dist/effects/motion-engine.d.ts +168 -0
  87. package/dist/effects/motion-engine.d.ts.map +1 -0
  88. package/dist/effects/motion-engine.js +353 -0
  89. package/dist/effects/motion-engine.js.map +1 -0
  90. package/dist/effects/safe-executor.d.ts +55 -0
  91. package/dist/effects/safe-executor.d.ts.map +1 -0
  92. package/dist/effects/safe-executor.js +210 -0
  93. package/dist/effects/safe-executor.js.map +1 -0
  94. package/dist/effects/template/effect-template.d.ts +97 -0
  95. package/dist/effects/template/effect-template.d.ts.map +1 -0
  96. package/dist/effects/template/effect-template.js +208 -0
  97. package/dist/effects/template/effect-template.js.map +1 -0
  98. package/dist/effects/types.d.ts +199 -0
  99. package/dist/effects/types.d.ts.map +1 -0
  100. package/dist/effects/types.js +80 -0
  101. package/dist/effects/types.js.map +1 -0
  102. package/dist/effects/utils.d.ts +104 -0
  103. package/dist/effects/utils.d.ts.map +1 -0
  104. package/dist/effects/utils.js +280 -0
  105. package/dist/effects/utils.js.map +1 -0
  106. package/dist/index.d.ts +2 -1
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +48 -42
  109. package/dist/index.js.map +1 -1
  110. package/package.json +4 -1
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Utility functions for terminal effects
3
+ */
4
+ import { TerminalCapabilities, TerminalDimensions, Color, RGBColor, XTermColor } from "./types.js";
5
+ /**
6
+ * ANSI escape codes
7
+ */
8
+ export declare const ANSI: {
9
+ reset: string;
10
+ cursor: {
11
+ hide: string;
12
+ show: string;
13
+ save: string;
14
+ restore: string;
15
+ home: string;
16
+ moveTo: (x: number, y: number) => string;
17
+ };
18
+ clear: {
19
+ screen: string;
20
+ line: string;
21
+ toEnd: string;
22
+ toStart: string;
23
+ };
24
+ color: {
25
+ fg: (color: Color) => string;
26
+ bg: (color: Color) => string;
27
+ };
28
+ };
29
+ /**
30
+ * Detect terminal capabilities
31
+ */
32
+ export declare function detectTerminalCapabilities(): TerminalCapabilities;
33
+ /**
34
+ * Get terminal dimensions
35
+ */
36
+ export declare function getTerminalDimensions(): TerminalDimensions;
37
+ /**
38
+ * Convert RGB hex to XTerm-256 color
39
+ * Based on the algorithm from https://github.com/Qix-/color-convert
40
+ */
41
+ export declare function rgbToXterm(hex: RGBColor): XTermColor;
42
+ /**
43
+ * Strip ANSI codes from string
44
+ */
45
+ export declare function stripAnsi(str: string): string;
46
+ /**
47
+ * Measure the visible length of a string (excluding ANSI codes)
48
+ */
49
+ export declare function measureString(str: string): number;
50
+ /**
51
+ * Pad string to specified width (accounting for ANSI codes)
52
+ */
53
+ export declare function padString(str: string, width: number, align?: "left" | "right" | "center"): string;
54
+ /**
55
+ * Create a buffer for double-buffered rendering
56
+ */
57
+ export declare class RenderBuffer {
58
+ private buffer;
59
+ private width;
60
+ private height;
61
+ constructor(width: number, height: number);
62
+ clear(): void;
63
+ setChar(x: number, y: number, char: string, color?: string): void;
64
+ toString(): string;
65
+ getLines(): string[];
66
+ }
67
+ /**
68
+ * Sleep for specified milliseconds
69
+ */
70
+ export declare function sleep(ms: number): Promise<void>;
71
+ /**
72
+ * Calculate FPS delay from frame rate
73
+ */
74
+ export declare function calculateFrameDelay(fps: number): number;
75
+ /**
76
+ * Easing functions for smooth animations
77
+ */
78
+ export declare const Easing: {
79
+ linear: (t: number) => number;
80
+ easeIn: (t: number) => number;
81
+ easeOut: (t: number) => number;
82
+ easeInOut: (t: number) => number;
83
+ easeInCubic: (t: number) => number;
84
+ easeOutCubic: (t: number) => number;
85
+ easeInOutCubic: (t: number) => number;
86
+ easeInOutSine: (t: number) => number;
87
+ };
88
+ export declare const easeInQuad: (t: number) => number;
89
+ export declare const easeOutQuad: (t: number) => number;
90
+ export declare const easeInOutQuad: (t: number) => number;
91
+ export declare const easeInOutSine: (t: number) => number;
92
+ /**
93
+ * Interpolate between two values
94
+ */
95
+ export declare function lerp(start: number, end: number, t: number): number;
96
+ /**
97
+ * Clamp a value between min and max
98
+ */
99
+ export declare function clamp(value: number, min: number, max: number): number;
100
+ /**
101
+ * Create a gradient between two colors
102
+ */
103
+ export declare function createGradient(startColor: RGBColor, endColor: RGBColor, steps: number): RGBColor[];
104
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/effects/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,UAAU,EAGX,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,IAAI;;;;;;;;oBAQD,MAAM,KAAK,MAAM;;;;;;;;;oBASjB,KAAK;oBAWL,KAAK;;CAYpB,CAAC;AAEF;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,oBAAoB,CAWjE;AA6BD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,CAS1D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,QAAQ,GAAG,UAAU,CA2DpD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAM,GAAG,OAAO,GAAG,QAAiB,GAC1C,MAAM,CAcR;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;gBAEX,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAMzC,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAMjE,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,MAAM,EAAE;CAGrB;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;gBACL,MAAM;gBACN,MAAM;iBACL,MAAM;mBACJ,MAAM;qBACJ,MAAM;sBACL,MAAM;wBACJ,MAAM;uBAEP,MAAM;CAC1B,CAAC;AAGF,eAAO,MAAM,UAAU,MAXT,MAAM,WAWmB,CAAC;AACxC,eAAO,MAAM,WAAW,MAXT,MAAM,WAWoB,CAAC;AAC1C,eAAO,MAAM,aAAa,MAXT,MAAM,WAWsB,CAAC;AAC9C,eAAO,MAAM,aAAa,MAPL,MAAM,WAOsB,CAAC;AAElD;;GAEG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,QAAQ,EACpB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,GACZ,QAAQ,EAAE,CAyBZ"}
@@ -0,0 +1,280 @@
1
+ /**
2
+ * Utility functions for terminal effects
3
+ */
4
+ import { isRGBColor, isXTermColor, } from "./types.js";
5
+ /**
6
+ * ANSI escape codes
7
+ */
8
+ export const ANSI = {
9
+ reset: "\x1b[0m",
10
+ cursor: {
11
+ hide: "\x1b[?25l",
12
+ show: "\x1b[?25h",
13
+ save: "\x1b[s",
14
+ restore: "\x1b[u",
15
+ home: "\x1b[H",
16
+ moveTo: (x, y) => `\x1b[${y + 1};${x + 1}H`,
17
+ },
18
+ clear: {
19
+ screen: "\x1b[2J",
20
+ line: "\x1b[2K",
21
+ toEnd: "\x1b[0J",
22
+ toStart: "\x1b[1J",
23
+ },
24
+ color: {
25
+ fg: (color) => {
26
+ if (isRGBColor(color)) {
27
+ const r = parseInt(color.substr(0, 2), 16);
28
+ const g = parseInt(color.substr(2, 2), 16);
29
+ const b = parseInt(color.substr(4, 2), 16);
30
+ return `\x1b[38;2;${r};${g};${b}m`;
31
+ }
32
+ else if (isXTermColor(color)) {
33
+ return `\x1b[38;5;${color}m`;
34
+ }
35
+ return "";
36
+ },
37
+ bg: (color) => {
38
+ if (isRGBColor(color)) {
39
+ const r = parseInt(color.substr(0, 2), 16);
40
+ const g = parseInt(color.substr(2, 2), 16);
41
+ const b = parseInt(color.substr(4, 2), 16);
42
+ return `\x1b[48;2;${r};${g};${b}m`;
43
+ }
44
+ else if (isXTermColor(color)) {
45
+ return `\x1b[48;5;${color}m`;
46
+ }
47
+ return "";
48
+ },
49
+ },
50
+ };
51
+ /**
52
+ * Detect terminal capabilities
53
+ */
54
+ export function detectTerminalCapabilities() {
55
+ const isInteractive = process.stdout.isTTY || false;
56
+ const colorLevel = getColorLevel();
57
+ return {
58
+ supportsColor: colorLevel > 0,
59
+ supports256Color: colorLevel >= 2,
60
+ supportsTrueColor: colorLevel >= 3,
61
+ dimensions: getTerminalDimensions(),
62
+ isInteractive,
63
+ };
64
+ }
65
+ /**
66
+ * Get color support level
67
+ * 0 = no color, 1 = basic color, 2 = 256 color, 3 = true color
68
+ */
69
+ function getColorLevel() {
70
+ if (process.env.NO_COLOR || process.env.TERM === "dumb") {
71
+ return 0;
72
+ }
73
+ if (process.env.COLORTERM === "truecolor" ||
74
+ process.env.TERM_PROGRAM === "iTerm.app") {
75
+ return 3;
76
+ }
77
+ if (process.env.TERM && /256/.test(process.env.TERM)) {
78
+ return 2;
79
+ }
80
+ if (process.stdout.hasColors?.()) {
81
+ return process.stdout.hasColors(256) ? 2 : 1;
82
+ }
83
+ return 0;
84
+ }
85
+ /**
86
+ * Get terminal dimensions
87
+ */
88
+ export function getTerminalDimensions() {
89
+ if (process.stdout.isTTY) {
90
+ return {
91
+ width: process.stdout.columns || 80,
92
+ height: process.stdout.rows || 24,
93
+ };
94
+ }
95
+ return { width: 80, height: 24 };
96
+ }
97
+ /**
98
+ * Convert RGB hex to XTerm-256 color
99
+ * Based on the algorithm from https://github.com/Qix-/color-convert
100
+ */
101
+ export function rgbToXterm(hex) {
102
+ const r = parseInt(hex.substr(0, 2), 16);
103
+ const g = parseInt(hex.substr(2, 2), 16);
104
+ const b = parseInt(hex.substr(4, 2), 16);
105
+ // Check for exact matches in the basic 16 colors
106
+ const basicColors = [
107
+ [0, 0, 0],
108
+ [128, 0, 0],
109
+ [0, 128, 0],
110
+ [128, 128, 0],
111
+ [0, 0, 128],
112
+ [128, 0, 128],
113
+ [0, 128, 128],
114
+ [192, 192, 192],
115
+ [128, 128, 128],
116
+ [255, 0, 0],
117
+ [0, 255, 0],
118
+ [255, 255, 0],
119
+ [0, 0, 255],
120
+ [255, 0, 255],
121
+ [0, 255, 255],
122
+ [255, 255, 255],
123
+ ];
124
+ for (let i = 0; i < basicColors.length; i++) {
125
+ const [br, bg, bb] = basicColors[i];
126
+ if (r === br && g === bg && b === bb) {
127
+ return i;
128
+ }
129
+ }
130
+ // Check grayscale
131
+ if (r === g && g === b) {
132
+ if (r < 8)
133
+ return 16;
134
+ if (r > 248)
135
+ return 231;
136
+ return Math.round(((r - 8) / 247) * 24) + 232;
137
+ }
138
+ // Use 6x6x6 color cube
139
+ const levels = [0, 95, 135, 175, 215, 255];
140
+ const findClosest = (value) => {
141
+ let minDist = Infinity;
142
+ let closest = 0;
143
+ for (let i = 0; i < levels.length; i++) {
144
+ const dist = Math.abs(value - levels[i]);
145
+ if (dist < minDist) {
146
+ minDist = dist;
147
+ closest = i;
148
+ }
149
+ }
150
+ return closest;
151
+ };
152
+ const ri = findClosest(r);
153
+ const gi = findClosest(g);
154
+ const bi = findClosest(b);
155
+ return 16 + 36 * ri + 6 * gi + bi;
156
+ }
157
+ /**
158
+ * Strip ANSI codes from string
159
+ */
160
+ export function stripAnsi(str) {
161
+ // eslint-disable-next-line no-control-regex
162
+ return str.replace(/\x1b\[[0-9;]*m/g, "");
163
+ }
164
+ /**
165
+ * Measure the visible length of a string (excluding ANSI codes)
166
+ */
167
+ export function measureString(str) {
168
+ return stripAnsi(str).length;
169
+ }
170
+ /**
171
+ * Pad string to specified width (accounting for ANSI codes)
172
+ */
173
+ export function padString(str, width, align = "left") {
174
+ const visibleLength = measureString(str);
175
+ const padding = Math.max(0, width - visibleLength);
176
+ switch (align) {
177
+ case "right":
178
+ return " ".repeat(padding) + str;
179
+ case "center":
180
+ const leftPad = Math.floor(padding / 2);
181
+ const rightPad = padding - leftPad;
182
+ return " ".repeat(leftPad) + str + " ".repeat(rightPad);
183
+ default:
184
+ return str + " ".repeat(padding);
185
+ }
186
+ }
187
+ /**
188
+ * Create a buffer for double-buffered rendering
189
+ */
190
+ export class RenderBuffer {
191
+ constructor(width, height) {
192
+ this.buffer = [];
193
+ this.width = width;
194
+ this.height = height;
195
+ this.clear();
196
+ }
197
+ clear() {
198
+ this.buffer = Array(this.height)
199
+ .fill(null)
200
+ .map(() => Array(this.width).fill(" "));
201
+ }
202
+ setChar(x, y, char, color) {
203
+ if (x >= 0 && x < this.width && y >= 0 && y < this.height) {
204
+ this.buffer[y][x] = color ? `${color}${char}${ANSI.reset}` : char;
205
+ }
206
+ }
207
+ toString() {
208
+ return this.buffer.map((row) => row.join("")).join("\n");
209
+ }
210
+ getLines() {
211
+ return this.buffer.map((row) => row.join(""));
212
+ }
213
+ }
214
+ /**
215
+ * Sleep for specified milliseconds
216
+ */
217
+ export function sleep(ms) {
218
+ return new Promise((resolve) => setTimeout(resolve, ms));
219
+ }
220
+ /**
221
+ * Calculate FPS delay from frame rate
222
+ */
223
+ export function calculateFrameDelay(fps) {
224
+ if (fps <= 0)
225
+ return 0;
226
+ return Math.floor(1000 / fps);
227
+ }
228
+ /**
229
+ * Easing functions for smooth animations
230
+ */
231
+ export const Easing = {
232
+ linear: (t) => t,
233
+ easeIn: (t) => t * t,
234
+ easeOut: (t) => t * (2 - t),
235
+ easeInOut: (t) => (t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t),
236
+ easeInCubic: (t) => t * t * t,
237
+ easeOutCubic: (t) => --t * t * t + 1,
238
+ easeInOutCubic: (t) => t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1,
239
+ easeInOutSine: (t) => -(Math.cos(Math.PI * t) - 1) / 2,
240
+ };
241
+ // Export individual easing functions for convenience
242
+ export const easeInQuad = Easing.easeIn;
243
+ export const easeOutQuad = Easing.easeOut;
244
+ export const easeInOutQuad = Easing.easeInOut;
245
+ export const easeInOutSine = Easing.easeInOutSine;
246
+ /**
247
+ * Interpolate between two values
248
+ */
249
+ export function lerp(start, end, t) {
250
+ return start + (end - start) * t;
251
+ }
252
+ /**
253
+ * Clamp a value between min and max
254
+ */
255
+ export function clamp(value, min, max) {
256
+ return Math.max(min, Math.min(max, value));
257
+ }
258
+ /**
259
+ * Create a gradient between two colors
260
+ */
261
+ export function createGradient(startColor, endColor, steps) {
262
+ const colors = [];
263
+ const sr = parseInt(startColor.substr(0, 2), 16);
264
+ const sg = parseInt(startColor.substr(2, 2), 16);
265
+ const sb = parseInt(startColor.substr(4, 2), 16);
266
+ const er = parseInt(endColor.substr(0, 2), 16);
267
+ const eg = parseInt(endColor.substr(2, 2), 16);
268
+ const eb = parseInt(endColor.substr(4, 2), 16);
269
+ for (let i = 0; i < steps; i++) {
270
+ const t = i / (steps - 1);
271
+ const r = Math.round(lerp(sr, er, t));
272
+ const g = Math.round(lerp(sg, eg, t));
273
+ const b = Math.round(lerp(sb, eb, t));
274
+ colors.push(r.toString(16).padStart(2, "0") +
275
+ g.toString(16).padStart(2, "0") +
276
+ b.toString(16).padStart(2, "0"));
277
+ }
278
+ return colors;
279
+ }
280
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/effects/utils.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ import { Command } from "commander";
3
+ export declare const program: Command;
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,eAAO,MAAM,OAAO,SAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,12 +1,15 @@
1
1
  #!/usr/bin/env node
2
- import { Command } from 'commander';
3
- import chalk from 'chalk';
4
- import { init } from './commands/init.js';
5
- import { check } from './commands/check.js';
6
- import { env } from './commands/env.js';
7
- import { rotate } from './commands/rotate.js';
8
- import { claim } from './commands/claim.js';
9
- const program = new Command();
2
+ import { Command } from "commander";
3
+ import chalk from "chalk";
4
+ import { init } from "./commands/init.js";
5
+ import { check } from "./commands/check.js";
6
+ import { env } from "./commands/env.js";
7
+ import { rotate } from "./commands/rotate.js";
8
+ import { claim } from "./commands/claim.js";
9
+ import { createEffectsDemoCommand } from "./commands/effects-demo.js";
10
+ import { createCLIExperienceDemoCommand } from "./commands/cli-experience-demo.js";
11
+ import { createSimpleCLIDemoCommand } from "./commands/cli-experience-demo-simple.js";
12
+ export const program = new Command();
10
13
  // ASCII art logo
11
14
  const logo = chalk.cyan(`
12
15
  ╦╔═╦ ╦╔═╗ ╔═╗╔═╗
@@ -14,55 +17,58 @@ const logo = chalk.cyan(`
14
17
  ╩ ╩ ╩ ╩ ╩ ╚═╝╚═╝
15
18
  `);
16
19
  program
17
- .name('kya-os')
18
- .description('CLI for KYA-OS MCP-I setup and management')
19
- .version('0.1.0')
20
- .addHelpText('before', logo);
20
+ .name("kya-os")
21
+ .description("CLI for KYA-OS MCP-I setup and management")
22
+ .version("0.1.0")
23
+ .addHelpText("before", logo);
21
24
  // Init command
22
25
  program
23
- .command('init')
24
- .description('Initialize MCP-I in your project')
25
- .option('-n, --name <name>', 'Agent name')
26
- .option('-d, --description <description>', 'Agent description')
27
- .option('-r, --repository <url>', 'Repository URL')
28
- .option('-p, --platform <platform>', 'Target platform (auto-detected if not specified)')
29
- .option('--skip-registration', 'Skip agent registration (create files only)')
30
- .option('--force', 'Overwrite existing configuration')
26
+ .command("init")
27
+ .description("Initialize MCP-I in your project")
28
+ .option("-n, --name <name>", "Agent name")
29
+ .option("-d, --description <description>", "Agent description")
30
+ .option("-r, --repository <url>", "Repository URL")
31
+ .option("-p, --platform <platform>", "Target platform (auto-detected if not specified)")
32
+ .option("--skip-registration", "Skip agent registration (create files only)")
33
+ .option("--force", "Overwrite existing configuration")
31
34
  .action(init);
32
35
  // Check command
33
36
  program
34
- .command('check')
35
- .description('Check MCP-I setup status')
36
- .option('-v, --verbose', 'Show detailed information')
37
+ .command("check")
38
+ .description("Check MCP-I setup status")
39
+ .option("-v, --verbose", "Show detailed information")
37
40
  .action(check);
38
41
  // Env command with subcommands
39
42
  const envCommand = program
40
- .command('env')
41
- .description('Manage environment variables');
43
+ .command("env")
44
+ .description("Manage environment variables");
42
45
  envCommand
43
- .command('show')
44
- .description('Show required environment variables')
45
- .action(() => env('show'));
46
+ .command("show")
47
+ .description("Show required environment variables")
48
+ .action(() => env("show"));
46
49
  envCommand
47
- .command('copy')
48
- .description('Copy environment variables to clipboard')
49
- .action(() => env('copy'));
50
+ .command("copy")
51
+ .description("Copy environment variables to clipboard")
52
+ .action(() => env("copy"));
50
53
  envCommand
51
- .command('verify')
52
- .description('Verify environment variables are set correctly')
53
- .action(() => env('verify'));
54
+ .command("verify")
55
+ .description("Verify environment variables are set correctly")
56
+ .action(() => env("verify"));
54
57
  // Rotate command
55
58
  program
56
- .command('rotate')
57
- .description('Rotate identity keys')
58
- .option('-f, --force', 'Force rotation without confirmation')
59
- .option('-r, --reason <reason>', 'Reason for rotation')
59
+ .command("rotate")
60
+ .description("Rotate identity keys")
61
+ .option("-f, --force", "Force rotation without confirmation")
62
+ .option("-r, --reason <reason>", "Reason for rotation")
60
63
  .action(rotate);
61
64
  // Claim command
62
- program
63
- .command('claim')
64
- .description('Get agent claim/edit URLs')
65
- .action(claim);
65
+ program.command("claim").description("Get agent claim/edit URLs").action(claim);
66
+ // Effects demo command
67
+ program.addCommand(createEffectsDemoCommand());
68
+ // CLI experience demo command
69
+ program.addCommand(createCLIExperienceDemoCommand());
70
+ // Simple CLI demo command
71
+ program.addCommand(createSimpleCLIDemoCommand());
66
72
  // Parse arguments
67
73
  program.parse();
68
74
  // Show help if no command specified
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,iBAAiB;AACjB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;;;;CAIvB,CAAC,CAAC;AAEH,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,2CAA2C,CAAC;KACxD,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAE/B,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;KACzC,MAAM,CAAC,iCAAiC,EAAE,mBAAmB,CAAC;KAC9D,MAAM,CAAC,wBAAwB,EAAE,gBAAgB,CAAC;KAClD,MAAM,CAAC,2BAA2B,EAAE,kDAAkD,CAAC;KACvF,MAAM,CAAC,qBAAqB,EAAE,6CAA6C,CAAC;KAC5E,MAAM,CAAC,SAAS,EAAE,kCAAkC,CAAC;KACrD,MAAM,CAAC,IAAI,CAAC,CAAC;AAEhB,gBAAgB;AAChB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;KACpD,MAAM,CAAC,KAAK,CAAC,CAAC;AAEjB,+BAA+B;AAC/B,MAAM,UAAU,GAAG,OAAO;KACvB,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,8BAA8B,CAAC,CAAC;AAE/C,UAAU;KACP,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7B,UAAU;KACP,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7B,UAAU;KACP,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE/B,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,aAAa,EAAE,qCAAqC,CAAC;KAC5D,MAAM,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;KACtD,MAAM,CAAC,MAAM,CAAC,CAAC;AAElB,gBAAgB;AAChB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEjB,kBAAkB;AAClB,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,oCAAoC;AACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kya-os/cli",
3
- "version": "0.1.0-beta.6",
3
+ "version": "0.1.0-beta.7",
4
4
  "description": "CLI for KYA-OS MCP-I setup and management",
5
5
  "keywords": [
6
6
  "cli",
@@ -28,6 +28,9 @@
28
28
  "scripts": {
29
29
  "build": "tsc && node scripts/fix-esm-imports.js",
30
30
  "dev": "tsx src/index.ts",
31
+ "dev:effects": "tsx src/index.ts effects-demo",
32
+ "test:effects": "tsx test-effects.ts",
33
+ "test:effects:sh": "./test-effects.sh",
31
34
  "prepare": "npm run build"
32
35
  },
33
36
  "dependencies": {