@elevasis/ui 2.41.0 → 2.42.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 (95) hide show
  1. package/dist/api/index.js +4 -6
  2. package/dist/app/index.css +384 -0
  3. package/dist/app/index.d.ts +5 -1
  4. package/dist/app/index.js +17 -26
  5. package/dist/auth/index.css +659 -0
  6. package/dist/auth/index.js +19 -5
  7. package/dist/charts/index.css +533 -0
  8. package/dist/charts/index.js +18 -14
  9. package/dist/{chunk-JAN2ZXN5.js → chunk-3MTAHV5M.js} +28535 -18021
  10. package/dist/{chunk-73EWE2EW.js → chunk-EDVZ3AHA.js} +1 -1
  11. package/dist/chunk-GMXGDO3I.js +244 -0
  12. package/dist/{chunk-CXY7FMUM.js → chunk-GUKY77FJ.js} +50 -4
  13. package/dist/{chunk-TE4P6OSJ.js → chunk-MA7YCY7C.js} +1 -1
  14. package/dist/{chunk-5JYKCULK.js → chunk-NZ2F5RQ4.js} +44 -2
  15. package/dist/{chunk-WF7CONXF.js → chunk-OJJK27GC.js} +658 -6
  16. package/dist/chunk-YEGMSADG.js +1781 -0
  17. package/dist/components/chat/index.js +1 -2
  18. package/dist/components/index.css +149 -149
  19. package/dist/components/index.d.ts +5 -1
  20. package/dist/components/index.js +13 -36
  21. package/dist/components/navigation/index.css +659 -0
  22. package/dist/components/navigation/index.js +25 -3
  23. package/dist/features/auth/index.js +14 -37
  24. package/dist/features/clients/index.css +149 -149
  25. package/dist/features/clients/index.js +13 -36
  26. package/dist/features/crm/index.js +13 -36
  27. package/dist/features/dashboard/index.d.ts +5 -1
  28. package/dist/features/dashboard/index.js +13 -36
  29. package/dist/features/delivery/index.js +13 -36
  30. package/dist/features/knowledge/index.css +659 -0
  31. package/dist/features/knowledge/index.js +25 -247
  32. package/dist/features/lead-gen/index.d.ts +5 -1
  33. package/dist/features/lead-gen/index.js +13 -36
  34. package/dist/features/monitoring/index.js +13 -36
  35. package/dist/features/monitoring/requests/index.js +19 -149
  36. package/dist/features/operations/index.d.ts +5 -1
  37. package/dist/features/operations/index.js +13 -36
  38. package/dist/features/seo/index.js +1 -4
  39. package/dist/features/settings/index.js +13 -36
  40. package/dist/hooks/access/index.css +659 -0
  41. package/dist/hooks/access/index.js +19 -4
  42. package/dist/hooks/delivery/index.js +13 -36
  43. package/dist/hooks/index.d.ts +5 -1
  44. package/dist/hooks/index.js +13 -36
  45. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +5 -1
  46. package/dist/hooks/published.d.ts +5 -1
  47. package/dist/hooks/published.js +13 -36
  48. package/dist/index.d.ts +5 -1
  49. package/dist/index.js +14 -37
  50. package/dist/initialization/index.js +1 -1
  51. package/dist/knowledge/index.css +659 -0
  52. package/dist/knowledge/index.d.ts +5 -1
  53. package/dist/knowledge/index.js +25 -15
  54. package/dist/layout/index.css +659 -0
  55. package/dist/layout/index.js +24 -9
  56. package/dist/organization/index.js +13 -36
  57. package/dist/provider/index.css +384 -0
  58. package/dist/provider/index.d.ts +5 -1
  59. package/dist/provider/index.js +18 -21
  60. package/dist/provider/published.css +533 -0
  61. package/dist/provider/published.d.ts +5 -1
  62. package/dist/provider/published.js +18 -16
  63. package/dist/test-utils/index.js +4 -6
  64. package/dist/theme/index.js +2 -5
  65. package/dist/theme/presets/index.js +1 -2
  66. package/dist/types/index.d.ts +5 -1
  67. package/dist/utils/index.d.ts +5 -1
  68. package/dist/utils/index.js +1 -3
  69. package/package.json +3 -3
  70. package/dist/chunk-3KMDHCAR.js +0 -52
  71. package/dist/chunk-4DRI3G36.js +0 -1016
  72. package/dist/chunk-56O7QQE7.js +0 -356
  73. package/dist/chunk-5EYJ2GIN.js +0 -122
  74. package/dist/chunk-66U7JOWV.js +0 -425
  75. package/dist/chunk-6D4LCJ52.js +0 -10
  76. package/dist/chunk-6ROXVZ3L.js +0 -9
  77. package/dist/chunk-A2XN6PR2.js +0 -111
  78. package/dist/chunk-B2DZLPDL.js +0 -39
  79. package/dist/chunk-CLDCYJQT.js +0 -1
  80. package/dist/chunk-CTJBPF3Z.js +0 -734
  81. package/dist/chunk-DT3QYZVU.js +0 -23
  82. package/dist/chunk-FIMGOWOT.js +0 -3644
  83. package/dist/chunk-IIMU5YAJ.js +0 -53
  84. package/dist/chunk-JHVEA5NE.js +0 -133
  85. package/dist/chunk-L7GXUSCV.js +0 -215
  86. package/dist/chunk-NYBEU5TE.js +0 -118
  87. package/dist/chunk-QVQMOQXB.js +0 -1240
  88. package/dist/chunk-RH5VWWSC.js +0 -624
  89. package/dist/chunk-RXH4D6TY.js +0 -801
  90. package/dist/chunk-S4R2ZQS7.js +0 -2131
  91. package/dist/chunk-TYRUKGGD.js +0 -46
  92. package/dist/chunk-VAAU2Z3S.js +0 -85
  93. package/dist/chunk-WLOQ4IBG.js +0 -654
  94. package/dist/chunk-X4WBGKJQ.js +0 -138
  95. package/dist/chunk-YPWN2WQ3.js +0 -340
