@nowline/mcp 0.8.5 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/branding.d.ts +3 -3
  2. package/dist/branding.js +3 -3
  3. package/dist/capabilities.d.ts.map +1 -1
  4. package/dist/capabilities.js +2 -9
  5. package/dist/capabilities.js.map +1 -1
  6. package/dist/diagnostics.d.ts +46 -18
  7. package/dist/diagnostics.d.ts.map +1 -1
  8. package/dist/diagnostics.js +77 -25
  9. package/dist/diagnostics.js.map +1 -1
  10. package/dist/generated/resources.d.ts.map +1 -1
  11. package/dist/generated/resources.js +15 -3
  12. package/dist/generated/resources.js.map +1 -1
  13. package/dist/generated/ui-bundle.d.ts.map +1 -1
  14. package/dist/generated/ui-bundle.js +2 -2
  15. package/dist/generated/ui-bundle.js.map +1 -1
  16. package/dist/http.d.ts +4 -0
  17. package/dist/http.d.ts.map +1 -0
  18. package/dist/http.js +23 -0
  19. package/dist/http.js.map +1 -0
  20. package/dist/index.js +7 -13
  21. package/dist/index.js.map +1 -1
  22. package/dist/options.d.ts +26 -0
  23. package/dist/options.d.ts.map +1 -0
  24. package/dist/options.js +55 -0
  25. package/dist/options.js.map +1 -0
  26. package/dist/prompts.d.ts +1 -1
  27. package/dist/prompts.d.ts.map +1 -1
  28. package/dist/prompts.js +6 -6
  29. package/dist/prompts.js.map +1 -1
  30. package/dist/reference-cheatsheet.d.ts +1 -1
  31. package/dist/reference-cheatsheet.d.ts.map +1 -1
  32. package/dist/reference-cheatsheet.js +27 -2
  33. package/dist/reference-cheatsheet.js.map +1 -1
  34. package/dist/schema-vocab.d.ts +5 -3
  35. package/dist/schema-vocab.d.ts.map +1 -1
  36. package/dist/schema-vocab.js +9 -0
  37. package/dist/schema-vocab.js.map +1 -1
  38. package/dist/schemas.d.ts +9 -7
  39. package/dist/schemas.d.ts.map +1 -1
  40. package/dist/schemas.js +2 -0
  41. package/dist/schemas.js.map +1 -1
  42. package/dist/server.d.ts +1 -1
  43. package/dist/server.d.ts.map +1 -1
  44. package/dist/server.js +151 -59
  45. package/dist/server.js.map +1 -1
  46. package/dist/ui/entry.js +5 -12
  47. package/dist/ui/entry.js.map +1 -1
  48. package/dist/ui/payload.d.ts +14 -0
  49. package/dist/ui/payload.d.ts.map +1 -1
  50. package/dist/ui/payload.js +23 -0
  51. package/dist/ui/payload.js.map +1 -1
  52. package/package.json +24 -17
  53. package/src/branding.ts +3 -3
  54. package/src/capabilities.ts +4 -2
  55. package/src/diagnostics.ts +99 -39
  56. package/src/generated/resources.ts +15 -3
  57. package/src/generated/ui-bundle.ts +2 -2
  58. package/src/http.ts +28 -0
  59. package/src/index.ts +7 -14
  60. package/src/options.ts +79 -0
  61. package/src/prompts.ts +7 -7
  62. package/src/reference-cheatsheet.ts +27 -2
  63. package/src/schema-vocab.ts +9 -0
  64. package/src/schemas.ts +2 -0
  65. package/src/server.ts +200 -60
  66. package/src/ui/entry.ts +6 -11
  67. package/src/ui/payload.ts +26 -0
package/dist/server.js CHANGED
@@ -8,17 +8,19 @@
8
8
  import { promises as fs } from 'node:fs';
9
9
  import * as path from 'node:path';
10
10
  import { getUiCapability, RESOURCE_MIME_TYPE, registerAppResource, registerAppTool, } from '@modelcontextprotocol/ext-apps/server';
