@elevasis/ui 2.40.1 → 2.41.1

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 (92) 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 +108 -0
  4. package/dist/app/index.js +17 -27
  5. package/dist/auth/index.css +659 -0
  6. package/dist/auth/index.js +19 -6
  7. package/dist/charts/index.css +533 -0
  8. package/dist/charts/index.js +18 -15
  9. package/dist/{chunk-RXH4D6TY.js → chunk-5M4HSHQ5.js} +631 -2
  10. package/dist/{chunk-TE4P6OSJ.js → chunk-7FJI76OH.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-5JYKCULK.js → chunk-NZ2F5RQ4.js} +44 -2
  14. package/dist/{chunk-WF7CONXF.js → chunk-OJJK27GC.js} +658 -6
  15. package/dist/{chunk-RX6RSKWC.js → chunk-QDXTIQT4.js} +29255 -18312
  16. package/dist/{chunk-73EWE2EW.js → chunk-V5HWC5EW.js} +1 -1
  17. package/dist/components/chat/index.js +1 -2
  18. package/dist/components/index.css +149 -149
  19. package/dist/components/index.js +13 -37
  20. package/dist/components/navigation/index.css +659 -0
  21. package/dist/components/navigation/index.js +25 -4
  22. package/dist/features/auth/index.js +14 -38
  23. package/dist/features/clients/index.css +149 -149
  24. package/dist/features/clients/index.js +13 -37
  25. package/dist/features/crm/index.js +13 -37
  26. package/dist/features/dashboard/index.js +13 -37
  27. package/dist/features/delivery/index.js +13 -37
  28. package/dist/features/knowledge/index.css +659 -0
  29. package/dist/features/knowledge/index.js +25 -248
  30. package/dist/features/lead-gen/index.d.ts +81 -0
  31. package/dist/features/lead-gen/index.js +13 -37
  32. package/dist/features/monitoring/index.js +13 -37
  33. package/dist/features/monitoring/requests/index.d.ts +69 -7
  34. package/dist/features/monitoring/requests/index.js +32 -41
  35. package/dist/features/operations/index.d.ts +79 -0
  36. package/dist/features/operations/index.js +13 -37
  37. package/dist/features/seo/index.js +1 -4
  38. package/dist/features/settings/index.js +13 -37
  39. package/dist/hooks/access/index.css +659 -0
  40. package/dist/hooks/access/index.js +19 -5
  41. package/dist/hooks/delivery/index.js +13 -37
  42. package/dist/hooks/index.d.ts +18 -6
  43. package/dist/hooks/index.js +13 -37
  44. package/dist/hooks/published.d.ts +18 -6
  45. package/dist/hooks/published.js +13 -37
  46. package/dist/index.d.ts +151 -7
  47. package/dist/index.js +14 -38
  48. package/dist/initialization/index.js +1 -1
  49. package/dist/knowledge/index.css +659 -0
  50. package/dist/knowledge/index.d.ts +81 -0
  51. package/dist/knowledge/index.js +25 -15
  52. package/dist/layout/index.css +659 -0
  53. package/dist/layout/index.d.ts +18 -2
  54. package/dist/layout/index.js +24 -7
  55. package/dist/organization/index.js +13 -37
  56. package/dist/provider/index.css +384 -0
  57. package/dist/provider/index.d.ts +120 -1
  58. package/dist/provider/index.js +18 -22
  59. package/dist/provider/published.css +533 -0
  60. package/dist/provider/published.d.ts +121 -2
  61. package/dist/provider/published.js +18 -17
  62. package/dist/test-utils/index.js +4 -6
  63. package/dist/theme/index.js +2 -5
  64. package/dist/theme/presets/index.js +1 -2
  65. package/dist/utils/index.js +1 -3
  66. package/package.json +3 -3
  67. package/dist/chunk-3KMDHCAR.js +0 -52
  68. package/dist/chunk-4DRI3G36.js +0 -1016
  69. package/dist/chunk-5EYJ2GIN.js +0 -122
  70. package/dist/chunk-66U7JOWV.js +0 -425
  71. package/dist/chunk-6D4LCJ52.js +0 -10
  72. package/dist/chunk-6EV47QQW.js +0 -340
  73. package/dist/chunk-6ROXVZ3L.js +0 -9
  74. package/dist/chunk-7MTWRSUZ.js +0 -357
  75. package/dist/chunk-7PHY5ONQ.js +0 -85
  76. package/dist/chunk-B2DZLPDL.js +0 -39
  77. package/dist/chunk-CLDCYJQT.js +0 -1
  78. package/dist/chunk-CTJBPF3Z.js +0 -734
  79. package/dist/chunk-DT3QYZVU.js +0 -23
  80. package/dist/chunk-IIMU5YAJ.js +0 -53
  81. package/dist/chunk-IUQAP4IO.js +0 -2131
  82. package/dist/chunk-J3FLIZY4.js +0 -423
  83. package/dist/chunk-K7GKKETO.js +0 -3157
  84. package/dist/chunk-L7GXUSCV.js +0 -215
  85. package/dist/chunk-LJDYY3XB.js +0 -133
  86. package/dist/chunk-NYBEU5TE.js +0 -118
  87. package/dist/chunk-RH5VWWSC.js +0 -624
  88. package/dist/chunk-SJNIOGVX.js +0 -112
  89. package/dist/chunk-TYRUKGGD.js +0 -46
  90. package/dist/chunk-WLOQ4IBG.js +0 -654
  91. package/dist/chunk-X4WBGKJQ.js +0 -138
  92. package/dist/chunk-X7D6SUKR.js +0 -1234
