@notionhq/custom-blocks 0.2.1 → 0.2.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.
- package/README.md +1 -1
- package/dist/bridge/SandboxBridge.d.ts +3 -1
- package/dist/bridge/SandboxBridge.d.ts.map +1 -1
- package/dist/bridge/SandboxBridge.js +23 -0
- package/dist/bridge/primedResponses.d.ts +1 -1
- package/dist/bridge/primedResponses.d.ts.map +1 -1
- package/dist/bridge/sandboxClient.d.ts +5 -1
- package/dist/bridge/sandboxClient.d.ts.map +1 -1
- package/dist/bridge/sandboxClient.js +6 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.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/dist/types.d.ts +6 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/docs/errors.md +1 -1
- package/docs/pages.md +19 -1
- package/package.json +1 -1
- package/src/bridge/SandboxBridge.ts +36 -0
- package/src/bridge/sandboxClient.ts +12 -0
- package/src/index.ts +5 -0
- package/src/types.ts +15 -0
package/README.md
CHANGED
|
@@ -125,7 +125,7 @@ Each page covers one API category. Import framework-neutral APIs from
|
|
|
125
125
|
- [`docs/lifecycle.md`](./docs/lifecycle.md) — `<NotionCustomBlock>`, `useCustomBlockInit`, `initCustomBlock`, `NotInIframeError`. The handshake, the React wrapper, sizing.
|
|
126
126
|
- [`docs/block-location.md`](./docs/block-location.md) — `useBlockId`, `useParent`, `usePage`, `useTheme`, `useContrastMode`, `NotionTokenScope`, and `NotionTokenScopeProps`. Where the block sits and how to read the host's appearance.
|
|
127
127
|
- [`docs/data-sources.md`](./docs/data-sources.md) — `customBlock.subscribeToDataSource`, `useDataSource`, `useManifest`, `customBlock.getManifest`, the row, property, and date-value types, plus a worked example.
|
|
128
|
-
- [`docs/pages.md`](./docs/pages.md) — `pages.create / get / update / archive / unarchive`, parent variants (including the recommended `data_source_key`), property input shapes.
|
|
128
|
+
- [`docs/pages.md`](./docs/pages.md) — `pages.create / get / open / update / archive / unarchive`, parent variants (including the recommended `data_source_key`), property input shapes.
|
|
129
129
|
- [`docs/users.md`](./docs/users.md) — `users.list / get`, the `NotionUser` shape, paging.
|
|
130
130
|
- [`docs/errors.md`](./docs/errors.md) — request results, error format, error codes, retries, and initialization failures.
|
|
131
131
|
- [`docs/deployment.md`](./docs/deployment.md) — worker-backed deploys, localhost self-hosted fallback, where the manifest comes from.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { NotionDataSource } from "../protocol/dataSources/dataSource.js";
|
|
2
2
|
import type { NotionPageId } from "../protocol/ids.js";
|
|
3
3
|
import { type InitMessage } from "../protocol/messages/init.js";
|
|
4
|
-
import type { CreatePageArgs, CreatePageResult, DataSourceQueryOptions, GetPageResult, GetUserResult, ListUsersArgs, ListUsersResult, NotionDataSourcePageUpdateArgs, NotionUserId, UpdatePageArgs, UpdatePageResult } from "../types.js";
|
|
4
|
+
import type { CreatePageArgs, CreatePageResult, DataSourceQueryOptions, GetPageResult, GetUserResult, ListUsersArgs, ListUsersResult, NotionDataSourcePageUpdateArgs, NotionUserId, OpenPageOptions, OpenPageResult, UpdatePageArgs, UpdatePageResult } from "../types.js";
|
|
5
5
|
import { type CustomBlockHostState } from "./hostState.js";
|
|
6
6
|
import type { ManifestLoadResult } from "./loadManifest.js";
|
|
7
7
|
/**
|
|
@@ -30,6 +30,7 @@ export declare class SandboxBridge {
|
|
|
30
30
|
private readonly pendingGetPage;
|
|
31
31
|
private readonly pendingGetUser;
|
|
32
32
|
private readonly pendingListUsers;
|
|
33
|
+
private readonly pendingOpenPage;
|
|
33
34
|
private readonly pendingUpdatePage;
|
|
34
35
|
private hasSentConnect;
|
|
35
36
|
private hasReceivedInit;
|
|
@@ -80,6 +81,7 @@ export declare class SandboxBridge {
|
|
|
80
81
|
postResize(height: number): void;
|
|
81
82
|
createPage(args: CreatePageArgs): Promise<CreatePageResult>;
|
|
82
83
|
getPage(pageId: NotionPageId): Promise<GetPageResult>;
|
|
84
|
+
openPage(pageId: NotionPageId, options: OpenPageOptions): Promise<OpenPageResult>;
|
|
83
85
|
getUser(userId: NotionUserId): Promise<GetUserResult>;
|
|
84
86
|
listUsers(args?: ListUsersArgs): Promise<ListUsersResult>;
|
|
85
87
|
updatePage(args: UpdatePageArgs): Promise<UpdatePageResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SandboxBridge.d.ts","sourceRoot":"","sources":["../../src/bridge/SandboxBridge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,gBAAgB,EAEhB,MAAM,4DAA4D,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAA;AAc3E,OAAO,EAEN,KAAK,WAAW,EAEhB,MAAM,mDAAmD,CAAA;
|
|
1
|
+
{"version":3,"file":"SandboxBridge.d.ts","sourceRoot":"","sources":["../../src/bridge/SandboxBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ import { PendingRequests } from "./pendingRequests.js";
|
|
|
16
16
|
import { globalPrimedResponsesCache } from "./primedResponses.js";
|
|
17
17
|
const RESPONSE_TYPE_BY_REQUEST = new Map([
|
|
18
18
|
["getPage", "getPageResult"],
|
|
19
|
+
["openPage", "openPageResult"],
|
|
19
20
|
["createPage", "createPageResult"],
|
|
20
21
|
["updatePage", "updatePageResult"],
|
|
21
22
|
["getUser", "getUserResult"],
|
|
@@ -37,6 +38,7 @@ export class SandboxBridge {
|
|
|
37
38
|
pendingGetPage = new PendingRequests("custom-block-get-page");
|
|
38
39
|
pendingGetUser = new PendingRequests("custom-block-get-user");
|
|
39
40
|
pendingListUsers = new PendingRequests("custom-block-list-users");
|
|
41
|
+
pendingOpenPage = new PendingRequests("custom-block-open-page");
|
|
40
42
|
pendingUpdatePage = new PendingRequests("custom-block-update-page");
|
|
41
43
|
hasSentConnect = false;
|
|
42
44
|
hasReceivedInit = false;
|
|
@@ -356,6 +358,15 @@ export class SandboxBridge {
|
|
|
356
358
|
}
|
|
357
359
|
return;
|
|
358
360
|
}
|
|
361
|
+
case "openPageResult": {
|
|
362
|
+
const result = message.status === "success"
|
|
363
|
+
? { status: "success", pageId: message.pageId }
|
|
364
|
+
: { status: "error", error: message.error };
|
|
365
|
+
if (!this.pendingOpenPage.resolve(message.requestId, result)) {
|
|
366
|
+
console.warn(`[custom-blocks-sdk] openPageResult for unknown requestId ${message.requestId}`);
|
|
367
|
+
}
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
359
370
|
case "updatePageResult": {
|
|
360
371
|
const result = message.status === "success"
|
|
361
372
|
? { status: "success", page: message.page }
|
|
@@ -699,6 +710,18 @@ export class SandboxBridge {
|
|
|
699
710
|
this.postToHost(outbound);
|
|
700
711
|
});
|
|
701
712
|
}
|
|
713
|
+
openPage(pageId, options) {
|
|
714
|
+
return new Promise(resolve => {
|
|
715
|
+
const requestId = this.pendingOpenPage.allocate(resolve);
|
|
716
|
+
const outbound = {
|
|
717
|
+
type: "openPage",
|
|
718
|
+
requestId,
|
|
719
|
+
pageId,
|
|
720
|
+
mode: options.mode,
|
|
721
|
+
};
|
|
722
|
+
this.postToHost(outbound);
|
|
723
|
+
});
|
|
724
|
+
}
|
|
702
725
|
getUser(userId) {
|
|
703
726
|
return new Promise(resolve => {
|
|
704
727
|
const requestId = this.pendingGetUser.allocate(resolve);
|
|
@@ -4,5 +4,5 @@ import type { PrimeableHostToSandboxMessage } from "../protocol/messages/hostToS
|
|
|
4
4
|
* Shared across sandbox bridge instances. Each result type holds one response;
|
|
5
5
|
* consuming it removes it, and priming it again replaces the previous response.
|
|
6
6
|
*/
|
|
7
|
-
export declare const globalPrimedResponsesCache: Map<"createPageResult" | "getPageResult" | "getUserResult" | "listUsersResult" | "queryDataSourceResult" | "updatePageResult", BridgeMessagePayload<PrimeableHostToSandboxMessage>>;
|
|
7
|
+
export declare const globalPrimedResponsesCache: Map<"createPageResult" | "getPageResult" | "getUserResult" | "listUsersResult" | "openPageResult" | "queryDataSourceResult" | "updatePageResult", BridgeMessagePayload<PrimeableHostToSandboxMessage>>;
|
|
8
8
|
//# sourceMappingURL=primedResponses.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primedResponses.d.ts","sourceRoot":"","sources":["../../src/bridge/primedResponses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAA;AAE/G;;;GAGG;AACH,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"primedResponses.d.ts","sourceRoot":"","sources":["../../src/bridge/primedResponses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAA;AAE/G;;;GAGG;AACH,eAAO,MAAM,0BAA0B,wMAGpC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { NotionPageId } from "../protocol/ids.js";
|
|
2
2
|
import type { InitMessage } from "../protocol/messages/init.js";
|
|
3
|
-
import type { CreatePageArgs, CreatePageResult, GetPageResult, GetUserResult, ListUsersArgs, ListUsersResult, NotionUserId, UpdatePageArgs, UpdatePageResult } from "../types.js";
|
|
3
|
+
import type { CreatePageArgs, CreatePageResult, GetPageResult, GetUserResult, ListUsersArgs, ListUsersResult, NotionUserId, OpenPageOptions, OpenPageResult, UpdatePageArgs, UpdatePageResult } from "../types.js";
|
|
4
4
|
import { type CustomBlockHostState, type DataSourceQueryView } from "./hostState.js";
|
|
5
5
|
import type { ManifestLoadResult } from "./loadManifest.js";
|
|
6
6
|
import { type MessageLogEntry, type QueryDataSourceArgs } from "./SandboxBridge.js";
|
|
@@ -40,6 +40,10 @@ export declare const pages: {
|
|
|
40
40
|
* Fetches a page by id.
|
|
41
41
|
*/
|
|
42
42
|
get: (pageId: NotionPageId) => Promise<GetPageResult>;
|
|
43
|
+
/**
|
|
44
|
+
* Requests that the Notion host open a page.
|
|
45
|
+
*/
|
|
46
|
+
open: (pageId: NotionPageId, options: OpenPageOptions) => Promise<OpenPageResult>;
|
|
43
47
|
/**
|
|
44
48
|
* Updates an existing page.
|
|
45
49
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandboxClient.d.ts","sourceRoot":"","sources":["../../src/bridge/sandboxClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAA;AACpF,OAAO,KAAK,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAExB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAA;AAW3B,eAAO,MAAM,eAAe;IAC3B,KAAK;IAIL,WAAW,mBAAmB,kBAAkB;IAIhD,SAAS,QAAM,OAAO,CAAC,IAAI,CAAC;IAI5B,SAAS,aAAa,MAAM,IAAI;IAIhC,QAAQ,QAAM,oBAAoB;IAIlC;;;OAGG;IACH,YAAY,YAAY,WAAW;IAInC,sBAAsB;IAItB,UAAU,WAAW,MAAM;CAG3B,CAAA;AAED,eAAO,MAAM,sBAAsB;IAClC,oBAAoB;IAIpB,KAAK,SAAS,mBAAmB;IAIjC,OAAO,mBAAmB,MAAM;IAIhC,OAAO,cACK,oBAAoB,OAC1B,MAAM,kBACK,MAAM,KACpB,mBAAmB;CAQtB,CAAA;AAED,eAAO,MAAM,UAAU;IACtB,WAAW,QAAM,SAAS,eAAe,EAAE;IAI3C,SAAS,aAAa,MAAM,IAAI;CAGhC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,KAAK;IACjB;;OAEG;IACH,MAAM,UAAU,cAAc,KAAG,OAAO,CAAC,gBAAgB,CAAC;IAI1D;;OAEG;IACH,GAAG,WAAW,YAAY,KAAG,OAAO,CAAC,aAAa,CAAC;IAInD;;OAEG;IACH,MAAM,UAAU,cAAc,KAAG,OAAO,CAAC,gBAAgB,CAAC;IAI1D;;OAEG;IACH,OAAO,WAAW,YAAY,KAAG,OAAO,CAAC,gBAAgB,CAAC;IAI1D;;OAEG;IACH,SAAS,WAAW,YAAY,KAAG,OAAO,CAAC,gBAAgB,CAAC;CAG5D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,KAAK;IACjB;;OAEG;IACH,IAAI,WAAW,aAAa,KAAG,OAAO,CAAC,eAAe,CAAC;IAIvD;;OAEG;IACH,GAAG,WAAW,YAAY,KAAG,OAAO,CAAC,aAAa,CAAC;CAGnD,CAAA"}
|
|
1
|
+
{"version":3,"file":"sandboxClient.d.ts","sourceRoot":"","sources":["../../src/bridge/sandboxClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAA;AACpF,OAAO,KAAK,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAExB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAA;AAW3B,eAAO,MAAM,eAAe;IAC3B,KAAK;IAIL,WAAW,mBAAmB,kBAAkB;IAIhD,SAAS,QAAM,OAAO,CAAC,IAAI,CAAC;IAI5B,SAAS,aAAa,MAAM,IAAI;IAIhC,QAAQ,QAAM,oBAAoB;IAIlC;;;OAGG;IACH,YAAY,YAAY,WAAW;IAInC,sBAAsB;IAItB,UAAU,WAAW,MAAM;CAG3B,CAAA;AAED,eAAO,MAAM,sBAAsB;IAClC,oBAAoB;IAIpB,KAAK,SAAS,mBAAmB;IAIjC,OAAO,mBAAmB,MAAM;IAIhC,OAAO,cACK,oBAAoB,OAC1B,MAAM,kBACK,MAAM,KACpB,mBAAmB;CAQtB,CAAA;AAED,eAAO,MAAM,UAAU;IACtB,WAAW,QAAM,SAAS,eAAe,EAAE;IAI3C,SAAS,aAAa,MAAM,IAAI;CAGhC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,KAAK;IACjB;;OAEG;IACH,MAAM,UAAU,cAAc,KAAG,OAAO,CAAC,gBAAgB,CAAC;IAI1D;;OAEG;IACH,GAAG,WAAW,YAAY,KAAG,OAAO,CAAC,aAAa,CAAC;IAInD;;OAEG;IACH,IAAI,WACK,YAAY,WACX,eAAe,KACtB,OAAO,CAAC,cAAc,CAAC;IAI1B;;OAEG;IACH,MAAM,UAAU,cAAc,KAAG,OAAO,CAAC,gBAAgB,CAAC;IAI1D;;OAEG;IACH,OAAO,WAAW,YAAY,KAAG,OAAO,CAAC,gBAAgB,CAAC;IAI1D;;OAEG;IACH,SAAS,WAAW,YAAY,KAAG,OAAO,CAAC,gBAAgB,CAAC;CAG5D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,KAAK;IACjB;;OAEG;IACH,IAAI,WAAW,aAAa,KAAG,OAAO,CAAC,eAAe,CAAC;IAIvD;;OAEG;IACH,GAAG,WAAW,YAAY,KAAG,OAAO,CAAC,aAAa,CAAC;CAGnD,CAAA"}
|
|
@@ -75,6 +75,12 @@ export const pages = {
|
|
|
75
75
|
get: (pageId) => {
|
|
76
76
|
return getBridge().getPage(pageId);
|
|
77
77
|
},
|
|
78
|
+
/**
|
|
79
|
+
* Requests that the Notion host open a page.
|
|
80
|
+
*/
|
|
81
|
+
open: (pageId, options) => {
|
|
82
|
+
return getBridge().openPage(pageId, options);
|
|
83
|
+
},
|
|
78
84
|
/**
|
|
79
85
|
* Updates an existing page.
|
|
80
86
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export type { CustomBlockGetUserErrorCode, CustomBlockGetUserErrorInfo, } from "
|
|
|
24
24
|
export type { CustomBlockInitializationErrorCode, CustomBlockInitializationErrorInfo, } from "./protocol/messages/init.js";
|
|
25
25
|
export { CustomBlockInitializationError } from "./protocol/messages/init.js";
|
|
26
26
|
export type { CustomBlockListUsersErrorCode, CustomBlockListUsersErrorInfo, } from "./protocol/messages/listUsers.js";
|
|
27
|
+
export type { CustomBlockOpenPageErrorCode, CustomBlockOpenPageErrorInfo, OpenPageMode, } from "./protocol/messages/openPage.js";
|
|
27
28
|
export type { CustomBlockQueryDataSourceErrorCode, CustomBlockQueryDataSourceErrorInfo, } from "./protocol/messages/queryDataSourceResult.js";
|
|
28
29
|
export type { CustomBlockUpdatePageErrorCode, CustomBlockUpdatePageErrorInfo, } from "./protocol/messages/updatePageResult.js";
|
|
29
30
|
export type { NotionPage, NotionPageCover, NotionPageIcon, NotionPagePropertyValue, NotionPagePropertyWriteMap, } from "./protocol/pages/page.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AACtF,YAAY,EACX,sBAAsB,EACtB,gBAAgB,GAChB,MAAM,4DAA4D,CAAA;AACnE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iEAAiE,CAAA;AAC5G,YAAY,EACX,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,2DAA2D,CAAA;AAClE,YAAY,EACX,wCAAwC,EACxC,wCAAwC,EACxC,4BAA4B,EAC5B,4BAA4B,GAC5B,MAAM,wDAAwD,CAAA;AAC/D,YAAY,EACX,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,gEAAgE,CAAA;AACvE,OAAO,EACN,2BAA2B,EAC3B,qBAAqB,GACrB,MAAM,gEAAgE,CAAA;AACvE,YAAY,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAA;AACxG,YAAY,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAA;AACtF,YAAY,EACX,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACb,MAAM,yCAAyC,CAAA;AAChD,YAAY,EACX,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GAChB,MAAM,8CAA8C,CAAA;AACrD,YAAY,EAAE,wBAAwB,EAAE,MAAM,yDAAyD,CAAA;AACvG,YAAY,EACX,8BAA8B,EAC9B,8BAA8B,GAC9B,MAAM,+DAA+D,CAAA;AACtE,YAAY,EACX,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,sDAAsD,CAAA;AAC7D,YAAY,EACX,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,sDAAsD,CAAA;AAC7D,YAAY,EACX,kCAAkC,EAClC,kCAAkC,GAClC,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAA;AAClG,YAAY,EACX,6BAA6B,EAC7B,6BAA6B,GAC7B,MAAM,wDAAwD,CAAA;AAC/D,YAAY,EACX,mCAAmC,EACnC,mCAAmC,GACnC,MAAM,oEAAoE,CAAA;AAC3E,YAAY,EACX,8BAA8B,EAC9B,8BAA8B,GAC9B,MAAM,+DAA+D,CAAA;AACtE,YAAY,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,0BAA0B,GAC1B,MAAM,gDAAgD,CAAA;AACvD,YAAY,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,YAAY,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EACN,KAAK,sBAAsB,EAC3B,eAAe,EACf,gBAAgB,GAChB,MAAM,WAAW,CAAA;AAClB,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AACtF,YAAY,EACX,sBAAsB,EACtB,gBAAgB,GAChB,MAAM,4DAA4D,CAAA;AACnE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iEAAiE,CAAA;AAC5G,YAAY,EACX,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,2DAA2D,CAAA;AAClE,YAAY,EACX,wCAAwC,EACxC,wCAAwC,EACxC,4BAA4B,EAC5B,4BAA4B,GAC5B,MAAM,wDAAwD,CAAA;AAC/D,YAAY,EACX,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,gEAAgE,CAAA;AACvE,OAAO,EACN,2BAA2B,EAC3B,qBAAqB,GACrB,MAAM,gEAAgE,CAAA;AACvE,YAAY,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAA;AACxG,YAAY,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAA;AACtF,YAAY,EACX,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACb,MAAM,yCAAyC,CAAA;AAChD,YAAY,EACX,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GAChB,MAAM,8CAA8C,CAAA;AACrD,YAAY,EAAE,wBAAwB,EAAE,MAAM,yDAAyD,CAAA;AACvG,YAAY,EACX,8BAA8B,EAC9B,8BAA8B,GAC9B,MAAM,+DAA+D,CAAA;AACtE,YAAY,EACX,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,sDAAsD,CAAA;AAC7D,YAAY,EACX,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,sDAAsD,CAAA;AAC7D,YAAY,EACX,kCAAkC,EAClC,kCAAkC,GAClC,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAA;AAClG,YAAY,EACX,6BAA6B,EAC7B,6BAA6B,GAC7B,MAAM,wDAAwD,CAAA;AAC/D,YAAY,EACX,4BAA4B,EAC5B,4BAA4B,EAC5B,YAAY,GACZ,MAAM,uDAAuD,CAAA;AAC9D,YAAY,EACX,mCAAmC,EACnC,mCAAmC,GACnC,MAAM,oEAAoE,CAAA;AAC3E,YAAY,EACX,8BAA8B,EAC9B,8BAA8B,GAC9B,MAAM,+DAA+D,CAAA;AACtE,YAAY,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,0BAA0B,GAC1B,MAAM,gDAAgD,CAAA;AACvD,YAAY,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,YAAY,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EACN,KAAK,sBAAsB,EAC3B,eAAe,EACf,gBAAgB,GAChB,MAAM,WAAW,CAAA;AAClB,cAAc,YAAY,CAAA"}
|
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/dist/types.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import type { CustomBlockGetPageErrorInfo, GetPageResultMessage } from "./protoc
|
|
|
8
8
|
import type { CustomBlockGetUserErrorInfo, GetUserResultMessage } from "./protocol/messages/getUser.js";
|
|
9
9
|
import type { CustomBlockListUsersErrorInfo, ListUsersMessage, ListUsersResultMessage } from "./protocol/messages/listUsers.js";
|
|
10
10
|
import type { BridgeMessagePayload } from "./protocol/messages/messagePayload.js";
|
|
11
|
+
import type { CustomBlockOpenPageErrorInfo, OpenPageMode, OpenPageResultMessage } from "./protocol/messages/openPage.js";
|
|
11
12
|
import type { CustomBlockCheckboxFilterOperator, CustomBlockContainsFilterOperator, CustomBlockDateFilterOperator, CustomBlockNumberFilterOperator, CustomBlockOptionFilterOperator, CustomBlockTextFilterOperator } from "./protocol/messages/queryDataSource.js";
|
|
12
13
|
import type { CustomBlockQueryDataSourceErrorInfo } from "./protocol/messages/queryDataSourceResult.js";
|
|
13
14
|
import type { UpdatePageMessage } from "./protocol/messages/updatePage.js";
|
|
@@ -16,7 +17,7 @@ import type { NotionPageCover, NotionPageIcon, NotionPagePropertyValue } from ".
|
|
|
16
17
|
export type { CustomBlockErrorInfo } from "./protocol/errors.js";
|
|
17
18
|
export type { NotionDataSourceId, NotionSpaceId, } from "./protocol/ids.js";
|
|
18
19
|
export type { NotionUser, NotionUserId, NotionUserList, } from "./protocol/users/user.js";
|
|
19
|
-
export type { CustomBlockCreatePageErrorInfo, CustomBlockGetPageErrorInfo, CustomBlockGetUserErrorInfo, CustomBlockListUsersErrorInfo, CustomBlockQueryDataSourceErrorInfo, CustomBlockUpdatePageErrorInfo, };
|
|
20
|
+
export type { CustomBlockCreatePageErrorInfo, CustomBlockGetPageErrorInfo, CustomBlockGetUserErrorInfo, CustomBlockListUsersErrorInfo, CustomBlockOpenPageErrorInfo, CustomBlockQueryDataSourceErrorInfo, CustomBlockUpdatePageErrorInfo, };
|
|
20
21
|
/**
|
|
21
22
|
* Public SDK page property write input. Keys may be raw property IDs or data source
|
|
22
23
|
* property keys. `id` is optional because the SDK resolves the final raw property ID
|
|
@@ -212,6 +213,10 @@ export type UpdatePageArgs = Omit<UpdatePageMessage, "type" | "requestId" | "arc
|
|
|
212
213
|
* Result of `sdk.pages.get`.
|
|
213
214
|
*/
|
|
214
215
|
export type GetPageResult = BridgeMessagePayload<GetPageResultMessage, CustomBlockGetPageErrorInfo>;
|
|
216
|
+
export type OpenPageOptions = {
|
|
217
|
+
mode: OpenPageMode;
|
|
218
|
+
};
|
|
219
|
+
export type OpenPageResult = BridgeMessagePayload<OpenPageResultMessage, CustomBlockOpenPageErrorInfo>;
|
|
215
220
|
/**
|
|
216
221
|
* Result of `sdk.pages.update`, `sdk.pages.archive`, and `sdk.pages.unarchive`.
|
|
217
222
|
*/
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/version.js
CHANGED
package/docs/errors.md
CHANGED
|
@@ -28,7 +28,7 @@ Each API narrows `code` to its own open string union. The known literals provide
|
|
|
28
28
|
|
|
29
29
|
## API-specific error types
|
|
30
30
|
|
|
31
|
-
- Pages: `CustomBlockCreatePageErrorCode` / `CustomBlockCreatePageErrorInfo`, `CustomBlockGetPageErrorCode` / `CustomBlockGetPageErrorInfo`, and `CustomBlockUpdatePageErrorCode` / `CustomBlockUpdatePageErrorInfo`.
|
|
31
|
+
- Pages: `CustomBlockCreatePageErrorCode` / `CustomBlockCreatePageErrorInfo`, `CustomBlockGetPageErrorCode` / `CustomBlockGetPageErrorInfo`, `CustomBlockOpenPageErrorCode` / `CustomBlockOpenPageErrorInfo`, and `CustomBlockUpdatePageErrorCode` / `CustomBlockUpdatePageErrorInfo`.
|
|
32
32
|
- Users: `CustomBlockGetUserErrorCode` / `CustomBlockGetUserErrorInfo` and `CustomBlockListUsersErrorCode` / `CustomBlockListUsersErrorInfo`.
|
|
33
33
|
- Data sources: `CustomBlockQueryDataSourceErrorCode` / `CustomBlockQueryDataSourceErrorInfo`.
|
|
34
34
|
- Shared resolution failures: `CustomBlockPropertyErrorCode` / `CustomBlockPropertyErrorInfo` and `CustomBlockDataSourceResolutionErrorCode` / `CustomBlockDataSourceResolutionErrorInfo`.
|
package/docs/pages.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `pages` API
|
|
2
2
|
|
|
3
|
-
Helpers for creating, reading, updating, and
|
|
3
|
+
Helpers for creating, reading, updating, archiving, and opening Notion pages from inside a custom block. The SDK forwards each call to Notion on your behalf.
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
6
|
import { pages } from "@notionhq/custom-blocks";
|
|
@@ -215,6 +215,24 @@ For flattened query values, filters, and sorts, see [Data source property suppor
|
|
|
215
215
|
- `NotionPagePropertyInputMap` — input map for `pages.create` (keys can be raw property IDs, or semantic keys when creating into a mapped data source).
|
|
216
216
|
- `NotionPagePropertyWriteMap` — input map for `pages.update` (raw property IDs only).
|
|
217
217
|
- `NotionCreatePagePosition` — `start` / `end` / `before` / `after` insertion variants.
|
|
218
|
+
- `OpenPageMode` — `"side_peek"` / `"center_peek"`.
|
|
219
|
+
- `OpenPageOptions` / `OpenPageResult`.
|
|
218
220
|
- `CreatePageArgs` / `CreatePageParent` / `CreatePageResult`.
|
|
219
221
|
- `GetPageResult`.
|
|
220
222
|
- `UpdatePageArgs` / `UpdatePageResult`.
|
|
223
|
+
|
|
224
|
+
## Opening pages
|
|
225
|
+
|
|
226
|
+
`pages.open(pageId, { mode })` asks Notion to open a readable page using host-owned navigation:
|
|
227
|
+
|
|
228
|
+
```ts
|
|
229
|
+
const result = await pages.open(pageId, { mode: "side_peek" });
|
|
230
|
+
|
|
231
|
+
if (result.status === "error") {
|
|
232
|
+
console.warn(result.error.code, result.error.message);
|
|
233
|
+
}
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
When the block is inside a peek, opening another page in that peek replaces it and unmounts the block, losing its local state. The request result may not be observable after the block unmounts.
|
|
237
|
+
|
|
238
|
+
Modes are `"side_peek"` and `"center_peek"`. Success means the host handed the request to Notion navigation; it does not wait for route-leave confirmation or for the page to finish loading. A surface that cannot host the requested peek may fall back to full-page navigation. The success result contains `{ pageId }` only — call `pages.get(pageId)` separately when you need readable page metadata.
|
package/package.json
CHANGED
|
@@ -29,6 +29,7 @@ import type {
|
|
|
29
29
|
} from "@notionhq/custom-blocks-protocol/messages/initResult.js"
|
|
30
30
|
import type { InvalidHostMessage } from "@notionhq/custom-blocks-protocol/messages/invalidHostMessage.js"
|
|
31
31
|
import type { ListUsersMessage } from "@notionhq/custom-blocks-protocol/messages/listUsers.js"
|
|
32
|
+
import type { OpenPageMessage } from "@notionhq/custom-blocks-protocol/messages/openPage.js"
|
|
32
33
|
import type { QueryDataSourceMessage } from "@notionhq/custom-blocks-protocol/messages/queryDataSource.js"
|
|
33
34
|
import type { CustomBlockQueryDataSourceErrorInfo } from "@notionhq/custom-blocks-protocol/messages/queryDataSourceResult.js"
|
|
34
35
|
import type { ResizeMessage } from "@notionhq/custom-blocks-protocol/messages/resize.js"
|
|
@@ -47,6 +48,8 @@ import type {
|
|
|
47
48
|
ListUsersResult,
|
|
48
49
|
NotionDataSourcePageUpdateArgs,
|
|
49
50
|
NotionUserId,
|
|
51
|
+
OpenPageOptions,
|
|
52
|
+
OpenPageResult,
|
|
50
53
|
UpdatePageArgs,
|
|
51
54
|
UpdatePageResult,
|
|
52
55
|
} from "../types.js"
|
|
@@ -81,6 +84,7 @@ export type MessageLogEntry = {
|
|
|
81
84
|
|
|
82
85
|
const RESPONSE_TYPE_BY_REQUEST = new Map([
|
|
83
86
|
["getPage", "getPageResult"],
|
|
87
|
+
["openPage", "openPageResult"],
|
|
84
88
|
["createPage", "createPageResult"],
|
|
85
89
|
["updatePage", "updatePageResult"],
|
|
86
90
|
["getUser", "getUserResult"],
|
|
@@ -120,6 +124,9 @@ export class SandboxBridge {
|
|
|
120
124
|
private readonly pendingListUsers = new PendingRequests<ListUsersResult>(
|
|
121
125
|
"custom-block-list-users",
|
|
122
126
|
)
|
|
127
|
+
private readonly pendingOpenPage = new PendingRequests<OpenPageResult>(
|
|
128
|
+
"custom-block-open-page",
|
|
129
|
+
)
|
|
123
130
|
private readonly pendingUpdatePage = new PendingRequests<UpdatePageResult>(
|
|
124
131
|
"custom-block-update-page",
|
|
125
132
|
)
|
|
@@ -510,6 +517,19 @@ export class SandboxBridge {
|
|
|
510
517
|
return
|
|
511
518
|
}
|
|
512
519
|
|
|
520
|
+
case "openPageResult": {
|
|
521
|
+
const result: OpenPageResult =
|
|
522
|
+
message.status === "success"
|
|
523
|
+
? { status: "success", pageId: message.pageId }
|
|
524
|
+
: { status: "error", error: message.error }
|
|
525
|
+
if (!this.pendingOpenPage.resolve(message.requestId, result)) {
|
|
526
|
+
console.warn(
|
|
527
|
+
`[custom-blocks-sdk] openPageResult for unknown requestId ${message.requestId}`,
|
|
528
|
+
)
|
|
529
|
+
}
|
|
530
|
+
return
|
|
531
|
+
}
|
|
532
|
+
|
|
513
533
|
case "updatePageResult": {
|
|
514
534
|
const result: UpdatePageResult =
|
|
515
535
|
message.status === "success"
|
|
@@ -905,6 +925,22 @@ export class SandboxBridge {
|
|
|
905
925
|
})
|
|
906
926
|
}
|
|
907
927
|
|
|
928
|
+
openPage(
|
|
929
|
+
pageId: NotionPageId,
|
|
930
|
+
options: OpenPageOptions,
|
|
931
|
+
): Promise<OpenPageResult> {
|
|
932
|
+
return new Promise(resolve => {
|
|
933
|
+
const requestId = this.pendingOpenPage.allocate(resolve)
|
|
934
|
+
const outbound: OpenPageMessage = {
|
|
935
|
+
type: "openPage",
|
|
936
|
+
requestId,
|
|
937
|
+
pageId,
|
|
938
|
+
mode: options.mode,
|
|
939
|
+
}
|
|
940
|
+
this.postToHost(outbound)
|
|
941
|
+
})
|
|
942
|
+
}
|
|
943
|
+
|
|
908
944
|
getUser(userId: NotionUserId): Promise<GetUserResult> {
|
|
909
945
|
return new Promise(resolve => {
|
|
910
946
|
const requestId = this.pendingGetUser.allocate(resolve)
|
|
@@ -8,6 +8,8 @@ import type {
|
|
|
8
8
|
ListUsersArgs,
|
|
9
9
|
ListUsersResult,
|
|
10
10
|
NotionUserId,
|
|
11
|
+
OpenPageOptions,
|
|
12
|
+
OpenPageResult,
|
|
11
13
|
UpdatePageArgs,
|
|
12
14
|
UpdatePageResult,
|
|
13
15
|
} from "../types.js"
|
|
@@ -125,6 +127,16 @@ export const pages = {
|
|
|
125
127
|
return getBridge().getPage(pageId)
|
|
126
128
|
},
|
|
127
129
|
|
|
130
|
+
/**
|
|
131
|
+
* Requests that the Notion host open a page.
|
|
132
|
+
*/
|
|
133
|
+
open: (
|
|
134
|
+
pageId: NotionPageId,
|
|
135
|
+
options: OpenPageOptions,
|
|
136
|
+
): Promise<OpenPageResult> => {
|
|
137
|
+
return getBridge().openPage(pageId, options)
|
|
138
|
+
},
|
|
139
|
+
|
|
128
140
|
/**
|
|
129
141
|
* Updates an existing page.
|
|
130
142
|
*/
|
package/src/index.ts
CHANGED
|
@@ -80,6 +80,11 @@ export type {
|
|
|
80
80
|
CustomBlockListUsersErrorCode,
|
|
81
81
|
CustomBlockListUsersErrorInfo,
|
|
82
82
|
} from "@notionhq/custom-blocks-protocol/messages/listUsers.js"
|
|
83
|
+
export type {
|
|
84
|
+
CustomBlockOpenPageErrorCode,
|
|
85
|
+
CustomBlockOpenPageErrorInfo,
|
|
86
|
+
OpenPageMode,
|
|
87
|
+
} from "@notionhq/custom-blocks-protocol/messages/openPage.js"
|
|
83
88
|
export type {
|
|
84
89
|
CustomBlockQueryDataSourceErrorCode,
|
|
85
90
|
CustomBlockQueryDataSourceErrorInfo,
|
package/src/types.ts
CHANGED
|
@@ -24,6 +24,11 @@ import type {
|
|
|
24
24
|
ListUsersResultMessage,
|
|
25
25
|
} from "@notionhq/custom-blocks-protocol/messages/listUsers.js"
|
|
26
26
|
import type { BridgeMessagePayload } from "@notionhq/custom-blocks-protocol/messages/messagePayload.js"
|
|
27
|
+
import type {
|
|
28
|
+
CustomBlockOpenPageErrorInfo,
|
|
29
|
+
OpenPageMode,
|
|
30
|
+
OpenPageResultMessage,
|
|
31
|
+
} from "@notionhq/custom-blocks-protocol/messages/openPage.js"
|
|
27
32
|
import type {
|
|
28
33
|
CustomBlockCheckboxFilterOperator,
|
|
29
34
|
CustomBlockContainsFilterOperator,
|
|
@@ -59,6 +64,7 @@ export type {
|
|
|
59
64
|
CustomBlockGetPageErrorInfo,
|
|
60
65
|
CustomBlockGetUserErrorInfo,
|
|
61
66
|
CustomBlockListUsersErrorInfo,
|
|
67
|
+
CustomBlockOpenPageErrorInfo,
|
|
62
68
|
CustomBlockQueryDataSourceErrorInfo,
|
|
63
69
|
CustomBlockUpdatePageErrorInfo,
|
|
64
70
|
}
|
|
@@ -262,6 +268,15 @@ export type GetPageResult = BridgeMessagePayload<
|
|
|
262
268
|
CustomBlockGetPageErrorInfo
|
|
263
269
|
>
|
|
264
270
|
|
|
271
|
+
export type OpenPageOptions = {
|
|
272
|
+
mode: OpenPageMode
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
export type OpenPageResult = BridgeMessagePayload<
|
|
276
|
+
OpenPageResultMessage,
|
|
277
|
+
CustomBlockOpenPageErrorInfo
|
|
278
|
+
>
|
|
279
|
+
|
|
265
280
|
/**
|
|
266
281
|
* Result of `sdk.pages.update`, `sdk.pages.archive`, and `sdk.pages.unarchive`.
|
|
267
282
|
*/
|