@notionhq/custom-blocks-host 0.4.2 → 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 (418) 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} +2 -2
  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} +22 -2
  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 +4 -3
  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/{messages/updatePageResult.js → pages/messages/updatePage.js} +26 -2
  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 +16 -1
  270. package/docs/bridge/versioning.md +2 -2
  271. package/docs/handlers.md +2 -2
  272. package/package.json +1 -1
  273. package/src/compatibility/normalizeHostToSandboxMessage.ts +4 -4
  274. package/src/compatibility/{pageWithNullTextFallbackProperties.ts → pages/toPageWithNullTextFallbackProperties.ts} +2 -2
  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/pages/page.d.ts +0 -1422
  348. package/dist/protocol/pages/page.js +0 -318
  349. package/dist/protocol/parent.js +0 -13
  350. package/dist/protocol/users/user.js +0 -20
  351. package/dist/protocolVersion.d.ts.map +0 -1
  352. package/dist/queries/querySubscriptions.d.ts.map +0 -1
  353. package/dist/queries/types.d.ts +0 -5
  354. package/dist/queries/types.d.ts.map +0 -1
  355. package/dist/queries/validateQueryDataSourceFilter.d.ts +0 -5
  356. package/dist/queries/validateQueryDataSourceFilter.d.ts.map +0 -1
  357. package/dist/queries/validateQueryDataSourceSorts.d.ts +0 -8
  358. package/dist/queries/validateQueryDataSourceSorts.d.ts.map +0 -1
  359. package/dist/utils.d.ts.map +0 -1
  360. package/src/compatibility/pageForProtocol3To5.ts +0 -190
  361. package/src/ids.ts +0 -9
  362. package/src/lifecycle/initErrors.ts +0 -131
  363. package/src/messages/types.ts +0 -171
  364. package/src/queries/types.ts +0 -11
  365. /package/dist/compatibility/{pageResult.js → pages/pageResult.js} +0 -0
  366. /package/dist/{messages/types.js → context/resize.js} +0 -0
  367. /package/dist/{autoBindProperties.js → dataSources/bindings/getAutoBoundPropertyIdsByKey.js} +0 -0
  368. /package/dist/{dateValue.js → dataSources/properties/toNotionDateValue.js} +0 -0
  369. /package/dist/{queries → dataSources/queries}/querySubscriptions.js +0 -0
  370. /package/dist/{queries → dataSources}/types.js +0 -0
  371. /package/dist/{isAllowedLocalPreviewUrl.d.ts → lifecycle/isAllowedLocalPreviewUrl.d.ts} +0 -0
  372. /package/dist/lifecycle/{protocolVersion.js → isValidBridgeProtocolVersion.js} +0 -0
  373. /package/dist/{lifecycle → manifest}/resolveManifest.js +0 -0
  374. /package/dist/messages/{invalidSandboxMessage.js → getInvalidSandboxMessageResponse.js} +0 -0
  375. /package/dist/{messages → navigation}/parseExternalUrl.d.ts +0 -0
  376. /package/dist/{messages → navigation}/parseExternalUrl.js +0 -0
  377. /package/dist/protocol/{dataSources → compatibility/protocol3To5}/dataSourcePage.d.ts +0 -0
  378. /package/dist/protocol/{dataSources → compatibility/protocol3To5}/dataSourceValue.d.ts +0 -0
  379. /package/dist/protocol/{contrast.d.ts → context/contrast.d.ts} +0 -0
  380. /package/dist/protocol/{contrast.js → context/contrast.js} +0 -0
  381. /package/dist/protocol/{messages → context/messages}/contrastModeChanged.d.ts +0 -0
  382. /package/dist/protocol/{messages → context/messages}/contrastModeChanged.js +0 -0
  383. /package/dist/protocol/{messages → context/messages}/pageChanged.d.ts +0 -0
  384. /package/dist/protocol/{messages → context/messages}/parentChanged.d.ts +0 -0
  385. /package/dist/protocol/{messages → context/messages}/parentChanged.js +0 -0
  386. /package/dist/protocol/{messages → context/messages}/resize.d.ts +0 -0
  387. /package/dist/protocol/{messages → context/messages}/resize.js +0 -0
  388. /package/dist/protocol/{messages → context/messages}/themeChanged.d.ts +0 -0
  389. /package/dist/protocol/{messages → context/messages}/themeChanged.js +0 -0
  390. /package/dist/protocol/{theme.d.ts → context/theme.d.ts} +0 -0
  391. /package/dist/protocol/{theme.js → context/theme.js} +0 -0
  392. /package/dist/protocol/{messages → dataSources/messages}/unsubscribeDataSourceQuery.d.ts +0 -0
  393. /package/dist/protocol/{messages → dataSources/messages}/unsubscribeDataSourceQuery.js +0 -0
  394. /package/dist/protocol/dataSources/{dateValue.d.ts → properties/dateValue.d.ts} +0 -0
  395. /package/dist/protocol/dataSources/{dateValue.js → properties/dateValue.js} +0 -0
  396. /package/dist/protocol/dataSources/{propertySchema.d.ts → properties/propertySchema.d.ts} +0 -0
  397. /package/dist/protocol/dataSources/{propertySchema.js → properties/propertySchema.js} +0 -0
  398. /package/dist/protocol/{messages → handshake}/initResult.js +0 -0
  399. /package/dist/protocol/{messages → handshake}/isInitHandshakeMessage.js +0 -0
  400. /package/dist/protocol/{messages → navigation}/openExternalUrl.js +0 -0
  401. /package/dist/protocol/{messages → users/messages}/currentUserChanged.d.ts +0 -0
  402. /package/dist/protocol/{ids.d.ts → utils/ids.d.ts} +0 -0
  403. /package/dist/protocol/{ids.js → utils/ids.js} +0 -0
  404. /package/dist/protocol/{isLocalBlockServerUrl.d.ts → utils/isLocalBlockServerUrl.d.ts} +0 -0
  405. /package/dist/protocol/{isLocalBlockServerUrl.js → utils/isLocalBlockServerUrl.js} +0 -0
  406. /package/dist/protocol/{protocolVersion.d.ts → utils/protocolVersion.d.ts} +0 -0
  407. /package/dist/protocol/{protocolVersion.js → utils/protocolVersion.js} +0 -0
  408. /package/dist/protocol/{dataSources → utils}/recordPointer.d.ts +0 -0
  409. /package/dist/protocol/{dataSources → utils}/recordPointer.js +0 -0
  410. /package/dist/{protocolVersion.d.ts → utils/protocolVersion.d.ts} +0 -0
  411. /package/dist/{protocolVersion.js → utils/protocolVersion.js} +0 -0
  412. /package/dist/{utils.js → utils/unreachable.js} +0 -0
  413. /package/src/compatibility/{pageResult.ts → pages/pageResult.ts} +0 -0
  414. /package/src/lifecycle/{protocolVersion.ts → isValidBridgeProtocolVersion.ts} +0 -0
  415. /package/src/messages/{invalidSandboxMessage.ts → getInvalidSandboxMessageResponse.ts} +0 -0
  416. /package/src/{messages → navigation}/parseExternalUrl.ts +0 -0
  417. /package/src/{protocolVersion.ts → utils/protocolVersion.ts} +0 -0
  418. /package/src/{utils.ts → utils/unreachable.ts} +0 -0
