whiteboard-mcp-server 2.2.0 → 2.3.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.
package/dist/index.js CHANGED
@@ -8,6 +8,8 @@ import { ApiClient } from './api-client.js';
8
8
  import { listNotes, listNotesSchema } from './tools/list-notes.js';
9
9
  import { readNote, readNoteSchema } from './tools/read-note.js';
10
10
  import { updateNote, updateNoteSchema } from './tools/update-note.js';
11
+ import { editNote, editNoteSchema } from './tools/edit-note.js';
12
+ import { checkNote, checkNoteSchema } from './tools/check-note.js';
11
13
  import { createNote, createNoteSchema } from './tools/create-note.js';
12
14
  import { deleteNote, deleteNoteSchema } from './tools/delete-note.js';
13
15
  import { getComments, getCommentsSchema } from './tools/get-comments.js';
@@ -21,6 +23,8 @@ import { listPapers, listPapersSchema } from './tools/list-papers.js';
21
23
  import { readPaper, readPaperSchema } from './tools/read-paper.js';
22
24
  import { createPaper, createPaperSchema } from './tools/create-paper.js';
23
25
  import { updatePaper, updatePaperSchema } from './tools/update-paper.js';
26
+ import { editPaper, editPaperSchema } from './tools/edit-paper.js';
27
+ import { checkPaper, checkPaperSchema } from './tools/check-paper.js';
24
28
  import { deletePaper, deletePaperSchema } from './tools/delete-paper.js';
25
29
  import { getPaperComments, getPaperCommentsSchema } from './tools/get-paper-comments.js';
26
30
  import { resolvePaperThread, resolvePaperThreadSchema } from './tools/resolve-paper-thread.js';
@@ -80,7 +84,7 @@ const TOOLS = [
80
84
  },
81
85
  {
82
86
  name: 'update_note',
83
- description: `Update the content of an existing note. Requires write permission.
87
+ description: `Update the FULL content of an existing note. Requires write permission. For small changes, prefer edit_note instead (search-and-replace, saves tokens).
84
88
 
85
89
  IMPORTANT RULES:
86
90
  - ALWAYS use read_note BEFORE updating to get the latest content (the user may have modified it)
@@ -100,6 +104,52 @@ IMPORTANT RULES:
100
104
  required: ['slug', 'content'],
101
105
  },
102
106
  },
