@jaypie/mcp 0.8.62 → 0.8.64

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.62#b2bba65a"
12
+ const BUILD_VERSION_STRING = "@jaypie/mcp@0.8.64#0a1f765f"
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.62",
3
+ "version": "0.8.64",
4
4
  "description": "Jaypie MCP",
5
5
  "repository": {
6
6
  "type": "git",
@@ -0,0 +1,14 @@
1
+ ---
2
+ version: 1.2.59
3
+ date: 2026-06-03
4
+ summary: Add JaypieSecret base construct and serviceTag on lambda constructs
5
+ ---
6
+
7
+ ## @jaypie/constructs 1.2.59
8
+
9
+ ### Features
10
+
11
+ - **JaypieSecret**: New base construct — a plain AWS Secrets Manager secret without the environment-driven provider/consumer cross-stack pattern. Reads its value from `process.env[envKey]`, an explicit `value`, or `generateSecretString`, and throws `ConfigurationError` when an `envKey` resolves to nothing. Supports the same SCREAMING_SNAKE_CASE shorthand as `JaypieEnvSecret` (construct id `Secret_${envKey}`).
12
+ - **JaypieEnvSecret** now extends `JaypieSecret`, layering the env-aware provider/consumer behavior on top via a `buildSecret` override. Existing behavior — including issue #347 cross-stack export names — is preserved. `JaypieEnvSecret` is deprecated and will be removed in 2.0.
13
+ - **resolveSecrets / lambda `secrets`**: `SecretsArrayItem` widened to `JaypieSecret | string`, so any `JaypieSecret` (including `JaypieEnvSecret`) is accepted wherever secrets are passed. Strings still create env-aware `JaypieEnvSecret` instances.
14
+ - **serviceTag**: `JaypieLambda` (and `JaypieExpressLambda`, `JaypieWebSocketLambda` by inheritance) accepts a `serviceTag` prop that applies `CDK.TAG.SERVICE` alongside `roleTag` and `vendorTag`. `JaypieQueuedLambda` propagates it to the SQS queue and `JaypieBucketQueuedLambda` to the S3 bucket.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: 0.8.63
3
+ date: 2026-05-31
4
+ summary: Fix the dynamodb skill's Atomic Conditional Writes example to import ConflictError from jaypie, not @jaypie/dynamodb
5
+ ---
6
+
7
+ ## Fixed
8
+
9
+ - **`dynamodb` skill**. The "Atomic Conditional Writes" example imported
10
+ `ConflictError` from `@jaypie/dynamodb`, which does not re-export it — the
11
+ import threw at runtime. `ConflictError` lives in `@jaypie/errors` (and the
12
+ `jaypie` umbrella); the example now imports it from `jaypie` while keeping
13
+ `transactWriteEntities` from `@jaypie/dynamodb`.
14
+
15
+ Issue: [#357](https://github.com/finlaysonstudio/jaypie/issues/357)
@@ -181,8 +181,11 @@ await destroyEntity({ id: "abc-123" });
181
181
 
182
182
  Use `conditionalCreate` to write an entity **and** a uniqueness-sentinel row in a single transaction -- both commit or neither does:
183
183
 
184
+ `ConflictError` is thrown from `@jaypie/errors` (re-exported by the `jaypie` umbrella); `@jaypie/dynamodb` does not re-export it.
185
+
184
186
  ```typescript
185
- import { ConflictError, transactWriteEntities } from "@jaypie/dynamodb";
187
+ import { ConflictError } from "jaypie"; // or "@jaypie/errors"
188
+ import { transactWriteEntities } from "@jaypie/dynamodb";
186
189
 
187
190
  try {
188
191
  await transactWriteEntities({
package/skills/secrets.md CHANGED
@@ -5,7 +5,30 @@ related: apikey, aws, cdk, variables
5
5
 
6
6
  # Secret Management
7
7
 
8
- Jaypie uses AWS Secrets Manager for secure credential storage. The `JaypieEnvSecret` construct creates secrets at deploy time from environment variables, and `getEnvSecret` retrieves them at runtime.
8
+ Jaypie uses AWS Secrets Manager for secure credential storage. The `JaypieSecret` and `JaypieEnvSecret` constructs create secrets at deploy time from environment variables, and `getEnvSecret` retrieves them at runtime.
9
+
10
+ ## JaypieSecret vs JaypieEnvSecret
11
+
12
+ - **`JaypieSecret`** — a plain secret. Always creates a secret in the current stack from `process.env[envKey]`, an explicit `value`, or `generateSecretString`. No cross-stack imports or exports. This is the construct to reach for.
13
+ - **`JaypieEnvSecret`** — extends `JaypieSecret` and adds the environment-driven provider/consumer cross-stack pattern (see [Provider/Consumer Pattern](#providerconsumer-pattern) below). **Deprecated; will be removed in 2.0.**
14
+
15
+ `JaypieEnvSecret` is a `JaypieSecret`, so it is accepted anywhere a `JaypieSecret` is — including the `secrets` array on `JaypieLambda`. Strings in that array still create env-aware `JaypieEnvSecret` instances.
16
+
17
+ ```typescript
18
+ import { JaypieSecret } from "@jaypie/constructs";
19
+
20
+ // Reads process.env.MY_API_KEY at deploy time
21
+ // Throws ConfigurationError if unset and no value/generateSecretString given
22
+ new JaypieSecret(this, "MY_API_KEY");
23
+
24
+ // Generated secret, no env var needed
25
+ new JaypieSecret(this, "DbPassword", {
26
+ envKey: "DB_PASSWORD",
27
+ generateSecretString: { excludePunctuation: true, passwordLength: 32 },
28
+ });
29
+ ```
30
+
31
+ Everything below that uses `JaypieEnvSecret` works the same on `JaypieSecret`, except the provider/consumer cross-stack behavior, which is `JaypieEnvSecret`-only.
9
32
 
10
33
  ## The Pattern
11
34