@notionhq/custom-blocks-host 0.4.2 → 0.5.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 (424) hide show
  1. package/README.md +4 -0
  2. package/dist/browser.js +1 -1
  3. package/dist/compatibility/normalizeHostToSandboxMessage.js +4 -4
  4. package/dist/compatibility/normalizeSandboxToHostMessage.d.ts +232 -8
  5. package/dist/compatibility/normalizeSandboxToHostMessage.d.ts.map +1 -1
  6. package/dist/compatibility/{pageResult.d.ts → pages/pageResult.d.ts} +1 -1
  7. package/dist/compatibility/pages/pageResult.d.ts.map +1 -0
  8. package/dist/compatibility/{pageWithNullTextFallbackProperties.d.ts → pages/toPageWithNullTextFallbackProperties.d.ts} +2 -2
  9. package/dist/compatibility/pages/toPageWithNullTextFallbackProperties.d.ts.map +1 -0
  10. package/dist/compatibility/{pageWithNullTextFallbackProperties.js → pages/toPageWithNullTextFallbackProperties.js} +1 -1
  11. package/dist/compatibility/{addMetadataReadSchemasForProtocol3To4.d.ts → protocol3To4/addMetadataReadSchemasForProtocol3To4.d.ts} +96 -90
  12. package/dist/compatibility/{addMetadataReadSchemasForProtocol3To4.d.ts.map → protocol3To4/addMetadataReadSchemasForProtocol3To4.d.ts.map} +1 -1
  13. package/dist/compatibility/{addMetadataReadSchemasForProtocol3To4.js → protocol3To4/addMetadataReadSchemasForProtocol3To4.js} +1 -1
  14. package/dist/compatibility/{normalizePageResultsForProtocol3To5.d.ts → protocol3To5/normalizePageResultsForProtocol3To5.d.ts} +2 -2
  15. package/dist/compatibility/protocol3To5/normalizePageResultsForProtocol3To5.d.ts.map +1 -0
  16. package/dist/compatibility/{normalizePageResultsForProtocol3To5.js → protocol3To5/normalizePageResultsForProtocol3To5.js} +3 -2
  17. package/dist/compatibility/protocol3To5/toDateTimeValueForProtocol3To5.d.ts +9 -0
  18. package/dist/compatibility/protocol3To5/toDateTimeValueForProtocol3To5.d.ts.map +1 -0
  19. package/dist/compatibility/protocol3To5/toDateTimeValueForProtocol3To5.js +21 -0
  20. package/dist/compatibility/protocol3To5/toPageForProtocol3To5.d.ts +12 -0
  21. package/dist/compatibility/protocol3To5/toPageForProtocol3To5.d.ts.map +1 -0
  22. package/dist/compatibility/protocol3To5/toPageForProtocol3To5.js +20 -0
  23. package/dist/compatibility/protocol3To5/toPropertyValueForProtocol3To5.d.ts +10 -0
  24. package/dist/compatibility/protocol3To5/toPropertyValueForProtocol3To5.d.ts.map +1 -0
  25. package/dist/compatibility/{pageForProtocol3To5.js → protocol3To5/toPropertyValueForProtocol3To5.js} +25 -95
  26. package/dist/compatibility/{pageForProtocol3To5.d.ts → protocol3To5/toQueryPageForProtocol3To5.d.ts} +11 -21
  27. package/dist/compatibility/protocol3To5/toQueryPageForProtocol3To5.d.ts.map +1 -0
  28. package/dist/compatibility/protocol3To5/toQueryPageForProtocol3To5.js +32 -0
  29. package/dist/compatibility/{normalizePageResultsForProtocol6.d.ts → protocol6/normalizePageResultsForProtocol6.d.ts} +2 -2
  30. package/dist/compatibility/protocol6/normalizePageResultsForProtocol6.d.ts.map +1 -0
  31. package/dist/compatibility/{normalizePageResultsForProtocol6.js → protocol6/normalizePageResultsForProtocol6.js} +1 -1
  32. package/dist/context/initialState.d.ts +1801 -0
  33. package/dist/context/initialState.d.ts.map +1 -0
  34. package/dist/context/initialState.js +34 -0
  35. package/dist/context/resize.d.ts +4 -0
  36. package/dist/context/resize.d.ts.map +1 -0
  37. package/dist/createCustomBlockHost.d.ts +28 -13
  38. package/dist/createCustomBlockHost.d.ts.map +1 -1
  39. package/dist/createCustomBlockHost.js +46 -28
  40. package/dist/{autoBindProperties.d.ts → dataSources/bindings/getAutoBoundPropertyIdsByKey.d.ts} +2 -2
  41. package/dist/dataSources/bindings/getAutoBoundPropertyIdsByKey.d.ts.map +1 -0
  42. package/dist/{dateValue.d.ts → dataSources/properties/toNotionDateValue.d.ts} +3 -3
  43. package/dist/dataSources/properties/toNotionDateValue.d.ts.map +1 -0
  44. package/dist/{queries → dataSources/queries}/querySubscriptions.d.ts +2 -2
  45. package/dist/dataSources/queries/querySubscriptions.d.ts.map +1 -0
  46. package/dist/dataSources/types.d.ts +18 -0
  47. package/dist/dataSources/types.d.ts.map +1 -0
  48. package/dist/dataSources/validation/validateQueryDataSourceFilter.d.ts +5 -0
  49. package/dist/dataSources/validation/validateQueryDataSourceFilter.d.ts.map +1 -0
  50. package/dist/{queries → dataSources/validation}/validateQueryDataSourceFilter.js +2 -2
  51. package/dist/dataSources/validation/validateQueryDataSourceSorts.d.ts +8 -0
  52. package/dist/dataSources/validation/validateQueryDataSourceSorts.d.ts.map +1 -0
  53. package/dist/{queries → dataSources/validation}/validateQueryDataSourceSorts.js +2 -2
  54. package/dist/index.d.ts +16 -8
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +4 -4
  57. package/dist/lifecycle/{initializationController.d.ts → createInitializationController.d.ts} +7 -6
  58. package/dist/lifecycle/createInitializationController.d.ts.map +1 -0
  59. package/dist/lifecycle/{initializationController.js → createInitializationController.js} +9 -4
  60. package/dist/lifecycle/errors/contextUnavailableError.d.ts +3 -0
  61. package/dist/lifecycle/errors/contextUnavailableError.d.ts.map +1 -0
  62. package/dist/lifecycle/errors/contextUnavailableError.js +8 -0
  63. package/dist/lifecycle/errors/initialStateTimeoutError.d.ts +3 -0
  64. package/dist/lifecycle/errors/initialStateTimeoutError.d.ts.map +1 -0
  65. package/dist/lifecycle/errors/initialStateTimeoutError.js +8 -0
  66. package/dist/lifecycle/errors/invalidConnectPayloadError.d.ts +3 -0
  67. package/dist/lifecycle/errors/invalidConnectPayloadError.d.ts.map +1 -0
  68. package/dist/lifecycle/errors/invalidConnectPayloadError.js +8 -0
  69. package/dist/lifecycle/errors/invalidInitResultPayloadError.d.ts +3 -0
  70. package/dist/lifecycle/errors/invalidInitResultPayloadError.d.ts.map +1 -0
  71. package/dist/lifecycle/errors/invalidInitResultPayloadError.js +8 -0
  72. package/dist/lifecycle/errors/invalidLocalPreviewUrlError.d.ts +3 -0
  73. package/dist/lifecycle/errors/invalidLocalPreviewUrlError.d.ts.map +1 -0
  74. package/dist/lifecycle/errors/invalidLocalPreviewUrlError.js +7 -0
  75. package/dist/lifecycle/errors/invalidPropertyBindingError.d.ts +3 -0
  76. package/dist/lifecycle/errors/invalidPropertyBindingError.d.ts.map +1 -0
  77. package/dist/lifecycle/errors/invalidPropertyBindingError.js +9 -0
  78. package/dist/lifecycle/errors/invalidProtocolVersionError.d.ts +5 -0
  79. package/dist/lifecycle/errors/invalidProtocolVersionError.d.ts.map +1 -0
  80. package/dist/lifecycle/errors/invalidProtocolVersionError.js +9 -0
  81. package/dist/lifecycle/errors/missingDataSourceBindingError.d.ts +3 -0
  82. package/dist/lifecycle/errors/missingDataSourceBindingError.d.ts.map +1 -0
  83. package/dist/lifecycle/errors/missingDataSourceBindingError.js +8 -0
  84. package/dist/lifecycle/errors/missingPropertyBindingError.d.ts +3 -0
  85. package/dist/lifecycle/errors/missingPropertyBindingError.d.ts.map +1 -0
  86. package/dist/lifecycle/errors/missingPropertyBindingError.js +8 -0
  87. package/dist/lifecycle/errors/noConnectError.d.ts +8 -0
  88. package/dist/lifecycle/errors/noConnectError.d.ts.map +1 -0
  89. package/dist/lifecycle/errors/noConnectError.js +13 -0
  90. package/dist/lifecycle/errors/noInitResultError.d.ts +3 -0
  91. package/dist/lifecycle/errors/noInitResultError.d.ts.map +1 -0
  92. package/dist/lifecycle/errors/noInitResultError.js +8 -0
  93. package/dist/lifecycle/errors/unknownInitializationError.d.ts +3 -0
  94. package/dist/lifecycle/errors/unknownInitializationError.d.ts.map +1 -0
  95. package/dist/lifecycle/errors/unknownInitializationError.js +8 -0
  96. package/dist/lifecycle/errors/unsupportedProtocolVersionError.d.ts +6 -0
  97. package/dist/lifecycle/errors/unsupportedProtocolVersionError.d.ts.map +1 -0
  98. package/dist/lifecycle/errors/unsupportedProtocolVersionError.js +9 -0
  99. package/dist/lifecycle/isAllowedLocalPreviewUrl.d.ts.map +1 -0
  100. package/dist/{isAllowedLocalPreviewUrl.js → lifecycle/isAllowedLocalPreviewUrl.js} +1 -1
  101. package/dist/lifecycle/{protocolVersion.d.ts → isValidBridgeProtocolVersion.d.ts} +1 -1
  102. package/dist/lifecycle/isValidBridgeProtocolVersion.d.ts.map +1 -0
  103. package/dist/lifecycle/types.d.ts +16 -1849
  104. package/dist/lifecycle/types.d.ts.map +1 -1
  105. package/dist/lifecycle/types.js +1 -41
  106. package/dist/{lifecycle → manifest}/resolveManifest.d.ts +2 -2
  107. package/dist/manifest/resolveManifest.d.ts.map +1 -0
  108. package/dist/manifest/types.d.ts +55 -0
  109. package/dist/manifest/types.d.ts.map +1 -0
  110. package/dist/manifest/types.js +10 -0
  111. package/dist/messages/{sandboxMessageRouter.d.ts → createSandboxMessageRouter.d.ts} +15 -15
  112. package/dist/messages/createSandboxMessageRouter.d.ts.map +1 -0
  113. package/dist/messages/{sandboxMessageRouter.js → createSandboxMessageRouter.js} +5 -4
  114. package/dist/messages/{invalidSandboxMessage.d.ts → getInvalidSandboxMessageResponse.d.ts} +1 -1
  115. package/dist/messages/getInvalidSandboxMessageResponse.d.ts.map +1 -0
  116. package/dist/messages/handlers.d.ts +27 -0
  117. package/dist/messages/handlers.d.ts.map +1 -0
  118. package/dist/messages/handlers.js +1 -0
  119. package/dist/messages/logging.d.ts +2 -0
  120. package/dist/messages/logging.d.ts.map +1 -0
  121. package/dist/messages/logging.js +1 -0
  122. package/dist/messages/result.d.ts +12 -0
  123. package/dist/messages/result.d.ts.map +1 -0
  124. package/dist/messages/result.js +1 -0
  125. package/dist/navigation/parseExternalUrl.d.ts.map +1 -0
  126. package/dist/navigation/types.d.ts +7 -0
  127. package/dist/navigation/types.d.ts.map +1 -0
  128. package/dist/navigation/types.js +1 -0
  129. package/dist/pages/types.d.ts +18 -0
  130. package/dist/pages/types.d.ts.map +1 -0
  131. package/dist/pages/types.js +1 -0
  132. package/dist/protocol/{messages/updatePage.d.ts → compatibility/protocol3To5/bridgePage.d.ts} +32 -22
  133. package/dist/protocol/compatibility/protocol3To5/bridgePage.js +21 -0
  134. package/dist/protocol/{dataSources → compatibility/protocol3To5}/dataSourcePage.js +1 -1
  135. package/dist/protocol/{dataSources → compatibility/protocol3To5}/dataSourceValue.js +2 -2
  136. package/dist/protocol/context/containingPage.d.ts +31 -0
  137. package/dist/protocol/context/containingPage.js +18 -0
  138. package/dist/protocol/{messages → context/messages}/pageChanged.js +1 -1
  139. package/dist/protocol/{parent.d.ts → context/parent.d.ts} +11 -1
  140. package/dist/protocol/context/parent.js +31 -0
  141. package/dist/protocol/dataSources/bridgeDataSourceBinding.d.ts +164 -0
  142. package/dist/protocol/dataSources/bridgeDataSourceBinding.js +25 -0
  143. package/dist/protocol/dataSources/bridgeDataSourceBindings.d.ts +148 -0
  144. package/dist/protocol/dataSources/bridgeDataSourceBindings.js +3 -0
  145. package/dist/protocol/dataSources/collectionPointer.d.ts +7 -0
  146. package/dist/protocol/dataSources/collectionPointer.js +7 -0
  147. package/dist/protocol/dataSources/collectionSchema.d.ts +144 -0
  148. package/dist/protocol/dataSources/collectionSchema.js +12 -0
  149. package/dist/protocol/dataSources/errors.d.ts +2 -2
  150. package/dist/protocol/dataSources/filters/bridgeDataSourceFilter.d.ts +505 -0
  151. package/dist/protocol/dataSources/filters/bridgeDataSourceFilter.js +8 -0
  152. package/dist/protocol/dataSources/filters/bridgeDataSourceFilterCondition.d.ts +253 -0
  153. package/dist/protocol/dataSources/filters/bridgeDataSourceFilterCondition.js +69 -0
  154. package/dist/protocol/dataSources/filters/bridgeDataSourceSort.d.ts +11 -0
  155. package/dist/protocol/dataSources/filters/bridgeDataSourceSort.js +8 -0
  156. package/dist/protocol/dataSources/filters/checkboxFilterOperator.d.ts +7 -0
  157. package/dist/protocol/dataSources/filters/checkboxFilterOperator.js +5 -0
  158. package/dist/protocol/dataSources/filters/containsFilterOperator.d.ts +13 -0
  159. package/dist/protocol/dataSources/filters/containsFilterOperator.js +9 -0
  160. package/dist/protocol/dataSources/filters/createdByFilterOperator.d.ts +17 -0
  161. package/dist/protocol/dataSources/filters/createdByFilterOperator.js +11 -0
  162. package/dist/protocol/dataSources/filters/dateFilterOperator.d.ts +47 -0
  163. package/dist/protocol/dataSources/filters/dateFilterOperator.js +73 -0
  164. package/dist/protocol/dataSources/filters/emptyOperator.d.ts +6 -0
  165. package/dist/protocol/dataSources/filters/emptyOperator.js +5 -0
  166. package/dist/protocol/dataSources/filters/numberFilterOperator.d.ts +19 -0
  167. package/dist/protocol/dataSources/filters/numberFilterOperator.js +11 -0
  168. package/dist/protocol/dataSources/filters/optionFilterOperator.d.ts +11 -0
  169. package/dist/protocol/dataSources/filters/optionFilterOperator.js +8 -0
  170. package/dist/protocol/dataSources/filters/peopleFilterOperator.d.ts +23 -0
  171. package/dist/protocol/dataSources/filters/peopleFilterOperator.js +11 -0
  172. package/dist/protocol/dataSources/filters/relationFilterOperator.d.ts +11 -0
  173. package/dist/protocol/dataSources/filters/relationFilterOperator.js +12 -0
  174. package/dist/protocol/dataSources/filters/statusFilterOperator.d.ts +15 -0
  175. package/dist/protocol/dataSources/filters/statusFilterOperator.js +7 -0
  176. package/dist/protocol/dataSources/filters/statusGroupFilterOperator.d.ts +9 -0
  177. package/dist/protocol/dataSources/filters/statusGroupFilterOperator.js +18 -0
  178. package/dist/protocol/dataSources/filters/stringOrStringArray.d.ts +2 -0
  179. package/dist/protocol/dataSources/filters/stringOrStringArray.js +5 -0
  180. package/dist/protocol/dataSources/filters/textFilterOperator.d.ts +19 -0
  181. package/dist/protocol/dataSources/filters/textFilterOperator.js +11 -0
  182. package/dist/protocol/dataSources/makeBridgeDataSourceBinding.d.ts +6 -0
  183. package/dist/protocol/dataSources/makeBridgeDataSourceBinding.js +6 -0
  184. package/dist/protocol/{messages → dataSources/messages}/dataSourcesChanged.d.ts +1 -0
  185. package/dist/protocol/{messages → dataSources/messages}/dataSourcesChanged.js +2 -2
  186. package/dist/protocol/{messages/queryDataSourceResult.d.ts → dataSources/messages/queryDataSource.d.ts} +525 -2
  187. package/dist/protocol/{messages/queryDataSourceResult.js → dataSources/messages/queryDataSource.js} +22 -2
  188. package/dist/protocol/dataSources/notionDataSource.d.ts +309 -0
  189. package/dist/protocol/dataSources/notionDataSource.js +38 -0
  190. package/dist/protocol/dataSources/resolveDataSourceBinding.d.ts +32 -0
  191. package/dist/protocol/dataSources/resolveDataSourceBinding.js +33 -0
  192. package/dist/protocol/{messages → handshake}/connect.d.ts +4 -0
  193. package/dist/protocol/{messages → handshake}/connect.js +2 -2
  194. package/dist/protocol/{messages → handshake}/init.d.ts +6 -1
  195. package/dist/protocol/{messages → handshake}/init.js +10 -10
  196. package/dist/protocol/{messages → handshake}/initResult.d.ts +1 -1
  197. package/dist/protocol/{messages → handshake}/isInitHandshakeMessage.d.ts +2 -2
  198. package/dist/protocol/index.d.ts +150 -54
  199. package/dist/protocol/index.js +73 -54
  200. package/dist/protocol/manifest/capabilities.d.ts +37 -0
  201. package/dist/protocol/manifest/capabilities.js +13 -0
  202. package/dist/protocol/{manifest.d.ts → manifest/manifest.d.ts} +12 -2
  203. package/dist/protocol/{manifest.js → manifest/manifest.js} +8 -1
  204. package/dist/protocol/messages/hostToSandbox.d.ts +12 -0
  205. package/dist/protocol/messages/hostToSandbox.js +15 -15
  206. package/dist/protocol/messages/messagePayload.d.ts +1 -1
  207. package/dist/protocol/messages/sandboxToHost.d.ts +232 -8
  208. package/dist/protocol/messages/sandboxToHost.js +12 -12
  209. package/dist/protocol/{messages → navigation}/openExternalUrl.d.ts +1 -1
  210. package/dist/protocol/{messages/createPage.d.ts → pages/bridgePage.d.ts} +67 -65
  211. package/dist/protocol/pages/bridgePage.js +25 -0
  212. package/dist/protocol/pages/makeBridgePage.d.ts +6 -0
  213. package/dist/protocol/pages/makeBridgePage.js +12 -0
  214. package/dist/protocol/{messages/createPageResult.d.ts → pages/messages/createPage.d.ts} +500 -2
  215. package/dist/protocol/pages/messages/createPage.js +104 -0
  216. package/dist/protocol/{messages → pages/messages}/getPage.d.ts +2 -2
  217. package/dist/protocol/{messages → pages/messages}/getPage.js +4 -3
  218. package/dist/protocol/{messages → pages/messages}/openPage.d.ts +2 -2
  219. package/dist/protocol/{messages → pages/messages}/openPage.js +1 -1
  220. package/dist/protocol/{messages/updatePageResult.d.ts → pages/messages/updatePage.d.ts} +272 -2
  221. package/dist/protocol/{messages/updatePageResult.js → pages/messages/updatePage.js} +26 -2
  222. package/dist/protocol/pages/pageAppearance.d.ts +62 -0
  223. package/dist/protocol/pages/pageAppearance.js +34 -0
  224. package/dist/protocol/pages/properties/bridgePagePropertyMaps.d.ts +433 -0
  225. package/dist/protocol/pages/properties/bridgePagePropertyMaps.js +4 -0
  226. package/dist/protocol/pages/properties/bridgePagePropertyValue.d.ts +217 -0
  227. package/dist/protocol/pages/properties/bridgePagePropertyValue.js +144 -0
  228. package/dist/protocol/pages/properties/dateInput.d.ts +45 -0
  229. package/dist/protocol/pages/properties/dateInput.js +23 -0
  230. package/dist/protocol/pages/properties/fileInput.d.ts +16 -0
  231. package/dist/protocol/pages/properties/fileInput.js +16 -0
  232. package/dist/protocol/pages/properties/metadataActor.d.ts +6 -0
  233. package/dist/protocol/pages/properties/metadataActor.js +7 -0
  234. package/dist/protocol/pages/properties/placeInput.d.ts +10 -0
  235. package/dist/protocol/pages/properties/placeInput.js +10 -0
  236. package/dist/protocol/pages/properties/relationInput.d.ts +5 -0
  237. package/dist/protocol/pages/properties/relationInput.js +2 -0
  238. package/dist/protocol/pages/properties/richText.d.ts +3 -0
  239. package/dist/protocol/pages/properties/richText.js +2 -0
  240. package/dist/protocol/pages/properties/selectOption.d.ts +13 -0
  241. package/dist/protocol/pages/properties/selectOption.js +16 -0
  242. package/dist/protocol/pages/properties/userInput.d.ts +10 -0
  243. package/dist/protocol/pages/properties/userInput.js +13 -0
  244. package/dist/protocol/users/bridgeUser.d.ts +12 -0
  245. package/dist/protocol/users/bridgeUser.js +12 -0
  246. package/dist/protocol/users/{user.d.ts → bridgeUserList.d.ts} +2 -15
  247. package/dist/protocol/users/bridgeUserList.js +10 -0
  248. package/dist/protocol/users/makeBridgeUser.d.ts +6 -0
  249. package/dist/protocol/users/makeBridgeUser.js +11 -0
  250. package/dist/protocol/{messages → users/messages}/currentUserChanged.js +2 -2
  251. package/dist/protocol/{messages → users/messages}/getUser.d.ts +2 -2
  252. package/dist/protocol/{messages → users/messages}/getUser.js +3 -2
  253. package/dist/protocol/{messages → users/messages}/listUsers.d.ts +2 -2
  254. package/dist/protocol/{messages → users/messages}/listUsers.js +2 -2
  255. package/dist/protocol/users/userId.d.ts +3 -0
  256. package/dist/protocol/users/userId.js +2 -0
  257. package/dist/protocol/{errors.d.ts → utils/errors.d.ts} +6 -0
  258. package/dist/protocol/utils/errors.js +11 -0
  259. package/dist/protocol/utils/nullableStringSchema.d.ts +2 -0
  260. package/dist/protocol/utils/nullableStringSchema.js +2 -0
  261. package/dist/users/types.d.ts +15 -0
  262. package/dist/users/types.d.ts.map +1 -0
  263. package/dist/users/types.js +1 -0
  264. package/dist/utils/maybePromise.d.ts +2 -0
  265. package/dist/utils/maybePromise.d.ts.map +1 -0
  266. package/dist/utils/maybePromise.js +1 -0
  267. package/dist/utils/protocolVersion.d.ts.map +1 -0
  268. package/dist/utils/toNotionPageId.d.ts +3 -0
  269. package/dist/utils/toNotionPageId.d.ts.map +1 -0
  270. package/dist/{ids.js → utils/toNotionPageId.js} +1 -1
  271. package/dist/{utils.d.ts → utils/unreachable.d.ts} +1 -1
  272. package/dist/utils/unreachable.d.ts.map +1 -0
  273. package/docs/bridge/protocol.md +16 -1
  274. package/docs/bridge/versioning.md +2 -2
  275. package/docs/handlers.md +16 -8
  276. package/docs/lifecycle.md +14 -0
  277. package/package.json +1 -1
  278. package/src/compatibility/normalizeHostToSandboxMessage.ts +4 -4
  279. package/src/compatibility/{pageWithNullTextFallbackProperties.ts → pages/toPageWithNullTextFallbackProperties.ts} +2 -2
  280. package/src/compatibility/{addMetadataReadSchemasForProtocol3To4.ts → protocol3To4/addMetadataReadSchemasForProtocol3To4.ts} +1 -1
  281. package/src/compatibility/{normalizePageResultsForProtocol3To5.ts → protocol3To5/normalizePageResultsForProtocol3To5.ts} +4 -6
  282. package/src/compatibility/protocol3To5/toDateTimeValueForProtocol3To5.ts +25 -0
  283. package/src/compatibility/protocol3To5/toPageForProtocol3To5.ts +29 -0
  284. package/src/compatibility/protocol3To5/toPropertyValueForProtocol3To5.ts +102 -0
  285. package/src/compatibility/protocol3To5/toQueryPageForProtocol3To5.ts +35 -0
  286. package/src/compatibility/{normalizePageResultsForProtocol6.ts → protocol6/normalizePageResultsForProtocol6.ts} +2 -2
  287. package/src/context/initialState.ts +56 -0
  288. package/src/context/resize.ts +4 -0
  289. package/src/createCustomBlockHost.ts +108 -88
  290. package/src/{autoBindProperties.ts → dataSources/bindings/getAutoBoundPropertyIdsByKey.ts} +1 -1
  291. package/src/{dateValue.ts → dataSources/properties/toNotionDateValue.ts} +2 -2
  292. package/src/{queries → dataSources/queries}/querySubscriptions.ts +2 -2
  293. package/src/dataSources/types.ts +23 -0
  294. package/src/{queries → dataSources/validation}/validateQueryDataSourceFilter.ts +11 -13
  295. package/src/{queries → dataSources/validation}/validateQueryDataSourceSorts.ts +6 -8
  296. package/src/index.ts +39 -30
  297. package/src/lifecycle/{initializationController.ts → createInitializationController.ts} +15 -20
  298. package/src/lifecycle/errors/contextUnavailableError.ts +10 -0
  299. package/src/lifecycle/errors/initialStateTimeoutError.ts +10 -0
  300. package/src/lifecycle/errors/invalidConnectPayloadError.ts +10 -0
  301. package/src/lifecycle/errors/invalidInitResultPayloadError.ts +10 -0
  302. package/src/lifecycle/errors/invalidLocalPreviewUrlError.ts +10 -0
  303. package/src/lifecycle/errors/invalidPropertyBindingError.ts +11 -0
  304. package/src/lifecycle/errors/invalidProtocolVersionError.ts +13 -0
  305. package/src/lifecycle/errors/missingDataSourceBindingError.ts +10 -0
  306. package/src/lifecycle/errors/missingPropertyBindingError.ts +10 -0
  307. package/src/lifecycle/errors/noConnectError.ts +15 -0
  308. package/src/lifecycle/errors/noInitResultError.ts +10 -0
  309. package/src/lifecycle/errors/unknownInitializationError.ts +10 -0
  310. package/src/lifecycle/errors/unsupportedProtocolVersionError.ts +14 -0
  311. package/src/{isAllowedLocalPreviewUrl.ts → lifecycle/isAllowedLocalPreviewUrl.ts} +1 -1
  312. package/src/lifecycle/types.ts +17 -103
  313. package/src/{lifecycle → manifest}/resolveManifest.ts +2 -2
  314. package/src/manifest/types.ts +28 -0
  315. package/src/messages/{sandboxMessageRouter.ts → createSandboxMessageRouter.ts} +19 -21
  316. package/src/messages/handlers.ts +46 -0
  317. package/src/messages/logging.ts +1 -0
  318. package/src/messages/result.ts +11 -0
  319. package/src/navigation/types.ts +10 -0
  320. package/src/pages/types.ts +22 -0
  321. package/src/users/types.ts +17 -0
  322. package/src/utils/maybePromise.ts +1 -0
  323. package/src/utils/toNotionPageId.ts +7 -0
  324. package/dist/autoBindProperties.d.ts.map +0 -1
  325. package/dist/compatibility/normalizePageResultsForProtocol3To5.d.ts.map +0 -1
  326. package/dist/compatibility/normalizePageResultsForProtocol6.d.ts.map +0 -1
  327. package/dist/compatibility/pageForProtocol3To5.d.ts.map +0 -1
  328. package/dist/compatibility/pageResult.d.ts.map +0 -1
  329. package/dist/compatibility/pageWithNullTextFallbackProperties.d.ts.map +0 -1
  330. package/dist/dateValue.d.ts.map +0 -1
  331. package/dist/ids.d.ts +0 -3
  332. package/dist/ids.d.ts.map +0 -1
  333. package/dist/isAllowedLocalPreviewUrl.d.ts.map +0 -1
  334. package/dist/lifecycle/initErrors.d.ts +0 -25
  335. package/dist/lifecycle/initErrors.d.ts.map +0 -1
  336. package/dist/lifecycle/initErrors.js +0 -111
  337. package/dist/lifecycle/initializationController.d.ts.map +0 -1
  338. package/dist/lifecycle/protocolVersion.d.ts.map +0 -1
  339. package/dist/lifecycle/resolveManifest.d.ts.map +0 -1
  340. package/dist/messages/invalidSandboxMessage.d.ts.map +0 -1
  341. package/dist/messages/parseExternalUrl.d.ts.map +0 -1
  342. package/dist/messages/sandboxMessageRouter.d.ts.map +0 -1
  343. package/dist/messages/types.d.ts +0 -65
  344. package/dist/messages/types.d.ts.map +0 -1
  345. package/dist/protocol/dataSources/dataSource.d.ts +0 -786
  346. package/dist/protocol/dataSources/dataSource.js +0 -66
  347. package/dist/protocol/errors.js +0 -6
  348. package/dist/protocol/messages/createPage.js +0 -51
  349. package/dist/protocol/messages/createPageResult.js +0 -43
  350. package/dist/protocol/messages/queryDataSource.d.ts +0 -1470
  351. package/dist/protocol/messages/queryDataSource.js +0 -254
  352. package/dist/protocol/messages/updatePage.js +0 -23
  353. package/dist/protocol/pages/page.d.ts +0 -1422
  354. package/dist/protocol/pages/page.js +0 -318
  355. package/dist/protocol/parent.js +0 -13
  356. package/dist/protocol/users/user.js +0 -20
  357. package/dist/protocolVersion.d.ts.map +0 -1
  358. package/dist/queries/querySubscriptions.d.ts.map +0 -1
  359. package/dist/queries/types.d.ts +0 -5
  360. package/dist/queries/types.d.ts.map +0 -1
  361. package/dist/queries/validateQueryDataSourceFilter.d.ts +0 -5
  362. package/dist/queries/validateQueryDataSourceFilter.d.ts.map +0 -1
  363. package/dist/queries/validateQueryDataSourceSorts.d.ts +0 -8
  364. package/dist/queries/validateQueryDataSourceSorts.d.ts.map +0 -1
  365. package/dist/utils.d.ts.map +0 -1
  366. package/src/compatibility/pageForProtocol3To5.ts +0 -190
  367. package/src/ids.ts +0 -9
  368. package/src/lifecycle/initErrors.ts +0 -131
  369. package/src/messages/types.ts +0 -171
  370. package/src/queries/types.ts +0 -11
  371. /package/dist/compatibility/{pageResult.js → pages/pageResult.js} +0 -0
  372. /package/dist/{messages/types.js → context/resize.js} +0 -0
  373. /package/dist/{autoBindProperties.js → dataSources/bindings/getAutoBoundPropertyIdsByKey.js} +0 -0
  374. /package/dist/{dateValue.js → dataSources/properties/toNotionDateValue.js} +0 -0
  375. /package/dist/{queries → dataSources/queries}/querySubscriptions.js +0 -0
  376. /package/dist/{queries → dataSources}/types.js +0 -0
  377. /package/dist/{isAllowedLocalPreviewUrl.d.ts → lifecycle/isAllowedLocalPreviewUrl.d.ts} +0 -0
  378. /package/dist/lifecycle/{protocolVersion.js → isValidBridgeProtocolVersion.js} +0 -0
  379. /package/dist/{lifecycle → manifest}/resolveManifest.js +0 -0
  380. /package/dist/messages/{invalidSandboxMessage.js → getInvalidSandboxMessageResponse.js} +0 -0
  381. /package/dist/{messages → navigation}/parseExternalUrl.d.ts +0 -0
  382. /package/dist/{messages → navigation}/parseExternalUrl.js +0 -0
  383. /package/dist/protocol/{dataSources → compatibility/protocol3To5}/dataSourcePage.d.ts +0 -0
  384. /package/dist/protocol/{dataSources → compatibility/protocol3To5}/dataSourceValue.d.ts +0 -0
  385. /package/dist/protocol/{contrast.d.ts → context/contrast.d.ts} +0 -0
  386. /package/dist/protocol/{contrast.js → context/contrast.js} +0 -0
  387. /package/dist/protocol/{messages → context/messages}/contrastModeChanged.d.ts +0 -0
  388. /package/dist/protocol/{messages → context/messages}/contrastModeChanged.js +0 -0
  389. /package/dist/protocol/{messages → context/messages}/pageChanged.d.ts +0 -0
  390. /package/dist/protocol/{messages → context/messages}/parentChanged.d.ts +0 -0
  391. /package/dist/protocol/{messages → context/messages}/parentChanged.js +0 -0
  392. /package/dist/protocol/{messages → context/messages}/resize.d.ts +0 -0
  393. /package/dist/protocol/{messages → context/messages}/resize.js +0 -0
  394. /package/dist/protocol/{messages → context/messages}/themeChanged.d.ts +0 -0
  395. /package/dist/protocol/{messages → context/messages}/themeChanged.js +0 -0
  396. /package/dist/protocol/{theme.d.ts → context/theme.d.ts} +0 -0
  397. /package/dist/protocol/{theme.js → context/theme.js} +0 -0
  398. /package/dist/protocol/{messages → dataSources/messages}/unsubscribeDataSourceQuery.d.ts +0 -0
  399. /package/dist/protocol/{messages → dataSources/messages}/unsubscribeDataSourceQuery.js +0 -0
  400. /package/dist/protocol/dataSources/{dateValue.d.ts → properties/dateValue.d.ts} +0 -0
  401. /package/dist/protocol/dataSources/{dateValue.js → properties/dateValue.js} +0 -0
  402. /package/dist/protocol/dataSources/{propertySchema.d.ts → properties/propertySchema.d.ts} +0 -0
  403. /package/dist/protocol/dataSources/{propertySchema.js → properties/propertySchema.js} +0 -0
  404. /package/dist/protocol/{messages → handshake}/initResult.js +0 -0
  405. /package/dist/protocol/{messages → handshake}/isInitHandshakeMessage.js +0 -0
  406. /package/dist/protocol/{messages → navigation}/openExternalUrl.js +0 -0
  407. /package/dist/protocol/{messages → users/messages}/currentUserChanged.d.ts +0 -0
  408. /package/dist/protocol/{ids.d.ts → utils/ids.d.ts} +0 -0
  409. /package/dist/protocol/{ids.js → utils/ids.js} +0 -0
  410. /package/dist/protocol/{isLocalBlockServerUrl.d.ts → utils/isLocalBlockServerUrl.d.ts} +0 -0
  411. /package/dist/protocol/{isLocalBlockServerUrl.js → utils/isLocalBlockServerUrl.js} +0 -0
  412. /package/dist/protocol/{protocolVersion.d.ts → utils/protocolVersion.d.ts} +0 -0
  413. /package/dist/protocol/{protocolVersion.js → utils/protocolVersion.js} +0 -0
  414. /package/dist/protocol/{dataSources → utils}/recordPointer.d.ts +0 -0
  415. /package/dist/protocol/{dataSources → utils}/recordPointer.js +0 -0
  416. /package/dist/{protocolVersion.d.ts → utils/protocolVersion.d.ts} +0 -0
  417. /package/dist/{protocolVersion.js → utils/protocolVersion.js} +0 -0
  418. /package/dist/{utils.js → utils/unreachable.js} +0 -0
  419. /package/src/compatibility/{pageResult.ts → pages/pageResult.ts} +0 -0
  420. /package/src/lifecycle/{protocolVersion.ts → isValidBridgeProtocolVersion.ts} +0 -0
  421. /package/src/messages/{invalidSandboxMessage.ts → getInvalidSandboxMessageResponse.ts} +0 -0
  422. /package/src/{messages → navigation}/parseExternalUrl.ts +0 -0
  423. /package/src/{protocolVersion.ts → utils/protocolVersion.ts} +0 -0
  424. /package/src/{utils.ts → utils/unreachable.ts} +0 -0
