@elevasis/ui 2.30.0 → 2.32.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 (130) hide show
  1. package/dist/api/index.js +2 -2
  2. package/dist/app/index.css +38 -0
  3. package/dist/app/index.d.ts +190 -9
  4. package/dist/app/index.js +7 -6
  5. package/dist/charts/index.js +4 -5
  6. package/dist/{chunk-HXZQWMKE.js → chunk-2RJMVWFJ.js} +1 -6
  7. package/dist/{chunk-4VQ2PXMI.js → chunk-3FV6HBXS.js} +4 -4
  8. package/dist/{chunk-CW3UNAF2.js → chunk-4DYOXEH6.js} +410 -5
  9. package/dist/{chunk-JKTPRYGV.js → chunk-4MFNGNHF.js} +123 -192
  10. package/dist/{chunk-HYLERWRO.js → chunk-4QK76KIF.js} +7 -7
  11. package/dist/chunk-5FJJ72HU.js +13 -0
  12. package/dist/chunk-5J4PDX26.js +112 -0
  13. package/dist/{chunk-4SY6BTVZ.js → chunk-6DWD423K.js} +12 -9
  14. package/dist/{chunk-3GV5NHSS.js → chunk-7KZINJLP.js} +78 -232
  15. package/dist/{chunk-6WXDE5LZ.js → chunk-EPTHX4VZ.js} +1 -1
  16. package/dist/{chunk-6EFVZV6X.js → chunk-GCOQ3TBG.js} +243 -254
  17. package/dist/{chunk-LRZFLK2F.js → chunk-IQHU7O5Y.js} +4 -4
  18. package/dist/{chunk-X2SUMO3P.js → chunk-IZWTVFJ2.js} +16 -3
  19. package/dist/{chunk-IKQ42WHU.js → chunk-JFL3GRD4.js} +1 -1
  20. package/dist/{chunk-4FZYEEPK.js → chunk-LLRXA7D7.js} +5 -6
  21. package/dist/chunk-MOY4VOHF.js +347 -0
  22. package/dist/{chunk-XQQEKWTL.js → chunk-N55DVMAG.js} +6 -2
  23. package/dist/{chunk-7E3FUTND.js → chunk-ND5TDV2J.js} +1 -1
  24. package/dist/{chunk-WF227UBV.js → chunk-QQHOKTJA.js} +4 -4
  25. package/dist/{chunk-A7B7HLDF.js → chunk-QTI3KC7D.js} +5884 -515
  26. package/dist/chunk-QXCDKE2O.js +486 -0
  27. package/dist/chunk-R2XR4FCV.js +48 -0
  28. package/dist/chunk-R66W5UDG.js +26 -0
  29. package/dist/{chunk-T5Z7G2J2.js → chunk-RQA2EVN3.js} +6 -16
  30. package/dist/{chunk-SKXXT3E2.js → chunk-RQTWIXJ5.js} +4 -4
  31. package/dist/chunk-T35FWDAB.js +4342 -0
  32. package/dist/{chunk-DWK2QIAK.js → chunk-TYRUKGGD.js} +1 -1
  33. package/dist/{chunk-CN2HC4D4.js → chunk-UFTM5SZZ.js} +2 -2
  34. package/dist/{chunk-JCGD4GM6.js → chunk-UROTM5OR.js} +14 -1
  35. package/dist/{chunk-6YT4IKJ7.js → chunk-VNAZTCHA.js} +15 -0
  36. package/dist/{chunk-KVJ3LFH2.js → chunk-VNFR57DF.js} +4 -24
  37. package/dist/{chunk-SBCIB5TZ.js → chunk-VRNMNB3O.js} +6 -7
  38. package/dist/chunk-WQPX44YM.js +1626 -0
  39. package/dist/{chunk-T2PAD63Y.js → chunk-XZGSCABI.js} +1 -1
  40. package/dist/chunk-YLQEVSOR.js +299 -0
  41. package/dist/{chunk-P5WYW2GI.js → chunk-ZQOKIGZP.js} +152 -306
  42. package/dist/components/index.css +38 -0
  43. package/dist/components/index.d.ts +334 -38
  44. package/dist/components/index.js +42 -42
  45. package/dist/components/navigation/index.css +38 -0
  46. package/dist/components/navigation/index.js +3 -2
  47. package/dist/execution/index.d.ts +9 -3
  48. package/dist/features/auth/index.css +38 -0
  49. package/dist/features/auth/index.d.ts +212 -14
  50. package/dist/features/auth/index.js +41 -9
  51. package/dist/features/clients/index.css +649 -0
  52. package/dist/features/clients/index.d.ts +86 -0
  53. package/dist/features/clients/index.js +720 -0
  54. package/dist/features/crm/index.css +38 -0
  55. package/dist/features/crm/index.d.ts +228 -20
  56. package/dist/features/crm/index.js +20 -17
  57. package/dist/features/dashboard/index.css +38 -0
  58. package/dist/features/dashboard/index.d.ts +78 -3
  59. package/dist/features/dashboard/index.js +16 -16
  60. package/dist/features/delivery/index.css +38 -0
  61. package/dist/features/delivery/index.d.ts +201 -18
  62. package/dist/features/delivery/index.js +20 -18
  63. package/dist/features/knowledge/index.css +38 -0
  64. package/dist/features/knowledge/index.d.ts +20 -18
  65. package/dist/features/knowledge/index.js +116 -578
  66. package/dist/features/lead-gen/index.css +38 -0
  67. package/dist/features/lead-gen/index.d.ts +59 -51
  68. package/dist/features/lead-gen/index.js +20 -18
  69. package/dist/features/monitoring/index.css +38 -0
  70. package/dist/features/monitoring/index.d.ts +20 -18
  71. package/dist/features/monitoring/index.js +19 -18
  72. package/dist/features/monitoring/requests/index.css +38 -0
  73. package/dist/features/monitoring/requests/index.d.ts +21 -19
  74. package/dist/features/monitoring/requests/index.js +17 -15
  75. package/dist/features/operations/index.css +38 -0
  76. package/dist/features/operations/index.d.ts +945 -45
  77. package/dist/features/operations/index.js +24 -26
  78. package/dist/features/seo/index.d.ts +20 -18
  79. package/dist/features/seo/index.js +1 -1
  80. package/dist/features/settings/index.css +38 -0
  81. package/dist/features/settings/index.d.ts +201 -18
  82. package/dist/features/settings/index.js +18 -16
  83. package/dist/hooks/delivery/index.css +38 -0
  84. package/dist/hooks/delivery/index.d.ts +200 -0
  85. package/dist/hooks/delivery/index.js +2 -2
  86. package/dist/hooks/index.css +38 -0
  87. package/dist/hooks/index.d.ts +825 -47
  88. package/dist/hooks/index.js +14 -13
  89. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +194 -3
  90. package/dist/hooks/published.css +38 -0
  91. package/dist/hooks/published.d.ts +825 -47
  92. package/dist/hooks/published.js +14 -13
  93. package/dist/index.css +38 -0
  94. package/dist/index.d.ts +1506 -1212
  95. package/dist/index.js +15 -14
  96. package/dist/initialization/index.d.ts +181 -0
  97. package/dist/knowledge/index.d.ts +813 -1068
  98. package/dist/knowledge/index.js +7370 -2869
  99. package/dist/{chunk-CLUP5H3C.js → knowledge-search-index-5KYPO746.js} +441 -963
  100. package/dist/layout/index.d.ts +6 -0
  101. package/dist/layout/index.js +4 -5
  102. package/dist/organization/index.css +38 -0
  103. package/dist/profile/index.d.ts +181 -0
  104. package/dist/provider/index.css +38 -0
  105. package/dist/provider/index.d.ts +909 -1156
  106. package/dist/provider/index.js +11 -10
  107. package/dist/provider/published.css +38 -0
  108. package/dist/provider/published.d.ts +906 -1153
  109. package/dist/provider/published.js +7 -6
  110. package/dist/supabase/index.d.ts +349 -0
  111. package/dist/test-utils/index.d.ts +16 -9
  112. package/dist/test-utils/index.js +39 -32
  113. package/dist/test-utils/setup.js +1 -1
  114. package/dist/theme/index.js +3 -3
  115. package/dist/theme/presets/index.js +1 -1
  116. package/dist/types/index.d.ts +378 -5
  117. package/dist/utils/index.d.ts +78 -3
  118. package/dist/utils/index.js +1 -1
  119. package/dist/vite/index.js +2 -2
  120. package/dist/vite-plugin-knowledge/index.js +1 -1
  121. package/package.json +47 -37
  122. package/src/provider/README.md +5 -5
  123. package/dist/chunk-2DIYILF7.js +0 -413
  124. package/dist/chunk-3MDNBHVB.js +0 -3868
  125. package/dist/chunk-6IXOKUBC.js +0 -347
  126. package/dist/chunk-AKOD52HS.js +0 -739
  127. package/dist/chunk-ECNNI3NT.js +0 -6
  128. package/dist/chunk-JDNEWB5F.js +0 -10
  129. package/dist/chunk-NITGGYH2.js +0 -476
  130. package/dist/chunk-OAVTMITG.js +0 -13
