@carlonicora/nextjs-jsonapi 1.141.3 → 1.143.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 (117) hide show
  1. package/dist/AbstractService-B0T7h8fX.d.mts +124 -0
  2. package/dist/AbstractService-Cew0PD0L.d.ts +124 -0
  3. package/dist/{AssistantMessageInterface-DH1QwtC_.d.mts → AssistantMessageInterface-Ce8FcllX.d.mts} +1 -1
  4. package/dist/{AssistantMessageInterface-giWvsOrX.d.ts → AssistantMessageInterface-Dh0BpbP2.d.ts} +1 -1
  5. package/dist/{AuthComponent-DdxCFgUZ.d.mts → AuthComponent-Cik96ElA.d.mts} +1 -1
  6. package/dist/{AuthComponent-Cd7lcYif.d.ts → AuthComponent-DTTKu3VK.d.ts} +1 -1
  7. package/dist/{BlockNoteEditor-JTKEBS2W.mjs → BlockNoteEditor-34QM4UR5.mjs} +4 -4
  8. package/dist/{BlockNoteEditor-4OXY6BKF.js → BlockNoteEditor-LMKWUOJG.js} +19 -19
  9. package/dist/{BlockNoteEditor-4OXY6BKF.js.map → BlockNoteEditor-LMKWUOJG.js.map} +1 -1
  10. package/dist/{auth.interface-yivTb46w.d.ts → auth.interface-COmBjh89.d.ts} +1 -1
  11. package/dist/{auth.interface-r3XKYOrQ.d.mts → auth.interface-CkmZqat3.d.mts} +1 -1
  12. package/dist/billing/index.js +357 -357
  13. package/dist/billing/index.mjs +3 -3
  14. package/dist/{chunk-5GVY2M5X.mjs → chunk-BIL2WQEV.mjs} +264 -18
  15. package/dist/chunk-BIL2WQEV.mjs.map +1 -0
  16. package/dist/{chunk-AGKZCRG2.js → chunk-DS4IBFWA.js} +269 -23
  17. package/dist/chunk-DS4IBFWA.js.map +1 -0
  18. package/dist/{chunk-4TGGHNWL.js → chunk-F6PZZ4KI.js} +752 -752
  19. package/dist/chunk-F6PZZ4KI.js.map +1 -0
  20. package/dist/{chunk-KXTTYXJ6.mjs → chunk-HN5ED7OF.mjs} +2 -2
  21. package/dist/{chunk-K76QSQTC.mjs → chunk-UGSOBBZH.mjs} +28 -28
  22. package/dist/chunk-UGSOBBZH.mjs.map +1 -0
  23. package/dist/{chunk-SE2YSAER.js → chunk-UXJAS6C5.js} +7 -7
  24. package/dist/{chunk-SE2YSAER.js.map → chunk-UXJAS6C5.js.map} +1 -1
  25. package/dist/client/index.d.mts +5 -5
  26. package/dist/client/index.d.ts +5 -5
  27. package/dist/client/index.js +4 -4
  28. package/dist/client/index.mjs +3 -3
  29. package/dist/components/index.d.mts +6 -6
  30. package/dist/components/index.d.ts +6 -6
  31. package/dist/components/index.js +4 -4
  32. package/dist/components/index.mjs +3 -3
  33. package/dist/{config-BrkU_Ynz.d.ts → config-Cd5xTEfZ.d.ts} +1 -1
  34. package/dist/{config-snd2ToEB.d.mts → config-YyhFHxkU.d.mts} +1 -1
  35. package/dist/contexts/index.d.mts +4 -4
  36. package/dist/contexts/index.d.ts +4 -4
  37. package/dist/contexts/index.js +4 -4
  38. package/dist/contexts/index.mjs +3 -3
  39. package/dist/core/index.d.mts +24 -60
  40. package/dist/core/index.d.ts +24 -60
  41. package/dist/core/index.js +8 -2
  42. package/dist/core/index.js.map +1 -1
  43. package/dist/core/index.mjs +7 -1
  44. package/dist/features/help/index.d.mts +2 -2
  45. package/dist/features/help/index.d.ts +2 -2
  46. package/dist/features/help/index.js +37 -37
  47. package/dist/features/help/index.mjs +3 -3
  48. package/dist/features/tokenusage/index.css +29 -0
  49. package/dist/features/tokenusage/index.css.map +1 -0
  50. package/dist/features/tokenusage/index.d.mts +388 -0
  51. package/dist/features/tokenusage/index.d.ts +388 -0
  52. package/dist/features/tokenusage/index.js +1012 -0
  53. package/dist/features/tokenusage/index.js.map +1 -0
  54. package/dist/features/tokenusage/index.mjs +1012 -0
  55. package/dist/features/tokenusage/index.mjs.map +1 -0
  56. package/dist/index.d.mts +11 -9
  57. package/dist/index.d.ts +11 -9
  58. package/dist/index.js +9 -3
  59. package/dist/index.js.map +1 -1
  60. package/dist/index.mjs +8 -2
  61. package/dist/{notification.interface-LKFmZndR.d.ts → notification.interface--27exGde.d.ts} +6 -6
  62. package/dist/{notification.interface-B3kNUTZs.d.mts → notification.interface-CG1vqoxg.d.mts} +6 -6
  63. package/dist/{s3.service-BrmeMjtk.d.ts → s3.service-CpwA3sl_.d.ts} +4 -125
  64. package/dist/{s3.service-CXKV_OT-.d.mts → s3.service-Dt6MfuHr.d.mts} +4 -125
  65. package/dist/server/index.d.mts +5 -4
  66. package/dist/server/index.d.ts +5 -4
  67. package/dist/server/index.js +3 -3
  68. package/dist/server/index.mjs +1 -1
  69. package/dist/tokenusage-admin.module-5wJ_tZTj.d.ts +61 -0
  70. package/dist/tokenusage-admin.module-DQVT4O4j.d.mts +61 -0
  71. package/dist/{types-CQSjy7et.d.mts → types-Bq_UA8Lg.d.mts} +1 -1
  72. package/dist/{types-DHOxe8rc.d.ts → types-bsm8Fp55.d.ts} +1 -1
  73. package/dist/{usePageUrlGenerator-tjq2mlDV.d.ts → usePageUrlGenerator-J_ECv-oQ.d.ts} +1 -1
  74. package/dist/{usePageUrlGenerator-uOnyJ6j2.d.mts → usePageUrlGenerator-uKBjAKqC.d.mts} +1 -1
  75. package/dist/{useSocket-BsbaGPqE.d.ts → useSocket-DgGAQW6h.d.ts} +1 -1
  76. package/dist/{useSocket-BSjn1Rlb.d.mts → useSocket-M3YY0aTS.d.mts} +1 -1
  77. package/package.json +6 -1
  78. package/src/core/index.ts +5 -0
  79. package/src/core/registry/ModuleRegistry.ts +4 -0
  80. package/src/features/company/components/details/TokenStatusIndicator.tsx +9 -9
  81. package/src/features/company/data/company.interface.ts +6 -6
  82. package/src/features/company/data/company.ts +17 -17
  83. package/src/features/tokenusage/components/TokenUsageAdminContainer.tsx +189 -0
  84. package/src/features/tokenusage/components/TokenUsageAdminFilterBar.tsx +138 -0
  85. package/src/features/tokenusage/components/TokenUsageAdminTiles.tsx +177 -0
  86. package/src/features/tokenusage/components/TokenUsageBreakdownTable.tsx +160 -0
  87. package/src/features/tokenusage/components/TokenUsageRankedBar.tsx +99 -0
  88. package/src/features/tokenusage/components/TokenUsageTimelineChart.tsx +225 -0
  89. package/src/features/tokenusage/components/__tests__/TokenUsageAdminTiles.spec.tsx +42 -0
  90. package/src/features/tokenusage/components/__tests__/TokenUsageRankedBar.spec.tsx +41 -0
  91. package/src/features/tokenusage/components/__tests__/TokenUsageTimelineChart.spec.tsx +47 -0
  92. package/src/features/tokenusage/contexts/TokenUsageAdminContext.tsx +252 -0
  93. package/src/features/tokenusage/contexts/__tests__/TokenUsageAdminContext.spec.tsx +80 -0
  94. package/src/features/tokenusage/data/TokenUsageAdminService.ts +54 -0
  95. package/src/features/tokenusage/data/__tests__/tokenusage-admin-models.spec.ts +147 -0
  96. package/src/features/tokenusage/data/index.ts +8 -0
  97. package/src/features/tokenusage/data/tokenusage-admin-breakdown.interface.ts +18 -0
  98. package/src/features/tokenusage/data/tokenusage-admin-breakdown.ts +115 -0
  99. package/src/features/tokenusage/data/tokenusage-admin-summary.interface.ts +14 -0
  100. package/src/features/tokenusage/data/tokenusage-admin-summary.ts +90 -0
  101. package/src/features/tokenusage/data/tokenusage-admin-timeline.interface.ts +13 -0
  102. package/src/features/tokenusage/data/tokenusage-admin-timeline.ts +94 -0
  103. package/src/features/tokenusage/data/tokenusage-admin.types.ts +56 -0
  104. package/src/features/tokenusage/i18n-keys.ts +65 -0
  105. package/src/features/tokenusage/index.ts +30 -0
  106. package/src/features/tokenusage/lib/metrics.ts +69 -0
  107. package/src/features/tokenusage/lib/operation-label.ts +41 -0
  108. package/src/features/tokenusage/lib/palette.ts +197 -0
  109. package/src/features/tokenusage/tokenusage-admin.module.ts +22 -0
  110. package/src/features/user/contexts/CurrentUserContext.tsx +18 -18
  111. package/src/features/user/contexts/__tests__/CurrentUserContext.spec.tsx +21 -21
  112. package/dist/chunk-4TGGHNWL.js.map +0 -1
  113. package/dist/chunk-5GVY2M5X.mjs.map +0 -1
  114. package/dist/chunk-AGKZCRG2.js.map +0 -1
  115. package/dist/chunk-K76QSQTC.mjs.map +0 -1
  116. /package/dist/{BlockNoteEditor-JTKEBS2W.mjs.map → BlockNoteEditor-34QM4UR5.mjs.map} +0 -0
  117. /package/dist/{chunk-KXTTYXJ6.mjs.map → chunk-HN5ED7OF.mjs.map} +0 -0
