agent-inspect 6.31.4 → 6.31.6

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 (40) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/docs/SAFE-TRACE-SHARING.md +1 -1
  4. package/package.json +1 -1
  5. package/packages/cli/dist/{chunk-LKEPABND.mjs → chunk-YXDNWHNJ.mjs} +5 -8
  6. package/packages/cli/dist/chunk-YXDNWHNJ.mjs.map +1 -0
  7. package/packages/cli/dist/index.cjs +120 -21
  8. package/packages/cli/dist/index.cjs.map +1 -1
  9. package/packages/cli/dist/index.mjs +120 -18
  10. package/packages/cli/dist/index.mjs.map +1 -1
  11. package/packages/cli/dist/{src-4WYF5RFI.mjs → src-H22KNWAZ.mjs} +3 -3
  12. package/packages/cli/dist/{src-4WYF5RFI.mjs.map → src-H22KNWAZ.mjs.map} +1 -1
  13. package/packages/core/dist/advanced.cjs +1 -1
  14. package/packages/core/dist/advanced.cjs.map +1 -1
  15. package/packages/core/dist/advanced.mjs +9 -9
  16. package/packages/core/dist/checks.cjs +2 -5
  17. package/packages/core/dist/checks.cjs.map +1 -1
  18. package/packages/core/dist/checks.mjs +3 -3
  19. package/packages/core/dist/{chunk-2KJR6X4V.mjs → chunk-DK3OW6UI.mjs} +3 -3
  20. package/packages/core/dist/chunk-DK3OW6UI.mjs.map +1 -0
  21. package/packages/core/dist/{chunk-NY4ILMXK.mjs → chunk-EXGQLMVB.mjs} +3 -3
  22. package/packages/core/dist/{chunk-NY4ILMXK.mjs.map → chunk-EXGQLMVB.mjs.map} +1 -1
  23. package/packages/core/dist/{chunk-PKDBFBJ7.mjs → chunk-LXYPM2ZO.mjs} +5 -8
  24. package/packages/core/dist/{chunk-PKDBFBJ7.mjs.map → chunk-LXYPM2ZO.mjs.map} +1 -1
  25. package/packages/core/dist/{chunk-INE5IWLN.mjs → chunk-N5PZAI6Q.mjs} +3 -3
  26. package/packages/core/dist/{chunk-INE5IWLN.mjs.map → chunk-N5PZAI6Q.mjs.map} +1 -1
  27. package/packages/core/dist/{chunk-MTMTXTJL.mjs → chunk-VQUB3WRI.mjs} +4 -4
  28. package/packages/core/dist/{chunk-MTMTXTJL.mjs.map → chunk-VQUB3WRI.mjs.map} +1 -1
  29. package/packages/core/dist/exporters.cjs +58 -7
  30. package/packages/core/dist/exporters.cjs.map +1 -1
  31. package/packages/core/dist/exporters.mjs +60 -9
  32. package/packages/core/dist/exporters.mjs.map +1 -1
  33. package/packages/core/dist/index.cjs +1 -1
  34. package/packages/core/dist/index.cjs.map +1 -1
  35. package/packages/core/dist/index.mjs +4 -4
  36. package/packages/core/dist/writers.cjs +1 -1
  37. package/packages/core/dist/writers.cjs.map +1 -1
  38. package/packages/core/dist/writers.mjs +1 -1
  39. package/packages/cli/dist/chunk-LKEPABND.mjs.map +0 -1
  40. package/packages/core/dist/chunk-2KJR6X4V.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { ATTRIBUTION_CONFIDENCES, createSafetyRawContentRule, createSafetyRedactionRule, createSafetySecretPatternRule, createSafetyOversizedAttributeRule, resolveTraceDir, parseDuration, buildSessionIndex, resolveBundleRunIds, getTraceFilePath, openTrace, sha256Hex, collectTraceSchemaVersions, aggregateBundleSafeStatus, bundleFailsOnSafety, bundleRunAssetRelativePath, buildPlaceholderArtifact, EVIDENCE_HTML_FILENAME, EVIDENCE_MANIFEST_FILENAME, buildBundleMetadata, buildBundleSummaryMarkdown, buildEvidenceHtmlShell, buildEvidenceProvenanceViewHtml, EVIDENCE_FORMAT_VERSION, inferEvidenceFileRole, buildEvidenceSafetyViewHtml, buildEvidenceDiffViewHtml, buildEvidenceCircuitViewHtml, buildEvidenceOutcomesViewHtml, buildEvidenceContractsViewHtml, buildEvidenceToolsLlmViewHtml, buildEvidenceCausalFailureViewHtml, buildEvidenceTimelineViewHtml, buildEvidenceTreeViewHtml, buildEvidenceManifest, serializeEvidenceManifest, buildZipArchive, assertBundlePathContained, enrichSessionRunRecord, normalizeBundleOutputPath, sanitizeBundleRunId, defaultBundleOutputPath, runTraceChecks, assertEvidenceRelativePath, TraceDirectory, loadTraceMetadataList, loadSessionRunRecords, TraceReadError, resolveRedactionProfile, applyProfileMetadataCaps, Redactor, flattenTree, escapeHtml, safeString, compactAttributes, stableJson, escapeMarkdown, DEFAULT_REDACT_KEYS, truncateStringForProfile, stringContainsHighConfidenceCredential, isCredentialSensitiveKey, extractMetadata, filterTraces, truncateName, buildRunSummary, formatDuration, formatTimestamp, renderErrorLine, isAgentInspectTrace, defineTraceContract, filterMetasBySessionScope, evaluateTraceContract, aggregateSessionCheckResults, createBaselineRegressionRule, summarizeSemanticParity, buildEvidenceCiPackage, verifyEvidenceDirectory, diffTraceEvents, renderRunDiff, buildRunTimeline, renderTimeline, buildTraceStats, renderTraceStats, parseDurationFilter, searchTraces, formatStepLabel, buildActivitySummary, renderActivitySummaryHuman, buildRunWhatSummary, renderRunWhat, buildLocalExplanation, resolveSuiteTemplate, defaultSuiteConfigTemplate, loadSuiteConfig, validateSuiteConfig, runSuite, renderSuiteReport, analyzeCohort, renderCohortReport, gateHasThresholds, runGate, renderGateReport, persistedInspectEventsToTraceEvents, renderStepLine, getIndent, TreeBuilder, zeroKinds, validateEvent, traceEventToPersistedInspectEvent, isPersistedInspectEvent, createRunStatusRule, createStructureOrphanRule, createStructureCycleRule, createRunDurationRule, createMaxStepDurationRule, createRequireCompletedRule, createStallDetectionRule, createObservedOutcomeRule, createRunDepthRule, createToolUsageRule, createLlmUsageRule, createStructureRelationshipRule, createStructureParallelWidthRule, projectLogicalEvents, summarizeObservedOutcomes, extractOutcomesFromTraceEvents, renderObservedOutcomesMarkdown, renderObservedOutcomesHtml, DEFAULT_SUITE_ARTIFACTS_DIR, parseCohortMetricList, COHORT_METRIC_IDS, parseGateList, nanoid, isAttributionConfidence, diffRuns, manualTraceEventsToComparableRun } from './chunk-LKEPABND.mjs';