@@ -1,54 +1,150 @@
1
- /**
2
- * Shared wire contract for custom block sandboxes and hosts.
3
- *
4
- * This package contains only protocol data: message schemas, wire types, IDs,
5
- * errors, manifests, and protocol-version constants. Runtime behavior belongs
6
- * in either the author SDK or the host package.
7
- */
8
- export * from "./contrast.js";
9
- export * from "./dataSources/dataSource.js";
10
- export * from "./dataSources/dataSourcePage.js";
11
- export * from "./dataSources/dataSourceValue.js";
12
- export * from "./dataSources/dateValue.js";
13
- export * from "./dataSources/errors.js";
14
- export * from "./dataSources/propertySchema.js";
15
- export * from "./dataSources/recordPointer.js";
16
- export * from "./dataSources/sortDirection.js";
17
- export * from "./errors.js";
18
- export * from "./ids.js";
19
- export { isLocalBlockServerUrl } from "./isLocalBlockServerUrl.js";
20
- export * from "./manifest.js";
21
- export * from "./messages/connect.js";
22
- export * from "./messages/contrastModeChanged.js";
23
- export * from "./messages/createPage.js";
24
- export * from "./messages/createPageResult.js";
25
- export * from "./messages/currentUserChanged.js";
26
- export * from "./messages/dataSourcesChanged.js";
27
- export * from "./messages/getPage.js";
28
- export * from "./messages/getUser.js";
29
- export * from "./messages/hostToSandbox.js";
30
- export * from "./messages/incomingType.js";
31
- export * from "./messages/init.js";
32
- export * from "./messages/initResult.js";
33
- export * from "./messages/invalidHostMessage.js";
34
- export * from "./messages/invalidSandboxMessage.js";
35
- export * from "./messages/isInitHandshakeMessage.js";
36
- export * from "./messages/listUsers.js";
37
- export * from "./messages/messagePayload.js";
38
- export * from "./messages/openExternalUrl.js";
39
- export * from "./messages/openPage.js";
40
- export * from "./messages/pageChanged.js";
41
- export * from "./messages/parentChanged.js";
42
- export * from "./messages/queryDataSource.js";
43
- export * from "./messages/queryDataSourceResult.js";
44
- export * from "./messages/resize.js";
45
- export * from "./messages/sandboxToHost.js";
46
- export * from "./messages/themeChanged.js";
47
- export * from "./messages/unsubscribeDataSourceQuery.js";
48
- export * from "./messages/updatePage.js";
49
- export * from "./messages/updatePageResult.js";
50
- export * from "./pages/page.js";
51
- export * from "./parent.js";
52
- export * from "./protocolVersion.js";
53
- export * from "./theme.js";
54
- export * from "./users/user.js";
1
+ /** Shared wire definitions and constructors. Runtime behavior belongs to the SDK or host. */
2
+ export type { BridgePageForProtocol3To5 } from "./compatibility/protocol3To5/bridgePage.js";
3
+ export { bridgePageForProtocol3To5Schema } from "./compatibility/protocol3To5/bridgePage.js";
4
+ export type { NotionDataSourcePageForProtocol3To5 } from "./compatibility/protocol3To5/dataSourcePage.js";
5
+ export { notionDataSourcePageForProtocol3To5Schema } from "./compatibility/protocol3To5/dataSourcePage.js";
6
+ export type { NotionDataSourceValue } from "./compatibility/protocol3To5/dataSourceValue.js";
7
+ export { notionDataSourceValueSchema } from "./compatibility/protocol3To5/dataSourceValue.js";
8
+ export type { CustomBlockPage } from "./context/containingPage.js";
9
+ export { customBlockPageSchema } from "./context/containingPage.js";
10
+ export type { NotionContrastMode } from "./context/contrast.js";
11
+ export { DEFAULT_CONTRAST_MODE, notionContrastModeSchema, } from "./context/contrast.js";
12
+ export type { ContrastModeChangedMessage } from "./context/messages/contrastModeChanged.js";
13
+ export { contrastModeChangedMessageSchema } from "./context/messages/contrastModeChanged.js";
14
+ export type { PageChangedMessage } from "./context/messages/pageChanged.js";
15
+ export { pageChangedMessageSchema } from "./context/messages/pageChanged.js";
16
+ export type { ParentChangedMessage } from "./context/messages/parentChanged.js";
17
+ export { parentChangedMessageSchema } from "./context/messages/parentChanged.js";
18
+ export type { ResizeMessage } from "./context/messages/resize.js";
19
+ export { resizeMessageSchema } from "./context/messages/resize.js";
20
+ export type { ThemeChangedMessage } from "./context/messages/themeChanged.js";
21
+ export { themeChangedMessageSchema } from "./context/messages/themeChanged.js";
22
+ export type { DataSourceParent, NotionParent, PageParent, } from "./context/parent.js";
23
+ export { dataSourceParentSchema, notionParentSchema, pageParentSchema, } from "./context/parent.js";
24
+ export type { NotionTheme } from "./context/theme.js";
25
+ export { notionThemeSchema } from "./context/theme.js";
26
+ export type { BridgeDataSourceBinding } from "./dataSources/bridgeDataSourceBinding.js";
27
+ export { bridgeDataSourceBindingSchema } from "./dataSources/bridgeDataSourceBinding.js";
28
+ export type { BridgeDataSourceBindings } from "./dataSources/bridgeDataSourceBindings.js";
29
+ export { bridgeDataSourceBindingsSchema } from "./dataSources/bridgeDataSourceBindings.js";
30
+ export type { NotionCollectionPointer } from "./dataSources/collectionPointer.js";
31
+ export type { NotionCollectionSchema } from "./dataSources/collectionSchema.js";
32
+ export { notionCollectionSchemaValidator } from "./dataSources/collectionSchema.js";
33
+ export type { CustomBlockDataSourceResolutionErrorCode, CustomBlockDataSourceResolutionErrorInfo, CustomBlockPropertyErrorCode, CustomBlockPropertyErrorInfo, } from "./dataSources/errors.js";
34
+ export { customBlockDataSourceResolutionErrorCodeSchema, customBlockPropertyErrorCodeSchema, } from "./dataSources/errors.js";
35
+ export type { BridgeDataSourceFilter } from "./dataSources/filters/bridgeDataSourceFilter.js";
36
+ export { bridgeDataSourceFilterSchema } from "./dataSources/filters/bridgeDataSourceFilter.js";
37
+ export type { BridgeDataSourceFilterCondition } from "./dataSources/filters/bridgeDataSourceFilterCondition.js";
38
+ export { bridgeDataSourceFilterConditionSchema } from "./dataSources/filters/bridgeDataSourceFilterCondition.js";
39
+ export type { BridgeDataSourceSort } from "./dataSources/filters/bridgeDataSourceSort.js";
40
+ export { bridgeDataSourceSortSchema, CUSTOM_BLOCK_DATA_SOURCE_QUERY_MAX_SORTS, } from "./dataSources/filters/bridgeDataSourceSort.js";
41
+ export type { CustomBlockCheckboxFilterOperator } from "./dataSources/filters/checkboxFilterOperator.js";
42
+ export { customBlockCheckboxFilterOperatorSchema } from "./dataSources/filters/checkboxFilterOperator.js";
43
+ export type { CustomBlockContainsFilterOperator } from "./dataSources/filters/containsFilterOperator.js";
44
+ export { customBlockContainsFilterOperatorSchema } from "./dataSources/filters/containsFilterOperator.js";
45
+ export type { CustomBlockCreatedByFilterOperator } from "./dataSources/filters/createdByFilterOperator.js";
46
+ export { customBlockCreatedByFilterOperatorSchema } from "./dataSources/filters/createdByFilterOperator.js";
47
+ export type { CustomBlockDateFilterOperator, CustomBlockRelativeDateValue, } from "./dataSources/filters/dateFilterOperator.js";
48
+ export { customBlockDateFilterOperatorSchema, customBlockRelativeDateValueSchema, } from "./dataSources/filters/dateFilterOperator.js";
49
+ export type { CustomBlockNumberFilterOperator } from "./dataSources/filters/numberFilterOperator.js";
50
+ export { customBlockNumberFilterOperatorSchema } from "./dataSources/filters/numberFilterOperator.js";
51
+ export type { CustomBlockOptionFilterOperator } from "./dataSources/filters/optionFilterOperator.js";
52
+ export { customBlockOptionFilterOperatorSchema } from "./dataSources/filters/optionFilterOperator.js";
53
+ export type { CustomBlockPeopleFilterOperator, CustomBlockPersonFilterValue, } from "./dataSources/filters/peopleFilterOperator.js";
54
+ export { customBlockPeopleFilterOperatorSchema } from "./dataSources/filters/peopleFilterOperator.js";
55
+ export type { CustomBlockRelationFilterOperator } from "./dataSources/filters/relationFilterOperator.js";
56
+ export { customBlockRelationFilterOperatorSchema } from "./dataSources/filters/relationFilterOperator.js";
57
+ export type { CustomBlockStatusFilterOperator } from "./dataSources/filters/statusFilterOperator.js";
58
+ export { customBlockStatusFilterOperatorSchema } from "./dataSources/filters/statusFilterOperator.js";
59
+ export type { CustomBlockStatusGroupFilterOperator, CustomBlockStatusGroupName, } from "./dataSources/filters/statusGroupFilterOperator.js";
60
+ export { customBlockStatusGroupFilterOperatorSchema, customBlockStatusGroupNameSchema, } from "./dataSources/filters/statusGroupFilterOperator.js";
61
+ export type { CustomBlockTextFilterOperator } from "./dataSources/filters/textFilterOperator.js";
62
+ export { customBlockTextFilterOperatorSchema } from "./dataSources/filters/textFilterOperator.js";
63
+ export type { MakeBridgeDataSourceBindingArgs } from "./dataSources/makeBridgeDataSourceBinding.js";
64
+ export { makeBridgeDataSourceBinding } from "./dataSources/makeBridgeDataSourceBinding.js";
65
+ export type { DataSourcesChangedMessage } from "./dataSources/messages/dataSourcesChanged.js";
66
+ export { dataSourcesChangedMessageSchema } from "./dataSources/messages/dataSourcesChanged.js";
67
+ export type { CustomBlockQueryDataSourceErrorCode, CustomBlockQueryDataSourceErrorInfo, QueryDataSourceMessage, QueryDataSourceResultMessage, QueryDataSourceResultMessageWithProtocol3To5Compatibility, } from "./dataSources/messages/queryDataSource.js";
68
+ export { customBlockQueryDataSourceErrorCodeSchema, customBlockQueryDataSourceErrorInfoSchema, queryDataSourceMessageSchema, queryDataSourceResultMessageSchema, queryDataSourceResultMessageWithProtocol3To5CompatibilitySchema, } from "./dataSources/messages/queryDataSource.js";
69
+ export type { UnsubscribeDataSourceQueryMessage } from "./dataSources/messages/unsubscribeDataSourceQuery.js";
70
+ export { unsubscribeDataSourceQueryMessageSchema } from "./dataSources/messages/unsubscribeDataSourceQuery.js";
71
+ export type { NotionDataSource } from "./dataSources/notionDataSource.js";
72
+ export { notionDataSourceSchema } from "./dataSources/notionDataSource.js";
73
+ export type { NotionDate, NotionDateRange, NotionDateReminder, NotionDateTime, NotionDateTimeRange, NotionDateTimeReminder, NotionDateValue, NotionDisabledReminder, NotionTimeReminder, } from "./dataSources/properties/dateValue.js";
74
+ export { notionDateRangeSchema, notionDateReminderSchema, notionDateSchema, notionDateTimeRangeSchema, notionDateTimeReminderSchema, notionDateTimeSchema, notionDateValueSchema, notionDisabledReminderSchema, notionTimeReminderSchema, } from "./dataSources/properties/dateValue.js";
75
+ export type { CustomBlockDataSourceSortablePropertyType, NotionBuiltinPropertyId, NotionDualProperty, NotionPropertyColor, NotionPropertyOption, NotionPropertySchema, NotionPropertySchemasById, NotionPropertyType, NotionStatusGroup, } from "./dataSources/properties/propertySchema.js";
76
+ export { CUSTOM_BLOCK_DATA_SOURCE_SORTABLE_PROPERTY_TYPES, NOTION_BUILTIN_PROPERTY_IDS, NOTION_BUILTIN_PROPERTY_SCHEMAS, NOTION_PROPERTY_TYPES, notionDualPropertySchema, notionPropertyColorSchema, notionPropertyOptionSchema, notionPropertySchemaSchema, notionPropertyTypeSchema, notionStatusGroupSchema, } from "./dataSources/properties/propertySchema.js";
77
+ export type { MappedPropertyBinding, ResolvedDataSourceBinding, ResolvedPropertyBinding, } from "./dataSources/resolveDataSourceBinding.js";
78
+ export { resolveDataSourceBinding } from "./dataSources/resolveDataSourceBinding.js";
79
+ export type { NotionSortDirection } from "./dataSources/sortDirection.js";
80
+ export { notionSortDirectionSchema } from "./dataSources/sortDirection.js";
81
+ export type { ConnectMessage } from "./handshake/connect.js";
82
+ export { connectMessageSchema } from "./handshake/connect.js";
83
+ export type { CustomBlockInitErrorCode, CustomBlockInitErrorInfo, CustomBlockInitializationErrorCode, CustomBlockInitializationErrorInfo, InitMessage, } from "./handshake/init.js";
84
+ export { CustomBlockInitializationError, customBlockInitErrorCodeSchema, customBlockInitErrorInfoSchema, initMessageSchema, } from "./handshake/init.js";
85
+ export type { CustomBlockInitResultErrorCode, CustomBlockInitResultErrorInfo, InitResultMessage, } from "./handshake/initResult.js";
86
+ export { customBlockInitResultErrorCodeSchema, customBlockInitResultErrorInfoSchema, initResultMessageSchema, } from "./handshake/initResult.js";
87
+ export { isInitHandshakeMessage } from "./handshake/isInitHandshakeMessage.js";
88
+ export type { CustomBlockCapabilityDeclaration, CustomBlockCapabilityName, CustomBlockCapabilityResourceName, CustomBlockOriginResourceName, } from "./manifest/capabilities.js";
89
+ export { customBlockCapabilityDeclarationSchema } from "./manifest/capabilities.js";
90
+ export type { BridgeCustomBlockManifest, ManifestDataSource, ManifestIcon, ManifestProperty, } from "./manifest/manifest.js";
91
+ export { manifestDataSourceSchema, manifestIconSchema, manifestPropertySchema, manifestSchema, } from "./manifest/manifest.js";
92
+ export type { HostToSandboxMessage, HostToSandboxMessageWithProtocol3To5Compatibility, } from "./messages/hostToSandbox.js";
93
+ export { hostToSandboxMessageSchema, hostToSandboxMessageWithProtocol3To5CompatibilitySchema, } from "./messages/hostToSandbox.js";
94
+ export { readIncomingType } from "./messages/incomingType.js";
95
+ export type { InvalidHostMessage } from "./messages/invalidHostMessage.js";
96
+ export { invalidHostMessageSchema } from "./messages/invalidHostMessage.js";
97
+ export type { InvalidSandboxMessage } from "./messages/invalidSandboxMessage.js";
98
+ export { invalidSandboxMessageSchema } from "./messages/invalidSandboxMessage.js";
99
+ export type { BridgeMessagePayload } from "./messages/messagePayload.js";
100
+ export type { SandboxToHostMessage } from "./messages/sandboxToHost.js";
101
+ export { sandboxToHostMessageSchema } from "./messages/sandboxToHost.js";
102
+ export type { CustomBlockOpenExternalUrlErrorCode, CustomBlockOpenExternalUrlErrorInfo, OpenExternalUrlMessage, OpenExternalUrlResultMessage, } from "./navigation/openExternalUrl.js";
103
+ export { customBlockOpenExternalUrlErrorCodeSchema, customBlockOpenExternalUrlErrorInfoSchema, openExternalUrlMessageSchema, openExternalUrlResultMessageSchema, } from "./navigation/openExternalUrl.js";
104
+ export type { BridgePage } from "./pages/bridgePage.js";
105
+ export { bridgePageSchema } from "./pages/bridgePage.js";
106
+ export type { MakeBridgePageArgs } from "./pages/makeBridgePage.js";
107
+ export { makeBridgePage } from "./pages/makeBridgePage.js";
108
+ export type { CreatePageMessage, CreatePageMessageParent, CreatePageResultMessage, CreatePageResultMessageWithProtocol3To5Compatibility, CustomBlockCreatePageErrorCode, CustomBlockCreatePageErrorInfo, NotionCreatePagePosition, } from "./pages/messages/createPage.js";
109
+ export { createPageMessageSchema, createPageParentSchema, createPageResultMessageSchema, createPageResultMessageWithProtocol3To5CompatibilitySchema, customBlockCreatePageErrorCodeSchema, customBlockCreatePageErrorInfoSchema, notionCreatePagePositionSchema, } from "./pages/messages/createPage.js";
110
+ export type { CustomBlockGetPageErrorCode, CustomBlockGetPageErrorInfo, GetPageMessage, GetPageResultMessage, GetPageResultMessageWithProtocol3To5Compatibility, } from "./pages/messages/getPage.js";
111
+ export { customBlockGetPageErrorCodeSchema, customBlockGetPageErrorInfoSchema, getPageMessageSchema, getPageResultMessageSchema, getPageResultMessageWithProtocol3To5CompatibilitySchema, } from "./pages/messages/getPage.js";
112
+ export type { CustomBlockOpenPageErrorCode, CustomBlockOpenPageErrorInfo, OpenPageMessage, OpenPageMode, OpenPageResultMessage, } from "./pages/messages/openPage.js";
113
+ export { customBlockOpenPageErrorCodeSchema, customBlockOpenPageErrorInfoSchema, openPageMessageSchema, openPageModeSchema, openPageResultMessageSchema, } from "./pages/messages/openPage.js";
114
+ export type { CustomBlockUpdatePageErrorCode, CustomBlockUpdatePageErrorInfo, UpdatePageMessage, UpdatePageResultMessage, UpdatePageResultMessageWithProtocol3To5Compatibility, } from "./pages/messages/updatePage.js";
115
+ export { customBlockUpdatePageErrorCodeSchema, customBlockUpdatePageErrorInfoSchema, updatePageMessageSchema, updatePageResultMessageSchema, updatePageResultMessageWithProtocol3To5CompatibilitySchema, } from "./pages/messages/updatePage.js";
116
+ export type { NotionPageCover, NotionPageIcon } from "./pages/pageAppearance.js";
117
+ export { notionCustomEmojiIconSchema, notionEmojiIconSchema, notionExternalFileSchema, notionHostedFileSchema, notionPageCoverSchema, notionPageIconSchema, } from "./pages/pageAppearance.js";
118
+ export type { BridgePagePropertyReadMap, BridgePagePropertyWriteMap, } from "./pages/properties/bridgePagePropertyMaps.js";
119
+ export { bridgePagePropertyReadMapSchema, bridgePagePropertyWriteMapSchema, } from "./pages/properties/bridgePagePropertyMaps.js";
120
+ export type { BridgePagePropertyValue } from "./pages/properties/bridgePagePropertyValue.js";
121
+ export { bridgePagePropertyValueSchema } from "./pages/properties/bridgePagePropertyValue.js";
122
+ export type { NotionDateInput } from "./pages/properties/dateInput.js";
123
+ export type { NotionFileInput } from "./pages/properties/fileInput.js";
124
+ export type { NotionPlaceInput } from "./pages/properties/placeInput.js";
125
+ export type { NotionRelationInput } from "./pages/properties/relationInput.js";
126
+ export type { NotionRichTextItem } from "./pages/properties/richText.js";
127
+ export type { NotionSelectOptionInput } from "./pages/properties/selectOption.js";
128
+ export type { NotionUserInput } from "./pages/properties/userInput.js";
129
+ export type { BridgeUser } from "./users/bridgeUser.js";
130
+ export { bridgeUserSchema } from "./users/bridgeUser.js";
131
+ export type { BridgeUserList } from "./users/bridgeUserList.js";
132
+ export { bridgeUserListSchema } from "./users/bridgeUserList.js";
133
+ export type { MakeBridgeUserArgs } from "./users/makeBridgeUser.js";
134
+ export { makeBridgeUser } from "./users/makeBridgeUser.js";
135
+ export type { CurrentUserChangedMessage } from "./users/messages/currentUserChanged.js";
136
+ export { currentUserChangedMessageSchema } from "./users/messages/currentUserChanged.js";
137
+ export type { CustomBlockGetUserErrorCode, CustomBlockGetUserErrorInfo, GetUserMessage, GetUserResultMessage, } from "./users/messages/getUser.js";
138
+ export { customBlockGetUserErrorCodeSchema, customBlockGetUserErrorInfoSchema, getUserMessageSchema, getUserResultMessageSchema, } from "./users/messages/getUser.js";
139
+ export type { CustomBlockListUsersErrorCode, CustomBlockListUsersErrorInfo, ListUsersMessage, ListUsersResultMessage, } from "./users/messages/listUsers.js";
140
+ export { customBlockListUsersErrorCodeSchema, customBlockListUsersErrorInfoSchema, listUsersMessageSchema, listUsersResultMessageSchema, } from "./users/messages/listUsers.js";
141
+ export type { NotionUserId } from "./users/userId.js";
142
+ export { notionUserIdSchema } from "./users/userId.js";
143
+ export type { CustomBlockCapabilityErrorCode, CustomBlockErrorCode, CustomBlockErrorInfo, } from "./utils/errors.js";
144
+ export { CAPABILITY_NOT_GRANTED_ERROR_CODE, customBlockErrorInfoSchema, } from "./utils/errors.js";
145
+ export type { NotionAgentId, NotionBlockId, NotionDataSourceId, NotionPageId, NotionSpaceId, } from "./utils/ids.js";
146
+ export { notionAgentIdSchema, notionBlockIdSchema, notionDataSourceIdSchema, notionPageIdSchema, notionSpaceIdSchema, } from "./utils/ids.js";
147
+ export { isLocalBlockServerUrl } from "./utils/isLocalBlockServerUrl.js";
148
+ export { LATEST_BRIDGE_PROTOCOL_VERSION, TEXT_FALLBACK_PROPERTY_PROTOCOL_VERSION, UNIFIED_PAGE_PROTOCOL_VERSION, } from "./utils/protocolVersion.js";
149
+ export type { NotionRecordPointer } from "./utils/recordPointer.js";
150
+ export { notionRecordPointerSchema } from "./utils/recordPointer.js";
@@ -1,54 +1,73 @@
1
- /**
2
- * Shared wire contract for custom block sandboxes and hosts.
3
- *
4
- * This package contains only protocol data: message schemas, wire types, IDs,
5
- * errors, manifests, and protocol-version constants. Runtime behavior belongs
6
- * in either the author SDK or the host package.
7
- */
8
- export * from "./contrast.js";
9
- export * from "./dataSources/dataSource.js";
10
- export * from "./dataSources/dataSourcePage.js";
11
- export * from "./dataSources/dataSourceValue.js";
12
- export * from "./dataSources/dateValue.js";
13
- export * from "./dataSources/errors.js";
14
- export * from "./dataSources/propertySchema.js";
15
- export * from "./dataSources/recordPointer.js";
16
- export * from "./dataSources/sortDirection.js";
17
- export * from "./errors.js";
18
- export * from "./ids.js";
19
- export { isLocalBlockServerUrl } from "./isLocalBlockServerUrl.js";
20
- export * from "./manifest.js";
21
- export * from "./messages/connect.js";
22
- export * from "./messages/contrastModeChanged.js";
23
- export * from "./messages/createPage.js";
24
- export * from "./messages/createPageResult.js";
25
- export * from "./messages/currentUserChanged.js";
26
- export * from "./messages/dataSourcesChanged.js";
27
- export * from "./messages/getPage.js";
28
- export * from "./messages/getUser.js";
29
- export * from "./messages/hostToSandbox.js";
30
- export * from "./messages/incomingType.js";
31
- export * from "./messages/init.js";
32
- export * from "./messages/initResult.js";
33
- export * from "./messages/invalidHostMessage.js";
34
- export * from "./messages/invalidSandboxMessage.js";
35
- export * from "./messages/isInitHandshakeMessage.js";
36
- export * from "./messages/listUsers.js";
37
- export * from "./messages/messagePayload.js";
38
- export * from "./messages/openExternalUrl.js";
39
- export * from "./messages/openPage.js";
40
- export * from "./messages/pageChanged.js";
41
- export * from "./messages/parentChanged.js";
42
- export * from "./messages/queryDataSource.js";
43
- export * from "./messages/queryDataSourceResult.js";
44
- export * from "./messages/resize.js";
45
- export * from "./messages/sandboxToHost.js";
46
- export * from "./messages/themeChanged.js";
47
- export * from "./messages/unsubscribeDataSourceQuery.js";
48
- export * from "./messages/updatePage.js";
49
- export * from "./messages/updatePageResult.js";
50
- export * from "./pages/page.js";
51
- export * from "./parent.js";
52
- export * from "./protocolVersion.js";
53
- export * from "./theme.js";
54
- export * from "./users/user.js";
1
+ /** Shared wire definitions and constructors. Runtime behavior belongs to the SDK or host. */
2
+ export { bridgePageForProtocol3To5Schema } from "./compatibility/protocol3To5/bridgePage.js";
3
+ export { notionDataSourcePageForProtocol3To5Schema } from "./compatibility/protocol3To5/dataSourcePage.js";
4
+ export { notionDataSourceValueSchema } from "./compatibility/protocol3To5/dataSourceValue.js";
5
+ export { customBlockPageSchema } from "./context/containingPage.js";
6
+ export { DEFAULT_CONTRAST_MODE, notionContrastModeSchema, } from "./context/contrast.js";
7
+ export { contrastModeChangedMessageSchema } from "./context/messages/contrastModeChanged.js";
8
+ export { pageChangedMessageSchema } from "./context/messages/pageChanged.js";
9
+ export { parentChangedMessageSchema } from "./context/messages/parentChanged.js";
10
+ export { resizeMessageSchema } from "./context/messages/resize.js";
11
+ export { themeChangedMessageSchema } from "./context/messages/themeChanged.js";
12
+ export { dataSourceParentSchema, notionParentSchema, pageParentSchema, } from "./context/parent.js";
13
+ export { notionThemeSchema } from "./context/theme.js";
14
+ export { bridgeDataSourceBindingSchema } from "./dataSources/bridgeDataSourceBinding.js";
15
+ export { bridgeDataSourceBindingsSchema } from "./dataSources/bridgeDataSourceBindings.js";
16
+ export { notionCollectionSchemaValidator } from "./dataSources/collectionSchema.js";
17
+ export { customBlockDataSourceResolutionErrorCodeSchema, customBlockPropertyErrorCodeSchema, } from "./dataSources/errors.js";
18
+ export { bridgeDataSourceFilterSchema } from "./dataSources/filters/bridgeDataSourceFilter.js";
19
+ export { bridgeDataSourceFilterConditionSchema } from "./dataSources/filters/bridgeDataSourceFilterCondition.js";
20
+ export { bridgeDataSourceSortSchema, CUSTOM_BLOCK_DATA_SOURCE_QUERY_MAX_SORTS, } from "./dataSources/filters/bridgeDataSourceSort.js";
21
+ export { customBlockCheckboxFilterOperatorSchema } from "./dataSources/filters/checkboxFilterOperator.js";
22
+ export { customBlockContainsFilterOperatorSchema } from "./dataSources/filters/containsFilterOperator.js";
23
+ export { customBlockCreatedByFilterOperatorSchema } from "./dataSources/filters/createdByFilterOperator.js";
24
+ export { customBlockDateFilterOperatorSchema, customBlockRelativeDateValueSchema, } from "./dataSources/filters/dateFilterOperator.js";
25
+ export { customBlockNumberFilterOperatorSchema } from "./dataSources/filters/numberFilterOperator.js";
26
+ export { customBlockOptionFilterOperatorSchema } from "./dataSources/filters/optionFilterOperator.js";
27
+ export { customBlockPeopleFilterOperatorSchema } from "./dataSources/filters/peopleFilterOperator.js";
28
+ export { customBlockRelationFilterOperatorSchema } from "./dataSources/filters/relationFilterOperator.js";
29
+ export { customBlockStatusFilterOperatorSchema } from "./dataSources/filters/statusFilterOperator.js";
30
+ export { customBlockStatusGroupFilterOperatorSchema, customBlockStatusGroupNameSchema, } from "./dataSources/filters/statusGroupFilterOperator.js";
31
+ export { customBlockTextFilterOperatorSchema } from "./dataSources/filters/textFilterOperator.js";
32
+ export { makeBridgeDataSourceBinding } from "./dataSources/makeBridgeDataSourceBinding.js";
33
+ export { dataSourcesChangedMessageSchema } from "./dataSources/messages/dataSourcesChanged.js";
34
+ export { customBlockQueryDataSourceErrorCodeSchema, customBlockQueryDataSourceErrorInfoSchema, queryDataSourceMessageSchema, queryDataSourceResultMessageSchema, queryDataSourceResultMessageWithProtocol3To5CompatibilitySchema, } from "./dataSources/messages/queryDataSource.js";
35
+ export { unsubscribeDataSourceQueryMessageSchema } from "./dataSources/messages/unsubscribeDataSourceQuery.js";
36
+ export { notionDataSourceSchema } from "./dataSources/notionDataSource.js";
37
+ export { notionDateRangeSchema, notionDateReminderSchema, notionDateSchema, notionDateTimeRangeSchema, notionDateTimeReminderSchema, notionDateTimeSchema, notionDateValueSchema, notionDisabledReminderSchema, notionTimeReminderSchema, } from "./dataSources/properties/dateValue.js";
38
+ export { CUSTOM_BLOCK_DATA_SOURCE_SORTABLE_PROPERTY_TYPES, NOTION_BUILTIN_PROPERTY_IDS, NOTION_BUILTIN_PROPERTY_SCHEMAS, NOTION_PROPERTY_TYPES, notionDualPropertySchema, notionPropertyColorSchema, notionPropertyOptionSchema, notionPropertySchemaSchema, notionPropertyTypeSchema, notionStatusGroupSchema, } from "./dataSources/properties/propertySchema.js";
39
+ export { resolveDataSourceBinding } from "./dataSources/resolveDataSourceBinding.js";
40
+ export { notionSortDirectionSchema } from "./dataSources/sortDirection.js";
41
+ export { connectMessageSchema } from "./handshake/connect.js";
42
+ export { CustomBlockInitializationError, customBlockInitErrorCodeSchema, customBlockInitErrorInfoSchema, initMessageSchema, } from "./handshake/init.js";
43
+ export { customBlockInitResultErrorCodeSchema, customBlockInitResultErrorInfoSchema, initResultMessageSchema, } from "./handshake/initResult.js";
44
+ export { isInitHandshakeMessage } from "./handshake/isInitHandshakeMessage.js";
45
+ export { customBlockCapabilityDeclarationSchema } from "./manifest/capabilities.js";
46
+ export { manifestDataSourceSchema, manifestIconSchema, manifestPropertySchema, manifestSchema, } from "./manifest/manifest.js";
47
+ export { hostToSandboxMessageSchema, hostToSandboxMessageWithProtocol3To5CompatibilitySchema, } from "./messages/hostToSandbox.js";
48
+ export { readIncomingType } from "./messages/incomingType.js";
49
+ export { invalidHostMessageSchema } from "./messages/invalidHostMessage.js";
50
+ export { invalidSandboxMessageSchema } from "./messages/invalidSandboxMessage.js";
51
+ export { sandboxToHostMessageSchema } from "./messages/sandboxToHost.js";
52
+ export { customBlockOpenExternalUrlErrorCodeSchema, customBlockOpenExternalUrlErrorInfoSchema, openExternalUrlMessageSchema, openExternalUrlResultMessageSchema, } from "./navigation/openExternalUrl.js";
53
+ export { bridgePageSchema } from "./pages/bridgePage.js";
54
+ export { makeBridgePage } from "./pages/makeBridgePage.js";
55
+ export { createPageMessageSchema, createPageParentSchema, createPageResultMessageSchema, createPageResultMessageWithProtocol3To5CompatibilitySchema, customBlockCreatePageErrorCodeSchema, customBlockCreatePageErrorInfoSchema, notionCreatePagePositionSchema, } from "./pages/messages/createPage.js";
56
+ export { customBlockGetPageErrorCodeSchema, customBlockGetPageErrorInfoSchema, getPageMessageSchema, getPageResultMessageSchema, getPageResultMessageWithProtocol3To5CompatibilitySchema, } from "./pages/messages/getPage.js";
57
+ export { customBlockOpenPageErrorCodeSchema, customBlockOpenPageErrorInfoSchema, openPageMessageSchema, openPageModeSchema, openPageResultMessageSchema, } from "./pages/messages/openPage.js";
58
+ export { customBlockUpdatePageErrorCodeSchema, customBlockUpdatePageErrorInfoSchema, updatePageMessageSchema, updatePageResultMessageSchema, updatePageResultMessageWithProtocol3To5CompatibilitySchema, } from "./pages/messages/updatePage.js";
59
+ export { notionCustomEmojiIconSchema, notionEmojiIconSchema, notionExternalFileSchema, notionHostedFileSchema, notionPageCoverSchema, notionPageIconSchema, } from "./pages/pageAppearance.js";
60
+ export { bridgePagePropertyReadMapSchema, bridgePagePropertyWriteMapSchema, } from "./pages/properties/bridgePagePropertyMaps.js";
61
+ export { bridgePagePropertyValueSchema } from "./pages/properties/bridgePagePropertyValue.js";
62
+ export { bridgeUserSchema } from "./users/bridgeUser.js";
63
+ export { bridgeUserListSchema } from "./users/bridgeUserList.js";
64
+ export { makeBridgeUser } from "./users/makeBridgeUser.js";
65
+ export { currentUserChangedMessageSchema } from "./users/messages/currentUserChanged.js";
66
+ export { customBlockGetUserErrorCodeSchema, customBlockGetUserErrorInfoSchema, getUserMessageSchema, getUserResultMessageSchema, } from "./users/messages/getUser.js";
67
+ export { customBlockListUsersErrorCodeSchema, customBlockListUsersErrorInfoSchema, listUsersMessageSchema, listUsersResultMessageSchema, } from "./users/messages/listUsers.js";
68
+ export { notionUserIdSchema } from "./users/userId.js";
69
+ export { CAPABILITY_NOT_GRANTED_ERROR_CODE, customBlockErrorInfoSchema, } from "./utils/errors.js";
70
+ export { notionAgentIdSchema, notionBlockIdSchema, notionDataSourceIdSchema, notionPageIdSchema, notionSpaceIdSchema, } from "./utils/ids.js";
71
+ export { isLocalBlockServerUrl } from "./utils/isLocalBlockServerUrl.js";
72
+ export { LATEST_BRIDGE_PROTOCOL_VERSION, TEXT_FALLBACK_PROPERTY_PROTOCOL_VERSION, UNIFIED_PAGE_PROTOCOL_VERSION, } from "./utils/protocolVersion.js";
73
+ export { notionRecordPointerSchema } from "./utils/recordPointer.js";
@@ -0,0 +1,37 @@
1
+ import * as v from "valibot";
2
+ /**
3
+ * One entry in the block manifest's `capabilities`: what the block needs to do
4
+ * (`capability`) and what it acts on (`resource`). Viewers approve declared
5
+ * entries before the block loads.
6
+ *
7
+ * Both fields accept any string so a newer vocabulary never makes an older host
8
+ * or SDK reject a manifest.
9
+ */
10
+ export declare const customBlockCapabilityDeclarationSchema: v.ObjectSchema<{
11
+ readonly capability: v.StringSchema<undefined>;
12
+ readonly resource: v.StringSchema<undefined>;
13
+ }, undefined>;
14
+ export type CustomBlockCapabilityDeclaration = v.InferOutput<typeof customBlockCapabilityDeclarationSchema>;
15
+ /**
16
+ * Capability names that hosts recognize. `user` is shorthand for `user.read`
17
+ * and `user.read_email` on the same resource. `page` is shorthand for
18
+ * `page.read`, `page.insert`, `page.update`, and `page.archive` on the same
19
+ * resource. `page.trash` is reserved for a future Trash call and is not
20
+ * accepted yet.
21
+ */
22
+ export type CustomBlockCapabilityName = "user" | "user.read" | "user.read_email" | "page" | "page.read" | "page.insert" | "page.update" | "page.archive" | "network.fetch";
23
+ /**
24
+ * Resource names that hosts recognize. User capabilities take `current_user`
25
+ * or `workspace` (every member of the workspace). Page capabilities take
26
+ * `workspace` (every page the viewer can access), `containing_page`, or
27
+ * `data_source`. `private` is reserved for a future
28
+ * `page.insert` into the viewer's Private section and is not accepted yet.
29
+ * `network.fetch` takes a bare HTTPS origin.
30
+ */
31
+ export type CustomBlockCapabilityResourceName = "current_user" | "workspace" | "containing_page" | "data_source" | CustomBlockOriginResourceName;
32
+ /**
33
+ * An HTTPS origin the block loads content from and connects to, such as
34
+ * `https://api.example.com`. `https://*.example.com` covers subdomains. Hosts
35
+ * allow only origins that are also on the workspace's network allowlist.
36
+ */
37
+ export type CustomBlockOriginResourceName = `https://${string}`;
@@ -0,0 +1,13 @@
1
+ import * as v from "valibot";
2
+ /**
3
+ * One entry in the block manifest's `capabilities`: what the block needs to do
4
+ * (`capability`) and what it acts on (`resource`). Viewers approve declared
5
+ * entries before the block loads.
6
+ *
7
+ * Both fields accept any string so a newer vocabulary never makes an older host
8
+ * or SDK reject a manifest.
9
+ */
10
+ export const customBlockCapabilityDeclarationSchema = v.object({
11
+ capability: v.string(),
12
+ resource: v.string(),
13
+ });
@@ -60,8 +60,18 @@ export declare const manifestSchema: v.ObjectSchema<{
60
60
  readonly type: v.PicklistSchema<readonly ["title", "rich_text", "number", "checkbox", "url", "email", "phone_number", "select", "multi_select", "status", "date", "people", "files", "unique_id", "relation", "place", "formula", "rollup", "button", "verification", "last_visited_time", "location", "created_time", "last_edited_time", "created_by", "last_edited_by"], undefined>;
61
61
  }, undefined>, undefined>, {}>;
