@absolutejs/voice 0.0.22-beta.364 → 0.0.22-beta.366
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +34 -11
- package/dist/productionReadiness.d.ts +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -33565,6 +33565,7 @@ var createVoiceProductionReadinessRoutes = (options) => {
|
|
|
33565
33565
|
const routes = new Elysia54({
|
|
33566
33566
|
name: options.name ?? "absolutejs-voice-production-readiness"
|
|
33567
33567
|
});
|
|
33568
|
+
let cachedReport;
|
|
33568
33569
|
const resolveOptions = async (input) => {
|
|
33569
33570
|
if (!options.resolveOptions) {
|
|
33570
33571
|
return options;
|
|
@@ -33574,14 +33575,40 @@ var createVoiceProductionReadinessRoutes = (options) => {
|
|
|
33574
33575
|
...await options.resolveOptions(input)
|
|
33575
33576
|
};
|
|
33576
33577
|
};
|
|
33577
|
-
|
|
33578
|
+
const reportCacheKey = (query, request) => {
|
|
33579
|
+
const queryKey = Object.entries(query).map(([key, value]) => [key, String(value)]).sort(([left], [right]) => left.localeCompare(right)).map(([key, value]) => `${key}=${value}`).join("&");
|
|
33580
|
+
return queryKey;
|
|
33581
|
+
};
|
|
33582
|
+
const getReport = async (query, request) => {
|
|
33583
|
+
const cacheMs = typeof options.cacheMs === "number" && Number.isFinite(options.cacheMs) && options.cacheMs > 0 ? options.cacheMs : 0;
|
|
33584
|
+
const key = reportCacheKey(query, request);
|
|
33585
|
+
if (cacheMs > 0 && cachedReport && cachedReport.key === key && Date.now() - cachedReport.loadedAt <= cacheMs) {
|
|
33586
|
+
return cachedReport.value;
|
|
33587
|
+
}
|
|
33588
|
+
const value = (async () => {
|
|
33589
|
+
const resolvedOptions = await resolveOptions({ query, request });
|
|
33590
|
+
return {
|
|
33591
|
+
report: await buildVoiceProductionReadinessReport(resolvedOptions, {
|
|
33592
|
+
query,
|
|
33593
|
+
request
|
|
33594
|
+
}),
|
|
33595
|
+
resolvedOptions
|
|
33596
|
+
};
|
|
33597
|
+
})();
|
|
33598
|
+
if (cacheMs > 0) {
|
|
33599
|
+
cachedReport = {
|
|
33600
|
+
key,
|
|
33601
|
+
loadedAt: Date.now(),
|
|
33602
|
+
value
|
|
33603
|
+
};
|
|
33604
|
+
}
|
|
33605
|
+
return value;
|
|
33606
|
+
};
|
|
33607
|
+
routes.get(path, async ({ query, request }) => (await getReport(query, request)).report);
|
|
33578
33608
|
if (gatePath !== false) {
|
|
33579
33609
|
routes.get(gatePath, async ({ query, request }) => {
|
|
33580
|
-
const resolvedOptions = await
|
|
33581
|
-
const gate =
|
|
33582
|
-
query,
|
|
33583
|
-
request
|
|
33584
|
-
});
|
|
33610
|
+
const { report, resolvedOptions } = await getReport(query, request);
|
|
33611
|
+
const gate = summarizeVoiceProductionReadinessGate(report, resolvedOptions.gate || undefined);
|
|
33585
33612
|
return new Response(JSON.stringify(gate), {
|
|
33586
33613
|
headers: {
|
|
33587
33614
|
"Content-Type": "application/json; charset=utf-8",
|
|
@@ -33593,11 +33620,7 @@ var createVoiceProductionReadinessRoutes = (options) => {
|
|
|
33593
33620
|
}
|
|
33594
33621
|
if (htmlPath !== false) {
|
|
33595
33622
|
routes.get(htmlPath, async ({ query, request }) => {
|
|
33596
|
-
const resolvedOptions = await
|
|
33597
|
-
const report = await buildVoiceProductionReadinessReport(resolvedOptions, {
|
|
33598
|
-
query,
|
|
33599
|
-
request
|
|
33600
|
-
});
|
|
33623
|
+
const { report, resolvedOptions } = await getReport(query, request);
|
|
33601
33624
|
const body = await (resolvedOptions.render ?? renderVoiceProductionReadinessHTML)(report);
|
|
33602
33625
|
return new Response(body, {
|
|
33603
33626
|
headers: {
|
|
@@ -484,6 +484,7 @@ export type VoiceProductionReadinessRoutesOptions = {
|
|
|
484
484
|
query: Record<string, unknown>;
|
|
485
485
|
request: Request;
|
|
486
486
|
}) => Promise<VoiceCampaignReadinessProofReport> | VoiceCampaignReadinessProofReport);
|
|
487
|
+
cacheMs?: number;
|
|
487
488
|
deliveryRuntime?: false | VoiceDeliveryRuntime | VoiceDeliveryRuntimeSummary | ((input: {
|
|
488
489
|
query: Record<string, unknown>;
|
|
489
490
|
request: Request;
|