@notionhq/custom-blocks 0.1.34 → 0.1.35
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/dist/bridge/SandboxBridge.d.ts.map +1 -1
- package/dist/bridge/SandboxBridge.js +1 -0
- package/dist/bridge/dataSources/query.d.ts +2 -1
- package/dist/bridge/dataSources/query.d.ts.map +1 -1
- package/dist/bridge/dataSources/query.js +296 -161
- package/dist/protocol/dataSources/propertySchema.d.ts +7 -0
- package/dist/protocol/dataSources/propertySchema.d.ts.map +1 -1
- package/dist/protocol/dataSources/propertySchema.js +17 -0
- package/dist/protocol/messages/queryDataSource.d.ts +15 -0
- package/dist/protocol/messages/queryDataSource.d.ts.map +1 -1
- package/dist/protocol/messages/queryDataSource.js +8 -0
- package/dist/protocol/messages/queryDataSourceResult.d.ts +1 -1
- package/dist/protocol/messages/queryDataSourceResult.d.ts.map +1 -1
- package/dist/protocol/messages/sandboxToHost.d.ts +4 -0
- package/dist/protocol/messages/sandboxToHost.d.ts.map +1 -1
- package/dist/react/useDataSource.d.ts +1 -1
- package/dist/react/useDataSource.js +1 -1
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/docs/data-sources.md +13 -1
- package/package.json +1 -1
- package/src/bridge/SandboxBridge.ts +1 -0
- package/src/bridge/dataSources/query.ts +394 -170
- package/src/react/useDataSource.ts +1 -1
- package/src/types.ts +8 -0
|
@@ -84,6 +84,23 @@ export const NOTION_PROPERTY_TYPES = [
|
|
|
84
84
|
"last_edited_by",
|
|
85
85
|
];
|
|
86
86
|
export const notionPropertyTypeSchema = v.picklist(NOTION_PROPERTY_TYPES);
|
|
87
|
+
/**
|
|
88
|
+
* Property types currently supported by the custom-block data source sort API.
|
|
89
|
+
* Keep this list narrower than {@link NOTION_PROPERTY_TYPES} when a property
|
|
90
|
+
* type is exposed but its sort value is not yet represented by every host.
|
|
91
|
+
*/
|
|
92
|
+
export const CUSTOM_BLOCK_DATA_SOURCE_SORTABLE_PROPERTY_TYPES = [
|
|
93
|
+
"title",
|
|
94
|
+
"rich_text",
|
|
95
|
+
"number",
|
|
96
|
+
"checkbox",
|
|
97
|
+
"url",
|
|
98
|
+
"email",
|
|
99
|
+
"phone_number",
|
|
100
|
+
"date",
|
|
101
|
+
"created_time",
|
|
102
|
+
"last_edited_time",
|
|
103
|
+
];
|
|
87
104
|
/**
|
|
88
105
|
* Per-property schema as exposed by the host over the custom-block bridge.
|
|
89
106
|
* The `type` discriminator must be one of {@link NOTION_PROPERTY_TYPES}.
|
|
@@ -604,6 +604,16 @@ export declare const resolvedCustomBlockDataSourceFilterSchema: v.UnionSchema<[v
|
|
|
604
604
|
}, undefined>], undefined>, undefined>;
|
|
605
605
|
}, undefined>], undefined>;
|
|
606
606
|
export type ResolvedCustomBlockDataSourceFilter = v.InferOutput<typeof resolvedCustomBlockDataSourceFilterSchema>;
|
|
607
|
+
/** Maximum number of sort properties accepted in one data source query. */
|
|
608
|
+
export declare const CUSTOM_BLOCK_DATA_SOURCE_QUERY_MAX_SORTS = 10;
|
|
609
|
+
export declare const resolvedCustomBlockDataSourceSortSchema: v.ObjectSchema<{
|
|
610
|
+
readonly propertyId: v.StringSchema<undefined>;
|
|
611
|
+
readonly direction: v.PicklistSchema<["ascending", "descending"], undefined>;
|
|
612
|
+
}, undefined>;
|
|
613
|
+
/**
|
|
614
|
+
* A sort after the SDK resolves a semantic property key to a raw property ID.
|
|
615
|
+
*/
|
|
616
|
+
export type ResolvedCustomBlockDataSourceSort = v.InferOutput<typeof resolvedCustomBlockDataSourceSortSchema>;
|
|
607
617
|
/**
|
|
608
618
|
* Message sent by the sandbox to ask the host for the current rows in a resolved
|
|
609
619
|
* Notion data source.
|
|
@@ -966,6 +976,11 @@ export declare const queryDataSourceMessageSchema: v.ObjectSchema<{
|
|
|
966
976
|
}, undefined>], undefined>], undefined>;
|
|
967
977
|
}, undefined>], undefined>, undefined>;
|
|
968
978
|
}, undefined>], undefined>, undefined>;
|
|
979
|
+
/** Sandbox-resolved property sorts, in priority order. */
|
|
980
|
+
readonly sorts: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
981
|
+
readonly propertyId: v.StringSchema<undefined>;
|
|
982
|
+
readonly direction: v.PicklistSchema<["ascending", "descending"], undefined>;
|
|
983
|
+
}, undefined>, undefined>, undefined>;
|
|
969
984
|
}, undefined>;
|
|
970
985
|
export type QueryDataSourceMessage = v.InferOutput<typeof queryDataSourceMessageSchema>;
|
|
971
986
|
//# sourceMappingURL=queryDataSource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryDataSource.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/protocol/src/messages/queryDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAU5B,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;uCAQ9C,CAAA;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,WAAW,CACxD,OAAO,mCAAmC,CAC1C,CAAA;AAED,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;uCAQhD,CAAA;AAEF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,WAAW,CAC1D,OAAO,qCAAqC,CAC5C,CAAA;AAED,eAAO,MAAM,uCAAuC;;;;0BAGlD,CAAA;AAEF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,WAAW,CAC5D,OAAO,uCAAuC,CAC9C,CAAA;AAED,eAAO,MAAM,qCAAqC;;;;;;;;uCAIhD,CAAA;AAEF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,WAAW,CAC1D,OAAO,qCAAqC,CAC5C,CAAA;AAED,eAAO,MAAM,uCAAuC;;;;;;;;;;uCAKlD,CAAA;AAEF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,WAAW,CAC5D,OAAO,uCAAuC,CAC9C,CAAA;AAED,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;uCAO9C,CAAA;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,WAAW,CACxD,OAAO,mCAAmC,CAC1C,CAAA;AAED,eAAO,MAAM,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA6C5D,CAAA;AAEF,MAAM,MAAM,2CAA2C,GAAG,CAAC,CAAC,WAAW,CACtE,OAAO,iDAAiD,CACxD,CAAA;AAED,eAAO,MAAM,yCAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAKpD,CAAA;AAEF,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,WAAW,CAC9D,OAAO,yCAAyC,CAChD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;IAExC,0DAA0D;;IAE1D,kDAAkD;;IAElD,iEAAiE;;IAEjE,0CAA0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"queryDataSource.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/protocol/src/messages/queryDataSource.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,6 +98,12 @@ export const resolvedCustomBlockDataSourceFilterSchema = v.union([
|
|
|
98
98
|
and: v.array(resolvedCustomBlockDataSourcePropertyFilterSchema),
|
|
99
99
|
}),
|
|
100
100
|
]);
|
|
101
|
+
/** Maximum number of sort properties accepted in one data source query. */
|
|
102
|
+
export const CUSTOM_BLOCK_DATA_SOURCE_QUERY_MAX_SORTS = 10;
|
|
103
|
+
export const resolvedCustomBlockDataSourceSortSchema = v.object({
|
|
104
|
+
propertyId: v.string(),
|
|
105
|
+
direction: v.picklist(["ascending", "descending"]),
|
|
106
|
+
});
|
|
101
107
|
/**
|
|
102
108
|
* Message sent by the sandbox to ask the host for the current rows in a resolved
|
|
103
109
|
* Notion data source.
|
|
@@ -112,4 +118,6 @@ export const queryDataSourceMessageSchema = v.object({
|
|
|
112
118
|
limit: v.number(),
|
|
113
119
|
/** A sandbox-resolved property filter. */
|
|
114
120
|
filter: v.optional(resolvedCustomBlockDataSourceFilterSchema),
|
|
121
|
+
/** Sandbox-resolved property sorts, in priority order. */
|
|
122
|
+
sorts: v.optional(v.array(resolvedCustomBlockDataSourceSortSchema)),
|
|
115
123
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
2
|
import type { CustomBlockErrorCode, CustomBlockErrorInfo } from "../errors.js";
|
|
3
3
|
export declare const customBlockQueryDataSourceErrorCodeSchema: v.StringSchema<undefined>;
|
|
4
|
-
export type CustomBlockQueryDataSourceErrorCode = CustomBlockErrorCode<"query_data_source_failed" | "invalid_data_source_query" | "invalid_data_source_query_filter" | "unknown_data_source_key" | "unmapped_data_source">;
|
|
4
|
+
export type CustomBlockQueryDataSourceErrorCode = CustomBlockErrorCode<"query_data_source_failed" | "invalid_data_source_query" | "invalid_data_source_query_filter" | "invalid_data_source_query_sort" | "unknown_data_source_key" | "unmapped_data_source">;
|
|
5
5
|
export type CustomBlockQueryDataSourceErrorInfo = CustomBlockErrorInfo<CustomBlockQueryDataSourceErrorCode>;
|
|
6
6
|
export declare const customBlockQueryDataSourceErrorInfoSchema: v.ObjectSchema<{
|
|
7
7
|
readonly code: v.StringSchema<undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryDataSourceResult.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/protocol/src/messages/queryDataSourceResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAI9E,eAAO,MAAM,yCAAyC,2BAAa,CAAA;AAEnE,MAAM,MAAM,mCAAmC,GAAG,oBAAoB,CACnE,0BAA0B,GAC1B,2BAA2B,GAC3B,kCAAkC,GAClC,yBAAyB,GACzB,sBAAsB,CACxB,CAAA;AAED,MAAM,MAAM,mCAAmC,GAC9C,oBAAoB,CAAC,mCAAmC,CAAC,CAAA;AAE1D,eAAO,MAAM,yCAAyC;;;;aAIpD,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAc7C,CAAA;AAEF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CACvD,OAAO,kCAAkC,CACzC,CAAA"}
|
|
1
|
+
{"version":3,"file":"queryDataSourceResult.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/protocol/src/messages/queryDataSourceResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAI9E,eAAO,MAAM,yCAAyC,2BAAa,CAAA;AAEnE,MAAM,MAAM,mCAAmC,GAAG,oBAAoB,CACnE,0BAA0B,GAC1B,2BAA2B,GAC3B,kCAAkC,GAClC,gCAAgC,GAChC,yBAAyB,GACzB,sBAAsB,CACxB,CAAA;AAED,MAAM,MAAM,mCAAmC,GAC9C,oBAAoB,CAAC,mCAAmC,CAAC,CAAA;AAE1D,eAAO,MAAM,yCAAyC;;;;aAIpD,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAc7C,CAAA;AAEF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CACvD,OAAO,kCAAkC,CACzC,CAAA"}
|
|
@@ -407,6 +407,10 @@ export declare const sandboxToHostMessageSchema: v.VariantSchema<"type", [v.Vari
|
|
|
407
407
|
}, undefined>], undefined>], undefined>;
|
|
408
408
|
}, undefined>], undefined>, undefined>;
|
|
409
409
|
}, undefined>], undefined>, undefined>;
|
|
410
|
+
readonly sorts: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
411
|
+
readonly propertyId: v.StringSchema<undefined>;
|
|
412
|
+
readonly direction: v.PicklistSchema<["ascending", "descending"], undefined>;
|
|
413
|
+
}, undefined>, undefined>, undefined>;
|
|
410
414
|
}, undefined>, v.ObjectSchema<{
|
|
411
415
|
readonly type: v.LiteralSchema<"createPage", undefined>;
|
|
412
416
|
readonly requestId: v.StringSchema<undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandboxToHost.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/protocol/src/messages/sandboxToHost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAY5B;;;GAGG;AACH,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"sandboxToHost.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/protocol/src/messages/sandboxToHost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAY5B;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAWrC,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAC/C,OAAO,0BAA0B,CACjC,CAAA"}
|
|
@@ -4,7 +4,7 @@ import type { UseDataSourceOptions, UseDataSourceResult } from "../types.js";
|
|
|
4
4
|
*
|
|
5
5
|
* @param key - The semantic data source key the block is wired to (e.g. `"people"`).
|
|
6
6
|
* @param options - Optional live snapshot options. `limit` defaults to 20 and
|
|
7
|
-
* is capped at 999.
|
|
7
|
+
* is capped at 999. `sorts` are applied in array order.
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
10
|
* const { items, isLoading, hasMore, error } = useDataSource("default", { limit: 25 })
|
|
@@ -7,7 +7,7 @@ import { useCustomBlockHost } from "./useHostState.js";
|
|
|
7
7
|
*
|
|
8
8
|
* @param key - The semantic data source key the block is wired to (e.g. `"people"`).
|
|
9
9
|
* @param options - Optional live snapshot options. `limit` defaults to 20 and
|
|
10
|
-
* is capped at 999.
|
|
10
|
+
* is capped at 999. `sorts` are applied in array order.
|
|
11
11
|
*
|
|
12
12
|
* @example
|
|
13
13
|
* const { items, isLoading, hasMore, error } = useDataSource("default", { limit: 25 })
|
package/dist/types.d.ts
CHANGED
|
@@ -111,6 +111,9 @@ export type NotionDataSourcePropertyFilter = NotionDataSourcePropertyAddress & (
|
|
|
111
111
|
} | {
|
|
112
112
|
date: NotionDataSourceDateFilterOperator;
|
|
113
113
|
});
|
|
114
|
+
export type NotionDataSourceSort = NotionDataSourcePropertyAddress & {
|
|
115
|
+
direction: "ascending" | "descending";
|
|
116
|
+
};
|
|
114
117
|
export type NotionDataSourceFilter = NotionDataSourcePropertyFilter | {
|
|
115
118
|
and: NotionDataSourcePropertyFilter[];
|
|
116
119
|
};
|
|
@@ -165,6 +168,10 @@ export type UseDataSourceOptions = {
|
|
|
165
168
|
* it sends the query to the host.
|
|
166
169
|
*/
|
|
167
170
|
filter?: NotionDataSourceFilter;
|
|
171
|
+
/**
|
|
172
|
+
* Optional property sorts. The host applies them in array order.
|
|
173
|
+
*/
|
|
174
|
+
sorts?: NotionDataSourceSort[];
|
|
168
175
|
};
|
|
169
176
|
/**
|
|
170
177
|
* Parent reference accepted by `sdk.pages.create`. Mirrors Notion's public `POST /v1/pages`
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/version.js
CHANGED
package/docs/data-sources.md
CHANGED
|
@@ -44,6 +44,7 @@ function useDataSource(
|
|
|
44
44
|
options?: {
|
|
45
45
|
limit?: number;
|
|
46
46
|
filter?: NotionDataSourceFilter;
|
|
47
|
+
sorts?: NotionDataSourceSort[];
|
|
47
48
|
},
|
|
48
49
|
): UseDataSourceResult;
|
|
49
50
|
|
|
@@ -71,6 +72,7 @@ const query = useDataSource("tasks", {
|
|
|
71
72
|
{ key: "done", checkbox: { equals: false } },
|
|
72
73
|
],
|
|
73
74
|
},
|
|
75
|
+
sorts: [{ key: "due", direction: "ascending" }],
|
|
74
76
|
limit: 50,
|
|
75
77
|
});
|
|
76
78
|
```
|
|
@@ -88,6 +90,15 @@ Select, multi-select, and status values can be one option name or an array of op
|
|
|
88
90
|
|
|
89
91
|
The `and` group can contain up to 25 conditions. An empty group is valid. Nested groups and `or` groups are not supported.
|
|
90
92
|
|
|
93
|
+
`sorts` accepts a list of property addresses and directions. Use `key` for a
|
|
94
|
+
semantic property key or `propertyId` for a raw Notion property ID. The SDK
|
|
95
|
+
resolves semantic keys before it sends the bridge request. The host applies
|
|
96
|
+
sorts in array order. The first sort has the highest priority. The list can
|
|
97
|
+
contain up to ten unique properties. Empty values sort last in either
|
|
98
|
+
direction. Sorts currently support title, rich text, number, checkbox, URL,
|
|
99
|
+
email, phone number, date, created time, and last edited time properties.
|
|
100
|
+
Other property types are rejected until their sort values are supported.
|
|
101
|
+
|
|
91
102
|
`propertyIdsByKey` maps manifest property keys to raw Notion property IDs; unbound keys map to `undefined`. `propertySchemasByKey` exposes the corresponding schemas and is likewise `undefined` for declared-but-unbound slots.
|
|
92
103
|
|
|
93
104
|
Query failures follow the SDK's [error-handling contract](./errors.md).
|
|
@@ -193,10 +204,11 @@ export function ScoreList() {
|
|
|
193
204
|
- `NotionDataSourcePageUpdateArgs` / `UpdatePageResult` — arguments and result for the per-page `update` helper.
|
|
194
205
|
- `NotionDataSourcePageUpdateInput` — deprecated alias for `NotionDataSourcePageUpdateArgs`.
|
|
195
206
|
- `NotionDataSourcePageUpdateResult` — deprecated alias for `UpdatePageResult`.
|
|
196
|
-
- `UseDataSourceOptions` — options accepted by `useDataSource`: `limit?: number` and `
|
|
207
|
+
- `UseDataSourceOptions` — options accepted by `useDataSource`: `limit?: number`, `filter?: NotionDataSourceFilter`, and `sorts?: NotionDataSourceSort[]`.
|
|
197
208
|
- `NotionDataSourceFilter` — one property condition or one shallow `and` group.
|
|
198
209
|
- `NotionDataSourcePropertyFilter` — one property address combined with a type-specific operator.
|
|
199
210
|
- `NotionDataSourcePropertyAddress` — either a semantic property `key` or a raw `propertyId`.
|
|
211
|
+
- `NotionDataSourceSort` — a property address with an `ascending` or `descending` direction.
|
|
200
212
|
- `NotionDataSourceTextFilterOperator`, `NotionDataSourceNumberFilterOperator`, `NotionDataSourceCheckboxFilterOperator`, `NotionDataSourceOptionFilterOperator`, `NotionDataSourceContainsFilterOperator`, and `NotionDataSourceDateFilterOperator` — the operators accepted for each property type.
|
|
201
213
|
|
|
202
214
|
### Property schemas
|
package/package.json
CHANGED
|
@@ -755,6 +755,7 @@ export class SandboxBridge {
|
|
|
755
755
|
dataSourceId: query.dataSourceId,
|
|
756
756
|
limit: query.limit,
|
|
757
757
|
...(query.filter !== undefined ? { filter: query.filter } : {}),
|
|
758
|
+
...(query.sorts !== undefined ? { sorts: query.sorts } : {}),
|
|
758
759
|
}
|
|
759
760
|
this.postToHost(outbound)
|
|
760
761
|
}
|