@notionhq/custom-blocks-host 0.4.1 → 0.4.3

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 (419) hide show
  1. package/dist/browser.js +1 -1
  2. package/dist/compatibility/normalizeHostToSandboxMessage.js +4 -4
  3. package/dist/compatibility/normalizeSandboxToHostMessage.d.ts +232 -8
  4. package/dist/compatibility/normalizeSandboxToHostMessage.d.ts.map +1 -1
  5. package/dist/compatibility/{pageResult.d.ts → pages/pageResult.d.ts} +1 -1
  6. package/dist/compatibility/pages/pageResult.d.ts.map +1 -0
  7. package/dist/compatibility/{pageWithNullTextFallbackProperties.d.ts → pages/toPageWithNullTextFallbackProperties.d.ts} +3 -3
  8. package/dist/compatibility/pages/toPageWithNullTextFallbackProperties.d.ts.map +1 -0
  9. package/dist/compatibility/{pageWithNullTextFallbackProperties.js → pages/toPageWithNullTextFallbackProperties.js} +1 -1
  10. package/dist/compatibility/{addMetadataReadSchemasForProtocol3To4.d.ts → protocol3To4/addMetadataReadSchemasForProtocol3To4.d.ts} +96 -90
  11. package/dist/compatibility/{addMetadataReadSchemasForProtocol3To4.d.ts.map → protocol3To4/addMetadataReadSchemasForProtocol3To4.d.ts.map} +1 -1
  12. package/dist/compatibility/{addMetadataReadSchemasForProtocol3To4.js → protocol3To4/addMetadataReadSchemasForProtocol3To4.js} +1 -1
  13. package/dist/compatibility/{normalizePageResultsForProtocol3To5.d.ts → protocol3To5/normalizePageResultsForProtocol3To5.d.ts} +2 -2
  14. package/dist/compatibility/protocol3To5/normalizePageResultsForProtocol3To5.d.ts.map +1 -0
  15. package/dist/compatibility/{normalizePageResultsForProtocol3To5.js → protocol3To5/normalizePageResultsForProtocol3To5.js} +3 -2
  16. package/dist/compatibility/protocol3To5/toDateTimeValueForProtocol3To5.d.ts +9 -0
  17. package/dist/compatibility/protocol3To5/toDateTimeValueForProtocol3To5.d.ts.map +1 -0
  18. package/dist/compatibility/protocol3To5/toDateTimeValueForProtocol3To5.js +21 -0
  19. package/dist/compatibility/protocol3To5/toPageForProtocol3To5.d.ts +12 -0
  20. package/dist/compatibility/protocol3To5/toPageForProtocol3To5.d.ts.map +1 -0
  21. package/dist/compatibility/protocol3To5/toPageForProtocol3To5.js +20 -0
  22. package/dist/compatibility/protocol3To5/toPropertyValueForProtocol3To5.d.ts +10 -0
  23. package/dist/compatibility/protocol3To5/toPropertyValueForProtocol3To5.d.ts.map +1 -0
  24. package/dist/compatibility/{pageForProtocol3To5.js → protocol3To5/toPropertyValueForProtocol3To5.js} +25 -95
  25. package/dist/compatibility/{pageForProtocol3To5.d.ts → protocol3To5/toQueryPageForProtocol3To5.d.ts} +11 -21
  26. package/dist/compatibility/protocol3To5/toQueryPageForProtocol3To5.d.ts.map +1 -0
  27. package/dist/compatibility/protocol3To5/toQueryPageForProtocol3To5.js +32 -0
  28. package/dist/compatibility/{normalizePageResultsForProtocol6.d.ts → protocol6/normalizePageResultsForProtocol6.d.ts} +2 -2
  29. package/dist/compatibility/protocol6/normalizePageResultsForProtocol6.d.ts.map +1 -0
  30. package/dist/compatibility/{normalizePageResultsForProtocol6.js → protocol6/normalizePageResultsForProtocol6.js} +1 -1
  31. package/dist/context/initialState.d.ts +1809 -0
  32. package/dist/context/initialState.d.ts.map +1 -0
  33. package/dist/context/initialState.js +34 -0
  34. package/dist/context/resize.d.ts +4 -0
  35. package/dist/context/resize.d.ts.map +1 -0
  36. package/dist/createCustomBlockHost.d.ts +13 -9
  37. package/dist/createCustomBlockHost.d.ts.map +1 -1
  38. package/dist/createCustomBlockHost.js +37 -24
  39. package/dist/{autoBindProperties.d.ts → dataSources/bindings/getAutoBoundPropertyIdsByKey.d.ts} +2 -2
  40. package/dist/dataSources/bindings/getAutoBoundPropertyIdsByKey.d.ts.map +1 -0
  41. package/dist/{dateValue.d.ts → dataSources/properties/toNotionDateValue.d.ts} +3 -3
  42. package/dist/dataSources/properties/toNotionDateValue.d.ts.map +1 -0
  43. package/dist/{queries → dataSources/queries}/querySubscriptions.d.ts +2 -2
  44. package/dist/dataSources/queries/querySubscriptions.d.ts.map +1 -0
  45. package/dist/dataSources/types.d.ts +14 -0
  46. package/dist/dataSources/types.d.ts.map +1 -0
  47. package/dist/dataSources/validation/validateQueryDataSourceFilter.d.ts +5 -0
  48. package/dist/dataSources/validation/validateQueryDataSourceFilter.d.ts.map +1 -0
  49. package/dist/{queries → dataSources/validation}/validateQueryDataSourceFilter.js +2 -2
  50. package/dist/dataSources/validation/validateQueryDataSourceSorts.d.ts +8 -0
  51. package/dist/dataSources/validation/validateQueryDataSourceSorts.d.ts.map +1 -0
  52. package/dist/{queries → dataSources/validation}/validateQueryDataSourceSorts.js +2 -2
  53. package/dist/index.d.ts +14 -7
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +4 -4
  56. package/dist/lifecycle/{initializationController.d.ts → createInitializationController.d.ts} +7 -6
  57. package/dist/lifecycle/createInitializationController.d.ts.map +1 -0
  58. package/dist/lifecycle/{initializationController.js → createInitializationController.js} +9 -4
  59. package/dist/lifecycle/errors/contextUnavailableError.d.ts +3 -0
  60. package/dist/lifecycle/errors/contextUnavailableError.d.ts.map +1 -0
  61. package/dist/lifecycle/errors/contextUnavailableError.js +8 -0
  62. package/dist/lifecycle/errors/initialStateTimeoutError.d.ts +3 -0
  63. package/dist/lifecycle/errors/initialStateTimeoutError.d.ts.map +1 -0
  64. package/dist/lifecycle/errors/initialStateTimeoutError.js +8 -0
  65. package/dist/lifecycle/errors/invalidConnectPayloadError.d.ts +3 -0
  66. package/dist/lifecycle/errors/invalidConnectPayloadError.d.ts.map +1 -0
  67. package/dist/lifecycle/errors/invalidConnectPayloadError.js +8 -0
  68. package/dist/lifecycle/errors/invalidInitResultPayloadError.d.ts +3 -0
  69. package/dist/lifecycle/errors/invalidInitResultPayloadError.d.ts.map +1 -0
  70. package/dist/lifecycle/errors/invalidInitResultPayloadError.js +8 -0
  71. package/dist/lifecycle/errors/invalidLocalPreviewUrlError.d.ts +3 -0
  72. package/dist/lifecycle/errors/invalidLocalPreviewUrlError.d.ts.map +1 -0
  73. package/dist/lifecycle/errors/invalidLocalPreviewUrlError.js +7 -0
  74. package/dist/lifecycle/errors/invalidPropertyBindingError.d.ts +3 -0
  75. package/dist/lifecycle/errors/invalidPropertyBindingError.d.ts.map +1 -0
  76. package/dist/lifecycle/errors/invalidPropertyBindingError.js +9 -0
  77. package/dist/lifecycle/errors/invalidProtocolVersionError.d.ts +5 -0
  78. package/dist/lifecycle/errors/invalidProtocolVersionError.d.ts.map +1 -0
  79. package/dist/lifecycle/errors/invalidProtocolVersionError.js +9 -0
  80. package/dist/lifecycle/errors/missingDataSourceBindingError.d.ts +3 -0
  81. package/dist/lifecycle/errors/missingDataSourceBindingError.d.ts.map +1 -0
  82. package/dist/lifecycle/errors/missingDataSourceBindingError.js +8 -0
  83. package/dist/lifecycle/errors/missingPropertyBindingError.d.ts +3 -0
  84. package/dist/lifecycle/errors/missingPropertyBindingError.d.ts.map +1 -0
  85. package/dist/lifecycle/errors/missingPropertyBindingError.js +8 -0
  86. package/dist/lifecycle/errors/noConnectError.d.ts +8 -0
  87. package/dist/lifecycle/errors/noConnectError.d.ts.map +1 -0
  88. package/dist/lifecycle/errors/noConnectError.js +13 -0
  89. package/dist/lifecycle/errors/noInitResultError.d.ts +3 -0
  90. package/dist/lifecycle/errors/noInitResultError.d.ts.map +1 -0
  91. package/dist/lifecycle/errors/noInitResultError.js +8 -0
  92. package/dist/lifecycle/errors/unknownInitializationError.d.ts +3 -0
  93. package/dist/lifecycle/errors/unknownInitializationError.d.ts.map +1 -0
  94. package/dist/lifecycle/errors/unknownInitializationError.js +8 -0
  95. package/dist/lifecycle/errors/unsupportedProtocolVersionError.d.ts +6 -0
  96. package/dist/lifecycle/errors/unsupportedProtocolVersionError.d.ts.map +1 -0
  97. package/dist/lifecycle/errors/unsupportedProtocolVersionError.js +9 -0
  98. package/dist/lifecycle/isAllowedLocalPreviewUrl.d.ts.map +1 -0
  99. package/dist/{isAllowedLocalPreviewUrl.js → lifecycle/isAllowedLocalPreviewUrl.js} +1 -1
  100. package/dist/lifecycle/{protocolVersion.d.ts → isValidBridgeProtocolVersion.d.ts} +1 -1
  101. package/dist/lifecycle/isValidBridgeProtocolVersion.d.ts.map +1 -0
  102. package/dist/lifecycle/types.d.ts +16 -1849
  103. package/dist/lifecycle/types.d.ts.map +1 -1
  104. package/dist/lifecycle/types.js +1 -41
  105. package/dist/{lifecycle → manifest}/resolveManifest.d.ts +2 -2
  106. package/dist/manifest/resolveManifest.d.ts.map +1 -0
  107. package/dist/manifest/types.d.ts +59 -0
  108. package/dist/manifest/types.d.ts.map +1 -0
  109. package/dist/manifest/types.js +10 -0
  110. package/dist/messages/{sandboxMessageRouter.d.ts → createSandboxMessageRouter.d.ts} +15 -15
  111. package/dist/messages/createSandboxMessageRouter.d.ts.map +1 -0
  112. package/dist/messages/{sandboxMessageRouter.js → createSandboxMessageRouter.js} +5 -4
  113. package/dist/messages/{invalidSandboxMessage.d.ts → getInvalidSandboxMessageResponse.d.ts} +1 -1
  114. package/dist/messages/getInvalidSandboxMessageResponse.d.ts.map +1 -0
  115. package/dist/messages/handlers.d.ts +26 -0
  116. package/dist/messages/handlers.d.ts.map +1 -0
  117. package/dist/messages/handlers.js +1 -0
  118. package/dist/messages/logging.d.ts +2 -0
  119. package/dist/messages/logging.d.ts.map +1 -0
  120. package/dist/messages/logging.js +1 -0
  121. package/dist/navigation/parseExternalUrl.d.ts.map +1 -0
  122. package/dist/navigation/types.d.ts +9 -0
  123. package/dist/navigation/types.d.ts.map +1 -0
  124. package/dist/navigation/types.js +1 -0
  125. package/dist/pages/types.d.ts +20 -0
  126. package/dist/pages/types.d.ts.map +1 -0
  127. package/dist/pages/types.js +1 -0
  128. package/dist/protocol/{messages/updatePage.d.ts → compatibility/protocol3To5/bridgePage.d.ts} +32 -22
  129. package/dist/protocol/compatibility/protocol3To5/bridgePage.js +21 -0
  130. package/dist/protocol/{dataSources → compatibility/protocol3To5}/dataSourcePage.js +1 -1
  131. package/dist/protocol/{dataSources → compatibility/protocol3To5}/dataSourceValue.js +2 -2
  132. package/dist/protocol/context/containingPage.d.ts +31 -0
  133. package/dist/protocol/context/containingPage.js +18 -0
  134. package/dist/protocol/{messages → context/messages}/pageChanged.js +1 -1
  135. package/dist/protocol/{parent.d.ts → context/parent.d.ts} +11 -1
  136. package/dist/protocol/context/parent.js +31 -0
  137. package/dist/protocol/dataSources/bridgeDataSourceBinding.d.ts +164 -0
  138. package/dist/protocol/dataSources/bridgeDataSourceBinding.js +25 -0
  139. package/dist/protocol/dataSources/bridgeDataSourceBindings.d.ts +148 -0
  140. package/dist/protocol/dataSources/bridgeDataSourceBindings.js +3 -0
  141. package/dist/protocol/dataSources/collectionPointer.d.ts +7 -0
  142. package/dist/protocol/dataSources/collectionPointer.js +7 -0
  143. package/dist/protocol/dataSources/collectionSchema.d.ts +144 -0
  144. package/dist/protocol/dataSources/collectionSchema.js +12 -0
  145. package/dist/protocol/dataSources/errors.d.ts +2 -2
  146. package/dist/protocol/dataSources/filters/bridgeDataSourceFilter.d.ts +505 -0
  147. package/dist/protocol/dataSources/filters/bridgeDataSourceFilter.js +8 -0
  148. package/dist/protocol/dataSources/filters/bridgeDataSourceFilterCondition.d.ts +253 -0
  149. package/dist/protocol/dataSources/filters/bridgeDataSourceFilterCondition.js +69 -0
  150. package/dist/protocol/dataSources/filters/bridgeDataSourceSort.d.ts +11 -0
  151. package/dist/protocol/dataSources/filters/bridgeDataSourceSort.js +8 -0
  152. package/dist/protocol/dataSources/filters/checkboxFilterOperator.d.ts +7 -0
  153. package/dist/protocol/dataSources/filters/checkboxFilterOperator.js +5 -0
  154. package/dist/protocol/dataSources/filters/containsFilterOperator.d.ts +13 -0
  155. package/dist/protocol/dataSources/filters/containsFilterOperator.js +9 -0
  156. package/dist/protocol/dataSources/filters/createdByFilterOperator.d.ts +17 -0
  157. package/dist/protocol/dataSources/filters/createdByFilterOperator.js +11 -0
  158. package/dist/protocol/dataSources/filters/dateFilterOperator.d.ts +47 -0
  159. package/dist/protocol/dataSources/filters/dateFilterOperator.js +73 -0
  160. package/dist/protocol/dataSources/filters/emptyOperator.d.ts +6 -0
  161. package/dist/protocol/dataSources/filters/emptyOperator.js +5 -0
  162. package/dist/protocol/dataSources/filters/numberFilterOperator.d.ts +19 -0
  163. package/dist/protocol/dataSources/filters/numberFilterOperator.js +11 -0
  164. package/dist/protocol/dataSources/filters/optionFilterOperator.d.ts +11 -0
  165. package/dist/protocol/dataSources/filters/optionFilterOperator.js +8 -0
  166. package/dist/protocol/dataSources/filters/peopleFilterOperator.d.ts +23 -0
  167. package/dist/protocol/dataSources/filters/peopleFilterOperator.js +11 -0
  168. package/dist/protocol/dataSources/filters/relationFilterOperator.d.ts +11 -0
  169. package/dist/protocol/dataSources/filters/relationFilterOperator.js +12 -0
  170. package/dist/protocol/dataSources/filters/statusFilterOperator.d.ts +15 -0
  171. package/dist/protocol/dataSources/filters/statusFilterOperator.js +7 -0
  172. package/dist/protocol/dataSources/filters/statusGroupFilterOperator.d.ts +9 -0
  173. package/dist/protocol/dataSources/filters/statusGroupFilterOperator.js +18 -0
  174. package/dist/protocol/dataSources/filters/stringOrStringArray.d.ts +2 -0
  175. package/dist/protocol/dataSources/filters/stringOrStringArray.js +5 -0
  176. package/dist/protocol/dataSources/filters/textFilterOperator.d.ts +19 -0
  177. package/dist/protocol/dataSources/filters/textFilterOperator.js +11 -0
  178. package/dist/protocol/dataSources/makeBridgeDataSourceBinding.d.ts +6 -0
  179. package/dist/protocol/dataSources/makeBridgeDataSourceBinding.js +6 -0
  180. package/dist/protocol/{messages → dataSources/messages}/dataSourcesChanged.d.ts +1 -0
  181. package/dist/protocol/{messages → dataSources/messages}/dataSourcesChanged.js +2 -2
  182. package/dist/protocol/{messages/queryDataSourceResult.d.ts → dataSources/messages/queryDataSource.d.ts} +525 -2
  183. package/dist/protocol/{messages/queryDataSourceResult.js → dataSources/messages/queryDataSource.js} +24 -7
  184. package/dist/protocol/dataSources/notionDataSource.d.ts +309 -0
  185. package/dist/protocol/dataSources/notionDataSource.js +38 -0
  186. package/dist/protocol/dataSources/resolveDataSourceBinding.d.ts +32 -0
  187. package/dist/protocol/dataSources/resolveDataSourceBinding.js +33 -0
  188. package/dist/protocol/{messages → handshake}/connect.d.ts +4 -0
  189. package/dist/protocol/{messages → handshake}/connect.js +2 -2
  190. package/dist/protocol/{messages → handshake}/init.d.ts +6 -1
  191. package/dist/protocol/{messages → handshake}/init.js +10 -10
  192. package/dist/protocol/{messages → handshake}/initResult.d.ts +1 -1
  193. package/dist/protocol/{messages → handshake}/isInitHandshakeMessage.d.ts +2 -2
  194. package/dist/protocol/index.d.ts +150 -54
  195. package/dist/protocol/index.js +73 -54
  196. package/dist/protocol/manifest/capabilities.d.ts +37 -0
  197. package/dist/protocol/manifest/capabilities.js +13 -0
  198. package/dist/protocol/{manifest.d.ts → manifest/manifest.d.ts} +12 -2
  199. package/dist/protocol/{manifest.js → manifest/manifest.js} +8 -1
  200. package/dist/protocol/messages/hostToSandbox.d.ts +12 -0
  201. package/dist/protocol/messages/hostToSandbox.js +15 -15
  202. package/dist/protocol/messages/messagePayload.d.ts +1 -1
  203. package/dist/protocol/messages/sandboxToHost.d.ts +232 -8
  204. package/dist/protocol/messages/sandboxToHost.js +12 -12
  205. package/dist/protocol/{messages → navigation}/openExternalUrl.d.ts +1 -1
  206. package/dist/protocol/{messages/createPage.d.ts → pages/bridgePage.d.ts} +67 -65
  207. package/dist/protocol/pages/bridgePage.js +25 -0
  208. package/dist/protocol/pages/makeBridgePage.d.ts +4 -0
  209. package/dist/protocol/pages/makeBridgePage.js +12 -0
  210. package/dist/protocol/{messages/createPageResult.d.ts → pages/messages/createPage.d.ts} +500 -2
  211. package/dist/protocol/pages/messages/createPage.js +104 -0
  212. package/dist/protocol/{messages → pages/messages}/getPage.d.ts +2 -2
  213. package/dist/protocol/{messages → pages/messages}/getPage.js +5 -4
  214. package/dist/protocol/{messages → pages/messages}/openPage.d.ts +2 -2
  215. package/dist/protocol/{messages → pages/messages}/openPage.js +1 -1
  216. package/dist/protocol/{messages/updatePageResult.d.ts → pages/messages/updatePage.d.ts} +272 -2
  217. package/dist/protocol/pages/messages/updatePage.js +65 -0
  218. package/dist/protocol/pages/pageAppearance.d.ts +62 -0
  219. package/dist/protocol/pages/pageAppearance.js +34 -0
  220. package/dist/protocol/pages/properties/bridgePagePropertyMaps.d.ts +433 -0
  221. package/dist/protocol/pages/properties/bridgePagePropertyMaps.js +4 -0
  222. package/dist/protocol/pages/properties/bridgePagePropertyValue.d.ts +217 -0
  223. package/dist/protocol/pages/properties/bridgePagePropertyValue.js +144 -0
  224. package/dist/protocol/pages/properties/dateInput.d.ts +45 -0
  225. package/dist/protocol/pages/properties/dateInput.js +23 -0
  226. package/dist/protocol/pages/properties/fileInput.d.ts +16 -0
  227. package/dist/protocol/pages/properties/fileInput.js +16 -0
  228. package/dist/protocol/pages/properties/metadataActor.d.ts +6 -0
  229. package/dist/protocol/pages/properties/metadataActor.js +7 -0
  230. package/dist/protocol/pages/properties/placeInput.d.ts +10 -0
  231. package/dist/protocol/pages/properties/placeInput.js +10 -0
  232. package/dist/protocol/pages/properties/relationInput.d.ts +5 -0
  233. package/dist/protocol/pages/properties/relationInput.js +2 -0
  234. package/dist/protocol/pages/properties/richText.d.ts +3 -0
  235. package/dist/protocol/pages/properties/richText.js +2 -0
  236. package/dist/protocol/pages/properties/selectOption.d.ts +13 -0
  237. package/dist/protocol/pages/properties/selectOption.js +16 -0
  238. package/dist/protocol/pages/properties/userInput.d.ts +10 -0
  239. package/dist/protocol/pages/properties/userInput.js +13 -0
  240. package/dist/protocol/users/bridgeUser.d.ts +12 -0
  241. package/dist/protocol/users/bridgeUser.js +12 -0
  242. package/dist/protocol/users/{user.d.ts → bridgeUserList.d.ts} +2 -15
  243. package/dist/protocol/users/bridgeUserList.js +10 -0
  244. package/dist/protocol/users/makeBridgeUser.d.ts +4 -0
  245. package/dist/protocol/users/makeBridgeUser.js +11 -0
  246. package/dist/protocol/{messages → users/messages}/currentUserChanged.js +2 -2
  247. package/dist/protocol/{messages → users/messages}/getUser.d.ts +2 -2
  248. package/dist/protocol/{messages → users/messages}/getUser.js +3 -2
  249. package/dist/protocol/{messages → users/messages}/listUsers.d.ts +2 -2
  250. package/dist/protocol/{messages → users/messages}/listUsers.js +2 -2
  251. package/dist/protocol/users/userId.d.ts +3 -0
  252. package/dist/protocol/users/userId.js +2 -0
  253. package/dist/protocol/{errors.d.ts → utils/errors.d.ts} +6 -0
  254. package/dist/protocol/utils/errors.js +11 -0
  255. package/dist/protocol/utils/nullableStringSchema.d.ts +2 -0
  256. package/dist/protocol/utils/nullableStringSchema.js +2 -0
  257. package/dist/users/types.d.ts +9 -0
  258. package/dist/users/types.d.ts.map +1 -0
  259. package/dist/users/types.js +1 -0
  260. package/dist/utils/maybePromise.d.ts +2 -0
  261. package/dist/utils/maybePromise.d.ts.map +1 -0
  262. package/dist/utils/maybePromise.js +1 -0
  263. package/dist/utils/protocolVersion.d.ts.map +1 -0
  264. package/dist/utils/toNotionPageId.d.ts +3 -0
  265. package/dist/utils/toNotionPageId.d.ts.map +1 -0
  266. package/dist/{ids.js → utils/toNotionPageId.js} +1 -1
  267. package/dist/{utils.d.ts → utils/unreachable.d.ts} +1 -1
  268. package/dist/utils/unreachable.d.ts.map +1 -0
  269. package/docs/bridge/protocol.md +20 -5
  270. package/docs/bridge/versioning.md +2 -2
  271. package/docs/handlers.md +3 -3
  272. package/package.json +1 -1
  273. package/src/compatibility/normalizeHostToSandboxMessage.ts +4 -4
  274. package/src/compatibility/{pageWithNullTextFallbackProperties.ts → pages/toPageWithNullTextFallbackProperties.ts} +4 -4
  275. package/src/compatibility/{addMetadataReadSchemasForProtocol3To4.ts → protocol3To4/addMetadataReadSchemasForProtocol3To4.ts} +1 -1
  276. package/src/compatibility/{normalizePageResultsForProtocol3To5.ts → protocol3To5/normalizePageResultsForProtocol3To5.ts} +4 -6
  277. package/src/compatibility/protocol3To5/toDateTimeValueForProtocol3To5.ts +25 -0
  278. package/src/compatibility/protocol3To5/toPageForProtocol3To5.ts +29 -0
  279. package/src/compatibility/protocol3To5/toPropertyValueForProtocol3To5.ts +102 -0
  280. package/src/compatibility/protocol3To5/toQueryPageForProtocol3To5.ts +35 -0
  281. package/src/compatibility/{normalizePageResultsForProtocol6.ts → protocol6/normalizePageResultsForProtocol6.ts} +2 -2
  282. package/src/context/initialState.ts +65 -0
  283. package/src/context/resize.ts +4 -0
  284. package/src/createCustomBlockHost.ts +74 -73
  285. package/src/{autoBindProperties.ts → dataSources/bindings/getAutoBoundPropertyIdsByKey.ts} +1 -1
  286. package/src/{dateValue.ts → dataSources/properties/toNotionDateValue.ts} +2 -2
  287. package/src/{queries → dataSources/queries}/querySubscriptions.ts +2 -2
  288. package/src/dataSources/types.ts +26 -0
  289. package/src/{queries → dataSources/validation}/validateQueryDataSourceFilter.ts +11 -13
  290. package/src/{queries → dataSources/validation}/validateQueryDataSourceSorts.ts +6 -8
  291. package/src/index.ts +37 -27
  292. package/src/lifecycle/{initializationController.ts → createInitializationController.ts} +15 -20
  293. package/src/lifecycle/errors/contextUnavailableError.ts +10 -0
  294. package/src/lifecycle/errors/initialStateTimeoutError.ts +10 -0
  295. package/src/lifecycle/errors/invalidConnectPayloadError.ts +10 -0
  296. package/src/lifecycle/errors/invalidInitResultPayloadError.ts +10 -0
  297. package/src/lifecycle/errors/invalidLocalPreviewUrlError.ts +10 -0
  298. package/src/lifecycle/errors/invalidPropertyBindingError.ts +11 -0
  299. package/src/lifecycle/errors/invalidProtocolVersionError.ts +13 -0
  300. package/src/lifecycle/errors/missingDataSourceBindingError.ts +10 -0
  301. package/src/lifecycle/errors/missingPropertyBindingError.ts +10 -0
  302. package/src/lifecycle/errors/noConnectError.ts +15 -0
  303. package/src/lifecycle/errors/noInitResultError.ts +10 -0
  304. package/src/lifecycle/errors/unknownInitializationError.ts +10 -0
  305. package/src/lifecycle/errors/unsupportedProtocolVersionError.ts +14 -0
  306. package/src/{isAllowedLocalPreviewUrl.ts → lifecycle/isAllowedLocalPreviewUrl.ts} +1 -1
  307. package/src/lifecycle/types.ts +17 -103
  308. package/src/{lifecycle → manifest}/resolveManifest.ts +2 -2
  309. package/src/manifest/types.ts +28 -0
  310. package/src/messages/{sandboxMessageRouter.ts → createSandboxMessageRouter.ts} +19 -21
  311. package/src/messages/handlers.ts +54 -0
  312. package/src/messages/logging.ts +1 -0
  313. package/src/navigation/types.ts +20 -0
  314. package/src/pages/types.ts +55 -0
  315. package/src/users/types.ts +26 -0
  316. package/src/utils/maybePromise.ts +1 -0
  317. package/src/utils/toNotionPageId.ts +7 -0
  318. package/dist/autoBindProperties.d.ts.map +0 -1
  319. package/dist/compatibility/normalizePageResultsForProtocol3To5.d.ts.map +0 -1
  320. package/dist/compatibility/normalizePageResultsForProtocol6.d.ts.map +0 -1
  321. package/dist/compatibility/pageForProtocol3To5.d.ts.map +0 -1
  322. package/dist/compatibility/pageResult.d.ts.map +0 -1
  323. package/dist/compatibility/pageWithNullTextFallbackProperties.d.ts.map +0 -1
  324. package/dist/dateValue.d.ts.map +0 -1
  325. package/dist/ids.d.ts +0 -3
  326. package/dist/ids.d.ts.map +0 -1
  327. package/dist/isAllowedLocalPreviewUrl.d.ts.map +0 -1
  328. package/dist/lifecycle/initErrors.d.ts +0 -25
  329. package/dist/lifecycle/initErrors.d.ts.map +0 -1
  330. package/dist/lifecycle/initErrors.js +0 -111
  331. package/dist/lifecycle/initializationController.d.ts.map +0 -1
  332. package/dist/lifecycle/protocolVersion.d.ts.map +0 -1
  333. package/dist/lifecycle/resolveManifest.d.ts.map +0 -1
  334. package/dist/messages/invalidSandboxMessage.d.ts.map +0 -1
  335. package/dist/messages/parseExternalUrl.d.ts.map +0 -1
  336. package/dist/messages/sandboxMessageRouter.d.ts.map +0 -1
  337. package/dist/messages/types.d.ts +0 -65
  338. package/dist/messages/types.d.ts.map +0 -1
  339. package/dist/protocol/dataSources/dataSource.d.ts +0 -786
  340. package/dist/protocol/dataSources/dataSource.js +0 -66
  341. package/dist/protocol/errors.js +0 -6
  342. package/dist/protocol/messages/createPage.js +0 -51
  343. package/dist/protocol/messages/createPageResult.js +0 -43
  344. package/dist/protocol/messages/queryDataSource.d.ts +0 -1470
  345. package/dist/protocol/messages/queryDataSource.js +0 -254
  346. package/dist/protocol/messages/updatePage.js +0 -23
  347. package/dist/protocol/messages/updatePageResult.js +0 -41
  348. package/dist/protocol/pages/page.d.ts +0 -1422
  349. package/dist/protocol/pages/page.js +0 -318
  350. package/dist/protocol/parent.js +0 -13
  351. package/dist/protocol/users/user.js +0 -20
  352. package/dist/protocolVersion.d.ts.map +0 -1
  353. package/dist/queries/querySubscriptions.d.ts.map +0 -1
  354. package/dist/queries/types.d.ts +0 -5
  355. package/dist/queries/types.d.ts.map +0 -1
  356. package/dist/queries/validateQueryDataSourceFilter.d.ts +0 -5
  357. package/dist/queries/validateQueryDataSourceFilter.d.ts.map +0 -1
  358. package/dist/queries/validateQueryDataSourceSorts.d.ts +0 -8
  359. package/dist/queries/validateQueryDataSourceSorts.d.ts.map +0 -1
  360. package/dist/utils.d.ts.map +0 -1
  361. package/src/compatibility/pageForProtocol3To5.ts +0 -190
  362. package/src/ids.ts +0 -9
  363. package/src/lifecycle/initErrors.ts +0 -131
  364. package/src/messages/types.ts +0 -171
  365. package/src/queries/types.ts +0 -11
  366. /package/dist/compatibility/{pageResult.js → pages/pageResult.js} +0 -0
  367. /package/dist/{messages/types.js → context/resize.js} +0 -0
  368. /package/dist/{autoBindProperties.js → dataSources/bindings/getAutoBoundPropertyIdsByKey.js} +0 -0
  369. /package/dist/{dateValue.js → dataSources/properties/toNotionDateValue.js} +0 -0
  370. /package/dist/{queries → dataSources/queries}/querySubscriptions.js +0 -0
  371. /package/dist/{queries → dataSources}/types.js +0 -0
  372. /package/dist/{isAllowedLocalPreviewUrl.d.ts → lifecycle/isAllowedLocalPreviewUrl.d.ts} +0 -0
  373. /package/dist/lifecycle/{protocolVersion.js → isValidBridgeProtocolVersion.js} +0 -0
  374. /package/dist/{lifecycle → manifest}/resolveManifest.js +0 -0
  375. /package/dist/messages/{invalidSandboxMessage.js → getInvalidSandboxMessageResponse.js} +0 -0
  376. /package/dist/{messages → navigation}/parseExternalUrl.d.ts +0 -0
  377. /package/dist/{messages → navigation}/parseExternalUrl.js +0 -0
  378. /package/dist/protocol/{dataSources → compatibility/protocol3To5}/dataSourcePage.d.ts +0 -0
  379. /package/dist/protocol/{dataSources → compatibility/protocol3To5}/dataSourceValue.d.ts +0 -0
  380. /package/dist/protocol/{contrast.d.ts → context/contrast.d.ts} +0 -0
  381. /package/dist/protocol/{contrast.js → context/contrast.js} +0 -0
  382. /package/dist/protocol/{messages → context/messages}/contrastModeChanged.d.ts +0 -0
  383. /package/dist/protocol/{messages → context/messages}/contrastModeChanged.js +0 -0
  384. /package/dist/protocol/{messages → context/messages}/pageChanged.d.ts +0 -0
  385. /package/dist/protocol/{messages → context/messages}/parentChanged.d.ts +0 -0
  386. /package/dist/protocol/{messages → context/messages}/parentChanged.js +0 -0
  387. /package/dist/protocol/{messages → context/messages}/resize.d.ts +0 -0
  388. /package/dist/protocol/{messages → context/messages}/resize.js +0 -0
  389. /package/dist/protocol/{messages → context/messages}/themeChanged.d.ts +0 -0
  390. /package/dist/protocol/{messages → context/messages}/themeChanged.js +0 -0
  391. /package/dist/protocol/{theme.d.ts → context/theme.d.ts} +0 -0
  392. /package/dist/protocol/{theme.js → context/theme.js} +0 -0
  393. /package/dist/protocol/{messages → dataSources/messages}/unsubscribeDataSourceQuery.d.ts +0 -0
  394. /package/dist/protocol/{messages → dataSources/messages}/unsubscribeDataSourceQuery.js +0 -0
  395. /package/dist/protocol/dataSources/{dateValue.d.ts → properties/dateValue.d.ts} +0 -0
  396. /package/dist/protocol/dataSources/{dateValue.js → properties/dateValue.js} +0 -0
  397. /package/dist/protocol/dataSources/{propertySchema.d.ts → properties/propertySchema.d.ts} +0 -0
  398. /package/dist/protocol/dataSources/{propertySchema.js → properties/propertySchema.js} +0 -0
  399. /package/dist/protocol/{messages → handshake}/initResult.js +0 -0
  400. /package/dist/protocol/{messages → handshake}/isInitHandshakeMessage.js +0 -0
  401. /package/dist/protocol/{messages → navigation}/openExternalUrl.js +0 -0
  402. /package/dist/protocol/{messages → users/messages}/currentUserChanged.d.ts +0 -0
  403. /package/dist/protocol/{ids.d.ts → utils/ids.d.ts} +0 -0
  404. /package/dist/protocol/{ids.js → utils/ids.js} +0 -0
  405. /package/dist/protocol/{isLocalBlockServerUrl.d.ts → utils/isLocalBlockServerUrl.d.ts} +0 -0
  406. /package/dist/protocol/{isLocalBlockServerUrl.js → utils/isLocalBlockServerUrl.js} +0 -0
  407. /package/dist/protocol/{protocolVersion.d.ts → utils/protocolVersion.d.ts} +0 -0
  408. /package/dist/protocol/{protocolVersion.js → utils/protocolVersion.js} +0 -0
  409. /package/dist/protocol/{dataSources → utils}/recordPointer.d.ts +0 -0
  410. /package/dist/protocol/{dataSources → utils}/recordPointer.js +0 -0
  411. /package/dist/{protocolVersion.d.ts → utils/protocolVersion.d.ts} +0 -0
  412. /package/dist/{protocolVersion.js → utils/protocolVersion.js} +0 -0
  413. /package/dist/{utils.js → utils/unreachable.js} +0 -0
  414. /package/src/compatibility/{pageResult.ts → pages/pageResult.ts} +0 -0
  415. /package/src/lifecycle/{protocolVersion.ts → isValidBridgeProtocolVersion.ts} +0 -0
  416. /package/src/messages/{invalidSandboxMessage.ts → getInvalidSandboxMessageResponse.ts} +0 -0
  417. /package/src/{messages → navigation}/parseExternalUrl.ts +0 -0
  418. /package/src/{protocolVersion.ts → utils/protocolVersion.ts} +0 -0
  419. /package/src/{utils.ts → utils/unreachable.ts} +0 -0
