@elevasis/ui 2.33.2 → 2.35.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 (116) hide show
  1. package/dist/api/index.d.ts +9 -2
  2. package/dist/api/index.js +3 -3
  3. package/dist/app/index.css +452 -0
  4. package/dist/app/index.d.ts +1255 -8
  5. package/dist/app/index.js +151 -13
  6. package/dist/charts/index.js +3 -6
  7. package/dist/chunk-26HFM4MH.js +41449 -0
  8. package/dist/{chunk-52K5RFDH.js → chunk-4U3XAWCN.js} +1328 -2492
  9. package/dist/{chunk-ND5TDV2J.js → chunk-57OZ3AEG.js} +1 -1
  10. package/dist/{chunk-E4WQGJNS.js → chunk-7FPLLSHN.js} +14 -1
  11. package/dist/{chunk-RQA2EVN3.js → chunk-AKW7KISS.js} +39 -3
  12. package/dist/chunk-AUDNF2Q7.js +2050 -0
  13. package/dist/{chunk-TYRUKGGD.js → chunk-GX6XBRRF.js} +1 -2
  14. package/dist/{chunk-V6SZ4ECN.js → chunk-LUYVRATI.js} +257 -6
  15. package/dist/{chunk-X4WBGKJQ.js → chunk-R3VCBZDC.js} +50 -3
  16. package/dist/chunk-SIQ3P4OR.js +1764 -0
  17. package/dist/{chunk-Z2K2EAPL.js → chunk-VDOOGGBA.js} +5 -6
  18. package/dist/{chunk-3FV6HBXS.js → chunk-WF7CONXF.js} +23 -23
  19. package/dist/chunk-YYX7OPZQ.js +25 -0
  20. package/dist/components/index.d.ts +69 -92
  21. package/dist/components/index.js +20 -3216
  22. package/dist/components/navigation/index.js +25 -7
  23. package/dist/execution/index.d.ts +9 -9
  24. package/dist/execution/index.js +1 -2
  25. package/dist/features/auth/index.js +23 -2
  26. package/dist/features/clients/index.js +20 -31
  27. package/dist/features/crm/index.js +20 -35
  28. package/dist/features/dashboard/index.d.ts +68 -91
  29. package/dist/features/dashboard/index.js +20 -33
  30. package/dist/features/delivery/index.js +20 -35
  31. package/dist/features/knowledge/index.js +25 -11
  32. package/dist/features/lead-gen/index.d.ts +9 -9
  33. package/dist/features/lead-gen/index.js +20 -36
  34. package/dist/features/monitoring/index.js +20 -35
  35. package/dist/features/monitoring/requests/index.js +20 -30
  36. package/dist/features/operations/index.d.ts +197 -188
  37. package/dist/features/operations/index.js +18 -42
  38. package/dist/features/seo/index.js +3 -4
  39. package/dist/features/settings/index.js +20 -32
  40. package/dist/graph/index.js +1 -1
  41. package/dist/hooks/delivery/index.js +30 -2
  42. package/dist/hooks/index.d.ts +105 -112
  43. package/dist/hooks/index.js +20 -26
  44. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +55 -62
  45. package/dist/hooks/published.d.ts +105 -112
  46. package/dist/hooks/published.js +20 -25
  47. package/dist/index.css +532 -532
  48. package/dist/index.d.ts +10261 -6793
  49. package/dist/index.js +22 -31
  50. package/dist/knowledge/index.d.ts +51 -59
  51. package/dist/knowledge/index.js +40 -211
  52. package/dist/{knowledge-search-index-VMAW7FLR.js → knowledge-search-index-ORIJCEZX.js} +3 -3
  53. package/dist/layout/index.js +4 -10
  54. package/dist/organization/index.js +27 -2
  55. package/dist/provider/index.d.ts +71 -52
  56. package/dist/provider/index.js +20 -20
  57. package/dist/provider/published.d.ts +39 -47
  58. package/dist/provider/published.js +20 -15
  59. package/dist/test-utils/index.d.ts +2 -0
  60. package/dist/test-utils/index.js +16 -4
  61. package/dist/test-utils/setup.js +38 -0
  62. package/dist/theme/index.js +2 -3
  63. package/dist/theme/presets/index.d.ts +28 -3
  64. package/dist/theme/presets/index.js +1 -1
  65. package/dist/typeform/index.js +1 -2049
  66. package/dist/types/index.d.ts +88 -95
  67. package/dist/utils/index.d.ts +46 -69
  68. package/dist/utils/index.js +1 -1
  69. package/dist/zustand/index.d.ts +21 -8
  70. package/dist/zustand/index.js +32 -1
  71. package/package.json +5 -5
  72. package/dist/chunk-2ZZ72TAB.js +0 -2281
  73. package/dist/chunk-32I2RCGC.js +0 -85
  74. package/dist/chunk-3MEXPLWT.js +0 -265
  75. package/dist/chunk-3ZMAGTWF.js +0 -18
  76. package/dist/chunk-44I4LOH6.js +0 -1593
  77. package/dist/chunk-4DYOXEH6.js +0 -951
  78. package/dist/chunk-7M2VOCYN.js +0 -1
  79. package/dist/chunk-A4VDJJCV.js +0 -1864
  80. package/dist/chunk-BZZCNLT6.js +0 -12
  81. package/dist/chunk-CLDCYJQT.js +0 -1
  82. package/dist/chunk-E565XMTQ.js +0 -17
  83. package/dist/chunk-EPTHX4VZ.js +0 -749
  84. package/dist/chunk-GWGQI6V4.js +0 -447
  85. package/dist/chunk-HUJCU55S.js +0 -159
  86. package/dist/chunk-IBWMR4TI.js +0 -469
  87. package/dist/chunk-IIMU5YAJ.js +0 -53
  88. package/dist/chunk-IOXOPMYS.js +0 -145
  89. package/dist/chunk-J2UD7BOH.js +0 -347
  90. package/dist/chunk-JA5ECJJB.js +0 -387
  91. package/dist/chunk-JFL3GRD4.js +0 -39
  92. package/dist/chunk-KW7ZNQD7.js +0 -126
  93. package/dist/chunk-LGKLC5MG.js +0 -44
  94. package/dist/chunk-N55DVMAG.js +0 -14
  95. package/dist/chunk-O56ESZCQ.js +0 -1874
  96. package/dist/chunk-OIBHQH5Q.js +0 -96
  97. package/dist/chunk-PDHTXPSF.js +0 -12
  98. package/dist/chunk-QDFJSUG3.js +0 -13
  99. package/dist/chunk-R2XR4FCV.js +0 -48
  100. package/dist/chunk-R66W5UDG.js +0 -26
  101. package/dist/chunk-RYTEQBAO.js +0 -37
  102. package/dist/chunk-SZHARWKU.js +0 -15
  103. package/dist/chunk-T3J6U77J.js +0 -12056
  104. package/dist/chunk-TBVLQRXT.js +0 -68
  105. package/dist/chunk-TGVAIWIL.js +0 -1778
  106. package/dist/chunk-TKAYX2SP.js +0 -204
  107. package/dist/chunk-TUMSNGTX.js +0 -35
  108. package/dist/chunk-VGU4ZFYZ.js +0 -4752
  109. package/dist/chunk-VNAZTCHA.js +0 -65
  110. package/dist/chunk-VNFR57DF.js +0 -87
  111. package/dist/chunk-WKW6B5ID.js +0 -29
  112. package/dist/chunk-XCYKC6OZ.js +0 -1
  113. package/dist/chunk-XZGSCABI.js +0 -383
  114. package/dist/chunk-ZMK5Z6KE.js +0 -5198
  115. /package/dist/{chunk-2RJMVWFJ.js → chunk-GEFWMU26.js} +0 -0
  116. /package/dist/{chunk-22UVE3RA.js → chunk-HENXLGVD.js} +0 -0
