@suss/contract-aws-apigateway 0.0.1 → 0.1.0
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/README.md +3 -3
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -4,9 +4,9 @@ Generate suss `BehavioralSummary[]` for AWS API Gateway resources (REST + HTTP A
|
|
|
4
4
|
|
|
5
5
|
## What this package is
|
|
6
6
|
|
|
7
|
-
`@suss/contract-aws-apigateway` is a **resource-semantics stub**: it knows what an API Gateway endpoint *does* (status codes, authorizer behavior, CORS preflight, throttling) given a normalized configuration. It does **not** know how that configuration was authored
|
|
7
|
+
`@suss/contract-aws-apigateway` is a **resource-semantics stub**: it knows what an API Gateway endpoint *does* (status codes, authorizer behavior, CORS preflight, throttling) given a normalized configuration. It does **not** know how that configuration was authored; that's the job of a manifest reader (`@suss/contract-cloudformation`, future CDK/Terraform readers), which parses its source format and hands a normalized config to this package.
|
|
8
8
|
|
|
9
|
-
This separation means: configure your API in CloudFormation, CDK, SAM, or Terraform
|
|
9
|
+
This separation means: configure your API in CloudFormation, CDK, SAM, or Terraform, and the same resource semantics produce the same summary.
|
|
10
10
|
|
|
11
11
|
## Where it sits
|
|
12
12
|
|
|
@@ -21,7 +21,7 @@ packages/contract/
|
|
|
21
21
|
|
|
22
22
|
## Why configuration matters
|
|
23
23
|
|
|
24
|
-
A handler that only returns `200` produces a *much* larger behavioral envelope once it's deployed behind API Gateway: an authorizer adds `401`/`403`, request validation adds `400`, throttling adds `429`, integration timeouts add `504`, CORS adds an `OPTIONS` preflight endpoint. Without modeling these, a consumer that handles `429` looks like it has a dead branch
|
|
24
|
+
A handler that only returns `200` produces a *much* larger behavioral envelope once it's deployed behind API Gateway: an authorizer adds `401`/`403`, request validation adds `400`, throttling adds `429`, integration timeouts add `504`, CORS adds an `OPTIONS` preflight endpoint. Without modeling these, a consumer that handles `429` looks like it has a dead branch, when in reality the platform produces `429` even though the handler doesn't.
|
|
25
25
|
|
|
26
26
|
These transitions are emitted with `confidence.source: "derived"` and an opaque `Predicate` of the form `platform:apiGateway:<contract>`. Per-transition `metadata` carries attribution (which configuration field introduced this transition) for `inspect`/`diff` output, without forcing consumers to disambiguate platform causes.
|
|
27
27
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@suss/contract-aws-apigateway",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Generate suss behavioral summaries for AWS API Gateway resources (REST + HTTP API), independent of how they were deployed.",
|
|
6
6
|
"keywords": [
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"typecheck": "tsc --noEmit"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@suss/behavioral-ir": "0.0
|
|
48
|
+
"@suss/behavioral-ir": "0.1.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"tsup": "*",
|