@notionhq/custom-blocks 0.1.6 → 0.1.8

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 (298) hide show
  1. package/README.md +14 -1
  2. package/bin/notion-custom-blocks/cli.js +6 -0
  3. package/dist/bridge/SandboxBridge.d.ts +3 -9
  4. package/dist/bridge/SandboxBridge.d.ts.map +1 -1
  5. package/dist/bridge/SandboxBridge.js +5 -10
  6. package/dist/bridge/dataSources/resolve.d.ts +3 -3
  7. package/dist/bridge/dataSources/resolve.d.ts.map +1 -1
  8. package/dist/bridge/dataSources/resolve.js +1 -1
  9. package/dist/bridge/dataSources/resolveProperty.d.ts +6 -9
  10. package/dist/bridge/dataSources/resolveProperty.d.ts.map +1 -1
  11. package/dist/bridge/dataSources/resolveProperty.js +3 -6
  12. package/dist/bridge/hostState.d.ts +11 -11
  13. package/dist/bridge/hostState.d.ts.map +1 -1
  14. package/dist/bridge/loadManifest.d.ts +2 -2
  15. package/dist/bridge/loadManifest.d.ts.map +1 -1
  16. package/dist/bridge/loadManifest.js +1 -1
  17. package/dist/bridge/sandboxClient.d.ts +1 -1
  18. package/dist/bridge/sandboxClient.d.ts.map +1 -1
  19. package/dist/customBlock.d.ts +8 -8
  20. package/dist/customBlock.d.ts.map +1 -1
  21. package/dist/index.d.ts +24 -25
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +2 -2
  24. package/dist/init.d.ts +8 -8
  25. package/dist/init.d.ts.map +1 -1
  26. package/dist/init.js +1 -1
  27. package/dist/protocol/contrast.d.ts.map +1 -0
  28. package/dist/protocol/dataSources/dataSource.d.ts.map +1 -0
  29. package/dist/protocol/dataSources/dataSourcePage.d.ts.map +1 -0
  30. package/dist/protocol/dataSources/dataSourceValue.d.ts.map +1 -0
  31. package/dist/protocol/dataSources/dateValue.d.ts.map +1 -0
  32. package/dist/{bridge → protocol}/dataSources/errors.d.ts +3 -0
  33. package/dist/protocol/dataSources/errors.d.ts.map +1 -0
  34. package/dist/{bridge → protocol}/dataSources/errors.js +3 -0
  35. package/dist/protocol/dataSources/propertySchema.d.ts.map +1 -0
  36. package/dist/protocol/dataSources/recordPointer.d.ts.map +1 -0
  37. package/dist/protocol/errors.d.ts.map +1 -0
  38. package/dist/protocol/ids.d.ts.map +1 -0
  39. package/dist/protocol/incomingType.d.ts.map +1 -0
  40. package/dist/protocol/index.d.ts +48 -0
  41. package/dist/protocol/index.d.ts.map +1 -0
  42. package/dist/protocol/index.js +47 -0
  43. package/dist/protocol/manifest.d.ts.map +1 -0
  44. package/dist/protocol/messages/connect.d.ts.map +1 -0
  45. package/dist/protocol/messages/contrastModeChanged.d.ts.map +1 -0
  46. package/dist/protocol/messages/createPage.d.ts.map +1 -0
  47. package/dist/protocol/messages/createPageResult.d.ts.map +1 -0
  48. package/dist/protocol/messages/currentUserChanged.d.ts.map +1 -0
  49. package/dist/{bridge → protocol}/messages/dataSourcesChanged.d.ts +1 -1
  50. package/dist/protocol/messages/dataSourcesChanged.d.ts.map +1 -0
  51. package/dist/{bridge → protocol}/messages/dataSourcesChanged.js +1 -1
  52. package/dist/protocol/messages/getPage.d.ts.map +1 -0
  53. package/dist/protocol/messages/getUser.d.ts.map +1 -0
  54. package/dist/{bridge → protocol}/messages/hostToSandbox.d.ts.map +1 -1
  55. package/dist/protocol/messages/init.d.ts.map +1 -0
  56. package/dist/protocol/messages/initResult.d.ts.map +1 -0
  57. package/dist/protocol/messages/invalidHostMessage.d.ts.map +1 -0
  58. package/dist/protocol/messages/invalidSandboxMessage.d.ts.map +1 -0
  59. package/dist/protocol/messages/listUsers.d.ts.map +1 -0
  60. package/dist/protocol/messages/pageChanged.d.ts.map +1 -0
  61. package/dist/protocol/messages/parentChanged.d.ts.map +1 -0
  62. package/dist/protocol/messages/queryDataSource.d.ts.map +1 -0
  63. package/dist/protocol/messages/queryDataSourceResult.d.ts.map +1 -0
  64. package/dist/protocol/messages/resize.d.ts.map +1 -0
  65. package/dist/{bridge → protocol}/messages/sandboxToHost.d.ts.map +1 -1
  66. package/dist/protocol/messages/themeChanged.d.ts.map +1 -0
  67. package/dist/protocol/messages/updatePage.d.ts.map +1 -0
  68. package/dist/protocol/messages/updatePageResult.d.ts.map +1 -0
  69. package/dist/{bridge → protocol}/pages/page.d.ts +1 -1
  70. package/dist/protocol/pages/page.d.ts.map +1 -0
  71. package/dist/protocol/parent.d.ts.map +1 -0
  72. package/dist/protocol/protocolVersion.d.ts +7 -0
  73. package/dist/protocol/protocolVersion.d.ts.map +1 -0
  74. package/dist/protocol/protocolVersion.js +6 -0
  75. package/dist/protocol/theme.d.ts.map +1 -0
  76. package/dist/protocol/users/user.d.ts.map +1 -0
  77. package/dist/react/index.d.ts +1 -1
  78. package/dist/react/index.js +1 -1
  79. package/dist/react/standalonePreview.d.ts.map +1 -1
  80. package/dist/react/standalonePreview.js +2 -2
  81. package/dist/react/useCustomBlockInit.d.ts +1 -1
  82. package/dist/react/useCustomBlockInit.d.ts.map +1 -1
  83. package/dist/react/useDataSource.d.ts +1 -1
  84. package/dist/react/useDataSource.js +1 -1
  85. package/dist/react/useRuntimeState.d.ts +9 -9
  86. package/dist/react/useRuntimeState.d.ts.map +1 -1
  87. package/dist/react/useRuntimeState.js +2 -2
  88. package/dist/types.d.ts +19 -18
  89. package/dist/types.d.ts.map +1 -1
  90. package/dist/version.js +1 -1
  91. package/docs/block-location.md +1 -1
  92. package/docs/data-sources.md +1 -1
  93. package/docs/deployment.md +1 -1
  94. package/docs/errors.md +0 -2
  95. package/docs/lifecycle.md +5 -5
  96. package/docs/pages.md +4 -4
  97. package/package.json +3 -7
  98. package/src/bridge/SandboxBridge.ts +36 -42
  99. package/src/bridge/dataSources/resolve.ts +3 -3
  100. package/src/bridge/dataSources/resolveProperty.ts +14 -20
  101. package/src/bridge/hostState.ts +15 -12
  102. package/src/bridge/loadManifest.ts +5 -2
  103. package/src/bridge/sandboxClient.ts +1 -1
  104. package/src/customBlock.ts +8 -8
  105. package/src/index.ts +26 -30
  106. package/src/init.ts +8 -8
  107. package/src/react/index.ts +1 -1
  108. package/src/react/standalonePreview.ts +5 -2
  109. package/src/react/useCustomBlockInit.ts +1 -1
  110. package/src/react/useDataSource.ts +1 -1
  111. package/src/react/useRuntimeState.ts +9 -9
  112. package/src/types.ts +27 -24
  113. package/HOST.md +0 -224
  114. package/dist/bridge/contrast.d.ts.map +0 -1
  115. package/dist/bridge/dataSources/dataSource.d.ts.map +0 -1
  116. package/dist/bridge/dataSources/dataSourcePage.d.ts.map +0 -1
  117. package/dist/bridge/dataSources/dataSourceValue.d.ts.map +0 -1
  118. package/dist/bridge/dataSources/dateValue.d.ts.map +0 -1
  119. package/dist/bridge/dataSources/errors.d.ts.map +0 -1
  120. package/dist/bridge/dataSources/propertySchema.d.ts.map +0 -1
  121. package/dist/bridge/dataSources/recordPointer.d.ts.map +0 -1
  122. package/dist/bridge/errors.d.ts.map +0 -1
  123. package/dist/bridge/ids.d.ts.map +0 -1
  124. package/dist/bridge/incomingType.d.ts.map +0 -1
  125. package/dist/bridge/manifest.d.ts.map +0 -1
  126. package/dist/bridge/messages/connect.d.ts.map +0 -1
  127. package/dist/bridge/messages/contrastModeChanged.d.ts.map +0 -1
  128. package/dist/bridge/messages/createPage.d.ts.map +0 -1
  129. package/dist/bridge/messages/createPageResult.d.ts.map +0 -1
  130. package/dist/bridge/messages/currentUserChanged.d.ts.map +0 -1
  131. package/dist/bridge/messages/dataSourcesChanged.d.ts.map +0 -1
  132. package/dist/bridge/messages/getPage.d.ts.map +0 -1
  133. package/dist/bridge/messages/getUser.d.ts.map +0 -1
  134. package/dist/bridge/messages/init.d.ts.map +0 -1
  135. package/dist/bridge/messages/initResult.d.ts.map +0 -1
  136. package/dist/bridge/messages/invalidHostMessage.d.ts.map +0 -1
  137. package/dist/bridge/messages/invalidSandboxMessage.d.ts.map +0 -1
  138. package/dist/bridge/messages/listUsers.d.ts.map +0 -1
  139. package/dist/bridge/messages/pageChanged.d.ts.map +0 -1
  140. package/dist/bridge/messages/parentChanged.d.ts.map +0 -1
  141. package/dist/bridge/messages/queryDataSource.d.ts.map +0 -1
  142. package/dist/bridge/messages/queryDataSourceResult.d.ts.map +0 -1
  143. package/dist/bridge/messages/resize.d.ts.map +0 -1
  144. package/dist/bridge/messages/themeChanged.d.ts.map +0 -1
  145. package/dist/bridge/messages/updatePage.d.ts.map +0 -1
  146. package/dist/bridge/messages/updatePageResult.d.ts.map +0 -1
  147. package/dist/bridge/pages/page.d.ts.map +0 -1
  148. package/dist/bridge/parent.d.ts.map +0 -1
  149. package/dist/bridge/theme.d.ts.map +0 -1
  150. package/dist/bridge/users/user.d.ts.map +0 -1
  151. package/dist/host/createCustomBlockHost.d.ts +0 -39
  152. package/dist/host/createCustomBlockHost.d.ts.map +0 -1
  153. package/dist/host/createCustomBlockHost.js +0 -495
  154. package/dist/host/lifecycle/initErrors.d.ts +0 -13
  155. package/dist/host/lifecycle/initErrors.d.ts.map +0 -1
  156. package/dist/host/lifecycle/initErrors.js +0 -152
  157. package/dist/host/lifecycle/protocolVersion.d.ts +0 -2
  158. package/dist/host/lifecycle/protocolVersion.d.ts.map +0 -1
  159. package/dist/host/lifecycle/protocolVersion.js +0 -3
  160. package/dist/host/lifecycle/types.d.ts +0 -28
  161. package/dist/host/lifecycle/types.d.ts.map +0 -1
  162. package/dist/host/lifecycle/types.js +0 -1
  163. package/dist/host/messages/invalidSandboxMessage.d.ts +0 -7
  164. package/dist/host/messages/invalidSandboxMessage.d.ts.map +0 -1
  165. package/dist/host/messages/invalidSandboxMessage.js +0 -21
  166. package/dist/host/messages/types.d.ts +0 -60
  167. package/dist/host/messages/types.d.ts.map +0 -1
  168. package/dist/host/messages/types.js +0 -1
  169. package/dist/host/queries/querySubscriptions.d.ts +0 -20
  170. package/dist/host/queries/querySubscriptions.d.ts.map +0 -1
  171. package/dist/host/queries/querySubscriptions.js +0 -45
  172. package/dist/host/queries/types.d.ts +0 -11
  173. package/dist/host/queries/types.d.ts.map +0 -1
  174. package/dist/host/queries/types.js +0 -1
  175. package/dist/host.d.ts +0 -79
  176. package/dist/host.d.ts.map +0 -1
  177. package/dist/host.js +0 -45
  178. package/src/bridge/contrast.ts +0 -6
  179. package/src/bridge/dataSources/dataSource.ts +0 -63
  180. package/src/bridge/dataSources/dataSourcePage.ts +0 -71
  181. package/src/bridge/dataSources/dataSourceValue.ts +0 -19
  182. package/src/bridge/dataSources/dateValue.ts +0 -96
  183. package/src/bridge/dataSources/errors.ts +0 -14
  184. package/src/bridge/dataSources/propertySchema.ts +0 -186
  185. package/src/bridge/dataSources/recordPointer.ts +0 -13
  186. package/src/bridge/errors.ts +0 -21
  187. package/src/bridge/ids.ts +0 -72
  188. package/src/bridge/incomingType.ts +0 -19
  189. package/src/bridge/manifest.ts +0 -47
  190. package/src/bridge/messages/connect.ts +0 -42
  191. package/src/bridge/messages/contrastModeChanged.ts +0 -12
  192. package/src/bridge/messages/createPage.ts +0 -62
  193. package/src/bridge/messages/createPageResult.ts +0 -52
  194. package/src/bridge/messages/currentUserChanged.ts +0 -14
  195. package/src/bridge/messages/dataSourcesChanged.ts +0 -18
  196. package/src/bridge/messages/getPage.ts +0 -51
  197. package/src/bridge/messages/getUser.ts +0 -49
  198. package/src/bridge/messages/hostToSandbox.ts +0 -39
  199. package/src/bridge/messages/init.ts +0 -99
  200. package/src/bridge/messages/initResult.ts +0 -37
  201. package/src/bridge/messages/invalidHostMessage.ts +0 -16
  202. package/src/bridge/messages/invalidSandboxMessage.ts +0 -18
  203. package/src/bridge/messages/listUsers.ts +0 -50
  204. package/src/bridge/messages/pageChanged.ts +0 -12
  205. package/src/bridge/messages/parentChanged.ts +0 -14
  206. package/src/bridge/messages/queryDataSource.ts +0 -20
  207. package/src/bridge/messages/queryDataSourceResult.ts +0 -45
  208. package/src/bridge/messages/resize.ts +0 -13
  209. package/src/bridge/messages/sandboxToHost.ts +0 -32
  210. package/src/bridge/messages/themeChanged.ts +0 -15
  211. package/src/bridge/messages/updatePage.ts +0 -22
  212. package/src/bridge/messages/updatePageResult.ts +0 -49
  213. package/src/bridge/pages/page.ts +0 -290
  214. package/src/bridge/parent.ts +0 -30
  215. package/src/bridge/theme.ts +0 -5
  216. package/src/bridge/users/user.ts +0 -31
  217. package/src/host/createCustomBlockHost.ts +0 -662
  218. package/src/host/lifecycle/initErrors.ts +0 -165
  219. package/src/host/lifecycle/protocolVersion.ts +0 -3
  220. package/src/host/lifecycle/types.ts +0 -40
  221. package/src/host/messages/invalidSandboxMessage.ts +0 -35
  222. package/src/host/messages/types.ts +0 -67
  223. package/src/host/queries/querySubscriptions.ts +0 -71
  224. package/src/host/queries/types.ts +0 -13
  225. package/src/host.ts +0 -182
  226. /package/dist/{bridge → protocol}/contrast.d.ts +0 -0
  227. /package/dist/{bridge → protocol}/contrast.js +0 -0
  228. /package/dist/{bridge → protocol}/dataSources/dataSource.d.ts +0 -0
  229. /package/dist/{bridge → protocol}/dataSources/dataSource.js +0 -0
  230. /package/dist/{bridge → protocol}/dataSources/dataSourcePage.d.ts +0 -0
  231. /package/dist/{bridge → protocol}/dataSources/dataSourcePage.js +0 -0
  232. /package/dist/{bridge → protocol}/dataSources/dataSourceValue.d.ts +0 -0
  233. /package/dist/{bridge → protocol}/dataSources/dataSourceValue.js +0 -0
  234. /package/dist/{bridge → protocol}/dataSources/dateValue.d.ts +0 -0
  235. /package/dist/{bridge → protocol}/dataSources/dateValue.js +0 -0
  236. /package/dist/{bridge → protocol}/dataSources/propertySchema.d.ts +0 -0
  237. /package/dist/{bridge → protocol}/dataSources/propertySchema.js +0 -0
  238. /package/dist/{bridge → protocol}/dataSources/recordPointer.d.ts +0 -0
  239. /package/dist/{bridge → protocol}/dataSources/recordPointer.js +0 -0
  240. /package/dist/{bridge → protocol}/errors.d.ts +0 -0
  241. /package/dist/{bridge → protocol}/errors.js +0 -0
  242. /package/dist/{bridge → protocol}/ids.d.ts +0 -0
  243. /package/dist/{bridge → protocol}/ids.js +0 -0
  244. /package/dist/{bridge → protocol}/incomingType.d.ts +0 -0
  245. /package/dist/{bridge → protocol}/incomingType.js +0 -0
  246. /package/dist/{bridge → protocol}/manifest.d.ts +0 -0
  247. /package/dist/{bridge → protocol}/manifest.js +0 -0
  248. /package/dist/{bridge → protocol}/messages/connect.d.ts +0 -0
  249. /package/dist/{bridge → protocol}/messages/connect.js +0 -0
  250. /package/dist/{bridge → protocol}/messages/contrastModeChanged.d.ts +0 -0
  251. /package/dist/{bridge → protocol}/messages/contrastModeChanged.js +0 -0
  252. /package/dist/{bridge → protocol}/messages/createPage.d.ts +0 -0
  253. /package/dist/{bridge → protocol}/messages/createPage.js +0 -0
  254. /package/dist/{bridge → protocol}/messages/createPageResult.d.ts +0 -0
  255. /package/dist/{bridge → protocol}/messages/createPageResult.js +0 -0
  256. /package/dist/{bridge → protocol}/messages/currentUserChanged.d.ts +0 -0
  257. /package/dist/{bridge → protocol}/messages/currentUserChanged.js +0 -0
  258. /package/dist/{bridge → protocol}/messages/getPage.d.ts +0 -0
  259. /package/dist/{bridge → protocol}/messages/getPage.js +0 -0
  260. /package/dist/{bridge → protocol}/messages/getUser.d.ts +0 -0
  261. /package/dist/{bridge → protocol}/messages/getUser.js +0 -0
  262. /package/dist/{bridge → protocol}/messages/hostToSandbox.d.ts +0 -0
  263. /package/dist/{bridge → protocol}/messages/hostToSandbox.js +0 -0
  264. /package/dist/{bridge → protocol}/messages/init.d.ts +0 -0
  265. /package/dist/{bridge → protocol}/messages/init.js +0 -0
  266. /package/dist/{bridge → protocol}/messages/initResult.d.ts +0 -0
  267. /package/dist/{bridge → protocol}/messages/initResult.js +0 -0
  268. /package/dist/{bridge → protocol}/messages/invalidHostMessage.d.ts +0 -0
  269. /package/dist/{bridge → protocol}/messages/invalidHostMessage.js +0 -0
  270. /package/dist/{bridge → protocol}/messages/invalidSandboxMessage.d.ts +0 -0
  271. /package/dist/{bridge → protocol}/messages/invalidSandboxMessage.js +0 -0
  272. /package/dist/{bridge → protocol}/messages/listUsers.d.ts +0 -0
  273. /package/dist/{bridge → protocol}/messages/listUsers.js +0 -0
  274. /package/dist/{bridge → protocol}/messages/pageChanged.d.ts +0 -0
  275. /package/dist/{bridge → protocol}/messages/pageChanged.js +0 -0
  276. /package/dist/{bridge → protocol}/messages/parentChanged.d.ts +0 -0
  277. /package/dist/{bridge → protocol}/messages/parentChanged.js +0 -0
  278. /package/dist/{bridge → protocol}/messages/queryDataSource.d.ts +0 -0
  279. /package/dist/{bridge → protocol}/messages/queryDataSource.js +0 -0
  280. /package/dist/{bridge → protocol}/messages/queryDataSourceResult.d.ts +0 -0
  281. /package/dist/{bridge → protocol}/messages/queryDataSourceResult.js +0 -0
  282. /package/dist/{bridge → protocol}/messages/resize.d.ts +0 -0
  283. /package/dist/{bridge → protocol}/messages/resize.js +0 -0
  284. /package/dist/{bridge → protocol}/messages/sandboxToHost.d.ts +0 -0
  285. /package/dist/{bridge → protocol}/messages/sandboxToHost.js +0 -0
  286. /package/dist/{bridge → protocol}/messages/themeChanged.d.ts +0 -0
  287. /package/dist/{bridge → protocol}/messages/themeChanged.js +0 -0
  288. /package/dist/{bridge → protocol}/messages/updatePage.d.ts +0 -0
  289. /package/dist/{bridge → protocol}/messages/updatePage.js +0 -0
  290. /package/dist/{bridge → protocol}/messages/updatePageResult.d.ts +0 -0
  291. /package/dist/{bridge → protocol}/messages/updatePageResult.js +0 -0
  292. /package/dist/{bridge → protocol}/pages/page.js +0 -0
  293. /package/dist/{bridge → protocol}/parent.d.ts +0 -0
  294. /package/dist/{bridge → protocol}/parent.js +0 -0
  295. /package/dist/{bridge → protocol}/theme.d.ts +0 -0
  296. /package/dist/{bridge → protocol}/theme.js +0 -0
  297. /package/dist/{bridge → protocol}/users/user.d.ts +0 -0
  298. /package/dist/{bridge → protocol}/users/user.js +0 -0
