@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.
- package/dist/AbstractService-B0T7h8fX.d.mts +124 -0
- package/dist/AbstractService-Cew0PD0L.d.ts +124 -0
- package/dist/{AssistantMessageInterface-DH1QwtC_.d.mts → AssistantMessageInterface-Ce8FcllX.d.mts} +1 -1
- package/dist/{AssistantMessageInterface-giWvsOrX.d.ts → AssistantMessageInterface-Dh0BpbP2.d.ts} +1 -1
- package/dist/{AuthComponent-DdxCFgUZ.d.mts → AuthComponent-Cik96ElA.d.mts} +1 -1
- package/dist/{AuthComponent-Cd7lcYif.d.ts → AuthComponent-DTTKu3VK.d.ts} +1 -1
- package/dist/{BlockNoteEditor-JTKEBS2W.mjs → BlockNoteEditor-34QM4UR5.mjs} +4 -4
- package/dist/{BlockNoteEditor-4OXY6BKF.js → BlockNoteEditor-LMKWUOJG.js} +19 -19
- package/dist/{BlockNoteEditor-4OXY6BKF.js.map → BlockNoteEditor-LMKWUOJG.js.map} +1 -1
- package/dist/{auth.interface-yivTb46w.d.ts → auth.interface-COmBjh89.d.ts} +1 -1
- package/dist/{auth.interface-r3XKYOrQ.d.mts → auth.interface-CkmZqat3.d.mts} +1 -1
- package/dist/billing/index.js +357 -357
- package/dist/billing/index.mjs +3 -3
- package/dist/{chunk-5GVY2M5X.mjs → chunk-BIL2WQEV.mjs} +264 -18
- package/dist/chunk-BIL2WQEV.mjs.map +1 -0
- package/dist/{chunk-AGKZCRG2.js → chunk-DS4IBFWA.js} +269 -23
- package/dist/chunk-DS4IBFWA.js.map +1 -0
- package/dist/{chunk-4TGGHNWL.js → chunk-F6PZZ4KI.js} +752 -752
- package/dist/chunk-F6PZZ4KI.js.map +1 -0
- package/dist/{chunk-KXTTYXJ6.mjs → chunk-HN5ED7OF.mjs} +2 -2
- package/dist/{chunk-K76QSQTC.mjs → chunk-UGSOBBZH.mjs} +28 -28
- package/dist/chunk-UGSOBBZH.mjs.map +1 -0
- package/dist/{chunk-SE2YSAER.js → chunk-UXJAS6C5.js} +7 -7
- package/dist/{chunk-SE2YSAER.js.map → chunk-UXJAS6C5.js.map} +1 -1
- package/dist/client/index.d.mts +5 -5
- package/dist/client/index.d.ts +5 -5
- package/dist/client/index.js +4 -4
- package/dist/client/index.mjs +3 -3
- package/dist/components/index.d.mts +6 -6
- package/dist/components/index.d.ts +6 -6
- package/dist/components/index.js +4 -4
- package/dist/components/index.mjs +3 -3
- package/dist/{config-BrkU_Ynz.d.ts → config-Cd5xTEfZ.d.ts} +1 -1
- package/dist/{config-snd2ToEB.d.mts → config-YyhFHxkU.d.mts} +1 -1
- package/dist/contexts/index.d.mts +4 -4
- package/dist/contexts/index.d.ts +4 -4
- package/dist/contexts/index.js +4 -4
- package/dist/contexts/index.mjs +3 -3
- package/dist/core/index.d.mts +24 -60
- package/dist/core/index.d.ts +24 -60
- package/dist/core/index.js +8 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +7 -1
- package/dist/features/help/index.d.mts +2 -2
- package/dist/features/help/index.d.ts +2 -2
- package/dist/features/help/index.js +37 -37
- package/dist/features/help/index.mjs +3 -3
- package/dist/features/tokenusage/index.css +29 -0
- package/dist/features/tokenusage/index.css.map +1 -0
- package/dist/features/tokenusage/index.d.mts +388 -0
- package/dist/features/tokenusage/index.d.ts +388 -0
- package/dist/features/tokenusage/index.js +1012 -0
- package/dist/features/tokenusage/index.js.map +1 -0
- package/dist/features/tokenusage/index.mjs +1012 -0
- package/dist/features/tokenusage/index.mjs.map +1 -0
- package/dist/index.d.mts +11 -9
- package/dist/index.d.ts +11 -9
- package/dist/index.js +9 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -2
- package/dist/{notification.interface-LKFmZndR.d.ts → notification.interface--27exGde.d.ts} +6 -6
- package/dist/{notification.interface-B3kNUTZs.d.mts → notification.interface-CG1vqoxg.d.mts} +6 -6
- package/dist/{s3.service-BrmeMjtk.d.ts → s3.service-CpwA3sl_.d.ts} +4 -125
- package/dist/{s3.service-CXKV_OT-.d.mts → s3.service-Dt6MfuHr.d.mts} +4 -125
- package/dist/server/index.d.mts +5 -4
- package/dist/server/index.d.ts +5 -4
- package/dist/server/index.js +3 -3
- package/dist/server/index.mjs +1 -1
- package/dist/tokenusage-admin.module-5wJ_tZTj.d.ts +61 -0
- package/dist/tokenusage-admin.module-DQVT4O4j.d.mts +61 -0
- package/dist/{types-CQSjy7et.d.mts → types-Bq_UA8Lg.d.mts} +1 -1
- package/dist/{types-DHOxe8rc.d.ts → types-bsm8Fp55.d.ts} +1 -1
- package/dist/{usePageUrlGenerator-tjq2mlDV.d.ts → usePageUrlGenerator-J_ECv-oQ.d.ts} +1 -1
- package/dist/{usePageUrlGenerator-uOnyJ6j2.d.mts → usePageUrlGenerator-uKBjAKqC.d.mts} +1 -1
- package/dist/{useSocket-BsbaGPqE.d.ts → useSocket-DgGAQW6h.d.ts} +1 -1
- package/dist/{useSocket-BSjn1Rlb.d.mts → useSocket-M3YY0aTS.d.mts} +1 -1
- package/package.json +6 -1
- package/src/core/index.ts +5 -0
- package/src/core/registry/ModuleRegistry.ts +4 -0
- package/src/features/company/components/details/TokenStatusIndicator.tsx +9 -9
- package/src/features/company/data/company.interface.ts +6 -6
- package/src/features/company/data/company.ts +17 -17
- package/src/features/tokenusage/components/TokenUsageAdminContainer.tsx +189 -0
- package/src/features/tokenusage/components/TokenUsageAdminFilterBar.tsx +138 -0
- package/src/features/tokenusage/components/TokenUsageAdminTiles.tsx +177 -0
- package/src/features/tokenusage/components/TokenUsageBreakdownTable.tsx +160 -0
- package/src/features/tokenusage/components/TokenUsageRankedBar.tsx +99 -0
- package/src/features/tokenusage/components/TokenUsageTimelineChart.tsx +225 -0
- package/src/features/tokenusage/components/__tests__/TokenUsageAdminTiles.spec.tsx +42 -0
- package/src/features/tokenusage/components/__tests__/TokenUsageRankedBar.spec.tsx +41 -0
- package/src/features/tokenusage/components/__tests__/TokenUsageTimelineChart.spec.tsx +47 -0
- package/src/features/tokenusage/contexts/TokenUsageAdminContext.tsx +252 -0
- package/src/features/tokenusage/contexts/__tests__/TokenUsageAdminContext.spec.tsx +80 -0
- package/src/features/tokenusage/data/TokenUsageAdminService.ts +54 -0
- package/src/features/tokenusage/data/__tests__/tokenusage-admin-models.spec.ts +147 -0
- package/src/features/tokenusage/data/index.ts +8 -0
- package/src/features/tokenusage/data/tokenusage-admin-breakdown.interface.ts +18 -0
- package/src/features/tokenusage/data/tokenusage-admin-breakdown.ts +115 -0
- package/src/features/tokenusage/data/tokenusage-admin-summary.interface.ts +14 -0
- package/src/features/tokenusage/data/tokenusage-admin-summary.ts +90 -0
- package/src/features/tokenusage/data/tokenusage-admin-timeline.interface.ts +13 -0
- package/src/features/tokenusage/data/tokenusage-admin-timeline.ts +94 -0
- package/src/features/tokenusage/data/tokenusage-admin.types.ts +56 -0
- package/src/features/tokenusage/i18n-keys.ts +65 -0
- package/src/features/tokenusage/index.ts +30 -0
- package/src/features/tokenusage/lib/metrics.ts +69 -0
- package/src/features/tokenusage/lib/operation-label.ts +41 -0
- package/src/features/tokenusage/lib/palette.ts +197 -0
- package/src/features/tokenusage/tokenusage-admin.module.ts +22 -0
- package/src/features/user/contexts/CurrentUserContext.tsx +18 -18
- package/src/features/user/contexts/__tests__/CurrentUserContext.spec.tsx +21 -21
- package/dist/chunk-4TGGHNWL.js.map +0 -1
- package/dist/chunk-5GVY2M5X.mjs.map +0 -1
- package/dist/chunk-AGKZCRG2.js.map +0 -1
- package/dist/chunk-K76QSQTC.mjs.map +0 -1
- /package/dist/{BlockNoteEditor-JTKEBS2W.mjs.map → BlockNoteEditor-34QM4UR5.mjs.map} +0 -0
- /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-
|
|
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-
|
|
299
|
+
//# sourceMappingURL=chunk-HN5ED7OF.mjs.map
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
useI18nLocale,
|
|
21
21
|
useI18nRouter,
|
|
22
22
|
useI18nTranslations
|
|
23
|
-
} from "./chunk-
|
|
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-
|
|
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 [
|
|
7601
|
+
const [creditOverride, setCreditOverride] = useState10(null);
|
|
7602
7602
|
const company = useMemo9(() => {
|
|
7603
7603
|
const c = currentUser?.company ?? null;
|
|
7604
|
-
if (!c || !
|
|
7604
|
+
if (!c || !creditOverride) return c;
|
|
7605
7605
|
return Object.assign(Object.create(Object.getPrototypeOf(c)), c, {
|
|
7606
|
-
|
|
7607
|
-
|
|
7606
|
+
_availableMonthlyCredits: creditOverride.availableMonthlyCredits,
|
|
7607
|
+
_availableExtraCredits: creditOverride.availableExtraCredits
|
|
7608
7608
|
});
|
|
7609
|
-
}, [currentUser,
|
|
7609
|
+
}, [currentUser, creditOverride]);
|
|
7610
7610
|
const setUser = /* @__PURE__ */ __name((user) => {
|
|
7611
7611
|
if (user) setDehydratedUser(user.dehydrate());
|
|
7612
7612
|
else setDehydratedUser(null);
|
|
7613
|
-
|
|
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
|
-
|
|
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
|
|
7688
|
+
const handleCreditsUpdated = /* @__PURE__ */ __name((data) => {
|
|
7689
7689
|
if (data.companyId !== currentUser.company?.id) return;
|
|
7690
|
-
|
|
7691
|
-
|
|
7692
|
-
|
|
7690
|
+
setCreditOverride({
|
|
7691
|
+
availableMonthlyCredits: data.availableMonthlyCredits,
|
|
7692
|
+
availableExtraCredits: data.availableExtraCredits
|
|
7693
7693
|
});
|
|
7694
|
-
}, "
|
|
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:
|
|
7703
|
+
socket.on("company:credits_updated", handleCreditsUpdated);
|
|
7704
7704
|
socket.on("company:subscription_updated", handleSubscriptionUpdated);
|
|
7705
7705
|
return () => {
|
|
7706
|
-
socket.off("company:
|
|
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-
|
|
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
|
|
12184
|
-
const
|
|
12185
|
-
const
|
|
12186
|
-
const percentage =
|
|
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
|
-
|
|
12234
|
+
availableMonthlyCredits,
|
|
12235
12235
|
" / ",
|
|
12236
|
-
|
|
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:
|
|
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:
|
|
12270
|
-
showExtraPages &&
|
|
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:
|
|
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-
|
|
23953
|
+
//# sourceMappingURL=chunk-UGSOBBZH.mjs.map
|