@kya-os/create-mcpi-app 1.8.4 → 1.8.6
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.
|
@@ -0,0 +1,475 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
> @kya-os/create-mcpi-app@1.8.5 test:coverage /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
|
|
4
|
+
> vitest run --coverage
|
|
5
|
+
|
|
6
|
+
[?25l
|
|
7
|
+
[1m[46m RUN [49m[22m [36mv4.0.5 [39m[90m/Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app[39m
|
|
8
|
+
[2mCoverage enabled with [22m[33mv8[39m
|
|
9
|
+
|
|
10
|
+
[?2026h
|
|
11
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m [queued][22m
|
|
12
|
+
|
|
13
|
+
[2m Test Files [22m[1m[32m0 passed[39m[22m[90m (14)[39m
|
|
14
|
+
[2m Tests [22m[1m[32m0 passed[39m[22m[90m (0)[39m
|
|
15
|
+
[2m Start at [22m01:06:59
|
|
16
|
+
[2m Duration [22m303ms
|
|
17
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
18
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m [queued][22m
|
|
19
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m [queued][22m
|
|
20
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m [queued][22m
|
|
21
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m [queued][22m
|
|
22
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/session-management.test.ts[2m [queued][22m
|
|
23
|
+
|
|
24
|
+
[2m Test Files [22m[1m[32m0 passed[39m[22m[90m (14)[39m
|
|
25
|
+
[2m Tests [22m[1m[32m0 passed[39m[22m[90m (0)[39m
|
|
26
|
+
[2m Start at [22m01:06:59
|
|
27
|
+
[2m Duration [22m508ms
|
|
28
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[90mstdout[2m | test-cloudflare/tests/session-management.test.ts[2m > [22m[2mSession Management[2m > [22m[2mSession Security[2m > [22m[2mshould not expose session data in logs
|
|
29
|
+
[22m[39m[Session] Created session: secure-session
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m [queued][22m
|
|
33
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m [queued][22m
|
|
34
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m [queued][22m
|
|
35
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m [queued][22m
|
|
36
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m [queued][22m
|
|
37
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m [queued][22m
|
|
38
|
+
[1m[33m ❯ [39m[22msrc/__tests__/scaffolder-envprefix.test.ts[2m [queued][22m
|
|
39
|
+
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m [queued][22m
|
|
40
|
+
[1m[33m ❯ [39m[22msrc/utils/__tests__/fetch-remote-config.test.ts[2m [queued][22m
|
|
41
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/cache-invalidation.test.ts[2m [queued][22m
|
|
42
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/delegation.test.ts[2m [queued][22m
|
|
43
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m [queued][22m
|
|
44
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/session-management.test.ts[2m 1/17[22m
|
|
45
|
+
|
|
46
|
+
[2m Test Files [22m[1m[32m0 passed[39m[22m[90m (14)[39m
|
|
47
|
+
[2m Tests [22m[1m[32m1 passed[39m[22m[90m (17)[39m
|
|
48
|
+
[2m Start at [22m01:06:59
|
|
49
|
+
[2m Duration [22m609ms
|
|
50
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K [32m✓[39m test-cloudflare/tests/session-management.test.ts [2m([22m[2m17 tests[22m[2m)[22m[32m 26[2mms[22m[39m
|
|
51
|
+
[32m✓[39m src/utils/__tests__/fetch-remote-config.test.ts [2m([22m[2m9 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
52
|
+
|
|
53
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 0/30[22m
|
|
54
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m [queued][22m
|
|
55
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m 0/25[22m
|
|
56
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m 0/24[22m
|
|
57
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m [queued][22m
|
|
58
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m [queued][22m
|
|
59
|
+
[1m[33m ❯ [39m[22msrc/__tests__/scaffolder-envprefix.test.ts[2m [queued][22m
|
|
60
|
+
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m [queued][22m
|
|
61
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/cache-invalidation.test.ts[2m 0/18[22m
|
|
62
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/delegation.test.ts[2m 0/12[22m
|
|
63
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m 0/14[22m
|
|
64
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/session-management.test.ts[2m 17/17[22m
|
|
65
|
+
|
|
66
|
+
[2m Test Files [22m[1m[32m2 passed[39m[22m[90m (14)[39m
|
|
67
|
+
[2m Tests [22m[1m[32m26 passed[39m[22m[90m (149)[39m
|
|
68
|
+
[2m Start at [22m01:06:59
|
|
69
|
+
[2m Duration [22m710ms
|
|
70
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould include envPrefix in generated index.ts
|
|
71
|
+
[22m[39m
|
|
72
|
+
🏗️ Generating Cloudflare MCP-I project: test-agent...
|
|
73
|
+
|
|
74
|
+
[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould include envPrefix in generated index.ts
|
|
75
|
+
[22m[39m🔑 Generating cryptographic identity...
|
|
76
|
+
|
|
77
|
+
[32m✓[39m test-cloudflare/tests/delegation.test.ts [2m([22m[2m12 tests[22m[2m)[22m[32m 9[2mms[22m[39m
|
|
78
|
+
[32m✓[39m test-cloudflare/tests/cache-invalidation.test.ts [2m([22m[2m18 tests[22m[2m)[22m[32m 87[2mms[22m[39m
|
|
79
|
+
|
|
80
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 1/30[22m
|
|
81
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m [queued][22m
|
|
82
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m 0/25[22m
|
|
83
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m 17/24[22m
|
|
84
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m [queued][22m
|
|
85
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m 0/23[22m
|
|
86
|
+
[1m[33m ❯ [39m[22msrc/__tests__/scaffolder-envprefix.test.ts[2m 0/4[22m
|
|
87
|
+
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m 0/12[22m
|
|
88
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m 1/14[22m
|
|
89
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/session-management.test.ts[2m 17/17[22m
|
|
90
|
+
|
|
91
|
+
[2m Test Files [22m[1m[32m4 passed[39m[22m[90m (14)[39m
|
|
92
|
+
[2m Tests [22m[1m[32m75 passed[39m[22m[90m (188)[39m
|
|
93
|
+
[2m Start at [22m01:06:59
|
|
94
|
+
[2m Duration [22m838ms
|
|
95
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould include envPrefix in generated index.ts
|
|
96
|
+
[22m[39m✔ Created Cloudflare MCP-I template files
|
|
97
|
+
- Generated identity keys in .dev.vars
|
|
98
|
+
- Configured wrangler.toml with KV namespaces
|
|
99
|
+
- Created modular tool structure
|
|
100
|
+
- Created setup script for KV namespace creation
|
|
101
|
+
|
|
102
|
+
============================================================
|
|
103
|
+
🎉 Cloudflare MCP-I project created successfully!
|
|
104
|
+
============================================================
|
|
105
|
+
|
|
106
|
+
📝 Important Configuration Notes:
|
|
107
|
+
|
|
108
|
+
1. ADMIN_API_KEY (in .dev.vars):
|
|
109
|
+
- Set to same value as AGENTSHIELD_API_KEY for convenience
|
|
110
|
+
- You can change it if you need separate admin endpoint security
|
|
111
|
+
- Required for admin endpoints like /admin/clear-cache
|
|
112
|
+
|
|
113
|
+
2. KV Namespaces (in wrangler.toml):
|
|
114
|
+
- Required for MCP-I security features
|
|
115
|
+
- Auto-created by 'npm run setup' script
|
|
116
|
+
- Check wrangler.toml for 'TODO_REPLACE_WITH_ID' if setup failed
|
|
117
|
+
|
|
118
|
+
🚀 Next Steps:
|
|
119
|
+
cd test-agent
|
|
120
|
+
|
|
121
|
+
[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould include envPrefix in generated index.ts
|
|
122
|
+
[22m[39m wrangler login # Login to Cloudflare first!
|
|
123
|
+
npm run setup # Create KV namespaces
|
|
124
|
+
npm run dev # Start local development
|
|
125
|
+
npm run deploy # Deploy to Cloudflare
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 4/30[22m
|
|
130
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 1/21[22m
|
|
131
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m 0/20[22m
|
|
132
|
+
[1m[33m ❯ [39m[22msrc/__tests__/scaffolder-envprefix.test.ts[2m 1/4[22m
|
|
133
|
+
|
|
134
|
+
[2m Test Files [22m[1m[32m10 passed[39m[22m[90m (14)[39m
|
|
135
|
+
[2m Tests [22m[1m[32m189 passed[39m[22m[90m (258)[39m
|
|
136
|
+
[2m Start at [22m01:06:59
|
|
137
|
+
[2m Duration [22m938ms
|
|
138
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[90mstderr[2m | src/helpers/__tests__/config-builder.spec.ts[2m > [22m[2mbuildConfigWithRemote[2m > [22m[2mshould fallback to local config when remote fetch fails
|
|
139
|
+
[22m[39m[RemoteConfig] Neither projectId nor agentDid provided
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 4/30[22m
|
|
143
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 1/21[22m
|
|
144
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m 0/20[22m
|
|
145
|
+
[1m[33m ❯ [39m[22msrc/__tests__/scaffolder-envprefix.test.ts[2m 1/4[22m
|
|
146
|
+
|
|
147
|
+
[2m Test Files [22m[1m[32m10 passed[39m[22m[90m (14)[39m
|
|
148
|
+
[2m Tests [22m[1m[32m189 passed[39m[22m[90m (258)[39m
|
|
149
|
+
[2m Start at [22m01:06:59
|
|
150
|
+
[2m Duration [22m938ms
|
|
151
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K [32m✓[39m src/__tests__/helpers/generate-identity.test.ts [2m([22m[2m24 tests[22m[2m)[22m[32m 139[2mms[22m[39m
|
|
152
|
+
[32m✓[39m src/__tests__/helpers/generate-config.test.ts [2m([22m[2m25 tests[22m[2m)[22m[32m 76[2mms[22m[39m
|
|
153
|
+
[32m✓[39m src/helpers/__tests__/config-builder.spec.ts [2m([22m[2m12 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
154
|
+
[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould use correct prefix format (uppercase with underscores)
|
|
155
|
+
[22m[39m
|
|
156
|
+
🏗️ Generating Cloudflare MCP-I project: my-awesome-agent...
|
|
157
|
+
|
|
158
|
+
[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould use correct prefix format (uppercase with underscores)
|
|
159
|
+
[22m[39m🔑 Generating cryptographic identity...
|
|
160
|
+
|
|
161
|
+
[32m✓[39m src/__tests__/helpers/validate-project-structure.test.ts [2m([22m[2m23 tests[22m[2m)[22m[32m 80[2mms[22m[39m
|
|
162
|
+
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mDependency installation[2m > [22m[2mshould install dependencies with npm
|
|
163
|
+
[22m[39m
|
|
164
|
+
📦 Installing dependencies with npm...
|
|
165
|
+
✓ Lockfile created (package-lock.json) - remember to commit it
|
|
166
|
+
|
|
167
|
+
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mDependency installation[2m > [22m[2mshould install dependencies with yarn
|
|
168
|
+
[22m[39m
|
|
169
|
+
📦 Installing dependencies with yarn...
|
|
170
|
+
✓ Lockfile created (yarn.lock) - remember to commit it
|
|
171
|
+
|
|
172
|
+
[32m✓[39m test-cloudflare/tests/do-routing.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 277[2mms[22m[39m
|
|
173
|
+
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mDependency installation[2m > [22m[2mshould install dependencies with pnpm
|
|
174
|
+
[22m[39m
|
|
175
|
+
📦 Installing dependencies with pnpm...
|
|
176
|
+
✓ Lockfile created (pnpm-lock.yaml) - remember to commit it
|
|
177
|
+
|
|
178
|
+
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mDependency installation[2m > [22m[2mshould use correct working directory
|
|
179
|
+
[22m[39m
|
|
180
|
+
📦 Installing dependencies with npm...
|
|
181
|
+
✓ Lockfile created (package-lock.json) - remember to commit it
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 4/30[22m
|
|
185
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 1/21[22m
|
|
186
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m 0/20[22m
|
|
187
|
+
[1m[33m ❯ [39m[22msrc/__tests__/scaffolder-envprefix.test.ts[2m 1/4[22m
|
|
188
|
+
|
|
189
|
+
[2m Test Files [22m[1m[32m10 passed[39m[22m[90m (14)[39m
|
|
190
|
+
[2m Tests [22m[1m[32m189 passed[39m[22m[90m (258)[39m
|
|
191
|
+
[2m Start at [22m01:06:59
|
|
192
|
+
[2m Duration [22m938ms
|
|
193
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[90mstderr[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mInstall progress reporting[2m > [22m[2mshould report correct package manager in log
|
|
194
|
+
[22m[39m⚠️ Warning: No lockfile generated (pnpm-lock.yaml)
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 4/30[22m
|
|
198
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 1/21[22m
|
|
199
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m 0/20[22m
|
|
200
|
+
[1m[33m ❯ [39m[22msrc/__tests__/scaffolder-envprefix.test.ts[2m 1/4[22m
|
|
201
|
+
|
|
202
|
+
[2m Test Files [22m[1m[32m10 passed[39m[22m[90m (14)[39m
|
|
203
|
+
[2m Tests [22m[1m[32m189 passed[39m[22m[90m (258)[39m
|
|
204
|
+
[2m Start at [22m01:06:59
|
|
205
|
+
[2m Duration [22m938ms
|
|
206
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mInstall progress reporting[2m > [22m[2mshould check for lockfile after installation
|
|
207
|
+
[22m[39m
|
|
208
|
+
📦 Installing dependencies with npm...
|
|
209
|
+
✓ Lockfile created (package-lock.json) - remember to commit it
|
|
210
|
+
|
|
211
|
+
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mError handling[2m > [22m[2mshould throw error when installation fails
|
|
212
|
+
[22m[39m
|
|
213
|
+
📦 Installing dependencies with npm...
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 4/30[22m
|
|
217
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 1/21[22m
|
|
218
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m 0/20[22m
|
|
219
|
+
[1m[33m ❯ [39m[22msrc/__tests__/scaffolder-envprefix.test.ts[2m 1/4[22m
|
|
220
|
+
|
|
221
|
+
[2m Test Files [22m[1m[32m10 passed[39m[22m[90m (14)[39m
|
|
222
|
+
[2m Tests [22m[1m[32m189 passed[39m[22m[90m (258)[39m
|
|
223
|
+
[2m Start at [22m01:06:59
|
|
224
|
+
[2m Duration [22m938ms
|
|
225
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[90mstderr[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mError handling[2m > [22m[2mshould throw error when installation fails
|
|
226
|
+
[22m[39mFailed to install dependencies with npm.
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 4/30[22m
|
|
230
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 1/21[22m
|
|
231
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m 0/20[22m
|
|
232
|
+
[1m[33m ❯ [39m[22msrc/__tests__/scaffolder-envprefix.test.ts[2m 1/4[22m
|
|
233
|
+
|
|
234
|
+
[2m Test Files [22m[1m[32m10 passed[39m[22m[90m (14)[39m
|
|
235
|
+
[2m Tests [22m[1m[32m189 passed[39m[22m[90m (258)[39m
|
|
236
|
+
[2m Start at [22m01:06:59
|
|
237
|
+
[2m Duration [22m938ms
|
|
238
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould use correct prefix format (uppercase with underscores)
|
|
239
|
+
[22m[39m✔ Created Cloudflare MCP-I template files
|
|
240
|
+
- Generated identity keys in .dev.vars
|
|
241
|
+
- Configured wrangler.toml with KV namespaces
|
|
242
|
+
- Created modular tool structure
|
|
243
|
+
- Created setup script for KV namespace creation
|
|
244
|
+
|
|
245
|
+
============================================================
|
|
246
|
+
🎉 Cloudflare MCP-I project created successfully!
|
|
247
|
+
============================================================
|
|
248
|
+
|
|
249
|
+
📝 Important Configuration Notes:
|
|
250
|
+
|
|
251
|
+
1. ADMIN_API_KEY (in .dev.vars):
|
|
252
|
+
- Set to same value as AGENTSHIELD_API_KEY for convenience
|
|
253
|
+
- You can change it if you need separate admin endpoint security
|
|
254
|
+
- Required for admin endpoints like /admin/clear-cache
|
|
255
|
+
|
|
256
|
+
2. KV Namespaces (in wrangler.toml):
|
|
257
|
+
- Required for MCP-I security features
|
|
258
|
+
- Auto-created by 'npm run setup' script
|
|
259
|
+
- Check wrangler.toml for 'TODO_REPLACE_WITH_ID' if setup failed
|
|
260
|
+
|
|
261
|
+
🚀 Next Steps:
|
|
262
|
+
cd my-awesome-agent
|
|
263
|
+
|
|
264
|
+
[32m✓[39m test-cloudflare/tests/cors-security.test.ts [2m([22m[2m29 tests[22m[2m)[22m[32m 14[2mms[22m[39m
|
|
265
|
+
[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould use correct prefix format (uppercase with underscores)
|
|
266
|
+
[22m[39m wrangler login # Login to Cloudflare first!
|
|
267
|
+
npm run setup # Create KV namespaces
|
|
268
|
+
npm run dev # Start local development
|
|
269
|
+
npm run deploy # Deploy to Cloudflare
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mError handling[2m > [22m[2mshould handle network errors during installation
|
|
273
|
+
[22m[39m
|
|
274
|
+
📦 Installing dependencies with npm...
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 4/30[22m
|
|
278
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 1/21[22m
|
|
279
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m 0/20[22m
|
|
280
|
+
[1m[33m ❯ [39m[22msrc/__tests__/scaffolder-envprefix.test.ts[2m 1/4[22m
|
|
281
|
+
|
|
282
|
+
[2m Test Files [22m[1m[32m10 passed[39m[22m[90m (14)[39m
|
|
283
|
+
[2m Tests [22m[1m[32m189 passed[39m[22m[90m (258)[39m
|
|
284
|
+
[2m Start at [22m01:06:59
|
|
285
|
+
[2m Duration [22m938ms
|
|
286
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[90mstderr[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mError handling[2m > [22m[2mshould handle network errors during installation
|
|
287
|
+
[22m[39mFailed to install dependencies with npm.
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 4/30[22m
|
|
291
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 1/21[22m
|
|
292
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m 0/20[22m
|
|
293
|
+
[1m[33m ❯ [39m[22msrc/__tests__/scaffolder-envprefix.test.ts[2m 1/4[22m
|
|
294
|
+
|
|
295
|
+
[2m Test Files [22m[1m[32m10 passed[39m[22m[90m (14)[39m
|
|
296
|
+
[2m Tests [22m[1m[32m189 passed[39m[22m[90m (258)[39m
|
|
297
|
+
[2m Start at [22m01:06:59
|
|
298
|
+
[2m Duration [22m938ms
|
|
299
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mError handling[2m > [22m[2mshould handle permission errors during installation
|
|
300
|
+
[22m[39m
|
|
301
|
+
📦 Installing dependencies with npm...
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 7/30[22m
|
|
305
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 2/21[22m
|
|
306
|
+
|
|
307
|
+
[2m Test Files [22m[1m[32m12 passed[39m[22m[90m (14)[39m
|
|
308
|
+
[2m Tests [22m[1m[32m216 passed[39m[22m[90m (258)[39m
|
|
309
|
+
[2m Start at [22m01:06:59
|
|
310
|
+
[2m Duration [22m1.14s
|
|
311
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[90mstderr[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mError handling[2m > [22m[2mshould handle permission errors during installation
|
|
312
|
+
[22m[39mFailed to install dependencies with npm.
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 7/30[22m
|
|
316
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 2/21[22m
|
|
317
|
+
|
|
318
|
+
[2m Test Files [22m[1m[32m12 passed[39m[22m[90m (14)[39m
|
|
319
|
+
[2m Tests [22m[1m[32m216 passed[39m[22m[90m (258)[39m
|
|
320
|
+
[2m Start at [22m01:06:59
|
|
321
|
+
[2m Duration [22m1.14s
|
|
322
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mError handling[2m > [22m[2mshould log error message when installation fails
|
|
323
|
+
[22m[39m
|
|
324
|
+
📦 Installing dependencies with npm...
|
|
325
|
+
|
|
326
|
+
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mError handling[2m > [22m[2mshould handle invalid package manager gracefully
|
|
327
|
+
[22m[39m
|
|
328
|
+
📦 Installing dependencies with unknown...
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 7/30[22m
|
|
332
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 2/21[22m
|
|
333
|
+
|
|
334
|
+
[2m Test Files [22m[1m[32m12 passed[39m[22m[90m (14)[39m
|
|
335
|
+
[2m Tests [22m[1m[32m216 passed[39m[22m[90m (258)[39m
|
|
336
|
+
[2m Start at [22m01:06:59
|
|
337
|
+
[2m Duration [22m1.14s
|
|
338
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[90mstderr[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mError handling[2m > [22m[2mshould handle invalid package manager gracefully
|
|
339
|
+
[22m[39m⚠️ Warning: Unknown package manager "unknown", cannot check lockfile
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 7/30[22m
|
|
343
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 2/21[22m
|
|
344
|
+
|
|
345
|
+
[2m Test Files [22m[1m[32m12 passed[39m[22m[90m (14)[39m
|
|
346
|
+
[2m Tests [22m[1m[32m216 passed[39m[22m[90m (258)[39m
|
|
347
|
+
[2m Start at [22m01:06:59
|
|
348
|
+
[2m Duration [22m1.14s
|
|
349
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mLockfile validation[2m > [22m[2mshould warn when lockfile not created
|
|
350
|
+
[22m[39m
|
|
351
|
+
📦 Installing dependencies with npm...
|
|
352
|
+
|
|
353
|
+
[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould include comment explaining envPrefix purpose
|
|
354
|
+
[22m[39m
|
|
355
|
+
🏗️ Generating Cloudflare MCP-I project: test-agent...
|
|
356
|
+
|
|
357
|
+
[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould include comment explaining envPrefix purpose
|
|
358
|
+
[22m[39m🔑 Generating cryptographic identity...
|
|
359
|
+
|
|
360
|
+
[32m✓[39m src/__tests__/helpers/install.test.ts [2m([22m[2m20 tests[22m[2m)[22m[32m 84[2mms[22m[39m
|
|
361
|
+
[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould include comment explaining envPrefix purpose
|
|
362
|
+
[22m[39m✔ Created Cloudflare MCP-I template files
|
|
363
|
+
- Generated identity keys in .dev.vars
|
|
364
|
+
- Configured wrangler.toml with KV namespaces
|
|
365
|
+
- Created modular tool structure
|
|
366
|
+
- Created setup script for KV namespace creation
|
|
367
|
+
|
|
368
|
+
============================================================
|
|
369
|
+
🎉 Cloudflare MCP-I project created successfully!
|
|
370
|
+
============================================================
|
|
371
|
+
|
|
372
|
+
📝 Important Configuration Notes:
|
|
373
|
+
|
|
374
|
+
1. ADMIN_API_KEY (in .dev.vars):
|
|
375
|
+
- Set to same value as AGENTSHIELD_API_KEY for convenience
|
|
376
|
+
- You can change it if you need separate admin endpoint security
|
|
377
|
+
- Required for admin endpoints like /admin/clear-cache
|
|
378
|
+
|
|
379
|
+
2. KV Namespaces (in wrangler.toml):
|
|
380
|
+
- Required for MCP-I security features
|
|
381
|
+
- Auto-created by 'npm run setup' script
|
|
382
|
+
- Check wrangler.toml for 'TODO_REPLACE_WITH_ID' if setup failed
|
|
383
|
+
|
|
384
|
+
🚀 Next Steps:
|
|
385
|
+
cd test-agent
|
|
386
|
+
|
|
387
|
+
[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould include comment explaining envPrefix purpose
|
|
388
|
+
[22m[39m wrangler login # Login to Cloudflare first!
|
|
389
|
+
npm run setup # Create KV namespaces
|
|
390
|
+
npm run dev # Start local development
|
|
391
|
+
npm run deploy # Deploy to Cloudflare
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould match envPrefix with KV binding names in wrangler.toml
|
|
395
|
+
[22m[39m
|
|
396
|
+
🏗️ Generating Cloudflare MCP-I project: test-agent...
|
|
397
|
+
|
|
398
|
+
[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould match envPrefix with KV binding names in wrangler.toml
|
|
399
|
+
[22m[39m🔑 Generating cryptographic identity...
|
|
400
|
+
|
|
401
|
+
[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould match envPrefix with KV binding names in wrangler.toml
|
|
402
|
+
[22m[39m✔ Created Cloudflare MCP-I template files
|
|
403
|
+
- Generated identity keys in .dev.vars
|
|
404
|
+
- Configured wrangler.toml with KV namespaces
|
|
405
|
+
- Created modular tool structure
|
|
406
|
+
- Created setup script for KV namespace creation
|
|
407
|
+
|
|
408
|
+
============================================================
|
|
409
|
+
🎉 Cloudflare MCP-I project created successfully!
|
|
410
|
+
============================================================
|
|
411
|
+
|
|
412
|
+
📝 Important Configuration Notes:
|
|
413
|
+
|
|
414
|
+
1. ADMIN_API_KEY (in .dev.vars):
|
|
415
|
+
- Set to same value as AGENTSHIELD_API_KEY for convenience
|
|
416
|
+
- You can change it if you need separate admin endpoint security
|
|
417
|
+
- Required for admin endpoints like /admin/clear-cache
|
|
418
|
+
|
|
419
|
+
2. KV Namespaces (in wrangler.toml):
|
|
420
|
+
- Required for MCP-I security features
|
|
421
|
+
- Auto-created by 'npm run setup' script
|
|
422
|
+
- Check wrangler.toml for 'TODO_REPLACE_WITH_ID' if setup failed
|
|
423
|
+
|
|
424
|
+
🚀 Next Steps:
|
|
425
|
+
cd test-agent
|
|
426
|
+
|
|
427
|
+
[90mstdout[2m | src/__tests__/scaffolder-envprefix.test.ts[2m > [22m[2mScaffolder envPrefix Configuration[2m > [22m[2mshould match envPrefix with KV binding names in wrangler.toml
|
|
428
|
+
[22m[39m wrangler login # Login to Cloudflare first!
|
|
429
|
+
npm run setup # Create KV namespaces
|
|
430
|
+
npm run dev # Start local development
|
|
431
|
+
npm run deploy # Deploy to Cloudflare
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
[32m✓[39m src/__tests__/scaffolder-envprefix.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 283[2mms[22m[39m
|
|
435
|
+
|
|
436
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 7/30[22m
|
|
437
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 2/21[22m
|
|
438
|
+
|
|
439
|
+
[2m Test Files [22m[1m[32m12 passed[39m[22m[90m (14)[39m
|
|
440
|
+
[2m Tests [22m[1m[32m216 passed[39m[22m[90m (258)[39m
|
|
441
|
+
[2m Start at [22m01:06:59
|
|
442
|
+
[2m Duration [22m1.14s
|
|
443
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
444
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 16/30[22m
|
|
445
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 10/21[22m
|
|
446
|
+
|
|
447
|
+
[2m Test Files [22m[1m[32m12 passed[39m[22m[90m (14)[39m
|
|
448
|
+
[2m Tests [22m[1m[32m233 passed[39m[22m[90m (258)[39m
|
|
449
|
+
[2m Start at [22m01:06:59
|
|
450
|
+
[2m Duration [22m1.24s
|
|
451
|
+
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
452
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 17/30[22m
|
|
453
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 12/21[22m
|
|
454
|
+
|
|
455
|
+
[2m Test Files [22m[1m[32m12 passed[39m[22m[90m (14)[39m
|
|
456
|
+
[2m Tests [22m[1m[32m236 passed[39m[22m[90m (258)[39m
|
|
457
|
+
[2m Start at [22m01:06:59
|
|
458
|
+
[2m Duration [22m1.47s
|
|
459
|
+
[?2026l[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K [32m✓[39m src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [2m([22m[2m21 tests[22m[2m)[22m[33m 581[2mms[22m[39m
|
|
460
|
+
[32m✓[39m src/__tests__/cloudflare-template.test.ts [2m([22m[2m30 tests[22m[2m | [22m[33m2 skipped[39m[2m)[22m[33m 791[2mms[22m[39m
|
|
461
|
+
|
|
462
|
+
[2m Test Files [22m [1m[32m14 passed[39m[22m[90m (14)[39m
|
|
463
|
+
[2m Tests [22m [1m[32m256 passed[39m[22m[2m | [22m[33m2 skipped[39m[90m (258)[39m
|
|
464
|
+
[2m Start at [22m 01:06:58
|
|
465
|
+
[2m Duration [22m 1.76s[2m (transform 1.66s, setup 0ms, collect 3.17s, tests 2.46s, environment 25ms, prepare 777ms)[22m
|
|
466
|
+
|
|
467
|
+
[34m % [39m[2mCoverage report from [22m[33mv8[39m
|
|
468
|
+
|
|
469
|
+
=============================== Coverage summary ===============================
|
|
470
|
+
[31;1mStatements : 25.83% ( 216/836 )[0m
|
|
471
|
+
[31;1mBranches : 23.77% ( 102/429 )[0m
|
|
472
|
+
[31;1mFunctions : 30.5% ( 18/59 )[0m
|
|
473
|
+
[31;1mLines : 26.02% ( 216/830 )[0m
|
|
474
|
+
================================================================================
|
|
475
|
+
[?25h
|
|
@@ -80,7 +80,7 @@ export async function fetchCloudflareMcpiTemplate(targetDir, options) {
|
|
|
80
80
|
"kv:create-tool-protection": `wrangler kv:namespace create ${projectNameUpper}_${KV_BINDING_NAMES[4]}`,
|
|
81
81
|
},
|
|
82
82
|
dependencies: {
|
|
83
|
-
"@kya-os/mcp-i-cloudflare": "1.6.
|
|
83
|
+
"@kya-os/mcp-i-cloudflare": "1.6.6",
|
|
84
84
|
"@modelcontextprotocol/sdk": "1.22.0",
|
|
85
85
|
agents: "0.2.21",
|
|
86
86
|
hono: "4.6.3",
|
|
@@ -657,7 +657,7 @@ dist
|
|
|
657
657
|
await runCommand(packageManager, ["install"], targetDir);
|
|
658
658
|
// 13a. Verify installed version matches expected version
|
|
659
659
|
console.log(chalk.blue("\n🔍 Verifying package versions..."));
|
|
660
|
-
const expectedVersion = "1.6.
|
|
660
|
+
const expectedVersion = "1.6.6";
|
|
661
661
|
try {
|
|
662
662
|
const installedPackagePath = path.join(targetDir, "node_modules", "@kya-os", "mcp-i-cloudflare", "package.json");
|
|
663
663
|
if (fs.existsSync(installedPackagePath)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kya-os/create-mcpi-app",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.6",
|
|
4
4
|
"description": "Scaffold a new MCP-I application",
|
|
5
5
|
"bin": {
|
|
6
6
|
"create-mcpi-app": "./dist/index.js"
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"@kya-os/cli-effects": "^1.0.19",
|
|
19
19
|
"@kya-os/contracts": "^1.6.1",
|
|
20
20
|
"@kya-os/mcp-i": "^1.6.1",
|
|
21
|
-
"@kya-os/mcp-i-cloudflare": "^1.6.
|
|
21
|
+
"@kya-os/mcp-i-cloudflare": "^1.6.6",
|
|
22
22
|
"base-x": "^5.0.0",
|
|
23
23
|
"chalk": "^4.1.2",
|
|
24
24
|
"commander": "^12.1.0",
|