@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,101 @@
|
|
|
1
|
+
import { createSnapshotId } from '../../spi/index.js';
|
|
2
|
+
import { AOTUIError } from '../../spi/core/errors.js';
|
|
3
|
+
export class SnapshotRegistry {
|
|
4
|
+
snapshots = new Map();
|
|
5
|
+
config;
|
|
6
|
+
constructor(config = { ttl: 10 * 60 * 1000 }) {
|
|
7
|
+
this.config = config;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Creates a new snapshot and registers it.
|
|
11
|
+
* Starts with RefCount = 1.
|
|
12
|
+
*
|
|
13
|
+
* [RFC-014] Now accepts optional structured parameter.
|
|
14
|
+
*/
|
|
15
|
+
create(indexMap, markup, ttl, structured) {
|
|
16
|
+
const id = createSnapshotId();
|
|
17
|
+
// Use provided TTL or default config TTL
|
|
18
|
+
const effectiveTTL = ttl !== undefined && ttl > 0 ? ttl : this.config.ttl;
|
|
19
|
+
// Set Hard TTL safety timer
|
|
20
|
+
const timer = setTimeout(() => {
|
|
21
|
+
this.forceDestroy(id);
|
|
22
|
+
}, effectiveTTL);
|
|
23
|
+
const createdAt = Date.now();
|
|
24
|
+
const snapshot = {
|
|
25
|
+
id,
|
|
26
|
+
indexMap,
|
|
27
|
+
markup,
|
|
28
|
+
structured, // [RFC-014] Include structured output
|
|
29
|
+
createdAt,
|
|
30
|
+
refCount: 1,
|
|
31
|
+
ttl: effectiveTTL,
|
|
32
|
+
expiresAt: createdAt + effectiveTTL
|
|
33
|
+
};
|
|
34
|
+
this.snapshots.set(id, {
|
|
35
|
+
...snapshot,
|
|
36
|
+
timer
|
|
37
|
+
});
|
|
38
|
+
return snapshot;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Increases reference count.
|
|
42
|
+
*/
|
|
43
|
+
retain(id) {
|
|
44
|
+
const snap = this.snapshots.get(id);
|
|
45
|
+
if (!snap) {
|
|
46
|
+
throw new AOTUIError('SNAPSHOT_EXPIRED', { snapshotId: id });
|
|
47
|
+
}
|
|
48
|
+
snap.refCount++;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Decreases reference count. Destroys if 0.
|
|
52
|
+
*/
|
|
53
|
+
release(id) {
|
|
54
|
+
const snap = this.snapshots.get(id);
|
|
55
|
+
if (!snap)
|
|
56
|
+
return; // Already gone, ignore
|
|
57
|
+
snap.refCount--;
|
|
58
|
+
if (snap.refCount <= 0) {
|
|
59
|
+
this.destroy(id);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Resolves a data path from the snapshot.
|
|
64
|
+
*/
|
|
65
|
+
resolve(id, path) {
|
|
66
|
+
const snap = this.snapshots.get(id);
|
|
67
|
+
if (!snap) {
|
|
68
|
+
console.log(`[Registry] Snapshot ${id} not found`);
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
const result = snap.indexMap[path];
|
|
72
|
+
if (result === undefined) {
|
|
73
|
+
console.log(`[Registry] Key "${path}" not found in snapshot ${id}`);
|
|
74
|
+
console.log(`[Registry] Available keys in IndexMap:`, Object.keys(snap.indexMap).slice(0, 20));
|
|
75
|
+
}
|
|
76
|
+
return result;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Returns snapshot without internal implementation details.
|
|
80
|
+
* [H1 FIX] No longer exposes internal `timer` field.
|
|
81
|
+
*/
|
|
82
|
+
getSnapshot(id) {
|
|
83
|
+
const snap = this.snapshots.get(id);
|
|
84
|
+
if (!snap)
|
|
85
|
+
return undefined;
|
|
86
|
+
// Destructure to exclude internal timer field
|
|
87
|
+
const { timer, ...publicSnapshot } = snap;
|
|
88
|
+
return publicSnapshot;
|
|
89
|
+
}
|
|
90
|
+
destroy(id) {
|
|
91
|
+
const snap = this.snapshots.get(id);
|
|
92
|
+
if (snap) {
|
|
93
|
+
clearTimeout(snap.timer);
|
|
94
|
+
this.snapshots.delete(id);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
forceDestroy(id) {
|
|
98
|
+
this.destroy(id);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/engine/system/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View Domain
|
|
3
|
+
*
|
|
4
|
+
* 包含视图状态管理、Transformer 及 Snapshot 构建。
|
|
5
|
+
*
|
|
6
|
+
* @module @aotui/runtime/engine/view
|
|
7
|
+
*/
|
|
8
|
+
export type { IViewTree, ViewContextFactory } from '../../spi/index.js';
|
|
9
|
+
export type { ViewContext } from './types.js';
|
|
10
|
+
export type { IView, IViewContext } from './types.js';
|
|
11
|
+
export { ViewManager } from './manager.js';
|
|
12
|
+
export { Transformer, type TransformResult } from './transformer/index.js';
|
|
13
|
+
export { SnapshotBuilder, type SnapshotResult } from './snapshot/index.js';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View Domain
|
|
3
|
+
*
|
|
4
|
+
* 包含视图状态管理、Transformer 及 Snapshot 构建。
|
|
5
|
+
*
|
|
6
|
+
* @module @aotui/runtime/engine/view
|
|
7
|
+
*/
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// ViewManager - 视图状态管理
|
|
10
|
+
// ============================================================================
|
|
11
|
+
export { ViewManager } from './manager.js';
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// Transformer - DOM → TUI Markdown
|
|
14
|
+
// ============================================================================
|
|
15
|
+
export { Transformer } from './transformer/index.js';
|
|
16
|
+
// ============================================================================
|
|
17
|
+
// SnapshotBuilder - 快照构建
|
|
18
|
+
// ============================================================================
|
|
19
|
+
export { SnapshotBuilder } from './snapshot/index.js';
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/view/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAC/E,OAAO,EAAE,WAAW,EAAwB,MAAM,wBAAwB,CAAC;AAE3E,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAC/E,OAAO,EAAE,eAAe,EAAuB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ViewManager - View 生命周期管理
|
|
3
|
+
*
|
|
4
|
+
* [H1 拆分 Phase 4] 从 Desktop 提取的 View 管理模块。
|
|
5
|
+
*
|
|
6
|
+
* 职责:
|
|
7
|
+
* - View 挂载/卸载 (mount/dismount)
|
|
8
|
+
* - View 显示/隐藏 (show/hide)
|
|
9
|
+
*
|
|
10
|
+
* 设计说明:
|
|
11
|
+
* - ViewManager 通过 DesktopDOM 接口与 Desktop 交互
|
|
12
|
+
* - View 操作通过 CustomEvent 分发到 App 容器
|
|
13
|
+
*/
|
|
14
|
+
import type { AppID, ViewID } from '../../spi/index.js';
|
|
15
|
+
/**
|
|
16
|
+
* ViewManager - View 生命周期管理
|
|
17
|
+
*
|
|
18
|
+
* [RFC-001 Phase 2] Worker-Only 架构下,View 管理主要由 Worker 内部处理。
|
|
19
|
+
* 此类保留用于向后兼容或未来扩展,目前主要为空操作。
|
|
20
|
+
*/
|
|
21
|
+
export declare class ViewManager {
|
|
22
|
+
/**
|
|
23
|
+
* 挂载 View
|
|
24
|
+
*/
|
|
25
|
+
mount(appId: AppID, viewId: ViewID): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* 卸载 View
|
|
28
|
+
*/
|
|
29
|
+
dismount(appId: AppID, viewId: ViewID): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* 隐藏 View
|
|
32
|
+
*/
|
|
33
|
+
hide(appId: AppID, viewId: ViewID): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* 显示 View
|
|
36
|
+
*/
|
|
37
|
+
show(appId: AppID, viewId: ViewID): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* [RFC-006] Mount view via ViewLink
|
|
40
|
+
*/
|
|
41
|
+
mountByLink(appId: AppID, parentViewId: ViewID, linkId: string): Promise<void>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ViewManager - View 生命周期管理
|
|
3
|
+
*
|
|
4
|
+
* [H1 拆分 Phase 4] 从 Desktop 提取的 View 管理模块。
|
|
5
|
+
*
|
|
6
|
+
* 职责:
|
|
7
|
+
* - View 挂载/卸载 (mount/dismount)
|
|
8
|
+
* - View 显示/隐藏 (show/hide)
|
|
9
|
+
*
|
|
10
|
+
* 设计说明:
|
|
11
|
+
* - ViewManager 通过 DesktopDOM 接口与 Desktop 交互
|
|
12
|
+
* - View 操作通过 CustomEvent 分发到 App 容器
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* ViewManager - View 生命周期管理
|
|
16
|
+
*
|
|
17
|
+
* [RFC-001 Phase 2] Worker-Only 架构下,View 管理主要由 Worker 内部处理。
|
|
18
|
+
* 此类保留用于向后兼容或未来扩展,目前主要为空操作。
|
|
19
|
+
*/
|
|
20
|
+
export class ViewManager {
|
|
21
|
+
// ========================================================================
|
|
22
|
+
// View 生命周期方法
|
|
23
|
+
// ========================================================================
|
|
24
|
+
/**
|
|
25
|
+
* 挂载 View
|
|
26
|
+
*/
|
|
27
|
+
async mount(appId, viewId) {
|
|
28
|
+
// Worker App 应该通过 IPC 处理,进入此路径意味着非 Worker App 或错误
|
|
29
|
+
console.warn(`[ViewManager] Legacy mount called for ${appId}:${viewId}. Ignored in Worker-Only mode.`);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 卸载 View
|
|
33
|
+
*/
|
|
34
|
+
async dismount(appId, viewId) {
|
|
35
|
+
// No-op
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 隐藏 View
|
|
39
|
+
*/
|
|
40
|
+
async hide(appId, viewId) {
|
|
41
|
+
// No-op
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* 显示 View
|
|
45
|
+
*/
|
|
46
|
+
async show(appId, viewId) {
|
|
47
|
+
// No-op
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* [RFC-006] Mount view via ViewLink
|
|
51
|
+
*/
|
|
52
|
+
async mountByLink(appId, parentViewId, linkId) {
|
|
53
|
+
// Worker App 应该通过 IPC 处理,进入此路径意味着非 Worker App 或错误
|
|
54
|
+
console.warn(`[ViewManager] Legacy mountByLink called for ${appId}:${parentViewId}:${linkId}. Ignored in Worker-Only mode.`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/engine/view/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IAEpB,2EAA2E;IAC3E,cAAc;IACd,2EAA2E;IAE3E;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,KAAY,EAAE,MAAc;QACpC,kDAAkD;QAClD,OAAO,CAAC,IAAI,CAAC,yCAAyC,KAAK,IAAI,MAAM,gCAAgC,CAAC,CAAC;IAC3G,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAY,EAAE,MAAc;QACvC,QAAQ;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,KAAY,EAAE,MAAc;QACnC,QAAQ;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,KAAY,EAAE,MAAc;QACnC,QAAQ;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAY,EAAE,YAAoB,EAAE,MAAc;QAChE,kDAAkD;QAClD,OAAO,CAAC,IAAI,CAAC,+CAA+C,KAAK,IAAI,YAAY,IAAI,MAAM,gCAAgC,CAAC,CAAC;IACjI,CAAC;CACJ"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SnapshotBuilder - TUI Snapshot Aggregator
|
|
3
|
+
*
|
|
4
|
+
* Combines Desktop metadata with Transformer output to create
|
|
5
|
+
* complete TUI snapshots conforming to TUI_DEMO.md specification.
|
|
6
|
+
*/
|
|
7
|
+
import type { IndexMap } from '../../../spi/index.js';
|
|
8
|
+
import { Transformer } from '../transformer/index.js';
|
|
9
|
+
import { Desktop } from '../../core/desktop.js';
|
|
10
|
+
export interface SnapshotResult {
|
|
11
|
+
markup: string;
|
|
12
|
+
indexMap: IndexMap;
|
|
13
|
+
}
|
|
14
|
+
export declare class SnapshotBuilder {
|
|
15
|
+
private transformer;
|
|
16
|
+
private mergedIndexMap;
|
|
17
|
+
constructor(transformer?: Transformer);
|
|
18
|
+
/**
|
|
19
|
+
* Build complete TUI snapshot from Desktop state
|
|
20
|
+
*/
|
|
21
|
+
build(desktop: Desktop): SnapshotResult;
|
|
22
|
+
/**
|
|
23
|
+
* Build <desktop> section with system info
|
|
24
|
+
*/
|
|
25
|
+
private buildDesktopSection;
|
|
26
|
+
/**
|
|
27
|
+
* Build <application> section with app info and views
|
|
28
|
+
*/
|
|
29
|
+
private buildApplicationSection;
|
|
30
|
+
/**
|
|
31
|
+
* Build simplified view tree from app container
|
|
32
|
+
*/
|
|
33
|
+
private buildViewTree;
|
|
34
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { Transformer } from '../transformer/index.js';
|
|
2
|
+
import { SYSTEM_INSTRUCTION, formatTimestamp, formatAppStatus } from './templates.js';
|
|
3
|
+
export class SnapshotBuilder {
|
|
4
|
+
transformer;
|
|
5
|
+
mergedIndexMap = {};
|
|
6
|
+
constructor(transformer) {
|
|
7
|
+
this.transformer = transformer || new Transformer();
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Build complete TUI snapshot from Desktop state
|
|
11
|
+
*/
|
|
12
|
+
build(desktop) {
|
|
13
|
+
this.mergedIndexMap = {};
|
|
14
|
+
const parts = [];
|
|
15
|
+
// 1. Build <desktop> section
|
|
16
|
+
parts.push(this.buildDesktopSection(desktop));
|
|
17
|
+
// 2. Build <application> sections for running apps
|
|
18
|
+
const apps = desktop.getInstalledApps();
|
|
19
|
+
for (const app of apps) {
|
|
20
|
+
if (app.status === 'running') {
|
|
21
|
+
parts.push(this.buildApplicationSection(desktop, app));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
markup: parts.join('\n\n'),
|
|
26
|
+
indexMap: this.mergedIndexMap
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Build <desktop> section with system info
|
|
31
|
+
*/
|
|
32
|
+
buildDesktopSection(desktop) {
|
|
33
|
+
const apps = desktop.getInstalledApps();
|
|
34
|
+
const logs = desktop.getSystemLogs();
|
|
35
|
+
// [RFC-013] Format installed apps list with description
|
|
36
|
+
const appsMarkup = apps.length === 0
|
|
37
|
+
? '- No applications installed.'
|
|
38
|
+
: apps.map((app, index) => {
|
|
39
|
+
const name = app.name || app.appId;
|
|
40
|
+
const whatItIs = app.whatItIs ?? app.description ?? 'Not provided';
|
|
41
|
+
const whenToUse = app.whenToUse ?? 'Not provided';
|
|
42
|
+
return `${index + 1}. ${name}
|
|
43
|
+
- Status: ${formatAppStatus(app.status)}
|
|
44
|
+
- What it is: ${whatItIs}
|
|
45
|
+
- When to use: ${whenToUse}`;
|
|
46
|
+
}).join('\n');
|
|
47
|
+
// Format system logs (last 5)
|
|
48
|
+
const logsMarkup = logs.slice(-5).map(log => `- [${formatTimestamp(log.timestamp)}] ${log.message}`).join('\n');
|
|
49
|
+
return `<desktop>
|
|
50
|
+
|
|
51
|
+
${SYSTEM_INSTRUCTION}
|
|
52
|
+
|
|
53
|
+
## Installed TUI Applications
|
|
54
|
+
${appsMarkup}
|
|
55
|
+
|
|
56
|
+
## System Logs
|
|
57
|
+
${logsMarkup || '- No logs yet.'}
|
|
58
|
+
|
|
59
|
+
</desktop>`;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Build <application> section with app info and views
|
|
63
|
+
*/
|
|
64
|
+
buildApplicationSection(desktop, app) {
|
|
65
|
+
const logs = desktop.getAppOperationLogs(app.appId);
|
|
66
|
+
const appName = app.name || app.appId;
|
|
67
|
+
// [P1 Fix] Removed dead code: getAppContainer is deprecated/removed.
|
|
68
|
+
// SnapshotBuilder no longer supports DOM traversal for apps.
|
|
69
|
+
// Use getSnapshotFragments() in Kernel instead.
|
|
70
|
+
const viewsMarkup = '';
|
|
71
|
+
// Format operation logs (last 5)
|
|
72
|
+
const logsMarkup = logs.slice(-5).map(log => `- [${formatTimestamp(log.timestamp)}] ${log.message}`).join('\n');
|
|
73
|
+
// Build view tree (simplified version based on DOM structure)
|
|
74
|
+
// [P1 Fix] SnapshotBuilder DOM traversal is disabled.
|
|
75
|
+
const viewTree = this.buildViewTree(null);
|
|
76
|
+
return `<application id="${app.appId}" name="${appName}">
|
|
77
|
+
|
|
78
|
+
<application_info>
|
|
79
|
+
## Operation Log
|
|
80
|
+
${logsMarkup || '- No operations yet.'}
|
|
81
|
+
|
|
82
|
+
## Application View Tree
|
|
83
|
+
${viewTree || '- No views.'}
|
|
84
|
+
</application_info>
|
|
85
|
+
|
|
86
|
+
${viewsMarkup}
|
|
87
|
+
|
|
88
|
+
</application>`;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Build simplified view tree from app container
|
|
92
|
+
*/
|
|
93
|
+
buildViewTree(container) {
|
|
94
|
+
if (!container)
|
|
95
|
+
return '';
|
|
96
|
+
// [H3 FIX] Query both mounted views AND unmounted view links (siblings)
|
|
97
|
+
const elements = container.querySelectorAll('[view], [data-view-link]');
|
|
98
|
+
if (elements.length === 0)
|
|
99
|
+
return '- No views.';
|
|
100
|
+
return Array.from(elements).map((el) => {
|
|
101
|
+
// Case 1: Mounted View
|
|
102
|
+
if (el.hasAttribute('view')) {
|
|
103
|
+
const viewName = el.getAttribute('name') || el.getAttribute('view') || 'Unknown';
|
|
104
|
+
const viewId = el.id || 'unknown';
|
|
105
|
+
const state = el.getAttribute('data-state');
|
|
106
|
+
const stateStr = state === 'hidden' ? '' : ', mounted';
|
|
107
|
+
return `- [${viewName}](view:${viewId}${stateStr})`;
|
|
108
|
+
}
|
|
109
|
+
// Case 2: Unmounted View Link (Sibling)
|
|
110
|
+
else if (el.hasAttribute('data-view-link')) {
|
|
111
|
+
const viewId = el.getAttribute('data-view-link');
|
|
112
|
+
const text = el.textContent || 'View Link';
|
|
113
|
+
return `- [${text}](view:${viewId})`;
|
|
114
|
+
}
|
|
115
|
+
return '';
|
|
116
|
+
}).filter(Boolean).join('\n');
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../src/engine/view/snapshot/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SnapshotFormatter - TUI Snapshot Formatter
|
|
3
|
+
*
|
|
4
|
+
* [RFC-007] Transforms Worker fragments and Desktop metadata into
|
|
5
|
+
* complete TUI snapshots conforming to TUI_DEMO.md format.
|
|
6
|
+
* [RFC-014] Added structured output for semantic separation.
|
|
7
|
+
*
|
|
8
|
+
* @module @aotui/runtime/engine/view/snapshot/formatter
|
|
9
|
+
*/
|
|
10
|
+
import type { ISnapshotFormatter, ISnapshotFragment, IDesktopMetadata, FormattedSnapshotResult, StructuredSnapshot } from '../../../spi/index.js';
|
|
11
|
+
/**
|
|
12
|
+
* [RFC-014] Extended snapshot result with structured output
|
|
13
|
+
*/
|
|
14
|
+
export interface ExtendedSnapshotResult extends FormattedSnapshotResult {
|
|
15
|
+
/** [RFC-014] Structured output for semantic separation */
|
|
16
|
+
structured: StructuredSnapshot;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* SnapshotFormatter configuration
|
|
20
|
+
*/
|
|
21
|
+
export interface SnapshotFormatterConfig {
|
|
22
|
+
/** Maximum system logs to include (default: 5) */
|
|
23
|
+
systemLogLimit?: number;
|
|
24
|
+
/** Maximum app operation logs to include (default: 3) */
|
|
25
|
+
appLogLimit?: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* SnapshotFormatter Implementation
|
|
29
|
+
*
|
|
30
|
+
* Assembles complete TUI snapshots from:
|
|
31
|
+
* 1. Desktop metadata (`<desktop>` section)
|
|
32
|
+
* 2. Worker fragments (`<application>` sections)
|
|
33
|
+
*
|
|
34
|
+
* [RFC-014] Now also returns structured output for semantic separation.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const formatter = new SnapshotFormatter();
|
|
39
|
+
* const { markup, indexMap, structured } = formatter.format(fragments, metadata);
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare class SnapshotFormatter implements ISnapshotFormatter {
|
|
43
|
+
private readonly systemLogLimit;
|
|
44
|
+
private readonly appLogLimit;
|
|
45
|
+
constructor(config?: SnapshotFormatterConfig);
|
|
46
|
+
private resolveUniqueToolKey;
|
|
47
|
+
/**
|
|
48
|
+
* Format complete TUI snapshot
|
|
49
|
+
*
|
|
50
|
+
* [RFC-014] Now returns both legacy markup and structured output.
|
|
51
|
+
*/
|
|
52
|
+
format(fragments: ReadonlyArray<ISnapshotFragment>, metadata: IDesktopMetadata): ExtendedSnapshotResult;
|
|
53
|
+
/**
|
|
54
|
+
* [RFC-014] Build desktop state without system instruction
|
|
55
|
+
*
|
|
56
|
+
* Returns only "Where" information:
|
|
57
|
+
* - Installed Applications
|
|
58
|
+
* - System Logs
|
|
59
|
+
*/
|
|
60
|
+
private buildDesktopStateOnly;
|
|
61
|
+
/**
|
|
62
|
+
* Format apps list markup (shared between legacy and structured output)
|
|
63
|
+
*/
|
|
64
|
+
private formatAppsMarkup;
|
|
65
|
+
/**
|
|
66
|
+
* Build <desktop> section with system info
|
|
67
|
+
*/
|
|
68
|
+
private buildDesktopSection;
|
|
69
|
+
/**
|
|
70
|
+
* Build <application> section with app info and views
|
|
71
|
+
*
|
|
72
|
+
* [RFC-017] Removed "## Recent Operations" section - feedback now provided
|
|
73
|
+
* via AI SDK standard tool-result messages (RFC-015)
|
|
74
|
+
*/
|
|
75
|
+
private buildApplicationSection;
|
|
76
|
+
}
|