@@ -1,249 +1,27 @@
1
- import { getSharedOrganizationGraph, KnowledgeSearchBar, KnowledgeTree, getKnowledgeIconToken, getKnowledgeNodeReadCommand } from '../../chunk-S4R2ZQS7.js';
2
- import { ORGANIZATION_GRAPH_NODE_KIND_LABELS } from '../../chunk-5EYJ2GIN.js';
3
- import '../../chunk-CLDCYJQT.js';
4
- import { SubshellSidebarSection } from '../../chunk-IIMU5YAJ.js';
5
- import '../../chunk-DT3QYZVU.js';
1
+ export { knowledgeManifest } from '../../chunk-3MTAHV5M.js';
2
+ import '../../chunk-NZ2F5RQ4.js';
3
+ import '../../chunk-OJJK27GC.js';
4
+ import '../../chunk-AUDNF2Q7.js';
5
+ import '../../chunk-6M6OLGQY.js';
6
+ import '../../chunk-BRXELOHC.js';
7
+ import '../../chunk-GUKY77FJ.js';
8
+ import '../../chunk-SJHM4WDG.js';
9
+ import '../../chunk-ZTWA5H77.js';
10
+ import '../../chunk-S3XR4II4.js';
11
+ import '../../chunk-6DO4PE3O.js';
12
+ import '../../chunk-MA7YCY7C.js';
13
+ import '../../chunk-DD3CCMCZ.js';
14
+ import '../../chunk-GMXGDO3I.js';
6
15
  import '../../chunk-2IFYDILW.js';
7
- import { useRouterContext } from '../../chunk-Q7DJKLEN.js';
8
- import { useElevasisSystems, resolveOrganizationModel, SemanticIcon } from '../../chunk-FIMGOWOT.js';
9
- import '../../chunk-RH5VWWSC.js';
16
+ import '../../chunk-Q7DJKLEN.js';
17
+ import '../../chunk-HENXLGVD.js';
18
+ import '../../chunk-7FPLLSHN.js';
19
+ import '../../chunk-RNP5R5I3.js';
20
+ import '../../chunk-W2SFTXMT.js';
21
+ import '../../chunk-YEGMSADG.js';
22
+ import '../../chunk-KRWALB24.js';
23
+ import '../../chunk-2FTX4WO2.js';
24
+ import '../../chunk-MQZE7SUI.js';
25
+ import '../../chunk-TVTSASST.js';
26
+ import '../../chunk-BRJ3QZ4E.js';
10
27
  import '../../chunk-I2KLQ2HA.js';
