@kya-os/create-mcpi-app 1.9.11 β†’ 1.9.13

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.
@@ -1,4 +1,4 @@
1
1
 
2
- > @kya-os/create-mcpi-app@1.9.10 build /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
2
+ > @kya-os/create-mcpi-app@1.8.60 build /Users/dylanhobbs/@kya-os/xmcp-i/packages/create-mcpi-app
3
3
  > tsc && chmod +x dist/index.js
4
4
 
@@ -1,96 +1,45 @@
1
1
 
2
- > @kya-os/create-mcpi-app@1.9.10 test /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
2
+ > @kya-os/create-mcpi-app@1.9.12 test /Users/dylanhobbs/@kya-os/xmcp-i/packages/create-mcpi-app
3
3
  > vitest run
4
4
 
5
5
 
6
- RUN v4.0.14 /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
7
-
8
- βœ“ src/__tests__/helpers/generate-config.test.ts (25 tests) 51ms
9
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with npm
10
-
11
- πŸ“¦ Installing dependencies with npm...
12
- βœ“ Lockfile created (package-lock.json) - remember to commit it
13
-
14
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should scaffold with correct @kya-os/mcp-i-cloudflare version
6
+  RUN  v4.0.14 /Users/dylanhobbs/@kya-os/xmcp-i/packages/create-mcpi-app
15
7
 
8
+ (node:27119) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
9
+ (Use `node --trace-warnings ...` to show where the warning was created)
10
+ βœ“ src/__tests__/index.test.ts (4 tests) 2668ms
11
+ βœ“ should load .env from package directory and current working directory  2096ms
12
+ βœ“ should call runCLI with process.argv  407ms
13
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should scaffold with correct @kya-os/mcp-i-cloudflare version
14
+ 
16
15
  πŸ—οΈ Generating Cloudflare MCP-I project: test-project...
17
16
 
18
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
17
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should scaffold with correct @kya-os/mcp-i-cloudflare version
18
+ πŸ”‘ Generating cryptographic identity...
19
19
 
20
+ (node:27092) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
21
+ (Use `node --trace-warnings ...` to show where the warning was created)
22
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
23
+ 
20
24
  πŸ—οΈ Generating Cloudflare MCP-I project: test-agent...
21
25
 
22
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should scaffold with correct @kya-os/mcp-i-cloudflare version
23
- πŸ”‘ Generating cryptographic identity...
24
-
25
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
26
- πŸ”‘ Generating cryptographic identity...
27
-
28
- βœ“ src/__tests__/helpers/identity-manager.test.ts (16 tests) 21ms
29
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with yarn
30
-
31
- πŸ“¦ Installing dependencies with yarn...
32
- βœ“ Lockfile created (yarn.lock) - remember to commit it
33
-
34
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with pnpm
35
-
36
- πŸ“¦ Installing dependencies with pnpm...
37
- βœ“ Lockfile created (pnpm-lock.yaml) - remember to commit it
38
-
39
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should use correct working directory
40
-
41
- πŸ“¦ Installing dependencies with npm...
42
- βœ“ Lockfile created (package-lock.json) - remember to commit it
43
-
44
- stdout | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should check for lockfile after installation
45
-
46
- πŸ“¦ Installing dependencies with npm...
47
- βœ“ Lockfile created (package-lock.json) - remember to commit it
48
- stderr | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should report correct package manager in log
49
-
50
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
51
-
52
- πŸ“¦ Installing dependencies with npm...
53
-
54
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
55
-
56
- πŸ“¦ Installing dependencies with npm...
57
- ⚠️ Warning: No lockfile generated (pnpm-lock.yaml)
58
-
59
-
60
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
61
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
62
-
63
- πŸ“¦ Installing dependencies with npm...
64
- Failed to install dependencies with npm.
65
-
66
-
67
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should log error message when installation fails
68
-
69
- πŸ“¦ Installing dependencies with npm...
70
-
71
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
72
- Failed to install dependencies with npm.
73
-
74
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
75
- Failed to install dependencies with npm.
76
-
77
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
78
- ⚠️ Warning: Unknown package manager "unknown", cannot check lockfile
79
-
80
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
81
-
82
- πŸ“¦ Installing dependencies with unknown...
83
-
84
- stdout | src/__tests__/helpers/install.test.ts > install > Lockfile validation > should warn when lockfile not created
85
-
86
- πŸ“¦ Installing dependencies with npm...
87
-
88
- stdout | src/__tests__/helpers/install.test.ts > install > Lockfile validation > should warn when package manager lockfile cannot be determined
89
-
90
- πŸ“¦ Installing dependencies with custom...
91
-
92
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
93
- βœ” Created Cloudflare MCP-I template files
26
+ (node:27089) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
27
+ (Use `node --trace-warnings ...` to show where the warning was created)
28
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
29
+ πŸ”‘ Generating cryptographic identity...
30
+
31
+ (node:27095) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
32
+ (Use `node --trace-warnings ...` to show where the warning was created)
33
+ βœ“ src/__tests__/helpers/copy-template.test.ts (11 tests) 5509ms
34
+ βœ“ should copy files from source to target  553ms
35
+ βœ“ should copy directories recursively  1494ms
36
+ βœ“ should not copy files starting with dot  1000ms
37
+ βœ“ should not copy directories starting with dot  620ms
38
+ βœ“ should not copy .DS_Store  429ms
39
+ βœ“ should handle files with special characters in names  541ms
40
+ βœ“ should handle binary files  529ms
41
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should scaffold with correct @kya-os/mcp-i-cloudflare version
42
+ βœ” Created Cloudflare MCP-I template files
94
43
  - Generated identity keys in .dev.vars
95
44
  - Configured wrangler.toml with KV namespaces (auto-provisioned)
96
45
  - Created modular tool structure
@@ -112,21 +61,40 @@ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Confi
112
61
  - Wrangler updates wrangler.toml with namespace IDs
113
62
 
114
63
  πŸš€ Next Steps:
115
- cd test-agent
64
+ cd test-project
116
65
  wrangler login # Login to Cloudflare first!
117
66
  npm run dev # Start local development
118
67
  npm run deploy # Deploy (KV auto-created!)
119
68
 
120
69
 