107
+ {
108
+ name: 'edit_note',
109
+ description: `Make a surgical edit to a note using search-and-replace. More token-efficient than update_note for small changes — only send the changed part.
110
+
111
+ The old_text must appear exactly once in the note. If not found or found multiple times, an error is returned.
112
+ Returns a content_hash you can use with check_note to detect further changes.
113
+
114
+ IMPORTANT:
115
+ - Use read_note first to know the current content
116
+ - old_text must match EXACTLY (including whitespace)
117
+ - For large rewrites, use update_note instead`,
118
+ inputSchema: {
119
+ type: 'object',
120
+ properties: {
121
+ slug: {
122
+ type: 'string',
123
+ description: 'The slug of the note to edit',
124
+ },
125
+ old_text: {
126
+ type: 'string',
127
+ description: 'The exact text to find and replace (must appear exactly once)',
128
+ },
129
+ new_text: {
130
+ type: 'string',
131
+ description: 'The replacement text (can be empty to delete the matched text)',
132
+ },
133
+ },
134
+ required: ['slug', 'old_text', 'new_text'],
135
+ },
136
+ },
137
+ {
138
+ name: 'check_note',
139
+ description: `Check if a note has changed without reading its full content. Returns only the content_hash, content_length, and updated_at.
140
+
141
+ Compare the content_hash with the one you received from read_note or edit_note to detect changes. If the hash differs, use read_note to get the new content.`,
142
+ inputSchema: {
143
+ type: 'object',
144
+ properties: {
145
+ slug: {
146
+ type: 'string',
147
+ description: 'The slug of the note to check',
148
+ },
149
+ },
150
+ required: ['slug'],
151
+ },
152
+ },
103
153
  {
104
154
  name: 'create_note',
105
155
  description: 'Create a new note with a unique slug.',
@@ -309,10 +359,10 @@ Typical workflow:
309
359
  LATEX ENVIRONMENT:
310
360
  - Server runs texlive-full (TeX Live 2022) — all standard packages are available (amsmath, tikz, listings, hyperref, geometry, booktabs, etc.)
311
361
  - Engines: pdflatex (default), xelatex
312
- - For Japanese/Chinese/Korean (CJK) support with furigana: use xelatex engine with xeCJK package and ruby package:
362
+ - For Japanese/Chinese/Korean (CJK) support with furigana: use xelatex engine with xeCJK package.
363
+ The \\ruby{kanji}{furigana} command is auto-injected — no package needed:
313
364
  \\usepackage{xeCJK}
314
365
  \\setCJKmainfont{Noto Serif CJK JP}
315
- \\usepackage{ruby}
316
366
  \\ruby{漢字}{かんじ}
317
367
  - Available CJK fonts: Noto Serif CJK JP, Noto Sans CJK JP, Noto Sans Mono CJK JP (also SC, TC, KR variants)
318
368
  - xelatex also supports custom system fonts via fontspec`,
@@ -347,7 +397,7 @@ LATEX ENVIRONMENT:
347
397
  },
348
398
  {
349
399
  name: 'update_paper',
350
- description: `Update the content of an existing paper. Requires write permission.
400
+ description: `Update the FULL content of an existing paper. Requires write permission. For small changes, prefer edit_paper instead (search-and-replace, saves tokens).
351
401
 
352
402
  IMPORTANT RULES:
353
403
  - ALWAYS use read_paper BEFORE updating to get the latest content (the user may have modified it)
@@ -367,6 +417,52 @@ IMPORTANT RULES:
367
417
  required: ['slug', 'content'],
368
418
  },
369
419
  },
420
+ {
421
+ name: 'edit_paper',
422
+ description: `Make a surgical edit to a paper using search-and-replace. More token-efficient than update_paper for small changes — only send the changed part.
423
+
424
+ The old_text must appear exactly once in the paper. If not found or found multiple times, an error is returned.
425
+ Returns a content_hash you can use with check_paper to detect further changes.
426
+
427
+ IMPORTANT:
428
+ - Use read_paper first to know the current content
429
+ - old_text must match EXACTLY (including whitespace)
430
+ - For large rewrites, use update_paper instead`,
431
+ inputSchema: {
432
+ type: 'object',
433
+ properties: {
434
+ slug: {
435
+ type: 'string',
436
+ description: 'The slug of the paper to edit',
437
+ },
438
+ old_text: {
439
+ type: 'string',
440
+ description: 'The exact text to find and replace (must appear exactly once)',
441
+ },
442
+ new_text: {
443
+ type: 'string',
444
+ description: 'The replacement text (can be empty to delete the matched text)',
445
+ },
446
+ },
447
+ required: ['slug', 'old_text', 'new_text'],
448
+ },
449
+ },
450
+ {
451
+ name: 'check_paper',
452
+ description: `Check if a paper has changed without reading its full content. Returns only the content_hash, content_length, and updated_at.
453
+
454
+ Compare the content_hash with the one you received from read_paper or edit_paper to detect changes. If the hash differs, use read_paper to get the new content.`,
455
+ inputSchema: {
456
+ type: 'object',
457
+ properties: {
458
+ slug: {
459
+ type: 'string',
460
+ description: 'The slug of the paper to check',
461
+ },
462
+ },
463
+ required: ['slug'],
464
+ },
465
+ },
370
466
  {
371
467
  name: 'delete_paper',
372
468
  description: 'Delete a paper. Requires write permission. This action is irreversible.',
@@ -515,7 +611,7 @@ Use this to:
515
611
  - Debug LaTeX errors by reading the compilation log
516
612
  - Verify that packages work correctly
517
613
 
518
- The server runs texlive-full with all standard packages. For CJK/Japanese support, use xelatex engine with xeCJK + ruby packages and Noto CJK fonts.
614
+ The server runs texlive-full with all standard packages. For CJK/Japanese support, use xelatex engine with xeCJK and Noto CJK fonts. The \\ruby{kanji}{furigana} command is auto-injected for furigana support.
519
615
 
520
616
  Returns the exit code (0 = success), the full compilation log, and the PDF size if successful.`,
521
617
  inputSchema: {
@@ -555,6 +651,12 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
555
651
  case 'update_note':
556
652
  result = await updateNote(apiClient, updateNoteSchema.parse(args));
557
653
  break;
654
+ case 'edit_note':
655
+ result = await editNote(apiClient, editNoteSchema.parse(args));
656
+ break;
657
+ case 'check_note':
658
+ result = await checkNote(apiClient, checkNoteSchema.parse(args));
659
+ break;
558
660
  case 'create_note':
559
661
  result = await createNote(apiClient, createNoteSchema.parse(args), config.frontendUrl);
560
662
  break;
@@ -592,6 +694,12 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
592
694
  case 'update_paper':
593
695
  result = await updatePaper(apiClient, updatePaperSchema.parse(args));
594
696
  break;
697
+ case 'edit_paper':
698
+ result = await editPaper(apiClient, editPaperSchema.parse(args));
699
+ break;
700
+ case 'check_paper':
701
+ result = await checkPaper(apiClient, checkPaperSchema.parse(args));
702
+ break;
595
703
  case 'delete_paper':
596
704
  result = await deletePaper(apiClient, deletePaperSchema.parse(args));
597
705
  break;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ import { ApiClient } from '../api-client.js';
3
+ export declare const checkNoteSchema: z.ZodObject<{
4
+ slug: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ slug: string;
7
+ }, {
8
+ slug: string;
9
+ }>;
10
+ export type CheckNoteInput = z.infer<typeof checkNoteSchema>;
11
+ export declare function checkNote(client: ApiClient, input: CheckNoteInput): Promise<string>;
12
+ //# sourceMappingURL=check-note.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-note.d.ts","sourceRoot":"","sources":["../../src/tools/check-note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,MAAM,CAAC,CAcjB"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ import { computeContentHash } from './hash-utils.js';
3
+ export const checkNoteSchema = z.object({
4
+ slug: z.string().describe('The slug of the note to check'),
5
+ });
6
+ export async function checkNote(client, input) {
7
+ const note = await client.getNoteBySlug(input.slug);
8
+ const content = note.content || '';
9
+ const contentHash = computeContentHash(content);
10
+ const lines = [
11
+ `# Check: ${note.slug}`,
12
+ ``,
13
+ `- **content_hash**: ${contentHash}`,
14
+ `- **content_length**: ${content.length}`,
15
+ `- **updated_at**: ${new Date(note.updatedAt).toLocaleString()}`,
16
+ ];
17
+ return lines.join('\n');
18
+ }
19
+ //# sourceMappingURL=check-note.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-note.js","sourceRoot":"","sources":["../../src/tools/check-note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CAC3D,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,KAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEhD,MAAM,KAAK,GAAG;QACZ,YAAY,IAAI,CAAC,IAAI,EAAE;QACvB,EAAE;QACF,uBAAuB,WAAW,EAAE;QACpC,yBAAyB,OAAO,CAAC,MAAM,EAAE;QACzC,qBAAqB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;KACjE,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ import { ApiClient } from '../api-client.js';
3
+ export declare const checkPaperSchema: z.ZodObject<{
4
+ slug: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ slug: string;
7
+ }, {
8
+ slug: string;
9
+ }>;
10
+ export type CheckPaperInput = z.infer<typeof checkPaperSchema>;
11
+ export declare function checkPaper(client: ApiClient, input: CheckPaperInput): Promise<string>;
12
+ //# sourceMappingURL=check-paper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-paper.d.ts","sourceRoot":"","sources":["../../src/tools/check-paper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,eAAO,MAAM,gBAAgB;;;;;;EAE3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,MAAM,CAAC,CAcjB"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ import { computeContentHash } from './hash-utils.js';
3
+ export const checkPaperSchema = z.object({
4
+ slug: z.string().describe('The slug of the paper to check'),
5
+ });
6
+ export async function checkPaper(client, input) {
7
+ const paper = await client.getPaperBySlug(input.slug);
8
+ const content = paper.content || '';
9
+ const contentHash = computeContentHash(content);
10
+ const lines = [
11
+ `# Check: ${paper.slug}`,
12
+ ``,
13
+ `- **content_hash**: ${contentHash}`,
14
+ `- **content_length**: ${content.length}`,
15
+ `- **updated_at**: ${new Date(paper.updatedAt).toLocaleString()}`,
16
+ ];
17
+ return lines.join('\n');
18
+ }
19
+ //# sourceMappingURL=check-paper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-paper.js","sourceRoot":"","sources":["../../src/tools/check-paper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CAC5D,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,KAAsB;IAEtB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEhD,MAAM,KAAK,GAAG;QACZ,YAAY,KAAK,CAAC,IAAI,EAAE;QACxB,EAAE;QACF,uBAAuB,WAAW,EAAE;QACpC,yBAAyB,OAAO,CAAC,MAAM,EAAE;QACzC,qBAAqB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;KAClE,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { ApiClient } from '../api-client.js';
3
+ export declare const editNoteSchema: z.ZodObject<{
4
+ slug: z.ZodString;
5
+ old_text: z.ZodString;
6
+ new_text: z.ZodString;
7
+ }, "strip", z.ZodTypeAny, {
8
+ slug: string;
9
+ old_text: string;
10
+ new_text: string;
11
+ }, {
12
+ slug: string;
13
+ old_text: string;
14
+ new_text: string;
15
+ }>;
16
+ export type EditNoteInput = z.infer<typeof editNoteSchema>;
17
+ export declare function editNote(client: ApiClient, input: EditNoteInput): Promise<string>;
18
+ //# sourceMappingURL=edit-note.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-note.d.ts","sourceRoot":"","sources":["../../src/tools/edit-note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE3D,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,CAAC,CA6CjB"}
@@ -0,0 +1,41 @@
1
+ import { z } from 'zod';
2
+ import { computeContentHash, countOccurrences, getContextAroundChange } from './hash-utils.js';
3
+ export const editNoteSchema = z.object({
4
+ slug: z.string().describe('The slug of the note to edit'),
5
+ old_text: z.string().describe('The exact text to find and replace (must appear exactly once)'),
6
+ new_text: z.string().describe('The replacement text (can be empty to delete)'),
7
+ });
8
+ export async function editNote(client, input) {
9
+ if (!input.old_text) {
10
+ throw new Error('old_text must not be empty. To insert text, use update_note instead.');
11
+ }
12
+ const note = await client.getNoteBySlug(input.slug);
13
+ if (note.permission !== 'write') {
14
+ throw new Error(`You don't have write permission on this note (current permission: ${note.permission})`);
15
+ }
16
+ const content = note.content || '';
17
+ const occurrences = countOccurrences(content, input.old_text);
18
+ if (occurrences === 0) {
19
+ throw new Error('old_text not found in the note content. Use read_note to get the current content and try again with the exact text.');
20
+ }
21
+ if (occurrences > 1) {
22
+ throw new Error(`old_text found ${occurrences} times. Add more surrounding context to old_text to make it unique.`);
23
+ }
24
+ const newContent = content.replace(input.old_text, input.new_text);
25
+ await client.updateNote(note.id, { content: newContent });
26
+ const contentHash = computeContentHash(newContent);
27
+ const snippet = getContextAroundChange(newContent, input.new_text);
28
+ const lines = [
29
+ `Note "${note.slug}" edited successfully.`,
30
+ ``,
31
+ `- **content_hash**: ${contentHash}`,
32
+ `- **content_length**: ${newContent.length}`,
33
+ ``,
34
+ `### Context around change:`,
35
+ '```',
36
+ snippet,
37
+ '```',
38
+ ];
39
+ return lines.join('\n');
40
+ }
41
+ //# sourceMappingURL=edit-note.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-note.js","sourceRoot":"","sources":["../../src/tools/edit-note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE/F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;IAC9F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC/E,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAiB,EACjB,KAAoB;IAEpB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEpD,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,qEAAqE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IAC3G,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE9D,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,qHAAqH,CACtH,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,kBAAkB,WAAW,qEAAqE,CACnG,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEnE,MAAM,KAAK,GAAG;QACZ,SAAS,IAAI,CAAC,IAAI,wBAAwB;QAC1C,EAAE;QACF,uBAAuB,WAAW,EAAE;QACpC,yBAAyB,UAAU,CAAC,MAAM,EAAE;QAC5C,EAAE;QACF,4BAA4B;QAC5B,KAAK;QACL,OAAO;QACP,KAAK;KACN,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { ApiClient } from '../api-client.js';
3
+ export declare const editPaperSchema: z.ZodObject<{
4
+ slug: z.ZodString;
5
+ old_text: z.ZodString;
6
+ new_text: z.ZodString;
7
+ }, "strip", z.ZodTypeAny, {
8
+ slug: string;
9
+ old_text: string;
10
+ new_text: string;
11
+ }, {
12
+ slug: string;
13
+ old_text: string;
14
+ new_text: string;
15
+ }>;
16
+ export type EditPaperInput = z.infer<typeof editPaperSchema>;
17
+ export declare function editPaper(client: ApiClient, input: EditPaperInput): Promise<string>;
18
+ //# sourceMappingURL=edit-paper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-paper.d.ts","sourceRoot":"","sources":["../../src/tools/edit-paper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,MAAM,CAAC,CA6CjB"}
@@ -0,0 +1,41 @@
1
+ import { z } from 'zod';
2
+ import { computeContentHash, countOccurrences, getContextAroundChange } from './hash-utils.js';
3
+ export const editPaperSchema = z.object({
4
+ slug: z.string().describe('The slug of the paper to edit'),
5
+ old_text: z.string().describe('The exact text to find and replace (must appear exactly once)'),
6
+ new_text: z.string().describe('The replacement text (can be empty to delete)'),
7
+ });
8
+ export async function editPaper(client, input) {
9
+ if (!input.old_text) {
10
+ throw new Error('old_text must not be empty. To insert text, use update_paper instead.');
11
+ }
12
+ const paper = await client.getPaperBySlug(input.slug);
13
+ if (paper.permission !== 'write') {
14
+ throw new Error(`You don't have write permission on this paper (current permission: ${paper.permission})`);
15
+ }
16
+ const content = paper.content || '';
17
+ const occurrences = countOccurrences(content, input.old_text);
18
+ if (occurrences === 0) {
19
+ throw new Error('old_text not found in the paper content. Use read_paper to get the current content and try again with the exact text.');
20
+ }
21
+ if (occurrences > 1) {
22
+ throw new Error(`old_text found ${occurrences} times. Add more surrounding context to old_text to make it unique.`);
23
+ }
24
+ const newContent = content.replace(input.old_text, input.new_text);
25
+ await client.updatePaper(paper.id, { content: newContent });
26
+ const contentHash = computeContentHash(newContent);
27
+ const snippet = getContextAroundChange(newContent, input.new_text);
28
+ const lines = [
29
+ `Paper "${paper.slug}" edited successfully.`,
30
+ ``,
31
+ `- **content_hash**: ${contentHash}`,
32
+ `- **content_length**: ${newContent.length}`,
33
+ ``,
34
+ `### Context around change:`,
35
+ '```',
36
+ snippet,
37
+ '```',
38
+ ];
39
+ return lines.join('\n');
40
+ }
41
+ //# sourceMappingURL=edit-paper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-paper.js","sourceRoot":"","sources":["../../src/tools/edit-paper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE/F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC1D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;IAC9F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC/E,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,KAAqB;IAErB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEtD,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,sEAAsE,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;IAC7G,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE9D,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,uHAAuH,CACxH,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,kBAAkB,WAAW,qEAAqE,CACnG,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAE5D,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEnE,MAAM,KAAK,GAAG;QACZ,UAAU,KAAK,CAAC,IAAI,wBAAwB;QAC5C,EAAE;QACF,uBAAuB,WAAW,EAAE;QACpC,yBAAyB,UAAU,CAAC,MAAM,EAAE;QAC5C,EAAE;QACF,4BAA4B;QAC5B,KAAK;QACL,OAAO;QACP,KAAK;KACN,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Compute a SHA-256 hash of content, truncated to 16 hex chars.
3
+ */
4
+ export declare function computeContentHash(content: string): string;
5
+ /**
6
+ * Count non-overlapping occurrences of `search` in `text` using indexOf.
7
+ */
8
+ export declare function countOccurrences(text: string, search: string): number;
9
+ /**
10
+ * Get a snippet of context around where `newText` was inserted in `content`.
11
+ * Returns ~contextLines lines before and after the change.
12
+ */
13
+ export declare function getContextAroundChange(content: string, newText: string, contextLines?: number): string;
14
+ //# sourceMappingURL=hash-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash-utils.d.ts","sourceRoot":"","sources":["../../src/tools/hash-utils.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAQrE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,MAAU,GACvB,MAAM,CAwCR"}
@@ -0,0 +1,62 @@
1
+ import { createHash } from 'crypto';
2
+ /**
3
+ * Compute a SHA-256 hash of content, truncated to 16 hex chars.
4
+ */
5
+ export function computeContentHash(content) {
6
+ return createHash('sha256').update(content).digest('hex').slice(0, 16);
7
+ }
8
+ /**
9
+ * Count non-overlapping occurrences of `search` in `text` using indexOf.
10
+ */
11
+ export function countOccurrences(text, search) {
12
+ let count = 0;
13
+ let pos = 0;
14
+ while ((pos = text.indexOf(search, pos)) !== -1) {
15
+ count++;
16
+ pos += search.length;
17
+ }
18
+ return count;
19
+ }
20
+ /**
21
+ * Get a snippet of context around where `newText` was inserted in `content`.
22
+ * Returns ~contextLines lines before and after the change.
23
+ */
24
+ export function getContextAroundChange(content, newText, contextLines = 3) {
25
+ const pos = content.indexOf(newText);
26
+ if (pos === -1)
27
+ return newText;
28
+ const lines = content.split('\n');
29
+ let charCount = 0;
30
+ let startLine = 0;
31
+ // Find which line the change starts on
32
+ for (let i = 0; i < lines.length; i++) {
33
+ if (charCount + lines[i].length >= pos) {
34
+ startLine = i;
35
+ break;
36
+ }
37
+ charCount += lines[i].length + 1; // +1 for \n
38
+ }
39
+ // Find which line the change ends on
40
+ const endPos = pos + newText.length;
41
+ charCount = 0;
42
+ let endLine = lines.length - 1;
43
+ for (let i = 0; i < lines.length; i++) {
44
+ if (charCount + lines[i].length >= endPos) {
45
+ endLine = i;
46
+ break;
47
+ }
48
+ charCount += lines[i].length + 1;
49
+ }
50
+ const from = Math.max(0, startLine - contextLines);
51
+ const to = Math.min(lines.length - 1, endLine + contextLines);
52
+ const snippetLines = [];
53
+ if (from > 0)
54
+ snippetLines.push('...');
55
+ for (let i = from; i <= to; i++) {
56
+ snippetLines.push(lines[i]);
57
+ }
58
+ if (to < lines.length - 1)
59
+ snippetLines.push('...');
60
+ return snippetLines.join('\n');
61
+ }
62
+ //# sourceMappingURL=hash-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash-utils.js","sourceRoot":"","sources":["../../src/tools/hash-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"read-note.d.ts","sourceRoot":"","sources":["../../src/tools/read-note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,cAAc;;;;;;EAEzB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE3D,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
1
+ {"version":3,"file":"read-note.d.ts","sourceRoot":"","sources":["../../src/tools/read-note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,eAAO,MAAM,cAAc;;;;;;EAEzB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE3D,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,CAAC,CAoBjB"}
@@ -1,9 +1,12 @@
1
1
  import { z } from 'zod';
2
+ import { computeContentHash } from './hash-utils.js';
2
3
  export const readNoteSchema = z.object({
3
4
  slug: z.string().describe('The slug (URL-friendly name) of the note to read'),
4
5
  });
5
6
  export async function readNote(client, input) {
6
7
  const note = await client.getNoteBySlug(input.slug);
8
+ const content = note.content || '';
9
+ const contentHash = content ? computeContentHash(content) : '';
7
10
  const lines = [
8
11
  `# Note: ${note.slug}`,
9
12
  '',
@@ -11,10 +14,11 @@ export async function readNote(client, input) {
11
14
  `- **Permission**: ${note.permission}`,
12
15
  `- **Sharing Mode**: ${note.sharingMode}`,
13
16
  `- **Updated**: ${new Date(note.updatedAt).toLocaleString()}`,
17
+ `- **content_hash**: ${contentHash}`,
14
18
  '',
15
19
  '---',
16
20
  '',
17
- note.content || '(empty note)',
21
+ content || '(empty note)',
18
22
  ];
19
23
  return lines.join('\n');
20
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"read-note.js","sourceRoot":"","sources":["../../src/tools/read-note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CAC9E,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAiB,EACjB,KAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAG;QACZ,WAAW,IAAI,CAAC,IAAI,EAAE;QACtB,EAAE;QACF,aAAa,IAAI,CAAC,EAAE,EAAE;QACtB,qBAAqB,IAAI,CAAC,UAAU,EAAE;QACtC,uBAAuB,IAAI,CAAC,WAAW,EAAE;QACzC,kBAAkB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;QAC7D,EAAE;QACF,KAAK;QACL,EAAE;QACF,IAAI,CAAC,OAAO,IAAI,cAAc;KAC/B,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"read-note.js","sourceRoot":"","sources":["../../src/tools/read-note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CAC9E,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAiB,EACjB,KAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/D,MAAM,KAAK,GAAG;QACZ,WAAW,IAAI,CAAC,IAAI,EAAE;QACtB,EAAE;QACF,aAAa,IAAI,CAAC,EAAE,EAAE;QACtB,qBAAqB,IAAI,CAAC,UAAU,EAAE;QACtC,uBAAuB,IAAI,CAAC,WAAW,EAAE;QACzC,kBAAkB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;QAC7D,uBAAuB,WAAW,EAAE;QACpC,EAAE;QACF,KAAK;QACL,EAAE;QACF,OAAO,IAAI,cAAc;KAC1B,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"read-paper.d.ts","sourceRoot":"","sources":["../../src/tools/read-paper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
1
+ {"version":3,"file":"read-paper.d.ts","sourceRoot":"","sources":["../../src/tools/read-paper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,MAAM,CAAC,CAqBjB"}
@@ -1,9 +1,12 @@
1
1
  import { z } from 'zod';
2
+ import { computeContentHash } from './hash-utils.js';
2
3
  export const readPaperSchema = z.object({
3
4
  slug: z.string().describe('The slug (URL-friendly name) of the paper to read'),
4
5
  });
5
6
  export async function readPaper(client, input) {
6
7
  const paper = await client.getPaperBySlug(input.slug);
8
+ const content = paper.content || '';
9
+ const contentHash = content ? computeContentHash(content) : '';
7
10
  const lines = [
8
11
  `# Paper: ${paper.slug}`,
9
12
  '',
@@ -12,10 +15,11 @@ export async function readPaper(client, input) {
12
15
  `- **Sharing Mode**: ${paper.sharingMode}`,
13
16
  `- **Engine**: ${paper.metadata?.engine || 'pdflatex'}`,
14
17
  `- **Updated**: ${new Date(paper.updatedAt).toLocaleString()}`,
18
+ `- **content_hash**: ${contentHash}`,
15
19
  '',
16
20
  '---',
17
21
  '',
18
- paper.content || '(empty paper)',
22
+ content || '(empty paper)',
19
23
  ];
20
24
  return lines.join('\n');
21
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"read-paper.js","sourceRoot":"","sources":["../../src/tools/read-paper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;CAC/E,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,KAAqB;IAErB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEtD,MAAM,KAAK,GAAG;QACZ,YAAY,KAAK,CAAC,IAAI,EAAE;QACxB,EAAE;QACF,aAAa,KAAK,CAAC,EAAE,EAAE;QACvB,qBAAqB,KAAK,CAAC,UAAU,EAAE;QACvC,uBAAuB,KAAK,CAAC,WAAW,EAAE;QAC1C,iBAAiB,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,UAAU,EAAE;QACvD,kBAAkB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;QAC9D,EAAE;QACF,KAAK;QACL,EAAE;QACF,KAAK,CAAC,OAAO,IAAI,eAAe;KACjC,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"read-paper.js","sourceRoot":"","sources":["../../src/tools/read-paper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;CAC/E,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,KAAqB;IAErB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/D,MAAM,KAAK,GAAG;QACZ,YAAY,KAAK,CAAC,IAAI,EAAE;QACxB,EAAE;QACF,aAAa,KAAK,CAAC,EAAE,EAAE;QACvB,qBAAqB,KAAK,CAAC,UAAU,EAAE;QACvC,uBAAuB,KAAK,CAAC,WAAW,EAAE;QAC1C,iBAAiB,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,UAAU,EAAE;QACvD,kBAAkB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;QAC9D,uBAAuB,WAAW,EAAE;QACpC,EAAE;QACF,KAAK;QACL,EAAE;QACF,OAAO,IAAI,eAAe;KAC3B,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whiteboard-mcp-server",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "MCP server for Whiteboard notes & papers (LaTeX) integration with Claude Code",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",