62
62
  }, undefined>, undefined>, {}>;
63
+ /**
64
+ * Capabilities the block needs. Omitted means the block predates capability
65
+ * approval, so hosts do not ask the viewer. An empty array declares no
66
+ * capabilities.
67
+ */
68
+ readonly capabilities: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
69
+ readonly capability: v.StringSchema<undefined>;
70
+ readonly resource: v.StringSchema<undefined>;
71
+ }, undefined>, undefined>, undefined>;
63
72
  }, undefined>;
64
73
  /**
65
- * Manifest describing a custom block and its required data sources.
74
+ * Manifest describing a custom block, its required data sources, and its
75
+ * capabilities.
66
76
  */
67
- export type CustomBlockManifest = v.InferOutput<typeof manifestSchema>;
77
+ export type BridgeCustomBlockManifest = v.InferOutput<typeof manifestSchema>;
@@ -1,5 +1,6 @@
1
1
  import * as v from "valibot";
2
- import { notionPropertyTypeSchema } from "./dataSources/propertySchema.js";
2
+ import { notionPropertyTypeSchema } from "../dataSources/properties/propertySchema.js";
3
+ import { customBlockCapabilityDeclarationSchema } from "./capabilities.js";
3
4
  /**
4
5
  * Decorative icon attached to a manifest data source. Mirrors the
5
6
  * `emoji` / `external` icon variants the public Notion API uses, so the host
@@ -33,4 +34,10 @@ export const manifestSchema = v.object({
33
34
  slashCommand: v.optional(v.string()),
34
35
  icon: v.optional(v.object({ type: v.literal("emoji"), emoji: v.string() })),
35
36
  dataSources: v.optional(v.record(v.string(), manifestDataSourceSchema), {}),
37
+ /**
38
+ * Capabilities the block needs. Omitted means the block predates capability
39
+ * approval, so hosts do not ask the viewer. An empty array declares no
40
+ * capabilities.
41
+ */
42
+ capabilities: v.optional(v.array(customBlockCapabilityDeclarationSchema)),
36
43
  });
