@nowline/mcp 0.6.0 → 0.7.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/server.js CHANGED
@@ -1,20 +1,84 @@
1
1
  // @nowline/mcp server factory.
2
2
  //
3
- // Creates and configures an McpServer instance with all eight tools and two
4
- // resources (nowline://reference + nowline://examples). The factory is shared
5
- // by the entry-point bin (npx @nowline/mcp) and the CLI's --mcp flag so both
6
- // paths expose an identical surface.
3
+ // Creates and configures an McpServer instance with all tools, resources, and
4
+ // prompts. The factory is shared by the entry-point bin (npx @nowline/mcp)
5
+ // and the CLI's --mcp flag so both paths expose an identical surface.
7
6
  //
8
- // Spec: specs/mcp.md. Plan: export_determinism s8 + s9.
7
+ // Spec: specs/mcp.md.
9
8
  import { promises as fs } from 'node:fs';
10
9
  import * as path from 'node:path';
11
10
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
12
- import { collectDocumentDiagnostics, createNowlineServices } from '@nowline/core';
11
+ import { collectDocumentDiagnostics, createNowlineServices, parseNowlineJson, printNowlineFile, } from '@nowline/core';
13
12
  import { exportDocument, } from '@nowline/export';
14
13
  import { resolveFonts } from '@nowline/export-core';
14
+ import { buildShareLink } from '@nowline/share-link';
15
15
  import { URI } from 'langium';
16
16
  import { z } from 'zod';