@@ -0,0 +1,14 @@
1
+ import type { CustomBlockErrorInfo } from "@notionhq/custom-blocks-protocol/utils/errors.js"
2
+
3
+ export function unsupportedProtocolVersionError(args: {
4
+ currentBridgeProtocolVersion: number
5
+ minBridgeProtocolVersion: number
6
+ }): CustomBlockErrorInfo<"unsupported_protocol_version"> {
7
+ const { currentBridgeProtocolVersion, minBridgeProtocolVersion } = args
8
+ return {
9
+ code: "unsupported_protocol_version",
10
+ message: `Sandbox bridge protocol version ${currentBridgeProtocolVersion} is not supported. Minimum supported version is ${minBridgeProtocolVersion}.`,
11
+ // The sandbox must be updated to a supported protocol version.
12
+ isRetryable: false,
13
+ }
14
+ }
@@ -1,4 +1,4 @@
1
- import { isLocalBlockServerUrl } from "@notionhq/custom-blocks-protocol/isLocalBlockServerUrl.js"
1
+ import { isLocalBlockServerUrl } from "@notionhq/custom-blocks-protocol/utils/isLocalBlockServerUrl.js"
2
2
 
3
3
  /**
4
4
  * Checks whether a URL can serve a local custom block over HTTP or HTTPS.
@@ -1,45 +1,6 @@
1
- import { notionContrastModeSchema } from "@notionhq/custom-blocks-protocol/contrast.js"
2
- import { notionDataSourceBindingsSchema } from "@notionhq/custom-blocks-protocol/dataSources/dataSource.js"
3
- import { notionBlockIdSchema } from "@notionhq/custom-blocks-protocol/ids.js"
4
- import {
5
- type CustomBlockManifest,
6
- manifestSchema,
7
- } from "@notionhq/custom-blocks-protocol/manifest.js"
8
- import type { ConnectMessage } from "@notionhq/custom-blocks-protocol/messages/connect.js"
9
- import {
10
- type CustomBlockInitErrorInfo,
11
- customBlockInitErrorInfoSchema,
12
- } from "@notionhq/custom-blocks-protocol/messages/init.js"
13
- import { customBlockPageSchema } from "@notionhq/custom-blocks-protocol/pages/page.js"
14
- import { notionParentSchema } from "@notionhq/custom-blocks-protocol/parent.js"
15
- import { notionThemeSchema } from "@notionhq/custom-blocks-protocol/theme.js"
16
- import { notionUserSchema } from "@notionhq/custom-blocks-protocol/users/user.js"
17
- import * as v from "valibot"
18
- import type { CustomBlockHostFailure } from "../messages/types.js"
19
-
20
- /** Selects the manifest used to initialize a custom block. Both sources load independently. */
21
- export type CustomBlockManifestSource =
22
- /** Uses the persisted manifest returned by the host adapter's getPersistedManifest callback. */
23
- | "host"
24
- /** Uses the manifest sent in connect by a sandbox on a separate HTTP(S) loopback origin. */
25
- | "sandbox"
26
-
27
- export const customBlockHostManifestResultSchema = v.variant("status", [
28
- v.object({ status: v.literal("success"), manifest: manifestSchema }),
29
- v.object({
30
- status: v.literal("error"),
31
- error: customBlockInitErrorInfoSchema,
32
- }),
33
- ])
34
-
35
- /** A persisted manifest or an explicit loading error. The host validates and normalizes it. */
36
- export type CustomBlockHostManifestResult =
37
- | { status: "success"; manifest: v.InferInput<typeof manifestSchema> }
38
- | { status: "error"; error: CustomBlockInitErrorInfo }
39
-
40
- export type CustomBlockHostNormalizedManifestResult = v.InferOutput<
41
- typeof customBlockHostManifestResultSchema
42
- >
1
+ import type { ConnectMessage } from "@notionhq/custom-blocks-protocol/handshake/connect.js"
2
+ import type { BridgeCustomBlockManifest } from "@notionhq/custom-blocks-protocol/manifest/manifest.js"
3
+ import type { CustomBlockErrorInfo } from "@notionhq/custom-blocks-protocol/utils/errors.js"
43
4
 
