@jaypie/mcp 0.8.32 → 0.8.33

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.
@@ -9,7 +9,7 @@ import { gt } from 'semver';
9
9
  /**
10
10
  * Docs Suite - Documentation services (skill, version, release_notes)
11
11
  */
12
- const BUILD_VERSION_STRING = "@jaypie/mcp@0.8.32#bca51f2d"
12
+ const BUILD_VERSION_STRING = "@jaypie/mcp@0.8.33#a3785407"
13
13
  ;
14
14
  const __filename$1 = fileURLToPath(import.meta.url);
15
15
  const __dirname$1 = path.dirname(__filename$1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jaypie/mcp",
3
- "version": "0.8.32",
3
+ "version": "0.8.33",
4
4
  "description": "Jaypie MCP",
5
5
  "repository": {
6
6
  "type": "git",
@@ -0,0 +1,25 @@
1
+ ---
2
+ version: 1.2.45
3
+ date: 2026-04-15
4
+ summary: JaypieDistribution WAF resources support per-distribution namespacing via required `waf.name`
5
+ ---
6
+
7
+ ## Changes
8
+
9
+ - `JaypieWafConfig.name` is now required whenever a WAF config object is passed to `JaypieDistribution`
10
+ - When set, `name` is injected into both the WebACL name and the WAF log bucket name so multiple `JaypieDistribution` instances can coexist in one account/env
11
+ - `waf: true` and absent `waf` continue to produce the legacy, non-namespaced names — existing deployments redeploy without change
12
+
13
+ ## Why
14
+
15
+ Two `JaypieDistribution` instances in the same env collided on `aws-waf-logs-<env>-<key>-waf-<nonce>` (global S3 name) and the `WebACL` name. The only workarounds were disabling WAF or the log bucket. Requiring `waf.name` on object configs forces a unique suffix exactly where collisions are possible, while leaving the common `waf: true` path untouched. Resolves #297.
16
+
17
+ ## Migration
18
+
19
+ Anywhere a WAF config object is passed — e.g. `waf: { rateLimitPerIp: 500 }` — add a `name`:
20
+
21
+ ```typescript
22
+ waf: { name: "api", rateLimitPerIp: 500 }
23
+ ```
24
+
25
+ Stacks using `waf: true` (or omitting `waf`) need no changes.
@@ -0,0 +1,10 @@
1
+ ---
2
+ version: 0.8.33
3
+ date: 2026-04-15
4
+ summary: Update cdk skill examples for `@jaypie/constructs` WAF `name` requirement
5
+ ---
6
+
7
+ ## Changes
8
+
9
+ - `cdk` skill: WAF config examples now pass `waf.name` (required on any object-form config as of `@jaypie/constructs@1.2.45`)
10
+ - Added a collision-avoidance example showing two `JaypieDistribution` instances with distinct `waf.name` values
package/skills/cdk.md CHANGED
@@ -318,34 +318,40 @@ new JaypieDistribution(this, "Dist", { handler });
318
318
  // Disable WAF entirely
319
319
  new JaypieDistribution(this, "Dist", { handler, waf: false });
320
320
 
321
- // Customize rate limit
321
+ // Customize rate limit (name required on any waf config object)
322
322
  new JaypieDistribution(this, "Dist", {
323
323
  handler,
324
- waf: { rateLimitPerIp: 500 },
324
+ waf: { name: "api", rateLimitPerIp: 500 },
325
325
  });
326
326
 
327
+ // Multiple distributions in one env — set a unique waf.name on each to
328
+ // avoid WebACL/S3 bucket name collisions between stacks.
329
+ new JaypieDistribution(this, "Api", { handler: api, waf: { name: "api" } });
330
+ new JaypieDistribution(this, "Mcp", { handler: mcp, waf: { name: "mcp" } });
331
+
327
332
  // Use existing WebACL
328
333
  new JaypieDistribution(this, "Dist", {
329
334
  handler,
330
- waf: { webAclArn: "arn:aws:wafv2:..." },
335
+ waf: { name: "api", webAclArn: "arn:aws:wafv2:..." },
331
336
  });
332
337
 
333
338
  // Disable WAF logging only
334
339
  new JaypieDistribution(this, "Dist", {
335
340
  handler,
336
- waf: { logBucket: false },
341
+ waf: { name: "api", logBucket: false },
337
342
  });
338
343
 
339
344
  // Bring your own WAF logging bucket
340
345
  new JaypieDistribution(this, "Dist", {
341
346
  handler,
342
- waf: { logBucket: myWafBucket },
347
+ waf: { name: "api", logBucket: myWafBucket },
343
348
  });
344
349
 
345
350
  // Override specific managed rule actions (e.g., allow large request bodies)
346
351
  new JaypieDistribution(this, "Dist", {
347
352
  handler,
348
353
  waf: {
354
+ name: "api",
349
355
  managedRuleOverrides: {
350
356
  AWSManagedRulesCommonRuleSet: [
351
357
  { name: "SizeRestrictions_BODY", actionToUse: { count: {} } },