@@ -435,14 +435,18 @@ declare const ResourceEntrySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
435
435
  writes: z.ZodOptional<z.ZodArray<z.ZodString>>;
436
436
  usesCatalogs: z.ZodOptional<z.ZodArray<z.ZodString>>;
437
437
  emits: z.ZodOptional<z.ZodArray<z.ZodString>>;
438
+ contract: z.ZodOptional<z.ZodObject<{
439
+ input: z.ZodOptional<z.ZodString>;
440
+ output: z.ZodOptional<z.ZodString>;
441
+ }, z.core.$strip>>;
438
442
  }, z.core.$strip>>;
439
443
  codeRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
440
444
  path: z.ZodString;
441
445
  role: z.ZodEnum<{
442
- schema: "schema";
443
446
  config: "config";
444
447
  entrypoint: "entrypoint";
445
448
  handler: "handler";
449
+ schema: "schema";
446
450
  test: "test";
447
451
  docs: "docs";
448
452
  }>;
@@ -481,14 +485,18 @@ declare const ResourceEntrySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
481
485
  writes: z.ZodOptional<z.ZodArray<z.ZodString>>;
482
486
  usesCatalogs: z.ZodOptional<z.ZodArray<z.ZodString>>;
483
487
  emits: z.ZodOptional<z.ZodArray<z.ZodString>>;
