@objectstack/service-ai 4.0.4 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/index.cjs +1176 -134
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +1752 -431
  4. package/dist/index.d.ts +1752 -431
  5. package/dist/index.js +1160 -127
  6. package/dist/index.js.map +1 -1
  7. package/package.json +35 -8
  8. package/.turbo/turbo-build.log +0 -22
  9. package/CHANGELOG.md +0 -61
  10. package/src/__tests__/ai-service.test.ts +0 -981
  11. package/src/__tests__/auth-and-toolcalling.test.ts +0 -677
  12. package/src/__tests__/chatbot-features.test.ts +0 -1116
  13. package/src/__tests__/metadata-tools.test.ts +0 -970
  14. package/src/__tests__/objectql-conversation-service.test.ts +0 -382
  15. package/src/__tests__/tool-routes.test.ts +0 -191
  16. package/src/__tests__/vercel-stream-encoder.test.ts +0 -310
  17. package/src/adapters/index.ts +0 -6
  18. package/src/adapters/memory-adapter.ts +0 -72
  19. package/src/adapters/types.ts +0 -3
  20. package/src/adapters/vercel-adapter.ts +0 -148
  21. package/src/agent-runtime.ts +0 -154
  22. package/src/agents/data-chat-agent.ts +0 -79
  23. package/src/agents/index.ts +0 -4
  24. package/src/agents/metadata-assistant-agent.ts +0 -87
  25. package/src/ai-service.ts +0 -364
  26. package/src/conversation/in-memory-conversation-service.ts +0 -103
  27. package/src/conversation/index.ts +0 -4
  28. package/src/conversation/objectql-conversation-service.ts +0 -301
  29. package/src/index.ts +0 -60
  30. package/src/objects/ai-conversation.object.ts +0 -86
  31. package/src/objects/ai-message.object.ts +0 -86
  32. package/src/objects/index.ts +0 -10
  33. package/src/plugin.ts +0 -391
  34. package/src/routes/agent-routes.ts +0 -190
  35. package/src/routes/ai-routes.ts +0 -439
  36. package/src/routes/index.ts +0 -5
  37. package/src/routes/message-utils.ts +0 -90
  38. package/src/routes/tool-routes.ts +0 -142
  39. package/src/stream/index.ts +0 -3
  40. package/src/stream/vercel-stream-encoder.ts +0 -153
  41. package/src/tools/add-field.tool.ts +0 -70
  42. package/src/tools/create-object.tool.ts +0 -66
  43. package/src/tools/data-tools.ts +0 -293
  44. package/src/tools/delete-field.tool.ts +0 -38
  45. package/src/tools/describe-object.tool.ts +0 -31
  46. package/src/tools/index.ts +0 -18
  47. package/src/tools/list-objects.tool.ts +0 -34
  48. package/src/tools/metadata-tools.ts +0 -430
  49. package/src/tools/modify-field.tool.ts +0 -44
  50. package/src/tools/tool-registry.ts +0 -132
  51. package/tsconfig.json +0 -17
  52. package/vitest.config.ts +0 -23
package/dist/index.d.cts CHANGED
@@ -3,8 +3,8 @@ export { LLMAdapter } from '@objectstack/spec/contracts';
3
3
  import { Plugin, PluginContext } from '@objectstack/core';
4
4
  import { LanguageModelV2 } from '@ai-sdk/provider';
5
5
  import { TextStreamPart as TextStreamPart$1, ToolSet as ToolSet$1 } from 'ai';
6
- import { Tool } from '@objectstack/spec/ai';
7
- import { Agent } from '@objectstack/spec';
6
+ import { Tool, Skill, Agent } from '@objectstack/spec/ai';
7
+ import { InstalledPackage } from '@objectstack/spec/kernel';
8
8
  import { z } from 'zod';
9
9
  import * as _objectstack_spec_data from '@objectstack/spec/data';
10
10
 
