@atikk-co-jp/notion-mcp-server 0.7.0 → 0.8.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 (134) hide show
  1. package/README.ja.md +1 -0
  2. package/README.md +1 -0
  3. package/dist/src/converters/__tests__/block-to-markdown.test.js +482 -111
  4. package/dist/src/converters/__tests__/markdown-to-blocks.test.js +116 -13
  5. package/dist/src/converters/__tests__/page-to-markdown.test.js +83 -70
  6. package/dist/src/converters/__tests__/rich-text-to-markdown.test.js +23 -26
  7. package/dist/src/converters/block-to-markdown.d.ts +4 -13
  8. package/dist/src/converters/block-to-markdown.d.ts.map +1 -1
  9. package/dist/src/converters/block-to-markdown.js +117 -120
  10. package/dist/src/converters/index.d.ts +3 -3
  11. package/dist/src/converters/index.d.ts.map +1 -1
  12. package/dist/src/converters/index.js +1 -1
  13. package/dist/src/converters/markdown-to-blocks.d.ts +21 -7
  14. package/dist/src/converters/markdown-to-blocks.d.ts.map +1 -1
  15. package/dist/src/converters/markdown-to-blocks.js +56 -0
  16. package/dist/src/converters/page-to-markdown.d.ts +5 -20
  17. package/dist/src/converters/page-to-markdown.d.ts.map +1 -1
  18. package/dist/src/converters/page-to-markdown.js +47 -37
  19. package/dist/src/converters/rich-text-to-markdown.d.ts +3 -47
  20. package/dist/src/converters/rich-text-to-markdown.d.ts.map +1 -1
  21. package/dist/src/converters/rich-text-to-markdown.js +15 -14
  22. package/dist/src/notion-client.d.ts +5 -177
  23. package/dist/src/notion-client.d.ts.map +1 -1
  24. package/dist/src/notion-client.js +6 -172
  25. package/dist/src/schemas/descriptions/examples.d.ts +14 -0
  26. package/dist/src/schemas/descriptions/examples.d.ts.map +1 -0
  27. package/dist/src/schemas/descriptions/examples.js +87 -0
  28. package/dist/src/schemas/descriptions/fields.d.ts +146 -0
  29. package/dist/src/schemas/descriptions/fields.d.ts.map +1 -0
  30. package/dist/src/schemas/descriptions/fields.js +184 -0
  31. package/dist/src/schemas/descriptions/index.d.ts +3 -0
  32. package/dist/src/schemas/descriptions/index.d.ts.map +1 -0
  33. package/dist/src/schemas/descriptions/index.js +2 -0
  34. package/dist/src/schemas/index.d.ts +1 -5
  35. package/dist/src/schemas/index.d.ts.map +1 -1
  36. package/dist/src/schemas/index.js +2 -10
  37. package/dist/src/tools/__tests__/context-size.test.d.ts +2 -0
  38. package/dist/src/tools/__tests__/context-size.test.d.ts.map +1 -0
  39. package/dist/src/tools/__tests__/context-size.test.js +143 -0
  40. package/dist/src/tools/__tests__/error-handler.test.d.ts +2 -0
  41. package/dist/src/tools/__tests__/error-handler.test.d.ts.map +1 -0
  42. package/dist/src/tools/__tests__/error-handler.test.js +125 -0
  43. package/dist/src/tools/append-block-children.d.ts.map +1 -1
  44. package/dist/src/tools/append-block-children.js +8 -5
  45. package/dist/src/tools/append-blocks-simple.d.ts.map +1 -1
  46. package/dist/src/tools/append-blocks-simple.js +9 -13
  47. package/dist/src/tools/archive-database.d.ts.map +1 -1
  48. package/dist/src/tools/archive-database.js +3 -2
  49. package/dist/src/tools/archive-page.d.ts.map +1 -1
  50. package/dist/src/tools/archive-page.js +2 -1
  51. package/dist/src/tools/create-comment-simple.d.ts.map +1 -1
  52. package/dist/src/tools/create-comment-simple.js +5 -4
  53. package/dist/src/tools/create-comment.d.ts.map +1 -1
  54. package/dist/src/tools/create-comment.js +9 -6
  55. package/dist/src/tools/create-database.d.ts.map +1 -1
  56. package/dist/src/tools/create-database.js +19 -25
  57. package/dist/src/tools/create-page-simple.d.ts +1 -1
  58. package/dist/src/tools/create-page-simple.d.ts.map +1 -1
  59. package/dist/src/tools/create-page-simple.js +26 -27
  60. package/dist/src/tools/create-page.d.ts.map +1 -1
  61. package/dist/src/tools/create-page.js +10 -6
  62. package/dist/src/tools/delete-block.d.ts.map +1 -1
  63. package/dist/src/tools/delete-block.js +2 -1
  64. package/dist/src/tools/get-block-children.d.ts +1 -1
  65. package/dist/src/tools/get-block-children.d.ts.map +1 -1
  66. package/dist/src/tools/get-block-children.js +13 -27
  67. package/dist/src/tools/index.d.ts +2 -2
  68. package/dist/src/tools/index.d.ts.map +1 -1
  69. package/dist/src/tools/index.js +2 -2
  70. package/dist/src/tools/list-comments.d.ts +1 -1
  71. package/dist/src/tools/list-comments.d.ts.map +1 -1
  72. package/dist/src/tools/list-comments.js +11 -10
  73. package/dist/src/tools/list-users.d.ts.map +1 -1
  74. package/dist/src/tools/list-users.js +4 -3
  75. package/dist/src/tools/move-page.d.ts.map +1 -1
  76. package/dist/src/tools/move-page.js +5 -4
  77. package/dist/src/tools/query-data-source.d.ts +1 -1
  78. package/dist/src/tools/query-data-source.d.ts.map +1 -1
  79. package/dist/src/tools/query-data-source.js +23 -30
  80. package/dist/src/tools/retrieve-block.d.ts +1 -1
  81. package/dist/src/tools/retrieve-block.d.ts.map +1 -1
  82. package/dist/src/tools/retrieve-block.js +13 -10
  83. package/dist/src/tools/retrieve-bot-user.js +1 -1
  84. package/dist/src/tools/retrieve-data-source.d.ts +1 -1
  85. package/dist/src/tools/retrieve-data-source.d.ts.map +1 -1
  86. package/dist/src/tools/retrieve-data-source.js +15 -11
  87. package/dist/src/tools/retrieve-database.d.ts +1 -1
  88. package/dist/src/tools/retrieve-database.d.ts.map +1 -1
  89. package/dist/src/tools/retrieve-database.js +11 -6
  90. package/dist/src/tools/retrieve-page-property.d.ts.map +1 -1
  91. package/dist/src/tools/retrieve-page-property.js +6 -5
  92. package/dist/src/tools/retrieve-page.d.ts +1 -1
  93. package/dist/src/tools/retrieve-page.d.ts.map +1 -1
  94. package/dist/src/tools/retrieve-page.js +15 -20
  95. package/dist/src/tools/retrieve-user.d.ts.map +1 -1
  96. package/dist/src/tools/retrieve-user.js +2 -1
  97. package/dist/src/tools/search.d.ts.map +1 -1
  98. package/dist/src/tools/search.js +10 -17
  99. package/dist/src/tools/update-block-simple.d.ts +1 -1
  100. package/dist/src/tools/update-block-simple.d.ts.map +1 -1
  101. package/dist/src/tools/update-block-simple.js +14 -4
  102. package/dist/src/tools/update-block.d.ts.map +1 -1
  103. package/dist/src/tools/update-block.js +8 -5
  104. package/dist/src/tools/update-data-source.d.ts.map +1 -1
  105. package/dist/src/tools/update-data-source.js +7 -7
  106. package/dist/src/tools/update-database.d.ts.map +1 -1
  107. package/dist/src/tools/update-database.js +22 -32
  108. package/dist/src/tools/update-page.d.ts.map +1 -1
  109. package/dist/src/tools/update-page.js +11 -8
  110. package/dist/src/utils/error-handler.d.ts +16 -7
  111. package/dist/src/utils/error-handler.d.ts.map +1 -1
  112. package/dist/src/utils/error-handler.js +44 -17
  113. package/dist/src/utils/index.d.ts +1 -1
  114. package/dist/src/utils/index.d.ts.map +1 -1
  115. package/dist/src/utils/index.js +1 -1
  116. package/package.json +2 -1
  117. package/dist/src/schemas/block.d.ts +0 -3787
  118. package/dist/src/schemas/block.d.ts.map +0 -1
  119. package/dist/src/schemas/block.js +0 -402
  120. package/dist/src/schemas/common.d.ts +0 -638
  121. package/dist/src/schemas/common.d.ts.map +0 -1
  122. package/dist/src/schemas/common.js +0 -163
  123. package/dist/src/schemas/database.d.ts +0 -687
  124. package/dist/src/schemas/database.d.ts.map +0 -1
  125. package/dist/src/schemas/database.js +0 -258
  126. package/dist/src/schemas/filter.d.ts +0 -611
  127. package/dist/src/schemas/filter.d.ts.map +0 -1
  128. package/dist/src/schemas/filter.js +0 -222
  129. package/dist/src/schemas/page.d.ts +0 -2607
  130. package/dist/src/schemas/page.d.ts.map +0 -1
  131. package/dist/src/schemas/page.js +0 -328
  132. package/dist/src/schemas/schemas.test.d.ts +0 -2
  133. package/dist/src/schemas/schemas.test.d.ts.map +0 -1
  134. package/dist/src/schemas/schemas.test.js +0 -418
