mlform 0.1.7 → 0.1.9
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 +42 -13
- package/dist/builtins-ml-pjab8_gu.js +3878 -0
- package/dist/{design-system-CrrSGfFB.js → design-system-CIU_vH6O.js} +612 -415
- package/dist/errors-CTNw8fwS.js +8 -0
- package/dist/kit-QY6zff-h.js +1888 -0
- package/dist/mlform/behaviors.mjs +32 -0
- package/dist/mlform/builtins-ml.mjs +2 -0
- package/dist/mlform/design-system.mjs +2 -2
- 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 +4 -0
- package/dist/mlform/schema.mjs +102 -0
- package/dist/mlform/transport.mjs +2 -2
- package/dist/mlform.mjs +8 -4
- package/dist/presentation-BrlVO4oV.js +200 -0
- package/dist/{primitives-BqjFDDhL.js → primitives-Di95y_ur.js} +1653 -1561
- package/dist/runtime-C5iTM3uu.js +1839 -0
- package/dist/strings-CWwrrYzz.js +4 -0
- package/dist/{transport-A1RsnZhD.js → transport-B6ePTLFK.js} +345 -372
- package/dist/types/behaviors/index.d.ts +3 -0
- package/dist/types/builtins-ml/definitions/fields/boolean.d.ts +9 -0
- package/dist/types/builtins-ml/definitions/fields/category.d.ts +12 -0
- package/dist/types/builtins-ml/definitions/fields/date.d.ts +10 -0
- package/dist/types/builtins-ml/definitions/fields/long-text.d.ts +11 -0
- package/dist/types/{src/engine/builtins → builtins-ml/definitions}/fields/mapped-category.d.ts +3 -2
- package/dist/types/{src/engine/builtins → builtins-ml/definitions}/fields/multi-choice.d.ts +3 -2
- package/dist/types/builtins-ml/definitions/fields/number.d.ts +12 -0
- package/dist/types/builtins-ml/definitions/fields/rating.d.ts +10 -0
- package/dist/types/builtins-ml/definitions/fields/series-helpers.d.ts +52 -0
- package/dist/types/builtins-ml/definitions/fields/series.d.ts +3 -0
- package/dist/types/{src/engine/builtins → builtins-ml/definitions}/fields/single-choice.d.ts +3 -2
- package/dist/types/builtins-ml/definitions/fields/text.d.ts +11 -0
- package/dist/types/{src/engine/builtins → builtins-ml/definitions}/index.d.ts +13 -34
- package/dist/types/builtins-ml/definitions/reports/classifier.d.ts +9 -0
- package/dist/types/builtins-ml/definitions/reports/regressor.d.ts +9 -0
- package/dist/types/{src/engine/builtins → builtins-ml/definitions}/shared.d.ts +25 -1
- package/dist/types/builtins-ml/index.d.ts +5 -0
- package/dist/types/design-system/recipes/index.d.ts +3 -0
- package/dist/types/{src/design-system → design-system}/registry/builtins.d.ts +0 -3
- package/dist/types/{src/design-system → design-system}/registry/index.d.ts +3 -1
- package/dist/types/design-system/runtime/controller-helpers.d.ts +12 -0
- package/dist/types/design-system/runtime/fingerprint.d.ts +8 -0
- package/dist/types/design-system/runtime/host-observer.d.ts +1 -0
- package/dist/types/design-system/runtime/hydration-state.d.ts +13 -0
- package/dist/types/design-system/runtime/inherited-scheme.d.ts +5 -0
- package/dist/types/design-system/runtime/media.d.ts +19 -0
- package/dist/types/design-system/themes/airbnb.d.ts +2 -0
- package/dist/types/design-system/themes/clickhouse.d.ts +2 -0
- package/dist/types/design-system/themes/index.d.ts +4 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/kit/accordion-root-styles.d.ts +1 -0
- package/dist/types/kit/accordion-root.d.ts +24 -0
- package/dist/types/kit/accordion.d.ts +2 -0
- package/dist/types/kit/constants.d.ts +33 -0
- package/dist/types/{src/kit → kit}/defaults.d.ts +4 -4
- package/dist/types/kit/error-navigation.d.ts +2 -0
- package/dist/types/kit/index.d.ts +9 -0
- package/dist/types/kit/layout-helpers.d.ts +29 -0
- package/dist/types/kit/layout-node-render.d.ts +18 -0
- package/dist/types/kit/layout-node-resolver.d.ts +3 -0
- package/dist/types/kit/layout-types.d.ts +124 -0
- package/dist/types/kit/layout-utils.d.ts +9 -0
- package/dist/types/kit/layout.d.ts +8 -0
- package/dist/types/{src/kit/types.d.ts → kit/mount-types.d.ts} +6 -4
- package/dist/types/kit/panel-nav.d.ts +9 -0
- package/dist/types/{src/questionnaire/primitives/components → kit}/step-indicator.d.ts +3 -3
- package/dist/types/kit/tabs-root-styles.d.ts +1 -0
- package/dist/types/kit/tabs-root.d.ts +24 -0
- package/dist/types/kit/tabs.d.ts +2 -0
- package/dist/types/kit/types.d.ts +5 -0
- package/dist/types/kit/view-layout-state.d.ts +14 -0
- package/dist/types/kit/view-navigation.d.ts +8 -0
- package/dist/types/kit/view-snapshot-cache.d.ts +14 -0
- package/dist/types/kit/view-snapshot.d.ts +15 -0
- package/dist/types/kit/view-types.d.ts +172 -0
- package/dist/types/kit/view.d.ts +8 -0
- package/dist/types/kit/wizard-constants.d.ts +19 -0
- package/dist/types/kit/wizard-root-styles.d.ts +1 -0
- package/dist/types/kit/wizard-root.d.ts +23 -0
- package/dist/types/kit/wizard.d.ts +2 -0
- package/dist/types/packs/default.d.ts +2 -0
- package/dist/types/packs/index.d.ts +3 -0
- package/dist/types/packs/ml.d.ts +2 -0
- package/dist/types/packs/shared.d.ts +24 -0
- package/dist/types/presentation/define-explanation-kind.d.ts +11 -0
- package/dist/types/presentation/define-field-kind.d.ts +18 -0
- package/dist/types/presentation/define-report-kind.d.ts +15 -0
- package/dist/types/presentation/index.d.ts +10 -0
- package/dist/types/presentation/register-kind.d.ts +6 -0
- package/dist/types/presentation/registry.d.ts +15 -0
- package/dist/types/presentation/types/explanation.d.ts +32 -0
- package/dist/types/presentation/types/field.d.ts +36 -0
- package/dist/types/presentation/types/report.d.ts +41 -0
- package/dist/types/{src/primitives → primitives}/base-explanation-element.d.ts +2 -1
- package/dist/types/{src/primitives → primitives}/base-field-element.d.ts +2 -1
- package/dist/types/{src/primitives → primitives}/base-report-element.d.ts +2 -1
- package/dist/types/primitives/components/error-focus.d.ts +4 -0
- package/dist/types/{src/primitives → primitives}/components/explanation-panel.d.ts +4 -2
- package/dist/types/primitives/components/field-frame-feedback.d.ts +9 -0
- package/dist/types/primitives/components/field-frame-styles.d.ts +1 -0
- package/dist/types/{src/primitives → primitives}/components/field-frame.d.ts +5 -3
- package/dist/types/{src/primitives → primitives}/components/form-errors.d.ts +1 -1
- package/dist/types/primitives/components/form-root-presenters.d.ts +17 -0
- package/dist/types/primitives/components/form-root-split-styles.d.ts +1 -0
- package/dist/types/primitives/components/form-root-state.d.ts +19 -0
- package/dist/types/primitives/components/form-root-styles.d.ts +1 -0
- package/dist/types/primitives/components/form-root-templates.d.ts +42 -0
- package/dist/types/{src/primitives → primitives}/components/form-root.d.ts +4 -2
- package/dist/types/{src/primitives → primitives}/components/presentation.d.ts +1 -1
- package/dist/types/{src/primitives → primitives}/components/report-frame.d.ts +4 -2
- package/dist/types/{src/primitives → primitives}/components/submit-button.d.ts +1 -1
- package/dist/types/{src/primitives → primitives}/constants.d.ts +1 -1
- package/dist/types/primitives/fields/series-field-helpers.d.ts +23 -0
- package/dist/types/primitives/fields/series-field-renderers.d.ts +18 -0
- package/dist/types/primitives/fields/series-field-styles.d.ts +1 -0
- package/dist/types/{src/primitives → primitives}/mount-form.d.ts +1 -1
- package/dist/types/primitives/presentation.d.ts +8 -0
- package/dist/types/{src/primitives → primitives}/types.d.ts +4 -1
- package/dist/types/runtime/create-runtime-helpers.d.ts +11 -0
- package/dist/types/{src/engine → runtime}/errors.d.ts +3 -3
- package/dist/types/runtime/fields/state-calculations.d.ts +25 -0
- package/dist/types/runtime/fields/state.d.ts +2 -0
- package/dist/types/runtime/form.d.ts +1 -0
- package/dist/types/runtime/index.d.ts +12 -0
- package/dist/types/runtime/runtime-behaviors.d.ts +23 -0
- package/dist/types/runtime/runtime-controller.d.ts +34 -0
- package/dist/types/runtime/runtime-refresh.d.ts +14 -0
- package/dist/types/runtime/runtime-values.d.ts +19 -0
- package/dist/types/runtime/submission/create-submitter.d.ts +2 -0
- package/dist/types/runtime/submission/error-flow.d.ts +19 -0
- package/dist/types/runtime/submission/field-updates.d.ts +14 -0
- package/dist/types/runtime/submission/pending-patches.d.ts +2 -0
- package/dist/types/runtime/submission/report-updates.d.ts +16 -0
- package/dist/types/runtime/submission/stream-events.d.ts +13 -0
- package/dist/types/runtime/submission/stream-progress.d.ts +4 -0
- package/dist/types/runtime/submission/submitter.d.ts +2 -0
- package/dist/types/runtime/submission/types.d.ts +60 -0
- package/dist/types/runtime/types/behavior.d.ts +32 -0
- package/dist/types/runtime/types/explanation.d.ts +15 -0
- package/dist/types/runtime/types/field.d.ts +17 -0
- package/dist/types/{src/engine → runtime}/types/form.d.ts +8 -11
- package/dist/types/{src/engine → runtime}/types/index.d.ts +1 -2
- package/dist/types/runtime/types/registry.d.ts +6 -0
- package/dist/types/runtime/types/report.d.ts +13 -0
- package/dist/types/{src/engine → runtime}/types/transport.d.ts +2 -2
- 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/runtime/validation/field-validator.d.ts +18 -0
- package/dist/types/runtime/validation/field.d.ts +2 -0
- package/dist/types/schema/index.d.ts +7 -0
- package/dist/types/schema/normalize.d.ts +2 -0
- package/dist/types/schema/registry.d.ts +9 -0
- package/dist/types/schema/types/explanation.d.ts +43 -0
- package/dist/types/{src/engine → schema}/types/field.d.ts +3 -45
- package/dist/types/schema/types/form.d.ts +13 -0
- package/dist/types/schema/types/report.d.ts +43 -0
- package/dist/types/shared/index.d.ts +3 -0
- package/dist/types/shared/object.d.ts +1 -0
- package/dist/types/shared/strings.d.ts +1 -0
- package/dist/types/transport/composition/fanout-helpers.d.ts +2 -0
- package/dist/types/transport/composition/fanout-options.d.ts +9 -0
- package/dist/types/transport/composition/fanout.d.ts +2 -0
- package/dist/types/{src/transport → transport}/composition/index.d.ts +1 -0
- package/dist/types/transport/composition/quorum-fanout.d.ts +2 -0
- package/dist/types/{src/transport → transport}/errors.d.ts +1 -1
- package/dist/types/transport/internal-core.d.ts +21 -0
- package/dist/types/transport/internal-errors.d.ts +21 -0
- package/dist/types/transport/internal-request.d.ts +21 -0
- package/dist/types/transport/internal-routing.d.ts +25 -0
- package/dist/types/transport/internal-sse.d.ts +14 -0
- package/dist/types/transport/internal-stream.d.ts +13 -0
- package/dist/types/transport/internal.d.ts +6 -0
- package/dist/types/transport/types/options-http.d.ts +85 -0
- package/dist/types/transport/types/options-middleware.d.ts +96 -0
- package/dist/types/transport/types/options-routing.d.ts +82 -0
- package/dist/types/transport/types/options.d.ts +3 -0
- package/dist/utils-J5o8lkea.js +29 -0
- package/package.json +26 -14
- 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/design-system/recipes/index.d.ts +0 -4
- package/dist/types/src/design-system/themes/index.d.ts +0 -5
- package/dist/types/src/engine/builtins/fields/boolean.d.ts +0 -8
- package/dist/types/src/engine/builtins/fields/category.d.ts +0 -11
- package/dist/types/src/engine/builtins/fields/date.d.ts +0 -9
- package/dist/types/src/engine/builtins/fields/long-text.d.ts +0 -10
- package/dist/types/src/engine/builtins/fields/number.d.ts +0 -11
- package/dist/types/src/engine/builtins/fields/rating.d.ts +0 -9
- package/dist/types/src/engine/builtins/fields/series.d.ts +0 -20
- package/dist/types/src/engine/builtins/fields/text.d.ts +0 -10
- package/dist/types/src/engine/builtins/reports/classifier.d.ts +0 -8
- package/dist/types/src/engine/builtins/reports/regressor.d.ts +0 -8
- package/dist/types/src/engine/declarative/explanation.d.ts +0 -2
- package/dist/types/src/engine/declarative/field.d.ts +0 -2
- package/dist/types/src/engine/declarative/report.d.ts +0 -2
- 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/report.d.ts +0 -87
- package/dist/types/src/index.d.ts +0 -7
- package/dist/types/src/kit/constants.d.ts +0 -4
- package/dist/types/src/kit/index.d.ts +0 -4
- 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/shared/index.d.ts +0 -1
- package/dist/types/src/transport/composition/fanout.d.ts +0 -3
- package/dist/types/src/transport/internal.d.ts +0 -110
- package/dist/types/src/transport/types/options.d.ts +0 -258
- package/dist/types/{src/design-system → design-system}/constants.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/contract/component-keys.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/contract/component-tokens.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/contract/global-tokens.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/contract/index.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/contract/token-keys.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/index.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/recipes/contrast.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/recipes/default.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/recipes/minimal.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/recipes/soft.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/registry/create-registry.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/registry/deep-freeze.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/registry/define-recipe.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/registry/define-theme.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/registry/define-token-maps.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/resolve/diagnostics.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/resolve/index.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/resolve/merge-config.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/resolve/migrate-tokens.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/resolve/resolve-mode.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/resolve/resolve-recipe.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/resolve/resolve-theme.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/resolve/resolve-tokens.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/runtime/apply-tokens.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/runtime/attach-design-system.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/runtime/create-stylesheet.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/runtime/declarations.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/runtime/design-system-controller.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/runtime/host-state.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/runtime/hydrate-design-system.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/runtime/index.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/themes/cobalt.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/themes/graphite.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/themes/neutral.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/themes/sage.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/themes/sunset.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/tokens/base.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/tokens/contrast.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/tokens/density.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/tokens/forced-colors.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/tokens/index.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/tokens/motion.d.ts +0 -0
- package/dist/types/{src/design-system → design-system}/types.d.ts +0 -0
- package/dist/types/{src/kit → kit}/mount-form.d.ts +0 -0
- package/dist/types/{src/engine/declarative → presentation/types}/presentation.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/base-async-report-element.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/components/declarative-explanation.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/components/declarative-field.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/components/declarative-report.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/components/unsupported-component.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/controller-binding.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/fields/boolean-field.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/fields/category-field.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/fields/date-field.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/fields/long-text-field.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/fields/multi-choice-field.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/fields/number-field.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/fields/rating-field.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/fields/series-field.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/fields/single-choice-field.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/fields/text-field.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/index.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/register.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/registry.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/reports/classifier-report.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/reports/regressor-report.d.ts +0 -0
- package/dist/types/{src/primitives → primitives}/utils.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}/equality.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}/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
- /package/dist/types/{src/shared → shared}/errors.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/capabilities.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/clone.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/composition/fallback.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/composition/hedged.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/composition/load-balancing.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/composition/pipeline.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/composition/racing.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/composition/routing.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/constants.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/index.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/middleware/auth.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/middleware/cache.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/middleware/circuit-breaker.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/middleware/dedup.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/middleware/index.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/middleware/logging.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/middleware/metrics.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/middleware/pipe.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/middleware/rate-limit.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/middleware/retry.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/middleware/timeout.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/middleware/tracing.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/middleware/transform.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/policy-context.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/protocols/graphql.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/protocols/grpc.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/protocols/index.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/protocols/json.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/protocols/sse.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/protocols/websocket.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/runtime.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/state/cache-store.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/state/circuit-breaker.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/state/health.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/state/index.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/state/rate-limiter.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/state/session.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/types/capabilities.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/types/core.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/types/events.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/types/index.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/types/middleware.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/types/session.d.ts +0 -0
- /package/dist/types/{src/transport → transport}/types/state.d.ts +0 -0
|
@@ -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;
|
|
@@ -0,0 +1,9 @@
|
|
|
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;
|
|
@@ -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>>;
|
|
@@ -0,0 +1,85 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
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;
|
|
@@ -0,0 +1,82 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
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';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
//#region src/shared/object.ts
|
|
2
|
+
var e = (e) => typeof e == "object" && !!e && !Array.isArray(e), t = (e) => typeof e == "object" && !!e || typeof e == "function", n = (e) => t(e) && "then" in e && typeof e.then == "function", r = (e) => e == null ? !0 : typeof e == "string" ? e.trim() === "" : Array.isArray(e) ? e.length === 0 : e instanceof Date ? Number.isNaN(e.getTime()) : !1, i = (e) => {
|
|
3
|
+
if (e instanceof Date) return Number.isNaN(e.getTime()) ? null : e;
|
|
4
|
+
if (typeof e == "string" || typeof e == "number") {
|
|
5
|
+
let t = new Date(e);
|
|
6
|
+
return Number.isNaN(t.getTime()) ? null : t;
|
|
7
|
+
}
|
|
8
|
+
return null;
|
|
9
|
+
}, a = (e) => e, o = (e) => {
|
|
10
|
+
let t = typeof ArrayBuffer < "u" && ArrayBuffer.isView(e), n = typeof ArrayBuffer < "u" && e instanceof ArrayBuffer || typeof SharedArrayBuffer < "u" && e instanceof SharedArrayBuffer, r = typeof Blob < "u" && e instanceof Blob || typeof File < "u" && e instanceof File;
|
|
11
|
+
if (e !== null && (typeof e == "object" || typeof e == "function") && !t && !n && !r && !Object.isFrozen(e)) {
|
|
12
|
+
Object.freeze(e);
|
|
13
|
+
for (let t of Object.values(e)) o(t);
|
|
14
|
+
}
|
|
15
|
+
return e;
|
|
16
|
+
}, s = (e, t) => e <= 0 ? Promise.resolve() : new Promise((n, r) => {
|
|
17
|
+
let i = setTimeout(() => {
|
|
18
|
+
t?.removeEventListener("abort", a), n();
|
|
19
|
+
}, e), a = () => {
|
|
20
|
+
clearTimeout(i), r(t?.reason ?? /* @__PURE__ */ Error("Operation aborted."));
|
|
21
|
+
};
|
|
22
|
+
if (t?.aborted) {
|
|
23
|
+
a();
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
t?.addEventListener("abort", a, { once: !0 });
|
|
27
|
+
});
|
|
28
|
+
//#endregion
|
|
29
|
+
export { n as a, r as i, s as n, i as o, a as r, e as s, o as t };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mlform",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Composable form generation utilities for machine learning backend integration",
|
|
6
6
|
"keywords": [
|
|
@@ -60,9 +60,25 @@
|
|
|
60
60
|
"types": "./dist/types/src/kit/index.d.ts",
|
|
61
61
|
"import": "./dist/mlform/kit.mjs"
|
|
62
62
|
},
|
|
63
|
-
"./
|
|
64
|
-
"types": "./dist/types/src/
|
|
65
|
-
"import": "./dist/mlform/
|
|
63
|
+
"./runtime": {
|
|
64
|
+
"types": "./dist/types/src/runtime/index.d.ts",
|
|
65
|
+
"import": "./dist/mlform/runtime.mjs"
|
|
66
|
+
},
|
|
67
|
+
"./schema": {
|
|
68
|
+
"types": "./dist/types/src/schema/index.d.ts",
|
|
69
|
+
"import": "./dist/mlform/schema.mjs"
|
|
70
|
+
},
|
|
71
|
+
"./presentation": {
|
|
72
|
+
"types": "./dist/types/src/presentation/index.d.ts",
|
|
73
|
+
"import": "./dist/mlform/presentation.mjs"
|
|
74
|
+
},
|
|
75
|
+
"./builtins-ml": {
|
|
76
|
+
"types": "./dist/types/src/builtins-ml/index.d.ts",
|
|
77
|
+
"import": "./dist/mlform/builtins-ml.mjs"
|
|
78
|
+
},
|
|
79
|
+
"./behaviors": {
|
|
80
|
+
"types": "./dist/types/src/behaviors/index.d.ts",
|
|
81
|
+
"import": "./dist/mlform/behaviors.mjs"
|
|
66
82
|
},
|
|
67
83
|
"./transport": {
|
|
68
84
|
"types": "./dist/types/src/transport/index.d.ts",
|
|
@@ -75,10 +91,6 @@
|
|
|
75
91
|
"./design-system": {
|
|
76
92
|
"types": "./dist/types/src/design-system/index.d.ts",
|
|
77
93
|
"import": "./dist/mlform/design-system.mjs"
|
|
78
|
-
},
|
|
79
|
-
"./questionnaire": {
|
|
80
|
-
"types": "./dist/types/src/questionnaire/index.d.ts",
|
|
81
|
-
"import": "./dist/mlform/questionnaire.mjs"
|
|
82
94
|
}
|
|
83
95
|
},
|
|
84
96
|
"publishConfig": {
|
|
@@ -86,15 +98,15 @@
|
|
|
86
98
|
"registry": "https://registry.npmjs.org/"
|
|
87
99
|
},
|
|
88
100
|
"dependencies": {
|
|
89
|
-
"lit": "3.3.
|
|
90
|
-
"zod": "4.3
|
|
101
|
+
"lit": "3.3.3",
|
|
102
|
+
"zod": "4.4.3"
|
|
91
103
|
},
|
|
92
104
|
"devDependencies": {
|
|
93
|
-
"@types/node": "^25.
|
|
94
|
-
"jsdom": "^29.
|
|
95
|
-
"typescript": "~6.0.
|
|
105
|
+
"@types/node": "^25.8.0",
|
|
106
|
+
"jsdom": "^29.1.1",
|
|
107
|
+
"typescript": "~6.0.3",
|
|
96
108
|
"vite": "npm:@voidzero-dev/vite-plus-core@latest",
|
|
97
|
-
"vite-plugin-dts": "^
|
|
109
|
+
"vite-plugin-dts": "^5.0.0",
|
|
98
110
|
"vite-plus": "latest",
|
|
99
111
|
"vitest": "npm:@voidzero-dev/vite-plus-test@latest"
|
|
100
112
|
},
|