@elevasis/ui 2.12.0 → 2.14.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 (53) hide show
  1. package/dist/app/index.js +5 -5
  2. package/dist/chunk-442LZPIR.js +5 -0
  3. package/dist/{chunk-PXFV47B3.js → chunk-5IBTTMWX.js} +3 -3
  4. package/dist/{chunk-ETWKPFOO.js → chunk-6RWMRQN5.js} +1 -1
  5. package/dist/{chunk-F6SMVMFC.js → chunk-A7346I7H.js} +3 -3
  6. package/dist/{chunk-ZKCQEHEJ.js → chunk-C56A2MAS.js} +357 -26
  7. package/dist/{chunk-ISVFJCPP.js → chunk-ETQRV5A6.js} +1 -1
  8. package/dist/{chunk-V7XHGJQZ.js → chunk-FL67C3WY.js} +6 -1
  9. package/dist/{chunk-235RO24Z.js → chunk-IO75JNQE.js} +8 -3
  10. package/dist/{chunk-WM7JTTPX.js → chunk-JAUU6TZU.js} +74 -6
  11. package/dist/{chunk-YEX4MQSY.js → chunk-M25JL54Z.js} +3 -3
  12. package/dist/{chunk-MISBW6WW.js → chunk-PPKJKM3U.js} +1 -1
  13. package/dist/{chunk-7PLBPEBW.js → chunk-QFBENUS2.js} +2 -2
  14. package/dist/{chunk-TXZXMTZB.js → chunk-QFEQWAPQ.js} +7 -4
  15. package/dist/{chunk-TYWZABTP.js → chunk-R73EHHPN.js} +89 -46
  16. package/dist/{chunk-GHCYUZZE.js → chunk-TAUPDLQ7.js} +3 -3
  17. package/dist/{chunk-F4TPY6YL.js → chunk-WLOQ4IBG.js} +9 -3
  18. package/dist/{chunk-R7WLWGPO.js → chunk-ZB5GAV7J.js} +1 -1
  19. package/dist/components/index.d.ts +16 -10
  20. package/dist/components/index.js +20 -20
  21. package/dist/features/auth/index.d.ts +7 -4
  22. package/dist/features/auth/index.js +2 -2
  23. package/dist/features/crm/index.d.ts +7 -4
  24. package/dist/features/crm/index.js +7 -7
  25. package/dist/features/dashboard/index.js +8 -8
  26. package/dist/features/delivery/index.d.ts +7 -4
  27. package/dist/features/delivery/index.js +8 -8
  28. package/dist/features/lead-gen/index.js +12 -12
  29. package/dist/features/monitoring/index.js +9 -9
  30. package/dist/features/monitoring/requests/index.d.ts +125 -0
  31. package/dist/features/operations/index.js +11 -11
  32. package/dist/features/settings/index.d.ts +7 -4
  33. package/dist/features/settings/index.js +9 -9
  34. package/dist/hooks/index.d.ts +137 -17
  35. package/dist/hooks/index.js +6 -6
  36. package/dist/hooks/published.d.ts +137 -17
  37. package/dist/hooks/published.js +6 -6
  38. package/dist/index.d.ts +182 -16
  39. package/dist/index.js +7 -7
  40. package/dist/initialization/index.d.ts +7 -4
  41. package/dist/layout/index.d.ts +9 -2
  42. package/dist/layout/index.js +2 -2
  43. package/dist/organization/index.js +1 -1
  44. package/dist/profile/index.d.ts +7 -4
  45. package/dist/provider/index.d.ts +47 -1
  46. package/dist/provider/index.js +5 -5
  47. package/dist/provider/published.d.ts +47 -1
  48. package/dist/provider/published.js +2 -2
  49. package/dist/supabase/index.d.ts +14 -8
  50. package/dist/theme/index.js +3 -3
  51. package/dist/types/index.d.ts +10 -7
  52. package/package.json +6 -2
  53. package/dist/chunk-G2TDX3W6.js +0 -5
@@ -1,19 +1,19 @@
1
1
  export { createTestFeaturesProvider } from '../chunk-DKQQK3WX.js';
