@jaypie/mcp 0.8.4 → 0.8.6
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.
- package/dist/suites/docs/index.js +1 -1
- package/package.json +1 -1
- package/release-notes/constructs/1.2.37.md +11 -0
- package/release-notes/express/1.2.18.md +11 -0
- package/release-notes/jaypie/1.2.26.md +9 -0
- package/release-notes/jaypie/1.2.27.md +10 -0
- package/release-notes/kit/1.2.6.md +9 -0
- package/release-notes/logger/1.2.8.md +10 -0
- package/release-notes/mcp/0.8.5.md +10 -0
- package/skills/agents.md +1 -1
- package/skills/cdk.md +1 -1
- package/skills/infrastructure.md +1 -0
- package/skills/migrations.md +121 -0
- package/skills/skills.md +1 -1
|
@@ -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.6#5fb826f9"
|
|
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,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 1.2.37
|
|
3
|
+
date: 2026-03-27
|
|
4
|
+
summary: Fix JaypieQueuedLambda environment prop forwarding
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Changes
|
|
8
|
+
|
|
9
|
+
- Fix `JaypieQueuedLambda` silently dropping custom `environment` variables when using array syntax
|
|
10
|
+
- Queue URL (`CDK_ENV_QUEUE_URL`) now added via `addEnvironment()` after construction instead of spreading into the environment object
|
|
11
|
+
- Closes #252
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 1.2.18
|
|
3
|
+
date: 2026-03-27
|
|
4
|
+
summary: Expose rawBody on LambdaRequest for webhook signature validation
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Changes
|
|
8
|
+
|
|
9
|
+
- LambdaRequest now exposes `rawBody` as a public readonly property containing the original body string before JSON parsing
|
|
10
|
+
- Enables HMAC-SHA256 webhook signature validation (Slack, GitHub, etc.) without accessing internal properties
|
|
11
|
+
- Closes #256
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 1.2.27
|
|
3
|
+
date: 2026-03-27
|
|
4
|
+
summary: Bump @jaypie/express@1.2.18, @jaypie/kit@1.2.6
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Changes
|
|
8
|
+
|
|
9
|
+
- Bump `@jaypie/express` to 1.2.18 (rawBody for webhook signature validation)
|
|
10
|
+
- Bump `@jaypie/kit` to 1.2.6 (WEBHOOK_TOKEN header constant)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 1.2.8
|
|
3
|
+
date: 2026-03-27
|
|
4
|
+
summary: Make DatadogTransport ddsource configurable via DD_SOURCE env var
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Changes
|
|
8
|
+
|
|
9
|
+
- `DatadogTransport` now reads `DD_SOURCE` and `PROJECT_SOURCE` env vars to configure `ddsource` field (default remains `"nodejs"`)
|
|
10
|
+
- Enables proper Datadog log pipeline routing for Lambda (`source:lambda`), ECS (`source:docker`), etc.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 0.8.5
|
|
3
|
+
date: 2026-03-27
|
|
4
|
+
summary: Add migrations skill documenting JaypieMigration construct
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Changes
|
|
8
|
+
|
|
9
|
+
- New `migrations` skill documenting `JaypieMigration` CDK construct
|
|
10
|
+
- Added sync reminder for skill category listings in CLAUDE.md
|
package/skills/agents.md
CHANGED
|
@@ -34,7 +34,7 @@ Complete stack styles, techniques, and traditions.
|
|
|
34
34
|
|
|
35
35
|
Contents: index, releasenotes
|
|
36
36
|
Development: apikey, documentation, errors, llm, logs, mocks, monorepo, style, subpackages, tests, tools
|
|
37
|
-
Infrastructure: aws, cdk, cicd, datadog, dns, dynamodb, express, lambda, secrets, streaming, variables, websockets
|
|
37
|
+
Infrastructure: aws, cdk, cicd, datadog, dns, dynamodb, express, lambda, migrations, secrets, streaming, variables, websockets
|
|
38
38
|
Patterns: api, fabric, handlers, models, services, vocabulary
|
|
39
39
|
Recipes: recipe-api-server
|
|
40
40
|
Meta: issues, jaypie, mcp, skills
|
package/skills/cdk.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: CDK constructs and deployment patterns
|
|
3
|
-
related: apikey, aws, cicd, dynamodb, express, lambda, secrets, streaming, websockets
|
|
3
|
+
related: apikey, aws, cicd, dynamodb, express, lambda, migrations, secrets, streaming, websockets
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# CDK Constructs
|
package/skills/infrastructure.md
CHANGED
|
@@ -20,6 +20,7 @@ Cloud infrastructure and deployment patterns.
|
|
|
20
20
|
| `datadog` | Datadog and observability |
|
|
21
21
|
| `dns` | DNS and domain configuration |
|
|
22
22
|
| `dynamodb` | DynamoDB patterns and queries |
|
|
23
|
+
| `migrations` | DynamoDB migration custom resources |
|
|
23
24
|
| `secrets` | AWS Secrets Manager |
|
|
24
25
|
| `variables` | Environment variables reference |
|
|
25
26
|
| `websockets` | WebSocket API Gateway constructs |
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: DynamoDB migration custom resources that run on every CDK deploy
|
|
3
|
+
related: cdk, dynamodb, lambda, secrets
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Migrations
|
|
7
|
+
|
|
8
|
+
Jaypie provides `JaypieMigration` for running DynamoDB migrations as CloudFormation custom resources. Migrations execute automatically on every `cdk deploy`.
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
`JaypieMigration` wraps a `JaypieLambda` in a CloudFormation custom resource provider. The Lambda runs during stack create/update, making it ideal for data migrations, seed scripts, and schema changes.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import { JaypieDynamoDb, JaypieMigration } from "@jaypie/constructs";
|
|
18
|
+
import * as lambda from "aws-cdk-lib/aws-lambda";
|
|
19
|
+
|
|
20
|
+
const table = new JaypieDynamoDb(this, "myApp");
|
|
21
|
+
|
|
22
|
+
new JaypieMigration(this, "SeedData", {
|
|
23
|
+
code: "dist/migrations/seed", // Pre-built bundle directory
|
|
24
|
+
handler: "index.handler",
|
|
25
|
+
tables: [table],
|
|
26
|
+
dependencies: [table], // Ensures table exists first
|
|
27
|
+
});
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Props
|
|
31
|
+
|
|
32
|
+
| Prop | Type | Default | Description |
|
|
33
|
+
|------|------|---------|-------------|
|
|
34
|
+
| `code` | `lambda.Code \| string` | *required* | Path to bundled migration code or CDK Code object |
|
|
35
|
+
| `handler` | `string` | `"index.handler"` | Lambda entry point |
|
|
36
|
+
| `tables` | `dynamodb.ITable[]` | `[]` | DynamoDB tables to grant read/write access |
|
|
37
|
+
| `secrets` | `SecretsArrayItem[]` | `[]` | Secrets to make available to the Lambda |
|
|
38
|
+
| `dependencies` | `Construct[]` | `[]` | Constructs that must be created before the migration runs |
|
|
39
|
+
|
|
40
|
+
## Behavior
|
|
41
|
+
|
|
42
|
+
- **Timeout**: 5 minutes (vs 30s for API Lambdas) to accommodate long-running migrations
|
|
43
|
+
- **Role**: Tagged as `CDK.ROLE.PROCESSING`
|
|
44
|
+
- **Execution**: Runs on every deploy via CloudFormation custom resource
|
|
45
|
+
- **Dependencies**: Use `dependencies` to ensure tables and other resources exist before the migration executes
|
|
46
|
+
|
|
47
|
+
## Migration Lambda Handler
|
|
48
|
+
|
|
49
|
+
The migration Lambda receives a CloudFormation custom resource event. Return a result to signal success; throw to signal failure and roll back the stack.
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
// src/migrations/seed/index.ts
|
|
53
|
+
import { initClient, seedEntities, APEX } from "@jaypie/dynamodb";
|
|
54
|
+
|
|
55
|
+
export const handler = async (event: any) => {
|
|
56
|
+
await initClient();
|
|
57
|
+
|
|
58
|
+
await seedEntities([
|
|
59
|
+
{ alias: "config-main", model: "config", name: "Main Config", scope: APEX },
|
|
60
|
+
{ alias: "vocab-en", model: "vocabulary", name: "English", scope: APEX },
|
|
61
|
+
]);
|
|
62
|
+
|
|
63
|
+
return { status: "complete" };
|
|
64
|
+
};
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Building Migration Code
|
|
68
|
+
|
|
69
|
+
Bundle migrations separately using esbuild, then reference the output directory:
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
// CDK stack
|
|
73
|
+
new JaypieMigration(this, "SeedData", {
|
|
74
|
+
code: "../api/dist/migrations/seed",
|
|
75
|
+
handler: "index.handler",
|
|
76
|
+
tables: [table],
|
|
77
|
+
dependencies: [table],
|
|
78
|
+
});
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Or use `lambda.Code.fromAsset()` for more control:
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
import * as lambda from "aws-cdk-lib/aws-lambda";
|
|
85
|
+
|
|
86
|
+
new JaypieMigration(this, "SeedData", {
|
|
87
|
+
code: lambda.Code.fromAsset("../api/dist/migrations/seed"),
|
|
88
|
+
tables: [table],
|
|
89
|
+
dependencies: [table],
|
|
90
|
+
});
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## With Secrets
|
|
94
|
+
|
|
95
|
+
Pass secrets when the migration needs external service access (e.g., MongoDB):
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
new JaypieMigration(this, "DataMigration", {
|
|
99
|
+
code: "dist/migrations/migrate-to-dynamo",
|
|
100
|
+
secrets: ["MONGODB_URI"],
|
|
101
|
+
tables: [table],
|
|
102
|
+
dependencies: [table],
|
|
103
|
+
});
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Construct Internals
|
|
107
|
+
|
|
108
|
+
`JaypieMigration` creates three resources:
|
|
109
|
+
|
|
110
|
+
1. **`JaypieLambda`** - The migration function (exposed as `migration.lambda`)
|
|
111
|
+
2. **`cr.Provider`** - CloudFormation custom resource provider wrapping the Lambda
|
|
112
|
+
3. **`cdk.CustomResource`** - The custom resource that triggers on every deploy
|
|
113
|
+
|
|
114
|
+
Dependencies are attached to the custom resource so the migration waits for prerequisite resources.
|
|
115
|
+
|
|
116
|
+
## See Also
|
|
117
|
+
|
|
118
|
+
- **`skill("cdk")`** - CDK constructs and deployment patterns
|
|
119
|
+
- **`skill("dynamodb")`** - DynamoDB key design, entity operations, and seed utilities
|
|
120
|
+
- **`skill("lambda")`** - Lambda handler wrappers and lifecycle
|
|
121
|
+
- **`skill("secrets")`** - Secret management with JaypieEnvSecret
|
package/skills/skills.md
CHANGED
|
@@ -17,7 +17,7 @@ Look up skills by alias: `mcp__jaypie__skill(alias)`
|
|
|
17
17
|
|----------|--------|
|
|
18
18
|
| contents | index, releasenotes |
|
|
19
19
|
| development | apikey, documentation, errors, llm, logs, mocks, monorepo, style, subpackages, tests, tools |
|
|
20
|
-
| infrastructure | aws, cdk, cicd, datadog, dns, dynamodb, express, lambda, secrets, streaming, variables, websockets |
|
|
20
|
+
| infrastructure | aws, cdk, cicd, datadog, dns, dynamodb, express, lambda, migrations, secrets, streaming, variables, websockets |
|
|
21
21
|
| patterns | api, fabric, handlers, models, services, vocabulary |
|
|
22
22
|
| recipes | recipe-api-server |
|
|
23
23
|
| meta | issues, jaypie, mcp, skills |
|