@konitif/workbench 0.284.1

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 (373) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +54 -0
  3. package/dist/application/boot/applicationBoot.d.ts +48 -0
  4. package/dist/application/boot/applicationBoot.js +174 -0
  5. package/dist/application/experiment/ControlledExperimentCampaign.d.ts +12 -0
  6. package/dist/application/experiment/ControlledExperimentCampaign.js +159 -0
  7. package/dist/application/experiment/ControlledExperimentRecorder.d.ts +17 -0
  8. package/dist/application/experiment/ControlledExperimentRecorder.js +215 -0
  9. package/dist/application/i18n/WorkbenchTranslationRegistry.d.ts +19 -0
  10. package/dist/application/i18n/WorkbenchTranslationRegistry.js +179 -0
  11. package/dist/application/layout/surfaceCommandRouter.d.ts +18 -0
  12. package/dist/application/layout/surfaceCommandRouter.js +247 -0
  13. package/dist/application/physics/NoopPhysicsBackend.d.ts +2 -0
  14. package/dist/application/physics/NoopPhysicsBackend.js +2 -0
  15. package/dist/application/physics/PhysicsService.d.ts +2 -0
  16. package/dist/application/physics/PhysicsService.js +2 -0
  17. package/dist/application/project/ProjectManifest.d.ts +15 -0
  18. package/dist/application/project/ProjectManifest.js +107 -0
  19. package/dist/application/repository/RepositoryPreflightEngine.d.ts +6 -0
  20. package/dist/application/repository/RepositoryPreflightEngine.js +301 -0
  21. package/dist/application/runtime/RuntimeBackendConnection.d.ts +9 -0
  22. package/dist/application/runtime/RuntimeBackendConnection.js +34 -0
  23. package/dist/application/runtime/RuntimeBackendSubscription.d.ts +8 -0
  24. package/dist/application/runtime/RuntimeBackendSubscription.js +52 -0
  25. package/dist/application/runtime/RuntimeCheckpointStore.d.ts +20 -0
  26. package/dist/application/runtime/RuntimeCheckpointStore.js +65 -0
  27. package/dist/application/runtime/RuntimeLaunchProgress.d.ts +3 -0
  28. package/dist/application/runtime/RuntimeLaunchProgress.js +38 -0
  29. package/dist/application/runtime/RuntimeLaunchStateSnapshot.d.ts +48 -0
  30. package/dist/application/runtime/RuntimeLaunchStateSnapshot.js +73 -0
  31. package/dist/application/runtime/RuntimeObservabilityHub.d.ts +28 -0
  32. package/dist/application/runtime/RuntimeObservabilityHub.js +262 -0
  33. package/dist/application/runtime/RuntimeObservationEvents.d.ts +15 -0
  34. package/dist/application/runtime/RuntimeObservationEvents.js +18 -0
  35. package/dist/application/runtime/RuntimeOffloadManager.d.ts +24 -0
  36. package/dist/application/runtime/RuntimeOffloadManager.js +96 -0
  37. package/dist/application/runtime/RuntimePlanEngine.d.ts +11 -0
  38. package/dist/application/runtime/RuntimePlanEngine.js +67 -0
  39. package/dist/application/runtime/RuntimeProjectionCatalog.d.ts +5 -0
  40. package/dist/application/runtime/RuntimeProjectionCatalog.js +48 -0
  41. package/dist/application/runtime/RuntimeProjectionSession.d.ts +5 -0
  42. package/dist/application/runtime/RuntimeProjectionSession.js +4 -0
  43. package/dist/application/runtime/RuntimeProjectionSessionKeys.d.ts +5 -0
  44. package/dist/application/runtime/RuntimeProjectionSessionKeys.js +10 -0
  45. package/dist/application/runtime/RuntimeProjectionSessionReducers.d.ts +7 -0
  46. package/dist/application/runtime/RuntimeProjectionSessionReducers.js +101 -0
  47. package/dist/application/runtime/RuntimeProjectionSessionSerialization.d.ts +5 -0
  48. package/dist/application/runtime/RuntimeProjectionSessionSerialization.js +89 -0
  49. package/dist/application/runtime/RuntimeProjectionSessionSharedState.d.ts +3 -0
  50. package/dist/application/runtime/RuntimeProjectionSessionSharedState.js +53 -0
  51. package/dist/application/runtime/RuntimeProjectionSessionTypes.d.ts +38 -0
  52. package/dist/application/runtime/RuntimeProjectionSessionTypes.js +1 -0
  53. package/dist/application/runtime/RuntimeProjectionViewerSessionSync.d.ts +29 -0
  54. package/dist/application/runtime/RuntimeProjectionViewerSessionSync.js +39 -0
  55. package/dist/application/runtime/RuntimeProjectionViewerSessionUpdates.d.ts +27 -0
  56. package/dist/application/runtime/RuntimeProjectionViewerSessionUpdates.js +38 -0
  57. package/dist/application/runtime/RuntimeRegistryOwner.d.ts +20 -0
  58. package/dist/application/runtime/RuntimeRegistryOwner.js +71 -0
  59. package/dist/application/runtime/RuntimeRegistrySnapshots.d.ts +6 -0
  60. package/dist/application/runtime/RuntimeRegistrySnapshots.js +51 -0
  61. package/dist/application/runtime/RuntimeRegistryTypes.d.ts +29 -0
  62. package/dist/application/runtime/RuntimeRegistryTypes.js +1 -0
  63. package/dist/application/runtime/RuntimeSharedState.d.ts +6 -0
  64. package/dist/application/runtime/RuntimeSharedState.js +47 -0
  65. package/dist/application/runtime/WorkbenchRuntimeCore.d.ts +82 -0
  66. package/dist/application/runtime/WorkbenchRuntimeCore.js +463 -0
  67. package/dist/application/runtime/WorkbenchRuntimeSanitizers.d.ts +9 -0
  68. package/dist/application/runtime/WorkbenchRuntimeSanitizers.js +62 -0
  69. package/dist/application/shell/state.d.ts +22 -0
  70. package/dist/application/shell/state.js +308 -0
  71. package/dist/application/widgets/createWorkbenchWidgetAdapter.d.ts +9 -0
  72. package/dist/application/widgets/createWorkbenchWidgetAdapter.js +30 -0
  73. package/dist/application/workspace/canonicalizeLayout.d.ts +2 -0
  74. package/dist/application/workspace/canonicalizeLayout.js +91 -0
  75. package/dist/application/workspace/closePanel.d.ts +6 -0
  76. package/dist/application/workspace/closePanel.js +43 -0
  77. package/dist/application/workspace/collapseSplit.d.ts +7 -0
  78. package/dist/application/workspace/collapseSplit.js +45 -0
  79. package/dist/application/workspace/collapseSplitBoundary.d.ts +8 -0
  80. package/dist/application/workspace/collapseSplitBoundary.js +106 -0
  81. package/dist/application/workspace/commands.d.ts +71 -0
  82. package/dist/application/workspace/commands.js +216 -0
  83. package/dist/application/workspace/createPeripheralBands.d.ts +14 -0
  84. package/dist/application/workspace/createPeripheralBands.js +62 -0
  85. package/dist/application/workspace/createWorkspace.d.ts +7 -0
  86. package/dist/application/workspace/createWorkspace.js +12 -0
  87. package/dist/application/workspace/detachPanelToWindow.d.ts +12 -0
  88. package/dist/application/workspace/detachPanelToWindow.js +57 -0
  89. package/dist/application/workspace/dockPanel.d.ts +10 -0
  90. package/dist/application/workspace/dockPanel.js +399 -0
  91. package/dist/application/workspace/finalizeWorkspace.d.ts +4 -0
  92. package/dist/application/workspace/finalizeWorkspace.js +23 -0
  93. package/dist/application/workspace/focusPanel.d.ts +2 -0
  94. package/dist/application/workspace/focusPanel.js +19 -0
  95. package/dist/application/workspace/joinPanelArea.d.ts +13 -0
  96. package/dist/application/workspace/joinPanelArea.js +281 -0
  97. package/dist/application/workspace/layoutInteraction.d.ts +176 -0
  98. package/dist/application/workspace/layoutInteraction.js +852 -0
  99. package/dist/application/workspace/layoutTree.d.ts +34 -0
  100. package/dist/application/workspace/layoutTree.js +135 -0
  101. package/dist/application/workspace/openTool.d.ts +15 -0
  102. package/dist/application/workspace/openTool.js +89 -0
  103. package/dist/application/workspace/presetArtifacts.d.ts +60 -0
  104. package/dist/application/workspace/presetArtifacts.js +231 -0
  105. package/dist/application/workspace/presets.d.ts +5 -0
  106. package/dist/application/workspace/presets.js +12 -0
  107. package/dist/application/workspace/reattachWorkspaceWindow.d.ts +7 -0
  108. package/dist/application/workspace/reattachWorkspaceWindow.js +24 -0
  109. package/dist/application/workspace/resizeSplit.d.ts +7 -0
  110. package/dist/application/workspace/resizeSplit.js +12 -0
  111. package/dist/application/workspace/resizeSplitBoundary.d.ts +10 -0
  112. package/dist/application/workspace/resizeSplitBoundary.js +115 -0
  113. package/dist/application/workspace/runToolShellCommand.d.ts +11 -0
  114. package/dist/application/workspace/runToolShellCommand.js +133 -0
  115. package/dist/application/workspace/session.d.ts +9 -0
  116. package/dist/application/workspace/session.js +36 -0
  117. package/dist/application/workspace/setActiveStackChild.d.ts +7 -0
  118. package/dist/application/workspace/setActiveStackChild.js +12 -0
  119. package/dist/application/workspace/setDesignSystemThemeSession.d.ts +3 -0
  120. package/dist/application/workspace/setDesignSystemThemeSession.js +12 -0
  121. package/dist/application/workspace/setPanelFullscreenToggleVisibility.d.ts +7 -0
  122. package/dist/application/workspace/setPanelFullscreenToggleVisibility.js +7 -0
  123. package/dist/application/workspace/setStackHeaderVisibility.d.ts +7 -0
  124. package/dist/application/workspace/setStackHeaderVisibility.js +7 -0
  125. package/dist/application/workspace/setToolPanelTitleOverride.d.ts +9 -0
  126. package/dist/application/workspace/setToolPanelTitleOverride.js +33 -0
  127. package/dist/application/workspace/setToolShellStatus.d.ts +8 -0
  128. package/dist/application/workspace/setToolShellStatus.js +32 -0
  129. package/dist/application/workspace/setWorkspaceFullscreenPanel.d.ts +3 -0
  130. package/dist/application/workspace/setWorkspaceFullscreenPanel.js +26 -0
  131. package/dist/application/workspace/snapshots.d.ts +10 -0
  132. package/dist/application/workspace/snapshots.js +34 -0
  133. package/dist/application/workspace/splitPanel.d.ts +10 -0
  134. package/dist/application/workspace/splitPanel.js +21 -0
  135. package/dist/application/workspace/subdividePanel.d.ts +39 -0
  136. package/dist/application/workspace/subdividePanel.js +128 -0
  137. package/dist/application/workspace/swapPanelArea.d.ts +11 -0
  138. package/dist/application/workspace/swapPanelArea.js +163 -0
  139. package/dist/application/workspace/targetWindow.d.ts +4 -0
  140. package/dist/application/workspace/targetWindow.js +22 -0
  141. package/dist/application/workspace/toolCapabilities.d.ts +11 -0
  142. package/dist/application/workspace/toolCapabilities.js +59 -0
  143. package/dist/application/workspace/toolRuntime.d.ts +32 -0
  144. package/dist/application/workspace/toolRuntime.js +65 -0
  145. package/dist/application/workspace/updateToolState.d.ts +8 -0
  146. package/dist/application/workspace/updateToolState.js +20 -0
  147. package/dist/boot/applicationBoot.d.ts +1 -0
  148. package/dist/boot/applicationBoot.js +2 -0
  149. package/dist/boot/events.d.ts +43 -0
  150. package/dist/boot/events.js +16 -0
  151. package/dist/boot/executor.d.ts +13 -0
  152. package/dist/boot/executor.js +210 -0
  153. package/dist/boot/graph.d.ts +16 -0
  154. package/dist/boot/graph.js +126 -0
  155. package/dist/boot/index.d.ts +2 -0
  156. package/dist/boot/index.js +3 -0
  157. package/dist/boot/mechanism.d.ts +5 -0
  158. package/dist/boot/mechanism.js +6 -0
  159. package/dist/boot/projection.d.ts +72 -0
  160. package/dist/boot/projection.js +398 -0
  161. package/dist/boot/types.d.ts +80 -0
  162. package/dist/boot/types.js +46 -0
  163. package/dist/domain/composition/dockArrangement.d.ts +57 -0
  164. package/dist/domain/composition/dockArrangement.js +304 -0
  165. package/dist/domain/composition/docking.d.ts +68 -0
  166. package/dist/domain/composition/docking.js +187 -0
  167. package/dist/domain/design-system/themeSession.d.ts +12 -0
  168. package/dist/domain/design-system/themeSession.js +42 -0
  169. package/dist/domain/experiment/model.d.ts +149 -0
  170. package/dist/domain/experiment/model.js +1 -0
  171. package/dist/domain/i18n/languageRegistry.d.ts +57 -0
  172. package/dist/domain/i18n/languageRegistry.js +1 -0
  173. package/dist/domain/i18n/model.d.ts +31 -0
  174. package/dist/domain/i18n/model.js +1 -0
  175. package/dist/domain/icon/model.d.ts +8 -0
  176. package/dist/domain/icon/model.js +1 -0
  177. package/dist/domain/input/interactionBindings.d.ts +2 -0
  178. package/dist/domain/input/interactionBindings.js +2 -0
  179. package/dist/domain/launch/model.d.ts +58 -0
  180. package/dist/domain/launch/model.js +109 -0
  181. package/dist/domain/layout/interaction.d.ts +90 -0
  182. package/dist/domain/layout/interaction.js +1 -0
  183. package/dist/domain/layout/model.d.ts +28 -0
  184. package/dist/domain/layout/model.js +1 -0
  185. package/dist/domain/layout/selectors.d.ts +12 -0
  186. package/dist/domain/layout/selectors.js +84 -0
  187. package/dist/domain/layout/surfaceProjection.d.ts +56 -0
  188. package/dist/domain/layout/surfaceProjection.js +249 -0
  189. package/dist/domain/layout/validation.d.ts +9 -0
  190. package/dist/domain/layout/validation.js +71 -0
  191. package/dist/domain/panel/model.d.ts +9 -0
  192. package/dist/domain/panel/model.js +1 -0
  193. package/dist/domain/physics/colliderGeometry.d.ts +2 -0
  194. package/dist/domain/physics/colliderGeometry.js +1 -0
  195. package/dist/domain/physics/contracts.d.ts +2 -0
  196. package/dist/domain/physics/contracts.js +1 -0
  197. package/dist/domain/physics/kinematicBinding.d.ts +22 -0
  198. package/dist/domain/physics/kinematicBinding.js +1 -0
  199. package/dist/domain/physics/model.d.ts +4 -0
  200. package/dist/domain/physics/model.js +1 -0
  201. package/dist/domain/physics/mujoco.d.ts +5 -0
  202. package/dist/domain/physics/mujoco.js +1 -0
  203. package/dist/domain/physics/observationProfile.d.ts +2 -0
  204. package/dist/domain/physics/observationProfile.js +1 -0
  205. package/dist/domain/physics/presentationBinding.d.ts +6 -0
  206. package/dist/domain/physics/presentationBinding.js +1 -0
  207. package/dist/domain/physics/simulationProfile.d.ts +2 -0
  208. package/dist/domain/physics/simulationProfile.js +1 -0
  209. package/dist/domain/physics/visualAlignment.d.ts +17 -0
  210. package/dist/domain/physics/visualAlignment.js +1 -0
  211. package/dist/domain/presentation/readingLevel.d.ts +12 -0
  212. package/dist/domain/presentation/readingLevel.js +29 -0
  213. package/dist/domain/project/model.d.ts +55 -0
  214. package/dist/domain/project/model.js +1 -0
  215. package/dist/domain/repo-quality/model.d.ts +111 -0
  216. package/dist/domain/repo-quality/model.js +1 -0
  217. package/dist/domain/repository/model.d.ts +110 -0
  218. package/dist/domain/repository/model.js +1 -0
  219. package/dist/domain/runtime/checkpoint.d.ts +37 -0
  220. package/dist/domain/runtime/checkpoint.js +87 -0
  221. package/dist/domain/runtime/hydration.d.ts +26 -0
  222. package/dist/domain/runtime/hydration.js +92 -0
  223. package/dist/domain/runtime/initialization.d.ts +25 -0
  224. package/dist/domain/runtime/initialization.js +87 -0
  225. package/dist/domain/runtime/lifecycle.d.ts +51 -0
  226. package/dist/domain/runtime/lifecycle.js +118 -0
  227. package/dist/domain/runtime/model.d.ts +252 -0
  228. package/dist/domain/runtime/model.js +13 -0
  229. package/dist/domain/runtime/observability.d.ts +142 -0
  230. package/dist/domain/runtime/observability.js +1 -0
  231. package/dist/domain/runtime/offload.d.ts +56 -0
  232. package/dist/domain/runtime/offload.js +129 -0
  233. package/dist/domain/runtime/plan.d.ts +26 -0
  234. package/dist/domain/runtime/plan.js +1 -0
  235. package/dist/domain/runtime/qualityPolicy.d.ts +28 -0
  236. package/dist/domain/runtime/qualityPolicy.js +97 -0
  237. package/dist/domain/runtime/recovery.d.ts +61 -0
  238. package/dist/domain/runtime/recovery.js +129 -0
  239. package/dist/domain/runtime/suspension.d.ts +32 -0
  240. package/dist/domain/runtime/suspension.js +107 -0
  241. package/dist/domain/runtime/teardown.d.ts +33 -0
  242. package/dist/domain/runtime/teardown.js +109 -0
  243. package/dist/domain/shared/id.d.ts +1 -0
  244. package/dist/domain/shared/id.js +5 -0
  245. package/dist/domain/shared/json.d.ts +9 -0
  246. package/dist/domain/shared/json.js +24 -0
  247. package/dist/domain/shell/model.d.ts +40 -0
  248. package/dist/domain/shell/model.js +1 -0
  249. package/dist/domain/shell/runtime.d.ts +76 -0
  250. package/dist/domain/shell/runtime.js +40 -0
  251. package/dist/domain/surface/model.d.ts +97 -0
  252. package/dist/domain/surface/model.js +71 -0
  253. package/dist/domain/temporal/model.d.ts +95 -0
  254. package/dist/domain/temporal/model.js +45 -0
  255. package/dist/domain/tool/internalTab.d.ts +11 -0
  256. package/dist/domain/tool/internalTab.js +20 -0
  257. package/dist/domain/tool/model.d.ts +207 -0
  258. package/dist/domain/tool/model.js +1 -0
  259. package/dist/domain/tool/runtime.d.ts +122 -0
  260. package/dist/domain/tool/runtime.js +2 -0
  261. package/dist/domain/tool/shell.d.ts +38 -0
  262. package/dist/domain/tool/shell.js +175 -0
  263. package/dist/domain/widget/composition.d.ts +79 -0
  264. package/dist/domain/widget/composition.js +250 -0
  265. package/dist/domain/widget/model.d.ts +35 -0
  266. package/dist/domain/widget/model.js +8 -0
  267. package/dist/domain/widget/toolDock.d.ts +30 -0
  268. package/dist/domain/widget/toolDock.js +52 -0
  269. package/dist/domain/workbench/model.d.ts +35 -0
  270. package/dist/domain/workbench/model.js +1 -0
  271. package/dist/domain/workbench/routing.d.ts +17 -0
  272. package/dist/domain/workbench/routing.js +72 -0
  273. package/dist/domain/workspace/factories.d.ts +9 -0
  274. package/dist/domain/workspace/factories.js +47 -0
  275. package/dist/domain/workspace/model.d.ts +23 -0
  276. package/dist/domain/workspace/model.js +1 -0
  277. package/dist/domain/workspace/persistence.d.ts +5 -0
  278. package/dist/domain/workspace/persistence.js +1 -0
  279. package/dist/domain/workspace/selectors.d.ts +19 -0
  280. package/dist/domain/workspace/selectors.js +90 -0
  281. package/dist/domain/workspace/session.d.ts +9 -0
  282. package/dist/domain/workspace/session.js +1 -0
  283. package/dist/domain/workspace/validation.d.ts +10 -0
  284. package/dist/domain/workspace/validation.js +231 -0
  285. package/dist/hosting.d.ts +15 -0
  286. package/dist/hosting.js +12 -0
  287. package/dist/index.d.ts +111 -0
  288. package/dist/index.js +111 -0
  289. package/dist/infrastructure/audio/WorkbenchAudioManager.d.ts +36 -0
  290. package/dist/infrastructure/audio/WorkbenchAudioManager.js +100 -0
  291. package/dist/infrastructure/backend/HttpWorkbenchBackendClient.d.ts +30 -0
  292. package/dist/infrastructure/backend/HttpWorkbenchBackendClient.js +314 -0
  293. package/dist/infrastructure/persistence/LocalWorkspacePersistence.d.ts +8 -0
  294. package/dist/infrastructure/persistence/LocalWorkspacePersistence.js +29 -0
  295. package/dist/infrastructure/surfaces/InMemorySurfaceViewerRegistry.d.ts +58 -0
  296. package/dist/infrastructure/surfaces/InMemorySurfaceViewerRegistry.js +121 -0
  297. package/dist/infrastructure/temporal/InMemoryTemporalDialectRegistry.d.ts +8 -0
  298. package/dist/infrastructure/temporal/InMemoryTemporalDialectRegistry.js +38 -0
  299. package/dist/infrastructure/tools/InMemoryToolRegistry.d.ts +46 -0
  300. package/dist/infrastructure/tools/InMemoryToolRegistry.js +82 -0
  301. package/dist/infrastructure/widgets/InMemoryShellWidgetRegistry.d.ts +42 -0
  302. package/dist/infrastructure/widgets/InMemoryShellWidgetRegistry.js +66 -0
  303. package/dist/infrastructure/widgets/InMemoryWorkbenchWidgetRegistry.d.ts +20 -0
  304. package/dist/infrastructure/widgets/InMemoryWorkbenchWidgetRegistry.js +35 -0
  305. package/dist/infrastructure/workbenches/InMemoryWorkbenchRegistry.d.ts +7 -0
  306. package/dist/infrastructure/workbenches/InMemoryWorkbenchRegistry.js +28 -0
  307. package/dist/physics-runtime.d.ts +4 -0
  308. package/dist/physics-runtime.js +2 -0
  309. package/dist/stage/easing.d.ts +5 -0
  310. package/dist/stage/easing.js +15 -0
  311. package/dist/stage/index.d.ts +6 -0
  312. package/dist/stage/index.js +6 -0
  313. package/dist/stage/projection.d.ts +4 -0
  314. package/dist/stage/projection.js +74 -0
  315. package/dist/stage/stageRuntime.d.ts +2 -0
  316. package/dist/stage/stageRuntime.js +32 -0
  317. package/dist/stage/timeline.d.ts +3 -0
  318. package/dist/stage/timeline.js +69 -0
  319. package/dist/stage/tween.d.ts +3 -0
  320. package/dist/stage/tween.js +104 -0
  321. package/dist/stage/types.d.ts +104 -0
  322. package/dist/stage/types.js +30 -0
  323. package/dist/temporal/clock/audioClock.d.ts +1 -0
  324. package/dist/temporal/clock/audioClock.js +1 -0
  325. package/dist/temporal/clock/clockGraph.d.ts +1 -0
  326. package/dist/temporal/clock/clockGraph.js +1 -0
  327. package/dist/temporal/clock/clockTypes.d.ts +1 -0
  328. package/dist/temporal/clock/clockTypes.js +1 -0
  329. package/dist/temporal/clock/fixedStepClock.d.ts +1 -0
  330. package/dist/temporal/clock/fixedStepClock.js +1 -0
  331. package/dist/temporal/clock/musicalClock.d.ts +7 -0
  332. package/dist/temporal/clock/musicalClock.js +35 -0
  333. package/dist/temporal/clock/rootClock.d.ts +1 -0
  334. package/dist/temporal/clock/rootClock.js +1 -0
  335. package/dist/temporal/clock/videoClock.d.ts +1 -0
  336. package/dist/temporal/clock/videoClock.js +1 -0
  337. package/dist/temporal/easing/easingFunctions.d.ts +2 -0
  338. package/dist/temporal/easing/easingFunctions.js +19 -0
  339. package/dist/temporal/easing/easingRegistry.d.ts +10 -0
  340. package/dist/temporal/easing/easingRegistry.js +32 -0
  341. package/dist/temporal/easing/easingShaderSource.d.ts +2 -0
  342. package/dist/temporal/easing/easingShaderSource.js +16 -0
  343. package/dist/temporal/easing/easingTypes.d.ts +9 -0
  344. package/dist/temporal/easing/easingTypes.js +1 -0
  345. package/dist/temporal/history/runtimeHistory.d.ts +77 -0
  346. package/dist/temporal/history/runtimeHistory.js +5 -0
  347. package/dist/temporal/history/temporalHistoryCore.d.ts +1 -0
  348. package/dist/temporal/history/temporalHistoryCore.js +1 -0
  349. package/dist/temporal/index.d.ts +20 -0
  350. package/dist/temporal/index.js +20 -0
  351. package/dist/temporal/invalidation/invalidationController.d.ts +1 -0
  352. package/dist/temporal/invalidation/invalidationController.js +1 -0
  353. package/dist/temporal/scheduler/browserSchedulerHost.d.ts +3 -0
  354. package/dist/temporal/scheduler/browserSchedulerHost.js +19 -0
  355. package/dist/temporal/scheduler/frameBudget.d.ts +1 -0
  356. package/dist/temporal/scheduler/frameBudget.js +1 -0
  357. package/dist/temporal/scheduler/temporalScheduler.d.ts +4 -0
  358. package/dist/temporal/scheduler/temporalScheduler.js +6 -0
  359. package/dist/temporal/scheduler/temporalSchedulerCore.d.ts +1 -0
  360. package/dist/temporal/scheduler/temporalSchedulerCore.js +1 -0
  361. package/dist/temporal/scheduler/visibilityPolicy.d.ts +2 -0
  362. package/dist/temporal/scheduler/visibilityPolicy.js +1 -0
  363. package/dist/temporal/transport/temporalTransport.d.ts +1 -0
  364. package/dist/temporal/transport/temporalTransport.js +1 -0
  365. package/dist/temporal/transport/transportScope.d.ts +7 -0
  366. package/dist/temporal/transport/transportScope.js +3 -0
  367. package/dist/temporal/transport/transportTimeline.d.ts +22 -0
  368. package/dist/temporal/transport/transportTimeline.js +36 -0
  369. package/dist/temporal/transport/transportTypes.d.ts +1 -0
  370. package/dist/temporal/transport/transportTypes.js +1 -0
  371. package/dist/workspace-contracts.d.ts +36 -0
  372. package/dist/workspace-contracts.js +28 -0
  373. package/package.json +57 -0
