@elevasis/ui 2.73.0 → 2.74.0

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 (97) hide show
  1. package/dist/api/index.js +3 -3
  2. package/dist/app/index.d.ts +58 -0
  3. package/dist/app/index.js +9 -10
  4. package/dist/auth/index.js +5 -6
  5. package/dist/charts/index.js +5 -6
  6. package/dist/chunk-2GIJBHZT.js +60 -0
  7. package/dist/{chunk-ETN3TTRT.js → chunk-2MRRDF32.js} +115 -8
  8. package/dist/chunk-3LOKYZJC.js +231 -0
  9. package/dist/chunk-3QHX4ZKV.js +224 -0
  10. package/dist/chunk-43LC6XAX.js +69 -0
  11. package/dist/chunk-4M2BSHVT.js +116 -0
  12. package/dist/{chunk-SWKAH2YM.js → chunk-4MXNHJTA.js} +63 -30
  13. package/dist/{chunk-LZT2H2MA.js → chunk-5A6KCFS5.js} +36 -43
  14. package/dist/{chunk-OCVSPAKM.js → chunk-6JN2TLV2.js} +1150 -4346
  15. package/dist/{chunk-JYBJMVNY.js → chunk-7ARBBELS.js} +1 -1
  16. package/dist/{chunk-AJOVWB47.js → chunk-7RJ7P6S6.js} +6 -3
  17. package/dist/chunk-ARAFQBNI.js +515 -0
  18. package/dist/{chunk-Z4ICFQXG.js → chunk-BA3AZJUR.js} +1 -1
  19. package/dist/chunk-BRTGCFBH.js +305 -0
  20. package/dist/{chunk-IGBPWD6S.js → chunk-CQPULKKL.js} +5 -3
  21. package/dist/chunk-CRA7WQZH.js +49 -0
  22. package/dist/{chunk-U2H3TIHD.js → chunk-DCQKTDIG.js} +2 -52
  23. package/dist/{chunk-3TS5U5BL.js → chunk-E6YGA5WH.js} +1 -1
  24. package/dist/chunk-FA7LMNQO.js +439 -0
  25. package/dist/chunk-FZSG6M6W.js +45 -0
  26. package/dist/chunk-GDOR57D7.js +165 -0
  27. package/dist/{chunk-CJ2232PQ.js → chunk-GO4XJ5D4.js} +1 -1
  28. package/dist/chunk-GPQQGQGT.js +645 -0
  29. package/dist/chunk-HYQOGRWG.js +54 -0
  30. package/dist/{chunk-LEPYXLJ2.js → chunk-LN4UW6S4.js} +1 -1
  31. package/dist/chunk-N6K2Q5BM.js +393 -0
  32. package/dist/{chunk-NHNTX6ZL.js → chunk-O32UQ26A.js} +3 -2
  33. package/dist/{chunk-M7WWRZ5Z.js → chunk-QFGNRKIE.js} +1 -78
  34. package/dist/{chunk-IBCEAVB2.js → chunk-R5UGIFYU.js} +41 -5
  35. package/dist/{chunk-5B2ZFO44.js → chunk-RFNJ2PTO.js} +1 -1
  36. package/dist/chunk-VM2OWOXL.js +24 -0
  37. package/dist/{chunk-ZDKPHFTH.js → chunk-W2QRBQQA.js} +5 -3
  38. package/dist/chunk-WDBNW44Z.js +49 -0
  39. package/dist/{chunk-4CW2C5BD.js → chunk-WZU3MCKI.js} +1 -1
  40. package/dist/chunk-YQQ5GRUR.js +21 -0
  41. package/dist/{chunk-PQ4B62HH.js → chunk-ZFA56VSR.js} +2 -2
  42. package/dist/{chunk-NI37YNRP.js → chunk-ZWI62BQ6.js} +7 -4
  43. package/dist/chunk-ZYNVCWDZ.js +286 -0
  44. package/dist/components/index.d.ts +187 -2
  45. package/dist/components/index.js +44 -34
  46. package/dist/components/navigation/index.js +6 -7
  47. package/dist/features/auth/index.d.ts +78 -2
  48. package/dist/features/auth/index.js +18 -9
  49. package/dist/features/clients/index.js +7 -7
  50. package/dist/features/content/index.d.ts +226 -5
  51. package/dist/features/content/index.js +263 -15
  52. package/dist/features/crm/index.d.ts +58 -0
  53. package/dist/features/crm/index.js +10 -8
  54. package/dist/features/dashboard/index.js +9 -8
  55. package/dist/features/delivery/index.d.ts +58 -0
  56. package/dist/features/delivery/index.js +23 -7
  57. package/dist/features/knowledge/index.js +5 -6
  58. package/dist/features/lead-gen/index.d.ts +9 -15
  59. package/dist/features/lead-gen/index.js +12 -8
  60. package/dist/features/monitoring/index.js +11 -9
  61. package/dist/features/monitoring/requests/index.js +8 -7
  62. package/dist/features/operations/index.js +15 -11
  63. package/dist/features/public-agent-chat/index.js +3 -1
  64. package/dist/features/settings/index.d.ts +58 -0
  65. package/dist/features/settings/index.js +9 -8
  66. package/dist/hooks/access/index.js +5 -6
  67. package/dist/hooks/delivery/index.d.ts +58 -0
  68. package/dist/hooks/delivery/index.js +3 -2
  69. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +1 -1
  70. package/dist/hooks/published.d.ts +175 -3
  71. package/dist/hooks/published.js +22 -6
  72. package/dist/initialization/index.d.ts +58 -0
  73. package/dist/knowledge/index.js +167 -11
  74. package/dist/{knowledge-search-index-RZLIVWPJ.js → knowledge-search-index-6GQK55IQ.js} +1 -1
  75. package/dist/layout/index.js +8 -9
  76. package/dist/profile/index.d.ts +58 -0
  77. package/dist/provider/index.d.ts +77 -1
  78. package/dist/provider/index.js +5 -6
  79. package/dist/provider/published.d.ts +105 -1
  80. package/dist/provider/published.js +5 -6
  81. package/dist/test-utils/index.d.ts +16 -5
  82. package/dist/test-utils/index.js +17 -18
  83. package/dist/types/index.d.ts +59 -1
  84. package/dist/utils/index.d.ts +83 -3
  85. package/dist/utils/index.js +1 -1
  86. package/package.json +6 -5
  87. package/dist/chunk-6M6OLGQY.js +0 -36
  88. package/dist/chunk-MKH2KOAO.js +0 -39
  89. package/dist/hooks/index.css +0 -659
  90. package/dist/hooks/index.d.ts +0 -14073
  91. package/dist/hooks/index.js +0 -27
  92. package/dist/supabase/index.d.ts +0 -7118
  93. package/dist/supabase/index.js +0 -3
  94. package/dist/typeform/index.d.ts +0 -462
  95. package/dist/typeform/index.js +0 -2051
  96. package/dist/typeform/schemas.d.ts +0 -67
  97. package/dist/typeform/schemas.js +0 -2