488
+ contract: z.ZodOptional<z.ZodObject<{
489
+ input: z.ZodOptional<z.ZodString>;
490
+ output: z.ZodOptional<z.ZodString>;
491
+ }, z.core.$strip>>;
484
492
  }, z.core.$strip>>;
485
493
  codeRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
486
494
  path: z.ZodString;
487
495
  role: z.ZodEnum<{
488
- schema: "schema";
489
496
  config: "config";
490
497
  entrypoint: "entrypoint";
491
498
  handler: "handler";
499
+ schema: "schema";
492
500
  test: "test";
493
501
  docs: "docs";
494
502
  }>;
@@ -558,14 +566,18 @@ declare const ResourceEntrySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
558
566
  writes: z.ZodOptional<z.ZodArray<z.ZodString>>;
559
567
  usesCatalogs: z.ZodOptional<z.ZodArray<z.ZodString>>;
560
568
  emits: z.ZodOptional<z.ZodArray<z.ZodString>>;
569
+ contract: z.ZodOptional<z.ZodObject<{
570
+ input: z.ZodOptional<z.ZodString>;
571
+ output: z.ZodOptional<z.ZodString>;
572
+ }, z.core.$strip>>;
561
573
  }, z.core.$strip>>;
562
574
  codeRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
563
575
  path: z.ZodString;
564
576
  role: z.ZodEnum<{
565
- schema: "schema";
566
577
  config: "config";
567
578
  entrypoint: "entrypoint";
568
579
  handler: "handler";
580
+ schema: "schema";
569
581
  test: "test";
570
582
  docs: "docs";
571
583
  }>;
@@ -593,14 +605,18 @@ declare const ResourceEntrySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
593
605
  writes: z.ZodOptional<z.ZodArray<z.ZodString>>;
594
606
  usesCatalogs: z.ZodOptional<z.ZodArray<z.ZodString>>;
595
607
  emits: z.ZodOptional<z.ZodArray<z.ZodString>>;
608
+ contract: z.ZodOptional<z.ZodObject<{
609
+ input: z.ZodOptional<z.ZodString>;
610
+ output: z.ZodOptional<z.ZodString>;
611
+ }, z.core.$strip>>;
596
612
  }, z.core.$strip>>;
597
613
  codeRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
598
614
  path: z.ZodString;
599
615
  role: z.ZodEnum<{
600
- schema: "schema";
601
616
  config: "config";
602
617
  entrypoint: "entrypoint";
603
618
  handler: "handler";
619
+ schema: "schema";
604
620
  test: "test";
605
621
  docs: "docs";
606
622
  }>;
@@ -4283,6 +4299,74 @@ declare const OntologyScopeSchema: z.ZodDefault<z.ZodObject<{
4283
4299
  }, z.core.$strip>>;
4284
4300
  type OntologyScope = z.infer<typeof OntologyScopeSchema>;
4285
4301
 