17
- import { EXAMPLES, REFERENCE_MAN_PAGE } from './generated/resources.js';
17
+ import { CAPABILITIES } from './capabilities.js';
18
+ import { CONVERSIONS_GUIDE, EXAMPLES, REFERENCE_MAN_PAGE } from './generated/resources.js';
19
+ import { UI_BUNDLE } from './generated/ui-bundle.js';
20
+ import { registerPrompts } from './prompts.js';
21
+ import { CapabilitiesOutputSchema, ConvertOutputSchema, CreateOutputSchema, DeleteOutputSchema, ExportOutputSchema, ListItemsOutputSchema, ListOutputSchema, ReadOutputSchema, RenderOutputSchema, UpdateOutputSchema, ValidateOutputSchema, } from './schemas.js';
22
+ // ---- MCP Apps UI (in-chat live preview) -------------------------------------
23
+ //
24
+ // The MCP Apps extension (SEP-1865) lets a tool return an interactive HTML
25
+ // resource the host renders in a sandboxed iframe. We use the embedded-resource
26
+ // form: `render` returns a self-contained text/html resource that inlines the
27
+ // browser preview bundle (UI_BUNDLE, the @nowline/browser + @nowline/preview-
28
+ // shell pipeline) plus the injected source. It is emitted only when the client
29
+ // advertises the UI extension capability or the caller passes `preview: true`,
30
+ // so plain stdio operation is unchanged and non-UI hosts still receive the
31
+ // SVG/PNG content block alongside it (graceful degradation).
32
+ /** SEP-1865 UI extension capability id; also probed under common short keys. */
33
+ const MCP_APPS_UI_CAPABILITY = 'io.modelcontextprotocol/ui';
34
+ const PREVIEW_UI_URI = 'ui://nowline/preview';
35
+ /** SEP-1865 mandates the text/html;profile=mcp-app media type for UI resources. */
36
+ const PREVIEW_UI_MIME = 'text/html;profile=mcp-app';
37
+ function clientSupportsAppsUi(server) {
38
+ // Extension capabilities are negotiated under `experimental` in SDK 1.29
39
+ // (it does not yet model SEP-1724 extensions as a first-class field), so
40
+ // probe the canonical id plus the short `ui` / `apps` aliases some hosts use.
41
+ const experimental = server.server.getClientCapabilities()?.experimental;
42
+ if (!experimental)
43
+ return false;
44
+ return Boolean(experimental[MCP_APPS_UI_CAPABILITY] || experimental.ui || experimental.apps);
45
+ }
46
+ function buildPreviewHtml(payload) {
47
+ // The payload (including the .nowline source) is injected as a JSON
48
+ // <script> block rather than interpolated into executable JS, so source
49
+ // text with quotes/backticks can't break out. Escaping `<` as \u003c keeps
50
+ // any embedded "</script>" from closing the block early; JSON.parse in the
51
+ // bundle decodes it back. The bundle injects its own stylesheet at runtime,
52
+ // so only the root-element sizing CSS is inlined here.
53
+ const data = JSON.stringify(payload).replace(/</g, '\\u003c');
54
+ return [
55
+ '<!doctype html>',
56
+ '<html lang="en">',
57
+ '<head>',
58
+ '<meta charset="utf-8" />',
59
+ '<meta name="viewport" content="width=device-width, initial-scale=1" />',
60
+ '<title>Nowline preview</title>',
61
+ '<style>html,body,#nl-preview-root{margin:0;padding:0;height:100%;width:100%;overflow:hidden;}</style>',
62
+ '</head>',
63
+ '<body>',
64
+ '<div id="nl-preview-root"></div>',
65
+ `<script id="nl-preview-data" type="application/json">${data}</script>`,
66
+ `<script>${UI_BUNDLE}</script>`,
67
+ '</body>',
68
+ '</html>',
69
+ '',
70
+ ].join('\n');
71
+ }
72
+ function previewResourceBlock(payload) {
73
+ return {
74
+ type: 'resource',
75
+ resource: {
76
+ uri: PREVIEW_UI_URI,
77
+ mimeType: PREVIEW_UI_MIME,
78
+ text: buildPreviewHtml(payload),
79
+ },
80
+ };
81
+ }
18
82
  function collectMcpDiagnostics(doc, filePath) {
19
83
  const raw = collectDocumentDiagnostics(doc);
20
84
  const out = [];
@@ -84,7 +148,6 @@ function createNodeHostEnv(sourcePath) {
84
148
  return new Uint8Array(bytes.buffer, bytes.byteOffset, bytes.byteLength);
85
149
  },
86
150
  async loadWasm() {
87
- // Resolve resvg.wasm relative to @nowline/export-png/dist/ at runtime.
88
151
  const { createRequire } = await import('node:module');
89
152
  const req = createRequire(import.meta.url);
90
153
  const entry = req.resolve('@resvg/resvg-wasm');
@@ -115,7 +178,7 @@ export function createMcpServer(opts = {}) {
115
178
  const allowedRoot = opts.allowedRoot ?? process.cwd();
116
179
  const server = new McpServer({
117
180
  name: opts.name ?? 'nowline',
118
- version: opts.version ?? '0.5.1',
181
+ version: opts.version ?? '0.6.0',
119
182
  });
120
183
  // ---- Resources ----------------------------------------------------------
121
184
  server.registerResource('nowline-reference', 'nowline://reference', {
@@ -136,6 +199,20 @@ export function createMcpServer(opts = {}) {
136
199
  mimeType: 'text/plain',
137
200
  })),
138
201
  }));
202
+ server.registerResource('nowline-conversions', 'nowline://conversions', {
203
+ description: 'LLM-mediated conversion guide: how to translate Mermaid gantt, MS Project, Excel, Google Sheets timeline, and generic CSV into Nowline DSL.',
204
+ mimeType: 'text/plain',
205
+ }, async () => ({
206
+ contents: [
207
+ {
208
+ uri: 'nowline://conversions',
209
+ text: CONVERSIONS_GUIDE,
210
+ mimeType: 'text/plain',
211
+ },
212
+ ],
213
+ }));
214
+ // ---- Prompts ------------------------------------------------------------
215
+ registerPrompts(server);
139
216
  // ---- validate -----------------------------------------------------------
