@elevasis/core 0.15.1 → 0.17.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 (72) hide show
  1. package/dist/index.d.ts +1662 -23
  2. package/dist/index.js +171 -24
  3. package/dist/knowledge/index.d.ts +1340 -0
  4. package/dist/knowledge/index.js +138 -0
  5. package/dist/organization-model/index.d.ts +1662 -23
  6. package/dist/organization-model/index.js +171 -24
  7. package/dist/test-utils/index.d.ts +711 -10
  8. package/dist/test-utils/index.js +159 -16
  9. package/package.json +7 -3
  10. package/src/__tests__/publish.test.ts +14 -13
  11. package/src/__tests__/template-core-compatibility.test.ts +4 -4
  12. package/src/_gen/__tests__/__snapshots__/contracts.md.snap +1265 -1154
  13. package/src/auth/multi-tenancy/index.ts +3 -0
  14. package/src/auth/multi-tenancy/theme-presets.ts +45 -0
  15. package/src/auth/multi-tenancy/types.ts +57 -83
  16. package/src/auth/multi-tenancy/users/api-schemas.ts +165 -194
  17. package/src/business/acquisition/activity-events.ts +1 -1
  18. package/src/business/acquisition/api-schemas.ts +1196 -1177
  19. package/src/business/acquisition/crm-state-actions.test.ts +139 -139
  20. package/src/business/acquisition/types.ts +381 -390
  21. package/src/business/crm/api-schemas.ts +40 -0
  22. package/src/business/crm/index.ts +1 -0
  23. package/src/business/deals/api-schemas.ts +79 -0
  24. package/src/business/deals/index.ts +1 -0
  25. package/src/business/projects/types.ts +124 -88
  26. package/src/execution/core/runner-types.ts +61 -80
  27. package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-tools.ts +105 -104
  28. package/src/execution/engine/tools/integration/server/adapters/instantly/instantly-tools.ts +1474 -1473
  29. package/src/execution/engine/tools/integration/server/adapters/millionverifier/millionverifier-tools.ts +103 -102
  30. package/src/execution/engine/tools/integration/server/adapters/signature-api/signature-api-tools.ts +182 -179
  31. package/src/execution/engine/tools/integration/server/adapters/stripe/stripe-tools.ts +310 -309
  32. package/src/execution/engine/tools/integration/tool.ts +255 -253
  33. package/src/execution/engine/tools/lead-service-types.ts +895 -894
  34. package/src/execution/engine/tools/messages.ts +43 -0
  35. package/src/execution/engine/tools/platform/acquisition/types.ts +2 -1
  36. package/src/execution/engine/tools/platform/email/types.ts +97 -96
  37. package/src/execution/engine/tools/types.ts +234 -233
  38. package/src/execution/engine/workflow/types.ts +195 -193
  39. package/src/execution/external/api-schemas.ts +40 -0
  40. package/src/execution/external/index.ts +1 -0
  41. package/src/knowledge/README.md +32 -0
  42. package/src/knowledge/__tests__/queries.test.ts +504 -0
  43. package/src/knowledge/format.ts +99 -0
  44. package/src/knowledge/index.ts +5 -0
  45. package/src/knowledge/published.ts +5 -0
  46. package/src/knowledge/queries.ts +256 -0
  47. package/src/organization-model/__tests__/defaults.test.ts +172 -172
  48. package/src/organization-model/__tests__/foundation.test.ts +7 -7
  49. package/src/organization-model/__tests__/icons.test.ts +27 -0
  50. package/src/organization-model/__tests__/knowledge.test.ts +214 -0
  51. package/src/organization-model/contracts.ts +17 -15
  52. package/src/organization-model/defaults.ts +74 -19
  53. package/src/organization-model/domains/knowledge.ts +53 -0
  54. package/src/organization-model/domains/navigation.ts +416 -399
  55. package/src/organization-model/domains/shared.ts +6 -5
  56. package/src/organization-model/foundation.ts +10 -6
  57. package/src/organization-model/graph/build.ts +209 -182
  58. package/src/organization-model/graph/schema.ts +37 -34
  59. package/src/organization-model/graph/types.ts +47 -31
  60. package/src/organization-model/icons.ts +81 -0
  61. package/src/organization-model/index.ts +8 -3
  62. package/src/organization-model/organization-model.mdx +1 -1
  63. package/src/organization-model/published.ts +103 -86
  64. package/src/organization-model/schema.ts +90 -85
  65. package/src/organization-model/types.ts +40 -33
  66. package/src/platform/index.ts +23 -27
  67. package/src/platform/registry/index.ts +0 -4
  68. package/src/platform/registry/resource-registry.ts +0 -77
  69. package/src/platform/registry/serialized-types.ts +148 -219
  70. package/src/platform/registry/stats-types.ts +60 -60
  71. package/src/reference/_generated/contracts.md +1265 -1154
  72. package/src/platform/registry/__tests__/resource-registry.list-executable.test.ts +0 -393
