@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.
Files changed (179) hide show
  1. package/README.md +135 -31
  2. package/dist/commands/build.d.ts +5 -0
  3. package/dist/commands/build.d.ts.map +1 -0
  4. package/dist/commands/build.js +173 -0
  5. package/dist/commands/build.js.map +1 -0
  6. package/dist/commands/check.d.ts.map +1 -1
  7. package/dist/commands/check.js +59 -80
  8. package/dist/commands/check.js.map +1 -1
  9. package/dist/commands/claim.d.ts +21 -1
  10. package/dist/commands/claim.d.ts.map +1 -1
  11. package/dist/commands/claim.js +300 -50
  12. package/dist/commands/claim.js.map +1 -1
  13. package/dist/commands/demo.d.ts +10 -0
  14. package/dist/commands/demo.d.ts.map +1 -0
  15. package/dist/commands/demo.js +584 -0
  16. package/dist/commands/demo.js.map +1 -0
  17. package/dist/commands/dev.d.ts +5 -0
  18. package/dist/commands/dev.d.ts.map +1 -0
  19. package/dist/commands/dev.js +77 -0
  20. package/dist/commands/dev.js.map +1 -0
  21. package/dist/commands/doctor.d.ts +11 -0
  22. package/dist/commands/doctor.d.ts.map +1 -0
  23. package/dist/commands/doctor.js +530 -0
  24. package/dist/commands/doctor.js.map +1 -0
  25. package/dist/commands/env.d.ts +1 -1
  26. package/dist/commands/env.d.ts.map +1 -1
  27. package/dist/commands/env.js +188 -89
  28. package/dist/commands/env.js.map +1 -1
  29. package/dist/commands/identity.d.ts +14 -0
  30. package/dist/commands/identity.d.ts.map +1 -0
  31. package/dist/commands/identity.js +204 -0
  32. package/dist/commands/identity.js.map +1 -0
  33. package/dist/commands/init.d.ts +8 -1
  34. package/dist/commands/init.d.ts.map +1 -1
  35. package/dist/commands/init.js +221 -490
  36. package/dist/commands/init.js.map +1 -1
  37. package/dist/commands/receipts.d.ts +11 -0
  38. package/dist/commands/receipts.d.ts.map +1 -0
  39. package/dist/commands/receipts.js +184 -0
  40. package/dist/commands/receipts.js.map +1 -0
  41. package/dist/commands/register.d.ts +32 -0
  42. package/dist/commands/register.d.ts.map +1 -0
  43. package/dist/commands/register.js +385 -0
  44. package/dist/commands/register.js.map +1 -0
  45. package/dist/commands/rotate.d.ts +7 -1
  46. package/dist/commands/rotate.d.ts.map +1 -1
  47. package/dist/commands/rotate.js +154 -103
  48. package/dist/commands/rotate.js.map +1 -1
  49. package/dist/commands/start.d.ts +5 -0
  50. package/dist/commands/start.d.ts.map +1 -0
  51. package/dist/commands/start.js +129 -0
  52. package/dist/commands/start.js.map +1 -0
  53. package/dist/commands/status.d.ts +9 -0
  54. package/dist/commands/status.d.ts.map +1 -0
  55. package/dist/commands/status.js +199 -0
  56. package/dist/commands/status.js.map +1 -0
  57. package/dist/commands/verify.d.ts +22 -0
  58. package/dist/commands/verify.d.ts.map +1 -0
  59. package/dist/commands/verify.js +491 -0
  60. package/dist/commands/verify.js.map +1 -0
  61. package/dist/components/agent-avatar.d.ts +87 -0
  62. package/dist/components/agent-avatar.d.ts.map +1 -0
  63. package/dist/components/agent-avatar.js +257 -0
  64. package/dist/components/agent-avatar.js.map +1 -0
  65. package/dist/components/agent-card.d.ts +14 -0
  66. package/dist/components/agent-card.d.ts.map +1 -0
  67. package/dist/components/agent-card.js +167 -0
  68. package/dist/components/agent-card.js.map +1 -0
  69. package/dist/components/agent-table.d.ts +31 -0
  70. package/dist/components/agent-table.d.ts.map +1 -0
  71. package/dist/components/agent-table.js +341 -0
  72. package/dist/components/agent-table.js.map +1 -0
  73. package/dist/components/box.d.ts +14 -0
  74. package/dist/components/box.d.ts.map +1 -0
  75. package/dist/components/box.js +222 -0
  76. package/dist/components/box.js.map +1 -0
  77. package/dist/components/claim-experience.d.ts +21 -0
  78. package/dist/components/claim-experience.d.ts.map +1 -0
  79. package/dist/components/claim-experience.js +138 -0
  80. package/dist/components/claim-experience.js.map +1 -0
  81. package/dist/components/index.d.ts +17 -0
  82. package/dist/components/index.d.ts.map +1 -0
  83. package/dist/components/index.js +18 -0
  84. package/dist/components/index.js.map +1 -0
  85. package/dist/components/messages.d.ts +62 -0
  86. package/dist/components/messages.d.ts.map +1 -0
  87. package/dist/components/messages.js +146 -0
  88. package/dist/components/messages.js.map +1 -0
  89. package/dist/components/types.d.ts +51 -0
  90. package/dist/components/types.d.ts.map +1 -0
  91. package/dist/components/types.js +5 -0
  92. package/dist/components/types.js.map +1 -0
  93. package/dist/components/welcome.d.ts +46 -0
  94. package/dist/components/welcome.d.ts.map +1 -0
  95. package/dist/components/welcome.js +182 -0
  96. package/dist/components/welcome.js.map +1 -0
  97. package/dist/effects/cli-integration.d.ts.map +1 -1
  98. package/dist/effects/cli-integration.js +7 -6
  99. package/dist/effects/cli-integration.js.map +1 -1
  100. package/dist/effects/implementations/blackhole.d.ts.map +1 -1
  101. package/dist/effects/implementations/blackhole.js +40 -13
  102. package/dist/effects/implementations/blackhole.js.map +1 -1
  103. package/dist/effects/index.d.ts +9 -12
  104. package/dist/effects/index.d.ts.map +1 -1
  105. package/dist/effects/index.js +69 -34
  106. package/dist/effects/index.js.map +1 -1
  107. package/dist/index.d.ts +1 -1
  108. package/dist/index.js +143 -18
  109. package/dist/utils/api-response.d.ts +96 -0
  110. package/dist/utils/api-response.d.ts.map +1 -0
  111. package/dist/utils/api-response.js +86 -0
  112. package/dist/utils/api-response.js.map +1 -0
  113. package/dist/utils/claim-polling.d.ts +21 -0
  114. package/dist/utils/claim-polling.d.ts.map +1 -0
  115. package/dist/utils/claim-polling.js +97 -0
  116. package/dist/utils/claim-polling.js.map +1 -0
  117. package/dist/utils/env-manager.d.ts +76 -7
  118. package/dist/utils/env-manager.d.ts.map +1 -1
  119. package/dist/utils/env-manager.js +400 -59
  120. package/dist/utils/env-manager.js.map +1 -1
  121. package/dist/utils/identity-manager.d.ts +41 -0
  122. package/dist/utils/identity-manager.d.ts.map +1 -0
  123. package/dist/utils/identity-manager.js +159 -0
  124. package/dist/utils/identity-manager.js.map +1 -0
  125. package/dist/utils/kta-api.d.ts +103 -0
  126. package/dist/utils/kta-api.d.ts.map +1 -0
  127. package/dist/utils/kta-api.js +149 -0
  128. package/dist/utils/kta-api.js.map +1 -0
  129. package/dist/utils/platform-detector.d.ts +13 -1
  130. package/dist/utils/platform-detector.d.ts.map +1 -1
  131. package/dist/utils/platform-detector.js +67 -3
  132. package/dist/utils/platform-detector.js.map +1 -1
  133. package/dist/utils/prompts.d.ts +1 -0
  134. package/dist/utils/prompts.d.ts.map +1 -1
  135. package/dist/utils/prompts.js +15 -0
  136. package/dist/utils/prompts.js.map +1 -1
  137. package/dist/utils/screen-manager.d.ts +10 -0
  138. package/dist/utils/screen-manager.d.ts.map +1 -0
  139. package/dist/utils/screen-manager.js +54 -0
  140. package/dist/utils/screen-manager.js.map +1 -0
  141. package/dist/utils/time.d.ts +19 -0
  142. package/dist/utils/time.d.ts.map +1 -0
  143. package/dist/utils/time.js +30 -0
  144. package/dist/utils/time.js.map +1 -0
  145. package/package.json +30 -12
  146. package/dist/commands/cli-experience-demo-simple.d.ts +0 -14
  147. package/dist/commands/cli-experience-demo-simple.d.ts.map +0 -1
  148. package/dist/commands/cli-experience-demo-simple.js +0 -119
  149. package/dist/commands/cli-experience-demo-simple.js.map +0 -1
  150. package/dist/commands/cli-experience-demo.d.ts +0 -14
  151. package/dist/commands/cli-experience-demo.d.ts.map +0 -1
  152. package/dist/commands/cli-experience-demo.js +0 -172
  153. package/dist/commands/cli-experience-demo.js.map +0 -1
  154. package/dist/commands/effects-demo.d.ts +0 -10
  155. package/dist/commands/effects-demo.d.ts.map +0 -1
  156. package/dist/commands/effects-demo.js +0 -292
  157. package/dist/commands/effects-demo.js.map +0 -1
  158. package/dist/dev.d.ts +0 -7
  159. package/dist/dev.d.ts.map +0 -1
  160. package/dist/dev.js +0 -9
  161. package/dist/dev.js.map +0 -1
  162. package/dist/effects/__tests__/effects.test.d.ts +0 -5
  163. package/dist/effects/__tests__/effects.test.d.ts.map +0 -1
  164. package/dist/effects/__tests__/effects.test.js +0 -206
  165. package/dist/effects/__tests__/effects.test.js.map +0 -1
  166. package/dist/effects/implementations/binary-path.d.ts +0 -88
  167. package/dist/effects/implementations/binary-path.d.ts.map +0 -1
  168. package/dist/effects/implementations/binary-path.js +0 -296
  169. package/dist/effects/implementations/binary-path.js.map +0 -1
  170. package/dist/effects/implementations/test.d.ts +0 -113
  171. package/dist/effects/implementations/test.d.ts.map +0 -1
  172. package/dist/effects/implementations/test.js +0 -552
  173. package/dist/effects/implementations/test.js.map +0 -1
  174. package/dist/effects/template/effect-template.d.ts +0 -97
  175. package/dist/effects/template/effect-template.d.ts.map +0 -1
  176. package/dist/effects/template/effect-template.js +0 -208
  177. package/dist/effects/template/effect-template.js.map +0 -1
  178. package/dist/index.d.ts.map +0 -1
  179. 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. Create verifiable AI agent identities with beautiful terminal animations.
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 cli-demo
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
- kya-os init
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
- kya-os check
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
- kya-os env show
71
+ mcpi env show
70
72
 
