@ankhorage/studio 6.0.2 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/README.md +23 -7
  2. package/apm/update.json +2 -2
  3. package/dist/authSettings.d.ts +3 -3
  4. package/dist/authSettings.js +3 -3
  5. package/dist/bindingDiagnosticsModel.d.ts +1 -1
  6. package/dist/bindingDiagnosticsModel.d.ts.map +1 -1
  7. package/dist/bindingDiagnosticsModel.js +10 -10
  8. package/dist/bindingDiagnosticsModel.js.map +1 -1
  9. package/dist/bindingMetadataModel.d.ts +0 -2
  10. package/dist/bindingMetadataModel.d.ts.map +1 -1
  11. package/dist/bindingMetadataModel.js +3 -4
  12. package/dist/bindingMetadataModel.js.map +1 -1
  13. package/dist/bindingMutationModel.d.ts +4 -4
  14. package/dist/bindingMutationModel.d.ts.map +1 -1
  15. package/dist/bindingMutationModel.js +7 -8
  16. package/dist/bindingMutationModel.js.map +1 -1
  17. package/dist/bindingOperationModel.d.ts +2 -2
  18. package/dist/bindingOperationModel.js +7 -7
  19. package/dist/bindingSchemaModel.d.ts +3 -3
  20. package/dist/bindingSchemaModel.js +5 -5
  21. package/dist/canExecuteProjectDeployRelease.d.ts +1 -1
  22. package/dist/canExecuteProjectDeployRelease.js +1 -1
  23. package/dist/canvasDragModel.d.ts +5 -7
  24. package/dist/canvasDragModel.d.ts.map +1 -1
  25. package/dist/canvasDragModel.js +9 -16
  26. package/dist/canvasDragModel.js.map +1 -1
  27. package/dist/canvasDropZones.d.ts +1 -2
  28. package/dist/canvasDropZones.d.ts.map +1 -1
  29. package/dist/canvasDropZones.js +1 -2
  30. package/dist/canvasDropZones.js.map +1 -1
  31. package/dist/cli/index.js +1 -1
  32. package/dist/contractGuards.d.ts +2 -2
  33. package/dist/contractGuards.js +2 -2
  34. package/dist/core/StudioContext.d.ts +1 -1
  35. package/dist/core/StudioContext.js +1 -1
  36. package/dist/core/StudioProvider.js +5 -5
  37. package/dist/core/mediaAuthoringHostClient.d.ts +2 -2
  38. package/dist/core/mediaAuthoringHostClient.js +2 -2
  39. package/dist/core/mediaRemovalCoordinator.d.ts +1 -1
  40. package/dist/core/mediaRemovalCoordinator.d.ts.map +1 -1
  41. package/dist/core/mediaRemovalCoordinator.js +9 -10
  42. package/dist/core/mediaRemovalCoordinator.js.map +1 -1
  43. package/dist/core/studioManifestDraftModel.d.ts +7 -7
  44. package/dist/core/studioManifestDraftModel.js +7 -7
  45. package/dist/core/studioManifestPersistenceModel.d.ts +1 -1
  46. package/dist/core/studioManifestPersistenceModel.js +1 -1
  47. package/dist/createProjectDeployRequest.d.ts +0 -1
  48. package/dist/createProjectDeployRequest.d.ts.map +1 -1
  49. package/dist/createProjectDeployRequest.js +0 -1
  50. package/dist/createProjectDeployRequest.js.map +1 -1
  51. package/dist/externalApiApi.d.ts +3 -3
  52. package/dist/externalApiApi.d.ts.map +1 -1
  53. package/dist/externalApiApi.js +24 -40
  54. package/dist/externalApiApi.js.map +1 -1
  55. package/dist/features/project-updates/adapters/inbound/ProjectUpdateDashboardPanel.d.ts.map +1 -1
  56. package/dist/features/project-updates/adapters/inbound/ProjectUpdateDashboardPanel.js +12 -4
  57. package/dist/features/project-updates/adapters/inbound/ProjectUpdateDashboardPanel.js.map +1 -1
  58. package/dist/features/project-updates/adapters/outbound/createStudioGeneratedPackagePolicyProjectReadPort.d.ts +4 -0
  59. package/dist/features/project-updates/adapters/outbound/createStudioGeneratedPackagePolicyProjectReadPort.d.ts.map +1 -0
  60. package/dist/features/project-updates/adapters/outbound/createStudioGeneratedPackagePolicyProjectReadPort.js +30 -0
  61. package/dist/features/project-updates/adapters/outbound/createStudioGeneratedPackagePolicyProjectReadPort.js.map +1 -0
  62. package/dist/features/project-updates/adapters/outbound/getGeneratedPackagePolicy.js +0 -8
  63. package/dist/features/project-updates/adapters/outbound/getGeneratedPackagePolicy.js.map +1 -1
  64. package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyDescriptor.d.ts +4 -0
  65. package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyDescriptor.d.ts.map +1 -0
  66. package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyDescriptor.js +21 -0
  67. package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyDescriptor.js.map +1 -0
  68. package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyHandler.d.ts +4 -0
  69. package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyHandler.d.ts.map +1 -0
  70. package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyHandler.js +11 -0
  71. package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyHandler.js.map +1 -0
  72. package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyProjectionDescriptor.d.ts +4 -0
  73. package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyProjectionDescriptor.d.ts.map +1 -0
  74. package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyProjectionDescriptor.js +10 -0
  75. package/dist/features/project-updates/adapters/outbound/readStudioGeneratedPackagePolicyProjectionDescriptor.js.map +1 -0
  76. package/dist/features/project-updates/application/resolveProjectUpdateDashboardPresentation.d.ts +11 -0
  77. package/dist/features/project-updates/application/resolveProjectUpdateDashboardPresentation.d.ts.map +1 -1
  78. package/dist/features/project-updates/application/resolveProjectUpdateDashboardPresentation.js +23 -8
  79. package/dist/features/project-updates/application/resolveProjectUpdateDashboardPresentation.js.map +1 -1
  80. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyApplyOwnerStepPort.d.ts +4 -0
  81. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyApplyOwnerStepPort.d.ts.map +1 -0
  82. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyApplyOwnerStepPort.js +176 -0
  83. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyApplyOwnerStepPort.js.map +1 -0
  84. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyExtensionEvidencePort.d.ts +5 -0
  85. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyExtensionEvidencePort.d.ts.map +1 -0
  86. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyExtensionEvidencePort.js +148 -0
  87. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyExtensionEvidencePort.js.map +1 -0
  88. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyProtocolPort.d.ts +5 -0
  89. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyProtocolPort.d.ts.map +1 -0
  90. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyProtocolPort.js +219 -0
  91. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyProtocolPort.js.map +1 -0
  92. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyUpdatePorts.d.ts +9 -0
  93. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyUpdatePorts.d.ts.map +1 -0
  94. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyUpdatePorts.js +17 -0
  95. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyUpdatePorts.js.map +1 -0
  96. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyVerifyOwnerStepPort.d.ts +4 -0
  97. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyVerifyOwnerStepPort.d.ts.map +1 -0
  98. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyVerifyOwnerStepPort.js +80 -0
  99. package/dist/features/project-updates/composition/createStudioGeneratedPackagePolicyVerifyOwnerStepPort.js.map +1 -0
  100. package/dist/features/project-updates/composition/createStudioProjectUpdateService.d.ts.map +1 -1
  101. package/dist/features/project-updates/composition/createStudioProjectUpdateService.js +11 -9
  102. package/dist/features/project-updates/composition/createStudioProjectUpdateService.js.map +1 -1
  103. package/dist/features/project-updates/constants.d.ts +2 -0
  104. package/dist/features/project-updates/constants.d.ts.map +1 -1
  105. package/dist/features/project-updates/constants.js +2 -0
  106. package/dist/features/project-updates/constants.js.map +1 -1
  107. package/dist/features/project-updates/domain/applyGeneratedPackagePolicy.d.ts.map +1 -1
  108. package/dist/features/project-updates/domain/applyGeneratedPackagePolicy.js +6 -3
  109. package/dist/features/project-updates/domain/applyGeneratedPackagePolicy.js.map +1 -1
  110. package/dist/features/project-updates/domain/createStudioGeneratedPackagePolicyExecutionContext.d.ts +4 -0
  111. package/dist/features/project-updates/domain/createStudioGeneratedPackagePolicyExecutionContext.d.ts.map +1 -0
  112. package/dist/features/project-updates/domain/createStudioGeneratedPackagePolicyExecutionContext.js +11 -0
  113. package/dist/features/project-updates/domain/createStudioGeneratedPackagePolicyExecutionContext.js.map +1 -0
  114. package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyInventorySource.d.ts +5 -0
  115. package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyInventorySource.d.ts.map +1 -0
  116. package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyInventorySource.js +22 -0
  117. package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyInventorySource.js.map +1 -0
  118. package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyMutationTarget.d.ts +10 -0
  119. package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyMutationTarget.d.ts.map +1 -0
  120. package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyMutationTarget.js +21 -0
  121. package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyMutationTarget.js.map +1 -0
  122. package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyStatusSource.d.ts +5 -0
  123. package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyStatusSource.d.ts.map +1 -0
  124. package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyStatusSource.js +18 -0
  125. package/dist/features/project-updates/domain/readStudioGeneratedPackagePolicyStatusSource.js.map +1 -0
  126. package/dist/host/apis/createProjectEndpointCredentialResolver.d.ts +1 -1
  127. package/dist/host/apis/createProjectEndpointCredentialResolver.js +1 -1
  128. package/dist/host/apis/createTrustedEndpointTestFetch.d.ts +1 -1
  129. package/dist/host/apis/createTrustedEndpointTestFetch.js +1 -1
  130. package/dist/host/apis/createTrustedExternalApiFetch.d.ts +1 -1
  131. package/dist/host/apis/createTrustedExternalApiFetch.js +1 -1
  132. package/dist/host/apis/requestTrustedExternalApi.d.ts +3 -12
  133. package/dist/host/apis/requestTrustedExternalApi.d.ts.map +1 -1
  134. package/dist/host/apis/requestTrustedExternalApi.js +3 -53
  135. package/dist/host/apis/requestTrustedExternalApi.js.map +1 -1
  136. package/dist/host/apis/sanitizeExternalApiOperationTestResult.d.ts +1 -1
  137. package/dist/host/apis/sanitizeExternalApiOperationTestResult.js +1 -1
  138. package/dist/host/apis/studioExternalApiService.d.ts +1 -1
  139. package/dist/host/apis/studioExternalApiService.d.ts.map +1 -1
  140. package/dist/host/apis/studioExternalApiService.js +10 -17
  141. package/dist/host/apis/studioExternalApiService.js.map +1 -1
  142. package/dist/host/auth/projectAuthHealthService.d.ts +1 -1
  143. package/dist/host/auth/projectAuthHealthService.js +1 -1
  144. package/dist/host/createStudioHost.d.ts +1 -1
  145. package/dist/host/createStudioHost.js +1 -1
  146. package/dist/host/deploy/serializeProjectDeploySecret.d.ts.map +1 -1
  147. package/dist/host/deploy/serializeProjectDeploySecret.js +2 -9
  148. package/dist/host/deploy/serializeProjectDeploySecret.js.map +1 -1
  149. package/dist/host/http/apiRoutes.d.ts +1 -1
  150. package/dist/host/http/apiRoutes.d.ts.map +1 -1
  151. package/dist/host/http/apiRoutes.js +19 -29
  152. package/dist/host/http/apiRoutes.js.map +1 -1
  153. package/dist/host/http/authRoutes.js +1 -1
  154. package/dist/host/http/deployRoutes.d.ts.map +1 -1
  155. package/dist/host/http/deployRoutes.js +5 -11
  156. package/dist/host/http/deployRoutes.js.map +1 -1
  157. package/dist/host/http/mediaRoutes.d.ts.map +1 -1
  158. package/dist/host/http/mediaRoutes.js +10 -16
  159. package/dist/host/http/mediaRoutes.js.map +1 -1
  160. package/dist/host/http/moduleRoutes.d.ts.map +1 -1
  161. package/dist/host/http/moduleRoutes.js +8 -20
  162. package/dist/host/http/moduleRoutes.js.map +1 -1
  163. package/dist/host/http/secretRoutes.d.ts.map +1 -1
  164. package/dist/host/http/secretRoutes.js +10 -20
  165. package/dist/host/http/secretRoutes.js.map +1 -1
  166. package/dist/host/http/security.d.ts +1 -1
  167. package/dist/host/http/security.js +1 -1
  168. package/dist/host/http/server.d.ts +1 -1
  169. package/dist/host/http/server.js +1 -1
  170. package/dist/host/http/serverWithSecrets.d.ts +1 -1
  171. package/dist/host/http/serverWithSecrets.js +1 -1
  172. package/dist/host/layout/auth/resolveAuthLayoutPlan.d.ts +1 -1
  173. package/dist/host/layout/auth/resolveAuthLayoutPlan.d.ts.map +1 -1
  174. package/dist/host/layout/auth/resolveAuthLayoutPlan.js +7 -13
  175. package/dist/host/layout/auth/resolveAuthLayoutPlan.js.map +1 -1
  176. package/dist/host/layout/generatedImportComposer.d.ts +1 -1
  177. package/dist/host/layout/generatedImportComposer.js +3 -1
  178. package/dist/host/layout/generatedImportComposer.js.map +1 -1
  179. package/dist/host/layout/layoutGenerator.d.ts +2 -1
  180. package/dist/host/layout/layoutGenerator.d.ts.map +1 -1
  181. package/dist/host/layout/layoutGenerator.js +117 -69
  182. package/dist/host/layout/layoutGenerator.js.map +1 -1
  183. package/dist/host/layout/templates/auth/navigation.d.ts.map +1 -1
  184. package/dist/host/layout/templates/auth/navigation.js +2 -2
  185. package/dist/host/layout/templates/auth/navigation.js.map +1 -1
  186. package/dist/host/layout/templates/auth/oauth.d.ts.map +1 -1
  187. package/dist/host/layout/templates/auth/oauth.js +2 -8
  188. package/dist/host/layout/templates/auth/oauth.js.map +1 -1
  189. package/dist/host/layout/templates/auth/oauthCompletion.d.ts.map +1 -1
  190. package/dist/host/layout/templates/auth/oauthCompletion.js +2 -2
  191. package/dist/host/layout/templates/auth/oauthCompletion.js.map +1 -1
  192. package/dist/host/layout/templates/auth/screen.d.ts +1 -1
  193. package/dist/host/layout/templates/auth/screen.d.ts.map +1 -1
  194. package/dist/host/layout/templates/auth/screen.js +19 -137
  195. package/dist/host/layout/templates/auth/screen.js.map +1 -1
  196. package/dist/host/layout/templates/auth/screenController.d.ts.map +1 -1
  197. package/dist/host/layout/templates/auth/screenController.js +4 -6
  198. package/dist/host/layout/templates/auth/screenController.js.map +1 -1
  199. package/dist/host/layout/templates/rootLayout.d.ts +1 -1
  200. package/dist/host/layout/templates/rootLayout.js +4 -4
  201. package/dist/host/layout/templates/screen.d.ts +1 -1
  202. package/dist/host/layout/templates/screen.js +1 -1
  203. package/dist/host/layout/templates/utils/routes.d.ts +2 -2
  204. package/dist/host/layout/templates/utils/routes.js +2 -2
  205. package/dist/host/layout/templates/utils/strings.d.ts +1 -1
  206. package/dist/host/layout/templates/utils/strings.js +1 -1
  207. package/dist/host/layout/utils/escapeStringLiteral.d.ts +0 -1
  208. package/dist/host/layout/utils/escapeStringLiteral.d.ts.map +1 -1
  209. package/dist/host/layout/utils/escapeStringLiteral.js +2 -6
  210. package/dist/host/layout/utils/escapeStringLiteral.js.map +1 -1
  211. package/dist/host/manifestSystem/index.d.ts +1 -1
  212. package/dist/host/manifestSystem/index.js +1 -1
  213. package/dist/host/media/projectAuthoringAssetWriter.d.ts +0 -1
  214. package/dist/host/media/projectAuthoringAssetWriter.d.ts.map +1 -1
  215. package/dist/host/media/projectAuthoringAssetWriter.js +8 -4
  216. package/dist/host/media/projectAuthoringAssetWriter.js.map +1 -1
  217. package/dist/host/media/removeProjectAuthoringAsset.d.ts +0 -1
  218. package/dist/host/media/removeProjectAuthoringAsset.d.ts.map +1 -1
  219. package/dist/host/media/removeProjectAuthoringAsset.js +6 -8
  220. package/dist/host/media/removeProjectAuthoringAsset.js.map +1 -1
  221. package/dist/host/modules/runtime/LocalFsTargetAdapter.d.ts +1 -1
  222. package/dist/host/modules/runtime/LocalFsTargetAdapter.js +2 -2
  223. package/dist/host/orchestrator/GeneratedRouteFileOwnership.d.ts +1 -1
  224. package/dist/host/orchestrator/GeneratedRouteFileOwnership.d.ts.map +1 -1
  225. package/dist/host/orchestrator/GeneratedRouteFileOwnership.js +8 -21
  226. package/dist/host/orchestrator/GeneratedRouteFileOwnership.js.map +1 -1
  227. package/dist/host/orchestrator/generatedAppFiles.d.ts +1 -4
  228. package/dist/host/orchestrator/generatedAppFiles.d.ts.map +1 -1
  229. package/dist/host/orchestrator/generatedAppFiles.js +4 -16
  230. package/dist/host/orchestrator/generatedAppFiles.js.map +1 -1
  231. package/dist/host/orchestrator/moduleManager.d.ts +1 -1
  232. package/dist/host/orchestrator/moduleManager.d.ts.map +1 -1
  233. package/dist/host/orchestrator/moduleManager.js +2 -8
  234. package/dist/host/orchestrator/moduleManager.js.map +1 -1
  235. package/dist/host/orchestrator/projectManager.d.ts +2 -2
  236. package/dist/host/orchestrator/projectManager.d.ts.map +1 -1
  237. package/dist/host/orchestrator/projectManager.js +9 -24
  238. package/dist/host/orchestrator/projectManager.js.map +1 -1
  239. package/dist/host/orchestrator/projectPaths.d.ts +3 -3
  240. package/dist/host/orchestrator/projectPaths.js +3 -3
  241. package/dist/host/orchestrator/projectStore.d.ts +1 -1
  242. package/dist/host/orchestrator/projectStore.js +1 -1
  243. package/dist/host/orchestrator/projectTargets.d.ts +1 -1
  244. package/dist/host/orchestrator/projectTargets.js +2 -2
  245. package/dist/host/orchestrator/reconcileProjectPackageRootAsync.d.ts +1 -1
  246. package/dist/host/orchestrator/reconcileProjectPackageRootAsync.js +1 -1
  247. package/dist/host/orchestrator/resolveMutations.d.ts +1 -1
  248. package/dist/host/orchestrator/resolveMutations.js +1 -1
  249. package/dist/host/orchestrator/scaffolder.d.ts +2 -4
  250. package/dist/host/orchestrator/scaffolder.d.ts.map +1 -1
  251. package/dist/host/orchestrator/scaffolder.js +12 -31
  252. package/dist/host/orchestrator/scaffolder.js.map +1 -1
  253. package/dist/host/orchestrator/studioInfraUp.d.ts +1 -1
  254. package/dist/host/orchestrator/studioInfraUp.js +1 -1
  255. package/dist/host/secrets/bunSupabaseVaultClient.d.ts +1 -1
  256. package/dist/host/secrets/bunSupabaseVaultClient.d.ts.map +1 -1
  257. package/dist/host/secrets/bunSupabaseVaultClient.js +6 -4
  258. package/dist/host/secrets/bunSupabaseVaultClient.js.map +1 -1
  259. package/dist/host/secrets/projectSecretService.d.ts +2 -2
  260. package/dist/host/secrets/projectSecretService.d.ts.map +1 -1
  261. package/dist/host/secrets/projectSecretService.js +9 -24
  262. package/dist/host/secrets/projectSecretService.js.map +1 -1
  263. package/dist/host/secrets/trustedOAuthInfraEnvironment.d.ts +2 -2
  264. package/dist/host/secrets/trustedOAuthInfraEnvironment.js +3 -3
  265. package/dist/host/templates/index.d.ts +2 -2
  266. package/dist/host/templates/index.js +2 -2
  267. package/dist/host/utils/requirementsInference.d.ts +2 -2
  268. package/dist/host/utils/requirementsInference.js +2 -2
  269. package/dist/host/utils/workspaceRoot.d.ts +1 -1
  270. package/dist/host/utils/workspaceRoot.d.ts.map +1 -1
  271. package/dist/host/utils/workspaceRoot.js +6 -10
  272. package/dist/host/utils/workspaceRoot.js.map +1 -1
  273. package/dist/index.d.ts +19 -23
  274. package/dist/index.d.ts.map +1 -1
  275. package/dist/index.js +29 -76
  276. package/dist/index.js.map +1 -1
  277. package/dist/insertModalModel.d.ts +2 -4
  278. package/dist/insertModalModel.d.ts.map +1 -1
  279. package/dist/insertModalModel.js +2 -4
  280. package/dist/insertModalModel.js.map +1 -1
  281. package/dist/manifestState.d.ts +45 -45
  282. package/dist/manifestState.js +58 -58
  283. package/dist/manifestSync.d.ts +3 -3
  284. package/dist/manifestSync.d.ts.map +1 -1
  285. package/dist/manifestSync.js +5 -4
  286. package/dist/manifestSync.js.map +1 -1
  287. package/dist/mediaAuthoringModel.d.ts +6 -8
  288. package/dist/mediaAuthoringModel.d.ts.map +1 -1
  289. package/dist/mediaAuthoringModel.js +17 -36
  290. package/dist/mediaAuthoringModel.js.map +1 -1
  291. package/dist/moduleAdminApi.d.ts +7 -9
  292. package/dist/moduleAdminApi.d.ts.map +1 -1
  293. package/dist/moduleAdminApi.js +15 -22
  294. package/dist/moduleAdminApi.js.map +1 -1
  295. package/dist/normalizeExternalApiId.d.ts +0 -1
  296. package/dist/normalizeExternalApiId.d.ts.map +1 -1
  297. package/dist/normalizeExternalApiId.js +2 -7
  298. package/dist/normalizeExternalApiId.js.map +1 -1
  299. package/dist/projectAuthApi.d.ts +1 -1
  300. package/dist/projectAuthApi.js +8 -9
  301. package/dist/projectAuthApi.js.map +1 -1
  302. package/dist/projectAuthHealth.d.ts +1 -1
  303. package/dist/projectAuthHealth.d.ts.map +1 -1
  304. package/dist/projectAuthHealth.js +10 -11
  305. package/dist/projectAuthHealth.js.map +1 -1
  306. package/dist/projectAuthRuntimeDiagnostics.d.ts +1 -1
  307. package/dist/projectAuthRuntimeDiagnostics.js +16 -24
  308. package/dist/projectAuthRuntimeDiagnostics.js.map +1 -1
  309. package/dist/projectDeployApi.d.ts +17 -17
  310. package/dist/projectDeployApi.js +18 -18
  311. package/dist/projectDeployApiError.d.ts +1 -1
  312. package/dist/projectDeployApiError.js +1 -1
  313. package/dist/projectDeployAssetPicker.d.ts +1 -1
  314. package/dist/projectDeployAssetPicker.d.ts.map +1 -1
  315. package/dist/projectDeployAssetPicker.js +10 -9
  316. package/dist/projectDeployAssetPicker.js.map +1 -1
  317. package/dist/projectDeployClient.d.ts +3 -3
  318. package/dist/projectDeployClient.d.ts.map +1 -1
  319. package/dist/projectDeployClient.js +42 -95
  320. package/dist/projectDeployClient.js.map +1 -1
  321. package/dist/projectIdentity.d.ts +1 -2
  322. package/dist/projectIdentity.d.ts.map +1 -1
  323. package/dist/projectIdentity.js +3 -4
  324. package/dist/projectIdentity.js.map +1 -1
  325. package/dist/projectOAuthSetup.d.ts +3 -3
  326. package/dist/projectOAuthSetup.js +3 -3
  327. package/dist/projectSecretApi.d.ts +6 -6
  328. package/dist/projectSecretApi.js +14 -14
  329. package/dist/projectSecretUsage.d.ts +1 -1
  330. package/dist/projectSecretUsage.js +1 -2
  331. package/dist/projectSecretUsage.js.map +1 -1
  332. package/dist/routeUtils.d.ts +1 -1
  333. package/dist/routeUtils.js +1 -1
  334. package/dist/runtime/actionSuppression.d.ts +0 -1
  335. package/dist/runtime/actionSuppression.d.ts.map +1 -1
  336. package/dist/runtime/actionSuppression.js +0 -1
  337. package/dist/runtime/actionSuppression.js.map +1 -1
  338. package/dist/runtime/index.d.ts +0 -2
  339. package/dist/runtime/index.d.ts.map +1 -1
  340. package/dist/runtime/index.js +0 -2
  341. package/dist/runtime/index.js.map +1 -1
  342. package/dist/runtime/interactionPolicy.d.ts +1 -1
  343. package/dist/runtime/interactionPolicy.js +1 -1
  344. package/dist/runtime/interactionPolicyCore.d.ts +0 -2
  345. package/dist/runtime/interactionPolicyCore.d.ts.map +1 -1
  346. package/dist/runtime/interactionPolicyCore.js +13 -28
  347. package/dist/runtime/interactionPolicyCore.js.map +1 -1
  348. package/dist/runtime/runtimeActions.d.ts +1 -1
  349. package/dist/runtime/runtimeActions.js +1 -1
  350. package/dist/runtime/runtimeNodeMeasurement.d.ts +2 -13
  351. package/dist/runtime/runtimeNodeMeasurement.d.ts.map +1 -1
  352. package/dist/runtime/runtimeNodeMeasurement.js +17 -86
  353. package/dist/runtime/runtimeNodeMeasurement.js.map +1 -1
  354. package/dist/runtime/stationarySelection.d.ts +3 -3
  355. package/dist/runtime/stationarySelection.d.ts.map +1 -1
  356. package/dist/runtime/stationarySelection.js +15 -54
  357. package/dist/runtime/stationarySelection.js.map +1 -1
  358. package/dist/runtime/studioMediaResolver.d.ts +1 -1
  359. package/dist/runtime/studioMediaResolver.js +2 -2
  360. package/dist/runtime/useRuntimeAction.d.ts +1 -1
  361. package/dist/runtime/useRuntimeAction.js +1 -1
  362. package/dist/runtimeDiagnosticsModel.d.ts +1 -4
  363. package/dist/runtimeDiagnosticsModel.d.ts.map +1 -1
  364. package/dist/runtimeDiagnosticsModel.js +1 -4
  365. package/dist/runtimeDiagnosticsModel.js.map +1 -1
  366. package/dist/secretResponseGuard.d.ts +2 -6
  367. package/dist/secretResponseGuard.d.ts.map +1 -1
  368. package/dist/secretResponseGuard.js +3 -37
  369. package/dist/secretResponseGuard.js.map +1 -1
  370. package/dist/studioAdminRouteModel.d.ts +7 -14
  371. package/dist/studioAdminRouteModel.d.ts.map +1 -1
  372. package/dist/studioAdminRouteModel.js +17 -28
  373. package/dist/studioAdminRouteModel.js.map +1 -1
  374. package/dist/studioRuntimeApi.d.ts +1 -1
  375. package/dist/studioRuntimeApi.js +3 -3
  376. package/dist/studioSelectionModel.d.ts +0 -4
  377. package/dist/studioSelectionModel.d.ts.map +1 -1
  378. package/dist/studioSelectionModel.js +0 -5
  379. package/dist/studioSelectionModel.js.map +1 -1
  380. package/dist/types/project-updates.d.ts +7 -1
  381. package/dist/types/project-updates.d.ts.map +1 -1
  382. package/dist/ui/admin/AnkhAdminPage.js +1 -1
  383. package/dist/ui/admin/AuthAdminSession.d.ts +1 -1
  384. package/dist/ui/admin/AuthAdminSession.js +1 -1
  385. package/dist/ui/admin/ModuleAdminViewBoundary.d.ts +0 -1
  386. package/dist/ui/admin/ModuleAdminViewBoundary.d.ts.map +1 -1
  387. package/dist/ui/admin/ModuleAdminViewBoundary.js +2 -2
  388. package/dist/ui/admin/ModuleAdminViewBoundary.js.map +1 -1
  389. package/dist/ui/admin/ModuleAdminViewHost.d.ts +1 -1
  390. package/dist/ui/admin/ModuleAdminViewHost.js +1 -1
  391. package/dist/ui/admin/adminPagePrimitives.d.ts +5 -5
  392. package/dist/ui/admin/adminPagePrimitives.js +5 -5
  393. package/dist/ui/admin/moduleAdminViewRegistry.d.ts +1 -1
  394. package/dist/ui/admin/moduleAdminViewRegistry.js +1 -1
  395. package/dist/ui/admin/pages/ApiOperationsCard.d.ts.map +1 -1
  396. package/dist/ui/admin/pages/ApiOperationsCard.js +4 -7
  397. package/dist/ui/admin/pages/ApiOperationsCard.js.map +1 -1
  398. package/dist/ui/admin/pages/AuthAdminPage.d.ts +1 -1
  399. package/dist/ui/admin/pages/AuthAdminPage.d.ts.map +1 -1
  400. package/dist/ui/admin/pages/AuthAdminPage.js +26 -35
  401. package/dist/ui/admin/pages/AuthAdminPage.js.map +1 -1
  402. package/dist/ui/admin/pages/BindingsAdminPage.d.ts +1 -1
  403. package/dist/ui/admin/pages/BindingsAdminPage.js +1 -1
  404. package/dist/ui/admin/pages/ModuleDetailAdminPage.d.ts.map +1 -1
  405. package/dist/ui/admin/pages/ModuleDetailAdminPage.js +4 -10
  406. package/dist/ui/admin/pages/ModuleDetailAdminPage.js.map +1 -1
  407. package/dist/ui/admin/pages/ModulesAdminPage.d.ts.map +1 -1
  408. package/dist/ui/admin/pages/ModulesAdminPage.js +3 -9
  409. package/dist/ui/admin/pages/ModulesAdminPage.js.map +1 -1
  410. package/dist/ui/admin/pages/ScreenDetailAdminPage.js +1 -1
  411. package/dist/ui/admin/pages/ScreensAdminPage.js +1 -1
  412. package/dist/ui/admin/pages/SecretsAdminPage.d.ts +1 -1
  413. package/dist/ui/admin/pages/SecretsAdminPage.d.ts.map +1 -1
  414. package/dist/ui/admin/pages/SecretsAdminPage.js +30 -137
  415. package/dist/ui/admin/pages/SecretsAdminPage.js.map +1 -1
  416. package/dist/ui/admin/pages/ThemeModeEditorSelector.d.ts +1 -1
  417. package/dist/ui/admin/pages/ThemeModeEditorSelector.js +1 -1
  418. package/dist/ui/admin/pages/adminApiOperations.d.ts +1 -1
  419. package/dist/ui/admin/pages/adminApiOperations.js +1 -1
  420. package/dist/ui/admin/pages/adminAuthCredentialFlow.d.ts +1 -1
  421. package/dist/ui/admin/pages/adminAuthCredentialFlow.d.ts.map +1 -1
  422. package/dist/ui/admin/pages/adminAuthCredentialFlow.js +5 -14
  423. package/dist/ui/admin/pages/adminAuthCredentialFlow.js.map +1 -1
  424. package/dist/ui/admin/pages/adminAuthSessionModel.d.ts +5 -66
  425. package/dist/ui/admin/pages/adminAuthSessionModel.d.ts.map +1 -1
  426. package/dist/ui/admin/pages/adminAuthSessionModel.js +37 -132
  427. package/dist/ui/admin/pages/adminAuthSessionModel.js.map +1 -1
  428. package/dist/ui/admin/pages/adminThemeModel.d.ts +2 -2
  429. package/dist/ui/admin/pages/adminThemeModel.js +2 -2
  430. package/dist/ui/admin/pages/bindings/bindingEditorModel.d.ts +0 -3
  431. package/dist/ui/admin/pages/bindings/bindingEditorModel.d.ts.map +1 -1
  432. package/dist/ui/admin/pages/bindings/bindingEditorModel.js +7 -8
  433. package/dist/ui/admin/pages/bindings/bindingEditorModel.js.map +1 -1
  434. package/dist/ui/admin/pages/deploy/useProjectDeployDashboard.d.ts +1 -1
  435. package/dist/ui/admin/pages/deploy/useProjectDeployDashboard.d.ts.map +1 -1
  436. package/dist/ui/admin/pages/deploy/useProjectDeployDashboard.js +8 -19
  437. package/dist/ui/admin/pages/deploy/useProjectDeployDashboard.js.map +1 -1
  438. package/dist/ui/admin/pages/screens/screensAdminActions.d.ts +1 -1
  439. package/dist/ui/admin/pages/screens/screensAdminActions.js +1 -1
  440. package/dist/ui/admin/pages/themeRecipeAuthoringModel.d.ts.map +1 -1
  441. package/dist/ui/admin/pages/themeRecipeAuthoringModel.js +3 -8
  442. package/dist/ui/admin/pages/themeRecipeAuthoringModel.js.map +1 -1
  443. package/dist/ui/admin/pages/themeRecipeTokenOptions.d.ts +1 -1
  444. package/dist/ui/admin/pages/themeRecipeTokenOptions.js +1 -1
  445. package/dist/ui/admin/pages/useActiveThemeAdmin.d.ts +1 -1
  446. package/dist/ui/admin/pages/useActiveThemeAdmin.js +1 -1
  447. package/dist/ui/canvas/StudioCanvasDndOverlay.d.ts +1 -1
  448. package/dist/ui/canvas/StudioCanvasDndOverlay.js +2 -2
  449. package/dist/ui/canvas/canvasDndInteraction.d.ts +3 -4
  450. package/dist/ui/canvas/canvasDndInteraction.d.ts.map +1 -1
  451. package/dist/ui/canvas/canvasDndInteraction.js +5 -5
  452. package/dist/ui/canvas/canvasDndInteraction.js.map +1 -1
  453. package/dist/utils/treeUtils.d.ts +1 -1
  454. package/dist/utils/treeUtils.js +1 -1
  455. package/dist/workspacePlatform.d.ts +0 -3
  456. package/dist/workspacePlatform.d.ts.map +1 -1
  457. package/dist/workspacePlatform.js +0 -3
  458. package/dist/workspacePlatform.js.map +1 -1
  459. package/package.json +51 -50
  460. package/dist/constants.d.ts +0 -1636
  461. package/dist/constants.d.ts.map +0 -1
  462. package/dist/constants.js +0 -10
  463. package/dist/constants.js.map +0 -1
  464. package/dist/host/zoraExtensions/index.d.ts +0 -22
  465. package/dist/host/zoraExtensions/index.d.ts.map +0 -1
  466. package/dist/host/zoraExtensions/index.js +0 -61
  467. package/dist/host/zoraExtensions/index.js.map +0 -1
  468. package/dist/runtime/appExtensionRegistry.d.ts +0 -3
  469. package/dist/runtime/appExtensionRegistry.d.ts.map +0 -1
  470. package/dist/runtime/appExtensionRegistry.js +0 -12
  471. package/dist/runtime/appExtensionRegistry.js.map +0 -1
  472. package/dist/runtime/registry.d.ts +0 -6
  473. package/dist/runtime/registry.d.ts.map +0 -1
  474. package/dist/runtime/registry.js +0 -5
  475. package/dist/runtime/registry.js.map +0 -1
  476. package/dist/ui/admin/pages/adminAuthHealthFlow.d.ts +0 -26
  477. package/dist/ui/admin/pages/adminAuthHealthFlow.d.ts.map +0 -1
  478. package/dist/ui/admin/pages/adminAuthHealthFlow.js +0 -32
  479. package/dist/ui/admin/pages/adminAuthHealthFlow.js.map +0 -1