11
- import { IconBrain, IconCircleCheckFilled, IconCircleDashed, IconCheck, IconCopy } from '@tabler/icons-react';
12
- import { Stack, Box, Group, Popover, Button, Badge, Divider, Text, UnstyledButton } from '@mantine/core';
13
- import { useClipboard } from '@mantine/hooks';
14
- import { useMemo, useState } from 'react';
15
- import { jsx, jsxs } from 'react/jsx-runtime';
16
-
17
- var WIRING_FACET_KINDS = ["action", "entity", "event", "resource"];
18
- function isKnowledgeHidden(state) {
19
- return state === "exclude";
20
- }
21
- function isWiringFacetActive(state) {
22
- return state === "include";
23
- }
24
- var SIDEBAR_TREE_ACCENT_COLOR = "var(--color-primary)";
25
- var KnowledgeSidebarMiddle = () => {
26
- const { navigate, currentPath } = useRouterContext();
27
- const { organizationModel } = useElevasisSystems();
28
- if (currentPath.startsWith("/knowledge/command-view")) {
29
- return null;
30
- }
31
- const orgModel = organizationModel ?? resolveOrganizationModel();
32
- return /* @__PURE__ */ jsx(KnowledgeBaseSidebarBody, { navigate, currentPath, organizationModel: orgModel });
33
- };
34
- function KnowledgeBaseSidebarBody({ navigate, currentPath, organizationModel }) {
35
- const knowledgeNodes = useMemo(() => Object.values(organizationModel.knowledge), [organizationModel]);
36
- const graph = useMemo(() => getSharedOrganizationGraph(organizationModel), [organizationModel]);
37
- const [searchResults, setSearchResults] = useState(null);
38
- const [facetStates, setFacetStates] = useState({ knowledge: "include" });
39
- const [facetsOpen, setFacetsOpen] = useState(false);
40
- const activeFacetCount = useMemo(() => {
41
- let count = 0;
42
- if (isKnowledgeHidden(facetStates.knowledge)) count += 1;
43
- for (const kind of WIRING_FACET_KINDS) {
44
- if (isWiringFacetActive(facetStates[kind])) count += 1;
45
- }
46
- return count;
47
- }, [facetStates]);
48
- const selectedNodeId = useMemo(() => {
49
- const match = currentPath.match(/^\/knowledge\/([^/]+)/);
50
- if (!match) return void 0;
51
- const segment = match[1];
52
- if (["system", "entity", "resource", "graph", "command-view"].includes(segment)) return void 0;
53
- return decodeURIComponent(segment);
54
- }, [currentPath]);
55
- const handleSelect = (node) => {
56
- navigate(`/knowledge/${node.id}`);
57
- };
58
- const handleSelectGraphNode = (node) => {
59
- navigate(`/knowledge/${node.id}`);
60
- };
61
- const handleSelectDomain = (domainKey) => {
62
- navigate(`/knowledge/domain:${domainKey}`);
63
- };
64
- const handleSelectGroup = (groupKey) => {
65
- navigate(`/knowledge/group:${groupKey}`);
66
- };
67
- const handleSelectItem = (domainKey, itemId) => {
68
- navigate(`/knowledge/item:${domainKey}:${encodeURIComponent(itemId)}`);
69
- };
70
- return /* @__PURE__ */ jsxs(Stack, { gap: 0, style: { flex: 1, overflow: "hidden", display: "flex", flexDirection: "column" }, children: [
71
- /* @__PURE__ */ jsx(SubshellSidebarSection, { icon: IconBrain, label: "Knowledge", withTopBorder: false }),
72
- /* @__PURE__ */ jsx(Box, { p: "sm", pb: 0, children: /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", align: "center", children: [
73
- /* @__PURE__ */ jsx(Box, { style: { flex: 1, minWidth: 0 }, children: /* @__PURE__ */ jsx(KnowledgeSearchBar, { knowledgeNodes, onResults: setSearchResults }) }),
74
- /* @__PURE__ */ jsxs(Popover, { position: "right-start", withArrow: true, shadow: "md", opened: facetsOpen, onChange: setFacetsOpen, offset: 6, children: [
75
- /* @__PURE__ */ jsx(Popover.Target, { children: /* @__PURE__ */ jsx(
76
- Button,
77
- {
78
- size: "xs",
79
- variant: activeFacetCount > 0 ? "light" : "subtle",
80
- color: activeFacetCount > 0 ? "blue" : "gray",
81
- onClick: () => setFacetsOpen((o) => !o),
82
- "aria-expanded": facetsOpen,
83
- rightSection: activeFacetCount > 0 ? /* @__PURE__ */ jsx(Badge, { size: "xs", circle: true, variant: "filled", color: "blue", children: activeFacetCount }) : null,
84
- children: "Filter"
85
- }
86
- ) }),
87
- /* @__PURE__ */ jsx(Popover.Dropdown, { p: 6, children: /* @__PURE__ */ jsx(FacetPanel, { value: facetStates, onChange: setFacetStates }) })
88
- ] })
89
- ] }) }),
90
- /* @__PURE__ */ jsx(Stack, { gap: 0, style: { flex: 1, overflowY: "auto" }, children: searchResults ? /* @__PURE__ */ jsx(SearchResultsList, { searchResults, selectedNodeId, onSelect: handleSelect }) : /* @__PURE__ */ jsx(
91
- KnowledgeTree,
92
- {
93
- graph,
94
- knowledgeNodes,
95
- organizationModel,
96
- omRooted: true,
97
- facetStates,
98
- onSelectNode: handleSelect,
99
- onSelectGraphNode: handleSelectGraphNode,
100
- onSelectDomain: handleSelectDomain,
101
- onSelectGroup: handleSelectGroup,
102
- onSelectItem: handleSelectItem,
103
- selectedNodeId
104
- }
105
- ) })
106
- ] });
107
- }
108
- function SearchResultsList({ searchResults, selectedNodeId, onSelect }) {
109
- if (searchResults.length === 0) {
110
- return /* @__PURE__ */ jsx(Box, { p: "md", children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No results." }) });
111
- }
112
- return /* @__PURE__ */ jsx(Stack, { gap: 2, p: "sm", children: searchResults.map((node) => {
113
- const isActive = node.id === selectedNodeId;
114
- return /* @__PURE__ */ jsx(NodeButton, { node, isActive, onSelect }, node.id);
115
- }) });
116
- }
117
- function FacetPanel({ value, onChange }) {
118
- const knowledgeHidden = isKnowledgeHidden(value.knowledge);
119
- const toggleKnowledge = () => {
120
- onChange({ ...value, knowledge: knowledgeHidden ? "include" : "exclude" });
121
- };
122
- const toggleWiring = (kind) => {
123
- onChange({ ...value, [kind]: isWiringFacetActive(value[kind]) ? "neutral" : "include" });
124
- };
125
- return /* @__PURE__ */ jsxs(Stack, { gap: 4, miw: 200, children: [
126
- /* @__PURE__ */ jsx(FacetRow, { label: "Hide knowledge nodes", active: knowledgeHidden, onClick: toggleKnowledge }),
127
- /* @__PURE__ */ jsx(Divider, { my: 4 }),
128
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", pl: 6, pb: 2, tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Show under systems" }),
129
- WIRING_FACET_KINDS.map((kind) => /* @__PURE__ */ jsx(
130
- FacetRow,
131
- {
132
- label: ORGANIZATION_GRAPH_NODE_KIND_LABELS[kind],
133
- active: isWiringFacetActive(value[kind]),
134
- onClick: () => toggleWiring(kind)
135
- },
136
- kind
137
- ))
138
- ] });
139
- }
140
- function FacetRow({ label, active, onClick }) {
141
- const [hovered, setHovered] = useState(false);
142
- const StatusIcon = active ? IconCircleCheckFilled : IconCircleDashed;
143
- const iconColor = active ? "var(--color-primary)" : "var(--color-text-subtle)";
144
- return /* @__PURE__ */ jsx(
145
- UnstyledButton,
146
- {
147
- onClick,
148
- onMouseEnter: () => setHovered(true),
149
- onMouseLeave: () => setHovered(false),
150
- "aria-pressed": active,
151
- "aria-label": `${label} ${active ? "on" : "off"}`,
152
- style: {
153
- padding: "6px 10px",
154
- borderRadius: "var(--mantine-radius-sm)",
155
- backgroundColor: hovered ? "var(--color-surface-hover)" : "transparent",
156
- transition: "background-color var(--duration-fast) var(--easing)"
157
- },
158
- children: /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", children: [
159
- /* @__PURE__ */ jsx(StatusIcon, { size: 16, style: { color: iconColor, flexShrink: 0 } }),
160
- /* @__PURE__ */ jsx(Text, { size: "sm", c: active ? void 0 : "dimmed", children: label })
161
- ] })
162
- }
163
- );
164
- }
165
- function NodeButton({ node, isActive, onSelect }) {
166
- const [hovered, setHovered] = useState(false);
167
- return /* @__PURE__ */ jsx(
168
- UnstyledButton,
169
- {
170
- onClick: () => onSelect(node),
171
- onMouseEnter: () => setHovered(true),
172
- onMouseLeave: () => setHovered(false),
173
- style: {
174
- padding: "6px 10px",
175
- borderRadius: "var(--mantine-radius-sm)",
176
- backgroundColor: isActive ? "color-mix(in srgb, var(--color-primary) 10%, transparent)" : hovered ? "var(--color-surface-hover)" : "transparent",
177
- width: "100%",
178
- textAlign: "left",
179
- transition: "background-color var(--duration-fast) var(--easing), color var(--duration-fast) var(--easing)"
180
- },
181
- children: /* @__PURE__ */ jsx(
182
- Text,
183
- {
184
- size: "sm",
185
- c: isActive ? "var(--color-primary)" : hovered ? "var(--color-text)" : void 0,
186
- fw: isActive ? 600 : 400,
187
- children: /* @__PURE__ */ jsxs(Group, { component: "span", gap: "xs", wrap: "nowrap", children: [
188
- /* @__PURE__ */ jsx(SemanticIcon, { token: getKnowledgeIconToken(node), size: 15, style: { color: SIDEBAR_TREE_ACCENT_COLOR } }),
189
- /* @__PURE__ */ jsx("span", { style: { flex: 1, minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: node.title }),
190
- hovered ? /* @__PURE__ */ jsx(CopyCommandControl, { command: getKnowledgeNodeReadCommand(node.id), label: "Copy knowledge command", visible: true }) : null
191
- ] })
192
- }
193
- )
194
- }
195
- );
196
- }
197
- function CopyCommandControl({ command, label, visible }) {
198
- const clipboard = useClipboard({ timeout: 1500 });
199
- return /* @__PURE__ */ jsx(
200
- "span",
201
- {
202
- role: "button",
203
- tabIndex: 0,
204
- "aria-label": label,
205
- onClick: (event) => {
206
- event.preventDefault();
207
- event.stopPropagation();
208
- clipboard.copy(command);
209
- },
210
- onKeyDown: (event) => {
211
- if (event.key !== "Enter" && event.key !== " ") return;
212
- event.preventDefault();
213
- event.stopPropagation();
214
- clipboard.copy(command);
215
- },
216
- style: {
217
- display: "inline-flex",
218
- alignItems: "center",
219
- justifyContent: "center",
220
- width: 22,
221
- height: 22,
222
- flexShrink: 0,
223
- opacity: visible ? 1 : 0,
224
- pointerEvents: visible ? "auto" : "none",
225
- color: clipboard.copied ? "var(--color-primary)" : "var(--color-text-subtle)",
226
- transition: "opacity 120ms ease, color 120ms ease"
227
- },
228
- children: clipboard.copied ? /* @__PURE__ */ jsx(IconCheck, { size: 14 }) : /* @__PURE__ */ jsx(IconCopy, { size: 14 })
229
- }
230
- );
231
- }
232
- var KnowledgeSidebar = () => /* @__PURE__ */ jsx(Stack, { gap: 0, style: { height: "100%", display: "flex", flexDirection: "column" }, children: /* @__PURE__ */ jsx(KnowledgeSidebarMiddle, {}) });
233
-
234
- // src/features/knowledge/manifest.ts
235
- var knowledgeSidebarWidth = 320;
236
- var defaultSidebarWidth = 250;
237
- var knowledgeManifest = {
238
- key: "knowledge",
239
- routePrefixes: ["/knowledge"],
240
- icon: IconBrain,
241
- sidebar: KnowledgeSidebar,
242
- sidebarWidth: ({ currentPath }) => {
243
- if (currentPath.startsWith("/knowledge/command-view")) return 0;
244
- if (currentPath.startsWith("/knowledge")) return knowledgeSidebarWidth;
245
- return defaultSidebarWidth;
246
- }
247
- };
248
-
249
- export { knowledgeManifest };
@@ -778,7 +778,11 @@ declare const SystemApiInterfaceSchema: z$1.ZodObject<{
778
778
  archived: "archived";
779
779
  disabled: "disabled";
780
780
  }>>;
781
- readinessProfile: z$1.ZodOptional<z$1.ZodString>;
781
+ readinessProfile: z$1.ZodOptional<z$1.ZodEnum<{
782
+ "sales.lead-gen.api": "sales.lead-gen.api";
783
+ "sales.crm.api": "sales.crm.api";
784
+ "sales.lead-gen.crm-handoff": "sales.lead-gen.crm-handoff";
785
+ }>>;
782
786
  resourceIds: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>>;
783
787
  }, z$1.core.$strict>;
