@kya-os/create-mcpi-app 1.7.39-canary.2 → 1.7.39-canary.21

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,5 +1,5 @@
1
1
 
2
- > @kya-os/create-mcpi-app@1.7.38 test /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
2
+ > @kya-os/create-mcpi-app@1.7.39-canary.16 test /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
3
3
  > vitest --run
4
4
 
5
5
  ▲ [WARNING] The condition "types" here will never be used as it comes after both "import" and "require" [package.json]
@@ -41,27 +41,37 @@
41
41
 
42
42
  RUN v4.0.5 /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app
43
43
 
44
- ✓ test-cloudflare/tests/delegation.test.ts (12 tests) 6ms
45
44
  ✓ test-cloudflare/tests/cache-invalidation.test.ts (18 tests) 5ms
46
45
  ✓ test-cloudflare/tests/cors-security.test.ts (29 tests) 4ms
47
46
  stdout | test-cloudflare/tests/session-management.test.ts > Session Management > Session Security > should not expose session data in logs
48
47
  [Session] Created session: secure-session
49
48
 
49
+ ✓ test-cloudflare/tests/delegation.test.ts (12 tests) 4ms
50
+ ✓ test-cloudflare/tests/session-management.test.ts (17 tests) 20ms
50
51
  stderr | src/utils/__tests__/fetch-remote-config.test.ts > fetchRemoteConfig > Error handling > should return null if API request fails
51
52
  [RemoteConfig] API returned 404: Not Found
52
53
 
53
- test-cloudflare/tests/session-management.test.ts (17 tests) 15ms
54
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with npm
55
+
56
+ 📦 Installing dependencies with npm...
54
57
  stderr | src/utils/__tests__/fetch-remote-config.test.ts > fetchRemoteConfig > Error handling > should return null if API throws error
55
58
  [RemoteConfig] Failed to fetch config: Error: Network error
59
+ ✓ Lockfile created (package-lock.json) - remember to commit it
56
60
  at /Users/dylanhobbs/Documents/@kya-os/xmcp-i/packages/create-mcpi-app/src/utils/__tests__/fetch-remote-config.test.ts:173:35
61
+
57
62
  at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:157:11
58
63
  at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:753:26
59
64
  at file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1636:20
65
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with yarn
60
66
  at new Promise (<anonymous>)
67
+
61
68
  at runWithTimeout (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1602:10)
69
+ 📦 Installing dependencies with yarn...
62
70
  at runTest (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1309:12)
63
71
  at processTicksAndRejections (node:internal/process/task_queues:103:5)
64
72
  at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1468:8)
73
+ ✓ Lockfile created (yarn.lock) - remember to commit it
74
+
65
75
  at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1468:8)
66
76
 
67
77
  stderr | src/utils/__tests__/fetch-remote-config.test.ts > fetchRemoteConfig > Error handling > should return null if neither projectId nor agentDid provided
@@ -80,23 +90,6 @@ stderr | src/utils/__tests__/fetch-remote-config.test.ts > fetchRemoteConfig > E
80
90
  at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1468:8)