71
73
  # Copy environment variables to clipboard
72
- kya-os env copy
74
+ mcpi env copy
73
75
 
74
76
  # Verify environment variables are set correctly
75
- kya-os env verify
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
- kya-os rotate
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
- kya-os claim
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
- ### `effects-demo`
153
+ Options:
154
+
155
+ - `--json` - Output in JSON format for automation
156
+
157
+ ### `receipts`
99
158
 
100
- Explore all available terminal effects and animations.
159
+ List and manage stored receipts from registration and claim operations.
101
160
 
102
161
  ```bash
103
- kya-os effects-demo
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
- # Run a specific effect
106
- kya-os effects-demo --effect burn --text "Hello World"
171
+ ### `doctor`
107
172
 
108
- # List all effects
109
- kya-os effects-demo --list
173
+ Check system health and compatibility.
110
174
 
111
- # Run without animations
112
- kya-os effects-demo --disable
175
+ ```bash
176
+ mcpi doctor
113
177
  ```
114
178
 
115
- ### `cli-demo`
179
+ Options:
180
+
181
+ - `--json` - Output in JSON format for automation
182
+ - `-v, --verbose` - Show detailed diagnostic information
116
183
 
117
- Experience the full KYA-OS CLI initialization flow with animations.
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
- kya-os cli-demo
206
+ # Interactive menu
207
+ mcpi demo
121
208
 
122
- # Run at increased speed
123
- kya-os cli-demo --fast
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 `.kya-os/` directory in your project root:
251
+ The CLI stores configuration in `.mcpi/` directory in your project root:
152
252
 
153
253
  ```
154
- .kya-os/
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 effects demo in development
205
- npm run dev:effects
206
-
207
- # Test effects performance
208
- npm run test:effects
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,5 @@
1
+ /**
2
+ * Build the XMCP-I application for production
3
+ */
4
+ export declare function build(): Promise<void>;
5
+ //# sourceMappingURL=build.d.ts.map
@@ -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,iBAuLhD"}
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"}