@emulates/ecs 0.0.0-stage → 1.0.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/dist/server.js ADDED
@@ -0,0 +1,12 @@
1
+ import {
2
+ DEFAULT_PORT,
3
+ createServer,
4
+ serveTarget
5
+ } from "./chunk-FRH5LGFP.js";
6
+ import "./chunk-C2SUTQ6J.js";
7
+ export {
8
+ DEFAULT_PORT,
9
+ createServer,
10
+ serveTarget
11
+ };
12
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
package/openapi.yaml ADDED
@@ -0,0 +1,60 @@
1
+ openapi: 3.1.0
2
+ info: { title: AWS ECS Fargate RunTask, version: "2014-11-13" }
3
+ servers: [{ url: "https://ecs.us-east-1.amazonaws.com" }]
4
+ paths:
5
+ /:
6
+ post:
7
+ operationId: RunTask
8
+ x-emulates: { supported: true, parity: { enabled: true, safe: false } }
9
+ parameters:
10
+ - name: X-Amz-Target
11
+ in: header
12
+ required: true
13
+ schema: { type: string, enum: [AmazonEC2ContainerServiceV20141113.RunTask] }
14
+ requestBody:
15
+ required: true
16
+ content:
17
+ application/x-amz-json-1.1:
18
+ schema:
19
+ type: object
20
+ required: [taskDefinition, launchType, networkConfiguration]
21
+ example: { taskDefinition: fixture, launchType: FARGATE, networkConfiguration: { awsvpcConfiguration: { subnets: [subnet-fixture] } } }
22
+ properties:
23
+ taskDefinition: { type: string, minLength: 1 }
24
+ cluster: { type: string, minLength: 1 }
25
+ launchType: { type: string, enum: [FARGATE] }
26
+ count: { type: integer, minimum: 1, maximum: 10 }
27
+ clientToken: { type: string, minLength: 1, maxLength: 64 }
28
+ networkConfiguration: { type: object, additionalProperties: true }
29
+ overrides: { type: object, additionalProperties: true }
30
+ responses:
31
+ "200":
32
+ description: Accepted tasks and placement failures
33
+ content:
34
+ application/x-amz-json-1.1:
35
+ schema:
36
+ type: object
37
+ required: [tasks, failures]
38
+ properties:
39
+ tasks:
40
+ type: array
41
+ items:
42
+ type: object
43
+ required: [taskArn, clusterArn, taskDefinitionArn, overrides]
44
+ properties:
45
+ taskArn: { type: string }
46
+ clusterArn: { type: string }
47
+ taskDefinitionArn: { type: string }
48
+ createdAt: { type: number, x-emulates-volatile: { kind: timestamp } }
49
+ overrides: { type: object, additionalProperties: true }
50
+ failures: { type: array, items: { type: object, properties: { arn: { type: string }, reason: { type: string }, detail: { type: string } } } }
51
+ "400": { $ref: "#/components/responses/Error" }
52
+ "429": { $ref: "#/components/responses/Error" }
53
+ "500": { $ref: "#/components/responses/Error" }
54
+ components:
55
+ responses:
56
+ Error:
57
+ description: AWS error
58
+ content:
59
+ application/x-amz-json-1.1:
60
+ schema: { type: object, required: [__type, message], properties: { __type: { type: string }, message: { type: string }, resourceIds: { type: array, items: { type: string } } } }
package/package.json CHANGED
@@ -1,6 +1,117 @@
1
1
  {
2
2
  "name": "@emulates/ecs",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "1.0.0",
4
+ "description": "AWS ECS Fargate RunTask acceptance and failure emulator.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "sideEffects": false,
8
+ "files": [
9
+ "dist",
10
+ "README.md",
11
+ "CHANGELOG.md",
12
+ "DISCOVERY.md",
13
+ "SUPPORT.md",
14
+ "openapi.yaml"
15
+ ],
16
+ "main": "./dist/index.js",
17
+ "types": "./dist/index.d.ts",
18
+ "exports": {
19
+ ".": {
20
+ "types": "./dist/index.d.ts",
21
+ "default": "./dist/index.js"
22
+ },
23
+ "./server": {
24
+ "types": "./dist/server.d.ts",
25
+ "default": "./dist/server.js"
26
+ }
27
+ },
28
+ "bin": {
29
+ "emulates-ecs": "./dist/cli.js"
30
+ },
31
+ "publishConfig": {
32
+ "access": "public",
33
+ "provenance": true
34
+ },
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "git+https://github.com/crvouga/emulates.git",
38
+ "directory": "packages/service/ecs"
39
+ },
40
+ "homepage": "https://github.com/crvouga/emulates/tree/main/packages/service/ecs#readme",
41
+ "keywords": [
42
+ "emulates",
43
+ "aws",
44
+ "ecs",
45
+ "emulator"
46
+ ],
47
+ "emulates": {
48
+ "runtime": "portable",
49
+ "entries": {
50
+ "server": "node",
51
+ "cli": "node"
52
+ },
53
+ "layer": "service",
54
+ "category": "communication",
55
+ "displayName": "AWS ECS",
56
+ "status": "wip",
57
+ "vendor": {
58
+ "website": "https://aws.amazon.com/ecs/",
59
+ "docs": "https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html"
60
+ },
61
+ "parity": "Fargate task acceptance, failures and container overrides",
62
+ "parityTier": "cold",
63
+ "playground": {
64
+ "operation": "RunTask"
65
+ },
66
+ "discovery": {
67
+ "guide": "DISCOVERY.md",
68
+ "behavior": "README.md",
69
+ "capabilities": "SUPPORT.md",
70
+ "contract": "openapi.yaml",
71
+ "types": "dist/index.d.ts",
72
+ "oracle": {
73
+ "kind": "Live vendor API or sandbox",
74
+ "command": "bun run parity:service -- ecs",
75
+ "note": "Run from an Emulates checkout; credentials come only from .env.local or GitHub Actions secrets. Missing credentials exit 2."
76
+ },
77
+ "introspection": [
78
+ "GET /__admin/health",
79
+ "GET /__admin",
80
+ "GET /__admin/state",
81
+ "GET /__admin/requests",
82
+ "GET /__admin/metrics",
83
+ "GET /__admin/faults/presets",
84
+ "GET /__admin/ui"
85
+ ],
86
+ "reporting": "https://github.com/crvouga/emulates/blob/main/docs/REPORTING_ISSUES.md"
87
+ }
88
+ },
89
+ "scripts": {
90
+ "generate": "bun ../../openapi/codegen/dist/cli.js",
91
+ "generate:check": "bun ../../openapi/codegen/dist/cli.js --check",
92
+ "openapi:check": "bun ../../openapi/codegen/dist/cli.js --validate",
93
+ "build": "bun ../../../scripts/bundle-service.ts",
94
+ "typecheck": "tsc -p tsconfig.json --noEmit",
95
+ "lint": "biome check .",
96
+ "test": "bun test",
97
+ "parity": "bun scripts/parity.ts",
98
+ "portability": "bun ../../../scripts/portability.ts",
99
+ "pack:check": "bun ../../../scripts/pack-check.ts"
100
+ },
101
+ "dependencies": {
102
+ "@emulates/sqlite": "3.0.0"
103
+ },
104
+ "devDependencies": {
105
+ "@emulates/credentials": "0.0.0-development",
106
+ "@emulates/adapter-node": "0.0.0-development",
107
+ "@emulates/core": "0.0.0-development",
108
+ "@emulates/openapi": "0.0.0-development",
109
+ "@emulates/openapi-codegen": "0.1.0",
110
+ "@emulates/openapi-metadata": "0.0.0-development",
111
+ "@emulates/parity": "0.0.0-development",
112
+ "@emulates/service": "0.0.0-development",
113
+ "@emulates/sqlite-client": "0.0.0-development",
114
+ "@emulates/testing": "0.1.0",
115
+ "fast-check": "4.9.0"
116
+ }
117
+ }