2
- export { ElevasisUIProvider } from '../chunk-PXFV47B3.js';
3
- import '../chunk-TYWZABTP.js';
4
- import '../chunk-F4TPY6YL.js';
2
+ export { ElevasisUIProvider } from '../chunk-5IBTTMWX.js';
3
+ import '../chunk-R73EHHPN.js';
4
+ import '../chunk-WLOQ4IBG.js';
5
5
  export { ElevasisFeaturesProvider, FeatureShell, useElevasisFeatures, useOptionalElevasisFeatures } from '../chunk-C7BX547M.js';
6
6
  import '../chunk-RX4UWZZR.js';
7
7
  import '../chunk-SQQGLGHW.js';
8
8
  import '../chunk-3KMDHCAR.js';
9
9
  import '../chunk-NYBEU5TE.js';
10
- export { ElevasisCoreProvider, NotificationProvider, useNotificationAdapter } from '../chunk-R7WLWGPO.js';
10
+ export { ElevasisCoreProvider, NotificationProvider, useNotificationAdapter } from '../chunk-ZB5GAV7J.js';
11
11
  import '../chunk-SZHARWKU.js';
12
12
  import '../chunk-NVOCKXUQ.js';
13
13
  import '../chunk-2IFYDILW.js';
14
14
  import '../chunk-ELJIFLCB.js';
15
15
  import '../chunk-L4XXM55J.js';
16
- import '../chunk-V7XHGJQZ.js';
16
+ import '../chunk-FL67C3WY.js';
17
17
  export { AppearanceProvider, useAppearance } from '../chunk-QJ2KCHKX.js';
18
18
  import '../chunk-DT3QYZVU.js';
19
19
  import '../chunk-SLVC5OJ2.js';
@@ -423,12 +423,58 @@ declare const OrganizationModelSchema = OrganizationModelSchemaBase.superRefine(
423
423
  addIssue(
424
424
  ctx,
425
425
  ['navigation', 'surfaces', surfaceIndex, 'resourceIds', resourceIndex],
426
- `Surface "${surface.id}" references resource "${resourceId}" but that resource mapping does not include surface "${surface.id}"`
426
+ `Surface "${surface.id}" references resource "${resourceId}" but that surface does not include resource "${surface.id}"`
427
427
  )
428
428
  }
429
429
  })
430
430
  })
431
431
 
432
+ // Offerings -> CustomerSegment cross-ref: targetSegmentIds must resolve
433
+ const segmentsById = new Map(model.customers.segments.map((seg) => [seg.id, seg]))
434
+ model.offerings.products.forEach((product, productIndex) => {
435
+ product.targetSegmentIds.forEach((segmentId, segmentIndex) => {
436
+ if (!segmentsById.has(segmentId)) {
437
+ addIssue(
438
+ ctx,
439
+ ['offerings', 'products', productIndex, 'targetSegmentIds', segmentIndex],
440
+ `Product "${product.id}" references unknown customer segment "${segmentId}"`
441
+ )
442
+ }
443
+ })
444
+
445
+ // Offerings -> Feature cross-ref: deliveryFeatureId must resolve (when present)
446
+ if (product.deliveryFeatureId !== undefined && !featuresById.has(product.deliveryFeatureId)) {
447
+ addIssue(
448
+ ctx,
449
+ ['offerings', 'products', productIndex, 'deliveryFeatureId'],
450
+ `Product "${product.id}" references unknown delivery feature "${product.deliveryFeatureId}"`
451
+ )
452
+ }
453
+ })
454
+
455
+ // Goals -> period-range validation: periodEnd must be strictly after periodStart
456
+ model.goals.objectives.forEach((objective, index) => {
457
+ if (objective.periodEnd <= objective.periodStart) {
458
+ addIssue(
459
+ ctx,
460
+ ['goals', 'objectives', index, 'periodEnd'],
461
+ `Goal "${objective.id}" has periodEnd "${objective.periodEnd}" which must be strictly after periodStart "${objective.periodStart}"`
462
+ )
463
+ }
464
+ })
465
+
466
+ // Roles -> reportsToId cross-ref: each reportsToId must resolve to another role in the same collection
467
+ const rolesById = new Map(model.roles.roles.map((role) => [role.id, role]))
468
+ model.roles.roles.forEach((role, roleIndex) => {
469
+ if (role.reportsToId !== undefined && !rolesById.has(role.reportsToId)) {
470
+ addIssue(
471
+ ctx,
472
+ ['roles', 'roles', roleIndex, 'reportsToId'],
473
+ `Role "${role.id}" references unknown reportsToId "${role.reportsToId}"`
474
+ )
475
+ }
476
+ })
477
+
432
478
  // ResourceMapping -> Feature and Surface bidirectional validation