package/README.md CHANGED
@@ -3,23 +3,36 @@
3
3
 
4
4
  # @ankhorage/studio
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v6.0.2](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v7.0.0](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![paradox: canonical](././paradox/badges/docs.svg)
7
7
 
8
8
  Studio authoring package for Ankhorage apps
9
9
 
10
10
  ## Usage
11
11
 
12
- For local Studio development, run:
12
+ ### CLI
13
13
 
14
- ```bash
15
- bun dev
14
+ Ankhorage packages expose their command-line interface through `ankh`. Use `ankh --help` to discover available package commands, or run a package command with `--help` for package-specific usage.
15
+
16
+ ```zsh
17
+ # Install the Ankhorage CLI
18
+ bun add --global @ankhorage/ankh
19
+
20
+ # Show usage information for studio
21
+ ankh studio --help
16
22
  ```
17
23
 
18
- This starts both the local Studio host and the first-party Studio web app.
24
+ ### Canvas drag payload
19
25
 
20
- ## CLI
26
+ Create and validate the payload used while dragging a Studio canvas node.
21
27
 
22
- Manage Studio development and projects through the Ankh CLI.
28
+ Run with `bun examples/canvas-drag-payload/basic.ts` after building the package.
29
+
30
+ ```ts
31
+ import {
32
+ createStudioCanvasDragPayload,
33
+ isStudioCanvasDragPayload,
34
+ } from '@ankhorage/studio/canvasDragModel';
35
+ ```
23
36
 
24
37
  ## Generated documentation
25
38
 
@@ -42,12 +55,15 @@ Manage Studio development and projects through the Ankh CLI.
42
55
  - [findNodeById sequence](././paradox/diagrams/sequences/find-node-by-id.mmd)
43
56
  - [findStudioBindingOperationOption sequence](././paradox/diagrams/sequences/find-studio-binding-operation-option.mmd)
44
57
  - [generateStudioId sequence](././paradox/diagrams/sequences/generate-studio-id.mmd)
58
+ - [listStudioMediaAssets sequence](././paradox/diagrams/sequences/list-studio-media-assets.mmd)
45
59
  - [removeNodeFromTree sequence](././paradox/diagrams/sequences/remove-node-from-tree.mmd)
46
60
  - [removeStudioEventBinding sequence](././paradox/diagrams/sequences/remove-studio-event-binding.mmd)
47
61
  - [removeStudioMediaAsset sequence](././paradox/diagrams/sequences/remove-studio-media-asset.mmd)
48
62
  - [removeStudioPropBinding sequence](././paradox/diagrams/sequences/remove-studio-prop-binding.mmd)
49
63
  - [resolveDefaultInsertPlacement sequence](././paradox/diagrams/sequences/resolve-default-insert-placement.mmd)
50
64
  - [resolveInsertPlacement sequence](././paradox/diagrams/sequences/resolve-insert-placement.mmd)
65
+ - [resolveStudioBindableEvents sequence](././paradox/diagrams/sequences/resolve-studio-bindable-events.mmd)
66
+ - [resolveStudioBindableProps sequence](././paradox/diagrams/sequences/resolve-studio-bindable-props.mmd)
51
67
  - [updateNodeInTree sequence](././paradox/diagrams/sequences/update-node-in-tree.mmd)
52
68
  - [upsertStudioMediaAsset sequence](././paradox/diagrams/sequences/upsert-studio-media-asset.mmd)
53
69
  - [upsertStudioPropBinding sequence](././paradox/diagrams/sequences/upsert-studio-prop-binding.mmd)
package/apm/update.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "protocolVersion": 1,
3
3
  "schemaVersion": 1,
4
- "owner": { "name": "@ankhorage/studio", "version": "6.0.2" },
4
+ "owner": { "name": "@ankhorage/studio", "version": "7.0.0" },
5
5
  "history": {
6
- "supported": [{ "sourceRange": ">=2.5.7 <3.0.0", "mode": "no-migration" }],
6
+ "supported": [{ "sourceRange": ">=2.5.7", "mode": "no-migration" }],
7
7
  "unsupported": [],
8
8
  "downgrade": "unsupported"
9
9
  },
@@ -31,17 +31,17 @@ export type StudioAuthSettingsMutation = (settings: StudioAuthSettings | null) =
31
31
  export type StudioAuthSettingsValidationResult = ValidationResult<StudioAuthSettings>;
32
32
  /***
33
33
  * Read authored authentication settings from a manifest and clone nested mutable collections.
34
- * @todo Move the auth settings model from the source root into the auth domain.
34
+ * TODO: Move the auth settings model from the source root into the auth domain.
35
35
  */
36
36
  export declare function readStudioAuthSettings(manifest: AppManifest, environment?: AppEnvironmentId): StudioAuthSettings | null;
37
37
  /***
38
38
  * Replace a manifest's authored authentication settings while preserving authorization policy.
39
- * @todo Move the auth settings model from the source root into the auth domain.
39
+ * TODO: Move the auth settings model from the source root into the auth domain.
40
40
  */
41
41
  export declare function applyStudioAuthSettings(manifest: AppManifest, settings: StudioAuthSettings, environment?: AppEnvironmentId): AppManifest;
42
42
  /***
43
43
  * Validate an unknown authored auth configuration and return the canonical Studio auth settings shape.
44
- * @todo Keep auth validation with the auth domain rather than at the source root.
44
+ * TODO: Keep auth validation with the auth domain rather than at the source root.
45
45
  */
46
46
  export declare function validateStudioAuthSettings(value: unknown): StudioAuthSettingsValidationResult;
47
47
  export {};
@@ -41,7 +41,7 @@ const FORBIDDEN_INLINE_SECRET_KEYS = new Set([
41
41
  ]);
42
42
  /***
43
43
  * Read authored authentication settings from a manifest and clone nested mutable collections.
44
- * @todo Move the auth settings model from the source root into the auth domain.
44
+ * TODO: Move the auth settings model from the source root into the auth domain.
45
45
  */
46
46
  export function readStudioAuthSettings(manifest, environment = 'local') {
47
47
  const auth = readOwnProperty(manifest.infra.environments, environment)?.auth;
@@ -87,7 +87,7 @@ export function readStudioAuthSettings(manifest, environment = 'local') {
87
87
  }
88
88
  /***
89
89
  * Replace a manifest's authored authentication settings while preserving authorization policy.
90
- * @todo Move the auth settings model from the source root into the auth domain.
90
+ * TODO: Move the auth settings model from the source root into the auth domain.
91
91
  */
92
92
  export function applyStudioAuthSettings(manifest, settings, environment = 'local') {
93
93
  const current = readOwnProperty(manifest.infra.environments, environment);
@@ -156,7 +156,7 @@ function replaceAuthEnvironment(environments, environment, value) {
156
156
  }
157
157
  /***
158
158
  * Validate an unknown authored auth configuration and return the canonical Studio auth settings shape.
159
- * @todo Keep auth validation with the auth domain rather than at the source root.
159
+ * TODO: Keep auth validation with the auth domain rather than at the source root.
160
160
  */
161
161
  export function validateStudioAuthSettings(value) {
162
162
  const forbiddenPath = findForbiddenInlineSecretPath(value);
@@ -2,7 +2,7 @@ import type { ComponentDataBindingRegistry, UiComponentMetaRegistry, UiNode } fr
2
2
  import type { StudioBindingDiagnostic, StudioBindingOperationOption } from './bindingAuthoringContracts';
3
3
  /***
4
4
  * Diagnose all authored prop and event bindings for one Studio component node.
5
- * @todo Move binding diagnostics under src/bindings/.
5
+ * Follow-up: Move binding diagnostics under src/bindings/.
6
6
  */
7
7
  export declare function diagnoseStudioComponentBindings(args: {
8
8
  readonly node: UiNode;
@@ -1 +1 @@
1
- {"version":3,"file":"bindingDiagnosticsModel.d.ts","sourceRoot":"","sources":["../src/bindingDiagnosticsModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,4BAA4B,EAI5B,uBAAuB,EACvB,MAAM,EACP,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EACV,uBAAuB,EAEvB,4BAA4B,EAC7B,MAAM,6BAA6B,CAAC;AAIrC;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAC7D,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,GAAG,SAAS,uBAAuB,EAAE,CAwBrC"}
1
+ {"version":3,"file":"bindingDiagnosticsModel.d.ts","sourceRoot":"","sources":["../src/bindingDiagnosticsModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,4BAA4B,EAI5B,uBAAuB,EACvB,MAAM,EACP,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EACV,uBAAuB,EAEvB,4BAA4B,EAC7B,MAAM,6BAA6B,CAAC;AAIrC;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAC7D,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,GAAG,SAAS,uBAAuB,EAAE,CAwBrC"}
@@ -1,9 +1,10 @@
1
+ import { createDiagnostic } from '@ankhorage/utility/diagnostics';
1
2
  import { readOwnProperty } from '@ankhorage/utility/object';
2
3
  import { findStudioBindingOperationOption } from './bindingOperationModel';
3
4
  import { assessStudioBindingCompatibility } from './bindingSchemaModel';
4
5
  /***
5
6
  * Diagnose all authored prop and event bindings for one Studio component node.
6
- * @todo Move binding diagnostics under src/bindings/.
7
+ * Follow-up: Move binding diagnostics under src/bindings/.
7
8
  */
8
9
  export function diagnoseStudioComponentBindings(args) {
9
10
  const binding = readOwnProperty(args.registry, args.node.id);
@@ -22,7 +23,7 @@ export function diagnoseStudioComponentBindings(args) {
22
23
  }
23
24
  /***
24
25
  * Diagnose one prop binding against component metadata and the selected operation response path.
25
- * @todo Keep prop-binding diagnostics under src/bindings/.
26
+ * Follow-up: Keep prop-binding diagnostics under src/bindings/.
26
27
  */
27
28
  function diagnosePropBinding(name, binding, args) {
28
29
  const props = readOwnProperty(args.componentMeta, args.node.type)
@@ -53,7 +54,7 @@ function diagnosePropBinding(name, binding, args) {
53
54
  }
54
55
  /***
55
56
  * Diagnose one indexed event binding against event metadata, actions, operation availability, and inputs.
56
- * @todo Keep event-binding diagnostics under src/bindings/.
57
+ * Follow-up: Keep event-binding diagnostics under src/bindings/.
57
58
  */
58
59
  function diagnoseEventBinding(eventName, index, binding, args) {
59
60
  const events = readOwnProperty(args.componentMeta, args.node.type)?.bindings?.events;
@@ -77,7 +78,7 @@ function diagnoseEventBinding(eventName, index, binding, args) {
77
78
  }
78
79
  /***
79
80
  * Diagnose required and mapped inputs for one event-to-operation binding.
80
- * @todo Keep event input diagnostics under src/bindings/.
81
+ * Follow-up: Keep event input diagnostics under src/bindings/.
81
82
  */
82
83
  function diagnoseEventInputs(binding, fields, eventFields, path) {
83
84
  return fields.flatMap((field) => {
@@ -96,7 +97,7 @@ function diagnoseEventInputs(binding, fields, eventFields, path) {
96
97
  }
97
98
  /***
98
99
  * Diagnose one event-source input against the expected operation input field.
99
- * @todo Keep input compatibility diagnostics under src/bindings/.
100
+ * Follow-up: Keep input compatibility diagnostics under src/bindings/.
100
101
  */
101
102
  function diagnoseInputCompatibility(input, field, eventFields, path) {
102
103
  if (input.kind !== 'source' || input.source.kind !== 'event')
@@ -116,7 +117,7 @@ function diagnoseInputCompatibility(input, field, eventFields, path) {
116
117
  }
117
118
  /***
118
119
  * Resolve an exact or object-parent event field path into bindable value metadata.
119
- * @todo Keep event-payload path semantics under src/bindings/.
120
+ * Follow-up: Keep event-payload path semantics under src/bindings/.
120
121
  */
121
122
  function resolveEventSourceValue(path, eventFields) {
122
123
  const exact = eventFields.find((candidate) => candidate.path === path);
@@ -128,7 +129,7 @@ function resolveEventSourceValue(path, eventFields) {
128
129
  }
129
130
  /***
130
131
  * Create the Studio diagnostic used when a referenced API operation cannot be resolved.
131
- * @todo Keep missing-operation diagnostics under src/bindings/.
132
+ * Follow-up: Keep missing-operation diagnostics under src/bindings/.
132
133
  */
133
134
  function missingOperationDiagnostic(operation, path) {
134
135
  const ref = [operation.apiId, operation.endpointId, operation.operationId]
@@ -138,7 +139,7 @@ function missingOperationDiagnostic(operation, path) {
138
139
  }
139
140
  /***
140
141
  * Narrow an event payload type string to the bindable primitive types supported by Studio.
141
- * @todo Deduplicate bindable-type normalization within src/bindings/.
142
+ * Follow-up: Deduplicate bindable-type normalization within src/bindings/.
142
143
  */
143
144
  function toBindableType(type) {
144
145
  if (type === 'string' ||
@@ -152,9 +153,8 @@ function toBindableType(type) {
152
153
  }
153
154
  /***
154
155
  * Construct an error diagnostic from a code, message, and optional path.
155
- * @utility @ankhorage/utility/diagnostics
156
156
  */
157
157
  function diagnostic(code, message, path) {
158
- return { code, message, severity: 'error', ...(path ? { path } : {}) };
158
+ return { ...createDiagnostic(code, message, 'error'), ...(path ? { path } : {}) };
159
159
  }
160
160
  //# sourceMappingURL=bindingDiagnosticsModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bindingDiagnosticsModel.js","sourceRoot":"","sources":["../src/bindingDiagnosticsModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindingDiagnosticsModel.js","sourceRoot":"","sources":["../src/bindingDiagnosticsModel.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,10 @@ import type { UiComponentMetaRegistry, UiNode } from '@ankhorage/contracts';
2
2
  import type { StudioBindableEventOption, StudioBindablePropOption } from './bindingAuthoringContracts';
3
3
  /***
4
4
  * Convert a component's bindable prop metadata record into labeled authoring options.
5
- * @utility @ankhorage/utility/collection
6
5
  */
7
6
  export declare function resolveStudioBindableProps(node: UiNode, registry: UiComponentMetaRegistry): readonly StudioBindablePropOption[];
8
7
  /***
9
8
  * Convert a component's bindable event metadata record into labeled authoring options.
10
- * @utility @ankhorage/utility/collection
11
9
  */
12
10
  export declare function resolveStudioBindableEvents(node: UiNode, registry: UiComponentMetaRegistry): readonly StudioBindableEventOption[];
13
11
  //# sourceMappingURL=bindingMetadataModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bindingMetadataModel.d.ts","sourceRoot":"","sources":["../src/bindingMetadataModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE5E,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,uBAAuB,GAChC,SAAS,wBAAwB,EAAE,CAQrC;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,uBAAuB,GAChC,SAAS,yBAAyB,EAAE,CAQtC"}
1
+ {"version":3,"file":"bindingMetadataModel.d.ts","sourceRoot":"","sources":["../src/bindingMetadataModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG5E,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,uBAAuB,GAChC,SAAS,wBAAwB,EAAE,CAQrC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,uBAAuB,GAChC,SAAS,yBAAyB,EAAE,CAQtC"}
@@ -1,10 +1,10 @@
1
+ import { mapRecordEntries } from '@ankhorage/utility/collection';
1
2
  /***
2
3
  * Convert a component's bindable prop metadata record into labeled authoring options.
3
- * @utility @ankhorage/utility/collection
4
4
  */
5
5
  export function resolveStudioBindableProps(node, registry) {
6
6
  const props = registry[node.type]?.bindings?.props ?? {};
7
- return Object.entries(props).map(([name, meta]) => ({
7
+ return mapRecordEntries(props, ([name, meta]) => ({
8
8
  name,
9
9
  label: meta.label ?? name,
10
10
  meta,
@@ -12,11 +12,10 @@ export function resolveStudioBindableProps(node, registry) {
12
12
  }
13
13
  /***
14
14
  * Convert a component's bindable event metadata record into labeled authoring options.
15
- * @utility @ankhorage/utility/collection
16
15
  */
17
16
  export function resolveStudioBindableEvents(node, registry) {
18
17
  const events = registry[node.type]?.bindings?.events ?? {};
19
- return Object.entries(events).map(([name, meta]) => ({
18
+ return mapRecordEntries(events, ([name, meta]) => ({
20
19
  name,
21
20
  label: meta.label ?? name,
22
21
  meta,
@@ -1 +1 @@
1
- {"version":3,"file":"bindingMetadataModel.js","sourceRoot":"","sources":["../src/bindingMetadataModel.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAAY,EACZ,QAAiC;IAEjC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;IAEzD,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,IAAI;KACL,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAY,EACZ,QAAiC;IAEjC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;IAE3D,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,IAAI;KACL,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"bindingMetadataModel.js","sourceRoot":"","sources":["../src/bindingMetadataModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAOjE;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAAY,EACZ,QAAiC;IAEjC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;IAEzD,OAAO,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,IAAI;KACL,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAY,EACZ,QAAiC;IAEjC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;IAE3D,OAAO,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,IAAI;KACL,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1,22 +1,22 @@
1
1
  import type { ComponentDataBindingRegistry, EventBinding, PropBinding, UiNode } from '@ankhorage/contracts';
2
2
  /***
3
3
  * Add or replace one Studio prop binding for a component node.
4
- * @todo Move binding mutation behavior under src/bindings/.
4
+ * Follow-up: Move binding mutation behavior under src/bindings/.
5
5
  */
6
6
  export declare function upsertStudioPropBinding(registry: ComponentDataBindingRegistry, node: UiNode, propName: string, binding: PropBinding): ComponentDataBindingRegistry;
7
7
  /***
8
8
  * Remove one Studio prop binding while leaving unrelated component bindings intact.
9
- * @todo Move binding mutation behavior under src/bindings/.
9
+ * Follow-up: Move binding mutation behavior under src/bindings/.
10
10
  */
11
11
  export declare function removeStudioPropBinding(registry: ComponentDataBindingRegistry, node: UiNode, propName: string): ComponentDataBindingRegistry;
12
12
  /***
13
13
  * Append an event binding to one Studio node/event pair without replacing earlier bindings.
14
- * @todo Move binding mutation behavior under src/bindings/.
14
+ * Follow-up: Move binding mutation behavior under src/bindings/.
15
15
  */
16
16
  export declare function appendStudioEventBinding(registry: ComponentDataBindingRegistry, node: UiNode, eventName: string, binding: EventBinding): ComponentDataBindingRegistry;
17
17
  /***
18
18
  * Remove one indexed event binding and delete the event entry when no bindings remain.
19
- * @todo Move binding mutation behavior under src/bindings/.
19
+ * Follow-up: Move binding mutation behavior under src/bindings/.
20
20
  */
21
21
  export declare function removeStudioEventBinding(registry: ComponentDataBindingRegistry, node: UiNode, eventName: string, bindingIndex: number): ComponentDataBindingRegistry;
22
22
  //# sourceMappingURL=bindingMutationModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bindingMutationModel.d.ts","sourceRoot":"","sources":["../src/bindingMutationModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,4BAA4B,EAC5B,YAAY,EACZ,WAAW,EACX,MAAM,EACP,MAAM,sBAAsB,CAAC;AAG9B;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,4BAA4B,EACtC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,4BAA4B,CAK9B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,4BAA4B,EACtC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,4BAA4B,CAM9B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,4BAA4B,EACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,GACpB,4BAA4B,CAQ9B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,4BAA4B,EACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,4BAA4B,CAW9B"}
1
+ {"version":3,"file":"bindingMutationModel.d.ts","sourceRoot":"","sources":["../src/bindingMutationModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,4BAA4B,EAC5B,YAAY,EACZ,WAAW,EACX,MAAM,EACP,MAAM,sBAAsB,CAAC;AAQ9B;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,4BAA4B,EACtC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,4BAA4B,CAK9B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,4BAA4B,EACtC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,4BAA4B,CAM9B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,4BAA4B,EACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,GACpB,4BAA4B,CAQ9B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,4BAA4B,EACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,4BAA4B,CAW9B"}
@@ -1,7 +1,7 @@
1
- import { deleteOwnProperty, readOwnProperty, setOwnProperty } from '@ankhorage/utility/object';
1
+ import { deleteOwnProperty, isEmptyRecord, readOwnProperty, setOwnProperty, } from '@ankhorage/utility/object';
2
2
  /***
3
3
  * Add or replace one Studio prop binding for a component node.
4
- * @todo Move binding mutation behavior under src/bindings/.
4
+ * Follow-up: Move binding mutation behavior under src/bindings/.
5
5
  */
6
6
  export function upsertStudioPropBinding(registry, node, propName, binding) {
7
7
  const current = readOwnProperty(registry, node.id);
@@ -11,7 +11,7 @@ export function upsertStudioPropBinding(registry, node, propName, binding) {
11
11
  }
12
12
  /***
13
13
  * Remove one Studio prop binding while leaving unrelated component bindings intact.
14
- * @todo Move binding mutation behavior under src/bindings/.
14
+ * Follow-up: Move binding mutation behavior under src/bindings/.
15
15
  */
16
16
  export function removeStudioPropBinding(registry, node, propName) {
17
17
  const current = readOwnProperty(registry, node.id);
@@ -23,7 +23,7 @@ export function removeStudioPropBinding(registry, node, propName) {
23
23
  }
24
24
  /***
25
25
  * Append an event binding to one Studio node/event pair without replacing earlier bindings.
26
- * @todo Move binding mutation behavior under src/bindings/.
26
+ * Follow-up: Move binding mutation behavior under src/bindings/.
27
27
  */
28
28
  export function appendStudioEventBinding(registry, node, eventName, binding) {
29
29
  const current = readOwnProperty(registry, node.id);
@@ -36,7 +36,7 @@ export function appendStudioEventBinding(registry, node, eventName, binding) {
36
36
  }
37
37
  /***
38
38
  * Remove one indexed event binding and delete the event entry when no bindings remain.
39
- * @todo Move binding mutation behavior under src/bindings/.
39
+ * Follow-up: Move binding mutation behavior under src/bindings/.
40
40
  */
41
41
  export function removeStudioEventBinding(registry, node, eventName, bindingIndex) {
42
42
  const current = readOwnProperty(registry, node.id);
@@ -55,7 +55,7 @@ export function removeStudioEventBinding(registry, node, eventName, bindingIndex
55
55
  }
56
56
  /***
57
57
  * Write normalized component identity into a binding registry and remove empty bindings.
58
- * @todo Keep component-binding normalization under src/bindings/.
58
+ * Follow-up: Keep component-binding normalization under src/bindings/.
59
59
  */
60
60
  function writeBinding(registry, node, value) {
61
61
  const next = { ...registry };
@@ -72,9 +72,8 @@ function writeBinding(registry, node, value) {
72
72
  }
73
73
  /***
74
74
  * Test whether a binding has no prop or event entries.
75
- * @utility @ankhorage/utility/object
76
75
  */
77
76
  function isEmptyBinding(binding) {
78
- return (Object.keys(binding.props ?? {}).length === 0 && Object.keys(binding.events ?? {}).length === 0);
77
+ return isEmptyRecord(binding.props ?? {}) && isEmptyRecord(binding.events ?? {});
79
78
  }
80
79
  //# sourceMappingURL=bindingMutationModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bindingMutationModel.js","sourceRoot":"","sources":["../src/bindingMutationModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindingMutationModel.js","sourceRoot":"","sources":["../src/bindingMutationModel.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { ApiDefinitionRegistry, BindingOperationRef } from '@ankhorage/cont
2
2
  import type { StudioBindingInputFieldOption, StudioBindingOperationOption } from './bindingAuthoringContracts';
3
3
  /***
4
4
  * Collect and alphabetically sort the API operations available for Studio binding authoring.
5
- * @todo Move binding operation catalog behavior under src/bindings/.
5
+ * TODO: Move binding operation catalog behavior under src/bindings/.
6
6
  */
7
7
  export declare function collectStudioBindingOperationOptions(apis: ApiDefinitionRegistry): readonly StudioBindingOperationOption[];
8
8
  /***
@@ -11,7 +11,7 @@ export declare function collectStudioBindingOperationOptions(apis: ApiDefinition
11
11
  export declare function findStudioBindingOperationOption(options: readonly StudioBindingOperationOption[], ref: BindingOperationRef): StudioBindingOperationOption | undefined;
12
12
  /***
13
13
  * Convert an action payload schema into Studio binding input-field options.
14
- * @todo Move action binding-field projection under src/bindings/.
14
+ * TODO: Move action binding-field projection under src/bindings/.
15
15
  */
16
16
  export declare function createStudioActionInputFields(payloadSchema: Readonly<Record<string, {
17
17
  readonly label: string;
@@ -4,7 +4,7 @@ import { collectStudioResponsePaths, resolveStudioSchemaValueMeta } from './bind
4
4
  import { resolveDataSchemaAuthoringStructure } from './features/authoring-engine/adapters/outbound/resolveDataSchemaAuthoringStructure';
5
5
  /***
6
6
  * Collect and alphabetically sort the API operations available for Studio binding authoring.
7
- * @todo Move binding operation catalog behavior under src/bindings/.
7
+ * TODO: Move binding operation catalog behavior under src/bindings/.
8
8
  */
9
9
  export function collectStudioBindingOperationOptions(apis) {
10
10
  return Object.values(apis)
@@ -23,7 +23,7 @@ function toOperationKey(reference) {
23
23
  }
24
24
  /***
25
25
  * Project all endpoint operations from one API definition into Studio binding options.
26
- * @todo Keep API-to-binding option projection under src/bindings/.
26
+ * TODO: Keep API-to-binding option projection under src/bindings/.
27
27
  */
28
28
  function collectApiOperations(api) {
29
29
  return Object.values(api.endpoints).flatMap((endpoint) => Object.values(endpoint.operations).map((operation) => ({
@@ -40,7 +40,7 @@ function collectApiOperations(api) {
40
40
  }
41
41
  /***
42
42
  * Collect request parameters and request-body properties as Studio binding input fields.
43
- * @todo Keep operation input-field projection under src/bindings/.
43
+ * TODO: Keep operation input-field projection under src/bindings/.
44
44
  */
45
45
  function collectOperationInputFields(api, operation) {
46
46
  const fields = new Map();
@@ -70,7 +70,7 @@ function collectOperationInputFields(api, operation) {
70
70
  }
71
71
  /***
72
72
  * Resolve an inline schema or schema reference from an API operation slot.
73
- * @todo Move this reusable API-contract helper to @ankhorage/contracts beside API schema definitions.
73
+ * TODO: Move this reusable API-contract helper to @ankhorage/contracts beside API schema definitions.
74
74
  */
75
75
  function resolveSlotSchema(api, slot) {
76
76
  return (slot?.schema ??
@@ -80,14 +80,14 @@ function resolveSlotSchema(api, slot) {
80
80
  }
81
81
  /***
82
82
  * Format one API definition as a compact id, origin, and protocol label.
83
- * @todo Keep API-specific presentation formatting with the binding authoring owner.
83
+ * TODO: Keep API-specific presentation formatting with the binding authoring owner.
84
84
  */
85
85
  function describeApi(api) {
86
86
  return `${api.id} · ${api.origin} · ${api.protocol}`;
87
87
  }
88
88
  /***
89
89
  * Convert an action payload schema into Studio binding input-field options.
90
- * @todo Move action binding-field projection under src/bindings/.
90
+ * TODO: Move action binding-field projection under src/bindings/.
91
91
  */
92
92
  export function createStudioActionInputFields(payloadSchema) {
93
93
  return Object.entries(payloadSchema ?? {}).map(([name, field]) => ({
@@ -99,7 +99,7 @@ export function createStudioActionInputFields(payloadSchema) {
99
99
  }
100
100
  /***
101
101
  * Narrow an arbitrary payload type string to the primitive types supported by bindable values.
102
- * @todo Keep bindable-type semantics under src/bindings/.
102
+ * TODO: Keep bindable-type semantics under src/bindings/.
103
103
  */
104
104
  function toBindableType(type) {
105
105
  if (type === 'string' || type === 'number' || type === 'boolean' || type === 'object') {
@@ -2,17 +2,17 @@ import type { DataSchema, DataSchemaRegistry, UiBindableValueMeta } from '@ankho
2
2
  import type { StudioBindingCompatibility, StudioBindingResponsePathOption } from './bindingAuthoringContracts';
3
3
  /***
4
4
  * Project canonical DataSchema authoring semantics into the bindable metadata used by compatibility policy.
5
- * @todo Move binding schema projection under src/bindings/.
5
+ * TODO: Move binding schema projection under src/bindings/.
6
6
  */
7
7
  export declare function resolveStudioSchemaValueMeta(schema: DataSchema | undefined, schemas: DataSchemaRegistry | undefined, seen?: ReadonlySet<string>): UiBindableValueMeta;
8
8
  /***
9
9
  * Collect response-path options from a schema for Studio binding authoring.
10
- * @todo Move response-path authoring under src/bindings/.
10
+ * TODO: Move response-path authoring under src/bindings/.
11
11
  */
12
12
  export declare function collectStudioResponsePaths(schema: DataSchema | undefined, schemas: DataSchemaRegistry | undefined): readonly StudioBindingResponsePathOption[];
13
13
  /***
14
14
  * Assess whether an actual bindable value shape can satisfy an expected Studio binding shape.
15
- * @todo Keep binding compatibility policy under src/bindings/.
15
+ * TODO: Keep binding compatibility policy under src/bindings/.
16
16
  */
17
17
  export declare function assessStudioBindingCompatibility(expected: UiBindableValueMeta, actual: UiBindableValueMeta): StudioBindingCompatibility;
18
18
  //# sourceMappingURL=bindingSchemaModel.d.ts.map
@@ -2,7 +2,7 @@ import { resolveSchemaReference } from '@ankhorage/utility/schema';
2
2
  import { resolveDataSchemaAuthoringStructure } from './features/authoring-engine/adapters/outbound/resolveDataSchemaAuthoringStructure';
3
3
  /***
4
4
  * Project canonical DataSchema authoring semantics into the bindable metadata used by compatibility policy.
5
- * @todo Move binding schema projection under src/bindings/.
5
+ * TODO: Move binding schema projection under src/bindings/.
6
6
  */
7
7
  export function resolveStudioSchemaValueMeta(schema, schemas, seen = new Set()) {
8
8
  const structure = resolveDataSchemaAuthoringStructure(schema, schemas, seen);
@@ -22,7 +22,7 @@ export function resolveStudioSchemaValueMeta(schema, schemas, seen = new Set())
22
22
  }
23
23
  /***
24
24
  * Collect response-path options from a schema for Studio binding authoring.
25
- * @todo Move response-path authoring under src/bindings/.
25
+ * TODO: Move response-path authoring under src/bindings/.
26
26
  */
27
27
  export function collectStudioResponsePaths(schema, schemas) {
28
28
  const root = resolveStudioSchemaValueMeta(schema, schemas);
@@ -32,7 +32,7 @@ export function collectStudioResponsePaths(schema, schemas) {
32
32
  }
33
33
  /***
34
34
  * Assess whether an actual bindable value shape can satisfy an expected Studio binding shape.
35
- * @todo Keep binding compatibility policy under src/bindings/.
35
+ * TODO: Keep binding compatibility policy under src/bindings/.
36
36
  */
37
37
  export function assessStudioBindingCompatibility(expected, actual) {
38
38
  if (expected.type === 'unknown' || actual.type === 'unknown')
@@ -132,14 +132,14 @@ function resolveChoiceType(values) {
132
132
  }
133
133
  /***
134
134
  * Test whether a bindable value type represents an object-shaped value.
135
- * @todo Keep this bindable-type semantic predicate under src/bindings/.
135
+ * TODO: Keep this bindable-type semantic predicate under src/bindings/.
136
136
  */
137
137
  function isObjectLike(type) {
138
138
  return type === 'object' || type === 'record';
139
139
  }
140
140
  /***
141
141
  * Detect the object-field shape Studio accepts as an image-asset-compatible binding value.
142
- * @todo Keep image-asset binding compatibility under src/bindings/.
142
+ * TODO: Keep image-asset binding compatibility under src/bindings/.
143
143
  */
144
144
  function isImageAssetShape(value) {
145
145
  return (isObjectLike(value.type) &&
@@ -1,7 +1,7 @@
1
1
  import type { ProjectDeployReleaseInspectionResult } from './projectDeployReleaseInspectionResult';
2
2
  /***
3
3
  * Decide whether a prepared Studio deploy release may execute without pending inspection actions.
4
- * @todo Move deploy execution-gate policy under src/deploy/.
4
+ * TODO: Move deploy execution-gate policy under src/deploy/.
5
5
  */
6
6
  export declare function canExecuteProjectDeployRelease(result: ProjectDeployReleaseInspectionResult): boolean;
7
7
  //# sourceMappingURL=canExecuteProjectDeployRelease.d.ts.map
@@ -1,6 +1,6 @@
1
1
  /***
2
2
  * Decide whether a prepared Studio deploy release may execute without pending inspection actions.
3
- * @todo Move deploy execution-gate policy under src/deploy/.
3
+ * TODO: Move deploy execution-gate policy under src/deploy/.
4
4
  */
5
5
  export function canExecuteProjectDeployRelease(result) {
6
6
  return result.ok && result.plan.status === 'changes' && result.inspection.actions.length === 0;