@pwfabric/runtime 0.0.0-stage → 1.0.0-rc.0
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/LICENSE +90 -0
- package/README.md +13 -2
- package/dist/__tests__/dom-test-setup.d.ts +21 -0
- package/dist/__tests__/dom-test-setup.d.ts.map +1 -0
- package/dist/__tests__/dom-test-setup.js +36 -0
- package/dist/__tests__/dom-test-setup.js.map +1 -0
- package/dist/a11y/announcer.d.ts +66 -0
- package/dist/a11y/announcer.d.ts.map +1 -0
- package/dist/a11y/announcer.js +140 -0
- package/dist/a11y/announcer.js.map +1 -0
- package/dist/a11y/contrast.d.ts +55 -0
- package/dist/a11y/contrast.d.ts.map +1 -0
- package/dist/a11y/contrast.js +93 -0
- package/dist/a11y/contrast.js.map +1 -0
- package/dist/a11y/focus.d.ts +124 -0
- package/dist/a11y/focus.d.ts.map +1 -0
- package/dist/a11y/focus.js +282 -0
- package/dist/a11y/focus.js.map +1 -0
- package/dist/a11y/index.d.ts +22 -0
- package/dist/a11y/index.d.ts.map +1 -0
- package/dist/a11y/index.js +18 -0
- package/dist/a11y/index.js.map +1 -0
- package/dist/a11y/keyboard.d.ts +145 -0
- package/dist/a11y/keyboard.d.ts.map +1 -0
- package/dist/a11y/keyboard.js +317 -0
- package/dist/a11y/keyboard.js.map +1 -0
- package/dist/adapters/default-image.d.ts +26 -0
- package/dist/adapters/default-image.d.ts.map +1 -0
- package/dist/adapters/default-image.js +37 -0
- package/dist/adapters/default-image.js.map +1 -0
- package/dist/adapters/index.d.ts +28 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +28 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/next-image.d.ts +39 -0
- package/dist/adapters/next-image.d.ts.map +1 -0
- package/dist/adapters/next-image.js +124 -0
- package/dist/adapters/next-image.js.map +1 -0
- package/dist/adapters/types.d.ts +62 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +11 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/analytics/index.d.ts +15 -0
- package/dist/analytics/index.d.ts.map +1 -0
- package/dist/analytics/index.js +15 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/analytics/tracker.d.ts +66 -0
- package/dist/analytics/tracker.d.ts.map +1 -0
- package/dist/analytics/tracker.js +251 -0
- package/dist/analytics/tracker.js.map +1 -0
- package/dist/analytics/types.d.ts +131 -0
- package/dist/analytics/types.d.ts.map +1 -0
- package/dist/analytics/types.js +11 -0
- package/dist/analytics/types.js.map +1 -0
- package/dist/auth/index.d.ts +16 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +14 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/provider.d.ts +133 -0
- package/dist/auth/provider.d.ts.map +1 -0
- package/dist/auth/provider.js +473 -0
- package/dist/auth/provider.js.map +1 -0
- package/dist/auth/types.d.ts +118 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +9 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/binding/collection.d.ts +191 -0
- package/dist/binding/collection.d.ts.map +1 -0
- package/dist/binding/collection.js +358 -0
- package/dist/binding/collection.js.map +1 -0
- package/dist/binding/datasource.d.ts +320 -0
- package/dist/binding/datasource.d.ts.map +1 -0
- package/dist/binding/datasource.js +556 -0
- package/dist/binding/datasource.js.map +1 -0
- package/dist/binding/engine.d.ts +66 -0
- package/dist/binding/engine.d.ts.map +1 -0
- package/dist/binding/engine.js +268 -0
- package/dist/binding/engine.js.map +1 -0
- package/dist/binding/expression.d.ts +151 -0
- package/dist/binding/expression.d.ts.map +1 -0
- package/dist/binding/expression.js +787 -0
- package/dist/binding/expression.js.map +1 -0
- package/dist/binding/index.d.ts +20 -0
- package/dist/binding/index.d.ts.map +1 -0
- package/dist/binding/index.js +14 -0
- package/dist/binding/index.js.map +1 -0
- package/dist/binding/two-way.d.ts +150 -0
- package/dist/binding/two-way.d.ts.map +1 -0
- package/dist/binding/two-way.js +462 -0
- package/dist/binding/two-way.js.map +1 -0
- package/dist/binding/types.d.ts +120 -0
- package/dist/binding/types.d.ts.map +1 -0
- package/dist/binding/types.js +9 -0
- package/dist/binding/types.js.map +1 -0
- package/dist/blocks/__test-fixtures__/block-fixtures.d.ts +40 -0
- package/dist/blocks/__test-fixtures__/block-fixtures.d.ts.map +1 -0
- package/dist/blocks/__test-fixtures__/block-fixtures.js +506 -0
- package/dist/blocks/__test-fixtures__/block-fixtures.js.map +1 -0
- package/dist/blocks/component-types.d.ts +82 -0
- package/dist/blocks/component-types.d.ts.map +1 -0
- package/dist/blocks/component-types.js +11 -0
- package/dist/blocks/component-types.js.map +1 -0
- package/dist/blocks/composition-rules.d.ts +169 -0
- package/dist/blocks/composition-rules.d.ts.map +1 -0
- package/dist/blocks/composition-rules.js +391 -0
- package/dist/blocks/composition-rules.js.map +1 -0
- package/dist/blocks/hooks.d.ts +32 -0
- package/dist/blocks/hooks.d.ts.map +1 -0
- package/dist/blocks/hooks.js +42 -0
- package/dist/blocks/hooks.js.map +1 -0
- package/dist/blocks/index.d.ts +16 -0
- package/dist/blocks/index.d.ts.map +1 -0
- package/dist/blocks/index.js +24 -0
- package/dist/blocks/index.js.map +1 -0
- package/dist/blocks/registry.d.ts +85 -0
- package/dist/blocks/registry.d.ts.map +1 -0
- package/dist/blocks/registry.js +136 -0
- package/dist/blocks/registry.js.map +1 -0
- package/dist/blocks/rule-engine.d.ts +132 -0
- package/dist/blocks/rule-engine.d.ts.map +1 -0
- package/dist/blocks/rule-engine.js +321 -0
- package/dist/blocks/rule-engine.js.map +1 -0
- package/dist/blocks/surface-event-context.d.ts +14 -0
- package/dist/blocks/surface-event-context.d.ts.map +1 -0
- package/dist/blocks/surface-event-context.js +14 -0
- package/dist/blocks/surface-event-context.js.map +1 -0
- package/dist/blocks/surface-id-context.d.ts +14 -0
- package/dist/blocks/surface-id-context.d.ts.map +1 -0
- package/dist/blocks/surface-id-context.js +15 -0
- package/dist/blocks/surface-id-context.js.map +1 -0
- package/dist/bus.d.ts +42 -0
- package/dist/bus.d.ts.map +1 -0
- package/dist/bus.js +158 -0
- package/dist/bus.js.map +1 -0
- package/dist/cache/index.d.ts +10 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +10 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/memory.d.ts +33 -0
- package/dist/cache/memory.d.ts.map +1 -0
- package/dist/cache/memory.js +138 -0
- package/dist/cache/memory.js.map +1 -0
- package/dist/cache/types.d.ts +63 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache/types.js +9 -0
- package/dist/cache/types.js.map +1 -0
- package/dist/capability/index.d.ts +73 -0
- package/dist/capability/index.d.ts.map +1 -0
- package/dist/capability/index.js +87 -0
- package/dist/capability/index.js.map +1 -0
- package/dist/capability/kernel-capabilities.d.ts +32 -0
- package/dist/capability/kernel-capabilities.d.ts.map +1 -0
- package/dist/capability/kernel-capabilities.js +36 -0
- package/dist/capability/kernel-capabilities.js.map +1 -0
- package/dist/capability/platform-capabilities.d.ts +72 -0
- package/dist/capability/platform-capabilities.d.ts.map +1 -0
- package/dist/capability/platform-capabilities.js +267 -0
- package/dist/capability/platform-capabilities.js.map +1 -0
- package/dist/capability/type-mapping.d.ts +71 -0
- package/dist/capability/type-mapping.d.ts.map +1 -0
- package/dist/capability/type-mapping.js +107 -0
- package/dist/capability/type-mapping.js.map +1 -0
- package/dist/capability/validation.d.ts +47 -0
- package/dist/capability/validation.d.ts.map +1 -0
- package/dist/capability/validation.js +54 -0
- package/dist/capability/validation.js.map +1 -0
- package/dist/connectors/declared-connector.d.ts +49 -0
- package/dist/connectors/declared-connector.d.ts.map +1 -0
- package/dist/connectors/declared-connector.js +333 -0
- package/dist/connectors/declared-connector.js.map +1 -0
- package/dist/connectors/engine-registry.d.ts +51 -0
- package/dist/connectors/engine-registry.d.ts.map +1 -0
- package/dist/connectors/engine-registry.js +135 -0
- package/dist/connectors/engine-registry.js.map +1 -0
- package/dist/connectors/index.d.ts +15 -0
- package/dist/connectors/index.d.ts.map +1 -0
- package/dist/connectors/index.js +14 -0
- package/dist/connectors/index.js.map +1 -0
- package/dist/connectors/module-loader.d.ts +71 -0
- package/dist/connectors/module-loader.d.ts.map +1 -0
- package/dist/connectors/module-loader.js +143 -0
- package/dist/connectors/module-loader.js.map +1 -0
- package/dist/connectors/types.d.ts +175 -0
- package/dist/connectors/types.d.ts.map +1 -0
- package/dist/connectors/types.js +23 -0
- package/dist/connectors/types.js.map +1 -0
- package/dist/context.d.ts +28 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +38 -0
- package/dist/context.js.map +1 -0
- package/dist/data/DataCapabilityProvider.d.ts +40 -0
- package/dist/data/DataCapabilityProvider.d.ts.map +1 -0
- package/dist/data/DataCapabilityProvider.js +58 -0
- package/dist/data/DataCapabilityProvider.js.map +1 -0
- package/dist/data/index.d.ts +18 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +18 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/manager.d.ts +41 -0
- package/dist/data/manager.d.ts.map +1 -0
- package/dist/data/manager.js +442 -0
- package/dist/data/manager.js.map +1 -0
- package/dist/data/types.d.ts +219 -0
- package/dist/data/types.d.ts.map +1 -0
- package/dist/data/types.js +2 -0
- package/dist/data/types.js.map +1 -0
- package/dist/entity/aggregate.d.ts +9 -0
- package/dist/entity/aggregate.d.ts.map +1 -0
- package/dist/entity/aggregate.js +24 -0
- package/dist/entity/aggregate.js.map +1 -0
- package/dist/entity/apply-query.d.ts +59 -0
- package/dist/entity/apply-query.d.ts.map +1 -0
- package/dist/entity/apply-query.js +264 -0
- package/dist/entity/apply-query.js.map +1 -0
- package/dist/entity/behavior.d.ts +95 -0
- package/dist/entity/behavior.d.ts.map +1 -0
- package/dist/entity/behavior.js +78 -0
- package/dist/entity/behavior.js.map +1 -0
- package/dist/entity/connector.d.ts +142 -0
- package/dist/entity/connector.d.ts.map +1 -0
- package/dist/entity/connector.js +89 -0
- package/dist/entity/connector.js.map +1 -0
- package/dist/entity/connectors/index.d.ts +13 -0
- package/dist/entity/connectors/index.d.ts.map +1 -0
- package/dist/entity/connectors/index.js +11 -0
- package/dist/entity/connectors/index.js.map +1 -0
- package/dist/entity/connectors/static.d.ts +52 -0
- package/dist/entity/connectors/static.d.ts.map +1 -0
- package/dist/entity/connectors/static.js +245 -0
- package/dist/entity/connectors/static.js.map +1 -0
- package/dist/entity/entity-datasource.d.ts +51 -0
- package/dist/entity/entity-datasource.d.ts.map +1 -0
- package/dist/entity/entity-datasource.js +33 -0
- package/dist/entity/entity-datasource.js.map +1 -0
- package/dist/entity/facade.d.ts +71 -0
- package/dist/entity/facade.d.ts.map +1 -0
- package/dist/entity/facade.js +70 -0
- package/dist/entity/facade.js.map +1 -0
- package/dist/entity/http-connector.d.ts +124 -0
- package/dist/entity/http-connector.d.ts.map +1 -0
- package/dist/entity/http-connector.js +295 -0
- package/dist/entity/http-connector.js.map +1 -0
- package/dist/entity/index.d.ts +39 -0
- package/dist/entity/index.d.ts.map +1 -0
- package/dist/entity/index.js +31 -0
- package/dist/entity/index.js.map +1 -0
- package/dist/entity/postgres-connector.d.ts +65 -0
- package/dist/entity/postgres-connector.d.ts.map +1 -0
- package/dist/entity/postgres-connector.js +239 -0
- package/dist/entity/postgres-connector.js.map +1 -0
- package/dist/entity/registry.d.ts +60 -0
- package/dist/entity/registry.d.ts.map +1 -0
- package/dist/entity/registry.js +90 -0
- package/dist/entity/registry.js.map +1 -0
- package/dist/entity/store.d.ts +67 -0
- package/dist/entity/store.d.ts.map +1 -0
- package/dist/entity/store.js +349 -0
- package/dist/entity/store.js.map +1 -0
- package/dist/entity/types.d.ts +181 -0
- package/dist/entity/types.d.ts.map +1 -0
- package/dist/entity/types.js +10 -0
- package/dist/entity/types.js.map +1 -0
- package/dist/execution-context.d.ts +89 -0
- package/dist/execution-context.d.ts.map +1 -0
- package/dist/execution-context.js +146 -0
- package/dist/execution-context.js.map +1 -0
- package/dist/executor.d.ts +28 -0
- package/dist/executor.d.ts.map +1 -0
- package/dist/executor.js +33 -0
- package/dist/executor.js.map +1 -0
- package/dist/forms/form-entity-bridge.d.ts +95 -0
- package/dist/forms/form-entity-bridge.d.ts.map +1 -0
- package/dist/forms/form-entity-bridge.js +96 -0
- package/dist/forms/form-entity-bridge.js.map +1 -0
- package/dist/forms/form-write-target.d.ts +35 -0
- package/dist/forms/form-write-target.d.ts.map +1 -0
- package/dist/forms/form-write-target.js +81 -0
- package/dist/forms/form-write-target.js.map +1 -0
- package/dist/forms/index.d.ts +23 -0
- package/dist/forms/index.d.ts.map +1 -0
- package/dist/forms/index.js +25 -0
- package/dist/forms/index.js.map +1 -0
- package/dist/forms/named-control-values.d.ts +28 -0
- package/dist/forms/named-control-values.d.ts.map +1 -0
- package/dist/forms/named-control-values.js +42 -0
- package/dist/forms/named-control-values.js.map +1 -0
- package/dist/forms/processor.d.ts +56 -0
- package/dist/forms/processor.d.ts.map +1 -0
- package/dist/forms/processor.js +154 -0
- package/dist/forms/processor.js.map +1 -0
- package/dist/forms/types.d.ts +175 -0
- package/dist/forms/types.d.ts.map +1 -0
- package/dist/forms/types.js +33 -0
- package/dist/forms/types.js.map +1 -0
- package/dist/forms/validator.d.ts +62 -0
- package/dist/forms/validator.d.ts.map +1 -0
- package/dist/forms/validator.js +218 -0
- package/dist/forms/validator.js.map +1 -0
- package/dist/graph/index.d.ts +11 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +9 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/resolver.d.ts +67 -0
- package/dist/graph/resolver.d.ts.map +1 -0
- package/dist/graph/resolver.js +243 -0
- package/dist/graph/resolver.js.map +1 -0
- package/dist/graph/types.d.ts +126 -0
- package/dist/graph/types.d.ts.map +1 -0
- package/dist/graph/types.js +9 -0
- package/dist/graph/types.js.map +1 -0
- package/dist/hooks/useInstalledAtoms.d.ts +97 -0
- package/dist/hooks/useInstalledAtoms.d.ts.map +1 -0
- package/dist/hooks/useInstalledAtoms.js +92 -0
- package/dist/hooks/useInstalledAtoms.js.map +1 -0
- package/dist/i18n/index.d.ts +16 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +14 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/translator.d.ts +77 -0
- package/dist/i18n/translator.d.ts.map +1 -0
- package/dist/i18n/translator.js +357 -0
- package/dist/i18n/translator.js.map +1 -0
- package/dist/i18n/types.d.ts +94 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/i18n/types.js +9 -0
- package/dist/i18n/types.js.map +1 -0
- package/dist/index.d.ts +65 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +95 -0
- package/dist/index.js.map +1 -0
- package/dist/kernel.d.ts +48 -0
- package/dist/kernel.d.ts.map +1 -0
- package/dist/kernel.js +258 -0
- package/dist/kernel.js.map +1 -0
- package/dist/perf/budget.d.ts +93 -0
- package/dist/perf/budget.d.ts.map +1 -0
- package/dist/perf/budget.js +122 -0
- package/dist/perf/budget.js.map +1 -0
- package/dist/perf/index.d.ts +17 -0
- package/dist/perf/index.d.ts.map +1 -0
- package/dist/perf/index.js +13 -0
- package/dist/perf/index.js.map +1 -0
- package/dist/perf/render-timer.d.ts +91 -0
- package/dist/perf/render-timer.d.ts.map +1 -0
- package/dist/perf/render-timer.js +136 -0
- package/dist/perf/render-timer.js.map +1 -0
- package/dist/perf/reporter.d.ts +127 -0
- package/dist/perf/reporter.d.ts.map +1 -0
- package/dist/perf/reporter.js +241 -0
- package/dist/perf/reporter.js.map +1 -0
- package/dist/perf/web-vitals.d.ts +112 -0
- package/dist/perf/web-vitals.d.ts.map +1 -0
- package/dist/perf/web-vitals.js +268 -0
- package/dist/perf/web-vitals.js.map +1 -0
- package/dist/registry.d.ts +64 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +126 -0
- package/dist/registry.js.map +1 -0
- package/dist/render/BehaviorSurfaceProvider.d.ts +66 -0
- package/dist/render/BehaviorSurfaceProvider.d.ts.map +1 -0
- package/dist/render/BehaviorSurfaceProvider.js +185 -0
- package/dist/render/BehaviorSurfaceProvider.js.map +1 -0
- package/dist/render/BlockErrorBoundary.d.ts +27 -0
- package/dist/render/BlockErrorBoundary.d.ts.map +1 -0
- package/dist/render/BlockErrorBoundary.js +41 -0
- package/dist/render/BlockErrorBoundary.js.map +1 -0
- package/dist/render/DataBoundSurfaceRenderer.d.ts +79 -0
- package/dist/render/DataBoundSurfaceRenderer.d.ts.map +1 -0
- package/dist/render/DataBoundSurfaceRenderer.js +998 -0
- package/dist/render/DataBoundSurfaceRenderer.js.map +1 -0
- package/dist/render/DynamicBlockWrapper.d.ts +24 -0
- package/dist/render/DynamicBlockWrapper.d.ts.map +1 -0
- package/dist/render/DynamicBlockWrapper.js +117 -0
- package/dist/render/DynamicBlockWrapper.js.map +1 -0
- package/dist/render/appearance-resolver.d.ts +51 -0
- package/dist/render/appearance-resolver.d.ts.map +1 -0
- package/dist/render/appearance-resolver.js +78 -0
- package/dist/render/appearance-resolver.js.map +1 -0
- package/dist/render/capability-gate.d.ts +70 -0
- package/dist/render/capability-gate.d.ts.map +1 -0
- package/dist/render/capability-gate.js +94 -0
- package/dist/render/capability-gate.js.map +1 -0
- package/dist/render/conditional-states-css.d.ts +42 -0
- package/dist/render/conditional-states-css.d.ts.map +1 -0
- package/dist/render/conditional-states-css.js +82 -0
- package/dist/render/conditional-states-css.js.map +1 -0
- package/dist/render/connections-context.d.ts +32 -0
- package/dist/render/connections-context.d.ts.map +1 -0
- package/dist/render/connections-context.js +34 -0
- package/dist/render/connections-context.js.map +1 -0
- package/dist/render/dark-theme-css.d.ts +37 -0
- package/dist/render/dark-theme-css.d.ts.map +1 -0
- package/dist/render/dark-theme-css.js +67 -0
- package/dist/render/dark-theme-css.js.map +1 -0
- package/dist/render/data-binding-types.d.ts +192 -0
- package/dist/render/data-binding-types.d.ts.map +1 -0
- package/dist/render/data-binding-types.js +11 -0
- package/dist/render/data-binding-types.js.map +1 -0
- package/dist/render/data-cache.d.ts +31 -0
- package/dist/render/data-cache.d.ts.map +1 -0
- package/dist/render/data-cache.js +37 -0
- package/dist/render/data-cache.js.map +1 -0
- package/dist/render/derive-dark-theme.d.ts +18 -0
- package/dist/render/derive-dark-theme.d.ts.map +1 -0
- package/dist/render/derive-dark-theme.js +18 -0
- package/dist/render/derive-dark-theme.js.map +1 -0
- package/dist/render/dynamic-artifact-context.d.ts +78 -0
- package/dist/render/dynamic-artifact-context.d.ts.map +1 -0
- package/dist/render/dynamic-artifact-context.js +89 -0
- package/dist/render/dynamic-artifact-context.js.map +1 -0
- package/dist/render/dynamic-block-loader.d.ts +81 -0
- package/dist/render/dynamic-block-loader.d.ts.map +1 -0
- package/dist/render/dynamic-block-loader.js +197 -0
- package/dist/render/dynamic-block-loader.js.map +1 -0
- package/dist/render/endpoint.d.ts +19 -0
- package/dist/render/endpoint.d.ts.map +1 -0
- package/dist/render/endpoint.js +109 -0
- package/dist/render/endpoint.js.map +1 -0
- package/dist/render/entity-facade-context.d.ts +35 -0
- package/dist/render/entity-facade-context.d.ts.map +1 -0
- package/dist/render/entity-facade-context.js +37 -0
- package/dist/render/entity-facade-context.js.map +1 -0
- package/dist/render/group-states-css.d.ts +42 -0
- package/dist/render/group-states-css.d.ts.map +1 -0
- package/dist/render/group-states-css.js +73 -0
- package/dist/render/group-states-css.js.map +1 -0
- package/dist/render/hooks/useSurfaceEvents.d.ts +9 -0
- package/dist/render/hooks/useSurfaceEvents.d.ts.map +1 -0
- package/dist/render/hooks/useSurfaceEvents.js +9 -0
- package/dist/render/hooks/useSurfaceEvents.js.map +1 -0
- package/dist/render/hooks/useSurfaceId.d.ts +9 -0
- package/dist/render/hooks/useSurfaceId.d.ts.map +1 -0
- package/dist/render/hooks/useSurfaceId.js +9 -0
- package/dist/render/hooks/useSurfaceId.js.map +1 -0
- package/dist/render/index.d.ts +49 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.js +61 -0
- package/dist/render/index.js.map +1 -0
- package/dist/render/interaction-rule-engine.d.ts +13 -0
- package/dist/render/interaction-rule-engine.d.ts.map +1 -0
- package/dist/render/interaction-rule-engine.js +47 -0
- package/dist/render/interaction-rule-engine.js.map +1 -0
- package/dist/render/keyframes-css.d.ts +32 -0
- package/dist/render/keyframes-css.d.ts.map +1 -0
- package/dist/render/keyframes-css.js +44 -0
- package/dist/render/keyframes-css.js.map +1 -0
- package/dist/render/query-state.d.ts +4 -0
- package/dist/render/query-state.d.ts.map +1 -0
- package/dist/render/query-state.js +70 -0
- package/dist/render/query-state.js.map +1 -0
- package/dist/render/renderer.d.ts +45 -0
- package/dist/render/renderer.d.ts.map +1 -0
- package/dist/render/renderer.js +937 -0
- package/dist/render/renderer.js.map +1 -0
- package/dist/render/resolve-expressions.d.ts +38 -0
- package/dist/render/resolve-expressions.d.ts.map +1 -0
- package/dist/render/resolve-expressions.js +309 -0
- package/dist/render/resolve-expressions.js.map +1 -0
- package/dist/render/responsive-style-css.d.ts +43 -0
- package/dist/render/responsive-style-css.d.ts.map +1 -0
- package/dist/render/responsive-style-css.js +123 -0
- package/dist/render/responsive-style-css.js.map +1 -0
- package/dist/render/responsive.d.ts +50 -0
- package/dist/render/responsive.d.ts.map +1 -0
- package/dist/render/responsive.js +99 -0
- package/dist/render/responsive.js.map +1 -0
- package/dist/render/scoped-css.d.ts +72 -0
- package/dist/render/scoped-css.d.ts.map +1 -0
- package/dist/render/scoped-css.js +102 -0
- package/dist/render/scoped-css.js.map +1 -0
- package/dist/render/shell-selection.d.ts +70 -0
- package/dist/render/shell-selection.d.ts.map +1 -0
- package/dist/render/shell-selection.js +117 -0
- package/dist/render/shell-selection.js.map +1 -0
- package/dist/render/states-css.d.ts +33 -0
- package/dist/render/states-css.d.ts.map +1 -0
- package/dist/render/states-css.js +63 -0
- package/dist/render/states-css.js.map +1 -0
- package/dist/render/surface-data-context.d.ts +19 -0
- package/dist/render/surface-data-context.d.ts.map +1 -0
- package/dist/render/surface-data-context.js +21 -0
- package/dist/render/surface-data-context.js.map +1 -0
- package/dist/render/surface-event-bus.d.ts +20 -0
- package/dist/render/surface-event-bus.d.ts.map +1 -0
- package/dist/render/surface-event-bus.js +68 -0
- package/dist/render/surface-event-bus.js.map +1 -0
- package/dist/render/surface-event-context.d.ts +12 -0
- package/dist/render/surface-event-context.d.ts.map +1 -0
- package/dist/render/surface-event-context.js +12 -0
- package/dist/render/surface-event-context.js.map +1 -0
- package/dist/render/surface-id-context.d.ts +9 -0
- package/dist/render/surface-id-context.d.ts.map +1 -0
- package/dist/render/surface-id-context.js +9 -0
- package/dist/render/surface-id-context.js.map +1 -0
- package/dist/render/theme-utils.d.ts +15 -0
- package/dist/render/theme-utils.d.ts.map +1 -0
- package/dist/render/theme-utils.js +15 -0
- package/dist/render/theme-utils.js.map +1 -0
- package/dist/render/types.d.ts +283 -0
- package/dist/render/types.d.ts.map +1 -0
- package/dist/render/types.js +9 -0
- package/dist/render/types.js.map +1 -0
- package/dist/render/visibility-css.d.ts +43 -0
- package/dist/render/visibility-css.d.ts.map +1 -0
- package/dist/render/visibility-css.js +119 -0
- package/dist/render/visibility-css.js.map +1 -0
- package/dist/render/width-scope.d.ts +35 -0
- package/dist/render/width-scope.d.ts.map +1 -0
- package/dist/render/width-scope.js +44 -0
- package/dist/render/width-scope.js.map +1 -0
- package/dist/render/write-only-sources.d.ts +34 -0
- package/dist/render/write-only-sources.d.ts.map +1 -0
- package/dist/render/write-only-sources.js +99 -0
- package/dist/render/write-only-sources.js.map +1 -0
- package/dist/routing/index.d.ts +15 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +15 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/routing/router.d.ts +43 -0
- package/dist/routing/router.d.ts.map +1 -0
- package/dist/routing/router.js +218 -0
- package/dist/routing/router.js.map +1 -0
- package/dist/routing/types.d.ts +125 -0
- package/dist/routing/types.d.ts.map +1 -0
- package/dist/routing/types.js +9 -0
- package/dist/routing/types.js.map +1 -0
- package/dist/seo/generator.d.ts +40 -0
- package/dist/seo/generator.d.ts.map +1 -0
- package/dist/seo/generator.js +236 -0
- package/dist/seo/generator.js.map +1 -0
- package/dist/seo/index.d.ts +15 -0
- package/dist/seo/index.d.ts.map +1 -0
- package/dist/seo/index.js +15 -0
- package/dist/seo/index.js.map +1 -0
- package/dist/seo/types.d.ts +182 -0
- package/dist/seo/types.d.ts.map +1 -0
- package/dist/seo/types.js +9 -0
- package/dist/seo/types.js.map +1 -0
- package/dist/state/index.d.ts +16 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +16 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/manager.d.ts +34 -0
- package/dist/state/manager.d.ts.map +1 -0
- package/dist/state/manager.js +81 -0
- package/dist/state/manager.js.map +1 -0
- package/dist/state/store.d.ts +41 -0
- package/dist/state/store.d.ts.map +1 -0
- package/dist/state/store.js +145 -0
- package/dist/state/store.js.map +1 -0
- package/dist/state/types.d.ts +108 -0
- package/dist/state/types.d.ts.map +1 -0
- package/dist/state/types.js +9 -0
- package/dist/state/types.js.map +1 -0
- package/dist/surface/expression.d.ts +66 -0
- package/dist/surface/expression.d.ts.map +1 -0
- package/dist/surface/expression.js +179 -0
- package/dist/surface/expression.js.map +1 -0
- package/dist/surface/index.d.ts +33 -0
- package/dist/surface/index.d.ts.map +1 -0
- package/dist/surface/index.js +25 -0
- package/dist/surface/index.js.map +1 -0
- package/dist/surface/interpreter.d.ts +97 -0
- package/dist/surface/interpreter.d.ts.map +1 -0
- package/dist/surface/interpreter.js +231 -0
- package/dist/surface/interpreter.js.map +1 -0
- package/dist/surface/layout.d.ts +55 -0
- package/dist/surface/layout.d.ts.map +1 -0
- package/dist/surface/layout.js +288 -0
- package/dist/surface/layout.js.map +1 -0
- package/dist/surface/output.d.ts +91 -0
- package/dist/surface/output.d.ts.map +1 -0
- package/dist/surface/output.js +104 -0
- package/dist/surface/output.js.map +1 -0
- package/dist/surface/primitives.d.ts +181 -0
- package/dist/surface/primitives.d.ts.map +1 -0
- package/dist/surface/primitives.js +339 -0
- package/dist/surface/primitives.js.map +1 -0
- package/dist/surface/renderer.d.ts +97 -0
- package/dist/surface/renderer.d.ts.map +1 -0
- package/dist/surface/renderer.js +190 -0
- package/dist/surface/renderer.js.map +1 -0
- package/dist/surface/schemas.d.ts +182 -0
- package/dist/surface/schemas.d.ts.map +1 -0
- package/dist/surface/schemas.js +142 -0
- package/dist/surface/schemas.js.map +1 -0
- package/dist/surface/transforms.d.ts +145 -0
- package/dist/surface/transforms.d.ts.map +1 -0
- package/dist/surface/transforms.js +120 -0
- package/dist/surface/transforms.js.map +1 -0
- package/dist/surface/types.d.ts +161 -0
- package/dist/surface/types.d.ts.map +1 -0
- package/dist/surface/types.js +51 -0
- package/dist/surface/types.js.map +1 -0
- package/dist/surface/validation.d.ts +124 -0
- package/dist/surface/validation.d.ts.map +1 -0
- package/dist/surface/validation.js +147 -0
- package/dist/surface/validation.js.map +1 -0
- package/dist/validator.d.ts +56 -0
- package/dist/validator.d.ts.map +1 -0
- package/dist/validator.js +100 -0
- package/dist/validator.js.map +1 -0
- package/package.json +105 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/kernel.d.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fabric Kernel
|
|
3
|
+
*
|
|
4
|
+
* Runtime kernel for fabric orchestration
|
|
5
|
+
*
|
|
6
|
+
* The Fabric Kernel is the core runtime that manages capability
|
|
7
|
+
* registration, dependency resolution, and execution lifecycle.
|
|
8
|
+
*
|
|
9
|
+
* @module @pwfabric/runtime/kernel
|
|
10
|
+
*/
|
|
11
|
+
import type { Fabric, FabricConfig, FabricState, FabricMetadata, FabricSnapshot, FabricId, CapabilityId, Capability, RegistrationResult, Resolution, ExecutionResult, ExecutionOptions, SemanticVersion, Timestamp, EventBus } from '@pwfabric/contracts';
|
|
12
|
+
/**
|
|
13
|
+
* Fabric kernel implementation
|
|
14
|
+
*/
|
|
15
|
+
export declare class FabricKernel implements Fabric {
|
|
16
|
+
readonly id: FabricId;
|
|
17
|
+
readonly version: SemanticVersion;
|
|
18
|
+
readonly metadata: FabricMetadata;
|
|
19
|
+
readonly createdAt: Timestamp;
|
|
20
|
+
private _state;
|
|
21
|
+
private readonly registry;
|
|
22
|
+
private readonly validator;
|
|
23
|
+
private readonly eventBus;
|
|
24
|
+
private readonly config;
|
|
25
|
+
constructor(options?: FabricConfig);
|
|
26
|
+
get state(): FabricState;
|
|
27
|
+
register<C extends Capability>(capability: C): RegistrationResult<C>;
|
|
28
|
+
resolve<C extends Capability>(id: CapabilityId): Resolution<C>;
|
|
29
|
+
has(id: CapabilityId): boolean;
|
|
30
|
+
capabilities(): readonly CapabilityId[];
|
|
31
|
+
execute<TInput, TOutput>(id: CapabilityId, input: TInput, options?: ExecutionOptions): Promise<ExecutionResult<TOutput>>;
|
|
32
|
+
start(): Promise<void>;
|
|
33
|
+
shutdown(): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Get a snapshot of the fabric state
|
|
36
|
+
*/
|
|
37
|
+
getSnapshot(): FabricSnapshot;
|
|
38
|
+
/**
|
|
39
|
+
* Get the event bus for subscribing to events
|
|
40
|
+
*/
|
|
41
|
+
getEventBus(): EventBus;
|
|
42
|
+
private transitionState;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Create a new Fabric instance
|
|
46
|
+
*/
|
|
47
|
+
export declare function createFabric(options?: FabricConfig): FabricKernel;
|
|
48
|
+
//# sourceMappingURL=kernel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACX,cAAc,EACd,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,gBAAgB,EAEhB,eAAe,EACf,SAAS,EACT,QAAQ,EACT,MAAM,qBAAqB,CAAA;AAgD5B;;GAEG;AACH,qBAAa,YAAa,YAAW,MAAM;IACzC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAE7B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;gBAEnC,OAAO,GAAE,YAAiB;IAkCtC,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC;IA8BpE,OAAO,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,EAAE,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC;IAI9D,GAAG,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO;IAI9B,YAAY,IAAI,SAAS,YAAY,EAAE;IAIjC,OAAO,CAAC,MAAM,EAAE,OAAO,EAC3B,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAgH9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB/B;;OAEG;IACH,WAAW,IAAI,cAAc;IAW7B;;OAEG;IACH,WAAW,IAAI,QAAQ;IAIvB,OAAO,CAAC,eAAe;CASxB;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,YAAY,CAEjE"}
|
package/dist/kernel.js
ADDED
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fabric Kernel
|
|
3
|
+
*
|
|
4
|
+
* Runtime kernel for fabric orchestration
|
|
5
|
+
*
|
|
6
|
+
* The Fabric Kernel is the core runtime that manages capability
|
|
7
|
+
* registration, dependency resolution, and execution lifecycle.
|
|
8
|
+
*
|
|
9
|
+
* @module @pwfabric/runtime/kernel
|
|
10
|
+
*/
|
|
11
|
+
import { fabricId, parseVersion, INITIAL_VERSION, VALID_TRANSITIONS, DEFAULT_FABRIC_CONFIG, executionOk, executionErr, } from '@pwfabric/contracts';
|
|
12
|
+
import { createRegistry } from './registry.js';
|
|
13
|
+
import { createValidator, isValidationSuccess } from './validator.js';
|
|
14
|
+
import { createEventBus, createFabricEvent } from './bus.js';
|
|
15
|
+
import { createExecutionContext } from './execution-context.js';
|
|
16
|
+
// ============================================================
|
|
17
|
+
// HELPER FUNCTIONS
|
|
18
|
+
// ============================================================
|
|
19
|
+
/**
|
|
20
|
+
* Build FabricMetadata from partial input
|
|
21
|
+
*/
|
|
22
|
+
function buildFabricMetadata(input) {
|
|
23
|
+
const result = {
|
|
24
|
+
name: input?.name ?? 'PWFabric',
|
|
25
|
+
};
|
|
26
|
+
if (input?.description !== undefined) {
|
|
27
|
+
result.description = input.description;
|
|
28
|
+
}
|
|
29
|
+
if (input?.tags !== undefined) {
|
|
30
|
+
result.tags = input.tags;
|
|
31
|
+
}
|
|
32
|
+
if (input?.environment !== undefined) {
|
|
33
|
+
result.environment = input.environment;
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
// ============================================================
|
|
38
|
+
// FABRIC KERNEL IMPLEMENTATION
|
|
39
|
+
// ============================================================
|
|
40
|
+
/**
|
|
41
|
+
* Fabric kernel implementation
|
|
42
|
+
*/
|
|
43
|
+
export class FabricKernel {
|
|
44
|
+
id;
|
|
45
|
+
version;
|
|
46
|
+
metadata;
|
|
47
|
+
createdAt;
|
|
48
|
+
_state = 'initializing';
|
|
49
|
+
registry;
|
|
50
|
+
validator;
|
|
51
|
+
eventBus;
|
|
52
|
+
config;
|
|
53
|
+
constructor(options = {}) {
|
|
54
|
+
this.id = fabricId(options.id ?? `fabric_${Date.now()}`);
|
|
55
|
+
this.version = options.version
|
|
56
|
+
? (parseVersion(options.version) ?? INITIAL_VERSION)
|
|
57
|
+
: INITIAL_VERSION;
|
|
58
|
+
// Build metadata with only defined properties
|
|
59
|
+
this.metadata = buildFabricMetadata(options.metadata);
|
|
60
|
+
this.createdAt = Date.now();
|
|
61
|
+
// Build config
|
|
62
|
+
this.config = {
|
|
63
|
+
...DEFAULT_FABRIC_CONFIG,
|
|
64
|
+
...options,
|
|
65
|
+
};
|
|
66
|
+
this.registry = createRegistry();
|
|
67
|
+
this.validator = createValidator();
|
|
68
|
+
this.eventBus = createEventBus();
|
|
69
|
+
// Transition to ready
|
|
70
|
+
this.transitionState('ready');
|
|
71
|
+
// Emit creation event
|
|
72
|
+
this.eventBus.emit(createFabricEvent('fabric.created', {
|
|
73
|
+
source: { fabricId: this.id },
|
|
74
|
+
fabricId: this.id,
|
|
75
|
+
version: `${this.version.major}.${this.version.minor}.${this.version.patch}`,
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
get state() {
|
|
79
|
+
return this._state;
|
|
80
|
+
}
|
|
81
|
+
register(capability) {
|
|
82
|
+
// Validate capability
|
|
83
|
+
const validationResult = this.validator.validateCapability(capability);
|
|
84
|
+
if (!isValidationSuccess(validationResult)) {
|
|
85
|
+
return {
|
|
86
|
+
success: false,
|
|
87
|
+
error: {
|
|
88
|
+
type: 'invalid_contract',
|
|
89
|
+
id: capability.id,
|
|
90
|
+
message: 'Capability validation failed',
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
// Register with registry
|
|
95
|
+
const result = this.registry.register(capability);
|
|
96
|
+
if (result.success) {
|
|
97
|
+
this.eventBus.emit(createFabricEvent('capability.registered', {
|
|
98
|
+
source: { fabricId: this.id, capabilityId: capability.id },
|
|
99
|
+
capabilityId: capability.id,
|
|
100
|
+
version: `${capability.version.major}.${capability.version.minor}.${capability.version.patch}`,
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
return result;
|
|
104
|
+
}
|
|
105
|
+
resolve(id) {
|
|
106
|
+
return this.registry.resolve(id);
|
|
107
|
+
}
|
|
108
|
+
has(id) {
|
|
109
|
+
return this.registry.has(id);
|
|
110
|
+
}
|
|
111
|
+
capabilities() {
|
|
112
|
+
return this.registry.list();
|
|
113
|
+
}
|
|
114
|
+
async execute(id, input, options = {}) {
|
|
115
|
+
// Resolve capability
|
|
116
|
+
const resolution = this.resolve(id);
|
|
117
|
+
if (!resolution.found) {
|
|
118
|
+
const error = {
|
|
119
|
+
type: 'capability_not_found',
|
|
120
|
+
message: `Capability ${id} not found`,
|
|
121
|
+
capabilityId: id,
|
|
122
|
+
};
|
|
123
|
+
return executionErr(error);
|
|
124
|
+
}
|
|
125
|
+
const capability = resolution.capability;
|
|
126
|
+
// Validate input
|
|
127
|
+
const inputValidation = capability.contract.validateInput(input);
|
|
128
|
+
if (!inputValidation.success) {
|
|
129
|
+
const error = {
|
|
130
|
+
type: 'validation_error',
|
|
131
|
+
message: 'Input validation failed',
|
|
132
|
+
capabilityId: id,
|
|
133
|
+
cause: inputValidation.error,
|
|
134
|
+
};
|
|
135
|
+
return executionErr(error);
|
|
136
|
+
}
|
|
137
|
+
// Create execution context
|
|
138
|
+
const timeout = options.timeout ?? this.config.defaultTimeout;
|
|
139
|
+
const contextOptions = {
|
|
140
|
+
fabricId: this.id,
|
|
141
|
+
timeout,
|
|
142
|
+
invoker: async (capId, inp) => {
|
|
143
|
+
return this.execute(capId, inp, { timeout });
|
|
144
|
+
},
|
|
145
|
+
};
|
|
146
|
+
if (options.contextData) {
|
|
147
|
+
contextOptions.data = options.contextData;
|
|
148
|
+
}
|
|
149
|
+
const context = createExecutionContext(contextOptions);
|
|
150
|
+
// Emit execution started event
|
|
151
|
+
this.eventBus.emit(createFabricEvent('capability.invoked', {
|
|
152
|
+
source: { fabricId: this.id, capabilityId: id },
|
|
153
|
+
capabilityId: id,
|
|
154
|
+
traceId: context.traceId,
|
|
155
|
+
}));
|
|
156
|
+
const startTime = Date.now();
|
|
157
|
+
try {
|
|
158
|
+
// Execute with timeout
|
|
159
|
+
const result = await Promise.race([
|
|
160
|
+
capability.execute(inputValidation.data, context),
|
|
161
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error('Execution timeout')), timeout)),
|
|
162
|
+
]);
|
|
163
|
+
// Validate output
|
|
164
|
+
const outputValidation = capability.contract.validateOutput(result);
|
|
165
|
+
if (!outputValidation.success) {
|
|
166
|
+
const error = {
|
|
167
|
+
type: 'contract_violation',
|
|
168
|
+
message: 'Output validation failed',
|
|
169
|
+
capabilityId: id,
|
|
170
|
+
cause: outputValidation.error,
|
|
171
|
+
};
|
|
172
|
+
return executionErr(error);
|
|
173
|
+
}
|
|
174
|
+
const duration = Date.now() - startTime;
|
|
175
|
+
// Emit completion event
|
|
176
|
+
this.eventBus.emit(createFabricEvent('capability.completed', {
|
|
177
|
+
source: { fabricId: this.id, capabilityId: id },
|
|
178
|
+
capabilityId: id,
|
|
179
|
+
traceId: context.traceId,
|
|
180
|
+
duration,
|
|
181
|
+
}));
|
|
182
|
+
return executionOk(outputValidation.data);
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
186
|
+
const executionError = {
|
|
187
|
+
type: error instanceof Error && error.message === 'Execution timeout'
|
|
188
|
+
? 'timeout'
|
|
189
|
+
: 'execution_error',
|
|
190
|
+
message: errorMessage,
|
|
191
|
+
capabilityId: id,
|
|
192
|
+
cause: error,
|
|
193
|
+
};
|
|
194
|
+
// Emit failure event
|
|
195
|
+
this.eventBus.emit(createFabricEvent('capability.failed', {
|
|
196
|
+
source: { fabricId: this.id, capabilityId: id },
|
|
197
|
+
capabilityId: id,
|
|
198
|
+
traceId: context.traceId,
|
|
199
|
+
error: errorMessage,
|
|
200
|
+
}));
|
|
201
|
+
return executionErr(executionError);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
async start() {
|
|
205
|
+
this.transitionState('running');
|
|
206
|
+
this.eventBus.emit(createFabricEvent('fabric.started', {
|
|
207
|
+
source: { fabricId: this.id },
|
|
208
|
+
fabricId: this.id,
|
|
209
|
+
}));
|
|
210
|
+
}
|
|
211
|
+
async shutdown() {
|
|
212
|
+
this.transitionState('stopping');
|
|
213
|
+
// Wait for any pending operations (in a real implementation)
|
|
214
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
|
215
|
+
this.transitionState('stopped');
|
|
216
|
+
this.eventBus.emit(createFabricEvent('fabric.stopped', {
|
|
217
|
+
source: { fabricId: this.id },
|
|
218
|
+
fabricId: this.id,
|
|
219
|
+
reason: 'graceful_shutdown',
|
|
220
|
+
}));
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Get a snapshot of the fabric state
|
|
224
|
+
*/
|
|
225
|
+
getSnapshot() {
|
|
226
|
+
return {
|
|
227
|
+
id: this.id,
|
|
228
|
+
version: this.version,
|
|
229
|
+
state: this._state,
|
|
230
|
+
metadata: this.metadata,
|
|
231
|
+
capabilities: this.registry.list(),
|
|
232
|
+
timestamp: Date.now(),
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Get the event bus for subscribing to events
|
|
237
|
+
*/
|
|
238
|
+
getEventBus() {
|
|
239
|
+
return this.eventBus;
|
|
240
|
+
}
|
|
241
|
+
transitionState(newState) {
|
|
242
|
+
const validTransitions = VALID_TRANSITIONS[this._state];
|
|
243
|
+
if (!validTransitions.includes(newState)) {
|
|
244
|
+
throw new Error(`Invalid state transition from ${this._state} to ${newState}. Valid transitions: ${validTransitions.join(', ')}`);
|
|
245
|
+
}
|
|
246
|
+
this._state = newState;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
// ============================================================
|
|
250
|
+
// FACTORY FUNCTION
|
|
251
|
+
// ============================================================
|
|
252
|
+
/**
|
|
253
|
+
* Create a new Fabric instance
|
|
254
|
+
*/
|
|
255
|
+
export function createFabric(options) {
|
|
256
|
+
return new FabricKernel(options);
|
|
257
|
+
}
|
|
258
|
+
//# sourceMappingURL=kernel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Budget Enforcement
|
|
3
|
+
*
|
|
4
|
+
* Defines performance budgets based on web.dev recommendations
|
|
5
|
+
* and checks measured metrics against those budgets. Violations
|
|
6
|
+
* are reported with severity levels.
|
|
7
|
+
*
|
|
8
|
+
* @module @pwfabric/runtime/perf
|
|
9
|
+
*/
|
|
10
|
+
/** Performance budget thresholds */
|
|
11
|
+
export interface PerformanceBudget {
|
|
12
|
+
/** Max Largest Contentful Paint in ms */
|
|
13
|
+
readonly lcp?: number;
|
|
14
|
+
/** Max First Input Delay in ms */
|
|
15
|
+
readonly fid?: number;
|
|
16
|
+
/** Max Cumulative Layout Shift score */
|
|
17
|
+
readonly cls?: number;
|
|
18
|
+
/** Max First Contentful Paint in ms */
|
|
19
|
+
readonly fcp?: number;
|
|
20
|
+
/** Max Time to First Byte in ms */
|
|
21
|
+
readonly ttfb?: number;
|
|
22
|
+
/** Max bundle size in bytes */
|
|
23
|
+
readonly maxBundleSize?: number;
|
|
24
|
+
/** Max render time in ms */
|
|
25
|
+
readonly maxRenderTime?: number;
|
|
26
|
+
}
|
|
27
|
+
/** A single budget violation */
|
|
28
|
+
export interface BudgetViolation {
|
|
29
|
+
/** Metric that violated the budget */
|
|
30
|
+
readonly metric: string;
|
|
31
|
+
/** Budget threshold */
|
|
32
|
+
readonly budget: number;
|
|
33
|
+
/** Actual measured value */
|
|
34
|
+
readonly actual: number;
|
|
35
|
+
/** Severity: warning if within 20% over, error if more */
|
|
36
|
+
readonly severity: 'warning' | 'error';
|
|
37
|
+
}
|
|
38
|
+
/** Result of checking metrics against a budget */
|
|
39
|
+
export interface BudgetCheckResult {
|
|
40
|
+
/** Whether all metrics passed the budget */
|
|
41
|
+
readonly passed: boolean;
|
|
42
|
+
/** List of violations (empty if passed) */
|
|
43
|
+
readonly violations: readonly BudgetViolation[];
|
|
44
|
+
/** Timestamp when the check was performed */
|
|
45
|
+
readonly checkedAt: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Default performance budgets based on web.dev "good" thresholds.
|
|
49
|
+
*/
|
|
50
|
+
export declare const DEFAULT_BUDGET: Readonly<PerformanceBudget>;
|
|
51
|
+
/**
|
|
52
|
+
* Checks measured performance metrics against a budget.
|
|
53
|
+
*
|
|
54
|
+
* Uses default web.dev "good" thresholds unless overridden.
|
|
55
|
+
* Violations are classified as "warning" (within 20% over)
|
|
56
|
+
* or "error" (more than 20% over).
|
|
57
|
+
*/
|
|
58
|
+
export declare class BudgetChecker {
|
|
59
|
+
private budget;
|
|
60
|
+
/**
|
|
61
|
+
* @param budget - Custom budget thresholds (merged with defaults)
|
|
62
|
+
*/
|
|
63
|
+
constructor(budget?: PerformanceBudget);
|
|
64
|
+
/**
|
|
65
|
+
* Check a set of metrics against the current budget.
|
|
66
|
+
*
|
|
67
|
+
* @param metrics - Map of metric name to measured value
|
|
68
|
+
* @returns Check result with pass/fail and any violations
|
|
69
|
+
*/
|
|
70
|
+
check(metrics: Partial<Record<string, number>>): BudgetCheckResult;
|
|
71
|
+
/**
|
|
72
|
+
* Update the performance budget.
|
|
73
|
+
*
|
|
74
|
+
* Merges the provided values with the existing budget.
|
|
75
|
+
*
|
|
76
|
+
* @param budget - Partial budget to merge
|
|
77
|
+
*/
|
|
78
|
+
setBudget(budget: Partial<PerformanceBudget>): void;
|
|
79
|
+
/**
|
|
80
|
+
* Get the current performance budget.
|
|
81
|
+
*
|
|
82
|
+
* @returns Readonly copy of the budget
|
|
83
|
+
*/
|
|
84
|
+
getBudget(): Readonly<PerformanceBudget>;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Create a new BudgetChecker instance.
|
|
88
|
+
*
|
|
89
|
+
* @param budget - Optional custom budget thresholds
|
|
90
|
+
* @returns A new BudgetChecker
|
|
91
|
+
*/
|
|
92
|
+
export declare function createBudgetChecker(budget?: PerformanceBudget): BudgetChecker;
|
|
93
|
+
//# sourceMappingURL=budget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../src/perf/budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,oCAAoC;AACpC,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,kCAAkC;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,wCAAwC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,uCAAuC;IACvC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,mCAAmC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,+BAA+B;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,4BAA4B;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,uBAAuB;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAA;CACvC;AAED,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAA;IAC/C,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAMD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,iBAAiB,CAO7C,CAAA;AA2BV;;;;;;GAMG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAmB;IAEjC;;OAEG;gBACS,MAAM,CAAC,EAAE,iBAAiB;IAItC;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,iBAAiB;IAkClE;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAInD;;;;OAIG;IACH,SAAS,IAAI,QAAQ,CAAC,iBAAiB,CAAC;CAGzC;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,aAAa,CAE7E"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Budget Enforcement
|
|
3
|
+
*
|
|
4
|
+
* Defines performance budgets based on web.dev recommendations
|
|
5
|
+
* and checks measured metrics against those budgets. Violations
|
|
6
|
+
* are reported with severity levels.
|
|
7
|
+
*
|
|
8
|
+
* @module @pwfabric/runtime/perf
|
|
9
|
+
*/
|
|
10
|
+
// ============================================================
|
|
11
|
+
// DEFAULT BUDGET
|
|
12
|
+
// ============================================================
|
|
13
|
+
/**
|
|
14
|
+
* Default performance budgets based on web.dev "good" thresholds.
|
|
15
|
+
*/
|
|
16
|
+
export const DEFAULT_BUDGET = {
|
|
17
|
+
lcp: 2500,
|
|
18
|
+
fid: 100,
|
|
19
|
+
cls: 0.1,
|
|
20
|
+
fcp: 1800,
|
|
21
|
+
ttfb: 800,
|
|
22
|
+
maxRenderTime: 100,
|
|
23
|
+
};
|
|
24
|
+
// ============================================================
|
|
25
|
+
// BUDGET CHECKER
|
|
26
|
+
// ============================================================
|
|
27
|
+
/**
|
|
28
|
+
* Multiplier above the budget threshold that escalates a
|
|
29
|
+
* violation from "warning" to "error". A value 20% over
|
|
30
|
+
* budget is a warning; more than 20% over is an error.
|
|
31
|
+
*/
|
|
32
|
+
const ERROR_MULTIPLIER = 1.2;
|
|
33
|
+
/** Mapping from budget keys to the metric keys used in check() */
|
|
34
|
+
const BUDGET_METRIC_MAP = new Map([
|
|
35
|
+
['lcp', 'lcp'],
|
|
36
|
+
['fid', 'fid'],
|
|
37
|
+
['cls', 'cls'],
|
|
38
|
+
['fcp', 'fcp'],
|
|
39
|
+
['ttfb', 'ttfb'],
|
|
40
|
+
['maxBundleSize', 'maxBundleSize'],
|
|
41
|
+
['maxRenderTime', 'maxRenderTime'],
|
|
42
|
+
]);
|
|
43
|
+
/**
|
|
44
|
+
* Checks measured performance metrics against a budget.
|
|
45
|
+
*
|
|
46
|
+
* Uses default web.dev "good" thresholds unless overridden.
|
|
47
|
+
* Violations are classified as "warning" (within 20% over)
|
|
48
|
+
* or "error" (more than 20% over).
|
|
49
|
+
*/
|
|
50
|
+
export class BudgetChecker {
|
|
51
|
+
budget;
|
|
52
|
+
/**
|
|
53
|
+
* @param budget - Custom budget thresholds (merged with defaults)
|
|
54
|
+
*/
|
|
55
|
+
constructor(budget) {
|
|
56
|
+
this.budget = budget ? { ...DEFAULT_BUDGET, ...budget } : { ...DEFAULT_BUDGET };
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Check a set of metrics against the current budget.
|
|
60
|
+
*
|
|
61
|
+
* @param metrics - Map of metric name to measured value
|
|
62
|
+
* @returns Check result with pass/fail and any violations
|
|
63
|
+
*/
|
|
64
|
+
check(metrics) {
|
|
65
|
+
const violations = [];
|
|
66
|
+
for (const [budgetKey, metricKey] of BUDGET_METRIC_MAP) {
|
|
67
|
+
const threshold = this.budget[budgetKey];
|
|
68
|
+
if (threshold === undefined) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const actual = metrics[metricKey];
|
|
72
|
+
if (actual === undefined) {
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
if (actual > threshold) {
|
|
76
|
+
const severity = actual > threshold * ERROR_MULTIPLIER ? 'error' : 'warning';
|
|
77
|
+
violations.push({
|
|
78
|
+
metric: metricKey,
|
|
79
|
+
budget: threshold,
|
|
80
|
+
actual,
|
|
81
|
+
severity,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
passed: violations.length === 0,
|
|
87
|
+
violations,
|
|
88
|
+
checkedAt: Date.now(),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Update the performance budget.
|
|
93
|
+
*
|
|
94
|
+
* Merges the provided values with the existing budget.
|
|
95
|
+
*
|
|
96
|
+
* @param budget - Partial budget to merge
|
|
97
|
+
*/
|
|
98
|
+
setBudget(budget) {
|
|
99
|
+
this.budget = { ...this.budget, ...budget };
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get the current performance budget.
|
|
103
|
+
*
|
|
104
|
+
* @returns Readonly copy of the budget
|
|
105
|
+
*/
|
|
106
|
+
getBudget() {
|
|
107
|
+
return { ...this.budget };
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// ============================================================
|
|
111
|
+
// FACTORY
|
|
112
|
+
// ============================================================
|
|
113
|
+
/**
|
|
114
|
+
* Create a new BudgetChecker instance.
|
|
115
|
+
*
|
|
116
|
+
* @param budget - Optional custom budget thresholds
|
|
117
|
+
* @returns A new BudgetChecker
|
|
118
|
+
*/
|
|
119
|
+
export function createBudgetChecker(budget) {
|
|
120
|
+
return new BudgetChecker(budget);
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/perf/budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA8CH,+DAA+D;AAC/D,iBAAiB;AACjB,+DAA+D;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgC;IACzD,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,GAAG;IACT,aAAa,EAAE,GAAG;CACV,CAAA;AAEV,+DAA+D;AAC/D,iBAAiB;AACjB,+DAA+D;AAE/D;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAE5B,kEAAkE;AAClE,MAAM,iBAAiB,GAAiD,IAAI,GAAG,CAG7E;IACA,CAAC,KAAK,EAAE,KAAK,CAAC;IACd,CAAC,KAAK,EAAE,KAAK,CAAC;IACd,CAAC,KAAK,EAAE,KAAK,CAAC;IACd,CAAC,KAAK,EAAE,KAAK,CAAC;IACd,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,eAAe,EAAE,eAAe,CAAC;IAClC,CAAC,eAAe,EAAE,eAAe,CAAC;CACnC,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAmB;IAEjC;;OAEG;IACH,YAAY,MAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IACjF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAwC;QAC5C,MAAM,UAAU,GAAsB,EAAE,CAAA;QAExC,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YACxC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,SAAQ;YACV,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;YACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,SAAQ;YACV,CAAC;YAED,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;gBACvB,MAAM,QAAQ,GACZ,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;gBAE7D,UAAU,CAAC,IAAI,CAAC;oBACd,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,SAAS;oBACjB,MAAM;oBACN,QAAQ;iBACT,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC;YAC/B,UAAU;YACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,MAAkC;QAC1C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;IAC7C,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAC3B,CAAC;CACF;AAED,+DAA+D;AAC/D,UAAU;AACV,+DAA+D;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAA0B;IAC5D,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;AAClC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Monitoring Module
|
|
3
|
+
*
|
|
4
|
+
* Provides Core Web Vitals collection, surface render timing,
|
|
5
|
+
* performance budget enforcement, and unified reporting.
|
|
6
|
+
*
|
|
7
|
+
* @module @pwfabric/runtime/perf
|
|
8
|
+
*/
|
|
9
|
+
export type { WebVitalName, WebVitalRating, WebVitalMetric, WebVitalCallback, WebVitalsReport, } from './web-vitals.js';
|
|
10
|
+
export { WebVitalsCollector, createWebVitalsCollector, rateMetric } from './web-vitals.js';
|
|
11
|
+
export type { RenderMetrics, RenderTimerConfig } from './render-timer.js';
|
|
12
|
+
export { RenderTimer, createRenderTimer } from './render-timer.js';
|
|
13
|
+
export type { PerformanceBudget, BudgetViolation, BudgetCheckResult } from './budget.js';
|
|
14
|
+
export { DEFAULT_BUDGET, BudgetChecker, createBudgetChecker } from './budget.js';
|
|
15
|
+
export type { ReportDestination, ReporterConfig, PerformanceReport } from './reporter.js';
|
|
16
|
+
export { PerformanceReporter, createPerformanceReporter } from './reporter.js';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/perf/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,YAAY,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG1F,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGlE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACxF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGhF,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACzF,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Monitoring Module
|
|
3
|
+
*
|
|
4
|
+
* Provides Core Web Vitals collection, surface render timing,
|
|
5
|
+
* performance budget enforcement, and unified reporting.
|
|
6
|
+
*
|
|
7
|
+
* @module @pwfabric/runtime/perf
|
|
8
|
+
*/
|
|
9
|
+
export { WebVitalsCollector, createWebVitalsCollector, rateMetric } from './web-vitals.js';
|
|
10
|
+
export { RenderTimer, createRenderTimer } from './render-timer.js';
|
|
11
|
+
export { DEFAULT_BUDGET, BudgetChecker, createBudgetChecker } from './budget.js';
|
|
12
|
+
export { PerformanceReporter, createPerformanceReporter } from './reporter.js';
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/perf/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAI1F,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAIlE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAIhF,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA"}
|