@clarify-labs/renderer 0.9.2 → 0.9.4

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 (49) hide show
  1. package/output/{ClarifyShell-DdYRgrfY.cjs → ClarifyShell-7r92MZg9.cjs} +134 -75
  2. package/output/ClarifyShell-7r92MZg9.cjs.map +1 -0
  3. package/output/{ClarifyShell-C38EkErX.js → ClarifyShell-D2P0iZ_m.js} +128 -75
  4. package/output/ClarifyShell-D2P0iZ_m.js.map +1 -0
  5. package/output/{OpenApiOperation-CP_fxT_F.cjs → OpenApiOperation-CyyPlZL6.cjs} +389 -135
  6. package/output/OpenApiOperation-CyyPlZL6.cjs.map +1 -0
  7. package/output/{OpenApiOperation-DIFaYAe5.js → OpenApiOperation-Dhlz3JSx.js} +391 -137
  8. package/output/OpenApiOperation-Dhlz3JSx.js.map +1 -0
  9. package/output/{PageActions-B08cDCzq.cjs → PageActions-CTn2XkPg.cjs} +16 -31
  10. package/output/PageActions-CTn2XkPg.cjs.map +1 -0
  11. package/output/{PageActions-tmnpzi23.js → PageActions-D0PA8Zv5.js} +11 -26
  12. package/output/PageActions-D0PA8Zv5.js.map +1 -0
  13. package/output/app/ContentDiagnostic.d.ts +9 -0
  14. package/output/app/ErrorBoundary.d.ts +0 -2
  15. package/output/app/RenderErrorPanel.d.ts +20 -0
  16. package/output/client.cjs +3 -3
  17. package/output/client.js +3 -3
  18. package/output/components/Tabs.d.ts +16 -0
  19. package/output/components/index.d.ts +1 -0
  20. package/output/core/context.d.ts +1 -0
  21. package/output/core/i18n.d.ts +1 -1
  22. package/output/core/types.d.ts +1 -0
  23. package/output/index.cjs +43 -4
  24. package/output/index.cjs.map +1 -1
  25. package/output/index.d.ts +5 -3
  26. package/output/index.js +42 -5
  27. package/output/index.js.map +1 -1
  28. package/output/openapi/components/EndpointSections.d.ts +2 -0
  29. package/output/openapi/components/ExamplePanels.d.ts +2 -0
  30. package/output/openapi/components/OpenApiOperation.d.ts +6 -0
  31. package/output/openapi/components/SchemaProperties.d.ts +3 -0
  32. package/output/openapi/entry.d.ts +5 -0
  33. package/output/openapi/index.d.ts +2 -2
  34. package/output/preview.cjs +2 -2
  35. package/output/preview.js +2 -2
  36. package/output/{render-6gHfrR9h.js → render-CwSsfrs7.js} +2 -2
  37. package/output/{render-6gHfrR9h.js.map → render-CwSsfrs7.js.map} +1 -1
  38. package/output/{render-Bvf5ZMZb.cjs → render-DXDSIfZ8.cjs} +2 -2
  39. package/output/{render-Bvf5ZMZb.cjs.map → render-DXDSIfZ8.cjs.map} +1 -1
  40. package/output/renderer.css +47 -1
  41. package/output/server.cjs +2 -2
  42. package/output/server.js +2 -2
  43. package/package.json +1 -1
  44. package/output/ClarifyShell-C38EkErX.js.map +0 -1
  45. package/output/ClarifyShell-DdYRgrfY.cjs.map +0 -1
  46. package/output/OpenApiOperation-CP_fxT_F.cjs.map +0 -1
  47. package/output/OpenApiOperation-DIFaYAe5.js.map +0 -1
  48. package/output/PageActions-B08cDCzq.cjs.map +0 -1
  49. package/output/PageActions-tmnpzi23.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-DakpK96I.cjs");
2
- const require_PageActions = require("./PageActions-B08cDCzq.cjs");
2
+ const require_PageActions = require("./PageActions-CTn2XkPg.cjs");
3
3
  let clsx = require("clsx");
4
4
  clsx = require_chunk.__toESM(clsx, 1);
5
5
  let react = require("react");
@@ -110,6 +110,15 @@ function LazySlotComponent(props) {
110
110
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Component, {});
111
111
  }
112
112
  //#endregion