121
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
122
-
123
- πŸ—οΈ Generating Cloudflare MCP-I project: my-awesome-agent...
124
-
125
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
126
- πŸ”‘ Generating cryptographic identity...
127
-
128
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
129
- βœ” Created Cloudflare MCP-I template files
70
+ (node:27090) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
71
+ (Use `node --trace-warnings ...` to show where the warning was created)
72
+ ❯ test-cloudflare/tests/do-routing.test.ts (14 tests | 2 failed) 7010ms
73
+ βœ“ should route to different instances for different sessions  631ms
74
+ βœ“ should route to same instance for same session 2ms
75
+ βœ“ should handle both mcp-session-id header casings 3ms
76
+ βœ“ should generate random session if header missing 2ms
77
+ βœ“ should distribute requests across shards  2133ms
78
+ βœ“ should consistently route same session to same shard 12ms
79
+ βœ“ should respect custom shard count 95ms
80
+ βœ“ should fall back to default when strategy unknown 1ms
81
+ βœ“ should use session strategy when not configured 42ms
82
+  Γ— session routing should have O(1) complexity 2312ms
83
+  Γ— shard routing should have O(n) complexity for hash 696ms
84
+ βœ“ should handle empty session ID  545ms
85
+ βœ“ should handle non-numeric shard count 6ms
86
+ βœ“ should handle special characters in session ID 118ms
87
+ βœ“ src/__tests__/helpers/generate-identity.test.ts (24 tests) 7040ms
88
+ βœ“ should generate a valid identity  641ms
89
+ βœ“ should generate unique identities on each call  875ms
90
+ βœ“ should generate identity with correct structure  809ms
91
+ βœ“ should generate identity with valid ISO timestamp  1074ms
92
+ βœ“ should generate valid Ed25519 key pair  674ms
93
+ βœ“ should generate keys that can be used for signing  469ms
94
+ βœ“ should generate identity that matches expected interface  444ms
95
+ βœ“ should generate DID that corresponds to public key  528ms
96
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
97
+ βœ” Created Cloudflare MCP-I template files
130
98
  - Generated identity keys in .dev.vars
131
99
  - Configured wrangler.toml with KV namespaces (auto-provisioned)
132
100
  - Created modular tool structure
@@ -148,21 +116,66 @@ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Confi
148
116
  - Wrangler updates wrangler.toml with namespace IDs
149
117
 
150
118
  πŸš€ Next Steps:
151
- cd my-awesome-agent
119
+ cd test-agent
152
120
  wrangler login # Login to Cloudflare first!
153
121
  npm run dev # Start local development
154
122
  npm run deploy # Deploy (KV auto-created!)
155
123
 
156
124
 
157
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
125
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should include AGENTSHIELD_PROJECT_ID in wrangler.toml template
126
+ 
127
+ πŸ—οΈ Generating Cloudflare MCP-I project: test-project-env...
158
128
 
159
- πŸ—οΈ Generating Cloudflare MCP-I project: test-agent...
129
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should include AGENTSHIELD_PROJECT_ID in wrangler.toml template
130
+ πŸ”‘ Generating cryptographic identity...
131
+
132
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
133
+ 
134
+ πŸ—οΈ Generating Cloudflare MCP-I project: my-awesome-agent...
135
+
136
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
137
+ πŸ”‘ Generating cryptographic identity...
138
+
139
+ βœ“ src/__tests__/helpers/generate-config.test.ts (25 tests) 4905ms
140
+ βœ“ should generate xmcp.config.ts with default values  801ms
141
+ βœ“ should generate config with STDIO transport when specified  326ms
142
+ βœ“ should generate config without identity when skipIdentity is true  547ms
143
+ βœ“ should use default tools path  530ms
144
+ βœ“ should generate runtime config with default values  1181ms
145
+ βœ“ should create valid TypeScript config file  508ms
146
+ stderr | src/__tests__/cli-runner.test.ts > runCLI > exits when project name validation fails
147
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > exits when project name validation fails
148
+ Invalid project name:
149
+ - bad
150
+ 
151
+ create-mcpi-app@1.9.12
152
+
153
+
154
+ create-mcpi-app@1.9.12
155
+ BANNER
156
+
157
+ Enhanced with identity features by MCP-I
158
+
159
+ BANNER
160
+
161
+ Enhanced with identity features by MCP-I
162
+
163
+
164
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > exits when project name validation fails
165
+ 
166
+ Next Steps:
167
+ 1. Initialize identity:
168
+ cd bad-app
169
+ npm run init
170
+
171
+ 2. Start development server:
172
+ npm run dev
160
173
 
161
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
162
- πŸ”‘ Generating cryptographic identity...
174
+ 3. Deploy when ready:
175
+ npm run start
163
176
 
164
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
165
- βœ” Created Cloudflare MCP-I template files
177
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should include AGENTSHIELD_PROJECT_ID in wrangler.toml template
178
+ βœ” Created Cloudflare MCP-I template files
166
179
  - Generated identity keys in .dev.vars
167
180
  - Configured wrangler.toml with KV namespaces (auto-provisioned)
168
181
  - Created modular tool structure
@@ -184,14 +197,14 @@ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Confi
184
197
  - Wrangler updates wrangler.toml with namespace IDs
185
198
 
186
199
  πŸš€ Next Steps:
187
- cd test-agent
200
+ cd test-project-env
188
201
  wrangler login # Login to Cloudflare first!
189
202
  npm run dev # Start local development
190
203
  npm run deploy # Deploy (KV auto-created!)
191
204
 
192
205
 
193
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should scaffold with correct @kya-os/mcp-i-cloudflare version
194
- βœ” Created Cloudflare MCP-I template files
206
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
207
+ βœ” Created Cloudflare MCP-I template files
195
208
  - Generated identity keys in .dev.vars
196
209
  - Configured wrangler.toml with KV namespaces (auto-provisioned)
197
210
  - Created modular tool structure
@@ -213,21 +226,95 @@ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffold
213
226
  - Wrangler updates wrangler.toml with namespace IDs
214
227
 
215
228
  πŸš€ Next Steps:
216
- cd test-project
229
+ cd my-awesome-agent
217
230
  wrangler login # Login to Cloudflare first!
218
231
  npm run dev # Start local development