4302
+ type JsonPrimitive = string | number | boolean | null;
4303
+ type JsonValue = JsonPrimitive | JsonValue[] | {
4304
+ [key: string]: JsonValue;
4305
+ };
4306
+ /** Explicit interface needed to annotate the recursive SystemEntrySchema. */
4307
+ interface SystemEntry {
4308
+ id: string;
4309
+ label?: string;
4310
+ title?: string;
4311
+ description?: string;
4312
+ kind?: 'product' | 'operational' | 'platform' | 'diagnostic';
4313
+ parentSystemId?: string;
4314
+ ui?: {
4315
+ path: string;
4316
+ surfaces: string[];
4317
+ icon?: string;
4318
+ order?: number;
4319
+ };
4320
+ lifecycle?: 'draft' | 'beta' | 'active' | 'deprecated' | 'archived';
4321
+ responsibleRoleId?: string;
4322
+ governedByKnowledge?: string[];
4323
+ actions?: {
4324
+ actionId: string;
4325
+ intent: 'exposes' | 'consumes';
4326
+ invocation?: unknown;
4327
+ }[];
4328
+ policies?: string[];
4329
+ drivesGoals?: string[];
4330
+ /** @deprecated Use lifecycle. Accepted for one publish cycle. */
4331
+ status?: 'active' | 'deprecated' | 'archived';
4332
+ path?: string;
4333
+ icon?: string;
4334
+ color?: string;
4335
+ uiPosition?: 'sidebar-primary' | 'sidebar-bottom';
4336
+ enabled?: boolean;
4337
+ devOnly?: boolean;
4338
+ requiresAdmin?: boolean;
4339
+ order: number;
4340
+ config?: Record<string, JsonValue>;
4341
+ ontology?: OntologyScope;
4342
+ systems?: Record<string, SystemEntry>;
4343
+ subsystems?: Record<string, SystemEntry>;
4344
+ }
4345
+
4346
+ declare const LinkSchema: z.ZodObject<{
4347
+ nodeId: z.ZodString;
4348
+ kind: z.ZodEnum<{
4349
+ links: "links";
4350
+ affects: "affects";
4351
+ effects: "effects";
4352
+ actions: "actions";
4353
+ reads: "reads";
4354
+ writes: "writes";
4355
+ emits: "emits";
4356
+ triggers: "triggers";
4357
+ uses: "uses";
4358
+ approval: "approval";
4359
+ contains: "contains";
4360
+ references: "references";
4361
+ maps_to: "maps_to";
4362
+ governs: "governs";
4363
+ originates_from: "originates_from";
4364
+ applies_to: "applies_to";
4365
+ uses_catalog: "uses_catalog";
4366
+ }>;
4367
+ }, z.core.$strip>;
4368
+ type Link = z.infer<typeof LinkSchema>;
4369
+
4286
4370
  type MessageType = MessageEvent['type'];
4287
4371
  /**
4288
4372
  * Session Data Transfer Object (DTO)
@@ -4873,73 +4957,6 @@ type AIResourceDefinition = SerializedWorkflowDefinition | SerializedAgentDefini
4873
4957
  */
4874
4958
  type IntegrationType = 'gmail' | 'google-sheets' | 'slack' | 'github' | 'linear' | 'attio' | 'airtable' | 'salesforce' | 'hubspot' | 'stripe' | 'twilio' | 'sendgrid' | 'mailgun' | 'zapier' | 'webhook' | 'apify' | 'instantly' | 'resend' | 'signature-api' | 'dropbox' | 'anymailfinder' | 'tomba' | 'millionverifier';
4875
4959
 
4876
- /**
4877
- * Placeholder discriminated union for ContentNode (Wave 1A).
4878
- * Wave 2A wires concrete (kind, type) pairs via the registry.
4879
- *
4880
- * Per D2: unregistered (kind, type) pairs are allowed and pass through validation.
4881
- * Per L14: every node carries BOTH `kind` and `type`.
4882
- */
4883
- declare const ContentNodeSchema: z.ZodObject<{
4884
- label: z.ZodString;
4885
- description: z.ZodOptional<z.ZodString>;
4886
- order: z.ZodOptional<z.ZodNumber>;
4887
- parentContentId: z.ZodOptional<z.ZodString>;
4888
- kind: z.ZodString;
4889
- type: z.ZodString;
4890
- data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
4891
- }, z.core.$strip>;
4892
- type ContentNode = z.infer<typeof ContentNodeSchema>;
4893
-
4894
- type JsonPrimitive = string | number | boolean | null;
4895
- type JsonValue = JsonPrimitive | JsonValue[] | {
4896
- [key: string]: JsonValue;
4897
- };
4898
- /** Explicit interface needed to annotate the recursive SystemEntrySchema. */
4899
- interface SystemEntry {
4900
- id: string;
4901
- label?: string;
4902
- title?: string;
4903
- description?: string;
4904
- kind?: 'product' | 'operational' | 'platform' | 'diagnostic';
4905
- parentSystemId?: string;
4906
- ui?: {
4907
- path: string;
4908
- surfaces: string[];
4909
- icon?: string;
4910
- order?: number;
4911
- };
4912
- lifecycle?: 'draft' | 'beta' | 'active' | 'deprecated' | 'archived';
4913
- responsibleRoleId?: string;
4914
- governedByKnowledge?: string[];
4915
- actions?: {
4916
- actionId: string;
4917
- intent: 'exposes' | 'consumes';
4918
- invocation?: unknown;
4919
- }[];
4920
- policies?: string[];
4921
- drivesGoals?: string[];
4922
- /** @deprecated Use lifecycle. Accepted for one publish cycle. */
4923
- status?: 'active' | 'deprecated' | 'archived';
4924
- path?: string;
4925
- icon?: string;
4926
- color?: string;
4927
- uiPosition?: 'sidebar-primary' | 'sidebar-bottom';
4928
- enabled?: boolean;
4929
- devOnly?: boolean;
4930
- requiresAdmin?: boolean;
4931
- order: number;
4932
- config?: Record<string, JsonValue>;
4933
- ontology?: OntologyScope;
4934
- systems?: Record<string, SystemEntry>;
4935
- /**
4936
- * @deprecated Compatibility-only bridge for old tenant data and migration readers.
4937
- * Author new semantic catalogs in `ontology` and local settings in `config`.
4938
- */
4939
- content?: Record<string, ContentNode>;
4940
- subsystems?: Record<string, SystemEntry>;
4941
- }
4942
-
4943
4960
  /**
4944
4961
  * Resource Registry type definitions
4945
4962
  */
