mlform 0.1.18 → 0.1.20

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.
Files changed (112) hide show
  1. package/README.md +2 -2
  2. package/dist/{builtins-STiTwaH9.js → builtins-CUN_bP93.js} +8 -10
  3. package/dist/mlform/builtins.mjs +1 -1
  4. package/dist/mlform/kit.mjs +15 -15
  5. package/dist/mlform/primitives.mjs +1 -1
  6. package/dist/mlform/runtime.mjs +3 -3
  7. package/dist/mlform/schema.mjs +2 -2
  8. package/dist/mlform/transport.mjs +2 -2
  9. package/dist/{primitives-BcXt2QWI.js → primitives-CgFaSmAm.js} +320 -306
  10. package/dist/{runtime-Eo_q4pgg.js → runtime-zS0p2589.js} +369 -637
  11. package/dist/schema-CYsf2AFP.js +303 -0
  12. package/dist/transport-KUB3zfW9.js +65 -0
  13. package/dist/types/src/kit/constants.d.ts +0 -1
  14. package/dist/types/src/kit/index.d.ts +1 -1
  15. package/dist/types/src/kit/kinds/define-report-kind.d.ts +8 -4
  16. package/dist/types/src/kit/kinds/index.d.ts +1 -1
  17. package/dist/types/src/primitives/components/form-root-state.d.ts +0 -4
  18. package/dist/types/src/primitives/components/mounted-report.d.ts +15 -0
  19. package/dist/types/src/primitives/components/submit-button.d.ts +0 -4
  20. package/dist/types/src/primitives/constants.d.ts +1 -0
  21. package/dist/types/src/primitives/controller-types.d.ts +1 -7
  22. package/dist/types/src/runtime/errors.d.ts +0 -1
  23. package/dist/types/src/runtime/index.d.ts +1 -2
  24. package/dist/types/src/runtime/reports/controller.d.ts +1 -2
  25. package/dist/types/src/runtime/state/engine.d.ts +1 -5
  26. package/dist/types/src/runtime/submission/create-submitter.d.ts +1 -1
  27. package/dist/types/src/runtime/submission/index.d.ts +1 -0
  28. package/dist/types/src/runtime/submission/reports.d.ts +1 -2
  29. package/dist/types/src/runtime/submission/request.d.ts +2 -14
  30. package/dist/types/src/runtime/submission/transport-response.d.ts +2 -0
  31. package/dist/types/src/runtime/submission/types.d.ts +2 -23
  32. package/dist/types/src/runtime/types/behavior.d.ts +1 -3
  33. package/dist/types/src/runtime/types/form.d.ts +1 -14
  34. package/dist/types/src/runtime/types/report.d.ts +1 -1
  35. package/dist/types/src/runtime/types/transport.d.ts +5 -4
  36. package/dist/types/src/schema/index.d.ts +1 -0
  37. package/dist/types/src/schema/mapped-to.d.ts +8 -1
  38. package/dist/types/src/schema/types/report.d.ts +1 -3
  39. package/dist/types/src/schema/types/submit.d.ts +24 -3
  40. package/dist/types/src/schema/validation.d.ts +25 -0
  41. package/dist/types/src/transport/errors.d.ts +1 -28
  42. package/dist/types/src/transport/fanout.d.ts +17 -0
  43. package/dist/types/src/transport/index.d.ts +4 -10
  44. package/dist/types/src/transport/request-runner.d.ts +3 -2
  45. package/dist/types/src/transport/types.d.ts +22 -0
  46. package/package.json +2 -2
  47. package/dist/schema-CNKKJZRx.js +0 -173
  48. package/dist/transport-Cloa_erk.js +0 -2154
  49. package/dist/types/src/runtime/submission/field-updates.d.ts +0 -14
  50. package/dist/types/src/runtime/submission/pending-patches.d.ts +0 -2
  51. package/dist/types/src/runtime/submission/report-updates.d.ts +0 -16
  52. package/dist/types/src/runtime/submission/stream-events.d.ts +0 -13
  53. package/dist/types/src/runtime/submission/stream-progress.d.ts +0 -4
  54. package/dist/types/src/transport/capabilities.d.ts +0 -7
  55. package/dist/types/src/transport/clone.d.ts +0 -6
  56. package/dist/types/src/transport/composition/fallback.d.ts +0 -2
  57. package/dist/types/src/transport/composition/fanout-helpers.d.ts +0 -2
  58. package/dist/types/src/transport/composition/fanout-options.d.ts +0 -9
  59. package/dist/types/src/transport/composition/fanout.d.ts +0 -2
  60. package/dist/types/src/transport/composition/hedged.d.ts +0 -2
  61. package/dist/types/src/transport/composition/index.d.ts +0 -8
  62. package/dist/types/src/transport/composition/load-balancing.d.ts +0 -2
  63. package/dist/types/src/transport/composition/pipeline.d.ts +0 -2
  64. package/dist/types/src/transport/composition/quorum-fanout.d.ts +0 -2
  65. package/dist/types/src/transport/composition/racing.d.ts +0 -2
  66. package/dist/types/src/transport/composition/routing.d.ts +0 -3
  67. package/dist/types/src/transport/constants.d.ts +0 -34
  68. package/dist/types/src/transport/internal-core.d.ts +0 -21
  69. package/dist/types/src/transport/internal-errors.d.ts +0 -21
  70. package/dist/types/src/transport/internal-request.d.ts +0 -21
  71. package/dist/types/src/transport/internal-routing.d.ts +0 -25
  72. package/dist/types/src/transport/internal-sse.d.ts +0 -14
  73. package/dist/types/src/transport/internal-stream.d.ts +0 -13
  74. package/dist/types/src/transport/internal.d.ts +0 -6
  75. package/dist/types/src/transport/middleware/auth.d.ts +0 -2
  76. package/dist/types/src/transport/middleware/cache.d.ts +0 -2
  77. package/dist/types/src/transport/middleware/circuit-breaker.d.ts +0 -2
  78. package/dist/types/src/transport/middleware/dedup.d.ts +0 -2
  79. package/dist/types/src/transport/middleware/index.d.ts +0 -12
  80. package/dist/types/src/transport/middleware/logging.d.ts +0 -2
  81. package/dist/types/src/transport/middleware/metrics.d.ts +0 -2
  82. package/dist/types/src/transport/middleware/pipe.d.ts +0 -2
  83. package/dist/types/src/transport/middleware/rate-limit.d.ts +0 -2
  84. package/dist/types/src/transport/middleware/retry.d.ts +0 -2
  85. package/dist/types/src/transport/middleware/timeout.d.ts +0 -2
  86. package/dist/types/src/transport/middleware/tracing.d.ts +0 -2
  87. package/dist/types/src/transport/middleware/transform.d.ts +0 -3
  88. package/dist/types/src/transport/policy-context.d.ts +0 -3
  89. package/dist/types/src/transport/protocols/graphql.d.ts +0 -2
  90. package/dist/types/src/transport/protocols/grpc.d.ts +0 -5
  91. package/dist/types/src/transport/protocols/index.d.ts +0 -5
  92. package/dist/types/src/transport/protocols/json.d.ts +0 -2
  93. package/dist/types/src/transport/protocols/sse.d.ts +0 -2
  94. package/dist/types/src/transport/protocols/websocket.d.ts +0 -2
  95. package/dist/types/src/transport/runtime.d.ts +0 -4
  96. package/dist/types/src/transport/state/cache-store.d.ts +0 -2
  97. package/dist/types/src/transport/state/circuit-breaker.d.ts +0 -2
  98. package/dist/types/src/transport/state/health.d.ts +0 -2
  99. package/dist/types/src/transport/state/index.d.ts +0 -5
  100. package/dist/types/src/transport/state/rate-limiter.d.ts +0 -2
  101. package/dist/types/src/transport/state/session.d.ts +0 -2
  102. package/dist/types/src/transport/types/capabilities.d.ts +0 -35
  103. package/dist/types/src/transport/types/core.d.ts +0 -74
  104. package/dist/types/src/transport/types/events.d.ts +0 -50
  105. package/dist/types/src/transport/types/index.d.ts +0 -7
  106. package/dist/types/src/transport/types/middleware.d.ts +0 -3
  107. package/dist/types/src/transport/types/options-http.d.ts +0 -85
  108. package/dist/types/src/transport/types/options-middleware.d.ts +0 -96
  109. package/dist/types/src/transport/types/options-routing.d.ts +0 -82
  110. package/dist/types/src/transport/types/options.d.ts +0 -3
  111. package/dist/types/src/transport/types/session.d.ts +0 -48
  112. package/dist/types/src/transport/types/state.d.ts +0 -46
