@elevasis/ui 2.41.1 → 2.43.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 (57) hide show
  1. package/dist/api/index.js +3 -3
  2. package/dist/app/index.d.ts +74 -3
  3. package/dist/app/index.js +3 -3
  4. package/dist/auth/index.js +3 -3
  5. package/dist/charts/index.js +3 -3
  6. package/dist/{chunk-QDXTIQT4.js → chunk-FUKNHVUV.js} +205 -415
  7. package/dist/{chunk-7FJI76OH.js → chunk-NVVAQNKE.js} +1 -1
  8. package/dist/{chunk-V5HWC5EW.js → chunk-UECAFQKT.js} +1 -1
  9. package/dist/{chunk-5M4HSHQ5.js → chunk-XDEUR36B.js} +388 -25
  10. package/dist/components/index.d.ts +8 -1
  11. package/dist/components/index.js +3 -3
  12. package/dist/components/navigation/index.js +3 -3
  13. package/dist/features/auth/index.d.ts +3 -0
  14. package/dist/features/auth/index.js +4 -4
  15. package/dist/features/clients/index.d.ts +6 -3
  16. package/dist/features/clients/index.js +80 -19
  17. package/dist/features/crm/index.d.ts +3 -0
  18. package/dist/features/crm/index.js +3 -3
  19. package/dist/features/dashboard/index.d.ts +5 -1
  20. package/dist/features/dashboard/index.js +3 -3
  21. package/dist/features/delivery/index.d.ts +3 -0
  22. package/dist/features/delivery/index.js +3 -3
  23. package/dist/features/knowledge/index.js +3 -3
  24. package/dist/features/lead-gen/index.d.ts +77 -4
  25. package/dist/features/lead-gen/index.js +3 -3
  26. package/dist/features/monitoring/index.js +3 -3
  27. package/dist/features/monitoring/requests/index.js +4 -4
  28. package/dist/features/operations/index.d.ts +71 -3
  29. package/dist/features/operations/index.js +3 -3
  30. package/dist/features/settings/index.d.ts +3 -0
  31. package/dist/features/settings/index.js +3 -3
  32. package/dist/hooks/access/index.js +3 -3
  33. package/dist/hooks/delivery/index.d.ts +3 -0
  34. package/dist/hooks/delivery/index.js +3 -3
  35. package/dist/hooks/index.d.ts +38 -19
  36. package/dist/hooks/index.js +3 -3
  37. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +5 -1
  38. package/dist/hooks/published.d.ts +38 -19
  39. package/dist/hooks/published.js +3 -3
  40. package/dist/index.d.ts +104 -21
  41. package/dist/index.js +4 -4
  42. package/dist/initialization/index.d.ts +3 -0
  43. package/dist/knowledge/index.d.ts +76 -7
  44. package/dist/knowledge/index.js +68 -8
  45. package/dist/layout/index.js +3 -3
  46. package/dist/organization/index.js +3 -3
  47. package/dist/profile/index.d.ts +3 -0
  48. package/dist/provider/index.d.ts +74 -3
  49. package/dist/provider/index.js +3 -3
  50. package/dist/provider/published.d.ts +74 -3
  51. package/dist/provider/published.js +3 -3
  52. package/dist/supabase/index.d.ts +6 -0
  53. package/dist/test-utils/index.js +3 -3
  54. package/dist/types/index.d.ts +8 -1
  55. package/dist/utils/index.d.ts +5 -1
  56. package/dist/utils/index.js +1 -1
  57. package/package.json +5 -5
@@ -4,12 +4,14 @@ import { ReactNode, ComponentType } from 'react';
4
4
 
5
5
  declare const ClientStatusSchema: z.ZodEnum<{
6
6
  active: "active";
7
- completed: "completed";
8
- paused: "paused";
9
7
  onboarding: "onboarding";
8
+ paused: "paused";
9
+ completed: "completed";
10
10
  churned: "churned";
11
11
  }>;
12
+ declare const ClientSourceSchema: z.ZodString;
12
13
  type ClientStatus = z.infer<typeof ClientStatusSchema>;
14
+ type ClientSource = z.infer<typeof ClientSourceSchema>;
13
15
 
