@carlonicora/nextjs-jsonapi 6.0.0 → 6.2.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 (75) hide show
  1. package/dist/{BlockNoteEditor-FZNU4YQT.mjs → BlockNoteEditor-D6VMXRZH.mjs} +4 -4
  2. package/dist/{BlockNoteEditor-SAU3G6H7.js → BlockNoteEditor-Q757ZLCO.js} +19 -19
  3. package/dist/{BlockNoteEditor-SAU3G6H7.js.map → BlockNoteEditor-Q757ZLCO.js.map} +1 -1
  4. package/dist/{BlockNoteViewer-6XDDVTN6.mjs → BlockNoteViewer-GI5LVQHZ.mjs} +2 -2
  5. package/dist/{BlockNoteViewer-7BTV7QQA.js → BlockNoteViewer-KG4CIJC5.js} +3 -3
  6. package/dist/{BlockNoteViewer-7BTV7QQA.js.map → BlockNoteViewer-KG4CIJC5.js.map} +1 -1
  7. package/dist/billing/index.js +491 -491
  8. package/dist/billing/index.mjs +3 -3
  9. package/dist/{chunk-F4JB7YAP.js → chunk-3P3IYUWQ.js} +8 -8
  10. package/dist/{chunk-F4JB7YAP.js.map → chunk-3P3IYUWQ.js.map} +1 -1
  11. package/dist/{chunk-U7DR5VDT.mjs → chunk-6PW3562E.mjs} +5 -5
  12. package/dist/{chunk-JVJS5RHB.mjs → chunk-CUNSPLOD.mjs} +2 -2
  13. package/dist/{chunk-T3YQ47EF.js → chunk-GSHMGL6N.js} +2 -1
  14. package/dist/chunk-GSHMGL6N.js.map +1 -0
  15. package/dist/{chunk-GFGKMUPZ.mjs → chunk-HLW3SUMD.mjs} +2 -2
  16. package/dist/{chunk-RYZYKG6W.mjs → chunk-MHBE4KQR.mjs} +2 -2
  17. package/dist/{chunk-USYZNWKS.mjs → chunk-QKDPCZ3G.mjs} +2 -1
  18. package/dist/{chunk-USYZNWKS.mjs.map → chunk-QKDPCZ3G.mjs.map} +1 -1
  19. package/dist/{chunk-TPZS46IM.js → chunk-S332ZCIE.js} +3 -3
  20. package/dist/{chunk-TPZS46IM.js.map → chunk-S332ZCIE.js.map} +1 -1
  21. package/dist/{chunk-MTI2UXDA.js → chunk-UEWDYVLW.js} +4 -4
  22. package/dist/{chunk-MTI2UXDA.js.map → chunk-UEWDYVLW.js.map} +1 -1
  23. package/dist/{chunk-IPYXT7MH.js → chunk-XQEYBESH.js} +868 -868
  24. package/dist/{chunk-IPYXT7MH.js.map → chunk-XQEYBESH.js.map} +1 -1
  25. package/dist/client/index.js +4 -4
  26. package/dist/client/index.mjs +3 -3
  27. package/dist/components/index.js +4 -4
  28. package/dist/components/index.mjs +3 -3
  29. package/dist/contexts/index.js +4 -4
  30. package/dist/contexts/index.mjs +3 -3
  31. package/dist/core/index.js +2 -2
  32. package/dist/core/index.mjs +1 -1
  33. package/dist/email-automations/index.js +92 -92
  34. package/dist/email-automations/index.mjs +3 -3
  35. package/dist/features/analytics/index.d.mts +9 -1
  36. package/dist/features/analytics/index.d.ts +9 -1
  37. package/dist/features/analytics/index.js +129 -127
  38. package/dist/features/analytics/index.js.map +1 -1
  39. package/dist/features/analytics/index.mjs +12 -10
  40. package/dist/features/analytics/index.mjs.map +1 -1
  41. package/dist/features/analytics/server.js +4 -4
  42. package/dist/features/analytics/server.mjs +2 -2
  43. package/dist/features/blog/index.js +150 -150
  44. package/dist/features/blog/index.mjs +3 -3
  45. package/dist/features/blog/server.js +16 -16
  46. package/dist/features/blog/server.mjs +1 -1
  47. package/dist/features/help/index.js +37 -37
  48. package/dist/features/help/index.mjs +3 -3
  49. package/dist/features/tokenusage/index.js +158 -125
  50. package/dist/features/tokenusage/index.js.map +1 -1
  51. package/dist/features/tokenusage/index.mjs +38 -5
  52. package/dist/features/tokenusage/index.mjs.map +1 -1
  53. package/dist/index.js +3 -3
  54. package/dist/index.mjs +2 -2
  55. package/dist/server/index.js +3 -3
  56. package/dist/server/index.mjs +2 -2
  57. package/messages/en.json +23 -0
  58. package/messages/it.json +23 -0
  59. package/package.json +1 -1
  60. package/scripts/validate-messages.mjs +4 -1
  61. package/src/features/analytics/components/AnalyticsTracker.tsx +22 -9
  62. package/src/features/analytics/components/__tests__/AnalyticsTracker.spec.tsx +67 -0
  63. package/src/features/analytics/data/__tests__/models.spec.ts +13 -0
  64. package/src/features/analytics/data/analytics-event.ts +1 -0
  65. package/src/features/analytics/data/analytics.types.ts +2 -0
  66. package/src/features/tokenusage/components/TokenUsageRankedBar.tsx +34 -2
  67. package/src/features/tokenusage/components/__tests__/TokenUsageRankedBar.spec.tsx +22 -0
  68. package/src/features/tokenusage/lib/operation-label.ts +20 -0
  69. package/dist/chunk-T3YQ47EF.js.map +0 -1
  70. /package/dist/{BlockNoteEditor-FZNU4YQT.mjs.map → BlockNoteEditor-D6VMXRZH.mjs.map} +0 -0
  71. /package/dist/{BlockNoteViewer-6XDDVTN6.mjs.map → BlockNoteViewer-GI5LVQHZ.mjs.map} +0 -0
  72. /package/dist/{chunk-U7DR5VDT.mjs.map → chunk-6PW3562E.mjs.map} +0 -0
  73. /package/dist/{chunk-JVJS5RHB.mjs.map → chunk-CUNSPLOD.mjs.map} +0 -0
  74. /package/dist/{chunk-GFGKMUPZ.mjs.map → chunk-HLW3SUMD.mjs.map} +0 -0
  75. /package/dist/{chunk-RYZYKG6W.mjs.map → chunk-MHBE4KQR.mjs.map} +0 -0
package/dist/index.js CHANGED
@@ -19,7 +19,7 @@
19
19
 
20
20
 
21
21
 
22
- var _chunkF4JB7YAPjs = require('./chunk-F4JB7YAP.js');
22
+ var _chunk3P3IYUWQjs = require('./chunk-3P3IYUWQ.js');
23
23
 
24
24
 
25
25
 
@@ -306,7 +306,7 @@ var _chunkG4JR3SFVjs = require('./chunk-G4JR3SFV.js');
306
306
 
307
307
 
308
308
 
309
- var _chunkT3YQ47EFjs = require('./chunk-T3YQ47EF.js');
309
+ var _chunkGSHMGL6Njs = require('./chunk-GSHMGL6N.js');
310
310
 
311
311
 
312
312
 
@@ -637,5 +637,5 @@ require('./chunk-7QVYU63E.js');
637
637
 
638
638
 
639
639
 