784
788
  type JsonPrimitive = string | number | boolean | null;
@@ -1,48 +1,25 @@
1
- export { LEAD_GEN_ITEMS, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListBuilderIndexPage, ListBuilderPage, ORPHAN_STAGE_ORDER, companyKeys as acquisitionCompanyKeys, contactKeys as acquisitionContactKeys, companyKeys, contactKeys, deriveBusinessProgress, formatDate, getEnrichmentColor, getEnrichmentStatus, getLeadGenApiInterfaceReadiness, getLeadGenExportWorkflowId, getStateKeyColor, getStatusColor, getStepActionLabel, isLeadGenExportAction, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, leadGenManifest, resolveBuildPlanSteps, resolveBuildState, sortStageKeys, useArtifacts, useCompanies, useCompany, useCompanyFacets, useContact, useContacts, useCreateArtifact, useCreateCompany, useCreateContact, useDeleteCompanies, useDeleteContacts, useDeleteLists, useDeriveActions, useLeadGenConfig, useListMember, useListMembers, useListProgress, useTransitionListCompany, useTransitionListMember, useUpdateCompany, useUpdateContact, useUpdateListStatus } from '../../chunk-JAN2ZXN5.js';
2
- import '../../chunk-B2DZLPDL.js';
3
- import '../../chunk-66U7JOWV.js';
1
+ export { EMPTY_LIST_ACTIONS, LEAD_GEN_ITEMS, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListActionsProvider, ListBuilderIndexPage, ListBuilderPage, ORPHAN_STAGE_ORDER, companyKeys as acquisitionCompanyKeys, contactKeys as acquisitionContactKeys, companyKeys, contactKeys, deriveBusinessProgress, findListActionByAction, formatDate, getEnrichmentColor, getEnrichmentStatus, getLeadGenApiInterfaceReadiness, getLeadGenExportWorkflowId, getListActionWorkflowId, getStateKeyColor, getStatusColor, getStepActionLabel, isLeadGenExportAction, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, leadGenManifest, resolveBuildPlanSteps, resolveBuildState, sortStageKeys, useArtifacts, useCompanies, useCompany, useCompanyFacets, useContact, useContacts, useCreateArtifact, useCreateCompany, useCreateContact, useDeleteCompanies, useDeleteContacts, useDeleteLists, useDeriveActions, useLeadGenConfig, useListActions, useListMember, useListMembers, useListProgress, useTransitionListCompany, useTransitionListMember, useUpdateCompany, useUpdateContact, useUpdateListStatus } from '../../chunk-3MTAHV5M.js';
2
+ import '../../chunk-NZ2F5RQ4.js';
3
+ import '../../chunk-OJJK27GC.js';
4
4
  import '../../chunk-AUDNF2Q7.js';
