@infuro/cms-core 1.0.31 → 1.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,16 +1,17 @@
1
- import { e as CompanyDetails, T as TemplateContext, h as EmailTemplateResult, g as EmailTemplateName, O as OrderPlacedLineItem, o as StorageService, i as EntityMap$2 } from './index-BcMRGNjS.cjs';
2
- export { A as AnalyticsHandlerConfig, a as AuthHandlersConfig, B as BlogBySlugConfig, C as ChangePasswordConfig, b as ChatPublicConfig, c as CmsApiHandlerConfig, d as CmsGetter, f as CrudHandlerOptions, D as DashboardStatsConfig, E as EcommerceAnalyticsConfig, F as ForgotPasswordConfig, j as FormBySlugConfig, G as GetPublicSettingsGroupConfig, k as GetPublicSettingsGroupDataSource, I as InviteAcceptConfig, J as JobScheduleApiConfig, L as LlmAgentKnowledgeApiConfig, l as LlmAgentValidationRulesJson, P as ParsedLlmAgentValidation, S as SetPasswordConfig, m as SettingsApiConfig, n as SocialLinkItem, p as StorefrontApiConfig, q as StorefrontOtpFlags, U as UploadHandlerConfig, r as UserAuthApiConfig, s as UserAvatarConfig, t as UserProfileConfig, u as UsersApiConfig, V as VendorOnboardHandlersConfig, v as VendorOwnerActivation, w as createAnalyticsHandlers, x as createBlogBySlugHandler, y as createChangePasswordHandler, z as createCmsApiHandler, H as createCrudByIdHandler, K as createCrudHandler, M as createDashboardStatsHandler, N as createEcommerceAnalyticsHandler, Q as createForgotPasswordHandler, R as createFormBySlugHandler, W as createInviteAcceptHandler, X as createJobScheduleHandlers, Y as createLlmAgentKnowledgeHandlers, Z as createMediaZipExtractHandler, _ as createSetPasswordHandler, $ as createSettingsApiHandlers, a0 as createStorefrontApiHandler, a1 as createUploadHandler, a2 as createUserAuthApiRouter, a3 as createUserAvatarHandler, a4 as createUserProfileHandler, a5 as createUsersApiHandlers, a6 as createVendorOnboardHandlers, a7 as getCompanyDetailsFromSettings, a8 as getPublicSettingsGroup, a9 as mergeEmailLayoutCompanyDetails, aa as mergeGuardrailsIntoSystemPrompt, ab as parseLlmAgentValidationRules, ac as simpleDecrypt, ad as simpleEncrypt, ae as validateUserMessageAgainstAgentRules, af as validateUserMessageAgainstStructuredRules } from './index-BcMRGNjS.cjs';
1
+ import { e as CompanyDetails, T as TemplateContext, h as EmailTemplateResult, g as EmailTemplateName, O as OrderPlacedLineItem, o as StorageService, i as EntityMap$2 } from './index-rZTnpK7y.cjs';
2
+ export { A as AnalyticsHandlerConfig, a as AuthHandlersConfig, B as BlogBySlugConfig, C as ChangePasswordConfig, b as ChatPublicConfig, c as CmsApiHandlerConfig, d as CmsGetter, f as CrudHandlerOptions, D as DashboardStatsConfig, E as EcommerceAnalyticsConfig, F as ForgotPasswordConfig, j as FormBySlugConfig, G as GetPublicSettingsGroupConfig, k as GetPublicSettingsGroupDataSource, I as InviteAcceptConfig, J as JobScheduleApiConfig, L as LlmAgentKnowledgeApiConfig, l as LlmAgentValidationRulesJson, P as ParsedLlmAgentValidation, S as SetPasswordConfig, m as SettingsApiConfig, n as SocialLinkItem, p as StorefrontApiConfig, q as StorefrontOtpFlags, U as UploadHandlerConfig, r as UserAuthApiConfig, s as UserAvatarConfig, t as UserProfileConfig, u as UsersApiConfig, V as VendorOnboardHandlersConfig, v as VendorOwnerActivation, w as createAnalyticsHandlers, x as createBlogBySlugHandler, y as createChangePasswordHandler, z as createCmsApiHandler, H as createCrudByIdHandler, K as createCrudHandler, M as createDashboardStatsHandler, N as createEcommerceAnalyticsHandler, Q as createForgotPasswordHandler, R as createFormBySlugHandler, W as createInviteAcceptHandler, X as createJobScheduleHandlers, Y as createLlmAgentKnowledgeHandlers, Z as createMediaZipExtractHandler, _ as createSetPasswordHandler, $ as createSettingsApiHandlers, a0 as createStorefrontApiHandler, a1 as createUploadHandler, a2 as createUserAuthApiRouter, a3 as createUserAvatarHandler, a4 as createUserProfileHandler, a5 as createUsersApiHandlers, a6 as createVendorOnboardHandlers, a7 as getCompanyDetailsFromSettings, a8 as getPublicSettingsGroup, a9 as mergeEmailLayoutCompanyDetails, aa as mergeGuardrailsIntoSystemPrompt, ab as parseLlmAgentValidationRules, ac as simpleDecrypt, ad as simpleEncrypt, ae as validateUserMessageAgainstAgentRules, af as validateUserMessageAgainstStructuredRules } from './index-rZTnpK7y.cjs';
3
3
  import PgBoss from 'pg-boss';