140
217
  server.registerTool('validate', {
141
218
  description: 'Parse and validate a .nowline roadmap. Returns ok=true and an empty diagnostics array if valid, or ok=false with structured diagnostics.',
@@ -146,13 +223,17 @@ export function createMcpServer(opts = {}) {
146
223
  .optional()
147
224
  .describe('Absolute or relative path to a .nowline file to validate.'),
148
225
  }),
226
+ outputSchema: ValidateOutputSchema,
227
+ annotations: { readOnlyHint: true, idempotentHint: true },
149
228
  }, async (args) => {
150
229
  const { source, filePath } = await sourceAndPath(args, allowedRoot);
151
230
  const doc = await buildDocument(source);
152
231
  const diagnostics = collectMcpDiagnostics(doc, filePath);
153
232
  const ok = diagnostics.every((d) => d.severity !== 'error');
233
+ const structured = { ok, diagnostics };
154
234
  return {
155
- content: [{ type: 'text', text: JSON.stringify({ ok, diagnostics }, null, 2) }],
235
+ content: [{ type: 'text', text: JSON.stringify(structured, null, 2) }],
236
+ structuredContent: structured,
156
237
  };
157
238
  });
158
239
  // ---- read ---------------------------------------------------------------
@@ -163,16 +244,15 @@ export function createMcpServer(opts = {}) {
163
244
  .string()
164
245
  .describe('Absolute or relative path to the .nowline file to read.'),
165
246
  }),
247
+ outputSchema: ReadOutputSchema,
248
+ annotations: { readOnlyHint: true, idempotentHint: true },
166
249
  }, async (args) => {
167
250
  const abs = resolveAndGuard(args.path, allowedRoot);
168
251
  const source = await fs.readFile(abs, 'utf-8');
252
+ const structured = { path: abs, source };
169
253
  return {
170
- content: [
171
- {
172
- type: 'text',
173
- text: JSON.stringify({ path: abs, source }, null, 2),
174
- },
175
- ],
254
+ content: [{ type: 'text', text: JSON.stringify(structured, null, 2) }],
255
+ structuredContent: structured,
176
256
  };
177
257
  });
178
258
  // ---- create -------------------------------------------------------------
@@ -182,6 +262,9 @@ export function createMcpServer(opts = {}) {
182
262
  path: z.string().describe('Absolute or relative path to write the .nowline file.'),
183
263
  source: z.string().describe('The .nowline source text to write.'),
184
264
  }),
265
+ outputSchema: CreateOutputSchema,
266
+ // Overwrites silently → destructive; same source always produces same file → idempotent.
267
+ annotations: { destructiveHint: true, idempotentHint: true },
185
268
  }, async (args) => {
186
269
  const abs = resolveAndGuard(args.path, allowedRoot);
187
270
  const doc = await buildDocument(args.source);
@@ -200,8 +283,10 @@ export function createMcpServer(opts = {}) {
200
283
  }
201
284
  await fs.mkdir(path.dirname(abs), { recursive: true });
202
285
  await fs.writeFile(abs, args.source, 'utf-8');
286
+ const structured = { ok: true, path: abs };
203
287
  return {
204
- content: [{ type: 'text', text: JSON.stringify({ ok: true, path: abs }, null, 2) }],
288
+ content: [{ type: 'text', text: JSON.stringify(structured, null, 2) }],
289
+ structuredContent: structured,
205
290
  };
206
291
  });
207
292
  // ---- update -------------------------------------------------------------
@@ -213,6 +298,8 @@ export function createMcpServer(opts = {}) {
213
298
  .describe('Absolute or relative path of the .nowline file to update.'),
214
299
  source: z.string().describe('The new .nowline source text.'),
215
300
  }),