113
+ //#region source/utils/hash.ts
114
+ function safeDecodeURIComponent(value) {
115
+ try {
116
+ return decodeURIComponent(value);
117
+ } catch {
118
+ return value;
119
+ }
120
+ }
121
+ //#endregion
113
122
  //#region source/assets/clarify.svg?url
114
123
  var clarify_default = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='279px'%20height='200px'%20viewBox='0%200%20279%20200'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3eclarify%3c/title%3e%3cg%20id='页面-1'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cg%20id='clarify'%20transform='translate(-0,%200.0054)'%3e%3cpath%20d='M44.867217,0.0054376148%20C130.715579,1.00591567%20200,70.9091172%20200,156.994562%20L199.986321,155.127494%20C199.384888,180.009127%20179.026368,199.994562%20154,199.994562%20L46,199.994562%20C20.5949015,199.994562%200,179.399661%200,153.994562%20L0,45.9945624%20C0,21.0975659%2019.7793434,0.820282524%2044.4815926,0.0191499894%20Z'%20fill='%2300D492'%3e%3c/path%3e%3cpath%20d='M123.867217,0.0054376148%20C209.715579,1.00591567%20279,70.9091172%20279,156.994562%20L278.986321,155.127494%20C278.384888,180.009127%20258.026368,199.994562%20233,199.994562%20L125,199.994562%20C99.5949015,199.994562%2079,179.399661%2079,153.994562%20L79,45.9945624%20C79,21.0975659%2098.7793434,0.820282524%20123.481593,0.0191499894%20Z'%20id='clarify-right'%20fill-opacity='0.6'%20fill='%2300F6C9'%20transform='translate(179,%20100)%20rotate(-90)%20translate(-179,%20-100)'%3e%3c/path%3e%3cpath%20d='M199.979267,154.416906%20L199.984438,155.157125%20L199.962366,155.872459%20C198.977251,180.406837%20178.776104,199.994562%20154,199.994562%20L124.372438,199.994125%20L124.249053,199.994081%20C99.6939678,199.603921%2079.8122712,179.973634%2079.01915,155.518407%20L79.0054376,155.132783%20C79.5830823,105.566626%20103.129768,61.5221348%20139.498462,33.1463428%20C175.69419,61.3871018%20199.186123,105.143863%20199.979267,154.416906%20Z'%20id='形状结合'%20fill='%2300F692'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e";
115
124
  //#endregion
@@ -137,22 +146,27 @@ function BuiltWithClarify() {
137
146
  });
138
147
  }
139
148
  //#endregion
