@valbuild/shared 0.147.0 → 0.148.2

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,5 +1,5 @@
1
- import { _ as _createForOfIteratorHelper, q as _objectSpread2, r as _arrayLikeToArray, s as _unsupportedIterableToArray, t as _typeof, u as _defineProperty, v as _toPropertyKey } from '../../dist/getSitemapTree-c70ea145.esm.js';
2
- export { D as DEFAULT_CANVAS_SELECTION, e as DEFAULT_CANVAS_SELECTION_SOFT, b as VAL_AI_SESSION_STORAGE_KEY, d as VAL_CANVAS_MESSAGE, c as VAL_CANVAS_PARAM, V as VAL_CONFIG_SESSION_STORAGE_KEY, a as VAL_THEME_SESSION_STORAGE_KEY, h as formatRoutePattern, j as getNextAppRouterSourceFolder, n as getPageRouterSitemapTree, l as getPageRouterSourceFolder, o as getPatternFromModuleFilePath, k as getTanStackRouterSourceFolder, m as isTanStackRoutesFolder, g as isValCanvasFrame, i as isValCanvasPageMessage, f as isValCanvasStudioMessage, p as parseRoutePattern, w as withValCanvasParam } from '../../dist/getSitemapTree-c70ea145.esm.js';
1
+ import { _ as _createForOfIteratorHelper, q as _objectSpread2, r as _arrayLikeToArray, s as _unsupportedIterableToArray, t as _typeof, u as _defineProperty, v as _toPropertyKey } from '../../dist/getSitemapTree-cd006a36.esm.js';
2
+ export { D as DEFAULT_CANVAS_SELECTION, e as DEFAULT_CANVAS_SELECTION_SOFT, b as VAL_AI_SESSION_STORAGE_KEY, d as VAL_CANVAS_MESSAGE, c as VAL_CANVAS_PARAM, V as VAL_CONFIG_SESSION_STORAGE_KEY, a as VAL_THEME_SESSION_STORAGE_KEY, h as formatRoutePattern, j as getNextAppRouterSourceFolder, n as getPageRouterSitemapTree, l as getPageRouterSourceFolder, o as getPatternFromModuleFilePath, k as getTanStackRouterSourceFolder, m as isTanStackRoutesFolder, g as isValCanvasFrame, i as isValCanvasPageMessage, f as isValCanvasStudioMessage, p as parseRoutePattern, w as withValCanvasParam } from '../../dist/getSitemapTree-cd006a36.esm.js';
3
3
  import { Internal, CODE_LANGUAGES, resolveSettingsModule, missingDeclaredKeys, localeOfValue, discriminatedUnionBranchOf, routePatternOf, matchRoutePattern, DEFAULT_COLOR_FORMAT, declaredKeySetOf } from '@valbuild/core';
4
4
  import { z } from 'zod';
5
5
  import { fromError } from 'zod-validation-error';
@@ -259,17 +259,17 @@ function convertImageNode(path, node, files, configDirectory, remoteOptions) {
259
259
  if (remoteRef) {
260
260
  noParamsUrl = decodeURIComponent(remoteRef);
261
261
  } else {
262
- console.error("Remote image URL does not contain ref: " + url);
262
+ Internal.log.error("Remote image URL does not contain ref: " + url);
263
263
  }
264
264
  } else if (noParamsUrl.startsWith("/api/val/files/public")) {
265
265
  noParamsUrl = noParamsUrl.slice("/api/val/files".length);
266
266
  } else {
267
- console.error("Patched image URL does not start with /api/val/files: " + url);
267
+ Internal.log.error("Patched image URL does not start with /api/val/files: " + url);
268
268
  }
269
- } else if (remoteOptions && noParamsUrl.startsWith(remoteOptions.remoteHost)) ; else if (!noParamsUrl.startsWith("/public")) {
269
+ } else if (Internal.remote.splitRemoteRef(noParamsUrl).status === "success") ; else if (!noParamsUrl.startsWith("/public")) {
270
270
  noParamsUrl = "/public".concat(noParamsUrl);
271
271
  } else {
272
- console.error("Unpatched image URL starts with /public: " + url);
272
+ Internal.log.error("Unpatched image URL starts with /public: " + url);
273
273
  }
