@elevasis/ui 2.67.0 → 2.69.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 (122) hide show
  1. package/dist/api/index.d.ts +1 -1
  2. package/dist/api/index.js +3 -3
  3. package/dist/app/index.d.ts +575 -370
  4. package/dist/app/index.js +17 -23
  5. package/dist/auth/index.css +149 -149
  6. package/dist/auth/index.d.ts +5 -0
  7. package/dist/auth/index.js +11 -13
  8. package/dist/charts/index.css +208 -208
  9. package/dist/charts/index.js +11 -13
  10. package/dist/{chunk-M535KHLW.js → chunk-26BTE3Z4.js} +1 -1
  11. package/dist/chunk-3KMDHCAR.js +52 -0
  12. package/dist/chunk-3MEXPLWT.js +265 -0
  13. package/dist/chunk-4JHLS234.js +39 -0
  14. package/dist/chunk-6PZFOHJK.js +1764 -0
  15. package/dist/chunk-7WJEPTE7.js +194 -0
  16. package/dist/chunk-AH52XQB7.js +1 -0
  17. package/dist/{chunk-UFTM5SZZ.js → chunk-AKANHRQ5.js} +9 -3
  18. package/dist/chunk-BZZCNLT6.js +12 -0
  19. package/dist/chunk-C75XWBYZ.js +383 -0
  20. package/dist/chunk-DLR4SDZW.js +51 -0
  21. package/dist/{chunk-4OEVLV66.js → chunk-FLECOYUS.js} +113 -148
  22. package/dist/chunk-IRV6KJPV.js +425 -0
  23. package/dist/chunk-IT7GTJCB.js +10 -0
  24. package/dist/chunk-LGKLC5MG.js +44 -0
  25. package/dist/chunk-MFLM7BVC.js +85 -0
  26. package/dist/chunk-MRVGQLWN.js +1595 -0
  27. package/dist/{chunk-4DV4ECMG.js → chunk-N7U24M2J.js} +4 -0
  28. package/dist/{chunk-I7BZVVVU.js → chunk-NM4A63KJ.js} +104 -415
  29. package/dist/chunk-NU3NBXHP.js +1194 -0
  30. package/dist/chunk-PDHTXPSF.js +12 -0
  31. package/dist/chunk-RW64UJWT.js +1934 -0
  32. package/dist/{chunk-JFBZ6XDW.js → chunk-SNZDFCOQ.js} +3 -49
  33. package/dist/chunk-TUMSNGTX.js +35 -0
  34. package/dist/chunk-UD657ICS.js +589 -0
  35. package/dist/{chunk-XNW3O6QW.js → chunk-VDX6DL7Z.js} +1 -1
  36. package/dist/chunk-WXHAHKKI.js +16411 -0
  37. package/dist/chunk-XAZR3T6Y.js +2162 -0
  38. package/dist/chunk-XQ3ILKYN.js +37 -0
  39. package/dist/chunk-YCRINA2D.js +67 -0
  40. package/dist/chunk-YGCMMOY4.js +1484 -0
  41. package/dist/chunk-YNRYIXUT.js +10945 -0
  42. package/dist/chunk-ZD6LM53O.js +4528 -0
  43. package/dist/chunk-ZPTEGGKU.js +631 -0
  44. package/dist/components/chat/index.js +2 -1
  45. package/dist/components/index.css +208 -208
  46. package/dist/components/index.d.ts +1634 -264
  47. package/dist/components/index.js +2774 -14
  48. package/dist/components/navigation/index.css +149 -149
  49. package/dist/components/navigation/index.js +12 -13
  50. package/dist/features/auth/index.css +149 -149
  51. package/dist/features/auth/index.d.ts +457 -167
  52. package/dist/features/auth/index.js +13 -14
  53. package/dist/features/clients/index.css +208 -208
  54. package/dist/features/clients/index.d.ts +39 -1
  55. package/dist/features/clients/index.js +16 -13
  56. package/dist/features/content/index.d.ts +1788 -0
  57. package/dist/features/content/index.js +2180 -0
  58. package/dist/features/crm/index.d.ts +1802 -231
  59. package/dist/features/crm/index.js +16 -13
  60. package/dist/features/dashboard/index.d.ts +1 -8
  61. package/dist/features/dashboard/index.js +17 -13
  62. package/dist/features/delivery/index.d.ts +457 -167
  63. package/dist/features/delivery/index.js +16 -13
  64. package/dist/features/knowledge/index.css +149 -149
  65. package/dist/features/knowledge/index.js +11 -13
  66. package/dist/features/lead-gen/index.d.ts +53 -104
  67. package/dist/features/lead-gen/index.js +17 -13
  68. package/dist/features/monitoring/index.js +16 -13
  69. package/dist/features/monitoring/requests/index.js +15 -20
  70. package/dist/features/operations/index.d.ts +1 -86
  71. package/dist/features/operations/index.js +22 -12
  72. package/dist/features/public-agent-chat/index.js +2 -1
  73. package/dist/features/seo/index.js +2 -1
  74. package/dist/features/settings/index.d.ts +457 -167
  75. package/dist/features/settings/index.js +15 -13
  76. package/dist/hooks/access/index.css +149 -149
  77. package/dist/hooks/access/index.d.ts +5 -0
  78. package/dist/hooks/access/index.js +11 -13
  79. package/dist/hooks/delivery/index.d.ts +457 -167
  80. package/dist/hooks/delivery/index.js +2 -23
  81. package/dist/hooks/index.d.ts +2203 -244
  82. package/dist/hooks/index.js +11 -13
  83. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +1 -8
  84. package/dist/hooks/published.d.ts +2203 -244
  85. package/dist/hooks/published.js +11 -13
  86. package/dist/initialization/index.d.ts +465 -169
  87. package/dist/knowledge/index.css +149 -149
  88. package/dist/knowledge/index.d.ts +5 -90
  89. package/dist/knowledge/index.js +3215 -3203
  90. package/dist/{knowledge-search-index-6EZNBNSR.js → knowledge-search-index-LP2WVSQX.js} +689 -695
  91. package/dist/layout/index.css +149 -149
  92. package/dist/layout/index.js +15 -13
  93. package/dist/organization/index.d.ts +10 -4
  94. package/dist/organization/index.js +1 -21
  95. package/dist/profile/index.d.ts +457 -167
  96. package/dist/provider/index.d.ts +576 -372
  97. package/dist/provider/index.js +11 -13
  98. package/dist/provider/published.css +149 -149
  99. package/dist/provider/published.d.ts +576 -372
  100. package/dist/provider/published.js +11 -13
  101. package/dist/supabase/index.d.ts +906 -347
  102. package/dist/test-utils/index.d.ts +15 -2
  103. package/dist/test-utils/index.js +41 -12
  104. package/dist/test-utils/setup-integration.js +1 -1
  105. package/dist/test-utils/setup.js +1 -1
  106. package/dist/theme/index.js +3 -2
  107. package/dist/theme/presets/index.js +1 -1
  108. package/dist/typeform/index.js +2049 -1
  109. package/dist/types/index.d.ts +477 -177
  110. package/dist/utils/index.d.ts +1 -8
  111. package/dist/utils/index.js +1 -1
  112. package/dist/vite/index.js +2 -2
  113. package/dist/vite-plugin-knowledge/index.js +1 -1
  114. package/package.json +7 -3
  115. package/src/features/README.md +28 -28
  116. package/dist/chunk-5TERYXOO.js +0 -51390
  117. package/dist/chunk-AUDNF2Q7.js +0 -2050
  118. package/dist/index.d.ts +0 -17888
  119. package/dist/index.js +0 -30
  120. package/dist/{chunk-GMXGDO3I.js → chunk-MISHPEJX.js} +1 -1
  121. package/dist/{chunk-RBGVNPA6.js → chunk-XQBURFKM.js} +0 -0
  122. package/dist/{index.css → features/content/index.css} +149 -149