14
16
  interface ClientStatusBadgeProps {
15
17
  status: ClientStatus;
@@ -48,8 +50,9 @@ interface EditClientNameModalProps {
48
50
  onClose: () => void;
49
51
  clientId: string;
50
52
  currentName: string;
53
+ currentSource: ClientSource;
51
54
  }
52
- declare function EditClientNameModal({ opened, onClose, clientId, currentName }: EditClientNameModalProps): react_jsx_runtime.JSX.Element;
55
+ declare function EditClientNameModal({ opened, onClose, clientId, currentName, currentSource }: EditClientNameModalProps): react_jsx_runtime.JSX.Element;
53
56
 
54
57
  interface UpdateClientStatusModalProps {
55
58
  opened: boolean;
@@ -1,4 +1,4 @@
1
- import { useClientStatus, StatCard, EmptyState, useCreateClient, CustomModal, useUpdateClient, useDeleteClient, usePaginationState, useClients, SubshellContentContainer, PageContainer, PageTitleCaption, FilterBar, CenteredErrorState, useClient, showApiErrorNotification } from '../../chunk-QDXTIQT4.js';
1
+ import { useClientStatus, StatCard, EmptyState, useCreateClient, CustomModal, useUpdateClient, useDeleteClient, usePaginationState, useClients, SubshellContentContainer, PageContainer, PageTitleCaption, FilterBar, CenteredErrorState, useClient, showApiErrorNotification } from '../../chunk-FUKNHVUV.js';
2
2
  import '../../chunk-NZ2F5RQ4.js';
3
3
  import '../../chunk-OJJK27GC.js';
4
4
  import '../../chunk-AUDNF2Q7.js';
@@ -9,7 +9,7 @@ import '../../chunk-SJHM4WDG.js';
9
9
  import '../../chunk-ZTWA5H77.js';
10
10
  import { CardHeader } from '../../chunk-S3XR4II4.js';
11
11
  import '../../chunk-6DO4PE3O.js';
12
- import '../../chunk-7FJI76OH.js';
12
+ import '../../chunk-NVVAQNKE.js';
13
13
  import '../../chunk-DD3CCMCZ.js';
14
14
  import '../../chunk-GMXGDO3I.js';
15
15
  import '../../chunk-2IFYDILW.js';
@@ -18,7 +18,7 @@ import '../../chunk-HENXLGVD.js';
18
18
  import '../../chunk-7FPLLSHN.js';
19
19
  import '../../chunk-RNP5R5I3.js';
20
20
  import '../../chunk-W2SFTXMT.js';
21
- import { PAGE_SIZE_DEFAULT, formatTimeAgo } from '../../chunk-5M4HSHQ5.js';
21
+ import { PAGE_SIZE_DEFAULT, formatTimeAgo } from '../../chunk-XDEUR36B.js';
22
22
  import '../../chunk-KRWALB24.js';
23
23
  import '../../chunk-2FTX4WO2.js';
24
24
  import '../../chunk-MQZE7SUI.js';
@@ -46,15 +46,27 @@ var CLIENT_STATUS_COLORS = {
46
46
  function formatClientStatusLabel(status) {
47
47
  return status.charAt(0).toUpperCase() + status.slice(1);
48
48
  }
49
+ var CLIENT_SOURCE_OPTIONS = [
50
+ { value: "word_of_mouth", label: "Word of mouth" },
51
+ { value: "acquisition", label: "Acquisition" },
52
+ { value: "referral", label: "Referral" },
53
+ { value: "partner", label: "Partner" },
54
+ { value: "manual", label: "Manual" }
55
+ ];
56
+ function formatClientSourceLabel(source) {
57
+ return source.split("_").filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join(" ");
58
+ }
49
59
  function ClientStatusBadge({ status }) {
50
60
  return /* @__PURE__ */ jsx(Badge, { variant: "light", color: CLIENT_STATUS_COLORS[status] ?? "gray", size: "sm", children: formatClientStatusLabel(status) });
51
61
  }
52
62
  var ClientStatusSchema = z.enum(["active", "onboarding", "paused", "completed", "churned"]);
63
+ var ClientSourceSchema = z.string().trim().min(1).max(64).regex(/^[a-z][a-z0-9_]*$/, "Source must use lowercase letters, numbers, and underscores");
53
64
  z.object({
54
65
  clientId: UuidSchema
55
66
  }).strict();
56
67
  z.object({
57
68
  status: ClientStatusSchema.optional(),
69
+ source: ClientSourceSchema.optional(),
58
70
  search: z.string().trim().min(1).max(255).optional(),
59
71
  limit: z.coerce.number().int().min(1).max(100).default(50),
60
72
  offset: z.coerce.number().int().min(0).default(0)
@@ -69,6 +81,7 @@ var ClientResponseSchema = z.object({
69
81
  organizationId: z.string(),
70
82
  name: z.string(),
71
83
  status: ClientStatusSchema,
84
+ source: ClientSourceSchema,
72
85
  sourceDealId: z.string().nullable(),
73
86
  primaryCompanyId: z.string().nullable(),
74
87
  primaryContactId: z.string().nullable(),
@@ -132,6 +145,7 @@ z.object({
132
145
  var CreateClientRequestSchema = z.object({
133
146
  name: z.string().trim().min(1).max(255),
134
147
  status: ClientStatusSchema.optional(),
148
+ source: ClientSourceSchema.optional(),
135
149
  sourceDealId: UuidSchema.nullable().optional(),
136
150
  primaryCompanyId: UuidSchema.nullable().optional(),
137
151
  primaryContactId: UuidSchema.nullable().optional(),
@@ -140,6 +154,7 @@ var CreateClientRequestSchema = z.object({
140
154
  z.object({
141
155
  name: z.string().trim().min(1).max(255).optional(),
142
156
  status: ClientStatusSchema.optional(),
157
+ source: ClientSourceSchema.optional(),
143
158
  sourceDealId: UuidSchema.nullable().optional(),
144
159
  primaryCompanyId: UuidSchema.nullable().optional(),
145
160
  primaryContactId: UuidSchema.nullable().optional(),
@@ -230,7 +245,8 @@ function CreateClientModal({ opened, onClose }) {
230
245
  const form = useForm({
231
246
  initialValues: {
232
247
  name: "",
233
- status: void 0
248
+ status: "onboarding",
249
+ source: "word_of_mouth"
234
250
  },
235
251
  validate: zod4Resolver(CreateClientRequestSchema)
236
252
  });
@@ -265,34 +281,49 @@ function CreateClientModal({ opened, onClose }) {
265
281
  Select,
266
282
  {
267
283
  label: "Status",
268
- placeholder: "Select status (optional)",
284
+ placeholder: "Select status",
269
285
  data: STATUS_OPTIONS,
270
- clearable: true,
271
286
  ...form.getInputProps("status"),
272
287
  disabled: createClient.isPending
273
288
  }
274
289
  ),
290
+ /* @__PURE__ */ jsx(
291
+ Select,
292
+ {
293
+ label: "Source",
294
+ placeholder: "Select source",
295
+ data: CLIENT_SOURCE_OPTIONS,
296
+ required: true,
297
+ value: form.values.source ?? null,
298
+ onChange: (value) => form.setFieldValue("source", value ?? "word_of_mouth"),
299
+ error: form.errors.source,
300
+ disabled: createClient.isPending
301
+ }
302
+ ),
275
303
  /* @__PURE__ */ jsxs(Group, { justify: "space-between", mt: "xs", children: [
276
304
  /* @__PURE__ */ jsx(Button, { variant: "light", onClick: handleClose, disabled: createClient.isPending, children: "Cancel" }),
277
305
  /* @__PURE__ */ jsx(Button, { type: "submit", loading: createClient.isPending, children: "Create Client" })
278
306
  ] })
279
307
  ] }) }) });
280
308
  }
281
- var EditNameSchema = z.object({ name: z.string().trim().min(1).max(255) });
282
- function EditClientNameModal({ opened, onClose, clientId, currentName }) {
309
+ var EditClientSchema = z.object({
310
+ name: z.string().trim().min(1).max(255),
311
+ source: ClientSourceSchema
312
+ });
313
+ function EditClientNameModal({ opened, onClose, clientId, currentName, currentSource }) {
283
314
  const updateClient = useUpdateClient();
284
315
  const form = useForm({
285
- initialValues: { name: currentName },
286
- validate: zod4Resolver(EditNameSchema)
316
+ initialValues: { name: currentName, source: currentSource },
317
+ validate: zod4Resolver(EditClientSchema)
287
318
  });
288
319
  useEffect(() => {
289
320
  if (opened) {
290
- form.setValues({ name: currentName });
321
+ form.setValues({ name: currentName, source: currentSource });
291
322
  }
292
- }, [opened, currentName]);
323
+ }, [opened, currentName, currentSource]);
293
324
  const handleSubmit = async (values) => {
294
325
  try {
295
- await updateClient.mutateAsync({ clientId, updates: { name: values.name } });
326
+ await updateClient.mutateAsync({ clientId, updates: { name: values.name, source: values.source } });
296
327
  onClose();
297
328
  } catch (error) {
298
329
  showApiErrorNotification(error);
@@ -305,7 +336,7 @@ function EditClientNameModal({ opened, onClose, clientId, currentName }) {
305
336
  }
306
337
  };
307
338
  return /* @__PURE__ */ jsx(CustomModal, { opened, onClose: handleClose, size: "sm", loading: updateClient.isPending, children: /* @__PURE__ */ jsx("form", { onSubmit: form.onSubmit(handleSubmit), children: /* @__PURE__ */ jsxs(Stack, { p: "md", children: [
308
- /* @__PURE__ */ jsx(Title, { order: 4, children: "Edit Client Name" }),
339
+ /* @__PURE__ */ jsx(Title, { order: 4, children: "Edit Client" }),
309
340
  /* @__PURE__ */ jsx(
310
341
  TextInput,
311
342
  {
@@ -316,6 +347,18 @@ function EditClientNameModal({ opened, onClose, clientId, currentName }) {
316
347
  disabled: updateClient.isPending
317
348
  }
318
349
  ),
350
+ /* @__PURE__ */ jsx(
351
+ Select,
352
+ {
353
+ label: "Source",
354
+ data: CLIENT_SOURCE_OPTIONS,
355
+ required: true,
356
+ value: form.values.source,
357
+ onChange: (value) => form.setFieldValue("source", value ?? currentSource),
358
+ error: form.errors.source,
359
+ disabled: updateClient.isPending
360
+ }
361
+ ),
319
362
  /* @__PURE__ */ jsxs(Group, { justify: "space-between", mt: "xs", children: [
320
363
  /* @__PURE__ */ jsx(Button, { variant: "light", onClick: handleClose, disabled: updateClient.isPending, children: "Cancel" }),
321
364
  /* @__PURE__ */ jsx(Button, { type: "submit", loading: updateClient.isPending, children: "Save" })
@@ -416,12 +459,14 @@ var STATUS_OPTIONS3 = [
416
459
  ];
417
460
  function ClientsListPage({ onClientClick } = {}) {
418
461
  const [statusFilter, setStatusFilter] = useState(null);
462
+ const [sourceFilter, setSourceFilter] = useState(null);
419
463
  const [searchQuery, setSearchQuery] = useState("");
420
464
  const [createOpened, { open: openCreate, close: closeCreate }] = useDisclosure(false);
421
465
  const [debouncedSearch] = useDebouncedValue(searchQuery, 300);
422
- const pagination = usePaginationState(PAGE_SIZE_DEFAULT, [statusFilter, debouncedSearch]);
466
+ const pagination = usePaginationState(PAGE_SIZE_DEFAULT, [statusFilter, sourceFilter, debouncedSearch]);
423
467
  const { data, isLoading, error } = useClients({
424
468
  status: statusFilter ?? void 0,
469
+ source: sourceFilter ?? void 0,
425
470
  search: debouncedSearch.trim() || void 0,
426
471
  limit: PAGE_SIZE_DEFAULT,
427
472
  offset: pagination.offset
@@ -434,7 +479,7 @@ function ClientsListPage({ onClientClick } = {}) {
434
479
  PageTitleCaption,
435
480
  {
436
481
  title: "Clients",
437
- caption: "Closed-won deals and ongoing engagements",
482
+ caption: "Direct clients, converted deals, and ongoing engagements",
438
483
  rightSection: /* @__PURE__ */ jsx(Button, { variant: "filled", size: "sm", leftSection: /* @__PURE__ */ jsx(IconPlus, { size: 16 }), onClick: openCreate, children: "New Client" })
439
484
  }
440
485
  ),
@@ -453,6 +498,18 @@ function ClientsListPage({ onClientClick } = {}) {
453
498
  style: { minWidth: 180 }
454
499
  }
455
500
  ),
501
+ /* @__PURE__ */ jsx(
502
+ Select,
503
+ {
504
+ placeholder: "All Sources",
505
+ data: CLIENT_SOURCE_OPTIONS,
506
+ value: sourceFilter,
507
+ onChange: (v) => setSourceFilter(v),
508
+ clearable: true,
509
+ size: "sm",
510
+ style: { minWidth: 180 }
511
+ }
512
+ ),
456
513
  /* @__PURE__ */ jsx(
457
514
  TextInput,
458
515
  {
@@ -470,12 +527,13 @@ function ClientsListPage({ onClientClick } = {}) {
470
527
  {
471
528
  icon: IconUsers,
472
529
  title: "No clients found",
473
- description: "Clients are created when a deal is closed-won."
530
+ description: "Create a direct client or convert a closed-won deal."
474
531
  }
475
532
  ) : /* @__PURE__ */ jsxs(Table, { children: [
476
533
  /* @__PURE__ */ jsx(Table.Thead, { children: /* @__PURE__ */ jsxs(Table.Tr, { children: [
477
534
  /* @__PURE__ */ jsx(Table.Th, { children: "Name" }),
478
535
  /* @__PURE__ */ jsx(Table.Th, { children: "Status" }),
536
+ /* @__PURE__ */ jsx(Table.Th, { children: "Source" }),
479
537
  /* @__PURE__ */ jsx(Table.Th, { children: "Converted" }),
480
538
  /* @__PURE__ */ jsx(Table.Th, { children: "Updated" })
481
539
  ] }) }),
@@ -487,6 +545,7 @@ function ClientsListPage({ onClientClick } = {}) {
487
545
  return /* @__PURE__ */ jsxs(Table.Tr, { ...rowProps, children: [
488
546
  /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { fw: 500, children: client.name }) }),
489
547
  /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(ClientStatusBadge, { status: client.status }) }),
548
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: formatClientSourceLabel(client.source) }) }),
490
549
  /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: formatTimeAgo(client.convertedAt) }) }),
491
550
  /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: formatTimeAgo(client.updatedAt) }) })
492
551
  ] }, client.id);
@@ -559,7 +618,7 @@ function ClientDetailPage({ clientId }) {
559
618
  ) })
560
619
  ] }) }) });
561
620
  }
562
- const caption = client.convertedAt ? `Converted ${formatTimeAgo(client.convertedAt)}` : "Not yet converted";
621
+ const caption = client.convertedAt ? `Converted ${formatTimeAgo(client.convertedAt)}` : `${formatClientSourceLabel(client.source)} client`;
563
622
  return /* @__PURE__ */ jsxs(SubshellContentContainer, { children: [
564
623
  /* @__PURE__ */ jsx(PageContainer, { children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
565
624
  /* @__PURE__ */ jsx(PageTitleCaption, { title: client.name, caption, rightSection: headerActions }),
@@ -567,6 +626,7 @@ function ClientDetailPage({ clientId }) {
567
626
  /* @__PURE__ */ jsx(CardHeader, { icon: /* @__PURE__ */ jsx(IconUsers, { size: 18 }), title: "Client", mb: 0 }),
568
627
  /* @__PURE__ */ jsxs(SimpleGrid, { cols: { base: 1, sm: 2 }, spacing: "sm", children: [
569
628
  /* @__PURE__ */ jsx(DetailRow, { label: "Status", value: /* @__PURE__ */ jsx(ClientStatusBadge, { status: client.status }) }),
629
+ /* @__PURE__ */ jsx(DetailRow, { label: "Source", value: formatClientSourceLabel(client.source) }),
570
630
  /* @__PURE__ */ jsx(
571
631
  DetailRow,
572
632
  {
@@ -676,7 +736,8 @@ function ClientDetailPage({ clientId }) {
676
736
  opened: editNameOpened,
677
737
  onClose: closeEditName,
678
738
  clientId,
679
- currentName: client.name
739
+ currentName: client.name,
740
+ currentSource: client.source
680
741
  }
681
742
  ),
682
743
  /* @__PURE__ */ jsx(
@@ -1301,6 +1301,7 @@ type Database = {
1301
1301
  organization_id: string;
1302
1302
  primary_company_id: string | null;
1303
1303
  primary_contact_id: string | null;
1304
+ source: string;
1304
1305
  source_deal_id: string | null;
1305
1306
  status: string;
1306
1307
  updated_at: string;
@@ -1314,6 +1315,7 @@ type Database = {
1314
1315
  organization_id: string;
1315
1316
  primary_company_id?: string | null;
1316
1317
  primary_contact_id?: string | null;
1318
+ source?: string;
1317
1319
  source_deal_id?: string | null;
1318
1320
  status?: string;
1319
1321
  updated_at?: string;
@@ -1327,6 +1329,7 @@ type Database = {
1327
1329
  organization_id?: string;
1328
1330
  primary_company_id?: string | null;
1329
1331
  primary_contact_id?: string | null;
1332
+ source?: string;
1330
1333
  source_deal_id?: string | null;
1331
1334
  status?: string;
1332
1335
  updated_at?: string;
@@ -1,4 +1,4 @@
1
- export { ActivityFeedWidget, CRM_ITEMS, CompanyDetailPage, ContactDetailPage, ConversationThread, CrmOverview, CrmSettingsPage, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, DEAL_STAGE_COLORS, DEAL_STAGE_OPTIONS, DealDetailPage, DealsListPage, MetricsStrip, MyTasksPanel, PIPELINE_FUNNEL_ORDER, PipelineFunnelWidget, QuickCreateActions, SAVED_VIEW_PRESETS, SavedViewsPanel, crmManifest, crmPrioritySettingsKeys, formatDealStageLabel, useCrmPipelineSummary, useCrmPrioritySettings, useCrmQuickMetrics, useRecentCrmActivity, useResetCrmPrioritySettings, useUpdateCrmPrioritySettings } from '../../chunk-QDXTIQT4.js';
1
+ export { ActivityFeedWidget, CRM_ITEMS, CompanyDetailPage, ContactDetailPage, ConversationThread, CrmOverview, CrmSettingsPage, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, DEAL_STAGE_COLORS, DEAL_STAGE_OPTIONS, DealDetailPage, DealsListPage, MetricsStrip, MyTasksPanel, PIPELINE_FUNNEL_ORDER, PipelineFunnelWidget, QuickCreateActions, SAVED_VIEW_PRESETS, SavedViewsPanel, crmManifest, crmPrioritySettingsKeys, formatDealStageLabel, useCrmPipelineSummary, useCrmPrioritySettings, useCrmQuickMetrics, useRecentCrmActivity, useResetCrmPrioritySettings, useUpdateCrmPrioritySettings } from '../../chunk-FUKNHVUV.js';
2
2
  import '../../chunk-NZ2F5RQ4.js';
3
3
  import '../../chunk-OJJK27GC.js';
4
4
  import '../../chunk-AUDNF2Q7.js';
@@ -9,7 +9,7 @@ import '../../chunk-SJHM4WDG.js';
9
9
  import '../../chunk-ZTWA5H77.js';
10
10
  import '../../chunk-S3XR4II4.js';
11
11
  import '../../chunk-6DO4PE3O.js';
12
- import '../../chunk-7FJI76OH.js';
12
+ import '../../chunk-NVVAQNKE.js';
13
13
  import '../../chunk-DD3CCMCZ.js';
14
14
  import '../../chunk-GMXGDO3I.js';
15
15
  import '../../chunk-2IFYDILW.js';
@@ -18,7 +18,7 @@ import '../../chunk-HENXLGVD.js';
18
18
  import '../../chunk-7FPLLSHN.js';
19
19
  import '../../chunk-RNP5R5I3.js';
20
20
  import '../../chunk-W2SFTXMT.js';
21
- import '../../chunk-5M4HSHQ5.js';
21
+ import '../../chunk-XDEUR36B.js';
22
22
  import '../../chunk-KRWALB24.js';
23
23
  import '../../chunk-2FTX4WO2.js';
24
24
  import '../../chunk-MQZE7SUI.js';
@@ -111,7 +111,11 @@ declare const SystemApiInterfaceSchema: z.ZodObject<{
111
111
  archived: "archived";
112
112
  disabled: "disabled";
113
113
  }>>;
114
- readinessProfile: z.ZodOptional<z.ZodString>;
114
+ readinessProfile: z.ZodOptional<z.ZodEnum<{
115
+ "sales.lead-gen.api": "sales.lead-gen.api";
116
+ "sales.crm.api": "sales.crm.api";
117
+ "sales.lead-gen.crm-handoff": "sales.lead-gen.crm-handoff";
118
+ }>>;
115
119
  resourceIds: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
116
120
  }, z.core.$strict>;
117
121
  type JsonPrimitive = string | number | boolean | null;
@@ -1,4 +1,4 @@
1
- export { Dashboard, DashboardOperationsOverview, OperationsOverview, RecentExecutionsByResource, ResourceOverview, UnresolvedErrorsTeaser } from '../../chunk-QDXTIQT4.js';
1
+ export { Dashboard, DashboardOperationsOverview, OperationsOverview, RecentExecutionsByResource, ResourceOverview, UnresolvedErrorsTeaser } from '../../chunk-FUKNHVUV.js';
2
2
  import '../../chunk-NZ2F5RQ4.js';
3
3
  import '../../chunk-OJJK27GC.js';
4
4
  import '../../chunk-AUDNF2Q7.js';
@@ -9,7 +9,7 @@ import '../../chunk-SJHM4WDG.js';
9
9
  import '../../chunk-ZTWA5H77.js';
10
10
  import '../../chunk-S3XR4II4.js';
11
11
  import '../../chunk-6DO4PE3O.js';
12
- import '../../chunk-7FJI76OH.js';
12
+ import '../../chunk-NVVAQNKE.js';
13
13
  import '../../chunk-DD3CCMCZ.js';
14
14
  import '../../chunk-GMXGDO3I.js';
15
15
  import '../../chunk-2IFYDILW.js';
@@ -18,7 +18,7 @@ import '../../chunk-HENXLGVD.js';
18
18
  import '../../chunk-7FPLLSHN.js';
19
19
  import '../../chunk-RNP5R5I3.js';
20
20
  import '../../chunk-W2SFTXMT.js';
21
- import '../../chunk-5M4HSHQ5.js';
21
+ import '../../chunk-XDEUR36B.js';
22
22
  import '../../chunk-KRWALB24.js';
23
23
  import '../../chunk-2FTX4WO2.js';
24
24
  import '../../chunk-MQZE7SUI.js';
@@ -1252,6 +1252,7 @@ type Database = {
1252
1252
  organization_id: string;
1253
1253
  primary_company_id: string | null;
1254
1254
  primary_contact_id: string | null;
1255
+ source: string;
1255
1256
  source_deal_id: string | null;
1256
1257
  status: string;
1257
1258
  updated_at: string;
@@ -1265,6 +1266,7 @@ type Database = {
1265
1266
  organization_id: string;
1266
1267
  primary_company_id?: string | null;
1267
1268
  primary_contact_id?: string | null;
1269
+ source?: string;
1268
1270
  source_deal_id?: string | null;
1269
1271
  status?: string;
1270
1272
  updated_at?: string;
@@ -1278,6 +1280,7 @@ type Database = {
1278
1280
  organization_id?: string;
1279
1281
  primary_company_id?: string | null;
1280
1282
  primary_contact_id?: string | null;
1283
+ source?: string;
1281
1284
  source_deal_id?: string | null;
1282
1285
  status?: string;
1283
1286
  updated_at?: string;
@@ -1,4 +1,4 @@
1
- export { AllTasksPage, Checklist, CreateDeliveryEntityModal, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, HealthStatusCard, MilestoneTimeline, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, TaskCard, UpcomingMilestonesPage, calculateProgress, deliveryManifest, formatStatusLabel, milestoneStatusColors, noteTypeColors, projectStatusColors, taskStatusColors, taskTypeColors } from '../../chunk-QDXTIQT4.js';
1
+ export { AllTasksPage, Checklist, CreateDeliveryEntityModal, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, HealthStatusCard, MilestoneTimeline, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, TaskCard, UpcomingMilestonesPage, calculateProgress, deliveryManifest, formatStatusLabel, milestoneStatusColors, noteTypeColors, projectStatusColors, taskStatusColors, taskTypeColors } from '../../chunk-FUKNHVUV.js';
2
2
  import '../../chunk-NZ2F5RQ4.js';
3
3
  import '../../chunk-OJJK27GC.js';
4
4
  import '../../chunk-AUDNF2Q7.js';
@@ -9,7 +9,7 @@ import '../../chunk-SJHM4WDG.js';
9
9
  import '../../chunk-ZTWA5H77.js';
10
10
  import '../../chunk-S3XR4II4.js';
11
11
  import '../../chunk-6DO4PE3O.js';
12
- import '../../chunk-7FJI76OH.js';
12
+ import '../../chunk-NVVAQNKE.js';
13
13
  import '../../chunk-DD3CCMCZ.js';
14
14
  import '../../chunk-GMXGDO3I.js';
15
15
  import '../../chunk-2IFYDILW.js';
@@ -18,7 +18,7 @@ import '../../chunk-HENXLGVD.js';
18
18
  import '../../chunk-7FPLLSHN.js';
19
19
  import '../../chunk-RNP5R5I3.js';
20
20
  import '../../chunk-W2SFTXMT.js';
21
- import '../../chunk-5M4HSHQ5.js';
21
+ import '../../chunk-XDEUR36B.js';
22
22
  import '../../chunk-KRWALB24.js';
23
23
  import '../../chunk-2FTX4WO2.js';
24
24
  import '../../chunk-MQZE7SUI.js';
@@ -1,4 +1,4 @@
1
- export { knowledgeManifest } from '../../chunk-QDXTIQT4.js';
1
+ export { knowledgeManifest } from '../../chunk-FUKNHVUV.js';
2
2
  import '../../chunk-NZ2F5RQ4.js';
3
3
  import '../../chunk-OJJK27GC.js';
4
4
  import '../../chunk-AUDNF2Q7.js';
@@ -9,7 +9,7 @@ import '../../chunk-SJHM4WDG.js';
9
9
  import '../../chunk-ZTWA5H77.js';
10
10
  import '../../chunk-S3XR4II4.js';
11
11
  import '../../chunk-6DO4PE3O.js';
12
- import '../../chunk-7FJI76OH.js';
12
+ import '../../chunk-NVVAQNKE.js';
13
13
  import '../../chunk-DD3CCMCZ.js';
14
14
  import '../../chunk-GMXGDO3I.js';
15
15
  import '../../chunk-2IFYDILW.js';
@@ -18,7 +18,7 @@ import '../../chunk-HENXLGVD.js';
18
18
  import '../../chunk-7FPLLSHN.js';
19
19
  import '../../chunk-RNP5R5I3.js';
20
20
  import '../../chunk-W2SFTXMT.js';
21
- import '../../chunk-5M4HSHQ5.js';
21
+ import '../../chunk-XDEUR36B.js';
22
22
  import '../../chunk-KRWALB24.js';
23
23
  import '../../chunk-2FTX4WO2.js';
24
24
  import '../../chunk-MQZE7SUI.js';
@@ -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;
@@ -863,6 +867,7 @@ type SidebarNode = SidebarSurfaceNode | SidebarGroupNode;
863
867
 
864
868
  declare const OrganizationModelSchema: z$1.ZodObject<{
865
869
  version: z$1.ZodDefault<z$1.ZodLiteral<1>>;
870
+ snapshotHash: z$1.ZodOptional<z$1.ZodString>;
866
871
  domainMetadata: z$1.ZodPipe<z$1.ZodDefault<z$1.ZodObject<{
867
872
  branding: z$1.ZodOptional<z$1.ZodObject<{
868
873
  version: z$1.ZodDefault<z$1.ZodLiteral<1>>;
@@ -872,6 +877,10 @@ declare const OrganizationModelSchema: z$1.ZodObject<{
872
877
  version: z$1.ZodDefault<z$1.ZodLiteral<1>>;
873
878
  lastModified: z$1.ZodString;
874
879
  }, z$1.core.$strip>>;
880
+ clients: z$1.ZodOptional<z$1.ZodObject<{
881
+ version: z$1.ZodDefault<z$1.ZodLiteral<1>>;
882
+ lastModified: z$1.ZodString;
883
+ }, z$1.core.$strip>>;
875
884
  customers: z$1.ZodOptional<z$1.ZodObject<{
876
885
  version: z$1.ZodDefault<z$1.ZodLiteral<1>>;
877
886
  lastModified: z$1.ZodString;
@@ -929,6 +938,10 @@ declare const OrganizationModelSchema: z$1.ZodObject<{
929
938
  version: 1;
930
939
  lastModified: string;
931
940
  };
941
+ clients: {
942
+ version: 1;
943
+ lastModified: string;
944
+ };
932
945
  customers: {
933
946
  version: 1;
934
947
  lastModified: string;
@@ -986,6 +999,10 @@ declare const OrganizationModelSchema: z$1.ZodObject<{
986
999
  version: 1;
987
1000
  lastModified: string;
988
1001
  } | undefined;
1002
+ clients?: {
1003
+ version: 1;
1004
+ lastModified: string;
1005
+ } | undefined;
989
1006
  customers?: {
990
1007
  version: 1;
991
1008
  lastModified: string;
@@ -1178,6 +1195,56 @@ declare const OrganizationModelSchema: z$1.ZodObject<{
1178
1195
  shortName: z$1.ZodOptional<z$1.ZodString>;
1179
1196
  description: z$1.ZodOptional<z$1.ZodString>;
1180
1197
  }, z$1.core.$loose>>;
1198
+ clients: z$1.ZodDefault<z$1.ZodDefault<z$1.ZodRecord<z$1.ZodString, z$1.ZodObject<{
1199
+ id: z$1.ZodString;
1200
+ slug: z$1.ZodString;
1201
+ name: z$1.ZodString;
1202
+ status: z$1.ZodDefault<z$1.ZodEnum<{
1203
+ active: "active";
1204
+ onboarding: "onboarding";
1205
+ paused: "paused";
1206
+ completed: "completed";
1207
+ churned: "churned";
1208
+ }>>;
1209
+ source: z$1.ZodOptional<z$1.ZodString>;
1210
+ identity: z$1.ZodDefault<z$1.ZodObject<{
1211
+ organizationName: z$1.ZodOptional<z$1.ZodString>;
1212
+ shortName: z$1.ZodOptional<z$1.ZodString>;
1213
+ clientBrief: z$1.ZodDefault<z$1.ZodString>;
1214
+ geographicFocus: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
1215
+ timeZone: z$1.ZodDefault<z$1.ZodString>;
1216
+ }, z$1.core.$loose>>;
1217
+ branding: z$1.ZodDefault<z$1.ZodObject<{
1218
+ voice: z$1.ZodOptional<z$1.ZodString>;
1219
+ tagline: z$1.ZodOptional<z$1.ZodString>;
1220
+ values: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
1221
+ }, z$1.core.$loose>>;
1222
+ workspace: z$1.ZodDefault<z$1.ZodObject<{
1223
+ kind: z$1.ZodOptional<z$1.ZodEnum<{
1224
+ "external-project": "external-project";
1225
+ "internal-project": "internal-project";
1226
+ none: "none";
1227
+ }>>;
1228
+ owner: z$1.ZodOptional<z$1.ZodEnum<{
1229
+ platform: "platform";
1230
+ client: "client";
1231
+ developer: "developer";
1232
+ }>>;
1233
+ projectId: z$1.ZodOptional<z$1.ZodString>;
1234
+ workspacePath: z$1.ZodOptional<z$1.ZodString>;
1235
+ }, z$1.core.$loose>>;
1236
+ links: z$1.ZodDefault<z$1.ZodObject<{
1237
+ projectIds: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
1238
+ primaryCompanyId: z$1.ZodOptional<z$1.ZodString>;
1239
+ primaryContactId: z$1.ZodOptional<z$1.ZodString>;
1240
+ sourceDealId: z$1.ZodOptional<z$1.ZodString>;
1241
+ }, z$1.core.$strip>>;
1242
+ prompts: z$1.ZodDefault<z$1.ZodObject<{
1243
+ defaultContext: z$1.ZodDefault<z$1.ZodString>;
1244
+ }, z$1.core.$loose>>;
1245
+ config: z$1.ZodDefault<z$1.ZodRecord<z$1.ZodString, z$1.ZodType<JsonValue, unknown, z$1.core.$ZodTypeInternals<JsonValue, unknown>>>>;
1246
+ customValues: z$1.ZodDefault<z$1.ZodRecord<z$1.ZodString, z$1.ZodType<JsonValue, unknown, z$1.core.$ZodTypeInternals<JsonValue, unknown>>>>;
1247
+ }, z$1.core.$strict>>>>;
1181
1248
  customers: z$1.ZodDefault<z$1.ZodDefault<z$1.ZodRecord<z$1.ZodString, z$1.ZodObject<{
1182
1249
  id: z$1.ZodString;
1183
1250
  order: z$1.ZodNumber;
@@ -1831,6 +1898,7 @@ declare const OrganizationModelSchema: z$1.ZodObject<{
1831
1898
  action: "action";
1832
1899
  ontology: "ontology";
1833
1900
  role: "role";
1901
+ client: "client";
1834
1902
  stage: "stage";
1835
1903
  goal: "goal";
1836
1904
  "customer-segment": "customer-segment";
@@ -1842,7 +1910,7 @@ declare const OrganizationModelSchema: z$1.ZodObject<{
1842
1910
  nodeId: z$1.ZodUnion<readonly [z$1.ZodString, z$1.ZodTemplateLiteral<`ontology:${string}`>]>;
1843
1911
  }, z$1.core.$strip>]>, z$1.ZodTransform<{
1844
1912
  target: {
1845
- kind: "knowledge" | "system" | "resource" | "action" | "ontology" | "role" | "stage" | "goal" | "customer-segment" | "offering";
1913
+ kind: "knowledge" | "system" | "resource" | "action" | "ontology" | "role" | "client" | "stage" | "goal" | "customer-segment" | "offering";
1846
1914
  id: string;
1847
1915
  };
1848
1916
  nodeId: string;
@@ -1850,7 +1918,7 @@ declare const OrganizationModelSchema: z$1.ZodObject<{
1850
1918
  nodeId: string;
1851
1919
  } | {
1852
1920
  target: {
1853
- kind: "knowledge" | "system" | "resource" | "action" | "ontology" | "role" | "stage" | "goal" | "customer-segment" | "offering";
1921
+ kind: "knowledge" | "system" | "resource" | "action" | "ontology" | "role" | "client" | "stage" | "goal" | "customer-segment" | "offering";
1854
1922
  id: string;
1855
1923
  };
1856
1924
  }>>>>;
@@ -1867,7 +1935,12 @@ declare const LEAD_GEN_API_INTERFACE: {
1867
1935
  readonly interfaceKey: "api";
1868
1936
  readonly readinessProfile: "sales.lead-gen.api";
1869
1937
  };
1870
- type SystemInterfaceReadinessIssueFamily = 'SYSTEM_INTERFACE_MISSING' | 'SYSTEM_INTERFACE_DISABLED' | 'SYSTEM_INTERFACE_INVALID' | 'SYSTEM_INTERFACE_NOT_READY' | 'SYSTEM_BRIDGE_NOT_READY';
1938
+ type SystemInterfaceReadinessIssueFamily = 'SYSTEM_INTERFACE_MISSING' | 'SYSTEM_INTERFACE_DISABLED' | 'SYSTEM_INTERFACE_INVALID' | 'SYSTEM_INTERFACE_NOT_READY' | 'SYSTEM_BRIDGE_NOT_READY'
1939
+ /**
1940
+ * The deployed OM snapshot hash does not match the canonical source hash.
1941
+ * Redeploy with `pnpm operations:deploy` to refresh the snapshot.
1942
+ */
1943
+ | 'STALE_OM_SNAPSHOT';
1871
1944
  interface SystemInterfaceReadinessIssue {
1872
1945
  family: SystemInterfaceReadinessIssueFamily;
1873
1946
  code: string;
@@ -1,4 +1,4 @@
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';
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-FUKNHVUV.js';
2
2
  import '../../chunk-NZ2F5RQ4.js';
3
3
  import '../../chunk-OJJK27GC.js';
4
4
  import '../../chunk-AUDNF2Q7.js';
@@ -9,7 +9,7 @@ import '../../chunk-SJHM4WDG.js';
9
9
  import '../../chunk-ZTWA5H77.js';
10
10
  import '../../chunk-S3XR4II4.js';
11
11
  import '../../chunk-6DO4PE3O.js';
12
- import '../../chunk-7FJI76OH.js';
12
+ import '../../chunk-NVVAQNKE.js';
13
13
  import '../../chunk-DD3CCMCZ.js';
14
14
  import '../../chunk-GMXGDO3I.js';
15
15
  import '../../chunk-2IFYDILW.js';
@@ -18,7 +18,7 @@ import '../../chunk-HENXLGVD.js';
18
18
  import '../../chunk-7FPLLSHN.js';
19
19
  import '../../chunk-RNP5R5I3.js';
20
20
  import '../../chunk-W2SFTXMT.js';
21
- import '../../chunk-5M4HSHQ5.js';
21
+ import '../../chunk-XDEUR36B.js';
22
22
  import '../../chunk-KRWALB24.js';
23
23
  import '../../chunk-2FTX4WO2.js';
24
24
  import '../../chunk-MQZE7SUI.js';
@@ -1,4 +1,4 @@
1
- export { ActivityFeed, ActivityLog, CostAnalytics, ErrorDetailsModal, ExecutionHealth, ExecutionLogsPage, NotificationCenter, monitoringManifest } from '../../chunk-QDXTIQT4.js';
1
+ export { ActivityFeed, ActivityLog, CostAnalytics, ErrorDetailsModal, ExecutionHealth, ExecutionLogsPage, NotificationCenter, monitoringManifest } from '../../chunk-FUKNHVUV.js';
2
2
  import '../../chunk-NZ2F5RQ4.js';
3
3
  import '../../chunk-OJJK27GC.js';
4
4
  import '../../chunk-AUDNF2Q7.js';
@@ -9,7 +9,7 @@ import '../../chunk-SJHM4WDG.js';
9
9
  import '../../chunk-ZTWA5H77.js';
10
10
  import '../../chunk-S3XR4II4.js';
11
11
  import '../../chunk-6DO4PE3O.js';
12
- import '../../chunk-7FJI76OH.js';
12
+ import '../../chunk-NVVAQNKE.js';
13
13
  import '../../chunk-DD3CCMCZ.js';
14
14
  import '../../chunk-GMXGDO3I.js';
15
15
  import '../../chunk-2IFYDILW.js';
@@ -18,7 +18,7 @@ import '../../chunk-HENXLGVD.js';
18
18
  import '../../chunk-7FPLLSHN.js';
19
19
  import '../../chunk-RNP5R5I3.js';
20
20
  import '../../chunk-W2SFTXMT.js';
21
- import '../../chunk-5M4HSHQ5.js';
21
+ import '../../chunk-XDEUR36B.js';
22
22
  import '../../chunk-KRWALB24.js';
23
23
  import '../../chunk-2FTX4WO2.js';
24
24
  import '../../chunk-MQZE7SUI.js';