@empire-builder-kit/runtime 1.0.0-beta.8 → 1.0.0-rc.1
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/NOTICE +6 -0
- package/package.json +93 -3
- package/src/api-contract/artifacts.d.ts +67 -0
- package/src/api-contract/artifacts.js +349 -0
- package/src/api-contract/artifacts.js.map +1 -0
- package/src/api-contract/client.d.ts +79 -0
- package/src/api-contract/client.js +561 -0
- package/src/api-contract/client.js.map +1 -0
- package/src/api-contract/errors.d.ts +7 -0
- package/src/api-contract/errors.js +11 -0
- package/src/api-contract/errors.js.map +1 -0
- package/src/api-contract/index.d.ts +9 -0
- package/src/api-contract/index.js +10 -0
- package/src/api-contract/index.js.map +1 -0
- package/src/api-contract/operation.d.ts +118 -0
- package/src/api-contract/operation.js +609 -0
- package/src/api-contract/operation.js.map +1 -0
- package/src/api-contract/schema.d.ts +81 -0
- package/src/api-contract/schema.js +313 -0
- package/src/api-contract/schema.js.map +1 -0
- package/src/api-contract/server.d.ts +77 -0
- package/src/api-contract/server.js +466 -0
- package/src/api-contract/server.js.map +1 -0
- package/src/async-work/contract.d.ts +17 -0
- package/src/async-work/contract.js +105 -0
- package/src/async-work/contract.js.map +1 -0
- package/src/async-work/idempotency.d.ts +123 -0
- package/src/async-work/idempotency.js +167 -0
- package/src/async-work/idempotency.js.map +1 -0
- package/src/async-work/index.d.ts +8 -0
- package/src/async-work/index.js +9 -0
- package/src/async-work/index.js.map +1 -0
- package/src/async-work/provider.d.ts +90 -0
- package/src/async-work/provider.js +155 -0
- package/src/async-work/provider.js.map +1 -0
- package/src/async-work/recovery.d.ts +103 -0
- package/src/async-work/recovery.js +291 -0
- package/src/async-work/recovery.js.map +1 -0
- package/src/async-work/schedule.d.ts +117 -0
- package/src/async-work/schedule.js +279 -0
- package/src/async-work/schedule.js.map +1 -0
- package/src/async-work/sqs.d.ts +133 -0
- package/src/async-work/sqs.js +280 -0
- package/src/async-work/sqs.js.map +1 -0
- package/src/async-work/webhook.d.ts +60 -0
- package/src/async-work/webhook.js +178 -0
- package/src/async-work/webhook.js.map +1 -0
- package/src/async-work/workflow.d.ts +98 -0
- package/src/async-work/workflow.js +225 -0
- package/src/async-work/workflow.js.map +1 -0
- package/src/auth-backend.d.ts +12 -2
- package/src/auth-backend.js +30 -18
- package/src/auth-backend.js.map +1 -1
- package/src/authorization/admission.d.ts +30 -0
- package/src/authorization/admission.js +87 -0
- package/src/authorization/admission.js.map +1 -0
- package/src/authorization/approval.d.ts +99 -0
- package/src/authorization/approval.js +249 -0
- package/src/authorization/approval.js.map +1 -0
- package/src/authorization/audit.d.ts +35 -0
- package/src/authorization/audit.js +35 -0
- package/src/authorization/audit.js.map +1 -0
- package/src/authorization/delegation.d.ts +149 -0
- package/src/authorization/delegation.js +401 -0
- package/src/authorization/delegation.js.map +1 -0
- package/src/authorization/errors.d.ts +32 -0
- package/src/authorization/errors.js +153 -0
- package/src/authorization/errors.js.map +1 -0
- package/src/authorization/evaluator.d.ts +39 -0
- package/src/authorization/evaluator.js +199 -0
- package/src/authorization/evaluator.js.map +1 -0
- package/src/authorization/index.d.ts +14 -0
- package/src/authorization/index.js +15 -0
- package/src/authorization/index.js.map +1 -0
- package/src/authorization/machine-token.d.ts +87 -0
- package/src/authorization/machine-token.js +201 -0
- package/src/authorization/machine-token.js.map +1 -0
- package/src/authorization/machine.d.ts +32 -0
- package/src/authorization/machine.js +41 -0
- package/src/authorization/machine.js.map +1 -0
- package/src/authorization/model.d.ts +112 -0
- package/src/authorization/model.js +112 -0
- package/src/authorization/model.js.map +1 -0
- package/src/canonical-json.cjs +157 -0
- package/src/canonical-json.d.cts +26 -0
- package/src/canonical-json.d.ts +18 -0
- package/src/canonical-json.js +125 -0
- package/src/canonical-json.js.map +1 -0
- package/src/configuration/contract.d.ts +107 -0
- package/src/configuration/contract.js +461 -0
- package/src/configuration/contract.js.map +1 -0
- package/src/configuration/index.d.ts +3 -0
- package/src/configuration/index.js +4 -0
- package/src/configuration/index.js.map +1 -0
- package/src/configuration/provider.d.ts +59 -0
- package/src/configuration/provider.js +198 -0
- package/src/configuration/provider.js.map +1 -0
- package/src/configuration/rollout-evaluator.cjs +54 -0
- package/src/configuration/rollout-evaluator.d.cts +26 -0
- package/src/configuration/rollout-evaluator.d.ts +18 -0
- package/src/configuration/rollout-evaluator.js +38 -0
- package/src/configuration/rollout-evaluator.js.map +1 -0
- package/src/configuration/rollout-key.cjs +38 -0
- package/src/configuration/rollout-key.d.cts +14 -0
- package/src/configuration/rollout-key.d.ts +10 -0
- package/src/configuration/rollout-key.js +26 -0
- package/src/configuration/rollout-key.js.map +1 -0
- package/src/configuration/rollout.d.ts +60 -0
- package/src/configuration/rollout.js +42 -0
- package/src/configuration/rollout.js.map +1 -0
- package/src/data-lifecycle/contract.d.ts +33 -0
- package/src/data-lifecycle/contract.js +118 -0
- package/src/data-lifecycle/contract.js.map +1 -0
- package/src/data-lifecycle/event.d.ts +28 -0
- package/src/data-lifecycle/event.js +76 -0
- package/src/data-lifecycle/event.js.map +1 -0
- package/src/data-lifecycle/evidence.d.ts +65 -0
- package/src/data-lifecycle/evidence.js +162 -0
- package/src/data-lifecycle/evidence.js.map +1 -0
- package/src/data-lifecycle/holds.d.ts +29 -0
- package/src/data-lifecycle/holds.js +124 -0
- package/src/data-lifecycle/holds.js.map +1 -0
- package/src/data-lifecycle/index.d.ts +8 -0
- package/src/data-lifecycle/index.js +9 -0
- package/src/data-lifecycle/index.js.map +1 -0
- package/src/data-lifecycle/policy.d.ts +16 -0
- package/src/data-lifecycle/policy.js +79 -0
- package/src/data-lifecycle/policy.js.map +1 -0
- package/src/data-lifecycle/restore.d.ts +90 -0
- package/src/data-lifecycle/restore.js +336 -0
- package/src/data-lifecycle/restore.js.map +1 -0
- package/src/data-lifecycle/retention.d.ts +57 -0
- package/src/data-lifecycle/retention.js +232 -0
- package/src/data-lifecycle/retention.js.map +1 -0
- package/src/data-lifecycle/rights.d.ts +171 -0
- package/src/data-lifecycle/rights.js +533 -0
- package/src/data-lifecycle/rights.js.map +1 -0
- package/src/database.d.ts +36 -0
- package/src/database.js +119 -0
- package/src/database.js.map +1 -0
- package/src/deterministic-order.cjs +16 -0
- package/src/deterministic-order.d.cts +9 -0
- package/src/deterministic-order.d.ts +7 -0
- package/src/deterministic-order.js +10 -0
- package/src/deterministic-order.js.map +1 -0
- package/src/events.d.ts +28 -19
- package/src/events.js +171 -66
- package/src/events.js.map +1 -1
- package/src/index.d.ts +7 -1
- package/src/index.js +24 -0
- package/src/index.js.map +1 -1
- package/src/lambda.d.ts +8 -2
- package/src/lambda.js +100 -39
- package/src/lambda.js.map +1 -1
- package/src/logging.d.ts +95 -36
- package/src/logging.js +460 -62
- package/src/logging.js.map +1 -1
- package/src/observability.d.ts +80 -18
- package/src/observability.js +252 -61
- package/src/observability.js.map +1 -1
- package/src/performance/index.d.ts +1 -0
- package/src/performance/index.js +2 -0
- package/src/performance/index.js.map +1 -0
- package/src/performance/protected-load-endpoint.d.ts +140 -0
- package/src/performance/protected-load-endpoint.js +462 -0
- package/src/performance/protected-load-endpoint.js.map +1 -0
- package/src/rds-global-ca-bundle.d.ts +1 -0
- package/src/rds-global-ca-bundle.js +2742 -0
- package/src/rds-global-ca-bundle.js.map +1 -0
- package/src/reliability/burn.d.ts +39 -0
- package/src/reliability/burn.js +102 -0
- package/src/reliability/burn.js.map +1 -0
- package/src/reliability/contract.d.ts +5 -0
- package/src/reliability/contract.js +317 -0
- package/src/reliability/contract.js.map +1 -0
- package/src/reliability/incident.d.ts +16 -0
- package/src/reliability/incident.js +562 -0
- package/src/reliability/incident.js.map +1 -0
- package/src/reliability/index.d.ts +5 -0
- package/src/reliability/index.js +6 -0
- package/src/reliability/index.js.map +1 -0
- package/src/reliability/model.d.ts +191 -0
- package/src/reliability/model.fixtures.d.ts +2 -0
- package/src/reliability/model.fixtures.js +57 -0
- package/src/reliability/model.fixtures.js.map +1 -0
- package/src/reliability/model.js +2 -0
- package/src/reliability/model.js.map +1 -0
- package/src/reliability/slo.d.ts +9 -0
- package/src/reliability/slo.js +74 -0
- package/src/reliability/slo.js.map +1 -0
- package/src/request-context.d.ts +57 -15
- package/src/request-context.js +116 -36
- package/src/request-context.js.map +1 -1
- package/src/safe-reference.cjs +57 -0
- package/src/safe-reference.d.cts +25 -0
- package/src/safe-reference.d.ts +11 -0
- package/src/safe-reference.js +46 -0
- package/src/safe-reference.js.map +1 -0
- package/src/secrets/contract.d.ts +99 -0
- package/src/secrets/contract.js +238 -0
- package/src/secrets/contract.js.map +1 -0
- package/src/secrets/index.d.ts +4 -0
- package/src/secrets/index.js +5 -0
- package/src/secrets/index.js.map +1 -0
- package/src/secrets/observability.d.ts +14 -0
- package/src/secrets/observability.js +100 -0
- package/src/secrets/observability.js.map +1 -0
- package/src/secrets/personal.d.ts +48 -0
- package/src/secrets/personal.js +332 -0
- package/src/secrets/personal.js.map +1 -0
- package/src/secrets/resolver.d.ts +125 -0
- package/src/secrets/resolver.js +602 -0
- package/src/secrets/resolver.js.map +1 -0
- package/src/secrets/sensitive-patterns.cjs +84 -0
- package/src/secrets/sensitive-patterns.d.cts +62 -0
- package/src/secrets/sensitive-patterns.d.ts +40 -0
- package/src/secrets/sensitive-patterns.js +60 -0
- package/src/secrets/sensitive-patterns.js.map +1 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { type ApiSchema } from './schema.js';
|
|
2
|
+
export declare const EBK_APP_V1_RESPONSE_PROFILE: "ebk-app-v1";
|
|
3
|
+
export declare const API_CONTRACT_SCHEMA_VERSION: 1;
|
|
4
|
+
export declare const DEFAULT_API_BODY_MAX_BYTES: number;
|
|
5
|
+
export type ApiHttpMethod = 'DELETE' | 'GET' | 'PATCH' | 'POST' | 'PUT';
|
|
6
|
+
export type ApiAuthenticationMode = 'anonymous' | 'customer' | 'internal' | 'operator' | 'product-agent';
|
|
7
|
+
export interface ApiProblemDefinition<Details = unknown> {
|
|
8
|
+
code: string;
|
|
9
|
+
details?: ApiSchema<Details>;
|
|
10
|
+
message: string;
|
|
11
|
+
retryable: boolean;
|
|
12
|
+
status: number;
|
|
13
|
+
type: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ApiActiveLifecycle {
|
|
16
|
+
status: 'active';
|
|
17
|
+
}
|
|
18
|
+
export interface ApiDeprecation {
|
|
19
|
+
earliestRemovalDate?: string;
|
|
20
|
+
earliestRemovalVersion?: string;
|
|
21
|
+
evidence: string;
|
|
22
|
+
firstDeprecatedVersion: string;
|
|
23
|
+
knownConsumers: readonly string[];
|
|
24
|
+
migration: string;
|
|
25
|
+
owner: string;
|
|
26
|
+
replacement: string;
|
|
27
|
+
}
|
|
28
|
+
export interface ApiDeprecatedLifecycle {
|
|
29
|
+
deprecation: ApiDeprecation;
|
|
30
|
+
status: 'deprecated';
|
|
31
|
+
}
|
|
32
|
+
export type ApiOperationLifecycle = ApiActiveLifecycle | ApiDeprecatedLifecycle;
|
|
33
|
+
export interface ApiPaginationContract {
|
|
34
|
+
cursorQueryParameter: string;
|
|
35
|
+
cursorResponseField: string;
|
|
36
|
+
defaultLimit: number;
|
|
37
|
+
expirySeconds?: number;
|
|
38
|
+
limitQueryParameter: string;
|
|
39
|
+
maximumLimit: number;
|
|
40
|
+
minimumLimit: number;
|
|
41
|
+
stability: 'eventual' | 'snapshot';
|
|
42
|
+
}
|
|
43
|
+
export interface ApiConditionalWriteContract {
|
|
44
|
+
kind: 'etag';
|
|
45
|
+
requestHeader: 'if-match';
|
|
46
|
+
required: boolean;
|
|
47
|
+
responseHeader: 'etag';
|
|
48
|
+
}
|
|
49
|
+
export interface ApiIdempotencyContract {
|
|
50
|
+
concurrentDuplicate: 'conflict' | 'wait';
|
|
51
|
+
keyHeader: 'idempotency-key';
|
|
52
|
+
maxKeyLength: number;
|
|
53
|
+
mismatch: 'conflict';
|
|
54
|
+
required: boolean;
|
|
55
|
+
replay: 'same-response';
|
|
56
|
+
requestFingerprint: 'canonical-json';
|
|
57
|
+
retentionSeconds: number;
|
|
58
|
+
scope: 'principal-operation';
|
|
59
|
+
}
|
|
60
|
+
export interface ApiOperationRequest<Path = unknown, Query = unknown, Headers = unknown, Body = unknown> {
|
|
61
|
+
body?: ApiSchema<Body>;
|
|
62
|
+
headers?: ApiSchema<Headers>;
|
|
63
|
+
maxBodyBytes?: number;
|
|
64
|
+
path?: ApiSchema<Path>;
|
|
65
|
+
query?: ApiSchema<Query>;
|
|
66
|
+
}
|
|
67
|
+
export interface ApiOperationDefinition<Path = unknown, Query = unknown, Headers = unknown, Body = unknown, ResponseBody = unknown> {
|
|
68
|
+
authentication: ApiAuthenticationMode;
|
|
69
|
+
authorizationActions: readonly string[];
|
|
70
|
+
conditionalWrite?: ApiConditionalWriteContract;
|
|
71
|
+
contractVersion: string;
|
|
72
|
+
feature: string;
|
|
73
|
+
idempotency?: ApiIdempotencyContract;
|
|
74
|
+
lifecycle: ApiOperationLifecycle;
|
|
75
|
+
method: ApiHttpMethod;
|
|
76
|
+
operationId: string;
|
|
77
|
+
pagination?: ApiPaginationContract;
|
|
78
|
+
path: string;
|
|
79
|
+
problems: readonly ApiProblemDefinition[];
|
|
80
|
+
request?: ApiOperationRequest<Path, Query, Headers, Body>;
|
|
81
|
+
response: {
|
|
82
|
+
body: ApiSchema<ResponseBody>;
|
|
83
|
+
status: number;
|
|
84
|
+
};
|
|
85
|
+
responseProfile: typeof EBK_APP_V1_RESPONSE_PROFILE;
|
|
86
|
+
slice: string;
|
|
87
|
+
summary: string;
|
|
88
|
+
}
|
|
89
|
+
export interface ApiContractDefinition<Operations extends readonly ApiOperationDefinition[] = readonly ApiOperationDefinition[]> {
|
|
90
|
+
operations: Operations;
|
|
91
|
+
schemaVersion: typeof API_CONTRACT_SCHEMA_VERSION;
|
|
92
|
+
slice: string;
|
|
93
|
+
title: string;
|
|
94
|
+
version: string;
|
|
95
|
+
}
|
|
96
|
+
export declare function defineApiOperation<const Definition extends ApiOperationDefinition>(definition: Definition): Readonly<Definition>;
|
|
97
|
+
export declare function defineApiContract<const Operations extends readonly ApiOperationDefinition[]>(options: {
|
|
98
|
+
operations: Operations;
|
|
99
|
+
schemaVersion?: typeof API_CONTRACT_SCHEMA_VERSION;
|
|
100
|
+
slice: string;
|
|
101
|
+
title: string;
|
|
102
|
+
version: string;
|
|
103
|
+
}): ApiContractDefinition<readonly Operations[number][]>;
|
|
104
|
+
export type InferApiSchema<T> = T extends ApiSchema<infer V> ? V : never;
|
|
105
|
+
type RequestLocation = 'body' | 'headers' | 'path' | 'query';
|
|
106
|
+
type RequestSchema<Operation extends ApiOperationDefinition, Location extends RequestLocation> = Operation extends {
|
|
107
|
+
request: infer Request;
|
|
108
|
+
} ? Location extends keyof NonNullable<Request> ? Exclude<NonNullable<Request>[Location], undefined> : never : never;
|
|
109
|
+
type RequestLocationValue<Operation extends ApiOperationDefinition, Location extends RequestLocation> = [RequestSchema<Operation, Location>] extends [never] ? {
|
|
110
|
+
[Key in Location]?: never;
|
|
111
|
+
} : RequestSchema<Operation, Location> extends ApiSchema<infer Value> ? {
|
|
112
|
+
[Key in Location]: Value;
|
|
113
|
+
} : {
|
|
114
|
+
[Key in Location]?: never;
|
|
115
|
+
};
|
|
116
|
+
export type ApiRequestValue<Operation extends ApiOperationDefinition> = RequestLocationValue<Operation, 'body'> & RequestLocationValue<Operation, 'headers'> & RequestLocationValue<Operation, 'path'> & RequestLocationValue<Operation, 'query'>;
|
|
117
|
+
export type ApiResponseValue<Operation extends ApiOperationDefinition> = Operation['response']['body'] extends ApiSchema<infer V> ? V : never;
|
|
118
|
+
export {};
|