@aotui/runtime 1.0.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/dist/adapters/aotui-driven-source.d.ts +106 -0
- package/dist/adapters/aotui-driven-source.js +549 -0
- package/dist/adapters/aotui-driven-source.js.map +1 -0
- package/dist/adapters/bridge/index.d.ts +94 -0
- package/dist/adapters/bridge/index.js +199 -0
- package/dist/adapters/bridge/index.js.map +1 -0
- package/dist/adapters/index.d.ts +7 -0
- package/dist/adapters/index.js +8 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/session/index.d.ts +7 -0
- package/dist/adapters/session/index.js +2 -0
- package/dist/adapters/session/index.js.map +1 -0
- package/dist/adapters/session/session.d.ts +46 -0
- package/dist/adapters/session/session.js +76 -0
- package/dist/adapters/session/session.js.map +1 -0
- package/dist/adapters/session/types.d.ts +52 -0
- package/dist/adapters/session/types.js +7 -0
- package/dist/adapters/session/types.js.map +1 -0
- package/dist/adapters/system-instruction.d.ts +9 -0
- package/dist/adapters/system-instruction.js +434 -0
- package/dist/adapters/system-instruction.js.map +1 -0
- package/dist/benchmarks/dom-engine-comparison.d.ts +1 -0
- package/dist/benchmarks/dom-engine-comparison.js +84 -0
- package/dist/benchmarks/dom-engine-comparison.js.map +1 -0
- package/dist/benchmarks/shadow-dom-check.d.ts +1 -0
- package/dist/benchmarks/shadow-dom-check.js +44 -0
- package/dist/benchmarks/shadow-dom-check.js.map +1 -0
- package/dist/cli.d.ts +17 -0
- package/dist/cli.js +314 -0
- package/dist/cli.js.map +1 -0
- package/dist/engine/app/config.d.ts +81 -0
- package/dist/engine/app/config.js +32 -0
- package/dist/engine/app/config.js.map +1 -0
- package/dist/engine/app/index.d.ts +14 -0
- package/dist/engine/app/index.js +33 -0
- package/dist/engine/app/index.js.map +1 -0
- package/dist/engine/app/manager.d.ts +194 -0
- package/dist/engine/app/manager.js +340 -0
- package/dist/engine/app/manager.js.map +1 -0
- package/dist/engine/app/registry.d.ts +138 -0
- package/dist/engine/app/registry.js +473 -0
- package/dist/engine/app/registry.js.map +1 -0
- package/dist/engine/app/worker-app-host.service.d.ts +62 -0
- package/dist/engine/app/worker-app-host.service.js +189 -0
- package/dist/engine/app/worker-app-host.service.js.map +1 -0
- package/dist/engine/app/worker-host.d.ts +139 -0
- package/dist/engine/app/worker-host.js +397 -0
- package/dist/engine/app/worker-host.js.map +1 -0
- package/dist/engine/app/worker-pool.d.ts +45 -0
- package/dist/engine/app/worker-pool.js +122 -0
- package/dist/engine/app/worker-pool.js.map +1 -0
- package/dist/engine/app/worker-sandbox.d.ts +152 -0
- package/dist/engine/app/worker-sandbox.js +290 -0
- package/dist/engine/app/worker-sandbox.js.map +1 -0
- package/dist/engine/core/desktop-logger.d.ts +69 -0
- package/dist/engine/core/desktop-logger.js +124 -0
- package/dist/engine/core/desktop-logger.js.map +1 -0
- package/dist/engine/core/desktop.d.ts +208 -0
- package/dist/engine/core/desktop.js +351 -0
- package/dist/engine/core/desktop.js.map +1 -0
- package/dist/engine/core/index.d.ts +12 -0
- package/dist/engine/core/index.js +28 -0
- package/dist/engine/core/index.js.map +1 -0
- package/dist/engine/core/llm-output-channel.d.ts +45 -0
- package/dist/engine/core/llm-output-channel.js +122 -0
- package/dist/engine/core/llm-output-channel.js.map +1 -0
- package/dist/engine/core/manager.d.ts +59 -0
- package/dist/engine/core/manager.js +131 -0
- package/dist/engine/core/manager.js.map +1 -0
- package/dist/engine/core/operation-log-buffer.d.ts +79 -0
- package/dist/engine/core/operation-log-buffer.js +108 -0
- package/dist/engine/core/operation-log-buffer.js.map +1 -0
- package/dist/engine/core/operation-log-formatter.d.ts +44 -0
- package/dist/engine/core/operation-log-formatter.js +180 -0
- package/dist/engine/core/operation-log-formatter.js.map +1 -0
- package/dist/engine/core/services/lock.service.d.ts +33 -0
- package/dist/engine/core/services/lock.service.js +99 -0
- package/dist/engine/core/services/lock.service.js.map +1 -0
- package/dist/engine/core/signal-bus.d.ts +84 -0
- package/dist/engine/core/signal-bus.js +160 -0
- package/dist/engine/core/signal-bus.js.map +1 -0
- package/dist/engine/core/signal-service.d.ts +42 -0
- package/dist/engine/core/signal-service.js +58 -0
- package/dist/engine/core/signal-service.js.map +1 -0
- package/dist/engine/system/dispatcher.d.ts +18 -0
- package/dist/engine/system/dispatcher.js +48 -0
- package/dist/engine/system/dispatcher.js.map +1 -0
- package/dist/engine/system/index.d.ts +10 -0
- package/dist/engine/system/index.js +20 -0
- package/dist/engine/system/index.js.map +1 -0
- package/dist/engine/system/operations/index.d.ts +26 -0
- package/dist/engine/system/operations/index.js +38 -0
- package/dist/engine/system/operations/index.js.map +1 -0
- package/dist/engine/system/operations/registry.d.ts +62 -0
- package/dist/engine/system/operations/registry.js +101 -0
- package/dist/engine/system/operations/registry.js.map +1 -0
- package/dist/engine/system/operations/system/close-app.d.ts +13 -0
- package/dist/engine/system/operations/system/close-app.js +43 -0
- package/dist/engine/system/operations/system/close-app.js.map +1 -0
- package/dist/engine/system/operations/system/dismount-view.d.ts +13 -0
- package/dist/engine/system/operations/system/dismount-view.js +48 -0
- package/dist/engine/system/operations/system/dismount-view.js.map +1 -0
- package/dist/engine/system/operations/system/index.d.ts +6 -0
- package/dist/engine/system/operations/system/index.js +7 -0
- package/dist/engine/system/operations/system/index.js.map +1 -0
- package/dist/engine/system/operations/system/open-app.d.ts +13 -0
- package/dist/engine/system/operations/system/open-app.js +43 -0
- package/dist/engine/system/operations/system/open-app.js.map +1 -0
- package/dist/engine/system/registry.d.ts +36 -0
- package/dist/engine/system/registry.js +101 -0
- package/dist/engine/system/registry.js.map +1 -0
- package/dist/engine/view/index.d.ts +13 -0
- package/dist/engine/view/index.js +20 -0
- package/dist/engine/view/index.js.map +1 -0
- package/dist/engine/view/manager.d.ts +42 -0
- package/dist/engine/view/manager.js +57 -0
- package/dist/engine/view/manager.js.map +1 -0
- package/dist/engine/view/snapshot/builder.d.ts +34 -0
- package/dist/engine/view/snapshot/builder.js +119 -0
- package/dist/engine/view/snapshot/builder.js.map +1 -0
- package/dist/engine/view/snapshot/formatter.d.ts +76 -0
- package/dist/engine/view/snapshot/formatter.js +297 -0
- package/dist/engine/view/snapshot/formatter.js.map +1 -0
- package/dist/engine/view/snapshot/index.d.ts +8 -0
- package/dist/engine/view/snapshot/index.js +8 -0
- package/dist/engine/view/snapshot/index.js.map +1 -0
- package/dist/engine/view/snapshot/templates.d.ts +41 -0
- package/dist/engine/view/snapshot/templates.js +317 -0
- package/dist/engine/view/snapshot/templates.js.map +1 -0
- package/dist/engine/view/transformer/__tests__/visitors/test-utils.d.ts +1 -0
- package/dist/engine/view/transformer/__tests__/visitors/test-utils.js +14 -0
- package/dist/engine/view/transformer/__tests__/visitors/test-utils.js.map +1 -0
- package/dist/engine/view/transformer/helpers.d.ts +19 -0
- package/dist/engine/view/transformer/helpers.js +32 -0
- package/dist/engine/view/transformer/helpers.js.map +1 -0
- package/dist/engine/view/transformer/index.d.ts +40 -0
- package/dist/engine/view/transformer/index.js +38 -0
- package/dist/engine/view/transformer/index.js.map +1 -0
- package/dist/engine/view/transformer/pure.d.ts +17 -0
- package/dist/engine/view/transformer/pure.js +124 -0
- package/dist/engine/view/transformer/pure.js.map +1 -0
- package/dist/engine/view/transformer/types.d.ts +31 -0
- package/dist/engine/view/transformer/types.js +16 -0
- package/dist/engine/view/transformer/types.js.map +1 -0
- package/dist/engine/view/transformer/visitors/application.visitor.d.ts +8 -0
- package/dist/engine/view/transformer/visitors/application.visitor.js +37 -0
- package/dist/engine/view/transformer/visitors/application.visitor.js.map +1 -0
- package/dist/engine/view/transformer/visitors/html.visitor.d.ts +8 -0
- package/dist/engine/view/transformer/visitors/html.visitor.js +161 -0
- package/dist/engine/view/transformer/visitors/html.visitor.js.map +1 -0
- package/dist/engine/view/transformer/visitors/index.d.ts +12 -0
- package/dist/engine/view/transformer/visitors/index.js +27 -0
- package/dist/engine/view/transformer/visitors/index.js.map +1 -0
- package/dist/engine/view/transformer/visitors/interface.d.ts +53 -0
- package/dist/engine/view/transformer/visitors/interface.js +8 -0
- package/dist/engine/view/transformer/visitors/interface.js.map +1 -0
- package/dist/engine/view/transformer/visitors/operation.visitor.d.ts +9 -0
- package/dist/engine/view/transformer/visitors/operation.visitor.js +122 -0
- package/dist/engine/view/transformer/visitors/operation.visitor.js.map +1 -0
- package/dist/engine/view/transformer/visitors/view-link.visitor.d.ts +15 -0
- package/dist/engine/view/transformer/visitors/view-link.visitor.js +98 -0
- package/dist/engine/view/transformer/visitors/view-link.visitor.js.map +1 -0
- package/dist/engine/view/transformer/visitors/view.visitor.d.ts +8 -0
- package/dist/engine/view/transformer/visitors/view.visitor.js +43 -0
- package/dist/engine/view/transformer/visitors/view.visitor.js.map +1 -0
- package/dist/engine/view/types.d.ts +70 -0
- package/dist/engine/view/types.js +17 -0
- package/dist/engine/view/types.js.map +1 -0
- package/dist/facades/facades.d.ts +40 -0
- package/dist/facades/facades.js +66 -0
- package/dist/facades/facades.js.map +1 -0
- package/dist/facades/index.d.ts +13 -0
- package/dist/facades/index.js +15 -0
- package/dist/facades/index.js.map +1 -0
- package/dist/factory/createKernel.d.ts +37 -0
- package/dist/factory/createKernel.js +42 -0
- package/dist/factory/createKernel.js.map +1 -0
- package/dist/factory/index.d.ts +9 -0
- package/dist/factory/index.js +10 -0
- package/dist/factory/index.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.js +69 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/browser.d.ts +20 -0
- package/dist/internal/browser.js +20 -0
- package/dist/internal/browser.js.map +1 -0
- package/dist/kernel/index.d.ts +120 -0
- package/dist/kernel/index.js +328 -0
- package/dist/kernel/index.js.map +1 -0
- package/dist/spi/app/aoapp.d.ts +86 -0
- package/dist/spi/app/aoapp.js +39 -0
- package/dist/spi/app/aoapp.js.map +1 -0
- package/dist/spi/app/app-config.interface.d.ts +9 -0
- package/dist/spi/app/app-config.interface.js +2 -0
- package/dist/spi/app/app-config.interface.js.map +1 -0
- package/dist/spi/app/app-factory.interface.d.ts +78 -0
- package/dist/spi/app/app-factory.interface.js +49 -0
- package/dist/spi/app/app-factory.interface.js.map +1 -0
- package/dist/spi/app/app-kernel.interface.d.ts +139 -0
- package/dist/spi/app/app-kernel.interface.js +2 -0
- package/dist/spi/app/app-kernel.interface.js.map +1 -0
- package/dist/spi/app/app.interface.d.ts +84 -0
- package/dist/spi/app/app.interface.js +8 -0
- package/dist/spi/app/app.interface.js.map +1 -0
- package/dist/spi/app/index.d.ts +26 -0
- package/dist/spi/app/index.js +13 -0
- package/dist/spi/app/index.js.map +1 -0
- package/dist/spi/app/public-types.d.ts +309 -0
- package/dist/spi/app/public-types.js +17 -0
- package/dist/spi/app/public-types.js.map +1 -0
- package/dist/spi/app/ref-exporter.interface.d.ts +23 -0
- package/dist/spi/app/ref-exporter.interface.js +10 -0
- package/dist/spi/app/ref-exporter.interface.js.map +1 -0
- package/dist/spi/app/store.interface.d.ts +45 -0
- package/dist/spi/app/store.interface.js +11 -0
- package/dist/spi/app/store.interface.js.map +1 -0
- package/dist/spi/app/view-context-core.interface.d.ts +50 -0
- package/dist/spi/app/view-context-core.interface.js +8 -0
- package/dist/spi/app/view-context-core.interface.js.map +1 -0
- package/dist/spi/app/view-context-ext.interface.d.ts +79 -0
- package/dist/spi/app/view-context-ext.interface.js +19 -0
- package/dist/spi/app/view-context-ext.interface.js.map +1 -0
- package/dist/spi/app/view-factory.interface.d.ts +46 -0
- package/dist/spi/app/view-factory.interface.js +2 -0
- package/dist/spi/app/view-factory.interface.js.map +1 -0
- package/dist/spi/app/view-link.types.d.ts +136 -0
- package/dist/spi/app/view-link.types.js +19 -0
- package/dist/spi/app/view-link.types.js.map +1 -0
- package/dist/spi/app/view-tree.interface.d.ts +254 -0
- package/dist/spi/app/view-tree.interface.js +13 -0
- package/dist/spi/app/view-tree.interface.js.map +1 -0
- package/dist/spi/app/view.interface.d.ts +122 -0
- package/dist/spi/app/view.interface.js +15 -0
- package/dist/spi/app/view.interface.js.map +1 -0
- package/dist/spi/bridge/bridge.interface.d.ts +118 -0
- package/dist/spi/bridge/bridge.interface.js +32 -0
- package/dist/spi/bridge/bridge.interface.js.map +1 -0
- package/dist/spi/bridge/index.d.ts +8 -0
- package/dist/spi/bridge/index.js +9 -0
- package/dist/spi/bridge/index.js.map +1 -0
- package/dist/spi/component-factory.interface.d.ts +123 -0
- package/dist/spi/component-factory.interface.js +15 -0
- package/dist/spi/component-factory.interface.js.map +1 -0
- package/dist/spi/config/define-config.d.ts +31 -0
- package/dist/spi/config/define-config.js +72 -0
- package/dist/spi/config/define-config.js.map +1 -0
- package/dist/spi/config/domains/bridge.config.d.ts +21 -0
- package/dist/spi/config/domains/bridge.config.js +10 -0
- package/dist/spi/config/domains/bridge.config.js.map +1 -0
- package/dist/spi/config/domains/lock.config.d.ts +20 -0
- package/dist/spi/config/domains/lock.config.js +10 -0
- package/dist/spi/config/domains/lock.config.js.map +1 -0
- package/dist/spi/config/domains/logger.config.d.ts +28 -0
- package/dist/spi/config/domains/logger.config.js +11 -0
- package/dist/spi/config/domains/logger.config.js.map +1 -0
- package/dist/spi/config/domains/snapshot.config.d.ts +20 -0
- package/dist/spi/config/domains/snapshot.config.js +10 -0
- package/dist/spi/config/domains/snapshot.config.js.map +1 -0
- package/dist/spi/config/domains/transform.config.d.ts +28 -0
- package/dist/spi/config/domains/transform.config.js +11 -0
- package/dist/spi/config/domains/transform.config.js.map +1 -0
- package/dist/spi/config/domains/worker.config.d.ts +54 -0
- package/dist/spi/config/domains/worker.config.js +15 -0
- package/dist/spi/config/domains/worker.config.js.map +1 -0
- package/dist/spi/config/index.d.ts +16 -0
- package/dist/spi/config/index.js +18 -0
- package/dist/spi/config/index.js.map +1 -0
- package/dist/spi/config/types.d.ts +38 -0
- package/dist/spi/config/types.js +7 -0
- package/dist/spi/config/types.js.map +1 -0
- package/dist/spi/config/validate.d.ts +12 -0
- package/dist/spi/config/validate.js +90 -0
- package/dist/spi/config/validate.js.map +1 -0
- package/dist/spi/core/errors.d.ts +117 -0
- package/dist/spi/core/errors.js +233 -0
- package/dist/spi/core/errors.js.map +1 -0
- package/dist/spi/core/id-factory.d.ts +85 -0
- package/dist/spi/core/id-factory.js +119 -0
- package/dist/spi/core/id-factory.js.map +1 -0
- package/dist/spi/core/index.d.ts +21 -0
- package/dist/spi/core/index.js +25 -0
- package/dist/spi/core/index.js.map +1 -0
- package/dist/spi/core/llm-output.d.ts +74 -0
- package/dist/spi/core/llm-output.js +12 -0
- package/dist/spi/core/llm-output.js.map +1 -0
- package/dist/spi/core/operation-log.d.ts +133 -0
- package/dist/spi/core/operation-log.js +13 -0
- package/dist/spi/core/operation-log.js.map +1 -0
- package/dist/spi/core/operations.d.ts +198 -0
- package/dist/spi/core/operations.js +13 -0
- package/dist/spi/core/operations.js.map +1 -0
- package/dist/spi/core/signals.d.ts +16 -0
- package/dist/spi/core/signals.js +7 -0
- package/dist/spi/core/signals.js.map +1 -0
- package/dist/spi/core/snapshot.d.ts +77 -0
- package/dist/spi/core/snapshot.js +18 -0
- package/dist/spi/core/snapshot.js.map +1 -0
- package/dist/spi/core/tool-call.d.ts +60 -0
- package/dist/spi/core/tool-call.js +10 -0
- package/dist/spi/core/tool-call.js.map +1 -0
- package/dist/spi/core/types.d.ts +68 -0
- package/dist/spi/core/types.js +8 -0
- package/dist/spi/core/types.js.map +1 -0
- package/dist/spi/index.d.ts +31 -0
- package/dist/spi/index.js +57 -0
- package/dist/spi/index.js.map +1 -0
- package/dist/spi/runtime/app-host.interface.d.ts +142 -0
- package/dist/spi/runtime/app-host.interface.js +10 -0
- package/dist/spi/runtime/app-host.interface.js.map +1 -0
- package/dist/spi/runtime/app-installer.interface.d.ts +33 -0
- package/dist/spi/runtime/app-installer.interface.js +2 -0
- package/dist/spi/runtime/app-installer.interface.js.map +1 -0
- package/dist/spi/runtime/context.interface.d.ts +10 -0
- package/dist/spi/runtime/context.interface.js +2 -0
- package/dist/spi/runtime/context.interface.js.map +1 -0
- package/dist/spi/runtime/desktop-context.interface.d.ts +45 -0
- package/dist/spi/runtime/desktop-context.interface.js +10 -0
- package/dist/spi/runtime/desktop-context.interface.js.map +1 -0
- package/dist/spi/runtime/desktop-dom.interface.d.ts +48 -0
- package/dist/spi/runtime/desktop-dom.interface.js +13 -0
- package/dist/spi/runtime/desktop-dom.interface.js.map +1 -0
- package/dist/spi/runtime/desktop-lifecycle.interface.d.ts +23 -0
- package/dist/spi/runtime/desktop-lifecycle.interface.js +2 -0
- package/dist/spi/runtime/desktop-lifecycle.interface.js.map +1 -0
- package/dist/spi/runtime/desktop-lock.interface.d.ts +50 -0
- package/dist/spi/runtime/desktop-lock.interface.js +2 -0
- package/dist/spi/runtime/desktop-lock.interface.js.map +1 -0
- package/dist/spi/runtime/desktop-manager.interface.d.ts +22 -0
- package/dist/spi/runtime/desktop-manager.interface.js +13 -0
- package/dist/spi/runtime/desktop-manager.interface.js.map +1 -0
- package/dist/spi/runtime/desktop-repository.interface.d.ts +8 -0
- package/dist/spi/runtime/desktop-repository.interface.js +2 -0
- package/dist/spi/runtime/desktop-repository.interface.js.map +1 -0
- package/dist/spi/runtime/desktop-state-accessor.interface.d.ts +22 -0
- package/dist/spi/runtime/desktop-state-accessor.interface.js +2 -0
- package/dist/spi/runtime/desktop-state-accessor.interface.js.map +1 -0
- package/dist/spi/runtime/dispatcher.interface.d.ts +34 -0
- package/dist/spi/runtime/dispatcher.interface.js +10 -0
- package/dist/spi/runtime/dispatcher.interface.js.map +1 -0
- package/dist/spi/runtime/index.d.ts +28 -0
- package/dist/spi/runtime/index.js +11 -0
- package/dist/spi/runtime/index.js.map +1 -0
- package/dist/spi/runtime/kernel.interface.d.ts +221 -0
- package/dist/spi/runtime/kernel.interface.js +7 -0
- package/dist/spi/runtime/kernel.interface.js.map +1 -0
- package/dist/spi/runtime/llm-output-channel.interface.d.ts +81 -0
- package/dist/spi/runtime/llm-output-channel.interface.js +12 -0
- package/dist/spi/runtime/llm-output-channel.interface.js.map +1 -0
- package/dist/spi/runtime/signal.interface.d.ts +80 -0
- package/dist/spi/runtime/signal.interface.js +9 -0
- package/dist/spi/runtime/signal.interface.js.map +1 -0
- package/dist/spi/runtime/snapshot.interface.d.ts +126 -0
- package/dist/spi/runtime/snapshot.interface.js +14 -0
- package/dist/spi/runtime/snapshot.interface.js.map +1 -0
- package/dist/spi/runtime/transformer.interface.d.ts +47 -0
- package/dist/spi/runtime/transformer.interface.js +10 -0
- package/dist/spi/runtime/transformer.interface.js.map +1 -0
- package/dist/spi/runtime/worker-message.interface.d.ts +80 -0
- package/dist/spi/runtime/worker-message.interface.js +49 -0
- package/dist/spi/runtime/worker-message.interface.js.map +1 -0
- package/dist/spi/runtime/worker-runtime.interface.d.ts +177 -0
- package/dist/spi/runtime/worker-runtime.interface.js +14 -0
- package/dist/spi/runtime/worker-runtime.interface.js.map +1 -0
- package/dist/spi/worker-protocol/index.d.ts +26 -0
- package/dist/spi/worker-protocol/index.js +29 -0
- package/dist/spi/worker-protocol/index.js.map +1 -0
- package/dist/spi/worker-protocol/messages.d.ts +257 -0
- package/dist/spi/worker-protocol/messages.js +42 -0
- package/dist/spi/worker-protocol/messages.js.map +1 -0
- package/dist/spi/worker-protocol/types.d.ts +12 -0
- package/dist/spi/worker-protocol/types.js +16 -0
- package/dist/spi/worker-protocol/types.js.map +1 -0
- package/dist/worker-runtime/app-kernel/AppKernel.d.ts +178 -0
- package/dist/worker-runtime/app-kernel/AppKernel.js +622 -0
- package/dist/worker-runtime/app-kernel/AppKernel.js.map +1 -0
- package/dist/worker-runtime/app-kernel/index.d.ts +23 -0
- package/dist/worker-runtime/app-kernel/index.js +23 -0
- package/dist/worker-runtime/app-kernel/index.js.map +1 -0
- package/dist/worker-runtime/app-kernel/view-registry.d.ts +85 -0
- package/dist/worker-runtime/app-kernel/view-registry.js +119 -0
- package/dist/worker-runtime/app-kernel/view-registry.js.map +1 -0
- package/dist/worker-runtime/app-kernel/view-tree.d.ts +222 -0
- package/dist/worker-runtime/app-kernel/view-tree.js +682 -0
- package/dist/worker-runtime/app-kernel/view-tree.js.map +1 -0
- package/dist/worker-runtime/index.d.ts +16 -0
- package/dist/worker-runtime/index.js +731 -0
- package/dist/worker-runtime/index.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/spi/config/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime Configuration Validation
|
|
3
|
+
*
|
|
4
|
+
* @module @aotui/runtime/spi/config
|
|
5
|
+
*/
|
|
6
|
+
import type { RuntimeConfig } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* 验证运行时配置
|
|
9
|
+
*
|
|
10
|
+
* @throws {AOTUIError} CONFIG_INVALID 如果任何规则失败
|
|
11
|
+
*/
|
|
12
|
+
export declare function validateRuntimeConfig(config: RuntimeConfig): void;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime Configuration Validation
|
|
3
|
+
*
|
|
4
|
+
* @module @aotui/runtime/spi/config
|
|
5
|
+
*/
|
|
6
|
+
import { AOTUIError } from '../core/errors.js';
|
|
7
|
+
const VALIDATION_RULES = [
|
|
8
|
+
// Worker 规则
|
|
9
|
+
{
|
|
10
|
+
path: 'worker.timeoutMs',
|
|
11
|
+
validate: (c) => c.worker.timeoutMs >= 1000 && c.worker.timeoutMs <= 300_000,
|
|
12
|
+
message: 'worker.timeoutMs must be between 1000ms and 300000ms',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
path: 'worker.pool.maxSize',
|
|
16
|
+
validate: (c) => c.worker.pool.maxSize >= c.worker.pool.initialSize,
|
|
17
|
+
message: 'worker.pool.maxSize must be >= worker.pool.initialSize',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
path: 'worker.pool.initialSize',
|
|
21
|
+
validate: (c) => c.worker.pool.initialSize >= 0 && c.worker.pool.initialSize <= 100,
|
|
22
|
+
message: 'worker.pool.initialSize must be between 0 and 100',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
path: 'worker.pool.idleTimeoutMs',
|
|
26
|
+
validate: (c) => c.worker.pool.idleTimeoutMs >= 5000 && c.worker.pool.idleTimeoutMs <= 600_000,
|
|
27
|
+
message: 'worker.pool.idleTimeoutMs must be between 5000ms and 600000ms',
|
|
28
|
+
},
|
|
29
|
+
// Bridge 规则
|
|
30
|
+
{
|
|
31
|
+
path: 'bridge.debounceMs',
|
|
32
|
+
validate: (c) => c.bridge.debounceMs >= 0 && c.bridge.debounceMs <= 5000,
|
|
33
|
+
message: 'bridge.debounceMs must be between 0ms and 5000ms',
|
|
34
|
+
},
|
|
35
|
+
// Lock 规则
|
|
36
|
+
{
|
|
37
|
+
path: 'lock.ttlMs',
|
|
38
|
+
validate: (c) => c.lock.ttlMs >= 60_000,
|
|
39
|
+
message: 'lock.ttlMs must be at least 60000ms (1 minute)',
|
|
40
|
+
},
|
|
41
|
+
// Snapshot 规则
|
|
42
|
+
{
|
|
43
|
+
path: 'snapshot.ttlMs',
|
|
44
|
+
validate: (c) => c.snapshot.ttlMs >= 60_000,
|
|
45
|
+
message: 'snapshot.ttlMs must be at least 60000ms (1 minute)',
|
|
46
|
+
},
|
|
47
|
+
// Transform 规则
|
|
48
|
+
{
|
|
49
|
+
path: 'transform.domThrottleMs',
|
|
50
|
+
validate: (c) => c.transform.domThrottleMs >= 0 && c.transform.domThrottleMs <= 1000,
|
|
51
|
+
message: 'transform.domThrottleMs must be between 0ms and 1000ms',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
path: 'transform.maxTreeDepth',
|
|
55
|
+
validate: (c) => c.transform.maxTreeDepth >= 1 && c.transform.maxTreeDepth <= 100,
|
|
56
|
+
message: 'transform.maxTreeDepth must be between 1 and 100',
|
|
57
|
+
},
|
|
58
|
+
// Logger 规则
|
|
59
|
+
{
|
|
60
|
+
path: 'logger.maxSystemLogs',
|
|
61
|
+
validate: (c) => c.logger.maxSystemLogs >= 10 && c.logger.maxSystemLogs <= 10000,
|
|
62
|
+
message: 'logger.maxSystemLogs must be between 10 and 10000',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
path: 'logger.maxAppLogs',
|
|
66
|
+
validate: (c) => c.logger.maxAppLogs >= 10 && c.logger.maxAppLogs <= 10000,
|
|
67
|
+
message: 'logger.maxAppLogs must be between 10 and 10000',
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
/**
|
|
71
|
+
* 验证运行时配置
|
|
72
|
+
*
|
|
73
|
+
* @throws {AOTUIError} CONFIG_INVALID 如果任何规则失败
|
|
74
|
+
*/
|
|
75
|
+
export function validateRuntimeConfig(config) {
|
|
76
|
+
const errors = [];
|
|
77
|
+
for (const rule of VALIDATION_RULES) {
|
|
78
|
+
if (!rule.validate(config)) {
|
|
79
|
+
errors.push(`[${rule.path}] ${rule.message}`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (errors.length > 0) {
|
|
83
|
+
// 使用简化的上下文对象以避免循环引用或巨大对象
|
|
84
|
+
throw new AOTUIError('CONFIG_INVALID', {
|
|
85
|
+
errors: errors.join('; '),
|
|
86
|
+
// 不要在错误消息中包含完整 config,可能会很大
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/spi/config/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SPI Core Layer - Error System
|
|
3
|
+
*
|
|
4
|
+
* 统一的错误处理机制,提供类型安全的错误码和结构化错误类。
|
|
5
|
+
*
|
|
6
|
+
* @module @aotui/runtime/spi/core/errors
|
|
7
|
+
*/
|
|
8
|
+
import type { OperationError } from './operations.js';
|
|
9
|
+
/**
|
|
10
|
+
* AOTUI 错误码常量
|
|
11
|
+
*
|
|
12
|
+
* 命名规范: DOMAIN_SPECIFIC_ERROR
|
|
13
|
+
* 例如: DESKTOP_NOT_FOUND, VIEW_DUPLICATE
|
|
14
|
+
*/
|
|
15
|
+
export declare const ERROR_CODES: {
|
|
16
|
+
readonly DESKTOP_NOT_FOUND: "DESKTOP_NOT_FOUND";
|
|
17
|
+
readonly DESKTOP_DISPOSED: "DESKTOP_DISPOSED";
|
|
18
|
+
readonly DESKTOP_LOCKED: "DESKTOP_LOCKED";
|
|
19
|
+
readonly APP_NOT_FOUND: "APP_NOT_FOUND";
|
|
20
|
+
readonly APP_LOAD_FAILED: "APP_LOAD_FAILED";
|
|
21
|
+
readonly APP_INVALID_MANIFEST: "APP_INVALID_MANIFEST";
|
|
22
|
+
readonly APP_INVALID_EXPORT: "APP_INVALID_EXPORT";
|
|
23
|
+
readonly VIEW_NOT_FOUND: "VIEW_NOT_FOUND";
|
|
24
|
+
readonly VIEW_DUPLICATE: "VIEW_DUPLICATE";
|
|
25
|
+
readonly VIEW_PARENT_NOT_FOUND: "VIEW_PARENT_NOT_FOUND";
|
|
26
|
+
readonly VIEW_ROOT_EXISTS: "VIEW_ROOT_EXISTS";
|
|
27
|
+
readonly VIEW_MOUNTABLE_NOT_FOUND: "VIEW_MOUNTABLE_NOT_FOUND";
|
|
28
|
+
readonly VIEW_INVALID_FACTORY: "VIEW_INVALID_FACTORY";
|
|
29
|
+
readonly LINK_DUPLICATE: "LINK_DUPLICATE";
|
|
30
|
+
readonly LINK_NOT_FOUND: "LINK_NOT_FOUND";
|
|
31
|
+
readonly OPERATION_NOT_FOUND: "OPERATION_NOT_FOUND";
|
|
32
|
+
readonly OPERATION_INVALID_ARGS: "OPERATION_INVALID_ARGS";
|
|
33
|
+
readonly OPERATION_NO_HANDLER: "OPERATION_NO_HANDLER";
|
|
34
|
+
readonly OPERATION_DUPLICATE: "OPERATION_DUPLICATE";
|
|
35
|
+
readonly OPERATION_REQUIRES_CONTEXT: "OPERATION_REQUIRES_CONTEXT";
|
|
36
|
+
readonly WORKER_TIMEOUT: "WORKER_TIMEOUT";
|
|
37
|
+
readonly WORKER_NOT_STARTED: "WORKER_NOT_STARTED";
|
|
38
|
+
readonly WORKER_TERMINATED: "WORKER_TERMINATED";
|
|
39
|
+
readonly SNAPSHOT_NOT_FOUND: "SNAPSHOT_NOT_FOUND";
|
|
40
|
+
readonly SNAPSHOT_EXPIRED: "SNAPSHOT_EXPIRED";
|
|
41
|
+
readonly CONFIG_INVALID: "CONFIG_INVALID";
|
|
42
|
+
readonly CONFIG_NOT_SUPPORTED: "CONFIG_NOT_SUPPORTED";
|
|
43
|
+
readonly CONTEXT_NOT_FOUND: "CONTEXT_NOT_FOUND";
|
|
44
|
+
readonly INTERNAL_ERROR: "INTERNAL_ERROR";
|
|
45
|
+
readonly NOT_IMPLEMENTED: "NOT_IMPLEMENTED";
|
|
46
|
+
readonly EXECUTION_FAILED: "EXECUTION_FAILED";
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* 错误码类型
|
|
50
|
+
*/
|
|
51
|
+
export type ErrorCode = typeof ERROR_CODES[keyof typeof ERROR_CODES];
|
|
52
|
+
/**
|
|
53
|
+
* AOTUI 框架错误基类
|
|
54
|
+
*
|
|
55
|
+
* 提供结构化错误信息,包含类型安全的错误码和上下文数据。
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* // 抛出错误
|
|
60
|
+
* throw new AOTUIError('DESKTOP_NOT_FOUND', { desktopId: 'abc123' });
|
|
61
|
+
*
|
|
62
|
+
* // 转换为 OperationResult
|
|
63
|
+
* catch (e) {
|
|
64
|
+
* if (AOTUIError.is(e)) {
|
|
65
|
+
* return { success: false, error: e.toOperationError() };
|
|
66
|
+
* }
|
|
67
|
+
* }
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare class AOTUIError extends Error {
|
|
71
|
+
/**
|
|
72
|
+
* 错误码 (类型安全)
|
|
73
|
+
*/
|
|
74
|
+
readonly code: ErrorCode;
|
|
75
|
+
/**
|
|
76
|
+
* 错误上下文 (结构化调试信息)
|
|
77
|
+
*/
|
|
78
|
+
readonly context: Record<string, unknown>;
|
|
79
|
+
/**
|
|
80
|
+
* 错误发生时间戳
|
|
81
|
+
*/
|
|
82
|
+
readonly timestamp: number;
|
|
83
|
+
constructor(code: ErrorCode, context?: Record<string, unknown>);
|
|
84
|
+
/**
|
|
85
|
+
* 转换为 OperationError
|
|
86
|
+
*
|
|
87
|
+
* 用于在 OperationResult 中返回错误信息
|
|
88
|
+
*/
|
|
89
|
+
toOperationError(): OperationError;
|
|
90
|
+
/**
|
|
91
|
+
* 类型守卫: 检查是否为 AOTUIError
|
|
92
|
+
*/
|
|
93
|
+
static is(error: unknown): error is AOTUIError;
|
|
94
|
+
/**
|
|
95
|
+
* 从普通 Error 创建 AOTUIError
|
|
96
|
+
*
|
|
97
|
+
* 用于包装未知错误
|
|
98
|
+
*/
|
|
99
|
+
static fromError(error: unknown, code?: ErrorCode): AOTUIError;
|
|
100
|
+
/**
|
|
101
|
+
* 格式化错误消息
|
|
102
|
+
*/
|
|
103
|
+
private static formatMessage;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* 创建 OperationError (不抛出异常)
|
|
107
|
+
*
|
|
108
|
+
* 用于构造 OperationResult.error
|
|
109
|
+
*/
|
|
110
|
+
export declare function createOperationError(code: ErrorCode, context?: Record<string, unknown>): OperationError;
|
|
111
|
+
/**
|
|
112
|
+
* 失败的 OperationResult 快捷构造
|
|
113
|
+
*/
|
|
114
|
+
export declare function failedResult(code: ErrorCode, context?: Record<string, unknown>): {
|
|
115
|
+
success: false;
|
|
116
|
+
error: OperationError;
|
|
117
|
+
};
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SPI Core Layer - Error System
|
|
3
|
+
*
|
|
4
|
+
* 统一的错误处理机制,提供类型安全的错误码和结构化错误类。
|
|
5
|
+
*
|
|
6
|
+
* @module @aotui/runtime/spi/core/errors
|
|
7
|
+
*/
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// Error Code Registry (按域分组)
|
|
10
|
+
// ============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* AOTUI 错误码常量
|
|
13
|
+
*
|
|
14
|
+
* 命名规范: DOMAIN_SPECIFIC_ERROR
|
|
15
|
+
* 例如: DESKTOP_NOT_FOUND, VIEW_DUPLICATE
|
|
16
|
+
*/
|
|
17
|
+
export const ERROR_CODES = {
|
|
18
|
+
// ─────────────────────────────────────────────────────────────
|
|
19
|
+
// Desktop Domain
|
|
20
|
+
// ─────────────────────────────────────────────────────────────
|
|
21
|
+
DESKTOP_NOT_FOUND: 'DESKTOP_NOT_FOUND',
|
|
22
|
+
DESKTOP_DISPOSED: 'DESKTOP_DISPOSED',
|
|
23
|
+
DESKTOP_LOCKED: 'DESKTOP_LOCKED',
|
|
24
|
+
// ─────────────────────────────────────────────────────────────
|
|
25
|
+
// App Domain
|
|
26
|
+
// ─────────────────────────────────────────────────────────────
|
|
27
|
+
APP_NOT_FOUND: 'APP_NOT_FOUND',
|
|
28
|
+
APP_LOAD_FAILED: 'APP_LOAD_FAILED',
|
|
29
|
+
APP_INVALID_MANIFEST: 'APP_INVALID_MANIFEST',
|
|
30
|
+
APP_INVALID_EXPORT: 'APP_INVALID_EXPORT',
|
|
31
|
+
// ─────────────────────────────────────────────────────────────
|
|
32
|
+
// View Domain
|
|
33
|
+
// ─────────────────────────────────────────────────────────────
|
|
34
|
+
VIEW_NOT_FOUND: 'VIEW_NOT_FOUND',
|
|
35
|
+
VIEW_DUPLICATE: 'VIEW_DUPLICATE',
|
|
36
|
+
VIEW_PARENT_NOT_FOUND: 'VIEW_PARENT_NOT_FOUND',
|
|
37
|
+
VIEW_ROOT_EXISTS: 'VIEW_ROOT_EXISTS',
|
|
38
|
+
VIEW_MOUNTABLE_NOT_FOUND: 'VIEW_MOUNTABLE_NOT_FOUND',
|
|
39
|
+
VIEW_INVALID_FACTORY: 'VIEW_INVALID_FACTORY',
|
|
40
|
+
// ─────────────────────────────────────────────────────────────
|
|
41
|
+
// ViewLink Domain (RFC-006)
|
|
42
|
+
// ─────────────────────────────────────────────────────────────
|
|
43
|
+
LINK_DUPLICATE: 'LINK_DUPLICATE',
|
|
44
|
+
LINK_NOT_FOUND: 'LINK_NOT_FOUND',
|
|
45
|
+
// ─────────────────────────────────────────────────────────────
|
|
46
|
+
// Operation Domain
|
|
47
|
+
// ─────────────────────────────────────────────────────────────
|
|
48
|
+
OPERATION_NOT_FOUND: 'OPERATION_NOT_FOUND',
|
|
49
|
+
OPERATION_INVALID_ARGS: 'OPERATION_INVALID_ARGS',
|
|
50
|
+
OPERATION_NO_HANDLER: 'OPERATION_NO_HANDLER',
|
|
51
|
+
OPERATION_DUPLICATE: 'OPERATION_DUPLICATE',
|
|
52
|
+
OPERATION_REQUIRES_CONTEXT: 'OPERATION_REQUIRES_CONTEXT',
|
|
53
|
+
// ─────────────────────────────────────────────────────────────
|
|
54
|
+
// Worker Domain
|
|
55
|
+
// ─────────────────────────────────────────────────────────────
|
|
56
|
+
WORKER_TIMEOUT: 'WORKER_TIMEOUT',
|
|
57
|
+
WORKER_NOT_STARTED: 'WORKER_NOT_STARTED',
|
|
58
|
+
WORKER_TERMINATED: 'WORKER_TERMINATED',
|
|
59
|
+
// ─────────────────────────────────────────────────────────────
|
|
60
|
+
// Snapshot Domain
|
|
61
|
+
// ─────────────────────────────────────────────────────────────
|
|
62
|
+
SNAPSHOT_NOT_FOUND: 'SNAPSHOT_NOT_FOUND',
|
|
63
|
+
SNAPSHOT_EXPIRED: 'SNAPSHOT_EXPIRED',
|
|
64
|
+
// ─────────────────────────────────────────────────────────────
|
|
65
|
+
// Config Domain
|
|
66
|
+
// ─────────────────────────────────────────────────────────────
|
|
67
|
+
CONFIG_INVALID: 'CONFIG_INVALID',
|
|
68
|
+
CONFIG_NOT_SUPPORTED: 'CONFIG_NOT_SUPPORTED',
|
|
69
|
+
// ─────────────────────────────────────────────────────────────
|
|
70
|
+
// Context Domain (SDK)
|
|
71
|
+
// ─────────────────────────────────────────────────────────────
|
|
72
|
+
CONTEXT_NOT_FOUND: 'CONTEXT_NOT_FOUND',
|
|
73
|
+
// ─────────────────────────────────────────────────────────────
|
|
74
|
+
// Generic
|
|
75
|
+
// ─────────────────────────────────────────────────────────────
|
|
76
|
+
INTERNAL_ERROR: 'INTERNAL_ERROR',
|
|
77
|
+
NOT_IMPLEMENTED: 'NOT_IMPLEMENTED',
|
|
78
|
+
EXECUTION_FAILED: 'EXECUTION_FAILED',
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* 错误消息模板
|
|
82
|
+
*
|
|
83
|
+
* 每个错误码对应一个消息格式化函数,接收 context 参数生成人类可读的消息。
|
|
84
|
+
*/
|
|
85
|
+
const ERROR_MESSAGES = {
|
|
86
|
+
// Desktop
|
|
87
|
+
DESKTOP_NOT_FOUND: (c) => `Desktop '${c.desktopId ?? 'unknown'}' not found`,
|
|
88
|
+
DESKTOP_DISPOSED: (c) => `Desktop '${c.desktopId ?? 'unknown'}' has been disposed`,
|
|
89
|
+
DESKTOP_LOCKED: (c) => `Desktop '${c.desktopId ?? 'unknown'}' is locked by '${c.ownerId ?? 'unknown'}'`,
|
|
90
|
+
// App
|
|
91
|
+
APP_NOT_FOUND: (c) => `App '${c.appId ?? 'unknown'}' not found${c.desktopId ? ` in Desktop '${c.desktopId}'` : ''}`,
|
|
92
|
+
APP_LOAD_FAILED: (c) => `Failed to load app '${c.appId ?? c.modulePath ?? 'unknown'}': ${c.reason ?? 'unknown error'}`,
|
|
93
|
+
APP_INVALID_MANIFEST: (c) => `Invalid manifest for app module '${c.modulePath ?? 'unknown'}'`,
|
|
94
|
+
APP_INVALID_EXPORT: (c) => `App module '${c.modulePath ?? 'unknown'}' has invalid export: expected default or app`,
|
|
95
|
+
// View
|
|
96
|
+
VIEW_NOT_FOUND: (c) => `View '${c.viewId ?? 'unknown'}' not found`,
|
|
97
|
+
VIEW_DUPLICATE: (c) => `View '${c.viewId ?? 'unknown'}' already exists`,
|
|
98
|
+
VIEW_PARENT_NOT_FOUND: (c) => `Parent view '${c.parentId ?? 'unknown'}' not found`,
|
|
99
|
+
VIEW_ROOT_EXISTS: (c) => `Root view already exists. Remove it first.`,
|
|
100
|
+
VIEW_MOUNTABLE_NOT_FOUND: (c) => `Mountable view '${c.viewId ?? 'unknown'}' not registered`,
|
|
101
|
+
VIEW_INVALID_FACTORY: (c) => `Invalid factory for view '${c.viewId ?? 'unknown'}'. Expected function or Factory object`,
|
|
102
|
+
// ViewLink (RFC-006)
|
|
103
|
+
LINK_DUPLICATE: (c) => `Duplicate LinkID '${c.linkId ?? 'unknown'}' in parent view '${c.parentId ?? 'unknown'}'`,
|
|
104
|
+
LINK_NOT_FOUND: (c) => `Link '${c.linkId ?? 'unknown'}' not found in parent view '${c.parentId ?? 'unknown'}'`,
|
|
105
|
+
// Operation
|
|
106
|
+
OPERATION_NOT_FOUND: (c) => `Operation '${c.operationName ?? 'unknown'}' not found`,
|
|
107
|
+
OPERATION_INVALID_ARGS: (c) => `Invalid arguments for operation '${c.operationName ?? 'unknown'}': ${c.reason ?? 'validation failed'}`,
|
|
108
|
+
OPERATION_NO_HANDLER: (c) => `No handler registered for operation '${c.operationName ?? 'unknown'}'`,
|
|
109
|
+
OPERATION_DUPLICATE: (c) => `Operation '${c.operationName ?? 'unknown'}' is already registered`,
|
|
110
|
+
OPERATION_REQUIRES_CONTEXT: (c) => `Operation '${c.operationName ?? 'unknown'}' requires an App context`,
|
|
111
|
+
// Worker
|
|
112
|
+
WORKER_TIMEOUT: (c) => `Worker request timed out after ${c.timeoutMs ?? 30000}ms`,
|
|
113
|
+
WORKER_NOT_STARTED: (c) => `Worker '${c.appId ?? 'unknown'}' not started`,
|
|
114
|
+
WORKER_TERMINATED: (c) => `Worker '${c.appId ?? 'unknown'}' has been terminated`,
|
|
115
|
+
// Snapshot
|
|
116
|
+
SNAPSHOT_NOT_FOUND: (c) => `Snapshot '${c.snapshotId ?? 'unknown'}' not found`,
|
|
117
|
+
SNAPSHOT_EXPIRED: (c) => `Snapshot '${c.snapshotId ?? 'unknown'}' has expired`,
|
|
118
|
+
// Config
|
|
119
|
+
CONFIG_INVALID: (c) => `Invalid configuration: ${c.reason ?? 'unknown'}`,
|
|
120
|
+
CONFIG_NOT_SUPPORTED: (c) => `Configuration not supported: ${c.feature ?? 'unknown'}`,
|
|
121
|
+
// Context
|
|
122
|
+
CONTEXT_NOT_FOUND: (c) => `${c.contextName ?? 'Context'} not found. Ensure component is wrapped in proper Provider.`,
|
|
123
|
+
// Generic
|
|
124
|
+
INTERNAL_ERROR: (c) => `Internal error: ${c.message ?? 'unknown'}`,
|
|
125
|
+
NOT_IMPLEMENTED: (c) => `Not implemented: ${c.feature ?? 'unknown'}`,
|
|
126
|
+
EXECUTION_FAILED: (c) => `Execution failed: ${c.message ?? 'unknown'}`,
|
|
127
|
+
};
|
|
128
|
+
// ============================================================================
|
|
129
|
+
// AOTUIError Class
|
|
130
|
+
// ============================================================================
|
|
131
|
+
/**
|
|
132
|
+
* AOTUI 框架错误基类
|
|
133
|
+
*
|
|
134
|
+
* 提供结构化错误信息,包含类型安全的错误码和上下文数据。
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```typescript
|
|
138
|
+
* // 抛出错误
|
|
139
|
+
* throw new AOTUIError('DESKTOP_NOT_FOUND', { desktopId: 'abc123' });
|
|
140
|
+
*
|
|
141
|
+
* // 转换为 OperationResult
|
|
142
|
+
* catch (e) {
|
|
143
|
+
* if (AOTUIError.is(e)) {
|
|
144
|
+
* return { success: false, error: e.toOperationError() };
|
|
145
|
+
* }
|
|
146
|
+
* }
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
export class AOTUIError extends Error {
|
|
150
|
+
/**
|
|
151
|
+
* 错误码 (类型安全)
|
|
152
|
+
*/
|
|
153
|
+
code;
|
|
154
|
+
/**
|
|
155
|
+
* 错误上下文 (结构化调试信息)
|
|
156
|
+
*/
|
|
157
|
+
context;
|
|
158
|
+
/**
|
|
159
|
+
* 错误发生时间戳
|
|
160
|
+
*/
|
|
161
|
+
timestamp;
|
|
162
|
+
constructor(code, context = {}) {
|
|
163
|
+
const message = AOTUIError.formatMessage(code, context);
|
|
164
|
+
super(message);
|
|
165
|
+
this.name = 'AOTUIError';
|
|
166
|
+
this.code = code;
|
|
167
|
+
this.context = context;
|
|
168
|
+
this.timestamp = Date.now();
|
|
169
|
+
// 保持原型链正确 (TypeScript 继承 Error 的已知问题)
|
|
170
|
+
Object.setPrototypeOf(this, AOTUIError.prototype);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* 转换为 OperationError
|
|
174
|
+
*
|
|
175
|
+
* 用于在 OperationResult 中返回错误信息
|
|
176
|
+
*/
|
|
177
|
+
toOperationError() {
|
|
178
|
+
return {
|
|
179
|
+
code: this.code,
|
|
180
|
+
message: this.message,
|
|
181
|
+
context: this.context,
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* 类型守卫: 检查是否为 AOTUIError
|
|
186
|
+
*/
|
|
187
|
+
static is(error) {
|
|
188
|
+
return error instanceof AOTUIError;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* 从普通 Error 创建 AOTUIError
|
|
192
|
+
*
|
|
193
|
+
* 用于包装未知错误
|
|
194
|
+
*/
|
|
195
|
+
static fromError(error, code = 'INTERNAL_ERROR') {
|
|
196
|
+
if (AOTUIError.is(error)) {
|
|
197
|
+
return error;
|
|
198
|
+
}
|
|
199
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
200
|
+
return new AOTUIError(code, { message, originalError: error });
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* 格式化错误消息
|
|
204
|
+
*/
|
|
205
|
+
static formatMessage(code, context) {
|
|
206
|
+
const formatter = ERROR_MESSAGES[code];
|
|
207
|
+
if (formatter) {
|
|
208
|
+
return formatter(context);
|
|
209
|
+
}
|
|
210
|
+
return `[${code}]`;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
// ============================================================================
|
|
214
|
+
// Convenience Functions
|
|
215
|
+
// ============================================================================
|
|
216
|
+
/**
|
|
217
|
+
* 创建 OperationError (不抛出异常)
|
|
218
|
+
*
|
|
219
|
+
* 用于构造 OperationResult.error
|
|
220
|
+
*/
|
|
221
|
+
export function createOperationError(code, context = {}) {
|
|
222
|
+
return new AOTUIError(code, context).toOperationError();
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* 失败的 OperationResult 快捷构造
|
|
226
|
+
*/
|
|
227
|
+
export function failedResult(code, context = {}) {
|
|
228
|
+
return {
|
|
229
|
+
success: false,
|
|
230
|
+
error: createOperationError(code, context),
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/spi/core/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SPI Layer - ID Factory Functions
|
|
3
|
+
*
|
|
4
|
+
* 提供类型安全的 ID 创建函数。
|
|
5
|
+
*
|
|
6
|
+
* 使用工厂函数代替直接 `as TYPE` 断言,确保 ID 格式一致性。
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { createDesktopId, createAppId } from '@aotui/runtime';
|
|
11
|
+
*
|
|
12
|
+
* const desktopId = createDesktopId(); // 'dt_abc12345'
|
|
13
|
+
* const customId = createDesktopId('dt_my-id'); // 'dt_my-id'
|
|
14
|
+
* const appId = createAppId(0); // 'app_0'
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @module @aotui/runtime/spi/core
|
|
18
|
+
*/
|
|
19
|
+
import type { DesktopID, AppID, ViewID, SnapshotID, OperationID } from './types.js';
|
|
20
|
+
/**
|
|
21
|
+
* ID 前缀约定(内部使用)
|
|
22
|
+
*
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
export declare const ID_PREFIXES: {
|
|
26
|
+
readonly Desktop: "dt_";
|
|
27
|
+
readonly App: "app_";
|
|
28
|
+
readonly View: "view_";
|
|
29
|
+
readonly Snapshot: "snap_";
|
|
30
|
+
readonly Operation: "op_";
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* 创建 DesktopID
|
|
34
|
+
*
|
|
35
|
+
* @param id - 可选的自定义 ID(应包含 'dt_' 前缀)
|
|
36
|
+
* @returns Branded DesktopID
|
|
37
|
+
*/
|
|
38
|
+
export declare function createDesktopId(id?: string): DesktopID;
|
|
39
|
+
/**
|
|
40
|
+
* 创建 AppID
|
|
41
|
+
*
|
|
42
|
+
* @param indexOrId - App 索引号或现有 ID 字符串
|
|
43
|
+
* @returns Branded AppID
|
|
44
|
+
*/
|
|
45
|
+
export declare function createAppId(indexOrId: number | string): AppID;
|
|
46
|
+
/**
|
|
47
|
+
* 创建 ViewID
|
|
48
|
+
*
|
|
49
|
+
* @param indexOrId - View 索引号或现有 ID 字符串
|
|
50
|
+
* @returns Branded ViewID
|
|
51
|
+
*/
|
|
52
|
+
export declare function createViewId(indexOrId: number | string): ViewID;
|
|
53
|
+
/**
|
|
54
|
+
* 创建 SnapshotID
|
|
55
|
+
*
|
|
56
|
+
* @param id - 可选的现有 ID 字符串
|
|
57
|
+
* @returns Branded SnapshotID
|
|
58
|
+
*/
|
|
59
|
+
export declare function createSnapshotId(id?: string): SnapshotID;
|
|
60
|
+
/**
|
|
61
|
+
* 创建 OperationID
|
|
62
|
+
*
|
|
63
|
+
* @param name - 操作名称
|
|
64
|
+
* @returns Branded OperationID
|
|
65
|
+
*/
|
|
66
|
+
export declare function createOperationId(name: string): OperationID;
|
|
67
|
+
/**
|
|
68
|
+
* 检查字符串是否为有效的 DesktopID 格式
|
|
69
|
+
*
|
|
70
|
+
* @param value - 要检查的字符串
|
|
71
|
+
* @returns 类型谓词
|
|
72
|
+
*/
|
|
73
|
+
export declare function isDesktopId(value: string): value is DesktopID;
|
|
74
|
+
/**
|
|
75
|
+
* 检查字符串是否为有效的 AppID 格式
|
|
76
|
+
*/
|
|
77
|
+
export declare function isAppId(value: string): value is AppID;
|
|
78
|
+
/**
|
|
79
|
+
* 检查字符串是否为有效的 ViewID 格式
|
|
80
|
+
*/
|
|
81
|
+
export declare function isViewId(value: string): value is ViewID;
|
|
82
|
+
/**
|
|
83
|
+
* 检查字符串是否为有效的 SnapshotID 格式
|
|
84
|
+
*/
|
|
85
|
+
export declare function isSnapshotId(value: string): value is SnapshotID;
|