mlform 0.1.7 → 0.1.8
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 +39 -12
- package/dist/builtins-DegwhFGA.js +3507 -0
- package/dist/builtins-ml-9qB2MOxt.js +51 -0
- package/dist/{design-system-CrrSGfFB.js → design-system-Dxx1Sh7r.js} +284 -268
- package/dist/errors-B3H1wRwj.js +8 -0
- package/dist/kit-CuRF6dhL.js +1847 -0
- package/dist/mlform/behaviors.mjs +32 -0
- package/dist/mlform/builtins-ml.mjs +3 -0
- package/dist/mlform/design-system.mjs +1 -1
- package/dist/mlform/kit.mjs +3 -3
- package/dist/mlform/presentation.mjs +2 -0
- package/dist/mlform/primitives.mjs +2 -2
- package/dist/mlform/runtime.mjs +5 -0
- package/dist/mlform/schema.mjs +102 -0
- package/dist/mlform/transport.mjs +2 -2
- package/dist/mlform.mjs +8 -4
- package/dist/presentation-CkQuYheR.js +200 -0
- package/dist/{primitives-BqjFDDhL.js → primitives-Duag8Lj0.js} +1367 -1312
- package/dist/runtime-DMjDVo0H.js +1824 -0
- package/dist/strings-CWwrrYzz.js +4 -0
- package/dist/{transport-A1RsnZhD.js → transport-CtVX8ZUT.js} +311 -336
- package/dist/types/src/behaviors/index.d.ts +3 -0
- package/dist/types/src/builtins-ml/index.d.ts +5 -0
- package/dist/types/src/design-system/runtime/fingerprint.d.ts +8 -0
- package/dist/types/src/design-system/runtime/host-observer.d.ts +1 -0
- package/dist/types/src/design-system/runtime/hydration-state.d.ts +13 -0
- package/dist/types/src/design-system/runtime/inherited-scheme.d.ts +5 -0
- package/dist/types/src/design-system/runtime/media.d.ts +19 -0
- package/dist/types/src/index.d.ts +10 -4
- package/dist/types/src/kit/accordion-root-styles.d.ts +1 -0
- package/dist/types/src/kit/accordion-root.d.ts +24 -0
- package/dist/types/src/kit/accordion.d.ts +2 -0
- package/dist/types/src/kit/constants.d.ts +29 -0
- package/dist/types/src/kit/defaults.d.ts +2 -2
- package/dist/types/src/kit/index.d.ts +6 -1
- package/dist/types/src/kit/layout-helpers.d.ts +29 -0
- package/dist/types/src/kit/layout-node-render.d.ts +18 -0
- package/dist/types/src/kit/layout-node-resolver.d.ts +3 -0
- package/dist/types/src/kit/layout-types.d.ts +124 -0
- package/dist/types/src/kit/layout-utils.d.ts +9 -0
- package/dist/types/src/kit/layout.d.ts +8 -0
- package/dist/types/src/kit/mount-types.d.ts +54 -0
- package/dist/types/src/kit/panel-nav.d.ts +9 -0
- package/dist/types/src/{questionnaire/primitives/components → kit}/step-indicator.d.ts +3 -3
- package/dist/types/src/kit/tabs-root-styles.d.ts +1 -0
- package/dist/types/src/kit/tabs-root.d.ts +24 -0
- package/dist/types/src/kit/tabs.d.ts +2 -0
- package/dist/types/src/kit/types.d.ts +4 -51
- package/dist/types/src/kit/view-layout-state.d.ts +14 -0
- package/dist/types/src/kit/view-navigation.d.ts +8 -0
- package/dist/types/src/kit/view-snapshot-cache.d.ts +14 -0
- package/dist/types/src/kit/view-snapshot.d.ts +15 -0
- package/dist/types/src/kit/view-types.d.ts +172 -0
- package/dist/types/src/kit/view.d.ts +8 -0
- package/dist/types/src/kit/wizard-constants.d.ts +19 -0
- package/dist/types/src/kit/wizard-root-styles.d.ts +1 -0
- package/dist/types/src/kit/wizard-root.d.ts +23 -0
- package/dist/types/src/kit/wizard.d.ts +2 -0
- package/dist/types/src/packs/default.d.ts +2 -0
- package/dist/types/src/packs/index.d.ts +3 -0
- package/dist/types/src/packs/ml.d.ts +2 -0
- package/dist/types/src/packs/shared.d.ts +25 -0
- package/dist/types/src/presentation/define-explanation-kind.d.ts +11 -0
- package/dist/types/src/presentation/define-field-kind.d.ts +18 -0
- package/dist/types/src/presentation/define-report-kind.d.ts +15 -0
- package/dist/types/src/presentation/index.d.ts +10 -0
- package/dist/types/src/presentation/register-kind.d.ts +6 -0
- package/dist/types/src/presentation/registry.d.ts +15 -0
- package/dist/types/src/presentation/types/explanation.d.ts +32 -0
- package/dist/types/src/presentation/types/field.d.ts +36 -0
- package/dist/types/src/presentation/types/report.d.ts +41 -0
- package/dist/types/src/primitives/base-explanation-element.d.ts +2 -1
- package/dist/types/src/primitives/base-field-element.d.ts +2 -1
- package/dist/types/src/primitives/base-report-element.d.ts +2 -1
- package/dist/types/src/primitives/components/explanation-panel.d.ts +4 -2
- package/dist/types/src/primitives/components/field-frame-feedback.d.ts +9 -0
- package/dist/types/src/primitives/components/field-frame-styles.d.ts +1 -0
- package/dist/types/src/primitives/components/field-frame.d.ts +5 -3
- package/dist/types/src/primitives/components/form-errors.d.ts +1 -1
- package/dist/types/src/primitives/components/form-root-presenters.d.ts +17 -0
- package/dist/types/src/primitives/components/form-root-state.d.ts +19 -0
- package/dist/types/src/primitives/components/form-root-styles.d.ts +1 -0
- package/dist/types/src/primitives/components/form-root-templates.d.ts +42 -0
- package/dist/types/src/primitives/components/form-root.d.ts +4 -2
- package/dist/types/src/primitives/components/presentation.d.ts +1 -1
- package/dist/types/src/primitives/components/report-frame.d.ts +4 -2
- package/dist/types/src/primitives/components/submit-button.d.ts +1 -1
- package/dist/types/src/primitives/constants.d.ts +1 -1
- package/dist/types/src/primitives/fields/series-field-helpers.d.ts +23 -0
- package/dist/types/src/primitives/fields/series-field-styles.d.ts +1 -0
- package/dist/types/src/primitives/mount-form.d.ts +1 -1
- package/dist/types/src/primitives/presentation.d.ts +8 -0
- package/dist/types/src/primitives/types.d.ts +4 -1
- package/dist/types/src/{engine → runtime}/builtins/index.d.ts +1 -3
- package/dist/types/src/{engine → runtime}/builtins/reports/classifier.d.ts +1 -1
- package/dist/types/src/{engine → runtime}/builtins/shared.d.ts +2 -0
- package/dist/types/src/runtime/declarative/presentation.d.ts +61 -0
- package/dist/types/src/runtime/fields/state-calculations.d.ts +25 -0
- package/dist/types/src/runtime/fields/state.d.ts +2 -0
- package/dist/types/src/runtime/form.d.ts +1 -0
- package/dist/types/src/runtime/index.d.ts +16 -0
- package/dist/types/src/runtime/registry/index.d.ts +5 -0
- package/dist/types/src/runtime/runtime-behaviors.d.ts +23 -0
- package/dist/types/src/runtime/runtime-controller.d.ts +34 -0
- package/dist/types/src/runtime/runtime-refresh.d.ts +14 -0
- package/dist/types/src/runtime/runtime-values.d.ts +19 -0
- package/dist/types/src/runtime/submission/create-submitter.d.ts +2 -0
- package/dist/types/src/runtime/submission/error-flow.d.ts +19 -0
- package/dist/types/src/runtime/submission/field-updates.d.ts +14 -0
- package/dist/types/src/runtime/submission/report-updates.d.ts +16 -0
- package/dist/types/src/runtime/submission/stream-progress.d.ts +4 -0
- package/dist/types/src/runtime/submission/submitter.d.ts +2 -0
- package/dist/types/src/runtime/submission/types.d.ts +60 -0
- package/dist/types/src/runtime/types/behavior.d.ts +32 -0
- package/dist/types/src/runtime/types/explanation.d.ts +22 -0
- package/dist/types/src/runtime/types/field.d.ts +24 -0
- package/dist/types/src/{engine → runtime}/types/form.d.ts +8 -11
- package/dist/types/src/runtime/types/index.d.ts +9 -0
- package/dist/types/src/runtime/types/registry.d.ts +6 -0
- package/dist/types/src/runtime/types/report.d.ts +23 -0
- package/dist/types/src/{engine → runtime}/utils.d.ts +2 -2
- package/dist/types/src/{engine/validation/field.d.ts → runtime/validation/field-state.d.ts} +3 -19
- package/dist/types/src/runtime/validation/field-validator.d.ts +18 -0
- package/dist/types/src/runtime/validation/field.d.ts +2 -0
- package/dist/types/src/schema/index.d.ts +7 -0
- package/dist/types/src/schema/normalize.d.ts +2 -0
- package/dist/types/src/schema/registry.d.ts +9 -0
- package/dist/types/src/schema/types/explanation.d.ts +43 -0
- package/dist/types/src/{engine → schema}/types/field.d.ts +3 -45
- package/dist/types/src/schema/types/form.d.ts +13 -0
- package/dist/types/src/schema/types/report.d.ts +43 -0
- package/dist/types/src/shared/index.d.ts +2 -0
- package/dist/types/src/shared/object.d.ts +1 -0
- package/dist/types/src/shared/strings.d.ts +1 -0
- package/dist/types/src/transport/composition/fanout-helpers.d.ts +2 -0
- package/dist/types/src/transport/composition/fanout.d.ts +1 -2
- package/dist/types/src/transport/composition/index.d.ts +1 -0
- package/dist/types/src/transport/composition/quorum-fanout.d.ts +2 -0
- package/dist/types/src/transport/internal-core.d.ts +21 -0
- package/dist/types/src/transport/internal-errors.d.ts +21 -0
- package/dist/types/src/transport/internal-request.d.ts +21 -0
- package/dist/types/src/transport/internal-routing.d.ts +25 -0
- package/dist/types/src/transport/internal-sse.d.ts +14 -0
- package/dist/types/src/transport/internal-stream.d.ts +13 -0
- package/dist/types/src/transport/internal.d.ts +6 -110
- package/dist/types/src/transport/types/options-http.d.ts +85 -0
- package/dist/types/src/transport/types/options-middleware.d.ts +96 -0
- package/dist/types/src/transport/types/options-routing.d.ts +82 -0
- package/dist/types/src/transport/types/options.d.ts +3 -258
- package/package.json +20 -8
- package/dist/engine-CEy1IX7y.js +0 -5367
- package/dist/kit-DrrbtxI2.js +0 -76
- package/dist/mlform/engine.mjs +0 -3
- package/dist/mlform/questionnaire.mjs +0 -640
- package/dist/types/src/engine/index.d.ts +0 -11
- package/dist/types/src/engine/registry/index.d.ts +0 -26
- package/dist/types/src/engine/submission/submitter.d.ts +0 -40
- package/dist/types/src/engine/types/explanation.d.ts +0 -109
- package/dist/types/src/engine/types/index.d.ts +0 -9
- package/dist/types/src/engine/types/report.d.ts +0 -87
- package/dist/types/src/questionnaire/constants.d.ts +0 -31
- package/dist/types/src/questionnaire/defaults.d.ts +0 -8
- package/dist/types/src/questionnaire/engine/controller.d.ts +0 -12
- package/dist/types/src/questionnaire/engine/schema.d.ts +0 -9
- package/dist/types/src/questionnaire/errors.d.ts +0 -3
- package/dist/types/src/questionnaire/index.d.ts +0 -6
- package/dist/types/src/questionnaire/mount.d.ts +0 -3
- package/dist/types/src/questionnaire/primitives/components/questionnaire-root.d.ts +0 -23
- package/dist/types/src/questionnaire/primitives/register.d.ts +0 -0
- package/dist/types/src/questionnaire/types.d.ts +0 -69
- package/dist/types/src/{engine/declarative → presentation/types}/presentation.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/builtins/fields/boolean.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/builtins/fields/category.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/builtins/fields/date.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/builtins/fields/long-text.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/builtins/fields/mapped-category.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/builtins/fields/multi-choice.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/builtins/fields/number.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/builtins/fields/rating.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/builtins/fields/series.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/builtins/fields/single-choice.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/builtins/fields/text.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/builtins/reports/regressor.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/comparison.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/constants.d.ts +0 -0
- package/dist/types/src/{engine/form.d.ts → runtime/create-runtime.d.ts} +0 -0
- package/dist/types/src/{engine → runtime}/declarative/explanation.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/declarative/field.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/declarative/report.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/equality.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/errors.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/explanations/controller.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/explanations/index.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/fields/controller.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/fields/index.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/paths.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/reports/controller.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/reports/index.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/schema/index.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/state/engine.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/state/index.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/state/snapshots.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/state/store.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/submission/abort.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/submission/explanations.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/submission/index.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/submission/lifecycle.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/submission/pipeline.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/submission/reports.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/submission/request.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/submission/result.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/types/pipeline.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/types/transport.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/validation/conditions.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/validation/form.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/validation/index.d.ts +0 -0
- package/dist/types/src/{engine → runtime}/values.d.ts +0 -0
- package/dist/types/src/{engine → schema}/types/registry.d.ts +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { FieldDefinition as SchemaFieldDefinition, FieldStateSnapshot, FieldValidationResult, NormalizedFieldConfig } from '../../../schema';
|
|
2
|
+
import { FieldDescriptor } from '../../../presentation';
|
|
3
|
+
export type { AllConditions, AnyConditions, BaseFieldConfig, DeclarativeFieldCondition, FieldComparisonCondition, FieldCondition, FieldConditionContext, FieldConfig, FieldStateSnapshot, FieldStatus, FieldValidationContext, FieldValidationFnContext, FieldValidationResult, FieldValueAdapter, FieldValueCondition, FormStatusCondition, InactiveFieldPolicy, NormalizedFieldConfig, NotCondition, SelectorSubscriptionOptions, SubmitCountCondition, } from '../../../schema';
|
|
4
|
+
export interface FieldHandle {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly kind: string;
|
|
7
|
+
readonly config: NormalizedFieldConfig;
|
|
8
|
+
readonly state: FieldStateSnapshot;
|
|
9
|
+
setValue(value: unknown): void;
|
|
10
|
+
blur(): void;
|
|
11
|
+
focus(): void;
|
|
12
|
+
validate(): Promise<FieldValidationResult>;
|
|
13
|
+
reset(): void;
|
|
14
|
+
subscribe(listener: (state: FieldStateSnapshot) => void): () => void;
|
|
15
|
+
}
|
|
16
|
+
export type FieldController = FieldHandle;
|
|
17
|
+
export type FieldDefinition<TConfig extends import('../../../schema').FieldConfig = import('../../../schema').FieldConfig, TValue = unknown> = SchemaFieldDefinition<TConfig, TValue> & {
|
|
18
|
+
describe?: (config: NormalizedFieldConfig<TConfig>, context: {
|
|
19
|
+
fieldId: string;
|
|
20
|
+
state: FieldStateSnapshot;
|
|
21
|
+
}) => FieldDescriptor;
|
|
22
|
+
[key: string]: unknown;
|
|
23
|
+
};
|
|
24
|
+
export type RuntimeFieldDefinition = FieldDefinition;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { ExplanationConfig, FieldConfig, FieldStateSnapshot, FormSchema, InactiveFieldPolicy, NormalizedFieldConfig, NormalizedReportConfig, Registry, ReportConfig, ReportStateSnapshot, SelectorSubscriptionOptions } from '../../../schema';
|
|
2
|
+
import { RuntimeBehavior } from './behavior';
|
|
3
|
+
import { AfterSubmitContext, BeforeSubmitContext, SubmitErrorContext, SubmitOptions, SubmitResult, Transport, TransportStreamEvent } from './transport';
|
|
4
|
+
import { ExplanationController, ExplanationStateSnapshot } from './explanation';
|
|
5
|
+
import { FieldController } from './field';
|
|
6
|
+
import { ReportController } from './report';
|
|
6
7
|
type MaybePromise<T> = T | PromiseLike<T>;
|
|
7
8
|
export type FormStatus = "idle" | "editing" | "validating" | "submitting" | "success" | "error";
|
|
8
9
|
export interface FormValidationResult {
|
|
@@ -81,15 +82,11 @@ export interface FormHooks {
|
|
|
81
82
|
afterExplanation?: (context: AfterExplanationContext) => MaybePromise<void>;
|
|
82
83
|
onExplanationError?: (context: ExplanationErrorContext) => MaybePromise<void>;
|
|
83
84
|
}
|
|
84
|
-
export interface FormSchema {
|
|
85
|
-
fields: FieldConfig[];
|
|
86
|
-
reports?: ReportConfig[];
|
|
87
|
-
explanations?: ExplanationConfig[];
|
|
88
|
-
}
|
|
89
85
|
export interface CreateFormConfig {
|
|
90
86
|
schema: FormSchema;
|
|
91
87
|
registry: Registry;
|
|
92
88
|
transport: Transport;
|
|
89
|
+
behaviors?: RuntimeBehavior[];
|
|
93
90
|
initialValues?: Record<string, unknown>;
|
|
94
91
|
validators?: FormValidator[];
|
|
95
92
|
hooks?: FormHooks;
|
|
@@ -117,4 +114,4 @@ export interface FormController {
|
|
|
117
114
|
subscribe(listener: (state: FormState) => void): () => void;
|
|
118
115
|
subscribeSelector<TSelected>(selector: (state: FormState) => TSelected, listener: (selected: TSelected, state: FormState) => void, options?: SelectorSubscriptionOptions<TSelected>): () => void;
|
|
119
116
|
}
|
|
120
|
-
export type {
|
|
117
|
+
export type { ExplanationConfig, FieldConfig, FormSchema, Registry, ReportConfig };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type MaybePromise<T> = T | PromiseLike<T>;
|
|
2
|
+
export * from './behavior';
|
|
3
|
+
export * from './explanation';
|
|
4
|
+
export * from './field';
|
|
5
|
+
export * from './form';
|
|
6
|
+
export * from './pipeline';
|
|
7
|
+
export * from './report';
|
|
8
|
+
export * from './transport';
|
|
9
|
+
export type { DeclarativeExplanationKind, DeclarativeFieldKind, DeclarativeReportKind, ExplanationDescriptor, ExplanationDescriptorContext, ExplanationPresenter, ExplanationRenderSpec, ExplanationRenderSpecContext, FieldDescriptor, FieldPresenter, FieldRenderHints, FieldRenderSpec, FieldRenderSpecContext, FieldWidget, PresentationContent, PresentationNode, PresentationSummary, PresentationTone, ReportDescriptor, ReportPresenter, ReportRenderSpec, ReportRenderSpecContext, } from '../../../presentation';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ExplanationDefinition, FieldDefinition, Registry as SchemaRegistry, ReportDefinition } from '../../../schema';
|
|
2
|
+
export interface Registry extends Omit<SchemaRegistry, "registerExplanation" | "registerField" | "registerReport"> {
|
|
3
|
+
registerField(definition: FieldDefinition): Registry;
|
|
4
|
+
registerReport(definition: ReportDefinition): Registry;
|
|
5
|
+
registerExplanation(definition: ExplanationDefinition): Registry;
|
|
6
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { NormalizedReportConfig as SchemaNormalizedReportConfig, ReportDefinition as SchemaReportDefinition, ReportStateSnapshot } from '../../../schema';
|
|
2
|
+
import { ReportDescriptor } from '../../../presentation';
|
|
3
|
+
import { SubmitResult } from './transport';
|
|
4
|
+
export type { BaseReportConfig, PartialReportUpdatePolicy, ReportConfig, ReportPayloadContext, ReportPayloadValidationPolicy, ReportResolveContext, ReportStateSnapshot, ReportStatus, } from '../../../schema';
|
|
5
|
+
export interface ReportHandle {
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly kind: string;
|
|
8
|
+
readonly config: SchemaNormalizedReportConfig;
|
|
9
|
+
readonly state: ReportStateSnapshot;
|
|
10
|
+
subscribe(listener: (state: ReportStateSnapshot) => void): () => void;
|
|
11
|
+
}
|
|
12
|
+
export type ReportController = ReportHandle;
|
|
13
|
+
export type ReportDefinition<TConfig extends import('../../../schema').ReportConfig = import('../../../schema').ReportConfig> = SchemaReportDefinition<TConfig> & {
|
|
14
|
+
describe?: (config: SchemaNormalizedReportConfig<TConfig>, context: {
|
|
15
|
+
reportId: string;
|
|
16
|
+
state: ReportStateSnapshot;
|
|
17
|
+
payload: unknown;
|
|
18
|
+
result: SubmitResult | null;
|
|
19
|
+
}) => ReportDescriptor | null;
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
};
|
|
22
|
+
export type NormalizedReportConfig<TConfig extends import('../../../schema').ReportConfig = import('../../../schema').ReportConfig> = SchemaNormalizedReportConfig<TConfig>;
|
|
23
|
+
export type RuntimeReportDefinition = ReportDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MaybePromise } from './types';
|
|
2
|
-
|
|
3
|
-
export
|
|
2
|
+
import { isRecord, slugify } from '../../shared';
|
|
3
|
+
export { isRecord, slugify };
|
|
4
4
|
export declare const isPromiseLike: <T>(value: MaybePromise<T>) => value is PromiseLike<T>;
|
|
5
5
|
export declare const isEmptyValue: (value: unknown) => boolean;
|
|
6
6
|
export declare const toDate: (value: unknown) => Date | null;
|
|
@@ -1,29 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FieldDefinition,
|
|
1
|
+
import { InternalFieldState } from '../state';
|
|
2
|
+
import { FieldDefinition, FormStatus, NormalizedFieldConfig } from '../types';
|
|
3
3
|
import { DerivedFieldFlags } from './conditions';
|
|
4
|
-
export type FieldStateCommitter = (fieldId: string, nextState: InternalFieldState) => void;
|
|
5
|
-
export type FieldValidator = {
|
|
6
|
-
abort(reason?: string): void;
|
|
7
|
-
validate(currentState: InternalFieldState, validationVersion?: number): Promise<FieldValidationResult>;
|
|
8
|
-
};
|
|
9
4
|
export declare const combineErrors: (state: Pick<InternalFieldState, "syncErrors" | "validationErrors" | "externalErrors">) => string[];
|
|
10
5
|
export declare const toSnapshotState: (state: InternalFieldState) => InternalFieldState;
|
|
11
6
|
export declare const toValidatingState: (state: InternalFieldState) => InternalFieldState;
|
|
12
7
|
export declare const requiredErrors: (config: NormalizedFieldConfig, value: unknown) => string[];
|
|
13
|
-
export declare const normalizeValue: (definition: FieldDefinition, config: NormalizedFieldConfig, value: unknown) => unknown;
|
|
14
8
|
export declare const cloneFieldValue: (definition: FieldDefinition, config: NormalizedFieldConfig, value: unknown) => unknown;
|
|
9
|
+
export declare const normalizeValue: (definition: FieldDefinition, config: NormalizedFieldConfig, value: unknown) => unknown;
|
|
15
10
|
export declare const areFieldValuesEqual: (definition: FieldDefinition, config: NormalizedFieldConfig, previous: unknown, next: unknown) => boolean;
|
|
16
11
|
export declare const runSyncValidation: (definition: FieldDefinition, config: NormalizedFieldConfig, value: unknown, values: Record<string, unknown>, submitCount: number) => string[];
|
|
17
12
|
export declare const computeSyncErrors: (definition: FieldDefinition, config: NormalizedFieldConfig, value: unknown, values: Record<string, unknown>, submitCount: number, flags: DerivedFieldFlags) => string[];
|
|
18
13
|
export declare const makeFieldState: (definition: FieldDefinition, config: NormalizedFieldConfig, initialValue: unknown, values: Record<string, unknown>, submitCount: number, formStatus: FormStatus) => InternalFieldState;
|
|
19
|
-
type CreateFieldValidatorOptions = {
|
|
20
|
-
config: NormalizedFieldConfig;
|
|
21
|
-
definition: FieldDefinition;
|
|
22
|
-
store: EngineStore;
|
|
23
|
-
getValues: () => Record<string, unknown>;
|
|
24
|
-
getSubmitCount: () => number;
|
|
25
|
-
getFormStatus: () => FormStatus;
|
|
26
|
-
commitState: FieldStateCommitter;
|
|
27
|
-
};
|
|
28
|
-
export declare const createFieldValidator: ({ config, definition, store, getValues, getSubmitCount, getFormStatus, commitState, }: CreateFieldValidatorOptions) => FieldValidator;
|
|
29
|
-
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EngineStore, InternalFieldState } from '../state';
|
|
2
|
+
import { FieldDefinition, FieldValidationResult, FormStatus, NormalizedFieldConfig } from '../types';
|
|
3
|
+
export type FieldStateCommitter = (fieldId: string, nextState: InternalFieldState) => void;
|
|
4
|
+
export type FieldValidator = {
|
|
5
|
+
abort(reason?: string): void;
|
|
6
|
+
validate(currentState: InternalFieldState, validationVersion?: number): Promise<FieldValidationResult>;
|
|
7
|
+
};
|
|
8
|
+
type CreateFieldValidatorOptions = {
|
|
9
|
+
config: NormalizedFieldConfig;
|
|
10
|
+
definition: FieldDefinition;
|
|
11
|
+
store: EngineStore;
|
|
12
|
+
getValues: () => Record<string, unknown>;
|
|
13
|
+
getSubmitCount: () => number;
|
|
14
|
+
getFormStatus: () => FormStatus;
|
|
15
|
+
commitState: FieldStateCommitter;
|
|
16
|
+
};
|
|
17
|
+
export declare const createFieldValidator: ({ config, definition, store, getValues, getSubmitCount, getFormStatus, commitState, }: CreateFieldValidatorOptions) => FieldValidator;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MLFormError } from '../../shared';
|
|
2
|
+
import { ExplanationConfig, ExplanationDefinition, FieldConfig, FieldDefinition, Registry, ReportConfig, ReportDefinition } from './index';
|
|
3
|
+
export declare class RegistryError extends MLFormError {
|
|
4
|
+
constructor(message: string);
|
|
5
|
+
}
|
|
6
|
+
export declare const createRegistry: () => Registry;
|
|
7
|
+
export declare const defineFieldDefinition: <TConfig extends FieldConfig, TValue>(definition: FieldDefinition<TConfig, TValue>) => FieldDefinition<TConfig, TValue>;
|
|
8
|
+
export declare const defineReportDefinition: <TConfig extends ReportConfig>(definition: ReportDefinition<TConfig>) => ReportDefinition<TConfig>;
|
|
9
|
+
export declare const defineExplanationDefinition: <TConfig extends ExplanationConfig>(definition: ExplanationDefinition<TConfig>) => ExplanationDefinition<TConfig>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ZodType } from 'zod';
|
|
2
|
+
export type ExplanationStatus = "idle" | "loading" | "done" | "error";
|
|
3
|
+
export interface BaseExplanationConfig {
|
|
4
|
+
id?: string;
|
|
5
|
+
kind: string;
|
|
6
|
+
label?: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
}
|
|
10
|
+
export type ExplanationConfig = BaseExplanationConfig;
|
|
11
|
+
export type NormalizedExplanationConfig<TConfig extends ExplanationConfig = ExplanationConfig> = TConfig & {
|
|
12
|
+
id: string;
|
|
13
|
+
};
|
|
14
|
+
export interface ExplanationStateSnapshot {
|
|
15
|
+
status: ExplanationStatus;
|
|
16
|
+
result: unknown;
|
|
17
|
+
error: string | null;
|
|
18
|
+
}
|
|
19
|
+
export interface ExplanationFetchContext<TConfig extends ExplanationConfig = ExplanationConfig> {
|
|
20
|
+
config: NormalizedExplanationConfig<TConfig>;
|
|
21
|
+
explanationId: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ExplanationFetchRequest {
|
|
24
|
+
explanationId: string;
|
|
25
|
+
backend?: string;
|
|
26
|
+
values: Record<string, unknown>;
|
|
27
|
+
fieldValues: Record<string, unknown>;
|
|
28
|
+
serializedValues: Record<string, unknown>;
|
|
29
|
+
serializedFieldValues: Record<string, unknown>;
|
|
30
|
+
reports: Record<string, unknown>;
|
|
31
|
+
meta: Record<string, unknown>;
|
|
32
|
+
raw: unknown;
|
|
33
|
+
signal?: AbortSignal;
|
|
34
|
+
}
|
|
35
|
+
export interface ExplanationFetchTransport {
|
|
36
|
+
submit: (request: ExplanationFetchRequest) => Promise<unknown>;
|
|
37
|
+
}
|
|
38
|
+
export type ExplanationFetchFactory<TConfig extends ExplanationConfig = ExplanationConfig> = (context: ExplanationFetchContext<TConfig>) => ExplanationFetchTransport;
|
|
39
|
+
export interface ExplanationDefinition<TConfig extends ExplanationConfig = ExplanationConfig> {
|
|
40
|
+
kind: string;
|
|
41
|
+
schema: ZodType<TConfig>;
|
|
42
|
+
transport: (config: TConfig) => ExplanationFetchTransport;
|
|
43
|
+
}
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import { ZodType } from 'zod';
|
|
2
|
-
|
|
3
|
-
type
|
|
2
|
+
export type MaybePromise<T> = T | PromiseLike<T>;
|
|
3
|
+
export type FormStatus = "idle" | "editing" | "validating" | "submitting" | "success" | "error";
|
|
4
4
|
export type FieldStatus = "idle" | "validating" | "valid" | "invalid";
|
|
5
5
|
export type InactiveFieldPolicy = "include" | "omit" | "reset-on-hide";
|
|
6
|
-
export interface FieldDescriptor {
|
|
7
|
-
component: string;
|
|
8
|
-
props: Record<string, unknown>;
|
|
9
|
-
meta?: Record<string, unknown>;
|
|
10
|
-
}
|
|
11
6
|
export interface BaseFieldConfig {
|
|
12
7
|
id?: string;
|
|
13
8
|
kind: string;
|
|
14
9
|
label: string;
|
|
15
10
|
description?: string;
|
|
11
|
+
showDescriptionInline?: boolean;
|
|
16
12
|
required?: boolean;
|
|
17
13
|
disabled?: boolean;
|
|
18
14
|
hidden?: boolean;
|
|
@@ -108,12 +104,6 @@ export interface NotCondition {
|
|
|
108
104
|
}
|
|
109
105
|
export type DeclarativeFieldCondition = FieldValueCondition | FieldComparisonCondition | FormStatusCondition | SubmitCountCondition | AllConditions | AnyConditions | NotCondition;
|
|
110
106
|
export type FieldCondition<TConfig extends FieldConfig = FieldConfig> = DeclarativeFieldCondition | ((context: FieldConditionContext<TConfig>) => boolean);
|
|
111
|
-
export interface FieldDescriptorContext {
|
|
112
|
-
fieldId: string;
|
|
113
|
-
state: FieldStateSnapshot;
|
|
114
|
-
}
|
|
115
|
-
export type FieldWidget = "text" | "number" | "boolean" | "select" | "date" | "series";
|
|
116
|
-
export type FieldRenderHints = Record<string, unknown>;
|
|
117
107
|
export interface FieldValueAdapter<TConfig extends FieldConfig = FieldConfig, TValue = unknown> {
|
|
118
108
|
default?: (config: TConfig) => TValue;
|
|
119
109
|
normalize?: (value: unknown, config: TConfig) => TValue;
|
|
@@ -125,23 +115,6 @@ export interface FieldValidationFnContext<TConfig extends FieldConfig = FieldCon
|
|
|
125
115
|
config: TConfig;
|
|
126
116
|
value: TValue;
|
|
127
117
|
}
|
|
128
|
-
export interface FieldRenderSpecContext<TConfig extends FieldConfig = FieldConfig, TValue = unknown> {
|
|
129
|
-
config: TConfig;
|
|
130
|
-
fieldId: string;
|
|
131
|
-
state: FieldStateSnapshot;
|
|
132
|
-
value: TValue;
|
|
133
|
-
}
|
|
134
|
-
export interface FieldRenderSpec<TConfig extends FieldConfig = FieldConfig, TValue = unknown> {
|
|
135
|
-
widget: FieldWidget;
|
|
136
|
-
hints?: FieldRenderHints | ((context: FieldRenderSpecContext<TConfig, TValue>) => FieldRenderHints);
|
|
137
|
-
}
|
|
138
|
-
export interface DeclarativeFieldKind<TConfig extends FieldConfig = FieldConfig, TValue = unknown> {
|
|
139
|
-
kind: string;
|
|
140
|
-
schema: ZodType<TConfig>;
|
|
141
|
-
value?: FieldValueAdapter<TConfig, TValue>;
|
|
142
|
-
validate?: (context: FieldValidationFnContext<TConfig, TValue>) => MaybePromise<string[]>;
|
|
143
|
-
render: FieldRenderSpec<TConfig, TValue>;
|
|
144
|
-
}
|
|
145
118
|
export interface FieldDefinition<TConfig extends FieldConfig = FieldConfig, TValue = unknown> {
|
|
146
119
|
kind: string;
|
|
147
120
|
schema: ZodType<TConfig>;
|
|
@@ -151,23 +124,8 @@ export interface FieldDefinition<TConfig extends FieldConfig = FieldConfig, TVal
|
|
|
151
124
|
isEqual?: (previous: TValue, next: TValue, config: TConfig) => boolean;
|
|
152
125
|
serializeValue?: (value: TValue, config: TConfig) => unknown;
|
|
153
126
|
validate?: (value: TValue, config: TConfig, context: FieldValidationContext<TConfig>) => MaybePromise<string[]>;
|
|
154
|
-
describe: (config: TConfig, context: FieldDescriptorContext) => FieldDescriptor;
|
|
155
|
-
}
|
|
156
|
-
export interface FieldController {
|
|
157
|
-
readonly id: string;
|
|
158
|
-
readonly kind: string;
|
|
159
|
-
readonly config: NormalizedFieldConfig;
|
|
160
|
-
readonly state: FieldStateSnapshot;
|
|
161
|
-
readonly descriptor: FieldDescriptor;
|
|
162
|
-
setValue(value: unknown): void;
|
|
163
|
-
blur(): void;
|
|
164
|
-
focus(): void;
|
|
165
|
-
validate(): Promise<FieldValidationResult>;
|
|
166
|
-
reset(): void;
|
|
167
|
-
subscribe(listener: (state: FieldStateSnapshot) => void): () => void;
|
|
168
127
|
}
|
|
169
128
|
export interface SelectorSubscriptionOptions<TSelected> {
|
|
170
129
|
emitInitial?: boolean;
|
|
171
130
|
equality?: (previous: TSelected, next: TSelected) => boolean;
|
|
172
131
|
}
|
|
173
|
-
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ExplanationConfig, NormalizedExplanationConfig } from './explanation';
|
|
2
|
+
import { FieldConfig, NormalizedFieldConfig } from './field';
|
|
3
|
+
import { NormalizedReportConfig, ReportConfig } from './report';
|
|
4
|
+
export interface FormSchema {
|
|
5
|
+
fields: FieldConfig[];
|
|
6
|
+
reports?: ReportConfig[];
|
|
7
|
+
explanations?: ExplanationConfig[];
|
|
8
|
+
}
|
|
9
|
+
export interface NormalizedFormSchema {
|
|
10
|
+
fields: NormalizedFieldConfig[];
|
|
11
|
+
reports: NormalizedReportConfig[];
|
|
12
|
+
explanations: NormalizedExplanationConfig[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ZodType } from 'zod';
|
|
2
|
+
import { MaybePromise } from './field';
|
|
3
|
+
import { SubmitResult } from '../../../runtime/types/transport';
|
|
4
|
+
export type ReportStatus = "idle" | "loading" | "ready" | "error";
|
|
5
|
+
export type ReportPayloadValidationPolicy = "report-error" | "fail-submit";
|
|
6
|
+
export type PartialReportUpdatePolicy = "trust" | "validate" | "defer";
|
|
7
|
+
export interface BaseReportConfig {
|
|
8
|
+
id?: string;
|
|
9
|
+
kind: string;
|
|
10
|
+
label?: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
source?: string;
|
|
13
|
+
ui?: Record<string, unknown>;
|
|
14
|
+
[key: string]: unknown;
|
|
15
|
+
}
|
|
16
|
+
export type ReportConfig = BaseReportConfig;
|
|
17
|
+
export type NormalizedReportConfig<TConfig extends ReportConfig = ReportConfig> = TConfig & {
|
|
18
|
+
id: string;
|
|
19
|
+
source: string;
|
|
20
|
+
};
|
|
21
|
+
export interface ReportStateSnapshot {
|
|
22
|
+
payload: unknown;
|
|
23
|
+
error: string | null;
|
|
24
|
+
status: ReportStatus;
|
|
25
|
+
}
|
|
26
|
+
export interface ReportPayloadContext<TConfig extends ReportConfig = ReportConfig> {
|
|
27
|
+
report: NormalizedReportConfig<TConfig>;
|
|
28
|
+
result: SubmitResult;
|
|
29
|
+
}
|
|
30
|
+
export interface ReportResolveContext<TConfig extends ReportConfig = ReportConfig> {
|
|
31
|
+
config: NormalizedReportConfig<TConfig>;
|
|
32
|
+
report: NormalizedReportConfig<TConfig>;
|
|
33
|
+
result: SubmitResult;
|
|
34
|
+
}
|
|
35
|
+
export interface ReportDefinition<TConfig extends ReportConfig = ReportConfig> {
|
|
36
|
+
kind: string;
|
|
37
|
+
schema: ZodType<TConfig>;
|
|
38
|
+
payloadSchema?: ZodType<unknown>;
|
|
39
|
+
payloadValidationPolicy?: ReportPayloadValidationPolicy;
|
|
40
|
+
partialUpdatePolicy?: PartialReportUpdatePolicy;
|
|
41
|
+
clonePayload?: (payload: unknown, config: TConfig) => unknown;
|
|
42
|
+
resolvePayload?: (config: TConfig, context: ReportPayloadContext<TConfig>) => MaybePromise<unknown>;
|
|
43
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isRecord: (value: unknown) => value is Record<string, unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const slugify: (value: string) => string;
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { FanoutTransportOptions,
|
|
1
|
+
import { FanoutTransportOptions, Transport } from '../types';
|
|
2
2
|
export declare const createFanoutTransport: <TTransportId extends string = string>(options: FanoutTransportOptions<TTransportId>) => Transport;
|
|
3
|
-
export declare const createQuorumFanoutTransport: <TTransportId extends string = string>(options: QuorumFanoutTransportOptions<TTransportId>) => Transport;
|
|
@@ -0,0 +1,21 @@
|
|
|
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 {};
|
|
@@ -0,0 +1,21 @@
|
|
|
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;
|
|
@@ -0,0 +1,21 @@
|
|
|
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[];
|
|
@@ -0,0 +1,25 @@
|
|
|
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;
|
|
@@ -0,0 +1,14 @@
|
|
|
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>;
|
|
@@ -0,0 +1,13 @@
|
|
|
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>>;
|