@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
@@ -34,6 +34,10 @@ export declare const sandboxToHostMessageSchema: v.VariantSchema<"type", [v.Vari
34
34
  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>;
35
35
  }, undefined>, undefined>, {}>;
36
36
  }, undefined>, undefined>, {}>;
37
+ readonly capabilities: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
38
+ readonly capability: v.StringSchema<undefined>;
39
+ readonly resource: v.StringSchema<undefined>;
40
+ }, undefined>, undefined>, undefined>;
37
41
  }, undefined>, undefined>;
38
42
  }, undefined>, v.ObjectSchema<{
39
43
  readonly type: v.LiteralSchema<"connect", undefined>;
@@ -575,16 +579,9 @@ export declare const sandboxToHostMessageSchema: v.VariantSchema<"type", [v.Vari
575
579
  }, undefined>, v.ObjectSchema<{
576
580
  readonly type: v.LiteralSchema<"unsubscribeDataSourceQuery", undefined>;
577
581
  readonly subscriptionId: v.StringSchema<undefined>;
578
- }, undefined>, v.ObjectSchema<{
582
+ }, undefined>, v.VariantSchema<"type", [v.ObjectSchema<{
579
583
  readonly type: v.LiteralSchema<"createPage", undefined>;
580
584
  readonly requestId: v.StringSchema<undefined>;
581
- readonly parent: v.VariantSchema<"type", [v.ObjectSchema<{
582
- readonly type: v.LiteralSchema<"page_id", undefined>;
583
- readonly page_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionPageId">]>;
584
- }, undefined>, v.ObjectSchema<{
585
- readonly type: v.LiteralSchema<"data_source_id", undefined>;
586
- readonly data_source_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionDataSourceId">]>;
587
- }, undefined>], undefined>;
588
585
  readonly properties: v.RecordSchema<v.StringSchema<undefined>, v.VariantSchema<"type", [v.ObjectSchema<{
589
586
  readonly id: v.StringSchema<undefined>;
590
587
  readonly type: v.LiteralSchema<"title", undefined>;
@@ -800,6 +797,10 @@ export declare const sandboxToHostMessageSchema: v.VariantSchema<"type", [v.Vari
800
797
  readonly type: v.LiteralSchema<"verification", undefined>;
801
798
  readonly verification: v.StringSchema<undefined>;
802
799
  }, undefined>], undefined>, undefined>;
800
+ readonly parent: v.ObjectSchema<{
801
+ readonly type: v.LiteralSchema<"page_id", undefined>;
802
+ readonly page_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionPageId">]>;
803
+ }, undefined>;
803
804
  readonly position: v.OptionalSchema<v.VariantSchema<"type", [v.ObjectSchema<{
804
805
  readonly type: v.LiteralSchema<"start", undefined>;
805
806
  }, undefined>, v.ObjectSchema<{
@@ -812,6 +813,229 @@ export declare const sandboxToHostMessageSchema: v.VariantSchema<"type", [v.Vari
812
813
  readonly blockId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionBlockId">]>;
813
814
  }, undefined>], undefined>, undefined>;
814
815
  }, undefined>, v.ObjectSchema<{
816
+ readonly type: v.LiteralSchema<"createPage", undefined>;
817
+ readonly requestId: v.StringSchema<undefined>;
818
+ readonly properties: v.RecordSchema<v.StringSchema<undefined>, v.VariantSchema<"type", [v.ObjectSchema<{
819
+ readonly id: v.StringSchema<undefined>;
820
+ readonly type: v.LiteralSchema<"title", undefined>;
821
+ readonly title: v.ArraySchema<v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
822
+ }, undefined>, v.ObjectSchema<{
823
+ readonly id: v.StringSchema<undefined>;
824
+ readonly type: v.LiteralSchema<"rich_text", undefined>;
825
+ readonly rich_text: v.ArraySchema<v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
826
+ }, undefined>, v.ObjectSchema<{
827
+ readonly id: v.StringSchema<undefined>;
828
+ readonly type: v.LiteralSchema<"number", undefined>;
829
+ readonly number: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
830
+ }, undefined>, v.ObjectSchema<{
831
+ readonly id: v.StringSchema<undefined>;
832
+ readonly type: v.LiteralSchema<"url", undefined>;
833
+ readonly url: v.NullableSchema<v.StringSchema<undefined>, undefined>;
834
+ }, undefined>, v.ObjectSchema<{
835
+ readonly id: v.StringSchema<undefined>;
836
+ readonly type: v.LiteralSchema<"email", undefined>;
837
+ readonly email: v.NullableSchema<v.StringSchema<undefined>, undefined>;
838
+ }, undefined>, v.ObjectSchema<{
839
+ readonly id: v.StringSchema<undefined>;
840
+ readonly type: v.LiteralSchema<"phone_number", undefined>;
841
+ readonly phone_number: v.NullableSchema<v.StringSchema<undefined>, undefined>;
842
+ }, undefined>, v.ObjectSchema<{
843
+ readonly id: v.StringSchema<undefined>;
844
+ readonly type: v.LiteralSchema<"checkbox", undefined>;
845
+ readonly checkbox: v.BooleanSchema<undefined>;
846
+ }, undefined>, v.ObjectSchema<{
847
+ readonly id: v.StringSchema<undefined>;
848
+ readonly type: v.LiteralSchema<"select", undefined>;
849
+ readonly select: v.NullableSchema<v.UnionSchema<[v.ObjectSchema<{
850
+ readonly id: v.StringSchema<undefined>;
851
+ readonly name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
852
+ readonly color: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
853
+ readonly description: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
854
+ }, undefined>, v.ObjectSchema<{
855
+ readonly name: v.StringSchema<undefined>;
856
+ readonly id: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
857
+ readonly color: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
858
+ readonly description: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
859
+ }, undefined>], undefined>, undefined>;
860
+ }, undefined>, v.ObjectSchema<{
861
+ readonly id: v.StringSchema<undefined>;
862
+ readonly type: v.LiteralSchema<"status", undefined>;
863
+ readonly status: v.NullableSchema<v.UnionSchema<[v.ObjectSchema<{
864
+ readonly id: v.StringSchema<undefined>;
865
+ readonly name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
866
+ readonly color: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
867
+ readonly description: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
868
+ }, undefined>, v.ObjectSchema<{
869
+ readonly name: v.StringSchema<undefined>;
870
+ readonly id: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
871
+ readonly color: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
872
+ readonly description: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
873
+ }, undefined>], undefined>, undefined>;
874
+ }, undefined>, v.ObjectSchema<{
875
+ readonly id: v.StringSchema<undefined>;
876
+ readonly type: v.LiteralSchema<"multi_select", undefined>;
877
+ readonly multi_select: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
878
+ readonly id: v.StringSchema<undefined>;
879
+ readonly name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
880
+ readonly color: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
881
+ readonly description: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
882
+ }, undefined>, v.ObjectSchema<{
883
+ readonly name: v.StringSchema<undefined>;
884
+ readonly id: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
885
+ readonly color: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
886
+ readonly description: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
887
+ }, undefined>], undefined>, undefined>;
888
+ }, undefined>, v.ObjectSchema<{
889
+ readonly id: v.StringSchema<undefined>;
890
+ readonly type: v.LiteralSchema<"date", undefined>;
891
+ readonly date: v.NullableSchema<v.UnionSchema<[v.ObjectSchema<{
892
+ readonly end: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
893
+ readonly time_zone: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
894
+ readonly reminder: v.OptionalSchema<v.UnionSchema<[v.UnionSchema<[v.ObjectSchema<{
895
+ readonly unit: v.PicklistSchema<["year", "month", "week", "day"], undefined>;
896
+ readonly value: v.NumberSchema<undefined>;
897
+ readonly time: v.StringSchema<undefined>;
898
+ readonly defaultTimeZone: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
899
+ }, undefined>, v.ObjectSchema<{
900
+ readonly unit: v.PicklistSchema<["hour", "minute"], undefined>;
901
+ readonly value: v.NumberSchema<undefined>;
902
+ }, undefined>], undefined>, v.ObjectSchema<{
903
+ readonly unit: v.LiteralSchema<"none", undefined>;
904
+ }, undefined>], undefined>, undefined>;
905
+ readonly start: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IncludesAction<string, "T", undefined>]>;
906
+ }, undefined>, v.ObjectSchema<{
907
+ readonly start: v.StringSchema<undefined>;
908
+ readonly end: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
909
+ readonly reminder: v.OptionalSchema<v.UnionSchema<[v.UnionSchema<[v.ObjectSchema<{
910
+ readonly unit: v.PicklistSchema<["year", "month", "week", "day"], undefined>;
911
+ readonly value: v.NumberSchema<undefined>;
912
+ readonly time: v.StringSchema<undefined>;
913
+ readonly defaultTimeZone: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
914
+ }, undefined>, v.ObjectSchema<{
915
+ readonly unit: v.PicklistSchema<["hour", "minute"], undefined>;
916
+ readonly value: v.NumberSchema<undefined>;
917
+ }, undefined>], undefined>, v.ObjectSchema<{
918
+ readonly unit: v.LiteralSchema<"none", undefined>;
919
+ }, undefined>], undefined>, undefined>;
920
+ readonly time_zone: v.StringSchema<undefined>;
921
+ }, undefined>, v.ObjectSchema<{
922
+ readonly start: v.StringSchema<undefined>;
923
+ readonly end: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
924
+ readonly time_zone: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
925
+ readonly reminder: v.OptionalSchema<v.UnionSchema<[v.ObjectSchema<{
926
+ readonly unit: v.PicklistSchema<["year", "month", "week", "day"], undefined>;
927
+ readonly value: v.NumberSchema<undefined>;
928
+ readonly time: v.StringSchema<undefined>;
929
+ readonly defaultTimeZone: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
930
+ }, undefined>, v.ObjectSchema<{
931
+ readonly unit: v.LiteralSchema<"none", undefined>;
932
+ }, undefined>], undefined>, undefined>;
933
+ }, undefined>], undefined>, undefined>;
934
+ }, undefined>, v.ObjectSchema<{
935
+ readonly id: v.StringSchema<undefined>;
936
+ readonly type: v.LiteralSchema<"people", undefined>;
937
+ readonly people: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
938
+ readonly object: v.OptionalSchema<v.LiteralSchema<"user", undefined>, undefined>;
939
+ readonly id: v.StringSchema<undefined>;
940
+ }, undefined>, v.ObjectSchema<{
941
+ readonly object: v.LiteralSchema<"group", undefined>;
942
+ readonly id: v.StringSchema<undefined>;
943
+ readonly name: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
944
+ }, undefined>], undefined>, undefined>;
945
+ }, undefined>, v.ObjectSchema<{
946
+ readonly id: v.StringSchema<undefined>;
947
+ readonly type: v.LiteralSchema<"relation", undefined>;
948
+ readonly has_more: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
949
+ readonly relation: v.ArraySchema<v.ObjectSchema<{
950
+ readonly id: v.StringSchema<undefined>;
951
+ }, undefined>, undefined>;
952
+ }, undefined>, v.ObjectSchema<{
953
+ readonly id: v.StringSchema<undefined>;
954
+ readonly type: v.LiteralSchema<"files", undefined>;
955
+ readonly files: v.ArraySchema<v.UnionSchema<[v.ObjectSchema<{
956
+ readonly type: v.LiteralSchema<"external", undefined>;
957
+ readonly name: v.StringSchema<undefined>;
958
+ readonly external: v.ObjectSchema<{
959
+ readonly url: v.StringSchema<undefined>;
960
+ }, undefined>;
961
+ }, undefined>, v.ObjectSchema<{
962
+ readonly type: v.LiteralSchema<"file", undefined>;
963
+ readonly name: v.StringSchema<undefined>;
964
+ readonly file: v.ObjectSchema<{
965
+ readonly url: v.StringSchema<undefined>;
966
+ readonly expiry_time: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
967
+ }, undefined>;
968
+ }, undefined>], undefined>, undefined>;
969
+ }, undefined>, v.ObjectSchema<{
970
+ readonly id: v.StringSchema<undefined>;
971
+ readonly type: v.LiteralSchema<"place", undefined>;
972
+ readonly place: v.NullableSchema<v.ObjectSchema<{
973
+ readonly lat: v.NumberSchema<undefined>;
974
+ readonly lon: v.NumberSchema<undefined>;
975
+ readonly name: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
976
+ readonly address: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
977
+ readonly aws_place_id: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
978
+ readonly google_place_id: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
979
+ }, undefined>, undefined>;
980
+ }, undefined>, v.ObjectSchema<{
981
+ readonly id: v.StringSchema<undefined>;
982
+ readonly type: v.LiteralSchema<"created_time", undefined>;
983
+ readonly created_time: v.NullableSchema<v.StringSchema<undefined>, undefined>;
984
+ }, undefined>, v.ObjectSchema<{
985
+ readonly id: v.StringSchema<undefined>;
986
+ readonly type: v.LiteralSchema<"last_edited_time", undefined>;
987
+ readonly last_edited_time: v.NullableSchema<v.StringSchema<undefined>, undefined>;
988
+ }, undefined>, v.ObjectSchema<{
989
+ readonly id: v.StringSchema<undefined>;
990
+ readonly type: v.LiteralSchema<"created_by", undefined>;
991
+ readonly created_by: v.NullableSchema<v.ObjectSchema<{
992
+ readonly id: v.StringSchema<undefined>;
993
+ readonly table: v.PicklistSchema<["notion_user", "bot", "organization_bot"], undefined>;
994
+ readonly spaceId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
995
+ }, undefined>, undefined>;
996
+ }, undefined>, v.ObjectSchema<{
997
+ readonly id: v.StringSchema<undefined>;
998
+ readonly type: v.LiteralSchema<"last_edited_by", undefined>;
999
+ readonly last_edited_by: v.NullableSchema<v.ObjectSchema<{
1000
+ readonly id: v.StringSchema<undefined>;
1001
+ readonly table: v.PicklistSchema<["notion_user", "bot", "organization_bot"], undefined>;
1002
+ readonly spaceId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1003
+ }, undefined>, undefined>;
1004
+ }, undefined>, v.ObjectSchema<{
1005
+ readonly id: v.StringSchema<undefined>;
1006
+ readonly type: v.LiteralSchema<"last_visited_time", undefined>;
1007
+ readonly last_visited_time: v.NullableSchema<v.StringSchema<undefined>, undefined>;
1008
+ }, undefined>, v.ObjectSchema<{
1009
+ readonly id: v.StringSchema<undefined>;
1010
+ readonly type: v.LiteralSchema<"unique_id", undefined>;
1011
+ readonly unique_id: v.StringSchema<undefined>;
1012
+ }, undefined>, v.ObjectSchema<{
1013
+ readonly id: v.StringSchema<undefined>;
1014
+ readonly type: v.LiteralSchema<"button", undefined>;
1015
+ readonly button: v.StringSchema<undefined>;
1016
+ }, undefined>, v.ObjectSchema<{
1017
+ readonly id: v.StringSchema<undefined>;
1018
+ readonly type: v.LiteralSchema<"formula", undefined>;
1019
+ readonly formula: v.StringSchema<undefined>;
1020
+ }, undefined>, v.ObjectSchema<{
1021
+ readonly id: v.StringSchema<undefined>;
1022
+ readonly type: v.LiteralSchema<"location", undefined>;
1023
+ readonly location: v.StringSchema<undefined>;
1024
+ }, undefined>, v.ObjectSchema<{
1025
+ readonly id: v.StringSchema<undefined>;
1026
+ readonly type: v.LiteralSchema<"rollup", undefined>;
1027
+ readonly rollup: v.StringSchema<undefined>;
1028
+ }, undefined>, v.ObjectSchema<{
1029
+ readonly id: v.StringSchema<undefined>;
1030
+ readonly type: v.LiteralSchema<"verification", undefined>;
1031
+ readonly verification: v.StringSchema<undefined>;
1032
+ }, undefined>], undefined>, undefined>;
1033
+ readonly parent: v.ObjectSchema<{
1034
+ readonly type: v.LiteralSchema<"data_source_id", undefined>;
1035
+ readonly data_source_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionDataSourceId">]>;
1036
+ }, undefined>;
1037
+ readonly position: v.OptionalSchema<v.NeverSchema<undefined>, undefined>;
1038
+ }, undefined>], undefined>, v.ObjectSchema<{
815
1039
  readonly type: v.LiteralSchema<"getPage", undefined>;
816
1040
  readonly requestId: v.StringSchema<undefined>;
817
1041
  readonly pageId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionPageId">]>;
@@ -1,17 +1,17 @@
1
1
  import * as v from "valibot";
2
- import { connectMessageSchema } from "./connect.js";
3
- import { createPageMessageSchema } from "./createPage.js";
4
- import { getPageMessageSchema } from "./getPage.js";
5
- import { getUserMessageSchema } from "./getUser.js";
6
- import { initResultMessageSchema } from "./initResult.js";
2
+ import { resizeMessageSchema } from "../context/messages/resize.js";
3
+ import { queryDataSourceMessageSchema } from "../dataSources/messages/queryDataSource.js";
4
+ import { unsubscribeDataSourceQueryMessageSchema } from "../dataSources/messages/unsubscribeDataSourceQuery.js";
5
+ import { connectMessageSchema } from "../handshake/connect.js";
6
+ import { initResultMessageSchema } from "../handshake/initResult.js";
7
+ import { openExternalUrlMessageSchema } from "../navigation/openExternalUrl.js";
8
+ import { createPageMessageSchema } from "../pages/messages/createPage.js";
9
+ import { getPageMessageSchema } from "../pages/messages/getPage.js";
10
+ import { openPageMessageSchema } from "../pages/messages/openPage.js";
11
+ import { updatePageMessageSchema } from "../pages/messages/updatePage.js";
12
+ import { getUserMessageSchema } from "../users/messages/getUser.js";
13
+ import { listUsersMessageSchema } from "../users/messages/listUsers.js";
7
14
  import { invalidHostMessageSchema } from "./invalidHostMessage.js";
8
- import { listUsersMessageSchema } from "./listUsers.js";
9
- import { openExternalUrlMessageSchema } from "./openExternalUrl.js";
10
- import { openPageMessageSchema } from "./openPage.js";
11
- import { queryDataSourceMessageSchema } from "./queryDataSource.js";
12
- import { resizeMessageSchema } from "./resize.js";
13
- import { unsubscribeDataSourceQueryMessageSchema } from "./unsubscribeDataSourceQuery.js";
14
- import { updatePageMessageSchema } from "./updatePage.js";
15
15
  /**
16
16
  * Discriminated union of every message the sandbox is allowed to send the host. Useful for hosts
17
17
  * to validate inbound traffic from sandboxes without re-implementing validation logic.
@@ -1,5 +1,5 @@
1
1
  import * as v from "valibot";
2
- import type { CustomBlockErrorCode, CustomBlockErrorInfo } from "../errors.js";
2
+ import type { CustomBlockErrorCode, CustomBlockErrorInfo } from "../utils/errors.js";
3
3
  export declare const customBlockOpenExternalUrlErrorCodeSchema: v.StringSchema<undefined>;
4
4
  export type CustomBlockOpenExternalUrlErrorCode = CustomBlockErrorCode<"user_decline" | "pending_navigation" | "invalid_url">;
5
5
  export type CustomBlockOpenExternalUrlErrorInfo = CustomBlockErrorInfo<CustomBlockOpenExternalUrlErrorCode>;
@@ -1,63 +1,26 @@
1
1
  import * as v from "valibot";
2
- /**
3
- * Describes where the newly created page should be inserted.
4
- * - `start` / `end` (default): prepend / append to the request's `parent`
5
- * page's children.
6
- * - `before` / `after`: insert as a sibling of the anchor block identified by
7
- * `blockId`, using the anchor's own structural parent. The anchor can be
8
- * nested anywhere below the page (inside a toggle, column, callout, etc.).
9
- */
10
- export declare const notionCreatePagePositionSchema: v.VariantSchema<"type", [v.ObjectSchema<{
11
- readonly type: v.LiteralSchema<"start", undefined>;
12
- }, undefined>, v.ObjectSchema<{
13
- readonly type: v.LiteralSchema<"end", undefined>;
14
- }, undefined>, v.ObjectSchema<{
15
- readonly type: v.LiteralSchema<"before", undefined>;
16
- readonly blockId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionBlockId">]>;
17
- }, undefined>, v.ObjectSchema<{
18
- readonly type: v.LiteralSchema<"after", undefined>;
19
- readonly blockId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionBlockId">]>;
20
- }, undefined>], undefined>;
21
- export type NotionCreatePagePosition = v.InferOutput<typeof notionCreatePagePositionSchema>;
22
- /**
23
- * Parent accepted by the outbound `createPage` bridge message.
24
- *
25
- * Mirrors Notion's public API `POST /v1/pages` parent shape: `page_id` for a page-parented child,
26
- * `data_source_id` for a database row. `data_source_id` is the internal collection ID.
27
- *
28
- * The SDK additionally accepts a higher-level `data_source_key` variant that resolves to
29
- * `data_source_id` locally, using the `dataSources` mapping.
30
- */
31
- export declare const createPageParentSchema: v.VariantSchema<"type", [v.ObjectSchema<{
32
- readonly type: v.LiteralSchema<"page_id", undefined>;
33
- readonly page_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionPageId">]>;
34
- }, undefined>, v.ObjectSchema<{
35
- readonly type: v.LiteralSchema<"data_source_id", undefined>;
36
- readonly data_source_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionDataSourceId">]>;
37
- }, undefined>], undefined>;
38
- export type CreatePageMessageParent = v.InferOutput<typeof createPageParentSchema>;
39
- /**
40
- * The sandbox sends this message to ask the host to create a page.
41
- * The payload mirrors Notion's public `POST /v1/pages` API.
42
- */
43
- export declare const createPageMessageSchema: v.ObjectSchema<{
44
- readonly type: v.LiteralSchema<"createPage", undefined>;
45
- readonly requestId: v.StringSchema<undefined>;
2
+ export declare const bridgePageSchema: v.ObjectSchema<{
3
+ readonly object: v.LiteralSchema<"page", undefined>;
4
+ readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionPageId">]>;
46
5
  readonly parent: v.VariantSchema<"type", [v.ObjectSchema<{
47
6
  readonly type: v.LiteralSchema<"page_id", undefined>;
48
7
  readonly page_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionPageId">]>;
49
8
  }, undefined>, v.ObjectSchema<{
50
9
  readonly type: v.LiteralSchema<"data_source_id", undefined>;
51
10
  readonly data_source_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionDataSourceId">]>;
11
+ }, undefined>, v.ObjectSchema<{
12
+ readonly type: v.LiteralSchema<"workspace", undefined>;
13
+ readonly workspace: v.LiteralSchema<true, undefined>;
14
+ }, undefined>, v.ObjectSchema<{
15
+ readonly type: v.LiteralSchema<"block_id", undefined>;
16
+ readonly block_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionBlockId">]>;
17
+ }, undefined>, v.ObjectSchema<{
18
+ readonly type: v.LiteralSchema<"agent_id", undefined>;
19
+ readonly agent_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionAgentId">]>;
20
+ }, undefined>, v.ObjectSchema<{
21
+ readonly type: v.LiteralSchema<"unavailable", undefined>;
52
22
  }, undefined>], undefined>;
53
- /**
54
- * Property values, keyed by raw property IDs from Notion.
55
- *
56
- * Each value must carry the same raw property ID in its `id` field.
57
- * To create a page with manifest-defined property keys, call `pages.create`. The SDK resolves
58
- * those keys before it sends this message.
59
- */
60
- readonly properties: v.RecordSchema<v.StringSchema<undefined>, v.VariantSchema<"type", [v.ObjectSchema<{
23
+ readonly properties: v.RecordSchema<v.StringSchema<undefined>, v.NullableSchema<v.VariantSchema<"type", [v.ObjectSchema<{
61
24
  readonly id: v.StringSchema<undefined>;
62
25
  readonly type: v.LiteralSchema<"title", undefined>;
63
26
  readonly title: v.ArraySchema<v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
@@ -271,20 +234,59 @@ export declare const createPageMessageSchema: v.ObjectSchema<{
271
234
  readonly id: v.StringSchema<undefined>;
272
235
  readonly type: v.LiteralSchema<"verification", undefined>;
273
236
  readonly verification: v.StringSchema<undefined>;
274
- }, undefined>], undefined>, undefined>;
275
- readonly position: v.OptionalSchema<v.VariantSchema<"type", [v.ObjectSchema<{
276
- readonly type: v.LiteralSchema<"start", undefined>;
237
+ }, undefined>], undefined>, undefined>, undefined>;
238
+ readonly created_by: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
239
+ readonly id: v.StringSchema<undefined>;
240
+ readonly table: v.PicklistSchema<["notion_user", "bot", "organization_bot"], undefined>;
241
+ readonly spaceId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
242
+ }, undefined>, undefined>, null>;
243
+ readonly last_edited_by: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
244
+ readonly id: v.StringSchema<undefined>;
245
+ readonly table: v.PicklistSchema<["notion_user", "bot", "organization_bot"], undefined>;
246
+ readonly spaceId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
247
+ }, undefined>, undefined>, null>;
248
+ readonly last_visited_time: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, null>;
249
+ readonly created_time: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, null>;
250
+ readonly last_edited_time: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, null>;
251
+ readonly icon: v.OptionalSchema<v.NullableSchema<v.VariantSchema<"type", [v.ObjectSchema<{
252
+ readonly type: v.LiteralSchema<"emoji", undefined>;
253
+ readonly emoji: v.StringSchema<undefined>;
254
+ }, undefined>, v.ObjectSchema<{
255
+ readonly type: v.LiteralSchema<"custom_emoji", undefined>;
256
+ readonly custom_emoji: v.ObjectSchema<{
257
+ readonly id: v.StringSchema<undefined>;
258
+ readonly name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
259
+ readonly url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
260
+ }, undefined>;
277
261
  }, undefined>, v.ObjectSchema<{
278
- readonly type: v.LiteralSchema<"end", undefined>;
262
+ readonly type: v.LiteralSchema<"external", undefined>;
263
+ readonly external: v.ObjectSchema<{
264
+ readonly url: v.StringSchema<undefined>;
265
+ }, undefined>;
279
266
  }, undefined>, v.ObjectSchema<{
280
- readonly type: v.LiteralSchema<"before", undefined>;
281
- readonly blockId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionBlockId">]>;
267
+ readonly type: v.LiteralSchema<"file", undefined>;
268
+ readonly file: v.ObjectSchema<{
269
+ readonly url: v.StringSchema<undefined>;
270
+ readonly expiry_time: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
271
+ }, undefined>;
272
+ }, undefined>], undefined>, undefined>, null>;
273
+ readonly cover: v.OptionalSchema<v.NullableSchema<v.VariantSchema<"type", [v.ObjectSchema<{
274
+ readonly type: v.LiteralSchema<"external", undefined>;
275
+ readonly external: v.ObjectSchema<{
276
+ readonly url: v.StringSchema<undefined>;
277
+ }, undefined>;
282
278
  }, undefined>, v.ObjectSchema<{
283
- readonly type: v.LiteralSchema<"after", undefined>;
284
- readonly blockId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionBlockId">]>;
285
- }, undefined>], undefined>, undefined>;
279
+ readonly type: v.LiteralSchema<"file", undefined>;
280
+ readonly file: v.ObjectSchema<{
281
+ readonly url: v.StringSchema<undefined>;
282
+ readonly expiry_time: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
283
+ }, undefined>;
284
+ }, undefined>], undefined>, undefined>, null>;
285
+ readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, null>;
286
+ readonly public_url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, null>;
287
+ /** Whether the page or an ancestor is archived. */
288
+ readonly is_archived: v.BooleanSchema<undefined>;
289
+ /** Whether the page or an ancestor is in Trash. */
290
+ readonly in_trash: v.BooleanSchema<undefined>;
286
291
  }, undefined>;
287
- /**
288
- * The sandbox sends this message to create a page.
289
- */
290
- export type CreatePageMessage = v.InferOutput<typeof createPageMessageSchema>;
292
+ export type BridgePage = v.InferOutput<typeof bridgePageSchema>;
@@ -0,0 +1,25 @@
1
+ import * as v from "valibot";
2
+ import { notionParentSchema } from "../context/parent.js";
3
+ import { notionPageIdSchema } from "../utils/ids.js";
4
+ import { notionPageCoverSchema, notionPageIconSchema, } from "./pageAppearance.js";
5
+ import { bridgePagePropertyReadMapSchema } from "./properties/bridgePagePropertyMaps.js";
6
+ import { metadataActorSchema } from "./properties/metadataActor.js";
7
+ export const bridgePageSchema = v.object({
8
+ object: v.literal("page"),
9
+ id: notionPageIdSchema,
10
+ parent: notionParentSchema,
11
+ properties: bridgePagePropertyReadMapSchema,
12
+ created_by: v.optional(metadataActorSchema, null),
13
+ last_edited_by: v.optional(metadataActorSchema, null),
14
+ last_visited_time: v.optional(v.nullable(v.string()), null),
15
+ created_time: v.optional(v.nullable(v.string()), null),
16
+ last_edited_time: v.optional(v.nullable(v.string()), null),
17
+ icon: v.optional(v.nullable(notionPageIconSchema), null),
18
+ cover: v.optional(v.nullable(notionPageCoverSchema), null),
19
+ url: v.optional(v.nullable(v.string()), null),
20
+ public_url: v.optional(v.nullable(v.string()), null),
21
+ /** Whether the page or an ancestor is archived. */
22
+ is_archived: v.boolean(),
23
+ /** Whether the page or an ancestor is in Trash. */
24
+ in_trash: v.boolean(),
25
+ });
@@ -0,0 +1,4 @@
1
+ import type { BridgePage } from "./bridgePage.js";
2
+ export type MakeBridgePageArgs = Pick<BridgePage, "id" | "parent"> & Partial<Omit<BridgePage, "object" | "id" | "parent">>;
3
+ /** Builds a complete bridge page without inventing identity or Notion data. */
4
+ export declare function makeBridgePage(args: MakeBridgePageArgs): BridgePage;
@@ -0,0 +1,12 @@
1
+ import * as v from "valibot";
2
+ import { bridgePageSchema } from "./bridgePage.js";
3
+ /** Builds a complete bridge page without inventing identity or Notion data. */
4
+ export function makeBridgePage(args) {
5
+ return v.parse(bridgePageSchema, {
6
+ ...args,
7
+ object: "page",
8
+ properties: args.properties ?? {},
9
+ is_archived: args.is_archived ?? false,
10
+ in_trash: args.in_trash ?? false,
11
+ });
12
+ }