@notionhq/client 5.23.1 → 5.23.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@notionhq/client",
3
- "version": "5.23.1",
3
+ "version": "5.23.3",
4
4
  "description": "A simple and easy to use client for the Notion API",
5
5
  "engines": {
6
6
  "node": ">=18"
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"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"}
@@ -983,22 +983,7 @@ class Client {
983
983
  * Returns the delay in milliseconds, or undefined if not present or invalid.
984
984
  */
985
985
  parseRetryAfterHeader(headers) {
986
- var _a, _b;
987
- if (!headers) {
988
- return undefined;
989
- }
990
- let retryAfterValue = null;
991
- // Handle Headers object (standard fetch API)
992
- if (typeof headers === "object" && "get" in headers) {
993
- const headersObj = headers;
994
- retryAfterValue = headersObj.get("retry-after");
995
- }
996
- // Handle plain object
997
- else if (typeof headers === "object") {
998
- const headersRecord = headers;
999
- retryAfterValue =
1000
- (_b = (_a = headersRecord["retry-after"]) !== null && _a !== void 0 ? _a : headersRecord["Retry-After"]) !== null && _b !== void 0 ? _b : null;
1001
- }
986
+ const retryAfterValue = (0, errors_1.getResponseHeader)(headers, "retry-after");
1002
987
  if (!retryAfterValue) {
1003
988
  return undefined;
1004
989
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Agent } from \"node:http\"\nimport {\n type Logger,\n LogLevel,\n logLevelSeverity,\n makeConsoleLogger,\n} from \"./logging\"\nimport {\n APIErrorCode,\n APIResponseError,\n buildRequestError,\n isHTTPResponseError,\n isNotionClientError,\n type NotionClientError,\n RequestTimeoutError,\n validateRequestPath,\n} from \"./errors\"\nimport { pick, getUnknownParams, type EndpointDefinition } from \"./utils\"\nimport {\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} from \"./constants\"\nimport {\n type GetBlockParameters,\n type GetBlockResponse,\n getBlock,\n type UpdateBlockParameters,\n type UpdateBlockResponse,\n updateBlock,\n type DeleteBlockParameters,\n type DeleteBlockResponse,\n deleteBlock,\n type AppendBlockChildrenParameters,\n type AppendBlockChildrenResponse,\n appendBlockChildren,\n type ListBlockChildrenParameters,\n type ListBlockChildrenResponse,\n listBlockChildren,\n type QueryDataSourceParameters,\n type QueryDataSourceResponse,\n queryDataSource,\n type CreateDataSourceParameters,\n type CreateDataSourceResponse,\n createDataSource,\n type UpdateDataSourceParameters,\n type UpdateDataSourceResponse,\n updateDataSource,\n type GetDataSourceParameters,\n type GetDataSourceResponse,\n getDataSource,\n type CreatePageParameters,\n type CreatePageResponse,\n createPage,\n type GetPageParameters,\n type GetPageResponse,\n getPage,\n type UpdatePageParameters,\n type UpdatePageResponse,\n updatePage,\n type MovePageParameters,\n type MovePageResponse,\n movePage,\n type GetPageMarkdownParameters,\n type GetPageMarkdownResponse,\n getPageMarkdown,\n type UpdatePageMarkdownParameters,\n type UpdatePageMarkdownResponse,\n updatePageMarkdown,\n type GetUserParameters,\n type GetUserResponse,\n getUser,\n type ListUsersParameters,\n type ListUsersResponse,\n listUsers,\n type SearchParameters,\n type SearchResponse,\n search,\n type GetSelfParameters,\n type GetSelfResponse,\n getSelf,\n type GetPagePropertyParameters,\n type GetPagePropertyResponse,\n getPageProperty,\n type CreateCommentParameters,\n type CreateCommentResponse,\n createComment,\n type ListCommentsParameters,\n type ListCommentsResponse,\n listComments,\n type GetCommentParameters,\n type GetCommentResponse,\n getComment,\n type UpdateCommentParameters,\n type UpdateCommentResponse,\n updateComment,\n type DeleteCommentParameters,\n type DeleteCommentResponse,\n deleteComment,\n type OauthTokenResponse,\n type OauthTokenParameters,\n oauthToken,\n type OauthIntrospectResponse,\n type OauthIntrospectParameters,\n oauthIntrospect,\n type OauthRevokeResponse,\n type OauthRevokeParameters,\n oauthRevoke,\n type CreateFileUploadParameters,\n type CreateFileUploadResponse,\n createFileUpload,\n type GetFileUploadResponse,\n type GetFileUploadParameters,\n getFileUpload,\n type SendFileUploadParameters,\n type SendFileUploadResponse,\n sendFileUpload,\n type CompleteFileUploadParameters,\n type CompleteFileUploadResponse,\n completeFileUpload,\n type ListFileUploadsParameters,\n type ListFileUploadsResponse,\n listFileUploads,\n GetDatabaseParameters,\n GetDatabaseResponse,\n getDatabase,\n CreateDatabaseResponse,\n CreateDatabaseParameters,\n createDatabase,\n UpdateDatabaseParameters,\n UpdateDatabaseResponse,\n updateDatabase,\n listDataSourceTemplates,\n ListDataSourceTemplatesResponse,\n ListDataSourceTemplatesParameters,\n type ListDatabaseViewsParameters,\n type ListDatabaseViewsResponse,\n listDatabaseViews,\n type CreateViewParameters,\n type CreateViewResponse,\n createView,\n type GetViewParameters,\n type GetViewResponse,\n getView,\n type UpdateViewParameters,\n type UpdateViewResponse,\n updateView,\n type DeleteViewParameters,\n type DeleteViewResponse,\n deleteView,\n type CreateViewQueryParameters,\n type CreateViewQueryResponse,\n createViewQuery,\n type GetViewQueryResultsParameters,\n type GetViewQueryResultsResponse,\n getViewQueryResults,\n type DeleteViewQueryParameters,\n type DeleteViewQueryResponse,\n deleteViewQuery,\n type ListCustomEmojisParameters,\n type ListCustomEmojisResponse,\n listCustomEmojis,\n type GetAsyncTaskParameters,\n type GetAsyncTaskResponse,\n getAsyncTask,\n} from \"./api-endpoints\"\nimport {\n type QueryMeetingNotesResponse,\n queryMeetingNotes,\n} from \"./api-endpoints/meeting-notes\"\nimport type { QueryMeetingNotesParameters } from \"./meeting-notes\"\nimport {\n version as PACKAGE_VERSION,\n name as PACKAGE_NAME,\n} from \"../package.json\"\nimport type { SupportedFetch } from \"./fetch-types\"\n\nexport type RetryOptions = {\n /**\n * Maximum number of retry attempts. Set to 0 to disable retries.\n * @default 2\n */\n maxRetries?: number\n /**\n * Initial delay between retries in milliseconds.\n * Used as base for exponential back-off when retry-after header is absent.\n * @default 1000\n */\n initialRetryDelayMs?: number\n /**\n * Maximum delay between retries in milliseconds.\n * @default 60000\n */\n maxRetryDelayMs?: number\n}\n\nexport type ClientOptions = {\n auth?: string\n timeoutMs?: number\n baseUrl?: string\n logLevel?: LogLevel\n logger?: Logger\n notionVersion?: string\n fetch?: SupportedFetch\n /** Silently ignored in the browser */\n agent?: Agent\n /**\n * Configuration for automatic retries on rate limit (429) and server errors.\n * Set to false to disable retries entirely.\n */\n retry?: RetryOptions | false\n}\n\ntype FileParam = {\n filename?: string\n data: string | Blob\n}\n\nconst START_CURSOR_PARAM_NAME = \"start_cursor\"\n\nexport type RequestParameters = {\n path: string\n method: Method\n query?: QueryParams\n body?: Record<string, unknown>\n formDataParams?: Record<string, string | FileParam>\n headers?: Record<string, string>\n /**\n * To authenticate using public API token, `auth` should be passed as a\n * string. If you are trying to complete OAuth, then `auth` should be an object\n * containing your integration's client ID and secret.\n */\n auth?:\n | string\n | {\n client_id: string\n client_secret: string\n }\n}\n\nexport default class Client {\n #auth?: string\n #logLevel: LogLevel\n #logger: Logger\n #prefixUrl: string\n #timeoutMs: number\n #notionVersion: string\n #fetch: SupportedFetch\n #agent: Agent | undefined\n #userAgent: string\n #maxRetries: number\n #initialRetryDelayMs: number\n #maxRetryDelayMs: number\n\n static readonly defaultNotionVersion = \"2025-09-03\"\n\n public constructor(options?: ClientOptions) {\n this.#auth = options?.auth\n this.#logLevel = options?.logLevel ?? LogLevel.WARN\n this.#logger = options?.logger ?? makeConsoleLogger(PACKAGE_NAME)\n this.#prefixUrl = `${options?.baseUrl ?? DEFAULT_BASE_URL}/v1/`\n this.#timeoutMs = options?.timeoutMs ?? DEFAULT_TIMEOUT_MS\n this.#notionVersion = options?.notionVersion ?? Client.defaultNotionVersion\n this.#fetch = options?.fetch ?? fetch.bind(globalThis)\n this.#agent = options?.agent\n this.#userAgent = `notionhq-client/${PACKAGE_VERSION}`\n\n if (options?.retry === false) {\n this.#maxRetries = 0\n this.#initialRetryDelayMs = 0\n this.#maxRetryDelayMs = 0\n } else {\n this.#maxRetries = options?.retry?.maxRetries ?? DEFAULT_MAX_RETRIES\n this.#initialRetryDelayMs =\n options?.retry?.initialRetryDelayMs ?? DEFAULT_INITIAL_RETRY_DELAY_MS\n this.#maxRetryDelayMs =\n options?.retry?.maxRetryDelayMs ?? DEFAULT_MAX_RETRY_DELAY_MS\n }\n }\n\n /**\n * Sends a request.\n */\n public async request<ResponseBody extends object>(\n args: RequestParameters\n ): Promise<ResponseBody> {\n const { path, method, query, body, formDataParams, auth } = args\n\n validateRequestPath(path)\n\n this.log(LogLevel.INFO, \"request start\", { method, path })\n\n const url = this.buildRequestUrl(path, query)\n const bodyAsJsonString = this.serializeBody(body)\n const headers = this.buildRequestHeaders(\n args.headers,\n auth,\n bodyAsJsonString\n )\n const formData = this.buildFormData(formDataParams, headers)\n\n return this.executeWithRetry<ResponseBody>({\n url,\n method,\n path,\n headers,\n body: bodyAsJsonString ?? formData,\n })\n }\n\n /**\n * Builds the full URL with query parameters.\n */\n private buildRequestUrl(path: string, query: QueryParams | undefined): URL {\n const url = new URL(`${this.#prefixUrl}${path}`)\n if (query) {\n for (const [key, value] of Object.entries(query)) {\n // Skip `null` for the same reason as `undefined`: callers pipe\n // `next_cursor` (which can be `null`) back as `start_cursor`, and a\n // null cursor means \"no cursor\" — encoding it as the string \"null\"\n // would send a bogus value to the server.\n if (value !== undefined && value !== null) {\n if (Array.isArray(value)) {\n for (const val of value) {\n url.searchParams.append(key, decodeURIComponent(val))\n }\n } else {\n url.searchParams.append(key, String(value))\n }\n }\n }\n }\n return url\n }\n\n /**\n * Serializes the request body to JSON string if non-empty.\n */\n private serializeBody(\n body: Record<string, unknown> | undefined\n ): string | undefined {\n if (!body) {\n return undefined\n }\n\n const serializedBody = { ...body }\n if (serializedBody[START_CURSOR_PARAM_NAME] === null) {\n delete serializedBody[START_CURSOR_PARAM_NAME]\n }\n\n if (Object.entries(serializedBody).length === 0) {\n return undefined\n }\n\n return JSON.stringify(serializedBody)\n }\n\n /**\n * Builds the request headers including auth and content-type.\n */\n private buildRequestHeaders(\n customHeaders: Record<string, string> | undefined,\n auth: RequestParameters[\"auth\"],\n bodyAsJsonString: string | undefined\n ): Record<string, string> {\n const authorizationHeader = this.buildAuthHeader(auth)\n\n const headers: Record<string, string> = {\n ...customHeaders,\n ...authorizationHeader,\n \"Notion-Version\": this.#notionVersion,\n \"user-agent\": this.#userAgent,\n }\n\n if (bodyAsJsonString !== undefined) {\n headers[\"content-type\"] = \"application/json\"\n }\n\n return headers\n }\n\n /**\n * Builds the authorization header based on auth type.\n */\n private buildAuthHeader(\n auth: RequestParameters[\"auth\"]\n ): Record<string, string> {\n if (typeof auth === \"object\") {\n const unencodedCredential = `${auth.client_id}:${auth.client_secret}`\n const encodedCredential =\n Buffer.from(unencodedCredential).toString(\"base64\")\n return { authorization: `Basic ${encodedCredential}` }\n }\n return this.authAsHeaders(auth)\n }\n\n /**\n * Builds FormData from form parameters if provided.\n * Also removes content-type header to let fetch set the boundary.\n */\n private buildFormData(\n formDataParams: Record<string, string | FileParam> | undefined,\n headers: Record<string, string>\n ): FormData | undefined {\n if (!formDataParams) {\n return undefined\n }\n\n delete headers[\"content-type\"]\n\n const formData = new FormData()\n for (const [key, value] of Object.entries(formDataParams)) {\n if (typeof value === \"string\") {\n formData.append(key, value)\n } else if (typeof value === \"object\") {\n formData.append(\n key,\n typeof value.data === \"object\" ? value.data : new Blob([value.data]),\n value.filename\n )\n }\n }\n return formData\n }\n\n /**\n * Executes the request with retry logic.\n */\n private async executeWithRetry<ResponseBody extends object>(args: {\n url: URL\n method: Method\n path: string\n headers: Record<string, string>\n body: string | FormData | undefined\n }): Promise<ResponseBody> {\n const { url, method, path, headers, body } = args\n let attempt = 0\n // eslint-disable-next-line no-constant-condition\n while (true) {\n try {\n return await this.executeSingleRequest<ResponseBody>({\n url,\n method,\n path,\n headers,\n body,\n })\n } catch (error: unknown) {\n if (!isNotionClientError(error)) {\n throw error\n }\n\n this.logRequestError(error, attempt)\n\n if (attempt < this.#maxRetries && this.canRetry(error, method)) {\n const delayMs = this.calculateRetryDelay(error, attempt)\n this.log(LogLevel.INFO, \"retrying request\", {\n method,\n path,\n attempt: attempt + 1,\n delayMs,\n })\n await this.sleep(delayMs)\n attempt++\n continue\n }\n\n throw error\n }\n }\n }\n\n /**\n * Executes a single HTTP request (no retry).\n */\n private async executeSingleRequest<ResponseBody extends object>(args: {\n url: URL\n method: Method\n path: string\n headers: Record<string, string>\n body: string | FormData | undefined\n }): Promise<ResponseBody> {\n const { url, method, path, headers, body } = args\n const response = await RequestTimeoutError.rejectAfterTimeout(\n this.#fetch(url.toString(), {\n method: method.toUpperCase(),\n headers,\n body,\n agent: this.#agent,\n }),\n this.#timeoutMs\n )\n\n const responseText = await response.text()\n if (!response.ok) {\n throw buildRequestError(response, responseText)\n }\n\n const responseJson: ResponseBody = JSON.parse(responseText)\n this.log(LogLevel.INFO, \"request success\", {\n method,\n path,\n ...this.extractRequestId(responseJson),\n })\n return responseJson\n }\n\n /**\n * Logs a request error with appropriate detail level.\n */\n private logRequestError(error: NotionClientError, attempt: number): void {\n this.log(LogLevel.WARN, \"request fail\", {\n code: error.code,\n message: error.message,\n attempt,\n ...this.extractRequestId(error),\n })\n\n if (isHTTPResponseError(error)) {\n this.log(LogLevel.DEBUG, \"failed response body\", {\n body: error.body,\n })\n }\n }\n\n /**\n * Extracts request_id from an object if present.\n */\n private extractRequestId(obj: unknown): { requestId?: string } {\n if (\n obj &&\n typeof obj === \"object\" &&\n \"request_id\" in obj &&\n typeof obj.request_id === \"string\"\n ) {\n return { requestId: obj.request_id }\n }\n return {}\n }\n\n /**\n * Determines if an error can be retried based on its error code and method.\n * Rate limits (429) and service overloads (529) are always retryable since\n * the server explicitly asks us to retry. Server errors (500, 503) are only\n * retried for idempotent methods (GET, DELETE) to avoid duplicate side\n * effects.\n */\n private canRetry(error: unknown, method: Method): boolean {\n if (!APIResponseError.isAPIResponseError(error)) {\n return false\n }\n\n // Server says \"try again later\"; retry these for every HTTP method.\n if (\n error.code === APIErrorCode.RateLimited ||\n error.code === APIErrorCode.ServiceOverload\n ) {\n return true\n }\n\n // Server errors only retry for idempotent methods\n const isIdempotent = method === \"get\" || method === \"delete\"\n if (isIdempotent) {\n return (\n error.code === APIErrorCode.InternalServerError ||\n error.code === APIErrorCode.ServiceUnavailable\n )\n }\n\n return false\n }\n\n /**\n * Calculates the delay before the next retry attempt.\n * Uses retry-after header if present, otherwise exponential back-off with\n * jitter.\n */\n private calculateRetryDelay(error: unknown, attempt: number): number {\n // Try to get retry-after from the error headers\n if (APIResponseError.isAPIResponseError(error)) {\n const retryAfterMs = this.parseRetryAfterHeader(error.headers)\n if (retryAfterMs !== undefined) {\n return Math.min(retryAfterMs, this.#maxRetryDelayMs)\n }\n }\n\n // Exponential back-off with full jitter\n const baseDelay = this.#initialRetryDelayMs * Math.pow(2, attempt)\n const jitter = Math.random()\n return Math.min(baseDelay * jitter + baseDelay / 2, this.#maxRetryDelayMs)\n }\n\n /**\n * Parses the retry-after header value.\n * Supports both delta-seconds (e.g., \"120\") and HTTP-date formats.\n * Returns the delay in milliseconds, or undefined if not present or invalid.\n */\n private parseRetryAfterHeader(headers: unknown): number | undefined {\n if (!headers) {\n return undefined\n }\n\n let retryAfterValue: string | null = null\n\n // Handle Headers object (standard fetch API)\n if (typeof headers === \"object\" && \"get\" in headers) {\n const headersObj = headers as { get: (name: string) => string | null }\n retryAfterValue = headersObj.get(\"retry-after\")\n }\n // Handle plain object\n else if (typeof headers === \"object\") {\n const headersRecord = headers as Record<string, string>\n retryAfterValue =\n headersRecord[\"retry-after\"] ?? headersRecord[\"Retry-After\"] ?? null\n }\n\n if (!retryAfterValue) {\n return undefined\n }\n\n // Try parsing as delta-seconds (integer)\n const seconds = parseInt(retryAfterValue, 10)\n if (!isNaN(seconds) && seconds >= 0) {\n return seconds * 1000\n }\n\n // Try parsing as HTTP-date\n const date = Date.parse(retryAfterValue)\n if (!isNaN(date)) {\n const delayMs = date - Date.now()\n return delayMs > 0 ? delayMs : 0\n }\n\n return undefined\n }\n\n private sleep(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms))\n }\n\n /*\n * Notion API endpoints\n */\n\n public readonly asyncTasks = {\n /**\n * Retrieve an async task\n */\n retrieve: (\n args: WithAuth<GetAsyncTaskParameters>\n ): Promise<GetAsyncTaskResponse> => {\n this.warnUnknownParams(args, getAsyncTask)\n return this.request<GetAsyncTaskResponse>({\n path: getAsyncTask.path(args),\n method: getAsyncTask.method,\n query: pick(args, getAsyncTask.queryParams),\n body: pick(args, getAsyncTask.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly blocks = {\n /**\n * Retrieve block\n */\n retrieve: (\n args: WithAuth<GetBlockParameters>\n ): Promise<GetBlockResponse> => {\n this.warnUnknownParams(args, getBlock)\n return this.request<GetBlockResponse>({\n path: getBlock.path(args),\n method: getBlock.method,\n query: pick(args, getBlock.queryParams),\n body: pick(args, getBlock.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update block\n */\n update: (\n args: WithAuth<UpdateBlockParameters>\n ): Promise<UpdateBlockResponse> => {\n this.warnUnknownParams(args, updateBlock)\n return this.request<UpdateBlockResponse>({\n path: updateBlock.path(args),\n method: updateBlock.method,\n query: pick(args, updateBlock.queryParams),\n body: pick(args, updateBlock.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Delete block\n */\n delete: (\n args: WithAuth<DeleteBlockParameters>\n ): Promise<DeleteBlockResponse> => {\n this.warnUnknownParams(args, deleteBlock)\n return this.request<DeleteBlockResponse>({\n path: deleteBlock.path(args),\n method: deleteBlock.method,\n query: pick(args, deleteBlock.queryParams),\n body: pick(args, deleteBlock.bodyParams),\n auth: args?.auth,\n })\n },\n children: {\n /**\n * Append block children\n */\n append: (\n args: WithAuth<AppendBlockChildrenParameters>\n ): Promise<AppendBlockChildrenResponse> => {\n this.warnUnknownParams(args, appendBlockChildren)\n return this.request<AppendBlockChildrenResponse>({\n path: appendBlockChildren.path(args),\n method: appendBlockChildren.method,\n query: pick(args, appendBlockChildren.queryParams),\n body: pick(args, appendBlockChildren.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve block children\n */\n list: (\n args: WithAuth<ListBlockChildrenParameters>\n ): Promise<ListBlockChildrenResponse> => {\n this.warnUnknownParams(args, listBlockChildren)\n return this.request<ListBlockChildrenResponse>({\n path: listBlockChildren.path(args),\n method: listBlockChildren.method,\n query: pick(args, listBlockChildren.queryParams),\n body: pick(args, listBlockChildren.bodyParams),\n auth: args?.auth,\n })\n },\n },\n\n meetingNotes: {\n /**\n * Query meeting notes\n */\n query: (\n args: WithAuth<QueryMeetingNotesParameters>\n ): Promise<QueryMeetingNotesResponse> => {\n return this.request<QueryMeetingNotesResponse>({\n path: queryMeetingNotes.path(),\n method: queryMeetingNotes.method,\n query: pick(args, queryMeetingNotes.queryParams),\n body: pick(args, queryMeetingNotes.bodyParams),\n auth: args?.auth,\n })\n },\n },\n }\n\n public readonly databases = {\n /**\n * Retrieve a database\n */\n retrieve: (\n args: WithAuth<GetDatabaseParameters>\n ): Promise<GetDatabaseResponse> => {\n this.warnUnknownParams(args, getDatabase)\n return this.request<GetDatabaseResponse>({\n path: getDatabase.path(args),\n method: getDatabase.method,\n query: pick(args, getDatabase.queryParams),\n body: pick(args, getDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Create a database\n */\n create: (\n args: WithAuth<CreateDatabaseParameters>\n ): Promise<CreateDatabaseResponse> => {\n this.warnUnknownParams(args, createDatabase)\n return this.request<CreateDatabaseResponse>({\n path: createDatabase.path(),\n method: createDatabase.method,\n query: pick(args, createDatabase.queryParams),\n body: pick(args, createDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update a database\n */\n update: (\n args: WithAuth<UpdateDatabaseParameters>\n ): Promise<UpdateDatabaseResponse> => {\n this.warnUnknownParams(args, updateDatabase)\n return this.request<UpdateDatabaseResponse>({\n path: updateDatabase.path(args),\n method: updateDatabase.method,\n query: pick(args, updateDatabase.queryParams),\n body: pick(args, updateDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly dataSources = {\n /**\n * Retrieve a data source\n */\n retrieve: (\n args: WithAuth<GetDataSourceParameters>\n ): Promise<GetDataSourceResponse> => {\n this.warnUnknownParams(args, getDataSource)\n return this.request<GetDataSourceResponse>({\n path: getDataSource.path(args),\n method: getDataSource.method,\n query: pick(args, getDataSource.queryParams),\n body: pick(args, getDataSource.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Query a data source\n */\n query: (\n args: WithAuth<QueryDataSourceParameters>\n ): Promise<QueryDataSourceResponse> => {\n this.warnUnknownParams(args, queryDataSource)\n return this.request<QueryDataSourceResponse>({\n path: queryDataSource.path(args),\n method: queryDataSource.method,\n query: pick(args, queryDataSource.queryParams),\n body: pick(args, queryDataSource.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Create a data source\n */\n create: (\n args: WithAuth<CreateDataSourceParameters>\n ): Promise<CreateDataSourceResponse> => {\n this.warnUnknownParams(args, createDataSource)\n return this.request<CreateDataSourceResponse>({\n path: createDataSource.path(),\n method: createDataSource.method,\n query: pick(args, createDataSource.queryParams),\n body: pick(args, createDataSource.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update a data source\n */\n update: (\n args: WithAuth<UpdateDataSourceParameters>\n ): Promise<UpdateDataSourceResponse> => {\n this.warnUnknownParams(args, updateDataSource)\n return this.request<UpdateDataSourceResponse>({\n path: updateDataSource.path(args),\n method: updateDataSource.method,\n query: pick(args, updateDataSource.queryParams),\n body: pick(args, updateDataSource.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List page templates that are available for a data source\n */\n listTemplates: (\n args: WithAuth<ListDataSourceTemplatesParameters>\n ): Promise<ListDataSourceTemplatesResponse> => {\n this.warnUnknownParams(args, listDataSourceTemplates)\n return this.request<ListDataSourceTemplatesResponse>({\n path: listDataSourceTemplates.path(args),\n method: listDataSourceTemplates.method,\n query: pick(args, listDataSourceTemplates.queryParams),\n body: pick(args, listDataSourceTemplates.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly pages = {\n /**\n * Create a page\n */\n create: (\n args: WithAuth<CreatePageParameters>\n ): Promise<CreatePageResponse> => {\n this.warnUnknownParams(args, createPage)\n return this.request<CreatePageResponse>({\n path: createPage.path(),\n method: createPage.method,\n query: pick(args, createPage.queryParams),\n body: pick(args, createPage.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a page\n */\n retrieve: (args: WithAuth<GetPageParameters>): Promise<GetPageResponse> => {\n this.warnUnknownParams(args, getPage)\n return this.request<GetPageResponse>({\n path: getPage.path(args),\n method: getPage.method,\n query: pick(args, getPage.queryParams),\n body: pick(args, getPage.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update page properties\n */\n update: (\n args: WithAuth<UpdatePageParameters>\n ): Promise<UpdatePageResponse> => {\n this.warnUnknownParams(args, updatePage)\n return this.request<UpdatePageResponse>({\n path: updatePage.path(args),\n method: updatePage.method,\n query: pick(args, updatePage.queryParams),\n body: pick(args, updatePage.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Move a page\n */\n move: (args: WithAuth<MovePageParameters>): Promise<MovePageResponse> => {\n this.warnUnknownParams(args, movePage)\n return this.request<MovePageResponse>({\n path: movePage.path(args),\n method: movePage.method,\n query: pick(args, movePage.queryParams),\n body: pick(args, movePage.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a page as markdown\n */\n retrieveMarkdown: (\n args: WithAuth<GetPageMarkdownParameters>\n ): Promise<GetPageMarkdownResponse> => {\n return this.request<GetPageMarkdownResponse>({\n path: getPageMarkdown.path(args),\n method: getPageMarkdown.method,\n query: pick(args, getPageMarkdown.queryParams),\n body: pick(args, getPageMarkdown.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update a page's content as markdown\n */\n updateMarkdown: (\n args: WithAuth<UpdatePageMarkdownParameters>\n ): Promise<UpdatePageMarkdownResponse> => {\n return this.request<UpdatePageMarkdownResponse>({\n path: updatePageMarkdown.path(args),\n method: updatePageMarkdown.method,\n query: pick(args, updatePageMarkdown.queryParams),\n body: pick(args, updatePageMarkdown.bodyParams),\n auth: args?.auth,\n })\n },\n properties: {\n /**\n * Retrieve page property\n */\n retrieve: (\n args: WithAuth<GetPagePropertyParameters>\n ): Promise<GetPagePropertyResponse> => {\n this.warnUnknownParams(args, getPageProperty)\n return this.request<GetPagePropertyResponse>({\n path: getPageProperty.path(args),\n method: getPageProperty.method,\n query: pick(args, getPageProperty.queryParams),\n body: pick(args, getPageProperty.bodyParams),\n auth: args?.auth,\n })\n },\n },\n }\n\n public readonly users = {\n /**\n * Retrieve a user\n */\n retrieve: (args: WithAuth<GetUserParameters>): Promise<GetUserResponse> => {\n this.warnUnknownParams(args, getUser)\n return this.request<GetUserResponse>({\n path: getUser.path(args),\n method: getUser.method,\n query: pick(args, getUser.queryParams),\n body: pick(args, getUser.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List all users\n */\n list: (args: WithAuth<ListUsersParameters>): Promise<ListUsersResponse> => {\n this.warnUnknownParams(args, listUsers)\n return this.request<ListUsersResponse>({\n path: listUsers.path(),\n method: listUsers.method,\n query: pick(args, listUsers.queryParams),\n body: pick(args, listUsers.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Get details about bot\n */\n me: (args: WithAuth<GetSelfParameters>): Promise<GetSelfResponse> => {\n this.warnUnknownParams(args, getSelf)\n return this.request<GetSelfResponse>({\n path: getSelf.path(),\n method: getSelf.method,\n query: pick(args, getSelf.queryParams),\n body: pick(args, getSelf.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly customEmojis = {\n /**\n * List custom emojis\n */\n list: (\n args?: WithAuth<ListCustomEmojisParameters>\n ): Promise<ListCustomEmojisResponse> => {\n this.warnUnknownParams(args ?? {}, listCustomEmojis)\n return this.request<ListCustomEmojisResponse>({\n path: listCustomEmojis.path(),\n method: listCustomEmojis.method,\n query: pick(args ?? {}, listCustomEmojis.queryParams),\n body: pick(args ?? {}, listCustomEmojis.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly comments = {\n /**\n * Create a comment\n */\n create: (\n args: WithAuth<CreateCommentParameters>\n ): Promise<CreateCommentResponse> => {\n this.warnUnknownParams(args, createComment)\n return this.request<CreateCommentResponse>({\n path: createComment.path(),\n method: createComment.method,\n query: pick(args, createComment.queryParams),\n body: pick(args, createComment.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List comments\n */\n list: (\n args: WithAuth<ListCommentsParameters>\n ): Promise<ListCommentsResponse> => {\n this.warnUnknownParams(args, listComments)\n return this.request<ListCommentsResponse>({\n path: listComments.path(),\n method: listComments.method,\n query: pick(args, listComments.queryParams),\n body: pick(args, listComments.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a comment\n */\n retrieve: (\n args: WithAuth<GetCommentParameters>\n ): Promise<GetCommentResponse> => {\n this.warnUnknownParams(args, getComment)\n return this.request<GetCommentResponse>({\n path: getComment.path(args),\n method: getComment.method,\n query: pick(args, getComment.queryParams),\n body: pick(args, getComment.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update a comment\n */\n update: (\n args: WithAuth<UpdateCommentParameters>\n ): Promise<UpdateCommentResponse> => {\n this.warnUnknownParams(args, updateComment)\n return this.request<UpdateCommentResponse>({\n path: updateComment.path(args),\n method: updateComment.method,\n query: pick(args, updateComment.queryParams),\n body: pick(args, updateComment.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Delete a comment\n */\n delete: (\n args: WithAuth<DeleteCommentParameters>\n ): Promise<DeleteCommentResponse> => {\n this.warnUnknownParams(args, deleteComment)\n return this.request<DeleteCommentResponse>({\n path: deleteComment.path(args),\n method: deleteComment.method,\n query: pick(args, deleteComment.queryParams),\n body: pick(args, deleteComment.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly fileUploads = {\n /**\n * Create a file upload\n */\n create: (\n args: WithAuth<CreateFileUploadParameters>\n ): Promise<CreateFileUploadResponse> => {\n this.warnUnknownParams(args, createFileUpload)\n return this.request<CreateFileUploadResponse>({\n path: createFileUpload.path(),\n method: createFileUpload.method,\n query: pick(args, createFileUpload.queryParams),\n body: pick(args, createFileUpload.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a file upload\n */\n retrieve: (\n args: WithAuth<GetFileUploadParameters>\n ): Promise<GetFileUploadResponse> => {\n this.warnUnknownParams(args, getFileUpload)\n return this.request<GetFileUploadResponse>({\n path: getFileUpload.path(args),\n method: getFileUpload.method,\n query: pick(args, getFileUpload.queryParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List file uploads\n */\n list: (\n args: WithAuth<ListFileUploadsParameters>\n ): Promise<ListFileUploadsResponse> => {\n this.warnUnknownParams(args, listFileUploads)\n return this.request<ListFileUploadsResponse>({\n path: listFileUploads.path(),\n method: listFileUploads.method,\n query: pick(args, listFileUploads.queryParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Send a file upload\n *\n * Requires a `file_upload_id`, obtained from the `id` of the Create File\n * Upload API response.\n *\n * The `file` parameter contains the raw file contents or Blob/File object\n * under `file.data`, and an optional `file.filename` string.\n *\n * Supply a stringified `part_number` parameter when using file uploads\n * in multi-part mode.\n *\n * This endpoint sends HTTP multipart/form-data instead of JSON parameters.\n */\n send: (\n args: WithAuth<SendFileUploadParameters>\n ): Promise<SendFileUploadResponse> => {\n this.warnUnknownParams(args, sendFileUpload)\n return this.request<SendFileUploadResponse>({\n path: sendFileUpload.path(args),\n method: sendFileUpload.method,\n query: pick(args, sendFileUpload.queryParams),\n formDataParams: pick(args, sendFileUpload.formDataParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Complete a file upload\n */\n complete: (\n args: WithAuth<CompleteFileUploadParameters>\n ): Promise<CompleteFileUploadResponse> => {\n this.warnUnknownParams(args, completeFileUpload)\n return this.request<CompleteFileUploadResponse>({\n path: completeFileUpload.path(args),\n method: completeFileUpload.method,\n query: pick(args, completeFileUpload.queryParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly views = {\n /**\n * Create a view\n */\n create: (\n args: WithAuth<CreateViewParameters>\n ): Promise<CreateViewResponse> => {\n return this.request<CreateViewResponse>({\n path: createView.path(),\n method: createView.method,\n query: pick(args, createView.queryParams),\n body: pick(args, [\n \"data_source_id\",\n \"name\",\n \"type\",\n \"database_id\",\n \"view_id\",\n \"filter\",\n \"sorts\",\n \"quick_filters\",\n \"create_database\",\n \"configuration\",\n \"position\",\n \"placement\",\n ] as const),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a view\n */\n retrieve: (args: WithAuth<GetViewParameters>): Promise<GetViewResponse> => {\n this.warnUnknownParams(args, getView)\n return this.request<GetViewResponse>({\n path: getView.path(args),\n method: getView.method,\n query: pick(args, getView.queryParams),\n body: pick(args, getView.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update a view\n */\n update: (\n args: WithAuth<UpdateViewParameters>\n ): Promise<UpdateViewResponse> => {\n return this.request<UpdateViewResponse>({\n path: updateView.path(args),\n method: updateView.method,\n query: pick(args, updateView.queryParams),\n body: pick(args, [\n \"name\",\n \"filter\",\n \"sorts\",\n \"quick_filters\",\n \"configuration\",\n ] as const),\n auth: args?.auth,\n })\n },\n\n /**\n * Delete a view\n */\n delete: (\n args: WithAuth<DeleteViewParameters>\n ): Promise<DeleteViewResponse> => {\n this.warnUnknownParams(args, deleteView)\n return this.request<DeleteViewResponse>({\n path: deleteView.path(args),\n method: deleteView.method,\n query: pick(args, deleteView.queryParams),\n body: pick(args, deleteView.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List views for a database\n */\n list: (\n args: WithAuth<ListDatabaseViewsParameters>\n ): Promise<ListDatabaseViewsResponse> => {\n this.warnUnknownParams(args, listDatabaseViews)\n return this.request<ListDatabaseViewsResponse>({\n path: listDatabaseViews.path(),\n method: listDatabaseViews.method,\n query: pick(args, listDatabaseViews.queryParams),\n body: pick(args, listDatabaseViews.bodyParams),\n auth: args?.auth,\n })\n },\n\n queries: {\n /**\n * Create a view query\n */\n create: (\n args: WithAuth<CreateViewQueryParameters>\n ): Promise<CreateViewQueryResponse> => {\n return this.request<CreateViewQueryResponse>({\n path: createViewQuery.path(args),\n method: createViewQuery.method,\n query: pick(args, createViewQuery.queryParams),\n body: pick(args, [\"page_size\"] as const),\n auth: args?.auth,\n })\n },\n\n /**\n * Get view query results\n */\n results: (\n args: WithAuth<GetViewQueryResultsParameters>\n ): Promise<GetViewQueryResultsResponse> => {\n this.warnUnknownParams(args, getViewQueryResults)\n return this.request<GetViewQueryResultsResponse>({\n path: getViewQueryResults.path(args),\n method: getViewQueryResults.method,\n query: pick(args, getViewQueryResults.queryParams),\n body: pick(args, getViewQueryResults.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Delete a view query\n */\n delete: (\n args: WithAuth<DeleteViewQueryParameters>\n ): Promise<DeleteViewQueryResponse> => {\n this.warnUnknownParams(args, deleteViewQuery)\n return this.request<DeleteViewQueryResponse>({\n path: deleteViewQuery.path(args),\n method: deleteViewQuery.method,\n query: pick(args, deleteViewQuery.queryParams),\n body: pick(args, deleteViewQuery.bodyParams),\n auth: args?.auth,\n })\n },\n },\n }\n\n /**\n * Search\n */\n public search = (\n args: WithAuth<SearchParameters>\n ): Promise<SearchResponse> => {\n this.warnUnknownParams(args, search)\n return this.request<SearchResponse>({\n path: search.path(),\n method: search.method,\n query: pick(args, search.queryParams),\n body: pick(args, search.bodyParams),\n auth: args?.auth,\n })\n }\n\n public readonly oauth = {\n /**\n * Get token\n */\n token: (\n args: OauthTokenParameters & {\n client_id: string\n client_secret: string\n }\n ): Promise<OauthTokenResponse> => {\n return this.request<OauthTokenResponse>({\n path: oauthToken.path(),\n method: oauthToken.method,\n query: pick(args, oauthToken.queryParams),\n body: pick(args, oauthToken.bodyParams),\n auth: {\n client_id: args.client_id,\n client_secret: args.client_secret,\n },\n })\n },\n /**\n * Introspect token\n */\n introspect: (\n args: OauthIntrospectParameters & {\n client_id: string\n client_secret: string\n }\n ): Promise<OauthIntrospectResponse> => {\n return this.request<OauthIntrospectResponse>({\n path: oauthIntrospect.path(),\n method: oauthIntrospect.method,\n query: pick(args, oauthIntrospect.queryParams),\n body: pick(args, oauthIntrospect.bodyParams),\n auth: {\n client_id: args.client_id,\n client_secret: args.client_secret,\n },\n })\n },\n /**\n * Revoke token\n */\n revoke: (\n args: OauthRevokeParameters & {\n client_id: string\n client_secret: string\n }\n ): Promise<OauthRevokeResponse> => {\n return this.request<OauthRevokeResponse>({\n path: oauthRevoke.path(),\n method: oauthRevoke.method,\n query: pick(args, oauthRevoke.queryParams),\n body: pick(args, oauthRevoke.bodyParams),\n auth: {\n client_id: args.client_id,\n client_secret: args.client_secret,\n },\n })\n },\n }\n\n /**\n * Logs a warning when the caller passes parameters that are not recognized\n * by the endpoint definition. This helps catch typos and renamed parameters\n * (e.g. `archived` vs `in_trash` for `databases.update`) that would\n * otherwise be silently dropped by `pick()`.\n */\n private warnUnknownParams(\n args: Record<string, unknown>,\n endpoint: EndpointDefinition\n ): void {\n if (!args || typeof args !== \"object\") return\n\n const unknownKeys = getUnknownParams(args, endpoint)\n if (unknownKeys.length > 0) {\n this.log(LogLevel.WARN, \"unknown parameters were ignored\", {\n unknownParams: unknownKeys,\n knownParams: [\n ...endpoint.pathParams,\n ...endpoint.queryParams,\n ...endpoint.bodyParams,\n ...(endpoint.formDataParams ?? []),\n ],\n })\n }\n }\n\n /**\n * Emits a log message to the console.\n *\n * @param level The level for this message\n * @param args Arguments to send to the console\n */\n private log(\n level: LogLevel,\n message: string,\n extraInfo: Record<string, unknown>\n ) {\n if (logLevelSeverity(level) >= logLevelSeverity(this.#logLevel)) {\n this.#logger(level, message, extraInfo)\n }\n }\n\n /**\n * Transforms an API key or access token into a headers object suitable for an HTTP request.\n *\n * This method uses the instance's value as the default when the input is undefined. If neither are defined, it returns\n * an empty object\n *\n * @param auth API key or access token\n * @returns headers key-value object\n */\n private authAsHeaders(auth?: string): Record<string, string> {\n const headers: Record<string, string> = {}\n const authHeaderValue = auth ?? this.#auth\n if (authHeaderValue !== undefined) {\n headers[\"authorization\"] = `Bearer ${authHeaderValue}`\n }\n return headers\n }\n}\n\n/*\n * Type aliases to support the generic request interface.\n */\ntype Method = \"get\" | \"post\" | \"patch\" | \"delete\"\ntype QueryParams =\n | Record<string, string | number | boolean | string[] | null>\n | URLSearchParams\n\ntype WithAuth<P> = P & { auth?: string }\n"]}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Agent } from \"node:http\"\nimport {\n type Logger,\n LogLevel,\n logLevelSeverity,\n makeConsoleLogger,\n} from \"./logging\"\nimport {\n APIErrorCode,\n APIResponseError,\n buildRequestError,\n getResponseHeader,\n isHTTPResponseError,\n isNotionClientError,\n type NotionClientError,\n RequestTimeoutError,\n validateRequestPath,\n} from \"./errors\"\nimport { pick, getUnknownParams, type EndpointDefinition } from \"./utils\"\nimport {\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} from \"./constants\"\nimport {\n type GetBlockParameters,\n type GetBlockResponse,\n getBlock,\n type UpdateBlockParameters,\n type UpdateBlockResponse,\n updateBlock,\n type DeleteBlockParameters,\n type DeleteBlockResponse,\n deleteBlock,\n type AppendBlockChildrenParameters,\n type AppendBlockChildrenResponse,\n appendBlockChildren,\n type ListBlockChildrenParameters,\n type ListBlockChildrenResponse,\n listBlockChildren,\n type QueryDataSourceParameters,\n type QueryDataSourceResponse,\n queryDataSource,\n type CreateDataSourceParameters,\n type CreateDataSourceResponse,\n createDataSource,\n type UpdateDataSourceParameters,\n type UpdateDataSourceResponse,\n updateDataSource,\n type GetDataSourceParameters,\n type GetDataSourceResponse,\n getDataSource,\n type CreatePageParameters,\n type CreatePageResponse,\n createPage,\n type GetPageParameters,\n type GetPageResponse,\n getPage,\n type UpdatePageParameters,\n type UpdatePageResponse,\n updatePage,\n type MovePageParameters,\n type MovePageResponse,\n movePage,\n type GetPageMarkdownParameters,\n type GetPageMarkdownResponse,\n getPageMarkdown,\n type UpdatePageMarkdownParameters,\n type UpdatePageMarkdownResponse,\n updatePageMarkdown,\n type GetUserParameters,\n type GetUserResponse,\n getUser,\n type ListUsersParameters,\n type ListUsersResponse,\n listUsers,\n type SearchParameters,\n type SearchResponse,\n search,\n type GetSelfParameters,\n type GetSelfResponse,\n getSelf,\n type GetPagePropertyParameters,\n type GetPagePropertyResponse,\n getPageProperty,\n type CreateCommentParameters,\n type CreateCommentResponse,\n createComment,\n type ListCommentsParameters,\n type ListCommentsResponse,\n listComments,\n type GetCommentParameters,\n type GetCommentResponse,\n getComment,\n type UpdateCommentParameters,\n type UpdateCommentResponse,\n updateComment,\n type DeleteCommentParameters,\n type DeleteCommentResponse,\n deleteComment,\n type OauthTokenResponse,\n type OauthTokenParameters,\n oauthToken,\n type OauthIntrospectResponse,\n type OauthIntrospectParameters,\n oauthIntrospect,\n type OauthRevokeResponse,\n type OauthRevokeParameters,\n oauthRevoke,\n type CreateFileUploadParameters,\n type CreateFileUploadResponse,\n createFileUpload,\n type GetFileUploadResponse,\n type GetFileUploadParameters,\n getFileUpload,\n type SendFileUploadParameters,\n type SendFileUploadResponse,\n sendFileUpload,\n type CompleteFileUploadParameters,\n type CompleteFileUploadResponse,\n completeFileUpload,\n type ListFileUploadsParameters,\n type ListFileUploadsResponse,\n listFileUploads,\n GetDatabaseParameters,\n GetDatabaseResponse,\n getDatabase,\n CreateDatabaseResponse,\n CreateDatabaseParameters,\n createDatabase,\n UpdateDatabaseParameters,\n UpdateDatabaseResponse,\n updateDatabase,\n listDataSourceTemplates,\n ListDataSourceTemplatesResponse,\n ListDataSourceTemplatesParameters,\n type ListDatabaseViewsParameters,\n type ListDatabaseViewsResponse,\n listDatabaseViews,\n type CreateViewParameters,\n type CreateViewResponse,\n createView,\n type GetViewParameters,\n type GetViewResponse,\n getView,\n type UpdateViewParameters,\n type UpdateViewResponse,\n updateView,\n type DeleteViewParameters,\n type DeleteViewResponse,\n deleteView,\n type CreateViewQueryParameters,\n type CreateViewQueryResponse,\n createViewQuery,\n type GetViewQueryResultsParameters,\n type GetViewQueryResultsResponse,\n getViewQueryResults,\n type DeleteViewQueryParameters,\n type DeleteViewQueryResponse,\n deleteViewQuery,\n type ListCustomEmojisParameters,\n type ListCustomEmojisResponse,\n listCustomEmojis,\n type GetAsyncTaskParameters,\n type GetAsyncTaskResponse,\n getAsyncTask,\n} from \"./api-endpoints\"\nimport {\n type QueryMeetingNotesResponse,\n queryMeetingNotes,\n} from \"./api-endpoints/meeting-notes\"\nimport type { QueryMeetingNotesParameters } from \"./meeting-notes\"\nimport {\n version as PACKAGE_VERSION,\n name as PACKAGE_NAME,\n} from \"../package.json\"\nimport type { SupportedFetch } from \"./fetch-types\"\n\nexport type RetryOptions = {\n /**\n * Maximum number of retry attempts. Set to 0 to disable retries.\n * @default 2\n */\n maxRetries?: number\n /**\n * Initial delay between retries in milliseconds.\n * Used as base for exponential back-off when retry-after header is absent.\n * @default 1000\n */\n initialRetryDelayMs?: number\n /**\n * Maximum delay between retries in milliseconds.\n * @default 60000\n */\n maxRetryDelayMs?: number\n}\n\nexport type ClientOptions = {\n auth?: string\n timeoutMs?: number\n baseUrl?: string\n logLevel?: LogLevel\n logger?: Logger\n notionVersion?: string\n fetch?: SupportedFetch\n /** Silently ignored in the browser */\n agent?: Agent\n /**\n * Configuration for automatic retries on rate limit (429) and server errors.\n * Set to false to disable retries entirely.\n */\n retry?: RetryOptions | false\n}\n\ntype FileParam = {\n filename?: string\n data: string | Blob\n}\n\nconst START_CURSOR_PARAM_NAME = \"start_cursor\"\n\nexport type RequestParameters = {\n path: string\n method: Method\n query?: QueryParams\n body?: Record<string, unknown>\n formDataParams?: Record<string, string | FileParam>\n headers?: Record<string, string>\n /**\n * To authenticate using public API token, `auth` should be passed as a\n * string. If you are trying to complete OAuth, then `auth` should be an object\n * containing your integration's client ID and secret.\n */\n auth?:\n | string\n | {\n client_id: string\n client_secret: string\n }\n}\n\nexport default class Client {\n #auth?: string\n #logLevel: LogLevel\n #logger: Logger\n #prefixUrl: string\n #timeoutMs: number\n #notionVersion: string\n #fetch: SupportedFetch\n #agent: Agent | undefined\n #userAgent: string\n #maxRetries: number\n #initialRetryDelayMs: number\n #maxRetryDelayMs: number\n\n static readonly defaultNotionVersion = \"2025-09-03\"\n\n public constructor(options?: ClientOptions) {\n this.#auth = options?.auth\n this.#logLevel = options?.logLevel ?? LogLevel.WARN\n this.#logger = options?.logger ?? makeConsoleLogger(PACKAGE_NAME)\n this.#prefixUrl = `${options?.baseUrl ?? DEFAULT_BASE_URL}/v1/`\n this.#timeoutMs = options?.timeoutMs ?? DEFAULT_TIMEOUT_MS\n this.#notionVersion = options?.notionVersion ?? Client.defaultNotionVersion\n this.#fetch = options?.fetch ?? fetch.bind(globalThis)\n this.#agent = options?.agent\n this.#userAgent = `notionhq-client/${PACKAGE_VERSION}`\n\n if (options?.retry === false) {\n this.#maxRetries = 0\n this.#initialRetryDelayMs = 0\n this.#maxRetryDelayMs = 0\n } else {\n this.#maxRetries = options?.retry?.maxRetries ?? DEFAULT_MAX_RETRIES\n this.#initialRetryDelayMs =\n options?.retry?.initialRetryDelayMs ?? DEFAULT_INITIAL_RETRY_DELAY_MS\n this.#maxRetryDelayMs =\n options?.retry?.maxRetryDelayMs ?? DEFAULT_MAX_RETRY_DELAY_MS\n }\n }\n\n /**\n * Sends a request.\n */\n public async request<ResponseBody extends object>(\n args: RequestParameters\n ): Promise<ResponseBody> {\n const { path, method, query, body, formDataParams, auth } = args\n\n validateRequestPath(path)\n\n this.log(LogLevel.INFO, \"request start\", { method, path })\n\n const url = this.buildRequestUrl(path, query)\n const bodyAsJsonString = this.serializeBody(body)\n const headers = this.buildRequestHeaders(\n args.headers,\n auth,\n bodyAsJsonString\n )\n const formData = this.buildFormData(formDataParams, headers)\n\n return this.executeWithRetry<ResponseBody>({\n url,\n method,\n path,\n headers,\n body: bodyAsJsonString ?? formData,\n })\n }\n\n /**\n * Builds the full URL with query parameters.\n */\n private buildRequestUrl(path: string, query: QueryParams | undefined): URL {\n const url = new URL(`${this.#prefixUrl}${path}`)\n if (query) {\n for (const [key, value] of Object.entries(query)) {\n // Skip `null` for the same reason as `undefined`: callers pipe\n // `next_cursor` (which can be `null`) back as `start_cursor`, and a\n // null cursor means \"no cursor\" — encoding it as the string \"null\"\n // would send a bogus value to the server.\n if (value !== undefined && value !== null) {\n if (Array.isArray(value)) {\n for (const val of value) {\n url.searchParams.append(key, decodeURIComponent(val))\n }\n } else {\n url.searchParams.append(key, String(value))\n }\n }\n }\n }\n return url\n }\n\n /**\n * Serializes the request body to JSON string if non-empty.\n */\n private serializeBody(\n body: Record<string, unknown> | undefined\n ): string | undefined {\n if (!body) {\n return undefined\n }\n\n const serializedBody = { ...body }\n if (serializedBody[START_CURSOR_PARAM_NAME] === null) {\n delete serializedBody[START_CURSOR_PARAM_NAME]\n }\n\n if (Object.entries(serializedBody).length === 0) {\n return undefined\n }\n\n return JSON.stringify(serializedBody)\n }\n\n /**\n * Builds the request headers including auth and content-type.\n */\n private buildRequestHeaders(\n customHeaders: Record<string, string> | undefined,\n auth: RequestParameters[\"auth\"],\n bodyAsJsonString: string | undefined\n ): Record<string, string> {\n const authorizationHeader = this.buildAuthHeader(auth)\n\n const headers: Record<string, string> = {\n ...customHeaders,\n ...authorizationHeader,\n \"Notion-Version\": this.#notionVersion,\n \"user-agent\": this.#userAgent,\n }\n\n if (bodyAsJsonString !== undefined) {\n headers[\"content-type\"] = \"application/json\"\n }\n\n return headers\n }\n\n /**\n * Builds the authorization header based on auth type.\n */\n private buildAuthHeader(\n auth: RequestParameters[\"auth\"]\n ): Record<string, string> {\n if (typeof auth === \"object\") {\n const unencodedCredential = `${auth.client_id}:${auth.client_secret}`\n const encodedCredential =\n Buffer.from(unencodedCredential).toString(\"base64\")\n return { authorization: `Basic ${encodedCredential}` }\n }\n return this.authAsHeaders(auth)\n }\n\n /**\n * Builds FormData from form parameters if provided.\n * Also removes content-type header to let fetch set the boundary.\n */\n private buildFormData(\n formDataParams: Record<string, string | FileParam> | undefined,\n headers: Record<string, string>\n ): FormData | undefined {\n if (!formDataParams) {\n return undefined\n }\n\n delete headers[\"content-type\"]\n\n const formData = new FormData()\n for (const [key, value] of Object.entries(formDataParams)) {\n if (typeof value === \"string\") {\n formData.append(key, value)\n } else if (typeof value === \"object\") {\n formData.append(\n key,\n typeof value.data === \"object\" ? value.data : new Blob([value.data]),\n value.filename\n )\n }\n }\n return formData\n }\n\n /**\n * Executes the request with retry logic.\n */\n private async executeWithRetry<ResponseBody extends object>(args: {\n url: URL\n method: Method\n path: string\n headers: Record<string, string>\n body: string | FormData | undefined\n }): Promise<ResponseBody> {\n const { url, method, path, headers, body } = args\n let attempt = 0\n // eslint-disable-next-line no-constant-condition\n while (true) {\n try {\n return await this.executeSingleRequest<ResponseBody>({\n url,\n method,\n path,\n headers,\n body,\n })\n } catch (error: unknown) {\n if (!isNotionClientError(error)) {\n throw error\n }\n\n this.logRequestError(error, attempt)\n\n if (attempt < this.#maxRetries && this.canRetry(error, method)) {\n const delayMs = this.calculateRetryDelay(error, attempt)\n this.log(LogLevel.INFO, \"retrying request\", {\n method,\n path,\n attempt: attempt + 1,\n delayMs,\n })\n await this.sleep(delayMs)\n attempt++\n continue\n }\n\n throw error\n }\n }\n }\n\n /**\n * Executes a single HTTP request (no retry).\n */\n private async executeSingleRequest<ResponseBody extends object>(args: {\n url: URL\n method: Method\n path: string\n headers: Record<string, string>\n body: string | FormData | undefined\n }): Promise<ResponseBody> {\n const { url, method, path, headers, body } = args\n const response = await RequestTimeoutError.rejectAfterTimeout(\n this.#fetch(url.toString(), {\n method: method.toUpperCase(),\n headers,\n body,\n agent: this.#agent,\n }),\n this.#timeoutMs\n )\n\n const responseText = await response.text()\n if (!response.ok) {\n throw buildRequestError(response, responseText)\n }\n\n const responseJson: ResponseBody = JSON.parse(responseText)\n this.log(LogLevel.INFO, \"request success\", {\n method,\n path,\n ...this.extractRequestId(responseJson),\n })\n return responseJson\n }\n\n /**\n * Logs a request error with appropriate detail level.\n */\n private logRequestError(error: NotionClientError, attempt: number): void {\n this.log(LogLevel.WARN, \"request fail\", {\n code: error.code,\n message: error.message,\n attempt,\n ...this.extractRequestId(error),\n })\n\n if (isHTTPResponseError(error)) {\n this.log(LogLevel.DEBUG, \"failed response body\", {\n body: error.body,\n })\n }\n }\n\n /**\n * Extracts request_id from an object if present.\n */\n private extractRequestId(obj: unknown): { requestId?: string } {\n if (\n obj &&\n typeof obj === \"object\" &&\n \"request_id\" in obj &&\n typeof obj.request_id === \"string\"\n ) {\n return { requestId: obj.request_id }\n }\n return {}\n }\n\n /**\n * Determines if an error can be retried based on its error code and method.\n * Rate limits (429) and service overloads (529) are always retryable since\n * the server explicitly asks us to retry. Server errors (500, 503) are only\n * retried for idempotent methods (GET, DELETE) to avoid duplicate side\n * effects.\n */\n private canRetry(error: unknown, method: Method): boolean {\n if (!APIResponseError.isAPIResponseError(error)) {\n return false\n }\n\n // Server says \"try again later\"; retry these for every HTTP method.\n if (\n error.code === APIErrorCode.RateLimited ||\n error.code === APIErrorCode.ServiceOverload\n ) {\n return true\n }\n\n // Server errors only retry for idempotent methods\n const isIdempotent = method === \"get\" || method === \"delete\"\n if (isIdempotent) {\n return (\n error.code === APIErrorCode.InternalServerError ||\n error.code === APIErrorCode.ServiceUnavailable\n )\n }\n\n return false\n }\n\n /**\n * Calculates the delay before the next retry attempt.\n * Uses retry-after header if present, otherwise exponential back-off with\n * jitter.\n */\n private calculateRetryDelay(error: unknown, attempt: number): number {\n // Try to get retry-after from the error headers\n if (APIResponseError.isAPIResponseError(error)) {\n const retryAfterMs = this.parseRetryAfterHeader(error.headers)\n if (retryAfterMs !== undefined) {\n return Math.min(retryAfterMs, this.#maxRetryDelayMs)\n }\n }\n\n // Exponential back-off with full jitter\n const baseDelay = this.#initialRetryDelayMs * Math.pow(2, attempt)\n const jitter = Math.random()\n return Math.min(baseDelay * jitter + baseDelay / 2, this.#maxRetryDelayMs)\n }\n\n /**\n * Parses the retry-after header value.\n * Supports both delta-seconds (e.g., \"120\") and HTTP-date formats.\n * Returns the delay in milliseconds, or undefined if not present or invalid.\n */\n private parseRetryAfterHeader(headers: unknown): number | undefined {\n const retryAfterValue = getResponseHeader(headers, \"retry-after\")\n if (!retryAfterValue) {\n return undefined\n }\n\n // Try parsing as delta-seconds (integer)\n const seconds = parseInt(retryAfterValue, 10)\n if (!isNaN(seconds) && seconds >= 0) {\n return seconds * 1000\n }\n\n // Try parsing as HTTP-date\n const date = Date.parse(retryAfterValue)\n if (!isNaN(date)) {\n const delayMs = date - Date.now()\n return delayMs > 0 ? delayMs : 0\n }\n\n return undefined\n }\n\n private sleep(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms))\n }\n\n /*\n * Notion API endpoints\n */\n\n public readonly asyncTasks = {\n /**\n * Retrieve an async task\n */\n retrieve: (\n args: WithAuth<GetAsyncTaskParameters>\n ): Promise<GetAsyncTaskResponse> => {\n this.warnUnknownParams(args, getAsyncTask)\n return this.request<GetAsyncTaskResponse>({\n path: getAsyncTask.path(args),\n method: getAsyncTask.method,\n query: pick(args, getAsyncTask.queryParams),\n body: pick(args, getAsyncTask.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly blocks = {\n /**\n * Retrieve block\n */\n retrieve: (\n args: WithAuth<GetBlockParameters>\n ): Promise<GetBlockResponse> => {\n this.warnUnknownParams(args, getBlock)\n return this.request<GetBlockResponse>({\n path: getBlock.path(args),\n method: getBlock.method,\n query: pick(args, getBlock.queryParams),\n body: pick(args, getBlock.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update block\n */\n update: (\n args: WithAuth<UpdateBlockParameters>\n ): Promise<UpdateBlockResponse> => {\n this.warnUnknownParams(args, updateBlock)\n return this.request<UpdateBlockResponse>({\n path: updateBlock.path(args),\n method: updateBlock.method,\n query: pick(args, updateBlock.queryParams),\n body: pick(args, updateBlock.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Delete block\n */\n delete: (\n args: WithAuth<DeleteBlockParameters>\n ): Promise<DeleteBlockResponse> => {\n this.warnUnknownParams(args, deleteBlock)\n return this.request<DeleteBlockResponse>({\n path: deleteBlock.path(args),\n method: deleteBlock.method,\n query: pick(args, deleteBlock.queryParams),\n body: pick(args, deleteBlock.bodyParams),\n auth: args?.auth,\n })\n },\n children: {\n /**\n * Append block children\n */\n append: (\n args: WithAuth<AppendBlockChildrenParameters>\n ): Promise<AppendBlockChildrenResponse> => {\n this.warnUnknownParams(args, appendBlockChildren)\n return this.request<AppendBlockChildrenResponse>({\n path: appendBlockChildren.path(args),\n method: appendBlockChildren.method,\n query: pick(args, appendBlockChildren.queryParams),\n body: pick(args, appendBlockChildren.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve block children\n */\n list: (\n args: WithAuth<ListBlockChildrenParameters>\n ): Promise<ListBlockChildrenResponse> => {\n this.warnUnknownParams(args, listBlockChildren)\n return this.request<ListBlockChildrenResponse>({\n path: listBlockChildren.path(args),\n method: listBlockChildren.method,\n query: pick(args, listBlockChildren.queryParams),\n body: pick(args, listBlockChildren.bodyParams),\n auth: args?.auth,\n })\n },\n },\n\n meetingNotes: {\n /**\n * Query meeting notes\n */\n query: (\n args: WithAuth<QueryMeetingNotesParameters>\n ): Promise<QueryMeetingNotesResponse> => {\n return this.request<QueryMeetingNotesResponse>({\n path: queryMeetingNotes.path(),\n method: queryMeetingNotes.method,\n query: pick(args, queryMeetingNotes.queryParams),\n body: pick(args, queryMeetingNotes.bodyParams),\n auth: args?.auth,\n })\n },\n },\n }\n\n public readonly databases = {\n /**\n * Retrieve a database\n */\n retrieve: (\n args: WithAuth<GetDatabaseParameters>\n ): Promise<GetDatabaseResponse> => {\n this.warnUnknownParams(args, getDatabase)\n return this.request<GetDatabaseResponse>({\n path: getDatabase.path(args),\n method: getDatabase.method,\n query: pick(args, getDatabase.queryParams),\n body: pick(args, getDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Create a database\n */\n create: (\n args: WithAuth<CreateDatabaseParameters>\n ): Promise<CreateDatabaseResponse> => {\n this.warnUnknownParams(args, createDatabase)\n return this.request<CreateDatabaseResponse>({\n path: createDatabase.path(),\n method: createDatabase.method,\n query: pick(args, createDatabase.queryParams),\n body: pick(args, createDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update a database\n */\n update: (\n args: WithAuth<UpdateDatabaseParameters>\n ): Promise<UpdateDatabaseResponse> => {\n this.warnUnknownParams(args, updateDatabase)\n return this.request<UpdateDatabaseResponse>({\n path: updateDatabase.path(args),\n method: updateDatabase.method,\n query: pick(args, updateDatabase.queryParams),\n body: pick(args, updateDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly dataSources = {\n /**\n * Retrieve a data source\n */\n retrieve: (\n args: WithAuth<GetDataSourceParameters>\n ): Promise<GetDataSourceResponse> => {\n this.warnUnknownParams(args, getDataSource)\n return this.request<GetDataSourceResponse>({\n path: getDataSource.path(args),\n method: getDataSource.method,\n query: pick(args, getDataSource.queryParams),\n body: pick(args, getDataSource.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Query a data source\n */\n query: (\n args: WithAuth<QueryDataSourceParameters>\n ): Promise<QueryDataSourceResponse> => {\n this.warnUnknownParams(args, queryDataSource)\n return this.request<QueryDataSourceResponse>({\n path: queryDataSource.path(args),\n method: queryDataSource.method,\n query: pick(args, queryDataSource.queryParams),\n body: pick(args, queryDataSource.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Create a data source\n */\n create: (\n args: WithAuth<CreateDataSourceParameters>\n ): Promise<CreateDataSourceResponse> => {\n this.warnUnknownParams(args, createDataSource)\n return this.request<CreateDataSourceResponse>({\n path: createDataSource.path(),\n method: createDataSource.method,\n query: pick(args, createDataSource.queryParams),\n body: pick(args, createDataSource.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update a data source\n */\n update: (\n args: WithAuth<UpdateDataSourceParameters>\n ): Promise<UpdateDataSourceResponse> => {\n this.warnUnknownParams(args, updateDataSource)\n return this.request<UpdateDataSourceResponse>({\n path: updateDataSource.path(args),\n method: updateDataSource.method,\n query: pick(args, updateDataSource.queryParams),\n body: pick(args, updateDataSource.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List page templates that are available for a data source\n */\n listTemplates: (\n args: WithAuth<ListDataSourceTemplatesParameters>\n ): Promise<ListDataSourceTemplatesResponse> => {\n this.warnUnknownParams(args, listDataSourceTemplates)\n return this.request<ListDataSourceTemplatesResponse>({\n path: listDataSourceTemplates.path(args),\n method: listDataSourceTemplates.method,\n query: pick(args, listDataSourceTemplates.queryParams),\n body: pick(args, listDataSourceTemplates.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly pages = {\n /**\n * Create a page\n */\n create: (\n args: WithAuth<CreatePageParameters>\n ): Promise<CreatePageResponse> => {\n this.warnUnknownParams(args, createPage)\n return this.request<CreatePageResponse>({\n path: createPage.path(),\n method: createPage.method,\n query: pick(args, createPage.queryParams),\n body: pick(args, createPage.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a page\n */\n retrieve: (args: WithAuth<GetPageParameters>): Promise<GetPageResponse> => {\n this.warnUnknownParams(args, getPage)\n return this.request<GetPageResponse>({\n path: getPage.path(args),\n method: getPage.method,\n query: pick(args, getPage.queryParams),\n body: pick(args, getPage.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update page properties\n */\n update: (\n args: WithAuth<UpdatePageParameters>\n ): Promise<UpdatePageResponse> => {\n this.warnUnknownParams(args, updatePage)\n return this.request<UpdatePageResponse>({\n path: updatePage.path(args),\n method: updatePage.method,\n query: pick(args, updatePage.queryParams),\n body: pick(args, updatePage.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Move a page\n */\n move: (args: WithAuth<MovePageParameters>): Promise<MovePageResponse> => {\n this.warnUnknownParams(args, movePage)\n return this.request<MovePageResponse>({\n path: movePage.path(args),\n method: movePage.method,\n query: pick(args, movePage.queryParams),\n body: pick(args, movePage.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a page as markdown\n */\n retrieveMarkdown: (\n args: WithAuth<GetPageMarkdownParameters>\n ): Promise<GetPageMarkdownResponse> => {\n return this.request<GetPageMarkdownResponse>({\n path: getPageMarkdown.path(args),\n method: getPageMarkdown.method,\n query: pick(args, getPageMarkdown.queryParams),\n body: pick(args, getPageMarkdown.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update a page's content as markdown\n */\n updateMarkdown: (\n args: WithAuth<UpdatePageMarkdownParameters>\n ): Promise<UpdatePageMarkdownResponse> => {\n return this.request<UpdatePageMarkdownResponse>({\n path: updatePageMarkdown.path(args),\n method: updatePageMarkdown.method,\n query: pick(args, updatePageMarkdown.queryParams),\n body: pick(args, updatePageMarkdown.bodyParams),\n auth: args?.auth,\n })\n },\n properties: {\n /**\n * Retrieve page property\n */\n retrieve: (\n args: WithAuth<GetPagePropertyParameters>\n ): Promise<GetPagePropertyResponse> => {\n this.warnUnknownParams(args, getPageProperty)\n return this.request<GetPagePropertyResponse>({\n path: getPageProperty.path(args),\n method: getPageProperty.method,\n query: pick(args, getPageProperty.queryParams),\n body: pick(args, getPageProperty.bodyParams),\n auth: args?.auth,\n })\n },\n },\n }\n\n public readonly users = {\n /**\n * Retrieve a user\n */\n retrieve: (args: WithAuth<GetUserParameters>): Promise<GetUserResponse> => {\n this.warnUnknownParams(args, getUser)\n return this.request<GetUserResponse>({\n path: getUser.path(args),\n method: getUser.method,\n query: pick(args, getUser.queryParams),\n body: pick(args, getUser.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List all users\n */\n list: (args: WithAuth<ListUsersParameters>): Promise<ListUsersResponse> => {\n this.warnUnknownParams(args, listUsers)\n return this.request<ListUsersResponse>({\n path: listUsers.path(),\n method: listUsers.method,\n query: pick(args, listUsers.queryParams),\n body: pick(args, listUsers.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Get details about bot\n */\n me: (args: WithAuth<GetSelfParameters>): Promise<GetSelfResponse> => {\n this.warnUnknownParams(args, getSelf)\n return this.request<GetSelfResponse>({\n path: getSelf.path(),\n method: getSelf.method,\n query: pick(args, getSelf.queryParams),\n body: pick(args, getSelf.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly customEmojis = {\n /**\n * List custom emojis\n */\n list: (\n args?: WithAuth<ListCustomEmojisParameters>\n ): Promise<ListCustomEmojisResponse> => {\n this.warnUnknownParams(args ?? {}, listCustomEmojis)\n return this.request<ListCustomEmojisResponse>({\n path: listCustomEmojis.path(),\n method: listCustomEmojis.method,\n query: pick(args ?? {}, listCustomEmojis.queryParams),\n body: pick(args ?? {}, listCustomEmojis.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly comments = {\n /**\n * Create a comment\n */\n create: (\n args: WithAuth<CreateCommentParameters>\n ): Promise<CreateCommentResponse> => {\n this.warnUnknownParams(args, createComment)\n return this.request<CreateCommentResponse>({\n path: createComment.path(),\n method: createComment.method,\n query: pick(args, createComment.queryParams),\n body: pick(args, createComment.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List comments\n */\n list: (\n args: WithAuth<ListCommentsParameters>\n ): Promise<ListCommentsResponse> => {\n this.warnUnknownParams(args, listComments)\n return this.request<ListCommentsResponse>({\n path: listComments.path(),\n method: listComments.method,\n query: pick(args, listComments.queryParams),\n body: pick(args, listComments.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a comment\n */\n retrieve: (\n args: WithAuth<GetCommentParameters>\n ): Promise<GetCommentResponse> => {\n this.warnUnknownParams(args, getComment)\n return this.request<GetCommentResponse>({\n path: getComment.path(args),\n method: getComment.method,\n query: pick(args, getComment.queryParams),\n body: pick(args, getComment.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update a comment\n */\n update: (\n args: WithAuth<UpdateCommentParameters>\n ): Promise<UpdateCommentResponse> => {\n this.warnUnknownParams(args, updateComment)\n return this.request<UpdateCommentResponse>({\n path: updateComment.path(args),\n method: updateComment.method,\n query: pick(args, updateComment.queryParams),\n body: pick(args, updateComment.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Delete a comment\n */\n delete: (\n args: WithAuth<DeleteCommentParameters>\n ): Promise<DeleteCommentResponse> => {\n this.warnUnknownParams(args, deleteComment)\n return this.request<DeleteCommentResponse>({\n path: deleteComment.path(args),\n method: deleteComment.method,\n query: pick(args, deleteComment.queryParams),\n body: pick(args, deleteComment.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly fileUploads = {\n /**\n * Create a file upload\n */\n create: (\n args: WithAuth<CreateFileUploadParameters>\n ): Promise<CreateFileUploadResponse> => {\n this.warnUnknownParams(args, createFileUpload)\n return this.request<CreateFileUploadResponse>({\n path: createFileUpload.path(),\n method: createFileUpload.method,\n query: pick(args, createFileUpload.queryParams),\n body: pick(args, createFileUpload.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a file upload\n */\n retrieve: (\n args: WithAuth<GetFileUploadParameters>\n ): Promise<GetFileUploadResponse> => {\n this.warnUnknownParams(args, getFileUpload)\n return this.request<GetFileUploadResponse>({\n path: getFileUpload.path(args),\n method: getFileUpload.method,\n query: pick(args, getFileUpload.queryParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List file uploads\n */\n list: (\n args: WithAuth<ListFileUploadsParameters>\n ): Promise<ListFileUploadsResponse> => {\n this.warnUnknownParams(args, listFileUploads)\n return this.request<ListFileUploadsResponse>({\n path: listFileUploads.path(),\n method: listFileUploads.method,\n query: pick(args, listFileUploads.queryParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Send a file upload\n *\n * Requires a `file_upload_id`, obtained from the `id` of the Create File\n * Upload API response.\n *\n * The `file` parameter contains the raw file contents or Blob/File object\n * under `file.data`, and an optional `file.filename` string.\n *\n * Supply a stringified `part_number` parameter when using file uploads\n * in multi-part mode.\n *\n * This endpoint sends HTTP multipart/form-data instead of JSON parameters.\n */\n send: (\n args: WithAuth<SendFileUploadParameters>\n ): Promise<SendFileUploadResponse> => {\n this.warnUnknownParams(args, sendFileUpload)\n return this.request<SendFileUploadResponse>({\n path: sendFileUpload.path(args),\n method: sendFileUpload.method,\n query: pick(args, sendFileUpload.queryParams),\n formDataParams: pick(args, sendFileUpload.formDataParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Complete a file upload\n */\n complete: (\n args: WithAuth<CompleteFileUploadParameters>\n ): Promise<CompleteFileUploadResponse> => {\n this.warnUnknownParams(args, completeFileUpload)\n return this.request<CompleteFileUploadResponse>({\n path: completeFileUpload.path(args),\n method: completeFileUpload.method,\n query: pick(args, completeFileUpload.queryParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly views = {\n /**\n * Create a view\n */\n create: (\n args: WithAuth<CreateViewParameters>\n ): Promise<CreateViewResponse> => {\n return this.request<CreateViewResponse>({\n path: createView.path(),\n method: createView.method,\n query: pick(args, createView.queryParams),\n body: pick(args, [\n \"data_source_id\",\n \"name\",\n \"type\",\n \"database_id\",\n \"view_id\",\n \"filter\",\n \"sorts\",\n \"quick_filters\",\n \"create_database\",\n \"configuration\",\n \"position\",\n \"placement\",\n ] as const),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a view\n */\n retrieve: (args: WithAuth<GetViewParameters>): Promise<GetViewResponse> => {\n this.warnUnknownParams(args, getView)\n return this.request<GetViewResponse>({\n path: getView.path(args),\n method: getView.method,\n query: pick(args, getView.queryParams),\n body: pick(args, getView.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update a view\n */\n update: (\n args: WithAuth<UpdateViewParameters>\n ): Promise<UpdateViewResponse> => {\n return this.request<UpdateViewResponse>({\n path: updateView.path(args),\n method: updateView.method,\n query: pick(args, updateView.queryParams),\n body: pick(args, [\n \"name\",\n \"filter\",\n \"sorts\",\n \"quick_filters\",\n \"configuration\",\n ] as const),\n auth: args?.auth,\n })\n },\n\n /**\n * Delete a view\n */\n delete: (\n args: WithAuth<DeleteViewParameters>\n ): Promise<DeleteViewResponse> => {\n this.warnUnknownParams(args, deleteView)\n return this.request<DeleteViewResponse>({\n path: deleteView.path(args),\n method: deleteView.method,\n query: pick(args, deleteView.queryParams),\n body: pick(args, deleteView.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List views for a database\n */\n list: (\n args: WithAuth<ListDatabaseViewsParameters>\n ): Promise<ListDatabaseViewsResponse> => {\n this.warnUnknownParams(args, listDatabaseViews)\n return this.request<ListDatabaseViewsResponse>({\n path: listDatabaseViews.path(),\n method: listDatabaseViews.method,\n query: pick(args, listDatabaseViews.queryParams),\n body: pick(args, listDatabaseViews.bodyParams),\n auth: args?.auth,\n })\n },\n\n queries: {\n /**\n * Create a view query\n */\n create: (\n args: WithAuth<CreateViewQueryParameters>\n ): Promise<CreateViewQueryResponse> => {\n return this.request<CreateViewQueryResponse>({\n path: createViewQuery.path(args),\n method: createViewQuery.method,\n query: pick(args, createViewQuery.queryParams),\n body: pick(args, [\"page_size\"] as const),\n auth: args?.auth,\n })\n },\n\n /**\n * Get view query results\n */\n results: (\n args: WithAuth<GetViewQueryResultsParameters>\n ): Promise<GetViewQueryResultsResponse> => {\n this.warnUnknownParams(args, getViewQueryResults)\n return this.request<GetViewQueryResultsResponse>({\n path: getViewQueryResults.path(args),\n method: getViewQueryResults.method,\n query: pick(args, getViewQueryResults.queryParams),\n body: pick(args, getViewQueryResults.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Delete a view query\n */\n delete: (\n args: WithAuth<DeleteViewQueryParameters>\n ): Promise<DeleteViewQueryResponse> => {\n this.warnUnknownParams(args, deleteViewQuery)\n return this.request<DeleteViewQueryResponse>({\n path: deleteViewQuery.path(args),\n method: deleteViewQuery.method,\n query: pick(args, deleteViewQuery.queryParams),\n body: pick(args, deleteViewQuery.bodyParams),\n auth: args?.auth,\n })\n },\n },\n }\n\n /**\n * Search\n */\n public search = (\n args: WithAuth<SearchParameters>\n ): Promise<SearchResponse> => {\n this.warnUnknownParams(args, search)\n return this.request<SearchResponse>({\n path: search.path(),\n method: search.method,\n query: pick(args, search.queryParams),\n body: pick(args, search.bodyParams),\n auth: args?.auth,\n })\n }\n\n public readonly oauth = {\n /**\n * Get token\n */\n token: (\n args: OauthTokenParameters & {\n client_id: string\n client_secret: string\n }\n ): Promise<OauthTokenResponse> => {\n return this.request<OauthTokenResponse>({\n path: oauthToken.path(),\n method: oauthToken.method,\n query: pick(args, oauthToken.queryParams),\n body: pick(args, oauthToken.bodyParams),\n auth: {\n client_id: args.client_id,\n client_secret: args.client_secret,\n },\n })\n },\n /**\n * Introspect token\n */\n introspect: (\n args: OauthIntrospectParameters & {\n client_id: string\n client_secret: string\n }\n ): Promise<OauthIntrospectResponse> => {\n return this.request<OauthIntrospectResponse>({\n path: oauthIntrospect.path(),\n method: oauthIntrospect.method,\n query: pick(args, oauthIntrospect.queryParams),\n body: pick(args, oauthIntrospect.bodyParams),\n auth: {\n client_id: args.client_id,\n client_secret: args.client_secret,\n },\n })\n },\n /**\n * Revoke token\n */\n revoke: (\n args: OauthRevokeParameters & {\n client_id: string\n client_secret: string\n }\n ): Promise<OauthRevokeResponse> => {\n return this.request<OauthRevokeResponse>({\n path: oauthRevoke.path(),\n method: oauthRevoke.method,\n query: pick(args, oauthRevoke.queryParams),\n body: pick(args, oauthRevoke.bodyParams),\n auth: {\n client_id: args.client_id,\n client_secret: args.client_secret,\n },\n })\n },\n }\n\n /**\n * Logs a warning when the caller passes parameters that are not recognized\n * by the endpoint definition. This helps catch typos and renamed parameters\n * (e.g. `archived` vs `in_trash` for `databases.update`) that would\n * otherwise be silently dropped by `pick()`.\n */\n private warnUnknownParams(\n args: Record<string, unknown>,\n endpoint: EndpointDefinition\n ): void {\n if (!args || typeof args !== \"object\") return\n\n const unknownKeys = getUnknownParams(args, endpoint)\n if (unknownKeys.length > 0) {\n this.log(LogLevel.WARN, \"unknown parameters were ignored\", {\n unknownParams: unknownKeys,\n knownParams: [\n ...endpoint.pathParams,\n ...endpoint.queryParams,\n ...endpoint.bodyParams,\n ...(endpoint.formDataParams ?? []),\n ],\n })\n }\n }\n\n /**\n * Emits a log message to the console.\n *\n * @param level The level for this message\n * @param args Arguments to send to the console\n */\n private log(\n level: LogLevel,\n message: string,\n extraInfo: Record<string, unknown>\n ) {\n if (logLevelSeverity(level) >= logLevelSeverity(this.#logLevel)) {\n this.#logger(level, message, extraInfo)\n }\n }\n\n /**\n * Transforms an API key or access token into a headers object suitable for an HTTP request.\n *\n * This method uses the instance's value as the default when the input is undefined. If neither are defined, it returns\n * an empty object\n *\n * @param auth API key or access token\n * @returns headers key-value object\n */\n private authAsHeaders(auth?: string): Record<string, string> {\n const headers: Record<string, string> = {}\n const authHeaderValue = auth ?? this.#auth\n if (authHeaderValue !== undefined) {\n headers[\"authorization\"] = `Bearer ${authHeaderValue}`\n }\n return headers\n }\n}\n\n/*\n * Type aliases to support the generic request interface.\n */\ntype Method = \"get\" | \"post\" | \"patch\" | \"delete\"\ntype QueryParams =\n | Record<string, string | number | boolean | string[] | null>\n | URLSearchParams\n\ntype WithAuth<P> = P & { auth?: string }\n"]}
@@ -13,6 +13,9 @@ type SearchBodyParameters = {
13
13
  filter?: {
14
14
  property: "object";
15
15
  value: "page" | "data_source";
16
+ in_trash?: boolean;
17
+ } | {
18
+ in_trash: boolean;
16
19
  };
17
20
  };
