@malloy-publisher/server 0.9.10 → 0.9.11

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 (31) hide show
  1. package/dist/app/api-doc.yaml +48 -41
  2. package/dist/app/assets/EnvironmentPage-tIGzymgb.js +1 -0
  3. package/dist/app/assets/HomePage-7QkNvQ_3.js +1 -0
  4. package/dist/app/assets/MainPage-BpE_5WuW.js +1 -0
  5. package/dist/app/assets/ModelPage-ftyDI1tw.js +2 -0
  6. package/dist/app/assets/PackagePage-QGnFwlHu.js +1 -0
  7. package/dist/app/assets/RenderedResult-Cmx8sX8d.es-du-Qe1x0.js +153 -0
  8. package/dist/app/assets/{RouteError-Bc7-ukP7.js → RouteError-zM4SSZaU.js} +1 -1
  9. package/dist/app/assets/ThemeEditorPage-DhZJXGJm.js +1 -0
  10. package/dist/app/assets/ToggleButtonGroup-TKxhg0Mg.js +1 -0
  11. package/dist/app/assets/{documentRoutes-CvCc_EZs.js → documentRoutes-D4TbSIi5.js} +1 -1
  12. package/dist/app/assets/editPageMounted-0kzl2sgg.js +2 -0
  13. package/dist/app/assets/{index-DnRXl1Nu.js → index-B-qJVEXn.js} +1 -1
  14. package/dist/app/assets/{index-DugQbYOk.js → index-Bzi4YH8Y.js} +1 -1
  15. package/dist/app/assets/{index-Ddy-NxB_.js → index-CS4mmuDD.js} +1 -1
  16. package/dist/app/assets/index-gQEuz0Cg.js +480 -0
  17. package/dist/app/assets/index.es-B3P9tIm3.js +143 -0
  18. package/dist/app/index.html +1 -1
  19. package/dist/package_load_worker.mjs +23 -9
  20. package/dist/server.mjs +725 -625
  21. package/package.json +1 -1
  22. package/dist/app/assets/EnvironmentPage-DfL-2Fy5.js +0 -1
  23. package/dist/app/assets/HomePage-Cc5z85GD.js +0 -1
  24. package/dist/app/assets/MainPage-Cv63Ip_P.js +0 -1
  25. package/dist/app/assets/ModelPage-DvyYSgri.js +0 -2
  26. package/dist/app/assets/PackagePage-BDzBa7qB.js +0 -1
  27. package/dist/app/assets/RenderedResult-Dp1Qdajz.es-woQDtiv_.js +0 -153
  28. package/dist/app/assets/ThemeEditorPage-DShPXmlS.js +0 -1
  29. package/dist/app/assets/ToggleButtonGroup-WO-9ZUmS.js +0 -1
  30. package/dist/app/assets/index-BvSbJtsT.js +0 -483
  31. package/dist/app/assets/index.es-BhMC9nt1.js +0 -195
@@ -16,7 +16,7 @@ SPDX-License-Identifier: MIT
16
16
  href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap"
17
17
  />
18
18
  <title>Malloy Publisher</title>
19
- <script type="module" crossorigin src="/assets/index-BvSbJtsT.js"></script>
19
+ <script type="module" crossorigin src="/assets/index-gQEuz0Cg.js"></script>
20
20
  <link rel="stylesheet" crossorigin href="/assets/index-DUqldpo0.css">
21
21
  </head>
22
22
  <body>
@@ -21077,7 +21077,7 @@ ${body}`;
21077
21077
  if (artifactAt < 0) {
21078
21078
  return refuse({
21079
21079
  line: 1,
21080
- message: "Line 1: this notebook has no ## artifact note, so its header cannot be told from its cells. Fix: add `## artifact { layout=linear }` after the ##! line."
21080
+ message: "Line 1: this notebook has no ## artifact note, so its header cannot be told from its cells. Fix: add `## artifact { layout=linear tiles=[…] }` after the ##! line."
21081
21081
  });
