@atikk-co-jp/notion-mcp-server 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/LICENSE +21 -0
  2. package/README.ja.md +203 -0
  3. package/README.md +203 -0
  4. package/dist/bin/cli.d.ts +3 -0
  5. package/dist/bin/cli.d.ts.map +1 -0
  6. package/dist/bin/cli.js +25 -0
  7. package/dist/src/index.d.ts +7 -0
  8. package/dist/src/index.d.ts.map +1 -0
  9. package/dist/src/index.js +9 -0
  10. package/dist/src/notion-client.d.ts +82 -0
  11. package/dist/src/notion-client.d.ts.map +1 -0
  12. package/dist/src/notion-client.js +93 -0
  13. package/dist/src/schemas/block.d.ts +2250 -0
  14. package/dist/src/schemas/block.d.ts.map +1 -0
  15. package/dist/src/schemas/block.js +195 -0
  16. package/dist/src/schemas/common.d.ts +126 -0
  17. package/dist/src/schemas/common.d.ts.map +1 -0
  18. package/dist/src/schemas/common.js +85 -0
  19. package/dist/src/schemas/filter.d.ts +105 -0
  20. package/dist/src/schemas/filter.d.ts.map +1 -0
  21. package/dist/src/schemas/filter.js +125 -0
  22. package/dist/src/schemas/index.d.ts +5 -0
  23. package/dist/src/schemas/index.d.ts.map +1 -0
  24. package/dist/src/schemas/index.js +8 -0
  25. package/dist/src/schemas/page.d.ts +474 -0
  26. package/dist/src/schemas/page.d.ts.map +1 -0
  27. package/dist/src/schemas/page.js +134 -0
  28. package/dist/src/server.d.ts +5 -0
  29. package/dist/src/server.d.ts.map +1 -0
  30. package/dist/src/server.js +16 -0
  31. package/dist/src/tools/append-block-children.d.ts +4 -0
  32. package/dist/src/tools/append-block-children.d.ts.map +1 -0
  33. package/dist/src/tools/append-block-children.js +32 -0
  34. package/dist/src/tools/create-comment.d.ts +4 -0
  35. package/dist/src/tools/create-comment.d.ts.map +1 -0
  36. package/dist/src/tools/create-comment.js +35 -0
  37. package/dist/src/tools/create-page.d.ts +4 -0
  38. package/dist/src/tools/create-page.d.ts.map +1 -0
  39. package/dist/src/tools/create-page.js +50 -0
  40. package/dist/src/tools/get-block-children.d.ts +4 -0
  41. package/dist/src/tools/get-block-children.d.ts.map +1 -0
  42. package/dist/src/tools/get-block-children.js +30 -0
  43. package/dist/src/tools/index.d.ts +13 -0
  44. package/dist/src/tools/index.d.ts.map +1 -0
  45. package/dist/src/tools/index.js +24 -0
  46. package/dist/src/tools/query-database.d.ts +4 -0
  47. package/dist/src/tools/query-database.d.ts.map +1 -0
  48. package/dist/src/tools/query-database.js +51 -0
  49. package/dist/src/tools/retrieve-page.d.ts +4 -0
  50. package/dist/src/tools/retrieve-page.d.ts.map +1 -0
  51. package/dist/src/tools/retrieve-page.js +16 -0
  52. package/dist/src/tools/search.d.ts +4 -0
  53. package/dist/src/tools/search.d.ts.map +1 -0
  54. package/dist/src/tools/search.js +58 -0
  55. package/dist/src/tools/update-page.d.ts +4 -0
  56. package/dist/src/tools/update-page.d.ts.map +1 -0
  57. package/dist/src/tools/update-page.js +47 -0
  58. package/dist/src/utils/error-handler.d.ts +11 -0
  59. package/dist/src/utils/error-handler.d.ts.map +1 -0
  60. package/dist/src/utils/error-handler.js +64 -0
  61. package/dist/src/utils/index.d.ts +3 -0
  62. package/dist/src/utils/index.d.ts.map +1 -0
  63. package/dist/src/utils/index.js +2 -0
  64. package/dist/src/utils/response-formatter.d.ts +5 -0
  65. package/dist/src/utils/response-formatter.d.ts.map +1 -0
  66. package/dist/src/utils/response-formatter.js +30 -0
  67. package/package.json +58 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../src/schemas/block.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ import { z } from "zod";