433
479
  model.resourceMappings.forEach((resourceMapping, resourceIndex) => {
434
480
  resourceMapping.featureIds.forEach((featureId, featureIndex) => {
@@ -3,13 +3,13 @@ import '../chunk-RX4UWZZR.js';
3
3
  import '../chunk-SQQGLGHW.js';
4
4
  import '../chunk-3KMDHCAR.js';
5
5
  import '../chunk-NYBEU5TE.js';
6
- export { ElevasisCoreProvider, NotificationProvider, useNotificationAdapter } from '../chunk-R7WLWGPO.js';
6
+ export { ElevasisCoreProvider, NotificationProvider, useNotificationAdapter } from '../chunk-ZB5GAV7J.js';
7
7
  import '../chunk-SZHARWKU.js';
8
8
  import '../chunk-NVOCKXUQ.js';
9
9
  import '../chunk-2IFYDILW.js';
10
10
  import '../chunk-ELJIFLCB.js';
11
11
  import '../chunk-L4XXM55J.js';
12
- import '../chunk-V7XHGJQZ.js';
12
+ import '../chunk-FL67C3WY.js';
13
13
  export { AppearanceProvider, useAppearance } from '../chunk-QJ2KCHKX.js';
14
14
  import '../chunk-DT3QYZVU.js';
15
15
  import '../chunk-SLVC5OJ2.js';
@@ -2069,7 +2069,7 @@ type Database = {
2069
2069
  }
2070
2070
  ];
2071
2071
  };
2072
- reported_issues: {
2072
+ reported_requests: {
2073
2073
  Row: {
2074
2074
  affected_page: string | null;
2075
2075
  category: string;
@@ -2088,6 +2088,7 @@ type Database = {
2088
2088
  status: string;
2089
2089
  task_id: string | null;
2090
2090
  title: string;
2091
+ type: string;
2091
2092
  updated_at: string;
2092
2093
  };
2093
2094
  Insert: {
@@ -2108,6 +2109,7 @@ type Database = {
2108
2109
  status?: string;
2109
2110
  task_id?: string | null;
2110
2111
  title: string;
2112
+ type: string;
2111
2113
  updated_at?: string;
2112
2114
  };
2113
2115
  Update: {
@@ -2128,25 +2130,26 @@ type Database = {
2128
2130
  status?: string;
2129
2131
  task_id?: string | null;
2130
2132
  title?: string;
2133
+ type?: string;
2131
2134
  updated_at?: string;
2132
2135
  };
2133
2136
  Relationships: [
2134
2137
  {
2135
- foreignKeyName: "reported_issues_organization_id_fkey";
2138
+ foreignKeyName: "reported_requests_organization_id_fkey";
2136
2139
  columns: ["organization_id"];
2137
2140
  isOneToOne: false;
2138
2141
  referencedRelation: "organizations";
2139
2142
  referencedColumns: ["id"];
2140
2143
  },
2141
2144
  {
2142
- foreignKeyName: "reported_issues_project_id_fkey";
2145
+ foreignKeyName: "reported_requests_project_id_fkey";
2143
2146
  columns: ["project_id"];
2144
2147
  isOneToOne: false;
2145
2148
  referencedRelation: "prj_projects";
2146
2149
  referencedColumns: ["id"];
2147
2150
  },
2148
2151
  {
2149
- foreignKeyName: "reported_issues_task_id_fkey";
2152
+ foreignKeyName: "reported_requests_task_id_fkey";
2150
2153
  columns: ["task_id"];
2151
2154
  isOneToOne: false;
2152
2155
  referencedRelation: "prj_tasks";
@@ -4541,7 +4544,7 @@ declare const useSupabase: () => SupabaseClient<Database, "public", "public", {
4541
4544
  referencedColumns: ["id"];
4542
4545
  }];
4543
4546
  };
4544
- reported_issues: {
4547
+ reported_requests: {
4545
4548
  Row: {
4546
4549
  affected_page: string | null;
4547
4550
  category: string;
@@ -4560,6 +4563,7 @@ declare const useSupabase: () => SupabaseClient<Database, "public", "public", {
4560
4563
  status: string;
4561
4564
  task_id: string | null;
4562
4565
  title: string;
4566
+ type: string;
4563
4567
  updated_at: string;
4564
4568
  };
4565
4569
  Insert: {
@@ -4580,6 +4584,7 @@ declare const useSupabase: () => SupabaseClient<Database, "public", "public", {
4580
4584
  status?: string;
4581
4585
  task_id?: string | null;
4582
4586
  title: string;
4587
+ type: string;
4583
4588
  updated_at?: string;
4584
4589
  };
4585
4590
  Update: {
@@ -4600,22 +4605,23 @@ declare const useSupabase: () => SupabaseClient<Database, "public", "public", {
4600
4605
  status?: string;
4601
4606
  task_id?: string | null;
4602
4607
  title?: string;
4608
+ type?: string;
4603
4609
  updated_at?: string;
4604
4610
  };
4605
4611
  Relationships: [{
4606
- foreignKeyName: "reported_issues_organization_id_fkey";
4612
+ foreignKeyName: "reported_requests_organization_id_fkey";
4607
4613
  columns: ["organization_id"];
4608
4614
  isOneToOne: false;
4609
4615
  referencedRelation: "organizations";
4610
4616
  referencedColumns: ["id"];
4611
4617
  }, {
4612
- foreignKeyName: "reported_issues_project_id_fkey";
4618
+ foreignKeyName: "reported_requests_project_id_fkey";
4613
4619
  columns: ["project_id"];
4614
4620
  isOneToOne: false;
4615
4621
  referencedRelation: "prj_projects";
4616
4622
  referencedColumns: ["id"];
4617
4623
  }, {
4618
- foreignKeyName: "reported_issues_task_id_fkey";
4624
+ foreignKeyName: "reported_requests_task_id_fkey";
4619
4625
  columns: ["task_id"];
4620
4626
  isOneToOne: false;
4621
4627
  referencedRelation: "prj_tasks";
@@ -1,3 +1,3 @@
1
- export { useAvailablePresets } from '../chunk-ETWKPFOO.js';
2
- export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from '../chunk-TYWZABTP.js';
3
- import '../chunk-F4TPY6YL.js';
1
+ export { useAvailablePresets } from '../chunk-6RWMRQN5.js';
2
+ export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from '../chunk-R73EHHPN.js';
3
+ import '../chunk-WLOQ4IBG.js';
@@ -2511,7 +2511,7 @@ type Database = {
2511
2511
  }
2512
2512
  ];
2513
2513
  };
2514
- reported_issues: {
2514
+ reported_requests: {
2515
2515
  Row: {
2516
2516
  affected_page: string | null;
2517
2517
  category: string;
@@ -2530,6 +2530,7 @@ type Database = {
2530
2530
  status: string;
2531
2531
  task_id: string | null;
2532
2532
  title: string;
2533
+ type: string;
2533
2534
  updated_at: string;
2534
2535
  };
2535
2536
  Insert: {
@@ -2550,6 +2551,7 @@ type Database = {
2550
2551
  status?: string;
2551
2552
  task_id?: string | null;
2552
2553
  title: string;
2554
+ type: string;
2553
2555
  updated_at?: string;
2554
2556
  };
2555
2557
  Update: {
@@ -2570,25 +2572,26 @@ type Database = {
2570
2572
  status?: string;
2571
2573
  task_id?: string | null;
2572
2574
  title?: string;
2575
+ type?: string;
2573
2576
  updated_at?: string;
2574
2577
  };
2575
2578
  Relationships: [
2576
2579
  {
2577
- foreignKeyName: "reported_issues_organization_id_fkey";
2580
+ foreignKeyName: "reported_requests_organization_id_fkey";
2578
2581
  columns: ["organization_id"];
2579
2582
  isOneToOne: false;
2580
2583
  referencedRelation: "organizations";
2581
2584
  referencedColumns: ["id"];
2582
2585
  },
2583
2586
  {
2584
- foreignKeyName: "reported_issues_project_id_fkey";
2587
+ foreignKeyName: "reported_requests_project_id_fkey";
2585
2588
  columns: ["project_id"];
2586
2589
  isOneToOne: false;
2587
2590
  referencedRelation: "prj_projects";
2588
2591
  referencedColumns: ["id"];
2589
2592
  },
2590
2593
  {
2591
- foreignKeyName: "reported_issues_task_id_fkey";
2594
+ foreignKeyName: "reported_requests_task_id_fkey";
2592
2595
  columns: ["task_id"];
2593
2596
  isOneToOne: false;
2594
2597
  referencedRelation: "prj_tasks";
@@ -4429,7 +4432,7 @@ interface Task extends OriginTracking {
4429
4432
  humanCheckpoint?: string
4430
4433
 
4431
4434
  // Status (updated to include 'completed')
4432
- status: TaskStatus
4435
+ status: QueueTaskStatus
4433
4436
 
4434
4437
  /**
4435
4438
  * Target resource tracking — mirrors origin columns.
@@ -4463,7 +4466,7 @@ interface Task extends OriginTracking {
4463
4466
  * - failed: execution failed, task can be retried
4464
4467
  * - expired: timed out before action
4465
4468
  */
4466
- type TaskStatus = 'pending' | 'processing' | 'completed' | 'failed' | 'expired'
4469
+ type QueueTaskStatus = 'pending' | 'processing' | 'completed' | 'failed' | 'expired'
4467
4470
 
4468
4471
  /**
4469
4472
  * Parameters for patching mutable metadata on a task
@@ -5817,4 +5820,4 @@ interface CommandViewStatsResponse {
5817
5820
  generatedAt: string
5818
5821
  }
5819
5822
 
5820
- export type { AIResourceDefinition, APIExecutionDetail, APIExecutionListResponse, APIExecutionSummary, AbsoluteScheduleConfig, AbsoluteScheduleItem, ActionConfig, Activity, ActivitySSEEvent, ActivityStatus, ActivityType, AgentIterationData, AgentMemory, ApiKeyListItem, BusinessImpactMetrics, ChatMessage, CheckpointListResponse, CommandQueueSSEEvent, CommandViewAgent, CommandViewData, CommandViewNode, CommandViewNodeType, CommandViewStatsResponse, CommandViewWorkflow, CostBreakdownMetrics, CostByModelResponse, CostSummaryResponse, CostTrendsResponse, CreateWebhookEndpointRequest, CredentialListItem, DashboardMetrics, DealListItem, DealStage, Deployment, DeploymentStatus, DomainDefinition, ErrorAnalysisMetrics, ErrorDetailFull, ErrorDetailResponse, ErrorTrend, ExecutionHealthMetrics, ExecutionHistoryItem, ExecutionHistoryResponse, ExecutionLogMessage, ExecutionMetricsDetail, ExecutionSSEEvent, ExecutionStatus$1 as ExecutionStatus, ExecutionSummary, FailingResource, HumanCheckpointDefinition, HumanCheckpointStats, KanbanBoardConfig, ListMembershipsParams, MembershipFeatureConfig, MembershipStatus, MembershipWithDetails, MessageEvent, MessageType, ModelConfig, NotificationDTO, NotificationSSEEvent, PatchTaskParams, RecentExecutionsByResourceResponse, RecurringScheduleConfig, RelativeScheduleConfig, RelativeScheduleItem, ResourceDefinition$1 as ResourceDefinition, ResourceDomain, ResourceErrorsResponse, ResourceExecutionSummary, ResourceExecutionsResponse, ResourceHealth, ResourceIdentifier, ResourceStats, ResourceStatus$1 as ResourceStatus, ResourceType$1 as ResourceType, ResourcesHealthResponse, SerializedAgentDefinition, SerializedExecutionInterface, SerializedWorkflowDefinition, SessionDTO, SessionTokenUsage, StatsTimeRange, SupabaseUserProfile, Task, TaskSchedule, TaskScheduleConfig, TaskStatus, TimeRange, WorkflowNodeVisualizerData as TimelineData, UpdateWebhookEndpointRequest, UserConfig, WebhookEndpoint, WebhookEndpointResponse };
5823
+ export type { AIResourceDefinition, APIExecutionDetail, APIExecutionListResponse, APIExecutionSummary, AbsoluteScheduleConfig, AbsoluteScheduleItem, ActionConfig, Activity, ActivitySSEEvent, ActivityStatus, ActivityType, AgentIterationData, AgentMemory, ApiKeyListItem, BusinessImpactMetrics, ChatMessage, CheckpointListResponse, CommandQueueSSEEvent, CommandViewAgent, CommandViewData, CommandViewNode, CommandViewNodeType, CommandViewStatsResponse, CommandViewWorkflow, CostBreakdownMetrics, CostByModelResponse, CostSummaryResponse, CostTrendsResponse, CreateWebhookEndpointRequest, CredentialListItem, DashboardMetrics, DealListItem, DealStage, Deployment, DeploymentStatus, DomainDefinition, ErrorAnalysisMetrics, ErrorDetailFull, ErrorDetailResponse, ErrorTrend, ExecutionHealthMetrics, ExecutionHistoryItem, ExecutionHistoryResponse, ExecutionLogMessage, ExecutionMetricsDetail, ExecutionSSEEvent, ExecutionStatus$1 as ExecutionStatus, ExecutionSummary, FailingResource, HumanCheckpointDefinition, HumanCheckpointStats, KanbanBoardConfig, ListMembershipsParams, MembershipFeatureConfig, MembershipStatus, MembershipWithDetails, MessageEvent, MessageType, ModelConfig, NotificationDTO, NotificationSSEEvent, PatchTaskParams, QueueTaskStatus, RecentExecutionsByResourceResponse, RecurringScheduleConfig, RelativeScheduleConfig, RelativeScheduleItem, ResourceDefinition$1 as ResourceDefinition, ResourceDomain, ResourceErrorsResponse, ResourceExecutionSummary, ResourceExecutionsResponse, ResourceHealth, ResourceIdentifier, ResourceStats, ResourceStatus$1 as ResourceStatus, ResourceType$1 as ResourceType, ResourcesHealthResponse, SerializedAgentDefinition, SerializedExecutionInterface, SerializedWorkflowDefinition, SessionDTO, SessionTokenUsage, StatsTimeRange, SupabaseUserProfile, Task, TaskSchedule, TaskScheduleConfig, TimeRange, WorkflowNodeVisualizerData as TimelineData, UpdateWebhookEndpointRequest, UserConfig, WebhookEndpoint, WebhookEndpointResponse };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elevasis/ui",
3
- "version": "2.12.0",
3
+ "version": "2.14.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",
@@ -72,6 +72,10 @@
72
72
  "types": "./dist/features/monitoring/index.d.ts",
73
73
  "import": "./dist/features/monitoring/index.js"
74
74
  },
75
+ "./features/monitoring/requests": {
76
+ "types": "./dist/features/monitoring/requests/index.d.ts",
77
+ "import": "./dist/features/monitoring/requests/index.js"
78
+ },
75
79
  "./features/seo": {
76
80
  "types": "./dist/features/seo/index.d.ts",
77
81
  "import": "./dist/features/seo/index.js"
@@ -202,7 +206,7 @@
202
206
  "tsup": "^8.0.0",
203
207
  "typescript": "5.9.2",
204
208
  "vite": "^7.0.0",
205
- "@repo/core": "0.5.0",
209
+ "@repo/core": "0.6.0",
206
210
  "@repo/typescript-config": "0.0.0",
207
211
  "@repo/eslint-config": "0.0.0"
208
212
  },
@@ -1,5 +0,0 @@
1
- // ../core/src/organization-model/contracts.ts
2
- var PROJECTS_FEATURE_ID = "projects";
3
- var DELIVERY_PROJECTS_VIEW_CAPABILITY_ID = "delivery.projects.view";
4
-
5
- export { DELIVERY_PROJECTS_VIEW_CAPABILITY_ID, PROJECTS_FEATURE_ID };