@@ -396,7 +396,7 @@ declare const createObjectTool: {
396
396
  requiresConfirmation: boolean;
397
397
  active: boolean;
398
398
  builtIn: boolean;
399
- category?: "action" | "flow" | "vector_search" | "data" | "utility" | "integration" | "analytics" | undefined;
399
+ category?: "action" | "flow" | "vector_search" | "data" | "utility" | "analytics" | "integration" | undefined;
400
400
  outputSchema?: Record<string, unknown> | undefined;
401
401
  objectName?: string | undefined;
402
402
  permissions?: string[] | undefined;
@@ -417,7 +417,7 @@ declare const addFieldTool: {
417
417
  requiresConfirmation: boolean;
418
418
  active: boolean;
419
419
  builtIn: boolean;
420
- category?: "action" | "flow" | "vector_search" | "data" | "utility" | "integration" | "analytics" | undefined;
420
+ category?: "action" | "flow" | "vector_search" | "data" | "utility" | "analytics" | "integration" | undefined;
421
421
  outputSchema?: Record<string, unknown> | undefined;
422
422
  objectName?: string | undefined;
423
423
  permissions?: string[] | undefined;
@@ -437,7 +437,7 @@ declare const modifyFieldTool: {
437
437
  requiresConfirmation: boolean;
438
438
  active: boolean;
439
439
  builtIn: boolean;
440
- category?: "action" | "flow" | "vector_search" | "data" | "utility" | "integration" | "analytics" | undefined;
440
+ category?: "action" | "flow" | "vector_search" | "data" | "utility" | "analytics" | "integration" | undefined;
441
441
  outputSchema?: Record<string, unknown> | undefined;
442
442
  objectName?: string | undefined;
443
443
  permissions?: string[] | undefined;
@@ -457,7 +457,7 @@ declare const deleteFieldTool: {
457
457
  requiresConfirmation: boolean;
458
458
  active: boolean;
459
459
  builtIn: boolean;
460
- category?: "action" | "flow" | "vector_search" | "data" | "utility" | "integration" | "analytics" | undefined;
460
+ category?: "action" | "flow" | "vector_search" | "data" | "utility" | "analytics" | "integration" | undefined;
461
461
  outputSchema?: Record<string, unknown> | undefined;
462
462
  objectName?: string | undefined;
463
463
  permissions?: string[] | undefined;
@@ -478,7 +478,7 @@ declare const listObjectsTool: {
478
478
  requiresConfirmation: boolean;
479
479
  active: boolean;
480
480
  builtIn: boolean;
481
- category?: "action" | "flow" | "vector_search" | "data" | "utility" | "integration" | "analytics" | undefined;
481
+ category?: "action" | "flow" | "vector_search" | "data" | "utility" | "analytics" | "integration" | undefined;
482
482
  outputSchema?: Record<string, unknown> | undefined;
483
483
  objectName?: string | undefined;
484
484
  permissions?: string[] | undefined;
@@ -499,7 +499,7 @@ declare const describeObjectTool: {
499
499
  requiresConfirmation: boolean;
500
500
  active: boolean;
501
501
  builtIn: boolean;
502
- category?: "action" | "flow" | "vector_search" | "data" | "utility" | "integration" | "analytics" | undefined;
502
+ category?: "action" | "flow" | "vector_search" | "data" | "utility" | "analytics" | "integration" | undefined;
503
503
  outputSchema?: Record<string, unknown> | undefined;
504
504
  objectName?: string | undefined;
505
505
  permissions?: string[] | undefined;
@@ -516,6 +516,22 @@ declare const METADATA_TOOL_DEFINITIONS: Tool[];
516
516
  interface MetadataToolContext {
517
517
  /** Metadata service for schema CRUD operations. */
518
518
  metadataService: IMetadataService;
519
+ /** Optional: Conversation service for retrieving active package context */
520
+ conversationService?: {
521
+ getMetadata?(conversationId: string): Promise<Record<string, unknown> | undefined>;
522
+ };
523
+ /** Optional: Current conversation ID (if in a conversation context) */
524
+ conversationId?: string;
525
+ /** Optional: Package registry for validating package existence */
526
+ packageRegistry?: {
527
+ exists(packageId: string): Promise<boolean>;
528
+ get(packageId: string): Promise<{
529
+ manifest: {
530
+ scope?: string;
531
+ source?: string;
532
+ };
533
+ } | undefined>;
534
+ };
519
535
  }
520
536
  /**
521
537
  * Register all built-in metadata management tools on the given {@link ToolRegistry}.
@@ -532,14 +548,302 @@ interface MetadataToolContext {
532
548
  */
533
549
  declare function registerMetadataTools(registry: ToolRegistry, context: MetadataToolContext): void;
534
550
 
551
+ /**
552
+ * list_packages — AI Tool Metadata
553
+ *
554
+ * Lists all installed packages in the ObjectStack instance.
555
+ * Useful for understanding what packages are available before creating metadata.
556
+ */
557
+ declare const listPackagesTool: {
558
+ name: string;
559
+ label: string;
560
+ description: string;
561
+ parameters: Record<string, unknown>;
562
+ requiresConfirmation: boolean;
563
+ active: boolean;
564
+ builtIn: boolean;
565
+ category?: "action" | "flow" | "vector_search" | "data" | "utility" | "analytics" | "integration" | undefined;
566
+ outputSchema?: Record<string, unknown> | undefined;
567
+ objectName?: string | undefined;
568
+ permissions?: string[] | undefined;
569
+ };
570
+
571
+ /**
572
+ * get_package — AI Tool Metadata
573
+ *
574
+ * Gets detailed information about a specific package.
575
+ */
576
+ declare const getPackageTool: {
577
+ name: string;
578
+ label: string;
579
+ description: string;
580
+ parameters: Record<string, unknown>;
581
+ requiresConfirmation: boolean;
582
+ active: boolean;
583
+ builtIn: boolean;
584
+ category?: "action" | "flow" | "vector_search" | "data" | "utility" | "analytics" | "integration" | undefined;
585
+ outputSchema?: Record<string, unknown> | undefined;
586
+ objectName?: string | undefined;
587
+ permissions?: string[] | undefined;
588
+ };
589
+
590
+ /**
591
+ * create_package — AI Tool Metadata
592
+ *
593
+ * Creates a new package for organizing metadata.
594
+ * All metadata (objects, views, flows, etc.) should belong to a package.
595
+ */
596
+ declare const createPackageTool: {
597
+ name: string;
598
+ label: string;
599
+ description: string;
600
+ parameters: Record<string, unknown>;
601
+ requiresConfirmation: boolean;
602
+ active: boolean;
603
+ builtIn: boolean;
604
+ category?: "action" | "flow" | "vector_search" | "data" | "utility" | "analytics" | "integration" | undefined;
605
+ outputSchema?: Record<string, unknown> | undefined;
606
+ objectName?: string | undefined;
607
+ permissions?: string[] | undefined;
608
+ };
609
+
610
+ /**
611
+ * get_active_package — AI Tool Metadata
612
+ *
613
+ * Gets the currently active package in the conversation context.
614
+ */
615
+ declare const getActivePackageTool: {
616
+ name: string;
617
+ label: string;
618
+ description: string;
619
+ parameters: Record<string, unknown>;
620
+ requiresConfirmation: boolean;
621
+ active: boolean;
622
+ builtIn: boolean;
623
+ category?: "action" | "flow" | "vector_search" | "data" | "utility" | "analytics" | "integration" | undefined;
624
+ outputSchema?: Record<string, unknown> | undefined;
625
+ objectName?: string | undefined;
626
+ permissions?: string[] | undefined;
627
+ };
628
+
629
+ /**
630
+ * set_active_package — AI Tool Metadata
631
+ *
632
+ * Sets the active package for the current conversation.
633
+ * All metadata operations will use this package context.
634
+ */
635
+ declare const setActivePackageTool: {
636
+ name: string;
637
+ label: string;
638
+ description: string;
639
+ parameters: Record<string, unknown>;
640
+ requiresConfirmation: boolean;
641
+ active: boolean;
642
+ builtIn: boolean;
643
+ category?: "action" | "flow" | "vector_search" | "data" | "utility" | "analytics" | "integration" | undefined;
644
+ outputSchema?: Record<string, unknown> | undefined;
645
+ objectName?: string | undefined;
646
+ permissions?: string[] | undefined;
647
+ };
648
+
649
+ /** All built-in package management tool definitions (Tool metadata). */
650
+ declare const PACKAGE_TOOL_DEFINITIONS: Tool[];
651
+ /**
652
+ * Minimal package registry interface for tool operations.
653
+ * The actual implementation may be a full PackageRegistry service.
654
+ */
655
+ interface IPackageRegistry {
656
+ /** List all installed packages */
657
+ list(filter?: {
658
+ status?: string;
659
+ enabled?: boolean;
660
+ }): Promise<InstalledPackage[]>;
661
+ /** Get a specific package by ID */
662
+ get(packageId: string): Promise<InstalledPackage | undefined>;
663
+ /** Install a new package */
664
+ install(manifest: Record<string, unknown>): Promise<InstalledPackage>;
665
+ /** Check if a package exists */
666
+ exists(packageId: string): Promise<boolean>;
667
+ }
668
+ /**
669
+ * Minimal conversation service interface for context management.
670
+ */
671
+ interface IConversationService {
672
+ /** Get conversation metadata */
673
+ getMetadata?(conversationId: string): Promise<Record<string, unknown> | undefined>;
674
+ /** Update conversation metadata */
675
+ updateMetadata?(conversationId: string, metadata: Record<string, unknown>): Promise<void>;
676
+ }
677
+ /**
678
+ * Services required by the package management tools.
679
+ *
680
+ * Provided by the kernel at `ai:ready` time and closed over
681
+ * by the handler functions so they stay framework-agnostic.
682
+ */
683
+ interface PackageToolContext {
684
+ /** Package registry for package CRUD operations */
685
+ packageRegistry: IPackageRegistry;
686
+ /** Conversation service for tracking active package context (optional) */
687
+ conversationService?: IConversationService;
688
+ /** Current conversation ID (if in a conversation context) */
689
+ conversationId?: string;
690
+ }
691
+ /**
692
+ * Register all built-in package management tools on the given {@link ToolRegistry}.
693
+ *
694
+ * Typically called from the `ai:ready` hook after the package registry is available.
695
+ *
696
+ * @example
697
+ * ```ts
698
+ * ctx.hook('ai:ready', async (aiService) => {
699
+ * const packageRegistry = ctx.getService<IPackageRegistry>('packageRegistry');
700
+ * const conversationService = ctx.getService<IConversationService>('conversation');
701
+ * registerPackageTools(aiService.toolRegistry, {
702
+ * packageRegistry,
703
+ * conversationService,
704
+ * });
705
+ * });
706
+ * ```
707
+ */
708
+ declare function registerPackageTools(registry: ToolRegistry, context: PackageToolContext): void;
709
+
710
+ /**
711
+ * Runtime context passed when chatting with the ambient assistant.
712
+ *
713
+ * Mirrors the metadata fields used by `Skill.triggerConditions` so that
714
+ * skills can be activated declaratively based on what the user is doing.
715
+ *
716
+ * UI clients populate this from the current route / selected record.
717
+ */
718
+ interface SkillContext {
719
+ /** Application the user is currently inside (e.g. "crm"). */
720
+ appName?: string;
721
+ /** Object the user is viewing (e.g. "lead"). */
722
+ objectName?: string;
723
+ /** Currently selected record ID. */
724
+ recordId?: string;
725
+ /** Current view name. */
726
+ viewName?: string;
727
+ /** Channel/medium of the conversation (e.g. "web", "slack", "email"). */
728
+ channel?: string;
729
+ /** User's role (used by `triggerConditions` with `field=userRole`). */
730
+ userRole?: string;
731
+ /** Free-form additional context fields evaluated against `triggerConditions`. */
732
+ [extraField: string]: unknown;
733
+ }
734
+ /**
735
+ * Summary of an active skill suitable for slash-command palettes
736
+ * and `GET /api/v1/ai/skills` responses.
737
+ */
738
+ interface SkillSummary {
739
+ name: string;
740
+ label: string;
741
+ description?: string;
742
+ triggerPhrases?: string[];
743
+ toolCount: number;
744
+ }
745
+ /**
746
+ * SkillRegistry — Loads and resolves AI Skill metadata.
747
+ *
748
+ * Responsibilities:
749
+ * 1. Load & validate skill definitions from {@link IMetadataService}.
750
+ * 2. Filter by runtime context using `triggerConditions`.
751
+ * 3. Flatten skill `tools[]` references to concrete {@link AIToolDefinition}s.
752
+ * 4. Compose skill `instructions` for system-prompt injection.
753
+ *
754
+ * The registry is stateless; every call re-reads from the metadata
755
+ * service so changes published at runtime become immediately visible.
756
+ *
757
+ * @example
758
+ * ```ts
759
+ * const registry = new SkillRegistry(metadataService);
760
+ * const active = await registry.listActiveSkills({ appName: 'crm', objectName: 'lead' });
761
+ * const tools = registry.flattenToTools(active, allTools);
762
+ * ```
763
+ */
764
+ declare class SkillRegistry {
765
+ private readonly metadataService;
766
+ constructor(metadataService: IMetadataService);
767
+ /**
768
+ * Load and validate a single skill definition by name.
769
+ *
770
+ * Returns `undefined` when the skill is missing or fails Zod
771
+ * validation (so callers don't accidentally feed malformed metadata
772
+ * to the LLM).
773
+ */
774
+ loadSkill(skillName: string): Promise<Skill | undefined>;
775
+ /**
776
+ * Load all skill definitions, dropping any that fail validation
777
+ * or are explicitly inactive.
778
+ */
779
+ listSkills(): Promise<Skill[]>;
780
+ /**
781
+ * Load only the skills referenced by `skillNames`, preserving
782
+ * declaration order. Missing or invalid skill names are silently
783
+ * dropped (logged at the route layer if needed) so an Agent can be
784
+ * defined before all its skills are persisted.
785
+ */
786
+ loadSkills(skillNames: readonly string[]): Promise<Skill[]>;
787
+ /**
788
+ * Return skills whose `triggerConditions` are satisfied by the
789
+ * given context. Skills without any conditions are always considered
790
+ * active and returned in their declaration order.
791
+ *
792
+ * If `restrictTo` is provided, the result is intersected with that
793
+ * allow-list (typically the agent's `skills[]` field) so an agent
794
+ * never sees skills outside its declared scope.
795
+ */
796
+ listActiveSkills(context?: SkillContext, restrictTo?: readonly string[]): Promise<Skill[]>;
797
+ /**
798
+ * Evaluate a skill's `triggerConditions` against the given context.
799
+ *
800
+ * Semantics:
801
+ * - No conditions defined → always matches.
802
+ * - All conditions must pass (logical AND).
803
+ * - Operators: `eq`, `neq`, `in`, `not_in`, `contains`.
804
+ * - `contains` does substring matching for strings and `Array.includes`
805
+ * for arrays.
806
+ * - Missing context fields fail unless the operator is `neq` /
807
+ * `not_in` (treating "absent" as "not equal to anything").
808
+ */
809
+ matchesContext(skill: Skill, context: SkillContext): boolean;
810
+ private evaluateCondition;
811
+ /**
812
+ * Flatten a list of skills to a deduplicated array of concrete tool
813
+ * definitions, preserving the order skills declared their tools.
814
+ *
815
+ * Tools that are declared by a skill but missing from the available
816
+ * tool registry are silently dropped — this is intentional so a skill
817
+ * can be authored before all its underlying tools are registered.
818
+ */
819
+ flattenToTools(skills: readonly Skill[], availableTools: readonly AIToolDefinition[]): AIToolDefinition[];
820
+ /**
821
+ * Build the "Active Skills" block to append to an agent's system
822
+ * prompt. The block lists each skill's label + instructions so the
823
+ * LLM knows which capabilities are available and how to invoke them.
824
+ *
825
+ * Returns an empty string when there are no skills, so the caller
826
+ * can safely concatenate without producing dangling whitespace.
827
+ */
828
+ composeInstructionsBlock(skills: readonly Skill[]): string;
829
+ /**
830
+ * Project a skill to a wire-friendly summary suitable for the
831
+ * `/api/v1/ai/skills` endpoint and slash-command palettes.
832
+ */
833
+ toSummary(skill: Skill): SkillSummary;
834
+ }
835
+
535
836
  /**
536
837
  * Context passed alongside a user message when chatting with an agent.
537
838
  *
538
839
  * UI clients set these fields to tell the agent which object, record,
539
840
  * or view the user is currently looking at so it can provide contextual
540
841
  * answers without additional tool calls.
842
+ *
843
+ * Extends {@link SkillContext} so the same context object can drive
844
+ * skill activation in the {@link SkillRegistry}.
541
845
  */
542
- interface AgentChatContext {
846
+ interface AgentChatContext extends SkillContext {
543
847
  /** Current object the user is viewing (e.g. "account") */
544
848
  objectName?: string;
545
849
  /** Currently selected record ID */
@@ -552,14 +856,22 @@ interface AgentChatContext {
552
856
  *
553
857
  * Responsibilities:
554
858
  * 1. Load & validate agent metadata from the metadata service.
555
- * 2. Build the system prompt from agent `instructions` + UI context.
556
- * 3. Derive {@link AIRequestOptions} from agent `model` and `tools`.
859
+ * 2. Build the system prompt from agent `instructions` + UI context
860
+ * + active skill instructions.
861
+ * 3. Derive {@link AIRequestOptions} from agent `model`, `tools`, and
862
+ * resolved skills.
557
863
  * 4. Map agent tool references to concrete {@link AIToolDefinition}s
558
864
  * registered in the {@link ToolRegistry}.
865
+ *
866
+ * When constructed with a {@link SkillRegistry} the runtime supports
867
+ * the Agent → Skill → Tool composition model. When the registry is
868
+ * omitted (legacy / test mode) only the agent's inline `tools[]` are
869
+ * used.
559
870
  */
560
871
  declare class AgentRuntime {
561
872
  private readonly metadataService;
562
- constructor(metadataService: IMetadataService);
873
+ private readonly skillRegistry?;
874
+ constructor(metadataService: IMetadataService, skillRegistry?: SkillRegistry | undefined);
563
875
  /**
564
876
  * List all active agents registered in the metadata service.
565
877
  *
@@ -583,30 +895,75 @@ declare class AgentRuntime {
583
895
  /**
584
896
  * Build the system message(s) that should be prepended to the
585
897
  * conversation when chatting with the given agent.
898
+ *
899
+ * The composed prompt has up to three sections:
900
+ * 1. The agent's base `instructions` (its persona / prime directives).
901
+ * 2. UI context hints from {@link AgentChatContext} (current object,
902
+ * record, view) so the agent can tailor responses without extra
903
+ * tool calls.
904
+ * 3. An "Active Skills" block describing the capabilities currently
905
+ * available — only populated when `activeSkills` is provided.
586
906
  */
587
- buildSystemMessages(agent: Agent, context?: AgentChatContext): ModelMessage[];
907
+ buildSystemMessages(agent: Agent, context?: AgentChatContext, activeSkills?: readonly Skill[]): ModelMessage[];
588
908
  /**
589
909
  * Derive {@link AIRequestOptions} from an agent definition.
590
910
  *
591
911
  * Tool references declared in `agent.tools` are resolved by name against
592
912
  * `availableTools` (i.e. the full set of ToolRegistry definitions).
593
- * Any unresolved references (tools the agent declares but that are not
594
- * registered) are silently skipped this is intentional so that agents
595
- * can be defined before all tools are available.
913
+ * Tools belonging to `activeSkills` are also resolved and merged into
914
+ * the final tool list (deduplicated by name).
915
+ *
916
+ * Any unresolved references (tools the agent or skill declares but
917
+ * that are not registered) are silently skipped — this is intentional
918
+ * so that agents/skills can be defined before all tools are available.
596
919
  *
597
920
  * @param agent - The agent definition to derive options from
598
921
  * @param availableTools - All tool definitions currently registered in the ToolRegistry
922
+ * @param activeSkills - Skills resolved from agent.skills[] + context filtering
599
923
  * @returns Request options with model config and resolved tool definitions
600
924
  */
601
- buildRequestOptions(agent: Agent, availableTools: AIToolDefinition[]): AIRequestOptions;
925
+ buildRequestOptions(agent: Agent, availableTools: readonly AIToolDefinition[], activeSkills?: readonly Skill[]): AIRequestOptions;
926
+ /**
927
+ * Resolve the set of skills active for a given agent in a given
928
+ * context. Combines:
929
+ *
930
+ * 1. The agent's declared `skills[]` whitelist (if any).
931
+ * 2. Filtering by `triggerConditions` against the runtime context.
932
+ *
933
+ * When the agent declares no skills, returns the empty list (i.e.
934
+ * the agent only uses its inline `tools[]`).
935
+ *
936
+ * Returns an empty array if no SkillRegistry was provided to the
937
+ * runtime (legacy mode).
938
+ */
939
+ resolveActiveSkills(agent: Agent, context?: AgentChatContext): Promise<Skill[]>;
940
+ /**
941
+ * Pick a default agent for the given context, used by the ambient
942
+ * chat endpoint when the client doesn't specify an `agentName`.
943
+ *
944
+ * Resolution order:
945
+ * 1. The `defaultAgent` of the app named by `context.appName`.
946
+ * 2. The first active agent in the registry (deterministic fallback).
947
+ * 3. `undefined` if no agents are registered.
948
+ */
949
+ resolveDefaultAgent(context?: AgentChatContext): Promise<Agent | undefined>;
602
950
  }
603
951
 
604
952
  /**
605
- * Built-in `data_chat` agent definition.
953
+ * Built-in `data_chat` agent — a thin **persona** record.
606
954
  *
607
- * This agent powers the Airtable-style data conversation Chatbot.
608
- * It is registered automatically by the AI service plugin when a
609
- * data engine is available.
955
+ * Following the platform's metadata-driven philosophy, this agent no
956
+ * longer hardcodes the tools it can call. The capability bundle lives
957
+ * on the `data_explorer` *skill* (see `../skills/data-explorer-skill.ts`).
958
+ * The agent record is now just:
959
+ * - identity (name / label / role)
960
+ * - persona (system prompt)
961
+ * - model + safety config
962
+ * - skills attached → `skills: ['data_explorer']`
963
+ *
964
+ * To grant data-exploration powers to a different agent, just add
965
+ * `data_explorer` to its `skills[]`. To revoke globally, set the
966
+ * skill's `active: false` in metadata.
610
967
  *
611
968
  * @example
612
969
  * ```
@@ -620,14 +977,16 @@ declare class AgentRuntime {
620
977
  declare const DATA_CHAT_AGENT: Agent;
621
978
 
622
979
  /**
623
- * Built-in `metadata_assistant` agent definition.
980
+ * Built-in `metadata_assistant` agent — a thin **persona** record.
624
981
  *
625
- * This agent powers AI-driven metadata management users can create objects,
626
- * add/modify/delete fields, and inspect schema definitions through natural
627
- * language conversation.
982
+ * Capability bundle is no longer hardcoded here; it lives on the
983
+ * `metadata_authoring` *skill* (see
984
+ * `../skills/metadata-authoring-skill.ts`). Studio's Universal
985
+ * Assistant pins this agent via `?agent=metadata_assistant` because
986
+ * Studio is a metadata-authoring host.
628
987
  *
629
- * It is registered automatically by the AI service plugin alongside the
630
- * `data_chat` agent when the metadata service is available.
988
+ * To extend this agent (e.g. give it data-exploration too), just add
989
+ * the skill name: `skills: ['metadata_authoring', 'data_explorer']`.
631
990
  *
632
991
  * @example
633
992
  * ```
@@ -640,15 +999,6 @@ declare const DATA_CHAT_AGENT: Agent;
640
999
  */
641
1000
  declare const METADATA_ASSISTANT_AGENT: Agent;
642
1001
 
643
- /**
644
- * XState-inspired State Machine Protocol
645
- * Used to define strict business logic constraints and lifecycle management.
646
- * Prevent AI "hallucinations" by enforcing valid valid transitions.
647
- */
648
- /**
649
- * References a named action (side effect)
650
- * Can be a script, a webhook, or a field update.
651
- */
652
1002
  declare const ActionRefSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
653
1003
  type: z.ZodString;
654
1004
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -703,7 +1053,7 @@ declare const AiConversationObject: Omit<{
703
1053
  abstract: boolean;
704
1054
  datasource: string;
705
1055
  fields: Record<string, {
706
- type: "number" | "boolean" | "file" | "text" | "json" | "code" | "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" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress";
1056
+ type: "number" | "boolean" | "file" | "text" | "json" | "code" | "avatar" | "vector" | "date" | "tags" | "datetime" | "signature" | "progress" | "url" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "color" | "rating" | "slider" | "qrcode";
707
1057
  required: boolean;
708
1058
  searchable: boolean;
709
1059
  multiple: boolean;
@@ -736,11 +1086,27 @@ declare const AiConversationObject: Omit<{
736
1086
  reference?: string | undefined;
737
1087
  referenceFilters?: string[] | undefined;
738
1088
  writeRequiresMasterRead?: boolean | undefined;
739
- expression?: string | undefined;
1089
+ expression?: {
1090
+ dialect: "cel" | "js" | "cron" | "template";
1091
+ source?: string | undefined;
1092
+ ast?: unknown;
1093
+ meta?: {
1094
+ rationale?: string | undefined;
1095
+ generatedBy?: string | undefined;
1096
+ } | undefined;
1097
+ } | {
1098
+ dialect: "cel" | "js" | "cron" | "template";
1099
+ source?: string | undefined;
1100
+ ast?: unknown;
1101
+ meta?: {
1102
+ rationale?: string | undefined;
1103
+ generatedBy?: string | undefined;
1104
+ } | undefined;
1105
+ } | undefined;
740
1106
  summaryOperations?: {
741
1107
  object: string;
742
1108
  field: string;
743
- function: "count" | "sum" | "avg" | "min" | "max";
1109
+ function: "min" | "max" | "count" | "sum" | "avg";
744
1110
  } | undefined;
745
1111
  language?: string | undefined;
746
1112
  theme?: string | undefined;
@@ -826,7 +1192,7 @@ declare const AiConversationObject: Omit<{
826
1192
  autoRotate: boolean;
827
1193
  } | undefined;
828
1194
  };
829
- scope: "database" | "field" | "record" | "table";
1195
+ scope: "field" | "database" | "record" | "table";
830
1196
  deterministicEncryption: boolean;
831
1197
  searchableEncryption: boolean;
832
1198
  } | undefined;
@@ -854,7 +1220,24 @@ declare const AiConversationObject: Omit<{
854
1220
  } | undefined;
855
1221
  } | undefined;
856
1222
  group?: string | undefined;
857
- conditionalRequired?: string | undefined;
1223
+ conditionalRequired?: {
1224
+ dialect: "cel" | "js" | "cron" | "template";
1225
+ source?: string | undefined;
1226
+ ast?: unknown;
1227
+ meta?: {
1228
+ rationale?: string | undefined;
1229
+ generatedBy?: string | undefined;
1230
+ } | undefined;
1231
+ } | {
1232
+ dialect: "cel" | "js" | "cron" | "template";
1233
+ source?: string | undefined;
1234
+ ast?: unknown;
1235
+ meta?: {
1236
+ rationale?: string | undefined;
1237
+ generatedBy?: string | undefined;
1238
+ } | undefined;
1239
+ } | undefined;
1240
+ system?: boolean | undefined;
858
1241
  inlineHelpText?: string | undefined;
859
1242
  trackFeedHistory?: boolean | undefined;
860
1243
  caseSensitive?: boolean | undefined;
@@ -864,9 +1247,20 @@ declare const AiConversationObject: Omit<{
864
1247
  pluralLabel?: string | undefined;
865
1248
  description?: string | undefined;
866
1249
  icon?: string | undefined;
867
- namespace?: string | undefined;
868
1250
  tags?: string[] | undefined;
869
- tableName?: string | undefined;
1251
+ managedBy?: "system" | "config" | "platform" | "append-only" | "better-auth" | undefined;
1252
+ userActions?: {
1253
+ create?: boolean | undefined;
1254
+ import?: boolean | undefined;
1255
+ edit?: boolean | undefined;
1256
+ delete?: boolean | undefined;
1257
+ exportCsv?: boolean | undefined;
1258
+ } | undefined;
1259
+ systemFields?: false | {
1260
+ tenant?: boolean | undefined;
1261
+ owner?: boolean | undefined;
1262
+ audit?: boolean | undefined;
1263
+ } | undefined;
870
1264
  indexes?: {
871
1265
  fields: string[];
872
1266
  type: "hash" | "btree" | "gin" | "gist" | "fulltext";
@@ -874,9 +1268,33 @@ declare const AiConversationObject: Omit<{
874
1268
  name?: string | undefined;
875
1269
  partial?: string | undefined;
876
1270
  }[] | undefined;
1271
+ fieldGroups?: {
1272
+ key: string;
1273
+ label: string;
1274
+ defaultExpanded: boolean;
1275
+ icon?: string | undefined;
1276
+ description?: string | undefined;
1277
+ visibleOn?: {
1278
+ dialect: "cel" | "js" | "cron" | "template";
1279
+ source?: string | undefined;
1280
+ ast?: unknown;
1281
+ meta?: {
1282
+ rationale?: string | undefined;
1283
+ generatedBy?: string | undefined;
1284
+ } | undefined;
1285
+ } | {
1286
+ dialect: "cel" | "js" | "cron" | "template";
1287
+ source?: string | undefined;
1288
+ ast?: unknown;
1289
+ meta?: {
1290
+ rationale?: string | undefined;
1291
+ generatedBy?: string | undefined;
1292
+ } | undefined;
1293
+ } | undefined;
1294
+ }[] | undefined;
877
1295
  tenancy?: {
878
1296
  enabled: boolean;
879
- strategy: "shared" | "isolated" | "hybrid";
1297
+ strategy: "hybrid" | "shared" | "isolated";
880
1298
  tenantField: string;
881
1299
  crossTenantAccess: boolean;
882
1300
  } | undefined;
@@ -893,13 +1311,13 @@ declare const AiConversationObject: Omit<{
893
1311
  } | undefined;
894
1312
  partitioning?: {
895
1313
  enabled: boolean;
896
- strategy: "hash" | "range" | "list";
1314
+ strategy: "hash" | "list" | "range";
897
1315
  key: string;
898
1316
  interval?: string | undefined;
899
1317
  } | undefined;
900
1318
  cdc?: {
901
1319
  enabled: boolean;
902
- events: ("update" | "delete" | "insert")[];
1320
+ events: ("delete" | "update" | "insert")[];
903
1321
  destination: string;
904
1322
  } | undefined;
905
1323
  validations?: _objectstack_spec_data.BaseValidationRuleShape[] | undefined;
@@ -939,8 +1357,258 @@ declare const AiConversationObject: Omit<{
939
1357
  displayFormat?: string | undefined;
940
1358
  startNumber?: number | undefined;
941
1359
  } | undefined;
942
- titleFormat?: string | undefined;
1360
+ titleFormat?: {
1361
+ dialect: "cel" | "js" | "cron" | "template";
1362
+ source?: string | undefined;
1363
+ ast?: unknown;
1364
+ meta?: {
1365
+ rationale?: string | undefined;
1366
+ generatedBy?: string | undefined;
1367
+ } | undefined;
1368
+ } | {
1369
+ dialect: "cel" | "js" | "cron" | "template";
1370
+ source?: string | undefined;
1371
+ ast?: unknown;
1372
+ meta?: {
1373
+ rationale?: string | undefined;
1374
+ generatedBy?: string | undefined;
1375
+ } | undefined;
1376
+ } | undefined;
943
1377
  compactLayout?: string[] | undefined;
1378
+ listViews?: Record<string, {
1379
+ type: "map" | "kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "chart" | "grid";
1380
+ columns: string[] | {
1381
+ field: string;
1382
+ label?: string | undefined;
1383
+ width?: number | undefined;
1384
+ align?: "left" | "center" | "right" | undefined;
1385
+ hidden?: boolean | undefined;
1386
+ sortable?: boolean | undefined;
1387
+ resizable?: boolean | undefined;
1388
+ wrap?: boolean | undefined;
1389
+ type?: string | undefined;
1390
+ pinned?: "left" | "right" | undefined;
1391
+ summary?: "none" | "min" | "max" | "count" | "sum" | "avg" | "count_empty" | "count_filled" | "count_unique" | "percent_empty" | "percent_filled" | undefined;
1392
+ link?: boolean | undefined;
1393
+ action?: string | undefined;
1394
+ }[];
1395
+ name?: string | undefined;
1396
+ label?: string | undefined;
1397
+ data?: {
1398
+ provider: "object";
1399
+ object: string;
1400
+ } | {
1401
+ provider: "api";
1402
+ read?: {
1403
+ url: string;
1404
+ method: "GET" | "POST" | "DELETE" | "PATCH" | "PUT";
1405
+ headers?: Record<string, string> | undefined;
1406
+ params?: Record<string, unknown> | undefined;
1407
+ body?: unknown;
1408
+ } | undefined;
1409
+ write?: {
1410
+ url: string;
1411
+ method: "GET" | "POST" | "DELETE" | "PATCH" | "PUT";
1412
+ headers?: Record<string, string> | undefined;
1413
+ params?: Record<string, unknown> | undefined;
1414
+ body?: unknown;
1415
+ } | undefined;
1416
+ } | {
1417
+ provider: "value";
1418
+ items: unknown[];
1419
+ } | undefined;
1420
+ filter?: {
1421
+ field: string;
1422
+ operator: string;
1423
+ value?: string | number | boolean | (string | number)[] | null | undefined;
1424
+ }[] | undefined;
1425
+ sort?: string | {
1426
+ field: string;
1427
+ order: "asc" | "desc";
1428
+ }[] | undefined;
1429
+ searchableFields?: string[] | undefined;
1430
+ filterableFields?: string[] | undefined;
1431
+ resizable?: boolean | undefined;
1432
+ striped?: boolean | undefined;
1433
+ bordered?: boolean | undefined;
1434
+ compactToolbar?: boolean | undefined;
1435
+ selection?: {
1436
+ type: "none" | "multiple" | "single";
1437
+ } | undefined;
1438
+ navigation?: {
1439
+ mode: "none" | "split" | "page" | "modal" | "drawer" | "popover" | "new_window";
1440
+ preventNavigation: boolean;
1441
+ openNewTab: boolean;
1442
+ view?: string | undefined;
1443
+ width?: string | number | undefined;
1444
+ } | undefined;
1445
+ pagination?: {
1446
+ pageSize: number;
1447
+ pageSizeOptions?: number[] | undefined;
1448
+ } | undefined;
1449
+ kanban?: {
1450
+ groupByField: string;
1451
+ columns: string[];
1452
+ summarizeField?: string | undefined;
1453
+ } | undefined;
1454
+ calendar?: {
1455
+ startDateField: string;
1456
+ titleField: string;
1457
+ endDateField?: string | undefined;
1458
+ colorField?: string | undefined;
1459
+ } | undefined;
1460
+ gantt?: {
1461
+ startDateField: string;
1462
+ endDateField: string;
1463
+ titleField: string;
1464
+ progressField?: string | undefined;
1465
+ dependenciesField?: string | undefined;
1466
+ } | undefined;
1467
+ gallery?: {
1468
+ coverFit: "cover" | "contain";
1469
+ cardSize: "small" | "medium" | "large";
1470
+ coverField?: string | undefined;
1471
+ titleField?: string | undefined;
1472
+ visibleFields?: string[] | undefined;
1473
+ } | undefined;
1474
+ timeline?: {
1475
+ startDateField: string;
1476
+ titleField: string;
1477
+ scale: "day" | "week" | "month" | "quarter" | "year" | "hour";
1478
+ endDateField?: string | undefined;
1479
+ groupByField?: string | undefined;
1480
+ colorField?: string | undefined;
1481
+ } | undefined;
1482
+ chart?: {
1483
+ chartType: "bar" | "line" | "pie" | "area" | "scatter";
1484
+ xAxisField: string;
1485
+ yAxisFields: string[];
1486
+ aggregation?: "min" | "max" | "count" | "sum" | "avg" | undefined;
1487
+ groupByField?: string | undefined;
1488
+ } | undefined;
1489
+ description?: string | undefined;
1490
+ sharing?: {
1491
+ type: "personal" | "collaborative";
1492
+ lockedBy?: string | undefined;
1493
+ } | undefined;
1494
+ rowHeight?: "medium" | "short" | "compact" | "tall" | "extra_tall" | undefined;
1495
+ grouping?: {
1496
+ fields: {
1497
+ field: string;
1498
+ order: "asc" | "desc";
1499
+ collapsed: boolean;
1500
+ }[];
1501
+ } | undefined;
1502
+ rowColor?: {
1503
+ field: string;
1504
+ colors?: Record<string, string> | undefined;
1505
+ } | undefined;
1506
+ hiddenFields?: string[] | undefined;
1507
+ fieldOrder?: string[] | undefined;
1508
+ rowActions?: string[] | undefined;
1509
+ bulkActions?: string[] | undefined;
1510
+ bulkActionDefs?: Record<string, any>[] | undefined;
1511
+ virtualScroll?: boolean | undefined;
1512
+ conditionalFormatting?: {
1513
+ condition: {
1514
+ dialect: "cel" | "js" | "cron" | "template";
1515
+ source?: string | undefined;
1516
+ ast?: unknown;
1517
+ meta?: {
1518
+ rationale?: string | undefined;
1519
+ generatedBy?: string | undefined;
1520
+ } | undefined;
1521
+ } | {
1522
+ dialect: "cel" | "js" | "cron" | "template";
1523
+ source?: string | undefined;
1524
+ ast?: unknown;
1525
+ meta?: {
1526
+ rationale?: string | undefined;
1527
+ generatedBy?: string | undefined;
1528
+ } | undefined;
1529
+ };
1530
+ style: Record<string, string>;
1531
+ }[] | undefined;
1532
+ inlineEdit?: boolean | undefined;
1533
+ exportOptions?: ("json" | "csv" | "xlsx" | "pdf")[] | undefined;
1534
+ userActions?: {
1535
+ sort: boolean;
1536
+ search: boolean;
1537
+ filter: boolean;
1538
+ rowHeight: boolean;
1539
+ addRecordForm: boolean;
1540
+ buttons?: string[] | undefined;
1541
+ } | undefined;
1542
+ appearance?: {
1543
+ showDescription: boolean;
1544
+ allowedVisualizations?: ("map" | "kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "grid")[] | undefined;
1545
+ } | undefined;
1546
+ tabs?: {
1547
+ name: string;
1548
+ pinned: boolean;
1549
+ isDefault: boolean;
1550
+ visible: boolean;
1551
+ label?: string | undefined;
1552
+ icon?: string | undefined;
1553
+ view?: string | undefined;
1554
+ filter?: {
1555
+ field: string;
1556
+ operator: string;
1557
+ value?: string | number | boolean | (string | number)[] | null | undefined;
1558
+ }[] | undefined;
1559
+ order?: number | undefined;
1560
+ }[] | undefined;
1561
+ addRecord?: {
1562
+ enabled: boolean;
1563
+ position: "top" | "bottom" | "both";
1564
+ mode: "modal" | "inline" | "form";
1565
+ formView?: string | undefined;
1566
+ } | undefined;
1567
+ showRecordCount?: boolean | undefined;
1568
+ allowPrinting?: boolean | undefined;
1569
+ emptyState?: {
1570
+ title?: string | undefined;
1571
+ message?: string | undefined;
1572
+ icon?: string | undefined;
1573
+ } | undefined;
1574
+ aria?: {
1575
+ ariaLabel?: string | undefined;
1576
+ ariaDescribedBy?: string | undefined;
1577
+ role?: string | undefined;
1578
+ } | undefined;
1579
+ responsive?: {
1580
+ breakpoint?: "md" | "xs" | "sm" | "lg" | "xl" | "2xl" | undefined;
1581
+ hiddenOn?: ("md" | "xs" | "sm" | "lg" | "xl" | "2xl")[] | undefined;
1582
+ columns?: {
1583
+ xs?: number | undefined;
1584
+ sm?: number | undefined;
1585
+ md?: number | undefined;
1586
+ lg?: number | undefined;
1587
+ xl?: number | undefined;
1588
+ '2xl'?: number | undefined;
1589
+ } | undefined;
1590
+ order?: {
1591
+ xs?: number | undefined;
1592
+ sm?: number | undefined;
1593
+ md?: number | undefined;
1594
+ lg?: number | undefined;
1595
+ xl?: number | undefined;
1596
+ '2xl'?: number | undefined;
1597
+ } | undefined;
1598
+ } | undefined;
1599
+ performance?: {
1600
+ lazyLoad?: boolean | undefined;
1601
+ virtualScroll?: {
1602
+ enabled: boolean;
1603
+ itemHeight?: number | undefined;
1604
+ overscan?: number | undefined;
1605
+ } | undefined;
1606
+ cacheStrategy?: "none" | "cache-first" | "network-first" | "stale-while-revalidate" | undefined;
1607
+ prefetch?: boolean | undefined;
1608
+ pageSize?: number | undefined;
1609
+ debounceMs?: number | undefined;
1610
+ } | undefined;
1611
+ }> | undefined;
944
1612
  search?: {
945
1613
  fields: string[];
946
1614
  displayFields?: string[] | undefined;
@@ -956,10 +1624,10 @@ declare const AiConversationObject: Omit<{
956
1624
  trash: boolean;
957
1625
  mru: boolean;
958
1626
  clone: boolean;
959
- apiMethods?: ("search" | "upsert" | "list" | "update" | "delete" | "history" | "get" | "create" | "bulk" | "aggregate" | "restore" | "purge" | "import" | "export")[] | undefined;
1627
+ apiMethods?: ("search" | "upsert" | "create" | "import" | "delete" | "list" | "get" | "update" | "history" | "bulk" | "aggregate" | "restore" | "purge" | "export")[] | undefined;
960
1628
  } | undefined;
961
1629
  recordTypes?: string[] | undefined;
962
- sharingModel?: "private" | "full" | "read" | "read_write" | undefined;
1630
+ sharingModel?: "private" | "read" | "full" | "read_write" | undefined;
963
1631
  keyPrefix?: string | undefined;
964
1632
  actions?: {
965
1633
  name: string;
@@ -971,24 +1639,64 @@ declare const AiConversationObject: Omit<{
971
1639
  locations?: ("list_toolbar" | "list_item" | "record_header" | "record_more" | "record_related" | "global_nav")[] | undefined;
972
1640
  component?: "action:button" | "action:icon" | "action:menu" | "action:group" | undefined;
973
1641
  target?: string | undefined;
1642
+ body?: {
1643
+ language: "expression";
1644
+ source: string;
1645
+ } | {
1646
+ language: "js";
1647
+ source: string;
1648
+ capabilities: ("api.read" | "api.write" | "crypto.uuid" | "crypto.hash" | "log")[];
1649
+ timeoutMs?: number | undefined;
1650
+ memoryMb?: number | undefined;
1651
+ } | undefined;
974
1652
  execute?: string | undefined;
975
1653
  params?: {
976
- name: string;
977
- label: string;
978
- 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";
979
1654
  required: boolean;
1655
+ name?: string | undefined;
1656
+ field?: string | undefined;
1657
+ objectOverride?: string | undefined;
1658
+ label?: string | undefined;
1659
+ type?: "number" | "boolean" | "date" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
980
1660
  options?: {
981
1661
  label: string;
982
1662
  value: string;
983
1663
  }[] | undefined;
1664
+ placeholder?: string | undefined;
1665
+ helpText?: string | undefined;
1666
+ defaultValue?: unknown;
1667
+ defaultFromRow?: boolean | undefined;
984
1668
  }[] | undefined;
985
1669
  variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
986
1670
  confirmText?: string | undefined;
987
1671
  successMessage?: string | undefined;
988
- visible?: string | undefined;
989
- disabled?: string | boolean | undefined;
1672
+ visible?: {
1673
+ dialect: "cel" | "js" | "cron" | "template";
1674
+ source?: string | undefined;
1675
+ ast?: unknown;
1676
+ meta?: {
1677
+ rationale?: string | undefined;
1678
+ generatedBy?: string | undefined;
1679
+ } | undefined;
1680
+ } | undefined;
1681
+ disabled?: boolean | {
1682
+ dialect: "cel" | "js" | "cron" | "template";
1683
+ source?: string | undefined;
1684
+ ast?: unknown;
1685
+ meta?: {
1686
+ rationale?: string | undefined;
1687
+ generatedBy?: string | undefined;
1688
+ } | undefined;
1689
+ } | undefined;
990
1690
  shortcut?: string | undefined;
991
1691
  bulkEnabled?: boolean | undefined;
1692
+ recordIdParam?: string | undefined;
1693
+ recordIdField?: string | undefined;
1694
+ bodyShape?: "flat" | {
1695
+ wrap: string;
1696
+ } | undefined;
1697
+ method?: "POST" | "PATCH" | "PUT" | "DELETE" | undefined;
1698
+ bodyExtra?: Record<string, unknown> | undefined;
1699
+ mode?: "custom" | "delete" | "create" | "edit" | undefined;
992
1700
  timeout?: number | undefined;
993
1701
  aria?: {
994
1702
  ariaLabel?: string | undefined;
@@ -997,8 +1705,7 @@ declare const AiConversationObject: Omit<{
997
1705
  } | undefined;
998
1706
  }[] | undefined;
999
1707
  }, "fields"> & Pick<{
1000
- readonly namespace: "ai";
1001
- readonly name: "conversations";
1708
+ readonly name: "ai_conversations";
1002
1709
  readonly label: "AI Conversation";
1003
1710
  readonly pluralLabel: "AI Conversations";
1004
1711
  readonly icon: "message-square";
@@ -1006,13 +1713,27 @@ declare const AiConversationObject: Omit<{
1006
1713
  readonly description: "Persistent AI conversation metadata";
1007
1714
  readonly fields: {
1008
1715
  readonly id: {
1009
- readonly format?: string | undefined;
1010
- readonly expression?: string | undefined;
1011
1716
  readonly readonly?: boolean | undefined;
1012
- readonly defaultValue?: unknown;
1717
+ readonly format?: string | undefined;
1718
+ readonly options?: {
1719
+ label: string;
1720
+ value: string;
1721
+ color?: string | undefined;
1722
+ default?: boolean | undefined;
1723
+ }[] | undefined;
1724
+ readonly description?: string | undefined;
1725
+ readonly label?: string | undefined;
1726
+ readonly name?: string | undefined;
1727
+ readonly precision?: number | undefined;
1728
+ readonly required?: boolean | undefined;
1729
+ readonly multiple?: boolean | undefined;
1730
+ readonly dependencies?: string[] | undefined;
1731
+ readonly theme?: string | undefined;
1732
+ readonly externalId?: boolean | undefined;
1733
+ readonly system?: boolean | undefined;
1013
1734
  readonly min?: number | undefined;
1014
1735
  readonly max?: number | undefined;
1015
- readonly name?: string | undefined;
1736
+ readonly group?: string | undefined;
1016
1737
  readonly encryptionConfig?: {
1017
1738
  enabled: boolean;
1018
1739
  algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
@@ -1026,38 +1747,36 @@ declare const AiConversationObject: Omit<{
1026
1747
  autoRotate: boolean;
1027
1748
  } | undefined;
1028
1749
  };
1029
- scope: "table" | "record" | "field" | "database";
1750
+ scope: "record" | "field" | "table" | "database";
1030
1751
  deterministicEncryption: boolean;
1031
1752
  searchableEncryption: boolean;
1032
1753
  } | undefined;
1033
- readonly label?: string | undefined;
1034
- readonly precision?: number | undefined;
1035
- readonly description?: string | undefined;
1036
1754
  readonly columnName?: string | undefined;
1037
- readonly required?: boolean | undefined;
1038
1755
  readonly searchable?: boolean | undefined;
1039
- readonly multiple?: boolean | undefined;
1040
1756
  readonly unique?: boolean | undefined;
1757
+ readonly defaultValue?: unknown;
1041
1758
  readonly maxLength?: number | undefined;
1042
1759
  readonly minLength?: number | undefined;
1043
1760
  readonly scale?: number | undefined;
1044
- readonly options?: {
1045
- label: string;
1046
- value: string;
1047
- color?: string | undefined;
1048
- default?: boolean | undefined;
1049
- }[] | undefined;
1050
1761
  readonly reference?: string | undefined;
1051
1762
  readonly referenceFilters?: string[] | undefined;
1052
1763
  readonly writeRequiresMasterRead?: boolean | undefined;
1053
1764
  readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
1765
+ readonly expression?: {
1766
+ dialect: "cel" | "js" | "cron" | "template";
1767
+ source?: string | undefined;
1768
+ ast?: unknown;
1769
+ meta?: {
1770
+ rationale?: string | undefined;
1771
+ generatedBy?: string | undefined;
1772
+ } | undefined;
1773
+ } | undefined;
1054
1774
  readonly summaryOperations?: {
1055
1775
  object: string;
1056
1776
  field: string;
1057
- function: "count" | "sum" | "avg" | "min" | "max";
1777
+ function: "min" | "max" | "count" | "sum" | "avg";
1058
1778
  } | undefined;
1059
1779
  readonly language?: string | undefined;
1060
- readonly theme?: string | undefined;
1061
1780
  readonly lineNumbers?: boolean | undefined;
1062
1781
  readonly maxRating?: number | undefined;
1063
1782
  readonly allowHalf?: boolean | undefined;
@@ -1076,7 +1795,7 @@ declare const AiConversationObject: Omit<{
1076
1795
  readonly allowScanning?: boolean | undefined;
1077
1796
  readonly currencyConfig?: {
1078
1797
  precision: number;
1079
- currencyMode: "dynamic" | "fixed";
1798
+ currencyMode: "fixed" | "dynamic";
1080
1799
  defaultCurrency: string;
1081
1800
  } | undefined;
1082
1801
  readonly vectorConfig?: {
@@ -1084,7 +1803,7 @@ declare const AiConversationObject: Omit<{
1084
1803
  distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
1085
1804
  normalized: boolean;
1086
1805
  indexed: boolean;
1087
- indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
1806
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
1088
1807
  } | undefined;
1089
1808
  readonly fileAttachmentConfig?: {
1090
1809
  virusScan: boolean;
@@ -1129,7 +1848,7 @@ declare const AiConversationObject: Omit<{
1129
1848
  } | undefined;
1130
1849
  readonly maskingRule?: {
1131
1850
  field: string;
1132
- strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
1851
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
1133
1852
  preserveFormat: boolean;
1134
1853
  preserveLength: boolean;
1135
1854
  pattern?: string | undefined;
@@ -1137,7 +1856,6 @@ declare const AiConversationObject: Omit<{
1137
1856
  exemptRoles?: string[] | undefined;
1138
1857
  } | undefined;
1139
1858
  readonly auditTrail?: boolean | undefined;
1140
- readonly dependencies?: string[] | undefined;
1141
1859
  readonly cached?: {
1142
1860
  enabled: boolean;
1143
1861
  ttl: number;
@@ -1151,8 +1869,15 @@ declare const AiConversationObject: Omit<{
1151
1869
  threshold: number;
1152
1870
  } | undefined;
1153
1871
  } | undefined;
1154
- readonly group?: string | undefined;
1155
- readonly conditionalRequired?: string | undefined;
1872
+ readonly conditionalRequired?: {
1873
+ dialect: "cel" | "js" | "cron" | "template";
1874
+ source?: string | undefined;
1875
+ ast?: unknown;
1876
+ meta?: {
1877
+ rationale?: string | undefined;
1878
+ generatedBy?: string | undefined;
1879
+ } | undefined;
1880
+ } | undefined;
1156
1881
  readonly hidden?: boolean | undefined;
1157
1882
  readonly sortable?: boolean | undefined;
1158
1883
  readonly inlineHelpText?: string | undefined;
@@ -1160,17 +1885,30 @@ declare const AiConversationObject: Omit<{
1160
1885
  readonly caseSensitive?: boolean | undefined;
1161
1886
  readonly autonumberFormat?: string | undefined;
1162
1887
  readonly index?: boolean | undefined;
1163
- readonly externalId?: boolean | undefined;
1164
1888
  readonly type: "text";
1165
1889
  };
1166
1890
  readonly title: {
1167
- readonly format?: string | undefined;
1168
- readonly expression?: string | undefined;
1169
1891
  readonly readonly?: boolean | undefined;
1170
- readonly defaultValue?: unknown;
1892
+ readonly format?: string | undefined;
1893
+ readonly options?: {
1894
+ label: string;
1895
+ value: string;
1896
+ color?: string | undefined;
1897
+ default?: boolean | undefined;
1898
+ }[] | undefined;
1899
+ readonly description?: string | undefined;
1900
+ readonly label?: string | undefined;
1901
+ readonly name?: string | undefined;
1902
+ readonly precision?: number | undefined;
1903
+ readonly required?: boolean | undefined;
1904
+ readonly multiple?: boolean | undefined;
1905
+ readonly dependencies?: string[] | undefined;
1906
+ readonly theme?: string | undefined;
1907
+ readonly externalId?: boolean | undefined;
1908
+ readonly system?: boolean | undefined;
1171
1909
  readonly min?: number | undefined;
1172
1910
  readonly max?: number | undefined;
1173
- readonly name?: string | undefined;
1911
+ readonly group?: string | undefined;
1174
1912
  readonly encryptionConfig?: {
1175
1913
  enabled: boolean;
1176
1914
  algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
@@ -1184,38 +1922,36 @@ declare const AiConversationObject: Omit<{
1184
1922
  autoRotate: boolean;
1185
1923
  } | undefined;
1186
1924
  };
1187
- scope: "table" | "record" | "field" | "database";
1925
+ scope: "record" | "field" | "table" | "database";
1188
1926
  deterministicEncryption: boolean;
1189
1927
  searchableEncryption: boolean;
1190
1928
  } | undefined;
1191
- readonly label?: string | undefined;
1192
- readonly precision?: number | undefined;
1193
- readonly description?: string | undefined;
1194
1929
  readonly columnName?: string | undefined;
1195
- readonly required?: boolean | undefined;
1196
1930
  readonly searchable?: boolean | undefined;
1197
- readonly multiple?: boolean | undefined;
1198
1931
  readonly unique?: boolean | undefined;
1932
+ readonly defaultValue?: unknown;
1199
1933
  readonly maxLength?: number | undefined;
1200
1934
  readonly minLength?: number | undefined;
1201
1935
  readonly scale?: number | undefined;
1202
- readonly options?: {
1203
- label: string;
1204
- value: string;
1205
- color?: string | undefined;
1206
- default?: boolean | undefined;
1207
- }[] | undefined;
1208
1936
  readonly reference?: string | undefined;
1209
1937
  readonly referenceFilters?: string[] | undefined;
1210
1938
  readonly writeRequiresMasterRead?: boolean | undefined;
1211
1939
  readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
1940
+ readonly expression?: {
1941
+ dialect: "cel" | "js" | "cron" | "template";
1942
+ source?: string | undefined;
1943
+ ast?: unknown;
1944
+ meta?: {
1945
+ rationale?: string | undefined;
1946
+ generatedBy?: string | undefined;
1947
+ } | undefined;
1948
+ } | undefined;
1212
1949
  readonly summaryOperations?: {
1213
1950
  object: string;
1214
1951
  field: string;
1215
- function: "count" | "sum" | "avg" | "min" | "max";
1952
+ function: "min" | "max" | "count" | "sum" | "avg";
1216
1953
  } | undefined;
1217
1954
  readonly language?: string | undefined;
1218
- readonly theme?: string | undefined;
1219
1955
  readonly lineNumbers?: boolean | undefined;
1220
1956
  readonly maxRating?: number | undefined;
1221
1957
  readonly allowHalf?: boolean | undefined;
@@ -1234,7 +1970,7 @@ declare const AiConversationObject: Omit<{
1234
1970
  readonly allowScanning?: boolean | undefined;
1235
1971
  readonly currencyConfig?: {
1236
1972
  precision: number;
1237
- currencyMode: "dynamic" | "fixed";
1973
+ currencyMode: "fixed" | "dynamic";
1238
1974
  defaultCurrency: string;
1239
1975
  } | undefined;
1240
1976
  readonly vectorConfig?: {
@@ -1242,7 +1978,7 @@ declare const AiConversationObject: Omit<{
1242
1978
  distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
1243
1979
  normalized: boolean;
1244
1980
  indexed: boolean;
1245
- indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
1981
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
1246
1982
  } | undefined;
1247
1983
  readonly fileAttachmentConfig?: {
1248
1984
  virusScan: boolean;
@@ -1287,7 +2023,7 @@ declare const AiConversationObject: Omit<{
1287
2023
  } | undefined;
1288
2024
  readonly maskingRule?: {
1289
2025
  field: string;
1290
- strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
2026
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
1291
2027
  preserveFormat: boolean;
1292
2028
  preserveLength: boolean;
1293
2029
  pattern?: string | undefined;
@@ -1295,7 +2031,6 @@ declare const AiConversationObject: Omit<{
1295
2031
  exemptRoles?: string[] | undefined;
1296
2032
  } | undefined;
1297
2033
  readonly auditTrail?: boolean | undefined;
1298
- readonly dependencies?: string[] | undefined;
1299
2034
  readonly cached?: {
1300
2035
  enabled: boolean;
1301
2036
  ttl: number;
@@ -1309,8 +2044,15 @@ declare const AiConversationObject: Omit<{
1309
2044
  threshold: number;
1310
2045
  } | undefined;
1311
2046
  } | undefined;
1312
- readonly group?: string | undefined;
1313
- readonly conditionalRequired?: string | undefined;
2047
+ readonly conditionalRequired?: {
2048
+ dialect: "cel" | "js" | "cron" | "template";
2049
+ source?: string | undefined;
2050
+ ast?: unknown;
2051
+ meta?: {
2052
+ rationale?: string | undefined;
2053
+ generatedBy?: string | undefined;
2054
+ } | undefined;
2055
+ } | undefined;
1314
2056
  readonly hidden?: boolean | undefined;
1315
2057
  readonly sortable?: boolean | undefined;
1316
2058
  readonly inlineHelpText?: string | undefined;
@@ -1318,17 +2060,30 @@ declare const AiConversationObject: Omit<{
1318
2060
  readonly caseSensitive?: boolean | undefined;
1319
2061
  readonly autonumberFormat?: string | undefined;
1320
2062
  readonly index?: boolean | undefined;
1321
- readonly externalId?: boolean | undefined;
1322
2063
  readonly type: "text";
1323
2064
  };
1324
2065
  readonly agent_id: {
1325
- readonly format?: string | undefined;
1326
- readonly expression?: string | undefined;
1327
2066
  readonly readonly?: boolean | undefined;
1328
- readonly defaultValue?: unknown;
2067
+ readonly format?: string | undefined;
2068
+ readonly options?: {
2069
+ label: string;
2070
+ value: string;
2071
+ color?: string | undefined;
2072
+ default?: boolean | undefined;
2073
+ }[] | undefined;
2074
+ readonly description?: string | undefined;
2075
+ readonly label?: string | undefined;
2076
+ readonly name?: string | undefined;
2077
+ readonly precision?: number | undefined;
2078
+ readonly required?: boolean | undefined;
2079
+ readonly multiple?: boolean | undefined;
2080
+ readonly dependencies?: string[] | undefined;
2081
+ readonly theme?: string | undefined;
2082
+ readonly externalId?: boolean | undefined;
2083
+ readonly system?: boolean | undefined;
1329
2084
  readonly min?: number | undefined;
1330
2085
  readonly max?: number | undefined;
1331
- readonly name?: string | undefined;
2086
+ readonly group?: string | undefined;
1332
2087
  readonly encryptionConfig?: {
1333
2088
  enabled: boolean;
1334
2089
  algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
@@ -1342,38 +2097,36 @@ declare const AiConversationObject: Omit<{
1342
2097
  autoRotate: boolean;
1343
2098
  } | undefined;
1344
2099
  };
1345
- scope: "table" | "record" | "field" | "database";
2100
+ scope: "record" | "field" | "table" | "database";
1346
2101
  deterministicEncryption: boolean;
1347
2102
  searchableEncryption: boolean;
1348
2103
  } | undefined;
1349
- readonly label?: string | undefined;
1350
- readonly precision?: number | undefined;
1351
- readonly description?: string | undefined;
1352
2104
  readonly columnName?: string | undefined;
1353
- readonly required?: boolean | undefined;
1354
2105
  readonly searchable?: boolean | undefined;
1355
- readonly multiple?: boolean | undefined;
1356
2106
  readonly unique?: boolean | undefined;
2107
+ readonly defaultValue?: unknown;
1357
2108
  readonly maxLength?: number | undefined;
1358
2109
  readonly minLength?: number | undefined;
1359
2110
  readonly scale?: number | undefined;
1360
- readonly options?: {
1361
- label: string;
1362
- value: string;
1363
- color?: string | undefined;
1364
- default?: boolean | undefined;
1365
- }[] | undefined;
1366
2111
  readonly reference?: string | undefined;
1367
2112
  readonly referenceFilters?: string[] | undefined;
1368
2113
  readonly writeRequiresMasterRead?: boolean | undefined;
1369
2114
  readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
2115
+ readonly expression?: {
2116
+ dialect: "cel" | "js" | "cron" | "template";
2117
+ source?: string | undefined;
2118
+ ast?: unknown;
2119
+ meta?: {
2120
+ rationale?: string | undefined;
2121
+ generatedBy?: string | undefined;
2122
+ } | undefined;
2123
+ } | undefined;
1370
2124
  readonly summaryOperations?: {
1371
2125
  object: string;
1372
2126
  field: string;
1373
- function: "count" | "sum" | "avg" | "min" | "max";
2127
+ function: "min" | "max" | "count" | "sum" | "avg";
1374
2128
  } | undefined;
1375
2129
  readonly language?: string | undefined;
1376
- readonly theme?: string | undefined;
1377
2130
  readonly lineNumbers?: boolean | undefined;
1378
2131
  readonly maxRating?: number | undefined;
1379
2132
  readonly allowHalf?: boolean | undefined;
@@ -1392,7 +2145,7 @@ declare const AiConversationObject: Omit<{
1392
2145
  readonly allowScanning?: boolean | undefined;
1393
2146
  readonly currencyConfig?: {
1394
2147
  precision: number;
1395
- currencyMode: "dynamic" | "fixed";
2148
+ currencyMode: "fixed" | "dynamic";
1396
2149
  defaultCurrency: string;
1397
2150
  } | undefined;
1398
2151
  readonly vectorConfig?: {
@@ -1400,7 +2153,7 @@ declare const AiConversationObject: Omit<{
1400
2153
  distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
1401
2154
  normalized: boolean;
1402
2155
  indexed: boolean;
1403
- indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
2156
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
1404
2157
  } | undefined;
1405
2158
  readonly fileAttachmentConfig?: {
1406
2159
  virusScan: boolean;
@@ -1445,7 +2198,7 @@ declare const AiConversationObject: Omit<{
1445
2198
  } | undefined;
1446
2199
  readonly maskingRule?: {
1447
2200
  field: string;
1448
- strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
2201
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
1449
2202
  preserveFormat: boolean;
1450
2203
  preserveLength: boolean;
1451
2204
  pattern?: string | undefined;
@@ -1453,7 +2206,6 @@ declare const AiConversationObject: Omit<{
1453
2206
  exemptRoles?: string[] | undefined;
1454
2207
  } | undefined;
1455
2208
  readonly auditTrail?: boolean | undefined;
1456
- readonly dependencies?: string[] | undefined;
1457
2209
  readonly cached?: {
1458
2210
  enabled: boolean;
1459
2211
  ttl: number;
@@ -1467,8 +2219,15 @@ declare const AiConversationObject: Omit<{
1467
2219
  threshold: number;
1468
2220
  } | undefined;
1469
2221
  } | undefined;
1470
- readonly group?: string | undefined;
1471
- readonly conditionalRequired?: string | undefined;
2222
+ readonly conditionalRequired?: {
2223
+ dialect: "cel" | "js" | "cron" | "template";
2224
+ source?: string | undefined;
2225
+ ast?: unknown;
2226
+ meta?: {
2227
+ rationale?: string | undefined;
2228
+ generatedBy?: string | undefined;
2229
+ } | undefined;
2230
+ } | undefined;
1472
2231
  readonly hidden?: boolean | undefined;
1473
2232
  readonly sortable?: boolean | undefined;
1474
2233
  readonly inlineHelpText?: string | undefined;
@@ -1476,17 +2235,30 @@ declare const AiConversationObject: Omit<{
1476
2235
  readonly caseSensitive?: boolean | undefined;
1477
2236
  readonly autonumberFormat?: string | undefined;
1478
2237
  readonly index?: boolean | undefined;
1479
- readonly externalId?: boolean | undefined;
1480
2238
  readonly type: "text";
1481
2239
  };
1482
2240
  readonly user_id: {
1483
- readonly format?: string | undefined;
1484
- readonly expression?: string | undefined;
1485
2241
  readonly readonly?: boolean | undefined;
1486
- readonly defaultValue?: unknown;
2242
+ readonly format?: string | undefined;
2243
+ readonly options?: {
2244
+ label: string;
2245
+ value: string;
2246
+ color?: string | undefined;
2247
+ default?: boolean | undefined;
2248
+ }[] | undefined;
2249
+ readonly description?: string | undefined;
2250
+ readonly label?: string | undefined;
2251
+ readonly name?: string | undefined;
2252
+ readonly precision?: number | undefined;
2253
+ readonly required?: boolean | undefined;
2254
+ readonly multiple?: boolean | undefined;
2255
+ readonly dependencies?: string[] | undefined;
2256
+ readonly theme?: string | undefined;
2257
+ readonly externalId?: boolean | undefined;
2258
+ readonly system?: boolean | undefined;
1487
2259
  readonly min?: number | undefined;
1488
2260
  readonly max?: number | undefined;
1489
- readonly name?: string | undefined;
2261
+ readonly group?: string | undefined;
1490
2262
  readonly encryptionConfig?: {
1491
2263
  enabled: boolean;
1492
2264
  algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
@@ -1500,38 +2272,36 @@ declare const AiConversationObject: Omit<{
1500
2272
  autoRotate: boolean;
1501
2273
  } | undefined;
1502
2274
  };
1503
- scope: "table" | "record" | "field" | "database";
2275
+ scope: "record" | "field" | "table" | "database";
1504
2276
  deterministicEncryption: boolean;
1505
2277
  searchableEncryption: boolean;
1506
2278
  } | undefined;
1507
- readonly label?: string | undefined;
1508
- readonly precision?: number | undefined;
1509
- readonly description?: string | undefined;
1510
2279
  readonly columnName?: string | undefined;
1511
- readonly required?: boolean | undefined;
1512
2280
  readonly searchable?: boolean | undefined;
1513
- readonly multiple?: boolean | undefined;
1514
2281
  readonly unique?: boolean | undefined;
2282
+ readonly defaultValue?: unknown;
1515
2283
  readonly maxLength?: number | undefined;
1516
2284
  readonly minLength?: number | undefined;
1517
2285
  readonly scale?: number | undefined;
1518
- readonly options?: {
1519
- label: string;
1520
- value: string;
1521
- color?: string | undefined;
1522
- default?: boolean | undefined;
1523
- }[] | undefined;
1524
- readonly reference?: string | undefined;
2286
+ reference: string;
1525
2287
  readonly referenceFilters?: string[] | undefined;
1526
2288
  readonly writeRequiresMasterRead?: boolean | undefined;
1527
2289
  readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
2290
+ readonly expression?: {
2291
+ dialect: "cel" | "js" | "cron" | "template";
2292
+ source?: string | undefined;
2293
+ ast?: unknown;
2294
+ meta?: {
2295
+ rationale?: string | undefined;
2296
+ generatedBy?: string | undefined;
2297
+ } | undefined;
2298
+ } | undefined;
1528
2299
  readonly summaryOperations?: {
1529
2300
  object: string;
1530
2301
  field: string;
1531
- function: "count" | "sum" | "avg" | "min" | "max";
2302
+ function: "min" | "max" | "count" | "sum" | "avg";
1532
2303
  } | undefined;
1533
2304
  readonly language?: string | undefined;
1534
- readonly theme?: string | undefined;
1535
2305
  readonly lineNumbers?: boolean | undefined;
1536
2306
  readonly maxRating?: number | undefined;
1537
2307
  readonly allowHalf?: boolean | undefined;
@@ -1550,7 +2320,7 @@ declare const AiConversationObject: Omit<{
1550
2320
  readonly allowScanning?: boolean | undefined;
1551
2321
  readonly currencyConfig?: {
1552
2322
  precision: number;
1553
- currencyMode: "dynamic" | "fixed";
2323
+ currencyMode: "fixed" | "dynamic";
1554
2324
  defaultCurrency: string;
1555
2325
  } | undefined;
1556
2326
  readonly vectorConfig?: {
@@ -1558,7 +2328,7 @@ declare const AiConversationObject: Omit<{
1558
2328
  distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
1559
2329
  normalized: boolean;
1560
2330
  indexed: boolean;
1561
- indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
2331
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
1562
2332
  } | undefined;
1563
2333
  readonly fileAttachmentConfig?: {
1564
2334
  virusScan: boolean;
@@ -1603,7 +2373,7 @@ declare const AiConversationObject: Omit<{
1603
2373
  } | undefined;
1604
2374
  readonly maskingRule?: {
1605
2375
  field: string;
1606
- strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
2376
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
1607
2377
  preserveFormat: boolean;
1608
2378
  preserveLength: boolean;
1609
2379
  pattern?: string | undefined;
@@ -1611,7 +2381,6 @@ declare const AiConversationObject: Omit<{
1611
2381
  exemptRoles?: string[] | undefined;
1612
2382
  } | undefined;
1613
2383
  readonly auditTrail?: boolean | undefined;
1614
- readonly dependencies?: string[] | undefined;
1615
2384
  readonly cached?: {
1616
2385
  enabled: boolean;
1617
2386
  ttl: number;
@@ -1625,8 +2394,15 @@ declare const AiConversationObject: Omit<{
1625
2394
  threshold: number;
1626
2395
  } | undefined;
1627
2396
  } | undefined;
1628
- readonly group?: string | undefined;
1629
- readonly conditionalRequired?: string | undefined;
2397
+ readonly conditionalRequired?: {
2398
+ dialect: "cel" | "js" | "cron" | "template";
2399
+ source?: string | undefined;
2400
+ ast?: unknown;
2401
+ meta?: {
2402
+ rationale?: string | undefined;
2403
+ generatedBy?: string | undefined;
2404
+ } | undefined;
2405
+ } | undefined;
1630
2406
  readonly hidden?: boolean | undefined;
1631
2407
  readonly sortable?: boolean | undefined;
1632
2408
  readonly inlineHelpText?: string | undefined;
@@ -1634,17 +2410,30 @@ declare const AiConversationObject: Omit<{
1634
2410
  readonly caseSensitive?: boolean | undefined;
1635
2411
  readonly autonumberFormat?: string | undefined;
1636
2412
  readonly index?: boolean | undefined;
1637
- readonly externalId?: boolean | undefined;
1638
- readonly type: "text";
2413
+ readonly type: "lookup";
1639
2414
  };
1640
2415
  readonly metadata: {
1641
- readonly format?: string | undefined;
1642
- readonly expression?: string | undefined;
1643
2416
  readonly readonly?: boolean | undefined;
1644
- readonly defaultValue?: unknown;
2417
+ readonly format?: string | undefined;
2418
+ readonly options?: {
2419
+ label: string;
2420
+ value: string;
2421
+ color?: string | undefined;
2422
+ default?: boolean | undefined;
2423
+ }[] | undefined;
2424
+ readonly description?: string | undefined;
2425
+ readonly label?: string | undefined;
2426
+ readonly name?: string | undefined;
2427
+ readonly precision?: number | undefined;
2428
+ readonly required?: boolean | undefined;
2429
+ readonly multiple?: boolean | undefined;
2430
+ readonly dependencies?: string[] | undefined;
2431
+ readonly theme?: string | undefined;
2432
+ readonly externalId?: boolean | undefined;
2433
+ readonly system?: boolean | undefined;
1645
2434
  readonly min?: number | undefined;
1646
2435
  readonly max?: number | undefined;
1647
- readonly name?: string | undefined;
2436
+ readonly group?: string | undefined;
1648
2437
  readonly encryptionConfig?: {
1649
2438
  enabled: boolean;
1650
2439
  algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
@@ -1658,38 +2447,36 @@ declare const AiConversationObject: Omit<{
1658
2447
  autoRotate: boolean;
1659
2448
  } | undefined;
1660
2449
  };
1661
- scope: "table" | "record" | "field" | "database";
2450
+ scope: "record" | "field" | "table" | "database";
1662
2451
  deterministicEncryption: boolean;
1663
2452
  searchableEncryption: boolean;
1664
2453
  } | undefined;
1665
- readonly label?: string | undefined;
1666
- readonly precision?: number | undefined;
1667
- readonly description?: string | undefined;
1668
2454
  readonly columnName?: string | undefined;
1669
- readonly required?: boolean | undefined;
1670
2455
  readonly searchable?: boolean | undefined;
1671
- readonly multiple?: boolean | undefined;
1672
2456
  readonly unique?: boolean | undefined;
2457
+ readonly defaultValue?: unknown;
1673
2458
  readonly maxLength?: number | undefined;
1674
2459
  readonly minLength?: number | undefined;
1675
2460
  readonly scale?: number | undefined;
1676
- readonly options?: {
1677
- label: string;
1678
- value: string;
1679
- color?: string | undefined;
1680
- default?: boolean | undefined;
1681
- }[] | undefined;
1682
2461
  readonly reference?: string | undefined;
1683
2462
  readonly referenceFilters?: string[] | undefined;
1684
2463
  readonly writeRequiresMasterRead?: boolean | undefined;
1685
2464
  readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
2465
+ readonly expression?: {
2466
+ dialect: "cel" | "js" | "cron" | "template";
2467
+ source?: string | undefined;
2468
+ ast?: unknown;
2469
+ meta?: {
2470
+ rationale?: string | undefined;
2471
+ generatedBy?: string | undefined;
2472
+ } | undefined;
2473
+ } | undefined;
1686
2474
  readonly summaryOperations?: {
1687
2475
  object: string;
1688
2476
  field: string;
1689
- function: "count" | "sum" | "avg" | "min" | "max";
2477
+ function: "min" | "max" | "count" | "sum" | "avg";
1690
2478
  } | undefined;
1691
2479
  readonly language?: string | undefined;
1692
- readonly theme?: string | undefined;
1693
2480
  readonly lineNumbers?: boolean | undefined;
1694
2481
  readonly maxRating?: number | undefined;
1695
2482
  readonly allowHalf?: boolean | undefined;
@@ -1708,7 +2495,7 @@ declare const AiConversationObject: Omit<{
1708
2495
  readonly allowScanning?: boolean | undefined;
1709
2496
  readonly currencyConfig?: {
1710
2497
  precision: number;
1711
- currencyMode: "dynamic" | "fixed";
2498
+ currencyMode: "fixed" | "dynamic";
1712
2499
  defaultCurrency: string;
1713
2500
  } | undefined;
1714
2501
  readonly vectorConfig?: {
@@ -1716,7 +2503,7 @@ declare const AiConversationObject: Omit<{
1716
2503
  distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
1717
2504
  normalized: boolean;
1718
2505
  indexed: boolean;
1719
- indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
2506
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
1720
2507
  } | undefined;
1721
2508
  readonly fileAttachmentConfig?: {
1722
2509
  virusScan: boolean;
@@ -1761,7 +2548,7 @@ declare const AiConversationObject: Omit<{
1761
2548
  } | undefined;
1762
2549
  readonly maskingRule?: {
1763
2550
  field: string;
1764
- strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
2551
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
1765
2552
  preserveFormat: boolean;
1766
2553
  preserveLength: boolean;
1767
2554
  pattern?: string | undefined;
@@ -1769,7 +2556,6 @@ declare const AiConversationObject: Omit<{
1769
2556
  exemptRoles?: string[] | undefined;
1770
2557
  } | undefined;
1771
2558
  readonly auditTrail?: boolean | undefined;
1772
- readonly dependencies?: string[] | undefined;
1773
2559
  readonly cached?: {
1774
2560
  enabled: boolean;
1775
2561
  ttl: number;
@@ -1783,8 +2569,15 @@ declare const AiConversationObject: Omit<{
1783
2569
  threshold: number;
1784
2570
  } | undefined;
1785
2571
  } | undefined;
1786
- readonly group?: string | undefined;
1787
- readonly conditionalRequired?: string | undefined;
2572
+ readonly conditionalRequired?: {
2573
+ dialect: "cel" | "js" | "cron" | "template";
2574
+ source?: string | undefined;
2575
+ ast?: unknown;
2576
+ meta?: {
2577
+ rationale?: string | undefined;
2578
+ generatedBy?: string | undefined;
2579
+ } | undefined;
2580
+ } | undefined;
1788
2581
  readonly hidden?: boolean | undefined;
1789
2582
  readonly sortable?: boolean | undefined;
1790
2583
  readonly inlineHelpText?: string | undefined;
@@ -1792,17 +2585,30 @@ declare const AiConversationObject: Omit<{
1792
2585
  readonly caseSensitive?: boolean | undefined;
1793
2586
  readonly autonumberFormat?: string | undefined;
1794
2587
  readonly index?: boolean | undefined;
1795
- readonly externalId?: boolean | undefined;
1796
2588
  readonly type: "textarea";
1797
2589
  };
1798
2590
  readonly created_at: {
1799
- readonly format?: string | undefined;
1800
- readonly expression?: string | undefined;
1801
2591
  readonly readonly?: boolean | undefined;
1802
- readonly defaultValue?: unknown;
2592
+ readonly format?: string | undefined;
2593
+ readonly options?: {
2594
+ label: string;
2595
+ value: string;
2596
+ color?: string | undefined;
2597
+ default?: boolean | undefined;
2598
+ }[] | undefined;
2599
+ readonly description?: string | undefined;
2600
+ readonly label?: string | undefined;
2601
+ readonly name?: string | undefined;
2602
+ readonly precision?: number | undefined;
2603
+ readonly required?: boolean | undefined;
2604
+ readonly multiple?: boolean | undefined;
2605
+ readonly dependencies?: string[] | undefined;
2606
+ readonly theme?: string | undefined;
2607
+ readonly externalId?: boolean | undefined;
2608
+ readonly system?: boolean | undefined;
1803
2609
  readonly min?: number | undefined;
1804
2610
  readonly max?: number | undefined;
1805
- readonly name?: string | undefined;
2611
+ readonly group?: string | undefined;
1806
2612
  readonly encryptionConfig?: {
1807
2613
  enabled: boolean;
1808
2614
  algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
@@ -1816,38 +2622,36 @@ declare const AiConversationObject: Omit<{
1816
2622
  autoRotate: boolean;
1817
2623
  } | undefined;
1818
2624
  };
1819
- scope: "table" | "record" | "field" | "database";
2625
+ scope: "record" | "field" | "table" | "database";
1820
2626
  deterministicEncryption: boolean;
1821
2627
  searchableEncryption: boolean;
1822
2628
  } | undefined;
1823
- readonly label?: string | undefined;
1824
- readonly precision?: number | undefined;
1825
- readonly description?: string | undefined;
1826
2629
  readonly columnName?: string | undefined;
1827
- readonly required?: boolean | undefined;
1828
2630
  readonly searchable?: boolean | undefined;
1829
- readonly multiple?: boolean | undefined;
1830
2631
  readonly unique?: boolean | undefined;
2632
+ readonly defaultValue?: unknown;
1831
2633
  readonly maxLength?: number | undefined;
1832
2634
  readonly minLength?: number | undefined;
1833
2635
  readonly scale?: number | undefined;
1834
- readonly options?: {
1835
- label: string;
1836
- value: string;
1837
- color?: string | undefined;
1838
- default?: boolean | undefined;
1839
- }[] | undefined;
1840
2636
  readonly reference?: string | undefined;
1841
2637
  readonly referenceFilters?: string[] | undefined;
1842
2638
  readonly writeRequiresMasterRead?: boolean | undefined;
1843
2639
  readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
2640
+ readonly expression?: {
2641
+ dialect: "cel" | "js" | "cron" | "template";
2642
+ source?: string | undefined;
2643
+ ast?: unknown;
2644
+ meta?: {
2645
+ rationale?: string | undefined;
2646
+ generatedBy?: string | undefined;
2647
+ } | undefined;
2648
+ } | undefined;
1844
2649
  readonly summaryOperations?: {
1845
2650
  object: string;
1846
2651
  field: string;
1847
- function: "count" | "sum" | "avg" | "min" | "max";
2652
+ function: "min" | "max" | "count" | "sum" | "avg";
1848
2653
  } | undefined;
1849
2654
  readonly language?: string | undefined;
1850
- readonly theme?: string | undefined;
1851
2655
  readonly lineNumbers?: boolean | undefined;
1852
2656
  readonly maxRating?: number | undefined;
1853
2657
  readonly allowHalf?: boolean | undefined;
@@ -1866,7 +2670,7 @@ declare const AiConversationObject: Omit<{
1866
2670
  readonly allowScanning?: boolean | undefined;
1867
2671
  readonly currencyConfig?: {
1868
2672
  precision: number;
1869
- currencyMode: "dynamic" | "fixed";
2673
+ currencyMode: "fixed" | "dynamic";
1870
2674
  defaultCurrency: string;
1871
2675
  } | undefined;
1872
2676
  readonly vectorConfig?: {
@@ -1874,7 +2678,7 @@ declare const AiConversationObject: Omit<{
1874
2678
  distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
1875
2679
  normalized: boolean;
1876
2680
  indexed: boolean;
1877
- indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
2681
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
1878
2682
  } | undefined;
1879
2683
  readonly fileAttachmentConfig?: {
1880
2684
  virusScan: boolean;
@@ -1919,7 +2723,7 @@ declare const AiConversationObject: Omit<{
1919
2723
  } | undefined;
1920
2724
  readonly maskingRule?: {
1921
2725
  field: string;
1922
- strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
2726
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
1923
2727
  preserveFormat: boolean;
1924
2728
  preserveLength: boolean;
1925
2729
  pattern?: string | undefined;
@@ -1927,7 +2731,6 @@ declare const AiConversationObject: Omit<{
1927
2731
  exemptRoles?: string[] | undefined;
1928
2732
  } | undefined;
1929
2733
  readonly auditTrail?: boolean | undefined;
1930
- readonly dependencies?: string[] | undefined;
1931
2734
  readonly cached?: {
1932
2735
  enabled: boolean;
1933
2736
  ttl: number;
@@ -1941,8 +2744,15 @@ declare const AiConversationObject: Omit<{
1941
2744
  threshold: number;
1942
2745
  } | undefined;
1943
2746
  } | undefined;
1944
- readonly group?: string | undefined;
1945
- readonly conditionalRequired?: string | undefined;
2747
+ readonly conditionalRequired?: {
2748
+ dialect: "cel" | "js" | "cron" | "template";
2749
+ source?: string | undefined;
2750
+ ast?: unknown;
2751
+ meta?: {
2752
+ rationale?: string | undefined;
2753
+ generatedBy?: string | undefined;
2754
+ } | undefined;
2755
+ } | undefined;
1946
2756
  readonly hidden?: boolean | undefined;
1947
2757
  readonly sortable?: boolean | undefined;
1948
2758
  readonly inlineHelpText?: string | undefined;
@@ -1950,17 +2760,30 @@ declare const AiConversationObject: Omit<{
1950
2760
  readonly caseSensitive?: boolean | undefined;
1951
2761
  readonly autonumberFormat?: string | undefined;
1952
2762
  readonly index?: boolean | undefined;
1953
- readonly externalId?: boolean | undefined;
1954
2763
  readonly type: "datetime";
1955
2764
  };
1956
2765
  readonly updated_at: {
1957
- readonly format?: string | undefined;
1958
- readonly expression?: string | undefined;
1959
2766
  readonly readonly?: boolean | undefined;
1960
- readonly defaultValue?: unknown;
2767
+ readonly format?: string | undefined;
2768
+ readonly options?: {
2769
+ label: string;
2770
+ value: string;
2771
+ color?: string | undefined;
2772
+ default?: boolean | undefined;
2773
+ }[] | undefined;
2774
+ readonly description?: string | undefined;
2775
+ readonly label?: string | undefined;
2776
+ readonly name?: string | undefined;
2777
+ readonly precision?: number | undefined;
2778
+ readonly required?: boolean | undefined;
2779
+ readonly multiple?: boolean | undefined;
2780
+ readonly dependencies?: string[] | undefined;
2781
+ readonly theme?: string | undefined;
2782
+ readonly externalId?: boolean | undefined;
2783
+ readonly system?: boolean | undefined;
1961
2784
  readonly min?: number | undefined;
1962
2785
  readonly max?: number | undefined;
1963
- readonly name?: string | undefined;
2786
+ readonly group?: string | undefined;
1964
2787
  readonly encryptionConfig?: {
1965
2788
  enabled: boolean;
1966
2789
  algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
@@ -1974,38 +2797,36 @@ declare const AiConversationObject: Omit<{
1974
2797
  autoRotate: boolean;
1975
2798
  } | undefined;
1976
2799
  };
1977
- scope: "table" | "record" | "field" | "database";
2800
+ scope: "record" | "field" | "table" | "database";
1978
2801
  deterministicEncryption: boolean;
1979
2802
  searchableEncryption: boolean;
1980
2803
  } | undefined;
1981
- readonly label?: string | undefined;
1982
- readonly precision?: number | undefined;
1983
- readonly description?: string | undefined;
1984
2804
  readonly columnName?: string | undefined;
1985
- readonly required?: boolean | undefined;
1986
2805
  readonly searchable?: boolean | undefined;
1987
- readonly multiple?: boolean | undefined;
1988
2806
  readonly unique?: boolean | undefined;
2807
+ readonly defaultValue?: unknown;
1989
2808
  readonly maxLength?: number | undefined;
1990
2809
  readonly minLength?: number | undefined;
1991
2810
  readonly scale?: number | undefined;
1992
- readonly options?: {
1993
- label: string;
1994
- value: string;
1995
- color?: string | undefined;
1996
- default?: boolean | undefined;
1997
- }[] | undefined;
1998
2811
  readonly reference?: string | undefined;
1999
2812
  readonly referenceFilters?: string[] | undefined;
2000
2813
  readonly writeRequiresMasterRead?: boolean | undefined;
2001
2814
  readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
2815
+ readonly expression?: {
2816
+ dialect: "cel" | "js" | "cron" | "template";
2817
+ source?: string | undefined;
2818
+ ast?: unknown;
2819
+ meta?: {
2820
+ rationale?: string | undefined;
2821
+ generatedBy?: string | undefined;
2822
+ } | undefined;
2823
+ } | undefined;
2002
2824
  readonly summaryOperations?: {
2003
2825
  object: string;
2004
2826
  field: string;
2005
- function: "count" | "sum" | "avg" | "min" | "max";
2827
+ function: "min" | "max" | "count" | "sum" | "avg";
2006
2828
  } | undefined;
2007
2829
  readonly language?: string | undefined;
2008
- readonly theme?: string | undefined;
2009
2830
  readonly lineNumbers?: boolean | undefined;
2010
2831
  readonly maxRating?: number | undefined;
2011
2832
  readonly allowHalf?: boolean | undefined;
@@ -2024,7 +2845,7 @@ declare const AiConversationObject: Omit<{
2024
2845
  readonly allowScanning?: boolean | undefined;
2025
2846
  readonly currencyConfig?: {
2026
2847
  precision: number;
2027
- currencyMode: "dynamic" | "fixed";
2848
+ currencyMode: "fixed" | "dynamic";
2028
2849
  defaultCurrency: string;
2029
2850
  } | undefined;
2030
2851
  readonly vectorConfig?: {
@@ -2032,7 +2853,7 @@ declare const AiConversationObject: Omit<{
2032
2853
  distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
2033
2854
  normalized: boolean;
2034
2855
  indexed: boolean;
2035
- indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
2856
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
2036
2857
  } | undefined;
2037
2858
  readonly fileAttachmentConfig?: {
2038
2859
  virusScan: boolean;
@@ -2077,7 +2898,7 @@ declare const AiConversationObject: Omit<{
2077
2898
  } | undefined;
2078
2899
  readonly maskingRule?: {
2079
2900
  field: string;
2080
- strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
2901
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
2081
2902
  preserveFormat: boolean;
2082
2903
  preserveLength: boolean;
2083
2904
  pattern?: string | undefined;
@@ -2085,7 +2906,6 @@ declare const AiConversationObject: Omit<{
2085
2906
  exemptRoles?: string[] | undefined;
2086
2907
  } | undefined;
2087
2908
  readonly auditTrail?: boolean | undefined;
2088
- readonly dependencies?: string[] | undefined;
2089
2909
  readonly cached?: {
2090
2910
  enabled: boolean;
2091
2911
  ttl: number;
@@ -2099,8 +2919,15 @@ declare const AiConversationObject: Omit<{
2099
2919
  threshold: number;
2100
2920
  } | undefined;
2101
2921
  } | undefined;
2102
- readonly group?: string | undefined;
2103
- readonly conditionalRequired?: string | undefined;
2922
+ readonly conditionalRequired?: {
2923
+ dialect: "cel" | "js" | "cron" | "template";
2924
+ source?: string | undefined;
2925
+ ast?: unknown;
2926
+ meta?: {
2927
+ rationale?: string | undefined;
2928
+ generatedBy?: string | undefined;
2929
+ } | undefined;
2930
+ } | undefined;
2104
2931
  readonly hidden?: boolean | undefined;
2105
2932
  readonly sortable?: boolean | undefined;
2106
2933
  readonly inlineHelpText?: string | undefined;
@@ -2108,7 +2935,6 @@ declare const AiConversationObject: Omit<{
2108
2935
  readonly caseSensitive?: boolean | undefined;
2109
2936
  readonly autonumberFormat?: string | undefined;
2110
2937
  readonly index?: boolean | undefined;
2111
- readonly externalId?: boolean | undefined;
2112
2938
  readonly type: "datetime";
2113
2939
  };
2114
2940
  };
@@ -2144,7 +2970,7 @@ declare const AiMessageObject: Omit<{
2144
2970
  abstract: boolean;
2145
2971
  datasource: string;
2146
2972
  fields: Record<string, {
2147
- type: "number" | "boolean" | "file" | "text" | "json" | "code" | "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" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress";
2973
+ type: "number" | "boolean" | "file" | "text" | "json" | "code" | "avatar" | "vector" | "date" | "tags" | "datetime" | "signature" | "progress" | "url" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "color" | "rating" | "slider" | "qrcode";
2148
2974
  required: boolean;
2149
2975
  searchable: boolean;
2150
2976
  multiple: boolean;
@@ -2177,11 +3003,27 @@ declare const AiMessageObject: Omit<{
2177
3003
  reference?: string | undefined;
2178
3004
  referenceFilters?: string[] | undefined;
2179
3005
  writeRequiresMasterRead?: boolean | undefined;
2180
- expression?: string | undefined;
3006
+ expression?: {
3007
+ dialect: "cel" | "js" | "cron" | "template";
3008
+ source?: string | undefined;
3009
+ ast?: unknown;
3010
+ meta?: {
3011
+ rationale?: string | undefined;
3012
+ generatedBy?: string | undefined;
3013
+ } | undefined;
3014
+ } | {
3015
+ dialect: "cel" | "js" | "cron" | "template";
3016
+ source?: string | undefined;
3017
+ ast?: unknown;
3018
+ meta?: {
3019
+ rationale?: string | undefined;
3020
+ generatedBy?: string | undefined;
3021
+ } | undefined;
3022
+ } | undefined;
2181
3023
  summaryOperations?: {
2182
3024
  object: string;
2183
3025
  field: string;
2184
- function: "count" | "sum" | "avg" | "min" | "max";
3026
+ function: "min" | "max" | "count" | "sum" | "avg";
2185
3027
  } | undefined;
2186
3028
  language?: string | undefined;
2187
3029
  theme?: string | undefined;
@@ -2267,7 +3109,7 @@ declare const AiMessageObject: Omit<{
2267
3109
  autoRotate: boolean;
2268
3110
  } | undefined;
2269
3111
  };
2270
- scope: "database" | "field" | "record" | "table";
3112
+ scope: "field" | "database" | "record" | "table";
2271
3113
  deterministicEncryption: boolean;
2272
3114
  searchableEncryption: boolean;
2273
3115
  } | undefined;
@@ -2295,7 +3137,24 @@ declare const AiMessageObject: Omit<{
2295
3137
  } | undefined;
2296
3138
  } | undefined;
2297
3139
  group?: string | undefined;
2298
- conditionalRequired?: string | undefined;
3140
+ conditionalRequired?: {
3141
+ dialect: "cel" | "js" | "cron" | "template";
3142
+ source?: string | undefined;
3143
+ ast?: unknown;
3144
+ meta?: {
3145
+ rationale?: string | undefined;
3146
+ generatedBy?: string | undefined;
3147
+ } | undefined;
3148
+ } | {
3149
+ dialect: "cel" | "js" | "cron" | "template";
3150
+ source?: string | undefined;
3151
+ ast?: unknown;
3152
+ meta?: {
3153
+ rationale?: string | undefined;
3154
+ generatedBy?: string | undefined;
3155
+ } | undefined;
3156
+ } | undefined;
3157
+ system?: boolean | undefined;
2299
3158
  inlineHelpText?: string | undefined;
2300
3159
  trackFeedHistory?: boolean | undefined;
2301
3160
  caseSensitive?: boolean | undefined;
@@ -2305,9 +3164,20 @@ declare const AiMessageObject: Omit<{
2305
3164
  pluralLabel?: string | undefined;
2306
3165
  description?: string | undefined;
2307
3166
  icon?: string | undefined;
2308
- namespace?: string | undefined;
2309
3167
  tags?: string[] | undefined;
2310
- tableName?: string | undefined;
3168
+ managedBy?: "system" | "config" | "platform" | "append-only" | "better-auth" | undefined;
3169
+ userActions?: {
3170
+ create?: boolean | undefined;
3171
+ import?: boolean | undefined;
3172
+ edit?: boolean | undefined;
3173
+ delete?: boolean | undefined;
3174
+ exportCsv?: boolean | undefined;
3175
+ } | undefined;
3176
+ systemFields?: false | {
3177
+ tenant?: boolean | undefined;
3178
+ owner?: boolean | undefined;
3179
+ audit?: boolean | undefined;
3180
+ } | undefined;
2311
3181
  indexes?: {
2312
3182
  fields: string[];
2313
3183
  type: "hash" | "btree" | "gin" | "gist" | "fulltext";
@@ -2315,9 +3185,33 @@ declare const AiMessageObject: Omit<{
2315
3185
  name?: string | undefined;
2316
3186
  partial?: string | undefined;
2317
3187
  }[] | undefined;
3188
+ fieldGroups?: {
3189
+ key: string;
3190
+ label: string;
3191
+ defaultExpanded: boolean;
3192
+ icon?: string | undefined;
3193
+ description?: string | undefined;
3194
+ visibleOn?: {
3195
+ dialect: "cel" | "js" | "cron" | "template";
3196
+ source?: string | undefined;
3197
+ ast?: unknown;
3198
+ meta?: {
3199
+ rationale?: string | undefined;
3200
+ generatedBy?: string | undefined;
3201
+ } | undefined;
3202
+ } | {
3203
+ dialect: "cel" | "js" | "cron" | "template";
3204
+ source?: string | undefined;
3205
+ ast?: unknown;
3206
+ meta?: {
3207
+ rationale?: string | undefined;
3208
+ generatedBy?: string | undefined;
3209
+ } | undefined;
3210
+ } | undefined;
3211
+ }[] | undefined;
2318
3212
  tenancy?: {
2319
3213
  enabled: boolean;
2320
- strategy: "shared" | "isolated" | "hybrid";
3214
+ strategy: "hybrid" | "shared" | "isolated";
2321
3215
  tenantField: string;
2322
3216
  crossTenantAccess: boolean;
2323
3217
  } | undefined;
@@ -2334,13 +3228,13 @@ declare const AiMessageObject: Omit<{
2334
3228
  } | undefined;
2335
3229
  partitioning?: {
2336
3230
  enabled: boolean;
2337
- strategy: "hash" | "range" | "list";
3231
+ strategy: "hash" | "list" | "range";
2338
3232
  key: string;
2339
3233
  interval?: string | undefined;
2340
3234
  } | undefined;
2341
3235
  cdc?: {
2342
3236
  enabled: boolean;
2343
- events: ("update" | "delete" | "insert")[];
3237
+ events: ("delete" | "update" | "insert")[];
2344
3238
  destination: string;
2345
3239
  } | undefined;
2346
3240
  validations?: _objectstack_spec_data.BaseValidationRuleShape[] | undefined;
@@ -2380,8 +3274,258 @@ declare const AiMessageObject: Omit<{
2380
3274
  displayFormat?: string | undefined;
2381
3275
  startNumber?: number | undefined;
2382
3276
  } | undefined;
2383
- titleFormat?: string | undefined;
3277
+ titleFormat?: {
3278
+ dialect: "cel" | "js" | "cron" | "template";
3279
+ source?: string | undefined;
3280
+ ast?: unknown;
3281
+ meta?: {
3282
+ rationale?: string | undefined;
3283
+ generatedBy?: string | undefined;
3284
+ } | undefined;
3285
+ } | {
3286
+ dialect: "cel" | "js" | "cron" | "template";
3287
+ source?: string | undefined;
3288
+ ast?: unknown;
3289
+ meta?: {
3290
+ rationale?: string | undefined;
3291
+ generatedBy?: string | undefined;
3292
+ } | undefined;
3293
+ } | undefined;
2384
3294
  compactLayout?: string[] | undefined;
3295
+ listViews?: Record<string, {
3296
+ type: "map" | "kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "chart" | "grid";
3297
+ columns: string[] | {
3298
+ field: string;
3299
+ label?: string | undefined;
3300
+ width?: number | undefined;
3301
+ align?: "left" | "center" | "right" | undefined;
3302
+ hidden?: boolean | undefined;
3303
+ sortable?: boolean | undefined;
3304
+ resizable?: boolean | undefined;
3305
+ wrap?: boolean | undefined;
3306
+ type?: string | undefined;
3307
+ pinned?: "left" | "right" | undefined;
3308
+ summary?: "none" | "min" | "max" | "count" | "sum" | "avg" | "count_empty" | "count_filled" | "count_unique" | "percent_empty" | "percent_filled" | undefined;
3309
+ link?: boolean | undefined;
3310
+ action?: string | undefined;
3311
+ }[];
3312
+ name?: string | undefined;
3313
+ label?: string | undefined;
3314
+ data?: {
3315
+ provider: "object";
3316
+ object: string;
3317
+ } | {
3318
+ provider: "api";
3319
+ read?: {
3320
+ url: string;
3321
+ method: "GET" | "POST" | "DELETE" | "PATCH" | "PUT";
3322
+ headers?: Record<string, string> | undefined;
3323
+ params?: Record<string, unknown> | undefined;
3324
+ body?: unknown;
3325
+ } | undefined;
3326
+ write?: {
3327
+ url: string;
3328
+ method: "GET" | "POST" | "DELETE" | "PATCH" | "PUT";
3329
+ headers?: Record<string, string> | undefined;
3330
+ params?: Record<string, unknown> | undefined;
3331
+ body?: unknown;
3332
+ } | undefined;
3333
+ } | {
3334
+ provider: "value";
3335
+ items: unknown[];
3336
+ } | undefined;
3337
+ filter?: {
3338
+ field: string;
3339
+ operator: string;
3340
+ value?: string | number | boolean | (string | number)[] | null | undefined;
3341
+ }[] | undefined;
3342
+ sort?: string | {
3343
+ field: string;
3344
+ order: "asc" | "desc";
3345
+ }[] | undefined;
3346
+ searchableFields?: string[] | undefined;
3347
+ filterableFields?: string[] | undefined;
3348
+ resizable?: boolean | undefined;
3349
+ striped?: boolean | undefined;
3350
+ bordered?: boolean | undefined;
3351
+ compactToolbar?: boolean | undefined;
3352
+ selection?: {
3353
+ type: "none" | "multiple" | "single";
3354
+ } | undefined;
3355
+ navigation?: {
3356
+ mode: "none" | "split" | "page" | "modal" | "drawer" | "popover" | "new_window";
3357
+ preventNavigation: boolean;
3358
+ openNewTab: boolean;
3359
+ view?: string | undefined;
3360
+ width?: string | number | undefined;
3361
+ } | undefined;
3362
+ pagination?: {
3363
+ pageSize: number;
3364
+ pageSizeOptions?: number[] | undefined;
3365
+ } | undefined;
3366
+ kanban?: {
3367
+ groupByField: string;
3368
+ columns: string[];
3369
+ summarizeField?: string | undefined;
3370
+ } | undefined;
3371
+ calendar?: {
3372
+ startDateField: string;
3373
+ titleField: string;
3374
+ endDateField?: string | undefined;
3375
+ colorField?: string | undefined;
3376
+ } | undefined;
3377
+ gantt?: {
3378
+ startDateField: string;
3379
+ endDateField: string;
3380
+ titleField: string;
3381
+ progressField?: string | undefined;
3382
+ dependenciesField?: string | undefined;
3383
+ } | undefined;
3384
+ gallery?: {
3385
+ coverFit: "cover" | "contain";
3386
+ cardSize: "small" | "medium" | "large";
3387
+ coverField?: string | undefined;
3388
+ titleField?: string | undefined;
3389
+ visibleFields?: string[] | undefined;
3390
+ } | undefined;
3391
+ timeline?: {
3392
+ startDateField: string;
3393
+ titleField: string;
3394
+ scale: "day" | "week" | "month" | "quarter" | "year" | "hour";
3395
+ endDateField?: string | undefined;
3396
+ groupByField?: string | undefined;
3397
+ colorField?: string | undefined;
3398
+ } | undefined;
3399
+ chart?: {
3400
+ chartType: "bar" | "line" | "pie" | "area" | "scatter";
3401
+ xAxisField: string;
3402
+ yAxisFields: string[];
3403
+ aggregation?: "min" | "max" | "count" | "sum" | "avg" | undefined;
3404
+ groupByField?: string | undefined;
3405
+ } | undefined;
3406
+ description?: string | undefined;
3407
+ sharing?: {
3408
+ type: "personal" | "collaborative";
3409
+ lockedBy?: string | undefined;
3410
+ } | undefined;
3411
+ rowHeight?: "medium" | "short" | "compact" | "tall" | "extra_tall" | undefined;
3412
+ grouping?: {
3413
+ fields: {
3414
+ field: string;
3415
+ order: "asc" | "desc";
3416
+ collapsed: boolean;
3417
+ }[];
3418
+ } | undefined;
3419
+ rowColor?: {
3420
+ field: string;
3421
+ colors?: Record<string, string> | undefined;
3422
+ } | undefined;
3423
+ hiddenFields?: string[] | undefined;
3424
+ fieldOrder?: string[] | undefined;
3425
+ rowActions?: string[] | undefined;
3426
+ bulkActions?: string[] | undefined;
3427
+ bulkActionDefs?: Record<string, any>[] | undefined;
3428
+ virtualScroll?: boolean | undefined;
3429
+ conditionalFormatting?: {
3430
+ condition: {
3431
+ dialect: "cel" | "js" | "cron" | "template";
3432
+ source?: string | undefined;
3433
+ ast?: unknown;
3434
+ meta?: {
3435
+ rationale?: string | undefined;
3436
+ generatedBy?: string | undefined;
3437
+ } | undefined;
3438
+ } | {
3439
+ dialect: "cel" | "js" | "cron" | "template";
3440
+ source?: string | undefined;
3441
+ ast?: unknown;
3442
+ meta?: {
3443
+ rationale?: string | undefined;
3444
+ generatedBy?: string | undefined;
3445
+ } | undefined;
3446
+ };
3447
+ style: Record<string, string>;
3448
+ }[] | undefined;
3449
+ inlineEdit?: boolean | undefined;
3450
+ exportOptions?: ("json" | "csv" | "xlsx" | "pdf")[] | undefined;
3451
+ userActions?: {
3452
+ sort: boolean;
3453
+ search: boolean;
3454
+ filter: boolean;
3455
+ rowHeight: boolean;
3456
+ addRecordForm: boolean;
3457
+ buttons?: string[] | undefined;
3458
+ } | undefined;
3459
+ appearance?: {
3460
+ showDescription: boolean;
3461
+ allowedVisualizations?: ("map" | "kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "grid")[] | undefined;
3462
+ } | undefined;
3463
+ tabs?: {
3464
+ name: string;
3465
+ pinned: boolean;
3466
+ isDefault: boolean;
3467
+ visible: boolean;
3468
+ label?: string | undefined;
3469
+ icon?: string | undefined;
3470
+ view?: string | undefined;
3471
+ filter?: {
3472
+ field: string;
3473
+ operator: string;
3474
+ value?: string | number | boolean | (string | number)[] | null | undefined;
3475
+ }[] | undefined;
3476
+ order?: number | undefined;
3477
+ }[] | undefined;
3478
+ addRecord?: {
3479
+ enabled: boolean;
3480
+ position: "top" | "bottom" | "both";
3481
+ mode: "modal" | "inline" | "form";
3482
+ formView?: string | undefined;
3483
+ } | undefined;
3484
+ showRecordCount?: boolean | undefined;
3485
+ allowPrinting?: boolean | undefined;
3486
+ emptyState?: {
3487
+ title?: string | undefined;
3488
+ message?: string | undefined;
3489
+ icon?: string | undefined;
3490
+ } | undefined;
3491
+ aria?: {
3492
+ ariaLabel?: string | undefined;
3493
+ ariaDescribedBy?: string | undefined;
3494
+ role?: string | undefined;
3495
+ } | undefined;
3496
+ responsive?: {
3497
+ breakpoint?: "md" | "xs" | "sm" | "lg" | "xl" | "2xl" | undefined;
3498
+ hiddenOn?: ("md" | "xs" | "sm" | "lg" | "xl" | "2xl")[] | undefined;
3499
+ columns?: {
3500
+ xs?: number | undefined;
3501
+ sm?: number | undefined;
3502
+ md?: number | undefined;
3503
+ lg?: number | undefined;
3504
+ xl?: number | undefined;
3505
+ '2xl'?: number | undefined;
3506
+ } | undefined;
3507
+ order?: {
3508
+ xs?: number | undefined;
3509
+ sm?: number | undefined;
3510
+ md?: number | undefined;
3511
+ lg?: number | undefined;
3512
+ xl?: number | undefined;
3513
+ '2xl'?: number | undefined;
3514
+ } | undefined;
3515
+ } | undefined;
3516
+ performance?: {
3517
+ lazyLoad?: boolean | undefined;
3518
+ virtualScroll?: {
3519
+ enabled: boolean;
3520
+ itemHeight?: number | undefined;
3521
+ overscan?: number | undefined;
3522
+ } | undefined;
3523
+ cacheStrategy?: "none" | "cache-first" | "network-first" | "stale-while-revalidate" | undefined;
3524
+ prefetch?: boolean | undefined;
3525
+ pageSize?: number | undefined;
3526
+ debounceMs?: number | undefined;
3527
+ } | undefined;
3528
+ }> | undefined;
2385
3529
  search?: {
2386
3530
  fields: string[];
2387
3531
  displayFields?: string[] | undefined;
@@ -2397,10 +3541,10 @@ declare const AiMessageObject: Omit<{
2397
3541
  trash: boolean;
2398
3542
  mru: boolean;
2399
3543
  clone: boolean;
2400
- apiMethods?: ("search" | "upsert" | "list" | "update" | "delete" | "history" | "get" | "create" | "bulk" | "aggregate" | "restore" | "purge" | "import" | "export")[] | undefined;
3544
+ apiMethods?: ("search" | "upsert" | "create" | "import" | "delete" | "list" | "get" | "update" | "history" | "bulk" | "aggregate" | "restore" | "purge" | "export")[] | undefined;
2401
3545
  } | undefined;
2402
3546
  recordTypes?: string[] | undefined;
2403
- sharingModel?: "private" | "full" | "read" | "read_write" | undefined;
3547
+ sharingModel?: "private" | "read" | "full" | "read_write" | undefined;
2404
3548
  keyPrefix?: string | undefined;
2405
3549
  actions?: {
2406
3550
  name: string;
@@ -2412,24 +3556,64 @@ declare const AiMessageObject: Omit<{
2412
3556
  locations?: ("list_toolbar" | "list_item" | "record_header" | "record_more" | "record_related" | "global_nav")[] | undefined;
2413
3557
  component?: "action:button" | "action:icon" | "action:menu" | "action:group" | undefined;
2414
3558
  target?: string | undefined;
3559
+ body?: {
3560
+ language: "expression";
3561
+ source: string;
3562
+ } | {
3563
+ language: "js";
3564
+ source: string;
3565
+ capabilities: ("api.read" | "api.write" | "crypto.uuid" | "crypto.hash" | "log")[];
3566
+ timeoutMs?: number | undefined;
3567
+ memoryMb?: number | undefined;
3568
+ } | undefined;
2415
3569
  execute?: string | undefined;
2416
3570
  params?: {
2417
- name: string;
2418
- label: string;
2419
- 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";
2420
3571
  required: boolean;
3572
+ name?: string | undefined;
3573
+ field?: string | undefined;
3574
+ objectOverride?: string | undefined;
3575
+ label?: string | undefined;
3576
+ type?: "number" | "boolean" | "date" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
2421
3577
  options?: {
2422
3578
  label: string;
2423
3579
  value: string;
2424
3580
  }[] | undefined;
3581
+ placeholder?: string | undefined;
3582
+ helpText?: string | undefined;
3583
+ defaultValue?: unknown;
3584
+ defaultFromRow?: boolean | undefined;
2425
3585
  }[] | undefined;
2426
3586
  variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
2427
3587
  confirmText?: string | undefined;
2428
3588
  successMessage?: string | undefined;
2429
- visible?: string | undefined;
2430
- disabled?: string | boolean | undefined;
3589
+ visible?: {
3590
+ dialect: "cel" | "js" | "cron" | "template";
3591
+ source?: string | undefined;
3592
+ ast?: unknown;
3593
+ meta?: {
3594
+ rationale?: string | undefined;
3595
+ generatedBy?: string | undefined;
3596
+ } | undefined;
3597
+ } | undefined;
3598
+ disabled?: boolean | {
3599
+ dialect: "cel" | "js" | "cron" | "template";
3600
+ source?: string | undefined;
3601
+ ast?: unknown;
3602
+ meta?: {
3603
+ rationale?: string | undefined;
3604
+ generatedBy?: string | undefined;
3605
+ } | undefined;
3606
+ } | undefined;
2431
3607
  shortcut?: string | undefined;
2432
3608
  bulkEnabled?: boolean | undefined;
3609
+ recordIdParam?: string | undefined;
3610
+ recordIdField?: string | undefined;
3611
+ bodyShape?: "flat" | {
3612
+ wrap: string;
3613
+ } | undefined;
3614
+ method?: "POST" | "PATCH" | "PUT" | "DELETE" | undefined;
3615
+ bodyExtra?: Record<string, unknown> | undefined;
3616
+ mode?: "custom" | "delete" | "create" | "edit" | undefined;
2433
3617
  timeout?: number | undefined;
2434
3618
  aria?: {
2435
3619
  ariaLabel?: string | undefined;
@@ -2438,8 +3622,7 @@ declare const AiMessageObject: Omit<{
2438
3622
  } | undefined;
2439
3623
  }[] | undefined;
2440
3624
  }, "fields"> & Pick<{
2441
- readonly namespace: "ai";
2442
- readonly name: "messages";
3625
+ readonly name: "ai_messages";
2443
3626
  readonly label: "AI Message";
2444
3627
  readonly pluralLabel: "AI Messages";
2445
3628
  readonly icon: "message-circle";
@@ -2447,13 +3630,27 @@ declare const AiMessageObject: Omit<{
2447
3630
  readonly description: "Individual messages within AI conversations";
2448
3631
  readonly fields: {
2449
3632
  readonly id: {
2450
- readonly format?: string | undefined;
2451
- readonly expression?: string | undefined;
2452
3633
  readonly readonly?: boolean | undefined;
2453
- readonly defaultValue?: unknown;
3634
+ readonly format?: string | undefined;
3635
+ readonly options?: {
3636
+ label: string;
3637
+ value: string;
3638
+ color?: string | undefined;
3639
+ default?: boolean | undefined;
3640
+ }[] | undefined;
3641
+ readonly description?: string | undefined;
3642
+ readonly label?: string | undefined;
3643
+ readonly name?: string | undefined;
3644
+ readonly precision?: number | undefined;
3645
+ readonly required?: boolean | undefined;
3646
+ readonly multiple?: boolean | undefined;
3647
+ readonly dependencies?: string[] | undefined;
3648
+ readonly theme?: string | undefined;
3649
+ readonly externalId?: boolean | undefined;
3650
+ readonly system?: boolean | undefined;
2454
3651
  readonly min?: number | undefined;
2455
3652
  readonly max?: number | undefined;
2456
- readonly name?: string | undefined;
3653
+ readonly group?: string | undefined;
2457
3654
  readonly encryptionConfig?: {
2458
3655
  enabled: boolean;
2459
3656
  algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
@@ -2467,38 +3664,36 @@ declare const AiMessageObject: Omit<{
2467
3664
  autoRotate: boolean;
2468
3665
  } | undefined;
2469
3666
  };
2470
- scope: "table" | "record" | "field" | "database";
3667
+ scope: "record" | "field" | "table" | "database";
2471
3668
  deterministicEncryption: boolean;
2472
3669
  searchableEncryption: boolean;
2473
3670
  } | undefined;
2474
- readonly label?: string | undefined;
2475
- readonly precision?: number | undefined;
2476
- readonly description?: string | undefined;
2477
3671
  readonly columnName?: string | undefined;
2478
- readonly required?: boolean | undefined;
2479
3672
  readonly searchable?: boolean | undefined;
2480
- readonly multiple?: boolean | undefined;
2481
3673
  readonly unique?: boolean | undefined;
3674
+ readonly defaultValue?: unknown;
2482
3675
  readonly maxLength?: number | undefined;
2483
3676
  readonly minLength?: number | undefined;
2484
3677
  readonly scale?: number | undefined;
2485
- readonly options?: {
2486
- label: string;
2487
- value: string;
2488
- color?: string | undefined;
2489
- default?: boolean | undefined;
2490
- }[] | undefined;
2491
3678
  readonly reference?: string | undefined;
2492
3679
  readonly referenceFilters?: string[] | undefined;
2493
3680
  readonly writeRequiresMasterRead?: boolean | undefined;
2494
3681
  readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
3682
+ readonly expression?: {
3683
+ dialect: "cel" | "js" | "cron" | "template";
3684
+ source?: string | undefined;
3685
+ ast?: unknown;
3686
+ meta?: {
3687
+ rationale?: string | undefined;
3688
+ generatedBy?: string | undefined;
3689
+ } | undefined;
3690
+ } | undefined;
2495
3691
  readonly summaryOperations?: {
2496
3692
  object: string;
2497
3693
  field: string;
2498
- function: "count" | "sum" | "avg" | "min" | "max";
3694
+ function: "min" | "max" | "count" | "sum" | "avg";
2499
3695
  } | undefined;
2500
3696
  readonly language?: string | undefined;
2501
- readonly theme?: string | undefined;
2502
3697
  readonly lineNumbers?: boolean | undefined;
2503
3698
  readonly maxRating?: number | undefined;
2504
3699
  readonly allowHalf?: boolean | undefined;
@@ -2517,7 +3712,7 @@ declare const AiMessageObject: Omit<{
2517
3712
  readonly allowScanning?: boolean | undefined;
2518
3713
  readonly currencyConfig?: {
2519
3714
  precision: number;
2520
- currencyMode: "dynamic" | "fixed";
3715
+ currencyMode: "fixed" | "dynamic";
2521
3716
  defaultCurrency: string;
2522
3717
  } | undefined;
2523
3718
  readonly vectorConfig?: {
@@ -2525,7 +3720,7 @@ declare const AiMessageObject: Omit<{
2525
3720
  distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
2526
3721
  normalized: boolean;
2527
3722
  indexed: boolean;
2528
- indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
3723
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
2529
3724
  } | undefined;
2530
3725
  readonly fileAttachmentConfig?: {
2531
3726
  virusScan: boolean;
@@ -2570,7 +3765,7 @@ declare const AiMessageObject: Omit<{
2570
3765
  } | undefined;
2571
3766
  readonly maskingRule?: {
2572
3767
  field: string;
2573
- strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
3768
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
2574
3769
  preserveFormat: boolean;
2575
3770
  preserveLength: boolean;
2576
3771
  pattern?: string | undefined;
@@ -2578,7 +3773,6 @@ declare const AiMessageObject: Omit<{
2578
3773
  exemptRoles?: string[] | undefined;
2579
3774
  } | undefined;
2580
3775
  readonly auditTrail?: boolean | undefined;
2581
- readonly dependencies?: string[] | undefined;
2582
3776
  readonly cached?: {
2583
3777
  enabled: boolean;
2584
3778
  ttl: number;
@@ -2592,8 +3786,15 @@ declare const AiMessageObject: Omit<{
2592
3786
  threshold: number;
2593
3787
  } | undefined;
2594
3788
  } | undefined;
2595
- readonly group?: string | undefined;
2596
- readonly conditionalRequired?: string | undefined;
3789
+ readonly conditionalRequired?: {
3790
+ dialect: "cel" | "js" | "cron" | "template";
3791
+ source?: string | undefined;
3792
+ ast?: unknown;
3793
+ meta?: {
3794
+ rationale?: string | undefined;
3795
+ generatedBy?: string | undefined;
3796
+ } | undefined;
3797
+ } | undefined;
2597
3798
  readonly hidden?: boolean | undefined;
2598
3799
  readonly sortable?: boolean | undefined;
2599
3800
  readonly inlineHelpText?: string | undefined;
@@ -2601,17 +3802,30 @@ declare const AiMessageObject: Omit<{
2601
3802
  readonly caseSensitive?: boolean | undefined;
2602
3803
  readonly autonumberFormat?: string | undefined;
2603
3804
  readonly index?: boolean | undefined;
2604
- readonly externalId?: boolean | undefined;
2605
3805
  readonly type: "text";
2606
3806
  };
2607
3807
  readonly conversation_id: {
2608
- readonly format?: string | undefined;
2609
- readonly expression?: string | undefined;
2610
3808
  readonly readonly?: boolean | undefined;
2611
- readonly defaultValue?: unknown;
3809
+ readonly format?: string | undefined;
3810
+ readonly options?: {
3811
+ label: string;
3812
+ value: string;
3813
+ color?: string | undefined;
3814
+ default?: boolean | undefined;
3815
+ }[] | undefined;
3816
+ readonly description?: string | undefined;
3817
+ readonly label?: string | undefined;
3818
+ readonly name?: string | undefined;
3819
+ readonly precision?: number | undefined;
3820
+ readonly required?: boolean | undefined;
3821
+ readonly multiple?: boolean | undefined;
3822
+ readonly dependencies?: string[] | undefined;
3823
+ readonly theme?: string | undefined;
3824
+ readonly externalId?: boolean | undefined;
3825
+ readonly system?: boolean | undefined;
2612
3826
  readonly min?: number | undefined;
2613
3827
  readonly max?: number | undefined;
2614
- readonly name?: string | undefined;
3828
+ readonly group?: string | undefined;
2615
3829
  readonly encryptionConfig?: {
2616
3830
  enabled: boolean;
2617
3831
  algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
@@ -2625,38 +3839,36 @@ declare const AiMessageObject: Omit<{
2625
3839
  autoRotate: boolean;
2626
3840
  } | undefined;
2627
3841
  };
2628
- scope: "table" | "record" | "field" | "database";
3842
+ scope: "record" | "field" | "table" | "database";
2629
3843
  deterministicEncryption: boolean;
2630
3844
  searchableEncryption: boolean;
2631
3845
  } | undefined;
2632
- readonly label?: string | undefined;
2633
- readonly precision?: number | undefined;
2634
- readonly description?: string | undefined;
2635
3846
  readonly columnName?: string | undefined;
2636
- readonly required?: boolean | undefined;
2637
3847
  readonly searchable?: boolean | undefined;
2638
- readonly multiple?: boolean | undefined;
2639
3848
  readonly unique?: boolean | undefined;
3849
+ readonly defaultValue?: unknown;
2640
3850
  readonly maxLength?: number | undefined;
2641
3851
  readonly minLength?: number | undefined;
2642
3852
  readonly scale?: number | undefined;
2643
- readonly options?: {
2644
- label: string;
2645
- value: string;
2646
- color?: string | undefined;
2647
- default?: boolean | undefined;
2648
- }[] | undefined;
2649
- readonly reference?: string | undefined;
3853
+ reference: string;
2650
3854
  readonly referenceFilters?: string[] | undefined;
2651
3855
  readonly writeRequiresMasterRead?: boolean | undefined;
2652
3856
  readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
3857
+ readonly expression?: {
3858
+ dialect: "cel" | "js" | "cron" | "template";
3859
+ source?: string | undefined;
3860
+ ast?: unknown;
3861
+ meta?: {
3862
+ rationale?: string | undefined;
3863
+ generatedBy?: string | undefined;
3864
+ } | undefined;
3865
+ } | undefined;
2653
3866
  readonly summaryOperations?: {
2654
3867
  object: string;
2655
3868
  field: string;
2656
- function: "count" | "sum" | "avg" | "min" | "max";
3869
+ function: "min" | "max" | "count" | "sum" | "avg";
2657
3870
  } | undefined;
2658
3871
  readonly language?: string | undefined;
2659
- readonly theme?: string | undefined;
2660
3872
  readonly lineNumbers?: boolean | undefined;
2661
3873
  readonly maxRating?: number | undefined;
2662
3874
  readonly allowHalf?: boolean | undefined;
@@ -2675,7 +3887,7 @@ declare const AiMessageObject: Omit<{
2675
3887
  readonly allowScanning?: boolean | undefined;
2676
3888
  readonly currencyConfig?: {
2677
3889
  precision: number;
2678
- currencyMode: "dynamic" | "fixed";
3890
+ currencyMode: "fixed" | "dynamic";
2679
3891
  defaultCurrency: string;
2680
3892
  } | undefined;
2681
3893
  readonly vectorConfig?: {
@@ -2683,7 +3895,7 @@ declare const AiMessageObject: Omit<{
2683
3895
  distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
2684
3896
  normalized: boolean;
2685
3897
  indexed: boolean;
2686
- indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
3898
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
2687
3899
  } | undefined;
2688
3900
  readonly fileAttachmentConfig?: {
2689
3901
  virusScan: boolean;
@@ -2728,7 +3940,7 @@ declare const AiMessageObject: Omit<{
2728
3940
  } | undefined;
2729
3941
  readonly maskingRule?: {
2730
3942
  field: string;
2731
- strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
3943
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
2732
3944
  preserveFormat: boolean;
2733
3945
  preserveLength: boolean;
2734
3946
  pattern?: string | undefined;
@@ -2736,7 +3948,6 @@ declare const AiMessageObject: Omit<{
2736
3948
  exemptRoles?: string[] | undefined;
2737
3949
  } | undefined;
2738
3950
  readonly auditTrail?: boolean | undefined;
2739
- readonly dependencies?: string[] | undefined;
2740
3951
  readonly cached?: {
2741
3952
  enabled: boolean;
2742
3953
  ttl: number;
@@ -2750,8 +3961,15 @@ declare const AiMessageObject: Omit<{
2750
3961
  threshold: number;
2751
3962
  } | undefined;
2752
3963
  } | undefined;
2753
- readonly group?: string | undefined;
2754
- readonly conditionalRequired?: string | undefined;
3964
+ readonly conditionalRequired?: {
3965
+ dialect: "cel" | "js" | "cron" | "template";
3966
+ source?: string | undefined;
3967
+ ast?: unknown;
3968
+ meta?: {
3969
+ rationale?: string | undefined;
3970
+ generatedBy?: string | undefined;
3971
+ } | undefined;
3972
+ } | undefined;
2755
3973
  readonly hidden?: boolean | undefined;
2756
3974
  readonly sortable?: boolean | undefined;
2757
3975
  readonly inlineHelpText?: string | undefined;
@@ -2759,17 +3977,30 @@ declare const AiMessageObject: Omit<{
2759
3977
  readonly caseSensitive?: boolean | undefined;
2760
3978
  readonly autonumberFormat?: string | undefined;
2761
3979
  readonly index?: boolean | undefined;
2762
- readonly externalId?: boolean | undefined;
2763
- readonly type: "text";
3980
+ readonly type: "lookup";
2764
3981
  };
2765
3982
  readonly role: {
2766
- readonly format?: string | undefined;
2767
- readonly expression?: string | undefined;
2768
3983
  readonly readonly?: boolean | undefined;
2769
- readonly defaultValue?: unknown;
3984
+ readonly format?: string | undefined;
3985
+ options: {
3986
+ label: string;
3987
+ value: string;
3988
+ color?: string | undefined;
3989
+ default?: boolean | undefined;
3990
+ }[];
3991
+ readonly description?: string | undefined;
3992
+ readonly label?: string | undefined;
3993
+ readonly name?: string | undefined;
3994
+ readonly precision?: number | undefined;
3995
+ readonly required?: boolean | undefined;
3996
+ readonly multiple?: boolean | undefined;
3997
+ readonly dependencies?: string[] | undefined;
3998
+ readonly theme?: string | undefined;
3999
+ readonly externalId?: boolean | undefined;
4000
+ readonly system?: boolean | undefined;
2770
4001
  readonly min?: number | undefined;
2771
4002
  readonly max?: number | undefined;
2772
- readonly name?: string | undefined;
4003
+ readonly group?: string | undefined;
2773
4004
  readonly encryptionConfig?: {
2774
4005
  enabled: boolean;
2775
4006
  algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
@@ -2783,38 +4014,36 @@ declare const AiMessageObject: Omit<{
2783
4014
  autoRotate: boolean;
2784
4015
  } | undefined;
2785
4016
  };
2786
- scope: "table" | "record" | "field" | "database";
4017
+ scope: "record" | "field" | "table" | "database";
2787
4018
  deterministicEncryption: boolean;
2788
4019
  searchableEncryption: boolean;
2789
4020
  } | undefined;
2790
- readonly label?: string | undefined;
2791
- readonly precision?: number | undefined;
2792
- readonly description?: string | undefined;
2793
4021
  readonly columnName?: string | undefined;
2794
- readonly required?: boolean | undefined;
2795
4022
  readonly searchable?: boolean | undefined;
2796
- readonly multiple?: boolean | undefined;
2797
4023
  readonly unique?: boolean | undefined;
4024
+ readonly defaultValue?: unknown;
2798
4025
  readonly maxLength?: number | undefined;
2799
4026
  readonly minLength?: number | undefined;
2800
4027
  readonly scale?: number | undefined;
2801
- options: {
2802
- label: string;
2803
- value: string;
2804
- color?: string | undefined;
2805
- default?: boolean | undefined;
2806
- }[];
2807
4028
  readonly reference?: string | undefined;
2808
4029
  readonly referenceFilters?: string[] | undefined;
2809
4030
  readonly writeRequiresMasterRead?: boolean | undefined;
2810
4031
  readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
4032
+ readonly expression?: {
4033
+ dialect: "cel" | "js" | "cron" | "template";
4034
+ source?: string | undefined;
4035
+ ast?: unknown;
4036
+ meta?: {
4037
+ rationale?: string | undefined;
4038
+ generatedBy?: string | undefined;
4039
+ } | undefined;
4040
+ } | undefined;
2811
4041
  readonly summaryOperations?: {
2812
4042
  object: string;
2813
4043
  field: string;
2814
- function: "count" | "sum" | "avg" | "min" | "max";
4044
+ function: "min" | "max" | "count" | "sum" | "avg";
2815
4045
  } | undefined;
2816
4046
  readonly language?: string | undefined;
2817
- readonly theme?: string | undefined;
2818
4047
  readonly lineNumbers?: boolean | undefined;
2819
4048
  readonly maxRating?: number | undefined;
2820
4049
  readonly allowHalf?: boolean | undefined;
@@ -2833,7 +4062,7 @@ declare const AiMessageObject: Omit<{
2833
4062
  readonly allowScanning?: boolean | undefined;
2834
4063
  readonly currencyConfig?: {
2835
4064
  precision: number;
2836
- currencyMode: "dynamic" | "fixed";
4065
+ currencyMode: "fixed" | "dynamic";
2837
4066
  defaultCurrency: string;
2838
4067
  } | undefined;
2839
4068
  readonly vectorConfig?: {
@@ -2841,7 +4070,7 @@ declare const AiMessageObject: Omit<{
2841
4070
  distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
2842
4071
  normalized: boolean;
2843
4072
  indexed: boolean;
2844
- indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
4073
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
2845
4074
  } | undefined;
2846
4075
  readonly fileAttachmentConfig?: {
2847
4076
  virusScan: boolean;
@@ -2886,7 +4115,7 @@ declare const AiMessageObject: Omit<{
2886
4115
  } | undefined;
2887
4116
  readonly maskingRule?: {
2888
4117
  field: string;
2889
- strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
4118
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
2890
4119
  preserveFormat: boolean;
2891
4120
  preserveLength: boolean;
2892
4121
  pattern?: string | undefined;
@@ -2894,7 +4123,6 @@ declare const AiMessageObject: Omit<{
2894
4123
  exemptRoles?: string[] | undefined;
2895
4124
  } | undefined;
2896
4125
  readonly auditTrail?: boolean | undefined;
2897
- readonly dependencies?: string[] | undefined;
2898
4126
  readonly cached?: {
2899
4127
  enabled: boolean;
2900
4128
  ttl: number;
@@ -2908,8 +4136,15 @@ declare const AiMessageObject: Omit<{
2908
4136
  threshold: number;
2909
4137
  } | undefined;
2910
4138
  } | undefined;
2911
- readonly group?: string | undefined;
2912
- readonly conditionalRequired?: string | undefined;
4139
+ readonly conditionalRequired?: {
4140
+ dialect: "cel" | "js" | "cron" | "template";
4141
+ source?: string | undefined;
4142
+ ast?: unknown;
4143
+ meta?: {
4144
+ rationale?: string | undefined;
4145
+ generatedBy?: string | undefined;
4146
+ } | undefined;
4147
+ } | undefined;
2913
4148
  readonly hidden?: boolean | undefined;
2914
4149
  readonly sortable?: boolean | undefined;
2915
4150
  readonly inlineHelpText?: string | undefined;
@@ -2917,17 +4152,30 @@ declare const AiMessageObject: Omit<{
2917
4152
  readonly caseSensitive?: boolean | undefined;
2918
4153
  readonly autonumberFormat?: string | undefined;
2919
4154
  readonly index?: boolean | undefined;
2920
- readonly externalId?: boolean | undefined;
2921
4155
  readonly type: "select";
2922
4156
  };
2923
4157
  readonly content: {
2924
- readonly format?: string | undefined;
2925
- readonly expression?: string | undefined;
2926
4158
  readonly readonly?: boolean | undefined;
2927
- readonly defaultValue?: unknown;
4159
+ readonly format?: string | undefined;
4160
+ readonly options?: {
4161
+ label: string;
4162
+ value: string;
4163
+ color?: string | undefined;
4164
+ default?: boolean | undefined;
4165
+ }[] | undefined;
4166
+ readonly description?: string | undefined;
4167
+ readonly label?: string | undefined;
4168
+ readonly name?: string | undefined;
4169
+ readonly precision?: number | undefined;
4170
+ readonly required?: boolean | undefined;
4171
+ readonly multiple?: boolean | undefined;
4172
+ readonly dependencies?: string[] | undefined;
4173
+ readonly theme?: string | undefined;
4174
+ readonly externalId?: boolean | undefined;
4175
+ readonly system?: boolean | undefined;
2928
4176
  readonly min?: number | undefined;
2929
4177
  readonly max?: number | undefined;
2930
- readonly name?: string | undefined;
4178
+ readonly group?: string | undefined;
2931
4179
  readonly encryptionConfig?: {
2932
4180
  enabled: boolean;
2933
4181
  algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
@@ -2941,38 +4189,36 @@ declare const AiMessageObject: Omit<{
2941
4189
  autoRotate: boolean;
2942
4190
  } | undefined;
2943
4191
  };
2944
- scope: "table" | "record" | "field" | "database";
4192
+ scope: "record" | "field" | "table" | "database";
2945
4193
  deterministicEncryption: boolean;
2946
4194
  searchableEncryption: boolean;
2947
4195
  } | undefined;
2948
- readonly label?: string | undefined;
2949
- readonly precision?: number | undefined;
2950
- readonly description?: string | undefined;
2951
4196
  readonly columnName?: string | undefined;
2952
- readonly required?: boolean | undefined;
2953
4197
  readonly searchable?: boolean | undefined;
2954
- readonly multiple?: boolean | undefined;
2955
4198
  readonly unique?: boolean | undefined;
4199
+ readonly defaultValue?: unknown;
2956
4200
  readonly maxLength?: number | undefined;
2957
4201
  readonly minLength?: number | undefined;
2958
4202
  readonly scale?: number | undefined;
2959
- readonly options?: {
2960
- label: string;
2961
- value: string;
2962
- color?: string | undefined;
2963
- default?: boolean | undefined;
2964
- }[] | undefined;
2965
4203
  readonly reference?: string | undefined;
2966
4204
  readonly referenceFilters?: string[] | undefined;
2967
4205
  readonly writeRequiresMasterRead?: boolean | undefined;
2968
4206
  readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
4207
+ readonly expression?: {
4208
+ dialect: "cel" | "js" | "cron" | "template";
4209
+ source?: string | undefined;
4210
+ ast?: unknown;
4211
+ meta?: {
4212
+ rationale?: string | undefined;
4213
+ generatedBy?: string | undefined;
4214
+ } | undefined;
4215
+ } | undefined;
2969
4216
  readonly summaryOperations?: {
2970
4217
  object: string;
2971
4218
  field: string;
2972
- function: "count" | "sum" | "avg" | "min" | "max";
4219
+ function: "min" | "max" | "count" | "sum" | "avg";
2973
4220
  } | undefined;
2974
4221
  readonly language?: string | undefined;
2975
- readonly theme?: string | undefined;
2976
4222
  readonly lineNumbers?: boolean | undefined;
2977
4223
  readonly maxRating?: number | undefined;
2978
4224
  readonly allowHalf?: boolean | undefined;
@@ -2991,7 +4237,7 @@ declare const AiMessageObject: Omit<{
2991
4237
  readonly allowScanning?: boolean | undefined;
2992
4238
  readonly currencyConfig?: {
2993
4239
  precision: number;
2994
- currencyMode: "dynamic" | "fixed";
4240
+ currencyMode: "fixed" | "dynamic";
2995
4241
  defaultCurrency: string;
2996
4242
  } | undefined;
2997
4243
  readonly vectorConfig?: {
@@ -2999,7 +4245,7 @@ declare const AiMessageObject: Omit<{
2999
4245
  distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
3000
4246
  normalized: boolean;
3001
4247
  indexed: boolean;
3002
- indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
4248
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
3003
4249
  } | undefined;
3004
4250
  readonly fileAttachmentConfig?: {
3005
4251
  virusScan: boolean;
@@ -3044,7 +4290,7 @@ declare const AiMessageObject: Omit<{
3044
4290
  } | undefined;
3045
4291
  readonly maskingRule?: {
3046
4292
  field: string;
3047
- strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
4293
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
3048
4294
  preserveFormat: boolean;
3049
4295
  preserveLength: boolean;
3050
4296
  pattern?: string | undefined;
@@ -3052,7 +4298,6 @@ declare const AiMessageObject: Omit<{
3052
4298
  exemptRoles?: string[] | undefined;
3053
4299
  } | undefined;
3054
4300
  readonly auditTrail?: boolean | undefined;
3055
- readonly dependencies?: string[] | undefined;
3056
4301
  readonly cached?: {
3057
4302
  enabled: boolean;
3058
4303
  ttl: number;
@@ -3066,8 +4311,15 @@ declare const AiMessageObject: Omit<{
3066
4311
  threshold: number;
3067
4312
  } | undefined;
3068
4313
  } | undefined;
3069
- readonly group?: string | undefined;
3070
- readonly conditionalRequired?: string | undefined;
4314
+ readonly conditionalRequired?: {
4315
+ dialect: "cel" | "js" | "cron" | "template";
4316
+ source?: string | undefined;
4317
+ ast?: unknown;
4318
+ meta?: {
4319
+ rationale?: string | undefined;
4320
+ generatedBy?: string | undefined;
4321
+ } | undefined;
4322
+ } | undefined;
3071
4323
  readonly hidden?: boolean | undefined;
3072
4324
  readonly sortable?: boolean | undefined;
3073
4325
  readonly inlineHelpText?: string | undefined;
@@ -3075,17 +4327,30 @@ declare const AiMessageObject: Omit<{
3075
4327
  readonly caseSensitive?: boolean | undefined;
3076
4328
  readonly autonumberFormat?: string | undefined;
3077
4329
  readonly index?: boolean | undefined;
3078
- readonly externalId?: boolean | undefined;
3079
4330
  readonly type: "textarea";
3080
4331
  };
3081
4332
  readonly tool_calls: {
3082
- readonly format?: string | undefined;
3083
- readonly expression?: string | undefined;
3084
4333
  readonly readonly?: boolean | undefined;
3085
- readonly defaultValue?: unknown;
4334
+ readonly format?: string | undefined;
4335
+ readonly options?: {
4336
+ label: string;
4337
+ value: string;
4338
+ color?: string | undefined;
4339
+ default?: boolean | undefined;
4340
+ }[] | undefined;
4341
+ readonly description?: string | undefined;
4342
+ readonly label?: string | undefined;
4343
+ readonly name?: string | undefined;
4344
+ readonly precision?: number | undefined;
4345
+ readonly required?: boolean | undefined;
4346
+ readonly multiple?: boolean | undefined;
4347
+ readonly dependencies?: string[] | undefined;
4348
+ readonly theme?: string | undefined;
4349
+ readonly externalId?: boolean | undefined;
4350
+ readonly system?: boolean | undefined;
3086
4351
  readonly min?: number | undefined;
3087
4352
  readonly max?: number | undefined;
3088
- readonly name?: string | undefined;
4353
+ readonly group?: string | undefined;
3089
4354
  readonly encryptionConfig?: {
3090
4355
  enabled: boolean;
3091
4356
  algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
@@ -3099,38 +4364,36 @@ declare const AiMessageObject: Omit<{
3099
4364
  autoRotate: boolean;
3100
4365
  } | undefined;
3101
4366
  };
3102
- scope: "table" | "record" | "field" | "database";
4367
+ scope: "record" | "field" | "table" | "database";
3103
4368
  deterministicEncryption: boolean;
3104
4369
  searchableEncryption: boolean;
3105
4370
  } | undefined;
3106
- readonly label?: string | undefined;
3107
- readonly precision?: number | undefined;
3108
- readonly description?: string | undefined;
3109
4371
  readonly columnName?: string | undefined;
3110
- readonly required?: boolean | undefined;
3111
4372
  readonly searchable?: boolean | undefined;
3112
- readonly multiple?: boolean | undefined;
3113
4373
  readonly unique?: boolean | undefined;
4374
+ readonly defaultValue?: unknown;
3114
4375
  readonly maxLength?: number | undefined;
3115
4376
  readonly minLength?: number | undefined;
3116
4377
  readonly scale?: number | undefined;
3117
- readonly options?: {
3118
- label: string;
3119
- value: string;
3120
- color?: string | undefined;
3121
- default?: boolean | undefined;
3122
- }[] | undefined;
3123
4378
  readonly reference?: string | undefined;
3124
4379
  readonly referenceFilters?: string[] | undefined;
3125
4380
  readonly writeRequiresMasterRead?: boolean | undefined;
3126
4381
  readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
4382
+ readonly expression?: {
4383
+ dialect: "cel" | "js" | "cron" | "template";
4384
+ source?: string | undefined;
4385
+ ast?: unknown;
4386
+ meta?: {
4387
+ rationale?: string | undefined;
4388
+ generatedBy?: string | undefined;
4389
+ } | undefined;
4390
+ } | undefined;
3127
4391
  readonly summaryOperations?: {
3128
4392
  object: string;
3129
4393
  field: string;
3130
- function: "count" | "sum" | "avg" | "min" | "max";
4394
+ function: "min" | "max" | "count" | "sum" | "avg";
3131
4395
  } | undefined;
3132
4396
  readonly language?: string | undefined;
3133
- readonly theme?: string | undefined;
3134
4397
  readonly lineNumbers?: boolean | undefined;
3135
4398
  readonly maxRating?: number | undefined;
3136
4399
  readonly allowHalf?: boolean | undefined;
@@ -3149,7 +4412,7 @@ declare const AiMessageObject: Omit<{
3149
4412
  readonly allowScanning?: boolean | undefined;
3150
4413
  readonly currencyConfig?: {
3151
4414
  precision: number;
3152
- currencyMode: "dynamic" | "fixed";
4415
+ currencyMode: "fixed" | "dynamic";
3153
4416
  defaultCurrency: string;
3154
4417
  } | undefined;
3155
4418
  readonly vectorConfig?: {
@@ -3157,7 +4420,7 @@ declare const AiMessageObject: Omit<{
3157
4420
  distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
3158
4421
  normalized: boolean;
3159
4422
  indexed: boolean;
3160
- indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
4423
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
3161
4424
  } | undefined;
3162
4425
  readonly fileAttachmentConfig?: {
3163
4426
  virusScan: boolean;
@@ -3202,7 +4465,7 @@ declare const AiMessageObject: Omit<{
3202
4465
  } | undefined;
3203
4466
  readonly maskingRule?: {
3204
4467
  field: string;
3205
- strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
4468
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
3206
4469
  preserveFormat: boolean;
3207
4470
  preserveLength: boolean;
3208
4471
  pattern?: string | undefined;
@@ -3210,7 +4473,6 @@ declare const AiMessageObject: Omit<{
3210
4473
  exemptRoles?: string[] | undefined;
3211
4474
  } | undefined;
3212
4475
  readonly auditTrail?: boolean | undefined;
3213
- readonly dependencies?: string[] | undefined;
3214
4476
  readonly cached?: {
3215
4477
  enabled: boolean;
3216
4478
  ttl: number;
@@ -3224,8 +4486,15 @@ declare const AiMessageObject: Omit<{
3224
4486
  threshold: number;
3225
4487
  } | undefined;
3226
4488
  } | undefined;
3227
- readonly group?: string | undefined;
3228
- readonly conditionalRequired?: string | undefined;
4489
+ readonly conditionalRequired?: {
4490
+ dialect: "cel" | "js" | "cron" | "template";
4491
+ source?: string | undefined;
4492
+ ast?: unknown;
4493
+ meta?: {
4494
+ rationale?: string | undefined;
4495
+ generatedBy?: string | undefined;
4496
+ } | undefined;
4497
+ } | undefined;
3229
4498
  readonly hidden?: boolean | undefined;
3230
4499
  readonly sortable?: boolean | undefined;
3231
4500
  readonly inlineHelpText?: string | undefined;
@@ -3233,17 +4502,30 @@ declare const AiMessageObject: Omit<{
3233
4502
  readonly caseSensitive?: boolean | undefined;
3234
4503
  readonly autonumberFormat?: string | undefined;
3235
4504
  readonly index?: boolean | undefined;
3236
- readonly externalId?: boolean | undefined;
3237
4505
  readonly type: "textarea";
3238
4506
  };
3239
4507
  readonly tool_call_id: {
3240
- readonly format?: string | undefined;
3241
- readonly expression?: string | undefined;
3242
4508
  readonly readonly?: boolean | undefined;
3243
- readonly defaultValue?: unknown;
4509
+ readonly format?: string | undefined;
4510
+ readonly options?: {
4511
+ label: string;
4512
+ value: string;
4513
+ color?: string | undefined;
4514
+ default?: boolean | undefined;
4515
+ }[] | undefined;
4516
+ readonly description?: string | undefined;
4517
+ readonly label?: string | undefined;
4518
+ readonly name?: string | undefined;
4519
+ readonly precision?: number | undefined;
4520
+ readonly required?: boolean | undefined;
4521
+ readonly multiple?: boolean | undefined;
4522
+ readonly dependencies?: string[] | undefined;
4523
+ readonly theme?: string | undefined;
4524
+ readonly externalId?: boolean | undefined;
4525
+ readonly system?: boolean | undefined;
3244
4526
  readonly min?: number | undefined;
3245
4527
  readonly max?: number | undefined;
3246
- readonly name?: string | undefined;
4528
+ readonly group?: string | undefined;
3247
4529
  readonly encryptionConfig?: {
3248
4530
  enabled: boolean;
3249
4531
  algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
@@ -3257,38 +4539,36 @@ declare const AiMessageObject: Omit<{
3257
4539
  autoRotate: boolean;
3258
4540
  } | undefined;
3259
4541
  };
3260
- scope: "table" | "record" | "field" | "database";
4542
+ scope: "record" | "field" | "table" | "database";
3261
4543
  deterministicEncryption: boolean;
3262
4544
  searchableEncryption: boolean;
3263
4545
  } | undefined;
3264
- readonly label?: string | undefined;
3265
- readonly precision?: number | undefined;
3266
- readonly description?: string | undefined;
3267
4546
  readonly columnName?: string | undefined;
3268
- readonly required?: boolean | undefined;
3269
4547
  readonly searchable?: boolean | undefined;
3270
- readonly multiple?: boolean | undefined;
3271
4548
  readonly unique?: boolean | undefined;
4549
+ readonly defaultValue?: unknown;
3272
4550
  readonly maxLength?: number | undefined;
3273
4551
  readonly minLength?: number | undefined;
3274
4552
  readonly scale?: number | undefined;
3275
- readonly options?: {
3276
- label: string;
3277
- value: string;
3278
- color?: string | undefined;
3279
- default?: boolean | undefined;
3280
- }[] | undefined;
3281
4553
  readonly reference?: string | undefined;
3282
4554
  readonly referenceFilters?: string[] | undefined;
3283
4555
  readonly writeRequiresMasterRead?: boolean | undefined;
3284
4556
  readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
4557
+ readonly expression?: {
4558
+ dialect: "cel" | "js" | "cron" | "template";
4559
+ source?: string | undefined;
4560
+ ast?: unknown;
4561
+ meta?: {
4562
+ rationale?: string | undefined;
4563
+ generatedBy?: string | undefined;
4564
+ } | undefined;
4565
+ } | undefined;
3285
4566
  readonly summaryOperations?: {
3286
4567
  object: string;
3287
4568
  field: string;
3288
- function: "count" | "sum" | "avg" | "min" | "max";
4569
+ function: "min" | "max" | "count" | "sum" | "avg";
3289
4570
  } | undefined;
3290
4571
  readonly language?: string | undefined;
3291
- readonly theme?: string | undefined;
3292
4572
  readonly lineNumbers?: boolean | undefined;
3293
4573
  readonly maxRating?: number | undefined;
3294
4574
  readonly allowHalf?: boolean | undefined;
@@ -3307,7 +4587,7 @@ declare const AiMessageObject: Omit<{
3307
4587
  readonly allowScanning?: boolean | undefined;
3308
4588
  readonly currencyConfig?: {
3309
4589
  precision: number;
3310
- currencyMode: "dynamic" | "fixed";
4590
+ currencyMode: "fixed" | "dynamic";
3311
4591
  defaultCurrency: string;
3312
4592
  } | undefined;
3313
4593
  readonly vectorConfig?: {
@@ -3315,7 +4595,7 @@ declare const AiMessageObject: Omit<{
3315
4595
  distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
3316
4596
  normalized: boolean;
3317
4597
  indexed: boolean;
3318
- indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
4598
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
3319
4599
  } | undefined;
3320
4600
  readonly fileAttachmentConfig?: {
3321
4601
  virusScan: boolean;
@@ -3360,7 +4640,7 @@ declare const AiMessageObject: Omit<{
3360
4640
  } | undefined;
3361
4641
  readonly maskingRule?: {
3362
4642
  field: string;
3363
- strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
4643
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
3364
4644
  preserveFormat: boolean;
3365
4645
  preserveLength: boolean;
3366
4646
  pattern?: string | undefined;
@@ -3368,7 +4648,6 @@ declare const AiMessageObject: Omit<{
3368
4648
  exemptRoles?: string[] | undefined;
3369
4649
  } | undefined;
3370
4650
  readonly auditTrail?: boolean | undefined;
3371
- readonly dependencies?: string[] | undefined;
3372
4651
  readonly cached?: {
3373
4652
  enabled: boolean;
3374
4653
  ttl: number;
@@ -3382,8 +4661,15 @@ declare const AiMessageObject: Omit<{
3382
4661
  threshold: number;
3383
4662
  } | undefined;
3384
4663
  } | undefined;
3385
- readonly group?: string | undefined;
3386
- readonly conditionalRequired?: string | undefined;
4664
+ readonly conditionalRequired?: {
4665
+ dialect: "cel" | "js" | "cron" | "template";
4666
+ source?: string | undefined;
4667
+ ast?: unknown;
4668
+ meta?: {
4669
+ rationale?: string | undefined;
4670
+ generatedBy?: string | undefined;
4671
+ } | undefined;
4672
+ } | undefined;
3387
4673
  readonly hidden?: boolean | undefined;
3388
4674
  readonly sortable?: boolean | undefined;
3389
4675
  readonly inlineHelpText?: string | undefined;
@@ -3391,17 +4677,30 @@ declare const AiMessageObject: Omit<{
3391
4677
  readonly caseSensitive?: boolean | undefined;
3392
4678
  readonly autonumberFormat?: string | undefined;
3393
4679
  readonly index?: boolean | undefined;
3394
- readonly externalId?: boolean | undefined;
3395
4680
  readonly type: "text";
3396
4681
  };
3397
4682
  readonly created_at: {
3398
- readonly format?: string | undefined;
3399
- readonly expression?: string | undefined;
3400
4683
  readonly readonly?: boolean | undefined;
3401
- readonly defaultValue?: unknown;
4684
+ readonly format?: string | undefined;
4685
+ readonly options?: {
4686
+ label: string;
4687
+ value: string;
4688
+ color?: string | undefined;
4689
+ default?: boolean | undefined;
4690
+ }[] | undefined;
4691
+ readonly description?: string | undefined;
4692
+ readonly label?: string | undefined;
4693
+ readonly name?: string | undefined;
4694
+ readonly precision?: number | undefined;
4695
+ readonly required?: boolean | undefined;
4696
+ readonly multiple?: boolean | undefined;
4697
+ readonly dependencies?: string[] | undefined;
4698
+ readonly theme?: string | undefined;
4699
+ readonly externalId?: boolean | undefined;
4700
+ readonly system?: boolean | undefined;
3402
4701
  readonly min?: number | undefined;
3403
4702
  readonly max?: number | undefined;
3404
- readonly name?: string | undefined;
4703
+ readonly group?: string | undefined;
3405
4704
  readonly encryptionConfig?: {
3406
4705
  enabled: boolean;
3407
4706
  algorithm: "aes-256-gcm" | "aes-256-cbc" | "chacha20-poly1305";
@@ -3415,38 +4714,36 @@ declare const AiMessageObject: Omit<{
3415
4714
  autoRotate: boolean;
3416
4715
  } | undefined;
3417
4716
  };
3418
- scope: "table" | "record" | "field" | "database";
4717
+ scope: "record" | "field" | "table" | "database";
3419
4718
  deterministicEncryption: boolean;
3420
4719
  searchableEncryption: boolean;
3421
4720
  } | undefined;
3422
- readonly label?: string | undefined;
3423
- readonly precision?: number | undefined;
3424
- readonly description?: string | undefined;
3425
4721
  readonly columnName?: string | undefined;
3426
- readonly required?: boolean | undefined;
3427
4722
  readonly searchable?: boolean | undefined;
3428
- readonly multiple?: boolean | undefined;
3429
4723
  readonly unique?: boolean | undefined;
4724
+ readonly defaultValue?: unknown;
3430
4725
  readonly maxLength?: number | undefined;
3431
4726
  readonly minLength?: number | undefined;
3432
4727
  readonly scale?: number | undefined;
3433
- readonly options?: {
3434
- label: string;
3435
- value: string;
3436
- color?: string | undefined;
3437
- default?: boolean | undefined;
3438
- }[] | undefined;
3439
4728
  readonly reference?: string | undefined;
3440
4729
  readonly referenceFilters?: string[] | undefined;
3441
4730
  readonly writeRequiresMasterRead?: boolean | undefined;
3442
4731
  readonly deleteBehavior?: "set_null" | "cascade" | "restrict" | undefined;
4732
+ readonly expression?: {
4733
+ dialect: "cel" | "js" | "cron" | "template";
4734
+ source?: string | undefined;
4735
+ ast?: unknown;
4736
+ meta?: {
4737
+ rationale?: string | undefined;
4738
+ generatedBy?: string | undefined;
4739
+ } | undefined;
4740
+ } | undefined;
3443
4741
  readonly summaryOperations?: {
3444
4742
  object: string;
3445
4743
  field: string;
3446
- function: "count" | "sum" | "avg" | "min" | "max";
4744
+ function: "min" | "max" | "count" | "sum" | "avg";
3447
4745
  } | undefined;
3448
4746
  readonly language?: string | undefined;
3449
- readonly theme?: string | undefined;
3450
4747
  readonly lineNumbers?: boolean | undefined;
3451
4748
  readonly maxRating?: number | undefined;
3452
4749
  readonly allowHalf?: boolean | undefined;
@@ -3465,7 +4762,7 @@ declare const AiMessageObject: Omit<{
3465
4762
  readonly allowScanning?: boolean | undefined;
3466
4763
  readonly currencyConfig?: {
3467
4764
  precision: number;
3468
- currencyMode: "dynamic" | "fixed";
4765
+ currencyMode: "fixed" | "dynamic";
3469
4766
  defaultCurrency: string;
3470
4767
  } | undefined;
3471
4768
  readonly vectorConfig?: {
@@ -3473,7 +4770,7 @@ declare const AiMessageObject: Omit<{
3473
4770
  distanceMetric: "cosine" | "euclidean" | "dotProduct" | "manhattan";
3474
4771
  normalized: boolean;
3475
4772
  indexed: boolean;
3476
- indexType?: "hnsw" | "ivfflat" | "flat" | undefined;
4773
+ indexType?: "flat" | "hnsw" | "ivfflat" | undefined;
3477
4774
  } | undefined;
3478
4775
  readonly fileAttachmentConfig?: {
3479
4776
  virusScan: boolean;
@@ -3518,7 +4815,7 @@ declare const AiMessageObject: Omit<{
3518
4815
  } | undefined;
3519
4816
  readonly maskingRule?: {
3520
4817
  field: string;
3521
- strategy: "redact" | "partial" | "hash" | "tokenize" | "randomize" | "nullify" | "substitute";
4818
+ strategy: "partial" | "hash" | "redact" | "tokenize" | "randomize" | "nullify" | "substitute";
3522
4819
  preserveFormat: boolean;
3523
4820
  preserveLength: boolean;
3524
4821
  pattern?: string | undefined;
@@ -3526,7 +4823,6 @@ declare const AiMessageObject: Omit<{
3526
4823
  exemptRoles?: string[] | undefined;
3527
4824
  } | undefined;
3528
4825
  readonly auditTrail?: boolean | undefined;
3529
- readonly dependencies?: string[] | undefined;
3530
4826
  readonly cached?: {
3531
4827
  enabled: boolean;
3532
4828
  ttl: number;
@@ -3540,8 +4836,15 @@ declare const AiMessageObject: Omit<{
3540
4836
  threshold: number;
3541
4837
  } | undefined;
3542
4838
  } | undefined;
3543
- readonly group?: string | undefined;
3544
- readonly conditionalRequired?: string | undefined;
4839
+ readonly conditionalRequired?: {
4840
+ dialect: "cel" | "js" | "cron" | "template";
4841
+ source?: string | undefined;
4842
+ ast?: unknown;
4843
+ meta?: {
4844
+ rationale?: string | undefined;
4845
+ generatedBy?: string | undefined;
4846
+ } | undefined;
4847
+ } | undefined;
3545
4848
  readonly hidden?: boolean | undefined;
3546
4849
  readonly sortable?: boolean | undefined;
3547
4850
  readonly inlineHelpText?: string | undefined;
@@ -3549,7 +4852,6 @@ declare const AiMessageObject: Omit<{
3549
4852
  readonly caseSensitive?: boolean | undefined;
3550
4853
  readonly autonumberFormat?: string | undefined;
3551
4854
  readonly index?: boolean | undefined;
3552
- readonly externalId?: boolean | undefined;
3553
4855
  readonly type: "datetime";
3554
4856
  };
3555
4857
  };
@@ -3665,6 +4967,25 @@ declare function buildAIRoutes(aiService: IAIService, conversationService: IAICo
3665
4967
  */
3666
4968
  declare function buildAgentRoutes(aiService: AIService, agentRuntime: AgentRuntime, logger: Logger): RouteDefinition[];
3667
4969
 
4970
+ /**
4971
+ * Build ambient assistant routes — the "single chat entry" pattern
4972
+ * inspired by Claude Code, Salesforce Agentforce, and ServiceNow Now
4973
+ * Assist.
4974
+ *
4975
+ * Unlike `/api/v1/ai/agents/:name/chat`, these endpoints do not require
4976
+ * the caller to pre-select an agent. The default agent for the active
4977
+ * application is resolved automatically from metadata, skills are
4978
+ * filtered by the runtime context, and the LLM decides which tool to
4979
+ * invoke.
4980
+ *
4981
+ * | Method | Path | Description |
4982
+ * |:---|:---|:---|
4983
+ * | GET | /api/v1/ai/assistant | Resolve the active assistant + skills for the given context |
4984
+ * | GET | /api/v1/ai/assistant/skills | List active skills (for slash-command palettes) |
4985
+ * | POST | /api/v1/ai/assistant/chat | Ambient chat against the resolved default agent |
4986
+ */
4987
+ declare function buildAssistantRoutes(aiService: AIService, agentRuntime: AgentRuntime, skillRegistry: SkillRegistry, logger: Logger): RouteDefinition[];
4988
+
3668
4989
  /**
3669
4990
  * Build tool-specific REST routes.
3670
4991
  *
@@ -3675,4 +4996,4 @@ declare function buildAgentRoutes(aiService: AIService, agentRuntime: AgentRunti
3675
4996
  */
3676
4997
  declare function buildToolRoutes(aiService: AIService, logger: Logger): RouteDefinition[];
3677
4998
 
3678
- export { AIService, type AIServiceConfig, AIServicePlugin, type AIServicePluginOptions, type AgentChatContext, AgentRuntime, AiConversationObject, AiMessageObject, DATA_CHAT_AGENT, DATA_TOOL_DEFINITIONS, type DataToolContext, InMemoryConversationService, METADATA_ASSISTANT_AGENT, METADATA_TOOL_DEFINITIONS, MemoryLLMAdapter, type MetadataToolContext, ObjectQLConversationService, type RouteDefinition, type RouteRequest, type RouteResponse, type RouteUserContext, type ToolExecutionResult, type ToolHandler, ToolRegistry, VercelLLMAdapter, type VercelLLMAdapterConfig, addFieldTool, buildAIRoutes, buildAgentRoutes, buildToolRoutes, createObjectTool, deleteFieldTool, describeObjectTool, encodeStreamPart, encodeVercelDataStream, listObjectsTool, modifyFieldTool, registerDataTools, registerMetadataTools };
4999
+ export { AIService, type AIServiceConfig, AIServicePlugin, type AIServicePluginOptions, type AgentChatContext, AgentRuntime, AiConversationObject, AiMessageObject, DATA_CHAT_AGENT, DATA_TOOL_DEFINITIONS, type DataToolContext, type IConversationService, type IPackageRegistry, InMemoryConversationService, METADATA_ASSISTANT_AGENT, METADATA_TOOL_DEFINITIONS, MemoryLLMAdapter, type MetadataToolContext, ObjectQLConversationService, PACKAGE_TOOL_DEFINITIONS, type PackageToolContext, type RouteDefinition, type RouteRequest, type RouteResponse, type RouteUserContext, type SkillContext, SkillRegistry, type SkillSummary, type ToolExecutionResult, type ToolHandler, ToolRegistry, VercelLLMAdapter, type VercelLLMAdapterConfig, addFieldTool, buildAIRoutes, buildAgentRoutes, buildAssistantRoutes, buildToolRoutes, createObjectTool, createPackageTool, deleteFieldTool, describeObjectTool, encodeStreamPart, encodeVercelDataStream, getActivePackageTool, getPackageTool, listObjectsTool, listPackagesTool, modifyFieldTool, registerDataTools, registerMetadataTools, registerPackageTools, setActivePackageTool };