mlform 0.1.19 → 0.1.22
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 +2 -2
- package/dist/{builtins-6Cv46IXP.js → builtins-B2U_ViF6.js} +12 -14
- package/dist/mlform/builtins.mjs +1 -1
- package/dist/mlform/kit.mjs +6 -8
- package/dist/mlform/primitives.mjs +1 -1
- package/dist/mlform/runtime.mjs +3 -3
- package/dist/mlform/schema.mjs +2 -2
- package/dist/mlform/transport.mjs +2 -2
- package/dist/{primitives-BNBNG2Aa.js → primitives-ljp3c5R8.js} +11 -54
- package/dist/{runtime-Eo_q4pgg.js → runtime-C9ZioNpI.js} +405 -683
- package/dist/schema-CiCjXECD.js +350 -0
- package/dist/transport-KUB3zfW9.js +65 -0
- package/dist/types/src/kit/constants.d.ts +0 -1
- package/dist/types/src/kit/kinds/define-report-kind.d.ts +1 -3
- package/dist/types/src/primitives/components/form-root-state.d.ts +0 -4
- package/dist/types/src/primitives/components/submit-button.d.ts +0 -4
- package/dist/types/src/primitives/controller-types.d.ts +9 -23
- package/dist/types/src/runtime/errors.d.ts +0 -1
- package/dist/types/src/runtime/index.d.ts +1 -2
- package/dist/types/src/runtime/reports/controller.d.ts +1 -2
- package/dist/types/src/runtime/state/engine.d.ts +1 -5
- package/dist/types/src/runtime/submission/create-submitter.d.ts +1 -1
- package/dist/types/src/runtime/submission/index.d.ts +1 -0
- package/dist/types/src/runtime/submission/reports.d.ts +1 -2
- package/dist/types/src/runtime/submission/request.d.ts +2 -18
- package/dist/types/src/runtime/submission/transport-response.d.ts +2 -0
- package/dist/types/src/runtime/submission/types.d.ts +2 -23
- package/dist/types/src/runtime/types/behavior.d.ts +1 -7
- package/dist/types/src/runtime/types/form.d.ts +1 -14
- package/dist/types/src/runtime/types/report.d.ts +1 -1
- package/dist/types/src/runtime/types/transport.d.ts +5 -16
- package/dist/types/src/schema/index.d.ts +1 -0
- package/dist/types/src/schema/mapped-to.d.ts +13 -1
- package/dist/types/src/schema/normalize.d.ts +5 -0
- package/dist/types/src/schema/report-context.d.ts +2 -2
- package/dist/types/src/schema/types/report.d.ts +5 -11
- package/dist/types/src/schema/types/submit.d.ts +28 -11
- package/dist/types/src/schema/validation.d.ts +25 -0
- package/dist/types/src/transport/errors.d.ts +1 -28
- package/dist/types/src/transport/fanout.d.ts +17 -0
- package/dist/types/src/transport/index.d.ts +4 -10
- package/dist/types/src/transport/request-runner.d.ts +3 -2
- package/dist/types/src/transport/types.d.ts +18 -0
- package/package.json +1 -1
- package/dist/schema-CNKKJZRx.js +0 -173
- package/dist/transport-Cloa_erk.js +0 -2154
- package/dist/types/src/runtime/submission/field-updates.d.ts +0 -14
- package/dist/types/src/runtime/submission/pending-patches.d.ts +0 -2
- package/dist/types/src/runtime/submission/report-updates.d.ts +0 -16
- package/dist/types/src/runtime/submission/stream-events.d.ts +0 -13
- package/dist/types/src/runtime/submission/stream-progress.d.ts +0 -4
- package/dist/types/src/transport/capabilities.d.ts +0 -7
- package/dist/types/src/transport/clone.d.ts +0 -6
- package/dist/types/src/transport/composition/fallback.d.ts +0 -2
- package/dist/types/src/transport/composition/fanout-helpers.d.ts +0 -2
- package/dist/types/src/transport/composition/fanout-options.d.ts +0 -9
- package/dist/types/src/transport/composition/fanout.d.ts +0 -2
- package/dist/types/src/transport/composition/hedged.d.ts +0 -2
- package/dist/types/src/transport/composition/index.d.ts +0 -8
- package/dist/types/src/transport/composition/load-balancing.d.ts +0 -2
- package/dist/types/src/transport/composition/pipeline.d.ts +0 -2
- package/dist/types/src/transport/composition/quorum-fanout.d.ts +0 -2
- package/dist/types/src/transport/composition/racing.d.ts +0 -2
- package/dist/types/src/transport/composition/routing.d.ts +0 -3
- package/dist/types/src/transport/constants.d.ts +0 -34
- package/dist/types/src/transport/internal-core.d.ts +0 -21
- package/dist/types/src/transport/internal-errors.d.ts +0 -21
- package/dist/types/src/transport/internal-request.d.ts +0 -21
- package/dist/types/src/transport/internal-routing.d.ts +0 -25
- package/dist/types/src/transport/internal-sse.d.ts +0 -14
- package/dist/types/src/transport/internal-stream.d.ts +0 -13
- package/dist/types/src/transport/internal.d.ts +0 -6
- package/dist/types/src/transport/middleware/auth.d.ts +0 -2
- package/dist/types/src/transport/middleware/cache.d.ts +0 -2
- package/dist/types/src/transport/middleware/circuit-breaker.d.ts +0 -2
- package/dist/types/src/transport/middleware/dedup.d.ts +0 -2
- package/dist/types/src/transport/middleware/index.d.ts +0 -12
- package/dist/types/src/transport/middleware/logging.d.ts +0 -2
- package/dist/types/src/transport/middleware/metrics.d.ts +0 -2
- package/dist/types/src/transport/middleware/pipe.d.ts +0 -2
- package/dist/types/src/transport/middleware/rate-limit.d.ts +0 -2
- package/dist/types/src/transport/middleware/retry.d.ts +0 -2
- package/dist/types/src/transport/middleware/timeout.d.ts +0 -2
- package/dist/types/src/transport/middleware/tracing.d.ts +0 -2
- package/dist/types/src/transport/middleware/transform.d.ts +0 -3
- package/dist/types/src/transport/policy-context.d.ts +0 -3
- package/dist/types/src/transport/protocols/graphql.d.ts +0 -2
- package/dist/types/src/transport/protocols/grpc.d.ts +0 -5
- package/dist/types/src/transport/protocols/index.d.ts +0 -5
- package/dist/types/src/transport/protocols/json.d.ts +0 -2
- package/dist/types/src/transport/protocols/sse.d.ts +0 -2
- package/dist/types/src/transport/protocols/websocket.d.ts +0 -2
- package/dist/types/src/transport/runtime.d.ts +0 -4
- package/dist/types/src/transport/state/cache-store.d.ts +0 -2
- package/dist/types/src/transport/state/circuit-breaker.d.ts +0 -2
- package/dist/types/src/transport/state/health.d.ts +0 -2
- package/dist/types/src/transport/state/index.d.ts +0 -5
- package/dist/types/src/transport/state/rate-limiter.d.ts +0 -2
- package/dist/types/src/transport/state/session.d.ts +0 -2
- package/dist/types/src/transport/types/capabilities.d.ts +0 -35
- package/dist/types/src/transport/types/core.d.ts +0 -74
- package/dist/types/src/transport/types/events.d.ts +0 -50
- package/dist/types/src/transport/types/index.d.ts +0 -7
- package/dist/types/src/transport/types/middleware.d.ts +0 -3
- package/dist/types/src/transport/types/options-http.d.ts +0 -85
- package/dist/types/src/transport/types/options-middleware.d.ts +0 -96
- package/dist/types/src/transport/types/options-routing.d.ts +0 -82
- package/dist/types/src/transport/types/options.d.ts +0 -3
- package/dist/types/src/transport/types/session.d.ts +0 -48
- package/dist/types/src/transport/types/state.d.ts +0 -46
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { TransportCapabilities } from './capabilities';
|
|
2
|
-
import { MaybePromise, SubmitRequest } from './core';
|
|
3
|
-
import { TransportStreamEvent } from './events';
|
|
4
|
-
import { TransportSession, TransportSessionMessage } from './session';
|
|
5
|
-
export type JsonTransportMethod = "POST" | "PUT" | "PATCH" | "DELETE";
|
|
6
|
-
export interface JsonTransportOptions {
|
|
7
|
-
endpoint: string | URL;
|
|
8
|
-
source?: string;
|
|
9
|
-
fetch?: typeof globalThis.fetch;
|
|
10
|
-
method?: JsonTransportMethod;
|
|
11
|
-
headers?: HeadersInit | (() => MaybePromise<HeadersInit>);
|
|
12
|
-
credentials?: RequestCredentials;
|
|
13
|
-
body?: (request: SubmitRequest) => BodyInit | null | undefined;
|
|
14
|
-
parse?: (response: Response) => Promise<unknown>;
|
|
15
|
-
stream?: (response: Response, request: SubmitRequest) => MaybePromise<AsyncIterable<TransportStreamEvent>>;
|
|
16
|
-
}
|
|
17
|
-
export interface GraphqlTransportOptions {
|
|
18
|
-
endpoint: string | URL;
|
|
19
|
-
source?: string;
|
|
20
|
-
fetch?: typeof globalThis.fetch;
|
|
21
|
-
query: string | ((request: SubmitRequest) => MaybePromise<string>);
|
|
22
|
-
operationName?: string | ((request: SubmitRequest) => MaybePromise<string | undefined>);
|
|
23
|
-
variables?: (request: SubmitRequest) => MaybePromise<Record<string, unknown>>;
|
|
24
|
-
headers?: HeadersInit | (() => MaybePromise<HeadersInit>);
|
|
25
|
-
credentials?: RequestCredentials;
|
|
26
|
-
parse?: (response: Response) => Promise<unknown>;
|
|
27
|
-
resultPath?: "data" | `data.${string}`;
|
|
28
|
-
resolveResult?: (payload: unknown, request: SubmitRequest) => MaybePromise<unknown>;
|
|
29
|
-
}
|
|
30
|
-
export interface SseTransportOptions {
|
|
31
|
-
endpoint: string | URL;
|
|
32
|
-
source?: string;
|
|
33
|
-
fetch?: typeof globalThis.fetch;
|
|
34
|
-
method?: "POST" | "PUT" | "PATCH";
|
|
35
|
-
headers?: HeadersInit | (() => MaybePromise<HeadersInit>);
|
|
36
|
-
credentials?: RequestCredentials;
|
|
37
|
-
body?: (request: SubmitRequest) => BodyInit | null | undefined;
|
|
38
|
-
decodeEvent?: (event: {
|
|
39
|
-
id?: string;
|
|
40
|
-
event?: string;
|
|
41
|
-
data: string;
|
|
42
|
-
retry?: number;
|
|
43
|
-
}, request: SubmitRequest) => MaybePromise<TransportStreamEvent>;
|
|
44
|
-
resultEvent?: string | ((event: {
|
|
45
|
-
id?: string;
|
|
46
|
-
event?: string;
|
|
47
|
-
data: string;
|
|
48
|
-
retry?: number;
|
|
49
|
-
}) => boolean);
|
|
50
|
-
maxPayloadBytes?: number;
|
|
51
|
-
}
|
|
52
|
-
export interface WebSocketSessionTransportOptions {
|
|
53
|
-
url: string | URL | ((request: SubmitRequest) => MaybePromise<string | URL>);
|
|
54
|
-
source?: string;
|
|
55
|
-
WebSocket?: typeof globalThis.WebSocket;
|
|
56
|
-
protocols?: string | string[] | ((request: SubmitRequest) => MaybePromise<string | string[]>);
|
|
57
|
-
serializeMessage?: (message: unknown) => string | ArrayBuffer | Blob | Uint8Array;
|
|
58
|
-
deserializeMessage?: (data: string | ArrayBuffer | Blob) => MaybePromise<unknown>;
|
|
59
|
-
sessionInit?: TransportSessionMessage | ((request: SubmitRequest) => MaybePromise<TransportSessionMessage | undefined>);
|
|
60
|
-
closeTimeoutMs?: number;
|
|
61
|
-
maxBufferedMessages?: number;
|
|
62
|
-
bufferOverflow?: "close" | "drop-oldest" | "drop-newest" | "error";
|
|
63
|
-
}
|
|
64
|
-
export interface GrpcUnaryTransportOptions {
|
|
65
|
-
source?: string;
|
|
66
|
-
unary?: (request: SubmitRequest) => MaybePromise<unknown>;
|
|
67
|
-
capabilities?: TransportCapabilities;
|
|
68
|
-
}
|
|
69
|
-
export interface GrpcStreamTransportOptions {
|
|
70
|
-
source?: string;
|
|
71
|
-
stream: (request: SubmitRequest) => MaybePromise<AsyncIterable<TransportStreamEvent>>;
|
|
72
|
-
capabilities?: TransportCapabilities;
|
|
73
|
-
}
|
|
74
|
-
export interface GrpcSessionTransportOptions {
|
|
75
|
-
source?: string;
|
|
76
|
-
session: (request: SubmitRequest) => MaybePromise<TransportSession>;
|
|
77
|
-
capabilities?: TransportCapabilities;
|
|
78
|
-
}
|
|
79
|
-
export interface GrpcTransportOptions {
|
|
80
|
-
source?: string;
|
|
81
|
-
unary?: (request: SubmitRequest) => MaybePromise<unknown>;
|
|
82
|
-
stream?: (request: SubmitRequest) => MaybePromise<AsyncIterable<TransportStreamEvent>>;
|
|
83
|
-
session?: (request: SubmitRequest) => MaybePromise<TransportSession>;
|
|
84
|
-
capabilities?: TransportCapabilities;
|
|
85
|
-
}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { MaybePromise, SubmitRequest, Transport, TransportPolicyContext } from './core';
|
|
2
|
-
import { TransportStreamEvent } from './events';
|
|
3
|
-
import { CircuitBreakerSharedState, SharedRateLimiter, TransportCacheStore } from './state';
|
|
4
|
-
export interface SessionTransportOptions {
|
|
5
|
-
submit?: Transport["submit"];
|
|
6
|
-
stream?: Transport["stream"];
|
|
7
|
-
openSession: NonNullable<Transport["openSession"]>;
|
|
8
|
-
capabilities?: import('./capabilities').TransportCapabilities;
|
|
9
|
-
}
|
|
10
|
-
export interface RetryOptions {
|
|
11
|
-
attempts: number;
|
|
12
|
-
backoff?: "exponential" | "linear" | number[] | ((attempt: number) => number);
|
|
13
|
-
baseDelay?: number;
|
|
14
|
-
maxDelay?: number;
|
|
15
|
-
jitter?: boolean;
|
|
16
|
-
allowUnsafeRetry?: boolean;
|
|
17
|
-
retryOn?: (error: unknown, attempt: number) => boolean;
|
|
18
|
-
}
|
|
19
|
-
export interface ApiKeyAuthOptions {
|
|
20
|
-
type: "api-key";
|
|
21
|
-
key: string | (() => MaybePromise<string>);
|
|
22
|
-
header?: string;
|
|
23
|
-
prefix?: string;
|
|
24
|
-
}
|
|
25
|
-
export interface BearerAuthOptions {
|
|
26
|
-
type: "bearer";
|
|
27
|
-
token: string | (() => MaybePromise<string>);
|
|
28
|
-
header?: string;
|
|
29
|
-
prefix?: string;
|
|
30
|
-
}
|
|
31
|
-
export interface CustomAuthOptions {
|
|
32
|
-
type: "custom";
|
|
33
|
-
apply: (request: SubmitRequest) => MaybePromise<SubmitRequest>;
|
|
34
|
-
}
|
|
35
|
-
export interface TransportContextAuthOptions {
|
|
36
|
-
type: "transport-context";
|
|
37
|
-
context: NonNullable<SubmitRequest["transport"]> | (() => MaybePromise<NonNullable<SubmitRequest["transport"]>>);
|
|
38
|
-
}
|
|
39
|
-
export type AuthOptions = ApiKeyAuthOptions | BearerAuthOptions | CustomAuthOptions | TransportContextAuthOptions;
|
|
40
|
-
export interface CircuitBreakerOptions {
|
|
41
|
-
failureThreshold: number;
|
|
42
|
-
resetTimeout: number;
|
|
43
|
-
halfOpenMaxRequests?: number;
|
|
44
|
-
key?: string;
|
|
45
|
-
scope?: string;
|
|
46
|
-
sharedState?: CircuitBreakerSharedState;
|
|
47
|
-
tripOn?: (error: unknown) => boolean;
|
|
48
|
-
onStateChange?: (state: "closed" | "open" | "half-open") => void;
|
|
49
|
-
}
|
|
50
|
-
export interface RateLimitOptions {
|
|
51
|
-
maxConcurrent?: number;
|
|
52
|
-
perSecond?: number;
|
|
53
|
-
queueLimit?: number;
|
|
54
|
-
key?: string;
|
|
55
|
-
scope?: string;
|
|
56
|
-
limiter?: SharedRateLimiter;
|
|
57
|
-
}
|
|
58
|
-
export interface DedupOptions {
|
|
59
|
-
key?: (request: SubmitRequest) => string;
|
|
60
|
-
}
|
|
61
|
-
export interface CacheOptions {
|
|
62
|
-
key: (request: SubmitRequest) => string;
|
|
63
|
-
ttl: number;
|
|
64
|
-
maxEntries?: number;
|
|
65
|
-
scope?: string;
|
|
66
|
-
store?: TransportCacheStore;
|
|
67
|
-
allowUnsafeCache?: boolean;
|
|
68
|
-
shouldCache?: (response: unknown, request: SubmitRequest) => boolean;
|
|
69
|
-
}
|
|
70
|
-
export interface TransportTraceOptions {
|
|
71
|
-
traceparent?: string | ((request: SubmitRequest) => MaybePromise<string | undefined>);
|
|
72
|
-
baggage?: string | ((request: SubmitRequest) => MaybePromise<string | undefined>);
|
|
73
|
-
attributes?: (request: SubmitRequest) => MaybePromise<Record<string, unknown> | undefined>;
|
|
74
|
-
preserveExistingHeaders?: boolean;
|
|
75
|
-
requestId?: string | ((request: SubmitRequest) => MaybePromise<string | undefined>);
|
|
76
|
-
scope?: string | ((request: SubmitRequest) => MaybePromise<string | undefined>);
|
|
77
|
-
}
|
|
78
|
-
export interface TransportTelemetryEvent {
|
|
79
|
-
kind: "request-start" | "request-success" | "request-error" | "stream-event" | "session-open" | "session-close" | "capability-reject" | "policy-block";
|
|
80
|
-
source?: string;
|
|
81
|
-
scope?: string;
|
|
82
|
-
durationMs?: number;
|
|
83
|
-
error?: unknown;
|
|
84
|
-
request: SubmitRequest;
|
|
85
|
-
meta?: Record<string, unknown>;
|
|
86
|
-
}
|
|
87
|
-
export interface TransportMetricsOptions {
|
|
88
|
-
emit(event: TransportTelemetryEvent): void;
|
|
89
|
-
}
|
|
90
|
-
export interface TransportLogOptions {
|
|
91
|
-
onRequest?: (request: SubmitRequest) => void;
|
|
92
|
-
onResponse?: (response: unknown, request: SubmitRequest, durationMs: number) => void;
|
|
93
|
-
onError?: (error: unknown, request: SubmitRequest, durationMs: number) => void;
|
|
94
|
-
onStreamEvent?: (event: TransportStreamEvent, request: SubmitRequest) => void;
|
|
95
|
-
}
|
|
96
|
-
export type TransportContextPolicy = TransportPolicyContext;
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { CapabilityRequirement } from './capabilities';
|
|
2
|
-
import { MaybePromise, SubmitRequest, Transport, TransportResponse } from './core';
|
|
3
|
-
import { TransportCollection } from './middleware';
|
|
4
|
-
import { TransportHealthState } from './state';
|
|
5
|
-
export interface RoutingTransportOptions<TTransportId extends string = string> {
|
|
6
|
-
transports: Record<TTransportId, Transport>;
|
|
7
|
-
requiredCapabilities?: CapabilityRequirement;
|
|
8
|
-
selectTransport: (request: SubmitRequest, context: {
|
|
9
|
-
transportIds: readonly TTransportId[];
|
|
10
|
-
}) => MaybePromise<TTransportId>;
|
|
11
|
-
}
|
|
12
|
-
export interface WeightedRoutingTransportOptions<TTransportId extends string = string> {
|
|
13
|
-
transports: Record<TTransportId, Transport>;
|
|
14
|
-
requiredCapabilities?: CapabilityRequirement;
|
|
15
|
-
weights: Partial<Record<TTransportId, number>> | ((request: SubmitRequest, transportId: TTransportId) => MaybePromise<number>);
|
|
16
|
-
filter?: (transportId: TTransportId, request: SubmitRequest) => MaybePromise<boolean>;
|
|
17
|
-
}
|
|
18
|
-
export interface FanoutTransportResult<TTransportId extends string = string> {
|
|
19
|
-
id: TTransportId | undefined;
|
|
20
|
-
index: number;
|
|
21
|
-
response: TransportResponse;
|
|
22
|
-
}
|
|
23
|
-
export interface FanoutTransportFailure<TTransportId extends string = string> {
|
|
24
|
-
id: TTransportId | undefined;
|
|
25
|
-
index: number;
|
|
26
|
-
error: unknown;
|
|
27
|
-
}
|
|
28
|
-
export interface FanoutTransportOptions<TTransportId extends string = string> {
|
|
29
|
-
transports: TransportCollection<TTransportId>;
|
|
30
|
-
requiredCapabilities?: CapabilityRequirement;
|
|
31
|
-
filter?: (transportId: string, request: SubmitRequest) => MaybePromise<boolean>;
|
|
32
|
-
transformRequest?: (transportId: string, request: SubmitRequest) => MaybePromise<SubmitRequest>;
|
|
33
|
-
failurePolicy?: "fail-all" | "partial-success";
|
|
34
|
-
abortPolicy?: "wait-all" | "abort-pending-on-first-failure" | "abort-pending-on-first-success";
|
|
35
|
-
merge?: (context: {
|
|
36
|
-
request: SubmitRequest;
|
|
37
|
-
results: readonly FanoutTransportResult<TTransportId>[];
|
|
38
|
-
failures: readonly FanoutTransportFailure<TTransportId>[];
|
|
39
|
-
}) => MaybePromise<unknown>;
|
|
40
|
-
}
|
|
41
|
-
export interface FallbackTransportFailure<TTransportId extends string = string> {
|
|
42
|
-
id: TTransportId | undefined;
|
|
43
|
-
index: number;
|
|
44
|
-
error: unknown;
|
|
45
|
-
}
|
|
46
|
-
export interface FallbackTransportOptions<TTransportId extends string = string> {
|
|
47
|
-
transports: TransportCollection<TTransportId>;
|
|
48
|
-
shouldFallback?: (error: unknown, context: {
|
|
49
|
-
request: SubmitRequest;
|
|
50
|
-
id: TTransportId | undefined;
|
|
51
|
-
index: number;
|
|
52
|
-
failures: readonly FallbackTransportFailure<TTransportId>[];
|
|
53
|
-
}) => MaybePromise<boolean>;
|
|
54
|
-
}
|
|
55
|
-
export interface PipelineStage {
|
|
56
|
-
id?: string;
|
|
57
|
-
transport: Transport;
|
|
58
|
-
mapToNext?: (response: unknown, originalRequest: SubmitRequest) => MaybePromise<SubmitRequest>;
|
|
59
|
-
nextStageRequirements?: CapabilityRequirement;
|
|
60
|
-
}
|
|
61
|
-
export interface PipelineTransportOptions {
|
|
62
|
-
stages: readonly PipelineStage[];
|
|
63
|
-
}
|
|
64
|
-
export interface RacingTransportOptions {
|
|
65
|
-
transports: TransportCollection;
|
|
66
|
-
}
|
|
67
|
-
export interface HedgedTransportOptions<TTransportId extends string = string> {
|
|
68
|
-
transports: Record<TTransportId, Transport>;
|
|
69
|
-
hedgeDelayMs: number;
|
|
70
|
-
maxAttempts?: number;
|
|
71
|
-
allowUnsafeHedging?: boolean;
|
|
72
|
-
}
|
|
73
|
-
export interface QuorumFanoutTransportOptions<TTransportId extends string = string> extends FanoutTransportOptions<TTransportId> {
|
|
74
|
-
quorum: number;
|
|
75
|
-
}
|
|
76
|
-
export interface LoadBalancingTransportOptions<TTransportId extends string = string> {
|
|
77
|
-
transports: Record<TTransportId, Transport>;
|
|
78
|
-
requiredCapabilities?: CapabilityRequirement;
|
|
79
|
-
strategy?: "round-robin" | "least-loaded" | "random" | "weighted" | "health-weighted";
|
|
80
|
-
weights: Partial<Record<TTransportId, number>> | ((request: SubmitRequest, transportId: TTransportId) => MaybePromise<number>);
|
|
81
|
-
healthState?: TransportHealthState<TTransportId>;
|
|
82
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export type { JsonTransportMethod, JsonTransportOptions, GraphqlTransportOptions, SseTransportOptions, WebSocketSessionTransportOptions, GrpcUnaryTransportOptions, GrpcStreamTransportOptions, GrpcSessionTransportOptions, GrpcTransportOptions, } from './options-http';
|
|
2
|
-
export type { RoutingTransportOptions, WeightedRoutingTransportOptions, FanoutTransportResult, FanoutTransportFailure, FanoutTransportOptions, FallbackTransportFailure, FallbackTransportOptions, PipelineStage, PipelineTransportOptions, RacingTransportOptions, HedgedTransportOptions, QuorumFanoutTransportOptions, LoadBalancingTransportOptions, } from './options-routing';
|
|
3
|
-
export type { SessionTransportOptions, RetryOptions, ApiKeyAuthOptions, BearerAuthOptions, CustomAuthOptions, TransportContextAuthOptions, AuthOptions, CircuitBreakerOptions, RateLimitOptions, DedupOptions, CacheOptions, TransportTraceOptions, TransportTelemetryEvent, TransportMetricsOptions, TransportLogOptions, TransportContextPolicy, } from './options-middleware';
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { TransportBackpressureMode } from './capabilities';
|
|
2
|
-
import { MaybePromise } from './core';
|
|
3
|
-
export interface TransportSessionMessage {
|
|
4
|
-
type: string;
|
|
5
|
-
data?: unknown;
|
|
6
|
-
meta?: Record<string, unknown>;
|
|
7
|
-
}
|
|
8
|
-
export interface TransportSessionProgressEvent {
|
|
9
|
-
type: "progress";
|
|
10
|
-
loaded?: number;
|
|
11
|
-
total?: number;
|
|
12
|
-
message?: string;
|
|
13
|
-
meta?: Record<string, unknown>;
|
|
14
|
-
}
|
|
15
|
-
export interface TransportSessionMetaEvent {
|
|
16
|
-
type: "meta";
|
|
17
|
-
meta: Record<string, unknown>;
|
|
18
|
-
}
|
|
19
|
-
export interface TransportSessionMessageEvent {
|
|
20
|
-
type: "message";
|
|
21
|
-
message: TransportSessionMessage;
|
|
22
|
-
meta?: Record<string, unknown>;
|
|
23
|
-
}
|
|
24
|
-
export interface TransportSessionResultEvent {
|
|
25
|
-
type: "result";
|
|
26
|
-
result: unknown;
|
|
27
|
-
meta?: Record<string, unknown>;
|
|
28
|
-
}
|
|
29
|
-
export interface TransportSessionErrorEvent {
|
|
30
|
-
type: "error";
|
|
31
|
-
error: unknown;
|
|
32
|
-
meta?: Record<string, unknown>;
|
|
33
|
-
}
|
|
34
|
-
export interface TransportSessionCloseEvent {
|
|
35
|
-
type: "close";
|
|
36
|
-
reason?: string;
|
|
37
|
-
meta?: Record<string, unknown>;
|
|
38
|
-
}
|
|
39
|
-
export type TransportSessionEvent = TransportSessionProgressEvent | TransportSessionMetaEvent | TransportSessionMessageEvent | TransportSessionResultEvent | TransportSessionErrorEvent | TransportSessionCloseEvent;
|
|
40
|
-
export interface TransportSession {
|
|
41
|
-
send: (message: TransportSessionMessage) => MaybePromise<void>;
|
|
42
|
-
receive: () => AsyncIterable<TransportSessionEvent> | PromiseLike<AsyncIterable<TransportSessionEvent>>;
|
|
43
|
-
close: (reason?: string) => MaybePromise<void>;
|
|
44
|
-
capabilities?: {
|
|
45
|
-
bufferedMessages?: number;
|
|
46
|
-
backpressure: TransportBackpressureMode;
|
|
47
|
-
};
|
|
48
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { MaybePromise, SubmitRequest } from './core';
|
|
2
|
-
export interface TransportCacheEntry {
|
|
3
|
-
expiresAt: number;
|
|
4
|
-
response: unknown;
|
|
5
|
-
}
|
|
6
|
-
export interface TransportCacheStore {
|
|
7
|
-
get(scope: string, key: string): MaybePromise<TransportCacheEntry | undefined>;
|
|
8
|
-
set(scope: string, key: string, entry: TransportCacheEntry): MaybePromise<void>;
|
|
9
|
-
delete(scope: string, key: string): MaybePromise<void>;
|
|
10
|
-
evictExpired?(scope: string, now: number): MaybePromise<void>;
|
|
11
|
-
keys?(scope: string): MaybePromise<readonly string[]>;
|
|
12
|
-
}
|
|
13
|
-
export interface CircuitBreakerStateSnapshot {
|
|
14
|
-
state: "closed" | "open" | "half-open";
|
|
15
|
-
failureCount: number;
|
|
16
|
-
openUntil: number;
|
|
17
|
-
halfOpenActive: number;
|
|
18
|
-
}
|
|
19
|
-
export interface CircuitBreakerSharedState {
|
|
20
|
-
get(scope: string): MaybePromise<CircuitBreakerStateSnapshot | undefined>;
|
|
21
|
-
compareAndSet?(scope: string, expected: CircuitBreakerStateSnapshot | undefined, next: CircuitBreakerStateSnapshot): MaybePromise<boolean>;
|
|
22
|
-
set(scope: string, snapshot: CircuitBreakerStateSnapshot): MaybePromise<void>;
|
|
23
|
-
}
|
|
24
|
-
export interface SharedRateLimiterLease {
|
|
25
|
-
release: () => MaybePromise<void>;
|
|
26
|
-
}
|
|
27
|
-
export interface RateLimitLeaseRequest {
|
|
28
|
-
request: SubmitRequest;
|
|
29
|
-
maxConcurrent?: number;
|
|
30
|
-
perSecond?: number;
|
|
31
|
-
queueLimit?: number;
|
|
32
|
-
}
|
|
33
|
-
export interface SharedRateLimiter {
|
|
34
|
-
acquire: (scope: string, lease: RateLimitLeaseRequest) => MaybePromise<SharedRateLimiterLease>;
|
|
35
|
-
}
|
|
36
|
-
export interface TransportHealthSnapshot {
|
|
37
|
-
consecutiveFailures: number;
|
|
38
|
-
lastFailureAt?: number;
|
|
39
|
-
lastSuccessAt?: number;
|
|
40
|
-
averageLatencyMs?: number;
|
|
41
|
-
}
|
|
42
|
-
export interface TransportHealthState<TTransportId extends string = string> {
|
|
43
|
-
getSnapshot: (scope: string, transportId: TTransportId) => MaybePromise<TransportHealthSnapshot | undefined>;
|
|
44
|
-
recordSuccess: (scope: string, transportId: TTransportId, durationMs: number) => MaybePromise<void>;
|
|
45
|
-
recordFailure: (scope: string, transportId: TTransportId, error: unknown) => MaybePromise<void>;
|
|
46
|
-
}
|