18
21
  export type SearchParameters = SearchBodyParameters;
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/api-endpoints/search.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EACV,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,gBAAgB,CAAA;AAEvB,KAAK,oBAAoB,GAAG;IAC1B,IAAI,CAAC,EACD;QAAE,SAAS,EAAE,kBAAkB,CAAC;QAAC,SAAS,EAAE,WAAW,GAAG,YAAY,CAAA;KAAE,GACxE;QAAE,QAAQ,EAAE,WAAW,CAAA;KAAE,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAA;CAC/D,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAA;AAEnD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,qBAAqB,CAAA;IAC3B,mBAAmB,EAAE,WAAW,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,KAAK,CACV,kBAAkB,GAClB,yBAAyB,GACzB,+BAA+B,GAC/B,wBAAwB,CAC3B,CAAA;IACD,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,UAAU,GAAG,YAAY,CAAA;QAC/B,iBAAiB,CAAC,EAAE,4BAA4B,CAAA;KACjD,CAAA;CACF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;yBAMP,MAAM;CACR,CAAA"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/api-endpoints/search.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EACV,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,gBAAgB,CAAA;AAEvB,KAAK,oBAAoB,GAAG;IAC1B,IAAI,CAAC,EACD;QAAE,SAAS,EAAE,kBAAkB,CAAC;QAAC,SAAS,EAAE,WAAW,GAAG,YAAY,CAAA;KAAE,GACxE;QAAE,QAAQ,EAAE,WAAW,CAAA;KAAE,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EACH;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GACzE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAA;AAEnD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,qBAAqB,CAAA;IAC3B,mBAAmB,EAAE,WAAW,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,KAAK,CACV,kBAAkB,GAClB,yBAAyB,GACzB,+BAA+B,GAC/B,wBAAwB,CAC3B,CAAA;IACD,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,UAAU,GAAG,YAAY,CAAA;QAC/B,iBAAiB,CAAC,EAAE,4BAA4B,CAAA;KACjD,CAAA;CACF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;yBAMP,MAAM;CACR,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/api-endpoints/search.ts"],"names":[],"mappings":";AAAA,sBAAsB;AACtB,+CAA+C;;;AA0C/C;;GAEG;AACU,QAAA,MAAM,GAAG;IACpB,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC;IAEpE,IAAI,EAAE,GAAW,EAAE,CAAC,QAAQ;CACpB,CAAA","sourcesContent":["// cspell:disable-file\n// Note: This is a generated file. DO NOT EDIT!\n\nimport type {\n EmptyObject,\n PageObjectResponse,\n PartialPageObjectResponse,\n} from \"./common\"\nimport type {\n DataSourceObjectResponse,\n PartialDataSourceObjectResponse,\n} from \"./data-sources\"\n\ntype SearchBodyParameters = {\n sort?:\n | { timestamp: \"last_edited_time\"; direction: \"ascending\" | \"descending\" }\n | { property: \"relevance\" }\n query?: string\n start_cursor?: string | null\n page_size?: number\n filter?: { property: \"object\"; value: \"page\" | \"data_source\" }\n}\n\nexport type SearchParameters = SearchBodyParameters\n\nexport type SearchResponse = {\n type: \"page_or_data_source\"\n page_or_data_source: EmptyObject\n object: \"list\"\n next_cursor: string | null\n has_more: boolean\n results: Array<\n | PageObjectResponse\n | PartialPageObjectResponse\n | PartialDataSourceObjectResponse\n | DataSourceObjectResponse\n >\n request_status?: {\n type: \"complete\" | \"incomplete\"\n incomplete_reason?: \"query_result_limit_reached\"\n }\n}\n\n/**\n * Search by title\n */\nexport const search = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\"sort\", \"query\", \"start_cursor\", \"page_size\", \"filter\"],\n\n path: (): string => `search`,\n} as const\n"]}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/api-endpoints/search.ts"],"names":[],"mappings":";AAAA,sBAAsB;AACtB,+CAA+C;;;AA4C/C;;GAEG;AACU,QAAA,MAAM,GAAG;IACpB,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC;IAEpE,IAAI,EAAE,GAAW,EAAE,CAAC,QAAQ;CACpB,CAAA","sourcesContent":["// cspell:disable-file\n// Note: This is a generated file. DO NOT EDIT!\n\nimport type {\n EmptyObject,\n PageObjectResponse,\n PartialPageObjectResponse,\n} from \"./common\"\nimport type {\n DataSourceObjectResponse,\n PartialDataSourceObjectResponse,\n} from \"./data-sources\"\n\ntype SearchBodyParameters = {\n sort?:\n | { timestamp: \"last_edited_time\"; direction: \"ascending\" | \"descending\" }\n | { property: \"relevance\" }\n query?: string\n start_cursor?: string | null\n page_size?: number\n filter?:\n | { property: \"object\"; value: \"page\" | \"data_source\"; in_trash?: boolean }\n | { in_trash: boolean }\n}\n\nexport type SearchParameters = SearchBodyParameters\n\nexport type SearchResponse = {\n type: \"page_or_data_source\"\n page_or_data_source: EmptyObject\n object: \"list\"\n next_cursor: string | null\n has_more: boolean\n results: Array<\n | PageObjectResponse\n | PartialPageObjectResponse\n | PartialDataSourceObjectResponse\n | DataSourceObjectResponse\n >\n request_status?: {\n type: \"complete\" | \"incomplete\"\n incomplete_reason?: \"query_result_limit_reached\"\n }\n}\n\n/**\n * Search by title\n */\nexport const search = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\"sort\", \"query\", \"start_cursor\", \"page_size\", \"filter\"],\n\n path: (): string => `search`,\n} as const\n"]}
@@ -70,6 +70,13 @@ export declare class InvalidPathParameterError extends NotionClientErrorBase<Cli
70
70
  * including URL-encoded variants like %2e%2e.
