UNPKG

get-notion-object-title

Version:
1,583 lines 52.2 kB
//#region \0rolldown/runtime.js
var e = Object.defineProperty, t = Object.getOwnPropertyDescriptor, n = Object.getOwnPropertyNames, r = Object.prototype.hasOwnProperty, i = (e, t) => () => (e && (t = e(e = 0)), t), a = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), o = (t, n) => {
	let r = {};
	for (var i in t) e(r, i, {
		get: t[i],
		enumerable: !0
	});
	return n || e(r, Symbol.toStringTag, { value: "Module" }), r;
}, s = (i, a, o, s) => {
	if (a && typeof a == "object" || typeof a == "function") for (var c = n(a), l = 0, u = c.length, d; l < u; l++) d = c[l], !r.call(i, d) && d !== o && e(i, d, {
		get: ((e) => a[e]).bind(null, d),
		enumerable: !(s = t(a, d)) || s.enumerable
	});
	return i;
}, c = (t) => r.call(t, "module.exports") ? t["module.exports"] : s(e({}, "__esModule", { value: !0 }), t), l = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.assertNever = t, e.pick = n, e.isObject = r, e.getUnknownParams = i;
	function t(e) {
		throw Error(`Unexpected value should never occur: ${e}`);
	}
	function n(e, t) {
		let n = t.map((t) => [t, e?.[t]]);
		return Object.fromEntries(n);
	}
	function r(e) {
		return typeof e == "object" && !!e;
	}
	function i(e, t) {
		let n = new Set([
			...t.pathParams,
			...t.queryParams,
			...t.bodyParams,
			...t.formDataParams ?? [],
			"auth"
		]);
		return Object.keys(e).filter((e) => !n.has(e));
	}
})), u = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.LogLevel = void 0, e.makeConsoleLogger = r, e.logLevelSeverity = i;
	var t = l(), n;
	(function(e) {
		e.DEBUG = "debug", e.INFO = "info", e.WARN = "warn", e.ERROR = "error";
	})(n || (e.LogLevel = n = {}));
	function r(e) {
		return (t, n, r) => {
			console[t](`${e} ${t}:`, n, r);
		};
	}
	function i(e) {
		switch (e) {
			case n.DEBUG: return 20;
			case n.INFO: return 40;
			case n.WARN: return 60;
			case n.ERROR: return 80;
			default: return (0, t.assertNever)(e);
		}
	}
})), d = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.APIResponseError = e.UnknownHTTPResponseError = e.InvalidPathParameterError = e.RequestTimeoutError = e.ClientErrorCode = e.APIErrorCode = void 0, e.isNotionClientError = a, e.validateRequestPath = c, e.isHTTPResponseError = f, e.buildRequestError = g;
	var t = l(), n;
	(function(e) {
		e.Unauthorized = "unauthorized", e.RestrictedResource = "restricted_resource", e.ObjectNotFound = "object_not_found", e.RateLimited = "rate_limited", e.InvalidJSON = "invalid_json", e.InvalidRequestURL = "invalid_request_url", e.InvalidRequest = "invalid_request", e.ValidationError = "validation_error", e.ConflictError = "conflict_error", e.InternalServerError = "internal_server_error", e.ServiceUnavailable = "service_unavailable", e.GatewayTimeout = "gateway_timeout";
	})(n || (e.APIErrorCode = n = {}));
	var r;
	(function(e) {
		e.RequestTimeout = "notionhq_client_request_timeout", e.ResponseError = "notionhq_client_response_error", e.InvalidPathParameter = "notionhq_client_invalid_path_parameter";
	})(r || (e.ClientErrorCode = r = {}));
	var i = class extends Error {};
	function a(e) {
		return (0, t.isObject)(e) && e instanceof i;
	}
	function o(e, t) {
		return a(e) && e.code in t;
	}
	e.RequestTimeoutError = class e extends i {
		constructor(e = "Request to Notion API has timed out") {
			super(e), this.code = r.RequestTimeout, this.name = "RequestTimeoutError";
		}
		static isRequestTimeoutError(e) {
			return o(e, { [r.RequestTimeout]: !0 });
		}
		static rejectAfterTimeout(t, n) {
			return new Promise((r, i) => {
				let a = setTimeout(() => {
					i(new e());
				}, n);
				t.then(r).catch(i).then(() => clearTimeout(a));
			});
		}
	};
	var s = class extends i {
		constructor(e = "Path parameter contains invalid characters that could alter the request path") {
			super(e), this.code = r.InvalidPathParameter, this.name = "InvalidPathParameterError";
		}
		static isInvalidPathParameterError(e) {
			return o(e, { [r.InvalidPathParameter]: !0 });
		}
	};
	e.InvalidPathParameterError = s;
	function c(e) {
		if (e.includes("..")) throw new s(`Request path "${e}" contains path traversal sequence ".."`);
		if (/%2e/i.test(e)) {
			let t;
			try {
				t = decodeURIComponent(e);
			} catch {
				return;
			}
			if (t.includes("..")) throw new s(`Request path "${e}" contains encoded path traversal sequence`);
		}
	}
	var u = class extends i {
		constructor(e) {
			super(e.message), this.name = "HTTPResponseError";
			let { code: t, status: n, headers: r, rawBodyText: i, additional_data: a, request_id: o } = e;
			this.code = t, this.status = n, this.headers = r, this.body = i, this.additional_data = a, this.request_id = o;
		}
	}, d = {
		[r.ResponseError]: !0,
		[n.Unauthorized]: !0,
		[n.RestrictedResource]: !0,
		[n.ObjectNotFound]: !0,
		[n.RateLimited]: !0,
		[n.InvalidJSON]: !0,
		[n.InvalidRequestURL]: !0,
		[n.InvalidRequest]: !0,
		[n.ValidationError]: !0,
		[n.ConflictError]: !0,
		[n.InternalServerError]: !0,
		[n.ServiceUnavailable]: !0,
		[n.GatewayTimeout]: !0
	};
	function f(e) {
		return !!o(e, d);
	}
	var p = class extends u {
		constructor(e) {
			super({
				...e,
				code: r.ResponseError,
				message: e.message ?? `Request to Notion API failed with status: ${e.status}`,
				additional_data: void 0,
				request_id: void 0
			}), this.name = "UnknownHTTPResponseError";
		}
		static isUnknownHTTPResponseError(e) {
			return o(e, { [r.ResponseError]: !0 });
		}
	};
	e.UnknownHTTPResponseError = p;
	var m = {
		[n.Unauthorized]: !0,
		[n.RestrictedResource]: !0,
		[n.ObjectNotFound]: !0,
		[n.RateLimited]: !0,
		[n.InvalidJSON]: !0,
		[n.InvalidRequestURL]: !0,
		[n.InvalidRequest]: !0,
		[n.ValidationError]: !0,
		[n.ConflictError]: !0,
		[n.InternalServerError]: !0,
		[n.ServiceUnavailable]: !0,
		[n.GatewayTimeout]: !0
	}, h = class extends u {
		constructor() {
			super(...arguments), this.name = "APIResponseError";
		}
		static isAPIResponseError(e) {
			return o(e, m);
		}
	};
	e.APIResponseError = h;
	function g(e, t) {
		let n = _(t);
		return n === void 0 ? new p({
			message: void 0,
			headers: e.headers,
			status: e.status,
			rawBodyText: t
		}) : new h({
			code: n.code,
			message: n.message,
			headers: e.headers,
			status: e.status,
			rawBodyText: t,
			additional_data: n.additional_data,
			request_id: n.request_id
		});
	}
	function _(e) {
		if (typeof e != "string") return;
		let n;
		try {
			n = JSON.parse(e);
		} catch {
			return;
		}
		if (!(0, t.isObject)(n) || typeof n.message != "string" || !v(n.code)) return;
		let r = n.additional_data, i = n.request_id;
		return {
			...n,
			code: n.code,
			message: n.message,
			additional_data: r,
			request_id: i
		};
	}
	function v(e) {
		return typeof e == "string" && e in m;
	}
})), f = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.MIN_VIEW_COLUMN_WIDTH = e.DEFAULT_MAX_RETRY_DELAY_MS = e.DEFAULT_INITIAL_RETRY_DELAY_MS = e.DEFAULT_MAX_RETRIES = e.DEFAULT_TIMEOUT_MS = e.DEFAULT_BASE_URL = void 0, e.DEFAULT_BASE_URL = "https://api.notion.com", e.DEFAULT_TIMEOUT_MS = 6e4, e.DEFAULT_MAX_RETRIES = 2, e.DEFAULT_INITIAL_RETRY_DELAY_MS = 1e3, e.DEFAULT_MAX_RETRY_DELAY_MS = 6e4, e.MIN_VIEW_COLUMN_WIDTH = 32;
})), p = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.appendBlockChildren = e.listBlockChildren = e.deleteBlock = e.updateBlock = e.getBlock = void 0, e.getBlock = {
		method: "get",
		pathParams: ["block_id"],
		queryParams: [],
		bodyParams: [],
		path: (e) => `blocks/${e.block_id}`
	}, e.updateBlock = {
		method: "patch",
		pathParams: ["block_id"],
		queryParams: [],
		bodyParams: /* @__PURE__ */ "archived.embed.type.in_trash.bookmark.image.video.pdf.file.audio.code.equation.divider.breadcrumb.tab.table_of_contents.link_to_page.table_row.heading_1.heading_2.heading_3.heading_4.paragraph.bulleted_list_item.numbered_list_item.quote.to_do.toggle.template.callout.synced_block.table.column".split("."),
		path: (e) => `blocks/${e.block_id}`
	}, e.deleteBlock = {
		method: "delete",
		pathParams: ["block_id"],
		queryParams: [],
		bodyParams: [],
		path: (e) => `blocks/${e.block_id}`
	}, e.listBlockChildren = {
		method: "get",
		pathParams: ["block_id"],
		queryParams: ["start_cursor", "page_size"],
		bodyParams: [],
		path: (e) => `blocks/${e.block_id}/children`
	}, e.appendBlockChildren = {
		method: "patch",
		pathParams: ["block_id"],
		queryParams: [],
		bodyParams: [
			"after",
			"children",
			"position"
		],
		path: (e) => `blocks/${e.block_id}/children`
	};
})), m = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.deleteComment = e.updateComment = e.getComment = e.listComments = e.createComment = void 0, e.createComment = {
		method: "post",
		pathParams: [],
		queryParams: [],
		bodyParams: [
			"attachments",
			"display_name",
			"parent",
			"rich_text",
			"markdown",
			"discussion_id"
		],
		path: () => "comments"
	}, e.listComments = {
		method: "get",
		pathParams: [],
		queryParams: [
			"block_id",
			"start_cursor",
			"page_size"
		],
		bodyParams: [],
		path: () => "comments"
	}, e.getComment = {
		method: "get",
		pathParams: ["comment_id"],
		queryParams: [],
		bodyParams: [],
		path: (e) => `comments/${e.comment_id}`
	}, e.updateComment = {
		method: "patch",
		pathParams: ["comment_id"],
		queryParams: [],
		bodyParams: ["rich_text", "markdown"],
		path: (e) => `comments/${e.comment_id}`
	}, e.deleteComment = {
		method: "delete",
		pathParams: ["comment_id"],
		queryParams: [],
		bodyParams: [],
		path: (e) => `comments/${e.comment_id}`
	};
})), h = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 });
})), g = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.listCustomEmojis = void 0, e.listCustomEmojis = {
		method: "get",
		pathParams: [],
		queryParams: [
			"start_cursor",
			"page_size",
			"name"
		],
		bodyParams: [],
		path: () => "custom_emojis"
	};
})), _ = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.listDataSourceTemplates = e.createDataSource = e.queryDataSource = e.updateDataSource = e.getDataSource = void 0, e.getDataSource = {
		method: "get",
		pathParams: ["data_source_id"],
		queryParams: [],
		bodyParams: [],
		path: (e) => `data_sources/${e.data_source_id}`
	}, e.updateDataSource = {
		method: "patch",
		pathParams: ["data_source_id"],
		queryParams: [],
		bodyParams: [
			"archived",
			"title",
			"icon",
			"properties",
			"in_trash",
			"parent"
		],
		path: (e) => `data_sources/${e.data_source_id}`
	}, e.queryDataSource = {
		method: "post",
		pathParams: ["data_source_id"],
		queryParams: ["filter_properties"],
		bodyParams: [
			"archived",
			"sorts",
			"filter",
			"start_cursor",
			"page_size",
			"in_trash",
			"result_type"
		],
		path: (e) => `data_sources/${e.data_source_id}/query`
	}, e.createDataSource = {
		method: "post",
		pathParams: [],
		queryParams: [],
		bodyParams: [
			"parent",
			"properties",
			"title",
			"icon"
		],
		path: () => "data_sources"
	}, e.listDataSourceTemplates = {
		method: "get",
		pathParams: ["data_source_id"],
		queryParams: [
			"name",
			"start_cursor",
			"page_size"
		],
		bodyParams: [],
		path: (e) => `data_sources/${e.data_source_id}/templates`
	};
})), v = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.createDatabase = e.updateDatabase = e.getDatabase = void 0, e.getDatabase = {
		method: "get",
		pathParams: ["database_id"],
		queryParams: [],
		bodyParams: [],
		path: (e) => `databases/${e.database_id}`
	}, e.updateDatabase = {
		method: "patch",
		pathParams: ["database_id"],
		queryParams: [],
		bodyParams: [
			"parent",
			"title",
			"description",
			"is_inline",
			"icon",
			"cover",
			"in_trash",
			"is_locked"
		],
		path: (e) => `databases/${e.database_id}`
	}, e.createDatabase = {
		method: "post",
		pathParams: [],
		queryParams: [],
		bodyParams: [
			"parent",
			"title",
			"description",
			"is_inline",
			"initial_data_source",
			"icon",
			"cover"
		],
		path: () => "databases"
	};
})), y = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.getFileUpload = e.completeFileUpload = e.sendFileUpload = e.listFileUploads = e.createFileUpload = void 0, e.createFileUpload = {
		method: "post",
		pathParams: [],
		queryParams: [],
		bodyParams: [
			"mode",
			"filename",
			"content_type",
			"number_of_parts",
			"external_url"
		],
		path: () => "file_uploads"
	}, e.listFileUploads = {
		method: "get",
		pathParams: [],
		queryParams: [
			"status",
			"start_cursor",
			"page_size"
		],
		bodyParams: [],
		path: () => "file_uploads"
	}, e.sendFileUpload = {
		method: "post",
		pathParams: ["file_upload_id"],
		queryParams: [],
		bodyParams: [],
		formDataParams: ["file", "part_number"],
		path: (e) => `file_uploads/${e.file_upload_id}/send`
	}, e.completeFileUpload = {
		method: "post",
		pathParams: ["file_upload_id"],
		queryParams: [],
		bodyParams: [],
		path: (e) => `file_uploads/${e.file_upload_id}/complete`
	}, e.getFileUpload = {
		method: "get",
		pathParams: ["file_upload_id"],
		queryParams: [],
		bodyParams: [],
		path: (e) => `file_uploads/${e.file_upload_id}`
	};
})), b = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.oauthIntrospect = e.oauthRevoke = e.oauthToken = void 0, e.oauthToken = {
		method: "post",
		pathParams: [],
		queryParams: [],
		bodyParams: [
			"grant_type",
			"code",
			"redirect_uri",
			"external_account",
			"refresh_token"
		],
		path: () => "oauth/token"
	}, e.oauthRevoke = {
		method: "post",
		pathParams: [],
		queryParams: [],
		bodyParams: ["token"],
		path: () => "oauth/revoke"
	}, e.oauthIntrospect = {
		method: "post",
		pathParams: [],
		queryParams: [],
		bodyParams: ["token"],
		path: () => "oauth/introspect"
	};
})), x = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.updatePageMarkdown = e.getPageMarkdown = e.getPageProperty = e.movePage = e.updatePage = e.getPage = e.createPage = void 0, e.createPage = {
		method: "post",
		pathParams: [],
		queryParams: [],
		bodyParams: [
			"parent",
			"properties",
			"icon",
			"cover",
			"content",
			"children",
			"markdown",
			"template",
			"position"
		],
		path: () => "pages"
	}, e.getPage = {
		method: "get",
		pathParams: ["page_id"],
		queryParams: ["filter_properties"],
		bodyParams: [],
		path: (e) => `pages/${e.page_id}`
	}, e.updatePage = {
		method: "patch",
		pathParams: ["page_id"],
		queryParams: [],
		bodyParams: [
			"archived",
			"properties",
			"icon",
			"cover",
			"is_locked",
			"template",
			"erase_content",
			"in_trash",
			"is_archived"
		],
		path: (e) => `pages/${e.page_id}`
	}, e.movePage = {
		method: "post",
		pathParams: ["page_id"],
		queryParams: [],
		bodyParams: ["parent"],
		path: (e) => `pages/${e.page_id}/move`
	}, e.getPageProperty = {
		method: "get",
		pathParams: ["page_id", "property_id"],
		queryParams: ["start_cursor", "page_size"],
		bodyParams: [],
		path: (e) => `pages/${e.page_id}/properties/${e.property_id}`
	}, e.getPageMarkdown = {
		method: "get",
		pathParams: ["page_id"],
		queryParams: ["include_transcript"],
		bodyParams: [],
		path: (e) => `pages/${e.page_id}/markdown`
	}, e.updatePageMarkdown = {
		method: "patch",
		pathParams: ["page_id"],
		queryParams: [],
		bodyParams: [
			"type",
			"insert_content",
			"replace_content_range",
			"update_content",
			"replace_content"
		],
		path: (e) => `pages/${e.page_id}/markdown`
	};
})), S = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.search = void 0, e.search = {
		method: "post",
		pathParams: [],
		queryParams: [],
		bodyParams: [
			"sort",
			"query",
			"start_cursor",
			"page_size",
			"filter"
		],
		path: () => "search"
	};
})), C = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.listUsers = e.getUser = e.getSelf = void 0, e.getSelf = {
		method: "get",
		pathParams: [],
		queryParams: [],
		bodyParams: [],
		path: () => "users/me"
	}, e.getUser = {
		method: "get",
		pathParams: ["user_id"],
		queryParams: [],
		bodyParams: [],
		path: (e) => `users/${e.user_id}`
	}, e.listUsers = {
		method: "get",
		pathParams: [],
		queryParams: ["start_cursor", "page_size"],
		bodyParams: [],
		path: () => "users"
	};
})), w = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.deleteViewQuery = e.getViewQueryResults = e.createViewQuery = e.deleteView = e.updateView = e.getView = e.createView = e.listDatabaseViews = void 0, e.listDatabaseViews = {
		method: "get",
		pathParams: [],
		queryParams: [
			"database_id",
			"data_source_id",
			"start_cursor",
			"page_size"
		],
		bodyParams: [],
		path: () => "views"
	}, e.createView = {
		method: "post",
		pathParams: [],
		queryParams: [],
		bodyParams: [],
		path: () => "views"
	}, e.getView = {
		method: "get",
		pathParams: ["view_id"],
		queryParams: [],
		bodyParams: [],
		path: (e) => `views/${e.view_id}`
	}, e.updateView = {
		method: "patch",
		pathParams: ["view_id"],
		queryParams: [],
		bodyParams: [],
		path: (e) => `views/${e.view_id}`
	}, e.deleteView = {
		method: "delete",
		pathParams: ["view_id"],
		queryParams: [],
		bodyParams: [],
		path: (e) => `views/${e.view_id}`
	}, e.createViewQuery = {
		method: "post",
		pathParams: ["view_id"],
		queryParams: [],
		bodyParams: [],
		path: (e) => `views/${e.view_id}/queries`
	}, e.getViewQueryResults = {
		method: "get",
		pathParams: ["view_id", "query_id"],
		queryParams: ["start_cursor", "page_size"],
		bodyParams: [],
		path: (e) => `views/${e.view_id}/queries/${e.query_id}`
	}, e.deleteViewQuery = {
		method: "delete",
		pathParams: ["view_id", "query_id"],
		queryParams: [],
		bodyParams: [],
		path: (e) => `views/${e.view_id}/queries/${e.query_id}`
	};
})), T = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 });
})), E = /* @__PURE__ */ a(((e) => {
	var t = e && e.__createBinding || (Object.create ? (function(e, t, n, r) {
		r === void 0 && (r = n);
		var i = Object.getOwnPropertyDescriptor(t, n);
		(!i || ("get" in i ? !t.__esModule : i.writable || i.configurable)) && (i = {
			enumerable: !0,
			get: function() {
				return t[n];
			}
		}), Object.defineProperty(e, r, i);
	}) : (function(e, t, n, r) {
		r === void 0 && (r = n), e[r] = t[n];
	})), n = e && e.__exportStar || function(e, n) {
		for (var r in e) r !== "default" && !Object.prototype.hasOwnProperty.call(n, r) && t(n, e, r);
	};
	Object.defineProperty(e, "__esModule", { value: !0 }), n(p(), e), n(m(), e), n(h(), e), n(g(), e), n(_(), e), n(v(), e), n(y(), e), n(b(), e), n(x(), e), n(S(), e), n(C(), e), n(w(), e), n(T(), e);
})), D = /* @__PURE__ */ o({
	author: () => "",
	bugs: () => N,
	default: () => V,
	description: () => A,
	devDependencies: () => B,
	engines: () => j,
	files: () => z,
	homepage: () => M,
	keywords: () => F,
	license: () => "MIT",
	main: () => I,
	name: () => O,
	repository: () => P,
	scripts: () => R,
	types: () => L,
	version: () => k
}), O, k, A, j, M, N, P, F, I, L, R, z, B, V, H = i((() => {
	O = "@notionhq/client", k = "5.20.0", A = "A simple and easy to use client for the Notion API", j = { node: ">=18" }, M = "https://developers.notion.com/docs/getting-started", N = { url: "https://github.com/makenotion/notion-sdk-js/issues" }, P = {
		type: "git",
		url: "https://github.com/makenotion/notion-sdk-js/"
	}, F = [
		"notion",
		"notionapi",
		"rest",
		"notion-api"
	], I = "./build/src", L = "./build/src/index.d.ts", R = {
		prepare: "husky && npm run build",
		prepublishOnly: "npm run checkLoggedIn && npm run lint && npm run test",
		build: "tsc",
		prettier: "prettier --write .",
		lint: "prettier --check . && eslint . --ext .ts && cspell '**/*' ",
		test: "jest ./test",
		"check-links": "git ls-files | grep md$ | xargs -n 1 markdown-link-check",
		prebuild: "npm run clean",
		clean: "rm -rf ./build",
		checkLoggedIn: "./scripts/verifyLoggedIn.sh"
	}, z = ["build/package.json", "build/src/**"], B = {
		"@types/jest": "29.5.14",
		"@typescript-eslint/eslint-plugin": "7.18.0",
		"@typescript-eslint/parser": "7.18.0",
		cspell: "8.17.1",
		eslint: "8.57.1",
		husky: "^9.1.7",
		jest: "29.7.0",
		"lint-staged": "^16.2.6",
		"markdown-link-check": "3.13.7",
		prettier: "3.3.3",
		"ts-jest": "29.2.5",
		typescript: "5.9.2"
	}, V = {
		name: O,
		version: k,
		description: A,
		engines: j,
		homepage: M,
		bugs: N,
		repository: P,
		keywords: F,
		main: I,
		types: L,
		scripts: R,
		"lint-staged": {
			"*.{ts,js,json,md}": "prettier --write",
			"*.ts": "eslint --fix"
		},
		author: "",
		license: "MIT",
		files: z,
		devDependencies: B
	};
})), U = /* @__PURE__ */ a(((e) => {
	var t = e && e.__classPrivateFieldSet || function(e, t, n, r, i) {
		if (r === "m") throw TypeError("Private method is not writable");
		if (r === "a" && !i) throw TypeError("Private accessor was defined without a setter");
		if (typeof t == "function" ? e !== t || !i : !t.has(e)) throw TypeError("Cannot write private member to an object whose class did not declare it");
		return r === "a" ? i.call(e, n) : i ? i.value = n : t.set(e, n), n;
	}, n = e && e.__classPrivateFieldGet || function(e, t, n, r) {
		if (n === "a" && !r) throw TypeError("Private accessor was defined without a getter");
		if (typeof t == "function" ? e !== t || !r : !t.has(e)) throw TypeError("Cannot read private member from an object whose class did not declare it");
		return n === "m" ? r : n === "a" ? r.call(e) : r ? r.value : t.get(e);
	}, r, i, a, o, s, p, m, h, g, _, v, y;
	Object.defineProperty(e, "__esModule", { value: !0 });
	var b = u(), x = d(), S = l(), C = f(), w = E(), T = (H(), c(D).default), O = class e {
		constructor(n) {
			r.set(this, void 0), i.set(this, void 0), a.set(this, void 0), o.set(this, void 0), s.set(this, void 0), p.set(this, void 0), m.set(this, void 0), h.set(this, void 0), g.set(this, void 0), _.set(this, void 0), v.set(this, void 0), y.set(this, void 0), this.blocks = {
				retrieve: (e) => (this.warnUnknownParams(e, w.getBlock), this.request({
					path: w.getBlock.path(e),
					method: w.getBlock.method,
					query: (0, S.pick)(e, w.getBlock.queryParams),
					body: (0, S.pick)(e, w.getBlock.bodyParams),
					auth: e?.auth
				})),
				update: (e) => (this.warnUnknownParams(e, w.updateBlock), this.request({
					path: w.updateBlock.path(e),
					method: w.updateBlock.method,
					query: (0, S.pick)(e, w.updateBlock.queryParams),
					body: (0, S.pick)(e, w.updateBlock.bodyParams),
					auth: e?.auth
				})),
				delete: (e) => (this.warnUnknownParams(e, w.deleteBlock), this.request({
					path: w.deleteBlock.path(e),
					method: w.deleteBlock.method,
					query: (0, S.pick)(e, w.deleteBlock.queryParams),
					body: (0, S.pick)(e, w.deleteBlock.bodyParams),
					auth: e?.auth
				})),
				children: {
					append: (e) => (this.warnUnknownParams(e, w.appendBlockChildren), this.request({
						path: w.appendBlockChildren.path(e),
						method: w.appendBlockChildren.method,
						query: (0, S.pick)(e, w.appendBlockChildren.queryParams),
						body: (0, S.pick)(e, w.appendBlockChildren.bodyParams),
						auth: e?.auth
					})),
					list: (e) => (this.warnUnknownParams(e, w.listBlockChildren), this.request({
						path: w.listBlockChildren.path(e),
						method: w.listBlockChildren.method,
						query: (0, S.pick)(e, w.listBlockChildren.queryParams),
						body: (0, S.pick)(e, w.listBlockChildren.bodyParams),
						auth: e?.auth
					}))
				}
			}, this.databases = {
				retrieve: (e) => (this.warnUnknownParams(e, w.getDatabase), this.request({
					path: w.getDatabase.path(e),
					method: w.getDatabase.method,
					query: (0, S.pick)(e, w.getDatabase.queryParams),
					body: (0, S.pick)(e, w.getDatabase.bodyParams),
					auth: e?.auth
				})),
				create: (e) => (this.warnUnknownParams(e, w.createDatabase), this.request({
					path: w.createDatabase.path(),
					method: w.createDatabase.method,
					query: (0, S.pick)(e, w.createDatabase.queryParams),
					body: (0, S.pick)(e, w.createDatabase.bodyParams),
					auth: e?.auth
				})),
				update: (e) => (this.warnUnknownParams(e, w.updateDatabase), this.request({
					path: w.updateDatabase.path(e),
					method: w.updateDatabase.method,
					query: (0, S.pick)(e, w.updateDatabase.queryParams),
					body: (0, S.pick)(e, w.updateDatabase.bodyParams),
					auth: e?.auth
				}))
			}, this.dataSources = {
				retrieve: (e) => (this.warnUnknownParams(e, w.getDataSource), this.request({
					path: w.getDataSource.path(e),
					method: w.getDataSource.method,
					query: (0, S.pick)(e, w.getDataSource.queryParams),
					body: (0, S.pick)(e, w.getDataSource.bodyParams),
					auth: e?.auth
				})),
				query: (e) => (this.warnUnknownParams(e, w.queryDataSource), this.request({
					path: w.queryDataSource.path(e),
					method: w.queryDataSource.method,
					query: (0, S.pick)(e, w.queryDataSource.queryParams),
					body: (0, S.pick)(e, w.queryDataSource.bodyParams),
					auth: e?.auth
				})),
				create: (e) => (this.warnUnknownParams(e, w.createDataSource), this.request({
					path: w.createDataSource.path(),
					method: w.createDataSource.method,
					query: (0, S.pick)(e, w.createDataSource.queryParams),
					body: (0, S.pick)(e, w.createDataSource.bodyParams),
					auth: e?.auth
				})),
				update: (e) => (this.warnUnknownParams(e, w.updateDataSource), this.request({
					path: w.updateDataSource.path(e),
					method: w.updateDataSource.method,
					query: (0, S.pick)(e, w.updateDataSource.queryParams),
					body: (0, S.pick)(e, w.updateDataSource.bodyParams),
					auth: e?.auth
				})),
				listTemplates: (e) => (this.warnUnknownParams(e, w.listDataSourceTemplates), this.request({
					path: w.listDataSourceTemplates.path(e),
					method: w.listDataSourceTemplates.method,
					query: (0, S.pick)(e, w.listDataSourceTemplates.queryParams),
					body: (0, S.pick)(e, w.listDataSourceTemplates.bodyParams),
					auth: e?.auth
				}))
			}, this.pages = {
				create: (e) => (this.warnUnknownParams(e, w.createPage), this.request({
					path: w.createPage.path(),
					method: w.createPage.method,
					query: (0, S.pick)(e, w.createPage.queryParams),
					body: (0, S.pick)(e, w.createPage.bodyParams),
					auth: e?.auth
				})),
				retrieve: (e) => (this.warnUnknownParams(e, w.getPage), this.request({
					path: w.getPage.path(e),
					method: w.getPage.method,
					query: (0, S.pick)(e, w.getPage.queryParams),
					body: (0, S.pick)(e, w.getPage.bodyParams),
					auth: e?.auth
				})),
				update: (e) => (this.warnUnknownParams(e, w.updatePage), this.request({
					path: w.updatePage.path(e),
					method: w.updatePage.method,
					query: (0, S.pick)(e, w.updatePage.queryParams),
					body: (0, S.pick)(e, w.updatePage.bodyParams),
					auth: e?.auth
				})),
				move: (e) => (this.warnUnknownParams(e, w.movePage), this.request({
					path: w.movePage.path(e),
					method: w.movePage.method,
					query: (0, S.pick)(e, w.movePage.queryParams),
					body: (0, S.pick)(e, w.movePage.bodyParams),
					auth: e?.auth
				})),
				retrieveMarkdown: (e) => this.request({
					path: w.getPageMarkdown.path(e),
					method: w.getPageMarkdown.method,
					query: (0, S.pick)(e, w.getPageMarkdown.queryParams),
					body: (0, S.pick)(e, w.getPageMarkdown.bodyParams),
					auth: e?.auth
				}),
				updateMarkdown: (e) => this.request({
					path: w.updatePageMarkdown.path(e),
					method: w.updatePageMarkdown.method,
					query: (0, S.pick)(e, w.updatePageMarkdown.queryParams),
					body: (0, S.pick)(e, w.updatePageMarkdown.bodyParams),
					auth: e?.auth
				}),
				properties: { retrieve: (e) => (this.warnUnknownParams(e, w.getPageProperty), this.request({
					path: w.getPageProperty.path(e),
					method: w.getPageProperty.method,
					query: (0, S.pick)(e, w.getPageProperty.queryParams),
					body: (0, S.pick)(e, w.getPageProperty.bodyParams),
					auth: e?.auth
				})) }
			}, this.users = {
				retrieve: (e) => (this.warnUnknownParams(e, w.getUser), this.request({
					path: w.getUser.path(e),
					method: w.getUser.method,
					query: (0, S.pick)(e, w.getUser.queryParams),
					body: (0, S.pick)(e, w.getUser.bodyParams),
					auth: e?.auth
				})),
				list: (e) => (this.warnUnknownParams(e, w.listUsers), this.request({
					path: w.listUsers.path(),
					method: w.listUsers.method,
					query: (0, S.pick)(e, w.listUsers.queryParams),
					body: (0, S.pick)(e, w.listUsers.bodyParams),
					auth: e?.auth
				})),
				me: (e) => (this.warnUnknownParams(e, w.getSelf), this.request({
					path: w.getSelf.path(),
					method: w.getSelf.method,
					query: (0, S.pick)(e, w.getSelf.queryParams),
					body: (0, S.pick)(e, w.getSelf.bodyParams),
					auth: e?.auth
				}))
			}, this.customEmojis = { list: (e) => (this.warnUnknownParams(e ?? {}, w.listCustomEmojis), this.request({
				path: w.listCustomEmojis.path(),
				method: w.listCustomEmojis.method,
				query: (0, S.pick)(e ?? {}, w.listCustomEmojis.queryParams),
				body: (0, S.pick)(e ?? {}, w.listCustomEmojis.bodyParams),
				auth: e?.auth
			})) }, this.comments = {
				create: (e) => (this.warnUnknownParams(e, w.createComment), this.request({
					path: w.createComment.path(),
					method: w.createComment.method,
					query: (0, S.pick)(e, w.createComment.queryParams),
					body: (0, S.pick)(e, w.createComment.bodyParams),
					auth: e?.auth
				})),
				list: (e) => (this.warnUnknownParams(e, w.listComments), this.request({
					path: w.listComments.path(),
					method: w.listComments.method,
					query: (0, S.pick)(e, w.listComments.queryParams),
					body: (0, S.pick)(e, w.listComments.bodyParams),
					auth: e?.auth
				})),
				retrieve: (e) => (this.warnUnknownParams(e, w.getComment), this.request({
					path: w.getComment.path(e),
					method: w.getComment.method,
					query: (0, S.pick)(e, w.getComment.queryParams),
					body: (0, S.pick)(e, w.getComment.bodyParams),
					auth: e?.auth
				})),
				update: (e) => (this.warnUnknownParams(e, w.updateComment), this.request({
					path: w.updateComment.path(e),
					method: w.updateComment.method,
					query: (0, S.pick)(e, w.updateComment.queryParams),
					body: (0, S.pick)(e, w.updateComment.bodyParams),
					auth: e?.auth
				})),
				delete: (e) => (this.warnUnknownParams(e, w.deleteComment), this.request({
					path: w.deleteComment.path(e),
					method: w.deleteComment.method,
					query: (0, S.pick)(e, w.deleteComment.queryParams),
					body: (0, S.pick)(e, w.deleteComment.bodyParams),
					auth: e?.auth
				}))
			}, this.fileUploads = {
				create: (e) => (this.warnUnknownParams(e, w.createFileUpload), this.request({
					path: w.createFileUpload.path(),
					method: w.createFileUpload.method,
					query: (0, S.pick)(e, w.createFileUpload.queryParams),
					body: (0, S.pick)(e, w.createFileUpload.bodyParams),
					auth: e?.auth
				})),
				retrieve: (e) => (this.warnUnknownParams(e, w.getFileUpload), this.request({
					path: w.getFileUpload.path(e),
					method: w.getFileUpload.method,
					query: (0, S.pick)(e, w.getFileUpload.queryParams),
					auth: e?.auth
				})),
				list: (e) => (this.warnUnknownParams(e, w.listFileUploads), this.request({
					path: w.listFileUploads.path(),
					method: w.listFileUploads.method,
					query: (0, S.pick)(e, w.listFileUploads.queryParams),
					auth: e?.auth
				})),
				send: (e) => (this.warnUnknownParams(e, w.sendFileUpload), this.request({
					path: w.sendFileUpload.path(e),
					method: w.sendFileUpload.method,
					query: (0, S.pick)(e, w.sendFileUpload.queryParams),
					formDataParams: (0, S.pick)(e, w.sendFileUpload.formDataParams),
					auth: e?.auth
				})),
				complete: (e) => (this.warnUnknownParams(e, w.completeFileUpload), this.request({
					path: w.completeFileUpload.path(e),
					method: w.completeFileUpload.method,
					query: (0, S.pick)(e, w.completeFileUpload.queryParams),
					auth: e?.auth
				}))
			}, this.views = {
				create: (e) => this.request({
					path: w.createView.path(),
					method: w.createView.method,
					query: (0, S.pick)(e, w.createView.queryParams),
					body: (0, S.pick)(e, [
						"data_source_id",
						"name",
						"type",
						"database_id",
						"view_id",
						"filter",
						"sorts",
						"quick_filters",
						"create_database",
						"configuration",
						"position",
						"placement"
					]),
					auth: e?.auth
				}),
				retrieve: (e) => (this.warnUnknownParams(e, w.getView), this.request({
					path: w.getView.path(e),
					method: w.getView.method,
					query: (0, S.pick)(e, w.getView.queryParams),
					body: (0, S.pick)(e, w.getView.bodyParams),
					auth: e?.auth
				})),
				update: (e) => this.request({
					path: w.updateView.path(e),
					method: w.updateView.method,
					query: (0, S.pick)(e, w.updateView.queryParams),
					body: (0, S.pick)(e, [
						"name",
						"filter",
						"sorts",
						"quick_filters",
						"configuration"
					]),
					auth: e?.auth
				}),
				delete: (e) => (this.warnUnknownParams(e, w.deleteView), this.request({
					path: w.deleteView.path(e),
					method: w.deleteView.method,
					query: (0, S.pick)(e, w.deleteView.queryParams),
					body: (0, S.pick)(e, w.deleteView.bodyParams),
					auth: e?.auth
				})),
				list: (e) => (this.warnUnknownParams(e, w.listDatabaseViews), this.request({
					path: w.listDatabaseViews.path(),
					method: w.listDatabaseViews.method,
					query: (0, S.pick)(e, w.listDatabaseViews.queryParams),
					body: (0, S.pick)(e, w.listDatabaseViews.bodyParams),
					auth: e?.auth
				})),
				queries: {
					create: (e) => this.request({
						path: w.createViewQuery.path(e),
						method: w.createViewQuery.method,
						query: (0, S.pick)(e, w.createViewQuery.queryParams),
						body: (0, S.pick)(e, ["page_size"]),
						auth: e?.auth
					}),
					results: (e) => (this.warnUnknownParams(e, w.getViewQueryResults), this.request({
						path: w.getViewQueryResults.path(e),
						method: w.getViewQueryResults.method,
						query: (0, S.pick)(e, w.getViewQueryResults.queryParams),
						body: (0, S.pick)(e, w.getViewQueryResults.bodyParams),
						auth: e?.auth
					})),
					delete: (e) => (this.warnUnknownParams(e, w.deleteViewQuery), this.request({
						path: w.deleteViewQuery.path(e),
						method: w.deleteViewQuery.method,
						query: (0, S.pick)(e, w.deleteViewQuery.queryParams),
						body: (0, S.pick)(e, w.deleteViewQuery.bodyParams),
						auth: e?.auth
					}))
				}
			}, this.search = (e) => (this.warnUnknownParams(e, w.search), this.request({
				path: w.search.path(),
				method: w.search.method,
				query: (0, S.pick)(e, w.search.queryParams),
				body: (0, S.pick)(e, w.search.bodyParams),
				auth: e?.auth
			})), this.oauth = {
				token: (e) => this.request({
					path: w.oauthToken.path(),
					method: w.oauthToken.method,
					query: (0, S.pick)(e, w.oauthToken.queryParams),
					body: (0, S.pick)(e, w.oauthToken.bodyParams),
					auth: {
						client_id: e.client_id,
						client_secret: e.client_secret
					}
				}),
				introspect: (e) => this.request({
					path: w.oauthIntrospect.path(),
					method: w.oauthIntrospect.method,
					query: (0, S.pick)(e, w.oauthIntrospect.queryParams),
					body: (0, S.pick)(e, w.oauthIntrospect.bodyParams),
					auth: {
						client_id: e.client_id,
						client_secret: e.client_secret
					}
				}),
				revoke: (e) => this.request({
					path: w.oauthRevoke.path(),
					method: w.oauthRevoke.method,
					query: (0, S.pick)(e, w.oauthRevoke.queryParams),
					body: (0, S.pick)(e, w.oauthRevoke.bodyParams),
					auth: {
						client_id: e.client_id,
						client_secret: e.client_secret
					}
				})
			}, t(this, r, n?.auth, "f"), t(this, i, n?.logLevel ?? b.LogLevel.WARN, "f"), t(this, a, n?.logger ?? (0, b.makeConsoleLogger)(T.name), "f"), t(this, o, `${n?.baseUrl ?? C.DEFAULT_BASE_URL}/v1/`, "f"), t(this, s, n?.timeoutMs ?? C.DEFAULT_TIMEOUT_MS, "f"), t(this, p, n?.notionVersion ?? e.defaultNotionVersion, "f"), t(this, m, n?.fetch ?? fetch.bind(globalThis), "f"), t(this, h, n?.agent, "f"), t(this, g, `notionhq-client/${T.version}`, "f"), n?.retry === !1 ? (t(this, _, 0, "f"), t(this, v, 0, "f"), t(this, y, 0, "f")) : (t(this, _, n?.retry?.maxRetries ?? C.DEFAULT_MAX_RETRIES, "f"), t(this, v, n?.retry?.initialRetryDelayMs ?? C.DEFAULT_INITIAL_RETRY_DELAY_MS, "f"), t(this, y, n?.retry?.maxRetryDelayMs ?? C.DEFAULT_MAX_RETRY_DELAY_MS, "f"));
		}
		async request(e) {
			let { path: t, method: n, query: r, body: i, formDataParams: a, auth: o } = e;
			(0, x.validateRequestPath)(t), this.log(b.LogLevel.INFO, "request start", {
				method: n,
				path: t
			});
			let s = this.buildRequestUrl(t, r), c = this.serializeBody(i), l = this.buildRequestHeaders(e.headers, o, c), u = this.buildFormData(a, l);
			return this.executeWithRetry({
				url: s,
				method: n,
				path: t,
				headers: l,
				body: c ?? u
			});
		}
		buildRequestUrl(e, t) {
			let r = new URL(`${n(this, o, "f")}${e}`);
			if (t) {
				for (let [e, n] of Object.entries(t)) if (n !== void 0) if (Array.isArray(n)) for (let t of n) r.searchParams.append(e, decodeURIComponent(t));
				else r.searchParams.append(e, String(n));
			}
			return r;
		}
		serializeBody(e) {
			if (!(!e || Object.entries(e).length === 0)) return JSON.stringify(e);
		}
		buildRequestHeaders(e, t, r) {
			let i = this.buildAuthHeader(t), a = {
				...e,
				...i,
				"Notion-Version": n(this, p, "f"),
				"user-agent": n(this, g, "f")
			};
			return r !== void 0 && (a["content-type"] = "application/json"), a;
		}
		buildAuthHeader(e) {
			if (typeof e == "object") {
				let t = `${e.client_id}:${e.client_secret}`;
				return { authorization: `Basic ${Buffer.from(t).toString("base64")}` };
			}
			return this.authAsHeaders(e);
		}
		buildFormData(e, t) {
			if (!e) return;
			delete t["content-type"];
			let n = new FormData();
			for (let [t, r] of Object.entries(e)) typeof r == "string" ? n.append(t, r) : typeof r == "object" && n.append(t, typeof r.data == "object" ? r.data : new Blob([r.data]), r.filename);
			return n;
		}
		async executeWithRetry(e) {
			let { url: t, method: r, path: i, headers: a, body: o } = e, s = 0;
			for (;;) try {
				return await this.executeSingleRequest({
					url: t,
					method: r,
					path: i,
					headers: a,
					body: o
				});
			} catch (e) {
				if (!(0, x.isNotionClientError)(e)) throw e;
				if (this.logRequestError(e, s), s < n(this, _, "f") && this.canRetry(e, r)) {
					let t = this.calculateRetryDelay(e, s);
					this.log(b.LogLevel.INFO, "retrying request", {
						method: r,
						path: i,
						attempt: s + 1,
						delayMs: t
					}), await this.sleep(t), s++;
					continue;
				}
				throw e;
			}
		}
		async executeSingleRequest(e) {
			let { url: t, method: r, path: i, headers: a, body: o } = e, c = await x.RequestTimeoutError.rejectAfterTimeout(n(this, m, "f").call(this, t.toString(), {
				method: r.toUpperCase(),
				headers: a,
				body: o,
				agent: n(this, h, "f")
			}), n(this, s, "f")), l = await c.text();
			if (!c.ok) throw (0, x.buildRequestError)(c, l);
			let u = JSON.parse(l);
			return this.log(b.LogLevel.INFO, "request success", {
				method: r,
				path: i,
				...this.extractRequestId(u)
			}), u;
		}
		logRequestError(e, t) {
			this.log(b.LogLevel.WARN, "request fail", {
				code: e.code,
				message: e.message,
				attempt: t,
				...this.extractRequestId(e)
			}), (0, x.isHTTPResponseError)(e) && this.log(b.LogLevel.DEBUG, "failed response body", { body: e.body });
		}
		extractRequestId(e) {
			return e && typeof e == "object" && "request_id" in e && typeof e.request_id == "string" ? { requestId: e.request_id } : {};
		}
		canRetry(e, t) {
			return x.APIResponseError.isAPIResponseError(e) ? e.code === x.APIErrorCode.RateLimited ? !0 : t === "get" || t === "delete" ? e.code === x.APIErrorCode.InternalServerError || e.code === x.APIErrorCode.ServiceUnavailable : !1 : !1;
		}
		calculateRetryDelay(e, t) {
			if (x.APIResponseError.isAPIResponseError(e)) {
				let t = this.parseRetryAfterHeader(e.headers);
				if (t !== void 0) return Math.min(t, n(this, y, "f"));
			}
			let r = n(this, v, "f") * 2 ** t;
			return Math.min(r * Math.random() + r / 2, n(this, y, "f"));
		}
		parseRetryAfterHeader(e) {
			if (!e) return;
			let t = null;
			if (typeof e == "object" && "get" in e) t = e.get("retry-after");
			else if (typeof e == "object") {
				let n = e;
				t = n["retry-after"] ?? n["Retry-After"] ?? null;
			}
			if (!t) return;
			let n = parseInt(t, 10);
			if (!isNaN(n) && n >= 0) return n * 1e3;
			let r = Date.parse(t);
			if (!isNaN(r)) {
				let e = r - Date.now();
				return e > 0 ? e : 0;
			}
		}
		sleep(e) {
			return new Promise((t) => setTimeout(t, e));
		}
		warnUnknownParams(e, t) {
			if (!e || typeof e != "object") return;
			let n = (0, S.getUnknownParams)(e, t);
			n.length > 0 && this.log(b.LogLevel.WARN, "unknown parameters were ignored", {
				unknownParams: n,
				knownParams: [
					...t.pathParams,
					...t.queryParams,
					...t.bodyParams,
					...t.formDataParams ?? []
				]
			});
		}
		log(e, t, r) {
			(0, b.logLevelSeverity)(e) >= (0, b.logLevelSeverity)(n(this, i, "f")) && n(this, a, "f").call(this, e, t, r);
		}
		authAsHeaders(e) {
			let t = {}, i = e ?? n(this, r, "f");
			return i !== void 0 && (t.authorization = `Bearer ${i}`), t;
		}
	};
	r = /* @__PURE__ */ new WeakMap(), i = /* @__PURE__ */ new WeakMap(), a = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap(), s = /* @__PURE__ */ new WeakMap(), p = /* @__PURE__ */ new WeakMap(), m = /* @__PURE__ */ new WeakMap(), h = /* @__PURE__ */ new WeakMap(), g = /* @__PURE__ */ new WeakMap(), _ = /* @__PURE__ */ new WeakMap(), v = /* @__PURE__ */ new WeakMap(), y = /* @__PURE__ */ new WeakMap(), O.defaultNotionVersion = "2025-09-03", e.default = O;
})), W = /* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.iteratePaginatedAPI = t, e.collectPaginatedAPI = n, e.iterateDataSourceTemplates = r, e.collectDataSourceTemplates = i, e.isFullBlock = a, e.isFullPage = o, e.isFullDataSource = s, e.isFullDatabase = c, e.isFullPageOrDataSource = l, e.isFullUser = u, e.isFullComment = d, e.isFullView = f, e.isTextRichTextItemResponse = p, e.isEquationRichTextItemResponse = m, e.isMentionRichTextItemResponse = h, e.extractNotionId = g, e.extractDatabaseId = v, e.extractPageId = y, e.extractBlockId = b;
	async function* t(e, t) {
		let n = t.start_cursor;
		do {
			let r = await e({
				...t,
				start_cursor: n
			});
			yield* r.results, n = r.next_cursor;
		} while (n);
	}
	async function n(e, n) {
		let r = [];
		for await (let i of t(e, n)) r.push(i);
		return r;
	}
	async function* r(e, t) {
		let n = t.start_cursor;
		do {
			let r = await e.dataSources.listTemplates({
				...t,
				start_cursor: n
			});
			yield* r.templates, n = r.next_cursor;
		} while (n);
	}
	async function i(e, t) {
		let n = [];
		for await (let i of r(e, t)) n.push(i);
		return n;
	}
	function a(e) {
		return e.object === "block" && "type" in e;
	}
	function o(e) {
		return e.object === "page" && "url" in e;
	}
	function s(e) {
		return e.object === "data_source";
	}
	function c(e) {
		return e.object === "database";
	}
	function l(e) {
		return e.object === "data_source" ? s(e) : o(e);
	}
	function u(e) {
		return "type" in e;
	}
	function d(e) {
		return "created_by" in e;
	}
	function f(e) {
		return "type" in e;
	}
	function p(e) {
		return e.type === "text";
	}
	function m(e) {
		return e.type === "equation";
	}
	function h(e) {
		return e.type === "mention";
	}
	function g(e) {
		if (!e || typeof e != "string") return null;
		let t = e.trim();
		if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t)) return t.toLowerCase();
		if (/^[0-9a-f]{32}$/i.test(t)) return _(t);
		let n = t.match(/\/[^/?#]*-([0-9a-f]{32})(?:[/?#]|$)/i);
		if (n && n[1]) return _(n[1]);
		let r = t.match(/[?&](?:p|page_id|database_id)=([0-9a-f]{32})/i);
		if (r && r[1]) return _(r[1]);
		let i = t.match(/([0-9a-f]{32})/i);
		return i && i[1] ? _(i[1]) : null;
	}
	function _(e) {
		let t = e.toLowerCase();
		return `${t.slice(0, 8)}-${t.slice(8, 12)}-${t.slice(12, 16)}-${t.slice(16, 20)}-${t.slice(20, 32)}`;
	}
	function v(e) {
		return g(e);
	}
	function y(e) {
		return g(e);
	}
	function b(e) {
		if (!e || typeof e != "string") return null;
		let t = e.match(/#(?:block-)?([0-9a-f]{32})/i);
		return t && t[1] ? _(t[1]) : null;
	}
})), G = (/* @__PURE__ */ a(((e) => {
	Object.defineProperty(e, "__esModule", { value: !0 }), e.extractBlockId = e.extractPageId = e.extractDatabaseId = e.extractNotionId = e.isFullPageOrDataSource = e.isFullView = e.isFullComment = e.isFullUser = e.isFullPage = e.isFullDatabase = e.isFullDataSource = e.isFullBlock = e.iterateDataSourceTemplates = e.collectDataSourceTemplates = e.iteratePaginatedAPI = e.collectPaginatedAPI = e.MIN_VIEW_COLUMN_WIDTH = e.DEFAULT_MAX_RETRY_DELAY_MS = e.DEFAULT_INITIAL_RETRY_DELAY_MS = e.DEFAULT_MAX_RETRIES = e.DEFAULT_TIMEOUT_MS = e.DEFAULT_BASE_URL = e.isHTTPResponseError = e.isNotionClientError = e.InvalidPathParameterError = e.RequestTimeoutError = e.UnknownHTTPResponseError = e.APIResponseError = e.ClientErrorCode = e.APIErrorCode = e.LogLevel = e.Client = void 0;
	var t = U();
	Object.defineProperty(e, "Client", {
		enumerable: !0,
		get: function() {
			return t.default;
		}
	});
	var n = u();
	Object.defineProperty(e, "LogLevel", {
		enumerable: !0,
		get: function() {
			return n.LogLevel;
		}
	});
	var r = d();
	Object.defineProperty(e, "APIErrorCode", {
		enumerable: !0,
		get: function() {
			return r.APIErrorCode;
		}
	}), Object.defineProperty(e, "ClientErrorCode", {
		enumerable: !0,
		get: function() {
			return r.ClientErrorCode;
		}
	}), Object.defineProperty(e, "APIResponseError", {
		enumerable: !0,
		get: function() {
			return r.APIResponseError;
		}
	}), Object.defineProperty(e, "UnknownHTTPResponseError", {
		enumerable: !0,
		get: function() {
			return r.UnknownHTTPResponseError;
		}
	}), Object.defineProperty(e, "RequestTimeoutError", {
		enumerable: !0,
		get: function() {
			return r.RequestTimeoutError;
		}
	}), Object.defineProperty(e, "InvalidPathParameterError", {
		enumerable: !0,
		get: function() {
			return r.InvalidPathParameterError;
		}
	}), Object.defineProperty(e, "isNotionClientError", {
		enumerable: !0,
		get: function() {
			return r.isNotionClientError;
		}
	}), Object.defineProperty(e, "isHTTPResponseError", {
		enumerable: !0,
		get: function() {
			return r.isHTTPResponseError;
		}
	});
	var i = f();
	Object.defineProperty(e, "DEFAULT_BASE_URL", {
		enumerable: !0,
		get: function() {
			return i.DEFAULT_BASE_URL;
		}
	}), Object.defineProperty(e, "DEFAULT_TIMEOUT_MS", {
		enumerable: !0,
		get: function() {
			return i.DEFAULT_TIMEOUT_MS;
		}
	}), Object.defineProperty(e, "DEFAULT_MAX_RETRIES", {
		enumerable: !0,
		get: function() {
			return i.DEFAULT_MAX_RETRIES;
		}
	}), Object.defineProperty(e, "DEFAULT_INITIAL_RETRY_DELAY_MS", {
		enumerable: !0,
		get: function() {
			return i.DEFAULT_INITIAL_RETRY_DELAY_MS;
		}
	}), Object.defineProperty(e, "DEFAULT_MAX_RETRY_DELAY_MS", {
		enumerable: !0,
		get: function() {
			return i.DEFAULT_MAX_RETRY_DELAY_MS;
		}
	}), Object.defineProperty(e, "MIN_VIEW_COLUMN_WIDTH", {
		enumerable: !0,
		get: function() {
			return i.MIN_VIEW_COLUMN_WIDTH;
		}
	});
	var a = W();
	Object.defineProperty(e, "collectPaginatedAPI", {
		enumerable: !0,
		get: function() {
			return a.collectPaginatedAPI;
		}
	}), Object.defineProperty(e, "iteratePaginatedAPI", {
		enumerable: !0,
		get: function() {
			return a.iteratePaginatedAPI;
		}
	}), Object.defineProperty(e, "collectDataSourceTemplates", {
		enumerable: !0,
		get: function() {
			return a.collectDataSourceTemplates;
		}
	}), Object.defineProperty(e, "iterateDataSourceTemplates", {
		enumerable: !0,
		get: function() {
			return a.iterateDataSourceTemplates;
		}
	}), Object.defineProperty(e, "isFullBlock", {
		enumerable: !0,
		get: function() {
			return a.isFullBlock;
		}
	}), Object.defineProperty(e, "isFullDataSource", {
		enumerable: !0,
		get: function() {
			return a.isFullDataSource;
		}
	}), Object.defineProperty(e, "isFullDatabase", {
		enumerable: !0,
		get: function() {
			return a.isFullDatabase;
		}
	}), Object.defineProperty(e, "isFullPage", {
		enumerable: !0,
		get: function() {
			return a.isFullPage;
		}
	}), Object.defineProperty(e, "isFullUser", {
		enumerable: !0,
		get: function() {
			return a.isFullUser;
		}
	}), Object.defineProperty(e, "isFullComment", {
		enumerable: !0,
		get: function() {
			return a.isFullComment;
		}
	}), Object.defineProperty(e, "isFullView", {
		enumerable: !0,
		get: function() {
			return a.isFullView;
		}
	}), Object.defineProperty(e, "isFullPageOrDataSource", {
		enumerable: !0,
		get: function() {
			return a.isFullPageOrDataSource;
		}
	}), Object.defineProperty(e, "extractNotionId", {
		enumerable: !0,
		get: function() {
			return a.extractNotionId;
		}
	}), Object.defineProperty(e, "extractDatabaseId", {
		enumerable: !0,
		get: function() {
			return a.extractDatabaseId;
		}
	}), Object.defineProperty(e, "extractPageId", {
		enumerable: !0,
		get: function() {
			return a.extractPageId;
		}
	}), Object.defineProperty(e, "extractBlockId", {
		enumerable: !0,
		get: function() {
			return a.extractBlockId;
		}
	});
})))(), K = (e) => e.map((e) => e.plain_text).join(""), q = (e) => {
	let t, n;
	return t = e[e.type].external ? e[e.type].external.url : e[e.type].file ? e[e.type].file.url : e[e.type].url ? e[e.type].url : "[Missing case for media block types]: " + e.type, e[e.type].caption.length ? (n = K(e[e.type].caption), n + ": " + t) : t;
}, J = (e) => {
	let t;
	if (e[e.type].rich_text) t = K(e[e.type].rich_text);
	else switch (e.type) {
		case "unsupported":
			t = "[Unsupported block type]";
			break;
		case "bookmark":
			t = e.bookmark.url;
			break;
		case "child_database":
			t = e.child_database.title;
			break;
		case "child_page":
			t = e.child_page.title;
			break;
		case "embed":
		case "video":
		case "file":
		case "image":
		case "pdf":
			t = q(e);
			break;
		case "equation":
			t = e.equation.expression;
			break;
		case "link_preview":
			t = e.link_preview.url;
			break;
		case "synced_block":
			t = e.synced_block.synced_from ? "This block is synced with a block with the following ID: " + e.synced_block.synced_from[e.synced_block.synced_from.type] : "Source sync block that another blocked is synced with.";
			break;
		case "table":
			t = "Table width: " + e.table.table_width;
			break;
		case "table_of_contents":
			t = "ToC color: " + e.table_of_contents.color;
			break;
		case "breadcrumb":
		case "column_list":
		case "divider":
			t = "No text available";
			break;
		default:
			t = "[Needs case added]";
			break;
	}
	return e.has_children && (t += " (Has children)"), e.type + ": " + t;
}, Y = (e) => e ? e.type === "emoji" ? e.emoji : e.type === "custom_emoji" ? e.custom_emoji.name : e.type === "icon" ? e.icon.name : null : null, X = (e) => Array.isArray(e) ? e.map((e) => e.plain_text).join("") : "", Z = (e) => {
	if (!e) return "";
	if ("rich_text" in e) return X(e.rich_text);
	if ("title" in e) return X(e.title);
}, Q = (e, t = { emoji: !0 }) => {
	let n = e;
	if ((0, G.isFullPage)(n) && n.object === "page" && n.properties) {
		let e = [
			"title",
			"Page",
			"Name",
			"Topic"
		].find((e) => Z(n.properties[e])), r = Y(n.icon) ?? "";
		if (e) return t.emoji ? `${r}${Z(n.properties[e])}` : Z(n.properties[e]);
		let i = Object.keys(n.properties).reverse().map((e) => Z(n.properties[e])).filter((e) => e).reduce((e, t) => `${e} ${t}`, "");
		return t.emoji ? `${r}${i}` : i;
	}
	let r = e;
	if ((0, G.isFullDatabase)(r)) {
		let e = X(r.title);
		return t.emoji ? `${Y(n.icon) ?? ""}${e}` : e;
	}
	return e?.type === void 0 ? "Untitled" : J(e);
};
//#endregion
export { Q as getNotionObjectTitle };