@kya-os/create-mcpi-app 1.7.42-canary.15 → 1.7.42-canary.17

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,164 +1,353 @@
1
-
2
- > @kya-os/create-mcpi-app@1.7.42-canary.10 test /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
3
- > vitest --run
4
-
5
- ▲ [WARNING] The condition "types" here will never be used as it comes after both "import" and "require" [package.json]
6
-
7
- package.json:15:6:
8
- 15 │ "types": "./dist/index.d.ts"
9
- ~~~~~~~
10
-
11
- The "import" condition comes earlier and will be used for all "import" statements:
12
-
13
- package.json:13:6:
14
- 13 │ "import": "./dist/index.js",
15
- ~~~~~~~~
16
-
17
- The "require" condition comes earlier and will be used for all "require" calls:
18
-
19
- package.json:14:6:
20
- 14 │ "require": "./dist/index.js",
21
- ~~~~~~~~~
22
-
23
- ▲ [WARNING] The condition "types" here will never be used as it comes after both "import" and "require" [package.json]
24
-
25
- package.json:20:6:
26
- 20 │ "types": "./dist/helpers/config-builder.d.ts"
27
- ~~~~~~~
28
-
29
- The "import" condition comes earlier and will be used for all "import" statements:
30
-
31
- package.json:18:6:
32
- 18 │ "import": "./dist/helpers/config-builder.js",
33
- ~~~~~~~~
34
-
35
- The "require" condition comes earlier and will be used for all "require" calls:
36
-
37
- package.json:19:6:
38
- 19 │ "require": "./dist/helpers/config-builder.js",
39
- ~~~~~~~~~
40
-
41
-
42
- RUN v4.0.5 /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
43
-
44
- ✓ test-cloudflare/tests/cache-invalidation.test.ts (18 tests) 5ms
45
- ✓ test-cloudflare/tests/do-routing.test.ts (14 tests) 74ms
46
- src/__tests__/helpers/generate-config.test.ts (25 tests) 26ms
47
- ✓ test-cloudflare/tests/delegation.test.ts (12 tests) 6ms
48
- test-cloudflare/tests/cors-security.test.ts (29 tests) 3ms
49
- stderr | src/helpers/__tests__/config-builder.spec.ts > buildConfigWithRemote > should fallback to local config when remote fetch fails
50
- [RemoteConfig] Neither projectId nor agentDid provided
51
-
52
- stderr | src/utils/__tests__/fetch-remote-config.test.ts > fetchRemoteConfig > Error handling > should return null if API request fails
53
- [RemoteConfig] API returned 404: Not Found
54
-
55
- stderr | src/utils/__tests__/fetch-remote-config.test.ts > fetchRemoteConfig > Error handling > should return null if API throws error
56
- [RemoteConfig] Failed to fetch config: Error: Network error
57
- at /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app/src/utils/__tests__/fetch-remote-config.test.ts:173:35
58
- at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:157:11
59
- at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:753:26
60
- at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1636:20
61
- at new Promise (<anonymous>)
62
- at runWithTimeout (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1602:10)
63
- at runTest (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1309:12)
64
- at processTicksAndRejections (node:internal/process/task_queues:103:5)
65
- at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1468:8)
66
- at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1468:8)
67
-
68
- stderr | src/utils/__tests__/fetch-remote-config.test.ts > fetchRemoteConfig > Error handling > should return null if neither projectId nor agentDid provided
69
- [RemoteConfig] Neither projectId nor agentDid provided
70
-
71
- stderr | src/utils/__tests__/fetch-remote-config.test.ts > fetchRemoteConfig > Error handling > should handle cache read errors gracefully
72
- [RemoteConfig] Cache read failed: Error: Cache error
73
- at /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app/src/utils/__tests__/fetch-remote-config.test.ts:201:50
74
- at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:157:11
75
- at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:753:26
76
- at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1636:20
77
- at new Promise (<anonymous>)
78
- at runWithTimeout (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1602:10)
79
- at runTest (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1309:12)
80
- at processTicksAndRejections (node:internal/process/task_queues:103:5)
81
- at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1468:8)
82
- at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1468:8)
83
-
84
- src/helpers/__tests__/config-builder.spec.ts (12 tests) 4ms
85
- ✓ src/utils/__tests__/fetch-remote-config.test.ts (9 tests) 5ms
86
- src/__tests__/helpers/validate-project-structure.test.ts (23 tests) 35ms
87
- stdout | test-cloudflare/tests/session-management.test.ts > Session Management > Session Security > should not expose session data in logs
88
- [Session] Created session: secure-session
89
-
90
- test-cloudflare/tests/session-management.test.ts (17 tests) 14ms
91
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with npm
92
-
93
- 📦 Installing dependencies with npm...
94
- Lockfile created (package-lock.json) - remember to commit it
95
-
96
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with yarn
97
-
98
- 📦 Installing dependencies with yarn...
99
- Lockfile created (yarn.lock) - remember to commit it
100
-
101
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with pnpm
102
-
103
- 📦 Installing dependencies with pnpm...
104
- Lockfile created (pnpm-lock.yaml) - remember to commit it
105
-
106
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should use correct working directory
107
-
108
- 📦 Installing dependencies with npm...
109
- Lockfile created (package-lock.json) - remember to commit it
110
-
111
- stderr | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should report correct package manager in log
112
- ⚠️ Warning: No lockfile generated (pnpm-lock.yaml)
113
-
114
- stdout | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should check for lockfile after installation
115
-
116
- 📦 Installing dependencies with npm...
117
- Lockfile created (package-lock.json) - remember to commit it
118
-
119
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
120
-
121
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
122
- 📦 Installing dependencies with npm...
123
-
124
- Failed to install dependencies with npm.
125
-
126
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
127
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
128
-
129
- 📦 Installing dependencies with npm...
130
- Failed to install dependencies with npm.
131
-
132
-
133
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
134
-
135
- 📦 Installing dependencies with npm...
136
-
137
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
138
- Failed to install dependencies with npm.
139
-
140
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should log error message when installation fails
141
-
142
- 📦 Installing dependencies with npm...
143
-
144
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
145
- ⚠️ Warning: Unknown package manager "unknown", cannot check lockfile
146
-
147
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
148
-
149
- 📦 Installing dependencies with unknown...
150
-
151
- src/__tests__/helpers/generate-identity.test.ts (24 tests) 126ms
152
- stdout | src/__tests__/helpers/install.test.ts > install > Lockfile validation > should warn when lockfile not created
153
-
154
- 📦 Installing dependencies with npm...
155
-
156
- src/__tests__/helpers/install.test.ts (20 tests) 38ms
157
- ✓ src/__tests__/cloudflare-template.test.ts (24 tests) 154ms
158
- src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts (21 tests) 137ms
159
-
160
- Test Files 13 passed (13)
161
- Tests 248 passed (248)
162
- Start at 17:50:27
163
- Duration 741ms (transform 874ms, setup 0ms, collect 1.60s, tests 627ms, environment 1ms, prepare 70ms)
164
-
1
+
2
+ 
3
+ > @kya-os/create-mcpi-app@1.7.39-canary.25 test /Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/packages/create-mcpi-app
4
+ > vitest --run
5
+
6
+ [?25l▲ [WARNING] The condition "types" here will never be used as it comes after both "import" and "require" [package.json]
7
+
8
+ package.json:15:6:
9
+  15 │ "types": "./dist/index.d.ts"
10
+ ╵ ~~~~~~~
11
+
12
+ The "import" condition comes earlier and will be used for all "import" statements:
13
+
14
+ package.json:13:6:
15
+  13 │ "import": "./dist/index.js",
16
+ ╵ ~~~~~~~~
17
+
18
+ The "require" condition comes earlier and will be used for all "require" calls:
19
+
20
+ package.json:14:6:
21
+  14 │ "require": "./dist/index.js",
22
+ ╵ ~~~~~~~~~
23
+
24
+ ▲ [WARNING] The condition "types" here will never be used as it comes after both "import" and "require" [package.json]
25
+
26
+ package.json:20:6:
27
+  20 │ "types": "./dist/helpers/config-builder.d.ts"
28
+ ╵ ~~~~~~~
29
+
30
+ The "import" condition comes earlier and will be used for all "import" statements:
31
+
32
+ package.json:18:6:
33
+  18 │ "import": "./dist/helpers/config-builder.js",
34
+ ╵ ~~~~~~~~
35
+
36
+ The "require" condition comes earlier and will be used for all "require" calls:
37
+
38
+ package.json:19:6:
39
+  19 │ "require": "./dist/helpers/config-builder.js",
40
+ ╵ ~~~~~~~~~
41
+
42
+
43
+  RUN  v4.0.5 /Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/packages/create-mcpi-app
44
+
45
+ [?2026h
46
+  test-cloudflare/tests/session-management.test.ts [queued]
47
+
48
+  Test Files 0 passed (13)
49
+  Tests 0 passed (0)
50
+  Start at 15:09:05
51
+  Duration 204ms
52
+ [?2026l[?2026hstdout | test-cloudflare/tests/session-management.test.ts > Session Management > Session Security > should not expose session data in logs
53
+ [Session] Created session: secure-session
54
+
55
+ ✓ test-cloudflare/tests/session-management.test.ts (17 tests) 13ms
56
+ ✓ test-cloudflare/tests/cors-security.test.ts (29 tests) 4ms
57
+ ✓ test-cloudflare/tests/cache-invalidation.test.ts (18 tests) 5ms
58
+
59
+  ❯ src/__tests__/cloudflare-template.test.ts [queued]
60
+  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
61
+  src/__tests__/helpers/generate-config.test.ts [queued]
62
+  src/__tests__/helpers/generate-identity.test.ts [queued]
63
+  src/__tests__/helpers/install.test.ts [queued]
64
+  src/__tests__/helpers/validate-project-structure.test.ts [queued]
65
+  src/helpers/__tests__/config-builder.spec.ts [queued]
66
+  src/utils/__tests__/fetch-remote-config.test.ts [queued]
67
+  ❯ test-cloudflare/tests/delegation.test.ts 0/12
68
+  test-cloudflare/tests/do-routing.test.ts 0/14
69
+
70
+  Test Files 3 passed (13)
71
+  Tests 64 passed (90)
72
+  Start at 15:09:05
73
+  Duration 305ms
74
+ [?2026l[?2026h ✓ test-cloudflare/tests/delegation.test.ts (12 tests) 10ms
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
84
+  src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
85
+
86
+  Test Files 11 passed (13)
87
+  Tests 204 passed (248)
88
+  Start at 15:09:05
89
+  Duration 405ms
90
+ [?2026l[?2026hstderr | src/utils/__tests__/fetch-remote-config.test.ts > fetchRemoteConfig > Error handling > should return null if API request fails
91
+ [RemoteConfig] API returned 404: Not Found
92
+
93
+ stderr | src/utils/__tests__/fetch-remote-config.test.ts > fetchRemoteConfig > Error handling > should return null if API throws error
94
+ [RemoteConfig] Failed to fetch config: Error: Network error
95
+ at /Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/packages/create-mcpi-app/src/utils/__tests__/fetch-remote-config.test.ts:173:35
96
+ at file:///Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:157:11
97
+ at file:///Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:753:26
98
+ at file:///Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1636:20
99
+ at new Promise (<anonymous>)
100
+ at runWithTimeout (file:///Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1602:10)
101
+ at runTest (file:///Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1309:12)
102
+  at processTicksAndRejections (node:internal/process/task_queues:105:5)
103
+ at runSuite (file:///Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1468:8)
104
+ at runSuite (file:///Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1468:8)
105
+
106
+ stderr | src/utils/__tests__/fetch-remote-config.test.ts > fetchRemoteConfig > Error handling > should return null if neither projectId nor agentDid provided
107
+ [RemoteConfig] Neither projectId nor agentDid provided
108
+
109
+ stderr | src/utils/__tests__/fetch-remote-config.test.ts > fetchRemoteConfig > Error handling > should handle cache read errors gracefully
110
+ [RemoteConfig] Cache read failed: Error: Cache error
111
+ at /Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/packages/create-mcpi-app/src/utils/__tests__/fetch-remote-config.test.ts:201:50
112
+ at file:///Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:157:11
113
+ at file:///Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:753:26
114
+ at file:///Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1636:20
115
+ at new Promise (<anonymous>)
116
+ at runWithTimeout (file:///Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1602:10)
117
+ at runTest (file:///Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1309:12)
118
+  at processTicksAndRejections (node:internal/process/task_queues:105:5)
119
+ at runSuite (file:///Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1468:8)
120
+ at runSuite (file:///Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1468:8)
121
+
122
+
123
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
124
+  src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
125
+
126
+  Test Files 11 passed (13)
127
+  Tests 204 passed (248)
128
+  Start at 15:09:05
129
+  Duration 405ms
130
+ [?2026l[?2026h ✓ src/utils/__tests__/fetch-remote-config.test.ts (9 tests) 9ms
131
+
132
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
133
+  src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
134
+
135
+  Test Files 11 passed (13)
136
+  Tests 204 passed (248)
137
+  Start at 15:09:05
138
+  Duration 405ms
139
+ [?2026l[?2026hstderr | src/helpers/__tests__/config-builder.spec.ts > buildConfigWithRemote > should fallback to local config when remote fetch fails
140
+ [RemoteConfig] Neither projectId nor agentDid provided
141
+
142
+
143
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
144
+  src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
145
+
146
+  Test Files 11 passed (13)
147
+  Tests 204 passed (248)
148
+  Start at 15:09:05
149
+  Duration 405ms
150
+ [?2026l[?2026h ✓ src/helpers/__tests__/config-builder.spec.ts (12 tests) 6ms
151
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with npm
152
+ 
153
+ 📦 Installing dependencies with npm...
154
+ Lockfile created (package-lock.json) - remember to commit it
155
+
156
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with yarn
157
+ 
158
+ 📦 Installing dependencies with yarn...
159
+ ✓ Lockfile created (yarn.lock) - remember to commit it
160
+
161
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with pnpm
162
+ 
163
+ 📦 Installing dependencies with pnpm...
164
+ ✓ Lockfile created (pnpm-lock.yaml) - remember to commit it
165
+
166
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should use correct working directory
167
+ 
168
+ 📦 Installing dependencies with npm...
169
+ ✓ Lockfile created (package-lock.json) - remember to commit it
170
+
171
+
172
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
173
+  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
174
+
175
+  Test Files 11 passed (13)
176
+  Tests 204 passed (248)
177
+  Start at 15:09:05
178
+  Duration 405ms
179
+ [?2026l[?2026hstderr | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should report correct package manager in log
180
+ ⚠️ Warning: No lockfile generated (pnpm-lock.yaml)
181
+
182
+
183
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
184
+  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
185
+
186
+  Test Files 11 passed (13)
187
+  Tests 204 passed (248)
188
+  Start at 15:09:05
189
+  Duration 405ms
190
+ [?2026l[?2026hstdout | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should check for lockfile after installation
191
+ 
192
+ 📦 Installing dependencies with npm...
193
+ ✓ Lockfile created (package-lock.json) - remember to commit it
194
+
195
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
196
+ 
197
+ 📦 Installing dependencies with npm...
198
+
199
+
200
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
201
+  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
202
+
203
+  Test Files 11 passed (13)
204
+  Tests 204 passed (248)
205
+  Start at 15:09:05
206
+  Duration 405ms
207
+ [?2026l[?2026hstderr | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
208
+ Failed to install dependencies with npm.
209
+
210
+
211
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
212
+  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
213
+
214
+  Test Files 11 passed (13)
215
+  Tests 204 passed (248)
216
+  Start at 15:09:05
217
+  Duration 405ms
218
+ [?2026l[?2026hstdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
219
+ 
220
+ 📦 Installing dependencies with npm...
221
+
222
+
223
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
224
+  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
225
+
226
+  Test Files 11 passed (13)
227
+  Tests 204 passed (248)
228
+  Start at 15:09:05
229
+  Duration 405ms
230
+ [?2026l[?2026hstderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
231
+ Failed to install dependencies with npm.
232
+
233
+
234
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
235
+  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
236
+
237
+  Test Files 11 passed (13)
238
+  Tests 204 passed (248)
239
+  Start at 15:09:05
240
+  Duration 405ms
241
+ [?2026l[?2026hstdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
242
+ 
243
+ 📦 Installing dependencies with npm...
244
+
245
+
246
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
247
+  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
248
+
249
+  Test Files 11 passed (13)
250
+  Tests 204 passed (248)
251
+  Start at 15:09:05
252
+  Duration 405ms
253
+ [?2026l[?2026hstderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
254
+ Failed to install dependencies with npm.
255
+
256
+
257
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
258
+  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
259
+
260
+  Test Files 11 passed (13)
261
+  Tests 204 passed (248)
262
+  Start at 15:09:05
263
+  Duration 405ms
264
+ [?2026l[?2026h ✓ src/__tests__/helpers/generate-identity.test.ts (24 tests) 46ms
265
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should log error message when installation fails
266
+ 
267
+ 📦 Installing dependencies with npm...
268
+
269
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
270
+ 
271
+ 📦 Installing dependencies with unknown...
272
+
273
+
274
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
275
+  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
276
+
277
+  Test Files 11 passed (13)
278
+  Tests 204 passed (248)
279
+  Start at 15:09:05
280
+  Duration 405ms
281
+ [?2026l[?2026hstderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
282
+ ⚠️ Warning: Unknown package manager "unknown", cannot check lockfile
283
+
284
+
285
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
286
+  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
287
+
288
+  Test Files 11 passed (13)
289
+  Tests 204 passed (248)
290
+  Start at 15:09:05
291
+  Duration 405ms
292
+ [?2026l[?2026h ✓ test-cloudflare/tests/do-routing.test.ts (14 tests) 76ms
293
+ stdout | src/__tests__/helpers/install.test.ts > install > Lockfile validation > should warn when lockfile not created
294
+ 
295
+ 📦 Installing dependencies with npm...
296
+
297
+ ✓ src/__tests__/helpers/install.test.ts (20 tests) 35ms
298
+ ✓ src/__tests__/helpers/validate-project-structure.test.ts (23 tests) 47ms
299
+ ✓ src/__tests__/helpers/generate-config.test.ts (25 tests) 52ms
300
+
301
+  ❯ src/__tests__/cloudflare-template.test.ts 0/24
302
+  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 1/21
303
+
304
+  Test Files 11 passed (13)
305
+  Tests 204 passed (248)
306
+  Start at 15:09:05
307
+  Duration 405ms
308
+ [?2026l ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts (21 tests | 1 failed) 112ms
309
+ ✓ should fetch and generate template successfully 12ms
310
+ ✓ should use default project name from path when not provided 10ms
311
+ ✓ should handle different package managers 14ms
312
+ ✓ should generate template with correct project structure 5ms
313
+ ✓ should generate consistent template structure on multiple calls 10ms
314
+ ✓ should handle template generation without overwriting existing files incorrectly 6ms
315
+ ✓ should handle missing dependencies gracefully 1ms
316
+ ✓ should handle permission errors gracefully 1ms
317
+ ✓ should handle disk space errors (simulated) 2ms
318
+ ✓ should transform project name to valid class name 5ms
319
+ ✓ should handle special characters in project name 5ms
320
+ ✓ should handle numeric project names 4ms
321
+ ✓ should handle project names with only special characters 4ms
322
+ ✓ should handle project names with only dots 4ms
323
+ ✓ should transform KV namespace bindings correctly 5ms
324
+ ✓ should transform package.json scripts correctly 4ms
325
+ ✓ should transform index.ts class name correctly 6ms
326
+ ✓ should include API key in .dev.vars when provided 4ms
327
+ ✓ should handle missing API key gracefully 4ms
328
+ ✓ should skip identity generation when skipIdentity is true 4ms
329
+  × should generate identity when skipIdentity is false 2ms
330
+ ✓ src/__tests__/cloudflare-template.test.ts (24 tests) 120ms
331
+
332
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
333
+
334
+  FAIL  src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts > fetchCloudflareMcpiTemplate > Skip identity option > should generate identity when skipIdentity is false
335
+ Error: ENOENT: no such file or directory, mkdir '/Users/brian/Documents/@kya-os/modelcontextprotocol-identity/xmcp-i/packages/create-mcpi-app/test-temp/fetch-test-1762891745752-qfxt1v'
336
+  ❯ Object.module.exports.makeDirSync ../../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/mkdirs/make-dir.js:23:13
337
+  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts:20:8
338
+  18|  beforeEach(() => {
339
+  19|  tempDir = path.join(process.cwd(), 'test-temp', `fetch-test-${Date.now()}-${Math.random().toString(36).substring(7)}`);
340
+  20|  fs.ensureDirSync(tempDir);
341
+  |  ^
342
+  21|  console.log = vi.fn();
343
+  22|  console.error = vi.fn();
344
+
345
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯
346
+
347
+
348
+  Test Files  1 failed | 12 passed (13)
349
+  Tests  1 failed | 247 passed (248)
350
+  Start at  15:09:05
351
+  Duration  526ms (transform 683ms, setup 0ms, collect 1.36s, tests 535ms, environment 1ms, prepare 81ms)
352
+
353
+ [?25h ELIFECYCLE  Test failed. See above for more details.
@@ -7,6 +7,7 @@ interface CreateProjectOptions {
7
7
  packageVersion: string;
8
8
  useLocalXmcp?: boolean;
9
9
  mcpiVersion?: string;
10
+ versionTag?: 'canary' | 'latest';
10
11
  deployToVercel?: boolean;
11
12
  skipInstall?: boolean;
12
13
  agentName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/helpers/create.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA4C1D,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAkJ3B"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/helpers/create.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA4C1D,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAiK3B"}
@@ -52,7 +52,8 @@ function createProjectDirectories(projectPath) {
52
52
  * Create a new MCP-I project with identity features
53
53
  */
54
54
  export async function createProject(options) {
55
- const { projectPath, projectName, packageManager, transports, packageVersion, useLocalXmcp, mcpiVersion, deployToVercel, skipInstall, agentName = projectName, agentDescription = "MCP-I server with identity features", agentRepository = "", skipIdentity = false, skipAnimation = false, fastAnimation = false, platform = "node", mode = "mcp-i", template = "default", apikey, projectId, } = options;
55
+ const { projectPath, projectName, packageManager, transports, packageVersion, useLocalXmcp, mcpiVersion, versionTag = 'latest', // Default to latest if not specified
56
+ deployToVercel, skipInstall, agentName = projectName, agentDescription = "MCP-I server with identity features", agentRepository = "", skipIdentity = false, skipAnimation = false, fastAnimation = false, platform = "node", mode = "mcp-i", template = "default", apikey, projectId, } = options;
56
57
  const warnings = [];
57
58
  let resolvedMcpiVersion = mcpiVersion;
58
59
  try {
@@ -67,7 +68,7 @@ export async function createProject(options) {
67
68
  });
68
69
  }
69
70
  else if (platform === "cloudflare" && mode === "mcp-i") {
70
- // Cloudflare Worker MCP-I server template (NEW)
71
+ // Cloudflare Worker MCP-I server template
71
72
  await fetchCloudflareMcpiTemplate(projectPath, {
72
73
  packageManager,
73
74
  projectName,
@@ -76,12 +77,24 @@ export async function createProject(options) {
76
77
  skipIdentity,
77
78
  });
78
79
  }
80
+ else if (platform === "vercel" && mode === "mcp-i") {
81
+ // Vercel MCP-I server template (uses standard Node.js structure + vercel.json)
82
+ await fetchMCPITemplate(projectPath, {
83
+ mcpiVersion,
84
+ packageManager,
85
+ skipIdentity,
86
+ versionTag, // Pass version tag for correct dependency versions
87
+ platform: 'vercel', // Pass platform to add Vercel-specific configuration
88
+ });
89
+ // vercel.json is now created inside fetchMCPITemplate
90
+ }
79
91
  else if (platform === "node" && mode === "mcp-i") {
80
92
  // Node.js MCP-I server template (default)
81
93
  await fetchMCPITemplate(projectPath, {
82
94
  mcpiVersion,
83
95
  packageManager,
84
96
  skipIdentity,
97
+ versionTag, // Pass version tag for correct dependency versions
85
98
  });
86
99
  }
87
100
  else {
@@ -122,6 +135,7 @@ export async function createProject(options) {
122
135
  if (!isCloudflare) {
123
136
  createProjectDirectories(projectPath);
124
137
  }
138
+ // Note: deployToVercel flag is deprecated in favor of --platform vercel
125
139
  // Install project dependencies
126
140
  if (!skipInstall) {
127
141
  install(projectPath, packageManager, packageVersion);