@jaypie/mcp 0.8.4 → 0.8.5

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.4#71fb4b1f"
12
+ const BUILD_VERSION_STRING = "@jaypie/mcp@0.8.5#68f73d91"
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.4",
3
+ "version": "0.8.5",
4
4
  "description": "Jaypie MCP",
5
5
  "repository": {
6
6
  "type": "git",
@@ -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,9 @@
1
+ ---
2
+ version: 1.2.26
3
+ date: 2026-03-27
4
+ summary: Bump @jaypie/logger to 1.2.8 for configurable ddsource
5
+ ---
6
+
7
+ ## Changes
8
+
9
+ - Updated `@jaypie/logger` dependency to `^1.2.8` for configurable `DD_SOURCE` env var support
@@ -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
@@ -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 |