@anuma/sdk 9.1.11 → 10.0.1
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/expo/index.cjs +573 -239
- package/dist/expo/index.d.mts +86 -1
- package/dist/expo/index.d.ts +86 -1
- package/dist/expo/index.mjs +599 -265
- package/dist/index.cjs +444 -111
- package/dist/index.d.mts +86 -1
- package/dist/index.d.ts +86 -1
- package/dist/index.mjs +444 -111
- package/dist/react/index.cjs +620 -286
- package/dist/react/index.d.mts +86 -1
- package/dist/react/index.d.ts +86 -1
- package/dist/react/index.mjs +646 -312
- package/dist/server/index.cjs +1 -0
- package/dist/server/index.mjs +1 -0
- package/dist/tools/index.cjs +19 -13
- package/dist/tools/index.d.mts +8 -12
- package/dist/tools/index.d.ts +8 -12
- package/dist/tools/index.mjs +19 -13
- package/package.json +1 -1
package/dist/expo/index.mjs
CHANGED
|
@@ -1298,19 +1298,19 @@ function base64ToUint8Array(base64) {
|
|
|
1298
1298
|
// src/lib/memoryEngine/vectorEncoding.ts
|
|
1299
1299
|
var BYTES_PER_FLOAT32 = 4;
|
|
1300
1300
|
var CANONICAL_BASE64 = /^[A-Za-z0-9+/]+={0,2}$/;
|
|
1301
|
-
function encodeChunkVector(
|
|
1302
|
-
const f32 =
|
|
1301
|
+
function encodeChunkVector(vector2) {
|
|
1302
|
+
const f32 = vector2 instanceof Float32Array ? vector2 : Float32Array.from(vector2);
|
|
1303
1303
|
return uint8ArrayToBase64(new Uint8Array(f32.buffer, f32.byteOffset, f32.byteLength));
|
|
1304
1304
|
}
|
|
1305
|
-
function decodeChunkVector(
|
|
1306
|
-
if (!
|
|
1307
|
-
if (typeof
|
|
1308
|
-
if (
|
|
1305
|
+
function decodeChunkVector(vector2, onMalformed) {
|
|
1306
|
+
if (!vector2 || vector2.length === 0) return new Float32Array(0);
|
|
1307
|
+
if (typeof vector2 !== "string") return Float32Array.from(vector2);
|
|
1308
|
+
if (vector2.length % 4 !== 0 || !CANONICAL_BASE64.test(vector2)) {
|
|
1309
1309
|
onMalformed?.();
|
|
1310
1310
|
return new Float32Array(0);
|
|
1311
1311
|
}
|
|
1312
1312
|
try {
|
|
1313
|
-
const bytes2 = base64ToUint8Array(
|
|
1313
|
+
const bytes2 = base64ToUint8Array(vector2);
|
|
1314
1314
|
if (bytes2.byteLength === 0 || bytes2.byteLength % BYTES_PER_FLOAT32 !== 0) {
|
|
1315
1315
|
onMalformed?.();
|
|
1316
1316
|
return new Float32Array(0);
|
|
@@ -1794,8 +1794,8 @@ var ATTACHED_FILES_OPEN_TAG = "<attached_files>";
|
|
|
1794
1794
|
var ATTACHED_FILES_CLOSE_TAG = "</attached_files>";
|
|
1795
1795
|
var ATTACHED_FILES_PREFIX = `${ATTACHED_FILES_OPEN_TAG}
|
|
1796
1796
|
The user attached the following file(s) to this message. Their extracted contents are below; when the user refers to "the attached file", "this file" or "the document", they mean these.`;
|
|
1797
|
-
function isAttachedFilesText(
|
|
1798
|
-
return typeof
|
|
1797
|
+
function isAttachedFilesText(text15) {
|
|
1798
|
+
return typeof text15 === "string" && text15.startsWith(ATTACHED_FILES_PREFIX) && text15.endsWith(ATTACHED_FILES_CLOSE_TAG);
|
|
1799
1799
|
}
|
|
1800
1800
|
function buildAttachedFilesText(fileContext) {
|
|
1801
1801
|
return `${ATTACHED_FILES_PREFIX}
|
|
@@ -2513,7 +2513,7 @@ async function getMessageOp(ctx, uniqueId) {
|
|
|
2513
2513
|
}
|
|
2514
2514
|
return messageToStored(message, ctx.walletAddress, ctx.signMessage, ctx.embeddedWalletSigner);
|
|
2515
2515
|
}
|
|
2516
|
-
async function updateMessageEmbeddingOp(ctx, uniqueId,
|
|
2516
|
+
async function updateMessageEmbeddingOp(ctx, uniqueId, vector2, embeddingModel) {
|
|
2517
2517
|
let message;
|
|
2518
2518
|
try {
|
|
2519
2519
|
message = await ctx.messagesCollection.find(uniqueId);
|
|
@@ -2523,10 +2523,10 @@ async function updateMessageEmbeddingOp(ctx, uniqueId, vector, embeddingModel) {
|
|
|
2523
2523
|
const address = ctx.walletAddress;
|
|
2524
2524
|
await ctx.database.write(async () => {
|
|
2525
2525
|
const key = await resolveMessageEmbeddingKey(address, message.content);
|
|
2526
|
-
const storedVector2 = await serializeMessageEmbedding(key,
|
|
2526
|
+
const storedVector2 = await serializeMessageEmbedding(key, vector2);
|
|
2527
2527
|
await message.update((msg) => {
|
|
2528
2528
|
msg._setRaw("vector", storedVector2);
|
|
2529
|
-
if (msg.origin === "chunks_discarded" &&
|
|
2529
|
+
if (msg.origin === "chunks_discarded" && vector2.length > 0) {
|
|
2530
2530
|
msg._setRaw("origin", "message");
|
|
2531
2531
|
}
|
|
2532
2532
|
msg._setRaw("embedding_model", embeddingModel);
|
|
@@ -3191,49 +3191,49 @@ function makeSyntheticStoredConversation(opts, defaultTitle) {
|
|
|
3191
3191
|
var DEFAULT_CHUNK_SIZE = 400;
|
|
3192
3192
|
var DEFAULT_CHUNK_OVERLAP = 50;
|
|
3193
3193
|
var DEFAULT_MIN_CHUNK_SIZE = 50;
|
|
3194
|
-
function splitIntoSentences(
|
|
3194
|
+
function splitIntoSentences(text15) {
|
|
3195
3195
|
const sentenceRegex = /[.!?]+[\s"')}\]]*(?=\s|$)/g;
|
|
3196
3196
|
const sentences = [];
|
|
3197
3197
|
let lastIndex = 0;
|
|
3198
3198
|
let match;
|
|
3199
|
-
while ((match = sentenceRegex.exec(
|
|
3199
|
+
while ((match = sentenceRegex.exec(text15)) !== null) {
|
|
3200
3200
|
const endIndex = match.index + match[0].length;
|
|
3201
|
-
const sentence =
|
|
3201
|
+
const sentence = text15.slice(lastIndex, endIndex).trim();
|
|
3202
3202
|
if (sentence) {
|
|
3203
3203
|
sentences.push(sentence);
|
|
3204
3204
|
}
|
|
3205
3205
|
lastIndex = endIndex;
|
|
3206
3206
|
}
|
|
3207
|
-
const remaining =
|
|
3207
|
+
const remaining = text15.slice(lastIndex).trim();
|
|
3208
3208
|
if (remaining) {
|
|
3209
3209
|
sentences.push(remaining);
|
|
3210
3210
|
}
|
|
3211
3211
|
return sentences;
|
|
3212
3212
|
}
|
|
3213
|
-
function chunkText(
|
|
3213
|
+
function chunkText(text15, options) {
|
|
3214
3214
|
const {
|
|
3215
3215
|
chunkSize = DEFAULT_CHUNK_SIZE,
|
|
3216
3216
|
chunkOverlap: requestedOverlap = DEFAULT_CHUNK_OVERLAP,
|
|
3217
3217
|
minChunkSize = DEFAULT_MIN_CHUNK_SIZE
|
|
3218
3218
|
} = options ?? {};
|
|
3219
3219
|
const chunkOverlap = Math.min(requestedOverlap, chunkSize - 1);
|
|
3220
|
-
if (
|
|
3220
|
+
if (text15.length <= chunkSize) {
|
|
3221
3221
|
return [
|
|
3222
3222
|
{
|
|
3223
|
-
text:
|
|
3223
|
+
text: text15.trim(),
|
|
3224
3224
|
startOffset: 0,
|
|
3225
|
-
endOffset:
|
|
3225
|
+
endOffset: text15.length
|
|
3226
3226
|
}
|
|
3227
3227
|
];
|
|
3228
3228
|
}
|
|
3229
|
-
const sentences = splitIntoSentences(
|
|
3229
|
+
const sentences = splitIntoSentences(text15);
|
|
3230
3230
|
const chunks3 = [];
|
|
3231
3231
|
let currentChunkSentences = [];
|
|
3232
3232
|
let currentChunkStart = 0;
|
|
3233
3233
|
let currentOffset = 0;
|
|
3234
3234
|
for (let i = 0; i < sentences.length; i++) {
|
|
3235
3235
|
const sentence = sentences[i];
|
|
3236
|
-
let sentenceStart =
|
|
3236
|
+
let sentenceStart = text15.indexOf(sentence, currentOffset);
|
|
3237
3237
|
if (sentenceStart === -1) {
|
|
3238
3238
|
sentenceStart = currentOffset;
|
|
3239
3239
|
}
|
|
@@ -3280,7 +3280,7 @@ function chunkText(text14, options) {
|
|
|
3280
3280
|
if (overlapSentences.length > 0) {
|
|
3281
3281
|
currentChunkSentences = [...overlapSentences, sentence];
|
|
3282
3282
|
const overlapText = overlapSentences[0];
|
|
3283
|
-
const overlapStart =
|
|
3283
|
+
const overlapStart = text15.lastIndexOf(overlapText, currentOffset);
|
|
3284
3284
|
currentChunkStart = overlapStart === -1 ? sentenceStart : overlapStart;
|
|
3285
3285
|
} else {
|
|
3286
3286
|
currentChunkSentences = [sentence];
|
|
@@ -3300,18 +3300,18 @@ function chunkText(text14, options) {
|
|
|
3300
3300
|
chunks3.push({
|
|
3301
3301
|
text: chunkText2,
|
|
3302
3302
|
startOffset: currentChunkStart,
|
|
3303
|
-
endOffset:
|
|
3303
|
+
endOffset: text15.length
|
|
3304
3304
|
});
|
|
3305
3305
|
}
|
|
3306
3306
|
}
|
|
3307
3307
|
if (chunks3.length === 0) {
|
|
3308
|
-
const trimmedText =
|
|
3308
|
+
const trimmedText = text15.trim();
|
|
3309
3309
|
if (trimmedText.length > 0) {
|
|
3310
3310
|
return [
|
|
3311
3311
|
{
|
|
3312
3312
|
text: trimmedText,
|
|
3313
3313
|
startOffset: 0,
|
|
3314
|
-
endOffset:
|
|
3314
|
+
endOffset: text15.length
|
|
3315
3315
|
}
|
|
3316
3316
|
];
|
|
3317
3317
|
}
|
|
@@ -4003,8 +4003,8 @@ var createClient = (config = {}) => {
|
|
|
4003
4003
|
data = await response[parseAs]();
|
|
4004
4004
|
break;
|
|
4005
4005
|
case "json": {
|
|
4006
|
-
const
|
|
4007
|
-
data =
|
|
4006
|
+
const text15 = await response.text();
|
|
4007
|
+
data = text15 ? JSON.parse(text15) : {};
|
|
4008
4008
|
break;
|
|
4009
4009
|
}
|
|
4010
4010
|
case "stream":
|
|
@@ -4240,22 +4240,22 @@ function embeddingErrorFrom(response) {
|
|
|
4240
4240
|
const message = typeof response.error === "object" && response.error && "error" in response.error ? response.error.error : "API embedding failed";
|
|
4241
4241
|
return new EmbeddingHttpError(message, response.response?.status);
|
|
4242
4242
|
}
|
|
4243
|
-
async function generateEmbedding(
|
|
4243
|
+
async function generateEmbedding(text15, options) {
|
|
4244
4244
|
const total = options.totalTimeoutMs;
|
|
4245
|
-
if (total === void 0) return embedOne(
|
|
4246
|
-
return withDeadline((signal) => embedOne(
|
|
4245
|
+
if (total === void 0) return embedOne(text15, options, void 0);
|
|
4246
|
+
return withDeadline((signal) => embedOne(text15, options, signal), total, "embedding");
|
|
4247
4247
|
}
|
|
4248
4248
|
var { inFlightByCache, cachedEmbeddingModels } = getEmbeddingCacheState();
|
|
4249
|
-
async function embedOne(
|
|
4249
|
+
async function embedOne(text15, options, outer) {
|
|
4250
4250
|
const { cache } = options;
|
|
4251
|
-
if (!cache) return Array.from(await requestEmbedding(
|
|
4251
|
+
if (!cache) return Array.from(await requestEmbedding(text15, options, outer));
|
|
4252
4252
|
const model = options.model ?? DEFAULT_API_EMBEDDING_MODEL;
|
|
4253
|
-
const cached = cache.get(
|
|
4253
|
+
const cached = cache.get(text15);
|
|
4254
4254
|
const cachedModel = cached && cachedEmbeddingModels.get(cached);
|
|
4255
4255
|
if (cached && (cachedModel === void 0 || cachedModel === model)) return Array.from(cached);
|
|
4256
4256
|
const inFlight = inFlightByCache.get(cache) ?? /* @__PURE__ */ new Map();
|
|
4257
4257
|
inFlightByCache.set(cache, inFlight);
|
|
4258
|
-
const requestKey = JSON.stringify([model,
|
|
4258
|
+
const requestKey = JSON.stringify([model, text15]);
|
|
4259
4259
|
const pending = inFlight.get(requestKey);
|
|
4260
4260
|
if (pending) {
|
|
4261
4261
|
try {
|
|
@@ -4264,18 +4264,18 @@ async function embedOne(text14, options, outer) {
|
|
|
4264
4264
|
if (outer?.aborted) throw err;
|
|
4265
4265
|
}
|
|
4266
4266
|
}
|
|
4267
|
-
const request = requestEmbedding(
|
|
4267
|
+
const request = requestEmbedding(text15, options, outer);
|
|
4268
4268
|
inFlight.set(requestKey, request);
|
|
4269
4269
|
try {
|
|
4270
4270
|
const embedding2 = await request;
|
|
4271
4271
|
cachedEmbeddingModels.set(embedding2, model);
|
|
4272
|
-
cache.set(
|
|
4272
|
+
cache.set(text15, embedding2);
|
|
4273
4273
|
return Array.from(embedding2);
|
|
4274
4274
|
} finally {
|
|
4275
4275
|
if (inFlight.get(requestKey) === request) inFlight.delete(requestKey);
|
|
4276
4276
|
}
|
|
4277
4277
|
}
|
|
4278
|
-
async function requestEmbedding(
|
|
4278
|
+
async function requestEmbedding(text15, options, outer) {
|
|
4279
4279
|
const { baseUrl = BASE_URL, model } = options;
|
|
4280
4280
|
const timeoutMs = options.timeoutMs ?? DEFAULT_EMBEDDING_REQUEST_TIMEOUT_MS;
|
|
4281
4281
|
const headers = {
|
|
@@ -4287,7 +4287,7 @@ async function requestEmbedding(text14, options, outer) {
|
|
|
4287
4287
|
(signal) => postApiV1Embeddings({
|
|
4288
4288
|
baseUrl,
|
|
4289
4289
|
body: {
|
|
4290
|
-
input: options.maskInput ? options.maskInput(
|
|
4290
|
+
input: options.maskInput ? options.maskInput(text15) : text15,
|
|
4291
4291
|
model: model ?? DEFAULT_API_EMBEDDING_MODEL
|
|
4292
4292
|
},
|
|
4293
4293
|
headers,
|
|
@@ -4548,10 +4548,10 @@ async function chunkAndEmbedMessage(ctx, messageId, options) {
|
|
|
4548
4548
|
}
|
|
4549
4549
|
const textChunks = chunkText(message.content, options);
|
|
4550
4550
|
const chunkTexts = textChunks.map((c) => c.text);
|
|
4551
|
-
const
|
|
4551
|
+
const embeddings2 = await generateEmbeddings(chunkTexts, options);
|
|
4552
4552
|
const messageChunks = textChunks.map((chunk, i) => ({
|
|
4553
4553
|
text: chunk.text,
|
|
4554
|
-
vector:
|
|
4554
|
+
vector: embeddings2[i],
|
|
4555
4555
|
startOffset: chunk.startOffset,
|
|
4556
4556
|
endOffset: chunk.endOffset
|
|
4557
4557
|
}));
|
|
@@ -4666,13 +4666,13 @@ async function chunkAndEmbedAllMessages(ctx, options, filter) {
|
|
|
4666
4666
|
if (shortMessages.length > 0) {
|
|
4667
4667
|
try {
|
|
4668
4668
|
const texts = shortMessages.map((m) => m.content);
|
|
4669
|
-
const
|
|
4669
|
+
const embeddings2 = await generateEmbeddings(texts, options);
|
|
4670
4670
|
for (let i = 0; i < shortMessages.length; i++) {
|
|
4671
4671
|
try {
|
|
4672
4672
|
await updateMessageEmbeddingOp(
|
|
4673
4673
|
ctx,
|
|
4674
4674
|
shortMessages[i].uniqueId,
|
|
4675
|
-
|
|
4675
|
+
embeddings2[i],
|
|
4676
4676
|
embeddingModel
|
|
4677
4677
|
);
|
|
4678
4678
|
embeddedCount++;
|
|
@@ -4691,10 +4691,10 @@ async function chunkAndEmbedAllMessages(ctx, options, filter) {
|
|
|
4691
4691
|
for (const msg of longMessages) {
|
|
4692
4692
|
try {
|
|
4693
4693
|
const chunkTexts = msg.textChunks.map((c) => c.text);
|
|
4694
|
-
const
|
|
4694
|
+
const embeddings2 = await generateEmbeddings(chunkTexts, options);
|
|
4695
4695
|
const messageChunks = msg.textChunks.map((chunk, i) => ({
|
|
4696
4696
|
text: chunk.text,
|
|
4697
|
-
vector:
|
|
4697
|
+
vector: embeddings2[i],
|
|
4698
4698
|
startOffset: chunk.startOffset,
|
|
4699
4699
|
endOffset: chunk.endOffset
|
|
4700
4700
|
}));
|
|
@@ -4713,10 +4713,10 @@ var cryptoPriceCentroid = [0.025576787463333337, 0.0017598020599999997, -0.01339
|
|
|
4713
4713
|
var noCryptoPriceCentroid = [0.015473095138684206, 0.0031634101517105263, -0.011257569272697374, -0.02186071628118421, 0.008889833600921049, -0.006683160151842105, -0.009353561542368423, 0.01352172231447368, -0.01804750482084211, -0.00367377302894737, -0.02944732364736842, -0.002762284484078947, 0.033265779919736845, -0.006296026233684209, 0.022671929989210516, -0.0011530866775394733, 0.007070449366500001, -0.0050351310097368415, 0.010799295548421052, 8887227547368423e-20, 0.016334833743289468, 0.014258147745263154, 0.009584979092368422, 0.003050773904342107, -0.013426355076315791, 0.03582639014592105, -0.01160198427105263, -0.012974957788421051, -0.0031303864967105266, 0.021372544676315785, -0.02374843410263159, -0.009223416682894739, 0.005602822635394739, 0.02924898819473684, -0.014123551471890794, 0.019027650408421047, -0.005074793619605263, -4600031255263159e-19, 0.010498459563947368, -0.011094227593421054, 0.010249076817105258, -5753623577631579e-19, -0.005674418818421051, -0.00447285064486842, -0.005516097867105263, -0.007470266562368424, -0.005471375803289476, -0.006780112021052632, 0.007059772195657894, 0.0021554959672368413, 0.004705735464473685, -0.02317132775394737, -0.011564555390789474, -0.002422056378552632, -0.006380764081578948, -0.004005146213289473, -0.00794062262769737, 0.01414054164342105, -0.01016237577355263, 0.003978143405131578, -0.03655277326578946, 0.006158242906276315, 0.004217046339078946, -0.008940671309210528, -0.00673433677186842, 0.010728261618421055, 0.005998754786184212, -0.012994214264868421, 0.01220040680802632, -0.010796953655434208, -0.006105011632500001, 0.008011191312894737, 0.006423354985394737, 0.0012142853823684213, 0.009146709284210528, 0.022887410982105266, -0.022682944046052637, -0.020356859009684213, 0.010394592805789476, 0.022593094030263154, -7750265294736841e-19, 0.010491877809868419, -0.00632094335789474, -0.00435166075344737, -0.0033312799659210527, -0.013687921215789472, -0.0021700710893421053, -0.009265354446052636, -0.007450454793684212, -0.01119890545223684, 0.01885215469736842, -0.0016829954880263156, 0.004660542770078946, 0.01614547219013159, 0.0012384379707105267, 0.0012953595593421052, -0.019026688374473685, -0.012046473879210519, -0.01890812402105263, -0.0013315808465131577, 0.011091345418421055, 0.021520818015789468, -0.005630902795947368, -0.0019751528094210527, 0.016361938930000004, -0.006861605829210528, -0.0028363347098684204, 0.008591381667894738, -0.009064190686052631, 0.0019356226038157898, 6169263489473686e-19, 0.005576595939605265, 0.01869662389342105, 0.001262012349342105, -0.005366806441447369, -0.016217105081578947, 0.0016831897417500007, -0.0018950253057894739, -0.002175052982236842, 0.015151523774342104, 0.009984357328157894, -0.008543766583157896, -0.00730858755781579, -0.005671754766447369, 0.016222894231578945, -0.006877592555789474, -0.00339728109881579, 0.002327833744078947, -0.007433236152460526, 0.003641817336996051, -22983315413157884e-20, -0.018579861956578948, -0.002013661149605263, -0.0012221983013157892, -0.005588193124592107, 0.0017740131994736844, -0.005087314752105264, -0.0024032324010526303, -0.021181957791973682, 0.015352973211842105, 0.0014077697809210523, 0.01886358938289474, 0.0034620092081578944, 0.001262707815105263, -0.016702094776315787, 0.0024528663467105263, -0.015399577423684214, 0.013716609889342105, 0.008007916322368419, 17873636657894727e-20, 0.012559814308552636, 0.004152347459210525, -0.007167261042105263, -0.010308009533421052, -0.0118209450956579, 0.0034850848647894755, -0.01689842138618421, 0.02312426354868421, 0.018107834585526318, -0.005113781234210525, 0.0036598878982894733, -0.002219674033289473, 0.010094555771578948, -0.004721280503184208, -4728102780263162e-19, -0.005741379793631579, 0.004688492021052632, -0.009298409537368421, 0.021306954543421058, 0.002625481324473684, 0.0021689222906578947, 0.0016470091790789468, 0.021918357023684207, 0.01859015762499999, 0.008736974258815788, -0.007575892959605263, 0.0012198560669736834, -0.013031221881184206, 0.005416682665447367, 0.014852952819736842, -27517017642368397e-20, 0.01096887469118421, -0.0013455180846052635, 0.022272436745131585, 0.0067934349073684175, 0.012959732387171052, -0.02075517668026316, -0.0064723936585, -0.0038070007211315794, 0.0012372250631578945, 0.0050306169430263175, -0.006763357246763157, -0.006772821312763157, 0.010125664042499998, 0.002038023320000001, 0.011549378190657895, 0.0029378070836842116, 0.010960937982500004, 0.010825824704473684, 0.0021591957962631583, 0.04206184268421052, -0.024262397277631575, 0.008255900677763156, 0.009695903923947372, -0.007390906788684211, -0.008087284358947368, -0.021996855926315787, 0.011287301983684214, -5568711708289474e-19, -0.014932725518421055, 0.009245778972302627, 0.0015213949119210516, 0.009132084528947367, 0.016006044472368423, 0.011636527018026314, 0.006784626309736844, 0.013307319816763155, -0.0027379106158421057, -0.0020452238106578946, -0.004009475287105262, 0.010760948439342109, -0.008745640049473686, -0.003213084865263158, -0.002908590922105263, -0.008224298627236842, -0.01243814725003421, 0.002076089559092105, -0.009891295528947368, 0.002955430833842103, -0.026389982763157894, 0.00307576746013158, -0.019563673766447378, 0.0016621273825, -0.008313485993421054, 0.004804929035789474, -0.00549750888473684, 0.00505214069705263, -0.011755459830263165, -0.0024296008852631576, 0.00875007432236842, -0.008075735610789475, -0.01105359596322368, 0.0039991457536842105, -0.010148718380263164, 0.0025960758788157894, -0.010566656651710528, 0.012436943196578952, -0.016535537697368412, 0.01290098068868421, -0.01656991388736842, -0.007831062019144736, 0.005940865221447369, -9759450793421052e-19, -0.008620581310184207, -0.003005893026447368, -0.002761302409605262, -0.0030793885886842114, -0.006974357054078946, 9721991617105264e-19, 0.010942189804473684, 0.002026653777631579, -0.012401945011578947, 0.0033469499360526318, 0.018924720229473682, -0.005991988553184208, 0.0033316007316315788, -0.015320591599605263, -0.02128828745542763, -0.0022622942237697373, 0.0069056783826315785, 0.004446302767763156, -0.016207595330789474, 11362097776315657e-20, 0.008954130263986842, -0.010221943235789475, 0.014461354018157896, 0.0028590932341973686, -0.010514913011447373, -0.015841919529473683, -0.01389901701263158, -0.009229765706842105, 2461921435526319e-19, 0.020577489130263162, -0.022800926136842106, -0.0015163221825394738, -0.013809464157236842, 0.004897803686315791, 0.018522811494736845, -0.009630460222828948, 0.011984547498157897, 0.0111937101125, 0.015270678807631577, 0.0019252811815789483, 0.014758101361842106, -0.005758524065263159, -0.0021391250729868427, -0.010472078178684207, -0.012900316256973682, -0.0014497102297763157, 0.006431885074342107, -0.003826420850657895, 0.004125123941578948, 7190557013157885e-20, 0.005760016457894736, -0.01029894582407894, -0.014202551836842109, -0.008429392661184212, -0.004542960022631579, 0.004390327258289474, -0.017841332352631578, -0.02092670811578947, -0.011721044171184207, 0.001154552708868421, -0.008358092435263156, -0.009767428120921056, 0.00617505359518421, 0.004506490673552631, 0.0020017606636842113, -0.00796983946092105, 0.020977802086842096, -0.0075353952266447415, -0.007463197555921055, -0.012128650817236842, 0.019736432668421053, 0.002261451146973684, 0.004720614210526316, -0.009998388954473686, -0.005624677788552632, -0.022545385379078953, -0.001583800878381579, -0.002379242887671053, -0.006442413411381578, -0.00695587538394737, 0.0011264698367105268, -0.0045705394853947385, -0.0015821324533815784, 0.023414226677631576, -0.0012724761923684214, 0.023761430540263154, 0.0029503868397894734, -0.0033352330858684217, -0.011512791865657892, 0.00981099949723684, -5708729797368422e-19, 8188937956578947e-19, 0.010694227110197371, 0.008592401465789476, -35825991868421067e-20, -0.004266100294447367, 0.005692018715789475, -0.0033002098638157907, 0.004866896994999999, 0.01000889828684211, 0.006752862654868419, 0.0026472819757499995, -0.005589931472697369, -0.017258877186842114, 0.01836197345605264, 0.003980058679868421, -0.0020851821997368417, -0.006682193140302631, 0.008638199788657895, 0.01154588990657895, -0.0014030509926710529, 0.00623447043604513, 0.016997480921671054, -0.0076195284961842105, 9118090571052634e-19, -0.01740562824342105, 0.001625513271842105, -0.012645379938157893, 0.010188843557894742, -0.012510250708026317, 0.0014163581344342104, 0.007640950823026323, 0.009030281375263157, -6778679552631581e-19, -0.021454867002973686, 0.001957897549473684, 0.001193311223026316, 0.0027351965483684215, -0.05114138984210526, 9931653628947367e-19, -0.0034956210430263156, -0.011831037061315788, 0.010289316701315792, -0.006878016126315793, 0.004890278758947368, 0.005483033461842105, -0.01275958679236842, -0.01331795716276316, 0.003143929424078947, -0.0022857318045394724, 0.007633577711973686, 0.0021747185855263158, 0.005520500721710526, 0.008252045688684212, -0.014708749063026315, -0.010071718517500002, 0.004989717453947367, 0.017077984349605266, -8273659215789473e-19, 0.005120420113328947, 0.007857212020657894, -0.007720276348289473, 0.002462438197763158, -55125038157895184e-21, 0.004356982750105262, -0.00700954478736842, 0.008855195414342104, -0.007593518517105262, 5683125496052636e-19, 0.006104346186842107, 0.0018523006100263158, 0.011868568778421053, 0.008818247002631579, 0.007355409463684211, 0.014110024566184213, -0.004139245012105264, -0.008042714513815788, -0.008814672356447366, 0.010348661143157892, 0.008645756135526317, -0.0039321516707894735, -0.018719250872499996, 0.016164309558789468, 0.011362069608157893, 0.012222493691973682, 0.009424688908947371, -0.00664402617118421, -0.007866664878289475, -0.012993650039078946, -0.018103016852631583, -0.0065906644863157875, 0.004789760346776317, -0.014935053199342104, 0.014902569211842109, 0.004785409491052631, 0.007345346444473684, 0.003159245409736842, 0.01312098370328947, 0.006301784642499999, 0.005022653047368423, -0.002849895648684211, -0.0032933022748421045, 0.004350993063026316, -0.007350343983026319, 0.010007334274736844, -0.0028172315381578953, -0.011997126834394734, -0.005281044011052631, 0.017256082294736845, -0.026231524928157893, 0.001482624986578947, -0.01504677556723684, -0.006961093627631583, -0.009158235009605265, -0.010464971171052636, -0.012205843889473683, 0.013581314933421051, 0.024057515715473682, -0.026571698318421058, -39512425210526327e-20, -0.008364490104342107, 0.01043953546486842, -0.006329244778157894, 0.00677121107763158, -0.006404679137105265, -0.008498417039605265, -0.011997726845921054, -0.00819236379276316, -0.008719842036447368, 2480567830263159e-19, -0.009615319662105265, 0.010179268672105262, 0.010257863497157897, -0.002203600034342105, -0.014915970727368411, 0.010107625643947371, -0.0016536920541710522, -0.006636945585526316, -0.016858044851315784, -0.020209110402631573, -0.007010765250131577, 0.0073754879921052625, 0.019676440628368427, 0.010058316429868416, -0.026224092562236838, -0.010421548158342108, 0.004843649796842105, -0.018334794059605263, 0.007321559153421053, 0.014406508708157897, -0.013035912961381586, 0.008222181527763156, -0.002566978908289474, 0.009497600043981577, -0.0056751013231578955, 0.004298258599210526, -0.00134152910618421, 0.0017198262138157904, -0.00527642314413158, -0.006738037163421052, 8391017913947374e-19, -0.011822055771453949, -0.0023647280209210526, 0.018581314182894736, 0.0013511696361842105, -0.008034561226052629, 0.0050400383831578945, 0.011289238419736843, -0.01018335548486842, -0.008891896734736842, 0.007739089927236841, -0.014787865826578945, -0.017835246043026314, 0.0056641722032894715, -0.0059957612642105255, -0.006282649575526315, 0.016645820401710514, 0.002203326760921053, 0.0022889429653157895, -0.008153908865789473, -0.009116433642894738, 0.014059073972894742, 0.006152197939947369, 0.01395997850157895, -0.012334291357763155, 0.017010570389868414, -0.0063333831828947355, -0.0025206653310921056, 0.006800531193421053, -0.004048019489342104, -0.006107880013157895, -0.011589549206710528, -0.0023016446209210527, 0.018917020458026318, -0.0018317876103026314, 0.007985371543710523, -0.009285482378157892, -0.007067705323684211, 0.011150805990789475, -0.009777598592105264, -0.008635949183289476, -0.004163104284868419, 0.010232138396315793, -0.0019257375613157897, -5739201986842089e-20, 0.013092055408684215, 0.01974871008065789, 0.005587073321842107, 0.025888940701315793, 0.016139226412631578, -0.0011026304183986845, -0.006448130678552632, 0.0013506662108157892, -0.00879462901421053, 0.0067748442927236825, -0.002999273877368421, 5861502590000002e-19, -31988263750131585e-20, -9557692903947368e-19, -0.005667702506315793, -0.006468547942684208, -0.017199129730526317, -0.019429718929210527, -0.003644407856578948, 0.004087335838671054, -0.003677765850855264, 0.007942120783605264, 6586344227631579e-19, -0.0037614600624999986, 0.0055129023461368415, 0.011244061396578945, 0.005010426876315791, 0.0072596023613157885, -0.008378387808157896, 0.01193223011842105, 0.002783704421578947, -0.0018955311381578942, 0.016495522016315784, 0.0010300654348684207, 0.0029166797853947372, 0.0019548181412, 0.0034482197978947357, -0.01597233675447369, -0.004172262047894737, 0.004349557685394737, 0.0057765581432894725, -0.017049438059999998, -0.004525430396052631, -28143429157894773e-20, 0.008926862911842108, -0.01706470510842106, -0.009343251894078945, -0.014551790916315796, 0.0037077234910526317, -0.024520926263157893, 0.005740144142368422, 0.0053956368143421056, -0.005766834186973687, -0.012353098134999999, 0.005150600744473685, -0.002591634655236843, -0.0034600672671052644, 0.020232129807894742, 0.0019706625393421055, -0.021094935969078955, 0.013562589856578945, -0.01982315960263158, 0.0022789787307368413, 0.0030350554696052627, -0.0023380354609868425, 0.0016429701249999996, 0.0013748243807894737, -0.011015212538802624, -0.01045923693026316, -0.010230515132368417, 0.0031865286891710532, 0.019525663493815786, -0.01229977110328947, -0.01392738180263158, 0.0047192255380921035, 0.009634271472381582, -0.0036637588399210516, 0.01367465738263158, -9074315167105264e-19, 0.009034615510460526, -0.013227085239526318, -0.008698134963421054, -0.005679745975289474, 0.016064328626710523, 6854882098684209e-19, -0.02409260117894737, -0.029390496973684222, -8429490286315783e-19, 0.017532396812105267, 0.003992892611842105, -0.015176699562894741, 0.017688143694565794, 0.015704753903289473, -0.006714242723157895, 0.006966373187026316, 0.014712872807894739, 0.0048426642788421065, 0.004560759092499999, 0.014764954930526316, 0.007755880210394735, -0.0063704605949999995, 0.013370230355131577, 0.006058873911578949, -0.007236065584644737, 0.02192650811447368, -0.0036055442649473683, 0.017262371172368424, -0.019675186598421057, 0.012352453031578945, -0.019395975741052625, -0.005476996759473683, -0.003981952255394738, -0.019128493134342103, -0.006420192784736843, 0.00663706127763158, -0.00931713626539474, -0.004438600155394738, -0.0074747220036842105, -3532221511315789e-19, 0.003786715305789473, 0.002143004024210527, -0.013259830103026315, -0.019481669799736843, 0.0063924609735921045, -0.006268689519868423, 0.011194401769210527, 0.014244597600921052, -0.009581357068684208, 0.015704279303947365, 0.002868509497368421, 0.009993456976842102, -0.009288659571184214, -0.00567008211111842, -0.0016774708461842105, -0.015881515857631583, -0.0031357240957894735, 0.009431347011250004, -0.02115866819605263, -0.002224235694342105, 0.016286955564605264, 0.007042988388157893, 0.002287434175, 0.010197640378157893, -0.005280943861578946, 0.0014105266302631581, 8359535263157892e-19, 0.0047502692026315805, 0.013299677349078947, -0.0023519426788157897, -0.004674174603421053, 0.018177119728907887, -0.0014176172173881575, 0.007134867282894738, -22741002690789458e-20, -0.022838398981578946, -0.003212089612105263, 2004287202631577e-19, -0.022176862091973677, -0.020671407409605266, 0.009063825494342106, -0.016635621425526326, -0.008275760027894737, -0.010347646235000002, 0.009041304183157893, 0.0051814241601315794, 0.005795941738552632, -0.006237753602210528, -0.004308292899078948, 0.027939477830263154, 0.0022927221325526313, -0.009122603172894738, -0.012685393528368422, 0.035720136647368415, 3721588992105262e-19, -0.015025574779078942, 0.0087486222525, -0.009074244906710525, -0.01173346431697368, 0.012090590483960533, 0.016366954857105268, 0.011179668721052633, -0.0073358287721842115, -0.007733899611315792, -0.003457529575921053, -0.006236338289078949, 0.005774385420526318, -0.018860930085526313, 0.01522345625828947, -0.012091792738157891, -0.004068704780263158, -0.004178824925921053, -0.013820312269210535, -0.01096366969644737, -0.004025642653947369, -0.024534325314078946, 0.006440052884473688, -0.016726629586052633, -3620708957894737e-19, 0.0047140585557894745, 0.0018035156026315793, 0.0048402487059210535, -0.00438187360013158, -6329667841710535e-19, 0.013023098627184216, -0.0015603331286578957, -0.0015727194086052627, 0.015044479001315789, 0.003913626584973687, -0.011406708371973688, 0.009567988548947368, 0.0048712744065789486, 8060304496052634e-19, -0.0027007557632499997, -0.007984334569848683, 0.0035786119902631594, 0.008549296575394733, 0.013448384334736838, 0.003980597008986842, 0.0027732479433552628, 0.0022548364651710537, 0.01305019627302631, -0.010885881758421052, 0.0046425705302631575, -0.006159144808684208, 0.0016908100748684212, 0.010177649750394735, -0.00148574499868421, -0.007758489989078948, -0.010132687943157893, 0.010328826282539472, -0.007675625043065791, 0.010875474622368417, -10961718381578953e-20, 2469314122368423e-19, 0.01456813955157895, -0.002258910603421052, -0.006317790170921054, 0.008751932444473686, -0.009791627398947367, 0.015247204259210523, 0.010811477365789473, 0.006444553805289473, -0.009046801008342103, 0.0030660862369736833, 0.020425601981842102, 1083259947368725e-21, 0.024182386267499998, -0.017303176044473685, 0.006597084168552631, 0.001865562837526316, 0.001028871313631579, 0.01472760354684211, -0.0075378481717105275, 0.010146784916184209, -0.007357307590657895, 0.015889662872500005, -0.0010280143740789473, 0.008057754063236841, -0.0017568669571052641, -0.004133698758421052, 0.007827215762368422, 0.03512832019999999, -0.00993780903394737, -0.004260993277631579, -0.008866919430526315, -0.012339414527631576, -45847830315789447e-20, 0.00838245042193421, -0.016904068641184215, -0.01032341292509211, -0.0179430145493421, -0.005017911380025, 0.004198584343289474, -0.012134608429342105, 0.02621189465, 0.021764919877236843, -0.0016967839548684218, 0.0064469595144736845, 0.0015113159294999998, 0.01449087951447368, 0.00908490776328947, 0.0021144275999999997, -0.0023710569351315784, -0.012429141851184206, -0.007313173065394735, -0.003165631556907895, -0.005191618546052632, -0.00811820481360526, 0.006263298302894738, -4727746834342098e-19, 0.01215529816414474, 0.005959134763223686, -0.003053097290263157, 0.0022509379385526307, -0.012437947575526312, -0.017363427211052634, -0.0044620109, 0.01702834882368421, -0.0014438623280263164, 0.007209018304078949, -0.005530027731842105, -0.006350269325728949, -1933061736184215e-19, -0.012560664186842102, 0.021907004355263156, -0.00368476647618421, -0.008714235420315792, 0.006064745458157897, 0.004239938750368421, -0.003381502998157895, -0.009450509392500002, 0.021473245165789474, -0.006664313856578946, -0.007727308110131578, 0.01755496648539474, -0.008046387513815787, 0.004243436594473684, -0.0018419240855263163, -0.002696314727236842, 0.00458863617605263, -0.009136615755921052, -0.01227240456026316, 0.007315492906276317, 0.001563661388157895, -0.005130049675394736, -0.002669057950473685, -0.0014561823650000002, -0.005081315489473683, -0.019940945634210522, 0.0020929494719736843, 0.004403723249342103, -0.03075529604868421, -0.008624309510289472, 0.01228930504118421, -0.009409504784473681, 0.0011323868934210513, -5501856157894726e-19, 0.011253276619736843, -0.005881537943934211, -0.009128014259078948, -0.002782203197434212, -0.00439761305381579, 0.018774566821052625, -0.011816556899605264, -0.019359096755263157, -0.009348714950473683, -0.0010719945900657896, 0.010479289703256579, -0.011939962278157891, 0.005665995433736843, 0.006774268349210528, 0.0034390900013157896, -0.008370486944868423, 0.017960268711842104, -0.0040098660762236836, 7006663912157889e-19, 0.0015448419175000006, 0.030164748171052642, -0.013288672209210527, -0.0194342324281579, -0.014333865537368415, -0.0010687613120394742, 0.006369927146184209, -0.02037403711921052, -0.0011595645836842109, 0.012291525279210526, -0.004659846724868422, 0.014351864156447373, 0.004539899117368421, -0.011356260933815792, 0.014434559298684207, 0.003388873248815791, 6091339384210531e-19, 0.009991929092763158, 0.019049285447499998, -0.007336658402000001, 0.01645323191407895, 0.011546428464605267, -0.003781113732894739, 0.01016362579592105, 0.003369438427763157, -0.012699591561842107, -0.027960629820000003, 0.006582685929197369, -0.0014268903726315791, 0.005638759550394738, -0.006515546567039474, -0.004676419364394737, 0.008950068268947365, -0.006762236009210526, 0.010658080675000004, -0.005891587223157895, -0.014665679521842107, -0.013644553504473684, 10368947013157792e-20, -0.007762898519210526, -0.01131838790855263, -0.00988497489276316, -0.0072114894752039445, 0.0027077467686842105, 7480073221052632e-19, 0.001175619631578947, 9005636573684216e-19, -0.017333229999605265, 5094909162236838e-19, 0.012029732047368418, 0.009794908618684218, -0.01157117548918421, -0.009239849182894735, 0.005636658962236845, -0.008340407034210524, -817503516907895e-18, 0.003921638921052632, 0.005545640947368417, 0.014569629413078954, -0.00717244047236842, 0.00835087193605263, -0.008531247800499998, -0.004064330462, 0.008101339765526315, -0.01701503037605263, 0.004955823044473687, -0.0022204531394868425, -0.01208521188631579, -0.002832061093026315, -0.002318643040434209, -0.007110677303947368, 0.001033564958947368, 0.027433827638157895, 0.010220588290263156, -0.007394786349605265, -0.006538531349210523, -0.0022718601860526317, -0.004229559157973685, 0.005938436034868422, 0.01048373804263158, 0.00986031018078947, 0.020336058257894734, 0.004668691585657895, -0.011039444343815792, -0.03195965501315791, 22211712236841965e-20, 0.004621380856581578, -0.0032872489723684223, 0.0022427985402631574, 0.009466410571710526, 0.017591113605263154, -0.004106379021052631, 0.006385616363748682, -0.0040017953515789455, 0.0012984135143552632, -0.0013681684519605262, 0.006150785983582896, 0.02349364751052632, -0.003507428290921053, -0.023245202525000005, 0.0073350322506578955, -0.012751762621973684, -0.009509772432105263, -0.011624634206315787, 0.008383111918289473, 0.008738430290394734, -0.0019306551646052629, 0.004987825924447366, 0.0067051984610657905, 0.010962145944078953, -0.006160766227763156, -0.01599381954276316, -0.005996254381473684, 0.013413042621052635, -0.016699554863157894, -0.00425797138263158, -0.002346582932368421, -0.003454997969210526, 0.015414278531447364, 0.0020144495526315796, 0.004778662968414474, 0.019607659189473686, -36090899996052645e-20, -0.008492139364605267, 0.007747498233499999, -0.0013514066389473686, -0.013021238629802628, 0.02135893455000001, 0.0050934569453947335, -0.005380931788039476, 0.0034462612061184213, 0.002471601183026315, 0.0018443146213815793, -0.005110344829342106, -0.014184218227105262, -0.0043937764976315795, -0.004010257807763158, 0.007609986475131577, -0.0017383072384999994, -0.008765348437499997, 0.006436899067289473, -0.005252098280921053, 0.0012666882906842106, 7271012838815791e-19, -0.012168801171973687, -0.006950649873815789, 0.006179354461447367, 0.008584705725921056, 6826743815789457e-20, 0.005478510884342106, -0.001656087406842105, 0.004353472659210527, -0.007852758323026314, 0.00774670264888684, -0.004548253065789474, -0.00872336939763158, 0.007497302493421052, -0.003937119212631579, 0.005084670148232898, -0.006804365856578951, -0.004160022079342104, -8716827518421054e-19, -0.0018917191575000003, -0.04542618686578948, -7962240394736886e-20, 0.005303945623421051, -0.0010489784114473685, 0.0040561710610526325, -0.005575023273947369, -0.014307941818026318, -0.005483095651842106, -0.0036865826026315804, -0.007326996465921051, -0.007258892687710523, -0.017002108826973682, 0.0026596006468421053, 0.007241479605526319, -0.006855145818736838, -0.007547068765263157, -0.011135433282763159, 0.015574704355921056, 0.015176253521052627, -0.006872319883815792, 0.0017937790452631581, 0.0012157494165789468, 0.007882637975789471, 0.003405427387894736, -0.004297595478375, 0.017864616917368424, 0.0030970381859210523, -0.0023354204692105267, 0.0017386867781578944, 0.02049815361294737, -0.00913410340657895, 0.01556748598855263, 0.0014741332142105261, 0.00888697265651316, -0.008259757955789475, 0.010162209150921054, -0.015258628212236844, 0.007913002543421052, 5999896474736846e-19, 0.010361211858157896, -0.005668571334210528, 0.009625429015263158, -0.0104467670125, 82077470868421e-17, -0.0016111464500000003, 0.011819657311842107, -0.010997043170815787, 0.026556267275000003, 0.006691072826710528, 0.020695954338157893, 0.003105390495, 0.007586750871802631, -0.006386726654605265, -0.02003319237539473, 4345854440394738e-19, -0.008994508450263157, -0.026183591028947364, -0.002199864392631578, -0.0028300363084210523, 0.008933973642105263, -0.004872168878026316, -0.010508434657894736, -0.030814126236842106, 0.003977499332947367, 0.003367798314605263, -0.008800812126184209, 0.03421133572763158, 0.036882231234210514, -0.009774976162894739, 0.014867376786052633, 0.01847335194828948, 0.004703114508157895, 0.004981278706842106, -20820300881578947e-20, 0.0023825047832894738, -0.006051949050131578, 0.005748253940526316, -0.048717287638157886, 0.006936276815973685, -0.00717120160088158, -0.0011371543828947368, -633878522763158e-18, -0.009472156436842108, 0.004011299037763159, -6579590755328946e-19, 0.006974676819078946, -0.005393841788815792, -0.004757979923842104, -0.0033050710856578945, 0.011350404267631583, -0.007076194413157896, 0.0017202756382894743, 0.012773173556842102, 0.0030848825621578946, 0.0027823394973684207, -0.00670719708276316, 0.005835784166710526, 0.006515324253026317, 0.008066022838947366, 0.001960170838894737, 0.0051619980871052615, 0.0026211382473684216, -5182459471052627e-19, -0.0027954785167105234, -0.004234536522631581, -0.009315601918947366, 0.008809953131578951, -6880571447368561e-21, -7682047319210527e-19, -4287664078947533e-21, -0.008450649188421052, -0.0035262061703947374, 0.012014457226315788, 0.00802163259636842, -0.014263569363815795, -0.001529443673157895, 0.0038201108919736853, -0.0021061006564999994, -0.006485662478921053, -4953983351315789e-19, -39382826565789427e-20, 0.0028122849150000006, -0.012065431929342112, -0.004557107439381579, -0.004202265546447372, -0.006648211306315786, -0.0026814599381578944, -0.004716990799535528, 0.011677914061486841, 0.0054311442510526315, -0.009687709625394739, -0.00401446957026316, 21303643315789461e-20, -0.004548820044210527, 0.001488740388592105, -0.008498280648552632, -0.009067142177105258, -0.001475207605789474, 0.003382969827236843, -0.003364108026184211, -0.015231927833026314, -25714068360526294e-20, -0.009678724665486842, 21494394868420982e-20, 0.0069928910540789455, -0.009154249508157892, -0.014927330287236848, -0.04244073076315791, -0.009253368699736841, -0.007564927833815789, -0.006217242748684212, -0.007667895968815788, 0.012352994166578951, 0.005073167429381579, -0.005000820531315791, -0.01045439083394737, 0.0015025571015789476, 0.0064443839557894724, -0.007921140097105263, 0.01298356292368421, 0.022927954959605267, -0.005738576246052634, 0.01002808020881579, -0.0017933789327631581, -0.0036308607342026324, 0.007852910432894737, 0.008723654298289477, 0.005285313737631579, 0.013029228591842109, 0.0033245363744736855, -0.00546107157763158, -0.01238937413552632, -0.014016715163947365, -0.00480338421131579, -0.017565224993223685, -0.0010297757147368421, 0.0190754480131579, -0.016528817848684218, -1554027478552634e-19, -0.0033909335259210555, -0.02275056143078949, -0.012455294898723683, -4695065194736842e-19, -0.019497075148026316, 29407749652631535e-20, -0.004932486893276316, 800515078947368e-20, -0.019466739034210534, 0.0011483287201315788, -0.006102988706842104, 0.004115763767592106, 0.004177756370252632, -0.002618433127763157, -0.00537044665544737, -0.011829460742671057, 0.00692578045657895, 0.006913495407763157, -0.0012394369451315791, 0.004177181062190789, -0.004855147448592105, -0.009354103443947366, 0.008475817234342108, -0.0060853426540789495, 0.017770833389999994, 0.010468942911184213, -0.006522560685973683, -0.015092426563342105, 0.008636236548684206, 0.004441229959605264, 0.005320611943289475, -9800074276184207e-19, -0.010191143523026322, -0.007796377074999998, 0.005595688935526317, -0.0016283605736842112, -0.012121330430263163, 0.008727131922578948, 0.002284515743368422, 0.002682018403026316, 0.02112667354078947, -0.013087226411842108, 0.011961740068421057, -0.0029621327447368426, -0.00711086599605263, -7157445806315789e-19, 0.00296389472118421, -0.002106245437236842, -2060961381578952e-19, -0.0023762942430657894, 0.0067748971048684214, 0.02305358949394737, 0.024209113952105267, -0.0010323672338157883, 5835666469736843e-19, 0.0011928865788157893, -0.013926641433421053, -0.0010454462015131592, -0.008992499685921052, 0.005833304399473685, 0.007247240086842105, 0.007005285494078946, 0.00532119499868421, -0.002409817022763158, -0.009118484332407894, 0.00902553582131579, 0.003644393953815789, -0.001458669926578947, -0.007759722557236839, -0.015974711869276317, 0.005593415395263159, -0.00699891096894737, 0.013671992413157898, 0.0030071592296052633, -0.00725996611631579, 0.00831834310973684, 15080351578947707e-21, 0.010492338298289472, -0.011587350163157897, 0.007662332826842105, 0.008755792813026311, 0.007074787369210524, 0.01825972633684211, 0.005628270758078947, 0.013933462579342108, 4695127519736841e-19, -0.016538577678947376, 0.013688757842105262, -0.00958296806763158, -0.01084689514210526, 0.004655695267894736, 0.002764839804828948, -0.008966435890710524, 0.01818742012328948, -0.002021167613421053, 0.011088005707894739, -0.003949641440789475, 0.016206056167105264, -0.018271099290000006, 0.012128778174342108, 0.016409871427894733, -0.005132905442789474, 0.013977325583552627, 0.0027061513397368423, -0.030432116805263153, 0.009202131592500001, -0.005219011863552631, -0.02768622942105263, 0.005146511143078947, 0.016741514684210528, 0.008617631309868421, 0.001446558946578948, -0.010973319831578945, -0.002393318402447369, 0.0025146223098815794, 0.002058704305, 0.009670727197499998, 0.006972026925486846, 0.007941592818026316, 0.006313998498157896, 0.004550358204605262, 0.019503475739868426, -0.00808706035526316, 0.0014521665658289477, 0.008814657770526316, -0.0034991419792894736, 0.001152647225789473, 0.0035165233944736848, -0.008015521834605265, 0.0030662299349999986, -0.008316208095789476, 0.0018460274468421055, 0.010874037769736845, 0.0019301458946052628, 0.014981398493289479, 0.0063040013951315785, 0.0011182811667105259, -0.001531185306381579, 0.007286755069710524, 0.007252432990381575, 0.005447569480263158, 0.005672717215565791, -0.011183678003684212, 0.0010281094409210528, 0.0037040489348026313, -0.018558228386052637, -0.0024118456417105264, 0.001912976863157895, 0.004824422551335526, -0.007085397379605263, 0.010146420386052636, -0.012797370635526323, 0.005280684883421054, -0.007430231397421052, 0.0012657216987105263, -0.003414122816315788, -0.001953577547894738, 0.004944337450526315, -0.009499839262763153, -0.007726497248157897, 0.02043591631578946, 0.005235241476657896, -0.016428867193421043, -0.02316521289473684, -5283661032894735e-19, 0.0039097042727631575, -33895851092105274e-20, 0.01083217157236842, -7426432255263161e-19, -0.00391929611618421, -0.007359749506882893, -0.0035571319606578938, 0.012559667453289472, 0.0058923027007894745, 0.015785403049999997, -0.013460644672368413, 8476099292105275e-19, -0.0033159500932236833, 0.008975023673552632, -0.01474813875868421, 0.01023825899394737, -0.01589566984736842, -7458934167105253e-19, 0.015296658677631575, 0.008350472782171053, -0.01303794148592105, 0.009825855495394734, -0.0031653390423157907, -0.0023992715984210533, 0.012867784544868418, -0.007730846508157893, -0.008233608065789473, -0.00578186875105263, 7660654657894731e-19, 0.007309484258749999, -0.004728002686184211, 0.024414807685526316, 0.07103057530263161, 138350805131579e-18, -0.0227730847868421, -0.002000239483157895, -2523412961842105e-19, 0.0036002593248947363, -0.00960461145763158, -0.014719047412763165, -0.010525172183026317, -0.008946292160657896, -0.00487614558486842, -0.015348885583552638, 0.005484280077631576, 0.0047399032012368425, -0.011332118468552635, 0.018375535672368423, 0.0028248364129736837, 0.002669773003710525, -0.013733811623947365, -0.012085463925657897, -0.005202895044802634, 0.0011071545386052636, 0.002822448957105263, -0.005775769501039475, -0.007958374655000005, -0.012961527270999999, 0.008736424775394736, 0.001623934084342105, -0.0029857376405, 0.006539750386447366, -921088730657895e-18, 0.01011317570105263, 0.004816758724236842, 0.01006797531394737, -0.024919923669736846, -0.013252434965131578, 0.004975805359868419, 0.0028436151710394737, 0.026767861371052633, 0.01679312495263158, 0.0029180558214473695, -0.01334025122631579, 0.006395531258157895, 0.012167909879868426, 0.0010437845743947376, 0.015899900866315795, -0.015891970886315786, -0.007016795418947369, 0.005720414304868421, 0.014279509605394737, 0.011842180225789475, 0.012174502878815788, -0.004032991572842103, -0.01191846249868421, 0.006569720230394738, -0.007758679420881577, 0.008243021787499999, -0.0056768207752631574, -0.010259304986710528, -0.005975154729605264, 0.022218811560526314, -0.01284212495, -0.0043886743385526325, -0.007587261113289475, -0.00100997453736842, 0.007466683218736842, 0.0017474622250000002, 0.011411024255263157, 0.007287669592105263, -0.011071793518989473, -0.007791523718026317, 0.0024424171717105266, 0.010883432589473684, 0.017893625253684212, 0.008674725273447368, 0.00948412372276316, 0.004439929401005265, -0.012966921410526314, -0.009952035897894734, -0.009481836221250003, 6631337719736842e-19, 0.013784739155921056, 0.01274559315868421, 0.015312255263157895, 0.014739994169736837, 0.001961665102973683, 0.016666361813815787, -0.01601210714707894, -0.003862630162710527, 0.0017456178976315803, 0.002383359211842105, 0.005658344708289475, 0.02028012731447368, 0.0038586854298289478, -0.003930425682236844, 0.005947570116842103, 0.006645788041973682, 0.00593962558863158, -0.0055098527475, -2709300878947366e-19, -0.02526451096052632, 0.0034957235959210526, -0.004797192927499998, 0.010852291108092103, -0.0024250138515789464, -0.008193180311052631, -0.006060304734868421, -0.005015898619736843, 0.009915213199078949, 0.0049576433317105265, 13137401934210517e-20, -0.011906290325000004, 0.005487915484868421, -0.0026353010490789476, -0.006053524171552631, -0.01679510672763158, 0.0019228737013157898, 0.01702610227171053, 0.007407213732763154, 0.001119691041315789, -0.0041095490676315806, -8301038464210527e-19, 0.0033998062114736845, 0.010597575788947365, 0.014257269136842107, 0.007372944618421052, -0.0035281079432894734, -0.017203723107131575, 0.004068165850842105, 0.00382046129631579, -0.011138788382368418, 0.01527541427763158, 0.01094105444394737, 0.003186118735263158, -0.011153858221842101, -0.001682062516447369, 1102902368421087e-20, -0.007634609815394738, -0.0024121695576315794, -0.004676494936184211, -0.004374885159342105, -0.004125291510394737, 8512605788947367e-19, -0.015911860113236847, -0.01630071632578947, 0.0075893821925000025, 0.016570409282894737, -0.0028060973136842106, -0.010812139536144735, -0.0035154795997368424, -0.007599472084868421, -0.0027118450077763152, 0.003790211149736841, -0.0016624428627631574, -0.006025105557500002, -0.00271212489868421, 0.004819238931578948, -2838972343421054e-19, 0.008508885079999997, 0.0037412741409736843, 0.003480958837938158, 0.01989113539539474, -0.007170555643552633, 0.007131082274999999, -0.00324891509618421, 0.017624990426578946, -0.008696587564605262, 0.009625076661710525, -0.003385572580052631, -0.0011940798148684204, 0.013382737070394736, -0.0019341717852631578, 0.014078404609210527, 0.006157531654513156, -0.00436843442881579, 0.010804814319078945, 0.016877812977368414, -0.004866282633157894, -0.004019908407105263, -0.008622002943026319, -0.001156913919736843, 0.00860937810460526, 0.00854736410960526, 0.006645876394210526, 0.006044397847105263, -0.0029129494269078955, 0.005728795454605264, 0.003868690374868421, 14415561068421056e-20, -0.011550837929210526, 0.0024273528732894744, 0.01675736555552631, 0.008618001551842105, -0.009086696278947369, -0.0019255664260000005, 0.017823474286842108, 0.023852092268289476, 0.005640211945657894, -0.0157103212696579, 0.002671248446973685, 5732126974736841e-19, -0.003747782739723685, -0.015167234880263156, -7942613815789339e-21, 20631670931578946e-20, 0.005739634929078944, 0.008089517185263155, -0.005618019369960528, -0.004716671923026316, 0.002440650008157895, -0.013887452536578948, 0.010245098745394738, 0.011824351372763156, -0.005547870031710528, -16388543065789472e-20, -0.0074466632465789466, 0.00498810127631579, 0.015039879665789478, -0.0040669246943421085, -0.005869341766447369, -0.024218201709868412, 0.001695024713552631, -0.005041553392631579, -0.00783228454736842, -0.005132145636842107, 579431247268421e-18, 0.0026811771932894746, -0.007146641212236844, -0.008457516277105264, -0.015692255188223682, 0.024690377132894726, 20765250613157882e-20, -0.0020539644646052624, -0.005768370673684211, 0.003702322850921053, 0.004201434479473683, 0.0028723328136842103, -0.014360589550263161, 0.003967806877105263, 0.004476002342671051, 0.004944308020131578, -0.01157276546618421, -0.009082047036973684, 0.0036693403972368425, 0.009826728072236843, 0.0074656336861842094, -6485088782894734e-19, -0.0014051343403289473, 0.007369758026842101, -0.010425479788289477, 0.01821328323157895, -0.012023113507986844, 0.001740522146710527, 0.005332594062894738, -0.001378770888421052, -0.015753834223815794, 0.0076369660996052635, -0.014926969834157896, 0.0038507784668157883, -0.0041886614165, 0.005354455710657894, -9931518065789487e-20, -0.002756159138157895, 0.014061157835657897, -13951124842105257e-20, -0.013132667226578947, -0.0019348305806052633, -0.009907254651973684, 0.009314450074276314, -0.006995864365000003, -0.004312180836447369, 0.004297729036710528, 0.0047553823486842116, -0.00931211325394737, 0.021702308997368424, 0.007112765311718424, -0.008150883757249996, -0.0015760545419210529, -16017972894736844e-20, 0.0012709232195131578, 0.008913342906302628, -0.009902096786842104, 0.03158665600926315, -0.0043072190056578944, 0.007661704021052634, 0.004888625593815791, 0.003962992540921054, 0.004328961708421054, -0.0062252458030263155, -0.0073411886288157905, -0.002077252053605263, -0.011778288789210526, -0.00824901193289474, -0.0036174059680000002, 0.008596170780328946, -0.007529505605394737, 0.00450591202768421, -0.016162284833421053, -0.006285099551315791, 0.01741020744342105, -0.004753392869697369, 0.004862889815131579, 0.008373598259, 0.007595550645657895, -0.007107993389473689, -0.008475462659473682, 5595674320263158e-19, -0.0034365798056578915, -0.016078184318421052, -0.010819015256052633, -0.0018932811597368428, -0.0060824286468421015, 0.009014217587631579, -0.005298673378684211, 0.0020203203051710524, 0.0023555486237763156, -0.011414600681763159, -0.029000318375131576, 0.012605560375, -0.015203555485526316, 0.013647403227894738, -0.008804857755526316, 0.008642128292289471, -7019206473684211e-19, 0.028421054261842115, 0.010750185311184211, 0.004273382298328947, 0.014962174191052634, -0.0091029727825, 0.004545577043947365, -0.005067943168815789, -0.008576309225131579, -0.009371516520921051, -0.003953041012539474, 0.0026335486594868413, 0.0010443595075789475, -0.006137380078947367, -0.019068207819210526, -0.0066171946843947395, 0.0154603859943421, -0.03956156613026316, -0.005423286051376317, 0.0064764647446052615, 0.017917068601973684, 0.018834929819078944, -0.023795076729473678, -0.005232680938421053, 0.007063256785526317, -0.002471332747368421, -0.005540072479078948, 0.0030247992273684196, -0.041372428210526314, -0.022792676082894738, 0.01496056775592105, 7162006171052637e-20, -0.0054049346089473675, -5917285729473686e-19, -0.006140541838736841, 0.01165498020263158, 7520184688157894e-19, -0.004048719246052633, -0.004093513149078948, 0.001113782621578947, -0.00515289844513158, -0.014532121503749999, -0.005462963103684211, 0.002013934241710526, 0.006934004597374998, 0.011849665684605267, -0.02845128821973684, -0.0027645604678947374, -0.029641802678947365, 0.005846543234157898, 0.004001273209868421, 0.009660376192697369, -0.01431830397552632, -0.0034636234957236833, -0.015780388346842117, -0.0061515257567105255, 0.011677517784078944, 0.011294756013947365, 0.009406988080263162, 0.02362260060394736, 0.006315555671052633, -0.00983715779947368, -0.012793336953947368, -0.010380582411513158, -0.005019749015, 0.004049450225131579, 0.017717702139473684, 0.012014558753947363, -0.004216072575789474, 0.012309840076065792, 0.003926167156578947, -0.011685566748684212, -25353602302631577e-22, -0.005299348902368422, 0.007730379013289471, -0.0027699679941184216, -0.0069104686293421065, -0.002654266115921053, -0.012859640121842106, -0.0107146154105921, 0.004399860249078947, -0.006205988169868421, -0.002287691709381579, 0.0022477117532631575, -0.011032372216710525, 0.0038386147140789476, 0.017001313835526322, 0.003409522446052632, 0.0038818556153947365, 0.0010723420983289483, 0.007902039610460527, 0.0023776093863157894, -0.006922669011657895, -0.012493596986842102, 5051128443421054e-19, -0.003519559938197369, 0.009428645297631578, -0.0010605874422368415, -0.008557814389473686, -7813989881578948e-19, -0.008372406573684214, 9731762513157829e-20, -0.008460361298552634, -0.0022174336363157904, -0.008624776876973684, 11917679249999991e-20, 0.006416730669828947, 0.008520198330263157, 0.012873614050657895, 0.011955042275394739, 0.01041146601725, -0.007033908750526316, -0.0016643551606578938, -0.011975207748157898, -0.010176406554210527, 0.0046722559355434215, -0.019248556189473687, 0.012035626013513158, 0.005876074411052633, 0.0023601008795000006, 0.0017393916595131586, -0.006760177633552631, 0.0037472353740789477, 0.08577118239473684, -0.004266319282368422, -0.0071308153913157875, 0.002913963492236842, -0.011218220720921051, 0.0016349006751315786, -0.0019050253921052633, -0.003319563322894737, -0.004499976557500002, 0.009833074842368417, 0.007605858973947369, 0.005772069280921054, -5503060188947367e-19, 0.013013069021578944, -0.0034565342047368423, -0.01143237421848684, 0.01110795669013158, -987561984539474e-18, -0.006423849459473684, 0.00217356449263158, 0.0010567873492894734, 0.014532239263815788, 0.010447370052631582, -0.00759626205513158, -0.0022266032110526313, -0.008538287243881578, -0.01131031077157895, -0.015313536264473682, 0.005158005157763159, 0.0030549536626315785, 0.004764115755657894, -0.012034718590789474, -0.006626763940263157, 0.009110119795921048, -0.002301413071921053, 0.015578638884210528, -0.005167726482500001, 0.02117604996315789, 0.008285337067996052, -0.007844231455157892, -0.01983585482868422, 0.008469638907236843, 3119132776315813e-20, -0.001960619750092105, -0.0174250582075, 0.0024971948229210532, -0.009844892709210526, -0.00997894878157895, 0.008923550396710523, -0.015006534729868421, 0.010365114785526321, -0.01453934758578947, -0.003352099966710527, 7359328694736843e-19, -0.010912618383552628, 0.00553644026263158, -0.0020364845940789474, 0.01638792804421053, -0.002702654283236842, 8317131059210523e-19, -0.0062164165, 0.01416901248881579, -0.001157289313026316, 0.0015120998847368426, 0.018197012598026318, 0.018230856374999993, 0.0013759326027105259, -0.0022414605464473685, 0.010594263889473684, 0.0032048177697368407, 0.0015967663478421053, 0.005898981746447367, 0.0026566908555921056, 0.007526576979868416, 0.006680355165921054, -0.010573069984868419, -0.0037745313918421054, 0.005754974540473685, 0.008721350822763157, -0.004220488521921052, 0.007543852856315786, 0.002001725290789474, 3765012028947365e-19, -0.005974376834473688, -0.007132448870578947, -0.008149476120263158, 0.020858640447368428, -0.0026150683706578945, 0.0025981752977631586, 0.011055772810526318, 0.006417484732236842, 0.02127346352631579, -0.010789793555, 0.0018354179835526315, 0.01635032267421053, -0.00914016103246053, 0.00721719150447368, -0.011749975486184212, 0.007983058785, -0.0025599285438157905, -0.02525250945921052, 0.016565419086578947, -0.0049727678667105275, 0.016954254666710526, 0.0072252290184210526, 0.00663506177881579, -0.016708790731052633, -0.019179279734736834, 0.0036575822153815793, -0.0036278681642105243, 9362055535526312e-19, 0.003667399366578948, -0.005599063442105262, -0.001710235229973684, -0.0020441094883684213, 0.008895651518289471, 0.011197020705263155, -0.0096675727705921, 0.0048109815131578935, -0.009713690278157895, -6161499026315836e-20, 0.013903376549342109, -0.0037505515171052627, -0.004402282192631579, -0.00803135064986842, -0.0022901599207236834, 0.0028172990298684225, 0.005441962186973684, 0.008157506930394737, -0.005246615045631578, 0.0017373259923157893, -0.011001224905657895, 0.0012983470696052632, -0.01309617162052632, 5287650694736846e-19, -0.012678124126447364, -0.004449979991315788, 0.013012943638552632, 0.002311609178421053, 0.00852208751355263, -0.0021326908651973695, 0.006498695877500001, -0.012073736925131582, 0.010822192646592104, 0.004732820625263159, -0.003690172558684211, -0.009818942454868423, -0.00727969328513158, -0.01263686636618421, -0.003183486671921052, -0.009880075140921055, 0.002198814761578948, 0.013470662695263156, 0.00607287450868421, -6002962989999996e-19, 0.008114174997552634, 0.011275753842105262, -0.005673379224736841, 0.0031662297654605257, 0.0028777117961842117, 0.008016936837894739, 0.0017901154897368426, -0.006646555544013159, -0.008096424208289474, -0.006122036452894737, -0.0057617752151315794, 0.0011516110418421056, 0.0033034063114473684, 0.001144898634342105, 0.015016336455263162, -0.005089427256578948, 0.011095485811210526, -0.01487947794381579, 2754231664473685e-19, 0.01434458742828948, 0.004142680879736844, -0.008173420285131577, 0.009047083722894741, 0.006638912060921054, -0.010928462396842106, 0.005584001594493421, -0.006758851203157896, 0.012239943157835526, 7178325472368416e-19, 0.004164529241644737, 0.006919659793157895, 0.0018766501502631577, 0.005851904381052632, 0.01649575659144737, 0.018543284467894737, -0.004570943860131577, -0.014199454217763158, -0.004522597645789472, 0.01323128955736842, 0.009430725228289473, 4302028357894734e-19, 0.014124286351315792, 0.0014682764307894735, 0.014347456733684217, -0.004273947661315787, -0.005397340513289473, 0.004777006242105263, 0.0014340101824815783, 0.004214361838684211, 0.004253698227473684, -0.005495129646250002, -0.004944426877631579, 0.001132264872631579, -0.025759664019736846, 0.01343974873236842, 0.007074848766842105, -0.017592669572894747, 0.0017375639004473685, 0.015513802537763154, -976651714342105e-18, 0.006099546812236844, 0.009297965083289474, -0.006545829302368422, 0.002187739041315791, 0.003335506018026315, 0.0021257748652631593, 0.007083832225526319, -0.00821666152184211, 0.008502307442157893, -0.0012726394867368417, 0.003975927348552632, 0.005120596614473684, 0.005579327967368418, -0.0076789852039473696, -0.021034838578947373, 0.007545610900131577, 0.011339017010394737, 0.01220300189605263, 0.012834558334486842, 23943841328947444e-20, -0.012060543739868423, -9013390900000001e-19, -0.007001447220394739, 0.001807072239342103, -0.007920413789473684, -0.014183284144078948, 0.0032435898167105224, 0.007661070786578948, -0.009576734622368422, -24735532930263165e-20, -3279625464473687e-19, 0.00592114891631579, -0.0031360228920394744, -0.004423669705131578, -0.006236715882473684, -0.01428929095, 0.0012041522547368432, 0.009992463885789478, 0.014660581713355257, -0.012100258024789475, -0.0041604909128947366, -0.0022737396475000005, -0.005318546005078945, -0.0019765347979631576, 0.001943228074394737, 0.01009488755486842, 0.006165831676578947, 0.0018300388325000001, -18122561157894723e-20, -0.020566950382894744, -0.006887413951872369, 0.004043231116447368, 0.014405956009276313, -0.004649199056078947, 0.016667253566842104, -0.012720103426315793, -0.004804016313157894, -4011695289473683e-19, 0.004846170921052631, -0.0016384565850263162, 0.017794608296052634, -0.007291804857605264, 5409149652631579e-19, -0.005412328068421052, 0.014002738125526317, 0.007782216855789474, 0.03379361171052632, -0.0037693036657894725, 0.006207439997131578, 0.011665550201763155, -0.002727257783815789, 0.006404820097236843, -0.007757448749342103, 0.00321114124381579, -0.005974114834342104, -0.017798501374999998, 0.008996167303710525, 0.004107372101447368, 0.007539583035263157, -0.0014233594372368415, 0.00381117836013158, 0.008256078101842102, -0.0018291068210526304, 0.0019358302312894743, -0.010674378317894738, 0.0065658293554078945, -0.007450003366710528, 0.004437219244605264, -0.024618154752631582, -0.015038326359078957, -0.00463826566381579, 0.007930537400131579, 0.004519121789078946, -21704581684210515e-20, -0.007922356677894737, -0.011271936131578942, 0.006213316302368421, -0.001811201335361843, -0.06298805399342101, -0.003931348754999999, -0.002375323733289475, 0.006955065128421053, 0.011551465797368423, 0.005049561330973682, -0.004226440632631578, 0.001415731466381579, -13998377784210452e-20, -0.0011909930659210531, -0.002045448113026316, -7439456209210522e-19, 0.008089150971763161, -0.007385254353552632, 0.0017794121346052629, -0.0021466796694736847, -0.007901907795526318, -0.006739856069736841, -0.0031380352994736845, 0.0076046099585000025, -0.011527594351315795, -0.0020396639011052635, 0.001525548389342105, -0.006094216933684211, -0.0014722651828947364, -4518903077631577e-19, 0.007140101749473689, -0.011676537059210524, -0.019966328755921053, -0.0024167389288157906, -0.008110973655078945, -0.010138389487328942, 0.004652459228947369, 0.003344180307855263, -0.00269698604401316, -0.006219439502236842, -0.012621290809263159, -0.010441855874605261, -0.001525004825868421, 3106502772368417e-19, -0.02632054453157896, 0.014578032460263153, -0.004134980474473683, 11510845465789741e-21, 0.0062397942408684215, -0.0063305206980263165, -0.0032845915709868406, -0.011880825206578951, -0.004127339640789471, -0.005412744576842107, 5791435789473685e-19, -0.005604593690263158, 0.01140999920789474, -0.0035105268881578944, -0.005644377784736843, 3777405411052633e-19, 0.006655294573118422, 0.012310034789868423, -0.012314680914342105, -0.004660671697236843, 0.019227642512499997, 0.012370556660526312, 0.0018540437435131578, 2843068044736842e-19, 0.0029149404551315795, 0.001349117293078947, 0.004231145650921054, 0.005014896011447368, 0.0030759806921052636, 0.002634996195394737, -0.02146838184355263, -0.023354627235526327, 0.007463801508881578, -0.044740355858815806, 16885995480789474e-21, 0.0018187605642105266, -0.0028608081773684206, -0.019586663092236847, -0.005291358396439473, -9306446955263162e-19, 9336062423026312e-19, 0.00640387573013158, -0.05765600515921052, -0.0010193050008289466, 0.0029813614198157894, 0.0017824373404078948, -0.006496215178552631, 0.024087691802631577, -0.010348639678947369, 503021751973684e-18, -0.009403571023947366, 0.012732326389460522, -0.005403565589605263, 10905120605263125e-20, -0.008504000929605262, 0.006370600620263157, 0.018242643109210525, 0.009379113575526317, -0.01214825572302631, -0.0015711109278947369, -0.0020749150806842107, 0.0051656843653947355, -0.015150247375526317, 0.0034633881215789457, -0.0023204803727631573, 0.0013554988172368421, -0.00916673603631579, -1386599248684208e-19, -0.011236653686842102, 0.01057515615355263, 0.0038270946907894747, 0.0032054099676315792, -718647992236842e-18, -8057763245394725e-19, -0.004644138220394738, 5584668676973688e-19, 0.004134472640657893, 0.003242992475139473, 0.004408569986710524, 0.006886769568421052, 0.0022040188868421057, 0.004717420271184211, -0.010944220514868425, -0.01496134418960526, -0.004904572456118423, -0.0029349479123026317, 5269890798684209e-19, -0.018642433568684214, -0.0014636822255263157, -0.0032874282358578933, -0.005220993034210527, -0.001006430675144737, 9930258057894734e-19, 0.01337606780197368, 0.009240478431184211, -0.01117918292618421, 0.015037270521710534, 0.00705424925763158, 0.004022910573421053, 0.004511536920394735, 7300990415789472e-19, 0.0025198337564868423, 0.004174408284605264, -0.006822327408157894, -0.012508884771973679, 0.0018977242146052643, 0.00169175941868421, 0.00914618583809211, 0.00616711017276316, -0.016066297167105267, -0.007600618392368421, -5936514901315801e-19, 0.009191851769736843, -0.01048495533644737, 0.0039003314751315785, 0.010082093744078946, -0.02150961690736843, -0.003076141387631579, 0.01795051239210526, -0.0016097397646052626, 0.006738568165394737, -0.01008712938552631, -0.0023239680332894736, -0.0023542645427631586, -0.007415254536973685, -0.0017370888950000002, -2142969864736847e-19, -0.0019526079594736842, 0.004812759554289475, -0.003177666265657895, -0.010193668303157894, -0.008950753272763155, -0.012276084238157898, -0.013801354708684207, 0.013260181611973685, 0.005137841782236843, -0.005623419413947369, 0.002380635332763157, 0.020261579571842093, 0.0025086264638157895, 23285078407894738e-20, -0.013896984565526316, -0.002813308350394737, 0.006464827561842104, -0.0017387912031578952, -0.009293710947368423, -0.002234433483973683, 0.0029236971019736837, -7009606947368418e-19, 0.004321338025526315, 0.011410774383157896, 0.0019641712277631575, -0.0032173488855263156, -9017514617105258e-19, 0.02536431413421052, -0.0036204208476315796, -0.0045066121440394714, 0.007895695332842106, 0.01375771906894737, 0.0016665629351973685, -0.009256044322434214, -0.010135795456671053, 0.008737079069078947, 0.0034428967317105263, -0.010638219975263161, -0.004573688986184211, -0.008506904400102367, 0.0025543856753947364, 0.004874314954210525, 0.010396809270921051, -0.0018452750817105265, 0.01090056822052632, 0.02098761590078947, 0.009814058689144733, -0.0029276505494736844, -0.010893099969697373, 0.01975842706710526, -0.010948870352592106, 0.0058412445308815815, 0.015515693848684214, 0.0020952677422368424, 0.008907295886842106, 0.00873527318223684, -0.006631097216973685, -0.01977647116223684, 0.010740387438947363, 0.008736050202499998, -6532119030263152e-19, -8522597289473685e-19, 0.007881729391184214, 0.007262564786315789, 0.009642556828684206, 0.009887033669644734, -0.00506204858236842, 0.00914667588671053, -0.005646160281184208, 0.0015682480643947365, 0.007187644667573682, -6413499337828947e-19, 0.0014132899411842103, 0.0017755321165263149, -0.007160940067000004, 0.012367878591973682, 22851084263157844e-20, -0.006308410619078947, -0.0015791580263157898, 0.00442315712593421, -0.006452675031118422, -0.009020969568421053, -0.011030041889539469, -8780194159210523e-19, 9627984798684214e-19, 0.00363151196994737, 0.02183342311710526, 0.02024013596973684, -0.012353824388684213, -764319970657895e-18, 0.002105059234210527, -0.0014566305570592104, 0.002706323287631579, 0.00607090862407895, -0.009545597578157896, -0.004247753485894737, -0.0176261248381579, -0.0031491103884210524, -0.003108941359539473, 0.015593445543815788, -0.04427306710881578, -0.0020792380994736847, 0.011489951907105264, 0.006966976375342106, 0.0015082572486578947, 0.007737702031710525, -0.00655683788473684, 0.007863643000657894, 0.002917634675013158, -0.004152638770789473, 0.005619210159473683, 0.005586618189342104, 0.010026886728421051, -0.004179918709473686, -0.005501686800131579, -0.00604261921421053, -0.0071300491338157895, 0.014459129589473686, -0.0037379425788157897, -0.0020940462386842117, -0.00957774127394737, -0.03357854765131578, 0.025668219275000004, 0.022622876078947373, 0.0022629713582894718, -0.0026858775323684216, -0.0017051095038157894, 0.003815842962894737, -3828872972368422e-19, 0.0026066615468157894, 0.012387053006578948, -0.006318214374868418, -0.007521578666315793, -0.01284997625631579, 0.012826012949078947, 0.0010223195625, -0.011615881295131579, 0.0022139161670263153, -0.002016348744078947, -0.0028064120447368417, -0.015572008834210525, -0.0019618904405263164, 0.00544554776289474, 0.009761993845921054, -0.012984902144736842, -0.014145811457894734, -0.008978529723144736, 0.004056017691315789, -0.011844596710394733, -0.0059587758225, 0.007508870492105264, -0.005443937433289474, 0.002935879441578947, 0.01486225123960526, -0.005532202826052629, 0.005462015192631581, -0.02565744589868421, -0.008383098813815791, 0.003647495577368422, 5357671111842098e-19, 0.01166961910486842, -0.006377186925131579, 0.0127008994825, -0.009436918356578944, 0.0020323967420921053, -0.008456428355526319, -2027747211842104e-19, -0.0030937144914473694, -0.011085721413078948, -0.009645654179210527, -0.014846991478947372, -0.0035684288476315797, -0.011654160063684214, -0.01581150187026316, -0.016840036789473687, 0.013057866414473684, -0.008234539141578947, 0.0053163960105263195, 0.020490004785526317, -0.00960410656486842, -0.006657243668236841, 0.010736420357105264, -0.01748494961973684, 0.0011016242359736844, 0.005718755139868422, 0.006338006613157893, 0.0038684128078947367, 0.005595157857631579, 0.017694987824210535, 0.017391755352355258, -0.003702699658552634, -0.005022188236513158, 0.01342638474771316, -0.0043205563098684206, -0.0028454328957894745, 2592531746052632e-19, -0.004767219290789473, 0.013560908384539477, 0.005906873550263159, -0.009617733145394736, 0.003591151950263157, 0.005010814367368423, 0.0012510964286842107, 0.0028993149072368417, -0.0051906266312368434, 0.00729437020368421, -0.012531499855657886, 0.020476676778750005, -0.009869155927894734, 0.0025973456112368416, -0.021903372915789476, 0.008153542140921052, -0.006835870289605262, -0.010486773017592106, 0.017626112727631586, -0.004606312977368421, -0.014957404596052633, 0.0020897874979618424, -0.004724369788980265, 0.021548606073684213, -0.0019029721914473681, 0.006200722453289475, -0.003450824262276317, -0.006826156169210524, -0.010176031075657897, 0.024789349911842107, 0.003143936896315789, -0.004955119694078948, 9158874664473686e-19, 0.0052856249526315804, 0.01390172287763158, 0.004978571828947366, -0.0032051206281578947, -0.007972612475236842, -0.007769723397631579, -0.00202725623381579, -0.003416697538776315, -0.002556709217407894, 0.0184408019, -0.01105052606855263, -0.014664148855789474, 0.003882449320657895, -0.012429670850921054, 0.013084466028552635, -0.04336451231578946, 0.0074979511960526326, -0.001663643616907895, 0.008059816289473682, -0.011445970542105267, -0.004167850928697367, -0.003230411173657895, 0.02097656965710526, -0.011578596098421053, 0.012013696860657893, 0.001233423443421052, -0.002649905661144737, -0.00883562393153947, 0.0015486095338157892, -0.010413099061842105, 0.013987708639236847, -0.0038697919174999996, 0.006219689598421055, 0.006652394345230264, -0.005381284718815789, -0.0037626181478947387, 0.01059816618401315, 0.003220842913421052, 0.0035804951468421044, 0.010183990906447369, -0.009547694365789472, 7697464371184215e-19, -0.011326520949342108, 0.036538593302236834, 9323258973684188e-20, -0.008973688185921053, 0.00706366331381579, 0.001107784416394737, -4910452642105268e-19, -6440596276315794e-19, -0.0036792987653684202, 0.003713873318157893, -0.004735835042960525, -9658112065789478e-19, -0.043979574686842084, -0.0016790318328947353, 9925788503157894e-19, 0.018722528654473682, -0.0021518665293421054, 0.0035296605411842103, 1413653897368415e-19, -0.017016988203947366, 0.004561038191973685, 0.015442165966184201, -0.007485759814473685, -0.017065918415000002, 0.009342482221710524, -0.0020734458669736835, -0.002520825664789474, -0.021231756026315784, -0.010013884122368423, 0.009265903680263157, 0.008139276791052632, -5609036057894738e-19, 0.015773905215697364, -0.001884182508960525, -0.0024270794468947356, -0.00422654353631579, 0.006008762833684209, -0.003698271740263158, 0.016081907390789473, 0.030718033629736848, -0.007108369866842106, 0.00527163336881579, -9271790684210529e-19, 0.0068789392490789456, -0.013093138075605264, -0.012924308120526315, 0.00556886656968421, 0.0033076618509210527, 0.0017935490473684217, -0.008094466807394738, -0.01079597931, 0.01151358625263158, 0.00893792486236842, 0.010344446836842108, -0.00719051074644737, 0.00572758606, 0.004846286956973685, 0.00814658403092105, -0.0010492790623684207, 0.0049120969460526315, -0.01486755767197368, 0.004852195027565792, -0.007043126832710525, 0.005356651270263156, -0.0035065615885723684, -0.005829078253026317, 0.025083412392631576, 0.0015541765726315804, -0.013320558341842105, -0.027978110792105267, -0.004866113275657896, 0.009822611491184208, -0.004338714495526316, 0.028622747207894733, 0.0056140354747368434, -0.012210432556184212, 0.0033045029190263164, -19000230480263145e-20, -0.0034141616881578937, -0.004623406075394737, 0.006392982858421052, 0.01835209741710526, 0.01747985185131579, 0.004233065692460527, 0.01626176455263158, 0.0032433631718421056, -0.011749469372421053, -0.012891163621052632, -0.01571628433157894, 0.002652207523026316, 0.004507458543026318, -0.01775668739868421, -0.03493414880657894, -0.016362935907894737, 7675142188157897e-19, 0.010285956762684217, -0.0014735680384210526, 0.011252831868552636, 9547897207894737e-19, 0.006510753468289477, 0.005189211297763158, -0.013117319414473682, 0.003801194065131578, -0.008176472670263162, -0.008538372863026316, 0.02108607474342105, 0.0037161164223684204, -0.004774306337894736, -0.0077946213527631605, 0.0024585640678947366, -0.012176232483421057, -0.012235060736184205, 0.001400212257894737, 0.0027084579294736843, 0.0068722990685526324, 0.013335502111842099, -0.005830226586052632, 0.011873504235263161, -0.013693625648026312, -0.010449696567302632, 0.011044927082500003, 0.015400494224552629, -0.009381916401355262, 0.006673642672368421, -0.0018263740446052626, -0.0021770728546052624, 0.016361497218421055, -0.01863254121315789, -0.003530500149210525, -0.03730359020723685, -0.004191118148289474, -0.0045071628236842114, 0.015596569568947373, 0.004240642962276315, -0.002759536991368422, 0.005148003131355265, -0.0069468455677631595, 0.012819585946447368, -0.003170211528815789, 0.01752115107447369, 0.009766708002105265, 0.01720768516973684, -0.01617324446578948, 0.012112183639473681, -0.021386946318421057, -19106013060526326e-20, 0.006491905236710525, 0.012694083912631583, -0.012121427248552632, 0.007453259151052631, -0.005300583340657895, -0.0034357232692105253, -0.008234549374210526, -0.0049134867761842105, -0.011864055638157895, -0.00727513381118421, -0.006225588572394736, -0.014474562209210527, -1696423735526317e-19, -0.009927942404210525, 0.005164234018026316, 0.0017515462315789469, 0.0015904607235526311, 0.007963644751578946, 0.012216724002631584, -0.009501306335068424, -0.003338244066407896, -0.013702270143026316, 3177477896842107e-19, -0.004519560832171056, 0.002465137685263159, 0.0021053644855789483, 0.01910074195263158, 0.012031324014473682, -0.0018186422331578943, 0.005212327788421051, -0.004785163042710527, 0.0021153964885526322, -0.00444928972188158, -0.0035029865, 0.0075856674897368396, -0.016637170858460525, -0.0049104649688157895, 0.004211803076513158, -8546719754210526e-19, -0.005023115469473685, 0.0029476111911842105, 0.002885427894921053, 0.004207519965584211, -0.0045995042944736875, 0.003015317669210526, -0.003959649376578948, -0.001799221694921052, -0.010122554486973682, -0.004602558039210528, 0.0013513901315789464, 3764912463157896e-19, 0.008489159527105262, 0.014707852295131572, 0.002345036650789474, -0.0032689961036842102, 0.04255329955263159, -0.014716855848684204, 0.008619987162236838, 0.008365918811578948, -0.005013759794736842, 0.004195959585499997, -0.008992120611710525, -0.009782703207236846, -0.0022335605896052625, 0.01287937127763158, -0.015554637754473693, 0.008397985909605265, 0.002251561622499998, -0.010050093168815789, 0.008956767632171053, 0.013687852065394742, 0.013600534268289477, 0.004365934441315789, -0.0030305592554868413, -0.00781057913469737, -0.004966902079605262, 0.01856187427644737, -0.0025631659986842118, 0.004677612719921054, 10226186131578904e-20, -0.014421684380263157, 0.016739205349605258, 0.0050146044172894744, 0.011911084407631578, -0.002687138399210526, 0.00960758048539474, -0.002726553521315789, -2118536161842109e-19, 0.013187813793947371, 0.009969895463026316, 0.006658861126052631, -0.0018322755946052636, -0.0017487937331578944, -0.011101524417894743, -0.032939431818421065, 0.01520578899605263, 0.0015081202571052632, -0.005066026860486843, 493556515986842e-18, 0.004060829064605263, -0.005561150131894735, 0.010997560033026309, 0.004095647503947369, 0.012622729288684204, -0.004958941837157896, 0.006538527521447367, -0.0010266161943421049, -0.004851542462973687, 0.0016268616459210535, 0.008403855759605262, -0.005476859455, -0.00812804427618421, 0.007041481924657892, 8838693684210528e-20, 0.00597193902618421, -0.00842409854263158, 0.0024697172419736856, 0.005663838686578944, 0.0036075020965789487, -0.0023292463477631578, -0.0032376719465789477, 0.021101475338026313, 26567486563157904e-20, 0.016493054231184204, -0.002458445587631579, 0.0010258956694736841, 0.00225805411368421, 0.0031990768135526323, 0.006263685490526316, -0.004572679283552632, 0.009529538310526317, -0.011298854067368422, -0.010216326432368422, -0.01634466709473685, -0.014281002560460524, 2702401223684224e-20, 0.005255444044671053, -5290619164473683e-19, 0.020079138140789477, -0.0017828449621052637, -0.012192540535789468, -0.007199579816184209, -0.00116835002625, 0.00958368675736842, 0.007733851895789477, 0.007963292808289474, 0.025216065143421052, 0.004103331857894736, 0.0030591781828947368, -0.009872114714473685, -0.004663548545, 0.004991833832105262, -0.006863926871710525, 0.001242838931578947, 0.020425079027802634, 0.012370465663815786, -0.012126274007894736, 0.010670443024473687, -0.01464566428460526, -0.0038673775906710524, 41958086710526394e-21, 0.01994244099210526, 0.015357990706842106, 0.0063989385026315794, -0.018309239200000004, 0.006747877917368419, -0.017506960167236837, 0.005670401942631581, -0.010581732321578946, 0.0011620065078947373, 0.012163235759210531, 0.006399715106223681, -0.006113071873210528, -0.0028651888345789466, 0.002149627898157895, -0.012140688709210527, -0.010713522528947373, 0.02737408816710527, 0.017518066717105266, -0.005137931570986841, 0.003589904351447368, 0.0010994190049210533, -0.004798525595026317, -4554749059210497e-20, -6981043210526358e-20, 0.017134092135131583, 0.012083527265789476, -0.049615527359210515, 0.005816751165736842, 0.01857131190000001, 0.02351225466336842, 0.01219104790131579, -0.0010487995125921048, -0.0044726659714473685, -0.001028941063157895, -0.005443464117499998, -0.00634262967868421, 0.010381099005263152, 0.001703392962105263, -0.009139037917894735, 0.009512460323684208, 0.008586436496315792, -0.025455710537105262, -0.009792295319078947, -7742059002744737e-19, 0.018877256644736842, 0.038857334956578955, 0.003912381590921053, -0.008361733056842105, 0.016590833038421057, -0.005869556491710525, 0.009990736888552633, 38346460510526274e-20, -0.016626637246578948, -0.012364668933289474, 0.0018547245361842113, 0.006512999228605265, -0.001085481154868421, -0.009963445404999997, 0.004301809971973684, 3661409990131576e-19, -4224867659394737e-19, 48160601578947393e-20, -0.007223044006763162, -0.026113254673289465, -0.0013004677222368422, -0.0017831314044736836, 0.01561539529144738, -0.0066719939618421036, -0.00877529002351316, 0.006605579253289475, 0.005603149853552632, -0.007193712031578948, -0.0016247132320263158, -0.012534181940394738, 0.017229109368421053, 0.00245370861631579, -0.006031722248552632, 0.0031117475930263158, 0.0043886369376315805, -0.0024453895729249996, 0.00690473798328947, 40740072210526353e-20, -0.0031424490643421057, 0.019926203121315794, 0.012182200482894739, 0.008118145491578951, -0.005559053631315788, -27164370357368446e-20, -0.003351124758092105, 0.005957678860368421, -0.008513101869473681, 0.007304541067499999, 0.019957336234210518, -0.0030209489469736834, 0.004469626572763158, 0.012090736671578948, 0.01514115723331579, 0.0042360726635526326, -0.010162506523684207, -0.002649304801184211, -0.007750173208749997, 0.0019587431771447374, -0.027095424518421053, 0.0066075871005263145, 0.00536601891631579, -0.0010357673420394737, -0.003466868494342106, 0.014316960686578954, 0.0023369776231578956, -0.0053653818119210545, -0.007858214859999999, -0.013146294391315785, -0.0018566735342105262, -0.009514895538421051, -0.0036132000074342112, 0.0034368430490789486, -8554010195394731e-19, -0.0032387031372368437, 0.00244777456131579, -0.006286163061842106, 0.011771267721710532, 0.023035620363157896, -0.0043442739443421054, -0.009922730226315792, -0.004276738937499999, -0.0035189323507894745, 0.0039030267724473704, 0.014395429023592102, -0.0012053757906578947, -2897619489473682e-19, 0.007045867771144736, 0.007517767199210526, 0.007418771915644738, 0.010169157498289476, 0.00706302323276316, 0.013311043676250002, 0.003038169512894737, 0.0033463043809210517, 0.001753204881197368, -0.0074550630986842115, -0.03247426388684211, -0.014712809272763156, -0.01257650307744737, -0.005583758863815789, -0.010988394333684212, -0.01094829823105263, 0.014527793146184208, -0.01726736960019736, -0.0011412191313157898, -0.003875160005921052, 0.0054491025328289484, 0.00764098283223684, -0.01397128377631579, 0.020156240986078953, -0.018178711318157893, 0.007760771186842106, -0.012693300230263159, 0.0034562666953947383, 0.017623470872368423, 0.01328646389205263, 0.006033057996184212, 0.0021477171030263157, 0.004209592630394737, 0.022607883206578958, 45995770960526315e-20, 0.004256902114473686, 0.007727120836526311, -0.011495399911315795, -0.006097572578026317, -0.003288532194342106, 23524967355263143e-20, -0.01843602415421052, -0.006332212189999999, -0.007104603521578947, -0.006046406687763155, 0.0031444280434210527, 0.011026709301315791, 0.007965343235657892, -7478460321052628e-19, 0.010399411723157894, -0.003222595633552633, 0.0013722621246052631, -9306063203684211e-19, -0.008244672536447365, 0.010224801592763153, 0.011236862973157893, 0.002438936607828946, -0.0011834995152631578, -0.007761896696973684, -0.006536142010526313, -0.004305835025789474, -0.006375306423552633, 0.002894340127526317, -0.007056530478157897, -0.006344087711473684, 0.012371267300526317, -0.008661172924210528, 0.016608231906578945, 0.006209598555605264, -0.0049610081385394736, -0.006289596580421053, -0.008653004873157896, 0.006589724684342105, 0.0042221396663157905, -0.024205309596052636, -0.007927559016842107, -0.0036796517148684213, -0.010860645916842101, -0.001776141146973683, -0.0066375001164473675, 0.002395305515921052, -0.014593319744736844, 0.00733454749668421, 0.0019130213015789476, -0.02945044170131579, 0.0021041659146052625, -0.002779561371539474, -0.020078335207894735, 0.003642550809710527, 5936502644736846e-19, 0.00325616999868421, 0.017399437181578953, -0.06370752007631578, -0.003701780296631579, 0.007564594753552632, -0.00405948423839737, 0.0015840840405263162, 0.005836310675263158, -0.012381032086315788, -0.004665367583947368, -0.0010173959317894734, 0.005156387308802632, -0.0165339495006579, 734178938157895e-18, 0.024508261125789473, 0.01724277075526316, 0.008913617889078948, 0.018123411353289477, 0.019972735151315802, -0.015223236485526315, -0.011504417352105265, 0.010046699026184209, -0.009774468743421052, 0.014051472367763159, -799595632236844e-19, 0.015914003425263158, -0.010235261282894738, -0.012426796318973685, -0.00529559477105263, 0.0032275154818421047, -0.012022474961184216, 0.004842165463157897, -0.012777494966842105, 0.007940708949736842, -0.010386868507894734, -0.012277893373289472, -0.01469461501513158, 6472758955460526e-19, 0.011309826192631581, 0.0014896182946052632, -0.0018290806492105261, 0.004781091154078948, 0.009413893570921053, 0.00916419533118421, -0.002920155307368421, -0.004322433785789473, 0.010922147476842106, -9692939010657897e-19, -0.00471161965105263, 0.0022456688428947364, -0.01511019358289474, 0.01469485253026316, -0.0034939871920921027, 0.005169176186973684, -0.004767383189802632, -0.004363123971710525, 0.008160435356184211, 0.008593854647631578, -0.014373928093157892, 0.012998453866184211, 0.012818183890921054, -0.0012967544054736846, 0.018860078121447365, 0.011299536434868421, 0.010162780092499995, 0.010768595093881578, 0.006929429669736845, -0.009301306071052631, -0.001229964434210526, 0.022915811622105268, 0.005473494591263157, 0.01684595049736842, 0.0068085582832894745, -0.009735548395394736, -0.008009809031052632, 0.00818278650394737, -0.00514607482631579, -0.0017882432596052638, -0.003795041893157895, -0.0028177598829473675, -0.009401223562894738, -0.015638386469736837, -0.013144470036842108, -0.0025362829124999987, -0.015570190517552634, 0.0072135779351315795, -0.0033293784007894737, 0.0033921677573684203, 0.0171126722368421, -0.016200724738157896, 0.002023070578552632, -0.005874176478421054, -0.007982894414539473, -0.01305297109342105, 0.013835959466144737, -0.007678114530657894, 0.0016565042665789473, -0.0029898593556578947, 0.018475673282499997, -0.004774599107368421, -0.01045985660768421, 5002329298684213e-19, 455613157105266e-19, 0.012770474667763154, 0.0036531933109210527, -0.006355904673157896, -0.00323254957336842, -28950164197368423e-20, -0.0016983754679473682, -6461348456578951e-19, 0.011579839645394736, 3174967802632419e-21, -0.009248690072105265, 0.010413905775572371, 0.00742944108473684, 0.00453180122631579, 0.01615883042802631, -0.0032757992935526312, -0.0038371938214394738, -0.002908959269342105, 0.009208926093951316, -0.0014955339189473683, -0.013758465006973683, -0.0063294295475, -0.005727852496578948, -0.005272904527105263, -0.001316834533684211, -0.01645172019144737, -0.007092707085578947, -0.003522257189605263, -0.013505265605263156, -0.011881032946052632, 0.011369551982828954, 44452595263157905e-21, -0.006352405066578949, 0.0052995613325, 0.009505844287763156, -0.006053228503013156, 0.006845024962368421, -0.011510292038552633, -0.0032177408799999997, -0.004505434028289475, 0.004123595264342105, 0.006593527555000002, -0.011078657794605259, -0.014011584826078945, 0.0029858133488157895, 4344722920789474e-19, 0.008640971361973684, 0.006481291948157893, -0.005891967694342105, 0.008448872632763157, 0.016859102106052633, 0.0014603208068421055, 0.005249472965605262, -0.00686901125013158, -0.010637044371578948, 0.011924648195789474, -0.0058005032065789495, 0.015501499024999997, -0.006453810105921054, -0.002997035320473683, 0.018575800172368425, -0.008515451444736838, 0.012462028264473679, -0.003774380357539475, -0.0019450062711842105, 0.00391133496173684, 0.004730433910526316, -0.001315982468776316, 3232796018157894e-19, -0.0066704201258026286, 0.00680665693223684, -39029438710526344e-20, 0.005489703965131578, 0.008671756791842107, -0.012851425032368417, 0.003147755206052631, 0.0026194010623684216, -0.007664137591973682, -0.011883636635, 0.004133208043763159, -8303924315789413e-20, 0.003270837395131579, -0.005892774992763157, 0.012238801593815785, 0.006942355931973683, 0.02878469881921053, 9479045131578946e-19, 0.0017351399474736847, 0.008778382914078947, 0.0010939997295263163, 0.0030465893436842097, 0.014783142862368417, 0.01642540962717105, 0.0036857923714473675, -0.015363344993026315, 0.009919231350263158, -0.011551756493421059, 0.0023134715465394744, 0.011385295549473687, 0.013802586752105264, -0.01116167753921053, -0.003641126586684211, -0.013648889441184206, 0.014234762527368418, 0.002806655006105263, -0.013499138960736849, 0.005006243019473683, 0.015739427460526312, -0.0027175753445131574, -0.010932971389473686, -0.010770135974552631, 890700216526316e-18, -0.012623942286842103, 0.016124839350000003, -0.002831514939934211, 0.012697006429342104, -0.007019076696973686, -0.006475317798065787, 0.007137869946052634, 0.006031961175105265, -0.00705848445763158, 0.0033737443014210527, -2768167815789512e-20, 0.017694467707894734, 0.006258390639605262, -0.002385706069394737, 0.003583886412894737, -7993168968421051e-19, -0.01620972400113158, 0.01370171146118421, 0.00461520679318421, -7547631113157896e-19, 0.002939954357631579, -0.006845462558289473, 0.007328082212763157, 0.007676322326467105, 0.004349595261973684, 0.015829044343197374, -0.00368448221881579, 5303418106447364e-19, 0.0026827215614473685, -0.008580460431710527, 0.005024989097499999, -0.003635687485394737, 0.002272944439315789, -0.006124602738289472, -0.016172138838026325, 0.015377584130394738, 0.010782426606184206, -0.021383269930657894, 0.005706450336052631, 0.0018523320315789475, 3522892494736843e-19, 0.004350316041157894, 0.005934959479144734, 0.01708160452131579, -0.007678650551447369, -0.0033582777418421053, -0.017157569269684224, 0.007354085403947371, 8351606031578944e-19, -0.005335390844342104, -0.002535301282368421, 0.014636234615921057, 0.004858749898355263, 0.007662922150526313, -0.0016256868378026308, 0.01556731267368421, -0.005104593538289476, -0.019748377389473677, -0.013980995652631582, 0.00946453539263158, -0.008415238208421055, -0.011370187082631577, -0.024026692542368423, -0.028569824043500013, -0.004478069888947369, 0.0031515005953947363, -0.002700122834605264, 0.00815917739855658, -0.00445320840494737, 0.006830579967631578, -0.006684497927105263, 0.010432664122105263, -0.014661140320368424, -0.006587801074605265, 0.007357709939078946, -0.005931698591973684, -7732484365789474e-19, -0.002239530471052632, 0.007788843097894735, 0.0064669147390789454, -0.0030537573617631575, 0.017894125887236843, 0.014577202200000002, 0.0015132674616710532, -0.0057732834064473685, -0.0027821142750131585, -0.01908095769276315, 0.009781772397894737, 0.009500178334210524, -0.08152622444736843, 0.008212754039473679, -0.01767476994144737, 0.0026395801725000003, 0.0014657673559210526, 0.007638076904605263, 0.004058115665973685, 0.0035145148113157896, -0.011827003826315791, -0.0027065570113157895, 0.0023756798456578943, 0.008448311618421052, 0.017983404865789466, 0.016279126637631577, -0.0012591387876315795, -0.01015563660263158, -0.007210258607868422, 5225580767105262e-19, 0.008399898934210526, 0.005169876301250003, -0.0054817867677631575, 0.004851883672052633, 8781897375131572e-19, -0.004407749175657896, -0.0037234890038684225, 0.010837226267236846, -0.008299530855789473, 0.012997853572105266, -0.017374133039473685, 0.01771941214802632, -0.010850383854999996, -0.0025922976049605273, -0.005014948546052633, 0.001572493777631579, -0.009683719784736844, 0.003544048853289474, -0.005399044507894736, 0.0019298673893421046, 0.008562550747213162, 0.007685438104276315, 9653876659736838e-19, 0.006209795067934209, -0.007815720736421053, 0.01339235502684211, -0.014595927550000002, -0.001961306322894736, 0.01755357029118421, 0.009892284107105262, -0.004357266436710526, -0.024933551971052636, -0.008265622360263156, 46308488684210446e-21, 0.008073451047105263, -0.006002720232921055, 0.00960784907105263, -0.008960232250921057, 0.009452138660526316, -1669984473684197e-19, 0.006347901398026315, 0.006253983917105261, -0.001933425444473684, -0.010605378191710526, 0.0017956876511842107, 0.010316846388552634, -0.006851734682407896, 0.017523879366710526, -0.003045540768026316, 0.021021487419736837, -0.00978115143263158, 0.007848767184210523, 0.008862482220921052, -0.01242224652736842, 0.0013790572871052633, 0.014478706237421052, -0.008613721365578947, 8338612144736844e-19, 0.003780419830131578, 0.00346602358868421, 0.01269026605723684, 0.009463772316851317, 0.012594825682894736, -0.0069123792341578925, 0.0013869928297368425, -0.012008816909210525, -0.005822936399078947, -0.016418475083815786, -0.010629006791973683, 0.008168218550394738, 0.00664607999610526, -5069868140000001e-19, 0.004181848071447371, -0.0011114877839473682, 0.02246608591315789, -0.0034439313037368416, -0.004351277874210527, 0.0014461106753947362, -0.009660680614197373, -0.005408365936052628, 0.01752714284907894, 0.008516543233210525, 0.002278526259736842, -0.006875266473026315, -0.0069421802624999975, 0.013035910887894736, 0.0015391923593421058, 0.0012664572747368423, 0.0011414591399473686, -0.0037214528182894745, 0.015104741671868427, -0.013068065997078947, -9741302530000001e-19, -0.0033918721798684216, 0.005097137174605263, 0.004477671593026316, 0.006166728530789473, -4620546571052633e-19, -0.00529603509618421, 8418184122421051e-19, -0.0012031493919868418, 15712514144736853e-20, -0.0019224767417105261, 0.005464992050000003, 0.004573905729556577, -0.005107717659999997, -0.001779724216276316, 0.0062555419631578945, 0.014157424513157893, -0.002229668639710526, -0.004112240003421051, -0.008737391783947368, -0.01772272931749999, -0.011969726380789475, 3489228665526319e-19, 0.008398761923223683, 0.006083781918289473, 0.0038491992196052634, 0.006757484750263158, -0.0033988848290789457, 0.010786320785381581, 0.007709229539986843, -0.0027759906160526315, 0.01513786151671053, -33675679921052606e-20, -9034154792105268e-19, -0.006730010358421051, -0.0038794277310526316, 0.011774508437552627, 0.0075108212575000005, -5415923363157894e-19, -0.010228818563289476, -0.004567732969605264, -0.006103785833947367, -0.007408031901286839, -0.0032699436107894737, -0.007860791874210528, 0.01599756300842105, -0.016585482788684217, -0.008410989815789471, -0.0024622896271447366, -31383816486842115e-20, -0.006790721234210526, 0.0037121541342105256, -0.009942839455, -0.012361527721052628, 0.019747696744736844, -0.004605994977907893, 0.0033676318580263156, 8737887935394738e-19, 0.002211198596144737, 0.010937877776315795, -0.01129901567118421, -8168034689473677e-19, -0.009641223938421057, 0.009402437952631576, 0.0056297516052631605, -0.0010065862368421055, -0.02594543341447368, -0.0011355776477631582, -0.011891248669605264, -0.00839228417031579, 0.007896343589210524, 0.007322515729342106, 0.0033040433167105263, 0.003778204579868421, 0.011096790547631581, -0.0015593353430263153, 0.014356465188157893, -0.006630788594118421, 4828352872894737e-19, 0.0010450569010473684, -0.007027775473815791, -0.006984254253157892, -0.00792534963342105, -0.00162584528, -0.006522221855263158, 0.01805963293197369, -0.004809070690789476, -0.01814591389078947, -0.005865267296828947, 0.003988285848684209, -0.008169152964999999, -0.008437095909210527, 0.009360843043815788, 0.030021375652105258, 0.007297060365657896, -0.0023612295406578963, -0.01073050399763947, 0.0019045162401315795, 0.00651718905263158, 0.0010275199546052635, -0.006277306921263158, 0.0012021913027105262, -0.011182417592105264, -0.002024020123421053, -0.006231476668342106, 4796000135526314e-19, 0.006449109247355262, 7456603261184208e-19, -0.005144762157460526, -0.0021357675948684212, -0.01883197047171053, -0.025576503247368407, -0.013539074083421053, -0.011034470814473686, 0.0024368244498684222, -0.002245899774736842, 0.007094408709210526, 0.0012029363072368422, -0.009510369465000001, -0.012366834156578943, 22163493250000016e-20, -864950124473684e-18, -0.0054156288555263134, 0.005750937247368423, 0.003270796098421053, 0.002449161180921053, 52041173618420834e-21, 0.010704513787500002, 0.001962141009605263, 0.004546446430526313, -0.009514348226710524, 0.013900074301842112, 0.007515311701355261, 0.0035688571342105263, -0.0031417825293421063, 0.013631733623026311, 0.004473217585789474, 0.022099065907894736, -0.010242928179605263, -0.021115605811315788, -0.0020430657981592103, -0.004960829025921049, 6026669513157779e-20, -0.004585000899605264, -0.004475863079315788, -0.004507509982368421, 0.012760686508684211, 0.0035079304818421055, 0.0043142242481578955, -0.0037753994023157884, 0.009972505233289472, 0.004257388717499998, 0.0037933767182894737, -0.003782828635039474, -0.016245113222631585, -0.0067635378846052615, 0.001699853626842106, 0.0049727823532894734, -0.0026726438017763156, 35606309460526324e-20, 0.0014221154155263163, -0.006753894785657897, -0.0021303370428947363, 0.0020290390381578942, 0.0065541381115789485, 0.005578077509210527, 0.00597834956631579, -0.015656070957894737, -0.005700937814868422, -0.003300278165210526, 0.0010437032015789478, -0.006081244438026316, -0.012030119331578949, 0.008609655173684212, -0.012421846317171054, 0.0038849181815789487, -0.003441401350921053, 0.005337632936842106, -0.00501430082631579, 0.007684295191355262, -0.018589622549210528, 0.0020294963380921055, -0.01736990133552631, -12342767794736842e-20, 0.013101640196631579, -19718100105263185e-20, 0.00191136175070921, 0.002991744120394736, 0.005360340401578948, -0.002541910205657895, -0.011420830478947371, 0.0025571802081578946, -0.007654641906842104, 1324760923026315e-19, 0.009839589908289474, 0.014137809323684214, 0.005973617257894737, 0.0044086344710526325, -0.007683909966710525, -0.014283573396973682, -0.015558832550000004, 0.006422352959605265, 0.0015610042364473677, 0.005954876463289471, 0.01747821746710526, 0.012649821948026316, -0.00588777466013158, 0.00278459120360921, -0.0027093084425131573, 0.00528561605, -0.0013567440365789465, -0.0036329947868421046, -0.027717547824078946, -0.009446810628947372, 0.0016673699111842107, 0.01964425766578947, -0.00695099289526316, 0.01540288453881579, -0.0017949823404736845, -0.0017532934771052637, 0.011818318206578948, 0.0014771281863157897, 0.010423521287236842, 7254289103947369e-19, -0.004566167288026315, -0.003529428743197369, 0.0011952240294736843, -0.003898400712605264, -0.010473680018684213, 0.00285922366139474, -0.006599853688026317, -0.02107415088815789, 0.0052880693118421045, 0.006744707181578948, -0.00798451460657895, -0.004557204219868423, -0.01156681187255263, 0.0076239759752631635, 0.0035902046968684207, -0.012573743979605262, -0.003764909397236842, 6335979498684211e-19, -0.003016045632947368, 0.0018927498906578949, 0.007497210715789474, -0.005934193091907899, 0.0035080823515789466, -0.0018217714548684216, -5523007649828952e-19, -7058270163815789e-19, 0.012370342157368423, -15139791644736762e-21, -0.013432961709210524, -4939559349999998e-19, 0.010054779912499996, -0.001919280470486842, -0.0013844150172368421, 0.007696783919605264, 0.008991117240473684, -0.007747281024078945, -0.004739962277894735, 0.007187543989473684, 0.003015955778815791, -0.001928289877644735, 0.004620562280552632, -0.0014514659089473684, -0.020361874824473686, 0.010851485952894735, -0.0048367870628947375, 7418370901184215e-19, 0.003954019490328949, -0.0036905010957894754, 0.005135467446315788, -7641653630263166e-19, 0.002803192092157894, 9011874512236843e-19, -0.006852827178236843, -0.009182144093157896, 6662634763552632e-19, 0.003859204278289474, 0.002627766069263158, 16687577934210564e-20, -0.004155122549868421, 0.007481256317894739, 0.010201827506842105, -0.02001931662526316, 0.008597913657499998, 0.009211417565, -0.003000300423684211, 48565491249999974e-20, -0.006839893910657894, -0.0024400726705263165, 0.0018072735346052636, -0.019441373660526323, 0.008917724683289475, 0.006977527517447371, 0.0012267423015789476, 37295210526322205e-22, -0.03201578951578947, 0.0014607340267894736, 0.010337255695263156, 0.002957082175947369, 0.009742125079473684, 0.0062952107691315795, 0.010293411451381573, 0.007467224718026317, -0.01702668064539474, 0.005315579784210528, -0.03403872432368421, -0.0036593492817105257, -0.013481478045789471, -0.005543817282105263, 0.0024990400036842106, -0.005272580224539472, 0.009082922817368418, -0.001777538198289474, -0.00401194444394737, 0.00793982549736842, 23839166631578926e-20, 0.005703706245131579, 0.0032615849919210536, 5623444232236841e-19, -0.009299548110394735, 0.0010441157952631576, -0.012694072275263158, 0.004126734016842105, -0.001088491213815789, -43924066513157913e-20, -0.006497900055789475, -0.008375932914473687, 0.006604953940657895, 0.008322977985131578, 0.0014929076139473686, -0.005037357923289473, 0.001687304174736842, 0.005036407010486843, 0.002468036690526316, 0.0014052489157894733, -0.0022257209973684214, 0.005458085299473683, 0.009009774955749998, 0.0858067330657895, -0.007581642367631578, 0.01083994584868421, -0.0022605711906578943, 21345696315789494e-20, -0.005091092415263156, -0.0064649052059342115, -0.0031673467632894734, 0.007837809513026317, -0.0048379660456749985, 0.003358471353947369, -0.007209436236315789, -0.004074764670526317, -0.002432236466131579, -0.001538101053328947, -0.003958276178197368, -0.001431222515394737, -0.002890863070263158, -0.005015565842105263, 0.006637256008947367, -0.01610401879026316, 16318058486842113e-20, 0.006704906538815789, -0.00704305531026316, -0.006291144144078946, 0.00933739933177632, 0.003039505811973684, -0.002349317244736842, 6161272673684213e-19, 0.011576436187894739, 19294986634210533e-20, -5418114680263158e-19, 0.002641153911184212, -0.00675274457026316, 0.008304665786171056, 0.001867557076842105, 0.007009144105789473, 37644492855263173e-20, 0.008968001444210526, 0.0015434073640789474, 0.005244117515263159, 0.0029953329880263156, 5347106021052633e-19, 0.004156591307368421, -0.0022211070997368424, 0.0034716415264473685, -0.0065318866889473685, 977989682631579e-18, -0.0014095522748684215, -0.006451674766447366, 0.0032100871473157893, -0.005529904199539473, 0.0059584155557894725, -9850399996052639e-19, 0.006995684919078948, -0.0022856163722368393, -0.01090589053710526, 0.009130581944078944, 0.00312594295013158, 0.007374450093421053, 0.0025797777251710522, 29641350526315737e-21, 0.001176881737763158, -0.014572063391447372, -2289824355263157e-19, -0.004469249211710526, 0.007769186374868425, -0.002506505231434211, 0.006041142717631577, -0.002120238433026316, -0.009695580013552628, -0.005020087666881578, 0.005143053156315791, 0.007150294719789475, 0.0023021195396710527, 0.003707133851447368, 0.006069693725921051, -0.00467861785710526, 0.02125906401236842, 9268083446052627e-19, -0.003634692288684209, -0.003680463652815789, 0.0040336247021052615, 0.0013372253536447368, 0.0021130635865789465, -4880915286842109e-19, -0.012233446567342104, -0.004310965072894738, -0.01132869828552632, -0.006841497305263159, -0.0016422147394736845, -0.002537146005289474, 0.003615671777368422, 0.00814799093118421, -0.005056491793263158, 0.013174237758684208, 3394553878157892e-19, -0.008489372885473684, -0.0027938550723684203, 0.0030627760844078957, 9348454796052637e-19, 0.004848255386842105, -0.0117739507, -6810965494736843e-19, -0.002880153715, 0.008861613728178947, 0.0033199058337500006, -0.003612675859078948, 0.002928360304065789, 0.0039185375651315775, -7332073442631576e-19, -0.0012935513150789466, 0.004886879997894738, 0.007781129023552632, -0.004267412731052632, -0.003639562495460526, 0.00523262424868421, -0.003657068880394737, 0.005125610617552631, -0.004419953952236842, -9843244355092107e-19, -2347114171052623e-20, 0.0016072527152631584, 0.003128275799539474, 4279722777368421e-19, 0.006050774428552632, -0.004237210059210528, -0.0025468053725000005, 0.0026924242311184205, -0.02019396686092105, -0.005761839523684209, -0.009751797271973686, 0.011594078876973685, 9348787827236843e-19, 0.014106164205263163, 6055481813026316e-19, -7440742407894764e-20, -0.005227106624868422, 0.013380218100789466, 0.008165820871447366, -4882895227631577e-19, -0.0010533377903157893, -0.0016510250091447362, 0.0018723641477631577, -0.004344320649736843, 0.002451466830486842, 0.003751309517368421, -1192675066447369e-19, 5871760036842106e-19, 0.00721447406936842, 0.003513352502315789, 0.009986706387763158, -0.003577922982105263, -0.006272508934210527, 0.00939798507907895, 0.005559408675131579, -0.004530027807368421, 0.008267799573289474, 9763903811842103e-19, 6323663030263157e-19, -0.018563745183684206, 0.003477922045657895, 0.0034454675522368416, 0.0022030032148815794, 9718481634210526e-19, -0.006363050955000002, 0.009044980506973683, -0.007551598236973688, -6711054927894736e-19, -0.0013286158334210524, 0.0017464641878947365, -0.011715851191973686, -0.005520589822500002, 8535201651315791e-19, 0.010038929649605262];
|
|
4714
4714
|
|
|
4715
4715
|
// src/lib/chat/preProcessor.ts
|
|
4716
|
-
function wrapAsUserText(prefix,
|
|
4717
|
-
if (!
|
|
4716
|
+
function wrapAsUserText(prefix, text15) {
|
|
4717
|
+
if (!text15 || !text15.trim()) return [];
|
|
4718
4718
|
return [{ role: "user", content: [{ type: "text", text: `${prefix}
|
|
4719
|
-
${
|
|
4719
|
+
${text15}` }] }];
|
|
4720
4720
|
}
|
|
4721
4721
|
|
|
4722
4722
|
// src/lib/chat/cryptoPriceClassifier.ts
|
|
@@ -4736,8 +4736,8 @@ async function classifyCryptoPrice(prompt, options) {
|
|
|
4736
4736
|
}
|
|
4737
4737
|
async function classifyCryptoPriceBatch(prompts, options) {
|
|
4738
4738
|
const { margin = 0.02, ...embeddingOptions } = options;
|
|
4739
|
-
const
|
|
4740
|
-
return
|
|
4739
|
+
const embeddings2 = await generateEmbeddings(prompts, embeddingOptions);
|
|
4740
|
+
return embeddings2.map((emb) => classify(emb, margin));
|
|
4741
4741
|
}
|
|
4742
4742
|
function createCryptoPricePreProcessor(options = {}) {
|
|
4743
4743
|
const margin = options.margin ?? 0.02;
|
|
@@ -5395,7 +5395,7 @@ function findMatchingTools(promptEmbeddings, tools, options) {
|
|
|
5395
5395
|
if (!tools || tools.length === 0) {
|
|
5396
5396
|
return [];
|
|
5397
5397
|
}
|
|
5398
|
-
const
|
|
5398
|
+
const embeddings2 = Array.isArray(promptEmbeddings[0]) ? promptEmbeddings : [promptEmbeddings];
|
|
5399
5399
|
const results = [];
|
|
5400
5400
|
for (const tool of tools) {
|
|
5401
5401
|
if (!tool.embedding || tool.embedding.length === 0) {
|
|
@@ -5403,7 +5403,7 @@ function findMatchingTools(promptEmbeddings, tools, options) {
|
|
|
5403
5403
|
}
|
|
5404
5404
|
try {
|
|
5405
5405
|
let maxSimilarity = -Infinity;
|
|
5406
|
-
for (const embedding2 of
|
|
5406
|
+
for (const embedding2 of embeddings2) {
|
|
5407
5407
|
const similarity = cosineSimilarity(embedding2, tool.embedding);
|
|
5408
5408
|
if (similarity > maxSimilarity) {
|
|
5409
5409
|
maxSimilarity = similarity;
|
|
@@ -5434,12 +5434,12 @@ function scoreTools(promptEmbeddings, tools) {
|
|
|
5434
5434
|
const scores = /* @__PURE__ */ new Map();
|
|
5435
5435
|
if (!promptEmbeddings || promptEmbeddings.length === 0) return scores;
|
|
5436
5436
|
if (!tools || tools.length === 0) return scores;
|
|
5437
|
-
const
|
|
5437
|
+
const embeddings2 = Array.isArray(promptEmbeddings[0]) ? promptEmbeddings : [promptEmbeddings];
|
|
5438
5438
|
for (const tool of tools) {
|
|
5439
5439
|
if (!tool.embedding || tool.embedding.length === 0) continue;
|
|
5440
5440
|
let maxSimilarity = -Infinity;
|
|
5441
5441
|
try {
|
|
5442
|
-
for (const embedding2 of
|
|
5442
|
+
for (const embedding2 of embeddings2) {
|
|
5443
5443
|
const similarity = cosineSimilarity(embedding2, tool.embedding);
|
|
5444
5444
|
if (similarity > maxSimilarity) maxSimilarity = similarity;
|
|
5445
5445
|
}
|
|
@@ -5650,13 +5650,13 @@ function createServerToolsFilter(options = {}) {
|
|
|
5650
5650
|
const exclude = new Set(options.excludeTools ?? []);
|
|
5651
5651
|
const sets = options.toolSets ?? [];
|
|
5652
5652
|
const matchOpts = options.matchOptions;
|
|
5653
|
-
const filter = (
|
|
5654
|
-
const matches = findMatchingTools(
|
|
5653
|
+
const filter = (embeddings2, tools) => {
|
|
5654
|
+
const matches = findMatchingTools(embeddings2, tools, matchOpts);
|
|
5655
5655
|
if (matches.length === 0) return [];
|
|
5656
5656
|
const matchedNames = new Set(matches.map((m) => m.tool.name));
|
|
5657
5657
|
let finalNames;
|
|
5658
5658
|
if (sets.length > 0) {
|
|
5659
|
-
const scores = scoreTools(
|
|
5659
|
+
const scores = scoreTools(embeddings2, tools);
|
|
5660
5660
|
const selectedScores = new Map(
|
|
5661
5661
|
[...scores].filter(([name]) => matchedNames.has(name) && !exclude.has(name))
|
|
5662
5662
|
);
|
|
@@ -7690,13 +7690,13 @@ var StreamSmoother = class {
|
|
|
7690
7690
|
/**
|
|
7691
7691
|
* Add text to the buffer. If smoothing is disabled, passes through immediately.
|
|
7692
7692
|
*/
|
|
7693
|
-
push(
|
|
7694
|
-
if (this.destroyed || !
|
|
7693
|
+
push(text15) {
|
|
7694
|
+
if (this.destroyed || !text15) return;
|
|
7695
7695
|
if (!this.enabled) {
|
|
7696
|
-
this.callback(
|
|
7696
|
+
this.callback(text15);
|
|
7697
7697
|
return;
|
|
7698
7698
|
}
|
|
7699
|
-
this.buffer +=
|
|
7699
|
+
this.buffer += text15;
|
|
7700
7700
|
this.ensureTimer();
|
|
7701
7701
|
}
|
|
7702
7702
|
/**
|
|
@@ -7707,9 +7707,9 @@ var StreamSmoother = class {
|
|
|
7707
7707
|
if (this.destroyed) return;
|
|
7708
7708
|
this.stopTimer();
|
|
7709
7709
|
if (this.buffer.length > 0) {
|
|
7710
|
-
const
|
|
7710
|
+
const text15 = this.buffer;
|
|
7711
7711
|
this.buffer = "";
|
|
7712
|
-
this.callback(
|
|
7712
|
+
this.callback(text15);
|
|
7713
7713
|
}
|
|
7714
7714
|
this.resolveDrain();
|
|
7715
7715
|
}
|
|
@@ -7776,9 +7776,9 @@ var StreamSmoother = class {
|
|
|
7776
7776
|
const currentSpeed = this.getCurrentSpeed(elapsed);
|
|
7777
7777
|
const charsThisTick = Math.max(1, Math.round(currentSpeed * (TICK_INTERVAL / 1e3)));
|
|
7778
7778
|
const toRelease = Math.min(charsThisTick, this.buffer.length);
|
|
7779
|
-
const
|
|
7779
|
+
const text15 = this.buffer.slice(0, toRelease);
|
|
7780
7780
|
this.buffer = this.buffer.slice(toRelease);
|
|
7781
|
-
this.callback(
|
|
7781
|
+
this.callback(text15);
|
|
7782
7782
|
if (this.buffer.length === 0) {
|
|
7783
7783
|
this.stopTimer();
|
|
7784
7784
|
this.resolveDrain();
|
|
@@ -8223,9 +8223,9 @@ async function runToolLoop(options) {
|
|
|
8223
8223
|
messages = await redactBatch(messages);
|
|
8224
8224
|
if (preProcessors?.length) {
|
|
8225
8225
|
try {
|
|
8226
|
-
const
|
|
8227
|
-
if (
|
|
8228
|
-
const embedding2 = await generateEmbedding(
|
|
8226
|
+
const text15 = extractLastUserText(messages);
|
|
8227
|
+
if (text15.length > 0) {
|
|
8228
|
+
const embedding2 = await generateEmbedding(text15, {
|
|
8229
8229
|
apiKey: headers?.["X-API-Key"],
|
|
8230
8230
|
getToken: token ? () => Promise.resolve(token) : void 0,
|
|
8231
8231
|
baseUrl
|
|
@@ -8233,7 +8233,7 @@ async function runToolLoop(options) {
|
|
|
8233
8233
|
const results = await Promise.all(
|
|
8234
8234
|
preProcessors.map(async (p) => {
|
|
8235
8235
|
try {
|
|
8236
|
-
return await p({ prompt:
|
|
8236
|
+
return await p({ prompt: text15, embedding: embedding2, signal: combinedSignal });
|
|
8237
8237
|
} catch (err) {
|
|
8238
8238
|
console.warn("[runToolLoop] pre-processor failed:", err);
|
|
8239
8239
|
return void 0;
|
|
@@ -8392,11 +8392,11 @@ async function runToolLoop(options) {
|
|
|
8392
8392
|
}
|
|
8393
8393
|
});
|
|
8394
8394
|
accumulator = createStreamAccumulator(model || void 0);
|
|
8395
|
-
contentSmoother = new StreamSmoother((
|
|
8396
|
-
if (emitData) emitData(
|
|
8395
|
+
contentSmoother = new StreamSmoother((text15) => {
|
|
8396
|
+
if (emitData) emitData(text15);
|
|
8397
8397
|
}, smoothing);
|
|
8398
|
-
thinkingSmoother = new StreamSmoother((
|
|
8399
|
-
if (emitThinking) emitThinking(
|
|
8398
|
+
thinkingSmoother = new StreamSmoother((text15) => {
|
|
8399
|
+
if (emitThinking) emitThinking(text15);
|
|
8400
8400
|
}, smoothing);
|
|
8401
8401
|
let chunksEmittedDownstream = false;
|
|
8402
8402
|
try {
|
|
@@ -8901,11 +8901,11 @@ Executing tool: ${toolInfo}
|
|
|
8901
8901
|
}
|
|
8902
8902
|
});
|
|
8903
8903
|
currentAccumulator = createStreamAccumulator(model || void 0);
|
|
8904
|
-
contContentSmoother = new StreamSmoother((
|
|
8905
|
-
if (emitData) emitData(
|
|
8904
|
+
contContentSmoother = new StreamSmoother((text15) => {
|
|
8905
|
+
if (emitData) emitData(text15);
|
|
8906
8906
|
}, smoothing);
|
|
8907
|
-
contThinkingSmoother = new StreamSmoother((
|
|
8908
|
-
if (emitThinking) emitThinking(
|
|
8907
|
+
contThinkingSmoother = new StreamSmoother((text15) => {
|
|
8908
|
+
if (emitThinking) emitThinking(text15);
|
|
8909
8909
|
}, smoothing);
|
|
8910
8910
|
let chunksEmittedDownstream = false;
|
|
8911
8911
|
try {
|
|
@@ -9132,11 +9132,11 @@ async function resumeStream(options) {
|
|
|
9132
9132
|
} = options;
|
|
9133
9133
|
const strategy = getStrategy(handle.apiType);
|
|
9134
9134
|
const accumulator = createStreamAccumulator(handle.model || void 0);
|
|
9135
|
-
const contentSmoother = new StreamSmoother((
|
|
9136
|
-
if (onData) onData(
|
|
9135
|
+
const contentSmoother = new StreamSmoother((text15) => {
|
|
9136
|
+
if (onData) onData(text15);
|
|
9137
9137
|
}, smoothing);
|
|
9138
|
-
const thinkingSmoother = new StreamSmoother((
|
|
9139
|
-
if (onThinking) onThinking(
|
|
9138
|
+
const thinkingSmoother = new StreamSmoother((text15) => {
|
|
9139
|
+
if (onThinking) onThinking(text15);
|
|
9140
9140
|
}, smoothing);
|
|
9141
9141
|
const idleController = new AbortController();
|
|
9142
9142
|
let watchdog;
|
|
@@ -9276,8 +9276,8 @@ async function classifyStockPrice(prompt, options) {
|
|
|
9276
9276
|
}
|
|
9277
9277
|
async function classifyStockPriceBatch(prompts, options) {
|
|
9278
9278
|
const { margin = 0.02, ...embeddingOptions } = options;
|
|
9279
|
-
const
|
|
9280
|
-
return
|
|
9279
|
+
const embeddings2 = await generateEmbeddings(prompts, embeddingOptions);
|
|
9280
|
+
return embeddings2.map((emb) => classify2(emb, margin));
|
|
9281
9281
|
}
|
|
9282
9282
|
function createStockPricePreProcessor(options = {}) {
|
|
9283
9283
|
const margin = options.margin ?? 0.02;
|
|
@@ -9316,8 +9316,8 @@ async function classifyWeather(prompt, options) {
|
|
|
9316
9316
|
}
|
|
9317
9317
|
async function classifyWeatherBatch(prompts, options) {
|
|
9318
9318
|
const { margin = 0.02, ...embeddingOptions } = options;
|
|
9319
|
-
const
|
|
9320
|
-
return
|
|
9319
|
+
const embeddings2 = await generateEmbeddings(prompts, embeddingOptions);
|
|
9320
|
+
return embeddings2.map((emb) => classify3(emb, margin));
|
|
9321
9321
|
}
|
|
9322
9322
|
function createWeatherPreProcessor(options = {}) {
|
|
9323
9323
|
const margin = options.margin ?? 0.02;
|
|
@@ -9356,8 +9356,8 @@ async function classifyWebSearch(prompt, options) {
|
|
|
9356
9356
|
}
|
|
9357
9357
|
async function classifyWebSearchBatch(prompts, options) {
|
|
9358
9358
|
const { margin = 0.02, ...embeddingOptions } = options;
|
|
9359
|
-
const
|
|
9360
|
-
return
|
|
9359
|
+
const embeddings2 = await generateEmbeddings(prompts, embeddingOptions);
|
|
9360
|
+
return embeddings2.map((emb) => classify4(emb, margin));
|
|
9361
9361
|
}
|
|
9362
9362
|
function createWebSearchPreProcessor(options = {}) {
|
|
9363
9363
|
const margin = options.margin ?? 0.02;
|
|
@@ -9381,8 +9381,8 @@ function sseFailureMessage(status, statusText, detail = "") {
|
|
|
9381
9381
|
}
|
|
9382
9382
|
function parseSseChunks(raw, incompleteBuffer) {
|
|
9383
9383
|
const chunks3 = [];
|
|
9384
|
-
const
|
|
9385
|
-
const lines =
|
|
9384
|
+
const text15 = incompleteBuffer + raw;
|
|
9385
|
+
const lines = text15.split("\n");
|
|
9386
9386
|
const remaining = raw.endsWith("\n") ? "" : lines.pop() ?? "";
|
|
9387
9387
|
for (const line of lines) {
|
|
9388
9388
|
if (!line.startsWith("data: ")) continue;
|
|
@@ -9878,6 +9878,7 @@ function createNearbyRequest(options, apiPath = "/api/private-memories") {
|
|
|
9878
9878
|
}
|
|
9879
9879
|
throw error;
|
|
9880
9880
|
}
|
|
9881
|
+
if (response.status === 204) return null;
|
|
9881
9882
|
return await response.json();
|
|
9882
9883
|
} catch (error) {
|
|
9883
9884
|
if (timedOut) throw new RemoteMemoryError("Nearby request timed out", 408, "timeout");
|
|
@@ -10253,6 +10254,16 @@ var ChatStoreError = class extends Error {
|
|
|
10253
10254
|
// src/lib/chatStore/remote.ts
|
|
10254
10255
|
var kinds = /* @__PURE__ */ new Set(["conversation", "message", "summary", "project", "memory_links"]);
|
|
10255
10256
|
var cipherPattern = /^enc:v\d+:(?:[0-9a-f]{2}){28,}$/i;
|
|
10257
|
+
var maxPayload = 2 * 1024 * 1024;
|
|
10258
|
+
var storedDims = 1536;
|
|
10259
|
+
var maxRequestCiphertext = 8 * 1024 * 1024;
|
|
10260
|
+
var maxGetRefs = 50;
|
|
10261
|
+
var maxImportRecords = 100;
|
|
10262
|
+
var maxVerifyRevisions = 1e3;
|
|
10263
|
+
var maxChunksPerRecord = 16;
|
|
10264
|
+
var maxChunksPerRequest = 200;
|
|
10265
|
+
var maxAttachmentBytes = 50 * 1024 * 1024;
|
|
10266
|
+
var attachmentIdPattern = /^[0-9a-f]{32}$/;
|
|
10256
10267
|
var metadata = [
|
|
10257
10268
|
"kind",
|
|
10258
10269
|
"id",
|
|
@@ -10295,7 +10306,62 @@ function validRecord(value) {
|
|
|
10295
10306
|
))
|
|
10296
10307
|
return false;
|
|
10297
10308
|
const root = value.kind === "conversation" || value.kind === "project";
|
|
10298
|
-
return root ? value.conversationId === ""
|
|
10309
|
+
return root ? value.conversationId === "" : id(value.conversationId);
|
|
10310
|
+
}
|
|
10311
|
+
function embeddings(write) {
|
|
10312
|
+
if (write.embeddings === void 0) return true;
|
|
10313
|
+
return Array.isArray(write.embeddings) && !write.record.isDeleted && (write.record.kind === "message" || write.record.kind === "summary") && write.embeddings.length <= maxChunksPerRecord && (write.embeddingModel === void 0 || typeof write.embeddingModel === "string" && write.embeddingModel.length <= 256) && Array.from({ length: write.embeddings.length }, (_, i) => i).every(
|
|
10314
|
+
(i) => vector(write.embeddings?.[i])
|
|
10315
|
+
);
|
|
10316
|
+
}
|
|
10317
|
+
function vector(v) {
|
|
10318
|
+
if (!Array.isArray(v) || v.length !== 1536 && v.length !== 4096) return false;
|
|
10319
|
+
let nonZero = false;
|
|
10320
|
+
for (let i = 0; i < v.length; i++) {
|
|
10321
|
+
const x = v[i];
|
|
10322
|
+
if (typeof x !== "number" || !Number.isFinite(x)) return false;
|
|
10323
|
+
if (i < storedDims && x !== 0) nonZero = true;
|
|
10324
|
+
}
|
|
10325
|
+
return nonZero;
|
|
10326
|
+
}
|
|
10327
|
+
function vectorFields(write) {
|
|
10328
|
+
return {
|
|
10329
|
+
...write.embeddings !== void 0 ? { embeddings: write.embeddings.map((v) => v.slice(0, storedDims)) } : {},
|
|
10330
|
+
...write.embeddingModel !== void 0 ? { embedding_model: write.embeddingModel } : {}
|
|
10331
|
+
};
|
|
10332
|
+
}
|
|
10333
|
+
function text2(value) {
|
|
10334
|
+
return typeof value === "string";
|
|
10335
|
+
}
|
|
10336
|
+
function timestamp(value) {
|
|
10337
|
+
return typeof value === "string" && Number.isFinite(Date.parse(value));
|
|
10338
|
+
}
|
|
10339
|
+
function presigned(value) {
|
|
10340
|
+
if (!object(value) || !text2(value.url) || !/^https:\/\//.test(value.url) || !text2(value.method) || !object(value.headers) || !Object.values(value.headers).every(text2) || !timestamp(value.expires_at))
|
|
10341
|
+
invalid();
|
|
10342
|
+
return {
|
|
10343
|
+
url: value.url,
|
|
10344
|
+
method: value.method,
|
|
10345
|
+
headers: value.headers,
|
|
10346
|
+
expiresAt: value.expires_at
|
|
10347
|
+
};
|
|
10348
|
+
}
|
|
10349
|
+
function attachment(value) {
|
|
10350
|
+
if (!object(value) || !text2(value.attachment_id) || !attachmentIdPattern.test(value.attachment_id) || !integer(value.size_bytes, 1) || value.state !== "pending" && value.state !== "committed" || value.owner_kind !== void 0 && value.owner_kind !== "message" && value.owner_kind !== "summary" || value.owner_id !== void 0 && !id(value.owner_id) || !timestamp(value.created_at) || value.committed_at !== void 0 && !timestamp(value.committed_at))
|
|
10351
|
+
invalid();
|
|
10352
|
+
return {
|
|
10353
|
+
id: value.attachment_id,
|
|
10354
|
+
sizeBytes: value.size_bytes,
|
|
10355
|
+
state: value.state,
|
|
10356
|
+
...value.owner_kind !== void 0 ? { ownerKind: value.owner_kind } : {},
|
|
10357
|
+
...value.owner_id !== void 0 ? { ownerId: value.owner_id } : {},
|
|
10358
|
+
createdAt: value.created_at,
|
|
10359
|
+
...value.committed_at !== void 0 ? { committedAt: value.committed_at } : {}
|
|
10360
|
+
};
|
|
10361
|
+
}
|
|
10362
|
+
function ref(value) {
|
|
10363
|
+
if (!object(value) || !text2(value.kind) || !kinds.has(value.kind) || !id(value.id)) invalid();
|
|
10364
|
+
return { kind: value.kind, id: value.id };
|
|
10299
10365
|
}
|
|
10300
10366
|
function sameMetadata(a, b) {
|
|
10301
10367
|
return metadata.every((key) => a[key] === b[key]);
|
|
@@ -10351,8 +10417,11 @@ async function createRemoteChatStore(options) {
|
|
|
10351
10417
|
isDeleted: r.is_deleted,
|
|
10352
10418
|
data: {}
|
|
10353
10419
|
};
|
|
10354
|
-
if (!validRecord(plain) || typeof r.payload !== "string" || r.payload.length >
|
|
10420
|
+
if (!validRecord(plain) || typeof r.payload !== "string" || r.payload.length > maxPayload)
|
|
10355
10421
|
invalid();
|
|
10422
|
+
if (plain.isDeleted && r.payload === "")
|
|
10423
|
+
return { record: plain, version: value.version, serverUpdatedAt: value.server_updated_at };
|
|
10424
|
+
if (!cipherPattern.test(r.payload)) invalid();
|
|
10356
10425
|
const envelope = JSON.parse(await decrypt(r.payload));
|
|
10357
10426
|
if (!object(envelope) || envelope.schema !== 1 || envelope.account_id !== accountId || envelope.key_id !== keyId || !validRecord(envelope.record) || !sameMetadata(plain, envelope.record))
|
|
10358
10427
|
invalid();
|
|
@@ -10362,30 +10431,46 @@ async function createRemoteChatStore(options) {
|
|
|
10362
10431
|
serverUpdatedAt: value.server_updated_at
|
|
10363
10432
|
};
|
|
10364
10433
|
};
|
|
10365
|
-
const
|
|
10366
|
-
if (
|
|
10434
|
+
const seal = async (record2, signal) => {
|
|
10435
|
+
if (record2.isDeleted) return "";
|
|
10436
|
+
const payload = await encrypt(
|
|
10437
|
+
JSON.stringify({ schema: 1, account_id: accountId, key_id: keyId, record: record2 })
|
|
10438
|
+
);
|
|
10439
|
+
signal?.throwIfAborted();
|
|
10440
|
+
if (!cipherPattern.test(payload) || payload.length > maxPayload) invalid();
|
|
10441
|
+
return payload;
|
|
10442
|
+
};
|
|
10443
|
+
const capture = (items, max, signal) => {
|
|
10444
|
+
if (!Array.isArray(items) || items.length < 1 || items.length > max) invalid();
|
|
10367
10445
|
const seen = /* @__PURE__ */ new Set();
|
|
10368
|
-
|
|
10446
|
+
let chunks3 = 0;
|
|
10447
|
+
return items.map((item) => {
|
|
10369
10448
|
signal?.throwIfAborted();
|
|
10370
|
-
if (!validRecord(
|
|
10371
|
-
|
|
10372
|
-
|
|
10449
|
+
if (!validRecord(item.record) || !embeddings(item)) invalid();
|
|
10450
|
+
chunks3 += item.embeddings?.length ?? 0;
|
|
10451
|
+
if (chunks3 > maxChunksPerRequest) invalid();
|
|
10452
|
+
const copy = JSON.parse(JSON.stringify(item));
|
|
10453
|
+
const recordKey = `${copy.record.kind}/${copy.record.id}`;
|
|
10373
10454
|
if (seen.has(recordKey)) invalid();
|
|
10374
10455
|
seen.add(recordKey);
|
|
10375
|
-
return
|
|
10456
|
+
return copy;
|
|
10376
10457
|
});
|
|
10458
|
+
};
|
|
10459
|
+
const putMany = async (writes, signal) => {
|
|
10460
|
+
if (Array.isArray(writes) && writes.some((w) => !integer(w.expectedVersion)))
|
|
10461
|
+
invalid();
|
|
10462
|
+
const captured = capture(writes, 25, signal);
|
|
10377
10463
|
let bytes2 = 0;
|
|
10378
10464
|
const prepared = [];
|
|
10379
10465
|
for (const write of captured) {
|
|
10380
|
-
const
|
|
10381
|
-
const payload = await encrypt(
|
|
10382
|
-
JSON.stringify({ schema: 1, account_id: accountId, key_id: keyId, record: record2 })
|
|
10383
|
-
);
|
|
10384
|
-
signal?.throwIfAborted();
|
|
10385
|
-
if (!cipherPattern.test(payload) || payload.length > 2 * 1024 * 1024) invalid();
|
|
10466
|
+
const payload = await seal(write.record, signal);
|
|
10386
10467
|
bytes2 += payload.length;
|
|
10387
|
-
if (bytes2 >
|
|
10388
|
-
prepared.push({
|
|
10468
|
+
if (bytes2 > maxRequestCiphertext) invalid();
|
|
10469
|
+
prepared.push({
|
|
10470
|
+
record: wire(write.record, payload),
|
|
10471
|
+
expected_version: write.expectedVersion,
|
|
10472
|
+
...vectorFields(write)
|
|
10473
|
+
});
|
|
10389
10474
|
}
|
|
10390
10475
|
const result = await request(
|
|
10391
10476
|
"/records/batch",
|
|
@@ -10400,7 +10485,8 @@ async function createRemoteChatStore(options) {
|
|
|
10400
10485
|
const out = [];
|
|
10401
10486
|
for (let i = 0; i < result.items.length; i++) {
|
|
10402
10487
|
const value = result.items[i];
|
|
10403
|
-
|
|
10488
|
+
const deleted = prepared[i].record.is_deleted;
|
|
10489
|
+
if (!object(value) || !object(value.record) || value.record.kind !== prepared[i].record.kind || value.record.id !== prepared[i].record.id || value.record.payload !== prepared[i].record.payload || (deleted ? value.record.is_deleted !== true || !integer(value.version, 1) : value.version !== prepared[i].expected_version + 1))
|
|
10404
10490
|
invalid();
|
|
10405
10491
|
out.push(await decode(value));
|
|
10406
10492
|
}
|
|
@@ -10429,7 +10515,7 @@ async function createRemoteChatStore(options) {
|
|
|
10429
10515
|
async list(query) {
|
|
10430
10516
|
const limit = query.limit ?? 20;
|
|
10431
10517
|
const parent = query.conversationId ?? "";
|
|
10432
|
-
if (!kinds.has(query.kind) || !integer(limit, 1) || query.includeDeleted !== void 0 && typeof query.includeDeleted !== "boolean" || limit > 50 || (query.cursor?.length ?? 0) > 2048 || (query.kind === "conversation" || query.kind === "project" ? parent !== "" : !id(parent)))
|
|
10518
|
+
if (!kinds.has(query.kind) || !integer(limit, 1) || query.includeDeleted !== void 0 && typeof query.includeDeleted !== "boolean" || limit > (query.kind === "message" ? 200 : 50) || (query.cursor?.length ?? 0) > 2048 || (query.kind === "conversation" || query.kind === "project" ? parent !== "" : !id(parent)))
|
|
10433
10519
|
invalid();
|
|
10434
10520
|
const params = new URLSearchParams({
|
|
10435
10521
|
account_id: String(accountId),
|
|
@@ -10440,7 +10526,7 @@ async function createRemoteChatStore(options) {
|
|
|
10440
10526
|
});
|
|
10441
10527
|
if (query.cursor) params.set("cursor", query.cursor);
|
|
10442
10528
|
const value = await request(`/records?${params}`, {}, query.signal);
|
|
10443
|
-
if (!object(value) || !Array.isArray(value.items) || value.items.length > limit || value.next_cursor !== void 0 && (typeof value.next_cursor !== "string" || value.next_cursor.length > 2048))
|
|
10529
|
+
if (!object(value) || !Array.isArray(value.items) || value.items.length > limit || value.next_cursor !== void 0 && (typeof value.next_cursor !== "string" || value.next_cursor.length > 2048) || value.total !== void 0 && !integer(value.total))
|
|
10444
10530
|
invalid();
|
|
10445
10531
|
const items = [];
|
|
10446
10532
|
for (const item of value.items) {
|
|
@@ -10450,11 +10536,258 @@ async function createRemoteChatStore(options) {
|
|
|
10450
10536
|
items.push(result);
|
|
10451
10537
|
}
|
|
10452
10538
|
query.signal?.throwIfAborted();
|
|
10453
|
-
return {
|
|
10539
|
+
return {
|
|
10540
|
+
items,
|
|
10541
|
+
...value.next_cursor ? { nextCursor: value.next_cursor } : {},
|
|
10542
|
+
...value.total !== void 0 ? { total: value.total } : {}
|
|
10543
|
+
};
|
|
10544
|
+
},
|
|
10545
|
+
putMany,
|
|
10546
|
+
async getMany(refs, signal) {
|
|
10547
|
+
if (!Array.isArray(refs)) invalid();
|
|
10548
|
+
const wanted = /* @__PURE__ */ new Map();
|
|
10549
|
+
for (const r of refs) {
|
|
10550
|
+
const checked = ref(r);
|
|
10551
|
+
wanted.set(`${checked.kind}/${checked.id}`, checked);
|
|
10552
|
+
}
|
|
10553
|
+
const found = /* @__PURE__ */ new Map();
|
|
10554
|
+
let pending = [...wanted.values()];
|
|
10555
|
+
while (pending.length > 0) {
|
|
10556
|
+
const batch = pending.slice(0, maxGetRefs);
|
|
10557
|
+
pending = pending.slice(maxGetRefs);
|
|
10558
|
+
const value = await request(
|
|
10559
|
+
"/records/get",
|
|
10560
|
+
{ method: "POST", body: JSON.stringify({ account_id: accountId, refs: batch }) },
|
|
10561
|
+
signal
|
|
10562
|
+
);
|
|
10563
|
+
if (!object(value) || !Array.isArray(value.items) || value.remaining !== void 0 && !Array.isArray(value.remaining))
|
|
10564
|
+
invalid();
|
|
10565
|
+
const asked = new Set(batch.map((r) => `${r.kind}/${r.id}`));
|
|
10566
|
+
for (const item of value.items) {
|
|
10567
|
+
const snapshot = await decode(item);
|
|
10568
|
+
const key = `${snapshot.record.kind}/${snapshot.record.id}`;
|
|
10569
|
+
if (!asked.has(key) || found.has(key)) invalid();
|
|
10570
|
+
found.set(key, snapshot);
|
|
10571
|
+
}
|
|
10572
|
+
const remaining = (value.remaining ?? []).map(ref);
|
|
10573
|
+
if (remaining.some((r) => !asked.has(`${r.kind}/${r.id}`) || found.has(`${r.kind}/${r.id}`)))
|
|
10574
|
+
invalid();
|
|
10575
|
+
if (remaining.length > 0 && value.items.length === 0) invalid();
|
|
10576
|
+
pending = [...remaining, ...pending];
|
|
10577
|
+
}
|
|
10578
|
+
signal?.throwIfAborted();
|
|
10579
|
+
return [...wanted.keys()].flatMap((key) => {
|
|
10580
|
+
const snapshot = found.get(key);
|
|
10581
|
+
return snapshot ? [snapshot] : [];
|
|
10582
|
+
});
|
|
10583
|
+
},
|
|
10584
|
+
async account(signal) {
|
|
10585
|
+
const value = await request("/account", {}, signal);
|
|
10586
|
+
if (!object(value) || value.account_id !== accountId || !text2(value.key_id) || value.state !== "none" && value.state !== "migrating" && value.state !== "active" || !integer(value.record_count) || !integer(value.storage_bytes) || !integer(value.vector_count))
|
|
10587
|
+
invalid();
|
|
10588
|
+
if (value.key_id && value.key_id !== keyId)
|
|
10589
|
+
throw new ChatStoreError("Canonical chat key does not match", 409, "key_mismatch");
|
|
10590
|
+
const out = {
|
|
10591
|
+
keyId: value.key_id,
|
|
10592
|
+
state: value.state,
|
|
10593
|
+
recordCount: value.record_count,
|
|
10594
|
+
storageBytes: value.storage_bytes,
|
|
10595
|
+
vectorCount: value.vector_count
|
|
10596
|
+
};
|
|
10597
|
+
return out;
|
|
10598
|
+
},
|
|
10599
|
+
async importRecords(records, signal) {
|
|
10600
|
+
const captured = capture(records, maxImportRecords, signal);
|
|
10601
|
+
let bytes2 = 0;
|
|
10602
|
+
const prepared = [];
|
|
10603
|
+
for (const item of captured) {
|
|
10604
|
+
const payload = await seal(item.record, signal);
|
|
10605
|
+
bytes2 += payload.length;
|
|
10606
|
+
if (bytes2 > maxRequestCiphertext) invalid();
|
|
10607
|
+
prepared.push({ record: wire(item.record, payload), ...vectorFields(item) });
|
|
10608
|
+
}
|
|
10609
|
+
const value = await request(
|
|
10610
|
+
"/import",
|
|
10611
|
+
{
|
|
10612
|
+
method: "POST",
|
|
10613
|
+
body: JSON.stringify({ account_id: accountId, key_id: keyId, records: prepared })
|
|
10614
|
+
},
|
|
10615
|
+
signal
|
|
10616
|
+
);
|
|
10617
|
+
if (!object(value) || !integer(value.written) || value.written > prepared.length) invalid();
|
|
10618
|
+
return value.written;
|
|
10619
|
+
},
|
|
10620
|
+
async verify(revisions, signal) {
|
|
10621
|
+
if (!Array.isArray(revisions) || revisions.length > maxVerifyRevisions) invalid();
|
|
10622
|
+
const asked = /* @__PURE__ */ new Set();
|
|
10623
|
+
const wireRevisions = revisions.map((r) => {
|
|
10624
|
+
const checked = ref(r);
|
|
10625
|
+
if (!integer(r.updatedAt, 1) || typeof r.isDeleted !== "boolean") invalid();
|
|
10626
|
+
asked.add(`${checked.kind}/${checked.id}`);
|
|
10627
|
+
return {
|
|
10628
|
+
kind: checked.kind,
|
|
10629
|
+
id: checked.id,
|
|
10630
|
+
updated_at: r.updatedAt,
|
|
10631
|
+
is_deleted: r.isDeleted
|
|
10632
|
+
};
|
|
10633
|
+
});
|
|
10634
|
+
if (wireRevisions.length === 0) return [];
|
|
10635
|
+
const value = await request(
|
|
10636
|
+
"/verify",
|
|
10637
|
+
{
|
|
10638
|
+
method: "POST",
|
|
10639
|
+
body: JSON.stringify({ account_id: accountId, revisions: wireRevisions })
|
|
10640
|
+
},
|
|
10641
|
+
signal
|
|
10642
|
+
);
|
|
10643
|
+
if (!object(value) || !Array.isArray(value.missing)) invalid();
|
|
10644
|
+
const missing = value.missing.map(ref);
|
|
10645
|
+
if (missing.some((r) => !asked.has(`${r.kind}/${r.id}`))) invalid();
|
|
10646
|
+
return missing;
|
|
10647
|
+
},
|
|
10648
|
+
async activate(signal) {
|
|
10649
|
+
const value = await request(
|
|
10650
|
+
"/account",
|
|
10651
|
+
{ method: "PUT", body: JSON.stringify({ account_id: accountId, state: "active" }) },
|
|
10652
|
+
signal
|
|
10653
|
+
);
|
|
10654
|
+
if (!object(value) || value.state !== "active" || typeof value.transitioned !== "boolean")
|
|
10655
|
+
invalid();
|
|
10656
|
+
return value.transitioned;
|
|
10657
|
+
},
|
|
10658
|
+
async changes(cursor, options2) {
|
|
10659
|
+
const limit = options2?.limit ?? 100;
|
|
10660
|
+
if (!integer(limit, 1) || limit > 200 || cursor !== void 0 && (!text2(cursor) || cursor.length > 2048))
|
|
10661
|
+
invalid();
|
|
10662
|
+
const params = new URLSearchParams({ account_id: String(accountId), limit: String(limit) });
|
|
10663
|
+
if (cursor) params.set("cursor", cursor);
|
|
10664
|
+
const value = await request(`/changes?${params}`, {}, options2?.signal);
|
|
10665
|
+
if (!object(value) || !Array.isArray(value.items) || value.items.length > limit || value.next_cursor !== void 0 && !text2(value.next_cursor) || value.changes_cursor !== void 0 && !text2(value.changes_cursor))
|
|
10666
|
+
invalid();
|
|
10667
|
+
const items = [];
|
|
10668
|
+
for (const item of value.items) items.push(await decode(item));
|
|
10669
|
+
options2?.signal?.throwIfAborted();
|
|
10670
|
+
return {
|
|
10671
|
+
items,
|
|
10672
|
+
...value.next_cursor ? { nextCursor: value.next_cursor } : {},
|
|
10673
|
+
changesCursor: value.changes_cursor ?? cursor ?? ""
|
|
10674
|
+
};
|
|
10454
10675
|
},
|
|
10455
|
-
|
|
10676
|
+
async search(embedding2, options2) {
|
|
10677
|
+
const limit = options2?.limit ?? 20;
|
|
10678
|
+
const kindsFilter = options2?.kinds;
|
|
10679
|
+
if (!Array.isArray(embedding2) || !embeddings({
|
|
10680
|
+
record: { ...emptyMessage, isDeleted: false },
|
|
10681
|
+
embeddings: [embedding2]
|
|
10682
|
+
}) || !integer(limit, 1) || limit > 50 || kindsFilter !== void 0 && (!Array.isArray(kindsFilter) || kindsFilter.length === 0 || kindsFilter.some((k) => k !== "message" && k !== "summary")) || options2?.conversationId !== void 0 && !id(options2.conversationId))
|
|
10683
|
+
invalid();
|
|
10684
|
+
const value = await request(
|
|
10685
|
+
"/search",
|
|
10686
|
+
{
|
|
10687
|
+
method: "POST",
|
|
10688
|
+
body: JSON.stringify({
|
|
10689
|
+
account_id: accountId,
|
|
10690
|
+
embedding: embedding2.slice(0, storedDims),
|
|
10691
|
+
limit,
|
|
10692
|
+
...kindsFilter ? { kinds: kindsFilter } : {},
|
|
10693
|
+
...options2?.conversationId ? { conversation_id: options2.conversationId } : {}
|
|
10694
|
+
})
|
|
10695
|
+
},
|
|
10696
|
+
options2?.signal
|
|
10697
|
+
);
|
|
10698
|
+
if (!object(value) || !Array.isArray(value.items) || value.items.length > limit) invalid();
|
|
10699
|
+
const hits = [];
|
|
10700
|
+
for (const item of value.items) {
|
|
10701
|
+
if (!object(item) || !integer(item.chunk) || typeof item.score !== "number" || !Number.isFinite(item.score))
|
|
10702
|
+
invalid();
|
|
10703
|
+
const snapshot = await decode(item);
|
|
10704
|
+
if (snapshot.record.isDeleted || kindsFilter !== void 0 && !kindsFilter.includes(snapshot.record.kind) || snapshot.record.kind !== "message" && snapshot.record.kind !== "summary" || options2?.conversationId !== void 0 && snapshot.record.conversationId !== options2.conversationId)
|
|
10705
|
+
invalid();
|
|
10706
|
+
hits.push({ ...snapshot, chunk: item.chunk, score: item.score });
|
|
10707
|
+
}
|
|
10708
|
+
options2?.signal?.throwIfAborted();
|
|
10709
|
+
return hits;
|
|
10710
|
+
},
|
|
10711
|
+
async deleteAll(signal) {
|
|
10712
|
+
const value = await request(`/records?account_id=${accountId}`, { method: "DELETE" }, signal);
|
|
10713
|
+
if (!object(value) || !integer(value.deleted)) invalid();
|
|
10714
|
+
return value.deleted;
|
|
10715
|
+
},
|
|
10716
|
+
attachments: {
|
|
10717
|
+
async create(sizeBytes, signal) {
|
|
10718
|
+
if (!integer(sizeBytes, 1) || sizeBytes > maxAttachmentBytes) invalid();
|
|
10719
|
+
const value = await request(
|
|
10720
|
+
"/attachments",
|
|
10721
|
+
{
|
|
10722
|
+
method: "POST",
|
|
10723
|
+
body: JSON.stringify({ account_id: accountId, size_bytes: sizeBytes })
|
|
10724
|
+
},
|
|
10725
|
+
signal
|
|
10726
|
+
);
|
|
10727
|
+
if (!object(value)) invalid();
|
|
10728
|
+
const created = attachment(value.attachment);
|
|
10729
|
+
if (created.sizeBytes !== sizeBytes || created.state !== "pending") invalid();
|
|
10730
|
+
return { attachment: created, upload: presigned(value.upload) };
|
|
10731
|
+
},
|
|
10732
|
+
async commit(attachmentId, owner, signal) {
|
|
10733
|
+
if (!attachmentIdPattern.test(attachmentId) || !object(owner) || owner.kind !== "message" && owner.kind !== "summary" || !id(owner.id))
|
|
10734
|
+
invalid();
|
|
10735
|
+
const value = await request(
|
|
10736
|
+
`/attachments/${attachmentId}/commit`,
|
|
10737
|
+
{
|
|
10738
|
+
method: "POST",
|
|
10739
|
+
body: JSON.stringify({
|
|
10740
|
+
account_id: accountId,
|
|
10741
|
+
owner_kind: owner.kind,
|
|
10742
|
+
owner_id: owner.id
|
|
10743
|
+
})
|
|
10744
|
+
},
|
|
10745
|
+
signal
|
|
10746
|
+
);
|
|
10747
|
+
if (!object(value)) invalid();
|
|
10748
|
+
const committed = attachment(value.attachment);
|
|
10749
|
+
if (committed.id !== attachmentId || committed.state !== "committed" || committed.ownerKind !== owner.kind || committed.ownerId !== owner.id)
|
|
10750
|
+
invalid();
|
|
10751
|
+
return committed;
|
|
10752
|
+
},
|
|
10753
|
+
async get(attachmentId, signal) {
|
|
10754
|
+
if (!attachmentIdPattern.test(attachmentId)) invalid();
|
|
10755
|
+
let value;
|
|
10756
|
+
try {
|
|
10757
|
+
value = await request(`/attachments/${attachmentId}?account_id=${accountId}`, {}, signal);
|
|
10758
|
+
} catch (error) {
|
|
10759
|
+
if (error instanceof ChatStoreError && error.status === 404) return null;
|
|
10760
|
+
throw error;
|
|
10761
|
+
}
|
|
10762
|
+
if (!object(value)) invalid();
|
|
10763
|
+
const found = attachment(value.attachment);
|
|
10764
|
+
if (found.id !== attachmentId) invalid();
|
|
10765
|
+
return {
|
|
10766
|
+
attachment: found,
|
|
10767
|
+
...value.download !== void 0 ? { download: presigned(value.download) } : {}
|
|
10768
|
+
};
|
|
10769
|
+
},
|
|
10770
|
+
async delete(attachmentId, signal) {
|
|
10771
|
+
if (!attachmentIdPattern.test(attachmentId)) invalid();
|
|
10772
|
+
await request(
|
|
10773
|
+
`/attachments/${attachmentId}?account_id=${accountId}`,
|
|
10774
|
+
{ method: "DELETE" },
|
|
10775
|
+
signal
|
|
10776
|
+
);
|
|
10777
|
+
}
|
|
10778
|
+
}
|
|
10456
10779
|
};
|
|
10457
10780
|
}
|
|
10781
|
+
var emptyMessage = {
|
|
10782
|
+
kind: "message",
|
|
10783
|
+
id: "query",
|
|
10784
|
+
conversationId: "query",
|
|
10785
|
+
sortKey: 0,
|
|
10786
|
+
createdAt: 1,
|
|
10787
|
+
updatedAt: 1,
|
|
10788
|
+
isDeleted: false,
|
|
10789
|
+
data: {}
|
|
10790
|
+
};
|
|
10458
10791
|
|
|
10459
10792
|
// src/lib/db/chat/lazyDecrypt.ts
|
|
10460
10793
|
var LRU_CAPACITY = 256;
|
|
@@ -10522,7 +10855,7 @@ async function decryptConversationTitle(encryptedTitle, address) {
|
|
|
10522
10855
|
|
|
10523
10856
|
// src/lib/db/chat/models.ts
|
|
10524
10857
|
import { Model as Model2 } from "@nozbe/watermelondb";
|
|
10525
|
-
import { date, field, json as json2, text as
|
|
10858
|
+
import { date, field, json as json2, text as text3 } from "@nozbe/watermelondb/decorators";
|
|
10526
10859
|
var Message = class extends Model2 {
|
|
10527
10860
|
};
|
|
10528
10861
|
Message.table = "history";
|
|
@@ -10534,19 +10867,19 @@ __decorateClass([
|
|
|
10534
10867
|
field("message_id")
|
|
10535
10868
|
], Message.prototype, "messageId", 2);
|
|
10536
10869
|
__decorateClass([
|
|
10537
|
-
|
|
10870
|
+
text3("conversation_id")
|
|
10538
10871
|
], Message.prototype, "conversationId", 2);
|
|
10539
10872
|
__decorateClass([
|
|
10540
|
-
|
|
10873
|
+
text3("role")
|
|
10541
10874
|
], Message.prototype, "role", 2);
|
|
10542
10875
|
__decorateClass([
|
|
10543
|
-
|
|
10876
|
+
text3("content")
|
|
10544
10877
|
], Message.prototype, "content", 2);
|
|
10545
10878
|
__decorateClass([
|
|
10546
|
-
|
|
10879
|
+
text3("model")
|
|
10547
10880
|
], Message.prototype, "model", 2);
|
|
10548
10881
|
__decorateClass([
|
|
10549
|
-
|
|
10882
|
+
text3("image_model")
|
|
10550
10883
|
], Message.prototype, "imageModel", 2);
|
|
10551
10884
|
__decorateClass([
|
|
10552
10885
|
json2("files", (raw) => raw)
|
|
@@ -10564,7 +10897,7 @@ __decorateClass([
|
|
|
10564
10897
|
json2("vector", (raw) => raw)
|
|
10565
10898
|
], Message.prototype, "vector", 2);
|
|
10566
10899
|
__decorateClass([
|
|
10567
|
-
|
|
10900
|
+
text3("embedding_model")
|
|
10568
10901
|
], Message.prototype, "embeddingModel", 2);
|
|
10569
10902
|
__decorateClass([
|
|
10570
10903
|
json2("chunks", (raw) => raw)
|
|
@@ -10582,25 +10915,25 @@ __decorateClass([
|
|
|
10582
10915
|
field("was_stopped")
|
|
10583
10916
|
], Message.prototype, "wasStopped", 2);
|
|
10584
10917
|
__decorateClass([
|
|
10585
|
-
|
|
10918
|
+
text3("error")
|
|
10586
10919
|
], Message.prototype, "error", 2);
|
|
10587
10920
|
__decorateClass([
|
|
10588
10921
|
json2("thought_process", (raw) => raw)
|
|
10589
10922
|
], Message.prototype, "thoughtProcess", 2);
|
|
10590
10923
|
__decorateClass([
|
|
10591
|
-
|
|
10924
|
+
text3("thinking")
|
|
10592
10925
|
], Message.prototype, "thinking", 2);
|
|
10593
10926
|
__decorateClass([
|
|
10594
|
-
|
|
10927
|
+
text3("parent_message_id")
|
|
10595
10928
|
], Message.prototype, "parentMessageId", 2);
|
|
10596
10929
|
__decorateClass([
|
|
10597
|
-
|
|
10930
|
+
text3("feedback")
|
|
10598
10931
|
], Message.prototype, "feedback", 2);
|
|
10599
10932
|
__decorateClass([
|
|
10600
10933
|
json2("tool_call_events", (raw) => raw)
|
|
10601
10934
|
], Message.prototype, "toolCallEvents", 2);
|
|
10602
10935
|
__decorateClass([
|
|
10603
|
-
|
|
10936
|
+
text3("origin")
|
|
10604
10937
|
], Message.prototype, "origin", 2);
|
|
10605
10938
|
var Conversation = class extends Model2 {
|
|
10606
10939
|
};
|
|
@@ -10610,13 +10943,13 @@ Conversation.associations = {
|
|
|
10610
10943
|
projects: { type: "belongs_to", key: "project_id" }
|
|
10611
10944
|
};
|
|
10612
10945
|
__decorateClass([
|
|
10613
|
-
|
|
10946
|
+
text3("conversation_id")
|
|
10614
10947
|
], Conversation.prototype, "conversationId", 2);
|
|
10615
10948
|
__decorateClass([
|
|
10616
|
-
|
|
10949
|
+
text3("title")
|
|
10617
10950
|
], Conversation.prototype, "title", 2);
|
|
10618
10951
|
__decorateClass([
|
|
10619
|
-
|
|
10952
|
+
text3("project_id")
|
|
10620
10953
|
], Conversation.prototype, "projectId", 2);
|
|
10621
10954
|
__decorateClass([
|
|
10622
10955
|
date("created_at")
|
|
@@ -10637,13 +10970,13 @@ ConversationSummary.associations = {
|
|
|
10637
10970
|
conversations: { type: "belongs_to", key: "conversation_id" }
|
|
10638
10971
|
};
|
|
10639
10972
|
__decorateClass([
|
|
10640
|
-
|
|
10973
|
+
text3("conversation_id")
|
|
10641
10974
|
], ConversationSummary.prototype, "conversationId", 2);
|
|
10642
10975
|
__decorateClass([
|
|
10643
|
-
|
|
10976
|
+
text3("summary")
|
|
10644
10977
|
], ConversationSummary.prototype, "summary", 2);
|
|
10645
10978
|
__decorateClass([
|
|
10646
|
-
|
|
10979
|
+
text3("summarized_up_to")
|
|
10647
10980
|
], ConversationSummary.prototype, "summarizedUpTo", 2);
|
|
10648
10981
|
__decorateClass([
|
|
10649
10982
|
field("token_count")
|
|
@@ -10817,14 +11150,14 @@ var MaskScopedEmbeddingCache = class extends Map {
|
|
|
10817
11150
|
this.inner = inner;
|
|
10818
11151
|
this.masked = masked;
|
|
10819
11152
|
}
|
|
10820
|
-
key(
|
|
10821
|
-
return `${this.masked ? "m" : "r"}:${
|
|
11153
|
+
key(text15) {
|
|
11154
|
+
return `${this.masked ? "m" : "r"}:${text15}`;
|
|
10822
11155
|
}
|
|
10823
|
-
get(
|
|
10824
|
-
return this.inner.get(this.key(
|
|
11156
|
+
get(text15) {
|
|
11157
|
+
return this.inner.get(this.key(text15));
|
|
10825
11158
|
}
|
|
10826
|
-
set(
|
|
10827
|
-
this.inner.set(this.key(
|
|
11159
|
+
set(text15, value) {
|
|
11160
|
+
this.inner.set(this.key(text15), value);
|
|
10828
11161
|
return this;
|
|
10829
11162
|
}
|
|
10830
11163
|
};
|
|
@@ -10838,16 +11171,16 @@ function maskScopedEmbeddingCache(cache, masked) {
|
|
|
10838
11171
|
|
|
10839
11172
|
// src/lib/db/conversationMemory/models.ts
|
|
10840
11173
|
import { Model as Model3 } from "@nozbe/watermelondb";
|
|
10841
|
-
import { date as date2, field as field2, readonly, text as
|
|
11174
|
+
import { date as date2, field as field2, readonly, text as text4 } from "@nozbe/watermelondb/decorators";
|
|
10842
11175
|
var ConversationMemory = class extends Model3 {
|
|
10843
11176
|
};
|
|
10844
11177
|
ConversationMemory.table = "conversation_memory";
|
|
10845
11178
|
ConversationMemory.associations = {};
|
|
10846
11179
|
__decorateClass([
|
|
10847
|
-
|
|
11180
|
+
text4("conversation_id")
|
|
10848
11181
|
], ConversationMemory.prototype, "conversationId", 2);
|
|
10849
11182
|
__decorateClass([
|
|
10850
|
-
|
|
11183
|
+
text4("memory_id")
|
|
10851
11184
|
], ConversationMemory.prototype, "memoryId", 2);
|
|
10852
11185
|
__decorateClass([
|
|
10853
11186
|
field2("score")
|
|
@@ -10929,19 +11262,19 @@ import {
|
|
|
10929
11262
|
|
|
10930
11263
|
// src/lib/db/appFiles/models.ts
|
|
10931
11264
|
import { Model as Model4 } from "@nozbe/watermelondb";
|
|
10932
|
-
import { date as date3, readonly as readonly2, text as
|
|
11265
|
+
import { date as date3, readonly as readonly2, text as text5 } from "@nozbe/watermelondb/decorators";
|
|
10933
11266
|
var AppFile = class extends Model4 {
|
|
10934
11267
|
};
|
|
10935
11268
|
AppFile.table = "app_files";
|
|
10936
11269
|
AppFile.associations = {};
|
|
10937
11270
|
__decorateClass([
|
|
10938
|
-
|
|
11271
|
+
text5("conversation_id")
|
|
10939
11272
|
], AppFile.prototype, "conversationId", 2);
|
|
10940
11273
|
__decorateClass([
|
|
10941
|
-
|
|
11274
|
+
text5("path")
|
|
10942
11275
|
], AppFile.prototype, "path", 2);
|
|
10943
11276
|
__decorateClass([
|
|
10944
|
-
|
|
11277
|
+
text5("content")
|
|
10945
11278
|
], AppFile.prototype, "content", 2);
|
|
10946
11279
|
__decorateClass([
|
|
10947
11280
|
readonly2,
|
|
@@ -10953,12 +11286,12 @@ __decorateClass([
|
|
|
10953
11286
|
|
|
10954
11287
|
// src/lib/db/entities/models.ts
|
|
10955
11288
|
import { Model as Model5 } from "@nozbe/watermelondb";
|
|
10956
|
-
import { date as date4, field as field3, readonly as readonly3, text as
|
|
11289
|
+
import { date as date4, field as field3, readonly as readonly3, text as text6 } from "@nozbe/watermelondb/decorators";
|
|
10957
11290
|
var Entity = class extends Model5 {
|
|
10958
11291
|
};
|
|
10959
11292
|
Entity.table = "entity";
|
|
10960
11293
|
__decorateClass([
|
|
10961
|
-
|
|
11294
|
+
text6("canonical_name")
|
|
10962
11295
|
], Entity.prototype, "canonicalName", 2);
|
|
10963
11296
|
__decorateClass([
|
|
10964
11297
|
field3("kind")
|
|
@@ -10974,10 +11307,10 @@ var MemoryEntity = class extends Model5 {
|
|
|
10974
11307
|
};
|
|
10975
11308
|
MemoryEntity.table = "memory_entity";
|
|
10976
11309
|
__decorateClass([
|
|
10977
|
-
|
|
11310
|
+
text6("memory_id")
|
|
10978
11311
|
], MemoryEntity.prototype, "memoryId", 2);
|
|
10979
11312
|
__decorateClass([
|
|
10980
|
-
|
|
11313
|
+
text6("entity_id")
|
|
10981
11314
|
], MemoryEntity.prototype, "entityId", 2);
|
|
10982
11315
|
__decorateClass([
|
|
10983
11316
|
field3("user_id")
|
|
@@ -10989,7 +11322,7 @@ __decorateClass([
|
|
|
10989
11322
|
|
|
10990
11323
|
// src/lib/db/media/models.ts
|
|
10991
11324
|
import { Model as Model6 } from "@nozbe/watermelondb";
|
|
10992
|
-
import { date as date5, field as field4, json as json3, readonly as readonly4, text as
|
|
11325
|
+
import { date as date5, field as field4, json as json3, readonly as readonly4, text as text7 } from "@nozbe/watermelondb/decorators";
|
|
10993
11326
|
var Media = class extends Model6 {
|
|
10994
11327
|
};
|
|
10995
11328
|
Media.table = "media";
|
|
@@ -10998,37 +11331,37 @@ Media.associations = {
|
|
|
10998
11331
|
conversations: { type: "belongs_to", key: "conversation_id" }
|
|
10999
11332
|
};
|
|
11000
11333
|
__decorateClass([
|
|
11001
|
-
|
|
11334
|
+
text7("media_id")
|
|
11002
11335
|
], Media.prototype, "mediaId", 2);
|
|
11003
11336
|
__decorateClass([
|
|
11004
|
-
|
|
11337
|
+
text7("wallet_address")
|
|
11005
11338
|
], Media.prototype, "walletAddress", 2);
|
|
11006
11339
|
__decorateClass([
|
|
11007
|
-
|
|
11340
|
+
text7("message_id")
|
|
11008
11341
|
], Media.prototype, "messageId", 2);
|
|
11009
11342
|
__decorateClass([
|
|
11010
|
-
|
|
11343
|
+
text7("conversation_id")
|
|
11011
11344
|
], Media.prototype, "conversationId", 2);
|
|
11012
11345
|
__decorateClass([
|
|
11013
|
-
|
|
11346
|
+
text7("name")
|
|
11014
11347
|
], Media.prototype, "name", 2);
|
|
11015
11348
|
__decorateClass([
|
|
11016
|
-
|
|
11349
|
+
text7("mime_type")
|
|
11017
11350
|
], Media.prototype, "mimeType", 2);
|
|
11018
11351
|
__decorateClass([
|
|
11019
|
-
|
|
11352
|
+
text7("media_type")
|
|
11020
11353
|
], Media.prototype, "mediaType", 2);
|
|
11021
11354
|
__decorateClass([
|
|
11022
11355
|
field4("size")
|
|
11023
11356
|
], Media.prototype, "size", 2);
|
|
11024
11357
|
__decorateClass([
|
|
11025
|
-
|
|
11358
|
+
text7("role")
|
|
11026
11359
|
], Media.prototype, "role", 2);
|
|
11027
11360
|
__decorateClass([
|
|
11028
|
-
|
|
11361
|
+
text7("model")
|
|
11029
11362
|
], Media.prototype, "model", 2);
|
|
11030
11363
|
__decorateClass([
|
|
11031
|
-
|
|
11364
|
+
text7("source_url")
|
|
11032
11365
|
], Media.prototype, "sourceUrl", 2);
|
|
11033
11366
|
__decorateClass([
|
|
11034
11367
|
json3("dimensions", (raw) => raw)
|
|
@@ -11052,15 +11385,15 @@ __decorateClass([
|
|
|
11052
11385
|
|
|
11053
11386
|
// src/lib/db/memoryVault/models.ts
|
|
11054
11387
|
import { Model as Model7 } from "@nozbe/watermelondb";
|
|
11055
|
-
import { date as date6, field as field5, readonly as readonly5, text as
|
|
11388
|
+
import { date as date6, field as field5, readonly as readonly5, text as text8 } from "@nozbe/watermelondb/decorators";
|
|
11056
11389
|
var VaultMemory = class extends Model7 {
|
|
11057
11390
|
};
|
|
11058
11391
|
VaultMemory.table = "memory_vault";
|
|
11059
11392
|
__decorateClass([
|
|
11060
|
-
|
|
11393
|
+
text8("content")
|
|
11061
11394
|
], VaultMemory.prototype, "content", 2);
|
|
11062
11395
|
__decorateClass([
|
|
11063
|
-
|
|
11396
|
+
text8("scope")
|
|
11064
11397
|
], VaultMemory.prototype, "scope", 2);
|
|
11065
11398
|
__decorateClass([
|
|
11066
11399
|
field5("kind")
|
|
@@ -11162,7 +11495,7 @@ __decorateClass([
|
|
|
11162
11495
|
|
|
11163
11496
|
// src/lib/db/project/models.ts
|
|
11164
11497
|
import { Model as Model8 } from "@nozbe/watermelondb";
|
|
11165
|
-
import { date as date7, field as field6, text as
|
|
11498
|
+
import { date as date7, field as field6, text as text9 } from "@nozbe/watermelondb/decorators";
|
|
11166
11499
|
var Project = class extends Model8 {
|
|
11167
11500
|
};
|
|
11168
11501
|
Project.table = "projects";
|
|
@@ -11170,10 +11503,10 @@ Project.associations = {
|
|
|
11170
11503
|
conversations: { type: "has_many", foreignKey: "project_id" }
|
|
11171
11504
|
};
|
|
11172
11505
|
__decorateClass([
|
|
11173
|
-
|
|
11506
|
+
text9("project_id")
|
|
11174
11507
|
], Project.prototype, "projectId", 2);
|
|
11175
11508
|
__decorateClass([
|
|
11176
|
-
|
|
11509
|
+
text9("name")
|
|
11177
11510
|
], Project.prototype, "name", 2);
|
|
11178
11511
|
__decorateClass([
|
|
11179
11512
|
date7("created_at")
|
|
@@ -11187,29 +11520,29 @@ __decorateClass([
|
|
|
11187
11520
|
|
|
11188
11521
|
// src/lib/db/savedTools/models.ts
|
|
11189
11522
|
import { Model as Model9 } from "@nozbe/watermelondb";
|
|
11190
|
-
import { date as date8, field as field7, json as json4, readonly as readonly6, text as
|
|
11523
|
+
import { date as date8, field as field7, json as json4, readonly as readonly6, text as text10 } from "@nozbe/watermelondb/decorators";
|
|
11191
11524
|
var sanitizeParameters = (raw) => raw ?? {};
|
|
11192
11525
|
var SavedTool = class extends Model9 {
|
|
11193
11526
|
};
|
|
11194
11527
|
SavedTool.table = "saved_tools";
|
|
11195
11528
|
SavedTool.associations = {};
|
|
11196
11529
|
__decorateClass([
|
|
11197
|
-
|
|
11530
|
+
text10("name")
|
|
11198
11531
|
], SavedTool.prototype, "name", 2);
|
|
11199
11532
|
__decorateClass([
|
|
11200
|
-
|
|
11533
|
+
text10("display_name")
|
|
11201
11534
|
], SavedTool.prototype, "displayName", 2);
|
|
11202
11535
|
__decorateClass([
|
|
11203
|
-
|
|
11536
|
+
text10("description")
|
|
11204
11537
|
], SavedTool.prototype, "description", 2);
|
|
11205
11538
|
__decorateClass([
|
|
11206
11539
|
json4("parameters", sanitizeParameters)
|
|
11207
11540
|
], SavedTool.prototype, "parameters", 2);
|
|
11208
11541
|
__decorateClass([
|
|
11209
|
-
|
|
11542
|
+
text10("html")
|
|
11210
11543
|
], SavedTool.prototype, "html", 2);
|
|
11211
11544
|
__decorateClass([
|
|
11212
|
-
|
|
11545
|
+
text10("conversation_id")
|
|
11213
11546
|
], SavedTool.prototype, "conversationId", 2);
|
|
11214
11547
|
__decorateClass([
|
|
11215
11548
|
readonly6,
|
|
@@ -11224,43 +11557,43 @@ __decorateClass([
|
|
|
11224
11557
|
|
|
11225
11558
|
// src/lib/db/settings/models.ts
|
|
11226
11559
|
import { Model as Model10 } from "@nozbe/watermelondb";
|
|
11227
|
-
import { text as
|
|
11560
|
+
import { text as text11 } from "@nozbe/watermelondb/decorators";
|
|
11228
11561
|
var ModelPreference = class extends Model10 {
|
|
11229
11562
|
};
|
|
11230
11563
|
ModelPreference.table = "modelPreferences";
|
|
11231
11564
|
__decorateClass([
|
|
11232
|
-
|
|
11565
|
+
text11("wallet_address")
|
|
11233
11566
|
], ModelPreference.prototype, "walletAddress", 2);
|
|
11234
11567
|
__decorateClass([
|
|
11235
|
-
|
|
11568
|
+
text11("models")
|
|
11236
11569
|
], ModelPreference.prototype, "models", 2);
|
|
11237
11570
|
|
|
11238
11571
|
// src/lib/db/userPreferences/models.ts
|
|
11239
11572
|
import { Model as Model11 } from "@nozbe/watermelondb";
|
|
11240
|
-
import { field as field8, text as
|
|
11573
|
+
import { field as field8, text as text12 } from "@nozbe/watermelondb/decorators";
|
|
11241
11574
|
var UserPreference = class extends Model11 {
|
|
11242
11575
|
};
|
|
11243
11576
|
UserPreference.table = "userPreferences";
|
|
11244
11577
|
__decorateClass([
|
|
11245
|
-
|
|
11578
|
+
text12("wallet_address")
|
|
11246
11579
|
], UserPreference.prototype, "walletAddress", 2);
|
|
11247
11580
|
__decorateClass([
|
|
11248
|
-
|
|
11581
|
+
text12("nickname")
|
|
11249
11582
|
], UserPreference.prototype, "nickname", 2);
|
|
11250
11583
|
__decorateClass([
|
|
11251
|
-
|
|
11584
|
+
text12("occupation")
|
|
11252
11585
|
], UserPreference.prototype, "occupation", 2);
|
|
11253
11586
|
__decorateClass([
|
|
11254
|
-
|
|
11587
|
+
text12("description")
|
|
11255
11588
|
], UserPreference.prototype, "description", 2);
|
|
11256
11589
|
__decorateClass([
|
|
11257
|
-
|
|
11590
|
+
text12("models")
|
|
11258
11591
|
], UserPreference.prototype, "models", 2);
|
|
11259
11592
|
__decorateClass([
|
|
11260
|
-
|
|
11593
|
+
text12("personality")
|
|
11261
11594
|
], UserPreference.prototype, "personality", 2);
|
|
11262
11595
|
__decorateClass([
|
|
11263
|
-
|
|
11596
|
+
text12("external_wallets")
|
|
11264
11597
|
], UserPreference.prototype, "externalWallets", 2);
|
|
11265
11598
|
__decorateClass([
|
|
11266
11599
|
field8("created_at")
|
|
@@ -11271,15 +11604,15 @@ __decorateClass([
|
|
|
11271
11604
|
|
|
11272
11605
|
// src/lib/db/vaultFolders/models.ts
|
|
11273
11606
|
import { Model as Model12 } from "@nozbe/watermelondb";
|
|
11274
|
-
import { date as date9, field as field9, readonly as readonly7, text as
|
|
11607
|
+
import { date as date9, field as field9, readonly as readonly7, text as text13 } from "@nozbe/watermelondb/decorators";
|
|
11275
11608
|
var VaultFolder = class extends Model12 {
|
|
11276
11609
|
};
|
|
11277
11610
|
VaultFolder.table = "vault_folders";
|
|
11278
11611
|
__decorateClass([
|
|
11279
|
-
|
|
11612
|
+
text13("name")
|
|
11280
11613
|
], VaultFolder.prototype, "name", 2);
|
|
11281
11614
|
__decorateClass([
|
|
11282
|
-
|
|
11615
|
+
text13("scope")
|
|
11283
11616
|
], VaultFolder.prototype, "scope", 2);
|
|
11284
11617
|
__decorateClass([
|
|
11285
11618
|
readonly7,
|
|
@@ -11295,7 +11628,7 @@ __decorateClass([
|
|
|
11295
11628
|
field9("is_system")
|
|
11296
11629
|
], VaultFolder.prototype, "isSystem", 2);
|
|
11297
11630
|
__decorateClass([
|
|
11298
|
-
|
|
11631
|
+
text13("context")
|
|
11299
11632
|
], VaultFolder.prototype, "context", 2);
|
|
11300
11633
|
|
|
11301
11634
|
// src/lib/db/schema.ts
|
|
@@ -15563,8 +15896,8 @@ var STOPWORDS = /* @__PURE__ */ new Set([
|
|
|
15563
15896
|
"user",
|
|
15564
15897
|
"users"
|
|
15565
15898
|
]);
|
|
15566
|
-
function tokenize(
|
|
15567
|
-
const m =
|
|
15899
|
+
function tokenize(text15) {
|
|
15900
|
+
const m = text15.toLowerCase().match(TOKEN_RE);
|
|
15568
15901
|
if (!m) return [];
|
|
15569
15902
|
return m.filter((t) => !STOPWORDS.has(t));
|
|
15570
15903
|
}
|
|
@@ -15774,13 +16107,13 @@ function embedVaultRows(ctx, options, rows, preparation) {
|
|
|
15774
16107
|
);
|
|
15775
16108
|
[...missing].forEach(([key, row], index) => {
|
|
15776
16109
|
const request = batch.then((vectors) => {
|
|
15777
|
-
const
|
|
15778
|
-
updateVaultMemoryEmbeddingOp(ctx, row.uniqueId, JSON.stringify(
|
|
16110
|
+
const vector2 = vectors[index];
|
|
16111
|
+
updateVaultMemoryEmbeddingOp(ctx, row.uniqueId, JSON.stringify(vector2), model, {
|
|
15779
16112
|
content: row.content,
|
|
15780
16113
|
updatedAt: row.updatedAt?.getTime()
|
|
15781
16114
|
}).catch(() => {
|
|
15782
16115
|
});
|
|
15783
|
-
return
|
|
16116
|
+
return vector2;
|
|
15784
16117
|
}).finally(() => {
|
|
15785
16118
|
entries.delete(key);
|
|
15786
16119
|
if (entries.size === 0) pendingRows.get(ctx)?.delete(options.maskInput);
|
|
@@ -16394,12 +16727,12 @@ async function preEmbedVaultMemories(vaultCtx, embeddingOptions, cache, options)
|
|
|
16394
16727
|
}
|
|
16395
16728
|
}
|
|
16396
16729
|
if (uncachedTexts.length > 0) {
|
|
16397
|
-
const
|
|
16730
|
+
const embeddings2 = await embedVaultRows(vaultCtx, embeddingOptions, uncachedRows);
|
|
16398
16731
|
for (let i = 0; i < uncachedKeys.length; i++) {
|
|
16399
16732
|
cacheRowVector(
|
|
16400
16733
|
cache,
|
|
16401
16734
|
uncachedKeys[i],
|
|
16402
|
-
Float32Array.from(
|
|
16735
|
+
Float32Array.from(embeddings2[i]),
|
|
16403
16736
|
uncachedVersions[i],
|
|
16404
16737
|
uncachedTexts[i]
|
|
16405
16738
|
);
|
|
@@ -18202,7 +18535,7 @@ function createAutoExtractor(options) {
|
|
|
18202
18535
|
...options.retainCtx,
|
|
18203
18536
|
embeddingOptions: {
|
|
18204
18537
|
...options.retainCtx.embeddingOptions,
|
|
18205
|
-
maskInput: (
|
|
18538
|
+
maskInput: (text15) => piiRedactor.maskText(text15)
|
|
18206
18539
|
}
|
|
18207
18540
|
} : options.retainCtx;
|
|
18208
18541
|
function processTurn(messages, conversationId) {
|
|
@@ -20125,12 +20458,12 @@ ${JSON.stringify(
|
|
|
20125
20458
|
function parseAnswer(body, base, parseSchema) {
|
|
20126
20459
|
if (typeof body !== "object" || body === null) return base;
|
|
20127
20460
|
const obj = body;
|
|
20128
|
-
const
|
|
20461
|
+
const text15 = extractCompletionContent(obj) ?? "";
|
|
20129
20462
|
const usage = obj.usage;
|
|
20130
20463
|
let structuredOutput;
|
|
20131
|
-
if (parseSchema &&
|
|
20464
|
+
if (parseSchema && text15) {
|
|
20132
20465
|
try {
|
|
20133
|
-
structuredOutput = JSON.parse(extractJsonCandidate(
|
|
20466
|
+
structuredOutput = JSON.parse(extractJsonCandidate(text15));
|
|
20134
20467
|
} catch (err) {
|
|
20135
20468
|
getLogger().warn("[memory/reflect] structured output was not valid JSON", {
|
|
20136
20469
|
err: err instanceof Error ? err.message : String(err)
|
|
@@ -20140,7 +20473,7 @@ function parseAnswer(body, base, parseSchema) {
|
|
|
20140
20473
|
const promptTokens = usage?.prompt_tokens ?? usage?.input_tokens ?? 0;
|
|
20141
20474
|
const completionTokens = usage?.completion_tokens ?? usage?.output_tokens ?? 0;
|
|
20142
20475
|
return {
|
|
20143
|
-
text:
|
|
20476
|
+
text: text15,
|
|
20144
20477
|
...structuredOutput !== void 0 && { structuredOutput },
|
|
20145
20478
|
basedOn: base.basedOn,
|
|
20146
20479
|
usage: {
|
|
@@ -20703,10 +21036,10 @@ async function decryptMemoryField(value, rings) {
|
|
|
20703
21036
|
|
|
20704
21037
|
// src/lib/memory/store/remotePipeline.ts
|
|
20705
21038
|
import { v7 as uuidv74 } from "uuid";
|
|
20706
|
-
function storedVector(
|
|
20707
|
-
if (!Array.isArray(
|
|
21039
|
+
function storedVector(vector2) {
|
|
21040
|
+
if (!Array.isArray(vector2) || vector2.length !== 1536 && vector2.length !== 4096 || vector2.some((v) => !Number.isFinite(v)))
|
|
20708
21041
|
throw new Error("Remote memories require a finite 1536/4096-dimensional vector");
|
|
20709
|
-
const out =
|
|
21042
|
+
const out = vector2.slice(0, 1536);
|
|
20710
21043
|
const norm = Math.sqrt(out.reduce((sum, v) => sum + v * v, 0));
|
|
20711
21044
|
if (!norm) throw new Error("Remote query/content vector has no direction after MRL truncation");
|
|
20712
21045
|
return out.map((v) => v / norm);
|
|
@@ -21065,7 +21398,7 @@ function createRemoteMemoryPipeline(options) {
|
|
|
21065
21398
|
const factSource = {
|
|
21066
21399
|
graphRanking: options.graphRanking,
|
|
21067
21400
|
temporalRanking: options.temporalRanking,
|
|
21068
|
-
search: async (
|
|
21401
|
+
search: async (text15, searchOptions, embeddingCache) => {
|
|
21069
21402
|
const queryOptions = {
|
|
21070
21403
|
...embeddingOptions,
|
|
21071
21404
|
taskType: "memory_recall_embed",
|
|
@@ -21074,8 +21407,8 @@ function createRemoteMemoryPipeline(options) {
|
|
|
21074
21407
|
}
|
|
21075
21408
|
};
|
|
21076
21409
|
const { prepare } = operation("recall", queryOptions);
|
|
21077
|
-
const prepared = await prepare(
|
|
21078
|
-
const ranked = await rankPreparedVaultCandidates(
|
|
21410
|
+
const prepared = await prepare(text15, searchOptions);
|
|
21411
|
+
const ranked = await rankPreparedVaultCandidates(text15, prepared, queryOptions, searchOptions);
|
|
21079
21412
|
return {
|
|
21080
21413
|
...ranked,
|
|
21081
21414
|
rankedOnCosine: prepared.memories.length > 0 && !prepared.embeddingsUnavailable,
|
|
@@ -21165,7 +21498,7 @@ var METADATA_FIELDS = [
|
|
|
21165
21498
|
"published_at",
|
|
21166
21499
|
"geohash"
|
|
21167
21500
|
];
|
|
21168
|
-
function
|
|
21501
|
+
function text14(value) {
|
|
21169
21502
|
return typeof value === "string" && value !== "" ? value : void 0;
|
|
21170
21503
|
}
|
|
21171
21504
|
function num(value) {
|
|
@@ -21186,14 +21519,14 @@ function revision(raw) {
|
|
|
21186
21519
|
};
|
|
21187
21520
|
}
|
|
21188
21521
|
function embedding(raw, model) {
|
|
21189
|
-
const value =
|
|
21522
|
+
const value = text14(raw.embedding);
|
|
21190
21523
|
if (!value) return void 0;
|
|
21191
21524
|
try {
|
|
21192
|
-
const
|
|
21193
|
-
const stored2 =
|
|
21194
|
-
if (stored2 === void 0 ?
|
|
21525
|
+
const vector2 = JSON.parse(value);
|
|
21526
|
+
const stored2 = text14(raw.embedding_model);
|
|
21527
|
+
if (stored2 === void 0 ? vector2.length !== LOCAL_VECTOR_DIMS : stored2 !== model)
|
|
21195
21528
|
return void 0;
|
|
21196
|
-
return storedVector(
|
|
21529
|
+
return storedVector(vector2);
|
|
21197
21530
|
} catch {
|
|
21198
21531
|
return void 0;
|
|
21199
21532
|
}
|
|
@@ -21207,7 +21540,7 @@ function stringArray(value) {
|
|
|
21207
21540
|
}
|
|
21208
21541
|
}
|
|
21209
21542
|
function sourceChunkIds(raw) {
|
|
21210
|
-
const value =
|
|
21543
|
+
const value = text14(raw.source_chunk_ids);
|
|
21211
21544
|
const ids = value && stringArray(value);
|
|
21212
21545
|
return ids ? serializeSourceChunkIds(ids) : value;
|
|
21213
21546
|
}
|
|
@@ -21219,39 +21552,39 @@ function fitsNearby(row) {
|
|
|
21219
21552
|
}
|
|
21220
21553
|
function invalid2(raw) {
|
|
21221
21554
|
const id2 = raw.id;
|
|
21222
|
-
return typeof id2 !== "string" || id2 === "" || bytes(id2) > MAX_ID_BYTES || !
|
|
21555
|
+
return typeof id2 !== "string" || id2 === "" || bytes(id2) > MAX_ID_BYTES || !text14(raw.scope) || (num(raw.created_at) ?? 0) <= 0 || (num(raw.updated_at) ?? 0) <= 0;
|
|
21223
21556
|
}
|
|
21224
21557
|
function metadata2(raw, model) {
|
|
21225
|
-
const
|
|
21558
|
+
const vector2 = embedding(raw, model);
|
|
21226
21559
|
return {
|
|
21227
21560
|
scope: raw.scope,
|
|
21228
|
-
kind:
|
|
21229
|
-
level:
|
|
21230
|
-
folder_id:
|
|
21561
|
+
kind: text14(raw.kind),
|
|
21562
|
+
level: text14(raw.level),
|
|
21563
|
+
folder_id: text14(raw.folder_id),
|
|
21231
21564
|
is_deleted: bool(raw.is_deleted) ?? false,
|
|
21232
|
-
...
|
|
21565
|
+
...vector2 && { embedding: vector2, embedding_model: model },
|
|
21233
21566
|
source_chunk_ids: sourceChunkIds(raw),
|
|
21234
21567
|
proof_count: num(raw.proof_count),
|
|
21235
|
-
source:
|
|
21568
|
+
source: text14(raw.source),
|
|
21236
21569
|
event_time_start: num(raw.event_time_start),
|
|
21237
21570
|
event_time_end: num(raw.event_time_end),
|
|
21238
|
-
event_time_kind:
|
|
21571
|
+
event_time_kind: text14(raw.event_time_kind),
|
|
21239
21572
|
topics_user_managed: bool(raw.topics_user_managed),
|
|
21240
|
-
topics:
|
|
21573
|
+
topics: text14(raw.topics),
|
|
21241
21574
|
topics_updated_at: num(raw.topics_updated_at),
|
|
21242
|
-
media:
|
|
21575
|
+
media: text14(raw.media),
|
|
21243
21576
|
topics_extracted_at: num(raw.topics_extracted_at),
|
|
21244
21577
|
topics_extracted_version: num(raw.topics_extracted_version),
|
|
21245
|
-
superseded_by:
|
|
21578
|
+
superseded_by: text14(raw.superseded_by),
|
|
21246
21579
|
superseded_at: num(raw.superseded_at),
|
|
21247
21580
|
last_observed_at: num(raw.last_observed_at),
|
|
21248
|
-
fact_type:
|
|
21581
|
+
fact_type: text14(raw.fact_type),
|
|
21249
21582
|
archived_at: num(raw.archived_at),
|
|
21250
|
-
trust_tier:
|
|
21251
|
-
visibility:
|
|
21583
|
+
trust_tier: text14(raw.trust_tier),
|
|
21584
|
+
visibility: text14(raw.visibility),
|
|
21252
21585
|
twin_opt_in: bool(raw.twin_opt_in),
|
|
21253
21586
|
published_at: num(raw.published_at),
|
|
21254
|
-
geohash:
|
|
21587
|
+
geohash: text14(raw.geohash)
|
|
21255
21588
|
};
|
|
21256
21589
|
}
|
|
21257
21590
|
function defined(value) {
|
|
@@ -21262,7 +21595,7 @@ function defined(value) {
|
|
|
21262
21595
|
async function prepareRow(raw, canonical, rings, model, updatedAt) {
|
|
21263
21596
|
const deleted = bool(raw.is_deleted) ?? false;
|
|
21264
21597
|
const { encrypt } = memoryCipher(canonical);
|
|
21265
|
-
const localKindValue =
|
|
21598
|
+
const localKindValue = text14(raw.kind_value);
|
|
21266
21599
|
let plaintext;
|
|
21267
21600
|
let kindValue;
|
|
21268
21601
|
try {
|
|
@@ -21406,7 +21739,7 @@ async function remoteMetadata(request, ids, signal) {
|
|
|
21406
21739
|
}
|
|
21407
21740
|
async function backfillTopics(ctx) {
|
|
21408
21741
|
if (!ctx.entityCtx) return;
|
|
21409
|
-
const topicless = (await getAllVaultMemoryRowsOp(ctx)).filter((raw) => !
|
|
21742
|
+
const topicless = (await getAllVaultMemoryRowsOp(ctx)).filter((raw) => !text14(raw.topics) && !bool(raw.is_deleted)).map((raw) => raw.id);
|
|
21410
21743
|
if (topicless.length > 0) await backfillMemoryTopicsOp(ctx, topicless);
|
|
21411
21744
|
}
|
|
21412
21745
|
async function migrateMemoriesToRemote(options) {
|
|
@@ -21517,7 +21850,7 @@ async function migrateMemoriesToRemote(options) {
|
|
|
21517
21850
|
track(reembedded, !!row.embedding && !usable.has(id2));
|
|
21518
21851
|
track(unembedded, !row.embedding);
|
|
21519
21852
|
track(placeholders, plaintext === void 0);
|
|
21520
|
-
track(truncated, row.source_chunk_ids !==
|
|
21853
|
+
track(truncated, row.source_chunk_ids !== text14(local.get(id2).source_chunk_ids));
|
|
21521
21854
|
}
|
|
21522
21855
|
let sent = 0;
|
|
21523
21856
|
options.onProgress?.({ imported: sent, toImport: upload.length });
|
|
@@ -21934,12 +22267,12 @@ function createRemoteMemoryStore(options) {
|
|
|
21934
22267
|
};
|
|
21935
22268
|
const embedInBackground = ({ memory: { memory_id: id2, content } }) => {
|
|
21936
22269
|
generateEmbedding(content, embeddingOptions).then(
|
|
21937
|
-
(
|
|
22270
|
+
(vector2) => serialized(id2, async () => {
|
|
21938
22271
|
const current = await live(id2);
|
|
21939
22272
|
if (!current || current.memory.content !== content || current.memory.embedding?.length)
|
|
21940
22273
|
return;
|
|
21941
22274
|
const saved = await persistence.put(
|
|
21942
|
-
{ ...current.memory, embedding: storedVector(
|
|
22275
|
+
{ ...current.memory, embedding: storedVector(vector2), embedding_model: model },
|
|
21943
22276
|
current
|
|
21944
22277
|
);
|
|
21945
22278
|
notify("embedding", [saved]);
|
|
@@ -22432,8 +22765,8 @@ function createRemoteMemoryStore(options) {
|
|
|
22432
22765
|
return finish();
|
|
22433
22766
|
}
|
|
22434
22767
|
const writes = targets.flatMap((record2, i) => {
|
|
22435
|
-
const
|
|
22436
|
-
if (!
|
|
22768
|
+
const vector2 = vectors[i];
|
|
22769
|
+
if (!vector2) {
|
|
22437
22770
|
result.failed++;
|
|
22438
22771
|
return [];
|
|
22439
22772
|
}
|
|
@@ -22442,7 +22775,7 @@ function createRemoteMemoryStore(options) {
|
|
|
22442
22775
|
{
|
|
22443
22776
|
memory: {
|
|
22444
22777
|
...record2.memory,
|
|
22445
|
-
embedding: storedVector(
|
|
22778
|
+
embedding: storedVector(vector2),
|
|
22446
22779
|
embedding_model: model
|
|
22447
22780
|
},
|
|
22448
22781
|
expectedVersion: record2
|
|
@@ -22522,10 +22855,10 @@ function createRemoteMemoryStore(options) {
|
|
|
22522
22855
|
if (!rejectsInput(error)) return null;
|
|
22523
22856
|
}
|
|
22524
22857
|
const vectors = [];
|
|
22525
|
-
for (const [i,
|
|
22858
|
+
for (const [i, text15] of texts.entries()) {
|
|
22526
22859
|
signal?.throwIfAborted();
|
|
22527
22860
|
try {
|
|
22528
|
-
[vectors[i]] = await generateEmbeddings([
|
|
22861
|
+
[vectors[i]] = await generateEmbeddings([text15], embeddingOptions, signal);
|
|
22529
22862
|
} catch (error) {
|
|
22530
22863
|
signal?.throwIfAborted();
|
|
22531
22864
|
if (!rejectsInput(error)) return null;
|
|
@@ -23179,6 +23512,7 @@ async function synthesizeFacet(facet, ctx, options, prior, vaultPreparation) {
|
|
|
23179
23512
|
vaultPreparation,
|
|
23180
23513
|
scopes,
|
|
23181
23514
|
limit: hasReviewGate ? RECALL_MAX_LIMIT : limit,
|
|
23515
|
+
...hasReviewGate && { memoryIds: [...reviewed] },
|
|
23182
23516
|
types: ["fact"],
|
|
23183
23517
|
factTypeWeights,
|
|
23184
23518
|
proofCountAlpha
|
|
@@ -23214,8 +23548,8 @@ async function synthesizeFacet(facet, ctx, options, prior, vaultPreparation) {
|
|
|
23214
23548
|
memories
|
|
23215
23549
|
});
|
|
23216
23550
|
const noEvidence = result.basedOn.memoryIds.length === 0;
|
|
23217
|
-
const { text:
|
|
23218
|
-
if (!
|
|
23551
|
+
const { text: text15, legitimateEmpty } = extractFacetText(result.structuredOutput);
|
|
23552
|
+
if (!text15 && !legitimateEmpty && !noEvidence) {
|
|
23219
23553
|
getLogger().warn(
|
|
23220
23554
|
"[memory/synthesizeProfile] facet synthesis returned degraded-empty; using fallback section",
|
|
23221
23555
|
{ facet: facet.key, recalledCount: result.basedOn.memoryIds.length }
|
|
@@ -23225,12 +23559,12 @@ async function synthesizeFacet(facet, ctx, options, prior, vaultPreparation) {
|
|
|
23225
23559
|
const section = {
|
|
23226
23560
|
key: facet.key,
|
|
23227
23561
|
label: facet.label,
|
|
23228
|
-
text:
|
|
23562
|
+
text: text15,
|
|
23229
23563
|
sourceMemoryIds: result.basedOn.memoryIds,
|
|
23230
23564
|
generatedAt: Date.now()
|
|
23231
23565
|
};
|
|
23232
|
-
if (options.redactor &&
|
|
23233
|
-
const redacted = await options.redactor.redactTextAsync(
|
|
23566
|
+
if (options.redactor && text15) {
|
|
23567
|
+
const redacted = await options.redactor.redactTextAsync(text15);
|
|
23234
23568
|
section.text = redacted.text;
|
|
23235
23569
|
}
|
|
23236
23570
|
if (!legitimateEmpty && !noEvidence) {
|
|
@@ -23455,9 +23789,9 @@ async function assembleMemoryContext(options) {
|
|
|
23455
23789
|
if (!refs.length) return [];
|
|
23456
23790
|
const rows = await loadFacts({ ...filters, memoryIds: refs.map((r) => r.memoryId) });
|
|
23457
23791
|
const byId = new Map(rows.filter(active).map((m) => [m.uniqueId, m]));
|
|
23458
|
-
return refs.flatMap((
|
|
23459
|
-
const m = byId.get(
|
|
23460
|
-
return m ? [asItem(m, "session",
|
|
23792
|
+
return refs.flatMap((ref2) => {
|
|
23793
|
+
const m = byId.get(ref2.memoryId);
|
|
23794
|
+
return m ? [asItem(m, "session", ref2.score)] : [];
|
|
23461
23795
|
});
|
|
23462
23796
|
},
|
|
23463
23797
|
[]
|
|
@@ -24216,7 +24550,7 @@ async function verifyFactSupport(items, options) {
|
|
|
24216
24550
|
}
|
|
24217
24551
|
const maxEvidenceChars = Math.max(1, options.maxEvidenceChars ?? DEFAULT_MAX_EVIDENCE_CHARS);
|
|
24218
24552
|
const redactor = resolvePiiRedactor(options.piiRedaction ?? true);
|
|
24219
|
-
const safe = async (
|
|
24553
|
+
const safe = async (text15) => redactor ? (await redactor.redactTextAsync(text15)).text : text15;
|
|
24220
24554
|
let truncatedCount = 0;
|
|
24221
24555
|
const parts = [];
|
|
24222
24556
|
for (const [i, item] of items.entries()) {
|
|
@@ -24332,7 +24666,7 @@ async function verifyMemoriesForPublish(memories, sources, options) {
|
|
|
24332
24666
|
);
|
|
24333
24667
|
const pending = [];
|
|
24334
24668
|
for (const { index, uniqueId, content, ids } of withinBudget) {
|
|
24335
|
-
const evidence = ids.map((id2) => resolved.get(id2) ?? null).filter((
|
|
24669
|
+
const evidence = ids.map((id2) => resolved.get(id2) ?? null).filter((text15) => text15 !== null);
|
|
24336
24670
|
const dropped = ids.length - evidence.length;
|
|
24337
24671
|
if (ids.some((id2) => unreadable.has(id2))) {
|
|
24338
24672
|
results[index] = {
|
|
@@ -25138,9 +25472,9 @@ async function autoFilterClientTools(clientTools, promptEmbeddings, cache, embed
|
|
|
25138
25472
|
if (toolsNeedingEmbeddings.length > 0) {
|
|
25139
25473
|
try {
|
|
25140
25474
|
const descriptions = toolsNeedingEmbeddings.map((t) => t.description);
|
|
25141
|
-
const
|
|
25475
|
+
const embeddings2 = await generateEmbeddings(descriptions, embeddingOptions);
|
|
25142
25476
|
for (let i = 0; i < toolsNeedingEmbeddings.length; i++) {
|
|
25143
|
-
cache.set(toolsNeedingEmbeddings[i].name,
|
|
25477
|
+
cache.set(toolsNeedingEmbeddings[i].name, embeddings2[i]);
|
|
25144
25478
|
}
|
|
25145
25479
|
} catch {
|
|
25146
25480
|
return { tools: clientTools, activatedSetNames: /* @__PURE__ */ new Set(), matchedSetNames: /* @__PURE__ */ new Set() };
|
|
@@ -25601,8 +25935,8 @@ var sessionCache = /* @__PURE__ */ new Map();
|
|
|
25601
25935
|
function generateRequestId() {
|
|
25602
25936
|
return ++requestIdCounter;
|
|
25603
25937
|
}
|
|
25604
|
-
function parseSSEResponse(
|
|
25605
|
-
const events =
|
|
25938
|
+
function parseSSEResponse(text15) {
|
|
25939
|
+
const events = text15.split(/\n\n+/);
|
|
25606
25940
|
let lastEventData = "";
|
|
25607
25941
|
for (const event of events) {
|
|
25608
25942
|
const dataLines = [];
|
|
@@ -25624,11 +25958,11 @@ function parseSSEResponse(text14) {
|
|
|
25624
25958
|
}
|
|
25625
25959
|
async function parseResponseBody(response) {
|
|
25626
25960
|
const contentType = response.headers.get("Content-Type") || "";
|
|
25627
|
-
const
|
|
25628
|
-
if (contentType.includes("text/event-stream") ||
|
|
25629
|
-
return parseSSEResponse(
|
|
25961
|
+
const text15 = await response.text();
|
|
25962
|
+
if (contentType.includes("text/event-stream") || text15.startsWith("event:") || text15.startsWith("data:")) {
|
|
25963
|
+
return parseSSEResponse(text15);
|
|
25630
25964
|
}
|
|
25631
|
-
return JSON.parse(
|
|
25965
|
+
return JSON.parse(text15);
|
|
25632
25966
|
}
|
|
25633
25967
|
async function initializeMCPSession(accessToken) {
|
|
25634
25968
|
const requestId = generateRequestId();
|
|
@@ -26943,9 +27277,9 @@ New lines of conversation:
|
|
|
26943
27277
|
{new_lines}
|
|
26944
27278
|
|
|
26945
27279
|
New summary:`;
|
|
26946
|
-
function estimateTokens(
|
|
26947
|
-
if (!
|
|
26948
|
-
return Math.ceil(
|
|
27280
|
+
function estimateTokens(text15) {
|
|
27281
|
+
if (!text15) return 0;
|
|
27282
|
+
return Math.ceil(text15.length / 4);
|
|
26949
27283
|
}
|
|
26950
27284
|
var PER_MESSAGE_OVERHEAD_TOKENS = 4;
|
|
26951
27285
|
var MAX_MESSAGES_PER_SUMMARIZATION = 20;
|
|
@@ -27005,14 +27339,14 @@ function splitMessagesAtThreshold(messages, tokenThreshold, minWindowMessages) {
|
|
|
27005
27339
|
}
|
|
27006
27340
|
async function redactSummaryPrompt(prompt, redactor, onPiiRedacted) {
|
|
27007
27341
|
if (!redactor) return prompt;
|
|
27008
|
-
const { text:
|
|
27342
|
+
const { text: text15, matches } = await redactor.redactTextAsync(prompt);
|
|
27009
27343
|
if (matches.length > 0 && onPiiRedacted) {
|
|
27010
27344
|
try {
|
|
27011
27345
|
onPiiRedacted(matches);
|
|
27012
27346
|
} catch {
|
|
27013
27347
|
}
|
|
27014
27348
|
}
|
|
27015
|
-
return
|
|
27349
|
+
return text15;
|
|
27016
27350
|
}
|
|
27017
27351
|
async function progressiveSummarize(options) {
|
|
27018
27352
|
const {
|
|
@@ -27745,7 +28079,7 @@ function useChatStorage(options) {
|
|
|
27745
28079
|
[piiRedaction, currentConversationId]
|
|
27746
28080
|
);
|
|
27747
28081
|
const maskForEmbedding = useCallback4(
|
|
27748
|
-
(
|
|
28082
|
+
(text15) => isPiiRedactor(resolvedPiiRedaction) ? resolvedPiiRedaction.maskText(text15) : text15,
|
|
27749
28083
|
[resolvedPiiRedaction]
|
|
27750
28084
|
);
|
|
27751
28085
|
const maskEmbeddingInput = isPiiRedactor(resolvedPiiRedaction) ? maskForEmbedding : void 0;
|
|
@@ -27948,13 +28282,13 @@ function useChatStorage(options) {
|
|
|
27948
28282
|
const opts = { getToken, baseUrl, model: embeddingModel };
|
|
27949
28283
|
if (shouldChunkMessage(message.content, DEFAULT_CHUNK_SIZE)) {
|
|
27950
28284
|
const textChunks = chunkText(message.content);
|
|
27951
|
-
const
|
|
28285
|
+
const embeddings2 = await generateEmbeddings(
|
|
27952
28286
|
textChunks.map((c) => mask(c.text)),
|
|
27953
28287
|
opts
|
|
27954
28288
|
);
|
|
27955
28289
|
const messageChunks = textChunks.map((chunk, i) => ({
|
|
27956
28290
|
text: chunk.text,
|
|
27957
|
-
vector:
|
|
28291
|
+
vector: embeddings2[i],
|
|
27958
28292
|
startOffset: chunk.startOffset,
|
|
27959
28293
|
endOffset: chunk.endOffset
|
|
27960
28294
|
}));
|
|
@@ -28591,7 +28925,7 @@ function useChatStorage(options) {
|
|
|
28591
28925
|
return {
|
|
28592
28926
|
callRedactor: redactor,
|
|
28593
28927
|
callPiiRedaction: forInnerSend,
|
|
28594
|
-
maskForCall: (
|
|
28928
|
+
maskForCall: (text15) => redactor ? redactor.maskText(text15) : text15
|
|
28595
28929
|
};
|
|
28596
28930
|
};
|
|
28597
28931
|
const retirementError = await retirePendingTurn();
|
|
@@ -28600,7 +28934,7 @@ function useChatStorage(options) {
|
|
|
28600
28934
|
getLogger().warn("[useChatStorage] detached partial not saved:", retirementError);
|
|
28601
28935
|
}
|
|
28602
28936
|
const effectiveAssistantUniqueId = assistantUniqueId ?? (resumable ? `msg_${uuidv77()}` : void 0);
|
|
28603
|
-
const embedToolText = (
|
|
28937
|
+
const embedToolText = (text15, mask, masked, token) => {
|
|
28604
28938
|
const opts = {
|
|
28605
28939
|
getToken: token,
|
|
28606
28940
|
baseUrl,
|
|
@@ -28608,10 +28942,10 @@ function useChatStorage(options) {
|
|
|
28608
28942
|
maskInput: mask,
|
|
28609
28943
|
cache: embeddingCache ? maskScopedEmbeddingCache(embeddingCache, masked) : void 0
|
|
28610
28944
|
};
|
|
28611
|
-
return shouldChunkMessage(
|
|
28612
|
-
chunkText(
|
|
28945
|
+
return shouldChunkMessage(text15, DEFAULT_CHUNK_SIZE) ? generateEmbeddings(
|
|
28946
|
+
chunkText(text15).map((c) => c.text),
|
|
28613
28947
|
opts
|
|
28614
|
-
) : generateEmbedding(
|
|
28948
|
+
) : generateEmbedding(text15, opts);
|
|
28615
28949
|
};
|
|
28616
28950
|
if (walletAddress && signMessage && !hasEncryptionKey(walletAddress)) {
|
|
28617
28951
|
try {
|