@jaypie/mcp 0.8.11 → 0.8.13
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/llm/1.2.22.md +11 -0
- package/release-notes/llm/1.2.23.md +9 -0
- package/skills/agents.md +1 -1
- package/skills/skills.md +1 -1
- package/skills/sqs.md +133 -0
|
@@ -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.13#1ce297f9"
|
|
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.22
|
|
3
|
+
date: 2026-04-01
|
|
4
|
+
summary: Raise default max turns to 24, add consecutive tool error limit of 6
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Changes
|
|
8
|
+
|
|
9
|
+
- Raised `MAX_TURNS_DEFAULT_LIMIT` from 12 to 24 to give agents more room for tool-heavy workflows
|
|
10
|
+
- Added `MAX_CONSECUTIVE_TOOL_ERRORS = 6` — the operate and stream loops now stop when tools fail 6 times in a row, preventing agents from exhausting turns on broken toolkits
|
|
11
|
+
- Consecutive error counter resets on any successful tool call
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 1.2.23
|
|
3
|
+
date: 2026-04-02
|
|
4
|
+
summary: Deduplicate ALL.COMBINED model list
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Changes
|
|
8
|
+
|
|
9
|
+
- Fix: `ALL.COMBINED` now deduplicates models using `Set` spread, preventing duplicate entries when provider tiers share the same model ID (e.g., Anthropic DEFAULT = SMALL)
|
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, migrations, secrets, streaming, variables, websockets
|
|
37
|
+
Infrastructure: aws, cdk, cicd, datadog, dns, dynamodb, express, lambda, migrations, secrets, sqs, 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/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, migrations, secrets, streaming, variables, websockets |
|
|
20
|
+
| infrastructure | aws, cdk, cicd, datadog, dns, dynamodb, express, lambda, migrations, secrets, sqs, 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 |
|
package/skills/sqs.md
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: SQS messaging patterns, queue constructs, and event parsing
|
|
3
|
+
related: aws, cdk, lambda, variables
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SQS Messaging
|
|
7
|
+
|
|
8
|
+
Jaypie provides SQS utilities through `@jaypie/aws` and CDK constructs through `@jaypie/constructs`.
|
|
9
|
+
|
|
10
|
+
## Sending Messages
|
|
11
|
+
|
|
12
|
+
```typescript
|
|
13
|
+
import { sendMessage, sendBatchMessages } from "@jaypie/aws";
|
|
14
|
+
|
|
15
|
+
// Simple usage with default queue (CDK_ENV_QUEUE_URL)
|
|
16
|
+
await sendMessage({ action: "process", documentId: "doc-123" });
|
|
17
|
+
|
|
18
|
+
// With explicit queue URL and options
|
|
19
|
+
await sendMessage(
|
|
20
|
+
{ action: "process" },
|
|
21
|
+
{
|
|
22
|
+
delaySeconds: 30,
|
|
23
|
+
messageAttributes: { Priority: { DataType: "String", StringValue: "high" } },
|
|
24
|
+
queueUrl: "https://sqs...",
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
// Batch send (automatically batched in groups of 10)
|
|
29
|
+
const messages = items.map((item) => ({ action: "process", id: item.id }));
|
|
30
|
+
await sendBatchMessages({ messages });
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Receiving Messages
|
|
34
|
+
|
|
35
|
+
Parse incoming SQS/SNS events in Lambda handlers:
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
import { getMessages, getSingletonMessage } from "@jaypie/aws";
|
|
39
|
+
|
|
40
|
+
// Get all messages from event
|
|
41
|
+
const messages = getMessages(event); // Returns array of parsed bodies
|
|
42
|
+
|
|
43
|
+
// Get exactly one message or throw BadGatewayError
|
|
44
|
+
const message = getSingletonMessage(event);
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## CDK: JaypieQueue
|
|
48
|
+
|
|
49
|
+
SQS queue with DLQ and Lambda trigger:
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
import { JaypieQueue } from "@jaypie/constructs";
|
|
53
|
+
|
|
54
|
+
const queue = new JaypieQueue(this, "ProcessQueue", {
|
|
55
|
+
visibilityTimeout: Duration.seconds(60),
|
|
56
|
+
retentionPeriod: Duration.days(7),
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// Connect to Lambda
|
|
60
|
+
queue.addEventSource(handler);
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Wiring Queue URL to Lambda
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
import { JaypieLambda, JaypieQueue } from "@jaypie/constructs";
|
|
67
|
+
|
|
68
|
+
const queue = new JaypieQueue(this, "ProcessQueue");
|
|
69
|
+
|
|
70
|
+
const handler = new JaypieLambda(this, "Handler", {
|
|
71
|
+
entry: "src/handler.ts",
|
|
72
|
+
environment: {
|
|
73
|
+
CDK_ENV_QUEUE_URL: queue.queueUrl,
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
queue.grantSendMessages(handler);
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Resource Naming
|
|
81
|
+
|
|
82
|
+
Queue names are account-global. Always include `PROJECT_ENV` and `PROJECT_NONCE` to avoid collisions:
|
|
83
|
+
|
|
84
|
+
```typescript
|
|
85
|
+
// Bad
|
|
86
|
+
queueName: `${prefix}-process`
|
|
87
|
+
|
|
88
|
+
// Good
|
|
89
|
+
queueName: `${prefix}-process-${PROJECT_ENV}-${PROJECT_NONCE}`
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Environment Variables
|
|
93
|
+
|
|
94
|
+
| Variable | Description |
|
|
95
|
+
|----------|-------------|
|
|
96
|
+
| `CDK_ENV_QUEUE_URL` | Default SQS queue URL |
|
|
97
|
+
| `PROJECT_KEY` | Used for FIFO queue message group ID |
|
|
98
|
+
|
|
99
|
+
## Testing
|
|
100
|
+
|
|
101
|
+
```typescript
|
|
102
|
+
import { sendMessage } from "@jaypie/testkit/mock";
|
|
103
|
+
import { vi } from "vitest";
|
|
104
|
+
|
|
105
|
+
vi.mock("@jaypie/aws");
|
|
106
|
+
|
|
107
|
+
it("sends message to queue", async () => {
|
|
108
|
+
vi.mocked(sendMessage).mockResolvedValue({ MessageId: "123" });
|
|
109
|
+
|
|
110
|
+
await handler({ documentId: "doc-123" });
|
|
111
|
+
|
|
112
|
+
expect(sendMessage).toHaveBeenCalledWith(
|
|
113
|
+
expect.objectContaining({ documentId: "doc-123" })
|
|
114
|
+
);
|
|
115
|
+
});
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Debugging
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Check queue depth
|
|
122
|
+
aws_sqs_get_queue_attributes --queueUrl "https://..."
|
|
123
|
+
|
|
124
|
+
# Peek at messages
|
|
125
|
+
aws_sqs_receive_message --queueUrl "https://..." --maxNumberOfMessages 5
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## See Also
|
|
129
|
+
|
|
130
|
+
- **`skill("aws")`** - Full AWS integration reference
|
|
131
|
+
- **`skill("cdk")`** - CDK constructs and deployment patterns
|
|
132
|
+
- **`skill("lambda")`** - Lambda handler wrappers and lifecycle
|
|
133
|
+
- **`skill("variables")`** - Environment variables reference
|