@peasant-labs/fairtrade 0.0.38 → 0.0.39

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.
package/dist/lib/ui.js CHANGED
@@ -1,4 +1,4 @@
1
- import { At as e, Ct as t, Dt as n, Et as r, Mt as i, Nt as a, Ot as o, Pt as s, St as c, Tt as l, _t as u, a as d, bt as f, c as p, d as m, dt as h, f as g, ft as _, g as v, gt as y, h as b, ht as x, i as S, jt as C, kt as w, l as T, m as E, mt as D, n as O, nt as k, o as A, p as j, pt as M, r as N, s as P, t as F, tt as I, u as L, vt as R, wt as z, xt as B, yt as V } from "./GraphLegend-7PmEpBZQ.js";
2
- import { $ as H, $n as U, $t as W, A as G, An as K, Ar as q, At as J, B as Y, Bn as X, Bt as Z, C as Q, Cn as $, Cr as ee, Ct as te, D as ne, Dn as re, Dr as ie, Dt as ae, E as oe, En as se, Er as ce, Et as le, F as ue, Fn as de, Ft as fe, G as pe, Gn as me, Gt as he, H as ge, Hn as _e, Ht as ve, I as ye, In as be, It as xe, J as Se, Jn as Ce, Jt as we, K as Te, Kn as Ee, Kt as De, L as Oe, Ln as ke, Lt as Ae, M as je, Mn as Me, Mt as Ne, N as Pe, Nn as Fe, Nt as Ie, O as Le, On as Re, Or as ze, Ot as Be, P as Ve, Pn as He, Pt as Ue, Q as We, Qn as Ge, Qt as Ke, R as qe, Rn as Je, Rt as Ye, S as Xe, Sn as Ze, Sr as Qe, St as $e, T as et, Tn as tt, Tr as nt, Tt as rt, U as it, Un as at, Ut as ot, V as st, Vn as ct, Vt as lt, W as ut, Wn as dt, Wt as ft, X as pt, Xn as mt, Xt as ht, Y as gt, Yn as _t, Yt as vt, Z as yt, Zn as bt, Zt as xt, _ as St, _n as Ct, _r as wt, _t as Tt, a as Et, an as Dt, ar as Ot, at as kt, b as At, bn as jt, br as Mt, bt as Nt, c as Pt, cn as Ft, cr as It, ct as Lt, d as Rt, dn as zt, dr as Bt, dt as Vt, en as Ht, er as Ut, et as Wt, f as Gt, fn as Kt, fr as qt, ft as Jt, g as Yt, gn as Xt, gr as Zt, gt as Qt, h as $t, hn as en, hr as tn, ht as nn, i as rn, in as an, ir as on, it as sn, j as cn, jn as ln, jt as un, k as dn, kn as fn, kr as pn, kt as mn, l as hn, ln as gn, lr as _n, lt as vn, m as yn, mn as bn, mr as xn, mt as Sn, n as Cn, nn as wn, nr as Tn, nt as En, o as Dn, on as On, or as kn, ot as An, p as jn, pn as Mn, pr as Nn, pt as Pn, q as Fn, qn as In, qt as Ln, r as Rn, rn as zn, rr as Bn, rt as Vn, s as Hn, sn as Un, sr as Wn, st as Gn, t as Kn, tn as qn, tr as Jn, tt as Yn, u as Xn, un as Zn, ur as Qn, ut as $n, v as er, vn as tr, vr as nr, vt as rr, w as ir, wn as ar, wr as or, wt as sr, x as cr, xn as lr, xr as ur, xt as dr, y as fr, yn as pr, yr as mr, yt as hr, z as gr, zn as _r, zt as vr } from "./ui-DIoBcgLp.js";
3
- import { n as yr, t as br } from "./ChartLine-MZVbpUu1.js";
4
- export { On as APP_SIDEBAR_APPS, h as AccentLegend, Tt as AccessList, _t as Accordion, Kn as AllRedactionCategories, Cn as AllRedactionCategoryLabels, Un as AppPage, Ft as AppSidebar, gn as AppSidebarLayout, Mn as ApprovalBar, kn as Avatar, Wn as AvatarGroup, e as BrandMark, Nn as Breadcrumb, i as Button, a as ButtonGroup, tn as Card, Zt as CardImg, yr as ChartBar, br as ChartLine, or as Checkbox, ft as CheckpointMarker, mr as Chip, Ne as CliSteps, rr as CollectivePicker, Ie as CommandBlock, re as CommandPalette, k as CommitGraph, Zn as ConfirmInline, Ye as ConnectionPill, Xt as ConsentDialog, Ct as ConsentSummary, rt as CopyIconButton, Mt as CountBadge, fn as DATE_PRESETS, zt as DangerZone, vr as DataState, bt as DataTable, Ge as DataTablePaginationControls, U as DataTableToolbar, K as DateRange, ln as DateRangeCalendar, Re as Dialog, I as DiffView, Wt as ENTRY_TYPES, Ot as EmptyState, ht as EvidenceCaption, xt as EvidenceTarget, jt as Explainer, un as FacetRail, Ut as FeedbackPanel, ie as Field, ur as FilterChip, An as FocusedModeToggle, P as GRAPH_APP_SECTIONS, F as GRAPH_LEGEND_ITEMS, Ue as GettingStarted, ae as GovTile, p as GraphAppShell, O as GraphLegend, T as GraphSectionNav, N as GraphSubagentBranch, S as GraphToolNode, d as GraphTurnNode, Ke as GroupedMultiSelect, Yn as HARNESSES, _r as HELPER_OWNER_STATE, fe as HandleClaim, y as Heatmap, X as HelperGroup, ct as HelperGroupListItem, _e as HelperThreadRow, L as IN_USE_APPS, m as InUseShell, ze as Input, u as IntensityScope, R as IntensitySwatch, It as Kbd, _n as KbdChord, g as LOCAL_APP_SECTIONS, Z as LocalOfflineBanner, v as MapCanvas, V as MapNode, Bt as Menu, wt as MetaItem, bn as ModerationQueue, xe as OnboardingCard, sr as OverflowList, _ as PROVIDER_ACCENT, hr as PUBLISH_DIALOG_STATES, Nt as PUBLISH_STATES, qt as Pager, o as Pagination, he as Phase, De as PhaseDivider, en as PolicySelect, r as Popover, Jn as Progress, vt as PromptDigest, Be as ProviderBars, M as ProviderIcon, D as ProviderName, x as ProviderTag, dr as PublishBar, $e as PublishDialog, te as PublishStateLabel, En as ROLES, nt as Radio, ce as RadioGroup, j as RailSection, E as RailShell, f as RampLegend, Rn as RedactionCategory, rn as RedactionCategoryLabel, tr as RedactionReview, $n as RepoPicker, Kt as RoleRoster, nr as Row, Vn as SESSION_OUTCOMES, Pn as SETTING_ROW_STATES, sn as STOP_REASONS, Gn as ScopeChip, s as Segmented, pn as Select, Ce as SessionGroupDisclosure, Sn as SettingGroup, nn as SettingRow, Qt as SettingStatus, Vt as SettingsLayout, Jt as SettingsNav, Ae as SignInProviders, Tn as Skeleton, mt as Sparkline, Bn as Spinner, b as SplitRail, mn as StatGrid, J as StatTile, le as StatsStrip, Qe as StatusDot, $ as StepIndicator, ar as StepWizard, xn as Steps, W as StepsWaterfall, ee as Switch, kt as TOOL_CALL_KINDS, H as TOOL_GROUPS, w as Tabs, Qn as Tag, Ln as TaskBoundary, lt as TeachingEmptyState, lr as Term, q as Textarea, de as ThinkingBlock, Ze as TimeStrip, be as Timeline, ke as TimelineItem, on as Toast, Fe as ToastProvider, Je as ToolCall, ot as ToolCallRenderer, n as Tooltip, ve as Tour, Q as TranscriptCheckRow, cn as TranscriptDiffEntryCard, je as TranscriptDiffHunks, ir as TranscriptFilterSection, cr as TranscriptFiltersRail, er as TranscriptLabelPopover, Ve as TranscriptMarkdown, oe as TranscriptOutcomeChip, et as TranscriptOutlineRail, fr as TranscriptScorecard, At as TranscriptScrubber, G as TranscriptTaskBody, Pe as TranscriptThinking, dn as TranscriptToolBody, Le as TranscriptToolCall, ne as TranscriptTurnCard, Xe as TranscriptViewSwitch, Xn as TranscriptViewer, tt as Treemap, we as TurnContextBar, A as VillageObservations, Lt as VisibilityEye, vn as VisibilitySegmented, pr as WhereDoesThisGo, gr as adaptTranscript, Gt as advanceTranscriptInitialPositionConsumption, it as annotateTranscript, ut as assessScorecard, pe as buildTaskWaterfall, ue as composeSessionTitle, Te as computeAnalytics, Fn as computePersonalMedians, Se as computeTaskGroups, gt as computeTasks, pt as computeTurnLabels, B as coverageLevel, yt as detectPhases, Y as diffLines, c as effortLevel, Ht as formatDateLong, qn as formatDurationMins, wn as formatDurationMs, zn as formatDurationSeconds, Me as formatRange, an as formatRelative, at as helperMemberToggle, dt as helperOwnerState, me as helperOwnerToggle, Ee as helperSelectionIds, Dt as isKnownTime, Et as isRedactionCategory, st as isSessionMetadataTurn, t as locSize, qe as nextNavTurn, jn as normalizeTranscriptInitialPosition, Dn as parseRedactionCategory, Hn as parseRedactionCategoryLabel, We as phaseLabel, ge as prefilterTurns, ye as projectLabel, z as providerAccent, l as providerDisplayName, Pt as redactionCategoryFromLabel, hn as redactionCategoryLabel, C as resolveBrand, yn as resolveTranscriptInitialPosition, $t as shouldApplyTranscriptInitialPosition, se as squarify, Oe as summarizePrompt, Yt as transcriptInitialPositionReadiness, St as transcriptInitialPositionToken, In as useHelperSelection, He as useToast, Rt as useTranscriptInitialPosition };
1
+ import { At as e, Ct as t, Dt as n, Et as r, Mt as i, Nt as a, Ot as o, Pt as s, St as c, Tt as l, _t as u, a as d, bt as f, c as p, d as m, dt as h, f as g, ft as _, g as v, gt as y, h as b, ht as x, i as S, jt as C, kt as w, l as T, m as E, mt as D, n as O, nt as k, o as A, p as j, pt as M, r as N, s as P, t as F, tt as I, u as L, vt as R, wt as z, xt as B, yt as V } from "./GraphLegend-DwLFq2JU.js";
2
+ import { $ as H, $n as U, $t as W, A as G, An as K, Ar as q, At as J, B as Y, Bn as X, Bt as Z, C as Q, Cn as $, Cr as ee, Ct as te, D as ne, Dn as re, Dr as ie, Dt as ae, E as oe, En as se, Er as ce, Et as le, F as ue, Fn as de, Ft as fe, G as pe, Gn as me, Gt as he, H as ge, Hn as _e, Ht as ve, I as ye, In as be, It as xe, J as Se, Jn as Ce, Jt as we, K as Te, Kn as Ee, Kt as De, L as Oe, Ln as ke, Lt as Ae, M as je, Mn as Me, Mr as Ne, Mt as Pe, N as Fe, Nn as Ie, Nt as Le, O as Re, On as ze, Or as Be, Ot as Ve, P as He, Pn as Ue, Pt as We, Q as Ge, Qn as Ke, Qt as qe, R as Je, Rn as Ye, Rt as Xe, S as Ze, Sn as Qe, Sr as $e, St as et, T as tt, Tn as nt, Tr as rt, Tt as it, U as at, Un as ot, Ut as st, V as ct, Vn as lt, Vt as ut, W as dt, Wn as ft, Wt as pt, X as mt, Xn as ht, Xt as gt, Y as _t, Yn as vt, Yt as yt, Z as bt, Zn as xt, Zt as St, _ as Ct, _n as wt, _r as Tt, _t as Et, a as Dt, an as Ot, ar as kt, at as At, b as jt, bn as Mt, br as Nt, bt as Pt, c as Ft, cn as It, cr as Lt, ct as Rt, d as zt, dn as Bt, dr as Vt, dt as Ht, en as Ut, er as Wt, et as Gt, f as Kt, fn as qt, fr as Jt, ft as Yt, g as Xt, gn as Zt, gr as Qt, gt as $t, h as en, hn as tn, hr as nn, ht as rn, i as an, in as on, ir as sn, it as cn, j as ln, jn as un, jr as dn, jt as fn, k as pn, kn as mn, kr as hn, kt as gn, l as _n, ln as vn, lr as yn, lt as bn, m as xn, mn as Sn, mr as Cn, mt as wn, n as Tn, nn as En, nr as Dn, nt as On, o as kn, on as An, or as jn, ot as Mn, p as Nn, pn as Pn, pr as Fn, pt as In, q as Ln, qn as Rn, qt as zn, r as Bn, rn as Vn, rr as Hn, rt as Un, s as Wn, sn as Gn, sr as Kn, st as qn, t as Jn, tn as Yn, tr as Xn, tt as Zn, u as Qn, un as $n, ur as er, ut as tr, v as nr, vn as rr, vr as ir, vt as ar, w as or, wn as sr, wr as cr, wt as lr, x as ur, xn as dr, xr as fr, xt as pr, y as mr, yn as hr, yr as gr, yt as _r, z as vr, zn as yr, zt as br } from "./ui-CBsfaQMA.js";
3
+ import { n as xr, t as Sr } from "./ChartLine-MZVbpUu1.js";
4
+ export { It as APP_SIDEBAR_APPS, h as AccentLegend, _r as AccessList, xt as Accordion, Jn as AllRedactionCategories, Tn as AllRedactionCategoryLabels, vn as AppPage, $n as AppSidebar, Bt as AppSidebarLayout, tn as ApprovalBar, Lt as Avatar, yn as AvatarGroup, e as BrandMark, nn as Breadcrumb, i as Button, a as ButtonGroup, Tt as Card, ir as CardImg, xr as ChartBar, Sr as ChartLine, ce as Checkbox, De as CheckpointMarker, fr as Chip, We as CliSteps, Pt as CollectivePicker, fe as CommandBlock, mn as CommandPalette, k as CommitGraph, qt as ConfirmInline, Z as ConnectionPill, rr as ConsentDialog, hr as ConsentSummary, ae as CopyIconButton, $e as CountBadge, un as DATE_PRESETS, Pn as DangerZone, ut as DataState, U as DataTable, Wt as DataTablePaginationControls, Xn as DataTableToolbar, Me as DateRange, Ie as DateRangeCalendar, K as Dialog, I as DiffView, On as ENTRY_TYPES, Kn as EmptyState, qe as EvidenceCaption, W as EvidenceTarget, Qe as Explainer, Le as FacetRail, Dn as FeedbackPanel, hn as Field, ee as FilterChip, Rt as FocusedModeToggle, P as GRAPH_APP_SECTIONS, F as GRAPH_LEGEND_ITEMS, xe as GettingStarted, gn as GovTile, p as GraphAppShell, O as GraphLegend, T as GraphSectionNav, N as GraphSubagentBranch, S as GraphToolNode, d as GraphTurnNode, Ut as GroupedMultiSelect, Un as HARNESSES, lt as HELPER_OWNER_STATE, Ae as HandleClaim, y as Heatmap, _e as HelperGroup, ot as HelperGroupListItem, ft as HelperThreadRow, L as IN_USE_APPS, m as InUseShell, q as Input, u as IntensityScope, R as IntensitySwatch, er as Kbd, Vt as KbdChord, g as LOCAL_APP_SECTIONS, ve as LocalOfflineBanner, v as MapCanvas, V as MapNode, Fn as Menu, gr as MetaItem, Zt as ModerationQueue, Xe as OnboardingCard, le as OverflowList, _ as PROVIDER_ACCENT, pr as PUBLISH_DIALOG_STATES, et as PUBLISH_STATES, Cn as Pager, o as Pagination, zn as Phase, we as PhaseDivider, wt as PolicySelect, r as Popover, Hn as Progress, St as PromptDigest, J as ProviderBars, M as ProviderIcon, D as ProviderName, x as ProviderTag, te as PublishBar, lr as PublishDialog, it as PublishStateLabel, cn as ROLES, ie as Radio, Be as RadioGroup, j as RailSection, E as RailShell, f as RampLegend, Bn as RedactionCategory, an as RedactionCategoryLabel, Mt as RedactionReview, Yt as RepoPicker, Sn as RoleRoster, Nt as Row, At as SESSION_OUTCOMES, rn as SETTING_ROW_STATES, Mn as STOP_REASONS, bn as ScopeChip, s as Segmented, dn as Select, ht as SessionGroupDisclosure, $t as SettingGroup, Et as SettingRow, ar as SettingStatus, In as SettingsLayout, wn as SettingsNav, br as SignInProviders, sn as Skeleton, Ke as Sparkline, kt as Spinner, b as SplitRail, fn as StatGrid, Pe as StatTile, Ve as StatsStrip, cr as StatusDot, nt as StepIndicator, se as StepWizard, Qt as Steps, Yn as StepsWaterfall, rt as Switch, qn as TOOL_CALL_KINDS, Zn as TOOL_GROUPS, w as Tabs, Jt as Tag, yt as TaskBoundary, st as TeachingEmptyState, $ as Term, Ne as Textarea, ke as ThinkingBlock, sr as TimeStrip, Ye as Timeline, yr as TimelineItem, jn as Toast, de as ToastProvider, X as ToolCall, he as ToolCallRenderer, n as Tooltip, pt as Tour, Q as TranscriptCheckRow, ln as TranscriptDiffEntryCard, je as TranscriptDiffHunks, or as TranscriptFilterSection, ur as TranscriptFiltersRail, nr as TranscriptLabelPopover, He as TranscriptMarkdown, oe as TranscriptOutcomeChip, tt as TranscriptOutlineRail, mr as TranscriptScorecard, jt as TranscriptScrubber, G as TranscriptTaskBody, Fe as TranscriptThinking, pn as TranscriptToolBody, Re as TranscriptToolCall, ne as TranscriptTurnCard, Ze as TranscriptViewSwitch, Qn as TranscriptViewer, re as Treemap, gt as TurnContextBar, A as VillageObservations, tr as VisibilityEye, Ht as VisibilitySegmented, dr as WhereDoesThisGo, ye as adaptTranscript, Kt as advanceTranscriptInitialPositionConsumption, dt as annotateTranscript, pe as assessScorecard, Te as buildTaskWaterfall, vr as cleanSessionTitle, Y as composeSessionTitle, Ln as computeAnalytics, Se as computePersonalMedians, _t as computeTaskGroups, mt as computeTasks, bt as computeTurnLabels, B as coverageLevel, Ge as detectPhases, Gt as diffLines, c as effortLevel, En as formatDateLong, Vn as formatDurationMins, on as formatDurationMs, Ot as formatDurationSeconds, Ue as formatRange, An as formatRelative, me as helperMemberToggle, Ee as helperOwnerState, Rn as helperOwnerToggle, Ce as helperSelectionIds, Gn as isKnownTime, Dt as isRedactionCategory, Oe as isSessionMetadataTurn, t as locSize, ue as nextNavTurn, Nn as normalizeTranscriptInitialPosition, kn as parseRedactionCategory, Wn as parseRedactionCategoryLabel, H as phaseLabel, Je as prefilterTurns, ct as projectLabel, z as providerAccent, l as providerDisplayName, Ft as redactionCategoryFromLabel, _n as redactionCategoryLabel, C as resolveBrand, xn as resolveTranscriptInitialPosition, en as shouldApplyTranscriptInitialPosition, ze as squarify, ge as summarizePrompt, Xt as transcriptInitialPositionReadiness, Ct as transcriptInitialPositionToken, at as unwrapUserQuery, vt as useHelperSelection, be as useToast, zt as useTranscriptInitialPosition };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@peasant-labs/fairtrade",
3
3
  "private": false,