@@ -73,6 +73,10 @@ export declare const hostToSandboxMessageSchema: v.VariantSchema<"type", [v.Vari
73
73
  readonly type: v.PicklistSchema<readonly ["title", "rich_text", "number", "checkbox", "url", "email", "phone_number", "select", "multi_select", "status", "date", "people", "files", "unique_id", "relation", "place", "formula", "rollup", "button", "verification", "last_visited_time", "location", "created_time", "last_edited_time", "created_by", "last_edited_by"], undefined>;
74
74
  }, undefined>, undefined>, {}>;
75
75
  }, undefined>, undefined>, {}>;
76
+ readonly capabilities: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
77
+ readonly capability: v.StringSchema<undefined>;
78
+ readonly resource: v.StringSchema<undefined>;
79
+ }, undefined>, undefined>, undefined>;
76
80
  }, undefined>;
77
81
  readonly dataSources: v.ObjectSchema<{
78
82
  readonly bindings: v.RecordSchema<v.StringSchema<undefined>, v.ObjectSchema<{
@@ -219,6 +223,7 @@ export declare const hostToSandboxMessageSchema: v.VariantSchema<"type", [v.Vari
219
223
  }, undefined>], undefined>, undefined>;
220
224
  }, undefined>, undefined>;
221
225
  readonly propertyIdsByKey: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>, undefined>;