301
+ outputSchema: UpdateOutputSchema,
302
+ annotations: { idempotentHint: true },
216
303
  }, async (args) => {
217
304
  const abs = resolveAndGuard(args.path, allowedRoot);
218
305
  const doc = await buildDocument(args.source);
@@ -230,8 +317,10 @@ export function createMcpServer(opts = {}) {
230
317
  };
231
318
  }
232
319
  await fs.writeFile(abs, args.source, 'utf-8');
320
+ const structured = { ok: true, path: abs };
233
321
  return {
234
- content: [{ type: 'text', text: JSON.stringify({ ok: true, path: abs }, null, 2) }],
322
+ content: [{ type: 'text', text: JSON.stringify(structured, null, 2) }],
323
+ structuredContent: structured,
235
324
  };
236
325
  });
237
326
  // ---- delete -------------------------------------------------------------
@@ -242,11 +331,15 @@ export function createMcpServer(opts = {}) {
242
331
  .string()
243
332
  .describe('Absolute or relative path of the .nowline file to delete.'),
244
333
  }),
334
+ outputSchema: DeleteOutputSchema,
335
+ annotations: { destructiveHint: true },
245
336
  }, async (args) => {
246
337
  const abs = resolveAndGuard(args.path, allowedRoot);
247
338
  await fs.unlink(abs);
339
+ const structured = { path: abs };
248
340
  return {
249
- content: [{ type: 'text', text: JSON.stringify({ path: abs }, null, 2) }],
341
+ content: [{ type: 'text', text: JSON.stringify(structured, null, 2) }],
342
+ structuredContent: structured,
250
343
  };
251
344
  });
252
345
  // ---- list ---------------------------------------------------------------
@@ -262,12 +355,16 @@ export function createMcpServer(opts = {}) {
262
355
  .optional()
263
356
  .describe('Whether to scan subdirectories. Defaults to false.'),
264
357
  }),
358
+ outputSchema: ListOutputSchema,
359
+ annotations: { readOnlyHint: true, idempotentHint: true },
265
360
  }, async (args) => {
266
361
  const dir = args.directory ? resolveAndGuard(args.directory, allowedRoot) : allowedRoot;
267
362
  const recursive = args.recursive ?? false;
268
363
  const paths = await listNowlineFiles(dir, recursive);
364
+ const structured = { paths };
269
365
  return {
270
- content: [{ type: 'text', text: JSON.stringify({ paths }, null, 2) }],
366
+ content: [{ type: 'text', text: JSON.stringify(structured, null, 2) }],
367
+ structuredContent: structured,
271
368
  };
272
369
  });
273
370
  // ---- render -------------------------------------------------------------
@@ -297,7 +394,17 @@ export function createMcpServer(opts = {}) {
297
394
  .string()
298
395
  .optional()
299
396
  .describe('Write output to this path instead of returning inline.'),
397
+ share: z
398
+ .boolean()
399
+ .optional()
400
+ .describe('When true, include a shareUrl pointing to https://free.nowline.io/open.'),
401
+ preview: z
402
+ .boolean()
403
+ .optional()
404
+ .describe('When true, also return an interactive in-chat HTML preview (MCP Apps UI). Auto-enabled when the client advertises MCP Apps UI support.'),
300
405
  }),