@@ -1,18 +1,18 @@
1
+ import { useCloudStorageTemporaryLinks, useStorageSignedUrls, storageObjectRefKey } from '../../chunk-3QHX4ZKV.js';
1
2
  import { PageContainer } from '../../chunk-BZZCNLT6.js';
2
3
  import '../../chunk-TUMSNGTX.js';
3
4
  import { FilterBar } from '../../chunk-PDHTXPSF.js';
4
- import { CustomModal, useContentItemSourceAssetDetails, useContentSourceAssets, useAddContentItemSourceAsset, useRemoveContentItemSourceAsset, useReorderContentItemSourceAssets, useUpdateContentItemSourceAsset, useCloudStorageTemporaryLinks, useContentItemAttempts, useExecuteAsync, useUpdateContentItem, useExecution, contentKeys, useContentItems, useContentDistributions, useContentConfig, isAwaitingReview, SubshellContentContainer, PageTitleCaption, CenteredErrorState, EmptyState, StatCard, getContentItemIdentity, usePaginationState, resolveCurrentContentStep, useContentItem, useReviewContentItem, resolveReviewTarget, useContentDistribution, useStorageSignedUrls, storageObjectRefKey, useContentPipelineSummary, deriveContentBoard, resolveContentWorkspaceRoute, useExecutions } from '../../chunk-OCVSPAKM.js';
5
- export { CONTENT_ITEMS, ContentSidebar, ContentSidebarMiddle, DEFAULT_CONTENT_VOCABULARY, MyReviewQueuePanel, contentManifest, deriveContentBoard, getContentItemIdentity, resolveContentStepResource, resolveContentVocabulary, useContentConfig } from '../../chunk-OCVSPAKM.js';
5
+ import { CustomModal, useContentItemSourceAssetDetails, useContentSourceAssets, useAddContentItemSourceAsset, useRemoveContentItemSourceAsset, useReorderContentItemSourceAssets, useUpdateContentItemSourceAsset, useContentItemAttempts, useExecuteAsync, useUpdateContentItem, useExecution, contentKeys, useContentItems, useContentDistributions, useContentConfig, isAwaitingReview, SubshellContentContainer, PageTitleCaption, CenteredErrorState, EmptyState, StatCard, getContentItemIdentity, usePaginationState, resolveCurrentContentStep, useContentItem, useReviewContentItem, resolveReviewTarget, useContentDistribution, useContentDistributionMetrics, useContentPipelineSummary, deriveContentBoard, resolveContentWorkspaceRoute, useExecutions } from '../../chunk-6JN2TLV2.js';
6
+ export { CONTENT_ITEMS, ContentSidebar, ContentSidebarMiddle, DEFAULT_CONTENT_VOCABULARY, MyReviewQueuePanel, contentManifest, deriveContentBoard, getContentItemIdentity, resolveContentStepResource, resolveContentVocabulary, useContentConfig } from '../../chunk-6JN2TLV2.js';
6
7
  import '../../chunk-R6NMRXNO.js';
7
8
  import '../../chunk-RBGVNPA6.js';
8
- import '../../chunk-MKH2KOAO.js';
9
- import '../../chunk-NHNTX6ZL.js';
9
+ import '../../chunk-O32UQ26A.js';
10
10
  import '../../chunk-L7BZZ4SI.js';
11
- import { showSuccessNotification } from '../../chunk-U2H3TIHD.js';
11
+ import { showSuccessNotification } from '../../chunk-HYQOGRWG.js';
12
12
  import '../../chunk-MISHPEJX.js';
13
13
  import { CardHeader } from '../../chunk-62GVNH5U.js';
14
14
  import '../../chunk-P45GQ3ZW.js';
15
- import '../../chunk-M7WWRZ5Z.js';
15
+ import '../../chunk-2GIJBHZT.js';
16
16
  import '../../chunk-3KMDHCAR.js';
17
17
  import '../../chunk-2IFYDILW.js';
18
18
  import '../../chunk-BLXJEIQS.js';
@@ -20,7 +20,7 @@ import '../../chunk-UD657ICS.js';
20
20
  import '../../chunk-DD3CCMCZ.js';
21
21
  import '../../chunk-RNP5R5I3.js';
22
22
  import '../../chunk-RT4KRGZT.js';
23
- import { formatTimeAgo, formatRelativeTime } from '../../chunk-IBCEAVB2.js';
23
+ import { formatTimeAgo, formatRelativeTime } from '../../chunk-R5UGIFYU.js';
24
24
  import '../../chunk-Y6I3IC45.js';
25
25
  import '../../chunk-6SSQGWK7.js';
26
26
  import '../../chunk-BI5VDO2K.js';
@@ -29,7 +29,7 @@ import '../../chunk-TVTSASST.js';
29
29
  import '../../chunk-BRJ3QZ4E.js';
30
30
  import '../../chunk-Q7DJKLEN.js';
31
31
  import '../../chunk-I2KLQ2HA.js';
32
- import { Stack, Group, Text, Badge, Button, Textarea, Box, Loader, Accordion, Tooltip, Card, Alert, List, Paper, SegmentedControl, Slider, Title, Table, TextInput, Select, Modal, ActionIcon, Center, SimpleGrid, Pagination, Tabs, Anchor, Divider, Progress, Image as Image$1, UnstyledButton, ScrollArea } from '@mantine/core';
32
+ import { Stack, Group, Text, Badge, Button, Textarea, Box, Loader, Accordion, Tooltip, Card, Alert, List, Paper, SegmentedControl, Slider, Title, Table, TextInput, Select, Modal, ActionIcon, Center, SimpleGrid, Pagination, Tabs, Anchor, Divider, Progress, Image as Image$1, Stepper, Grid, UnstyledButton, ScrollArea } from '@mantine/core';
33
33
  import { IconAlertTriangle, IconShieldCheck, IconShieldX, IconPhoto, IconGripVertical, IconCrop, IconArrowUp, IconArrowDown, IconUnlink, IconLink, IconPhotoOff, IconChevronLeft, IconChevronRight, IconCheck, IconSparkles, IconEye, IconArticle, IconArrowRight, IconClock, IconSend, IconSearch, IconFileText, IconExternalLink, IconListDetails, IconAlertCircle, IconLayoutGrid, IconShare, IconPlayerPlay, IconCircleCheck, IconCircleDashed, IconMaximize, IconCopy, IconDownload, IconArrowLeft, IconArrowsExchange, IconX, IconChecklist, IconRoute, IconInfoCircle, IconClockHour4 } from '@tabler/icons-react';
