@jaypie/mcp 0.8.32 → 0.8.34
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.
|
|
12
|
+
const BUILD_VERSION_STRING = "@jaypie/mcp@0.8.34#c38ffacc"
|
|
13
13
|
;
|
|
14
14
|
const __filename$1 = fileURLToPath(import.meta.url);
|
|
15
15
|
const __dirname$1 = path.dirname(__filename$1);
|
package/package.json
CHANGED
|
@@ -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,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 1.2.25
|
|
3
|
+
date: 2026-04-15
|
|
4
|
+
summary: Fix Gemini structured output shape drift by switching to OpenAPI 3.0 responseSchema
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Changes
|
|
8
|
+
|
|
9
|
+
- Default Gemini structured output from `responseJsonSchema` (preview-tier) to `responseSchema` (OpenAPI 3.0 stable)
|
|
10
|
+
- Add `jsonSchemaToOpenApi3` utility that strips `$schema`, `additionalProperties`, `$defs`, `$ref`, `const` from JSON Schema
|
|
11
|
+
- Apply same OpenAPI 3.0 conversion in `formatOutputSchema` for the `structured_output` tool path
|
|
12
|
+
- Old behavior available via `providerOptions: { useJsonSchema: true }`
|
|
13
|
+
- Fixes ~30% shape drift where Gemini echoed the `items` keyword as a literal property in array responses
|
|
@@ -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: {} } },
|