5
5
  import '../../chunk-6M6OLGQY.js';
6
6
  import '../../chunk-BRXELOHC.js';
7
- import '../../chunk-VAAU2Z3S.js';
8
- import '../../chunk-CXY7FMUM.js';
9
- import '../../chunk-4DRI3G36.js';
7
+ import '../../chunk-GUKY77FJ.js';
10
8
  import '../../chunk-SJHM4WDG.js';
11
9
  import '../../chunk-ZTWA5H77.js';
12
- import '../../chunk-5EYJ2GIN.js';
13
- import '../../chunk-QVQMOQXB.js';
14
- import '../../chunk-CLDCYJQT.js';
15
- import '../../chunk-TYRUKGGD.js';
16
- import '../../chunk-X4WBGKJQ.js';
17
- import '../../chunk-IIMU5YAJ.js';
18
- import '../../chunk-HENXLGVD.js';
19
- import '../../chunk-7FPLLSHN.js';
20
- import '../../chunk-RNP5R5I3.js';
21
- import '../../chunk-A2XN6PR2.js';
22
- import '../../chunk-5JYKCULK.js';
23
- import '../../chunk-6D4LCJ52.js';
24
- import '../../chunk-WF7CONXF.js';
25
- import '../../chunk-WLOQ4IBG.js';
26
- export { EMPTY_LIST_ACTIONS, ListActionsProvider, findListActionByAction, getListActionWorkflowId, useListActions } from '../../chunk-YPWN2WQ3.js';
27
- import '../../chunk-CTJBPF3Z.js';
28
- import '../../chunk-3KMDHCAR.js';
29
10
  import '../../chunk-S3XR4II4.js';
30
- import '../../chunk-L7GXUSCV.js';
31
- import '../../chunk-NYBEU5TE.js';
32
- import '../../chunk-TE4P6OSJ.js';
33
- import '../../chunk-DT3QYZVU.js';
34
- import '../../chunk-2IFYDILW.js';
35
- import '../../chunk-Q7DJKLEN.js';
36
- import '../../chunk-RXH4D6TY.js';
37
- import '../../chunk-KRWALB24.js';
38
- import '../../chunk-JHVEA5NE.js';
39
- import '../../chunk-56O7QQE7.js';
40
11
  import '../../chunk-6DO4PE3O.js';
41
- import '../../chunk-FIMGOWOT.js';
12
+ import '../../chunk-MA7YCY7C.js';
42
13
  import '../../chunk-DD3CCMCZ.js';
14
+ import '../../chunk-GMXGDO3I.js';
15
+ import '../../chunk-2IFYDILW.js';
16
+ import '../../chunk-Q7DJKLEN.js';
17
+ import '../../chunk-HENXLGVD.js';
18
+ import '../../chunk-7FPLLSHN.js';
19
+ import '../../chunk-RNP5R5I3.js';
43
20
  import '../../chunk-W2SFTXMT.js';
44
- import '../../chunk-6ROXVZ3L.js';
45
- import '../../chunk-RH5VWWSC.js';
21
+ import '../../chunk-YEGMSADG.js';
22
+ import '../../chunk-KRWALB24.js';
46
23
  import '../../chunk-2FTX4WO2.js';