34
34
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
35
35
  import { useState, useRef, useCallback, useMemo, useEffect, Fragment as Fragment$1 } from 'react';
@@ -2314,17 +2314,18 @@ function ContentPipelinesPage({ headerActions } = {}) {
2314
2314
  ] }) }) });
2315
2315
  }
2316
2316
  var ACTOR_LEAD = {
2317
- vendor: "An outside service",
2318
- workflow: "An automated workflow",
2319
- agent: "An AI agent"
2317
+ vendor: "An outside service handles",
2318
+ workflow: "An automated workflow handles",
2319
+ agent: "An AI agent handles",
2320
+ human: "You do"
2320
2321
  };
2321
2322
  var REVIEW_VENUE_TAIL = {
2322
2323
  workspace: "and you review it on your own screen, in the moment",
2323
2324
  queue: "then it waits for your review",
2324
- none: "and moves on without review"
2325
+ none: "with no review after it"
2325
2326
  };
2326
2327
  function describeStep(step) {
2327
- return `${ACTOR_LEAD[step.actor]} handles "${step.label}," ${REVIEW_VENUE_TAIL[step.reviewVenue]}.`;
2328
+ return `${ACTOR_LEAD[step.actor]} "${step.label}," ${REVIEW_VENUE_TAIL[step.reviewVenue]}.`;
2328
2329
  }
2329
2330
  function StepRow({ step, resourceId }) {
2330
2331
  return /* @__PURE__ */ jsxs(Group, { gap: "sm", align: "flex-start", wrap: "nowrap", children: [
@@ -2740,6 +2741,13 @@ var QUERY_LIMIT = 100;
2740
2741
  function formatDate(value) {
2741
2742
  return value ? new Date(value).toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" }) : "\u2014";
2742
2743
  }
2744
+ function summarizeMetrics2(metrics) {
2745
+ if (!metrics || typeof metrics !== "object" || Array.isArray(metrics)) return "\u2014";
2746
+ const entries = Object.entries(metrics);
2747
+ if (entries.length === 0) return "\u2014";
2748
+ const shown = entries.slice(0, 2).map(([key, value]) => `${key} ${String(value)}`).join(" \xB7 ");
2749
+ return entries.length > 2 ? `${shown} +${entries.length - 2}` : shown;
2750
+ }
2743
2751
  function ContentDistributionsPage({ headerActions } = {}) {
2744
2752
  const navigate = useNavigate();
2745
2753
  const contentConfig = useContentConfig();
@@ -2835,7 +2843,10 @@ function ContentDistributionsPage({ headerActions } = {}) {
2835
2843
  /* @__PURE__ */ jsx(Table.Th, { children: "Platform" }),
2836
2844
  /* @__PURE__ */ jsx(Table.Th, { children: "Format" }),
2837
2845
  /* @__PURE__ */ jsx(Table.Th, { children: "Status" }),
2838
- /* @__PURE__ */ jsx(Table.Th, { children: "Publish Method" }),
2846
+ /* @__PURE__ */ jsx(Table.Th, { style: { whiteSpace: "nowrap" }, children: "Publish Method" }),
2847
+ /* @__PURE__ */ jsx(Table.Th, { style: { whiteSpace: "nowrap" }, children: "Platform post ID" }),
2848
+ /* @__PURE__ */ jsx(Table.Th, { children: "Metrics" }),
2849
+ /* @__PURE__ */ jsx(Table.Th, { style: { whiteSpace: "nowrap" }, children: "Metrics updated" }),
2839
2850
  /* @__PURE__ */ jsx(Table.Th, { children: "Published" }),
2840
2851
  /* @__PURE__ */ jsx(Table.Th, {})
2841
2852
  ] }) }),
@@ -2866,6 +2877,9 @@ function ContentDistributionsPage({ headerActions } = {}) {
2866
2877
  /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", children: distribution.format }) }),
2867
2878
  /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { size: "sm", variant: "light", children: distribution.status }) }),
2868
2879
  /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: distribution.publishMethod ?? "\u2014" }) }),
2880
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "xs", ff: "monospace", c: "dimmed", children: distribution.platformPostId ?? "\u2014" }) }),
2881
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: summarizeMetrics2(distribution.metrics) }) }),
2882
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: formatDate(distribution.metricsUpdatedAt) }) }),
2869
2883
  /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: formatDate(distribution.publishedAt) }) }),
2870
2884
  /* @__PURE__ */ jsx(Table.Td, { children: distribution.platformUrl && /* @__PURE__ */ jsx(
2871
2885
  Anchor,
@@ -2962,6 +2976,22 @@ function MetricsDisplay({ metrics }) {
2962
2976
  /* @__PURE__ */ jsx(Text, { size: "sm", children: String(value) })
2963
2977
  ] }, key)) });
2964
2978
  }
