@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.
Files changed (514) hide show
  1. package/dist/build-info.json +44 -44
  2. package/dist/editor-commands/capabilities/assets.d.ts +8 -0
  3. package/dist/editor-commands/capabilities/assets.d.ts.map +1 -0
  4. package/dist/{agent-bridge → editor-commands}/capabilities/assets.js +41 -41
  5. package/dist/editor-commands/capabilities/assets.js.map +1 -0
  6. package/dist/editor-commands/capabilities/editor-state.d.ts +5 -0
  7. package/dist/editor-commands/capabilities/editor-state.d.ts.map +1 -0
  8. package/dist/{agent-bridge → editor-commands}/capabilities/editor-state.js +22 -22
  9. package/dist/editor-commands/capabilities/editor-state.js.map +1 -0
  10. package/dist/editor-commands/capabilities/hierarchy.d.ts +4 -0
  11. package/dist/editor-commands/capabilities/hierarchy.d.ts.map +1 -0
  12. package/dist/{agent-bridge → editor-commands}/capabilities/hierarchy.js +5 -5
  13. package/dist/editor-commands/capabilities/hierarchy.js.map +1 -0
  14. package/dist/editor-commands/capabilities/host-lifecycle.d.ts +11 -0
  15. package/dist/editor-commands/capabilities/host-lifecycle.d.ts.map +1 -0
  16. package/dist/editor-commands/capabilities/host-lifecycle.js +149 -0
  17. package/dist/editor-commands/capabilities/host-lifecycle.js.map +1 -0
  18. package/dist/editor-commands/capabilities/prefabs.d.ts +5 -0
  19. package/dist/editor-commands/capabilities/prefabs.d.ts.map +1 -0
  20. package/dist/{agent-bridge → editor-commands}/capabilities/prefabs.js +93 -93
  21. package/dist/editor-commands/capabilities/prefabs.js.map +1 -0
  22. package/dist/editor-commands/capabilities/scene-objects.d.ts +8 -0
  23. package/dist/editor-commands/capabilities/scene-objects.d.ts.map +1 -0
  24. package/dist/editor-commands/capabilities/scene-objects.js +480 -0
  25. package/dist/editor-commands/capabilities/scene-objects.js.map +1 -0
  26. package/dist/editor-commands/capabilities/selection.d.ts +5 -0
  27. package/dist/editor-commands/capabilities/selection.d.ts.map +1 -0
  28. package/dist/editor-commands/capabilities/selection.js +60 -0
  29. package/dist/editor-commands/capabilities/selection.js.map +1 -0
  30. package/dist/editor-commands/capabilities/shadows.d.ts +5 -0
  31. package/dist/editor-commands/capabilities/shadows.d.ts.map +1 -0
  32. package/dist/{agent-bridge → editor-commands}/capabilities/shadows.js +74 -74
  33. package/dist/editor-commands/capabilities/shadows.js.map +1 -0
  34. package/dist/editor-commands/capabilities/transform.d.ts +5 -0
  35. package/dist/editor-commands/capabilities/transform.d.ts.map +1 -0
  36. package/dist/editor-commands/capabilities/transform.js +164 -0
  37. package/dist/editor-commands/capabilities/transform.js.map +1 -0
  38. package/dist/editor-commands/capabilities/ui-regions.d.ts +4 -0
  39. package/dist/editor-commands/capabilities/ui-regions.d.ts.map +1 -0
  40. package/dist/{agent-bridge → editor-commands}/capabilities/ui-regions.js +55 -57
  41. package/dist/editor-commands/capabilities/ui-regions.js.map +1 -0
  42. package/dist/editor-commands/capabilities/viewport.d.ts +5 -0
  43. package/dist/editor-commands/capabilities/viewport.d.ts.map +1 -0
  44. package/dist/{agent-bridge → editor-commands}/capabilities/viewport.js +100 -100
  45. package/dist/editor-commands/capabilities/viewport.js.map +1 -0
  46. package/dist/editor-commands/command-sources.d.ts +7 -0
  47. package/dist/editor-commands/command-sources.d.ts.map +1 -0
  48. package/dist/editor-commands/command-sources.js +34 -0
  49. package/dist/editor-commands/command-sources.js.map +1 -0
  50. package/dist/editor-commands/diagnostics.d.ts +12 -0
  51. package/dist/editor-commands/diagnostics.d.ts.map +1 -0
  52. package/dist/{agent-bridge → editor-commands}/diagnostics.js +4 -4
  53. package/dist/editor-commands/diagnostics.js.map +1 -0
  54. package/dist/{agent-bridge → editor-commands}/index.d.ts +1 -1
  55. package/dist/editor-commands/index.d.ts.map +1 -0
  56. package/dist/{agent-bridge → editor-commands}/index.js +1 -1
  57. package/dist/editor-commands/index.js.map +1 -0
  58. package/dist/editor-commands/register.d.ts +4 -0
  59. package/dist/editor-commands/register.d.ts.map +1 -0
  60. package/dist/{agent-bridge → editor-commands}/register.js +323 -286
  61. package/dist/editor-commands/register.js.map +1 -0
  62. package/dist/{agent-bridge → editor-commands}/shared.d.ts +80 -80
  63. package/dist/editor-commands/shared.d.ts.map +1 -0
  64. package/dist/{agent-bridge → editor-commands}/shared.js +29 -29
  65. package/dist/editor-commands/shared.js.map +1 -0
  66. package/dist/editor-commands/source-types.d.ts +110 -0
  67. package/dist/editor-commands/source-types.d.ts.map +1 -0
  68. package/dist/editor-commands/source-types.js.map +1 -0
  69. package/dist/editor-plugin-commands.d.ts +4 -0
  70. package/dist/editor-plugin-commands.d.ts.map +1 -0
  71. package/dist/editor-plugin-commands.js +18 -0
  72. package/dist/editor-plugin-commands.js.map +1 -0
  73. package/dist/index.d.ts +2 -2
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +1 -1
  76. package/dist/index.js.map +1 -1
  77. package/dist/local-editor-commands.d.ts +2 -0
  78. package/dist/local-editor-commands.d.ts.map +1 -0
  79. package/dist/local-editor-commands.js +2 -0
  80. package/dist/local-editor-commands.js.map +1 -0
  81. package/dist/local-editor-harness.d.ts +35 -21
  82. package/dist/local-editor-harness.d.ts.map +1 -1
  83. package/dist/local-editor-harness.js +1721 -367
  84. package/dist/local-editor-harness.js.map +1 -1
  85. package/dist/local-editor-prefab-stage-transaction.d.ts +2 -1
  86. package/dist/local-editor-prefab-stage-transaction.d.ts.map +1 -1
  87. package/dist/local-editor-prefab-stage-transaction.js +6 -5
  88. package/dist/local-editor-prefab-stage-transaction.js.map +1 -1
  89. package/dist/local-editor-scene-view-interaction-runtime.d.ts.map +1 -1
  90. package/dist/local-editor-scene-view-interaction-runtime.js +2 -5
  91. package/dist/local-editor-scene-view-interaction-runtime.js.map +1 -1
  92. package/dist/playable-local-editor-entry.d.ts +10 -0
  93. package/dist/playable-local-editor-entry.d.ts.map +1 -1
  94. package/dist/playable-local-editor-entry.js +10 -2
  95. package/dist/playable-local-editor-entry.js.map +1 -1
  96. package/dist/playable-local-editor-host.d.ts +3 -32
  97. package/dist/playable-local-editor-host.d.ts.map +1 -1
  98. package/dist/playable-local-editor-host.js +6 -70
  99. package/dist/playable-local-editor-host.js.map +1 -1
  100. package/dist/playable-product-local-editor.d.ts +1 -2
  101. package/dist/playable-product-local-editor.d.ts.map +1 -1
  102. package/dist/playable-product-local-editor.js +0 -1
  103. package/dist/playable-product-local-editor.js.map +1 -1
  104. package/dist/playable-product-projection-preview.d.ts.map +1 -1
  105. package/dist/playable-product-projection-preview.js +1 -1
  106. package/dist/playable-product-projection-preview.js.map +1 -1
  107. package/dist/playable-product-scene-capabilities.d.ts +0 -2
  108. package/dist/playable-product-scene-capabilities.d.ts.map +1 -1
  109. package/dist/playable-product-scene-capabilities.js +33 -6
  110. package/dist/playable-product-scene-capabilities.js.map +1 -1
  111. package/dist/playable-runtime-babylon.d.ts +4 -0
  112. package/dist/playable-runtime-babylon.d.ts.map +1 -1
  113. package/dist/playable-runtime-babylon.js +4 -0
  114. package/dist/playable-runtime-babylon.js.map +1 -1
  115. package/dist/playable-sdk.d.ts +1 -1
  116. package/dist/playable-sdk.d.ts.map +1 -1
  117. package/dist/playable-sdk.js.map +1 -1
  118. package/dist/playable-standard-project.d.ts +0 -2
  119. package/dist/playable-standard-project.d.ts.map +1 -1
  120. package/dist/playable-standard-project.js +1 -2
  121. package/dist/playable-standard-project.js.map +1 -1
  122. package/dist/project-service-projection.d.ts +16 -0
  123. package/dist/project-service-projection.d.ts.map +1 -0
  124. package/dist/project-service-projection.js +67 -0
  125. package/dist/project-service-projection.js.map +1 -0
  126. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts +18 -0
  127. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.d.ts.map +1 -1
  128. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js +54 -18
  129. package/node_modules/@fps-games/babylon-renderer/dist/post-process/babylon-default-pipeline.js.map +1 -1
  130. package/node_modules/@fps-games/babylon-renderer/package.json +9 -9
  131. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +1 -0
  132. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  133. package/node_modules/@fps-games/editor-babylon/dist/projection.js +1 -1
  134. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  135. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.d.ts.map +1 -1
  136. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js +127 -13
  137. package/node_modules/@fps-games/editor-babylon/dist/selection-presentation-controller.js.map +1 -1
  138. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts.map +1 -1
  139. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js +66 -1
  140. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  141. package/node_modules/@fps-games/editor-babylon/package.json +6 -6
  142. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts +32 -0
  143. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.d.ts.map +1 -0
  144. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js +254 -0
  145. package/node_modules/@fps-games/editor-browser/dist/editor-command-service-client.js.map +1 -0
  146. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +3 -1
  147. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  148. package/node_modules/@fps-games/editor-browser/dist/index.js +2 -0
  149. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  150. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts +68 -0
  151. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.d.ts.map +1 -0
  152. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js +650 -0
  153. package/node_modules/@fps-games/editor-browser/dist/local-editor-command-center.js.map +1 -0
  154. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts +1 -0
  155. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.d.ts.map +1 -1
  156. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js +22 -0
  157. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-formal-surface-visibility.js.map +1 -1
  158. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +8 -0
  159. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  160. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +117 -6
  161. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  162. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts +14 -1
  163. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
  164. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +100 -1
  165. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  166. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +8 -1
  167. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
  168. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +75 -2
  169. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  170. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +37 -12
  171. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  172. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.js.map +1 -1
  173. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +25 -2
  174. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  175. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +332 -107
  176. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  177. package/node_modules/@fps-games/editor-browser/package.json +7 -7
  178. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts +107 -0
  179. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.d.ts.map +1 -0
  180. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js +1211 -0
  181. package/node_modules/@fps-games/editor-core/dist/editor-authoring-host.js.map +1 -0
  182. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts +34 -0
  183. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.d.ts.map +1 -0
  184. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js +260 -0
  185. package/node_modules/@fps-games/editor-core/dist/editor-command-capability-adapter.js.map +1 -0
  186. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts +9 -0
  187. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.d.ts.map +1 -0
  188. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js +14 -0
  189. package/node_modules/@fps-games/editor-core/dist/editor-command-composed-authority.js.map +1 -0
  190. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts +18 -0
  191. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.d.ts.map +1 -0
  192. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js +113 -0
  193. package/node_modules/@fps-games/editor-core/dist/editor-command-observability.js.map +1 -0
  194. package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts +82 -0
  195. package/node_modules/@fps-games/editor-core/dist/editor-command-system.d.ts.map +1 -0
  196. package/node_modules/@fps-games/editor-core/dist/editor-command-system.js +1098 -0
  197. package/node_modules/@fps-games/editor-core/dist/editor-command-system.js.map +1 -0
  198. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts +6 -7
  199. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.d.ts.map +1 -1
  200. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js +62 -103
  201. package/node_modules/@fps-games/editor-core/dist/editor-plugin-host.js.map +1 -1
  202. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts +30 -0
  203. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.d.ts.map +1 -0
  204. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js +540 -0
  205. package/node_modules/@fps-games/editor-core/dist/editor-service-gateway.js.map +1 -0
  206. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts +9 -0
  207. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.d.ts.map +1 -0
  208. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js +61 -0
  209. package/node_modules/@fps-games/editor-core/dist/editor-session-authority.js.map +1 -0
  210. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +55 -0
  211. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  212. package/node_modules/@fps-games/editor-core/dist/editor-session.js +247 -6
  213. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  214. package/node_modules/@fps-games/editor-core/dist/index.d.ts +6 -2
  215. package/node_modules/@fps-games/editor-core/dist/index.d.ts.map +1 -1
  216. package/node_modules/@fps-games/editor-core/dist/index.js +6 -2
  217. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  218. package/node_modules/@fps-games/editor-core/package.json +6 -6
  219. package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts +0 -1
  220. package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts.map +1 -1
  221. package/node_modules/@fps-games/editor-forge-play/dist/index.js +0 -1
  222. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  223. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  224. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts +2 -0
  225. package/node_modules/@fps-games/editor-playable-sdk/dist/bridge-command/protocol.d.ts.map +1 -1
  226. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.d.ts.map +1 -1
  227. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js +41 -1
  228. package/node_modules/@fps-games/editor-playable-sdk/dist/document/helpers.js.map +1 -1
  229. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts +27 -1
  230. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.d.ts.map +1 -1
  231. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play-types.js.map +1 -1
  232. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts +2 -0
  233. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
  234. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +214 -7
  235. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
  236. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts +1 -0
  237. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.d.ts.map +1 -1
  238. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js +11 -3
  239. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/host-controller.js.map +1 -1
  240. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts +2 -4
  241. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.d.ts.map +1 -1
  242. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js +0 -1
  243. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/index.js.map +1 -1
  244. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.d.ts.map +1 -1
  245. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js +77 -31
  246. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/lifecycle.js.map +1 -1
  247. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts +8 -1
  248. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.d.ts.map +1 -1
  249. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/types.js.map +1 -1
  250. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts +21 -1
  251. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.d.ts.map +1 -1
  252. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js +90 -4
  253. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/asset-fields.js.map +1 -1
  254. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts +27 -1
  255. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.d.ts.map +1 -1
  256. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js +161 -1
  257. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/binding.js.map +1 -1
  258. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts +2 -2
  259. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.d.ts.map +1 -1
  260. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js +5 -92
  261. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/inspector.js.map +1 -1
  262. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts +7 -0
  263. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.d.ts.map +1 -1
  264. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js +26 -9
  265. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/scene-inspector.js.map +1 -1
  266. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts +9 -0
  267. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.d.ts.map +1 -1
  268. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js +19 -8
  269. package/node_modules/@fps-games/editor-playable-sdk/dist/material-binding/slot-inspector.js.map +1 -1
  270. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts +5 -0
  271. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.d.ts.map +1 -1
  272. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js +16 -4
  273. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/material-override-inspector.js.map +1 -1
  274. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts +9 -0
  275. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.d.ts.map +1 -1
  276. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js +12 -2
  277. package/node_modules/@fps-games/editor-playable-sdk/dist/prefab-stage/stage-inspector.js.map +1 -1
  278. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts +2 -1
  279. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.d.ts.map +1 -1
  280. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js +10 -5
  281. package/node_modules/@fps-games/editor-playable-sdk/dist/product/ground-decal.js.map +1 -1
  282. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts +1 -0
  283. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.d.ts.map +1 -1
  284. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js +1 -0
  285. package/node_modules/@fps-games/editor-playable-sdk/dist/product/index.js.map +1 -1
  286. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts +17 -82
  287. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.d.ts.map +1 -1
  288. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js +53 -57
  289. package/node_modules/@fps-games/editor-playable-sdk/dist/product/project-host-services.js.map +1 -1
  290. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.d.ts.map +1 -1
  291. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js +3 -2
  292. package/node_modules/@fps-games/editor-playable-sdk/dist/product/scene-session.js.map +1 -1
  293. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts +10 -0
  294. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.d.ts.map +1 -0
  295. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js +256 -0
  296. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-authoring-commands.js.map +1 -0
  297. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.d.ts.map +1 -1
  298. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js +7 -5
  299. package/node_modules/@fps-games/editor-playable-sdk/dist/product/standard-scene-assembly.js.map +1 -1
  300. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.d.ts.map +1 -1
  301. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js +8 -0
  302. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/client.js.map +1 -1
  303. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts +1 -0
  304. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.d.ts.map +1 -1
  305. package/node_modules/@fps-games/editor-playable-sdk/dist/scene-source/types.js.map +1 -1
  306. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js +134 -12
  307. package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
  308. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.d.ts.map +1 -1
  309. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js +47 -0
  310. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-scene-workflow.js.map +1 -1
  311. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts +27 -0
  312. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.d.ts.map +1 -0
  313. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js +592 -0
  314. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/editor-service-vite.js.map +1 -0
  315. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts +3 -1
  316. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts.map +1 -1
  317. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js +2 -1
  318. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -1
  319. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -1
  320. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +61 -6
  321. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -1
  322. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts +0 -2
  323. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.d.ts.map +1 -1
  324. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js +1 -10
  325. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-adapter.js.map +1 -1
  326. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.d.ts.map +1 -1
  327. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js +21 -0
  328. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/product-authoring-api.js.map +1 -1
  329. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts +13 -0
  330. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.d.ts.map +1 -0
  331. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js +18 -0
  332. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-authoring-backend.js.map +1 -0
  333. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts +28 -0
  334. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.d.ts.map +1 -0
  335. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js +863 -0
  336. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/project-editor-service.js.map +1 -0
  337. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +2 -0
  338. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -1
  339. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -1
  340. package/node_modules/@fps-games/editor-playable-sdk/package.json +6 -6
  341. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts +1626 -0
  342. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.d.ts.map +1 -0
  343. package/node_modules/@fps-games/editor-protocol/dist/{agent-bridge.js → editor-command-capabilities.js} +766 -620
  344. package/node_modules/@fps-games/editor-protocol/dist/editor-command-capabilities.js.map +1 -0
  345. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts +69 -0
  346. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.d.ts.map +1 -0
  347. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js +22 -0
  348. package/node_modules/@fps-games/editor-protocol/dist/editor-command-trace.js.map +1 -0
  349. package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts +136 -0
  350. package/node_modules/@fps-games/editor-protocol/dist/editor-command.d.ts.map +1 -0
  351. package/node_modules/@fps-games/editor-protocol/dist/editor-command.js +2 -0
  352. package/node_modules/@fps-games/editor-protocol/dist/editor-command.js.map +1 -0
  353. package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts +225 -0
  354. package/node_modules/@fps-games/editor-protocol/dist/editor-service.d.ts.map +1 -0
  355. package/node_modules/@fps-games/editor-protocol/dist/editor-service.js +4 -0
  356. package/node_modules/@fps-games/editor-protocol/dist/editor-service.js.map +1 -0
  357. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +6 -3
  358. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
  359. package/node_modules/@fps-games/editor-protocol/dist/index.js +6 -3
  360. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  361. package/node_modules/@fps-games/editor-protocol/package.json +2 -2
  362. package/node_modules/@fps-games/editor-tooling/package.json +3 -3
  363. package/node_modules/@fps-games/editor-ui/package.json +1 -1
  364. package/node_modules/@fps-games/playable-assets/package.json +1 -1
  365. package/node_modules/@fps-games/playable-contracts/package.json +1 -1
  366. package/node_modules/@fps-games/playable-rendering/package.json +2 -2
  367. package/node_modules/@fps-games/playable-runtime/package.json +12 -12
  368. package/node_modules/@fps-games/playable-runtime-data/package.json +4 -4
  369. package/node_modules/@fps-games/playable-scene/package.json +2 -2
  370. package/node_modules/@fps-games/plugin-api/package.json +1 -1
  371. package/node_modules/@fps-games/plugin-assets/dist/version.d.ts +1 -1
  372. package/node_modules/@fps-games/plugin-assets/dist/version.js +1 -1
  373. package/node_modules/@fps-games/plugin-assets/dist/version.js.map +1 -1
  374. package/node_modules/@fps-games/plugin-assets/package.json +6 -6
  375. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts +1 -0
  376. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.d.ts.map +1 -1
  377. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js +78 -4
  378. package/node_modules/@fps-games/plugin-hierarchy/dist/kernel.js.map +1 -1
  379. package/node_modules/@fps-games/plugin-hierarchy/dist/version.d.ts +1 -1
  380. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js +1 -1
  381. package/node_modules/@fps-games/plugin-hierarchy/dist/version.js.map +1 -1
  382. package/node_modules/@fps-games/plugin-hierarchy/package.json +5 -5
  383. package/node_modules/@fps-games/plugin-host/package.json +2 -2
  384. package/node_modules/@fps-games/plugin-markers/dist/version.d.ts +1 -1
  385. package/node_modules/@fps-games/plugin-markers/dist/version.js +1 -1
  386. package/node_modules/@fps-games/plugin-markers/dist/version.js.map +1 -1
  387. package/node_modules/@fps-games/plugin-markers/package.json +5 -5
  388. package/node_modules/@fps-games/plugin-materials/dist/version.d.ts +1 -1
  389. package/node_modules/@fps-games/plugin-materials/dist/version.js +1 -1
  390. package/node_modules/@fps-games/plugin-materials/dist/version.js.map +1 -1
  391. package/node_modules/@fps-games/plugin-materials/package.json +5 -5
  392. package/node_modules/@fps-games/plugin-rendering/dist/version.d.ts +1 -1
  393. package/node_modules/@fps-games/plugin-rendering/dist/version.js +1 -1
  394. package/node_modules/@fps-games/plugin-rendering/dist/version.js.map +1 -1
  395. package/node_modules/@fps-games/plugin-rendering/package.json +5 -5
  396. package/node_modules/@fps-games/plugin-scene/dist/version.d.ts +1 -1
  397. package/node_modules/@fps-games/plugin-scene/dist/version.js +1 -1
  398. package/node_modules/@fps-games/plugin-scene/dist/version.js.map +1 -1
  399. package/node_modules/@fps-games/plugin-scene/package.json +5 -5
  400. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.d.ts +1 -1
  401. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js +1 -1
  402. package/node_modules/@fps-games/plugin-shadow-map-experiment/dist/version.js.map +1 -1
  403. package/node_modules/@fps-games/plugin-shadow-map-experiment/package.json +5 -5
  404. package/node_modules/@fps-games/plugin-shadows/dist/version.d.ts +1 -1
  405. package/node_modules/@fps-games/plugin-shadows/dist/version.js +1 -1
  406. package/node_modules/@fps-games/plugin-shadows/dist/version.js.map +1 -1
  407. package/node_modules/@fps-games/plugin-shadows/package.json +7 -7
  408. package/package.json +23 -23
  409. package/dist/agent-bridge/capabilities/assets.d.ts +0 -8
  410. package/dist/agent-bridge/capabilities/assets.d.ts.map +0 -1
  411. package/dist/agent-bridge/capabilities/assets.js.map +0 -1
  412. package/dist/agent-bridge/capabilities/editor-state.d.ts +0 -5
  413. package/dist/agent-bridge/capabilities/editor-state.d.ts.map +0 -1
  414. package/dist/agent-bridge/capabilities/editor-state.js.map +0 -1
  415. package/dist/agent-bridge/capabilities/hierarchy.d.ts +0 -4
  416. package/dist/agent-bridge/capabilities/hierarchy.d.ts.map +0 -1
  417. package/dist/agent-bridge/capabilities/hierarchy.js.map +0 -1
  418. package/dist/agent-bridge/capabilities/host-lifecycle.d.ts +0 -11
  419. package/dist/agent-bridge/capabilities/host-lifecycle.d.ts.map +0 -1
  420. package/dist/agent-bridge/capabilities/host-lifecycle.js +0 -149
  421. package/dist/agent-bridge/capabilities/host-lifecycle.js.map +0 -1
  422. package/dist/agent-bridge/capabilities/prefabs.d.ts +0 -5
  423. package/dist/agent-bridge/capabilities/prefabs.d.ts.map +0 -1
  424. package/dist/agent-bridge/capabilities/prefabs.js.map +0 -1
  425. package/dist/agent-bridge/capabilities/scene-objects.d.ts +0 -8
  426. package/dist/agent-bridge/capabilities/scene-objects.d.ts.map +0 -1
  427. package/dist/agent-bridge/capabilities/scene-objects.js +0 -480
  428. package/dist/agent-bridge/capabilities/scene-objects.js.map +0 -1
  429. package/dist/agent-bridge/capabilities/selection.d.ts +0 -5
  430. package/dist/agent-bridge/capabilities/selection.d.ts.map +0 -1
  431. package/dist/agent-bridge/capabilities/selection.js +0 -60
  432. package/dist/agent-bridge/capabilities/selection.js.map +0 -1
  433. package/dist/agent-bridge/capabilities/shadows.d.ts +0 -5
  434. package/dist/agent-bridge/capabilities/shadows.d.ts.map +0 -1
  435. package/dist/agent-bridge/capabilities/shadows.js.map +0 -1
  436. package/dist/agent-bridge/capabilities/transform.d.ts +0 -5
  437. package/dist/agent-bridge/capabilities/transform.d.ts.map +0 -1
  438. package/dist/agent-bridge/capabilities/transform.js +0 -164
  439. package/dist/agent-bridge/capabilities/transform.js.map +0 -1
  440. package/dist/agent-bridge/capabilities/ui-regions.d.ts +0 -4
  441. package/dist/agent-bridge/capabilities/ui-regions.d.ts.map +0 -1
  442. package/dist/agent-bridge/capabilities/ui-regions.js.map +0 -1
  443. package/dist/agent-bridge/capabilities/viewport.d.ts +0 -5
  444. package/dist/agent-bridge/capabilities/viewport.d.ts.map +0 -1
  445. package/dist/agent-bridge/capabilities/viewport.js.map +0 -1
  446. package/dist/agent-bridge/capability-sources.d.ts +0 -7
  447. package/dist/agent-bridge/capability-sources.d.ts.map +0 -1
  448. package/dist/agent-bridge/capability-sources.js +0 -34
  449. package/dist/agent-bridge/capability-sources.js.map +0 -1
  450. package/dist/agent-bridge/diagnostics.d.ts +0 -12
  451. package/dist/agent-bridge/diagnostics.d.ts.map +0 -1
  452. package/dist/agent-bridge/diagnostics.js.map +0 -1
  453. package/dist/agent-bridge/index.d.ts.map +0 -1
  454. package/dist/agent-bridge/index.js.map +0 -1
  455. package/dist/agent-bridge/register.d.ts +0 -4
  456. package/dist/agent-bridge/register.d.ts.map +0 -1
  457. package/dist/agent-bridge/register.js.map +0 -1
  458. package/dist/agent-bridge/shared.d.ts.map +0 -1
  459. package/dist/agent-bridge/shared.js.map +0 -1
  460. package/dist/agent-bridge/source-types.d.ts +0 -110
  461. package/dist/agent-bridge/source-types.d.ts.map +0 -1
  462. package/dist/agent-bridge/source-types.js.map +0 -1
  463. package/dist/editor-plugin-agent-capabilities.d.ts +0 -4
  464. package/dist/editor-plugin-agent-capabilities.d.ts.map +0 -1
  465. package/dist/editor-plugin-agent-capabilities.js +0 -64
  466. package/dist/editor-plugin-agent-capabilities.js.map +0 -1
  467. package/dist/local-editor-agent-actions.d.ts +0 -43
  468. package/dist/local-editor-agent-actions.d.ts.map +0 -1
  469. package/dist/local-editor-agent-actions.js +0 -321
  470. package/dist/local-editor-agent-actions.js.map +0 -1
  471. package/dist/local-editor-agent-bridge-transport.d.ts +0 -129
  472. package/dist/local-editor-agent-bridge-transport.d.ts.map +0 -1
  473. package/dist/local-editor-agent-bridge-transport.js +0 -403
  474. package/dist/local-editor-agent-bridge-transport.js.map +0 -1
  475. package/dist/local-editor-agent-bridge.d.ts +0 -2
  476. package/dist/local-editor-agent-bridge.d.ts.map +0 -1
  477. package/dist/local-editor-agent-bridge.js +0 -2
  478. package/dist/local-editor-agent-bridge.js.map +0 -1
  479. package/dist/local-editor-agent-context.d.ts +0 -68
  480. package/dist/local-editor-agent-context.d.ts.map +0 -1
  481. package/dist/local-editor-agent-context.js +0 -716
  482. package/dist/local-editor-agent-context.js.map +0 -1
  483. package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts +0 -22
  484. package/node_modules/@fps-games/editor-core/dist/agent-bridge.d.ts.map +0 -1
  485. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js +0 -106
  486. package/node_modules/@fps-games/editor-core/dist/agent-bridge.js.map +0 -1
  487. package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts +0 -17
  488. package/node_modules/@fps-games/editor-core/dist/agent-interaction.d.ts.map +0 -1
  489. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js +0 -14
  490. package/node_modules/@fps-games/editor-core/dist/agent-interaction.js.map +0 -1
  491. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts +0 -23
  492. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.d.ts.map +0 -1
  493. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js +0 -47
  494. package/node_modules/@fps-games/editor-forge-play/dist/agent-transport.js.map +0 -1
  495. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts +0 -112
  496. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.d.ts.map +0 -1
  497. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js +0 -159
  498. package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/agent-descriptions.js.map +0 -1
  499. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts +0 -15
  500. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.d.ts.map +0 -1
  501. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js +0 -76
  502. package/node_modules/@fps-games/editor-playable-sdk/dist/vite/session-metadata.js.map +0 -1
  503. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts +0 -1622
  504. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.d.ts.map +0 -1
  505. package/node_modules/@fps-games/editor-protocol/dist/agent-bridge.js.map +0 -1
  506. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts +0 -68
  507. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.d.ts.map +0 -1
  508. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js +0 -23
  509. package/node_modules/@fps-games/editor-protocol/dist/agent-trace.js.map +0 -1
  510. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts +0 -187
  511. package/node_modules/@fps-games/editor-protocol/dist/agent.d.ts.map +0 -1
  512. package/node_modules/@fps-games/editor-protocol/dist/agent.js +0 -5
  513. package/node_modules/@fps-games/editor-protocol/dist/agent.js.map +0 -1
  514. /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"]}
@@ -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
@@ -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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"}