@kya-os/create-mcpi-app 1.8.0 → 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,21 +1,23 @@
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/cache-invalidation.test.ts (18 tests) 8ms
9
- ✓ test-cloudflare/tests/delegation.test.ts (12 tests) 6ms
10
- ✓ test-cloudflare/tests/cors-security.test.ts (29 tests) 21ms
8
+ ✓ test-cloudflare/tests/delegation.test.ts (12 tests) 4ms
9
+ ✓ test-cloudflare/tests/cache-invalidation.test.ts (18 tests) 4ms
11
10
  stdout | test-cloudflare/tests/session-management.test.ts > Session Management > Session Security > should not expose session data in logs
12
11
  [Session] Created session: secure-session
13
12
 
14
- src/utils/__tests__/fetch-remote-config.test.ts (9 tests) 6ms
15
- test-cloudflare/tests/session-management.test.ts (17 tests) 17ms
16
- ✓ src/__tests__/helpers/generate-identity.test.ts (24 tests) 28ms
17
- test-cloudflare/tests/do-routing.test.ts (14 tests) 50ms
18
- ✓ src/__tests__/helpers/generate-config.test.ts (25 tests) 64ms
13
+ test-cloudflare/tests/session-management.test.ts (17 tests) 20ms
14
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
15
+
16
+ 🏗️ Generating Cloudflare MCP-I project: test-agent...
17
+
18
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
19
+ 🔑 Generating cryptographic identity...
20
+
19
21
  stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with npm
20
22
 
21
23
  📦 Installing dependencies with npm...
@@ -31,45 +33,56 @@ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installati
31
33
  📦 Installing dependencies with pnpm...
32
34
  ✓ Lockfile created (pnpm-lock.yaml) - remember to commit it
33
35
 
34
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
35
-
36
- 🏗️ Generating Cloudflare MCP-I project: test-agent...
37
-
38
- stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
39
- 🔑 Generating cryptographic identity...
40
-
41
36
  stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should use correct working directory
42
37
 
43
38
  📦 Installing dependencies with npm...
44
39
  ✓ Lockfile created (package-lock.json) - remember to commit it
45
40
 
46
- stderr | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should report correct package manager in log
47
- ⚠️ Warning: No lockfile generated (pnpm-lock.yaml)
48
41
  stdout | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should check for lockfile after installation
49
-
42
+ stderr | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should report correct package manager in log
50
43
 
51
44
  📦 Installing dependencies with npm...
52
45
  ✓ Lockfile created (package-lock.json) - remember to commit it
46
+ ⚠️ Warning: No lockfile generated (pnpm-lock.yaml)
47
+
53
48
 
54
49
  stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
55
50
 
56
51
  stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
57
- Failed to install dependencies with npm.
58
52
  📦 Installing dependencies with npm...
59
53
 
60
-
54
+ Failed to install dependencies with npm.
61
55
  stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
62
56
 
63
57
  📦 Installing dependencies with npm...
64
58
 
59
+
65
60
  stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
66
61
  Failed to install dependencies with npm.
67
62
 
68
- stderr | src/helpers/__tests__/config-builder.spec.ts > buildConfigWithRemote > should fallback to local config when remote fetch fails
69
- [RemoteConfig] Neither projectId nor agentDid provided
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...
70
85
 
71
- ✓ src/helpers/__tests__/config-builder.spec.ts (12 tests) 4ms
72
- ✓ src/__tests__/helpers/validate-project-structure.test.ts (23 tests) 56ms
73
86
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
74
87
  ✔ Created Cloudflare MCP-I template files
75
88
  - Generated identity keys in .dev.vars
@@ -96,6 +109,9 @@ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Confi
96
109
  🚀 Next Steps:
97
110
  cd test-agent
98
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
99
115
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
100
116
  wrangler login # Login to Cloudflare first!
101
117
  npm run setup # Create KV namespaces
@@ -103,10 +119,8 @@ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Confi
103
119
  npm run deploy # Deploy to Cloudflare
104
120
 
105
121
 
106
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
107
-
108
- 📦 Installing dependencies with npm...
109
-
122
+ src/__tests__/helpers/validate-project-structure.test.ts (23 tests) 56ms
123
+ ✓ src/__tests__/helpers/generate-config.test.ts (25 tests) 59ms
110
124
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
111
125
 
112
126
  🏗️ Generating Cloudflare MCP-I project: my-awesome-agent...
@@ -114,13 +128,11 @@ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Confi
114
128
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
115
129
  🔑 Generating cryptographic identity...
116
130
 
117
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
118
- Failed to install dependencies with npm.
119
-
120
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should log error message when installation fails
121
-
122
- 📦 Installing dependencies with npm...
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
123
133
 
134
+ ✓ src/helpers/__tests__/config-builder.spec.ts (12 tests) 3ms
135
+ ✓ test-cloudflare/tests/cors-security.test.ts (29 tests) 3ms
124
136
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
125
137
  ✔ Created Cloudflare MCP-I template files
126
138
  - Generated identity keys in .dev.vars
@@ -158,18 +170,6 @@ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Confi
158
170
 
159
171
  🏗️ Generating Cloudflare MCP-I project: test-agent...
160
172
 
161
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
162
-
163
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
164
- 📦 Installing dependencies with unknown...
165
-
166
- ⚠️ Warning: Unknown package manager "unknown", cannot check lockfile
167
-
168
- stdout | src/__tests__/helpers/install.test.ts > install > Lockfile validation > should warn when lockfile not created
169
-
170
- 📦 Installing dependencies with npm...
171
-
172
- ✓ src/__tests__/helpers/install.test.ts (20 tests) 125ms
173
173
  stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
174
174
  🔑 Generating cryptographic identity...
175
175
 
@@ -246,13 +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) 269ms
250
- ✓ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts (21 tests) 604ms
251
- ✓ src/__tests__/cloudflare-template.test.ts (30 tests | 2 skipped) 1193ms
252
- ✓ should not create test files by default 415ms
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
253
252
 
254
253
  Test Files 14 passed (14)
255
254
  Tests 256 passed | 2 skipped (258)
256
- Start at 20:03:16
257
- Duration 2.88s (transform 3.58s, setup 0ms, collect 5.50s, tests 2.45s, environment 1ms, prepare 295ms)
255
+ Start at 22:53:48
256
+ Duration 1.19s (transform 956ms, setup 0ms, collect 1.73s, tests 1.44s, environment 1ms, prepare 92ms)
258
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.0",
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.0";
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.0",
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