274
274
  var tag = {
275
275
  tag: "img",
@@ -1047,6 +1047,10 @@ var PatchBlock = z.object({
1047
1047
  parentRef: ParentRef$1
1048
1048
  });
1049
1049
 
1050
+ var SourcePath = z.string().transform(function (path) {
1051
+ return path;
1052
+ });
1053
+
1050
1054
  function _objectWithoutPropertiesLoose(r, e) {
1051
1055
  if (null == r) return {};
1052
1056
  var t = {};
@@ -1069,10 +1073,6 @@ function _objectWithoutProperties(e, t) {
1069
1073
  return i;
1070
1074
  }
1071
1075
 
1072
- var SourcePath = z.string().transform(function (path) {
1073
- return path;
1074
- });
1075
-
1076
1076
  var ModuleFilePath$1 = z.string().transform(function (path) {
1077
1077
  return path;
1078
1078
  });
@@ -1614,7 +1614,7 @@ var ValConfig = z.object({
1614
1614
  gitCommit: z.string().optional(),
1615
1615
  gitBranch: z.string().optional()
1616
1616
  });
1617
- var ValidationFixZ = z.union([z.literal("image:add-metadata"), z.literal("image:check-metadata"), z.literal("image:check-remote"), z.literal("image:upload-remote"), z.literal("image:download-remote"), z.literal("images:check-remote"), z.literal("images:upload-remote"), z.literal("file:add-metadata"), z.literal("video:add-metadata"), z.literal("video:upload-remote"), z.literal("video:download-remote"), z.literal("videos:add-metadata"), z.literal("videos:check-remote"), z.literal("videos:upload-remote"), z.literal("file:check-metadata"), z.literal("file:check-remote"), z.literal("file:upload-remote"), z.literal("file:download-remote"), z.literal("files:check-remote"), z.literal("files:upload-remote"), z.literal("keyof:check-keys"), z.literal("image:check-gallery"), z.literal("file:check-gallery"), z.literal("video:check-gallery"), z.literal("router:check-route"), z.literal("locale:check-locale"), z.literal("router:check-locale-param"), z.literal("record:fill-keys"), z.literal("images:check-unique-folder"), z.literal("files:check-unique-folder"), z.literal("images:check-all-files"), z.literal("files:check-all-files"), z.literal("videos:check-unique-folder"), z.literal("videos:check-all-files"), z.literal("jsonValues:extract-entry"), z.literal("view:check-module")]);
1617
+ var ValidationFixZ = z.union([z.literal("image:add-metadata"), z.literal("image:check-metadata"), z.literal("image:check-remote"), z.literal("image:upload-remote"), z.literal("image:download-remote"), z.literal("images:check-remote"), z.literal("images:upload-remote"), z.literal("file:add-metadata"), z.literal("video:add-metadata"), z.literal("video:upload-remote"), z.literal("video:download-remote"), z.literal("videos:add-metadata"), z.literal("videos:check-remote"), z.literal("videos:upload-remote"), z.literal("file:check-metadata"), z.literal("file:check-remote"), z.literal("file:upload-remote"), z.literal("file:download-remote"), z.literal("files:check-remote"), z.literal("files:upload-remote"), z.literal("keyof:check-keys"), z.literal("image:check-gallery"), z.literal("file:check-gallery"), z.literal("video:check-gallery"), z.literal("router:check-route"), z.literal("locale:check-locale"), z.literal("router:check-locale-param"), z.literal("record:fill-keys"), z.literal("images:check-unique-folder"), z.literal("files:check-unique-folder"), z.literal("images:check-all-files"), z.literal("files:check-all-files"), z.literal("videos:check-unique-folder"), z.literal("videos:check-all-files"), z.literal("jsonValues:extract-entry"), z.literal("view:check-module"), z.literal("external:upload"), z.literal("remote:rewrite-host")]);
1618
1618
  var ValidationError = z.object({
1619
1619
  message: z.string(),
1620
1620
  value: z.unknown().optional(),
@@ -2016,7 +2016,13 @@ var Api = {
2016
2016
  coreVersion: z.string(),
2017
2017
  remoteFileBuckets: z.array(z.object({
2018
2018
  bucket: z.string()
2019
- }))
2019
+ })),
2020
+ /**
2021
+ * The host new refs name, from the project's settings: its own
2022
+ * address for a Hosted project whose files are in R2. Optional,
2023
+ * for a content service that predates it.
2024
+ */
2025
+ remoteHost: z.string().optional()
2020
2026
  })
