@zuwiki/mcp 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,7 +15,7 @@ Most MCP clients use the same JSON config format, just in different places. On t
15
15
  #### Claude Code
16
16
 
17
17
  ```bash
18
- claude mcp add zuwiki npx -y @zuwiki/mcp
18
+ claude mcp add zuwiki -- npx -y @zuwiki/mcp
19
19
  ```
20
20
 
21
21
  #### Claude Desktop
@@ -114,6 +114,7 @@ Write tools:
114
114
  * `zuwiki_create_page`, `zuwiki_rename_page`, `zuwiki_delete_page`
115
115
  * `zuwiki_update_page_content`, `zuwiki_update_page_settings`
116
116
  * `zuwiki_set_page_status`, `zuwiki_restore_page_history`
117
+ * `zuwiki_move_page`, `zuwiki_reorder_items`, `zuwiki_apply_editor_order`
117
118
 
118
119
  On failure each tool returns an `isError: true` result with a descriptive message. Common codes are `insufficient_scope`, `forbidden_or_not_member`, `not_found`, `conflict`, `rate_limited`. 429 responses are retried up to twice with backoff; 401 triggers an automatic token refresh and one retry.
119
120
 
@@ -0,0 +1,2 @@
1
+ import type { ApiContext, ReorderBody } from "./types.js";
2
+ export declare function applyWikiReorder(ctx: ApiContext, wikiId: string, body: ReorderBody): Promise<void>;
@@ -0,0 +1,8 @@
1
+ import { apiRequest } from "./http.js";
2
+ export function applyWikiReorder(ctx, wikiId, body) {
3
+ return apiRequest(ctx, `/api/wikis/${encodeURIComponent(wikiId)}/reorder`, {
4
+ method: "POST",
5
+ body,
6
+ });
7
+ }
8
+ //# sourceMappingURL=reorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reorder.js","sourceRoot":"","sources":["../../src/api/reorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,MAAM,UAAU,gBAAgB,CAC9B,GAAe,EACf,MAAc,EACd,IAAiB;IAEjB,OAAO,UAAU,CAAC,GAAG,EAAE,cAAc,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE;QACzE,MAAM,EAAE,MAAM;QACd,IAAI;KACL,CAAC,CAAC;AACL,CAAC"}
@@ -56,11 +56,62 @@ export interface PageHistoryEntry {
56
56
  authorId?: string;
57
57
  [key: string]: unknown;
58
58
  }
59
+ export type CategoryVisibility = "PUBLIC" | "PRIVATE_ACCOUNT" | "PRIVATE_PASSWORD" | "PRIVATE_EMAIL_DOMAIN";
60
+ export type PageVisibility = CategoryVisibility;
61
+ export type PageStatus = "DRAFT" | "PUBLISHED" | "ARCHIVED";
62
+ export type LinkOpenMethod = "NEW_TAB" | "SAME_TAB";
63
+ export interface EditorPageItem {
64
+ id: string;
65
+ title: string;
66
+ slug: string;
67
+ hidden: boolean;
68
+ icon: string | null;
69
+ categoryId: string | null;
70
+ parentPageId: string | null;
71
+ sortOrder: number;
72
+ status: PageStatus;
73
+ pageVisibility: PageVisibility;
74
+ children: EditorPageItem[];
75
+ }
76
+ export interface EditorCategory {
77
+ id: string;
78
+ name: string;
79
+ slug: string | null;
80
+ hidden: boolean;
81
+ categoryVisibility: CategoryVisibility;
82
+ sortOrder: number;
83
+ pages: EditorPageItem[];
84
+ }
85
+ export interface EditorRootLink {
86
+ id: string;
87
+ title: string;
88
+ url: string;
89
+ icon: string | null;
90
+ openMethod: LinkOpenMethod;
91
+ sortOrder: number;
92
+ }
59
93
  export interface EditorSnapshot {
60
- categories?: unknown;
61
- rootPages?: unknown;
62
- rootLinks?: unknown;
63
- [key: string]: unknown;
94
+ categories: EditorCategory[];
95
+ rootPages: EditorPageItem[];
96
+ rootLinks: EditorRootLink[];
97
+ }
98
+ export type ReorderItemType = "CATEGORY" | "PAGE" | "LINK";
99
+ export interface ReorderRootItem {
100
+ id: string;
101
+ type: ReorderItemType;
102
+ }
103
+ export interface ReorderCategoryPages {
104
+ categoryId: string;
105
+ pageIds: string[];
106
+ }
107
+ export interface ReorderPageSubItems {
108
+ parentPageId: string;
109
+ childPageIds: string[];
110
+ }
111
+ export interface ReorderBody {
112
+ rootItems: ReorderRootItem[];
113
+ categoryPages?: ReorderCategoryPages[];
114
+ pageSubItems?: ReorderPageSubItems[];
64
115
  }