@@ -0,0 +1,1788 @@
1
+ import { ComponentType, ReactNode } from 'react';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+ import { z } from 'zod';
4
+
5
+ declare const ResourceKindSchema: z.ZodEnum<{
6
+ agent: "agent";
7
+ workflow: "workflow";
8
+ integration: "integration";
9
+ script: "script";
10
+ }>;
11
+
12
+ declare const OntologyScopeSchema: z.ZodDefault<z.ZodObject<{
13
+ objectTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
14
+ id: z.ZodString;
15
+ label: z.ZodOptional<z.ZodString>;
16
+ description: z.ZodOptional<z.ZodString>;
17
+ ownerSystemId: z.ZodOptional<z.ZodString>;
18
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
19
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
20
+ storage: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
21
+ }, z.core.$loose>>>>;
22
+ linkTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
23
+ id: z.ZodString;
24
+ label: z.ZodOptional<z.ZodString>;
25
+ description: z.ZodOptional<z.ZodString>;
26
+ ownerSystemId: z.ZodOptional<z.ZodString>;
27
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
28
+ from: z.ZodString;
29
+ to: z.ZodString;
30
+ cardinality: z.ZodOptional<z.ZodString>;
31
+ via: z.ZodOptional<z.ZodString>;
32
+ }, z.core.$loose>>>>;
33
+ actionTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
34
+ id: z.ZodString;
35
+ label: z.ZodOptional<z.ZodString>;
36
+ description: z.ZodOptional<z.ZodString>;
37
+ ownerSystemId: z.ZodOptional<z.ZodString>;
38
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
39
+ actsOn: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
40
+ input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
41
+ effects: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
42
+ }, z.core.$loose>>>>;
43
+ catalogTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
44
+ id: z.ZodString;
45
+ label: z.ZodOptional<z.ZodString>;
46
+ description: z.ZodOptional<z.ZodString>;
47
+ ownerSystemId: z.ZodOptional<z.ZodString>;
48
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
49
+ kind: z.ZodOptional<z.ZodString>;
50
+ appliesTo: z.ZodOptional<z.ZodString>;
51
+ entries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
52
+ }, z.core.$loose>>>>;
53
+ eventTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
54
+ id: z.ZodString;
55
+ label: z.ZodOptional<z.ZodString>;
56
+ description: z.ZodOptional<z.ZodString>;
57
+ ownerSystemId: z.ZodOptional<z.ZodString>;
58
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
59
+ payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
60
+ }, z.core.$loose>>>>;
61
+ interfaceTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
62
+ id: z.ZodString;
63
+ label: z.ZodOptional<z.ZodString>;
64
+ description: z.ZodOptional<z.ZodString>;
65
+ ownerSystemId: z.ZodOptional<z.ZodString>;
66
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
67
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
68
+ }, z.core.$loose>>>>;
69
+ valueTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
70
+ id: z.ZodString;
71
+ label: z.ZodOptional<z.ZodString>;
72
+ description: z.ZodOptional<z.ZodString>;
73
+ ownerSystemId: z.ZodOptional<z.ZodString>;
74
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
75
+ primitive: z.ZodOptional<z.ZodString>;
76
+ }, z.core.$loose>>>>;
77
+ sharedProperties: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
78
+ id: z.ZodString;
79
+ label: z.ZodOptional<z.ZodString>;
80
+ description: z.ZodOptional<z.ZodString>;
81
+ ownerSystemId: z.ZodOptional<z.ZodString>;
82
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
83
+ valueType: z.ZodOptional<z.ZodString>;
84
+ searchable: z.ZodOptional<z.ZodBoolean>;
85
+ pii: z.ZodOptional<z.ZodBoolean>;
86
+ }, z.core.$loose>>>>;
87
+ groups: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
88
+ id: z.ZodString;
89
+ label: z.ZodOptional<z.ZodString>;
90
+ description: z.ZodOptional<z.ZodString>;
91
+ ownerSystemId: z.ZodOptional<z.ZodString>;
92
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
93
+ members: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
94
+ }, z.core.$loose>>>>;
95
+ endpoints: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
96
+ id: z.ZodString;
97
+ label: z.ZodOptional<z.ZodString>;
98
+ description: z.ZodOptional<z.ZodString>;
99
+ ownerSystemId: z.ZodOptional<z.ZodString>;
100
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
101
+ route: z.ZodOptional<z.ZodString>;
102
+ }, z.core.$loose>>>>;
103
+ }, z.core.$strip>>;
104
+ type OntologyScope = z.infer<typeof OntologyScopeSchema>;
105
+
106
+ declare const SystemApiInterfaceSchema: z.ZodObject<{
107
+ lifecycle: z.ZodDefault<z.ZodEnum<{
108
+ active: "active";
109
+ deprecated: "deprecated";
110
+ draft: "draft";
111
+ archived: "archived";
112
+ disabled: "disabled";
113
+ }>>;
114
+ readinessProfile: z.ZodOptional<z.ZodString>;
115
+ resourceIds: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
116
+ readinessContract: z.ZodOptional<z.ZodObject<{
117
+ requiredObjects: z.ZodDefault<z.ZodArray<z.ZodString>>;
118
+ requiredCatalogs: z.ZodArray<z.ZodString>;
119
+ }, z.core.$strict>>;
120
+ }, z.core.$strict>;
121
+ type JsonPrimitive = string | number | boolean | null;
122
+ type JsonValue = JsonPrimitive | JsonValue[] | {
123
+ [key: string]: JsonValue;
124
+ };
125
+ /** Explicit interface needed to annotate the recursive SystemEntrySchema. */
126
+ interface SystemEntry {
127
+ id: string;
128
+ label?: string;
129
+ title?: string;
130
+ description?: string;
131
+ kind?: 'product' | 'operational' | 'platform' | 'diagnostic';
132
+ parentSystemId?: string;
133
+ ui?: {
134
+ path: string;
135
+ surfaces: string[];
136
+ icon?: string;
137
+ };
138
+ lifecycle?: 'draft' | 'beta' | 'active' | 'deprecated' | 'archived';
139
+ responsibleRoleId?: string;
140
+ governedByKnowledge?: string[];
141
+ actions?: {
142
+ actionId: string;
143
+ intent: 'exposes' | 'consumes';
144
+ invocation?: unknown;
145
+ }[];
146
+ drivesGoals?: string[];
147
+ apiInterface?: z.infer<typeof SystemApiInterfaceSchema>;
148
+ path?: string;
149
+ icon?: string;
150
+ uiPosition?: 'sidebar-primary' | 'sidebar-bottom';
151
+ enabled?: boolean;
152
+ order: number;
153
+ config?: Record<string, JsonValue>;
154
+ ontology?: OntologyScope;
155
+ systems?: Record<string, SystemEntry>;
156
+ subsystems?: Record<string, SystemEntry>;
157
+ }
158
+
159
+ declare const SurfaceTypeSchema: z.ZodEnum<{
160
+ dashboard: "dashboard";
161
+ settings: "settings";
162
+ graph: "graph";
163
+ page: "page";
164
+ detail: "detail";
165
+ list: "list";
166
+ }>;
167
+ interface SidebarSurfaceNode {
168
+ type: 'surface';
169
+ label: string;
170
+ path: string;
171
+ surfaceType: z.infer<typeof SurfaceTypeSchema>;
172
+ description?: string;
173
+ icon?: string;
174
+ order?: number;
175
+ targets?: {
176
+ systems?: string[];
177
+ entities?: string[];
178
+ resources?: string[];
179
+ actions?: string[];
180
+ };
181
+ devOnly?: boolean;
182
+ requiresAdmin?: boolean;
183
+ }
184
+ interface SidebarGroupNode {
185
+ type: 'group';
186
+ label: string;
187
+ description?: string;
188
+ icon?: string;
189
+ order?: number;
190
+ children: Record<string, SidebarNode>;
191
+ }
192
+ type SidebarNode = SidebarSurfaceNode | SidebarGroupNode;
193
+
194
+ /** D5: who/what executes a content pipeline step. */
195
+ declare const ContentPipelineStepActorSchema: z.ZodEnum<{
196
+ agent: "agent";
197
+ workflow: "workflow";
198
+ vendor: "vendor";
199
+ }>;
200
+ type ContentPipelineStepActor = z.infer<typeof ContentPipelineStepActorSchema>;
201
+ /** D5: how a human reviews a content pipeline step's output. */
202
+ declare const ContentPipelineStepReviewModeSchema: z.ZodEnum<{
203
+ none: "none";
204
+ live: "live";
205
+ queued: "queued";
206
+ }>;
207
+ type ContentPipelineStepReviewMode = z.infer<typeof ContentPipelineStepReviewModeSchema>;
208
+ /** D17: one entry in a step's template-declared serializable payload field list. */
209
+ declare const ContentPayloadFieldDeclarationSchema: z.ZodObject<{
210
+ key: z.ZodString;
211
+ label: z.ZodString;
212
+ type: z.ZodEnum<{
213
+ string: "string";
214
+ number: "number";
215
+ boolean: "boolean";
216
+ text: "text";
217
+ url: "url";
218
+ "string-array": "string-array";
219
+ }>;
220
+ required: z.ZodOptional<z.ZodBoolean>;
221
+ }, z.core.$strip>;
222
+ type ContentPayloadFieldDeclaration = z.infer<typeof ContentPayloadFieldDeclarationSchema>;
223
+ /** One step in a resolved content pipeline, as returned by `getContentBuildTemplates`. */
224
+ interface ContentPipelineStepEntry {
225
+ /** Matches the catalog entry id (the step's local id within its step catalog). */
226
+ key: string;
227
+ /** Human-readable label for UI display. */
228
+ label: string;
229
+ /** Short description of what this step does. */
230
+ description?: string;
231
+ /** Canonical step order for UI sorting. Lower = earlier in the pipeline. */
232
+ order: number;
233
+ /** D5: who/what executes this step. */
234
+ actor: ContentPipelineStepActor;
235
+ /** D5: how a human reviews this step's output. */
236
+ reviewMode: ContentPipelineStepReviewMode;
237
+ /** D5: the step key this step advances to. Absent on a terminal step. */
238
+ advancesTo?: string;
239
+ /**
240
+ * The ontology action id this step invokes. Absent when no Resource
241
+ * implements the step yet. See `ContentPipelineStepDeclarationSchema`.
242
+ */
243
+ actionId?: string;
244
+ /** D17: the template-declared serializable field list for this step's payload. */
245
+ payloadFields: ContentPayloadFieldDeclaration[];
246
+ }
247
+ /** One resolved content pipeline, as returned by `getContentBuildTemplates`. */
248
+ interface ContentPipelineTemplate {
249
+ id: string;
250
+ label: string;
251
+ description?: string;
252
+ color?: string;
253
+ steps: ContentPipelineStepEntry[];
254
+ }
255
+ /** One entry in a resolved `content-stage` catalog (status / pillar / platform), as returned by `getContentStageCatalog`. */
256
+ interface ContentStageCatalogEntry {
257
+ /** Local id of the `content-stage` catalog this entry came from (e.g. 'status', 'pillar', 'platform'). */
258
+ catalogKey: string;
259
+ /** Matches the entry id within its catalog (e.g. 'draft', 'linkedin'). */
260
+ key: string;
261
+ label: string;
262
+ description: string;
263
+ order: number;
264
+ color?: string;
265
+ }
266
+
267
+ declare const OrganizationModelSchema: z.ZodObject<{
268
+ version: z.ZodDefault<z.ZodLiteral<1>>;
269
+ snapshotHash: z.ZodOptional<z.ZodString>;
270
+ domainMetadata: z.ZodPipe<z.ZodDefault<z.ZodObject<{
271
+ branding: z.ZodOptional<z.ZodObject<{
272
+ version: z.ZodDefault<z.ZodLiteral<1>>;
273
+ lastModified: z.ZodString;
274
+ }, z.core.$strip>>;
275
+ identity: z.ZodOptional<z.ZodObject<{
276
+ version: z.ZodDefault<z.ZodLiteral<1>>;
277
+ lastModified: z.ZodString;
278
+ }, z.core.$strip>>;
279
+ clients: z.ZodOptional<z.ZodObject<{
280
+ version: z.ZodDefault<z.ZodLiteral<1>>;
281
+ lastModified: z.ZodString;
282
+ }, z.core.$strip>>;
283
+ customers: z.ZodOptional<z.ZodObject<{
284
+ version: z.ZodDefault<z.ZodLiteral<1>>;
285
+ lastModified: z.ZodString;
286
+ }, z.core.$strip>>;
287
+ offerings: z.ZodOptional<z.ZodObject<{
288
+ version: z.ZodDefault<z.ZodLiteral<1>>;
289
+ lastModified: z.ZodString;
290
+ }, z.core.$strip>>;
291
+ roles: z.ZodOptional<z.ZodObject<{
292
+ version: z.ZodDefault<z.ZodLiteral<1>>;
293
+ lastModified: z.ZodString;
294
+ }, z.core.$strip>>;
295
+ goals: z.ZodOptional<z.ZodObject<{
296
+ version: z.ZodDefault<z.ZodLiteral<1>>;
297
+ lastModified: z.ZodString;
298
+ }, z.core.$strip>>;
299
+ systems: z.ZodOptional<z.ZodObject<{
300
+ version: z.ZodDefault<z.ZodLiteral<1>>;
301
+ lastModified: z.ZodString;
302
+ }, z.core.$strip>>;
303
+ ontology: z.ZodOptional<z.ZodObject<{
304
+ version: z.ZodDefault<z.ZodLiteral<1>>;
305
+ lastModified: z.ZodString;
306
+ }, z.core.$strip>>;
307
+ resources: z.ZodOptional<z.ZodObject<{
308
+ version: z.ZodDefault<z.ZodLiteral<1>>;
309
+ lastModified: z.ZodString;
310
+ }, z.core.$strip>>;
311
+ topology: z.ZodOptional<z.ZodObject<{
312
+ version: z.ZodDefault<z.ZodLiteral<1>>;
313
+ lastModified: z.ZodString;
314
+ }, z.core.$strip>>;
315
+ actions: z.ZodOptional<z.ZodObject<{
316
+ version: z.ZodDefault<z.ZodLiteral<1>>;
317
+ lastModified: z.ZodString;
318
+ }, z.core.$strip>>;
319
+ entities: z.ZodOptional<z.ZodObject<{
320
+ version: z.ZodDefault<z.ZodLiteral<1>>;
321
+ lastModified: z.ZodString;
322
+ }, z.core.$strip>>;
323
+ knowledge: z.ZodOptional<z.ZodObject<{
324
+ version: z.ZodDefault<z.ZodLiteral<1>>;
325
+ lastModified: z.ZodString;
326
+ }, z.core.$strip>>;
327
+ }, z.core.$strip>>, z.ZodTransform<{
328
+ branding: {
329
+ version: 1;
330
+ lastModified: string;
331
+ };
332
+ identity: {
333
+ version: 1;
334
+ lastModified: string;
335
+ };
336
+ clients: {
337
+ version: 1;
338
+ lastModified: string;
339
+ };
340
+ customers: {
341
+ version: 1;
342
+ lastModified: string;
343
+ };
344
+ offerings: {
345
+ version: 1;
346
+ lastModified: string;
347
+ };
348
+ roles: {
349
+ version: 1;
350
+ lastModified: string;
351
+ };
352
+ goals: {
353
+ version: 1;
354
+ lastModified: string;
355
+ };
356
+ systems: {
357
+ version: 1;
358
+ lastModified: string;
359
+ };
360
+ ontology: {
361
+ version: 1;
362
+ lastModified: string;
363
+ };
364
+ resources: {
365
+ version: 1;
366
+ lastModified: string;
367
+ };
368
+ topology: {
369
+ version: 1;
370
+ lastModified: string;
371
+ };
372
+ actions: {
373
+ version: 1;
374
+ lastModified: string;
375
+ };
376
+ entities: {
377
+ version: 1;
378
+ lastModified: string;
379
+ };
380
+ knowledge: {
381
+ version: 1;
382
+ lastModified: string;
383
+ };
384
+ }, {
385
+ branding?: {
386
+ version: 1;
387
+ lastModified: string;
388
+ } | undefined;
389
+ identity?: {
390
+ version: 1;
391
+ lastModified: string;
392
+ } | undefined;
393
+ clients?: {
394
+ version: 1;
395
+ lastModified: string;
396
+ } | undefined;
397
+ customers?: {
398
+ version: 1;
399
+ lastModified: string;
400
+ } | undefined;
401
+ offerings?: {
402
+ version: 1;
403
+ lastModified: string;
404
+ } | undefined;
405
+ roles?: {
406
+ version: 1;
407
+ lastModified: string;
408
+ } | undefined;
409
+ goals?: {
410
+ version: 1;
411
+ lastModified: string;
412
+ } | undefined;
413
+ systems?: {
414
+ version: 1;
415
+ lastModified: string;
416
+ } | undefined;
417
+ ontology?: {
418
+ version: 1;
419
+ lastModified: string;
420
+ } | undefined;
421
+ resources?: {
422
+ version: 1;
423
+ lastModified: string;
424
+ } | undefined;
425
+ topology?: {
426
+ version: 1;
427
+ lastModified: string;
428
+ } | undefined;
429
+ actions?: {
430
+ version: 1;
431
+ lastModified: string;
432
+ } | undefined;
433
+ entities?: {
434
+ version: 1;
435
+ lastModified: string;
436
+ } | undefined;
437
+ knowledge?: {
438
+ version: 1;
439
+ lastModified: string;
440
+ } | undefined;
441
+ }>>;
442
+ branding: z.ZodDefault<z.ZodObject<{
443
+ organizationName: z.ZodString;
444
+ productName: z.ZodString;
445
+ shortName: z.ZodString;
446
+ description: z.ZodOptional<z.ZodString>;
447
+ logos: z.ZodDefault<z.ZodObject<{
448
+ light: z.ZodOptional<z.ZodString>;
449
+ dark: z.ZodOptional<z.ZodString>;
450
+ }, z.core.$strip>>;
451
+ voice: z.ZodOptional<z.ZodString>;
452
+ tagline: z.ZodOptional<z.ZodString>;
453
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
454
+ themePresetId: z.ZodOptional<z.ZodString>;
455
+ }, z.core.$loose>>;
456
+ navigation: z.ZodDefault<z.ZodObject<{
457
+ sidebar: z.ZodDefault<z.ZodObject<{
458
+ primary: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<SidebarNode, unknown, z.core.$ZodTypeInternals<SidebarNode, unknown>>>>;
459
+ bottom: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<SidebarNode, unknown, z.core.$ZodTypeInternals<SidebarNode, unknown>>>>;
460
+ }, z.core.$strip>>;
461
+ topbar: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
462
+ id: z.ZodString;
463
+ label: z.ZodString;
464
+ tooltip: z.ZodOptional<z.ZodString>;
465
+ icon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
466
+ message: "message";
467
+ error: "error";
468
+ agent: "agent";
469
+ workflow: "workflow";
470
+ "google-sheets": "google-sheets";
471
+ dashboard: "dashboard";
472
+ calendar: "calendar";
473
+ sales: "sales";
474
+ crm: "crm";
475
+ "lead-gen": "lead-gen";
476
+ projects: "projects";
477
+ clients: "clients";
478
+ operations: "operations";
479
+ monitoring: "monitoring";
480
+ knowledge: "knowledge";
481
+ settings: "settings";
482
+ admin: "admin";
483
+ archive: "archive";
484
+ business: "business";
485
+ finance: "finance";
486
+ platform: "platform";
487
+ seo: "seo";
488
+ playbook: "playbook";
489
+ strategy: "strategy";
490
+ reference: "reference";
491
+ integration: "integration";
492
+ database: "database";
493
+ user: "user";
494
+ team: "team";
495
+ gmail: "gmail";
496
+ attio: "attio";
497
+ overview: "overview";
498
+ "command-view": "command-view";
499
+ "command-queue": "command-queue";
500
+ pipeline: "pipeline";
501
+ lists: "lists";
502
+ resources: "resources";
503
+ approve: "approve";
504
+ reject: "reject";
505
+ retry: "retry";
506
+ edit: "edit";
507
+ view: "view";
508
+ launch: "launch";
509
+ "message-plus": "message-plus";
510
+ escalate: "escalate";
511
+ promote: "promote";
512
+ submit: "submit";
513
+ email: "email";
514
+ success: "success";
515
+ warning: "warning";
516
+ info: "info";
517
+ pending: "pending";
518
+ bolt: "bolt";
519
+ building: "building";
520
+ briefcase: "briefcase";
521
+ apps: "apps";
522
+ graph: "graph";
523
+ shield: "shield";
524
+ users: "users";
525
+ "chart-bar": "chart-bar";
526
+ search: "search";
527
+ }>, z.ZodString]>>;
528
+ order: z.ZodOptional<z.ZodNumber>;
529
+ enabled: z.ZodDefault<z.ZodBoolean>;
530
+ devOnly: z.ZodOptional<z.ZodBoolean>;
531
+ requiresAdmin: z.ZodOptional<z.ZodBoolean>;
532
+ targets: z.ZodOptional<z.ZodDefault<z.ZodObject<{
533
+ systems: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
534
+ entities: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
535
+ resources: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
536
+ actions: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
537
+ }, z.core.$strip>>>;
538
+ }, z.core.$strip>>>;
539
+ }, z.core.$strip>>;
540
+ identity: z.ZodDefault<z.ZodObject<{
541
+ mission: z.ZodDefault<z.ZodString>;
542
+ vision: z.ZodDefault<z.ZodString>;
543
+ legalName: z.ZodDefault<z.ZodString>;
544
+ entityType: z.ZodDefault<z.ZodString>;
545
+ jurisdiction: z.ZodDefault<z.ZodString>;
546
+ industryCategory: z.ZodDefault<z.ZodString>;
547
+ geographicFocus: z.ZodDefault<z.ZodString>;
548
+ timeZone: z.ZodDefault<z.ZodString>;
549
+ businessHours: z.ZodDefault<z.ZodObject<{
550
+ monday: z.ZodOptional<z.ZodObject<{
551
+ open: z.ZodString;
552
+ close: z.ZodString;
553
+ }, z.core.$strip>>;
554
+ tuesday: z.ZodOptional<z.ZodObject<{
555
+ open: z.ZodString;
556
+ close: z.ZodString;
557
+ }, z.core.$strip>>;
558
+ wednesday: z.ZodOptional<z.ZodObject<{
559
+ open: z.ZodString;
560
+ close: z.ZodString;
561
+ }, z.core.$strip>>;
562
+ thursday: z.ZodOptional<z.ZodObject<{
563
+ open: z.ZodString;
564
+ close: z.ZodString;
565
+ }, z.core.$strip>>;
566
+ friday: z.ZodOptional<z.ZodObject<{
567
+ open: z.ZodString;
568
+ close: z.ZodString;
569
+ }, z.core.$strip>>;
570
+ saturday: z.ZodOptional<z.ZodObject<{
571
+ open: z.ZodString;
572
+ close: z.ZodString;
573
+ }, z.core.$strip>>;
574
+ sunday: z.ZodOptional<z.ZodObject<{
575
+ open: z.ZodString;
576
+ close: z.ZodString;
577
+ }, z.core.$strip>>;
578
+ }, z.core.$strip>>;
579
+ clientBrief: z.ZodDefault<z.ZodString>;
580
+ organizationName: z.ZodOptional<z.ZodString>;
581
+ productName: z.ZodOptional<z.ZodString>;
582
+ shortName: z.ZodOptional<z.ZodString>;
583
+ description: z.ZodOptional<z.ZodString>;
584
+ }, z.core.$loose>>;
585
+ clients: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
586
+ id: z.ZodString;
587
+ slug: z.ZodString;
588
+ name: z.ZodString;
589
+ status: z.ZodDefault<z.ZodEnum<{
590
+ active: "active";
591
+ onboarding: "onboarding";
592
+ paused: "paused";
593
+ completed: "completed";
594
+ churned: "churned";
595
+ }>>;
596
+ source: z.ZodOptional<z.ZodString>;
597
+ identity: z.ZodDefault<z.ZodObject<{
598
+ organizationName: z.ZodOptional<z.ZodString>;
599
+ shortName: z.ZodOptional<z.ZodString>;
600
+ clientBrief: z.ZodDefault<z.ZodString>;
601
+ geographicFocus: z.ZodDefault<z.ZodArray<z.ZodString>>;
602
+ timeZone: z.ZodDefault<z.ZodString>;
603
+ }, z.core.$loose>>;
604
+ branding: z.ZodDefault<z.ZodObject<{
605
+ voice: z.ZodOptional<z.ZodString>;
606
+ tagline: z.ZodOptional<z.ZodString>;
607
+ values: z.ZodDefault<z.ZodArray<z.ZodString>>;
608
+ }, z.core.$loose>>;
609
+ workspace: z.ZodDefault<z.ZodObject<{
610
+ kind: z.ZodOptional<z.ZodEnum<{
611
+ "external-project": "external-project";
612
+ "internal-project": "internal-project";
613
+ none: "none";
614
+ }>>;
615
+ owner: z.ZodOptional<z.ZodEnum<{
616
+ platform: "platform";
617
+ client: "client";
618
+ developer: "developer";
619
+ }>>;
620
+ projectId: z.ZodOptional<z.ZodString>;
621
+ workspacePath: z.ZodOptional<z.ZodString>;
622
+ }, z.core.$loose>>;
623
+ links: z.ZodDefault<z.ZodObject<{
624
+ projectIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
625
+ primaryCompanyId: z.ZodOptional<z.ZodString>;
626
+ primaryContactId: z.ZodOptional<z.ZodString>;
627
+ sourceDealId: z.ZodOptional<z.ZodString>;
628
+ }, z.core.$strip>>;
629
+ prompts: z.ZodDefault<z.ZodObject<{
630
+ defaultContext: z.ZodDefault<z.ZodString>;
631
+ }, z.core.$loose>>;
632
+ config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
633
+ customValues: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
634
+ }, z.core.$strict>>>>;
635
+ customers: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
636
+ id: z.ZodString;
637
+ order: z.ZodNumber;
638
+ name: z.ZodDefault<z.ZodString>;
639
+ description: z.ZodDefault<z.ZodString>;
640
+ jobsToBeDone: z.ZodDefault<z.ZodString>;
641
+ pains: z.ZodDefault<z.ZodArray<z.ZodString>>;
642
+ gains: z.ZodDefault<z.ZodArray<z.ZodString>>;
643
+ firmographics: z.ZodDefault<z.ZodObject<{
644
+ industry: z.ZodOptional<z.ZodString>;
645
+ companySize: z.ZodOptional<z.ZodString>;
646
+ region: z.ZodOptional<z.ZodString>;
647
+ }, z.core.$strip>>;
648
+ valueProp: z.ZodDefault<z.ZodString>;
649
+ }, z.core.$strip>>>>;
650
+ offerings: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
651
+ id: z.ZodString;
652
+ order: z.ZodNumber;
653
+ name: z.ZodDefault<z.ZodString>;
654
+ description: z.ZodDefault<z.ZodString>;
655
+ pricingModel: z.ZodDefault<z.ZodEnum<{
656
+ custom: "custom";
657
+ "one-time": "one-time";
658
+ subscription: "subscription";
659
+ "usage-based": "usage-based";
660
+ }>>;
661
+ price: z.ZodDefault<z.ZodNumber>;
662
+ currency: z.ZodDefault<z.ZodString>;
663
+ targetSegmentIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
664
+ deliveryFeatureId: z.ZodOptional<z.ZodString>;
665
+ }, z.core.$strip>>>>;
666
+ roles: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
667
+ id: z.ZodString;
668
+ order: z.ZodNumber;
669
+ title: z.ZodString;
670
+ responsibilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
671
+ reportsToId: z.ZodOptional<z.ZodString>;
672
+ heldBy: z.ZodOptional<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
673
+ kind: z.ZodLiteral<"human">;
674
+ userId: z.ZodString;
675
+ }, z.core.$strip>, z.ZodObject<{
676
+ kind: z.ZodLiteral<"agent">;
677
+ agentId: z.ZodString;
678
+ }, z.core.$strip>, z.ZodObject<{
679
+ kind: z.ZodLiteral<"team">;
680
+ memberIds: z.ZodArray<z.ZodString>;
681
+ }, z.core.$strip>], "kind">, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
682
+ kind: z.ZodLiteral<"human">;
683
+ userId: z.ZodString;
684
+ }, z.core.$strip>, z.ZodObject<{
685
+ kind: z.ZodLiteral<"agent">;
686
+ agentId: z.ZodString;
687
+ }, z.core.$strip>, z.ZodObject<{
688
+ kind: z.ZodLiteral<"team">;
689
+ memberIds: z.ZodArray<z.ZodString>;
690
+ }, z.core.$strip>], "kind">>]>>;
691
+ responsibleFor: z.ZodOptional<z.ZodArray<z.ZodString>>;
692
+ }, z.core.$strip>>>>;
693
+ goals: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
694
+ id: z.ZodString;
695
+ order: z.ZodNumber;
696
+ description: z.ZodString;
697
+ periodStart: z.ZodString;
698
+ periodEnd: z.ZodString;
699
+ keyResults: z.ZodDefault<z.ZodArray<z.ZodObject<{
700
+ id: z.ZodString;
701
+ description: z.ZodString;
702
+ targetMetric: z.ZodString;
703
+ currentValue: z.ZodDefault<z.ZodNumber>;
704
+ targetValue: z.ZodOptional<z.ZodNumber>;
705
+ }, z.core.$strip>>>;
706
+ }, z.core.$strip>>>>;
707
+ systems: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<SystemEntry, unknown, z.core.$ZodTypeInternals<SystemEntry, unknown>>>>>;
708
+ ontology: z.ZodDefault<z.ZodDefault<z.ZodObject<{
709
+ objectTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
710
+ id: z.ZodString;
711
+ label: z.ZodOptional<z.ZodString>;
712
+ description: z.ZodOptional<z.ZodString>;
713
+ ownerSystemId: z.ZodOptional<z.ZodString>;
714
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
715
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
716
+ storage: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
717
+ }, z.core.$loose>>>>;
718
+ linkTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
719
+ id: z.ZodString;
720
+ label: z.ZodOptional<z.ZodString>;
721
+ description: z.ZodOptional<z.ZodString>;
722
+ ownerSystemId: z.ZodOptional<z.ZodString>;
723
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
724
+ from: z.ZodString;
725
+ to: z.ZodString;
726
+ cardinality: z.ZodOptional<z.ZodString>;
727
+ via: z.ZodOptional<z.ZodString>;
728
+ }, z.core.$loose>>>>;
729
+ actionTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
730
+ id: z.ZodString;
731
+ label: z.ZodOptional<z.ZodString>;
732
+ description: z.ZodOptional<z.ZodString>;
733
+ ownerSystemId: z.ZodOptional<z.ZodString>;
734
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
735
+ actsOn: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
736
+ input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
737
+ effects: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
738
+ }, z.core.$loose>>>>;
739
+ catalogTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
740
+ id: z.ZodString;
741
+ label: z.ZodOptional<z.ZodString>;
742
+ description: z.ZodOptional<z.ZodString>;
743
+ ownerSystemId: z.ZodOptional<z.ZodString>;
744
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
745
+ kind: z.ZodOptional<z.ZodString>;
746
+ appliesTo: z.ZodOptional<z.ZodString>;
747
+ entries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
748
+ }, z.core.$loose>>>>;
749
+ eventTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
750
+ id: z.ZodString;
751
+ label: z.ZodOptional<z.ZodString>;
752
+ description: z.ZodOptional<z.ZodString>;
753
+ ownerSystemId: z.ZodOptional<z.ZodString>;
754
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
755
+ payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
756
+ }, z.core.$loose>>>>;
757
+ interfaceTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
758
+ id: z.ZodString;
759
+ label: z.ZodOptional<z.ZodString>;
760
+ description: z.ZodOptional<z.ZodString>;
761
+ ownerSystemId: z.ZodOptional<z.ZodString>;
762
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
763
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
764
+ }, z.core.$loose>>>>;
765
+ valueTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
766
+ id: z.ZodString;
767
+ label: z.ZodOptional<z.ZodString>;
768
+ description: z.ZodOptional<z.ZodString>;
769
+ ownerSystemId: z.ZodOptional<z.ZodString>;
770
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
771
+ primitive: z.ZodOptional<z.ZodString>;
772
+ }, z.core.$loose>>>>;
773
+ sharedProperties: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
774
+ id: z.ZodString;
775
+ label: z.ZodOptional<z.ZodString>;
776
+ description: z.ZodOptional<z.ZodString>;
777
+ ownerSystemId: z.ZodOptional<z.ZodString>;
778
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
779
+ valueType: z.ZodOptional<z.ZodString>;
780
+ searchable: z.ZodOptional<z.ZodBoolean>;
781
+ pii: z.ZodOptional<z.ZodBoolean>;
782
+ }, z.core.$loose>>>>;
783
+ groups: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
784
+ id: z.ZodString;
785
+ label: z.ZodOptional<z.ZodString>;
786
+ description: z.ZodOptional<z.ZodString>;
787
+ ownerSystemId: z.ZodOptional<z.ZodString>;
788
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
789
+ members: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
790
+ }, z.core.$loose>>>>;
791
+ endpoints: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
792
+ id: z.ZodString;
793
+ label: z.ZodOptional<z.ZodString>;
794
+ description: z.ZodOptional<z.ZodString>;
795
+ ownerSystemId: z.ZodOptional<z.ZodString>;
796
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
797
+ route: z.ZodOptional<z.ZodString>;
798
+ }, z.core.$loose>>>>;
799
+ }, z.core.$strip>>>;
800
+ resources: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
801
+ id: z.ZodString;
802
+ order: z.ZodDefault<z.ZodNumber>;
803
+ systemPath: z.ZodString;
804
+ title: z.ZodOptional<z.ZodString>;
805
+ description: z.ZodOptional<z.ZodString>;
806
+ ownerRoleId: z.ZodOptional<z.ZodString>;
807
+ status: z.ZodEnum<{
808
+ active: "active";
809
+ deprecated: "deprecated";
810
+ archived: "archived";
811
+ }>;
812
+ ontology: z.ZodOptional<z.ZodObject<{
813
+ actions: z.ZodOptional<z.ZodArray<z.ZodString>>;
814
+ primaryAction: z.ZodOptional<z.ZodString>;
815
+ reads: z.ZodOptional<z.ZodArray<z.ZodString>>;
816
+ writes: z.ZodOptional<z.ZodArray<z.ZodString>>;
817
+ usesCatalogs: z.ZodOptional<z.ZodArray<z.ZodString>>;
818
+ emits: z.ZodOptional<z.ZodArray<z.ZodString>>;
819
+ contract: z.ZodOptional<z.ZodObject<{
820
+ input: z.ZodOptional<z.ZodString>;
821
+ output: z.ZodOptional<z.ZodString>;
822
+ }, z.core.$strip>>;
823
+ }, z.core.$strip>>;
824
+ codeRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
825
+ path: z.ZodString;
826
+ role: z.ZodEnum<{
827
+ entrypoint: "entrypoint";
828
+ handler: "handler";
829
+ schema: "schema";
830
+ test: "test";
831
+ docs: "docs";
832
+ config: "config";
833
+ }>;
834
+ symbol: z.ZodOptional<z.ZodString>;
835
+ description: z.ZodOptional<z.ZodString>;
836
+ }, z.core.$strip>>>;
837
+ kind: z.ZodLiteral<"workflow">;
838
+ emits: z.ZodOptional<z.ZodArray<z.ZodObject<{
839
+ eventKey: z.ZodString;
840
+ label: z.ZodString;
841
+ payloadSchema: z.ZodOptional<z.ZodString>;
842
+ lifecycle: z.ZodOptional<z.ZodEnum<{
843
+ active: "active";
844
+ deprecated: "deprecated";
845
+ draft: "draft";
846
+ beta: "beta";
847
+ archived: "archived";
848
+ }>>;
849
+ }, z.core.$strip>>>;
850
+ }, z.core.$strip>, z.ZodObject<{
851
+ id: z.ZodString;
852
+ order: z.ZodDefault<z.ZodNumber>;
853
+ systemPath: z.ZodString;
854
+ title: z.ZodOptional<z.ZodString>;
855
+ description: z.ZodOptional<z.ZodString>;
856
+ ownerRoleId: z.ZodOptional<z.ZodString>;
857
+ status: z.ZodEnum<{
858
+ active: "active";
859
+ deprecated: "deprecated";
860
+ archived: "archived";
861
+ }>;
862
+ ontology: z.ZodOptional<z.ZodObject<{
863
+ actions: z.ZodOptional<z.ZodArray<z.ZodString>>;
864
+ primaryAction: z.ZodOptional<z.ZodString>;
865
+ reads: z.ZodOptional<z.ZodArray<z.ZodString>>;
866
+ writes: z.ZodOptional<z.ZodArray<z.ZodString>>;
867
+ usesCatalogs: z.ZodOptional<z.ZodArray<z.ZodString>>;
868
+ emits: z.ZodOptional<z.ZodArray<z.ZodString>>;
869
+ contract: z.ZodOptional<z.ZodObject<{
870
+ input: z.ZodOptional<z.ZodString>;
871
+ output: z.ZodOptional<z.ZodString>;
872
+ }, z.core.$strip>>;
873
+ }, z.core.$strip>>;
874
+ codeRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
875
+ path: z.ZodString;
876
+ role: z.ZodEnum<{
877
+ entrypoint: "entrypoint";
878
+ handler: "handler";
879
+ schema: "schema";
880
+ test: "test";
881
+ docs: "docs";
882
+ config: "config";
883
+ }>;
884
+ symbol: z.ZodOptional<z.ZodString>;
885
+ description: z.ZodOptional<z.ZodString>;
886
+ }, z.core.$strip>>>;
887
+ kind: z.ZodLiteral<"agent">;
888
+ agentKind: z.ZodEnum<{
889
+ platform: "platform";
890
+ orchestrator: "orchestrator";
891
+ specialist: "specialist";
892
+ utility: "utility";
893
+ }>;
894
+ actsAsRoleId: z.ZodOptional<z.ZodString>;
895
+ sessionCapable: z.ZodBoolean;
896
+ invocations: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
897
+ kind: z.ZodLiteral<"slash-command">;
898
+ command: z.ZodString;
899
+ toolFactory: z.ZodOptional<z.ZodString>;
900
+ }, z.core.$strip>, z.ZodObject<{
901
+ kind: z.ZodLiteral<"mcp-tool">;
902
+ server: z.ZodString;
903
+ name: z.ZodString;
904
+ }, z.core.$strip>, z.ZodObject<{
905
+ kind: z.ZodLiteral<"api-endpoint">;
906
+ method: z.ZodEnum<{
907
+ GET: "GET";
908
+ POST: "POST";
909
+ PATCH: "PATCH";
910
+ DELETE: "DELETE";
911
+ }>;
912
+ path: z.ZodString;
913
+ requestSchema: z.ZodOptional<z.ZodString>;
914
+ responseSchema: z.ZodOptional<z.ZodString>;
915
+ }, z.core.$strip>, z.ZodObject<{
916
+ kind: z.ZodLiteral<"script-execution">;
917
+ resourceId: z.ZodString;
918
+ }, z.core.$strip>], "kind">>>;
919
+ emits: z.ZodOptional<z.ZodArray<z.ZodObject<{
920
+ eventKey: z.ZodString;
921
+ label: z.ZodString;
922
+ payloadSchema: z.ZodOptional<z.ZodString>;
923
+ lifecycle: z.ZodOptional<z.ZodEnum<{
924
+ active: "active";
925
+ deprecated: "deprecated";
926
+ draft: "draft";
927
+ beta: "beta";
928
+ archived: "archived";
929
+ }>>;
930
+ }, z.core.$strip>>>;
931
+ }, z.core.$strip>, z.ZodObject<{
932
+ id: z.ZodString;
933
+ order: z.ZodDefault<z.ZodNumber>;
934
+ systemPath: z.ZodString;
935
+ title: z.ZodOptional<z.ZodString>;
936
+ description: z.ZodOptional<z.ZodString>;
937
+ ownerRoleId: z.ZodOptional<z.ZodString>;
938
+ status: z.ZodEnum<{
939
+ active: "active";
940
+ deprecated: "deprecated";
941
+ archived: "archived";
942
+ }>;
943
+ ontology: z.ZodOptional<z.ZodObject<{
944
+ actions: z.ZodOptional<z.ZodArray<z.ZodString>>;
945
+ primaryAction: z.ZodOptional<z.ZodString>;
946
+ reads: z.ZodOptional<z.ZodArray<z.ZodString>>;
947
+ writes: z.ZodOptional<z.ZodArray<z.ZodString>>;
948
+ usesCatalogs: z.ZodOptional<z.ZodArray<z.ZodString>>;
949
+ emits: z.ZodOptional<z.ZodArray<z.ZodString>>;
950
+ contract: z.ZodOptional<z.ZodObject<{
951
+ input: z.ZodOptional<z.ZodString>;
952
+ output: z.ZodOptional<z.ZodString>;
953
+ }, z.core.$strip>>;
954
+ }, z.core.$strip>>;
955
+ codeRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
956
+ path: z.ZodString;
957
+ role: z.ZodEnum<{
958
+ entrypoint: "entrypoint";
959
+ handler: "handler";
960
+ schema: "schema";
961
+ test: "test";
962
+ docs: "docs";
963
+ config: "config";
964
+ }>;
965
+ symbol: z.ZodOptional<z.ZodString>;
966
+ description: z.ZodOptional<z.ZodString>;
967
+ }, z.core.$strip>>>;
968
+ kind: z.ZodLiteral<"integration">;
969
+ provider: z.ZodString;
970
+ }, z.core.$strip>, z.ZodObject<{
971
+ id: z.ZodString;
972
+ order: z.ZodDefault<z.ZodNumber>;
973
+ systemPath: z.ZodString;
974
+ title: z.ZodOptional<z.ZodString>;
975
+ description: z.ZodOptional<z.ZodString>;
976
+ ownerRoleId: z.ZodOptional<z.ZodString>;
977
+ status: z.ZodEnum<{
978
+ active: "active";
979
+ deprecated: "deprecated";
980
+ archived: "archived";
981
+ }>;
982
+ ontology: z.ZodOptional<z.ZodObject<{
983
+ actions: z.ZodOptional<z.ZodArray<z.ZodString>>;
984
+ primaryAction: z.ZodOptional<z.ZodString>;
985
+ reads: z.ZodOptional<z.ZodArray<z.ZodString>>;
986
+ writes: z.ZodOptional<z.ZodArray<z.ZodString>>;
987
+ usesCatalogs: z.ZodOptional<z.ZodArray<z.ZodString>>;
988
+ emits: z.ZodOptional<z.ZodArray<z.ZodString>>;
989
+ contract: z.ZodOptional<z.ZodObject<{
990
+ input: z.ZodOptional<z.ZodString>;
991
+ output: z.ZodOptional<z.ZodString>;
992
+ }, z.core.$strip>>;
993
+ }, z.core.$strip>>;
994
+ codeRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
995
+ path: z.ZodString;
996
+ role: z.ZodEnum<{
997
+ entrypoint: "entrypoint";
998
+ handler: "handler";
999
+ schema: "schema";
1000
+ test: "test";
1001
+ docs: "docs";
1002
+ config: "config";
1003
+ }>;
1004
+ symbol: z.ZodOptional<z.ZodString>;
1005
+ description: z.ZodOptional<z.ZodString>;
1006
+ }, z.core.$strip>>>;
1007
+ kind: z.ZodLiteral<"script">;
1008
+ language: z.ZodEnum<{
1009
+ shell: "shell";
1010
+ sql: "sql";
1011
+ typescript: "typescript";
1012
+ python: "python";
1013
+ }>;
1014
+ source: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1015
+ file: z.ZodString;
1016
+ }, z.core.$strip>]>;
1017
+ }, z.core.$strip>], "kind">>>>;
1018
+ topology: z.ZodDefault<z.ZodDefault<z.ZodObject<{
1019
+ version: z.ZodDefault<z.ZodLiteral<1>>;
1020
+ relationships: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1021
+ from: z.ZodDiscriminatedUnion<[z.ZodObject<{
1022
+ kind: z.ZodLiteral<"system">;
1023
+ id: z.ZodString;
1024
+ }, z.core.$strip>, z.ZodObject<{
1025
+ kind: z.ZodLiteral<"resource">;
1026
+ id: z.ZodString;
1027
+ }, z.core.$strip>, z.ZodObject<{
1028
+ kind: z.ZodLiteral<"ontology">;
1029
+ id: z.ZodString;
1030
+ }, z.core.$strip>, z.ZodObject<{
1031
+ kind: z.ZodLiteral<"role">;
1032
+ id: z.ZodString;
1033
+ }, z.core.$strip>, z.ZodObject<{
1034
+ kind: z.ZodLiteral<"trigger">;
1035
+ id: z.ZodString;
1036
+ }, z.core.$strip>, z.ZodObject<{
1037
+ kind: z.ZodLiteral<"humanCheckpoint">;
1038
+ id: z.ZodString;
1039
+ }, z.core.$strip>, z.ZodObject<{
1040
+ kind: z.ZodLiteral<"externalResource">;
1041
+ id: z.ZodString;
1042
+ }, z.core.$strip>], "kind">;
1043
+ kind: z.ZodEnum<{
1044
+ triggers: "triggers";
1045
+ uses: "uses";
1046
+ approval: "approval";
1047
+ }>;
1048
+ to: z.ZodDiscriminatedUnion<[z.ZodObject<{
1049
+ kind: z.ZodLiteral<"system">;
1050
+ id: z.ZodString;
1051
+ }, z.core.$strip>, z.ZodObject<{
1052
+ kind: z.ZodLiteral<"resource">;
1053
+ id: z.ZodString;
1054
+ }, z.core.$strip>, z.ZodObject<{
1055
+ kind: z.ZodLiteral<"ontology">;
1056
+ id: z.ZodString;
1057
+ }, z.core.$strip>, z.ZodObject<{
1058
+ kind: z.ZodLiteral<"role">;
1059
+ id: z.ZodString;
1060
+ }, z.core.$strip>, z.ZodObject<{
1061
+ kind: z.ZodLiteral<"trigger">;
1062
+ id: z.ZodString;
1063
+ }, z.core.$strip>, z.ZodObject<{
1064
+ kind: z.ZodLiteral<"humanCheckpoint">;
1065
+ id: z.ZodString;
1066
+ }, z.core.$strip>, z.ZodObject<{
1067
+ kind: z.ZodLiteral<"externalResource">;
1068
+ id: z.ZodString;
1069
+ }, z.core.$strip>], "kind">;
1070
+ systemPath: z.ZodOptional<z.ZodString>;
1071
+ required: z.ZodOptional<z.ZodBoolean>;
1072
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
1073
+ }, z.core.$strip>>>;
1074
+ }, z.core.$strip>>>;
1075
+ actions: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1076
+ id: z.ZodString;
1077
+ order: z.ZodNumber;
1078
+ label: z.ZodString;
1079
+ description: z.ZodOptional<z.ZodString>;
1080
+ scope: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"global">, z.ZodObject<{
1081
+ domain: z.ZodString;
1082
+ }, z.core.$strip>]>>;
1083
+ resourceId: z.ZodOptional<z.ZodString>;
1084
+ affects: z.ZodOptional<z.ZodArray<z.ZodString>>;
1085
+ invocations: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1086
+ kind: z.ZodLiteral<"slash-command">;
1087
+ command: z.ZodString;
1088
+ toolFactory: z.ZodOptional<z.ZodString>;
1089
+ }, z.core.$strip>, z.ZodObject<{
1090
+ kind: z.ZodLiteral<"mcp-tool">;
1091
+ server: z.ZodString;
1092
+ name: z.ZodString;
1093
+ }, z.core.$strip>, z.ZodObject<{
1094
+ kind: z.ZodLiteral<"api-endpoint">;
1095
+ method: z.ZodEnum<{
1096
+ GET: "GET";
1097
+ POST: "POST";
1098
+ PATCH: "PATCH";
1099
+ DELETE: "DELETE";
1100
+ }>;
1101
+ path: z.ZodString;
1102
+ requestSchema: z.ZodOptional<z.ZodString>;
1103
+ responseSchema: z.ZodOptional<z.ZodString>;
1104
+ }, z.core.$strip>, z.ZodObject<{
1105
+ kind: z.ZodLiteral<"script-execution">;
1106
+ resourceId: z.ZodString;
1107
+ }, z.core.$strip>], "kind">>>;
1108
+ knowledge: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
1109
+ lifecycle: z.ZodDefault<z.ZodEnum<{
1110
+ active: "active";
1111
+ deprecated: "deprecated";
1112
+ draft: "draft";
1113
+ beta: "beta";
1114
+ archived: "archived";
1115
+ }>>;
1116
+ }, z.core.$strip>>>>;
1117
+ entities: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1118
+ id: z.ZodString;
1119
+ order: z.ZodNumber;
1120
+ label: z.ZodString;
1121
+ description: z.ZodOptional<z.ZodString>;
1122
+ ownedBySystemId: z.ZodString;
1123
+ table: z.ZodOptional<z.ZodString>;
1124
+ rowSchema: z.ZodOptional<z.ZodString>;
1125
+ stateCatalogId: z.ZodOptional<z.ZodString>;
1126
+ links: z.ZodOptional<z.ZodArray<z.ZodObject<{
1127
+ toEntity: z.ZodString;
1128
+ kind: z.ZodEnum<{
1129
+ "belongs-to": "belongs-to";
1130
+ "has-many": "has-many";
1131
+ "has-one": "has-one";
1132
+ "many-to-many": "many-to-many";
1133
+ }>;
1134
+ via: z.ZodOptional<z.ZodString>;
1135
+ label: z.ZodOptional<z.ZodString>;
1136
+ }, z.core.$strip>>>;
1137
+ }, z.core.$strip>>>>;
1138
+ knowledge: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1139
+ id: z.ZodString;
1140
+ kind: z.ZodEnum<{
1141
+ playbook: "playbook";
1142
+ strategy: "strategy";
1143
+ reference: "reference";
1144
+ }>;
1145
+ title: z.ZodString;
1146
+ summary: z.ZodString;
1147
+ icon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1148
+ message: "message";
1149
+ error: "error";
1150
+ agent: "agent";
1151
+ workflow: "workflow";
1152
+ "google-sheets": "google-sheets";
1153
+ dashboard: "dashboard";
1154
+ calendar: "calendar";
1155
+ sales: "sales";
1156
+ crm: "crm";
1157
+ "lead-gen": "lead-gen";
1158
+ projects: "projects";
1159
+ clients: "clients";
1160
+ operations: "operations";
1161
+ monitoring: "monitoring";
1162
+ knowledge: "knowledge";
1163
+ settings: "settings";
1164
+ admin: "admin";
1165
+ archive: "archive";
1166
+ business: "business";
1167
+ finance: "finance";
1168
+ platform: "platform";
1169
+ seo: "seo";
1170
+ playbook: "playbook";
1171
+ strategy: "strategy";
1172
+ reference: "reference";
1173
+ integration: "integration";
1174
+ database: "database";
1175
+ user: "user";
1176
+ team: "team";
1177
+ gmail: "gmail";
1178
+ attio: "attio";
1179
+ overview: "overview";
1180
+ "command-view": "command-view";
1181
+ "command-queue": "command-queue";
1182
+ pipeline: "pipeline";
1183
+ lists: "lists";
1184
+ resources: "resources";
1185
+ approve: "approve";
1186
+ reject: "reject";
1187
+ retry: "retry";
1188
+ edit: "edit";
1189
+ view: "view";
1190
+ launch: "launch";
1191
+ "message-plus": "message-plus";
1192
+ escalate: "escalate";
1193
+ promote: "promote";
1194
+ submit: "submit";
1195
+ email: "email";
1196
+ success: "success";
1197
+ warning: "warning";
1198
+ info: "info";
1199
+ pending: "pending";
1200
+ bolt: "bolt";
1201
+ building: "building";
1202
+ briefcase: "briefcase";
1203
+ apps: "apps";
1204
+ graph: "graph";
1205
+ shield: "shield";
1206
+ users: "users";
1207
+ "chart-bar": "chart-bar";
1208
+ search: "search";
1209
+ }>, z.ZodString]>>;
1210
+ externalUrl: z.ZodOptional<z.ZodString>;
1211
+ sourceFilePath: z.ZodOptional<z.ZodString>;
1212
+ body: z.ZodString;
1213
+ links: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodUnion<readonly [z.ZodObject<{
1214
+ target: z.ZodObject<{
1215
+ kind: z.ZodEnum<{
1216
+ knowledge: "knowledge";
1217
+ system: "system";
1218
+ resource: "resource";
1219
+ action: "action";
1220
+ ontology: "ontology";
1221
+ role: "role";
1222
+ client: "client";
1223
+ stage: "stage";
1224
+ goal: "goal";
1225
+ "customer-segment": "customer-segment";
1226
+ offering: "offering";
1227
+ }>;
1228
+ id: z.ZodString;
1229
+ }, z.core.$strip>;
1230
+ }, z.core.$strip>, z.ZodObject<{
1231
+ nodeId: z.ZodUnion<readonly [z.ZodString, z.ZodTemplateLiteral<`ontology:${string}`>]>;
1232
+ }, z.core.$strip>]>, z.ZodTransform<{
1233
+ target: {
1234
+ kind: "knowledge" | "system" | "resource" | "action" | "ontology" | "role" | "client" | "stage" | "goal" | "customer-segment" | "offering";
1235
+ id: string;
1236
+ };
1237
+ nodeId: string;
1238
+ }, {
1239
+ nodeId: string;
1240
+ } | {
1241
+ target: {
1242
+ kind: "knowledge" | "system" | "resource" | "action" | "ontology" | "role" | "client" | "stage" | "goal" | "customer-segment" | "offering";
1243
+ id: string;
1244
+ };
1245
+ }>>>>;
1246
+ ownerIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
1247
+ updatedAt: z.ZodString;
1248
+ }, z.core.$strip>>>>;
1249
+ }, z.core.$strip>;
1250
+
1251
+ type OrganizationModel = z.infer<typeof OrganizationModelSchema>;
1252
+ type OrganizationModelResourceKind = z.infer<typeof ResourceKindSchema>;
1253
+
1254
+ type SystemSidebarComponent = ComponentType;
1255
+ type SystemIconComponent = ComponentType<{
1256
+ size?: number;
1257
+ stroke?: number;
1258
+ }>;
1259
+ type SystemSidebarWidthResolver = number | ((context: {
1260
+ currentPath: string;
1261
+ }) => number);
1262
+ interface SystemModule {
1263
+ /** Unique stable identifier for this UI system module. */
1264
+ key: string;
1265
+ /** Organization Model system id this module presents. Omit for navigation-only app surfaces. */
1266
+ systemId?: string;
1267
+ /** Route prefixes owned by navigation-only app surfaces. */
1268
+ routePrefixes?: string[];
1269
+ /** Capability identifiers contributed by this system module. */
1270
+ capabilityIds?: string[];
1271
+ /** Icon used when this system node appears in shell navigation. */
1272
+ icon?: SystemIconComponent;
1273
+ /** Sidebar component rendered when this system's subtree route is active. */
1274
+ sidebar?: SystemSidebarComponent;
1275
+ /** Optional shell sidebar width override. Defaults to 250px. */
1276
+ sidebarWidth?: SystemSidebarWidthResolver;
1277
+ /** Operations-only bridge connecting this system to the organization graph node. */
1278
+ organizationGraph?: OrganizationGraphSystemBridge;
1279
+ }
1280
+ interface OrganizationGraphSystemBridge {
1281
+ systemId?: string;
1282
+ }
1283
+
1284
+ interface ContentOverviewPageSlots {
1285
+ /** Optional content rendered after the page title, before the main body. Default: nothing rendered. */
1286
+ headerActions?: ReactNode;
1287
+ /** Optional content rendered below the main page stack. Default: nothing rendered. */
1288
+ footer?: ReactNode;
1289
+ }
1290
+ declare function ContentOverviewPage({ headerActions, footer }?: ContentOverviewPageSlots): react_jsx_runtime.JSX.Element;
1291
+
1292
+ interface ContentItemsPageSlots {
1293
+ /** Optional content rendered after the page title. Default: nothing rendered. */
1294
+ headerActions?: ReactNode;
1295
+ }
1296
+ declare function ContentItemsPage({ headerActions }?: ContentItemsPageSlots): react_jsx_runtime.JSX.Element;
1297
+
1298
+ interface ContentItemReviewPageSlots {
1299
+ /** Optional content rendered after the page title. Default: nothing rendered. */
1300
+ headerActions?: ReactNode;
1301
+ }
1302
+ declare function ContentItemReviewPage({ itemId, headerActions }: {
1303
+ itemId: string;
1304
+ } & ContentItemReviewPageSlots): react_jsx_runtime.JSX.Element;
1305
+
1306
+ interface ContentPipelinesPageSlots {
1307
+ /** Optional content rendered after the page title. Default: nothing rendered. */
1308
+ headerActions?: ReactNode;
1309
+ }
1310
+ /**
1311
+ * Pipelines -- one row per `content:catalog/pipeline` entry. Mirrors `LeadGenListsPage`
1312
+ * structurally; unlike lists, pipelines come from the Organization Model rather than a
1313
+ * paginated API resource, so there is no pagination or server-side search here.
1314
+ */
1315
+ declare function ContentPipelinesPage({ headerActions }?: ContentPipelinesPageSlots): react_jsx_runtime.JSX.Element;
1316
+
1317
+ interface ContentProduceSlotProps {
1318
+ pipeline: ContentPipelineTemplate;
1319
+ }
1320
+
1321
+ interface ContentPipelineWorkspacePageSlots {
1322
+ /** Optional content rendered after the page title. Default: nothing rendered. */
1323
+ headerActions?: ReactNode;
1324
+ /** Overrides the `produce` tab's default content. See `ProduceTabProps.render`. */
1325
+ renderProduce?: (props: ContentProduceSlotProps) => ReactNode;
1326
+ }
1327
+ /**
1328
+ * Pipeline workspace -- tabbed via `?tab=`, matching how `LeadGenListDetailPage`
1329
+ * (`../../../lead-gen/pages/list-detail/ListDetailPage.tsx`) already does it: `overview`
1330
+ * / `sources` / `produce` / `runs`.
1331
+ */
1332
+ declare function ContentPipelineWorkspacePage({ pipelineId, headerActions, renderProduce }: {
1333
+ pipelineId: string;
1334
+ } & ContentPipelineWorkspacePageSlots): react_jsx_runtime.JSX.Element;
1335
+
1336
+ interface ContentSettingsPageSlots {
1337
+ /** Optional content rendered after the page title. Default: nothing rendered. */
1338
+ headerActions?: ReactNode;
1339
+ }
1340
+ /**
1341
+ * Rules and artifacts -- browses `content:`-prefixed artifacts for a pipeline: version
1342
+ * history and activation state, read-only. Mirrors `CrmSettingsPage`, but actually
1343
+ * mounted (`CrmSettingsPage` exists in the package with no Command Center route).
1344
+ *
1345
+ * Only `GET /acquisition/artifacts` and `POST /acquisition/artifacts` exist -- there is
1346
+ * no route to update, deactivate, or re-version an artifact. `isActive` and `version`
1347
+ * render as read-only state; this page does not add an activate/deactivate control
1348
+ * wired to nothing (binding constraint c). It also does not add a create form: the API
1349
+ * supports create, but nothing in this wave's scope specifies what a rules document's
1350
+ * `content` shape should be per artifact kind, so authoring stays out of this page for
1351
+ * now rather than guessing a schema.
1352
+ */
1353
+ declare function ContentSettingsPage({ headerActions }?: ContentSettingsPageSlots): react_jsx_runtime.JSX.Element;
1354
+
1355
+ interface ContentDistributionsPageSlots {
1356
+ /** Optional content rendered after the page title. Default: nothing rendered. */
1357
+ headerActions?: ReactNode;
1358
+ }
1359
+ /**
1360
+ * Distributions -- ported from `/acquisition/content/distributions`. Two data-layer
1361
+ * changes from the original: the read goes through `useContentDistributions` (API,
1362
+ * not Supabase-direct), and the list no longer joins `content_items(title, pillar)` --
1363
+ * titles are resolved client-side by pairing `useContentItems({ limit: 100 })` against
1364
+ * `contentItemId`. `format` and `status` have no `content:catalog` backing (only
1365
+ * status-the-item-field, pillar, and platform do -- distribution `status` is a
1366
+ * different, uncataloged vocabulary), so both filters run client-side over the
1367
+ * returned rows and their options are derived from the data present rather than a
1368
+ * hardcoded array.
1369
+ */
1370
+ declare function ContentDistributionsPage({ headerActions }?: ContentDistributionsPageSlots): react_jsx_runtime.JSX.Element;
1371
+
1372
+ interface ContentDistributionDetailPageSlots {
1373
+ /** Optional content rendered after the page title. Default: nothing rendered. */
1374
+ headerActions?: ReactNode;
1375
+ }
1376
+ /**
1377
+ * Distribution detail -- ported from `/acquisition/content/distribution/$distributionId`.
1378
+ * The four writes the original made through Supabase-direct hooks (checklist toggle,
1379
+ * platform-content edit, media delete, general field update) all collapse into
1380
+ * `useUpdateContentDistribution`, since each was a partial write of `checklist`,
1381
+ * `platformContent`, or `mediaUrls` and the PATCH route accepts all three plus the
1382
+ * general fields. Surfaces the four columns that have never been rendered anywhere:
1383
+ * `metrics`, `metricsUpdatedAt`, `publishMethod`, `platformPostId` -- `publishMethod` is
1384
+ * where D7's manual-publish state becomes visible (a row with `publishedAt` set and no
1385
+ * `platformPostId`).
1386
+ */
1387
+ declare function ContentDistributionDetailPage({ distributionId, headerActions }: {
1388
+ distributionId: string;
1389
+ } & ContentDistributionDetailPageSlots): react_jsx_runtime.JSX.Element;
1390
+
1391
+ /**
1392
+ * Optional page component overrides / slot injections for content pages. Each key maps
1393
+ * to a page surface; the value is an object of optional slot props (all absent ->
1394
+ * byte-identical default render). Mirrors `LeadGenPageOverrides`
1395
+ * (`../lead-gen/manifest.ts`) -- extend this map as more pages gain slot support.
1396
+ */
1397
+ interface ContentPageOverrides {
1398
+ /** Slot props injected into `ContentOverviewPage`. */
1399
+ overview?: ContentOverviewPageSlots;
1400
+ /** Slot props injected into `ContentItemsPage`. */
1401
+ items?: ContentItemsPageSlots;
1402
+ /** Slot props injected into `ContentItemReviewPage`. */
1403
+ itemReview?: ContentItemReviewPageSlots;
1404
+ /** Slot props injected into `ContentPipelinesPage`. */
1405
+ pipelines?: ContentPipelinesPageSlots;
1406
+ /** Slot props (including the `produce` tab's `renderProduce` render prop) injected into `ContentPipelineWorkspacePage`. */
1407
+ pipelineWorkspace?: ContentPipelineWorkspacePageSlots;
1408
+ /** Slot props injected into `ContentSettingsPage`. */
1409
+ settings?: ContentSettingsPageSlots;
1410
+ }
1411
+ /**
1412
+ * Extended `SystemModule` for the content feature that carries optional page overrides
1413
+ * alongside the standard manifest fields.
1414
+ */
1415
+ interface ContentSystemModule extends SystemModule {
1416
+ /**
1417
+ * Optional page override map. Absent -> no override (default renders apply).
1418
+ * Replaces the need for route-wrapper bolt-ons in tenant projects.
1419
+ */
1420
+ pages?: ContentPageOverrides;
1421
+ }
1422
+ /**
1423
+ * Manifest for the `content` System path (`U1`, top-level `content`). `systemId` is a
1424
+ * plain string matching the System path rather than an import from `@repo/core/content`
1425
+ * or the OM System declaration -- this package stays data-free by design (D6).
1426
+ *
1427
+ * `sidebar` wires in `ContentSidebar` (nav items + `MyReviewQueue`). Page overrides and
1428
+ * OM-derived config are consumed by the caller via `useContentConfig` and the individual
1429
+ * page components, matching the `LeadGenSystemModule` pattern. `pages` is left unset
1430
+ * here -- every page above renders its byte-identical default until a consumer supplies
1431
+ * an override, most notably `pipelineWorkspace.renderProduce` for the `produce` tab slot.
1432
+ */
1433
+ declare const contentManifest: ContentSystemModule;
1434
+
1435
+ interface ContentPayloadField {
1436
+ /** Key into the `payload` object this field renders. */
1437
+ key: string;
1438
+ /** Display label. */
1439
+ label: string;
1440
+ /** Render hint. Defaults to 'text'. */
1441
+ kind?: 'text' | 'longText' | 'list';
1442
+ }
1443
+ interface PayloadBodyProps {
1444
+ /** The human's canonical, editable text -- `content_items.body` in the eventual schema. */
1445
+ body: string;
1446
+ onBodyChange: (next: string) => void;
1447
+ /**
1448
+ * The producer's original emission for this same text, frozen. `body` starts as a copy
1449
+ * of this value and diverges on first edit; the two are never reconciled, because they
1450
+ * answer different questions. This asymmetry is what makes Reset implementable.
1451
+ */
1452
+ originalBody: string;
1453
+ onReset: () => void;
1454
+ /**
1455
+ * The producer's full emission, rendered read-only per `payloadFields`. Declared
1456
+ * structurally rather than typed against any specific schema -- the card takes no
1457
+ * dependency on the content catalog contract. Omit either prop to hide the panel.
1458
+ */
1459
+ payload?: Record<string, unknown>;
1460
+ payloadFields?: ContentPayloadField[];
1461
+ disabled?: boolean;
1462
+ }
1463
+ /**
1464
+ * The editable body plus the producer's frozen original payload, read-only.
1465
+ *
1466
+ * A textarea rather than a read-only block: the reviewer rewrites a line, and Copy
1467
+ * (wherever the caller wires it) hands back the version just written, not the one the
1468
+ * producer emitted.
1469
+ */
1470
+ declare function PayloadBody({ body, onBodyChange, originalBody, onReset, payload, payloadFields, disabled }: PayloadBodyProps): react_jsx_runtime.JSX.Element;
1471
+
1472
+ interface ContentAlternateOption {
1473
+ /** Stable id for the React key -- text alone is not guaranteed unique. */
1474
+ id: string;
1475
+ text: string;
1476
+ }
1477
+ interface AlternatesPanelProps {
1478
+ /** The item's current canonical text, so the active opening/closing line can be highlighted. */
1479
+ body: string;
1480
+ onBodyChange: (next: string) => void;
1481
+ /** Alternate opening lines, including the current one, so a swap is always reversible. */
1482
+ hookOptions?: ContentAlternateOption[];
1483
+ /** Alternate closing lines, including the current one. */
1484
+ closeOptions?: ContentAlternateOption[];
1485
+ /** Fetch more of one kind. Absent hides the corresponding "more" control. */
1486
+ onMoreHooks?: () => void;
1487
+ onMoreCloses?: () => void;
1488
+ /** Which fetch, if any, is running for this item. */
1489
+ running?: 'hooks' | 'closes';
1490
+ /** Seconds the in-flight fetch has been running. */
1491
+ elapsed?: number;
1492
+ }
1493
+ /**
1494
+ * Replace the item's opening line.
1495
+ *
1496
+ * Line-based rather than sentence-based: the opening line stands alone with a blank
1497
+ * line under it in the shapes this generalizes from. Leading blank lines are skipped
1498
+ * so existing spacing survives the swap.
1499
+ */
1500
+ declare function swapFirstLine(text: string, replacement: string): string;
1501
+ /** The same operation for the closing line. */
1502
+ declare function swapLastLine(text: string, replacement: string): string;
1503
+ /** The item's opening line, ignoring leading blanks. Empty string if there is no text. */
1504
+ declare function firstLine(text: string): string;
1505
+ /** The item's closing line, ignoring trailing blanks. */
1506
+ declare function lastLine(text: string): string;
1507
+ /**
1508
+ * Swap the opening or closing line from a declared alternates list. Each option list
1509
+ * includes the current value so a swap is always reversible without a separate Reset.
1510
+ */
1511
+ declare function AlternatesPanel({ body, onBodyChange, hookOptions, closeOptions, onMoreHooks, onMoreCloses, running, elapsed }: AlternatesPanelProps): react_jsx_runtime.JSX.Element | null;
1512
+
1513
+ type ContentProcessingStatus = 'pending' | 'in_progress' | 'completed' | 'failed';
1514
+ interface ContentProcessingStep {
1515
+ /** Stable step key -- matches the pipeline step catalog's key, e.g. 'render' or 'verify'. */
1516
+ key: string;
1517
+ /** Display label. */
1518
+ label: string;
1519
+ status: ContentProcessingStatus;
1520
+ /** Seconds elapsed, shown while `status` is 'in_progress'. */
1521
+ elapsedSeconds?: number;
1522
+ }
1523
+ interface ProcessingStateStripProps {
1524
+ /**
1525
+ * Per-step processing state for this item, declared structurally per D3's shape
1526
+ * (`{ stepKey: { status, data? } }`) rather than imported from any content schema.
1527
+ */
1528
+ steps: ContentProcessingStep[];
1529
+ }
1530
+ /** "42s" under a minute, then "1m 20s". Seconds alone stop reading as progress past 60. */
1531
+ declare function formatElapsed(seconds: number): string;
1532
+ /**
1533
+ * A strip of badges, one per declared processing step, showing where this item is in
1534
+ * its pipeline. Purely a projection of caller-supplied state -- it fetches nothing and
1535
+ * writes nothing, matching D4: the tool that assigns processing state is the only writer.
1536
+ */
1537
+ declare function ProcessingStateStrip({ steps }: ProcessingStateStripProps): react_jsx_runtime.JSX.Element | null;
1538
+
1539
+ interface ContentReviewAction {
1540
+ /** Stable id, passed back through `onAction`. */
1541
+ id: string;
1542
+ label: string;
1543
+ icon?: ComponentType<{
1544
+ size?: number;
1545
+ }>;
1546
+ color?: string;
1547
+ /** Colors the button/modal red by default when `color` is omitted. */
1548
+ tone?: 'default' | 'danger';
1549
+ /** Ask for a plain confirmation before firing. Ignored when `requiresFeedback` is set. */
1550
+ requiresConfirmation?: boolean;
1551
+ /**
1552
+ * Shown in whichever modal opens. An action that collects optional feedback still wants
1553
+ * to say what the action does -- `requiresFeedback` supersedes `requiresConfirmation`,
1554
+ * so without this the explanation would be lost the moment a note field is added.
1555
+ */
1556
+ confirmationMessage?: string;
1557
+ /** Collect free-text feedback before firing -- e.g. `reviewer_feedback` / `reject_reason`. */
1558
+ requiresFeedback?: boolean;
1559
+ feedbackLabel?: string;
1560
+ feedbackPlaceholder?: string;
1561
+ /** Feedback below one non-whitespace character disables the modal's submit button. */
1562
+ feedbackRequired?: boolean;
1563
+ }
1564
+ interface ReviewActionBarProps {
1565
+ /**
1566
+ * Declared review actions for this item's pipeline step -- typically approve and
1567
+ * reject per D5. Rendered from this list rather than hardcoded, following the
1568
+ * `TaskCard` precedent, so a tenant's step catalog can add a third action without a
1569
+ * card-level code change.
1570
+ */
1571
+ actions: ContentReviewAction[];
1572
+ onAction: (actionId: string, feedback?: string) => void;
1573
+ /** Disables every action while a submission is in flight. */
1574
+ pending?: boolean;
1575
+ }
1576
+ /** Approve, or reject with `reviewer_feedback` and `reject_reason`, declared as data. */
1577
+ declare function ReviewActionBar({ actions, onAction, pending }: ReviewActionBarProps): react_jsx_runtime.JSX.Element;
1578
+
1579
+ /**
1580
+ * How this item's pipeline step declares review should happen -- 'live' (a human reviews
1581
+ * before it goes out), 'queued' (batched review), or 'none' (auto-approved). Declared on
1582
+ * the step catalog per D5; this card only reads the value to decide what to render, and
1583
+ * never derives it. Declared as a local literal union, not imported from any content
1584
+ * schema -- see the binding constraint below.
1585
+ */
1586
+ type ReviewMode = 'live' | 'queued' | 'none';
1587
+ interface ContentFidelityCheck {
1588
+ /** Whether the producer's own verification pass considers this item grounded. */
1589
+ matches: boolean;
1590
+ /** The core claim this item makes. */
1591
+ coreClaim?: string;
1592
+ /** Figures/numbers this item cites, and what they were checked against. */
1593
+ figuresUsed?: string[];
1594
+ /** Free-form note from the producer's verification pass. */
1595
+ note?: string;
1596
+ }
1597
+ interface ContentReviewCardProps {
1598
+ /** Display handle -- `content_items.title` in the eventual schema. */
1599
+ title: string;
1600
+ /** Presentational only; the caller decides what to render for each mode. */
1601
+ reviewMode: ReviewMode;
1602
+ /** The human's canonical, editable text. */
1603
+ body: string;
1604
+ onBodyChange: (next: string) => void;
1605
+ /** The producer's original emission for this same text, frozen. Powers Reset. */
1606
+ originalBody: string;
1607
+ onReset: () => void;
1608
+ /**
1609
+ * The producer's full emission, rendered read-only per `payloadFields`. Both are
1610
+ * declared structurally -- **no dependency on the content catalog contract and no
1611
+ * import of any `@repo/core/content` or Supabase type.** That is what lets this card
1612
+ * ship before the data path exists and lets any tenant adopt it independently.
1613
+ */
1614
+ payload?: Record<string, unknown>;
1615
+ payloadFields?: ContentPayloadField[];
1616
+ /** The producer's own grounding/verification output, if it emitted one. */
1617
+ fidelity?: ContentFidelityCheck;
1618
+ /**
1619
+ * A claim the producer could not verify and is asking the reviewer to confirm.
1620
+ * Rendered as-is when present -- deciding whether a given string is "nothing to
1621
+ * confirm" (nirvana's `needsConfirming` heuristic) stays tenant-owned per D6.
1622
+ */
1623
+ checkFirst?: string;
1624
+ /** Alternate opening lines, including the current one. Omit to hide the panel. */
1625
+ hookOptions?: ContentAlternateOption[];
1626
+ /** Alternate closing lines, including the current one. */
1627
+ closeOptions?: ContentAlternateOption[];
1628
+ onMoreHooks?: () => void;
1629
+ onMoreCloses?: () => void;
1630
+ /** Which alternates fetch, if any, is running for this item. */
1631
+ alternatesRunning?: 'hooks' | 'closes';
1632
+ alternatesElapsed?: number;
1633
+ /** Per-step processing state. Omit or pass `[]` to hide the strip. */
1634
+ processingSteps?: ContentProcessingStep[];
1635
+ /** Declared review actions -- approve, reject, or a tenant-defined addition. */
1636
+ actions: ContentReviewAction[];
1637
+ onAction: (actionId: string, feedback?: string) => void;
1638
+ /** True while a submitted action is in flight. Disables the action bar and the body. */
1639
+ actionsPending?: boolean;
1640
+ }
1641
+ /**
1642
+ * The generic content review card. Generalizes three things that exist separately
1643
+ * today: the reviewer-in-the-loop flow already shipped for `acq_social_posts`,
1644
+ * nirvana's `DraftCard`, and the attempt-lineage / processing-state surfaces that had
1645
+ * no reader at all. Keyed off `reviewMode` rather than any tenant-specific vocabulary.
1646
+ */
1647
+ declare function ContentReviewCard({ title, body, onBodyChange, originalBody, onReset, payload, payloadFields, fidelity, checkFirst, hookOptions, closeOptions, onMoreHooks, onMoreCloses, alternatesRunning, alternatesElapsed, processingSteps, actions, onAction, actionsPending }: ContentReviewCardProps): react_jsx_runtime.JSX.Element;
1648
+
1649
+ interface ContentStepResourceBinding {
1650
+ /** The OM Resource id that runs this step. */
1651
+ resourceId: string;
1652
+ /**
1653
+ * The Resource's declared kind. `'workflow'` and `'agent'` are executable through
1654
+ * `RunResourceButton` / `useExecuteResource` (`ResourceType` is `'agent' | 'workflow'`
1655
+ * only); `'integration'` and `'script'` resources resolve but are not directly
1656
+ * runnable from that surface.
1657
+ */
1658
+ resourceKind: OrganizationModelResourceKind;
1659
+ }
1660
+ /**
1661
+ * Resolves a content pipeline step to the OM Resource that runs it, by matching the
1662
+ * step's declared `actionId` against `resource.ontology.primaryAction` /
1663
+ * `resource.ontology.actions`, scoped to `resource.systemPath === 'content'`. Copies
1664
+ * `getLeadGenExportWorkflowId`'s shape (`../lead-gen/useLeadGenConfig.ts`) exactly --
1665
+ * the house pattern for this resolution, reading `model.resources` off the OM already
1666
+ * in React context.
1667
+ *
1668
+ * `actionId` is optional -- a step may declare none -- and a declared one may match no
1669
+ * Resource yet (a tenant may adopt the step catalog before authoring any Resource at
1670
+ * all). Both cases return `undefined` -- never a resource id built by
1671
+ * string-concatenating the step key, which would resolve to nothing at runtime instead
1672
+ * of failing as a type error.
1673
+ */
1674
+ declare function resolveContentStepResource(model: OrganizationModel, step: Pick<ContentPipelineStepEntry, 'actionId'>): ContentStepResourceBinding | undefined;
1675
+ interface ContentConfig {
1676
+ /**
1677
+ * Every `content-pipeline` template declared on the content System's catalogs, each
1678
+ * resolved with its ordered steps. Empty when no Organization Model is available yet.
1679
+ */
1680
+ pipelines: ContentPipelineTemplate[];
1681
+ /**
1682
+ * The content System's `content-stage` catalog entries (status / pillar / platform),
1683
+ * flattened into one map keyed by entry id -- mirrors `useLeadGenConfig`'s
1684
+ * `stageCatalog` shape.
1685
+ */
1686
+ stageCatalog: Record<string, ContentStageCatalogEntry>;
1687
+ /**
1688
+ * `stageCatalog` grouped by its source catalog (`entry.catalogKey`) -- e.g.
1689
+ * `stagesByCatalog.status`, `stagesByCatalog.pillar`, `stagesByCatalog.platform`.
1690
+ * Convenience projection for pages that render one catalog's entries as a Select or
1691
+ * a filter row without re-deriving the grouping themselves.
1692
+ */
1693
+ stagesByCatalog: Record<string, ContentStageCatalogEntry[]>;
1694
+ /**
1695
+ * Configured default pipeline id, from `system.config.defaultPipelineId` when the
1696
+ * content System declares one and it names a pipeline that actually resolved;
1697
+ * otherwise the first declared pipeline. `undefined` when no pipeline exists yet.
1698
+ */
1699
+ defaultPipelineId: string | undefined;
1700
+ /**
1701
+ * Resolves a content pipeline step to its runnable OM Resource, bound to this config's
1702
+ * Organization Model. See {@link resolveContentStepResource}. `undefined` when no
1703
+ * Organization Model is available -- every step then resolves to "no resource
1704
+ * configured" rather than throwing.
1705
+ */
1706
+ resolveStepResource: (step: Pick<ContentPipelineStepEntry, 'actionId'>) => ContentStepResourceBinding | undefined;
1707
+ }
1708
+ /**
1709
+ * `useContentConfig` is `useLeadGenConfig`'s twin for the content System: a pure
1710
+ * `useMemo` over the Organization Model already in React context via
1711
+ * `useOptionalElevasisSystems()`. It fetches nothing.
1712
+ *
1713
+ * The stage and step vocabulary comes from the model, never a hardcoded list. This is
1714
+ * the deliberate divergence from `useCrmPipelineSummary`, which hardcodes
1715
+ * `PIPELINE_FUNNEL_ORDER` as a `DealStage[]` and only consults the OM for labels and
1716
+ * colours -- a tenant whose model declares different stages gets those stages zeroed
1717
+ * out rather than rendered. Here, `getContentStageCatalog(organizationModel)` reads the
1718
+ * content System's own `content-stage` catalogs (status / pillar / platform) and
1719
+ * `getContentBuildTemplates(organizationModel)` reads its `content-pipeline` /
1720
+ * `content-pipeline-step` catalogs, so a tenant with an entirely different pipeline and
1721
+ * stage set gets its own vocabulary rendered, not someone else's zeroed rows.
1722
+ */
1723
+ declare function useContentConfig(): ContentConfig;
1724
+
1725
+ interface ContentSidebarProps {
1726
+ /** Replace the default `ContentSidebarMiddle` with custom middle content. Leave unset for the default layout. */
1727
+ children?: ReactNode;
1728
+ }
1729
+ declare const ContentSidebar: ({ children }?: ContentSidebarProps) => react_jsx_runtime.JSX.Element;
1730
+
1731
+ declare const ContentSidebarTop: () => react_jsx_runtime.JSX.Element;
1732
+
1733
+ /**
1734
+ * Shared nav-item shape used by feature sidebar middle components.
1735
+ *
1736
+ * Matches the subset of {@link SubshellNavItemProps} that the existing
1737
+ * hardcoded item arrays use. Consumers import this type alongside the
1738
+ * exported item arrays (e.g. `CRM_ITEMS`) to type their custom arrays.
1739
+ *
1740
+ * @example
1741
+ * import { NavItem, CRM_ITEMS } from '@elevasis/ui/features/crm'
1742
+ *
1743
+ * const customItems: NavItem[] = [
1744
+ * ...CRM_ITEMS,
1745
+ * { label: 'Reports', to: '/crm/reports', icon: IconFileText, exact: false },
1746
+ * ]
1747
+ */
1748
+ interface NavItem {
1749
+ /** Display label for the nav entry. */
1750
+ label: string;
1751
+ /** Route path the item links to. */
1752
+ to: string;
1753
+ /** Tabler icon component (or any component accepting `size` + `style`). */
1754
+ icon: ComponentType<{
1755
+ size?: number;
1756
+ style?: React.CSSProperties;
1757
+ }>;
1758
+ /**
1759
+ * When `true`, the item is only active when the path matches exactly.
1760
+ * When `false`, it is active for any path that starts with `to`.
1761
+ */
1762
+ exact: boolean;
1763
+ }
1764
+
1765
+ declare const CONTENT_ITEMS: NavItem[];
1766
+ interface ContentSidebarMiddleProps {
1767
+ /** Override the default nav items. Defaults to {@link CONTENT_ITEMS}. */
1768
+ items?: NavItem[];
1769
+ }
1770
+ declare const ContentSidebarMiddle: ({ items }?: ContentSidebarMiddleProps) => react_jsx_runtime.JSX.Element;
1771
+
1772
+ interface MyReviewQueuePanelProps {
1773
+ onItemClick: (itemId: string) => void;
1774
+ onSeeAll?: () => void;
1775
+ showSectionLabel?: boolean;
1776
+ }
1777
+ /**
1778
+ * `MyReviewQueue` -- mirrors `MyTasksPanel` for the content System's sidebar workbench.
1779
+ *
1780
+ * The `/content/items` route accepts no "pending review" filter (only `reviewedBy`, not
1781
+ * a reviewed/unreviewed flag), so this fetches a page of items and filters to
1782
+ * `reviewedAt === null` client-side. A future backend addition could push this
1783
+ * server-side; documenting the gap here rather than silently over-claiming precision.
1784
+ */
1785
+ declare function MyReviewQueuePanel({ onItemClick, onSeeAll, showSectionLabel }: MyReviewQueuePanelProps): react_jsx_runtime.JSX.Element;
1786
+
1787
+ export { AlternatesPanel, CONTENT_ITEMS, ContentDistributionDetailPage, ContentDistributionsPage, ContentItemReviewPage, ContentItemsPage, ContentOverviewPage, ContentPipelineWorkspacePage, ContentPipelinesPage, ContentReviewCard, ContentSettingsPage, ContentSidebar, ContentSidebarMiddle, ContentSidebarTop, MyReviewQueuePanel, PayloadBody, ProcessingStateStrip, ReviewActionBar, contentManifest, firstLine, formatElapsed, lastLine, resolveContentStepResource, swapFirstLine, swapLastLine, useContentConfig };
1788
+ export type { AlternatesPanelProps, ContentAlternateOption, ContentConfig, ContentDistributionDetailPageSlots, ContentDistributionsPageSlots, ContentFidelityCheck, ContentItemReviewPageSlots, ContentItemsPageSlots, ContentOverviewPageSlots, ContentPayloadField, ContentPipelineWorkspacePageSlots, ContentPipelinesPageSlots, ContentProcessingStatus, ContentProcessingStep, ContentProduceSlotProps, ContentReviewAction, ContentReviewCardProps, ContentSettingsPageSlots, ContentSidebarMiddleProps, ContentSidebarProps, ContentStepResourceBinding, MyReviewQueuePanelProps, PayloadBodyProps, ProcessingStateStripProps, ReviewActionBarProps, ReviewMode };