219
232
  npm run deploy # Deploy (KV auto-created!)
220
233
 
221
234
 
222
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should include AGENTSHIELD_PROJECT_ID in wrangler.toml template
235
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > honors package manager and version flags
236
+ 
237
+ create-mcpi-app@1.9.12
223
238
 
224
- πŸ—οΈ Generating Cloudflare MCP-I project: test-project-env...
239
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > honors package manager and version flags
240
+ BANNER
241
+
242
+ Enhanced with identity features by MCP-I
243
+
244
+
245
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > honors package manager and version flags
246
+ 
247
+ Next Steps:
248
+ 1. Install dependencies:
249
+ cd pnpm-agent
250
+ pnpm install
251
+
252
+ 2. Initialize identity:
253
+ pnpm init
254
+
255
+ 3. Start development server:
256
+ pnpm dev
257
+
258
+ 4. Deploy when ready:
259
+ pnpm start
260
+
261
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > prompts for package manager and transports when --yes is not set
262
+ 
263
+ create-mcpi-app@1.9.12
264
+
265
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > prompts for package manager and transports when --yes is not set
266
+ BANNER
267
+
268
+ Enhanced with identity features by MCP-I
225
269
 
226
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should include AGENTSHIELD_PROJECT_ID in wrangler.toml template
227
- πŸ”‘ Generating cryptographic identity...
228
270
 
229
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should include AGENTSHIELD_PROJECT_ID in wrangler.toml template
230
- βœ” Created Cloudflare MCP-I template files
271
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > prompts for package manager and transports when --yes is not set
272
+ 
273
+ Creating a new xmcp app in /Users/dylanhobbs/@kya-os/xmcp-i/packages/create-mcpi-app/interactive-app.
274
+
275
+
276
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should set AGENTSHIELD_PROJECT_ID when --project is provided
277
+ 
278
+ πŸ—οΈ Generating Cloudflare MCP-I project: test-project-with-id...
279
+
280
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > prompts for package manager and transports when --yes is not set
281
+ 
282
+ Next Steps:
283
+ 1. Install dependencies:
284
+ cd interactive-app
285
+ pnpm install
286
+
287
+ 2. Start development server:
288
+ pnpm dev
289
+
290
+ 3. Deploy when ready:
291
+ pnpm start
292
+
293
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should set AGENTSHIELD_PROJECT_ID when --project is provided
294
+ πŸ”‘ Generating cryptographic identity...
295
+
296
+ ❯ src/__tests__/cli-runner.test.ts (4 tests | 2 failed) 11065ms
297
+  Γ— passes CLI flags to createProject when using --yes 5089ms
298
+  Γ— exits when project name validation fails 5401ms
299
+ βœ“ honors package manager and version flags 64ms
300
+ βœ“ prompts for package manager and transports when --yes is not set  503ms
301
+ βœ“ src/__tests__/helpers/validate-project-structure.test.ts (23 tests) 4229ms
302
+ βœ“ should validate identity-enabled project structure correctly  540ms
303
+ βœ“ should validate vanilla project structure correctly  681ms
304
+ βœ“ should detect missing package.json  694ms
305
+ βœ“ should detect missing xmcp.config.ts file  315ms
306
+ βœ“ should validate all required files exist  501ms
307
+ βœ“ should include file path in error messages  417ms
308
+ βœ“ should detect npm lockfile  360ms
309
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
310
+ 
311
+ πŸ—οΈ Generating Cloudflare MCP-I project: test-agent...
312
+
313
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
314
+ πŸ”‘ Generating cryptographic identity...
315
+
316
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should set AGENTSHIELD_PROJECT_ID when --project is provided
317
+ βœ” Created Cloudflare MCP-I template files
231
318
  - Generated identity keys in .dev.vars
232
319
  - Configured wrangler.toml with KV namespaces (auto-provisioned)
233
320
  - Created modular tool structure
@@ -249,21 +336,21 @@ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffold
249
336
  - Wrangler updates wrangler.toml with namespace IDs
250
337
 
251
338
  πŸš€ Next Steps:
252
- cd test-project-env
339
+ cd test-project-with-id
253
340
  wrangler login # Login to Cloudflare first!
254
341
  npm run dev # Start local development
255
342
  npm run deploy # Deploy (KV auto-created!)
256
343
 
257
344
 
258
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should set AGENTSHIELD_PROJECT_ID when --project is provided
259
-
260
- πŸ—οΈ Generating Cloudflare MCP-I project: test-project-with-id...
261
-
262
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should set AGENTSHIELD_PROJECT_ID when --project is provided
263
- πŸ”‘ Generating cryptographic identity...
264
-
265
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should set AGENTSHIELD_PROJECT_ID when --project is provided
266
- βœ” Created Cloudflare MCP-I template files
345
+ βœ“ src/__tests__/helpers/fetch-mcpi-template.test.ts (16 tests) 5064ms
346
+ βœ“ should create package.json with correct structure  623ms
347
+ βœ“ should include @kya-os dependencies  544ms
348
+ βœ“ should include required scripts  1241ms
349
+ βœ“ should create src/tools directory  785ms
350
+ βœ“ should create README.md  429ms
351
+ βœ“ should generate identity when skipIdentity is false  485ms
352
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
353
+ βœ” Created Cloudflare MCP-I template files
267
354
  - Generated identity keys in .dev.vars
268
355
  - Configured wrangler.toml with KV namespaces (auto-provisioned)
269
356
  - Created modular tool structure
@@ -285,24 +372,28 @@ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffold
285
372
  - Wrangler updates wrangler.toml with namespace IDs
286
373
 
287
374
  πŸš€ Next Steps:
288
- cd test-project-with-id
375
+ cd test-agent
289
376
  wrangler login # Login to Cloudflare first!
290
377
  npm run dev # Start local development
291
378
  npm run deploy # Deploy (KV auto-created!)
292
379
 
293
380
 
294
- βœ“ src/__tests__/helpers/install.test.ts (21 tests) 91ms
295
- βœ“ src/__tests__/helpers/validate-project-structure.test.ts (23 tests) 69ms
296
- βœ“ src/__tests__/index.test.ts (4 tests) 141ms
297
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should comment out AGENTSHIELD_PROJECT_ID when --project is NOT provided
298
-
381
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should comment out AGENTSHIELD_PROJECT_ID when --project is NOT provided
382
+ 
299
383
  πŸ—οΈ Generating Cloudflare MCP-I project: test-project-no-id...