640
- exports.ACTION_TYPES = _chunkF4JB7YAPjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkT3YQ47EFjs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkT3YQ47EFjs.AbstractApiData; exports.AbstractService = _chunkT3YQ47EFjs.AbstractService; exports.Action = _chunkT3YQ47EFjs.Action; exports.AiConnection = _chunkT3YQ47EFjs.AiConnection; exports.AiConnectionFields = _chunkT3YQ47EFjs.AiConnectionFields; exports.AiConnectionModule = _chunkT3YQ47EFjs.AiConnectionModule; exports.AiConnectionService = _chunkT3YQ47EFjs.AiConnectionService; exports.Assistant = _chunkT3YQ47EFjs.Assistant; exports.AssistantAction = _chunkT3YQ47EFjs.AssistantAction; exports.AssistantActionModule = _chunkT3YQ47EFjs.AssistantActionModule; exports.AssistantActionService = _chunkT3YQ47EFjs.AssistantActionService; exports.AssistantMessage = _chunkT3YQ47EFjs.AssistantMessage; exports.AssistantMessageModule = _chunkT3YQ47EFjs.AssistantMessageModule; exports.AssistantMessageService = _chunkT3YQ47EFjs.AssistantMessageService; exports.AssistantModule = _chunkT3YQ47EFjs.AssistantModule; exports.AssistantService = _chunkT3YQ47EFjs.AssistantService; exports.AuditLog = _chunkT3YQ47EFjs.AuditLog; exports.AuditLogModule = _chunkT3YQ47EFjs.AuditLogModule; exports.AuditLogService = _chunkT3YQ47EFjs.AuditLogService; exports.Auth = _chunkT3YQ47EFjs.Auth; exports.AuthComponent = _chunkT3YQ47EFjs.AuthComponent; exports.AuthModule = _chunkT3YQ47EFjs.AuthModule; exports.AuthService = _chunkT3YQ47EFjs.AuthService; exports.AuthorModule = _chunkT3YQ47EFjs.AuthorModule; exports.BackupCodeVerify = _chunkT3YQ47EFjs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkT3YQ47EFjs.BackupCodeVerifyModule; exports.Billing = _chunkT3YQ47EFjs.Billing; exports.BillingModule = _chunkT3YQ47EFjs.BillingModule; exports.BillingService = _chunkT3YQ47EFjs.BillingService; exports.BlockNoteDiffUtil = _chunkT3YQ47EFjs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkT3YQ47EFjs.BlockNoteWordDiffRendererUtil; exports.BlogCategory = _chunkT3YQ47EFjs.BlogCategory; exports.BlogCategoryFields = _chunkT3YQ47EFjs.BlogCategoryFields; exports.BlogCategoryModule = _chunkT3YQ47EFjs.BlogCategoryModule; exports.BlogCategoryService = _chunkT3YQ47EFjs.BlogCategoryService; exports.BlogCategoryTranslation = _chunkT3YQ47EFjs.BlogCategoryTranslation; exports.BlogCategoryTranslationModule = _chunkT3YQ47EFjs.BlogCategoryTranslationModule; exports.BlogCategoryTranslationService = _chunkT3YQ47EFjs.BlogCategoryTranslationService; exports.BlogPost = _chunkT3YQ47EFjs.BlogPost; exports.BlogPostFields = _chunkT3YQ47EFjs.BlogPostFields; exports.BlogPostModule = _chunkT3YQ47EFjs.BlogPostModule; exports.BlogPostService = _chunkT3YQ47EFjs.BlogPostService; exports.BlogPostTranslation = _chunkT3YQ47EFjs.BlogPostTranslation; exports.BlogPostTranslationModule = _chunkT3YQ47EFjs.BlogPostTranslationModule; exports.BlogPostTranslationService = _chunkT3YQ47EFjs.BlogPostTranslationService; exports.BlogSettings = _chunkT3YQ47EFjs.BlogSettings; exports.BlogSettingsModule = _chunkT3YQ47EFjs.BlogSettingsModule; exports.BlogSettingsService = _chunkT3YQ47EFjs.BlogSettingsService; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkF4JB7YAPjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.CURRENT_USER_STORAGE_KEY = _chunkT3YQ47EFjs.CURRENT_USER_STORAGE_KEY; exports.Chunk = _chunkT3YQ47EFjs.Chunk; exports.ChunkModule = _chunkT3YQ47EFjs.ChunkModule; exports.ClientAbstractService = _chunkT3YQ47EFjs.ClientAbstractService; exports.ClientHttpMethod = _chunkT3YQ47EFjs.ClientHttpMethod; exports.Company = _chunkT3YQ47EFjs.Company; exports.CompanyFields = _chunkT3YQ47EFjs.CompanyFields; exports.CompanyModule = _chunkT3YQ47EFjs.CompanyModule; exports.CompanyService = _chunkT3YQ47EFjs.CompanyService; exports.Content = _chunkT3YQ47EFjs.Content; exports.ContentFields = _chunkT3YQ47EFjs.ContentFields; exports.ContentModule = _chunkT3YQ47EFjs.ContentModule; exports.ContentService = _chunkT3YQ47EFjs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkT3YQ47EFjs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkGHE4VT2Rjs.DataClassRegistry; exports.DataClassRegistry = _chunkGHE4VT2Rjs.DataClassRegistry; exports.EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE = _chunkT3YQ47EFjs.EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE; exports.ENV = _chunkGHE4VT2Rjs.ENV; exports.EmailAutomation = _chunkT3YQ47EFjs.EmailAutomation; exports.EmailAutomationEnrollment = _chunkT3YQ47EFjs.EmailAutomationEnrollment; exports.EmailAutomationEnrollmentFields = _chunkT3YQ47EFjs.EmailAutomationEnrollmentFields; exports.EmailAutomationEnrollmentModule = _chunkT3YQ47EFjs.EmailAutomationEnrollmentModule; exports.EmailAutomationEnrollmentService = _chunkT3YQ47EFjs.EmailAutomationEnrollmentService; exports.EmailAutomationFields = _chunkT3YQ47EFjs.EmailAutomationFields; exports.EmailAutomationModule = _chunkT3YQ47EFjs.EmailAutomationModule; exports.EmailAutomationService = _chunkT3YQ47EFjs.EmailAutomationService; exports.EmailAutomationStep = _chunkT3YQ47EFjs.EmailAutomationStep; exports.EmailAutomationStepModule = _chunkT3YQ47EFjs.EmailAutomationStepModule; exports.EmailAutomationStepService = _chunkT3YQ47EFjs.EmailAutomationStepService; exports.EmailAutomationTrigger = _chunkT3YQ47EFjs.EmailAutomationTrigger; exports.EmailAutomationTriggerModule = _chunkT3YQ47EFjs.EmailAutomationTriggerModule; exports.EndpointCreator = _chunkT3YQ47EFjs.EndpointCreator; exports.EntityAiStatus = _chunkT3YQ47EFjs.EntityAiStatus; exports.Feature = _chunkT3YQ47EFjs.Feature; exports.FeatureModule = _chunkT3YQ47EFjs.FeatureModule; exports.FeatureService = _chunkT3YQ47EFjs.FeatureService; exports.HandbookPage = _chunkT3YQ47EFjs.HandbookPage; exports.HandbookPageFields = _chunkT3YQ47EFjs.HandbookPageFields; exports.HandbookPageModule = _chunkT3YQ47EFjs.HandbookPageModule; exports.HandbookPageService = _chunkT3YQ47EFjs.HandbookPageService; exports.HandbookSection = _chunkT3YQ47EFjs.HandbookSection; exports.HandbookSectionModule = _chunkT3YQ47EFjs.HandbookSectionModule; exports.HandbookSectionService = _chunkT3YQ47EFjs.HandbookSectionService; exports.HandbookThread = _chunkT3YQ47EFjs.HandbookThread; exports.HandbookThreadMessage = _chunkT3YQ47EFjs.HandbookThreadMessage; exports.HandbookThreadMessageModule = _chunkT3YQ47EFjs.HandbookThreadMessageModule; exports.HandbookThreadMessageService = _chunkT3YQ47EFjs.HandbookThreadMessageService; exports.HandbookThreadModule = _chunkT3YQ47EFjs.HandbookThreadModule; exports.HandbookThreadService = _chunkT3YQ47EFjs.HandbookThreadService; exports.HowTo = _chunkT3YQ47EFjs.HowTo; exports.HowToFields = _chunkT3YQ47EFjs.HowToFields; exports.HowToModule = _chunkT3YQ47EFjs.HowToModule; exports.HowToService = _chunkT3YQ47EFjs.HowToService; exports.HttpMethod = _chunkT3YQ47EFjs.HttpMethod; exports.InvoiceStatus = _chunkT3YQ47EFjs.InvoiceStatus; exports.JsonApiDataFactory = _chunkGHE4VT2Rjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkT3YQ47EFjs.MOBILE_BREAKPOINT; exports.Module = _chunkT3YQ47EFjs.Module; exports.ModuleModule = _chunkT3YQ47EFjs.ModuleModule; exports.ModulePaths = _chunkT3YQ47EFjs.ModulePaths; exports.ModulePathsModule = _chunkT3YQ47EFjs.ModulePathsModule; exports.ModuleRegistrar = _chunkT3YQ47EFjs.ModuleRegistrar; exports.ModuleRegistry = _chunkT3YQ47EFjs.ModuleRegistry; exports.Modules = _chunkT3YQ47EFjs.Modules; exports.Notification = _chunkT3YQ47EFjs.Notification; exports.NotificationFields = _chunkT3YQ47EFjs.NotificationFields; exports.NotificationModule = _chunkT3YQ47EFjs.NotificationModule; exports.NotificationService = _chunkT3YQ47EFjs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkT3YQ47EFjs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkT3YQ47EFjs.OAuthClient; exports.OAuthModule = _chunkT3YQ47EFjs.OAuthModule; exports.OAuthService = _chunkT3YQ47EFjs.OAuthService; exports.Passkey = _chunkT3YQ47EFjs.Passkey; exports.PasskeyAuthenticationOptions = _chunkT3YQ47EFjs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkT3YQ47EFjs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkT3YQ47EFjs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkT3YQ47EFjs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkT3YQ47EFjs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkT3YQ47EFjs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkT3YQ47EFjs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkT3YQ47EFjs.PasskeyRename; exports.PasskeyRenameModule = _chunkT3YQ47EFjs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkT3YQ47EFjs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkT3YQ47EFjs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkT3YQ47EFjs.PaymentMethod; exports.PermissionMapping = _chunkT3YQ47EFjs.PermissionMapping; exports.PermissionMappingModule = _chunkT3YQ47EFjs.PermissionMappingModule; exports.Push = _chunkT3YQ47EFjs.Push; exports.PushModule = _chunkT3YQ47EFjs.PushModule; exports.PushService = _chunkT3YQ47EFjs.PushService; exports.RbacMatrixModel = _chunkT3YQ47EFjs.RbacMatrixModel; exports.RbacMatrixModule = _chunkT3YQ47EFjs.RbacMatrixModule; exports.RbacService = _chunkF4JB7YAPjs.RbacService; exports.ReferralModule = _chunkT3YQ47EFjs.ReferralModule; exports.ReferralService = _chunkT3YQ47EFjs.ReferralService; exports.ReferralStats = _chunkT3YQ47EFjs.ReferralStats; exports.ReferralStatsModule = _chunkT3YQ47EFjs.ReferralStatsModule; exports.RehydrationFactory = _chunkT3YQ47EFjs.RehydrationFactory; exports.Role = _chunkT3YQ47EFjs.Role; exports.RoleFields = _chunkT3YQ47EFjs.RoleFields; exports.RoleModule = _chunkT3YQ47EFjs.RoleModule; exports.RoleService = _chunkT3YQ47EFjs.RoleService; exports.S3 = _chunkT3YQ47EFjs.S3; exports.S3Module = _chunkT3YQ47EFjs.S3Module; exports.S3Service = _chunkT3YQ47EFjs.S3Service; exports.SIGNUP_SOURCE_COOKIE = _chunkF4JB7YAPjs.SIGNUP_SOURCE_COOKIE; exports.SIGNUP_SOURCE_COOKIE_MAX_AGE = _chunkF4JB7YAPjs.SIGNUP_SOURCE_COOKIE_MAX_AGE; exports.STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT = _chunkT3YQ47EFjs.STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT; exports.STRIPE_COUPON_DETAIL_PAGE_URL = _chunkT3YQ47EFjs.STRIPE_COUPON_DETAIL_PAGE_URL; exports.STRIPE_COUPON_REFRESH_SEGMENT = _chunkT3YQ47EFjs.STRIPE_COUPON_REFRESH_SEGMENT; exports.StripeCoupon = _chunkT3YQ47EFjs.StripeCoupon; exports.StripeCouponCode = _chunkT3YQ47EFjs.StripeCouponCode; exports.StripeCouponCodeFields = _chunkT3YQ47EFjs.StripeCouponCodeFields; exports.StripeCouponCodeModule = _chunkT3YQ47EFjs.StripeCouponCodeModule; exports.StripeCouponCodeService = _chunkT3YQ47EFjs.StripeCouponCodeService; exports.StripeCouponFields = _chunkT3YQ47EFjs.StripeCouponFields; exports.StripeCouponModule = _chunkT3YQ47EFjs.StripeCouponModule; exports.StripeCouponOffer = _chunkT3YQ47EFjs.StripeCouponOffer; exports.StripeCouponOfferModule = _chunkT3YQ47EFjs.StripeCouponOfferModule; exports.StripeCouponService = _chunkT3YQ47EFjs.StripeCouponService; exports.StripeCustomer = _chunkT3YQ47EFjs.StripeCustomer; exports.StripeCustomerModule = _chunkT3YQ47EFjs.StripeCustomerModule; exports.StripeCustomerService = _chunkT3YQ47EFjs.StripeCustomerService; exports.StripeInvoice = _chunkT3YQ47EFjs.StripeInvoice; exports.StripeInvoiceModule = _chunkT3YQ47EFjs.StripeInvoiceModule; exports.StripeInvoiceService = _chunkT3YQ47EFjs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkT3YQ47EFjs.StripePaymentMethodModule; exports.StripePrice = _chunkT3YQ47EFjs.StripePrice; exports.StripePriceFields = _chunkT3YQ47EFjs.StripePriceFields; exports.StripePriceModule = _chunkT3YQ47EFjs.StripePriceModule; exports.StripePriceService = _chunkT3YQ47EFjs.StripePriceService; exports.StripeProduct = _chunkT3YQ47EFjs.StripeProduct; exports.StripeProductFields = _chunkT3YQ47EFjs.StripeProductFields; exports.StripeProductModule = _chunkT3YQ47EFjs.StripeProductModule; exports.StripeProductService = _chunkT3YQ47EFjs.StripeProductService; exports.StripePromotionCode = _chunkT3YQ47EFjs.StripePromotionCode; exports.StripePromotionCodeModule = _chunkT3YQ47EFjs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkT3YQ47EFjs.StripePromotionCodeService; exports.StripeSubscription = _chunkT3YQ47EFjs.StripeSubscription; exports.StripeSubscriptionModule = _chunkT3YQ47EFjs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkT3YQ47EFjs.StripeSubscriptionService; exports.StripeUsage = _chunkT3YQ47EFjs.StripeUsage; exports.StripeUsageModule = _chunkT3YQ47EFjs.StripeUsageModule; exports.StripeUsageService = _chunkT3YQ47EFjs.StripeUsageService; exports.SubscriptionStatus = _chunkT3YQ47EFjs.SubscriptionStatus; exports.TableOptions = _chunkT3YQ47EFjs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunkT3YQ47EFjs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunkT3YQ47EFjs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunkT3YQ47EFjs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunkT3YQ47EFjs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkT3YQ47EFjs.TotpAuthenticatorModule; exports.TotpSetup = _chunkT3YQ47EFjs.TotpSetup; exports.TotpSetupModule = _chunkT3YQ47EFjs.TotpSetupModule; exports.TotpVerify = _chunkT3YQ47EFjs.TotpVerify; exports.TotpVerifyLogin = _chunkT3YQ47EFjs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkT3YQ47EFjs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkT3YQ47EFjs.TotpVerifyModule; exports.TwoFactorChallenge = _chunkT3YQ47EFjs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkT3YQ47EFjs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkT3YQ47EFjs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkT3YQ47EFjs.TwoFactorEnableModule; exports.TwoFactorService = _chunkT3YQ47EFjs.TwoFactorService; exports.TwoFactorStatus = _chunkT3YQ47EFjs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkT3YQ47EFjs.TwoFactorStatusModule; exports.User = _chunkT3YQ47EFjs.User; exports.UserFields = _chunkT3YQ47EFjs.UserFields; exports.UserModule = _chunkT3YQ47EFjs.UserModule; exports.UserService = _chunkT3YQ47EFjs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkT3YQ47EFjs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkT3YQ47EFjs.Waitlist; exports.WaitlistFields = _chunkT3YQ47EFjs.WaitlistFields; exports.WaitlistModule = _chunkT3YQ47EFjs.WaitlistModule; exports.WaitlistService = _chunkT3YQ47EFjs.WaitlistService; exports.WaitlistStats = _chunkT3YQ47EFjs.WaitlistStats; exports.WaitlistStatsModule = _chunkT3YQ47EFjs.WaitlistStatsModule; exports.analyticsModules = _chunkT3YQ47EFjs.analyticsModules; exports.captureSignupSource = _chunkF4JB7YAPjs.captureSignupSource; exports.checkPermissions = _chunkT3YQ47EFjs.checkPermissions; exports.checkPermissionsFromServer = _chunkT3YQ47EFjs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkT3YQ47EFjs.clearLastApiMeta; exports.clearLastApiTotal = _chunkT3YQ47EFjs.clearLastApiTotal; exports.cn = _chunkT3YQ47EFjs.cn; exports.composeRefs = _chunkT3YQ47EFjs.composeRefs; exports.configureAuth = _chunkT3YQ47EFjs.configureAuth; exports.configureI18n = _chunkT3YQ47EFjs.configureI18n; exports.configureJsonApi = _chunkF4JB7YAPjs.configureJsonApi; exports.configureLogin = _chunkF4JB7YAPjs.configureLogin; exports.configureReferral = _chunkF4JB7YAPjs.configureReferral; exports.configureRoles = _chunkG4JR3SFVjs.configureRoles; exports.configureTokenUsage = _chunkT3YQ47EFjs.configureTokenUsage; exports.configureWaitlist = _chunkF4JB7YAPjs.configureWaitlist; exports.couponPlacesLeft = _chunkT3YQ47EFjs.couponPlacesLeft; exports.couponPlacesTotal = _chunkT3YQ47EFjs.couponPlacesTotal; exports.createJsonApiInclusion = _chunkT3YQ47EFjs.createJsonApiInclusion; exports.dateFormatLocale = _chunkT3YQ47EFjs.dateFormatLocale; exports.dismissToast = _chunkT3YQ47EFjs.dismissToast; exports.entityObjectSchema = _chunkT3YQ47EFjs.entityObjectSchema; exports.exists = _chunkT3YQ47EFjs.exists; exports.formatCodiceFiscale = _chunkT3YQ47EFjs.formatCodiceFiscale; exports.formatCouponDiscount = _chunkT3YQ47EFjs.formatCouponDiscount; exports.formatCurrency = _chunkT3YQ47EFjs.formatCurrency; exports.formatDate = _chunkT3YQ47EFjs.formatDate; exports.formatFixed = _chunkT3YQ47EFjs.formatFixed; exports.formatInterval = _chunkT3YQ47EFjs.formatInterval; exports.formatLocalDate = _chunkT3YQ47EFjs.formatLocalDate; exports.formatPartitaIva = _chunkT3YQ47EFjs.formatPartitaIva; exports.getApiUrl = _chunkF4JB7YAPjs.getApiUrl; exports.getAppUrl = _chunkF4JB7YAPjs.getAppUrl; exports.getBootstrapper = _chunkGHE4VT2Rjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkT3YQ47EFjs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkT3YQ47EFjs.getGlobalErrorHandler; exports.getIcon = _chunkT3YQ47EFjs.getIcon; exports.getIconByModule = _chunkT3YQ47EFjs.getIconByModule; exports.getIconByModuleName = _chunkT3YQ47EFjs.getIconByModuleName; exports.getInitials = _chunkT3YQ47EFjs.getInitials; exports.getLastApiMeta = _chunkT3YQ47EFjs.getLastApiMeta; exports.getLastApiTotal = _chunkT3YQ47EFjs.getLastApiTotal; exports.getLucideIcon = _chunkT3YQ47EFjs.getLucideIcon; exports.getLucideIconByModule = _chunkT3YQ47EFjs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkT3YQ47EFjs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkF4JB7YAPjs.getPublicApiUrl; exports.getReferralConfig = _chunkF4JB7YAPjs.getReferralConfig; exports.getRoleId = _chunkG4JR3SFVjs.getRoleId; exports.getSignupSource = _chunkF4JB7YAPjs.getSignupSource; exports.getStripePublishableKey = _chunkF4JB7YAPjs.getStripePublishableKey; exports.getTableComponents = _chunkT3YQ47EFjs.getTableComponents; exports.getTableOptions = _chunkT3YQ47EFjs.getTableOptions; exports.getTokenHandler = _chunkT3YQ47EFjs.getTokenHandler; exports.getTokenUsageCurrency = _chunkT3YQ47EFjs.getTokenUsageCurrency; exports.getTrackablePages = _chunkF4JB7YAPjs.getTrackablePages; exports.getValueFromPath = _chunkT3YQ47EFjs.getValueFromPath; exports.getWaitlistConfig = _chunkF4JB7YAPjs.getWaitlistConfig; exports.handbookPageContent = _chunkT3YQ47EFjs.handbookPageContent; exports.handbookPageSummary = _chunkT3YQ47EFjs.handbookPageSummary; exports.handbookPageTitle = _chunkT3YQ47EFjs.handbookPageTitle; exports.handbookSectionSummary = _chunkT3YQ47EFjs.handbookSectionSummary; exports.handbookSectionTitle = _chunkT3YQ47EFjs.handbookSectionTitle; exports.hasBootstrapper = _chunkGHE4VT2Rjs.hasBootstrapper; exports.isReferralEnabled = _chunkF4JB7YAPjs.isReferralEnabled; exports.isRemoteImageSrc = _chunkT3YQ47EFjs.isRemoteImageSrc; exports.isRolesConfigured = _chunkG4JR3SFVjs.isRolesConfigured; exports.mergeMessages = _chunkT3YQ47EFjs.mergeMessages; exports.readSignupSourceFromLocation = _chunkF4JB7YAPjs.readSignupSourceFromLocation; exports.rehydrate = _chunkT3YQ47EFjs.rehydrate; exports.rehydrateList = _chunkT3YQ47EFjs.rehydrateList; exports.resetBootstrapStore = _chunkGHE4VT2Rjs.resetBootstrapStore; exports.setBootstrapper = _chunkGHE4VT2Rjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkT3YQ47EFjs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkT3YQ47EFjs.setGlobalErrorHandler; exports.showCustomToast = _chunkT3YQ47EFjs.showCustomToast; exports.showError = _chunkT3YQ47EFjs.showError; exports.showToast = _chunkT3YQ47EFjs.showToast; exports.toPromotionCodeResult = _chunkT3YQ47EFjs.toPromotionCodeResult; exports.tokenUsageModules = _chunkT3YQ47EFjs.tokenUsageModules; exports.translateData = _chunkGHE4VT2Rjs.translateData; exports.translateResponse = _chunkGHE4VT2Rjs.translateResponse; exports.tryBootstrap = _chunkGHE4VT2Rjs.tryBootstrap; exports.useComposedRefs = _chunkT3YQ47EFjs.useComposedRefs; exports.useIsMobile = _chunkT3YQ47EFjs.useIsMobile; exports.userObjectSchema = _chunkT3YQ47EFjs.userObjectSchema; exports.validateCodiceFiscale = _chunkT3YQ47EFjs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkT3YQ47EFjs.validateItalianTaxCode; exports.validatePartitaIva = _chunkT3YQ47EFjs.validatePartitaIva;
640
+ exports.ACTION_TYPES = _chunk3P3IYUWQjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkGSHMGL6Njs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkGSHMGL6Njs.AbstractApiData; exports.AbstractService = _chunkGSHMGL6Njs.AbstractService; exports.Action = _chunkGSHMGL6Njs.Action; exports.AiConnection = _chunkGSHMGL6Njs.AiConnection; exports.AiConnectionFields = _chunkGSHMGL6Njs.AiConnectionFields; exports.AiConnectionModule = _chunkGSHMGL6Njs.AiConnectionModule; exports.AiConnectionService = _chunkGSHMGL6Njs.AiConnectionService; exports.Assistant = _chunkGSHMGL6Njs.Assistant; exports.AssistantAction = _chunkGSHMGL6Njs.AssistantAction; exports.AssistantActionModule = _chunkGSHMGL6Njs.AssistantActionModule; exports.AssistantActionService = _chunkGSHMGL6Njs.AssistantActionService; exports.AssistantMessage = _chunkGSHMGL6Njs.AssistantMessage; exports.AssistantMessageModule = _chunkGSHMGL6Njs.AssistantMessageModule; exports.AssistantMessageService = _chunkGSHMGL6Njs.AssistantMessageService; exports.AssistantModule = _chunkGSHMGL6Njs.AssistantModule; exports.AssistantService = _chunkGSHMGL6Njs.AssistantService; exports.AuditLog = _chunkGSHMGL6Njs.AuditLog; exports.AuditLogModule = _chunkGSHMGL6Njs.AuditLogModule; exports.AuditLogService = _chunkGSHMGL6Njs.AuditLogService; exports.Auth = _chunkGSHMGL6Njs.Auth; exports.AuthComponent = _chunkGSHMGL6Njs.AuthComponent; exports.AuthModule = _chunkGSHMGL6Njs.AuthModule; exports.AuthService = _chunkGSHMGL6Njs.AuthService; exports.AuthorModule = _chunkGSHMGL6Njs.AuthorModule; exports.BackupCodeVerify = _chunkGSHMGL6Njs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkGSHMGL6Njs.BackupCodeVerifyModule; exports.Billing = _chunkGSHMGL6Njs.Billing; exports.BillingModule = _chunkGSHMGL6Njs.BillingModule; exports.BillingService = _chunkGSHMGL6Njs.BillingService; exports.BlockNoteDiffUtil = _chunkGSHMGL6Njs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkGSHMGL6Njs.BlockNoteWordDiffRendererUtil; exports.BlogCategory = _chunkGSHMGL6Njs.BlogCategory; exports.BlogCategoryFields = _chunkGSHMGL6Njs.BlogCategoryFields; exports.BlogCategoryModule = _chunkGSHMGL6Njs.BlogCategoryModule; exports.BlogCategoryService = _chunkGSHMGL6Njs.BlogCategoryService; exports.BlogCategoryTranslation = _chunkGSHMGL6Njs.BlogCategoryTranslation; exports.BlogCategoryTranslationModule = _chunkGSHMGL6Njs.BlogCategoryTranslationModule; exports.BlogCategoryTranslationService = _chunkGSHMGL6Njs.BlogCategoryTranslationService; exports.BlogPost = _chunkGSHMGL6Njs.BlogPost; exports.BlogPostFields = _chunkGSHMGL6Njs.BlogPostFields; exports.BlogPostModule = _chunkGSHMGL6Njs.BlogPostModule; exports.BlogPostService = _chunkGSHMGL6Njs.BlogPostService; exports.BlogPostTranslation = _chunkGSHMGL6Njs.BlogPostTranslation; exports.BlogPostTranslationModule = _chunkGSHMGL6Njs.BlogPostTranslationModule; exports.BlogPostTranslationService = _chunkGSHMGL6Njs.BlogPostTranslationService; exports.BlogSettings = _chunkGSHMGL6Njs.BlogSettings; exports.BlogSettingsModule = _chunkGSHMGL6Njs.BlogSettingsModule; exports.BlogSettingsService = _chunkGSHMGL6Njs.BlogSettingsService; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunk3P3IYUWQjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.CURRENT_USER_STORAGE_KEY = _chunkGSHMGL6Njs.CURRENT_USER_STORAGE_KEY; exports.Chunk = _chunkGSHMGL6Njs.Chunk; exports.ChunkModule = _chunkGSHMGL6Njs.ChunkModule; exports.ClientAbstractService = _chunkGSHMGL6Njs.ClientAbstractService; exports.ClientHttpMethod = _chunkGSHMGL6Njs.ClientHttpMethod; exports.Company = _chunkGSHMGL6Njs.Company; exports.CompanyFields = _chunkGSHMGL6Njs.CompanyFields; exports.CompanyModule = _chunkGSHMGL6Njs.CompanyModule; exports.CompanyService = _chunkGSHMGL6Njs.CompanyService; exports.Content = _chunkGSHMGL6Njs.Content; exports.ContentFields = _chunkGSHMGL6Njs.ContentFields; exports.ContentModule = _chunkGSHMGL6Njs.ContentModule; exports.ContentService = _chunkGSHMGL6Njs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkGSHMGL6Njs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkGHE4VT2Rjs.DataClassRegistry; exports.DataClassRegistry = _chunkGHE4VT2Rjs.DataClassRegistry; exports.EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE = _chunkGSHMGL6Njs.EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE; exports.ENV = _chunkGHE4VT2Rjs.ENV; exports.EmailAutomation = _chunkGSHMGL6Njs.EmailAutomation; exports.EmailAutomationEnrollment = _chunkGSHMGL6Njs.EmailAutomationEnrollment; exports.EmailAutomationEnrollmentFields = _chunkGSHMGL6Njs.EmailAutomationEnrollmentFields; exports.EmailAutomationEnrollmentModule = _chunkGSHMGL6Njs.EmailAutomationEnrollmentModule; exports.EmailAutomationEnrollmentService = _chunkGSHMGL6Njs.EmailAutomationEnrollmentService; exports.EmailAutomationFields = _chunkGSHMGL6Njs.EmailAutomationFields; exports.EmailAutomationModule = _chunkGSHMGL6Njs.EmailAutomationModule; exports.EmailAutomationService = _chunkGSHMGL6Njs.EmailAutomationService; exports.EmailAutomationStep = _chunkGSHMGL6Njs.EmailAutomationStep; exports.EmailAutomationStepModule = _chunkGSHMGL6Njs.EmailAutomationStepModule; exports.EmailAutomationStepService = _chunkGSHMGL6Njs.EmailAutomationStepService; exports.EmailAutomationTrigger = _chunkGSHMGL6Njs.EmailAutomationTrigger; exports.EmailAutomationTriggerModule = _chunkGSHMGL6Njs.EmailAutomationTriggerModule; exports.EndpointCreator = _chunkGSHMGL6Njs.EndpointCreator; exports.EntityAiStatus = _chunkGSHMGL6Njs.EntityAiStatus; exports.Feature = _chunkGSHMGL6Njs.Feature; exports.FeatureModule = _chunkGSHMGL6Njs.FeatureModule; exports.FeatureService = _chunkGSHMGL6Njs.FeatureService; exports.HandbookPage = _chunkGSHMGL6Njs.HandbookPage; exports.HandbookPageFields = _chunkGSHMGL6Njs.HandbookPageFields; exports.HandbookPageModule = _chunkGSHMGL6Njs.HandbookPageModule; exports.HandbookPageService = _chunkGSHMGL6Njs.HandbookPageService; exports.HandbookSection = _chunkGSHMGL6Njs.HandbookSection; exports.HandbookSectionModule = _chunkGSHMGL6Njs.HandbookSectionModule; exports.HandbookSectionService = _chunkGSHMGL6Njs.HandbookSectionService; exports.HandbookThread = _chunkGSHMGL6Njs.HandbookThread; exports.HandbookThreadMessage = _chunkGSHMGL6Njs.HandbookThreadMessage; exports.HandbookThreadMessageModule = _chunkGSHMGL6Njs.HandbookThreadMessageModule; exports.HandbookThreadMessageService = _chunkGSHMGL6Njs.HandbookThreadMessageService; exports.HandbookThreadModule = _chunkGSHMGL6Njs.HandbookThreadModule; exports.HandbookThreadService = _chunkGSHMGL6Njs.HandbookThreadService; exports.HowTo = _chunkGSHMGL6Njs.HowTo; exports.HowToFields = _chunkGSHMGL6Njs.HowToFields; exports.HowToModule = _chunkGSHMGL6Njs.HowToModule; exports.HowToService = _chunkGSHMGL6Njs.HowToService; exports.HttpMethod = _chunkGSHMGL6Njs.HttpMethod; exports.InvoiceStatus = _chunkGSHMGL6Njs.InvoiceStatus; exports.JsonApiDataFactory = _chunkGHE4VT2Rjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkGSHMGL6Njs.MOBILE_BREAKPOINT; exports.Module = _chunkGSHMGL6Njs.Module; exports.ModuleModule = _chunkGSHMGL6Njs.ModuleModule; exports.ModulePaths = _chunkGSHMGL6Njs.ModulePaths; exports.ModulePathsModule = _chunkGSHMGL6Njs.ModulePathsModule; exports.ModuleRegistrar = _chunkGSHMGL6Njs.ModuleRegistrar; exports.ModuleRegistry = _chunkGSHMGL6Njs.ModuleRegistry; exports.Modules = _chunkGSHMGL6Njs.Modules; exports.Notification = _chunkGSHMGL6Njs.Notification; exports.NotificationFields = _chunkGSHMGL6Njs.NotificationFields; exports.NotificationModule = _chunkGSHMGL6Njs.NotificationModule; exports.NotificationService = _chunkGSHMGL6Njs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkGSHMGL6Njs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkGSHMGL6Njs.OAuthClient; exports.OAuthModule = _chunkGSHMGL6Njs.OAuthModule; exports.OAuthService = _chunkGSHMGL6Njs.OAuthService; exports.Passkey = _chunkGSHMGL6Njs.Passkey; exports.PasskeyAuthenticationOptions = _chunkGSHMGL6Njs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkGSHMGL6Njs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkGSHMGL6Njs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkGSHMGL6Njs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkGSHMGL6Njs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkGSHMGL6Njs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkGSHMGL6Njs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkGSHMGL6Njs.PasskeyRename; exports.PasskeyRenameModule = _chunkGSHMGL6Njs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkGSHMGL6Njs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkGSHMGL6Njs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkGSHMGL6Njs.PaymentMethod; exports.PermissionMapping = _chunkGSHMGL6Njs.PermissionMapping; exports.PermissionMappingModule = _chunkGSHMGL6Njs.PermissionMappingModule; exports.Push = _chunkGSHMGL6Njs.Push; exports.PushModule = _chunkGSHMGL6Njs.PushModule; exports.PushService = _chunkGSHMGL6Njs.PushService; exports.RbacMatrixModel = _chunkGSHMGL6Njs.RbacMatrixModel; exports.RbacMatrixModule = _chunkGSHMGL6Njs.RbacMatrixModule; exports.RbacService = _chunk3P3IYUWQjs.RbacService; exports.ReferralModule = _chunkGSHMGL6Njs.ReferralModule; exports.ReferralService = _chunkGSHMGL6Njs.ReferralService; exports.ReferralStats = _chunkGSHMGL6Njs.ReferralStats; exports.ReferralStatsModule = _chunkGSHMGL6Njs.ReferralStatsModule; exports.RehydrationFactory = _chunkGSHMGL6Njs.RehydrationFactory; exports.Role = _chunkGSHMGL6Njs.Role; exports.RoleFields = _chunkGSHMGL6Njs.RoleFields; exports.RoleModule = _chunkGSHMGL6Njs.RoleModule; exports.RoleService = _chunkGSHMGL6Njs.RoleService; exports.S3 = _chunkGSHMGL6Njs.S3; exports.S3Module = _chunkGSHMGL6Njs.S3Module; exports.S3Service = _chunkGSHMGL6Njs.S3Service; exports.SIGNUP_SOURCE_COOKIE = _chunk3P3IYUWQjs.SIGNUP_SOURCE_COOKIE; exports.SIGNUP_SOURCE_COOKIE_MAX_AGE = _chunk3P3IYUWQjs.SIGNUP_SOURCE_COOKIE_MAX_AGE; exports.STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT = _chunkGSHMGL6Njs.STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT; exports.STRIPE_COUPON_DETAIL_PAGE_URL = _chunkGSHMGL6Njs.STRIPE_COUPON_DETAIL_PAGE_URL; exports.STRIPE_COUPON_REFRESH_SEGMENT = _chunkGSHMGL6Njs.STRIPE_COUPON_REFRESH_SEGMENT; exports.StripeCoupon = _chunkGSHMGL6Njs.StripeCoupon; exports.StripeCouponCode = _chunkGSHMGL6Njs.StripeCouponCode; exports.StripeCouponCodeFields = _chunkGSHMGL6Njs.StripeCouponCodeFields; exports.StripeCouponCodeModule = _chunkGSHMGL6Njs.StripeCouponCodeModule; exports.StripeCouponCodeService = _chunkGSHMGL6Njs.StripeCouponCodeService; exports.StripeCouponFields = _chunkGSHMGL6Njs.StripeCouponFields; exports.StripeCouponModule = _chunkGSHMGL6Njs.StripeCouponModule; exports.StripeCouponOffer = _chunkGSHMGL6Njs.StripeCouponOffer; exports.StripeCouponOfferModule = _chunkGSHMGL6Njs.StripeCouponOfferModule; exports.StripeCouponService = _chunkGSHMGL6Njs.StripeCouponService; exports.StripeCustomer = _chunkGSHMGL6Njs.StripeCustomer; exports.StripeCustomerModule = _chunkGSHMGL6Njs.StripeCustomerModule; exports.StripeCustomerService = _chunkGSHMGL6Njs.StripeCustomerService; exports.StripeInvoice = _chunkGSHMGL6Njs.StripeInvoice; exports.StripeInvoiceModule = _chunkGSHMGL6Njs.StripeInvoiceModule; exports.StripeInvoiceService = _chunkGSHMGL6Njs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkGSHMGL6Njs.StripePaymentMethodModule; exports.StripePrice = _chunkGSHMGL6Njs.StripePrice; exports.StripePriceFields = _chunkGSHMGL6Njs.StripePriceFields; exports.StripePriceModule = _chunkGSHMGL6Njs.StripePriceModule; exports.StripePriceService = _chunkGSHMGL6Njs.StripePriceService; exports.StripeProduct = _chunkGSHMGL6Njs.StripeProduct; exports.StripeProductFields = _chunkGSHMGL6Njs.StripeProductFields; exports.StripeProductModule = _chunkGSHMGL6Njs.StripeProductModule; exports.StripeProductService = _chunkGSHMGL6Njs.StripeProductService; exports.StripePromotionCode = _chunkGSHMGL6Njs.StripePromotionCode; exports.StripePromotionCodeModule = _chunkGSHMGL6Njs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkGSHMGL6Njs.StripePromotionCodeService; exports.StripeSubscription = _chunkGSHMGL6Njs.StripeSubscription; exports.StripeSubscriptionModule = _chunkGSHMGL6Njs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkGSHMGL6Njs.StripeSubscriptionService; exports.StripeUsage = _chunkGSHMGL6Njs.StripeUsage; exports.StripeUsageModule = _chunkGSHMGL6Njs.StripeUsageModule; exports.StripeUsageService = _chunkGSHMGL6Njs.StripeUsageService; exports.SubscriptionStatus = _chunkGSHMGL6Njs.SubscriptionStatus; exports.TableOptions = _chunkGSHMGL6Njs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunkGSHMGL6Njs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunkGSHMGL6Njs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunkGSHMGL6Njs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunkGSHMGL6Njs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkGSHMGL6Njs.TotpAuthenticatorModule; exports.TotpSetup = _chunkGSHMGL6Njs.TotpSetup; exports.TotpSetupModule = _chunkGSHMGL6Njs.TotpSetupModule; exports.TotpVerify = _chunkGSHMGL6Njs.TotpVerify; exports.TotpVerifyLogin = _chunkGSHMGL6Njs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkGSHMGL6Njs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkGSHMGL6Njs.TotpVerifyModule; exports.TwoFactorChallenge = _chunkGSHMGL6Njs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkGSHMGL6Njs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkGSHMGL6Njs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkGSHMGL6Njs.TwoFactorEnableModule; exports.TwoFactorService = _chunkGSHMGL6Njs.TwoFactorService; exports.TwoFactorStatus = _chunkGSHMGL6Njs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkGSHMGL6Njs.TwoFactorStatusModule; exports.User = _chunkGSHMGL6Njs.User; exports.UserFields = _chunkGSHMGL6Njs.UserFields; exports.UserModule = _chunkGSHMGL6Njs.UserModule; exports.UserService = _chunkGSHMGL6Njs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkGSHMGL6Njs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkGSHMGL6Njs.Waitlist; exports.WaitlistFields = _chunkGSHMGL6Njs.WaitlistFields; exports.WaitlistModule = _chunkGSHMGL6Njs.WaitlistModule; exports.WaitlistService = _chunkGSHMGL6Njs.WaitlistService; exports.WaitlistStats = _chunkGSHMGL6Njs.WaitlistStats; exports.WaitlistStatsModule = _chunkGSHMGL6Njs.WaitlistStatsModule; exports.analyticsModules = _chunkGSHMGL6Njs.analyticsModules; exports.captureSignupSource = _chunk3P3IYUWQjs.captureSignupSource; exports.checkPermissions = _chunkGSHMGL6Njs.checkPermissions; exports.checkPermissionsFromServer = _chunkGSHMGL6Njs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkGSHMGL6Njs.clearLastApiMeta; exports.clearLastApiTotal = _chunkGSHMGL6Njs.clearLastApiTotal; exports.cn = _chunkGSHMGL6Njs.cn; exports.composeRefs = _chunkGSHMGL6Njs.composeRefs; exports.configureAuth = _chunkGSHMGL6Njs.configureAuth; exports.configureI18n = _chunkGSHMGL6Njs.configureI18n; exports.configureJsonApi = _chunk3P3IYUWQjs.configureJsonApi; exports.configureLogin = _chunk3P3IYUWQjs.configureLogin; exports.configureReferral = _chunk3P3IYUWQjs.configureReferral; exports.configureRoles = _chunkG4JR3SFVjs.configureRoles; exports.configureTokenUsage = _chunkGSHMGL6Njs.configureTokenUsage; exports.configureWaitlist = _chunk3P3IYUWQjs.configureWaitlist; exports.couponPlacesLeft = _chunkGSHMGL6Njs.couponPlacesLeft; exports.couponPlacesTotal = _chunkGSHMGL6Njs.couponPlacesTotal; exports.createJsonApiInclusion = _chunkGSHMGL6Njs.createJsonApiInclusion; exports.dateFormatLocale = _chunkGSHMGL6Njs.dateFormatLocale; exports.dismissToast = _chunkGSHMGL6Njs.dismissToast; exports.entityObjectSchema = _chunkGSHMGL6Njs.entityObjectSchema; exports.exists = _chunkGSHMGL6Njs.exists; exports.formatCodiceFiscale = _chunkGSHMGL6Njs.formatCodiceFiscale; exports.formatCouponDiscount = _chunkGSHMGL6Njs.formatCouponDiscount; exports.formatCurrency = _chunkGSHMGL6Njs.formatCurrency; exports.formatDate = _chunkGSHMGL6Njs.formatDate; exports.formatFixed = _chunkGSHMGL6Njs.formatFixed; exports.formatInterval = _chunkGSHMGL6Njs.formatInterval; exports.formatLocalDate = _chunkGSHMGL6Njs.formatLocalDate; exports.formatPartitaIva = _chunkGSHMGL6Njs.formatPartitaIva; exports.getApiUrl = _chunk3P3IYUWQjs.getApiUrl; exports.getAppUrl = _chunk3P3IYUWQjs.getAppUrl; exports.getBootstrapper = _chunkGHE4VT2Rjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkGSHMGL6Njs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkGSHMGL6Njs.getGlobalErrorHandler; exports.getIcon = _chunkGSHMGL6Njs.getIcon; exports.getIconByModule = _chunkGSHMGL6Njs.getIconByModule; exports.getIconByModuleName = _chunkGSHMGL6Njs.getIconByModuleName; exports.getInitials = _chunkGSHMGL6Njs.getInitials; exports.getLastApiMeta = _chunkGSHMGL6Njs.getLastApiMeta; exports.getLastApiTotal = _chunkGSHMGL6Njs.getLastApiTotal; exports.getLucideIcon = _chunkGSHMGL6Njs.getLucideIcon; exports.getLucideIconByModule = _chunkGSHMGL6Njs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkGSHMGL6Njs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunk3P3IYUWQjs.getPublicApiUrl; exports.getReferralConfig = _chunk3P3IYUWQjs.getReferralConfig; exports.getRoleId = _chunkG4JR3SFVjs.getRoleId; exports.getSignupSource = _chunk3P3IYUWQjs.getSignupSource; exports.getStripePublishableKey = _chunk3P3IYUWQjs.getStripePublishableKey; exports.getTableComponents = _chunkGSHMGL6Njs.getTableComponents; exports.getTableOptions = _chunkGSHMGL6Njs.getTableOptions; exports.getTokenHandler = _chunkGSHMGL6Njs.getTokenHandler; exports.getTokenUsageCurrency = _chunkGSHMGL6Njs.getTokenUsageCurrency; exports.getTrackablePages = _chunk3P3IYUWQjs.getTrackablePages; exports.getValueFromPath = _chunkGSHMGL6Njs.getValueFromPath; exports.getWaitlistConfig = _chunk3P3IYUWQjs.getWaitlistConfig; exports.handbookPageContent = _chunkGSHMGL6Njs.handbookPageContent; exports.handbookPageSummary = _chunkGSHMGL6Njs.handbookPageSummary; exports.handbookPageTitle = _chunkGSHMGL6Njs.handbookPageTitle; exports.handbookSectionSummary = _chunkGSHMGL6Njs.handbookSectionSummary; exports.handbookSectionTitle = _chunkGSHMGL6Njs.handbookSectionTitle; exports.hasBootstrapper = _chunkGHE4VT2Rjs.hasBootstrapper; exports.isReferralEnabled = _chunk3P3IYUWQjs.isReferralEnabled; exports.isRemoteImageSrc = _chunkGSHMGL6Njs.isRemoteImageSrc; exports.isRolesConfigured = _chunkG4JR3SFVjs.isRolesConfigured; exports.mergeMessages = _chunkGSHMGL6Njs.mergeMessages; exports.readSignupSourceFromLocation = _chunk3P3IYUWQjs.readSignupSourceFromLocation; exports.rehydrate = _chunkGSHMGL6Njs.rehydrate; exports.rehydrateList = _chunkGSHMGL6Njs.rehydrateList; exports.resetBootstrapStore = _chunkGHE4VT2Rjs.resetBootstrapStore; exports.setBootstrapper = _chunkGHE4VT2Rjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkGSHMGL6Njs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkGSHMGL6Njs.setGlobalErrorHandler; exports.showCustomToast = _chunkGSHMGL6Njs.showCustomToast; exports.showError = _chunkGSHMGL6Njs.showError; exports.showToast = _chunkGSHMGL6Njs.showToast; exports.toPromotionCodeResult = _chunkGSHMGL6Njs.toPromotionCodeResult; exports.tokenUsageModules = _chunkGSHMGL6Njs.tokenUsageModules; exports.translateData = _chunkGHE4VT2Rjs.translateData; exports.translateResponse = _chunkGHE4VT2Rjs.translateResponse; exports.tryBootstrap = _chunkGHE4VT2Rjs.tryBootstrap; exports.useComposedRefs = _chunkGSHMGL6Njs.useComposedRefs; exports.useIsMobile = _chunkGSHMGL6Njs.useIsMobile; exports.userObjectSchema = _chunkGSHMGL6Njs.userObjectSchema; exports.validateCodiceFiscale = _chunkGSHMGL6Njs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkGSHMGL6Njs.validateItalianTaxCode; exports.validatePartitaIva = _chunkGSHMGL6Njs.validatePartitaIva;
641
641
  //# sourceMappingURL=index.js.map
