@nowline/embed 0.4.2 → 0.5.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.
@@ -1,4 +1,4 @@
1
- /*! @nowline/embed 0.4.2 sha=1625fac built=2026-05-29T01:31:09.978Z env=prod */
1
+ /*! @nowline/embed 0.5.1 sha=fc40638 built=2026-06-01T09:54:57Z */
2
2
  var __create = Object.create;
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -6372,69 +6372,35 @@ var init_node_read_file = __esm({
6372
6372
  }
6373
6373
  });
6374
6374
 
6375
- // src/auth/env.ts
6376
- var EMBED_VERSION = true ? "0.4.2" : "0.0.0";
6377
- var EMBED_SHA = true ? "1625fac" : "unknown";
6378
-
6379
- // ../browser/dist/diagnostic-row.js
6380
- var DID_YOU_MEAN_RE = /did you mean ['"]?([^'"?]+)['"]?\??/i;
6381
- function fromLangiumDiagnostic(diag, file) {
6382
- return {
6383
- severity: diag.severity === 2 ? "warning" : "error",
6384
- code: diagnosticCode(diag),
6385
- message: diag.message,
6386
- suggestion: extractSuggestion(diag.message),
6387
- file,
6388
- line: (diag.range?.start.line ?? 0) + 1,
6389
- column: (diag.range?.start.character ?? 0) + 1
6390
- };
6391
- }
6392
- function fromParserError(err, file) {
6393
- return {
6394
- severity: "error",
6395
- code: "parse-error",
6396
- message: err.message,
6397
- file,
6398
- line: err.token?.startLine ?? 1,
6399
- column: err.token?.startColumn ?? 1
6400
- };
6401
- }
6402
- function fromLexerError(err, file) {
6403
- return {
6404
- severity: "error",
6405
- code: "lex-error",
6406
- message: err.message,
6407
- file,
6408
- line: err.line ?? 1,
6409
- column: err.column ?? 1
6410
- };
6411
- }
6412
- function fromResolveDiagnostic(diag) {
6413
- return {
6414
- severity: diag.severity,
6415
- code: "include",
6416
- message: diag.message,
6417
- file: diag.sourcePath,
6418
- line: diag.line !== void 0 ? diag.line + 1 : 1,
6419
- column: 1
6420
- };
6375
+ // ../core/dist/diagnostics/index.js
6376
+ var LANGIUM_LEXING_ERROR = "lexing-error";
6377
+ var LANGIUM_PARSING_ERROR = "parsing-error";
6378
+ function isBuiltinParseDiagnostic(data) {
6379
+ if (!data || typeof data !== "object")
6380
+ return false;
6381
+ const code = data.code;
6382
+ return code === LANGIUM_LEXING_ERROR || code === LANGIUM_PARSING_ERROR;
6421
6383
  }
6422
- function fromRenderWarning(message, file, severity = "warning") {
6423
- return {
6424
- severity,
6425
- code: "render.warning",
6426
- message,
6427
- file,
6428
- line: 1,
6429
- column: 1
6430
- };
6384
+ function collectDocumentDiagnostics(doc) {
6385
+ const out = [];
6386
+ for (const error of doc.parseResult.lexerErrors) {
6387
+ out.push({ origin: "lexer", error });
6388
+ }
6389
+ for (const error of doc.parseResult.parserErrors) {
6390
+ out.push({ origin: "parser", error });
6391
+ }
6392
+ for (const diagnostic of doc.diagnostics ?? []) {
6393
+ const row = diagnostic;
6394
+ if (isBuiltinParseDiagnostic(row.data))
6395
+ continue;
6396
+ out.push({ origin: "validation", diagnostic: row });
6397
+ }
6398
+ return out;
6431
6399
  }
6432
- function diagnosticCode(diag) {
6433
- if (typeof diag.code === "string" && diag.code !== "")
6434
- return diag.code;
6435
- if (typeof diag.code === "number")
6436
- return String(diag.code);
6437
- return inferCodeFromMessage(diag.message);
6400
+ var DID_YOU_MEAN_RE = /did you mean ['"]?([^'"?]+)['"]?\??/i;
6401
+ function extractSuggestion(message) {
6402
+ const match = message.match(DID_YOU_MEAN_RE);
6403
+ return match ? match[1].trim() : void 0;
6438
6404
  }
6439
6405
  function inferCodeFromMessage(message) {
6440
6406
  const lower = message.toLowerCase();
@@ -6454,18 +6420,25 @@ function inferCodeFromMessage(message) {
6454
6420
  return "indentation";
6455
6421
  return "validation";
6456
6422
  }
6457
- function extractSuggestion(message) {
6458
- const match = message.match(DID_YOU_MEAN_RE);
6459
- return match ? match[1].trim() : void 0;
6460
- }
6461
-
6462
- // ../browser/dist/no-op-include-resolver.js
6463
- var NOWLINE_BROWSER_NOOP_INCLUDE_TAG = "__nowline_browser_noop_include__";
6464
- async function noOpIncludeReadFile(absPath) {
6465
- throw new Error(`${NOWLINE_BROWSER_NOOP_INCLUDE_TAG}: include "${absPath}" was skipped \u2014 running in single-file mode.`);
6423
+ function stableValidatorCode(data) {
6424
+ if (!data || typeof data !== "object")
6425
+ return void 0;
6426
+ const obj = data;
6427
+ if (typeof obj.code !== "string")
6428
+ return void 0;
6429
+ if (!Array.isArray(obj.args))
6430
+ return void 0;
6431
+ return obj.code;
6466
6432
  }
6467
- function isNoOpIncludeDiagnosticMessage(message) {
6468
- return message.includes(NOWLINE_BROWSER_NOOP_INCLUDE_TAG);
6433
+ function resolveDiagnosticCode(diag) {
6434
+ const stable = stableValidatorCode(diag.data);
6435
+ if (stable)
6436
+ return stable;
6437
+ if (typeof diag.code === "string" && diag.code !== "")
6438
+ return diag.code;
6439
+ if (typeof diag.code === "number")
6440
+ return String(diag.code);
6441
+ return inferCodeFromMessage(diag.message);
6469
6442
  }
6470
6443
 
6471
6444
  // ../../node_modules/.pnpm/langium@4.2.4/node_modules/langium/lib/index.js
@@ -30903,6 +30876,71 @@ function createNowlineServices(context = {}) {
30903
30876
  return { shared, Nowline };
30904
30877
  }
30905
30878
 
30879
+ // ../browser/dist/diagnostic-row.js
30880
+ function fromLangiumDiagnostic(diag, file) {
30881
+ return {
30882
+ severity: diag.severity === 2 ? "warning" : "error",
30883
+ // resolveDiagnosticCode prefers the stable validator code (NL.Exxxx)
30884
+ // carried in `data` so the preview table matches the CLI / Problems
30885
+ // panel, then falls back to Langium's `code`, then a message heuristic.
30886
+ code: resolveDiagnosticCode(diag),
30887
+ message: diag.message,
30888
+ suggestion: extractSuggestion(diag.message),
30889
+ file,
30890
+ line: (diag.range?.start.line ?? 0) + 1,
30891
+ column: (diag.range?.start.character ?? 0) + 1
30892
+ };
30893
+ }
30894
+ function fromParserError(err, file) {
30895
+ return {
30896
+ severity: "error",
30897
+ code: "parse-error",
30898
+ message: err.message,
30899
+ file,
30900
+ line: err.token?.startLine ?? 1,
30901
+ column: err.token?.startColumn ?? 1
30902
+ };
30903
+ }
30904
+ function fromLexerError(err, file) {
30905
+ return {
30906
+ severity: "error",
30907
+ code: "lex-error",
30908
+ message: err.message,
30909
+ file,
30910
+ line: err.line ?? 1,
30911
+ column: err.column ?? 1
30912
+ };
30913
+ }
30914
+ function fromResolveDiagnostic(diag) {
30915
+ return {
30916
+ severity: diag.severity,
30917
+ code: "include",
30918
+ message: diag.message,
30919
+ file: diag.sourcePath,
30920
+ line: diag.line !== void 0 ? diag.line + 1 : 1,
30921
+ column: 1
30922
+ };
30923
+ }
30924
+ function fromRenderWarning(message, file, severity = "warning") {
30925
+ return {
30926
+ severity,
30927
+ code: "render.warning",
30928
+ message,
30929
+ file,
30930
+ line: 1,
30931
+ column: 1
30932
+ };
30933
+ }
30934
+
30935
+ // ../browser/dist/no-op-include-resolver.js
30936
+ var NOWLINE_BROWSER_NOOP_INCLUDE_TAG = "__nowline_browser_noop_include__";
30937
+ async function noOpIncludeReadFile(absPath) {
30938
+ throw new Error(`${NOWLINE_BROWSER_NOOP_INCLUDE_TAG}: include "${absPath}" was skipped \u2014 running in single-file mode.`);
30939
+ }
30940
+ function isNoOpIncludeDiagnosticMessage(message) {
30941
+ return message.includes(NOWLINE_BROWSER_NOOP_INCLUDE_TAG);
30942
+ }
30943
+
30906
30944
  // ../layout/dist/capacity.js
30907
30945
  var BUILTIN_CAPACITY_ICONS2 = /* @__PURE__ */ new Set([
30908
30946
  "none",
@@ -32096,6 +32134,241 @@ var darkTheme = {
32096
32134
  }
32097
32135
  };
32098
32136
 
32137
+ // ../layout/dist/themes/grayscale.js
32138
+ var grayscaleNamed = {
32139
+ red: "#4a4a4a",
32140
+ blue: "#6b6b6b",
32141
+ green: "#8a8a8a",
32142
+ yellow: "#c8c8c8",
32143
+ orange: "#5c5c5c",
32144
+ purple: "#3a3a3a",
32145
+ gray: "#9e9e9e",
32146
+ navy: "#2a2a2a",
32147
+ white: "#ffffff"
32148
+ };
32149
+ var baseEntity2 = {
32150
+ bg: "none",
32151
+ fg: "#1a1a1a",
32152
+ text: "#1a1a1a",
32153
+ border: "solid",
32154
+ icon: "none",
32155
+ shadow: "none",
32156
+ font: "sans",
32157
+ weight: "normal",
32158
+ italic: false,
32159
+ textSize: "md",
32160
+ padding: "sm",
32161
+ spacing: "sm",
32162
+ headerHeight: "sm",
32163
+ cornerRadius: "sm",
32164
+ bracket: "none",
32165
+ capacityIcon: "multiplier"
32166
+ };
32167
+ var grayscaleTheme = {
32168
+ name: "grayscale",
32169
+ surface: {
32170
+ page: "#f5f5f5",
32171
+ chart: "#ffffff",
32172
+ headerBox: "#ffffff"
32173
+ },
32174
+ entities: {
32175
+ roadmap: {
32176
+ ...baseEntity2,
32177
+ headerHeight: "md",
32178
+ padding: "md"
32179
+ },
32180
+ swimlane: {
32181
+ ...baseEntity2,
32182
+ fg: "#3a3a3a",
32183
+ text: "#3a3a3a",
32184
+ padding: "sm",
32185
+ spacing: "none",
32186
+ textSize: "sm"
32187
+ },
32188
+ item: {
32189
+ ...baseEntity2,
32190
+ bg: "#ffffff",
32191
+ fg: "#9e9e9e",
32192
+ text: "#1a1a1a",
32193
+ shadow: "subtle",
32194
+ cornerRadius: "sm"
32195
+ },
32196
+ parallel: {
32197
+ ...baseEntity2,
32198
+ bracket: "none",
32199
+ padding: "xs"
32200
+ },
32201
+ group: {
32202
+ ...baseEntity2,
32203
+ bracket: "solid",
32204
+ padding: "xs",
32205
+ fg: "#595959"
32206
+ },
32207
+ anchor: {
32208
+ ...baseEntity2,
32209
+ bg: "#1a1a1a",
32210
+ fg: "#1a1a1a",
32211
+ text: "#1a1a1a",
32212
+ cornerRadius: "sm"
32213
+ },
32214
+ milestone: {
32215
+ ...baseEntity2,
32216
+ bg: "#2a2a2a",
32217
+ fg: "#2a2a2a",
32218
+ text: "#ffffff",
32219
+ border: "solid"
32220
+ },
32221
+ footnote: {
32222
+ ...baseEntity2,
32223
+ bg: "none",
32224
+ fg: "#595959",
32225
+ text: "#595959",
32226
+ textSize: "sm"
32227
+ },
32228
+ label: {
32229
+ ...baseEntity2,
32230
+ bg: "#e8e8e8",
32231
+ fg: "#595959",
32232
+ text: "#595959",
32233
+ textSize: "xs",
32234
+ padding: "xs",
32235
+ cornerRadius: "full"
32236
+ }
32237
+ },
32238
+ swimlane: {
32239
+ bandEven: "#ffffff",
32240
+ bandOdd: "#f5f5f5",
32241
+ separator: "#d4d4d4",
32242
+ frameTabText: "#3a3a3a",
32243
+ frameTabMuted: "#737373",
32244
+ border: "#d4d4d4",
32245
+ tabFill: "#e8e8e8",
32246
+ tabStroke: "#bdbdbd",
32247
+ tabText: "#3a3a3a",
32248
+ ownerText: "#737373",
32249
+ footnoteIndicator: "#4a4a4a",
32250
+ rowTintEven: "#ffffff",
32251
+ rowTintOdd: "#f5f5f5",
32252
+ utilizationOk: "#8a8a8a",
32253
+ utilizationWarn: "#595959",
32254
+ utilizationOver: "#1a1a1a"
32255
+ },
32256
+ timeline: {
32257
+ gridLine: "#bdbdbd",
32258
+ minorGridLine: "#d4d4d4",
32259
+ tickMark: "#bdbdbd",
32260
+ labelText: "#737373",
32261
+ panelFill: "#ffffff",
32262
+ border: "#d4d4d4"
32263
+ },
32264
+ header: {
32265
+ cardBorder: "#d4d4d4",
32266
+ author: "#737373"
32267
+ },
32268
+ item: {
32269
+ overflowX: "#1a1a1a",
32270
+ linkIconFg: "#1a1a1a",
32271
+ overflowTailFill: "#e8e8e8",
32272
+ overflowTailStroke: "#4a4a4a",
32273
+ overflowCaption: "#3a3a3a"
32274
+ },
32275
+ parallel: {
32276
+ bracketStroke: "#3a3a3a"
32277
+ },
32278
+ anchorDiamond: {
32279
+ fill: "#ffffff",
32280
+ stroke: "#3a3a3a",
32281
+ label: "#3a3a3a",
32282
+ cutLine: "#737373"
32283
+ },
32284
+ milestoneDiamond: {
32285
+ fill: "#1a1a1a",
32286
+ label: "#1a1a1a",
32287
+ cutLineNormal: "#2a2a2a",
32288
+ cutLineOverrun: "#4a4a4a",
32289
+ slack: "#1a1a1a"
32290
+ },
32291
+ footnotePanel: {
32292
+ fill: "#ffffff",
32293
+ border: "#d4d4d4",
32294
+ header: "#1a1a1a",
32295
+ title: "#1a1a1a",
32296
+ description: "#737373",
32297
+ number: "#4a4a4a"
32298
+ },
32299
+ nowline: {
32300
+ stroke: "#1a1a1a",
32301
+ labelText: "#ffffff",
32302
+ labelBg: "#1a1a1a"
32303
+ },
32304
+ milestone: {
32305
+ dashedInk: "#9e9e9e",
32306
+ overrun: "#4a4a4a"
32307
+ },
32308
+ anchor: {
32309
+ predecessorLine: "#9e9e9e"
32310
+ },
32311
+ dependency: {
32312
+ edgeStroke: "#595959",
32313
+ overflowStroke: "#1a1a1a"
32314
+ },
32315
+ footnote: {
32316
+ indicatorText: "#4a4a4a",
32317
+ descriptionMuted: "#737373"
32318
+ },
32319
+ includeRegion: {
32320
+ border: "#9e9e9e",
32321
+ label: "#3a3a3a",
32322
+ badge: "#737373",
32323
+ fill: "#f5f5f5",
32324
+ tabFill: "#ffffff",
32325
+ tabStroke: "#bdbdbd",
32326
+ tabText: "#1a1a1a",
32327
+ badgeFill: "#e8e8e8",
32328
+ badgeStroke: "#bdbdbd",
32329
+ badgeText: "#595959"
32330
+ },
32331
+ arrowhead: {
32332
+ neutral: "#595959",
32333
+ light: "#9e9e9e",
32334
+ dark: "#1a1a1a"
32335
+ },
32336
+ status: {
32337
+ done: "#8a8a8a",
32338
+ inProgress: "#595959",
32339
+ atRisk: "#737373",
32340
+ blocked: "#3a3a3a",
32341
+ planned: "#bdbdbd",
32342
+ neutral: "#bdbdbd"
32343
+ },
32344
+ statusDot: {
32345
+ onLight: {
32346
+ done: "#3a3a3a",
32347
+ inProgress: "#2a2a2a",
32348
+ atRisk: "#4a4a4a",
32349
+ blocked: "#1a1a1a",
32350
+ planned: "#595959",
32351
+ neutral: "#595959"
32352
+ },
32353
+ onDark: {
32354
+ done: "#d4d4d4",
32355
+ inProgress: "#e8e8e8",
32356
+ atRisk: "#c8c8c8",
32357
+ blocked: "#f0f0f0",
32358
+ planned: "#d4d4d4",
32359
+ neutral: "#d4d4d4"
32360
+ }
32361
+ },
32362
+ attribution: {
32363
+ mark: "#9e9e9e",
32364
+ link: "#1a1a1a"
32365
+ },
32366
+ diagnostic: {
32367
+ overlayBg: "#e8e8e8",
32368
+ errorText: "#1a1a1a"
32369
+ }
32370
+ };
32371
+
32099
32372
  // ../layout/dist/themes/light.js
32100
32373
  var lightNamed = {
32101
32374
  red: "#e53935",
@@ -32108,7 +32381,7 @@ var lightNamed = {
32108
32381
  navy: "#0d47a1",
32109
32382
  white: "#ffffff"
32110
32383
  };
32111
- var baseEntity2 = {
32384
+ var baseEntity3 = {
32112
32385
  bg: "none",
32113
32386
  fg: "#0f172a",
32114
32387
  text: "#0f172a",
@@ -32135,12 +32408,12 @@ var lightTheme = {
32135
32408
  },
32136
32409
  entities: {
32137
32410
  roadmap: {
32138
- ...baseEntity2,
32411
+ ...baseEntity3,
32139
32412
  headerHeight: "md",
32140
32413
  padding: "md"
32141
32414
  },
32142
32415
  swimlane: {
32143
- ...baseEntity2,
32416
+ ...baseEntity3,
32144
32417
  fg: "#334155",
32145
32418
  text: "#334155",
32146
32419
  padding: "sm",
@@ -32148,7 +32421,7 @@ var lightTheme = {
32148
32421
  textSize: "sm"
32149
32422
  },
32150
32423
  item: {
32151
- ...baseEntity2,
32424
+ ...baseEntity3,
32152
32425
  // Status-aware tint applied during layout when bg stays white;
32153
32426
  // see m2d handoff Resolution 3.
32154
32427
  bg: "#ffffff",
@@ -32158,39 +32431,39 @@ var lightTheme = {
32158
32431
  cornerRadius: "sm"
32159
32432
  },
32160
32433
  parallel: {
32161
- ...baseEntity2,
32434
+ ...baseEntity3,
32162
32435
  bracket: "none",
32163
32436
  padding: "xs"
32164
32437
  },
32165
32438
  group: {
32166
- ...baseEntity2,
32439
+ ...baseEntity3,
32167
32440
  bracket: "solid",
32168
32441
  padding: "xs",
32169
32442
  fg: "#475569"
32170
32443
  },
32171
32444
  anchor: {
32172
- ...baseEntity2,
32445
+ ...baseEntity3,
32173
32446
  bg: "#0f172a",
32174
32447
  fg: "#0f172a",
32175
32448
  text: "#0f172a",
32176
32449
  cornerRadius: "sm"
32177
32450
  },
32178
32451
  milestone: {
32179
- ...baseEntity2,
32452
+ ...baseEntity3,
32180
32453
  bg: "#312e81",
32181
32454
  fg: "#312e81",
32182
32455
  text: "#ffffff",
32183
32456
  border: "solid"
32184
32457
  },
32185
32458
  footnote: {
32186
- ...baseEntity2,
32459
+ ...baseEntity3,
32187
32460
  bg: "none",
32188
32461
  fg: "#475569",
32189
32462
  text: "#475569",
32190
32463
  textSize: "sm"
32191
32464
  },
32192
32465
  label: {
32193
- ...baseEntity2,
32466
+ ...baseEntity3,
32194
32467
  bg: "#f1f5f9",
32195
32468
  fg: "#475569",
32196
32469
  text: "#475569",
@@ -32346,8 +32619,20 @@ var lightTheme = {
32346
32619
  // ../layout/dist/themes/index.js
32347
32620
  var themes = {
32348
32621
  light: lightTheme,
32349
- dark: darkTheme
32622
+ dark: darkTheme,
32623
+ grayscale: grayscaleTheme
32624
+ };
32625
+ var THEME_ALIASES = {
32626
+ greyscale: "grayscale"
32350
32627
  };
32628
+ function normalizeThemeName(raw) {
32629
+ const lower = raw.toLowerCase();
32630
+ const canonical = THEME_ALIASES[lower] ?? lower;
32631
+ if (canonical === "light" || canonical === "dark" || canonical === "grayscale") {
32632
+ return canonical;
32633
+ }
32634
+ return void 0;
32635
+ }
32351
32636
  var COLOR_ALIASES = {
32352
32637
  grey: "gray",
32353
32638
  violet: "purple"
@@ -32357,7 +32642,7 @@ function resolveColor(token, theme) {
32357
32642
  return "none";
32358
32643
  if (token.startsWith("#"))
32359
32644
  return token;
32360
- const named2 = theme.name === "dark" ? darkNamed : lightNamed;
32645
+ const named2 = theme.name === "dark" ? darkNamed : theme.name === "grayscale" ? grayscaleNamed : lightNamed;
32361
32646
  const canonical = COLOR_ALIASES[token] ?? token;
32362
32647
  const hit = named2[canonical];
32363
32648
  return typeof hit === "string" ? hit : token;
@@ -32515,8 +32800,8 @@ function applyEntityStyleRef(target, props, ctx) {
32515
32800
  applyStyleDecl(target, ctx.styles.get(styleProp.value), ctx.theme);
32516
32801
  }
32517
32802
  function resolveStyle(entityType, props, ctx) {
32518
- const baseEntity3 = ctx.theme.entities[entityType];
32519
- const out = entityStyleToResolved(baseEntity3, ctx.theme);
32803
+ const baseEntity4 = ctx.theme.entities[entityType];
32804
+ const out = entityStyleToResolved(baseEntity4, ctx.theme);
32520
32805
  const defaultDecl = ctx.defaults.get(entityType);
32521
32806
  if (defaultDecl) {
32522
32807
  for (const p of defaultDecl.properties) {
@@ -36326,6 +36611,14 @@ function sequenceItem(node, cursor, ctx, ownerOverride) {
36326
36611
  planned: "#1e293b",
36327
36612
  neutral: "#1e293b"
36328
36613
  };
36614
+ const STATUS_TINT_GREY = {
36615
+ done: "#ebebeb",
36616
+ "in-progress": "#e4e4e4",
36617
+ "at-risk": "#eeeeee",
36618
+ blocked: "#dcdcdc",
36619
+ planned: "#f5f5f5",
36620
+ neutral: "#f5f5f5"
36621
+ };
36329
36622
  const STATUS_BORDER = {
36330
36623
  done: ctx.styleCtx.theme.status.done,
36331
36624
  "in-progress": ctx.styleCtx.theme.status.inProgress,
@@ -36334,11 +36627,12 @@ function sequenceItem(node, cursor, ctx, ownerOverride) {
36334
36627
  planned: ctx.styleCtx.theme.status.planned,
36335
36628
  neutral: ctx.styleCtx.theme.status.neutral
36336
36629
  };
36337
- const isLight = ctx.styleCtx.theme.name === "light";
36338
- const themeDefaultBg = isLight ? "#ffffff" : "#0f172a";
36339
- const themeDefaultFg = "#94a3b8";
36630
+ const themeName = ctx.styleCtx.theme.name;
36631
+ const isDark = themeName === "dark";
36632
+ const themeDefaultBg = isDark ? "#0f172a" : "#ffffff";
36633
+ const themeDefaultFg = themeName === "grayscale" ? "#9e9e9e" : "#94a3b8";
36340
36634
  if (style.bg === themeDefaultBg) {
36341
- style.bg = isLight ? STATUS_TINT_LIGHT[status] : STATUS_TINT_DARK[status];
36635
+ style.bg = themeName === "grayscale" ? STATUS_TINT_GREY[status] : isDark ? STATUS_TINT_DARK[status] : STATUS_TINT_LIGHT[status];
36342
36636
  }
36343
36637
  if (style.fg === themeDefaultFg) {
36344
36638
  style.fg = STATUS_BORDER[status];
@@ -38742,14 +39036,14 @@ async function parseSource(source, options = {}) {
38742
39036
  const doc = docFactory.fromString(source, freshUri());
38743
39037
  await services.shared.workspace.DocumentBuilder.build([doc], { validation: true });
38744
39038
  const diagnostics = [];
38745
- for (const err of doc.parseResult.lexerErrors) {
38746
- diagnostics.push(fromLexerError(err, filePath));
38747
- }
38748
- for (const err of doc.parseResult.parserErrors) {
38749
- diagnostics.push(fromParserError(err, filePath));
38750
- }
38751
- for (const diag of doc.diagnostics ?? []) {
38752
- diagnostics.push(fromLangiumDiagnostic(diag, filePath));
39039
+ for (const raw of collectDocumentDiagnostics(doc)) {
39040
+ if (raw.origin === "lexer") {
39041
+ diagnostics.push(fromLexerError(raw.error, filePath));
39042
+ } else if (raw.origin === "parser") {
39043
+ diagnostics.push(fromParserError(raw.error, filePath));
39044
+ } else {
39045
+ diagnostics.push(fromLangiumDiagnostic(raw.diagnostic, filePath));
39046
+ }
38753
39047
  }
38754
39048
  return { ast: doc.parseResult.value, diagnostics };
38755
39049
  }
@@ -39520,13 +39814,13 @@ function resolveSystemTheme() {
39520
39814
  }
39521
39815
  }
39522
39816
  function effectiveTheme(theme, systemTheme) {
39523
- if (theme === "light" || theme === "dark") return theme;
39817
+ if (theme && theme !== "auto") return normalizeThemeName(theme) ?? systemTheme;
39524
39818
  return systemTheme;
39525
39819
  }
39526
39820
 
39527
39821
  // src/index.ts
39528
- var version = EMBED_VERSION;
39529
- var sha = EMBED_SHA;
39822
+ var version = true ? "0.5.1" : "0.0.0";
39823
+ var sha = true ? "fc40638" : "unknown";
39530
39824
  var DEFAULT_SELECTOR = "pre code.language-nowline, code.language-nowline";
39531
39825
  var initialConfig = {
39532
39826
  theme: "auto",
@@ -39588,13 +39882,6 @@ async function init(overrides) {
39588
39882
  var run = init;
39589
39883
  if (typeof document !== "undefined" && !autoStartScheduled) {
39590
39884
  autoStartScheduled = true;
39591
- if (false) {
39592
- void null.then(({ startDevAuthGate }) => {
39593
- startDevAuthGate();
39594
- }).catch((err) => {
39595
- console.error("[nowline] dev auth gate failed to load:", err);
39596
- });
39597
- }
39598
39885
  const start = () => {
39599
39886
  if (!config.startOnLoad) return;
39600
39887
  void init();