@@ -1,399 +1,416 @@
1
- import { z } from 'zod'
2
- import {
3
- OPERATIONS_COMMAND_VIEW_SURFACE_ID,
4
- PROJECTS_VIEW_CAPABILITY_ID,
5
- PROJECTS_FEATURE_ID,
6
- PROJECTS_INDEX_SURFACE_ID,
7
- SETTINGS_ROLES_SURFACE_ID
8
- } from '../contracts'
9
- import { DescriptionSchema, IconNameSchema, LabelSchema, ModelIdSchema, PathSchema, ReferenceIdsSchema } from './shared'
10
-
11
- export const SurfaceTypeSchema = z.enum(['page', 'dashboard', 'graph', 'detail', 'list', 'settings'])
12
-
13
- export const SurfaceDefinitionSchema = z.object({
14
- id: ModelIdSchema,
15
- label: LabelSchema,
16
- path: PathSchema,
17
- surfaceType: SurfaceTypeSchema,
18
- description: DescriptionSchema.optional(),
19
- enabled: z.boolean().default(true),
20
- devOnly: z.boolean().optional(),
21
- icon: IconNameSchema.optional(),
22
- featureId: ModelIdSchema.optional(),
23
- featureIds: ReferenceIdsSchema,
24
- entityIds: ReferenceIdsSchema,
25
- resourceIds: ReferenceIdsSchema,
26
- capabilityIds: ReferenceIdsSchema,
27
- parentId: ModelIdSchema.optional()
28
- })
29
-
30
- /**
31
- * Core placement values: 'primary' | 'secondary' | 'bottom'.
32
- *
33
- * `placement` is intentionally open (`z.string()`) so that per-project adapters can
34
- * introduce additional placement IDs (e.g. 'pinned', 'spotlight', 'contextual') without
35
- * forking core. Extension pattern: add the new string literal to the project's
36
- * `foundations/config/organization-model.ts` adapter — no changes to this file required.
37
- *
38
- * `surfaceType` and `resourceType` remain closed enums (UI/runtime invariants).
39
- */
40
- export const CORE_PLACEMENT_VALUES = ['primary', 'secondary', 'bottom'] as const
41
- export type CorePlacement = (typeof CORE_PLACEMENT_VALUES)[number]
42
-
43
- export const NavigationGroupSchema = z.object({
44
- id: ModelIdSchema,
45
- label: LabelSchema,
46
- placement: z.string().trim().min(1).max(50),
47
- surfaceIds: z.array(ModelIdSchema).default([])
48
- })
49
-
50
- export const OrganizationModelNavigationSchema = z.object({
51
- defaultSurfaceId: ModelIdSchema.optional(),
52
- surfaces: z.array(SurfaceDefinitionSchema).default([]),
53
- groups: z.array(NavigationGroupSchema).default([])
54
- })
55
-
56
- export const DEFAULT_ORGANIZATION_MODEL_NAVIGATION: z.infer<typeof OrganizationModelNavigationSchema> = {
57
- defaultSurfaceId: 'crm.pipeline',
58
- surfaces: [
59
- {
60
- id: 'crm.pipeline',
61
- label: 'Pipeline',
62
- path: '/crm/pipeline',
63
- surfaceType: 'graph',
64
- enabled: true,
65
- featureId: 'crm',
66
- featureIds: ['crm'],
67
- entityIds: ['crm.deal'],
68
- resourceIds: [],
69
- capabilityIds: ['crm.pipeline.manage']
70
- },
71
- {
72
- id: 'lead-gen.lists',
73
- label: 'Lists',
74
- path: '/lead-gen/lists',
75
- surfaceType: 'list',
76
- enabled: true,
77
- featureId: 'lead-gen',
78
- featureIds: ['lead-gen'],
79
- entityIds: ['leadgen.list'],
80
- resourceIds: [],
81
- capabilityIds: ['leadgen.lists.manage']
82
- },
83
- {
84
- id: PROJECTS_INDEX_SURFACE_ID,
85
- label: 'Projects',
86
- path: '/projects',
87
- surfaceType: 'list',
88
- enabled: true,
89
- featureId: PROJECTS_FEATURE_ID,
90
- featureIds: [PROJECTS_FEATURE_ID],
91
- entityIds: ['delivery.project'],
92
- resourceIds: [],
93
- capabilityIds: [PROJECTS_VIEW_CAPABILITY_ID]
94
- },
95
- {
96
- id: OPERATIONS_COMMAND_VIEW_SURFACE_ID,
97
- label: 'Command View',
98
- path: '/operations/command-view',
99
- surfaceType: 'graph',
100
- enabled: true,
101
- devOnly: true,
102
- featureId: 'operations',
103
- featureIds: ['operations'],
104
- entityIds: [],
105
- resourceIds: [],
106
- capabilityIds: ['operations.command-view']
107
- },
108
- {
109
- id: 'operations.overview',
110
- label: 'Overview',
111
- path: '/operations',
112
- surfaceType: 'dashboard',
113
- enabled: true,
114
- featureId: 'operations',
115
- featureIds: ['operations'],
116
- entityIds: [],
117
- resourceIds: [],
118
- capabilityIds: []
119
- },
120
- {
121
- id: 'operations.resources',
122
- label: 'Resources',
123
- path: '/operations/resources',
124
- surfaceType: 'list',
125
- enabled: true,
126
- featureId: 'operations',
127
- featureIds: ['operations'],
128
- entityIds: [],
129
- resourceIds: [],
130
- capabilityIds: []
131
- },
132
- {
133
- id: 'operations.command-queue',
134
- label: 'Command Queue',
135
- path: '/operations/command-queue',
136
- surfaceType: 'list',
137
- enabled: true,
138
- featureId: 'operations',
139
- featureIds: ['operations'],
140
- entityIds: [],
141
- resourceIds: [],
142
- capabilityIds: []
143
- },
144
- {
145
- id: 'operations.sessions',
146
- label: 'Sessions',
147
- path: '/operations/sessions',
148
- surfaceType: 'page',
149
- enabled: false,
150
- featureId: 'operations',
151
- featureIds: ['operations'],
152
- entityIds: [],
153
- resourceIds: [],
154
- capabilityIds: []
155
- },
156
- {
157
- id: 'operations.task-scheduler',
158
- label: 'Task Scheduler',
159
- path: '/operations/task-scheduler',
160
- surfaceType: 'page',
161
- enabled: true,
162
- featureId: 'operations',
163
- featureIds: ['operations'],
164
- entityIds: [],
165
- resourceIds: [],
166
- capabilityIds: []
167
- },
168
- {
169
- id: 'monitoring.activity-log',
170
- label: 'Activity Log',
171
- path: '/monitoring/activity-log',
172
- surfaceType: 'list',
173
- enabled: true,
174
- featureId: 'monitoring',
175
- featureIds: ['monitoring'],
176
- entityIds: [],
177
- resourceIds: [],
178
- capabilityIds: []
179
- },
180
- {
181
- id: 'monitoring.execution-logs',
182
- label: 'Execution Logs',
183
- path: '/monitoring/execution-logs',
184
- surfaceType: 'list',
185
- enabled: true,
186
- featureId: 'monitoring',
187
- featureIds: ['monitoring'],
188
- entityIds: [],
189
- resourceIds: [],
190
- capabilityIds: []
191
- },
192
- {
193
- id: 'monitoring.execution-health',
194
- label: 'Execution Health',
195
- path: '/monitoring/execution-health',
196
- surfaceType: 'dashboard',
197
- enabled: true,
198
- featureId: 'monitoring',
199
- featureIds: ['monitoring'],
200
- entityIds: [],
201
- resourceIds: [],
202
- capabilityIds: []
203
- },
204
- {
205
- id: 'monitoring.cost-analytics',
206
- label: 'Cost Analytics',
207
- path: '/monitoring/cost-analytics',
208
- surfaceType: 'dashboard',
209
- enabled: false,
210
- featureId: 'monitoring',
211
- featureIds: ['monitoring'],
212
- entityIds: [],
213
- resourceIds: [],
214
- capabilityIds: []
215
- },
216
- {
217
- id: 'monitoring.notifications',
218
- label: 'Notifications',
219
- path: '/monitoring/notifications',
220
- surfaceType: 'page',
221
- enabled: true,
222
- featureId: 'monitoring',
223
- featureIds: ['monitoring'],
224
- entityIds: [],
225
- resourceIds: [],
226
- capabilityIds: []
227
- },
228
- {
229
- id: 'submitted-requests.list',
230
- label: 'Submitted Requests',
231
- path: '/monitoring/requests',
232
- surfaceType: 'list',
233
- enabled: true,
234
- featureId: 'submitted-requests',
235
- featureIds: ['submitted-requests'],
236
- entityIds: ['reported_request'],
237
- resourceIds: [],
238
- capabilityIds: []
239
- },
240
- {
241
- id: 'submitted-requests.detail',
242
- label: 'Request Detail',
243
- path: '/monitoring/requests/:requestId',
244
- surfaceType: 'detail',
245
- enabled: true,
246
- featureId: 'submitted-requests',
247
- featureIds: ['submitted-requests'],
248
- entityIds: ['reported_request'],
249
- resourceIds: [],
250
- capabilityIds: []
251
- },
252
- {
253
- id: 'settings.account',
254
- label: 'Account',
255
- path: '/settings/account',
256
- surfaceType: 'settings',
257
- enabled: true,
258
- featureId: 'settings',
259
- featureIds: ['settings'],
260
- entityIds: [],
261
- resourceIds: [],
262
- capabilityIds: []
263
- },
264
- {
265
- id: 'settings.appearance',
266
- label: 'Appearance',
267
- path: '/settings/appearance',
268
- surfaceType: 'settings',
269
- enabled: true,
270
- featureId: 'settings',
271
- featureIds: ['settings'],
272
- entityIds: [],
273
- resourceIds: [],
274
- capabilityIds: []
275
- },
276
- {
277
- id: SETTINGS_ROLES_SURFACE_ID,
278
- label: 'My Roles',
279
- path: '/settings/roles',
280
- surfaceType: 'settings',
281
- enabled: true,
282
- featureId: 'settings',
283
- featureIds: ['settings'],
284
- entityIds: [],
285
- resourceIds: [],
286
- capabilityIds: []
287
- },
288
- {
289
- id: 'settings.organization',
290
- label: 'Organization',
291
- path: '/settings/organization',
292
- surfaceType: 'settings',
293
- enabled: true,
294
- featureId: 'settings',
295
- featureIds: ['settings'],
296
- entityIds: [],
297
- resourceIds: [],
298
- capabilityIds: []
299
- },
300
- {
301
- id: 'settings.credentials',
302
- label: 'Credentials',
303
- path: '/settings/credentials',
304
- surfaceType: 'settings',
305
- enabled: true,
306
- featureId: 'settings',
307
- featureIds: ['settings'],
308
- entityIds: [],
309
- resourceIds: [],
310
- capabilityIds: []
311
- },
312
- {
313
- id: 'settings.api-keys',
314
- label: 'API Keys',
315
- path: '/settings/api-keys',
316
- surfaceType: 'settings',
317
- enabled: true,
318
- featureId: 'settings',
319
- featureIds: ['settings'],
320
- entityIds: [],
321
- resourceIds: [],
322
- capabilityIds: []
323
- },
324
- {
325
- id: 'settings.webhooks',
326
- label: 'Webhooks',
327
- path: '/settings/webhooks',
328
- surfaceType: 'settings',
329
- enabled: true,
330
- featureId: 'settings',
331
- featureIds: ['settings'],
332
- entityIds: [],
333
- resourceIds: [],
334
- capabilityIds: []
335
- },
336
- {
337
- id: 'settings.deployments',
338
- label: 'Deployments',
339
- path: '/settings/deployments',
340
- surfaceType: 'settings',
341
- enabled: true,
342
- featureId: 'settings',
343
- featureIds: ['settings'],
344
- entityIds: [],
345
- resourceIds: [],
346
- capabilityIds: []
347
- }
348
- ],
349
- groups: [
350
- {
351
- id: 'primary-workspace',
352
- label: 'Workspace',
353
- placement: 'primary',
354
- surfaceIds: ['crm.pipeline', 'lead-gen.lists', PROJECTS_INDEX_SURFACE_ID]
355
- },
356
- {
357
- id: 'primary-operations',
358
- label: 'Operations',
359
- placement: 'primary',
360
- surfaceIds: [
361
- OPERATIONS_COMMAND_VIEW_SURFACE_ID,
362
- 'operations.overview',
363
- 'operations.resources',
364
- 'operations.command-queue',
365
- 'operations.sessions',
366
- 'operations.task-scheduler'
367
- ]
368
- },
369
- {
370
- id: 'primary-monitoring',
371
- label: 'Monitoring',
372
- placement: 'primary',
373
- surfaceIds: [
374
- 'monitoring.activity-log',
375
- 'monitoring.execution-logs',
376
- 'monitoring.execution-health',
377
- 'monitoring.cost-analytics',
378
- 'monitoring.notifications',
379
- 'submitted-requests.list',
380
- 'submitted-requests.detail'
381
- ]
382
- },
383
- {
384
- id: 'primary-settings',
385
- label: 'Settings',
386
- placement: 'bottom',
387
- surfaceIds: [
388
- 'settings.account',
389
- 'settings.appearance',
390
- SETTINGS_ROLES_SURFACE_ID,
391
- 'settings.organization',
392
- 'settings.credentials',
393
- 'settings.api-keys',
394
- 'settings.webhooks',
395
- 'settings.deployments'
396
- ]
397
- }
398
- ]
399
- }
1
+ import { z } from 'zod'
2
+ import {
3
+ OPERATIONS_COMMAND_VIEW_SURFACE_ID,
4
+ PROJECTS_VIEW_CAPABILITY_ID,
5
+ PROJECTS_FEATURE_ID,
6
+ PROJECTS_INDEX_SURFACE_ID,
7
+ SETTINGS_ROLES_SURFACE_ID
8
+ } from '../contracts'
9
+ import { DescriptionSchema, IconNameSchema, LabelSchema, ModelIdSchema, PathSchema, ReferenceIdsSchema } from './shared'
10
+
11
+ export const SurfaceTypeSchema = z.enum(['page', 'dashboard', 'graph', 'detail', 'list', 'settings'])
12
+
13
+ export const SurfaceDefinitionSchema = z.object({
14
+ id: ModelIdSchema,
15
+ label: LabelSchema,
16
+ path: PathSchema,
17
+ surfaceType: SurfaceTypeSchema,
18
+ description: DescriptionSchema.optional(),
19
+ enabled: z.boolean().default(true),
20
+ devOnly: z.boolean().optional(),
21
+ icon: IconNameSchema.optional(),
22
+ featureId: ModelIdSchema.optional(),
23
+ featureIds: ReferenceIdsSchema,
24
+ entityIds: ReferenceIdsSchema,
25
+ resourceIds: ReferenceIdsSchema,
26
+ capabilityIds: ReferenceIdsSchema,
27
+ parentId: ModelIdSchema.optional()
28
+ })
29
+
30
+ /**
31
+ * Core placement values: 'primary' | 'secondary' | 'bottom'.
32
+ *
33
+ * `placement` is intentionally open (`z.string()`) so that per-project adapters can
34
+ * introduce additional placement IDs (e.g. 'pinned', 'spotlight', 'contextual') without
35
+ * forking core. Extension pattern: add the new string literal to the project's
36
+ * `foundations/config/organization-model.ts` adapter — no changes to this file required.
37
+ *
38
+ * `surfaceType` and `resourceType` remain closed enums (UI/runtime invariants).
39
+ */
40
+ export const CORE_PLACEMENT_VALUES = ['primary', 'secondary', 'bottom'] as const
41
+ export type CorePlacement = (typeof CORE_PLACEMENT_VALUES)[number]
42
+
43
+ export const NavigationGroupSchema = z.object({
44
+ id: ModelIdSchema,
45
+ label: LabelSchema,
46
+ placement: z.string().trim().min(1).max(50),
47
+ surfaceIds: z.array(ModelIdSchema).default([])
48
+ })
49
+
50
+ export const OrganizationModelNavigationSchema = z.object({
51
+ defaultSurfaceId: ModelIdSchema.optional(),
52
+ surfaces: z.array(SurfaceDefinitionSchema).default([]),
53
+ groups: z.array(NavigationGroupSchema).default([])
54
+ })
55
+
56
+ export const DEFAULT_ORGANIZATION_MODEL_NAVIGATION: z.infer<typeof OrganizationModelNavigationSchema> = {
57
+ defaultSurfaceId: 'crm.pipeline',
58
+ surfaces: [
59
+ {
60
+ id: 'crm.pipeline',
61
+ label: 'Pipeline',
62
+ path: '/crm/pipeline',
63
+ surfaceType: 'graph',
64
+ enabled: true,
65
+ featureId: 'crm',
66
+ featureIds: ['crm'],
67
+ entityIds: ['crm.deal'],
68
+ resourceIds: [],
69
+ capabilityIds: ['crm.pipeline.manage']
70
+ },
71
+ {
72
+ id: 'lead-gen.lists',
73
+ label: 'Lists',
74
+ path: '/lead-gen/lists',
75
+ surfaceType: 'list',
76
+ enabled: true,
77
+ featureId: 'lead-gen',
78
+ featureIds: ['lead-gen'],
79
+ entityIds: ['leadgen.list'],
80
+ resourceIds: [],
81
+ capabilityIds: ['leadgen.lists.manage']
82
+ },
83
+ {
84
+ id: PROJECTS_INDEX_SURFACE_ID,
85
+ label: 'Projects',
86
+ path: '/projects',
87
+ surfaceType: 'list',
88
+ enabled: true,
89
+ featureId: PROJECTS_FEATURE_ID,
90
+ featureIds: [PROJECTS_FEATURE_ID],
91
+ entityIds: ['delivery.project'],
92
+ resourceIds: [],
93
+ capabilityIds: [PROJECTS_VIEW_CAPABILITY_ID]
94
+ },
95
+ {
96
+ id: 'knowledge.base',
97
+ label: 'Knowledge Base',
98
+ path: '/knowledge',
99
+ surfaceType: 'page',
100
+ enabled: true,
101
+ featureId: 'knowledge',
102
+ featureIds: ['knowledge'],
103
+ entityIds: [],
104
+ resourceIds: [],
105
+ capabilityIds: []
106
+ },
107
+ {
108
+ id: OPERATIONS_COMMAND_VIEW_SURFACE_ID,
109
+ label: 'Command View',
110
+ path: '/knowledge/command-view',
111
+ surfaceType: 'graph',
112
+ enabled: true,
113
+ devOnly: true,
114
+ featureId: 'knowledge',
115
+ featureIds: ['knowledge'],
116
+ entityIds: [],
117
+ resourceIds: [],
118
+ capabilityIds: ['knowledge.command-view']
119
+ },
120
+ {
121
+ id: 'operations.overview',
122
+ label: 'Overview',
123
+ path: '/operations',
124
+ surfaceType: 'dashboard',
125
+ enabled: true,
126
+ featureId: 'operations',
127
+ featureIds: ['operations'],
128
+ entityIds: [],
129
+ resourceIds: [],
130
+ capabilityIds: []
131
+ },
132
+ {
133
+ id: 'operations.resources',
134
+ label: 'Resources',
135
+ path: '/operations/resources',
136
+ surfaceType: 'list',
137
+ enabled: true,
138
+ featureId: 'operations',
139
+ featureIds: ['operations'],
140
+ entityIds: [],
141
+ resourceIds: [],
142
+ capabilityIds: []
143
+ },
144
+ {
145
+ id: 'operations.command-queue',
146
+ label: 'Command Queue',
147
+ path: '/operations/command-queue',
148
+ surfaceType: 'list',
149
+ enabled: true,
150
+ featureId: 'operations',
151
+ featureIds: ['operations'],
152
+ entityIds: [],
153
+ resourceIds: [],
154
+ capabilityIds: []
155
+ },
156
+ {
157
+ id: 'operations.sessions',
158
+ label: 'Sessions',
159
+ path: '/operations/sessions',
160
+ surfaceType: 'page',
161
+ enabled: false,
162
+ featureId: 'operations',
163
+ featureIds: ['operations'],
164
+ entityIds: [],
165
+ resourceIds: [],
166
+ capabilityIds: []
167
+ },
168
+ {
169
+ id: 'operations.task-scheduler',
170
+ label: 'Task Scheduler',
171
+ path: '/operations/task-scheduler',
172
+ surfaceType: 'page',
173
+ enabled: true,
174
+ featureId: 'operations',
175
+ featureIds: ['operations'],
176
+ entityIds: [],
177
+ resourceIds: [],
178
+ capabilityIds: []
179
+ },
180
+ {
181
+ id: 'monitoring.activity-log',
182
+ label: 'Activity Log',
183
+ path: '/monitoring/activity-log',
184
+ surfaceType: 'list',
185
+ enabled: true,
186
+ featureId: 'monitoring',
187
+ featureIds: ['monitoring'],
188
+ entityIds: [],
189
+ resourceIds: [],
190
+ capabilityIds: []
191
+ },
192
+ {
193
+ id: 'monitoring.execution-logs',
194
+ label: 'Execution Logs',
195
+ path: '/monitoring/execution-logs',
196
+ surfaceType: 'list',
197
+ enabled: true,
198
+ featureId: 'monitoring',
199
+ featureIds: ['monitoring'],
200
+ entityIds: [],
201
+ resourceIds: [],
202
+ capabilityIds: []
203
+ },
204
+ {
205
+ id: 'monitoring.execution-health',
206
+ label: 'Execution Health',
207
+ path: '/monitoring/execution-health',
208
+ surfaceType: 'dashboard',
209
+ enabled: true,
210
+ featureId: 'monitoring',
211
+ featureIds: ['monitoring'],
212
+ entityIds: [],
213
+ resourceIds: [],
214
+ capabilityIds: []
215
+ },
216
+ {
217
+ id: 'monitoring.cost-analytics',
218
+ label: 'Cost Analytics',
219
+ path: '/monitoring/cost-analytics',
220
+ surfaceType: 'dashboard',
221
+ enabled: false,
222
+ featureId: 'monitoring',
223
+ featureIds: ['monitoring'],
224
+ entityIds: [],
225
+ resourceIds: [],
226
+ capabilityIds: []
227
+ },
228
+ {
229
+ id: 'monitoring.notifications',
230
+ label: 'Notifications',
231
+ path: '/monitoring/notifications',
232
+ surfaceType: 'page',
233
+ enabled: true,
234
+ featureId: 'monitoring',
235
+ featureIds: ['monitoring'],
236
+ entityIds: [],
237
+ resourceIds: [],
238
+ capabilityIds: []
239
+ },
240
+ {
241
+ id: 'submitted-requests.list',
242
+ label: 'Submitted Requests',
243
+ path: '/monitoring/requests',
244
+ surfaceType: 'list',
245
+ enabled: true,
246
+ featureId: 'submitted-requests',
247
+ featureIds: ['submitted-requests'],
248
+ entityIds: ['reported_request'],
249
+ resourceIds: [],
250
+ capabilityIds: []
251
+ },
252
+ {
253
+ id: 'submitted-requests.detail',
254
+ label: 'Request Detail',
255
+ path: '/monitoring/requests/:requestId',
256
+ surfaceType: 'detail',
257
+ enabled: true,
258
+ featureId: 'submitted-requests',
259
+ featureIds: ['submitted-requests'],
260
+ entityIds: ['reported_request'],
261
+ resourceIds: [],
262
+ capabilityIds: []
263
+ },
264
+ {
265
+ id: 'settings.account',
266
+ label: 'Account',
267
+ path: '/settings/account',
268
+ surfaceType: 'settings',
269
+ enabled: true,
270
+ featureId: 'settings',
271
+ featureIds: ['settings'],
272
+ entityIds: [],
273
+ resourceIds: [],
274
+ capabilityIds: []
275
+ },
276
+ {
277
+ id: 'settings.appearance',
278
+ label: 'Appearance',
279
+ path: '/settings/appearance',
280
+ surfaceType: 'settings',
281
+ enabled: true,
282
+ featureId: 'settings',
283
+ featureIds: ['settings'],
284
+ entityIds: [],
285
+ resourceIds: [],
286
+ capabilityIds: []
287
+ },
288
+ {
289
+ id: SETTINGS_ROLES_SURFACE_ID,
290
+ label: 'My Roles',
291
+ path: '/settings/roles',
292
+ surfaceType: 'settings',
293
+ enabled: true,
294
+ featureId: 'settings',
295
+ featureIds: ['settings'],
296
+ entityIds: [],
297
+ resourceIds: [],
298
+ capabilityIds: []
299
+ },
300
+ {
301
+ id: 'settings.organization',
302
+ label: 'Organization',
303
+ path: '/settings/organization',
304
+ surfaceType: 'settings',
305
+ enabled: true,
306
+ featureId: 'settings',
307
+ featureIds: ['settings'],
308
+ entityIds: [],
309
+ resourceIds: [],
310
+ capabilityIds: []
311
+ },
312
+ {
313
+ id: 'settings.credentials',
314
+ label: 'Credentials',
315
+ path: '/settings/credentials',
316
+ surfaceType: 'settings',
317
+ enabled: true,
318
+ featureId: 'settings',
319
+ featureIds: ['settings'],
320
+ entityIds: [],
321
+ resourceIds: [],
322
+ capabilityIds: []
323
+ },
324
+ {
325
+ id: 'settings.api-keys',
326
+ label: 'API Keys',
327
+ path: '/settings/api-keys',
328
+ surfaceType: 'settings',
329
+ enabled: true,
330
+ featureId: 'settings',
331
+ featureIds: ['settings'],
332
+ entityIds: [],
333
+ resourceIds: [],
334
+ capabilityIds: []
335
+ },
336
+ {
337
+ id: 'settings.webhooks',
338
+ label: 'Webhooks',
339
+ path: '/settings/webhooks',
340
+ surfaceType: 'settings',
341
+ enabled: true,
342
+ featureId: 'settings',
343
+ featureIds: ['settings'],
344
+ entityIds: [],
345
+ resourceIds: [],
346
+ capabilityIds: []
347
+ },
348
+ {
349
+ id: 'settings.deployments',
350
+ label: 'Deployments',
351
+ path: '/settings/deployments',
352
+ surfaceType: 'settings',
353
+ enabled: true,
354
+ featureId: 'settings',
355
+ featureIds: ['settings'],
356
+ entityIds: [],
357
+ resourceIds: [],
358
+ capabilityIds: []
359
+ }
360
+ ],
361
+ groups: [
362
+ {
363
+ id: 'primary-workspace',
364
+ label: 'Workspace',
365
+ placement: 'primary',
366
+ surfaceIds: ['crm.pipeline', 'lead-gen.lists', PROJECTS_INDEX_SURFACE_ID]
367
+ },
368
+ {
369
+ id: 'primary-operations',
370
+ label: 'Operations',
371
+ placement: 'primary',
372
+ surfaceIds: [
373
+ 'operations.overview',
374
+ 'operations.resources',
375
+ 'operations.command-queue',
376
+ 'operations.sessions',
377
+ 'operations.task-scheduler'
378
+ ]
379
+ },
380
+ {
381
+ id: 'primary-monitoring',
382
+ label: 'Monitoring',
383
+ placement: 'primary',
384
+ surfaceIds: [
385
+ 'monitoring.activity-log',
386
+ 'monitoring.execution-logs',
387
+ 'monitoring.execution-health',
388
+ 'monitoring.cost-analytics',
389
+ 'monitoring.notifications',
390
+ 'submitted-requests.list',
391
+ 'submitted-requests.detail'
392
+ ]
393
+ },
394
+ {
395
+ id: 'primary-knowledge',
396
+ label: 'Knowledge',
397
+ placement: 'primary',
398
+ surfaceIds: ['knowledge.base', OPERATIONS_COMMAND_VIEW_SURFACE_ID]
399
+ },
400
+ {
401
+ id: 'primary-settings',
402
+ label: 'Settings',
403
+ placement: 'bottom',
404
+ surfaceIds: [
405
+ 'settings.account',
406
+ 'settings.appearance',
407
+ SETTINGS_ROLES_SURFACE_ID,
408
+ 'settings.organization',
409
+ 'settings.credentials',
410
+ 'settings.api-keys',
411
+ 'settings.webhooks',
412
+ 'settings.deployments'
413
+ ]
414
+ }
415
+ ]
416
+ }