package/dist/index.mjs CHANGED
@@ -19,7 +19,7 @@ import {
19
19
  getWaitlistConfig,
20
20
  isReferralEnabled,
21
21
  readSignupSourceFromLocation
22
- } from "./chunk-JVJS5RHB.mjs";
22
+ } from "./chunk-CUNSPLOD.mjs";
23
23
  import {
24
24
  configureRoles,
25
25
  getRoleId,
@@ -306,7 +306,7 @@ import {
306
306
  validateCodiceFiscale,
307
307
  validateItalianTaxCode,
308
308
  validatePartitaIva
309
- } from "./chunk-USYZNWKS.mjs";
309
+ } from "./chunk-QKDPCZ3G.mjs";
310
310
  import {
311
311
  DataClassRegistry,
312
312
  ENV,
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkMTI2UXDAjs = require('../chunk-MTI2UXDA.js');
6
+ var _chunkUEWDYVLWjs = require('../chunk-UEWDYVLW.js');
7
7
 
8
8
 
9
9
  var _chunkIK65TDQHjs = require('../chunk-IK65TDQH.js');
@@ -35,7 +35,7 @@ require('../chunk-G4JR3SFV.js');
35
35
 
36
36
 
37
37
 
38
- var _chunkT3YQ47EFjs = require('../chunk-T3YQ47EF.js');
38
+ var _chunkGSHMGL6Njs = require('../chunk-GSHMGL6N.js');
39
39
  require('../chunk-GHE4VT2R.js');
40
40
  require('../chunk-LXKSUWAV.js');
41
41
  require('../chunk-JTPRJNT2.js');
@@ -66,5 +66,5 @@ require('../chunk-7QVYU63E.js');
66
66
 
67
67
 
68
68
 
69
- exports.CACHE_PROFILES = _chunkIK65TDQHjs.CACHE_PROFILES; exports.ServerAuthService = _chunkT3YQ47EFjs.AuthService; exports.ServerCompanyService = _chunkT3YQ47EFjs.CompanyService; exports.ServerContentService = _chunkT3YQ47EFjs.ContentService; exports.ServerFeatureService = _chunkT3YQ47EFjs.FeatureService; exports.ServerJsonApiDelete = _chunkKSYQEKJXjs.ServerJsonApiDelete; exports.ServerJsonApiGet = _chunkKSYQEKJXjs.ServerJsonApiGet; exports.ServerJsonApiPatch = _chunkKSYQEKJXjs.ServerJsonApiPatch; exports.ServerJsonApiPost = _chunkKSYQEKJXjs.ServerJsonApiPost; exports.ServerJsonApiPut = _chunkKSYQEKJXjs.ServerJsonApiPut; exports.ServerNotificationService = _chunkT3YQ47EFjs.NotificationService; exports.ServerPushService = _chunkT3YQ47EFjs.PushService; exports.ServerRoleService = _chunkT3YQ47EFjs.RoleService; exports.ServerS3Service = _chunkT3YQ47EFjs.S3Service; exports.ServerSession = _chunkMTI2UXDAjs.ServerSession; exports.ServerUserService = _chunkT3YQ47EFjs.UserService; exports.configureServerJsonApi = _chunkKSYQEKJXjs.configureServerJsonApi; exports.getServerApiUrl = _chunkKSYQEKJXjs.getServerApiUrl; exports.getServerAppUrl = _chunkKSYQEKJXjs.getServerAppUrl; exports.getServerToken = _chunkYUO55Q5Ajs.getServerToken; exports.getServerTrackablePages = _chunkKSYQEKJXjs.getServerTrackablePages; exports.invalidateCacheTag = _chunkMTI2UXDAjs.invalidateCacheTag; exports.invalidateCacheTags = _chunkMTI2UXDAjs.invalidateCacheTags; exports.serverRequest = _chunk6TUB7Y6Tjs.serverRequest; exports.updateCacheTag = _chunkMTI2UXDAjs.updateCacheTag;
69
+ exports.CACHE_PROFILES = _chunkIK65TDQHjs.CACHE_PROFILES; exports.ServerAuthService = _chunkGSHMGL6Njs.AuthService; exports.ServerCompanyService = _chunkGSHMGL6Njs.CompanyService; exports.ServerContentService = _chunkGSHMGL6Njs.ContentService; exports.ServerFeatureService = _chunkGSHMGL6Njs.FeatureService; exports.ServerJsonApiDelete = _chunkKSYQEKJXjs.ServerJsonApiDelete; exports.ServerJsonApiGet = _chunkKSYQEKJXjs.ServerJsonApiGet; exports.ServerJsonApiPatch = _chunkKSYQEKJXjs.ServerJsonApiPatch; exports.ServerJsonApiPost = _chunkKSYQEKJXjs.ServerJsonApiPost; exports.ServerJsonApiPut = _chunkKSYQEKJXjs.ServerJsonApiPut; exports.ServerNotificationService = _chunkGSHMGL6Njs.NotificationService; exports.ServerPushService = _chunkGSHMGL6Njs.PushService; exports.ServerRoleService = _chunkGSHMGL6Njs.RoleService; exports.ServerS3Service = _chunkGSHMGL6Njs.S3Service; exports.ServerSession = _chunkUEWDYVLWjs.ServerSession; exports.ServerUserService = _chunkGSHMGL6Njs.UserService; exports.configureServerJsonApi = _chunkKSYQEKJXjs.configureServerJsonApi; exports.getServerApiUrl = _chunkKSYQEKJXjs.getServerApiUrl; exports.getServerAppUrl = _chunkKSYQEKJXjs.getServerAppUrl; exports.getServerToken = _chunkYUO55Q5Ajs.getServerToken; exports.getServerTrackablePages = _chunkKSYQEKJXjs.getServerTrackablePages; exports.invalidateCacheTag = _chunkUEWDYVLWjs.invalidateCacheTag; exports.invalidateCacheTags = _chunkUEWDYVLWjs.invalidateCacheTags; exports.serverRequest = _chunk6TUB7Y6Tjs.serverRequest; exports.updateCacheTag = _chunkUEWDYVLWjs.updateCacheTag;
70
70
  //# sourceMappingURL=index.js.map
@@ -3,7 +3,7 @@ import {
3
3
  invalidateCacheTag,
4
4
  invalidateCacheTags,
5
5
  updateCacheTag
6
- } from "../chunk-GFGKMUPZ.mjs";
6
+ } from "../chunk-HLW3SUMD.mjs";
7
7
  import {
8
8
  CACHE_PROFILES
9
9
  } from "../chunk-T7SAW3UW.mjs";