140
- //#region source/app/ErrorBoundary.tsx
141
- function PageErrorPanel(props) {
142
- const { title, description, reloadLabel, detailsLabel, pathLabel, typeLabel, messageLabel, stackLabel, componentStackLabel, timestampLabel, copyLabel, copiedLabel, path, error, errorInfo, occurredAt } = props;
143
- const [copiedStack, setCopiedStack] = (0, react.useState)(false);
144
- const stack = error.stack ?? error.message;
145
- const componentStack = errorInfo?.componentStack?.trim();
146
- const stackText = componentStack ? `${stack}\n\n${componentStackLabel}\n${componentStack}` : stack;
147
- const capturedAt = occurredAt ?? (/* @__PURE__ */ new Date()).toISOString();
148
- async function copyStack() {
149
- if (!await require_PageActions.copyTextToClipboard(stackText)) return;
150
- setCopiedStack(true);
151
- window.setTimeout(() => setCopiedStack(false), 1600);
152
- }
149
+ //#region source/app/RenderErrorPanel.tsx
150
+ function RenderErrorPanel(props) {
151
+ const { title, description, eyebrowLabel = "Render error", action, metadata = [], detailsLabel, detailsHeaderAction, detailsContent, titleId = "clarify-render-error-title", refreshLabel, onRefresh } = props;
152
+ const t = require_PageActions.useBuiltInText();
153
+ const config = require_PageActions.useConfigOptional();
154
+ const resolvedRefreshLabel = refreshLabel ?? t("renderError.reload");
155
+ const resolvedVersion = config?.version ?? "0.0.0";
156
+ const resolvedMetadata = [...metadata, {
157
+ label: t("renderError.version"),
158
+ value: resolvedVersion
159
+ }];
160
+ const handleRefresh = () => {
161
+ if (onRefresh) {
162
+ onRefresh();
163
+ return;
164
+ }
165
+ if (typeof window !== "undefined") window.location.reload();
166
+ };
153
167
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("section", {
154
168
  className: "mx-auto flex min-h-(--clarify-error-page-min-height) w-full max-w-4xl flex-col justify-center py-16 text-(--clarify-theme-tokens-colors-foreground)",
155
- "aria-labelledby": "clarify-render-error-title",
169
+ "aria-labelledby": titleId,
156
170
  role: "alert",
157
171
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
158
172
  className: "border-t-2 border-(--clarify-error-accent-text) pt-8",
@@ -162,10 +176,10 @@ function PageErrorPanel(props) {
162
176
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [
163
177
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
164
178
  className: "font-mono text-xs/5 font-semibold uppercase tracking-wide text-(--clarify-error-accent-text)",
165
- children: "Render error"
179
+ children: eyebrowLabel
166
180
  }),
167
181
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h1", {
168
- id: "clarify-render-error-title",
182
+ id: titleId,
169
183
  className: "mt-3 text-3xl/9 font-semibold tracking-tight text-(--clarify-theme-tokens-colors-foreground)",
170
184
  children: title
171
185
  }),
@@ -173,20 +187,22 @@ function PageErrorPanel(props) {
173
187
  className: "mt-4 max-w-2xl text-sm/6 text-(--clarify-theme-tokens-colors-muted)",
174
188
  children: description
175
189
  })
176
- ] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
177
- type: "button",
178
- className: "inline-flex shrink-0 items-center rounded-(--clarify-theme-tokens-radius-md) bg-(--clarify-theme-tokens-colors-primary) px-4 py-2 text-sm/5 font-semibold text-white shadow-xs transition hover:opacity-90",
179
- onClick: () => window.location.reload(),
180
- children: reloadLabel
190
+ ] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
191
+ className: "flex shrink-0 items-center gap-3",
192
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
193
+ type: "button",
194
+ className: "rounded-(--clarify-theme-tokens-radius-sm) border border-(--clarify-theme-tokens-colors-border) px-3 py-2 text-sm/5 font-semibold text-(--clarify-ui-text-soft) transition hover:bg-(--clarify-ui-hover-background) hover:text-(--clarify-ui-text-strong)",
195
+ onClick: handleRefresh,
196
+ children: resolvedRefreshLabel
197
+ }), action ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
198
+ className: "shrink-0",
199
+ children: action
200
+ }) : null]
181
201
  })]
182
202
  }),
183
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("dl", {
203
+ resolvedMetadata.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("dl", {
184
204
  className: "mt-8 grid gap-px overflow-hidden rounded-(--clarify-theme-tokens-radius-lg) border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-border) sm:grid-cols-3",
185
- children: [
186
- [pathLabel, path],
187
- [typeLabel, error.name],
188
- [timestampLabel, capturedAt]
189
- ].map(([label, value]) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
205
+ children: resolvedMetadata.map(({ label, value }, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
190
206
  className: "min-w-0 bg-(--clarify-theme-tokens-colors-surface) px-4 py-3",
191
207
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("dt", {
192
208
  className: "text-xs/5 font-semibold uppercase tracking-wide text-(--clarify-ui-text-faint)",
@@ -196,8 +212,8 @@ function PageErrorPanel(props) {
196
212
  title: value,
197
213
  children: value
198
214
  })]
199
- }, label))
200
- }),
215
+ }, `${label}-${index}`))
216
+ }) : null,
201
217
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
202
218
  className: "mt-6 overflow-hidden rounded-(--clarify-theme-tokens-radius-lg) border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-code-background)",
203
219
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
@@ -205,59 +221,86 @@ function PageErrorPanel(props) {
205
221
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
206
222
  className: "text-sm/6 font-semibold text-(--clarify-ui-text-strong)",
207
223
  children: detailsLabel
208
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
209
- type: "button",
210
- className: "rounded-(--clarify-theme-tokens-radius-sm) px-2 py-1 text-xs/5 font-semibold text-(--clarify-ui-text-soft) ring-1 ring-(--clarify-theme-tokens-colors-border) transition hover:bg-(--clarify-ui-hover-background) hover:text-(--clarify-ui-text-strong)",
211
- onClick: copyStack,
212
- children: copiedStack ? copiedLabel : copyLabel
213
- })]
214
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
224
+ }), detailsHeaderAction ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
225
+ className: "shrink-0",
226
+ children: detailsHeaderAction
227
+ }) : null]
228
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
215
229
  className: "px-4 py-4 text-xs/5 text-(--clarify-ui-text)",
