@notionhq/client 5.28.0 → 5.30.0
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 +23 -2
- package/build/package.json +22 -14
- package/build/src/Client.d.ts +16 -181
- package/build/src/Client.d.ts.map +1 -1
- package/build/src/Client.js +0 -1
- package/build/src/Client.js.map +1 -1
- package/build/src/api-endpoint-methods.d.ts +6 -197
- package/build/src/api-endpoint-methods.d.ts.map +1 -1
- package/build/src/api-endpoint-methods.js +34 -1
- package/build/src/api-endpoint-methods.js.map +1 -1
- package/build/src/api-endpoints/agent-skills.d.ts +26 -0
- package/build/src/api-endpoints/agent-skills.d.ts.map +1 -1
- package/build/src/api-endpoints/agent-skills.js +12 -1
- package/build/src/api-endpoints/agent-skills.js.map +1 -1
- package/build/src/api-endpoints/agents.d.ts +2091 -2266
- package/build/src/api-endpoints/agents.d.ts.map +1 -1
- package/build/src/api-endpoints/agents.js +118 -118
- package/build/src/api-endpoints/agents.js.map +1 -1
- package/build/src/api-endpoints/async-tasks.d.ts +7 -4
- package/build/src/api-endpoints/async-tasks.d.ts.map +1 -1
- package/build/src/api-endpoints/async-tasks.js.map +1 -1
- package/build/src/api-endpoints/blocks.d.ts +7 -4
- package/build/src/api-endpoints/blocks.d.ts.map +1 -1
- package/build/src/api-endpoints/blocks.js +1 -1
- package/build/src/api-endpoints/blocks.js.map +1 -1
- package/build/src/api-endpoints/comments.d.ts +9 -3
- package/build/src/api-endpoints/comments.d.ts.map +1 -1
- package/build/src/api-endpoints/comments.js +2 -1
- package/build/src/api-endpoints/comments.js.map +1 -1
- package/build/src/api-endpoints/common.d.ts +168 -21
- package/build/src/api-endpoints/common.d.ts.map +1 -1
- package/build/src/api-endpoints/common.js.map +1 -1
- package/build/src/api-endpoints/data-sources.d.ts +4 -1
- package/build/src/api-endpoints/data-sources.d.ts.map +1 -1
- package/build/src/api-endpoints/data-sources.js +2 -1
- package/build/src/api-endpoints/data-sources.js.map +1 -1
- package/build/src/api-endpoints/databases.d.ts +5 -2
- package/build/src/api-endpoints/databases.d.ts.map +1 -1
- package/build/src/api-endpoints/databases.js +2 -0
- package/build/src/api-endpoints/databases.js.map +1 -1
- package/build/src/api-endpoints/file-uploads.d.ts.map +1 -1
- package/build/src/api-endpoints/file-uploads.js.map +1 -1
- package/build/src/api-endpoints/meeting-notes.d.ts +8 -106
- package/build/src/api-endpoints/meeting-notes.d.ts.map +1 -1
- package/build/src/api-endpoints/meeting-notes.js.map +1 -1
- package/build/src/api-endpoints/oauth.d.ts +1 -0
- package/build/src/api-endpoints/oauth.d.ts.map +1 -1
- package/build/src/api-endpoints/oauth.js.map +1 -1
- package/build/src/api-endpoints/pages.d.ts +10 -5
- package/build/src/api-endpoints/pages.d.ts.map +1 -1
- package/build/src/api-endpoints/pages.js +5 -1
- package/build/src/api-endpoints/pages.js.map +1 -1
- package/build/src/api-endpoints/search.d.ts +5 -2
- package/build/src/api-endpoints/search.d.ts.map +1 -1
- package/build/src/api-endpoints/search.js +1 -1
- package/build/src/api-endpoints/search.js.map +1 -1
- package/build/src/api-endpoints/views.d.ts +2 -1
- package/build/src/api-endpoints/views.d.ts.map +1 -1
- package/build/src/api-endpoints/views.js.map +1 -1
- package/build/src/api-endpoints/webhooks.d.ts +6 -0
- package/build/src/api-endpoints/webhooks.d.ts.map +1 -1
- package/build/src/api-endpoints/webhooks.js.map +1 -1
- package/build/src/errors.js.map +1 -1
- package/build/src/helpers.d.ts.map +1 -1
- package/build/src/helpers.js +2 -1
- package/build/src/helpers.js.map +1 -1
- package/build/src/index.d.ts +9 -5
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +4 -1
- package/build/src/index.js.map +1 -1
- package/build/src/meeting-notes.d.ts +3 -6
- package/build/src/meeting-notes.d.ts.map +1 -1
- package/build/src/meeting-notes.js +0 -27
- package/build/src/meeting-notes.js.map +1 -1
- package/build/src/webhooks.d.ts +1 -2
- package/build/src/webhooks.d.ts.map +1 -1
- package/build/src/webhooks.js +18 -58
- package/build/src/webhooks.js.map +1 -1
- package/package.json +22 -14
package/build/src/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BlockObjectResponse,\n CommentObjectResponse,\n DatabaseObjectResponse,\n DataSourceObjectResponse,\n DataSourceViewObjectResponse,\n EquationRichTextItemResponse,\n GroupFilterOperatorArray,\n ListDataSourceTemplatesResponse,\n MentionRichTextItemResponse,\n PageObjectResponse,\n PartialBlockObjectResponse,\n PartialCommentObjectResponse,\n PartialDatabaseObjectResponse,\n PartialDataSourceObjectResponse,\n PartialDataSourceViewObjectResponse,\n PartialPageObjectResponse,\n PartialUserObjectResponse,\n PropertyFilter,\n QueryDataSourceParameters,\n QueryDataSourceResponse,\n RichTextItemResponse,\n RichTextItemResponseCommon,\n TextRichTextItemResponse,\n TimestampFilter,\n UserObjectResponse,\n} from \"./api-endpoints\"\nimport type Client from \"./Client\"\n\ntype PaginatedArgs = {\n start_cursor?: string | null\n}\n\ntype PaginatedList<T> = {\n object: \"list\"\n results: T[]\n next_cursor: string | null\n has_more: boolean\n}\n\n/**\n * Returns an async iterator over the results of any paginated Notion API.\n *\n * Example (given a notion Client called `notion`):\n *\n * ```\n * for await (const block of iteratePaginatedAPI(notion.blocks.children.list, {\n * block_id: parentBlockId,\n * })) {\n * // Do something with block.\n * }\n * ```\n *\n * @param listFn A bound function on the Notion client that represents a conforming paginated\n * API. Example: `notion.blocks.children.list`.\n * @param firstPageArgs Arguments that should be passed to the API on the first and subsequent\n * calls to the API. Any necessary `next_cursor` will be automatically populated by\n * this function. Example: `{ block_id: \"<my block id>\" }`\n */\nexport async function* iteratePaginatedAPI<Args extends PaginatedArgs, Item>(\n listFn: (args: Args) => Promise<PaginatedList<Item>>,\n firstPageArgs: Args\n): AsyncIterableIterator<Item> {\n let nextCursor: string | null | undefined = firstPageArgs.start_cursor\n do {\n const response: PaginatedList<Item> = await listFn({\n ...firstPageArgs,\n start_cursor: nextCursor,\n })\n yield* response.results\n nextCursor = response.next_cursor\n } while (nextCursor)\n}\n\n/**\n * Collect all of the results of paginating an API into an in-memory array.\n *\n * Example (given a notion Client called `notion`):\n *\n * ```\n * const blocks = await collectPaginatedAPI(notion.blocks.children.list, {\n * block_id: parentBlockId,\n * })\n * // Do something with blocks.\n * ```\n *\n * @param listFn A bound function on the Notion client that represents a conforming paginated\n * API. Example: `notion.blocks.children.list`.\n * @param firstPageArgs Arguments that should be passed to the API on the first and subsequent\n * calls to the API. Any necessary `next_cursor` will be automatically populated by\n * this function. Example: `{ block_id: \"<my block id>\" }`\n */\nexport async function collectPaginatedAPI<Args extends PaginatedArgs, Item>(\n listFn: (args: Args) => Promise<PaginatedList<Item>>,\n firstPageArgs: Args\n): Promise<Item[]> {\n const results: Item[] = []\n for await (const item of iteratePaginatedAPI(listFn, firstPageArgs)) {\n results.push(item)\n }\n return results\n}\n\ntype DataSourceTemplate = ListDataSourceTemplatesResponse[\"templates\"][number]\n\ntype ListDataSourceTemplatesArgs = PaginatedArgs & {\n data_source_id: string\n name?: string\n page_size?: number\n}\n\n/**\n * Returns an async iterator over data source templates.\n *\n * Example (given a notion Client called `notion`):\n *\n * ```\n * for await (const template of iterateDataSourceTemplates(notion, {\n * data_source_id: dataSourceId,\n * })) {\n * console.log(template.name, template.is_default)\n * }\n * ```\n *\n * @param client A Notion client instance.\n * @param args Arguments including the data_source_id and optional start_cursor.\n */\nexport async function* iterateDataSourceTemplates(\n client: Pick<Client, \"dataSources\">,\n args: ListDataSourceTemplatesArgs\n): AsyncIterableIterator<DataSourceTemplate> {\n let nextCursor: string | null | undefined = args.start_cursor\n do {\n const response: ListDataSourceTemplatesResponse =\n await client.dataSources.listTemplates({\n ...args,\n start_cursor: nextCursor,\n })\n yield* response.templates\n nextCursor = response.next_cursor\n } while (nextCursor)\n}\n\n/**\n * Collect all data source templates into an in-memory array.\n *\n * Example (given a notion Client called `notion`):\n *\n * ```\n * const templates = await collectDataSourceTemplates(notion, {\n * data_source_id: dataSourceId,\n * })\n * // Do something with templates.\n * ```\n *\n * @param client A Notion client instance.\n * @param args Arguments including the data_source_id and optional start_cursor.\n */\nexport async function collectDataSourceTemplates(\n client: Pick<Client, \"dataSources\">,\n args: ListDataSourceTemplatesArgs\n): Promise<DataSourceTemplate[]> {\n const results: DataSourceTemplate[] = []\n for await (const template of iterateDataSourceTemplates(client, args)) {\n results.push(template)\n }\n return results\n}\n\ntype DataSourceRow = QueryDataSourceResponse[\"results\"][number]\n\n/**\n * A filter the full-query helpers can combine with a created_time window bound.\n *\n * A top-level `or` filter is intentionally excluded: the helpers add a\n * created_time lower bound with `and`, and Notion only supports two levels of\n * filter nesting, so an `or` at the root leaves no room for the bound. Express\n * such queries as an `and` group, or run the helper once per `or` branch and\n * merge the results.\n */\nexport type FullDataSourceQueryFilter =\n | PropertyFilter\n | TimestampFilter\n | { and: GroupFilterOperatorArray }\n\n/**\n * Arguments for the full-query helpers. The same as `dataSources.query`, minus\n * the fields the helper controls: `start_cursor` (pagination is automatic) and\n * `sorts` (the helper sorts by created_time to partition). `filter` is narrowed\n * to {@link FullDataSourceQueryFilter}.\n */\nexport type FullDataSourceQueryArgs = Omit<\n QueryDataSourceParameters,\n \"start_cursor\" | \"sorts\" | \"filter\"\n> & {\n filter?: FullDataSourceQueryFilter\n}\n\n/**\n * Iterate over every row of a data source, including rows past the per-query\n * result limit that `dataSources.query` enforces on large data sources.\n *\n * A single query (one filter and sort) returns at most a fixed number of rows\n * (10,000 by default). Once that limit is reached, `has_more` becomes `false`\n * and the response carries `request_status.type === \"incomplete\"`. Plain\n * pagination such as {@link iteratePaginatedAPI} stops there and silently\n * misses the rest of the data source.\n *\n * This helper works around the limit by partitioning the data source into\n * created_time windows. It sorts by created_time ascending; whenever a window\n * reaches the limit, it starts a fresh query from the last row's created_time.\n * Each fresh query has a different filter, so it gets its own result budget.\n * Rows that share a boundary timestamp are de-duplicated by id, so every row is\n * yielded exactly once.\n *\n * created_time is used because it never changes. last_edited_time would shift\n * rows between windows as they are edited, causing gaps or duplicates.\n *\n * Throws if a single created_time value holds more rows than the limit, since\n * the window cannot be narrowed by time alone. Add a filter in that case so\n * each window stays under the limit.\n *\n * Example (given a notion Client called `notion`):\n *\n * ```\n * for await (const row of iterateAllDataSourceRows(notion, {\n * data_source_id: dataSourceId,\n * })) {\n * // Do something with row.\n * }\n * ```\n *\n * @param client A Notion client instance.\n * @param args Query arguments. `start_cursor` and `sorts` are managed by the\n * helper; `filter` is combined with the created_time window bound.\n */\nexport async function* iterateAllDataSourceRows(\n client: Pick<Client, \"dataSources\">,\n args: FullDataSourceQueryArgs\n): AsyncIterableIterator<DataSourceRow> {\n const seenRowIds = new Set<string>()\n let windowStart: string | undefined = undefined\n\n for (;;) {\n let limitReached = false\n let lastCreatedTime: string | undefined = undefined\n let cursor: string | undefined = undefined\n\n do {\n const response = await client.dataSources.query({\n ...args,\n sorts: [{ timestamp: \"created_time\", direction: \"ascending\" }],\n filter: createdTimeLowerBound(args.filter, windowStart),\n start_cursor: cursor,\n })\n for (const row of response.results) {\n // Wiki data sources can return child data-source rows alongside pages.\n // Both carry created_time and either can be the window's boundary row,\n // so advance on either; reading only pages would stall a window made up\n // of data-source rows and throw spuriously.\n if (isFullPageOrDataSource(row)) {\n lastCreatedTime = row.created_time\n }\n if (!seenRowIds.has(row.id)) {\n seenRowIds.add(row.id)\n yield row\n }\n }\n if (response.request_status?.type === \"incomplete\") {\n limitReached = true\n }\n cursor = response.next_cursor ?? undefined\n } while (cursor)\n\n if (!limitReached) {\n return\n }\n if (lastCreatedTime === undefined || lastCreatedTime === windowStart) {\n throw new Error(\n \"iterateAllDataSourceRows cannot make progress: the per-query result \" +\n \"limit was reached but the created_time window could not advance \" +\n `past ${String(lastCreatedTime)}. More rows share this timestamp ` +\n \"than the limit allows. Add a filter to narrow the query.\"\n )\n }\n windowStart = lastCreatedTime\n }\n}\n\n/**\n * Collect every row of a data source into an in-memory array, including rows\n * past the per-query result limit. See {@link iterateAllDataSourceRows} for how\n * the limit is handled.\n *\n * Before using this, check that the full data source fits in memory. For very\n * large data sources, prefer {@link iterateAllDataSourceRows} and process rows\n * as they stream.\n *\n * Example (given a notion Client called `notion`):\n *\n * ```\n * const rows = await collectAllDataSourceRows(notion, {\n * data_source_id: dataSourceId,\n * })\n * // Do something with rows.\n * ```\n *\n * @param client A Notion client instance.\n * @param args Query arguments. See {@link iterateAllDataSourceRows}.\n */\nexport async function collectAllDataSourceRows(\n client: Pick<Client, \"dataSources\">,\n args: FullDataSourceQueryArgs\n): Promise<DataSourceRow[]> {\n const rows: DataSourceRow[] = []\n for await (const row of iterateAllDataSourceRows(client, args)) {\n rows.push(row)\n }\n return rows\n}\n\n/**\n * Combine a caller-provided filter with the created_time lower bound used to\n * advance the partition window. Returns the filter unchanged for the first\n * window, which has no bound yet.\n */\nfunction createdTimeLowerBound(\n filter: FullDataSourceQueryFilter | undefined,\n windowStart: string | undefined\n): FullDataSourceQueryFilter | undefined {\n if (windowStart === undefined) {\n return filter\n }\n const bound: TimestampFilter = {\n timestamp: \"created_time\",\n created_time: { on_or_after: windowStart },\n }\n if (filter === undefined) {\n return bound\n }\n if (\"and\" in filter) {\n return { and: [...filter.and, bound] }\n }\n return { and: [filter, bound] }\n}\n\ntype ObjectResponse =\n | PageObjectResponse\n | PartialPageObjectResponse\n | DataSourceObjectResponse\n | PartialDataSourceObjectResponse\n | DatabaseObjectResponse\n | PartialDatabaseObjectResponse\n | BlockObjectResponse\n | PartialBlockObjectResponse\n\n/**\n * @returns `true` if `response` is a full `BlockObjectResponse`.\n */\nexport function isFullBlock(\n response: ObjectResponse\n): response is BlockObjectResponse {\n return response.object === \"block\" && \"type\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `PageObjectResponse`.\n */\nexport function isFullPage(\n response: ObjectResponse\n): response is PageObjectResponse {\n return response.object === \"page\" && \"url\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `DataSourceObjectResponse`.\n */\nexport function isFullDataSource(\n response: ObjectResponse\n): response is DataSourceObjectResponse {\n return response.object === \"data_source\" && \"title\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `DatabaseObjectResponse`.\n */\nexport function isFullDatabase(\n response: ObjectResponse\n): response is DatabaseObjectResponse {\n return response.object === \"database\" && \"title\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `DataSourceObjectResponse` or a full\n * `PageObjectResponse`.\n *\n * Can be used on the results of the list response from `queryDataSource` or\n * `search` APIs.\n */\nexport function isFullPageOrDataSource(\n response: ObjectResponse\n): response is DataSourceObjectResponse | PageObjectResponse {\n if (response.object === \"data_source\") {\n return isFullDataSource(response)\n } else {\n return isFullPage(response)\n }\n}\n\n/**\n * @returns `true` if `response` is a full `UserObjectResponse`.\n */\nexport function isFullUser(\n response: UserObjectResponse | PartialUserObjectResponse\n): response is UserObjectResponse {\n return \"type\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `CommentObjectResponse`.\n */\nexport function isFullComment(\n response: CommentObjectResponse | PartialCommentObjectResponse\n): response is CommentObjectResponse {\n return \"created_by\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `DataSourceViewObjectResponse`.\n */\nexport function isFullView(\n response: DataSourceViewObjectResponse | PartialDataSourceViewObjectResponse\n): response is DataSourceViewObjectResponse {\n return \"type\" in response\n}\n\n/**\n * @returns `true` if `richText` is a `TextRichTextItemResponse`.\n */\nexport function isTextRichTextItemResponse(\n richText: RichTextItemResponse\n): richText is RichTextItemResponseCommon & TextRichTextItemResponse {\n return richText.type === \"text\"\n}\n\n/**\n * @returns `true` if `richText` is an `EquationRichTextItemResponse`.\n */\nexport function isEquationRichTextItemResponse(\n richText: RichTextItemResponse\n): richText is RichTextItemResponseCommon & EquationRichTextItemResponse {\n return richText.type === \"equation\"\n}\n\n/**\n * @returns `true` if `richText` is an `MentionRichTextItemResponse`.\n */\nexport function isMentionRichTextItemResponse(\n richText: RichTextItemResponse\n): richText is RichTextItemResponseCommon & MentionRichTextItemResponse {\n return richText.type === \"mention\"\n}\n\n/**\n * Extracts a Notion ID from a Notion URL or returns the input if it's already a valid ID.\n *\n * Prioritizes path IDs over query parameters to avoid extracting view IDs instead of database IDs.\n *\n * @param urlOrId A Notion URL or ID string\n * @returns The extracted UUID in standard format (with hyphens) or null if invalid\n *\n * @example\n * ```typescript\n * // Database URL with view ID - extracts database ID, not view ID\n * extractNotionId('https://notion.so/workspace/DB-abc123def456789012345678901234ab?v=viewid123')\n * // Returns: 'abc123de-f456-7890-1234-5678901234ab' (database ID)\n *\n * // Already formatted UUID\n * extractNotionId('12345678-1234-1234-1234-123456789abc')\n * // Returns: '12345678-1234-1234-1234-123456789abc'\n * ```\n */\nexport function extractNotionId(urlOrId: string): string | null {\n if (!urlOrId || typeof urlOrId !== \"string\") {\n return null\n }\n\n const trimmed = urlOrId.trim()\n\n // Check if it's already a properly formatted UUID\n const uuidRegex =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i\n if (uuidRegex.test(trimmed)) {\n return trimmed.toLowerCase()\n }\n\n // Check if it's a compact UUID (32 chars, no hyphens)\n const compactUuidRegex = /^[0-9a-f]{32}$/i\n if (compactUuidRegex.test(trimmed)) {\n return formatUuid(trimmed)\n }\n\n // Extract from URL - prioritize path over query parameters\n // This prevents extracting view IDs when database IDs are in the path\n const pathMatch = trimmed.match(/\\/[^/?#]*-([0-9a-f]{32})(?:[/?#]|$)/i)\n if (pathMatch && pathMatch[1]) {\n return formatUuid(pathMatch[1])\n }\n\n // Fallback to query parameters if no path ID found\n const queryMatch = trimmed.match(\n /[?&](?:p|page_id|database_id)=([0-9a-f]{32})/i\n )\n if (queryMatch && queryMatch[1]) {\n return formatUuid(queryMatch[1])\n }\n\n // Last resort: any 32-char hex string in the URL\n const anyMatch = trimmed.match(/([0-9a-f]{32})/i)\n if (anyMatch && anyMatch[1]) {\n return formatUuid(anyMatch[1])\n }\n\n return null\n}\n\n/**\n * Formats a 32-character hex string into a standard UUID format.\n * @param compactId 32-character hex string without hyphens\n * @returns UUID with hyphens in standard format\n */\nfunction formatUuid(compactId: string): string {\n const clean = compactId.toLowerCase()\n return `${clean.slice(0, 8)}-${clean.slice(8, 12)}-${clean.slice(\n 12,\n 16\n )}-${clean.slice(16, 20)}-${clean.slice(20, 32)}`\n}\n\n/**\n * Extracts a database ID from a Notion database URL.\n * Convenience wrapper around `extractNotionId`.\n */\nexport function extractDatabaseId(databaseUrl: string): string | null {\n return extractNotionId(databaseUrl)\n}\n\n/**\n * Extracts a page ID from a Notion page URL.\n * Convenience wrapper around `extractNotionId`.\n */\nexport function extractPageId(pageUrl: string): string | null {\n return extractNotionId(pageUrl)\n}\n\n/**\n * Extracts a block ID from a Notion URL with a block fragment.\n * Looks for #block-<id> or #<id> patterns.\n */\nexport function extractBlockId(urlWithBlock: string): string | null {\n if (!urlWithBlock || typeof urlWithBlock !== \"string\") {\n return null\n }\n\n // Look for block fragment in URL (#block-32chars or just #32chars)\n const blockMatch = urlWithBlock.match(/#(?:block-)?([0-9a-f]{32})/i)\n if (blockMatch && blockMatch[1]) {\n return formatUuid(blockMatch[1])\n }\n\n return null\n}\n"]}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BlockObjectResponse,\n CommentObjectResponse,\n DatabaseObjectResponse,\n DataSourceObjectResponse,\n DataSourceViewObjectResponse,\n EquationRichTextItemResponse,\n GroupFilterOperatorArray,\n ListDataSourceTemplatesResponse,\n MentionRichTextItemResponse,\n PageObjectResponse,\n PartialBlockObjectResponse,\n PartialCommentObjectResponse,\n PartialDatabaseObjectResponse,\n PartialDataSourceObjectResponse,\n PartialDataSourceViewObjectResponse,\n PartialPageObjectResponse,\n PartialUserObjectResponse,\n PropertyFilter,\n QueryDataSourceParameters,\n QueryDataSourceResponse,\n RichTextItemResponse,\n RichTextItemResponseCommon,\n TextRichTextItemResponse,\n TimestampFilter,\n UserObjectResponse,\n} from \"./api-endpoints\"\nimport type Client from \"./Client\"\n\ntype PaginatedArgs = {\n start_cursor?: string | null\n}\n\ntype PaginatedList<T> = {\n object: \"list\"\n results: T[]\n next_cursor: string | null\n has_more: boolean\n}\n\n/**\n * Returns an async iterator over the results of any paginated Notion API.\n *\n * Example (given a notion Client called `notion`):\n *\n * ```\n * for await (const block of iteratePaginatedAPI(notion.blocks.children.list, {\n * block_id: parentBlockId,\n * })) {\n * // Do something with block.\n * }\n * ```\n *\n * @param listFn A bound function on the Notion client that represents a conforming paginated\n * API. Example: `notion.blocks.children.list`.\n * @param firstPageArgs Arguments that should be passed to the API on the first and subsequent\n * calls to the API. Any necessary `next_cursor` will be automatically populated by\n * this function. Example: `{ block_id: \"<my block id>\" }`\n */\nexport async function* iteratePaginatedAPI<Args extends PaginatedArgs, Item>(\n listFn: (args: Args) => Promise<PaginatedList<Item>>,\n firstPageArgs: Args\n): AsyncIterableIterator<Item> {\n let nextCursor: string | null | undefined = firstPageArgs.start_cursor\n do {\n const response: PaginatedList<Item> = await listFn({\n ...firstPageArgs,\n start_cursor: nextCursor,\n })\n yield* response.results\n nextCursor = response.next_cursor\n } while (nextCursor)\n}\n\n/**\n * Collect all of the results of paginating an API into an in-memory array.\n *\n * Example (given a notion Client called `notion`):\n *\n * ```\n * const blocks = await collectPaginatedAPI(notion.blocks.children.list, {\n * block_id: parentBlockId,\n * })\n * // Do something with blocks.\n * ```\n *\n * @param listFn A bound function on the Notion client that represents a conforming paginated\n * API. Example: `notion.blocks.children.list`.\n * @param firstPageArgs Arguments that should be passed to the API on the first and subsequent\n * calls to the API. Any necessary `next_cursor` will be automatically populated by\n * this function. Example: `{ block_id: \"<my block id>\" }`\n */\nexport async function collectPaginatedAPI<Args extends PaginatedArgs, Item>(\n listFn: (args: Args) => Promise<PaginatedList<Item>>,\n firstPageArgs: Args\n): Promise<Item[]> {\n const results: Item[] = []\n for await (const item of iteratePaginatedAPI(listFn, firstPageArgs)) {\n results.push(item)\n }\n return results\n}\n\ntype DataSourceTemplate = ListDataSourceTemplatesResponse[\"templates\"][number]\n\ntype ListDataSourceTemplatesArgs = PaginatedArgs & {\n data_source_id: string\n name?: string\n page_size?: number\n}\n\n/**\n * Returns an async iterator over data source templates.\n *\n * Example (given a notion Client called `notion`):\n *\n * ```\n * for await (const template of iterateDataSourceTemplates(notion, {\n * data_source_id: dataSourceId,\n * })) {\n * console.log(template.name, template.is_default)\n * }\n * ```\n *\n * @param client A Notion client instance.\n * @param args Arguments including the data_source_id and optional start_cursor.\n */\nexport async function* iterateDataSourceTemplates(\n client: Pick<Client, \"dataSources\">,\n args: ListDataSourceTemplatesArgs\n): AsyncIterableIterator<DataSourceTemplate> {\n let nextCursor: string | null | undefined = args.start_cursor\n do {\n const response: ListDataSourceTemplatesResponse =\n await client.dataSources.listTemplates({\n ...args,\n start_cursor: nextCursor,\n })\n yield* response.templates\n nextCursor = response.next_cursor\n } while (nextCursor)\n}\n\n/**\n * Collect all data source templates into an in-memory array.\n *\n * Example (given a notion Client called `notion`):\n *\n * ```\n * const templates = await collectDataSourceTemplates(notion, {\n * data_source_id: dataSourceId,\n * })\n * // Do something with templates.\n * ```\n *\n * @param client A Notion client instance.\n * @param args Arguments including the data_source_id and optional start_cursor.\n */\nexport async function collectDataSourceTemplates(\n client: Pick<Client, \"dataSources\">,\n args: ListDataSourceTemplatesArgs\n): Promise<DataSourceTemplate[]> {\n const results: DataSourceTemplate[] = []\n for await (const template of iterateDataSourceTemplates(client, args)) {\n results.push(template)\n }\n return results\n}\n\ntype DataSourceRow = QueryDataSourceResponse[\"results\"][number]\n\n/**\n * A filter the full-query helpers can combine with a created_time window bound.\n *\n * A top-level `or` filter is intentionally excluded: the helpers add a\n * created_time lower bound with `and`, and Notion only supports two levels of\n * filter nesting, so an `or` at the root leaves no room for the bound. Express\n * such queries as an `and` group, or run the helper once per `or` branch and\n * merge the results.\n */\nexport type FullDataSourceQueryFilter =\n PropertyFilter | TimestampFilter | { and: GroupFilterOperatorArray }\n\n/**\n * Arguments for the full-query helpers. The same as `dataSources.query`, minus\n * the fields the helper controls: `start_cursor` (pagination is automatic) and\n * `sorts` (the helper sorts by created_time to partition). `filter` is narrowed\n * to {@link FullDataSourceQueryFilter}.\n */\nexport type FullDataSourceQueryArgs = Omit<\n QueryDataSourceParameters,\n \"start_cursor\" | \"sorts\" | \"filter\"\n> & {\n filter?: FullDataSourceQueryFilter\n}\n\n/**\n * Iterate over every row of a data source, including rows past the per-query\n * result limit that `dataSources.query` enforces on large data sources.\n *\n * A single query (one filter and sort) returns at most a fixed number of rows\n * (10,000 by default). Once that limit is reached, `has_more` becomes `false`\n * and the response carries `request_status.type === \"incomplete\"`. Plain\n * pagination such as {@link iteratePaginatedAPI} stops there and silently\n * misses the rest of the data source.\n *\n * This helper works around the limit by partitioning the data source into\n * created_time windows. It sorts by created_time ascending; whenever a window\n * reaches the limit, it starts a fresh query from the last row's created_time.\n * Each fresh query has a different filter, so it gets its own result budget.\n * Rows that share a boundary timestamp are de-duplicated by id, so every row is\n * yielded exactly once.\n *\n * created_time is used because it never changes. last_edited_time would shift\n * rows between windows as they are edited, causing gaps or duplicates.\n *\n * Throws if a single created_time value holds more rows than the limit, since\n * the window cannot be narrowed by time alone. Add a filter in that case so\n * each window stays under the limit.\n *\n * Example (given a notion Client called `notion`):\n *\n * ```\n * for await (const row of iterateAllDataSourceRows(notion, {\n * data_source_id: dataSourceId,\n * })) {\n * // Do something with row.\n * }\n * ```\n *\n * @param client A Notion client instance.\n * @param args Query arguments. `start_cursor` and `sorts` are managed by the\n * helper; `filter` is combined with the created_time window bound.\n */\nexport async function* iterateAllDataSourceRows(\n client: Pick<Client, \"dataSources\">,\n args: FullDataSourceQueryArgs\n): AsyncIterableIterator<DataSourceRow> {\n const seenRowIds = new Set<string>()\n let windowStart: string | undefined = undefined\n\n for (;;) {\n let limitReached = false\n let lastCreatedTime: string | undefined = undefined\n let cursor: string | undefined = undefined\n\n do {\n const response = await client.dataSources.query({\n ...args,\n sorts: [{ timestamp: \"created_time\", direction: \"ascending\" }],\n filter: createdTimeLowerBound(args.filter, windowStart),\n start_cursor: cursor,\n })\n for (const row of response.results) {\n // Wiki data sources can return child data-source rows alongside pages.\n // Both carry created_time and either can be the window's boundary row,\n // so advance on either; reading only pages would stall a window made up\n // of data-source rows and throw spuriously.\n if (isFullPageOrDataSource(row)) {\n lastCreatedTime = row.created_time\n }\n if (!seenRowIds.has(row.id)) {\n seenRowIds.add(row.id)\n yield row\n }\n }\n if (response.request_status?.type === \"incomplete\") {\n limitReached = true\n }\n cursor = response.next_cursor ?? undefined\n } while (cursor)\n\n if (!limitReached) {\n return\n }\n if (lastCreatedTime === undefined || lastCreatedTime === windowStart) {\n throw new Error(\n \"iterateAllDataSourceRows cannot make progress: the per-query result \" +\n \"limit was reached but the created_time window could not advance \" +\n `past ${String(lastCreatedTime)}. More rows share this timestamp ` +\n \"than the limit allows. Add a filter to narrow the query.\"\n )\n }\n windowStart = lastCreatedTime\n }\n}\n\n/**\n * Collect every row of a data source into an in-memory array, including rows\n * past the per-query result limit. See {@link iterateAllDataSourceRows} for how\n * the limit is handled.\n *\n * Before using this, check that the full data source fits in memory. For very\n * large data sources, prefer {@link iterateAllDataSourceRows} and process rows\n * as they stream.\n *\n * Example (given a notion Client called `notion`):\n *\n * ```\n * const rows = await collectAllDataSourceRows(notion, {\n * data_source_id: dataSourceId,\n * })\n * // Do something with rows.\n * ```\n *\n * @param client A Notion client instance.\n * @param args Query arguments. See {@link iterateAllDataSourceRows}.\n */\nexport async function collectAllDataSourceRows(\n client: Pick<Client, \"dataSources\">,\n args: FullDataSourceQueryArgs\n): Promise<DataSourceRow[]> {\n const rows: DataSourceRow[] = []\n for await (const row of iterateAllDataSourceRows(client, args)) {\n rows.push(row)\n }\n return rows\n}\n\n/**\n * Combine a caller-provided filter with the created_time lower bound used to\n * advance the partition window. Returns the filter unchanged for the first\n * window, which has no bound yet.\n */\nfunction createdTimeLowerBound(\n filter: FullDataSourceQueryFilter | undefined,\n windowStart: string | undefined\n): FullDataSourceQueryFilter | undefined {\n if (windowStart === undefined) {\n return filter\n }\n const bound: TimestampFilter = {\n timestamp: \"created_time\",\n created_time: { on_or_after: windowStart },\n }\n if (filter === undefined) {\n return bound\n }\n if (\"and\" in filter) {\n return { and: [...filter.and, bound] }\n }\n return { and: [filter, bound] }\n}\n\ntype ObjectResponse =\n | PageObjectResponse\n | PartialPageObjectResponse\n | DataSourceObjectResponse\n | PartialDataSourceObjectResponse\n | DatabaseObjectResponse\n | PartialDatabaseObjectResponse\n | BlockObjectResponse\n | PartialBlockObjectResponse\n\n/**\n * @returns `true` if `response` is a full `BlockObjectResponse`.\n */\nexport function isFullBlock(\n response: ObjectResponse\n): response is BlockObjectResponse {\n return response.object === \"block\" && \"type\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `PageObjectResponse`.\n */\nexport function isFullPage(\n response: ObjectResponse\n): response is PageObjectResponse {\n return response.object === \"page\" && \"url\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `DataSourceObjectResponse`.\n */\nexport function isFullDataSource(\n response: ObjectResponse\n): response is DataSourceObjectResponse {\n return response.object === \"data_source\" && \"title\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `DatabaseObjectResponse`.\n */\nexport function isFullDatabase(\n response: ObjectResponse\n): response is DatabaseObjectResponse {\n return response.object === \"database\" && \"title\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `DataSourceObjectResponse` or a full\n * `PageObjectResponse`.\n *\n * Can be used on the results of the list response from `queryDataSource` or\n * `search` APIs.\n */\nexport function isFullPageOrDataSource(\n response: ObjectResponse\n): response is DataSourceObjectResponse | PageObjectResponse {\n if (response.object === \"data_source\") {\n return isFullDataSource(response)\n } else {\n return isFullPage(response)\n }\n}\n\n/**\n * @returns `true` if `response` is a full `UserObjectResponse`.\n */\nexport function isFullUser(\n response: UserObjectResponse | PartialUserObjectResponse\n): response is UserObjectResponse {\n return \"type\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `CommentObjectResponse`.\n */\nexport function isFullComment(\n response: CommentObjectResponse | PartialCommentObjectResponse\n): response is CommentObjectResponse {\n return \"created_by\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `DataSourceViewObjectResponse`.\n */\nexport function isFullView(\n response: DataSourceViewObjectResponse | PartialDataSourceViewObjectResponse\n): response is DataSourceViewObjectResponse {\n return \"type\" in response\n}\n\n/**\n * @returns `true` if `richText` is a `TextRichTextItemResponse`.\n */\nexport function isTextRichTextItemResponse(\n richText: RichTextItemResponse\n): richText is RichTextItemResponseCommon & TextRichTextItemResponse {\n return richText.type === \"text\"\n}\n\n/**\n * @returns `true` if `richText` is an `EquationRichTextItemResponse`.\n */\nexport function isEquationRichTextItemResponse(\n richText: RichTextItemResponse\n): richText is RichTextItemResponseCommon & EquationRichTextItemResponse {\n return richText.type === \"equation\"\n}\n\n/**\n * @returns `true` if `richText` is an `MentionRichTextItemResponse`.\n */\nexport function isMentionRichTextItemResponse(\n richText: RichTextItemResponse\n): richText is RichTextItemResponseCommon & MentionRichTextItemResponse {\n return richText.type === \"mention\"\n}\n\n/**\n * Extracts a Notion ID from a Notion URL or returns the input if it's already a valid ID.\n *\n * Prioritizes path IDs over query parameters to avoid extracting view IDs instead of database IDs.\n *\n * @param urlOrId A Notion URL or ID string\n * @returns The extracted UUID in standard format (with hyphens) or null if invalid\n *\n * @example\n * ```typescript\n * // Database URL with view ID - extracts database ID, not view ID\n * extractNotionId('https://notion.so/workspace/DB-abc123def456789012345678901234ab?v=viewid123')\n * // Returns: 'abc123de-f456-7890-1234-5678901234ab' (database ID)\n *\n * // Already formatted UUID\n * extractNotionId('12345678-1234-1234-1234-123456789abc')\n * // Returns: '12345678-1234-1234-1234-123456789abc'\n * ```\n */\nexport function extractNotionId(urlOrId: string): string | null {\n if (!urlOrId || typeof urlOrId !== \"string\") {\n return null\n }\n\n const trimmed = urlOrId.trim()\n\n // Check if it's already a properly formatted UUID\n const uuidRegex =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i\n if (uuidRegex.test(trimmed)) {\n return trimmed.toLowerCase()\n }\n\n // Check if it's a compact UUID (32 chars, no hyphens)\n const compactUuidRegex = /^[0-9a-f]{32}$/i\n if (compactUuidRegex.test(trimmed)) {\n return formatUuid(trimmed)\n }\n\n // Extract from URL - prioritize path over query parameters\n // This prevents extracting view IDs when database IDs are in the path\n // The title slug is optional: Notion also copies links with a bare ID path.\n const pathMatch = trimmed.match(/\\/(?:[^/?#]*-)?([0-9a-f]{32})(?:[/?#]|$)/i)\n if (pathMatch && pathMatch[1]) {\n return formatUuid(pathMatch[1])\n }\n\n // Fallback to query parameters if no path ID found\n const queryMatch = trimmed.match(\n /[?&](?:p|page_id|database_id)=([0-9a-f]{32})/i\n )\n if (queryMatch && queryMatch[1]) {\n return formatUuid(queryMatch[1])\n }\n\n // Last resort: any 32-char hex string in the URL\n const anyMatch = trimmed.match(/([0-9a-f]{32})/i)\n if (anyMatch && anyMatch[1]) {\n return formatUuid(anyMatch[1])\n }\n\n return null\n}\n\n/**\n * Formats a 32-character hex string into a standard UUID format.\n * @param compactId 32-character hex string without hyphens\n * @returns UUID with hyphens in standard format\n */\nfunction formatUuid(compactId: string): string {\n const clean = compactId.toLowerCase()\n return `${clean.slice(0, 8)}-${clean.slice(8, 12)}-${clean.slice(\n 12,\n 16\n )}-${clean.slice(16, 20)}-${clean.slice(20, 32)}`\n}\n\n/**\n * Extracts a database ID from a Notion database URL.\n * Convenience wrapper around `extractNotionId`.\n */\nexport function extractDatabaseId(databaseUrl: string): string | null {\n return extractNotionId(databaseUrl)\n}\n\n/**\n * Extracts a page ID from a Notion page URL.\n * Convenience wrapper around `extractNotionId`.\n */\nexport function extractPageId(pageUrl: string): string | null {\n return extractNotionId(pageUrl)\n}\n\n/**\n * Extracts a block ID from a Notion URL with a block fragment.\n * Looks for #block-<id> or #<id> patterns.\n */\nexport function extractBlockId(urlWithBlock: string): string | null {\n if (!urlWithBlock || typeof urlWithBlock !== \"string\") {\n return null\n }\n\n // Look for block fragment in URL (#block-32chars or just #32chars)\n const blockMatch = urlWithBlock.match(/#(?:block-)?([0-9a-f]{32})/i)\n if (blockMatch && blockMatch[1]) {\n return formatUuid(blockMatch[1])\n }\n\n return null\n}\n"]}
|
package/build/src/index.d.ts
CHANGED
|
@@ -6,13 +6,17 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @packageDocumentation
|
|
8
8
|
*/
|
|
9
|
-
import type { RichTextItemResponseCommon } from "./api-endpoints";
|
|
10
|
-
export type { GetPluginDirectoryParameters, GetPluginDirectoryResponse, GetSkillDirectoryParameters, GetSkillDirectoryResponse, ListSkillsPluginsParameters, ListSkillsPluginsResponse, AgentBatchParameters, AgentBatchResponse, ApiColor, AppendBlockChildrenParameters, AppendBlockChildrenResponse, AudioBlockObjectResponse, BlockObjectRequest, BlockObjectResponse, BookmarkBlockObjectResponse, BotUserObjectResponse, BreadcrumbBlockObjectResponse, BulletedListItemBlockObjectResponse, ButtonPropertyItemObjectResponse, CalloutBlockObjectResponse, CancelSessionParameters, CancelSessionResponse, CheckboxPropertyItemObjectResponse, ChildDatabaseBlockObjectResponse, ChildPageBlockObjectResponse, CodeBlockObjectResponse, ColumnBlockObjectResponse, ColumnListBlockObjectResponse, CommentObjectResponse, CompleteFileUploadParameters, CompleteFileUploadResponse, CreateCommentParameters, CreateCommentResponse, CreateDatabaseParameters, CreateDatabaseResponse, CreateDataSourceParameters, CreateDataSourceResponse, CreateViewParameters, CreateViewResponse, CreateViewQueryParameters, CreateViewQueryResponse, DashboardRowResponse, DashboardWidgetResponse, CreatedByPropertyItemObjectResponse, CreatedTimePropertyItemObjectResponse, CreateFileUploadParameters, CreateFileUploadResponse, CreatePageParameters, CreatePageResponse, DatabaseObjectResponse, DataSourceObjectResponse, DataSourceViewObjectResponse, DatePropertyItemObjectResponse, DeleteAgentParameters, DeleteAgentResponse, DeleteBlockParameters, DeleteBlockResponse, DeleteCommentParameters, DeleteCommentResponse, DeletedViewQueryResponse, DeleteViewParameters, DeleteViewResponse, DeleteViewQueryParameters, DeleteViewQueryResponse, DividerBlockObjectResponse, EmailPropertyItemObjectResponse, EmbedBlockObjectResponse, EquationBlockObjectResponse, EquationRichTextItemResponse, FileBlockObjectResponse, FilesPropertyItemObjectResponse, FileUploadObjectResponse, FormulaPropertyItemObjectResponse, GetAsyncTaskParameters, GetAsyncTaskResponse, GetAgentParameters, GetAgentResponse, GetBlockParameters, GetBlockResponse, GetCommentParameters, GetCommentResponse, GetDatabaseParameters, GetDatabaseResponse, GetDataSourceParameters, GetDataSourceResponse, GetFileUploadParameters, GetFileUploadResponse, GetInsightsParameters, GetInsightsResponse, GetPageParameters, GetPagePropertyParameters, GetPagePropertyResponse, GetPageResponse, GetSelfParameters, GetSelfResponse, GetUserParameters, GetUserResponse, GetViewParameters, GetViewResponse, GetViewQueryResultsParameters, GetViewQueryResultsResponse, GroupObjectResponse, Heading1BlockObjectResponse, Heading2BlockObjectResponse, Heading3BlockObjectResponse, ImageBlockObjectResponse, LastEditedByPropertyItemObjectResponse, LastEditedTimePropertyItemObjectResponse, LinkPreviewBlockObjectResponse, LinkToPageBlockObjectResponse, ListBlockChildrenParameters, ListBlockChildrenResponse, ListCommentsParameters, ListCommentsResponse, ListCustomEmojisParameters, ListCustomEmojisResponse, CustomEmojiResponse, ListDatabaseViewsParameters, ListDatabaseViewsResponse, ListFileUploadsParameters, ListFileUploadsResponse, ListUsersParameters, ListUsersResponse, MeetingNotesBlockObjectResponse, MentionRichTextItemResponse, MovePageParameters, MovePageResponse, MultiSelectPropertyItemObjectResponse, NumberedListItemBlockObjectResponse, NumberPropertyItemObjectResponse, OauthIntrospectParameters, OauthIntrospectResponse, OauthRevokeParameters, OauthRevokeResponse, OauthTokenParameters, OauthTokenResponse, PageObjectResponse, ParagraphBlockObjectResponse, PartialBlockObjectResponse, PartialCommentObjectResponse, PartialDatabaseObjectResponse, PartialDataSourceObjectResponse, PartialDataSourceViewObjectResponse, PartialPageObjectResponse, PartialUserObjectResponse, PdfBlockObjectResponse, PeoplePropertyItemObjectResponse, PersonUserObjectResponse, PhoneNumberPropertyItemObjectResponse, PropertyItemListResponse, PropertyItemObjectResponse, PublicApiAsyncTaskStatusResultJsonValue, QueryDataSourceParameters, QueryDataSourceResponse, QueryAgentsParameters, QueryAgentsResponse, QuerySessionEventsParameters, QuerySessionEventsResponse, QuerySessionsParameters, QuerySessionsResponse, QuoteBlockObjectResponse, RelationPropertyItemObjectResponse, RetrieveSessionParameters, RetrieveSessionResponse, RichTextItemResponse, RichTextItemResponseCommon, RichTextPropertyItemObjectResponse, RollupPropertyItemObjectResponse, SearchParameters, SearchResponse, SelectPropertyItemObjectResponse, SendFileUploadParameters, SendFileUploadResponse, StatusPropertyItemObjectResponse, SyncedBlockBlockObjectResponse, TableBlockObjectResponse, TableOfContentsBlockObjectResponse, TableRowBlockObjectResponse, TemplateBlockObjectResponse, TextRichTextItemResponse, TitlePropertyItemObjectResponse, ToDoBlockObjectResponse, ToggleBlockObjectResponse, TranscriptionBlockObjectResponse, UniqueIdPropertyItemObjectResponse, UnsupportedBlockObjectResponse, UpdateBlockParameters, UpdateBlockResponse, UpdateAgentCreditLimitParameters, UpdateAgentCreditLimitResponse, UpdateAgentStatusParameters, UpdateAgentStatusResponse, UpdateCommentParameters, UpdateCommentResponse, UpdateDatabaseParameters, UpdateDatabaseResponse, UpdateDataSourceParameters, UpdateDataSourceResponse, UpdatePageParameters, UpdatePageResponse, UpdateSessionParameters, UpdateSessionResponse, UpdateSessionStreamParameters, UpdateSessionStreamResponse, UpdateViewParameters, UpdateViewResponse, UrlPropertyItemObjectResponse, UserObjectResponse, ViewQueryResponse, VerificationPropertyItemObjectResponse, VideoBlockObjectResponse, BaseWebhookPayload, CommentCreatedWebhookPayload, CommentDeletedWebhookPayload, CommentUpdatedWebhookPayload, DataSourceContentUpdatedWebhookPayload, DataSourceCreatedWebhookPayload, DataSourceDeletedWebhookPayload, DataSourceMovedWebhookPayload, DataSourceSchemaUpdatedWebhookPayload, DataSourceUndeletedWebhookPayload, DatabaseContentUpdatedWebhookPayload, DatabaseCreatedWebhookPayload, DatabaseDeletedWebhookPayload, DatabaseMovedWebhookPayload, DatabaseSchemaUpdatedWebhookPayload, DatabaseUndeletedWebhookPayload, FileUploadCompletedWebhookPayload, FileUploadCreatedWebhookPayload, FileUploadExpiredWebhookPayload, FileUploadUploadFailedWebhookPayload, PageContentUpdatedWebhookPayload, PageCreatedWebhookPayload, PageDeletedWebhookPayload, PageLockedWebhookPayload, PageMovedWebhookPayload, PagePropertiesUpdatedWebhookPayload, PageTranscriptionBlockTranscriptDeletedWebhookPayload, PageUndeletedWebhookPayload, PageUnlockedWebhookPayload, ViewCreatedWebhookPayload, ViewDeletedWebhookPayload, ViewUpdatedWebhookPayload, } from "./api-endpoints";
|
|
9
|
+
import type { QueryDataSourceParameters, RichTextItemResponseCommon } from "./api-endpoints";
|
|
10
|
+
export type { GetPluginDirectoryParameters, GetPluginDirectoryResponse, GetSkillDirectoryParameters, GetSkillDirectoryResponse, ListSkillsPluginsParameters, ListSkillsPluginsResponse, UploadSkillParameters, UploadSkillResponse, AgentBatchParameters, AgentBatchResponse, ApiColor, AppendBlockChildrenParameters, AppendBlockChildrenResponse, AudioBlockObjectResponse, BlockObjectRequest, BlockObjectResponse, BookmarkBlockObjectResponse, BotUserObjectResponse, BreadcrumbBlockObjectResponse, BulletedListItemBlockObjectResponse, ButtonPropertyItemObjectResponse, CalloutBlockObjectResponse, CancelSessionParameters, CancelSessionResponse, CheckboxPropertyItemObjectResponse, ChildDatabaseBlockObjectResponse, ChildPageBlockObjectResponse, CodeBlockObjectResponse, ColumnBlockObjectResponse, ColumnListBlockObjectResponse, CommentObjectResponse, CompleteFileUploadParameters, CompleteFileUploadResponse, CreateCommentParameters, CreateCommentResponse, CreateDatabaseParameters, CreateDatabaseResponse, CreateDataSourceParameters, CreateDataSourceResponse, CreateViewParameters, CreateViewResponse, CreateViewQueryParameters, CreateViewQueryResponse, DashboardRowResponse, DashboardWidgetResponse, CreatedByPropertyItemObjectResponse, CreatedTimePropertyItemObjectResponse, CreateFileUploadParameters, CreateFileUploadResponse, CreatePageParameters, CreatePageResponse, DatabaseObjectResponse, DataSourceObjectResponse, DataSourceViewObjectResponse, DatePropertyItemObjectResponse, DateRequest, DateResponse, DeleteAgentParameters, DeleteAgentResponse, DeleteBlockParameters, DeleteBlockResponse, DeleteCommentParameters, DeleteCommentResponse, DeletedViewQueryResponse, DeleteViewParameters, DeleteViewResponse, DeleteViewQueryParameters, DeleteViewQueryResponse, DividerBlockObjectResponse, EmailPropertyItemObjectResponse, EmbedBlockObjectResponse, EquationBlockObjectResponse, EquationRichTextItemResponse, FileBlockObjectResponse, FilesPropertyItemObjectResponse, FileUploadObjectResponse, FormulaPropertyItemObjectResponse, GetAsyncTaskParameters, GetAsyncTaskResponse, GetAgentParameters, GetAgentResponse, GetBlockParameters, GetBlockResponse, GetCommentParameters, GetCommentResponse, GetDatabaseParameters, GetDatabaseResponse, GetDataSourceParameters, GetDataSourceResponse, GetFileUploadParameters, GetFileUploadResponse, GetInsightsParameters, GetInsightsResponse, GetPageParameters, GetPagePropertyParameters, GetPagePropertyResponse, GetPageResponse, GetSelfParameters, GetSelfResponse, GetUserParameters, GetUserResponse, GetViewParameters, GetViewResponse, GetViewQueryResultsParameters, GetViewQueryResultsResponse, GroupObjectResponse, Heading1BlockObjectResponse, Heading2BlockObjectResponse, Heading3BlockObjectResponse, ImageBlockObjectResponse, LastEditedByPropertyItemObjectResponse, LastEditedTimePropertyItemObjectResponse, LinkPreviewBlockObjectResponse, LinkToPageBlockObjectResponse, ListBlockChildrenParameters, ListBlockChildrenResponse, ListCommentsParameters, ListCommentsResponse, ListCustomEmojisParameters, ListCustomEmojisResponse, CustomEmojiResponse, ListDatabaseViewsParameters, ListDatabaseViewsResponse, ListFileUploadsParameters, ListFileUploadsResponse, ListUsersParameters, ListUsersResponse, MeetingNotesBlockObjectResponse, MentionRichTextItemResponse, MovePageParameters, MovePageResponse, MultiSelectPropertyItemObjectResponse, NumberedListItemBlockObjectResponse, NumberPropertyItemObjectResponse, OauthIntrospectParameters, OauthIntrospectResponse, OauthRevokeParameters, OauthRevokeResponse, OauthTokenParameters, OauthTokenResponse, PageIconRequest, PageIconResponse, PageMarkdownResponse, PageObjectResponse, PageWriteNotificationsSchema, ParagraphBlockObjectResponse, PartialBlockObjectResponse, PartialCommentObjectResponse, PartialDatabaseObjectResponse, PartialDataSourceObjectResponse, PartialDataSourceViewObjectResponse, PartialPageObjectResponse, PartialUserObjectResponse, PdfBlockObjectResponse, PeoplePropertyItemObjectResponse, PersonUserObjectResponse, PhoneNumberPropertyItemObjectResponse, PropertyConfigurationRequest, PropertyFilter, PropertyItemListResponse, PropertyItemObjectResponse, PublicApiAsyncTaskStatusResultJsonValue, QueryDataSourceParameters, QueryDataSourceResponse, QueryAgentsParameters, QueryAgentsResponse, QuerySessionEventsParameters, QuerySessionEventsResponse, QuerySessionsParameters, QuerySessionsResponse, QuoteBlockObjectResponse, RelationPropertyItemObjectResponse, RetrieveSessionParameters, RetrieveSessionResponse, RichTextItemRequest, RichTextItemResponse, RichTextItemResponseCommon, RichTextPropertyItemObjectResponse, RollupPropertyItemObjectResponse, SearchParameters, SearchResponse, SelectPropertyItemObjectResponse, SendFileUploadParameters, SendFileUploadResponse, SessionAgentIdFilter, SessionIdFilter, SessionNestedFilter, SessionStatusFilter, SessionTimestampFilter, StatusPropertyItemObjectResponse, SyncedBlockBlockObjectResponse, TableBlockObjectResponse, TableOfContentsBlockObjectResponse, TableRowBlockObjectResponse, TemplateBlockObjectResponse, TextRichTextItemResponse, TimestampFilter, TitlePropertyItemObjectResponse, ToDoBlockObjectResponse, ToggleBlockObjectResponse, TranscriptionBlockObjectResponse, UniqueIdPropertyItemObjectResponse, UnsupportedBlockObjectResponse, UpdateBlockParameters, UpdateBlockResponse, UpdateAgentCreditLimitParameters, UpdateAgentCreditLimitResponse, UpdateAgentStatusParameters, UpdateAgentStatusResponse, UpdateCommentParameters, UpdateCommentResponse, UpdateDatabaseParameters, UpdateDatabaseResponse, UpdateDataSourceParameters, UpdateDataSourceResponse, UpdatePageParameters, UpdatePageResponse, UpdateSessionParameters, UpdateSessionResponse, UpdateSessionStreamParameters, UpdateSessionStreamResponse, UpdateViewParameters, UpdateViewResponse, UrlPropertyItemObjectResponse, UserObjectResponse, ViewQueryResponse, VerificationPropertyItemObjectResponse, VideoBlockObjectResponse, BaseWebhookPayload, CommentCreatedWebhookPayload, CommentDeletedWebhookPayload, CommentUpdatedWebhookPayload, DataSourceContentUpdatedWebhookPayload, DataSourceCreatedWebhookPayload, DataSourceDeletedWebhookPayload, DataSourceMovedWebhookPayload, DataSourceSchemaUpdatedWebhookPayload, DataSourceUndeletedWebhookPayload, DatabaseContentUpdatedWebhookPayload, DatabaseCreatedWebhookPayload, DatabaseDeletedWebhookPayload, DatabaseMovedWebhookPayload, DatabaseSchemaUpdatedWebhookPayload, DatabaseUndeletedWebhookPayload, FileUploadCompletedWebhookPayload, FileUploadCreatedWebhookPayload, FileUploadExpiredWebhookPayload, FileUploadUploadFailedWebhookPayload, PageContentUpdatedWebhookPayload, PageCreatedWebhookPayload, PageDeletedWebhookPayload, PageLockedWebhookPayload, PageMovedWebhookPayload, PagePropertiesUpdatedWebhookPayload, PageTranscriptionBlockTranscriptDeletedWebhookPayload, PageUndeletedWebhookPayload, PageUnlockedWebhookPayload, ViewCreatedWebhookPayload, ViewDeletedWebhookPayload, ViewUpdatedWebhookPayload, } from "./api-endpoints";
|
|
11
11
|
export type AnnotationResponse = RichTextItemResponseCommon["annotations"];
|
|
12
|
+
/** A data source query filter, including compound `and` and `or` groups. */
|
|
13
|
+
export type QueryDataSourceFilter = NonNullable<QueryDataSourceParameters["filter"]>;
|
|
14
|
+
/** One sort in a data source query's `sorts` array. */
|
|
15
|
+
export type QueryDataSourceSort = NonNullable<QueryDataSourceParameters["sorts"]>[number];
|
|
12
16
|
export { default as Client } from "./Client";
|
|
13
|
-
export { LogLevel, Logger } from "./logging";
|
|
14
|
-
export { NotionErrorCode, APIErrorCode, ClientErrorCode, NotionClientError, APIResponseError, UnknownHTTPResponseError, RequestTimeoutError, InvalidPathParameterError, BrowserTokenNotAllowedError, isNotionClientError, isHTTPResponseError, } from "./errors";
|
|
15
|
-
export type { RetryOptions } from "./Client";
|
|
17
|
+
export { LogLevel, type Logger } from "./logging";
|
|
18
|
+
export { type NotionErrorCode, APIErrorCode, ClientErrorCode, type NotionClientError, APIResponseError, UnknownHTTPResponseError, RequestTimeoutError, InvalidPathParameterError, BrowserTokenNotAllowedError, isNotionClientError, isHTTPResponseError, } from "./errors";
|
|
19
|
+
export type { ClientOptions, RetryOptions } from "./Client";
|
|
16
20
|
export { DEFAULT_BASE_URL, DEFAULT_TIMEOUT_MS, DEFAULT_MAX_RETRIES, DEFAULT_INITIAL_RETRY_DELAY_MS, DEFAULT_MAX_RETRY_DELAY_MS, MIN_VIEW_COLUMN_WIDTH, } from "./constants";
|
|
17
21
|
export { collectPaginatedAPI, iteratePaginatedAPI, collectDataSourceTemplates, iterateDataSourceTemplates, iterateAllDataSourceRows, collectAllDataSourceRows, isFullBlock, isFullDataSource, isFullDatabase, isFullPage, isFullUser, isFullComment, isFullView, isFullPageOrDataSource, extractNotionId, extractDatabaseId, extractPageId, extractBlockId, } from "./helpers";
|
|
18
22
|
export type { FullDataSourceQueryArgs, FullDataSourceQueryFilter, } from "./helpers";
|
package/build/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/build/src/index.js
CHANGED
|
@@ -7,10 +7,13 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @packageDocumentation
|
|
9
9
|
*/
|
|
10
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
+
};
|
|
10
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
14
|
exports.meetingNotesFilterableProperties = exports.signWebhookPayload = exports.verifyWebhookSignature = exports.extractBlockId = exports.extractPageId = exports.extractDatabaseId = exports.extractNotionId = exports.isFullPageOrDataSource = exports.isFullView = exports.isFullComment = exports.isFullUser = exports.isFullPage = exports.isFullDatabase = exports.isFullDataSource = exports.isFullBlock = exports.collectAllDataSourceRows = exports.iterateAllDataSourceRows = exports.iterateDataSourceTemplates = exports.collectDataSourceTemplates = exports.iteratePaginatedAPI = exports.collectPaginatedAPI = exports.MIN_VIEW_COLUMN_WIDTH = exports.DEFAULT_MAX_RETRY_DELAY_MS = exports.DEFAULT_INITIAL_RETRY_DELAY_MS = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_TIMEOUT_MS = exports.DEFAULT_BASE_URL = exports.isHTTPResponseError = exports.isNotionClientError = exports.BrowserTokenNotAllowedError = exports.InvalidPathParameterError = exports.RequestTimeoutError = exports.UnknownHTTPResponseError = exports.APIResponseError = exports.ClientErrorCode = exports.APIErrorCode = exports.LogLevel = exports.Client = void 0;
|
|
12
15
|
var Client_1 = require("./Client");
|
|
13
|
-
Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return Client_1.default; } });
|
|
16
|
+
Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return __importDefault(Client_1).default; } });
|
|
14
17
|
var logging_1 = require("./logging");
|
|
15
18
|
Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return logging_1.LogLevel; } });
|
|
16
19
|
var errors_1 = require("./errors");
|
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AA2PH,mCAA4C;AAAnC,gGAAA,OAAO,OAAU;AAC1B,qCAA4C;AAAnC,mGAAA,QAAQ,OAAA;AACjB,mCAeiB;AAZf,sGAAA,YAAY,OAAA;AACZ,yGAAA,eAAe,OAAA;AAGf,0GAAA,gBAAgB,OAAA;AAChB,kHAAA,wBAAwB,OAAA;AACxB,6GAAA,mBAAmB,OAAA;AACnB,mHAAA,yBAAyB,OAAA;AACzB,qHAAA,2BAA2B,OAAA;AAC3B,gBAAgB;AAChB,6GAAA,mBAAmB,OAAA;AACnB,6GAAA,mBAAmB,OAAA;AAGrB,yCAOoB;AANlB,6GAAA,gBAAgB,OAAA;AAChB,+GAAA,kBAAkB,OAAA;AAClB,gHAAA,mBAAmB,OAAA;AACnB,2HAAA,8BAA8B,OAAA;AAC9B,uHAAA,0BAA0B,OAAA;AAC1B,kHAAA,qBAAqB,OAAA;AAEvB,qCAmBkB;AAlBhB,8GAAA,mBAAmB,OAAA;AACnB,8GAAA,mBAAmB,OAAA;AACnB,qHAAA,0BAA0B,OAAA;AAC1B,qHAAA,0BAA0B,OAAA;AAC1B,mHAAA,wBAAwB,OAAA;AACxB,mHAAA,wBAAwB,OAAA;AACxB,sGAAA,WAAW,OAAA;AACX,2GAAA,gBAAgB,OAAA;AAChB,yGAAA,cAAc,OAAA;AACd,qGAAA,UAAU,OAAA;AACV,qGAAA,UAAU,OAAA;AACV,wGAAA,aAAa,OAAA;AACb,qGAAA,UAAU,OAAA;AACV,iHAAA,sBAAsB,OAAA;AACtB,0GAAA,eAAe,OAAA;AACf,4GAAA,iBAAiB,OAAA;AACjB,wGAAA,aAAa,OAAA;AACb,yGAAA,cAAc,OAAA;AAMhB,uCAAuE;AAA9D,kHAAA,sBAAsB,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AAWnD,iDAAkE;AAAzD,iIAAA,gCAAgC,OAAA","sourcesContent":["/**\n * index.ts\n *\n * This file is the entry point for the Notion SDK.\n * It exports the Client class and all the API endpoints.\n *\n * @packageDocumentation\n */\n\nimport type { RichTextItemResponseCommon } from \"./api-endpoints\"\n\nexport type {\n GetPluginDirectoryParameters,\n GetPluginDirectoryResponse,\n GetSkillDirectoryParameters,\n GetSkillDirectoryResponse,\n ListSkillsPluginsParameters,\n ListSkillsPluginsResponse,\n AgentBatchParameters,\n AgentBatchResponse,\n ApiColor,\n AppendBlockChildrenParameters,\n AppendBlockChildrenResponse,\n AudioBlockObjectResponse,\n BlockObjectRequest,\n BlockObjectResponse,\n BookmarkBlockObjectResponse,\n BotUserObjectResponse,\n BreadcrumbBlockObjectResponse,\n BulletedListItemBlockObjectResponse,\n ButtonPropertyItemObjectResponse,\n CalloutBlockObjectResponse,\n CancelSessionParameters,\n CancelSessionResponse,\n CheckboxPropertyItemObjectResponse,\n ChildDatabaseBlockObjectResponse,\n ChildPageBlockObjectResponse,\n CodeBlockObjectResponse,\n ColumnBlockObjectResponse,\n ColumnListBlockObjectResponse,\n CommentObjectResponse,\n CompleteFileUploadParameters,\n CompleteFileUploadResponse,\n CreateCommentParameters,\n CreateCommentResponse,\n CreateDatabaseParameters,\n CreateDatabaseResponse,\n CreateDataSourceParameters,\n CreateDataSourceResponse,\n CreateViewParameters,\n CreateViewResponse,\n CreateViewQueryParameters,\n CreateViewQueryResponse,\n DashboardRowResponse,\n DashboardWidgetResponse,\n CreatedByPropertyItemObjectResponse,\n CreatedTimePropertyItemObjectResponse,\n CreateFileUploadParameters,\n CreateFileUploadResponse,\n CreatePageParameters,\n CreatePageResponse,\n DatabaseObjectResponse,\n DataSourceObjectResponse,\n DataSourceViewObjectResponse,\n DatePropertyItemObjectResponse,\n DeleteAgentParameters,\n DeleteAgentResponse,\n DeleteBlockParameters,\n DeleteBlockResponse,\n DeleteCommentParameters,\n DeleteCommentResponse,\n DeletedViewQueryResponse,\n DeleteViewParameters,\n DeleteViewResponse,\n DeleteViewQueryParameters,\n DeleteViewQueryResponse,\n DividerBlockObjectResponse,\n EmailPropertyItemObjectResponse,\n EmbedBlockObjectResponse,\n EquationBlockObjectResponse,\n EquationRichTextItemResponse,\n FileBlockObjectResponse,\n FilesPropertyItemObjectResponse,\n FileUploadObjectResponse,\n FormulaPropertyItemObjectResponse,\n GetAsyncTaskParameters,\n GetAsyncTaskResponse,\n GetAgentParameters,\n GetAgentResponse,\n GetBlockParameters,\n GetBlockResponse,\n GetCommentParameters,\n GetCommentResponse,\n GetDatabaseParameters,\n GetDatabaseResponse,\n GetDataSourceParameters,\n GetDataSourceResponse,\n GetFileUploadParameters,\n GetFileUploadResponse,\n GetInsightsParameters,\n GetInsightsResponse,\n GetPageParameters,\n GetPagePropertyParameters,\n GetPagePropertyResponse,\n GetPageResponse,\n GetSelfParameters,\n GetSelfResponse,\n GetUserParameters,\n GetUserResponse,\n GetViewParameters,\n GetViewResponse,\n GetViewQueryResultsParameters,\n GetViewQueryResultsResponse,\n GroupObjectResponse,\n Heading1BlockObjectResponse,\n Heading2BlockObjectResponse,\n Heading3BlockObjectResponse,\n ImageBlockObjectResponse,\n LastEditedByPropertyItemObjectResponse,\n LastEditedTimePropertyItemObjectResponse,\n LinkPreviewBlockObjectResponse,\n LinkToPageBlockObjectResponse,\n ListBlockChildrenParameters,\n ListBlockChildrenResponse,\n ListCommentsParameters,\n ListCommentsResponse,\n ListCustomEmojisParameters,\n ListCustomEmojisResponse,\n CustomEmojiResponse,\n ListDatabaseViewsParameters,\n ListDatabaseViewsResponse,\n ListFileUploadsParameters,\n ListFileUploadsResponse,\n ListUsersParameters,\n ListUsersResponse,\n MeetingNotesBlockObjectResponse,\n MentionRichTextItemResponse,\n MovePageParameters,\n MovePageResponse,\n MultiSelectPropertyItemObjectResponse,\n NumberedListItemBlockObjectResponse,\n NumberPropertyItemObjectResponse,\n OauthIntrospectParameters,\n OauthIntrospectResponse,\n OauthRevokeParameters,\n OauthRevokeResponse,\n OauthTokenParameters,\n OauthTokenResponse,\n PageObjectResponse,\n ParagraphBlockObjectResponse,\n PartialBlockObjectResponse,\n PartialCommentObjectResponse,\n PartialDatabaseObjectResponse,\n PartialDataSourceObjectResponse,\n PartialDataSourceViewObjectResponse,\n PartialPageObjectResponse,\n PartialUserObjectResponse,\n PdfBlockObjectResponse,\n PeoplePropertyItemObjectResponse,\n PersonUserObjectResponse,\n PhoneNumberPropertyItemObjectResponse,\n PropertyItemListResponse,\n PropertyItemObjectResponse,\n PublicApiAsyncTaskStatusResultJsonValue,\n QueryDataSourceParameters,\n QueryDataSourceResponse,\n QueryAgentsParameters,\n QueryAgentsResponse,\n QuerySessionEventsParameters,\n QuerySessionEventsResponse,\n QuerySessionsParameters,\n QuerySessionsResponse,\n QuoteBlockObjectResponse,\n RelationPropertyItemObjectResponse,\n RetrieveSessionParameters,\n RetrieveSessionResponse,\n RichTextItemResponse,\n RichTextItemResponseCommon,\n RichTextPropertyItemObjectResponse,\n RollupPropertyItemObjectResponse,\n SearchParameters,\n SearchResponse,\n SelectPropertyItemObjectResponse,\n SendFileUploadParameters,\n SendFileUploadResponse,\n StatusPropertyItemObjectResponse,\n SyncedBlockBlockObjectResponse,\n TableBlockObjectResponse,\n TableOfContentsBlockObjectResponse,\n TableRowBlockObjectResponse,\n TemplateBlockObjectResponse,\n TextRichTextItemResponse,\n TitlePropertyItemObjectResponse,\n ToDoBlockObjectResponse,\n ToggleBlockObjectResponse,\n TranscriptionBlockObjectResponse,\n UniqueIdPropertyItemObjectResponse,\n UnsupportedBlockObjectResponse,\n UpdateBlockParameters,\n UpdateBlockResponse,\n UpdateAgentCreditLimitParameters,\n UpdateAgentCreditLimitResponse,\n UpdateAgentStatusParameters,\n UpdateAgentStatusResponse,\n UpdateCommentParameters,\n UpdateCommentResponse,\n UpdateDatabaseParameters,\n UpdateDatabaseResponse,\n UpdateDataSourceParameters,\n UpdateDataSourceResponse,\n UpdatePageParameters,\n UpdatePageResponse,\n UpdateSessionParameters,\n UpdateSessionResponse,\n UpdateSessionStreamParameters,\n UpdateSessionStreamResponse,\n UpdateViewParameters,\n UpdateViewResponse,\n UrlPropertyItemObjectResponse,\n UserObjectResponse,\n ViewQueryResponse,\n VerificationPropertyItemObjectResponse,\n VideoBlockObjectResponse,\n // Webhook payload types\n BaseWebhookPayload,\n CommentCreatedWebhookPayload,\n CommentDeletedWebhookPayload,\n CommentUpdatedWebhookPayload,\n DataSourceContentUpdatedWebhookPayload,\n DataSourceCreatedWebhookPayload,\n DataSourceDeletedWebhookPayload,\n DataSourceMovedWebhookPayload,\n DataSourceSchemaUpdatedWebhookPayload,\n DataSourceUndeletedWebhookPayload,\n DatabaseContentUpdatedWebhookPayload,\n DatabaseCreatedWebhookPayload,\n DatabaseDeletedWebhookPayload,\n DatabaseMovedWebhookPayload,\n DatabaseSchemaUpdatedWebhookPayload,\n DatabaseUndeletedWebhookPayload,\n FileUploadCompletedWebhookPayload,\n FileUploadCreatedWebhookPayload,\n FileUploadExpiredWebhookPayload,\n FileUploadUploadFailedWebhookPayload,\n PageContentUpdatedWebhookPayload,\n PageCreatedWebhookPayload,\n PageDeletedWebhookPayload,\n PageLockedWebhookPayload,\n PageMovedWebhookPayload,\n PagePropertiesUpdatedWebhookPayload,\n PageTranscriptionBlockTranscriptDeletedWebhookPayload,\n PageUndeletedWebhookPayload,\n PageUnlockedWebhookPayload,\n ViewCreatedWebhookPayload,\n ViewDeletedWebhookPayload,\n ViewUpdatedWebhookPayload,\n} from \"./api-endpoints\"\nexport type AnnotationResponse = RichTextItemResponseCommon[\"annotations\"]\nexport { default as Client } from \"./Client\"\nexport { LogLevel, Logger } from \"./logging\"\nexport {\n // Error codes\n NotionErrorCode,\n APIErrorCode,\n ClientErrorCode,\n // Error types\n NotionClientError,\n APIResponseError,\n UnknownHTTPResponseError,\n RequestTimeoutError,\n InvalidPathParameterError,\n BrowserTokenNotAllowedError,\n // Error helpers\n isNotionClientError,\n isHTTPResponseError,\n} from \"./errors\"\nexport type { RetryOptions } from \"./Client\"\nexport {\n DEFAULT_BASE_URL,\n DEFAULT_TIMEOUT_MS,\n DEFAULT_MAX_RETRIES,\n DEFAULT_INITIAL_RETRY_DELAY_MS,\n DEFAULT_MAX_RETRY_DELAY_MS,\n MIN_VIEW_COLUMN_WIDTH,\n} from \"./constants\"\nexport {\n collectPaginatedAPI,\n iteratePaginatedAPI,\n collectDataSourceTemplates,\n iterateDataSourceTemplates,\n iterateAllDataSourceRows,\n collectAllDataSourceRows,\n isFullBlock,\n isFullDataSource,\n isFullDatabase,\n isFullPage,\n isFullUser,\n isFullComment,\n isFullView,\n isFullPageOrDataSource,\n extractNotionId,\n extractDatabaseId,\n extractPageId,\n extractBlockId,\n} from \"./helpers\"\nexport type {\n FullDataSourceQueryArgs,\n FullDataSourceQueryFilter,\n} from \"./helpers\"\nexport { verifyWebhookSignature, signWebhookPayload } from \"./webhooks\"\nexport type { VerifyWebhookSignatureArgs } from \"./webhooks\"\nexport type { QueryMeetingNotesResponse } from \"./api-endpoints/meeting-notes\"\nexport type {\n QueryMeetingNotesParameters,\n MeetingNotesCombinatorFilter,\n MeetingNotesFilterNode,\n MeetingNotesPropertyFilter,\n MeetingNotesPropertyName,\n MeetingNotesSort,\n} from \"./meeting-notes\"\nexport { meetingNotesFilterableProperties } from \"./meeting-notes\"\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;AA0RH,mCAA4C;AAAnC,iHAAA,OAAO,OAAU;AAC1B,qCAAiD;AAAxC,mGAAA,QAAQ,OAAA;AACjB,mCAeiB;AAZf,sGAAA,YAAY,OAAA;AACZ,yGAAA,eAAe,OAAA;AAGf,0GAAA,gBAAgB,OAAA;AAChB,kHAAA,wBAAwB,OAAA;AACxB,6GAAA,mBAAmB,OAAA;AACnB,mHAAA,yBAAyB,OAAA;AACzB,qHAAA,2BAA2B,OAAA;AAC3B,gBAAgB;AAChB,6GAAA,mBAAmB,OAAA;AACnB,6GAAA,mBAAmB,OAAA;AAGrB,yCAOoB;AANlB,6GAAA,gBAAgB,OAAA;AAChB,+GAAA,kBAAkB,OAAA;AAClB,gHAAA,mBAAmB,OAAA;AACnB,2HAAA,8BAA8B,OAAA;AAC9B,uHAAA,0BAA0B,OAAA;AAC1B,kHAAA,qBAAqB,OAAA;AAEvB,qCAmBkB;AAlBhB,8GAAA,mBAAmB,OAAA;AACnB,8GAAA,mBAAmB,OAAA;AACnB,qHAAA,0BAA0B,OAAA;AAC1B,qHAAA,0BAA0B,OAAA;AAC1B,mHAAA,wBAAwB,OAAA;AACxB,mHAAA,wBAAwB,OAAA;AACxB,sGAAA,WAAW,OAAA;AACX,2GAAA,gBAAgB,OAAA;AAChB,yGAAA,cAAc,OAAA;AACd,qGAAA,UAAU,OAAA;AACV,qGAAA,UAAU,OAAA;AACV,wGAAA,aAAa,OAAA;AACb,qGAAA,UAAU,OAAA;AACV,iHAAA,sBAAsB,OAAA;AACtB,0GAAA,eAAe,OAAA;AACf,4GAAA,iBAAiB,OAAA;AACjB,wGAAA,aAAa,OAAA;AACb,yGAAA,cAAc,OAAA;AAMhB,uCAAuE;AAA9D,kHAAA,sBAAsB,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AAWnD,iDAAkE;AAAzD,iIAAA,gCAAgC,OAAA","sourcesContent":["/**\n * index.ts\n *\n * This file is the entry point for the Notion SDK.\n * It exports the Client class and all the API endpoints.\n *\n * @packageDocumentation\n */\n\nimport type {\n QueryDataSourceParameters,\n RichTextItemResponseCommon,\n} from \"./api-endpoints\"\n\nexport type {\n GetPluginDirectoryParameters,\n GetPluginDirectoryResponse,\n GetSkillDirectoryParameters,\n GetSkillDirectoryResponse,\n ListSkillsPluginsParameters,\n ListSkillsPluginsResponse,\n UploadSkillParameters,\n UploadSkillResponse,\n AgentBatchParameters,\n AgentBatchResponse,\n ApiColor,\n AppendBlockChildrenParameters,\n AppendBlockChildrenResponse,\n AudioBlockObjectResponse,\n BlockObjectRequest,\n BlockObjectResponse,\n BookmarkBlockObjectResponse,\n BotUserObjectResponse,\n BreadcrumbBlockObjectResponse,\n BulletedListItemBlockObjectResponse,\n ButtonPropertyItemObjectResponse,\n CalloutBlockObjectResponse,\n CancelSessionParameters,\n CancelSessionResponse,\n CheckboxPropertyItemObjectResponse,\n ChildDatabaseBlockObjectResponse,\n ChildPageBlockObjectResponse,\n CodeBlockObjectResponse,\n ColumnBlockObjectResponse,\n ColumnListBlockObjectResponse,\n CommentObjectResponse,\n CompleteFileUploadParameters,\n CompleteFileUploadResponse,\n CreateCommentParameters,\n CreateCommentResponse,\n CreateDatabaseParameters,\n CreateDatabaseResponse,\n CreateDataSourceParameters,\n CreateDataSourceResponse,\n CreateViewParameters,\n CreateViewResponse,\n CreateViewQueryParameters,\n CreateViewQueryResponse,\n DashboardRowResponse,\n DashboardWidgetResponse,\n CreatedByPropertyItemObjectResponse,\n CreatedTimePropertyItemObjectResponse,\n CreateFileUploadParameters,\n CreateFileUploadResponse,\n CreatePageParameters,\n CreatePageResponse,\n DatabaseObjectResponse,\n DataSourceObjectResponse,\n DataSourceViewObjectResponse,\n DatePropertyItemObjectResponse,\n DateRequest,\n DateResponse,\n DeleteAgentParameters,\n DeleteAgentResponse,\n DeleteBlockParameters,\n DeleteBlockResponse,\n DeleteCommentParameters,\n DeleteCommentResponse,\n DeletedViewQueryResponse,\n DeleteViewParameters,\n DeleteViewResponse,\n DeleteViewQueryParameters,\n DeleteViewQueryResponse,\n DividerBlockObjectResponse,\n EmailPropertyItemObjectResponse,\n EmbedBlockObjectResponse,\n EquationBlockObjectResponse,\n EquationRichTextItemResponse,\n FileBlockObjectResponse,\n FilesPropertyItemObjectResponse,\n FileUploadObjectResponse,\n FormulaPropertyItemObjectResponse,\n GetAsyncTaskParameters,\n GetAsyncTaskResponse,\n GetAgentParameters,\n GetAgentResponse,\n GetBlockParameters,\n GetBlockResponse,\n GetCommentParameters,\n GetCommentResponse,\n GetDatabaseParameters,\n GetDatabaseResponse,\n GetDataSourceParameters,\n GetDataSourceResponse,\n GetFileUploadParameters,\n GetFileUploadResponse,\n GetInsightsParameters,\n GetInsightsResponse,\n GetPageParameters,\n GetPagePropertyParameters,\n GetPagePropertyResponse,\n GetPageResponse,\n GetSelfParameters,\n GetSelfResponse,\n GetUserParameters,\n GetUserResponse,\n GetViewParameters,\n GetViewResponse,\n GetViewQueryResultsParameters,\n GetViewQueryResultsResponse,\n GroupObjectResponse,\n Heading1BlockObjectResponse,\n Heading2BlockObjectResponse,\n Heading3BlockObjectResponse,\n ImageBlockObjectResponse,\n LastEditedByPropertyItemObjectResponse,\n LastEditedTimePropertyItemObjectResponse,\n LinkPreviewBlockObjectResponse,\n LinkToPageBlockObjectResponse,\n ListBlockChildrenParameters,\n ListBlockChildrenResponse,\n ListCommentsParameters,\n ListCommentsResponse,\n ListCustomEmojisParameters,\n ListCustomEmojisResponse,\n CustomEmojiResponse,\n ListDatabaseViewsParameters,\n ListDatabaseViewsResponse,\n ListFileUploadsParameters,\n ListFileUploadsResponse,\n ListUsersParameters,\n ListUsersResponse,\n MeetingNotesBlockObjectResponse,\n MentionRichTextItemResponse,\n MovePageParameters,\n MovePageResponse,\n MultiSelectPropertyItemObjectResponse,\n NumberedListItemBlockObjectResponse,\n NumberPropertyItemObjectResponse,\n OauthIntrospectParameters,\n OauthIntrospectResponse,\n OauthRevokeParameters,\n OauthRevokeResponse,\n OauthTokenParameters,\n OauthTokenResponse,\n PageIconRequest,\n PageIconResponse,\n PageMarkdownResponse,\n PageObjectResponse,\n PageWriteNotificationsSchema,\n ParagraphBlockObjectResponse,\n PartialBlockObjectResponse,\n PartialCommentObjectResponse,\n PartialDatabaseObjectResponse,\n PartialDataSourceObjectResponse,\n PartialDataSourceViewObjectResponse,\n PartialPageObjectResponse,\n PartialUserObjectResponse,\n PdfBlockObjectResponse,\n PeoplePropertyItemObjectResponse,\n PersonUserObjectResponse,\n PhoneNumberPropertyItemObjectResponse,\n PropertyConfigurationRequest,\n PropertyFilter,\n PropertyItemListResponse,\n PropertyItemObjectResponse,\n PublicApiAsyncTaskStatusResultJsonValue,\n QueryDataSourceParameters,\n QueryDataSourceResponse,\n QueryAgentsParameters,\n QueryAgentsResponse,\n QuerySessionEventsParameters,\n QuerySessionEventsResponse,\n QuerySessionsParameters,\n QuerySessionsResponse,\n QuoteBlockObjectResponse,\n RelationPropertyItemObjectResponse,\n RetrieveSessionParameters,\n RetrieveSessionResponse,\n RichTextItemRequest,\n RichTextItemResponse,\n RichTextItemResponseCommon,\n RichTextPropertyItemObjectResponse,\n RollupPropertyItemObjectResponse,\n SearchParameters,\n SearchResponse,\n SelectPropertyItemObjectResponse,\n SendFileUploadParameters,\n SendFileUploadResponse,\n SessionAgentIdFilter,\n SessionIdFilter,\n SessionNestedFilter,\n SessionStatusFilter,\n SessionTimestampFilter,\n StatusPropertyItemObjectResponse,\n SyncedBlockBlockObjectResponse,\n TableBlockObjectResponse,\n TableOfContentsBlockObjectResponse,\n TableRowBlockObjectResponse,\n TemplateBlockObjectResponse,\n TextRichTextItemResponse,\n TimestampFilter,\n TitlePropertyItemObjectResponse,\n ToDoBlockObjectResponse,\n ToggleBlockObjectResponse,\n TranscriptionBlockObjectResponse,\n UniqueIdPropertyItemObjectResponse,\n UnsupportedBlockObjectResponse,\n UpdateBlockParameters,\n UpdateBlockResponse,\n UpdateAgentCreditLimitParameters,\n UpdateAgentCreditLimitResponse,\n UpdateAgentStatusParameters,\n UpdateAgentStatusResponse,\n UpdateCommentParameters,\n UpdateCommentResponse,\n UpdateDatabaseParameters,\n UpdateDatabaseResponse,\n UpdateDataSourceParameters,\n UpdateDataSourceResponse,\n UpdatePageParameters,\n UpdatePageResponse,\n UpdateSessionParameters,\n UpdateSessionResponse,\n UpdateSessionStreamParameters,\n UpdateSessionStreamResponse,\n UpdateViewParameters,\n UpdateViewResponse,\n UrlPropertyItemObjectResponse,\n UserObjectResponse,\n ViewQueryResponse,\n VerificationPropertyItemObjectResponse,\n VideoBlockObjectResponse,\n // Webhook payload types\n BaseWebhookPayload,\n CommentCreatedWebhookPayload,\n CommentDeletedWebhookPayload,\n CommentUpdatedWebhookPayload,\n DataSourceContentUpdatedWebhookPayload,\n DataSourceCreatedWebhookPayload,\n DataSourceDeletedWebhookPayload,\n DataSourceMovedWebhookPayload,\n DataSourceSchemaUpdatedWebhookPayload,\n DataSourceUndeletedWebhookPayload,\n DatabaseContentUpdatedWebhookPayload,\n DatabaseCreatedWebhookPayload,\n DatabaseDeletedWebhookPayload,\n DatabaseMovedWebhookPayload,\n DatabaseSchemaUpdatedWebhookPayload,\n DatabaseUndeletedWebhookPayload,\n FileUploadCompletedWebhookPayload,\n FileUploadCreatedWebhookPayload,\n FileUploadExpiredWebhookPayload,\n FileUploadUploadFailedWebhookPayload,\n PageContentUpdatedWebhookPayload,\n PageCreatedWebhookPayload,\n PageDeletedWebhookPayload,\n PageLockedWebhookPayload,\n PageMovedWebhookPayload,\n PagePropertiesUpdatedWebhookPayload,\n PageTranscriptionBlockTranscriptDeletedWebhookPayload,\n PageUndeletedWebhookPayload,\n PageUnlockedWebhookPayload,\n ViewCreatedWebhookPayload,\n ViewDeletedWebhookPayload,\n ViewUpdatedWebhookPayload,\n} from \"./api-endpoints\"\nexport type AnnotationResponse = RichTextItemResponseCommon[\"annotations\"]\n\n/** A data source query filter, including compound `and` and `or` groups. */\nexport type QueryDataSourceFilter = NonNullable<\n QueryDataSourceParameters[\"filter\"]\n>\n\n/** One sort in a data source query's `sorts` array. */\nexport type QueryDataSourceSort = NonNullable<\n QueryDataSourceParameters[\"sorts\"]\n>[number]\n\nexport { default as Client } from \"./Client\"\nexport { LogLevel, type Logger } from \"./logging\"\nexport {\n // Error codes\n type NotionErrorCode,\n APIErrorCode,\n ClientErrorCode,\n // Error types\n type NotionClientError,\n APIResponseError,\n UnknownHTTPResponseError,\n RequestTimeoutError,\n InvalidPathParameterError,\n BrowserTokenNotAllowedError,\n // Error helpers\n isNotionClientError,\n isHTTPResponseError,\n} from \"./errors\"\nexport type { ClientOptions, RetryOptions } from \"./Client\"\nexport {\n DEFAULT_BASE_URL,\n DEFAULT_TIMEOUT_MS,\n DEFAULT_MAX_RETRIES,\n DEFAULT_INITIAL_RETRY_DELAY_MS,\n DEFAULT_MAX_RETRY_DELAY_MS,\n MIN_VIEW_COLUMN_WIDTH,\n} from \"./constants\"\nexport {\n collectPaginatedAPI,\n iteratePaginatedAPI,\n collectDataSourceTemplates,\n iterateDataSourceTemplates,\n iterateAllDataSourceRows,\n collectAllDataSourceRows,\n isFullBlock,\n isFullDataSource,\n isFullDatabase,\n isFullPage,\n isFullUser,\n isFullComment,\n isFullView,\n isFullPageOrDataSource,\n extractNotionId,\n extractDatabaseId,\n extractPageId,\n extractBlockId,\n} from \"./helpers\"\nexport type {\n FullDataSourceQueryArgs,\n FullDataSourceQueryFilter,\n} from \"./helpers\"\nexport { verifyWebhookSignature, signWebhookPayload } from \"./webhooks\"\nexport type { VerifyWebhookSignatureArgs } from \"./webhooks\"\nexport type { QueryMeetingNotesResponse } from \"./api-endpoints/meeting-notes\"\nexport type {\n QueryMeetingNotesParameters,\n MeetingNotesCombinatorFilter,\n MeetingNotesFilterNode,\n MeetingNotesPropertyFilter,\n MeetingNotesPropertyName,\n MeetingNotesSort,\n} from \"./meeting-notes\"\nexport { meetingNotesFilterableProperties } from \"./meeting-notes\"\n"]}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import type { QueryMeetingNotesParameters as ApiQueryMeetingNotesParameters } from "./api-endpoints/meeting-notes";
|
|
2
2
|
export declare const meetingNotesFilterableProperties: readonly ["title", "created_time", "last_edited_time", "created_by", "last_edited_by", "attendees"];
|
|
3
|
-
declare const meetingNotesTextFilterOperators: readonly ["string_is", "string_is_not", "string_contains", "string_does_not_contain", "string_starts_with", "string_ends_with", "is_empty", "is_not_empty"];
|
|
4
|
-
declare const meetingNotesDateFilterOperators: readonly ["date_is", "date_is_before", "date_is_after", "date_is_on_or_before", "date_is_on_or_after", "date_is_within", "date_is_relative_to", "is_empty", "is_not_empty"];
|
|
5
|
-
declare const meetingNotesPersonFilterOperators: readonly ["person_contains", "person_does_not_contain", "is_empty", "is_not_empty"];
|
|
6
3
|
export type MeetingNotesPropertyName = (typeof meetingNotesFilterableProperties)[number];
|
|
7
|
-
type MeetingNotesTextFilterOperator =
|
|
8
|
-
type MeetingNotesDateFilterOperator =
|
|
9
|
-
type MeetingNotesPersonFilterOperator =
|
|
4
|
+
type MeetingNotesTextFilterOperator = "string_is" | "string_is_not" | "string_contains" | "string_does_not_contain" | "string_starts_with" | "string_ends_with" | "is_empty" | "is_not_empty";
|
|
5
|
+
type MeetingNotesDateFilterOperator = "date_is" | "date_is_before" | "date_is_after" | "date_is_on_or_before" | "date_is_on_or_after" | "date_is_within" | "date_is_relative_to" | "is_empty" | "is_not_empty";
|
|
6
|
+
type MeetingNotesPersonFilterOperator = "person_contains" | "person_does_not_contain" | "is_empty" | "is_not_empty";
|
|
10
7
|
type MeetingNotesNoValueFilter<TOperator extends string> = {
|
|
11
8
|
operator: TOperator;
|
|
12
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meeting-notes.d.ts","sourceRoot":"","sources":["../../src/meeting-notes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,IAAI,8BAA8B,EAAE,MAAM,+BAA+B,CAAA;AAIlH,eAAO,MAAM,gCAAgC,qGAOnC,CAAA;AAEV,
|
|
1
|
+
{"version":3,"file":"meeting-notes.d.ts","sourceRoot":"","sources":["../../src/meeting-notes.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,31 +10,4 @@ exports.meetingNotesFilterableProperties = [
|
|
|
10
10
|
"last_edited_by",
|
|
11
11
|
"attendees",
|
|
12
12
|
];
|
|
13
|
-
const meetingNotesTextFilterOperators = [
|
|
14
|
-
"string_is",
|
|
15
|
-
"string_is_not",
|
|
16
|
-
"string_contains",
|
|
17
|
-
"string_does_not_contain",
|
|
18
|
-
"string_starts_with",
|
|
19
|
-
"string_ends_with",
|
|
20
|
-
"is_empty",
|
|
21
|
-
"is_not_empty",
|
|
22
|
-
];
|
|
23
|
-
const meetingNotesDateFilterOperators = [
|
|
24
|
-
"date_is",
|
|
25
|
-
"date_is_before",
|
|
26
|
-
"date_is_after",
|
|
27
|
-
"date_is_on_or_before",
|
|
28
|
-
"date_is_on_or_after",
|
|
29
|
-
"date_is_within",
|
|
30
|
-
"date_is_relative_to",
|
|
31
|
-
"is_empty",
|
|
32
|
-
"is_not_empty",
|
|
33
|
-
];
|
|
34
|
-
const meetingNotesPersonFilterOperators = [
|
|
35
|
-
"person_contains",
|
|
36
|
-
"person_does_not_contain",
|
|
37
|
-
"is_empty",
|
|
38
|
-
"is_not_empty",
|
|
39
|
-
];
|
|
40
13
|
//# sourceMappingURL=meeting-notes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meeting-notes.js","sourceRoot":"","sources":["../../src/meeting-notes.ts"],"names":[],"mappings":";;;AAEA,0BAA0B;AAEb,QAAA,gCAAgC,GAAG;IAC9C,OAAO;IACP,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,gBAAgB;IAChB,WAAW;CACH,CAAA
|
|
1
|
+
{"version":3,"file":"meeting-notes.js","sourceRoot":"","sources":["../../src/meeting-notes.ts"],"names":[],"mappings":";;;AAEA,0BAA0B;AAEb,QAAA,gCAAgC,GAAG;IAC9C,OAAO;IACP,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,gBAAgB;IAChB,WAAW;CACH,CAAA","sourcesContent":["import type { QueryMeetingNotesParameters as ApiQueryMeetingNotesParameters } from \"./api-endpoints/meeting-notes\"\n\n// cspell:ignore daterange\n\nexport const meetingNotesFilterableProperties = [\n \"title\",\n \"created_time\",\n \"last_edited_time\",\n \"created_by\",\n \"last_edited_by\",\n \"attendees\",\n] as const\n\nexport type MeetingNotesPropertyName =\n (typeof meetingNotesFilterableProperties)[number]\n\ntype MeetingNotesTextFilterOperator =\n | \"string_is\"\n | \"string_is_not\"\n | \"string_contains\"\n | \"string_does_not_contain\"\n | \"string_starts_with\"\n | \"string_ends_with\"\n | \"is_empty\"\n | \"is_not_empty\"\n\ntype MeetingNotesDateFilterOperator =\n | \"date_is\"\n | \"date_is_before\"\n | \"date_is_after\"\n | \"date_is_on_or_before\"\n | \"date_is_on_or_after\"\n | \"date_is_within\"\n | \"date_is_relative_to\"\n | \"is_empty\"\n | \"is_not_empty\"\n\ntype MeetingNotesPersonFilterOperator =\n \"person_contains\" | \"person_does_not_contain\" | \"is_empty\" | \"is_not_empty\"\n\ntype MeetingNotesNoValueFilter<TOperator extends string> = {\n operator: TOperator\n}\n\ntype MeetingNotesValueFilter<TOperator extends string, TValue> = {\n operator: TOperator\n value: TValue\n}\n\ntype MeetingNotesEmptyFilter = MeetingNotesNoValueFilter<\n \"is_empty\" | \"is_not_empty\"\n>\n\ntype MeetingNotesTextFilterValue = {\n type: \"exact\"\n value: string\n}\n\ntype MeetingNotesDatePointFilterValue = {\n type: \"relative\" | \"exact\"\n value:\n | string\n | {\n type: \"date\" | \"datetime\"\n start_date: string\n start_time?: string\n time_zone?: string\n }\n}\n\ntype MeetingNotesDateRangeFilterValue = {\n type: \"relative\" | \"exact\"\n value:\n | string\n | {\n type: \"daterange\"\n start_date: string\n end_date?: string\n }\n direction?: \"past\" | \"future\"\n unit?: \"day\" | \"week\" | \"month\" | \"year\"\n count?: number\n}\n\ntype MeetingNotesPersonOperatorValue = {\n type: \"exact\"\n value: {\n table: \"notion_user\"\n id: string\n }\n}\n\ntype MeetingNotesTextFilter =\n | MeetingNotesValueFilter<\n Exclude<\n MeetingNotesTextFilterOperator,\n MeetingNotesEmptyFilter[\"operator\"]\n >,\n MeetingNotesTextFilterValue\n >\n | MeetingNotesEmptyFilter\n\ntype MeetingNotesDateRangeOperator = \"date_is_within\" | \"date_is_relative_to\"\n\ntype MeetingNotesDateFilter =\n | MeetingNotesValueFilter<\n Exclude<\n MeetingNotesDateFilterOperator,\n MeetingNotesDateRangeOperator | MeetingNotesEmptyFilter[\"operator\"]\n >,\n MeetingNotesDatePointFilterValue\n >\n | MeetingNotesValueFilter<\n MeetingNotesDateRangeOperator,\n MeetingNotesDateRangeFilterValue\n >\n | MeetingNotesEmptyFilter\n\ntype MeetingNotesPersonFilter =\n | MeetingNotesValueFilter<\n Exclude<\n MeetingNotesPersonFilterOperator,\n MeetingNotesEmptyFilter[\"operator\"]\n >,\n MeetingNotesPersonOperatorValue | MeetingNotesPersonOperatorValue[]\n >\n | MeetingNotesEmptyFilter\n\ntype MeetingNotesPropertyFilterByProperty = {\n title: MeetingNotesTextFilter\n created_time: MeetingNotesDateFilter\n last_edited_time: MeetingNotesDateFilter\n created_by: MeetingNotesPersonFilter\n last_edited_by: MeetingNotesPersonFilter\n attendees: MeetingNotesPersonFilter\n}\n\nexport type MeetingNotesPropertyFilter = {\n [Property in keyof MeetingNotesPropertyFilterByProperty]: {\n property: Property\n filter: MeetingNotesPropertyFilterByProperty[Property]\n }\n}[keyof MeetingNotesPropertyFilterByProperty]\n\nexport type MeetingNotesFilterNode =\n MeetingNotesCombinatorFilter | MeetingNotesPropertyFilter\n\nexport type MeetingNotesCombinatorFilter = {\n operator: \"and\" | \"or\"\n filters?: MeetingNotesFilterNode[]\n}\n\nexport type MeetingNotesSort = {\n property: MeetingNotesPropertyName\n direction: \"ascending\" | \"descending\"\n}\n\nexport type QueryMeetingNotesParameters = Omit<\n ApiQueryMeetingNotesParameters,\n \"filter\" | \"sort\"\n> & {\n filter?: MeetingNotesCombinatorFilter\n sort?: MeetingNotesSort[]\n}\n"]}
|
package/build/src/webhooks.d.ts
CHANGED
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
* Pass the raw body as received. Parsing and re-serializing JSON can change
|
|
7
7
|
* its bytes and invalidate the signature.
|
|
8
8
|
*
|
|
9
|
-
* The helpers use
|
|
10
|
-
* back to the Web Crypto API in Node's crypto module.
|
|
9
|
+
* The helpers use the global Web Crypto API provided by Node.js 22 and later.
|
|
11
10
|
*/
|
|
12
11
|
export type VerifyWebhookSignatureArgs = {
|
|
13
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/webhooks.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/webhooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,MAAM,0BAA0B,GAAG;IACvC;;;;OAIG;IACH,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;IACzB;;;OAGG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACpC;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;IACzB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,CAQlB"}
|
package/build/src/webhooks.js
CHANGED
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
* Pass the raw body as received. Parsing and re-serializing JSON can change
|
|
8
8
|
* its bytes and invalidate the signature.
|
|
9
9
|
*
|
|
10
|
-
* The helpers use
|
|
11
|
-
* back to the Web Crypto API in Node's crypto module.
|
|
10
|
+
* The helpers use the global Web Crypto API provided by Node.js 22 and later.
|
|
12
11
|
*/
|
|
13
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
13
|
exports.verifyWebhookSignature = verifyWebhookSignature;
|
|
@@ -38,8 +37,8 @@ async function verifyWebhookSignature(args) {
|
|
|
38
37
|
if (!/^[0-9a-f]+$/.test(providedHex)) {
|
|
39
38
|
return false;
|
|
40
39
|
}
|
|
41
|
-
const
|
|
42
|
-
return
|
|
40
|
+
const key = await importHmacKey(verificationToken, "verify");
|
|
41
|
+
return globalThis.crypto.subtle.verify("HMAC", key, hexToBytes(providedHex), bodyToBytes(body));
|
|
43
42
|
}
|
|
44
43
|
/**
|
|
45
44
|
* Compute the value Notion would send in `X-Notion-Signature` for a
|
|
@@ -47,51 +46,18 @@ async function verifyWebhookSignature(args) {
|
|
|
47
46
|
* without a live subscription.
|
|
48
47
|
*/
|
|
49
48
|
async function signWebhookPayload(args) {
|
|
50
|
-
const
|
|
51
|
-
|
|
49
|
+
const key = await importHmacKey(args.verificationToken, "sign");
|
|
50
|
+
const signature = await globalThis.crypto.subtle.sign("HMAC", key, bodyToBytes(args.body));
|
|
51
|
+
return `${SIGNATURE_PREFIX}${bytesToHex(new Uint8Array(signature))}`;
|
|
52
52
|
}
|
|
53
|
-
async function
|
|
54
|
-
|
|
55
|
-
const encoder = new TextEncoder();
|
|
56
|
-
const keyBytes = encoder.encode(key);
|
|
57
|
-
// Copy any Uint8Array input into a fresh ArrayBuffer-backed view so
|
|
58
|
-
// subtle.sign (which forbids SharedArrayBuffer-backed views) is
|
|
59
|
-
// satisfied regardless of where the caller's buffer came from.
|
|
60
|
-
const bodyBytes = typeof body === "string" ? encoder.encode(body) : Uint8Array.from(body);
|
|
61
|
-
const cryptoKey = await subtle.importKey("raw", keyBytes, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
|
|
62
|
-
const signatureBuffer = await subtle.sign("HMAC", cryptoKey, bodyBytes);
|
|
63
|
-
return bytesToHex(new Uint8Array(signatureBuffer));
|
|
53
|
+
async function importHmacKey(token, usage) {
|
|
54
|
+
return globalThis.crypto.subtle.importKey("raw", new TextEncoder().encode(token), { name: "HMAC", hash: "SHA-256" }, false, [usage]);
|
|
64
55
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
const fromGlobal = (_a = globalThis
|
|
72
|
-
.crypto) === null || _a === void 0 ? void 0 : _a.subtle;
|
|
73
|
-
if (fromGlobal) {
|
|
74
|
-
cachedSubtle = fromGlobal;
|
|
75
|
-
return cachedSubtle;
|
|
76
|
-
}
|
|
77
|
-
// Load Node's fallback only when needed so browser callers can use the
|
|
78
|
-
// global API without loading a Node module.
|
|
79
|
-
try {
|
|
80
|
-
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
81
|
-
const nodeCrypto = require("crypto");
|
|
82
|
-
/* eslint-enable @typescript-eslint/no-var-requires */
|
|
83
|
-
if ((_b = nodeCrypto.webcrypto) === null || _b === void 0 ? void 0 : _b.subtle) {
|
|
84
|
-
cachedSubtle = nodeCrypto.webcrypto.subtle;
|
|
85
|
-
return cachedSubtle;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
catch {
|
|
89
|
-
// node:crypto unavailable (e.g. a browser bundle that stubbed it).
|
|
90
|
-
// Fall through to the error below.
|
|
91
|
-
}
|
|
92
|
-
throw new Error("verifyWebhookSignature requires Web Crypto support " +
|
|
93
|
-
"(globalThis.crypto.subtle or node:crypto.webcrypto). Upgrade to " +
|
|
94
|
-
"a runtime that provides one of them.");
|
|
56
|
+
function bodyToBytes(body) {
|
|
57
|
+
// Web Crypto requires ArrayBuffer-backed views; binary inputs may use SharedArrayBuffer.
|
|
58
|
+
return typeof body === "string"
|
|
59
|
+
? new TextEncoder().encode(body)
|
|
60
|
+
: Uint8Array.from(body);
|
|
95
61
|
}
|
|
96
62
|
function bytesToHex(bytes) {
|
|
97
63
|
let hex = "";
|
|
@@ -100,17 +66,11 @@ function bytesToHex(bytes) {
|
|
|
100
66
|
}
|
|
101
67
|
return hex;
|
|
102
68
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if (a.length !== b.length) {
|
|
108
|
-
return false;
|
|
109
|
-
}
|
|
110
|
-
let diff = 0;
|
|
111
|
-
for (let i = 0; i < a.length; i++) {
|
|
112
|
-
diff |= a.charCodeAt(i) ^ b.charCodeAt(i);
|
|
69
|
+
function hexToBytes(hex) {
|
|
70
|
+
const bytes = new Uint8Array(hex.length / 2);
|
|
71
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
72
|
+
bytes[i] = Number.parseInt(hex.slice(i * 2, i * 2 + 2), 16);
|
|
113
73
|
}
|
|
114
|
-
return
|
|
74
|
+
return bytes;
|
|
115
75
|
}
|
|
116
76
|
//# sourceMappingURL=webhooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/webhooks.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/webhooks.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Helpers for receiving and verifying Notion webhook deliveries.\n *\n * Event signatures use HMAC-SHA256 with the subscription's verification\n * token. The `X-Notion-Signature` header contains `sha256=<hex>`.\n * Pass the raw body as received. Parsing and re-serializing JSON can change\n * its bytes and invalidate the signature.\n *\n * The helpers use the global Web Crypto API provided by Node.js 22 and later.\n */\n\nconst SIGNATURE_PREFIX = \"sha256=\"\nconst SHA256_HEX_LENGTH = 64\n\nexport type VerifyWebhookSignatureArgs = {\n /**\n * The raw HTTP request body, before any parsing.\n * Pass a string for text bodies or a Uint8Array/Buffer for binary-safe\n * access. Re-serialized JSON will not verify.\n */\n body: string | Uint8Array\n /**\n * The value of the `X-Notion-Signature` request header. Verification\n * fails (returns false) if this is missing or malformed.\n */\n signature: string | null | undefined\n /**\n * The verification token configured for this webhook subscription\n * (returned by Notion when the subscription was created and surfaced\n * during the initial handshake).\n */\n verificationToken: string\n}\n\n/**\n * Verify that a webhook delivery came from Notion and has not been\n * tampered with.\n *\n * Returns `true` if the signature matches HMAC-SHA256 of the body using\n * the verification token. Returns `false` for a missing or malformed\n * signature. Crypto errors may throw.\n */\nexport async function verifyWebhookSignature(\n args: VerifyWebhookSignatureArgs\n): Promise<boolean> {\n const { body, signature, verificationToken } = args\n\n if (typeof signature !== \"string\") {\n return false\n }\n if (!signature.startsWith(SIGNATURE_PREFIX)) {\n return false\n }\n\n const providedHex = signature.slice(SIGNATURE_PREFIX.length).toLowerCase()\n if (providedHex.length !== SHA256_HEX_LENGTH) {\n return false\n }\n if (!/^[0-9a-f]+$/.test(providedHex)) {\n return false\n }\n\n const key = await importHmacKey(verificationToken, \"verify\")\n return globalThis.crypto.subtle.verify(\n \"HMAC\",\n key,\n hexToBytes(providedHex),\n bodyToBytes(body)\n )\n}\n\n/**\n * Compute the value Notion would send in `X-Notion-Signature` for a\n * given body and verification token. Use this to test webhook handlers\n * without a live subscription.\n */\nexport async function signWebhookPayload(args: {\n body: string | Uint8Array\n verificationToken: string\n}): Promise<string> {\n const key = await importHmacKey(args.verificationToken, \"sign\")\n const signature = await globalThis.crypto.subtle.sign(\n \"HMAC\",\n key,\n bodyToBytes(args.body)\n )\n return `${SIGNATURE_PREFIX}${bytesToHex(new Uint8Array(signature))}`\n}\n\nasync function importHmacKey(\n token: string,\n usage: \"sign\" | \"verify\"\n): Promise<CryptoKey> {\n return globalThis.crypto.subtle.importKey(\n \"raw\",\n new TextEncoder().encode(token),\n { name: \"HMAC\", hash: \"SHA-256\" },\n false,\n [usage]\n )\n}\n\nfunction bodyToBytes(body: string | Uint8Array): Uint8Array<ArrayBuffer> {\n // Web Crypto requires ArrayBuffer-backed views; binary inputs may use SharedArrayBuffer.\n return typeof body === \"string\"\n ? new TextEncoder().encode(body)\n : Uint8Array.from(body)\n}\n\nfunction bytesToHex(bytes: Uint8Array): string {\n let hex = \"\"\n for (const byte of bytes) {\n hex += byte.toString(16).padStart(2, \"0\")\n }\n return hex\n}\n\nfunction hexToBytes(hex: string): Uint8Array<ArrayBuffer> {\n const bytes = new Uint8Array(hex.length / 2)\n for (let i = 0; i < bytes.length; i++) {\n bytes[i] = Number.parseInt(hex.slice(i * 2, i * 2 + 2), 16)\n }\n return bytes\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@notionhq/client",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.30.0",
|
|
4
4
|
"description": "A simple and easy to use client for the Notion API",
|
|
5
5
|
"engines": {
|
|
6
|
-
"node": ">=
|
|
6
|
+
"node": ">=22"
|
|
7
|
+
},
|
|
8
|
+
"devEngines": {
|
|
9
|
+
"packageManager": {
|
|
10
|
+
"name": "npm",
|
|
11
|
+
"version": ">=11.10.0"
|
|
12
|
+
}
|
|
7
13
|
},
|
|
8
14
|
"homepage": "https://developers.notion.com/docs/getting-started",
|
|
9
15
|
"bugs": {
|
|
@@ -45,17 +51,19 @@
|
|
|
45
51
|
"build/src/**"
|
|
46
52
|
],
|
|
47
53
|
"devDependencies": {
|
|
48
|
-
"@
|
|
49
|
-
"@
|
|
50
|
-
"@typescript-eslint/
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
54
|
+
"@eslint/js": "10.0.1",
|
|
55
|
+
"@types/jest": "30.0.0",
|
|
56
|
+
"@typescript-eslint/eslint-plugin": "8.72.1",
|
|
57
|
+
"@typescript-eslint/parser": "8.72.1",
|
|
58
|
+
"cspell": "10.4.0",
|
|
59
|
+
"eslint": "10.13.0",
|
|
60
|
+
"globals": "17.13.0",
|
|
61
|
+
"husky": "9.1.7",
|
|
62
|
+
"jest": "30.5.2",
|
|
63
|
+
"lint-staged": "17.6.0",
|
|
64
|
+
"markdown-link-check": "3.15.0",
|
|
65
|
+
"prettier": "3.9.10",
|
|
66
|
+
"ts-jest": "29.4.15",
|
|
67
|
+
"typescript": "6.0.3"
|
|
60
68
|
}
|
|
61
69
|
}
|