2979
+ var METRIC_HISTORY_COLUMNS = [
2980
+ { key: "views", label: "Views" },
2981
+ { key: "reach", label: "Reach" },
2982
+ { key: "likes", label: "Likes" },
2983
+ { key: "comments", label: "Comments" },
2984
+ { key: "shares", label: "Shares" },
2985
+ { key: "saves", label: "Saves" },
2986
+ { key: "engagements", label: "Engagements" },
2987
+ { key: "profile_visits", label: "Profile Visits" },
2988
+ { key: "profile_activity", label: "Profile Activity" },
2989
+ { key: "follows", label: "Follows" },
2990
+ { key: "clicks", label: "Clicks" }
2991
+ ];
2992
+ function formatMetricValue(value) {
2993
+ return value === void 0 ? "\u2014" : value.toLocaleString();
2994
+ }
2965
2995
  function ContentDistributionDetailPage({
2966
2996
  distributionId,
2967
2997
  headerActions
@@ -2971,6 +3001,8 @@ function ContentDistributionDetailPage({
2971
3001
  const distributionQuery = useContentDistribution(distributionId);
2972
3002
  const dist = distributionQuery.data;
2973
3003
  const itemQuery = useContentItem(dist?.contentItemId);
3004
+ const metricsHistoryQuery = useContentDistributionMetrics(distributionId);
3005
+ const metricsHistory = metricsHistoryQuery.data?.data ?? [];
2974
3006
  const [mediaOpened, { open: openMedia, close: closeMedia }] = useDisclosure(false);
2975
3007
  const [previewUrl, setPreviewUrl] = useState(null);
2976
3008
  const mediaEntries = useMemo(() => dist?.mediaUrls ?? [], [dist]);
@@ -3125,6 +3157,23 @@ function ContentDistributionDetailPage({
3125
3157
  /* @__PURE__ */ jsx(Divider, {}),
3126
3158
  /* @__PURE__ */ jsx(MetricsDisplay, { metrics: dist.metrics })
3127
3159
  ] }) }),
3160
+ /* @__PURE__ */ jsx(Card, { withBorder: true, children: /* @__PURE__ */ jsxs(Stack, { gap: "sm", children: [
3161
+ /* @__PURE__ */ jsx(Title, { order: 3, children: "Metrics History" }),
3162
+ /* @__PURE__ */ jsx(Divider, {}),
3163
+ metricsHistoryQuery.isLoading ? /* @__PURE__ */ jsx(Center, { p: "md", children: /* @__PURE__ */ jsx(Loader, { size: "sm" }) }) : metricsHistoryQuery.isError ? /* @__PURE__ */ jsx(CenteredErrorState, { error: metricsHistoryQuery.error, title: "Failed to load metrics history" }) : metricsHistory.length === 0 ? /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No metrics readings captured yet." }) : /* @__PURE__ */ jsx(Table.ScrollContainer, { minWidth: 900, children: /* @__PURE__ */ jsxs(Table, { children: [
3164
+ /* @__PURE__ */ jsx(Table.Thead, { children: /* @__PURE__ */ jsxs(Table.Tr, { children: [
3165
+ /* @__PURE__ */ jsx(Table.Th, { children: "Captured" }),
3166
+ /* @__PURE__ */ jsx(Table.Th, { children: "Source" }),
3167
+ METRIC_HISTORY_COLUMNS.map((column) => /* @__PURE__ */ jsx(Table.Th, { children: column.label }, column.key))
3168
+ ] }) }),
3169
+ /* @__PURE__ */ jsx(Table.Tbody, { children: metricsHistory.map((reading) => /* @__PURE__ */ jsxs(Table.Tr, { children: [
3170
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: formatDateTime3(reading.capturedAt) }) }),
3171
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", children: reading.source }) }),
3172
+ METRIC_HISTORY_COLUMNS.map((column) => /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", children: formatMetricValue(reading.metrics[column.key]) }) }, column.key))
3173
+ ] }, reading.id)) })
3174
+ ] }) }),
3175
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: "An em dash means this platform does not report that metric -- it is never the same as zero." })
3176
+ ] }) }),
3128
3177
  checklist.length > 0 ? /* @__PURE__ */ jsx(Card, { withBorder: true, children: /* @__PURE__ */ jsxs(Stack, { gap: "sm", children: [
3129
3178
  /* @__PURE__ */ jsxs(Group, { justify: "space-between", children: [
3130
3179
  /* @__PURE__ */ jsx(Title, { order: 3, children: "Checklist" }),
@@ -3251,5 +3300,204 @@ function ContentDistributionDetailPage({
3251
3300
  /* @__PURE__ */ jsx(CustomModal, { opened: mediaOpened, onClose: closeMedia, size: "xl", children: previewUrl ? /* @__PURE__ */ jsx(Image$1, { src: previewUrl, alt: "Media preview", fit: "contain" }) : null })
3252
3301
  ] });
3253
3302
  }
3303
+ function ContentWorkspaceShell({
3304
+ pipelineId,
3305
+ panels,
3306
+ initialDraft,
3307
+ title,
3308
+ caption,
3309
+ headerRight,
3310
+ renderStart,
3311
+ renderPersistent,
3312
+ renderAside,
3313
+ canOpenStep,
3314
+ testId
3315
+ }) {
3316
+ const { pipelines, defaultPipelineId } = useContentConfig();
3317
+ const resolvedPipelineId = pipelineId ?? defaultPipelineId;
3318
+ const pipeline = useMemo(
3319
+ () => pipelines.find((entry) => entry.id === resolvedPipelineId),
3320
+ [pipelines, resolvedPipelineId]
3321
+ );
3322
+ const steps = useMemo(() => pipeline?.steps ?? [], [pipeline]);
3323
+ const [isStarted, setIsStarted] = useState(renderStart === void 0);
3324
+ const [activeStepKey, setActiveStepKey] = useState(null);
3325
+ const [furthestIndex, setFurthestIndex] = useState(0);
3326
+ const [adoptedItem, setAdoptedItem] = useState(null);
3327
+ const [bodyDraft, setBodyDraft] = useState(null);
3328
+ const [draft, setDraftState] = useState(initialDraft);
3329
+ const leaveGuardRef = useRef(null);
3330
+ const itemId = adoptedItem?.id;
3331
+ const liveItem = useContentItem(itemId);
3332
+ const distributions = useContentDistributions({ contentItemId: itemId });
3333
+ const item = useMemo(() => {
3334
+ const live = liveItem.data;
3335
+ return live !== void 0 && live.id === itemId ? live : adoptedItem;
3336
+ }, [liveItem.data, itemId, adoptedItem]);
3337
+ const distribution = useMemo(() => {
3338
+ if (itemId === void 0) return null;
3339
+ return distributions.data?.data.find((row) => row.contentItemId === itemId) ?? null;
3340
+ }, [distributions.data, itemId]);
3341
+ const stepIndex = useMemo(() => {
3342
+ const index = steps.findIndex((step2) => step2.key === activeStepKey);
3343
+ return index === -1 ? 0 : index;
3344
+ }, [steps, activeStepKey]);
3345
+ const step = steps[stepIndex];
3346
+ const setDraft = useCallback((update) => {
3347
+ setDraftState(
3348
+ (current) => typeof update === "function" ? update(current) : { ...current, ...update }
3349
+ );
3350
+ }, []);
3351
+ const setItem = useCallback((next) => {
3352
+ setAdoptedItem(next);
3353
+ setBodyDraft(null);
3354
+ }, []);
3355
+ const refetchDistributionsQuery = distributions.refetch;
3356
+ const refetchDistributions = useCallback(() => void refetchDistributionsQuery(), [refetchDistributionsQuery]);
3357
+ const registerLeaveGuard = useCallback((guard) => {
3358
+ leaveGuardRef.current = guard;
3359
+ }, []);
3360
+ const goToStep = useCallback(
3361
+ (stepKey) => {
3362
+ const nextIndex = steps.findIndex((entry) => entry.key === stepKey);
3363
+ const next = steps[nextIndex];
3364
+ if (next === void 0) return;
3365
+ const guard = leaveGuardRef.current;
3366
+ void (async () => {
3367
+ if (guard !== null && nextIndex > stepIndex) await guard(next);
3368
+ setActiveStepKey(next.key);
3369
+ setFurthestIndex((current) => Math.max(current, nextIndex));
3370
+ })();
3371
+ },
3372
+ [steps, stepIndex]
3373
+ );
3374
+ const goToNextStep = useCallback(() => {
3375
+ const next = steps[stepIndex + 1];
3376
+ if (next !== void 0) goToStep(next.key);
3377
+ }, [steps, stepIndex, goToStep]);
3378
+ const goToPreviousStep = useCallback(() => {
3379
+ const previous = steps[stepIndex - 1];
3380
+ if (previous !== void 0) goToStep(previous.key);
3381
+ }, [steps, stepIndex, goToStep]);
3382
+ const restart = useCallback(() => {
3383
+ setAdoptedItem(null);
3384
+ setBodyDraft(null);
3385
+ setDraftState(initialDraft);
3386
+ setActiveStepKey(null);
3387
+ setFurthestIndex(0);
3388
+ leaveGuardRef.current = null;
3389
+ setIsStarted(renderStart === void 0);
3390
+ }, [initialDraft, renderStart]);
3391
+ const state = useMemo(() => {
3392
+ if (pipeline === void 0 || step === void 0) return null;
3393
+ const base = {
3394
+ pipeline,
3395
+ steps,
3396
+ step,
3397
+ stepIndex,
3398
+ item,
3399
+ setItem,
3400
+ body: bodyDraft ?? item?.body ?? "",
3401
+ bodyDraft,
3402
+ setBodyDraft,
3403
+ distribution,
3404
+ refetchDistributions,
3405
+ draft,
3406
+ setDraft,
3407
+ goToStep,
3408
+ goToNextStep,
3409
+ goToPreviousStep,
3410
+ registerLeaveGuard,
3411
+ restart
3412
+ };
3413
+ const resolved = {
3414
+ ...base,
3415
+ canOpenStep: (candidate) => canOpenStep === void 0 ? steps.indexOf(candidate) <= furthestIndex : canOpenStep(candidate, resolved)
3416
+ };
3417
+ return resolved;
3418
+ }, [
3419
+ pipeline,
3420
+ steps,
3421
+ step,
3422
+ stepIndex,
3423
+ item,
3424
+ setItem,
3425
+ bodyDraft,
3426
+ distribution,
3427
+ refetchDistributions,
3428
+ draft,
3429
+ setDraft,
3430
+ goToStep,
3431
+ goToNextStep,
3432
+ goToPreviousStep,
3433
+ registerLeaveGuard,
3434
+ restart,
3435
+ canOpenStep,
3436
+ furthestIndex
3437
+ ]);
3438
+ const startControls = useMemo(
3439
+ () => ({
3440
+ onStartNew: () => setIsStarted(true),
3441
+ onResume: (resumed, resumeAtStepKey) => {
3442
+ setItem(resumed);
3443
+ setDraftState(initialDraft);
3444
+ setFurthestIndex(steps.length === 0 ? 0 : steps.length - 1);
3445
+ setActiveStepKey(resumeAtStepKey ?? steps[0]?.key ?? null);
3446
+ setIsStarted(true);
3447
+ }
3448
+ }),
3449
+ [setItem, initialDraft, steps]
3450
+ );
3451
+ const body = (() => {
3452
+ if (pipeline === void 0) {
3453
+ return /* @__PURE__ */ jsx(Alert, { color: "yellow", icon: /* @__PURE__ */ jsx(IconAlertTriangle, { size: 16 }), children: resolvedPipelineId === void 0 ? "The deployed Organization Model declares no content pipelines, so there is nothing to walk through here." : `The deployed Organization Model does not declare a "${resolvedPipelineId}" pipeline.` });
3454
+ }
3455
+ if (steps.length === 0 || state === null || step === void 0) {
3456
+ return /* @__PURE__ */ jsxs(Alert, { color: "yellow", icon: /* @__PURE__ */ jsx(IconAlertTriangle, { size: 16 }), children: [
3457
+ "The ",
3458
+ /* @__PURE__ */ jsx("strong", { children: pipeline.label }),
3459
+ " pipeline declares no steps, so there is nothing to render."
3460
+ ] });
3461
+ }
3462
+ const Panel = panels[step.key];
3463
+ const panelNode = Panel === void 0 ? /* @__PURE__ */ jsxs(Alert, { color: "yellow", icon: /* @__PURE__ */ jsx(IconAlertTriangle, { size: 16 }), children: [
3464
+ "No panel is registered for the ",
3465
+ /* @__PURE__ */ jsx("strong", { children: step.label }),
3466
+ " step (",
3467
+ /* @__PURE__ */ jsx("code", { children: step.key }),
3468
+ "). Add one to the workspace's panel map."
3469
+ ] }) : /* @__PURE__ */ jsx(Panel, { ...state });
3470
+ const aside = renderAside?.(state) ?? null;
3471
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
3472
+ /* @__PURE__ */ jsx(Stepper, { active: stepIndex, onStepClick: (next) => goToStep(steps[next]?.key ?? step.key), size: "sm", children: steps.map((entry) => /* @__PURE__ */ jsx(Stepper.Step, { label: entry.label, allowStepSelect: state.canOpenStep(entry) }, entry.key)) }),
3473
+ step.description === void 0 || step.description === "" ? null : /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: step.description }),
3474
+ renderPersistent?.(state),
3475
+ aside === null ? panelNode : /* @__PURE__ */ jsxs(Grid, { gutter: "md", align: "flex-start", children: [
3476
+ /* @__PURE__ */ jsx(Grid.Col, { span: { base: 12, lg: 7 }, children: panelNode }),
3477
+ /* @__PURE__ */ jsx(Grid.Col, { span: { base: 12, lg: 5 }, children: /* @__PURE__ */ jsx(Paper, { withBorder: true, p: "md", children: aside }) })
3478
+ ] })
3479
+ ] });
3480
+ })();
3481
+ return /* @__PURE__ */ jsx(SubshellContentContainer, { children: /* @__PURE__ */ jsx(PageContainer, { children: /* @__PURE__ */ jsxs(Stack, { "data-testid": testId, children: [
3482
+ /* @__PURE__ */ jsx(PageTitleCaption, { title, caption, rightSection: headerRight }),
3483
+ !isStarted && renderStart !== void 0 ? renderStart(startControls) : body
3484
+ ] }) }) });
3485
+ }
3486
+ function ContentAnalysisStepPanel(state) {
3487
+ const { item, stepIndex, steps, goToNextStep, goToPreviousStep } = state;
3488
+ if (item === null) {
3489
+ return /* @__PURE__ */ jsx(Alert, { color: "yellow", icon: /* @__PURE__ */ jsx(IconAlertTriangle, { size: 16 }), children: "Nothing has been created yet, so there is nothing to analyse. Go back and finish the earlier steps first." });
3490
+ }
3491
+ return /* @__PURE__ */ jsxs(Stack, { children: [
3492
+ /* @__PURE__ */ jsx(SlideAnalysisPanel, { itemId: item.id }),
3493
+ /* @__PURE__ */ jsxs(Group, { justify: "space-between", children: [
3494
+ stepIndex > 0 ? /* @__PURE__ */ jsxs(Button, { variant: "default", leftSection: /* @__PURE__ */ jsx(IconArrowLeft, { size: 16 }), onClick: goToPreviousStep, children: [
3495
+ "Back to ",
3496
+ steps[stepIndex - 1]?.label
3497
+ ] }) : /* @__PURE__ */ jsx("span", {}),
3498
+ stepIndex < steps.length - 1 && /* @__PURE__ */ jsx(Button, { rightSection: /* @__PURE__ */ jsx(IconArrowRight, { size: 16 }), onClick: goToNextStep, children: steps[stepIndex + 1]?.label })
3499
+ ] })
3500
+ ] });
3501
+ }
3254
3502
 
3255
- export { AlternatesPanel, AssetCropEditor, CAPTION_STEP_KEY, CAPTION_WORKFLOW_ID, CONTENT_DERIVATIVES_BUCKET, CROP_ASPECT_OPTIONS, CaptionPanel, ContentDistributionDetailPage, ContentDistributionsPage, ContentItemReviewPage, ContentItemsPage, ContentOverviewPage, ContentPipelineBoardPage, ContentPipelineBoardPage as ContentPipelineWorkspacePage, ContentPipelinesPage, ContentReviewCard, DERIVATIVE_JPEG_QUALITY, DERIVATIVE_MAX_WIDTH, IMAGE_ANALYSIS_WORKFLOW_ID, PayloadBody, PostPreview, ProcessingStateStrip, ReviewActionBar, SelectedAssetStrip, SlideAnalysisPanel, SourceAssetsPanel, cropStyle, derivativeObjectKey, firstLine, formatElapsed, isDerivativeStale, lastLine, readStoredAnalysis, renderCropToJpeg, swapFirstLine, swapLastLine };
3503
+ export { AlternatesPanel, AssetCropEditor, CAPTION_STEP_KEY, CAPTION_WORKFLOW_ID, CONTENT_DERIVATIVES_BUCKET, CROP_ASPECT_OPTIONS, CaptionPanel, ContentAnalysisStepPanel, ContentDistributionDetailPage, ContentDistributionsPage, ContentItemReviewPage, ContentItemsPage, ContentOverviewPage, ContentPipelineBoardPage, ContentPipelineBoardPage as ContentPipelineWorkspacePage, ContentPipelinesPage, ContentReviewCard, ContentWorkspaceShell, DERIVATIVE_JPEG_QUALITY, DERIVATIVE_MAX_WIDTH, IMAGE_ANALYSIS_WORKFLOW_ID, PayloadBody, PostPreview, ProcessingStateStrip, ReviewActionBar, SelectedAssetStrip, SlideAnalysisPanel, SourceAssetsPanel, cropStyle, derivativeObjectKey, firstLine, formatElapsed, isDerivativeStale, lastLine, readStoredAnalysis, renderCropToJpeg, swapFirstLine, swapLastLine };
@@ -1503,6 +1503,64 @@ type Database = {
1503
1503
  }
1504
1504
  ];