216
- children: [
217
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
218
- className: "font-semibold uppercase tracking-wide text-(--clarify-ui-text-faint)",
219
- children: messageLabel
220
- }),
221
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
222
- className: "mt-2 wrap-break-word font-mono text-sm/6 font-semibold text-(--clarify-theme-tokens-colors-foreground)",
223
- children: error.message
224
- }),
225
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
226
- className: "mt-6 font-semibold uppercase tracking-wide text-(--clarify-ui-text-faint)",
227
- children: stackLabel
228
- }),
229
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", {
230
- className: "mt-2 max-h-(--clarify-error-details-max-height) overflow-auto whitespace-pre-wrap wrap-break-word font-mono",
231
- children: stack
232
- }),
233
- componentStack ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
234
- className: "mt-6 font-semibold uppercase tracking-wide text-(--clarify-ui-text-faint)",
235
- children: componentStackLabel
236
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", {
237
- className: "mt-2 max-h-(--clarify-error-component-stack-max-height) overflow-auto whitespace-pre-wrap wrap-break-word font-mono",
238
- children: componentStack
239
- })] }) : null
240
- ]
230
+ children: detailsContent
241
231
  })]
242
232
  })
243
233
  ]
244
234
  })
245
235
  });
246
236
  }
237
+ //#endregion
238
+ //#region source/app/ErrorBoundary.tsx
239
+ function PageErrorPanel(props) {
240
+ const { title, description, reloadLabel, detailsLabel, pathLabel, typeLabel, messageLabel, stackLabel, componentStackLabel, copyLabel, copiedLabel, path, error, errorInfo } = props;
241
+ const [copiedStack, setCopiedStack] = (0, react.useState)(false);
242
+ const stack = error.stack ?? error.message;
243
+ const componentStack = errorInfo?.componentStack?.trim();
244
+ const stackText = componentStack ? `${stack}\n\n${componentStackLabel}\n${componentStack}` : stack;
245
+ async function copyStack() {
246
+ if (!await require_PageActions.copyTextToClipboard(stackText)) return;
247
+ setCopiedStack(true);
248
+ window.setTimeout(() => setCopiedStack(false), 1600);
249
+ }
250
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RenderErrorPanel, {
251
+ title,
252
+ description,
253
+ refreshLabel: reloadLabel,
254
+ onRefresh: () => window.location.reload(),
255
+ metadata: [[pathLabel, path], [typeLabel, error.name]].map(([label, value]) => ({
256
+ label,
257
+ value: String(value)
258
+ })),
259
+ detailsLabel,
260
+ detailsHeaderAction: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
261
+ type: "button",
262
+ className: "rounded-(--clarify-theme-tokens-radius-sm) px-2 py-1 text-xs/5 font-semibold text-(--clarify-ui-text-soft) ring-1 ring-(--clarify-theme-tokens-colors-border) transition hover:bg-(--clarify-ui-hover-background) hover:text-(--clarify-ui-text-strong)",
263
+ onClick: copyStack,
264
+ children: copiedStack ? copiedLabel : copyLabel
265
+ }),
266
+ detailsContent: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
267
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
268
+ className: "font-semibold uppercase tracking-wide text-(--clarify-ui-text-faint)",
269
+ children: messageLabel
270
+ }),
271
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
272
+ className: "mt-2 wrap-break-word font-mono text-sm/6 font-semibold text-(--clarify-theme-tokens-colors-foreground)",
273
+ children: error.message
274
+ }),
275
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
276
+ className: "mt-6 font-semibold uppercase tracking-wide text-(--clarify-ui-text-faint)",
277
+ children: stackLabel
278
+ }),
279
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", {
280
+ className: "mt-2 max-h-(--clarify-error-details-max-height) overflow-auto whitespace-pre-wrap wrap-break-word font-mono",
281
+ children: stack
282
+ }),
283
+ componentStack ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
284
+ className: "mt-6 font-semibold uppercase tracking-wide text-(--clarify-ui-text-faint)",
285
+ children: componentStackLabel
286
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", {
287
+ className: "mt-2 max-h-(--clarify-error-component-stack-max-height) overflow-auto whitespace-pre-wrap wrap-break-word font-mono",
288
+ children: componentStack
289
+ })] }) : null
290
+ ] })
291
+ });
292
+ }
247
293
  var PageErrorBoundary = class extends react.Component {
248
294
  state = {};
249
295
  static getDerivedStateFromError(error) {
250
- return {
251
- error,
252
- occurredAt: (/* @__PURE__ */ new Date()).toISOString()
253
- };
296
+ return { error };
254
297
  }
255
298
  componentDidCatch(error, errorInfo) {
256
299
  console.error("[clarify] Failed to render page:", error, errorInfo);
257
300
  this.setState({ errorInfo });
258
301
  }
259
302
  render() {
260
- const { error, errorInfo, occurredAt } = this.state;
303
+ const { error, errorInfo } = this.state;
261
304
  if (!error) return this.props.children;
262
305
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageErrorPanel, {
263
306
  title: this.props.title,
@@ -269,13 +312,11 @@ var PageErrorBoundary = class extends react.Component {
269
312
  messageLabel: this.props.messageLabel,
270
313
  stackLabel: this.props.stackLabel,
271
314
  componentStackLabel: this.props.componentStackLabel,
272
- timestampLabel: this.props.timestampLabel,
273
315
  copyLabel: this.props.copyLabel,
274
316
  copiedLabel: this.props.copiedLabel,
275
317
  path: this.props.path,
276
318
  error,
277
- errorInfo,
278
- occurredAt
319
+ errorInfo
279
320
  });
280
321
  }
281
322
  };