@@ -1 +0,0 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../src/schemas/page.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAuB9B,CAAA;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAA4C,CAAA"}
@@ -1,328 +0,0 @@
1
- import { z } from 'zod';
2
- import { RichTextArraySchema } from './common.js';
3
- // User object schema (used in people, created_by, last_edited_by)
4
- export const UserObjectSchema = z.object({
5
- id: z.string(),
6
- object: z.literal('user').optional(),
7
- type: z.enum(['person', 'bot']).optional(),
8
- name: z.string().optional(),
9
- avatar_url: z.string().nullable(),
10
- });
11
- // Title property value
12
- export const TitlePropertySchema = z.object({
13
- id: z.string().optional(),
14
- type: z.literal('title').optional(),
15
- title: RichTextArraySchema,
16
- });
17
- // Rich text property value
18
- export const RichTextPropertySchema = z.object({
19
- id: z.string().optional(),
20
- type: z.literal('rich_text').optional(),
21
- rich_text: RichTextArraySchema,
22
- });
23
- // Number property value
24
- export const NumberPropertySchema = z.object({
25
- id: z.string().optional(),
26
- type: z.literal('number').optional(),
27
- number: z.number().nullable(),
28
- });
29
- // Select property value
30
- export const SelectPropertySchema = z.object({
31
- id: z.string().optional(),
32
- type: z.literal('select').optional(),
33
- select: z
34
- .object({
35
- id: z.string().optional(),
36
- name: z.string(),
37
- color: z.string().optional(),
38
- })
39
- .nullable(),
40
- });
41
- // Multi-select property value
42
- export const MultiSelectPropertySchema = z.object({
43
- id: z.string().optional(),
44
- type: z.literal('multi_select').optional(),
45
- multi_select: z.array(z.object({
46
- id: z.string().optional(),
47
- name: z.string(),
48
- color: z.string().optional(),
49
- })),
50
- });
51
- // Status property value
52
- export const StatusPropertySchema = z.object({
53
- id: z.string().optional(),
54
- type: z.literal('status').optional(),
55
- status: z
56
- .object({
57
- id: z.string().optional(),
58
- name: z.string(),
59
- color: z.string().optional(),
60
- })
61
- .nullable(),
62
- });
63
- // Date property value
64
- export const DatePropertySchema = z.object({
65
- id: z.string().optional(),
66
- type: z.literal('date').optional(),
67
- date: z
68
- .object({
69
- start: z.string(),
70
- end: z.string().nullable().optional(),
71
- time_zone: z.string().nullable().optional(),
72
- })
73
- .nullable(),
74
- });
75
- // Checkbox property value
76
- export const CheckboxPropertySchema = z.object({
77
- id: z.string().optional(),
78
- type: z.literal('checkbox').optional(),
79
- checkbox: z.boolean(),
80
- });
81
- // URL property value
82
- export const UrlPropertySchema = z.object({
83
- id: z.string().optional(),
84
- type: z.literal('url').optional(),
85
- url: z.string().nullable(),
86
- });
87
- // Email property value
88
- export const EmailPropertySchema = z.object({
89
- id: z.string().optional(),
90
- type: z.literal('email').optional(),
91
- email: z.string().nullable(),
92
- });
93
- // Phone number property value
94
- export const PhoneNumberPropertySchema = z.object({
95
- id: z.string().optional(),
96
- type: z.literal('phone_number').optional(),
97
- phone_number: z.string().nullable(),
98
- });
99
- // Relation property value
100
- export const RelationPropertySchema = z.object({
101
- id: z.string().optional(),
102
- type: z.literal('relation').optional(),
103
- relation: z.array(z.object({
104
- id: z.string(),
105
- })),
106
- has_more: z.boolean().optional(),
107
- });
108
- // People property value
109
- export const PeoplePropertySchema = z.object({
110
- id: z.string().optional(),
111
- type: z.literal('people').optional(),
112
- people: z.array(UserObjectSchema),
113
- });
114
- // Files property value
115
- export const FilesPropertySchema = z.object({
116
- id: z.string().optional(),
117
- type: z.literal('files').optional(),
118
- files: z.array(z.union([
119
- z.object({
120
- type: z.literal('external'),
121
- name: z.string(),
122
- external: z.object({
123
- url: z.string(),
124
- }),
125
- }),
126
- z.object({
127
- type: z.literal('file'),
128
- name: z.string(),
129
- file: z.object({
130
- url: z.string(),
131
- expiry_time: z.string().optional(),
132
- }),
133
- }),
134
- ])),
135
- });
136
- // Created time property value (read-only)
137
- export const CreatedTimePropertySchema = z.object({
138
- id: z.string().optional(),
139
- type: z.literal('created_time').optional(),
140
- created_time: z.string(),
141
- });
142
- // Created by property value (read-only)
143
- export const CreatedByPropertySchema = z.object({
144
- id: z.string().optional(),
145
- type: z.literal('created_by').optional(),
146
- created_by: UserObjectSchema,
147
- });
148
- // Last edited time property value (read-only)
149
- export const LastEditedTimePropertySchema = z.object({
150
- id: z.string().optional(),
151
- type: z.literal('last_edited_time').optional(),
152
- last_edited_time: z.string(),
153
- });
154
- // Last edited by property value (read-only)
155
- export const LastEditedByPropertySchema = z.object({
156
- id: z.string().optional(),
157
- type: z.literal('last_edited_by').optional(),
158
- last_edited_by: UserObjectSchema,
159
- });
160
- // Formula property value (read-only)
161
- export const FormulaPropertySchema = z.object({
162
- id: z.string().optional(),
163
- type: z.literal('formula').optional(),
164
- formula: z.union([
165
- z.object({
166
- type: z.literal('string'),
167
- string: z.string().nullable(),
168
- }),
169
- z.object({
170
- type: z.literal('number'),
171
- number: z.number().nullable(),
172
- }),
173
- z.object({
174
- type: z.literal('boolean'),
175
- boolean: z.boolean().nullable(),
176
- }),
177
- z.object({
178
- type: z.literal('date'),
179
- date: z
180
- .object({
181
- start: z.string(),
182
- end: z.string().nullable().optional(),
183
- time_zone: z.string().nullable().optional(),
184
- })
185
- .nullable(),
186
- }),
187
- ]),
188
- });
189
- // Rollup array item schema (simplified property value for rollup results)
190
- const RollupArrayItemSchema = z.union([
191
- // Title
192
- z.object({ type: z.literal('title'), title: RichTextArraySchema }),
193
- // Rich text
194
- z.object({ type: z.literal('rich_text'), rich_text: RichTextArraySchema }),
195
- // Number
196
- z.object({ type: z.literal('number'), number: z.number().nullable() }),
197
- // Select
198
- z.object({
199
- type: z.literal('select'),
200
- select: z.object({ name: z.string(), color: z.string().optional() }).nullable(),
201
- }),
202
- // Multi-select
203
- z.object({
204
- type: z.literal('multi_select'),
205
- multi_select: z.array(z.object({ name: z.string(), color: z.string().optional() })),
206
- }),
207
- // Status
208
- z.object({
209
- type: z.literal('status'),
210
- status: z.object({ name: z.string(), color: z.string().optional() }).nullable(),
211
- }),
212
- // Date
213
- z.object({
214
- type: z.literal('date'),
215
- date: z
216
- .object({
217
- start: z.string(),
218
- end: z.string().nullable().optional(),
219
- time_zone: z.string().nullable().optional(),
220
- })
221
- .nullable(),
222
- }),
223
- // Checkbox
224
- z.object({ type: z.literal('checkbox'), checkbox: z.boolean() }),
225
- // URL
226
- z.object({ type: z.literal('url'), url: z.string().nullable() }),
227
- // Email
228
- z.object({ type: z.literal('email'), email: z.string().nullable() }),
229
- // Phone number
230
- z.object({ type: z.literal('phone_number'), phone_number: z.string().nullable() }),
231
- // People
232
- z.object({ type: z.literal('people'), people: z.array(UserObjectSchema) }),
233
- // Relation
234
- z.object({ type: z.literal('relation'), relation: z.array(z.object({ id: z.string() })) }),
235
- ]);
236
- // Rollup property value (read-only)
237
- export const RollupPropertySchema = z.object({
238
- id: z.string().optional(),
239
- type: z.literal('rollup').optional(),
240
- rollup: z.union([
241
- z.object({
242
- type: z.literal('number'),
243
- number: z.number().nullable(),
244
- function: z.string(),
245
- }),
246
- z.object({
247
- type: z.literal('date'),
248
- date: z
249
- .object({
250
- start: z.string(),
251
- end: z.string().nullable().optional(),
252
- time_zone: z.string().nullable().optional(),
253
- })
254
- .nullable(),
255
- function: z.string(),
256
- }),
257
- z.object({
258
- type: z.literal('array'),
259
- array: z.array(RollupArrayItemSchema),
260
- function: z.string(),
261
- }),
262
- z.object({
263
- type: z.literal('unsupported'),
264
- unsupported: z.object({}),
265
- function: z.string(),
266
- }),
267
- z.object({
268
- type: z.literal('incomplete'),
269
- incomplete: z.object({}),
270
- function: z.string(),
271
- }),
272
- ]),
273
- });
274
- // Unique ID property value (read-only)
275
- export const UniqueIdPropertySchema = z.object({
276
- id: z.string().optional(),
277
- type: z.literal('unique_id').optional(),
278
- unique_id: z.object({
279
- number: z.number(),
280
- prefix: z.string().nullable().optional(),
281
- }),
282
- });
283
- // Verification property value
284
- export const VerificationPropertySchema = z.object({
285
- id: z.string().optional(),
286
- type: z.literal('verification').optional(),
287
- verification: z
288
- .object({
289
- state: z.enum(['verified', 'unverified']),
290
- verified_by: UserObjectSchema.nullable().optional(),
291
- date: z
292
- .object({
293
- start: z.string(),
294
- end: z.string().nullable().optional(),
295
- time_zone: z.string().nullable().optional(),
296
- })
297
- .nullable()
298
- .optional(),
299
- })
300
- .nullable(),
301
- });
302
- // Combined property value schema (flexible for any property type)
303
- export const PropertyValueSchema = z.union([
304
- TitlePropertySchema,
305
- RichTextPropertySchema,
306
- NumberPropertySchema,
307
- SelectPropertySchema,
308
- MultiSelectPropertySchema,
309
- StatusPropertySchema,
310
- DatePropertySchema,
311
- CheckboxPropertySchema,
312
- UrlPropertySchema,
313
- EmailPropertySchema,
314
- PhoneNumberPropertySchema,
315
- RelationPropertySchema,
316
- PeoplePropertySchema,
317
- FilesPropertySchema,
318
- CreatedTimePropertySchema,
319
- CreatedByPropertySchema,
320
- LastEditedTimePropertySchema,
321
- LastEditedByPropertySchema,
322
- FormulaPropertySchema,
323
- RollupPropertySchema,
324
- UniqueIdPropertySchema,
325
- VerificationPropertySchema,
326
- ]);
327
- // Properties object schema (record of property name to property value)
328
- export const PropertiesSchema = z.record(z.string(), PropertyValueSchema);
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=schemas.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.test.d.ts","sourceRoot":"","sources":["../../../src/schemas/schemas.test.ts"],"names":[],"mappings":""}