300
384
 
301
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should comment out AGENTSHIELD_PROJECT_ID when --project is NOT provided
302
- πŸ”‘ Generating cryptographic identity...
385
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should comment out AGENTSHIELD_PROJECT_ID when --project is NOT provided
386
+ πŸ”‘ Generating cryptographic identity...
387
+
388
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should match envPrefix with KV binding names in wrangler.toml
389
+ 
390
+ πŸ—οΈ Generating Cloudflare MCP-I project: test-agent...
391
+
392
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should match envPrefix with KV binding names in wrangler.toml
393
+ πŸ”‘ Generating cryptographic identity...
303
394
 
304
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should comment out AGENTSHIELD_PROJECT_ID when --project is NOT provided
305
- βœ” Created Cloudflare MCP-I template files
395
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should comment out AGENTSHIELD_PROJECT_ID when --project is NOT provided
396
+ βœ” Created Cloudflare MCP-I template files
306
397
  - Generated identity keys in .dev.vars
307
398
  - Configured wrangler.toml with KV namespaces (auto-provisioned)
308
399
  - Created modular tool structure
@@ -330,22 +421,8 @@ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffold
330
421
  npm run deploy # Deploy (KV auto-created!)
331
422
 
332
423
 
333
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Runtime Config Includes projectId > should pass AGENTSHIELD_PROJECT_ID to runtime config
334
-
335
- πŸ—οΈ Generating Cloudflare MCP-I project: test-project-runtime...
336
-
337
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Runtime Config Includes projectId > should pass AGENTSHIELD_PROJECT_ID to runtime config
338
- πŸ”‘ Generating cryptographic identity...
339
-
340
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should match envPrefix with KV binding names in wrangler.toml
341
-
342
- πŸ—οΈ Generating Cloudflare MCP-I project: test-agent...
343
-
344
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should match envPrefix with KV binding names in wrangler.toml
345
- πŸ”‘ Generating cryptographic identity...
346
-
347
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should match envPrefix with KV binding names in wrangler.toml
348
- βœ” Created Cloudflare MCP-I template files
424
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should match envPrefix with KV binding names in wrangler.toml
425
+ βœ” Created Cloudflare MCP-I template files
349
426
  - Generated identity keys in .dev.vars
350
427
  - Configured wrangler.toml with KV namespaces (auto-provisioned)
351
428
  - Created modular tool structure
@@ -373,9 +450,29 @@ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Confi
373
450
  npm run deploy # Deploy (KV auto-created!)
374
451
 
375
452
 
376
- βœ“ src/__tests__/scaffolder-envprefix.test.ts (4 tests) 125ms
377
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Runtime Config Includes projectId > should pass AGENTSHIELD_PROJECT_ID to runtime config
378
- βœ” Created Cloudflare MCP-I template files
453
+ βœ“ src/__tests__/scaffolder-envprefix.test.ts (4 tests) 8004ms
454
+ βœ“ should include envPrefix in generated index.ts  3501ms
455
+ βœ“ should use correct prefix format (uppercase with underscores)  1413ms
456
+ βœ“ should include comment explaining envPrefix purpose  2007ms
457
+ βœ“ should match envPrefix with KV binding names in wrangler.toml  1073ms
458
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Runtime Config Includes projectId > should pass AGENTSHIELD_PROJECT_ID to runtime config
459
+ 
460
+ πŸ—οΈ Generating Cloudflare MCP-I project: test-project-runtime...
461
+
462
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Runtime Config Includes projectId > should pass AGENTSHIELD_PROJECT_ID to runtime config
463
+ πŸ”‘ Generating cryptographic identity...
464
+
465
+ βœ“ src/__tests__/helpers/create.test.ts (13 tests) 5990ms
466
+ βœ“ should create Node.js MCP-I project (default)  741ms
467
+ βœ“ should create Cloudflare MCP-I project  1117ms
468
+ βœ“ should create Cloudflare verifier project  331ms
469
+ βœ“ should generate identity for Node.js project when not skipped  573ms
470
+ βœ“ should add vercel.json when deployToVercel is true  583ms
471
+ βœ“ should rename _gitignore to .gitignore  458ms
472
+ βœ“ should pass apikey to Cloudflare template  767ms
473
+ βœ“ should pass projectId to Cloudflare template  754ms
474
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Runtime Config Includes projectId > should pass AGENTSHIELD_PROJECT_ID to runtime config
475
+ βœ” Created Cloudflare MCP-I template files
379
476
  - Generated identity keys in .dev.vars
380
477
  - Configured wrangler.toml with KV namespaces (auto-provisioned)
381
478
  - Created modular tool structure
@@ -403,15 +500,43 @@ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffold
403
500
  npm run deploy # Deploy (KV auto-created!)
404
501
 
405
502
 
406
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > No Workspace References > should not include workspace: references in scaffolded package.json
407
-
503
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > No Workspace References > should not include workspace: references in scaffolded package.json
504
+ 
408
505
  πŸ—οΈ Generating Cloudflare MCP-I project: test-project-no-workspace...
409
506
 
410
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > No Workspace References > should not include workspace: references in scaffolded package.json
411
- πŸ”‘ Generating cryptographic identity...
507
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > No Workspace References > should not include workspace: references in scaffolded package.json
508
+ πŸ”‘ Generating cryptographic identity...
509
+
510
+ βœ“ src/__tests__/wrangler-v4-compatibility.test.ts (11 tests) 8663ms
511
+ βœ“ should use Wrangler v4.x in package.json  2295ms
512
+ βœ“ should use modern compatibility_flags in wrangler.toml (not deprecated node_compat)  686ms
513
+ βœ“ should use updated @cloudflare/workers-types  1315ms
514
+ βœ“ should use compatible @cloudflare/vitest-pool-workers version  1270ms
515
+ βœ“ should use a valid compatibility_date (not a future date)  916ms
516
+ βœ“ should include all required scripts for Wrangler v4  724ms
517
+ βœ“ MCPI template should not use any deprecated Wrangler v3 features  1116ms
518
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with npm
519
+ 
520
+ πŸ“¦ Installing dependencies with npm...
521
+ βœ“ Lockfile created (package-lock.json) - remember to commit it
522
+
523
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with yarn
524
+ 
525
+ πŸ“¦ Installing dependencies with yarn...
526
+ βœ“ Lockfile created (yarn.lock) - remember to commit it
527
+
528
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with pnpm
529
+ 
530
+ πŸ“¦ Installing dependencies with pnpm...
531
+ βœ“ Lockfile created (pnpm-lock.yaml) - remember to commit it
532
+
533
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should use correct working directory
534
+ 
535
+ πŸ“¦ Installing dependencies with npm...
536
+ βœ“ Lockfile created (package-lock.json) - remember to commit it
412
537
 