226
+ readonly inaccessible: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
222
227
  }, undefined>, undefined>;
223
228
  }, undefined>;
224
229
  readonly currentUser: v.ObjectSchema<{
@@ -451,6 +456,7 @@ export declare const hostToSandboxMessageSchema: v.VariantSchema<"type", [v.Vari
451
456
  }, undefined>], undefined>, undefined>;
452
457
  }, undefined>, undefined>;
453
458
  readonly propertyIdsByKey: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>, undefined>;
459
+ readonly inaccessible: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
454
460
  }, undefined>, undefined>;
455
461
  }, undefined>;
456
462
  }, undefined>, v.VariantSchema<"status", [v.ObjectSchema<{
@@ -1819,6 +1825,10 @@ export declare const hostToSandboxMessageWithProtocol3To5CompatibilitySchema: v.
1819
1825
  readonly type: v.PicklistSchema<readonly ["title", "rich_text", "number", "checkbox", "url", "email", "phone_number", "select", "multi_select", "status", "date", "people", "files", "unique_id", "relation", "place", "formula", "rollup", "button", "verification", "last_visited_time", "location", "created_time", "last_edited_time", "created_by", "last_edited_by"], undefined>;
1820
1826
  }, undefined>, undefined>, {}>;
1821
1827
  }, undefined>, undefined>, {}>;
