@kya-os/create-mcpi-app 1.8.1 → 1.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
1
 
2
- > @kya-os/create-mcpi-app@1.8.0 build /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
2
+ > @kya-os/create-mcpi-app@1.8.2 build /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
3
3
  > tsc && chmod +x dist/index.js
4
4
 
@@ -1,19 +1,16 @@
1
1
 
2
- > @kya-os/create-mcpi-app@1.8.0 test /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
2
+ > @kya-os/create-mcpi-app@1.8.1 test /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
3
3
  > vitest run
4
4
 
5
5
 
6
6
  RUN v4.0.5 /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
7
7
 
8
- ✓ test-cloudflare/tests/cors-security.test.ts (29 tests) 3ms
9
8
  ✓ test-cloudflare/tests/delegation.test.ts (12 tests) 4ms
9
+ ✓ test-cloudflare/tests/cache-invalidation.test.ts (18 tests) 4ms
10
10
  stdout | test-cloudflare/tests/session-management.test.ts > Session Management > Session Security > should not expose session data in logs
11
11
  [Session] Created session: secure-session
12
12
 
13
- ✓ test-cloudflare/tests/cache-invalidation.test.ts (18 tests) 4ms
14
- ✓ test-cloudflare/tests/session-management.test.ts (17 tests) 16ms
15
- ✓ src/utils/__tests__/fetch-remote-config.test.ts (9 tests) 3ms
16
- ✓ src/__tests__/helpers/generate-identity.test.ts (24 tests) 67ms
13
+ ✓ test-cloudflare/tests/session-management.test.ts (17 tests) 20ms
17
14
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
18
15
 
19
16
  🏗️ Generating Cloudflare MCP-I project: test-agent...
@@ -21,8 +18,71 @@ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Confi
21
18
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
22
19
  🔑 Generating cryptographic identity...
23
20
 
24
- src/__tests__/helpers/generate-config.test.ts (25 tests) 52ms
25
- ✓ src/__tests__/helpers/validate-project-structure.test.ts (23 tests) 43ms
21
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with npm
22
+
23
+ 📦 Installing dependencies with npm...
24
+ ✓ Lockfile created (package-lock.json) - remember to commit it
25
+
26
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with yarn
27
+
28
+ 📦 Installing dependencies with yarn...
29
+ ✓ Lockfile created (yarn.lock) - remember to commit it
30
+
31
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with pnpm
32
+
33
+ 📦 Installing dependencies with pnpm...
34
+ ✓ Lockfile created (pnpm-lock.yaml) - remember to commit it
35
+
36
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should use correct working directory
37
+
38
+ 📦 Installing dependencies with npm...
39
+ ✓ Lockfile created (package-lock.json) - remember to commit it
40
+
41
+ stdout | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should check for lockfile after installation
42
+ stderr | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should report correct package manager in log
43
+
44
+ 📦 Installing dependencies with npm...
45
+ ✓ Lockfile created (package-lock.json) - remember to commit it
46
+ ⚠️ Warning: No lockfile generated (pnpm-lock.yaml)
47
+
48
+
49
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
50
+
51
+ stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
52
+ 📦 Installing dependencies with npm...
53
+
54
+ Failed to install dependencies with npm.
55
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
56
+
57
+ 📦 Installing dependencies with npm...
58
+
59
+
60
+ stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
61
+ Failed to install dependencies with npm.
62
+
63
+ ✓ test-cloudflare/tests/do-routing.test.ts (14 tests) 78ms
64
+ stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
65
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
66
+ Failed to install dependencies with npm.
67
+
68
+
69
+ 📦 Installing dependencies with npm...
70
+
71
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should log error message when installation fails
72
+ stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
73
+ ⚠️ Warning: Unknown package manager "unknown", cannot check lockfile
74
+
75
+
76
+ 📦 Installing dependencies with npm...
77
+
78
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
79
+
80
+ 📦 Installing dependencies with unknown...
81
+
82
+ stdout | src/__tests__/helpers/install.test.ts > install > Lockfile validation > should warn when lockfile not created
83
+
84
+ 📦 Installing dependencies with npm...
85
+
26
86
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
27
87
  ✔ Created Cloudflare MCP-I template files
28
88
  - Generated identity keys in .dev.vars
@@ -49,6 +109,9 @@ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Confi
49
109
  🚀 Next Steps:
50
110
  cd test-agent
51
111
 
112
+ ✓ src/__tests__/helpers/install.test.ts (20 tests) 47ms
113
+ ✓ src/__tests__/helpers/generate-identity.test.ts (24 tests) 26ms
114
+ ✓ src/utils/__tests__/fetch-remote-config.test.ts (9 tests) 7ms
52
115
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
53
116
  wrangler login # Login to Cloudflare first!
54
117
  npm run setup # Create KV namespaces
@@ -56,7 +119,8 @@ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Confi
56
119
  npm run deploy # Deploy to Cloudflare
57
120
 
58
121
 
59
- test-cloudflare/tests/do-routing.test.ts (14 tests) 68ms
122
+ src/__tests__/helpers/validate-project-structure.test.ts (23 tests) 56ms
123
+ ✓ src/__tests__/helpers/generate-config.test.ts (25 tests) 59ms
60
124
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
61
125
 
62
126
  🏗️ Generating Cloudflare MCP-I project: my-awesome-agent...
@@ -64,6 +128,11 @@ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Confi
64
128
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
65
129
  🔑 Generating cryptographic identity...
66
130
 
131
+ stderr | src/helpers/__tests__/config-builder.spec.ts > buildConfigWithRemote > should fallback to local config when remote fetch fails
132
+ [RemoteConfig] Neither projectId nor agentDid provided
133
+
134
+ ✓ src/helpers/__tests__/config-builder.spec.ts (12 tests) 3ms
135
+ ✓ test-cloudflare/tests/cors-security.test.ts (29 tests) 3ms
67
136
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
68
137
  ✔ Created Cloudflare MCP-I template files
69
138
  - Generated identity keys in .dev.vars
@@ -101,78 +170,9 @@ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Confi
101
170
 