@@ -621,12 +662,25 @@ function resolveRouteComponent(route) {
621
662
  }
622
663
  function scrollToHash(hash) {
623
664
  if (!hash) return;
624
- const targetId = require_PageActions.safeDecodeURIComponent(hash.slice(1));
625
- window.requestAnimationFrame(() => {
626
- document.getElementById(targetId)?.scrollIntoView();
665
+ const targetId = safeDecodeURIComponent(hash.slice(1));
666
+ const tryScrollToTarget = (attempt = 0) => {
667
+ const target = document.getElementById(targetId);
668
+ if (!target) {
669
+ if (attempt < 12) window.requestAnimationFrame(() => {
670
+ tryScrollToTarget(attempt + 1);
671
+ });
672
+ return;
673
+ }
674
+ target.scrollIntoView({
675
+ behavior: "smooth",
676
+ block: "start"
677
+ });
627
678
  window.requestAnimationFrame(() => {
628
679
  window.dispatchEvent(new Event("scroll"));
629
680
  });
681
+ };
682
+ window.requestAnimationFrame(() => {
683
+ tryScrollToTarget();
630
684
  });
631
685
  }
632
686
  function explicitLocaleForPath(config, pathname) {
@@ -928,7 +982,6 @@ function AppShell(arg0) {
928
982
  messageLabel: text("renderError.message"),
929
983
  stackLabel: text("renderError.stack"),
930
984
  componentStackLabel: text("renderError.componentStack"),
931
- timestampLabel: text("renderError.timestamp"),
932
985
  copyLabel: text("actions.copy"),
933
986
  copiedLabel: text("actions.copied"),
934
987
  path: pathname,
@@ -2332,6 +2385,12 @@ Object.defineProperty(exports, "PageFooter", {
2332
2385
  return PageFooter;
2333
2386
  }
2334
2387
  });
2388
+ Object.defineProperty(exports, "RenderErrorPanel", {
2389
+ enumerable: true,
2390
+ get: function() {
2391
+ return RenderErrorPanel;
2392
+ }
2393
+ });
2335
2394
  Object.defineProperty(exports, "RuntimeSlot", {
2336
2395
  enumerable: true,
2337
2396
  get: function() {
@@ -2393,4 +2452,4 @@ Object.defineProperty(exports, "useSlot", {
2393
2452
  }
2394
2453
  });
2395
2454
 
2396
- //# sourceMappingURL=ClarifyShell-DdYRgrfY.cjs.map
2455
+ //# sourceMappingURL=ClarifyShell-7r92MZg9.cjs.map