4
4
  import * as typeorm from 'typeorm';
5
5
  import { DataSource, EntityTarget, ObjectLiteral, SelectQueryBuilder } from 'typeorm';
6
6
  import { ClassValue } from 'clsx';
7
7
  import { Metadata } from 'next';
8
8
  import { NextAuthUser } from './auth.cjs';
9
- export { AuthorizeOtpInput, CmsMiddlewareConfig, NextAuthOptionsConfig, createCmsMiddleware, defaultPublicApiMethods, explainSessionEntityAccess, getNextAuthOptions, isRbacDebugEnabled, logEntityAccessDecision, logRbac, seedAdministratorPermissions, summarizeEntityPerms } from './auth.cjs';
9
+ export { AuthorizeOtpInput, CmsMiddlewareConfig, CmsMiddlewareRequest, NextAuthOptionsConfig, createCmsMiddleware, defaultPublicApiMethods, explainSessionEntityAccess, getNextAuthOptions, isAuthDebugClientEnabled, isAuthDebugEnabled, isRbacDebugEnabled, logAuth, logAuthClient, logEntityAccessDecision, logRbac, nextAuthCookieDebugInfo, seedAdministratorPermissions, summarizeEntityPerms, summarizeSessionUserForLog } from './auth.cjs';
10
10
  import { E as EntityCrudAction, S as SessionUser, e as VendorScope } from './vendor-scope-DTYhJk_I.cjs';
11
11
  export { A as ADMIN_GROUP_NAME, a as AuthHelpers, b as EntityPermissionFlags, G as GetSession, O as OPEN_ENDPOINTS, P as PERMISSION_REQUIRED_ENDPOINTS, R as RBAC_ADMIN_ONLY_ENTITIES, V as VENDOR_OWNER_GROUP_NAME, c as VENDOR_SCOPED_STORE_ENTITIES, d as VENDOR_STORE_RBAC_ENTITIES, f as canManageRoles, g as canManageVendorRoles, h as canManageVendorTeam, i as canOnboardVendors, j as createAuthHelpers, k as createCmsAuthBundle, l as getPermissionableEntityKeys, m as getRequiredPermission, n as hasEntityPermission, o as isOpenEndpoint, p as isPlatformAdministrator, q as isPublicMethod, r as isSuperAdminGroupName, s as isVendorGroupName, t as isVendorOwner, u as isVendorPortalUser, v as isVendorStaff, w as permissionRowsToRecord, x as resolveVendorScopeFromSessionUser, y as sessionHasEntityAccess, z as vendorPortalFlagsFromUser } from './vendor-scope-DTYhJk_I.cjs';
12
12
  import { a as NavbarConfig, F as FooterConfig } from './types-DCVaXlPV.cjs';
13
13
  export { A as AdminNavItem, D as DEFAULT_ADMIN_NAV } from './config-DJ5CmQvS.cjs';
14
+ import 'next-auth/jwt';
14
15
  import 'next-auth';
15
16
 