@@ -79,6 +79,13 @@ declare function debounce<T extends (...args: Parameters<T>) => void>(fn: T, wai
79
79
  cancel: () => void;
80
80
  };
81
81
 
82
+ declare const ResourceGovernanceStatusSchema: z.ZodEnum<{
83
+ deprecated: "deprecated";
84
+ active: "active";
85
+ archived: "archived";
86
+ }>;
87
+ type ResourceGovernanceStatus = z.infer<typeof ResourceGovernanceStatusSchema>;
88
+
82
89
  /**
83
90
  * Time range selector for dashboard metrics
84
91
  */
@@ -101,6 +108,62 @@ declare const ResourceStatusColors: {
101
108
  readonly prod: "var(--color-success)";
102
109
  };
103
110
 
111
+ /**
112
+ * Placeholder discriminated union for ContentNode (Wave 1A).
113
+ * Wave 2A wires concrete (kind, type) pairs via the registry.
114
+ *
115
+ * Per D2: unregistered (kind, type) pairs are allowed and pass through validation.
116
+ * Per L14: every node carries BOTH `kind` and `type`.
117
+ */
118
+ declare const ContentNodeSchema: z.ZodObject<{
119
+ label: z.ZodString;
120
+ description: z.ZodOptional<z.ZodString>;
121
+ order: z.ZodOptional<z.ZodNumber>;
122
+ parentContentId: z.ZodOptional<z.ZodString>;
123
+ kind: z.ZodString;
124
+ type: z.ZodString;
125
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
126
+ }, z.core.$strip>;
127
+ type ContentNode = z.infer<typeof ContentNodeSchema>;
128
+
129
+ /** Explicit interface needed to annotate the recursive SystemEntrySchema. */
130
+ interface SystemEntry {
131
+ id: string;
132
+ label?: string;
133
+ title?: string;
134
+ description?: string;
135
+ kind?: 'product' | 'operational' | 'platform' | 'diagnostic';
136
+ parentSystemId?: string;
137
+ ui?: {
138
+ path: string;
139
+ surfaces: string[];
140
+ icon?: string;
141
+ order?: number;
142
+ };
143
+ lifecycle?: 'draft' | 'beta' | 'active' | 'deprecated' | 'archived';
144
+ responsibleRoleId?: string;
145
+ governedByKnowledge?: string[];
146
+ actions?: {
147
+ actionId: string;
148
+ intent: 'exposes' | 'consumes';
149
+ invocation?: unknown;
150
+ }[];
151
+ policies?: string[];
152
+ drivesGoals?: string[];
153
+ /** @deprecated Use lifecycle. Accepted for one publish cycle. */
154
+ status?: 'active' | 'deprecated' | 'archived';
155
+ path?: string;
156
+ icon?: string;
157
+ color?: string;
158
+ uiPosition?: 'sidebar-primary' | 'sidebar-bottom';
159
+ enabled?: boolean;
160
+ devOnly?: boolean;
161
+ requiresAdmin?: boolean;
162
+ order: number;
163
+ content?: Record<string, ContentNode>;
164
+ subsystems?: Record<string, SystemEntry>;
165
+ }
166
+
104
167
  /**
105
168
  * Resource Registry type definitions
106
169
  */