2
+ import { ATTRIBUTION_CONFIDENCES, createSafetyRawContentRule, createSafetyRedactionRule, createSafetySecretPatternRule, createSafetyOversizedAttributeRule, resolveTraceDir, parseDuration, buildSessionIndex, resolveBundleRunIds, getTraceFilePath, openTrace, sha256Hex, collectTraceSchemaVersions, aggregateBundleSafeStatus, bundleFailsOnSafety, bundleRunAssetRelativePath, buildPlaceholderArtifact, EVIDENCE_HTML_FILENAME, EVIDENCE_MANIFEST_FILENAME, buildBundleMetadata, buildBundleSummaryMarkdown, buildEvidenceHtmlShell, buildEvidenceProvenanceViewHtml, EVIDENCE_FORMAT_VERSION, inferEvidenceFileRole, buildEvidenceSafetyViewHtml, buildEvidenceDiffViewHtml, buildEvidenceCircuitViewHtml, buildEvidenceOutcomesViewHtml, buildEvidenceContractsViewHtml, buildEvidenceToolsLlmViewHtml, buildEvidenceCausalFailureViewHtml, buildEvidenceTimelineViewHtml, buildEvidenceTreeViewHtml, buildEvidenceManifest, serializeEvidenceManifest, buildZipArchive, assertBundlePathContained, enrichSessionRunRecord, normalizeBundleOutputPath, sanitizeBundleRunId, defaultBundleOutputPath, runTraceChecks, assertEvidenceRelativePath, TraceDirectory, loadTraceMetadataList, loadSessionRunRecords, TraceReadError, resolveRedactionProfile, applyProfileMetadataCaps, Redactor, flattenTree, escapeHtml, safeString, compactAttributes, stableJson, escapeMarkdown, DEFAULT_REDACT_KEYS, truncateStringForProfile, stringContainsHighConfidenceCredential, isCredentialSensitiveKey, extractMetadata, filterTraces, truncateName, buildRunSummary, formatDuration, formatTimestamp, renderErrorLine, isAgentInspectTrace, defineTraceContract, filterMetasBySessionScope, evaluateTraceContract, aggregateSessionCheckResults, createBaselineRegressionRule, summarizeSemanticParity, buildEvidenceCiPackage, verifyEvidenceDirectory, diffTraceEvents, renderRunDiff, buildRunTimeline, renderTimeline, buildTraceStats, renderTraceStats, parseDurationFilter, searchTraces, formatStepLabel, buildActivitySummary, renderActivitySummaryHuman, buildRunWhatSummary, renderRunWhat, buildLocalExplanation, resolveSuiteTemplate, defaultSuiteConfigTemplate, loadSuiteConfig, validateSuiteConfig, runSuite, renderSuiteReport, analyzeCohort, renderCohortReport, gateHasThresholds, runGate, renderGateReport, persistedInspectEventsToTraceEvents, renderStepLine, getIndent, TreeBuilder, zeroKinds, validateEvent, traceEventToPersistedInspectEvent, isPersistedInspectEvent, createRunStatusRule, createStructureOrphanRule, createStructureCycleRule, createRunDurationRule, createMaxStepDurationRule, createRequireCompletedRule, createStallDetectionRule, createObservedOutcomeRule, createRunDepthRule, createToolUsageRule, createLlmUsageRule, createStructureRelationshipRule, createStructureParallelWidthRule, projectLogicalEvents, summarizeObservedOutcomes, extractOutcomesFromTraceEvents, renderObservedOutcomesMarkdown, renderObservedOutcomesHtml, DEFAULT_SUITE_ARTIFACTS_DIR, parseCohortMetricList, COHORT_METRIC_IDS, parseGateList, nanoid, isAttributionConfidence, diffRuns, manualTraceEventsToComparableRun } from './chunk-YXDNWHNJ.mjs';
3
3
  import { realpathSync, constants as constants$1, existsSync, readFileSync } from 'fs';