102
171
  🏗️ Generating Cloudflare MCP-I project: test-agent...
103
172
 
104
- stderr | src/helpers/__tests__/config-builder.spec.ts > buildConfigWithRemote > should fallback to local config when remote fetch fails
105
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with npm
106
-
107
- 📦 Installing dependencies with npm...
108
- [RemoteConfig] Neither projectId nor agentDid provided
109
- ✓ Lockfile created (package-lock.json) - remember to commit it
110
-
111
173
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
112
174
  🔑 Generating cryptographic identity...
113
175
 
114
-
115
- ✓ src/helpers/__tests__/config-builder.spec.ts (12 tests) 4ms
116
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with yarn
117
-
118
- 📦 Installing dependencies with yarn...
119
- ✓ Lockfile created (yarn.lock) - remember to commit it
120
-
121
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with pnpm
122
-
123
- 📦 Installing dependencies with pnpm...
124
- ✓ Lockfile created (pnpm-lock.yaml) - remember to commit it
125
-
126
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should use correct working directory
127
-
128
- 📦 Installing dependencies with npm...
129
- ✓ Lockfile created (package-lock.json) - remember to commit it
130
-
131
- stderr | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should report correct package manager in log
132
- ⚠️ Warning: No lockfile generated (pnpm-lock.yaml)
133
-
134
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
135
- Failed to install dependencies with npm.
136
-
137
- stdout | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should check for lockfile after installation
138
-
139
- 📦 Installing dependencies with npm...
140
- ✓ Lockfile created (package-lock.json) - remember to commit it
141
-
142
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
143
-
144
- 📦 Installing dependencies with npm...
145
-
146
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
147
-
148
- 📦 Installing dependencies with npm...
149
-
150
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
151
- Failed to install dependencies with npm.
152
-
153
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
154
-
155
- 📦 Installing dependencies with npm...
156
-
157
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
158
- Failed to install dependencies with npm.
159
-
160
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should log error message when installation fails
161
-
162
- 📦 Installing dependencies with npm...
163
-
164
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
165
-
166
- 📦 Installing dependencies with unknown...
167
-
168
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
169
- ⚠️ Warning: Unknown package manager "unknown", cannot check lockfile
170
-
171
- stdout | src/__tests__/helpers/install.test.ts > install > Lockfile validation > should warn when lockfile not created
172
-
173
- 📦 Installing dependencies with npm...
174
-
175
- ✓ src/__tests__/helpers/install.test.ts (20 tests) 31ms
176
176
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
177
177
  ✔ Created Cloudflare MCP-I template files
178
178
  - Generated identity keys in .dev.vars
@@ -246,12 +246,12 @@ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Confi
246
246
  npm run deploy # Deploy to Cloudflare
247
247
 
248
248
 
249
- ✓ src/__tests__/scaffolder-envprefix.test.ts (4 tests) 251ms
250
- ✓ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts (21 tests) 427ms
251
- ✓ src/__tests__/cloudflare-template.test.ts (30 tests | 2 skipped) 499ms
249
+ ✓ src/__tests__/scaffolder-envprefix.test.ts (4 tests) 222ms
250
+ ✓ src/__tests__/cloudflare-template.test.ts (30 tests | 2 skipped) 380ms
251
+ ✓ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts (21 tests) 531ms
252
252
 
253
253
  Test Files 14 passed (14)
254
254
  Tests 256 passed | 2 skipped (258)
255
- Start at 20:31:29
256
- Duration 1.18s (transform 875ms, setup 0ms, collect 1.48s, tests 1.47s, environment 1ms, prepare 155ms)
255
+ Start at 22:53:48
256
+ Duration 1.19s (transform 956ms, setup 0ms, collect 1.73s, tests 1.44s, environment 1ms, prepare 92ms)
257
257
 
@@ -1 +1 @@
1
- {"version":3,"file":"apply-identity-preset.d.ts","sourceRoot":"","sources":["../../src/helpers/apply-identity-preset.ts"],"names":[],"mappings":"AAIA,UAAU,qBAAqB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA+Ef"}
1
+ {"version":3,"file":"apply-identity-preset.d.ts","sourceRoot":"","sources":["../../src/helpers/apply-identity-preset.ts"],"names":[],"mappings":"AAKA,UAAU,qBAAqB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA+Ef"}
@@ -1,6 +1,7 @@
1
1
  import fs from "fs-extra";
2
2
  import path from "path";
3
3
  import chalk from "chalk";
4
+ import { getPackageVersions } from "./get-package-versions.js";
4
5
  /**
5
6
  * Apply identity preset to an XMCP project
6
7
  * This enhances the upstream XMCP template with identity features
@@ -111,6 +112,9 @@ async function updatePackageJsonForIdentity(projectPath, projectName, transports
111
112
  // Add identity dependencies
112
113
  // Use workspace dependencies for local testing, published versions for production
113
114
  const useWorkspace = process.env.MCPI_USE_WORKSPACE === "true";
115
+ // Get versions from scaffolder's package.json (single source of truth)
116
+ // This ensures scaffolded projects use tested, consistent versions
117
+ const versions = await getPackageVersions();
114
118
  // Add @kya-os dependencies - packages are now published!
115
119
  if (useWorkspace) {
116
120
  packageJson.dependencies = {
@@ -120,11 +124,11 @@ async function updatePackageJsonForIdentity(projectPath, projectName, transports
120
124
  };
121
125
  }
122
126
  else {
123
- // Add published packages
127
+ // Add published packages (versions from scaffolder's package.json)
124
128
  packageJson.dependencies = {
125
129
  ...packageJson.dependencies,
126
- "@kya-os/mcp-i": "^1.5.9-canary.29",
127
- "@kya-os/cli": "^1.3.5-canary.24",
130
+ "@kya-os/mcp-i": versions["@kya-os/mcp-i"],
131
+ "@kya-os/cli": versions["@kya-os/cli"],
128
132
  };
129
133
  }
130
134
  // Add exactly 8 scripts as required by spec
@@ -1 +1 @@
1
- {"version":3,"file":"apply-identity-preset.js","sourceRoot":"","sources":["../../src/helpers/apply-identity-preset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-identity-preset.js","sourceRoot":"","sources":["../../src/helpers/apply-identity-preset.ts"],"names":[],"mappings":"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"}
@@ -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.1",
83
+ "@kya-os/mcp-i-cloudflare": "1.6.2",
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.1";
660
+ const expectedVersion = "1.6.2";
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)) {
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-mcpi-template.d.ts","sourceRoot":"","sources":["../../src/helpers/fetch-mcpi-template.ts"],"names":[],"mappings":"AAOA,UAAU,uBAAuB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CAuNf"}
1
+ {"version":3,"file":"fetch-mcpi-template.d.ts","sourceRoot":"","sources":["../../src/helpers/fetch-mcpi-template.ts"],"names":[],"mappings":"AAQA,UAAU,uBAAuB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CAwNf"}
@@ -2,12 +2,17 @@ import fs from "fs-extra";
2
2
  import path from "path";
3
3
  import chalk from "chalk";
4
4
  import { generateIdentity } from "./generate-identity.js";
5
+ import { getPackageVersions } from "./get-package-versions.js";
5
6
  /**
6
7
  * Scaffold MCP-I project using @kya-os/mcp-i package
7
8
  * This creates a standalone MCP server with built-in identity features
8
9
  */