2
+ import { RichTextArraySchema } from "./common.js";
3
+ // Paragraph block
4
+ export const ParagraphBlockSchema = z.object({
5
+ object: z.literal("block").optional(),
6
+ type: z.literal("paragraph"),
7
+ paragraph: z.object({
8
+ rich_text: RichTextArraySchema,
9
+ color: z.string().optional(),
10
+ }),
11
+ });
12
+ // Heading 1 block
13
+ export const Heading1BlockSchema = z.object({
14
+ object: z.literal("block").optional(),
15
+ type: z.literal("heading_1"),
16
+ heading_1: z.object({
17
+ rich_text: RichTextArraySchema,
18
+ color: z.string().optional(),
19
+ is_toggleable: z.boolean().optional(),
20
+ }),
21
+ });
22
+ // Heading 2 block
23
+ export const Heading2BlockSchema = z.object({
24
+ object: z.literal("block").optional(),
25
+ type: z.literal("heading_2"),
26
+ heading_2: z.object({
27
+ rich_text: RichTextArraySchema,
28
+ color: z.string().optional(),
29
+ is_toggleable: z.boolean().optional(),
30
+ }),
31
+ });
32
+ // Heading 3 block
33
+ export const Heading3BlockSchema = z.object({
34
+ object: z.literal("block").optional(),
35
+ type: z.literal("heading_3"),
36
+ heading_3: z.object({
37
+ rich_text: RichTextArraySchema,
38
+ color: z.string().optional(),
39
+ is_toggleable: z.boolean().optional(),
40
+ }),
41
+ });
42
+ // Bulleted list item block
43
+ export const BulletedListItemBlockSchema = z.object({
44
+ object: z.literal("block").optional(),
45
+ type: z.literal("bulleted_list_item"),
46
+ bulleted_list_item: z.object({
47
+ rich_text: RichTextArraySchema,
48
+ color: z.string().optional(),
49
+ }),
50
+ });
51
+ // Numbered list item block
52
+ export const NumberedListItemBlockSchema = z.object({
53
+ object: z.literal("block").optional(),
54
+ type: z.literal("numbered_list_item"),
55
+ numbered_list_item: z.object({
56
+ rich_text: RichTextArraySchema,
57
+ color: z.string().optional(),
58
+ }),
59
+ });
60
+ // To-do block
61
+ export const ToDoBlockSchema = z.object({
62
+ object: z.literal("block").optional(),
63
+ type: z.literal("to_do"),
64
+ to_do: z.object({
65
+ rich_text: RichTextArraySchema,
66
+ checked: z.boolean().optional(),
67
+ color: z.string().optional(),
68
+ }),
69
+ });
70
+ // Toggle block
71
+ export const ToggleBlockSchema = z.object({
72
+ object: z.literal("block").optional(),
73
+ type: z.literal("toggle"),
74
+ toggle: z.object({
75
+ rich_text: RichTextArraySchema,
76
+ color: z.string().optional(),
77
+ }),
78
+ });
79
+ // Code block
80
+ export const CodeBlockSchema = z.object({
81
+ object: z.literal("block").optional(),
82
+ type: z.literal("code"),
83
+ code: z.object({
84
+ rich_text: RichTextArraySchema,
85
+ language: z.string(),
86
+ caption: RichTextArraySchema.optional(),
87
+ }),
88
+ });
89
+ // Quote block
90
+ export const QuoteBlockSchema = z.object({
91
+ object: z.literal("block").optional(),
92
+ type: z.literal("quote"),
93
+ quote: z.object({
94
+ rich_text: RichTextArraySchema,
95
+ color: z.string().optional(),
96
+ }),
97
+ });
98
+ // Callout block
99
+ export const CalloutBlockSchema = z.object({
100
+ object: z.literal("block").optional(),
101
+ type: z.literal("callout"),
102
+ callout: z.object({
103
+ rich_text: RichTextArraySchema,
104
+ icon: z
105
+ .union([
106
+ z.object({
107
+ type: z.literal("emoji"),
108
+ emoji: z.string(),
109
+ }),
110
+ z.object({
111
+ type: z.literal("external"),
112
+ external: z.object({ url: z.string() }),
113
+ }),
114
+ ])
115
+ .optional(),
116
+ color: z.string().optional(),
117
+ }),
118
+ });
119
+ // Divider block
120
+ export const DividerBlockSchema = z.object({
121
+ object: z.literal("block").optional(),
122
+ type: z.literal("divider"),
123
+ divider: z.object({}).optional(),
124
+ });
125
+ // Bookmark block
126
+ export const BookmarkBlockSchema = z.object({
127
+ object: z.literal("block").optional(),
128
+ type: z.literal("bookmark"),
129
+ bookmark: z.object({
130
+ url: z.string(),
131
+ caption: RichTextArraySchema.optional(),
132
+ }),
133
+ });
134
+ // Image block
135
+ export const ImageBlockSchema = z.object({
136
+ object: z.literal("block").optional(),
137
+ type: z.literal("image"),
138
+ image: z.object({
139
+ type: z.literal("external"),
140
+ external: z.object({
141
+ url: z.string(),
142
+ }),
143
+ caption: RichTextArraySchema.optional(),
144
+ }),
145
+ });
146
+ // Video block
147
+ export const VideoBlockSchema = z.object({
148
+ object: z.literal("block").optional(),
149
+ type: z.literal("video"),
150
+ video: z.object({
151
+ type: z.literal("external"),
152
+ external: z.object({
153
+ url: z.string(),
154
+ }),
155
+ caption: RichTextArraySchema.optional(),
156
+ }),
157
+ });
158
+ // Embed block
159
+ export const EmbedBlockSchema = z.object({
160
+ object: z.literal("block").optional(),
161
+ type: z.literal("embed"),
162
+ embed: z.object({
163
+ url: z.string(),
164
+ caption: RichTextArraySchema.optional(),
165
+ }),
166
+ });
167
+ // Table of contents block
168
+ export const TableOfContentsBlockSchema = z.object({
169
+ object: z.literal("block").optional(),
170
+ type: z.literal("table_of_contents"),
171
+ table_of_contents: z.object({
172
+ color: z.string().optional(),
173
+ }),
174
+ });
175
+ // Combined block schema
176
+ export const BlockSchema = z.union([
177
+ ParagraphBlockSchema,
178
+ Heading1BlockSchema,
179
+ Heading2BlockSchema,
180
+ Heading3BlockSchema,
181
+ BulletedListItemBlockSchema,
182
+ NumberedListItemBlockSchema,
183
+ ToDoBlockSchema,
184
+ ToggleBlockSchema,
185
+ CodeBlockSchema,
186
+ QuoteBlockSchema,
187
+ CalloutBlockSchema,
188
+ DividerBlockSchema,
189
+ BookmarkBlockSchema,
190
+ ImageBlockSchema,
191
+ VideoBlockSchema,
192
+ EmbedBlockSchema,
193
+ TableOfContentsBlockSchema,
194
+ ]);
195
+ export const BlockChildrenSchema = z.array(BlockSchema);
@@ -0,0 +1,126 @@
1
+ import { z } from "zod";
2
+ export declare const RichTextSchema: z.ZodObject<{
3
+ type: z.ZodDefault<z.ZodLiteral<"text">>;
4
+ text: z.ZodObject<{
5
+ content: z.ZodString;
6
+ link: z.ZodOptional<z.ZodNullable<z.ZodObject<{
7
+ url: z.ZodString;
8
+ }, z.core.$strip>>>;
9
+ }, z.core.$strip>;
10
+ annotations: z.ZodOptional<z.ZodObject<{
11
+ bold: z.ZodOptional<z.ZodBoolean>;
12
+ italic: z.ZodOptional<z.ZodBoolean>;
13
+ strikethrough: z.ZodOptional<z.ZodBoolean>;
14
+ underline: z.ZodOptional<z.ZodBoolean>;
15
+ code: z.ZodOptional<z.ZodBoolean>;
16
+ color: z.ZodOptional<z.ZodEnum<{
17
+ default: "default";
18
+ gray: "gray";
19
+ brown: "brown";
20
+ orange: "orange";
21
+ yellow: "yellow";
22
+ green: "green";
23
+ blue: "blue";
24
+ purple: "purple";
25
+ pink: "pink";
26
+ red: "red";
27
+ gray_background: "gray_background";
28
+ brown_background: "brown_background";
29
+ orange_background: "orange_background";
30
+ yellow_background: "yellow_background";
31
+ green_background: "green_background";
32
+ blue_background: "blue_background";
33
+ purple_background: "purple_background";
34
+ pink_background: "pink_background";
35
+ red_background: "red_background";
36
+ }>>;
37
+ }, z.core.$strip>>;
38
+ plain_text: z.ZodOptional<z.ZodString>;
39
+ href: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
+ }, z.core.$strip>;
41
+ export declare const RichTextArraySchema: z.ZodArray<z.ZodObject<{
42
+ type: z.ZodDefault<z.ZodLiteral<"text">>;
43
+ text: z.ZodObject<{
44
+ content: z.ZodString;
45
+ link: z.ZodOptional<z.ZodNullable<z.ZodObject<{
46
+ url: z.ZodString;
47
+ }, z.core.$strip>>>;
48
+ }, z.core.$strip>;
49
+ annotations: z.ZodOptional<z.ZodObject<{
50
+ bold: z.ZodOptional<z.ZodBoolean>;
51
+ italic: z.ZodOptional<z.ZodBoolean>;
52
+ strikethrough: z.ZodOptional<z.ZodBoolean>;
53
+ underline: z.ZodOptional<z.ZodBoolean>;
54
+ code: z.ZodOptional<z.ZodBoolean>;
55
+ color: z.ZodOptional<z.ZodEnum<{
56
+ default: "default";
57
+ gray: "gray";
58
+ brown: "brown";
59
+ orange: "orange";
60
+ yellow: "yellow";
61
+ green: "green";
62
+ blue: "blue";
63
+ purple: "purple";
64
+ pink: "pink";
65
+ red: "red";
66
+ gray_background: "gray_background";
67
+ brown_background: "brown_background";
68
+ orange_background: "orange_background";
69
+ yellow_background: "yellow_background";
70
+ green_background: "green_background";
71
+ blue_background: "blue_background";
72
+ purple_background: "purple_background";
73
+ pink_background: "pink_background";
74
+ red_background: "red_background";
75
+ }>>;
76
+ }, z.core.$strip>>;
77
+ plain_text: z.ZodOptional<z.ZodString>;
78
+ href: z.ZodOptional<z.ZodNullable<z.ZodString>>;
79
+ }, z.core.$strip>>;
80
+ export declare const SimpleTextSchema: z.ZodPipe<z.ZodString, z.ZodTransform<{
81
+ type: "text";
82
+ text: {
83
+ content: string;
84
+ };
85
+ }[], string>>;
86
+ export declare const DatabaseParentSchema: z.ZodObject<{
87
+ type: z.ZodOptional<z.ZodLiteral<"database_id">>;
88
+ database_id: z.ZodString;
89
+ }, z.core.$strip>;
90
+ export declare const PageParentSchema: z.ZodObject<{
91
+ type: z.ZodOptional<z.ZodLiteral<"page_id">>;
92
+ page_id: z.ZodString;
93
+ }, z.core.$strip>;
94
+ export declare const ParentSchema: z.ZodUnion<readonly [z.ZodObject<{
95
+ type: z.ZodOptional<z.ZodLiteral<"database_id">>;
96
+ database_id: z.ZodString;
97
+ }, z.core.$strip>, z.ZodObject<{
98
+ type: z.ZodOptional<z.ZodLiteral<"page_id">>;
99
+ page_id: z.ZodString;
100
+ }, z.core.$strip>]>;
101
+ export declare const EmojiIconSchema: z.ZodObject<{
102
+ type: z.ZodLiteral<"emoji">;
103
+ emoji: z.ZodString;
104
+ }, z.core.$strip>;
105
+ export declare const ExternalIconSchema: z.ZodObject<{
106
+ type: z.ZodLiteral<"external">;
107
+ external: z.ZodObject<{
108
+ url: z.ZodString;
109
+ }, z.core.$strip>;
110
+ }, z.core.$strip>;
111
+ export declare const IconSchema: z.ZodUnion<readonly [z.ZodObject<{
112
+ type: z.ZodLiteral<"emoji">;
113
+ emoji: z.ZodString;
114
+ }, z.core.$strip>, z.ZodObject<{
115
+ type: z.ZodLiteral<"external">;
116
+ external: z.ZodObject<{
117
+ url: z.ZodString;
118
+ }, z.core.$strip>;
119
+ }, z.core.$strip>]>;
120
+ export declare const CoverSchema: z.ZodObject<{
121
+ type: z.ZodLiteral<"external">;
122
+ external: z.ZodObject<{
123
+ url: z.ZodString;
124
+ }, z.core.$strip>;
125
+ }, z.core.$strip>;
126
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6CzB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAA0B,CAAC;AAG3D,eAAO,MAAM,gBAAgB;;;;;aAK3B,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;mBAAoD,CAAC;AAG9E,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;mBAAiD,CAAC;AAGzE,eAAO,MAAM,WAAW;;;;;iBAKtB,CAAC"}
@@ -0,0 +1,85 @@
1
+ import { z } from "zod";
2
+ // Rich Text object schema
3
+ export const RichTextSchema = z.object({
4
+ type: z.literal("text").default("text"),
5
+ text: z.object({
6
+ content: z.string(),
7
+ link: z
8
+ .object({
9
+ url: z.string(),
10
+ })
11
+ .nullable()
12
+ .optional(),
13
+ }),
14
+ annotations: z
15
+ .object({
16
+ bold: z.boolean().optional(),
17
+ italic: z.boolean().optional(),
18
+ strikethrough: z.boolean().optional(),
19
+ underline: z.boolean().optional(),
20
+ code: z.boolean().optional(),
21
+ color: z
22
+ .enum([
23
+ "default",
24
+ "gray",
25
+ "brown",
26
+ "orange",
27
+ "yellow",
28
+ "green",
29
+ "blue",
30
+ "purple",
31
+ "pink",
32
+ "red",
33
+ "gray_background",
34
+ "brown_background",
35
+ "orange_background",
36
+ "yellow_background",
37
+ "green_background",
38
+ "blue_background",
39
+ "purple_background",
40
+ "pink_background",
41
+ "red_background",
42
+ ])
43
+ .optional(),
44
+ })
45
+ .optional(),
46
+ plain_text: z.string().optional(),
47
+ href: z.string().nullable().optional(),
48
+ });
49
+ export const RichTextArraySchema = z.array(RichTextSchema);
50
+ // Helper to create simple text rich text array
51
+ export const SimpleTextSchema = z.string().transform((content) => [
52
+ {
53
+ type: "text",
54
+ text: { content },
55
+ },
56
+ ]);
57
+ // Parent schemas
58
+ export const DatabaseParentSchema = z.object({
59
+ type: z.literal("database_id").optional(),
60
+ database_id: z.string(),
61
+ });
62
+ export const PageParentSchema = z.object({
63
+ type: z.literal("page_id").optional(),
64
+ page_id: z.string(),
65
+ });
66
+ export const ParentSchema = z.union([DatabaseParentSchema, PageParentSchema]);
67
+ // Icon schemas
68
+ export const EmojiIconSchema = z.object({
69
+ type: z.literal("emoji"),
70
+ emoji: z.string(),
71
+ });
72
+ export const ExternalIconSchema = z.object({
73
+ type: z.literal("external"),
74
+ external: z.object({
75
+ url: z.string(),
76
+ }),
77
+ });
78
+ export const IconSchema = z.union([EmojiIconSchema, ExternalIconSchema]);
79
+ // Cover schema
80
+ export const CoverSchema = z.object({
81
+ type: z.literal("external"),
82
+ external: z.object({
83
+ url: z.string(),
84
+ }),
85
+ });
@@ -0,0 +1,105 @@
1
+ import { z } from "zod";
2
+ export declare const PropertyFilterSchema: z.ZodObject<{
3
+ property: z.ZodString;
4
+ title: z.ZodOptional<z.ZodObject<{
5
+ equals: z.ZodOptional<z.ZodString>;
6
+ does_not_equal: z.ZodOptional<z.ZodString>;
7
+ contains: z.ZodOptional<z.ZodString>;
8
+ does_not_contain: z.ZodOptional<z.ZodString>;
9
+ starts_with: z.ZodOptional<z.ZodString>;
10
+ ends_with: z.ZodOptional<z.ZodString>;
11
+ is_empty: z.ZodOptional<z.ZodLiteral<true>>;
12
+ is_not_empty: z.ZodOptional<z.ZodLiteral<true>>;
13
+ }, z.core.$strip>>;
14
+ rich_text: z.ZodOptional<z.ZodObject<{
15
+ equals: z.ZodOptional<z.ZodString>;
16
+ does_not_equal: z.ZodOptional<z.ZodString>;
17
+ contains: z.ZodOptional<z.ZodString>;
18
+ does_not_contain: z.ZodOptional<z.ZodString>;
19
+ starts_with: z.ZodOptional<z.ZodString>;
20
+ ends_with: z.ZodOptional<z.ZodString>;
21
+ is_empty: z.ZodOptional<z.ZodLiteral<true>>;
22
+ is_not_empty: z.ZodOptional<z.ZodLiteral<true>>;
23
+ }, z.core.$strip>>;
24
+ number: z.ZodOptional<z.ZodObject<{
25
+ equals: z.ZodOptional<z.ZodNumber>;
26
+ does_not_equal: z.ZodOptional<z.ZodNumber>;
27
+ greater_than: z.ZodOptional<z.ZodNumber>;
28
+ less_than: z.ZodOptional<z.ZodNumber>;
29
+ greater_than_or_equal_to: z.ZodOptional<z.ZodNumber>;
30
+ less_than_or_equal_to: z.ZodOptional<z.ZodNumber>;
31
+ is_empty: z.ZodOptional<z.ZodLiteral<true>>;
32
+ is_not_empty: z.ZodOptional<z.ZodLiteral<true>>;
33
+ }, z.core.$strip>>;
34
+ checkbox: z.ZodOptional<z.ZodObject<{
35
+ equals: z.ZodBoolean;
36
+ }, z.core.$strip>>;
37
+ select: z.ZodOptional<z.ZodObject<{
38
+ equals: z.ZodOptional<z.ZodString>;
39
+ does_not_equal: z.ZodOptional<z.ZodString>;
40
+ is_empty: z.ZodOptional<z.ZodLiteral<true>>;
41
+ is_not_empty: z.ZodOptional<z.ZodLiteral<true>>;
42
+ }, z.core.$strip>>;
43
+ multi_select: z.ZodOptional<z.ZodObject<{
44
+ contains: z.ZodOptional<z.ZodString>;
45
+ does_not_contain: z.ZodOptional<z.ZodString>;
46
+ is_empty: z.ZodOptional<z.ZodLiteral<true>>;
47
+ is_not_empty: z.ZodOptional<z.ZodLiteral<true>>;
48
+ }, z.core.$strip>>;
49
+ status: z.ZodOptional<z.ZodObject<{
50
+ equals: z.ZodOptional<z.ZodString>;
51
+ does_not_equal: z.ZodOptional<z.ZodString>;
52
+ is_empty: z.ZodOptional<z.ZodLiteral<true>>;
53
+ is_not_empty: z.ZodOptional<z.ZodLiteral<true>>;
54
+ }, z.core.$strip>>;
55
+ date: z.ZodOptional<z.ZodObject<{
56
+ equals: z.ZodOptional<z.ZodString>;
57
+ before: z.ZodOptional<z.ZodString>;
58
+ after: z.ZodOptional<z.ZodString>;
59
+ on_or_before: z.ZodOptional<z.ZodString>;
60
+ on_or_after: z.ZodOptional<z.ZodString>;
61
+ past_week: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
62
+ past_month: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
63
+ past_year: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
64
+ next_week: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
65
+ next_month: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
66
+ next_year: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
67
+ is_empty: z.ZodOptional<z.ZodLiteral<true>>;
68
+ is_not_empty: z.ZodOptional<z.ZodLiteral<true>>;
69
+ }, z.core.$strip>>;
70
+ relation: z.ZodOptional<z.ZodObject<{
71
+ contains: z.ZodOptional<z.ZodString>;
72
+ does_not_contain: z.ZodOptional<z.ZodString>;
73
+ is_empty: z.ZodOptional<z.ZodLiteral<true>>;
74
+ is_not_empty: z.ZodOptional<z.ZodLiteral<true>>;
75
+ }, z.core.$strip>>;
76
+ }, z.core.$strip>;
77
+ export type FilterType = z.infer<typeof PropertyFilterSchema> | {
78
+ and: FilterType[];
79
+ } | {
80
+ or: FilterType[];
81
+ };
82
+ export declare const FilterSchema: z.ZodType<FilterType>;
83
+ export declare const SortSchema: z.ZodObject<{
84
+ property: z.ZodOptional<z.ZodString>;
85
+ timestamp: z.ZodOptional<z.ZodEnum<{
86
+ created_time: "created_time";
87
+ last_edited_time: "last_edited_time";
88
+ }>>;
89
+ direction: z.ZodEnum<{
90
+ ascending: "ascending";
91
+ descending: "descending";
92
+ }>;
93
+ }, z.core.$strip>;
94
+ export declare const SortsSchema: z.ZodArray<z.ZodObject<{
95
+ property: z.ZodOptional<z.ZodString>;
96
+ timestamp: z.ZodOptional<z.ZodEnum<{
97
+ created_time: "created_time";
98
+ last_edited_time: "last_edited_time";
99
+ }>>;
100
+ direction: z.ZodEnum<{
101
+ ascending: "ascending";
102
+ descending: "descending";
103
+ }>;
104
+ }, z.core.$strip>>;
105
+ //# sourceMappingURL=filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/schemas/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6GxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW/B,CAAC;AAGH,MAAM,MAAM,UAAU,GAClB,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GACpC;IAAE,GAAG,EAAE,UAAU,EAAE,CAAA;CAAE,GACrB;IAAE,EAAE,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAGzB,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAM9C,CAAC;AAGF,eAAO,MAAM,UAAU;;;;;;;;;;iBAIrB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;kBAAsB,CAAC"}
@@ -0,0 +1,125 @@
1
+ import { z } from "zod";
2
+ // Text filter conditions
3
+ const TextFilterConditionSchema = z
4
+ .object({
5
+ equals: z.string().optional(),
6
+ does_not_equal: z.string().optional(),
7
+ contains: z.string().optional(),
8
+ does_not_contain: z.string().optional(),
9
+ starts_with: z.string().optional(),
10
+ ends_with: z.string().optional(),
11
+ is_empty: z.literal(true).optional(),
12
+ is_not_empty: z.literal(true).optional(),
13
+ })
14
+ .refine((obj) => Object.keys(obj).length === 1, {
15
+ message: "Exactly one filter condition must be specified",
16
+ });
17
+ // Number filter conditions
18
+ const NumberFilterConditionSchema = z
19
+ .object({
20
+ equals: z.number().optional(),
21
+ does_not_equal: z.number().optional(),
22
+ greater_than: z.number().optional(),
23
+ less_than: z.number().optional(),
24
+ greater_than_or_equal_to: z.number().optional(),
25
+ less_than_or_equal_to: z.number().optional(),
26
+ is_empty: z.literal(true).optional(),
27
+ is_not_empty: z.literal(true).optional(),
28
+ })
29
+ .refine((obj) => Object.keys(obj).length === 1, {
30
+ message: "Exactly one filter condition must be specified",
31
+ });
32
+ // Checkbox filter conditions
33
+ const CheckboxFilterConditionSchema = z.object({
34
+ equals: z.boolean(),
35
+ });
36
+ // Select filter conditions
37
+ const SelectFilterConditionSchema = z
38
+ .object({
39
+ equals: z.string().optional(),
40
+ does_not_equal: z.string().optional(),
41
+ is_empty: z.literal(true).optional(),
42
+ is_not_empty: z.literal(true).optional(),
43
+ })
44
+ .refine((obj) => Object.keys(obj).length === 1, {
45
+ message: "Exactly one filter condition must be specified",
46
+ });
47
+ // Multi-select filter conditions
48
+ const MultiSelectFilterConditionSchema = z
49
+ .object({
50
+ contains: z.string().optional(),
51
+ does_not_contain: z.string().optional(),
52
+ is_empty: z.literal(true).optional(),
53
+ is_not_empty: z.literal(true).optional(),
54
+ })
55
+ .refine((obj) => Object.keys(obj).length === 1, {
56
+ message: "Exactly one filter condition must be specified",
57
+ });
58
+ // Status filter conditions
59
+ const StatusFilterConditionSchema = z
60
+ .object({
61
+ equals: z.string().optional(),
62
+ does_not_equal: z.string().optional(),
63
+ is_empty: z.literal(true).optional(),
64
+ is_not_empty: z.literal(true).optional(),
65
+ })
66
+ .refine((obj) => Object.keys(obj).length === 1, {
67
+ message: "Exactly one filter condition must be specified",
68
+ });
69
+ // Date filter conditions
70
+ const DateFilterConditionSchema = z
71
+ .object({
72
+ equals: z.string().optional(),
73
+ before: z.string().optional(),
74
+ after: z.string().optional(),
75
+ on_or_before: z.string().optional(),
76
+ on_or_after: z.string().optional(),
77
+ past_week: z.object({}).optional(),
78
+ past_month: z.object({}).optional(),
79
+ past_year: z.object({}).optional(),
80
+ next_week: z.object({}).optional(),
81
+ next_month: z.object({}).optional(),
82
+ next_year: z.object({}).optional(),
83
+ is_empty: z.literal(true).optional(),
84
+ is_not_empty: z.literal(true).optional(),
85
+ })
86
+ .refine((obj) => Object.keys(obj).length === 1, {
87
+ message: "Exactly one filter condition must be specified",
88
+ });
89
+ // Relation filter conditions
90
+ const RelationFilterConditionSchema = z
91
+ .object({
92
+ contains: z.string().optional(),
93
+ does_not_contain: z.string().optional(),
94
+ is_empty: z.literal(true).optional(),
95
+ is_not_empty: z.literal(true).optional(),
96
+ })
97
+ .refine((obj) => Object.keys(obj).length === 1, {
98
+ message: "Exactly one filter condition must be specified",
99
+ });
100
+ // Property filter schema
101
+ export const PropertyFilterSchema = z.object({
102
+ property: z.string(),
103
+ title: TextFilterConditionSchema.optional(),
104
+ rich_text: TextFilterConditionSchema.optional(),
105
+ number: NumberFilterConditionSchema.optional(),
106
+ checkbox: CheckboxFilterConditionSchema.optional(),
107
+ select: SelectFilterConditionSchema.optional(),
108
+ multi_select: MultiSelectFilterConditionSchema.optional(),
109
+ status: StatusFilterConditionSchema.optional(),
110
+ date: DateFilterConditionSchema.optional(),
111
+ relation: RelationFilterConditionSchema.optional(),
112
+ });
113
+ // Compound filter schema (uses lazy for recursion)
114
+ export const FilterSchema = z.lazy(() => z.union([
115
+ PropertyFilterSchema,
116
+ z.object({ and: z.array(FilterSchema) }),
117
+ z.object({ or: z.array(FilterSchema) }),
118
+ ]));
119
+ // Sort schema
120
+ export const SortSchema = z.object({
121
+ property: z.string().optional(),
122
+ timestamp: z.enum(["created_time", "last_edited_time"]).optional(),
123
+ direction: z.enum(["ascending", "descending"]),
124
+ });
125
+ export const SortsSchema = z.array(SortSchema);
@@ -0,0 +1,5 @@
1
+ export { BlockChildrenSchema, BlockSchema, BookmarkBlockSchema, BulletedListItemBlockSchema, CalloutBlockSchema, CodeBlockSchema, DividerBlockSchema, EmbedBlockSchema, Heading1BlockSchema, Heading2BlockSchema, Heading3BlockSchema, ImageBlockSchema, NumberedListItemBlockSchema, ParagraphBlockSchema, QuoteBlockSchema, TableOfContentsBlockSchema, ToDoBlockSchema, ToggleBlockSchema, VideoBlockSchema, } from "./block.js";
2
+ export { CoverSchema, DatabaseParentSchema, EmojiIconSchema, ExternalIconSchema, IconSchema, PageParentSchema, ParentSchema, RichTextArraySchema, RichTextSchema, SimpleTextSchema, } from "./common.js";
3
+ export { FilterSchema, type FilterType, PropertyFilterSchema, SortSchema, SortsSchema, } from "./filter.js";
4
+ export { CheckboxPropertySchema, DatePropertySchema, EmailPropertySchema, FilesPropertySchema, MultiSelectPropertySchema, NumberPropertySchema, PeoplePropertySchema, PhoneNumberPropertySchema, PropertiesSchema, PropertyValueSchema, RelationPropertySchema, RichTextPropertySchema, SelectPropertySchema, StatusPropertySchema, TitlePropertySchema, UrlPropertySchema, } from "./page.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schemas/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,oBAAoB,EACpB,gBAAgB,EAChB,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,KAAK,UAAU,EACf,oBAAoB,EACpB,UAAU,EACV,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ // Common schemas
2
+ // Block schemas
3
+ export { BlockChildrenSchema, BlockSchema, BookmarkBlockSchema, BulletedListItemBlockSchema, CalloutBlockSchema, CodeBlockSchema, DividerBlockSchema, EmbedBlockSchema, Heading1BlockSchema, Heading2BlockSchema, Heading3BlockSchema, ImageBlockSchema, NumberedListItemBlockSchema, ParagraphBlockSchema, QuoteBlockSchema, TableOfContentsBlockSchema, ToDoBlockSchema, ToggleBlockSchema, VideoBlockSchema, } from "./block.js";
4
+ export { CoverSchema, DatabaseParentSchema, EmojiIconSchema, ExternalIconSchema, IconSchema, PageParentSchema, ParentSchema, RichTextArraySchema, RichTextSchema, SimpleTextSchema, } from "./common.js";
5
+ // Filter and sort schemas
6
+ export { FilterSchema, PropertyFilterSchema, SortSchema, SortsSchema, } from "./filter.js";
7
+ // Page property schemas
8
+ export { CheckboxPropertySchema, DatePropertySchema, EmailPropertySchema, FilesPropertySchema, MultiSelectPropertySchema, NumberPropertySchema, PeoplePropertySchema, PhoneNumberPropertySchema, PropertiesSchema, PropertyValueSchema, RelationPropertySchema, RichTextPropertySchema, SelectPropertySchema, StatusPropertySchema, TitlePropertySchema, UrlPropertySchema, } from "./page.js";