@@ -0,0 +1,90 @@
1
+ import { findPanel, findSplit, findStack, findStackContainingPanel, listPanels } from "../layout/selectors.js";
2
+ export function getWindowById(workspace, windowId) {
3
+ return workspace.windows.find((window) => window.id === windowId);
4
+ }
5
+ export function getActiveWindow(workspace) {
6
+ return getWindowById(workspace, workspace.activeWindowId) ?? workspace.windows[0];
7
+ }
8
+ export function findWindowContainingPanel(workspace, panelId) {
9
+ return workspace.windows.find((window) => findPanel(window.root, panelId));
10
+ }
11
+ export function findPanelInWorkspace(workspace, panelId) {
12
+ for (const window of workspace.windows) {
13
+ const match = findPanel(window.root, panelId);
14
+ if (match) {
15
+ return match;
16
+ }
17
+ }
18
+ return undefined;
19
+ }
20
+ export function findStackInWorkspace(workspace, stackId) {
21
+ for (const window of workspace.windows) {
22
+ const match = findStack(window.root, stackId);
23
+ if (match) {
24
+ return match;
25
+ }
26
+ }
27
+ return undefined;
28
+ }
29
+ export function findStackContainingPanelInWorkspace(workspace, panelId) {
30
+ for (const window of workspace.windows) {
31
+ const match = findStackContainingPanel(window.root, panelId);
32
+ if (match) {
33
+ return match;
34
+ }
35
+ }
36
+ return undefined;
37
+ }
38
+ export function findSplitInWorkspace(workspace, splitId) {
39
+ for (const window of workspace.windows) {
40
+ const match = findSplit(window.root, splitId);
41
+ if (match) {
42
+ return match;
43
+ }
44
+ }
45
+ return undefined;
46
+ }
47
+ export function listPanelsInWorkspace(workspace) {
48
+ return workspace.windows.flatMap((window) => listPanels(window.root));
49
+ }
50
+ export function findToolPlacementByToolId(workspace, toolId) {
51
+ for (const panel of listPanelsInWorkspace(workspace)) {
52
+ if (!panel.toolInstanceId) {
53
+ continue;
54
+ }
55
+ const toolInstance = workspace.toolInstances[panel.toolInstanceId];
56
+ if (toolInstance?.toolId === toolId) {
57
+ return {
58
+ panelId: panel.id,
59
+ toolInstanceId: toolInstance.id,
60
+ toolInstance
61
+ };
62
+ }
63
+ }
64
+ return undefined;
65
+ }
66
+ export function collectReferencedToolInstanceIds(workspace) {
67
+ const toolInstanceIds = new Set();
68
+ for (const panel of listPanelsInWorkspace(workspace)) {
69
+ if (panel.toolInstanceId) {
70
+ toolInstanceIds.add(panel.toolInstanceId);
71
+ }
72
+ }
73
+ return toolInstanceIds;
74
+ }
75
+ export function getPreferredFocusedPanelId(workspace) {
76
+ const activeWindow = getActiveWindow(workspace);
77
+ if (!activeWindow) {
78
+ return null;
79
+ }
80
+ return getPreferredFocusedPanelIdFromNode(activeWindow.root);
81
+ }
82
+ function getPreferredFocusedPanelIdFromNode(node) {
83
+ if (node.kind === 'stack') {
84
+ return node.activeChildId;
85
+ }
86
+ return getPreferredFocusedPanelIdFromNode(node.children[0]) ?? getPreferredFocusedPanelIdFromNode(node.children[1]);
87
+ }
88
+ export function listToolInstances(workspace) {
89
+ return Object.values(workspace.toolInstances);
90
+ }
@@ -0,0 +1,9 @@
1
+ import type { Workspace } from "./model.js";
2
+ export interface WorkspaceFocus {
3
+ activePanelId: string | null;
4
+ activeToolInstanceId: string | null;
5
+ }
6
+ export interface WorkspaceSessionState {
7
+ workspace: Workspace;
8
+ focus: WorkspaceFocus;
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { Workspace } from "./model.js";
2
+ export declare const WORKSPACE_SNAPSHOT_VERSION = 1;
3
+ export interface WorkspaceValidationIssue {
4
+ path: string;
5
+ message: string;
6
+ }
7
+ export declare function validateWorkspace(workspace: Workspace): WorkspaceValidationIssue[];
8
+ export declare function isWorkspaceSnapshot(value: unknown): value is Workspace;
9
+ export declare function parseWorkspaceSnapshot(value: unknown): Workspace | null;
10
+ export declare function validateWorkspaceSnapshot(value: unknown): WorkspaceValidationIssue[];
@@ -0,0 +1,231 @@
1
+ import { normalizeDesignSystemThemeSession } from "../design-system/themeSession.js";
2
+ import { isJsonObject } from "../shared/json.js";
3
+ import { validateLayout } from "../layout/validation.js";
4
+ import { collectReferencedToolInstanceIds } from "./selectors.js";
5
+ import { listPanels, listSplits, listStacks } from "../layout/selectors.js";
6
+ export const WORKSPACE_SNAPSHOT_VERSION = 1;
7
+ export function validateWorkspace(workspace) {
8
+ return validateWorkspaceSnapshot(workspace);
9
+ }
10
+ export function isWorkspaceSnapshot(value) {
11
+ return validateWorkspaceSnapshot(value).length === 0;
12
+ }
13
+ export function parseWorkspaceSnapshot(value) {
14
+ if (!isWorkspaceSnapshot(value)) {
15
+ return null;
16
+ }
17
+ const workspace = value;
18
+ return {
19
+ ...workspace,
20
+ fullscreenPanelId: workspace.fullscreenPanelId ?? null,
21
+ designSystemThemeSession: normalizeDesignSystemThemeSession(workspace.designSystemThemeSession) ?? null
22
+ };
23
+ }
24
+ export function validateWorkspaceSnapshot(value) {
25
+ const issues = [];
26
+ if (!isRecord(value)) {
27
+ return [{ path: 'workspace', message: 'Workspace snapshot must be an object.' }];
28
+ }
29
+ if (!isNonEmptyString(value.id)) {
30
+ issues.push({ path: 'workspace.id', message: 'Workspace id must be a non-empty string.' });
31
+ }
32
+ if (value.version !== WORKSPACE_SNAPSHOT_VERSION) {
33
+ issues.push({
34
+ path: 'workspace.version',
35
+ message: `Workspace version must equal ${WORKSPACE_SNAPSHOT_VERSION}.`
36
+ });
37
+ }
38
+ if (!isNonEmptyString(value.activeWindowId)) {
39
+ issues.push({ path: 'workspace.activeWindowId', message: 'activeWindowId must be a non-empty string.' });
40
+ }
41
+ if (value.fullscreenPanelId !== undefined &&
42
+ value.fullscreenPanelId !== null &&
43
+ !isNonEmptyString(value.fullscreenPanelId)) {
44
+ issues.push({
45
+ path: 'workspace.fullscreenPanelId',
46
+ message: 'fullscreenPanelId must be a non-empty string, null, or omitted.'
47
+ });
48
+ }
49
+ if (value.designSystemThemeSession !== undefined &&
50
+ value.designSystemThemeSession !== null &&
51
+ !normalizeDesignSystemThemeSession(value.designSystemThemeSession)) {
52
+ issues.push({
53
+ path: 'workspace.designSystemThemeSession',
54
+ message: 'designSystemThemeSession must be a valid design system theme session object, null, or omitted.'
55
+ });
56
+ }
57
+ if (!Array.isArray(value.windows) || value.windows.length === 0) {
58
+ issues.push({ path: 'workspace.windows', message: 'Workspace must contain at least one window.' });
59
+ }
60
+ if (!isRecord(value.toolInstances)) {
61
+ issues.push({ path: 'workspace.toolInstances', message: 'toolInstances must be an object map.' });
62
+ }
63
+ if (issues.length > 0) {
64
+ return issues;
65
+ }
66
+ const workspace = value;
67
+ const windowIds = new Set();
68
+ const toolInstanceIds = new Set();
69
+ const globalPanelIds = new Map();
70
+ const globalStackIds = new Map();
71
+ const globalSplitIds = new Map();
72
+ for (let index = 0; index < workspace.windows.length; index += 1) {
73
+ const window = workspace.windows[index];
74
+ const windowPath = `workspace.windows[${index}]`;
75
+ if (!isRecord(window)) {
76
+ issues.push({ path: windowPath, message: 'Window must be an object.' });
77
+ continue;
78
+ }
79
+ if (!isNonEmptyString(window.id)) {
80
+ issues.push({ path: `${windowPath}.id`, message: 'Window id must be a non-empty string.' });
81
+ }
82
+ else if (windowIds.has(window.id)) {
83
+ issues.push({ path: `${windowPath}.id`, message: 'Window ids must be unique.' });
84
+ }
85
+ else {
86
+ windowIds.add(window.id);
87
+ }
88
+ if (!isNonEmptyString(window.title)) {
89
+ issues.push({ path: `${windowPath}.title`, message: 'Window title must be a non-empty string.' });
90
+ }
91
+ if (!isRecord(window.root) || !('kind' in window.root)) {
92
+ issues.push({ path: `${windowPath}.root`, message: 'Window root must be a layout node.' });
93
+ continue;
94
+ }
95
+ const root = window.root;
96
+ issues.push(...validateLayout(root));
97
+ for (const panel of listPanels(root)) {
98
+ const previousPath = globalPanelIds.get(panel.id);
99
+ const currentPath = `${windowPath}.root.panel:${panel.id}`;
100
+ if (previousPath) {
101
+ issues.push({
102
+ path: currentPath,
103
+ message: `Panel id must be globally unique across windows (already used at ${previousPath}).`
104
+ });
105
+ }
106
+ else {
107
+ globalPanelIds.set(panel.id, currentPath);
108
+ }
109
+ }
110
+ for (const stack of listStacks(root)) {
111
+ const previousPath = globalStackIds.get(stack.id);
112
+ const currentPath = `${windowPath}.root.stack:${stack.id}`;
113
+ if (previousPath) {
114
+ issues.push({
115
+ path: currentPath,
116
+ message: `Stack id must be globally unique across windows (already used at ${previousPath}).`
117
+ });
118
+ }
119
+ else {
120
+ globalStackIds.set(stack.id, currentPath);
121
+ }
122
+ }
123
+ for (const split of listSplits(root)) {
124
+ const previousPath = globalSplitIds.get(split.id);
125
+ const currentPath = `${windowPath}.root.split:${split.id}`;
126
+ if (previousPath) {
127
+ issues.push({
128
+ path: currentPath,
129
+ message: `Split id must be globally unique across windows (already used at ${previousPath}).`
130
+ });
131
+ }
132
+ else {
133
+ globalSplitIds.set(split.id, currentPath);
134
+ }
135
+ }
136
+ }
137
+ if (!windowIds.has(workspace.activeWindowId)) {
138
+ issues.push({ path: 'workspace.activeWindowId', message: 'activeWindowId must reference an existing window.' });
139
+ }
140
+ if (workspace.fullscreenPanelId !== undefined && workspace.fullscreenPanelId !== null) {
141
+ if (!globalPanelIds.has(workspace.fullscreenPanelId)) {
142
+ issues.push({
143
+ path: 'workspace.fullscreenPanelId',
144
+ message: 'fullscreenPanelId must reference an existing panel when provided.'
145
+ });
146
+ }
147
+ }
148
+ for (const [toolInstanceId, entry] of Object.entries(workspace.toolInstances)) {
149
+ const toolPath = `workspace.toolInstances.${toolInstanceId}`;
150
+ if (!isRecord(entry)) {
151
+ issues.push({ path: toolPath, message: 'Tool instance must be an object.' });
152
+ continue;
153
+ }
154
+ if (toolInstanceIds.has(toolInstanceId)) {
155
+ issues.push({ path: toolPath, message: 'Tool instance ids must be unique.' });
156
+ }
157
+ toolInstanceIds.add(toolInstanceId);
158
+ if (entry.id !== toolInstanceId) {
159
+ issues.push({ path: `${toolPath}.id`, message: 'Tool instance id must match its map key.' });
160
+ }
161
+ if (!isNonEmptyString(entry.toolId)) {
162
+ issues.push({ path: `${toolPath}.toolId`, message: 'Tool instance toolId must be a non-empty string.' });
163
+ }
164
+ if (!isJsonObject(entry.state)) {
165
+ issues.push({ path: `${toolPath}.state`, message: 'Tool instance state must be a serializable object.' });
166
+ }
167
+ if (entry.panelTitleOverride !== null && !isNonEmptyString(entry.panelTitleOverride)) {
168
+ issues.push({
169
+ path: `${toolPath}.panelTitleOverride`,
170
+ message: 'Tool instance panelTitleOverride must be a non-empty string or null.'
171
+ });
172
+ }
173
+ if (entry.shellState !== undefined) {
174
+ if (!isRecord(entry.shellState)) {
175
+ issues.push({
176
+ path: `${toolPath}.shellState`,
177
+ message: 'Tool instance shellState must be an object when provided.'
178
+ });
179
+ }
180
+ else {
181
+ const status = entry.shellState.status;
182
+ if (status !== null && status !== undefined) {
183
+ if (!isRecord(status)) {
184
+ issues.push({
185
+ path: `${toolPath}.shellState.status`,
186
+ message: 'Tool instance shellState.status must be an object or null.'
187
+ });
188
+ }
189
+ else {
190
+ if (!isNonEmptyString(status.label)) {
191
+ issues.push({
192
+ path: `${toolPath}.shellState.status.label`,
193
+ message: 'Tool shell status label must be a non-empty string.'
194
+ });
195
+ }
196
+ if (status.tone !== undefined && !['neutral', 'attention', 'success'].includes(String(status.tone))) {
197
+ issues.push({
198
+ path: `${toolPath}.shellState.status.tone`,
199
+ message: 'Tool shell status tone must be neutral, attention, or success.'
200
+ });
201
+ }
202
+ }
203
+ }
204
+ }
205
+ }
206
+ }
207
+ const referencedToolInstanceIds = collectReferencedToolInstanceIds(workspace);
208
+ for (const toolInstanceId of referencedToolInstanceIds) {
209
+ if (!workspace.toolInstances[toolInstanceId]) {
210
+ issues.push({
211
+ path: `workspace.toolInstances.${toolInstanceId}`,
212
+ message: 'Every referenced tool instance must exist in the workspace map.'
213
+ });
214
+ }
215
+ }
216
+ for (const toolInstanceId of Object.keys(workspace.toolInstances)) {
217
+ if (!referencedToolInstanceIds.has(toolInstanceId)) {
218
+ issues.push({
219
+ path: `workspace.toolInstances.${toolInstanceId}`,
220
+ message: 'Tool instances must be referenced by a panel.'
221
+ });
222
+ }
223
+ }
224
+ return issues;
225
+ }
226
+ function isRecord(value) {
227
+ return !!value && typeof value === 'object' && !Array.isArray(value);
228
+ }
229
+ function isNonEmptyString(value) {
230
+ return typeof value === 'string' && value.trim().length > 0;
231
+ }
@@ -0,0 +1,15 @@
1
+ export { createWorkspace } from "./application/workspace/createWorkspace.js";
2
+ export { openTool } from "./application/workspace/openTool.js";
3
+ export { splitPanel } from "./application/workspace/splitPanel.js";
4
+ export { swapPanelArea } from "./application/workspace/swapPanelArea.js";
5
+ export { closePanel } from "./application/workspace/closePanel.js";
6
+ export { updateToolState } from "./application/workspace/updateToolState.js";
7
+ export { exportWorkspaceSnapshot, importWorkspaceSnapshot } from "./application/workspace/snapshots.js";
8
+ export { listPanelsInWorkspace } from "./domain/workspace/selectors.js";
9
+ export { validateWorkspace } from "./domain/workspace/validation.js";
10
+ export { InMemoryToolRegistry } from "./infrastructure/tools/InMemoryToolRegistry.js";
11
+ export type { Workspace } from "./domain/workspace/model.js";
12
+ export type { WorkspacePersistencePort } from "./domain/workspace/persistence.js";
13
+ export type { ToolDefinition, ToolInstance, ToolCatalogPort } from "./domain/tool/model.js";
14
+ export type { OpenToolResult } from "./application/workspace/openTool.js";
15
+ export type { WorkspaceSnapshotImportResult } from "./application/workspace/snapshots.js";
@@ -0,0 +1,12 @@
1
+ // Local, explicit hosting slice. This is not the complete Workbench API or a
2
+ // resource lifecycle runtime. Implementations and workspace schemas stay shared.
3
+ export { createWorkspace } from "./application/workspace/createWorkspace.js";
4
+ export { openTool } from "./application/workspace/openTool.js";
5
+ export { splitPanel } from "./application/workspace/splitPanel.js";
6
+ export { swapPanelArea } from "./application/workspace/swapPanelArea.js";
7
+ export { closePanel } from "./application/workspace/closePanel.js";
8
+ export { updateToolState } from "./application/workspace/updateToolState.js";
9
+ export { exportWorkspaceSnapshot, importWorkspaceSnapshot } from "./application/workspace/snapshots.js";
10
+ export { listPanelsInWorkspace } from "./domain/workspace/selectors.js";
11
+ export { validateWorkspace } from "./domain/workspace/validation.js";
12
+ export { InMemoryToolRegistry } from "./infrastructure/tools/InMemoryToolRegistry.js";
@@ -0,0 +1,111 @@
1
+ export * from "./boot/index.js";
2
+ export * from "./application/widgets/createWorkbenchWidgetAdapter.js";
3
+ export * from "./stage/index.js";
4
+ export * from "./application/shell/state.js";
5
+ export * from "./application/layout/surfaceCommandRouter.js";
6
+ export * from "./application/i18n/WorkbenchTranslationRegistry.js";
7
+ export * from "./application/workspace/closePanel.js";
8
+ export * from "./application/workspace/collapseSplit.js";
9
+ export * from "./application/workspace/collapseSplitBoundary.js";
10
+ export * from "./application/workspace/commands.js";
11
+ export * from "./application/workspace/createPeripheralBands.js";
12
+ export * from "./application/workspace/createWorkspace.js";
13
+ export * from "./application/workspace/detachPanelToWindow.js";
14
+ export * from "./application/workspace/reattachWorkspaceWindow.js";
15
+ export * from "./application/workspace/dockPanel.js";
16
+ export * from "./application/workspace/joinPanelArea.js";
17
+ export * from "./application/workspace/layoutInteraction.js";
18
+ export * from "./application/workspace/openTool.js";
19
+ export * from "./application/workspace/presets.js";
20
+ export * from "./application/workspace/presetArtifacts.js";
21
+ export * from "./application/workspace/resizeSplit.js";
22
+ export * from "./application/workspace/resizeSplitBoundary.js";
23
+ export * from "./application/workspace/runToolShellCommand.js";
24
+ export * from "./application/workspace/session.js";
25
+ export * from "./application/workspace/setPanelFullscreenToggleVisibility.js";
26
+ export * from "./application/workspace/setDesignSystemThemeSession.js";
27
+ export * from "./application/workspace/setStackHeaderVisibility.js";
28
+ export * from "./application/workspace/setActiveStackChild.js";
29
+ export * from "./application/workspace/setWorkspaceFullscreenPanel.js";
30
+ export * from "./application/workspace/setToolPanelTitleOverride.js";
31
+ export * from "./application/workspace/setToolShellStatus.js";
32
+ export * from "./application/workspace/snapshots.js";
33
+ export * from "./application/workspace/splitPanel.js";
34
+ export * from "./application/workspace/subdividePanel.js";
35
+ export * from "./application/workspace/swapPanelArea.js";
36
+ export * from "./application/workspace/toolRuntime.js";
37
+ export * from "./application/workspace/toolCapabilities.js";
38
+ export * from "./application/workspace/updateToolState.js";
39
+ export * from "./application/project/ProjectManifest.js";
40
+ export * from "./application/runtime/WorkbenchRuntimeCore.js";
41
+ export * from "./application/runtime/RuntimeObservabilityHub.js";
42
+ export * from "./application/runtime/RuntimeCheckpointStore.js";
43
+ export * from "./application/runtime/RuntimeOffloadManager.js";
44
+ export * from "./application/runtime/RuntimePlanEngine.js";
45
+ export * from "./application/runtime/RuntimeProjectionSession.js";
46
+ export * from "./application/runtime/RuntimeProjectionViewerSessionSync.js";
47
+ export * from "./application/experiment/ControlledExperimentRecorder.js";
48
+ export * from "./application/experiment/ControlledExperimentCampaign.js";
49
+ export * from "./application/repository/RepositoryPreflightEngine.js";
50
+ export * from "./domain/layout/model.js";
51
+ export * from "./domain/layout/interaction.js";
52
+ export * from "./domain/layout/selectors.js";
53
+ export * from "./domain/layout/surfaceProjection.js";
54
+ export * from "./domain/layout/validation.js";
55
+ export * from "./domain/composition/docking.js";
56
+ export * from "./domain/composition/dockArrangement.js";
57
+ export * from "./domain/launch/model.js";
58
+ export * from "./domain/design-system/themeSession.js";
59
+ export * from "./domain/experiment/model.js";
60
+ export * from "./domain/i18n/model.js";
61
+ export * from "./domain/i18n/languageRegistry.js";
62
+ export * from "./domain/icon/model.js";
63
+ export * from "./domain/input/interactionBindings.js";
64
+ export * from "./domain/panel/model.js";
65
+ export * from "./domain/presentation/readingLevel.js";
66
+ export * from "./domain/physics/model.js";
67
+ export * from "./domain/project/model.js";
68
+ export * from "./domain/repo-quality/model.js";
69
+ export * from "./domain/repository/model.js";
70
+ export * from "./domain/shell/model.js";
71
+ export * from "./domain/shell/runtime.js";
72
+ export * from "./domain/shared/id.js";
73
+ export * from "./domain/shared/json.js";
74
+ export * from "./domain/runtime/lifecycle.js";
75
+ export * from "./domain/runtime/checkpoint.js";
76
+ export * from "./domain/runtime/hydration.js";
77
+ export * from "./domain/runtime/initialization.js";
78
+ export * from "./domain/runtime/model.js";
79
+ export * from "./domain/runtime/observability.js";
80
+ export * from "./domain/runtime/offload.js";
81
+ export * from "./domain/runtime/plan.js";
82
+ export * from "./domain/runtime/qualityPolicy.js";
83
+ export * from "./domain/runtime/recovery.js";
84
+ export * from "./domain/runtime/suspension.js";
85
+ export * from "./domain/runtime/teardown.js";
86
+ export * from "./domain/surface/model.js";
87
+ export * from "./domain/temporal/model.js";
88
+ export * from "./domain/tool/model.js";
89
+ export * from "./domain/tool/runtime.js";
90
+ export * from "./domain/tool/internalTab.js";
91
+ export * from "./domain/widget/composition.js";
92
+ export * from "./domain/widget/model.js";
93
+ export * from "./domain/widget/toolDock.js";
94
+ export * from "./domain/workbench/model.js";
95
+ export * from "./domain/workbench/routing.js";
96
+ export * from "./domain/workspace/factories.js";
97
+ export * from "./domain/workspace/model.js";
98
+ export * from "./domain/workspace/persistence.js";
99
+ export * from "./domain/workspace/session.js";
100
+ export * from "./domain/workspace/selectors.js";
101
+ export * from "./domain/workspace/validation.js";
102
+ export * from "./infrastructure/audio/WorkbenchAudioManager.js";
103
+ export * from "./infrastructure/backend/HttpWorkbenchBackendClient.js";
104
+ export * from "./infrastructure/persistence/LocalWorkspacePersistence.js";
105
+ export * from "./infrastructure/surfaces/InMemorySurfaceViewerRegistry.js";
106
+ export * from "./infrastructure/temporal/InMemoryTemporalDialectRegistry.js";
107
+ export * from "./infrastructure/tools/InMemoryToolRegistry.js";
108
+ export * from "./infrastructure/workbenches/InMemoryWorkbenchRegistry.js";
109
+ export * from "./infrastructure/widgets/InMemoryShellWidgetRegistry.js";
110
+ export * from "./infrastructure/widgets/InMemoryWorkbenchWidgetRegistry.js";
111
+ export * from "./temporal/index.js";
package/dist/index.js ADDED
@@ -0,0 +1,111 @@
1
+ export * from "./boot/index.js";
2
+ export * from "./application/widgets/createWorkbenchWidgetAdapter.js";
3
+ export * from "./stage/index.js";
4
+ export * from "./application/shell/state.js";
5
+ export * from "./application/layout/surfaceCommandRouter.js";
6
+ export * from "./application/i18n/WorkbenchTranslationRegistry.js";
7
+ export * from "./application/workspace/closePanel.js";
8
+ export * from "./application/workspace/collapseSplit.js";
9
+ export * from "./application/workspace/collapseSplitBoundary.js";
10
+ export * from "./application/workspace/commands.js";
11
+ export * from "./application/workspace/createPeripheralBands.js";
12
+ export * from "./application/workspace/createWorkspace.js";
13
+ export * from "./application/workspace/detachPanelToWindow.js";
14
+ export * from "./application/workspace/reattachWorkspaceWindow.js";
15
+ export * from "./application/workspace/dockPanel.js";
16
+ export * from "./application/workspace/joinPanelArea.js";
17
+ export * from "./application/workspace/layoutInteraction.js";
18
+ export * from "./application/workspace/openTool.js";
19
+ export * from "./application/workspace/presets.js";
20
+ export * from "./application/workspace/presetArtifacts.js";
21
+ export * from "./application/workspace/resizeSplit.js";
22
+ export * from "./application/workspace/resizeSplitBoundary.js";
23
+ export * from "./application/workspace/runToolShellCommand.js";
24
+ export * from "./application/workspace/session.js";
25
+ export * from "./application/workspace/setPanelFullscreenToggleVisibility.js";
26
+ export * from "./application/workspace/setDesignSystemThemeSession.js";
27
+ export * from "./application/workspace/setStackHeaderVisibility.js";
28
+ export * from "./application/workspace/setActiveStackChild.js";
29
+ export * from "./application/workspace/setWorkspaceFullscreenPanel.js";
30
+ export * from "./application/workspace/setToolPanelTitleOverride.js";
31
+ export * from "./application/workspace/setToolShellStatus.js";
32
+ export * from "./application/workspace/snapshots.js";
33
+ export * from "./application/workspace/splitPanel.js";
34
+ export * from "./application/workspace/subdividePanel.js";
35
+ export * from "./application/workspace/swapPanelArea.js";
36
+ export * from "./application/workspace/toolRuntime.js";
37
+ export * from "./application/workspace/toolCapabilities.js";
38
+ export * from "./application/workspace/updateToolState.js";
39
+ export * from "./application/project/ProjectManifest.js";
40
+ export * from "./application/runtime/WorkbenchRuntimeCore.js";
41
+ export * from "./application/runtime/RuntimeObservabilityHub.js";
42
+ export * from "./application/runtime/RuntimeCheckpointStore.js";
43
+ export * from "./application/runtime/RuntimeOffloadManager.js";
44
+ export * from "./application/runtime/RuntimePlanEngine.js";
45
+ export * from "./application/runtime/RuntimeProjectionSession.js";
46
+ export * from "./application/runtime/RuntimeProjectionViewerSessionSync.js";
47
+ export * from "./application/experiment/ControlledExperimentRecorder.js";
48
+ export * from "./application/experiment/ControlledExperimentCampaign.js";
49
+ export * from "./application/repository/RepositoryPreflightEngine.js";
50
+ export * from "./domain/layout/model.js";
51
+ export * from "./domain/layout/interaction.js";
52
+ export * from "./domain/layout/selectors.js";
53
+ export * from "./domain/layout/surfaceProjection.js";
54
+ export * from "./domain/layout/validation.js";
55
+ export * from "./domain/composition/docking.js";
56
+ export * from "./domain/composition/dockArrangement.js";
57
+ export * from "./domain/launch/model.js";
58
+ export * from "./domain/design-system/themeSession.js";
59
+ export * from "./domain/experiment/model.js";
60
+ export * from "./domain/i18n/model.js";
61
+ export * from "./domain/i18n/languageRegistry.js";
62
+ export * from "./domain/icon/model.js";
63
+ export * from "./domain/input/interactionBindings.js";
64
+ export * from "./domain/panel/model.js";
65
+ export * from "./domain/presentation/readingLevel.js";
66
+ export * from "./domain/physics/model.js";
67
+ export * from "./domain/project/model.js";
68
+ export * from "./domain/repo-quality/model.js";
69
+ export * from "./domain/repository/model.js";
70
+ export * from "./domain/shell/model.js";
71
+ export * from "./domain/shell/runtime.js";
72
+ export * from "./domain/shared/id.js";
73
+ export * from "./domain/shared/json.js";
74
+ export * from "./domain/runtime/lifecycle.js";
75
+ export * from "./domain/runtime/checkpoint.js";
76
+ export * from "./domain/runtime/hydration.js";
77
+ export * from "./domain/runtime/initialization.js";
78
+ export * from "./domain/runtime/model.js";
79
+ export * from "./domain/runtime/observability.js";
80
+ export * from "./domain/runtime/offload.js";
81
+ export * from "./domain/runtime/plan.js";
82
+ export * from "./domain/runtime/qualityPolicy.js";
83
+ export * from "./domain/runtime/recovery.js";
84
+ export * from "./domain/runtime/suspension.js";
85
+ export * from "./domain/runtime/teardown.js";
86
+ export * from "./domain/surface/model.js";
87
+ export * from "./domain/temporal/model.js";
88
+ export * from "./domain/tool/model.js";
89
+ export * from "./domain/tool/runtime.js";
90
+ export * from "./domain/tool/internalTab.js";
91
+ export * from "./domain/widget/composition.js";
92
+ export * from "./domain/widget/model.js";
93
+ export * from "./domain/widget/toolDock.js";
94
+ export * from "./domain/workbench/model.js";
95
+ export * from "./domain/workbench/routing.js";
96
+ export * from "./domain/workspace/factories.js";
97
+ export * from "./domain/workspace/model.js";
98
+ export * from "./domain/workspace/persistence.js";
99
+ export * from "./domain/workspace/session.js";
100
+ export * from "./domain/workspace/selectors.js";
101
+ export * from "./domain/workspace/validation.js";
102
+ export * from "./infrastructure/audio/WorkbenchAudioManager.js";
103
+ export * from "./infrastructure/backend/HttpWorkbenchBackendClient.js";
104
+ export * from "./infrastructure/persistence/LocalWorkspacePersistence.js";
105
+ export * from "./infrastructure/surfaces/InMemorySurfaceViewerRegistry.js";
106
+ export * from "./infrastructure/temporal/InMemoryTemporalDialectRegistry.js";
107
+ export * from "./infrastructure/tools/InMemoryToolRegistry.js";
108
+ export * from "./infrastructure/workbenches/InMemoryWorkbenchRegistry.js";
109
+ export * from "./infrastructure/widgets/InMemoryShellWidgetRegistry.js";
110
+ export * from "./infrastructure/widgets/InMemoryWorkbenchWidgetRegistry.js";
111
+ export * from "./temporal/index.js";
@@ -0,0 +1,36 @@
1
+ export interface WorkbenchAudioChannelDescriptor<TChannelId extends string = string> {
2
+ id: TChannelId;
3
+ gainNode: GainNode;
4
+ volume: number;
5
+ muted: boolean;
6
+ }
7
+ export interface WorkbenchAudioManagerOptions {
8
+ masterVolume?: number;
9
+ masterMuted?: boolean;
10
+ }
11
+ export interface WorkbenchAudioChannelOptions {
12
+ volume?: number;
13
+ muted?: boolean;
14
+ }
15
+ export declare class WorkbenchAudioManager<TChannelId extends string = string> {
16
+ private readonly audioContext;
17
+ private readonly channels;
18
+ private readonly masterGainNode;
19
+ private masterVolume;
20
+ private masterMuted;
21
+ constructor(audioContext: AudioContext, options?: WorkbenchAudioManagerOptions);
22
+ get masterGain(): GainNode;
23
+ get masterVolumeValue(): number;
24
+ get isMasterMuted(): boolean;
25
+ getChannelIds(): TChannelId[];
26
+ ensureChannel(id: TChannelId, options?: WorkbenchAudioChannelOptions): WorkbenchAudioChannelDescriptor<TChannelId>;
27
+ getChannel(id: TChannelId): WorkbenchAudioChannelDescriptor<TChannelId> | null;
28
+ connect(node: AudioNode, channelId: TChannelId): AudioNode;
29
+ setChannelVolume(channelId: TChannelId, volume: number): WorkbenchAudioChannelDescriptor<TChannelId>;
30
+ setChannelMuted(channelId: TChannelId, muted: boolean): WorkbenchAudioChannelDescriptor<TChannelId>;
31
+ setMasterVolume(volume: number): void;
32
+ setMasterMuted(muted: boolean): void;
33
+ dispose(): void;
34
+ private applyGainValue;
35
+ private normalizeGainValue;
36
+ }