@carlonicora/nextjs-jsonapi 3.23.0 → 3.24.1

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 (106) hide show
  1. package/dist/{AssistantMessageInterface-CuaMDs2i.d.ts → AssistantMessageInterface-1Kbz8RVs.d.ts} +34 -1
  2. package/dist/{AssistantMessageInterface-Du3ShThp.d.mts → AssistantMessageInterface-CoxJyuFM.d.mts} +34 -1
  3. package/dist/{BlockNoteEditor-BUSOUPQ7.js → BlockNoteEditor-7I7PL3KS.js} +19 -19
  4. package/dist/{BlockNoteEditor-BUSOUPQ7.js.map → BlockNoteEditor-7I7PL3KS.js.map} +1 -1
  5. package/dist/{BlockNoteEditor-W42IQTGL.mjs → BlockNoteEditor-BNS3U3CP.mjs} +4 -4
  6. package/dist/{BlockNoteViewer-FQ23TZ3J.mjs → BlockNoteViewer-THOJS3OG.mjs} +2 -2
  7. package/dist/{BlockNoteViewer-MCX53AR4.js → BlockNoteViewer-UCWWHBTZ.js} +3 -3
  8. package/dist/{BlockNoteViewer-MCX53AR4.js.map → BlockNoteViewer-UCWWHBTZ.js.map} +1 -1
  9. package/dist/billing/index.d.mts +57 -2
  10. package/dist/billing/index.d.ts +57 -2
  11. package/dist/billing/index.js +406 -401
  12. package/dist/billing/index.js.map +1 -1
  13. package/dist/billing/index.mjs +8 -3
  14. package/dist/{chunk-GFLEFIAW.mjs → chunk-6R45U3GH.mjs} +1401 -1178
  15. package/dist/chunk-6R45U3GH.mjs.map +1 -0
  16. package/dist/{chunk-FXWO5J2R.js → chunk-7EFTSFZO.js} +7 -7
  17. package/dist/{chunk-FXWO5J2R.js.map → chunk-7EFTSFZO.js.map} +1 -1
  18. package/dist/{chunk-VR65NRE4.js → chunk-7XD2BJN6.js} +1338 -1115
  19. package/dist/chunk-7XD2BJN6.js.map +1 -0
  20. package/dist/{chunk-YCHPWXHD.js → chunk-WRMTBKSN.js} +44 -40
  21. package/dist/chunk-WRMTBKSN.js.map +1 -0
  22. package/dist/{chunk-JZUBFAAY.mjs → chunk-Z7KPVKWV.mjs} +2 -2
  23. package/dist/{chunk-O5MKEU7G.mjs → chunk-ZE5ZUY6Y.mjs} +44 -40
  24. package/dist/chunk-ZE5ZUY6Y.mjs.map +1 -0
  25. package/dist/client/index.d.mts +13 -2
  26. package/dist/client/index.d.ts +13 -2
  27. package/dist/client/index.js +4 -4
  28. package/dist/client/index.mjs +3 -3
  29. package/dist/components/index.d.mts +87 -28
  30. package/dist/components/index.d.ts +87 -28
  31. package/dist/components/index.js +8 -4
  32. package/dist/components/index.js.map +1 -1
  33. package/dist/components/index.mjs +7 -3
  34. package/dist/contexts/index.d.mts +11 -2
  35. package/dist/contexts/index.d.ts +11 -2
  36. package/dist/contexts/index.js +4 -4
  37. package/dist/contexts/index.mjs +3 -3
  38. package/dist/core/index.d.mts +29 -7
  39. package/dist/core/index.d.ts +29 -7
  40. package/dist/core/index.js +2 -2
  41. package/dist/core/index.mjs +1 -1
  42. package/dist/features/help/index.js +37 -37
  43. package/dist/features/help/index.mjs +3 -3
  44. package/dist/features/tokenusage/index.js +101 -101
  45. package/dist/features/tokenusage/index.mjs +3 -3
  46. package/dist/index.d.mts +3 -4
  47. package/dist/index.d.ts +3 -4
  48. package/dist/index.js +3 -3
  49. package/dist/index.mjs +2 -2
  50. package/dist/{oauth.interface-CD90ycYz.d.ts → oauth.interface-BZKZAPRw.d.ts} +8 -1
  51. package/dist/{oauth.interface-DRE3NAKc.d.mts → oauth.interface-nVwnzxJw.d.mts} +8 -1
  52. package/dist/{s3.service-DJHqEZAp.d.ts → s3.service-Bqr-fQmi.d.ts} +1 -0
  53. package/dist/{s3.service-DaRFLnrX.d.mts → s3.service-Buiy1ncj.d.mts} +1 -0
  54. package/dist/server/index.d.mts +1 -1
  55. package/dist/server/index.d.ts +1 -1
  56. package/dist/server/index.js +3 -3
  57. package/dist/server/index.mjs +1 -1
  58. package/package.json +1 -1
  59. package/src/components/forms/__tests__/EditorSheet.test.tsx +5 -3
  60. package/src/core/utils/__tests__/translateResponse.test.ts +3 -1
  61. package/src/features/assistant/components/containers/AssistantContainer.tsx +105 -36
  62. package/src/features/assistant/components/containers/__tests__/AssistantContainer.spec.tsx +163 -1
  63. package/src/features/assistant/components/parts/AssistantComposer.tsx +38 -15
  64. package/src/features/assistant/components/parts/AssistantEmptyState.tsx +5 -3
  65. package/src/features/assistant/components/parts/AssistantSidebar.tsx +26 -7
  66. package/src/features/assistant/components/parts/__tests__/AssistantComposer.spec.tsx +8 -0
  67. package/src/features/assistant/components/parts/__tests__/AssistantSidebar.spec.tsx +7 -0
  68. package/src/features/assistant/contexts/AssistantContext.tsx +91 -7
  69. package/src/features/assistant/contexts/__tests__/AssistantContext.spec.tsx +196 -0
  70. package/src/features/assistant-action/components/AssistantContainerWithApprovals.tsx +23 -1
  71. package/src/features/assistant-message/components/EntityMentionLink.tsx +28 -0
  72. package/src/features/assistant-message/components/__tests__/EntityMentionLink.spec.tsx +58 -0
  73. package/src/features/assistant-message/components/index.ts +1 -0
  74. package/src/features/assistant-message/components/parts/tabs/ContentsTab.tsx +1 -1
  75. package/src/features/assistant-message/components/parts/tabs/ReferencesTab.tsx +2 -2
  76. package/src/features/auth/components/forms/__tests__/Logout.spec.tsx +3 -2
  77. package/src/features/billing/stripe-customer/data/stripe-customer.service.ts +5 -0
  78. package/src/features/billing/stripe-subscription/components/index.ts +1 -0
  79. package/src/features/notification/contexts/NotificationContext.tsx +5 -2
  80. package/src/features/notification/contexts/__tests__/NotificationContext.spec.tsx +32 -0
  81. package/src/features/notification/data/notification.service.ts +6 -1
  82. package/src/features/oauth/components/OAuthClientForm.tsx +21 -4
  83. package/src/features/oauth/components/__tests__/OAuthClientForm.spec.tsx +63 -0
  84. package/src/features/oauth/components/consent/OAuthCompanySelector.tsx +54 -0
  85. package/src/features/oauth/components/consent/OAuthConsentActions.tsx +5 -2
  86. package/src/features/oauth/components/consent/OAuthConsentHeader.tsx +10 -6
  87. package/src/features/oauth/components/consent/OAuthConsentScreen.tsx +33 -13
  88. package/src/features/oauth/components/consent/OAuthScopeList.tsx +4 -1
  89. package/src/features/oauth/components/consent/__tests__/OAuthConsentHeader.spec.tsx +25 -0
  90. package/src/features/oauth/components/consent/__tests__/OAuthConsentScreen.spec.tsx +126 -0
  91. package/src/features/oauth/components/consent/index.ts +1 -0
  92. package/src/features/oauth/data/__tests__/oauth.service.spec.ts +103 -0
  93. package/src/features/oauth/data/oauth.service.ts +3 -13
  94. package/src/features/oauth/data/oauth.ts +30 -1
  95. package/src/features/oauth/hooks/useOAuthConsent.ts +34 -3
  96. package/src/features/oauth/interfaces/oauth.interface.ts +11 -25
  97. package/src/hooks/__tests__/useDataListRetriever.test.ts +1 -1
  98. package/dist/AssistantInterface-RvZzlcA_.d.ts +0 -36
  99. package/dist/AssistantInterface-jL56dyNc.d.mts +0 -36
  100. package/dist/chunk-GFLEFIAW.mjs.map +0 -1
  101. package/dist/chunk-O5MKEU7G.mjs.map +0 -1
  102. package/dist/chunk-VR65NRE4.js.map +0 -1
  103. package/dist/chunk-YCHPWXHD.js.map +0 -1
  104. /package/dist/{BlockNoteEditor-W42IQTGL.mjs.map → BlockNoteEditor-BNS3U3CP.mjs.map} +0 -0
  105. /package/dist/{BlockNoteViewer-FQ23TZ3J.mjs.map → BlockNoteViewer-THOJS3OG.mjs.map} +0 -0
  106. /package/dist/{chunk-JZUBFAAY.mjs.map → chunk-Z7KPVKWV.mjs.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -6,18 +6,17 @@ export { A as ApiResponseInterface } from './ApiResponseInterface-CWLvSCvS.js';
6
6
  import { A as AbstractApiData } from './AbstractApiData-DtitRWPz.js';
7
7
  import { A as AbstractService } from './AbstractService-V3VGQMhL.js';
8
8
  export { H as HttpMethod, N as NextRef, P as PreviousRef, S as SelfRef, T as TotalRef, g as getGlobalErrorHandler, s as setGlobalErrorHandler } from './AbstractService-V3VGQMhL.js';
9
- export { c as AssistantMessageInput, d as AssistantMessageInterface, A as AssistantMessageRole, b as AssistantMessageType, B as BreadcrumbItemData, e as ChunkInterface, C as ChunkRelationshipMeta, H as HowToInput, a as HowToInterface } from './AssistantMessageInterface-CuaMDs2i.js';
9
+ export { A as AssistantInput, b as AssistantInterface, e as AssistantMessageInput, f as AssistantMessageInterface, c as AssistantMessageRole, d as AssistantMessageType, B as BreadcrumbItemData, g as ChunkInterface, C as ChunkRelationshipMeta, H as HowToInput, a as HowToInterface } from './AssistantMessageInterface-1Kbz8RVs.js';
10
10
  export { C as ContentFields, D as D3Link, a as D3Node, R as RoleFields, U as UserFields } from './content.fields-1AlHDtDb.js';
11
11
  export { ClassValue } from 'clsx';
12
12
  export { h as AiConnection, l as AiConnectionEnvDefaults, i as AiConnectionFields, n as AiConnectionInput, m as AiConnectionInterface, p as AiConnectionModule, o as AiConnectionService, j as AiProviderFieldDescriptor, k as AiProviderRegistry, A as AuthComponent, H as HandbookPageInterface, q as HandbookSectionInterface, P as PasskeyInterface, T as TotpAuthenticatorInterface, b as getIcon, a as getIconByModule, c as getIconByModuleName, g as getInitials, d as getLucideIcon, e as getLucideIconByModule, f as getLucideIconByModuleName } from './HandbookSectionInterface-OePKPbqN.js';
13
13
  export { A as Action, d as ModuleDefinition, a as ModuleFactory, c as ModulePermissionDefinition, M as ModuleWithPermissions, P as PageUrl, b as PermissionCheck, e as PermissionConfig, f as PermissionModule, g as PermissionUser } from './types-bsm8Fp55.js';
14
14
  export { A as AuthInput, b as AuthInterface, a as AuthQuery } from './auth.interface-BC1jp_ni.js';
15
- export { A as AuthService, C as CompanyService, a as ContentService, F as FeatureService, N as NotificationService, P as PushService, R as RoleService, b as S3Input, c as S3Interface, S as S3Service, T as TwoFactorChallengeInterface, U as UserService } from './s3.service-DJHqEZAp.js';
15
+ export { A as AuthService, C as CompanyService, a as ContentService, F as FeatureService, N as NotificationService, P as PushService, R as RoleService, b as S3Input, c as S3Interface, S as S3Service, T as TwoFactorChallengeInterface, U as UserService } from './s3.service-Bqr-fQmi.js';
16
16
  export { I as InvoiceStatus, M as MeterInterface, o as MeterSummaryInterface, P as PaymentMethodInterface, e as PriceRecurring, q as PromotionCodeValidationResult, c as ProrationLineItem, b as ProrationPreviewInterface, R as ReportUsageInput, S as StripeCustomerInterface, a as StripeInvoiceInterface, f as StripePriceInput, d as StripePriceInterface, h as StripeProductInput, g as StripeProductInterface, l as StripeSubscriptionCreateMeta, m as StripeSubscriptionCreateResponse, k as StripeSubscriptionInput, j as StripeSubscriptionInterface, n as StripeUsageInterface, i as SubscriptionStatus, p as UsageRecordInterface, U as UsageSummaryInterface } from './stripe-promotion-code.interface-C3qqh3mi.js';
17
17
  export { b as CompanyInput, c as CompanyInterface, a as ContentInput, C as ContentInterface, d as NotificationInput, N as NotificationInterface, R as RoleInput, e as RoleInterface, f as UserInput, U as UserInterface } from './notification.interface-CjzV_KII.js';
18
- export { A as AssistantInput, a as AssistantInterface } from './AssistantInterface-RvZzlcA_.js';
19
18
  export { F as FeatureInterface, M as ModuleInterface } from './feature.interface-BO25VLlx.js';
20
- export { A as AVAILABLE_OAUTH_SCOPES, D as DEFAULT_GRANT_TYPES, g as OAUTH_SCOPE_DISPLAY, b as OAuthClientCreateRequest, c as OAuthClientCreateResponse, a as OAuthClientInput, O as OAuthClientInterface, f as OAuthConsentInfo, d as OAuthConsentRequest, e as OAuthScopeInfo } from './oauth.interface-CD90ycYz.js';
19
+ export { A as AVAILABLE_OAUTH_SCOPES, D as DEFAULT_GRANT_TYPES, g as OAUTH_SCOPE_DISPLAY, b as OAuthClientCreateRequest, c as OAuthClientCreateResponse, a as OAuthClientInput, O as OAuthClientInterface, f as OAuthConsentInfo, d as OAuthConsentRequest, e as OAuthScopeInfo } from './oauth.interface-BZKZAPRw.js';
21
20
  export { b as TokenUsageAdminBreakdownModule, T as TokenUsageAdminSummaryModule, a as TokenUsageAdminTimelineModule, c as configureTokenUsage, g as getTokenUsageCurrency, t as tokenUsageModules } from './config-B6UB7j69.js';
22
21
  export { I as I18nConfig, f as configureI18n, c as configureJsonApi, g as getApiUrl, b as getAppUrl, a as getPublicApiUrl, e as getStripePublishableKey, d as getTrackablePages } from './config-Cd5xTEfZ.js';
23
22
  export { Q as QuestionnaireField, a as QuestionnaireFieldType, b as QuestionnaireOption, W as WaitlistConfig, c as configureWaitlist, g as getWaitlistConfig } from './waitlist.config-kPfjImle.js';
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- var _chunkFXWO5J2Rjs = require('./chunk-FXWO5J2R.js');
21
+ var _chunk7EFTSFZOjs = require('./chunk-7EFTSFZO.js');
22
22
 
23
23
 
24
24
 
@@ -244,7 +244,7 @@ var _chunkFXWO5J2Rjs = require('./chunk-FXWO5J2R.js');
244
244
 
245
245
 
246
246
 
247
- var _chunkYCHPWXHDjs = require('./chunk-YCHPWXHD.js');
247
+ var _chunkWRMTBKSNjs = require('./chunk-WRMTBKSN.js');
248
248
  require('./chunk-LXKSUWAV.js');
249
249
  require('./chunk-IBS6NI7D.js');
250
250
 
@@ -515,5 +515,5 @@ require('./chunk-7QVYU63E.js');
515
515
 
516
516
 
517
517
 
518
- exports.ACTION_TYPES = _chunkFXWO5J2Rjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkYCHPWXHDjs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkYCHPWXHDjs.AbstractApiData; exports.AbstractService = _chunkYCHPWXHDjs.AbstractService; exports.Action = _chunkYCHPWXHDjs.Action; exports.AiConnection = _chunkYCHPWXHDjs.AiConnection; exports.AiConnectionFields = _chunkYCHPWXHDjs.AiConnectionFields; exports.AiConnectionModule = _chunkYCHPWXHDjs.AiConnectionModule; exports.AiConnectionService = _chunkYCHPWXHDjs.AiConnectionService; exports.Assistant = _chunkYCHPWXHDjs.Assistant; exports.AssistantAction = _chunkYCHPWXHDjs.AssistantAction; exports.AssistantActionModule = _chunkYCHPWXHDjs.AssistantActionModule; exports.AssistantActionService = _chunkYCHPWXHDjs.AssistantActionService; exports.AssistantMessage = _chunkYCHPWXHDjs.AssistantMessage; exports.AssistantMessageModule = _chunkYCHPWXHDjs.AssistantMessageModule; exports.AssistantMessageService = _chunkYCHPWXHDjs.AssistantMessageService; exports.AssistantModule = _chunkYCHPWXHDjs.AssistantModule; exports.AssistantService = _chunkYCHPWXHDjs.AssistantService; exports.AuditLog = _chunkYCHPWXHDjs.AuditLog; exports.AuditLogModule = _chunkYCHPWXHDjs.AuditLogModule; exports.AuditLogService = _chunkYCHPWXHDjs.AuditLogService; exports.Auth = _chunkYCHPWXHDjs.Auth; exports.AuthComponent = _chunkYCHPWXHDjs.AuthComponent; exports.AuthModule = _chunkYCHPWXHDjs.AuthModule; exports.AuthService = _chunkYCHPWXHDjs.AuthService; exports.AuthorModule = _chunkYCHPWXHDjs.AuthorModule; exports.BackupCodeVerify = _chunkYCHPWXHDjs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkYCHPWXHDjs.BackupCodeVerifyModule; exports.Billing = _chunkYCHPWXHDjs.Billing; exports.BillingModule = _chunkYCHPWXHDjs.BillingModule; exports.BillingService = _chunkYCHPWXHDjs.BillingService; exports.BlockNoteDiffUtil = _chunkYCHPWXHDjs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkYCHPWXHDjs.BlockNoteWordDiffRendererUtil; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkFXWO5J2Rjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.CURRENT_USER_STORAGE_KEY = _chunkYCHPWXHDjs.CURRENT_USER_STORAGE_KEY; exports.Chunk = _chunkYCHPWXHDjs.Chunk; exports.ChunkModule = _chunkYCHPWXHDjs.ChunkModule; exports.ClientAbstractService = _chunkYCHPWXHDjs.ClientAbstractService; exports.ClientHttpMethod = _chunkYCHPWXHDjs.ClientHttpMethod; exports.Company = _chunkYCHPWXHDjs.Company; exports.CompanyFields = _chunkYCHPWXHDjs.CompanyFields; exports.CompanyModule = _chunkYCHPWXHDjs.CompanyModule; exports.CompanyService = _chunkYCHPWXHDjs.CompanyService; exports.Content = _chunkYCHPWXHDjs.Content; exports.ContentFields = _chunkYCHPWXHDjs.ContentFields; exports.ContentModule = _chunkYCHPWXHDjs.ContentModule; exports.ContentService = _chunkYCHPWXHDjs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkYCHPWXHDjs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkLU7DJ4QFjs.DataClassRegistry; exports.DataClassRegistry = _chunkLU7DJ4QFjs.DataClassRegistry; exports.ENV = _chunkLU7DJ4QFjs.ENV; exports.EndpointCreator = _chunkYCHPWXHDjs.EndpointCreator; exports.EntityAiStatus = _chunkYCHPWXHDjs.EntityAiStatus; exports.Feature = _chunkYCHPWXHDjs.Feature; exports.FeatureModule = _chunkYCHPWXHDjs.FeatureModule; exports.FeatureService = _chunkYCHPWXHDjs.FeatureService; exports.HandbookPage = _chunkYCHPWXHDjs.HandbookPage; exports.HandbookPageFields = _chunkYCHPWXHDjs.HandbookPageFields; exports.HandbookPageModule = _chunkYCHPWXHDjs.HandbookPageModule; exports.HandbookPageService = _chunkYCHPWXHDjs.HandbookPageService; exports.HandbookSection = _chunkYCHPWXHDjs.HandbookSection; exports.HandbookSectionModule = _chunkYCHPWXHDjs.HandbookSectionModule; exports.HandbookSectionService = _chunkYCHPWXHDjs.HandbookSectionService; exports.HandbookThread = _chunkYCHPWXHDjs.HandbookThread; exports.HandbookThreadMessage = _chunkYCHPWXHDjs.HandbookThreadMessage; exports.HandbookThreadMessageModule = _chunkYCHPWXHDjs.HandbookThreadMessageModule; exports.HandbookThreadMessageService = _chunkYCHPWXHDjs.HandbookThreadMessageService; exports.HandbookThreadModule = _chunkYCHPWXHDjs.HandbookThreadModule; exports.HandbookThreadService = _chunkYCHPWXHDjs.HandbookThreadService; exports.HowTo = _chunkYCHPWXHDjs.HowTo; exports.HowToFields = _chunkYCHPWXHDjs.HowToFields; exports.HowToModule = _chunkYCHPWXHDjs.HowToModule; exports.HowToService = _chunkYCHPWXHDjs.HowToService; exports.HttpMethod = _chunkYCHPWXHDjs.HttpMethod; exports.InvoiceStatus = _chunkYCHPWXHDjs.InvoiceStatus; exports.JsonApiDataFactory = _chunkLU7DJ4QFjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkYCHPWXHDjs.MOBILE_BREAKPOINT; exports.Module = _chunkYCHPWXHDjs.Module; exports.ModuleModule = _chunkYCHPWXHDjs.ModuleModule; exports.ModulePaths = _chunkYCHPWXHDjs.ModulePaths; exports.ModulePathsModule = _chunkYCHPWXHDjs.ModulePathsModule; exports.ModuleRegistrar = _chunkYCHPWXHDjs.ModuleRegistrar; exports.ModuleRegistry = _chunkYCHPWXHDjs.ModuleRegistry; exports.Modules = _chunkYCHPWXHDjs.Modules; exports.Notification = _chunkYCHPWXHDjs.Notification; exports.NotificationFields = _chunkYCHPWXHDjs.NotificationFields; exports.NotificationModule = _chunkYCHPWXHDjs.NotificationModule; exports.NotificationService = _chunkYCHPWXHDjs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkYCHPWXHDjs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkYCHPWXHDjs.OAuthClient; exports.OAuthModule = _chunkYCHPWXHDjs.OAuthModule; exports.OAuthService = _chunkYCHPWXHDjs.OAuthService; exports.Passkey = _chunkYCHPWXHDjs.Passkey; exports.PasskeyAuthenticationOptions = _chunkYCHPWXHDjs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkYCHPWXHDjs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkYCHPWXHDjs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkYCHPWXHDjs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkYCHPWXHDjs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkYCHPWXHDjs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkYCHPWXHDjs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkYCHPWXHDjs.PasskeyRename; exports.PasskeyRenameModule = _chunkYCHPWXHDjs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkYCHPWXHDjs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkYCHPWXHDjs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkYCHPWXHDjs.PaymentMethod; exports.PermissionMapping = _chunkYCHPWXHDjs.PermissionMapping; exports.PermissionMappingModule = _chunkYCHPWXHDjs.PermissionMappingModule; exports.Push = _chunkYCHPWXHDjs.Push; exports.PushModule = _chunkYCHPWXHDjs.PushModule; exports.PushService = _chunkYCHPWXHDjs.PushService; exports.RbacMatrixModel = _chunkYCHPWXHDjs.RbacMatrixModel; exports.RbacMatrixModule = _chunkYCHPWXHDjs.RbacMatrixModule; exports.RbacService = _chunkFXWO5J2Rjs.RbacService; exports.ReferralModule = _chunkYCHPWXHDjs.ReferralModule; exports.ReferralService = _chunkYCHPWXHDjs.ReferralService; exports.ReferralStats = _chunkYCHPWXHDjs.ReferralStats; exports.ReferralStatsModule = _chunkYCHPWXHDjs.ReferralStatsModule; exports.RehydrationFactory = _chunkYCHPWXHDjs.RehydrationFactory; exports.Role = _chunkYCHPWXHDjs.Role; exports.RoleFields = _chunkYCHPWXHDjs.RoleFields; exports.RoleModule = _chunkYCHPWXHDjs.RoleModule; exports.RoleService = _chunkYCHPWXHDjs.RoleService; exports.S3 = _chunkYCHPWXHDjs.S3; exports.S3Module = _chunkYCHPWXHDjs.S3Module; exports.S3Service = _chunkYCHPWXHDjs.S3Service; exports.StripeCustomer = _chunkYCHPWXHDjs.StripeCustomer; exports.StripeCustomerModule = _chunkYCHPWXHDjs.StripeCustomerModule; exports.StripeCustomerService = _chunkYCHPWXHDjs.StripeCustomerService; exports.StripeInvoice = _chunkYCHPWXHDjs.StripeInvoice; exports.StripeInvoiceModule = _chunkYCHPWXHDjs.StripeInvoiceModule; exports.StripeInvoiceService = _chunkYCHPWXHDjs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkYCHPWXHDjs.StripePaymentMethodModule; exports.StripePrice = _chunkYCHPWXHDjs.StripePrice; exports.StripePriceFields = _chunkYCHPWXHDjs.StripePriceFields; exports.StripePriceModule = _chunkYCHPWXHDjs.StripePriceModule; exports.StripePriceService = _chunkYCHPWXHDjs.StripePriceService; exports.StripeProduct = _chunkYCHPWXHDjs.StripeProduct; exports.StripeProductFields = _chunkYCHPWXHDjs.StripeProductFields; exports.StripeProductModule = _chunkYCHPWXHDjs.StripeProductModule; exports.StripeProductService = _chunkYCHPWXHDjs.StripeProductService; exports.StripePromotionCode = _chunkYCHPWXHDjs.StripePromotionCode; exports.StripePromotionCodeModule = _chunkYCHPWXHDjs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkYCHPWXHDjs.StripePromotionCodeService; exports.StripeSubscription = _chunkYCHPWXHDjs.StripeSubscription; exports.StripeSubscriptionModule = _chunkYCHPWXHDjs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkYCHPWXHDjs.StripeSubscriptionService; exports.StripeUsage = _chunkYCHPWXHDjs.StripeUsage; exports.StripeUsageModule = _chunkYCHPWXHDjs.StripeUsageModule; exports.StripeUsageService = _chunkYCHPWXHDjs.StripeUsageService; exports.SubscriptionStatus = _chunkYCHPWXHDjs.SubscriptionStatus; exports.TableOptions = _chunkYCHPWXHDjs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunkYCHPWXHDjs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunkYCHPWXHDjs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunkYCHPWXHDjs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunkYCHPWXHDjs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkYCHPWXHDjs.TotpAuthenticatorModule; exports.TotpSetup = _chunkYCHPWXHDjs.TotpSetup; exports.TotpSetupModule = _chunkYCHPWXHDjs.TotpSetupModule; exports.TotpVerify = _chunkYCHPWXHDjs.TotpVerify; exports.TotpVerifyLogin = _chunkYCHPWXHDjs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkYCHPWXHDjs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkYCHPWXHDjs.TotpVerifyModule; exports.TwoFactorChallenge = _chunkYCHPWXHDjs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkYCHPWXHDjs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkYCHPWXHDjs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkYCHPWXHDjs.TwoFactorEnableModule; exports.TwoFactorService = _chunkYCHPWXHDjs.TwoFactorService; exports.TwoFactorStatus = _chunkYCHPWXHDjs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkYCHPWXHDjs.TwoFactorStatusModule; exports.User = _chunkYCHPWXHDjs.User; exports.UserFields = _chunkYCHPWXHDjs.UserFields; exports.UserModule = _chunkYCHPWXHDjs.UserModule; exports.UserService = _chunkYCHPWXHDjs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkYCHPWXHDjs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkYCHPWXHDjs.Waitlist; exports.WaitlistModule = _chunkYCHPWXHDjs.WaitlistModule; exports.WaitlistService = _chunkYCHPWXHDjs.WaitlistService; exports.WaitlistStats = _chunkYCHPWXHDjs.WaitlistStats; exports.WaitlistStatsModule = _chunkYCHPWXHDjs.WaitlistStatsModule; exports.checkPermissions = _chunkYCHPWXHDjs.checkPermissions; exports.checkPermissionsFromServer = _chunkYCHPWXHDjs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkYCHPWXHDjs.clearLastApiMeta; exports.clearLastApiTotal = _chunkYCHPWXHDjs.clearLastApiTotal; exports.cn = _chunkYCHPWXHDjs.cn; exports.composeRefs = _chunkYCHPWXHDjs.composeRefs; exports.configureAuth = _chunkYCHPWXHDjs.configureAuth; exports.configureI18n = _chunkFXWO5J2Rjs.configureI18n; exports.configureJsonApi = _chunkFXWO5J2Rjs.configureJsonApi; exports.configureLogin = _chunkFXWO5J2Rjs.configureLogin; exports.configureReferral = _chunkFXWO5J2Rjs.configureReferral; exports.configureRoles = _chunkFXWO5J2Rjs.configureRoles; exports.configureTokenUsage = _chunkYCHPWXHDjs.configureTokenUsage; exports.configureWaitlist = _chunkFXWO5J2Rjs.configureWaitlist; exports.createJsonApiInclusion = _chunkYCHPWXHDjs.createJsonApiInclusion; exports.dismissToast = _chunkYCHPWXHDjs.dismissToast; exports.entityObjectSchema = _chunkYCHPWXHDjs.entityObjectSchema; exports.exists = _chunkYCHPWXHDjs.exists; exports.formatCodiceFiscale = _chunkYCHPWXHDjs.formatCodiceFiscale; exports.formatDate = _chunkYCHPWXHDjs.formatDate; exports.formatLocalDate = _chunkYCHPWXHDjs.formatLocalDate; exports.formatPartitaIva = _chunkYCHPWXHDjs.formatPartitaIva; exports.getApiUrl = _chunkFXWO5J2Rjs.getApiUrl; exports.getAppUrl = _chunkFXWO5J2Rjs.getAppUrl; exports.getBootstrapper = _chunkLU7DJ4QFjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkYCHPWXHDjs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkYCHPWXHDjs.getGlobalErrorHandler; exports.getIcon = _chunkYCHPWXHDjs.getIcon; exports.getIconByModule = _chunkYCHPWXHDjs.getIconByModule; exports.getIconByModuleName = _chunkYCHPWXHDjs.getIconByModuleName; exports.getInitials = _chunkYCHPWXHDjs.getInitials; exports.getLastApiMeta = _chunkYCHPWXHDjs.getLastApiMeta; exports.getLastApiTotal = _chunkYCHPWXHDjs.getLastApiTotal; exports.getLucideIcon = _chunkYCHPWXHDjs.getLucideIcon; exports.getLucideIconByModule = _chunkYCHPWXHDjs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkYCHPWXHDjs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkFXWO5J2Rjs.getPublicApiUrl; exports.getReferralConfig = _chunkFXWO5J2Rjs.getReferralConfig; exports.getRoleId = _chunkFXWO5J2Rjs.getRoleId; exports.getStripePublishableKey = _chunkFXWO5J2Rjs.getStripePublishableKey; exports.getTableComponents = _chunkYCHPWXHDjs.getTableComponents; exports.getTableOptions = _chunkYCHPWXHDjs.getTableOptions; exports.getTokenHandler = _chunkYCHPWXHDjs.getTokenHandler; exports.getTokenUsageCurrency = _chunkYCHPWXHDjs.getTokenUsageCurrency; exports.getTrackablePages = _chunkFXWO5J2Rjs.getTrackablePages; exports.getValueFromPath = _chunkYCHPWXHDjs.getValueFromPath; exports.getWaitlistConfig = _chunkFXWO5J2Rjs.getWaitlistConfig; exports.handbookPageContent = _chunkYCHPWXHDjs.handbookPageContent; exports.handbookPageSummary = _chunkYCHPWXHDjs.handbookPageSummary; exports.handbookPageTitle = _chunkYCHPWXHDjs.handbookPageTitle; exports.handbookSectionSummary = _chunkYCHPWXHDjs.handbookSectionSummary; exports.handbookSectionTitle = _chunkYCHPWXHDjs.handbookSectionTitle; exports.hasBootstrapper = _chunkLU7DJ4QFjs.hasBootstrapper; exports.isReferralEnabled = _chunkFXWO5J2Rjs.isReferralEnabled; exports.isRemoteImageSrc = _chunkYCHPWXHDjs.isRemoteImageSrc; exports.isRolesConfigured = _chunkFXWO5J2Rjs.isRolesConfigured; exports.rehydrate = _chunkYCHPWXHDjs.rehydrate; exports.rehydrateList = _chunkYCHPWXHDjs.rehydrateList; exports.resetBootstrapStore = _chunkLU7DJ4QFjs.resetBootstrapStore; exports.setBootstrapper = _chunkLU7DJ4QFjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkYCHPWXHDjs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkYCHPWXHDjs.setGlobalErrorHandler; exports.showCustomToast = _chunkYCHPWXHDjs.showCustomToast; exports.showError = _chunkYCHPWXHDjs.showError; exports.showToast = _chunkYCHPWXHDjs.showToast; exports.tokenUsageModules = _chunkYCHPWXHDjs.tokenUsageModules; exports.translateData = _chunkLU7DJ4QFjs.translateData; exports.translateResponse = _chunkLU7DJ4QFjs.translateResponse; exports.tryBootstrap = _chunkLU7DJ4QFjs.tryBootstrap; exports.useComposedRefs = _chunkYCHPWXHDjs.useComposedRefs; exports.useIsMobile = _chunkYCHPWXHDjs.useIsMobile; exports.userObjectSchema = _chunkYCHPWXHDjs.userObjectSchema; exports.validateCodiceFiscale = _chunkYCHPWXHDjs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkYCHPWXHDjs.validateItalianTaxCode; exports.validatePartitaIva = _chunkYCHPWXHDjs.validatePartitaIva;
518
+ exports.ACTION_TYPES = _chunk7EFTSFZOjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkWRMTBKSNjs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkWRMTBKSNjs.AbstractApiData; exports.AbstractService = _chunkWRMTBKSNjs.AbstractService; exports.Action = _chunkWRMTBKSNjs.Action; exports.AiConnection = _chunkWRMTBKSNjs.AiConnection; exports.AiConnectionFields = _chunkWRMTBKSNjs.AiConnectionFields; exports.AiConnectionModule = _chunkWRMTBKSNjs.AiConnectionModule; exports.AiConnectionService = _chunkWRMTBKSNjs.AiConnectionService; exports.Assistant = _chunkWRMTBKSNjs.Assistant; exports.AssistantAction = _chunkWRMTBKSNjs.AssistantAction; exports.AssistantActionModule = _chunkWRMTBKSNjs.AssistantActionModule; exports.AssistantActionService = _chunkWRMTBKSNjs.AssistantActionService; exports.AssistantMessage = _chunkWRMTBKSNjs.AssistantMessage; exports.AssistantMessageModule = _chunkWRMTBKSNjs.AssistantMessageModule; exports.AssistantMessageService = _chunkWRMTBKSNjs.AssistantMessageService; exports.AssistantModule = _chunkWRMTBKSNjs.AssistantModule; exports.AssistantService = _chunkWRMTBKSNjs.AssistantService; exports.AuditLog = _chunkWRMTBKSNjs.AuditLog; exports.AuditLogModule = _chunkWRMTBKSNjs.AuditLogModule; exports.AuditLogService = _chunkWRMTBKSNjs.AuditLogService; exports.Auth = _chunkWRMTBKSNjs.Auth; exports.AuthComponent = _chunkWRMTBKSNjs.AuthComponent; exports.AuthModule = _chunkWRMTBKSNjs.AuthModule; exports.AuthService = _chunkWRMTBKSNjs.AuthService; exports.AuthorModule = _chunkWRMTBKSNjs.AuthorModule; exports.BackupCodeVerify = _chunkWRMTBKSNjs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkWRMTBKSNjs.BackupCodeVerifyModule; exports.Billing = _chunkWRMTBKSNjs.Billing; exports.BillingModule = _chunkWRMTBKSNjs.BillingModule; exports.BillingService = _chunkWRMTBKSNjs.BillingService; exports.BlockNoteDiffUtil = _chunkWRMTBKSNjs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkWRMTBKSNjs.BlockNoteWordDiffRendererUtil; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunk7EFTSFZOjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.CURRENT_USER_STORAGE_KEY = _chunkWRMTBKSNjs.CURRENT_USER_STORAGE_KEY; exports.Chunk = _chunkWRMTBKSNjs.Chunk; exports.ChunkModule = _chunkWRMTBKSNjs.ChunkModule; exports.ClientAbstractService = _chunkWRMTBKSNjs.ClientAbstractService; exports.ClientHttpMethod = _chunkWRMTBKSNjs.ClientHttpMethod; exports.Company = _chunkWRMTBKSNjs.Company; exports.CompanyFields = _chunkWRMTBKSNjs.CompanyFields; exports.CompanyModule = _chunkWRMTBKSNjs.CompanyModule; exports.CompanyService = _chunkWRMTBKSNjs.CompanyService; exports.Content = _chunkWRMTBKSNjs.Content; exports.ContentFields = _chunkWRMTBKSNjs.ContentFields; exports.ContentModule = _chunkWRMTBKSNjs.ContentModule; exports.ContentService = _chunkWRMTBKSNjs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkWRMTBKSNjs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkLU7DJ4QFjs.DataClassRegistry; exports.DataClassRegistry = _chunkLU7DJ4QFjs.DataClassRegistry; exports.ENV = _chunkLU7DJ4QFjs.ENV; exports.EndpointCreator = _chunkWRMTBKSNjs.EndpointCreator; exports.EntityAiStatus = _chunkWRMTBKSNjs.EntityAiStatus; exports.Feature = _chunkWRMTBKSNjs.Feature; exports.FeatureModule = _chunkWRMTBKSNjs.FeatureModule; exports.FeatureService = _chunkWRMTBKSNjs.FeatureService; exports.HandbookPage = _chunkWRMTBKSNjs.HandbookPage; exports.HandbookPageFields = _chunkWRMTBKSNjs.HandbookPageFields; exports.HandbookPageModule = _chunkWRMTBKSNjs.HandbookPageModule; exports.HandbookPageService = _chunkWRMTBKSNjs.HandbookPageService; exports.HandbookSection = _chunkWRMTBKSNjs.HandbookSection; exports.HandbookSectionModule = _chunkWRMTBKSNjs.HandbookSectionModule; exports.HandbookSectionService = _chunkWRMTBKSNjs.HandbookSectionService; exports.HandbookThread = _chunkWRMTBKSNjs.HandbookThread; exports.HandbookThreadMessage = _chunkWRMTBKSNjs.HandbookThreadMessage; exports.HandbookThreadMessageModule = _chunkWRMTBKSNjs.HandbookThreadMessageModule; exports.HandbookThreadMessageService = _chunkWRMTBKSNjs.HandbookThreadMessageService; exports.HandbookThreadModule = _chunkWRMTBKSNjs.HandbookThreadModule; exports.HandbookThreadService = _chunkWRMTBKSNjs.HandbookThreadService; exports.HowTo = _chunkWRMTBKSNjs.HowTo; exports.HowToFields = _chunkWRMTBKSNjs.HowToFields; exports.HowToModule = _chunkWRMTBKSNjs.HowToModule; exports.HowToService = _chunkWRMTBKSNjs.HowToService; exports.HttpMethod = _chunkWRMTBKSNjs.HttpMethod; exports.InvoiceStatus = _chunkWRMTBKSNjs.InvoiceStatus; exports.JsonApiDataFactory = _chunkLU7DJ4QFjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkWRMTBKSNjs.MOBILE_BREAKPOINT; exports.Module = _chunkWRMTBKSNjs.Module; exports.ModuleModule = _chunkWRMTBKSNjs.ModuleModule; exports.ModulePaths = _chunkWRMTBKSNjs.ModulePaths; exports.ModulePathsModule = _chunkWRMTBKSNjs.ModulePathsModule; exports.ModuleRegistrar = _chunkWRMTBKSNjs.ModuleRegistrar; exports.ModuleRegistry = _chunkWRMTBKSNjs.ModuleRegistry; exports.Modules = _chunkWRMTBKSNjs.Modules; exports.Notification = _chunkWRMTBKSNjs.Notification; exports.NotificationFields = _chunkWRMTBKSNjs.NotificationFields; exports.NotificationModule = _chunkWRMTBKSNjs.NotificationModule; exports.NotificationService = _chunkWRMTBKSNjs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkWRMTBKSNjs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkWRMTBKSNjs.OAuthClient; exports.OAuthModule = _chunkWRMTBKSNjs.OAuthModule; exports.OAuthService = _chunkWRMTBKSNjs.OAuthService; exports.Passkey = _chunkWRMTBKSNjs.Passkey; exports.PasskeyAuthenticationOptions = _chunkWRMTBKSNjs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkWRMTBKSNjs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkWRMTBKSNjs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkWRMTBKSNjs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkWRMTBKSNjs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkWRMTBKSNjs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkWRMTBKSNjs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkWRMTBKSNjs.PasskeyRename; exports.PasskeyRenameModule = _chunkWRMTBKSNjs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkWRMTBKSNjs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkWRMTBKSNjs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkWRMTBKSNjs.PaymentMethod; exports.PermissionMapping = _chunkWRMTBKSNjs.PermissionMapping; exports.PermissionMappingModule = _chunkWRMTBKSNjs.PermissionMappingModule; exports.Push = _chunkWRMTBKSNjs.Push; exports.PushModule = _chunkWRMTBKSNjs.PushModule; exports.PushService = _chunkWRMTBKSNjs.PushService; exports.RbacMatrixModel = _chunkWRMTBKSNjs.RbacMatrixModel; exports.RbacMatrixModule = _chunkWRMTBKSNjs.RbacMatrixModule; exports.RbacService = _chunk7EFTSFZOjs.RbacService; exports.ReferralModule = _chunkWRMTBKSNjs.ReferralModule; exports.ReferralService = _chunkWRMTBKSNjs.ReferralService; exports.ReferralStats = _chunkWRMTBKSNjs.ReferralStats; exports.ReferralStatsModule = _chunkWRMTBKSNjs.ReferralStatsModule; exports.RehydrationFactory = _chunkWRMTBKSNjs.RehydrationFactory; exports.Role = _chunkWRMTBKSNjs.Role; exports.RoleFields = _chunkWRMTBKSNjs.RoleFields; exports.RoleModule = _chunkWRMTBKSNjs.RoleModule; exports.RoleService = _chunkWRMTBKSNjs.RoleService; exports.S3 = _chunkWRMTBKSNjs.S3; exports.S3Module = _chunkWRMTBKSNjs.S3Module; exports.S3Service = _chunkWRMTBKSNjs.S3Service; exports.StripeCustomer = _chunkWRMTBKSNjs.StripeCustomer; exports.StripeCustomerModule = _chunkWRMTBKSNjs.StripeCustomerModule; exports.StripeCustomerService = _chunkWRMTBKSNjs.StripeCustomerService; exports.StripeInvoice = _chunkWRMTBKSNjs.StripeInvoice; exports.StripeInvoiceModule = _chunkWRMTBKSNjs.StripeInvoiceModule; exports.StripeInvoiceService = _chunkWRMTBKSNjs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkWRMTBKSNjs.StripePaymentMethodModule; exports.StripePrice = _chunkWRMTBKSNjs.StripePrice; exports.StripePriceFields = _chunkWRMTBKSNjs.StripePriceFields; exports.StripePriceModule = _chunkWRMTBKSNjs.StripePriceModule; exports.StripePriceService = _chunkWRMTBKSNjs.StripePriceService; exports.StripeProduct = _chunkWRMTBKSNjs.StripeProduct; exports.StripeProductFields = _chunkWRMTBKSNjs.StripeProductFields; exports.StripeProductModule = _chunkWRMTBKSNjs.StripeProductModule; exports.StripeProductService = _chunkWRMTBKSNjs.StripeProductService; exports.StripePromotionCode = _chunkWRMTBKSNjs.StripePromotionCode; exports.StripePromotionCodeModule = _chunkWRMTBKSNjs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkWRMTBKSNjs.StripePromotionCodeService; exports.StripeSubscription = _chunkWRMTBKSNjs.StripeSubscription; exports.StripeSubscriptionModule = _chunkWRMTBKSNjs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkWRMTBKSNjs.StripeSubscriptionService; exports.StripeUsage = _chunkWRMTBKSNjs.StripeUsage; exports.StripeUsageModule = _chunkWRMTBKSNjs.StripeUsageModule; exports.StripeUsageService = _chunkWRMTBKSNjs.StripeUsageService; exports.SubscriptionStatus = _chunkWRMTBKSNjs.SubscriptionStatus; exports.TableOptions = _chunkWRMTBKSNjs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunkWRMTBKSNjs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunkWRMTBKSNjs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunkWRMTBKSNjs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunkWRMTBKSNjs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkWRMTBKSNjs.TotpAuthenticatorModule; exports.TotpSetup = _chunkWRMTBKSNjs.TotpSetup; exports.TotpSetupModule = _chunkWRMTBKSNjs.TotpSetupModule; exports.TotpVerify = _chunkWRMTBKSNjs.TotpVerify; exports.TotpVerifyLogin = _chunkWRMTBKSNjs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkWRMTBKSNjs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkWRMTBKSNjs.TotpVerifyModule; exports.TwoFactorChallenge = _chunkWRMTBKSNjs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkWRMTBKSNjs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkWRMTBKSNjs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkWRMTBKSNjs.TwoFactorEnableModule; exports.TwoFactorService = _chunkWRMTBKSNjs.TwoFactorService; exports.TwoFactorStatus = _chunkWRMTBKSNjs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkWRMTBKSNjs.TwoFactorStatusModule; exports.User = _chunkWRMTBKSNjs.User; exports.UserFields = _chunkWRMTBKSNjs.UserFields; exports.UserModule = _chunkWRMTBKSNjs.UserModule; exports.UserService = _chunkWRMTBKSNjs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkWRMTBKSNjs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkWRMTBKSNjs.Waitlist; exports.WaitlistModule = _chunkWRMTBKSNjs.WaitlistModule; exports.WaitlistService = _chunkWRMTBKSNjs.WaitlistService; exports.WaitlistStats = _chunkWRMTBKSNjs.WaitlistStats; exports.WaitlistStatsModule = _chunkWRMTBKSNjs.WaitlistStatsModule; exports.checkPermissions = _chunkWRMTBKSNjs.checkPermissions; exports.checkPermissionsFromServer = _chunkWRMTBKSNjs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkWRMTBKSNjs.clearLastApiMeta; exports.clearLastApiTotal = _chunkWRMTBKSNjs.clearLastApiTotal; exports.cn = _chunkWRMTBKSNjs.cn; exports.composeRefs = _chunkWRMTBKSNjs.composeRefs; exports.configureAuth = _chunkWRMTBKSNjs.configureAuth; exports.configureI18n = _chunk7EFTSFZOjs.configureI18n; exports.configureJsonApi = _chunk7EFTSFZOjs.configureJsonApi; exports.configureLogin = _chunk7EFTSFZOjs.configureLogin; exports.configureReferral = _chunk7EFTSFZOjs.configureReferral; exports.configureRoles = _chunk7EFTSFZOjs.configureRoles; exports.configureTokenUsage = _chunkWRMTBKSNjs.configureTokenUsage; exports.configureWaitlist = _chunk7EFTSFZOjs.configureWaitlist; exports.createJsonApiInclusion = _chunkWRMTBKSNjs.createJsonApiInclusion; exports.dismissToast = _chunkWRMTBKSNjs.dismissToast; exports.entityObjectSchema = _chunkWRMTBKSNjs.entityObjectSchema; exports.exists = _chunkWRMTBKSNjs.exists; exports.formatCodiceFiscale = _chunkWRMTBKSNjs.formatCodiceFiscale; exports.formatDate = _chunkWRMTBKSNjs.formatDate; exports.formatLocalDate = _chunkWRMTBKSNjs.formatLocalDate; exports.formatPartitaIva = _chunkWRMTBKSNjs.formatPartitaIva; exports.getApiUrl = _chunk7EFTSFZOjs.getApiUrl; exports.getAppUrl = _chunk7EFTSFZOjs.getAppUrl; exports.getBootstrapper = _chunkLU7DJ4QFjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkWRMTBKSNjs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkWRMTBKSNjs.getGlobalErrorHandler; exports.getIcon = _chunkWRMTBKSNjs.getIcon; exports.getIconByModule = _chunkWRMTBKSNjs.getIconByModule; exports.getIconByModuleName = _chunkWRMTBKSNjs.getIconByModuleName; exports.getInitials = _chunkWRMTBKSNjs.getInitials; exports.getLastApiMeta = _chunkWRMTBKSNjs.getLastApiMeta; exports.getLastApiTotal = _chunkWRMTBKSNjs.getLastApiTotal; exports.getLucideIcon = _chunkWRMTBKSNjs.getLucideIcon; exports.getLucideIconByModule = _chunkWRMTBKSNjs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkWRMTBKSNjs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunk7EFTSFZOjs.getPublicApiUrl; exports.getReferralConfig = _chunk7EFTSFZOjs.getReferralConfig; exports.getRoleId = _chunk7EFTSFZOjs.getRoleId; exports.getStripePublishableKey = _chunk7EFTSFZOjs.getStripePublishableKey; exports.getTableComponents = _chunkWRMTBKSNjs.getTableComponents; exports.getTableOptions = _chunkWRMTBKSNjs.getTableOptions; exports.getTokenHandler = _chunkWRMTBKSNjs.getTokenHandler; exports.getTokenUsageCurrency = _chunkWRMTBKSNjs.getTokenUsageCurrency; exports.getTrackablePages = _chunk7EFTSFZOjs.getTrackablePages; exports.getValueFromPath = _chunkWRMTBKSNjs.getValueFromPath; exports.getWaitlistConfig = _chunk7EFTSFZOjs.getWaitlistConfig; exports.handbookPageContent = _chunkWRMTBKSNjs.handbookPageContent; exports.handbookPageSummary = _chunkWRMTBKSNjs.handbookPageSummary; exports.handbookPageTitle = _chunkWRMTBKSNjs.handbookPageTitle; exports.handbookSectionSummary = _chunkWRMTBKSNjs.handbookSectionSummary; exports.handbookSectionTitle = _chunkWRMTBKSNjs.handbookSectionTitle; exports.hasBootstrapper = _chunkLU7DJ4QFjs.hasBootstrapper; exports.isReferralEnabled = _chunk7EFTSFZOjs.isReferralEnabled; exports.isRemoteImageSrc = _chunkWRMTBKSNjs.isRemoteImageSrc; exports.isRolesConfigured = _chunk7EFTSFZOjs.isRolesConfigured; exports.rehydrate = _chunkWRMTBKSNjs.rehydrate; exports.rehydrateList = _chunkWRMTBKSNjs.rehydrateList; exports.resetBootstrapStore = _chunkLU7DJ4QFjs.resetBootstrapStore; exports.setBootstrapper = _chunkLU7DJ4QFjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkWRMTBKSNjs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkWRMTBKSNjs.setGlobalErrorHandler; exports.showCustomToast = _chunkWRMTBKSNjs.showCustomToast; exports.showError = _chunkWRMTBKSNjs.showError; exports.showToast = _chunkWRMTBKSNjs.showToast; exports.tokenUsageModules = _chunkWRMTBKSNjs.tokenUsageModules; exports.translateData = _chunkLU7DJ4QFjs.translateData; exports.translateResponse = _chunkLU7DJ4QFjs.translateResponse; exports.tryBootstrap = _chunkLU7DJ4QFjs.tryBootstrap; exports.useComposedRefs = _chunkWRMTBKSNjs.useComposedRefs; exports.useIsMobile = _chunkWRMTBKSNjs.useIsMobile; exports.userObjectSchema = _chunkWRMTBKSNjs.userObjectSchema; exports.validateCodiceFiscale = _chunkWRMTBKSNjs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkWRMTBKSNjs.validateItalianTaxCode; exports.validatePartitaIva = _chunkWRMTBKSNjs.validatePartitaIva;
519
519
  //# sourceMappingURL=index.js.map
package/dist/index.mjs CHANGED
@@ -18,7 +18,7 @@ import {
18
18
  getWaitlistConfig,
19
19
  isReferralEnabled,
20
20
  isRolesConfigured
21
- } from "./chunk-JZUBFAAY.mjs";
21
+ } from "./chunk-Z7KPVKWV.mjs";
22
22
  import {
23
23
  AVAILABLE_OAUTH_SCOPES,
24
24
  AbstractApiData,
@@ -244,7 +244,7 @@ import {
244
244
  validateCodiceFiscale,
245
245
  validateItalianTaxCode,
246
246
  validatePartitaIva
247
- } from "./chunk-O5MKEU7G.mjs";
247
+ } from "./chunk-ZE5ZUY6Y.mjs";
248
248
  import "./chunk-AUXK7QSA.mjs";
