@kya-os/create-mcpi-app 1.7.38 → 1.7.39-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-test$colon$coverage.log +230 -607
- package/.turbo/turbo-test.log +91 -127
- package/dist/helpers/config-builder.d.ts +4 -10
- package/dist/helpers/config-builder.d.ts.map +1 -1
- package/dist/helpers/config-builder.js +7 -64
- package/dist/helpers/config-builder.js.map +1 -1
- package/package.json +5 -3
|
@@ -9,15 +9,13 @@
|
|
|
9
9
|
[37m 15 │ [32m"types"[37m: "./dist/index.d.ts"
|
|
10
10
|
╵ [32m~~~~~~~[0m
|
|
11
11
|
|
|
12
|
-
The "import" condition comes earlier and will be used for all "import"
|
|
13
|
-
statements:
|
|
12
|
+
The "import" condition comes earlier and will be used for all "import" statements:
|
|
14
13
|
|
|
15
14
|
package.json:13:6:
|
|
16
15
|
[37m 13 │ [32m"import"[37m: "./dist/index.js",
|
|
17
16
|
╵ [32m~~~~~~~~[0m
|
|
18
17
|
|
|
19
|
-
The "require" condition comes earlier and will be used for all "require"
|
|
20
|
-
calls:
|
|
18
|
+
The "require" condition comes earlier and will be used for all "require" calls:
|
|
21
19
|
|
|
22
20
|
package.json:14:6:
|
|
23
21
|
[37m 14 │ [32m"require"[37m: "./dist/index.js",
|
|
@@ -29,15 +27,13 @@
|
|
|
29
27
|
[37m 20 │ [32m"types"[37m: "./dist/helpers/config-builder.d.ts"
|
|
30
28
|
╵ [32m~~~~~~~[0m
|
|
31
29
|
|
|
32
|
-
The "import" condition comes earlier and will be used for all "import"
|
|
33
|
-
statements:
|
|
30
|
+
The "import" condition comes earlier and will be used for all "import" statements:
|
|
34
31
|
|
|
35
32
|
package.json:18:6:
|
|
36
33
|
[37m 18 │ [32m"import"[37m: "./dist/helpers/config-builder.js",
|
|
37
34
|
╵ [32m~~~~~~~~[0m
|
|
38
35
|
|
|
39
|
-
The "require" condition comes earlier and will be used for all "require"
|
|
40
|
-
calls:
|
|
36
|
+
The "require" condition comes earlier and will be used for all "require" calls:
|
|
41
37
|
|
|
42
38
|
package.json:19:6:
|
|
43
39
|
[37m 19 │ [32m"require"[37m: "./dist/helpers/config-builder.js",
|
|
@@ -48,708 +44,335 @@
|
|
|
48
44
|
[2mCoverage enabled with [22m[33mv8[39m
|
|
49
45
|
|
|
50
46
|
[?2026h
|
|
51
|
-
[1m[33m ❯ [39m[
|
|
47
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/session-management.test.ts[2m [queued][22m
|
|
52
48
|
|
|
53
49
|
[2m Test Files [22m[1m[32m0 passed[39m[22m[90m (13)[39m
|
|
54
50
|
[2m Tests [22m[1m[32m0 passed[39m[22m[90m (0)[39m
|
|
55
|
-
[2m Start at [22m05:
|
|
56
|
-
[2m Duration [
|
|
57
|
-
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K
|
|
51
|
+
[2m Start at [22m05:49:13
|
|
52
|
+
[2m Duration [22m314ms
|
|
53
|
+
[?2026l[?2026h[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
|
|
54
|
+
[22m[39m[Session] Created session: secure-session
|
|
55
|
+
|
|
56
|
+
|
|
58
57
|
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m [queued][22m
|
|
58
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m [queued][22m
|
|
59
59
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m [queued][22m
|
|
60
60
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m [queued][22m
|
|
61
61
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m [queued][22m
|
|
62
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m [queued][22m
|
|
63
|
-
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m [queued][22m
|
|
64
62
|
[1m[33m ❯ [39m[22msrc/utils/__tests__/fetch-remote-config.test.ts[2m [queued][22m
|
|
65
63
|
[1m[33m ❯ [39m[22mtest-cloudflare/tests/cache-invalidation.test.ts[2m [queued][22m
|
|
66
|
-
[1m[33m ❯ [39m[22mtest-cloudflare/tests/
|
|
67
|
-
[1m[33m ❯ [39m[22mtest-cloudflare/tests/
|
|
64
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/cors-security.test.ts[2m 0/29[22m
|
|
65
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/delegation.test.ts[2m 0/12[22m
|
|
66
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/session-management.test.ts[2m 0/17[22m
|
|
68
67
|
|
|
69
68
|
[2m Test Files [22m[1m[32m0 passed[39m[22m[90m (13)[39m
|
|
70
|
-
[2m Tests [22m[1m[32m0 passed[39m[22m[90m (
|
|
71
|
-
[2m Start at [22m05:
|
|
72
|
-
[2m Duration [
|
|
73
|
-
[?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[
|
|
74
|
-
[22m[39m
|
|
75
|
-
|
|
76
|
-
✓ Lockfile created (package-lock.json) - remember to commit it
|
|
77
|
-
|
|
78
|
-
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mDependency installation[2m > [22m[2mshould install dependencies with yarn
|
|
79
|
-
[22m[39m
|
|
80
|
-
📦 Installing dependencies with yarn...
|
|
81
|
-
✓ Lockfile created (yarn.lock) - remember to commit it
|
|
69
|
+
[2m Tests [22m[1m[32m0 passed[39m[22m[90m (58)[39m
|
|
70
|
+
[2m Start at [22m05:49:13
|
|
71
|
+
[2m Duration [22m422ms
|
|
72
|
+
[?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 [32m✓[39m test-cloudflare/tests/delegation.test.ts [2m([22m[2m12 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
73
|
+
[32m✓[39m test-cloudflare/tests/cors-security.test.ts [2m([22m[2m29 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
74
|
+
[32m✓[39m test-cloudflare/tests/session-management.test.ts [2m([22m[2m17 tests[22m[2m)[22m[32m 29[2mms[22m[39m
|
|
82
75
|
|
|
83
|
-
[
|
|
84
|
-
[
|
|
85
|
-
|
|
86
|
-
|
|
76
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m [queued][22m
|
|
77
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m [queued][22m
|
|
78
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m [queued][22m
|
|
79
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m [queued][22m
|
|
80
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m [queued][22m
|
|
81
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m [queued][22m
|
|
82
|
+
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m [queued][22m
|
|
83
|
+
[1m[33m ❯ [39m[22msrc/utils/__tests__/fetch-remote-config.test.ts[2m [queued][22m
|
|
84
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/cache-invalidation.test.ts[2m 0/18[22m
|
|
85
|
+
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m 0/14[22m
|
|
87
86
|
|
|
88
|
-
[
|
|
89
|
-
[22m[39m
|
|
90
|
-
|
|
91
|
-
|
|
87
|
+
[2m Test Files [22m[1m[32m3 passed[39m[22m[90m (13)[39m
|
|
88
|
+
[2m Tests [22m[1m[32m58 passed[39m[22m[90m (90)[39m
|
|
89
|
+
[2m Start at [22m05:49:13
|
|
90
|
+
[2m Duration [22m529ms
|
|
91
|
+
[?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 [32m✓[39m test-cloudflare/tests/cache-invalidation.test.ts [2m([22m[2m18 tests[22m[2m)[22m[32m 49[2mms[22m[39m
|
|
92
92
|
|
|
93
93
|
|
|
94
94
|
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 0/24[22m
|
|
95
95
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 0/19[22m
|
|
96
96
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m 0/25[22m
|
|
97
97
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m 0/24[22m
|
|
98
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/
|
|
98
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m 0/20[22m
|
|
99
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m [queued][22m
|
|
99
100
|
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m 1/12[22m
|
|
100
101
|
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m 0/14[22m
|
|
101
102
|
|
|
102
|
-
[2m Test Files [22m[1m[
|
|
103
|
-
[2m Tests [22m[1m[
|
|
104
|
-
[2m Start at [22m05:
|
|
105
|
-
[2m Duration [
|
|
106
|
-
[?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[90mstderr[2m | src/__tests__/
|
|
107
|
-
[22m[39m
|
|
103
|
+
[2m Test Files [22m[1m[32m5 passed[39m[22m[90m (13)[39m
|
|
104
|
+
[2m Tests [22m[1m[32m86 passed[39m[22m[90m (223)[39m
|
|
105
|
+
[2m Start at [22m05:49:13
|
|
106
|
+
[2m Duration [22m729ms
|
|
107
|
+
[?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[90mstderr[2m | src/utils/__tests__/fetch-remote-config.test.ts[2m > [22m[2mfetchRemoteConfig[2m > [22m[2mError handling[2m > [22m[2mshould return null if API request fails
|
|
108
|
+
[22m[39m[RemoteConfig] API returned 404: Not Found
|
|
109
|
+
|
|
110
|
+
[90mstderr[2m | src/utils/__tests__/fetch-remote-config.test.ts[2m > [22m[2mfetchRemoteConfig[2m > [22m[2mError handling[2m > [22m[2mshould return null if API throws error
|
|
111
|
+
[22m[39m[RemoteConfig] Failed to fetch config: Error: Network error
|
|
112
|
+
at [90m/Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app/[39msrc/utils/__tests__/fetch-remote-config.test.ts:173:35
|
|
113
|
+
at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:157:11
|
|
114
|
+
at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:753:26
|
|
115
|
+
at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1636:20
|
|
116
|
+
at new Promise (<anonymous>)
|
|
117
|
+
at runWithTimeout (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1602:10)
|
|
118
|
+
at runTest (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1309:12)
|
|
119
|
+
[90m at processTicksAndRejections (node:internal/process/task_queues:103:5)[39m
|
|
120
|
+
at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1468:8)
|
|
121
|
+
at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1468:8)
|
|
122
|
+
|
|
123
|
+
[90mstderr[2m | src/utils/__tests__/fetch-remote-config.test.ts[2m > [22m[2mfetchRemoteConfig[2m > [22m[2mError handling[2m > [22m[2mshould return null if neither projectId nor agentDid provided
|
|
124
|
+
[22m[39m[RemoteConfig] Neither projectId nor agentDid provided
|
|
125
|
+
|
|
126
|
+
[90mstderr[2m | src/utils/__tests__/fetch-remote-config.test.ts[2m > [22m[2mfetchRemoteConfig[2m > [22m[2mError handling[2m > [22m[2mshould handle cache read errors gracefully
|
|
127
|
+
[22m[39m[RemoteConfig] Cache read failed: Error: Cache error
|
|
128
|
+
at [90m/Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app/[39msrc/utils/__tests__/fetch-remote-config.test.ts:201:50
|
|
129
|
+
at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:157:11
|
|
130
|
+
at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:753:26
|
|
131
|
+
at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1636:20
|
|
132
|
+
at new Promise (<anonymous>)
|
|
133
|
+
at runWithTimeout (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1602:10)
|
|
134
|
+
at runTest (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1309:12)
|
|
135
|
+
[90m at processTicksAndRejections (node:internal/process/task_queues:103:5)[39m
|
|
136
|
+
at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1468:8)
|
|
137
|
+
at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1468:8)
|
|
108
138
|
|
|
109
139
|
|
|
110
140
|
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 0/24[22m
|
|
111
141
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 0/19[22m
|
|
112
142
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m 0/25[22m
|
|
113
143
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m 0/24[22m
|
|
114
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/
|
|
144
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m 0/20[22m
|
|
145
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m [queued][22m
|
|
115
146
|
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m 1/12[22m
|
|
116
147
|
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m 0/14[22m
|
|
117
148
|
|
|
118
|
-
[2m Test Files [22m[1m[
|
|
119
|
-
[2m Tests [22m[1m[
|
|
120
|
-
[2m Start at [22m05:
|
|
121
|
-
[2m Duration [
|
|
122
|
-
[?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
|
|
123
|
-
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mInstall progress reporting[2m > [22m[2mshould check for lockfile after installation
|
|
149
|
+
[2m Test Files [22m[1m[32m5 passed[39m[22m[90m (13)[39m
|
|
150
|
+
[2m Tests [22m[1m[32m86 passed[39m[22m[90m (223)[39m
|
|
151
|
+
[2m Start at [22m05:49:13
|
|
152
|
+
[2m Duration [22m729ms
|
|
153
|
+
[?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[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mDependency installation[2m > [22m[2mshould install dependencies with npm
|
|
124
154
|
[22m[39m
|
|
125
155
|
📦 Installing dependencies with npm...
|
|
126
156
|
✓ Lockfile created (package-lock.json) - remember to commit it
|
|
127
157
|
|
|
128
|
-
[
|
|
129
|
-
[22m[39m
|
|
130
|
-
📦 Installing dependencies with npm...
|
|
131
|
-
|
|
158
|
+
[32m✓[39m src/utils/__tests__/fetch-remote-config.test.ts [2m([22m[2m9 tests[22m[2m)[22m[32m 37[2mms[22m[39m
|
|
132
159
|
|
|
133
160
|
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 0/24[22m
|
|
134
161
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 0/19[22m
|
|
135
162
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m 0/25[22m
|
|
136
163
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m 0/24[22m
|
|
137
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/
|
|
164
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m 0/20[22m
|
|
165
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m [queued][22m
|
|
138
166
|
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m 1/12[22m
|
|
139
167
|
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m 0/14[22m
|
|
140
168
|
|
|
141
|
-
[2m Test Files [22m[1m[
|
|
142
|
-
[2m Tests [22m[1m[
|
|
143
|
-
[2m Start at [22m05:
|
|
144
|
-
[2m Duration [
|
|
145
|
-
[?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[90mstderr[2m | src/__tests__/
|
|
146
|
-
[22m[
|
|
169
|
+
[2m Test Files [22m[1m[32m5 passed[39m[22m[90m (13)[39m
|
|
170
|
+
[2m Tests [22m[1m[32m86 passed[39m[22m[90m (223)[39m
|
|
171
|
+
[2m Start at [22m05:49:13
|
|
172
|
+
[2m Duration [22m729ms
|
|
173
|
+
[?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[90mstderr[2m | src/helpers/__tests__/config-builder.spec.ts[2m > [22m[2mbuildConfigWithRemote[2m > [22m[2mshould fallback to local config when remote fetch fails
|
|
174
|
+
[22m[39m[RemoteConfig] Neither projectId nor agentDid provided
|
|
147
175
|
|
|
148
176
|
|
|
149
177
|
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 0/24[22m
|
|
150
178
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 0/19[22m
|
|
151
179
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m 0/25[22m
|
|
152
180
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m 0/24[22m
|
|
153
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/
|
|
181
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m 0/20[22m
|
|
182
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m [queued][22m
|
|
154
183
|
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m 1/12[22m
|
|
155
184
|
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m 0/14[22m
|
|
156
185
|
|
|
157
|
-
[2m Test Files [22m[1m[
|
|
158
|
-
[2m Tests [22m[1m[
|
|
159
|
-
[2m Start at [22m05:
|
|
160
|
-
[2m Duration [
|
|
161
|
-
[?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[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[
|
|
186
|
+
[2m Test Files [22m[1m[32m5 passed[39m[22m[90m (13)[39m
|
|
187
|
+
[2m Tests [22m[1m[32m86 passed[39m[22m[90m (223)[39m
|
|
188
|
+
[2m Start at [22m05:49:13
|
|
189
|
+
[2m Duration [22m729ms
|
|
190
|
+
[?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[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mDependency installation[2m > [22m[2mshould install dependencies with yarn
|
|
191
|
+
[22m[39m
|
|
192
|
+
📦 Installing dependencies with yarn...
|
|
193
|
+
✓ Lockfile created (yarn.lock) - remember to commit it
|
|
194
|
+
|
|
195
|
+
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mDependency installation[2m > [22m[2mshould install dependencies with pnpm
|
|
196
|
+
[22m[39m
|
|
197
|
+
📦 Installing dependencies with pnpm...
|
|
198
|
+
✓ Lockfile created (pnpm-lock.yaml) - remember to commit it
|
|
199
|
+
|
|
200
|
+
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mDependency installation[2m > [22m[2mshould use correct working directory
|
|
162
201
|
[22m[39m
|
|
163
202
|
📦 Installing dependencies with npm...
|
|
203
|
+
✓ Lockfile created (package-lock.json) - remember to commit it
|
|
164
204
|
|
|
165
205
|
|
|
166
206
|
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 0/24[22m
|
|
167
207
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 0/19[22m
|
|
168
208
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m 0/25[22m
|
|
169
209
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m 0/24[22m
|
|
170
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/
|
|
210
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m 0/20[22m
|
|
211
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m [queued][22m
|
|
171
212
|
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m 1/12[22m
|
|
172
213
|
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m 0/14[22m
|
|
173
214
|
|
|
174
|
-
[2m Test Files [22m[1m[
|
|
175
|
-
[2m Tests [22m[1m[
|
|
176
|
-
[2m Start at [22m05:
|
|
177
|
-
[2m Duration [
|
|
178
|
-
[?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[90mstderr[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[
|
|
179
|
-
[22m[
|
|
215
|
+
[2m Test Files [22m[1m[32m5 passed[39m[22m[90m (13)[39m
|
|
216
|
+
[2m Tests [22m[1m[32m86 passed[39m[22m[90m (223)[39m
|
|
217
|
+
[2m Start at [22m05:49:13
|
|
218
|
+
[2m Duration [22m729ms
|
|
219
|
+
[?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[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
|
|
220
|
+
[22m[39m⚠️ Warning: No lockfile generated (pnpm-lock.yaml)
|
|
180
221
|
|
|
181
222
|
|
|
182
223
|
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 0/24[22m
|
|
183
224
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 0/19[22m
|
|
184
225
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m 0/25[22m
|
|
185
226
|
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m 0/24[22m
|
|
186
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/
|
|
227
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/install.test.ts[2m 0/20[22m
|
|
228
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m [queued][22m
|
|
187
229
|
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m 1/12[22m
|
|
188
230
|
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m 0/14[22m
|
|
189
231
|
|
|
190
|
-
[2m Test Files [22m[1m[
|
|
191
|
-
[2m Tests [22m[1m[
|
|
192
|
-
[2m Start at [22m05:
|
|
193
|
-
[2m Duration [
|
|
194
|
-
[?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[
|
|
232
|
+
[2m Test Files [22m[1m[32m5 passed[39m[22m[90m (13)[39m
|
|
233
|
+
[2m Tests [22m[1m[32m86 passed[39m[22m[90m (223)[39m
|
|
234
|
+
[2m Start at [22m05:49:13
|
|
235
|
+
[2m Duration [22m729ms
|
|
236
|
+
[?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 [32m✓[39m src/helpers/__tests__/config-builder.spec.ts [2m([22m[2m12 tests[22m[2m)[22m[32m 22[2mms[22m[39m
|
|
237
|
+
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mInstall progress reporting[2m > [22m[2mshould check for lockfile after installation
|
|
195
238
|
[22m[39m
|
|
196
239
|
📦 Installing dependencies with npm...
|
|
240
|
+
✓ Lockfile created (package-lock.json) - remember to commit it
|
|
197
241
|
|
|
242
|
+
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mError handling[2m > [22m[2mshould throw error when installation fails
|
|
243
|
+
[22m[39m
|
|
244
|
+
📦 Installing dependencies with npm...
|
|
198
245
|
|
|
199
|
-
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 0/24[22m
|
|
200
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 0/19[22m
|
|
201
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m 0/25[22m
|
|
202
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m 0/24[22m
|
|
203
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m 0/23[22m
|
|
204
|
-
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m 1/12[22m
|
|
205
|
-
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m 0/14[22m
|
|
206
246
|
|
|
207
|
-
[
|
|
208
|
-
[
|
|
209
|
-
|
|
210
|
-
[2m
|
|
211
|
-
[
|
|
247
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 5/24[22m
|
|
248
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 2/19[22m
|
|
249
|
+
|
|
250
|
+
[2m Test Files [22m[1m[32m11 passed[39m[22m[90m (13)[39m
|
|
251
|
+
[2m Tests [22m[1m[32m210 passed[39m[22m[90m (246)[39m
|
|
252
|
+
[2m Start at [22m05:49:13
|
|
253
|
+
[2m Duration [22m831ms
|
|
254
|
+
[?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 throw error when installation fails
|
|
212
255
|
[22m[39mFailed to install dependencies with npm.
|
|
213
256
|
|
|
214
257
|
|
|
215
|
-
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m
|
|
216
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m
|
|
217
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m 0/25[22m
|
|
218
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m 0/24[22m
|
|
219
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m 0/23[22m
|
|
220
|
-
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m 1/12[22m
|
|
221
|
-
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m 0/14[22m
|
|
258
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 5/24[22m
|
|
259
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 2/19[22m
|
|
222
260
|
|
|
223
|
-
[2m Test Files [22m[1m[
|
|
224
|
-
[2m Tests [22m[1m[
|
|
225
|
-
[2m Start at [22m05:
|
|
226
|
-
[2m Duration [
|
|
227
|
-
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[
|
|
261
|
+
[2m Test Files [22m[1m[32m11 passed[39m[22m[90m (13)[39m
|
|
262
|
+
[2m Tests [22m[1m[32m210 passed[39m[22m[90m (246)[39m
|
|
263
|
+
[2m Start at [22m05:49:13
|
|
264
|
+
[2m Duration [22m831ms
|
|
265
|
+
[?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 handle network errors during installation
|
|
228
266
|
[22m[39m
|
|
229
267
|
📦 Installing dependencies with npm...
|
|
230
268
|
|
|
231
|
-
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mError handling[2m > [22m[2mshould handle invalid package manager gracefully
|
|
232
|
-
[22m[39m
|
|
233
|
-
📦 Installing dependencies with unknown...
|
|
234
269
|
|
|
270
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 5/24[22m
|
|
271
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 2/19[22m
|
|
235
272
|
|
|
236
|
-
[1m[
|
|
237
|
-
[1m[
|
|
238
|
-
[
|
|
239
|
-
[
|
|
240
|
-
[
|
|
241
|
-
[
|
|
242
|
-
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m 0/14[22m
|
|
273
|
+
[2m Test Files [22m[1m[32m11 passed[39m[22m[90m (13)[39m
|
|
274
|
+
[2m Tests [22m[1m[32m210 passed[39m[22m[90m (246)[39m
|
|
275
|
+
[2m Start at [22m05:49:13
|
|
276
|
+
[2m Duration [22m831ms
|
|
277
|
+
[?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 network errors during installation
|
|
278
|
+
[22m[39mFailed to install dependencies with npm.
|
|
243
279
|
|
|
244
|
-
[2m Test Files [22m[1m[32m6 passed[39m[22m[90m (13)[39m
|
|
245
|
-
[2m Tests [22m[1m[32m106 passed[39m[22m[90m (246)[39m
|
|
246
|
-
[2m Start at [22m05:30:02
|
|
247
|
-
[2m Duration [22m376ms
|
|
248
|
-
[?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[90mstderr[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mError handling[2m > [22m[2mshould handle invalid package manager gracefully
|
|
249
|
-
[22m[39m⚠️ Warning: Unknown package manager "unknown", cannot check lockfile
|
|
250
280
|
|
|
251
|
-
[
|
|
252
|
-
[
|
|
281
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 5/24[22m
|
|
282
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 2/19[22m
|
|
253
283
|
|
|
254
|
-
[
|
|
255
|
-
[22m[39m[
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
at runWithTimeout (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1602:10)
|
|
262
|
-
at runTest (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1309:12)
|
|
263
|
-
[90m at processTicksAndRejections (node:internal/process/task_queues:103:5)[39m
|
|
264
|
-
at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1468:8)
|
|
265
|
-
at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1468:8)
|
|
284
|
+
[2m Test Files [22m[1m[32m11 passed[39m[22m[90m (13)[39m
|
|
285
|
+
[2m Tests [22m[1m[32m210 passed[39m[22m[90m (246)[39m
|
|
286
|
+
[2m Start at [22m05:49:13
|
|
287
|
+
[2m Duration [22m831ms
|
|
288
|
+
[?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 handle permission errors during installation
|
|
289
|
+
[22m[39m
|
|
290
|
+
📦 Installing dependencies with npm...
|
|
266
291
|
|
|
267
|
-
[90mstderr[2m | src/utils/__tests__/fetch-remote-config.test.ts[2m > [22m[2mfetchRemoteConfig[2m > [22m[2mError handling[2m > [22m[2mshould return null if neither projectId nor agentDid provided
|
|
268
|
-
[22m[39m[RemoteConfig] Neither projectId nor agentDid provided
|
|
269
292
|
|
|
270
|
-
[
|
|
271
|
-
[
|
|
272
|
-
at [90m/Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app/[39msrc/utils/__tests__/fetch-remote-config.test.ts:201:50
|
|
273
|
-
at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:157:11
|
|
274
|
-
at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:753:26
|
|
275
|
-
at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1636:20
|
|
276
|
-
at new Promise (<anonymous>)
|
|
277
|
-
at runWithTimeout (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1602:10)
|
|
278
|
-
at runTest (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1309:12)
|
|
279
|
-
[90m at processTicksAndRejections (node:internal/process/task_queues:103:5)[39m
|
|
280
|
-
at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1468:8)
|
|
281
|
-
at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/[4m.pnpm[24m/@vitest+runner@4.0.5/node_modules/[4m@vitest/runner[24m/dist/index.js:1468:8)
|
|
293
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 5/24[22m
|
|
294
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 2/19[22m
|
|
282
295
|
|
|
296
|
+
[2m Test Files [22m[1m[32m11 passed[39m[22m[90m (13)[39m
|
|
297
|
+
[2m Tests [22m[1m[32m210 passed[39m[22m[90m (246)[39m
|
|
298
|
+
[2m Start at [22m05:49:13
|
|
299
|
+
[2m Duration [22m831ms
|
|
300
|
+
[?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
|
|
301
|
+
[22m[39mFailed to install dependencies with npm.
|
|
283
302
|
|
|
284
|
-
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 0/24[22m
|
|
285
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 0/19[22m
|
|
286
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m 0/25[22m
|
|
287
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m 0/24[22m
|
|
288
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m 0/23[22m
|
|
289
|
-
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m 1/12[22m
|
|
290
|
-
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m 0/14[22m
|
|
291
303
|
|
|
292
|
-
[
|
|
293
|
-
[
|
|
294
|
-
|
|
295
|
-
[2m
|
|
296
|
-
[
|
|
304
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 5/24[22m
|
|
305
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 2/19[22m
|
|
306
|
+
|
|
307
|
+
[2m Test Files [22m[1m[32m11 passed[39m[22m[90m (13)[39m
|
|
308
|
+
[2m Tests [22m[1m[32m210 passed[39m[22m[90m (246)[39m
|
|
309
|
+
[2m Start at [22m05:49:13
|
|
310
|
+
[2m Duration [22m831ms
|
|
311
|
+
[?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
|
|
297
312
|
[22m[39m
|
|
298
313
|
📦 Installing dependencies with npm...
|
|
299
314
|
|
|
300
|
-
[90mstdout[2m |
|
|
301
|
-
[22m[39m
|
|
315
|
+
[90mstdout[2m | src/__tests__/helpers/install.test.ts[2m > [22m[2minstall[2m > [22m[2mError handling[2m > [22m[2mshould handle invalid package manager gracefully
|
|
316
|
+
[22m[39m
|
|
317
|
+
📦 Installing dependencies with unknown...
|
|
302
318
|
|
|
303
|
-
[32m✓[39m test-cloudflare/tests/delegation.test.ts [2m([22m[2m12 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
304
|
-
[32m✓[39m src/__tests__/helpers/install.test.ts [2m([22m[2m20 tests[22m[2m)[22m[32m 36[2mms[22m[39m
|
|
305
|
-
[32m✓[39m test-cloudflare/tests/session-management.test.ts [2m([22m[2m17 tests[22m[2m)[22m[32m 27[2mms[22m[39m
|
|
306
|
-
[32m✓[39m src/utils/__tests__/fetch-remote-config.test.ts [2m([22m[2m9 tests[22m[2m)[22m[32m 10[2mms[22m[39m
|
|
307
|
-
[32m✓[39m test-cloudflare/tests/cors-security.test.ts [2m([22m[2m29 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
308
319
|
|
|
309
|
-
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m
|
|
310
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m
|
|
311
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-config.test.ts[2m 0/25[22m
|
|
312
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/generate-identity.test.ts[2m 0/24[22m
|
|
313
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/validate-project-structure.test.ts[2m 0/23[22m
|
|
314
|
-
[1m[33m ❯ [39m[22msrc/helpers/__tests__/config-builder.spec.ts[2m 1/12[22m
|
|
315
|
-
[1m[33m ❯ [39m[22mtest-cloudflare/tests/do-routing.test.ts[2m 0/14[22m
|
|
320
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 5/24[22m
|
|
321
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 2/19[22m
|
|
316
322
|
|
|
317
|
-
[2m Test Files [22m[1m[
|
|
318
|
-
[2m Tests [22m[1m[
|
|
319
|
-
[2m Start at [22m05:
|
|
320
|
-
[2m Duration [
|
|
321
|
-
[?2026l[?2026h[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[1A[K[
|
|
322
|
-
[22m[39m
|
|
323
|
+
[2m Test Files [22m[1m[32m11 passed[39m[22m[90m (13)[39m
|
|
324
|
+
[2m Tests [22m[1m[32m210 passed[39m[22m[90m (246)[39m
|
|
325
|
+
[2m Start at [22m05:49:13
|
|
326
|
+
[2m Duration [22m831ms
|
|
327
|
+
[?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
|
|
328
|
+
[22m[39m⚠️ Warning: Unknown package manager "unknown", cannot check lockfile
|
|
323
329
|
|
|
324
330
|
|
|
325
|
-
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m
|
|
326
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m
|
|
327
|
-
|
|
328
|
-
[1m[
|
|
329
|
-
[1m[
|
|
330
|
-
[
|
|
331
|
-
[
|
|
331
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 5/24[22m
|
|
332
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 2/19[22m
|
|
333
|
+
|
|
334
|
+
[2m Test Files [22m[1m[32m11 passed[39m[22m[90m (13)[39m
|
|
335
|
+
[2m Tests [22m[1m[32m210 passed[39m[22m[90m (246)[39m
|
|
336
|
+
[2m Start at [22m05:49:13
|
|
337
|
+
[2m Duration [22m831ms
|
|
338
|
+
[?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
|
|
339
|
+
[22m[39m
|
|
340
|
+
📦 Installing dependencies with npm...
|
|
332
341
|
|
|
333
|
-
[
|
|
334
|
-
[
|
|
335
|
-
[2m
|
|
336
|
-
[2m
|
|
337
|
-
|
|
338
|
-
[32m✓[39m src/__tests__/helpers/generate-identity.test.ts [2m([22m[2m24 tests[22m[2m)[22m[32m 45[2mms[22m[39m
|
|
339
|
-
[32m✓[39m src/__tests__/helpers/generate-config.test.ts [2m([22m[2m25 tests[22m[2m)[22m[32m 54[2mms[22m[39m
|
|
340
|
-
[32m✓[39m src/__tests__/helpers/validate-project-structure.test.ts [2m([22m[2m23 tests[22m[2m)[22m[32m 56[2mms[22m[39m
|
|
341
|
-
[32m✓[39m test-cloudflare/tests/do-routing.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 99[2mms[22m[39m
|
|
342
|
+
[32m✓[39m src/__tests__/helpers/generate-config.test.ts [2m([22m[2m25 tests[22m[2m)[22m[32m 148[2mms[22m[39m
|
|
343
|
+
[32m✓[39m src/__tests__/helpers/generate-identity.test.ts [2m([22m[2m24 tests[22m[2m)[22m[32m 131[2mms[22m[39m
|
|
344
|
+
[32m✓[39m src/__tests__/helpers/install.test.ts [2m([22m[2m20 tests[22m[2m)[22m[32m 159[2mms[22m[39m
|
|
345
|
+
[32m✓[39m test-cloudflare/tests/do-routing.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 198[2mms[22m[39m
|
|
346
|
+
[32m✓[39m src/__tests__/helpers/validate-project-structure.test.ts [2m([22m[2m23 tests[22m[2m)[22m[32m 61[2mms[22m[39m
|
|
342
347
|
|
|
343
|
-
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m
|
|
344
|
-
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m
|
|
348
|
+
[1m[33m ❯ [39m[22msrc/__tests__/cloudflare-template.test.ts[2m 5/24[22m
|
|
349
|
+
[1m[33m ❯ [39m[22msrc/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts[2m 2/19[22m
|
|
345
350
|
|
|
346
351
|
[2m Test Files [22m[1m[32m11 passed[39m[22m[90m (13)[39m
|
|
347
|
-
[2m Tests [22m[1m[
|
|
348
|
-
[2m Start at [22m05:
|
|
349
|
-
[2m Duration [
|
|
350
|
-
[?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[2m19 tests[22m[2m)[22m[32m
|
|
351
|
-
[
|
|
352
|
-
|
|
353
|
-
[
|
|
354
|
-
[
|
|
355
|
-
|
|
356
|
-
[
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
[
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
[32m✓[39m should create test files with correct structure[32m 4[2mms[22m[39m
|
|
375
|
-
[32m✓[39m should create README with project name[32m 4[2mms[22m[39m
|
|
376
|
-
|
|
377
|
-
[31m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[39m[1m[41m Failed Tests 7 [49m[22m[31m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[39m
|
|
378
|
-
|
|
379
|
-
[41m[1m FAIL [22m[49m src/__tests__/cloudflare-template.test.ts[2m > [22mCloudflare Template Generation[2m > [22mBasic template structure[2m > [22mshould create all required files and directories
|
|
380
|
-
[31m[1mAssertionError[22m: expected false to be true // Object.is equality[39m
|
|
381
|
-
|
|
382
|
-
[32m- Expected[39m
|
|
383
|
-
[31m+ Received[39m
|
|
384
|
-
|
|
385
|
-
[32m- true[39m
|
|
386
|
-
[31m+ false[39m
|
|
387
|
-
|
|
388
|
-
[36m [2m❯[22m src/__tests__/cloudflare-template.test.ts:[2m89:69[22m[39m
|
|
389
|
-
[90m 87| [39m expect(fs.existsSync(path.join(tempDir, ".gitignore"))).toBe(…
|
|
390
|
-
[90m 88| [39m expect(fs.existsSync(path.join(tempDir, "README.md"))).toBe(t…
|
|
391
|
-
[90m 89| [39m expect(fs.existsSync(path.join(tempDir, "vitest.config.ts")))…
|
|
392
|
-
[90m | [39m [31m^[39m
|
|
393
|
-
[90m 90| [39m })[33m;[39m
|
|
394
|
-
[90m 91| [39m
|
|
395
|
-
|
|
396
|
-
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/7]⎯[22m[39m
|
|
397
|
-
|
|
398
|
-
[41m[1m FAIL [22m[49m src/__tests__/cloudflare-template.test.ts[2m > [22mCloudflare Template Generation[2m > [22mBasic template structure[2m > [22mshould create mcpi-runtime-config.ts with correct structure
|
|
399
|
-
[31m[1mAssertionError[22m: expected 'import type { CloudflareRuntimeConfig…' to contain 'buildBaseConfig'[39m
|
|
400
|
-
|
|
401
|
-
[32m- Expected[39m
|
|
402
|
-
[31m+ Received[39m
|
|
403
|
-
|
|
404
|
-
[32m- buildBaseConfig[39m
|
|
405
|
-
[31m+ import type { CloudflareRuntimeConfig } from '@kya-os/mcp-i-cloudflare/config';[39m
|
|
406
|
-
[31m+ import type { CloudflareEnv } from '@kya-os/mcp-i-cloudflare';[39m
|
|
407
|
-
[31m+ import { defineConfig } from '@kya-os/mcp-i-cloudflare';[39m
|
|
408
|
-
[31m+[39m
|
|
409
|
-
[31m+ /**[39m
|
|
410
|
-
[31m+ * Runtime configuration for MCP-I server[39m
|
|
411
|
-
[31m+ *[39m
|
|
412
|
-
[31m+ * This file configures runtime features like proof submission to AgentShield,[39m
|
|
413
|
-
[31m+ * delegation verification, and audit logging.[39m
|
|
414
|
-
[31m+ *[39m
|
|
415
|
-
[31m+ * Environment variables are automatically injected from wrangler.toml (Cloudflare)[39m
|
|
416
|
-
[31m+ * or .env (Node.js). Configure them there:[39m
|
|
417
|
-
[31m+ * - AGENTSHIELD_API_URL: AgentShield API base URL[39m
|
|
418
|
-
[31m+ * - AGENTSHIELD_API_KEY: Your AgentShield API key[39m
|
|
419
|
-
[31m+ * - MCPI_ENV: "development" or "production"[39m
|
|
420
|
-
[31m+ *[39m
|
|
421
|
-
[31m+ * Note: The service fetches tool protection config by agent DID automatically.[39m
|
|
422
|
-
[31m+ * No project ID configuration needed![39m
|
|
423
|
-
[31m+ */[39m
|
|
424
|
-
[31m+ export function getRuntimeConfig(env: CloudflareEnv): CloudflareRuntimeConfig {[39m
|
|
425
|
-
[31m+ return defineConfig({[39m
|
|
426
|
-
[31m+ // Only specify overrides - defaults are handled automatically[39m
|
|
427
|
-
[31m+ vars: {[39m
|
|
428
|
-
[31m+ ENVIRONMENT: env.ENVIRONMENT || env.MCPI_ENV || 'development',[39m
|
|
429
|
-
[31m+ AGENTSHIELD_API_KEY: env.AGENTSHIELD_API_KEY,[39m
|
|
430
|
-
[31m+ AGENTSHIELD_API_URL: env.AGENTSHIELD_API_URL,[39m
|
|
431
|
-
[31m+ },[39m
|
|
432
|
-
[31m+ // Optional: Enable admin endpoints[39m
|
|
433
|
-
[31m+ admin: {[39m
|
|
434
|
-
[31m+ enabled: false, // Set to true and provide ADMIN_API_KEY to enable[39m
|
|
435
|
-
[31m+ apiKey: env.ADMIN_API_KEY,[39m
|
|
436
|
-
[31m+ },[39m
|
|
437
|
-
[31m+ });[39m
|
|
438
|
-
[31m+ }[39m
|
|
439
|
-
[31m+[39m
|
|
440
|
-
|
|
441
|
-
[36m [2m❯[22m src/__tests__/cloudflare-template.test.ts:[2m103:29[22m[39m
|
|
442
|
-
[90m101| [39m [35mconst[39m configContent [33m=[39m fs[33m.[39m[34mreadFileSync[39m(configPath[33m,[39m [32m"utf-8"[39m)[33m;[39m
|
|
443
|
-
[90m102| [39m [34mexpect[39m(configContent)[33m.[39m[34mtoContain[39m([32m"getRuntimeConfig"[39m)[33m;[39m
|
|
444
|
-
[90m103| [39m [34mexpect[39m(configContent)[33m.[39m[34mtoContain[39m([32m"buildBaseConfig"[39m)[33m;[39m
|
|
445
|
-
[90m | [39m [31m^[39m
|
|
446
|
-
[90m104| [39m [34mexpect[39m(configContent)[33m.[39m[34mtoContain[39m([32m"CloudflareRuntimeConfig"[39m)[33m;[39m
|
|
447
|
-
[90m105| [39m })[33m;[39m
|
|
448
|
-
|
|
449
|
-
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/7]⎯[22m[39m
|
|
450
|
-
|
|
451
|
-
[41m[1m FAIL [22m[49m src/__tests__/cloudflare-template.test.ts[2m > [22mCloudflare Template Generation[2m > [22mBasic template structure[2m > [22mshould create index.ts with correct structure
|
|
452
|
-
[31m[1mAssertionError[22m: expected 'import { MCPICloudflareAgent, createM…' to contain 'McpAgent'[39m
|
|
453
|
-
|
|
454
|
-
[32m- Expected[39m
|
|
455
|
-
[31m+ Received[39m
|
|
456
|
-
|
|
457
|
-
[32m- McpAgent[39m
|
|
458
|
-
[31m+ import { MCPICloudflareAgent, createMCPIApp, type PrefixedCloudflareEnv } from "@kya-os/mcp-i-cloudflare";[39m
|
|
459
|
-
[31m+ import { greetTool } from "./tools/greet";[39m
|
|
460
|
-
[31m+ import { getRuntimeConfig } from "./mcpi-runtime-config";[39m
|
|
461
|
-
[31m+[39m
|
|
462
|
-
[31m+ /**[39m
|
|
463
|
-
[31m+ * Extended CloudflareEnv with prefixed KV bindings for multi-agent deployments[39m
|
|
464
|
-
[31m+ */[39m
|
|
465
|
-
[31m+ interface MyPrefixedCloudflareEnv extends PrefixedCloudflareEnv {[39m
|
|
466
|
-
[31m+ TESTPROJECT_NONCE_CACHE?: KVNamespace;[39m
|
|
467
|
-
[31m+ TESTPROJECT_PROOF_ARCHIVE?: KVNamespace;[39m
|
|
468
|
-
[31m+ TESTPROJECT_IDENTITY_STORAGE?: KVNamespace;[39m
|
|
469
|
-
[31m+ TESTPROJECT_DELEGATION_STORAGE?: KVNamespace;[39m
|
|
470
|
-
[31m+ TESTPROJECT_TOOL_PROTECTION_KV?: KVNamespace;[39m
|
|
471
|
-
[31m+ }[39m
|
|
472
|
-
[31m+[39m
|
|
473
|
-
[31m+ /**[39m
|
|
474
|
-
[31m+ * Your custom MCP agent - only define your tools here![39m
|
|
475
|
-
[31m+ * All framework complexity (runtime initialization, proof generation, etc.) is handled automatically.[39m
|
|
476
|
-
[31m+ */[39m
|
|
477
|
-
[31m+ export class TestprojectMCP extends MCPICloudflareAgent {[39m
|
|
478
|
-
[31m+ async registerTools() {[39m
|
|
479
|
-
[31m+ // Register your custom tools - proofs are generated automatically[39m
|
|
480
|
-
[31m+ this.server.tool([39m
|
|
481
|
-
[31m+ greetTool.name,[39m
|
|
482
|
-
[31m+ greetTool.description,[39m
|
|
483
|
-
[31m+ greetTool.inputSchema.shape,[39m
|
|
484
|
-
[31m+ async (args: { name: string }) => {[39m
|
|
485
|
-
[31m+ return this.executeToolWithProof([39m
|
|
486
|
-
[31m+ greetTool.name,[39m
|
|
487
|
-
[31m+ args,[39m
|
|
488
|
-
[31m+ greetTool.handler[39m
|
|
489
|
-
[31m+ );[39m
|
|
490
|
-
[31m+ }[39m
|
|
491
|
-
[31m+ );[39m
|
|
492
|
-
[31m+ }[39m
|
|
493
|
-
[31m+ }[39m
|
|
494
|
-
[31m+[39m
|
|
495
|
-
[31m+ // Create and export the app - all routing is handled automatically[39m
|
|
496
|
-
[31m+ export default createMCPIApp({[39m
|
|
497
|
-
[31m+ AgentClass: TestprojectMCP,[39m
|
|
498
|
-
[31m+ agentName: "test-project",[39m
|
|
499
|
-
[31m+ agentVersion: "1.0.0",[39m
|
|
500
|
-
[31m+ envPrefix: "TESTPROJECT",[39m
|
|
501
|
-
[31m+ getRuntimeConfig,[39m
|
|
502
|
-
[31m+ });[39m
|
|
503
|
-
[31m+[39m
|
|
504
|
-
|
|
505
|
-
[36m [2m❯[22m src/__tests__/cloudflare-template.test.ts:[2m117:28[22m[39m
|
|
506
|
-
[90m115| [39m
|
|
507
|
-
[90m116| [39m [35mconst[39m indexContent [33m=[39m fs[33m.[39m[34mreadFileSync[39m(indexPath[33m,[39m [32m"utf-8"[39m)[33m;[39m
|
|
508
|
-
[90m117| [39m [34mexpect[39m(indexContent)[33m.[39m[34mtoContain[39m([32m"McpAgent"[39m)[33m;[39m
|
|
509
|
-
[90m | [39m [31m^[39m
|
|
510
|
-
[90m118| [39m [34mexpect[39m(indexContent)[33m.[39m[34mtoContain[39m([32m"createCloudflareRuntime"[39m)[33m;[39m
|
|
511
|
-
[90m119| [39m [34mexpect[39m(indexContent)[33m.[39m[34mtoContain[39m([32m"class"[39m)[33m;[39m
|
|
512
|
-
|
|
513
|
-
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/7]⎯[22m[39m
|
|
514
|
-
|
|
515
|
-
[41m[1m FAIL [22m[49m src/__tests__/cloudflare-template.test.ts[2m > [22mCloudflare Template Generation[2m > [22mMCP_SERVER_URL configuration[2m > [22mshould log warning when MCP_SERVER_URL not configured
|
|
516
|
-
[31m[1mAssertionError[22m: expected 'import { MCPICloudflareAgent, createM…' to contain 'MCP Server URL will be auto-detected …'[39m
|
|
517
|
-
|
|
518
|
-
[32m- Expected[39m
|
|
519
|
-
[31m+ Received[39m
|
|
520
|
-
|
|
521
|
-
[32m- MCP Server URL will be auto-detected from request[39m
|
|
522
|
-
[31m+ import { MCPICloudflareAgent, createMCPIApp, type PrefixedCloudflareEnv } from "@kya-os/mcp-i-cloudflare";[39m
|
|
523
|
-
[31m+ import { greetTool } from "./tools/greet";[39m
|
|
524
|
-
[31m+ import { getRuntimeConfig } from "./mcpi-runtime-config";[39m
|
|
525
|
-
[31m+[39m
|
|
526
|
-
[31m+ /**[39m
|
|
527
|
-
[31m+ * Extended CloudflareEnv with prefixed KV bindings for multi-agent deployments[39m
|
|
528
|
-
[31m+ */[39m
|
|
529
|
-
[31m+ interface MyPrefixedCloudflareEnv extends PrefixedCloudflareEnv {[39m
|
|
530
|
-
[31m+ TESTPROJECT_NONCE_CACHE?: KVNamespace;[39m
|
|
531
|
-
[31m+ TESTPROJECT_PROOF_ARCHIVE?: KVNamespace;[39m
|
|
532
|
-
[31m+ TESTPROJECT_IDENTITY_STORAGE?: KVNamespace;[39m
|
|
533
|
-
[31m+ TESTPROJECT_DELEGATION_STORAGE?: KVNamespace;[39m
|
|
534
|
-
[31m+ TESTPROJECT_TOOL_PROTECTION_KV?: KVNamespace;[39m
|
|
535
|
-
[31m+ }[39m
|
|
536
|
-
[31m+[39m
|
|
537
|
-
[31m+ /**[39m
|
|
538
|
-
[31m+ * Your custom MCP agent - only define your tools here![39m
|
|
539
|
-
[31m+ * All framework complexity (runtime initialization, proof generation, etc.) is handled automatically.[39m
|
|
540
|
-
[31m+ */[39m
|
|
541
|
-
[31m+ export class TestprojectMCP extends MCPICloudflareAgent {[39m
|
|
542
|
-
[31m+ async registerTools() {[39m
|
|
543
|
-
[31m+ // Register your custom tools - proofs are generated automatically[39m
|
|
544
|
-
[31m+ this.server.tool([39m
|
|
545
|
-
[31m+ greetTool.name,[39m
|
|
546
|
-
[31m+ greetTool.description,[39m
|
|
547
|
-
[31m+ greetTool.inputSchema.shape,[39m
|
|
548
|
-
[31m+ async (args: { name: string }) => {[39m
|
|
549
|
-
[31m+ return this.executeToolWithProof([39m
|
|
550
|
-
[31m+ greetTool.name,[39m
|
|
551
|
-
[31m+ args,[39m
|
|
552
|
-
[31m+ greetTool.handler[39m
|
|
553
|
-
[31m+ );[39m
|
|
554
|
-
[31m+ }[39m
|
|
555
|
-
[31m+ );[39m
|
|
556
|
-
[31m+ }[39m
|
|
557
|
-
[31m+ }[39m
|
|
558
|
-
[31m+[39m
|
|
559
|
-
[31m+ // Create and export the app - all routing is handled automatically[39m
|
|
560
|
-
[31m+ export default createMCPIApp({[39m
|
|
561
|
-
[31m+ AgentClass: TestprojectMCP,[39m
|
|
562
|
-
[31m+ agentName: "test-project",[39m
|
|
563
|
-
[31m+ agentVersion: "1.0.0",[39m
|
|
564
|
-
[31m+ envPrefix: "TESTPROJECT",[39m
|
|
565
|
-
[31m+ getRuntimeConfig,[39m
|
|
566
|
-
[31m+ });[39m
|
|
567
|
-
[31m+[39m
|
|
568
|
-
|
|
569
|
-
[36m [2m❯[22m src/__tests__/cloudflare-template.test.ts:[2m149:28[22m[39m
|
|
570
|
-
[90m147| [39m
|
|
571
|
-
[90m148| [39m // Check that auto-detection message is logged in index.ts wh…
|
|
572
|
-
[90m149| [39m [34mexpect[39m(indexContent)[33m.[39m[34mtoContain[39m(
|
|
573
|
-
[90m | [39m [31m^[39m
|
|
574
|
-
[90m150| [39m [32m"MCP Server URL will be auto-detected from request"[39m
|
|
575
|
-
[90m151| [39m )[33m;[39m
|
|
576
|
-
|
|
577
|
-
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/7]⎯[22m[39m
|
|
578
|
-
|
|
579
|
-
[41m[1m FAIL [22m[49m src/__tests__/cloudflare-template.test.ts[2m > [22mCloudflare Template Generation[2m > [22mMCP_SERVER_URL configuration[2m > [22mshould store MCP_SERVER_URL in class property
|
|
580
|
-
[31m[1mAssertionError[22m: expected 'import { MCPICloudflareAgent, createM…' to contain 'this.mcpServerUrl'[39m
|
|
581
|
-
|
|
582
|
-
[32m- Expected[39m
|
|
583
|
-
[31m+ Received[39m
|
|
584
|
-
|
|
585
|
-
[32m- this.mcpServerUrl[39m
|
|
586
|
-
[31m+ import { MCPICloudflareAgent, createMCPIApp, type PrefixedCloudflareEnv } from "@kya-os/mcp-i-cloudflare";[39m
|
|
587
|
-
[31m+ import { greetTool } from "./tools/greet";[39m
|
|
588
|
-
[31m+ import { getRuntimeConfig } from "./mcpi-runtime-config";[39m
|
|
589
|
-
[31m+[39m
|
|
590
|
-
[31m+ /**[39m
|
|
591
|
-
[31m+ * Extended CloudflareEnv with prefixed KV bindings for multi-agent deployments[39m
|
|
592
|
-
[31m+ */[39m
|
|
593
|
-
[31m+ interface MyPrefixedCloudflareEnv extends PrefixedCloudflareEnv {[39m
|
|
594
|
-
[31m+ TESTPROJECT_NONCE_CACHE?: KVNamespace;[39m
|
|
595
|
-
[31m+ TESTPROJECT_PROOF_ARCHIVE?: KVNamespace;[39m
|
|
596
|
-
[31m+ TESTPROJECT_IDENTITY_STORAGE?: KVNamespace;[39m
|
|
597
|
-
[31m+ TESTPROJECT_DELEGATION_STORAGE?: KVNamespace;[39m
|
|
598
|
-
[31m+ TESTPROJECT_TOOL_PROTECTION_KV?: KVNamespace;[39m
|
|
599
|
-
[31m+ }[39m
|
|
600
|
-
[31m+[39m
|
|
601
|
-
[31m+ /**[39m
|
|
602
|
-
[31m+ * Your custom MCP agent - only define your tools here![39m
|
|
603
|
-
[31m+ * All framework complexity (runtime initialization, proof generation, etc.) is handled automatically.[39m
|
|
604
|
-
[31m+ */[39m
|
|
605
|
-
[31m+ export class TestprojectMCP extends MCPICloudflareAgent {[39m
|
|
606
|
-
[31m+ async registerTools() {[39m
|
|
607
|
-
[31m+ // Register your custom tools - proofs are generated automatically[39m
|
|
608
|
-
[31m+ this.server.tool([39m
|
|
609
|
-
[31m+ greetTool.name,[39m
|
|
610
|
-
[31m+ greetTool.description,[39m
|
|
611
|
-
[31m+ greetTool.inputSchema.shape,[39m
|
|
612
|
-
[31m+ async (args: { name: string }) => {[39m
|
|
613
|
-
[31m+ return this.executeToolWithProof([39m
|
|
614
|
-
[31m+ greetTool.name,[39m
|
|
615
|
-
[31m+ args,[39m
|
|
616
|
-
[31m+ greetTool.handler[39m
|
|
617
|
-
[31m+ );[39m
|
|
618
|
-
[31m+ }[39m
|
|
619
|
-
[31m+ );[39m
|
|
620
|
-
[31m+ }[39m
|
|
621
|
-
[31m+ }[39m
|
|
622
|
-
[31m+[39m
|
|
623
|
-
[31m+ // Create and export the app - all routing is handled automatically[39m
|
|
624
|
-
[31m+ export default createMCPIApp({[39m
|
|
625
|
-
[31m+ AgentClass: TestprojectMCP,[39m
|
|
626
|
-
[31m+ agentName: "test-project",[39m
|
|
627
|
-
[31m+ agentVersion: "1.0.0",[39m
|
|
628
|
-
[31m+ envPrefix: "TESTPROJECT",[39m
|
|
629
|
-
[31m+ getRuntimeConfig,[39m
|
|
630
|
-
[31m+ });[39m
|
|
631
|
-
[31m+[39m
|
|
632
|
-
|
|
633
|
-
[36m [2m❯[22m src/__tests__/cloudflare-template.test.ts:[2m163:28[22m[39m
|
|
634
|
-
[90m161| [39m [35mconst[39m indexContent [33m=[39m fs[33m.[39m[34mreadFileSync[39m(indexPath[33m,[39m [32m"utf-8"[39m)[33m;[39m
|
|
635
|
-
[90m162| [39m
|
|
636
|
-
[90m163| [39m [34mexpect[39m(indexContent)[33m.[39m[34mtoContain[39m([32m"this.mcpServerUrl"[39m)[33m;[39m
|
|
637
|
-
[90m | [39m [31m^[39m
|
|
638
|
-
[90m164| [39m [34mexpect[39m(indexContent)[33m.[39m[34mtoContain[39m([32m"env.MCP_SERVER_URL"[39m)[33m;[39m
|
|
639
|
-
[90m165| [39m })[33m;[39m
|
|
640
|
-
|
|
641
|
-
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/7]⎯[22m[39m
|
|
642
|
-
|
|
643
|
-
[41m[1m FAIL [22m[49m src/__tests__/cloudflare-template.test.ts[2m > [22mCloudflare Template Generation[2m > [22mTool protection setup[2m > [22mshould include tool protection configuration in runtime config
|
|
644
|
-
[31m[1mAssertionError[22m: expected 'import type { CloudflareRuntimeConfig…' to contain 'toolProtection'[39m
|
|
645
|
-
|
|
646
|
-
[32m- Expected[39m
|
|
647
|
-
[31m+ Received[39m
|
|
648
|
-
|
|
649
|
-
[32m- toolProtection[39m
|
|
650
|
-
[31m+ import type { CloudflareRuntimeConfig } from '@kya-os/mcp-i-cloudflare/config';[39m
|
|
651
|
-
[31m+ import type { CloudflareEnv } from '@kya-os/mcp-i-cloudflare';[39m
|
|
652
|
-
[31m+ import { defineConfig } from '@kya-os/mcp-i-cloudflare';[39m
|
|
653
|
-
[31m+[39m
|
|
654
|
-
[31m+ /**[39m
|
|
655
|
-
[31m+ * Runtime configuration for MCP-I server[39m
|
|
656
|
-
[31m+ *[39m
|
|
657
|
-
[31m+ * This file configures runtime features like proof submission to AgentShield,[39m
|
|
658
|
-
[31m+ * delegation verification, and audit logging.[39m
|
|
659
|
-
[31m+ *[39m
|
|
660
|
-
[31m+ * Environment variables are automatically injected from wrangler.toml (Cloudflare)[39m
|
|
661
|
-
[31m+ * or .env (Node.js). Configure them there:[39m
|
|
662
|
-
[31m+ * - AGENTSHIELD_API_URL: AgentShield API base URL[39m
|
|
663
|
-
[31m+ * - AGENTSHIELD_API_KEY: Your AgentShield API key[39m
|
|
664
|
-
[31m+ * - MCPI_ENV: "development" or "production"[39m
|
|
665
|
-
[31m+ *[39m
|
|
666
|
-
[31m+ * Note: The service fetches tool protection config by agent DID automatically.[39m
|
|
667
|
-
[31m+ * No project ID configuration needed![39m
|
|
668
|
-
[31m+ */[39m
|
|
669
|
-
[31m+ export function getRuntimeConfig(env: CloudflareEnv): CloudflareRuntimeConfig {[39m
|
|
670
|
-
[31m+ return defineConfig({[39m
|
|
671
|
-
[31m+ // Only specify overrides - defaults are handled automatically[39m
|
|
672
|
-
[31m+ vars: {[39m
|
|
673
|
-
[31m+ ENVIRONMENT: env.ENVIRONMENT || env.MCPI_ENV || 'development',[39m
|
|
674
|
-
[31m+ AGENTSHIELD_API_KEY: env.AGENTSHIELD_API_KEY,[39m
|
|
675
|
-
[31m+ AGENTSHIELD_API_URL: env.AGENTSHIELD_API_URL,[39m
|
|
676
|
-
[31m+ },[39m
|
|
677
|
-
[31m+ // Optional: Enable admin endpoints[39m
|
|
678
|
-
[31m+ admin: {[39m
|
|
679
|
-
[31m+ enabled: false, // Set to true and provide ADMIN_API_KEY to enable[39m
|
|
680
|
-
[31m+ apiKey: env.ADMIN_API_KEY,[39m
|
|
681
|
-
[31m+ },[39m
|
|
682
|
-
[31m+ });[39m
|
|
683
|
-
[31m+ }[39m
|
|
684
|
-
[31m+[39m
|
|
685
|
-
|
|
686
|
-
[36m [2m❯[22m src/__tests__/cloudflare-template.test.ts:[2m232:29[22m[39m
|
|
687
|
-
[90m230| [39m [35mconst[39m configContent [33m=[39m fs[33m.[39m[34mreadFileSync[39m(configPath[33m,[39m [32m"utf-8"[39m)[33m;[39m
|
|
688
|
-
[90m231| [39m
|
|
689
|
-
[90m232| [39m [34mexpect[39m(configContent)[33m.[39m[34mtoContain[39m([32m"toolProtection"[39m)[33m;[39m
|
|
690
|
-
[90m | [39m [31m^[39m
|
|
691
|
-
[90m233| [39m [34mexpect[39m(configContent)[33m.[39m[34mtoContain[39m([32m"CloudflareRuntime"[39m)[33m;[39m
|
|
692
|
-
[90m234| [39m })[33m;[39m
|
|
693
|
-
|
|
694
|
-
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/7]⎯[22m[39m
|
|
695
|
-
|
|
696
|
-
[41m[1m FAIL [22m[49m src/__tests__/cloudflare-template.test.ts[2m > [22mCloudflare Template Generation[2m > [22mTool protection setup[2m > [22mshould include CloudflareRuntime import for tool protection
|
|
697
|
-
[31m[1mAssertionError[22m: expected 'import type { CloudflareRuntimeConfig…' to contain 'from "@kya-os/mcp-i-cloudflare"'[39m
|
|
698
|
-
|
|
699
|
-
[32m- Expected[39m
|
|
700
|
-
[31m+ Received[39m
|
|
701
|
-
|
|
702
|
-
[32m- from "@kya-os/mcp-i-cloudflare"[39m
|
|
703
|
-
[31m+ import type { CloudflareRuntimeConfig } from '@kya-os/mcp-i-cloudflare/config';[39m
|
|
704
|
-
[31m+ import type { CloudflareEnv } from '@kya-os/mcp-i-cloudflare';[39m
|
|
705
|
-
[31m+ import { defineConfig } from '@kya-os/mcp-i-cloudflare';[39m
|
|
706
|
-
[31m+[39m
|
|
707
|
-
[31m+ /**[39m
|
|
708
|
-
[31m+ * Runtime configuration for MCP-I server[39m
|
|
709
|
-
[31m+ *[39m
|
|
710
|
-
[31m+ * This file configures runtime features like proof submission to AgentShield,[39m
|
|
711
|
-
[31m+ * delegation verification, and audit logging.[39m
|
|
712
|
-
[31m+ *[39m
|
|
713
|
-
[31m+ * Environment variables are automatically injected from wrangler.toml (Cloudflare)[39m
|
|
714
|
-
[31m+ * or .env (Node.js). Configure them there:[39m
|
|
715
|
-
[31m+ * - AGENTSHIELD_API_URL: AgentShield API base URL[39m
|
|
716
|
-
[31m+ * - AGENTSHIELD_API_KEY: Your AgentShield API key[39m
|
|
717
|
-
[31m+ * - MCPI_ENV: "development" or "production"[39m
|
|
718
|
-
[31m+ *[39m
|
|
719
|
-
[31m+ * Note: The service fetches tool protection config by agent DID automatically.[39m
|
|
720
|
-
[31m+ * No project ID configuration needed![39m
|
|
721
|
-
[31m+ */[39m
|
|
722
|
-
[31m+ export function getRuntimeConfig(env: CloudflareEnv): CloudflareRuntimeConfig {[39m
|
|
723
|
-
[31m+ return defineConfig({[39m
|
|
724
|
-
[31m+ // Only specify overrides - defaults are handled automatically[39m
|
|
725
|
-
[31m+ vars: {[39m
|
|
726
|
-
[31m+ ENVIRONMENT: env.ENVIRONMENT || env.MCPI_ENV || 'development',[39m
|
|
727
|
-
[31m+ AGENTSHIELD_API_KEY: env.AGENTSHIELD_API_KEY,[39m
|
|
728
|
-
[31m+ AGENTSHIELD_API_URL: env.AGENTSHIELD_API_URL,[39m
|
|
729
|
-
[31m+ },[39m
|
|
730
|
-
[31m+ // Optional: Enable admin endpoints[39m
|
|
731
|
-
[31m+ admin: {[39m
|
|
732
|
-
[31m+ enabled: false, // Set to true and provide ADMIN_API_KEY to enable[39m
|
|
733
|
-
[31m+ apiKey: env.ADMIN_API_KEY,[39m
|
|
734
|
-
[31m+ },[39m
|
|
735
|
-
[31m+ });[39m
|
|
736
|
-
[31m+ }[39m
|
|
737
|
-
[31m+[39m
|
|
738
|
-
|
|
739
|
-
[36m [2m❯[22m src/__tests__/cloudflare-template.test.ts:[2m246:29[22m[39m
|
|
740
|
-
[90m244| [39m
|
|
741
|
-
[90m245| [39m [34mexpect[39m(configContent)[33m.[39m[34mtoContain[39m([32m"CloudflareRuntime"[39m)[33m;[39m
|
|
742
|
-
[90m246| [39m expect(configContent).toContain('from "@kya-os/mcp-i-cloudfla…
|
|
743
|
-
[90m | [39m [31m^[39m
|
|
744
|
-
[90m247| [39m })[33m;[39m
|
|
745
|
-
[90m248| [39m
|
|
746
|
-
|
|
747
|
-
[31m[2m⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[7/7]⎯[22m[39m
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
[2m Test Files [22m [1m[31m1 failed[39m[22m[2m | [22m[1m[32m12 passed[39m[22m[90m (13)[39m
|
|
751
|
-
[2m Tests [22m [1m[31m7 failed[39m[22m[2m | [22m[1m[32m239 passed[39m[22m[90m (246)[39m
|
|
752
|
-
[2m Start at [22m 05:30:02
|
|
753
|
-
[2m Duration [22m 633ms[2m (transform 818ms, setup 0ms, collect 1.41s, tests 658ms, environment 1ms, prepare 458ms)[22m
|
|
754
|
-
|
|
755
|
-
[?25h[41m[30m ELIFECYCLE [39m[49m [31mCommand failed with exit code 1.[39m
|
|
352
|
+
[2m Tests [22m[1m[32m210 passed[39m[22m[90m (246)[39m
|
|
353
|
+
[2m Start at [22m05:49:13
|
|
354
|
+
[2m Duration [22m831ms
|
|
355
|
+
[?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[2m19 tests[22m[2m)[22m[32m 278[2mms[22m[39m
|
|
356
|
+
[32m✓[39m src/__tests__/cloudflare-template.test.ts [2m([22m[2m24 tests[22m[2m)[22m[33m 321[2mms[22m[39m
|
|
357
|
+
|
|
358
|
+
[2m Test Files [22m [1m[32m13 passed[39m[22m[90m (13)[39m
|
|
359
|
+
[2m Tests [22m [1m[32m246 passed[39m[22m[90m (246)[39m
|
|
360
|
+
[2m Start at [22m 05:49:13
|
|
361
|
+
[2m Duration [22m 994ms[2m (transform 1.04s, setup 0ms, collect 1.87s, tests 1.45s, environment 3ms, prepare 763ms)[22m
|
|
362
|
+
|
|
363
|
+
[34m % [39m[2mCoverage report from [22m[33mv8[39m
|
|
364
|
+
-------------------------------|---------|----------|---------|---------|-------------------
|
|
365
|
+
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
|
|
366
|
+
-------------------------------|---------|----------|---------|---------|-------------------
|
|
367
|
+
[32;1mAll files [0m | [32;1m 96.52[0m | [32;1m 93.79[0m | [32;1m 100[0m | [32;1m 96.52[0m | [31;1m [0m
|
|
368
|
+
[32;1m helpers [0m | [32;1m 97.32[0m | [32;1m 94.78[0m | [32;1m 100[0m | [32;1m 97.32[0m | [31;1m [0m
|
|
369
|
+
[32;1m config-builder.ts [0m | [32;1m 100[0m | [32;1m 100[0m | [32;1m 100[0m | [32;1m 100[0m | [33;1m [0m
|
|
370
|
+
[32;1m ...oudflare-mcpi-template.ts[0m | [32;1m 94.64[0m | [32;1m 89.65[0m | [32;1m 100[0m | [32;1m 94.64[0m | [31;1m...1013,1118-1126[0m
|
|
371
|
+
[32;1m generate-config.ts [0m | [32;1m 100[0m | [32;1m 100[0m | [32;1m 100[0m | [32;1m 100[0m | [33;1m [0m
|
|
372
|
+
[32;1m generate-identity.ts [0m | [32;1m 100[0m | [32;1m 100[0m | [32;1m 100[0m | [32;1m 100[0m | [33;1m [0m
|
|
373
|
+
[32;1m install.ts [0m | [32;1m 100[0m | [32;1m 100[0m | [32;1m 100[0m | [32;1m 100[0m | [33;1m [0m
|
|
374
|
+
[32;1m ...date-project-structure.ts[0m | [32;1m 100[0m | [32;1m 100[0m | [32;1m 100[0m | [32;1m 100[0m | [33;1m [0m
|
|
375
|
+
[32;1m utils [0m | [32;1m 91.42[0m | [32;1m 90[0m | [32;1m 100[0m | [32;1m 91.42[0m | [31;1m [0m
|
|
376
|
+
[32;1m fetch-remote-config.ts [0m | [32;1m 91.42[0m | [32;1m 90[0m | [32;1m 100[0m | [32;1m 91.42[0m | [31;1m152-153,169 [0m
|
|
377
|
+
-------------------------------|---------|----------|---------|---------|-------------------
|
|
378
|
+
[?25h
|