@absolutejs/voice 0.0.22-beta.422 → 0.0.22-beta.423
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/audit.d.ts +1 -0
- package/dist/index.js +41 -7
- package/dist/trace.d.ts +1 -0
- package/package.json +1 -1
package/dist/audit.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -28724,7 +28724,15 @@ var createVoicePhoneAgent = (options) => {
|
|
|
28724
28724
|
};
|
|
28725
28725
|
};
|
|
28726
28726
|
// src/fileStore.ts
|
|
28727
|
-
import {
|
|
28727
|
+
import {
|
|
28728
|
+
mkdir as mkdir3,
|
|
28729
|
+
readFile,
|
|
28730
|
+
readdir,
|
|
28731
|
+
rename,
|
|
28732
|
+
rm,
|
|
28733
|
+
stat,
|
|
28734
|
+
writeFile
|
|
28735
|
+
} from "fs/promises";
|
|
28728
28736
|
import { join as join2 } from "path";
|
|
28729
28737
|
var listJsonFiles = async (directory) => {
|
|
28730
28738
|
try {
|
|
@@ -28739,6 +28747,31 @@ var listJsonFiles = async (directory) => {
|
|
|
28739
28747
|
throw error;
|
|
28740
28748
|
}
|
|
28741
28749
|
};
|
|
28750
|
+
var listRecentJsonFiles = async (directory, limit) => {
|
|
28751
|
+
if (limit === 0) {
|
|
28752
|
+
return [];
|
|
28753
|
+
}
|
|
28754
|
+
const files = await listJsonFiles(directory);
|
|
28755
|
+
const candidates = await Promise.all(files.map(async (path) => {
|
|
28756
|
+
try {
|
|
28757
|
+
return {
|
|
28758
|
+
path,
|
|
28759
|
+
updatedAt: (await stat(path)).mtimeMs
|
|
28760
|
+
};
|
|
28761
|
+
} catch (error) {
|
|
28762
|
+
if (error.code === "ENOENT") {
|
|
28763
|
+
return;
|
|
28764
|
+
}
|
|
28765
|
+
throw error;
|
|
28766
|
+
}
|
|
28767
|
+
}));
|
|
28768
|
+
return candidates.filter((candidate) => Boolean(candidate)).sort((left, right) => right.updatedAt - left.updatedAt).slice(0, limit).map((candidate) => candidate.path);
|
|
28769
|
+
};
|
|
28770
|
+
var shouldUseRecentReadWindow = (filter) => filter.readWindow === "recent" && typeof filter.limit === "number" && filter.limit >= 0;
|
|
28771
|
+
var omitReadWindow = (filter) => {
|
|
28772
|
+
const { readWindow: _readWindow, ...next } = filter;
|
|
28773
|
+
return next;
|
|
28774
|
+
};
|
|
28742
28775
|
var encodeStoreId = (id) => `${encodeURIComponent(id)}.json`;
|
|
28743
28776
|
var resolveFilePath = (directory, id) => join2(directory, encodeStoreId(id));
|
|
28744
28777
|
var createMemoryStoreId = (input) => `${input.assistantId}:${input.namespace}:${input.key}`;
|
|
@@ -28947,9 +28980,9 @@ var createVoiceFileTraceEventStore = (options) => {
|
|
|
28947
28980
|
}
|
|
28948
28981
|
};
|
|
28949
28982
|
const list = async (filter = {}) => {
|
|
28950
|
-
const files = await listJsonFiles(options.directory);
|
|
28983
|
+
const files = shouldUseRecentReadWindow(filter) ? await listRecentJsonFiles(options.directory, filter.limit) : await listJsonFiles(options.directory);
|
|
28951
28984
|
const events = await Promise.all(files.map((file) => readJsonFile(file)));
|
|
28952
|
-
return filterVoiceTraceEvents(events, filter);
|
|
28985
|
+
return filterVoiceTraceEvents(events, omitReadWindow(filter));
|
|
28953
28986
|
};
|
|
28954
28987
|
const remove = async (id) => {
|
|
28955
28988
|
await rm(resolveFilePath(options.directory, id), {
|
|
@@ -29006,9 +29039,10 @@ var createVoiceFileAuditEventStore = (options) => {
|
|
|
29006
29039
|
return stored;
|
|
29007
29040
|
};
|
|
29008
29041
|
const list = async (filter) => {
|
|
29009
|
-
const
|
|
29042
|
+
const resolvedFilter = filter ?? {};
|
|
29043
|
+
const files = shouldUseRecentReadWindow(resolvedFilter) ? await listRecentJsonFiles(options.directory, resolvedFilter.limit) : await listJsonFiles(options.directory);
|
|
29010
29044
|
const events = await Promise.all(files.map((file) => readJsonFile(file)));
|
|
29011
|
-
return filterVoiceAuditEvents(events,
|
|
29045
|
+
return filterVoiceAuditEvents(events, omitReadWindow(resolvedFilter));
|
|
29012
29046
|
};
|
|
29013
29047
|
return { append, get, list };
|
|
29014
29048
|
};
|
|
@@ -32162,7 +32196,7 @@ var createVoiceOpsRecoveryRoutes = (options = {}) => {
|
|
|
32162
32196
|
import { Elysia as Elysia55 } from "elysia";
|
|
32163
32197
|
import { Database as Database4 } from "bun:sqlite";
|
|
32164
32198
|
import { createHash } from "crypto";
|
|
32165
|
-
import { mkdir as mkdir4, readFile as readFile2, stat, unlink } from "fs/promises";
|
|
32199
|
+
import { mkdir as mkdir4, readFile as readFile2, stat as stat2, unlink } from "fs/promises";
|
|
32166
32200
|
import { join as join3 } from "path";
|
|
32167
32201
|
var voiceObservabilityExportSchemaVersion = "1.0.0";
|
|
32168
32202
|
var voiceObservabilityExportSchemaId = "com.absolutejs.voice.observability-export";
|
|
@@ -33097,7 +33131,7 @@ var verifyArtifact = async (artifact, options) => {
|
|
|
33097
33131
|
}
|
|
33098
33132
|
const filePath = stripArtifactPathAnchor(artifact.path);
|
|
33099
33133
|
try {
|
|
33100
|
-
const file = await
|
|
33134
|
+
const file = await stat2(filePath);
|
|
33101
33135
|
const generatedAt = artifact.generatedAt ?? file.mtimeMs;
|
|
33102
33136
|
const generatedAtMs = toEpochMs(generatedAt);
|
|
33103
33137
|
const ageMs = generatedAtMs === undefined ? undefined : now - generatedAtMs;
|
package/dist/trace.d.ts
CHANGED