1828
+ readonly capabilities: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
1829
+ readonly capability: v.StringSchema<undefined>;
1830
+ readonly resource: v.StringSchema<undefined>;
1831
+ }, undefined>, undefined>, undefined>;
1822
1832
  }, undefined>;
1823
1833
  readonly dataSources: v.ObjectSchema<{
1824
1834
  readonly bindings: v.RecordSchema<v.StringSchema<undefined>, v.ObjectSchema<{
@@ -1965,6 +1975,7 @@ export declare const hostToSandboxMessageWithProtocol3To5CompatibilitySchema: v.
1965
1975
  }, undefined>], undefined>, undefined>;
1966
1976
  }, undefined>, undefined>;
1967
1977
  readonly propertyIdsByKey: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>, undefined>;
1978
+ readonly inaccessible: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
1968
1979
  }, undefined>, undefined>;
1969
1980
  }, undefined>;
1970
1981
  readonly currentUser: v.ObjectSchema<{
@@ -2197,6 +2208,7 @@ export declare const hostToSandboxMessageWithProtocol3To5CompatibilitySchema: v.
2197
2208
  }, undefined>], undefined>, undefined>;
2198
2209
  }, undefined>, undefined>;
2199
2210
  readonly propertyIdsByKey: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>, undefined>;