@@ -2,7 +2,7 @@ import {
2
2
  AbstractService,
3
3
  EndpointCreator,
4
4
  Modules
5
- } from "./chunk-5GVY2M5X.mjs";
5
+ } from "./chunk-BIL2WQEV.mjs";
6
6
  import {
7
7
  setBootstrapper
8
8
  } from "./chunk-Z2CB63VG.mjs";
@@ -296,4 +296,4 @@ export {
296
296
  ACTION_TYPES,
297
297
  RbacService
298
298
  };
299
- //# sourceMappingURL=chunk-KXTTYXJ6.mjs.map
299
+ //# sourceMappingURL=chunk-HN5ED7OF.mjs.map
@@ -20,7 +20,7 @@ import {
20
20
  useI18nLocale,
21
21
  useI18nRouter,
22
22
  useI18nTranslations
23
- } from "./chunk-KXTTYXJ6.mjs";
23
+ } from "./chunk-HN5ED7OF.mjs";
24
24
  import {
25
25
  AVAILABLE_OAUTH_SCOPES,
26
26
  AssistantMessage,
@@ -67,7 +67,7 @@ import {
67
67
  useIsMobile,
68
68
  validateItalianTaxCode,
69
69
  validatePartitaIva
70
- } from "./chunk-5GVY2M5X.mjs";
70
+ } from "./chunk-BIL2WQEV.mjs";
71
71
  import {
72
72
  JsonApiContext
73
73
  } from "./chunk-VOXD3ZLY.mjs";