11
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
11
+ import { McpServer } from '@modelcontextprotocol/server';
12
12
  import { parseNowlineJson, printNowlineFile } from '@nowline/core';
13
- import { exportDocument, } from '@nowline/export';
13
+ import { acceptStagedRoadmap, exportDocument, exportStaged, IncludeResolveError, } from '@nowline/export';
14
14
  import { resolveFonts } from '@nowline/export-core';
15
+ import { NON_WORKING_DISPLAYS, THEME_NAMES } from '@nowline/layout';
15
16
  import { buildShareLink } from '@nowline/share-link';
16
17
  import { z } from 'zod';
17
18
  import { NOWLINE_MCP_ICONS } from './branding.js';
18
19
  import { CAPABILITIES } from './capabilities.js';
19
- import { buildDocument, collectMcpDiagnostics, collectMcpLayoutInsights, DEFAULT_RENDER_WIDTH, diagnosticsErrorBlock, handleToolError, InputRequiredError, LAYOUT_INSIGHT_HINT, PathOutsideRootError, REVIEW_MAX_WIDTH, toolDescriptionWithSyntax, } from './diagnostics.js';
20
+ import { buildDocument, collectMcpDiagnostics, DEFAULT_RENDER_WIDTH, diagnosticsErrorBlock, diagnosticsErrorResponse, handleToolError, InputRequiredError, includeDiagnosticsResponse, LAYOUT_INSIGHT_HINT, layoutInsightsFromStage, PathOutsideRootError, REVIEW_MAX_WIDTH, routedResolveDiagnosticsToMcp, stageMcpRoadmap, stageRoutedDiagnostics, toolDescriptionWithSyntax, } from './diagnostics.js';
20
21
  import { CONVERSIONS_GUIDE, EXAMPLES, REFERENCE_MAN_PAGE, } from './generated/resources.js';
21
22
  import { PREVIEW_HTML } from './generated/ui-bundle.js';
23
+ import { resolveMcpOptions } from './options.js';
22
24
  import { registerPrompts } from './prompts.js';
23
25
  import { REFERENCE_CHEATSHEET } from './reference-cheatsheet.js';
24
26
  import { SCHEMA_VOCABULARY } from './schema-vocab.js';
@@ -46,6 +48,18 @@ function clientSupportsAppsUi(server) {
46
48
  const buckets = [caps.extensions, caps.experimental].filter((bucket) => Boolean(bucket));
47
49
  return buckets.some((bucket) => Boolean(bucket[MCP_APPS_UI_CAPABILITY] || bucket.ui || bucket.apps));
48
50
  }
51
+ /**
52
+ * The preview payload's now-line. An explicit `now` passes through. With only a
53
+ * `timezone`, the payload carries the date that zone resolved to: the preview
54
+ * draws an omitted `now` at the viewer's own date and cannot read the zone.
55
+ */
56
+ function previewNow(args, today) {
57
+ if (args.now !== undefined)
58
+ return args.now;
59
+ if (args.timezone !== undefined && today)
60
+ return today.toISOString().slice(0, 10);
61
+ return undefined;
62
+ }
49
63
  function leanPreviewBlock(payload) {
50
64
  return {
51
65
  type: 'text',
@@ -55,6 +69,7 @@ function leanPreviewBlock(payload) {
55
69
  theme: payload.theme,
56
70
  now: payload.now,
57
71
  width: payload.width,
72
+ nonWorking: payload.nonWorking,
58
73
  locale: payload.locale,
59
74
  }),
60
75
  };
@@ -112,10 +127,6 @@ function createNodeHostEnv(sourcePath) {
112
127
  };
113
128
  }
114
129
  // ---- Helpers ----------------------------------------------------------------
115
- function todayUtc() {
116
- const now = new Date();
117
- return new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate()));
118
- }
119
130
  function exampleShortName(fullName) {
120
131
  return fullName.endsWith('.nowline') ? fullName.slice(0, -'.nowline'.length) : fullName;
121
132
  }