47
24
  import '../../chunk-MQZE7SUI.js';
48
25
  import '../../chunk-TVTSASST.js';
@@ -1,48 +1,25 @@
1
- export { ActivityFeed, ActivityLog, CostAnalytics, ErrorDetailsModal, ExecutionHealth, ExecutionLogsPage, NotificationCenter, monitoringManifest } from '../../chunk-JAN2ZXN5.js';
2
- import '../../chunk-B2DZLPDL.js';
3
- import '../../chunk-66U7JOWV.js';
1
+ export { ActivityFeed, ActivityLog, CostAnalytics, ErrorDetailsModal, ExecutionHealth, ExecutionLogsPage, NotificationCenter, monitoringManifest } from '../../chunk-3MTAHV5M.js';
2
+ import '../../chunk-NZ2F5RQ4.js';
3
+ import '../../chunk-OJJK27GC.js';
4
4
  import '../../chunk-AUDNF2Q7.js';
5
5
  import '../../chunk-6M6OLGQY.js';
6
6
  import '../../chunk-BRXELOHC.js';
7
- import '../../chunk-VAAU2Z3S.js';
8
- import '../../chunk-CXY7FMUM.js';
9
- import '../../chunk-4DRI3G36.js';
7
+ import '../../chunk-GUKY77FJ.js';
10
8
  import '../../chunk-SJHM4WDG.js';
11
9
  import '../../chunk-ZTWA5H77.js';
12
- import '../../chunk-5EYJ2GIN.js';
13
- import '../../chunk-QVQMOQXB.js';
14
- import '../../chunk-CLDCYJQT.js';
15
- import '../../chunk-TYRUKGGD.js';
16
- import '../../chunk-X4WBGKJQ.js';
17
- import '../../chunk-IIMU5YAJ.js';
18
- import '../../chunk-HENXLGVD.js';
19
- import '../../chunk-7FPLLSHN.js';
20
- import '../../chunk-RNP5R5I3.js';
21
- import '../../chunk-A2XN6PR2.js';
22
- import '../../chunk-5JYKCULK.js';
23
- import '../../chunk-6D4LCJ52.js';
24
- import '../../chunk-WF7CONXF.js';
25
- import '../../chunk-WLOQ4IBG.js';
26
- import '../../chunk-YPWN2WQ3.js';
27
- import '../../chunk-CTJBPF3Z.js';
28
- import '../../chunk-3KMDHCAR.js';
29
10
  import '../../chunk-S3XR4II4.js';
30
- import '../../chunk-L7GXUSCV.js';
31
- import '../../chunk-NYBEU5TE.js';
32
- import '../../chunk-TE4P6OSJ.js';
33
- import '../../chunk-DT3QYZVU.js';
34
- import '../../chunk-2IFYDILW.js';
35
- import '../../chunk-Q7DJKLEN.js';
36
- import '../../chunk-RXH4D6TY.js';
37
- import '../../chunk-KRWALB24.js';
38
- import '../../chunk-JHVEA5NE.js';
39
- import '../../chunk-56O7QQE7.js';
40
11
  import '../../chunk-6DO4PE3O.js';
41
- import '../../chunk-FIMGOWOT.js';
12
+ import '../../chunk-MA7YCY7C.js';
42
13
  import '../../chunk-DD3CCMCZ.js';
14
+ import '../../chunk-GMXGDO3I.js';
15
+ import '../../chunk-2IFYDILW.js';
16
+ import '../../chunk-Q7DJKLEN.js';
17
+ import '../../chunk-HENXLGVD.js';
18
+ import '../../chunk-7FPLLSHN.js';
19
+ import '../../chunk-RNP5R5I3.js';
43
20
  import '../../chunk-W2SFTXMT.js';
44
- import '../../chunk-6ROXVZ3L.js';
45
- import '../../chunk-RH5VWWSC.js';
21
+ import '../../chunk-YEGMSADG.js';
22
+ import '../../chunk-KRWALB24.js';
46
23
  import '../../chunk-2FTX4WO2.js';
47
24
  import '../../chunk-MQZE7SUI.js';
48
25
  import '../../chunk-TVTSASST.js';
@@ -1,60 +1,37 @@
1
- import { useSubmitRequest, CustomModal, ConfirmationModal, usePaginationState, useRequestsList, useUpdateRequestStatus, useDeleteRequest, useTableSelection, FilterBar, TableSelectionToolbar, useRequest } from '../../../chunk-JAN2ZXN5.js';
2
- import '../../../chunk-B2DZLPDL.js';
3
- import '../../../chunk-66U7JOWV.js';
1
+ import { ConfirmationModal, RequestModal, usePaginationState, useRequestsList, useUpdateRequestStatus, useDeleteRequest, useTableSelection, PageTitleCaption, FilterBar, TableSelectionToolbar, CustomModal, useRequest, ContextViewer, JsonViewer } from '../../../chunk-3MTAHV5M.js';
2
+ export { RequestActionIcon, RequestModal, requestTopbarActionManifest } from '../../../chunk-3MTAHV5M.js';
3
+ import '../../../chunk-NZ2F5RQ4.js';
4
+ import '../../../chunk-OJJK27GC.js';
4
5
  import '../../../chunk-AUDNF2Q7.js';
5
6
  import '../../../chunk-6M6OLGQY.js';
6
7
  import '../../../chunk-BRXELOHC.js';
7
- import '../../../chunk-VAAU2Z3S.js';
8
- import '../../../chunk-CXY7FMUM.js';
9
- import '../../../chunk-4DRI3G36.js';
8
+ import '../../../chunk-GUKY77FJ.js';
10
9
  import '../../../chunk-SJHM4WDG.js';
