@fps-games/editor 0.2.1-beta.3 → 0.2.1-beta.4
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/build-info.json +44 -44
- package/dist/editor-commands/capabilities/assets.d.ts +8 -0
- package/dist/editor-commands/capabilities/assets.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/assets.js +41 -41
- package/dist/editor-commands/capabilities/assets.js.map +1 -0
- package/dist/editor-commands/capabilities/editor-state.d.ts +5 -0
- package/dist/editor-commands/capabilities/editor-state.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/editor-state.js +22 -22
- package/dist/editor-commands/capabilities/editor-state.js.map +1 -0
- package/dist/editor-commands/capabilities/hierarchy.d.ts +4 -0
- package/dist/editor-commands/capabilities/hierarchy.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/hierarchy.js +5 -5
- package/dist/editor-commands/capabilities/hierarchy.js.map +1 -0
- package/dist/editor-commands/capabilities/host-lifecycle.d.ts +11 -0
- package/dist/editor-commands/capabilities/host-lifecycle.d.ts.map +1 -0
- package/dist/editor-commands/capabilities/host-lifecycle.js +149 -0
- package/dist/editor-commands/capabilities/host-lifecycle.js.map +1 -0
- package/dist/editor-commands/capabilities/prefabs.d.ts +5 -0
- package/dist/editor-commands/capabilities/prefabs.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/prefabs.js +93 -93
- package/dist/editor-commands/capabilities/prefabs.js.map +1 -0
- package/dist/editor-commands/capabilities/scene-objects.d.ts +8 -0
- package/dist/editor-commands/capabilities/scene-objects.d.ts.map +1 -0
- package/dist/editor-commands/capabilities/scene-objects.js +480 -0
- package/dist/editor-commands/capabilities/scene-objects.js.map +1 -0
- package/dist/editor-commands/capabilities/selection.d.ts +5 -0
- package/dist/editor-commands/capabilities/selection.d.ts.map +1 -0
- package/dist/editor-commands/capabilities/selection.js +60 -0
- package/dist/editor-commands/capabilities/selection.js.map +1 -0
- package/dist/editor-commands/capabilities/shadows.d.ts +5 -0
- package/dist/editor-commands/capabilities/shadows.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/shadows.js +74 -74
- package/dist/editor-commands/capabilities/shadows.js.map +1 -0
- package/dist/editor-commands/capabilities/transform.d.ts +5 -0
- package/dist/editor-commands/capabilities/transform.d.ts.map +1 -0
- package/dist/editor-commands/capabilities/transform.js +164 -0
- package/dist/editor-commands/capabilities/transform.js.map +1 -0
- package/dist/editor-commands/capabilities/ui-regions.d.ts +4 -0
- package/dist/editor-commands/capabilities/ui-regions.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/ui-regions.js +55 -57
- package/dist/editor-commands/capabilities/ui-regions.js.map +1 -0
- package/dist/editor-commands/capabilities/viewport.d.ts +5 -0
- package/dist/editor-commands/capabilities/viewport.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/capabilities/viewport.js +100 -100
- package/dist/editor-commands/capabilities/viewport.js.map +1 -0
- package/dist/editor-commands/command-sources.d.ts +7 -0
- package/dist/editor-commands/command-sources.d.ts.map +1 -0
- package/dist/editor-commands/command-sources.js +34 -0
- package/dist/editor-commands/command-sources.js.map +1 -0
- package/dist/editor-commands/diagnostics.d.ts +12 -0
- package/dist/editor-commands/diagnostics.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/diagnostics.js +4 -4
- package/dist/editor-commands/diagnostics.js.map +1 -0
- package/dist/{agent-bridge → editor-commands}/index.d.ts +1 -1
- package/dist/editor-commands/index.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/index.js +1 -1
- package/dist/editor-commands/index.js.map +1 -0
- package/dist/editor-commands/register.d.ts +4 -0
- package/dist/editor-commands/register.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/register.js +323 -286
- package/dist/editor-commands/register.js.map +1 -0
- package/dist/{agent-bridge → editor-commands}/shared.d.ts +80 -80
- package/dist/editor-commands/shared.d.ts.map +1 -0
- package/dist/{agent-bridge → editor-commands}/shared.js +29 -29
- package/dist/editor-commands/shared.js.map +1 -0
- package/dist/editor-commands/source-types.d.ts +110 -0
- package/dist/editor-commands/source-types.d.ts.map +1 -0
- package/dist/editor-commands/source-types.js.map +1 -0
- package/dist/editor-plugin-commands.d.ts +4 -0
- package/dist/editor-plugin-commands.d.ts.map +1 -0
- package/dist/editor-plugin-commands.js +18 -0
- package/dist/editor-plugin-commands.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/local-editor-commands.d.ts +2 -0
- package/dist/local-editor-commands.d.ts.map +1 -0
- package/dist/local-editor-commands.js +2 -0
- package/dist/local-editor-commands.js.map +1 -0
- package/dist/local-editor-harness.d.ts +35 -21
- package/dist/local-editor-harness.d.ts.map +1 -1
- package/dist/local-editor-harness.js +1721 -367
- package/dist/local-editor-harness.js.map +1 -1
- package/dist/local-editor-prefab-stage-transaction.d.ts +2 -1
- package/dist/local-editor-prefab-stage-transaction.d.ts.map +1 -1
- package/dist/local-editor-prefab-stage-transaction.js +6 -5
- package/dist/local-editor-prefab-stage-transaction.js.map +1 -1
- package/dist/local-editor-scene-view-interaction-runtime.d.ts.map +1 -1
- package/dist/local-editor-scene-view-interaction-runtime.js +2 -5
- package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
- package/dist/playable-local-editor-entry.d.ts +10 -0
- package/dist/playable-local-editor-entry.d.ts.map +1 -1
- package/dist/playable-local-editor-entry.js +10 -2
- package/dist/playable-local-editor-entry.js.map +1 -1
- package/dist/playable-local-editor-host.d.ts +3 -32
- package/dist/playable-local-editor-host.d.ts.map +1 -1
- package/dist/playable-local-editor-host.js +6 -70
- package/dist/playable-local-editor-host.js.map +1 -1
- package/dist/playable-product-local-editor.d.ts +1 -2
- package/dist/playable-product-local-editor.d.ts.map +1 -1
- package/dist/playable-product-local-editor.js +0 -1
- package/dist/playable-product-local-editor.js.map +1 -1
- package/dist/playable-product-projection-preview.d.ts.map +1 -1
- package/dist/playable-product-projection-preview.js +1 -1
- package/dist/playable-product-projection-preview.js.map +1 -1
- package/dist/playable-product-scene-capabilities.d.ts +0 -2
- package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
- package/dist/playable-product-scene-capabilities.js +33 -6
- package/dist/playable-product-scene-capabilities.js.map +1 -1
- package/dist/playable-runtime-babylon.d.ts +4 -0
- package/dist/playable-runtime-babylon.d.ts.map +1 -1
- package/dist/playable-runtime-babylon.js +4 -0
- package/dist/playable-runtime-babylon.js.map +1 -1
- package/dist/playable-sdk.d.ts +1 -1
- package/dist/playable-sdk.d.ts.map +1 -1
- package/dist/playable-sdk.js.map +1 -1
- package/dist/playable-standard-project.d.ts +0 -2
- package/dist/playable-standard-project.d.ts.map +1 -1
- package/dist/playable-standard-project.js +1 -2
- package/dist/playable-standard-project.js.map +1 -1
- package/dist/project-service-projection.d.ts +16 -0
- package/dist/project-service-projection.d.ts.map +1 -0
- package/dist/project-service-projection.js +67 -0
- package/dist/project-service-projection.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts +18 -0
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js +54 -18
- package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/package.json +9 -9
- package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection.js +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js +127 -13
- package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js +66 -1
- package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/package.json +6 -6
- package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts +32 -0
- package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js +254 -0
- package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
- package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
- package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts +68 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js +650 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js.map +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts +1 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js +22 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +8 -0
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +117 -6
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts +14 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +100 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +8 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +75 -2
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +37 -12
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +25 -2
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +332 -107
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/package.json +7 -7
- package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts +107 -0
- package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js +1211 -0
- package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts +34 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js +260 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts +9 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js +14 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts +18 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js +113 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts +82 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-system.js +1098 -0
- package/node_modules/@fps-games/editor-core/dist/editor-command-system.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts +6 -7
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +62 -103
- package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts +30 -0
- package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js +540 -0
- package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts +9 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js +61 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js.map +1 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +55 -0
- package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/editor-session.js +247 -6
- package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/index.d.ts +6 -2
- package/node_modules/@fps-games/editor-core/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-core/dist/index.js +6 -2
- package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-core/package.json +6 -6
- package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts +0 -1
- package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/dist/index.js +0 -1
- package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js +41 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +27 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +214 -7
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js +11 -3
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js +0 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +77 -31
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +8 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts +21 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js +90 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts +27 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js +161 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js +5 -92
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts +7 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js +26 -9
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts +9 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +19 -8
- package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts +5 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js +16 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts +9 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js +12 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js +10 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +17 -82
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +53 -57
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js +3 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts +10 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js +256 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js +7 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +8 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js +134 -12
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +47 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts +27 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js +592 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts +3 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +61 -6
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +0 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js +1 -10
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +21 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts +13 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js +18 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts +28 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js +863 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/package.json +6 -6
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts +1626 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/{agent-bridge.js → editor-command-capabilities.js} +766 -620
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.js.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts +69 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js +22 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts +136 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command.js +2 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-command.js.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts +225 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-service.js +4 -0
- package/node_modules/@fps-games/editor-protocol/dist/editor-service.js.map +1 -0
- package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +6 -3
- package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-protocol/dist/index.js +6 -3
- package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-protocol/package.json +2 -2
- package/node_modules/@fps-games/editor-tooling/package.json +3 -3
- package/node_modules/@fps-games/editor-ui/package.json +1 -1
- package/node_modules/@fps-games/playable-assets/package.json +1 -1
- package/node_modules/@fps-games/playable-contracts/package.json +1 -1
- package/node_modules/@fps-games/playable-rendering/package.json +2 -2
- package/node_modules/@fps-games/playable-runtime/package.json +12 -12
- package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
- package/node_modules/@fps-games/playable-scene/package.json +2 -2
- package/node_modules/@fps-games/plugin-api/package.json +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-assets/package.json +6 -6
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts +1 -0
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts.map +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js +78 -4
- package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js.map +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-hierarchy/package.json +5 -5
- package/node_modules/@fps-games/plugin-host/package.json +2 -2
- package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-markers/package.json +5 -5
- package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-materials/package.json +5 -5
- package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
- package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-scene/package.json +5 -5
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadow-map-experiment/package.json +5 -5
- package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
- package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
- package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
- package/package.json +23 -23
- package/dist/agent-bridge/capabilities/assets.d.ts +0 -8
- package/dist/agent-bridge/capabilities/assets.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/assets.js.map +0 -1
- package/dist/agent-bridge/capabilities/editor-state.d.ts +0 -5
- package/dist/agent-bridge/capabilities/editor-state.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/editor-state.js.map +0 -1
- package/dist/agent-bridge/capabilities/hierarchy.d.ts +0 -4
- package/dist/agent-bridge/capabilities/hierarchy.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/hierarchy.js.map +0 -1
- package/dist/agent-bridge/capabilities/host-lifecycle.d.ts +0 -11
- package/dist/agent-bridge/capabilities/host-lifecycle.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/host-lifecycle.js +0 -149
- package/dist/agent-bridge/capabilities/host-lifecycle.js.map +0 -1
- package/dist/agent-bridge/capabilities/prefabs.d.ts +0 -5
- package/dist/agent-bridge/capabilities/prefabs.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/prefabs.js.map +0 -1
- package/dist/agent-bridge/capabilities/scene-objects.d.ts +0 -8
- package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/scene-objects.js +0 -480
- package/dist/agent-bridge/capabilities/scene-objects.js.map +0 -1
- package/dist/agent-bridge/capabilities/selection.d.ts +0 -5
- package/dist/agent-bridge/capabilities/selection.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/selection.js +0 -60
- package/dist/agent-bridge/capabilities/selection.js.map +0 -1
- package/dist/agent-bridge/capabilities/shadows.d.ts +0 -5
- package/dist/agent-bridge/capabilities/shadows.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/shadows.js.map +0 -1
- package/dist/agent-bridge/capabilities/transform.d.ts +0 -5
- package/dist/agent-bridge/capabilities/transform.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/transform.js +0 -164
- package/dist/agent-bridge/capabilities/transform.js.map +0 -1
- package/dist/agent-bridge/capabilities/ui-regions.d.ts +0 -4
- package/dist/agent-bridge/capabilities/ui-regions.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/ui-regions.js.map +0 -1
- package/dist/agent-bridge/capabilities/viewport.d.ts +0 -5
- package/dist/agent-bridge/capabilities/viewport.d.ts.map +0 -1
- package/dist/agent-bridge/capabilities/viewport.js.map +0 -1
- package/dist/agent-bridge/capability-sources.d.ts +0 -7
- package/dist/agent-bridge/capability-sources.d.ts.map +0 -1
- package/dist/agent-bridge/capability-sources.js +0 -34
- package/dist/agent-bridge/capability-sources.js.map +0 -1
- package/dist/agent-bridge/diagnostics.d.ts +0 -12
- package/dist/agent-bridge/diagnostics.d.ts.map +0 -1
- package/dist/agent-bridge/diagnostics.js.map +0 -1
- package/dist/agent-bridge/index.d.ts.map +0 -1
- package/dist/agent-bridge/index.js.map +0 -1
- package/dist/agent-bridge/register.d.ts +0 -4
- package/dist/agent-bridge/register.d.ts.map +0 -1
- package/dist/agent-bridge/register.js.map +0 -1
- package/dist/agent-bridge/shared.d.ts.map +0 -1
- package/dist/agent-bridge/shared.js.map +0 -1
- package/dist/agent-bridge/source-types.d.ts +0 -110
- package/dist/agent-bridge/source-types.d.ts.map +0 -1
- package/dist/agent-bridge/source-types.js.map +0 -1
- package/dist/editor-plugin-agent-capabilities.d.ts +0 -4
- package/dist/editor-plugin-agent-capabilities.d.ts.map +0 -1
- package/dist/editor-plugin-agent-capabilities.js +0 -64
- package/dist/editor-plugin-agent-capabilities.js.map +0 -1
- package/dist/local-editor-agent-actions.d.ts +0 -43
- package/dist/local-editor-agent-actions.d.ts.map +0 -1
- package/dist/local-editor-agent-actions.js +0 -321
- package/dist/local-editor-agent-actions.js.map +0 -1
- package/dist/local-editor-agent-bridge-transport.d.ts +0 -129
- package/dist/local-editor-agent-bridge-transport.d.ts.map +0 -1
- package/dist/local-editor-agent-bridge-transport.js +0 -403
- package/dist/local-editor-agent-bridge-transport.js.map +0 -1
- package/dist/local-editor-agent-bridge.d.ts +0 -2
- package/dist/local-editor-agent-bridge.d.ts.map +0 -1
- package/dist/local-editor-agent-bridge.js +0 -2
- package/dist/local-editor-agent-bridge.js.map +0 -1
- package/dist/local-editor-agent-context.d.ts +0 -68
- package/dist/local-editor-agent-context.d.ts.map +0 -1
- package/dist/local-editor-agent-context.js +0 -716
- package/dist/local-editor-agent-context.js.map +0 -1
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts +0 -22
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.js +0 -106
- package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +0 -1
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts +0 -17
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.js +0 -14
- package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +0 -1
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts +0 -23
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js +0 -47
- package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +0 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts +0 -112
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js +0 -159
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +0 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts +0 -15
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js +0 -76
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts +0 -1622
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts +0 -68
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js +0 -23
- package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts +0 -187
- package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts.map +0 -1
- package/node_modules/@fps-games/editor-protocol/dist/agent.js +0 -5
- package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +0 -1
- /package/dist/{agent-bridge → editor-commands}/source-types.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-editor-agent-context.js","sourceRoot":"","sources":["../src/local-editor-agent-context.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SceneGraphTreeItem } from '@fps-games/editor-core';\nimport {\n EDITOR_AGENT_CONTEXT_SCHEMA_VERSION,\n type EditorAgentBounds,\n type EditorAgentContextSemantics,\n type EditorAgentProjectDirectoryContext,\n type EditorAgentProjectFileContext,\n type EditorAgentRegionBindingContext,\n type EditorAgentSceneObject,\n type EditorAgentSceneObjectContext,\n type EditorAgentSceneObjectSetContext,\n type EditorAgentSpatialMarkerContext,\n type EditorAgentSpatialRelationGraphContext,\n type EditorAgentSource,\n type EditorAgentTransform,\n type EditorAgentVec3,\n type ResolvedSpatialMarkerGraph,\n type ResolvedSpatialMarkerNode,\n type SpatialMarkerTypeDefinition,\n type SpatialRelation,\n type SpatialRelationTypeDefinition,\n} from '@fps-games/editor-protocol';\n\nexport interface LocalEditorAgentContextProjectEntryInput {\n path: string;\n name?: string;\n entryKind: 'file' | 'directory';\n extension?: string;\n assetId?: string;\n assetKind?: string;\n source?: Partial<EditorAgentSource>;\n createdAt?: number;\n}\n\nexport interface LocalEditorAgentContextObjectInput<TDocument = unknown> {\n document: TDocument;\n objectId: string;\n hierarchyItems?: readonly SceneGraphTreeItem[];\n projectionNode?: unknown | null;\n source?: Partial<EditorAgentSource>;\n createdAt?: number;\n semantics?: EditorAgentContextSemantics | null;\n}\n\nexport interface LocalEditorAgentContextObjectSetInput<TDocument = unknown> {\n document: TDocument;\n objectIds: readonly string[];\n hierarchyItems?: readonly SceneGraphTreeItem[];\n projectionNodes?: Record<string, unknown | null | undefined>;\n source?: Partial<EditorAgentSource>;\n createdAt?: number;\n semantics?: EditorAgentContextSemantics | null;\n}\n\nexport interface LocalEditorAgentContextRegionBindingInput<TDocument = unknown>\n extends LocalEditorAgentContextObjectSetInput<TDocument> {\n regionLabel?: string;\n relationshipType?: string;\n relationshipDescription?: string;\n}\n\nexport interface LocalEditorAgentContextSpatialMarkerInput<TDocument = unknown> {\n document: TDocument;\n marker: ResolvedSpatialMarkerNode;\n graph?: ResolvedSpatialMarkerGraph | null;\n directRelations?: readonly SpatialRelation[];\n relatedMarkerIds?: readonly string[];\n relatedObjectIds?: readonly string[];\n hierarchyItems?: readonly SceneGraphTreeItem[];\n markerTypes?: readonly SpatialMarkerTypeDefinition[];\n relationTypes?: readonly SpatialRelationTypeDefinition[];\n source?: Partial<EditorAgentSource>;\n createdAt?: number;\n semantics?: EditorAgentContextSemantics | null;\n}\n\nexport interface LocalEditorAgentContextSpatialRelationGraphInput<TDocument = unknown> {\n document: TDocument;\n graph: ResolvedSpatialMarkerGraph;\n focusMarkerIds?: readonly string[];\n focusObjectIds?: readonly string[];\n hierarchyItems?: readonly SceneGraphTreeItem[];\n markerTypes?: readonly SpatialMarkerTypeDefinition[];\n relationTypes?: readonly SpatialRelationTypeDefinition[];\n source?: Partial<EditorAgentSource>;\n createdAt?: number;\n semantics?: EditorAgentContextSemantics | null;\n}\n\ninterface LocalEditorAgentSpatialRelationEndpointSummary {\n kind: string;\n id: string;\n label?: string;\n}\n\ninterface LocalEditorAgentSpatialRelationSummary {\n relationId?: string;\n relationType?: string;\n relationLabel?: string;\n directed?: boolean;\n from?: LocalEditorAgentSpatialRelationEndpointSummary;\n to?: LocalEditorAgentSpatialRelationEndpointSummary;\n summary: string;\n count?: number;\n}\n\ninterface LocalEditorAgentSpatialGraphIssue {\n code: string;\n severity: 'warning' | 'error';\n message: string;\n relationId?: string;\n markerId?: string;\n endpoint?: LocalEditorAgentSpatialRelationEndpointSummary;\n}\n\ninterface LocalEditorAgentSpatialRelationNeighborhood {\n markerId: string;\n markerLabel?: string;\n oneHopRelations: SpatialRelation[];\n relatedMarkerIds?: string[];\n relatedObjectIds?: string[];\n twoHopSummaries?: LocalEditorAgentSpatialRelationSummary[];\n localSummaries?: LocalEditorAgentSpatialRelationSummary[];\n graphIssues?: LocalEditorAgentSpatialGraphIssue[];\n}\n\nexport function createLocalEditorProjectEntryAgentContext(\n input: LocalEditorAgentContextProjectEntryInput,\n): EditorAgentProjectFileContext | EditorAgentProjectDirectoryContext | null {\n const path = normalizeProjectEntryPath(input.path);\n if (!path) return null;\n const segments = path.split('/');\n const name = input.name?.trim() || segments[segments.length - 1] || path;\n const extension = input.entryKind === 'file'\n ? input.extension?.trim().toLowerCase() || undefined\n : undefined;\n const entry = {\n path,\n name,\n entryKind: input.entryKind,\n ...(extension ? { extension } : {}),\n ...(input.assetId?.trim() ? { assetId: input.assetId.trim() } : {}),\n ...(input.assetKind?.trim() ? { assetKind: input.assetKind.trim() } : {}),\n };\n const kind = input.entryKind === 'directory' ? 'project-directory' : 'project-file';\n const base = {\n schemaVersion: EDITOR_AGENT_CONTEXT_SCHEMA_VERSION,\n id: createAgentContextId(kind, [path], input.createdAt),\n label: name,\n summary: [\n input.entryKind === 'directory' ? `Project Directory: ${name}` : `Project File: ${name}`,\n `path: ${path}`,\n ...(extension ? [`type: ${extension}`] : []),\n ...(entry.assetId ? [`assetId: ${entry.assetId}`] : []),\n ].join('\\n'),\n createdAt: input.createdAt ?? Date.now(),\n source: createAgentSource('project-files', input.source),\n };\n return input.entryKind === 'directory'\n ? { ...base, kind: 'project-directory', entry: { ...entry, entryKind: 'directory' } }\n : { ...base, kind: 'project-file', entry: { ...entry, entryKind: 'file' } };\n}\n\nexport function createLocalEditorSceneObjectAgentContext<TDocument>(\n input: LocalEditorAgentContextObjectInput<TDocument>,\n): EditorAgentSceneObjectContext | null {\n const objectId = normalizeId(input.objectId);\n if (!objectId) return null;\n const hierarchyById = createHierarchyMap(input.hierarchyItems);\n const object = createAgentSceneObject(objectId, hierarchyById, input.projectionNode);\n const label = object.label ?? object.name ?? object.id;\n return {\n schemaVersion: EDITOR_AGENT_CONTEXT_SCHEMA_VERSION,\n id: createAgentContextId('scene-object', [objectId], input.createdAt),\n kind: 'scene-object',\n label,\n summary: summarizeSceneObject(object),\n createdAt: input.createdAt ?? Date.now(),\n source: createAgentSource('hierarchy', input.source),\n object,\n ...pickAgentSemantics(input.semantics),\n };\n}\n\nexport function createLocalEditorSceneObjectSetAgentContext<TDocument>(\n input: LocalEditorAgentContextObjectSetInput<TDocument>,\n): EditorAgentSceneObjectSetContext | null {\n const objectIds = normalizeIds(input.objectIds);\n if (objectIds.length === 0) return null;\n const hierarchyById = createHierarchyMap(input.hierarchyItems);\n const objects = objectIds.map(id => createAgentSceneObject(id, hierarchyById, input.projectionNodes?.[id]));\n return {\n schemaVersion: EDITOR_AGENT_CONTEXT_SCHEMA_VERSION,\n id: createAgentContextId('scene-object-set', objectIds, input.createdAt),\n kind: 'scene-object-set',\n label: `${objects.length} selected objects`,\n summary: summarizeSceneObjectSet(objects),\n createdAt: input.createdAt ?? Date.now(),\n source: createAgentSource('selection', input.source),\n objectIds,\n objects,\n ...pickAgentSemantics(input.semantics),\n };\n}\n\nexport function createLocalEditorRegionBindingAgentContext<TDocument>(\n input: LocalEditorAgentContextRegionBindingInput<TDocument>,\n): EditorAgentRegionBindingContext | null {\n const objectIds = normalizeIds(input.objectIds);\n if (objectIds.length === 0) return null;\n const hierarchyById = createHierarchyMap(input.hierarchyItems);\n const objects = objectIds.map(id => createAgentSceneObject(id, hierarchyById, input.projectionNodes?.[id]));\n const bounds = mergeAgentBounds(objects.map(object => object.bounds).filter((value): value is EditorAgentBounds => !!value));\n const label = input.regionLabel?.trim() || `${objects.length} objects region`;\n return {\n schemaVersion: EDITOR_AGENT_CONTEXT_SCHEMA_VERSION,\n id: createAgentContextId('region-binding', objectIds, input.createdAt),\n kind: 'region-binding',\n label,\n summary: summarizeRegionBinding(label, objects),\n createdAt: input.createdAt ?? Date.now(),\n source: createAgentSource('region-binding', input.source),\n region: {\n id: `region:${objectIds.join('+')}`,\n label,\n ...(bounds ? { bounds } : {}),\n objectIds,\n },\n relationship: {\n type: input.relationshipType?.trim() || 'selection-region',\n description: input.relationshipDescription?.trim()\n || 'The selected scene objects are being described to the Agent as a region relationship.',\n },\n ...pickAgentSemantics(input.semantics),\n };\n}\n\nexport function createLocalEditorSpatialMarkerAgentContext<TDocument>(\n input: LocalEditorAgentContextSpatialMarkerInput<TDocument>,\n): EditorAgentSpatialMarkerContext | null {\n const markerId = normalizeId(input.marker.id);\n if (!markerId || input.marker.spatial.status !== 'resolved') return null;\n const label = input.marker.label || markerId;\n const markerLabels = createMarkerLabelMap(input.graph?.markers ?? [input.marker]);\n const objectLabels = createObjectLabelMap(input.hierarchyItems);\n const relationTypes = input.relationTypes ?? [];\n const graph = input.graph ?? {\n schemaVersion: 1,\n markers: [input.marker],\n relations: input.directRelations ? [...input.directRelations] : [],\n };\n const relationNeighborhood = createSpatialRelationNeighborhood(\n markerId,\n label,\n graph,\n input.directRelations ?? [],\n input.relatedMarkerIds ?? [],\n input.relatedObjectIds ?? [],\n relationTypes,\n markerLabels,\n objectLabels,\n );\n const context = {\n schemaVersion: EDITOR_AGENT_CONTEXT_SCHEMA_VERSION,\n id: createAgentContextId('spatial-marker', [markerId], input.createdAt),\n kind: 'spatial-marker',\n label,\n summary: summarizeSpatialMarker(input.marker, input.directRelations ?? [], relationTypes, markerLabels, objectLabels, relationNeighborhood),\n createdAt: input.createdAt ?? Date.now(),\n source: createAgentSource('marker', input.source),\n marker: cloneResolvedSpatialMarker(input.marker),\n directRelations: input.directRelations?.map(cloneSpatialRelation) ?? [],\n ...(input.relatedMarkerIds?.length ? { relatedMarkerIds: [...input.relatedMarkerIds] } : {}),\n ...(input.relatedObjectIds?.length ? { relatedObjectIds: [...input.relatedObjectIds] } : {}),\n ...(input.markerTypes?.length ? { markerTypes: input.markerTypes.map(cloneMarkerTypeDefinition) } : {}),\n ...(input.relationTypes?.length ? { relationTypes: input.relationTypes.map(cloneRelationTypeDefinition) } : {}),\n relationNeighborhood,\n ...pickAgentSemantics(input.semantics),\n };\n return context as EditorAgentSpatialMarkerContext;\n}\n\nexport function createLocalEditorSpatialRelationGraphAgentContext<TDocument>(\n input: LocalEditorAgentContextSpatialRelationGraphInput<TDocument>,\n): EditorAgentSpatialRelationGraphContext | null {\n if (input.graph.markers.length === 0) return null;\n if (input.graph.markers.some(marker => marker.spatial.status !== 'resolved')) return null;\n const markerIds = input.graph.markers.map(marker => marker.id);\n const objectLabels = createObjectLabelMap(input.hierarchyItems);\n const markerLabels = createMarkerLabelMap(input.graph.markers);\n const relationTypes = input.relationTypes ?? [];\n const graphIssues = createSpatialGraphIssues(input.graph, markerLabels, objectLabels);\n const focusSummaries = createSpatialGraphFocusSummaries(\n input.graph,\n input.focusMarkerIds ?? [],\n input.focusObjectIds ?? [],\n relationTypes,\n markerLabels,\n objectLabels,\n );\n const context = {\n schemaVersion: EDITOR_AGENT_CONTEXT_SCHEMA_VERSION,\n id: createAgentContextId('spatial-relation-graph', markerIds, input.createdAt),\n kind: 'spatial-relation-graph',\n label: `${input.graph.markers.length} spatial markers`,\n summary: summarizeSpatialRelationGraph(input.graph, relationTypes, objectLabels, focusSummaries, graphIssues),\n createdAt: input.createdAt ?? Date.now(),\n source: createAgentSource('marker-graph', input.source),\n graph: cloneResolvedSpatialMarkerGraph(input.graph),\n ...(input.focusMarkerIds?.length ? { focusMarkerIds: [...input.focusMarkerIds] } : {}),\n ...(input.focusObjectIds?.length ? { focusObjectIds: [...input.focusObjectIds] } : {}),\n ...(input.markerTypes?.length ? { markerTypes: input.markerTypes.map(cloneMarkerTypeDefinition) } : {}),\n ...(input.relationTypes?.length ? { relationTypes: input.relationTypes.map(cloneRelationTypeDefinition) } : {}),\n ...(graphIssues.length ? { graphIssues } : {}),\n ...(focusSummaries.length ? { focusSummaries } : {}),\n ...pickAgentSemantics(input.semantics),\n };\n return context as EditorAgentSpatialRelationGraphContext;\n}\n\nfunction createAgentSceneObject(\n objectId: string,\n hierarchyById: Map<string, SceneGraphTreeItem>,\n projectionNode: unknown,\n): EditorAgentSceneObject {\n const hierarchyItem = hierarchyById.get(objectId) ?? null;\n const projection = readRecord(projectionNode);\n const name = readString(projection?.name) || hierarchyItem?.label || objectId;\n const object: EditorAgentSceneObject = {\n id: objectId,\n name,\n label: hierarchyItem?.label ?? name,\n hierarchyPath: createHierarchyPath(objectId, hierarchyById),\n };\n const objectKind = readObjectKind(hierarchyItem, projection);\n if (objectKind) object.objectKind = objectKind;\n const transform = readAgentTransform(projection?.transform);\n if (transform) object.transform = transform;\n const bounds = readAgentBounds(projection);\n if (bounds) object.bounds = bounds;\n const assetRefs = readAssetRefs(projection?.asset);\n if (assetRefs.length > 0) object.assetRefs = assetRefs;\n return object;\n}\n\nfunction createAgentContextId(kind: string, ids: readonly string[], createdAt = Date.now()): string {\n return `${kind}:${ids.join('+')}:${createdAt}`;\n}\n\nfunction createAgentSource(\n surface: EditorAgentSource['surface'],\n source: Partial<EditorAgentSource> | undefined,\n): EditorAgentSource {\n return {\n editor: 'fps-game-editor',\n surface,\n ...(source?.projectId ? { projectId: source.projectId } : {}),\n ...(source?.projectName ? { projectName: source.projectName } : {}),\n };\n}\n\nfunction createHierarchyMap(items: readonly SceneGraphTreeItem[] | undefined): Map<string, SceneGraphTreeItem> {\n return new Map((items ?? []).map(item => [item.id, item]));\n}\n\nfunction createObjectLabelMap(items: readonly SceneGraphTreeItem[] | undefined): Map<string, string> {\n return new Map((items ?? [])\n .filter(item => item.role === undefined || item.role === 'object')\n .map(item => [item.id, item.label || item.id]));\n}\n\nfunction createMarkerLabelMap(markers: readonly ResolvedSpatialMarkerNode[]): Map<string, string> {\n return new Map(markers.map(marker => [marker.id, marker.label || marker.id]));\n}\n\nfunction createHierarchyPath(objectId: string, byId: Map<string, SceneGraphTreeItem>): string | undefined {\n const path: string[] = [];\n const seen = new Set<string>();\n let cursor = byId.get(objectId) ?? null;\n while (cursor && !seen.has(cursor.id)) {\n seen.add(cursor.id);\n path.unshift(cursor.label || cursor.id);\n cursor = cursor.parentId ? byId.get(cursor.parentId) ?? null : null;\n }\n return path.length > 0 ? path.join(' / ') : undefined;\n}\n\nfunction readObjectKind(\n hierarchyItem: SceneGraphTreeItem | null,\n projection: Record<string, unknown> | null,\n): string | undefined {\n const runtimeKind = readString(projection?.runtimeKind);\n if (runtimeKind) return runtimeKind;\n const helperKind = readString(projection?.helperKind);\n if (helperKind) return helperKind;\n const primitive = readRecord(projection?.primitive);\n const primitiveShape = readString(primitive?.shape);\n if (primitiveShape) return `primitive:${primitiveShape}`;\n const asset = readRecord(projection?.asset);\n if (asset) return 'asset';\n return hierarchyItem?.role;\n}\n\nfunction readAgentTransform(value: unknown): EditorAgentTransform | undefined {\n const record = readRecord(value);\n if (!record) return undefined;\n const position = readVec3(record.position);\n const rotation = readVec3(record.rotation);\n const scale = readVec3(record.scale);\n if (!position && !rotation && !scale) return undefined;\n return {\n ...(position ? { position } : {}),\n ...(rotation ? { rotation } : {}),\n ...(scale ? { scale } : {}),\n };\n}\n\nfunction readAgentBounds(value: unknown): EditorAgentBounds | undefined {\n const record = readRecord(value);\n if (!record) return undefined;\n const boundsRecord = readRecord(record.bounds) ?? record;\n const min = readVec3(boundsRecord.min);\n const max = readVec3(boundsRecord.max);\n const size = readVec3(boundsRecord.size);\n const center = readVec3(boundsRecord.center);\n if (!min && !max && !size && !center) return undefined;\n return {\n ...(min ? { min } : {}),\n ...(max ? { max } : {}),\n ...(size ? { size } : {}),\n ...(center ? { center } : {}),\n };\n}\n\nfunction mergeAgentBounds(boundsList: readonly EditorAgentBounds[]): EditorAgentBounds | undefined {\n const minMaxBounds = boundsList\n .map(bounds => bounds.min && bounds.max ? { min: bounds.min, max: bounds.max } : null)\n .filter((bounds): bounds is { min: EditorAgentVec3; max: EditorAgentVec3 } => !!bounds);\n if (minMaxBounds.length === 0) return undefined;\n const min = {\n x: Math.min(...minMaxBounds.map(bounds => bounds.min.x)),\n y: Math.min(...minMaxBounds.map(bounds => bounds.min.y)),\n z: Math.min(...minMaxBounds.map(bounds => bounds.min.z)),\n };\n const max = {\n x: Math.max(...minMaxBounds.map(bounds => bounds.max.x)),\n y: Math.max(...minMaxBounds.map(bounds => bounds.max.y)),\n z: Math.max(...minMaxBounds.map(bounds => bounds.max.z)),\n };\n return {\n min,\n max,\n size: {\n x: max.x - min.x,\n y: max.y - min.y,\n z: max.z - min.z,\n },\n center: {\n x: (min.x + max.x) / 2,\n y: (min.y + max.y) / 2,\n z: (min.z + max.z) / 2,\n },\n };\n}\n\nfunction readAssetRefs(value: unknown): string[] {\n const asset = readRecord(value);\n if (!asset) return [];\n return [readString(asset.id), readString(asset.sourceId)].filter((ref): ref is string => !!ref);\n}\n\nfunction readVec3(value: unknown): EditorAgentVec3 | undefined {\n const record = readRecord(value);\n if (!record) return undefined;\n const x = readFiniteNumber(record.x);\n const y = readFiniteNumber(record.y);\n const z = readFiniteNumber(record.z);\n return x == null || y == null || z == null ? undefined : { x, y, z };\n}\n\nfunction readRecord(value: unknown): Record<string, unknown> | null {\n return value && typeof value === 'object' ? value as Record<string, unknown> : null;\n}\n\nfunction readString(value: unknown): string | undefined {\n return typeof value === 'string' && value.trim() ? value.trim() : undefined;\n}\n\nfunction readFiniteNumber(value: unknown): number | undefined {\n return typeof value === 'number' && Number.isFinite(value) ? value : undefined;\n}\n\nfunction normalizeId(value: string): string | null {\n const id = value.trim();\n return id || null;\n}\n\nfunction normalizeProjectEntryPath(value: string): string | null {\n const rawPath = value.trim().replace(/\\\\/g, '/');\n if (rawPath === '/' || rawPath === '.') return '.';\n const path = rawPath.replace(/^\\/+/, '');\n if (!path || /^[A-Za-z]:\\//.test(path)) return null;\n const segments = path.split('/');\n return segments.some(segment => !segment || segment === '.' || segment === '..')\n ? null\n : segments.join('/');\n}\n\nfunction normalizeIds(values: readonly string[]): string[] {\n return [...new Set(values.map(value => value.trim()).filter(Boolean))];\n}\n\nfunction pickAgentSemantics(value: EditorAgentContextSemantics | null | undefined): EditorAgentContextSemantics {\n if (!value) return {};\n return {\n ...(value.domainKind ? { domainKind: value.domainKind } : {}),\n ...(value.domainRole ? { domainRole: value.domainRole } : {}),\n ...(value.functionLabel ? { functionLabel: value.functionLabel } : {}),\n ...(value.functionDescription ? { functionDescription: value.functionDescription } : {}),\n ...(value.domainHints ? { domainHints: value.domainHints } : {}),\n ...(value.bindingCandidates ? { bindingCandidates: value.bindingCandidates } : {}),\n ...(value.sourceRefs ? { sourceRefs: value.sourceRefs } : {}),\n ...(value.relationshipHints ? { relationshipHints: value.relationshipHints } : {}),\n ...(value.metadata ? { metadata: value.metadata } : {}),\n };\n}\n\nfunction summarizeSceneObject(object: EditorAgentSceneObject): string {\n return [\n `Scene Object: ${object.label ?? object.name ?? object.id}`,\n `id: ${object.id}`,\n ...(object.hierarchyPath ? [`path: ${object.hierarchyPath}`] : []),\n ...(object.objectKind ? [`kind: ${object.objectKind}`] : []),\n ].join('\\n');\n}\n\nfunction summarizeSceneObjectSet(objects: readonly EditorAgentSceneObject[]): string {\n return [\n `Scene Object Set: ${objects.length} objects`,\n ...objects.map(object => `- ${object.label ?? object.name ?? object.id} (${object.id})`),\n ].join('\\n');\n}\n\nfunction summarizeRegionBinding(label: string, objects: readonly EditorAgentSceneObject[]): string {\n return [\n `Region Binding: ${label}`,\n `objects: ${objects.length}`,\n ...objects.map(object => `- ${object.label ?? object.name ?? object.id} (${object.id})`),\n ].join('\\n');\n}\n\nfunction summarizeSpatialMarker(\n marker: ResolvedSpatialMarkerNode,\n relations: readonly SpatialRelation[],\n relationTypes: readonly SpatialRelationTypeDefinition[],\n markerLabels: ReadonlyMap<string, string>,\n objectLabels: ReadonlyMap<string, string>,\n neighborhood?: LocalEditorAgentSpatialRelationNeighborhood,\n): string {\n const relationLabels = new Map(relationTypes.map(definition => [definition.type, definition.label]));\n return [\n `Spatial Marker: ${marker.label || marker.id}`,\n `id: ${marker.id}`,\n `type: ${marker.markerType}`,\n `kind: ${marker.kind}`,\n `spatial: ${summarizeSpatialFacts(marker)}`,\n ...(relations.length > 0\n ? [`relations: ${relations.map(relation => summarizeSpatialRelation(relation, relationLabels, markerLabels, objectLabels)).join('; ')}`]\n : []),\n ...(neighborhood?.localSummaries?.length\n ? [`local summary: ${neighborhood.localSummaries.map(summary => summary.summary).join('; ')}`]\n : []),\n ...(neighborhood?.twoHopSummaries?.length\n ? [`two-hop context: ${neighborhood.twoHopSummaries.map(summary => summary.summary).join('; ')}`]\n : []),\n ...(neighborhood?.graphIssues?.length\n ? [`warnings: ${neighborhood.graphIssues.map(issue => issue.message).join('; ')}`]\n : []),\n ].join('\\n');\n}\n\nfunction summarizeSpatialRelationGraph(\n graph: ResolvedSpatialMarkerGraph,\n relationTypes: readonly SpatialRelationTypeDefinition[],\n objectLabels: ReadonlyMap<string, string>,\n focusSummaries: readonly LocalEditorAgentSpatialRelationSummary[] = [],\n graphIssues: readonly LocalEditorAgentSpatialGraphIssue[] = [],\n): string {\n const relationLabels = new Map(relationTypes.map(definition => [definition.type, definition.label]));\n const markerLabels = createMarkerLabelMap(graph.markers);\n return [\n `Spatial Relation Graph: ${graph.markers.length} markers, ${graph.relations.length} relations`,\n ...graph.markers.map(marker => `- ${marker.label || marker.id} (${marker.id}): ${summarizeSpatialFacts(marker)}`),\n ...(graph.relations.length > 0\n ? [`Relations: ${graph.relations.map(relation => summarizeSpatialRelation(relation, relationLabels, markerLabels, objectLabels)).join('; ')}`]\n : []),\n ...(focusSummaries.length > 0\n ? [`Focus summaries: ${focusSummaries.map(summary => summary.summary).join('; ')}`]\n : []),\n ...(graphIssues.length > 0\n ? [`Graph warnings: ${graphIssues.map(issue => issue.message).join('; ')}`]\n : []),\n ].join('\\n');\n}\n\nfunction createSpatialRelationNeighborhood(\n markerId: string,\n markerLabel: string,\n graph: ResolvedSpatialMarkerGraph,\n directRelations: readonly SpatialRelation[],\n relatedMarkerIds: readonly string[],\n relatedObjectIds: readonly string[],\n relationTypes: readonly SpatialRelationTypeDefinition[],\n markerLabels: ReadonlyMap<string, string>,\n objectLabels: ReadonlyMap<string, string>,\n): LocalEditorAgentSpatialRelationNeighborhood {\n const issues = createSpatialGraphIssues(graph, markerLabels, objectLabels)\n .filter(issue => issue.markerId === markerId || graph.relations.some(relation => (\n relation.id === issue.relationId && relationTouchesMarker(relation, markerId)\n )));\n return {\n markerId,\n markerLabel,\n oneHopRelations: directRelations.map(cloneSpatialRelation),\n ...(relatedMarkerIds.length ? { relatedMarkerIds: [...relatedMarkerIds] } : {}),\n ...(relatedObjectIds.length ? { relatedObjectIds: [...relatedObjectIds] } : {}),\n localSummaries: createMarkerLocalRelationSummaries(markerId, markerLabel, directRelations, relationTypes, markerLabels, objectLabels),\n twoHopSummaries: createTwoHopRelationSummaries(markerId, graph, directRelations, relationTypes, markerLabels, objectLabels),\n ...(issues.length ? { graphIssues: issues } : {}),\n };\n}\n\nfunction createSpatialGraphFocusSummaries(\n graph: ResolvedSpatialMarkerGraph,\n focusMarkerIds: readonly string[],\n focusObjectIds: readonly string[],\n relationTypes: readonly SpatialRelationTypeDefinition[],\n markerLabels: ReadonlyMap<string, string>,\n objectLabels: ReadonlyMap<string, string>,\n): LocalEditorAgentSpatialRelationSummary[] {\n const summaries: LocalEditorAgentSpatialRelationSummary[] = [];\n const focusMarkers = focusMarkerIds.length > 0\n ? focusMarkerIds\n : graph.markers.slice(0, 3).map(marker => marker.id);\n for (const markerId of focusMarkers) {\n const marker = graph.markers.find(candidate => candidate.id === markerId) ?? null;\n if (!marker) continue;\n const directRelations = graph.relations.filter(relation => relationTouchesMarker(relation, markerId));\n summaries.push(...createMarkerLocalRelationSummaries(\n markerId,\n marker.label || marker.id,\n directRelations,\n relationTypes,\n markerLabels,\n objectLabels,\n ));\n }\n if (focusObjectIds.length > 0) {\n const relationLabels = new Map(relationTypes.map(definition => [definition.type, definition.label]));\n for (const objectId of focusObjectIds) {\n const relations = graph.relations.filter(relation => relationTouchesObject(relation, objectId));\n if (relations.length === 0) continue;\n summaries.push({\n summary: `${formatEndpointHumanLabel({ kind: 'scene-object', id: objectId }, markerLabels, objectLabels)} has ${relations.length} direct marker relations: ${relations.map(relation => summarizeSpatialRelation(relation, relationLabels, markerLabels, objectLabels)).join('; ')}`,\n count: relations.length,\n });\n }\n }\n return summaries;\n}\n\nfunction createMarkerLocalRelationSummaries(\n markerId: string,\n markerLabel: string,\n relations: readonly SpatialRelation[],\n relationTypes: readonly SpatialRelationTypeDefinition[],\n markerLabels: ReadonlyMap<string, string>,\n objectLabels: ReadonlyMap<string, string>,\n): LocalEditorAgentSpatialRelationSummary[] {\n const relationTypeLabels = new Map(relationTypes.map(definition => [definition.type, definition.label]));\n const groups = new Map<string, { type: string; label: string; count: number; endpoints: LocalEditorAgentSpatialRelationEndpointSummary[] }>();\n for (const relation of relations) {\n const related = relation.from.kind === 'marker' && relation.from.id === markerId ? relation.to : relation.from;\n const label = relation.label || relationTypeLabels.get(relation.type) || relation.type;\n const group = groups.get(relation.type) ?? { type: relation.type, label, count: 0, endpoints: [] };\n group.count += 1;\n group.endpoints.push(createEndpointSummary(related, markerLabels, objectLabels));\n groups.set(relation.type, group);\n }\n return [...groups.values()].map(group => ({\n relationType: group.type,\n relationLabel: group.label,\n count: group.count,\n summary: `${markerLabel} ${formatRelationCountPhrase(group.label, group.type, group.count)}: ${group.endpoints.slice(0, 6).map(formatEndpointSummary).join(', ')}${group.endpoints.length > 6 ? `, +${group.endpoints.length - 6} more` : ''}`,\n }));\n}\n\nfunction createTwoHopRelationSummaries(\n markerId: string,\n graph: ResolvedSpatialMarkerGraph,\n directRelations: readonly SpatialRelation[],\n relationTypes: readonly SpatialRelationTypeDefinition[],\n markerLabels: ReadonlyMap<string, string>,\n objectLabels: ReadonlyMap<string, string>,\n): LocalEditorAgentSpatialRelationSummary[] {\n const directRelationIds = new Set(directRelations.map(relation => relation.id));\n const neighborMarkerIds = new Set<string>();\n for (const relation of directRelations) {\n for (const endpoint of [relation.from, relation.to]) {\n if (endpoint.kind === 'marker' && endpoint.id !== markerId) neighborMarkerIds.add(endpoint.id);\n }\n }\n const relationLabels = new Map(relationTypes.map(definition => [definition.type, definition.label]));\n const summaries: LocalEditorAgentSpatialRelationSummary[] = [];\n for (const neighborId of neighborMarkerIds) {\n const secondHop = graph.relations.filter(relation => relationTouchesMarker(relation, neighborId) && !directRelationIds.has(relation.id));\n if (secondHop.length === 0) continue;\n const neighborLabel = markerLabels.get(neighborId) ?? neighborId;\n summaries.push({\n from: { kind: 'marker', id: neighborId, label: markerLabels.get(neighborId) },\n count: secondHop.length,\n summary: `${neighborLabel} has ${secondHop.length} additional relations: ${secondHop.slice(0, 5).map(relation => summarizeSpatialRelation(relation, relationLabels, markerLabels, objectLabels)).join('; ')}${secondHop.length > 5 ? `; +${secondHop.length - 5} more` : ''}`,\n });\n }\n return summaries;\n}\n\nfunction createSpatialGraphIssues(\n graph: ResolvedSpatialMarkerGraph,\n markerLabels: ReadonlyMap<string, string>,\n objectLabels: ReadonlyMap<string, string>,\n): LocalEditorAgentSpatialGraphIssue[] {\n const markerIds = new Set(graph.markers.map(marker => marker.id));\n const issues: LocalEditorAgentSpatialGraphIssue[] = [];\n for (const marker of graph.markers) {\n if (marker.spatial.status !== 'resolved') {\n issues.push({\n code: 'marker-spatial-unresolved',\n severity: 'warning',\n markerId: marker.id,\n message: `${marker.label || marker.id} has unresolved spatial facts${marker.spatial.unresolvedReason ? `: ${marker.spatial.unresolvedReason}` : ''}.`,\n });\n }\n for (const target of collectMarkerSpatialTargets(marker)) {\n if (target.kind === 'scene-object' && !objectLabels.has(target.id)) {\n issues.push({\n code: 'marker-missing-object-target',\n severity: 'warning',\n markerId: marker.id,\n endpoint: createEndpointSummary({ kind: target.kind, id: target.id, label: target.label }, markerLabels, objectLabels),\n message: `${marker.label || marker.id} references missing target scene object ${target.id}.`,\n });\n }\n }\n }\n for (const relation of graph.relations) {\n for (const [side, endpoint] of [['from', relation.from], ['to', relation.to]] as const) {\n if (endpoint.kind === 'marker' && !markerIds.has(endpoint.id)) {\n issues.push({\n code: 'relation-missing-marker-endpoint',\n severity: 'warning',\n relationId: relation.id,\n endpoint: createEndpointSummary(endpoint, markerLabels, objectLabels),\n message: `Relation ${relation.id} ${side} endpoint references missing marker ${endpoint.id}.`,\n });\n }\n if (endpoint.kind === 'scene-object' && !objectLabels.has(endpoint.id)) {\n issues.push({\n code: 'relation-missing-object-endpoint',\n severity: 'warning',\n relationId: relation.id,\n endpoint: createEndpointSummary(endpoint, markerLabels, objectLabels),\n message: `Relation ${relation.id} ${side} endpoint references missing scene object ${endpoint.id}.`,\n });\n }\n }\n }\n return issues;\n}\n\nfunction collectMarkerSpatialTargets(marker: ResolvedSpatialMarkerNode): SpatialRelation['from'][] {\n const targets: SpatialRelation['from'][] = [];\n const pushTarget = (target: ResolvedSpatialMarkerNode['target'] | undefined) => {\n if (!target || targets.some(candidate => candidate.kind === target.kind && candidate.id === target.id)) return;\n targets.push({\n kind: target.kind,\n id: target.id,\n ...(target.label ? { label: target.label } : {}),\n });\n };\n pushTarget(marker.target);\n pushTarget(marker.spatial.target);\n if (marker.geometry.kind === 'point' || marker.geometry.kind === 'object-bounds') pushTarget(marker.geometry.target);\n return targets;\n}\n\nfunction relationTouchesMarker(relation: SpatialRelation, markerId: string): boolean {\n return (relation.from.kind === 'marker' && relation.from.id === markerId)\n || (relation.to.kind === 'marker' && relation.to.id === markerId);\n}\n\nfunction relationTouchesObject(relation: SpatialRelation, objectId: string): boolean {\n return (relation.from.kind === 'scene-object' && relation.from.id === objectId)\n || (relation.to.kind === 'scene-object' && relation.to.id === objectId);\n}\n\nfunction createEndpointSummary(\n endpoint: SpatialRelation['from'],\n markerLabels: ReadonlyMap<string, string>,\n objectLabels: ReadonlyMap<string, string>,\n): LocalEditorAgentSpatialRelationEndpointSummary {\n const label = endpoint.label\n || (endpoint.kind === 'marker'\n ? markerLabels.get(endpoint.id)\n : endpoint.kind === 'scene-object'\n ? objectLabels.get(endpoint.id)\n : undefined);\n return {\n kind: endpoint.kind,\n id: endpoint.id,\n ...(label ? { label } : {}),\n };\n}\n\nfunction formatEndpointSummary(endpoint: LocalEditorAgentSpatialRelationEndpointSummary): string {\n return endpoint.label && endpoint.label !== endpoint.id\n ? `${endpoint.kind}:${endpoint.id} \"${endpoint.label}\"`\n : `${endpoint.kind}:${endpoint.id}`;\n}\n\nfunction formatEndpointHumanLabel(\n endpoint: SpatialRelation['from'],\n markerLabels: ReadonlyMap<string, string>,\n objectLabels: ReadonlyMap<string, string>,\n): string {\n const summary = createEndpointSummary(endpoint, markerLabels, objectLabels);\n return summary.label || summary.id;\n}\n\nfunction formatRelationCountPhrase(label: string, type: string, count: number): string {\n return `${label || type} ${count}`;\n}\n\nfunction summarizeSpatialFacts(marker: ResolvedSpatialMarkerNode): string {\n const spatial = marker.spatial;\n if (spatial.status !== 'resolved') return `unresolved${spatial.unresolvedReason ? `: ${spatial.unresolvedReason}` : ''}`;\n const parts = [\n spatial.origin ? `origin ${formatVec3(spatial.origin)}` : null,\n spatial.localFrame?.forward ? `forward ${formatVec3(spatial.localFrame.forward)}` : null,\n spatial.dimensions ? `dimensions ${formatVec3(spatial.dimensions)}` : null,\n spatial.bounds ? `bounds center ${formatVec3(spatial.bounds.center)} size ${formatVec3(spatial.bounds.size)}` : null,\n spatial.target ? `target ${summarizeSpatialRelationEndpoint({\n kind: spatial.target.kind,\n id: spatial.target.id,\n ...(spatial.target.label ? { label: spatial.target.label } : {}),\n }, new Map(), new Map())}` : null,\n ].filter((value): value is string => !!value);\n return parts.join(', ') || 'resolved';\n}\n\nfunction summarizeSpatialRelation(\n relation: SpatialRelation,\n relationLabels: ReadonlyMap<string, string>,\n markerLabels: ReadonlyMap<string, string>,\n objectLabels: ReadonlyMap<string, string>,\n): string {\n const arrow = relation.directed === false ? '--' : '->';\n return [\n summarizeSpatialRelationEndpoint(relation.from, markerLabels, objectLabels),\n summarizeSpatialRelationType(relation, relationLabels),\n arrow,\n summarizeSpatialRelationEndpoint(relation.to, markerLabels, objectLabels),\n ].join(' ');\n}\n\nfunction summarizeSpatialRelationEndpoint(\n endpoint: SpatialRelation['from'],\n markerLabels: ReadonlyMap<string, string>,\n objectLabels: ReadonlyMap<string, string>,\n): string {\n const label = endpoint.label\n || (endpoint.kind === 'marker'\n ? markerLabels.get(endpoint.id)\n : endpoint.kind === 'scene-object'\n ? objectLabels.get(endpoint.id)\n : undefined);\n return label && label !== endpoint.id\n ? `${endpoint.kind}:${endpoint.id} \"${label}\"`\n : `${endpoint.kind}:${endpoint.id}`;\n}\n\nfunction summarizeSpatialRelationType(\n relation: SpatialRelation,\n relationLabels: ReadonlyMap<string, string>,\n): string {\n const label = relation.label || relationLabels.get(relation.type);\n return label && label !== relation.type ? `${label} [${relation.type}]` : relation.type;\n}\n\nfunction formatVec3(value: EditorAgentVec3): string {\n return `(${value.x}, ${value.y}, ${value.z})`;\n}\n\nfunction cloneResolvedSpatialMarkerGraph(graph: ResolvedSpatialMarkerGraph): ResolvedSpatialMarkerGraph {\n return {\n ...graph,\n markers: graph.markers.map(cloneResolvedSpatialMarker),\n relations: graph.relations.map(cloneSpatialRelation),\n metadata: graph.metadata ? { ...graph.metadata } : undefined,\n };\n}\n\nfunction cloneResolvedSpatialMarker(marker: ResolvedSpatialMarkerNode): ResolvedSpatialMarkerNode {\n return {\n ...marker,\n geometry: cloneJsonObject(marker.geometry) as ResolvedSpatialMarkerNode['geometry'],\n target: marker.target ? { ...marker.target, metadata: marker.target.metadata ? { ...marker.target.metadata } : undefined } : undefined,\n semanticFrame: marker.semanticFrame ? { ...marker.semanticFrame } : undefined,\n tags: marker.tags ? [...marker.tags] : undefined,\n metadata: marker.metadata ? { ...marker.metadata } : undefined,\n spatial: {\n ...marker.spatial,\n origin: marker.spatial.origin ? { ...marker.spatial.origin } : undefined,\n bounds: marker.spatial.bounds\n ? {\n min: { ...marker.spatial.bounds.min },\n max: { ...marker.spatial.bounds.max },\n center: { ...marker.spatial.bounds.center },\n size: { ...marker.spatial.bounds.size },\n }\n : undefined,\n dimensions: marker.spatial.dimensions ? { ...marker.spatial.dimensions } : undefined,\n corners: marker.spatial.corners?.map(corner => ({ ...corner })),\n localFrame: marker.spatial.localFrame ? { ...marker.spatial.localFrame } : undefined,\n target: marker.spatial.target\n ? {\n ...marker.spatial.target,\n metadata: marker.spatial.target.metadata ? { ...marker.spatial.target.metadata } : undefined,\n }\n : undefined,\n metadata: marker.spatial.metadata ? { ...marker.spatial.metadata } : undefined,\n },\n };\n}\n\nfunction cloneSpatialRelation(relation: SpatialRelation): SpatialRelation {\n return {\n ...relation,\n from: { ...relation.from },\n to: { ...relation.to },\n tags: relation.tags ? [...relation.tags] : undefined,\n metadata: relation.metadata ? { ...relation.metadata } : undefined,\n };\n}\n\nfunction cloneMarkerTypeDefinition(definition: SpatialMarkerTypeDefinition): SpatialMarkerTypeDefinition {\n return {\n ...definition,\n defaultTags: definition.defaultTags ? [...definition.defaultTags] : undefined,\n metadata: definition.metadata ? { ...definition.metadata } : undefined,\n };\n}\n\nfunction cloneRelationTypeDefinition(definition: SpatialRelationTypeDefinition): SpatialRelationTypeDefinition {\n return {\n ...definition,\n allowedFromKinds: definition.allowedFromKinds ? [...definition.allowedFromKinds] : undefined,\n allowedToKinds: definition.allowedToKinds ? [...definition.allowedToKinds] : undefined,\n metadata: definition.metadata ? { ...definition.metadata } : undefined,\n };\n}\n\nfunction cloneJsonObject<T>(value: T): T {\n if (!value || typeof value !== 'object') return value;\n return JSON.parse(JSON.stringify(value)) as T;\n}\n"]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { EditorAgentBridgeCallResult, EditorAgentBridgeCapabilityId, EditorAgentBridgeCapabilityManifest } from '@fps-games/editor-protocol';
|
|
2
|
-
export type EditorAgentBridgeMaybePromise<T> = T | Promise<T>;
|
|
3
|
-
export interface EditorAgentBridgeInvocationContext {
|
|
4
|
-
readonly traceId?: string;
|
|
5
|
-
readonly traceStepId?: string;
|
|
6
|
-
}
|
|
7
|
-
export interface EditorAgentBridgeCallContext extends EditorAgentBridgeInvocationContext {
|
|
8
|
-
readonly capabilityId: EditorAgentBridgeCapabilityId;
|
|
9
|
-
}
|
|
10
|
-
export type EditorAgentBridgeCapabilityHandler<TInput = unknown, TOutput = unknown> = (input: TInput, context: EditorAgentBridgeCallContext) => EditorAgentBridgeMaybePromise<EditorAgentBridgeCallResult<TOutput> | TOutput>;
|
|
11
|
-
export interface EditorAgentBridgeCapabilityRegistration<TInput = unknown, TOutput = unknown> {
|
|
12
|
-
manifest: EditorAgentBridgeCapabilityManifest;
|
|
13
|
-
available?: () => EditorAgentBridgeMaybePromise<boolean | string>;
|
|
14
|
-
handler: EditorAgentBridgeCapabilityHandler<TInput, TOutput>;
|
|
15
|
-
}
|
|
16
|
-
export interface EditorAgentBridge {
|
|
17
|
-
registerCapability<TInput = unknown, TOutput = unknown>(registration: EditorAgentBridgeCapabilityRegistration<TInput, TOutput>): () => void;
|
|
18
|
-
listCapabilities(): EditorAgentBridgeCapabilityManifest[];
|
|
19
|
-
callCapability<TOutput = unknown>(capabilityId: EditorAgentBridgeCapabilityId, input?: unknown, context?: EditorAgentBridgeInvocationContext): Promise<EditorAgentBridgeCallResult<TOutput>>;
|
|
20
|
-
}
|
|
21
|
-
export declare function createEditorAgentBridge(): EditorAgentBridge;
|
|
22
|
-
//# sourceMappingURL=agent-bridge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-bridge.d.ts","sourceRoot":"","sources":["../src/agent-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,6BAA6B,EAC7B,mCAAmC,EAGpC,MAAM,4BAA4B,CAAC;AAEpC,MAAM,MAAM,6BAA6B,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE9D,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,4BAA6B,SAAQ,kCAAkC;IACtF,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAC;CACtD;AAED,MAAM,MAAM,kCAAkC,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,CACpF,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,4BAA4B,KAClC,6BAA6B,CAAC,2BAA2B,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AAEnF,MAAM,WAAW,uCAAuC,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IAC1F,QAAQ,EAAE,mCAAmC,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,6BAA6B,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IAClE,OAAO,EAAE,kCAAkC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EACpD,YAAY,EAAE,uCAAuC,CAAC,MAAM,EAAE,OAAO,CAAC,GACrE,MAAM,IAAI,CAAC;IACd,gBAAgB,IAAI,mCAAmC,EAAE,CAAC;IAC1D,cAAc,CAAC,OAAO,GAAG,OAAO,EAC9B,YAAY,EAAE,6BAA6B,EAC3C,KAAK,CAAC,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,kCAAkC,GAC3C,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;CAClD;AASD,wBAAgB,uBAAuB,IAAI,iBAAiB,CA4D3D"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
export function createEditorAgentBridge() {
|
|
2
|
-
const capabilities = new Map();
|
|
3
|
-
return {
|
|
4
|
-
registerCapability(registration) {
|
|
5
|
-
const normalized = normalizeCapabilityRegistration(registration);
|
|
6
|
-
capabilities.set(normalized.manifest.id, normalized);
|
|
7
|
-
return () => {
|
|
8
|
-
if (capabilities.get(normalized.manifest.id) === normalized)
|
|
9
|
-
capabilities.delete(normalized.manifest.id);
|
|
10
|
-
};
|
|
11
|
-
},
|
|
12
|
-
listCapabilities() {
|
|
13
|
-
return [...capabilities.values()].map(registration => cloneCapabilityManifest(registration.manifest));
|
|
14
|
-
},
|
|
15
|
-
async callCapability(capabilityId, input, context) {
|
|
16
|
-
const registration = capabilities.get(capabilityId);
|
|
17
|
-
if (!registration) {
|
|
18
|
-
return createBridgeFailure(capabilityId, {
|
|
19
|
-
severity: 'error',
|
|
20
|
-
source: 'bridge',
|
|
21
|
-
code: 'capability.notFound',
|
|
22
|
-
message: `Agent Bridge capability is not registered: ${capabilityId}`,
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
const availability = await resolveCapabilityAvailability(registration);
|
|
26
|
-
if (availability !== true) {
|
|
27
|
-
return createBridgeFailure(capabilityId, {
|
|
28
|
-
severity: 'error',
|
|
29
|
-
source: 'bridge',
|
|
30
|
-
code: 'capability.unavailable',
|
|
31
|
-
message: typeof availability === 'string' && availability.trim()
|
|
32
|
-
? availability
|
|
33
|
-
: `Agent Bridge capability is unavailable: ${capabilityId}`,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
try {
|
|
37
|
-
const result = await registration.handler(input, {
|
|
38
|
-
capabilityId,
|
|
39
|
-
...(context?.traceId ? { traceId: context.traceId } : {}),
|
|
40
|
-
...(context?.traceStepId ? { traceStepId: context.traceStepId } : {}),
|
|
41
|
-
});
|
|
42
|
-
return normalizeCapabilityResult(capabilityId, result);
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
return createBridgeFailure(capabilityId, {
|
|
46
|
-
severity: 'error',
|
|
47
|
-
source: 'bridge',
|
|
48
|
-
code: 'capability.exception',
|
|
49
|
-
message: error instanceof Error ? error.message : String(error),
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
function normalizeCapabilityRegistration(registration) {
|
|
56
|
-
return {
|
|
57
|
-
...registration,
|
|
58
|
-
manifest: cloneCapabilityManifest(registration.manifest),
|
|
59
|
-
handler: registration.handler,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
function cloneCapabilityManifest(manifest) {
|
|
63
|
-
return {
|
|
64
|
-
...manifest,
|
|
65
|
-
inputSchema: cloneJsonObject(manifest.inputSchema),
|
|
66
|
-
outputSchema: cloneJsonObject(manifest.outputSchema),
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
function cloneJsonObject(value) {
|
|
70
|
-
if (!value)
|
|
71
|
-
return value;
|
|
72
|
-
return JSON.parse(JSON.stringify(value));
|
|
73
|
-
}
|
|
74
|
-
async function resolveCapabilityAvailability(registration) {
|
|
75
|
-
if (!registration.available)
|
|
76
|
-
return true;
|
|
77
|
-
try {
|
|
78
|
-
return await registration.available();
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
return error instanceof Error ? error.message : String(error);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
function normalizeCapabilityResult(capabilityId, result) {
|
|
85
|
-
if (isBridgeCallResult(result))
|
|
86
|
-
return result;
|
|
87
|
-
return {
|
|
88
|
-
ok: true,
|
|
89
|
-
capabilityId,
|
|
90
|
-
output: result,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
function isBridgeCallResult(value) {
|
|
94
|
-
if (!value || typeof value !== 'object')
|
|
95
|
-
return false;
|
|
96
|
-
const record = value;
|
|
97
|
-
return typeof record.ok === 'boolean' && typeof record.capabilityId === 'string';
|
|
98
|
-
}
|
|
99
|
-
function createBridgeFailure(capabilityId, diagnostic) {
|
|
100
|
-
return {
|
|
101
|
-
ok: false,
|
|
102
|
-
capabilityId,
|
|
103
|
-
diagnostics: [diagnostic],
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=agent-bridge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-bridge.js","sourceRoot":"","sources":["../src/agent-bridge.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n EditorAgentBridgeCallResult,\n EditorAgentBridgeCapabilityId,\n EditorAgentBridgeCapabilityManifest,\n EditorAgentBridgeDiagnostic,\n EditorAgentBridgeJsonObject,\n} from '@fps-games/editor-protocol';\n\nexport type EditorAgentBridgeMaybePromise<T> = T | Promise<T>;\n\nexport interface EditorAgentBridgeInvocationContext {\n readonly traceId?: string;\n readonly traceStepId?: string;\n}\n\nexport interface EditorAgentBridgeCallContext extends EditorAgentBridgeInvocationContext {\n readonly capabilityId: EditorAgentBridgeCapabilityId;\n}\n\nexport type EditorAgentBridgeCapabilityHandler<TInput = unknown, TOutput = unknown> = (\n input: TInput,\n context: EditorAgentBridgeCallContext,\n) => EditorAgentBridgeMaybePromise<EditorAgentBridgeCallResult<TOutput> | TOutput>;\n\nexport interface EditorAgentBridgeCapabilityRegistration<TInput = unknown, TOutput = unknown> {\n manifest: EditorAgentBridgeCapabilityManifest;\n available?: () => EditorAgentBridgeMaybePromise<boolean | string>;\n handler: EditorAgentBridgeCapabilityHandler<TInput, TOutput>;\n}\n\nexport interface EditorAgentBridge {\n registerCapability<TInput = unknown, TOutput = unknown>(\n registration: EditorAgentBridgeCapabilityRegistration<TInput, TOutput>,\n ): () => void;\n listCapabilities(): EditorAgentBridgeCapabilityManifest[];\n callCapability<TOutput = unknown>(\n capabilityId: EditorAgentBridgeCapabilityId,\n input?: unknown,\n context?: EditorAgentBridgeInvocationContext,\n ): Promise<EditorAgentBridgeCallResult<TOutput>>;\n}\n\ntype InternalEditorAgentBridgeCapabilityRegistration = Omit<\n EditorAgentBridgeCapabilityRegistration<unknown, unknown>,\n 'handler'\n> & {\n handler: EditorAgentBridgeCapabilityHandler<unknown, unknown>;\n};\n\nexport function createEditorAgentBridge(): EditorAgentBridge {\n const capabilities = new Map<EditorAgentBridgeCapabilityId, InternalEditorAgentBridgeCapabilityRegistration>();\n return {\n registerCapability<TInput = unknown, TOutput = unknown>(\n registration: EditorAgentBridgeCapabilityRegistration<TInput, TOutput>,\n ) {\n const normalized = normalizeCapabilityRegistration(registration);\n capabilities.set(normalized.manifest.id, normalized);\n return () => {\n if (capabilities.get(normalized.manifest.id) === normalized) capabilities.delete(normalized.manifest.id);\n };\n },\n listCapabilities() {\n return [...capabilities.values()].map(registration => cloneCapabilityManifest(registration.manifest));\n },\n async callCapability<TOutput = unknown>(\n capabilityId: EditorAgentBridgeCapabilityId,\n input?: unknown,\n context?: EditorAgentBridgeInvocationContext,\n ) {\n const registration = capabilities.get(capabilityId);\n if (!registration) {\n return createBridgeFailure(capabilityId, {\n severity: 'error',\n source: 'bridge',\n code: 'capability.notFound',\n message: `Agent Bridge capability is not registered: ${capabilityId}`,\n });\n }\n const availability = await resolveCapabilityAvailability(registration);\n if (availability !== true) {\n return createBridgeFailure(capabilityId, {\n severity: 'error',\n source: 'bridge',\n code: 'capability.unavailable',\n message: typeof availability === 'string' && availability.trim()\n ? availability\n : `Agent Bridge capability is unavailable: ${capabilityId}`,\n });\n }\n try {\n const result = await registration.handler(input, {\n capabilityId,\n ...(context?.traceId ? { traceId: context.traceId } : {}),\n ...(context?.traceStepId ? { traceStepId: context.traceStepId } : {}),\n });\n return normalizeCapabilityResult<TOutput>(\n capabilityId,\n result as EditorAgentBridgeCallResult<TOutput> | TOutput,\n );\n } catch (error) {\n return createBridgeFailure(capabilityId, {\n severity: 'error',\n source: 'bridge',\n code: 'capability.exception',\n message: error instanceof Error ? error.message : String(error),\n });\n }\n },\n };\n}\n\nfunction normalizeCapabilityRegistration<TInput, TOutput>(\n registration: EditorAgentBridgeCapabilityRegistration<TInput, TOutput>,\n): InternalEditorAgentBridgeCapabilityRegistration {\n return {\n ...registration,\n manifest: cloneCapabilityManifest(registration.manifest),\n handler: registration.handler as EditorAgentBridgeCapabilityHandler<unknown, unknown>,\n };\n}\n\nfunction cloneCapabilityManifest(\n manifest: EditorAgentBridgeCapabilityManifest,\n): EditorAgentBridgeCapabilityManifest {\n return {\n ...manifest,\n inputSchema: cloneJsonObject(manifest.inputSchema),\n outputSchema: cloneJsonObject(manifest.outputSchema),\n };\n}\n\nfunction cloneJsonObject<T extends EditorAgentBridgeJsonObject | undefined>(value: T): T {\n if (!value) return value;\n return JSON.parse(JSON.stringify(value)) as T;\n}\n\nasync function resolveCapabilityAvailability(\n registration: EditorAgentBridgeCapabilityRegistration,\n): Promise<boolean | string> {\n if (!registration.available) return true;\n try {\n return await registration.available();\n } catch (error) {\n return error instanceof Error ? error.message : String(error);\n }\n}\n\nfunction normalizeCapabilityResult<TOutput>(\n capabilityId: EditorAgentBridgeCapabilityId,\n result: EditorAgentBridgeCallResult<TOutput> | TOutput,\n): EditorAgentBridgeCallResult<TOutput> {\n if (isBridgeCallResult<TOutput>(result)) return result;\n return {\n ok: true,\n capabilityId,\n output: result as TOutput,\n };\n}\n\nfunction isBridgeCallResult<TOutput>(value: unknown): value is EditorAgentBridgeCallResult<TOutput> {\n if (!value || typeof value !== 'object') return false;\n const record = value as Partial<EditorAgentBridgeCallResult<TOutput>>;\n return typeof record.ok === 'boolean' && typeof record.capabilityId === 'string';\n}\n\nfunction createBridgeFailure(\n capabilityId: EditorAgentBridgeCapabilityId,\n diagnostic: EditorAgentBridgeDiagnostic,\n): EditorAgentBridgeCallResult<never> {\n return {\n ok: false,\n capabilityId,\n diagnostics: [diagnostic],\n };\n}\n"]}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { EditorAgentContext } from '@fps-games/editor-protocol';
|
|
2
|
-
export type EditorAgentMaybePromise<T> = T | Promise<T>;
|
|
3
|
-
export interface EditorAgentTransportResult {
|
|
4
|
-
sent: boolean;
|
|
5
|
-
reason?: string;
|
|
6
|
-
}
|
|
7
|
-
export interface EditorAgentTransport {
|
|
8
|
-
sendContext(context: EditorAgentContext): EditorAgentMaybePromise<EditorAgentTransportResult | boolean | void>;
|
|
9
|
-
}
|
|
10
|
-
export interface EditorAgentInteractionControllerOptions {
|
|
11
|
-
transport?: EditorAgentTransport | null;
|
|
12
|
-
}
|
|
13
|
-
export interface EditorAgentInteractionController {
|
|
14
|
-
sendContext(context: EditorAgentContext): Promise<EditorAgentTransportResult>;
|
|
15
|
-
}
|
|
16
|
-
export declare function createEditorAgentInteractionController(options?: EditorAgentInteractionControllerOptions): EditorAgentInteractionController;
|
|
17
|
-
//# sourceMappingURL=agent-interaction.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-interaction.d.ts","sourceRoot":"","sources":["../src/agent-interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAExD,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,uBAAuB,CAAC,0BAA0B,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;CAChH;AAED,MAAM,WAAW,uCAAuC;IACtD,SAAS,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,gCAAgC;IAC/C,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;CAC/E;AAED,wBAAgB,sCAAsC,CACpD,OAAO,GAAE,uCAA4C,GACpD,gCAAgC,CAUlC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export function createEditorAgentInteractionController(options = {}) {
|
|
2
|
-
const transport = options.transport ?? null;
|
|
3
|
-
return {
|
|
4
|
-
async sendContext(context) {
|
|
5
|
-
if (!transport)
|
|
6
|
-
return { sent: false, reason: 'No Agent transport is available.' };
|
|
7
|
-
const result = await transport.sendContext(context);
|
|
8
|
-
if (typeof result === 'boolean')
|
|
9
|
-
return { sent: result };
|
|
10
|
-
return result ?? { sent: true };
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=agent-interaction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-interaction.js","sourceRoot":"","sources":["../src/agent-interaction.ts"],"names":[],"mappings":"AAqBA,MAAM,UAAU,sCAAsC,CACpD,UAAmD,EAAE;IAErD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAC5C,OAAO;QACL,KAAK,CAAC,WAAW,CAAC,OAAO;YACvB,IAAI,CAAC,SAAS;gBAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC;YACnF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,OAAO,MAAM,KAAK,SAAS;gBAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACzD,OAAO,MAAM,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAClC,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { EditorAgentContext } from '@fps-games/editor-protocol';\n\nexport type EditorAgentMaybePromise<T> = T | Promise<T>;\n\nexport interface EditorAgentTransportResult {\n sent: boolean;\n reason?: string;\n}\n\nexport interface EditorAgentTransport {\n sendContext(context: EditorAgentContext): EditorAgentMaybePromise<EditorAgentTransportResult | boolean | void>;\n}\n\nexport interface EditorAgentInteractionControllerOptions {\n transport?: EditorAgentTransport | null;\n}\n\nexport interface EditorAgentInteractionController {\n sendContext(context: EditorAgentContext): Promise<EditorAgentTransportResult>;\n}\n\nexport function createEditorAgentInteractionController(\n options: EditorAgentInteractionControllerOptions = {},\n): EditorAgentInteractionController {\n const transport = options.transport ?? null;\n return {\n async sendContext(context) {\n if (!transport) return { sent: false, reason: 'No Agent transport is available.' };\n const result = await transport.sendContext(context);\n if (typeof result === 'boolean') return { sent: result };\n return result ?? { sent: true };\n },\n };\n}\n"]}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { type EditorAgentContext } from '@fps-games/editor-protocol';
|
|
2
|
-
export declare const FORGE_PLAY_AGENT_BRIDGE_SOURCE: "forge-play-game-bridge";
|
|
3
|
-
export declare const FORGE_PLAY_AGENT_POST_MESSAGE_EVENT: "event";
|
|
4
|
-
export interface ForgePlayAgentTransportParentLike {
|
|
5
|
-
postMessage(message: unknown, targetOrigin: string): void;
|
|
6
|
-
}
|
|
7
|
-
export interface ForgePlayAgentTransportWindowLike {
|
|
8
|
-
parent?: ForgePlayAgentTransportParentLike | null;
|
|
9
|
-
}
|
|
10
|
-
export interface ForgePlayAgentTransportOptions {
|
|
11
|
-
window?: ForgePlayAgentTransportWindowLike | null;
|
|
12
|
-
targetOrigin?: string;
|
|
13
|
-
now?: () => number;
|
|
14
|
-
}
|
|
15
|
-
export interface ForgePlayAgentTransportResult {
|
|
16
|
-
sent: boolean;
|
|
17
|
-
reason?: string;
|
|
18
|
-
}
|
|
19
|
-
export interface ForgePlayAgentTransport {
|
|
20
|
-
sendContext(context: EditorAgentContext): ForgePlayAgentTransportResult;
|
|
21
|
-
}
|
|
22
|
-
export declare function createForgePlayAgentTransport(options?: ForgePlayAgentTransportOptions): ForgePlayAgentTransport;
|
|
23
|
-
//# sourceMappingURL=agent-transport.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-transport.d.ts","sourceRoot":"","sources":["../src/agent-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,8BAA8B,EAAG,wBAAiC,CAAC;AAChF,eAAO,MAAM,mCAAmC,EAAG,OAAgB,CAAC;AAEpE,MAAM,WAAW,iCAAiC;IAChD,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,iCAAiC;IAChD,MAAM,CAAC,EAAE,iCAAiC,GAAG,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,8BAA8B;IAC7C,MAAM,CAAC,EAAE,iCAAiC,GAAG,IAAI,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,6BAA6B,CAAC;CACzE;AAiBD,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,8BAAmC,GAC3C,uBAAuB,CAazB"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { EDITOR_AGENT_EVENT_NAME, } from '@fps-games/editor-protocol';
|
|
2
|
-
export const FORGE_PLAY_AGENT_BRIDGE_SOURCE = 'forge-play-game-bridge';
|
|
3
|
-
export const FORGE_PLAY_AGENT_POST_MESSAGE_EVENT = 'event';
|
|
4
|
-
function getDefaultWindow() {
|
|
5
|
-
if (typeof window === 'undefined')
|
|
6
|
-
return null;
|
|
7
|
-
return window;
|
|
8
|
-
}
|
|
9
|
-
function resolveParent(win) {
|
|
10
|
-
if (!win?.parent)
|
|
11
|
-
return null;
|
|
12
|
-
try {
|
|
13
|
-
if (win.parent === win)
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
catch {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
return win.parent;
|
|
20
|
-
}
|
|
21
|
-
export function createForgePlayAgentTransport(options = {}) {
|
|
22
|
-
const win = options.window ?? getDefaultWindow();
|
|
23
|
-
const targetOrigin = options.targetOrigin ?? '*';
|
|
24
|
-
const now = options.now ?? Date.now;
|
|
25
|
-
return {
|
|
26
|
-
sendContext(context) {
|
|
27
|
-
const parent = resolveParent(win);
|
|
28
|
-
if (!parent)
|
|
29
|
-
return { sent: false, reason: 'No Forge Play parent window is available.' };
|
|
30
|
-
const timestamp = now();
|
|
31
|
-
postAgentContextV1(parent, context, targetOrigin, timestamp);
|
|
32
|
-
return { sent: true };
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
function postAgentContextV1(parent, context, targetOrigin, timestamp) {
|
|
37
|
-
parent.postMessage({
|
|
38
|
-
source: FORGE_PLAY_AGENT_BRIDGE_SOURCE,
|
|
39
|
-
type: FORGE_PLAY_AGENT_POST_MESSAGE_EVENT,
|
|
40
|
-
payload: {
|
|
41
|
-
name: EDITOR_AGENT_EVENT_NAME.CONTEXT_ADD,
|
|
42
|
-
context,
|
|
43
|
-
},
|
|
44
|
-
timestamp,
|
|
45
|
-
}, targetOrigin);
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=agent-transport.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-transport.js","sourceRoot":"","sources":["../src/agent-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,GAExB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,CAAC,MAAM,8BAA8B,GAAG,wBAAiC,CAAC;AAChF,MAAM,CAAC,MAAM,mCAAmC,GAAG,OAAgB,CAAC;AAyBpE,SAAS,gBAAgB;IACvB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,GAA6C;IAClE,IAAI,CAAC,GAAG,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,UAA0C,EAAE;IAE5C,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;IACjD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,OAAO;QACL,WAAW,CAAC,OAAO;YACjB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,2CAA2C,EAAE,CAAC;YACzF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;YACxB,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAC7D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAyC,EACzC,OAA2B,EAC3B,YAAoB,EACpB,SAAiB;IAEjB,MAAM,CAAC,WAAW,CAAC;QACjB,MAAM,EAAE,8BAA8B;QACtC,IAAI,EAAE,mCAAmC;QACzC,OAAO,EAAE;YACP,IAAI,EAAE,uBAAuB,CAAC,WAAW;YACzC,OAAO;SACR;QACD,SAAS;KACV,EAAE,YAAY,CAAC,CAAC;AACnB,CAAC","sourcesContent":["import {\n EDITOR_AGENT_EVENT_NAME,\n type EditorAgentContext,\n} from '@fps-games/editor-protocol';\n\nexport const FORGE_PLAY_AGENT_BRIDGE_SOURCE = 'forge-play-game-bridge' as const;\nexport const FORGE_PLAY_AGENT_POST_MESSAGE_EVENT = 'event' as const;\n\nexport interface ForgePlayAgentTransportParentLike {\n postMessage(message: unknown, targetOrigin: string): void;\n}\n\nexport interface ForgePlayAgentTransportWindowLike {\n parent?: ForgePlayAgentTransportParentLike | null;\n}\n\nexport interface ForgePlayAgentTransportOptions {\n window?: ForgePlayAgentTransportWindowLike | null;\n targetOrigin?: string;\n now?: () => number;\n}\n\nexport interface ForgePlayAgentTransportResult {\n sent: boolean;\n reason?: string;\n}\n\nexport interface ForgePlayAgentTransport {\n sendContext(context: EditorAgentContext): ForgePlayAgentTransportResult;\n}\n\nfunction getDefaultWindow(): ForgePlayAgentTransportWindowLike | null {\n if (typeof window === 'undefined') return null;\n return window;\n}\n\nfunction resolveParent(win: ForgePlayAgentTransportWindowLike | null): ForgePlayAgentTransportParentLike | null {\n if (!win?.parent) return null;\n try {\n if (win.parent === win) return null;\n } catch {\n return null;\n }\n return win.parent;\n}\n\nexport function createForgePlayAgentTransport(\n options: ForgePlayAgentTransportOptions = {},\n): ForgePlayAgentTransport {\n const win = options.window ?? getDefaultWindow();\n const targetOrigin = options.targetOrigin ?? '*';\n const now = options.now ?? Date.now;\n return {\n sendContext(context) {\n const parent = resolveParent(win);\n if (!parent) return { sent: false, reason: 'No Forge Play parent window is available.' };\n const timestamp = now();\n postAgentContextV1(parent, context, targetOrigin, timestamp);\n return { sent: true };\n },\n };\n}\n\nfunction postAgentContextV1(\n parent: ForgePlayAgentTransportParentLike,\n context: EditorAgentContext,\n targetOrigin: string,\n timestamp: number,\n): void {\n parent.postMessage({\n source: FORGE_PLAY_AGENT_BRIDGE_SOURCE,\n type: FORGE_PLAY_AGENT_POST_MESSAGE_EVENT,\n payload: {\n name: EDITOR_AGENT_EVENT_NAME.CONTEXT_ADD,\n context,\n },\n timestamp,\n }, targetOrigin);\n}\n"]}
|
package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
export type PlayableEditorAgentJsonValue = null | string | number | boolean | PlayableEditorAgentJsonValue[] | {
|
|
2
|
-
[key: string]: PlayableEditorAgentJsonValue;
|
|
3
|
-
};
|
|
4
|
-
export type PlayableEditorAgentJsonObject = {
|
|
5
|
-
[key: string]: PlayableEditorAgentJsonValue;
|
|
6
|
-
};
|
|
7
|
-
export interface PlayableEditorAgentGameObjectLike {
|
|
8
|
-
id: string;
|
|
9
|
-
name?: string;
|
|
10
|
-
camera?: unknown;
|
|
11
|
-
light?: unknown;
|
|
12
|
-
primitive?: {
|
|
13
|
-
shape?: string;
|
|
14
|
-
} | null;
|
|
15
|
-
}
|
|
16
|
-
export interface PlayableEditorAgentAssetLike {
|
|
17
|
-
id: string;
|
|
18
|
-
displayName?: string;
|
|
19
|
-
}
|
|
20
|
-
export interface PlayableEditorAgentPrefabMaterialTargetLike {
|
|
21
|
-
slotId?: string;
|
|
22
|
-
ownerNodePath?: string;
|
|
23
|
-
bindingPath: string;
|
|
24
|
-
label: string;
|
|
25
|
-
}
|
|
26
|
-
export interface PlayableEditorAgentPrefabSummaryLike {
|
|
27
|
-
prefabId: string;
|
|
28
|
-
prefabDisplayName?: string;
|
|
29
|
-
sourceAssetId?: string;
|
|
30
|
-
sourceAssetDisplayName?: string;
|
|
31
|
-
materialTargets: readonly PlayableEditorAgentPrefabMaterialTargetLike[];
|
|
32
|
-
}
|
|
33
|
-
export interface PlayableEditorAgentObjectDescriptionServices<TDocument, TGameObject extends PlayableEditorAgentGameObjectLike> {
|
|
34
|
-
findGameObject: (document: TDocument, objectId: string) => TGameObject | null;
|
|
35
|
-
findGameObjects: (document: TDocument, objectIds: readonly string[]) => TGameObject[];
|
|
36
|
-
readNodeKind: (gameObject: TGameObject) => string;
|
|
37
|
-
findAsset: (document: TDocument, gameObject: TGameObject) => PlayableEditorAgentAssetLike | null;
|
|
38
|
-
createPrefabSummary: (document: TDocument, gameObjectId: string) => PlayableEditorAgentPrefabSummaryLike | null;
|
|
39
|
-
hasModelRenderer: (gameObject: TGameObject) => boolean;
|
|
40
|
-
resolveDomainRole?: (gameObject: TGameObject, nodeKind: string) => string | null | undefined;
|
|
41
|
-
domainPrefix: string;
|
|
42
|
-
}
|
|
43
|
-
export declare function describePlayableEditorAgentObject<TDocument, TGameObject extends PlayableEditorAgentGameObjectLike>(document: TDocument, objectId: string, services: PlayableEditorAgentObjectDescriptionServices<TDocument, TGameObject>): {
|
|
44
|
-
domainKind: string;
|
|
45
|
-
domainRole: string;
|
|
46
|
-
functionLabel: string;
|
|
47
|
-
functionDescription: string;
|
|
48
|
-
domainHints: string[];
|
|
49
|
-
bindingCandidates: {
|
|
50
|
-
kind: string;
|
|
51
|
-
id: string;
|
|
52
|
-
label: string;
|
|
53
|
-
path: string;
|
|
54
|
-
}[];
|
|
55
|
-
sourceRefs: {
|
|
56
|
-
kind: string;
|
|
57
|
-
path: string;
|
|
58
|
-
label: string;
|
|
59
|
-
}[];
|
|
60
|
-
metadata: {
|
|
61
|
-
prefab?: PlayableEditorAgentJsonObject | undefined;
|
|
62
|
-
assetId?: string | undefined;
|
|
63
|
-
assetDisplayName?: string | undefined;
|
|
64
|
-
nodeKind: string;
|
|
65
|
-
};
|
|
66
|
-
} | null;
|
|
67
|
-
export declare function describePlayableEditorAgentObjectSet<TDocument, TGameObject extends PlayableEditorAgentGameObjectLike>(document: TDocument, objectIds: readonly string[], services: PlayableEditorAgentObjectDescriptionServices<TDocument, TGameObject>): {
|
|
68
|
-
domainKind: string;
|
|
69
|
-
domainRole: string;
|
|
70
|
-
functionLabel: string;
|
|
71
|
-
functionDescription: string;
|
|
72
|
-
domainHints: string[];
|
|
73
|
-
relationshipHints: {
|
|
74
|
-
type: string;
|
|
75
|
-
description: string;
|
|
76
|
-
primaryObjectId: string;
|
|
77
|
-
supportingObjectIds: string[];
|
|
78
|
-
}[];
|
|
79
|
-
sourceRefs: {
|
|
80
|
-
kind: string;
|
|
81
|
-
path: string;
|
|
82
|
-
label: string;
|
|
83
|
-
}[];
|
|
84
|
-
metadata: {
|
|
85
|
-
prefabs?: PlayableEditorAgentJsonObject[] | undefined;
|
|
86
|
-
objectCount: number;
|
|
87
|
-
nodeKinds: string[];
|
|
88
|
-
};
|
|
89
|
-
} | null;
|
|
90
|
-
export declare function describePlayableEditorAgentRegionBinding<TDocument, TGameObject extends PlayableEditorAgentGameObjectLike>(document: TDocument, objectIds: readonly string[], services: PlayableEditorAgentObjectDescriptionServices<TDocument, TGameObject>): {
|
|
91
|
-
domainKind: string;
|
|
92
|
-
domainRole: string;
|
|
93
|
-
functionLabel: string;
|
|
94
|
-
functionDescription: string;
|
|
95
|
-
domainHints: string[];
|
|
96
|
-
relationshipHints: {
|
|
97
|
-
type: string;
|
|
98
|
-
description: string;
|
|
99
|
-
primaryObjectId: string;
|
|
100
|
-
supportingObjectIds: string[];
|
|
101
|
-
}[];
|
|
102
|
-
sourceRefs: {
|
|
103
|
-
kind: string;
|
|
104
|
-
path: string;
|
|
105
|
-
label: string;
|
|
106
|
-
}[];
|
|
107
|
-
metadata: {
|
|
108
|
-
objectCount: number;
|
|
109
|
-
objectIds: string[];
|
|
110
|
-
};
|
|
111
|
-
} | null;
|
|
112
|
-
//# sourceMappingURL=agent-descriptions.d.ts.map
|
package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-descriptions.d.ts","sourceRoot":"","sources":["../../src/local-harness/agent-descriptions.ts"],"names":[],"mappings":"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"}
|