9
10
  export async function fetchMCPITemplate(projectPath, options = {}) {
10
- const { mcpiVersion = "^1.5.7", packageManager = "npm", skipIdentity = false, } = options;
11
+ const { packageManager = "npm", skipIdentity = false } = options;
12
+ // Get versions from scaffolder's package.json (single source of truth)
13
+ // This ensures scaffolded projects use tested, consistent versions
14
+ const versions = await getPackageVersions();
15
+ const mcpiVersion = options.mcpiVersion || versions["@kya-os/mcp-i"];
11
16
  try {
12
17
  console.log(chalk.blue(`📦 Setting up MCP-I project with @kya-os/mcp-i@${mcpiVersion}...`));
13
18
  // Create package.json matching our working test-mcpi structure
@@ -15,7 +20,7 @@ export async function fetchMCPITemplate(projectPath, options = {}) {
15
20
  name: path.basename(projectPath),
16
21
  version: "0.1.0",
17
22
  dependencies: {
18
- "@kya-os/cli": "^1.3.5-canary.24",
23
+ "@kya-os/cli": versions["@kya-os/cli"],
19
24
  "@kya-os/mcp-i": mcpiVersion,
20
25
  zod: "^3.24.4",
21
26
  },
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-mcpi-template.js","sourceRoot":"","sources":["../../src/helpers/fetch-mcpi-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-mcpi-template.js","sourceRoot":"","sources":["../../src/helpers/fetch-mcpi-template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Package Version Helper
3
+ *
4
+ * Reads dependency versions from the scaffolder's own package.json
5
+ * to ensure scaffolded projects use consistent, tested versions.
6
+ *
7
+ * This is the SINGLE SOURCE OF TRUTH for @kya-os/* package versions
8
+ * used in scaffolded templates.
9
+ *
10
+ * Benefits:
11
+ * - No more hardcoded canary versions in template files
12
+ * - Scaffolder's package.json already validated before publish
13
+ * - Consistent versions across all template types (Node.js, Cloudflare, etc.)
14
+ */
15
+ interface PackageVersions {
16
+ "@kya-os/mcp-i": string;
17
+ "@kya-os/cli": string;
18
+ "@kya-os/mcp-i-cloudflare": string;
19
+ "@kya-os/contracts": string;
20
+ }
21
+ /**
22
+ * Get package versions from the scaffolder's package.json
23
+ *
24
+ * This function reads the create-mcpi-app package.json and extracts
25
+ * the @kya-os/* dependency versions, normalizing them for safe use
26
+ * in scaffolded templates.
27
+ *
28
+ * @returns Object with normalized package versions
29
+ * @throws Error if package.json cannot be read
30
+ */
31
+ export declare function getPackageVersions(): Promise<PackageVersions>;
32
+ /**
33
+ * Clear the cached versions (useful for testing)
34
+ */
35
+ export declare function clearVersionCache(): void;
36
+ export {};
37
+ //# sourceMappingURL=get-package-versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-package-versions.d.ts","sourceRoot":"","sources":["../../src/helpers/get-package-versions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,UAAU,eAAe;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B,EAAE,MAAM,CAAC;IACnC,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AA8BD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAuCnE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Package Version Helper
3
+ *
4
+ * Reads dependency versions from the scaffolder's own package.json
5
+ * to ensure scaffolded projects use consistent, tested versions.
6
+ *
7
+ * This is the SINGLE SOURCE OF TRUTH for @kya-os/* package versions
8
+ * used in scaffolded templates.
9
+ *
10
+ * Benefits:
11
+ * - No more hardcoded canary versions in template files
12
+ * - Scaffolder's package.json already validated before publish
13
+ * - Consistent versions across all template types (Node.js, Cloudflare, etc.)
14
+ */
15
+ import fs from "fs-extra";
16
+ import path from "path";
17
+ import { fileURLToPath } from "url";
18
+ // Get the directory of this module
19
+ const __filename = fileURLToPath(import.meta.url);
20
+ const __dirname = path.dirname(__filename);
21
+ // Cache the versions to avoid repeated file reads
22
+ let cachedVersions = null;
23
+ /**
24
+ * Normalize a version string for use in scaffolded templates.
25
+ *
26
+ * Rules:
27
+ * - Stable versions (e.g., "^1.6.0"): Keep caret for minor updates
28
+ * - Canary versions (e.g., "^1.5.9-canary.29"): Remove caret to pin exact version
29
+ * (npm resolves ^canary to stable, which breaks canary-only features)
30
+ *
31
+ * @param version - The version string from package.json
32
+ * @returns Normalized version string safe for scaffolding
33
+ */
34
+ function normalizeVersion(version) {
35
+ // Remove leading caret or tilde
36
+ const cleanVersion = version.replace(/^[\^~]/, "");
37
+ // For canary versions, use exact pinning (no caret)
38
+ // For stable versions, use caret to allow patch updates
39
+ if (cleanVersion.includes("canary")) {
40
+ return cleanVersion; // Exact: "1.5.9-canary.29"
41
+ }
42
+ // Stable version - use caret for flexibility
43
+ return `^${cleanVersion}`; // "^1.6.0"
44
+ }
45
+ /**
46
+ * Get package versions from the scaffolder's package.json
47
+ *
48
+ * This function reads the create-mcpi-app package.json and extracts
49
+ * the @kya-os/* dependency versions, normalizing them for safe use
50
+ * in scaffolded templates.
51
+ *
52
+ * @returns Object with normalized package versions
53
+ * @throws Error if package.json cannot be read
54
+ */
55
+ export async function getPackageVersions() {
56
+ if (cachedVersions) {
57
+ return cachedVersions;
58
+ }
59
+ // Navigate from helpers/ up to the package root
60
+ // src/helpers/ -> src/ -> package root
61
+ const packageJsonPath = path.resolve(__dirname, "../../package.json");
62
+ try {
63
+ const packageJson = await fs.readJson(packageJsonPath);
64
+ const deps = packageJson.dependencies || {};
65
+ // Extract and normalize versions
66
+ cachedVersions = {
67
+ "@kya-os/mcp-i": normalizeVersion(deps["@kya-os/mcp-i"] || "^1.6.0"),
68
+ "@kya-os/cli": normalizeVersion(deps["@kya-os/cli"] || "^1.4.0"),
69
+ "@kya-os/mcp-i-cloudflare": normalizeVersion(deps["@kya-os/mcp-i-cloudflare"] || "^1.6.0"),
70
+ "@kya-os/contracts": normalizeVersion(deps["@kya-os/contracts"] || "^1.6.0"),
71
+ };
72
+ return cachedVersions;
73
+ }
74
+ catch (error) {
75
+ // Fallback to safe default versions if package.json can't be read
76
+ console.warn("[getPackageVersions] Warning: Could not read package.json, using defaults");
77
+ return {
78
+ "@kya-os/mcp-i": "^1.6.0",
79
+ "@kya-os/cli": "^1.4.0",
80
+ "@kya-os/mcp-i-cloudflare": "^1.6.0",
81
+ "@kya-os/contracts": "^1.6.0",
82
+ };
83
+ }
84
+ }
85
+ /**
86
+ * Clear the cached versions (useful for testing)
87
+ */
88
+ export function clearVersionCache() {
89
+ cachedVersions = null;
90
+ }
91
+ //# sourceMappingURL=get-package-versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-package-versions.js","sourceRoot":"","sources":["../../src/helpers/get-package-versions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,mCAAmC;AACnC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAS3C,kDAAkD;AAClD,IAAI,cAAc,GAA2B,IAAI,CAAC;AAElD;;;;;;;;;;GAUG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACvC,gCAAgC;IAChC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEnD,oDAAoD;IACpD,wDAAwD;IACxD,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO,YAAY,CAAC,CAAC,2BAA2B;IAClD,CAAC;IAED,6CAA6C;IAC7C,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC,WAAW;AACxC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,gDAAgD;IAChD,uCAAuC;IACvC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAEtE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;QAE5C,iCAAiC;QACjC,cAAc,GAAG;YACf,eAAe,EAAE,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC;YACpE,aAAa,EAAE,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC;YAChE,0BAA0B,EAAE,gBAAgB,CAC1C,IAAI,CAAC,0BAA0B,CAAC,IAAI,QAAQ,CAC7C;YACD,mBAAmB,EAAE,gBAAgB,CACnC,IAAI,CAAC,mBAAmB,CAAC,IAAI,QAAQ,CACtC;SACF,CAAC;QAEF,OAAO,cAAc,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kEAAkE;QAClE,OAAO,CAAC,IAAI,CACV,2EAA2E,CAC5E,CAAC;QAEF,OAAO;YACL,eAAe,EAAE,QAAQ;YACzB,aAAa,EAAE,QAAQ;YACvB,0BAA0B,EAAE,QAAQ;YACpC,mBAAmB,EAAE,QAAQ;SAC9B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kya-os/create-mcpi-app",
3
- "version": "1.8.1",
3
+ "version": "1.8.2",
4
4
  "description": "Scaffold a new MCP-I application",
5
5
  "bin": {
6
6
  "create-mcpi-app": "./dist/index.js"
@@ -14,11 +14,11 @@
14
14
  "prepublishOnly": "npm run build && node scripts/validate-dependencies.js && node scripts/validate-template-versions.js"
15
15
  },
16
16
  "dependencies": {
17
- "@kya-os/cli": "^1.4.0",
17
+ "@kya-os/cli": "^1.4.1",
18
18
  "@kya-os/cli-effects": "^1.0.19",
19
- "@kya-os/contracts": "^1.6.0",
20
- "@kya-os/mcp-i": "^1.6.0",
21
- "@kya-os/mcp-i-cloudflare": "^1.6.0",
19
+ "@kya-os/contracts": "^1.6.1",
20
+ "@kya-os/mcp-i": "^1.6.1",
21
+ "@kya-os/mcp-i-cloudflare": "^1.6.2",
22
22
  "base-x": "^5.0.0",
23
23
  "chalk": "^4.1.2",
24
24
  "commander": "^12.1.0",
@@ -1,509 +0,0 @@
1
-
2
- 
3
- > @kya-os/create-mcpi-app@1.7.42-canary.81 test:coverage /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
4
- > vitest run --coverage
5
-
6
- [?25l
7
-  RUN  v4.0.5 /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
8
- Coverage enabled with v8
9
-
10
- [?2026h
11
-  ❯ src/__tests__/helpers/install.test.ts [queued]
12
-
13
-  Test Files 0 passed (14)
14
-  Tests 0 passed (0)
15
-  Start at 17:53:02
16
-  Duration 103ms
17
- [?2026l[?2026h
18
-  ❯ src/__tests__/cloudflare-template.test.ts [queued]
19
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
20
-  ❯ src/__tests__/helpers/generate-config.test.ts [queued]
21
-  ❯ src/__tests__/helpers/generate-identity.test.ts [queued]
22
-  ❯ src/__tests__/helpers/install.test.ts [queued]
23
-  ❯ src/__tests__/helpers/validate-project-structure.test.ts [queued]
24
-  ❯ src/__tests__/scaffolder-envprefix.test.ts [queued]
25
-  ❯ src/helpers/__tests__/config-builder.spec.ts [queued]
26
-  ❯ test-cloudflare/tests/cache-invalidation.test.ts [queued]
27
-  ❯ test-cloudflare/tests/delegation.test.ts [queued]
28
-  ❯ test-cloudflare/tests/do-routing.test.ts 0/14
29
-  ❯ test-cloudflare/tests/session-management.test.ts [queued]
30
-
31
-  Test Files 0 passed (14)
32
-  Tests 0 passed (14)
33
-  Start at 17:53:02
34
-  Duration 205ms
35
- [?2026l[?2026h ✓ test-cloudflare/tests/cache-invalidation.test.ts (18 tests) 7ms
36
- stdout | test-cloudflare/tests/session-management.test.ts > Session Management > Session Security > should not expose session data in logs
37
- [Session] Created session: secure-session
38
-
39
-
40
-  ❯ src/__tests__/cloudflare-template.test.ts [queued]
41
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
42
-  ❯ src/__tests__/helpers/generate-config.test.ts 0/25
43
-  ❯ src/__tests__/helpers/generate-identity.test.ts 0/24
44
-  ❯ src/__tests__/helpers/install.test.ts 0/20
45
-  ❯ src/__tests__/helpers/validate-project-structure.test.ts 0/23
46
-  ❯ src/__tests__/scaffolder-envprefix.test.ts [queued]
47
-  ❯ src/utils/__tests__/fetch-remote-config.test.ts 0/9
48
-  ❯ test-cloudflare/tests/delegation.test.ts 0/12
49
-  ❯ test-cloudflare/tests/do-routing.test.ts 0/14
50
-
51
-  Test Files 3 passed (14)
52
-  Tests 47 passed (174)
53
-  Start at 17:53:02
54
-  Duration 408ms
55
- [?2026l[?2026hstderr | src/helpers/__tests__/config-builder.spec.ts > buildConfigWithRemote > should fallback to local config when remote fetch fails
56
- [RemoteConfig] Neither projectId nor agentDid provided
57
-
58
-
59
-  ❯ src/__tests__/cloudflare-template.test.ts [queued]
60
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
61
-  ❯ src/__tests__/helpers/generate-config.test.ts 0/25
62
-  ❯ src/__tests__/helpers/generate-identity.test.ts 0/24
63
-  ❯ src/__tests__/helpers/install.test.ts 0/20
64
-  ❯ src/__tests__/helpers/validate-project-structure.test.ts 0/23
65
-  ❯ src/__tests__/scaffolder-envprefix.test.ts [queued]
66
-  ❯ src/utils/__tests__/fetch-remote-config.test.ts 0/9
67
-  ❯ test-cloudflare/tests/delegation.test.ts 0/12
68
-  ❯ test-cloudflare/tests/do-routing.test.ts 0/14
69
-
70
-  Test Files 3 passed (14)
71
-  Tests 47 passed (174)
72
-  Start at 17:53:02
73
-  Duration 408ms
74
- [?2026l[?2026h ✓ src/helpers/__tests__/config-builder.spec.ts (12 tests) 4ms
75
- ✓ test-cloudflare/tests/session-management.test.ts (17 tests) 22ms
76
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with npm
77
- 
78
- 📦 Installing dependencies with npm...
79
- ✓ Lockfile created (package-lock.json) - remember to commit it
80
-
81
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with yarn
82
- 
83
- 📦 Installing dependencies with yarn...
84
- ✓ Lockfile created (yarn.lock) - remember to commit it
85
-
86
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with pnpm
87
- 
88
- 📦 Installing dependencies with pnpm...
89
- ✓ Lockfile created (pnpm-lock.yaml) - remember to commit it
90
-
91
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should use correct working directory
92
- 
93
- 📦 Installing dependencies with npm...
94
- ✓ Lockfile created (package-lock.json) - remember to commit it
95
-
96
-
97
-  ❯ src/__tests__/cloudflare-template.test.ts [queued]
98
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
99
-  ❯ src/__tests__/helpers/generate-config.test.ts 0/25
100
-  ❯ src/__tests__/helpers/generate-identity.test.ts 0/24
101
-  ❯ src/__tests__/helpers/install.test.ts 0/20
102
-  ❯ src/__tests__/helpers/validate-project-structure.test.ts 0/23
103
-  ❯ src/__tests__/scaffolder-envprefix.test.ts [queued]
104
-  ❯ src/utils/__tests__/fetch-remote-config.test.ts 0/9
105
-  ❯ test-cloudflare/tests/delegation.test.ts 0/12
106
-  ❯ test-cloudflare/tests/do-routing.test.ts 0/14
107
-
108
-  Test Files 3 passed (14)
109
-  Tests 47 passed (174)
110
-  Start at 17:53:02
111
-  Duration 408ms
112
- [?2026l[?2026hstderr | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should report correct package manager in log
113
- ⚠️ Warning: No lockfile generated (pnpm-lock.yaml)
114
-
115
-
116
-  ❯ src/__tests__/cloudflare-template.test.ts [queued]
117
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
118
-  ❯ src/__tests__/helpers/generate-config.test.ts 0/25
119
-  ❯ src/__tests__/helpers/generate-identity.test.ts 0/24
120
-  ❯ src/__tests__/helpers/install.test.ts 0/20
121
-  ❯ src/__tests__/helpers/validate-project-structure.test.ts 0/23
122
-  ❯ src/__tests__/scaffolder-envprefix.test.ts [queued]
123
-  ❯ src/utils/__tests__/fetch-remote-config.test.ts 0/9
124
-  ❯ test-cloudflare/tests/delegation.test.ts 0/12
125
-  ❯ test-cloudflare/tests/do-routing.test.ts 0/14
126
-
127
-  Test Files 3 passed (14)
128
-  Tests 47 passed (174)
129
-  Start at 17:53:02
130
-  Duration 408ms
131
- [?2026l[?2026hstdout | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should check for lockfile after installation
132
- 
133
- 📦 Installing dependencies with npm...
134
- ✓ Lockfile created (package-lock.json) - remember to commit it
135
-
136
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
137
- 
138
- 📦 Installing dependencies with npm...
139
-
140
-
141
-  ❯ src/__tests__/cloudflare-template.test.ts [queued]
142
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
143
-  ❯ src/__tests__/helpers/generate-config.test.ts 0/25
144
-  ❯ src/__tests__/helpers/generate-identity.test.ts 0/24
145
-  ❯ src/__tests__/helpers/install.test.ts 0/20
146
-  ❯ src/__tests__/helpers/validate-project-structure.test.ts 0/23
147
-  ❯ src/__tests__/scaffolder-envprefix.test.ts [queued]
148
-  ❯ src/utils/__tests__/fetch-remote-config.test.ts 0/9
149
-  ❯ test-cloudflare/tests/delegation.test.ts 0/12
150
-  ❯ test-cloudflare/tests/do-routing.test.ts 0/14
151
-
152
-  Test Files 3 passed (14)
153
-  Tests 47 passed (174)
154
-  Start at 17:53:02
155
-  Duration 408ms
156
- [?2026l[?2026hstderr | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
157
- Failed to install dependencies with npm.
158
-
159
-
160
-  ❯ src/__tests__/cloudflare-template.test.ts [queued]
161
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
162
-  ❯ src/__tests__/helpers/generate-config.test.ts 0/25
163
-  ❯ src/__tests__/helpers/generate-identity.test.ts 0/24
164
-  ❯ src/__tests__/helpers/install.test.ts 0/20
165
-  ❯ src/__tests__/helpers/validate-project-structure.test.ts 0/23
166
-  ❯ src/__tests__/scaffolder-envprefix.test.ts [queued]
167
-  ❯ src/utils/__tests__/fetch-remote-config.test.ts 0/9
168
-  ❯ test-cloudflare/tests/delegation.test.ts 0/12
169
-  ❯ test-cloudflare/tests/do-routing.test.ts 0/14
170
-
171
-  Test Files 3 passed (14)
172
-  Tests 47 passed (174)
173
-  Start at 17:53:02
174
-  Duration 408ms
175
- [?2026l[?2026hstdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
176
- 
177
- 📦 Installing dependencies with npm...
178
-
179
-
180
-  ❯ src/__tests__/cloudflare-template.test.ts [queued]
181
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
182
-  ❯ src/__tests__/helpers/generate-config.test.ts 0/25
183
-  ❯ src/__tests__/helpers/generate-identity.test.ts 0/24
184
-  ❯ src/__tests__/helpers/install.test.ts 0/20
185
-  ❯ src/__tests__/helpers/validate-project-structure.test.ts 0/23
186
-  ❯ src/__tests__/scaffolder-envprefix.test.ts [queued]
187
-  ❯ src/utils/__tests__/fetch-remote-config.test.ts 0/9
188
-  ❯ test-cloudflare/tests/delegation.test.ts 0/12
189
-  ❯ test-cloudflare/tests/do-routing.test.ts 0/14
190
-
191
-  Test Files 3 passed (14)
192
-  Tests 47 passed (174)
193
-  Start at 17:53:02
194
-  Duration 408ms
195
- [?2026l[?2026hstderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
196
- Failed to install dependencies with npm.
197
-
198
-
199
-  ❯ src/__tests__/cloudflare-template.test.ts [queued]
200
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
201
-  ❯ src/__tests__/helpers/generate-config.test.ts 0/25
202
-  ❯ src/__tests__/helpers/generate-identity.test.ts 0/24
203
-  ❯ src/__tests__/helpers/install.test.ts 0/20
204
-  ❯ src/__tests__/helpers/validate-project-structure.test.ts 0/23
205
-  ❯ src/__tests__/scaffolder-envprefix.test.ts [queued]
206
-  ❯ src/utils/__tests__/fetch-remote-config.test.ts 0/9
207
-  ❯ test-cloudflare/tests/delegation.test.ts 0/12
208
-  ❯ test-cloudflare/tests/do-routing.test.ts 0/14
209
-
210
-  Test Files 3 passed (14)
211
-  Tests 47 passed (174)
212
-  Start at 17:53:02
213
-  Duration 408ms
214
- [?2026l[?2026hstdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
215
- 
216
- 📦 Installing dependencies with npm...
217
-
218
-
219
-  ❯ src/__tests__/cloudflare-template.test.ts [queued]
220
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
221
-  ❯ src/__tests__/helpers/generate-config.test.ts 0/25
222
-  ❯ src/__tests__/helpers/generate-identity.test.ts 0/24
223
-  ❯ src/__tests__/helpers/install.test.ts 0/20
224
-  ❯ src/__tests__/helpers/validate-project-structure.test.ts 0/23
225
-  ❯ src/__tests__/scaffolder-envprefix.test.ts [queued]
226
-  ❯ src/utils/__tests__/fetch-remote-config.test.ts 0/9
227
-  ❯ test-cloudflare/tests/delegation.test.ts 0/12
228
-  ❯ test-cloudflare/tests/do-routing.test.ts 0/14
229
-
230
-  Test Files 3 passed (14)
231
-  Tests 47 passed (174)
232
-  Start at 17:53:02
233
-  Duration 408ms
234
- [?2026l[?2026hstderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
235
- Failed to install dependencies with npm.
236
-
237
-
238
-  ❯ src/__tests__/cloudflare-template.test.ts [queued]
239
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
240
-  ❯ src/__tests__/helpers/generate-config.test.ts 0/25
241
-  ❯ src/__tests__/helpers/generate-identity.test.ts 0/24
242
-  ❯ src/__tests__/helpers/install.test.ts 0/20
243
-  ❯ src/__tests__/helpers/validate-project-structure.test.ts 0/23
244
-  ❯ src/__tests__/scaffolder-envprefix.test.ts [queued]
245
-  ❯ src/utils/__tests__/fetch-remote-config.test.ts 0/9
246
-  ❯ test-cloudflare/tests/delegation.test.ts 0/12
247
-  ❯ test-cloudflare/tests/do-routing.test.ts 0/14
248
-
249
-  Test Files 3 passed (14)
250
-  Tests 47 passed (174)
251
-  Start at 17:53:02
252
-  Duration 408ms
253
- [?2026l[?2026hstdout | src/__tests__/helpers/install.test.ts > install > Error handling > should log error message when installation fails
254
- 
255
- 📦 Installing dependencies with npm...
256
-
257
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
258
- 
259
- 📦 Installing dependencies with unknown...
260
-
261
-
262
-  ❯ src/__tests__/cloudflare-template.test.ts [queued]
263
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
264
-  ❯ src/__tests__/helpers/generate-config.test.ts 0/25
265
-  ❯ src/__tests__/helpers/generate-identity.test.ts 0/24
266
-  ❯ src/__tests__/helpers/install.test.ts 0/20
267
-  ❯ src/__tests__/helpers/validate-project-structure.test.ts 0/23
268
-  ❯ src/__tests__/scaffolder-envprefix.test.ts [queued]
269
-  ❯ src/utils/__tests__/fetch-remote-config.test.ts 0/9
270
-  ❯ test-cloudflare/tests/delegation.test.ts 0/12
271
-  ❯ test-cloudflare/tests/do-routing.test.ts 0/14
272
-
273
-  Test Files 3 passed (14)
274
-  Tests 47 passed (174)
275
-  Start at 17:53:02
276
-  Duration 408ms
277
- [?2026l[?2026hstderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
278
- ⚠️ Warning: Unknown package manager "unknown", cannot check lockfile
279
-
280
-
281
-  ❯ src/__tests__/cloudflare-template.test.ts [queued]
282
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
283
-  ❯ src/__tests__/helpers/generate-config.test.ts 0/25
284
-  ❯ src/__tests__/helpers/generate-identity.test.ts 0/24
285
-  ❯ src/__tests__/helpers/install.test.ts 0/20
286
-  ❯ src/__tests__/helpers/validate-project-structure.test.ts 0/23
287
-  ❯ src/__tests__/scaffolder-envprefix.test.ts [queued]
288
-  ❯ src/utils/__tests__/fetch-remote-config.test.ts 0/9
289
-  ❯ test-cloudflare/tests/delegation.test.ts 0/12
290
-  ❯ test-cloudflare/tests/do-routing.test.ts 0/14
291
-
292
-  Test Files 3 passed (14)
293
-  Tests 47 passed (174)
294
-  Start at 17:53:02
295
-  Duration 408ms
296
- [?2026l[?2026hstdout | src/__tests__/helpers/install.test.ts > install > Lockfile validation > should warn when lockfile not created
297
- 
298
- 📦 Installing dependencies with npm...
299
-
300
-
301
-  ❯ src/__tests__/cloudflare-template.test.ts [queued]
302
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts [queued]
303
-  ❯ src/__tests__/helpers/generate-config.test.ts 0/25
304
-  ❯ src/__tests__/helpers/generate-identity.test.ts 0/24
305
-  ❯ src/__tests__/helpers/install.test.ts 0/20
306
-  ❯ src/__tests__/helpers/validate-project-structure.test.ts 0/23
307
-  ❯ src/__tests__/scaffolder-envprefix.test.ts [queued]
308
-  ❯ src/utils/__tests__/fetch-remote-config.test.ts 0/9
309
-  ❯ test-cloudflare/tests/delegation.test.ts 0/12
310
-  ❯ test-cloudflare/tests/do-routing.test.ts 0/14
311
-
312
-  Test Files 3 passed (14)
313
-  Tests 47 passed (174)
314
-  Start at 17:53:02
315
-  Duration 408ms
316
- [?2026l[?2026h ✓ src/utils/__tests__/fetch-remote-config.test.ts (9 tests) 7ms
317
- ✓ src/__tests__/helpers/install.test.ts (20 tests) 53ms
318
- ✓ test-cloudflare/tests/delegation.test.ts (12 tests) 34ms
319
- ✓ src/__tests__/helpers/generate-config.test.ts (25 tests) 56ms
320
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
321
- 
322
- 🏗️ Generating Cloudflare MCP-I project: test-agent...
323
-
324
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
325
- 🔑 Generating cryptographic identity...
326
-
327
- ✓ src/__tests__/helpers/generate-identity.test.ts (24 tests) 88ms
328
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
329
- ✔ Created Cloudflare MCP-I template files
330
- - Generated identity keys in .dev.vars
331
- - Configured wrangler.toml with KV namespaces
332
- - Created modular tool structure
333
- - Created setup script for KV namespace creation
334
-
335
- ============================================================
336
- 🎉 Cloudflare MCP-I project created successfully!
337
- ============================================================
338
-
339
- 📝 Important Configuration Notes:
340
-
341
- 1. ADMIN_API_KEY (in .dev.vars):
342
- - Set to same value as AGENTSHIELD_API_KEY for convenience
343
- - You can change it if you need separate admin endpoint security
344
- - Required for admin endpoints like /admin/clear-cache
345
-
346
- 2. KV Namespaces (in wrangler.toml):
347
- - Required for MCP-I security features
348
- - Auto-created by 'npm run setup' script
349
- - Check wrangler.toml for 'TODO_REPLACE_WITH_ID' if setup failed
350
-
351
- 🚀 Next Steps:
352
- cd test-agent
353
-
354
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
355
-  wrangler login # Login to Cloudflare first!
356
- npm run setup # Create KV namespaces
357
- npm run dev # Start local development
358
- npm run deploy # Deploy to Cloudflare
359
-
360
-
361
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
362
- 
363
- 🏗️ Generating Cloudflare MCP-I project: my-awesome-agent...
364
-
365
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
366
- 🔑 Generating cryptographic identity...
367
-
368
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
369
- ✔ Created Cloudflare MCP-I template files
370
- - Generated identity keys in .dev.vars
371
- - Configured wrangler.toml with KV namespaces
372
- - Created modular tool structure
373
- - Created setup script for KV namespace creation
374
-
375
- ============================================================
376
- 🎉 Cloudflare MCP-I project created successfully!
377
- ============================================================
378
-
379
- 📝 Important Configuration Notes:
380
-
381
- 1. ADMIN_API_KEY (in .dev.vars):
382
- - Set to same value as AGENTSHIELD_API_KEY for convenience
383
- - You can change it if you need separate admin endpoint security
384
- - Required for admin endpoints like /admin/clear-cache
385
-
386
- 2. KV Namespaces (in wrangler.toml):
387
- - Required for MCP-I security features
388
- - Auto-created by 'npm run setup' script
389
- - Check wrangler.toml for 'TODO_REPLACE_WITH_ID' if setup failed
390
-
391
- 🚀 Next Steps:
392
- cd my-awesome-agent
393
-
394
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
395
-  wrangler login # Login to Cloudflare first!
396
- npm run setup # Create KV namespaces
397
- npm run dev # Start local development
398
- npm run deploy # Deploy to Cloudflare
399
-
400
-
401
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
402
- 
403
- 🏗️ Generating Cloudflare MCP-I project: test-agent...
404
-
405
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
406
- 🔑 Generating cryptographic identity...
407
-
408
- ✓ src/__tests__/helpers/validate-project-structure.test.ts (23 tests) 53ms
409
- ✓ test-cloudflare/tests/cors-security.test.ts (29 tests) 4ms
410
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
411
- ✔ Created Cloudflare MCP-I template files
412
- - Generated identity keys in .dev.vars
413
- - Configured wrangler.toml with KV namespaces
414
- - Created modular tool structure
415
- - Created setup script for KV namespace creation
416
-
417
- ============================================================
418
- 🎉 Cloudflare MCP-I project created successfully!
419
- ============================================================
420
-
421
- 📝 Important Configuration Notes:
422
-
423
- 1. ADMIN_API_KEY (in .dev.vars):
424
- - Set to same value as AGENTSHIELD_API_KEY for convenience
425
- - You can change it if you need separate admin endpoint security
426
- - Required for admin endpoints like /admin/clear-cache
427
-
428
- 2. KV Namespaces (in wrangler.toml):
429
- - Required for MCP-I security features
430
- - Auto-created by 'npm run setup' script
431
- - Check wrangler.toml for 'TODO_REPLACE_WITH_ID' if setup failed
432
-
433
- 🚀 Next Steps:
434
- cd test-agent
435
-
436
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
437
-  wrangler login # Login to Cloudflare first!
438
- npm run setup # Create KV namespaces
439
- npm run dev # Start local development
440
- npm run deploy # Deploy to Cloudflare
441
-
442
-
443
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should match envPrefix with KV binding names in wrangler.toml
444
- 
445
- 🏗️ Generating Cloudflare MCP-I project: test-agent...
446
-
447
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should match envPrefix with KV binding names in wrangler.toml
448
- 🔑 Generating cryptographic identity...
449
-
450
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should match envPrefix with KV binding names in wrangler.toml
451
- ✔ Created Cloudflare MCP-I template files
452
- - Generated identity keys in .dev.vars
453
- - Configured wrangler.toml with KV namespaces
454
- - Created modular tool structure
455
- - Created setup script for KV namespace creation
456
-
457
- ============================================================
458
- 🎉 Cloudflare MCP-I project created successfully!
459
- ============================================================
460
-
461
- 📝 Important Configuration Notes:
462
-
463
- 1. ADMIN_API_KEY (in .dev.vars):
464
- - Set to same value as AGENTSHIELD_API_KEY for convenience
465
- - You can change it if you need separate admin endpoint security
466
- - Required for admin endpoints like /admin/clear-cache
467
-
468
- 2. KV Namespaces (in wrangler.toml):
469
- - Required for MCP-I security features
470
- - Auto-created by 'npm run setup' script
471
- - Check wrangler.toml for 'TODO_REPLACE_WITH_ID' if setup failed
472
-
473
- 🚀 Next Steps:
474
- cd test-agent
475
-
476
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should match envPrefix with KV binding names in wrangler.toml
477
-  wrangler login # Login to Cloudflare first!
478
- npm run setup # Create KV namespaces
479
- npm run dev # Start local development
480
- npm run deploy # Deploy to Cloudflare
481
-
482
-
483
- ✓ src/__tests__/scaffolder-envprefix.test.ts (4 tests) 68ms
484
- ✓ test-cloudflare/tests/do-routing.test.ts (14 tests) 202ms
485
-
486
-  ❯ src/__tests__/cloudflare-template.test.ts 1/30
487
-  ❯ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts 0/21
488
-
489
-  Test Files 12 passed (14)
490
-  Tests 208 passed (258)
491
-  Start at 17:53:02
492
-  Duration 508ms
493
- [?2026l ✓ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts (21 tests) 147ms
494
- ✓ src/__tests__/cloudflare-template.test.ts (30 tests | 2 skipped) 175ms
495
-
496
-  Test Files  14 passed (14)
497
-  Tests  256 passed | 2 skipped (258)
498
-  Start at  17:53:02
499
-  Duration  682ms (transform 1.12s, setup 0ms, collect 1.79s, tests 922ms, environment 1ms, prepare 317ms)
500
-
501
-  % Coverage report from v8
502
-
503
- =============================== Coverage summary ===============================
504
- Statements : 26.5% ( 216/815 )
505
- Branches : 24.63% ( 102/414 )
506
- Functions : 32.14% ( 18/56 )
507
- Lines : 26.69% ( 216/809 )
508
- ================================================================================
509
- [?25h