413
- stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > No Workspace References > should not include workspace: references in scaffolded package.json
414
- βœ” Created Cloudflare MCP-I template files
538
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > No Workspace References > should not include workspace: references in scaffolded package.json
539
+ βœ” Created Cloudflare MCP-I template files
415
540
  - Generated identity keys in .dev.vars
416
541
  - Configured wrangler.toml with KV namespaces (auto-provisioned)
417
542
  - Created modular tool structure
@@ -439,147 +564,223 @@ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffold
439
564
  npm run deploy # Deploy (KV auto-created!)
440
565
 
441
566
 
442
- βœ“ src/__tests__/e2e/scaffolder-dependency-verification.test.ts (7 tests) 382ms
443
- stdout | src/__tests__/cli-runner.test.ts > runCLI > passes CLI flags to createProject when using --yes
444
-
445
- create-mcpi-app@1.9.10
446
-
447
- stdout | src/__tests__/cli-runner.test.ts > runCLI > passes CLI flags to createProject when using --yes
448
- BANNER
449
-
450
- Enhanced with identity features by MCP-I
451
-
452
-
453
- stdout | src/__tests__/cli-runner.test.ts > runCLI > passes CLI flags to createProject when using --yes
454
-
455
- Next Steps:
456
- 1. Install dependencies:
457
- cd my-agent
458
- npm install
459
-
460
- 2. Start development server:
461
- npm run dev
462
-
463
- 3. Deploy when ready:
464
- npm run start
465
-
466
- stdout | src/__tests__/cli-runner.test.ts > runCLI > exits when project name validation fails
467
-
468
- create-mcpi-app@1.9.10
469
-
470
- stderr | src/__tests__/cli-runner.test.ts > runCLI > exits when project name validation fails
471
- stdout | src/__tests__/cli-runner.test.ts > runCLI > exits when project name validation fails
472
- BANNER
473
-
474
- Enhanced with identity features by MCP-I
475
-
476
- Invalid project name:
477
-
478
- - bad
479
-
480
- stdout | src/__tests__/cli-runner.test.ts > runCLI > honors package manager and version flags
481
-
482
- create-mcpi-app@1.9.10
483
-
484
- stdout | src/__tests__/cli-runner.test.ts > runCLI > honors package manager and version flags
485
- BANNER
486
-
487
- Enhanced with identity features by MCP-I
488
-
489
-
490
- stdout | src/__tests__/cli-runner.test.ts > runCLI > honors package manager and version flags
491
-
492
- Next Steps:
493
- 1. Install dependencies:
494
- cd pnpm-agent
495
- pnpm install
496
-
497
- 2. Initialize identity:
498
- pnpm init
499
-
500
- 3. Start development server:
501
- pnpm dev
502
-
503
- 4. Deploy when ready:
504
- pnpm start
505
-
506
- stdout | src/__tests__/cli-runner.test.ts > runCLI > prompts for package manager and transports when --yes is not set
567
+ stderr | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should report correct package manager in log
568
+ ⚠️ Warning: No lockfile generated (pnpm-lock.yaml)
507
569
 
508
- create-mcpi-app@1.9.10
570
+ stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
571
+ stdout | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should check for lockfile after installation
572
+ 
573
+ πŸ“¦ Installing dependencies with npm...
574
+ Failed to install dependencies with npm.
509
575
 
510
- stdout | src/__tests__/cli-runner.test.ts > runCLI > prompts for package manager and transports when --yes is not set
511
- BANNER
576
+ βœ“ Lockfile created (package-lock.json) - remember to commit it
512
577
 
513
- Enhanced with identity features by MCP-I
578
+ stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
579
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
580
+ 
581
+ πŸ“¦ Installing dependencies with npm...
514
582
 
583
+ Failed to install dependencies with npm.
584
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
515
585
 
516
- stdout | src/__tests__/cli-runner.test.ts > runCLI > prompts for package manager and transports when --yes is not set
586
+ 
587
+ stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
588
+ πŸ“¦ Installing dependencies with npm...
517
589
 
518
- Creating a new xmcp app in /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app/interactive-app.
590
+ Failed to install dependencies with npm.
591
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
592
+ 
593
+ πŸ“¦ Installing dependencies with npm...
519
594
 
520
595
 
521
- stdout | src/__tests__/cli-runner.test.ts > runCLI > prompts for package manager and transports when --yes is not set
596
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should log error message when installation fails
597
+ 
598
+ πŸ“¦ Installing dependencies with npm...
522
599
 
523
- Next Steps:
524
- 1. Install dependencies:
525
- cd interactive-app
526
- pnpm install
600
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
601
+ 
602
+ stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
603
+ ⚠️ Warning: Unknown package manager "unknown", cannot check lockfile
604
+ πŸ“¦ Installing dependencies with unknown...
527
605
 
528
- 2. Start development server:
529
- pnpm dev
530
606
 
531
- 3. Deploy when ready:
532
- pnpm start
607
+ βœ“ src/__tests__/e2e/scaffolder-dependency-verification.test.ts (7 tests) 10808ms
608
+ βœ“ should scaffold with correct @kya-os/mcp-i-cloudflare version  4012ms
609
+ βœ“ should include AGENTSHIELD_PROJECT_ID in wrangler.toml template  1640ms
610
+ βœ“ should set AGENTSHIELD_PROJECT_ID when --project is provided  1832ms
611
+ βœ“ should comment out AGENTSHIELD_PROJECT_ID when --project is NOT provided  1653ms
612
+ βœ“ should pass AGENTSHIELD_PROJECT_ID to runtime config  912ms
613
+ βœ“ should use dynamic version for dependency and expectedVersion  402ms
614
+ βœ“ should not include workspace: references in scaffolded package.json  354ms
615
+ stdout | src/__tests__/helpers/install.test.ts > install > Lockfile validation > should warn when lockfile not created
616
+ 
617
+ πŸ“¦ Installing dependencies with npm...
533
618
 
