@object-ui/types 0.5.0 → 3.0.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.
- package/README.md +1 -1
- package/dist/ai.d.ts +376 -0
- package/dist/ai.d.ts.map +1 -0
- package/dist/ai.js +8 -0
- package/dist/app.d.ts +2 -2
- package/dist/complex.d.ts +2 -0
- package/dist/complex.d.ts.map +1 -1
- package/dist/crud.d.ts +3 -0
- package/dist/crud.d.ts.map +1 -1
- package/dist/data-display.d.ts +40 -0
- package/dist/data-display.d.ts.map +1 -1
- package/dist/data-protocol.d.ts +19 -19
- package/dist/data.d.ts +77 -0
- package/dist/data.d.ts.map +1 -1
- package/dist/designer.d.ts +473 -0
- package/dist/designer.d.ts.map +1 -0
- package/dist/designer.js +8 -0
- package/dist/form.d.ts +35 -1
- package/dist/form.d.ts.map +1 -1
- package/dist/index.d.ts +46 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -0
- package/dist/layout.d.ts +63 -8
- package/dist/layout.d.ts.map +1 -1
- package/dist/mobile.d.ts +186 -0
- package/dist/mobile.d.ts.map +1 -0
- package/dist/mobile.js +8 -0
- package/dist/objectql.d.ts +341 -88
- package/dist/objectql.d.ts.map +1 -1
- package/dist/permissions.d.ts +150 -0
- package/dist/permissions.d.ts.map +1 -0
- package/dist/permissions.js +8 -0
- package/dist/tenant.d.ts +138 -0
- package/dist/tenant.d.ts.map +1 -0
- package/dist/tenant.js +8 -0
- package/dist/theme.d.ts +115 -224
- package/dist/theme.d.ts.map +1 -1
- package/dist/ui-action.d.ts +126 -11
- package/dist/ui-action.d.ts.map +1 -1
- package/dist/views.d.ts +20 -0
- package/dist/views.d.ts.map +1 -1
- package/dist/widget.d.ts +181 -0
- package/dist/widget.d.ts.map +1 -0
- package/dist/widget.js +8 -0
- package/dist/workflow.d.ts +340 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.js +8 -0
- package/dist/zod/blocks.zod.d.ts +2 -2
- package/dist/zod/blocks.zod.d.ts.map +1 -1
- package/dist/zod/blocks.zod.js +1 -1
- package/dist/zod/complex.zod.d.ts +6 -6
- package/dist/zod/complex.zod.d.ts.map +1 -1
- package/dist/zod/complex.zod.js +1 -1
- package/dist/zod/crud.zod.d.ts +5 -5
- package/dist/zod/data-display.zod.d.ts +2 -2
- package/dist/zod/data-display.zod.d.ts.map +1 -1
- package/dist/zod/data-display.zod.js +1 -1
- package/dist/zod/disclosure.zod.d.ts +2 -2
- package/dist/zod/disclosure.zod.d.ts.map +1 -1
- package/dist/zod/disclosure.zod.js +1 -1
- package/dist/zod/feedback.zod.d.ts +12 -12
- package/dist/zod/feedback.zod.d.ts.map +1 -1
- package/dist/zod/feedback.zod.js +1 -1
- package/dist/zod/form.zod.d.ts +6 -6
- package/dist/zod/form.zod.d.ts.map +1 -1
- package/dist/zod/form.zod.js +1 -1
- package/dist/zod/index.zod.d.ts +337 -146
- package/dist/zod/index.zod.d.ts.map +1 -1
- package/dist/zod/index.zod.js +4 -4
- package/dist/zod/layout.zod.d.ts +134 -2
- package/dist/zod/layout.zod.d.ts.map +1 -1
- package/dist/zod/layout.zod.js +35 -1
- package/dist/zod/navigation.zod.d.ts +2 -2
- package/dist/zod/navigation.zod.d.ts.map +1 -1
- package/dist/zod/navigation.zod.js +1 -1
- package/dist/zod/objectql.zod.d.ts +32 -16
- package/dist/zod/objectql.zod.d.ts.map +1 -1
- package/dist/zod/objectql.zod.js +8 -0
- package/dist/zod/overlay.zod.d.ts +2 -2
- package/dist/zod/overlay.zod.d.ts.map +1 -1
- package/dist/zod/overlay.zod.js +1 -1
- package/dist/zod/reports.zod.d.ts +19 -19
- package/dist/zod/reports.zod.d.ts.map +1 -1
- package/dist/zod/reports.zod.js +1 -1
- package/dist/zod/theme.zod.d.ts +948 -267
- package/dist/zod/theme.zod.d.ts.map +1 -1
- package/dist/zod/theme.zod.js +175 -45
- package/dist/zod/views.zod.d.ts +22 -22
- package/dist/zod/views.zod.d.ts.map +1 -1
- package/dist/zod/views.zod.js +1 -1
- package/package.json +3 -2
- package/src/__tests__/namespace-exports.test.ts +23 -68
- package/src/__tests__/phase2-schemas.test.ts +8 -13
- package/src/ai.ts +454 -0
- package/src/app.ts +2 -2
- package/src/complex.ts +2 -0
- package/src/crud.ts +3 -0
- package/src/data-display.ts +36 -0
- package/src/data-protocol.ts +19 -19
- package/src/data.ts +91 -0
- package/src/designer.ts +509 -0
- package/src/form.ts +35 -1
- package/src/index.ts +397 -8
- package/src/layout.ts +66 -8
- package/src/mobile.ts +205 -0
- package/src/objectql.ts +419 -93
- package/src/permissions.ts +166 -0
- package/src/tenant.ts +153 -0
- package/src/theme.ts +147 -260
- package/src/ui-action.ts +166 -27
- package/src/views.ts +17 -0
- package/src/widget.ts +197 -0
- package/src/workflow.ts +409 -0
- package/src/zod/blocks.zod.ts +1 -1
- package/src/zod/complex.zod.ts +1 -1
- package/src/zod/data-display.zod.ts +1 -1
- package/src/zod/disclosure.zod.ts +1 -1
- package/src/zod/feedback.zod.ts +1 -1
- package/src/zod/form.zod.ts +1 -1
- package/src/zod/index.zod.ts +14 -3
- package/src/zod/layout.zod.ts +39 -1
- package/src/zod/navigation.zod.ts +1 -1
- package/src/zod/objectql.zod.ts +8 -0
- package/src/zod/overlay.zod.ts +1 -1
- package/src/zod/reports.zod.ts +1 -1
- package/src/zod/theme.zod.ts +189 -48
- package/src/zod/views.zod.ts +1 -1
package/src/ai.ts
ADDED
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ObjectUI
|
|
3
|
+
* Copyright (c) 2024-present ObjectStack Inc.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @object-ui/types - AI Schema
|
|
11
|
+
*
|
|
12
|
+
* Defines AI-related UI component schemas for intelligent form assistance,
|
|
13
|
+
* recommendations, natural language queries, and data insights.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import type { BaseSchema } from './base';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* AI Provider Type
|
|
20
|
+
*/
|
|
21
|
+
export type AIProvider = 'openai' | 'anthropic' | 'google' | 'azure' | 'custom';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* AI Model Type
|
|
25
|
+
*/
|
|
26
|
+
export type AIModelType = 'gpt-4' | 'gpt-3.5-turbo' | 'claude-3' | 'gemini-pro' | 'custom';
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* AI Configuration
|
|
30
|
+
*/
|
|
31
|
+
export interface AIConfig {
|
|
32
|
+
/**
|
|
33
|
+
* AI provider to use
|
|
34
|
+
*/
|
|
35
|
+
provider?: AIProvider;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Model identifier
|
|
39
|
+
*/
|
|
40
|
+
model?: AIModelType | string;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Custom API endpoint URL
|
|
44
|
+
*/
|
|
45
|
+
apiEndpoint?: string;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Sampling temperature (0-1)
|
|
49
|
+
*/
|
|
50
|
+
temperature?: number;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Maximum tokens for response
|
|
54
|
+
*/
|
|
55
|
+
maxTokens?: number;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* System prompt for the AI model
|
|
59
|
+
*/
|
|
60
|
+
systemPrompt?: string;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* AI Field Suggestion
|
|
65
|
+
*/
|
|
66
|
+
export interface AIFieldSuggestion {
|
|
67
|
+
/**
|
|
68
|
+
* Name of the field being suggested
|
|
69
|
+
*/
|
|
70
|
+
fieldName: string;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Suggested value for the field
|
|
74
|
+
*/
|
|
75
|
+
value: any;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Confidence score (0-1)
|
|
79
|
+
*/
|
|
80
|
+
confidence: number;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Explanation for the suggestion
|
|
84
|
+
*/
|
|
85
|
+
reasoning?: string;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* AI Form Assist Schema - Intelligent form field suggestions
|
|
90
|
+
*/
|
|
91
|
+
export interface AIFormAssistSchema extends BaseSchema {
|
|
92
|
+
type: 'ai-form-assist';
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Target form identifier
|
|
96
|
+
*/
|
|
97
|
+
formId?: string;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Object name for context
|
|
101
|
+
*/
|
|
102
|
+
objectName?: string;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Fields to provide suggestions for
|
|
106
|
+
*/
|
|
107
|
+
fields?: string[];
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Additional context for generating suggestions
|
|
111
|
+
*/
|
|
112
|
+
context?: Record<string, any>;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* AI configuration
|
|
116
|
+
*/
|
|
117
|
+
config?: AIConfig;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Current suggestions
|
|
121
|
+
*/
|
|
122
|
+
suggestions?: AIFieldSuggestion[];
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Automatically fill fields with suggestions
|
|
126
|
+
*/
|
|
127
|
+
autoFill?: boolean;
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Show confidence scores for suggestions
|
|
131
|
+
*/
|
|
132
|
+
showConfidence?: boolean;
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Show reasoning for suggestions
|
|
136
|
+
*/
|
|
137
|
+
showReasoning?: boolean;
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Callback when a suggestion is applied
|
|
141
|
+
*/
|
|
142
|
+
onApplySuggestion?: string;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Callback when a suggestion is rejected
|
|
146
|
+
*/
|
|
147
|
+
onRejectSuggestion?: string;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* AI Recommendation Item
|
|
152
|
+
*/
|
|
153
|
+
export interface AIRecommendationItem {
|
|
154
|
+
/**
|
|
155
|
+
* Unique identifier
|
|
156
|
+
*/
|
|
157
|
+
id: string;
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Recommendation title
|
|
161
|
+
*/
|
|
162
|
+
title: string;
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Recommendation description
|
|
166
|
+
*/
|
|
167
|
+
description?: string;
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Relevance score (0-1)
|
|
171
|
+
*/
|
|
172
|
+
score: number;
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Recommendation category
|
|
176
|
+
*/
|
|
177
|
+
category?: string;
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Additional metadata
|
|
181
|
+
*/
|
|
182
|
+
metadata?: Record<string, any>;
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Action to perform when selected
|
|
186
|
+
*/
|
|
187
|
+
action?: {
|
|
188
|
+
/**
|
|
189
|
+
* Action type
|
|
190
|
+
*/
|
|
191
|
+
type: string;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Action target
|
|
195
|
+
*/
|
|
196
|
+
target?: string;
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* AI Recommendations Schema - Intelligent content recommendations
|
|
202
|
+
*/
|
|
203
|
+
export interface AIRecommendationsSchema extends BaseSchema {
|
|
204
|
+
type: 'ai-recommendations';
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Object name for context
|
|
208
|
+
*/
|
|
209
|
+
objectName?: string;
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Additional context for generating recommendations
|
|
213
|
+
*/
|
|
214
|
+
context?: Record<string, any>;
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* AI configuration
|
|
218
|
+
*/
|
|
219
|
+
config?: AIConfig;
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Current recommendations
|
|
223
|
+
*/
|
|
224
|
+
recommendations?: AIRecommendationItem[];
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Maximum number of results to display
|
|
228
|
+
*/
|
|
229
|
+
maxResults?: number;
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Show relevance scores
|
|
233
|
+
*/
|
|
234
|
+
showScores?: boolean;
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Display layout
|
|
238
|
+
*/
|
|
239
|
+
layout?: 'list' | 'grid' | 'carousel';
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Callback when a recommendation is selected
|
|
243
|
+
*/
|
|
244
|
+
onSelect?: string;
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* Callback when a recommendation is dismissed
|
|
248
|
+
*/
|
|
249
|
+
onDismiss?: string;
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Loading state
|
|
253
|
+
*/
|
|
254
|
+
loading?: boolean;
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Message to display when no recommendations are available
|
|
258
|
+
*/
|
|
259
|
+
emptyMessage?: string;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Natural Language Query Result
|
|
264
|
+
*/
|
|
265
|
+
export interface NLQueryResult {
|
|
266
|
+
/**
|
|
267
|
+
* Original query string
|
|
268
|
+
*/
|
|
269
|
+
query: string;
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* Parsed query representation
|
|
273
|
+
*/
|
|
274
|
+
parsedQuery?: Record<string, any>;
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Result data
|
|
278
|
+
*/
|
|
279
|
+
data?: any[];
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Column definitions for the result data
|
|
283
|
+
*/
|
|
284
|
+
columns?: Array<{
|
|
285
|
+
/**
|
|
286
|
+
* Column name
|
|
287
|
+
*/
|
|
288
|
+
name: string;
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* Display label
|
|
292
|
+
*/
|
|
293
|
+
label?: string;
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* Column data type
|
|
297
|
+
*/
|
|
298
|
+
type?: string;
|
|
299
|
+
}>;
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* AI-generated summary of the results
|
|
303
|
+
*/
|
|
304
|
+
summary?: string;
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* Confidence score for the query interpretation (0-1)
|
|
308
|
+
*/
|
|
309
|
+
confidence?: number;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* Natural Language Query Schema - Query data using natural language
|
|
314
|
+
*/
|
|
315
|
+
export interface NLQuerySchema extends BaseSchema {
|
|
316
|
+
type: 'nl-query';
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* Object name for context
|
|
320
|
+
*/
|
|
321
|
+
objectName?: string;
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* Input placeholder text
|
|
325
|
+
*/
|
|
326
|
+
placeholder?: string;
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* AI configuration
|
|
330
|
+
*/
|
|
331
|
+
config?: AIConfig;
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Current query result
|
|
335
|
+
*/
|
|
336
|
+
result?: NLQueryResult;
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Example queries to suggest
|
|
340
|
+
*/
|
|
341
|
+
suggestions?: string[];
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* Show query history
|
|
345
|
+
*/
|
|
346
|
+
showHistory?: boolean;
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Query history entries
|
|
350
|
+
*/
|
|
351
|
+
history?: Array<{
|
|
352
|
+
/**
|
|
353
|
+
* Query string
|
|
354
|
+
*/
|
|
355
|
+
query: string;
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* Timestamp of the query
|
|
359
|
+
*/
|
|
360
|
+
timestamp: string;
|
|
361
|
+
}>;
|
|
362
|
+
|
|
363
|
+
/**
|
|
364
|
+
* Loading state
|
|
365
|
+
*/
|
|
366
|
+
loading?: boolean;
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Callback when a query is submitted
|
|
370
|
+
*/
|
|
371
|
+
onSubmit?: string;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* AI Insights Schema - AI-generated data insights and analysis
|
|
376
|
+
*/
|
|
377
|
+
export interface AIInsightsSchema extends BaseSchema {
|
|
378
|
+
type: 'ai-insights';
|
|
379
|
+
|
|
380
|
+
/**
|
|
381
|
+
* Object name for context
|
|
382
|
+
*/
|
|
383
|
+
objectName?: string;
|
|
384
|
+
|
|
385
|
+
/**
|
|
386
|
+
* Data to analyze
|
|
387
|
+
*/
|
|
388
|
+
data?: any[];
|
|
389
|
+
|
|
390
|
+
/**
|
|
391
|
+
* AI configuration
|
|
392
|
+
*/
|
|
393
|
+
config?: AIConfig;
|
|
394
|
+
|
|
395
|
+
/**
|
|
396
|
+
* Generated insights
|
|
397
|
+
*/
|
|
398
|
+
insights?: Array<{
|
|
399
|
+
/**
|
|
400
|
+
* Insight title
|
|
401
|
+
*/
|
|
402
|
+
title: string;
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* Insight description
|
|
406
|
+
*/
|
|
407
|
+
description: string;
|
|
408
|
+
|
|
409
|
+
/**
|
|
410
|
+
* Insight type
|
|
411
|
+
*/
|
|
412
|
+
type: 'trend' | 'anomaly' | 'prediction' | 'recommendation';
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* Severity level
|
|
416
|
+
*/
|
|
417
|
+
severity?: 'info' | 'warning' | 'critical';
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* Associated metric
|
|
421
|
+
*/
|
|
422
|
+
metric?: {
|
|
423
|
+
/**
|
|
424
|
+
* Metric value
|
|
425
|
+
*/
|
|
426
|
+
value: number;
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* Change from previous period
|
|
430
|
+
*/
|
|
431
|
+
change?: number;
|
|
432
|
+
|
|
433
|
+
/**
|
|
434
|
+
* Unit of measurement
|
|
435
|
+
*/
|
|
436
|
+
unit?: string;
|
|
437
|
+
};
|
|
438
|
+
}>;
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* Loading state
|
|
442
|
+
*/
|
|
443
|
+
loading?: boolean;
|
|
444
|
+
|
|
445
|
+
/**
|
|
446
|
+
* Automatically refresh insights
|
|
447
|
+
*/
|
|
448
|
+
autoRefresh?: boolean;
|
|
449
|
+
|
|
450
|
+
/**
|
|
451
|
+
* Auto-refresh interval (in seconds)
|
|
452
|
+
*/
|
|
453
|
+
refreshInterval?: number;
|
|
454
|
+
}
|
package/src/app.ts
CHANGED
|
@@ -66,13 +66,13 @@ export interface AppSchema extends BaseSchema {
|
|
|
66
66
|
actions?: AppAction[];
|
|
67
67
|
|
|
68
68
|
/**
|
|
69
|
-
* Home page ID (ObjectStack Spec
|
|
69
|
+
* Home page ID (ObjectStack Spec v2.0.1)
|
|
70
70
|
* Default page to navigate to after login
|
|
71
71
|
*/
|
|
72
72
|
homePageId?: string;
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
|
-
* Required permissions (ObjectStack Spec
|
|
75
|
+
* Required permissions (ObjectStack Spec v2.0.1)
|
|
76
76
|
* Permissions required to access this application
|
|
77
77
|
*/
|
|
78
78
|
requiredPermissions?: string[];
|
package/src/complex.ts
CHANGED
|
@@ -519,6 +519,8 @@ export interface DashboardSchema extends BaseSchema {
|
|
|
519
519
|
columns?: number;
|
|
520
520
|
gap?: number;
|
|
521
521
|
widgets: DashboardWidgetSchema[];
|
|
522
|
+
/** Auto-refresh interval in seconds. When set, the dashboard will periodically trigger onRefresh. */
|
|
523
|
+
refreshInterval?: number;
|
|
522
524
|
}
|
|
523
525
|
|
|
524
526
|
/**
|
package/src/crud.ts
CHANGED
|
@@ -81,6 +81,9 @@ export interface ActionCondition {
|
|
|
81
81
|
/**
|
|
82
82
|
* Action button configuration for CRUD operations
|
|
83
83
|
* Enhanced with Phase 2 features: ajax, confirm, dialog, chaining, conditional execution
|
|
84
|
+
*
|
|
85
|
+
* @deprecated Use `UIActionSchema` from `@object-ui/types` (re-exported from `ui-action.ts`) for new code.
|
|
86
|
+
* This legacy interface will be removed in a future major version.
|
|
84
87
|
*/
|
|
85
88
|
export interface ActionSchema extends BaseSchema {
|
|
86
89
|
type: 'action';
|
package/src/data-display.ts
CHANGED
|
@@ -253,6 +253,11 @@ export interface TableColumn {
|
|
|
253
253
|
* @default true
|
|
254
254
|
*/
|
|
255
255
|
resizable?: boolean;
|
|
256
|
+
/**
|
|
257
|
+
* Whether column is editable (for inline editing)
|
|
258
|
+
* @default true
|
|
259
|
+
*/
|
|
260
|
+
editable?: boolean;
|
|
256
261
|
/**
|
|
257
262
|
* Custom cell renderer function
|
|
258
263
|
*/
|
|
@@ -377,6 +382,37 @@ export interface DataTableSchema extends BaseSchema {
|
|
|
377
382
|
* Columns reorder handler
|
|
378
383
|
*/
|
|
379
384
|
onColumnsReorder?: (columns: TableColumn[]) => void;
|
|
385
|
+
/**
|
|
386
|
+
* Enable inline cell editing
|
|
387
|
+
* When true, cells become editable on double-click or Enter key
|
|
388
|
+
* @default false
|
|
389
|
+
*/
|
|
390
|
+
editable?: boolean;
|
|
391
|
+
/**
|
|
392
|
+
* Cell value change handler
|
|
393
|
+
* Called when a cell value is edited
|
|
394
|
+
*/
|
|
395
|
+
onCellChange?: (rowIndex: number, columnKey: string, newValue: any, row: any) => void;
|
|
396
|
+
/**
|
|
397
|
+
* Row save handler
|
|
398
|
+
* Called when saving changes for a single row
|
|
399
|
+
*/
|
|
400
|
+
onRowSave?: (rowIndex: number, changes: Record<string, any>, row: any) => void | Promise<void>;
|
|
401
|
+
/**
|
|
402
|
+
* Batch save handler
|
|
403
|
+
* Called when saving changes for multiple rows
|
|
404
|
+
*/
|
|
405
|
+
onBatchSave?: (changes: Array<{ rowIndex: number; changes: Record<string, any>; row: any }>) => void | Promise<void>;
|
|
406
|
+
/**
|
|
407
|
+
* Row click handler
|
|
408
|
+
* Called when a row is clicked
|
|
409
|
+
*/
|
|
410
|
+
onRowClick?: (row: any) => void;
|
|
411
|
+
/**
|
|
412
|
+
* Dynamic row class name
|
|
413
|
+
* Function that returns a CSS class string for each row
|
|
414
|
+
*/
|
|
415
|
+
rowClassName?: (row: any, index: number) => string | undefined;
|
|
380
416
|
}
|
|
381
417
|
|
|
382
418
|
/**
|
package/src/data-protocol.ts
CHANGED
|
@@ -81,7 +81,7 @@ export interface WhereNode extends QueryASTNode {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
/**
|
|
84
|
-
* Join execution strategy hint (ObjectStack Spec
|
|
84
|
+
* Join execution strategy hint (ObjectStack Spec v2.0.1)
|
|
85
85
|
*/
|
|
86
86
|
export type JoinStrategy = 'auto' | 'database' | 'hash' | 'loop';
|
|
87
87
|
|
|
@@ -155,7 +155,7 @@ export interface AggregateNode extends QueryASTNode {
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
/**
|
|
158
|
-
* Window function type (ObjectStack Spec
|
|
158
|
+
* Window function type (ObjectStack Spec v2.0.1)
|
|
159
159
|
*/
|
|
160
160
|
export type WindowFunction =
|
|
161
161
|
| 'row_number'
|
|
@@ -173,12 +173,12 @@ export type WindowFunction =
|
|
|
173
173
|
| 'max';
|
|
174
174
|
|
|
175
175
|
/**
|
|
176
|
-
* Window frame unit (ObjectStack Spec
|
|
176
|
+
* Window frame unit (ObjectStack Spec v2.0.1)
|
|
177
177
|
*/
|
|
178
178
|
export type WindowFrameUnit = 'rows' | 'range';
|
|
179
179
|
|
|
180
180
|
/**
|
|
181
|
-
* Window frame boundary (ObjectStack Spec
|
|
181
|
+
* Window frame boundary (ObjectStack Spec v2.0.1)
|
|
182
182
|
*/
|
|
183
183
|
export type WindowFrameBoundary =
|
|
184
184
|
| 'unbounded_preceding'
|
|
@@ -188,7 +188,7 @@ export type WindowFrameBoundary =
|
|
|
188
188
|
| { type: 'following'; offset: number };
|
|
189
189
|
|
|
190
190
|
/**
|
|
191
|
-
* Window frame specification (ObjectStack Spec
|
|
191
|
+
* Window frame specification (ObjectStack Spec v2.0.1)
|
|
192
192
|
*/
|
|
193
193
|
export interface WindowFrame {
|
|
194
194
|
unit: WindowFrameUnit;
|
|
@@ -197,7 +197,7 @@ export interface WindowFrame {
|
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
/**
|
|
200
|
-
* Window function node (ObjectStack Spec
|
|
200
|
+
* Window function node (ObjectStack Spec v2.0.1)
|
|
201
201
|
*/
|
|
202
202
|
export interface WindowNode extends QueryASTNode {
|
|
203
203
|
type: 'window';
|
|
@@ -341,7 +341,7 @@ export interface QuerySchema {
|
|
|
341
341
|
group_by?: string[];
|
|
342
342
|
|
|
343
343
|
/**
|
|
344
|
-
* Window functions (ObjectStack Spec
|
|
344
|
+
* Window functions (ObjectStack Spec v2.0.1)
|
|
345
345
|
*/
|
|
346
346
|
windows?: WindowConfig[];
|
|
347
347
|
|
|
@@ -388,7 +388,7 @@ export interface AggregationConfig {
|
|
|
388
388
|
}
|
|
389
389
|
|
|
390
390
|
/**
|
|
391
|
-
* Window function configuration (ObjectStack Spec
|
|
391
|
+
* Window function configuration (ObjectStack Spec v2.0.1)
|
|
392
392
|
*/
|
|
393
393
|
export interface WindowConfig {
|
|
394
394
|
/** Window function name */
|
|
@@ -826,12 +826,12 @@ export interface AdvancedValidationError {
|
|
|
826
826
|
|
|
827
827
|
/**
|
|
828
828
|
* =============================================================================
|
|
829
|
-
* ObjectStack Spec
|
|
829
|
+
* ObjectStack Spec v2.0.1: Object-Level Validation Framework
|
|
830
830
|
* =============================================================================
|
|
831
831
|
*/
|
|
832
832
|
|
|
833
833
|
/**
|
|
834
|
-
* Base validation interface (ObjectStack Spec
|
|
834
|
+
* Base validation interface (ObjectStack Spec v2.0.1)
|
|
835
835
|
*/
|
|
836
836
|
export interface BaseValidation {
|
|
837
837
|
/** Unique validation name (snake_case) */
|
|
@@ -860,7 +860,7 @@ export interface BaseValidation {
|
|
|
860
860
|
}
|
|
861
861
|
|
|
862
862
|
/**
|
|
863
|
-
* Script-based validation (ObjectStack Spec
|
|
863
|
+
* Script-based validation (ObjectStack Spec v2.0.1)
|
|
864
864
|
* Uses expression language to define conditions
|
|
865
865
|
*/
|
|
866
866
|
export interface ScriptValidation extends BaseValidation {
|
|
@@ -871,7 +871,7 @@ export interface ScriptValidation extends BaseValidation {
|
|
|
871
871
|
}
|
|
872
872
|
|
|
873
873
|
/**
|
|
874
|
-
* Uniqueness validation (ObjectStack Spec
|
|
874
|
+
* Uniqueness validation (ObjectStack Spec v2.0.1)
|
|
875
875
|
* Ensures field combinations are unique
|
|
876
876
|
*/
|
|
877
877
|
export interface UniquenessValidation extends BaseValidation {
|
|
@@ -888,7 +888,7 @@ export interface UniquenessValidation extends BaseValidation {
|
|
|
888
888
|
}
|
|
889
889
|
|
|
890
890
|
/**
|
|
891
|
-
* State machine validation (ObjectStack Spec
|
|
891
|
+
* State machine validation (ObjectStack Spec v2.0.1)
|
|
892
892
|
* Enforces valid state transitions
|
|
893
893
|
*/
|
|
894
894
|
export interface StateMachineValidation extends BaseValidation {
|
|
@@ -911,7 +911,7 @@ export interface StateMachineValidation extends BaseValidation {
|
|
|
911
911
|
}
|
|
912
912
|
|
|
913
913
|
/**
|
|
914
|
-
* Cross-field validation (ObjectStack Spec
|
|
914
|
+
* Cross-field validation (ObjectStack Spec v2.0.1)
|
|
915
915
|
* Validates relationships between multiple fields
|
|
916
916
|
*/
|
|
917
917
|
export interface CrossFieldValidation extends BaseValidation {
|
|
@@ -925,7 +925,7 @@ export interface CrossFieldValidation extends BaseValidation {
|
|
|
925
925
|
}
|
|
926
926
|
|
|
927
927
|
/**
|
|
928
|
-
* Async/remote validation (ObjectStack Spec
|
|
928
|
+
* Async/remote validation (ObjectStack Spec v2.0.1)
|
|
929
929
|
* Calls external endpoint for validation
|
|
930
930
|
*/
|
|
931
931
|
export interface AsyncValidation extends BaseValidation {
|
|
@@ -948,7 +948,7 @@ export interface AsyncValidation extends BaseValidation {
|
|
|
948
948
|
}
|
|
949
949
|
|
|
950
950
|
/**
|
|
951
|
-
* Conditional validation (ObjectStack Spec
|
|
951
|
+
* Conditional validation (ObjectStack Spec v2.0.1)
|
|
952
952
|
* Applies nested rules only when condition is met
|
|
953
953
|
*/
|
|
954
954
|
export interface ConditionalValidation extends BaseValidation {
|
|
@@ -962,7 +962,7 @@ export interface ConditionalValidation extends BaseValidation {
|
|
|
962
962
|
}
|
|
963
963
|
|
|
964
964
|
/**
|
|
965
|
-
* Format validation (ObjectStack Spec
|
|
965
|
+
* Format validation (ObjectStack Spec v2.0.1)
|
|
966
966
|
* Validates field format using regex or predefined patterns
|
|
967
967
|
*/
|
|
968
968
|
export interface FormatValidation extends BaseValidation {
|
|
@@ -982,7 +982,7 @@ export interface FormatValidation extends BaseValidation {
|
|
|
982
982
|
}
|
|
983
983
|
|
|
984
984
|
/**
|
|
985
|
-
* Range validation (ObjectStack Spec
|
|
985
|
+
* Range validation (ObjectStack Spec v2.0.1)
|
|
986
986
|
* Validates numeric or date ranges
|
|
987
987
|
*/
|
|
988
988
|
export interface RangeValidation extends BaseValidation {
|
|
@@ -1005,7 +1005,7 @@ export interface RangeValidation extends BaseValidation {
|
|
|
1005
1005
|
}
|
|
1006
1006
|
|
|
1007
1007
|
/**
|
|
1008
|
-
* Union type for all validation rules (ObjectStack Spec
|
|
1008
|
+
* Union type for all validation rules (ObjectStack Spec v2.0.1)
|
|
1009
1009
|
*/
|
|
1010
1010
|
export type ObjectValidationRule =
|
|
1011
1011
|
| ScriptValidation
|