@@ -35,7 +35,7 @@ import {
35
35
  RoleService,
36
36
  S3Service,
37
37
  UserService
38
- } from "../chunk-USYZNWKS.mjs";
38
+ } from "../chunk-QKDPCZ3G.mjs";
39
39
  import "../chunk-V5MI7RNB.mjs";
40
40
  import "../chunk-AUXK7QSA.mjs";
41
41
  import "../chunk-PI56A4DG.mjs";
package/messages/en.json CHANGED
@@ -1776,17 +1776,40 @@
1776
1776
  "empty": "No usage recorded in this period"
1777
1777
  },
1778
1778
  "types": {
1779
+ "analyser": "Analysis",
1780
+ "blogSummary": "Blog summaries",
1781
+ "blogTranslation": "Blog translations",
1779
1782
  "communitySummariser": "Community overviews",
1783
+ "counterpartIdentificator": "Counterpart identification",
1780
1784
  "customer": "Customer",
1781
1785
  "embedding": "Search indexing",
1786
+ "ethicist": "Ethics review",
1782
1787
  "graphCreator": "Connection mapping",
1788
+ "imageAnalysis": "Image analysis",
1783
1789
  "imageGeneration": "Image generation",
1784
1790
  "operator": "Assistant actions",
1785
1791
  "platform": "Platform",
1786
1792
  "responder": "Assistant answers",
1793
+ "retrievalEval": "Search quality tests",
1794
+ "strategy": "Strategy",
1787
1795
  "summariser": "Summarisation",
1788
1796
  "textGeneration": "Text generation",
1789
1797
  "transcription": "Transcription"
1798
+ },
1799
+ "type_descriptions": {
1800
+ "blogSummary": "Writes the summary of each blog post.",
1801
+ "blogTranslation": "Translates blog posts and their categories into the other languages.",
1802
+ "communitySummariser": "Writes an overview of each group of related content.",
1803
+ "embedding": "Turns content into search vectors, so search and the assistant can find it.",
1804
+ "graphCreator": "Reads new content and extracts its facts and the connections between the people, places and things it mentions.",
1805
+ "imageAnalysis": "Reads the images inside uploaded documents so their content can be searched.",
1806
+ "imageGeneration": "Creates images from a written description.",
1807
+ "operator": "Actions the assistant carries out, such as searching or changing content.",
1808
+ "responder": "The assistant's answers to questions.",
1809
+ "retrievalEval": "Grades search quality during internal tests. Never started by customers.",
1810
+ "summariser": "Writes summaries of processed content.",
1811
+ "textGeneration": "AI writing in the editor, plus any AI call that does not record a more specific category.",
1812
+ "transcription": "Turns recorded audio into text."
1790
1813
  }