4
- "version": "0.0.38",
4
+ "version": "0.0.39",
5
5
  "description": "Fairtrade design-system library: canonical tokens, base styles, component CSS, and React UI exports.",
6
6
  "type": "module",
7
7
  "license": "Apache-2.0",
@@ -140,6 +140,8 @@
140
140
  "test:settings-nav": "node scripts/settings-nav.test.mjs",
141
141
  "test:transcript-session-records": "node scripts/transcript-session-records.test.mjs",
142
142
  "test:transcript-session-records:mutations": "node scripts/parts-mutations.mjs scripts/transcript-session-records.test.mjs scripts/testdata/transcript-session-records.manifest.yaml",
143
+ "test:transcript-viewer-format": "node scripts/transcript-viewer-format.test.mjs",
144
+ "test:transcript-viewer-format:mutations": "node scripts/parts-mutations.mjs scripts/transcript-viewer-format.test.mjs scripts/testdata/transcript-viewer-format.manifest.yaml",
143
145
  "test:settings-nav:mutations": "node scripts/parts-mutations.mjs scripts/settings-nav.test.mjs scripts/testdata/settings-nav.manifest.yaml",
144
146
  "test:prompt-digest-split": "node scripts/prompt-digest-split.test.mjs",
145
147
  "test:prompt-digest-split:mutations": "node scripts/parts-mutations.mjs scripts/prompt-digest-split.test.mjs scripts/testdata/prompt-digest-split.manifest.yaml",