71
71
  */
72
72
  export declare function validateRequestPath(path: string): void;
73
+ /**
74
+ * Reads a header by name from a `SupportedResponse["headers"]`, which is typed
75
+ * as `unknown` because the SDK supports any `fetch` implementation. Handles
76
+ * both a standard `Headers` object and a plain record. Header names are
77
+ * case-insensitive per RFC 9110, so plain records are matched case-insensitively.
78
+ */
79
+ export declare function getResponseHeader(headers: unknown, name: string): string | undefined;
73
80
  type HTTPResponseErrorCode = ClientErrorCode.ResponseError | APIErrorCode;
74
81
  type AdditionalData = Record<string, string | string[]>;
75
82
  declare class HTTPResponseError<Code extends HTTPResponseErrorCode> extends NotionClientErrorBase<Code> {
@@ -80,6 +87,10 @@ declare class HTTPResponseError<Code extends HTTPResponseErrorCode> extends Noti
80
87
  readonly body: string;
81
88
  readonly additional_data: AdditionalData | undefined;
82
89
  readonly request_id: string | undefined;
90
+ /**
91
+ * Value of the `cf-ray` response header, when present.
92
+ */
93
+ readonly ray_id: string | undefined;
83
94
  constructor(args: {
84
95
  code: Code;
85
96
  status: number;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.APIResponseError = exports.UnknownHTTPResponseError = exports.InvalidPathParameterError = exports.RequestTimeoutError = exports.ClientErrorCode = exports.APIErrorCode = void 0;
4
4
  exports.isNotionClientError = isNotionClientError;
5
5
  exports.validateRequestPath = validateRequestPath;
6
+ exports.getResponseHeader = getResponseHeader;
6
7
  exports.isHTTPResponseError = isHTTPResponseError;
7
8
  exports.buildRequestError = buildRequestError;
8
9
  const utils_1 = require("./utils");
@@ -125,6 +126,35 @@ function validateRequestPath(path) {
125
126
  }
126
127
  }
127
128
  }
129
+ /**
130
+ * Reads a header by name from a `SupportedResponse["headers"]`, which is typed
131
+ * as `unknown` because the SDK supports any `fetch` implementation. Handles
132
+ * both a standard `Headers` object and a plain record. Header names are
133
+ * case-insensitive per RFC 9110, so plain records are matched case-insensitively.
134
+ */
135
+ function getResponseHeader(headers, name) {
136
+ if (!(0, utils_1.isObject)(headers)) {
137
+ return undefined;
138
+ }
139
+ const get = headers["get"];
140
+ if (typeof get === "function") {
141
+ const value = get.call(headers, name);
142
+ return typeof value === "string" ? value : undefined;
143
+ }
144
+ const lowerName = name.toLowerCase();
145
+ for (const [key, value] of Object.entries(headers)) {
146
+ if (key.toLowerCase() !== lowerName) {
147
+ continue;
148
+ }
149
+ if (typeof value === "string") {
150
+ return value;
151
+ }
152
+ if (Array.isArray(value) && typeof value[0] === "string") {
153
+ return value[0];
154
+ }
155
+ }
156
+ return undefined;
157
+ }
128
158
  class HTTPResponseError extends NotionClientErrorBase {
129
159
  constructor(args) {
130
160
  super(args.message);
@@ -135,7 +165,9 @@ class HTTPResponseError extends NotionClientErrorBase {
135
165
  this.headers = headers;
136
166
  this.body = rawBodyText;
137
167
  this.additional_data = additional_data;
138
- this.request_id = request_id;
168
+ this.request_id =
169
+ request_id !== null && request_id !== void 0 ? request_id : getResponseHeader(headers, "x-notion-request-id");
170
+ this.ray_id = getResponseHeader(headers, "cf-ray");
139
171
  }
140
172
  }
141
173
  const httpResponseErrorCodes = {
@@ -167,12 +199,19 @@ function isHTTPResponseError(error) {
167
199
  class UnknownHTTPResponseError extends HTTPResponseError {
168
200
  constructor(args) {
169
201
  var _a;
202
+ const ray_id = getResponseHeader(args.headers, "cf-ray");
203
+ const request_id = getResponseHeader(args.headers, "x-notion-request-id");
170
204
  super({
171
205
  ...args,
172
206
  code: ClientErrorCode.ResponseError,
173
- message: (_a = args.message) !== null && _a !== void 0 ? _a : `Request to Notion API failed with status: ${args.status}`,
207
+ message: (_a = args.message) !== null && _a !== void 0 ? _a : buildUnknownResponseMessage({
208
+ status: args.status,
209
+ contentType: getResponseHeader(args.headers, "content-type"),
210
+ ray_id,
211
+ request_id,
212
+ }),
174
213
  additional_data: undefined,
175
- request_id: undefined,
214
+ request_id,
176
215
  });
177
216
  this.name = "UnknownHTTPResponseError";
178
217
  }
@@ -232,6 +271,27 @@ function buildRequestError(response, bodyText) {
232
271
  rawBodyText: bodyText,
233
272
  });
234
273
  }
274
+ /**
275
+ * Builds the default message for an unrecognized HTTP response.
276
+ *
277
+ * A response with a Cloudflare Ray ID but no Notion request ID was answered
278
+ * before it reached the API. The message surfaces the Ray ID rather than
279
+ * leaving callers to infer it from an HTML body.
280
+ */
281
+ function buildUnknownResponseMessage(args) {
282
+ const { status, contentType, ray_id, request_id } = args;
283
+ const base = `Request to Notion API failed with status: ${status}`;
284
+ if (ray_id === undefined || request_id !== undefined) {
285
+ return base;
286
+ }
287
+ const contentTypeNote = contentType !== undefined ? ` (content-type: ${contentType})` : "";
288
+ const blockedRequestNote = status === 403
289
+ ? " This may mean the request was blocked by a network security rule."
290
+ : "";
291
+ return (`${base}. The response was returned by Notion's edge proxy before reaching ` +
292
+ `the Notion API${contentTypeNote}.${blockedRequestNote} Cloudflare Ray ID: ` +
293
+ `${ray_id}. Include this ID when contacting Notion support.`);
294
+ }
235
295
  function parseAPIErrorResponseBody(body) {
236
296
  if (typeof body !== "string") {
237
297
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":";;;AAyEA,kDAIC;AA6ED,kDAwBC;AAuDD,kDAaC;AAgED,8CAsBC;AA3UD,mCAAkC;AAGlC;;GAEG;AACH,IAAY,YAcX;AAdD,WAAY,YAAY;IACtB,6CAA6B,CAAA;IAC7B,0DAA0C,CAAA;IAC1C,mDAAmC,CAAA;IACnC,4CAA4B,CAAA;IAC5B,4CAA4B,CAAA;IAC5B,yDAAyC,CAAA;IACzC,kDAAkC,CAAA;IAClC,oDAAoC,CAAA;IACpC,gDAAgC,CAAA;IAChC,6DAA6C,CAAA;IAC7C,oDAAoC,CAAA;IACpC,0DAA0C,CAAA;IAC1C,kDAAkC,CAAA;AACpC,CAAC,EAdW,YAAY,4BAAZ,YAAY,QAcvB;AAED;;GAEG;AACH,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,qEAAkD,CAAA;IAClD,mEAAgD,CAAA;IAChD,kFAA+D,CAAA;AACjE,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAOD;;GAEG;AACH,MAAe,qBAEb,SAAQ,KAAK;CAEd;AAyBD;;;GAGG;AACH,SAAgB,mBAAmB,CACjC,KAAc;IAEd,OAAO,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,KAAK,YAAY,qBAAqB,CAAA;AAClE,CAAC;AAED;;;;;GAKG;AACH,SAAS,2BAA2B,CAClC,KAAc,EACd,KAA4B;IAE5B,OAAO,mBAAmB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAA;AAC1D,CAAC;AAED;;GAEG;AACH,MAAa,mBAAoB,SAAQ,qBAAqD;IAI5F,YAAY,OAAO,GAAG,qCAAqC;QACzD,KAAK,CAAC,OAAO,CAAC,CAAA;QAJP,SAAI,GAAG,eAAe,CAAC,cAAc,CAAA;QACrC,SAAI,GAAG,qBAAqB,CAAA;IAIrC,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,KAAc;QACzC,OAAO,2BAA2B,CAAC,KAAK,EAAE;YACxC,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,IAAI;SACvC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,kBAAkB,CACvB,OAAmB,EACnB,SAAiB;QAEjB,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAA;YACnC,CAAC,EAAE,SAAS,CAAC,CAAA;YAEb,OAAO;iBACJ,IAAI,CAAC,OAAO,CAAC;iBACb,KAAK,CAAC,MAAM,CAAC;iBACb,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AA7BD,kDA6BC;AAED;;;GAGG;AACH,MAAa,yBAA0B,SAAQ,qBAA2D;IAIxG,YACE,OAAO,GAAG,8EAA8E;QAExF,KAAK,CAAC,OAAO,CAAC,CAAA;QANP,SAAI,GAAG,eAAe,CAAC,oBAAoB,CAAA;QAC3C,SAAI,GAAG,2BAA2B,CAAA;IAM3C,CAAC;IAED,MAAM,CAAC,2BAA2B,CAChC,KAAc;QAEd,OAAO,2BAA2B,CAAC,KAAK,EAAE;YACxC,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,IAAI;SAC7C,CAAC,CAAA;IACJ,CAAC;CACF;AAjBD,8DAiBC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,mCAAmC;IACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,yBAAyB,CACjC,iBAAiB,IAAI,yCAAyC,CAC/D,CAAA;IACH,CAAC;IAED,mDAAmD;IACnD,sDAAsD;IACtD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,OAAe,CAAA;QACnB,IAAI,CAAC;YACH,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;YACrD,OAAM;QACR,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,yBAAyB,CACjC,iBAAiB,IAAI,4CAA4C,CAClE,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAMD,MAAM,iBAEJ,SAAQ,qBAA2B;IASnC,YAAY,IAQX;QACC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAjBZ,SAAI,GAAW,mBAAmB,CAAA;QAkBzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,GACvE,IAAI,CAAA;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;QACvB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;CACF;AAED,MAAM,sBAAsB,GAA2C;IACrE,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,IAAI;IACrC,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,IAAI;IACjC,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,IAAI;IACvC,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,IAAI;IACnC,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,IAAI;IAChC,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,IAAI;IAChC,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,IAAI;IACtC,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,IAAI;IACnC,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,IAAI;IACpC,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,IAAI;IAClC,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,IAAI;IACxC,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,IAAI;IACpC,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,IAAI;IACvC,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,IAAI;CACpC,CAAA;AAED,SAAgB,mBAAmB,CACjC,KAAc;IAEd,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,sBAAsB,CAAC,EAAE,CAAC;QAChE,OAAO,KAAK,CAAA;IACd,CAAC;IAOD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,MAAa,wBAAyB,SAAQ,iBAAgD;IAG5F,YAAY,IAKX;;QACC,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,IAAI,EAAE,eAAe,CAAC,aAAa;YACnC,OAAO,EACL,MAAA,IAAI,CAAC,OAAO,mCACZ,6CAA6C,IAAI,CAAC,MAAM,EAAE;YAC5D,eAAe,EAAE,SAAS;YAC1B,UAAU,EAAE,SAAS;SACtB,CAAC,CAAA;QAhBK,SAAI,GAAG,0BAA0B,CAAA;IAiB1C,CAAC;IAED,MAAM,CAAC,0BAA0B,CAC/B,KAAc;QAEd,OAAO,2BAA2B,CAAC,KAAK,EAAE;YACxC,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,IAAI;SACtC,CAAC,CAAA;IACJ,CAAC;CACF;AA3BD,4DA2BC;AAED,MAAM,aAAa,GAAkC;IACnD,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,IAAI;IACjC,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,IAAI;IACvC,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,IAAI;IACnC,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,IAAI;IAChC,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,IAAI;IAChC,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,IAAI;IACtC,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,IAAI;IACnC,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,IAAI;IACpC,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,IAAI;IAClC,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,IAAI;IACxC,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,IAAI;IACpC,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,IAAI;IACvC,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,IAAI;CACpC,CAAA;AAED;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,iBAA+B;IAArE;;QACW,SAAI,GAAG,kBAAkB,CAAA;IAMpC,CAAC;IAHC,MAAM,CAAC,kBAAkB,CAAC,KAAc;QACtC,OAAO,2BAA2B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAC1D,CAAC;CACF;AAPD,4CAOC;AAED,SAAgB,iBAAiB,CAC/B,QAA2B,EAC3B,QAAgB;IAEhB,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IAChE,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,IAAI,gBAAgB,CAAC;YAC1B,IAAI,EAAE,oBAAoB,CAAC,IAAI;YAC/B,OAAO,EAAE,oBAAoB,CAAC,OAAO;YACrC,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,WAAW,EAAE,QAAQ;YACrB,eAAe,EAAE,oBAAoB,CAAC,eAAe;YACrD,UAAU,EAAE,oBAAoB,CAAC,UAAU;SAC5C,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,IAAI,wBAAwB,CAAC;QAClC,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,WAAW,EAAE,QAAQ;KACtB,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAQ7C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAM;IACR,CAAC;IAED,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAAC,OAAO,UAAU,EAAE,CAAC;QACpB,OAAM;IACR,CAAC;IAED,IACE,CAAC,IAAA,gBAAQ,EAAC,MAAM,CAAC;QACjB,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ;QACrC,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAC/B,CAAC;QACD,OAAM;IACR,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAEnC,CAAA;IACb,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAuB,CAAA;IAE7D,OAAO;QACL,GAAG,MAAM;QACT,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;QAC1B,eAAe;QACf,UAAU;KACX,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IACnC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,aAAa,CAAA;AAC1D,CAAC","sourcesContent":["import { SupportedResponse } from \"./fetch-types\"\nimport { isObject } from \"./utils\"\nimport { Assert } from \"./type-utils\"\n\n/**\n * Error codes returned in responses from the API.\n */\nexport enum APIErrorCode {\n Unauthorized = \"unauthorized\",\n RestrictedResource = \"restricted_resource\",\n ObjectNotFound = \"object_not_found\",\n RateLimited = \"rate_limited\",\n InvalidJSON = \"invalid_json\",\n InvalidRequestURL = \"invalid_request_url\",\n InvalidRequest = \"invalid_request\",\n ValidationError = \"validation_error\",\n ConflictError = \"conflict_error\",\n InternalServerError = \"internal_server_error\",\n ServiceOverload = \"service_overload\",\n ServiceUnavailable = \"service_unavailable\",\n GatewayTimeout = \"gateway_timeout\",\n}\n\n/**\n * Error codes generated for client errors.\n */\nexport enum ClientErrorCode {\n RequestTimeout = \"notionhq_client_request_timeout\",\n ResponseError = \"notionhq_client_response_error\",\n InvalidPathParameter = \"notionhq_client_invalid_path_parameter\",\n}\n\n/**\n * Error codes on errors thrown by the `Client`.\n */\nexport type NotionErrorCode = APIErrorCode | ClientErrorCode\n\n/**\n * Base error type.\n */\nabstract class NotionClientErrorBase<\n Code extends NotionErrorCode,\n> extends Error {\n abstract code: Code\n}\n\n/**\n * Error type that encompasses all the kinds of errors that the Notion client will throw.\n */\nexport type NotionClientError =\n | RequestTimeoutError\n | UnknownHTTPResponseError\n | APIResponseError\n | InvalidPathParameterError\n\n// Assert that NotionClientError's `code` property is a narrow type.\n// This prevents us from accidentally regressing to `string`-typed name field.\ntype _assertCodeIsNarrow = Assert<NotionErrorCode, NotionClientError[\"code\"]>\n\n// Assert that the type of `name` in NotionErrorCode is a narrow type.\n// This prevents us from accidentally regressing to `string`-typed name field.\ntype _assertNameIsNarrow = Assert<\n | \"RequestTimeoutError\"\n | \"UnknownHTTPResponseError\"\n | \"APIResponseError\"\n | \"InvalidPathParameterError\",\n NotionClientError[\"name\"]\n>\n\n/**\n * @param error any value, usually a caught error.\n * @returns `true` if error is a `NotionClientError`.\n */\nexport function isNotionClientError(\n error: unknown\n): error is NotionClientError {\n return isObject(error) && error instanceof NotionClientErrorBase\n}\n\n/**\n * Narrows down the types of a NotionClientError.\n * @param error any value, usually a caught error.\n * @param codes an object mapping from possible error codes to `true`\n * @returns `true` if error is a `NotionClientError` with a code in `codes`.\n */\nfunction isNotionClientErrorWithCode<Code extends NotionErrorCode>(\n error: unknown,\n codes: { [C in Code]: true }\n): error is NotionClientError & { code: Code } {\n return isNotionClientError(error) && error.code in codes\n}\n\n/**\n * Error thrown by the client if a request times out.\n */\nexport class RequestTimeoutError extends NotionClientErrorBase<ClientErrorCode.RequestTimeout> {\n readonly code = ClientErrorCode.RequestTimeout\n readonly name = \"RequestTimeoutError\"\n\n constructor(message = \"Request to Notion API has timed out\") {\n super(message)\n }\n\n static isRequestTimeoutError(error: unknown): error is RequestTimeoutError {\n return isNotionClientErrorWithCode(error, {\n [ClientErrorCode.RequestTimeout]: true,\n })\n }\n\n static rejectAfterTimeout<T>(\n promise: Promise<T>,\n timeoutMS: number\n ): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n const timeoutId = setTimeout(() => {\n reject(new RequestTimeoutError())\n }, timeoutMS)\n\n promise\n .then(resolve)\n .catch(reject)\n .then(() => clearTimeout(timeoutId))\n })\n }\n}\n\n/**\n * Error thrown when a path parameter contains invalid characters such as\n * path traversal sequences (..) that could alter the intended API endpoint.\n */\nexport class InvalidPathParameterError extends NotionClientErrorBase<ClientErrorCode.InvalidPathParameter> {\n readonly code = ClientErrorCode.InvalidPathParameter\n readonly name = \"InvalidPathParameterError\"\n\n constructor(\n message = \"Path parameter contains invalid characters that could alter the request path\"\n ) {\n super(message)\n }\n\n static isInvalidPathParameterError(\n error: unknown\n ): error is InvalidPathParameterError {\n return isNotionClientErrorWithCode(error, {\n [ClientErrorCode.InvalidPathParameter]: true,\n })\n }\n}\n\n/**\n * Validates that a request path does not contain path traversal sequences.\n * Throws InvalidPathParameterError if the path contains \"..\" segments,\n * including URL-encoded variants like %2e%2e.\n */\nexport function validateRequestPath(path: string): void {\n // Check for literal path traversal\n if (path.includes(\"..\")) {\n throw new InvalidPathParameterError(\n `Request path \"${path}\" contains path traversal sequence \"..\"`\n )\n }\n\n // Check for URL-encoded path traversal (%2e = '.')\n // Only decode if path contains potential encoded dots\n if (/%2e/i.test(path)) {\n let decoded: string\n try {\n decoded = decodeURIComponent(path)\n } catch {\n // Invalid percent encoding - not a traversal concern\n return\n }\n if (decoded.includes(\"..\")) {\n throw new InvalidPathParameterError(\n `Request path \"${path}\" contains encoded path traversal sequence`\n )\n }\n }\n}\n\ntype HTTPResponseErrorCode = ClientErrorCode.ResponseError | APIErrorCode\n\ntype AdditionalData = Record<string, string | string[]>\n\nclass HTTPResponseError<\n Code extends HTTPResponseErrorCode,\n> extends NotionClientErrorBase<Code> {\n readonly name: string = \"HTTPResponseError\"\n readonly code: Code\n readonly status: number\n readonly headers: SupportedResponse[\"headers\"]\n readonly body: string\n readonly additional_data: AdditionalData | undefined\n readonly request_id: string | undefined\n\n constructor(args: {\n code: Code\n status: number\n message: string\n headers: SupportedResponse[\"headers\"]\n rawBodyText: string\n additional_data: AdditionalData | undefined\n request_id: string | undefined\n }) {\n super(args.message)\n const { code, status, headers, rawBodyText, additional_data, request_id } =\n args\n this.code = code\n this.status = status\n this.headers = headers\n this.body = rawBodyText\n this.additional_data = additional_data\n this.request_id = request_id\n }\n}\n\nconst httpResponseErrorCodes: { [C in HTTPResponseErrorCode]: true } = {\n [ClientErrorCode.ResponseError]: true,\n [APIErrorCode.Unauthorized]: true,\n [APIErrorCode.RestrictedResource]: true,\n [APIErrorCode.ObjectNotFound]: true,\n [APIErrorCode.RateLimited]: true,\n [APIErrorCode.InvalidJSON]: true,\n [APIErrorCode.InvalidRequestURL]: true,\n [APIErrorCode.InvalidRequest]: true,\n [APIErrorCode.ValidationError]: true,\n [APIErrorCode.ConflictError]: true,\n [APIErrorCode.InternalServerError]: true,\n [APIErrorCode.ServiceOverload]: true,\n [APIErrorCode.ServiceUnavailable]: true,\n [APIErrorCode.GatewayTimeout]: true,\n}\n\nexport function isHTTPResponseError(\n error: unknown\n): error is UnknownHTTPResponseError | APIResponseError {\n if (!isNotionClientErrorWithCode(error, httpResponseErrorCodes)) {\n return false\n }\n\n type _assert = Assert<\n UnknownHTTPResponseError | APIResponseError,\n typeof error\n >\n\n return true\n}\n\n/**\n * Error thrown if an API call responds with an unknown error code, or does not respond with\n * a property-formatted error.\n */\nexport class UnknownHTTPResponseError extends HTTPResponseError<ClientErrorCode.ResponseError> {\n readonly name = \"UnknownHTTPResponseError\"\n\n constructor(args: {\n status: number\n message: string | undefined\n headers: SupportedResponse[\"headers\"]\n rawBodyText: string\n }) {\n super({\n ...args,\n code: ClientErrorCode.ResponseError,\n message:\n args.message ??\n `Request to Notion API failed with status: ${args.status}`,\n additional_data: undefined,\n request_id: undefined,\n })\n }\n\n static isUnknownHTTPResponseError(\n error: unknown\n ): error is UnknownHTTPResponseError {\n return isNotionClientErrorWithCode(error, {\n [ClientErrorCode.ResponseError]: true,\n })\n }\n}\n\nconst apiErrorCodes: { [C in APIErrorCode]: true } = {\n [APIErrorCode.Unauthorized]: true,\n [APIErrorCode.RestrictedResource]: true,\n [APIErrorCode.ObjectNotFound]: true,\n [APIErrorCode.RateLimited]: true,\n [APIErrorCode.InvalidJSON]: true,\n [APIErrorCode.InvalidRequestURL]: true,\n [APIErrorCode.InvalidRequest]: true,\n [APIErrorCode.ValidationError]: true,\n [APIErrorCode.ConflictError]: true,\n [APIErrorCode.InternalServerError]: true,\n [APIErrorCode.ServiceOverload]: true,\n [APIErrorCode.ServiceUnavailable]: true,\n [APIErrorCode.GatewayTimeout]: true,\n}\n\n/**\n * A response from the API indicating a problem.\n * Use the `code` property to handle various kinds of errors. All its possible values are in `APIErrorCode`.\n */\nexport class APIResponseError extends HTTPResponseError<APIErrorCode> {\n readonly name = \"APIResponseError\"\n readonly request_id: string | undefined\n\n static isAPIResponseError(error: unknown): error is APIResponseError {\n return isNotionClientErrorWithCode(error, apiErrorCodes)\n }\n}\n\nexport function buildRequestError(\n response: SupportedResponse,\n bodyText: string\n): APIResponseError | UnknownHTTPResponseError {\n const apiErrorResponseBody = parseAPIErrorResponseBody(bodyText)\n if (apiErrorResponseBody !== undefined) {\n return new APIResponseError({\n code: apiErrorResponseBody.code,\n message: apiErrorResponseBody.message,\n headers: response.headers,\n status: response.status,\n rawBodyText: bodyText,\n additional_data: apiErrorResponseBody.additional_data,\n request_id: apiErrorResponseBody.request_id,\n })\n }\n return new UnknownHTTPResponseError({\n message: undefined,\n headers: response.headers,\n status: response.status,\n rawBodyText: bodyText,\n })\n}\n\nfunction parseAPIErrorResponseBody(body: string):\n | {\n code: APIErrorCode\n message: string\n additional_data: AdditionalData | undefined\n request_id: string | undefined\n }\n | undefined {\n if (typeof body !== \"string\") {\n return\n }\n\n let parsed: unknown\n try {\n parsed = JSON.parse(body)\n } catch (parseError) {\n return\n }\n\n if (\n !isObject(parsed) ||\n typeof parsed[\"message\"] !== \"string\" ||\n !isAPIErrorCode(parsed[\"code\"])\n ) {\n return\n }\n\n const additional_data = parsed[\"additional_data\"] as\n | AdditionalData\n | undefined\n const request_id = parsed[\"request_id\"] as string | undefined\n\n return {\n ...parsed,\n code: parsed[\"code\"],\n message: parsed[\"message\"],\n additional_data,\n request_id,\n }\n}\n\nfunction isAPIErrorCode(code: unknown): code is APIErrorCode {\n return typeof code === \"string\" && code in apiErrorCodes\n}\n"]}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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","sourcesContent":["import { SupportedResponse } from \"./fetch-types\"\nimport { isObject } from \"./utils\"\nimport { Assert } from \"./type-utils\"\n\n/**\n * Error codes returned in responses from the API.\n */\nexport enum APIErrorCode {\n Unauthorized = \"unauthorized\",\n RestrictedResource = \"restricted_resource\",\n ObjectNotFound = \"object_not_found\",\n RateLimited = \"rate_limited\",\n InvalidJSON = \"invalid_json\",\n InvalidRequestURL = \"invalid_request_url\",\n InvalidRequest = \"invalid_request\",\n ValidationError = \"validation_error\",\n ConflictError = \"conflict_error\",\n InternalServerError = \"internal_server_error\",\n ServiceOverload = \"service_overload\",\n ServiceUnavailable = \"service_unavailable\",\n GatewayTimeout = \"gateway_timeout\",\n}\n\n/**\n * Error codes generated for client errors.\n */\nexport enum ClientErrorCode {\n RequestTimeout = \"notionhq_client_request_timeout\",\n ResponseError = \"notionhq_client_response_error\",\n InvalidPathParameter = \"notionhq_client_invalid_path_parameter\",\n}\n\n/**\n * Error codes on errors thrown by the `Client`.\n */\nexport type NotionErrorCode = APIErrorCode | ClientErrorCode\n\n/**\n * Base error type.\n */\nabstract class NotionClientErrorBase<\n Code extends NotionErrorCode,\n> extends Error {\n abstract code: Code\n}\n\n/**\n * Error type that encompasses all the kinds of errors that the Notion client will throw.\n */\nexport type NotionClientError =\n | RequestTimeoutError\n | UnknownHTTPResponseError\n | APIResponseError\n | InvalidPathParameterError\n\n// Assert that NotionClientError's `code` property is a narrow type.\n// This prevents us from accidentally regressing to `string`-typed name field.\ntype _assertCodeIsNarrow = Assert<NotionErrorCode, NotionClientError[\"code\"]>\n\n// Assert that the type of `name` in NotionErrorCode is a narrow type.\n// This prevents us from accidentally regressing to `string`-typed name field.\ntype _assertNameIsNarrow = Assert<\n | \"RequestTimeoutError\"\n | \"UnknownHTTPResponseError\"\n | \"APIResponseError\"\n | \"InvalidPathParameterError\",\n NotionClientError[\"name\"]\n>\n\n/**\n * @param error any value, usually a caught error.\n * @returns `true` if error is a `NotionClientError`.\n */\nexport function isNotionClientError(\n error: unknown\n): error is NotionClientError {\n return isObject(error) && error instanceof NotionClientErrorBase\n}\n\n/**\n * Narrows down the types of a NotionClientError.\n * @param error any value, usually a caught error.\n * @param codes an object mapping from possible error codes to `true`\n * @returns `true` if error is a `NotionClientError` with a code in `codes`.\n */\nfunction isNotionClientErrorWithCode<Code extends NotionErrorCode>(\n error: unknown,\n codes: { [C in Code]: true }\n): error is NotionClientError & { code: Code } {\n return isNotionClientError(error) && error.code in codes\n}\n\n/**\n * Error thrown by the client if a request times out.\n */\nexport class RequestTimeoutError extends NotionClientErrorBase<ClientErrorCode.RequestTimeout> {\n readonly code = ClientErrorCode.RequestTimeout\n readonly name = \"RequestTimeoutError\"\n\n constructor(message = \"Request to Notion API has timed out\") {\n super(message)\n }\n\n static isRequestTimeoutError(error: unknown): error is RequestTimeoutError {\n return isNotionClientErrorWithCode(error, {\n [ClientErrorCode.RequestTimeout]: true,\n })\n }\n\n static rejectAfterTimeout<T>(\n promise: Promise<T>,\n timeoutMS: number\n ): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n const timeoutId = setTimeout(() => {\n reject(new RequestTimeoutError())\n }, timeoutMS)\n\n promise\n .then(resolve)\n .catch(reject)\n .then(() => clearTimeout(timeoutId))\n })\n }\n}\n\n/**\n * Error thrown when a path parameter contains invalid characters such as\n * path traversal sequences (..) that could alter the intended API endpoint.\n */\nexport class InvalidPathParameterError extends NotionClientErrorBase<ClientErrorCode.InvalidPathParameter> {\n readonly code = ClientErrorCode.InvalidPathParameter\n readonly name = \"InvalidPathParameterError\"\n\n constructor(\n message = \"Path parameter contains invalid characters that could alter the request path\"\n ) {\n super(message)\n }\n\n static isInvalidPathParameterError(\n error: unknown\n ): error is InvalidPathParameterError {\n return isNotionClientErrorWithCode(error, {\n [ClientErrorCode.InvalidPathParameter]: true,\n })\n }\n}\n\n/**\n * Validates that a request path does not contain path traversal sequences.\n * Throws InvalidPathParameterError if the path contains \"..\" segments,\n * including URL-encoded variants like %2e%2e.\n */\nexport function validateRequestPath(path: string): void {\n // Check for literal path traversal\n if (path.includes(\"..\")) {\n throw new InvalidPathParameterError(\n `Request path \"${path}\" contains path traversal sequence \"..\"`\n )\n }\n\n // Check for URL-encoded path traversal (%2e = '.')\n // Only decode if path contains potential encoded dots\n if (/%2e/i.test(path)) {\n let decoded: string\n try {\n decoded = decodeURIComponent(path)\n } catch {\n // Invalid percent encoding - not a traversal concern\n return\n }\n if (decoded.includes(\"..\")) {\n throw new InvalidPathParameterError(\n `Request path \"${path}\" contains encoded path traversal sequence`\n )\n }\n }\n}\n\n/**\n * Reads a header by name from a `SupportedResponse[\"headers\"]`, which is typed\n * as `unknown` because the SDK supports any `fetch` implementation. Handles\n * both a standard `Headers` object and a plain record. Header names are\n * case-insensitive per RFC 9110, so plain records are matched case-insensitively.\n */\nexport function getResponseHeader(\n headers: unknown,\n name: string\n): string | undefined {\n if (!isObject(headers)) {\n return undefined\n }\n\n const get = headers[\"get\"]\n if (typeof get === \"function\") {\n const value: unknown = get.call(headers, name)\n return typeof value === \"string\" ? value : undefined\n }\n\n const lowerName = name.toLowerCase()\n for (const [key, value] of Object.entries(headers)) {\n if (key.toLowerCase() !== lowerName) {\n continue\n }\n if (typeof value === \"string\") {\n return value\n }\n if (Array.isArray(value) && typeof value[0] === \"string\") {\n return value[0]\n }\n }\n return undefined\n}\n\ntype HTTPResponseErrorCode = ClientErrorCode.ResponseError | APIErrorCode\n\ntype AdditionalData = Record<string, string | string[]>\n\nclass HTTPResponseError<\n Code extends HTTPResponseErrorCode,\n> extends NotionClientErrorBase<Code> {\n readonly name: string = \"HTTPResponseError\"\n readonly code: Code\n readonly status: number\n readonly headers: SupportedResponse[\"headers\"]\n readonly body: string\n readonly additional_data: AdditionalData | undefined\n readonly request_id: string | undefined\n /**\n * Value of the `cf-ray` response header, when present.\n */\n readonly ray_id: string | undefined\n\n constructor(args: {\n code: Code\n status: number\n message: string\n headers: SupportedResponse[\"headers\"]\n rawBodyText: string\n additional_data: AdditionalData | undefined\n request_id: string | undefined\n }) {\n super(args.message)\n const { code, status, headers, rawBodyText, additional_data, request_id } =\n args\n this.code = code\n this.status = status\n this.headers = headers\n this.body = rawBodyText\n this.additional_data = additional_data\n this.request_id =\n request_id ?? getResponseHeader(headers, \"x-notion-request-id\")\n this.ray_id = getResponseHeader(headers, \"cf-ray\")\n }\n}\n\nconst httpResponseErrorCodes: { [C in HTTPResponseErrorCode]: true } = {\n [ClientErrorCode.ResponseError]: true,\n [APIErrorCode.Unauthorized]: true,\n [APIErrorCode.RestrictedResource]: true,\n [APIErrorCode.ObjectNotFound]: true,\n [APIErrorCode.RateLimited]: true,\n [APIErrorCode.InvalidJSON]: true,\n [APIErrorCode.InvalidRequestURL]: true,\n [APIErrorCode.InvalidRequest]: true,\n [APIErrorCode.ValidationError]: true,\n [APIErrorCode.ConflictError]: true,\n [APIErrorCode.InternalServerError]: true,\n [APIErrorCode.ServiceOverload]: true,\n [APIErrorCode.ServiceUnavailable]: true,\n [APIErrorCode.GatewayTimeout]: true,\n}\n\nexport function isHTTPResponseError(\n error: unknown\n): error is UnknownHTTPResponseError | APIResponseError {\n if (!isNotionClientErrorWithCode(error, httpResponseErrorCodes)) {\n return false\n }\n\n type _assert = Assert<\n UnknownHTTPResponseError | APIResponseError,\n typeof error\n >\n\n return true\n}\n\n/**\n * Error thrown if an API call responds with an unknown error code, or does not respond with\n * a property-formatted error.\n */\nexport class UnknownHTTPResponseError extends HTTPResponseError<ClientErrorCode.ResponseError> {\n readonly name = \"UnknownHTTPResponseError\"\n\n constructor(args: {\n status: number\n message: string | undefined\n headers: SupportedResponse[\"headers\"]\n rawBodyText: string\n }) {\n const ray_id = getResponseHeader(args.headers, \"cf-ray\")\n const request_id = getResponseHeader(args.headers, \"x-notion-request-id\")\n super({\n ...args,\n code: ClientErrorCode.ResponseError,\n message:\n args.message ??\n buildUnknownResponseMessage({\n status: args.status,\n contentType: getResponseHeader(args.headers, \"content-type\"),\n ray_id,\n request_id,\n }),\n additional_data: undefined,\n request_id,\n })\n }\n\n static isUnknownHTTPResponseError(\n error: unknown\n ): error is UnknownHTTPResponseError {\n return isNotionClientErrorWithCode(error, {\n [ClientErrorCode.ResponseError]: true,\n })\n }\n}\n\nconst apiErrorCodes: { [C in APIErrorCode]: true } = {\n [APIErrorCode.Unauthorized]: true,\n [APIErrorCode.RestrictedResource]: true,\n [APIErrorCode.ObjectNotFound]: true,\n [APIErrorCode.RateLimited]: true,\n [APIErrorCode.InvalidJSON]: true,\n [APIErrorCode.InvalidRequestURL]: true,\n [APIErrorCode.InvalidRequest]: true,\n [APIErrorCode.ValidationError]: true,\n [APIErrorCode.ConflictError]: true,\n [APIErrorCode.InternalServerError]: true,\n [APIErrorCode.ServiceOverload]: true,\n [APIErrorCode.ServiceUnavailable]: true,\n [APIErrorCode.GatewayTimeout]: true,\n}\n\n/**\n * A response from the API indicating a problem.\n * Use the `code` property to handle various kinds of errors. All its possible values are in `APIErrorCode`.\n */\nexport class APIResponseError extends HTTPResponseError<APIErrorCode> {\n readonly name = \"APIResponseError\"\n readonly request_id: string | undefined\n\n static isAPIResponseError(error: unknown): error is APIResponseError {\n return isNotionClientErrorWithCode(error, apiErrorCodes)\n }\n}\n\nexport function buildRequestError(\n response: SupportedResponse,\n bodyText: string\n): APIResponseError | UnknownHTTPResponseError {\n const apiErrorResponseBody = parseAPIErrorResponseBody(bodyText)\n if (apiErrorResponseBody !== undefined) {\n return new APIResponseError({\n code: apiErrorResponseBody.code,\n message: apiErrorResponseBody.message,\n headers: response.headers,\n status: response.status,\n rawBodyText: bodyText,\n additional_data: apiErrorResponseBody.additional_data,\n request_id: apiErrorResponseBody.request_id,\n })\n }\n return new UnknownHTTPResponseError({\n message: undefined,\n headers: response.headers,\n status: response.status,\n rawBodyText: bodyText,\n })\n}\n\n/**\n * Builds the default message for an unrecognized HTTP response.\n *\n * A response with a Cloudflare Ray ID but no Notion request ID was answered\n * before it reached the API. The message surfaces the Ray ID rather than\n * leaving callers to infer it from an HTML body.\n */\nfunction buildUnknownResponseMessage(args: {\n status: number\n contentType: string | undefined\n ray_id: string | undefined\n request_id: string | undefined\n}): string {\n const { status, contentType, ray_id, request_id } = args\n const base = `Request to Notion API failed with status: ${status}`\n if (ray_id === undefined || request_id !== undefined) {\n return base\n }\n const contentTypeNote =\n contentType !== undefined ? ` (content-type: ${contentType})` : \"\"\n const blockedRequestNote =\n status === 403\n ? \" This may mean the request was blocked by a network security rule.\"\n : \"\"\n return (\n `${base}. The response was returned by Notion's edge proxy before reaching ` +\n `the Notion API${contentTypeNote}.${blockedRequestNote} Cloudflare Ray ID: ` +\n `${ray_id}. Include this ID when contacting Notion support.`\n )\n}\n\nfunction parseAPIErrorResponseBody(body: string):\n | {\n code: APIErrorCode\n message: string\n additional_data: AdditionalData | undefined\n request_id: string | undefined\n }\n | undefined {\n if (typeof body !== \"string\") {\n return\n }\n\n let parsed: unknown\n try {\n parsed = JSON.parse(body)\n } catch (parseError) {\n return\n }\n\n if (\n !isObject(parsed) ||\n typeof parsed[\"message\"] !== \"string\" ||\n !isAPIErrorCode(parsed[\"code\"])\n ) {\n return\n }\n\n const additional_data = parsed[\"additional_data\"] as\n | AdditionalData\n | undefined\n const request_id = parsed[\"request_id\"] as string | undefined\n\n return {\n ...parsed,\n code: parsed[\"code\"],\n message: parsed[\"message\"],\n additional_data,\n request_id,\n }\n}\n\nfunction isAPIErrorCode(code: unknown): code is APIErrorCode {\n return typeof code === \"string\" && code in apiErrorCodes\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@notionhq/client",
3
- "version": "5.23.1",
3
+ "version": "5.23.3",
4
4
  "description": "A simple and easy to use client for the Notion API",
5
5
  "engines": {
6
6
  "node": ">=18"