1791
1814
  },
1792
1815
  "ui": {
package/messages/it.json CHANGED
@@ -1776,17 +1776,40 @@
1776
1776
  "empty": "Nessun utilizzo registrato in questo periodo"
1777
1777
  },
1778
1778
  "types": {
1779
+ "analyser": "Analisi",
1780
+ "blogSummary": "Riassunti del blog",
1781
+ "blogTranslation": "Traduzioni del blog",
1779
1782
  "communitySummariser": "Panoramiche delle comunità",
1783
+ "counterpartIdentificator": "Identificazione delle controparti",
1780
1784
  "customer": "Cliente",
1781
1785
  "embedding": "Indicizzazione per la ricerca",
1786
+ "ethicist": "Revisione etica",
1782
1787
  "graphCreator": "Mappatura dei collegamenti",
1788
+ "imageAnalysis": "Analisi delle immagini",
1783
1789
  "imageGeneration": "Generazione di immagini",
1784
1790
  "operator": "Azioni dell'assistente",
1785
1791
  "platform": "Piattaforma",
1786
1792
  "responder": "Risposte dell'assistente",
1793
+ "retrievalEval": "Test di qualità della ricerca",
1794
+ "strategy": "Strategia",
1787
1795
  "summariser": "Riassunti",
1788
1796
  "textGeneration": "Generazione di testo",
1789
1797
  "transcription": "Trascrizione"
1798
+ },
1799
+ "type_descriptions": {
1800
+ "blogSummary": "Scrive il riassunto di ogni articolo del blog.",
1801
+ "blogTranslation": "Traduce gli articoli del blog e le loro categorie nelle altre lingue.",
1802
+ "communitySummariser": "Scrive una panoramica di ogni gruppo di contenuti collegati.",
1803
+ "embedding": "Trasforma i contenuti in vettori di ricerca, così la ricerca e l'assistente possono trovarli.",
1804
+ "graphCreator": "Legge i nuovi contenuti ed estrae i fatti e i collegamenti tra le persone, i luoghi e le cose citate.",
1805
+ "imageAnalysis": "Legge le immagini dentro i documenti caricati, così il loro contenuto diventa ricercabile.",
1806
+ "imageGeneration": "Crea immagini a partire da una descrizione scritta.",
1807
+ "operator": "Le azioni svolte dall'assistente, come cercare o modificare contenuti.",
1808
+ "responder": "Le risposte dell'assistente alle domande.",
1809
+ "retrievalEval": "Valuta la qualità della ricerca durante i test interni. Mai avviato dai clienti.",
1810
+ "summariser": "Scrive i riassunti dei contenuti elaborati.",
1811
+ "textGeneration": "La scrittura con l'AI nell'editor, più ogni chiamata AI che non registra una categoria più specifica.",
1812
+ "transcription": "Trasforma l'audio registrato in testo."
1790
1813
  }