1505
1505
  };
1506
+ content_distribution_metrics: {
1507
+ Row: {
1508
+ captured_at: string;
1509
+ created_at: string;
1510
+ distribution_id: string;
1511
+ id: string;
1512
+ metrics: Json;
1513
+ organization_id: string;
1514
+ raw: Json;
1515
+ source: string;
1516
+ source_execution_id: string | null;
1517
+ };
1518
+ Insert: {
1519
+ captured_at?: string;
1520
+ created_at?: string;
1521
+ distribution_id: string;
1522
+ id?: string;
1523
+ metrics?: Json;
1524
+ organization_id: string;
1525
+ raw?: Json;
1526
+ source: string;
1527
+ source_execution_id?: string | null;
1528
+ };
1529
+ Update: {
1530
+ captured_at?: string;
1531
+ created_at?: string;
1532
+ distribution_id?: string;
1533
+ id?: string;
1534
+ metrics?: Json;
1535
+ organization_id?: string;
1536
+ raw?: Json;
1537
+ source?: string;
1538
+ source_execution_id?: string | null;
1539
+ };
1540
+ Relationships: [
1541
+ {
1542
+ foreignKeyName: "content_distribution_metrics_distribution_fkey";
1543
+ columns: ["distribution_id", "organization_id"];
1544
+ isOneToOne: false;
1545
+ referencedRelation: "content_distributions";
1546
+ referencedColumns: ["id", "organization_id"];
1547
+ },
1548
+ {
1549
+ foreignKeyName: "content_distribution_metrics_organization_id_fkey";
1550
+ columns: ["organization_id"];
1551
+ isOneToOne: false;
1552
+ referencedRelation: "organizations";
1553
+ referencedColumns: ["id"];
1554
+ },
1555
+ {
1556
+ foreignKeyName: "content_distribution_metrics_source_execution_id_fkey";
1557
+ columns: ["source_execution_id"];
1558
+ isOneToOne: false;
1559
+ referencedRelation: "execution_logs";
1560
+ referencedColumns: ["execution_id"];
1561
+ }
1562
+ ];
1563
+ };
1506
1564
  content_distributions: {
1507
1565
  Row: {
1508
1566
  adapted_body: string | null;
@@ -1,19 +1,21 @@
1
- export { ActivityFeedWidget, CompanyDetailPage, ContactDetailPage, ConversationThread, CrmOverview, CrmSettingsPage, CrmSidebar, CrmSidebarTop, DealDetailPage, DealsListPage, MetricsStrip, PIPELINE_FUNNEL_ORDER, PipelineFunnelWidget, crmPrioritySettingsKeys, getCrmApiInterfaceReadiness, useCrmPipelineConfig, useCrmPipelineSummary, useCrmPrioritySettings, useCrmQuickMetrics, useRecentCrmActivity, useResetCrmPrioritySettings, useUpdateCrmPrioritySettings } from '../../chunk-NI37YNRP.js';
2
- import '../../chunk-PQ4B62HH.js';
1
+ export { ActivityFeedWidget, CompanyDetailPage, ContactDetailPage, ConversationThread, CrmOverview, CrmSettingsPage, CrmSidebar, CrmSidebarTop, DealDetailPage, DealsListPage, MetricsStrip, PIPELINE_FUNNEL_ORDER, PipelineFunnelWidget, crmPrioritySettingsKeys, getCrmApiInterfaceReadiness, useCrmPipelineConfig, useCrmPipelineSummary, useCrmPrioritySettings, useCrmQuickMetrics, useRecentCrmActivity, useResetCrmPrioritySettings, useUpdateCrmPrioritySettings } from '../../chunk-ZWI62BQ6.js';
2
+ import '../../chunk-FZSG6M6W.js';
3
+ import '../../chunk-ZFA56VSR.js';
4
+ import '../../chunk-ZYNVCWDZ.js';
5
+ import '../../chunk-WDBNW44Z.js';
3
6
  import '../../chunk-BZZCNLT6.js';
4
7
  import '../../chunk-TUMSNGTX.js';
5
8
  import '../../chunk-PDHTXPSF.js';
6
- export { CRM_ITEMS, CrmSidebarMiddle, MyTasksPanel, QuickCreateActions, SAVED_VIEW_PRESETS, SavedViewsPanel, crmManifest } from '../../chunk-OCVSPAKM.js';
9
+ export { CRM_ITEMS, CrmSidebarMiddle, MyTasksPanel, QuickCreateActions, SAVED_VIEW_PRESETS, SavedViewsPanel, crmManifest } from '../../chunk-6JN2TLV2.js';
7
10
  import '../../chunk-R6NMRXNO.js';
8
11
  import '../../chunk-RBGVNPA6.js';
9
- import '../../chunk-MKH2KOAO.js';
10
- import '../../chunk-NHNTX6ZL.js';
12
+ import '../../chunk-O32UQ26A.js';
11
13
  import '../../chunk-L7BZZ4SI.js';
12
- import '../../chunk-U2H3TIHD.js';
14
+ import '../../chunk-HYQOGRWG.js';
13
15
  import '../../chunk-MISHPEJX.js';
14
16
  import '../../chunk-62GVNH5U.js';
15
17
  import '../../chunk-P45GQ3ZW.js';
16
- import '../../chunk-M7WWRZ5Z.js';
18
+ import '../../chunk-2GIJBHZT.js';
17
19
  import '../../chunk-3KMDHCAR.js';
18
20
  import '../../chunk-2IFYDILW.js';
19
21
  import '../../chunk-BLXJEIQS.js';
@@ -21,7 +23,7 @@ import '../../chunk-UD657ICS.js';
21
23
  import '../../chunk-DD3CCMCZ.js';
22
24
  import '../../chunk-RNP5R5I3.js';
23
25
  import '../../chunk-RT4KRGZT.js';
24
- import '../../chunk-IBCEAVB2.js';
26
+ import '../../chunk-R5UGIFYU.js';
25
27
  import '../../chunk-Y6I3IC45.js';
26
28
  import '../../chunk-6SSQGWK7.js';
27
29
  import '../../chunk-BI5VDO2K.js';
@@ -1,19 +1,20 @@
1
- export { Dashboard, DashboardOperationsOverview, OperationsOverview, RecentExecutionsByResource, ResourceOverview, UnresolvedErrorsTeaser } from '../../chunk-ZDKPHFTH.js';
1
+ export { Dashboard, DashboardOperationsOverview, OperationsOverview, RecentExecutionsByResource, ResourceOverview, UnresolvedErrorsTeaser } from '../../chunk-W2QRBQQA.js';
2
+ import '../../chunk-N6K2Q5BM.js';
2
3
  import '../../chunk-3MEXPLWT.js';
3
4
  import '../../chunk-LGKLC5MG.js';
5
+ import '../../chunk-YQQ5GRUR.js';
4
6
  import '../../chunk-HENXLGVD.js';
5
- import '../../chunk-3TS5U5BL.js';
6
- import '../../chunk-OCVSPAKM.js';
7
+ import '../../chunk-E6YGA5WH.js';
8
+ import '../../chunk-6JN2TLV2.js';
7
9
  import '../../chunk-R6NMRXNO.js';
8
10
  import '../../chunk-RBGVNPA6.js';
9
- import '../../chunk-MKH2KOAO.js';
10
- import '../../chunk-NHNTX6ZL.js';
11
+ import '../../chunk-O32UQ26A.js';
11
12
  import '../../chunk-L7BZZ4SI.js';
12
- import '../../chunk-U2H3TIHD.js';
13
+ import '../../chunk-HYQOGRWG.js';
13
14
  import '../../chunk-MISHPEJX.js';
14
15
  import '../../chunk-62GVNH5U.js';
15
16
  import '../../chunk-P45GQ3ZW.js';
16
- import '../../chunk-M7WWRZ5Z.js';
17
+ import '../../chunk-2GIJBHZT.js';
17
18
  import '../../chunk-3KMDHCAR.js';
18
19
  import '../../chunk-2IFYDILW.js';
19
20
  import '../../chunk-BLXJEIQS.js';
@@ -21,7 +22,7 @@ import '../../chunk-UD657ICS.js';
21
22
  import '../../chunk-DD3CCMCZ.js';
22
23
  import '../../chunk-RNP5R5I3.js';
23
24
  import '../../chunk-RT4KRGZT.js';
24
- import '../../chunk-IBCEAVB2.js';
25
+ import '../../chunk-R5UGIFYU.js';
25
26
  import '../../chunk-Y6I3IC45.js';
26
27
  import '../../chunk-6SSQGWK7.js';
27
28
  import '../../chunk-BI5VDO2K.js';
@@ -1454,6 +1454,64 @@ type Database = {
1454
1454
  }
1455
1455
  ];
1456
1456
  };