44
5
  export type ConnectSuccessMessage = Extract<
45
6
  ConnectMessage,
@@ -63,7 +24,7 @@ export type CustomBlockHostStatus =
63
24
  */
64
25
  | {
65
26
  status: "preparingInit"
66
- localManifest: CustomBlockManifest | undefined
27
+ localManifest: BridgeCustomBlockManifest | undefined
67
28
  bridgeProtocolVersion: number
68
29
  sdkVersion: string
69
30
  }
@@ -76,7 +37,7 @@ export type CustomBlockHostStatus =
76
37
  */
77
38
  | {
78
39
  status: "initialized"
79
- resolvedManifest: CustomBlockManifest
40
+ resolvedManifest: BridgeCustomBlockManifest
80
41
  initialHeight: number | undefined
81
42
  }
82
43
  /**
@@ -90,63 +51,16 @@ export type CustomBlockHostStatus =
90
51
  /** Internal lifecycle discriminant, shared with the public status contract. */
91
52
  export type InitStatus = CustomBlockHostStatus["status"]
92
53
 
93
- export type CustomBlockHostDataSourcesPayload = {
94
- bindings: v.InferInput<typeof notionDataSourceBindingsSchema>
54
+ export type CustomBlockHostFailure = CustomBlockErrorInfo & {
55
+ /** The handshake step or host lifecycle event that failed. */
56
+ phase: /** The sandbox's connect message is missing, invalid, unsupported, or reports a startup error. */
57
+ | "connect"
58
+ /** The host cannot prepare or validate initial state, or preparation times out. */
59
+ | "init"
60
+ /** The sandbox's initialization acknowledgment is missing, invalid, or reports an error. */
61
+ | "initResult"
62
+ /** An iframe reload or unavailable page context stops the host, before or after initialization succeeds. */
63
+ | "runtime"
64
+ /** Who reported or detected the failure, regardless of who caused it. */
65
+ source: "host" | "sandbox"
95
66
  }
96
-
97
- export type CustomBlockHostNormalizedDataSourcesPayload = {
98
- bindings: v.InferOutput<typeof notionDataSourceBindingsSchema>
99
- }
100
-
101
- export const customBlockHostInitialStateSchema = v.object({
102
- theme: notionThemeSchema,
103
- /**
104
- * Defaults to standard for existing host integrations.
105
- * TODO(custom-blocks): Make this required when MIN_HOST_SUPPORTED_BRIDGE_PROTOCOL_VERSION increases to 4.
106
- */
107
- contrastMode: v.optional(notionContrastModeSchema),
108
- blockId: notionBlockIdSchema,
109
- parent: notionParentSchema,
110
- page: customBlockPageSchema,
111
- manifest: manifestSchema,
112
- dataSources: v.object({ bindings: notionDataSourceBindingsSchema }),
113
- currentUser: notionUserSchema,
114
- })
115
-
116
- export type CustomBlockHostInitialState = v.InferInput<
117
- typeof customBlockHostInitialStateSchema
118
- >
119
-
120
- export type CustomBlockHostInitialStateResult =
121
- | {
122
- status: "success"
123
- initialState: CustomBlockHostInitialState
124
- }
125
- | {
126
- status: "error"
127
- error: CustomBlockInitErrorInfo
128
- }
129
-
130
- export const customBlockHostPreparedStateResultSchema = v.variant("status", [
131
- v.object({
132
- status: v.literal("success"),
133
- initialState: v.omit(customBlockHostInitialStateSchema, ["manifest"]),
134
- }),
135
- v.object({
136
- status: v.literal("error"),
137
- error: customBlockInitErrorInfoSchema,
138
- }),
139
- ])
140
-
141
- /** Adapter-owned state or an explicit preparation error. The host adds the manifest to init. */
142
- export type CustomBlockHostPreparedStateResult =
143
- | {
144
- status: "success"
145
- initialState: Omit<CustomBlockHostInitialState, "manifest">
146
- }
147
- | { status: "error"; error: CustomBlockInitErrorInfo }
148
-
149
- export type CustomBlockHostPrepareInitialState = (args: {
150
- manifest: CustomBlockManifest
151
- signal: AbortSignal
152
- }) => Promise<CustomBlockHostPreparedStateResult>
@@ -1,4 +1,4 @@
1
- import type { CustomBlockManifest } from "@notionhq/custom-blocks-protocol/manifest.js"
1
+ import type { BridgeCustomBlockManifest } from "@notionhq/custom-blocks-protocol/manifest/manifest.js"
2
2
  import type {
3
3
  CustomBlockHostNormalizedManifestResult,
4
4
  CustomBlockManifestSource,
@@ -12,7 +12,7 @@ import type {
12
12
  export async function resolveManifest(args: {
13
13
  manifestSource: CustomBlockManifestSource
14
14
  hostManifest: Promise<CustomBlockHostNormalizedManifestResult>
15
- connectManifest: CustomBlockManifest | undefined
15
+ connectManifest: BridgeCustomBlockManifest | undefined
16
16
  }): Promise<CustomBlockHostNormalizedManifestResult> {
17
17
  if (args.manifestSource === "host") {
18
18
  return args.hostManifest
@@ -0,0 +1,28 @@
1
+ import type { CustomBlockInitErrorInfo } from "@notionhq/custom-blocks-protocol/handshake/init.js"
2
+ import { customBlockInitErrorInfoSchema } from "@notionhq/custom-blocks-protocol/handshake/init.js"
3
+ import { manifestSchema } from "@notionhq/custom-blocks-protocol/manifest/manifest.js"
4
+ import * as v from "valibot"
5
+
6
+ /** Selects the manifest used to initialize a custom block. Both sources load independently. */
7
+ export type CustomBlockManifestSource =
8
+ /** Uses the persisted manifest returned by the host adapter's getPersistedManifest callback. */
9
+ | "host"
10
+ /** Uses the manifest sent in connect by a sandbox on a separate HTTP(S) loopback origin. */
11
+ | "sandbox"
12
+
13
+ export const customBlockHostManifestResultSchema = v.variant("status", [
14
+ v.object({ status: v.literal("success"), manifest: manifestSchema }),
15
+ v.object({
16
+ status: v.literal("error"),
17
+ error: customBlockInitErrorInfoSchema,
18
+ }),
19
+ ])
20
+
21
+ /** A persisted manifest or an explicit loading error. The host validates and normalizes it. */
22
+ export type CustomBlockHostManifestResult =
23
+ | { status: "success"; manifest: v.InferInput<typeof manifestSchema> }
24
+ | { status: "error"; error: CustomBlockInitErrorInfo }
25
+
26
+ export type CustomBlockHostNormalizedManifestResult = v.InferOutput<
27
+ typeof customBlockHostManifestResultSchema
28
+ >
@@ -1,28 +1,26 @@
1
- import type { ConnectMessage } from "@notionhq/custom-blocks-protocol/messages/connect.js"
2
- import type { CreatePageMessage } from "@notionhq/custom-blocks-protocol/messages/createPage.js"
3
- import type { GetPageMessage } from "@notionhq/custom-blocks-protocol/messages/getPage.js"
4
- import type { GetUserMessage } from "@notionhq/custom-blocks-protocol/messages/getUser.js"
5
- import type { InitResultMessage } from "@notionhq/custom-blocks-protocol/messages/initResult.js"
1
+ import type { ResizeMessage } from "@notionhq/custom-blocks-protocol/context/messages/resize.js"
2
+ import type { QueryDataSourceMessage } from "@notionhq/custom-blocks-protocol/dataSources/messages/queryDataSource.js"
3
+ import type { UnsubscribeDataSourceQueryMessage } from "@notionhq/custom-blocks-protocol/dataSources/messages/unsubscribeDataSourceQuery.js"
4
+ import type { ConnectMessage } from "@notionhq/custom-blocks-protocol/handshake/connect.js"
5
+ import type { InitResultMessage } from "@notionhq/custom-blocks-protocol/handshake/initResult.js"
6
+ import { isInitHandshakeMessage } from "@notionhq/custom-blocks-protocol/handshake/isInitHandshakeMessage.js"
6
7
  import type { InvalidSandboxMessage } from "@notionhq/custom-blocks-protocol/messages/invalidSandboxMessage.js"
7
- import { isInitHandshakeMessage } from "@notionhq/custom-blocks-protocol/messages/isInitHandshakeMessage.js"
8
- import type { ListUsersMessage } from "@notionhq/custom-blocks-protocol/messages/listUsers.js"
9
- import type { OpenExternalUrlMessage } from "@notionhq/custom-blocks-protocol/messages/openExternalUrl.js"
10
- import type { OpenPageMessage } from "@notionhq/custom-blocks-protocol/messages/openPage.js"
11
- import type { QueryDataSourceMessage } from "@notionhq/custom-blocks-protocol/messages/queryDataSource.js"
12
- import type { ResizeMessage } from "@notionhq/custom-blocks-protocol/messages/resize.js"
13
- import type { UnsubscribeDataSourceQueryMessage } from "@notionhq/custom-blocks-protocol/messages/unsubscribeDataSourceQuery.js"
14
- import type { UpdatePageMessage } from "@notionhq/custom-blocks-protocol/messages/updatePage.js"
8
+ import type { OpenExternalUrlMessage } from "@notionhq/custom-blocks-protocol/navigation/openExternalUrl.js"
9
+ import type { CreatePageMessage } from "@notionhq/custom-blocks-protocol/pages/messages/createPage.js"
10
+ import type { GetPageMessage } from "@notionhq/custom-blocks-protocol/pages/messages/getPage.js"
11
+ import type { OpenPageMessage } from "@notionhq/custom-blocks-protocol/pages/messages/openPage.js"
12
+ import type { UpdatePageMessage } from "@notionhq/custom-blocks-protocol/pages/messages/updatePage.js"
13
+ import type { GetUserMessage } from "@notionhq/custom-blocks-protocol/users/messages/getUser.js"
14
+ import type { ListUsersMessage } from "@notionhq/custom-blocks-protocol/users/messages/listUsers.js"
15
15
  import * as v from "valibot"
16
16
  import { normalizeSandboxToHostMessage } from "../compatibility/normalizeSandboxToHostMessage.js"
17
- import {
18
- invalidConnectPayloadError,
19
- invalidInitResultPayloadError,
20
- } from "../lifecycle/initErrors.js"
21
- import type { InitializationController } from "../lifecycle/initializationController.js"
17
+ import type { InitializationController } from "../lifecycle/createInitializationController.js"
18
+ import { invalidConnectPayloadError } from "../lifecycle/errors/invalidConnectPayloadError.js"
19
+ import { invalidInitResultPayloadError } from "../lifecycle/errors/invalidInitResultPayloadError.js"
22
20
  import type { InitStatus } from "../lifecycle/types.js"
23
- import { unreachable } from "../utils.js"
24
- import { getInvalidSandboxMessageResponse } from "./invalidSandboxMessage.js"
25
- import type { CustomBlockHostLogDirection } from "./types.js"
21
+ import { unreachable } from "../utils/unreachable.js"
22
+ import { getInvalidSandboxMessageResponse } from "./getInvalidSandboxMessageResponse.js"
23
+ import type { CustomBlockHostLogDirection } from "./logging.js"
26
24
 
27
25
  const initializationIdentitySchema = v.object({
28
26
  initializationId: v.string(),
@@ -0,0 +1,54 @@
1
+ import type { ResizeMessage } from "@notionhq/custom-blocks-protocol/context/messages/resize.js"
2
+ import type { QueryDataSourceMessage } from "@notionhq/custom-blocks-protocol/dataSources/messages/queryDataSource.js"
3
+ import type { OpenExternalUrlMessage } from "@notionhq/custom-blocks-protocol/navigation/openExternalUrl.js"
4
+ import type { CreatePageMessage } from "@notionhq/custom-blocks-protocol/pages/messages/createPage.js"
5
+ import type { GetPageMessage } from "@notionhq/custom-blocks-protocol/pages/messages/getPage.js"
6
+ import type { OpenPageMessage } from "@notionhq/custom-blocks-protocol/pages/messages/openPage.js"
7
+ import type { UpdatePageMessage } from "@notionhq/custom-blocks-protocol/pages/messages/updatePage.js"
8
+ import type { GetUserMessage } from "@notionhq/custom-blocks-protocol/users/messages/getUser.js"
9
+ import type { ListUsersMessage } from "@notionhq/custom-blocks-protocol/users/messages/listUsers.js"
10
+ import type { CustomBlockHostQueryDataSourceResult } from "../dataSources/types.js"
11
+ import type {
12
+ CustomBlockHostNavigationContext,
13
+ CustomBlockHostOpenExternalUrlResult,
14
+ } from "../navigation/types.js"
15
+ import type {
16
+ CustomBlockHostCreatePageResult,
17
+ CustomBlockHostGetPageResult,
18
+ CustomBlockHostOpenPageResult,
19
+ CustomBlockHostUpdatePageResult,
20
+ } from "../pages/types.js"
21
+ import type {
22
+ CustomBlockHostGetUserResult,
23
+ CustomBlockHostListUsersResult,
24
+ } from "../users/types.js"
25
+ import type { MaybePromise } from "../utils/maybePromise.js"
26
+
27
+ export type CustomBlockHostHandlers = {
28
+ queryDataSource: (
29
+ message: QueryDataSourceMessage,
30
+ ) => MaybePromise<CustomBlockHostQueryDataSourceResult>
31
+ createPage?: (
32
+ message: CreatePageMessage,
33
+ ) => MaybePromise<CustomBlockHostCreatePageResult>
34
+ getPage?: (
35
+ message: GetPageMessage,
36
+ ) => MaybePromise<CustomBlockHostGetPageResult>
37
+ getUser?: (
38
+ message: GetUserMessage,
39
+ ) => MaybePromise<CustomBlockHostGetUserResult>
40
+ listUsers?: (
41
+ message: ListUsersMessage,
42
+ ) => MaybePromise<CustomBlockHostListUsersResult>
43
+ openPage?: (
44
+ message: OpenPageMessage,
45
+ ) => MaybePromise<CustomBlockHostOpenPageResult>
46
+ openExternalUrl?: (
47
+ message: OpenExternalUrlMessage,
48
+ context: CustomBlockHostNavigationContext,
49
+ ) => MaybePromise<CustomBlockHostOpenExternalUrlResult>
50
+ updatePage?: (
51
+ message: UpdatePageMessage,
52
+ ) => MaybePromise<CustomBlockHostUpdatePageResult>
53
+ resize?: (message: ResizeMessage) => void
54
+ }
@@ -0,0 +1 @@
1
+ export type CustomBlockHostLogDirection = "in" | "out" | "warn"
@@ -0,0 +1,20 @@
1
+ import type { BridgeMessagePayload } from "@notionhq/custom-blocks-protocol/messages/messagePayload.js"
2
+ import type {
3
+ CustomBlockOpenExternalUrlErrorInfo,
4
+ OpenExternalUrlResultMessage,
5
+ openExternalUrlMessageSchema,
6
+ } from "@notionhq/custom-blocks-protocol/navigation/openExternalUrl.js"
7
+ import type { InferInput } from "valibot"
8
+
9
+ export type CustomBlockHostOpenExternalUrlResult = BridgeMessagePayload<
10
+ OpenExternalUrlResultMessage,
11
+ CustomBlockOpenExternalUrlErrorInfo
12
+ >
13
+
14
+ export type CustomBlockHostNavigationContext = {
15
+ signal: AbortSignal
16
+ }
17
+
18
+ export type OpenExternalUrlMessageInput = InferInput<
19
+ typeof openExternalUrlMessageSchema
20
+ >
@@ -0,0 +1,55 @@
1
+ import type { BridgeMessagePayload } from "@notionhq/custom-blocks-protocol/messages/messagePayload.js"
2
+ import type {
3
+ CustomBlockCreatePageErrorInfo,
4
+ createPageMessageSchema,
5
+ createPageResultMessageSchema,
6
+ } from "@notionhq/custom-blocks-protocol/pages/messages/createPage.js"
7
+ import type {
8
+ CustomBlockGetPageErrorInfo,
9
+ getPageMessageSchema,
10
+ getPageResultMessageSchema,
11
+ } from "@notionhq/custom-blocks-protocol/pages/messages/getPage.js"
12
+ import type {
13
+ CustomBlockOpenPageErrorInfo,
14
+ openPageMessageSchema,
15
+ openPageResultMessageSchema,
16
+ } from "@notionhq/custom-blocks-protocol/pages/messages/openPage.js"
17
+ import type {
18
+ CustomBlockUpdatePageErrorInfo,
19
+ updatePageMessageSchema,
20
+ updatePageResultMessageSchema,
21
+ } from "@notionhq/custom-blocks-protocol/pages/messages/updatePage.js"
22
+ import type { InferInput } from "valibot"
23
+
24
+ /**
25
+ * Host results use InferInput so adapters can return plain string IDs.
26
+ * The runtime validates results before sending them and assigns protocol ID brands.
27
+ * Handler requests use parsed protocol types, whose IDs are already branded.
28
+ */
29
+ export type CustomBlockHostCreatePageResult = BridgeMessagePayload<
30
+ InferInput<typeof createPageResultMessageSchema>,
31
+ CustomBlockCreatePageErrorInfo
32
+ >
33
+
34
+ export type CustomBlockHostGetPageResult = BridgeMessagePayload<
35
+ InferInput<typeof getPageResultMessageSchema>,
36
+ CustomBlockGetPageErrorInfo
37
+ >
38
+
39
+ export type CustomBlockHostUpdatePageResult = BridgeMessagePayload<
40
+ InferInput<typeof updatePageResultMessageSchema>,
41
+ CustomBlockUpdatePageErrorInfo
42
+ >
43
+
44
+ export type CustomBlockHostOpenPageResult = BridgeMessagePayload<
45
+ InferInput<typeof openPageResultMessageSchema>,
46
+ CustomBlockOpenPageErrorInfo
47
+ >
48
+
49
+ export type CreatePageMessageInput = InferInput<typeof createPageMessageSchema>
50
+
51
+ export type GetPageMessageInput = InferInput<typeof getPageMessageSchema>
52
+
53
+ export type OpenPageMessageInput = InferInput<typeof openPageMessageSchema>
54
+
55
+ export type UpdatePageMessageInput = InferInput<typeof updatePageMessageSchema>
@@ -0,0 +1,26 @@
1
+ import type { BridgeMessagePayload } from "@notionhq/custom-blocks-protocol/messages/messagePayload.js"
2
+ import type {
3
+ CustomBlockGetUserErrorInfo,
4
+ getUserMessageSchema,
5
+ getUserResultMessageSchema,
6
+ } from "@notionhq/custom-blocks-protocol/users/messages/getUser.js"
7
+ import type {
8
+ CustomBlockListUsersErrorInfo,
9
+ listUsersMessageSchema,
10
+ listUsersResultMessageSchema,
11
+ } from "@notionhq/custom-blocks-protocol/users/messages/listUsers.js"
12
+ import type { InferInput } from "valibot"
13
+
14
+ export type CustomBlockHostGetUserResult = BridgeMessagePayload<
15
+ InferInput<typeof getUserResultMessageSchema>,
16
+ CustomBlockGetUserErrorInfo
17
+ >
18
+
19
+ export type CustomBlockHostListUsersResult = BridgeMessagePayload<
20
+ InferInput<typeof listUsersResultMessageSchema>,
21
+ CustomBlockListUsersErrorInfo
22
+ >
23
+
24
+ export type GetUserMessageInput = InferInput<typeof getUserMessageSchema>
25
+
26
+ export type ListUsersMessageInput = InferInput<typeof listUsersMessageSchema>
@@ -0,0 +1 @@
1
+ export type MaybePromise<T> = T | Promise<T>
@@ -0,0 +1,7 @@
1
+ import type { NotionPageId } from "@notionhq/custom-blocks-protocol/utils/ids.js"
2
+ import { notionPageIdSchema } from "@notionhq/custom-blocks-protocol/utils/ids.js"
3
+ import * as v from "valibot"
4
+
5
+ export function toNotionPageId(id: string): NotionPageId {
6
+ return v.parse(notionPageIdSchema, id)
7
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"autoBindProperties.d.ts","sourceRoot":"","sources":["../src/autoBindProperties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAA;AAExG,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,kBAAkB,CAAA;CACxB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IAClD,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAClE,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAA;CACnE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalizePageResultsForProtocol3To5.d.ts","sourceRoot":"","sources":["../../src/compatibility/normalizePageResultsForProtocol3To5.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iDAAiD,EAAE,MAAM,4DAA4D,CAAA;AAKnI,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAG3D;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CAClD,OAAO,EAAE,oBAAoB,GAC3B,iDAAiD,CAUnD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalizePageResultsForProtocol6.d.ts","sourceRoot":"","sources":["../../src/compatibility/normalizePageResultsForProtocol6.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAA;AACtG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAG3D;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC/C,OAAO,EAAE,oBAAoB,GAC3B,oBAAoB,CAWtB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pageForProtocol3To5.d.ts","sourceRoot":"","sources":["../../src/compatibility/pageForProtocol3To5.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,yBAAyB,EAEzB,oBAAoB,EACpB,MAAM,gDAAgD,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,WAAW,CAAC,OAAO,oBAAoB,CAAC,GAC5C,yBAAyB,CAe3B;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,WAAW,CAAC,OAAO,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB9C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pageResult.d.ts","sourceRoot":"","sources":["../../src/compatibility/pageResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAA;AAEtG;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACzC,oBAAoB,EACpB;IACC,IAAI,EACD,uBAAuB,GACvB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,CAAA;IACrB,MAAM,EAAE,SAAS,CAAA;CACjB,CACD,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pageWithNullTextFallbackProperties.d.ts","sourceRoot":"","sources":["../../src/compatibility/pageWithNullTextFallbackProperties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAA;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAG1C;;;;GAIG;AACH,wBAAgB,oCAAoC,CACnD,IAAI,EAAE,WAAW,CAAC,OAAO,oBAAoB,CAAC,GAC5C,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAyC1C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dateValue.d.ts","sourceRoot":"","sources":["../src/dateValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,MAAM,2DAA2D,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAErF,MAAM,MAAM,oBAAoB,GAC7B,UAAU,GACV,eAAe,GACf,CAAC,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,GACxC,CAAC,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEhD,qBAAa,sBAAuB,SAAQ,KAAK;CAAG;AAEpD,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,eAAe,GACpB,oBAAoB,CAStB"}
package/dist/ids.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { type NotionPageId } from "./protocol/ids.js";
2
- export declare function toNotionPageId(id: string): NotionPageId;
3
- //# sourceMappingURL=ids.d.ts.map
package/dist/ids.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,YAAY,EAEjB,MAAM,yCAAyC,CAAA;AAGhD,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAEvD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"isAllowedLocalPreviewUrl.d.ts","sourceRoot":"","sources":["../src/isAllowedLocalPreviewUrl.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,EACxC,GAAG,EACH,UAAU,GACV,EAAE;IACF,GAAG,EAAE,GAAG,CAAA;IACR,UAAU,EAAE,MAAM,CAAA;CAClB,GAAG,OAAO,CAOV"}
@@ -1,25 +0,0 @@
1
- import type { CustomBlockErrorInfo } from "../protocol/errors.js";
2
- /**
3
- * Initialization handshakes are one-shot: after an error, this host instance will not answer
4
- * another `connect` message. `isRetryable` means a fresh host and iframe could plausibly
5
- * initialize without changing block code or host configuration.
6
- */
7
- export declare function noConnectError(): CustomBlockErrorInfo<"no_connect">;
8
- export declare function invalidConnectPayloadError(): CustomBlockErrorInfo<"invalid_connect_payload">;
9
- export declare function invalidProtocolVersionError(args: {
10
- currentBridgeProtocolVersion: number | undefined;
11
- }): CustomBlockErrorInfo<"invalid_protocol_version">;
12
- export declare function unsupportedProtocolVersionError(args: {
13
- currentBridgeProtocolVersion: number;
14
- minBridgeProtocolVersion: number;
15
- }): CustomBlockErrorInfo<"unsupported_protocol_version">;
16
- export declare function contextUnavailableError(): CustomBlockErrorInfo<"context_unavailable">;
17
- export declare function initialStateTimeoutError(): CustomBlockErrorInfo<"initial_state_timeout">;
18
- export declare function missingDataSourceBindingError(): CustomBlockErrorInfo<"missing_data_source_binding">;
19
- export declare function missingPropertyBindingError(): CustomBlockErrorInfo<"missing_property_binding">;
20
- export declare function invalidPropertyBindingError(): CustomBlockErrorInfo<"invalid_property_binding">;
21
- export declare function noInitResultError(): CustomBlockErrorInfo<"no_init_result">;
22
- export declare function invalidInitResultPayloadError(): CustomBlockErrorInfo<"invalid_init_result_payload">;
23
- export declare function unknownInitializationError(): CustomBlockErrorInfo<"unknown_error">;
24
- export declare function invalidLocalPreviewUrlError(): CustomBlockErrorInfo<"invalid_local_preview_url">;
25
- //# sourceMappingURL=initErrors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initErrors.d.ts","sourceRoot":"","sources":["../../src/lifecycle/initErrors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAA;AAEtF;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,oBAAoB,CAAC,YAAY,CAAC,CAOnE;AAED,wBAAgB,0BAA0B,IAAI,oBAAoB,CAAC,yBAAyB,CAAC,CAO5F;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IACjD,4BAA4B,EAAE,MAAM,GAAG,SAAS,CAAA;CAChD,GAAG,oBAAoB,CAAC,0BAA0B,CAAC,CAQnD;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE;IACrD,4BAA4B,EAAE,MAAM,CAAA;IACpC,wBAAwB,EAAE,MAAM,CAAA;CAChC,GAAG,oBAAoB,CAAC,8BAA8B,CAAC,CAQvD;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,CAAC,qBAAqB,CAAC,CAOrF;AAED,wBAAgB,wBAAwB,IAAI,oBAAoB,CAAC,uBAAuB,CAAC,CAOxF;AAED,wBAAgB,6BAA6B,IAAI,oBAAoB,CAAC,6BAA6B,CAAC,CAOnG;AAED,wBAAgB,2BAA2B,IAAI,oBAAoB,CAAC,0BAA0B,CAAC,CAO9F;AAED,wBAAgB,2BAA2B,IAAI,oBAAoB,CAAC,0BAA0B,CAAC,CAQ9F;AAED,wBAAgB,iBAAiB,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,CAO1E;AAED,wBAAgB,6BAA6B,IAAI,oBAAoB,CAAC,6BAA6B,CAAC,CAOnG;AAED,wBAAgB,0BAA0B,IAAI,oBAAoB,CAAC,eAAe,CAAC,CAOlF;AAED,wBAAgB,2BAA2B,IAAI,oBAAoB,CAAC,2BAA2B,CAAC,CAO/F"}
@@ -1,111 +0,0 @@
1
- /**
2
- * Initialization handshakes are one-shot: after an error, this host instance will not answer
3
- * another `connect` message. `isRetryable` means a fresh host and iframe could plausibly
4
- * initialize without changing block code or host configuration.
5
- */
6
- export function noConnectError() {
7
- return {
8
- code: "no_connect",
9
- message: "Sandbox did not send a connect message.",
10
- // A fresh iframe may finish loading and send connect before the timeout.
11
- isRetryable: true,
12
- };
13
- }
14
- export function invalidConnectPayloadError() {
15
- return {
16
- code: "invalid_connect_payload",
17
- message: "Sandbox sent an invalid connect message.",
18
- // The sandbox must be updated to send a valid connect message.
19
- isRetryable: false,
20
- };
21
- }
22
- export function invalidProtocolVersionError(args) {
23
- const { currentBridgeProtocolVersion } = args;
24
- return {
25
- code: "invalid_protocol_version",
26
- message: `Sandbox reported an invalid bridge protocol version: ${currentBridgeProtocolVersion}`,
27
- // The sandbox must be updated to a supported protocol version.
28
- isRetryable: false,
29
- };
30
- }
31
- export function unsupportedProtocolVersionError(args) {
32
- const { currentBridgeProtocolVersion, minBridgeProtocolVersion } = args;
33
- return {
34
- code: "unsupported_protocol_version",
35
- message: `Sandbox bridge protocol version ${currentBridgeProtocolVersion} is not supported. Minimum supported version is ${minBridgeProtocolVersion}.`,
36
- // The sandbox must be updated to a supported protocol version.
37
- isRetryable: false,
38
- };
39
- }
40
- export function contextUnavailableError() {
41
- return {
42
- code: "context_unavailable",
43
- message: "Host page context is unavailable.",
44
- // Page context may become available before a fresh initialization attempt.
45
- isRetryable: true,
46
- };
47
- }
48
- export function initialStateTimeoutError() {
49
- return {
50
- code: "initial_state_timeout",
51
- message: "Host did not prepare initial state before the timeout.",
52
- // A fresh attempt may finish loading host dependencies before the timeout.
53
- isRetryable: true,
54
- };
55
- }
56
- export function missingDataSourceBindingError() {
57
- return {
58
- code: "missing_data_source_binding",
59
- message: "A required data source is not mapped.",
60
- // Host configuration must be changed before this block can initialize.
61
- isRetryable: false,
62
- };
63
- }
64
- export function missingPropertyBindingError() {
65
- return {
66
- code: "missing_property_binding",
67
- message: "A required data source property is not mapped.",
68
- // Host configuration must be changed before this block can initialize.
69
- isRetryable: false,
70
- };
71
- }
72
- export function invalidPropertyBindingError() {
73
- return {
74
- code: "invalid_property_binding",
75
- message: "A mapped data source property is missing or incompatible.",
76
- // The bound property's schema must be updated or the binding must be updated to
77
- // a property with a compatible schema.
78
- isRetryable: false,
79
- };
80
- }
81
- export function noInitResultError() {
82
- return {
83
- code: "no_init_result",
84
- message: "Sandbox did not acknowledge initialization.",
85
- // A fresh iframe may process init and acknowledge it before the timeout.
86
- isRetryable: true,
87
- };
88
- }
89
- export function invalidInitResultPayloadError() {
90
- return {
91
- code: "invalid_init_result_payload",
92
- message: "Sandbox sent an invalid initialization result.",
93
- // The sandbox must be updated to send a valid initialization result.
94
- isRetryable: false,
95
- };
96
- }
97
- export function unknownInitializationError() {
98
- return {
99
- code: "unknown_error",
100
- message: "Unexpected error while initializing custom block.",
101
- // Without a known transient cause, conservatively treat unknown errors as non-retryable.
102
- isRetryable: false,
103
- };
104
- }
105
- export function invalidLocalPreviewUrlError() {
106
- return {
107
- code: "invalid_local_preview_url",
108
- message: "Local custom blocks require an HTTP(S) URL on localhost, a .localhost subdomain, or 127.0.0.1, without credentials and on a different origin from the host.",
109
- isRetryable: false,
110
- };
111
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"initializationController.d.ts","sourceRoot":"","sources":["../../src/lifecycle/initializationController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAA;AAC1F,OAAO,KAAK,EACX,wBAAwB,EACxB,iBAAiB,EACjB,MAAM,mDAAmD,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAA;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAWlE,OAAO,KAAK,EACX,iCAAiC,EACjC,yBAAyB,EACzB,UAAU,EACV,MAAM,YAAY,CAAA;AAMnB,MAAM,MAAM,+BAA+B,GAAG;IAC7C,cAAc,EAAE,yBAAyB,CAAA;IACzC,WAAW,EAAE,CACZ,OAAO,EAAE,cAAc,KACnB,OAAO,CAAC,iCAAiC,CAAC,CAAA;IAC/C,eAAe,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,KAAK,IAAI,CAAA;IACxE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAChC,4BAA4B,EAAE,MAAM,IAAI,CAAA;IACxC,wBAAwB,EAAE,MAAM,CAAA;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,mBAAmB,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAA;IAC5D,YAAY,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAClD,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,mBAAmB,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAA;CAC5D,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACtC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAA;IACrC,aAAa,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;IAChD,gBAAgB,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACtD,oBAAoB,EAAE,CAAC,IAAI,EAAE;QAC5B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;QACpC,KAAK,EAAE,wBAAwB,CAAA;QAC/B,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAA;KACzC,KAAK,SAAS,GAAG,MAAM,CAAA;IACxB,uBAAuB,EAAE,CAAC,IAAI,EAAE;QAC/B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;QACpC,KAAK,EAAE,wBAAwB,CAAA;KAC/B,KAAK,IAAI,CAAA;IACV,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,IAAI,EAAE,MAAM,IAAI,CAAA;CAChB,CAAA;AAED,wBAAgB,8BAA8B,CAC7C,OAAO,EAAE,+BAA+B,GACtC,wBAAwB,CAoW1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"protocolVersion.d.ts","sourceRoot":"","sources":["../../src/lifecycle/protocolVersion.ts"],"names":[],"mappings":"AAAA,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveManifest.d.ts","sourceRoot":"","sources":["../../src/lifecycle/resolveManifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAA;AACvF,OAAO,KAAK,EACX,uCAAuC,EACvC,yBAAyB,EACzB,MAAM,YAAY,CAAA;AAEnB;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC3C,cAAc,EAAE,yBAAyB,CAAA;IACzC,YAAY,EAAE,OAAO,CAAC,uCAAuC,CAAC,CAAA;IAC9D,eAAe,EAAE,mBAAmB,GAAG,SAAS,CAAA;CAChD,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAenD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"invalidSandboxMessage.d.ts","sourceRoot":"","sources":["../../src/messages/invalidSandboxMessage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oEAAoE,CAAA;AAE/G,MAAM,MAAM,6BAA6B,GAAG;IAC3C,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,IAAI,CAAC,EAAE,qBAAqB,CAAA;CAC5B,CAAA;AAED,wBAAgB,gCAAgC,CAC/C,IAAI,EAAE,OAAO,GACX,6BAA6B,CAe/B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseExternalUrl.d.ts","sourceRoot":"","sources":["../../src/messages/parseExternalUrl.ts"],"names":[],"mappings":"AAEA,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAclE"}