@kya-os/cli 0.1.0-beta.8 → 0.6.4-canary.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 +135 -31
- package/dist/commands/build.d.ts +5 -0
- package/dist/commands/build.d.ts.map +1 -0
- package/dist/commands/build.js +173 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +59 -80
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/claim.d.ts +21 -1
- package/dist/commands/claim.d.ts.map +1 -1
- package/dist/commands/claim.js +300 -50
- package/dist/commands/claim.js.map +1 -1
- package/dist/commands/demo.d.ts +10 -0
- package/dist/commands/demo.d.ts.map +1 -0
- package/dist/commands/demo.js +584 -0
- package/dist/commands/demo.js.map +1 -0
- package/dist/commands/dev.d.ts +5 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +77 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/doctor.d.ts +11 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +530 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/env.d.ts +1 -1
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +188 -89
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/identity.d.ts +14 -0
- package/dist/commands/identity.d.ts.map +1 -0
- package/dist/commands/identity.js +204 -0
- package/dist/commands/identity.js.map +1 -0
- package/dist/commands/init.d.ts +8 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +221 -490
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/receipts.d.ts +11 -0
- package/dist/commands/receipts.d.ts.map +1 -0
- package/dist/commands/receipts.js +184 -0
- package/dist/commands/receipts.js.map +1 -0
- package/dist/commands/register.d.ts +32 -0
- package/dist/commands/register.d.ts.map +1 -0
- package/dist/commands/register.js +385 -0
- package/dist/commands/register.js.map +1 -0
- package/dist/commands/rotate.d.ts +7 -1
- package/dist/commands/rotate.d.ts.map +1 -1
- package/dist/commands/rotate.js +154 -103
- package/dist/commands/rotate.js.map +1 -1
- package/dist/commands/start.d.ts +5 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +129 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/status.d.ts +9 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +199 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/verify.d.ts +22 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +491 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/components/agent-avatar.d.ts +87 -0
- package/dist/components/agent-avatar.d.ts.map +1 -0
- package/dist/components/agent-avatar.js +257 -0
- package/dist/components/agent-avatar.js.map +1 -0
- 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 +167 -0
- package/dist/components/agent-card.js.map +1 -0
- package/dist/components/agent-table.d.ts +31 -0
- package/dist/components/agent-table.d.ts.map +1 -0
- package/dist/components/agent-table.js +341 -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/claim-experience.d.ts +21 -0
- package/dist/components/claim-experience.d.ts.map +1 -0
- package/dist/components/claim-experience.js +138 -0
- package/dist/components/claim-experience.js.map +1 -0
- package/dist/components/index.d.ts +17 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +18 -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 +46 -0
- package/dist/components/welcome.d.ts.map +1 -0
- package/dist/components/welcome.js +182 -0
- package/dist/components/welcome.js.map +1 -0
- package/dist/effects/cli-integration.d.ts.map +1 -1
- package/dist/effects/cli-integration.js +7 -6
- package/dist/effects/cli-integration.js.map +1 -1
- package/dist/effects/implementations/blackhole.d.ts.map +1 -1
- package/dist/effects/implementations/blackhole.js +40 -13
- package/dist/effects/implementations/blackhole.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 +143 -18
- package/dist/utils/api-response.d.ts +96 -0
- package/dist/utils/api-response.d.ts.map +1 -0
- package/dist/utils/api-response.js +86 -0
- package/dist/utils/api-response.js.map +1 -0
- package/dist/utils/claim-polling.d.ts +21 -0
- package/dist/utils/claim-polling.d.ts.map +1 -0
- package/dist/utils/claim-polling.js +97 -0
- package/dist/utils/claim-polling.js.map +1 -0
- package/dist/utils/env-manager.d.ts +76 -7
- package/dist/utils/env-manager.d.ts.map +1 -1
- package/dist/utils/env-manager.js +400 -59
- package/dist/utils/env-manager.js.map +1 -1
- package/dist/utils/identity-manager.d.ts +41 -0
- package/dist/utils/identity-manager.d.ts.map +1 -0
- package/dist/utils/identity-manager.js +159 -0
- package/dist/utils/identity-manager.js.map +1 -0
- package/dist/utils/kta-api.d.ts +103 -0
- package/dist/utils/kta-api.d.ts.map +1 -0
- package/dist/utils/kta-api.js +149 -0
- package/dist/utils/kta-api.js.map +1 -0
- package/dist/utils/platform-detector.d.ts +13 -1
- package/dist/utils/platform-detector.d.ts.map +1 -1
- package/dist/utils/platform-detector.js +67 -3
- package/dist/utils/platform-detector.js.map +1 -1
- package/dist/utils/prompts.d.ts +1 -0
- package/dist/utils/prompts.d.ts.map +1 -1
- package/dist/utils/prompts.js +15 -0
- package/dist/utils/prompts.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 +54 -0
- package/dist/utils/screen-manager.js.map +1 -0
- package/dist/utils/time.d.ts +19 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/time.js +30 -0
- package/dist/utils/time.js.map +1 -0
- package/package.json +30 -12
- 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
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @kya-os/cli
|
|
2
2
|
|
|
3
|
-
Command-line interface for KYA-OS MCP-I setup and management.
|
|
3
|
+
Command-line interface for KYA-OS MCP-I setup and management. Claim a decentralized and unique to the internet, Agent identity as well as automatically register your MCP Server on popular directories.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -20,7 +20,7 @@ npx @kya-os/cli init
|
|
|
20
20
|
npx @kya-os/cli check
|
|
21
21
|
|
|
22
22
|
# See the full CLI experience demo
|
|
23
|
-
npx @kya-os/cli
|
|
23
|
+
npx @kya-os/cli demo
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
## Features
|
|
@@ -38,10 +38,11 @@ npx @kya-os/cli cli-demo
|
|
|
38
38
|
Initialize MCP-I in your project with an interactive setup wizard.
|
|
39
39
|
|
|
40
40
|
```bash
|
|
41
|
-
|
|
41
|
+
mcpi init
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
Options:
|
|
45
|
+
|
|
45
46
|
- `-n, --name <name>` - Agent name
|
|
46
47
|
- `-d, --description <description>` - Agent description
|
|
47
48
|
- `-r, --repository <url>` - Repository URL
|
|
@@ -54,10 +55,11 @@ Options:
|
|
|
54
55
|
Check MCP-I setup status and verify configuration.
|
|
55
56
|
|
|
56
57
|
```bash
|
|
57
|
-
|
|
58
|
+
mcpi check
|
|
58
59
|
```
|
|
59
60
|
|
|
60
61
|
Options:
|
|
62
|
+
|
|
61
63
|
- `-v, --verbose` - Show detailed information
|
|
62
64
|
|
|
63
65
|
### `env`
|
|
@@ -66,13 +68,13 @@ Manage environment variables for different deployment targets.
|
|
|
66
68
|
|
|
67
69
|
```bash
|
|
68
70
|
# Show required environment variables
|
|
69
|
-
|
|
71
|
+
mcpi env show
|
|
70
72
|
|
|
71
73
|
# Copy environment variables to clipboard
|
|
72
|
-
|
|
74
|
+
mcpi env copy
|
|
73
75
|
|
|
74
76
|
# Verify environment variables are set correctly
|
|
75
|
-
|
|
77
|
+
mcpi env verify
|
|
76
78
|
```
|
|
77
79
|
|
|
78
80
|
### `rotate`
|
|
@@ -80,10 +82,11 @@ kya-os env verify
|
|
|
80
82
|
Rotate identity keys with automatic grace period handling.
|
|
81
83
|
|
|
82
84
|
```bash
|
|
83
|
-
|
|
85
|
+
mcpi keys rotate
|
|
84
86
|
```
|
|
85
87
|
|
|
86
88
|
Options:
|
|
89
|
+
|
|
87
90
|
- `-f, --force` - Force rotation without confirmation
|
|
88
91
|
- `-r, --reason <reason>` - Reason for rotation
|
|
89
92
|
|
|
@@ -92,37 +95,134 @@ Options:
|
|
|
92
95
|
Get agent claim/edit URLs for the KYA-OS directory.
|
|
93
96
|
|
|
94
97
|
```bash
|
|
95
|
-
|
|
98
|
+
mcpi claim [token]
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Options:
|
|
102
|
+
|
|
103
|
+
- `--json` - Output in JSON format for automation
|
|
104
|
+
- `--no-save-receipt` - Don't save receipt to disk
|
|
105
|
+
- `--receipt-path <path>` - Custom path for receipt storage
|
|
106
|
+
|
|
107
|
+
### `dev`
|
|
108
|
+
|
|
109
|
+
Start development server with hot reloading.
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
mcpi dev
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### `build`
|
|
116
|
+
|
|
117
|
+
Build application for production.
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
mcpi build
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### `start`
|
|
124
|
+
|
|
125
|
+
Start production server.
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
mcpi start
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### `register`
|
|
132
|
+
|
|
133
|
+
Register agent with Know-That-AI (KTA) registry.
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
mcpi register
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Options:
|
|
140
|
+
|
|
141
|
+
- `--json` - Output in JSON format for automation
|
|
142
|
+
- `--no-save-receipt` - Don't save receipt to disk
|
|
143
|
+
- `--receipt-path <path>` - Custom path for receipt storage
|
|
144
|
+
|
|
145
|
+
### `status`
|
|
146
|
+
|
|
147
|
+
Show agent status including DID, key ID, KTA URL, and mirror status.
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
mcpi status
|
|
96
151
|
```
|
|
97
152
|
|
|
98
|
-
|
|
153
|
+
Options:
|
|
154
|
+
|
|
155
|
+
- `--json` - Output in JSON format for automation
|
|
156
|
+
|
|
157
|
+
### `receipts`
|
|
99
158
|
|
|
100
|
-
|
|
159
|
+
List and manage stored receipts from registration and claim operations.
|
|
101
160
|
|
|
102
161
|
```bash
|
|
103
|
-
|
|
162
|
+
mcpi receipts
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Options:
|
|
166
|
+
|
|
167
|
+
- `--json` - Output in JSON format for automation
|
|
168
|
+
- `--path <path>` - Custom path for receipt storage
|
|
169
|
+
- `--verify` - Verify receipts against KTA log
|
|
104
170
|
|
|
105
|
-
|
|
106
|
-
kya-os effects-demo --effect burn --text "Hello World"
|
|
171
|
+
### `doctor`
|
|
107
172
|
|
|
108
|
-
|
|
109
|
-
kya-os effects-demo --list
|
|
173
|
+
Check system health and compatibility.
|
|
110
174
|
|
|
111
|
-
|
|
112
|
-
|
|
175
|
+
```bash
|
|
176
|
+
mcpi doctor
|
|
113
177
|
```
|
|
114
178
|
|
|
115
|
-
|
|
179
|
+
Options:
|
|
180
|
+
|
|
181
|
+
- `--json` - Output in JSON format for automation
|
|
182
|
+
- `-v, --verbose` - Show detailed diagnostic information
|
|
116
183
|
|
|
117
|
-
|
|
184
|
+
### `verify`
|
|
185
|
+
|
|
186
|
+
Verify proofs and signatures locally without KTA calls.
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
mcpi verify --local
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Options:
|
|
193
|
+
|
|
194
|
+
- `--local` - Perform offline verification
|
|
195
|
+
- `--json` - Output in JSON format for automation
|
|
196
|
+
- `-v, --verbose` - Show detailed verification information
|
|
197
|
+
- `--proof <path>` - Path to proof file or JSON string
|
|
198
|
+
- `--request <path>` - Path to request file or JSON string
|
|
199
|
+
- `--response <path>` - Path to response file or JSON string
|
|
200
|
+
|
|
201
|
+
### `demo`
|
|
202
|
+
|
|
203
|
+
Run interactive demos to explore KYA-OS CLI features.
|
|
118
204
|
|
|
119
205
|
```bash
|
|
120
|
-
|
|
206
|
+
# Interactive menu
|
|
207
|
+
mcpi demo
|
|
121
208
|
|
|
122
|
-
# Run
|
|
123
|
-
|
|
209
|
+
# Run specific demos directly
|
|
210
|
+
mcpi demo --init # Full init experience
|
|
211
|
+
mcpi demo --ui # UI components showcase
|
|
212
|
+
mcpi demo --effects # Terminal effects showcase
|
|
213
|
+
mcpi demo --security # Security scenarios
|
|
214
|
+
|
|
215
|
+
# Run init demo at increased speed
|
|
216
|
+
mcpi demo --init --fast
|
|
124
217
|
```
|
|
125
218
|
|
|
219
|
+
Available demos:
|
|
220
|
+
|
|
221
|
+
- 🚀 **Init Experience** - See the full init command flow with blackhole animation
|
|
222
|
+
- 🎨 **UI Components** - Explore tables, boxes, and gradient effects
|
|
223
|
+
- ✨ **Terminal Effects** - Watch all animation effects
|
|
224
|
+
- 🔑 **Security Scenarios** - Key deletion and identity creation
|
|
225
|
+
|
|
126
226
|
## Terminal Effects
|
|
127
227
|
|
|
128
228
|
The CLI includes several stunning terminal effects:
|
|
@@ -148,12 +248,13 @@ The CLI respects the following environment variables:
|
|
|
148
248
|
|
|
149
249
|
## Configuration
|
|
150
250
|
|
|
151
|
-
The CLI stores configuration in `.
|
|
251
|
+
The CLI stores configuration in `.mcpi/` directory in your project root:
|
|
152
252
|
|
|
153
253
|
```
|
|
154
|
-
.
|
|
254
|
+
.mcpi/
|
|
155
255
|
├── config.json # Agent configuration
|
|
156
256
|
├── identity.json # Identity information (DID, keys)
|
|
257
|
+
├── receipts/ # Registration and claim receipts
|
|
157
258
|
└── .gitignore # Ensures secrets aren't committed
|
|
158
259
|
```
|
|
159
260
|
|
|
@@ -201,16 +302,19 @@ npm run dev
|
|
|
201
302
|
# Build for production
|
|
202
303
|
npm run build
|
|
203
304
|
|
|
204
|
-
# Run
|
|
205
|
-
npm run
|
|
206
|
-
|
|
207
|
-
#
|
|
208
|
-
npm run
|
|
305
|
+
# Run demos
|
|
306
|
+
npm run demo # Interactive menu
|
|
307
|
+
npm run demo:init # Init experience
|
|
308
|
+
npm run demo:ui # UI components
|
|
309
|
+
npm run demo:effects # Terminal effects
|
|
310
|
+
npm run demo:security # Security scenarios
|
|
311
|
+
npm run demo:fast # Fast init demo
|
|
209
312
|
```
|
|
210
313
|
|
|
211
314
|
### Creating New Effects
|
|
212
315
|
|
|
213
316
|
1. Copy the effect template:
|
|
317
|
+
|
|
214
318
|
```bash
|
|
215
319
|
cp src/effects/template/effect-template.ts src/effects/implementations/my-effect.ts
|
|
216
320
|
```
|
|
@@ -254,4 +358,4 @@ See `src/effects/template/README.md` for detailed instructions.
|
|
|
254
358
|
|
|
255
359
|
## License
|
|
256
360
|
|
|
257
|
-
MIT
|
|
361
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,wBAAsB,KAAK,kBAmN1B"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { spawn } from "child_process";
|
|
3
|
+
import { existsSync, readFileSync } from "fs";
|
|
4
|
+
import { join } from "path";
|
|
5
|
+
import { showError, showSuccess, showInfo } from "../utils/prompts.js";
|
|
6
|
+
/**
|
|
7
|
+
* Build the XMCP-I application for production
|
|
8
|
+
*/
|
|
9
|
+
export async function build() {
|
|
10
|
+
console.log(chalk.cyan("\n🔨 Building Application\n"));
|
|
11
|
+
// Check if we're in a valid XMCP-I project
|
|
12
|
+
const packageJsonPath = join(process.cwd(), "package.json");
|
|
13
|
+
if (!existsSync(packageJsonPath)) {
|
|
14
|
+
showError("No package.json found. Are you in a valid project directory?");
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
// Check for mcpi dependency
|
|
18
|
+
try {
|
|
19
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
20
|
+
const hasmcpi = packageJson.dependencies?.mcpi ||
|
|
21
|
+
packageJson.devDependencies?.mcpi ||
|
|
22
|
+
packageJson.dependencies?.["@kya-os/mcp-i"] ||
|
|
23
|
+
packageJson.devDependencies?.["@kya-os/mcp-i"] ||
|
|
24
|
+
packageJson.dependencies?.["@kya-os/mcpi"] ||
|
|
25
|
+
packageJson.devDependencies?.["@kya-os/mcpi"];
|
|
26
|
+
if (!hasmcpi) {
|
|
27
|
+
showError("This doesn't appear to be an XMCP-I project. Missing mcpi dependency.");
|
|
28
|
+
console.log(`\n${chalk.gray("To create a new XMCP-I project:")}`);
|
|
29
|
+
console.log(`${chalk.cyan("npx @kya-os/create-mcpi-app my-agent")}`);
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
showError("Failed to read package.json");
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
// Check if this is an XMCP project with xmcp.config.ts
|
|
38
|
+
const xmcpConfigPath = join(process.cwd(), "xmcp.config.ts");
|
|
39
|
+
if (existsSync(xmcpConfigPath)) {
|
|
40
|
+
// Use XMCP compiler for XMCP projects
|
|
41
|
+
try {
|
|
42
|
+
showInfo("Building XMCP project...");
|
|
43
|
+
// Import and use the XMCP compiler
|
|
44
|
+
let compile;
|
|
45
|
+
try {
|
|
46
|
+
showInfo("Importing XMCP compiler...");
|
|
47
|
+
// Try ESM import first
|
|
48
|
+
const mcpiModule = await import("@kya-os/mcp-i");
|
|
49
|
+
compile = mcpiModule.compile || mcpiModule.default?.compile;
|
|
50
|
+
if (!compile) {
|
|
51
|
+
// Log available exports for debugging
|
|
52
|
+
console.log("Available exports:", Object.keys(mcpiModule));
|
|
53
|
+
throw new Error("compile function not found in ESM exports");
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch (esmError) {
|
|
57
|
+
showInfo("ESM import failed, trying CommonJS...");
|
|
58
|
+
// Fallback to CommonJS require
|
|
59
|
+
try {
|
|
60
|
+
const mcpiModule = require("@kya-os/mcp-i");
|
|
61
|
+
compile = mcpiModule.compile;
|
|
62
|
+
if (!compile) {
|
|
63
|
+
console.log("Available exports:", Object.keys(mcpiModule));
|
|
64
|
+
throw new Error("compile function not found in CJS exports");
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (cjsError) {
|
|
68
|
+
const esmErrorMsg = esmError instanceof Error ? esmError.message : String(esmError);
|
|
69
|
+
const cjsErrorMsg = cjsError instanceof Error ? cjsError.message : String(cjsError);
|
|
70
|
+
showError("Failed to import XMCP compiler");
|
|
71
|
+
console.log("ESM error:", esmErrorMsg);
|
|
72
|
+
console.log("CJS error:", cjsErrorMsg);
|
|
73
|
+
console.log("\nDebugging info:");
|
|
74
|
+
console.log("- Make sure @kya-os/mcp-i is built: pnpm --filter=@kya-os/mcp-i build");
|
|
75
|
+
console.log("- Check if dist/index.js exists in packages/mcp-i/");
|
|
76
|
+
console.log("- Verify compile function is exported from mcpi");
|
|
77
|
+
throw new Error(`Failed to import XMCP compiler. ESM: ${esmErrorMsg}, CJS: ${cjsErrorMsg}`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (typeof compile !== "function") {
|
|
81
|
+
showError(`XMCP compiler 'compile' is not a function. Got: ${typeof compile}`);
|
|
82
|
+
throw new Error(`XMCP compiler 'compile' is not a function. Got: ${typeof compile}`);
|
|
83
|
+
}
|
|
84
|
+
showInfo("XMCP compiler imported successfully");
|
|
85
|
+
// Set production mode for build
|
|
86
|
+
process.env.NODE_ENV = "production";
|
|
87
|
+
// Wait for compilation to fully complete
|
|
88
|
+
await compile();
|
|
89
|
+
// Show success messages after compilation is done
|
|
90
|
+
showSuccess("Build completed successfully!");
|
|
91
|
+
console.log(`\n${chalk.gray("Next steps:")}`);
|
|
92
|
+
console.log(`${chalk.gray("• Deploy to your platform of choice")}`);
|
|
93
|
+
console.log(`${chalk.gray("• Set production environment variables")}`);
|
|
94
|
+
console.log(`${chalk.gray("• Test with: mcpi start")}`);
|
|
95
|
+
// Exit CLI after successful build
|
|
96
|
+
// This is necessary because webpack may have lingering handles even after compiler.close()
|
|
97
|
+
process.exit(0);
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
showError(`XMCP build failed: ${error}`);
|
|
101
|
+
process.exit(1);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// Fallback to npm/tsc for non-XMCP projects
|
|
105
|
+
let command = "npm";
|
|
106
|
+
let args = ["run", "build"];
|
|
107
|
+
try {
|
|
108
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
109
|
+
if (!packageJson.scripts?.build) {
|
|
110
|
+
// Try alternative build approaches
|
|
111
|
+
if (existsSync(join(process.cwd(), "tsconfig.json"))) {
|
|
112
|
+
// Use TypeScript compiler directly
|
|
113
|
+
command = "npx";
|
|
114
|
+
args = ["tsc"];
|
|
115
|
+
showInfo("No build script found, using TypeScript compiler directly.");
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
showError("No build script found and no TypeScript configuration detected.");
|
|
119
|
+
console.log(`\n${chalk.gray("Expected one of:")}`);
|
|
120
|
+
console.log(`${chalk.gray("• xmcp.config.ts for XMCP projects")}`);
|
|
121
|
+
console.log(`${chalk.gray("• npm script 'build' in package.json")}`);
|
|
122
|
+
console.log(`${chalk.gray("• tsconfig.json for TypeScript compilation")}`);
|
|
123
|
+
process.exit(1);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
showError("Failed to parse package.json");
|
|
129
|
+
process.exit(1);
|
|
130
|
+
}
|
|
131
|
+
console.log(`${chalk.gray("Running:")} ${chalk.cyan(`${command} ${args.join(" ")}`)}`);
|
|
132
|
+
// Spawn the build process
|
|
133
|
+
const child = spawn(command, args, {
|
|
134
|
+
stdio: "inherit",
|
|
135
|
+
shell: true,
|
|
136
|
+
env: {
|
|
137
|
+
...process.env,
|
|
138
|
+
NODE_ENV: "production",
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
// Handle process termination
|
|
142
|
+
process.on("SIGINT", () => {
|
|
143
|
+
console.log(chalk.yellow("\n\n🛑 Stopping build process..."));
|
|
144
|
+
child.kill("SIGINT");
|
|
145
|
+
});
|
|
146
|
+
process.on("SIGTERM", () => {
|
|
147
|
+
child.kill("SIGTERM");
|
|
148
|
+
});
|
|
149
|
+
child.on("error", (error) => {
|
|
150
|
+
showError(`Failed to start build process: ${error.message}`);
|
|
151
|
+
process.exit(1);
|
|
152
|
+
});
|
|
153
|
+
child.on("exit", (code) => {
|
|
154
|
+
if (code === 0) {
|
|
155
|
+
showSuccess("Build completed successfully!");
|
|
156
|
+
// Check for common output directories
|
|
157
|
+
const outputDirs = ["dist", "build", "out"];
|
|
158
|
+
const foundOutput = outputDirs.find((dir) => existsSync(join(process.cwd(), dir)));
|
|
159
|
+
if (foundOutput) {
|
|
160
|
+
console.log(`\n${chalk.gray("Output directory:")} ${chalk.cyan(foundOutput)}`);
|
|
161
|
+
}
|
|
162
|
+
console.log(`\n${chalk.gray("Next steps:")}`);
|
|
163
|
+
console.log(`${chalk.gray("• Deploy to your platform of choice")}`);
|
|
164
|
+
console.log(`${chalk.gray("• Set production environment variables")}`);
|
|
165
|
+
console.log(`${chalk.gray("• Test with:")} ${chalk.cyan("mcpi start")}`);
|
|
166
|
+
}
|
|
167
|
+
else if (code !== null) {
|
|
168
|
+
showError(`Build failed with exit code ${code}`);
|
|
169
|
+
process.exit(code);
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AASA,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AASA,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,iBAiLhD"}
|