@@ -114,6 +177,7 @@ type ResourceStatus = 'dev' | 'prod';
114
177
  * Used as the discriminator field in ResourceDefinition
115
178
  */
116
179
  type ResourceType = 'agent' | 'workflow' | 'trigger' | 'integration' | 'external' | 'human';
180
+ type ResourceSystemSummary = Pick<SystemEntry, 'id' | 'title' | 'description' | 'kind' | 'lifecycle'>;
117
181
  /**
118
182
  * Base interface for ALL platform resources
119
183
  * Shared by both executable (agents, workflows) and non-executable (triggers, integrations, etc.) resources
@@ -139,6 +203,12 @@ interface ResourceDefinition {
139
203
  sessionCapable?: boolean;
140
204
  /** Whether the resource is local (monorepo) or remote (externally deployed) */
141
205
  origin?: 'local' | 'remote';
206
+ /** OM System membership — dot-separated system path (e.g. "sys.lead-gen"), when backed by a Resource descriptor */
207
+ systemPath?: string;
208
+ /** Display metadata for the owning OM System */
209
+ system?: ResourceSystemSummary;
210
+ /** Governance lifecycle status from the OM Resource descriptor */
211
+ governanceStatus?: ResourceGovernanceStatus;
142
212
  /** Whether this resource is archived and should be excluded from registration and deployment */