@@ -7598,19 +7598,19 @@ var CurrentUserProvider = /* @__PURE__ */ __name(({ children }) => {
7598
7598
  () => dehydratedUser ? rehydrate(Modules.User, dehydratedUser) : null,
7599
7599
  [dehydratedUser]
7600
7600
  );
7601
- const [tokenOverride, setTokenOverride] = useState10(null);
7601
+ const [creditOverride, setCreditOverride] = useState10(null);
7602
7602
  const company = useMemo9(() => {
7603
7603
  const c = currentUser?.company ?? null;
7604
- if (!c || !tokenOverride) return c;
7604
+ if (!c || !creditOverride) return c;
7605
7605
  return Object.assign(Object.create(Object.getPrototypeOf(c)), c, {
7606
- _availableMonthlyTokens: tokenOverride.availableMonthlyTokens,
7607
- _availableExtraTokens: tokenOverride.availableExtraTokens
7606
+ _availableMonthlyCredits: creditOverride.availableMonthlyCredits,
7607
+ _availableExtraCredits: creditOverride.availableExtraCredits
7608
7608
  });
7609
- }, [currentUser, tokenOverride]);
7609
+ }, [currentUser, creditOverride]);
7610
7610
  const setUser = /* @__PURE__ */ __name((user) => {
7611
7611
  if (user) setDehydratedUser(user.dehydrate());
7612
7612
  else setDehydratedUser(null);
7613
- setTokenOverride(null);
7613
+ setCreditOverride(null);
7614
7614
  }, "setUser");