81
91
  at runSuite (file:///Users/dylanhobbs/Documents/@kya-os/xmcp-i/node_modules/.pnpm/@vitest+runner@4.0.5/node_modules/@vitest/runner/dist/index.js:1468:8)
82
92
 
83
- ✓ src/utils/__tests__/fetch-remote-config.test.ts (9 tests) 8ms
84
- stderr | src/helpers/__tests__/config-builder.spec.ts > buildConfigWithRemote > should fallback to local config when remote fetch fails
85
- [RemoteConfig] Neither projectId nor agentDid provided
86
-
87
- ✓ src/helpers/__tests__/config-builder.spec.ts (12 tests) 5ms
88
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with npm
89
-
90
- 📦 Installing dependencies with npm...
91
- ✓ Lockfile created (package-lock.json) - remember to commit it
92
-
93
- ✓ src/__tests__/helpers/generate-identity.test.ts (24 tests) 29ms
94
- ✓ test-cloudflare/tests/do-routing.test.ts (14 tests) 63ms
95
- stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with yarn
96
-
97
- 📦 Installing dependencies with yarn...
98
- ✓ Lockfile created (yarn.lock) - remember to commit it
99
-
100
93
  stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with pnpm
101
94
 
102
95
  📦 Installing dependencies with pnpm...
@@ -107,7 +100,6 @@ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installati
107
100
  📦 Installing dependencies with npm...
108
101
  ✓ Lockfile created (package-lock.json) - remember to commit it
109
102
 
110
- ✓ src/__tests__/helpers/generate-config.test.ts (25 tests) 49ms
111
103
  stderr | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should report correct package manager in log
112
104
  ⚠️ Warning: No lockfile generated (pnpm-lock.yaml)
113
105
 
@@ -116,49 +108,57 @@ stdout | src/__tests__/helpers/install.test.ts > install > Install progress repo
116
108
  📦 Installing dependencies with npm...
117
109
  ✓ Lockfile created (package-lock.json) - remember to commit it
118
110
 
119
- stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
111
+ src/utils/__tests__/fetch-remote-config.test.ts (9 tests) 25ms
120
112
  stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
121
113
 
122
- Failed to install dependencies with npm.
123
114
  📦 Installing dependencies with npm...
124
115
 
125
-
126
116
  stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
127
117
 
128
118
  📦 Installing dependencies with npm...
129
119
 
120
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
121
+ stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
122
+
123
+ Failed to install dependencies with npm.
124
+ 📦 Installing dependencies with npm...
125
+
130
126
  stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
131
127
  Failed to install dependencies with npm.
132
128
 
133
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
129
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should log error message when installation fails
134
130
 
135
131
  📦 Installing dependencies with npm...
136
132
 
133
+
137
134
  stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
138
135
  Failed to install dependencies with npm.
139
136
 
140
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should log error message when installation fails
137
+ test-cloudflare/tests/do-routing.test.ts (14 tests) 154ms
138
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
141
139
 
142
- 📦 Installing dependencies with npm...
140
+ 📦 Installing dependencies with unknown...
143
141
 
144
142
  stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
145
143
  ⚠️ Warning: Unknown package manager "unknown", cannot check lockfile
146
- stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
147
-
148
144
 
149
- 📦 Installing dependencies with unknown...
145
+ stderr | src/helpers/__tests__/config-builder.spec.ts > buildConfigWithRemote > should fallback to local config when remote fetch fails
146
+ [RemoteConfig] Neither projectId nor agentDid provided
150
147
 
148
+ ✓ src/helpers/__tests__/config-builder.spec.ts (12 tests) 3ms
149
+ ✓ src/__tests__/helpers/generate-identity.test.ts (24 tests) 186ms
150
+ ✓ src/__tests__/helpers/generate-config.test.ts (25 tests) 58ms
151
151
  stdout | src/__tests__/helpers/install.test.ts > install > Lockfile validation > should warn when lockfile not created
152
152
 
153
153
  📦 Installing dependencies with npm...
154
154
 
155
- ✓ src/__tests__/helpers/install.test.ts (20 tests) 29ms
156
- ✓ src/__tests__/helpers/validate-project-structure.test.ts (23 tests) 63ms
157
- ✓ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts (19 tests) 139ms
158
- ✓ src/__tests__/cloudflare-template.test.ts (24 tests) 179ms
155
+ ✓ src/__tests__/helpers/install.test.ts (20 tests) 264ms
156
+ ✓ src/__tests__/helpers/validate-project-structure.test.ts (23 tests) 146ms
157
+ ✓ src/__tests__/cloudflare-template.test.ts (24 tests) 429ms
158
+ ✓ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts (21 tests) 506ms
159
159
 
160
160
  Test Files 13 passed (13)
161
- Tests 246 passed (246)
162
- Start at 05:43:19
163
- Duration 596ms (transform 704ms, setup 0ms, collect 1.23s, tests 593ms, environment 10ms, prepare 88ms)
161
+ Tests 248 passed (248)
162
+ Start at 03:15:14
163
+ Duration 1.04s (transform 1.57s, setup 0ms, collect 2.36s, tests 1.80s, environment 1ms, prepare 57ms)
164
164
 
package/README.md CHANGED
@@ -76,22 +76,20 @@ npx create-mcpi-app my-quick-agent --yes
76
76
  ```
77
77
  my-agent/
78
78
  ├── src/
79
- │ ├── server.ts # Main agent server with identity
80
- └── tools/
81
- ├── index.ts # Tool exports
82
- │ └── hello.ts # Example tool with identity integration
83
- ├── identity-info.ts # Display agent identity information
84
- ├── sign-message.ts # Sign messages with agent's key
85
- └── verify-signature.ts # Verify ownership and signatures
86
- ├── package.json # Dependencies including xmcp-i
87
- ├── tsconfig.json # TypeScript configuration
88
- ├── .env.example # Environment variables for identity
89
- ├── .gitignore # Includes identity security rules
90
- ├── .eslintrc.json # Code quality configuration
91
- └── README.md # Agent-specific documentation
79
+ │ ├── index.ts # Main agent server (~40 lines - super clean!)
80
+ ├── mcpi-runtime-config.ts # Runtime configuration (~50 lines)
81
+ └── tools/ # Your business logic only
82
+ │ └── greet.ts # Example tool
83
+ ├── wrangler.toml # Cloudflare Workers config
84
+ ├── package.json # Dependencies
85
+ └── README.md # Quick start guide
92
86
  ```
93
87
 
94
- **Security Note**: Identity management is now handled by the `mcpi` CLI. Development identities are stored in `.mcpi/identity.json` (gitignored) and production identities use environment variables.
88
+ **Key Features:**
89
+ - **Next.js-Style Architecture**: All framework complexity hidden in `@kya-os/mcp-i-cloudflare`
90
+ - **Consent Pages**: Server-hosted consent flow with XSS prevention
91
+ - **Auto-Detection**: Server URL automatically detected from requests
92
+ - **Clean Code**: Only your business logic visible - no implementation details
95
93
 
96
94
  ## Platform-Specific Features
97
95
 
@@ -102,7 +100,51 @@ my-agent/
102
100
  - **Durable Objects**: Built-in state management for MCP sessions
103
101
  - **Zero Cold Starts**: Instant response times with Durable Objects
104
102
  - **KV Storage**: Efficient nonce caching for security
105
- - **WebSockets**: Real-time bidirectional communication support
103
+ - **Consent Pages**: Server-hosted consent flow with auto-detection
104
+ - **XSS Prevention**: Secure consent page rendering with CSP headers
105
+ - **Proof Batching**: Automatic proof submission with cron-based flushing
106
+
107
+ #### Proof Batching & Cron Jobs
108
+
109
+ MCP-I automatically batches proofs for efficient submission to AgentShield. Proofs are:
110
+
111
+ 1. **Batched within requests**: When multiple tools are called, proofs are collected and submitted together
112
+ 2. **Auto-flush on batch size**: When 10 proofs accumulate, they're automatically flushed
113
+ 3. **First proof immediate**: The first proof is submitted immediately (not batched) for dashboard setup detection
114
+
115
+ **Cron Configuration (Currently Disabled):**
116
+
117
+ ⚠️ **Note**: Cloudflare Workers cron triggers are currently experiencing API parsing issues that prevent deployment. The cron trigger is commented out by default in the generated `wrangler.toml`.
118
+
119
+ Proofs work correctly without cron because:
120
+ - First proof submits immediately (ensures dashboard setup detection)
121
+ - Proofs auto-flush when batch size is reached (default: 10 proofs)
122
+ - Cron is only needed for flushing small batches that haven't reached the size limit
123
+
124
+ If you want to enable cron-based flushing in the future, uncomment the section in `wrangler.toml`:
125
+
126
+ ```toml
127
+ [[triggers.crons]]
128
+ cron = "*/5 * * * *" # Every 5 minutes (recommended)
129
+ ```
130
+
131
+ **Note**: If deployment fails with "Could not parse request body" when cron is enabled, this indicates a Cloudflare API issue. Keep cron commented out - proofs will still work correctly.
132
+
133
+ **Verifying Proof Submission:**
134
+
135
+ 1. Check Cloudflare Worker logs for `[ProofService]` messages:
136
+ - `[ProofService] Initialized:` - Service started successfully
137
+ - `[ProofService] Enqueuing proof` - Proof added to batch queue
138
+ - `[ProofService] ✅ Proofs accepted` - Proofs submitted successfully
139
+
140
+ 2. View proofs in AgentShield dashboard:
141
+ - Navigate to `/proofs` page for your project
142
+ - Proofs appear within 5 minutes of tool execution
143
+
144
+ 3. Verify tool discovery:
145
+ - Navigate to `/tools` page
146
+ - Tools are automatically discovered from proof submissions
147
+ - Ensure `MCP_SERVER_URL` is set correctly (without `/mcp` suffix)
106
148
 
107
149
  ### Vercel - Edge Identity
108
150
 
@@ -9,7 +9,8 @@
9
9
  * NOTE: buildBaseConfig has been moved to @kya-os/contracts/config for shared use.
10
10
  * This module re-exports it for backward compatibility and adds remote fetching support.
11
11
  */
12
- export { buildBaseConfig } from '@kya-os/contracts/config';
12
+ import { buildBaseConfig } from '@kya-os/contracts/config';
13
+ export { buildBaseConfig };
13
14
  import type { MCPIConfig } from '@kya-os/contracts/config';
14
15
  import { type RemoteConfigCache } from '../utils/fetch-remote-config.js';
15
16
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config-builder.d.ts","sourceRoot":"","sources":["../../src/helpers/config-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,KAAK,EACV,UAAU,EAQX,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,iCAAiC,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEzE;;;OAGG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,UAAU,CAAC,CAwBrB"}
1
+ {"version":3,"file":"config-builder.d.ts","sourceRoot":"","sources":["../../src/helpers/config-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,OAAO,KAAK,EACV,UAAU,EAQX,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,iCAAiC,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEzE;;;OAGG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,UAAU,CAAC,CAwBrB"}
@@ -9,9 +9,10 @@
9
9
  * NOTE: buildBaseConfig has been moved to @kya-os/contracts/config for shared use.
10
10
  * This module re-exports it for backward compatibility and adds remote fetching support.
11
11
  */
12
- // Re-export buildBaseConfig from contracts (single source of truth)
13
- export { buildBaseConfig } from '@kya-os/contracts/config';
12
+ // Import buildBaseConfig from contracts for local use and re-export
14
13
  import { buildBaseConfig } from '@kya-os/contracts/config';
14
+ // Re-export buildBaseConfig for backward compatibility
15
+ export { buildBaseConfig };
15
16
  import { fetchRemoteConfig } from '../utils/fetch-remote-config.js';
16
17
  /**
17
18
  * Build config with remote fetching support
@@ -1 +1 @@
1
- {"version":3,"file":"config-builder.js","sourceRoot":"","sources":["../../src/helpers/config-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,oEAAoE;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAa3D,OAAO,EACL,iBAAiB,EAGlB,MAAM,iCAAiC,CAAC;AAgCzC;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAA6B;IAE7B,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAExD,sEAAsE;IACtE,IAAI,GAAG,CAAC,mBAAmB,IAAI,aAAa,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;YACE,MAAM,EAAE,GAAG,CAAC,mBAAmB,IAAI,wBAAwB;YAC3D,MAAM,EAAE,GAAG,CAAC,mBAAmB;YAC/B,SAAS,EAAE,GAAG,CAAC,sBAAsB;YACrC,QAAQ;YACR,QAAQ,EAAE,MAAM,EAAE,YAAY;YAC9B,aAAa;SACd,EACD,KAAK,CACN,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"config-builder.js","sourceRoot":"","sources":["../../src/helpers/config-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,oEAAoE;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,uDAAuD;AACvD,OAAO,EAAE,eAAe,EAAE,CAAC;AAa3B,OAAO,EACL,iBAAiB,EAGlB,MAAM,iCAAiC,CAAC;AAgCzC;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAA6B;IAE7B,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAExD,sEAAsE;IACtE,IAAI,GAAG,CAAC,mBAAmB,IAAI,aAAa,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC;YACE,MAAM,EAAE,GAAG,CAAC,mBAAmB,IAAI,wBAAwB;YAC3D,MAAM,EAAE,GAAG,CAAC,mBAAmB;YAC/B,SAAS,EAAE,GAAG,CAAC,sBAAsB;YACrC,QAAQ;YACR,QAAQ,EAAE,MAAM,EAAE,YAAY;YAC9B,aAAa;SACd,EACD,KAAK,CACN,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-cloudflare-mcpi-template.d.ts","sourceRoot":"","sources":["../../src/helpers/fetch-cloudflare-mcpi-template.ts"],"names":[],"mappings":"AAKA,UAAU,6BAA6B;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAmuCf"}
1
+ {"version":3,"file":"fetch-cloudflare-mcpi-template.d.ts","sourceRoot":"","sources":["../../src/helpers/fetch-cloudflare-mcpi-template.ts"],"names":[],"mappings":"AAKA,UAAU,6BAA6B;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAwyCf"}
@@ -9,10 +9,24 @@ import { generateIdentity } from "./generate-identity.js";
9
9
  export async function fetchCloudflareMcpiTemplate(projectPath, options = {}) {
10
10
  const { packageManager = "npm", projectName = path.basename(projectPath), apikey, projectId, skipIdentity = false, } = options;
11
11
  // Sanitize project name for class names
12
- const className = projectName
12
+ let className = projectName
13
13
  .replace(/[^a-zA-Z0-9]/g, "")
14
14
  .replace(/^[0-9]/, "_$&");
15
+ // Fallback to prevent empty class names
16
+ if (!className || className.length === 0) {
17
+ className = "Project";
18
+ }
15
19
  const pascalClassName = className.charAt(0).toUpperCase() + className.slice(1);
20
+ // Sanitize project name for wrangler.toml (alphanumeric, lowercase, dashes only)
21
+ let wranglerName = projectName
22
+ .toLowerCase()
23
+ .replace(/[^a-z0-9-]/g, "-") // Replace invalid chars with dashes
24
+ .replace(/-+/g, "-") // Replace multiple dashes with single dash
25
+ .replace(/^-|-$/g, ""); // Remove leading/trailing dashes
26
+ // Fallback to prevent empty wrangler names
27
+ if (!wranglerName || wranglerName.length === 0) {
28
+ wranglerName = "worker";
29
+ }
16
30
  try {
17
31
  console.log(chalk.blue("📦 Setting up Cloudflare Worker MCP server..."));
18
32
  // Create package.json
@@ -53,8 +67,8 @@ export async function fetchCloudflareMcpiTemplate(projectPath, options = {}) {
53
67
  "test:coverage": "vitest run --coverage",
54
68
  },
55
69
  dependencies: {
56
- "@kya-os/contracts": "^1.5.1",
57
- "@kya-os/mcp-i-cloudflare": "^1.3.2",
70
+ "@kya-os/contracts": "^1.5.2-canary.3",
71
+ "@kya-os/mcp-i-cloudflare": "1.4.1-canary.16",
58
72
  "@modelcontextprotocol/sdk": "^1.19.1",
59
73
  agents: "^0.2.8",
60
74
  hono: "^4.9.10",
@@ -228,9 +242,38 @@ async function setup() {
228
242
 
229
243
  log(\`Creating \${ns.name} (\${ns.purpose})...\`, colors.blue);
230
244
 
245
+ // First, check if namespace already exists
246
+ let existingNamespace = null;
231
247
  try {
232
- // Create the namespace
233
- const output = execSync(\`wrangler kv namespace create "\${ns.binding}"\`, { encoding: 'utf-8', stderr: 'pipe' });
248
+ const listOutput = execSync('wrangler kv namespace list', { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
249
+
250
+ try {
251
+ const allNamespaces = JSON.parse(listOutput);
252
+ existingNamespace = allNamespaces.find(n => n.title === ns.binding);
253
+ } catch (parseError) {
254
+ // Fallback to regex if JSON parsing fails
255
+ const existingMatch = listOutput.match(new RegExp(\`"title":\\s*"\${ns.binding}"[^}]*"id":\\s*"([^"]+)"\`));
256
+ if (existingMatch && existingMatch[1]) {
257
+ existingNamespace = { id: existingMatch[1], title: ns.binding };
258
+ }
259
+ }
260
+ } catch (listError) {
261
+ // If we can't list namespaces, continue to try creating
262
+ }
263
+
264
+ if (existingNamespace && existingNamespace.id) {
265
+ kvIds[ns.binding] = existingNamespace.id;
266
+ log(\` ✅ Using existing namespace with ID: \${existingNamespace.id}\`, colors.green);
267
+ continue;
268
+ }
269
+
270
+ // Namespace doesn't exist, try to create it
271
+ try {
272
+ // Suppress stderr to avoid noisy error messages
273
+ const output = execSync(\`wrangler kv namespace create "\${ns.binding}"\`, {
274
+ encoding: 'utf-8',
275
+ stdio: ['pipe', 'pipe', 'pipe']
276
+ });
234
277
 
235
278
  // Extract the ID from output
236
279
  const idMatch = output.match(/id = "([^"]+)"/);
@@ -239,36 +282,26 @@ async function setup() {
239
282
  kvIds[ns.binding] = idMatch[1];
240
283
  log(\` ✅ Created with ID: \${idMatch[1]}\`, colors.green);
241
284
  } else {
242
- // Try to get existing namespace
243
- const listOutput = execSync('wrangler kv namespace list', { encoding: 'utf-8' });
244
-
285
+ log(\` ⚠️ Created but could not extract ID. Checking existing namespaces...\`, colors.yellow);
286
+ // Fallback: try to find it in the list
287
+ const listOutput = execSync('wrangler kv namespace list', { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
245
288
  try {
246
- const namespaces = JSON.parse(listOutput);
247
- const existingNamespace = namespaces.find(n => n.title === ns.binding);
248
-
249
- if (existingNamespace && existingNamespace.id) {
250
- kvIds[ns.binding] = existingNamespace.id;
251
- log(\` ⚠️ Namespace already exists with ID: \${existingNamespace.id}\`, colors.yellow);
252
- } else {
253
- log(\` ⚠️ Could not extract ID for \${ns.binding}. You may need to add it manually.\`, colors.yellow);
254
- }
255
- } catch (parseError) {
256
- // Fallback to regex if JSON parsing fails
257
- const existingMatch = listOutput.match(new RegExp(\`"title":\\s*"\${ns.binding}"[^}]*"id":\\s*"([^"]+)"\`));
258
-
259
- if (existingMatch && existingMatch[1]) {
260
- kvIds[ns.binding] = existingMatch[1];
261
- log(\` ⚠️ Namespace already exists with ID: \${existingMatch[1]}\`, colors.yellow);
262
- } else {
263
- log(\` ⚠️ Could not extract ID for \${ns.binding}. You may need to add it manually.\`, colors.yellow);
289
+ const allNamespaces = JSON.parse(listOutput);
290
+ const found = allNamespaces.find(n => n.title === ns.binding);
291
+ if (found && found.id) {
292
+ kvIds[ns.binding] = found.id;
293
+ log(\` ✅ Found ID: \${found.id}\`, colors.green);
264
294
  }
295
+ } catch {
296
+ // Ignore parse errors
265
297
  }
266
298
  }
267
299
  } catch (error) {
268
300
  const errorMessage = error.message || error.toString();
301
+ const errorOutput = error.stdout || error.stderr || '';
269
302
 
270
303
  // Check if this is a multiple accounts error
271
- if (errorMessage.includes('More than one account') || errorMessage.includes('multiple accounts')) {
304
+ if (errorMessage.includes('More than one account') || errorMessage.includes('multiple accounts') || errorOutput.includes('More than one account')) {
272
305
  multipleAccountsDetected = true;
273
306
  log('\\n⚠️ Multiple Cloudflare accounts detected!\\n', colors.yellow);
274
307
  log('Wrangler cannot automatically select an account in non-interactive mode.\\n', colors.yellow);
@@ -286,37 +319,39 @@ async function setup() {
286
319
  break;
287
320
  }
288
321
 
289
- // Check if namespace already exists
290
- try {
291
- const listOutput = execSync('wrangler kv namespace list', { encoding: 'utf-8' });
292
-
293
- // Parse JSON output
322
+ // Check if namespace already exists (common case - suppress noisy error)
323
+ if (errorMessage.includes('already exists') || errorOutput.includes('already exists') || errorOutput.includes('code: 10014')) {
324
+ // Try to get the existing namespace ID
294
325
  try {
295
- const namespaces = JSON.parse(listOutput);
296
-
297
- // Look for namespace by title (which matches the binding name)
298
- const existingNamespace = namespaces.find(n => n.title === ns.binding);
299
-
300
- if (existingNamespace && existingNamespace.id) {
301
- kvIds[ns.binding] = existingNamespace.id;
302
- log(\` ⚠️ Found existing namespace with ID: \${existingNamespace.id}\`, colors.yellow);
303
- } else {
304
- log(\` ⚠️ Could not find existing namespace: \${ns.binding}\`, colors.yellow);
305
- log(\` Error: \${errorMessage}\`, colors.yellow);
306
- }
307
- } catch (parseError) {
308
- // If JSON parse fails, try regex as fallback
309
- const existingMatch = listOutput.match(new RegExp(\`"title":\\s*"\${ns.binding}"[^}]*"id":\\s*"([^"]+)"\`));
310
-
311
- if (existingMatch && existingMatch[1]) {
312
- kvIds[ns.binding] = existingMatch[1];
313
- log(\` ⚠️ Found existing namespace with ID: \${existingMatch[1]}\`, colors.yellow);
314
- } else {
315
- log(\` ❌ Failed to create \${ns.binding}: \${errorMessage}\`, colors.red);
326
+ const listOutput = execSync('wrangler kv namespace list', { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
327
+
328
+ try {
329
+ const allNamespaces = JSON.parse(listOutput);
330
+ const found = allNamespaces.find(n => n.title === ns.binding);
331
+
332
+ if (found && found.id) {
333
+ kvIds[ns.binding] = found.id;
334
+ log(\` ✅ Using existing namespace with ID: \${found.id}\`, colors.green);
335
+ } else {
336
+ log(\` ⚠️ Namespace exists but could not find ID. You may need to add it manually.\`, colors.yellow);
337
+ }
338
+ } catch (parseError) {
339
+ // Fallback to regex
340
+ const existingMatch = listOutput.match(new RegExp(\`"title":\\s*"\${ns.binding}"[^}]*"id":\\s*"([^"]+)"\`));
341
+ if (existingMatch && existingMatch[1]) {
342
+ kvIds[ns.binding] = existingMatch[1];
343
+ log(\` ✅ Using existing namespace with ID: \${existingMatch[1]}\`, colors.green);
344
+ } else {
345
+ log(\` ⚠️ Namespace exists but could not find ID. You may need to add it manually.\`, colors.yellow);
346
+ }
316
347
  }
348
+ } catch (listError) {
349
+ log(\` ⚠️ Namespace may already exist. Run 'wrangler kv namespace list' to verify.\`, colors.yellow);
317
350
  }
318
- } catch (listError) {
319
- log(\` ❌ Failed to create or find \${ns.binding}\`, colors.red);
351
+ } else {
352
+ // Some other error occurred
353
+ log(\` ❌ Failed to create \${ns.binding}\`, colors.red);
354
+ log(\` Error: \${errorMessage}\`, colors.red);
320
355
  }
321
356
  }
322
357
  }
@@ -486,10 +521,15 @@ import { defineConfig } from '@kya-os/mcp-i-cloudflare';
486
521
  * or .env (Node.js). Configure them there:
487
522
  * - AGENTSHIELD_API_URL: AgentShield API base URL
488
523
  * - AGENTSHIELD_API_KEY: Your AgentShield API key
524
+ * - AGENTSHIELD_PROJECT_ID: Your AgentShield project ID (optional but recommended)
489
525
  * - MCPI_ENV: "development" or "production"
490
526
  *
491
- * Note: The service fetches tool protection config by agent DID automatically.
492
- * No project ID configuration needed!
527
+ * Tool Protection:
528
+ * - Automatically enabled if AGENTSHIELD_API_KEY and TOOL_PROTECTION_KV are set
529
+ * - Fetches tool protection config from AgentShield API by project ID
530
+ * - Caches config for 5 minutes to minimize API calls
531
+ * - Falls back to local config if API is unavailable
532
+ * - Configure delegation requirements in AgentShield dashboard
493
533
  */
494
534
  export function getRuntimeConfig(env: CloudflareEnv): CloudflareRuntimeConfig {
495
535
  return defineConfig({
@@ -499,6 +539,8 @@ export function getRuntimeConfig(env: CloudflareEnv): CloudflareRuntimeConfig {
499
539
  AGENTSHIELD_API_KEY: env.AGENTSHIELD_API_KEY,
500
540
  AGENTSHIELD_API_URL: env.AGENTSHIELD_API_URL,
501
541
  },
542
+ // Tool protection is automatically enabled by defineConfig if AGENTSHIELD_API_KEY is present
543
+ // You can override by explicitly setting toolProtection here
502
544
  // Optional: Enable admin endpoints
503
545
  admin: {
504
546
  enabled: false, // Set to true and provide ADMIN_API_KEY to enable
@@ -557,7 +599,7 @@ export default createMCPIApp({
557
599
  `;
558
600
  fs.writeFileSync(path.join(srcDir, "index.ts"), indexContent);
559
601
  const wranglerContent = `#:schema node_modules/wrangler/config-schema.json
560
- name = "${projectName}"
602
+ name = "${wranglerName}"
561
603
  main = "src/index.ts"
562
604
  compatibility_date = "2025-06-18"
563
605
  compatibility_flags = ["nodejs_compat"]
@@ -570,6 +612,27 @@ class_name = "${pascalClassName}MCP"
570
612
  tag = "v1"
571
613
  new_sqlite_classes = ["${pascalClassName}MCP"]
572
614
 
615
+ # Cron trigger for proof batch queue flushing (OPTIONAL - CURRENTLY DISABLED)
616
+ #
617
+ # NOTE: Cloudflare Workers cron triggers are currently experiencing API parsing issues
618
+ # that prevent deployment. This section is commented out by default.
619
+ #
620
+ # Proofs will still work correctly without cron because:
621
+ # 1. First proof submits immediately (for dashboard setup detection)
622
+ # 2. Proofs auto-flush when batch size is reached (default: 10 proofs)
623
+ #
624
+ # If you want to enable cron-based flushing in the future:
625
+ # 1. Uncomment the section below
626
+ # 2. Adjust the schedule as needed (cron format: minute hour day month weekday)
627
+ # 3. Try deploying - if it fails with "Could not parse request body", cron triggers
628
+ # may not be supported for your account/region yet
629
+ #
630
+ # [[triggers.crons]]
631
+ # cron = "*/5 * * * *" # Every 5 minutes
632
+ #
633
+ # Note: Proofs are also flushed immediately when batch size is reached (default: 10 proofs),
634
+ # so cron is mainly for flushing small batches that haven't reached the size limit yet.
635
+
573
636
  # KV Namespace for nonce cache (REQUIRED for replay attack prevention)
574
637
  #
575
638
  # RECOMMENDED: Share a single NONCE_CACHE namespace across all MCP-I workers
@@ -654,9 +717,11 @@ MCPI_ENV = "development"
654
717
  # $ wrangler secret put ADMIN_API_KEY
655
718
  # Note: .dev.vars is git-ignored and contains actual secret values for local dev
656
719
 
657
- # Optional: MCP Server URL for tool discovery
658
- # Uncomment to explicitly set your MCP server URL (auto-detected if not set)
659
- # MCP_SERVER_URL = "https://your-worker.workers.dev/mcp"
720
+ # Optional: MCP Server URL for tool discovery and consent page generation
721
+ # Uncomment to explicitly set your MCP server URL (auto-detected from request origin if not set)
722
+ # IMPORTANT: Use base URL WITHOUT /mcp suffix (e.g., "https://your-worker.workers.dev")
723
+ # The consent pages are at /consent, not /mcp/consent
724
+ # MCP_SERVER_URL = "https://your-worker.workers.dev"
660
725
  `;
661
726
  fs.writeFileSync(path.join(projectPath, "wrangler.toml"), wranglerContent);
662
727
  // Generate persistent identity for Cloudflare Worker
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-cloudflare-mcpi-template.js","sourceRoot":"","sources":["../../src/helpers/fetch-cloudflare-mcpi-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-cloudflare-mcpi-template.js","sourceRoot":"","sources":["../../src/helpers/fetch-cloudflare-mcpi-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAU1D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,WAAmB,EACnB,UAAyC,EAAE;IAE3C,MAAM,EACJ,cAAc,GAAG,KAAK,EACtB,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EACxC,MAAM,EACN,SAAS,EACT,YAAY,GAAG,KAAK,GACrB,GAAG,OAAO,CAAC;IAEZ,wCAAwC;IACxC,IAAI,SAAS,GAAG,WAAW;SACxB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE5B,wCAAwC;IACxC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,MAAM,eAAe,GACnB,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEzD,iFAAiF;IACjF,IAAI,YAAY,GAAG,WAAW;SAC3B,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,oCAAoC;SAChE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,2CAA2C;SAC/D,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,iCAAiC;IAE3D,2CAA2C;IAC3C,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,YAAY,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;QAEzE,sBAAsB;QACtB,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACP,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EAAE,eAAe;gBAC5B,MAAM,EAAE,iBAAiB;gBACzB,GAAG,EAAE,cAAc;gBACnB,KAAK,EAAE,cAAc;gBACrB,WAAW,EACT,uJAAuJ;gBACzJ,iBAAiB,EAAE,gCAAgC,SAAS,CAAC,WAAW,EAAE,cAAc;gBACxF,iBAAiB,EAAE,gCAAgC,SAAS,CAAC,WAAW,EAAE,gBAAgB;gBAC1F,oBAAoB,EAAE,gCAAgC,SAAS,CAAC,WAAW,EAAE,mBAAmB;gBAChG,sBAAsB,EAAE,gCAAgC,SAAS,CAAC,WAAW,EAAE,qBAAqB;gBACpG,2BAA2B,EAAE,gCAAgC,SAAS,CAAC,WAAW,EAAE,qBAAqB;gBACzG,SAAS,EACP,6HAA6H;gBAC/H,eAAe,EAAE,kCAAkC,SAAS,CAAC,WAAW,EAAE,cAAc;gBACxF,eAAe,EAAE,kCAAkC,SAAS,CAAC,WAAW,EAAE,gBAAgB;gBAC1F,kBAAkB,EAAE,kCAAkC,SAAS,CAAC,WAAW,EAAE,mBAAmB;gBAChG,oBAAoB,EAAE,kCAAkC,SAAS,CAAC,WAAW,EAAE,qBAAqB;gBACpG,yBAAyB,EAAE,kCAAkC,SAAS,CAAC,WAAW,EAAE,qBAAqB;gBACzG,iBAAiB,EAAE,0CAA0C,SAAS,CAAC,WAAW,EAAE,cAAc;gBAClG,iBAAiB,EAAE,0CAA0C,SAAS,CAAC,WAAW,EAAE,gBAAgB;gBACpG,oBAAoB,EAAE,0CAA0C,SAAS,CAAC,WAAW,EAAE,mBAAmB;gBAC1G,sBAAsB,EAAE,0CAA0C,SAAS,CAAC,WAAW,EAAE,qBAAqB;gBAC9G,2BAA2B,EAAE,0CAA0C,SAAS,CAAC,WAAW,EAAE,qBAAqB;gBACnH,WAAW,EACT,uJAAuJ;gBACzJ,UAAU,EAAE,wCAAwC;gBACpD,UAAU,EACR,2IAA2I;gBAC7I,YAAY,EAAE,gBAAgB;gBAC9B,YAAY,EAAE,cAAc;gBAC5B,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,gBAAgB;gBAC9B,eAAe,EAAE,uBAAuB;aACzC;YACD,YAAY,EAAE;gBACZ,mBAAmB,EAAE,iBAAiB;gBACtC,0BAA0B,EAAE,iBAAiB;gBAC7C,2BAA2B,EAAE,SAAS;gBACtC,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,UAAU;aAChB;YACD,eAAe,EAAE;gBACf,2BAA2B,EAAE,eAAe;gBAC5C,yBAAyB,EAAE,SAAS;gBACpC,qBAAqB,EAAE,QAAQ;gBAC/B,SAAS,EAAE,QAAQ;gBACnB,UAAU,EAAE,QAAQ;gBACpB,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,SAAS;aACpB;SACF,CAAC;QAEF,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC9B,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,WAAW,EAAE;YACpE,MAAM,EAAE,CAAC;SACV,CAAC,CAAC;QAEH,iCAAiC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAE3B,2BAA2B;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACrD,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAE7B,oCAAoC;QACpC,MAAM,kBAAkB,GAAG;;;gCAGC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAgFC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA6CrC,SAAS,CAAC,WAAW,EAAE;kBACvB,SAAS,CAAC,WAAW,EAAE;kBACvB,SAAS,CAAC,WAAW,EAAE;kBACvB,SAAS,CAAC,WAAW,EAAE;kBACvB,SAAS,CAAC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+NxC,CAAC;QACE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAExE,+BAA+B;QAC/B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;QAED,kDAAkD;QAClD,0CAA0C;QAE1C,oBAAoB;QACpB,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4C5B,CAAC;QACE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAEpE,4DAA4D;QAC5D,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyChC,CAAC;QACE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC,EAC3C,oBAAoB,CACrB,CAAC;QAEF,kDAAkD;QAClD,MAAM,YAAY,GAAG;;;;;;;;IAQrB,SAAS,CAAC,WAAW,EAAE;IACvB,SAAS,CAAC,WAAW,EAAE;IACvB,SAAS,CAAC,WAAW,EAAE;IACvB,SAAS,CAAC,WAAW,EAAE;IACvB,SAAS,CAAC,WAAW,EAAE;;;;;;;eAOZ,eAAe;;;;;;;;;;;;;;;;;;;;gBAoBd,eAAe;gBACf,WAAW;;gBAEX,SAAS,CAAC,WAAW,EAAE;;;CAGtC,CAAC;QACE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;QAC9D,MAAM,eAAe,GAAG;UAClB,YAAY;;;;;;;gBAON,eAAe;;;;yBAIN,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA6B3B,SAAS,CAAC,WAAW,EAAE;;;;;;;;;;;;aAYvB,SAAS,CAAC,WAAW,EAAE;;;;;;;;;;aAUvB,SAAS,CAAC,WAAW,EAAE;;;;;;;;;;aAUvB,SAAS,CAAC,WAAW,EAAE;;;6CAGS,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;;;;;;;;;;;;;;;;;;aAkB/D,SAAS,CAAC,WAAW,EAAE;;;;;;;;;;;;;;4BAcR,SAAS,IAAI,EAAE;;;;;;;;;;;;;;;;CAgB1C,CAAC;QACE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC;QAE3E,qDAAqD;QACrD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;YAEhE,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,EAAE,CAAC;gBAE1C,8BAA8B;gBAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;gBAC7D,IAAI,mBAAmB,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAEhE,6DAA6D;gBAC7D,4EAA4E;gBAC5E,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACxD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,cAAc,GAAG,SAAS,CAAC,KAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC9D,MAAM,YAAY,GAAG;;4BAEH,QAAQ,CAAC,GAAG;;;6BAGX,QAAQ,CAAC,SAAS;;;;;;;;;;;;;CAa9C,CAAC;oBAEQ,uEAAuE;oBACvE,4EAA4E;oBAC5E,mBAAmB,GAAG,mBAAmB,CAAC,OAAO,CAC/C,uCAAuC,EACvC,+FAA+F,CAChG,CAAC;oBACF,mBAAmB,GAAG,mBAAmB,CAAC,OAAO,CAC/C,kCAAkC,EAClC,0FAA0F,CAC3F,CAAC;oBACF,mBAAmB,GAAG,mBAAmB,CAAC,OAAO,CAC/C,4BAA4B,EAC5B,oFAAoF,CACrF,CAAC;oBAEF,0DAA0D;oBAC1D,IAAI,6BAA6B,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBAC5D,mBAAmB,GAAG,mBAAmB,CAAC,OAAO,CAC/C,uCAAuC,EACvC,8BAA8B,QAAQ,CAAC,SAAS,GAAG,CACpD,CAAC;oBACJ,CAAC;oBAED,uEAAuE;oBACvE,wDAAwD;oBACxD,IACE,SAAS;wBACT,4BAA4B,CAAC,IAAI,CAAC,mBAAmB,CAAC,EACtD,CAAC;wBACD,mBAAmB,GAAG,mBAAmB,CAAC,OAAO,CAC/C,sCAAsC,EACtC,6BAA6B,SAAS,GAAG,CAC1C,CAAC;oBACJ,CAAC;oBAED,+DAA+D;oBAC/D,MAAM,cAAc,GAAG,4BAA4B,CAAC,IAAI,CACtD,mBAAmB,CACpB,CAAC;oBACF,MAAM,oBAAoB,GAAG,6BAA6B,CAAC,IAAI,CAC7D,mBAAmB,CACpB,CAAC;oBAEF,wDAAwD;oBACxD,MAAM,cAAc,GAAG,CAAC,cAAc,IAAI,CAAC,oBAAoB,CAAC;oBAEhE,IAAI,cAAc,EAAE,CAAC;wBACnB,mBAAmB;4BACjB,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;gCAC5C,YAAY;gCACZ,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAC9C,CAAC;oBAED,gDAAgD;oBAChD,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;oBAEpD,4DAA4D;oBAC5D,yDAAyD;oBACzD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;oBACxD,MAAM,cAAc,GAAG;;;;;;;;;;;4BAWL,QAAQ,CAAC,UAAU;;;uBAGxB,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE;;;iBAGpE,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,EAAE;CAC5F,CAAC;oBACQ,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;oBAE9C,yCAAyC;oBACzC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAClC,WAAW,EACX,mBAAmB,CACpB,CAAC;oBACF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;CAcvC,CAAC;oBACQ,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;oBAE5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;oBAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;oBAC5D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAC/D,CAAC;oBACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAC1D,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC,CAAC;oBACrE,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;oBACrD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CACpE,CAAC;oBACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAC5D,CAAC;oBACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CACnE,CAAC;oBACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAC9D,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;oBACrE,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAC9D,CAAC;oBACF,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,EAChD,KAAK,CAAC,OAAO,CACd,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CACnE,CAAC;gBACF,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,eAAe,GAAG;YACtB,eAAe,EAAE;gBACf,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,QAAQ;gBAChB,GAAG,EAAE,CAAC,QAAQ,CAAC;gBACf,KAAK,EAAE,CAAC,2BAA2B,CAAC;gBACpC,gBAAgB,EAAE,SAAS;gBAC3B,iBAAiB,EAAE,IAAI;gBACvB,4BAA4B,EAAE,IAAI;gBAClC,eAAe,EAAE,IAAI;gBACrB,MAAM,EAAE,IAAI;gBACZ,YAAY,EAAE,IAAI;gBAClB,gCAAgC,EAAE,IAAI;aACvC;YACD,OAAO,EAAE,CAAC,UAAU,CAAC;SACtB,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE,eAAe,EAAE;YACzE,MAAM,EAAE,CAAC;SACV,CAAC,CAAC;QAEH,oBAAoB;QACpB,MAAM,gBAAgB,GAAG;;;;;;;CAO5B,CAAC;QACE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAEzE,0DAA0D;QAC1D,MAAM,YAAY,GAAG;;;;;CAKxB,CAAC;QACE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;QAEjE,mBAAmB;QACnB,MAAM,aAAa,GAAG,KAAK,WAAW;;;;;;;;;;;;;;;;;;EAkBxC,cAAc;;;;;;;;EAQd,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAmCjD,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;MACrD,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;MACrD,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;MACrD,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;MACrD,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;;;;;EAKzD,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;EAsBrD,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;;;;;;;;;;OAUhD,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuDhB,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4DlD,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+BrD,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;;;;;;;;;;;;;;;;KAgBrD,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCzD,CAAC;QACE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;QAErE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAClE,CAAC;YACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAClE,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,uEAAuE,CACxE,CACF,CAAC;YACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAClE,CAAC;YACF,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC,CACvE,CAAC;QACF,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAClE,CAAC;QACF,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,EAC3D,KAAK,CACN,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}