@kya-os/cli 0.1.0-beta.8 → 1.0.0-beta
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 +24 -26
- package/dist/commands/claim.d.ts.map +1 -1
- package/dist/commands/claim.js +29 -29
- package/dist/commands/claim.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +240 -212
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/rotate.d.ts.map +1 -1
- package/dist/commands/rotate.js +63 -52
- package/dist/commands/rotate.js.map +1 -1
- package/dist/components/agent-card.d.ts +14 -0
- package/dist/components/agent-card.d.ts.map +1 -0
- package/dist/components/agent-card.js +170 -0
- package/dist/components/agent-card.js.map +1 -0
- package/dist/components/agent-table.d.ts +20 -0
- package/dist/components/agent-table.d.ts.map +1 -0
- package/dist/components/agent-table.js +201 -0
- package/dist/components/agent-table.js.map +1 -0
- package/dist/components/box.d.ts +14 -0
- package/dist/components/box.d.ts.map +1 -0
- package/dist/components/box.js +222 -0
- package/dist/components/box.js.map +1 -0
- package/dist/components/index.d.ts +16 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +17 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/messages.d.ts +62 -0
- package/dist/components/messages.d.ts.map +1 -0
- package/dist/components/messages.js +146 -0
- package/dist/components/messages.js.map +1 -0
- package/dist/components/types.d.ts +51 -0
- package/dist/components/types.d.ts.map +1 -0
- package/dist/components/types.js +5 -0
- package/dist/components/types.js.map +1 -0
- package/dist/components/welcome.d.ts +34 -0
- package/dist/components/welcome.d.ts.map +1 -0
- package/dist/components/welcome.js +115 -0
- package/dist/components/welcome.js.map +1 -0
- package/dist/effects/cli-integration.js +3 -3
- package/dist/effects/cli-integration.js.map +1 -1
- package/dist/effects/index.d.ts +9 -12
- package/dist/effects/index.d.ts.map +1 -1
- package/dist/effects/index.js +69 -34
- package/dist/effects/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +12 -19
- package/dist/utils/env-manager.d.ts +66 -2
- package/dist/utils/env-manager.d.ts.map +1 -1
- package/dist/utils/env-manager.js +381 -56
- package/dist/utils/env-manager.js.map +1 -1
- package/dist/utils/screen-manager.d.ts +10 -0
- package/dist/utils/screen-manager.d.ts.map +1 -0
- package/dist/utils/screen-manager.js +50 -0
- package/dist/utils/screen-manager.js.map +1 -0
- package/dist/utils/validation.d.ts +92 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +102 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +24 -9
- 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/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 -206
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/effects/index.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/effects/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -6,9 +6,6 @@ import { check } from "./commands/check.js";
|
|
|
6
6
|
import { env } from "./commands/env.js";
|
|
7
7
|
import { rotate } from "./commands/rotate.js";
|
|
8
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
9
|
export const program = new Command();
|
|
13
10
|
// ASCII art logo
|
|
14
11
|
const logo = chalk.cyan(`
|
|
@@ -24,18 +21,17 @@ program
|
|
|
24
21
|
// Init command
|
|
25
22
|
program
|
|
26
23
|
.command("init")
|
|
27
|
-
.description("Initialize MCP-I
|
|
24
|
+
.description("Initialize MCP-I for your AI agent")
|
|
28
25
|
.option("-n, --name <name>", "Agent name")
|
|
29
26
|
.option("-d, --description <description>", "Agent description")
|
|
30
|
-
.option("-r, --repository <
|
|
31
|
-
.option("-
|
|
32
|
-
.option("--
|
|
33
|
-
.option("--force", "Overwrite existing configuration")
|
|
27
|
+
.option("-r, --repository <repository>", "Repository URL")
|
|
28
|
+
.option("--skip-registration", "Skip agent registration with knowthat.ai")
|
|
29
|
+
.option("--force", "Force overwrite existing configuration")
|
|
34
30
|
.action(init);
|
|
35
31
|
// Check command
|
|
36
32
|
program
|
|
37
33
|
.command("check")
|
|
38
|
-
.description("Check MCP-I
|
|
34
|
+
.description("Check if MCP-I is configured for this project")
|
|
39
35
|
.option("-v, --verbose", "Show detailed information")
|
|
40
36
|
.action(check);
|
|
41
37
|
// Env command with subcommands
|
|
@@ -57,22 +53,19 @@ envCommand
|
|
|
57
53
|
// Rotate command
|
|
58
54
|
program
|
|
59
55
|
.command("rotate")
|
|
60
|
-
.description("Rotate identity keys")
|
|
56
|
+
.description("Rotate your agent's identity keys")
|
|
61
57
|
.option("-f, --force", "Force rotation without confirmation")
|
|
62
58
|
.option("-r, --reason <reason>", "Reason for rotation")
|
|
63
59
|
.action(rotate);
|
|
64
60
|
// Claim command
|
|
65
|
-
program
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
// Simple CLI demo command
|
|
71
|
-
program.addCommand(createSimpleCLIDemoCommand());
|
|
72
|
-
// Parse arguments
|
|
61
|
+
program
|
|
62
|
+
.command("claim")
|
|
63
|
+
.description("Get your agent's claim URL for the registry")
|
|
64
|
+
.action(claim);
|
|
65
|
+
// Parse command line arguments
|
|
73
66
|
program.parse();
|
|
74
67
|
// Show help if no command specified
|
|
75
68
|
if (!process.argv.slice(2).length) {
|
|
76
69
|
program.outputHelp();
|
|
77
70
|
}
|
|
78
|
-
//# sourceMappingURL=index.js.map
|
|
71
|
+
//# sourceMappingURL=index.prod.js.map
|
|
@@ -5,13 +5,77 @@ export interface EnvVariables {
|
|
|
5
5
|
MCP_IDENTITY_AGENT_ID: string;
|
|
6
6
|
MCP_IDENTITY_AGENT_SLUG: string;
|
|
7
7
|
}
|
|
8
|
+
export interface EnvFile {
|
|
9
|
+
path: string;
|
|
10
|
+
filename: string;
|
|
11
|
+
exists: boolean;
|
|
12
|
+
writable: boolean;
|
|
13
|
+
hasMcpIdentity: boolean;
|
|
14
|
+
mcpVariables: Partial<EnvVariables>;
|
|
15
|
+
}
|
|
16
|
+
export interface EnvInsertionResult {
|
|
17
|
+
success: boolean;
|
|
18
|
+
targetFile: string;
|
|
19
|
+
operation: "created" | "updated" | "replaced";
|
|
20
|
+
warnings: string[];
|
|
21
|
+
conflicts?: {
|
|
22
|
+
file: string;
|
|
23
|
+
variable: string;
|
|
24
|
+
value: string;
|
|
25
|
+
}[];
|
|
26
|
+
}
|
|
8
27
|
export declare class EnvManager {
|
|
9
28
|
private projectRoot;
|
|
10
29
|
constructor(projectRoot?: string);
|
|
11
30
|
/**
|
|
12
|
-
*
|
|
31
|
+
* Scan for all .env files with detailed analysis
|
|
32
|
+
*/
|
|
33
|
+
scanEnvFiles(): EnvFile[];
|
|
34
|
+
/**
|
|
35
|
+
* Determine the best target file using precedence rules
|
|
36
|
+
*/
|
|
37
|
+
selectTargetEnvFile(envFiles: EnvFile[]): {
|
|
38
|
+
target: EnvFile | null;
|
|
39
|
+
warnings: string[];
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Check for conflicts across multiple .env files
|
|
43
|
+
*/
|
|
44
|
+
detectConflicts(envFiles: EnvFile[], newVariables: EnvVariables): {
|
|
45
|
+
file: string;
|
|
46
|
+
variable: string;
|
|
47
|
+
value: string;
|
|
48
|
+
}[];
|
|
49
|
+
/**
|
|
50
|
+
* Smart insertion/update of MCP-I variables
|
|
51
|
+
*/
|
|
52
|
+
smartInsertMcpVariables(variables: EnvVariables, options?: {
|
|
53
|
+
force?: boolean;
|
|
54
|
+
}): Promise<EnvInsertionResult>;
|
|
55
|
+
/**
|
|
56
|
+
* Parse .env file and extract MCP-I variables
|
|
57
|
+
*/
|
|
58
|
+
private parseEnvFile;
|
|
59
|
+
/**
|
|
60
|
+
* Create a new .env file
|
|
61
|
+
*/
|
|
62
|
+
private createEnvFile;
|
|
63
|
+
/**
|
|
64
|
+
* Update existing .env file by replacing MCP-I variables
|
|
65
|
+
*/
|
|
66
|
+
private updateExistingEnvFile;
|
|
67
|
+
/**
|
|
68
|
+
* Append MCP-I variables to existing .env file
|
|
69
|
+
*/
|
|
70
|
+
private appendToEnvFile;
|
|
71
|
+
/**
|
|
72
|
+
* Find existing .env files in the project
|
|
73
|
+
*/
|
|
74
|
+
findExistingEnvFiles(): string[];
|
|
75
|
+
/**
|
|
76
|
+
* Update or create environment file, merging with existing content
|
|
13
77
|
*/
|
|
14
|
-
|
|
78
|
+
updateEnvFile(filename: string, variables: EnvVariables, options?: {
|
|
15
79
|
force?: boolean;
|
|
16
80
|
example?: boolean;
|
|
17
81
|
}): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-manager.d.ts","sourceRoot":"","sources":["../../src/utils/env-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env-manager.d.ts","sourceRoot":"","sources":["../../src/utils/env-manager.ts"],"names":[],"mappings":"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"}
|