7615
7615
  const hasRole = /* @__PURE__ */ __name((roleId) => {
7616
7616
  if (!currentUser) return false;
@@ -7667,7 +7667,7 @@ var CurrentUserProvider = /* @__PURE__ */ __name(({ children }) => {
7667
7667
  });
7668
7668
  }
7669
7669
  setDehydratedUser(fullUser.dehydrate());
7670
- setTokenOverride(null);
7670
+ setCreditOverride(null);
7671
7671
  }
7672
7672
  } catch (error) {
7673
7673
  console.error("Failed to refresh user data:", error);
@@ -7685,13 +7685,13 @@ var CurrentUserProvider = /* @__PURE__ */ __name(({ children }) => {
7685
7685
  if (!socket || !isConnected || !currentUser?.company?.id) {
7686
7686
  return;
7687
7687
  }
7688
- const handleTokensUpdated = /* @__PURE__ */ __name((data) => {
7688
+ const handleCreditsUpdated = /* @__PURE__ */ __name((data) => {
7689
7689
  if (data.companyId !== currentUser.company?.id) return;
7690
- setTokenOverride({
7691
- availableMonthlyTokens: data.availableMonthlyTokens,
7692
- availableExtraTokens: data.availableExtraTokens
7690
+ setCreditOverride({
7691
+ availableMonthlyCredits: data.availableMonthlyCredits,
7692
+ availableExtraCredits: data.availableExtraCredits
7693
7693
  });
7694
- }, "handleTokensUpdated");
7694
+ }, "handleCreditsUpdated");
7695
7695
  const handleSubscriptionUpdated = /* @__PURE__ */ __name((data) => {
7696
7696
  if (data.companyId === currentUser.company?.id && !isRefreshingRef.current) {
7697
7697
  isRefreshingRef.current = true;
@@ -7700,10 +7700,10 @@ var CurrentUserProvider = /* @__PURE__ */ __name(({ children }) => {
7700
7700
  });
7701
7701
  }
7702
7702
  }, "handleSubscriptionUpdated");
7703
- socket.on("company:tokens_updated", handleTokensUpdated);
7703
+ socket.on("company:credits_updated", handleCreditsUpdated);
7704
7704
  socket.on("company:subscription_updated", handleSubscriptionUpdated);
7705
7705
  return () => {
7706
- socket.off("company:tokens_updated", handleTokensUpdated);
7706
+ socket.off("company:credits_updated", handleCreditsUpdated);
7707
7707
  socket.off("company:subscription_updated", handleSubscriptionUpdated);
7708
7708
  };
7709
7709
  }, [socket, isConnected, currentUser?.company?.id]);
@@ -10164,7 +10164,7 @@ import { useRef as useRef17 } from "react";
10164
10164
  import dynamic from "next/dynamic";
10165
10165
  import React17 from "react";
10166
10166
  import { jsx as jsx86 } from "react/jsx-runtime";
10167
- var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-JTKEBS2W.mjs"), {
10167
+ var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-34QM4UR5.mjs"), {
10168
10168
  ssr: false
10169
10169
  });
10170
10170
  var BlockNoteEditorContainer = React17.memo(/* @__PURE__ */ __name(function EditorContainer(props) {
@@ -12180,10 +12180,10 @@ function TokenStatusIndicator({ className, size = "md", showExtraPages = true })
12180
12180
  const { company } = useCurrentUserContext();
12181
12181
  const t = useTranslations34();
12182
12182
  if (!company) return null;
12183
- const monthlyTokens = company.monthlyTokens;
12184
- const availableMonthlyTokens = company.availableMonthlyTokens;
12185
- const availableExtraTokens = company.availableExtraTokens;
12186
- const percentage = monthlyTokens > 0 ? availableMonthlyTokens / monthlyTokens * 100 : 0;
12183
+ const monthlyCredits = company.monthlyCredits;
12184
+ const availableMonthlyCredits = company.availableMonthlyCredits;
12185
+ const availableExtraCredits = company.availableExtraCredits;
12186
+ const percentage = monthlyCredits > 0 ? availableMonthlyCredits / monthlyCredits * 100 : 0;
12187
12187
  const sizeClasses2 = {
12188
12188
  sm: "h-4 w-4",
12189
12189
  md: "h-5 w-5",
@@ -12231,9 +12231,9 @@ function TokenStatusIndicator({ className, size = "md", showExtraPages = true })
12231
12231
  ":"
12232
12232
  ] }),
12233
12233
  /* @__PURE__ */ jsxs75("span", { className: cn("font-medium", getStatusColor()), children: [
12234
- availableMonthlyTokens,
12234
+ availableMonthlyCredits,
12235
12235
  " / ",
12236
- monthlyTokens
12236
+ monthlyCredits
12237
12237
  ] })
12238
12238
  ] }),