@@ -206,6 +217,31 @@ export function createMcpServer(opts = {}) {
206
217
  }));
207
218
  // ---- Prompts ------------------------------------------------------------
208
219
  registerPrompts(server);
220
+ const nonWorkingSchema = z
221
+ .enum(NON_WORKING_DISPLAYS)
222
+ .optional()
223
+ .describe("How a business calendar's non-working days appear: hide collapses them, " +
224
+ "show draws them as shaded bands. Overrides the file's `default roadmap non-working:` key; " +
225
+ 'omit to let the key apply (then hide). The schedule exports (mermaid, msproj, xlsx) are the same either way.');
226
+ // A string, not an enum, so `Greyscale` and the `greyscale` alias reach
227
+ // `resolveMcpOptions`, which rejects an unknown name with the theme list.
228
+ const themeSchema = z
229
+ .string()
230
+ .optional()
231
+ .describe(`Color theme: ${THEME_NAMES.join(', ')} ("greyscale" is accepted). Defaults to light.`);
232
+ const nowSchema = z
233
+ .string()
234
+ .regex(/^(\d{4}-\d{2}-\d{2}|-)$/, 'Expected YYYY-MM-DD or "-".')
235
+ .optional()
236
+ .describe("Now-line date as YYYY-MM-DD. Omit to draw it at today's date in `timezone` " +
237
+ "(the server's local zone when `timezone` is omitted too); " +
238
+ 'pass "-" to suppress the now-line (same as the CLI\'s `--now -`).');
239
+ const timezoneSchema = z
240
+ .string()
241
+ .optional()
242
+ .describe("Timezone that decides today's date when `now` is omitted (ignored when `now` is a date): " +
243
+ '"local" (the default), "UTC", an ISO 8601 offset ("+05:30", "-07:00", "Z"), ' +
244
+ 'or an IANA name ("America/Los_Angeles"). The same forms as the CLI\'s `--timezone`.');
209
245
  // ---- validate -----------------------------------------------------------