1791
1814
  },
1792
1815
  "ui": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carlonicora/nextjs-jsonapi",
3
- "version": "6.0.0",
3
+ "version": "6.2.0",
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",
@@ -35,7 +35,10 @@ export const APP_PROVIDED_KEYS = [
35
35
  // Token-usage operation types an app backend defines (operation-label.ts: the
36
36
  // app supplies this vocabulary, unknown types render raw). Only the types the
37
37
  // backend library emits, plus its customer/platform scopes, ship.
38
- /^token_usage\.types\.(?!(?:analyser|communitySummariser|counterpartIdentificator|customer|embedding|ethicist|graphCreator|imageAnalysis|imageGeneration|operator|platform|responder|strategy|summariser|textGeneration|transcription)$)/,
38
+ /^token_usage\.types\.(?!(?:analyser|blogSummary|blogTranslation|communitySummariser|counterpartIdentificator|customer|embedding|ethicist|graphCreator|imageAnalysis|imageGeneration|operator|platform|responder|retrievalEval|strategy|summariser|textGeneration|transcription)$)/,
39
+ // Their optional explanations (operation-label.ts operationDescription): same
40
+ // rule, only the library-emitted types ship one.
41
+ /^token_usage\.type_descriptions\.(?!(?:analyser|blogSummary|blogTranslation|communitySummariser|counterpartIdentificator|embedding|ethicist|graphCreator|imageAnalysis|imageGeneration|operator|responder|retrievalEval|strategy|summariser|textGeneration|transcription)$)/,
39
42
  ];
