@notionhq/custom-blocks-host 0.1.14 → 0.1.15
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.
- package/README.md +1 -0
- package/dist/createCustomBlockHost.d.ts.map +1 -1
- package/dist/createCustomBlockHost.js +13 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/messages/sandboxMessageRouter.d.ts +2 -0
- package/dist/messages/sandboxMessageRouter.d.ts.map +1 -1
- package/dist/messages/sandboxMessageRouter.js +4 -1
- package/dist/messages/types.d.ts +4 -0
- package/dist/messages/types.d.ts.map +1 -1
- package/dist/protocol/index.d.ts +1 -0
- package/dist/protocol/index.js +1 -0
- package/dist/protocol/messages/hostToSandbox.d.ts +15 -1
- package/dist/protocol/messages/hostToSandbox.js +2 -0
- package/dist/protocol/messages/openPage.d.ts +38 -0
- package/dist/protocol/messages/openPage.js +34 -0
- package/dist/protocol/messages/sandboxToHost.d.ts +5 -0
- package/dist/protocol/messages/sandboxToHost.js +2 -0
- package/package.json +1 -1
- package/src/createCustomBlockHost.ts +18 -0
- package/src/index.ts +3 -0
- package/src/messages/sandboxMessageRouter.ts +6 -0
- package/src/messages/types.ts +16 -0
package/README.md
CHANGED
|
@@ -66,6 +66,7 @@ const host = createCustomBlockHost({
|
|
|
66
66
|
}),
|
|
67
67
|
createPage: async (message) => createPage(message),
|
|
68
68
|
getPage: async (message) => getPage(message),
|
|
69
|
+
openPage: async (message) => openPage(message),
|
|
69
70
|
updatePage: async (message) => updatePage(message),
|
|
70
71
|
getUser: async (message) => getUser(message),
|
|
71
72
|
listUsers: async (message) => listUsers(message),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCustomBlockHost.d.ts","sourceRoot":"","sources":["../src/createCustomBlockHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,8CAA8C,CAAA;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAA;AAavF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAA;
|
|
1
|
+
{"version":3,"file":"createCustomBlockHost.d.ts","sourceRoot":"","sources":["../src/createCustomBlockHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,8CAA8C,CAAA;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAA;AAavF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAA;AAiBtG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAA;AAGhF,OAAO,KAAK,EACX,iCAAiC,EACjC,2BAA2B,EAC3B,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EACX,uBAAuB,EACvB,oCAAoC,EACpC,2BAA2B,EAC3B,MAAM,qBAAqB,CAAA;AAU5B,MAAM,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,iBAAiB,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,YAAY,EAAE,2BAA2B,CAAA;IACzC,QAAQ,EAAE,uBAAuB,CAAA;IACjC,oHAAoH;IACpH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAA;IACpD,gGAAgG;IAChG,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,QAAQ,EAAE,mBAAmB,CAAA;QAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;KACtB,KAAK,IAAI,CAAA;IACV,6FAA6F;IAC7F,uBAAuB,CAAC,EAAE,CACzB,KAAK,EAAE,oCAAoC,KACvC,IAAI,CAAA;IACT;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAC1E,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,IAAI,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC7C,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IACtC,eAAe,EAAE,CAAC,YAAY,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAC3D,SAAS,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAA;IACzC,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;IACxC,cAAc,EAAE,CAAC,WAAW,EAAE,iCAAiC,KAAK,IAAI,CAAA;IACxE,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,KAAK,IAAI,CAAA;IACjD,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,kBAAkB,CAAA;KAAE,KAAK,IAAI,CAAA;CAClE,CAAA;AAED,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,sBAAsB,GAC7B,qBAAqB,CAuZvB"}
|
|
@@ -130,6 +130,18 @@ export function createCustomBlockHost(options) {
|
|
|
130
130
|
};
|
|
131
131
|
post(result);
|
|
132
132
|
}
|
|
133
|
+
async function handleOpenPage(message) {
|
|
134
|
+
if (handlers.openPage === undefined) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
const response = await handlers.openPage(message);
|
|
138
|
+
const result = {
|
|
139
|
+
type: "openPageResult",
|
|
140
|
+
requestId: message.requestId,
|
|
141
|
+
...response,
|
|
142
|
+
};
|
|
143
|
+
post(result);
|
|
144
|
+
}
|
|
133
145
|
async function handleUpdatePage(message) {
|
|
134
146
|
if (handlers.updatePage === undefined) {
|
|
135
147
|
return;
|
|
@@ -235,6 +247,7 @@ export function createCustomBlockHost(options) {
|
|
|
235
247
|
onUnsubscribeDataSourceQuery: message => querySubscriptions.unsubscribe(message.subscriptionId),
|
|
236
248
|
onCreatePage: handleCreatePage,
|
|
237
249
|
onGetPage: handleGetPage,
|
|
250
|
+
onOpenPage: handleOpenPage,
|
|
238
251
|
onGetUser: handleGetUser,
|
|
239
252
|
onListUsers: handleListUsers,
|
|
240
253
|
onUpdatePage: handleUpdatePage,
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export type { CreatePageMessage } from "./protocol/messages/createPage.js";
|
|
|
2
2
|
export type { GetPageMessage } from "./protocol/messages/getPage.js";
|
|
3
3
|
export type { GetUserMessage } from "./protocol/messages/getUser.js";
|
|
4
4
|
export type { ListUsersMessage } from "./protocol/messages/listUsers.js";
|
|
5
|
+
export type { OpenPageMessage } from "./protocol/messages/openPage.js";
|
|
5
6
|
export type { QueryDataSourceMessage } from "./protocol/messages/queryDataSource.js";
|
|
6
7
|
export type { ResizeMessage } from "./protocol/messages/resize.js";
|
|
7
8
|
export type { UpdatePageMessage } from "./protocol/messages/updatePage.js";
|
|
@@ -9,6 +10,6 @@ export type { NotionPagePropertyValue, NotionPagePropertyWriteMap, NotionRichTex
|
|
|
9
10
|
export { type AutoBindableProperty, getAutoBoundPropertyIdsByKey, } from "./autoBindProperties.js";
|
|
10
11
|
export { type CustomBlockHostHandle, type CustomBlockHostOptions, createCustomBlockHost, } from "./createCustomBlockHost.js";
|
|
11
12
|
export type { ConnectSuccessMessage, CustomBlockHostDataSourcesPayload, CustomBlockHostInitialDataSources, CustomBlockHostInitialState, } from "./lifecycle/types.js";
|
|
12
|
-
export type { CreatePageMessageInput, CustomBlockHostCreatePageResult, CustomBlockHostGetPageResult, CustomBlockHostGetUserResult, CustomBlockHostHandlers, CustomBlockHostInitializationFailure, CustomBlockHostListUsersResult, CustomBlockHostLogDirection, CustomBlockHostUpdatePageResult, GetPageMessageInput, GetUserMessageInput, ListUsersMessageInput, QueryDataSourceMessageInput, ResizeMessageInput, UpdatePageMessageInput, } from "./messages/types.js";
|
|
13
|
+
export type { CreatePageMessageInput, CustomBlockHostCreatePageResult, CustomBlockHostGetPageResult, CustomBlockHostGetUserResult, CustomBlockHostHandlers, CustomBlockHostInitializationFailure, CustomBlockHostListUsersResult, CustomBlockHostLogDirection, CustomBlockHostOpenPageResult, CustomBlockHostUpdatePageResult, GetPageMessageInput, GetUserMessageInput, ListUsersMessageInput, OpenPageMessageInput, QueryDataSourceMessageInput, ResizeMessageInput, UpdatePageMessageInput, } from "./messages/types.js";
|
|
13
14
|
export type { CustomBlockHostQueryDataSourceResult } from "./queries/types.js";
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAA;AAChG,YAAY,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAA;AAC1F,YAAY,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAA;AAC1F,YAAY,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAA;AAC9F,YAAY,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAA;AAC1G,YAAY,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAA;AACxF,YAAY,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAA;AAChG,YAAY,EACX,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,GAClB,MAAM,gDAAgD,CAAA;AACvD,OAAO,EACN,KAAK,oBAAoB,EACzB,4BAA4B,GAC5B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACN,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,qBAAqB,GACrB,MAAM,4BAA4B,CAAA;AACnC,YAAY,EACX,qBAAqB,EACrB,iCAAiC,EACjC,iCAAiC,EACjC,2BAA2B,GAC3B,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EACX,sBAAsB,EACtB,+BAA+B,EAC/B,4BAA4B,EAC5B,4BAA4B,EAC5B,uBAAuB,EACvB,oCAAoC,EACpC,8BAA8B,EAC9B,2BAA2B,EAC3B,+BAA+B,EAC/B,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAA;AAChG,YAAY,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAA;AAC1F,YAAY,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAA;AAC1F,YAAY,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAA;AAC9F,YAAY,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAA;AAC5F,YAAY,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAA;AAC1G,YAAY,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAA;AACxF,YAAY,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAA;AAChG,YAAY,EACX,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,GAClB,MAAM,gDAAgD,CAAA;AACvD,OAAO,EACN,KAAK,oBAAoB,EACzB,4BAA4B,GAC5B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACN,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,qBAAqB,GACrB,MAAM,4BAA4B,CAAA;AACnC,YAAY,EACX,qBAAqB,EACrB,iCAAiC,EACjC,iCAAiC,EACjC,2BAA2B,GAC3B,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EACX,sBAAsB,EACtB,+BAA+B,EAC/B,4BAA4B,EAC5B,4BAA4B,EAC5B,uBAAuB,EACvB,oCAAoC,EACpC,8BAA8B,EAC9B,2BAA2B,EAC3B,6BAA6B,EAC7B,+BAA+B,EAC/B,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -5,6 +5,7 @@ import type { GetUserMessage } from "../protocol/messages/getUser.js";
|
|
|
5
5
|
import type { HostToSandboxMessage } from "../protocol/messages/hostToSandbox.js";
|
|
6
6
|
import type { InitResultMessage } from "../protocol/messages/initResult.js";
|
|
7
7
|
import type { ListUsersMessage } from "../protocol/messages/listUsers.js";
|
|
8
|
+
import type { OpenPageMessage } from "../protocol/messages/openPage.js";
|
|
8
9
|
import type { QueryDataSourceMessage } from "../protocol/messages/queryDataSource.js";
|
|
9
10
|
import type { ResizeMessage } from "../protocol/messages/resize.js";
|
|
10
11
|
import type { UnsubscribeDataSourceQueryMessage } from "../protocol/messages/unsubscribeDataSourceQuery.js";
|
|
@@ -25,6 +26,7 @@ export type SandboxMessageRouterOptions = {
|
|
|
25
26
|
onQueryDataSource: (message: QueryDataSourceMessage) => void | Promise<void>;
|
|
26
27
|
onUnsubscribeDataSourceQuery: (message: UnsubscribeDataSourceQueryMessage) => void;
|
|
27
28
|
onCreatePage: (message: CreatePageMessage) => void | Promise<void>;
|
|
29
|
+
onOpenPage: (message: OpenPageMessage) => void | Promise<void>;
|
|
28
30
|
onGetPage: (message: GetPageMessage) => void | Promise<void>;
|
|
29
31
|
onGetUser: (message: GetUserMessage) => void | Promise<void>;
|
|
30
32
|
onListUsers: (message: ListUsersMessage) => void | Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandboxMessageRouter.d.ts","sourceRoot":"","sources":["../../src/messages/sandboxMessageRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAA;AAC1F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAA;AAChG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAA;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAA;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAA;AACtG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAA;AAEhG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAA;AAC9F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAA;AAC1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAA;AAExF,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,yEAAyE,CAAA;AAChI,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAA;AAGhG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGvD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAM7D,MAAM,MAAM,2BAA2B,GAAG;IACzC,MAAM,EAAE,iBAAiB,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,UAAU,CAAA;IAC/B,IAAI,EAAE,CAAC,SAAS,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACxE,IAAI,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC7C,gBAAgB,EAAE,wBAAwB,CAAC,sBAAsB,CAAC,CAAA;IAClE,mBAAmB,EAAE,wBAAwB,CAAC,yBAAyB,CAAC,CAAA;IACxE,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;IAC5C,YAAY,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAClD,iBAAiB,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5E,4BAA4B,EAAE,CAC7B,OAAO,EAAE,iCAAiC,KACtC,IAAI,CAAA;IACT,YAAY,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,WAAW,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,YAAY,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAA;CAC1C,CAAA;AAED,wBAAgB,0BAA0B,CACzC,OAAO,EAAE,2BAA2B,GAClC,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"sandboxMessageRouter.d.ts","sourceRoot":"","sources":["../../src/messages/sandboxMessageRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAA;AAC1F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAA;AAChG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAA;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAA;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAA;AACtG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAA;AAEhG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAA;AAC9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAA;AAC5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAA;AAC1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAA;AAExF,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,yEAAyE,CAAA;AAChI,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAA;AAGhG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGvD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAM7D,MAAM,MAAM,2BAA2B,GAAG;IACzC,MAAM,EAAE,iBAAiB,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,UAAU,CAAA;IAC/B,IAAI,EAAE,CAAC,SAAS,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACxE,IAAI,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC7C,gBAAgB,EAAE,wBAAwB,CAAC,sBAAsB,CAAC,CAAA;IAClE,mBAAmB,EAAE,wBAAwB,CAAC,yBAAyB,CAAC,CAAA;IACxE,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;IAC5C,YAAY,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAClD,iBAAiB,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5E,4BAA4B,EAAE,CAC7B,OAAO,EAAE,iCAAiC,KACtC,IAAI,CAAA;IACT,YAAY,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,UAAU,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,WAAW,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,YAAY,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAA;CAC1C,CAAA;AAED,wBAAgB,0BAA0B,CACzC,OAAO,EAAE,2BAA2B,GAClC,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAkI/B"}
|
|
@@ -8,7 +8,7 @@ const initializationIdentitySchema = v.object({
|
|
|
8
8
|
initializationId: v.string(),
|
|
9
9
|
});
|
|
10
10
|
export function createSandboxMessageRouter(options) {
|
|
11
|
-
const { iframe, sandboxOrigin, getInitStatus, emit, post, onInvalidConnect, onInvalidInitResult, onConnect, onInitResult, onQueryDataSource, onUnsubscribeDataSourceQuery, onCreatePage, onGetPage, onGetUser, onListUsers, onUpdatePage, onResize, } = options;
|
|
11
|
+
const { iframe, sandboxOrigin, getInitStatus, emit, post, onInvalidConnect, onInvalidInitResult, onConnect, onInitResult, onQueryDataSource, onUnsubscribeDataSourceQuery, onCreatePage, onGetPage, onOpenPage, onGetUser, onListUsers, onUpdatePage, onResize, } = options;
|
|
12
12
|
function onInvalidSandboxMessage(data, issues) {
|
|
13
13
|
emit("warn", {
|
|
14
14
|
message: "Ignored unsupported sandbox message",
|
|
@@ -82,6 +82,9 @@ export function createSandboxMessageRouter(options) {
|
|
|
82
82
|
case "createPage":
|
|
83
83
|
void onCreatePage(message);
|
|
84
84
|
return;
|
|
85
|
+
case "openPage":
|
|
86
|
+
void onOpenPage(message);
|
|
87
|
+
return;
|
|
85
88
|
case "getPage":
|
|
86
89
|
void onGetPage(message);
|
|
87
90
|
return;
|
package/dist/messages/types.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type { CustomBlockInitErrorInfo } from "../protocol/messages/init.js";
|
|
|
6
6
|
import type { CustomBlockInitResultErrorInfo } from "../protocol/messages/initResult.js";
|
|
7
7
|
import type { CustomBlockListUsersErrorInfo, ListUsersMessage, ListUsersResultMessage, listUsersMessageSchema } from "../protocol/messages/listUsers.js";
|
|
8
8
|
import type { BridgeMessagePayload } from "../protocol/messages/messagePayload.js";
|
|
9
|
+
import type { CustomBlockOpenPageErrorInfo, OpenPageMessage, OpenPageResultMessage, openPageMessageSchema } from "../protocol/messages/openPage.js";
|
|
9
10
|
import type { QueryDataSourceMessage, queryDataSourceMessageSchema } from "../protocol/messages/queryDataSource.js";
|
|
10
11
|
import type { ResizeMessage, resizeMessageSchema } from "../protocol/messages/resize.js";
|
|
11
12
|
import type { UpdatePageMessage, updatePageMessageSchema } from "../protocol/messages/updatePage.js";
|
|
@@ -18,12 +19,14 @@ export type CustomBlockHostGetPageResult = BridgeMessagePayload<GetPageResultMes
|
|
|
18
19
|
export type CustomBlockHostUpdatePageResult = BridgeMessagePayload<UpdatePageResultMessage, CustomBlockUpdatePageErrorInfo>;
|
|
19
20
|
export type CustomBlockHostGetUserResult = BridgeMessagePayload<GetUserResultMessage, CustomBlockGetUserErrorInfo>;
|
|
20
21
|
export type CustomBlockHostListUsersResult = BridgeMessagePayload<ListUsersResultMessage, CustomBlockListUsersErrorInfo>;
|
|
22
|
+
export type CustomBlockHostOpenPageResult = BridgeMessagePayload<OpenPageResultMessage, CustomBlockOpenPageErrorInfo>;
|
|
21
23
|
export type CustomBlockHostHandlers = {
|
|
22
24
|
queryDataSource: (message: QueryDataSourceMessage) => MaybePromise<CustomBlockHostQueryDataSourceResult>;
|
|
23
25
|
createPage?: (message: CreatePageMessage) => MaybePromise<CustomBlockHostCreatePageResult>;
|
|
24
26
|
getPage?: (message: GetPageMessage) => MaybePromise<CustomBlockHostGetPageResult>;
|
|
25
27
|
getUser?: (message: GetUserMessage) => MaybePromise<CustomBlockHostGetUserResult>;
|
|
26
28
|
listUsers?: (message: ListUsersMessage) => MaybePromise<CustomBlockHostListUsersResult>;
|
|
29
|
+
openPage?: (message: OpenPageMessage) => MaybePromise<CustomBlockHostOpenPageResult>;
|
|
27
30
|
updatePage?: (message: UpdatePageMessage) => MaybePromise<CustomBlockHostUpdatePageResult>;
|
|
28
31
|
resize?: (message: ResizeMessage) => void;
|
|
29
32
|
};
|
|
@@ -33,6 +36,7 @@ export type CreatePageMessageInput = InferInput<typeof createPageMessageSchema>;
|
|
|
33
36
|
export type GetPageMessageInput = InferInput<typeof getPageMessageSchema>;
|
|
34
37
|
export type GetUserMessageInput = InferInput<typeof getUserMessageSchema>;
|
|
35
38
|
export type ListUsersMessageInput = InferInput<typeof listUsersMessageSchema>;
|
|
39
|
+
export type OpenPageMessageInput = InferInput<typeof openPageMessageSchema>;
|
|
36
40
|
export type QueryDataSourceMessageInput = InferInput<typeof queryDataSourceMessageSchema>;
|
|
37
41
|
export type ResizeMessageInput = InferInput<typeof resizeMessageSchema>;
|
|
38
42
|
export type UpdatePageMessageInput = InferInput<typeof updatePageMessageSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/messages/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/messages/types.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol/index.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ export * from "./messages/invalidSandboxMessage.js";
|
|
|
33
33
|
export * from "./messages/isInitHandshakeMessage.js";
|
|
34
34
|
export * from "./messages/listUsers.js";
|
|
35
35
|
export * from "./messages/messagePayload.js";
|
|
36
|
+
export * from "./messages/openPage.js";
|
|
36
37
|
export * from "./messages/pageChanged.js";
|
|
37
38
|
export * from "./messages/parentChanged.js";
|
|
38
39
|
export * from "./messages/queryDataSource.js";
|
package/dist/protocol/index.js
CHANGED
|
@@ -33,6 +33,7 @@ export * from "./messages/invalidSandboxMessage.js";
|
|
|
33
33
|
export * from "./messages/isInitHandshakeMessage.js";
|
|
34
34
|
export * from "./messages/listUsers.js";
|
|
35
35
|
export * from "./messages/messagePayload.js";
|
|
36
|
+
export * from "./messages/openPage.js";
|
|
36
37
|
export * from "./messages/pageChanged.js";
|
|
37
38
|
export * from "./messages/parentChanged.js";
|
|
38
39
|
export * from "./messages/queryDataSource.js";
|
|
@@ -976,6 +976,20 @@ export declare const hostToSandboxMessageSchema: v.VariantSchema<"type", [v.Vari
|
|
|
976
976
|
readonly message: v.StringSchema<undefined>;
|
|
977
977
|
readonly isRetryable: v.BooleanSchema<undefined>;
|
|
978
978
|
}, undefined>;
|
|
979
|
+
}, undefined>], undefined>, v.VariantSchema<"status", [v.ObjectSchema<{
|
|
980
|
+
readonly type: v.LiteralSchema<"openPageResult", undefined>;
|
|
981
|
+
readonly requestId: v.StringSchema<undefined>;
|
|
982
|
+
readonly status: v.LiteralSchema<"success", undefined>;
|
|
983
|
+
readonly pageId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionPageId">]>;
|
|
984
|
+
}, undefined>, v.ObjectSchema<{
|
|
985
|
+
readonly type: v.LiteralSchema<"openPageResult", undefined>;
|
|
986
|
+
readonly requestId: v.StringSchema<undefined>;
|
|
987
|
+
readonly status: v.LiteralSchema<"error", undefined>;
|
|
988
|
+
readonly error: v.ObjectSchema<{
|
|
989
|
+
readonly code: v.StringSchema<undefined>;
|
|
990
|
+
readonly message: v.StringSchema<undefined>;
|
|
991
|
+
readonly isRetryable: v.BooleanSchema<undefined>;
|
|
992
|
+
}, undefined>;
|
|
979
993
|
}, undefined>], undefined>, v.VariantSchema<"status", [v.ObjectSchema<{
|
|
980
994
|
readonly type: v.LiteralSchema<"updatePageResult", undefined>;
|
|
981
995
|
readonly requestId: v.StringSchema<undefined>;
|
|
@@ -1182,5 +1196,5 @@ export declare const hostToSandboxMessageSchema: v.VariantSchema<"type", [v.Vari
|
|
|
1182
1196
|
}, undefined>], undefined>;
|
|
1183
1197
|
export type HostToSandboxMessage = v.InferOutput<typeof hostToSandboxMessageSchema>;
|
|
1184
1198
|
export type PrimeableHostToSandboxMessage = Extract<HostToSandboxMessage, {
|
|
1185
|
-
type: "getPageResult" | "createPageResult" | "updatePageResult" | "getUserResult" | "listUsersResult" | "queryDataSourceResult";
|
|
1199
|
+
type: "getPageResult" | "openPageResult" | "createPageResult" | "updatePageResult" | "getUserResult" | "listUsersResult" | "queryDataSourceResult";
|
|
1186
1200
|
}>;
|
|
@@ -8,6 +8,7 @@ import { getUserResultMessageSchema } from "./getUser.js";
|
|
|
8
8
|
import { initMessageSchema } from "./init.js";
|
|
9
9
|
import { invalidSandboxMessageSchema } from "./invalidSandboxMessage.js";
|
|
10
10
|
import { listUsersResultMessageSchema } from "./listUsers.js";
|
|
11
|
+
import { openPageResultMessageSchema } from "./openPage.js";
|
|
11
12
|
import { pageChangedMessageSchema } from "./pageChanged.js";
|
|
12
13
|
import { parentChangedMessageSchema } from "./parentChanged.js";
|
|
13
14
|
import { queryDataSourceResultMessageSchema } from "./queryDataSourceResult.js";
|
|
@@ -29,6 +30,7 @@ export const hostToSandboxMessageSchema = v.variant("type", [
|
|
|
29
30
|
getPageResultMessageSchema,
|
|
30
31
|
getUserResultMessageSchema,
|
|
31
32
|
listUsersResultMessageSchema,
|
|
33
|
+
openPageResultMessageSchema,
|
|
32
34
|
updatePageResultMessageSchema,
|
|
33
35
|
invalidSandboxMessageSchema,
|
|
34
36
|
]);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
import type { CustomBlockErrorCode, CustomBlockErrorInfo } from "../errors.js";
|
|
3
|
+
export declare const openPageModeSchema: v.PicklistSchema<["side_peek", "center_peek"], undefined>;
|
|
4
|
+
export type OpenPageMode = v.InferOutput<typeof openPageModeSchema>;
|
|
5
|
+
export declare const customBlockOpenPageErrorCodeSchema: v.StringSchema<undefined>;
|
|
6
|
+
export type CustomBlockOpenPageErrorCode = CustomBlockErrorCode<"open_page_failed" | "page_access_failed" | "navigation_unavailable">;
|
|
7
|
+
export type CustomBlockOpenPageErrorInfo = CustomBlockErrorInfo<CustomBlockOpenPageErrorCode>;
|
|
8
|
+
export declare const customBlockOpenPageErrorInfoSchema: v.ObjectSchema<{
|
|
9
|
+
readonly code: v.StringSchema<undefined>;
|
|
10
|
+
readonly message: v.StringSchema<undefined>;
|
|
11
|
+
readonly isRetryable: v.BooleanSchema<undefined>;
|
|
12
|
+
}, undefined>;
|
|
13
|
+
/**
|
|
14
|
+
* Sandbox -> host: request host-owned navigation to a readable Notion page.
|
|
15
|
+
*/
|
|
16
|
+
export declare const openPageMessageSchema: v.ObjectSchema<{
|
|
17
|
+
readonly type: v.LiteralSchema<"openPage", undefined>;
|
|
18
|
+
readonly requestId: v.StringSchema<undefined>;
|
|
19
|
+
readonly pageId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionPageId">]>;
|
|
20
|
+
readonly mode: v.PicklistSchema<["side_peek", "center_peek"], undefined>;
|
|
21
|
+
}, undefined>;
|
|
22
|
+
export type OpenPageMessage = v.InferOutput<typeof openPageMessageSchema>;
|
|
23
|
+
export declare const openPageResultMessageSchema: v.VariantSchema<"status", [v.ObjectSchema<{
|
|
24
|
+
readonly type: v.LiteralSchema<"openPageResult", undefined>;
|
|
25
|
+
readonly requestId: v.StringSchema<undefined>;
|
|
26
|
+
readonly status: v.LiteralSchema<"success", undefined>;
|
|
27
|
+
readonly pageId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionPageId">]>;
|
|
28
|
+
}, undefined>, v.ObjectSchema<{
|
|
29
|
+
readonly type: v.LiteralSchema<"openPageResult", undefined>;
|
|
30
|
+
readonly requestId: v.StringSchema<undefined>;
|
|
31
|
+
readonly status: v.LiteralSchema<"error", undefined>;
|
|
32
|
+
readonly error: v.ObjectSchema<{
|
|
33
|
+
readonly code: v.StringSchema<undefined>;
|
|
34
|
+
readonly message: v.StringSchema<undefined>;
|
|
35
|
+
readonly isRetryable: v.BooleanSchema<undefined>;
|
|
36
|
+
}, undefined>;
|
|
37
|
+
}, undefined>], undefined>;
|
|
38
|
+
export type OpenPageResultMessage = v.InferOutput<typeof openPageResultMessageSchema>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
import { notionPageIdSchema } from "../ids.js";
|
|
3
|
+
export const openPageModeSchema = v.picklist(["side_peek", "center_peek"]);
|
|
4
|
+
// The schema accepts any string code. The type lists known codes for
|
|
5
|
+
// autocomplete, with an open string fallback for newer senders.
|
|
6
|
+
export const customBlockOpenPageErrorCodeSchema = v.string();
|
|
7
|
+
export const customBlockOpenPageErrorInfoSchema = v.object({
|
|
8
|
+
code: customBlockOpenPageErrorCodeSchema,
|
|
9
|
+
message: v.string(),
|
|
10
|
+
isRetryable: v.boolean(),
|
|
11
|
+
});
|
|
12
|
+
/**
|
|
13
|
+
* Sandbox -> host: request host-owned navigation to a readable Notion page.
|
|
14
|
+
*/
|
|
15
|
+
export const openPageMessageSchema = v.object({
|
|
16
|
+
type: v.literal("openPage"),
|
|
17
|
+
requestId: v.string(),
|
|
18
|
+
pageId: notionPageIdSchema,
|
|
19
|
+
mode: openPageModeSchema,
|
|
20
|
+
});
|
|
21
|
+
export const openPageResultMessageSchema = v.variant("status", [
|
|
22
|
+
v.object({
|
|
23
|
+
type: v.literal("openPageResult"),
|
|
24
|
+
requestId: v.string(),
|
|
25
|
+
status: v.literal("success"),
|
|
26
|
+
pageId: notionPageIdSchema,
|
|
27
|
+
}),
|
|
28
|
+
v.object({
|
|
29
|
+
type: v.literal("openPageResult"),
|
|
30
|
+
requestId: v.string(),
|
|
31
|
+
status: v.literal("error"),
|
|
32
|
+
error: customBlockOpenPageErrorInfoSchema,
|
|
33
|
+
}),
|
|
34
|
+
]);
|
|
@@ -573,6 +573,11 @@ export declare const sandboxToHostMessageSchema: v.VariantSchema<"type", [v.Vari
|
|
|
573
573
|
readonly requestId: v.StringSchema<undefined>;
|
|
574
574
|
readonly startCursor: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
575
575
|
readonly pageSize: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
576
|
+
}, undefined>, v.ObjectSchema<{
|
|
577
|
+
readonly type: v.LiteralSchema<"openPage", undefined>;
|
|
578
|
+
readonly requestId: v.StringSchema<undefined>;
|
|
579
|
+
readonly pageId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionPageId">]>;
|
|
580
|
+
readonly mode: v.PicklistSchema<["side_peek", "center_peek"], undefined>;
|
|
576
581
|
}, undefined>, v.ObjectSchema<{
|
|
577
582
|
readonly type: v.LiteralSchema<"updatePage", undefined>;
|
|
578
583
|
readonly requestId: v.StringSchema<undefined>;
|
|
@@ -6,6 +6,7 @@ import { getUserMessageSchema } from "./getUser.js";
|
|
|
6
6
|
import { initResultMessageSchema } from "./initResult.js";
|
|
7
7
|
import { invalidHostMessageSchema } from "./invalidHostMessage.js";
|
|
8
8
|
import { listUsersMessageSchema } from "./listUsers.js";
|
|
9
|
+
import { openPageMessageSchema } from "./openPage.js";
|
|
9
10
|
import { queryDataSourceMessageSchema } from "./queryDataSource.js";
|
|
10
11
|
import { resizeMessageSchema } from "./resize.js";
|
|
11
12
|
import { unsubscribeDataSourceQueryMessageSchema } from "./unsubscribeDataSourceQuery.js";
|
|
@@ -23,6 +24,7 @@ export const sandboxToHostMessageSchema = v.variant("type", [
|
|
|
23
24
|
getPageMessageSchema,
|
|
24
25
|
getUserMessageSchema,
|
|
25
26
|
listUsersMessageSchema,
|
|
27
|
+
openPageMessageSchema,
|
|
26
28
|
updatePageMessageSchema,
|
|
27
29
|
resizeMessageSchema,
|
|
28
30
|
invalidHostMessageSchema,
|
package/package.json
CHANGED
|
@@ -22,6 +22,10 @@ import type {
|
|
|
22
22
|
ListUsersMessage,
|
|
23
23
|
ListUsersResultMessage,
|
|
24
24
|
} from "@notionhq/custom-blocks-protocol/messages/listUsers.js"
|
|
25
|
+
import type {
|
|
26
|
+
OpenPageMessage,
|
|
27
|
+
OpenPageResultMessage,
|
|
28
|
+
} from "@notionhq/custom-blocks-protocol/messages/openPage.js"
|
|
25
29
|
import type { PageChangedMessage } from "@notionhq/custom-blocks-protocol/messages/pageChanged.js"
|
|
26
30
|
import type { ParentChangedMessage } from "@notionhq/custom-blocks-protocol/messages/parentChanged.js"
|
|
27
31
|
import type { QueryDataSourceMessage } from "@notionhq/custom-blocks-protocol/messages/queryDataSource.js"
|
|
@@ -266,6 +270,19 @@ export function createCustomBlockHost(
|
|
|
266
270
|
post(result)
|
|
267
271
|
}
|
|
268
272
|
|
|
273
|
+
async function handleOpenPage(message: OpenPageMessage) {
|
|
274
|
+
if (handlers.openPage === undefined) {
|
|
275
|
+
return
|
|
276
|
+
}
|
|
277
|
+
const response = await handlers.openPage(message)
|
|
278
|
+
const result: OpenPageResultMessage = {
|
|
279
|
+
type: "openPageResult",
|
|
280
|
+
requestId: message.requestId,
|
|
281
|
+
...response,
|
|
282
|
+
}
|
|
283
|
+
post(result)
|
|
284
|
+
}
|
|
285
|
+
|
|
269
286
|
async function handleUpdatePage(message: UpdatePageMessage) {
|
|
270
287
|
if (handlers.updatePage === undefined) {
|
|
271
288
|
return
|
|
@@ -379,6 +396,7 @@ export function createCustomBlockHost(
|
|
|
379
396
|
querySubscriptions.unsubscribe(message.subscriptionId),
|
|
380
397
|
onCreatePage: handleCreatePage,
|
|
381
398
|
onGetPage: handleGetPage,
|
|
399
|
+
onOpenPage: handleOpenPage,
|
|
382
400
|
onGetUser: handleGetUser,
|
|
383
401
|
onListUsers: handleListUsers,
|
|
384
402
|
onUpdatePage: handleUpdatePage,
|
package/src/index.ts
CHANGED
|
@@ -2,6 +2,7 @@ export type { CreatePageMessage } from "@notionhq/custom-blocks-protocol/message
|
|
|
2
2
|
export type { GetPageMessage } from "@notionhq/custom-blocks-protocol/messages/getPage.js"
|
|
3
3
|
export type { GetUserMessage } from "@notionhq/custom-blocks-protocol/messages/getUser.js"
|
|
4
4
|
export type { ListUsersMessage } from "@notionhq/custom-blocks-protocol/messages/listUsers.js"
|
|
5
|
+
export type { OpenPageMessage } from "@notionhq/custom-blocks-protocol/messages/openPage.js"
|
|
5
6
|
export type { QueryDataSourceMessage } from "@notionhq/custom-blocks-protocol/messages/queryDataSource.js"
|
|
6
7
|
export type { ResizeMessage } from "@notionhq/custom-blocks-protocol/messages/resize.js"
|
|
7
8
|
export type { UpdatePageMessage } from "@notionhq/custom-blocks-protocol/messages/updatePage.js"
|
|
@@ -34,10 +35,12 @@ export type {
|
|
|
34
35
|
CustomBlockHostInitializationFailure,
|
|
35
36
|
CustomBlockHostListUsersResult,
|
|
36
37
|
CustomBlockHostLogDirection,
|
|
38
|
+
CustomBlockHostOpenPageResult,
|
|
37
39
|
CustomBlockHostUpdatePageResult,
|
|
38
40
|
GetPageMessageInput,
|
|
39
41
|
GetUserMessageInput,
|
|
40
42
|
ListUsersMessageInput,
|
|
43
|
+
OpenPageMessageInput,
|
|
41
44
|
QueryDataSourceMessageInput,
|
|
42
45
|
ResizeMessageInput,
|
|
43
46
|
UpdatePageMessageInput,
|
|
@@ -6,6 +6,7 @@ import type { HostToSandboxMessage } from "@notionhq/custom-blocks-protocol/mess
|
|
|
6
6
|
import type { InitResultMessage } from "@notionhq/custom-blocks-protocol/messages/initResult.js"
|
|
7
7
|
import { isInitHandshakeMessage } from "@notionhq/custom-blocks-protocol/messages/isInitHandshakeMessage.js"
|
|
8
8
|
import type { ListUsersMessage } from "@notionhq/custom-blocks-protocol/messages/listUsers.js"
|
|
9
|
+
import type { OpenPageMessage } from "@notionhq/custom-blocks-protocol/messages/openPage.js"
|
|
9
10
|
import type { QueryDataSourceMessage } from "@notionhq/custom-blocks-protocol/messages/queryDataSource.js"
|
|
10
11
|
import type { ResizeMessage } from "@notionhq/custom-blocks-protocol/messages/resize.js"
|
|
11
12
|
import { sandboxToHostMessageSchema } from "@notionhq/custom-blocks-protocol/messages/sandboxToHost.js"
|
|
@@ -38,6 +39,7 @@ export type SandboxMessageRouterOptions = {
|
|
|
38
39
|
message: UnsubscribeDataSourceQueryMessage,
|
|
39
40
|
) => void
|
|
40
41
|
onCreatePage: (message: CreatePageMessage) => void | Promise<void>
|
|
42
|
+
onOpenPage: (message: OpenPageMessage) => void | Promise<void>
|
|
41
43
|
onGetPage: (message: GetPageMessage) => void | Promise<void>
|
|
42
44
|
onGetUser: (message: GetUserMessage) => void | Promise<void>
|
|
43
45
|
onListUsers: (message: ListUsersMessage) => void | Promise<void>
|
|
@@ -62,6 +64,7 @@ export function createSandboxMessageRouter(
|
|
|
62
64
|
onUnsubscribeDataSourceQuery,
|
|
63
65
|
onCreatePage,
|
|
64
66
|
onGetPage,
|
|
67
|
+
onOpenPage,
|
|
65
68
|
onGetUser,
|
|
66
69
|
onListUsers,
|
|
67
70
|
onUpdatePage,
|
|
@@ -151,6 +154,9 @@ export function createSandboxMessageRouter(
|
|
|
151
154
|
case "createPage":
|
|
152
155
|
void onCreatePage(message)
|
|
153
156
|
return
|
|
157
|
+
case "openPage":
|
|
158
|
+
void onOpenPage(message)
|
|
159
|
+
return
|
|
154
160
|
case "getPage":
|
|
155
161
|
void onGetPage(message)
|
|
156
162
|
return
|
package/src/messages/types.ts
CHANGED
|
@@ -27,6 +27,12 @@ import type {
|
|
|
27
27
|
listUsersMessageSchema,
|
|
28
28
|
} from "@notionhq/custom-blocks-protocol/messages/listUsers.js"
|
|
29
29
|
import type { BridgeMessagePayload } from "@notionhq/custom-blocks-protocol/messages/messagePayload.js"
|
|
30
|
+
import type {
|
|
31
|
+
CustomBlockOpenPageErrorInfo,
|
|
32
|
+
OpenPageMessage,
|
|
33
|
+
OpenPageResultMessage,
|
|
34
|
+
openPageMessageSchema,
|
|
35
|
+
} from "@notionhq/custom-blocks-protocol/messages/openPage.js"
|
|
30
36
|
import type {
|
|
31
37
|
QueryDataSourceMessage,
|
|
32
38
|
queryDataSourceMessageSchema,
|
|
@@ -73,6 +79,11 @@ export type CustomBlockHostListUsersResult = BridgeMessagePayload<
|
|
|
73
79
|
CustomBlockListUsersErrorInfo
|
|
74
80
|
>
|
|
75
81
|
|
|
82
|
+
export type CustomBlockHostOpenPageResult = BridgeMessagePayload<
|
|
83
|
+
OpenPageResultMessage,
|
|
84
|
+
CustomBlockOpenPageErrorInfo
|
|
85
|
+
>
|
|
86
|
+
|
|
76
87
|
export type CustomBlockHostHandlers = {
|
|
77
88
|
queryDataSource: (
|
|
78
89
|
message: QueryDataSourceMessage,
|
|
@@ -89,6 +100,9 @@ export type CustomBlockHostHandlers = {
|
|
|
89
100
|
listUsers?: (
|
|
90
101
|
message: ListUsersMessage,
|
|
91
102
|
) => MaybePromise<CustomBlockHostListUsersResult>
|
|
103
|
+
openPage?: (
|
|
104
|
+
message: OpenPageMessage,
|
|
105
|
+
) => MaybePromise<CustomBlockHostOpenPageResult>
|
|
92
106
|
updatePage?: (
|
|
93
107
|
message: UpdatePageMessage,
|
|
94
108
|
) => MaybePromise<CustomBlockHostUpdatePageResult>
|
|
@@ -109,6 +123,8 @@ export type GetUserMessageInput = InferInput<typeof getUserMessageSchema>
|
|
|
109
123
|
|
|
110
124
|
export type ListUsersMessageInput = InferInput<typeof listUsersMessageSchema>
|
|
111
125
|
|
|
126
|
+
export type OpenPageMessageInput = InferInput<typeof openPageMessageSchema>
|
|
127
|
+
|
|
112
128
|
export type QueryDataSourceMessageInput = InferInput<
|
|
113
129
|
typeof queryDataSourceMessageSchema
|
|
114
130
|
>
|