11
10
  import '../../../chunk-ZTWA5H77.js';
12
- import '../../../chunk-5EYJ2GIN.js';
13
- import '../../../chunk-QVQMOQXB.js';
14
- import '../../../chunk-CLDCYJQT.js';
15
- import '../../../chunk-TYRUKGGD.js';
16
- import '../../../chunk-X4WBGKJQ.js';
17
- import '../../../chunk-IIMU5YAJ.js';
18
- import '../../../chunk-HENXLGVD.js';
19
- import '../../../chunk-7FPLLSHN.js';
20
- import '../../../chunk-RNP5R5I3.js';
21
- import '../../../chunk-A2XN6PR2.js';
22
- import '../../../chunk-5JYKCULK.js';
23
- import '../../../chunk-6D4LCJ52.js';
24
- import '../../../chunk-WF7CONXF.js';
25
- import '../../../chunk-WLOQ4IBG.js';
26
- import '../../../chunk-YPWN2WQ3.js';
27
- import { PageTitleCaption, ContextViewer, JsonViewer } from '../../../chunk-CTJBPF3Z.js';
28
- import '../../../chunk-3KMDHCAR.js';
29
11
  import { CardHeader } from '../../../chunk-S3XR4II4.js';
30
- import '../../../chunk-L7GXUSCV.js';
31
- import '../../../chunk-NYBEU5TE.js';
32
- import '../../../chunk-TE4P6OSJ.js';
33
- import '../../../chunk-DT3QYZVU.js';
34
- import '../../../chunk-2IFYDILW.js';
35
- import '../../../chunk-Q7DJKLEN.js';
36
- import { formatTimeAgo } from '../../../chunk-RXH4D6TY.js';
37
- import '../../../chunk-KRWALB24.js';
38
- import '../../../chunk-JHVEA5NE.js';
39
- import '../../../chunk-56O7QQE7.js';
40
12
  import '../../../chunk-6DO4PE3O.js';
41
- import '../../../chunk-FIMGOWOT.js';
13
+ import '../../../chunk-MA7YCY7C.js';
42
14
  import '../../../chunk-DD3CCMCZ.js';
15
+ import '../../../chunk-GMXGDO3I.js';
16
+ import '../../../chunk-2IFYDILW.js';
17
+ import '../../../chunk-Q7DJKLEN.js';
18
+ import '../../../chunk-HENXLGVD.js';
19
+ import '../../../chunk-7FPLLSHN.js';
20
+ import '../../../chunk-RNP5R5I3.js';
43
21
  import '../../../chunk-W2SFTXMT.js';
44
- import '../../../chunk-6ROXVZ3L.js';
45
- import '../../../chunk-RH5VWWSC.js';
22
+ import { formatTimeAgo } from '../../../chunk-YEGMSADG.js';
23
+ import '../../../chunk-KRWALB24.js';
46
24
  import '../../../chunk-2FTX4WO2.js';
47
25
  import '../../../chunk-MQZE7SUI.js';
48
26
  import '../../../chunk-TVTSASST.js';
49
27
  import '../../../chunk-BRJ3QZ4E.js';
50
28
  import '../../../chunk-I2KLQ2HA.js';
51
- import { Stack, Title, Text, Select, TextInput, Textarea, Alert, Group, Button, Tooltip, ActionIcon, Badge, Menu, Paper, Center, Loader, Table, Checkbox, Pagination, Skeleton, SimpleGrid, CopyButton, SegmentedControl } from '@mantine/core';
52
- import { useDisclosure } from '@mantine/hooks';
53
- import { IconExclamationMark, IconMessagePlus, IconChevronDown, IconAlertTriangle, IconCheck, IconCopy, IconClipboardText, IconFileDescription, IconAlertCircle, IconInfoCircle, IconArrowLeft } from '@tabler/icons-react';
54
- import { useForm } from '@mantine/form';
55
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
56
29
  import { useState } from 'react';
57
30
  import { useNavigate } from '@tanstack/react-router';
31
+ import { Badge, Menu, Button, Stack, Paper, Select, Center, Loader, Text, Table, Checkbox, Group, Pagination, Title, Skeleton, SimpleGrid, CopyButton, Tooltip, ActionIcon, SegmentedControl } from '@mantine/core';
32
+ import { IconChevronDown, IconAlertTriangle, IconMessagePlus, IconCheck, IconCopy, IconClipboardText, IconFileDescription, IconAlertCircle, IconInfoCircle, IconArrowLeft } from '@tabler/icons-react';
33
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
34
+ import { useDisclosure } from '@mantine/hooks';
58
35
  import { notifications } from '@mantine/notifications';
59
36
 
60
37
  // src/features/monitoring/requests/manifest.ts
@@ -62,113 +39,6 @@ var submittedRequestsManifest = {
62
39
  key: "submitted-requests",
63
40
  routePrefixes: ["/monitoring/requests"]
64
41
  };
