create-zuplo-api 7.1.6 → 7.1.8

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.
@@ -6,12 +6,13 @@ operations (`/v1/chat/completions`, `/v1/messages`, `/v1/responses`, and
6
6
  whose suffix is a supported `/v1/...` operation succeed; other paths under
7
7
  `/{app_id}` return 404.
8
8
 
9
- Each route invokes `ai-gateway-configuration-executor-v2-inbound`, which loads
10
- the application's configuration from the `app_id` path segment and runs its
9
+ Each route invokes `ai-gateway-configuration-loader-v2-inbound`, which loads
10
+ the application's configuration from the `app_id` path segment, then
11
+ `ai-gateway-configuration-executor-v2-inbound`, which runs its
11
12
  `inboundPolicyChain`. Applications may select only from the policies
12
13
  pre-declared in `config/policies.json`. To require application API keys for a
13
14
  specific app, add `ai-gateway-auth-v2-inbound` to that application's
14
- `inboundPolicyChain`. Adding it on the route before the executor requires a key
15
+ `inboundPolicyChain`. Adding it on the route before the loader requires a key
15
16
  for every application on the route.
16
17
 
17
18
  ## Customizing the gateway
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "get,post,delete": {
14
14
  "summary": "AI Gateway catch-all",
15
- "description": "Routes AI requests under /{app_id}/* to the AI Gateway handler. The configuration executor loads the application configuration from the app_id path segment. Only paths whose suffix is a supported /v1/... operation succeed (/v1/chat/completions, /v1/embeddings, /v1/messages, /v1/responses and its sub-resources); anything else under /{app_id} returns 404.",
15
+ "description": "Routes AI requests under /{app_id}/* to the AI Gateway handler. The configuration loader loads the application configuration from the app_id path segment; the configuration executor then runs the application's inboundPolicyChain. Only paths whose suffix is a supported /v1/... operation succeed (/v1/chat/completions, /v1/embeddings, /v1/messages, /v1/responses and its sub-resources); anything else under /{app_id} returns 404.",
16
16
  "operationId": "aiGatewayCatchAll",
17
17
  "responses": {
18
18
  "200": {
@@ -22,7 +22,7 @@
22
22
  "description": "Bad request"
23
23
  },
24
24
  "401": {
25
- "description": "Unauthorized — returned only when the application's inboundPolicyChain includes ai-gateway-auth-v2-inbound, or authentication runs before the configuration executor"
25
+ "description": "Unauthorized — returned only when the application's inboundPolicyChain includes ai-gateway-auth-v2-inbound, or authentication runs before the configuration loader"
26
26
  },
27
27
  "403": {
28
28
  "description": "Forbidden — returned by per-app policies, such as an API key issued for a different app_id or a model the app does not allow"
@@ -42,7 +42,10 @@
42
42
  "options": {}
43
43
  },
44
44
  "policies": {
45
- "inbound": ["ai-gateway-configuration-executor-v2-inbound"]
45
+ "inbound": [
46
+ "ai-gateway-configuration-loader-v2-inbound",
47
+ "ai-gateway-configuration-executor-v2-inbound"
48
+ ]
46
49
  }
47
50
  }
48
51
  }
@@ -9,6 +9,15 @@
9
9
  "name": "ai-gateway-auth-v2-inbound",
10
10
  "policyType": "ai-gateway-auth-v2"
11
11
  },
12
+ {
13
+ "handler": {
14
+ "export": "AIGatewayConfigurationLoaderV2InboundPolicy",
15
+ "module": "$import(@zuplo/runtime)",
16
+ "options": {}
17
+ },
18
+ "name": "ai-gateway-configuration-loader-v2-inbound",
19
+ "policyType": "ai-gateway-configuration-loader-v2"
20
+ },
12
21
  {
13
22
  "handler": {
14
23
  "export": "AIGatewayConfigurationExecutorV2InboundPolicy",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-zuplo-api",
3
- "version": "7.1.6",
3
+ "version": "7.1.8",
4
4
  "keywords": [
5
5
  "api",
6
6
  "openapi",