65
116
  export interface Organization {
66
117
  id: string;
@@ -3,7 +3,9 @@ import { createWiki, deleteWiki, getWiki, getWikiEditor, listWikis, updateWiki,
3
3
  import { createCategory, deleteCategory, renameCategory, } from "../api/categories.js";
4
4
  import { createPage, deletePage, getPageContent, getPageHistory, getPageSettings, renamePage, restorePageHistory, setPageStatus, updatePageContent, updatePageSettings, } from "../api/pages.js";
5
5
  import { listOrganizations } from "../api/organizations.js";
6
+ import { applyWikiReorder } from "../api/reorder.js";
6
7
  import { runTool } from "./shared.js";
8
+ import { movePage, reorderItems, } from "./reorder-logic.js";
7
9
  const visibilityEnum = z.enum([
8
10
  "PUBLIC",
9
11
  "PRIVATE_ACCOUNT",
@@ -11,6 +13,35 @@ const visibilityEnum = z.enum([
11
13
  "PRIVATE_EMAIL_DOMAIN",
12
14
  ]);
13
15
  const statusEnum = z.enum(["DRAFT", "PUBLISHED"]);
16
+ const moveTargetSchema = z.discriminatedUnion("type", [
17
+ z.object({ type: z.literal("root") }),
18
+ z.object({
19
+ type: z.literal("category"),
20
+ categoryId: z.string().min(1),
21
+ }),
22
+ z.object({
23
+ type: z.literal("page"),
24
+ parentPageId: z.string().min(1),
25
+ }),
26
+ ]);
27
+ const reorderScopeSchema = moveTargetSchema;
28
+ const positionSchema = z.union([
29
+ z.literal("first"),
30
+ z.literal("last"),
31
+ z.number().int().nonnegative(),
32
+ ]);
33
+ const reorderRootItemSchema = z.object({
34
+ id: z.string().min(1),
35
+ type: z.enum(["CATEGORY", "PAGE", "LINK"]),
36
+ });
37
+ const reorderCategoryPagesSchema = z.object({
38
+ categoryId: z.string().min(1),
39
+ pageIds: z.array(z.string().min(1)),
40
+ });
41
+ const reorderPageSubItemsSchema = z.object({
42
+ parentPageId: z.string().min(1),
43
+ childPageIds: z.array(z.string().min(1)),
44
+ });
14
45
  export function registerTools(opts) {
15
46
  const { server, contextFactory, organizationState } = opts;
16
47
  // Organization Tools
@@ -240,5 +271,73 @@ export function registerTools(opts) {
240
271
  historyId: z.string().min(1),
241
272
  },
242
273
  }, async ({ wikiId, pageId, historyId }, extra) => runTool(async () => restorePageHistory(contextFactory(extra), wikiId, pageId, historyId)));
274
+ // Reorder Tools
275
+ server.registerTool("zuwiki_move_page", {
276
+ title: "Move page",
277
+ description: "Moves a single page to a new location in the wiki structure. The target can be a category, the root level, or another top-level page (as a sub-page). Use position 'first', 'last' or a 0-based number to place it within the target list (default 'last'). The wiki tree is limited to two levels: moving a page that has its own children under another page is rejected unless detachChildren is true, in which case the children are re-parented to the new parent's container.",
278
+ inputSchema: {
279
+ wikiId: z.string().min(1).describe("ID of the wiki"),
280
+ pageId: z.string().min(1).describe("ID of the page to move"),
281
+ target: moveTargetSchema.describe("Destination: { type: 'root' } | { type: 'category', categoryId } | { type: 'page', parentPageId }"),
282
+ position: positionSchema
283
+ .optional()
284
+ .describe("Insertion position in the target list. Default 'last'."),
285
+ detachChildren: z
286
+ .boolean()
287
+ .optional()
288
+ .describe("If true, detach the page's own children to the new parent's container when moving the page under another page. Default false."),
289
+ },
290
+ }, async ({ wikiId, pageId, target, position, detachChildren }, extra) => runTool(async () => {
291
+ const ctx = contextFactory(extra);
292
+ const snap = (await getWikiEditor(ctx, wikiId));
293
+ const body = movePage(snap, {
294
+ pageId,
295
+ target: target,
296
+ position,
297
+ detachChildren,
298
+ });
299
+ await applyWikiReorder(ctx, wikiId, body);
300
+ return { ok: true };
301
+ }));
302
+ server.registerTool("zuwiki_reorder_items", {
303
+ title: "Reorder items in a scope",
304
+ description: "Sets the exact order of items inside one scope of the wiki. scope can be the root level (mixed categories, pages and links), the top-level pages of a category, or the sub-pages of a parent page. itemIds must be a permutation of every existing item in the scope, no additions or removals.",
305
+ inputSchema: {
306
+ wikiId: z.string().min(1),
307
+ scope: reorderScopeSchema.describe("{ type: 'root' } | { type: 'category', categoryId } | { type: 'page', parentPageId }"),
308
+ itemIds: z
309
+ .array(z.string().min(1))
310
+ .min(1)
311
+ .describe("The desired final order. Must contain exactly the ids that are currently in the scope."),
312
+ },
313
+ }, async ({ wikiId, scope, itemIds }, extra) => runTool(async () => {
314
+ const ctx = contextFactory(extra);
315
+ const snap = (await getWikiEditor(ctx, wikiId));
316
+ const body = reorderItems(snap, {
317
+ scope: scope,
318
+ itemIds,
319
+ });
320
+ await applyWikiReorder(ctx, wikiId, body);
321
+ return { ok: true };
322
+ }));
323
+ server.registerTool("zuwiki_apply_editor_order", {
324
+ title: "Apply a complete editor order",
325
+ description: "Direct passthrough to POST /api/wikis/{wikiId}/reorder. Use this when you want full control over the wiki structure in one transaction. rootItems must contain every category, root-level page and root link; categoryPages and pageSubItems are optional partial updates. Prefer zuwiki_move_page or zuwiki_reorder_items for targeted edits.",
326
+ inputSchema: {
327
+ wikiId: z.string().min(1),
328
+ rootItems: z.array(reorderRootItemSchema).min(1),
329
+ categoryPages: z.array(reorderCategoryPagesSchema).optional(),
330
+ pageSubItems: z.array(reorderPageSubItemsSchema).optional(),
331
+ },
332
+ }, async ({ wikiId, rootItems, categoryPages, pageSubItems }, extra) => runTool(async () => {
333
+ const ctx = contextFactory(extra);
334
+ const body = { rootItems };
335
+ if (categoryPages)
336
+ body.categoryPages = categoryPages;
337
+ if (pageSubItems)
338
+ body.pageSubItems = pageSubItems;
339
+ await applyWikiReorder(ctx, wikiId, body);
340
+ return { ok: true };
341
+ }));
243
342
  }
244
343
  //# sourceMappingURL=register.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { EditorPageItem, EditorSnapshot, ReorderBody } from "../api/types.js";
2
+ export type MoveTarget = {
3
+ type: "root";
4
+ } | {
5
+ type: "category";
6
+ categoryId: string;
7
+ } | {
8
+ type: "page";
9
+ parentPageId: string;
10
+ };
11
+ export interface MovePageInput {
12
+ pageId: string;
13
+ target: MoveTarget;
14
+ position?: number | "first" | "last";
15
+ detachChildren?: boolean;
16
+ }
17
+ export type ReorderScope = {
18
+ type: "root";
19
+ } | {
20
+ type: "category";
21
+ categoryId: string;
22
+ } | {
23
+ type: "page";
24
+ parentPageId: string;
25
+ };
26
+ export interface ReorderItemsInput {
27
+ scope: ReorderScope;
28
+ itemIds: string[];
29
+ }
30
+ /** Builds a ReorderBody that reflects the current order in the snapshot. */
31
+ export declare function snapshotToReorderBody(snap: EditorSnapshot): ReorderBody;
32
+ /**
33
+ * Locates a page in the snapshot, looking under categories first and falling back to rootPages.
34
+ * Returns null when the id is unknown.
35
+ */
36
+ export declare function findPage(snap: EditorSnapshot, pageId: string): EditorPageItem | null;
37
+ /**
38
+ * Builds a ReorderBody that moves a single page to a new slot.
39
+ *
40
+ * Behavior:
41
+ * - target=root inserts the page into the root list at the given position.
42
+ * - target=category inserts the page as a top-level page of that category.
43
+ * - target=page inserts the page as a sub-page of an existing top-level page. The two-level limit means:
44
+ * * the target parent must itself be top-level (not a sub-page)
45
+ * * a page with its own children cannot be moved this way unless detachChildren is set, in which case
46
+ * its current children are re-parented to the target parent's container (category or root) at the end.
47
+ */
48
+ export declare function movePage(snap: EditorSnapshot, input: MovePageInput): ReorderBody;
49
+ /**
50
+ * Builds a ReorderBody that sets the exact order of items inside a single scope.
51
+ * itemIds must be a permutation of the items currently in that scope.
52
+ */
53
+ export declare function reorderItems(snap: EditorSnapshot, input: ReorderItemsInput): ReorderBody;
@@ -0,0 +1,246 @@
1
+ /** Builds a ReorderBody that reflects the current order in the snapshot. */
2
+ export function snapshotToReorderBody(snap) {
3
+ const rootEntries = [];
4
+ for (const c of snap.categories) {
5
+ rootEntries.push({ sortOrder: c.sortOrder, item: { id: c.id, type: "CATEGORY" } });
6
+ }
7
+ for (const p of snap.rootPages) {
8
+ if (p.parentPageId === null) {
9
+ rootEntries.push({ sortOrder: p.sortOrder, item: { id: p.id, type: "PAGE" } });
10
+ }
11
+ }
12
+ for (const l of snap.rootLinks) {
13
+ rootEntries.push({ sortOrder: l.sortOrder, item: { id: l.id, type: "LINK" } });
14
+ }
15
+ rootEntries.sort((a, b) => a.sortOrder - b.sortOrder);
16
+ const categoryPages = snap.categories.map((c) => ({
17
+ categoryId: c.id,
18
+ pageIds: c.pages
19
+ .filter((p) => p.parentPageId === null)
20
+ .slice()
21
+ .sort((a, b) => a.sortOrder - b.sortOrder)
22
+ .map((p) => p.id),
23
+ }));
24
+ const pageSubItems = [];
25
+ const collectFrom = (pages) => {
26
+ for (const p of pages) {
27
+ if (p.parentPageId !== null)
28
+ continue;
29
+ if (p.children && p.children.length > 0) {
30
+ const sorted = p.children.slice().sort((a, b) => a.sortOrder - b.sortOrder);
31
+ pageSubItems.push({
32
+ parentPageId: p.id,
33
+ childPageIds: sorted.map((c) => c.id),
34
+ });
35
+ }
36
+ }
37
+ };
38
+ for (const c of snap.categories)
39
+ collectFrom(c.pages);
40
+ collectFrom(snap.rootPages);
41
+ return {
42
+ rootItems: rootEntries.map((e) => e.item),
43
+ categoryPages,
44
+ pageSubItems,
45
+ };
46
+ }
47
+ /**
48
+ * Locates a page in the snapshot, looking under categories first and falling back to rootPages.
49
+ * Returns null when the id is unknown.
50
+ */
51
+ export function findPage(snap, pageId) {
52
+ for (const c of snap.categories) {
53
+ for (const p of c.pages) {
54
+ if (p.id === pageId)
55
+ return p;
56
+ }
57
+ }
58
+ for (const p of snap.rootPages) {
59
+ if (p.id === pageId)
60
+ return p;
61
+ }
62
+ return null;
63
+ }
64
+ function resolveInsertIndex(length, position) {
65
+ if (position === "first")
66
+ return 0;
67
+ if (position === undefined || position === "last")
68
+ return length;
69
+ if (position < 0)
70
+ return 0;
71
+ if (position > length)
72
+ return length;
73
+ return position;
74
+ }
75
+ /** Mutates the given body to remove every reference to pageId. */
76
+ function stripPageFromBody(body, pageId) {
77
+ body.rootItems = body.rootItems.filter((it) => !(it.type === "PAGE" && it.id === pageId));
78
+ body.categoryPages = (body.categoryPages ?? []).map((cp) => ({
79
+ categoryId: cp.categoryId,
80
+ pageIds: cp.pageIds.filter((id) => id !== pageId),
81
+ }));
82
+ body.pageSubItems = (body.pageSubItems ?? [])
83
+ .map((ps) => ({
84
+ parentPageId: ps.parentPageId,
85
+ childPageIds: ps.childPageIds.filter((id) => id !== pageId),
86
+ }))
87
+ .filter((ps) => ps.childPageIds.length > 0);
88
+ }
89
+ /**
90
+ * Builds a ReorderBody that moves a single page to a new slot.
91
+ *
92
+ * Behavior:
93
+ * - target=root inserts the page into the root list at the given position.
94
+ * - target=category inserts the page as a top-level page of that category.
95
+ * - target=page inserts the page as a sub-page of an existing top-level page. The two-level limit means:
96
+ * * the target parent must itself be top-level (not a sub-page)
97
+ * * a page with its own children cannot be moved this way unless detachChildren is set, in which case
98
+ * its current children are re-parented to the target parent's container (category or root) at the end.
99
+ */
100
+ export function movePage(snap, input) {
101
+ const { pageId, target, position, detachChildren } = input;
102
+ const page = findPage(snap, pageId);
103
+ if (!page) {
104
+ throw new Error(`Page ${pageId} not found in this wiki.`);
105
+ }
106
+ const hasChildren = (page.children?.length ?? 0) > 0;
107
+ if (target.type === "page") {
108
+ if (target.parentPageId === pageId) {
109
+ throw new Error("A page cannot become a sub-page of itself.");
110
+ }
111
+ const parent = findPage(snap, target.parentPageId);
112
+ if (!parent) {
113
+ throw new Error(`Target parent page ${target.parentPageId} not found.`);
114
+ }
115
+ if (parent.parentPageId !== null) {
116
+ throw new Error("Target parent page is itself a sub-page. The wiki tree is limited to two levels.");
117
+ }
118
+ if (hasChildren && !detachChildren) {
119
+ throw new Error(`Page ${pageId} has child pages. Moving it as a sub-page would exceed the two-level limit. Pass detachChildren=true to first lift its children to the new parent's container.`);
120
+ }
121
+ }
122
+ else if (target.type === "category") {
123
+ if (!snap.categories.find((c) => c.id === target.categoryId)) {
124
+ throw new Error(`Target category ${target.categoryId} not found.`);
125
+ }
126
+ }
127
+ const body = snapshotToReorderBody(snap);
128
+ let detachedChildren = [];
129
+ if (target.type === "page" && hasChildren && detachChildren) {
130
+ detachedChildren = page.children
131
+ .slice()
132
+ .sort((a, b) => a.sortOrder - b.sortOrder)
133
+ .map((c) => c.id);
134
+ body.pageSubItems = (body.pageSubItems ?? []).filter((ps) => ps.parentPageId !== pageId);
135
+ }
136
+ stripPageFromBody(body, pageId);
137
+ if (target.type === "root") {
138
+ const idx = resolveInsertIndex(body.rootItems.length, position);
139
+ body.rootItems.splice(idx, 0, { id: pageId, type: "PAGE" });
140
+ }
141
+ else if (target.type === "category") {
142
+ let cat = body.categoryPages?.find((cp) => cp.categoryId === target.categoryId);
143
+ if (!cat) {
144
+ cat = { categoryId: target.categoryId, pageIds: [] };
145
+ body.categoryPages = [...(body.categoryPages ?? []), cat];
146
+ }
147
+ const idx = resolveInsertIndex(cat.pageIds.length, position);
148
+ cat.pageIds.splice(idx, 0, pageId);
149
+ }
150
+ else {
151
+ let entry = body.pageSubItems?.find((ps) => ps.parentPageId === target.parentPageId);
152
+ if (!entry) {
153
+ entry = { parentPageId: target.parentPageId, childPageIds: [] };
154
+ body.pageSubItems = [...(body.pageSubItems ?? []), entry];
155
+ }
156
+ const idx = resolveInsertIndex(entry.childPageIds.length, position);
157
+ entry.childPageIds.splice(idx, 0, pageId);
158
+ if (detachedChildren.length > 0) {
159
+ const newParent = findPage(snap, target.parentPageId);
160
+ if (newParent.categoryId !== null) {
161
+ const catId = newParent.categoryId;
162
+ let cat = body.categoryPages?.find((cp) => cp.categoryId === catId);
163
+ if (!cat) {
164
+ cat = { categoryId: catId, pageIds: [] };
165
+ body.categoryPages = [...(body.categoryPages ?? []), cat];
166
+ }
167
+ cat.pageIds.push(...detachedChildren);
168
+ }
169
+ else {
170
+ for (const id of detachedChildren) {
171
+ body.rootItems.push({ id, type: "PAGE" });
172
+ }
173
+ }
174
+ }
175
+ }
176
+ return body;
177
+ }
178
+ /**
179
+ * Builds a ReorderBody that sets the exact order of items inside a single scope.
180
+ * itemIds must be a permutation of the items currently in that scope.
181
+ */
182
+ export function reorderItems(snap, input) {
183
+ const { scope, itemIds } = input;
184
+ const body = snapshotToReorderBody(snap);
185
+ if (scope.type === "root") {
186
+ const existing = body.rootItems;
187
+ if (itemIds.length !== existing.length) {
188
+ throw new Error(`Root contains ${existing.length} items, but ${itemIds.length} ids were provided. Pass every root item exactly once.`);
189
+ }
190
+ const byId = new Map(existing.map((it) => [it.id, it]));
191
+ const reordered = [];
192
+ const seen = new Set();
193
+ for (const id of itemIds) {
194
+ const item = byId.get(id);
195
+ if (!item)
196
+ throw new Error(`Item ${id} is not at the root level of this wiki.`);
197
+ if (seen.has(id))
198
+ throw new Error(`Item ${id} appears twice in itemIds.`);
199
+ seen.add(id);
200
+ reordered.push(item);
201
+ }
202
+ body.rootItems = reordered;
203
+ return body;
204
+ }
205
+ if (scope.type === "category") {
206
+ const entry = body.categoryPages?.find((cp) => cp.categoryId === scope.categoryId);
207
+ if (!entry) {
208
+ throw new Error(`Category ${scope.categoryId} not found.`);
209
+ }
210
+ if (itemIds.length !== entry.pageIds.length) {
211
+ throw new Error(`Category ${scope.categoryId} contains ${entry.pageIds.length} pages, but ${itemIds.length} ids were provided. Pass every page in the category exactly once.`);
212
+ }
213
+ const set = new Set(entry.pageIds);
214
+ const seen = new Set();
215
+ for (const id of itemIds) {
216
+ if (!set.has(id)) {
217
+ throw new Error(`Page ${id} is not a top-level page of category ${scope.categoryId}.`);
218
+ }
219
+ if (seen.has(id))
220
+ throw new Error(`Page ${id} appears twice in itemIds.`);
221
+ seen.add(id);
222
+ }
223
+ entry.pageIds = [...itemIds];
224
+ return body;
225
+ }
226
+ const entry = body.pageSubItems?.find((ps) => ps.parentPageId === scope.parentPageId);
227
+ if (!entry) {
228
+ throw new Error(`Page ${scope.parentPageId} has no sub-pages to reorder.`);
229
+ }
230
+ if (itemIds.length !== entry.childPageIds.length) {
231
+ throw new Error(`Page ${scope.parentPageId} has ${entry.childPageIds.length} sub-pages, but ${itemIds.length} ids were provided. Pass every sub-page exactly once.`);
232
+ }
233
+ const set = new Set(entry.childPageIds);
234
+ const seen = new Set();
235
+ for (const id of itemIds) {
236
+ if (!set.has(id)) {
237
+ throw new Error(`Page ${id} is not a sub-page of ${scope.parentPageId}.`);
238
+ }
239
+ if (seen.has(id))
240
+ throw new Error(`Page ${id} appears twice in itemIds.`);
241
+ seen.add(id);
242
+ }
243
+ entry.childPageIds = [...itemIds];
244
+ return body;
245
+ }
246
+ //# sourceMappingURL=reorder-logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reorder-logic.js","sourceRoot":"","sources":["../../src/tools/reorder-logic.ts"],"names":[],"mappings":"AA+BA,4EAA4E;AAC5E,MAAM,UAAU,qBAAqB,CAAC,IAAoB;IACxD,MAAM,WAAW,GAAwD,EAAE,CAAC;IAC5E,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC5B,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,aAAa,GAA2B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxE,UAAU,EAAE,CAAC,CAAC,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,KAAK;aACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC;aACtC,KAAK,EAAE;aACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpB,CAAC,CAAC,CAAC;IAEJ,MAAM,YAAY,GAA0B,EAAE,CAAC;IAC/C,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;QAC9C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI;gBAAE,SAAS;YACtC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC5E,YAAY,CAAC,IAAI,CAAC;oBAChB,YAAY,EAAE,CAAC,CAAC,EAAE;oBAClB,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU;QAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtD,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE5B,OAAO;QACL,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,aAAa;QACb,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAoB,EAAE,MAAc;IAC3D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM;gBAAE,OAAO,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM;YAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAc,EACd,QAA+C;IAE/C,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,CAAC,CAAC;IACnC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACjE,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3B,IAAI,QAAQ,GAAG,MAAM;QAAE,OAAO,MAAM,CAAC;IACrC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,kEAAkE;AAClE,SAAS,iBAAiB,CAAC,IAAiB,EAAE,MAAc;IAC1D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC;IAC1F,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3D,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC;KAClD,CAAC,CAAC,CAAC;IACJ,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;SAC1C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACZ,YAAY,EAAE,EAAE,CAAC,YAAY;QAC7B,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC;KAC5D,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAoB,EAAE,KAAoB;IACjE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,0BAA0B,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAErD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,YAAY,aAAa,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;QACJ,CAAC;QACD,IAAI,WAAW,IAAI,CAAC,cAAc,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,QAAQ,MAAM,gKAAgK,CAC/K,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,UAAU,aAAa,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEzC,IAAI,gBAAgB,GAAa,EAAE,CAAC;IACpC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;QAC5D,gBAAgB,GAAG,IAAI,CAAC,QAAQ;aAC7B,KAAK,EAAE;aACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAClD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,KAAK,MAAM,CACnC,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEhC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC;QAChF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7D,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC;QACrF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;YAChE,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAE1C,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAE,CAAC;YACvD,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC;gBACnC,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;gBACpE,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,GAAG,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;oBACzC,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC5D,CAAC;gBACD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;oBAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAoB,EAAE,KAAwB;IACzE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEzC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,iBAAiB,QAAQ,CAAC,MAAM,eAAe,OAAO,CAAC,MAAM,wDAAwD,CACtH,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,SAAS,GAAsB,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,yCAAyC,CAAC,CAAC;YAChF,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;YAC1E,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC;QACnF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,UAAU,aAAa,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,YAAY,KAAK,CAAC,UAAU,aAAa,KAAK,CAAC,OAAO,CAAC,MAAM,eAAe,OAAO,CAAC,MAAM,mEAAmE,CAC9J,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,wCAAwC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;YACzF,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;YAC1E,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;QACD,KAAK,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CACnC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CAC/C,CAAC;IACF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,YAAY,+BAA+B,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,QAAQ,KAAK,CAAC,YAAY,QAAQ,KAAK,CAAC,YAAY,CAAC,MAAM,mBAAmB,OAAO,CAAC,MAAM,uDAAuD,CACpJ,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,yBAAyB,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,KAAK,CAAC,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuwiki/mcp",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Model Context Protocol server for Zuwiki",
5
5
  "license": "MIT",
6
6
  "type": "module",