534
- βœ“ src/__tests__/wrangler-v4-compatibility.test.ts (11 tests) 391ms
535
- βœ“ src/__tests__/cli-runner.test.ts (4 tests) 576ms
536
- βœ“ passes CLI flags to createProject when using --yes 570ms
537
- βœ“ src/__tests__/helpers/create.test.ts (13 tests) 581ms
538
- βœ“ should pass apikey to Cloudflare template 416ms
539
- βœ“ src/__tests__/helpers/get-package-versions.test.ts (6 tests) 648ms
540
- βœ“ should return versions from actual package.json 360ms
541
- βœ“ src/__tests__/helpers/apply-identity-preset.test.ts (16 tests) 1362ms
542
- βœ“ should throw error when package.json does not exist 402ms
543
- βœ“ src/__tests__/utils/is-folder-empty.test.ts (21 tests) 30ms
544
- βœ“ src/__tests__/helpers/fetch-mcpi-template.test.ts (16 tests) 289ms
545
- βœ“ test-cloudflare/tests/do-routing.test.ts (14 tests) 286ms
546
- βœ“ src/__tests__/utils/check-node.test.ts (7 tests) 9ms
547
- βœ“ src/__tests__/helpers/generate-identity.test.ts (24 tests) 116ms
548
- βœ“ src/__tests__/helpers/copy-template.test.ts (11 tests) 165ms
549
- βœ“ src/__tests__/helpers/kta-registration.test.ts (8 tests) 42ms
550
- βœ“ src/__tests__/helpers/fetch-cloudflare-template.test.ts (4 tests) 534ms
551
- stdout | test-cloudflare/tests/session-management.test.ts > Session Management > Session Security > should not expose session data in logs
552
- [Session] Created session: secure-session
553
-
554
- βœ“ src/__tests__/cloudflare-template.test.ts (30 tests | 2 skipped) 2224ms
555
- βœ“ should have matching DO class name in agent.ts and index.ts 427ms
556
- βœ“ should handle invalid project names 333ms
557
- βœ“ src/__tests__/helpers/generate-cloudflare-files.test.ts (26 tests | 1 skipped) 606ms
558
- βœ“ should generate unique DID for each call (without skipIdentity) 517ms
559
- stderr | src/__tests__/helpers/fetch-xmcp-template.test.ts > fetchXMCPTemplate > falls back to default when next channel is unavailable
560
- ⚠️ dist-tag 'next' not available for xmcp, falling back to ^0.3.1
561
-
562
- βœ“ src/__tests__/helpers/fetch-xmcp-template.test.ts (3 tests) 21ms
563
- βœ“ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts (25 tests) 2255ms
564
- βœ“ should handle different package managers 349ms
565
- βœ“ should handle template generation without overwriting existing files incorrectly 488ms
566
- βœ“ should skip identity generation when skipIdentity is true 496ms
567
- βœ“ test-cloudflare/tests/delegation.test.ts (12 tests) 5ms
568
- βœ“ src/__tests__/effects/index.test.ts (5 tests) 5ms
569
- βœ“ test-cloudflare/tests/session-management.test.ts (17 tests) 14ms
570
- βœ“ src/helpers/__tests__/generate-cloudflare-files.spec.ts (28 tests) 50ms
571
- βœ“ src/__tests__/utils/validate-project-name.test.ts (29 tests) 37ms
572
- βœ“ test-cloudflare/tests/cache-invalidation.test.ts (18 tests) 35ms
573
- βœ“ src/utils/__tests__/fetch-remote-config.test.ts (9 tests) 6ms
574
- βœ“ src/__tests__/helpers/rename.test.ts (6 tests) 340ms
575
- βœ“ test-cloudflare/tests/cors-security.test.ts (29 tests) 4ms
576
- stderr | src/helpers/__tests__/config-builder.spec.ts > buildConfigWithRemote > should fallback to local config when remote fetch fails
577
- [RemoteConfig] Neither projectId nor agentDid provided
578
-
579
- βœ“ src/helpers/__tests__/config-builder.spec.ts (12 tests) 4ms
580
-
581
- Test Files 34 passed (34)
582
- Tests 501 passed | 3 skipped (504)
583
- Start at 15:01:58
584
- Duration 4.25s (transform 2.99s, setup 0ms, import 9.58s, tests 11.52s, environment 3ms)
619
+ stdout | src/__tests__/helpers/install.test.ts > install > Lockfile validation > should warn when package manager lockfile cannot be determined
620
+ 
621
+ πŸ“¦ Installing dependencies with custom...
585
622
 