406
+ outputSchema: RenderOutputSchema,
407
+ annotations: { readOnlyHint: true, idempotentHint: true },
301
408
  }, async (args) => {
302
409
  const { source, filePath } = await sourceAndPath(args, allowedRoot);
303
410
  const format = args.format ?? 'svg';
@@ -316,20 +423,39 @@ export function createMcpServer(opts = {}) {
316
423
  }
317
424
  const host = createNodeHostEnv(filePath);
318
425
  const bytes = await exportDocument(source, format, inputs, host);
426
+ const shareUrl = args.share
427
+ ? (buildShareLink({ source, share: true }) ?? undefined)
428
+ : undefined;
429
+ // Optional MCP Apps in-chat preview. Emitted alongside the normal
430
+ // content so non-UI hosts still get the SVG/PNG; the bundle renders
431
+ // the live SVG itself, so the preview is format-agnostic.
432
+ const wantPreview = args.preview === true || clientSupportsAppsUi(server);
433
+ const previewBlocks = wantPreview
434
+ ? [
435
+ previewResourceBlock({
436
+ source,
437
+ theme: args.theme,
438
+ now: args.now,
439
+ width: args.width,
440
+ locale: 'en-US',
441
+ }),
442
+ ]
443
+ : [];
319
444
  if (args.output) {
320
445
  const outAbs = resolveAndGuard(args.output, allowedRoot);
321
446
  await fs.mkdir(path.dirname(outAbs), { recursive: true });
322
447
  await fs.writeFile(outAbs, bytes);
448
+ const structured = { format, path: outAbs, bytes: bytes.byteLength, shareUrl };
323
449
  return {
324
450
  content: [
325
- {
326
- type: 'text',
327
- text: JSON.stringify({ path: outAbs, bytes: bytes.byteLength }),
328
- },
451
+ { type: 'text', text: JSON.stringify(structured, null, 2) },
452
+ ...previewBlocks,
329
453
  ],
454
+ structuredContent: structured,
330
455
  };
331
456
  }
332
457
  if (format === 'png') {
458
+ const structured = { format, bytes: bytes.byteLength, shareUrl };
333
459
  return {
334
460
  content: [
335
461
  {
@@ -337,17 +463,19 @@ export function createMcpServer(opts = {}) {
337
463
  data: Buffer.from(bytes).toString('base64'),
338
464
  mimeType: 'image/png',
339
465
  },
466
+ ...previewBlocks,
340
467
  ],
468
+ structuredContent: structured,
341
469
  };
342
470
  }
471
+ const svgText = new TextDecoder('utf-8').decode(bytes);
472
+ const structured = { format, shareUrl };
343
473
  return {
344
474
  content: [
345
- {
346
- type: 'text',
347
- text: new TextDecoder('utf-8').decode(bytes),
348
- mimeType: 'image/svg+xml',
349
- },
475
+ { type: 'text', text: svgText, mimeType: 'image/svg+xml' },
476
+ ...previewBlocks,
350
477
  ],
478
+ structuredContent: structured,
351
479
  };
352
480
  });
353
481
  // ---- export -------------------------------------------------------------
@@ -377,7 +505,13 @@ export function createMcpServer(opts = {}) {
377
505
  .string()
378
506
  .optional()
379
507
  .describe('MS Project start date override (YYYY-MM-DD).'),
508
+ share: z
509
+ .boolean()
510
+ .optional()
511
+ .describe('When true, include a shareUrl pointing to https://free.nowline.io/open.'),
380
512
  }),
