@kya-os/cli 0.1.0-beta.1
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 +81 -0
- package/dist/commands/check.d.ts +6 -0
- package/dist/commands/check.d.ts.map +1 -0
- package/dist/commands/check.js +150 -0
- package/dist/commands/check.js.map +1 -0
- package/dist/commands/claim.d.ts +2 -0
- package/dist/commands/claim.d.ts.map +1 -0
- package/dist/commands/claim.js +71 -0
- package/dist/commands/claim.js.map +1 -0
- package/dist/commands/env.d.ts +2 -0
- package/dist/commands/env.d.ts.map +1 -0
- package/dist/commands/env.js +217 -0
- package/dist/commands/env.js.map +1 -0
- package/dist/commands/init.d.ts +11 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +159 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/rotate.d.ts +7 -0
- package/dist/commands/rotate.d.ts.map +1 -0
- package/dist/commands/rotate.js +106 -0
- package/dist/commands/rotate.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +77 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/env-manager.d.ts +53 -0
- package/dist/utils/env-manager.d.ts.map +1 -0
- package/dist/utils/env-manager.js +177 -0
- package/dist/utils/env-manager.js.map +1 -0
- package/dist/utils/platform-detector.d.ts +42 -0
- package/dist/utils/platform-detector.d.ts.map +1 -0
- package/dist/utils/platform-detector.js +137 -0
- package/dist/utils/platform-detector.js.map +1 -0
- package/dist/utils/prompts.d.ts +23 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +158 -0
- package/dist/utils/prompts.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export type Platform = 'nextjs' | 'vercel' | 'lambda' | 'docker' | 'node' | 'unknown';
|
|
2
|
+
export interface PlatformInfo {
|
|
3
|
+
platform: Platform;
|
|
4
|
+
version?: string;
|
|
5
|
+
hasVercel: boolean;
|
|
6
|
+
hasDocker: boolean;
|
|
7
|
+
framework?: string;
|
|
8
|
+
packageManager: 'npm' | 'yarn' | 'pnpm';
|
|
9
|
+
}
|
|
10
|
+
export declare function detectPlatform(projectRoot?: string): PlatformInfo;
|
|
11
|
+
export declare function getPlatformSpecificConfig(platform: Platform): {
|
|
12
|
+
storage: string;
|
|
13
|
+
transport: string;
|
|
14
|
+
envFile: string;
|
|
15
|
+
instructions: string[];
|
|
16
|
+
} | {
|
|
17
|
+
storage: string;
|
|
18
|
+
transport: string;
|
|
19
|
+
envFile: string;
|
|
20
|
+
instructions: string[];
|
|
21
|
+
} | {
|
|
22
|
+
storage: string;
|
|
23
|
+
transport: string;
|
|
24
|
+
envFile: string;
|
|
25
|
+
instructions: string[];
|
|
26
|
+
} | {
|
|
27
|
+
storage: string;
|
|
28
|
+
transport: string;
|
|
29
|
+
envFile: string;
|
|
30
|
+
instructions: string[];
|
|
31
|
+
} | {
|
|
32
|
+
storage: string;
|
|
33
|
+
transport: string;
|
|
34
|
+
envFile: string;
|
|
35
|
+
instructions: string[];
|
|
36
|
+
} | {
|
|
37
|
+
storage: string;
|
|
38
|
+
transport: string;
|
|
39
|
+
envFile: string;
|
|
40
|
+
instructions: string[];
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=platform-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-detector.d.ts","sourceRoot":"","sources":["../../src/utils/platform-detector.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtF,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CACzC;AAED,wBAAgB,cAAc,CAAC,WAAW,GAAE,MAAsB,GAAG,YAAY,CAsEhF;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgE3D"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.detectPlatform = detectPlatform;
|
|
4
|
+
exports.getPlatformSpecificConfig = getPlatformSpecificConfig;
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
function detectPlatform(projectRoot = process.cwd()) {
|
|
8
|
+
const info = {
|
|
9
|
+
platform: 'unknown',
|
|
10
|
+
hasVercel: false,
|
|
11
|
+
hasDocker: false,
|
|
12
|
+
packageManager: 'npm'
|
|
13
|
+
};
|
|
14
|
+
// Check package.json
|
|
15
|
+
const packageJsonPath = (0, path_1.join)(projectRoot, 'package.json');
|
|
16
|
+
if ((0, fs_1.existsSync)(packageJsonPath)) {
|
|
17
|
+
try {
|
|
18
|
+
const packageJson = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf-8'));
|
|
19
|
+
// Detect Next.js
|
|
20
|
+
if (packageJson.dependencies?.next || packageJson.devDependencies?.next) {
|
|
21
|
+
info.platform = 'nextjs';
|
|
22
|
+
info.framework = 'nextjs';
|
|
23
|
+
info.version = packageJson.dependencies?.next || packageJson.devDependencies?.next;
|
|
24
|
+
}
|
|
25
|
+
// Check for other frameworks
|
|
26
|
+
if (packageJson.dependencies?.express) {
|
|
27
|
+
info.framework = 'express';
|
|
28
|
+
if (info.platform === 'unknown')
|
|
29
|
+
info.platform = 'node';
|
|
30
|
+
}
|
|
31
|
+
if (packageJson.dependencies?.fastify) {
|
|
32
|
+
info.framework = 'fastify';
|
|
33
|
+
if (info.platform === 'unknown')
|
|
34
|
+
info.platform = 'node';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
console.error('Error reading package.json:', error);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Check for Vercel
|
|
42
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(projectRoot, 'vercel.json')) || (0, fs_1.existsSync)((0, path_1.join)(projectRoot, '.vercel'))) {
|
|
43
|
+
info.hasVercel = true;
|
|
44
|
+
if (info.platform === 'nextjs') {
|
|
45
|
+
info.platform = 'vercel'; // Next.js on Vercel
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// Check for Docker
|
|
49
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(projectRoot, 'Dockerfile')) || (0, fs_1.existsSync)((0, path_1.join)(projectRoot, 'docker-compose.yml'))) {
|
|
50
|
+
info.hasDocker = true;
|
|
51
|
+
if (info.platform === 'unknown')
|
|
52
|
+
info.platform = 'docker';
|
|
53
|
+
}
|
|
54
|
+
// Check for Lambda
|
|
55
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(projectRoot, 'serverless.yml')) ||
|
|
56
|
+
(0, fs_1.existsSync)((0, path_1.join)(projectRoot, 'template.yaml')) ||
|
|
57
|
+
(0, fs_1.existsSync)((0, path_1.join)(projectRoot, 'sam-template.yaml'))) {
|
|
58
|
+
info.platform = 'lambda';
|
|
59
|
+
}
|
|
60
|
+
// Detect package manager
|
|
61
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(projectRoot, 'pnpm-lock.yaml'))) {
|
|
62
|
+
info.packageManager = 'pnpm';
|
|
63
|
+
}
|
|
64
|
+
else if ((0, fs_1.existsSync)((0, path_1.join)(projectRoot, 'yarn.lock'))) {
|
|
65
|
+
info.packageManager = 'yarn';
|
|
66
|
+
}
|
|
67
|
+
// Default to Node.js if we found a package.json but nothing else
|
|
68
|
+
if (info.platform === 'unknown' && (0, fs_1.existsSync)(packageJsonPath)) {
|
|
69
|
+
info.platform = 'node';
|
|
70
|
+
}
|
|
71
|
+
return info;
|
|
72
|
+
}
|
|
73
|
+
function getPlatformSpecificConfig(platform) {
|
|
74
|
+
const configs = {
|
|
75
|
+
nextjs: {
|
|
76
|
+
storage: 'memory',
|
|
77
|
+
transport: 'fetch',
|
|
78
|
+
envFile: '.env.local',
|
|
79
|
+
instructions: [
|
|
80
|
+
'Add environment variables to .env.local for local development',
|
|
81
|
+
'For production, add variables to Vercel Dashboard',
|
|
82
|
+
'Import with: import "@kya-os/mcp-i/auto"'
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
vercel: {
|
|
86
|
+
storage: 'memory',
|
|
87
|
+
transport: 'fetch',
|
|
88
|
+
envFile: '.env.local',
|
|
89
|
+
instructions: [
|
|
90
|
+
'Add environment variables to .env.local for local development',
|
|
91
|
+
'Add the same variables to Vercel Dashboard → Settings → Environment Variables',
|
|
92
|
+
'Import with: import "@kya-os/mcp-i/auto"'
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
lambda: {
|
|
96
|
+
storage: 'memory',
|
|
97
|
+
transport: 'fetch',
|
|
98
|
+
envFile: '.env',
|
|
99
|
+
instructions: [
|
|
100
|
+
'Add environment variables to your Lambda function configuration',
|
|
101
|
+
'Or use AWS Systems Manager Parameter Store',
|
|
102
|
+
'Import with: import "@kya-os/mcp-i/auto"'
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
docker: {
|
|
106
|
+
storage: 'file',
|
|
107
|
+
transport: 'auto',
|
|
108
|
+
envFile: '.env',
|
|
109
|
+
instructions: [
|
|
110
|
+
'Add environment variables to docker-compose.yml or Dockerfile',
|
|
111
|
+
'Mount a volume for persistent identity storage',
|
|
112
|
+
'Import with: import "@kya-os/mcp-i/auto"'
|
|
113
|
+
]
|
|
114
|
+
},
|
|
115
|
+
node: {
|
|
116
|
+
storage: 'file',
|
|
117
|
+
transport: 'auto',
|
|
118
|
+
envFile: '.env',
|
|
119
|
+
instructions: [
|
|
120
|
+
'Add environment variables to .env file',
|
|
121
|
+
'Make sure to add .env to .gitignore',
|
|
122
|
+
'Import with: import "@kya-os/mcp-i/auto"'
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
unknown: {
|
|
126
|
+
storage: 'auto',
|
|
127
|
+
transport: 'auto',
|
|
128
|
+
envFile: '.env',
|
|
129
|
+
instructions: [
|
|
130
|
+
'Add environment variables based on your deployment platform',
|
|
131
|
+
'Import with: import "@kya-os/mcp-i/auto"'
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
return configs[platform];
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=platform-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-detector.js","sourceRoot":"","sources":["../../src/utils/platform-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Platform } from './platform-detector';
|
|
2
|
+
export interface InitAnswers {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
repository?: string;
|
|
6
|
+
directories: 'verified' | 'specific' | 'none';
|
|
7
|
+
specificDirectories?: string[];
|
|
8
|
+
platform?: Platform;
|
|
9
|
+
confirmRegistration: boolean;
|
|
10
|
+
confirmEnvCreation: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function promptForInit(defaults?: Partial<InitAnswers>): Promise<InitAnswers>;
|
|
13
|
+
export declare function confirmOverwrite(filename: string): Promise<boolean>;
|
|
14
|
+
export declare function confirmRotation(): Promise<{
|
|
15
|
+
confirm: boolean;
|
|
16
|
+
reason: string;
|
|
17
|
+
}>;
|
|
18
|
+
export declare function selectPlatform(detected?: Platform): Promise<Platform>;
|
|
19
|
+
export declare function showSuccess(message: string): void;
|
|
20
|
+
export declare function showError(message: string): void;
|
|
21
|
+
export declare function showWarning(message: string): void;
|
|
22
|
+
export declare function showInfo(message: string): void;
|
|
23
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IAC9C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAsB,aAAa,CAAC,QAAQ,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA2E7F;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUzE;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBrF;AAED,wBAAsB,cAAc,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAkB3E;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAE1C;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,QAExC;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAE1C;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,QAEvC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.promptForInit = promptForInit;
|
|
7
|
+
exports.confirmOverwrite = confirmOverwrite;
|
|
8
|
+
exports.confirmRotation = confirmRotation;
|
|
9
|
+
exports.selectPlatform = selectPlatform;
|
|
10
|
+
exports.showSuccess = showSuccess;
|
|
11
|
+
exports.showError = showError;
|
|
12
|
+
exports.showWarning = showWarning;
|
|
13
|
+
exports.showInfo = showInfo;
|
|
14
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
15
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
16
|
+
async function promptForInit(defaults = {}) {
|
|
17
|
+
console.log(chalk_1.default.cyan('\n🚀 MCP-I Initialization\n'));
|
|
18
|
+
const answers = await inquirer_1.default.prompt([
|
|
19
|
+
{
|
|
20
|
+
type: 'input',
|
|
21
|
+
name: 'name',
|
|
22
|
+
message: 'What\'s your agent name?',
|
|
23
|
+
default: defaults.name || 'My MCP Agent',
|
|
24
|
+
validate: (input) => {
|
|
25
|
+
if (!input.trim())
|
|
26
|
+
return 'Agent name is required';
|
|
27
|
+
if (input.length < 3)
|
|
28
|
+
return 'Agent name must be at least 3 characters';
|
|
29
|
+
if (input.length > 50)
|
|
30
|
+
return 'Agent name must be less than 50 characters';
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
type: 'input',
|
|
36
|
+
name: 'description',
|
|
37
|
+
message: 'Brief description of your agent:',
|
|
38
|
+
default: defaults.description || 'An MCP server that provides helpful tools',
|
|
39
|
+
validate: (input) => {
|
|
40
|
+
if (!input.trim())
|
|
41
|
+
return 'Description is required';
|
|
42
|
+
if (input.length > 200)
|
|
43
|
+
return 'Description must be less than 200 characters';
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
type: 'input',
|
|
49
|
+
name: 'repository',
|
|
50
|
+
message: 'Repository URL (optional):',
|
|
51
|
+
default: defaults.repository,
|
|
52
|
+
filter: (input) => input.trim() || undefined
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
type: 'list',
|
|
56
|
+
name: 'directories',
|
|
57
|
+
message: 'Which directories should list your agent?',
|
|
58
|
+
choices: [
|
|
59
|
+
{ name: 'All verified directories (recommended)', value: 'verified' },
|
|
60
|
+
{ name: 'Specific directories only', value: 'specific' },
|
|
61
|
+
{ name: 'None (registry only)', value: 'none' }
|
|
62
|
+
],
|
|
63
|
+
default: 'verified'
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
type: 'checkbox',
|
|
67
|
+
name: 'specificDirectories',
|
|
68
|
+
message: 'Select directories:',
|
|
69
|
+
choices: [
|
|
70
|
+
{ name: 'Smithery', value: 'smithery' },
|
|
71
|
+
{ name: 'Glama', value: 'glama' },
|
|
72
|
+
{ name: 'Cursor', value: 'cursor' }
|
|
73
|
+
],
|
|
74
|
+
when: (answers) => answers.directories === 'specific',
|
|
75
|
+
validate: (input) => {
|
|
76
|
+
if (input.length === 0)
|
|
77
|
+
return 'Please select at least one directory';
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
type: 'confirm',
|
|
83
|
+
name: 'confirmRegistration',
|
|
84
|
+
message: 'Register agent with knowthat.ai now?',
|
|
85
|
+
default: true
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
type: 'confirm',
|
|
89
|
+
name: 'confirmEnvCreation',
|
|
90
|
+
message: 'Create environment files?',
|
|
91
|
+
default: true
|
|
92
|
+
}
|
|
93
|
+
]);
|
|
94
|
+
return answers;
|
|
95
|
+
}
|
|
96
|
+
async function confirmOverwrite(filename) {
|
|
97
|
+
const { confirm } = await inquirer_1.default.prompt([
|
|
98
|
+
{
|
|
99
|
+
type: 'confirm',
|
|
100
|
+
name: 'confirm',
|
|
101
|
+
message: chalk_1.default.yellow(`${filename} already exists. Overwrite?`),
|
|
102
|
+
default: false
|
|
103
|
+
}
|
|
104
|
+
]);
|
|
105
|
+
return confirm;
|
|
106
|
+
}
|
|
107
|
+
async function confirmRotation() {
|
|
108
|
+
const answers = await inquirer_1.default.prompt([
|
|
109
|
+
{
|
|
110
|
+
type: 'confirm',
|
|
111
|
+
name: 'confirm',
|
|
112
|
+
message: chalk_1.default.yellow('Are you sure you want to rotate your keys? This cannot be undone.'),
|
|
113
|
+
default: false
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: 'input',
|
|
117
|
+
name: 'reason',
|
|
118
|
+
message: 'Reason for rotation:',
|
|
119
|
+
when: (answers) => answers.confirm,
|
|
120
|
+
default: 'Manual rotation'
|
|
121
|
+
}
|
|
122
|
+
]);
|
|
123
|
+
return {
|
|
124
|
+
confirm: answers.confirm,
|
|
125
|
+
reason: answers.reason || 'Manual rotation'
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
async function selectPlatform(detected) {
|
|
129
|
+
const { platform } = await inquirer_1.default.prompt([
|
|
130
|
+
{
|
|
131
|
+
type: 'list',
|
|
132
|
+
name: 'platform',
|
|
133
|
+
message: 'Select your deployment platform:',
|
|
134
|
+
choices: [
|
|
135
|
+
{ name: 'Next.js / Vercel', value: 'vercel' },
|
|
136
|
+
{ name: 'Node.js', value: 'node' },
|
|
137
|
+
{ name: 'AWS Lambda', value: 'lambda' },
|
|
138
|
+
{ name: 'Docker', value: 'docker' },
|
|
139
|
+
{ name: 'Other', value: 'unknown' }
|
|
140
|
+
],
|
|
141
|
+
default: detected || 'node'
|
|
142
|
+
}
|
|
143
|
+
]);
|
|
144
|
+
return platform;
|
|
145
|
+
}
|
|
146
|
+
function showSuccess(message) {
|
|
147
|
+
console.log(chalk_1.default.green(`\n✅ ${message}\n`));
|
|
148
|
+
}
|
|
149
|
+
function showError(message) {
|
|
150
|
+
console.log(chalk_1.default.red(`\n❌ Error: ${message}\n`));
|
|
151
|
+
}
|
|
152
|
+
function showWarning(message) {
|
|
153
|
+
console.log(chalk_1.default.yellow(`\n⚠️ Warning: ${message}\n`));
|
|
154
|
+
}
|
|
155
|
+
function showInfo(message) {
|
|
156
|
+
console.log(chalk_1.default.blue(`\nℹ️ ${message}\n`));
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":";;;;;AAeA,sCA2EC;AAED,4CAUC;AAED,0CAqBC;AAED,wCAkBC;AAED,kCAEC;AAED,8BAEC;AAED,kCAEC;AAED,4BAEC;AAjKD,wDAAgC;AAChC,kDAA0B;AAcnB,KAAK,UAAU,aAAa,CAAC,WAAiC,EAAE;IACrE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAEvD,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAc;QACjD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,0BAA0B;YACnC,OAAO,EAAE,QAAQ,CAAC,IAAI,IAAI,cAAc;YACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oBAAE,OAAO,wBAAwB,CAAC;gBACnD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,0CAA0C,CAAC;gBACxE,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;oBAAE,OAAO,4CAA4C,CAAC;gBAC3E,OAAO,IAAI,CAAC;YACd,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,kCAAkC;YAC3C,OAAO,EAAE,QAAQ,CAAC,WAAW,IAAI,2CAA2C;YAC5E,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oBAAE,OAAO,yBAAyB,CAAC;gBACpD,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;oBAAE,OAAO,8CAA8C,CAAC;gBAC9E,OAAO,IAAI,CAAC;YACd,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,4BAA4B;YACrC,OAAO,EAAE,QAAQ,CAAC,UAAU;YAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS;SAC7C;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,2CAA2C;YACpD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,wCAAwC,EAAE,KAAK,EAAE,UAAU,EAAE;gBACrE,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,UAAU,EAAE;gBACxD,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE;aAChD;YACD,OAAO,EAAE,UAAU;SACpB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;gBACvC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACjC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;aACpC;YACD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,UAAU;YACrD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,sCAAsC,CAAC;gBACtE,OAAO,IAAI,CAAC;YACd,CAAC;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,sCAAsC;YAC/C,OAAO,EAAE,IAAI;SACd;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,IAAI;SACd;KACF,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QACxC;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,eAAK,CAAC,MAAM,CAAC,GAAG,QAAQ,6BAA6B,CAAC;YAC/D,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,eAAe;IACnC,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QACpC;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,eAAK,CAAC,MAAM,CAAC,mEAAmE,CAAC;YAC1F,OAAO,EAAE,KAAK;SACf;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sBAAsB;YAC/B,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO;YAClC,OAAO,EAAE,iBAAiB;SAC3B;KACF,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,iBAAiB;KAC5C,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,QAAmB;IACtD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QACzC;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kCAAkC;YAC3C,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC7C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;gBAClC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;aACpC;YACD,OAAO,EAAE,QAAQ,IAAI,MAAM;SAC5B;KACF,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAgB,WAAW,CAAC,OAAe;IACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,OAAO,OAAO,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,SAAS,CAAC,OAAe;IACvC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,OAAO,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,WAAW,CAAC,OAAe;IACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kBAAkB,OAAO,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAgB,QAAQ,CAAC,OAAe;IACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,CAAC,CAAC;AAChD,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@kya-os/cli",
|
|
3
|
+
"version": "0.1.0-beta.1",
|
|
4
|
+
"description": "CLI for KYA-OS MCP-I setup and management",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"cli",
|
|
7
|
+
"kya-os",
|
|
8
|
+
"mcp-i",
|
|
9
|
+
"ai-agents",
|
|
10
|
+
"identity"
|
|
11
|
+
],
|
|
12
|
+
"homepage": "https://github.com/kya-os/cli",
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "https://github.com/kya-os/cli.git"
|
|
16
|
+
},
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"author": "Dylan Hobbs <dylan.hobbs@vouched.id>",
|
|
19
|
+
"main": "dist/index.js",
|
|
20
|
+
"bin": {
|
|
21
|
+
"kya-os": "./dist/index.js"
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"templates"
|
|
26
|
+
],
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "tsc",
|
|
29
|
+
"dev": "tsx src/index.ts",
|
|
30
|
+
"prepare": "npm run build"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@kya-os/mcp-i": "^0.1.0-alpha.2.9",
|
|
34
|
+
"chalk": "^5.3.0",
|
|
35
|
+
"commander": "^11.0.0",
|
|
36
|
+
"inquirer": "^9.2.0",
|
|
37
|
+
"ora": "^7.0.0"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@types/inquirer": "^9.0.0",
|
|
41
|
+
"@types/node": "^20.0.0",
|
|
42
|
+
"tsx": "^4.0.0",
|
|
43
|
+
"typescript": "^5.0.0"
|
|
44
|
+
},
|
|
45
|
+
"engines": {
|
|
46
|
+
"node": ">=16.0.0"
|
|
47
|
+
}
|
|
48
|
+
}
|