623
+ βœ“ src/__tests__/helpers/install.test.ts (21 tests) 1637ms
624
+ βœ“ should detect yarn from yarn.lock  470ms
625
+ (node:27423) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
626
+ (Use `node --trace-warnings ...` to show where the warning was created)
627
+ stdout | test-cloudflare/tests/session-management.test.ts > Session Management > Session Security > should not expose session data in logs
628
+ [Session] Created session: secure-session
629
+
630
+ βœ“ test-cloudflare/tests/session-management.test.ts (17 tests) 805ms
631
+ βœ“ should read MCP session ID from Claude Desktop headers  535ms
632
+ βœ“ src/__tests__/utils/is-folder-empty.test.ts (21 tests) 390ms
633
+ βœ“ src/__tests__/helpers/get-package-versions.test.ts (6 tests) 910ms
634
+ βœ“ should return fresh versions after cache clear  544ms
635
+ βœ“ src/__tests__/helpers/apply-identity-preset.test.ts (16 tests) 13679ms
636
+ βœ“ should return early when noIdentity is true  643ms
637
+ βœ“ should enhance existing tools when tools directory exists with files  1906ms
638
+ βœ“ should create hello tool when tools directory exists but is empty  2123ms
639
+ βœ“ should create tools directory and hello tool when tools directory does not exist  794ms
640
+ βœ“ should update index.ts with hello export  882ms
641
+ βœ“ should not duplicate hello export in index.ts  2038ms
642
+ βœ“ should handle tool file with 'hello' in content without false positive  766ms
643
+ βœ“ should add identity dependencies with published versions  775ms
644
+ βœ“ should use workspace dependencies when MCPI_USE_WORKSPACE is true  721ms
645
+ βœ“ should append to existing .gitignore without duplicates  371ms
646
+ βœ“ should create .mcpi directory  573ms
647
+ βœ“ should throw error when package.json does not exist  561ms
648
+ βœ“ should handle getPackageVersions failure gracefully  507ms
649
+ βœ“ should log progress messages when applying preset  637ms
650
+ (node:27446) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
651
+ (Use `node --trace-warnings ...` to show where the warning was created)
652
+ βœ“ src/__tests__/helpers/kta-registration.test.ts (8 tests) 1159ms
653
+ βœ“ should call cli-register endpoint with correct payload  871ms
654
+ βœ“ src/__tests__/helpers/identity-manager.test.ts (16 tests) 1241ms
655
+ βœ“ should reset Cloudflare identity by removing variables from wrangler.toml  381ms
656
+ βœ“ src/helpers/__tests__/generate-cloudflare-files.spec.ts (28 tests) 872ms
657
+ βœ“ src/__tests__/helpers/generate-cloudflare-files.test.ts (26 tests | 1 skipped) 1685ms
658
+ βœ“ should generate files that can be written to disk  1405ms
659
+ βœ“ src/__tests__/utils/check-node.test.ts (7 tests) 981ms
660
+ βœ“ should not exit for Node.js 20.x  500ms
661
+ βœ“ should exit for Node.js 16.x  306ms
662
+ stderr | src/__tests__/helpers/fetch-xmcp-template.test.ts > fetchXMCPTemplate > falls back to default when next channel is unavailable
663
+ ⚠️ dist-tag 'next' not available for xmcp, falling back to ^0.3.1
664
+
665
+ βœ“ src/__tests__/helpers/fetch-xmcp-template.test.ts (3 tests) 705ms
666
+ βœ“ creates minimal XMCP template structure  490ms
667
+ βœ“ src/__tests__/utils/validate-project-name.test.ts (29 tests) 401ms
668
+ βœ“ test-cloudflare/tests/cache-invalidation.test.ts (18 tests) 853ms
669
+ βœ“ src/__tests__/helpers/rename.test.ts (6 tests) 979ms
670
+ βœ“ src/__tests__/helpers/fetch-cloudflare-template.test.ts (4 tests) 675ms
671
+ βœ“ src/__tests__/effects/index.test.ts (5 tests) 95ms
672
+ βœ“ test-cloudflare/tests/delegation.test.ts (12 tests) 125ms
673
+ βœ“ src/utils/__tests__/fetch-remote-config.test.ts (9 tests) 404ms
674
+ βœ“ test-cloudflare/tests/cors-security.test.ts (29 tests) 62ms
675
+ stderr | src/helpers/__tests__/config-builder.spec.ts > buildConfigWithRemote > should fallback to local config when remote fetch fails
676
+ [RemoteConfig] Neither projectId nor agentDid provided
677
+
678
+ βœ“ src/helpers/__tests__/config-builder.spec.ts (12 tests) 51ms
679
+ βœ“ src/__tests__/cloudflare-template.test.ts (30 tests | 2 skipped) 19811ms
680
+ βœ“ should create all required files and directories  4023ms
681
+ βœ“ should create mcpi-runtime-config.ts with correct structure  1249ms
682
+ βœ“ should create index.ts with correct structure  414ms
683
+ βœ“ should export Durable Object class for Cloudflare Workers binding  1879ms
684
+ βœ“ should import Durable Object class from agent.ts  889ms
685
+ βœ“ should generate agent class with all required abstract methods  694ms
686
+ βœ“ should export Durable Object matching wrangler.toml class_name  671ms
687
+ βœ“ should include MCP_SERVER_URL placeholder in wrangler.toml  557ms
688
+ βœ“ should handle MCP_SERVER_URL configuration  890ms
689
+ βœ“ should use simplified agent class structure  474ms
690
+ βœ“ should include all required KV namespace bindings in wrangler.toml  336ms
691
+ βœ“ should create KV namespace creation scripts in package.json  794ms
692
+ βœ“ should not include setup script (Wrangler v4 auto-provisions)  444ms
693
+ βœ“ should include correct imports in runtime config  533ms
694
+ βœ“ should conditionally enable tool protection KV when API key provided  635ms
695
+ βœ“ should comment out tool protection KV when no API key provided  422ms
696
+ βœ“ should generate identity when skipIdentity is false  1567ms
697
+ βœ“ should skip identity generation when skipIdentity is true  724ms
698
+ βœ“ should include identity variables in wrangler.toml  595ms
699
+ βœ“ should handle invalid project names  518ms
700
+ βœ“ should use correct package manager in scripts  313ms
701
+ βœ“ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts (25 tests) 18453ms
702
+ βœ“ should fetch and generate template successfully  2305ms
703
+ βœ“ should use default project name from path when not provided  926ms
704
+ βœ“ should handle different package managers  3602ms
705
+ βœ“ should generate template with correct project structure  1192ms
706
+ βœ“ should generate consistent template structure on multiple calls  468ms
707
+ βœ“ should handle template generation without overwriting existing files incorrectly  713ms
708
+ βœ“ should transform project name to valid class name  781ms
709
+ βœ“ should handle special characters in project name  945ms
710
+ βœ“ should handle numeric project names  455ms
711
+ βœ“ should handle project names with only dots  443ms
712
+ βœ“ should transform KV namespace bindings correctly  802ms
713
+ βœ“ should transform package.json scripts correctly  700ms
714
+ βœ“ should transform index.ts class name correctly  1084ms
715
+ βœ“ should include API key in .dev.vars when provided  814ms
716
+ βœ“ should handle missing API key gracefully  648ms
717
+ βœ“ should skip identity generation when skipIdentity is true  706ms
718
+ βœ“ should include valid JSON in KTA_REGISTRATION when registered  405ms
719
+
720
+ ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 4 ⎯⎯⎯⎯⎯⎯⎯
721
+
722
+  FAIL  src/__tests__/cli-runner.test.ts > runCLI > passes CLI flags to createProject when using --yes
723
+ Error: Test timed out in 5000ms.
724
+ If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
725
+  ❯ src/__tests__/cli-runner.test.ts:82:3
726
+  80|  }
727
+  81| 
728
+  82|  it("passes CLI flags to createProject when using --yes", async () =>…
729
+  |  ^
730
+  83|  mockCreateProject.mockResolvedValue({ success: true });
731
+  84|  mockCreateKYAOSBanner.mockResolvedValue("BANNER");
732
+
733
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/4]⎯
734
+
735
+  FAIL  src/__tests__/cli-runner.test.ts > runCLI > exits when project name validation fails
736
+ AssertionError: promise resolved "undefined" instead of rejecting
737
+
738
+ - Expected:
739
+ Error {
740
+ "message": "rejected promise",
741
+ }
742
+
743
+ + Received:
744
+ undefined
745
+
746
+  ❯ src/__tests__/cli-runner.test.ts:126:30
747
+ 124|  const args = ["node", "create-mcpi-app", "bad-app", "--yes"];
748
+ 125| 
749
+ 126|  await expect(runCLI(args)).rejects.toThrow("process.exit called");
750
+  |  ^
751
+ 127|  expect(mockCreateProject).not.toHaveBeenCalled();
752
+ 128|  });
753
+
754
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/4]⎯
755
+
756
+  FAIL  test-cloudflare/tests/do-routing.test.ts > Durable Object Multi-Instance Routing > Performance Characteristics > session routing should have O(1) complexity
757
+ AssertionError: expected 2279.717041 to be less than 600
758
+  ❯ test-cloudflare/tests/do-routing.test.ts:229:24
759
+ 227| 
760
+ 228|  // Should complete 10k operations in < 600ms (relaxed for CI env…
761
+ 229|  expect(duration).toBeLessThan(600);
762
+  |  ^
763
+ 230|  });
764
+ 231| 
765
+
766
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/4]⎯
767
+
768
+  FAIL  test-cloudflare/tests/do-routing.test.ts > Durable Object Multi-Instance Routing > Performance Characteristics > shard routing should have O(n) complexity for hash
769
+ AssertionError: expected 685.3002509999988 to be less than 500
770
+  ❯ test-cloudflare/tests/do-routing.test.ts:266:44
771
+ 264|  // Both operations should complete in reasonable time (< 500ms t…
772
+ 265|  // Higher threshold accounts for CI environment variability and …
773
+ 266|  expect(longDuration + shortDuration).toBeLessThan(500);
774
+  |  ^
775
+ 267|  });
776
+ 268|  });
777
+
778
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/4]⎯
779
+
780
+
781
+  Test Files  2 failed | 32 passed (34)
782
+  Tests  4 failed | 497 passed | 3 skipped (504)
783
+  Start at  19:08:38
784
+  Duration  36.47s (transform 61.36s, setup 0ms, import 109.98s, tests 146.93s, environment 102ms)
785
+
786
+  ELIFECYCLE  Test failed. See above for more details.
@@ -64,10 +64,10 @@ export async function getPackageVersions() {
64
64
  const deps = packageJson.dependencies || {};
65
65
  // Extract and normalize versions
66
66
  cachedVersions = {
67
- "@kya-os/mcp-i": normalizeVersion(deps["@kya-os/mcp-i"] || "^1.7.6"),
68
- "@kya-os/cli": normalizeVersion(deps["@kya-os/cli"] || "^1.5.5"),
69
- "@kya-os/mcp-i-cloudflare": normalizeVersion(deps["@kya-os/mcp-i-cloudflare"] || "^1.7.16"),
70
- "@kya-os/contracts": normalizeVersion(deps["@kya-os/contracts"] || "^1.7.11"),
67
+ "@kya-os/mcp-i": normalizeVersion(deps["@kya-os/mcp-i"] || "^1.7.7"),
68
+ "@kya-os/cli": normalizeVersion(deps["@kya-os/cli"] || "^1.5.6"),
69
+ "@kya-os/mcp-i-cloudflare": normalizeVersion(deps["@kya-os/mcp-i-cloudflare"] || "^1.7.17"),
70
+ "@kya-os/contracts": normalizeVersion(deps["@kya-os/contracts"] || "^1.7.12"),
71
71
  };
72
72
  return cachedVersions;
73
73
  }
