@noego/wood 0.4.9 → 0.5.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/README.md +118 -42
- package/bin/axe.js +313 -98
- package/dist/{loader/__fixtures__/layouts/app.load.cjs → automation/actions.cjs} +3 -13
- package/dist/automation/actions.cjs.map +1 -0
- package/dist/automation/actions.d.cts +57 -0
- package/dist/automation/actions.d.ts +57 -0
- package/dist/automation/actions.js +1 -0
- package/dist/automation/actions.js.map +1 -0
- package/dist/automation/actions_executor.cjs +101 -0
- package/dist/automation/actions_executor.cjs.map +1 -0
- package/dist/automation/actions_executor.d.cts +16 -0
- package/dist/automation/actions_executor.d.ts +16 -0
- package/dist/automation/actions_executor.js +76 -0
- package/dist/automation/actions_executor.js.map +1 -0
- package/dist/automation/connection.cjs +86 -0
- package/dist/automation/connection.cjs.map +1 -0
- package/dist/automation/connection.d.cts +18 -0
- package/dist/automation/connection.d.ts +18 -0
- package/dist/automation/connection.js +51 -0
- package/dist/automation/connection.js.map +1 -0
- package/dist/{middleware/__fixtures__/middleware/sequence.cjs → automation/errors.cjs} +25 -22
- package/dist/automation/errors.cjs.map +1 -0
- package/dist/automation/errors.d.cts +31 -0
- package/dist/automation/errors.d.ts +31 -0
- package/dist/automation/errors.js +24 -0
- package/dist/automation/errors.js.map +1 -0
- package/dist/automation/index.cjs +49 -0
- package/dist/automation/index.cjs.map +1 -0
- package/dist/automation/index.d.cts +16 -0
- package/dist/automation/index.d.ts +16 -0
- package/dist/automation/index.js +15 -0
- package/dist/automation/index.js.map +1 -0
- package/dist/automation/introspection_reader.cjs +75 -0
- package/dist/automation/introspection_reader.cjs.map +1 -0
- package/dist/automation/introspection_reader.d.cts +20 -0
- package/dist/automation/introspection_reader.d.ts +20 -0
- package/dist/automation/introspection_reader.js +48 -0
- package/dist/automation/introspection_reader.js.map +1 -0
- package/dist/automation/locator.cjs +102 -0
- package/dist/automation/locator.cjs.map +1 -0
- package/dist/automation/locator.d.cts +51 -0
- package/dist/automation/locator.d.ts +51 -0
- package/dist/automation/locator.js +75 -0
- package/dist/automation/locator.js.map +1 -0
- package/dist/{loader/__fixtures__/views/test/page.load.cjs → automation/observation.cjs} +3 -13
- package/dist/automation/observation.cjs.map +1 -0
- package/dist/automation/observation.d.cts +44 -0
- package/dist/automation/observation.d.ts +44 -0
- package/dist/automation/observation.js +1 -0
- package/dist/automation/observation.js.map +1 -0
- package/dist/{controller/__fixtures__/controllers/test.cjs → automation/receipts.cjs} +3 -15
- package/dist/automation/receipts.cjs.map +1 -0
- package/dist/automation/receipts.d.cts +27 -0
- package/dist/automation/receipts.d.ts +27 -0
- package/dist/automation/receipts.js +1 -0
- package/dist/automation/receipts.js.map +1 -0
- package/dist/automation/scenario.cjs +696 -0
- package/dist/automation/scenario.cjs.map +1 -0
- package/dist/automation/scenario.d.cts +89 -0
- package/dist/automation/scenario.d.ts +89 -0
- package/dist/automation/scenario.js +660 -0
- package/dist/automation/scenario.js.map +1 -0
- package/dist/automation/scrolling.cjs +17 -0
- package/dist/automation/scrolling.cjs.map +1 -0
- package/dist/automation/scrolling.d.cts +51 -0
- package/dist/automation/scrolling.d.ts +51 -0
- package/dist/automation/scrolling.js +1 -0
- package/dist/automation/scrolling.js.map +1 -0
- package/dist/automation/scrolling_executor.cjs +109 -0
- package/dist/automation/scrolling_executor.cjs.map +1 -0
- package/dist/automation/scrolling_executor.d.cts +13 -0
- package/dist/automation/scrolling_executor.d.ts +13 -0
- package/dist/automation/scrolling_executor.js +84 -0
- package/dist/automation/scrolling_executor.js.map +1 -0
- package/dist/automation/target_identity.cjs +17 -0
- package/dist/automation/target_identity.cjs.map +1 -0
- package/dist/automation/target_identity.d.cts +28 -0
- package/dist/automation/target_identity.d.ts +28 -0
- package/dist/automation/target_identity.js +1 -0
- package/dist/automation/target_identity.js.map +1 -0
- package/dist/automation/target_registry.cjs +148 -0
- package/dist/automation/target_registry.cjs.map +1 -0
- package/dist/automation/target_registry.d.cts +32 -0
- package/dist/automation/target_registry.d.ts +32 -0
- package/dist/automation/target_registry.js +122 -0
- package/dist/automation/target_registry.js.map +1 -0
- package/dist/automation/waits.cjs +17 -0
- package/dist/automation/waits.cjs.map +1 -0
- package/dist/automation/waits.d.cts +44 -0
- package/dist/automation/waits.d.ts +44 -0
- package/dist/automation/waits.js +1 -0
- package/dist/automation/waits.js.map +1 -0
- package/dist/automation/waits_executor.cjs +104 -0
- package/dist/automation/waits_executor.cjs.map +1 -0
- package/dist/automation/waits_executor.d.cts +14 -0
- package/dist/automation/waits_executor.d.ts +14 -0
- package/dist/automation/waits_executor.js +79 -0
- package/dist/automation/waits_executor.js.map +1 -0
- package/dist/bridge/backend_bridge.cjs.map +1 -1
- package/dist/bridge/backend_bridge.js.map +1 -1
- package/dist/client/index.cjs +78 -21
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.d.cts +19 -3
- package/dist/client/index.d.ts +19 -3
- package/dist/client/index.js +80 -22
- package/dist/client/index.js.map +1 -1
- package/dist/client/renderer_log_transport.cjs +151 -0
- package/dist/client/renderer_log_transport.cjs.map +1 -0
- package/dist/client/renderer_log_transport.d.cts +54 -0
- package/dist/client/renderer_log_transport.d.ts +54 -0
- package/dist/client/renderer_log_transport.js +123 -0
- package/dist/client/renderer_log_transport.js.map +1 -0
- package/dist/codegen/controller_registration_generator.cjs +13 -2
- package/dist/codegen/controller_registration_generator.cjs.map +1 -1
- package/dist/codegen/controller_registration_generator.d.cts +12 -1
- package/dist/codegen/controller_registration_generator.d.ts +12 -1
- package/dist/codegen/controller_registration_generator.js +10 -1
- package/dist/codegen/controller_registration_generator.js.map +1 -1
- package/dist/codegen/index.d.cts +1 -0
- package/dist/codegen/index.d.ts +1 -0
- package/dist/codegen/preload_generator.cjs +13 -6
- package/dist/codegen/preload_generator.cjs.map +1 -1
- package/dist/codegen/preload_generator.d.cts +11 -2
- package/dist/codegen/preload_generator.d.ts +11 -2
- package/dist/codegen/preload_generator.js +13 -6
- package/dist/codegen/preload_generator.js.map +1 -1
- package/dist/codegen/renderer_app_generator.cjs +95 -44
- package/dist/codegen/renderer_app_generator.cjs.map +1 -1
- package/dist/codegen/renderer_app_generator.js +95 -44
- package/dist/codegen/renderer_app_generator.js.map +1 -1
- package/dist/codegen/type_generator.cjs +1 -0
- package/dist/codegen/type_generator.cjs.map +1 -1
- package/dist/codegen/type_generator.js +1 -0
- package/dist/codegen/type_generator.js.map +1 -1
- package/dist/config/config_parser.cjs +95 -4
- package/dist/config/config_parser.cjs.map +1 -1
- package/dist/config/config_parser.d.cts +10 -2
- package/dist/config/config_parser.d.ts +10 -2
- package/dist/config/config_parser.js +92 -3
- package/dist/config/config_parser.js.map +1 -1
- package/dist/config/index.cjs +6 -2
- package/dist/config/index.cjs.map +1 -1
- package/dist/config/index.d.cts +2 -2
- package/dist/config/index.d.ts +2 -2
- package/dist/config/index.js +8 -2
- package/dist/config/index.js.map +1 -1
- package/dist/controller/controller_resolver.cjs +51 -3
- package/dist/controller/controller_resolver.cjs.map +1 -1
- package/dist/controller/controller_resolver.d.cts +27 -4
- package/dist/controller/controller_resolver.d.ts +27 -4
- package/dist/controller/controller_resolver.js +48 -2
- package/dist/controller/controller_resolver.js.map +1 -1
- package/dist/controller/index.cjs +6 -2
- package/dist/controller/index.cjs.map +1 -1
- package/dist/controller/index.d.cts +1 -1
- package/dist/controller/index.d.ts +1 -1
- package/dist/controller/index.js +4 -2
- package/dist/controller/index.js.map +1 -1
- package/dist/dev/wood_dev_server.cjs +4 -1
- package/dist/dev/wood_dev_server.cjs.map +1 -1
- package/dist/dev/wood_dev_server.js +5 -2
- package/dist/dev/wood_dev_server.js.map +1 -1
- package/dist/dev/yaml_watcher.cjs +1 -1
- package/dist/dev/yaml_watcher.cjs.map +1 -1
- package/dist/dev/yaml_watcher.d.cts +4 -0
- package/dist/dev/yaml_watcher.d.ts +4 -0
- package/dist/dev/yaml_watcher.js +1 -1
- package/dist/dev/yaml_watcher.js.map +1 -1
- package/dist/frontend/frontend_lifecycle.cjs +74 -0
- package/dist/frontend/frontend_lifecycle.cjs.map +1 -0
- package/dist/frontend/frontend_lifecycle.d.cts +50 -0
- package/dist/frontend/frontend_lifecycle.d.ts +50 -0
- package/dist/frontend/frontend_lifecycle.js +50 -0
- package/dist/frontend/frontend_lifecycle.js.map +1 -0
- package/dist/frontend/frontend_page.cjs +122 -0
- package/dist/frontend/frontend_page.cjs.map +1 -0
- package/dist/frontend/frontend_page.d.cts +62 -0
- package/dist/frontend/frontend_page.d.ts +62 -0
- package/dist/frontend/frontend_page.js +98 -0
- package/dist/frontend/frontend_page.js.map +1 -0
- package/dist/frontend/frontend_surface.cjs +249 -0
- package/dist/frontend/frontend_surface.cjs.map +1 -0
- package/dist/frontend/frontend_surface.d.cts +64 -0
- package/dist/frontend/frontend_surface.d.ts +64 -0
- package/dist/frontend/frontend_surface.js +224 -0
- package/dist/frontend/frontend_surface.js.map +1 -0
- package/dist/frontend/index.cjs +52 -0
- package/dist/frontend/index.cjs.map +1 -0
- package/dist/frontend/index.d.cts +10 -0
- package/dist/frontend/index.d.ts +10 -0
- package/dist/frontend/index.js +19 -0
- package/dist/frontend/index.js.map +1 -0
- package/dist/frontend/page_catalog.cjs +135 -0
- package/dist/frontend/page_catalog.cjs.map +1 -0
- package/dist/frontend/page_catalog.d.cts +56 -0
- package/dist/frontend/page_catalog.d.ts +56 -0
- package/dist/frontend/page_catalog.js +108 -0
- package/dist/frontend/page_catalog.js.map +1 -0
- package/dist/frontend/tracked_transport.cjs +55 -0
- package/dist/frontend/tracked_transport.cjs.map +1 -0
- package/dist/frontend/tracked_transport.d.cts +36 -0
- package/dist/frontend/tracked_transport.d.ts +36 -0
- package/dist/frontend/tracked_transport.js +31 -0
- package/dist/frontend/tracked_transport.js.map +1 -0
- package/dist/frontend/work_registry.cjs +153 -0
- package/dist/frontend/work_registry.cjs.map +1 -0
- package/dist/frontend/work_registry.d.cts +70 -0
- package/dist/frontend/work_registry.d.ts +70 -0
- package/dist/frontend/work_registry.js +128 -0
- package/dist/frontend/work_registry.js.map +1 -0
- package/dist/index.cjs +24 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -7
- package/dist/index.d.ts +11 -7
- package/dist/index.js +27 -4
- package/dist/index.js.map +1 -1
- package/dist/main/index.cjs +10 -0
- package/dist/main/index.cjs.map +1 -1
- package/dist/main/index.d.cts +14 -2
- package/dist/main/index.d.ts +14 -2
- package/dist/main/index.js +16 -0
- package/dist/main/index.js.map +1 -1
- package/dist/middleware/middleware_resolver.cjs +22 -1
- package/dist/middleware/middleware_resolver.cjs.map +1 -1
- package/dist/middleware/middleware_resolver.d.cts +13 -1
- package/dist/middleware/middleware_resolver.d.ts +13 -1
- package/dist/middleware/middleware_resolver.js +22 -1
- package/dist/middleware/middleware_resolver.js.map +1 -1
- package/dist/navigation/automation_introspection.cjs +110 -0
- package/dist/navigation/automation_introspection.cjs.map +1 -0
- package/dist/navigation/automation_introspection.d.cts +60 -0
- package/dist/navigation/automation_introspection.d.ts +60 -0
- package/dist/navigation/automation_introspection.js +85 -0
- package/dist/navigation/automation_introspection.js.map +1 -0
- package/dist/navigation/index.cjs +10 -2
- package/dist/navigation/index.cjs.map +1 -1
- package/dist/navigation/index.d.cts +27 -1
- package/dist/navigation/index.d.ts +27 -1
- package/dist/navigation/index.js +6 -1
- package/dist/navigation/index.js.map +1 -1
- package/dist/{middleware/__fixtures__/middleware/auth.cjs → navigation/layout_preservation.cjs} +18 -20
- package/dist/navigation/layout_preservation.cjs.map +1 -0
- package/dist/navigation/layout_preservation.d.cts +2 -0
- package/dist/navigation/layout_preservation.d.ts +2 -0
- package/dist/navigation/layout_preservation.js +18 -0
- package/dist/navigation/layout_preservation.js.map +1 -0
- package/dist/parser/index.cjs +2 -0
- package/dist/parser/index.cjs.map +1 -1
- package/dist/parser/index.d.cts +1 -1
- package/dist/parser/index.d.ts +1 -1
- package/dist/parser/index.js +2 -1
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/operations_parser.cjs +6 -0
- package/dist/parser/operations_parser.cjs.map +1 -1
- package/dist/parser/operations_parser.d.cts +9 -2
- package/dist/parser/operations_parser.d.ts +9 -2
- package/dist/parser/operations_parser.js +5 -0
- package/dist/parser/operations_parser.js.map +1 -1
- package/dist/parser/views_parser.cjs.map +1 -1
- package/dist/parser/views_parser.js.map +1 -1
- package/dist/router/index.d.cts +1 -0
- package/dist/router/index.d.ts +1 -0
- package/dist/router/wood_router.cjs +35 -3
- package/dist/router/wood_router.cjs.map +1 -1
- package/dist/router/wood_router.d.cts +15 -0
- package/dist/router/wood_router.d.ts +15 -0
- package/dist/router/wood_router.js +36 -4
- package/dist/router/wood_router.js.map +1 -1
- package/dist/runtime/get_container.cjs +9 -34
- package/dist/runtime/get_container.cjs.map +1 -1
- package/dist/runtime/get_container.d.cts +24 -4
- package/dist/runtime/get_container.d.ts +24 -4
- package/dist/runtime/get_container.js +8 -23
- package/dist/runtime/get_container.js.map +1 -1
- package/dist/runtime/index.cjs +9 -0
- package/dist/runtime/index.cjs.map +1 -1
- package/dist/runtime/index.d.cts +5 -2
- package/dist/runtime/index.d.ts +5 -2
- package/dist/runtime/index.js +10 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/renderer_config_extension.cjs +50 -0
- package/dist/runtime/renderer_config_extension.cjs.map +1 -0
- package/dist/runtime/renderer_config_extension.d.cts +19 -0
- package/dist/runtime/renderer_config_extension.d.ts +19 -0
- package/dist/runtime/renderer_config_extension.js +24 -0
- package/dist/runtime/renderer_config_extension.js.map +1 -0
- package/dist/runtime/renderer_log_batch_receiver.cjs +73 -0
- package/dist/runtime/renderer_log_batch_receiver.cjs.map +1 -0
- package/dist/runtime/renderer_log_batch_receiver.d.cts +29 -0
- package/dist/runtime/renderer_log_batch_receiver.d.ts +29 -0
- package/dist/runtime/renderer_log_batch_receiver.js +48 -0
- package/dist/runtime/renderer_log_batch_receiver.js.map +1 -0
- package/dist/runtime/renderer_trace_batch_receiver_registry.d.cts +1 -1
- package/dist/runtime/renderer_trace_batch_receiver_registry.d.ts +1 -1
- package/dist/runtime/runtime.cjs +14 -0
- package/dist/runtime/runtime.cjs.map +1 -1
- package/dist/runtime/runtime.d.cts +2 -1
- package/dist/runtime/runtime.d.ts +2 -1
- package/dist/runtime/runtime.js +14 -0
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/stick/index.cjs.map +1 -1
- package/dist/stick/index.js.map +1 -1
- package/dist/testing/automation_assertions.cjs +417 -0
- package/dist/testing/automation_assertions.cjs.map +1 -0
- package/dist/testing/automation_assertions.d.cts +44 -0
- package/dist/testing/automation_assertions.d.ts +44 -0
- package/dist/testing/automation_assertions.js +385 -0
- package/dist/testing/automation_assertions.js.map +1 -0
- package/dist/testing/browser.cjs +130 -57
- package/dist/testing/browser.cjs.map +1 -1
- package/dist/testing/browser.d.cts +10 -4
- package/dist/testing/browser.d.ts +10 -4
- package/dist/testing/browser.js +132 -53
- package/dist/testing/browser.js.map +1 -1
- package/dist/testing/create_controller_harness.cjs +28 -8
- package/dist/testing/create_controller_harness.cjs.map +1 -1
- package/dist/testing/create_controller_harness.d.cts +18 -2
- package/dist/testing/create_controller_harness.d.ts +18 -2
- package/dist/testing/create_controller_harness.js +28 -8
- package/dist/testing/create_controller_harness.js.map +1 -1
- package/dist/testing/create_router_bridge.d.cts +1 -0
- package/dist/testing/create_router_bridge.d.ts +1 -0
- package/dist/testing/create_test_router.d.cts +1 -0
- package/dist/testing/create_test_router.d.ts +1 -0
- package/dist/testing/geometry.cjs +109 -0
- package/dist/testing/geometry.cjs.map +1 -0
- package/dist/testing/geometry.d.cts +45 -0
- package/dist/testing/geometry.d.ts +45 -0
- package/dist/testing/geometry.js +79 -0
- package/dist/testing/geometry.js.map +1 -0
- package/dist/testing/index.cjs +62 -2
- package/dist/testing/index.cjs.map +1 -1
- package/dist/testing/index.d.cts +23 -4
- package/dist/testing/index.d.ts +23 -4
- package/dist/testing/index.js +50 -2
- package/dist/testing/index.js.map +1 -1
- package/dist/{controller/__fixtures__/controllers/not_a_class.cjs → testing/test_wood.cjs} +15 -7
- package/dist/testing/test_wood.cjs.map +1 -0
- package/dist/testing/test_wood.d.cts +16 -0
- package/dist/testing/test_wood.d.ts +16 -0
- package/dist/testing/test_wood.js +12 -0
- package/dist/testing/test_wood.js.map +1 -0
- package/dist/testing/test_wood_config.cjs +272 -0
- package/dist/testing/test_wood_config.cjs.map +1 -0
- package/dist/testing/test_wood_config.d.cts +111 -0
- package/dist/testing/test_wood_config.d.ts +111 -0
- package/dist/testing/test_wood_config.js +247 -0
- package/dist/testing/test_wood_config.js.map +1 -0
- package/dist/testing/wood_config_source.cjs +146 -0
- package/dist/testing/wood_config_source.cjs.map +1 -0
- package/dist/testing/wood_config_source.d.cts +36 -0
- package/dist/testing/wood_config_source.d.ts +36 -0
- package/dist/testing/wood_config_source.js +112 -0
- package/dist/testing/wood_config_source.js.map +1 -0
- package/dist/testing/wood_env_renderer.cjs +210 -0
- package/dist/testing/wood_env_renderer.cjs.map +1 -0
- package/dist/testing/wood_env_renderer.d.cts +74 -0
- package/dist/testing/wood_env_renderer.d.ts +74 -0
- package/dist/testing/wood_env_renderer.js +188 -0
- package/dist/testing/wood_env_renderer.js.map +1 -0
- package/dist/testing/wood_test_selection.cjs +94 -0
- package/dist/testing/wood_test_selection.cjs.map +1 -0
- package/dist/testing/wood_test_selection.d.cts +39 -0
- package/dist/testing/wood_test_selection.d.ts +39 -0
- package/dist/testing/wood_test_selection.js +68 -0
- package/dist/testing/wood_test_selection.js.map +1 -0
- package/dist/trace-testing/index.d.cts +1 -2
- package/dist/trace-testing/index.d.ts +1 -2
- package/dist/trace-testing/trace_recorder.cjs +1 -1
- package/dist/trace-testing/trace_recorder.cjs.map +1 -1
- package/dist/trace-testing/trace_recorder.d.cts +1 -2
- package/dist/trace-testing/trace_recorder.d.ts +1 -2
- package/dist/trace-testing/trace_recorder.js +1 -1
- package/dist/trace-testing/trace_recorder.js.map +1 -1
- package/dist/trace-transport/index.d.cts +1 -1
- package/dist/trace-transport/index.d.ts +1 -1
- package/dist/{trace_hub-Cob54qRx.d.cts → trace_hub-Cpo_nVze.d.cts} +21 -1
- package/dist/{trace_hub-Cob54qRx.d.ts → trace_hub-Cpo_nVze.d.ts} +21 -1
- package/dist/tracing/index.cjs +9 -2
- package/dist/tracing/index.cjs.map +1 -1
- package/dist/tracing/index.d.cts +3 -2
- package/dist/tracing/index.d.ts +3 -2
- package/dist/tracing/index.js +7 -1
- package/dist/tracing/index.js.map +1 -1
- package/dist/tracing/renderer_trace_batch_host.d.cts +1 -1
- package/dist/tracing/renderer_trace_batch_host.d.ts +1 -1
- package/dist/tracing/renderer_trace_batch_transport.cjs +48 -6
- package/dist/tracing/renderer_trace_batch_transport.cjs.map +1 -1
- package/dist/tracing/renderer_trace_batch_transport.d.cts +17 -1
- package/dist/tracing/renderer_trace_batch_transport.d.ts +17 -1
- package/dist/tracing/renderer_trace_batch_transport.js +48 -6
- package/dist/tracing/renderer_trace_batch_transport.js.map +1 -1
- package/dist/tracing/trace_batch_adapter.cjs +110 -0
- package/dist/tracing/trace_batch_adapter.cjs.map +1 -0
- package/dist/tracing/trace_batch_adapter.d.cts +36 -0
- package/dist/tracing/trace_batch_adapter.d.ts +36 -0
- package/dist/tracing/trace_batch_adapter.js +86 -0
- package/dist/tracing/trace_batch_adapter.js.map +1 -0
- package/dist/tracing/trace_commit_writer.d.cts +1 -1
- package/dist/tracing/trace_commit_writer.d.ts +1 -1
- package/dist/tracing/trace_hub.cjs +87 -20
- package/dist/tracing/trace_hub.cjs.map +1 -1
- package/dist/tracing/trace_hub.d.cts +1 -1
- package/dist/tracing/trace_hub.d.ts +1 -1
- package/dist/tracing/trace_hub.js +85 -20
- package/dist/tracing/trace_hub.js.map +1 -1
- package/dist/tracing/trace_provider.cjs +21 -6
- package/dist/tracing/trace_provider.cjs.map +1 -1
- package/dist/tracing/trace_provider.d.cts +13 -4
- package/dist/tracing/trace_provider.d.ts +13 -4
- package/dist/tracing/trace_provider.js +22 -7
- package/dist/tracing/trace_provider.js.map +1 -1
- package/dist/tracing/types/wood_trace_batch.types.cjs.map +1 -1
- package/dist/tracing/types/wood_trace_batch.types.d.cts +15 -1
- package/dist/tracing/types/wood_trace_batch.types.d.ts +15 -1
- package/dist/tracing/types/wood_trace_sink.types.d.cts +1 -1
- package/dist/tracing/types/wood_trace_sink.types.d.ts +1 -1
- package/dist/tracing/wood_trace_batch_contract.cjs +2 -0
- package/dist/tracing/wood_trace_batch_contract.cjs.map +1 -1
- package/dist/tracing/wood_trace_batch_contract.d.cts +1 -1
- package/dist/tracing/wood_trace_batch_contract.d.ts +1 -1
- package/dist/tracing/wood_trace_batch_contract.js +2 -0
- package/dist/tracing/wood_trace_batch_contract.js.map +1 -1
- package/dist/transport/build_transport_bridge.cjs +4 -2
- package/dist/transport/build_transport_bridge.cjs.map +1 -1
- package/dist/transport/build_transport_bridge.d.cts +7 -1
- package/dist/transport/build_transport_bridge.d.ts +7 -1
- package/dist/transport/build_transport_bridge.js +2 -1
- package/dist/transport/build_transport_bridge.js.map +1 -1
- package/dist/transport/in_process_router_transport.d.cts +1 -0
- package/dist/transport/in_process_router_transport.d.ts +1 -0
- package/dist/transport/index.d.cts +1 -0
- package/dist/transport/index.d.ts +1 -0
- package/dist/types/config.cjs.map +1 -1
- package/dist/types/config.d.cts +47 -1
- package/dist/types/config.d.ts +47 -1
- package/dist/types/context.cjs +12 -0
- package/dist/types/context.cjs.map +1 -1
- package/dist/types/context.d.cts +27 -1
- package/dist/types/context.d.ts +27 -1
- package/dist/types/context.js +4 -0
- package/dist/types/context.js.map +1 -1
- package/dist/types/index.d.cts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/operations.cjs.map +1 -1
- package/dist/types/operations.d.cts +2 -0
- package/dist/types/operations.d.ts +2 -0
- package/docs/axe.md +706 -0
- package/package.json +19 -5
- package/src/components/NavigationShell.scopes.browser.test.ts +363 -0
- package/src/components/NavigationShell.svelte +126 -49
- package/dist/controller/__fixtures__/controllers/chat.cjs +0 -32
- package/dist/controller/__fixtures__/controllers/chat.cjs.map +0 -1
- package/dist/controller/__fixtures__/controllers/chat.d.cts +0 -11
- package/dist/controller/__fixtures__/controllers/chat.d.ts +0 -11
- package/dist/controller/__fixtures__/controllers/chat.js +0 -12
- package/dist/controller/__fixtures__/controllers/chat.js.map +0 -1
- package/dist/controller/__fixtures__/controllers/not_a_class.cjs.map +0 -1
- package/dist/controller/__fixtures__/controllers/not_a_class.d.cts +0 -3
- package/dist/controller/__fixtures__/controllers/not_a_class.d.ts +0 -3
- package/dist/controller/__fixtures__/controllers/not_a_class.js +0 -5
- package/dist/controller/__fixtures__/controllers/not_a_class.js.map +0 -1
- package/dist/controller/__fixtures__/controllers/settings.controller.cjs +0 -32
- package/dist/controller/__fixtures__/controllers/settings.controller.cjs.map +0 -1
- package/dist/controller/__fixtures__/controllers/settings.controller.d.cts +0 -12
- package/dist/controller/__fixtures__/controllers/settings.controller.d.ts +0 -12
- package/dist/controller/__fixtures__/controllers/settings.controller.js +0 -12
- package/dist/controller/__fixtures__/controllers/settings.controller.js.map +0 -1
- package/dist/controller/__fixtures__/controllers/test.cjs.map +0 -1
- package/dist/controller/__fixtures__/controllers/test.d.cts +0 -7
- package/dist/controller/__fixtures__/controllers/test.d.ts +0 -7
- package/dist/controller/__fixtures__/controllers/test.js +0 -9
- package/dist/controller/__fixtures__/controllers/test.js.map +0 -1
- package/dist/loader/__fixtures__/layouts/app.load.cjs.map +0 -1
- package/dist/loader/__fixtures__/layouts/app.load.d.cts +0 -5
- package/dist/loader/__fixtures__/layouts/app.load.d.ts +0 -5
- package/dist/loader/__fixtures__/layouts/app.load.js +0 -7
- package/dist/loader/__fixtures__/layouts/app.load.js.map +0 -1
- package/dist/loader/__fixtures__/views/test/page.load.cjs.map +0 -1
- package/dist/loader/__fixtures__/views/test/page.load.d.cts +0 -6
- package/dist/loader/__fixtures__/views/test/page.load.d.ts +0 -6
- package/dist/loader/__fixtures__/views/test/page.load.js +0 -7
- package/dist/loader/__fixtures__/views/test/page.load.js.map +0 -1
- package/dist/middleware/__fixtures__/middleware/auth.cjs.map +0 -1
- package/dist/middleware/__fixtures__/middleware/auth.d.cts +0 -6
- package/dist/middleware/__fixtures__/middleware/auth.d.ts +0 -6
- package/dist/middleware/__fixtures__/middleware/auth.js +0 -19
- package/dist/middleware/__fixtures__/middleware/auth.js.map +0 -1
- package/dist/middleware/__fixtures__/middleware/sequence.cjs.map +0 -1
- package/dist/middleware/__fixtures__/middleware/sequence.d.cts +0 -7
- package/dist/middleware/__fixtures__/middleware/sequence.d.ts +0 -7
- package/dist/middleware/__fixtures__/middleware/sequence.js +0 -21
- package/dist/middleware/__fixtures__/middleware/sequence.js.map +0 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Owned-work registry for the frontend application slice (18A D-FAS-01).
|
|
3
|
+
*
|
|
4
|
+
* `act()` and `settle()` drain framework-owned finite work registered here
|
|
5
|
+
* through production seams (transport invokes, event deliveries, navigation
|
|
6
|
+
* transitions, tracked lifecycle tasks). The registry never patches global
|
|
7
|
+
* async primitives and never guesses at event-loop emptiness: work exists
|
|
8
|
+
* only because an owner registered it, and a drain is a fixed point —
|
|
9
|
+
* repeated passes until one complete pass creates no new owned work.
|
|
10
|
+
*
|
|
11
|
+
* Floating promises and bare timers are explicitly outside the guarantee;
|
|
12
|
+
* they are product lifecycle bugs, not framework blind spots to paper over.
|
|
13
|
+
*/
|
|
14
|
+
type WorkKind = 'invoke' | 'event-delivery' | 'navigation' | 'initialize' | 'tracked' | (string & {});
|
|
15
|
+
interface WorkOptions {
|
|
16
|
+
/** Human-readable diagnostic label, e.g. `invoke messages.send`. */
|
|
17
|
+
label: string;
|
|
18
|
+
kind?: WorkKind;
|
|
19
|
+
/** Owning lifecycle identity, e.g. `page main.chat_dom` or `application`. */
|
|
20
|
+
owner?: string;
|
|
21
|
+
}
|
|
22
|
+
interface WorkDescriptor {
|
|
23
|
+
readonly id: number;
|
|
24
|
+
readonly label: string;
|
|
25
|
+
readonly kind: WorkKind;
|
|
26
|
+
readonly owner: string;
|
|
27
|
+
}
|
|
28
|
+
interface WorkFailure extends WorkDescriptor {
|
|
29
|
+
readonly error: unknown;
|
|
30
|
+
}
|
|
31
|
+
declare class FrontendWorkError extends Error {
|
|
32
|
+
readonly failures: readonly WorkFailure[];
|
|
33
|
+
constructor(message: string, failures?: readonly WorkFailure[]);
|
|
34
|
+
}
|
|
35
|
+
declare class WorkRegistry {
|
|
36
|
+
private nextId;
|
|
37
|
+
/** Total registrations ever — the fixed-point signal for draining. */
|
|
38
|
+
private registrations;
|
|
39
|
+
private readonly inFlight;
|
|
40
|
+
private readonly failures;
|
|
41
|
+
/** How many failures a completed drain has already reported. */
|
|
42
|
+
private reportedFailures;
|
|
43
|
+
private drainChain;
|
|
44
|
+
/**
|
|
45
|
+
* Register finite owned work. Returns a promise with the work's own
|
|
46
|
+
* settlement semantics — callers may await it directly; the registry
|
|
47
|
+
* additionally observes completion (success or failure) for draining.
|
|
48
|
+
*/
|
|
49
|
+
track<T>(work: Promise<T> | (() => Promise<T>), options: WorkOptions): Promise<T>;
|
|
50
|
+
/** Descriptors of currently incomplete owned work. */
|
|
51
|
+
pending(): WorkDescriptor[];
|
|
52
|
+
/** Every owned-work failure observed so far (accumulates across drains). */
|
|
53
|
+
errors(): readonly WorkFailure[];
|
|
54
|
+
/**
|
|
55
|
+
* Fixed-point drain: await all pending owned work, run the adapter flush
|
|
56
|
+
* hooks, repeat until one full pass observes no pending work and causes
|
|
57
|
+
* no new registrations. Concurrent drains queue — each caller gets its
|
|
58
|
+
* own complete pass over whatever work exists when its turn arrives.
|
|
59
|
+
*
|
|
60
|
+
* Rejects with `FrontendWorkError` naming the owners when owned work
|
|
61
|
+
* failed since the previous drain, or when the pass bound is exceeded
|
|
62
|
+
* (repeating owned work), listing pending and repeating labels.
|
|
63
|
+
*/
|
|
64
|
+
drain(flushHooks?: ReadonlyArray<() => void | Promise<void>>): Promise<void>;
|
|
65
|
+
private drainOnce;
|
|
66
|
+
private takeNewFailures;
|
|
67
|
+
private throwNewFailures;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export { FrontendWorkError, type WorkDescriptor, type WorkFailure, type WorkKind, type WorkOptions, WorkRegistry };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Owned-work registry for the frontend application slice (18A D-FAS-01).
|
|
3
|
+
*
|
|
4
|
+
* `act()` and `settle()` drain framework-owned finite work registered here
|
|
5
|
+
* through production seams (transport invokes, event deliveries, navigation
|
|
6
|
+
* transitions, tracked lifecycle tasks). The registry never patches global
|
|
7
|
+
* async primitives and never guesses at event-loop emptiness: work exists
|
|
8
|
+
* only because an owner registered it, and a drain is a fixed point —
|
|
9
|
+
* repeated passes until one complete pass creates no new owned work.
|
|
10
|
+
*
|
|
11
|
+
* Floating promises and bare timers are explicitly outside the guarantee;
|
|
12
|
+
* they are product lifecycle bugs, not framework blind spots to paper over.
|
|
13
|
+
*/
|
|
14
|
+
type WorkKind = 'invoke' | 'event-delivery' | 'navigation' | 'initialize' | 'tracked' | (string & {});
|
|
15
|
+
interface WorkOptions {
|
|
16
|
+
/** Human-readable diagnostic label, e.g. `invoke messages.send`. */
|
|
17
|
+
label: string;
|
|
18
|
+
kind?: WorkKind;
|
|
19
|
+
/** Owning lifecycle identity, e.g. `page main.chat_dom` or `application`. */
|
|
20
|
+
owner?: string;
|
|
21
|
+
}
|
|
22
|
+
interface WorkDescriptor {
|
|
23
|
+
readonly id: number;
|
|
24
|
+
readonly label: string;
|
|
25
|
+
readonly kind: WorkKind;
|
|
26
|
+
readonly owner: string;
|
|
27
|
+
}
|
|
28
|
+
interface WorkFailure extends WorkDescriptor {
|
|
29
|
+
readonly error: unknown;
|
|
30
|
+
}
|
|
31
|
+
declare class FrontendWorkError extends Error {
|
|
32
|
+
readonly failures: readonly WorkFailure[];
|
|
33
|
+
constructor(message: string, failures?: readonly WorkFailure[]);
|
|
34
|
+
}
|
|
35
|
+
declare class WorkRegistry {
|
|
36
|
+
private nextId;
|
|
37
|
+
/** Total registrations ever — the fixed-point signal for draining. */
|
|
38
|
+
private registrations;
|
|
39
|
+
private readonly inFlight;
|
|
40
|
+
private readonly failures;
|
|
41
|
+
/** How many failures a completed drain has already reported. */
|
|
42
|
+
private reportedFailures;
|
|
43
|
+
private drainChain;
|
|
44
|
+
/**
|
|
45
|
+
* Register finite owned work. Returns a promise with the work's own
|
|
46
|
+
* settlement semantics — callers may await it directly; the registry
|
|
47
|
+
* additionally observes completion (success or failure) for draining.
|
|
48
|
+
*/
|
|
49
|
+
track<T>(work: Promise<T> | (() => Promise<T>), options: WorkOptions): Promise<T>;
|
|
50
|
+
/** Descriptors of currently incomplete owned work. */
|
|
51
|
+
pending(): WorkDescriptor[];
|
|
52
|
+
/** Every owned-work failure observed so far (accumulates across drains). */
|
|
53
|
+
errors(): readonly WorkFailure[];
|
|
54
|
+
/**
|
|
55
|
+
* Fixed-point drain: await all pending owned work, run the adapter flush
|
|
56
|
+
* hooks, repeat until one full pass observes no pending work and causes
|
|
57
|
+
* no new registrations. Concurrent drains queue — each caller gets its
|
|
58
|
+
* own complete pass over whatever work exists when its turn arrives.
|
|
59
|
+
*
|
|
60
|
+
* Rejects with `FrontendWorkError` naming the owners when owned work
|
|
61
|
+
* failed since the previous drain, or when the pass bound is exceeded
|
|
62
|
+
* (repeating owned work), listing pending and repeating labels.
|
|
63
|
+
*/
|
|
64
|
+
drain(flushHooks?: ReadonlyArray<() => void | Promise<void>>): Promise<void>;
|
|
65
|
+
private drainOnce;
|
|
66
|
+
private takeNewFailures;
|
|
67
|
+
private throwNewFailures;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export { FrontendWorkError, type WorkDescriptor, type WorkFailure, type WorkKind, type WorkOptions, WorkRegistry };
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
const MAX_DRAIN_PASSES = 100;
|
|
2
|
+
class FrontendWorkError extends Error {
|
|
3
|
+
constructor(message, failures = []) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.failures = failures;
|
|
6
|
+
this.name = "FrontendWorkError";
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
function describe(work) {
|
|
10
|
+
return `[${work.kind}] ${work.label} (owner: ${work.owner})`;
|
|
11
|
+
}
|
|
12
|
+
class WorkRegistry {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.nextId = 1;
|
|
15
|
+
/** Total registrations ever — the fixed-point signal for draining. */
|
|
16
|
+
this.registrations = 0;
|
|
17
|
+
this.inFlight = /* @__PURE__ */ new Map();
|
|
18
|
+
this.failures = [];
|
|
19
|
+
/** How many failures a completed drain has already reported. */
|
|
20
|
+
this.reportedFailures = 0;
|
|
21
|
+
this.drainChain = Promise.resolve();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Register finite owned work. Returns a promise with the work's own
|
|
25
|
+
* settlement semantics — callers may await it directly; the registry
|
|
26
|
+
* additionally observes completion (success or failure) for draining.
|
|
27
|
+
*/
|
|
28
|
+
track(work, options) {
|
|
29
|
+
const descriptor = {
|
|
30
|
+
id: this.nextId++,
|
|
31
|
+
label: options.label,
|
|
32
|
+
kind: options.kind ?? "tracked",
|
|
33
|
+
owner: options.owner ?? "application"
|
|
34
|
+
};
|
|
35
|
+
this.registrations += 1;
|
|
36
|
+
const promise = typeof work === "function" ? work() : work;
|
|
37
|
+
const observed = promise.then(
|
|
38
|
+
() => void 0,
|
|
39
|
+
(error) => {
|
|
40
|
+
this.failures.push({ ...descriptor, error });
|
|
41
|
+
}
|
|
42
|
+
).finally(() => {
|
|
43
|
+
this.inFlight.delete(descriptor.id);
|
|
44
|
+
});
|
|
45
|
+
this.inFlight.set(descriptor.id, { descriptor, observed });
|
|
46
|
+
return promise;
|
|
47
|
+
}
|
|
48
|
+
/** Descriptors of currently incomplete owned work. */
|
|
49
|
+
pending() {
|
|
50
|
+
return [...this.inFlight.values()].map((entry) => entry.descriptor);
|
|
51
|
+
}
|
|
52
|
+
/** Every owned-work failure observed so far (accumulates across drains). */
|
|
53
|
+
errors() {
|
|
54
|
+
return [...this.failures];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Fixed-point drain: await all pending owned work, run the adapter flush
|
|
58
|
+
* hooks, repeat until one full pass observes no pending work and causes
|
|
59
|
+
* no new registrations. Concurrent drains queue — each caller gets its
|
|
60
|
+
* own complete pass over whatever work exists when its turn arrives.
|
|
61
|
+
*
|
|
62
|
+
* Rejects with `FrontendWorkError` naming the owners when owned work
|
|
63
|
+
* failed since the previous drain, or when the pass bound is exceeded
|
|
64
|
+
* (repeating owned work), listing pending and repeating labels.
|
|
65
|
+
*/
|
|
66
|
+
drain(flushHooks = []) {
|
|
67
|
+
const run = this.drainChain.then(() => this.drainOnce(flushHooks));
|
|
68
|
+
this.drainChain = run.then(
|
|
69
|
+
() => void 0,
|
|
70
|
+
() => void 0
|
|
71
|
+
);
|
|
72
|
+
return run;
|
|
73
|
+
}
|
|
74
|
+
async drainOnce(flushHooks) {
|
|
75
|
+
const seenPerLabel = /* @__PURE__ */ new Map();
|
|
76
|
+
for (let pass = 1; pass <= MAX_DRAIN_PASSES; pass++) {
|
|
77
|
+
const registrationsBefore = this.registrations;
|
|
78
|
+
const snapshot = [...this.inFlight.values()];
|
|
79
|
+
for (const { descriptor } of snapshot) {
|
|
80
|
+
seenPerLabel.set(descriptor.label, (seenPerLabel.get(descriptor.label) ?? 0) + 1);
|
|
81
|
+
}
|
|
82
|
+
await Promise.all(snapshot.map((entry) => entry.observed));
|
|
83
|
+
for (const hook of flushHooks) {
|
|
84
|
+
await hook();
|
|
85
|
+
}
|
|
86
|
+
await Promise.resolve();
|
|
87
|
+
await Promise.resolve();
|
|
88
|
+
const stable = this.inFlight.size === 0 && this.registrations === registrationsBefore;
|
|
89
|
+
if (stable) {
|
|
90
|
+
this.throwNewFailures();
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const pendingLines = this.pending().map(describe);
|
|
95
|
+
const repeating = [...seenPerLabel.entries()].filter(([, count]) => count > 3).map(([label, count]) => `${label} (seen in ${count} passes)`);
|
|
96
|
+
throw new FrontendWorkError(
|
|
97
|
+
`settle did not converge within ${MAX_DRAIN_PASSES} drain passes.
|
|
98
|
+
` + (pendingLines.length ? `Still pending:
|
|
99
|
+
${pendingLines.join("\n ")}
|
|
100
|
+
` : "") + (repeating.length ? `Repeating owned work:
|
|
101
|
+
${repeating.join("\n ")}
|
|
102
|
+
` : "") + "Owned work keeps creating more owned work \u2014 this names the owners; it is not a timeout.",
|
|
103
|
+
this.takeNewFailures()
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
takeNewFailures() {
|
|
107
|
+
const fresh = this.failures.slice(this.reportedFailures);
|
|
108
|
+
this.reportedFailures = this.failures.length;
|
|
109
|
+
return fresh;
|
|
110
|
+
}
|
|
111
|
+
throwNewFailures() {
|
|
112
|
+
const fresh = this.takeNewFailures();
|
|
113
|
+
if (!fresh.length) return;
|
|
114
|
+
const lines = fresh.map(
|
|
115
|
+
(failure) => `${describe(failure)}: ${failure.error instanceof Error ? failure.error.message : String(failure.error)}`
|
|
116
|
+
);
|
|
117
|
+
throw new FrontendWorkError(
|
|
118
|
+
`owned frontend work failed:
|
|
119
|
+
${lines.join("\n ")}`,
|
|
120
|
+
fresh
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
export {
|
|
125
|
+
FrontendWorkError,
|
|
126
|
+
WorkRegistry
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=work_registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/frontend/work_registry.ts"],"sourcesContent":["/**\n * Owned-work registry for the frontend application slice (18A D-FAS-01).\n *\n * `act()` and `settle()` drain framework-owned finite work registered here\n * through production seams (transport invokes, event deliveries, navigation\n * transitions, tracked lifecycle tasks). The registry never patches global\n * async primitives and never guesses at event-loop emptiness: work exists\n * only because an owner registered it, and a drain is a fixed point —\n * repeated passes until one complete pass creates no new owned work.\n *\n * Floating promises and bare timers are explicitly outside the guarantee;\n * they are product lifecycle bugs, not framework blind spots to paper over.\n */\n\nexport type WorkKind =\n | 'invoke'\n | 'event-delivery'\n | 'navigation'\n | 'initialize'\n | 'tracked'\n | (string & {});\n\nexport interface WorkOptions {\n /** Human-readable diagnostic label, e.g. `invoke messages.send`. */\n label: string;\n kind?: WorkKind;\n /** Owning lifecycle identity, e.g. `page main.chat_dom` or `application`. */\n owner?: string;\n}\n\nexport interface WorkDescriptor {\n readonly id: number;\n readonly label: string;\n readonly kind: WorkKind;\n readonly owner: string;\n}\n\nexport interface WorkFailure extends WorkDescriptor {\n readonly error: unknown;\n}\n\n/** Safety bound on drain passes — a diagnostic limit, not the readiness mechanism. */\nconst MAX_DRAIN_PASSES = 100;\n\nexport class FrontendWorkError extends Error {\n constructor(message: string, readonly failures: readonly WorkFailure[] = []) {\n super(message);\n this.name = 'FrontendWorkError';\n }\n}\n\nfunction describe(work: WorkDescriptor): string {\n return `[${work.kind}] ${work.label} (owner: ${work.owner})`;\n}\n\nexport class WorkRegistry {\n private nextId = 1;\n /** Total registrations ever — the fixed-point signal for draining. */\n private registrations = 0;\n private readonly inFlight = new Map<number, { descriptor: WorkDescriptor; observed: Promise<void> }>();\n private readonly failures: WorkFailure[] = [];\n /** How many failures a completed drain has already reported. */\n private reportedFailures = 0;\n private drainChain: Promise<void> = Promise.resolve();\n\n /**\n * Register finite owned work. Returns a promise with the work's own\n * settlement semantics — callers may await it directly; the registry\n * additionally observes completion (success or failure) for draining.\n */\n track<T>(work: Promise<T> | (() => Promise<T>), options: WorkOptions): Promise<T> {\n const descriptor: WorkDescriptor = {\n id: this.nextId++,\n label: options.label,\n kind: options.kind ?? 'tracked',\n owner: options.owner ?? 'application',\n };\n\n this.registrations += 1;\n const promise = typeof work === 'function' ? work() : work;\n\n // Observe settlement without altering the caller's promise semantics.\n const observed = promise.then(\n () => undefined,\n (error) => {\n this.failures.push({ ...descriptor, error });\n },\n ).finally(() => {\n this.inFlight.delete(descriptor.id);\n });\n\n this.inFlight.set(descriptor.id, { descriptor, observed });\n return promise;\n }\n\n /** Descriptors of currently incomplete owned work. */\n pending(): WorkDescriptor[] {\n return [...this.inFlight.values()].map((entry) => entry.descriptor);\n }\n\n /** Every owned-work failure observed so far (accumulates across drains). */\n errors(): readonly WorkFailure[] {\n return [...this.failures];\n }\n\n /**\n * Fixed-point drain: await all pending owned work, run the adapter flush\n * hooks, repeat until one full pass observes no pending work and causes\n * no new registrations. Concurrent drains queue — each caller gets its\n * own complete pass over whatever work exists when its turn arrives.\n *\n * Rejects with `FrontendWorkError` naming the owners when owned work\n * failed since the previous drain, or when the pass bound is exceeded\n * (repeating owned work), listing pending and repeating labels.\n */\n drain(flushHooks: ReadonlyArray<() => void | Promise<void>> = []): Promise<void> {\n const run = this.drainChain.then(() => this.drainOnce(flushHooks));\n // Keep the chain alive regardless of this drain's outcome.\n this.drainChain = run.then(\n () => undefined,\n () => undefined,\n );\n return run;\n }\n\n private async drainOnce(flushHooks: ReadonlyArray<() => void | Promise<void>>): Promise<void> {\n const seenPerLabel = new Map<string, number>();\n\n for (let pass = 1; pass <= MAX_DRAIN_PASSES; pass++) {\n const registrationsBefore = this.registrations;\n const snapshot = [...this.inFlight.values()];\n\n for (const { descriptor } of snapshot) {\n seenPerLabel.set(descriptor.label, (seenPerLabel.get(descriptor.label) ?? 0) + 1);\n }\n\n // Observed promises never reject (failures are recorded by track());\n // awaiting them cannot abort the pass mid-way.\n await Promise.all(snapshot.map((entry) => entry.observed));\n\n for (const hook of flushHooks) {\n await hook();\n }\n\n // Give completion continuations a microtask to register follow-on\n // owned work before the fixed point is tested.\n await Promise.resolve();\n await Promise.resolve();\n\n const stable = this.inFlight.size === 0 && this.registrations === registrationsBefore;\n if (stable) {\n this.throwNewFailures();\n return;\n }\n }\n\n const pendingLines = this.pending().map(describe);\n const repeating = [...seenPerLabel.entries()]\n .filter(([, count]) => count > 3)\n .map(([label, count]) => `${label} (seen in ${count} passes)`);\n\n throw new FrontendWorkError(\n `settle did not converge within ${MAX_DRAIN_PASSES} drain passes.\\n` +\n (pendingLines.length ? `Still pending:\\n ${pendingLines.join('\\n ')}\\n` : '') +\n (repeating.length ? `Repeating owned work:\\n ${repeating.join('\\n ')}\\n` : '') +\n 'Owned work keeps creating more owned work — this names the owners; it is not a timeout.',\n this.takeNewFailures(),\n );\n }\n\n private takeNewFailures(): WorkFailure[] {\n const fresh = this.failures.slice(this.reportedFailures);\n this.reportedFailures = this.failures.length;\n return fresh;\n }\n\n private throwNewFailures(): void {\n const fresh = this.takeNewFailures();\n if (!fresh.length) return;\n const lines = fresh.map(\n (failure) =>\n `${describe(failure)}: ${failure.error instanceof Error ? failure.error.message : String(failure.error)}`,\n );\n throw new FrontendWorkError(\n `owned frontend work failed:\\n ${lines.join('\\n ')}`,\n fresh,\n );\n }\n}\n"],"mappings":"AA0CA,MAAM,mBAAmB;AAElB,MAAM,0BAA0B,MAAM;AAAA,EAC3C,YAAY,SAA0B,WAAmC,CAAC,GAAG;AAC3E,UAAM,OAAO;AADuB;AAEpC,SAAK,OAAO;AAAA,EACd;AACF;AAEA,SAAS,SAAS,MAA8B;AAC9C,SAAO,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,YAAY,KAAK,KAAK;AAC3D;AAEO,MAAM,aAAa;AAAA,EAAnB;AACL,SAAQ,SAAS;AAEjB;AAAA,SAAQ,gBAAgB;AACxB,SAAiB,WAAW,oBAAI,IAAqE;AACrG,SAAiB,WAA0B,CAAC;AAE5C;AAAA,SAAQ,mBAAmB;AAC3B,SAAQ,aAA4B,QAAQ,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOpD,MAAS,MAAuC,SAAkC;AAChF,UAAM,aAA6B;AAAA,MACjC,IAAI,KAAK;AAAA,MACT,OAAO,QAAQ;AAAA,MACf,MAAM,QAAQ,QAAQ;AAAA,MACtB,OAAO,QAAQ,SAAS;AAAA,IAC1B;AAEA,SAAK,iBAAiB;AACtB,UAAM,UAAU,OAAO,SAAS,aAAa,KAAK,IAAI;AAGtD,UAAM,WAAW,QAAQ;AAAA,MACvB,MAAM;AAAA,MACN,CAAC,UAAU;AACT,aAAK,SAAS,KAAK,EAAE,GAAG,YAAY,MAAM,CAAC;AAAA,MAC7C;AAAA,IACF,EAAE,QAAQ,MAAM;AACd,WAAK,SAAS,OAAO,WAAW,EAAE;AAAA,IACpC,CAAC;AAED,SAAK,SAAS,IAAI,WAAW,IAAI,EAAE,YAAY,SAAS,CAAC;AACzD,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,UAA4B;AAC1B,WAAO,CAAC,GAAG,KAAK,SAAS,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,MAAM,UAAU;AAAA,EACpE;AAAA;AAAA,EAGA,SAAiC;AAC/B,WAAO,CAAC,GAAG,KAAK,QAAQ;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAM,aAAwD,CAAC,GAAkB;AAC/E,UAAM,MAAM,KAAK,WAAW,KAAK,MAAM,KAAK,UAAU,UAAU,CAAC;AAEjE,SAAK,aAAa,IAAI;AAAA,MACpB,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAc,UAAU,YAAsE;AAC5F,UAAM,eAAe,oBAAI,IAAoB;AAE7C,aAAS,OAAO,GAAG,QAAQ,kBAAkB,QAAQ;AACnD,YAAM,sBAAsB,KAAK;AACjC,YAAM,WAAW,CAAC,GAAG,KAAK,SAAS,OAAO,CAAC;AAE3C,iBAAW,EAAE,WAAW,KAAK,UAAU;AACrC,qBAAa,IAAI,WAAW,QAAQ,aAAa,IAAI,WAAW,KAAK,KAAK,KAAK,CAAC;AAAA,MAClF;AAIA,YAAM,QAAQ,IAAI,SAAS,IAAI,CAAC,UAAU,MAAM,QAAQ,CAAC;AAEzD,iBAAW,QAAQ,YAAY;AAC7B,cAAM,KAAK;AAAA,MACb;AAIA,YAAM,QAAQ,QAAQ;AACtB,YAAM,QAAQ,QAAQ;AAEtB,YAAM,SAAS,KAAK,SAAS,SAAS,KAAK,KAAK,kBAAkB;AAClE,UAAI,QAAQ;AACV,aAAK,iBAAiB;AACtB;AAAA,MACF;AAAA,IACF;AAEA,UAAM,eAAe,KAAK,QAAQ,EAAE,IAAI,QAAQ;AAChD,UAAM,YAAY,CAAC,GAAG,aAAa,QAAQ,CAAC,EACzC,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,QAAQ,CAAC,EAC/B,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,GAAG,KAAK,aAAa,KAAK,UAAU;AAE/D,UAAM,IAAI;AAAA,MACR,kCAAkC,gBAAgB;AAAA,KACjD,aAAa,SAAS;AAAA,IAAqB,aAAa,KAAK,MAAM,CAAC;AAAA,IAAO,OAC3E,UAAU,SAAS;AAAA,IAA4B,UAAU,KAAK,MAAM,CAAC;AAAA,IAAO,MAC7E;AAAA,MACA,KAAK,gBAAgB;AAAA,IACvB;AAAA,EACF;AAAA,EAEQ,kBAAiC;AACvC,UAAM,QAAQ,KAAK,SAAS,MAAM,KAAK,gBAAgB;AACvD,SAAK,mBAAmB,KAAK,SAAS;AACtC,WAAO;AAAA,EACT;AAAA,EAEQ,mBAAyB;AAC/B,UAAM,QAAQ,KAAK,gBAAgB;AACnC,QAAI,CAAC,MAAM,OAAQ;AACnB,UAAM,QAAQ,MAAM;AAAA,MAClB,CAAC,YACC,GAAG,SAAS,OAAO,CAAC,KAAK,QAAQ,iBAAiB,QAAQ,QAAQ,MAAM,UAAU,OAAO,QAAQ,KAAK,CAAC;AAAA,IAC3G;AACA,UAAM,IAAI;AAAA,MACR;AAAA,IAAkC,MAAM,KAAK,MAAM,CAAC;AAAA,MACpD;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
package/dist/index.cjs
CHANGED
|
@@ -28,6 +28,7 @@ __export(index_exports, {
|
|
|
28
28
|
MainTracer: () => import_tracing.MainTracer,
|
|
29
29
|
MiddlewareResolver: () => import_middleware.MiddlewareResolver,
|
|
30
30
|
Navigation: () => import_navigation.Navigation,
|
|
31
|
+
RENDERER_TRACE_BATCHING_DEFAULTS: () => import_config.RENDERER_TRACE_BATCHING_DEFAULTS,
|
|
31
32
|
RendererTracer: () => import_tracing.RendererTracer,
|
|
32
33
|
SchemaValidator: () => import_validation.SchemaValidator,
|
|
33
34
|
TestTracer: () => import_tracing.TestTracer,
|
|
@@ -40,13 +41,16 @@ __export(index_exports, {
|
|
|
40
41
|
WindowStateStore: () => import_window.WindowStateStore,
|
|
41
42
|
WoodAuthError: () => import_types.WoodAuthError,
|
|
42
43
|
WoodRouter: () => import_router.WoodRouter,
|
|
44
|
+
WoodTraceBatchContract: () => import_tracing.WoodTraceBatchContract,
|
|
43
45
|
WoodValidationError: () => import_types.WoodValidationError,
|
|
44
46
|
buildControllerArgs: () => import_controller.buildControllerArgs,
|
|
45
47
|
buildMiddlewareContext: () => import_middleware.buildMiddlewareContext,
|
|
48
|
+
buildOperationContext: () => import_controller.buildOperationContext,
|
|
46
49
|
clearApplicationRootForTests: () => import_runtime.clearApplicationRootForTests,
|
|
47
50
|
clearContainerRegistryForTests: () => import_runtime.clearContainerRegistryForTests,
|
|
48
51
|
clearRendererTraceBatchReceiverForTests: () => import_runtime.clearRendererTraceBatchReceiverForTests,
|
|
49
52
|
clearTraceHubForTests: () => import_tracing.clearTraceHubForTests,
|
|
53
|
+
createWoodRoot: () => import_runtime.createWoodRoot,
|
|
50
54
|
disposeControllerLifecycle: () => import_controller.disposeControllerLifecycle,
|
|
51
55
|
executeMiddleware: () => import_middleware.executeMiddleware,
|
|
52
56
|
generateChannelMap: () => import_codegen3.generateChannelMap,
|
|
@@ -64,18 +68,24 @@ __export(index_exports, {
|
|
|
64
68
|
getNavigation: () => import_navigation.getNavigation,
|
|
65
69
|
getRendererTraceBatchReceiver: () => import_runtime.getRendererTraceBatchReceiver,
|
|
66
70
|
getTraceEvents$: () => import_tracing.getTraceEvents$,
|
|
71
|
+
getTraceProducerId: () => import_tracing.getTraceProducerId,
|
|
67
72
|
go: () => import_navigation.go,
|
|
68
73
|
goback: () => import_navigation.goback,
|
|
69
74
|
goto: () => import_navigation.goto,
|
|
75
|
+
ingestRemoteTraceEvent: () => import_tracing.ingestRemoteTraceEvent,
|
|
70
76
|
parseConfig: () => import_config.parseConfig,
|
|
71
77
|
parseOperations: () => import_parser.parseOperations,
|
|
78
|
+
parseOperationsDocument: () => import_parser.parseOperationsDocument,
|
|
72
79
|
parseOperationsFile: () => import_parser.parseOperationsFile,
|
|
73
80
|
parseViews: () => import_parser2.parseViews,
|
|
74
81
|
parseViewsFile: () => import_parser2.parseViewsFile,
|
|
82
|
+
publishMainTrace: () => import_tracing.publishMainTrace,
|
|
83
|
+
publishTestTrace: () => import_tracing.publishTestTrace,
|
|
75
84
|
pushEvent: () => import_bridge.pushEvent,
|
|
76
85
|
readWoodDevMetadata: () => import_dev_metadata.readWoodDevMetadata,
|
|
77
86
|
registerTraceSink: () => import_tracing.registerTraceSink,
|
|
78
87
|
removeWoodDevMetadata: () => import_dev_metadata.removeWoodDevMetadata,
|
|
88
|
+
resolveRendererTraceBatching: () => import_config.resolveRendererTraceBatching,
|
|
79
89
|
resolveWoodDevDirectory: () => import_dev_metadata.resolveWoodDevDirectory,
|
|
80
90
|
resolveWoodDevMetadataPath: () => import_dev_metadata.resolveWoodDevMetadataPath,
|
|
81
91
|
resolveWoodRemoteDebuggingPort: () => import_dev_metadata.resolveWoodRemoteDebuggingPort,
|
|
@@ -85,6 +95,8 @@ __export(index_exports, {
|
|
|
85
95
|
setRendererTraceEnabled: () => import_tracing.setRendererTraceEnabled,
|
|
86
96
|
setRendererTraceTransport: () => import_tracing.setRendererTraceTransport,
|
|
87
97
|
startBackendLoop: () => import_bridge.startBackendLoop,
|
|
98
|
+
usesOperationContext: () => import_controller.usesOperationContext,
|
|
99
|
+
woodBatchToTraceBatch: () => import_tracing.woodBatchToTraceBatch,
|
|
88
100
|
writeWoodDevMetadata: () => import_dev_metadata.writeWoodDevMetadata
|
|
89
101
|
});
|
|
90
102
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -125,6 +137,7 @@ var import_tracing = require("./tracing/index.js");
|
|
|
125
137
|
MainTracer,
|
|
126
138
|
MiddlewareResolver,
|
|
127
139
|
Navigation,
|
|
140
|
+
RENDERER_TRACE_BATCHING_DEFAULTS,
|
|
128
141
|
RendererTracer,
|
|
129
142
|
SchemaValidator,
|
|
130
143
|
TestTracer,
|
|
@@ -137,13 +150,16 @@ var import_tracing = require("./tracing/index.js");
|
|
|
137
150
|
WindowStateStore,
|
|
138
151
|
WoodAuthError,
|
|
139
152
|
WoodRouter,
|
|
153
|
+
WoodTraceBatchContract,
|
|
140
154
|
WoodValidationError,
|
|
141
155
|
buildControllerArgs,
|
|
142
156
|
buildMiddlewareContext,
|
|
157
|
+
buildOperationContext,
|
|
143
158
|
clearApplicationRootForTests,
|
|
144
159
|
clearContainerRegistryForTests,
|
|
145
160
|
clearRendererTraceBatchReceiverForTests,
|
|
146
161
|
clearTraceHubForTests,
|
|
162
|
+
createWoodRoot,
|
|
147
163
|
disposeControllerLifecycle,
|
|
148
164
|
executeMiddleware,
|
|
149
165
|
generateChannelMap,
|
|
@@ -161,18 +177,24 @@ var import_tracing = require("./tracing/index.js");
|
|
|
161
177
|
getNavigation,
|
|
162
178
|
getRendererTraceBatchReceiver,
|
|
163
179
|
getTraceEvents$,
|
|
180
|
+
getTraceProducerId,
|
|
164
181
|
go,
|
|
165
182
|
goback,
|
|
166
183
|
goto,
|
|
184
|
+
ingestRemoteTraceEvent,
|
|
167
185
|
parseConfig,
|
|
168
186
|
parseOperations,
|
|
187
|
+
parseOperationsDocument,
|
|
169
188
|
parseOperationsFile,
|
|
170
189
|
parseViews,
|
|
171
190
|
parseViewsFile,
|
|
191
|
+
publishMainTrace,
|
|
192
|
+
publishTestTrace,
|
|
172
193
|
pushEvent,
|
|
173
194
|
readWoodDevMetadata,
|
|
174
195
|
registerTraceSink,
|
|
175
196
|
removeWoodDevMetadata,
|
|
197
|
+
resolveRendererTraceBatching,
|
|
176
198
|
resolveWoodDevDirectory,
|
|
177
199
|
resolveWoodDevMetadataPath,
|
|
178
200
|
resolveWoodRemoteDebuggingPort,
|
|
@@ -182,6 +204,8 @@ var import_tracing = require("./tracing/index.js");
|
|
|
182
204
|
setRendererTraceEnabled,
|
|
183
205
|
setRendererTraceTransport,
|
|
184
206
|
startBackendLoop,
|
|
207
|
+
usesOperationContext,
|
|
208
|
+
woodBatchToTraceBatch,
|
|
185
209
|
writeWoodDevMetadata
|
|
186
210
|
});
|
|
187
211
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// @noego/wood — Declarative Electron desktop apps using the noego ecosystem\n\n// Types\nexport type {\n WoodConfig,\n WindowDef,\n DevConfig,\n ElectronBuilderConfig,\n OperationDef,\n RawOperationsDocument,\n RawModuleDef,\n RawOperationEntry,\n RawModuleOperationEntry,\n ViewDef,\n RawViewsDocument,\n RawViewEntry,\n ParameterDef,\n IpcContext,\n WoodMiddlewareContext,\n WoodMiddlewareFn,\n RequestData,\n ControllerArgs,\n LoaderResult,\n BridgeMessage,\n BridgeRequest,\n BridgeResponse,\n BridgeReady,\n BridgePush,\n BridgeElectronApi,\n SerializedError,\n ContextMenuContext,\n ContextMenuItem,\n ContextMenuEvent,\n} from './types';\n\n// Errors\nexport { WoodAuthError, WoodValidationError, BackendRestartingError } from './types/index.cjs';\n\n// Config\nexport {
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// @noego/wood — Declarative Electron desktop apps using the noego ecosystem\n\n// Types\nexport type {\n WoodConfig,\n WindowDef,\n DevConfig,\n ElectronBuilderConfig,\n OperationDef,\n RawOperationsDocument,\n RawModuleDef,\n RawOperationEntry,\n RawModuleOperationEntry,\n ViewDef,\n RawViewsDocument,\n RawViewEntry,\n ParameterDef,\n IpcContext,\n WoodMiddlewareContext,\n WoodMiddlewareFn,\n RequestData,\n ControllerArgs,\n LoaderResult,\n BridgeMessage,\n BridgeRequest,\n BridgeResponse,\n BridgeReady,\n BridgePush,\n BridgeElectronApi,\n SerializedError,\n ContextMenuContext,\n ContextMenuItem,\n ContextMenuEvent,\n} from './types/index.cjs';\n\n// Errors\nexport { WoodAuthError, WoodValidationError, BackendRestartingError } from './types/index.cjs';\n\n// Config\nexport {\n parseConfig,\n resolveRendererTraceBatching,\n RENDERER_TRACE_BATCHING_DEFAULTS,\n} from './config/index.cjs';\nexport type { ObservabilityConfig, RendererTraceBatchingConfig } from './config/index.cjs';\n\n// Parsers\nexport { parseOperations, parseOperationsDocument, parseOperationsFile } from './parser/index.cjs';\nexport { parseViews, parseViewsFile } from './parser/index.cjs';\n\n// Router\nexport { WoodRouter } from './router/index.cjs';\n\n// Validation\nexport { SchemaValidator } from './validation/index.cjs';\n\n// Middleware\nexport { MiddlewareResolver, buildMiddlewareContext, executeMiddleware } from './middleware/index.cjs';\n\n// Controller\nexport { ControllerResolver, buildControllerArgs, buildOperationContext, usesOperationContext, disposeControllerLifecycle } from './controller/index.cjs';\nexport type { ControllerLifecycle } from './controller/index.cjs';\n\n// Codegen\nexport { generatePreload } from './codegen/index.cjs';\nexport { generateTypes } from './codegen/index.cjs';\nexport { generateChannelMap } from './codegen/index.cjs';\nexport { generateTestMock } from './codegen/index.cjs';\nexport { generateControllerRegistration } from './codegen/index.cjs';\nexport type { ControllerRegistrationOptions } from './codegen/index.cjs';\nexport { generateRuntime } from './codegen/index.cjs';\nexport type { RuntimeGeneratorOptions } from './codegen/index.cjs';\nexport { generateRendererViewManifest } from './codegen/index.cjs';\nexport type { RendererViewManifestGeneratorOptions } from './codegen/index.cjs';\nexport { generateRendererControllerRegistration } from './codegen/index.cjs';\nexport type { RendererControllerRegistrationOptions } from './codegen/index.cjs';\nexport { generateRendererApp } from './codegen/index.cjs';\nexport type { RendererAppGeneratorOptions } from './codegen/index.cjs';\n\n// Window\nexport { WindowManager, WindowStateStore } from './window/index.cjs';\nexport type { ScreenLike, WindowBounds } from './window/index.cjs';\n\n// Loader\nexport { LoaderRunner } from './loader/index.cjs';\n\n// Bridge\nexport { BackendBridge, startBackendLoop, pushEvent } from './bridge/index.cjs';\n\n// Dev metadata (lightweight; safe at runtime)\n// Heavy dev tooling (WoodDevServer, BackendWatcher, YamlWatcher,\n// EsbuildBackend) is available via the '@noego/wood/dev' subpath only,\n// so production consumers never load esbuild/chokidar.\nexport {\n DEFAULT_WOOD_REMOTE_DEBUGGING_PORT,\n WOOD_DEV_DIRECTORY,\n WOOD_DEV_METADATA_BASENAME,\n resolveWoodRemoteDebuggingPort,\n resolveWoodDevDirectory,\n resolveWoodDevMetadataPath,\n writeWoodDevMetadata,\n readWoodDevMetadata,\n removeWoodDevMetadata,\n} from './dev/dev_metadata.js';\nexport type { WoodDevMetadata } from './dev/dev_metadata.js';\n\n// Runtime\nexport {\n createWoodRoot,\n getContainer,\n clearContainerRegistryForTests,\n getApplicationRoot,\n setApplicationRoot,\n clearApplicationRootForTests,\n clearRendererTraceBatchReceiverForTests,\n getRendererTraceBatchReceiver,\n runtime,\n setRendererTraceBatchReceiver,\n} from './runtime/index.js';\nexport type {\n GetContainerOptions,\n RuntimeOptions,\n RuntimeResult,\n RegisterRuntimeRouter,\n} from './runtime/index.cjs';\n\n// Navigation\nexport { Navigation, getNavigation, go, goto, goback } from './navigation/index.cjs';\nexport type { NavigationEntry, NavigationOptions } from './navigation/index.cjs';\n\n// Isomorphic IPC API\nexport { Ipc, getIpc } from './ipc/index.cjs';\nexport type { IpcPushOptions } from './ipc/index.cjs';\n\n// Tracing\nexport {\n FrameworkTracer,\n MainTracer,\n RendererTracer,\n TestTracer,\n TraceProvider,\n TraceProviderConfiguration,\n TraceCommitWriter,\n clearTraceHubForTests,\n getTraceEvents$,\n getTraceProducerId,\n ingestRemoteTraceEvent,\n publishMainTrace,\n publishTestTrace,\n registerTraceSink,\n setRendererTraceEnabled,\n setRendererTraceTransport,\n woodBatchToTraceBatch,\n WoodTraceBatchContract,\n} from './tracing/index.js';\nexport type { WoodTraceBatchConversion } from './tracing/index.js';\nexport type {\n TraceCommitRow,\n TraceCommitWriterOptions,\n TraceFlushOptions,\n TraceFlushResult,\n WoodTracePersistencePort,\n TraceDispatchResult,\n TraceEvent,\n TraceInput,\n TraceLevel,\n TraceProcess,\n TraceProviderMode,\n TraceRuntimeContext,\n TraceRuntime,\n TraceWaitOptions,\n WoodRendererTraceEvent,\n WoodRendererTraceInput,\n WoodTraceBatch,\n WoodTraceBatchAcknowledgement,\n WoodTraceBatchReceiver,\n WoodTraceBatchRuntimeContext,\n WoodTraceEventSink,\n WoodTraceEventSnapshot,\n WoodTraceSinkDisposer,\n} from './tracing/index.js';\n\n// Testing — available via '@noego/wood/testing' subpath export.\n// Not re-exported here to avoid pulling vitest into production builds.\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoCA,mBAA2E;AAG3E,oBAIO;AAIP,oBAA8E;AAC9E,IAAAA,iBAA2C;AAG3C,oBAA2B;AAG3B,wBAAgC;AAGhC,wBAA8E;AAG9E,wBAAiI;AAIjI,qBAAgC;AAChC,IAAAC,kBAA8B;AAC9B,IAAAA,kBAAmC;AACnC,IAAAA,kBAAiC;AACjC,IAAAA,kBAA+C;AAE/C,IAAAA,kBAAgC;AAEhC,IAAAA,kBAA6C;AAE7C,IAAAA,kBAAuD;AAEvD,IAAAA,kBAAoC;AAIpC,oBAAgD;AAIhD,oBAA6B;AAG7B,oBAA2D;AAM3D,0BAUO;AAIP,qBAWO;AASP,wBAA4D;AAI5D,iBAA4B;AAI5B,qBAmBO;","names":["import_parser","import_codegen"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export { DevConfig, ElectronBuilderConfig, WindowDef, WoodConfig } from './types/config.cjs';
|
|
1
|
+
export { DevConfig, ElectronBuilderConfig, ObservabilityConfig, RendererTraceBatchingConfig, WindowDef, WoodConfig } from './types/config.cjs';
|
|
2
2
|
export { OperationDef, RawModuleDef, RawModuleOperationEntry, RawOperationEntry, RawOperationsDocument } from './types/operations.cjs';
|
|
3
3
|
export { ParameterDef, RawViewEntry, RawViewsDocument, ViewDef } from './types/views.cjs';
|
|
4
4
|
export { ControllerArgs, IpcContext, LoaderResult, RequestData, WoodMiddlewareContext, WoodMiddlewareFn } from './types/context.cjs';
|
|
5
5
|
export { BackendRestartingError, BridgeElectronApi, BridgeMessage, BridgePush, BridgeReady, BridgeRequest, BridgeResponse, SerializedError, WoodAuthError, WoodValidationError } from './types/bridge.cjs';
|
|
6
6
|
export { ContextMenuContext, ContextMenuEvent, ContextMenuItem } from './types/context_menu.cjs';
|
|
7
|
-
export { parseConfig } from './config/config_parser.cjs';
|
|
8
|
-
export { parseOperations, parseOperationsFile } from './parser/operations_parser.cjs';
|
|
7
|
+
export { RENDERER_TRACE_BATCHING_DEFAULTS, parseConfig, resolveRendererTraceBatching } from './config/config_parser.cjs';
|
|
8
|
+
export { parseOperations, parseOperationsDocument, parseOperationsFile } from './parser/operations_parser.cjs';
|
|
9
9
|
export { parseViews, parseViewsFile } from './parser/views_parser.cjs';
|
|
10
10
|
export { WoodRouter } from './router/wood_router.cjs';
|
|
11
11
|
export { SchemaValidator } from './validation/schema_validator.cjs';
|
|
12
12
|
export { MiddlewareResolver } from './middleware/middleware_resolver.cjs';
|
|
13
13
|
export { buildMiddlewareContext, executeMiddleware } from './middleware/middleware_pipeline.cjs';
|
|
14
|
-
export { ControllerResolver, buildControllerArgs } from './controller/controller_resolver.cjs';
|
|
14
|
+
export { ControllerResolver, buildControllerArgs, buildOperationContext, usesOperationContext } from './controller/controller_resolver.cjs';
|
|
15
15
|
export { ControllerLifecycle, disposeControllerLifecycle } from './controller/controller_lifecycle.cjs';
|
|
16
16
|
export { generatePreload } from './codegen/preload_generator.cjs';
|
|
17
17
|
export { generateTypes } from './codegen/type_generator.cjs';
|
|
@@ -28,18 +28,22 @@ export { LoaderRunner } from './loader/loader_runner.cjs';
|
|
|
28
28
|
export { BackendBridge } from './bridge/backend_bridge.cjs';
|
|
29
29
|
export { pushEvent, startBackendLoop } from './bridge/backend_entry.cjs';
|
|
30
30
|
export { DEFAULT_WOOD_REMOTE_DEBUGGING_PORT, WOOD_DEV_DIRECTORY, WOOD_DEV_METADATA_BASENAME, WoodDevMetadata, readWoodDevMetadata, removeWoodDevMetadata, resolveWoodDevDirectory, resolveWoodDevMetadataPath, resolveWoodRemoteDebuggingPort, writeWoodDevMetadata } from './dev/dev_metadata.cjs';
|
|
31
|
-
export { GetContainerOptions, clearContainerRegistryForTests, getContainer } from './runtime/get_container.cjs';
|
|
31
|
+
export { GetContainerOptions, clearContainerRegistryForTests, createWoodRoot, getContainer } from './runtime/get_container.cjs';
|
|
32
32
|
export { clearApplicationRootForTests, getApplicationRoot, setApplicationRoot } from './runtime/application_root.cjs';
|
|
33
33
|
export { RegisterRuntimeRouter, RuntimeOptions, RuntimeResult, runtime } from './runtime/runtime.cjs';
|
|
34
34
|
export { clearRendererTraceBatchReceiverForTests, getRendererTraceBatchReceiver, setRendererTraceBatchReceiver } from './runtime/renderer_trace_batch_receiver_registry.cjs';
|
|
35
|
-
export { T as TraceDispatchResult, a as TraceEvent, b as TraceInput, c as TraceLevel, d as TraceProcess, e as TraceRuntimeContext, f as TraceWaitOptions, W as WoodTraceEventSink, g as WoodTraceEventSnapshot, h as WoodTraceSinkDisposer, i as clearTraceHubForTests, j as getTraceEvents$, r as registerTraceSink, s as setRendererTraceEnabled,
|
|
35
|
+
export { T as TraceDispatchResult, a as TraceEvent, b as TraceInput, c as TraceLevel, d as TraceProcess, e as TraceRuntimeContext, f as TraceWaitOptions, W as WoodTraceEventSink, g as WoodTraceEventSnapshot, h as WoodTraceSinkDisposer, i as clearTraceHubForTests, j as getTraceEvents$, k as getTraceProducerId, l as ingestRemoteTraceEvent, p as publishMainTrace, m as publishTestTrace, r as registerTraceSink, s as setRendererTraceEnabled, n as setRendererTraceTransport } from './trace_hub-Cpo_nVze.cjs';
|
|
36
|
+
export { WoodTraceBatchConversion, woodBatchToTraceBatch } from './tracing/trace_batch_adapter.cjs';
|
|
36
37
|
export { WoodRendererTraceEvent, WoodRendererTraceInput, WoodTraceBatch, WoodTraceBatchAcknowledgement, WoodTraceBatchReceiver, WoodTraceBatchRuntimeContext } from './tracing/types/wood_trace_batch.types.cjs';
|
|
38
|
+
export { WoodTraceBatchContract } from './tracing/wood_trace_batch_contract.cjs';
|
|
37
39
|
export { TraceCommitRow, TraceCommitWriter, TraceCommitWriterOptions, TraceFlushOptions, TraceFlushResult, WoodTracePersistencePort } from './tracing/trace_commit_writer.cjs';
|
|
38
40
|
export { FrameworkTracer, MainTracer, RendererTracer, TestTracer, TraceProvider, TraceProviderConfiguration, TraceProviderMode, TraceRuntime } from './tracing/trace_provider.cjs';
|
|
39
41
|
export { Navigation, NavigationEntry, NavigationOptions, getNavigation, go, goback, goto } from './navigation/index.cjs';
|
|
40
42
|
export { Ipc, getIpc } from './ipc/index.cjs';
|
|
41
43
|
export { IpcPushOptions } from './ipc/shared.cjs';
|
|
44
|
+
import '@noego/ioc';
|
|
42
45
|
import './runtime/app_env.cjs';
|
|
43
46
|
import 'rxjs';
|
|
47
|
+
import '@noego/trace';
|
|
44
48
|
import '@noego/telemetry/core';
|
|
45
|
-
import '
|
|
49
|
+
import './navigation/automation_introspection.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export { DevConfig, ElectronBuilderConfig, WindowDef, WoodConfig } from './types/config.js';
|
|
1
|
+
export { DevConfig, ElectronBuilderConfig, ObservabilityConfig, RendererTraceBatchingConfig, WindowDef, WoodConfig } from './types/config.js';
|
|
2
2
|
export { OperationDef, RawModuleDef, RawModuleOperationEntry, RawOperationEntry, RawOperationsDocument } from './types/operations.js';
|
|
3
3
|
export { ParameterDef, RawViewEntry, RawViewsDocument, ViewDef } from './types/views.js';
|
|
4
4
|
export { ControllerArgs, IpcContext, LoaderResult, RequestData, WoodMiddlewareContext, WoodMiddlewareFn } from './types/context.js';
|
|
5
5
|
export { BackendRestartingError, BridgeElectronApi, BridgeMessage, BridgePush, BridgeReady, BridgeRequest, BridgeResponse, SerializedError, WoodAuthError, WoodValidationError } from './types/bridge.js';
|
|
6
6
|
export { ContextMenuContext, ContextMenuEvent, ContextMenuItem } from './types/context_menu.js';
|
|
7
|
-
export { parseConfig } from './config/config_parser.js';
|
|
8
|
-
export { parseOperations, parseOperationsFile } from './parser/operations_parser.js';
|
|
7
|
+
export { RENDERER_TRACE_BATCHING_DEFAULTS, parseConfig, resolveRendererTraceBatching } from './config/config_parser.js';
|
|
8
|
+
export { parseOperations, parseOperationsDocument, parseOperationsFile } from './parser/operations_parser.js';
|
|
9
9
|
export { parseViews, parseViewsFile } from './parser/views_parser.js';
|
|
10
10
|
export { WoodRouter } from './router/wood_router.js';
|
|
11
11
|
export { SchemaValidator } from './validation/schema_validator.js';
|
|
12
12
|
export { MiddlewareResolver } from './middleware/middleware_resolver.js';
|
|
13
13
|
export { buildMiddlewareContext, executeMiddleware } from './middleware/middleware_pipeline.js';
|
|
14
|
-
export { ControllerResolver, buildControllerArgs } from './controller/controller_resolver.js';
|
|
14
|
+
export { ControllerResolver, buildControllerArgs, buildOperationContext, usesOperationContext } from './controller/controller_resolver.js';
|
|
15
15
|
export { ControllerLifecycle, disposeControllerLifecycle } from './controller/controller_lifecycle.js';
|
|
16
16
|
export { generatePreload } from './codegen/preload_generator.js';
|
|
17
17
|
export { generateTypes } from './codegen/type_generator.js';
|
|
@@ -28,18 +28,22 @@ export { LoaderRunner } from './loader/loader_runner.js';
|
|
|
28
28
|
export { BackendBridge } from './bridge/backend_bridge.js';
|
|
29
29
|
export { pushEvent, startBackendLoop } from './bridge/backend_entry.js';
|
|
30
30
|
export { DEFAULT_WOOD_REMOTE_DEBUGGING_PORT, WOOD_DEV_DIRECTORY, WOOD_DEV_METADATA_BASENAME, WoodDevMetadata, readWoodDevMetadata, removeWoodDevMetadata, resolveWoodDevDirectory, resolveWoodDevMetadataPath, resolveWoodRemoteDebuggingPort, writeWoodDevMetadata } from './dev/dev_metadata.js';
|
|
31
|
-
export { GetContainerOptions, clearContainerRegistryForTests, getContainer } from './runtime/get_container.js';
|
|
31
|
+
export { GetContainerOptions, clearContainerRegistryForTests, createWoodRoot, getContainer } from './runtime/get_container.js';
|
|
32
32
|
export { clearApplicationRootForTests, getApplicationRoot, setApplicationRoot } from './runtime/application_root.js';
|
|
33
33
|
export { RegisterRuntimeRouter, RuntimeOptions, RuntimeResult, runtime } from './runtime/runtime.js';
|
|
34
34
|
export { clearRendererTraceBatchReceiverForTests, getRendererTraceBatchReceiver, setRendererTraceBatchReceiver } from './runtime/renderer_trace_batch_receiver_registry.js';
|
|
35
|
-
export { T as TraceDispatchResult, a as TraceEvent, b as TraceInput, c as TraceLevel, d as TraceProcess, e as TraceRuntimeContext, f as TraceWaitOptions, W as WoodTraceEventSink, g as WoodTraceEventSnapshot, h as WoodTraceSinkDisposer, i as clearTraceHubForTests, j as getTraceEvents$, r as registerTraceSink, s as setRendererTraceEnabled,
|
|
35
|
+
export { T as TraceDispatchResult, a as TraceEvent, b as TraceInput, c as TraceLevel, d as TraceProcess, e as TraceRuntimeContext, f as TraceWaitOptions, W as WoodTraceEventSink, g as WoodTraceEventSnapshot, h as WoodTraceSinkDisposer, i as clearTraceHubForTests, j as getTraceEvents$, k as getTraceProducerId, l as ingestRemoteTraceEvent, p as publishMainTrace, m as publishTestTrace, r as registerTraceSink, s as setRendererTraceEnabled, n as setRendererTraceTransport } from './trace_hub-Cpo_nVze.js';
|
|
36
|
+
export { WoodTraceBatchConversion, woodBatchToTraceBatch } from './tracing/trace_batch_adapter.js';
|
|
36
37
|
export { WoodRendererTraceEvent, WoodRendererTraceInput, WoodTraceBatch, WoodTraceBatchAcknowledgement, WoodTraceBatchReceiver, WoodTraceBatchRuntimeContext } from './tracing/types/wood_trace_batch.types.js';
|
|
38
|
+
export { WoodTraceBatchContract } from './tracing/wood_trace_batch_contract.js';
|
|
37
39
|
export { TraceCommitRow, TraceCommitWriter, TraceCommitWriterOptions, TraceFlushOptions, TraceFlushResult, WoodTracePersistencePort } from './tracing/trace_commit_writer.js';
|
|
38
40
|
export { FrameworkTracer, MainTracer, RendererTracer, TestTracer, TraceProvider, TraceProviderConfiguration, TraceProviderMode, TraceRuntime } from './tracing/trace_provider.js';
|
|
39
41
|
export { Navigation, NavigationEntry, NavigationOptions, getNavigation, go, goback, goto } from './navigation/index.js';
|
|
40
42
|
export { Ipc, getIpc } from './ipc/index.js';
|
|
41
43
|
export { IpcPushOptions } from './ipc/shared.js';
|
|
44
|
+
import '@noego/ioc';
|
|
42
45
|
import './runtime/app_env.js';
|
|
43
46
|
import 'rxjs';
|
|
47
|
+
import '@noego/trace';
|
|
44
48
|
import '@noego/telemetry/core';
|
|
45
|
-
import '
|
|
49
|
+
import './navigation/automation_introspection.js';
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { WoodAuthError, WoodValidationError, BackendRestartingError } from "./types/index.js";
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
parseConfig,
|
|
4
|
+
resolveRendererTraceBatching,
|
|
5
|
+
RENDERER_TRACE_BATCHING_DEFAULTS
|
|
6
|
+
} from "./config/index.js";
|
|
7
|
+
import { parseOperations, parseOperationsDocument, parseOperationsFile } from "./parser/index.js";
|
|
4
8
|
import { parseViews, parseViewsFile } from "./parser/index.js";
|
|
5
9
|
import { WoodRouter } from "./router/index.js";
|
|
6
10
|
import { SchemaValidator } from "./validation/index.js";
|
|
7
11
|
import { MiddlewareResolver, buildMiddlewareContext, executeMiddleware } from "./middleware/index.js";
|
|
8
|
-
import { ControllerResolver, buildControllerArgs, disposeControllerLifecycle } from "./controller/index.js";
|
|
12
|
+
import { ControllerResolver, buildControllerArgs, buildOperationContext, usesOperationContext, disposeControllerLifecycle } from "./controller/index.js";
|
|
9
13
|
import { generatePreload } from "./codegen/index.js";
|
|
10
14
|
import { generateTypes } from "./codegen/index.js";
|
|
11
15
|
import { generateChannelMap } from "./codegen/index.js";
|
|
@@ -30,6 +34,7 @@ import {
|
|
|
30
34
|
removeWoodDevMetadata
|
|
31
35
|
} from "./dev/dev_metadata.js";
|
|
32
36
|
import {
|
|
37
|
+
createWoodRoot,
|
|
33
38
|
getContainer,
|
|
34
39
|
clearContainerRegistryForTests,
|
|
35
40
|
getApplicationRoot,
|
|
@@ -52,9 +57,15 @@ import {
|
|
|
52
57
|
TraceCommitWriter,
|
|
53
58
|
clearTraceHubForTests,
|
|
54
59
|
getTraceEvents$,
|
|
60
|
+
getTraceProducerId,
|
|
61
|
+
ingestRemoteTraceEvent,
|
|
62
|
+
publishMainTrace,
|
|
63
|
+
publishTestTrace,
|
|
55
64
|
registerTraceSink,
|
|
56
65
|
setRendererTraceEnabled,
|
|
57
|
-
setRendererTraceTransport
|
|
66
|
+
setRendererTraceTransport,
|
|
67
|
+
woodBatchToTraceBatch,
|
|
68
|
+
WoodTraceBatchContract
|
|
58
69
|
} from "./tracing/index.js";
|
|
59
70
|
export {
|
|
60
71
|
BackendBridge,
|
|
@@ -67,6 +78,7 @@ export {
|
|
|
67
78
|
MainTracer,
|
|
68
79
|
MiddlewareResolver,
|
|
69
80
|
Navigation,
|
|
81
|
+
RENDERER_TRACE_BATCHING_DEFAULTS,
|
|
70
82
|
RendererTracer,
|
|
71
83
|
SchemaValidator,
|
|
72
84
|
TestTracer,
|
|
@@ -79,13 +91,16 @@ export {
|
|
|
79
91
|
WindowStateStore,
|
|
80
92
|
WoodAuthError,
|
|
81
93
|
WoodRouter,
|
|
94
|
+
WoodTraceBatchContract,
|
|
82
95
|
WoodValidationError,
|
|
83
96
|
buildControllerArgs,
|
|
84
97
|
buildMiddlewareContext,
|
|
98
|
+
buildOperationContext,
|
|
85
99
|
clearApplicationRootForTests,
|
|
86
100
|
clearContainerRegistryForTests,
|
|
87
101
|
clearRendererTraceBatchReceiverForTests,
|
|
88
102
|
clearTraceHubForTests,
|
|
103
|
+
createWoodRoot,
|
|
89
104
|
disposeControllerLifecycle,
|
|
90
105
|
executeMiddleware,
|
|
91
106
|
generateChannelMap,
|
|
@@ -103,18 +118,24 @@ export {
|
|
|
103
118
|
getNavigation,
|
|
104
119
|
getRendererTraceBatchReceiver,
|
|
105
120
|
getTraceEvents$,
|
|
121
|
+
getTraceProducerId,
|
|
106
122
|
go,
|
|
107
123
|
goback,
|
|
108
124
|
goto,
|
|
125
|
+
ingestRemoteTraceEvent,
|
|
109
126
|
parseConfig,
|
|
110
127
|
parseOperations,
|
|
128
|
+
parseOperationsDocument,
|
|
111
129
|
parseOperationsFile,
|
|
112
130
|
parseViews,
|
|
113
131
|
parseViewsFile,
|
|
132
|
+
publishMainTrace,
|
|
133
|
+
publishTestTrace,
|
|
114
134
|
pushEvent,
|
|
115
135
|
readWoodDevMetadata,
|
|
116
136
|
registerTraceSink,
|
|
117
137
|
removeWoodDevMetadata,
|
|
138
|
+
resolveRendererTraceBatching,
|
|
118
139
|
resolveWoodDevDirectory,
|
|
119
140
|
resolveWoodDevMetadataPath,
|
|
120
141
|
resolveWoodRemoteDebuggingPort,
|
|
@@ -124,6 +145,8 @@ export {
|
|
|
124
145
|
setRendererTraceEnabled,
|
|
125
146
|
setRendererTraceTransport,
|
|
126
147
|
startBackendLoop,
|
|
148
|
+
usesOperationContext,
|
|
149
|
+
woodBatchToTraceBatch,
|
|
127
150
|
writeWoodDevMetadata
|
|
128
151
|
};
|
|
129
152
|
//# sourceMappingURL=index.js.map
|