143
213
  archived?: boolean;
144
214
  }
@@ -146,20 +216,25 @@ interface ResourceDefinition {
146
216
  declare const LinkSchema: z.ZodObject<{
147
217
  nodeId: z.ZodString;
148
218
  kind: z.ZodEnum<{
219
+ links: "links";
220
+ affects: "affects";
221
+ emits: "emits";
149
222
  contains: "contains";
150
223
  references: "references";
151
- exposes: "exposes";
152
224
  maps_to: "maps_to";
153
- "operates-on": "operates-on";
154
225
  uses: "uses";
155
226
  governs: "governs";
227
+ originates_from: "originates_from";
228
+ triggers: "triggers";
229
+ applies_to: "applies_to";
230
+ effects: "effects";
156
231
  }>;
157
232
  }, z.core.$strip>;
158
233
  type Link = z.infer<typeof LinkSchema>;
159
234
 
160
235
  declare const ResourceCategorySchema: z.ZodEnum<{
161
- production: "production";
162
236
  diagnostic: "diagnostic";
237
+ production: "production";
163
238
  internal: "internal";
164
239
  testing: "testing";
165
240
  }>;
@@ -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-HXZQWMKE.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-2RJMVWFJ.js';
2
2
  export { ResourceStatusColors } from '../chunk-KRWALB24.js';
3
3
  import '../chunk-I2KLQ2HA.js';
@@ -1,5 +1,5 @@
1
- import { knowledgePlugin } from '../chunk-CN2HC4D4.js';
2
- export { knowledgePlugin } from '../chunk-CN2HC4D4.js';
1
+ import { knowledgePlugin } from '../chunk-UFTM5SZZ.js';
2
+ export { knowledgePlugin } from '../chunk-UFTM5SZZ.js';
3
3
  import '../chunk-I2KLQ2HA.js';
4
4
 
5
5
  // src/vite/index.ts
@@ -1,2 +1,2 @@
1
- export { knowledgePlugin } from '../chunk-CN2HC4D4.js';
1
+ export { knowledgePlugin } from '../chunk-UFTM5SZZ.js';
2
2
  import '../chunk-I2KLQ2HA.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elevasis/ui",
3
- "version": "2.30.0",
3
+ "version": "2.32.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",
@@ -11,6 +11,44 @@
11
11
  "dist",
12
12
  "src/**/README.md"
13
13
  ],
