@notionhq/custom-blocks 0.0.77 → 0.0.78
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/HOST.md +60 -33
- package/bin/src/bridge/manifest.js +3 -3
- package/dist/bridge/SandboxBridge.d.ts +7 -12
- package/dist/bridge/SandboxBridge.d.ts.map +1 -1
- package/dist/bridge/SandboxBridge.js +109 -38
- package/dist/bridge/dataSources/resolve.d.ts +3 -4
- package/dist/bridge/dataSources/resolve.d.ts.map +1 -1
- package/dist/bridge/dataSources/resolve.js +2 -12
- package/dist/bridge/hostState.d.ts +2 -0
- package/dist/bridge/hostState.d.ts.map +1 -1
- package/dist/bridge/loadManifest.d.ts +4 -4
- package/dist/bridge/loadManifest.d.ts.map +1 -1
- package/dist/bridge/loadManifest.js +2 -2
- package/dist/bridge/manifest.d.ts +3 -3
- package/dist/bridge/manifest.js +3 -3
- package/dist/bridge/messages/{ready.d.ts → connect.d.ts} +13 -11
- package/dist/bridge/messages/connect.d.ts.map +1 -0
- package/dist/bridge/messages/{ready.js → connect.js} +14 -13
- package/dist/bridge/messages/hostToSandbox.d.ts +21 -0
- package/dist/bridge/messages/hostToSandbox.d.ts.map +1 -1
- package/dist/bridge/messages/init.d.ts +35 -6
- package/dist/bridge/messages/init.d.ts.map +1 -1
- package/dist/bridge/messages/init.js +8 -4
- package/dist/bridge/messages/initResult.d.ts +29 -0
- package/dist/bridge/messages/initResult.d.ts.map +1 -0
- package/dist/bridge/messages/initResult.js +25 -0
- package/dist/bridge/messages/sandboxToHost.d.ts +20 -5
- package/dist/bridge/messages/sandboxToHost.d.ts.map +1 -1
- package/dist/bridge/messages/sandboxToHost.js +4 -2
- package/dist/bridge/sandboxClient.d.ts +2 -4
- package/dist/bridge/sandboxClient.d.ts.map +1 -1
- package/dist/bridge/sandboxClient.js +2 -5
- package/dist/customBlock.d.ts +1 -1
- package/dist/customBlock.d.ts.map +1 -1
- package/dist/customBlock.js +1 -1
- package/dist/host/createCustomBlockHost.d.ts +6 -3
- package/dist/host/createCustomBlockHost.d.ts.map +1 -1
- package/dist/host/createCustomBlockHost.js +202 -38
- package/dist/host/lifecycle/initErrors.d.ts +1 -1
- package/dist/host/lifecycle/initErrors.d.ts.map +1 -1
- package/dist/host/lifecycle/initErrors.js +25 -7
- package/dist/host/lifecycle/types.d.ts +6 -4
- package/dist/host/lifecycle/types.d.ts.map +1 -1
- package/dist/host/messages/invalidSandboxMessage.js +0 -3
- package/dist/host.d.ts +5 -3
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +2 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/init.d.ts +7 -7
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +70 -50
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/standalonePreview.d.ts.map +1 -1
- package/dist/react/standalonePreview.js +2 -0
- package/dist/react/useCustomBlockInit.d.ts +5 -6
- package/dist/react/useCustomBlockInit.d.ts.map +1 -1
- package/dist/react/useCustomBlockInit.js +3 -19
- package/dist/react/useRuntimeState.d.ts +4 -3
- package/dist/react/useRuntimeState.d.ts.map +1 -1
- package/dist/react/useRuntimeState.js +3 -2
- package/dist/version.js +1 -1
- package/docs/data-sources.md +7 -5
- package/docs/errors.md +5 -1
- package/docs/lifecycle.md +19 -31
- package/docs/manifest.md +1 -1
- package/package.json +1 -1
- package/src/bridge/SandboxBridge.ts +137 -43
- package/src/bridge/dataSources/resolve.ts +3 -14
- package/src/bridge/hostState.ts +2 -0
- package/src/bridge/loadManifest.ts +6 -6
- package/src/bridge/manifest.ts +3 -3
- package/src/bridge/messages/{ready.ts → connect.ts} +15 -14
- package/src/bridge/messages/init.ts +24 -10
- package/src/bridge/messages/initResult.ts +37 -0
- package/src/bridge/messages/sandboxToHost.ts +4 -2
- package/src/bridge/sandboxClient.ts +3 -8
- package/src/customBlock.ts +2 -2
- package/src/host/createCustomBlockHost.ts +242 -42
- package/src/host/lifecycle/initErrors.ts +25 -7
- package/src/host/lifecycle/types.ts +13 -4
- package/src/host/messages/invalidSandboxMessage.ts +0 -3
- package/src/host.ts +13 -2
- package/src/index.ts +3 -1
- package/src/init.ts +73 -60
- package/src/react/index.ts +0 -1
- package/src/react/standalonePreview.ts +2 -0
- package/src/react/useCustomBlockInit.ts +6 -27
- package/src/react/useRuntimeState.ts +4 -3
- package/dist/bridge/messages/ready.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCustomBlockHost.d.ts","sourceRoot":"","sources":["../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/host/createCustomBlockHost.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"createCustomBlockHost.d.ts","sourceRoot":"","sources":["../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/host/createCustomBlockHost.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAc1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAM/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAazE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAIzD,OAAO,KAAK,EACX,qBAAqB,EACrB,iCAAiC,EACjC,2BAA2B,EAE3B,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EACX,uBAAuB,EACvB,2BAA2B,EAC3B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAA;AAE9E,MAAM,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,iBAAiB,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,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,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACpD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACnD,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,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;QACpB,YAAY,EAAE,kBAAkB,CAAA;QAChC,QAAQ,EAAE,oCAAoC,CAAA;KAC9C,KAAK,IAAI,CAAA;CACV,CAAA;AAMD,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,sBAAsB,GAC7B,qBAAqB,CA8evB"}
|
|
@@ -5,17 +5,27 @@ import { initErrorForFailureReason } from "./lifecycle/initErrors.js";
|
|
|
5
5
|
import { isValidBridgeProtocolVersion } from "./lifecycle/ready.js";
|
|
6
6
|
import { getInvalidSandboxMessageResponse } from "./messages/invalidSandboxMessage.js";
|
|
7
7
|
import { QuerySubscriptions } from "./queries/querySubscriptions.js";
|
|
8
|
-
const
|
|
8
|
+
const DEFAULT_NO_CONNECT_TIMEOUT_MS = 5000;
|
|
9
|
+
const DEFAULT_NO_INIT_RESULT_TIMEOUT_MS = 5000;
|
|
9
10
|
const DEFAULT_MIN_BRIDGE_PROTOCOL_VERSION = 2;
|
|
10
11
|
export function createCustomBlockHost(options) {
|
|
11
|
-
const { iframe, initialState, handlers,
|
|
12
|
+
const { iframe, initialState, handlers, onConnect, onInitResult, onLog, targetOrigin = "*", minBridgeProtocolVersion = DEFAULT_MIN_BRIDGE_PROTOCOL_VERSION, noConnectTimeoutMs = DEFAULT_NO_CONNECT_TIMEOUT_MS, noInitResultTimeoutMs = DEFAULT_NO_INIT_RESULT_TIMEOUT_MS, } = options;
|
|
12
13
|
let theme = initialState.theme;
|
|
13
14
|
let parent = initialState.parent;
|
|
14
15
|
let page = initialState.page;
|
|
15
16
|
let dataSources = initialState.dataSources;
|
|
17
|
+
let manifest = initialState.manifest;
|
|
16
18
|
let currentUser = initialState.currentUser;
|
|
17
|
-
let initStatus = "
|
|
18
|
-
let
|
|
19
|
+
let initStatus = "waitingForConnect";
|
|
20
|
+
let noConnectTimeoutId;
|
|
21
|
+
let noInitResultTimeoutId;
|
|
22
|
+
let activeInitializationId;
|
|
23
|
+
let connectedSandbox;
|
|
24
|
+
let pendingThemeChange = false;
|
|
25
|
+
let pendingParentChange = false;
|
|
26
|
+
let pendingPageChange = false;
|
|
27
|
+
let pendingDataSourcesChange;
|
|
28
|
+
let pendingCurrentUserChange = false;
|
|
19
29
|
const querySubscriptions = new QuerySubscriptions();
|
|
20
30
|
function emit(direction, payload) {
|
|
21
31
|
onLog?.(direction, payload);
|
|
@@ -41,52 +51,91 @@ export function createCustomBlockHost(options) {
|
|
|
41
51
|
};
|
|
42
52
|
post(message);
|
|
43
53
|
}
|
|
44
|
-
function
|
|
45
|
-
if (
|
|
46
|
-
window.clearTimeout(
|
|
47
|
-
|
|
54
|
+
function clearNoConnectTimeout() {
|
|
55
|
+
if (noConnectTimeoutId !== undefined) {
|
|
56
|
+
window.clearTimeout(noConnectTimeoutId);
|
|
57
|
+
noConnectTimeoutId = undefined;
|
|
48
58
|
}
|
|
49
59
|
}
|
|
50
|
-
function
|
|
51
|
-
|
|
60
|
+
function clearNoInitResultTimeout() {
|
|
61
|
+
if (noInitResultTimeoutId !== undefined) {
|
|
62
|
+
window.clearTimeout(noInitResultTimeoutId);
|
|
63
|
+
noInitResultTimeoutId = undefined;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function resolveDataSourcesPayload(connect) {
|
|
67
|
+
return typeof dataSources === "function"
|
|
68
|
+
? dataSources(connect)
|
|
69
|
+
: dataSources;
|
|
52
70
|
}
|
|
53
|
-
function sendInit(
|
|
54
|
-
if (initStatus !== "
|
|
71
|
+
function sendInit(connect) {
|
|
72
|
+
if (initStatus !== "waitingForConnect") {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
onConnect?.(connect);
|
|
76
|
+
manifest = connect.manifest ?? initialState.manifest;
|
|
77
|
+
const resolvedDataSources = resolveDataSourcesPayload(connect);
|
|
78
|
+
const bindingErrorCode = getBindingErrorCode(manifest, resolvedDataSources);
|
|
79
|
+
if (bindingErrorCode !== undefined) {
|
|
80
|
+
sendInitError(connect.initializationId, initErrorForFailureReason(bindingErrorCode));
|
|
55
81
|
return false;
|
|
56
82
|
}
|
|
57
|
-
initStatus = "
|
|
58
|
-
|
|
83
|
+
initStatus = "waitingForInitResult";
|
|
84
|
+
activeInitializationId = connect.initializationId;
|
|
85
|
+
clearNoConnectTimeout();
|
|
59
86
|
const message = {
|
|
60
87
|
type: "init",
|
|
88
|
+
initializationId: connect.initializationId,
|
|
61
89
|
status: "success",
|
|
62
90
|
theme,
|
|
63
91
|
blockId: initialState.blockId,
|
|
64
92
|
parent,
|
|
65
93
|
page,
|
|
66
|
-
|
|
94
|
+
manifest,
|
|
95
|
+
dataSources: resolvedDataSources,
|
|
67
96
|
currentUser,
|
|
68
97
|
};
|
|
69
98
|
post(message);
|
|
99
|
+
noInitResultTimeoutId = window.setTimeout(() => {
|
|
100
|
+
if (initStatus !== "waitingForInitResult") {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
initStatus = "error";
|
|
104
|
+
emit("warn", {
|
|
105
|
+
message: "Sandbox did not send initResult",
|
|
106
|
+
initializationId: connect.initializationId,
|
|
107
|
+
});
|
|
108
|
+
}, noInitResultTimeoutMs);
|
|
70
109
|
return true;
|
|
71
110
|
}
|
|
72
|
-
function sendInitError(error) {
|
|
73
|
-
if (initStatus !== "
|
|
111
|
+
function sendInitError(initializationId, error) {
|
|
112
|
+
if (initStatus !== "waitingForConnect") {
|
|
74
113
|
return;
|
|
75
114
|
}
|
|
76
115
|
initStatus = "error";
|
|
77
|
-
|
|
116
|
+
activeInitializationId = initializationId;
|
|
117
|
+
clearNoConnectTimeout();
|
|
78
118
|
post({
|
|
79
119
|
type: "init",
|
|
120
|
+
initializationId,
|
|
80
121
|
status: "error",
|
|
81
122
|
error,
|
|
82
123
|
});
|
|
83
124
|
}
|
|
84
125
|
function onIframeLoad() {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
126
|
+
clearNoConnectTimeout();
|
|
127
|
+
if (initStatus !== "waitingForConnect") {
|
|
128
|
+
// Only set the timeout if the iframe loaded before the `connect` message was sent.
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
noConnectTimeoutId = window.setTimeout(() => {
|
|
132
|
+
if (initStatus !== "waitingForConnect") {
|
|
133
|
+
// Only do anything if the iframe loaded before the `connect` message was sent.
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
initStatus = "error";
|
|
137
|
+
emit("warn", initErrorForFailureReason("no_connect"));
|
|
138
|
+
}, noConnectTimeoutMs);
|
|
90
139
|
}
|
|
91
140
|
async function handleQuery(message) {
|
|
92
141
|
const token = querySubscriptions.track(message);
|
|
@@ -159,13 +208,13 @@ export function createCustomBlockHost(options) {
|
|
|
159
208
|
};
|
|
160
209
|
post(result);
|
|
161
210
|
}
|
|
162
|
-
function
|
|
211
|
+
function handleConnect(message) {
|
|
163
212
|
// Verify the bridge protocol version is valid.
|
|
164
213
|
if (!isValidBridgeProtocolVersion(message.bridgeProtocolVersion)) {
|
|
165
214
|
const initError = initErrorForFailureReason("invalid_protocol_version", {
|
|
166
215
|
currentBridgeProtocolVersion: message.bridgeProtocolVersion,
|
|
167
216
|
});
|
|
168
|
-
sendInitError(initError);
|
|
217
|
+
sendInitError(message.initializationId, initError);
|
|
169
218
|
return;
|
|
170
219
|
}
|
|
171
220
|
if (message.bridgeProtocolVersion < minBridgeProtocolVersion) {
|
|
@@ -173,17 +222,62 @@ export function createCustomBlockHost(options) {
|
|
|
173
222
|
currentBridgeProtocolVersion: message.bridgeProtocolVersion,
|
|
174
223
|
minBridgeProtocolVersion,
|
|
175
224
|
});
|
|
176
|
-
sendInitError(initError);
|
|
225
|
+
sendInitError(message.initializationId, initError);
|
|
177
226
|
return;
|
|
178
227
|
}
|
|
179
|
-
// If the sandbox reported an error during `
|
|
228
|
+
// If the sandbox reported an error during `connect`, return it as an `init` error.
|
|
180
229
|
if (message.status === "error") {
|
|
181
|
-
sendInitError(message.error);
|
|
230
|
+
sendInitError(message.initializationId, message.error);
|
|
182
231
|
return;
|
|
183
232
|
}
|
|
184
|
-
if (sendInit(message)) {
|
|
185
|
-
|
|
233
|
+
if (!sendInit(message)) {
|
|
234
|
+
return;
|
|
186
235
|
}
|
|
236
|
+
connectedSandbox = message;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Sends any pending host state changes to the sandbox. It is possible for these to change
|
|
240
|
+
* between when the host sends `init` and when the sandbox responds with `initResult`. The host
|
|
241
|
+
* does send any pending state changes until hearing back from the sandbox.
|
|
242
|
+
*/
|
|
243
|
+
function flushPendingHostStateChanges() {
|
|
244
|
+
if (pendingThemeChange) {
|
|
245
|
+
pendingThemeChange = false;
|
|
246
|
+
post({ type: "themeChanged", theme });
|
|
247
|
+
}
|
|
248
|
+
if (pendingParentChange) {
|
|
249
|
+
pendingParentChange = false;
|
|
250
|
+
post({ type: "parentChanged", parent });
|
|
251
|
+
}
|
|
252
|
+
if (pendingPageChange) {
|
|
253
|
+
pendingPageChange = false;
|
|
254
|
+
post({ type: "pageChanged", page });
|
|
255
|
+
}
|
|
256
|
+
if (pendingDataSourcesChange !== undefined) {
|
|
257
|
+
const nextDataSources = pendingDataSourcesChange;
|
|
258
|
+
pendingDataSourcesChange = undefined;
|
|
259
|
+
post({ type: "dataSourcesChanged", dataSources: nextDataSources });
|
|
260
|
+
}
|
|
261
|
+
if (pendingCurrentUserChange) {
|
|
262
|
+
pendingCurrentUserChange = false;
|
|
263
|
+
post({ type: "currentUserChanged", currentUser });
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
function handleInitResult(message) {
|
|
267
|
+
if (initStatus !== "waitingForInitResult" ||
|
|
268
|
+
message.initializationId !== activeInitializationId) {
|
|
269
|
+
emit("warn", {
|
|
270
|
+
message: "Ignored stale or unexpected initResult",
|
|
271
|
+
payload: message,
|
|
272
|
+
});
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
clearNoInitResultTimeout();
|
|
276
|
+
initStatus = message.status === "success" ? "success" : "error";
|
|
277
|
+
if (initStatus === "success") {
|
|
278
|
+
flushPendingHostStateChanges();
|
|
279
|
+
}
|
|
280
|
+
onInitResult?.(message);
|
|
187
281
|
}
|
|
188
282
|
function onInvalidSandboxMessage(data, issues) {
|
|
189
283
|
emit("warn", {
|
|
@@ -192,11 +286,7 @@ export function createCustomBlockHost(options) {
|
|
|
192
286
|
issues,
|
|
193
287
|
});
|
|
194
288
|
const response = getInvalidSandboxMessageResponse(data);
|
|
195
|
-
if (
|
|
196
|
-
const initError = initErrorForFailureReason("invalid_ready");
|
|
197
|
-
sendInitError(initError);
|
|
198
|
-
}
|
|
199
|
-
else if (response.nack !== undefined) {
|
|
289
|
+
if (response.nack !== undefined) {
|
|
200
290
|
post(response.nack);
|
|
201
291
|
}
|
|
202
292
|
}
|
|
@@ -211,9 +301,21 @@ export function createCustomBlockHost(options) {
|
|
|
211
301
|
}
|
|
212
302
|
const message = parsed.output;
|
|
213
303
|
emit("in", message);
|
|
304
|
+
if (message.type !== "connect" &&
|
|
305
|
+
message.type !== "initResult" &&
|
|
306
|
+
initStatus !== "success") {
|
|
307
|
+
emit("warn", {
|
|
308
|
+
message: `Ignored ${message.type} before initialization completed`,
|
|
309
|
+
payload: message,
|
|
310
|
+
});
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
214
313
|
switch (message.type) {
|
|
215
|
-
case "
|
|
216
|
-
|
|
314
|
+
case "connect":
|
|
315
|
+
handleConnect(message);
|
|
316
|
+
return;
|
|
317
|
+
case "initResult":
|
|
318
|
+
handleInitResult(message);
|
|
217
319
|
return;
|
|
218
320
|
case "queryDataSource":
|
|
219
321
|
void handleQuery(message);
|
|
@@ -248,27 +350,60 @@ export function createCustomBlockHost(options) {
|
|
|
248
350
|
stop() {
|
|
249
351
|
window.removeEventListener("message", onMessage);
|
|
250
352
|
iframe.removeEventListener("load", onIframeLoad);
|
|
251
|
-
|
|
353
|
+
clearNoConnectTimeout();
|
|
354
|
+
clearNoInitResultTimeout();
|
|
252
355
|
querySubscriptions.clear();
|
|
253
356
|
},
|
|
254
357
|
post,
|
|
255
358
|
setTheme(nextTheme) {
|
|
256
359
|
theme = nextTheme;
|
|
360
|
+
if (initStatus !== "success") {
|
|
361
|
+
if (initStatus === "waitingForInitResult") {
|
|
362
|
+
pendingThemeChange = true;
|
|
363
|
+
}
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
257
366
|
const message = { type: "themeChanged", theme };
|
|
258
367
|
post(message);
|
|
259
368
|
},
|
|
260
369
|
setParent(nextParent) {
|
|
261
370
|
parent = nextParent;
|
|
371
|
+
if (initStatus !== "success") {
|
|
372
|
+
if (initStatus === "waitingForInitResult") {
|
|
373
|
+
pendingParentChange = true;
|
|
374
|
+
}
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
262
377
|
const message = { type: "parentChanged", parent };
|
|
263
378
|
post(message);
|
|
264
379
|
},
|
|
265
380
|
setPage(nextPage) {
|
|
266
381
|
page = nextPage;
|
|
382
|
+
if (initStatus !== "success") {
|
|
383
|
+
if (initStatus === "waitingForInitResult") {
|
|
384
|
+
pendingPageChange = true;
|
|
385
|
+
}
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
267
388
|
const message = { type: "pageChanged", page };
|
|
268
389
|
post(message);
|
|
269
390
|
},
|
|
270
391
|
setDataSources(nextDataSources) {
|
|
392
|
+
if (connectedSandbox !== undefined &&
|
|
393
|
+
getBindingErrorCode(manifest, nextDataSources) !== undefined) {
|
|
394
|
+
emit("warn", {
|
|
395
|
+
message: "Ignored invalid data source bindings update",
|
|
396
|
+
payload: nextDataSources,
|
|
397
|
+
});
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
271
400
|
dataSources = nextDataSources;
|
|
401
|
+
if (initStatus !== "success") {
|
|
402
|
+
if (initStatus === "waitingForInitResult") {
|
|
403
|
+
pendingDataSourcesChange = nextDataSources;
|
|
404
|
+
}
|
|
405
|
+
return;
|
|
406
|
+
}
|
|
272
407
|
const message = {
|
|
273
408
|
type: "dataSourcesChanged",
|
|
274
409
|
dataSources: nextDataSources,
|
|
@@ -277,9 +412,18 @@ export function createCustomBlockHost(options) {
|
|
|
277
412
|
},
|
|
278
413
|
setCurrentUser(nextCurrentUser) {
|
|
279
414
|
currentUser = nextCurrentUser;
|
|
415
|
+
if (initStatus !== "success") {
|
|
416
|
+
if (initStatus === "waitingForInitResult") {
|
|
417
|
+
pendingCurrentUserChange = true;
|
|
418
|
+
}
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
280
421
|
post({ type: "currentUserChanged", currentUser });
|
|
281
422
|
},
|
|
282
423
|
refreshQuery({ dataSourceId, response }) {
|
|
424
|
+
if (initStatus !== "success") {
|
|
425
|
+
return;
|
|
426
|
+
}
|
|
283
427
|
const refreshes = querySubscriptions.resolveRefreshes({
|
|
284
428
|
dataSourceId,
|
|
285
429
|
response,
|
|
@@ -294,3 +438,23 @@ export function createCustomBlockHost(options) {
|
|
|
294
438
|
},
|
|
295
439
|
};
|
|
296
440
|
}
|
|
441
|
+
function getBindingErrorCode(manifest, dataSources) {
|
|
442
|
+
for (const [dataSourceKey, manifestDataSource] of Object.entries(manifest.dataSources)) {
|
|
443
|
+
const binding = dataSources.bindings[dataSourceKey];
|
|
444
|
+
if (binding?.collectionPointer === undefined ||
|
|
445
|
+
binding.collectionSchema === undefined) {
|
|
446
|
+
return "missing_data_source_binding";
|
|
447
|
+
}
|
|
448
|
+
for (const [propertyKey, manifestProperty] of Object.entries(manifestDataSource.properties ?? {})) {
|
|
449
|
+
const propertyId = binding.propertyIdsByKey?.[propertyKey];
|
|
450
|
+
if (propertyId === undefined) {
|
|
451
|
+
return "missing_property_binding";
|
|
452
|
+
}
|
|
453
|
+
if (binding.collectionSchema.propertiesById[propertyId]?.type !==
|
|
454
|
+
manifestProperty.type) {
|
|
455
|
+
return "invalid_property_binding";
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
return undefined;
|
|
460
|
+
}
|
|
@@ -3,7 +3,7 @@ import type { CustomBlockInitErrorCode, CustomBlockInitErrorInfo } from "../../b
|
|
|
3
3
|
* Returns the error info for a given `init` failure code.
|
|
4
4
|
*
|
|
5
5
|
* `init` handshakes are one-shot: after an `init` error, this host instance will not answer another
|
|
6
|
-
* `
|
|
6
|
+
* `connect` message. `isRetryable` means a fresh iframe / `init` attempt could plausibly succeed
|
|
7
7
|
* without changing block code or host configuration.
|
|
8
8
|
*/
|
|
9
9
|
export declare function initErrorForFailureReason(reason: CustomBlockInitErrorCode, data?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initErrors.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/host/lifecycle/initErrors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,wBAAwB,EACxB,wBAAwB,EACxB,MAAM,+BAA+B,CAAA;AAKtC;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,wBAAwB,EAChC,IAAI,GAAE;IACL,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,4BAA4B,CAAC,EAAE,MAAM,CAAA;CAChC,GACJ,wBAAwB,
|
|
1
|
+
{"version":3,"file":"initErrors.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/host/lifecycle/initErrors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,wBAAwB,EACxB,wBAAwB,EACxB,MAAM,+BAA+B,CAAA;AAKtC;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,wBAAwB,EAChC,IAAI,GAAE;IACL,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,4BAA4B,CAAC,EAAE,MAAM,CAAA;CAChC,GACJ,wBAAwB,CA+I1B"}
|
|
@@ -3,28 +3,28 @@ const UNKNOWN_ERROR_MESSAGE = "Unexpected error while initializing custom block.
|
|
|
3
3
|
* Returns the error info for a given `init` failure code.
|
|
4
4
|
*
|
|
5
5
|
* `init` handshakes are one-shot: after an `init` error, this host instance will not answer another
|
|
6
|
-
* `
|
|
6
|
+
* `connect` message. `isRetryable` means a fresh iframe / `init` attempt could plausibly succeed
|
|
7
7
|
* without changing block code or host configuration.
|
|
8
8
|
*/
|
|
9
9
|
export function initErrorForFailureReason(reason, data = {}) {
|
|
10
10
|
switch (reason) {
|
|
11
|
-
case "
|
|
11
|
+
case "no_connect":
|
|
12
12
|
return {
|
|
13
13
|
code: reason,
|
|
14
|
-
message: "Sandbox did not send a
|
|
14
|
+
message: "Sandbox did not send a connect message.",
|
|
15
15
|
isRetryable: true,
|
|
16
16
|
};
|
|
17
|
-
case "
|
|
17
|
+
case "invalid_connect":
|
|
18
18
|
return {
|
|
19
19
|
code: reason,
|
|
20
|
-
message: "Sandbox sent an invalid
|
|
21
|
-
// The sandbox must be updated to send a valid
|
|
20
|
+
message: "Sandbox sent an invalid connect message.",
|
|
21
|
+
// The sandbox must be updated to send a valid connect message.
|
|
22
22
|
isRetryable: false,
|
|
23
23
|
};
|
|
24
24
|
case "manifest_unavailable":
|
|
25
25
|
return {
|
|
26
26
|
code: reason,
|
|
27
|
-
message: "
|
|
27
|
+
message: "The custom block manifest is unavailable.",
|
|
28
28
|
isRetryable: true,
|
|
29
29
|
};
|
|
30
30
|
case "manifest_invalid":
|
|
@@ -102,6 +102,24 @@ export function initErrorForFailureReason(reason, data = {}) {
|
|
|
102
102
|
// a property with a compatible schema.
|
|
103
103
|
isRetryable: false,
|
|
104
104
|
};
|
|
105
|
+
case "no_init_result":
|
|
106
|
+
return {
|
|
107
|
+
code: reason,
|
|
108
|
+
message: "Sandbox did not acknowledge initialization.",
|
|
109
|
+
isRetryable: true,
|
|
110
|
+
};
|
|
111
|
+
case "invalid_init_result":
|
|
112
|
+
return {
|
|
113
|
+
code: reason,
|
|
114
|
+
message: "Sandbox sent an invalid initialization result.",
|
|
115
|
+
isRetryable: false,
|
|
116
|
+
};
|
|
117
|
+
case "invalid_init_bindings":
|
|
118
|
+
return {
|
|
119
|
+
code: reason,
|
|
120
|
+
message: "Sandbox rejected the host-provided data source bindings.",
|
|
121
|
+
isRetryable: false,
|
|
122
|
+
};
|
|
105
123
|
case "not_in_iframe":
|
|
106
124
|
return {
|
|
107
125
|
code: reason,
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import type { NotionDataSourceBindings } from "../../bridge/dataSources/dataSource.js";
|
|
2
2
|
import type { NotionBlockId } from "../../bridge/ids.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { CustomBlockManifest } from "../../bridge/manifest.js";
|
|
4
|
+
import type { ConnectMessage } from "../../bridge/messages/connect.js";
|
|
4
5
|
import type { CustomBlockPage } from "../../bridge/pages/page.js";
|
|
5
6
|
import type { NotionParent } from "../../bridge/parent.js";
|
|
6
7
|
import type { NotionTheme } from "../../bridge/theme.js";
|
|
7
8
|
import type { NotionUser } from "../../bridge/users/user.js";
|
|
8
|
-
export type
|
|
9
|
+
export type ConnectSuccessMessage = Extract<ConnectMessage, {
|
|
9
10
|
status: "success";
|
|
10
11
|
}>;
|
|
11
|
-
export type InitStatus = "
|
|
12
|
+
export type InitStatus = "waitingForConnect" | "waitingForInitResult" | "success" | "error";
|
|
12
13
|
export type CustomBlockHostDataSourcesPayload = {
|
|
13
14
|
bindings: NotionDataSourceBindings;
|
|
14
15
|
};
|
|
15
|
-
export type CustomBlockHostInitialDataSources = CustomBlockHostDataSourcesPayload | ((
|
|
16
|
+
export type CustomBlockHostInitialDataSources = CustomBlockHostDataSourcesPayload | ((connect: ConnectSuccessMessage) => CustomBlockHostDataSourcesPayload);
|
|
16
17
|
export type CustomBlockHostInitialState = {
|
|
17
18
|
theme: NotionTheme;
|
|
18
19
|
blockId: NotionBlockId;
|
|
19
20
|
parent: NotionParent;
|
|
20
21
|
page: CustomBlockPage;
|
|
22
|
+
manifest: CustomBlockManifest;
|
|
21
23
|
dataSources: CustomBlockHostInitialDataSources;
|
|
22
24
|
currentUser: NotionUser;
|
|
23
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/host/lifecycle/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/host/lifecycle/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAE5D,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAC1C,cAAc,EACd;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CACrB,CAAA;AAED,MAAM,MAAM,UAAU,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,SAAS,GACT,OAAO,CAAA;AAEV,MAAM,MAAM,iCAAiC,GAAG;IAC/C,QAAQ,EAAE,wBAAwB,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,iCAAiC,GAC1C,iCAAiC,GACjC,CAAC,CAAC,OAAO,EAAE,qBAAqB,KAAK,iCAAiC,CAAC,CAAA;AAE1E,MAAM,MAAM,2BAA2B,GAAG;IACzC,KAAK,EAAE,WAAW,CAAA;IAClB,OAAO,EAAE,aAAa,CAAA;IACtB,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,eAAe,CAAA;IACrB,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,WAAW,EAAE,iCAAiC,CAAA;IAC9C,WAAW,EAAE,UAAU,CAAA;CACvB,CAAA"}
|
|
@@ -14,9 +14,6 @@ export function getInvalidSandboxMessageResponse(data) {
|
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
function nackReasonForInvalidSandboxMessage(incomingType) {
|
|
17
|
-
if (incomingType === "ready") {
|
|
18
|
-
return "Invalid manifest";
|
|
19
|
-
}
|
|
20
17
|
if (incomingType !== undefined) {
|
|
21
18
|
return `Unsupported sandbox message of type "${incomingType}"`;
|
|
22
19
|
}
|
package/dist/host.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export type { CustomBlockErrorInfo } from "./bridge/errors.js";
|
|
|
21
21
|
export { customBlockErrorInfoSchema } from "./bridge/errors.js";
|
|
22
22
|
export { notionBlockIdSchema, notionDataSourceIdSchema, notionPageIdSchema, } from "./bridge/ids.js";
|
|
23
23
|
export { readIncomingType } from "./bridge/incomingType.js";
|
|
24
|
+
export type { ConnectMessage } from "./bridge/messages/connect.js";
|
|
25
|
+
export { connectMessageSchema } from "./bridge/messages/connect.js";
|
|
24
26
|
export type { CreatePageMessage } from "./bridge/messages/createPage.js";
|
|
25
27
|
export { createPageMessageSchema } from "./bridge/messages/createPage.js";
|
|
26
28
|
export type { CreatePageResultMessage, CustomBlockCreatePageErrorCode, CustomBlockCreatePageErrorInfo, } from "./bridge/messages/createPageResult.js";
|
|
@@ -37,6 +39,8 @@ export type { HostToSandboxMessage } from "./bridge/messages/hostToSandbox.js";
|
|
|
37
39
|
export { hostToSandboxMessageSchema } from "./bridge/messages/hostToSandbox.js";
|
|
38
40
|
export type { CustomBlockInitErrorCode, CustomBlockInitErrorInfo, InitMessage, } from "./bridge/messages/init.js";
|
|
39
41
|
export { customBlockInitErrorCodeSchema, customBlockInitErrorInfoSchema, initMessageSchema, } from "./bridge/messages/init.js";
|
|
42
|
+
export type { CustomBlockInitResultErrorCode, CustomBlockInitResultErrorInfo, InitResultMessage, } from "./bridge/messages/initResult.js";
|
|
43
|
+
export { customBlockInitResultErrorCodeSchema, customBlockInitResultErrorInfoSchema, initResultMessageSchema, } from "./bridge/messages/initResult.js";
|
|
40
44
|
export type { InvalidHostMessage } from "./bridge/messages/invalidHostMessage.js";
|
|
41
45
|
export { invalidHostMessageSchema } from "./bridge/messages/invalidHostMessage.js";
|
|
42
46
|
export type { InvalidSandboxMessage } from "./bridge/messages/invalidSandboxMessage.js";
|
|
@@ -51,8 +55,6 @@ export type { QueryDataSourceMessage } from "./bridge/messages/queryDataSource.j
|
|
|
51
55
|
export { queryDataSourceMessageSchema } from "./bridge/messages/queryDataSource.js";
|
|
52
56
|
export type { CustomBlockQueryDataSourceErrorCode, CustomBlockQueryDataSourceErrorInfo, QueryDataSourceResultMessage, } from "./bridge/messages/queryDataSourceResult.js";
|
|
53
57
|
export { customBlockQueryDataSourceErrorCodeSchema, customBlockQueryDataSourceErrorInfoSchema, queryDataSourceResultMessageSchema, } from "./bridge/messages/queryDataSourceResult.js";
|
|
54
|
-
export type { ReadyMessage } from "./bridge/messages/ready.js";
|
|
55
|
-
export { readyMessageSchema } from "./bridge/messages/ready.js";
|
|
56
58
|
export type { ResizeMessage } from "./bridge/messages/resize.js";
|
|
57
59
|
export { resizeMessageSchema } from "./bridge/messages/resize.js";
|
|
58
60
|
export type { SandboxToHostMessage } from "./bridge/messages/sandboxToHost.js";
|
|
@@ -67,7 +69,7 @@ export type { CustomBlockPage } from "./bridge/pages/page.js";
|
|
|
67
69
|
export { customBlockPageSchema } from "./bridge/pages/page.js";
|
|
68
70
|
export { notionParentSchema } from "./bridge/parent.js";
|
|
69
71
|
export { type CustomBlockHostHandle, type CustomBlockHostOptions, createCustomBlockHost, } from "./host/createCustomBlockHost.js";
|
|
70
|
-
export type { CustomBlockHostDataSourcesPayload, CustomBlockHostInitialDataSources, CustomBlockHostInitialState, } from "./host/lifecycle/types.js";
|
|
72
|
+
export type { ConnectSuccessMessage, CustomBlockHostDataSourcesPayload, CustomBlockHostInitialDataSources, CustomBlockHostInitialState, } from "./host/lifecycle/types.js";
|
|
71
73
|
export type { CustomBlockHostCreatePageResult, CustomBlockHostGetPageResult, CustomBlockHostGetUserResult, CustomBlockHostHandlers, CustomBlockHostListUsersResult, CustomBlockHostLogDirection, CustomBlockHostUpdatePageResult, } from "./host/messages/types.js";
|
|
72
74
|
export type { CustomBlockHostQueryDataSourceResult } from "./host/queries/types.js";
|
|
73
75
|
//# sourceMappingURL=host.d.ts.map
|
package/dist/host.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/host.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/host.ts"],"names":[],"mappings":"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"}
|
package/dist/host.js
CHANGED
|
@@ -16,6 +16,7 @@ export { customBlockPropertyErrorCodeSchema } from "./bridge/dataSources/resolve
|
|
|
16
16
|
export { customBlockErrorInfoSchema } from "./bridge/errors.js";
|
|
17
17
|
export { notionBlockIdSchema, notionDataSourceIdSchema, notionPageIdSchema, } from "./bridge/ids.js";
|
|
18
18
|
export { readIncomingType } from "./bridge/incomingType.js";
|
|
19
|
+
export { connectMessageSchema } from "./bridge/messages/connect.js";
|
|
19
20
|
export { createPageMessageSchema } from "./bridge/messages/createPage.js";
|
|
20
21
|
export { createPageResultMessageSchema, customBlockCreatePageErrorCodeSchema, customBlockCreatePageErrorInfoSchema, } from "./bridge/messages/createPageResult.js";
|
|
21
22
|
export { currentUserChangedMessageSchema } from "./bridge/messages/currentUserChanged.js";
|
|
@@ -24,6 +25,7 @@ export { customBlockGetPageErrorCodeSchema, customBlockGetPageErrorInfoSchema, g
|
|
|
24
25
|
export { customBlockGetUserErrorCodeSchema, customBlockGetUserErrorInfoSchema, getUserMessageSchema, getUserResultMessageSchema, } from "./bridge/messages/getUser.js";
|
|
25
26
|
export { hostToSandboxMessageSchema } from "./bridge/messages/hostToSandbox.js";
|
|
26
27
|
export { customBlockInitErrorCodeSchema, customBlockInitErrorInfoSchema, initMessageSchema, } from "./bridge/messages/init.js";
|
|
28
|
+
export { customBlockInitResultErrorCodeSchema, customBlockInitResultErrorInfoSchema, initResultMessageSchema, } from "./bridge/messages/initResult.js";
|
|
27
29
|
export { invalidHostMessageSchema } from "./bridge/messages/invalidHostMessage.js";
|
|
28
30
|
export { invalidSandboxMessageSchema } from "./bridge/messages/invalidSandboxMessage.js";
|
|
29
31
|
export { customBlockListUsersErrorCodeSchema, customBlockListUsersErrorInfoSchema, listUsersMessageSchema, listUsersResultMessageSchema, } from "./bridge/messages/listUsers.js";
|
|
@@ -31,7 +33,6 @@ export { pageChangedMessageSchema } from "./bridge/messages/pageChanged.js";
|
|
|
31
33
|
export { parentChangedMessageSchema } from "./bridge/messages/parentChanged.js";
|
|
32
34
|
export { queryDataSourceMessageSchema } from "./bridge/messages/queryDataSource.js";
|
|
33
35
|
export { customBlockQueryDataSourceErrorCodeSchema, customBlockQueryDataSourceErrorInfoSchema, queryDataSourceResultMessageSchema, } from "./bridge/messages/queryDataSourceResult.js";
|
|
34
|
-
export { readyMessageSchema } from "./bridge/messages/ready.js";
|
|
35
36
|
export { resizeMessageSchema } from "./bridge/messages/resize.js";
|
|
36
37
|
export { sandboxToHostMessageSchema } from "./bridge/messages/sandboxToHost.js";
|
|
37
38
|
export { themeChangedMessageSchema } from "./bridge/messages/themeChanged.js";
|
package/dist/index.d.ts
CHANGED
|
@@ -22,8 +22,8 @@ export type { NotionCreatePagePosition } from "./bridge/messages/createPage.js";
|
|
|
22
22
|
export type { CustomBlockCreatePageErrorCode, CustomBlockCreatePageErrorInfo, } from "./bridge/messages/createPageResult.js";
|
|
23
23
|
export type { CustomBlockGetPageErrorCode, CustomBlockGetPageErrorInfo, } from "./bridge/messages/getPage.js";
|
|
24
24
|
export type { CustomBlockGetUserErrorCode, CustomBlockGetUserErrorInfo, } from "./bridge/messages/getUser.js";
|
|
25
|
-
export type { CustomBlockInitErrorCode, CustomBlockInitErrorInfo, } from "./bridge/messages/init.js";
|
|
26
|
-
export {
|
|
25
|
+
export type { CustomBlockInitErrorCode, CustomBlockInitErrorInfo, CustomBlockInitializationErrorCode, CustomBlockInitializationErrorInfo, } from "./bridge/messages/init.js";
|
|
26
|
+
export { CustomBlockInitializationError } from "./bridge/messages/init.js";
|
|
27
27
|
export type { CustomBlockListUsersErrorCode, CustomBlockListUsersErrorInfo, } from "./bridge/messages/listUsers.js";
|
|
28
28
|
export type { CustomBlockQueryDataSourceErrorCode, CustomBlockQueryDataSourceErrorInfo, } from "./bridge/messages/queryDataSourceResult.js";
|
|
29
29
|
export type { CustomBlockUpdatePageErrorCode, CustomBlockUpdatePageErrorInfo, } from "./bridge/messages/updatePageResult.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EACX,sBAAsB,EACtB,gBAAgB,GAChB,MAAM,oCAAoC,CAAA;AAC3C,YAAY,EACX,oBAAoB,EACpB,+BAA+B,EAC/B,gCAAgC,GAChC,MAAM,wCAAwC,CAAA;AAC/C,YAAY,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AACpF,YAAY,EACX,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,mCAAmC,CAAA;AAC1C,YAAY,EACX,wCAAwC,EACxC,wCAAwC,GACxC,MAAM,gCAAgC,CAAA;AACvC,YAAY,EACX,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACN,2BAA2B,EAC3B,qBAAqB,GACrB,MAAM,wCAAwC,CAAA;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAChF,YAAY,EACX,4BAA4B,EAC5B,4BAA4B,GAC5B,MAAM,yCAAyC,CAAA;AAChD,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,YAAY,EACX,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,aAAa,GACb,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACX,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GAChB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC/E,YAAY,EACX,8BAA8B,EAC9B,8BAA8B,GAC9B,MAAM,uCAAuC,CAAA;AAC9C,YAAY,EACX,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACX,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACX,wBAAwB,EACxB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EACX,sBAAsB,EACtB,gBAAgB,GAChB,MAAM,oCAAoC,CAAA;AAC3C,YAAY,EACX,oBAAoB,EACpB,+BAA+B,EAC/B,gCAAgC,GAChC,MAAM,wCAAwC,CAAA;AAC/C,YAAY,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AACpF,YAAY,EACX,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,mCAAmC,CAAA;AAC1C,YAAY,EACX,wCAAwC,EACxC,wCAAwC,GACxC,MAAM,gCAAgC,CAAA;AACvC,YAAY,EACX,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACN,2BAA2B,EAC3B,qBAAqB,GACrB,MAAM,wCAAwC,CAAA;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAChF,YAAY,EACX,4BAA4B,EAC5B,4BAA4B,GAC5B,MAAM,yCAAyC,CAAA;AAChD,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,YAAY,EACX,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,aAAa,GACb,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACX,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GAChB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC/E,YAAY,EACX,8BAA8B,EAC9B,8BAA8B,GAC9B,MAAM,uCAAuC,CAAA;AAC9C,YAAY,EACX,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACX,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACX,wBAAwB,EACxB,wBAAwB,EACxB,kCAAkC,EAClC,kCAAkC,GAClC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAC1E,YAAY,EACX,6BAA6B,EAC7B,6BAA6B,GAC7B,MAAM,gCAAgC,CAAA;AACvC,YAAY,EACX,mCAAmC,EACnC,mCAAmC,GACnC,MAAM,4CAA4C,CAAA;AACnD,YAAY,EACX,8BAA8B,EAC9B,8BAA8B,GAC9B,MAAM,uCAAuC,CAAA;AAC9C,YAAY,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,0BAA0B,EAC1B,4BAA4B,EAC5B,uBAAuB,EACvB,0BAA0B,GAC1B,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACxD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EACN,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,eAAe,EACf,gBAAgB,GAChB,MAAM,WAAW,CAAA;AAClB,cAAc,YAAY,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* should import hooks and components from `@notionhq/custom-blocks/react`.
|
|
8
8
|
*/
|
|
9
9
|
export { NOTION_BUILTIN_PROPERTY_IDS, NOTION_PROPERTY_TYPES, } from "./bridge/dataSources/propertySchema.js";
|
|
10
|
-
export {
|
|
10
|
+
export { CustomBlockInitializationError } from "./bridge/messages/init.js";
|
|
11
11
|
export { pages, users } from "./bridge/sandboxClient.js";
|
|
12
12
|
export { customBlock } from "./customBlock.js";
|
|
13
13
|
export { initCustomBlock, NotInIframeError, } from "./init.js";
|