@objectstack/service-ai 4.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/.turbo/turbo-build.log +22 -0
- package/CHANGELOG.md +25 -0
- package/LICENSE +202 -0
- package/dist/index.cjs +1418 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +3406 -0
- package/dist/index.d.ts +3406 -0
- package/dist/index.js +1378 -0
- package/dist/index.js.map +1 -0
- package/package.json +29 -0
- package/src/__tests__/ai-service.test.ts +731 -0
- package/src/__tests__/chatbot-features.test.ts +821 -0
- package/src/__tests__/objectql-conversation-service.test.ts +364 -0
- package/src/adapters/index.ts +4 -0
- package/src/adapters/memory-adapter.ts +64 -0
- package/src/adapters/types.ts +3 -0
- package/src/agent-runtime.ts +130 -0
- package/src/agents/data-chat-agent.ts +79 -0
- package/src/agents/index.ts +3 -0
- package/src/ai-service.ts +205 -0
- package/src/conversation/in-memory-conversation-service.ts +103 -0
- package/src/conversation/index.ts +4 -0
- package/src/conversation/objectql-conversation-service.ts +252 -0
- package/src/index.ts +40 -0
- package/src/objects/ai-conversation.object.ts +86 -0
- package/src/objects/ai-message.object.ts +86 -0
- package/src/objects/index.ts +10 -0
- package/src/plugin.ts +184 -0
- package/src/routes/agent-routes.ts +132 -0
- package/src/routes/ai-routes.ts +286 -0
- package/src/routes/index.ts +4 -0
- package/src/tools/data-tools.ts +390 -0
- package/src/tools/index.ts +7 -0
- package/src/tools/tool-registry.ts +109 -0
- package/tsconfig.json +17 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,3406 @@
|
|
|
1
|
+
import { AIToolDefinition, AIToolCall, AIToolResult, IAIService, IAIConversationService, LLMAdapter, Logger, AIMessage, AIRequestOptions, AIResult, AIStreamEvent, ChatWithToolsOptions, AIConversation, IDataEngine, IMetadataService } from '@objectstack/spec/contracts';
|
|
2
|
+
export { LLMAdapter } from '@objectstack/spec/contracts';
|
|
3
|
+
import { Plugin, PluginContext } from '@objectstack/core';
|
|
4
|
+
import { Agent } from '@objectstack/spec';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import * as _objectstack_spec_data from '@objectstack/spec/data';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Handler function for a registered tool.
|
|
10
|
+
*
|
|
11
|
+
* Receives parsed arguments and returns the tool output as a string.
|
|
12
|
+
*/
|
|
13
|
+
type ToolHandler = (args: Record<string, unknown>) => Promise<string> | string;
|
|
14
|
+
/**
|
|
15
|
+
* ToolRegistry — Central registry for AI-callable tools.
|
|
16
|
+
*
|
|
17
|
+
* Plugins register tools (metadata helpers, data queries, business actions)
|
|
18
|
+
* during the `ai:ready` hook. The AI service resolves tool calls against
|
|
19
|
+
* this registry and feeds the results back to the LLM.
|
|
20
|
+
*/
|
|
21
|
+
declare class ToolRegistry {
|
|
22
|
+
private readonly definitions;
|
|
23
|
+
private readonly handlers;
|
|
24
|
+
/**
|
|
25
|
+
* Register a tool with its definition and handler.
|
|
26
|
+
* @param definition - Tool definition (name, description, parameters schema)
|
|
27
|
+
* @param handler - Async function that executes the tool
|
|
28
|
+
*/
|
|
29
|
+
register(definition: AIToolDefinition, handler: ToolHandler): void;
|
|
30
|
+
/**
|
|
31
|
+
* Unregister a tool by name.
|
|
32
|
+
*/
|
|
33
|
+
unregister(name: string): void;
|
|
34
|
+
/**
|
|
35
|
+
* Check whether a tool is registered.
|
|
36
|
+
*/
|
|
37
|
+
has(name: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Get the definition for a registered tool.
|
|
40
|
+
*/
|
|
41
|
+
getDefinition(name: string): AIToolDefinition | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Return all registered tool definitions.
|
|
44
|
+
*/
|
|
45
|
+
getAll(): AIToolDefinition[];
|
|
46
|
+
/** Number of registered tools. */
|
|
47
|
+
get size(): number;
|
|
48
|
+
/** All registered tool names. */
|
|
49
|
+
names(): string[];
|
|
50
|
+
/**
|
|
51
|
+
* Execute a tool call and return the result.
|
|
52
|
+
*/
|
|
53
|
+
execute(toolCall: AIToolCall): Promise<AIToolResult>;
|
|
54
|
+
/**
|
|
55
|
+
* Execute multiple tool calls in parallel.
|
|
56
|
+
*/
|
|
57
|
+
executeAll(toolCalls: AIToolCall[]): Promise<AIToolResult[]>;
|
|
58
|
+
/**
|
|
59
|
+
* Clear all registered tools.
|
|
60
|
+
*/
|
|
61
|
+
clear(): void;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Configuration for AIService.
|
|
66
|
+
*/
|
|
67
|
+
interface AIServiceConfig {
|
|
68
|
+
/** LLM adapter to delegate calls to (defaults to MemoryLLMAdapter). */
|
|
69
|
+
adapter?: LLMAdapter;
|
|
70
|
+
/** Logger instance. */
|
|
71
|
+
logger?: Logger;
|
|
72
|
+
/** Pre-registered tools. */
|
|
73
|
+
toolRegistry?: ToolRegistry;
|
|
74
|
+
/** Conversation service (defaults to InMemoryConversationService). */
|
|
75
|
+
conversationService?: IAIConversationService;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* AIService — Unified AI capability service.
|
|
79
|
+
*
|
|
80
|
+
* Implements {@link IAIService} by delegating to a pluggable {@link LLMAdapter}
|
|
81
|
+
* and managing tools and conversations through dedicated sub-components:
|
|
82
|
+
*
|
|
83
|
+
* | Component | Responsibility |
|
|
84
|
+
* |:---|:---|
|
|
85
|
+
* | {@link LLMAdapter} | LLM provider abstraction (chat, complete, stream, embed) |
|
|
86
|
+
* | {@link ToolRegistry} | Tool definition storage & execution |
|
|
87
|
+
* | {@link IAIConversationService} | Conversation CRUD & message persistence |
|
|
88
|
+
*
|
|
89
|
+
* The service is registered as `'ai'` in the kernel service registry by
|
|
90
|
+
* the {@link AIServicePlugin}.
|
|
91
|
+
*/
|
|
92
|
+
declare class AIService implements IAIService {
|
|
93
|
+
private readonly adapter;
|
|
94
|
+
private readonly logger;
|
|
95
|
+
readonly toolRegistry: ToolRegistry;
|
|
96
|
+
readonly conversationService: IAIConversationService;
|
|
97
|
+
constructor(config?: AIServiceConfig);
|
|
98
|
+
/** The name of the active LLM adapter. */
|
|
99
|
+
get adapterName(): string;
|
|
100
|
+
chat(messages: AIMessage[], options?: AIRequestOptions): Promise<AIResult>;
|
|
101
|
+
complete(prompt: string, options?: AIRequestOptions): Promise<AIResult>;
|
|
102
|
+
streamChat(messages: AIMessage[], options?: AIRequestOptions): AsyncIterable<AIStreamEvent>;
|
|
103
|
+
embed(input: string | string[], model?: string): Promise<number[][]>;
|
|
104
|
+
listModels(): Promise<string[]>;
|
|
105
|
+
/** Default maximum iterations for the tool call loop. */
|
|
106
|
+
static readonly DEFAULT_MAX_ITERATIONS = 10;
|
|
107
|
+
/**
|
|
108
|
+
* Chat with automatic tool call resolution.
|
|
109
|
+
*
|
|
110
|
+
* 1. Merges registered tool definitions into `options.tools`.
|
|
111
|
+
* 2. Calls the LLM adapter.
|
|
112
|
+
* 3. If the response contains `toolCalls`, executes them via the
|
|
113
|
+
* {@link ToolRegistry}, appends tool results as `role: 'tool'`
|
|
114
|
+
* messages, and loops back to step 2.
|
|
115
|
+
* 4. Repeats until the model produces a final text response or the
|
|
116
|
+
* maximum number of iterations (`maxIterations`) is reached.
|
|
117
|
+
*/
|
|
118
|
+
chatWithTools(messages: AIMessage[], options?: ChatWithToolsOptions): Promise<AIResult>;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Configuration options for the AIServicePlugin.
|
|
123
|
+
*/
|
|
124
|
+
interface AIServicePluginOptions {
|
|
125
|
+
/** LLM adapter to use (defaults to MemoryLLMAdapter). */
|
|
126
|
+
adapter?: LLMAdapter;
|
|
127
|
+
/** Enable debug logging. */
|
|
128
|
+
debug?: boolean;
|
|
129
|
+
/** Explicit conversation service override. When set, auto-detection is skipped. */
|
|
130
|
+
conversationService?: IAIConversationService;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* AIServicePlugin — Kernel plugin for the unified AI capability service.
|
|
134
|
+
*
|
|
135
|
+
* Lifecycle:
|
|
136
|
+
* 1. **init** — Creates {@link AIService}, registers as `'ai'` service.
|
|
137
|
+
* If an existing AI service is already registered, it is replaced.
|
|
138
|
+
* 2. **start** — Triggers `'ai:ready'` hook so other plugins can register
|
|
139
|
+
* tools or extend the service. Registers REST/SSE routes.
|
|
140
|
+
* 3. **destroy** — Cleans up references.
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```ts
|
|
144
|
+
* import { LiteKernel } from '@objectstack/core';
|
|
145
|
+
* import { AIServicePlugin } from '@objectstack/service-ai';
|
|
146
|
+
*
|
|
147
|
+
* const kernel = new LiteKernel();
|
|
148
|
+
* kernel.use(new AIServicePlugin());
|
|
149
|
+
* await kernel.bootstrap();
|
|
150
|
+
*
|
|
151
|
+
* const ai = kernel.getService<IAIService>('ai');
|
|
152
|
+
* const result = await ai.chat([{ role: 'user', content: 'Hello' }]);
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
declare class AIServicePlugin implements Plugin {
|
|
156
|
+
name: string;
|
|
157
|
+
version: string;
|
|
158
|
+
type: "standard";
|
|
159
|
+
dependencies: string[];
|
|
160
|
+
private service?;
|
|
161
|
+
private readonly options;
|
|
162
|
+
constructor(options?: AIServicePluginOptions);
|
|
163
|
+
init(ctx: PluginContext): Promise<void>;
|
|
164
|
+
start(ctx: PluginContext): Promise<void>;
|
|
165
|
+
destroy(): Promise<void>;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* MemoryLLMAdapter — deterministic in-memory adapter for testing & development.
|
|
170
|
+
*
|
|
171
|
+
* Always echoes back the last user message prefixed with "[memory] ".
|
|
172
|
+
* Useful for unit tests, CI pipelines, and local dev without an LLM key.
|
|
173
|
+
*/
|
|
174
|
+
declare class MemoryLLMAdapter implements LLMAdapter {
|
|
175
|
+
readonly name = "memory";
|
|
176
|
+
chat(messages: AIMessage[], options?: AIRequestOptions): Promise<AIResult>;
|
|
177
|
+
complete(prompt: string, options?: AIRequestOptions): Promise<AIResult>;
|
|
178
|
+
streamChat(messages: AIMessage[], _options?: AIRequestOptions): AsyncIterable<AIStreamEvent>;
|
|
179
|
+
embed(input: string | string[]): Promise<number[][]>;
|
|
180
|
+
listModels(): Promise<string[]>;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* InMemoryConversationService — Reference implementation of IAIConversationService.
|
|
185
|
+
*
|
|
186
|
+
* Stores conversations in a simple Map. Suitable for development, testing,
|
|
187
|
+
* and single-process deployments. Production environments should replace
|
|
188
|
+
* this with a persistent implementation (e.g., backed by ObjectQL/SQL).
|
|
189
|
+
*/
|
|
190
|
+
declare class InMemoryConversationService implements IAIConversationService {
|
|
191
|
+
private readonly store;
|
|
192
|
+
private counter;
|
|
193
|
+
create(options?: {
|
|
194
|
+
title?: string;
|
|
195
|
+
agentId?: string;
|
|
196
|
+
userId?: string;
|
|
197
|
+
metadata?: Record<string, unknown>;
|
|
198
|
+
}): Promise<AIConversation>;
|
|
199
|
+
get(conversationId: string): Promise<AIConversation | null>;
|
|
200
|
+
list(options?: {
|
|
201
|
+
userId?: string;
|
|
202
|
+
agentId?: string;
|
|
203
|
+
limit?: number;
|
|
204
|
+
cursor?: string;
|
|
205
|
+
}): Promise<AIConversation[]>;
|
|
206
|
+
addMessage(conversationId: string, message: AIMessage): Promise<AIConversation>;
|
|
207
|
+
delete(conversationId: string): Promise<void>;
|
|
208
|
+
/** Total number of stored conversations. */
|
|
209
|
+
get size(): number;
|
|
210
|
+
/** Clear all conversations. */
|
|
211
|
+
clear(): void;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* ObjectQLConversationService — Persistent implementation of IAIConversationService.
|
|
216
|
+
*
|
|
217
|
+
* Delegates all storage to an {@link IDataEngine} instance, using the
|
|
218
|
+
* `ai_conversations` and `ai_messages` objects. This decouples the service
|
|
219
|
+
* from any specific database driver (Turso, Postgres, SQLite, etc.).
|
|
220
|
+
*
|
|
221
|
+
* Production environments should use this implementation to ensure
|
|
222
|
+
* conversation history survives service restarts.
|
|
223
|
+
*/
|
|
224
|
+
declare class ObjectQLConversationService implements IAIConversationService {
|
|
225
|
+
private readonly engine;
|
|
226
|
+
constructor(engine: IDataEngine);
|
|
227
|
+
create(options?: {
|
|
228
|
+
title?: string;
|
|
229
|
+
agentId?: string;
|
|
230
|
+
userId?: string;
|
|
231
|
+
metadata?: Record<string, unknown>;
|
|
232
|
+
}): Promise<AIConversation>;
|
|
233
|
+
get(conversationId: string): Promise<AIConversation | null>;
|
|
234
|
+
list(options?: {
|
|
235
|
+
userId?: string;
|
|
236
|
+
agentId?: string;
|
|
237
|
+
limit?: number;
|
|
238
|
+
cursor?: string;
|
|
239
|
+
}): Promise<AIConversation[]>;
|
|
240
|
+
addMessage(conversationId: string, message: AIMessage): Promise<AIConversation>;
|
|
241
|
+
delete(conversationId: string): Promise<void>;
|
|
242
|
+
/**
|
|
243
|
+
* Safely parse a JSON string, returning `undefined` on failure.
|
|
244
|
+
*/
|
|
245
|
+
private safeParse;
|
|
246
|
+
/**
|
|
247
|
+
* Map a database row + message rows to an AIConversation.
|
|
248
|
+
*/
|
|
249
|
+
private toConversation;
|
|
250
|
+
/**
|
|
251
|
+
* Map a database row to an AIMessage.
|
|
252
|
+
*/
|
|
253
|
+
private toMessage;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Services required by the built-in data tools.
|
|
258
|
+
*
|
|
259
|
+
* These are provided by the kernel at `ai:ready` time and closed over
|
|
260
|
+
* by the handler functions so they stay framework-agnostic.
|
|
261
|
+
*/
|
|
262
|
+
interface DataToolContext {
|
|
263
|
+
/** ObjectQL data engine for record-level operations. */
|
|
264
|
+
dataEngine: IDataEngine;
|
|
265
|
+
/** Metadata service for schema/object introspection. */
|
|
266
|
+
metadataService: IMetadataService;
|
|
267
|
+
}
|
|
268
|
+
/** All built-in data tool definitions. */
|
|
269
|
+
declare const DATA_TOOL_DEFINITIONS: AIToolDefinition[];
|
|
270
|
+
/**
|
|
271
|
+
* Register all built-in data tools on the given {@link ToolRegistry}.
|
|
272
|
+
*
|
|
273
|
+
* Typically called from the `ai:ready` hook after both the data engine
|
|
274
|
+
* and metadata service are available.
|
|
275
|
+
*
|
|
276
|
+
* @example
|
|
277
|
+
* ```ts
|
|
278
|
+
* ctx.hook('ai:ready', async (aiService) => {
|
|
279
|
+
* const dataEngine = ctx.getService<IDataEngine>('data');
|
|
280
|
+
* const metadataService = ctx.getService<IMetadataService>('metadata');
|
|
281
|
+
* registerDataTools(aiService.toolRegistry, { dataEngine, metadataService });
|
|
282
|
+
* });
|
|
283
|
+
* ```
|
|
284
|
+
*/
|
|
285
|
+
declare function registerDataTools(registry: ToolRegistry, context: DataToolContext): void;
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Context passed alongside a user message when chatting with an agent.
|
|
289
|
+
*
|
|
290
|
+
* UI clients set these fields to tell the agent which object, record,
|
|
291
|
+
* or view the user is currently looking at so it can provide contextual
|
|
292
|
+
* answers without additional tool calls.
|
|
293
|
+
*/
|
|
294
|
+
interface AgentChatContext {
|
|
295
|
+
/** Current object the user is viewing (e.g. "account") */
|
|
296
|
+
objectName?: string;
|
|
297
|
+
/** Currently selected record ID */
|
|
298
|
+
recordId?: string;
|
|
299
|
+
/** Current view name */
|
|
300
|
+
viewName?: string;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* AgentRuntime — Resolves an agent definition into runnable chat parameters.
|
|
304
|
+
*
|
|
305
|
+
* Responsibilities:
|
|
306
|
+
* 1. Load & validate agent metadata from the metadata service.
|
|
307
|
+
* 2. Build the system prompt from agent `instructions` + UI context.
|
|
308
|
+
* 3. Derive {@link AIRequestOptions} from agent `model` and `tools`.
|
|
309
|
+
* 4. Map agent tool references to concrete {@link AIToolDefinition}s
|
|
310
|
+
* registered in the {@link ToolRegistry}.
|
|
311
|
+
*/
|
|
312
|
+
declare class AgentRuntime {
|
|
313
|
+
private readonly metadataService;
|
|
314
|
+
constructor(metadataService: IMetadataService);
|
|
315
|
+
/**
|
|
316
|
+
* Load and validate an agent definition by name.
|
|
317
|
+
*
|
|
318
|
+
* The raw metadata is validated through {@link AgentSchema} to ensure
|
|
319
|
+
* required fields (`instructions`, `name`, `role`, etc.) are present
|
|
320
|
+
* and well-typed. Returns `undefined` when the agent does not exist
|
|
321
|
+
* or validation fails.
|
|
322
|
+
*/
|
|
323
|
+
loadAgent(agentName: string): Promise<Agent | undefined>;
|
|
324
|
+
/**
|
|
325
|
+
* Build the system message(s) that should be prepended to the
|
|
326
|
+
* conversation when chatting with the given agent.
|
|
327
|
+
*/
|
|
328
|
+
buildSystemMessages(agent: Agent, context?: AgentChatContext): AIMessage[];
|
|
329
|
+
/**
|
|
330
|
+
* Derive {@link AIRequestOptions} from an agent definition.
|
|
331
|
+
*
|
|
332
|
+
* Tool references declared in `agent.tools` are resolved by name against
|
|
333
|
+
* `availableTools` (i.e. the full set of ToolRegistry definitions).
|
|
334
|
+
* Any unresolved references (tools the agent declares but that are not
|
|
335
|
+
* registered) are silently skipped — this is intentional so that agents
|
|
336
|
+
* can be defined before all tools are available.
|
|
337
|
+
*
|
|
338
|
+
* @param agent - The agent definition to derive options from
|
|
339
|
+
* @param availableTools - All tool definitions currently registered in the ToolRegistry
|
|
340
|
+
* @returns Request options with model config and resolved tool definitions
|
|
341
|
+
*/
|
|
342
|
+
buildRequestOptions(agent: Agent, availableTools: AIToolDefinition[]): AIRequestOptions;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* Built-in `data_chat` agent definition.
|
|
347
|
+
*
|
|
348
|
+
* This agent powers the Airtable-style data conversation Chatbot.
|
|
349
|
+
* It is registered automatically by the AI service plugin when a
|
|
350
|
+
* data engine is available.
|
|
351
|
+
*
|
|
352
|
+
* @example
|
|
353
|
+
* ```
|
|
354
|
+
* POST /api/v1/ai/agents/data_chat/chat
|
|
355
|
+
* {
|
|
356
|
+
* "messages": [{ "role": "user", "content": "Show me all active accounts" }],
|
|
357
|
+
* "context": { "objectName": "account" }
|
|
358
|
+
* }
|
|
359
|
+
* ```
|
|
360
|
+
*/
|
|
361
|
+
declare const DATA_CHAT_AGENT: Agent;
|
|
362
|
+
|
|
363
|
+
/**
|
|
364
|
+
* XState-inspired State Machine Protocol
|
|
365
|
+
* Used to define strict business logic constraints and lifecycle management.
|
|
366
|
+
* Prevent AI "hallucinations" by enforcing valid valid transitions.
|
|
367
|
+
*/
|
|
368
|
+
/**
|
|
369
|
+
* References a named action (side effect)
|
|
370
|
+
* Can be a script, a webhook, or a field update.
|
|
371
|
+
*/
|
|
372
|
+
declare const ActionRefSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
373
|
+
type: z.ZodString;
|
|
374
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
375
|
+
}, z.core.$strip>]>;
|
|
376
|
+
/**
|
|
377
|
+
* State Transition Definition
|
|
378
|
+
* "When EVENT happens, if GUARD is true, go to TARGET and run ACTIONS"
|
|
379
|
+
*/
|
|
380
|
+
declare const TransitionSchema: z.ZodObject<{
|
|
381
|
+
target: z.ZodOptional<z.ZodString>;
|
|
382
|
+
cond: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
383
|
+
type: z.ZodString;
|
|
384
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
385
|
+
}, z.core.$strip>]>>;
|
|
386
|
+
actions: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
387
|
+
type: z.ZodString;
|
|
388
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
389
|
+
}, z.core.$strip>]>>>;
|
|
390
|
+
description: z.ZodOptional<z.ZodString>;
|
|
391
|
+
}, z.core.$strip>;
|
|
392
|
+
type ActionRef = z.infer<typeof ActionRefSchema>;
|
|
393
|
+
type Transition = z.infer<typeof TransitionSchema>;
|
|
394
|
+
type StateNodeConfig = {
|
|
395
|
+
type?: 'atomic' | 'compound' | 'parallel' | 'final' | 'history';
|
|
396
|
+
entry?: ActionRef[];
|
|
397
|
+
exit?: ActionRef[];
|
|
398
|
+
on?: Record<string, string | Transition | Transition[]>;
|
|
399
|
+
always?: Transition[];
|
|
400
|
+
initial?: string;
|
|
401
|
+
states?: Record<string, StateNodeConfig>;
|
|
402
|
+
meta?: {
|
|
403
|
+
label?: string;
|
|
404
|
+
description?: string;
|
|
405
|
+
color?: string;
|
|
406
|
+
aiInstructions?: string;
|
|
407
|
+
};
|
|
408
|
+
};
|
|
409
|
+
|
|
410
|
+
/**
|
|
411
|
+
* ai_conversations — AI Conversation Object
|
|
412
|
+
*
|
|
413
|
+
* Stores conversation metadata for persistent AI conversation management.
|
|
414
|
+
* Messages are stored separately in `ai_messages` to support efficient
|
|
415
|
+
* querying and pagination.
|
|
416
|
+
*
|
|
417
|
+
* @namespace ai
|
|
418
|
+
*/
|
|
419
|
+
declare const AiConversationObject: Omit<{
|
|
420
|
+
name: string;
|
|
421
|
+
active: boolean;
|
|
422
|
+
isSystem: boolean;
|
|
423
|
+
abstract: boolean;
|
|
424
|
+
datasource: string;
|
|
425
|
+
fields: Record<string, {
|
|
426
|
+
type: "number" | "boolean" | "file" | "json" | "text" | "avatar" | "vector" | "date" | "tags" | "lookup" | "url" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "datetime" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "master_detail" | "tree" | "image" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "code" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress";
|
|
427
|
+
required: boolean;
|
|
428
|
+
searchable: boolean;
|
|
429
|
+
multiple: boolean;
|
|
430
|
+
unique: boolean;
|
|
431
|
+
deleteBehavior: "set_null" | "cascade" | "restrict";
|
|
432
|
+
auditTrail: boolean;
|
|
433
|
+
hidden: boolean;
|
|
434
|
+
readonly: boolean;
|
|
435
|
+
sortable: boolean;
|
|
436
|
+
index: boolean;
|
|
437
|
+
externalId: boolean;
|
|
438
|
+
name?: string | undefined;
|
|
439
|
+
label?: string | undefined;
|
|
440
|
+
description?: string | undefined;
|
|
441
|
+
format?: string | undefined;
|
|
442
|
+
columnName?: string | undefined;
|
|
443
|
+
defaultValue?: unknown;
|
|
444
|
+
maxLength?: number | undefined;
|
|
445
|
+
minLength?: number | undefined;
|
|
446
|
+
precision?: number | undefined;
|
|
447
|
+
scale?: number | undefined;
|
|
448
|
+
min?: number | undefined;
|
|
449
|
+
max?: number | undefined;
|
|
450
|
+
options?: {
|
|
451
|
+
label: string;
|
|
452
|
+
value: string;
|
|
453
|
+
color?: string | undefined;
|
|
454
|
+
default?: boolean | undefined;
|
|
455
|
+
}[] | undefined;
|
|
456
|
+
reference?: string | undefined;
|
|
457
|
+
referenceFilters?: string[] | undefined;
|
|
458
|
+
writeRequiresMasterRead?: boolean | undefined;
|
|
459
|
+
expression?: string | undefined;
|
|
460
|
+
summaryOperations?: {
|
|
461
|
+
object: string;
|
|
462
|
+
field: string;
|
|
463
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
464
|
+
} | undefined;
|
|
465
|
+
language?: string | undefined;
|
|
466
|
+
theme?: string | undefined;
|
|
467
|
+
lineNumbers?: boolean | undefined;
|
|
468
|
+
maxRating?: number | undefined;
|
|
469
|
+
allowHalf?: boolean | undefined;
|
|
470
|
+
displayMap?: boolean | undefined;
|
|
471
|
+
allowGeocoding?: boolean | undefined;
|
|
472
|
+
addressFormat?: "us" | "uk" | "international" | undefined;
|
|
473
|
+
colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
474
|
+
allowAlpha?: boolean | undefined;
|
|
475
|
+
presetColors?: string[] | undefined;
|
|
476
|
+
step?: number | undefined;
|
|
477
|
+
showValue?: boolean | undefined;
|
|
478
|
+
marks?: Record<string, string> | undefined;
|
|
479
|
+
barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
480
|
+
qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
481
|
+
displayValue?: boolean | undefined;
|
|
482
|
+
allowScanning?: boolean | undefined;
|
|
483
|
+
currencyConfig?: {
|
|
484
|
+
precision: number;
|
|
485
|
+
currencyMode: "dynamic" | "fixed";
|
|
486
|
+
defaultCurrency: string;
|
|
487
|
+
} | undefined;
|
|
488
|
+
vectorConfig?: {
|
|
489
|
+
dimensions: number;
|
|
490
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
491
|
+
normalized: boolean;
|
|
492
|
+
indexed: boolean;
|
|
493
|
+
indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
|
|
494
|
+
} | undefined;
|
|
495
|
+
fileAttachmentConfig?: {
|
|
496
|
+
virusScan: boolean;
|
|
497
|
+
virusScanOnUpload: boolean;
|
|
498
|
+
quarantineOnThreat: boolean;
|
|
499
|
+
allowMultiple: boolean;
|
|
500
|
+
allowReplace: boolean;
|
|
501
|
+
allowDelete: boolean;
|
|
502
|
+
requireUpload: boolean;
|
|
503
|
+
extractMetadata: boolean;
|
|
504
|
+
extractText: boolean;
|
|
505
|
+
versioningEnabled: boolean;
|
|
506
|
+
publicRead: boolean;
|
|
507
|
+
presignedUrlExpiry: number;
|
|
508
|
+
minSize?: number | undefined;
|
|
509
|
+
maxSize?: number | undefined;
|
|
510
|
+
allowedTypes?: string[] | undefined;
|
|
511
|
+
blockedTypes?: string[] | undefined;
|
|
512
|
+
allowedMimeTypes?: string[] | undefined;
|
|
513
|
+
blockedMimeTypes?: string[] | undefined;
|
|
514
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
515
|
+
storageProvider?: string | undefined;
|
|
516
|
+
storageBucket?: string | undefined;
|
|
517
|
+
storagePrefix?: string | undefined;
|
|
518
|
+
imageValidation?: {
|
|
519
|
+
generateThumbnails: boolean;
|
|
520
|
+
preserveMetadata: boolean;
|
|
521
|
+
autoRotate: boolean;
|
|
522
|
+
minWidth?: number | undefined;
|
|
523
|
+
maxWidth?: number | undefined;
|
|
524
|
+
minHeight?: number | undefined;
|
|
525
|
+
maxHeight?: number | undefined;
|
|
526
|
+
aspectRatio?: string | undefined;
|
|
527
|
+
thumbnailSizes?: {
|
|
528
|
+
name: string;
|
|
529
|
+
width: number;
|
|
530
|
+
height: number;
|
|
531
|
+
crop: boolean;
|
|
532
|
+
}[] | undefined;
|
|
533
|
+
} | undefined;
|
|
534
|
+
maxVersions?: number | undefined;
|
|
535
|
+
} | undefined;
|
|
536
|
+
encryptionConfig?: {
|
|
537
|
+
enabled: boolean;
|
|
538
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
539
|
+
keyManagement: {
|
|
540
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
541
|
+
keyId?: string | undefined;
|
|
542
|
+
rotationPolicy?: {
|
|
543
|
+
enabled: boolean;
|
|
544
|
+
frequencyDays: number;
|
|
545
|
+
retainOldVersions: number;
|
|
546
|
+
autoRotate: boolean;
|
|
547
|
+
} | undefined;
|
|
548
|
+
};
|
|
549
|
+
scope: "database" | "field" | "record" | "table";
|
|
550
|
+
deterministicEncryption: boolean;
|
|
551
|
+
searchableEncryption: boolean;
|
|
552
|
+
} | undefined;
|
|
553
|
+
maskingRule?: {
|
|
554
|
+
field: string;
|
|
555
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
556
|
+
preserveFormat: boolean;
|
|
557
|
+
preserveLength: boolean;
|
|
558
|
+
pattern?: string | undefined;
|
|
559
|
+
roles?: string[] | undefined;
|
|
560
|
+
exemptRoles?: string[] | undefined;
|
|
561
|
+
} | undefined;
|
|
562
|
+
dependencies?: string[] | undefined;
|
|
563
|
+
cached?: {
|
|
564
|
+
enabled: boolean;
|
|
565
|
+
ttl: number;
|
|
566
|
+
invalidateOn: string[];
|
|
567
|
+
} | undefined;
|
|
568
|
+
dataQuality?: {
|
|
569
|
+
uniqueness: boolean;
|
|
570
|
+
completeness: number;
|
|
571
|
+
accuracy?: {
|
|
572
|
+
source: string;
|
|
573
|
+
threshold: number;
|
|
574
|
+
} | undefined;
|
|
575
|
+
} | undefined;
|
|
576
|
+
group?: string | undefined;
|
|
577
|
+
conditionalRequired?: string | undefined;
|
|
578
|
+
inlineHelpText?: string | undefined;
|
|
579
|
+
trackFeedHistory?: boolean | undefined;
|
|
580
|
+
caseSensitive?: boolean | undefined;
|
|
581
|
+
autonumberFormat?: string | undefined;
|
|
582
|
+
}>;
|
|
583
|
+
label?: string | undefined;
|
|
584
|
+
pluralLabel?: string | undefined;
|
|
585
|
+
description?: string | undefined;
|
|
586
|
+
icon?: string | undefined;
|
|
587
|
+
namespace?: string | undefined;
|
|
588
|
+
tags?: string[] | undefined;
|
|
589
|
+
tableName?: string | undefined;
|
|
590
|
+
indexes?: {
|
|
591
|
+
fields: string[];
|
|
592
|
+
type: "hash" | "btree" | "gin" | "gist" | "fulltext";
|
|
593
|
+
unique: boolean;
|
|
594
|
+
name?: string | undefined;
|
|
595
|
+
partial?: string | undefined;
|
|
596
|
+
}[] | undefined;
|
|
597
|
+
tenancy?: {
|
|
598
|
+
enabled: boolean;
|
|
599
|
+
strategy: "shared" | "isolated" | "hybrid";
|
|
600
|
+
tenantField: string;
|
|
601
|
+
crossTenantAccess: boolean;
|
|
602
|
+
} | undefined;
|
|
603
|
+
softDelete?: {
|
|
604
|
+
enabled: boolean;
|
|
605
|
+
field: string;
|
|
606
|
+
cascadeDelete: boolean;
|
|
607
|
+
} | undefined;
|
|
608
|
+
versioning?: {
|
|
609
|
+
enabled: boolean;
|
|
610
|
+
strategy: "snapshot" | "delta" | "event-sourcing";
|
|
611
|
+
versionField: string;
|
|
612
|
+
retentionDays?: number | undefined;
|
|
613
|
+
} | undefined;
|
|
614
|
+
partitioning?: {
|
|
615
|
+
enabled: boolean;
|
|
616
|
+
strategy: "hash" | "range" | "list";
|
|
617
|
+
key: string;
|
|
618
|
+
interval?: string | undefined;
|
|
619
|
+
} | undefined;
|
|
620
|
+
cdc?: {
|
|
621
|
+
enabled: boolean;
|
|
622
|
+
events: ("update" | "delete" | "insert")[];
|
|
623
|
+
destination: string;
|
|
624
|
+
} | undefined;
|
|
625
|
+
validations?: _objectstack_spec_data.BaseValidationRuleShape[] | undefined;
|
|
626
|
+
stateMachines?: Record<string, {
|
|
627
|
+
id: string;
|
|
628
|
+
initial: string;
|
|
629
|
+
states: Record<string, StateNodeConfig>;
|
|
630
|
+
description?: string | undefined;
|
|
631
|
+
contextSchema?: Record<string, unknown> | undefined;
|
|
632
|
+
on?: Record<string, string | {
|
|
633
|
+
target?: string | undefined;
|
|
634
|
+
cond?: string | {
|
|
635
|
+
type: string;
|
|
636
|
+
params?: Record<string, unknown> | undefined;
|
|
637
|
+
} | undefined;
|
|
638
|
+
actions?: (string | {
|
|
639
|
+
type: string;
|
|
640
|
+
params?: Record<string, unknown> | undefined;
|
|
641
|
+
})[] | undefined;
|
|
642
|
+
description?: string | undefined;
|
|
643
|
+
} | {
|
|
644
|
+
target?: string | undefined;
|
|
645
|
+
cond?: string | {
|
|
646
|
+
type: string;
|
|
647
|
+
params?: Record<string, unknown> | undefined;
|
|
648
|
+
} | undefined;
|
|
649
|
+
actions?: (string | {
|
|
650
|
+
type: string;
|
|
651
|
+
params?: Record<string, unknown> | undefined;
|
|
652
|
+
})[] | undefined;
|
|
653
|
+
description?: string | undefined;
|
|
654
|
+
}[]> | undefined;
|
|
655
|
+
}> | undefined;
|
|
656
|
+
displayNameField?: string | undefined;
|
|
657
|
+
recordName?: {
|
|
658
|
+
type: "text" | "autonumber";
|
|
659
|
+
displayFormat?: string | undefined;
|
|
660
|
+
startNumber?: number | undefined;
|
|
661
|
+
} | undefined;
|
|
662
|
+
titleFormat?: string | undefined;
|
|
663
|
+
compactLayout?: string[] | undefined;
|
|
664
|
+
search?: {
|
|
665
|
+
fields: string[];
|
|
666
|
+
displayFields?: string[] | undefined;
|
|
667
|
+
filters?: string[] | undefined;
|
|
668
|
+
} | undefined;
|
|
669
|
+
enable?: {
|
|
670
|
+
trackHistory: boolean;
|
|
671
|
+
searchable: boolean;
|
|
672
|
+
apiEnabled: boolean;
|
|
673
|
+
files: boolean;
|
|
674
|
+
feeds: boolean;
|
|
675
|
+
activities: boolean;
|
|
676
|
+
trash: boolean;
|
|
677
|
+
mru: boolean;
|
|
678
|
+
clone: boolean;
|
|
679
|
+
apiMethods?: ("search" | "upsert" | "list" | "update" | "delete" | "history" | "get" | "create" | "bulk" | "aggregate" | "restore" | "purge" | "import" | "export")[] | undefined;
|
|
680
|
+
} | undefined;
|
|
681
|
+
recordTypes?: string[] | undefined;
|
|
682
|
+
sharingModel?: "private" | "full" | "read" | "read_write" | undefined;
|
|
683
|
+
keyPrefix?: string | undefined;
|
|
684
|
+
actions?: {
|
|
685
|
+
name: string;
|
|
686
|
+
label: string | {
|
|
687
|
+
key: string;
|
|
688
|
+
defaultValue?: string | undefined;
|
|
689
|
+
params?: Record<string, string | number | boolean> | undefined;
|
|
690
|
+
};
|
|
691
|
+
type: "url" | "script" | "modal" | "flow" | "api";
|
|
692
|
+
refreshAfter: boolean;
|
|
693
|
+
objectName?: string | undefined;
|
|
694
|
+
icon?: string | undefined;
|
|
695
|
+
locations?: ("list_toolbar" | "list_item" | "record_header" | "record_more" | "record_related" | "global_nav")[] | undefined;
|
|
696
|
+
component?: "action:button" | "action:icon" | "action:menu" | "action:group" | undefined;
|
|
697
|
+
target?: string | undefined;
|
|
698
|
+
execute?: string | undefined;
|
|
699
|
+
params?: {
|
|
700
|
+
name: string;
|
|
701
|
+
label: string | {
|
|
702
|
+
key: string;
|
|
703
|
+
defaultValue?: string | undefined;
|
|
704
|
+
params?: Record<string, string | number | boolean> | undefined;
|
|
705
|
+
};
|
|
706
|
+
type: "number" | "boolean" | "date" | "lookup" | "file" | "url" | "json" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "datetime" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "code" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress" | "tags" | "vector";
|
|
707
|
+
required: boolean;
|
|
708
|
+
options?: {
|
|
709
|
+
label: string | {
|
|
710
|
+
key: string;
|
|
711
|
+
defaultValue?: string | undefined;
|
|
712
|
+
params?: Record<string, string | number | boolean> | undefined;
|
|
713
|
+
};
|
|
714
|
+
value: string;
|
|
715
|
+
}[] | undefined;
|
|
716
|
+
}[] | undefined;
|
|
717
|
+
variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
|
|
718
|
+
confirmText?: string | {
|
|
719
|
+
key: string;
|
|
720
|
+
defaultValue?: string | undefined;
|
|
721
|
+
params?: Record<string, string | number | boolean> | undefined;
|
|
722
|
+
} | undefined;
|
|
723
|
+
successMessage?: string | {
|
|
724
|
+
key: string;
|
|
725
|
+
defaultValue?: string | undefined;
|
|
726
|
+
params?: Record<string, string | number | boolean> | undefined;
|
|
727
|
+
} | undefined;
|
|
728
|
+
visible?: string | undefined;
|
|
729
|
+
disabled?: string | boolean | undefined;
|
|
730
|
+
shortcut?: string | undefined;
|
|
731
|
+
bulkEnabled?: boolean | undefined;
|
|
732
|
+
timeout?: number | undefined;
|
|
733
|
+
aria?: {
|
|
734
|
+
ariaLabel?: string | {
|
|
735
|
+
key: string;
|
|
736
|
+
defaultValue?: string | undefined;
|
|
737
|
+
params?: Record<string, string | number | boolean> | undefined;
|
|
738
|
+
} | undefined;
|
|
739
|
+
ariaDescribedBy?: string | undefined;
|
|
740
|
+
role?: string | undefined;
|
|
741
|
+
} | undefined;
|
|
742
|
+
}[] | undefined;
|
|
743
|
+
}, "fields"> & Pick<{
|
|
744
|
+
readonly namespace: "ai";
|
|
745
|
+
readonly name: "conversations";
|
|
746
|
+
readonly label: "AI Conversation";
|
|
747
|
+
readonly pluralLabel: "AI Conversations";
|
|
748
|
+
readonly icon: "message-square";
|
|
749
|
+
readonly isSystem: true;
|
|
750
|
+
readonly description: "Persistent AI conversation metadata";
|
|
751
|
+
readonly fields: {
|
|
752
|
+
readonly id: {
|
|
753
|
+
readonly format?: string | undefined;
|
|
754
|
+
readonly expression?: string | undefined;
|
|
755
|
+
readonly readonly?: boolean | undefined;
|
|
756
|
+
readonly defaultValue?: unknown;
|
|
757
|
+
readonly min?: number | undefined;
|
|
758
|
+
readonly max?: number | undefined;
|
|
759
|
+
readonly name?: string | undefined;
|
|
760
|
+
readonly encryptionConfig?: {
|
|
761
|
+
enabled: boolean;
|
|
762
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
763
|
+
keyManagement: {
|
|
764
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
765
|
+
keyId?: string | undefined;
|
|
766
|
+
rotationPolicy?: {
|
|
767
|
+
enabled: boolean;
|
|
768
|
+
frequencyDays: number;
|
|
769
|
+
retainOldVersions: number;
|
|
770
|
+
autoRotate: boolean;
|
|
771
|
+
} | undefined;
|
|
772
|
+
};
|
|
773
|
+
scope: "table" | "record" | "field" | "database";
|
|
774
|
+
deterministicEncryption: boolean;
|
|
775
|
+
searchableEncryption: boolean;
|
|
776
|
+
} | undefined;
|
|
777
|
+
readonly label?: string | undefined;
|
|
778
|
+
readonly precision?: number | undefined;
|
|
779
|
+
readonly description?: string | undefined;
|
|
780
|
+
readonly columnName?: string | undefined;
|
|
781
|
+
readonly required?: boolean | undefined;
|
|
782
|
+
readonly searchable?: boolean | undefined;
|
|
783
|
+
readonly multiple?: boolean | undefined;
|
|
784
|
+
readonly unique?: boolean | undefined;
|
|
785
|
+
readonly maxLength?: number | undefined;
|
|
786
|
+
readonly minLength?: number | undefined;
|
|
787
|
+
readonly scale?: number | undefined;
|
|
788
|
+
readonly options?: {
|
|
789
|
+
label: string;
|
|
790
|
+
value: string;
|
|
791
|
+
color?: string | undefined;
|
|
792
|
+
default?: boolean | undefined;
|
|
793
|
+
}[] | undefined;
|
|
794
|
+
readonly reference?: string | undefined;
|
|
795
|
+
readonly referenceFilters?: string[] | undefined;
|
|
796
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
797
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
798
|
+
readonly summaryOperations?: {
|
|
799
|
+
object: string;
|
|
800
|
+
field: string;
|
|
801
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
802
|
+
} | undefined;
|
|
803
|
+
readonly language?: string | undefined;
|
|
804
|
+
readonly theme?: string | undefined;
|
|
805
|
+
readonly lineNumbers?: boolean | undefined;
|
|
806
|
+
readonly maxRating?: number | undefined;
|
|
807
|
+
readonly allowHalf?: boolean | undefined;
|
|
808
|
+
readonly displayMap?: boolean | undefined;
|
|
809
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
810
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
811
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
812
|
+
readonly allowAlpha?: boolean | undefined;
|
|
813
|
+
readonly presetColors?: string[] | undefined;
|
|
814
|
+
readonly step?: number | undefined;
|
|
815
|
+
readonly showValue?: boolean | undefined;
|
|
816
|
+
readonly marks?: Record<string, string> | undefined;
|
|
817
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
818
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
819
|
+
readonly displayValue?: boolean | undefined;
|
|
820
|
+
readonly allowScanning?: boolean | undefined;
|
|
821
|
+
readonly currencyConfig?: {
|
|
822
|
+
precision: number;
|
|
823
|
+
currencyMode: "dynamic" | "fixed";
|
|
824
|
+
defaultCurrency: string;
|
|
825
|
+
} | undefined;
|
|
826
|
+
readonly vectorConfig?: {
|
|
827
|
+
dimensions: number;
|
|
828
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
829
|
+
normalized: boolean;
|
|
830
|
+
indexed: boolean;
|
|
831
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
832
|
+
} | undefined;
|
|
833
|
+
readonly fileAttachmentConfig?: {
|
|
834
|
+
virusScan: boolean;
|
|
835
|
+
virusScanOnUpload: boolean;
|
|
836
|
+
quarantineOnThreat: boolean;
|
|
837
|
+
allowMultiple: boolean;
|
|
838
|
+
allowReplace: boolean;
|
|
839
|
+
allowDelete: boolean;
|
|
840
|
+
requireUpload: boolean;
|
|
841
|
+
extractMetadata: boolean;
|
|
842
|
+
extractText: boolean;
|
|
843
|
+
versioningEnabled: boolean;
|
|
844
|
+
publicRead: boolean;
|
|
845
|
+
presignedUrlExpiry: number;
|
|
846
|
+
minSize?: number | undefined;
|
|
847
|
+
maxSize?: number | undefined;
|
|
848
|
+
allowedTypes?: string[] | undefined;
|
|
849
|
+
blockedTypes?: string[] | undefined;
|
|
850
|
+
allowedMimeTypes?: string[] | undefined;
|
|
851
|
+
blockedMimeTypes?: string[] | undefined;
|
|
852
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
853
|
+
storageProvider?: string | undefined;
|
|
854
|
+
storageBucket?: string | undefined;
|
|
855
|
+
storagePrefix?: string | undefined;
|
|
856
|
+
imageValidation?: {
|
|
857
|
+
generateThumbnails: boolean;
|
|
858
|
+
preserveMetadata: boolean;
|
|
859
|
+
autoRotate: boolean;
|
|
860
|
+
minWidth?: number | undefined;
|
|
861
|
+
maxWidth?: number | undefined;
|
|
862
|
+
minHeight?: number | undefined;
|
|
863
|
+
maxHeight?: number | undefined;
|
|
864
|
+
aspectRatio?: string | undefined;
|
|
865
|
+
thumbnailSizes?: {
|
|
866
|
+
name: string;
|
|
867
|
+
width: number;
|
|
868
|
+
height: number;
|
|
869
|
+
crop: boolean;
|
|
870
|
+
}[] | undefined;
|
|
871
|
+
} | undefined;
|
|
872
|
+
maxVersions?: number | undefined;
|
|
873
|
+
} | undefined;
|
|
874
|
+
readonly maskingRule?: {
|
|
875
|
+
field: string;
|
|
876
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
877
|
+
preserveFormat: boolean;
|
|
878
|
+
preserveLength: boolean;
|
|
879
|
+
pattern?: string | undefined;
|
|
880
|
+
roles?: string[] | undefined;
|
|
881
|
+
exemptRoles?: string[] | undefined;
|
|
882
|
+
} | undefined;
|
|
883
|
+
readonly auditTrail?: boolean | undefined;
|
|
884
|
+
readonly dependencies?: string[] | undefined;
|
|
885
|
+
readonly cached?: {
|
|
886
|
+
enabled: boolean;
|
|
887
|
+
ttl: number;
|
|
888
|
+
invalidateOn: string[];
|
|
889
|
+
} | undefined;
|
|
890
|
+
readonly dataQuality?: {
|
|
891
|
+
uniqueness: boolean;
|
|
892
|
+
completeness: number;
|
|
893
|
+
accuracy?: {
|
|
894
|
+
source: string;
|
|
895
|
+
threshold: number;
|
|
896
|
+
} | undefined;
|
|
897
|
+
} | undefined;
|
|
898
|
+
readonly group?: string | undefined;
|
|
899
|
+
readonly conditionalRequired?: string | undefined;
|
|
900
|
+
readonly hidden?: boolean | undefined;
|
|
901
|
+
readonly sortable?: boolean | undefined;
|
|
902
|
+
readonly inlineHelpText?: string | undefined;
|
|
903
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
904
|
+
readonly caseSensitive?: boolean | undefined;
|
|
905
|
+
readonly autonumberFormat?: string | undefined;
|
|
906
|
+
readonly index?: boolean | undefined;
|
|
907
|
+
readonly externalId?: boolean | undefined;
|
|
908
|
+
readonly type: "text";
|
|
909
|
+
};
|
|
910
|
+
readonly title: {
|
|
911
|
+
readonly format?: string | undefined;
|
|
912
|
+
readonly expression?: string | undefined;
|
|
913
|
+
readonly readonly?: boolean | undefined;
|
|
914
|
+
readonly defaultValue?: unknown;
|
|
915
|
+
readonly min?: number | undefined;
|
|
916
|
+
readonly max?: number | undefined;
|
|
917
|
+
readonly name?: string | undefined;
|
|
918
|
+
readonly encryptionConfig?: {
|
|
919
|
+
enabled: boolean;
|
|
920
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
921
|
+
keyManagement: {
|
|
922
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
923
|
+
keyId?: string | undefined;
|
|
924
|
+
rotationPolicy?: {
|
|
925
|
+
enabled: boolean;
|
|
926
|
+
frequencyDays: number;
|
|
927
|
+
retainOldVersions: number;
|
|
928
|
+
autoRotate: boolean;
|
|
929
|
+
} | undefined;
|
|
930
|
+
};
|
|
931
|
+
scope: "table" | "record" | "field" | "database";
|
|
932
|
+
deterministicEncryption: boolean;
|
|
933
|
+
searchableEncryption: boolean;
|
|
934
|
+
} | undefined;
|
|
935
|
+
readonly label?: string | undefined;
|
|
936
|
+
readonly precision?: number | undefined;
|
|
937
|
+
readonly description?: string | undefined;
|
|
938
|
+
readonly columnName?: string | undefined;
|
|
939
|
+
readonly required?: boolean | undefined;
|
|
940
|
+
readonly searchable?: boolean | undefined;
|
|
941
|
+
readonly multiple?: boolean | undefined;
|
|
942
|
+
readonly unique?: boolean | undefined;
|
|
943
|
+
readonly maxLength?: number | undefined;
|
|
944
|
+
readonly minLength?: number | undefined;
|
|
945
|
+
readonly scale?: number | undefined;
|
|
946
|
+
readonly options?: {
|
|
947
|
+
label: string;
|
|
948
|
+
value: string;
|
|
949
|
+
color?: string | undefined;
|
|
950
|
+
default?: boolean | undefined;
|
|
951
|
+
}[] | undefined;
|
|
952
|
+
readonly reference?: string | undefined;
|
|
953
|
+
readonly referenceFilters?: string[] | undefined;
|
|
954
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
955
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
956
|
+
readonly summaryOperations?: {
|
|
957
|
+
object: string;
|
|
958
|
+
field: string;
|
|
959
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
960
|
+
} | undefined;
|
|
961
|
+
readonly language?: string | undefined;
|
|
962
|
+
readonly theme?: string | undefined;
|
|
963
|
+
readonly lineNumbers?: boolean | undefined;
|
|
964
|
+
readonly maxRating?: number | undefined;
|
|
965
|
+
readonly allowHalf?: boolean | undefined;
|
|
966
|
+
readonly displayMap?: boolean | undefined;
|
|
967
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
968
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
969
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
970
|
+
readonly allowAlpha?: boolean | undefined;
|
|
971
|
+
readonly presetColors?: string[] | undefined;
|
|
972
|
+
readonly step?: number | undefined;
|
|
973
|
+
readonly showValue?: boolean | undefined;
|
|
974
|
+
readonly marks?: Record<string, string> | undefined;
|
|
975
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
976
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
977
|
+
readonly displayValue?: boolean | undefined;
|
|
978
|
+
readonly allowScanning?: boolean | undefined;
|
|
979
|
+
readonly currencyConfig?: {
|
|
980
|
+
precision: number;
|
|
981
|
+
currencyMode: "dynamic" | "fixed";
|
|
982
|
+
defaultCurrency: string;
|
|
983
|
+
} | undefined;
|
|
984
|
+
readonly vectorConfig?: {
|
|
985
|
+
dimensions: number;
|
|
986
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
987
|
+
normalized: boolean;
|
|
988
|
+
indexed: boolean;
|
|
989
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
990
|
+
} | undefined;
|
|
991
|
+
readonly fileAttachmentConfig?: {
|
|
992
|
+
virusScan: boolean;
|
|
993
|
+
virusScanOnUpload: boolean;
|
|
994
|
+
quarantineOnThreat: boolean;
|
|
995
|
+
allowMultiple: boolean;
|
|
996
|
+
allowReplace: boolean;
|
|
997
|
+
allowDelete: boolean;
|
|
998
|
+
requireUpload: boolean;
|
|
999
|
+
extractMetadata: boolean;
|
|
1000
|
+
extractText: boolean;
|
|
1001
|
+
versioningEnabled: boolean;
|
|
1002
|
+
publicRead: boolean;
|
|
1003
|
+
presignedUrlExpiry: number;
|
|
1004
|
+
minSize?: number | undefined;
|
|
1005
|
+
maxSize?: number | undefined;
|
|
1006
|
+
allowedTypes?: string[] | undefined;
|
|
1007
|
+
blockedTypes?: string[] | undefined;
|
|
1008
|
+
allowedMimeTypes?: string[] | undefined;
|
|
1009
|
+
blockedMimeTypes?: string[] | undefined;
|
|
1010
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
1011
|
+
storageProvider?: string | undefined;
|
|
1012
|
+
storageBucket?: string | undefined;
|
|
1013
|
+
storagePrefix?: string | undefined;
|
|
1014
|
+
imageValidation?: {
|
|
1015
|
+
generateThumbnails: boolean;
|
|
1016
|
+
preserveMetadata: boolean;
|
|
1017
|
+
autoRotate: boolean;
|
|
1018
|
+
minWidth?: number | undefined;
|
|
1019
|
+
maxWidth?: number | undefined;
|
|
1020
|
+
minHeight?: number | undefined;
|
|
1021
|
+
maxHeight?: number | undefined;
|
|
1022
|
+
aspectRatio?: string | undefined;
|
|
1023
|
+
thumbnailSizes?: {
|
|
1024
|
+
name: string;
|
|
1025
|
+
width: number;
|
|
1026
|
+
height: number;
|
|
1027
|
+
crop: boolean;
|
|
1028
|
+
}[] | undefined;
|
|
1029
|
+
} | undefined;
|
|
1030
|
+
maxVersions?: number | undefined;
|
|
1031
|
+
} | undefined;
|
|
1032
|
+
readonly maskingRule?: {
|
|
1033
|
+
field: string;
|
|
1034
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
1035
|
+
preserveFormat: boolean;
|
|
1036
|
+
preserveLength: boolean;
|
|
1037
|
+
pattern?: string | undefined;
|
|
1038
|
+
roles?: string[] | undefined;
|
|
1039
|
+
exemptRoles?: string[] | undefined;
|
|
1040
|
+
} | undefined;
|
|
1041
|
+
readonly auditTrail?: boolean | undefined;
|
|
1042
|
+
readonly dependencies?: string[] | undefined;
|
|
1043
|
+
readonly cached?: {
|
|
1044
|
+
enabled: boolean;
|
|
1045
|
+
ttl: number;
|
|
1046
|
+
invalidateOn: string[];
|
|
1047
|
+
} | undefined;
|
|
1048
|
+
readonly dataQuality?: {
|
|
1049
|
+
uniqueness: boolean;
|
|
1050
|
+
completeness: number;
|
|
1051
|
+
accuracy?: {
|
|
1052
|
+
source: string;
|
|
1053
|
+
threshold: number;
|
|
1054
|
+
} | undefined;
|
|
1055
|
+
} | undefined;
|
|
1056
|
+
readonly group?: string | undefined;
|
|
1057
|
+
readonly conditionalRequired?: string | undefined;
|
|
1058
|
+
readonly hidden?: boolean | undefined;
|
|
1059
|
+
readonly sortable?: boolean | undefined;
|
|
1060
|
+
readonly inlineHelpText?: string | undefined;
|
|
1061
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
1062
|
+
readonly caseSensitive?: boolean | undefined;
|
|
1063
|
+
readonly autonumberFormat?: string | undefined;
|
|
1064
|
+
readonly index?: boolean | undefined;
|
|
1065
|
+
readonly externalId?: boolean | undefined;
|
|
1066
|
+
readonly type: "text";
|
|
1067
|
+
};
|
|
1068
|
+
readonly agent_id: {
|
|
1069
|
+
readonly format?: string | undefined;
|
|
1070
|
+
readonly expression?: string | undefined;
|
|
1071
|
+
readonly readonly?: boolean | undefined;
|
|
1072
|
+
readonly defaultValue?: unknown;
|
|
1073
|
+
readonly min?: number | undefined;
|
|
1074
|
+
readonly max?: number | undefined;
|
|
1075
|
+
readonly name?: string | undefined;
|
|
1076
|
+
readonly encryptionConfig?: {
|
|
1077
|
+
enabled: boolean;
|
|
1078
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
1079
|
+
keyManagement: {
|
|
1080
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
1081
|
+
keyId?: string | undefined;
|
|
1082
|
+
rotationPolicy?: {
|
|
1083
|
+
enabled: boolean;
|
|
1084
|
+
frequencyDays: number;
|
|
1085
|
+
retainOldVersions: number;
|
|
1086
|
+
autoRotate: boolean;
|
|
1087
|
+
} | undefined;
|
|
1088
|
+
};
|
|
1089
|
+
scope: "table" | "record" | "field" | "database";
|
|
1090
|
+
deterministicEncryption: boolean;
|
|
1091
|
+
searchableEncryption: boolean;
|
|
1092
|
+
} | undefined;
|
|
1093
|
+
readonly label?: string | undefined;
|
|
1094
|
+
readonly precision?: number | undefined;
|
|
1095
|
+
readonly description?: string | undefined;
|
|
1096
|
+
readonly columnName?: string | undefined;
|
|
1097
|
+
readonly required?: boolean | undefined;
|
|
1098
|
+
readonly searchable?: boolean | undefined;
|
|
1099
|
+
readonly multiple?: boolean | undefined;
|
|
1100
|
+
readonly unique?: boolean | undefined;
|
|
1101
|
+
readonly maxLength?: number | undefined;
|
|
1102
|
+
readonly minLength?: number | undefined;
|
|
1103
|
+
readonly scale?: number | undefined;
|
|
1104
|
+
readonly options?: {
|
|
1105
|
+
label: string;
|
|
1106
|
+
value: string;
|
|
1107
|
+
color?: string | undefined;
|
|
1108
|
+
default?: boolean | undefined;
|
|
1109
|
+
}[] | undefined;
|
|
1110
|
+
readonly reference?: string | undefined;
|
|
1111
|
+
readonly referenceFilters?: string[] | undefined;
|
|
1112
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
1113
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
1114
|
+
readonly summaryOperations?: {
|
|
1115
|
+
object: string;
|
|
1116
|
+
field: string;
|
|
1117
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
1118
|
+
} | undefined;
|
|
1119
|
+
readonly language?: string | undefined;
|
|
1120
|
+
readonly theme?: string | undefined;
|
|
1121
|
+
readonly lineNumbers?: boolean | undefined;
|
|
1122
|
+
readonly maxRating?: number | undefined;
|
|
1123
|
+
readonly allowHalf?: boolean | undefined;
|
|
1124
|
+
readonly displayMap?: boolean | undefined;
|
|
1125
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
1126
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
1127
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
1128
|
+
readonly allowAlpha?: boolean | undefined;
|
|
1129
|
+
readonly presetColors?: string[] | undefined;
|
|
1130
|
+
readonly step?: number | undefined;
|
|
1131
|
+
readonly showValue?: boolean | undefined;
|
|
1132
|
+
readonly marks?: Record<string, string> | undefined;
|
|
1133
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
1134
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
1135
|
+
readonly displayValue?: boolean | undefined;
|
|
1136
|
+
readonly allowScanning?: boolean | undefined;
|
|
1137
|
+
readonly currencyConfig?: {
|
|
1138
|
+
precision: number;
|
|
1139
|
+
currencyMode: "dynamic" | "fixed";
|
|
1140
|
+
defaultCurrency: string;
|
|
1141
|
+
} | undefined;
|
|
1142
|
+
readonly vectorConfig?: {
|
|
1143
|
+
dimensions: number;
|
|
1144
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
1145
|
+
normalized: boolean;
|
|
1146
|
+
indexed: boolean;
|
|
1147
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
1148
|
+
} | undefined;
|
|
1149
|
+
readonly fileAttachmentConfig?: {
|
|
1150
|
+
virusScan: boolean;
|
|
1151
|
+
virusScanOnUpload: boolean;
|
|
1152
|
+
quarantineOnThreat: boolean;
|
|
1153
|
+
allowMultiple: boolean;
|
|
1154
|
+
allowReplace: boolean;
|
|
1155
|
+
allowDelete: boolean;
|
|
1156
|
+
requireUpload: boolean;
|
|
1157
|
+
extractMetadata: boolean;
|
|
1158
|
+
extractText: boolean;
|
|
1159
|
+
versioningEnabled: boolean;
|
|
1160
|
+
publicRead: boolean;
|
|
1161
|
+
presignedUrlExpiry: number;
|
|
1162
|
+
minSize?: number | undefined;
|
|
1163
|
+
maxSize?: number | undefined;
|
|
1164
|
+
allowedTypes?: string[] | undefined;
|
|
1165
|
+
blockedTypes?: string[] | undefined;
|
|
1166
|
+
allowedMimeTypes?: string[] | undefined;
|
|
1167
|
+
blockedMimeTypes?: string[] | undefined;
|
|
1168
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
1169
|
+
storageProvider?: string | undefined;
|
|
1170
|
+
storageBucket?: string | undefined;
|
|
1171
|
+
storagePrefix?: string | undefined;
|
|
1172
|
+
imageValidation?: {
|
|
1173
|
+
generateThumbnails: boolean;
|
|
1174
|
+
preserveMetadata: boolean;
|
|
1175
|
+
autoRotate: boolean;
|
|
1176
|
+
minWidth?: number | undefined;
|
|
1177
|
+
maxWidth?: number | undefined;
|
|
1178
|
+
minHeight?: number | undefined;
|
|
1179
|
+
maxHeight?: number | undefined;
|
|
1180
|
+
aspectRatio?: string | undefined;
|
|
1181
|
+
thumbnailSizes?: {
|
|
1182
|
+
name: string;
|
|
1183
|
+
width: number;
|
|
1184
|
+
height: number;
|
|
1185
|
+
crop: boolean;
|
|
1186
|
+
}[] | undefined;
|
|
1187
|
+
} | undefined;
|
|
1188
|
+
maxVersions?: number | undefined;
|
|
1189
|
+
} | undefined;
|
|
1190
|
+
readonly maskingRule?: {
|
|
1191
|
+
field: string;
|
|
1192
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
1193
|
+
preserveFormat: boolean;
|
|
1194
|
+
preserveLength: boolean;
|
|
1195
|
+
pattern?: string | undefined;
|
|
1196
|
+
roles?: string[] | undefined;
|
|
1197
|
+
exemptRoles?: string[] | undefined;
|
|
1198
|
+
} | undefined;
|
|
1199
|
+
readonly auditTrail?: boolean | undefined;
|
|
1200
|
+
readonly dependencies?: string[] | undefined;
|
|
1201
|
+
readonly cached?: {
|
|
1202
|
+
enabled: boolean;
|
|
1203
|
+
ttl: number;
|
|
1204
|
+
invalidateOn: string[];
|
|
1205
|
+
} | undefined;
|
|
1206
|
+
readonly dataQuality?: {
|
|
1207
|
+
uniqueness: boolean;
|
|
1208
|
+
completeness: number;
|
|
1209
|
+
accuracy?: {
|
|
1210
|
+
source: string;
|
|
1211
|
+
threshold: number;
|
|
1212
|
+
} | undefined;
|
|
1213
|
+
} | undefined;
|
|
1214
|
+
readonly group?: string | undefined;
|
|
1215
|
+
readonly conditionalRequired?: string | undefined;
|
|
1216
|
+
readonly hidden?: boolean | undefined;
|
|
1217
|
+
readonly sortable?: boolean | undefined;
|
|
1218
|
+
readonly inlineHelpText?: string | undefined;
|
|
1219
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
1220
|
+
readonly caseSensitive?: boolean | undefined;
|
|
1221
|
+
readonly autonumberFormat?: string | undefined;
|
|
1222
|
+
readonly index?: boolean | undefined;
|
|
1223
|
+
readonly externalId?: boolean | undefined;
|
|
1224
|
+
readonly type: "text";
|
|
1225
|
+
};
|
|
1226
|
+
readonly user_id: {
|
|
1227
|
+
readonly format?: string | undefined;
|
|
1228
|
+
readonly expression?: string | undefined;
|
|
1229
|
+
readonly readonly?: boolean | undefined;
|
|
1230
|
+
readonly defaultValue?: unknown;
|
|
1231
|
+
readonly min?: number | undefined;
|
|
1232
|
+
readonly max?: number | undefined;
|
|
1233
|
+
readonly name?: string | undefined;
|
|
1234
|
+
readonly encryptionConfig?: {
|
|
1235
|
+
enabled: boolean;
|
|
1236
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
1237
|
+
keyManagement: {
|
|
1238
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
1239
|
+
keyId?: string | undefined;
|
|
1240
|
+
rotationPolicy?: {
|
|
1241
|
+
enabled: boolean;
|
|
1242
|
+
frequencyDays: number;
|
|
1243
|
+
retainOldVersions: number;
|
|
1244
|
+
autoRotate: boolean;
|
|
1245
|
+
} | undefined;
|
|
1246
|
+
};
|
|
1247
|
+
scope: "table" | "record" | "field" | "database";
|
|
1248
|
+
deterministicEncryption: boolean;
|
|
1249
|
+
searchableEncryption: boolean;
|
|
1250
|
+
} | undefined;
|
|
1251
|
+
readonly label?: string | undefined;
|
|
1252
|
+
readonly precision?: number | undefined;
|
|
1253
|
+
readonly description?: string | undefined;
|
|
1254
|
+
readonly columnName?: string | undefined;
|
|
1255
|
+
readonly required?: boolean | undefined;
|
|
1256
|
+
readonly searchable?: boolean | undefined;
|
|
1257
|
+
readonly multiple?: boolean | undefined;
|
|
1258
|
+
readonly unique?: boolean | undefined;
|
|
1259
|
+
readonly maxLength?: number | undefined;
|
|
1260
|
+
readonly minLength?: number | undefined;
|
|
1261
|
+
readonly scale?: number | undefined;
|
|
1262
|
+
readonly options?: {
|
|
1263
|
+
label: string;
|
|
1264
|
+
value: string;
|
|
1265
|
+
color?: string | undefined;
|
|
1266
|
+
default?: boolean | undefined;
|
|
1267
|
+
}[] | undefined;
|
|
1268
|
+
readonly reference?: string | undefined;
|
|
1269
|
+
readonly referenceFilters?: string[] | undefined;
|
|
1270
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
1271
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
1272
|
+
readonly summaryOperations?: {
|
|
1273
|
+
object: string;
|
|
1274
|
+
field: string;
|
|
1275
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
1276
|
+
} | undefined;
|
|
1277
|
+
readonly language?: string | undefined;
|
|
1278
|
+
readonly theme?: string | undefined;
|
|
1279
|
+
readonly lineNumbers?: boolean | undefined;
|
|
1280
|
+
readonly maxRating?: number | undefined;
|
|
1281
|
+
readonly allowHalf?: boolean | undefined;
|
|
1282
|
+
readonly displayMap?: boolean | undefined;
|
|
1283
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
1284
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
1285
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
1286
|
+
readonly allowAlpha?: boolean | undefined;
|
|
1287
|
+
readonly presetColors?: string[] | undefined;
|
|
1288
|
+
readonly step?: number | undefined;
|
|
1289
|
+
readonly showValue?: boolean | undefined;
|
|
1290
|
+
readonly marks?: Record<string, string> | undefined;
|
|
1291
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
1292
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
1293
|
+
readonly displayValue?: boolean | undefined;
|
|
1294
|
+
readonly allowScanning?: boolean | undefined;
|
|
1295
|
+
readonly currencyConfig?: {
|
|
1296
|
+
precision: number;
|
|
1297
|
+
currencyMode: "dynamic" | "fixed";
|
|
1298
|
+
defaultCurrency: string;
|
|
1299
|
+
} | undefined;
|
|
1300
|
+
readonly vectorConfig?: {
|
|
1301
|
+
dimensions: number;
|
|
1302
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
1303
|
+
normalized: boolean;
|
|
1304
|
+
indexed: boolean;
|
|
1305
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
1306
|
+
} | undefined;
|
|
1307
|
+
readonly fileAttachmentConfig?: {
|
|
1308
|
+
virusScan: boolean;
|
|
1309
|
+
virusScanOnUpload: boolean;
|
|
1310
|
+
quarantineOnThreat: boolean;
|
|
1311
|
+
allowMultiple: boolean;
|
|
1312
|
+
allowReplace: boolean;
|
|
1313
|
+
allowDelete: boolean;
|
|
1314
|
+
requireUpload: boolean;
|
|
1315
|
+
extractMetadata: boolean;
|
|
1316
|
+
extractText: boolean;
|
|
1317
|
+
versioningEnabled: boolean;
|
|
1318
|
+
publicRead: boolean;
|
|
1319
|
+
presignedUrlExpiry: number;
|
|
1320
|
+
minSize?: number | undefined;
|
|
1321
|
+
maxSize?: number | undefined;
|
|
1322
|
+
allowedTypes?: string[] | undefined;
|
|
1323
|
+
blockedTypes?: string[] | undefined;
|
|
1324
|
+
allowedMimeTypes?: string[] | undefined;
|
|
1325
|
+
blockedMimeTypes?: string[] | undefined;
|
|
1326
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
1327
|
+
storageProvider?: string | undefined;
|
|
1328
|
+
storageBucket?: string | undefined;
|
|
1329
|
+
storagePrefix?: string | undefined;
|
|
1330
|
+
imageValidation?: {
|
|
1331
|
+
generateThumbnails: boolean;
|
|
1332
|
+
preserveMetadata: boolean;
|
|
1333
|
+
autoRotate: boolean;
|
|
1334
|
+
minWidth?: number | undefined;
|
|
1335
|
+
maxWidth?: number | undefined;
|
|
1336
|
+
minHeight?: number | undefined;
|
|
1337
|
+
maxHeight?: number | undefined;
|
|
1338
|
+
aspectRatio?: string | undefined;
|
|
1339
|
+
thumbnailSizes?: {
|
|
1340
|
+
name: string;
|
|
1341
|
+
width: number;
|
|
1342
|
+
height: number;
|
|
1343
|
+
crop: boolean;
|
|
1344
|
+
}[] | undefined;
|
|
1345
|
+
} | undefined;
|
|
1346
|
+
maxVersions?: number | undefined;
|
|
1347
|
+
} | undefined;
|
|
1348
|
+
readonly maskingRule?: {
|
|
1349
|
+
field: string;
|
|
1350
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
1351
|
+
preserveFormat: boolean;
|
|
1352
|
+
preserveLength: boolean;
|
|
1353
|
+
pattern?: string | undefined;
|
|
1354
|
+
roles?: string[] | undefined;
|
|
1355
|
+
exemptRoles?: string[] | undefined;
|
|
1356
|
+
} | undefined;
|
|
1357
|
+
readonly auditTrail?: boolean | undefined;
|
|
1358
|
+
readonly dependencies?: string[] | undefined;
|
|
1359
|
+
readonly cached?: {
|
|
1360
|
+
enabled: boolean;
|
|
1361
|
+
ttl: number;
|
|
1362
|
+
invalidateOn: string[];
|
|
1363
|
+
} | undefined;
|
|
1364
|
+
readonly dataQuality?: {
|
|
1365
|
+
uniqueness: boolean;
|
|
1366
|
+
completeness: number;
|
|
1367
|
+
accuracy?: {
|
|
1368
|
+
source: string;
|
|
1369
|
+
threshold: number;
|
|
1370
|
+
} | undefined;
|
|
1371
|
+
} | undefined;
|
|
1372
|
+
readonly group?: string | undefined;
|
|
1373
|
+
readonly conditionalRequired?: string | undefined;
|
|
1374
|
+
readonly hidden?: boolean | undefined;
|
|
1375
|
+
readonly sortable?: boolean | undefined;
|
|
1376
|
+
readonly inlineHelpText?: string | undefined;
|
|
1377
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
1378
|
+
readonly caseSensitive?: boolean | undefined;
|
|
1379
|
+
readonly autonumberFormat?: string | undefined;
|
|
1380
|
+
readonly index?: boolean | undefined;
|
|
1381
|
+
readonly externalId?: boolean | undefined;
|
|
1382
|
+
readonly type: "text";
|
|
1383
|
+
};
|
|
1384
|
+
readonly metadata: {
|
|
1385
|
+
readonly format?: string | undefined;
|
|
1386
|
+
readonly expression?: string | undefined;
|
|
1387
|
+
readonly readonly?: boolean | undefined;
|
|
1388
|
+
readonly defaultValue?: unknown;
|
|
1389
|
+
readonly min?: number | undefined;
|
|
1390
|
+
readonly max?: number | undefined;
|
|
1391
|
+
readonly name?: string | undefined;
|
|
1392
|
+
readonly encryptionConfig?: {
|
|
1393
|
+
enabled: boolean;
|
|
1394
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
1395
|
+
keyManagement: {
|
|
1396
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
1397
|
+
keyId?: string | undefined;
|
|
1398
|
+
rotationPolicy?: {
|
|
1399
|
+
enabled: boolean;
|
|
1400
|
+
frequencyDays: number;
|
|
1401
|
+
retainOldVersions: number;
|
|
1402
|
+
autoRotate: boolean;
|
|
1403
|
+
} | undefined;
|
|
1404
|
+
};
|
|
1405
|
+
scope: "table" | "record" | "field" | "database";
|
|
1406
|
+
deterministicEncryption: boolean;
|
|
1407
|
+
searchableEncryption: boolean;
|
|
1408
|
+
} | undefined;
|
|
1409
|
+
readonly label?: string | undefined;
|
|
1410
|
+
readonly precision?: number | undefined;
|
|
1411
|
+
readonly description?: string | undefined;
|
|
1412
|
+
readonly columnName?: string | undefined;
|
|
1413
|
+
readonly required?: boolean | undefined;
|
|
1414
|
+
readonly searchable?: boolean | undefined;
|
|
1415
|
+
readonly multiple?: boolean | undefined;
|
|
1416
|
+
readonly unique?: boolean | undefined;
|
|
1417
|
+
readonly maxLength?: number | undefined;
|
|
1418
|
+
readonly minLength?: number | undefined;
|
|
1419
|
+
readonly scale?: number | undefined;
|
|
1420
|
+
readonly options?: {
|
|
1421
|
+
label: string;
|
|
1422
|
+
value: string;
|
|
1423
|
+
color?: string | undefined;
|
|
1424
|
+
default?: boolean | undefined;
|
|
1425
|
+
}[] | undefined;
|
|
1426
|
+
readonly reference?: string | undefined;
|
|
1427
|
+
readonly referenceFilters?: string[] | undefined;
|
|
1428
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
1429
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
1430
|
+
readonly summaryOperations?: {
|
|
1431
|
+
object: string;
|
|
1432
|
+
field: string;
|
|
1433
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
1434
|
+
} | undefined;
|
|
1435
|
+
readonly language?: string | undefined;
|
|
1436
|
+
readonly theme?: string | undefined;
|
|
1437
|
+
readonly lineNumbers?: boolean | undefined;
|
|
1438
|
+
readonly maxRating?: number | undefined;
|
|
1439
|
+
readonly allowHalf?: boolean | undefined;
|
|
1440
|
+
readonly displayMap?: boolean | undefined;
|
|
1441
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
1442
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
1443
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
1444
|
+
readonly allowAlpha?: boolean | undefined;
|
|
1445
|
+
readonly presetColors?: string[] | undefined;
|
|
1446
|
+
readonly step?: number | undefined;
|
|
1447
|
+
readonly showValue?: boolean | undefined;
|
|
1448
|
+
readonly marks?: Record<string, string> | undefined;
|
|
1449
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
1450
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
1451
|
+
readonly displayValue?: boolean | undefined;
|
|
1452
|
+
readonly allowScanning?: boolean | undefined;
|
|
1453
|
+
readonly currencyConfig?: {
|
|
1454
|
+
precision: number;
|
|
1455
|
+
currencyMode: "dynamic" | "fixed";
|
|
1456
|
+
defaultCurrency: string;
|
|
1457
|
+
} | undefined;
|
|
1458
|
+
readonly vectorConfig?: {
|
|
1459
|
+
dimensions: number;
|
|
1460
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
1461
|
+
normalized: boolean;
|
|
1462
|
+
indexed: boolean;
|
|
1463
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
1464
|
+
} | undefined;
|
|
1465
|
+
readonly fileAttachmentConfig?: {
|
|
1466
|
+
virusScan: boolean;
|
|
1467
|
+
virusScanOnUpload: boolean;
|
|
1468
|
+
quarantineOnThreat: boolean;
|
|
1469
|
+
allowMultiple: boolean;
|
|
1470
|
+
allowReplace: boolean;
|
|
1471
|
+
allowDelete: boolean;
|
|
1472
|
+
requireUpload: boolean;
|
|
1473
|
+
extractMetadata: boolean;
|
|
1474
|
+
extractText: boolean;
|
|
1475
|
+
versioningEnabled: boolean;
|
|
1476
|
+
publicRead: boolean;
|
|
1477
|
+
presignedUrlExpiry: number;
|
|
1478
|
+
minSize?: number | undefined;
|
|
1479
|
+
maxSize?: number | undefined;
|
|
1480
|
+
allowedTypes?: string[] | undefined;
|
|
1481
|
+
blockedTypes?: string[] | undefined;
|
|
1482
|
+
allowedMimeTypes?: string[] | undefined;
|
|
1483
|
+
blockedMimeTypes?: string[] | undefined;
|
|
1484
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
1485
|
+
storageProvider?: string | undefined;
|
|
1486
|
+
storageBucket?: string | undefined;
|
|
1487
|
+
storagePrefix?: string | undefined;
|
|
1488
|
+
imageValidation?: {
|
|
1489
|
+
generateThumbnails: boolean;
|
|
1490
|
+
preserveMetadata: boolean;
|
|
1491
|
+
autoRotate: boolean;
|
|
1492
|
+
minWidth?: number | undefined;
|
|
1493
|
+
maxWidth?: number | undefined;
|
|
1494
|
+
minHeight?: number | undefined;
|
|
1495
|
+
maxHeight?: number | undefined;
|
|
1496
|
+
aspectRatio?: string | undefined;
|
|
1497
|
+
thumbnailSizes?: {
|
|
1498
|
+
name: string;
|
|
1499
|
+
width: number;
|
|
1500
|
+
height: number;
|
|
1501
|
+
crop: boolean;
|
|
1502
|
+
}[] | undefined;
|
|
1503
|
+
} | undefined;
|
|
1504
|
+
maxVersions?: number | undefined;
|
|
1505
|
+
} | undefined;
|
|
1506
|
+
readonly maskingRule?: {
|
|
1507
|
+
field: string;
|
|
1508
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
1509
|
+
preserveFormat: boolean;
|
|
1510
|
+
preserveLength: boolean;
|
|
1511
|
+
pattern?: string | undefined;
|
|
1512
|
+
roles?: string[] | undefined;
|
|
1513
|
+
exemptRoles?: string[] | undefined;
|
|
1514
|
+
} | undefined;
|
|
1515
|
+
readonly auditTrail?: boolean | undefined;
|
|
1516
|
+
readonly dependencies?: string[] | undefined;
|
|
1517
|
+
readonly cached?: {
|
|
1518
|
+
enabled: boolean;
|
|
1519
|
+
ttl: number;
|
|
1520
|
+
invalidateOn: string[];
|
|
1521
|
+
} | undefined;
|
|
1522
|
+
readonly dataQuality?: {
|
|
1523
|
+
uniqueness: boolean;
|
|
1524
|
+
completeness: number;
|
|
1525
|
+
accuracy?: {
|
|
1526
|
+
source: string;
|
|
1527
|
+
threshold: number;
|
|
1528
|
+
} | undefined;
|
|
1529
|
+
} | undefined;
|
|
1530
|
+
readonly group?: string | undefined;
|
|
1531
|
+
readonly conditionalRequired?: string | undefined;
|
|
1532
|
+
readonly hidden?: boolean | undefined;
|
|
1533
|
+
readonly sortable?: boolean | undefined;
|
|
1534
|
+
readonly inlineHelpText?: string | undefined;
|
|
1535
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
1536
|
+
readonly caseSensitive?: boolean | undefined;
|
|
1537
|
+
readonly autonumberFormat?: string | undefined;
|
|
1538
|
+
readonly index?: boolean | undefined;
|
|
1539
|
+
readonly externalId?: boolean | undefined;
|
|
1540
|
+
readonly type: "textarea";
|
|
1541
|
+
};
|
|
1542
|
+
readonly created_at: {
|
|
1543
|
+
readonly format?: string | undefined;
|
|
1544
|
+
readonly expression?: string | undefined;
|
|
1545
|
+
readonly readonly?: boolean | undefined;
|
|
1546
|
+
readonly defaultValue?: unknown;
|
|
1547
|
+
readonly min?: number | undefined;
|
|
1548
|
+
readonly max?: number | undefined;
|
|
1549
|
+
readonly name?: string | undefined;
|
|
1550
|
+
readonly encryptionConfig?: {
|
|
1551
|
+
enabled: boolean;
|
|
1552
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
1553
|
+
keyManagement: {
|
|
1554
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
1555
|
+
keyId?: string | undefined;
|
|
1556
|
+
rotationPolicy?: {
|
|
1557
|
+
enabled: boolean;
|
|
1558
|
+
frequencyDays: number;
|
|
1559
|
+
retainOldVersions: number;
|
|
1560
|
+
autoRotate: boolean;
|
|
1561
|
+
} | undefined;
|
|
1562
|
+
};
|
|
1563
|
+
scope: "table" | "record" | "field" | "database";
|
|
1564
|
+
deterministicEncryption: boolean;
|
|
1565
|
+
searchableEncryption: boolean;
|
|
1566
|
+
} | undefined;
|
|
1567
|
+
readonly label?: string | undefined;
|
|
1568
|
+
readonly precision?: number | undefined;
|
|
1569
|
+
readonly description?: string | undefined;
|
|
1570
|
+
readonly columnName?: string | undefined;
|
|
1571
|
+
readonly required?: boolean | undefined;
|
|
1572
|
+
readonly searchable?: boolean | undefined;
|
|
1573
|
+
readonly multiple?: boolean | undefined;
|
|
1574
|
+
readonly unique?: boolean | undefined;
|
|
1575
|
+
readonly maxLength?: number | undefined;
|
|
1576
|
+
readonly minLength?: number | undefined;
|
|
1577
|
+
readonly scale?: number | undefined;
|
|
1578
|
+
readonly options?: {
|
|
1579
|
+
label: string;
|
|
1580
|
+
value: string;
|
|
1581
|
+
color?: string | undefined;
|
|
1582
|
+
default?: boolean | undefined;
|
|
1583
|
+
}[] | undefined;
|
|
1584
|
+
readonly reference?: string | undefined;
|
|
1585
|
+
readonly referenceFilters?: string[] | undefined;
|
|
1586
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
1587
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
1588
|
+
readonly summaryOperations?: {
|
|
1589
|
+
object: string;
|
|
1590
|
+
field: string;
|
|
1591
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
1592
|
+
} | undefined;
|
|
1593
|
+
readonly language?: string | undefined;
|
|
1594
|
+
readonly theme?: string | undefined;
|
|
1595
|
+
readonly lineNumbers?: boolean | undefined;
|
|
1596
|
+
readonly maxRating?: number | undefined;
|
|
1597
|
+
readonly allowHalf?: boolean | undefined;
|
|
1598
|
+
readonly displayMap?: boolean | undefined;
|
|
1599
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
1600
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
1601
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
1602
|
+
readonly allowAlpha?: boolean | undefined;
|
|
1603
|
+
readonly presetColors?: string[] | undefined;
|
|
1604
|
+
readonly step?: number | undefined;
|
|
1605
|
+
readonly showValue?: boolean | undefined;
|
|
1606
|
+
readonly marks?: Record<string, string> | undefined;
|
|
1607
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
1608
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
1609
|
+
readonly displayValue?: boolean | undefined;
|
|
1610
|
+
readonly allowScanning?: boolean | undefined;
|
|
1611
|
+
readonly currencyConfig?: {
|
|
1612
|
+
precision: number;
|
|
1613
|
+
currencyMode: "dynamic" | "fixed";
|
|
1614
|
+
defaultCurrency: string;
|
|
1615
|
+
} | undefined;
|
|
1616
|
+
readonly vectorConfig?: {
|
|
1617
|
+
dimensions: number;
|
|
1618
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
1619
|
+
normalized: boolean;
|
|
1620
|
+
indexed: boolean;
|
|
1621
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
1622
|
+
} | undefined;
|
|
1623
|
+
readonly fileAttachmentConfig?: {
|
|
1624
|
+
virusScan: boolean;
|
|
1625
|
+
virusScanOnUpload: boolean;
|
|
1626
|
+
quarantineOnThreat: boolean;
|
|
1627
|
+
allowMultiple: boolean;
|
|
1628
|
+
allowReplace: boolean;
|
|
1629
|
+
allowDelete: boolean;
|
|
1630
|
+
requireUpload: boolean;
|
|
1631
|
+
extractMetadata: boolean;
|
|
1632
|
+
extractText: boolean;
|
|
1633
|
+
versioningEnabled: boolean;
|
|
1634
|
+
publicRead: boolean;
|
|
1635
|
+
presignedUrlExpiry: number;
|
|
1636
|
+
minSize?: number | undefined;
|
|
1637
|
+
maxSize?: number | undefined;
|
|
1638
|
+
allowedTypes?: string[] | undefined;
|
|
1639
|
+
blockedTypes?: string[] | undefined;
|
|
1640
|
+
allowedMimeTypes?: string[] | undefined;
|
|
1641
|
+
blockedMimeTypes?: string[] | undefined;
|
|
1642
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
1643
|
+
storageProvider?: string | undefined;
|
|
1644
|
+
storageBucket?: string | undefined;
|
|
1645
|
+
storagePrefix?: string | undefined;
|
|
1646
|
+
imageValidation?: {
|
|
1647
|
+
generateThumbnails: boolean;
|
|
1648
|
+
preserveMetadata: boolean;
|
|
1649
|
+
autoRotate: boolean;
|
|
1650
|
+
minWidth?: number | undefined;
|
|
1651
|
+
maxWidth?: number | undefined;
|
|
1652
|
+
minHeight?: number | undefined;
|
|
1653
|
+
maxHeight?: number | undefined;
|
|
1654
|
+
aspectRatio?: string | undefined;
|
|
1655
|
+
thumbnailSizes?: {
|
|
1656
|
+
name: string;
|
|
1657
|
+
width: number;
|
|
1658
|
+
height: number;
|
|
1659
|
+
crop: boolean;
|
|
1660
|
+
}[] | undefined;
|
|
1661
|
+
} | undefined;
|
|
1662
|
+
maxVersions?: number | undefined;
|
|
1663
|
+
} | undefined;
|
|
1664
|
+
readonly maskingRule?: {
|
|
1665
|
+
field: string;
|
|
1666
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
1667
|
+
preserveFormat: boolean;
|
|
1668
|
+
preserveLength: boolean;
|
|
1669
|
+
pattern?: string | undefined;
|
|
1670
|
+
roles?: string[] | undefined;
|
|
1671
|
+
exemptRoles?: string[] | undefined;
|
|
1672
|
+
} | undefined;
|
|
1673
|
+
readonly auditTrail?: boolean | undefined;
|
|
1674
|
+
readonly dependencies?: string[] | undefined;
|
|
1675
|
+
readonly cached?: {
|
|
1676
|
+
enabled: boolean;
|
|
1677
|
+
ttl: number;
|
|
1678
|
+
invalidateOn: string[];
|
|
1679
|
+
} | undefined;
|
|
1680
|
+
readonly dataQuality?: {
|
|
1681
|
+
uniqueness: boolean;
|
|
1682
|
+
completeness: number;
|
|
1683
|
+
accuracy?: {
|
|
1684
|
+
source: string;
|
|
1685
|
+
threshold: number;
|
|
1686
|
+
} | undefined;
|
|
1687
|
+
} | undefined;
|
|
1688
|
+
readonly group?: string | undefined;
|
|
1689
|
+
readonly conditionalRequired?: string | undefined;
|
|
1690
|
+
readonly hidden?: boolean | undefined;
|
|
1691
|
+
readonly sortable?: boolean | undefined;
|
|
1692
|
+
readonly inlineHelpText?: string | undefined;
|
|
1693
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
1694
|
+
readonly caseSensitive?: boolean | undefined;
|
|
1695
|
+
readonly autonumberFormat?: string | undefined;
|
|
1696
|
+
readonly index?: boolean | undefined;
|
|
1697
|
+
readonly externalId?: boolean | undefined;
|
|
1698
|
+
readonly type: "datetime";
|
|
1699
|
+
};
|
|
1700
|
+
readonly updated_at: {
|
|
1701
|
+
readonly format?: string | undefined;
|
|
1702
|
+
readonly expression?: string | undefined;
|
|
1703
|
+
readonly readonly?: boolean | undefined;
|
|
1704
|
+
readonly defaultValue?: unknown;
|
|
1705
|
+
readonly min?: number | undefined;
|
|
1706
|
+
readonly max?: number | undefined;
|
|
1707
|
+
readonly name?: string | undefined;
|
|
1708
|
+
readonly encryptionConfig?: {
|
|
1709
|
+
enabled: boolean;
|
|
1710
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
1711
|
+
keyManagement: {
|
|
1712
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
1713
|
+
keyId?: string | undefined;
|
|
1714
|
+
rotationPolicy?: {
|
|
1715
|
+
enabled: boolean;
|
|
1716
|
+
frequencyDays: number;
|
|
1717
|
+
retainOldVersions: number;
|
|
1718
|
+
autoRotate: boolean;
|
|
1719
|
+
} | undefined;
|
|
1720
|
+
};
|
|
1721
|
+
scope: "table" | "record" | "field" | "database";
|
|
1722
|
+
deterministicEncryption: boolean;
|
|
1723
|
+
searchableEncryption: boolean;
|
|
1724
|
+
} | undefined;
|
|
1725
|
+
readonly label?: string | undefined;
|
|
1726
|
+
readonly precision?: number | undefined;
|
|
1727
|
+
readonly description?: string | undefined;
|
|
1728
|
+
readonly columnName?: string | undefined;
|
|
1729
|
+
readonly required?: boolean | undefined;
|
|
1730
|
+
readonly searchable?: boolean | undefined;
|
|
1731
|
+
readonly multiple?: boolean | undefined;
|
|
1732
|
+
readonly unique?: boolean | undefined;
|
|
1733
|
+
readonly maxLength?: number | undefined;
|
|
1734
|
+
readonly minLength?: number | undefined;
|
|
1735
|
+
readonly scale?: number | undefined;
|
|
1736
|
+
readonly options?: {
|
|
1737
|
+
label: string;
|
|
1738
|
+
value: string;
|
|
1739
|
+
color?: string | undefined;
|
|
1740
|
+
default?: boolean | undefined;
|
|
1741
|
+
}[] | undefined;
|
|
1742
|
+
readonly reference?: string | undefined;
|
|
1743
|
+
readonly referenceFilters?: string[] | undefined;
|
|
1744
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
1745
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
1746
|
+
readonly summaryOperations?: {
|
|
1747
|
+
object: string;
|
|
1748
|
+
field: string;
|
|
1749
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
1750
|
+
} | undefined;
|
|
1751
|
+
readonly language?: string | undefined;
|
|
1752
|
+
readonly theme?: string | undefined;
|
|
1753
|
+
readonly lineNumbers?: boolean | undefined;
|
|
1754
|
+
readonly maxRating?: number | undefined;
|
|
1755
|
+
readonly allowHalf?: boolean | undefined;
|
|
1756
|
+
readonly displayMap?: boolean | undefined;
|
|
1757
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
1758
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
1759
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
1760
|
+
readonly allowAlpha?: boolean | undefined;
|
|
1761
|
+
readonly presetColors?: string[] | undefined;
|
|
1762
|
+
readonly step?: number | undefined;
|
|
1763
|
+
readonly showValue?: boolean | undefined;
|
|
1764
|
+
readonly marks?: Record<string, string> | undefined;
|
|
1765
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
1766
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
1767
|
+
readonly displayValue?: boolean | undefined;
|
|
1768
|
+
readonly allowScanning?: boolean | undefined;
|
|
1769
|
+
readonly currencyConfig?: {
|
|
1770
|
+
precision: number;
|
|
1771
|
+
currencyMode: "dynamic" | "fixed";
|
|
1772
|
+
defaultCurrency: string;
|
|
1773
|
+
} | undefined;
|
|
1774
|
+
readonly vectorConfig?: {
|
|
1775
|
+
dimensions: number;
|
|
1776
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
1777
|
+
normalized: boolean;
|
|
1778
|
+
indexed: boolean;
|
|
1779
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
1780
|
+
} | undefined;
|
|
1781
|
+
readonly fileAttachmentConfig?: {
|
|
1782
|
+
virusScan: boolean;
|
|
1783
|
+
virusScanOnUpload: boolean;
|
|
1784
|
+
quarantineOnThreat: boolean;
|
|
1785
|
+
allowMultiple: boolean;
|
|
1786
|
+
allowReplace: boolean;
|
|
1787
|
+
allowDelete: boolean;
|
|
1788
|
+
requireUpload: boolean;
|
|
1789
|
+
extractMetadata: boolean;
|
|
1790
|
+
extractText: boolean;
|
|
1791
|
+
versioningEnabled: boolean;
|
|
1792
|
+
publicRead: boolean;
|
|
1793
|
+
presignedUrlExpiry: number;
|
|
1794
|
+
minSize?: number | undefined;
|
|
1795
|
+
maxSize?: number | undefined;
|
|
1796
|
+
allowedTypes?: string[] | undefined;
|
|
1797
|
+
blockedTypes?: string[] | undefined;
|
|
1798
|
+
allowedMimeTypes?: string[] | undefined;
|
|
1799
|
+
blockedMimeTypes?: string[] | undefined;
|
|
1800
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
1801
|
+
storageProvider?: string | undefined;
|
|
1802
|
+
storageBucket?: string | undefined;
|
|
1803
|
+
storagePrefix?: string | undefined;
|
|
1804
|
+
imageValidation?: {
|
|
1805
|
+
generateThumbnails: boolean;
|
|
1806
|
+
preserveMetadata: boolean;
|
|
1807
|
+
autoRotate: boolean;
|
|
1808
|
+
minWidth?: number | undefined;
|
|
1809
|
+
maxWidth?: number | undefined;
|
|
1810
|
+
minHeight?: number | undefined;
|
|
1811
|
+
maxHeight?: number | undefined;
|
|
1812
|
+
aspectRatio?: string | undefined;
|
|
1813
|
+
thumbnailSizes?: {
|
|
1814
|
+
name: string;
|
|
1815
|
+
width: number;
|
|
1816
|
+
height: number;
|
|
1817
|
+
crop: boolean;
|
|
1818
|
+
}[] | undefined;
|
|
1819
|
+
} | undefined;
|
|
1820
|
+
maxVersions?: number | undefined;
|
|
1821
|
+
} | undefined;
|
|
1822
|
+
readonly maskingRule?: {
|
|
1823
|
+
field: string;
|
|
1824
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
1825
|
+
preserveFormat: boolean;
|
|
1826
|
+
preserveLength: boolean;
|
|
1827
|
+
pattern?: string | undefined;
|
|
1828
|
+
roles?: string[] | undefined;
|
|
1829
|
+
exemptRoles?: string[] | undefined;
|
|
1830
|
+
} | undefined;
|
|
1831
|
+
readonly auditTrail?: boolean | undefined;
|
|
1832
|
+
readonly dependencies?: string[] | undefined;
|
|
1833
|
+
readonly cached?: {
|
|
1834
|
+
enabled: boolean;
|
|
1835
|
+
ttl: number;
|
|
1836
|
+
invalidateOn: string[];
|
|
1837
|
+
} | undefined;
|
|
1838
|
+
readonly dataQuality?: {
|
|
1839
|
+
uniqueness: boolean;
|
|
1840
|
+
completeness: number;
|
|
1841
|
+
accuracy?: {
|
|
1842
|
+
source: string;
|
|
1843
|
+
threshold: number;
|
|
1844
|
+
} | undefined;
|
|
1845
|
+
} | undefined;
|
|
1846
|
+
readonly group?: string | undefined;
|
|
1847
|
+
readonly conditionalRequired?: string | undefined;
|
|
1848
|
+
readonly hidden?: boolean | undefined;
|
|
1849
|
+
readonly sortable?: boolean | undefined;
|
|
1850
|
+
readonly inlineHelpText?: string | undefined;
|
|
1851
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
1852
|
+
readonly caseSensitive?: boolean | undefined;
|
|
1853
|
+
readonly autonumberFormat?: string | undefined;
|
|
1854
|
+
readonly index?: boolean | undefined;
|
|
1855
|
+
readonly externalId?: boolean | undefined;
|
|
1856
|
+
readonly type: "datetime";
|
|
1857
|
+
};
|
|
1858
|
+
};
|
|
1859
|
+
readonly indexes: [{
|
|
1860
|
+
readonly fields: ["user_id"];
|
|
1861
|
+
}, {
|
|
1862
|
+
readonly fields: ["agent_id"];
|
|
1863
|
+
}, {
|
|
1864
|
+
readonly fields: ["created_at"];
|
|
1865
|
+
}];
|
|
1866
|
+
readonly enable: {
|
|
1867
|
+
readonly trackHistory: false;
|
|
1868
|
+
readonly searchable: false;
|
|
1869
|
+
readonly apiEnabled: true;
|
|
1870
|
+
readonly apiMethods: ["get", "list", "create", "update", "delete"];
|
|
1871
|
+
readonly trash: false;
|
|
1872
|
+
readonly mru: false;
|
|
1873
|
+
};
|
|
1874
|
+
}, "fields">;
|
|
1875
|
+
|
|
1876
|
+
/**
|
|
1877
|
+
* ai_messages — AI Message Object
|
|
1878
|
+
*
|
|
1879
|
+
* Stores individual messages within an AI conversation.
|
|
1880
|
+
* Each message belongs to a conversation via `conversation_id` foreign key.
|
|
1881
|
+
*
|
|
1882
|
+
* @namespace ai
|
|
1883
|
+
*/
|
|
1884
|
+
declare const AiMessageObject: Omit<{
|
|
1885
|
+
name: string;
|
|
1886
|
+
active: boolean;
|
|
1887
|
+
isSystem: boolean;
|
|
1888
|
+
abstract: boolean;
|
|
1889
|
+
datasource: string;
|
|
1890
|
+
fields: Record<string, {
|
|
1891
|
+
type: "number" | "boolean" | "file" | "json" | "text" | "avatar" | "vector" | "date" | "tags" | "lookup" | "url" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "datetime" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "master_detail" | "tree" | "image" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "code" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress";
|
|
1892
|
+
required: boolean;
|
|
1893
|
+
searchable: boolean;
|
|
1894
|
+
multiple: boolean;
|
|
1895
|
+
unique: boolean;
|
|
1896
|
+
deleteBehavior: "set_null" | "cascade" | "restrict";
|
|
1897
|
+
auditTrail: boolean;
|
|
1898
|
+
hidden: boolean;
|
|
1899
|
+
readonly: boolean;
|
|
1900
|
+
sortable: boolean;
|
|
1901
|
+
index: boolean;
|
|
1902
|
+
externalId: boolean;
|
|
1903
|
+
name?: string | undefined;
|
|
1904
|
+
label?: string | undefined;
|
|
1905
|
+
description?: string | undefined;
|
|
1906
|
+
format?: string | undefined;
|
|
1907
|
+
columnName?: string | undefined;
|
|
1908
|
+
defaultValue?: unknown;
|
|
1909
|
+
maxLength?: number | undefined;
|
|
1910
|
+
minLength?: number | undefined;
|
|
1911
|
+
precision?: number | undefined;
|
|
1912
|
+
scale?: number | undefined;
|
|
1913
|
+
min?: number | undefined;
|
|
1914
|
+
max?: number | undefined;
|
|
1915
|
+
options?: {
|
|
1916
|
+
label: string;
|
|
1917
|
+
value: string;
|
|
1918
|
+
color?: string | undefined;
|
|
1919
|
+
default?: boolean | undefined;
|
|
1920
|
+
}[] | undefined;
|
|
1921
|
+
reference?: string | undefined;
|
|
1922
|
+
referenceFilters?: string[] | undefined;
|
|
1923
|
+
writeRequiresMasterRead?: boolean | undefined;
|
|
1924
|
+
expression?: string | undefined;
|
|
1925
|
+
summaryOperations?: {
|
|
1926
|
+
object: string;
|
|
1927
|
+
field: string;
|
|
1928
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
1929
|
+
} | undefined;
|
|
1930
|
+
language?: string | undefined;
|
|
1931
|
+
theme?: string | undefined;
|
|
1932
|
+
lineNumbers?: boolean | undefined;
|
|
1933
|
+
maxRating?: number | undefined;
|
|
1934
|
+
allowHalf?: boolean | undefined;
|
|
1935
|
+
displayMap?: boolean | undefined;
|
|
1936
|
+
allowGeocoding?: boolean | undefined;
|
|
1937
|
+
addressFormat?: "us" | "uk" | "international" | undefined;
|
|
1938
|
+
colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
1939
|
+
allowAlpha?: boolean | undefined;
|
|
1940
|
+
presetColors?: string[] | undefined;
|
|
1941
|
+
step?: number | undefined;
|
|
1942
|
+
showValue?: boolean | undefined;
|
|
1943
|
+
marks?: Record<string, string> | undefined;
|
|
1944
|
+
barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
1945
|
+
qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
1946
|
+
displayValue?: boolean | undefined;
|
|
1947
|
+
allowScanning?: boolean | undefined;
|
|
1948
|
+
currencyConfig?: {
|
|
1949
|
+
precision: number;
|
|
1950
|
+
currencyMode: "dynamic" | "fixed";
|
|
1951
|
+
defaultCurrency: string;
|
|
1952
|
+
} | undefined;
|
|
1953
|
+
vectorConfig?: {
|
|
1954
|
+
dimensions: number;
|
|
1955
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
1956
|
+
normalized: boolean;
|
|
1957
|
+
indexed: boolean;
|
|
1958
|
+
indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
|
|
1959
|
+
} | undefined;
|
|
1960
|
+
fileAttachmentConfig?: {
|
|
1961
|
+
virusScan: boolean;
|
|
1962
|
+
virusScanOnUpload: boolean;
|
|
1963
|
+
quarantineOnThreat: boolean;
|
|
1964
|
+
allowMultiple: boolean;
|
|
1965
|
+
allowReplace: boolean;
|
|
1966
|
+
allowDelete: boolean;
|
|
1967
|
+
requireUpload: boolean;
|
|
1968
|
+
extractMetadata: boolean;
|
|
1969
|
+
extractText: boolean;
|
|
1970
|
+
versioningEnabled: boolean;
|
|
1971
|
+
publicRead: boolean;
|
|
1972
|
+
presignedUrlExpiry: number;
|
|
1973
|
+
minSize?: number | undefined;
|
|
1974
|
+
maxSize?: number | undefined;
|
|
1975
|
+
allowedTypes?: string[] | undefined;
|
|
1976
|
+
blockedTypes?: string[] | undefined;
|
|
1977
|
+
allowedMimeTypes?: string[] | undefined;
|
|
1978
|
+
blockedMimeTypes?: string[] | undefined;
|
|
1979
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
1980
|
+
storageProvider?: string | undefined;
|
|
1981
|
+
storageBucket?: string | undefined;
|
|
1982
|
+
storagePrefix?: string | undefined;
|
|
1983
|
+
imageValidation?: {
|
|
1984
|
+
generateThumbnails: boolean;
|
|
1985
|
+
preserveMetadata: boolean;
|
|
1986
|
+
autoRotate: boolean;
|
|
1987
|
+
minWidth?: number | undefined;
|
|
1988
|
+
maxWidth?: number | undefined;
|
|
1989
|
+
minHeight?: number | undefined;
|
|
1990
|
+
maxHeight?: number | undefined;
|
|
1991
|
+
aspectRatio?: string | undefined;
|
|
1992
|
+
thumbnailSizes?: {
|
|
1993
|
+
name: string;
|
|
1994
|
+
width: number;
|
|
1995
|
+
height: number;
|
|
1996
|
+
crop: boolean;
|
|
1997
|
+
}[] | undefined;
|
|
1998
|
+
} | undefined;
|
|
1999
|
+
maxVersions?: number | undefined;
|
|
2000
|
+
} | undefined;
|
|
2001
|
+
encryptionConfig?: {
|
|
2002
|
+
enabled: boolean;
|
|
2003
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
2004
|
+
keyManagement: {
|
|
2005
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
2006
|
+
keyId?: string | undefined;
|
|
2007
|
+
rotationPolicy?: {
|
|
2008
|
+
enabled: boolean;
|
|
2009
|
+
frequencyDays: number;
|
|
2010
|
+
retainOldVersions: number;
|
|
2011
|
+
autoRotate: boolean;
|
|
2012
|
+
} | undefined;
|
|
2013
|
+
};
|
|
2014
|
+
scope: "database" | "field" | "record" | "table";
|
|
2015
|
+
deterministicEncryption: boolean;
|
|
2016
|
+
searchableEncryption: boolean;
|
|
2017
|
+
} | undefined;
|
|
2018
|
+
maskingRule?: {
|
|
2019
|
+
field: string;
|
|
2020
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
2021
|
+
preserveFormat: boolean;
|
|
2022
|
+
preserveLength: boolean;
|
|
2023
|
+
pattern?: string | undefined;
|
|
2024
|
+
roles?: string[] | undefined;
|
|
2025
|
+
exemptRoles?: string[] | undefined;
|
|
2026
|
+
} | undefined;
|
|
2027
|
+
dependencies?: string[] | undefined;
|
|
2028
|
+
cached?: {
|
|
2029
|
+
enabled: boolean;
|
|
2030
|
+
ttl: number;
|
|
2031
|
+
invalidateOn: string[];
|
|
2032
|
+
} | undefined;
|
|
2033
|
+
dataQuality?: {
|
|
2034
|
+
uniqueness: boolean;
|
|
2035
|
+
completeness: number;
|
|
2036
|
+
accuracy?: {
|
|
2037
|
+
source: string;
|
|
2038
|
+
threshold: number;
|
|
2039
|
+
} | undefined;
|
|
2040
|
+
} | undefined;
|
|
2041
|
+
group?: string | undefined;
|
|
2042
|
+
conditionalRequired?: string | undefined;
|
|
2043
|
+
inlineHelpText?: string | undefined;
|
|
2044
|
+
trackFeedHistory?: boolean | undefined;
|
|
2045
|
+
caseSensitive?: boolean | undefined;
|
|
2046
|
+
autonumberFormat?: string | undefined;
|
|
2047
|
+
}>;
|
|
2048
|
+
label?: string | undefined;
|
|
2049
|
+
pluralLabel?: string | undefined;
|
|
2050
|
+
description?: string | undefined;
|
|
2051
|
+
icon?: string | undefined;
|
|
2052
|
+
namespace?: string | undefined;
|
|
2053
|
+
tags?: string[] | undefined;
|
|
2054
|
+
tableName?: string | undefined;
|
|
2055
|
+
indexes?: {
|
|
2056
|
+
fields: string[];
|
|
2057
|
+
type: "hash" | "btree" | "gin" | "gist" | "fulltext";
|
|
2058
|
+
unique: boolean;
|
|
2059
|
+
name?: string | undefined;
|
|
2060
|
+
partial?: string | undefined;
|
|
2061
|
+
}[] | undefined;
|
|
2062
|
+
tenancy?: {
|
|
2063
|
+
enabled: boolean;
|
|
2064
|
+
strategy: "shared" | "isolated" | "hybrid";
|
|
2065
|
+
tenantField: string;
|
|
2066
|
+
crossTenantAccess: boolean;
|
|
2067
|
+
} | undefined;
|
|
2068
|
+
softDelete?: {
|
|
2069
|
+
enabled: boolean;
|
|
2070
|
+
field: string;
|
|
2071
|
+
cascadeDelete: boolean;
|
|
2072
|
+
} | undefined;
|
|
2073
|
+
versioning?: {
|
|
2074
|
+
enabled: boolean;
|
|
2075
|
+
strategy: "snapshot" | "delta" | "event-sourcing";
|
|
2076
|
+
versionField: string;
|
|
2077
|
+
retentionDays?: number | undefined;
|
|
2078
|
+
} | undefined;
|
|
2079
|
+
partitioning?: {
|
|
2080
|
+
enabled: boolean;
|
|
2081
|
+
strategy: "hash" | "range" | "list";
|
|
2082
|
+
key: string;
|
|
2083
|
+
interval?: string | undefined;
|
|
2084
|
+
} | undefined;
|
|
2085
|
+
cdc?: {
|
|
2086
|
+
enabled: boolean;
|
|
2087
|
+
events: ("update" | "delete" | "insert")[];
|
|
2088
|
+
destination: string;
|
|
2089
|
+
} | undefined;
|
|
2090
|
+
validations?: _objectstack_spec_data.BaseValidationRuleShape[] | undefined;
|
|
2091
|
+
stateMachines?: Record<string, {
|
|
2092
|
+
id: string;
|
|
2093
|
+
initial: string;
|
|
2094
|
+
states: Record<string, StateNodeConfig>;
|
|
2095
|
+
description?: string | undefined;
|
|
2096
|
+
contextSchema?: Record<string, unknown> | undefined;
|
|
2097
|
+
on?: Record<string, string | {
|
|
2098
|
+
target?: string | undefined;
|
|
2099
|
+
cond?: string | {
|
|
2100
|
+
type: string;
|
|
2101
|
+
params?: Record<string, unknown> | undefined;
|
|
2102
|
+
} | undefined;
|
|
2103
|
+
actions?: (string | {
|
|
2104
|
+
type: string;
|
|
2105
|
+
params?: Record<string, unknown> | undefined;
|
|
2106
|
+
})[] | undefined;
|
|
2107
|
+
description?: string | undefined;
|
|
2108
|
+
} | {
|
|
2109
|
+
target?: string | undefined;
|
|
2110
|
+
cond?: string | {
|
|
2111
|
+
type: string;
|
|
2112
|
+
params?: Record<string, unknown> | undefined;
|
|
2113
|
+
} | undefined;
|
|
2114
|
+
actions?: (string | {
|
|
2115
|
+
type: string;
|
|
2116
|
+
params?: Record<string, unknown> | undefined;
|
|
2117
|
+
})[] | undefined;
|
|
2118
|
+
description?: string | undefined;
|
|
2119
|
+
}[]> | undefined;
|
|
2120
|
+
}> | undefined;
|
|
2121
|
+
displayNameField?: string | undefined;
|
|
2122
|
+
recordName?: {
|
|
2123
|
+
type: "text" | "autonumber";
|
|
2124
|
+
displayFormat?: string | undefined;
|
|
2125
|
+
startNumber?: number | undefined;
|
|
2126
|
+
} | undefined;
|
|
2127
|
+
titleFormat?: string | undefined;
|
|
2128
|
+
compactLayout?: string[] | undefined;
|
|
2129
|
+
search?: {
|
|
2130
|
+
fields: string[];
|
|
2131
|
+
displayFields?: string[] | undefined;
|
|
2132
|
+
filters?: string[] | undefined;
|
|
2133
|
+
} | undefined;
|
|
2134
|
+
enable?: {
|
|
2135
|
+
trackHistory: boolean;
|
|
2136
|
+
searchable: boolean;
|
|
2137
|
+
apiEnabled: boolean;
|
|
2138
|
+
files: boolean;
|
|
2139
|
+
feeds: boolean;
|
|
2140
|
+
activities: boolean;
|
|
2141
|
+
trash: boolean;
|
|
2142
|
+
mru: boolean;
|
|
2143
|
+
clone: boolean;
|
|
2144
|
+
apiMethods?: ("search" | "upsert" | "list" | "update" | "delete" | "history" | "get" | "create" | "bulk" | "aggregate" | "restore" | "purge" | "import" | "export")[] | undefined;
|
|
2145
|
+
} | undefined;
|
|
2146
|
+
recordTypes?: string[] | undefined;
|
|
2147
|
+
sharingModel?: "private" | "full" | "read" | "read_write" | undefined;
|
|
2148
|
+
keyPrefix?: string | undefined;
|
|
2149
|
+
actions?: {
|
|
2150
|
+
name: string;
|
|
2151
|
+
label: string | {
|
|
2152
|
+
key: string;
|
|
2153
|
+
defaultValue?: string | undefined;
|
|
2154
|
+
params?: Record<string, string | number | boolean> | undefined;
|
|
2155
|
+
};
|
|
2156
|
+
type: "url" | "script" | "modal" | "flow" | "api";
|
|
2157
|
+
refreshAfter: boolean;
|
|
2158
|
+
objectName?: string | undefined;
|
|
2159
|
+
icon?: string | undefined;
|
|
2160
|
+
locations?: ("list_toolbar" | "list_item" | "record_header" | "record_more" | "record_related" | "global_nav")[] | undefined;
|
|
2161
|
+
component?: "action:button" | "action:icon" | "action:menu" | "action:group" | undefined;
|
|
2162
|
+
target?: string | undefined;
|
|
2163
|
+
execute?: string | undefined;
|
|
2164
|
+
params?: {
|
|
2165
|
+
name: string;
|
|
2166
|
+
label: string | {
|
|
2167
|
+
key: string;
|
|
2168
|
+
defaultValue?: string | undefined;
|
|
2169
|
+
params?: Record<string, string | number | boolean> | undefined;
|
|
2170
|
+
};
|
|
2171
|
+
type: "number" | "boolean" | "date" | "lookup" | "file" | "url" | "json" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "datetime" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "code" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress" | "tags" | "vector";
|
|
2172
|
+
required: boolean;
|
|
2173
|
+
options?: {
|
|
2174
|
+
label: string | {
|
|
2175
|
+
key: string;
|
|
2176
|
+
defaultValue?: string | undefined;
|
|
2177
|
+
params?: Record<string, string | number | boolean> | undefined;
|
|
2178
|
+
};
|
|
2179
|
+
value: string;
|
|
2180
|
+
}[] | undefined;
|
|
2181
|
+
}[] | undefined;
|
|
2182
|
+
variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
|
|
2183
|
+
confirmText?: string | {
|
|
2184
|
+
key: string;
|
|
2185
|
+
defaultValue?: string | undefined;
|
|
2186
|
+
params?: Record<string, string | number | boolean> | undefined;
|
|
2187
|
+
} | undefined;
|
|
2188
|
+
successMessage?: string | {
|
|
2189
|
+
key: string;
|
|
2190
|
+
defaultValue?: string | undefined;
|
|
2191
|
+
params?: Record<string, string | number | boolean> | undefined;
|
|
2192
|
+
} | undefined;
|
|
2193
|
+
visible?: string | undefined;
|
|
2194
|
+
disabled?: string | boolean | undefined;
|
|
2195
|
+
shortcut?: string | undefined;
|
|
2196
|
+
bulkEnabled?: boolean | undefined;
|
|
2197
|
+
timeout?: number | undefined;
|
|
2198
|
+
aria?: {
|
|
2199
|
+
ariaLabel?: string | {
|
|
2200
|
+
key: string;
|
|
2201
|
+
defaultValue?: string | undefined;
|
|
2202
|
+
params?: Record<string, string | number | boolean> | undefined;
|
|
2203
|
+
} | undefined;
|
|
2204
|
+
ariaDescribedBy?: string | undefined;
|
|
2205
|
+
role?: string | undefined;
|
|
2206
|
+
} | undefined;
|
|
2207
|
+
}[] | undefined;
|
|
2208
|
+
}, "fields"> & Pick<{
|
|
2209
|
+
readonly namespace: "ai";
|
|
2210
|
+
readonly name: "messages";
|
|
2211
|
+
readonly label: "AI Message";
|
|
2212
|
+
readonly pluralLabel: "AI Messages";
|
|
2213
|
+
readonly icon: "message-circle";
|
|
2214
|
+
readonly isSystem: true;
|
|
2215
|
+
readonly description: "Individual messages within AI conversations";
|
|
2216
|
+
readonly fields: {
|
|
2217
|
+
readonly id: {
|
|
2218
|
+
readonly format?: string | undefined;
|
|
2219
|
+
readonly expression?: string | undefined;
|
|
2220
|
+
readonly readonly?: boolean | undefined;
|
|
2221
|
+
readonly defaultValue?: unknown;
|
|
2222
|
+
readonly min?: number | undefined;
|
|
2223
|
+
readonly max?: number | undefined;
|
|
2224
|
+
readonly name?: string | undefined;
|
|
2225
|
+
readonly encryptionConfig?: {
|
|
2226
|
+
enabled: boolean;
|
|
2227
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
2228
|
+
keyManagement: {
|
|
2229
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
2230
|
+
keyId?: string | undefined;
|
|
2231
|
+
rotationPolicy?: {
|
|
2232
|
+
enabled: boolean;
|
|
2233
|
+
frequencyDays: number;
|
|
2234
|
+
retainOldVersions: number;
|
|
2235
|
+
autoRotate: boolean;
|
|
2236
|
+
} | undefined;
|
|
2237
|
+
};
|
|
2238
|
+
scope: "table" | "record" | "field" | "database";
|
|
2239
|
+
deterministicEncryption: boolean;
|
|
2240
|
+
searchableEncryption: boolean;
|
|
2241
|
+
} | undefined;
|
|
2242
|
+
readonly label?: string | undefined;
|
|
2243
|
+
readonly precision?: number | undefined;
|
|
2244
|
+
readonly description?: string | undefined;
|
|
2245
|
+
readonly columnName?: string | undefined;
|
|
2246
|
+
readonly required?: boolean | undefined;
|
|
2247
|
+
readonly searchable?: boolean | undefined;
|
|
2248
|
+
readonly multiple?: boolean | undefined;
|
|
2249
|
+
readonly unique?: boolean | undefined;
|
|
2250
|
+
readonly maxLength?: number | undefined;
|
|
2251
|
+
readonly minLength?: number | undefined;
|
|
2252
|
+
readonly scale?: number | undefined;
|
|
2253
|
+
readonly options?: {
|
|
2254
|
+
label: string;
|
|
2255
|
+
value: string;
|
|
2256
|
+
color?: string | undefined;
|
|
2257
|
+
default?: boolean | undefined;
|
|
2258
|
+
}[] | undefined;
|
|
2259
|
+
readonly reference?: string | undefined;
|
|
2260
|
+
readonly referenceFilters?: string[] | undefined;
|
|
2261
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
2262
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
2263
|
+
readonly summaryOperations?: {
|
|
2264
|
+
object: string;
|
|
2265
|
+
field: string;
|
|
2266
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
2267
|
+
} | undefined;
|
|
2268
|
+
readonly language?: string | undefined;
|
|
2269
|
+
readonly theme?: string | undefined;
|
|
2270
|
+
readonly lineNumbers?: boolean | undefined;
|
|
2271
|
+
readonly maxRating?: number | undefined;
|
|
2272
|
+
readonly allowHalf?: boolean | undefined;
|
|
2273
|
+
readonly displayMap?: boolean | undefined;
|
|
2274
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
2275
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
2276
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
2277
|
+
readonly allowAlpha?: boolean | undefined;
|
|
2278
|
+
readonly presetColors?: string[] | undefined;
|
|
2279
|
+
readonly step?: number | undefined;
|
|
2280
|
+
readonly showValue?: boolean | undefined;
|
|
2281
|
+
readonly marks?: Record<string, string> | undefined;
|
|
2282
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
2283
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
2284
|
+
readonly displayValue?: boolean | undefined;
|
|
2285
|
+
readonly allowScanning?: boolean | undefined;
|
|
2286
|
+
readonly currencyConfig?: {
|
|
2287
|
+
precision: number;
|
|
2288
|
+
currencyMode: "dynamic" | "fixed";
|
|
2289
|
+
defaultCurrency: string;
|
|
2290
|
+
} | undefined;
|
|
2291
|
+
readonly vectorConfig?: {
|
|
2292
|
+
dimensions: number;
|
|
2293
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
2294
|
+
normalized: boolean;
|
|
2295
|
+
indexed: boolean;
|
|
2296
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
2297
|
+
} | undefined;
|
|
2298
|
+
readonly fileAttachmentConfig?: {
|
|
2299
|
+
virusScan: boolean;
|
|
2300
|
+
virusScanOnUpload: boolean;
|
|
2301
|
+
quarantineOnThreat: boolean;
|
|
2302
|
+
allowMultiple: boolean;
|
|
2303
|
+
allowReplace: boolean;
|
|
2304
|
+
allowDelete: boolean;
|
|
2305
|
+
requireUpload: boolean;
|
|
2306
|
+
extractMetadata: boolean;
|
|
2307
|
+
extractText: boolean;
|
|
2308
|
+
versioningEnabled: boolean;
|
|
2309
|
+
publicRead: boolean;
|
|
2310
|
+
presignedUrlExpiry: number;
|
|
2311
|
+
minSize?: number | undefined;
|
|
2312
|
+
maxSize?: number | undefined;
|
|
2313
|
+
allowedTypes?: string[] | undefined;
|
|
2314
|
+
blockedTypes?: string[] | undefined;
|
|
2315
|
+
allowedMimeTypes?: string[] | undefined;
|
|
2316
|
+
blockedMimeTypes?: string[] | undefined;
|
|
2317
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
2318
|
+
storageProvider?: string | undefined;
|
|
2319
|
+
storageBucket?: string | undefined;
|
|
2320
|
+
storagePrefix?: string | undefined;
|
|
2321
|
+
imageValidation?: {
|
|
2322
|
+
generateThumbnails: boolean;
|
|
2323
|
+
preserveMetadata: boolean;
|
|
2324
|
+
autoRotate: boolean;
|
|
2325
|
+
minWidth?: number | undefined;
|
|
2326
|
+
maxWidth?: number | undefined;
|
|
2327
|
+
minHeight?: number | undefined;
|
|
2328
|
+
maxHeight?: number | undefined;
|
|
2329
|
+
aspectRatio?: string | undefined;
|
|
2330
|
+
thumbnailSizes?: {
|
|
2331
|
+
name: string;
|
|
2332
|
+
width: number;
|
|
2333
|
+
height: number;
|
|
2334
|
+
crop: boolean;
|
|
2335
|
+
}[] | undefined;
|
|
2336
|
+
} | undefined;
|
|
2337
|
+
maxVersions?: number | undefined;
|
|
2338
|
+
} | undefined;
|
|
2339
|
+
readonly maskingRule?: {
|
|
2340
|
+
field: string;
|
|
2341
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
2342
|
+
preserveFormat: boolean;
|
|
2343
|
+
preserveLength: boolean;
|
|
2344
|
+
pattern?: string | undefined;
|
|
2345
|
+
roles?: string[] | undefined;
|
|
2346
|
+
exemptRoles?: string[] | undefined;
|
|
2347
|
+
} | undefined;
|
|
2348
|
+
readonly auditTrail?: boolean | undefined;
|
|
2349
|
+
readonly dependencies?: string[] | undefined;
|
|
2350
|
+
readonly cached?: {
|
|
2351
|
+
enabled: boolean;
|
|
2352
|
+
ttl: number;
|
|
2353
|
+
invalidateOn: string[];
|
|
2354
|
+
} | undefined;
|
|
2355
|
+
readonly dataQuality?: {
|
|
2356
|
+
uniqueness: boolean;
|
|
2357
|
+
completeness: number;
|
|
2358
|
+
accuracy?: {
|
|
2359
|
+
source: string;
|
|
2360
|
+
threshold: number;
|
|
2361
|
+
} | undefined;
|
|
2362
|
+
} | undefined;
|
|
2363
|
+
readonly group?: string | undefined;
|
|
2364
|
+
readonly conditionalRequired?: string | undefined;
|
|
2365
|
+
readonly hidden?: boolean | undefined;
|
|
2366
|
+
readonly sortable?: boolean | undefined;
|
|
2367
|
+
readonly inlineHelpText?: string | undefined;
|
|
2368
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
2369
|
+
readonly caseSensitive?: boolean | undefined;
|
|
2370
|
+
readonly autonumberFormat?: string | undefined;
|
|
2371
|
+
readonly index?: boolean | undefined;
|
|
2372
|
+
readonly externalId?: boolean | undefined;
|
|
2373
|
+
readonly type: "text";
|
|
2374
|
+
};
|
|
2375
|
+
readonly conversation_id: {
|
|
2376
|
+
readonly format?: string | undefined;
|
|
2377
|
+
readonly expression?: string | undefined;
|
|
2378
|
+
readonly readonly?: boolean | undefined;
|
|
2379
|
+
readonly defaultValue?: unknown;
|
|
2380
|
+
readonly min?: number | undefined;
|
|
2381
|
+
readonly max?: number | undefined;
|
|
2382
|
+
readonly name?: string | undefined;
|
|
2383
|
+
readonly encryptionConfig?: {
|
|
2384
|
+
enabled: boolean;
|
|
2385
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
2386
|
+
keyManagement: {
|
|
2387
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
2388
|
+
keyId?: string | undefined;
|
|
2389
|
+
rotationPolicy?: {
|
|
2390
|
+
enabled: boolean;
|
|
2391
|
+
frequencyDays: number;
|
|
2392
|
+
retainOldVersions: number;
|
|
2393
|
+
autoRotate: boolean;
|
|
2394
|
+
} | undefined;
|
|
2395
|
+
};
|
|
2396
|
+
scope: "table" | "record" | "field" | "database";
|
|
2397
|
+
deterministicEncryption: boolean;
|
|
2398
|
+
searchableEncryption: boolean;
|
|
2399
|
+
} | undefined;
|
|
2400
|
+
readonly label?: string | undefined;
|
|
2401
|
+
readonly precision?: number | undefined;
|
|
2402
|
+
readonly description?: string | undefined;
|
|
2403
|
+
readonly columnName?: string | undefined;
|
|
2404
|
+
readonly required?: boolean | undefined;
|
|
2405
|
+
readonly searchable?: boolean | undefined;
|
|
2406
|
+
readonly multiple?: boolean | undefined;
|
|
2407
|
+
readonly unique?: boolean | undefined;
|
|
2408
|
+
readonly maxLength?: number | undefined;
|
|
2409
|
+
readonly minLength?: number | undefined;
|
|
2410
|
+
readonly scale?: number | undefined;
|
|
2411
|
+
readonly options?: {
|
|
2412
|
+
label: string;
|
|
2413
|
+
value: string;
|
|
2414
|
+
color?: string | undefined;
|
|
2415
|
+
default?: boolean | undefined;
|
|
2416
|
+
}[] | undefined;
|
|
2417
|
+
readonly reference?: string | undefined;
|
|
2418
|
+
readonly referenceFilters?: string[] | undefined;
|
|
2419
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
2420
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
2421
|
+
readonly summaryOperations?: {
|
|
2422
|
+
object: string;
|
|
2423
|
+
field: string;
|
|
2424
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
2425
|
+
} | undefined;
|
|
2426
|
+
readonly language?: string | undefined;
|
|
2427
|
+
readonly theme?: string | undefined;
|
|
2428
|
+
readonly lineNumbers?: boolean | undefined;
|
|
2429
|
+
readonly maxRating?: number | undefined;
|
|
2430
|
+
readonly allowHalf?: boolean | undefined;
|
|
2431
|
+
readonly displayMap?: boolean | undefined;
|
|
2432
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
2433
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
2434
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
2435
|
+
readonly allowAlpha?: boolean | undefined;
|
|
2436
|
+
readonly presetColors?: string[] | undefined;
|
|
2437
|
+
readonly step?: number | undefined;
|
|
2438
|
+
readonly showValue?: boolean | undefined;
|
|
2439
|
+
readonly marks?: Record<string, string> | undefined;
|
|
2440
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
2441
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
2442
|
+
readonly displayValue?: boolean | undefined;
|
|
2443
|
+
readonly allowScanning?: boolean | undefined;
|
|
2444
|
+
readonly currencyConfig?: {
|
|
2445
|
+
precision: number;
|
|
2446
|
+
currencyMode: "dynamic" | "fixed";
|
|
2447
|
+
defaultCurrency: string;
|
|
2448
|
+
} | undefined;
|
|
2449
|
+
readonly vectorConfig?: {
|
|
2450
|
+
dimensions: number;
|
|
2451
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
2452
|
+
normalized: boolean;
|
|
2453
|
+
indexed: boolean;
|
|
2454
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
2455
|
+
} | undefined;
|
|
2456
|
+
readonly fileAttachmentConfig?: {
|
|
2457
|
+
virusScan: boolean;
|
|
2458
|
+
virusScanOnUpload: boolean;
|
|
2459
|
+
quarantineOnThreat: boolean;
|
|
2460
|
+
allowMultiple: boolean;
|
|
2461
|
+
allowReplace: boolean;
|
|
2462
|
+
allowDelete: boolean;
|
|
2463
|
+
requireUpload: boolean;
|
|
2464
|
+
extractMetadata: boolean;
|
|
2465
|
+
extractText: boolean;
|
|
2466
|
+
versioningEnabled: boolean;
|
|
2467
|
+
publicRead: boolean;
|
|
2468
|
+
presignedUrlExpiry: number;
|
|
2469
|
+
minSize?: number | undefined;
|
|
2470
|
+
maxSize?: number | undefined;
|
|
2471
|
+
allowedTypes?: string[] | undefined;
|
|
2472
|
+
blockedTypes?: string[] | undefined;
|
|
2473
|
+
allowedMimeTypes?: string[] | undefined;
|
|
2474
|
+
blockedMimeTypes?: string[] | undefined;
|
|
2475
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
2476
|
+
storageProvider?: string | undefined;
|
|
2477
|
+
storageBucket?: string | undefined;
|
|
2478
|
+
storagePrefix?: string | undefined;
|
|
2479
|
+
imageValidation?: {
|
|
2480
|
+
generateThumbnails: boolean;
|
|
2481
|
+
preserveMetadata: boolean;
|
|
2482
|
+
autoRotate: boolean;
|
|
2483
|
+
minWidth?: number | undefined;
|
|
2484
|
+
maxWidth?: number | undefined;
|
|
2485
|
+
minHeight?: number | undefined;
|
|
2486
|
+
maxHeight?: number | undefined;
|
|
2487
|
+
aspectRatio?: string | undefined;
|
|
2488
|
+
thumbnailSizes?: {
|
|
2489
|
+
name: string;
|
|
2490
|
+
width: number;
|
|
2491
|
+
height: number;
|
|
2492
|
+
crop: boolean;
|
|
2493
|
+
}[] | undefined;
|
|
2494
|
+
} | undefined;
|
|
2495
|
+
maxVersions?: number | undefined;
|
|
2496
|
+
} | undefined;
|
|
2497
|
+
readonly maskingRule?: {
|
|
2498
|
+
field: string;
|
|
2499
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
2500
|
+
preserveFormat: boolean;
|
|
2501
|
+
preserveLength: boolean;
|
|
2502
|
+
pattern?: string | undefined;
|
|
2503
|
+
roles?: string[] | undefined;
|
|
2504
|
+
exemptRoles?: string[] | undefined;
|
|
2505
|
+
} | undefined;
|
|
2506
|
+
readonly auditTrail?: boolean | undefined;
|
|
2507
|
+
readonly dependencies?: string[] | undefined;
|
|
2508
|
+
readonly cached?: {
|
|
2509
|
+
enabled: boolean;
|
|
2510
|
+
ttl: number;
|
|
2511
|
+
invalidateOn: string[];
|
|
2512
|
+
} | undefined;
|
|
2513
|
+
readonly dataQuality?: {
|
|
2514
|
+
uniqueness: boolean;
|
|
2515
|
+
completeness: number;
|
|
2516
|
+
accuracy?: {
|
|
2517
|
+
source: string;
|
|
2518
|
+
threshold: number;
|
|
2519
|
+
} | undefined;
|
|
2520
|
+
} | undefined;
|
|
2521
|
+
readonly group?: string | undefined;
|
|
2522
|
+
readonly conditionalRequired?: string | undefined;
|
|
2523
|
+
readonly hidden?: boolean | undefined;
|
|
2524
|
+
readonly sortable?: boolean | undefined;
|
|
2525
|
+
readonly inlineHelpText?: string | undefined;
|
|
2526
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
2527
|
+
readonly caseSensitive?: boolean | undefined;
|
|
2528
|
+
readonly autonumberFormat?: string | undefined;
|
|
2529
|
+
readonly index?: boolean | undefined;
|
|
2530
|
+
readonly externalId?: boolean | undefined;
|
|
2531
|
+
readonly type: "text";
|
|
2532
|
+
};
|
|
2533
|
+
readonly role: {
|
|
2534
|
+
readonly format?: string | undefined;
|
|
2535
|
+
readonly expression?: string | undefined;
|
|
2536
|
+
readonly readonly?: boolean | undefined;
|
|
2537
|
+
readonly defaultValue?: unknown;
|
|
2538
|
+
readonly min?: number | undefined;
|
|
2539
|
+
readonly max?: number | undefined;
|
|
2540
|
+
readonly name?: string | undefined;
|
|
2541
|
+
readonly encryptionConfig?: {
|
|
2542
|
+
enabled: boolean;
|
|
2543
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
2544
|
+
keyManagement: {
|
|
2545
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
2546
|
+
keyId?: string | undefined;
|
|
2547
|
+
rotationPolicy?: {
|
|
2548
|
+
enabled: boolean;
|
|
2549
|
+
frequencyDays: number;
|
|
2550
|
+
retainOldVersions: number;
|
|
2551
|
+
autoRotate: boolean;
|
|
2552
|
+
} | undefined;
|
|
2553
|
+
};
|
|
2554
|
+
scope: "table" | "record" | "field" | "database";
|
|
2555
|
+
deterministicEncryption: boolean;
|
|
2556
|
+
searchableEncryption: boolean;
|
|
2557
|
+
} | undefined;
|
|
2558
|
+
readonly label?: string | undefined;
|
|
2559
|
+
readonly precision?: number | undefined;
|
|
2560
|
+
readonly description?: string | undefined;
|
|
2561
|
+
readonly columnName?: string | undefined;
|
|
2562
|
+
readonly required?: boolean | undefined;
|
|
2563
|
+
readonly searchable?: boolean | undefined;
|
|
2564
|
+
readonly multiple?: boolean | undefined;
|
|
2565
|
+
readonly unique?: boolean | undefined;
|
|
2566
|
+
readonly maxLength?: number | undefined;
|
|
2567
|
+
readonly minLength?: number | undefined;
|
|
2568
|
+
readonly scale?: number | undefined;
|
|
2569
|
+
options: {
|
|
2570
|
+
label: string;
|
|
2571
|
+
value: string;
|
|
2572
|
+
color?: string | undefined;
|
|
2573
|
+
default?: boolean | undefined;
|
|
2574
|
+
}[];
|
|
2575
|
+
readonly reference?: string | undefined;
|
|
2576
|
+
readonly referenceFilters?: string[] | undefined;
|
|
2577
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
2578
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
2579
|
+
readonly summaryOperations?: {
|
|
2580
|
+
object: string;
|
|
2581
|
+
field: string;
|
|
2582
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
2583
|
+
} | undefined;
|
|
2584
|
+
readonly language?: string | undefined;
|
|
2585
|
+
readonly theme?: string | undefined;
|
|
2586
|
+
readonly lineNumbers?: boolean | undefined;
|
|
2587
|
+
readonly maxRating?: number | undefined;
|
|
2588
|
+
readonly allowHalf?: boolean | undefined;
|
|
2589
|
+
readonly displayMap?: boolean | undefined;
|
|
2590
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
2591
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
2592
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
2593
|
+
readonly allowAlpha?: boolean | undefined;
|
|
2594
|
+
readonly presetColors?: string[] | undefined;
|
|
2595
|
+
readonly step?: number | undefined;
|
|
2596
|
+
readonly showValue?: boolean | undefined;
|
|
2597
|
+
readonly marks?: Record<string, string> | undefined;
|
|
2598
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
2599
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
2600
|
+
readonly displayValue?: boolean | undefined;
|
|
2601
|
+
readonly allowScanning?: boolean | undefined;
|
|
2602
|
+
readonly currencyConfig?: {
|
|
2603
|
+
precision: number;
|
|
2604
|
+
currencyMode: "dynamic" | "fixed";
|
|
2605
|
+
defaultCurrency: string;
|
|
2606
|
+
} | undefined;
|
|
2607
|
+
readonly vectorConfig?: {
|
|
2608
|
+
dimensions: number;
|
|
2609
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
2610
|
+
normalized: boolean;
|
|
2611
|
+
indexed: boolean;
|
|
2612
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
2613
|
+
} | undefined;
|
|
2614
|
+
readonly fileAttachmentConfig?: {
|
|
2615
|
+
virusScan: boolean;
|
|
2616
|
+
virusScanOnUpload: boolean;
|
|
2617
|
+
quarantineOnThreat: boolean;
|
|
2618
|
+
allowMultiple: boolean;
|
|
2619
|
+
allowReplace: boolean;
|
|
2620
|
+
allowDelete: boolean;
|
|
2621
|
+
requireUpload: boolean;
|
|
2622
|
+
extractMetadata: boolean;
|
|
2623
|
+
extractText: boolean;
|
|
2624
|
+
versioningEnabled: boolean;
|
|
2625
|
+
publicRead: boolean;
|
|
2626
|
+
presignedUrlExpiry: number;
|
|
2627
|
+
minSize?: number | undefined;
|
|
2628
|
+
maxSize?: number | undefined;
|
|
2629
|
+
allowedTypes?: string[] | undefined;
|
|
2630
|
+
blockedTypes?: string[] | undefined;
|
|
2631
|
+
allowedMimeTypes?: string[] | undefined;
|
|
2632
|
+
blockedMimeTypes?: string[] | undefined;
|
|
2633
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
2634
|
+
storageProvider?: string | undefined;
|
|
2635
|
+
storageBucket?: string | undefined;
|
|
2636
|
+
storagePrefix?: string | undefined;
|
|
2637
|
+
imageValidation?: {
|
|
2638
|
+
generateThumbnails: boolean;
|
|
2639
|
+
preserveMetadata: boolean;
|
|
2640
|
+
autoRotate: boolean;
|
|
2641
|
+
minWidth?: number | undefined;
|
|
2642
|
+
maxWidth?: number | undefined;
|
|
2643
|
+
minHeight?: number | undefined;
|
|
2644
|
+
maxHeight?: number | undefined;
|
|
2645
|
+
aspectRatio?: string | undefined;
|
|
2646
|
+
thumbnailSizes?: {
|
|
2647
|
+
name: string;
|
|
2648
|
+
width: number;
|
|
2649
|
+
height: number;
|
|
2650
|
+
crop: boolean;
|
|
2651
|
+
}[] | undefined;
|
|
2652
|
+
} | undefined;
|
|
2653
|
+
maxVersions?: number | undefined;
|
|
2654
|
+
} | undefined;
|
|
2655
|
+
readonly maskingRule?: {
|
|
2656
|
+
field: string;
|
|
2657
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
2658
|
+
preserveFormat: boolean;
|
|
2659
|
+
preserveLength: boolean;
|
|
2660
|
+
pattern?: string | undefined;
|
|
2661
|
+
roles?: string[] | undefined;
|
|
2662
|
+
exemptRoles?: string[] | undefined;
|
|
2663
|
+
} | undefined;
|
|
2664
|
+
readonly auditTrail?: boolean | undefined;
|
|
2665
|
+
readonly dependencies?: string[] | undefined;
|
|
2666
|
+
readonly cached?: {
|
|
2667
|
+
enabled: boolean;
|
|
2668
|
+
ttl: number;
|
|
2669
|
+
invalidateOn: string[];
|
|
2670
|
+
} | undefined;
|
|
2671
|
+
readonly dataQuality?: {
|
|
2672
|
+
uniqueness: boolean;
|
|
2673
|
+
completeness: number;
|
|
2674
|
+
accuracy?: {
|
|
2675
|
+
source: string;
|
|
2676
|
+
threshold: number;
|
|
2677
|
+
} | undefined;
|
|
2678
|
+
} | undefined;
|
|
2679
|
+
readonly group?: string | undefined;
|
|
2680
|
+
readonly conditionalRequired?: string | undefined;
|
|
2681
|
+
readonly hidden?: boolean | undefined;
|
|
2682
|
+
readonly sortable?: boolean | undefined;
|
|
2683
|
+
readonly inlineHelpText?: string | undefined;
|
|
2684
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
2685
|
+
readonly caseSensitive?: boolean | undefined;
|
|
2686
|
+
readonly autonumberFormat?: string | undefined;
|
|
2687
|
+
readonly index?: boolean | undefined;
|
|
2688
|
+
readonly externalId?: boolean | undefined;
|
|
2689
|
+
readonly type: "select";
|
|
2690
|
+
};
|
|
2691
|
+
readonly content: {
|
|
2692
|
+
readonly format?: string | undefined;
|
|
2693
|
+
readonly expression?: string | undefined;
|
|
2694
|
+
readonly readonly?: boolean | undefined;
|
|
2695
|
+
readonly defaultValue?: unknown;
|
|
2696
|
+
readonly min?: number | undefined;
|
|
2697
|
+
readonly max?: number | undefined;
|
|
2698
|
+
readonly name?: string | undefined;
|
|
2699
|
+
readonly encryptionConfig?: {
|
|
2700
|
+
enabled: boolean;
|
|
2701
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
2702
|
+
keyManagement: {
|
|
2703
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
2704
|
+
keyId?: string | undefined;
|
|
2705
|
+
rotationPolicy?: {
|
|
2706
|
+
enabled: boolean;
|
|
2707
|
+
frequencyDays: number;
|
|
2708
|
+
retainOldVersions: number;
|
|
2709
|
+
autoRotate: boolean;
|
|
2710
|
+
} | undefined;
|
|
2711
|
+
};
|
|
2712
|
+
scope: "table" | "record" | "field" | "database";
|
|
2713
|
+
deterministicEncryption: boolean;
|
|
2714
|
+
searchableEncryption: boolean;
|
|
2715
|
+
} | undefined;
|
|
2716
|
+
readonly label?: string | undefined;
|
|
2717
|
+
readonly precision?: number | undefined;
|
|
2718
|
+
readonly description?: string | undefined;
|
|
2719
|
+
readonly columnName?: string | undefined;
|
|
2720
|
+
readonly required?: boolean | undefined;
|
|
2721
|
+
readonly searchable?: boolean | undefined;
|
|
2722
|
+
readonly multiple?: boolean | undefined;
|
|
2723
|
+
readonly unique?: boolean | undefined;
|
|
2724
|
+
readonly maxLength?: number | undefined;
|
|
2725
|
+
readonly minLength?: number | undefined;
|
|
2726
|
+
readonly scale?: number | undefined;
|
|
2727
|
+
readonly options?: {
|
|
2728
|
+
label: string;
|
|
2729
|
+
value: string;
|
|
2730
|
+
color?: string | undefined;
|
|
2731
|
+
default?: boolean | undefined;
|
|
2732
|
+
}[] | undefined;
|
|
2733
|
+
readonly reference?: string | undefined;
|
|
2734
|
+
readonly referenceFilters?: string[] | undefined;
|
|
2735
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
2736
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
2737
|
+
readonly summaryOperations?: {
|
|
2738
|
+
object: string;
|
|
2739
|
+
field: string;
|
|
2740
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
2741
|
+
} | undefined;
|
|
2742
|
+
readonly language?: string | undefined;
|
|
2743
|
+
readonly theme?: string | undefined;
|
|
2744
|
+
readonly lineNumbers?: boolean | undefined;
|
|
2745
|
+
readonly maxRating?: number | undefined;
|
|
2746
|
+
readonly allowHalf?: boolean | undefined;
|
|
2747
|
+
readonly displayMap?: boolean | undefined;
|
|
2748
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
2749
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
2750
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
2751
|
+
readonly allowAlpha?: boolean | undefined;
|
|
2752
|
+
readonly presetColors?: string[] | undefined;
|
|
2753
|
+
readonly step?: number | undefined;
|
|
2754
|
+
readonly showValue?: boolean | undefined;
|
|
2755
|
+
readonly marks?: Record<string, string> | undefined;
|
|
2756
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
2757
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
2758
|
+
readonly displayValue?: boolean | undefined;
|
|
2759
|
+
readonly allowScanning?: boolean | undefined;
|
|
2760
|
+
readonly currencyConfig?: {
|
|
2761
|
+
precision: number;
|
|
2762
|
+
currencyMode: "dynamic" | "fixed";
|
|
2763
|
+
defaultCurrency: string;
|
|
2764
|
+
} | undefined;
|
|
2765
|
+
readonly vectorConfig?: {
|
|
2766
|
+
dimensions: number;
|
|
2767
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
2768
|
+
normalized: boolean;
|
|
2769
|
+
indexed: boolean;
|
|
2770
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
2771
|
+
} | undefined;
|
|
2772
|
+
readonly fileAttachmentConfig?: {
|
|
2773
|
+
virusScan: boolean;
|
|
2774
|
+
virusScanOnUpload: boolean;
|
|
2775
|
+
quarantineOnThreat: boolean;
|
|
2776
|
+
allowMultiple: boolean;
|
|
2777
|
+
allowReplace: boolean;
|
|
2778
|
+
allowDelete: boolean;
|
|
2779
|
+
requireUpload: boolean;
|
|
2780
|
+
extractMetadata: boolean;
|
|
2781
|
+
extractText: boolean;
|
|
2782
|
+
versioningEnabled: boolean;
|
|
2783
|
+
publicRead: boolean;
|
|
2784
|
+
presignedUrlExpiry: number;
|
|
2785
|
+
minSize?: number | undefined;
|
|
2786
|
+
maxSize?: number | undefined;
|
|
2787
|
+
allowedTypes?: string[] | undefined;
|
|
2788
|
+
blockedTypes?: string[] | undefined;
|
|
2789
|
+
allowedMimeTypes?: string[] | undefined;
|
|
2790
|
+
blockedMimeTypes?: string[] | undefined;
|
|
2791
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
2792
|
+
storageProvider?: string | undefined;
|
|
2793
|
+
storageBucket?: string | undefined;
|
|
2794
|
+
storagePrefix?: string | undefined;
|
|
2795
|
+
imageValidation?: {
|
|
2796
|
+
generateThumbnails: boolean;
|
|
2797
|
+
preserveMetadata: boolean;
|
|
2798
|
+
autoRotate: boolean;
|
|
2799
|
+
minWidth?: number | undefined;
|
|
2800
|
+
maxWidth?: number | undefined;
|
|
2801
|
+
minHeight?: number | undefined;
|
|
2802
|
+
maxHeight?: number | undefined;
|
|
2803
|
+
aspectRatio?: string | undefined;
|
|
2804
|
+
thumbnailSizes?: {
|
|
2805
|
+
name: string;
|
|
2806
|
+
width: number;
|
|
2807
|
+
height: number;
|
|
2808
|
+
crop: boolean;
|
|
2809
|
+
}[] | undefined;
|
|
2810
|
+
} | undefined;
|
|
2811
|
+
maxVersions?: number | undefined;
|
|
2812
|
+
} | undefined;
|
|
2813
|
+
readonly maskingRule?: {
|
|
2814
|
+
field: string;
|
|
2815
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
2816
|
+
preserveFormat: boolean;
|
|
2817
|
+
preserveLength: boolean;
|
|
2818
|
+
pattern?: string | undefined;
|
|
2819
|
+
roles?: string[] | undefined;
|
|
2820
|
+
exemptRoles?: string[] | undefined;
|
|
2821
|
+
} | undefined;
|
|
2822
|
+
readonly auditTrail?: boolean | undefined;
|
|
2823
|
+
readonly dependencies?: string[] | undefined;
|
|
2824
|
+
readonly cached?: {
|
|
2825
|
+
enabled: boolean;
|
|
2826
|
+
ttl: number;
|
|
2827
|
+
invalidateOn: string[];
|
|
2828
|
+
} | undefined;
|
|
2829
|
+
readonly dataQuality?: {
|
|
2830
|
+
uniqueness: boolean;
|
|
2831
|
+
completeness: number;
|
|
2832
|
+
accuracy?: {
|
|
2833
|
+
source: string;
|
|
2834
|
+
threshold: number;
|
|
2835
|
+
} | undefined;
|
|
2836
|
+
} | undefined;
|
|
2837
|
+
readonly group?: string | undefined;
|
|
2838
|
+
readonly conditionalRequired?: string | undefined;
|
|
2839
|
+
readonly hidden?: boolean | undefined;
|
|
2840
|
+
readonly sortable?: boolean | undefined;
|
|
2841
|
+
readonly inlineHelpText?: string | undefined;
|
|
2842
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
2843
|
+
readonly caseSensitive?: boolean | undefined;
|
|
2844
|
+
readonly autonumberFormat?: string | undefined;
|
|
2845
|
+
readonly index?: boolean | undefined;
|
|
2846
|
+
readonly externalId?: boolean | undefined;
|
|
2847
|
+
readonly type: "textarea";
|
|
2848
|
+
};
|
|
2849
|
+
readonly tool_calls: {
|
|
2850
|
+
readonly format?: string | undefined;
|
|
2851
|
+
readonly expression?: string | undefined;
|
|
2852
|
+
readonly readonly?: boolean | undefined;
|
|
2853
|
+
readonly defaultValue?: unknown;
|
|
2854
|
+
readonly min?: number | undefined;
|
|
2855
|
+
readonly max?: number | undefined;
|
|
2856
|
+
readonly name?: string | undefined;
|
|
2857
|
+
readonly encryptionConfig?: {
|
|
2858
|
+
enabled: boolean;
|
|
2859
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
2860
|
+
keyManagement: {
|
|
2861
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
2862
|
+
keyId?: string | undefined;
|
|
2863
|
+
rotationPolicy?: {
|
|
2864
|
+
enabled: boolean;
|
|
2865
|
+
frequencyDays: number;
|
|
2866
|
+
retainOldVersions: number;
|
|
2867
|
+
autoRotate: boolean;
|
|
2868
|
+
} | undefined;
|
|
2869
|
+
};
|
|
2870
|
+
scope: "table" | "record" | "field" | "database";
|
|
2871
|
+
deterministicEncryption: boolean;
|
|
2872
|
+
searchableEncryption: boolean;
|
|
2873
|
+
} | undefined;
|
|
2874
|
+
readonly label?: string | undefined;
|
|
2875
|
+
readonly precision?: number | undefined;
|
|
2876
|
+
readonly description?: string | undefined;
|
|
2877
|
+
readonly columnName?: string | undefined;
|
|
2878
|
+
readonly required?: boolean | undefined;
|
|
2879
|
+
readonly searchable?: boolean | undefined;
|
|
2880
|
+
readonly multiple?: boolean | undefined;
|
|
2881
|
+
readonly unique?: boolean | undefined;
|
|
2882
|
+
readonly maxLength?: number | undefined;
|
|
2883
|
+
readonly minLength?: number | undefined;
|
|
2884
|
+
readonly scale?: number | undefined;
|
|
2885
|
+
readonly options?: {
|
|
2886
|
+
label: string;
|
|
2887
|
+
value: string;
|
|
2888
|
+
color?: string | undefined;
|
|
2889
|
+
default?: boolean | undefined;
|
|
2890
|
+
}[] | undefined;
|
|
2891
|
+
readonly reference?: string | undefined;
|
|
2892
|
+
readonly referenceFilters?: string[] | undefined;
|
|
2893
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
2894
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
2895
|
+
readonly summaryOperations?: {
|
|
2896
|
+
object: string;
|
|
2897
|
+
field: string;
|
|
2898
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
2899
|
+
} | undefined;
|
|
2900
|
+
readonly language?: string | undefined;
|
|
2901
|
+
readonly theme?: string | undefined;
|
|
2902
|
+
readonly lineNumbers?: boolean | undefined;
|
|
2903
|
+
readonly maxRating?: number | undefined;
|
|
2904
|
+
readonly allowHalf?: boolean | undefined;
|
|
2905
|
+
readonly displayMap?: boolean | undefined;
|
|
2906
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
2907
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
2908
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
2909
|
+
readonly allowAlpha?: boolean | undefined;
|
|
2910
|
+
readonly presetColors?: string[] | undefined;
|
|
2911
|
+
readonly step?: number | undefined;
|
|
2912
|
+
readonly showValue?: boolean | undefined;
|
|
2913
|
+
readonly marks?: Record<string, string> | undefined;
|
|
2914
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
2915
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
2916
|
+
readonly displayValue?: boolean | undefined;
|
|
2917
|
+
readonly allowScanning?: boolean | undefined;
|
|
2918
|
+
readonly currencyConfig?: {
|
|
2919
|
+
precision: number;
|
|
2920
|
+
currencyMode: "dynamic" | "fixed";
|
|
2921
|
+
defaultCurrency: string;
|
|
2922
|
+
} | undefined;
|
|
2923
|
+
readonly vectorConfig?: {
|
|
2924
|
+
dimensions: number;
|
|
2925
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
2926
|
+
normalized: boolean;
|
|
2927
|
+
indexed: boolean;
|
|
2928
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
2929
|
+
} | undefined;
|
|
2930
|
+
readonly fileAttachmentConfig?: {
|
|
2931
|
+
virusScan: boolean;
|
|
2932
|
+
virusScanOnUpload: boolean;
|
|
2933
|
+
quarantineOnThreat: boolean;
|
|
2934
|
+
allowMultiple: boolean;
|
|
2935
|
+
allowReplace: boolean;
|
|
2936
|
+
allowDelete: boolean;
|
|
2937
|
+
requireUpload: boolean;
|
|
2938
|
+
extractMetadata: boolean;
|
|
2939
|
+
extractText: boolean;
|
|
2940
|
+
versioningEnabled: boolean;
|
|
2941
|
+
publicRead: boolean;
|
|
2942
|
+
presignedUrlExpiry: number;
|
|
2943
|
+
minSize?: number | undefined;
|
|
2944
|
+
maxSize?: number | undefined;
|
|
2945
|
+
allowedTypes?: string[] | undefined;
|
|
2946
|
+
blockedTypes?: string[] | undefined;
|
|
2947
|
+
allowedMimeTypes?: string[] | undefined;
|
|
2948
|
+
blockedMimeTypes?: string[] | undefined;
|
|
2949
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
2950
|
+
storageProvider?: string | undefined;
|
|
2951
|
+
storageBucket?: string | undefined;
|
|
2952
|
+
storagePrefix?: string | undefined;
|
|
2953
|
+
imageValidation?: {
|
|
2954
|
+
generateThumbnails: boolean;
|
|
2955
|
+
preserveMetadata: boolean;
|
|
2956
|
+
autoRotate: boolean;
|
|
2957
|
+
minWidth?: number | undefined;
|
|
2958
|
+
maxWidth?: number | undefined;
|
|
2959
|
+
minHeight?: number | undefined;
|
|
2960
|
+
maxHeight?: number | undefined;
|
|
2961
|
+
aspectRatio?: string | undefined;
|
|
2962
|
+
thumbnailSizes?: {
|
|
2963
|
+
name: string;
|
|
2964
|
+
width: number;
|
|
2965
|
+
height: number;
|
|
2966
|
+
crop: boolean;
|
|
2967
|
+
}[] | undefined;
|
|
2968
|
+
} | undefined;
|
|
2969
|
+
maxVersions?: number | undefined;
|
|
2970
|
+
} | undefined;
|
|
2971
|
+
readonly maskingRule?: {
|
|
2972
|
+
field: string;
|
|
2973
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
2974
|
+
preserveFormat: boolean;
|
|
2975
|
+
preserveLength: boolean;
|
|
2976
|
+
pattern?: string | undefined;
|
|
2977
|
+
roles?: string[] | undefined;
|
|
2978
|
+
exemptRoles?: string[] | undefined;
|
|
2979
|
+
} | undefined;
|
|
2980
|
+
readonly auditTrail?: boolean | undefined;
|
|
2981
|
+
readonly dependencies?: string[] | undefined;
|
|
2982
|
+
readonly cached?: {
|
|
2983
|
+
enabled: boolean;
|
|
2984
|
+
ttl: number;
|
|
2985
|
+
invalidateOn: string[];
|
|
2986
|
+
} | undefined;
|
|
2987
|
+
readonly dataQuality?: {
|
|
2988
|
+
uniqueness: boolean;
|
|
2989
|
+
completeness: number;
|
|
2990
|
+
accuracy?: {
|
|
2991
|
+
source: string;
|
|
2992
|
+
threshold: number;
|
|
2993
|
+
} | undefined;
|
|
2994
|
+
} | undefined;
|
|
2995
|
+
readonly group?: string | undefined;
|
|
2996
|
+
readonly conditionalRequired?: string | undefined;
|
|
2997
|
+
readonly hidden?: boolean | undefined;
|
|
2998
|
+
readonly sortable?: boolean | undefined;
|
|
2999
|
+
readonly inlineHelpText?: string | undefined;
|
|
3000
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
3001
|
+
readonly caseSensitive?: boolean | undefined;
|
|
3002
|
+
readonly autonumberFormat?: string | undefined;
|
|
3003
|
+
readonly index?: boolean | undefined;
|
|
3004
|
+
readonly externalId?: boolean | undefined;
|
|
3005
|
+
readonly type: "textarea";
|
|
3006
|
+
};
|
|
3007
|
+
readonly tool_call_id: {
|
|
3008
|
+
readonly format?: string | undefined;
|
|
3009
|
+
readonly expression?: string | undefined;
|
|
3010
|
+
readonly readonly?: boolean | undefined;
|
|
3011
|
+
readonly defaultValue?: unknown;
|
|
3012
|
+
readonly min?: number | undefined;
|
|
3013
|
+
readonly max?: number | undefined;
|
|
3014
|
+
readonly name?: string | undefined;
|
|
3015
|
+
readonly encryptionConfig?: {
|
|
3016
|
+
enabled: boolean;
|
|
3017
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
3018
|
+
keyManagement: {
|
|
3019
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
3020
|
+
keyId?: string | undefined;
|
|
3021
|
+
rotationPolicy?: {
|
|
3022
|
+
enabled: boolean;
|
|
3023
|
+
frequencyDays: number;
|
|
3024
|
+
retainOldVersions: number;
|
|
3025
|
+
autoRotate: boolean;
|
|
3026
|
+
} | undefined;
|
|
3027
|
+
};
|
|
3028
|
+
scope: "table" | "record" | "field" | "database";
|
|
3029
|
+
deterministicEncryption: boolean;
|
|
3030
|
+
searchableEncryption: boolean;
|
|
3031
|
+
} | undefined;
|
|
3032
|
+
readonly label?: string | undefined;
|
|
3033
|
+
readonly precision?: number | undefined;
|
|
3034
|
+
readonly description?: string | undefined;
|
|
3035
|
+
readonly columnName?: string | undefined;
|
|
3036
|
+
readonly required?: boolean | undefined;
|
|
3037
|
+
readonly searchable?: boolean | undefined;
|
|
3038
|
+
readonly multiple?: boolean | undefined;
|
|
3039
|
+
readonly unique?: boolean | undefined;
|
|
3040
|
+
readonly maxLength?: number | undefined;
|
|
3041
|
+
readonly minLength?: number | undefined;
|
|
3042
|
+
readonly scale?: number | undefined;
|
|
3043
|
+
readonly options?: {
|
|
3044
|
+
label: string;
|
|
3045
|
+
value: string;
|
|
3046
|
+
color?: string | undefined;
|
|
3047
|
+
default?: boolean | undefined;
|
|
3048
|
+
}[] | undefined;
|
|
3049
|
+
readonly reference?: string | undefined;
|
|
3050
|
+
readonly referenceFilters?: string[] | undefined;
|
|
3051
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
3052
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
3053
|
+
readonly summaryOperations?: {
|
|
3054
|
+
object: string;
|
|
3055
|
+
field: string;
|
|
3056
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
3057
|
+
} | undefined;
|
|
3058
|
+
readonly language?: string | undefined;
|
|
3059
|
+
readonly theme?: string | undefined;
|
|
3060
|
+
readonly lineNumbers?: boolean | undefined;
|
|
3061
|
+
readonly maxRating?: number | undefined;
|
|
3062
|
+
readonly allowHalf?: boolean | undefined;
|
|
3063
|
+
readonly displayMap?: boolean | undefined;
|
|
3064
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
3065
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
3066
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
3067
|
+
readonly allowAlpha?: boolean | undefined;
|
|
3068
|
+
readonly presetColors?: string[] | undefined;
|
|
3069
|
+
readonly step?: number | undefined;
|
|
3070
|
+
readonly showValue?: boolean | undefined;
|
|
3071
|
+
readonly marks?: Record<string, string> | undefined;
|
|
3072
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
3073
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
3074
|
+
readonly displayValue?: boolean | undefined;
|
|
3075
|
+
readonly allowScanning?: boolean | undefined;
|
|
3076
|
+
readonly currencyConfig?: {
|
|
3077
|
+
precision: number;
|
|
3078
|
+
currencyMode: "dynamic" | "fixed";
|
|
3079
|
+
defaultCurrency: string;
|
|
3080
|
+
} | undefined;
|
|
3081
|
+
readonly vectorConfig?: {
|
|
3082
|
+
dimensions: number;
|
|
3083
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
3084
|
+
normalized: boolean;
|
|
3085
|
+
indexed: boolean;
|
|
3086
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
3087
|
+
} | undefined;
|
|
3088
|
+
readonly fileAttachmentConfig?: {
|
|
3089
|
+
virusScan: boolean;
|
|
3090
|
+
virusScanOnUpload: boolean;
|
|
3091
|
+
quarantineOnThreat: boolean;
|
|
3092
|
+
allowMultiple: boolean;
|
|
3093
|
+
allowReplace: boolean;
|
|
3094
|
+
allowDelete: boolean;
|
|
3095
|
+
requireUpload: boolean;
|
|
3096
|
+
extractMetadata: boolean;
|
|
3097
|
+
extractText: boolean;
|
|
3098
|
+
versioningEnabled: boolean;
|
|
3099
|
+
publicRead: boolean;
|
|
3100
|
+
presignedUrlExpiry: number;
|
|
3101
|
+
minSize?: number | undefined;
|
|
3102
|
+
maxSize?: number | undefined;
|
|
3103
|
+
allowedTypes?: string[] | undefined;
|
|
3104
|
+
blockedTypes?: string[] | undefined;
|
|
3105
|
+
allowedMimeTypes?: string[] | undefined;
|
|
3106
|
+
blockedMimeTypes?: string[] | undefined;
|
|
3107
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
3108
|
+
storageProvider?: string | undefined;
|
|
3109
|
+
storageBucket?: string | undefined;
|
|
3110
|
+
storagePrefix?: string | undefined;
|
|
3111
|
+
imageValidation?: {
|
|
3112
|
+
generateThumbnails: boolean;
|
|
3113
|
+
preserveMetadata: boolean;
|
|
3114
|
+
autoRotate: boolean;
|
|
3115
|
+
minWidth?: number | undefined;
|
|
3116
|
+
maxWidth?: number | undefined;
|
|
3117
|
+
minHeight?: number | undefined;
|
|
3118
|
+
maxHeight?: number | undefined;
|
|
3119
|
+
aspectRatio?: string | undefined;
|
|
3120
|
+
thumbnailSizes?: {
|
|
3121
|
+
name: string;
|
|
3122
|
+
width: number;
|
|
3123
|
+
height: number;
|
|
3124
|
+
crop: boolean;
|
|
3125
|
+
}[] | undefined;
|
|
3126
|
+
} | undefined;
|
|
3127
|
+
maxVersions?: number | undefined;
|
|
3128
|
+
} | undefined;
|
|
3129
|
+
readonly maskingRule?: {
|
|
3130
|
+
field: string;
|
|
3131
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
3132
|
+
preserveFormat: boolean;
|
|
3133
|
+
preserveLength: boolean;
|
|
3134
|
+
pattern?: string | undefined;
|
|
3135
|
+
roles?: string[] | undefined;
|
|
3136
|
+
exemptRoles?: string[] | undefined;
|
|
3137
|
+
} | undefined;
|
|
3138
|
+
readonly auditTrail?: boolean | undefined;
|
|
3139
|
+
readonly dependencies?: string[] | undefined;
|
|
3140
|
+
readonly cached?: {
|
|
3141
|
+
enabled: boolean;
|
|
3142
|
+
ttl: number;
|
|
3143
|
+
invalidateOn: string[];
|
|
3144
|
+
} | undefined;
|
|
3145
|
+
readonly dataQuality?: {
|
|
3146
|
+
uniqueness: boolean;
|
|
3147
|
+
completeness: number;
|
|
3148
|
+
accuracy?: {
|
|
3149
|
+
source: string;
|
|
3150
|
+
threshold: number;
|
|
3151
|
+
} | undefined;
|
|
3152
|
+
} | undefined;
|
|
3153
|
+
readonly group?: string | undefined;
|
|
3154
|
+
readonly conditionalRequired?: string | undefined;
|
|
3155
|
+
readonly hidden?: boolean | undefined;
|
|
3156
|
+
readonly sortable?: boolean | undefined;
|
|
3157
|
+
readonly inlineHelpText?: string | undefined;
|
|
3158
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
3159
|
+
readonly caseSensitive?: boolean | undefined;
|
|
3160
|
+
readonly autonumberFormat?: string | undefined;
|
|
3161
|
+
readonly index?: boolean | undefined;
|
|
3162
|
+
readonly externalId?: boolean | undefined;
|
|
3163
|
+
readonly type: "text";
|
|
3164
|
+
};
|
|
3165
|
+
readonly created_at: {
|
|
3166
|
+
readonly format?: string | undefined;
|
|
3167
|
+
readonly expression?: string | undefined;
|
|
3168
|
+
readonly readonly?: boolean | undefined;
|
|
3169
|
+
readonly defaultValue?: unknown;
|
|
3170
|
+
readonly min?: number | undefined;
|
|
3171
|
+
readonly max?: number | undefined;
|
|
3172
|
+
readonly name?: string | undefined;
|
|
3173
|
+
readonly encryptionConfig?: {
|
|
3174
|
+
enabled: boolean;
|
|
3175
|
+
algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
|
|
3176
|
+
keyManagement: {
|
|
3177
|
+
provider: "local" | "aws-kms" | "azure-key-vault" | "gcp-kms" | "hashicorp-vault";
|
|
3178
|
+
keyId?: string | undefined;
|
|
3179
|
+
rotationPolicy?: {
|
|
3180
|
+
enabled: boolean;
|
|
3181
|
+
frequencyDays: number;
|
|
3182
|
+
retainOldVersions: number;
|
|
3183
|
+
autoRotate: boolean;
|
|
3184
|
+
} | undefined;
|
|
3185
|
+
};
|
|
3186
|
+
scope: "table" | "record" | "field" | "database";
|
|
3187
|
+
deterministicEncryption: boolean;
|
|
3188
|
+
searchableEncryption: boolean;
|
|
3189
|
+
} | undefined;
|
|
3190
|
+
readonly label?: string | undefined;
|
|
3191
|
+
readonly precision?: number | undefined;
|
|
3192
|
+
readonly description?: string | undefined;
|
|
3193
|
+
readonly columnName?: string | undefined;
|
|
3194
|
+
readonly required?: boolean | undefined;
|
|
3195
|
+
readonly searchable?: boolean | undefined;
|
|
3196
|
+
readonly multiple?: boolean | undefined;
|
|
3197
|
+
readonly unique?: boolean | undefined;
|
|
3198
|
+
readonly maxLength?: number | undefined;
|
|
3199
|
+
readonly minLength?: number | undefined;
|
|
3200
|
+
readonly scale?: number | undefined;
|
|
3201
|
+
readonly options?: {
|
|
3202
|
+
label: string;
|
|
3203
|
+
value: string;
|
|
3204
|
+
color?: string | undefined;
|
|
3205
|
+
default?: boolean | undefined;
|
|
3206
|
+
}[] | undefined;
|
|
3207
|
+
readonly reference?: string | undefined;
|
|
3208
|
+
readonly referenceFilters?: string[] | undefined;
|
|
3209
|
+
readonly writeRequiresMasterRead?: boolean | undefined;
|
|
3210
|
+
readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
|
|
3211
|
+
readonly summaryOperations?: {
|
|
3212
|
+
object: string;
|
|
3213
|
+
field: string;
|
|
3214
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
3215
|
+
} | undefined;
|
|
3216
|
+
readonly language?: string | undefined;
|
|
3217
|
+
readonly theme?: string | undefined;
|
|
3218
|
+
readonly lineNumbers?: boolean | undefined;
|
|
3219
|
+
readonly maxRating?: number | undefined;
|
|
3220
|
+
readonly allowHalf?: boolean | undefined;
|
|
3221
|
+
readonly displayMap?: boolean | undefined;
|
|
3222
|
+
readonly allowGeocoding?: boolean | undefined;
|
|
3223
|
+
readonly addressFormat?: "us" | "uk" | "international" | undefined;
|
|
3224
|
+
readonly colorFormat?: "hex" | "rgb" | "rgba" | "hsl" | undefined;
|
|
3225
|
+
readonly allowAlpha?: boolean | undefined;
|
|
3226
|
+
readonly presetColors?: string[] | undefined;
|
|
3227
|
+
readonly step?: number | undefined;
|
|
3228
|
+
readonly showValue?: boolean | undefined;
|
|
3229
|
+
readonly marks?: Record<string, string> | undefined;
|
|
3230
|
+
readonly barcodeFormat?: "qr" | "ean13" | "ean8" | "code128" | "code39" | "upca" | "upce" | undefined;
|
|
3231
|
+
readonly qrErrorCorrection?: "L" | "M" | "Q" | "H" | undefined;
|
|
3232
|
+
readonly displayValue?: boolean | undefined;
|
|
3233
|
+
readonly allowScanning?: boolean | undefined;
|
|
3234
|
+
readonly currencyConfig?: {
|
|
3235
|
+
precision: number;
|
|
3236
|
+
currencyMode: "dynamic" | "fixed";
|
|
3237
|
+
defaultCurrency: string;
|
|
3238
|
+
} | undefined;
|
|
3239
|
+
readonly vectorConfig?: {
|
|
3240
|
+
dimensions: number;
|
|
3241
|
+
distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
|
|
3242
|
+
normalized: boolean;
|
|
3243
|
+
indexed: boolean;
|
|
3244
|
+
indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
|
|
3245
|
+
} | undefined;
|
|
3246
|
+
readonly fileAttachmentConfig?: {
|
|
3247
|
+
virusScan: boolean;
|
|
3248
|
+
virusScanOnUpload: boolean;
|
|
3249
|
+
quarantineOnThreat: boolean;
|
|
3250
|
+
allowMultiple: boolean;
|
|
3251
|
+
allowReplace: boolean;
|
|
3252
|
+
allowDelete: boolean;
|
|
3253
|
+
requireUpload: boolean;
|
|
3254
|
+
extractMetadata: boolean;
|
|
3255
|
+
extractText: boolean;
|
|
3256
|
+
versioningEnabled: boolean;
|
|
3257
|
+
publicRead: boolean;
|
|
3258
|
+
presignedUrlExpiry: number;
|
|
3259
|
+
minSize?: number | undefined;
|
|
3260
|
+
maxSize?: number | undefined;
|
|
3261
|
+
allowedTypes?: string[] | undefined;
|
|
3262
|
+
blockedTypes?: string[] | undefined;
|
|
3263
|
+
allowedMimeTypes?: string[] | undefined;
|
|
3264
|
+
blockedMimeTypes?: string[] | undefined;
|
|
3265
|
+
virusScanProvider?: "custom" | "clamav" | "virustotal" | "metadefender" | undefined;
|
|
3266
|
+
storageProvider?: string | undefined;
|
|
3267
|
+
storageBucket?: string | undefined;
|
|
3268
|
+
storagePrefix?: string | undefined;
|
|
3269
|
+
imageValidation?: {
|
|
3270
|
+
generateThumbnails: boolean;
|
|
3271
|
+
preserveMetadata: boolean;
|
|
3272
|
+
autoRotate: boolean;
|
|
3273
|
+
minWidth?: number | undefined;
|
|
3274
|
+
maxWidth?: number | undefined;
|
|
3275
|
+
minHeight?: number | undefined;
|
|
3276
|
+
maxHeight?: number | undefined;
|
|
3277
|
+
aspectRatio?: string | undefined;
|
|
3278
|
+
thumbnailSizes?: {
|
|
3279
|
+
name: string;
|
|
3280
|
+
width: number;
|
|
3281
|
+
height: number;
|
|
3282
|
+
crop: boolean;
|
|
3283
|
+
}[] | undefined;
|
|
3284
|
+
} | undefined;
|
|
3285
|
+
maxVersions?: number | undefined;
|
|
3286
|
+
} | undefined;
|
|
3287
|
+
readonly maskingRule?: {
|
|
3288
|
+
field: string;
|
|
3289
|
+
strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
|
|
3290
|
+
preserveFormat: boolean;
|
|
3291
|
+
preserveLength: boolean;
|
|
3292
|
+
pattern?: string | undefined;
|
|
3293
|
+
roles?: string[] | undefined;
|
|
3294
|
+
exemptRoles?: string[] | undefined;
|
|
3295
|
+
} | undefined;
|
|
3296
|
+
readonly auditTrail?: boolean | undefined;
|
|
3297
|
+
readonly dependencies?: string[] | undefined;
|
|
3298
|
+
readonly cached?: {
|
|
3299
|
+
enabled: boolean;
|
|
3300
|
+
ttl: number;
|
|
3301
|
+
invalidateOn: string[];
|
|
3302
|
+
} | undefined;
|
|
3303
|
+
readonly dataQuality?: {
|
|
3304
|
+
uniqueness: boolean;
|
|
3305
|
+
completeness: number;
|
|
3306
|
+
accuracy?: {
|
|
3307
|
+
source: string;
|
|
3308
|
+
threshold: number;
|
|
3309
|
+
} | undefined;
|
|
3310
|
+
} | undefined;
|
|
3311
|
+
readonly group?: string | undefined;
|
|
3312
|
+
readonly conditionalRequired?: string | undefined;
|
|
3313
|
+
readonly hidden?: boolean | undefined;
|
|
3314
|
+
readonly sortable?: boolean | undefined;
|
|
3315
|
+
readonly inlineHelpText?: string | undefined;
|
|
3316
|
+
readonly trackFeedHistory?: boolean | undefined;
|
|
3317
|
+
readonly caseSensitive?: boolean | undefined;
|
|
3318
|
+
readonly autonumberFormat?: string | undefined;
|
|
3319
|
+
readonly index?: boolean | undefined;
|
|
3320
|
+
readonly externalId?: boolean | undefined;
|
|
3321
|
+
readonly type: "datetime";
|
|
3322
|
+
};
|
|
3323
|
+
};
|
|
3324
|
+
readonly indexes: [{
|
|
3325
|
+
readonly fields: ["conversation_id"];
|
|
3326
|
+
}, {
|
|
3327
|
+
readonly fields: ["conversation_id", "created_at"];
|
|
3328
|
+
}];
|
|
3329
|
+
readonly enable: {
|
|
3330
|
+
readonly trackHistory: false;
|
|
3331
|
+
readonly searchable: false;
|
|
3332
|
+
readonly apiEnabled: true;
|
|
3333
|
+
readonly apiMethods: ["get", "list", "create"];
|
|
3334
|
+
readonly trash: false;
|
|
3335
|
+
readonly mru: false;
|
|
3336
|
+
};
|
|
3337
|
+
}, "fields">;
|
|
3338
|
+
|
|
3339
|
+
/**
|
|
3340
|
+
* Minimal HTTP handler abstraction so routes stay framework-agnostic.
|
|
3341
|
+
*
|
|
3342
|
+
* Consumers wire these handlers to their HTTP server of choice
|
|
3343
|
+
* (Hono, Express, Fastify, etc.) via the kernel's HTTP server service.
|
|
3344
|
+
*/
|
|
3345
|
+
interface RouteDefinition {
|
|
3346
|
+
/** HTTP method */
|
|
3347
|
+
method: 'GET' | 'POST' | 'DELETE';
|
|
3348
|
+
/** Path pattern (e.g. '/api/v1/ai/chat') */
|
|
3349
|
+
path: string;
|
|
3350
|
+
/** Human-readable description */
|
|
3351
|
+
description: string;
|
|
3352
|
+
/**
|
|
3353
|
+
* Handler receives a plain request-like object and returns a response-like
|
|
3354
|
+
* object. SSE responses set `stream: true` and provide an async iterable.
|
|
3355
|
+
*/
|
|
3356
|
+
handler: (req: RouteRequest) => Promise<RouteResponse>;
|
|
3357
|
+
}
|
|
3358
|
+
interface RouteRequest {
|
|
3359
|
+
/** Parsed JSON body (for POST requests) */
|
|
3360
|
+
body?: unknown;
|
|
3361
|
+
/** Route/query parameters */
|
|
3362
|
+
params?: Record<string, string>;
|
|
3363
|
+
/** Query string parameters */
|
|
3364
|
+
query?: Record<string, string>;
|
|
3365
|
+
}
|
|
3366
|
+
interface RouteResponse {
|
|
3367
|
+
/** HTTP status code */
|
|
3368
|
+
status: number;
|
|
3369
|
+
/** JSON-serializable body (for non-streaming responses) */
|
|
3370
|
+
body?: unknown;
|
|
3371
|
+
/** If true, `stream` provides SSE events */
|
|
3372
|
+
stream?: boolean;
|
|
3373
|
+
/** Async iterable of SSE events (when stream=true) */
|
|
3374
|
+
events?: AsyncIterable<unknown>;
|
|
3375
|
+
}
|
|
3376
|
+
/**
|
|
3377
|
+
* Build the standard AI REST/SSE routes.
|
|
3378
|
+
*
|
|
3379
|
+
* Depends on contracts ({@link IAIService} + {@link IAIConversationService})
|
|
3380
|
+
* rather than concrete implementations, so any compliant service pair can
|
|
3381
|
+
* be wired in.
|
|
3382
|
+
*
|
|
3383
|
+
* Routes:
|
|
3384
|
+
* | Method | Path | Description |
|
|
3385
|
+
* |:---|:---|:---|
|
|
3386
|
+
* | POST | /api/v1/ai/chat | Synchronous chat completion |
|
|
3387
|
+
* | POST | /api/v1/ai/chat/stream | SSE streaming chat completion |
|
|
3388
|
+
* | POST | /api/v1/ai/complete | Text completion |
|
|
3389
|
+
* | GET | /api/v1/ai/models | List available models |
|
|
3390
|
+
* | POST | /api/v1/ai/conversations | Create a conversation |
|
|
3391
|
+
* | GET | /api/v1/ai/conversations | List conversations |
|
|
3392
|
+
* | POST | /api/v1/ai/conversations/:id/messages | Add message to conversation |
|
|
3393
|
+
* | DELETE | /api/v1/ai/conversations/:id | Delete conversation |
|
|
3394
|
+
*/
|
|
3395
|
+
declare function buildAIRoutes(aiService: IAIService, conversationService: IAIConversationService, logger: Logger): RouteDefinition[];
|
|
3396
|
+
|
|
3397
|
+
/**
|
|
3398
|
+
* Build agent-specific REST routes.
|
|
3399
|
+
*
|
|
3400
|
+
* | Method | Path | Description |
|
|
3401
|
+
* |:---|:---|:---|
|
|
3402
|
+
* | POST | /api/v1/ai/agents/:agentName/chat | Chat with a specific agent |
|
|
3403
|
+
*/
|
|
3404
|
+
declare function buildAgentRoutes(aiService: AIService, agentRuntime: AgentRuntime, logger: Logger): RouteDefinition[];
|
|
3405
|
+
|
|
3406
|
+
export { AIService, type AIServiceConfig, AIServicePlugin, type AIServicePluginOptions, type AgentChatContext, AgentRuntime, AiConversationObject, AiMessageObject, DATA_CHAT_AGENT, DATA_TOOL_DEFINITIONS, type DataToolContext, InMemoryConversationService, MemoryLLMAdapter, ObjectQLConversationService, type RouteDefinition, type RouteRequest, type RouteResponse, type ToolHandler, ToolRegistry, buildAIRoutes, buildAgentRoutes, registerDataTools };
|