4
4
  import path19 from 'path';
5
5
  import { fileURLToPath, pathToFileURL } from 'url';
@@ -14,7 +14,7 @@ import { createServer } from 'http';
14
14
  import { createRequire } from 'module';
15
15
 
16
16
  // package.json
17
- var version = "6.31.4";
17
+ var version = "6.31.6";
18
18
 
19
19
  // packages/cli/src/trace-dir-scale.ts
20
20
  var TRACE_COUNT_WARN = 1e3;
@@ -1762,6 +1762,21 @@ var EXPORT_PAYLOAD_VERSION = "0.1.2";
1762
1762
 
1763
1763
  // packages/core/src/safety/url-redaction.ts
1764
1764
  var HTTP_URL = /^https?:\/\/[^\s]+$/i;
1765
+ var CONNECTION_PROTOCOLS = /* @__PURE__ */ new Set([
1766
+ "postgres:",
1767
+ "postgresql:",
1768
+ "mysql:",
1769
+ "mariadb:",
1770
+ "mongodb:",
1771
+ "mongodb+srv:",
1772
+ "redis:",
1773
+ "rediss:",
1774
+ "amqp:",
1775
+ "amqps:"
1776
+ ]);
1777
+ var CONNECTION_URI = /^(?:postgres|postgresql|mysql|mariadb|mongodb(?:\+srv)?|rediss?|amqps?):\/\/[^\s]+$/i;
1778
+ var CONNECTION_USERINFO = /^(postgres|postgresql|mysql|mariadb|mongodb(?:\+srv)?|rediss?|amqps?):\/\/([^@/?#]+)@(.+)$/i;
1779
+ var CONNECTION_HAS_USERINFO = /^(?:postgres|postgresql|mysql|mariadb|mongodb(?:\+srv)?|rediss?|amqps?):\/\/[^@/?#]+@/i;
1765
1780
  var UUID_SEGMENT = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1766
1781
  var HEX_SEGMENT = /^[0-9a-f]{12,}$/i;
1767
1782
  var NUMERIC_SEGMENT = /^\d{5,}$/;
@@ -1769,14 +1784,47 @@ var OPAQUE_SEGMENT = /^[A-Za-z0-9_-]{20,}$/;
1769
1784
  function looksLikeHttpUrl(value) {
1770
1785
  return HTTP_URL.test(value.trim());
1771
1786
  }
1772
- function parseHttpUrl(value) {
1787
+ function looksLikeConnectionUri(value) {
1788
+ return CONNECTION_URI.test(value.trim());
1789
+ }
1790
+ function looksLikeUrlForRedaction(value) {
1791
+ return looksLikeHttpUrl(value) || looksLikeConnectionUri(value);
1792
+ }
1793
+ function parseRedactableUrl(value) {
1773
1794
  try {
1774
1795
  const url = new URL(value.trim());
1775
- return url.protocol === "http:" || url.protocol === "https:" ? url : void 0;
1796
+ if (url.protocol === "http:" || url.protocol === "https:") return url;
1797
+ if (CONNECTION_PROTOCOLS.has(url.protocol)) return url;
1798
+ return void 0;
1776
1799
  } catch {
1777
1800
  return void 0;
1778
1801
  }
1779
1802
  }
1803
+ function redactConnectionUserinfoFallback(value, replacement) {
1804
+ const trimmed = value.trim();
1805
+ const match = CONNECTION_USERINFO.exec(trimmed);
1806
+ if (match) {
1807
+ const [, scheme, , rest] = match;
1808
+ if (scheme && rest && rest.length > 0) {
1809
+ return {
1810
+ value: `${scheme}://${rest}`,
1811
+ credentialRedacted: true,
1812
+ identifiersMasked: false
1813
+ };
1814
+ }
1815
+ }
1816
+ if (looksLikeConnectionUri(trimmed) && CONNECTION_HAS_USERINFO.test(trimmed)) {
1817
+ return {
1818
+ value: replacement,
1819
+ credentialRedacted: true,
1820
+ identifiersMasked: false
1821
+ };
1822
+ }
1823
+ return void 0;
1824
+ }
1825
+ function isHttpProtocol(protocol) {
1826
+ return protocol === "http:" || protocol === "https:";
1827
+ }
1780
1828
  function isIdentifierSegment(segment) {
1781
1829
  if (UUID_SEGMENT.test(segment)) return true;
1782
1830
  if (HEX_SEGMENT.test(segment)) return true;
@@ -1814,15 +1862,18 @@ function redactUrlString(value, options) {
1814
1862
  credentialRedacted: false,
1815
1863
  identifiersMasked: false
1816
1864
  };
1817
- if (!looksLikeHttpUrl(value)) return unchanged;
1818
- const url = parseHttpUrl(value);
1819
- if (!url) return unchanged;
1865
+ if (!looksLikeUrlForRedaction(value)) return unchanged;
1820
1866
  const replacement = options.replacement ?? "[REDACTED]";
1867
+ const url = parseRedactableUrl(value);
1868
+ if (!url) {
1869
+ return redactConnectionUserinfoFallback(value, replacement) ?? unchanged;
1870
+ }
1821
1871
  const idPlaceholder = options.idPlaceholder ?? "[id]";
1872
+ const http = isHttpProtocol(url.protocol);
1822
1873
  let credentialRedacted = url.username.length > 0 || url.password.length > 0;
1823
1874
  let identifiersMasked = false;
1824
1875
  let pathname = url.pathname;
1825
- if (options.maskPathIds === true) {
1876
+ if (http && options.maskPathIds === true) {
1826
1877
  pathname = url.pathname.split("/").map((segment) => {
1827
1878
  if (segment.length === 0 || !isIdentifierSegment(decodeParam(segment))) {
1828
1879
  return segment;
@@ -3514,7 +3565,7 @@ async function newestTraceMtimeMs(traceDir) {
3514
3565
  }
3515
3566
  async function loadSessionRuns(traceDir) {
3516
3567
  try {
3517
- const mod = await import('./src-4WYF5RFI.mjs');
3568
+ const mod = await import('./src-H22KNWAZ.mjs');
3518
3569
  const dbPath = mod.resolveIndexDbPath(traceDir);
3519
3570
  const status = mod.indexStatus(dbPath);
3520
3571
  if (!status.healthy) {
@@ -4037,7 +4088,7 @@ function isCredentialSensitiveKey2(key, sensitiveKeys) {
4037
4088
  }
4038
4089
 
4039
4090
  // packages/redact/src/key-value-secret.ts
4040
- var KEY_VALUE_SECRET_PATTERN_SOURCE = String.raw`\b(?:api[_-]?key|internal[_-]?token|access[_-]?token|auth[_-]?token|password|secret|token)=(?!\[(?:REDACTED(?::[^\]]*)?|HASH:[0-9a-f]{8})\](?![^\s"'\\&#?;/]))([^\s"'\\]{8,})`;
4091
+ var KEY_VALUE_SECRET_PATTERN_SOURCE = String.raw`\b(?:api[_-]?key|internal[_-]?token|access[_-]?token|auth[_-]?token|password|secret|token)=(?!\[(?:REDACTED(?::[^\]]*)?|HASH:[0-9a-f]{8})\](?![^\s"'\\&#?]))([^\s"'\\]{8,})`;
4041
4092
  var KEY_VALUE_SECRET_PATTERN = new RegExp(
4042
4093
  KEY_VALUE_SECRET_PATTERN_SOURCE,
4043
4094
  "i"
@@ -4049,6 +4100,21 @@ function valueContainsKeyValueSecret(value) {
4049
4100
 
4050
4101
  // packages/redact/src/url-redaction.ts
4051
4102
  var HTTP_URL2 = /^https?:\/\/[^\s]+$/i;
4103
+ var CONNECTION_PROTOCOLS2 = /* @__PURE__ */ new Set([
4104
+ "postgres:",
4105
+ "postgresql:",
4106
+ "mysql:",
4107
+ "mariadb:",
4108
+ "mongodb:",
4109
+ "mongodb+srv:",
4110
+ "redis:",
4111
+ "rediss:",
4112
+ "amqp:",
4113
+ "amqps:"
4114
+ ]);
4115
+ var CONNECTION_URI2 = /^(?:postgres|postgresql|mysql|mariadb|mongodb(?:\+srv)?|rediss?|amqps?):\/\/[^\s]+$/i;
4116
+ var CONNECTION_USERINFO2 = /^(postgres|postgresql|mysql|mariadb|mongodb(?:\+srv)?|rediss?|amqps?):\/\/([^@/?#]+)@(.+)$/i;
4117
+ var CONNECTION_HAS_USERINFO2 = /^(?:postgres|postgresql|mysql|mariadb|mongodb(?:\+srv)?|rediss?|amqps?):\/\/[^@/?#]+@/i;
4052
4118
  var UUID_SEGMENT2 = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
4053
4119
  var HEX_SEGMENT2 = /^[0-9a-f]{12,}$/i;
4054
4120
  var NUMERIC_SEGMENT2 = /^\d{5,}$/;
@@ -4056,14 +4122,47 @@ var OPAQUE_SEGMENT2 = /^[A-Za-z0-9_-]{20,}$/;
4056
4122
  function looksLikeHttpUrl2(value) {
4057
4123
  return HTTP_URL2.test(value.trim());
4058
4124
  }
4059
- function parseHttpUrl2(value) {
4125
+ function looksLikeConnectionUri2(value) {
4126
+ return CONNECTION_URI2.test(value.trim());
4127
+ }
4128
+ function looksLikeUrlForRedaction2(value) {
4129
+ return looksLikeHttpUrl2(value) || looksLikeConnectionUri2(value);
4130
+ }
4131
+ function parseRedactableUrl2(value) {
4060
4132
  try {
4061
4133
  const url = new URL(value.trim());
4062
- return url.protocol === "http:" || url.protocol === "https:" ? url : void 0;
4134
+ if (url.protocol === "http:" || url.protocol === "https:") return url;
4135
+ if (CONNECTION_PROTOCOLS2.has(url.protocol)) return url;
4136
+ return void 0;
4063
4137
  } catch {
4064
4138
  return void 0;
4065
4139
  }
4066
4140
  }
4141
+ function redactConnectionUserinfoFallback2(value, replacement) {
4142
+ const trimmed = value.trim();
4143
+ const match = CONNECTION_USERINFO2.exec(trimmed);
4144
+ if (match) {
4145
+ const [, scheme, , rest] = match;
4146
+ if (scheme && rest && rest.length > 0) {
4147
+ return {
4148
+ value: `${scheme}://${rest}`,
4149
+ credentialRedacted: true,
4150
+ identifiersMasked: false
4151
+ };
4152
+ }
4153
+ }
4154
+ if (looksLikeConnectionUri2(trimmed) && CONNECTION_HAS_USERINFO2.test(trimmed)) {
4155
+ return {
4156
+ value: replacement,
4157
+ credentialRedacted: true,
4158
+ identifiersMasked: false
4159
+ };
4160
+ }
4161
+ return void 0;
4162
+ }
4163
+ function isHttpProtocol2(protocol) {
4164
+ return protocol === "http:" || protocol === "https:";
4165
+ }
4067
4166
  function isIdentifierSegment2(segment) {
4068
4167
  if (UUID_SEGMENT2.test(segment)) return true;
4069
4168
  if (HEX_SEGMENT2.test(segment)) return true;
@@ -4101,15 +4200,18 @@ function redactUrlString2(value, options) {
4101
4200
  credentialRedacted: false,
4102
4201
  identifiersMasked: false
4103
4202
  };
4104
- if (!looksLikeHttpUrl2(value)) return unchanged;
4105
- const url = parseHttpUrl2(value);
4106
- if (!url) return unchanged;
4203
+ if (!looksLikeUrlForRedaction2(value)) return unchanged;
4107
4204
  const replacement = options.replacement ?? "[REDACTED]";
4205
+ const url = parseRedactableUrl2(value);
4206
+ if (!url) {
4207
+ return redactConnectionUserinfoFallback2(value, replacement) ?? unchanged;
4208
+ }
4108
4209
  const idPlaceholder = options.idPlaceholder ?? "[id]";
4210
+ const http = isHttpProtocol2(url.protocol);
4109
4211
  let credentialRedacted = url.username.length > 0 || url.password.length > 0;
4110
4212
  let identifiersMasked = false;
4111
4213
  let pathname = url.pathname;
4112
- if (options.maskPathIds === true) {
4214
+ if (http && options.maskPathIds === true) {
4113
4215
  pathname = url.pathname.split("/").map((segment) => {
4114
4216
  if (segment.length === 0 || !isIdentifierSegment2(decodeParam2(segment))) {
4115
4217
  return segment;
@@ -4559,7 +4661,7 @@ var Redactor2 = class {
4559
4661
  return applyRule(rule, value, this.#replacement);
4560
4662
  }
4561
4663
  }
4562
- if (typeof value === "string" && looksLikeHttpUrl2(value)) {
4664
+ if (typeof value === "string" && looksLikeUrlForRedaction2(value)) {
4563
4665
  const url = redactUrlString2(value, {
4564
4666
  sensitiveKeys: this.#sensitiveKeys,
4565
4667
  isSensitiveValue: (candidate) => this.#detect(candidate, key, path30) !== void 0,
@@ -13289,7 +13391,7 @@ function isModuleNotFound4(e) {
13289
13391
  }
13290
13392
  async function loadIndexSqlite() {
13291
13393
  try {
13292
- return await import('./src-4WYF5RFI.mjs');
13394
+ return await import('./src-H22KNWAZ.mjs');
13293
13395
  } catch (e) {
13294
13396
  if (isModuleNotFound4(e)) {
13295
13397
  console.error(