@@ -1,290 +0,0 @@
1
- /**
2
- * Notion page shapes exchanged over the custom block bridge.
3
- *
4
- * These mirror a narrow subset of Notion's public `POST /v1/pages` API, since that's the bridge
5
- * shape the host delivers for messages like `createPageResult`.
6
- */
7
-
8
- import * as v from "valibot"
9
- import { notionDataSourceIdSchema, notionPageIdSchema } from "../ids.js"
10
- import { notionParentSchema } from "../parent.js"
11
-
12
- export type { NotionPageId } from "../ids.js"
13
-
14
- /**
15
- * The custom block's nearest enclosing page ancestor, carried in `init.page` and `pageChanged`.
16
- */
17
- export const customBlockPageSchema = v.object({
18
- id: notionPageIdSchema,
19
- /**
20
- * The containing page's own parent. It lets a block distinguish a freestanding page from a
21
- * database row without a round trip. Not to be confused with the top-level `parent` runtime
22
- * value, which is the custom block's own parent.
23
- */
24
- parent: notionParentSchema,
25
- })
26
-
27
- export type CustomBlockPage = v.InferOutput<typeof customBlockPageSchema>
28
-
29
- /**
30
- * Parent reference accepted by `pages.create` / `pages.update` inputs.
31
- *
32
- * Mirrors the parent shape Notion's public `POST /v1/pages` API accepts: `page_id` for a
33
- * page-parented child, `data_source_id` for a database row. `data_source_id` is the internal
34
- * collection ID.
35
- */
36
- export const notionPageParentInputSchema = v.variant("type", [
37
- v.object({ type: v.literal("page_id"), page_id: notionPageIdSchema }),
38
- v.object({
39
- type: v.literal("data_source_id"),
40
- data_source_id: notionDataSourceIdSchema,
41
- }),
42
- ])
43
- export type NotionPageParentInput = v.InferOutput<
44
- typeof notionPageParentInputSchema
45
- >
46
-
47
- export const notionEmojiIconSchema = v.object({
48
- type: v.literal("emoji"),
49
- emoji: v.string(),
50
- })
51
- export const notionCustomEmojiIconSchema = v.object({
52
- type: v.literal("custom_emoji"),
53
- custom_emoji: v.object({
54
- id: v.string(),
55
- name: v.optional(v.string()),
56
- url: v.optional(v.string()),
57
- }),
58
- })
59
- export const notionExternalFileSchema = v.object({
60
- type: v.literal("external"),
61
- external: v.object({ url: v.string() }),
62
- })
63
- export const notionHostedFileSchema = v.object({
64
- type: v.literal("file"),
65
- file: v.object({
66
- url: v.string(),
67
- expiry_time: v.optional(v.string()),
68
- }),
69
- })
70
-
71
- // TODO(custom-blocks): Add file upload support.
72
- export const notionPageIconSchema = v.variant("type", [
73
- notionEmojiIconSchema,
74
- notionCustomEmojiIconSchema,
75
- notionExternalFileSchema,
76
- notionHostedFileSchema,
77
- ])
78
- export type NotionPageIcon = v.InferOutput<typeof notionPageIconSchema>
79
-
80
- export const notionPageCoverSchema = v.variant("type", [
81
- notionExternalFileSchema,
82
- notionHostedFileSchema,
83
- ])
84
- export type NotionPageCover = v.InferOutput<typeof notionPageCoverSchema>
85
-
86
- const nullableStringSchema = v.nullable(v.string())
87
-
88
- const notionRichTextItemSchema = v.record(v.string(), v.unknown())
89
- export type NotionRichTextItem = v.InferOutput<typeof notionRichTextItemSchema>
90
-
91
- const notionSelectOptionInputSchema = v.union([
92
- v.object({
93
- id: v.string(),
94
- name: v.optional(v.string()),
95
- color: v.optional(v.string()),
96
- description: v.optional(nullableStringSchema),
97
- }),
98
- v.object({
99
- name: v.string(),
100
- id: v.optional(v.string()),
101
- color: v.optional(v.string()),
102
- description: v.optional(nullableStringSchema),
103
- }),
104
- ])
105
- export type NotionSelectOptionInput = v.InferOutput<
106
- typeof notionSelectOptionInputSchema
107
- >
108
-
109
- const notionDateInputSchema = v.object({
110
- start: v.string(),
111
- end: v.optional(nullableStringSchema),
112
- time_zone: v.optional(nullableStringSchema),
113
- })
114
- export type NotionDateInput = v.InferOutput<typeof notionDateInputSchema>
115
-
116
- const notionUserInputSchema = v.union([
117
- v.object({
118
- object: v.optional(v.literal("user")),
119
- id: v.string(),
120
- }),
121
- v.object({
122
- object: v.literal("group"),
123
- id: v.string(),
124
- name: v.optional(nullableStringSchema),
125
- }),
126
- ])
127
- export type NotionUserInput = v.InferOutput<typeof notionUserInputSchema>
128
-
129
- const notionRelationInputSchema = v.object({ id: v.string() })
130
- export type NotionRelationInput = v.InferOutput<
131
- typeof notionRelationInputSchema
132
- >
133
-
134
- const notionFileInputSchema = v.union([
135
- v.object({
136
- type: v.literal("external"),
137
- name: v.string(),
138
- external: v.object({ url: v.string() }),
139
- }),
140
- v.object({
141
- type: v.literal("file"),
142
- name: v.string(),
143
- file: v.object({
144
- url: v.string(),
145
- expiry_time: v.optional(v.string()),
146
- }),
147
- }),
148
- ])
149
- export type NotionFileInput = v.InferOutput<typeof notionFileInputSchema>
150
-
151
- const notionPlaceInputSchema = v.object({
152
- lat: v.number(),
153
- lon: v.number(),
154
- name: v.optional(nullableStringSchema),
155
- address: v.optional(nullableStringSchema),
156
- aws_place_id: v.optional(nullableStringSchema),
157
- google_place_id: v.optional(nullableStringSchema),
158
- })
159
- export type NotionPlaceInput = v.InferOutput<typeof notionPlaceInputSchema>
160
-
161
- const pagePropertyBaseSchema = {
162
- id: v.string(),
163
- }
164
-
165
- /**
166
- * A page property value.
167
- */
168
- export const notionPagePropertyValueSchema = v.variant("type", [
169
- v.object({
170
- ...pagePropertyBaseSchema,
171
- type: v.literal("title"),
172
- title: v.array(notionRichTextItemSchema),
173
- }),
174
- v.object({
175
- ...pagePropertyBaseSchema,
176
- type: v.literal("rich_text"),
177
- rich_text: v.array(notionRichTextItemSchema),
178
- }),
179
- v.object({
180
- ...pagePropertyBaseSchema,
181
- type: v.literal("number"),
182
- number: v.nullable(v.number()),
183
- }),
184
- v.object({
185
- ...pagePropertyBaseSchema,
186
- type: v.literal("url"),
187
- url: nullableStringSchema,
188
- }),
189
- v.object({
190
- ...pagePropertyBaseSchema,
191
- type: v.literal("email"),
192
- email: nullableStringSchema,
193
- }),
194
- v.object({
195
- ...pagePropertyBaseSchema,
196
- type: v.literal("phone_number"),
197
- phone_number: nullableStringSchema,
198
- }),
199
- v.object({
200
- ...pagePropertyBaseSchema,
201
- type: v.literal("checkbox"),
202
- checkbox: v.boolean(),
203
- }),
204
- v.object({
205
- ...pagePropertyBaseSchema,
206
- type: v.literal("select"),
207
- select: v.nullable(notionSelectOptionInputSchema),
208
- }),
209
- v.object({
210
- ...pagePropertyBaseSchema,
211
- type: v.literal("status"),
212
- status: v.nullable(notionSelectOptionInputSchema),
213
- }),
214
- v.object({
215
- ...pagePropertyBaseSchema,
216
- type: v.literal("multi_select"),
217
- multi_select: v.array(notionSelectOptionInputSchema),
218
- }),
219
- v.object({
220
- ...pagePropertyBaseSchema,
221
- type: v.literal("date"),
222
- date: v.nullable(notionDateInputSchema),
223
- }),
224
- v.object({
225
- ...pagePropertyBaseSchema,
226
- type: v.literal("people"),
227
- people: v.array(notionUserInputSchema),
228
- }),
229
- v.object({
230
- ...pagePropertyBaseSchema,
231
- type: v.literal("relation"),
232
- has_more: v.optional(v.boolean()),
233
- relation: v.array(notionRelationInputSchema),
234
- }),
235
- v.object({
236
- ...pagePropertyBaseSchema,
237
- type: v.literal("files"),
238
- files: v.array(notionFileInputSchema),
239
- }),
240
- v.object({
241
- ...pagePropertyBaseSchema,
242
- type: v.literal("place"),
243
- place: v.nullable(notionPlaceInputSchema),
244
- }),
245
- ])
246
- export type NotionPagePropertyValue = v.InferOutput<
247
- typeof notionPagePropertyValueSchema
248
- >
249
-
250
- type WithOptionalPropertyId<T> = T extends { id: string }
251
- ? Omit<T, "id"> & { id?: string }
252
- : never
253
-
254
- /**
255
- * Public SDK page property write input. Keys may be raw property IDs or data-source
256
- * property keys. `id` is optional because the SDK resolves the final raw property ID
257
- * from the map key before sending the bridge message.
258
- */
259
- export type NotionPagePropertyInputValue =
260
- WithOptionalPropertyId<NotionPagePropertyValue>
261
-
262
- export type NotionPagePropertyInputMap = {
263
- [propertyIdOrKey: string]: NotionPagePropertyInputValue
264
- }
265
-
266
- export const notionPagePropertyWriteMapSchema = v.record(
267
- v.string(),
268
- notionPagePropertyValueSchema,
269
- )
270
- export type NotionPagePropertyWriteMap = v.InferOutput<
271
- typeof notionPagePropertyWriteMapSchema
272
- >
273
-
274
- /**
275
- * The `Page` object returned in `createPageResult` messages.
276
- */
277
- export const notionPageSchema = v.object({
278
- object: v.literal("page"),
279
- id: notionPageIdSchema,
280
- parent: notionParentSchema,
281
- properties: notionPagePropertyWriteMapSchema,
282
- created_time: v.optional(v.string()),
283
- last_edited_time: v.optional(v.string()),
284
- icon: v.optional(notionPageIconSchema),
285
- cover: v.optional(notionPageCoverSchema),
286
- url: v.optional(v.string()),
287
- public_url: v.optional(v.string()),
288
- in_trash: v.optional(v.boolean()),
289
- })
290
- export type NotionPage = v.InferOutput<typeof notionPageSchema>
@@ -1,30 +0,0 @@
1
- import * as v from "valibot"
2
- import {
3
- notionAgentIdSchema,
4
- notionBlockIdSchema,
5
- notionDataSourceIdSchema,
6
- notionPageIdSchema,
7
- } from "./ids.js"
8
-
9
- export const notionParentSchema = v.variant("type", [
10
- v.object({ type: v.literal("page_id"), page_id: notionPageIdSchema }),
11
- v.object({
12
- type: v.literal("data_source_id"),
13
- data_source_id: notionDataSourceIdSchema,
14
- }),
15
- v.object({ type: v.literal("workspace"), workspace: v.literal(true) }),
16
- v.object({ type: v.literal("block_id"), block_id: notionBlockIdSchema }),
17
- v.object({ type: v.literal("agent_id"), agent_id: notionAgentIdSchema }),
18
- ])
19
-
20
- /**
21
- * A record's parent reference.
22
- *
23
- * Mirrors Notion's public API:
24
- * - `page_id` — parented directly under a page.
25
- * - `block_id` — parented under a non-page container block (toggle, column, callout, ...).
26
- * - `data_source_id` — parented under a collection (data source).
27
- * - `workspace` — top-level / team-rooted.
28
- * - `agent_id` — owned by an agent, such as an agent instruction page or its blocks.
29
- */
30
- export type NotionParent = v.InferOutput<typeof notionParentSchema>
@@ -1,5 +0,0 @@
1
- import * as v from "valibot"
2
-
3
- export const notionThemeSchema = v.picklist(["light", "dark"])
4
-
5
- export type NotionTheme = v.InferOutput<typeof notionThemeSchema>
@@ -1,31 +0,0 @@
1
- import * as v from "valibot"
2
-
3
- declare const notionUserIdBrand: unique symbol
4
-
5
- export type NotionUserId = string & {
6
- readonly [notionUserIdBrand]: "NotionUserId"
7
- }
8
-
9
- export const notionUserSchema = v.object({
10
- object: v.literal("user"),
11
- id: v.string(),
12
- name: v.optional(v.string()),
13
- avatar_url: v.nullable(v.string()),
14
- type: v.literal("person"),
15
- person: v.object({
16
- email: v.string(),
17
- }),
18
- })
19
-
20
- export type NotionUser = v.InferOutput<typeof notionUserSchema>
21
-
22
- export const notionUserListSchema = v.object({
23
- object: v.literal("list"),
24
- results: v.array(notionUserSchema),
25
- next_cursor: v.nullable(v.string()),
26
- has_more: v.boolean(),
27
- type: v.literal("user"),
28
- user: v.record(v.string(), v.unknown()),
29
- })
30
-
31
- export type NotionUserList = v.InferOutput<typeof notionUserListSchema>