40
43
 
41
44
  // Values the app-word rule would flag although the word is the library's own
@@ -20,7 +20,13 @@ type Attribution = Pick<
20
20
  >;
21
21
 
22
22
  type AnalyticsTrackerProps = {
23
- hasConsent: boolean;
23
+ /**
24
+ * `undefined` while the app has not read its consent store yet: the tracker sends
25
+ * nothing and leaves the visitor cookie alone. `false` when there is no consent
26
+ * (refused or not chosen yet): the cookie is cleared and page views go out without
27
+ * an id. Never pass `false` as a placeholder for "not read yet".
28
+ */
29
+ hasConsent?: boolean;
24
30
  resolveSection: (pathname: string) => "public" | "app";
25
31
  sensitivePrefixes?: string[];
26
32
  };
@@ -63,11 +69,16 @@ function maskSensitivePath(path: string, sensitivePrefixes: string[] | undefined
63
69
  export function AnalyticsTracker({ hasConsent, resolveSection, sensitivePrefixes }: AnalyticsTrackerProps): null {
64
70
  const pathname = usePathname();
65
71
  const lastPath = useRef<string | null>(null);
66
- const lastConsent = useRef<boolean>(false);
72
+ // The last consent value the app actually read. `undefined` until then, so a page
73
+ // load with consent already stored is never mistaken for the Accept click.
74
+ const lastKnownConsent = useRef<boolean | undefined>(undefined);
67
75
  const attribution = useRef<Attribution | null>(null);
68
76
 
69
77
  useEffect(() => {
70
- if (!hasConsent) clearVisitorCookie();
78
+ // Consent not read yet: send nothing and keep the cookie, or a visitor who
79
+ // already accepted would lose their id on every tracker mount.
80
+ if (hasConsent === undefined) return;
81
+ if (hasConsent === false) clearVisitorCookie();
71
82
 
72
83
  if (!pathname) return;
73
84
  if (typeof navigator !== "undefined" && navigator.webdriver) return;
@@ -75,12 +86,13 @@ export function AnalyticsTracker({ hasConsent, resolveSection, sensitivePrefixes
75
86
  const path = pathname.split(/[?#]/)[0] || "/";
76
87
  if (path.startsWith(EXCLUDED_PREFIX)) return;
77
88
 
78
- // One event per distinct path. The same path is sent again only when consent
79
- // was just granted, so the processor starts a new visitor on the cookie id.
89
+ // One event per distinct path. The same path is sent again only when the
90
+ // visitor clicks Accept (a known `false` turning `true`), flagged so the API
91
+ // moves the open cookieless session onto the cookie id.
80
92
  const isNewPath = lastPath.current !== path;
81
- const consentJustGranted = hasConsent && !lastConsent.current;
82
- lastConsent.current = hasConsent;
83
- if (!isNewPath && !consentJustGranted) return;
93
+ const consentGranted = hasConsent === true && lastKnownConsent.current === false;
94
+ lastKnownConsent.current = hasConsent;
95
+ if (!isNewPath && !consentGranted) return;
84
96
  lastPath.current = path;
85
97
 
86
98
  const sentPath = maskSensitivePath(path, sensitivePrefixes);
@@ -93,6 +105,7 @@ export function AnalyticsTracker({ hasConsent, resolveSection, sensitivePrefixes
93
105
  };
94
106
 
95
107
  if (hasConsent) input.visitorId = ensureVisitorCookie();
108
+ if (consentGranted) input.consentGranted = true;
96
109
 
97
110
  // The first event of the page load carries the attribution. The event sent
98
111
  // because consent was just granted carries it again, so the session opened
@@ -102,7 +115,7 @@ export function AnalyticsTracker({ hasConsent, resolveSection, sensitivePrefixes
102
115
  const referrer = readExternalReferrer();
103
116
  attribution.current = { ...(referrer ? { referrer } : {}), ...readUtm(window.location.search) };
104
117
  }
105
- if (isFirstEvent || consentJustGranted) Object.assign(input, attribution.current);
118
+ if (isFirstEvent || consentGranted) Object.assign(input, attribution.current);
106
119
 
107
120
  // AnalyticsService.track never rejects: it logs and swallows its own failures.
108
121
  void AnalyticsService.track(input);
@@ -215,6 +215,73 @@ describe("AnalyticsTracker", () => {
215
215
  expect(eventAt(1)).toEqual(expect.objectContaining({ path: "/pricing", visitorId: expect.stringMatching(UUID) }));
216
216
  });
217
217
 
218
+ it("sends nothing and keeps the cookie while consent is unknown", () => {
219
+ document.cookie = "analytics_visitor=keep-me; path=/";
220
+ mocks.pathname = "/";
221
+ const { rerender } = render(<AnalyticsTracker hasConsent={undefined} resolveSection={publicSection} />);
222
+
223
+ mocks.pathname = "/pricing";
224
+ rerender(<AnalyticsTracker hasConsent={undefined} resolveSection={publicSection} />);
225
+
226
+ expect(mocks.track).not.toHaveBeenCalled();
227
+ expect(document.cookie).toContain("analytics_visitor=keep-me");
228
+
229
+ rerender(<AnalyticsTracker hasConsent={true} resolveSection={publicSection} />);
230
+
231
+ expect(mocks.track).toHaveBeenCalledTimes(1);
232
+ expect(eventAt(0).path).toBe("/pricing");
233
+ });
234
+
235
+ it("keeps the existing cookie id when unknown consent resolves to accepted", () => {
236
+ document.cookie = "analytics_visitor=keep-me; path=/";
237
+ mocks.pathname = "/pricing";
238
+ const { rerender } = render(<AnalyticsTracker hasConsent={undefined} resolveSection={publicSection} />);
239
+ rerender(<AnalyticsTracker hasConsent={true} resolveSection={publicSection} />);
240
+
241
+ expect(mocks.track).toHaveBeenCalledTimes(1);
242
+ expect(eventAt(0)).toEqual(expect.objectContaining({ visitorId: "keep-me" }));
243
+ expect(eventAt(0)).not.toHaveProperty("consentGranted");
244
+ });
245
+
246
+ it("clears the cookie once unknown consent resolves to refused", () => {
247
+ document.cookie = "analytics_visitor=keep-me; path=/";
248
+ mocks.pathname = "/pricing";
249
+ const { rerender } = render(<AnalyticsTracker hasConsent={undefined} resolveSection={publicSection} />);
250
+
251
+ expect(mocks.track).not.toHaveBeenCalled();
252
+ expect(document.cookie).toContain("analytics_visitor=keep-me");
253
+
254
+ rerender(<AnalyticsTracker hasConsent={false} resolveSection={publicSection} />);
255
+
256
+ expect(mocks.track).toHaveBeenCalledTimes(1);
257
+ expect(eventAt(0).visitorId).toBeUndefined();
258
+ expect(document.cookie).not.toContain("analytics_visitor");
259
+ });
260
+
261
+ it("carries attribution on the first known event", () => {
262
+ setReferrer("https://elsewhere.example/");
263
+ mocks.pathname = "/pricing";
264
+ const { rerender } = render(<AnalyticsTracker hasConsent={undefined} resolveSection={publicSection} />);
265
+ rerender(<AnalyticsTracker hasConsent={true} resolveSection={publicSection} />);
266
+
267
+ expect(mocks.track).toHaveBeenCalledTimes(1);
268
+ expect(eventAt(0)).toEqual(
269
+ expect.objectContaining({ referrer: "https://elsewhere.example/", visitorId: expect.stringMatching(UUID) }),
270
+ );
271
+ });
272
+
273
+ it("flags the accept click", () => {
274
+ mocks.pathname = "/pricing";
275
+ const { rerender } = render(<AnalyticsTracker hasConsent={false} resolveSection={publicSection} />);
276
+ rerender(<AnalyticsTracker hasConsent={true} resolveSection={publicSection} />);
277
+
278
+ expect(mocks.track).toHaveBeenCalledTimes(2);
279
+ expect(eventAt(0)).not.toHaveProperty("consentGranted");
280
+ expect(eventAt(1)).toEqual(
281
+ expect.objectContaining({ consentGranted: true, visitorId: expect.stringMatching(UUID) }),
282
+ );
283
+ });
284
+
218
285
  it("skips automated browsers and the analytics admin pages", () => {
219
286
  setWebdriver(true);
220
287
  mocks.pathname = "/pricing";
@@ -212,6 +212,19 @@ describe("analytics models — createJsonApi", () => {
212
212
  expect(Object.keys(doc.data.relationships ?? {})).toHaveLength(0);
213
213
  });
214
214
 
215
+ it("serialises consentGranted only when given", () => {
216
+ const flagged = new AnalyticsEvent().createJsonApi({
217
+ id: "e2",
218
+ path: "/",
219
+ section: "public",
220
+ consentGranted: true,
221
+ });
222
+ const plain = new AnalyticsEvent().createJsonApi({ id: "e3", path: "/", section: "public" });
223
+
224
+ expect(flagged.data.attributes.consentGranted).toBe(true);
225
+ expect(plain.data.attributes).not.toHaveProperty("consentGranted");
226
+ });
227
+
215
228
  it("serialises a summary back to a JSON:API resource object", () => {
216
229
  const doc = new AnalyticsSummary().createJsonApi({
217
230
  id: "all|current",
@@ -57,6 +57,7 @@ export class AnalyticsEvent extends AbstractApiData implements AnalyticsEventInt
57
57
  if (data.utmContent !== undefined) response.data.attributes.utmContent = data.utmContent;
58
58
  if (data.visitorId !== undefined) response.data.attributes.visitorId = data.visitorId;
59
59
  if (data.screenWidth !== undefined) response.data.attributes.screenWidth = data.screenWidth;
60
+ if (data.consentGranted !== undefined) response.data.attributes.consentGranted = data.consentGranted;
60
61
 
61
62
  return response;
62
63
  }
@@ -31,6 +31,8 @@ export type AnalyticsEventInput = {
31
31
  utmContent?: string;
32
32
  visitorId?: string;
33
33
  screenWidth?: number;
34
+ /** True only on the event sent by the Accept click: the API adopts the open cookieless session. */
35
+ consentGranted?: boolean;
34
36
  };
35
37
 
36
38
  // Input types for the read-only models' createJsonApi(). `id` is always
@@ -1,10 +1,11 @@
1
1
  "use client";
2
2
 
3
3
  import { useTranslations } from "next-intl";
4
+ import { Tooltip, TooltipContent, TooltipTrigger } from "../../../shadcnui";
4
5
  import type { Metric } from "../data/tokenusage-admin.types";
5
6
  import { useUsageFormatters } from "../lib/formatters";
6
7
  import { metricValue, type TokenUsageMetrics } from "../lib/metrics";
7
- import { operationLabel } from "../lib/operation-label";
8
+ import { operationDescription, operationLabel } from "../lib/operation-label";
8
9
  import { SEQUENTIAL_RAMP } from "../lib/palette";
9
10
 
10
11
  /**
@@ -65,6 +66,37 @@ export function TokenUsageRankedBar({ rows, metric, emptyLabel, labelsAreOperati
65
66
  );
66
67
  };
67
68
 
69
+ const renderDescription = (row: TokenUsageRankedRow): string | undefined => {
70
+ if (row.id === "other" || !labelsAreOperationTypes) return undefined;
71
+ return operationDescription(
72
+ row.label,
73
+ (key) => t(key),
74
+ (key) => t.has(key),
75
+ );
76
+ };
77
+
78
+ // An operation type the app explains gets its explanation on hover; every
79
+ // other label (names, the folded "other" row) renders as plain text.
80
+ const renderLabelCell = (row: TokenUsageRankedRow) => {
81
+ const label = <span className="text-muted-foreground truncate text-xs">{renderLabel(row)}</span>;
82
+ const description = renderDescription(row);
83
+ if (!description) return label;
84
+ return (
85
+ <Tooltip>
86
+ <TooltipTrigger
87
+ data-testid={`ranked-description-${row.id}`}
88
+ className="min-w-0 cursor-help justify-self-start truncate"
89
+ render={<div />}
90
+ >
91
+ {label}
92
+ </TooltipTrigger>
93
+ <TooltipContent side="top" className="max-w-xs">
94
+ <p className="text-xs">{description}</p>
95
+ </TooltipContent>
96
+ </Tooltip>
97
+ );
98
+ };
99
+
68
100
  if (rows.length === 0) {
69
101
  return <p className="text-muted-foreground py-6 text-center text-sm">{emptyLabel}</p>;
70
102
  }
@@ -89,7 +121,7 @@ export function TokenUsageRankedBar({ rows, metric, emptyLabel, labelsAreOperati
89
121
  return (
90
122
  <div key={row.id} className="grid grid-cols-[minmax(0,1fr)_auto_auto] items-center gap-x-3 gap-y-0.5 py-0.5">
91
123
  <div className="grid min-w-0 gap-0.5">
92
- <span className="text-muted-foreground truncate text-xs">{renderLabel(row)}</span>
124
+ {renderLabelCell(row)}
93
125
  {/* The bar itself is a magnitude drawn on an axis, not prose: it always grows
94
126
  rightward and only its trailing corner is rounded, so the track and its fill
95
127
  stay an LTR island. The label, value and share around it mirror normally.
@@ -40,4 +40,26 @@ describe("TokenUsageRankedBar", () => {
40
40
  expect(new Set(colours).size).toBe(3);
41
41
  expect(colours).toEqual(["0", "1", "2"]);
42
42
  });
43
+
44
+ it("puts the operation description behind a tooltip on operation rows, never on the folded tail", () => {
45
+ render(
46
+ <TokenUsageRankedBar
47
+ rows={[row("blog_translation", "blog_translation", 3), row("other", "other", 1)]}
48
+ metric="cost"
49
+ emptyLabel="nessun dato"
50
+ labelsAreOperationTypes
51
+ />,
52
+ );
53
+
54
+ expect(screen.getByTestId("ranked-description-blog_translation")).toHaveTextContent(
55
+ "token_usage.types.blogTranslation",
56
+ );
57
+ expect(screen.queryByTestId("ranked-description-other")).not.toBeInTheDocument();
58
+ });
59
+
60
+ it("renders entity names without a tooltip", () => {
61
+ render(<TokenUsageRankedBar rows={[row("a", "Studio Rossi", 1)]} metric="cost" emptyLabel="nessun dato" />);
62
+ expect(screen.queryByTestId("ranked-description-a")).not.toBeInTheDocument();
63
+ expect(screen.getByText("Studio Rossi")).toBeInTheDocument();
64
+ });
43
65
  });
@@ -8,6 +8,13 @@
8
8
  */
9
9
  export const OPERATION_LABEL_NAMESPACE = "token_usage.types";
10
10
 
11
+ /**
12
+ * Sibling namespace for an optional one-line explanation of each operation
13
+ * type, keyed exactly like `OPERATION_LABEL_NAMESPACE`. A type without an entry
14
+ * simply has no explanation — nothing falls back to the raw key here.
15
+ */
16
+ export const OPERATION_DESCRIPTION_NAMESPACE = "token_usage.type_descriptions";
17
+
11
18
  /**
12
19
  * `snake_case` / `kebab-case` → `camelCase`, the shape the i18n keys use.
13
20
  *
@@ -39,3 +46,16 @@ export const operationLabel = (
39
46
  const key = `${OPERATION_LABEL_NAMESPACE}.${toCamelCase(type)}`;
40
47
  return has(key) ? translate(key) : type;
41
48
  };
49
+
50
+ /**
51
+ * Resolves an operation type to its explanation, or `undefined` when the
52
+ * consuming app (or the package) provides none.
53
+ */
54
+ export const operationDescription = (
55
+ type: string,
56
+ translate: (key: string) => string,
57
+ has: (key: string) => boolean,
58
+ ): string | undefined => {
59
+ const key = `${OPERATION_DESCRIPTION_NAMESPACE}.${toCamelCase(type)}`;
60
+ return has(key) ? translate(key) : undefined;
61
+ };