@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,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SPI Layer - Signal Service Interface
|
|
3
|
+
*
|
|
4
|
+
* 管理 Desktop 级别的事件发布订阅。
|
|
5
|
+
*
|
|
6
|
+
* @module @aotui/runtime/spi
|
|
7
|
+
*/
|
|
8
|
+
import type { DesktopID } from '../core/types.js';
|
|
9
|
+
import type { UpdateSignal } from '../core/signals.js';
|
|
10
|
+
/**
|
|
11
|
+
* Signal 监听器函数类型
|
|
12
|
+
*/
|
|
13
|
+
export type SignalListener = (signal: UpdateSignal) => void;
|
|
14
|
+
/**
|
|
15
|
+
* 信号服务接口
|
|
16
|
+
*
|
|
17
|
+
* 管理 Desktop 级别的事件发布订阅。
|
|
18
|
+
*
|
|
19
|
+
* 设计原则:
|
|
20
|
+
* - 解耦: Signal 的产生和消费完全分离
|
|
21
|
+
* - 多租户: 每个 Desktop 有独立的信号空间
|
|
22
|
+
* - 可靠性: 订阅者异常不影响其他订阅者
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const signalService: ISignalService = new SignalBusAdapter();
|
|
27
|
+
*
|
|
28
|
+
* // 订阅
|
|
29
|
+
* const unsubscribe = signalService.subscribe(desktopId, (signal) => {
|
|
30
|
+
* console.log('Signal received:', signal.reason);
|
|
31
|
+
* });
|
|
32
|
+
*
|
|
33
|
+
* // 发布
|
|
34
|
+
* signalService.emit(desktopId, 'dom_mutation');
|
|
35
|
+
*
|
|
36
|
+
* // 取消订阅
|
|
37
|
+
* unsubscribe();
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export interface ISignalService {
|
|
41
|
+
/**
|
|
42
|
+
* 订阅信号
|
|
43
|
+
*
|
|
44
|
+
* @param desktopId - Desktop ID
|
|
45
|
+
* @param listener - 信号处理函数
|
|
46
|
+
* @returns 取消订阅的函数
|
|
47
|
+
*/
|
|
48
|
+
subscribe(desktopId: DesktopID, listener: SignalListener): () => void;
|
|
49
|
+
/**
|
|
50
|
+
* 发布信号
|
|
51
|
+
*
|
|
52
|
+
* @param desktopId - Desktop ID
|
|
53
|
+
* @param reason - 信号原因 (dom_mutation, app_opened, manual_refresh 等)
|
|
54
|
+
*/
|
|
55
|
+
emit(desktopId: DesktopID, reason: UpdateSignal['reason']): void;
|
|
56
|
+
/**
|
|
57
|
+
* 清理 Desktop 相关状态
|
|
58
|
+
*
|
|
59
|
+
* 当 Desktop 销毁时调用,释放订阅者和相关资源。
|
|
60
|
+
*
|
|
61
|
+
* @param desktopId - Desktop ID
|
|
62
|
+
*/
|
|
63
|
+
cleanup(desktopId: DesktopID): void;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Signal Output Stream Interface
|
|
67
|
+
*
|
|
68
|
+
* Desktop.output 的公开接口,用于外部消费者订阅信号。
|
|
69
|
+
* 与 ISignalService 的区别是:此接口仅暴露单个 Desktop 的订阅能力。
|
|
70
|
+
*/
|
|
71
|
+
export interface ISignalOutputStream {
|
|
72
|
+
/**
|
|
73
|
+
* 订阅信号
|
|
74
|
+
*/
|
|
75
|
+
subscribe(listener: SignalListener): void;
|
|
76
|
+
/**
|
|
77
|
+
* 取消订阅
|
|
78
|
+
*/
|
|
79
|
+
unsubscribe(listener: SignalListener): void;
|
|
80
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/signal.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SPI - Snapshot Interfaces
|
|
3
|
+
*
|
|
4
|
+
* [RFC-007] Interfaces for System Prompt Enhancement.
|
|
5
|
+
*
|
|
6
|
+
* These interfaces define contracts for:
|
|
7
|
+
* - Desktop metadata access (for snapshot generation)
|
|
8
|
+
* - Snapshot fragment structure (from Worker Runtime)
|
|
9
|
+
* - Snapshot formatter (for TUI output)
|
|
10
|
+
*
|
|
11
|
+
* @module @aotui/runtime/spi/runtime
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Installed application info (readonly)
|
|
15
|
+
*/
|
|
16
|
+
export interface InstalledAppInfo {
|
|
17
|
+
readonly appId: string;
|
|
18
|
+
readonly name: string;
|
|
19
|
+
readonly status: 'pending' | 'running' | 'closed' | 'collapsed';
|
|
20
|
+
readonly description?: string;
|
|
21
|
+
readonly whatItIs?: string;
|
|
22
|
+
readonly whenToUse?: string;
|
|
23
|
+
/** [RFC-014] App 消息角色 */
|
|
24
|
+
readonly promptRole?: 'user' | 'assistant';
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Log entry (readonly)
|
|
28
|
+
*/
|
|
29
|
+
export interface LogEntry {
|
|
30
|
+
readonly timestamp: number;
|
|
31
|
+
readonly message: string;
|
|
32
|
+
readonly level?: 'info' | 'warn' | 'error';
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Desktop metadata for snapshot generation
|
|
36
|
+
*
|
|
37
|
+
* Provides read-only access to Desktop state information
|
|
38
|
+
* needed for generating the `<desktop>` section of TUI snapshots.
|
|
39
|
+
*
|
|
40
|
+
* @remarks
|
|
41
|
+
* This interface is optional for Desktop implementations.
|
|
42
|
+
* SnapshotFormatter will gracefully handle missing methods.
|
|
43
|
+
*/
|
|
44
|
+
export interface IDesktopMetadata {
|
|
45
|
+
/**
|
|
46
|
+
* Get all installed applications
|
|
47
|
+
*/
|
|
48
|
+
getInstalledApps(): ReadonlyArray<InstalledAppInfo>;
|
|
49
|
+
/**
|
|
50
|
+
* Get recent system logs
|
|
51
|
+
* @param limit - Maximum number of logs to return (default: 5)
|
|
52
|
+
*/
|
|
53
|
+
getSystemLogs(limit?: number): ReadonlyArray<LogEntry>;
|
|
54
|
+
/**
|
|
55
|
+
* Get operation logs for a specific app
|
|
56
|
+
* @param appId - Application ID
|
|
57
|
+
* @param limit - Maximum number of logs to return (default: 3)
|
|
58
|
+
*/
|
|
59
|
+
getAppOperationLogs(appId: string, limit?: number): ReadonlyArray<LogEntry>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Snapshot fragment from Worker Runtime
|
|
63
|
+
*
|
|
64
|
+
* Each Worker app pushes its own fragment containing:
|
|
65
|
+
* - Rendered view markup
|
|
66
|
+
* - IndexMap for semantic references
|
|
67
|
+
* - Optional viewTree for Application View Tree
|
|
68
|
+
*/
|
|
69
|
+
export interface ISnapshotFragment {
|
|
70
|
+
readonly appId: string;
|
|
71
|
+
readonly markup: string;
|
|
72
|
+
readonly indexMap: Record<string, unknown>;
|
|
73
|
+
readonly timestamp?: number;
|
|
74
|
+
/**
|
|
75
|
+
* View 级别片段(可选)
|
|
76
|
+
*
|
|
77
|
+
* 由 Worker Runtime 计算并推送,支持细粒度时间排序。
|
|
78
|
+
*/
|
|
79
|
+
readonly views?: ReadonlyArray<{
|
|
80
|
+
viewId: string;
|
|
81
|
+
viewType: string;
|
|
82
|
+
viewName?: string;
|
|
83
|
+
markup: string;
|
|
84
|
+
timestamp: number;
|
|
85
|
+
}>;
|
|
86
|
+
/**
|
|
87
|
+
* [RFC-007] View tree markdown for Application Info section
|
|
88
|
+
*
|
|
89
|
+
* Format:
|
|
90
|
+
* ```markdown
|
|
91
|
+
* ## Application View Tree
|
|
92
|
+
* - [Chat](view:view_0, mounted)
|
|
93
|
+
* ↳ [Detail](link:CD_0)
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
readonly viewTree?: string;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Formatted snapshot result
|
|
100
|
+
*/
|
|
101
|
+
export interface FormattedSnapshotResult {
|
|
102
|
+
readonly markup: string;
|
|
103
|
+
readonly indexMap: Record<string, unknown>;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Snapshot formatter interface
|
|
107
|
+
*
|
|
108
|
+
* Transforms Worker fragments and Desktop metadata into
|
|
109
|
+
* a complete TUI snapshot conforming to TUI_DEMO.md format.
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* const formatter: ISnapshotFormatter = new SnapshotFormatter();
|
|
114
|
+
* const { markup, indexMap } = formatter.format(fragments, metadata);
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
export interface ISnapshotFormatter {
|
|
118
|
+
/**
|
|
119
|
+
* Format complete TUI snapshot
|
|
120
|
+
*
|
|
121
|
+
* @param fragments - Snapshot fragments from Worker apps
|
|
122
|
+
* @param metadata - Desktop metadata for global info
|
|
123
|
+
* @returns Formatted snapshot with markup and merged indexMap
|
|
124
|
+
*/
|
|
125
|
+
format(fragments: ReadonlyArray<ISnapshotFragment>, metadata: IDesktopMetadata): FormattedSnapshotResult;
|
|
126
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SPI - Snapshot Interfaces
|
|
3
|
+
*
|
|
4
|
+
* [RFC-007] Interfaces for System Prompt Enhancement.
|
|
5
|
+
*
|
|
6
|
+
* These interfaces define contracts for:
|
|
7
|
+
* - Desktop metadata access (for snapshot generation)
|
|
8
|
+
* - Snapshot fragment structure (from Worker Runtime)
|
|
9
|
+
* - Snapshot formatter (for TUI output)
|
|
10
|
+
*
|
|
11
|
+
* @module @aotui/runtime/spi/runtime
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=snapshot.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/snapshot.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SPI - ITransformer Interface
|
|
3
|
+
*
|
|
4
|
+
* Defines the contract for DOM-to-TUI transformation.
|
|
5
|
+
* The Kernel depends on this interface, not on concrete implementations.
|
|
6
|
+
*
|
|
7
|
+
* @module @aotui/runtime/spi/runtime
|
|
8
|
+
*/
|
|
9
|
+
import type { IndexMap } from '../core/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Result of a transformation operation
|
|
12
|
+
*/
|
|
13
|
+
export interface TransformResult {
|
|
14
|
+
/** Generated TUI Markup (Markdown-like format) */
|
|
15
|
+
markup: string;
|
|
16
|
+
/** Map of data paths to payloads for Agent resolution */
|
|
17
|
+
indexMap: IndexMap;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Transformer Interface
|
|
21
|
+
*
|
|
22
|
+
* Transforms DOM structures into TUI-compatible markup.
|
|
23
|
+
* Implementations must be stateless and thread-safe.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const transformer: ITransformer = new Transformer();
|
|
28
|
+
* const { markup, indexMap } = transformer.transform(document);
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export interface ITransformer {
|
|
32
|
+
/**
|
|
33
|
+
* Transforms a full DOM (Window or Document) to TUI Markup
|
|
34
|
+
*
|
|
35
|
+
* @param dom - The DOM object (Window, Document, or DesktopDOM structure)
|
|
36
|
+
* @returns TransformResult with markup and indexMap
|
|
37
|
+
*/
|
|
38
|
+
transform(dom: unknown): TransformResult;
|
|
39
|
+
/**
|
|
40
|
+
* Transforms a single Element to TUI Markup
|
|
41
|
+
*
|
|
42
|
+
* @param element - The DOM Element to transform
|
|
43
|
+
* @param appId - Optional App ID for namespacing operations
|
|
44
|
+
* @returns TransformResult with markup and indexMap
|
|
45
|
+
*/
|
|
46
|
+
transformElement(element: Element, appId?: string): TransformResult;
|
|
47
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SPI - ITransformer Interface
|
|
3
|
+
*
|
|
4
|
+
* Defines the contract for DOM-to-TUI transformation.
|
|
5
|
+
* The Kernel depends on this interface, not on concrete implementations.
|
|
6
|
+
*
|
|
7
|
+
* @module @aotui/runtime/spi/runtime
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=transformer.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformer.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/transformer.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SPI Layer - Worker Message Interface
|
|
3
|
+
*
|
|
4
|
+
* Defines the stable contract for Worker-Main thread communication.
|
|
5
|
+
*
|
|
6
|
+
* [架构原则] 这是 SPI 层的抽象接口,只暴露最小必要的消息契约。
|
|
7
|
+
* 具体的消息结构由 Engine 层定义,SDK Worker 使用本地兼容类型。
|
|
8
|
+
*
|
|
9
|
+
* 这样设计的长期收益:
|
|
10
|
+
* 1. SPI 保持纯粹的契约层
|
|
11
|
+
* 2. 未来可替换 IPC 实现 (如 SharedArrayBuffer)
|
|
12
|
+
* 3. 协议变更不破坏 SDK 兼容性
|
|
13
|
+
*
|
|
14
|
+
* @module @aotui/runtime/spi
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* 请求 ID 类型
|
|
18
|
+
*
|
|
19
|
+
* 用于匹配 Worker 请求-响应对
|
|
20
|
+
*/
|
|
21
|
+
export type RequestID = string;
|
|
22
|
+
/**
|
|
23
|
+
* 生成唯一请求 ID
|
|
24
|
+
*/
|
|
25
|
+
export declare function generateRequestId(): RequestID;
|
|
26
|
+
/**
|
|
27
|
+
* Worker 消息类型枚举
|
|
28
|
+
*
|
|
29
|
+
* 这是稳定的 API 契约,新增类型是向后兼容的,
|
|
30
|
+
* 但移除或重命名类型需要版本升级。
|
|
31
|
+
*/
|
|
32
|
+
export type WorkerMessageType = 'INIT' | 'APP_OPEN' | 'APP_PAUSE' | 'APP_RESUME' | 'APP_CLOSE' | 'VIEW_DISMOUNT' | 'APP_OPERATION' | 'VIEW_OPERATION' | 'EXTERNAL_EVENT' | 'RENDER_VIEW' | 'RENDER_ALL' | 'GET_DOM_HTML' | 'TERMINATE' | 'RESET' | 'INIT_RESPONSE' | 'LIFECYCLE_RESPONSE' | 'OPERATION_RESPONSE' | 'RENDER_RESPONSE' | 'ERROR_RESPONSE' | 'DOM_UPDATE' | 'REQUEST_UPDATE' | 'REQUEST_MOUNT_CHILD' | 'REQUEST_DISMOUNT_CHILD' | 'RESET_RESPONSE';
|
|
33
|
+
/**
|
|
34
|
+
* 基础消息接口
|
|
35
|
+
*
|
|
36
|
+
* 所有 Worker 消息都必须包含 type 字段
|
|
37
|
+
*/
|
|
38
|
+
export interface IWorkerMessage {
|
|
39
|
+
readonly type: WorkerMessageType;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 请求消息接口
|
|
43
|
+
*
|
|
44
|
+
* Main → Worker 的请求消息
|
|
45
|
+
*/
|
|
46
|
+
export interface IWorkerRequest extends IWorkerMessage {
|
|
47
|
+
readonly requestId: RequestID;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 响应消息接口
|
|
51
|
+
*
|
|
52
|
+
* Worker → Main 的响应消息
|
|
53
|
+
*/
|
|
54
|
+
export interface IWorkerResponse extends IWorkerMessage {
|
|
55
|
+
readonly requestId: RequestID;
|
|
56
|
+
readonly success: boolean;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 错误信息结构
|
|
60
|
+
*/
|
|
61
|
+
export interface IWorkerError {
|
|
62
|
+
readonly code: string;
|
|
63
|
+
readonly message: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* 检查消息是否为响应类型
|
|
67
|
+
*/
|
|
68
|
+
export declare function isWorkerResponse(msg: IWorkerMessage): msg is IWorkerResponse;
|
|
69
|
+
/**
|
|
70
|
+
* 检查消息是否为请求类型
|
|
71
|
+
*/
|
|
72
|
+
export declare function isWorkerRequest(msg: IWorkerMessage): msg is IWorkerRequest;
|
|
73
|
+
/**
|
|
74
|
+
* 检查是否为 DOM 更新推送
|
|
75
|
+
*/
|
|
76
|
+
export declare function isDomUpdateMessage(msg: IWorkerMessage): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* 检查是否为 Worker 主动请求
|
|
79
|
+
*/
|
|
80
|
+
export declare function isWorkerPush(msg: IWorkerMessage): boolean;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SPI Layer - Worker Message Interface
|
|
3
|
+
*
|
|
4
|
+
* Defines the stable contract for Worker-Main thread communication.
|
|
5
|
+
*
|
|
6
|
+
* [架构原则] 这是 SPI 层的抽象接口,只暴露最小必要的消息契约。
|
|
7
|
+
* 具体的消息结构由 Engine 层定义,SDK Worker 使用本地兼容类型。
|
|
8
|
+
*
|
|
9
|
+
* 这样设计的长期收益:
|
|
10
|
+
* 1. SPI 保持纯粹的契约层
|
|
11
|
+
* 2. 未来可替换 IPC 实现 (如 SharedArrayBuffer)
|
|
12
|
+
* 3. 协议变更不破坏 SDK 兼容性
|
|
13
|
+
*
|
|
14
|
+
* @module @aotui/runtime/spi
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* 生成唯一请求 ID
|
|
18
|
+
*/
|
|
19
|
+
export function generateRequestId() {
|
|
20
|
+
return `req_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
|
|
21
|
+
}
|
|
22
|
+
// ============================================================================
|
|
23
|
+
// Type Guards (稳定契约)
|
|
24
|
+
// ============================================================================
|
|
25
|
+
/**
|
|
26
|
+
* 检查消息是否为响应类型
|
|
27
|
+
*/
|
|
28
|
+
export function isWorkerResponse(msg) {
|
|
29
|
+
return 'requestId' in msg && 'success' in msg;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 检查消息是否为请求类型
|
|
33
|
+
*/
|
|
34
|
+
export function isWorkerRequest(msg) {
|
|
35
|
+
return 'requestId' in msg && !('success' in msg);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 检查是否为 DOM 更新推送
|
|
39
|
+
*/
|
|
40
|
+
export function isDomUpdateMessage(msg) {
|
|
41
|
+
return msg.type === 'DOM_UPDATE';
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* 检查是否为 Worker 主动请求
|
|
45
|
+
*/
|
|
46
|
+
export function isWorkerPush(msg) {
|
|
47
|
+
return msg.type.startsWith('REQUEST_') || msg.type === 'DOM_UPDATE';
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=worker-message.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-message.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/worker-message.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC7B,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC;AAoFD,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAmB;IAChD,OAAO,WAAW,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAmB;IAC/C,OAAO,WAAW,IAAI,GAAG,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAmB;IAClD,OAAO,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAmB;IAC5C,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker Runtime SPI - 通用 Worker 基础设施接口
|
|
3
|
+
*
|
|
4
|
+
* 本文件定义了 Worker 侧运行时的标准接口,用于支持多框架生态。
|
|
5
|
+
*
|
|
6
|
+
* 设计原则:
|
|
7
|
+
* 1. 框架无关:不依赖任何具体的 UI 框架(Preact, Vue, Solid)
|
|
8
|
+
* 2. 职责分离:Worker Runtime 负责"管道",App Adapter 负责"逻辑"
|
|
9
|
+
* 3. 可测试性:接口可被 Mock,便于单元测试
|
|
10
|
+
*
|
|
11
|
+
* @module @aotui/runtime/spi/worker-runtime
|
|
12
|
+
*/
|
|
13
|
+
import type { AppContext } from '../app/store.interface.js';
|
|
14
|
+
import type { OperationContext, OperationResult } from '../core/operations.js';
|
|
15
|
+
import type { AppID, DesktopID } from '../core/types.js';
|
|
16
|
+
/**
|
|
17
|
+
* Worker 运行时接口
|
|
18
|
+
*
|
|
19
|
+
* 职责:
|
|
20
|
+
* - 初始化 Virtual DOM 环境 (LinkedOM)
|
|
21
|
+
* - 处理 IPC 消息路由
|
|
22
|
+
* - 提供 DOM 观察与同步能力
|
|
23
|
+
* - 管理 App 生命周期框架
|
|
24
|
+
*/
|
|
25
|
+
export interface IWorkerRuntime {
|
|
26
|
+
/**
|
|
27
|
+
* 初始化 Worker 环境
|
|
28
|
+
* @param config Worker 配置信息
|
|
29
|
+
*/
|
|
30
|
+
initialize(config: WorkerRuntimeConfig): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* 加载并初始化 App
|
|
33
|
+
* @param modulePath App 模块路径
|
|
34
|
+
* @param adapter UI 框架适配器
|
|
35
|
+
*/
|
|
36
|
+
loadApp(modulePath: string, adapter: IAppAdapter): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* 获取 Virtual DOM 环境
|
|
39
|
+
*/
|
|
40
|
+
getDOMEnvironment(): WorkerDOMEnvironment;
|
|
41
|
+
/**
|
|
42
|
+
* 发送消息到主线程
|
|
43
|
+
*/
|
|
44
|
+
sendMessage(message: WorkerMessage): void;
|
|
45
|
+
/**
|
|
46
|
+
* 启动 DOM 观察器
|
|
47
|
+
* @param container 要观察的容器元素
|
|
48
|
+
*/
|
|
49
|
+
observeDOM(container: Element): void;
|
|
50
|
+
/**
|
|
51
|
+
* 手动触发 DOM 同步
|
|
52
|
+
*/
|
|
53
|
+
syncDOM(): void;
|
|
54
|
+
/**
|
|
55
|
+
* 关闭 Worker
|
|
56
|
+
*/
|
|
57
|
+
shutdown(): Promise<void>;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Worker Runtime 配置
|
|
61
|
+
*/
|
|
62
|
+
export interface WorkerRuntimeConfig {
|
|
63
|
+
/** 应用 ID (Branded Type) */
|
|
64
|
+
appId: AppID;
|
|
65
|
+
/** Desktop ID (Branded Type) */
|
|
66
|
+
desktopId: DesktopID;
|
|
67
|
+
/**
|
|
68
|
+
* DOM 更新节流时间 (ms)
|
|
69
|
+
* @default 16
|
|
70
|
+
*/
|
|
71
|
+
domUpdateThrottle?: number;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Virtual DOM 环境
|
|
75
|
+
*
|
|
76
|
+
* 提供 Worker 内的 DOM API 访问
|
|
77
|
+
*/
|
|
78
|
+
export interface WorkerDOMEnvironment {
|
|
79
|
+
/** LinkedOM document 实例 */
|
|
80
|
+
document: Document;
|
|
81
|
+
/** LinkedOM window 实例 */
|
|
82
|
+
window: Window;
|
|
83
|
+
/**
|
|
84
|
+
* App 根容器元素
|
|
85
|
+
*/
|
|
86
|
+
container: HTMLElement;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Worker 消息类型 (简化,详细定义在 worker-message.interface.ts)
|
|
90
|
+
*/
|
|
91
|
+
export interface WorkerMessage {
|
|
92
|
+
type: string;
|
|
93
|
+
[key: string]: unknown;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* App 适配器接口
|
|
97
|
+
*
|
|
98
|
+
* 职责:
|
|
99
|
+
* - 将 UI 框架挂载到 Virtual DOM
|
|
100
|
+
* - 处理框架特定的生命周期
|
|
101
|
+
* - 提供渲染回调机制
|
|
102
|
+
*
|
|
103
|
+
* @template TApp App 实例类型(框架特定)
|
|
104
|
+
*/
|
|
105
|
+
export interface IAppAdapter<TApp = unknown> {
|
|
106
|
+
/**
|
|
107
|
+
* 适配器名称
|
|
108
|
+
*
|
|
109
|
+
* @example "preact", "vue", "solid"
|
|
110
|
+
*/
|
|
111
|
+
readonly name: string;
|
|
112
|
+
/**
|
|
113
|
+
* 初始化框架环境
|
|
114
|
+
*
|
|
115
|
+
* 例如:设置 globalThis.document, 注册全局 API
|
|
116
|
+
*
|
|
117
|
+
* @param env Virtual DOM 环境
|
|
118
|
+
*/
|
|
119
|
+
setupEnvironment(env: WorkerDOMEnvironment): void;
|
|
120
|
+
/**
|
|
121
|
+
* 创建 App 实例
|
|
122
|
+
*
|
|
123
|
+
* 从动态导入的模块中提取并创建 App
|
|
124
|
+
*
|
|
125
|
+
* @param appModule 动态 import() 的模块对象
|
|
126
|
+
* @returns App 实例
|
|
127
|
+
*/
|
|
128
|
+
createApp(appModule: any): Promise<TApp>;
|
|
129
|
+
/**
|
|
130
|
+
* 挂载 App 到容器
|
|
131
|
+
*
|
|
132
|
+
* @param app App 实例
|
|
133
|
+
* @param context Runtime 提供的 App 上下文
|
|
134
|
+
* @param container 挂载目标容器
|
|
135
|
+
* @returns 挂载结果,包含生命周期钩子和操作处理器
|
|
136
|
+
*/
|
|
137
|
+
mount(app: TApp, context: AppContext, container: HTMLElement): Promise<AppAdapterMountResult>;
|
|
138
|
+
/**
|
|
139
|
+
* 卸载 App
|
|
140
|
+
*
|
|
141
|
+
* @param app App 实例
|
|
142
|
+
*/
|
|
143
|
+
unmount(app: TApp): Promise<void>;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* App 挂载结果
|
|
147
|
+
*
|
|
148
|
+
* Adapter 在 mount() 后返回,用于连接 App 与 Worker Runtime
|
|
149
|
+
*/
|
|
150
|
+
export interface AppAdapterMountResult {
|
|
151
|
+
/**
|
|
152
|
+
* 生命周期钩子
|
|
153
|
+
*
|
|
154
|
+
* 当 Runtime 调用对应生命周期方法时触发
|
|
155
|
+
*/
|
|
156
|
+
lifecycle: {
|
|
157
|
+
/** App 暂停 */
|
|
158
|
+
onPause?: () => Promise<void>;
|
|
159
|
+
/** App 恢复 */
|
|
160
|
+
onResume?: () => Promise<void>;
|
|
161
|
+
/** App 关闭 */
|
|
162
|
+
onClose?: () => Promise<void>;
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* 操作处理器
|
|
166
|
+
*
|
|
167
|
+
* 当 Agent 或 Desktop 发起 Operation 时调用
|
|
168
|
+
*/
|
|
169
|
+
onOperation: (context: OperationContext, operation: string, args: Record<string, unknown>) => Promise<OperationResult>;
|
|
170
|
+
/**
|
|
171
|
+
* 渲染回调 (可选)
|
|
172
|
+
*
|
|
173
|
+
* 当 App 调用 `markDirty()` 后,Runtime 会调用此回调。
|
|
174
|
+
* 适用于需要手动触发渲染的情况(如 ViewBasedApp)。
|
|
175
|
+
*/
|
|
176
|
+
onRender?: () => void;
|
|
177
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker Runtime SPI - 通用 Worker 基础设施接口
|
|
3
|
+
*
|
|
4
|
+
* 本文件定义了 Worker 侧运行时的标准接口,用于支持多框架生态。
|
|
5
|
+
*
|
|
6
|
+
* 设计原则:
|
|
7
|
+
* 1. 框架无关:不依赖任何具体的 UI 框架(Preact, Vue, Solid)
|
|
8
|
+
* 2. 职责分离:Worker Runtime 负责"管道",App Adapter 负责"逻辑"
|
|
9
|
+
* 3. 可测试性:接口可被 Mock,便于单元测试
|
|
10
|
+
*
|
|
11
|
+
* @module @aotui/runtime/spi/worker-runtime
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=worker-runtime.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-runtime.interface.js","sourceRoot":"","sources":["../../../src/spi/runtime/worker-runtime.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker Protocol - SPI Entry Point
|
|
3
|
+
*
|
|
4
|
+
* 统一的 Worker IPC 协议定义。
|
|
5
|
+
*
|
|
6
|
+
* 这是 AppWorkerHost (主线程) 和 Worker Runtime (工作线程) 之间的契约。
|
|
7
|
+
*
|
|
8
|
+
* ## 职责边界
|
|
9
|
+
*
|
|
10
|
+
* - **Runtime (AppWorkerHost)**: 发送命令消息,接收响应/推送
|
|
11
|
+
* - **Worker Runtime**: 接收命令消息,发送响应/推送
|
|
12
|
+
*
|
|
13
|
+
* ## 使用方式
|
|
14
|
+
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // Runtime 端 (AppWorkerHost)
|
|
17
|
+
* import type { MainToWorkerMessage, WorkerToMainMessage } from '@aotui/runtime/spi';
|
|
18
|
+
*
|
|
19
|
+
* // Worker 端 (worker-runtime)
|
|
20
|
+
* import type { MainToWorkerMessage, WorkerToMainMessage } from '../spi/worker-protocol/index.js';
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @module @aotui/runtime/spi/worker-protocol
|
|
24
|
+
*/
|
|
25
|
+
export * from './types.js';
|
|
26
|
+
export * from './messages.js';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker Protocol - SPI Entry Point
|
|
3
|
+
*
|
|
4
|
+
* 统一的 Worker IPC 协议定义。
|
|
5
|
+
*
|
|
6
|
+
* 这是 AppWorkerHost (主线程) 和 Worker Runtime (工作线程) 之间的契约。
|
|
7
|
+
*
|
|
8
|
+
* ## 职责边界
|
|
9
|
+
*
|
|
10
|
+
* - **Runtime (AppWorkerHost)**: 发送命令消息,接收响应/推送
|
|
11
|
+
* - **Worker Runtime**: 接收命令消息,发送响应/推送
|
|
12
|
+
*
|
|
13
|
+
* ## 使用方式
|
|
14
|
+
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // Runtime 端 (AppWorkerHost)
|
|
17
|
+
* import type { MainToWorkerMessage, WorkerToMainMessage } from '@aotui/runtime/spi';
|
|
18
|
+
*
|
|
19
|
+
* // Worker 端 (worker-runtime)
|
|
20
|
+
* import type { MainToWorkerMessage, WorkerToMainMessage } from '../spi/worker-protocol/index.js';
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @module @aotui/runtime/spi/worker-protocol
|
|
24
|
+
*/
|
|
25
|
+
// Type definitions
|
|
26
|
+
export * from './types.js';
|
|
27
|
+
// Message definitions
|
|
28
|
+
export * from './messages.js';
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/spi/worker-protocol/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,mBAAmB;AACnB,cAAc,YAAY,CAAC;AAE3B,sBAAsB;AACtB,cAAc,eAAe,CAAC"}
|