2021
2027
  }), z.object({
2022
2028
  status: z.literal(400),
@@ -2762,6 +2768,105 @@ var Api = {
2762
2768
  })])
2763
2769
  }
2764
2770
  },
2771
+ /**
2772
+ * The Studio's full check, one module per request: its sources against its
2773
+ * schema and its local files against their bytes, on the content the caller
2774
+ * is looking at. See `docs/plans/studio-validate.md`.
2775
+ */
2776
+ "/validate": {
2777
+ POST: {
2778
+ req: {
2779
+ body: z.object({
2780
+ moduleFilePath: ModuleFilePath,
2781
+ /**
2782
+ * The patches the caller is showing, applied over base. Omitted
2783
+ * means every pending patch, as `/sources/~`; empty means base.
2784
+ */
2785
+ patchIds: z.array(PatchId).optional()
2786
+ }),
2787
+ cookies: {
2788
+ val_session: z.string().optional()
2789
+ }
2790
+ },
2791
+ res: z.union([unauthorizedResponse, notFoundResponse, z.object({
2792
+ status: z.literal(500),
2793
+ json: z.object({
2794
+ message: z.string()
2795
+ })
2796
+ }), /** No full check on this server (one running in a browser tab). */
2797
+ z.object({
2798
+ status: z.literal(501),
2799
+ json: z.object({
2800
+ message: z.string()
2801
+ })
2802
+ }), z.object({
2803
+ status: z.literal(200),
2804
+ json: z.object({
2805
+ moduleFilePath: ModuleFilePath,
2806
+ errors: z.record(z.string(), z.array(ValidationError)),
2807
+ /** Set when the module's source could not be read at all. */
2808
+ invalidSource: z.string().optional(),
2809
+ /**
2810
+ * Hosts that did not serve this module's remote files: one entry
2811
+ * per host, however many files it holds. Optional so a server
2812
+ * from before remote checks still parses.
2813
+ */
2814
+ remoteHosts: z.array(z.object({
2815
+ host: z.string(),
2816
+ status: z.union([z.literal("missing"), z.literal("unreachable")]),
2817
+ details: z.string(),
2818
+ sourcePaths: z.array(SourcePath)
2819
+ })).optional()
2820
+ })
2821
+ })])
2822
+ }
2823
+ },
2824
+ /**
2825
+ * The patch that fixes one error the full check reported. The server finds
2826
+ * the error again rather than trusting the caller's copy, and builds only the
2827
+ * fixes `STUDIO_FIXES` lists. The patch is returned, not applied: the Studio
2828
+ * adds it as a pending change like any edit.
2829
+ */
2830
+ "/validate/fix": {
2831
+ POST: {
2832
+ req: {
2833
+ body: z.object({
2834
+ moduleFilePath: ModuleFilePath,
2835
+ sourcePath: SourcePath,
2836
+ fix: ValidationFixZ,
2837
+ patchIds: z.array(PatchId).optional()
2838
+ }),
2839
+ cookies: {
2840
+ val_session: z.string().optional()
2841
+ }
2842
+ },
2843
+ res: z.union([unauthorizedResponse, notFoundResponse, z.object({
2844
+ status: z.literal(400),
2845
+ json: z.object({
2846
+ message: z.string()
2847
+ })
2848
+ }), z.object({
2849
+ status: z.literal(500),
2850
+ json: z.object({
2851
+ message: z.string()
2852
+ })
2853
+ }), /** No full check on this server (one running in a browser tab). */
2854
+ z.object({
2855
+ status: z.literal(501),
2856
+ json: z.object({
2857
+ message: z.string()
2858
+ })
2859
+ }), z.object({
2860
+ status: z.literal(200),
2861
+ json: z.object({
2862
+ patch: Patch,
2863
+ remainingErrors: z.array(ValidationError.extend({
2864
+ sourcePath: z.string().optional()
2865
+ }))
2866
+ })
2867
+ })])
2868
+ }
2869
+ },
2765
2870
  "/publish-job-prepare": {
2766
2871
  POST: {
2767
2872
  req: {
@@ -3816,7 +3921,7 @@ var createValClient = function createValClient(host, config, options) {
3816
3921
  _context2.n = 2;
3817
3922
  break;
3818
3923
  }
3819
- console.error("Got an invalid request body while validating client-side. This is most likely a Val bug.", {
3924
+ Internal.log.error("Got an invalid request body while validating client-side. This is most likely a Val bug.", {
3820
3925
  path: path,
3821
3926
  method: method,
3822
3927
  body: anyReq.body,
@@ -3894,7 +3999,7 @@ var createValClient = function createValClient(host, config, options) {
3894
3999
  _context.n = 4;
3895
4000
  break;
3896
4001
  }
3897
- console.error("Server responded with an error", json);
4002
+ Internal.log.error("Server responded with an error", json);
3898
4003
  message = getErrorMessageFromUnknownJson(json, "Unknown error");
3899
4004
  return _context.a(2, {
3900
4005
  status: 500,
@@ -4519,14 +4624,14 @@ function filterRoutesByPatterns(routes, includePattern, excludePattern) {
4519
4624
  try {
4520
4625
  includeRegex = new RegExp(includePattern.source, includePattern.flags);
4521
4626
  } catch (e) {
4522
- console.warn("[Val] Invalid include pattern: /".concat(includePattern.source, "/").concat(includePattern.flags), "\nError: ".concat(e instanceof Error ? e.message : String(e)), "\nAll routes will be filtered out due to malformed include pattern.");
4627
+ Internal.log.warn("[Val] Invalid include pattern: /".concat(includePattern.source, "/").concat(includePattern.flags), "\nError: ".concat(e instanceof Error ? e.message : String(e)), "\nAll routes will be filtered out due to malformed include pattern.");
4523
4628
  }
4524
4629
  }
4525
4630
  if (excludePattern) {
4526
4631
  try {
4527
4632
  excludeRegex = new RegExp(excludePattern.source, excludePattern.flags);
4528
4633
  } catch (e) {
4529
- console.warn("[Val] Invalid exclude pattern: /".concat(excludePattern.source, "/").concat(excludePattern.flags), "\nError: ".concat(e instanceof Error ? e.message : String(e)), "\nAll routes will be filtered out due to malformed exclude pattern.");
4634
+ Internal.log.warn("[Val] Invalid exclude pattern: /".concat(excludePattern.source, "/").concat(excludePattern.flags), "\nError: ".concat(e instanceof Error ? e.message : String(e)), "\nAll routes will be filtered out due to malformed exclude pattern.");
4530
4635
  }
4531
4636
  }
4532
4637
  return routes.filter(function (route) {
@@ -6305,6 +6410,16 @@ function partitionValidationErrors(validationErrors) {
6305
6410
  skipped: skipped
6306
6411
  };
6307
6412
  }
6413
+
6414
+ /**
6415
+ * Whether the Studio leaves this error to the server, which repairs it on
6416
+ * save, rather than showing it and holding a publish back for it. One rule
6417
+ * for every gate: `val publish` asks the same question, so the CLI does not
6418
+ * refuse what the Studio would publish.
6419
+ */
6420
+ function isRepairedOnSave(error) {
6421
+ return isSkippedFix(error);
6422
+ }
6308
6423
  function isSkippedFix(error) {
6309
6424
  var _error$fixes;
6310
6425
  var fixes = (_error$fixes = error.fixes) !== null && _error$fixes !== void 0 ? _error$fixes : [];
@@ -6374,6 +6489,12 @@ function isSkippableFixCode(fix) {
6374
6489
  // under `val external upload` and never under a blanket `--fix`. Surfacing
6375
6490
  // it is the whole point: someone has to decide.
6376
6491
  return false;
6492
+ case "remote:rewrite-host":
6493
+ // Reported only by the server's full check (the Studio's Validate page,
6494
+ // `val validate`), which asks the ref's host -- never by a schema, so
6495
+ // the Studio's own validator never holds one. Were it to, a person has
6496
+ // to see it: the host is gone, and nothing on save repoints the ref.
6497
+ return false;
6377
6498
  default:
6378
6499
  {
6379
6500
  return false;
@@ -6413,6 +6534,33 @@ function filterBlockingValidationErrors(validationErrors, schemas, sources) {
6413
6534
  return partitionValidationErrors(resolved).surfaced;
6414
6535
  }
6415
6536
 
6537
+ /**
6538
+ * The fixes the Studio's full check offers a **Fix** button for.
6539
+ *
6540
+ * Each is one `createFixPatch` can build without a disk: it reads a file's
6541
+ * bytes through `FixFiles`, or needs no bytes at all. The server refuses any
6542
+ * other code on `/validate/fix`, and the Studio shows those errors with the
6543
+ * command to run instead of a button — so a code is added here when its fix
6544
+ * can run in http mode and on the platform, not before. See
6545
+ * `docs/plans/studio-validate.md`, "Order of work".
6546
+ */
6547
+ var STUDIO_FIXES = ["image:add-metadata", "image:check-metadata", "file:add-metadata", "file:check-metadata", "video:add-metadata", "videos:add-metadata", "view:check-module",
6548
+ // A stale remote ref: re-read through `FixFiles.readRemoteFile`, rewritten
6549
+ // on the host it was already on.
6550
+ "image:check-remote", "file:check-remote",
6551
+ // One entry of an `s.imagedir()` / `s.filedir()`: removed when its file is
6552
+ // gone, rewritten from its bytes when they disagree. Built for that entry
6553
+ // alone, never the whole directory (`fixForStudio`).
6554
+ "images:check-all-files", "files:check-all-files",
6555
+ // A platform ref on a host that no longer serves its project, pointed at
6556
+ // the project's own `valstart.dev` address. Derived from the ref alone.
6557
+ "remote:rewrite-host"];
6558
+ function isStudioFix(fix) {
6559
+ return STUDIO_FIXES.some(function (studioFix) {
6560
+ return studioFix === fix;
6561
+ });
6562
+ }
6563
+
6416
6564
  /**
6417
6565
  * Every decision `encode` makes, with none of the pixels.
6418
6566
  *
@@ -8205,7 +8353,7 @@ function schemaTypesOfPath(schema, patchPath) {
8205
8353
  } else {
8206
8354
  var _unreachable = current;
8207
8355
  var unknownType = _unreachable.type;
8208
- console.error("Unexecpted resolved schema type: ".concat(unknownType, " in ").concat(patchPath.join("/"), " at ").concat(pathPart));
8356
+ Internal.log.error("Unexecpted resolved schema type: ".concat(unknownType, " in ").concat(patchPath.join("/"), " at ").concat(pathPart));
8209
8357
  return new Set([unknownType]);
8210
8358
  }
8211
8359
  }
@@ -8544,9 +8692,9 @@ var PatchSets = /*#__PURE__*/function () {
8544
8692
  } catch (e) {
8545
8693
  // We might be in this situation if the schema changes, etc etc:
8546
8694
  if (e instanceof Error) {
8547
- console.error("Could not resolve path while creating patch set", e.message);
8695
+ Internal.log.error("Could not resolve path while creating patch set", e.message);
8548
8696
  } else {
8549
- console.error("Could not resolve path while creating patch set", e);
8697
+ Internal.log.error("Could not resolve path while creating patch set", e);
8550
8698
  }
8551
8699
  // "terminate" the entire module file path (i.e. all patches are their own patch set)
8552
8700
  this.insertPath(moduleFilePath, [], patchId, createdAt, author, op.op, [schema.type], op.path);
@@ -8767,4 +8915,4 @@ function schemaErrorsOf(schema, moduleFilePath, source) {
8767
8915
  return errors;
8768
8916
  }
8769
8917
 
8770
- export { AA_LARGE, AA_TEXT, Api, BRAND_CONTRAST_PAIRS, BinaryFileRef, CodeOptions, ColorOptions, DEFAULT_ERROR_MESSAGE, DateOptions, ENCODE_DEFAULTS, ENCODE_MIME_TYPE_OF, FileOptions, HistoricalCommit, HistoricalModule, HistoricalPatchSet, HistoryError, ImageEncodeOption, ImageOptions, JSONValue, JSON_ENTRIES_BATCH_MAX, ModuleComparison, NEVER_ENCODED, ParentRef$1 as ParentRef, Patch, PatchBlock, PatchId, PatchJSON, PatchSets, PlanRefusalError, PublishProtocolError, RAMP_STEPS, RemirrorBr, RemirrorBulletList, RemirrorHeading, RemirrorImage, RemirrorJSON, RemirrorLinkMark, RemirrorListItem, RemirrorOrderedList, RemirrorParagraph, RemirrorText, RemirrorTextMark, RestoreVerdict, RichTextOptions, SCHEMA_SOURCE_FIXES, SerializedArraySchema, SerializedBooleanSchema, SerializedCodeSchema, SerializedColorSchema, SerializedDateSchema, SerializedDateTimeSchema, SerializedDiscriminatedUnionSchema, SerializedEnumSchema, SerializedFileSchema, SerializedImageSchema, SerializedKeyOfSchema, SerializedLiteralSchema, SerializedLocaleSchema, SerializedNumberSchema, SerializedObjectSchema, SerializedRecordSchema, SerializedRichTextSchema, SerializedRouteSchema, SerializedSchema, SerializedSettingsSchema, SerializedStringSchema, SerializedValViewSchema, SerializedVideoSchema, SharedValConfig, VAL_ENABLE_COOKIE_NAME, VAL_GREEN_RAMP, VAL_SESSION_COOKIE, VAL_STATE_COOKIE, VAL_STUDIO_HEADER, ValCommit, ValDeployment, VideoOptions, VideoStreamOption, WASM_ENCODED_MIME_TYPES, accentRamp, buildDuplicatePatch, buildEmptyAtPathPatch, buildFileRefValue, buildImageGalleryPatch, buildRemoveImageGalleryEntryPatch, buildSearchIndex, chainHeadOf, checkCompatibility, chooseEncoded, concatModulePath, contrastRatio, createRegExpFromPattern, createSearchIndex, createValClient, declaredLocales, describeContainerAtPath, emptyOf, enumLocaleTag, explainIncompatible, fallbackMimeType, filterBlockingValidationErrors, filterRoutesByPatterns, findSimilar, fitWithin, flattenRichText, forEachRichTextImage, getErrorMessageFromUnknownJson, getFilenameFromRef, getInlineImgInfo, getKeyOfRecordAt, getRefParts, getRoutesOf, getRoutesWithModulePaths, getSourceAt, getValDemo, indexModule, isInsidePatchSetPath, isLocaleSchema, isMimeTypeAccepted, isRemoteSchema, isSchemaSourceFixError, isSkippedSource, joinSharedChanges, keyOfRecordPath, levenshtein, localeAt, localeMeantBy, memoizePerRequest, newestCommitSha, parseArtifacts, parseBuildTarget, parseCancel, parseDeclare, parseDiscard, parseJob, parseNewestCiRun, parsePress, parseProblems, parseProjectSource, parsePromote, parsePublishToken, parseRenew, parseRequestStatus, parseStatus, parseUpdateTarget, parseVerify, partitionValidationErrors, performSearch, relativeLuminance, remirrorToRichTextSource, removeModule, resolveEncodeSettings, resolvePairGround, resolveSchemaSourceFixForError, resolveSchemaSourceFixes, resolveSerializedSchemaAtPath, richTextImageSchema, richTextToRemirror, safeParsePatch, schemaErrorsOf, schemaTypesOfPath, selectionClosure, shouldEncodeWithWasm, sideFiles, sideSource, sourcePathOfChild, themeCustomProperties, toolNames, traverseSchemaSource, urlOf, validateRoutePatterns, withExtension };
8918
+ export { AA_LARGE, AA_TEXT, Api, BRAND_CONTRAST_PAIRS, BinaryFileRef, CodeOptions, ColorOptions, DEFAULT_ERROR_MESSAGE, DateOptions, ENCODE_DEFAULTS, ENCODE_MIME_TYPE_OF, FileOptions, HistoricalCommit, HistoricalModule, HistoricalPatchSet, HistoryError, ImageEncodeOption, ImageOptions, JSONValue, JSON_ENTRIES_BATCH_MAX, ModuleComparison, NEVER_ENCODED, ParentRef$1 as ParentRef, Patch, PatchBlock, PatchId, PatchJSON, PatchSets, PlanRefusalError, PublishProtocolError, RAMP_STEPS, RemirrorBr, RemirrorBulletList, RemirrorHeading, RemirrorImage, RemirrorJSON, RemirrorLinkMark, RemirrorListItem, RemirrorOrderedList, RemirrorParagraph, RemirrorText, RemirrorTextMark, RestoreVerdict, RichTextOptions, SCHEMA_SOURCE_FIXES, STUDIO_FIXES, SerializedArraySchema, SerializedBooleanSchema, SerializedCodeSchema, SerializedColorSchema, SerializedDateSchema, SerializedDateTimeSchema, SerializedDiscriminatedUnionSchema, SerializedEnumSchema, SerializedFileSchema, SerializedImageSchema, SerializedKeyOfSchema, SerializedLiteralSchema, SerializedLocaleSchema, SerializedNumberSchema, SerializedObjectSchema, SerializedRecordSchema, SerializedRichTextSchema, SerializedRouteSchema, SerializedSchema, SerializedSettingsSchema, SerializedStringSchema, SerializedValViewSchema, SerializedVideoSchema, SharedValConfig, VAL_ENABLE_COOKIE_NAME, VAL_GREEN_RAMP, VAL_SESSION_COOKIE, VAL_STATE_COOKIE, VAL_STUDIO_HEADER, ValCommit, ValDeployment, VideoOptions, VideoStreamOption, WASM_ENCODED_MIME_TYPES, accentRamp, buildDuplicatePatch, buildEmptyAtPathPatch, buildFileRefValue, buildImageGalleryPatch, buildRemoveImageGalleryEntryPatch, buildSearchIndex, chainHeadOf, checkCompatibility, chooseEncoded, concatModulePath, contrastRatio, createRegExpFromPattern, createSearchIndex, createValClient, declaredLocales, describeContainerAtPath, emptyOf, enumLocaleTag, explainIncompatible, fallbackMimeType, filterBlockingValidationErrors, filterRoutesByPatterns, findSimilar, fitWithin, flattenRichText, forEachRichTextImage, getErrorMessageFromUnknownJson, getFilenameFromRef, getInlineImgInfo, getKeyOfRecordAt, getRefParts, getRoutesOf, getRoutesWithModulePaths, getSourceAt, getValDemo, indexModule, isInsidePatchSetPath, isLocaleSchema, isMimeTypeAccepted, isRemoteSchema, isRepairedOnSave, isSchemaSourceFixError, isSkippedSource, isStudioFix, joinSharedChanges, keyOfRecordPath, levenshtein, localeAt, localeMeantBy, memoizePerRequest, newestCommitSha, parseArtifacts, parseBuildTarget, parseCancel, parseDeclare, parseDiscard, parseJob, parseNewestCiRun, parsePress, parseProblems, parseProjectSource, parsePromote, parsePublishToken, parseRenew, parseRequestStatus, parseStatus, parseUpdateTarget, parseVerify, partitionValidationErrors, performSearch, relativeLuminance, remirrorToRichTextSource, removeModule, resolveEncodeSettings, resolvePairGround, resolveSchemaSourceFixForError, resolveSchemaSourceFixes, resolveSerializedSchemaAtPath, richTextImageSchema, richTextToRemirror, safeParsePatch, schemaErrorsOf, schemaTypesOfPath, selectionClosure, shouldEncodeWithWasm, sideFiles, sideSource, sourcePathOfChild, themeCustomProperties, toolNames, traverseSchemaSource, urlOf, validateRoutePatterns, withExtension };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@valbuild/shared",
3
- "version": "0.147.0",
3
+ "version": "0.148.2",
4
4
  "private": false,
5
5
  "description": "Val shared types and utilities",
6
6
  "repository": {
@@ -37,7 +37,7 @@
37
37
  "flexsearch": "^0.8.212",
38
38
  "zod": "^4.4.3",
39
39
  "zod-validation-error": "^5.0.0",
40
- "@valbuild/core": "0.147.0"
40
+ "@valbuild/core": "0.148.2"
41
41
  },
42
42
  "files": [
43
43
  "CHANGELOG.md",