12239
12239
  /* @__PURE__ */ jsxs75("div", { className: "flex items-center justify-between gap-4", children: [
@@ -12253,7 +12253,7 @@ function TokenStatusIndicator({ className, size = "md", showExtraPages = true })
12253
12253
  t("billing.tokens.available_extra", { defaultValue: "Extra Pages" }),
12254
12254
  ":"
12255
12255
  ] }),
12256
- /* @__PURE__ */ jsx127("span", { className: "font-medium text-blue-500", children: availableExtraTokens })
12256
+ /* @__PURE__ */ jsx127("span", { className: "font-medium text-blue-500", children: availableExtraCredits })
12257
12257
  ] }),
12258
12258
  /* @__PURE__ */ jsx127(Link2, { href: "/settings/billing?action=subscribe", className: "w-full flex justify-end my-4", children: /* @__PURE__ */ jsx127(Button, { variant: "outline", size: "sm", children: t("billing.tokens.purchase_extra", { defaultValue: "Purchase additional analysis" }) }) })
12259
12259
  ] })
@@ -12266,10 +12266,10 @@ function TokenStatusIndicator({ className, size = "md", showExtraPages = true })
12266
12266
  "aria-label": t("billing.tokens.status", { defaultValue: "Page Status" }),
12267
12267
  children: [
12268
12268
  getBatteryIcon(),
12269
- /* @__PURE__ */ jsx127("span", { className: cn(textSize, "text-muted-foreground font-medium"), children: availableMonthlyTokens }),
12270
- showExtraPages && availableExtraTokens > 0 && /* @__PURE__ */ jsxs75("div", { className: "inline-flex items-center gap-0.5", children: [
12269
+ /* @__PURE__ */ jsx127("span", { className: cn(textSize, "text-muted-foreground font-medium"), children: availableMonthlyCredits }),
12270
+ showExtraPages && availableExtraCredits > 0 && /* @__PURE__ */ jsxs75("div", { className: "inline-flex items-center gap-0.5", children: [
12271
12271
  /* @__PURE__ */ jsx127(PlusCircle, { className: cn(smallIconSize, "text-blue-500") }),
12272
- /* @__PURE__ */ jsx127("span", { className: cn(textSize, "text-blue-500 font-medium"), children: availableExtraTokens })
12272
+ /* @__PURE__ */ jsx127("span", { className: cn(textSize, "text-blue-500 font-medium"), children: availableExtraCredits })
12273
12273
  ] })
12274
12274
  ]
12275
12275
  }
@@ -23950,4 +23950,4 @@ export {
23950
23950
  useOAuthClients,
23951
23951
  useOAuthClient
23952
23952
  };
23953
- //# sourceMappingURL=chunk-K76QSQTC.mjs.map
23953
+ //# sourceMappingURL=chunk-UGSOBBZH.mjs.map