1457
+ content_distribution_metrics: {
1458
+ Row: {
1459
+ captured_at: string;
1460
+ created_at: string;
1461
+ distribution_id: string;
1462
+ id: string;
1463
+ metrics: Json;
1464
+ organization_id: string;
1465
+ raw: Json;
1466
+ source: string;
1467
+ source_execution_id: string | null;
1468
+ };
1469
+ Insert: {
1470
+ captured_at?: string;
1471
+ created_at?: string;
1472
+ distribution_id: string;
1473
+ id?: string;
1474
+ metrics?: Json;
1475
+ organization_id: string;
1476
+ raw?: Json;
1477
+ source: string;
1478
+ source_execution_id?: string | null;
1479
+ };
1480
+ Update: {
1481
+ captured_at?: string;
1482
+ created_at?: string;
1483
+ distribution_id?: string;
1484
+ id?: string;
1485
+ metrics?: Json;
1486
+ organization_id?: string;
1487
+ raw?: Json;
1488
+ source?: string;
1489
+ source_execution_id?: string | null;
1490
+ };
1491
+ Relationships: [
1492
+ {
1493
+ foreignKeyName: "content_distribution_metrics_distribution_fkey";
1494
+ columns: ["distribution_id", "organization_id"];
1495
+ isOneToOne: false;
1496
+ referencedRelation: "content_distributions";
1497
+ referencedColumns: ["id", "organization_id"];
1498
+ },
1499
+ {
1500
+ foreignKeyName: "content_distribution_metrics_organization_id_fkey";
1501
+ columns: ["organization_id"];
1502
+ isOneToOne: false;
1503
+ referencedRelation: "organizations";
1504
+ referencedColumns: ["id"];
1505
+ },
1506
+ {
1507
+ foreignKeyName: "content_distribution_metrics_source_execution_id_fkey";
1508
+ columns: ["source_execution_id"];
1509
+ isOneToOne: false;
1510
+ referencedRelation: "execution_logs";
1511
+ referencedColumns: ["execution_id"];
1512
+ }
1513
+ ];
1514
+ };
1457
1515
  content_distributions: {
1458
1516
  Row: {
1459
1517
  adapted_body: string | null;
@@ -1,19 +1,35 @@
1
- export { AllTasksPage, Checklist, CreateDeliveryEntityModal, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, HealthStatusCard, MilestoneTimeline, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, TaskCard, UpcomingMilestonesPage } from '../../chunk-AJOVWB47.js';
1
+ export { AllTasksPage, Checklist, CreateDeliveryEntityModal, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, HealthStatusCard, MilestoneTimeline, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, TaskCard, UpcomingMilestonesPage } from '../../chunk-7RJ7P6S6.js';
2
+ import '../../chunk-GPQQGQGT.js';
3
+ import '../../chunk-DCQKTDIG.js';
4
+ import '../../chunk-ARAFQBNI.js';
5
+ import '../../chunk-FZSG6M6W.js';
6
+ import '../../chunk-GDOR57D7.js';
7
+ import '../../chunk-3LOKYZJC.js';
8
+ import '../../chunk-ZYNVCWDZ.js';
9
+ import '../../chunk-FA7LMNQO.js';
10
+ import '../../chunk-N6K2Q5BM.js';
11
+ import '../../chunk-QFGNRKIE.js';
12
+ import '../../chunk-BRTGCFBH.js';
13
+ import '../../chunk-YQQ5GRUR.js';
14
+ import '../../chunk-VM2OWOXL.js';
15
+ import '../../chunk-43LC6XAX.js';
16
+ import '../../chunk-WDBNW44Z.js';
2
17
  export { calculateProgress, formatStatusLabel, milestoneStatusColors, noteTypeColors, projectStatusColors, taskStatusColors, taskTypeColors } from '../../chunk-DLR4SDZW.js';
18
+ import '../../chunk-4M2BSHVT.js';
19
+ import '../../chunk-3QHX4ZKV.js';
3
20
  import '../../chunk-BZZCNLT6.js';
4
21
  import '../../chunk-TUMSNGTX.js';
5
22
  import '../../chunk-PDHTXPSF.js';
6
- export { deliveryManifest } from '../../chunk-OCVSPAKM.js';
23
+ export { deliveryManifest } from '../../chunk-6JN2TLV2.js';
7
24
  import '../../chunk-R6NMRXNO.js';
8
25
  import '../../chunk-RBGVNPA6.js';
9
- import '../../chunk-MKH2KOAO.js';
10
- import '../../chunk-NHNTX6ZL.js';
26
+ import '../../chunk-O32UQ26A.js';
11
27
  import '../../chunk-L7BZZ4SI.js';
12
- import '../../chunk-U2H3TIHD.js';
28
+ import '../../chunk-HYQOGRWG.js';
13
29
  import '../../chunk-MISHPEJX.js';
14
30
  import '../../chunk-62GVNH5U.js';
15
31
  import '../../chunk-P45GQ3ZW.js';
16
- import '../../chunk-M7WWRZ5Z.js';
32
+ import '../../chunk-2GIJBHZT.js';
17
33
  import '../../chunk-3KMDHCAR.js';
18
34
  import '../../chunk-2IFYDILW.js';
19
35
  import '../../chunk-BLXJEIQS.js';
@@ -21,7 +37,7 @@ import '../../chunk-UD657ICS.js';
21
37
  import '../../chunk-DD3CCMCZ.js';
22
38
  import '../../chunk-RNP5R5I3.js';
23
39
  import '../../chunk-RT4KRGZT.js';
24
- import '../../chunk-IBCEAVB2.js';
40
+ import '../../chunk-R5UGIFYU.js';
25
41
  import '../../chunk-Y6I3IC45.js';
26
42
  import '../../chunk-6SSQGWK7.js';
27
43
  import '../../chunk-BI5VDO2K.js';
@@ -1,14 +1,13 @@
1
- export { knowledgeManifest } from '../../chunk-OCVSPAKM.js';
1
+ export { knowledgeManifest } from '../../chunk-6JN2TLV2.js';
2
2
  import '../../chunk-R6NMRXNO.js';
3
3
  import '../../chunk-RBGVNPA6.js';
4
- import '../../chunk-MKH2KOAO.js';
5
- import '../../chunk-NHNTX6ZL.js';
4
+ import '../../chunk-O32UQ26A.js';
6
5
  import '../../chunk-L7BZZ4SI.js';
7
- import '../../chunk-U2H3TIHD.js';
6
+ import '../../chunk-HYQOGRWG.js';
8
7
  import '../../chunk-MISHPEJX.js';
9
8
  import '../../chunk-62GVNH5U.js';
10
9
  import '../../chunk-P45GQ3ZW.js';
11
- import '../../chunk-M7WWRZ5Z.js';
10
+ import '../../chunk-2GIJBHZT.js';
12
11
  import '../../chunk-3KMDHCAR.js';
13
12
  import '../../chunk-2IFYDILW.js';
14
13
  import '../../chunk-BLXJEIQS.js';
@@ -16,7 +15,7 @@ import '../../chunk-UD657ICS.js';
16
15
  import '../../chunk-DD3CCMCZ.js';
17
16
  import '../../chunk-RNP5R5I3.js';
18
17
  import '../../chunk-RT4KRGZT.js';
19
- import '../../chunk-IBCEAVB2.js';
18
+ import '../../chunk-R5UGIFYU.js';
20
19
  import '../../chunk-Y6I3IC45.js';
21
20
  import '../../chunk-6SSQGWK7.js';
22
21
  import '../../chunk-BI5VDO2K.js';