21082
21082
  }
21083
21083
  const runCount = items.filter((item) => item.kind === "statement" && item.run).length;
@@ -21277,12 +21277,14 @@ function readReportTag(modelNotes) {
21277
21277
  const kind = tagText(artifact, "kind");
21278
21278
  if (kind !== undefined)
21279
21279
  return { status: "kind-removed", kind };
21280
- const layout = parseLayoutValue(tagText(artifact, "layout"));
21281
- if (layout)
21282
- return { status: "report", layout, decidedBy: "layout" };
21283
- if (artifact.has("tiles") || tags?.tag("dashboard") !== undefined)
21284
- return { status: "report", layout: "grid", decidedBy: "tiles" };
21285
- return { status: "report", layout: "linear", decidedBy: "default" };
21280
+ const hasTiles = artifact.has("tiles");
21281
+ if (hasTiles && artifact.array("tiles") === undefined)
21282
+ return { status: "unparsed" };
21283
+ const declared = tagText(artifact, "layout");
21284
+ const layout = parseLayoutValue(declared) ?? (hasTiles || tags?.tag("dashboard") !== undefined ? "grid" : "linear");
21285
+ if (layout === "linear" && !hasTiles)
21286
+ return declared !== undefined && parseLayoutValue(declared) === undefined ? { status: "cells-removed", unknownLayout: declared } : { status: "cells-removed" };
21287
+ return { status: "report", layout };
21286
21288
  }
21287
21289
  function readReportTagOfText(text) {
21288
21290
  return readReportTag(modelNotesOfText(text));
@@ -23726,6 +23728,11 @@ function readGivenControlSpec(annotationTexts2) {
23726
23728
  }
23727
23729
  return spec;
23728
23730
  }
23731
+ function givenDeclaresNoDefault(given) {
23732
+ const loose = given;
23733
+ const parsed = "default" in loose ? loose.default : loose._internal?.default;
23734
+ return parsed === undefined && loose._internal?.defaultText === undefined;
23735
+ }
23729
23736
  function malloyGivenToApi(given) {
23730
23737
  const type = given.type;
23731
23738
  const renderedType = type.type === "filter expression" ? `filter<${type.filterType}>` : type.type === "array" && type.elementTypeDef?.type ? `${type.elementTypeDef.type}[]` : type.type;
@@ -23736,7 +23743,8 @@ function malloyGivenToApi(given) {
23736
23743
  annotations: allNotes.filter((note) => !isReservedRoute(note.route) && note.route !== MARKDOWN_ROUTE).map((note) => note.text),
23737
23744
  ...readGivenControlSpec(allNotes.map((note) => note.text)),
23738
23745
  ...allNotes.some((note) => note.route === "secure") && { secure: true },
23739
- default: given._internal?.defaultText
23746
+ default: given._internal?.defaultText,
23747
+ ...givenDeclaresNoDefault(given) && { required: true }
23740
23748
  };
23741
23749
  }
23742
23750
  function collectGivenRefs(value, into) {
@@ -26381,7 +26389,13 @@ async function prepareForMainThread(job, malloyConfig, load, model) {
26381
26389
  const pastDeadline = () => performance.now() >= load.softDeadline;
26382
26390
  const { modelPath, materializer, importBaseURL } = model;
26383
26391
  const renderTagResults = [];
26384
- for (const target of renderTagTargets(model.queries, model.sources)) {
26392
+ const targets = renderTagTargets(model.queries, model.sources);
26393
+ if (targets.length > 0 && !load.failed && !pastDeadline()) {
26394
+ try {
26395
+ model.model.queryModel;
26396
+ } catch {}
26397
+ }
26398
+ for (const target of targets) {
26385
26399
  if (load.failed || pastDeadline())
26386
26400
  break;
26387
26401
  try {