210
246
  server.registerTool('validate', {
211
247
  description: toolDescriptionWithSyntax('Parse and validate a .nowline roadmap. Returns ok=true with optional layout insights when valid, or ok=false with structured diagnostics.'),
@@ -215,25 +251,34 @@ export function createMcpServer(opts = {}) {
215
251
  .string()
216
252
  .optional()
217
253
  .describe('Absolute or relative path to a .nowline file to validate.'),
254
+ now: nowSchema,
255
+ timezone: timezoneSchema,
218
256
  }),
219
257
  outputSchema: ValidateOutputSchema,
220
258
  annotations: readOnlyTool('Validate Roadmap'),
221
259
  }, async (args) => {
222
260
  try {
261
+ const { options } = resolveMcpOptions(args);
223
262
  const { source, filePath } = await sourceAndPath(args, allowedRoot);
224
263
  const doc = await buildDocument(source);
225
264
  const diagnostics = collectMcpDiagnostics(doc, filePath);
226
- const ok = diagnostics.every((d) => d.severity !== 'error');
227
- const insights = ok
228
- ? await collectMcpLayoutInsights({
229
- source,
230
- filePath,
231
- today: todayUtc(),
265
+ // One stage: the routed (wave-rule) include diagnostics join
266
+ // the validator's, with the file and line they point into
267
+ // (specs/waves.md §6.1), and the insights come from the same
268
+ // layout, logo included.
269
+ let insights = [];
270
+ if (diagnostics.every((d) => d.severity !== 'error')) {
271
+ const stage = await stageMcpRoadmap(doc, source, {
272
+ sourcePath: filePath,
273
+ today: options.today,
232
274
  locale: 'en-US',
233
- readFile: createNodeHostEnv(filePath).readSource,
234
- doc,
235
- })
236
- : [];
275
+ theme: 'light',
276
+ }, createNodeHostEnv(filePath));
277
+ diagnostics.push(...stageRoutedDiagnostics(stage));
278
+ if (stage.kind === 'staged')
279
+ insights = layoutInsightsFromStage(stage);
280
+ }
281
+ const ok = diagnostics.every((d) => d.severity !== 'error');
237
282
  const structured = {
238
283
  ok,
239
284
  diagnostics,
@@ -412,15 +457,14 @@ export function createMcpServer(opts = {}) {
412
457
  .enum(['svg', 'png'])
413
458
  .optional()
414
459
  .describe('Output format. Defaults to svg.'),
415
- theme: z
416
- .enum(['light', 'dark', 'grayscale'])
417
- .optional()
418
- .describe('Color theme. Defaults to light.'),
419
- now: z
420
- .string()
460
+ theme: themeSchema,
461
+ now: nowSchema,
462
+ timezone: timezoneSchema,
463
+ width: z
464
+ .number()
421
465
  .optional()
422
- .describe('Now-line date as YYYY-MM-DD (UTC). Omit to suppress.'),
423
- width: z.number().optional().describe('Canvas width in px.'),
466
+ .describe('Maximum canvas width in px, an integer of at least 320. Unset fits the content; a wider roadmap shrinks its timeline to fit.'),
467
+ nonWorking: nonWorkingSchema,
424
468
  scale: z
425
469
  .number()
426
470
  .optional()
@@ -438,7 +482,8 @@ export function createMcpServer(opts = {}) {
438
482
  preview: z
439
483
  .boolean()
440
484
  .optional()
441
- .describe('When true, force the in-chat MCP Apps preview. On MCP Apps hosts the preview auto-renders via _meta.ui without this flag.'),
485
+ .describe('When true, force the in-chat MCP Apps preview; when false, return inline output even on an MCP Apps host. ' +
486
+ 'Omit to follow the host: on MCP Apps hosts the preview auto-renders via _meta.ui.'),
442
487
  }),
443
488
  outputSchema: RenderOutputSchema,
444
489
  annotations: readOnlyTool('Render Roadmap'),
@@ -450,6 +495,14 @@ export function createMcpServer(opts = {}) {
450
495
  // Only the filesystem touchpoints (reading the input, writing the
451
496
  // output) map to structured NL.MCP.* errors; a kernel render fault
452
497
  // bubbles unchanged so it is never mislabeled as a path/IO failure.
498
+ let resolved;
499
+ try {
500
+ resolved = resolveMcpOptions(args);
501
+ }
502
+ catch (err) {
503
+ return handleToolError(err);
504
+ }
505
+ const { theme, options } = resolved;
453
506
  let source;
454
507
  let filePath;
455
508
  try {
@@ -462,17 +515,19 @@ export function createMcpServer(opts = {}) {
462
515
  if (!blocked.ok)
463
516
  return blocked.response;
464
517
  const format = args.format ?? 'svg';
465
- const today = args.now ? new Date(`${args.now}T00:00:00Z`) : todayUtc();
518
+ const today = options.today;
466
519
  const inputs = {
467
520
  sourcePath: filePath,
468
521
  today,
469
522
  locale: 'en-US',
470
- theme: args.theme ?? 'light',
471
- width: args.width,
523
+ theme: options.theme,
524
+ width: options.width,
525
+ nonWorking: options.nonWorking,
472
526
  pngScale: args.scale,
473
527
  };
474
528
  const host = createNodeHostEnv(filePath);
475
- const appActive = args.preview === true || clientSupportsAppsUi(server);
529
+ // Explicit true/false wins; undefined follows the host's capabilities.
530
+ const appActive = args.preview ?? clientSupportsAppsUi(server);
476
531
  // Skip the full render when the bytes won't be used: apps host with
477
532
  // no write-to-disk path and no review attachment requested.
478
533
  const needsRender = !appActive || !!args.output || args.review === true;
@@ -480,28 +535,36 @@ export function createMcpServer(opts = {}) {
480
535
  const result = await resolveFonts({ headless: true });
481
536
  inputs.fonts = { sans: result.sans, mono: result.mono };
482
537
  }
483
- const bytes = needsRender
484
- ? await exportDocument(source, format, inputs, host)
538
+ // One stage serves the render, the insights and the include check.
539
+ const stage = await stageMcpRoadmap(blocked.doc, source, inputs, host);
540
+ if (stage.kind === 'invalid') {
541
+ return diagnosticsErrorResponse(filePath, collectMcpDiagnostics(blocked.doc, filePath));
542
+ }
543
+ // Wave-rule include errors are reported as diagnostics. An uncoded
544
+ // include error throws from a render, as the kernel's does; the
545
+ // preview path, which draws nothing here, keeps the preview it
546
+ // returned before waves existed (specs/waves.md §6.1).
547
+ const routed = stageRoutedDiagnostics(stage);
548
+ if (routed.some((d) => d.severity === 'error')) {
549
+ return includeDiagnosticsResponse(blocked.doc, filePath, routed);
550
+ }
551
+ if (stage.kind === 'include-error' && needsRender)
552
+ acceptStagedRoadmap(stage, inputs);
553
+ const staged = stage.kind === 'staged' ? stage : undefined;
554
+ const insights = staged ? layoutInsightsFromStage(staged) : [];
555
+ const bytes = needsRender && staged
556
+ ? await exportStaged(staged, format, inputs, host)
485
557
  : new Uint8Array(0);
486
- const insights = await collectMcpLayoutInsights({
487
- source,
488
- filePath,
489
- today,
490
- theme: args.theme ?? 'light',
491
- width: args.width,
492
- locale: 'en-US',
493
- readFile: host.readSource,
494
- doc: blocked.doc,
495
- });
496
558
  const previewPayload = {
497
559
  source,
498
- theme: args.theme,
499
- now: args.now,
500
- width: args.width,
560
+ theme,
561
+ now: previewNow(args, options.today),
562
+ width: options.width,
563
+ nonWorking: options.nonWorking,
501
564
  locale: 'en-US',
502
565
  };
503
566
  const reviewBlocks = args.review === true
504
- ? await buildReviewContentBlocks(source, format, bytes, inputs, host)
567
+ ? await buildReviewContentBlocks(blocked.doc, source, format, bytes, inputs, host)
505
568
  : [];
506
569
  const insightHintBlocks = insights.length > 0 ? [{ type: 'text', text: LAYOUT_INSIGHT_HINT }] : [];
507
570
  const insightsField = insights.length > 0 ? { insights } : {};
@@ -600,10 +663,15 @@ export function createMcpServer(opts = {}) {
600
663
  'To choose a filename, pass a bare filename (e.g. "roadmap.pdf") — it is saved into the configured folder. ' +
601
664
  'Never pass a virtual or sandbox path such as /home/claude/…, /mnt/user-data/…, or any path ' +
602
665
  'outside the configured output folder — those do not exist on the host filesystem.'),
603
- now: z.string().optional().describe('Now-line date as YYYY-MM-DD (UTC).'),
604
- theme: z.enum(['light', 'dark', 'grayscale']).optional(),
666
+ now: nowSchema,
667
+ timezone: timezoneSchema,
668
+ theme: themeSchema,
669
+ nonWorking: nonWorkingSchema,
605
670
  scale: z.number().optional().describe('PNG scale factor.'),
606
- pageSize: z.string().optional().describe('PDF page size.'),
671
+ pageSize: z
672
+ .string()
673
+ .optional()
674
+ .describe('PDF page size: a preset name, "content", or <W>x<H><unit> (e.g. 8.5x11in). Validated for every format.'),
607
675
  orientation: z
608
676
  .enum(['portrait', 'landscape', 'auto'])
609
677
  .optional()
@@ -629,6 +697,13 @@ export function createMcpServer(opts = {}) {
629
697
  // Only the filesystem touchpoints (reading the input, writing the
630
698
  // output) map to structured NL.MCP.* errors; a kernel export fault
631
699
  // bubbles unchanged so it is never mislabeled as a path/IO failure.
700
+ let options;
701
+ try {
702
+ ({ options } = resolveMcpOptions(args));
703
+ }
704
+ catch (err) {
705
+ return handleToolError(err);
706
+ }
632
707
  let source;
633
708
  let filePath;
634
709
  try {
@@ -641,14 +716,14 @@ export function createMcpServer(opts = {}) {
641
716
  if (!blocked.ok)
642
717
  return blocked.response;
643
718
  const format = args.format;
644
- const today = args.now ? new Date(`${args.now}T00:00:00Z`) : todayUtc();
645
719
  const inputs = {
646
720
  sourcePath: filePath,
647
- today,
721
+ today: options.today,
648
722
  locale: 'en-US',
649
- theme: args.theme ?? 'light',
723
+ theme: options.theme,
724
+ nonWorking: options.nonWorking,
650
725
  pngScale: args.scale,
651
- pageSize: args.pageSize,
726
+ pageSize: options.pageSize,
652
727
  orientation: args.orientation,
653
728
  marginPt: args.marginPt,
654
729
  msprojStart: args.msprojStart,
@@ -658,7 +733,16 @@ export function createMcpServer(opts = {}) {
658
733
  inputs.fonts = { sans: result.sans, mono: result.mono };
659
734
  }
660
735
  const host = createNodeHostEnv(filePath);
661
- const bytes = await exportDocument(source, format, inputs, host);
736
+ let bytes;
737
+ try {
738
+ const staged = acceptStagedRoadmap(await stageMcpRoadmap(blocked.doc, source, inputs, host), inputs);
739
+ bytes = await exportStaged(staged, format, inputs, host);
740
+ }
741
+ catch (err) {
742
+ if (!(err instanceof IncludeResolveError))
743
+ throw err;
744
+ return includeDiagnosticsResponse(blocked.doc, filePath, routedResolveDiagnosticsToMcp(err.diagnostics));
745
+ }
662
746
  const BINARY_FORMATS = new Set(['png', 'pdf', 'xlsx']);
663
747
  const isBinary = BINARY_FORMATS.has(format);
664
748
  // Default filename: <roadmap-id>.<ext>, used when no output path is given.
@@ -822,9 +906,12 @@ export function createMcpServer(opts = {}) {
822
906
  if (args.to === 'json') {
823
907
  const { source, filePath } = await sourceAndPath(args, allowedRoot);
824
908
  const host = createNodeHostEnv(filePath);
909
+ // The JSON AST does not depend on today's date, so convert
910
+ // takes no `now`; the kernel still wants a concrete one.
911
+ const { options } = resolveMcpOptions({});
825
912
  const jsonBytes = await exportDocument(source, 'json', {
826
913
  sourcePath: filePath,
827
- today: todayUtc(),
914
+ today: options.today,
828
915
  locale: 'en-US',
829
916
  theme: 'light',
830
917
  }, host);
@@ -876,7 +963,7 @@ export function createMcpServer(opts = {}) {
876
963
  });
877
964
  // ---- list-themes --------------------------------------------------------
878
965
  server.registerTool('list-themes', {
879
- description: 'List supported color themes: light, dark, grayscale.',
966
+ description: `List supported color themes: ${THEME_NAMES.join(', ')}.`,
880
967
  inputSchema: z.object({}),
881
968
  outputSchema: ListItemsOutputSchema,
882
969
  annotations: readOnlyTool('List Themes'),
@@ -1010,7 +1097,7 @@ export function createMcpServer(opts = {}) {
1010
1097
  };
1011
1098
  });
1012
1099
  server.registerTool('schema', {
1013
- description: 'Return the structured Nowline DSL key vocabulary (directive keys, entity types, item properties).',
1100
+ description: 'Return the structured Nowline DSL key vocabulary (directive keys, entity types, item properties, config keywords, calendar declaration keys).',
1014
1101
  inputSchema: z.object({}),
1015
1102
  outputSchema: SchemaOutputSchema,
1016
1103
  annotations: readOnlyTool('View Roadmap Schema'),
@@ -1019,6 +1106,8 @@ export function createMcpServer(opts = {}) {
1019
1106
  directiveKeys: [...SCHEMA_VOCABULARY.directiveKeys],
1020
1107
  entityTypes: [...SCHEMA_VOCABULARY.entityTypes],
1021
1108
  itemPropertyKeys: [...SCHEMA_VOCABULARY.itemPropertyKeys],
1109
+ configKeywords: [...SCHEMA_VOCABULARY.configKeywords],
1110
+ calendarDeclarationKeys: [...SCHEMA_VOCABULARY.calendarDeclarationKeys],
1022
1111
  };
1023
1112
  return {
1024
1113
  content: [{ type: 'text', text: JSON.stringify(structured, null, 2) }],
@@ -1066,7 +1155,7 @@ function buildExportInlineContentBlocks(format, bytes, showHint = true, rootConf
1066
1155
  }
1067
1156
  return blocks;
1068
1157
  }
1069
- async function buildReviewContentBlocks(source, format, artifactBytes, inputs, host) {
1158
+ async function buildReviewContentBlocks(doc, source, format, artifactBytes, inputs, host) {
1070
1159
  const blocks = [
1071
1160
  {
1072
1161
  type: 'text',
@@ -1089,7 +1178,10 @@ async function buildReviewContentBlocks(source, format, artifactBytes, inputs, h
1089
1178
  const fonts = await resolveFonts({ headless: true });
1090
1179
  reviewInputs.fonts = { sans: fonts.sans, mono: fonts.mono };
1091
1180
  }
1092
- inspectionBytes = await exportDocument(source, 'png', reviewInputs, host);
1181
+ // A narrower review width is a different layout, so it stages again
1182
+ // (the parsed document is reused).
1183
+ const reviewStage = acceptStagedRoadmap(await stageMcpRoadmap(doc, source, reviewInputs, host), reviewInputs);
1184
+ inspectionBytes = await exportStaged(reviewStage, 'png', reviewInputs, host);
1093
1185
  }
1094
1186
  if (format !== 'png' || inspectionBytes.byteLength !== artifactBytes.byteLength) {
1095
1187
  blocks.push({
@@ -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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"}
package/dist/ui/entry.js CHANGED
@@ -18,8 +18,9 @@
18
18
  // changes re-render in-place.
19
19
  /// <reference lib="dom" />
20
20
  import { App } from '@modelcontextprotocol/ext-apps';
21
+ import { normalizeThemeName } from '@nowline/layout';
21
22
  import { mountLivePreview } from '@nowline/preview';
22
- import { parsePreviewFromArguments, parsePreviewFromContent, } from './payload.js';
23
+ import { parsePreviewFromArguments, parsePreviewFromContent, toNonWorkingOverride, toNowOverride, } from './payload.js';
23
24
  function readPayload() {
24
25
  const el = document.getElementById('nl-preview-data');
25
26
  if (!el?.textContent)
@@ -33,16 +34,7 @@ function readPayload() {
33
34
  }
34
35
  /** Coerce a raw theme token from the payload to the shell's ThemeOverride. */
35
36
  function toThemeOverride(theme) {
36
- switch (theme) {
37
- case 'light':
38
- case 'dark':
39
- case 'grayscale':
40
- case 'greyscale':
41
- case 'auto':
42
- return theme;
43
- default:
44
- return 'auto';
45
- }
37
+ return (theme !== undefined ? normalizeThemeName(theme) : undefined) ?? 'auto';
46
38
  }
47
39
  let mounted = false;
48
40
  let mountedSource;
@@ -71,7 +63,8 @@ function mountFromPayload(payload, app) {
71
63
  mode: hostTheme(app) ?? 'system',
72
64
  initialView: {
73
65
  theme: toThemeOverride(payload.theme),
74
- now: (payload.now ?? 'today'),
66
+ now: toNowOverride(payload.now),
67
+ nonWorking: toNonWorkingOverride(payload.nonWorking),
75
68
  showLinks: payload.showLinks !== false,
76
69
  },
77
70
  renderOptions: {
@@ -1 +1 @@
1
- {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/ui/entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/ui/entry.ts"],"names":[],"mappings":"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"}