@@ -1,250 +1,27 @@
1
- import { getSharedOrganizationGraph, KnowledgeSearchBar, KnowledgeTree, getKnowledgeIconToken, getKnowledgeNodeReadCommand } from '../../chunk-IUQAP4IO.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-QDXTIQT4.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-7FJI76OH.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 } from '../../chunk-J3FLIZY4.js';
9
- import { resolveOrganizationModel, SemanticIcon } from '../../chunk-K7GKKETO.js';
10
- 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-5M4HSHQ5.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';
11
27
  import '../../chunk-I2KLQ2HA.js';
12
- import { IconBrain, IconCircleCheckFilled, IconCircleDashed, IconCheck, IconCopy } from '@tabler/icons-react';
13
- import { Stack, Box, Group, Popover, Button, Badge, Divider, Text, UnstyledButton } from '@mantine/core';
14
- import { useClipboard } from '@mantine/hooks';
15
- import { useMemo, useState } from 'react';
16
- import { jsx, jsxs } from 'react/jsx-runtime';
17
-
18
- var WIRING_FACET_KINDS = ["action", "entity", "event", "resource"];
19
- function isKnowledgeHidden(state) {
20
- return state === "exclude";
21
- }
22
- function isWiringFacetActive(state) {
23
- return state === "include";
24
- }
25
- var SIDEBAR_TREE_ACCENT_COLOR = "var(--color-primary)";
26
- var KnowledgeSidebarMiddle = () => {
27
- const { navigate, currentPath } = useRouterContext();
28
- const { organizationModel } = useElevasisSystems();
29
- if (currentPath.startsWith("/knowledge/command-view")) {
30
- return null;
31
- }
32
- const orgModel = organizationModel ?? resolveOrganizationModel();
33
- return /* @__PURE__ */ jsx(KnowledgeBaseSidebarBody, { navigate, currentPath, organizationModel: orgModel });
34
- };
35
- function KnowledgeBaseSidebarBody({ navigate, currentPath, organizationModel }) {
36
- const knowledgeNodes = useMemo(() => Object.values(organizationModel.knowledge), [organizationModel]);
37
- const graph = useMemo(() => getSharedOrganizationGraph(organizationModel), [organizationModel]);
38
- const [searchResults, setSearchResults] = useState(null);
39
- const [facetStates, setFacetStates] = useState({ knowledge: "include" });
40
- const [facetsOpen, setFacetsOpen] = useState(false);
41
- const activeFacetCount = useMemo(() => {
42
- let count = 0;
43
- if (isKnowledgeHidden(facetStates.knowledge)) count += 1;
44
- for (const kind of WIRING_FACET_KINDS) {
45
- if (isWiringFacetActive(facetStates[kind])) count += 1;
46
- }
47
- return count;
48
- }, [facetStates]);
49
- const selectedNodeId = useMemo(() => {
50
- const match = currentPath.match(/^\/knowledge\/([^/]+)/);
51
- if (!match) return void 0;
52
- const segment = match[1];
53
- if (["system", "entity", "resource", "graph", "command-view"].includes(segment)) return void 0;
54
- return decodeURIComponent(segment);
55
- }, [currentPath]);
56
- const handleSelect = (node) => {
57
- navigate(`/knowledge/${node.id}`);
58
- };
59
- const handleSelectGraphNode = (node) => {
60
- navigate(`/knowledge/${node.id}`);
61
- };
62
- const handleSelectDomain = (domainKey) => {
63
- navigate(`/knowledge/domain:${domainKey}`);
64
- };
65
- const handleSelectGroup = (groupKey) => {
66
- navigate(`/knowledge/group:${groupKey}`);
67
- };
68
- const handleSelectItem = (domainKey, itemId) => {
69
- navigate(`/knowledge/item:${domainKey}:${encodeURIComponent(itemId)}`);
70
- };
71
- return /* @__PURE__ */ jsxs(Stack, { gap: 0, style: { flex: 1, overflow: "hidden", display: "flex", flexDirection: "column" }, children: [
72
- /* @__PURE__ */ jsx(SubshellSidebarSection, { icon: IconBrain, label: "Knowledge", withTopBorder: false }),
73
- /* @__PURE__ */ jsx(Box, { p: "sm", pb: 0, children: /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", align: "center", children: [
74
- /* @__PURE__ */ jsx(Box, { style: { flex: 1, minWidth: 0 }, children: /* @__PURE__ */ jsx(KnowledgeSearchBar, { knowledgeNodes, onResults: setSearchResults }) }),
75
- /* @__PURE__ */ jsxs(Popover, { position: "right-start", withArrow: true, shadow: "md", opened: facetsOpen, onChange: setFacetsOpen, offset: 6, children: [
76
- /* @__PURE__ */ jsx(Popover.Target, { children: /* @__PURE__ */ jsx(
77
- Button,
78
- {
79
- size: "xs",
80
- variant: activeFacetCount > 0 ? "light" : "subtle",
81
- color: activeFacetCount > 0 ? "blue" : "gray",
82
- onClick: () => setFacetsOpen((o) => !o),
83
- "aria-expanded": facetsOpen,
84
- rightSection: activeFacetCount > 0 ? /* @__PURE__ */ jsx(Badge, { size: "xs", circle: true, variant: "filled", color: "blue", children: activeFacetCount }) : null,
85
- children: "Filter"
86
- }
87
- ) }),
88
- /* @__PURE__ */ jsx(Popover.Dropdown, { p: 6, children: /* @__PURE__ */ jsx(FacetPanel, { value: facetStates, onChange: setFacetStates }) })
89
- ] })
90
- ] }) }),
91
- /* @__PURE__ */ jsx(Stack, { gap: 0, style: { flex: 1, overflowY: "auto" }, children: searchResults ? /* @__PURE__ */ jsx(SearchResultsList, { searchResults, selectedNodeId, onSelect: handleSelect }) : /* @__PURE__ */ jsx(
92
- KnowledgeTree,
93
- {
94
- graph,
95
- knowledgeNodes,
96
- organizationModel,
97
- omRooted: true,
98
- facetStates,
99
- onSelectNode: handleSelect,
100
- onSelectGraphNode: handleSelectGraphNode,
101
- onSelectDomain: handleSelectDomain,
102
- onSelectGroup: handleSelectGroup,
103
- onSelectItem: handleSelectItem,
104
- selectedNodeId
105
- }
106
- ) })
107
- ] });
108
- }
109
- function SearchResultsList({ searchResults, selectedNodeId, onSelect }) {
110
- if (searchResults.length === 0) {
111
- return /* @__PURE__ */ jsx(Box, { p: "md", children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No results." }) });
112
- }
113
- return /* @__PURE__ */ jsx(Stack, { gap: 2, p: "sm", children: searchResults.map((node) => {
114
- const isActive = node.id === selectedNodeId;
115
- return /* @__PURE__ */ jsx(NodeButton, { node, isActive, onSelect }, node.id);
116
- }) });
117
- }
118
- function FacetPanel({ value, onChange }) {
119
- const knowledgeHidden = isKnowledgeHidden(value.knowledge);
120
- const toggleKnowledge = () => {
121
- onChange({ ...value, knowledge: knowledgeHidden ? "include" : "exclude" });
122
- };
123
- const toggleWiring = (kind) => {
124
- onChange({ ...value, [kind]: isWiringFacetActive(value[kind]) ? "neutral" : "include" });
125
- };
126
- return /* @__PURE__ */ jsxs(Stack, { gap: 4, miw: 200, children: [
127
- /* @__PURE__ */ jsx(FacetRow, { label: "Hide knowledge nodes", active: knowledgeHidden, onClick: toggleKnowledge }),
128
- /* @__PURE__ */ jsx(Divider, { my: 4 }),
129
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", pl: 6, pb: 2, tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Show under systems" }),
130
- WIRING_FACET_KINDS.map((kind) => /* @__PURE__ */ jsx(
131
- FacetRow,
132
- {
133
- label: ORGANIZATION_GRAPH_NODE_KIND_LABELS[kind],
134
- active: isWiringFacetActive(value[kind]),
135
- onClick: () => toggleWiring(kind)
136
- },
137
- kind
138
- ))
139
- ] });
140
- }
141
- function FacetRow({ label, active, onClick }) {
142
- const [hovered, setHovered] = useState(false);
143
- const StatusIcon = active ? IconCircleCheckFilled : IconCircleDashed;
144
- const iconColor = active ? "var(--color-primary)" : "var(--color-text-subtle)";
145
- return /* @__PURE__ */ jsx(
146
- UnstyledButton,
147
- {
148
- onClick,
149
- onMouseEnter: () => setHovered(true),
150
- onMouseLeave: () => setHovered(false),
151
- "aria-pressed": active,
152
- "aria-label": `${label} ${active ? "on" : "off"}`,
153
- style: {
154
- padding: "6px 10px",
155
- borderRadius: "var(--mantine-radius-sm)",
156
- backgroundColor: hovered ? "var(--color-surface-hover)" : "transparent",
157
- transition: "background-color var(--duration-fast) var(--easing)"
158
- },
159
- children: /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", children: [
160
- /* @__PURE__ */ jsx(StatusIcon, { size: 16, style: { color: iconColor, flexShrink: 0 } }),
161
- /* @__PURE__ */ jsx(Text, { size: "sm", c: active ? void 0 : "dimmed", children: label })
162
- ] })
163
- }
164
- );
165
- }
166
- function NodeButton({ node, isActive, onSelect }) {
167
- const [hovered, setHovered] = useState(false);
168
- return /* @__PURE__ */ jsx(
169
- UnstyledButton,
170
- {
171
- onClick: () => onSelect(node),
172
- onMouseEnter: () => setHovered(true),
173
- onMouseLeave: () => setHovered(false),
174
- style: {
175
- padding: "6px 10px",
176
- borderRadius: "var(--mantine-radius-sm)",
177
- backgroundColor: isActive ? "color-mix(in srgb, var(--color-primary) 10%, transparent)" : hovered ? "var(--color-surface-hover)" : "transparent",
178
- width: "100%",
179
- textAlign: "left",
180
- transition: "background-color var(--duration-fast) var(--easing), color var(--duration-fast) var(--easing)"
181
- },
182
- children: /* @__PURE__ */ jsx(
183
- Text,
184
- {
185
- size: "sm",
186
- c: isActive ? "var(--color-primary)" : hovered ? "var(--color-text)" : void 0,
187
- fw: isActive ? 600 : 400,
188
- children: /* @__PURE__ */ jsxs(Group, { component: "span", gap: "xs", wrap: "nowrap", children: [
189
- /* @__PURE__ */ jsx(SemanticIcon, { token: getKnowledgeIconToken(node), size: 15, style: { color: SIDEBAR_TREE_ACCENT_COLOR } }),
190
- /* @__PURE__ */ jsx("span", { style: { flex: 1, minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: node.title }),
191
- hovered ? /* @__PURE__ */ jsx(CopyCommandControl, { command: getKnowledgeNodeReadCommand(node.id), label: "Copy knowledge command", visible: true }) : null
192
- ] })
193
- }
194
- )
195
- }
196
- );
197
- }
198
- function CopyCommandControl({ command, label, visible }) {
199
- const clipboard = useClipboard({ timeout: 1500 });
200
- return /* @__PURE__ */ jsx(
201
- "span",
202
- {
203
- role: "button",
204
- tabIndex: 0,
205
- "aria-label": label,
206
- onClick: (event) => {
207
- event.preventDefault();
208
- event.stopPropagation();
209
- clipboard.copy(command);
210
- },
211
- onKeyDown: (event) => {
212
- if (event.key !== "Enter" && event.key !== " ") return;
213
- event.preventDefault();
214
- event.stopPropagation();
215
- clipboard.copy(command);
216
- },
217
- style: {
218
- display: "inline-flex",
219
- alignItems: "center",
220
- justifyContent: "center",
221
- width: 22,
222
- height: 22,
223
- flexShrink: 0,
224
- opacity: visible ? 1 : 0,
225
- pointerEvents: visible ? "auto" : "none",
226
- color: clipboard.copied ? "var(--color-primary)" : "var(--color-text-subtle)",
227
- transition: "opacity 120ms ease, color 120ms ease"
228
- },
229
- children: clipboard.copied ? /* @__PURE__ */ jsx(IconCheck, { size: 14 }) : /* @__PURE__ */ jsx(IconCopy, { size: 14 })
230
- }
231
- );
232
- }
233
- var KnowledgeSidebar = () => /* @__PURE__ */ jsx(Stack, { gap: 0, style: { height: "100%", display: "flex", flexDirection: "column" }, children: /* @__PURE__ */ jsx(KnowledgeSidebarMiddle, {}) });
234
-
235
- // src/features/knowledge/manifest.ts
236
- var knowledgeSidebarWidth = 320;
237
- var defaultSidebarWidth = 250;
238
- var knowledgeManifest = {
239
- key: "knowledge",
240
- routePrefixes: ["/knowledge"],
241
- icon: IconBrain,
242
- sidebar: KnowledgeSidebar,
243
- sidebarWidth: ({ currentPath }) => {
244
- if (currentPath.startsWith("/knowledge/command-view")) return 0;
245
- if (currentPath.startsWith("/knowledge")) return knowledgeSidebarWidth;
246
- return defaultSidebarWidth;
247
- }
248
- };
249
-
250
- export { knowledgeManifest };
@@ -137,6 +137,7 @@ declare const ProspectingBuildTemplateSchema: z$1.ZodObject<{
137
137
  edit: "edit";
138
138
  view: "view";
139
139
  launch: "launch";
140
+ "message-plus": "message-plus";
140
141
  escalate: "escalate";
141
142
  promote: "promote";
142
143
  submit: "submit";
@@ -204,6 +205,7 @@ declare const ProspectingBuildTemplateSchema: z$1.ZodObject<{
204
205
  edit: "edit";
205
206
  view: "view";
206
207
  launch: "launch";
208
+ "message-plus": "message-plus";
207
209
  escalate: "escalate";
208
210
  promote: "promote";
209
211
  submit: "submit";
@@ -1052,6 +1054,84 @@ declare const OrganizationModelSchema: z$1.ZodObject<{
1052
1054
  primary: z$1.ZodDefault<z$1.ZodRecord<z$1.ZodString, z$1.ZodType<SidebarNode, unknown, z$1.core.$ZodTypeInternals<SidebarNode, unknown>>>>;
1053
1055
  bottom: z$1.ZodDefault<z$1.ZodRecord<z$1.ZodString, z$1.ZodType<SidebarNode, unknown, z$1.core.$ZodTypeInternals<SidebarNode, unknown>>>>;
1054
1056
  }, z$1.core.$strip>>;
1057
+ topbar: z$1.ZodDefault<z$1.ZodRecord<z$1.ZodString, z$1.ZodObject<{
1058
+ id: z$1.ZodString;
1059
+ label: z$1.ZodString;
1060
+ tooltip: z$1.ZodOptional<z$1.ZodString>;
1061
+ icon: z$1.ZodOptional<z$1.ZodUnion<readonly [z$1.ZodEnum<{
1062
+ message: "message";
1063
+ error: "error";
1064
+ agent: "agent";
1065
+ workflow: "workflow";
1066
+ "google-sheets": "google-sheets";
1067
+ dashboard: "dashboard";
1068
+ calendar: "calendar";
1069
+ sales: "sales";
1070
+ crm: "crm";
1071
+ "lead-gen": "lead-gen";
1072
+ projects: "projects";
1073
+ clients: "clients";
1074
+ operations: "operations";
1075
+ monitoring: "monitoring";
1076
+ knowledge: "knowledge";
1077
+ settings: "settings";
1078
+ admin: "admin";
1079
+ archive: "archive";
1080
+ business: "business";
1081
+ finance: "finance";
1082
+ platform: "platform";
1083
+ seo: "seo";
1084
+ playbook: "playbook";
1085
+ strategy: "strategy";
1086
+ reference: "reference";
1087
+ integration: "integration";
1088
+ database: "database";
1089
+ user: "user";
1090
+ team: "team";
1091
+ gmail: "gmail";
1092
+ attio: "attio";
1093
+ overview: "overview";
1094
+ "command-view": "command-view";
1095
+ "command-queue": "command-queue";
1096
+ pipeline: "pipeline";
1097
+ lists: "lists";
1098
+ resources: "resources";
1099
+ approve: "approve";
1100
+ reject: "reject";
1101
+ retry: "retry";
1102
+ edit: "edit";
1103
+ view: "view";
1104
+ launch: "launch";
1105
+ "message-plus": "message-plus";
1106
+ escalate: "escalate";
1107
+ promote: "promote";
1108
+ submit: "submit";
1109
+ email: "email";
1110
+ success: "success";
1111
+ warning: "warning";
1112
+ info: "info";
1113
+ pending: "pending";
1114
+ bolt: "bolt";
1115
+ building: "building";
1116
+ briefcase: "briefcase";
1117
+ apps: "apps";
1118
+ graph: "graph";
1119
+ shield: "shield";
1120
+ users: "users";
1121
+ "chart-bar": "chart-bar";
1122
+ search: "search";
1123
+ }>, z$1.ZodString]>>;
1124
+ order: z$1.ZodOptional<z$1.ZodNumber>;
1125
+ enabled: z$1.ZodDefault<z$1.ZodBoolean>;
1126
+ devOnly: z$1.ZodOptional<z$1.ZodBoolean>;
1127
+ requiresAdmin: z$1.ZodOptional<z$1.ZodBoolean>;
1128
+ targets: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodObject<{
1129
+ systems: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>>;
1130
+ entities: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>>;
1131
+ resources: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>>;
1132
+ actions: z$1.ZodOptional<z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>>;
1133
+ }, z$1.core.$strip>>>;
1134
+ }, z$1.core.$strip>>>;
1055
1135
  }, z$1.core.$strip>>;
1056
1136
  identity: z$1.ZodDefault<z$1.ZodObject<{
1057
1137
  mission: z$1.ZodDefault<z$1.ZodString>;
@@ -1720,6 +1800,7 @@ declare const OrganizationModelSchema: z$1.ZodObject<{
1720
1800
  edit: "edit";
1721
1801
  view: "view";
1722
1802
  launch: "launch";
1803
+ "message-plus": "message-plus";
1723
1804
  escalate: "escalate";
1724
1805
  promote: "promote";
1725
1806
  submit: "submit";
@@ -1,49 +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-RX6RSKWC.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-QDXTIQT4.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-7PHY5ONQ.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-X7D6SUKR.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-SJNIOGVX.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-6EV47QQW.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-LJDYY3XB.js';
39
- import '../../chunk-7MTWRSUZ.js';
40
- import '../../chunk-J3FLIZY4.js';
41
11
  import '../../chunk-6DO4PE3O.js';
42
- import '../../chunk-K7GKKETO.js';
12
+ import '../../chunk-7FJI76OH.js';
43
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';
44
20
  import '../../chunk-W2SFTXMT.js';
45
- import '../../chunk-6ROXVZ3L.js';
46
- import '../../chunk-RH5VWWSC.js';
21
+ import '../../chunk-5M4HSHQ5.js';
22
+ import '../../chunk-KRWALB24.js';
47
23
  import '../../chunk-2FTX4WO2.js';
48
24
  import '../../chunk-MQZE7SUI.js';
49
25
  import '../../chunk-TVTSASST.js';
@@ -1,49 +1,25 @@
1
- export { ActivityFeed, ActivityLog, CostAnalytics, ErrorDetailsModal, ExecutionHealth, ExecutionLogsPage, NotificationCenter, monitoringManifest } from '../../chunk-RX6RSKWC.js';
2
- import '../../chunk-B2DZLPDL.js';
3
- import '../../chunk-66U7JOWV.js';
1
+ export { ActivityFeed, ActivityLog, CostAnalytics, ErrorDetailsModal, ExecutionHealth, ExecutionLogsPage, NotificationCenter, monitoringManifest } from '../../chunk-QDXTIQT4.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-7PHY5ONQ.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-X7D6SUKR.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-SJNIOGVX.js';
22
- import '../../chunk-5JYKCULK.js';
23
- import '../../chunk-6D4LCJ52.js';
24
- import '../../chunk-WF7CONXF.js';
25
- import '../../chunk-WLOQ4IBG.js';
26
- import '../../chunk-6EV47QQW.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-LJDYY3XB.js';
39
- import '../../chunk-7MTWRSUZ.js';
40
- import '../../chunk-J3FLIZY4.js';
41
11
  import '../../chunk-6DO4PE3O.js';
42
- import '../../chunk-K7GKKETO.js';
12
+ import '../../chunk-7FJI76OH.js';
43
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';
44
20
  import '../../chunk-W2SFTXMT.js';
45
- import '../../chunk-6ROXVZ3L.js';
46
- import '../../chunk-RH5VWWSC.js';
21
+ import '../../chunk-5M4HSHQ5.js';
22
+ import '../../chunk-KRWALB24.js';
47
23
  import '../../chunk-2FTX4WO2.js';
48
24
  import '../../chunk-MQZE7SUI.js';
49
25
  import '../../chunk-TVTSASST.js';
@@ -1,6 +1,10 @@
1
- import { ComponentType } from 'react';
1
+ import { ReactNode, ComponentType } from 'react';
2
+ import { IconBrain } from '@tabler/icons-react';
2
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
4
  import { z } from 'zod';
5
+ import { ButtonProps } from '@mantine/core';
6
+
7
+ type TablerIconComponent = typeof IconBrain;
4
8
 
5
9
  type SystemSidebarComponent = ComponentType;
6
10
  type SystemIconComponent = ComponentType<{
@@ -28,12 +32,46 @@ interface SystemModule {
28
32
  /** Operations-only bridge connecting this system to the organization graph node. */
29
33
  organizationGraph?: OrganizationGraphSystemBridge;
30
34
  }
35
+ /**
36
+ * A resolved topbar action — the OM node after gating/filtering, with icon resolved
37
+ * from the semantic icon registry. Passed to `TopbarActionModule.render`.
38
+ */
39
+ interface ResolvedTopbarAction {
40
+ id: string;
41
+ label: string;
42
+ tooltip?: string;
43
+ icon: TablerIconComponent;
44
+ order: number;
45
+ }
46
+ /**
47
+ * A topbar action module — binds a registry key to UI behavior (a render callback).
48
+ * The key must match `navigation.topbar[id]`. The OM supplies data + visibility;
49
+ * the module supplies behavior.
50
+ */
51
+ interface TopbarActionModule {
52
+ /** Stable key that matches the `id` of a `navigation.topbar` node. */
53
+ key: string;
54
+ /** Render the topbar action. Receives the resolved OM node (icon pre-resolved). */
55
+ render: (ctx: {
56
+ node: ResolvedTopbarAction;
57
+ }) => ReactNode;
58
+ }
31
59
  interface OrganizationGraphSystemBridge {
32
60
  systemId?: string;
33
61
  }
34
62
 
35
63
  declare const submittedRequestsManifest: SystemModule;
36
64
 
65
+ /**
66
+ * Topbar action manifest for the `request` entry point.
67
+ *
68
+ * The registry key `'request'` matches `navigation.topbar.request` authored
69
+ * in the Organization Model (Agent 3B). The OM node controls visibility and
70
+ * order; this module supplies the behavior (renders RequestActionIcon which
71
+ * owns its own icon, tooltip, and modal disclosure).
72
+ */
73
+ declare const requestTopbarActionManifest: TopbarActionModule;
74
+
37
75
  /**
38
76
  * Request Reporting API Schemas
39
77
  *
@@ -71,16 +109,18 @@ declare const RequestTypeEnum: z.ZodEnum<{
71
109
  type RequestSeverity = z.infer<typeof RequestSeverityEnum>;
72
110
  type RequestStatus = z.infer<typeof RequestStatusEnum>;
73
111
  type RequestSource = z.infer<typeof RequestSourceEnum>;
74
- type RequestType = z.infer<typeof RequestTypeEnum>;
112
+ type RequestType$1 = z.infer<typeof RequestTypeEnum>;
75
113
 
76
114
  interface RequestsListPageProps {
77
- type?: RequestType;
115
+ type?: RequestType$1;
78
116
  severity?: RequestSeverity;
79
117
  status?: RequestStatus;
80
118
  source?: RequestSource;
81
119
  onNavigateToRequest?: (id: string) => void;
120
+ /** Optional action placed in the page title row (e.g. a RequestButton trigger). */
121
+ rightSection?: ReactNode;
82
122
  }
83
- declare function RequestsListPage({ type: typeProp, severity: severityProp, status: statusProp, source: sourceProp, onNavigateToRequest }: RequestsListPageProps): react_jsx_runtime.JSX.Element;
123
+ declare function RequestsListPage({ type: typeProp, severity: severityProp, status: statusProp, source: sourceProp, onNavigateToRequest, rightSection }: RequestsListPageProps): react_jsx_runtime.JSX.Element;
84
124
 
85
125
  interface RequestsDetailPageProps {
86
126
  requestId: string;
@@ -89,7 +129,7 @@ interface RequestsDetailPageProps {
89
129
  declare function RequestsDetailPage({ requestId, onNavigateBack }: RequestsDetailPageProps): react_jsx_runtime.JSX.Element;
90
130
 
91
131
  interface RequestTypeBadgeProps {
92
- type: RequestType;
132
+ type: RequestType$1;
93
133
  }
94
134
  declare function RequestTypeBadge({ type }: RequestTypeBadgeProps): react_jsx_runtime.JSX.Element;
95
135
 
@@ -116,5 +156,27 @@ interface StatusTransitionMenuProps {
116
156
  */
117
157
  declare function StatusTransitionMenu({ currentStatus, onTransition }: StatusTransitionMenuProps): react_jsx_runtime.JSX.Element;
118
158
 
119
- export { RequestTypeBadge, RequestsDetailPage, RequestsListPage, SeverityBadge, StatusBadge, StatusTransitionMenu, submittedRequestsManifest };
120
- export type { StatusTransitionMenuProps };
159
+ type RequestType = 'feature' | 'bug' | 'question' | 'other';
160
+
161
+ interface RequestModalProps {
162
+ opened: boolean;
163
+ onClose: () => void;
164
+ defaultType?: RequestType;
165
+ affectedPage?: string;
166
+ }
167
+ declare function RequestModal({ opened, onClose, defaultType, affectedPage }: RequestModalProps): react_jsx_runtime.JSX.Element;
168
+
169
+ interface RequestButtonProps extends Omit<ButtonProps, 'onClick' | 'leftSection'> {
170
+ label?: string;
171
+ affectedPage?: string;
172
+ }
173
+ declare function RequestButton({ label, affectedPage, ...buttonProps }: RequestButtonProps): react_jsx_runtime.JSX.Element;
174
+
175
+ interface RequestActionIconProps {
176
+ tooltip?: string;
177
+ affectedPage?: string;
178
+ }
179
+ declare function RequestActionIcon({ tooltip, affectedPage }: RequestActionIconProps): react_jsx_runtime.JSX.Element;
180
+
181
+ export { RequestActionIcon, RequestButton, RequestModal, RequestTypeBadge, RequestsDetailPage, RequestsListPage, SeverityBadge, StatusBadge, StatusTransitionMenu, requestTopbarActionManifest, submittedRequestsManifest };
182
+ export type { RequestActionIconProps, RequestButtonProps, RequestModalProps, StatusTransitionMenuProps };