65
- var TYPE_OPTIONS = [
66
- { value: "feature", label: "Feature request" },
67
- { value: "bug", label: "Bug / issue" },
68
- { value: "question", label: "Question" },
69
- { value: "other", label: "Other" }
70
- ];
71
- function RequestModal({ opened, onClose, defaultType = "feature", affectedPage }) {
72
- const submitRequest = useSubmitRequest();
73
- const form = useForm({
74
- initialValues: {
75
- title: "",
76
- description: "",
77
- type: defaultType
78
- },
79
- validate: {
80
- title: (value) => {
81
- if (!value.trim()) return "A short title is required";
82
- if (value.trim().length < 3) return "Title must be at least 3 characters";
83
- if (value.trim().length > 200) return "Title must be less than 200 characters";
84
- return null;
85
- },
86
- description: (value) => {
87
- if (!value.trim()) return "A description is required";
88
- if (value.trim().length < 10) return "Please add a bit more detail (at least 10 characters)";
89
- return null;
90
- }
91
- }
92
- });
93
- const handleSubmit = async (values) => {
94
- try {
95
- await submitRequest.mutateAsync({
96
- title: values.title.trim(),
97
- description: values.description.trim(),
98
- type: values.type,
99
- affectedPage: affectedPage ?? (typeof window !== "undefined" ? window.location.pathname : void 0)
100
- });
101
- form.reset();
102
- onClose();
103
- } catch {
104
- }
105
- };
106
- const handleClose = () => {
107
- if (!submitRequest.isPending) {
108
- form.reset();
109
- submitRequest.reset();
110
- onClose();
111
- }
112
- };
113
- return /* @__PURE__ */ jsx(CustomModal, { opened, onClose: handleClose, size: "md", loading: submitRequest.isPending, children: /* @__PURE__ */ jsx("form", { onSubmit: form.onSubmit(handleSubmit), children: /* @__PURE__ */ jsxs(Stack, { p: "sm", children: [
114
- /* @__PURE__ */ jsx(Title, { order: 3, children: "Request a feature or report an issue" }),
115
- /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "Tell us what you need or what's not working. We review every submission." }),
116
- /* @__PURE__ */ jsx(
117
- Select,
118
- {
119
- label: "Type",
120
- data: TYPE_OPTIONS,
121
- allowDeselect: false,
122
- disabled: submitRequest.isPending,
123
- ...form.getInputProps("type")
124
- }
125
- ),
126
- /* @__PURE__ */ jsx(
127
- TextInput,
128
- {
129
- label: "Title",
130
- description: "A short summary",
131
- placeholder: "e.g., Add CSV export, Login page shows blank screen",
132
- withAsterisk: true,
133
- disabled: submitRequest.isPending,
134
- ...form.getInputProps("title")
135
- }
136
- ),
137
- /* @__PURE__ */ jsx(
138
- Textarea,
139
- {
140
- label: "Description",
141
- description: "Include any relevant details, steps to reproduce, or expected behavior",
142
- placeholder: "Describe the feature or issue\u2026",
143
- autosize: true,
144
- minRows: 3,
145
- maxRows: 8,
146
- withAsterisk: true,
147
- disabled: submitRequest.isPending,
148
- ...form.getInputProps("description")
149
- }
150
- ),
151
- submitRequest.isError && /* @__PURE__ */ jsx(Alert, { icon: /* @__PURE__ */ jsx(IconExclamationMark, { size: 16 }), color: "red", children: submitRequest.error instanceof Error ? submitRequest.error.message : "Something went wrong. Please try again." }),
152
- /* @__PURE__ */ jsxs(Group, { justify: "flex-end", gap: "sm", children: [
153
- /* @__PURE__ */ jsx(Button, { variant: "subtle", onClick: handleClose, disabled: submitRequest.isPending, children: "Cancel" }),
154
- /* @__PURE__ */ jsx(Button, { type: "submit", loading: submitRequest.isPending, leftSection: /* @__PURE__ */ jsx(IconMessagePlus, { size: 16 }), children: "Send request" })
155
- ] })
156
- ] }) }) });
157
- }
158
- function RequestActionIcon({
159
- tooltip = "Request a feature or report an issue",
160
- affectedPage
161
- }) {
162
- const [opened, { open, close }] = useDisclosure(false);
163
- return /* @__PURE__ */ jsxs(Fragment, { children: [
164
- /* @__PURE__ */ jsx(Tooltip, { label: tooltip, children: /* @__PURE__ */ jsx(ActionIcon, { variant: "subtle", onClick: open, "aria-label": tooltip, children: /* @__PURE__ */ jsx(IconMessagePlus, { size: 18 }) }) }),
165
- /* @__PURE__ */ jsx(RequestModal, { opened, onClose: close, affectedPage })
166
- ] });
167
- }
168
- var requestTopbarActionManifest = {
169
- key: "request",
170
- render: () => /* @__PURE__ */ jsx(RequestActionIcon, {})
171
- };
172
42
  var TYPE_COLORS = {
173
43
  bug: "red",
174
44
  feature: "blue",
@@ -681,4 +551,4 @@ function RequestsDetailPage({ requestId, onNavigateBack }) {
681
551
  ] });
682
552
  }
683
553
 
684
- export { RequestActionIcon, RequestButton, RequestModal, RequestTypeBadge, RequestsDetailPage, RequestsListPage, SeverityBadge, StatusBadge, StatusTransitionMenu, requestTopbarActionManifest, submittedRequestsManifest };
554
+ export { RequestButton, RequestTypeBadge, RequestsDetailPage, RequestsListPage, SeverityBadge, StatusBadge, StatusTransitionMenu, submittedRequestsManifest };
@@ -483,7 +483,11 @@ declare const SystemApiInterfaceSchema: z.ZodObject<{
483
483
  archived: "archived";
484
484
  disabled: "disabled";
485
485
  }>>;
486
- readinessProfile: z.ZodOptional<z.ZodString>;
486
+ readinessProfile: z.ZodOptional<z.ZodEnum<{
487
+ "sales.lead-gen.api": "sales.lead-gen.api";
488
+ "sales.crm.api": "sales.crm.api";
489
+ "sales.lead-gen.crm-handoff": "sales.lead-gen.crm-handoff";
490
+ }>>;
487
491
  resourceIds: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
488
492
  }, z.core.$strict>;
489
493
  type JsonPrimitive = string | number | boolean | null;