zuplo 7.6.0 → 7.6.2

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.
Files changed (47) hide show
  1. package/docs/ai-gateway/{introduction.mdx → overview.mdx} +2 -2
  2. package/docs/ai-gateway/policies/overview.mdx +1 -1
  3. package/docs/api-management/{introduction.md → overview.md} +7 -4
  4. package/docs/articles/api-key-administration.mdx +5 -6
  5. package/docs/articles/api-key-consumer-bucket-portal-ui.mdx +5 -5
  6. package/docs/articles/api-key-end-users.mdx +3 -3
  7. package/docs/articles/custom-domains.mdx +1 -1
  8. package/docs/articles/environment-variables.mdx +1 -1
  9. package/docs/articles/feature-flags.mdx +4 -4
  10. package/docs/articles/migrate-from-apigee.md +3 -3
  11. package/docs/articles/migrate-from-aws-api-gateway.md +1 -1
  12. package/docs/articles/migrate-from-azure-apim.md +2 -2
  13. package/docs/articles/migrate-from-kong.md +3 -3
  14. package/docs/articles/migration-overview.md +1 -1
  15. package/docs/articles/monetization-integrations.mdx +2 -2
  16. package/docs/articles/step-3-add-api-key-auth.mdx +1 -1
  17. package/docs/articles/step-5-dynamic-rate-limiting-local.mdx +1 -1
  18. package/docs/articles/step-5-dynamic-rate-limiting.mdx +1 -1
  19. package/docs/articles/version-support-policy.mdx +2 -2
  20. package/docs/cli/create-zuplo-api.mdx +2 -2
  21. package/docs/concepts/ai-gateway.mdx +69 -0
  22. package/docs/concepts/api-keys.md +3 -3
  23. package/docs/concepts/mcp.mdx +63 -0
  24. package/docs/concepts/project-structure.mdx +1 -1
  25. package/docs/dedicated/akamai/ai-powered-applications.mdx +3 -3
  26. package/docs/dev-portal/documenting-mcp-servers.mdx +3 -3
  27. package/docs/dev-portal/{introduction.mdx → overview.mdx} +5 -2
  28. package/docs/dev-portal/zudoku/configuration/api-reference.md +45 -0
  29. package/docs/dev-portal/zudoku/configuration/docs.md +56 -1
  30. package/docs/dev-portal/zudoku/configuration/llms.md +39 -4
  31. package/docs/dev-portal/zudoku/configuration/navigation.mdx +4 -4
  32. package/docs/handlers/mcp-server.mdx +7 -0
  33. package/docs/managed-edge/overview.md +1 -1
  34. package/docs/mcp-gateway/cross-app-access/quickstart.mdx +1 -1
  35. package/docs/mcp-gateway/{introduction.mdx → overview.mdx} +2 -2
  36. package/docs/mcp-gateway/policies/overview.mdx +13 -0
  37. package/docs/mcp-server/custom-tools.mdx +2 -2
  38. package/docs/mcp-server/graphql.mdx +1 -1
  39. package/docs/mcp-server/openai-apps-sdk.mdx +3 -4
  40. package/docs/mcp-server/{introduction.mdx → overview.mdx} +6 -3
  41. package/docs/mcp-server/tools.mdx +172 -1
  42. package/docs/mcp-server/troubleshooting.mdx +47 -5
  43. package/docs/policies/ai-gateway-metering-v2-inbound/doc.md +38 -102
  44. package/docs/policies/ai-gateway-metering-v2-inbound/intro.md +3 -3
  45. package/docs/policies/ai-gateway-metering-v2-inbound/schema.json +89 -14
  46. package/docs/programmable-api/mcp-sdk.mdx +3 -3
  47. package/package.json +5 -5
@@ -38,14 +38,25 @@
38
38
  "required": [],
39
39
  "examples": [
40
40
  {
41
- "limits": {
42
- "requests": {
43
- "daily": {
44
- "enabled": true,
45
- "limit": 1000
46
- }
41
+ "budgetRules": [
42
+ {
43
+ "budgetBy": "app",
44
+ "meters": [
45
+ {
46
+ "meter": "cost",
47
+ "period": "monthly",
48
+ "value": 100,
49
+ "action": "block"
50
+ },
51
+ {
52
+ "meter": "cost",
53
+ "period": "monthly",
54
+ "value": 80,
55
+ "action": "warn"
56
+ }
57
+ ]
47
58
  }
48
- },
59
+ ],
49
60
  "throwOnFailure": false
50
61
  }
51
62
  ],
@@ -55,8 +66,61 @@
55
66
  "default": false,
56
67
  "description": "Throw when the metering service is unavailable instead of failing open."
57
68
  },