16
17
  interface PluginContext {
@@ -246,6 +247,8 @@ declare class EmailService implements EmailServiceInterface {
246
247
  constructor(config: EmailPluginConfig$1);
247
248
  send(emailData: EmailData): Promise<boolean>;
248
249
  renderTemplate(templateName: EmailTemplateName, ctx: TemplateContext<unknown>): RenderedEmail;
250
+ /** Default notification recipient from plugin config (SMTP_TO / plugin `to`). */
251
+ getDefaultTo(): string;
249
252
  }
250
253
  declare const emailTemplates: {
251
254
  formSubmission: (data: {
@@ -615,6 +618,38 @@ declare class LlmService implements LlmServiceInterface {
615
618
  streamChat(messages: LlmMessage[], options?: LlmChatOptions): AsyncIterable<string>;
616
619
  }
617
620
 
621
+ declare class LlmAgent {
622
+ id: number;
623
+ name: string;
624
+ /** Stable key for API / widgets (e.g. `support`, `sales`). */
625
+ slug: string;
626
+ /**
627
+ * Logical role for this agent (`chatbot`, `blog_creation`, `social_media_post`, `email_intent_chatbot`, …).
628
+ * At most one active row per scope; resolve agents by scope in application code.
629
+ */
630
+ scope: string | null;
631
+ /** Passed as `systemPrompt` to `LlmService.chatAgent`. */
632
+ systemInstruction: string;
633
+ model: string | null;
634
+ temperature: number | null;
635
+ maxTokens: number | null;
636
+ /**
637
+ * Rules string: plain prose → appended to system prompt as output guardrails; JSON → see `parseLlmAgentValidationRules` in cms-handlers
638
+ * (structural checks + optional `guardrails` / `outputRules` / `outputInstructions` for the model).
639
+ */
640
+ validationRules: string | null;
641
+ enabled: boolean;
642
+ createdAt: Date;
643
+ updatedAt: Date;
644
+ deletedAt: Date | null;
645
+ deleted: boolean;
646
+ createdBy: number | null;
647
+ updatedBy: number | null;
648
+ deletedBy: number | null;
649
+ }
650
+ /** Partial {@link LlmAgentOptions} for merging with `userPrompt` / `history` / `context`. */
651
+ declare function llmAgentToChatAgentOptions(agent: LlmAgent): Pick<LlmAgentOptions, 'systemPrompt' | 'model' | 'temperature' | 'max_tokens'>;
652
+
618
653
  interface LlmPluginConfig {
619
654
  baseURL?: string;
620
655
  apiKey?: string;
@@ -1804,6 +1839,7 @@ declare class Order {
1804
1839
  id: number;
1805
1840
  vendorId: number;
1806
1841
  orderNumber: string;
1842
+ qrToken: string | null;
1807
1843
  orderKind: OrderKind;
1808
1844
  parentOrderId: number | null;
1809
1845
  contactId: number;
@@ -1847,6 +1883,8 @@ declare class ChatConversation {
1847
1883
  contactId: number;
1848
1884
  createdAt: Date;
1849
1885
  updatedAt: Date;
1886
+ /** Set when a chat lead email was sent for this conversation (intent tool). */
1887
+ leadEmailSentAt: Date | null;
1850
1888
  contact: Contact;
1851
1889
  messages: ChatMessage[];
1852
1890
  }
@@ -2015,33 +2053,6 @@ declare class Wishlist {
2015
2053
  items: WishlistItem[];
2016
2054
  }
2017
2055
 
2018
- declare class LlmAgent {
2019
- id: number;
2020
- name: string;
2021
- /** Stable key for API / widgets (e.g. `support`, `sales`). */
2022
- slug: string;
2023
- /** Passed as `systemPrompt` to `LlmService.chatAgent`. */
2024
- systemInstruction: string;
2025
- model: string | null;
2026
- temperature: number | null;
2027
- maxTokens: number | null;
2028
- /**
2029
- * Rules string: plain prose → appended to system prompt as output guardrails; JSON → see `parseLlmAgentValidationRules` in cms-handlers
2030
- * (structural checks + optional `guardrails` / `outputRules` / `outputInstructions` for the model).
2031
- */
2032
- validationRules: string | null;
2033
- enabled: boolean;
2034
- createdAt: Date;
2035
- updatedAt: Date;
2036
- deletedAt: Date | null;
2037
- deleted: boolean;
2038
- createdBy: number | null;
2039
- updatedBy: number | null;
2040
- deletedBy: number | null;
2041
- }
2042
- /** Partial {@link LlmAgentOptions} for merging with `userPrompt` / `history` / `context`. */
2043
- declare function llmAgentToChatAgentOptions(agent: LlmAgent): Pick<LlmAgentOptions, 'systemPrompt' | 'model' | 'temperature' | 'max_tokens'>;
2044
-
2045
2056
  declare class Currency {
2046
2057
  id: number;
2047
2058
  code: string;
package/dist/index.d.ts CHANGED
@@ -1,16 +1,17 @@
1
- import { e as CompanyDetails, T as TemplateContext, h as EmailTemplateResult, g as EmailTemplateName, O as OrderPlacedLineItem, o as StorageService, i as EntityMap$2 } from './index-Bda8D1Rm.js';
2
- export { A as AnalyticsHandlerConfig, a as AuthHandlersConfig, B as BlogBySlugConfig, C as ChangePasswordConfig, b as ChatPublicConfig, c as CmsApiHandlerConfig, d as CmsGetter, f as CrudHandlerOptions, D as DashboardStatsConfig, E as EcommerceAnalyticsConfig, F as ForgotPasswordConfig, j as FormBySlugConfig, G as GetPublicSettingsGroupConfig, k as GetPublicSettingsGroupDataSource, I as InviteAcceptConfig, J as JobScheduleApiConfig, L as LlmAgentKnowledgeApiConfig, l as LlmAgentValidationRulesJson, P as ParsedLlmAgentValidation, S as SetPasswordConfig, m as SettingsApiConfig, n as SocialLinkItem, p as StorefrontApiConfig, q as StorefrontOtpFlags, U as UploadHandlerConfig, r as UserAuthApiConfig, s as UserAvatarConfig, t as UserProfileConfig, u as UsersApiConfig, V as VendorOnboardHandlersConfig, v as VendorOwnerActivation, w as createAnalyticsHandlers, x as createBlogBySlugHandler, y as createChangePasswordHandler, z as createCmsApiHandler, H as createCrudByIdHandler, K as createCrudHandler, M as createDashboardStatsHandler, N as createEcommerceAnalyticsHandler, Q as createForgotPasswordHandler, R as createFormBySlugHandler, W as createInviteAcceptHandler, X as createJobScheduleHandlers, Y as createLlmAgentKnowledgeHandlers, Z as createMediaZipExtractHandler, _ as createSetPasswordHandler, $ as createSettingsApiHandlers, a0 as createStorefrontApiHandler, a1 as createUploadHandler, a2 as createUserAuthApiRouter, a3 as createUserAvatarHandler, a4 as createUserProfileHandler, a5 as createUsersApiHandlers, a6 as createVendorOnboardHandlers, a7 as getCompanyDetailsFromSettings, a8 as getPublicSettingsGroup, a9 as mergeEmailLayoutCompanyDetails, aa as mergeGuardrailsIntoSystemPrompt, ab as parseLlmAgentValidationRules, ac as simpleDecrypt, ad as simpleEncrypt, ae as validateUserMessageAgainstAgentRules, af as validateUserMessageAgainstStructuredRules } from './index-Bda8D1Rm.js';
1
+ import { e as CompanyDetails, T as TemplateContext, h as EmailTemplateResult, g as EmailTemplateName, O as OrderPlacedLineItem, o as StorageService, i as EntityMap$2 } from './index-DWd5Gjc4.js';
2
+ export { A as AnalyticsHandlerConfig, a as AuthHandlersConfig, B as BlogBySlugConfig, C as ChangePasswordConfig, b as ChatPublicConfig, c as CmsApiHandlerConfig, d as CmsGetter, f as CrudHandlerOptions, D as DashboardStatsConfig, E as EcommerceAnalyticsConfig, F as ForgotPasswordConfig, j as FormBySlugConfig, G as GetPublicSettingsGroupConfig, k as GetPublicSettingsGroupDataSource, I as InviteAcceptConfig, J as JobScheduleApiConfig, L as LlmAgentKnowledgeApiConfig, l as LlmAgentValidationRulesJson, P as ParsedLlmAgentValidation, S as SetPasswordConfig, m as SettingsApiConfig, n as SocialLinkItem, p as StorefrontApiConfig, q as StorefrontOtpFlags, U as UploadHandlerConfig, r as UserAuthApiConfig, s as UserAvatarConfig, t as UserProfileConfig, u as UsersApiConfig, V as VendorOnboardHandlersConfig, v as VendorOwnerActivation, w as createAnalyticsHandlers, x as createBlogBySlugHandler, y as createChangePasswordHandler, z as createCmsApiHandler, H as createCrudByIdHandler, K as createCrudHandler, M as createDashboardStatsHandler, N as createEcommerceAnalyticsHandler, Q as createForgotPasswordHandler, R as createFormBySlugHandler, W as createInviteAcceptHandler, X as createJobScheduleHandlers, Y as createLlmAgentKnowledgeHandlers, Z as createMediaZipExtractHandler, _ as createSetPasswordHandler, $ as createSettingsApiHandlers, a0 as createStorefrontApiHandler, a1 as createUploadHandler, a2 as createUserAuthApiRouter, a3 as createUserAvatarHandler, a4 as createUserProfileHandler, a5 as createUsersApiHandlers, a6 as createVendorOnboardHandlers, a7 as getCompanyDetailsFromSettings, a8 as getPublicSettingsGroup, a9 as mergeEmailLayoutCompanyDetails, aa as mergeGuardrailsIntoSystemPrompt, ab as parseLlmAgentValidationRules, ac as simpleDecrypt, ad as simpleEncrypt, ae as validateUserMessageAgainstAgentRules, af as validateUserMessageAgainstStructuredRules } from './index-DWd5Gjc4.js';
3
3
  import PgBoss from 'pg-boss';
4
4
  import * as typeorm from 'typeorm';
5
5
  import { DataSource, EntityTarget, ObjectLiteral, SelectQueryBuilder } from 'typeorm';
6
6
  import { ClassValue } from 'clsx';
7
7
  import { Metadata } from 'next';
8
8
  import { NextAuthUser } from './auth.js';
9
- export { AuthorizeOtpInput, CmsMiddlewareConfig, NextAuthOptionsConfig, createCmsMiddleware, defaultPublicApiMethods, explainSessionEntityAccess, getNextAuthOptions, isRbacDebugEnabled, logEntityAccessDecision, logRbac, seedAdministratorPermissions, summarizeEntityPerms } from './auth.js';
9
+ export { AuthorizeOtpInput, CmsMiddlewareConfig, CmsMiddlewareRequest, NextAuthOptionsConfig, createCmsMiddleware, defaultPublicApiMethods, explainSessionEntityAccess, getNextAuthOptions, isAuthDebugClientEnabled, isAuthDebugEnabled, isRbacDebugEnabled, logAuth, logAuthClient, logEntityAccessDecision, logRbac, nextAuthCookieDebugInfo, seedAdministratorPermissions, summarizeEntityPerms, summarizeSessionUserForLog } from './auth.js';
10
10
  import { E as EntityCrudAction, S as SessionUser, e as VendorScope } from './vendor-scope-DTYhJk_I.js';
11
11
  export { A as ADMIN_GROUP_NAME, a as AuthHelpers, b as EntityPermissionFlags, G as GetSession, O as OPEN_ENDPOINTS, P as PERMISSION_REQUIRED_ENDPOINTS, R as RBAC_ADMIN_ONLY_ENTITIES, V as VENDOR_OWNER_GROUP_NAME, c as VENDOR_SCOPED_STORE_ENTITIES, d as VENDOR_STORE_RBAC_ENTITIES, f as canManageRoles, g as canManageVendorRoles, h as canManageVendorTeam, i as canOnboardVendors, j as createAuthHelpers, k as createCmsAuthBundle, l as getPermissionableEntityKeys, m as getRequiredPermission, n as hasEntityPermission, o as isOpenEndpoint, p as isPlatformAdministrator, q as isPublicMethod, r as isSuperAdminGroupName, s as isVendorGroupName, t as isVendorOwner, u as isVendorPortalUser, v as isVendorStaff, w as permissionRowsToRecord, x as resolveVendorScopeFromSessionUser, y as sessionHasEntityAccess, z as vendorPortalFlagsFromUser } from './vendor-scope-DTYhJk_I.js';
12
12
  import { a as NavbarConfig, F as FooterConfig } from './types-DCVaXlPV.js';
13
13
  export { A as AdminNavItem, D as DEFAULT_ADMIN_NAV } from './config-DJ5CmQvS.js';
14
+ import 'next-auth/jwt';
14
15
  import 'next-auth';
15
16
 
16
17
  interface PluginContext {
@@ -246,6 +247,8 @@ declare class EmailService implements EmailServiceInterface {
246
247
  constructor(config: EmailPluginConfig$1);
247
248
  send(emailData: EmailData): Promise<boolean>;
248
249
  renderTemplate(templateName: EmailTemplateName, ctx: TemplateContext<unknown>): RenderedEmail;
250
+ /** Default notification recipient from plugin config (SMTP_TO / plugin `to`). */
251
+ getDefaultTo(): string;
249
252
  }
250
253
  declare const emailTemplates: {
251
254
  formSubmission: (data: {
@@ -615,6 +618,38 @@ declare class LlmService implements LlmServiceInterface {
615
618
  streamChat(messages: LlmMessage[], options?: LlmChatOptions): AsyncIterable<string>;
616
619
  }
617
620
 
621
+ declare class LlmAgent {
622
+ id: number;
623
+ name: string;
624
+ /** Stable key for API / widgets (e.g. `support`, `sales`). */
625
+ slug: string;
626
+ /**
627
+ * Logical role for this agent (`chatbot`, `blog_creation`, `social_media_post`, `email_intent_chatbot`, …).
628
+ * At most one active row per scope; resolve agents by scope in application code.
629
+ */
630
+ scope: string | null;
631
+ /** Passed as `systemPrompt` to `LlmService.chatAgent`. */
632
+ systemInstruction: string;
633
+ model: string | null;
634
+ temperature: number | null;
635
+ maxTokens: number | null;
636
+ /**
637
+ * Rules string: plain prose → appended to system prompt as output guardrails; JSON → see `parseLlmAgentValidationRules` in cms-handlers
638
+ * (structural checks + optional `guardrails` / `outputRules` / `outputInstructions` for the model).
639
+ */
640
+ validationRules: string | null;
641
+ enabled: boolean;
642
+ createdAt: Date;
643
+ updatedAt: Date;
644
+ deletedAt: Date | null;
645
+ deleted: boolean;
646
+ createdBy: number | null;
647
+ updatedBy: number | null;
648
+ deletedBy: number | null;
649
+ }
650
+ /** Partial {@link LlmAgentOptions} for merging with `userPrompt` / `history` / `context`. */
651
+ declare function llmAgentToChatAgentOptions(agent: LlmAgent): Pick<LlmAgentOptions, 'systemPrompt' | 'model' | 'temperature' | 'max_tokens'>;
652
+
618
653
  interface LlmPluginConfig {
619
654
  baseURL?: string;
620
655
  apiKey?: string;
@@ -1804,6 +1839,7 @@ declare class Order {
1804
1839
  id: number;
1805
1840
  vendorId: number;
1806
1841
  orderNumber: string;
1842
+ qrToken: string | null;
1807
1843
  orderKind: OrderKind;
1808
1844
  parentOrderId: number | null;
1809
1845
  contactId: number;
@@ -1847,6 +1883,8 @@ declare class ChatConversation {
1847
1883
  contactId: number;
1848
1884
  createdAt: Date;
1849
1885
  updatedAt: Date;
1886
+ /** Set when a chat lead email was sent for this conversation (intent tool). */
1887
+ leadEmailSentAt: Date | null;
1850
1888
  contact: Contact;
1851
1889
  messages: ChatMessage[];
1852
1890
  }
@@ -2015,33 +2053,6 @@ declare class Wishlist {
2015
2053
  items: WishlistItem[];
2016
2054
  }
2017
2055
 
2018
- declare class LlmAgent {
2019
- id: number;
2020
- name: string;
2021
- /** Stable key for API / widgets (e.g. `support`, `sales`). */
2022
- slug: string;
2023
- /** Passed as `systemPrompt` to `LlmService.chatAgent`. */
2024
- systemInstruction: string;
2025
- model: string | null;
2026
- temperature: number | null;
2027
- maxTokens: number | null;
2028
- /**
2029
- * Rules string: plain prose → appended to system prompt as output guardrails; JSON → see `parseLlmAgentValidationRules` in cms-handlers
2030
- * (structural checks + optional `guardrails` / `outputRules` / `outputInstructions` for the model).
2031
- */
2032
- validationRules: string | null;
2033
- enabled: boolean;
2034
- createdAt: Date;
2035
- updatedAt: Date;
2036
- deletedAt: Date | null;
2037
- deleted: boolean;
2038
- createdBy: number | null;
2039
- updatedBy: number | null;
2040
- deletedBy: number | null;
2041
- }
2042
- /** Partial {@link LlmAgentOptions} for merging with `userPrompt` / `history` / `context`. */
2043
- declare function llmAgentToChatAgentOptions(agent: LlmAgent): Pick<LlmAgentOptions, 'systemPrompt' | 'model' | 'temperature' | 'max_tokens'>;
2044
-
2045
2056
  declare class Currency {
2046
2057
  id: number;
2047
2058
  code: string;