513
+ outputSchema: ExportOutputSchema,
514
+ annotations: { readOnlyHint: true, idempotentHint: true },
381
515
  }, async (args) => {
382
516
  const { source, filePath } = await sourceAndPath(args, allowedRoot);
383
517
  const format = args.format;
@@ -399,19 +533,19 @@ export function createMcpServer(opts = {}) {
399
533
  }
400
534
  const host = createNodeHostEnv(filePath);
401
535
  const bytes = await exportDocument(source, format, inputs, host);
536
+ const shareUrl = args.share
537
+ ? (buildShareLink({ source, share: true }) ?? undefined)
538
+ : undefined;
402
539
  const BINARY_FORMATS = new Set(['png', 'pdf', 'xlsx']);
403
540
  const isBinary = BINARY_FORMATS.has(format);
404
541
  if (args.output) {
405
542
  const outAbs = resolveAndGuard(args.output, allowedRoot);
406
543
  await fs.mkdir(path.dirname(outAbs), { recursive: true });
407
544
  await fs.writeFile(outAbs, bytes);
545
+ const structured = { format, path: outAbs, bytes: bytes.byteLength, shareUrl };
408
546
  return {
409
- content: [
410
- {
411
- type: 'text',
412
- text: JSON.stringify({ path: outAbs, bytes: bytes.byteLength }),
413
- },
414
- ],
547
+ content: [{ type: 'text', text: JSON.stringify(structured, null, 2) }],
548
+ structuredContent: structured,
415
549
  };
416
550
  }
417
551
  if (isBinary) {
@@ -420,6 +554,7 @@ export function createMcpServer(opts = {}) {
420
554
  pdf: 'application/pdf',
421
555
  xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
422
556
  };
557
+ const structured = { format, bytes: bytes.byteLength, shareUrl };
423
558
  return {
424
559
  content: [
425
560
  {
@@ -428,15 +563,143 @@ export function createMcpServer(opts = {}) {
428
563
  mimeType: mimeMap[format] ?? 'application/octet-stream',
429
564
  },
430
565
  ],
566
+ structuredContent: structured,
431
567
  };
432
568
  }
569
+ const text = new TextDecoder('utf-8').decode(bytes);
570
+ const structured = { format, shareUrl };
433
571
  return {
434
- content: [
435
- {
436
- type: 'text',
437
- text: new TextDecoder('utf-8').decode(bytes),
438
- },
439
- ],
572
+ content: [{ type: 'text', text }],
573
+ structuredContent: structured,
574
+ };
575
+ });
576
+ // ---- convert ------------------------------------------------------------
577
+ server.registerTool('convert', {
578
+ description: 'Convert between .nowline source text and its JSON AST representation. `to:json` serializes a .nowline file to the JSON AST; `to:nowline` pretty-prints a JSON AST back to canonical .nowline source.',
579
+ inputSchema: z.object({
580
+ source: z.string().optional().describe('Inline source text to convert.'),
581
+ path: z.string().optional().describe('Path to the source file.'),
582
+ to: z
583
+ .enum(['json', 'nowline'])
584
+ .describe('"json" — serialize .nowline text to JSON AST. "nowline" — pretty-print a JSON AST back to .nowline source.'),
585
+ }),
586
+ outputSchema: ConvertOutputSchema,
587
+ annotations: { readOnlyHint: true, idempotentHint: true },
588
+ }, async (args) => {
589
+ if (args.to === 'json') {
590
+ const { source, filePath } = await sourceAndPath(args, allowedRoot);
591
+ const host = createNodeHostEnv(filePath);
592
+ const jsonBytes = await exportDocument(source, 'json', {
593
+ sourcePath: filePath,
594
+ today: todayUtc(),
595
+ locale: 'en-US',
596
+ theme: 'light',
597
+ }, host);
598
+ const result = new TextDecoder('utf-8').decode(jsonBytes);
599
+ const structured = { to: 'json', result };
600
+ return {
601
+ content: [{ type: 'text', text: result }],
602
+ structuredContent: structured,
603
+ };
604
+ }
605
+ // to: 'nowline' — input is a JSON AST string
606
+ const jsonSource = args.source ??
607
+ (args.path
608
+ ? await fs.readFile(resolveAndGuard(args.path, allowedRoot), 'utf-8')
609
+ : null);
610
+ if (!jsonSource) {
611
+ throw new Error('At least one of `source` or `path` is required.');
612
+ }
613
+ const { ast } = parseNowlineJson(jsonSource, args.path ?? 'input.json');
614
+ const result = printNowlineFile(ast);
615
+ const structured = { to: 'nowline', result };
616
+ return {
617
+ content: [{ type: 'text', text: result }],
618
+ structuredContent: structured,
619
+ };
620
+ });
621
+ // ---- capabilities -------------------------------------------------------
622
+ server.registerTool('capabilities', {
623
+ description: 'Return all supported themes, icons, locales, export formats, and template names in a single response.',
624
+ inputSchema: z.object({}),
625
+ outputSchema: CapabilitiesOutputSchema,
626
+ annotations: { readOnlyHint: true, idempotentHint: true },
627
+ }, async () => {
628
+ const structured = {
629
+ themes: [...CAPABILITIES.themes],
630
+ icons: [...CAPABILITIES.icons],
631
+ locales: [...CAPABILITIES.locales],
632
+ formats: [...CAPABILITIES.formats],
633
+ templates: [...CAPABILITIES.templates],
634
+ };
635
+ return {
636
+ content: [{ type: 'text', text: JSON.stringify(structured, null, 2) }],
637
+ structuredContent: structured,
638
+ };
639
+ });
640
+ // ---- list-themes --------------------------------------------------------
641
+ server.registerTool('list-themes', {
642
+ description: 'List supported color themes: light, dark, grayscale.',
643
+ inputSchema: z.object({}),
644
+ outputSchema: ListItemsOutputSchema,
645
+ annotations: { readOnlyHint: true, idempotentHint: true },
646
+ }, async () => {
647
+ const structured = { items: [...CAPABILITIES.themes] };
648
+ return {
649
+ content: [{ type: 'text', text: JSON.stringify(structured, null, 2) }],
650
+ structuredContent: structured,
651
+ };
652
+ });
653
+ // ---- list-icons ---------------------------------------------------------
654
+ server.registerTool('list-icons', {
655
+ description: 'List built-in capacity-icon names usable in the `capacity-icon:` style property.',
656
+ inputSchema: z.object({}),
657
+ outputSchema: ListItemsOutputSchema,
658
+ annotations: { readOnlyHint: true, idempotentHint: true },
659
+ }, async () => {
660
+ const structured = { items: [...CAPABILITIES.icons] };
661
+ return {
662
+ content: [{ type: 'text', text: JSON.stringify(structured, null, 2) }],
663
+ structuredContent: structured,
664
+ };
665
+ });
666
+ // ---- list-locales -------------------------------------------------------
667
+ server.registerTool('list-locales', {
668
+ description: 'List supported BCP-47 locale tags.',
669
+ inputSchema: z.object({}),
670
+ outputSchema: ListItemsOutputSchema,
671
+ annotations: { readOnlyHint: true, idempotentHint: true },
672
+ }, async () => {
673
+ const structured = { items: [...CAPABILITIES.locales] };
674
+ return {
675
+ content: [{ type: 'text', text: JSON.stringify(structured, null, 2) }],
676
+ structuredContent: structured,
677
+ };
678
+ });
679
+ // ---- list-formats -------------------------------------------------------
680
+ server.registerTool('list-formats', {
681
+ description: 'List all supported export formats (svg, png, pdf, html, mermaid, xlsx, msproj, json).',
682
+ inputSchema: z.object({}),
683
+ outputSchema: ListItemsOutputSchema,
684
+ annotations: { readOnlyHint: true, idempotentHint: true },
685
+ }, async () => {
686
+ const structured = { items: [...CAPABILITIES.formats] };
687
+ return {
688
+ content: [{ type: 'text', text: JSON.stringify(structured, null, 2) }],
689
+ structuredContent: structured,
690
+ };
691
+ });
692
+ // ---- list-templates -----------------------------------------------------
693
+ server.registerTool('list-templates', {
694
+ description: 'List built-in template names usable with `nowline --init --template`.',
695
+ inputSchema: z.object({}),
696
+ outputSchema: ListItemsOutputSchema,
697
+ annotations: { readOnlyHint: true, idempotentHint: true },
698
+ }, async () => {
699
+ const structured = { items: [...CAPABILITIES.templates] };
700
+ return {
701
+ content: [{ type: 'text', text: JSON.stringify(structured, null, 2) }],
702
+ structuredContent: structured,
440
703
  };
441
704
  });
442
705
  return server;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/ui/entry.ts"],"names":[],"mappings":""}