69
+ "budgetRules": {
70
+ "type": "array",
71
+ "maxItems": 5,
72
+ "description": "Budget rules for this application. Each rule budgets the whole app (\"app\") or each distinct value of an expression (\"expression\"), with warn and block thresholds per meter and period.",
73
+ "items": {
74
+ "type": "object",
75
+ "additionalProperties": false,
76
+ "required": ["budgetBy", "meters"],
77
+ "properties": {
78
+ "budgetBy": {
79
+ "type": "string",
80
+ "enum": ["app", "expression"]
81
+ },
82
+ "expression": {
83
+ "type": "string",
84
+ "minLength": 1,
85
+ "description": "Required when budgetBy is \"expression\"; forbidden for \"app\". Each distinct value gets its own budget."
86
+ },
87
+ "meters": {
88
+ "type": "array",
89
+ "minItems": 1,
90
+ "maxItems": 24,
91
+ "items": {
92
+ "type": "object",
93
+ "additionalProperties": false,
94
+ "required": ["meter", "period", "value", "action"],
95
+ "properties": {
96
+ "meter": {
97
+ "type": "string",
98
+ "enum": ["cost", "requests", "tokens"]
99
+ },
100
+ "period": {
101
+ "type": "string",
102
+ "enum": ["hourly", "daily", "weekly", "monthly"]
103
+ },
104
+ "value": {
105
+ "type": "number",
106
+ "minimum": 0
107
+ },
108
+ "action": {
109
+ "type": "string",
110
+ "enum": ["warn", "block"]
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+ }
117
+ },
58
118
  "limits": {
59
119
  "type": "object",
120
+ "deprecated": true,
121
+ "doNotSuggest": true,
122
+ "x-show-example": false,
123
+ "x-advanced": true,
60
124
  "description": "Usage limits grouped by meter.",
61
125
  "additionalProperties": false,
62
126
  "properties": {
@@ -271,14 +335,25 @@
271
335
  "export": "AIGatewayMeteringV2InboundPolicy",
272
336
  "module": "$import(@zuplo/runtime)",
273
337
  "options": {
274
- "limits": {
275
- "requests": {
276
- "daily": {
277
- "enabled": true,
278
- "limit": 1000
279
- }
338
+ "budgetRules": [
339
+ {
340
+ "budgetBy": "app",
341
+ "meters": [
342
+ {
343
+ "meter": "cost",
344
+ "period": "monthly",
345
+ "value": 100,
346
+ "action": "block"
347
+ },
348
+ {
349
+ "meter": "cost",
350
+ "period": "monthly",
351
+ "value": 80,
352
+ "action": "warn"
353
+ }
354
+ ]
280
355
  }
281
- },
356
+ ],
282
357
  "throwOnFailure": false
283
358
  }
284
359
  }
@@ -36,7 +36,7 @@ export default async function (request: ZuploRequest, context: ZuploContext) {
36
36
 
37
37
  `ZuploMcpSdk` is available in custom tool handlers for both the
38
38
  [MCP Server handler](../handlers/mcp-server.mdx) and the
39
- [MCP Gateway](../mcp-gateway/introduction.mdx). It is exported from
39
+ [MCP Gateway](../mcp-gateway/overview.mdx). It is exported from
40
40
  `@zuplo/runtime`.
41
41
 
42
42
  ## Methods
@@ -234,7 +234,7 @@ The subset of a `tools/call` result that a module author may override via
234
234
  custom MCP tool handlers with TypeScript
235
235
  - [MCP Server handler](../handlers/mcp-server.mdx) — handler configuration
236
236
  reference including `includeOutputSchema` and `includeStructuredContent`
237
- - [MCP Gateway introduction](../mcp-gateway/introduction.mdx) — overview of the
238
- MCP Gateway product
237
+ - [MCP Gateway overview](../mcp-gateway/overview.mdx) — overview of the MCP
238
+ Gateway product
239
239
  - [MCP specification](https://modelcontextprotocol.io/specification/) — the
240
240
  canonical protocol reference
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zuplo",
3
- "version": "7.6.0",
3
+ "version": "7.6.2",
4
4
  "type": "module",
5
5
  "description": "The official Zuplo CLI for local development and platform management",
6
6
  "homepage": "https://zuplo.com/docs/cli/overview",
@@ -32,9 +32,9 @@
32
32
  "zuplo": "zuplo.js"
33
33
  },
34
34
  "dependencies": {
35
- "@zuplo/cli": "7.6.0",
36
- "@zuplo/core": "7.6.0",
37
- "@zuplo/runtime": "7.6.0",
38
- "@zuplo/test": "7.6.0"
35
+ "@zuplo/cli": "7.6.2",
36
+ "@zuplo/core": "7.6.2",
37
+ "@zuplo/runtime": "7.6.2",
38
+ "@zuplo/test": "7.6.2"
39
39
  }
40
40
  }