@@ -1,66 +0,0 @@
1
- import * as v from "valibot";
2
- import { notionDataSourceIdSchema, notionSpaceIdSchema } from "../ids.js";
3
- import { notionPropertySchemaSchema } from "./propertySchema.js";
4
- const collectionPointerValidator = v.object({
5
- id: notionDataSourceIdSchema,
6
- table: v.string(),
7
- spaceId: v.optional(notionSpaceIdSchema),
8
- });
9
- export const notionCollectionSchemaValidator = v.object({
10
- id: v.optional(notionDataSourceIdSchema),
11
- /**
12
- * Describes actual database properties in protocol 5. Protocol 3/4 payloads can also include
13
- * synthetic metadata for compatibility. Use this map to resolve property bindings. Use this map
14
- * to validate filter and sort references.
15
- */
16
- propertiesById: v.record(v.string(), notionPropertySchemaSchema),
17
- });
18
- /**
19
- * Describes a data source, its optional database binding, and its property schemas. The
20
- * database schema validates query references. The read schemas describe snapshot values.
21
- */
22
- export const notionDataSourceSchema = v.object({
23
- key: v.string(),
24
- collectionPointer: v.optional(collectionPointerValidator),
25
- /**
26
- * Describes database properties. Use this schema to resolve property bindings. Use this
27
- * schema to validate filter and sort references. Undefined when the host does not provide a
28
- * database schema.
29
- */
30
- collectionSchema: v.optional(notionCollectionSchemaValidator),
31
- /**
32
- * Maps user-defined property keys to database property IDs. Use this map to resolve a key
33
- * such as `name` to its database property ID. A value of `undefined` marks a declared
34
- * property without a valid binding. Synthetic metadata does not add entries to this map.
35
- */
36
- propertyIdsByKey: v.record(v.string(), v.optional(v.string())),
37
- /**
38
- * Describes property values in query snapshots. Keys use the same property IDs as a snapshot's
39
- * `propertiesById` map.
40
- *
41
- * Includes four synthetic metadata fields, even when the database schema is unavailable:
42
- * `created_time`, `last_edited_time`, `created_by`, and `last_edited_by`. Also includes
43
- * database properties when the host provides their schema.
44
- *
45
- * Use `propertiesById` to read a value. Use this map to read the value's schema. Use
46
- * `collectionSchema` to validate filter and sort references.
47
- */
48
- propertySchemasById: v.record(v.string(), notionPropertySchemaSchema),
49
- });
50
- export const notionDataSourceBindingSchema = v.object({
51
- collectionPointer: v.optional(collectionPointerValidator),
52
- /**
53
- * Describes database properties. Use this schema to resolve property bindings. Use this
54
- * schema to validate filter and sort references. Undefined when the host does not provide a
55
- * database schema.
56
- */
57
- collectionSchema: v.optional(notionCollectionSchemaValidator),
58
- /**
59
- * Maps user-defined property keys to database property IDs. Use this map to resolve a key
60
- * such as `name` to its database property ID. A value of `undefined` marks a declared
61
- * property without a binding. Omitted when the host does not provide property mappings.
62
- * Synthetic metadata does not add entries to this map.
63
- */
64
- propertyIdsByKey: v.optional(v.record(v.string(), v.optional(v.string()))),
65
- });
66
- export const notionDataSourceBindingsSchema = v.record(v.string(), notionDataSourceBindingSchema);
@@ -1,6 +0,0 @@
1
- import * as v from "valibot";
2
- export const customBlockErrorInfoSchema = v.object({
3
- code: v.string(),
4
- message: v.string(),
5
- isRetryable: v.boolean(),
6
- });
@@ -1,51 +0,0 @@
1
- import * as v from "valibot";
2
- import { notionBlockIdSchema, notionDataSourceIdSchema, notionPageIdSchema, } from "../ids.js";
3
- import { notionPagePropertyWriteMapSchema } from "../pages/page.js";
4
- /**
5
- * Describes where the newly created page should be inserted.
6
- * - `start` / `end` (default): prepend / append to the request's `parent`
7
- * page's children.
8
- * - `before` / `after`: insert as a sibling of the anchor block identified by
9
- * `blockId`, using the anchor's own structural parent. The anchor can be
10
- * nested anywhere below the page (inside a toggle, column, callout, etc.).
11
- */
12
- export const notionCreatePagePositionSchema = v.variant("type", [
13
- v.object({ type: v.literal("start") }),
14
- v.object({ type: v.literal("end") }),
15
- v.object({ type: v.literal("before"), blockId: notionBlockIdSchema }),
16
- v.object({ type: v.literal("after"), blockId: notionBlockIdSchema }),
17
- ]);
18
- /**
19
- * Parent accepted by the outbound `createPage` bridge message.
20
- *
21
- * Mirrors Notion's public API `POST /v1/pages` parent shape: `page_id` for a page-parented child,
22
- * `data_source_id` for a database row. `data_source_id` is the internal collection ID.
23
- *
24
- * The SDK additionally accepts a higher-level `data_source_key` variant that resolves to
25
- * `data_source_id` locally, using the `dataSources` mapping.
26
- */
27
- export const createPageParentSchema = v.variant("type", [
28
- v.object({ type: v.literal("page_id"), page_id: notionPageIdSchema }),
29
- v.object({
30
- type: v.literal("data_source_id"),
31
- data_source_id: notionDataSourceIdSchema,
32
- }),
33
- ]);
34
- /**
35
- * The sandbox sends this message to ask the host to create a page.
36
- * The payload mirrors Notion's public `POST /v1/pages` API.
37
- */
38
- export const createPageMessageSchema = v.object({
39
- type: v.literal("createPage"),
40
- requestId: v.string(),
41
- parent: createPageParentSchema,
42
- /**
43
- * Property values, keyed by raw property IDs from Notion.
44
- *
45
- * Each value must carry the same raw property ID in its `id` field.
46
- * To create a page with manifest-defined property keys, call `pages.create`. The SDK resolves
47
- * those keys before it sends this message.
48
- */
49
- properties: notionPagePropertyWriteMapSchema,
50
- position: v.optional(notionCreatePagePositionSchema),
51
- });
@@ -1,43 +0,0 @@
1
- import * as v from "valibot";
2
- import { bridgePageSchema, notionPageForProtocol3To5Schema, } from "../pages/page.js";
3
- // The schema accepts any string code. The type lists known codes for
4
- // autocomplete, with an open string fallback for newer senders.
5
- export const customBlockCreatePageErrorCodeSchema = v.string();
6
- export const customBlockCreatePageErrorInfoSchema = v.object({
7
- code: customBlockCreatePageErrorCodeSchema,
8
- message: v.string(),
9
- isRetryable: v.boolean(),
10
- });
11
- /**
12
- * Message sent by the host in response to a sandbox `createPage` request.
13
- */
14
- export const createPageResultMessageSchema = v.variant("status", [
15
- v.object({
16
- type: v.literal("createPageResult"),
17
- requestId: v.string(),
18
- status: v.literal("success"),
19
- /** The newly created page. */
20
- page: bridgePageSchema,
21
- }),
22
- v.object({
23
- type: v.literal("createPageResult"),
24
- requestId: v.string(),
25
- status: v.literal("error"),
26
- error: customBlockCreatePageErrorInfoSchema,
27
- }),
28
- ]);
29
- export const createPageResultMessageWithProtocol3To5CompatibilitySchema = v.variant("status", [
30
- v.object({
31
- type: v.literal("createPageResult"),
32
- requestId: v.string(),
33
- status: v.literal("success"),
34
- /** The newly created page. */
35
- page: v.union([bridgePageSchema, notionPageForProtocol3To5Schema]),
36
- }),
37
- v.object({
38
- type: v.literal("createPageResult"),
39
- requestId: v.string(),
40
- status: v.literal("error"),
41
- error: customBlockCreatePageErrorInfoSchema,
42
- }),
43
- ]);