2211
+ readonly inaccessible: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
2200
2212
  }, undefined>, undefined>;
2201
2213
  }, undefined>;
2202
2214
  }, undefined>, v.VariantSchema<"status", [v.ObjectSchema<{
@@ -1,20 +1,20 @@
1
1
  import * as v from "valibot";
2
- import { contrastModeChangedMessageSchema } from "./contrastModeChanged.js";
3
- import { createPageResultMessageSchema, createPageResultMessageWithProtocol3To5CompatibilitySchema, } from "./createPageResult.js";
4
- import { currentUserChangedMessageSchema } from "./currentUserChanged.js";
5
- import { dataSourcesChangedMessageSchema } from "./dataSourcesChanged.js";
6
- import { getPageResultMessageSchema, getPageResultMessageWithProtocol3To5CompatibilitySchema, } from "./getPage.js";
7
- import { getUserResultMessageSchema } from "./getUser.js";
8
- import { initMessageSchema } from "./init.js";
2
+ import { contrastModeChangedMessageSchema } from "../context/messages/contrastModeChanged.js";
3
+ import { pageChangedMessageSchema } from "../context/messages/pageChanged.js";
4
+ import { parentChangedMessageSchema } from "../context/messages/parentChanged.js";
5
+ import { themeChangedMessageSchema } from "../context/messages/themeChanged.js";
6
+ import { dataSourcesChangedMessageSchema } from "../dataSources/messages/dataSourcesChanged.js";
7
+ import { queryDataSourceResultMessageSchema, queryDataSourceResultMessageWithProtocol3To5CompatibilitySchema, } from "../dataSources/messages/queryDataSource.js";
8
+ import { initMessageSchema } from "../handshake/init.js";
9
+ import { openExternalUrlResultMessageSchema } from "../navigation/openExternalUrl.js";
10
+ import { createPageResultMessageSchema, createPageResultMessageWithProtocol3To5CompatibilitySchema, } from "../pages/messages/createPage.js";
11
+ import { getPageResultMessageSchema, getPageResultMessageWithProtocol3To5CompatibilitySchema, } from "../pages/messages/getPage.js";
12
+ import { openPageResultMessageSchema } from "../pages/messages/openPage.js";
13
+ import { updatePageResultMessageSchema, updatePageResultMessageWithProtocol3To5CompatibilitySchema, } from "../pages/messages/updatePage.js";
14
+ import { currentUserChangedMessageSchema } from "../users/messages/currentUserChanged.js";
15
+ import { getUserResultMessageSchema } from "../users/messages/getUser.js";
16
+ import { listUsersResultMessageSchema } from "../users/messages/listUsers.js";
9
17
  import { invalidSandboxMessageSchema } from "./invalidSandboxMessage.js";
10
- import { listUsersResultMessageSchema } from "./listUsers.js";
11
- import { openExternalUrlResultMessageSchema } from "./openExternalUrl.js";
12
- import { openPageResultMessageSchema } from "./openPage.js";
13
- import { pageChangedMessageSchema } from "./pageChanged.js";
14
- import { parentChangedMessageSchema } from "./parentChanged.js";
15
- import { queryDataSourceResultMessageSchema, queryDataSourceResultMessageWithProtocol3To5CompatibilitySchema, } from "./queryDataSourceResult.js";
16
- import { themeChangedMessageSchema } from "./themeChanged.js";
17
- import { updatePageResultMessageSchema, updatePageResultMessageWithProtocol3To5CompatibilitySchema, } from "./updatePageResult.js";
18
18
  const baseHostToSandboxMessageSchema = v.variant("type", [
19
19
  initMessageSchema,
20
20
  themeChangedMessageSchema,
@@ -1,4 +1,4 @@
1
- import type { CustomBlockErrorInfo } from "../errors.js";
1
+ import type { CustomBlockErrorInfo } from "../utils/errors.js";
2
2
  type WithTypedErrorInfo<T, TErrorInfo extends CustomBlockErrorInfo | undefined> = TErrorInfo extends CustomBlockErrorInfo ? T extends {
3
3
  error: CustomBlockErrorInfo;
4
4
  } ? Omit<T, "error"> & {