@@ -5277,30 +5294,6 @@ interface CommandViewData {
5277
5294
  edges: CommandViewEdge[];
5278
5295
  }
5279
5296
 
5280
- declare const LinkSchema: z.ZodObject<{
5281
- nodeId: z.ZodString;
5282
- kind: z.ZodEnum<{
5283
- links: "links";
5284
- affects: "affects";
5285
- effects: "effects";
5286
- actions: "actions";
5287
- reads: "reads";
5288
- writes: "writes";
5289
- emits: "emits";
5290
- triggers: "triggers";
5291
- uses: "uses";
5292
- approval: "approval";
5293
- contains: "contains";
5294
- references: "references";
5295
- maps_to: "maps_to";
5296
- governs: "governs";
5297
- originates_from: "originates_from";
5298
- applies_to: "applies_to";
5299
- uses_catalog: "uses_catalog";
5300
- }>;
5301
- }, z.core.$strip>;
5302
- type Link = z.infer<typeof LinkSchema>;
5303
-
5304
5297
  declare const ResourceCategorySchema: z.ZodEnum<{
5305
5298
  diagnostic: "diagnostic";
5306
5299
  production: "production";
@@ -180,46 +180,6 @@ declare const OntologyScopeSchema: z.ZodDefault<z.ZodObject<{
180
180
  }, z.core.$strip>>;
181
181
  type OntologyScope = z.infer<typeof OntologyScopeSchema>;
182
182
 
183
- /**
184
- * Time range selector for dashboard metrics
185
- */
186
- type TimeRange = '1h' | '24h' | '7d' | '30d';
187
- /**
188
- * ISO 8601 date range for API queries
189
- */
190
- interface TimeRangeDates {
191
- startDate: string;
192
- endDate: string;
193
- }
194
-
195
- /**
196
- * Base Execution Engine type definitions
197
- * Core types shared across all Execution Engine resources
198
- */
199
-
200
- declare const ResourceStatusColors: {
201
- readonly dev: "var(--color-primary)";
202
- readonly prod: "var(--color-success)";
203
- };
204
-
205
- /**
206
- * Placeholder discriminated union for ContentNode (Wave 1A).
207
- * Wave 2A wires concrete (kind, type) pairs via the registry.
208
- *
209
- * Per D2: unregistered (kind, type) pairs are allowed and pass through validation.
210
- * Per L14: every node carries BOTH `kind` and `type`.
211
- */
212
- declare const ContentNodeSchema: z.ZodObject<{
213
- label: z.ZodString;
214
- description: z.ZodOptional<z.ZodString>;
215
- order: z.ZodOptional<z.ZodNumber>;
216
- parentContentId: z.ZodOptional<z.ZodString>;
217
- kind: z.ZodString;
218
- type: z.ZodString;
219
- data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
220
- }, z.core.$strip>;
221
- type ContentNode = z.infer<typeof ContentNodeSchema>;
222
-
223
183
  type JsonPrimitive = string | number | boolean | null;
224
184
  type JsonValue = JsonPrimitive | JsonValue[] | {
225
185
  [key: string]: JsonValue;
@@ -261,14 +221,55 @@ interface SystemEntry {
261
221
  config?: Record<string, JsonValue>;
262
222
  ontology?: OntologyScope;
263
223
  systems?: Record<string, SystemEntry>;
264
- /**
265
- * @deprecated Compatibility-only bridge for old tenant data and migration readers.
266
- * Author new semantic catalogs in `ontology` and local settings in `config`.
267
- */
268
- content?: Record<string, ContentNode>;
269
224
  subsystems?: Record<string, SystemEntry>;
270
225
  }
271
226
 
227
+ declare const LinkSchema: z.ZodObject<{
228
+ nodeId: z.ZodString;
229
+ kind: z.ZodEnum<{
230
+ links: "links";
231
+ affects: "affects";
232
+ effects: "effects";
233
+ actions: "actions";
234
+ reads: "reads";
235
+ writes: "writes";
236
+ emits: "emits";
237
+ triggers: "triggers";
238
+ uses: "uses";
239
+ approval: "approval";
240
+ contains: "contains";
241
+ references: "references";
242
+ maps_to: "maps_to";
243
+ governs: "governs";
244
+ originates_from: "originates_from";
245
+ applies_to: "applies_to";
246
+ uses_catalog: "uses_catalog";
247
+ }>;
248
+ }, z.core.$strip>;
249
+ type Link = z.infer<typeof LinkSchema>;
250
+
251
+ /**
252
+ * Time range selector for dashboard metrics
253
+ */
254
+ type TimeRange = '1h' | '24h' | '7d' | '30d';
255
+ /**
256
+ * ISO 8601 date range for API queries
257
+ */
258
+ interface TimeRangeDates {
259
+ startDate: string;
260
+ endDate: string;
261
+ }
262
+
263
+ /**
264
+ * Base Execution Engine type definitions
265
+ * Core types shared across all Execution Engine resources
266
+ */
267
+
268
+ declare const ResourceStatusColors: {
269
+ readonly dev: "var(--color-primary)";
270
+ readonly prod: "var(--color-success)";
271
+ };
272
+
272
273
  /**
273
274
  * Resource Registry type definitions
274
275
  */
@@ -318,30 +319,6 @@ interface ResourceDefinition {
318
319
  archived?: boolean;
319
320
  }
320
321
 
321
- declare const LinkSchema: z.ZodObject<{
322
- nodeId: z.ZodString;
323
- kind: z.ZodEnum<{
324
- links: "links";
325
- affects: "affects";
326
- effects: "effects";
327
- actions: "actions";
328
- reads: "reads";
329
- writes: "writes";
330
- emits: "emits";
331
- triggers: "triggers";
332
- uses: "uses";
333
- approval: "approval";
334
- contains: "contains";
335
- references: "references";
336
- maps_to: "maps_to";
337
- governs: "governs";
338
- originates_from: "originates_from";
339
- applies_to: "applies_to";
340
- uses_catalog: "uses_catalog";
341
- }>;
342
- }, z.core.$strip>;
343
- type Link = z.infer<typeof LinkSchema>;
344
-
345
322
  declare const ResourceCategorySchema: z.ZodEnum<{
346
323
  diagnostic: "diagnostic";
347
324
  production: "production";
@@ -1,3 +1,3 @@
1
- export { APIClientError, API_URL, DEBOUNCE_FILTER, DEBOUNCE_SLIDER, GC_TIME_LONG, GC_TIME_MEDIUM, GC_TIME_SHORT, LIMIT_ACTIVITY_FEED, OAUTH_FLOW_TIMEOUT, PAGE_SIZE_DEFAULT, REFETCH_INTERVAL_DASHBOARD, REFETCH_INTERVAL_REALTIME, REFETCH_INTERVAL_RUNNING, REFETCH_INTERVAL_RUNNING_FAST, SSE_CLOSE_GRACE_PERIOD, SSE_TOKEN_REFRESH_DELAY, STALE_TIME_ADMIN, STALE_TIME_DEFAULT, STALE_TIME_MONITORING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, debounce, formatChartAxisDate, formatDate, formatDateTime, formatErrorMessage, formatRelativeTime, formatTimeAgo, getErrorInfo, getErrorTitle, getResourceColor, getResourceIcon, getTimeRangeDates, getTimeRangeLabel, isAPIClientError, restoreConsole, setupBrowserMocks, suppressKnownWarnings, validateEmail } from '../chunk-2RJMVWFJ.js';
1
+ export { APIClientError, API_URL, DEBOUNCE_FILTER, DEBOUNCE_SLIDER, GC_TIME_LONG, GC_TIME_MEDIUM, GC_TIME_SHORT, LIMIT_ACTIVITY_FEED, OAUTH_FLOW_TIMEOUT, PAGE_SIZE_DEFAULT, REFETCH_INTERVAL_DASHBOARD, REFETCH_INTERVAL_REALTIME, REFETCH_INTERVAL_RUNNING, REFETCH_INTERVAL_RUNNING_FAST, SSE_CLOSE_GRACE_PERIOD, SSE_TOKEN_REFRESH_DELAY, STALE_TIME_ADMIN, STALE_TIME_DEFAULT, STALE_TIME_MONITORING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, debounce, formatChartAxisDate, formatDate, formatDateTime, formatErrorMessage, formatRelativeTime, formatTimeAgo, getErrorInfo, getErrorTitle, getResourceColor, getResourceIcon, getTimeRangeDates, getTimeRangeLabel, isAPIClientError, restoreConsole, setupBrowserMocks, suppressKnownWarnings, validateEmail } from '../chunk-GEFWMU26.js';
2
2
  export { ResourceStatusColors } from '../chunk-KRWALB24.js';
3
3
  import '../chunk-I2KLQ2HA.js';
@@ -1,4 +1,5 @@
1
1
  import { Draft } from 'immer';
2
+ import { UseBoundStore, StoreApi } from 'zustand';
2
3
 
3
4
  interface SSESliceState {
4
5
  sse: {
@@ -14,12 +15,12 @@ interface SSESliceState {
14
15
  setCommandQueueConnected: (connected: boolean) => void;
15
16
  setCommandQueueError: (error: string | null) => void;
16
17
  }
17
- type ImmerSet$2 = (updater: (state: Draft<any>) => void, ...rest: unknown[]) => void;
18
+ type ImmerSet$2<TState> = (updater: (state: Draft<TState>) => void, shouldReplace?: false, action?: never) => void;
18
19
  /** Resets the SSE slice fields in an Immer draft. Call inside your app's resetStore action. */
19
20
  declare function resetSSEState(state: Draft<{
20
21
  sse: SSESliceState['sse'];
21
22
  }>): void;
22
- declare function createSSESlice(set: ImmerSet$2): SSESliceState;
23
+ declare function createSSESlice<TState extends SSESliceState>(set: ImmerSet$2<TState>): SSESliceState;
23
24
 
24
25
  /**
25
26
  * Open string type — preset validation stays in the app layer.
@@ -43,12 +44,12 @@ interface ThemeSliceOptions {
43
44
  /** Default color scheme when no localStorage entry exists. Defaults to 'dark'. */
44
45
  defaultColorScheme?: ThemeColorScheme;
45
46
  }
46
- type ImmerSet$1 = (updater: (state: Draft<any>) => void, ...rest: unknown[]) => void;
47
+ type ImmerSet$1<TState> = (updater: (state: Draft<TState>) => void, shouldReplace?: false, action?: never) => void;
47
48
  /** Resets the theme slice fields in an Immer draft. Call inside your app's resetStore action. */
48
49
  declare function resetThemeState(state: Draft<{
49
50
  theme: ThemeSliceState['theme'];
50
51
  }>, options?: ThemeSliceOptions): void;
51
- declare function createThemeSlice(set: ImmerSet$1, options?: ThemeSliceOptions): ThemeSliceState;
52
+ declare function createThemeSlice<TState extends ThemeSliceState>(set: ImmerSet$1<TState>, options?: ThemeSliceOptions): ThemeSliceState;
52
53
 
53
54
  /**
54
55
  * Time range selector for dashboard metrics
@@ -61,12 +62,24 @@ interface TimeRangeSliceState {
61
62
  };
62
63
  setTimeRange: (value: TimeRange) => void;
63
64
  }
64
- type ImmerSet = (updater: (state: Draft<any>) => void, ...rest: unknown[]) => void;
65
+ type ImmerSet<TState> = (updater: (state: Draft<TState>) => void, shouldReplace?: false, action?: never) => void;
65
66
  /** Resets the timeRange slice fields in an Immer draft. Call inside your app's resetStore action. */
66
67
  declare function resetTimeRangeState(state: Draft<{
67
68
  timeRange: TimeRangeSliceState['timeRange'];
68
69
  }>): void;
69
- declare function createTimeRangeSlice(set: ImmerSet): TimeRangeSliceState;
70
+ declare function createTimeRangeSlice<TState extends TimeRangeSliceState>(set: ImmerSet<TState>): TimeRangeSliceState;
70
71
 
71
- export { createSSESlice, createThemeSlice, createTimeRangeSlice, resetSSEState, resetThemeState, resetTimeRangeState };
72
- export type { SSESliceState, ThemeColorScheme, ThemePresetName, ThemeSliceOptions, ThemeSliceState, TimeRangeSliceState };
72
+ interface ElevasisAppState extends SSESliceState, ThemeSliceState, TimeRangeSliceState {
73
+ resetStore: () => void;
74
+ }
75
+ interface CreateElevasisAppStoreOptions {
76
+ defaultPreset?: ThemePresetName;
77
+ defaultColorScheme?: ThemeColorScheme;
78
+ devtoolsName?: string;
79
+ devtoolsEnabled?: boolean;
80
+ }
81
+ type ElevasisAppStore = UseBoundStore<StoreApi<ElevasisAppState>>;
82
+ declare function createElevasisAppStore(options?: CreateElevasisAppStoreOptions): ElevasisAppStore;
83
+
84
+ export { createElevasisAppStore, createSSESlice, createThemeSlice, createTimeRangeSlice, resetSSEState, resetThemeState, resetTimeRangeState };
85
+ export type { CreateElevasisAppStoreOptions, ElevasisAppState, ElevasisAppStore, SSESliceState, ThemeColorScheme, ThemePresetName, ThemeSliceOptions, ThemeSliceState, TimeRangeSliceState };
@@ -1,4 +1,7 @@
1
1
  import '../chunk-I2KLQ2HA.js';
2
+ import { create } from 'zustand';
3
+ import { devtools } from 'zustand/middleware';
4
+ import { immer } from 'zustand/middleware/immer';
2
5
 
3
6
  // src/zustand/slices/sse.ts
4
7
  function resetSSEState(state) {
@@ -94,4 +97,32 @@ function createTimeRangeSlice(set) {
94
97
  };
95
98
  }
96
99
 
97
- export { createSSESlice, createThemeSlice, createTimeRangeSlice, resetSSEState, resetThemeState, resetTimeRangeState };
100
+ // src/zustand/appStore.ts
101
+ function createElevasisAppStore(options = {}) {
102
+ const defaultPreset = options.defaultPreset ?? "tactical";
103
+ const defaultColorScheme = options.defaultColorScheme ?? "dark";
104
+ return create()(
105
+ devtools(
106
+ immer((set) => ({
107
+ ...createSSESlice(set),
108
+ ...createThemeSlice(set, { defaultPreset, defaultColorScheme }),
109
+ ...createTimeRangeSlice(set),
110
+ resetStore: () => set(
111
+ (state) => {
112
+ resetSSEState(state);
113
+ resetThemeState(state, { defaultPreset, defaultColorScheme });
114
+ resetTimeRangeState(state);
115
+ },
116
+ void 0,
117
+ "app/resetStore"
118
+ )
119
+ })),
120
+ {
121
+ name: options.devtoolsName ?? "ElevasisAppStore",
122
+ enabled: options.devtoolsEnabled ?? import.meta.env?.DEV ?? false
123
+ }
124
+ )
125
+ );
126
+ }
127
+
128
+ export { createElevasisAppStore, createSSESlice, createThemeSlice, createTimeRangeSlice, resetSSEState, resetThemeState, resetTimeRangeState };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elevasis/ui",
3
- "version": "2.33.2",
3
+ "version": "2.35.0",
4
4
  "description": "UI components and platform-aware hooks for building custom frontends on the Elevasis platform",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -253,11 +253,11 @@
253
253
  "typescript": "5.9.2",
254
254
  "vite": "^7.0.0",
255
255
  "vitest": "^3.2.4",
256
- "@elevasis/sdk": "1.22.1",
257
- "@repo/elevasis-core": "1.0.0",
258
- "@repo/eslint-config": "0.0.0",
256
+ "@elevasis/sdk": "1.24.0",
259
257
  "@repo/typescript-config": "0.0.0",
260
- "@repo/core": "0.24.1"
258
+ "@repo/core": "0.27.0",
259
+ "@repo/elevasis-core": "1.0.0",
260
+ "@repo/eslint-config": "0.0.0"
261
261
  },
262
262
  "dependencies": {
263
263
  "@dagrejs/dagre": "^1.1.4",