14
+ "devDependencies": {
15
+ "@mantine/charts": "8.2.7",
16
+ "@mantine/notifications": "8.2.7",
17
+ "@mantine/tiptap": "8.2.7",
18
+ "@mdx-js/mdx": "^3.1.1",
19
+ "@testing-library/jest-dom": "^6.9.1",
20
+ "@testing-library/react": "^16.3.0",
21
+ "@tiptap/extension-link": "^2.11.7",
22
+ "@tiptap/extension-placeholder": "^2.11.7",
23
+ "@tiptap/react": "^2.11.7",
24
+ "@tiptap/starter-kit": "^2.11.7",
25
+ "@types/react": "^19.2.2",
26
+ "@types/react-dom": "^19.1.9",
27
+ "cytoscape": "^3.33.1",
28
+ "cytoscape-fcose": "^2.2.0",
29
+ "globals": "^16.3.0",
30
+ "msw": "^2.11.0",
31
+ "recharts": "^3.2.1",
32
+ "remark-gfm": "^4.0.1",
33
+ "rollup": "^4.59.0",
34
+ "rollup-plugin-dts": "^6.3.0",
35
+ "tsup": "^8.0.0",
36
+ "typescript": "5.9.2",
37
+ "vite": "^7.0.0",
38
+ "vitest": "^3.2.4",
39
+ "@elevasis/sdk": "1.20.2",
40
+ "@repo/elevasis-core": "1.0.0",
41
+ "@repo/eslint-config": "0.0.0",
42
+ "@repo/core": "0.23.0",
43
+ "@repo/typescript-config": "0.0.0"
44
+ },
45
+ "dependencies": {
46
+ "@dagrejs/dagre": "^1.1.4",
47
+ "@microsoft/fetch-event-source": "^2.0.1",
48
+ "mantine-form-zod-resolver": "^1.3.0",
49
+ "prism-react-renderer": "^2.4.1",
50
+ "react-json-pretty": "^2.2.0"
51
+ },
14
52
  "exports": {
15
53
  "./provider": {
16
54
  "types": "./dist/provider/published.d.ts",
@@ -48,6 +86,10 @@
48
86
  "types": "./dist/features/auth/index.d.ts",
49
87
  "import": "./dist/features/auth/index.js"
50
88
  },
89
+ "./features/clients": {
90
+ "types": "./dist/features/clients/index.d.ts",
91
+ "import": "./dist/features/clients/index.js"
92
+ },
51
93
  "./features/crm": {
52
94
  "types": "./dist/features/crm/index.d.ts",
53
95
  "import": "./dist/features/crm/index.js"
@@ -205,6 +247,7 @@
205
247
  "zod": "^4.1.0",
206
248
  "zustand": "^5.0.5",
207
249
  "cytoscape": "^3.33.1",
250
+ "cytoscape-fcose": "^2.2.0",
208
251
  "@mantine/core": "8.2.7",
209
252
  "@mantine/hooks": "8.2.7",
210
253
  "@mantine/charts": "8.2.7",
@@ -223,42 +266,6 @@
223
266
  "@testing-library/jest-dom": "^6.9.1",
224
267
  "msw": "^2.11.0"
225
268
  },
226
- "devDependencies": {
227
- "@mantine/charts": "8.2.7",
228
- "@mantine/notifications": "8.2.7",
229
- "@mantine/tiptap": "8.2.7",
230
- "@tiptap/extension-link": "^2.11.7",
231
- "@tiptap/extension-placeholder": "^2.11.7",
232
- "@tiptap/react": "^2.11.7",
233
- "@tiptap/starter-kit": "^2.11.7",
234
- "@mdx-js/mdx": "^3.1.1",
235
- "@types/react": "^19.2.2",
236
- "@types/react-dom": "^19.1.9",
237
- "cytoscape": "^3.33.1",
238
- "globals": "^16.3.0",
239
- "recharts": "^3.2.1",
240
- "remark-gfm": "^4.0.1",
241
- "rollup": "^4.59.0",
242
- "rollup-plugin-dts": "^6.3.0",
243
- "tsup": "^8.0.0",
244
- "typescript": "5.9.2",
245
- "vite": "^7.0.0",
246
- "@testing-library/react": "^16.3.0",
247
- "@testing-library/jest-dom": "^6.9.1",
248
- "msw": "^2.11.0",
249
- "vitest": "^3.2.4",
250
- "@repo/core": "0.21.0",
251
- "@elevasis/sdk": "1.19.0",
252
- "@repo/typescript-config": "0.0.0",
253
- "@repo/elevasis-core": "1.0.0",
254
- "@repo/eslint-config": "0.0.0"
255
- },
256
- "dependencies": {
257
- "@dagrejs/dagre": "^1.1.4",
258
- "@microsoft/fetch-event-source": "^2.0.1",
259
- "mantine-form-zod-resolver": "^1.3.0",
260
- "react-json-pretty": "^2.2.0"
261
- },
262
269
  "peerDependenciesMeta": {
263
270
  "@mantine/core": {
264
271
  "optional": true
@@ -284,6 +291,9 @@
284
291
  "cytoscape": {
285
292
  "optional": true
286
293
  },
294
+ "cytoscape-fcose": {
295
+ "optional": true
296
+ },
287
297
  "recharts": {
288
298
  "optional": true
289
299
  },
@@ -1,16 +1,16 @@
1
1
  # Provider
2
2
 
3
- The provider surface composes the shared Elevasis service, feature, appearance, notification, and UI providers.
3
+ The provider surface composes the shared Elevasis service, system, appearance, notification, and UI providers.
4
4
 
5
5
  ## Exports
6
6
 
7
7
  The following are exported from `published.ts`, which is the external consumer surface for `@elevasis/ui/provider`:
8
8
 
9
9
  - `ElevasisCoreProvider`
10
- - `ElevasisFeaturesProvider`
11
- - `useElevasisFeatures`
12
- - `useOptionalElevasisFeatures`
13
- - `FeatureShell`
10
+ - `ElevasisSystemsProvider`
11
+ - `useElevasisSystems`
12
+ - `useOptionalElevasisSystems`
13
+ - `SystemShell`
14
14
  - `AppearanceProvider`
15
15
  - `useAppearance`
16
16
  - `ElevasisServiceProvider`