@kya-os/cli 0.1.0-beta.14 ā 0.1.0-beta.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.js +11 -24
- package/package.json +4 -5
- package/dist/commands/cli-experience-demo-simple.d.ts +0 -14
- package/dist/commands/cli-experience-demo-simple.d.ts.map +0 -1
- package/dist/commands/cli-experience-demo-simple.js +0 -119
- package/dist/commands/cli-experience-demo-simple.js.map +0 -1
- package/dist/commands/cli-experience-demo.d.ts +0 -14
- package/dist/commands/cli-experience-demo.d.ts.map +0 -1
- package/dist/commands/cli-experience-demo.js +0 -172
- package/dist/commands/cli-experience-demo.js.map +0 -1
- package/dist/commands/effects-demo.d.ts +0 -10
- package/dist/commands/effects-demo.d.ts.map +0 -1
- package/dist/commands/effects-demo.js +0 -292
- package/dist/commands/effects-demo.js.map +0 -1
- package/dist/commands/test-components.d.ts +0 -5
- package/dist/commands/test-components.d.ts.map +0 -1
- package/dist/commands/test-components.js +0 -86
- package/dist/commands/test-components.js.map +0 -1
- package/dist/dev.d.ts +0 -7
- package/dist/dev.d.ts.map +0 -1
- package/dist/dev.js +0 -9
- package/dist/dev.js.map +0 -1
- package/dist/effects/__tests__/effects.test.d.ts +0 -5
- package/dist/effects/__tests__/effects.test.d.ts.map +0 -1
- package/dist/effects/__tests__/effects.test.js +0 -210
- package/dist/effects/__tests__/effects.test.js.map +0 -1
- package/dist/effects/implementations/binary-path.d.ts +0 -88
- package/dist/effects/implementations/binary-path.d.ts.map +0 -1
- package/dist/effects/implementations/binary-path.js +0 -296
- package/dist/effects/implementations/binary-path.js.map +0 -1
- package/dist/effects/implementations/test.d.ts +0 -113
- package/dist/effects/implementations/test.d.ts.map +0 -1
- package/dist/effects/implementations/test.js +0 -552
- package/dist/effects/implementations/test.js.map +0 -1
- package/dist/effects/template/effect-template.d.ts +0 -97
- package/dist/effects/template/effect-template.d.ts.map +0 -1
- package/dist/effects/template/effect-template.js +0 -208
- package/dist/effects/template/effect-template.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -1,292 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Effects Demo Command
|
|
3
|
-
* Showcases all available terminal effects
|
|
4
|
-
*/
|
|
5
|
-
import { Command } from "commander";
|
|
6
|
-
import chalk from "chalk";
|
|
7
|
-
import inquirer from "inquirer";
|
|
8
|
-
import { cliEffects, showPrivateKeyDeleteEffect, showAgentIdentityCreateEffect, showDIDGenerationEffect, withLoadingEffect, getAllEffects, initializeConfig, } from "../effects/index.js";
|
|
9
|
-
/**
|
|
10
|
-
* Demo scenarios
|
|
11
|
-
*/
|
|
12
|
-
const DEMO_SCENARIOS = [
|
|
13
|
-
{
|
|
14
|
-
name: "šÆ Full CLI Experience (npx @kya-os/cli init)",
|
|
15
|
-
value: "cli-experience",
|
|
16
|
-
action: async () => {
|
|
17
|
-
const { runSimpleCLIDemo } = await import("./cli-experience-demo-simple.js");
|
|
18
|
-
await runSimpleCLIDemo();
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
name: "š„ Private Key Deletion",
|
|
23
|
-
value: "private-key-delete",
|
|
24
|
-
action: async () => {
|
|
25
|
-
console.log(chalk.yellow("\nScenario: Deleting a compromised private key...\n"));
|
|
26
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
27
|
-
await showPrivateKeyDeleteEffect("agent-key-compromised-2024", true);
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
name: "š¤ Agent Identity Creation",
|
|
32
|
-
value: "agent-identity",
|
|
33
|
-
action: async () => {
|
|
34
|
-
console.log(chalk.cyan("\nScenario: Creating a new AI agent identity...\n"));
|
|
35
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
36
|
-
await showAgentIdentityCreateEffect("AutomationAgent-001", true);
|
|
37
|
-
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
38
|
-
await showDIDGenerationEffect("did:kya:z6Mkf5rGMoatrSj1f4CgPrHknGZ", true);
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: "ā” All Effects Showcase",
|
|
43
|
-
value: "all-effects",
|
|
44
|
-
action: async () => {
|
|
45
|
-
const effects = getAllEffects();
|
|
46
|
-
for (const effectEntry of effects) {
|
|
47
|
-
console.log(chalk.magenta(`\nšŗ Demonstrating: ${effectEntry.name}\n`));
|
|
48
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
49
|
-
// Custom configurations for each effect
|
|
50
|
-
let config = {};
|
|
51
|
-
switch (effectEntry.name) {
|
|
52
|
-
case "burn":
|
|
53
|
-
config = {
|
|
54
|
-
duration: 3000,
|
|
55
|
-
burnColors: ["ffffff", "fff75d", "fe650d", "8A003C", "510100"],
|
|
56
|
-
burnSpeed: 2,
|
|
57
|
-
};
|
|
58
|
-
break;
|
|
59
|
-
case "beams":
|
|
60
|
-
config = {
|
|
61
|
-
duration: 3500,
|
|
62
|
-
beamColors: ["00ff00", "00ffff", "ffffff"],
|
|
63
|
-
beamCount: 8,
|
|
64
|
-
beamSpeed: 0.3,
|
|
65
|
-
};
|
|
66
|
-
break;
|
|
67
|
-
// Binary Path removed - was causing issues
|
|
68
|
-
case "decrypt":
|
|
69
|
-
config = {
|
|
70
|
-
duration: 4000,
|
|
71
|
-
typingSpeed: 2,
|
|
72
|
-
ciphertextColors: ["008000", "00cb00", "00ff00"],
|
|
73
|
-
finalColor: "eda000",
|
|
74
|
-
useGradient: true,
|
|
75
|
-
gradientDirection: "diagonal",
|
|
76
|
-
};
|
|
77
|
-
break;
|
|
78
|
-
case "blackhole":
|
|
79
|
-
config = {
|
|
80
|
-
duration: 6000,
|
|
81
|
-
blackholeColor: "ffffff",
|
|
82
|
-
starColors: [
|
|
83
|
-
"ffcc0d",
|
|
84
|
-
"ff7326",
|
|
85
|
-
"ff194d",
|
|
86
|
-
"bf2669",
|
|
87
|
-
"702a8c",
|
|
88
|
-
"049dbf",
|
|
89
|
-
],
|
|
90
|
-
finalColor: "ffffff",
|
|
91
|
-
useGradient: true,
|
|
92
|
-
gradientDirection: "radial",
|
|
93
|
-
};
|
|
94
|
-
break;
|
|
95
|
-
}
|
|
96
|
-
await cliEffects.showCustomEffect(effectEntry.name, `⨠${effectEntry.description}\n\n` +
|
|
97
|
-
`Effect: ${effectEntry.name.toUpperCase()}\n` +
|
|
98
|
-
`āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n` +
|
|
99
|
-
`Demonstrating the ${effectEntry.name} effect\n` +
|
|
100
|
-
`with enhanced visual parameters`, { config, skipExitPrompt: true });
|
|
101
|
-
await new Promise((resolve) => setTimeout(resolve, 1500));
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
name: "š Loading Effect Demo",
|
|
107
|
-
value: "loading",
|
|
108
|
-
action: async () => {
|
|
109
|
-
console.log(chalk.blue("\nScenario: Long-running operation...\n"));
|
|
110
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
111
|
-
const result = await withLoadingEffect("š Processing cryptographic operations...", new Promise((resolve) => {
|
|
112
|
-
setTimeout(() => resolve("Operation completed successfully!"), 5000);
|
|
113
|
-
}));
|
|
114
|
-
console.log(chalk.green(`\nā
${result}`));
|
|
115
|
-
},
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
name: "š Custom Text Effect",
|
|
119
|
-
value: "custom",
|
|
120
|
-
action: async () => {
|
|
121
|
-
const { text } = await inquirer.prompt([
|
|
122
|
-
{
|
|
123
|
-
type: "input",
|
|
124
|
-
name: "text",
|
|
125
|
-
message: "Enter text to animate:",
|
|
126
|
-
default: "Hello, KYA-OS!\n\nWelcome to the future of AI identity\nš Powered by MCP-I Protocol",
|
|
127
|
-
},
|
|
128
|
-
]);
|
|
129
|
-
const effects = getAllEffects();
|
|
130
|
-
const { effectName } = await inquirer.prompt([
|
|
131
|
-
{
|
|
132
|
-
type: "list",
|
|
133
|
-
name: "effectName",
|
|
134
|
-
message: "Choose an effect:",
|
|
135
|
-
choices: effects.map((e) => ({ name: e.name, value: e.name })),
|
|
136
|
-
},
|
|
137
|
-
]);
|
|
138
|
-
// Advanced configuration for custom text
|
|
139
|
-
const { duration } = await inquirer.prompt([
|
|
140
|
-
{
|
|
141
|
-
type: "number",
|
|
142
|
-
name: "duration",
|
|
143
|
-
message: "Animation duration (ms):",
|
|
144
|
-
default: 3000,
|
|
145
|
-
},
|
|
146
|
-
]);
|
|
147
|
-
let config = { duration };
|
|
148
|
-
// Effect-specific configurations
|
|
149
|
-
if (effectName === "decrypt" || effectName === "blackhole") {
|
|
150
|
-
const { useGradient } = await inquirer.prompt([
|
|
151
|
-
{
|
|
152
|
-
type: "confirm",
|
|
153
|
-
name: "useGradient",
|
|
154
|
-
message: "Use gradient colors?",
|
|
155
|
-
default: true,
|
|
156
|
-
},
|
|
157
|
-
]);
|
|
158
|
-
if (useGradient) {
|
|
159
|
-
const { gradientDirection } = await inquirer.prompt([
|
|
160
|
-
{
|
|
161
|
-
type: "list",
|
|
162
|
-
name: "gradientDirection",
|
|
163
|
-
message: "Gradient direction:",
|
|
164
|
-
choices: ["vertical", "horizontal", "diagonal", "radial"],
|
|
165
|
-
},
|
|
166
|
-
]);
|
|
167
|
-
config.useGradient = true;
|
|
168
|
-
config.gradientDirection = gradientDirection;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
await cliEffects.showCustomEffect(effectName, text, { config });
|
|
172
|
-
},
|
|
173
|
-
},
|
|
174
|
-
// Gradient showcase removed - wasn't completing properly
|
|
175
|
-
{
|
|
176
|
-
name: "š¬ Effect Combinations",
|
|
177
|
-
value: "combinations",
|
|
178
|
-
action: async () => {
|
|
179
|
-
console.log(chalk.yellow("\nScenario: Combining effects for complex animations...\n"));
|
|
180
|
-
// Burn to Beams transition
|
|
181
|
-
console.log(chalk.gray("1. Burn ā Beams transition\n"));
|
|
182
|
-
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
183
|
-
await cliEffects.showCustomEffect("burn", "š„ Destroying old identity...", {
|
|
184
|
-
config: {
|
|
185
|
-
duration: 2000,
|
|
186
|
-
burnColors: ["ff0000", "ff4500", "ff8c00", "8B0000", "000000"],
|
|
187
|
-
},
|
|
188
|
-
});
|
|
189
|
-
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
190
|
-
await cliEffects.showCustomEffect("beams", "⨠Creating new identity...", {
|
|
191
|
-
config: {
|
|
192
|
-
duration: 2000,
|
|
193
|
-
beamColors: ["00ff00", "00ffff", "ffffff"],
|
|
194
|
-
beamCount: 10,
|
|
195
|
-
},
|
|
196
|
-
});
|
|
197
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
198
|
-
// Decrypt to Blackhole
|
|
199
|
-
console.log(chalk.gray("\n2. Decrypt ā Blackhole sequence\n"));
|
|
200
|
-
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
201
|
-
await cliEffects.showCustomEffect("decrypt", "š Revealing secret data...", {
|
|
202
|
-
config: {
|
|
203
|
-
duration: 2500,
|
|
204
|
-
finalColor: "ff0000",
|
|
205
|
-
},
|
|
206
|
-
});
|
|
207
|
-
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
208
|
-
await cliEffects.showCustomEffect("blackhole", "š Consuming evidence...", {
|
|
209
|
-
config: {
|
|
210
|
-
duration: 3000,
|
|
211
|
-
starColors: ["ff0000", "ff3333", "ff6666"],
|
|
212
|
-
},
|
|
213
|
-
});
|
|
214
|
-
},
|
|
215
|
-
},
|
|
216
|
-
];
|
|
217
|
-
/**
|
|
218
|
-
* Create the effects demo command
|
|
219
|
-
*/
|
|
220
|
-
export function createEffectsDemoCommand() {
|
|
221
|
-
const command = new Command("effects-demo")
|
|
222
|
-
.description("Demonstrate terminal effects capabilities")
|
|
223
|
-
.option("-e, --effect <name>", "Show specific effect")
|
|
224
|
-
.option("-t, --text <text>", "Custom text to animate")
|
|
225
|
-
.option("--list", "List all available effects")
|
|
226
|
-
.option("--disable", "Run with effects disabled")
|
|
227
|
-
.action(async (options) => {
|
|
228
|
-
try {
|
|
229
|
-
// Initialize effects configuration
|
|
230
|
-
await initializeConfig();
|
|
231
|
-
if (options.disable) {
|
|
232
|
-
process.env.KYA_EFFECTS_ENABLED = "false";
|
|
233
|
-
console.log(chalk.yellow("Effects disabled for this demo\n"));
|
|
234
|
-
}
|
|
235
|
-
if (options.list) {
|
|
236
|
-
const effects = getAllEffects();
|
|
237
|
-
console.log(chalk.bold("\nš Available Effects:\n"));
|
|
238
|
-
effects.forEach((effect) => {
|
|
239
|
-
console.log(` ${chalk.cyan(effect.name.padEnd(15))} - ${effect.description}`);
|
|
240
|
-
});
|
|
241
|
-
console.log();
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
if (options.effect) {
|
|
245
|
-
const text = options.text || `Demo of ${options.effect} effect`;
|
|
246
|
-
await cliEffects.showCustomEffect(options.effect, text);
|
|
247
|
-
return;
|
|
248
|
-
}
|
|
249
|
-
// Interactive menu
|
|
250
|
-
console.log(chalk.bold.magenta("\n⨠KYA-OS Terminal Effects Demo āØ\n"));
|
|
251
|
-
console.log(chalk.gray("Press Ctrl+C to exit at any time\n"));
|
|
252
|
-
while (true) {
|
|
253
|
-
const { scenario } = await inquirer.prompt([
|
|
254
|
-
{
|
|
255
|
-
type: "list",
|
|
256
|
-
name: "scenario",
|
|
257
|
-
message: "Choose a demo scenario:",
|
|
258
|
-
choices: [
|
|
259
|
-
...DEMO_SCENARIOS.map((s) => ({
|
|
260
|
-
name: s.name,
|
|
261
|
-
value: s.value,
|
|
262
|
-
})),
|
|
263
|
-
new inquirer.Separator(),
|
|
264
|
-
{ name: "ā Exit", value: "exit" },
|
|
265
|
-
],
|
|
266
|
-
},
|
|
267
|
-
]);
|
|
268
|
-
if (scenario === "exit") {
|
|
269
|
-
console.log(chalk.gray("\nThanks for trying the effects demo!\n"));
|
|
270
|
-
break;
|
|
271
|
-
}
|
|
272
|
-
const selectedScenario = DEMO_SCENARIOS.find((s) => s.value === scenario);
|
|
273
|
-
if (selectedScenario) {
|
|
274
|
-
await selectedScenario.action();
|
|
275
|
-
console.log(); // Extra newline for spacing
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
catch (error) {
|
|
280
|
-
if (error instanceof Error && error.message.includes("prompt")) {
|
|
281
|
-
// User cancelled with Ctrl+C
|
|
282
|
-
console.log(chalk.gray("\n\nDemo cancelled.\n"));
|
|
283
|
-
}
|
|
284
|
-
else {
|
|
285
|
-
console.error(chalk.red("Error:"), error);
|
|
286
|
-
}
|
|
287
|
-
process.exit(0);
|
|
288
|
-
}
|
|
289
|
-
});
|
|
290
|
-
return command;
|
|
291
|
-
}
|
|
292
|
-
//# sourceMappingURL=effects-demo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"effects-demo.js","sourceRoot":"","sources":["../../src/commands/effects-demo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-components.d.ts","sourceRoot":"","sources":["../../src/commands/test-components.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmBH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAuGpD"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test command to demonstrate the component system
|
|
3
|
-
*/
|
|
4
|
-
import chalk from "chalk";
|
|
5
|
-
import { createBox, createDivider, createAgentCard, createCompactAgentCard, createSuccessMessage, createErrorMessage, createWarningMessage, createInfoMessage, createProgressBar, createBulletList, createNumberedList, createKeyValueDisplay, createStepIndicator, } from "../components/index.js";
|
|
6
|
-
export async function testComponents() {
|
|
7
|
-
console.clear();
|
|
8
|
-
console.log(chalk.bold.cyan("\nšØ KYA-OS CLI Component System Demo\n"));
|
|
9
|
-
// Box components
|
|
10
|
-
console.log(chalk.bold("1. Box Components:"));
|
|
11
|
-
console.log(createBox("This is a simple box with default styling", {
|
|
12
|
-
title: "Default Box",
|
|
13
|
-
}));
|
|
14
|
-
console.log(createBox("This box has custom styling and colors!", {
|
|
15
|
-
title: "Custom Box",
|
|
16
|
-
style: "double",
|
|
17
|
-
borderColor: "ff00ff",
|
|
18
|
-
align: "center",
|
|
19
|
-
padding: 2,
|
|
20
|
-
}));
|
|
21
|
-
console.log(createDivider(50, "heavy"));
|
|
22
|
-
console.log("");
|
|
23
|
-
// Message components
|
|
24
|
-
console.log(chalk.bold("2. Message Components:"));
|
|
25
|
-
console.log(createSuccessMessage("Operation completed successfully!"));
|
|
26
|
-
console.log(createErrorMessage("Something went wrong!"));
|
|
27
|
-
console.log(createWarningMessage("Please be careful with this operation"));
|
|
28
|
-
console.log(createInfoMessage("Did you know? Components are reusable!"));
|
|
29
|
-
console.log("");
|
|
30
|
-
// Progress indicators
|
|
31
|
-
console.log(chalk.bold("3. Progress Indicators:"));
|
|
32
|
-
console.log(createStepIndicator(1, 5, "Initialize project", "completed"));
|
|
33
|
-
console.log(createStepIndicator(2, 5, "Install dependencies", "completed"));
|
|
34
|
-
console.log(createStepIndicator(3, 5, "Configure environment", "active"));
|
|
35
|
-
console.log(createStepIndicator(4, 5, "Run tests", "pending"));
|
|
36
|
-
console.log(createStepIndicator(5, 5, "Deploy", "pending"));
|
|
37
|
-
console.log("");
|
|
38
|
-
console.log("Progress: " + createProgressBar(65, 100));
|
|
39
|
-
console.log("");
|
|
40
|
-
// Lists
|
|
41
|
-
console.log(chalk.bold("4. List Components:"));
|
|
42
|
-
console.log(createBulletList([
|
|
43
|
-
"Easy to use components",
|
|
44
|
-
"Consistent styling",
|
|
45
|
-
"No external dependencies",
|
|
46
|
-
"Fully customizable",
|
|
47
|
-
]));
|
|
48
|
-
console.log("");
|
|
49
|
-
console.log(createNumberedList([
|
|
50
|
-
"First, create your component",
|
|
51
|
-
"Then, customize the styling",
|
|
52
|
-
"Finally, use it everywhere!",
|
|
53
|
-
]));
|
|
54
|
-
console.log("");
|
|
55
|
-
// Key-value display
|
|
56
|
-
console.log(chalk.bold("5. Key-Value Display:"));
|
|
57
|
-
console.log(createKeyValueDisplay({
|
|
58
|
-
Name: "kya-os-cli",
|
|
59
|
-
Version: "0.1.0-beta.13",
|
|
60
|
-
License: "MIT",
|
|
61
|
-
Author: "Dylan Hobbs",
|
|
62
|
-
Description: "CLI for KYA-OS MCP-I setup",
|
|
63
|
-
}));
|
|
64
|
-
console.log("");
|
|
65
|
-
// Agent card (compact)
|
|
66
|
-
console.log(chalk.bold("6. Agent Card Components:"));
|
|
67
|
-
console.log(createCompactAgentCard({
|
|
68
|
-
name: "demo-agent",
|
|
69
|
-
description: "A demonstration agent for testing",
|
|
70
|
-
did: "did:web:knowthat.ai:agents:demo-agent",
|
|
71
|
-
agentSlug: "demo-agent",
|
|
72
|
-
}));
|
|
73
|
-
console.log("");
|
|
74
|
-
// Full agent card
|
|
75
|
-
const fullCard = createAgentCard({
|
|
76
|
-
name: "test-agent",
|
|
77
|
-
description: "This is a test agent with full details",
|
|
78
|
-
did: "did:web:knowthat.ai:agents:test-agent",
|
|
79
|
-
privateKey: "ed25519:3yDyvKgoESF8X6zyqnfTxHaGgvMYBqjb4eBnRbYFMkRp",
|
|
80
|
-
agentSlug: "test-agent",
|
|
81
|
-
claimUrl: "https://knowthat.ai/agents/claim?did=did%3Aweb%3Aknowthat.ai%3Aagents%3Atest-agent&signature=abc123",
|
|
82
|
-
});
|
|
83
|
-
console.log(fullCard);
|
|
84
|
-
console.log(chalk.green("\n⨠Component demo complete!\n"));
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=test-components.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-components.js","sourceRoot":"","sources":["../../src/commands/test-components.ts"],"names":[],"mappings":"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"}
|
package/dist/dev.d.ts
DELETED
package/dist/dev.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
|
package/dist/dev.js
DELETED
package/dist/dev.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,+BAA+B;AAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"effects.test.d.ts","sourceRoot":"","sources":["../../../src/effects/__tests__/effects.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tests for Terminal Effects System
|
|
3
|
-
*/
|
|
4
|
-
import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
|
|
5
|
-
import { SafeEffectExecutor, getEffect, getAllEffects, cliEffects, EffectTrigger, } from "../index.js";
|
|
6
|
-
// Mock terminal capabilities
|
|
7
|
-
vi.mock("../utils.js", async () => {
|
|
8
|
-
const actual = await vi.importActual("../utils.js");
|
|
9
|
-
return {
|
|
10
|
-
...actual,
|
|
11
|
-
detectTerminalCapabilities: vi.fn(() => ({
|
|
12
|
-
supportsColor: true,
|
|
13
|
-
supports256Color: true,
|
|
14
|
-
supportsTrueColor: true,
|
|
15
|
-
dimensions: { width: 80, height: 24 },
|
|
16
|
-
isInteractive: true,
|
|
17
|
-
})),
|
|
18
|
-
};
|
|
19
|
-
});
|
|
20
|
-
// Mock process.stdout
|
|
21
|
-
const mockWrite = vi.fn();
|
|
22
|
-
const mockClearLine = vi.fn();
|
|
23
|
-
const mockCursorTo = vi.fn();
|
|
24
|
-
beforeEach(() => {
|
|
25
|
-
vi.clearAllMocks();
|
|
26
|
-
process.stdout.write = mockWrite;
|
|
27
|
-
process.stdout.clearLine = mockClearLine;
|
|
28
|
-
process.stdout.cursorTo = mockCursorTo;
|
|
29
|
-
});
|
|
30
|
-
afterEach(() => {
|
|
31
|
-
vi.restoreAllMocks();
|
|
32
|
-
});
|
|
33
|
-
describe("Effect Registry", () => {
|
|
34
|
-
it("should register and retrieve effects", async () => {
|
|
35
|
-
const burnEffect = await getEffect("burn");
|
|
36
|
-
expect(burnEffect).toBeDefined();
|
|
37
|
-
expect(burnEffect?.name).toBe("Burn");
|
|
38
|
-
const beamsEffect = await getEffect("beams");
|
|
39
|
-
expect(beamsEffect).toBeDefined();
|
|
40
|
-
expect(beamsEffect?.name).toBe("Beams");
|
|
41
|
-
});
|
|
42
|
-
it("should return null for non-existent effects", async () => {
|
|
43
|
-
const effect = await getEffect("nonexistent");
|
|
44
|
-
expect(effect).toBeNull();
|
|
45
|
-
});
|
|
46
|
-
it("should list all available effects", () => {
|
|
47
|
-
const effects = getAllEffects();
|
|
48
|
-
expect(effects.length).toBeGreaterThanOrEqual(5); // burn, beams, decrypt, blackhole, waves
|
|
49
|
-
expect(effects.map((e) => e.name)).toContain("burn");
|
|
50
|
-
expect(effects.map((e) => e.name)).toContain("beams");
|
|
51
|
-
expect(effects.map((e) => e.name)).toContain("decrypt");
|
|
52
|
-
expect(effects.map((e) => e.name)).toContain("blackhole");
|
|
53
|
-
expect(effects.map((e) => e.name)).toContain("waves");
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
describe("BurnEffect", () => {
|
|
57
|
-
let effect;
|
|
58
|
-
beforeEach(async () => {
|
|
59
|
-
effect = await getEffect("burn");
|
|
60
|
-
});
|
|
61
|
-
it("should initialize properly", () => {
|
|
62
|
-
const text = "Test Text";
|
|
63
|
-
effect.initialize(text, { frameRate: 30 });
|
|
64
|
-
expect(effect.name).toBe("Burn");
|
|
65
|
-
expect(effect.description).toBe("Characters are ignited and burn up the screen");
|
|
66
|
-
});
|
|
67
|
-
it("should render frames", async () => {
|
|
68
|
-
const text = "Hello";
|
|
69
|
-
effect.initialize(text, { frameRate: 30 });
|
|
70
|
-
const frame = await effect.render();
|
|
71
|
-
expect(frame).toBeInstanceOf(Array);
|
|
72
|
-
expect(frame.length).toBeGreaterThan(0);
|
|
73
|
-
});
|
|
74
|
-
it("should provide fallback rendering", () => {
|
|
75
|
-
const text = "Hello\nWorld";
|
|
76
|
-
effect.initialize(text, {});
|
|
77
|
-
const fallback = effect.renderFallback();
|
|
78
|
-
expect(fallback).toEqual(["Hello", "World"]);
|
|
79
|
-
});
|
|
80
|
-
it("should complete after animation", async () => {
|
|
81
|
-
const text = "Test";
|
|
82
|
-
effect.initialize(text, { frameRate: 120 }); // High framerate for faster test
|
|
83
|
-
expect(effect.isComplete()).toBe(false);
|
|
84
|
-
// Render multiple frames
|
|
85
|
-
for (let i = 0; i < 100 && !effect.isComplete(); i++) {
|
|
86
|
-
await effect.render();
|
|
87
|
-
}
|
|
88
|
-
// Should eventually complete
|
|
89
|
-
expect(effect.isComplete()).toBe(true);
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
describe("SafeEffectExecutor", () => {
|
|
93
|
-
let executor;
|
|
94
|
-
beforeEach(() => {
|
|
95
|
-
executor = new SafeEffectExecutor({
|
|
96
|
-
maxExecutionTime: 1000,
|
|
97
|
-
maxMemoryUsage: 50,
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
it("should execute effects successfully", async () => {
|
|
101
|
-
const effect = await getEffect("burn");
|
|
102
|
-
const result = await executor.execute(effect, "Test", {});
|
|
103
|
-
expect(result.success).toBe(true);
|
|
104
|
-
expect(result.frames).toBeInstanceOf(Array);
|
|
105
|
-
});
|
|
106
|
-
it("should timeout long-running effects", async () => {
|
|
107
|
-
const effect = await getEffect("burn");
|
|
108
|
-
executor = new SafeEffectExecutor({ maxExecutionTime: 10 }); // Very short timeout
|
|
109
|
-
const result = await executor.execute(effect, "A".repeat(1000), {});
|
|
110
|
-
// Should fallback on timeout
|
|
111
|
-
expect(result.success).toBe(true);
|
|
112
|
-
expect(result.error).toBeDefined();
|
|
113
|
-
});
|
|
114
|
-
it("should use fallback in non-interactive environments", async () => {
|
|
115
|
-
const utils = await import("../utils.js");
|
|
116
|
-
vi.mocked(utils.detectTerminalCapabilities).mockReturnValueOnce({
|
|
117
|
-
supportsColor: false,
|
|
118
|
-
supports256Color: false,
|
|
119
|
-
supportsTrueColor: false,
|
|
120
|
-
dimensions: { width: 80, height: 24 },
|
|
121
|
-
isInteractive: false,
|
|
122
|
-
});
|
|
123
|
-
executor = new SafeEffectExecutor();
|
|
124
|
-
const effect = await getEffect("burn");
|
|
125
|
-
const result = await executor.execute(effect, "Test", {});
|
|
126
|
-
expect(result.success).toBe(true);
|
|
127
|
-
expect(result.frames).toEqual(["Test"]);
|
|
128
|
-
});
|
|
129
|
-
it("should handle effect errors gracefully", async () => {
|
|
130
|
-
const effect = await getEffect("burn");
|
|
131
|
-
// Force an error by not initializing
|
|
132
|
-
const result = await executor.execute(effect, "", {});
|
|
133
|
-
expect(result.frames).toBeInstanceOf(Array);
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
describe("CLI Effects Integration", () => {
|
|
137
|
-
beforeEach(() => {
|
|
138
|
-
// Mock console.log
|
|
139
|
-
vi.spyOn(console, "log").mockImplementation(() => { });
|
|
140
|
-
});
|
|
141
|
-
afterEach(() => {
|
|
142
|
-
vi.restoreAllMocks();
|
|
143
|
-
});
|
|
144
|
-
it("should show effects for triggers", async () => {
|
|
145
|
-
await cliEffects.showEffect(EffectTrigger.PRIVATE_KEY_DELETE, "Deleting key...");
|
|
146
|
-
// Should have attempted to show effect
|
|
147
|
-
expect(mockWrite).toHaveBeenCalled();
|
|
148
|
-
});
|
|
149
|
-
it("should fallback to console.log when effects disabled", async () => {
|
|
150
|
-
process.env.KYA_EFFECTS_ENABLED = "false";
|
|
151
|
-
await cliEffects.showEffect(EffectTrigger.AGENT_IDENTITY_CREATE, "Creating identity...");
|
|
152
|
-
expect(console.log).toHaveBeenCalledWith("Creating identity...");
|
|
153
|
-
delete process.env.KYA_EFFECTS_ENABLED;
|
|
154
|
-
});
|
|
155
|
-
it("should handle custom effects", async () => {
|
|
156
|
-
await cliEffects.showCustomEffect("burn", "Custom text");
|
|
157
|
-
expect(mockWrite).toHaveBeenCalled();
|
|
158
|
-
});
|
|
159
|
-
it("should handle loading effects with promises", async () => {
|
|
160
|
-
const promise = new Promise((resolve) => {
|
|
161
|
-
setTimeout(() => resolve("Done"), 100);
|
|
162
|
-
});
|
|
163
|
-
const result = await cliEffects.showLoadingEffect("Loading...", promise);
|
|
164
|
-
expect(result).toBe("Done");
|
|
165
|
-
});
|
|
166
|
-
});
|
|
167
|
-
describe("Effect Performance", () => {
|
|
168
|
-
it("should maintain reasonable frame rates", async () => {
|
|
169
|
-
const effect = await getEffect("beams");
|
|
170
|
-
const text = "Performance Test";
|
|
171
|
-
effect.initialize(text, { frameRate: 30 });
|
|
172
|
-
const startTime = Date.now();
|
|
173
|
-
let frameCount = 0;
|
|
174
|
-
// Render for 100ms
|
|
175
|
-
while (Date.now() - startTime < 100 && !effect.isComplete()) {
|
|
176
|
-
await effect.render();
|
|
177
|
-
frameCount++;
|
|
178
|
-
}
|
|
179
|
-
// Should render at least a few frames in 100ms
|
|
180
|
-
expect(frameCount).toBeGreaterThan(2);
|
|
181
|
-
});
|
|
182
|
-
});
|
|
183
|
-
describe("Memory Safety", () => {
|
|
184
|
-
it("should clean up resources properly", async () => {
|
|
185
|
-
const effect = await getEffect("burn");
|
|
186
|
-
effect.initialize("Test", {});
|
|
187
|
-
// Render some frames
|
|
188
|
-
for (let i = 0; i < 10; i++) {
|
|
189
|
-
await effect.render();
|
|
190
|
-
}
|
|
191
|
-
// Cleanup
|
|
192
|
-
effect.cleanup();
|
|
193
|
-
// Should be able to reinitialize
|
|
194
|
-
effect.initialize("Test Again", {});
|
|
195
|
-
const frame = await effect.render();
|
|
196
|
-
expect(frame).toBeInstanceOf(Array);
|
|
197
|
-
});
|
|
198
|
-
it("should reset state correctly", async () => {
|
|
199
|
-
const effect = await getEffect("beams");
|
|
200
|
-
effect.initialize("Test", {});
|
|
201
|
-
// Render some frames
|
|
202
|
-
await effect.render();
|
|
203
|
-
await effect.render();
|
|
204
|
-
// Reset
|
|
205
|
-
effect.reset();
|
|
206
|
-
// Should be back to initial state
|
|
207
|
-
expect(effect.isComplete()).toBe(false);
|
|
208
|
-
});
|
|
209
|
-
});
|
|
210
|
-
//# sourceMappingURL=effects.test.js.map
|