@@ -1,14 +0,0 @@
1
- import { EngineStore } from '../state';
2
- import { TransportStreamEvent } from '../types';
3
- import { LiveSubmissionField } from './types';
4
- type CreateFieldUpdatesOptions = {
5
- store: EngineStore;
6
- fieldMap: Map<string, LiveSubmissionField>;
7
- onRemoteFieldUpdate?: (fieldId: string) => Promise<void>;
8
- };
9
- export declare const createFieldUpdates: ({ store, fieldMap, onRemoteFieldUpdate, }: CreateFieldUpdatesOptions) => {
10
- applyFieldUpdate: (event: Extract<TransportStreamEvent, {
11
- type: "field-update";
12
- }>) => void;
13
- };
14
- export {};
@@ -1,2 +0,0 @@
1
- import { EngineStore } from '../state';
2
- export declare const storePendingReportPatch: (store: EngineStore, reportId: string, patch: unknown) => void;
@@ -1,16 +0,0 @@
1
- import { LiveSubmissionReport } from './types';
2
- import { SubmissionValueRecords } from './request';
3
- type CreateReportUpdatesOptions = {
4
- reportMap: Map<string, LiveSubmissionReport>;
5
- getReportState: (reportId: string) => {
6
- payload?: unknown;
7
- } | undefined;
8
- getReportStates: () => Record<string, unknown>;
9
- getSubmissionMeta: () => Record<string, unknown>;
10
- storePendingPatch: (reportId: string, patch: Record<string, unknown>) => void;
11
- };
12
- export declare const createReportUpdates: ({ reportMap, getReportState, getReportStates, getSubmissionMeta, storePendingPatch, }: CreateReportUpdatesOptions) => {
13
- applyValidatedReportReplace: (reportId: string, payload: unknown, records: SubmissionValueRecords, backend: string | undefined) => Promise<void>;
14
- applyValidatedReportPatch: (reportId: string, patch: unknown, strategy: "replace" | "shallow-merge" | "deep-merge" | undefined, records: SubmissionValueRecords, backend: string | undefined) => Promise<void>;
15
- };
16
- export {};
@@ -1,13 +0,0 @@
1
- import { TransportStreamEvent } from '../types';
2
- import { SubmissionValueRecords } from './request';
3
- export type ApplySubmissionStreamEventOptions = {
4
- event: TransportStreamEvent;
5
- records: SubmissionValueRecords;
6
- backend: string | undefined;
7
- applyValidatedReportReplace: (reportId: string, payload: unknown, records: SubmissionValueRecords, backend: string | undefined) => Promise<void>;
8
- applyValidatedReportPatch: (reportId: string, patch: unknown, strategy: "replace" | "shallow-merge" | "deep-merge" | undefined, records: SubmissionValueRecords, backend: string | undefined) => Promise<void>;
9
- applyFieldUpdate: (event: Extract<TransportStreamEvent, {
10
- type: "field-update";
11
- }>) => void;
12
- };
13
- export declare const applySubmissionStreamEvent: ({ event, records, backend, applyValidatedReportReplace, applyValidatedReportPatch, applyFieldUpdate, }: ApplySubmissionStreamEventOptions) => Promise<void>;
@@ -1,4 +0,0 @@
1
- import { EngineStore } from '../state';
2
- import { SubmissionProgressState, TransportStreamEvent } from '../types';
3
- export declare const updateStreamProgress: (store: EngineStore, currentRequestId: () => number | null, progress: SubmissionProgressState, submissionRequestId: number, lifecycleVersion: number) => void;
4
- export declare const toSubmissionProgress: (previous: SubmissionProgressState | null, event: TransportStreamEvent) => SubmissionProgressState;
@@ -1,7 +0,0 @@
1
- import { CapabilityRequirement, SubmitRequest, Transport, TransportCapabilities } from './types';
2
- export declare const normalizeTransportCapabilities: (capabilities?: Partial<TransportCapabilities>, inferred?: Partial<TransportCapabilities>) => TransportCapabilities;
3
- export declare const mergeTransportCapabilities: (current?: TransportCapabilities, next?: TransportCapabilities) => TransportCapabilities | undefined;
4
- export declare const inferTransportCapabilities: (transport: Pick<Transport, "stream" | "openSession" | "capabilities">) => TransportCapabilities;
5
- export declare const cloneCapabilities: (capabilities: TransportCapabilities | undefined) => TransportCapabilities | undefined;
6
- export declare const assertTransportCapabilities: (transport: Transport, requirement: CapabilityRequirement, context: string) => void;
7
- export declare const assertPayloadWithinLimits: (transport: Transport, request: SubmitRequest, context: string) => void;
@@ -1,6 +0,0 @@
1
- /**
2
- * Minimal deep clone for transport-layer data: plain objects, arrays, Date,
3
- * Map, Set, and primitives. Does **not** handle File, Blob, TypedArray, or
4
- * DataView — use the engine-level {@link cloneValue} for those.
5
- */
6
- export declare const cloneValue: <T>(value: T) => T;
@@ -1,2 +0,0 @@
1
- import { FallbackTransportOptions, Transport } from '../types';
2
- export declare const createFallbackTransport: <TTransportId extends string = string>(options: FallbackTransportOptions<TTransportId>) => Transport;
@@ -1,2 +0,0 @@
1
- import { FanoutTransportFailure } from '../types';
2
- export declare const createFanoutFailure: (failures: readonly FanoutTransportFailure[]) => Error;
@@ -1,9 +0,0 @@
1
- import { FanoutTransportOptions, SubmitRequest, TransportCapabilities } from '../types';
2
- export type FanoutTransportEntry<TTransportId extends string> = {
3
- id: TTransportId | undefined;
4
- index: number;
5
- transport: import('../types').Transport;
6
- };
7
- export declare const resolveActiveFanoutEntries: <TTransportId extends string>(entries: readonly FanoutTransportEntry<TTransportId>[], options: FanoutTransportOptions<TTransportId>, request: SubmitRequest) => Promise<readonly FanoutTransportEntry<TTransportId>[]>;
8
- export declare const collectFanoutCapabilities: (entries: readonly FanoutTransportEntry<string>[]) => TransportCapabilities | undefined;
9
- export declare const createFanoutAbortOthers: (controllers: readonly AbortController[]) => (reason: string, skipIndex: number) => void;
@@ -1,2 +0,0 @@
1
- import { FanoutTransportOptions, Transport } from '../types';
2
- export declare const createFanoutTransport: <TTransportId extends string = string>(options: FanoutTransportOptions<TTransportId>) => Transport;
@@ -1,2 +0,0 @@
1
- import { HedgedTransportOptions, Transport } from '../types';
2
- export declare const createHedgedTransport: <TTransportId extends string = string>(options: HedgedTransportOptions<TTransportId>) => Transport;
@@ -1,8 +0,0 @@
1
- export * from './routing';
2
- export * from './load-balancing';
3
- export * from './fanout';
4
- export * from './quorum-fanout';
5
- export * from './fallback';
6
- export * from './pipeline';
7
- export * from './racing';
8
- export * from './hedged';
@@ -1,2 +0,0 @@
1
- import { LoadBalancingTransportOptions, Transport } from '../types';
2
- export declare const createLoadBalancedTransport: <TTransportId extends string = string>(options: LoadBalancingTransportOptions<TTransportId>) => Transport;
@@ -1,2 +0,0 @@
1
- import { PipelineTransportOptions, Transport } from '../types';
2
- export declare const createPipelineTransport: (options: PipelineTransportOptions) => Transport;
@@ -1,2 +0,0 @@
1
- import { QuorumFanoutTransportOptions, Transport } from '../types';
2
- export declare const createQuorumFanoutTransport: <TTransportId extends string = string>(options: QuorumFanoutTransportOptions<TTransportId>) => Transport;
@@ -1,2 +0,0 @@
1
- import { RacingTransportOptions, Transport } from '../types';
2
- export declare const createRacingTransport: (options: RacingTransportOptions) => Transport;
@@ -1,3 +0,0 @@
1
- import { RoutingTransportOptions, Transport, WeightedRoutingTransportOptions } from '../types';
2
- export declare const createRoutingTransport: <TTransportId extends string = string>(options: RoutingTransportOptions<TTransportId>) => Transport;
3
- export declare const createWeightedRoutingTransport: <TTransportId extends string = string>(options: WeightedRoutingTransportOptions<TTransportId>) => Transport;
@@ -1,34 +0,0 @@
1
- export declare const transportDefaults: {
2
- readonly method: "POST";
3
- readonly acceptHeader: "application/json";
4
- readonly contentTypeHeader: "application/json";
5
- readonly requestBodyKey: "inputs";
6
- };
7
- export declare const transportErrorMessages: {
8
- readonly missingFetch: "A fetch implementation is required to use the default transport.";
9
- readonly unsupportedMethod: (method: string) => string;
10
- readonly requestFailed: (status: number, statusText: string) => string;
11
- readonly emptyComposedTransport: (factoryName: string) => string;
12
- readonly unknownComposedTransport: (factoryName: string, transportId: string, availableTransportIds: readonly string[]) => string;
13
- readonly duplicateFanoutReport: (reportId: string, firstSource: string, secondSource: string) => string;
14
- readonly fanoutFailed: (failedSources: readonly string[]) => string;
15
- readonly fanoutEmpty: "createFanoutTransport: all transports filtered out. No submissions dispatched.";
16
- readonly fallbackFailed: (failedSources: readonly string[]) => string;
17
- readonly emptyPipeline: "createPipelineTransport requires at least one stage.";
18
- readonly pipelineAborted: (stageId: string) => string;
19
- readonly racingAllFailed: "createRacingTransport: all transports failed.";
20
- readonly missingStream: (source: string) => string;
21
- readonly retryInvalidAttempts: "withRetry: attempts must be at least 1.";
22
- readonly timeoutInvalid: "withTimeout: timeout must be a positive number.";
23
- readonly retryUnsafe: "withRetry: transport declares retrySafe=false. Pass `allowUnsafeRetry: true` to override.";
24
- readonly cacheUnsafe: "withCache: transport declares cacheable=false. Pass `allowUnsafeCache: true` to override.";
25
- readonly circuitInvalidFailureThreshold: "withCircuitBreaker: failureThreshold must be at least 1.";
26
- readonly circuitInvalidResetTimeout: "withCircuitBreaker: resetTimeout must be a positive number.";
27
- readonly rateLimitInvalid: "withRateLimit: provide at least one positive maxConcurrent or perSecond limit.";
28
- readonly rateLimitQueueFull: "withRateLimit: queue limit exceeded.";
29
- readonly cacheInvalidTtl: "withCache: ttl must be a positive number.";
30
- readonly circuitOpen: (source: string) => string;
31
- readonly hedgedUnsafe: "createHedgedTransport: every transport must declare retrySafe !== false or allowUnsafeHedging must be true.";
32
- readonly sseInvalidEvent: "createSseTransport: failed to parse SSE event payload.";
33
- readonly websocketMissing: "createWebSocketSessionTransport requires a WebSocket implementation in this environment.";
34
- };
@@ -1,21 +0,0 @@
1
- import { SubmitRequest, Transport, TransportCapabilities, TransportSession, TransportStreamEvent } from './types';
2
- export type TransportEntry = {
3
- id: string | undefined;
4
- index: number;
5
- label: string;
6
- transport: Transport;
7
- };
8
- export type StreamFactory = (request: SubmitRequest) => AsyncIterable<TransportStreamEvent> | PromiseLike<AsyncIterable<TransportStreamEvent>>;
9
- type SessionFactory = (request: SubmitRequest) => TransportSession | PromiseLike<TransportSession>;
10
- export type AsyncQueue<T> = {
11
- push(value: T): void;
12
- close(): void;
13
- [Symbol.asyncIterator](): AsyncIterator<T>;
14
- };
15
- export declare const isRecord: (value: unknown) => value is Record<string, unknown>;
16
- export declare const createTransport: (submit: Transport["submit"], stream?: StreamFactory, options?: {
17
- openSession?: SessionFactory;
18
- capabilities?: TransportCapabilities;
19
- }) => Transport;
20
- export declare const createAsyncQueue: <T>() => AsyncQueue<T>;
21
- export {};
@@ -1,21 +0,0 @@
1
- import { TransportError } from './errors';
2
- import { Transport } from './types';
3
- export declare const isAbortError: (error: unknown) => boolean;
4
- export declare const getErrorMessage: (error: unknown) => string;
5
- export declare const toTransportError: (error: unknown, defaults?: {
6
- source?: string;
7
- status?: number;
8
- code?: string;
9
- retryable?: boolean;
10
- response?: unknown;
11
- details?: unknown;
12
- }) => TransportError;
13
- export declare const assertRetrySafe: (transport: Transport, allowUnsafeRetry?: boolean) => void;
14
- export declare const assertCacheSafe: (transport: Transport, allowUnsafeCache?: boolean) => void;
15
- export declare const assertHedgingSafe: (transport: Transport, allowUnsafeHedging?: boolean) => void;
16
- export declare const createAggregateFailure: (message: string, failures: readonly {
17
- label: string;
18
- error: unknown;
19
- }[]) => TransportError;
20
- export declare const resolveErrorMessage: (status: number, statusText: string, payload: unknown) => string;
21
- export declare const resolveErrorCode: (payload: unknown) => string | undefined;
@@ -1,21 +0,0 @@
1
- import { CapabilityRequirement, MaybePromise, SubmitRequest, Transport } from './types';
2
- export declare const mergeHeaders: (baseHeaders: HeadersInit | undefined, extraHeaders: HeadersInit | undefined) => Headers;
3
- export declare const resolveRequestCredentials: (optionsCredentials: RequestCredentials | undefined, request: SubmitRequest) => RequestCredentials | undefined;
4
- export declare const withRequestTransportContext: (request: SubmitRequest, context: NonNullable<SubmitRequest["transport"]>) => SubmitRequest;
5
- export declare const ensureRequestPolicyContext: (request: SubmitRequest) => SubmitRequest;
6
- export declare const withCapabilityRequirement: (request: SubmitRequest, requirement: CapabilityRequirement | undefined, transport: Transport, context: string) => SubmitRequest;
7
- export declare const normalizeRequest: (request: SubmitRequest, transport: Transport, context: string) => SubmitRequest;
8
- export declare const getTransportScope: (request: SubmitRequest, fallback: string) => string;
9
- export declare const withRequestPolicyScope: (request: SubmitRequest, scope: string, extras?: {
10
- source?: string;
11
- backend?: string;
12
- requestId?: string;
13
- }) => SubmitRequest;
14
- export declare const defaultDedupKey: (request: SubmitRequest) => string;
15
- export declare const resolveGraphqlValue: <TValue>(value: TValue | ((request: SubmitRequest) => MaybePromise<TValue>), request: SubmitRequest) => Promise<TValue>;
16
- export declare const defaultBody: (request: Parameters<Transport["submit"]>[0]) => {
17
- inputs: Record<string, unknown>;
18
- };
19
- export declare const resolveMethod: (method: string | undefined) => "POST" | "PUT" | "PATCH" | "DELETE";
20
- export declare const resolveSecret: (value: string | (() => MaybePromise<string>)) => Promise<string>;
21
- export declare const resolveTransportEntries: (transports: import('./types').TransportCollection, factoryName: string) => readonly import('./internal-core').TransportEntry[];
@@ -1,25 +0,0 @@
1
- import { MaybePromise, SubmitRequest, TransportResponse } from './types';
2
- export declare const chooseWeightedTransport: <TTransportId extends string>(request: SubmitRequest, transportIds: readonly TTransportId[], weights: Partial<Record<TTransportId, number>> | ((request: SubmitRequest, transportId: TTransportId) => MaybePromise<number>), filter?: (transportId: TTransportId, request: SubmitRequest) => MaybePromise<boolean>) => Promise<TTransportId>;
3
- export declare const toFanoutMeta: (results: readonly {
4
- id: string | undefined;
5
- index: number;
6
- response: TransportResponse;
7
- }[], failures: readonly {
8
- id: string | undefined;
9
- index: number;
10
- error: unknown;
11
- }[]) => Record<string, unknown>;
12
- export declare const toFanoutRaw: (results: readonly {
13
- id: string | undefined;
14
- index: number;
15
- response: TransportResponse;
16
- }[]) => unknown;
17
- export declare const mergeFanoutResponses: (results: readonly {
18
- id: string | undefined;
19
- index: number;
20
- response: TransportResponse;
21
- }[], failures: readonly {
22
- id: string | undefined;
23
- index: number;
24
- error: unknown;
25
- }[]) => TransportResponse;
@@ -1,14 +0,0 @@
1
- import { TransportStreamEvent } from './types';
2
- export declare const parseSseBlocks: (stream: ReadableStream<Uint8Array>) => AsyncIterable<{
3
- id?: string;
4
- event?: string;
5
- data: string;
6
- retry?: number;
7
- }>;
8
- export declare const defaultDecodeSseEvent: (event: {
9
- id?: string;
10
- event?: string;
11
- data: string;
12
- retry?: number;
13
- }) => Promise<TransportStreamEvent>;
14
- export declare const defaultParse: (response: Response) => Promise<unknown>;
@@ -1,13 +0,0 @@
1
- import { SubmitRequest, Transport, TransportResponse, TransportSessionEvent, TransportStreamEvent } from './types';
2
- export declare const resolveStream: (transport: Transport, request: SubmitRequest) => Promise<AsyncIterable<TransportStreamEvent>>;
3
- export declare const normalizeTransportResponse: (response: unknown) => TransportResponse;
4
- export declare const normalizeStreamEvent: (event: unknown) => TransportStreamEvent;
5
- export declare const combineSignals: (signals: (AbortSignal | undefined)[]) => {
6
- signal: AbortSignal;
7
- cleanup: () => void;
8
- };
9
- export declare const waitForDelay: (ms: number, signal?: AbortSignal) => Promise<void>;
10
- export declare const withEventMeta: (event: TransportStreamEvent, meta: Record<string, unknown>) => TransportStreamEvent;
11
- export declare const toSessionStreamEvent: (event: TransportSessionEvent) => TransportStreamEvent | null;
12
- export declare const createSubmitBackedStream: (transport: Transport, request: SubmitRequest) => AsyncIterable<TransportStreamEvent>;
13
- export declare const resolveStreamOrSubmit: (transport: Transport, request: SubmitRequest) => AsyncIterable<TransportStreamEvent> | PromiseLike<AsyncIterable<TransportStreamEvent>>;
@@ -1,6 +0,0 @@
1
- export * from './internal-core';
2
- export * from './internal-request';
3
- export * from './internal-errors';
4
- export * from './internal-stream';
5
- export * from './internal-sse';
6
- export * from './internal-routing';
@@ -1,2 +0,0 @@
1
- import { AuthOptions, TransportMiddleware } from '../types';
2
- export declare const withAuth: (options: AuthOptions) => TransportMiddleware;
@@ -1,2 +0,0 @@
1
- import { CacheOptions, TransportMiddleware } from '../types';
2
- export declare const withCache: (options: CacheOptions) => TransportMiddleware;
@@ -1,2 +0,0 @@
1
- import { CircuitBreakerOptions, TransportMiddleware } from '../types';
2
- export declare const withCircuitBreaker: (options: CircuitBreakerOptions) => TransportMiddleware;
@@ -1,2 +0,0 @@
1
- import { DedupOptions, TransportMiddleware } from '../types';
2
- export declare const withDedup: (options?: DedupOptions) => TransportMiddleware;
@@ -1,12 +0,0 @@
1
- export * from './pipe';
2
- export * from './retry';
3
- export * from './timeout';
4
- export * from './transform';
5
- export * from './logging';
6
- export * from './tracing';
7
- export * from './metrics';
8
- export * from './auth';
9
- export * from './circuit-breaker';
10
- export * from './rate-limit';
11
- export * from './dedup';
12
- export * from './cache';
@@ -1,2 +0,0 @@
1
- import { TransportLogOptions, TransportMiddleware } from '../types';
2
- export declare const withLogging: (options: TransportLogOptions) => TransportMiddleware;
@@ -1,2 +0,0 @@
1
- import { TransportMetricsOptions, TransportMiddleware } from '../types';
2
- export declare const withMetrics: (options: TransportMetricsOptions) => TransportMiddleware;
@@ -1,2 +0,0 @@
1
- import { Transport, TransportMiddleware } from '../types';
2
- export declare const pipe: (transport: Transport, ...middleware: TransportMiddleware[]) => Transport;
@@ -1,2 +0,0 @@
1
- import { RateLimitOptions, TransportMiddleware } from '../types';
2
- export declare const withRateLimit: (options: RateLimitOptions) => TransportMiddleware;
@@ -1,2 +0,0 @@
1
- import { RetryOptions, TransportMiddleware } from '../types';
2
- export declare const withRetry: (options: RetryOptions) => TransportMiddleware;
@@ -1,2 +0,0 @@
1
- import { TransportMiddleware } from '../types';
2
- export declare const withTimeout: (ms: number) => TransportMiddleware;
@@ -1,2 +0,0 @@
1
- import { TransportMiddleware, TransportTraceOptions } from '../types';
2
- export declare const withTracing: (options: TransportTraceOptions) => TransportMiddleware;
@@ -1,3 +0,0 @@
1
- import { MaybePromise, SubmitRequest, TransportMiddleware } from '../types';
2
- export declare const withRequestTransform: (transform: (request: SubmitRequest) => MaybePromise<SubmitRequest>) => TransportMiddleware;
3
- export declare const withResponseTransform: (transform: (response: unknown, request: SubmitRequest) => MaybePromise<unknown>) => TransportMiddleware;
@@ -1,3 +0,0 @@
1
- import { SubmitRequest, TransportPolicyContext } from './types';
2
- export declare const getTransportPolicyContext: (request: SubmitRequest) => TransportPolicyContext;
3
- export declare const withTransportPolicyContext: (request: SubmitRequest, policy: Partial<TransportPolicyContext>) => SubmitRequest;
@@ -1,2 +0,0 @@
1
- import { GraphqlTransportOptions, Transport } from '../types';
2
- export declare const createGraphqlTransport: (options: GraphqlTransportOptions) => Transport;
@@ -1,5 +0,0 @@
1
- import { GrpcSessionTransportOptions, GrpcStreamTransportOptions, GrpcTransportOptions, GrpcUnaryTransportOptions, Transport } from '../types';
2
- export declare const createGrpcUnaryTransport: (options: GrpcUnaryTransportOptions) => Transport;
3
- export declare const createGrpcStreamTransport: (options: GrpcStreamTransportOptions) => Transport;
4
- export declare const createGrpcSessionTransport: (options: GrpcSessionTransportOptions) => Transport;
5
- export declare const createGrpcTransport: (options: GrpcTransportOptions) => Transport;
@@ -1,5 +0,0 @@
1
- export * from './json';
2
- export * from './graphql';
3
- export * from './sse';
4
- export * from './websocket';
5
- export * from './grpc';
@@ -1,2 +0,0 @@
1
- import { JsonTransportOptions, Transport } from '../types';
2
- export declare const createJsonTransport: (options: JsonTransportOptions) => Transport;
@@ -1,2 +0,0 @@
1
- import { SseTransportOptions, Transport } from '../types';
2
- export declare const createSseTransport: (options: SseTransportOptions) => Transport;
@@ -1,2 +0,0 @@
1
- import { WebSocketSessionTransportOptions } from '../types';
2
- export declare const createWebSocketSessionTransport: (options: WebSocketSessionTransportOptions) => import('..').Transport<Record<string, unknown>, Record<string, unknown>>;
@@ -1,4 +0,0 @@
1
- export * from './protocols';
2
- export * from './middleware';
3
- export * from './composition';
4
- export * from './state';
@@ -1,2 +0,0 @@
1
- import { TransportCacheStore } from '../types';
2
- export declare const createMemoryTransportCacheStore: () => TransportCacheStore;
@@ -1,2 +0,0 @@
1
- import { CircuitBreakerSharedState } from '../types';
2
- export declare const createMemoryCircuitBreakerState: () => CircuitBreakerSharedState;
@@ -1,2 +0,0 @@
1
- import { TransportHealthState } from '../types';
2
- export declare const createMemoryTransportHealthState: <TTransportId extends string = string>() => TransportHealthState<TTransportId>;
@@ -1,5 +0,0 @@
1
- export * from './session';
2
- export * from './cache-store';
3
- export * from './circuit-breaker';
4
- export * from './rate-limiter';
5
- export * from './health';
@@ -1,2 +0,0 @@
1
- import { SharedRateLimiter } from '../types';
2
- export declare const createMemorySharedRateLimiter: () => SharedRateLimiter;
@@ -1,2 +0,0 @@
1
- import { SessionTransportOptions, Transport } from '../types';
2
- export declare const createSessionTransport: (options: SessionTransportOptions) => Transport;
@@ -1,35 +0,0 @@
1
- export type TransportAuthKind = "none" | "api-key" | "bearer" | "basic" | "oauth2" | "mtls" | "transport-context" | "custom";
2
- export type TransportConsistency = "unknown" | "at-most-once" | "at-least-once" | "best-effort";
3
- export type TransportDeliveryMode = "request-response" | "stream" | "session";
4
- export type TransportBackpressureMode = "none" | "consumer-pull" | "bounded-buffer";
5
- export interface TransportCapabilities {
6
- modes: {
7
- submit: boolean;
8
- stream: boolean;
9
- session: boolean;
10
- };
11
- safety: {
12
- idempotent: boolean;
13
- retrySafe: boolean;
14
- cacheable: boolean;
15
- hedgeSafe: boolean;
16
- };
17
- limits: {
18
- maxPayloadBytes?: number;
19
- maxBufferedMessages?: number;
20
- };
21
- auth: {
22
- kinds: readonly TransportAuthKind[];
23
- };
24
- delivery: {
25
- mode: TransportDeliveryMode;
26
- consistency: TransportConsistency;
27
- backpressure: TransportBackpressureMode;
28
- };
29
- }
30
- export interface CapabilityRequirement {
31
- modes?: Partial<TransportCapabilities["modes"]>;
32
- safety?: Partial<TransportCapabilities["safety"]>;
33
- authKinds?: readonly TransportAuthKind[];
34
- maxPayloadBytes?: number;
35
- }
@@ -1,74 +0,0 @@
1
- import { TransportCapabilities } from './capabilities';
2
- import { TransportStreamEvent } from './events';
3
- import { TransportSession } from './session';
4
- export type MaybePromise<T> = T | PromiseLike<T>;
5
- export interface TransportPolicyContext {
6
- scope: string;
7
- source?: string;
8
- backend?: string;
9
- requestId?: string;
10
- }
11
- export interface SubmitRequestTransportContext {
12
- headers?: HeadersInit;
13
- credentials?: RequestCredentials;
14
- attributes?: Record<string, unknown>;
15
- policy?: TransportPolicyContext;
16
- }
17
- export interface SubmitRequestMetadata {
18
- estimatedPayloadBytes?: number;
19
- }
20
- export interface SubmissionInputRecord {
21
- fieldId: string;
22
- displayKey?: string;
23
- label: string;
24
- value: unknown;
25
- serializedValue: unknown;
26
- mappedTo?: string | number;
27
- modelValues: Record<string, unknown>;
28
- visible: boolean;
29
- disabled: boolean;
30
- }
31
- export interface SubmitRequest<TField extends Record<string, unknown> = Record<string, unknown>, TReport extends Record<string, unknown> = Record<string, unknown>> {
32
- backend?: string;
33
- inputs?: SubmissionInputRecord[];
34
- displayValues?: Record<string, unknown>;
35
- modelValues?: Record<string, unknown>;
36
- values: Record<string, unknown>;
37
- fieldValues: Record<string, unknown>;
38
- serializedValues: Record<string, unknown>;
39
- serializedFieldValues: Record<string, unknown>;
40
- fields: readonly TField[];
41
- reports: readonly TReport[];
42
- transport?: SubmitRequestTransportContext;
43
- metadata?: SubmitRequestMetadata;
44
- signal?: AbortSignal;
45
- }
46
- export interface TransportResponse {
47
- reports?: readonly unknown[];
48
- meta?: Record<string, unknown>;
49
- raw?: unknown;
50
- }
51
- export interface SubmitResult<TReportState extends Record<string, unknown> = Record<string, unknown>> {
52
- backend?: string;
53
- inputs?: SubmissionInputRecord[];
54
- displayValues?: Record<string, unknown>;
55
- modelValues?: Record<string, unknown>;
56
- values: Record<string, unknown>;
57
- fieldValues: Record<string, unknown>;
58
- serializedValues: Record<string, unknown>;
59
- serializedFieldValues: Record<string, unknown>;
60
- reports: readonly unknown[];
61
- reportStates: Record<string, TReportState>;
62
- meta: Record<string, unknown>;
63
- raw: unknown;
64
- }
65
- export interface Transport<TField extends Record<string, unknown> = Record<string, unknown>, TReport extends Record<string, unknown> = Record<string, unknown>> {
66
- submit: (request: SubmitRequest<TField, TReport>) => Promise<unknown>;
67
- stream?: (request: SubmitRequest<TField, TReport>) => AsyncIterable<TransportStreamEvent> | PromiseLike<AsyncIterable<TransportStreamEvent>>;
68
- openSession?: (request: SubmitRequest<TField, TReport>) => MaybePromise<TransportSession>;
69
- capabilities?: TransportCapabilities;
70
- }
71
- export interface SubmitOptions {
72
- signal?: AbortSignal;
73
- backend?: string;
74
- }
@@ -1,50 +0,0 @@
1
- export interface TransportStreamProgressEvent {
2
- type: "progress";
3
- loaded?: number;
4
- total?: number;
5
- message?: string;
6
- meta?: Record<string, unknown>;
7
- }
8
- export interface TransportStreamMetaEvent {
9
- type: "meta";
10
- meta: Record<string, unknown>;
11
- }
12
- export interface TransportStreamChunkEvent {
13
- type: "chunk";
14
- chunk: unknown;
15
- meta?: Record<string, unknown>;
16
- }
17
- export interface TransportStreamReportReplaceEvent {
18
- type: "report-replace";
19
- reportId: string;
20
- payload: unknown;
21
- meta?: Record<string, unknown>;
22
- }
23
- export interface TransportStreamReportPatchEvent {
24
- type: "report-patch";
25
- reportId: string;
26
- patch: unknown;
27
- strategy?: "replace" | "shallow-merge" | "deep-merge";
28
- meta?: Record<string, unknown>;
29
- }
30
- export interface TransportStreamFieldUpdateEvent {
31
- type: "field-update";
32
- fieldId: string;
33
- value?: unknown;
34
- errors?: string[];
35
- touched?: boolean;
36
- dirty?: boolean;
37
- status?: string;
38
- meta?: Record<string, unknown>;
39
- }
40
- export interface TransportStreamResultEvent {
41
- type: "result";
42
- result: unknown;
43
- meta?: Record<string, unknown>;
44
- }
45
- export interface TransportStreamErrorEvent {
46
- type: "error";
47
- error: unknown;
48
- meta?: Record<string, unknown>;
49
- }
50
- export type TransportStreamEvent = TransportStreamProgressEvent | TransportStreamMetaEvent | TransportStreamChunkEvent | TransportStreamReportReplaceEvent | TransportStreamReportPatchEvent | TransportStreamFieldUpdateEvent | TransportStreamResultEvent | TransportStreamErrorEvent;
@@ -1,7 +0,0 @@
1
- export * from './core';
2
- export * from './capabilities';
3
- export * from './events';
4
- export * from './session';
5
- export * from './options';
6
- export * from './middleware';
7
- export * from './state';
@@ -1,3 +0,0 @@
1
- import { Transport } from './core';
2
- export type TransportMiddleware = (transport: Transport) => Transport;
3
- export type TransportCollection<TTransportId extends string = string> = Record<TTransportId, Transport> | readonly Transport[];