@@ -157,8 +159,8 @@
157
159
  "test:collectives-views:mutations": "node scripts/parts-mutations.mjs scripts/collectives-views.test.mjs scripts/testdata/collectives-views.manifest.yaml",
158
160
  "test:accessibility-semantics": "node scripts/accessibility-semantics.test.mjs",
159
161
  "test:accessibility-semantics:mutations": "node scripts/parts-mutations.mjs scripts/accessibility-semantics.test.mjs scripts/testdata/accessibility-semantics.manifest.yaml",
160
- "test:parts": "pnpm test:accessibility-semantics && pnpm test:transcript-viewer-chrome && pnpm test:app-sections && pnpm test:local-offline-banner && pnpm test:app-sidebar && pnpm test:settings-nav && pnpm test:transcript-session-records && pnpm test:prompt-digest-split && pnpm test:village-parts && pnpm test:publish-states && pnpm test:setting-row && pnpm test:repo-picker && pnpm test:commons-demo-pages && pnpm test:collectives-views",
161
- "test:parts:mutations": "pnpm test:accessibility-semantics:mutations && pnpm test:transcript-viewer-chrome:mutations && pnpm test:app-sections:mutations && pnpm test:local-offline-banner:mutations && pnpm test:app-sidebar:mutations && pnpm test:settings-nav:mutations && pnpm test:transcript-session-records:mutations && pnpm test:prompt-digest-split:mutations && pnpm test:village-parts:mutations && pnpm test:publish-states:mutations && pnpm test:setting-row:mutations && pnpm test:repo-picker:mutations && pnpm test:commons-demo-pages:mutations && pnpm test:collectives-views:mutations",
162
+ "test:parts": "pnpm test:accessibility-semantics && pnpm test:transcript-viewer-chrome && pnpm test:app-sections && pnpm test:local-offline-banner && pnpm test:app-sidebar && pnpm test:settings-nav && pnpm test:transcript-session-records && pnpm test:transcript-viewer-format && pnpm test:prompt-digest-split && pnpm test:village-parts && pnpm test:publish-states && pnpm test:setting-row && pnpm test:repo-picker && pnpm test:commons-demo-pages && pnpm test:collectives-views",
163
+ "test:parts:mutations": "pnpm test:accessibility-semantics:mutations && pnpm test:transcript-viewer-chrome:mutations && pnpm test:app-sections:mutations && pnpm test:local-offline-banner:mutations && pnpm test:app-sidebar:mutations && pnpm test:settings-nav:mutations && pnpm test:transcript-session-records:mutations && pnpm test:transcript-viewer-format:mutations && pnpm test:prompt-digest-split:mutations && pnpm test:village-parts:mutations && pnpm test:publish-states:mutations && pnpm test:setting-row:mutations && pnpm test:repo-picker:mutations && pnpm test:commons-demo-pages:mutations && pnpm test:collectives-views:mutations",
162
164
  "test:gates": "pnpm test:design-decisions && pnpm audit:design-decisions && pnpm test:port-record && pnpm test:demo-truth && pnpm test:datatable && pnpm test:structured-shiki && pnpm test:transcript-provenance && pnpm test:pi-transcript && pnpm test:pi-transcript:mutations && node scripts/gates.test.mjs && node scripts/turns-to-flow-edges.test.mjs && pnpm test:transcript-helpers && pnpm test:helper-groups && pnpm test:transcript-outcome-chip && pnpm test:transcript-viewer-outcome && pnpm test:parts && pnpm test:release-notes",
163
165
  "test:analytics": "node src/ui/analytics/metrics.test.mjs",
164
166
  "test:mobile-layout": "node scripts/mobile-layout.test.mjs",