@@ -75,10 +75,10 @@ export async function getPackageVersions() {
75
75
  // Fallback to safe default versions if package.json can't be read
76
76
  console.warn("[getPackageVersions] Warning: Could not read package.json, using defaults");
77
77
  return {
78
- "@kya-os/mcp-i": "^1.7.6",
79
- "@kya-os/cli": "^1.5.5",
80
- "@kya-os/mcp-i-cloudflare": "^1.7.16",
81
- "@kya-os/contracts": "^1.7.11",
78
+ "@kya-os/mcp-i": "^1.7.7",
79
+ "@kya-os/cli": "^1.5.6",
80
+ "@kya-os/mcp-i-cloudflare": "^1.7.17",
81
+ "@kya-os/contracts": "^1.7.12",
82
82
  };
83
83
  }
84
84
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kya-os/create-mcpi-app",
3
- "version": "1.9.11",
3
+ "version": "1.9.13",
4
4
  "description": "Scaffold a new MCP-I application",
5
5
  "type": "module",
6
6
  "main": "./dist/helpers/index.js",
@@ -36,7 +36,7 @@
36
36
  "@kya-os/cli-effects": "^1.0.19",
37
37
  "@kya-os/contracts": "^1.7.12",
38
38
  "@kya-os/mcp-i": "^1.7.7",
39
- "@kya-os/mcp-i-cloudflare": "^1.7.16",
39
+ "@kya-os/mcp-i-cloudflare": "^1.7.17",
40
40
  "base-x": "^5.0.0",
41
41
  "chalk": "^4.1.2",
42
42
  "commander": "^12.1.0",