249
249
  import "./chunk-C7C7VY4F.mjs";
250
250
  import {
@@ -85,12 +85,14 @@ interface OAuthConsentRequest {
85
85
  codeChallenge?: string;
86
86
  /** PKCE method: 'S256' (recommended) or 'plain' */
87
87
  codeChallengeMethod?: string;
88
+ /** The studio (company) the issued tokens are bound to; sent as `company_id` on approve */
89
+ companyId?: string;
88
90
  }
89
91
  /**
90
92
  * Scope information for display in consent screen
91
93
  */
92
94
  interface OAuthScopeInfo {
93
- /** The scope identifier (e.g., 'photographs:read') */
95
+ /** The scope identifier (e.g., 'read', 'mcp') */
94
96
  scope: string;
95
97
  /** Human-readable scope name */
96
98
  name: string;
@@ -105,6 +107,11 @@ interface OAuthScopeInfo {
105
107
  interface OAuthConsentInfo {
106
108
  client: OAuthClientInterface;
107
109
  scopes: OAuthScopeInfo[];
110
+ /** The caller's companies, ordered by name; the user picks one when there is more than one */
111
+ companies?: Array<{
112
+ id: string;
113
+ name: string;
114
+ }>;
108
115
  }
109
116
  /**
110
117
  * Default scope display configuration
@@ -85,12 +85,14 @@ interface OAuthConsentRequest {
85
85
  codeChallenge?: string;
86
86
  /** PKCE method: 'S256' (recommended) or 'plain' */
87
87
  codeChallengeMethod?: string;
88
+ /** The studio (company) the issued tokens are bound to; sent as `company_id` on approve */
89
+ companyId?: string;
88
90
  }
89
91
  /**
90
92
  * Scope information for display in consent screen
91
93
  */
92
94
  interface OAuthScopeInfo {
93
- /** The scope identifier (e.g., 'photographs:read') */
95
+ /** The scope identifier (e.g., 'read', 'mcp') */
94
96
  scope: string;
95
97
  /** Human-readable scope name */
96
98
  name: string;
@@ -105,6 +107,11 @@ interface OAuthScopeInfo {
105
107
  interface OAuthConsentInfo {
106
108
  client: OAuthClientInterface;
107
109
  scopes: OAuthScopeInfo[];
110
+ /** The caller's companies, ordered by name; the user picks one when there is more than one */
111
+ companies?: Array<{
112
+ id: string;
113
+ name: string;
114
+ }>;
108
115
  }
109
116
  /**
110
117
  * Default scope display configuration
@@ -228,6 +228,7 @@ declare class NotificationService extends AbstractService {
228
228
  static findMany(params: {
229
229
  isArchived?: boolean;
230
230
  next?: NextRef;
231
+ suppressGlobalError?: boolean;
231
232
  }): Promise<NotificationInterface[]>;
232
233
  static markAsRead(params: {
233
234
  data: any;
@@ -228,6 +228,7 @@ declare class NotificationService extends AbstractService {
228
228
  static findMany(params: {
229
229
  isArchived?: boolean;
230
230
  next?: NextRef;
231
+ suppressGlobalError?: boolean;
231
232
  }): Promise<NotificationInterface[]>;
232
233
  static markAsRead(params: {
233
234
  data: any;
@@ -2,7 +2,7 @@ import { A as ApiData } from '../ApiData-DPKNfY-9.mjs';
2
2
  import { M as ModuleWithPermissions, A as Action } from '../types-Bq_UA8Lg.mjs';
3
3
  import { A as ApiRequestDataTypeInterface } from '../ApiRequestDataTypeInterface-CYEcRUrh.mjs';
4
4
  import { A as ApiResponseInterface } from '../ApiResponseInterface-rsXRL_Hn.mjs';
5
- export { A as ServerAuthService, C as ServerCompanyService, a as ServerContentService, F as ServerFeatureService, N as ServerNotificationService, P as ServerPushService, R as ServerRoleService, S as ServerS3Service, U as ServerUserService } from '../s3.service-DaRFLnrX.mjs';
5
+ export { A as ServerAuthService, C as ServerCompanyService, a as ServerContentService, F as ServerFeatureService, N as ServerNotificationService, P as ServerPushService, R as ServerRoleService, S as ServerS3Service, U as ServerUserService } from '../s3.service-Buiy1ncj.mjs';
6
6
  import 'lucide-react';
7
7
  import '../ApiDataInterface-BcZeXy5X.mjs';
8
8
  import '../AbstractService-Ckm2X5fW.mjs';
@@ -2,7 +2,7 @@ import { A as ApiData } from '../ApiData-DPKNfY-9.js';
2
2
  import { M as ModuleWithPermissions, A as Action } from '../types-bsm8Fp55.js';
3
3
  import { A as ApiRequestDataTypeInterface } from '../ApiRequestDataTypeInterface-CYEcRUrh.js';
4
4
  import { A as ApiResponseInterface } from '../ApiResponseInterface-CWLvSCvS.js';
5
- export { A as ServerAuthService, C as ServerCompanyService, a as ServerContentService, F as ServerFeatureService, N as ServerNotificationService, P as ServerPushService, R as ServerRoleService, S as ServerS3Service, U as ServerUserService } from '../s3.service-DJHqEZAp.js';
5
+ export { A as ServerAuthService, C as ServerCompanyService, a as ServerContentService, F as ServerFeatureService, N as ServerNotificationService, P as ServerPushService, R as ServerRoleService, S as ServerS3Service, U as ServerUserService } from '../s3.service-Bqr-fQmi.js';
6
6
  import 'lucide-react';
7
7
  import '../ApiDataInterface-BcZeXy5X.js';
8
8
  import '../AbstractService-V3VGQMhL.js';
@@ -15,7 +15,7 @@ var _chunkIOLU4ASDjs = require('../chunk-IOLU4ASD.js');
15
15
 
16
16
 
17
17
 
18
- var _chunkYCHPWXHDjs = require('../chunk-YCHPWXHD.js');
18
+ var _chunkWRMTBKSNjs = require('../chunk-WRMTBKSN.js');
19
19
  require('../chunk-LXKSUWAV.js');
20
20
  require('../chunk-IBS6NI7D.js');
21
21
 
@@ -87,7 +87,7 @@ var ServerSession = class {
87
87
  if (!rawModules) return false;
88
88
  const modules = JSON.parse(_pako.ungzip.call(void 0, Buffer.from(rawModules, "base64"), { toText: true }));
89
89
  const selectedModule = modules.find((module) => module.id === params.module.moduleId);
90
- return _chunkYCHPWXHDjs.checkPermissionsFromServer.call(void 0, {
90
+ return _chunkWRMTBKSNjs.checkPermissionsFromServer.call(void 0, {
91
91
  module: params.module,
92
92
  action: params.action,
93
93
  data: params.data,
@@ -297,5 +297,5 @@ _chunk7QVYU63Ejs.__name.call(void 0, ServerJsonApiDelete, "ServerJsonApiDelete")
297
297
 
298
298
 
299
299
 
300
- exports.ServerAuthService = _chunkYCHPWXHDjs.AuthService; exports.ServerCompanyService = _chunkYCHPWXHDjs.CompanyService; exports.ServerContentService = _chunkYCHPWXHDjs.ContentService; exports.ServerFeatureService = _chunkYCHPWXHDjs.FeatureService; exports.ServerJsonApiDelete = ServerJsonApiDelete; exports.ServerJsonApiGet = ServerJsonApiGet; exports.ServerJsonApiPatch = ServerJsonApiPatch; exports.ServerJsonApiPost = ServerJsonApiPost; exports.ServerJsonApiPut = ServerJsonApiPut; exports.ServerNotificationService = _chunkYCHPWXHDjs.NotificationService; exports.ServerPushService = _chunkYCHPWXHDjs.PushService; exports.ServerRoleService = _chunkYCHPWXHDjs.RoleService; exports.ServerS3Service = _chunkYCHPWXHDjs.S3Service; exports.ServerSession = ServerSession; exports.ServerUserService = _chunkYCHPWXHDjs.UserService; exports.configureServerJsonApi = configureServerJsonApi; exports.getServerApiUrl = getServerApiUrl; exports.getServerAppUrl = getServerAppUrl; exports.getServerToken = _chunkYUO55Q5Ajs.getServerToken; exports.getServerTrackablePages = getServerTrackablePages; exports.invalidateCacheTag = invalidateCacheTag; exports.invalidateCacheTags = invalidateCacheTags; exports.serverRequest = _chunkIOLU4ASDjs.serverRequest;
300
+ exports.ServerAuthService = _chunkWRMTBKSNjs.AuthService; exports.ServerCompanyService = _chunkWRMTBKSNjs.CompanyService; exports.ServerContentService = _chunkWRMTBKSNjs.ContentService; exports.ServerFeatureService = _chunkWRMTBKSNjs.FeatureService; exports.ServerJsonApiDelete = ServerJsonApiDelete; exports.ServerJsonApiGet = ServerJsonApiGet; exports.ServerJsonApiPatch = ServerJsonApiPatch; exports.ServerJsonApiPost = ServerJsonApiPost; exports.ServerJsonApiPut = ServerJsonApiPut; exports.ServerNotificationService = _chunkWRMTBKSNjs.NotificationService; exports.ServerPushService = _chunkWRMTBKSNjs.PushService; exports.ServerRoleService = _chunkWRMTBKSNjs.RoleService; exports.ServerS3Service = _chunkWRMTBKSNjs.S3Service; exports.ServerSession = ServerSession; exports.ServerUserService = _chunkWRMTBKSNjs.UserService; exports.configureServerJsonApi = configureServerJsonApi; exports.getServerApiUrl = getServerApiUrl; exports.getServerAppUrl = getServerAppUrl; exports.getServerToken = _chunkYUO55Q5Ajs.getServerToken; exports.getServerTrackablePages = getServerTrackablePages; exports.invalidateCacheTag = invalidateCacheTag; exports.invalidateCacheTags = invalidateCacheTags; exports.serverRequest = _chunkIOLU4ASDjs.serverRequest;
301
301
  //# sourceMappingURL=index.js.map
@@ -15,7 +15,7 @@ import {
15
15
  S3Service,
16
16
  UserService,
17
17
  checkPermissionsFromServer
18
- } from "../chunk-O5MKEU7G.mjs";
18
+ } from "../chunk-ZE5ZUY6Y.mjs";
19
19
  import "../chunk-AUXK7QSA.mjs";
20
20
  import "../chunk-C7C7VY4F.mjs";
21
21
  import {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carlonicora/nextjs-jsonapi",
3
- "version": "3.23.0",
3
+ "version": "3.24.1",
4
4
  "description": "Next.js JSON:API client with server/client support and caching",
5
5
  "author": "Carlo Nicora",
6
6
  "license": "GPL-3.0-or-later",
@@ -4,7 +4,7 @@ import userEvent from "@testing-library/user-event";
4
4
  import { useForm } from "react-hook-form";
5
5
  import { zodResolver } from "@hookform/resolvers/zod";
6
6
  import { z } from "zod";
7
- import { EditorSheet } from "../EditorSheet";
7
+ import { EditorSheet, EditorSheetProps } from "../EditorSheet";
8
8
 
9
9
  // Mock next-intl
10
10
  vi.mock("next-intl", () => ({
@@ -33,12 +33,14 @@ const schema = z.object({
33
33
  name: z.string().min(1),
34
34
  });
35
35
 
36
+ type TestValues = z.infer<typeof schema>;
37
+
36
38
  function TestEditor({
37
39
  onSubmit = vi.fn().mockResolvedValue({ id: "123" }),
38
40
  isEdit = false,
39
41
  ...props
40
- }: Partial<React.ComponentProps<typeof EditorSheet>> & { onSubmit?: any }) {
41
- const form = useForm({
42
+ }: Partial<EditorSheetProps<TestValues>> & { onSubmit?: any }) {
43
+ const form = useForm<TestValues>({
42
44
  resolver: zodResolver(schema),
43
45
  defaultValues: { name: "" },
44
46
  });
@@ -7,7 +7,9 @@ import { translateResponse } from "../translateResponse";
7
7
 
8
8
  class StubData implements Partial<ApiDataInterface> {
9
9
  id = "";
10
- rehydrate(): void {}
10
+ rehydrate(): ApiDataInterface {
11
+ return this as unknown as ApiDataInterface;
12
+ }
11
13
  }
12
14
 
13
15
  const stubModule = {
@@ -1,8 +1,13 @@
1
1
  "use client";
2
2
 
3
+ import { MessagesSquareIcon } from "lucide-react";
4
+ import { useTranslations } from "next-intl";
5
+ import { useMemo, type ReactNode } from "react";
3
6
  import { RoundPageContainer } from "../../../../components/containers/RoundPageContainer";
4
7
  import { Modules } from "../../../../core";
5
- import type { ApprovalActionRenderer } from "../../../assistant-message/components/MessageItem";
8
+ import { EntityMentionLink } from "../../../assistant-message/components/EntityMentionLink";
9
+ import type { ApprovalActionRenderer, MentionRenderer } from "../../../assistant-message/components/MessageItem";
10
+ import type { AssistantInterface } from "../../data/AssistantInterface";
6
11
  import { useAssistantContext } from "../../contexts/AssistantContext";
7
12
  import { AssistantSidebar } from "../parts/AssistantSidebar";
8
13
  import { AssistantEmptyState } from "../parts/AssistantEmptyState";
@@ -18,55 +23,119 @@ interface Props {
18
23
  * plain markdown bubble.
19
24
  */
20
25
  renderApprovalAction?: ApprovalActionRenderer;
26
+ /**
27
+ * Renderer for `mention://<type>/<id>` links in assistant answers. Defaults
28
+ * to `EntityMentionLink`, which links registered modules to their page.
29
+ */
30
+ renderMention?: MentionRenderer;
31
+ /** When true the container renders without the `RoundPageContainer` page chrome (e.g. inside a sheet). */
32
+ embedded?: boolean;
33
+ /** Rendered inside the composer (bottom-left), before the first message of a new thread. */
34
+ renderScopePicker?: () => ReactNode;
35
+ /** Rendered after each thread title in the sidebar. */
36
+ renderThreadBadge?: (thread: AssistantInterface) => ReactNode;
37
+ /** When false, the empty state hides the operator-mode toggle and threads use the default engine. Defaults to true. */
38
+ showOperatorToggle?: boolean;
21
39
  }
22
40
 
23
- export function AssistantContainer({ renderApprovalAction }: Props = {}) {
41
+ export function AssistantContainer({
42
+ renderApprovalAction,
43
+ renderMention,
44
+ embedded,
45
+ renderScopePicker,
46
+ renderThreadBadge,
47
+ showOperatorToggle = true,
48
+ }: Props = {}) {
49
+ const t = useTranslations();
24
50
  const ctx = useAssistantContext();
25
51
  const showThread = !!ctx.assistant || ctx.sending || ctx.messages.length > 0;
26
52
 
27
- return (
28
- <RoundPageContainer module={Modules.Assistant} fullWidth>
29
- <div className="bg-background flex h-full w-full overflow-hidden rounded-lg border">
53
+ // Memoised: a fresh element on every render fed into RoundPageContainer is
54
+ // the shape that produces React's "Maximum update depth exceeded".
55
+ const details = useMemo(
56
+ () => (
57
+ // The panel supplies its own padding and border; cancel both so the list
58
+ // reads as the panel body rather than a card inside it.
59
+ <div className="-m-4 flex h-full min-h-0 [&>aside]:w-full [&>aside]:border-e-0 [&>aside]:bg-transparent">
30
60
  <AssistantSidebar
31
61
  threads={ctx.threads}
32
62
  activeId={ctx.assistant?.id}
33
63
  onSelect={ctx.selectThread}
34
- onNew={ctx.startNew}
64
+ renderThreadBadge={renderThreadBadge}
35
65
  />
36
- <main className="flex flex-1 flex-col">
37
- {!showThread ? (
38
- <AssistantEmptyState
39
- onSend={ctx.sendMessage}
40
- operatorMode={ctx.operatorMode}
41
- onOperatorModeChange={ctx.setOperatorMode}
66
+ </div>
67
+ ),
68
+ [ctx.threads, ctx.assistant?.id, ctx.selectThread, renderThreadBadge],
69
+ );
70
+
71
+ const thread = (
72
+ <>
73
+ {!showThread ? (
74
+ <AssistantEmptyState
75
+ onSend={ctx.sendMessage}
76
+ operatorMode={ctx.operatorMode}
77
+ onOperatorModeChange={showOperatorToggle ? ctx.setOperatorMode : undefined}
78
+ composerLeading={renderScopePicker?.()}
79
+ />
80
+ ) : (
81
+ <>
82
+ {ctx.assistant ? (
83
+ <AssistantThreadHeader
84
+ assistant={ctx.assistant}
85
+ onRename={(title) => ctx.renameThread(ctx.assistant!.id, title)}
86
+ onDelete={() => ctx.deleteThread(ctx.assistant!.id)}
42
87
  />
43
88
  ) : (
44
- <>
45
- {ctx.assistant ? (
46
- <AssistantThreadHeader
47
- assistant={ctx.assistant}
48
- onRename={(title) => ctx.renameThread(ctx.assistant!.id, title)}
49
- onDelete={() => ctx.deleteThread(ctx.assistant!.id)}
50
- />
51
- ) : (
52
- <div className="flex items-center justify-between border-b px-5 py-3" aria-hidden>
53
- <div className="h-5" />
54
- </div>
55
- )}
56
- <AssistantThread
57
- messages={ctx.messages}
58
- sending={ctx.sending}
59
- status={ctx.status}
60
- onSelectFollowUp={ctx.sendMessage}
61
- failedMessageIds={ctx.failedMessageIds}
62
- onRetry={ctx.retrySend}
63
- renderApprovalAction={renderApprovalAction}
64
- />
65
- <AssistantComposer onSend={ctx.sendMessage} disabled={ctx.sending} />
66
- </>
89
+ <div className="flex items-center justify-between border-b px-5 py-3" aria-hidden>
90
+ <div className="h-5" />
91
+ </div>
67
92
  )}
68
- </main>
93
+ <AssistantThread
94
+ messages={ctx.messages}
95
+ sending={ctx.sending}
96
+ status={ctx.status}
97
+ onSelectFollowUp={ctx.sendMessage}
98
+ failedMessageIds={ctx.failedMessageIds}
99
+ onRetry={ctx.retrySend}
100
+ renderApprovalAction={renderApprovalAction}
101
+ renderMention={renderMention ?? EntityMentionLink}
102
+ />
103
+ <AssistantComposer onSend={ctx.sendMessage} disabled={ctx.sending} />
104
+ </>
105
+ )}
106
+ </>
107
+ );
108
+
109
+ if (embedded) {
110
+ return (
111
+ <div className="bg-background flex h-full w-full overflow-hidden rounded-lg border">
112
+ <AssistantSidebar
113
+ threads={ctx.threads}
114
+ activeId={ctx.assistant?.id}
115
+ onSelect={ctx.selectThread}
116
+ onNew={ctx.startNew}
117
+ renderThreadBadge={renderThreadBadge}
118
+ />
119
+ <main className="flex flex-1 flex-col">{thread}</main>
69
120
  </div>
121
+ );
122
+ }
123
+
124
+ // The page mirrors the conversations page: the thread list lives in the
125
+ // page's details panel, the new-thread action in the page header (set by
126
+ // AssistantProvider), and the conversation fills the card.
127
+ return (
128
+ <RoundPageContainer
129
+ module={Modules.Assistant}
130
+ id={ctx.assistant?.id}
131
+ fullWidth
132
+ forceHeader
133
+ defaultDetailsOpen
134
+ detailsTitle={t("features.assistant.list_title")}
135
+ detailsIcon={<MessagesSquareIcon />}
136
+ details={details}
137
+ >
138
+ <div className="flex h-full min-h-0 w-full flex-col overflow-hidden">{thread}</div>
70
139
  </RoundPageContainer>
71
140
  );
72
141
  }