@anuma/sdk 6.36.0 → 6.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/expo/index.cjs +523 -267
- package/dist/expo/index.d.mts +62 -3
- package/dist/expo/index.d.ts +62 -3
- package/dist/expo/index.mjs +530 -275
- package/dist/index.cjs +150 -74
- package/dist/index.d.mts +30 -1
- package/dist/index.d.ts +30 -1
- package/dist/index.mjs +149 -74
- package/dist/react/index.cjs +568 -312
- package/dist/react/index.d.mts +62 -3
- package/dist/react/index.d.ts +62 -3
- package/dist/react/index.mjs +575 -320
- package/dist/server/index.cjs +87 -9
- package/dist/server/index.d.mts +58 -3
- package/dist/server/index.d.ts +58 -3
- package/dist/server/index.mjs +87 -9
- package/dist/tools/index.cjs +74 -12
- package/dist/tools/index.d.mts +16 -3
- package/dist/tools/index.d.ts +16 -3
- package/dist/tools/index.mjs +73 -12
- package/package.json +1 -1
package/dist/react/index.mjs
CHANGED
|
@@ -704,8 +704,8 @@ var createClient = (config = {}) => {
|
|
|
704
704
|
data = await response[parseAs]();
|
|
705
705
|
break;
|
|
706
706
|
case "json": {
|
|
707
|
-
const
|
|
708
|
-
data =
|
|
707
|
+
const text13 = await response.text();
|
|
708
|
+
data = text13 ? JSON.parse(text13) : {};
|
|
709
709
|
break;
|
|
710
710
|
}
|
|
711
711
|
case "stream":
|
|
@@ -3977,8 +3977,8 @@ var ATTACHED_FILES_OPEN_TAG = "<attached_files>";
|
|
|
3977
3977
|
var ATTACHED_FILES_CLOSE_TAG = "</attached_files>";
|
|
3978
3978
|
var ATTACHED_FILES_PREFIX = `${ATTACHED_FILES_OPEN_TAG}
|
|
3979
3979
|
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.`;
|
|
3980
|
-
function isAttachedFilesText(
|
|
3981
|
-
return typeof
|
|
3980
|
+
function isAttachedFilesText(text13) {
|
|
3981
|
+
return typeof text13 === "string" && text13.startsWith(ATTACHED_FILES_PREFIX) && text13.endsWith(ATTACHED_FILES_CLOSE_TAG);
|
|
3982
3982
|
}
|
|
3983
3983
|
function buildAttachedFilesText(fileContext) {
|
|
3984
3984
|
return `${ATTACHED_FILES_PREFIX}
|
|
@@ -4163,7 +4163,7 @@ function extractUserMessageFromMessages(messages) {
|
|
|
4163
4163
|
}
|
|
4164
4164
|
|
|
4165
4165
|
// src/lib/db/chat/operations.ts
|
|
4166
|
-
function messageToStoredRaw(message,
|
|
4166
|
+
function messageToStoredRaw(message, projection2) {
|
|
4167
4167
|
const convId = String(message._getRaw("conversation_id"));
|
|
4168
4168
|
const parseJsonField = (rawValue) => {
|
|
4169
4169
|
if (!rawValue) return void 0;
|
|
@@ -4177,7 +4177,7 @@ function messageToStoredRaw(message, projection) {
|
|
|
4177
4177
|
}
|
|
4178
4178
|
return rawValue;
|
|
4179
4179
|
};
|
|
4180
|
-
const skipEmbeddings =
|
|
4180
|
+
const skipEmbeddings = projection2?.skipEmbeddings === true;
|
|
4181
4181
|
const sourcesRaw = message._getRaw("sources");
|
|
4182
4182
|
const vectorRaw = skipEmbeddings ? null : message._getRaw("vector");
|
|
4183
4183
|
const chunksRaw = skipEmbeddings ? null : message._getRaw("chunks");
|
|
@@ -4211,8 +4211,8 @@ function messageToStoredRaw(message, projection) {
|
|
|
4211
4211
|
origin: message.origin
|
|
4212
4212
|
};
|
|
4213
4213
|
}
|
|
4214
|
-
async function messageToStored(message, walletAddress, signMessage, embeddedWalletSigner,
|
|
4215
|
-
const baseMessage = messageToStoredRaw(message,
|
|
4214
|
+
async function messageToStored(message, walletAddress, signMessage, embeddedWalletSigner, projection2) {
|
|
4215
|
+
const baseMessage = messageToStoredRaw(message, projection2);
|
|
4216
4216
|
if (walletAddress) {
|
|
4217
4217
|
return await decryptMessageFields(
|
|
4218
4218
|
baseMessage,
|
|
@@ -4226,7 +4226,7 @@ async function messageToStored(message, walletAddress, signMessage, embeddedWall
|
|
|
4226
4226
|
function rawDate(value) {
|
|
4227
4227
|
return new Date(typeof value === "number" ? value : 0);
|
|
4228
4228
|
}
|
|
4229
|
-
function messageRawToStoredRaw(raw,
|
|
4229
|
+
function messageRawToStoredRaw(raw, projection2) {
|
|
4230
4230
|
const parseJsonField = (rawValue) => {
|
|
4231
4231
|
if (!rawValue) return void 0;
|
|
4232
4232
|
if (typeof rawValue === "string") {
|
|
@@ -4239,7 +4239,7 @@ function messageRawToStoredRaw(raw, projection) {
|
|
|
4239
4239
|
}
|
|
4240
4240
|
return rawValue;
|
|
4241
4241
|
};
|
|
4242
|
-
const skipEmbeddings =
|
|
4242
|
+
const skipEmbeddings = projection2?.skipEmbeddings === true;
|
|
4243
4243
|
const vectorRaw = skipEmbeddings ? null : raw.vector;
|
|
4244
4244
|
const chunksRaw = skipEmbeddings ? null : raw.chunks;
|
|
4245
4245
|
return {
|
|
@@ -4270,8 +4270,8 @@ function messageRawToStoredRaw(raw, projection) {
|
|
|
4270
4270
|
origin: raw.origin
|
|
4271
4271
|
};
|
|
4272
4272
|
}
|
|
4273
|
-
async function messageRawToStored(raw, walletAddress, signMessage, embeddedWalletSigner,
|
|
4274
|
-
const baseMessage = messageRawToStoredRaw(raw,
|
|
4273
|
+
async function messageRawToStored(raw, walletAddress, signMessage, embeddedWalletSigner, projection2) {
|
|
4274
|
+
const baseMessage = messageRawToStoredRaw(raw, projection2);
|
|
4275
4275
|
if (walletAddress) {
|
|
4276
4276
|
return await decryptMessageFields(
|
|
4277
4277
|
baseMessage,
|
|
@@ -5154,49 +5154,49 @@ function makeSyntheticStoredConversation(opts, defaultTitle) {
|
|
|
5154
5154
|
var DEFAULT_CHUNK_SIZE = 400;
|
|
5155
5155
|
var DEFAULT_CHUNK_OVERLAP = 50;
|
|
5156
5156
|
var DEFAULT_MIN_CHUNK_SIZE = 50;
|
|
5157
|
-
function splitIntoSentences(
|
|
5157
|
+
function splitIntoSentences(text13) {
|
|
5158
5158
|
const sentenceRegex = /[.!?]+[\s"')}\]]*(?=\s|$)/g;
|
|
5159
5159
|
const sentences = [];
|
|
5160
5160
|
let lastIndex = 0;
|
|
5161
5161
|
let match;
|
|
5162
|
-
while ((match = sentenceRegex.exec(
|
|
5162
|
+
while ((match = sentenceRegex.exec(text13)) !== null) {
|
|
5163
5163
|
const endIndex = match.index + match[0].length;
|
|
5164
|
-
const sentence =
|
|
5164
|
+
const sentence = text13.slice(lastIndex, endIndex).trim();
|
|
5165
5165
|
if (sentence) {
|
|
5166
5166
|
sentences.push(sentence);
|
|
5167
5167
|
}
|
|
5168
5168
|
lastIndex = endIndex;
|
|
5169
5169
|
}
|
|
5170
|
-
const remaining =
|
|
5170
|
+
const remaining = text13.slice(lastIndex).trim();
|
|
5171
5171
|
if (remaining) {
|
|
5172
5172
|
sentences.push(remaining);
|
|
5173
5173
|
}
|
|
5174
5174
|
return sentences;
|
|
5175
5175
|
}
|
|
5176
|
-
function chunkText(
|
|
5176
|
+
function chunkText(text13, options) {
|
|
5177
5177
|
const {
|
|
5178
5178
|
chunkSize = DEFAULT_CHUNK_SIZE,
|
|
5179
5179
|
chunkOverlap: requestedOverlap = DEFAULT_CHUNK_OVERLAP,
|
|
5180
5180
|
minChunkSize = DEFAULT_MIN_CHUNK_SIZE
|
|
5181
5181
|
} = options ?? {};
|
|
5182
5182
|
const chunkOverlap = Math.min(requestedOverlap, chunkSize - 1);
|
|
5183
|
-
if (
|
|
5183
|
+
if (text13.length <= chunkSize) {
|
|
5184
5184
|
return [
|
|
5185
5185
|
{
|
|
5186
|
-
text:
|
|
5186
|
+
text: text13.trim(),
|
|
5187
5187
|
startOffset: 0,
|
|
5188
|
-
endOffset:
|
|
5188
|
+
endOffset: text13.length
|
|
5189
5189
|
}
|
|
5190
5190
|
];
|
|
5191
5191
|
}
|
|
5192
|
-
const sentences = splitIntoSentences(
|
|
5192
|
+
const sentences = splitIntoSentences(text13);
|
|
5193
5193
|
const chunks2 = [];
|
|
5194
5194
|
let currentChunkSentences = [];
|
|
5195
5195
|
let currentChunkStart = 0;
|
|
5196
5196
|
let currentOffset = 0;
|
|
5197
5197
|
for (let i = 0; i < sentences.length; i++) {
|
|
5198
5198
|
const sentence = sentences[i];
|
|
5199
|
-
let sentenceStart =
|
|
5199
|
+
let sentenceStart = text13.indexOf(sentence, currentOffset);
|
|
5200
5200
|
if (sentenceStart === -1) {
|
|
5201
5201
|
sentenceStart = currentOffset;
|
|
5202
5202
|
}
|
|
@@ -5243,7 +5243,7 @@ function chunkText(text12, options) {
|
|
|
5243
5243
|
if (overlapSentences.length > 0) {
|
|
5244
5244
|
currentChunkSentences = [...overlapSentences, sentence];
|
|
5245
5245
|
const overlapText = overlapSentences[0];
|
|
5246
|
-
const overlapStart =
|
|
5246
|
+
const overlapStart = text13.lastIndexOf(overlapText, currentOffset);
|
|
5247
5247
|
currentChunkStart = overlapStart === -1 ? sentenceStart : overlapStart;
|
|
5248
5248
|
} else {
|
|
5249
5249
|
currentChunkSentences = [sentence];
|
|
@@ -5263,18 +5263,18 @@ function chunkText(text12, options) {
|
|
|
5263
5263
|
chunks2.push({
|
|
5264
5264
|
text: chunkText2,
|
|
5265
5265
|
startOffset: currentChunkStart,
|
|
5266
|
-
endOffset:
|
|
5266
|
+
endOffset: text13.length
|
|
5267
5267
|
});
|
|
5268
5268
|
}
|
|
5269
5269
|
}
|
|
5270
5270
|
if (chunks2.length === 0) {
|
|
5271
|
-
const trimmedText =
|
|
5271
|
+
const trimmedText = text13.trim();
|
|
5272
5272
|
if (trimmedText.length > 0) {
|
|
5273
5273
|
return [
|
|
5274
5274
|
{
|
|
5275
5275
|
text: trimmedText,
|
|
5276
5276
|
startOffset: 0,
|
|
5277
|
-
endOffset:
|
|
5277
|
+
endOffset: text13.length
|
|
5278
5278
|
}
|
|
5279
5279
|
];
|
|
5280
5280
|
}
|
|
@@ -5374,16 +5374,16 @@ function embeddingErrorFrom(response) {
|
|
|
5374
5374
|
const message = typeof response.error === "object" && response.error && "error" in response.error ? response.error.error : "API embedding failed";
|
|
5375
5375
|
return new EmbeddingHttpError(message, response.response?.status);
|
|
5376
5376
|
}
|
|
5377
|
-
async function generateEmbedding(
|
|
5377
|
+
async function generateEmbedding(text13, options) {
|
|
5378
5378
|
const total = options.totalTimeoutMs;
|
|
5379
|
-
if (total === void 0) return embedOne(
|
|
5380
|
-
return withDeadline((signal) => embedOne(
|
|
5379
|
+
if (total === void 0) return embedOne(text13, options, void 0);
|
|
5380
|
+
return withDeadline((signal) => embedOne(text13, options, signal), total, "embedding");
|
|
5381
5381
|
}
|
|
5382
|
-
async function embedOne(
|
|
5382
|
+
async function embedOne(text13, options, outer) {
|
|
5383
5383
|
const { baseUrl = BASE_URL, model, cache } = options;
|
|
5384
5384
|
const timeoutMs = options.timeoutMs ?? DEFAULT_EMBEDDING_REQUEST_TIMEOUT_MS;
|
|
5385
5385
|
if (cache) {
|
|
5386
|
-
const cached = cache.get(
|
|
5386
|
+
const cached = cache.get(text13);
|
|
5387
5387
|
if (cached) return Array.from(cached);
|
|
5388
5388
|
}
|
|
5389
5389
|
const headers = await resolveAuthHeaders(options, outer);
|
|
@@ -5392,7 +5392,7 @@ async function embedOne(text12, options, outer) {
|
|
|
5392
5392
|
(signal) => postApiV1Embeddings({
|
|
5393
5393
|
baseUrl,
|
|
5394
5394
|
body: {
|
|
5395
|
-
input: options.maskInput ? options.maskInput(
|
|
5395
|
+
input: options.maskInput ? options.maskInput(text13) : text13,
|
|
5396
5396
|
model: model ?? DEFAULT_API_EMBEDDING_MODEL
|
|
5397
5397
|
},
|
|
5398
5398
|
headers,
|
|
@@ -5419,7 +5419,7 @@ async function embedOne(text12, options, outer) {
|
|
|
5419
5419
|
}
|
|
5420
5420
|
const f32Embedding = Float32Array.from(embedding);
|
|
5421
5421
|
if (cache) {
|
|
5422
|
-
cache.set(
|
|
5422
|
+
cache.set(text13, f32Embedding);
|
|
5423
5423
|
}
|
|
5424
5424
|
return Array.from(f32Embedding);
|
|
5425
5425
|
}
|
|
@@ -5753,10 +5753,10 @@ var cryptoPriceCentroid = [0.025576787463333337, 0.0017598020599999997, -0.01339
|
|
|
5753
5753
|
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];
|
|
5754
5754
|
|
|
5755
5755
|
// src/lib/chat/preProcessor.ts
|
|
5756
|
-
function wrapAsUserText(prefix,
|
|
5757
|
-
if (!
|
|
5756
|
+
function wrapAsUserText(prefix, text13) {
|
|
5757
|
+
if (!text13 || !text13.trim()) return [];
|
|
5758
5758
|
return [{ role: "user", content: [{ type: "text", text: `${prefix}
|
|
5759
|
-
${
|
|
5759
|
+
${text13}` }] }];
|
|
5760
5760
|
}
|
|
5761
5761
|
|
|
5762
5762
|
// src/lib/chat/cryptoPriceClassifier.ts
|
|
@@ -5795,8 +5795,122 @@ function createCryptoPricePreProcessor(options = {}) {
|
|
|
5795
5795
|
};
|
|
5796
5796
|
}
|
|
5797
5797
|
|
|
5798
|
+
// src/lib/chat/reservationReceipts.ts
|
|
5799
|
+
var ACTIONS = [
|
|
5800
|
+
{
|
|
5801
|
+
kind: "booking",
|
|
5802
|
+
tool: "anuma_book_restaurant",
|
|
5803
|
+
alreadyDone: /^Tool "[^"]*" failed: ALREADY_BOOKED:/
|
|
5804
|
+
},
|
|
5805
|
+
{
|
|
5806
|
+
kind: "cancel",
|
|
5807
|
+
tool: "anuma_cancel_reservation",
|
|
5808
|
+
alreadyDone: /^Tool "[^"]*" failed: ALREADY_CANCELLED:/
|
|
5809
|
+
}
|
|
5810
|
+
];
|
|
5811
|
+
var NOT_AN_ATTEMPT = /^Tool "[^"]*" (has already been called|was already called)/;
|
|
5812
|
+
var BOOKING_OUTCOME_UNKNOWN = /^Tool "[^"]*" failed: BOOKING_OUTCOME_UNKNOWN:/;
|
|
5813
|
+
var CANCEL_OUTCOME_UNKNOWN = "CANCEL_OUTCOME_UNKNOWN";
|
|
5814
|
+
function extractReservationReceipts(toolCallEvents) {
|
|
5815
|
+
const latest = /* @__PURE__ */ new Map();
|
|
5816
|
+
for (const event of toolCallEvents ?? []) {
|
|
5817
|
+
const action = ACTIONS.find((a) => event.name?.endsWith(a.tool));
|
|
5818
|
+
const output = event.output ?? "";
|
|
5819
|
+
if (!action || !output || NOT_AN_ATTEMPT.test(output)) continue;
|
|
5820
|
+
const kept = latest.get(action.kind)?.status;
|
|
5821
|
+
if (kept === "made") continue;
|
|
5822
|
+
const receipt = toReceipt(action, event.arguments ?? "", output);
|
|
5823
|
+
if (kept === "unknown" && receipt.status !== "made") continue;
|
|
5824
|
+
latest.set(action.kind, receipt);
|
|
5825
|
+
}
|
|
5826
|
+
return [...latest.values()];
|
|
5827
|
+
}
|
|
5828
|
+
function toReceipt(action, argumentsJson, output) {
|
|
5829
|
+
const args = parseObject(argumentsJson);
|
|
5830
|
+
const result = parseObject(output);
|
|
5831
|
+
return {
|
|
5832
|
+
kind: action.kind,
|
|
5833
|
+
venueName: text(args.venue_name) ?? "",
|
|
5834
|
+
day: text(args.day) ?? "",
|
|
5835
|
+
time: text(args.time) ?? "",
|
|
5836
|
+
partySize: count(args.party_size),
|
|
5837
|
+
reservationId: text(result.reservation_id) ?? text(args.reservation_id),
|
|
5838
|
+
resyUrl: text(result.reservations_url),
|
|
5839
|
+
feeSummary: text(result.fee_summary),
|
|
5840
|
+
...outcome(action, output, result)
|
|
5841
|
+
};
|
|
5842
|
+
}
|
|
5843
|
+
function outcome(action, output, result) {
|
|
5844
|
+
if (action.alreadyDone.test(output)) return { status: "already_done" };
|
|
5845
|
+
const reason = text(result.error);
|
|
5846
|
+
if (action.kind === "booking") {
|
|
5847
|
+
if (BOOKING_OUTCOME_UNKNOWN.test(output)) return { status: "unknown" };
|
|
5848
|
+
const held = result.success === true || text(result.reservation_id) !== void 0;
|
|
5849
|
+
return held ? { status: "made" } : { status: "not_made", reason };
|
|
5850
|
+
}
|
|
5851
|
+
if (result.error_code === CANCEL_OUTCOME_UNKNOWN) return { status: "unknown", reason };
|
|
5852
|
+
const cancelled = result.success === true && !result.error && !result.error_code;
|
|
5853
|
+
return cancelled ? { status: "made" } : { status: "not_made", reason };
|
|
5854
|
+
}
|
|
5855
|
+
function parseObject(json4) {
|
|
5856
|
+
try {
|
|
5857
|
+
const parsed = JSON.parse(json4);
|
|
5858
|
+
return parsed && typeof parsed === "object" ? parsed : {};
|
|
5859
|
+
} catch {
|
|
5860
|
+
return {};
|
|
5861
|
+
}
|
|
5862
|
+
}
|
|
5863
|
+
function text(value) {
|
|
5864
|
+
if (typeof value === "number") return String(value);
|
|
5865
|
+
return typeof value === "string" && value ? value : void 0;
|
|
5866
|
+
}
|
|
5867
|
+
function count(value) {
|
|
5868
|
+
const n = typeof value === "string" && value.trim() ? Number(value) : value;
|
|
5869
|
+
return typeof n === "number" && Number.isFinite(n) ? n : void 0;
|
|
5870
|
+
}
|
|
5871
|
+
|
|
5798
5872
|
// src/tools/confirmConstants.ts
|
|
5799
5873
|
var CONFIRM_TOOL_NAME = "prompt_user_confirm";
|
|
5874
|
+
var BOOK_RESTAURANT = {
|
|
5875
|
+
tool: "AnumaPaymentsMCP-anuma_book_restaurant",
|
|
5876
|
+
status: "confirmed_not_booked",
|
|
5877
|
+
fields: ["venue_id", "config_id", "party_size", "day", "venue_name", "time"]
|
|
5878
|
+
};
|
|
5879
|
+
var CANCEL_RESERVATION = {
|
|
5880
|
+
tool: "AnumaPaymentsMCP-anuma_cancel_reservation",
|
|
5881
|
+
status: "confirmed_not_cancelled",
|
|
5882
|
+
fields: [
|
|
5883
|
+
"reservation_id",
|
|
5884
|
+
"venue_name",
|
|
5885
|
+
"day",
|
|
5886
|
+
"time",
|
|
5887
|
+
"party_size",
|
|
5888
|
+
"fee_applies",
|
|
5889
|
+
"fee_amount"
|
|
5890
|
+
]
|
|
5891
|
+
};
|
|
5892
|
+
var CONFIRM_REQUIRED_FIELDS = /* @__PURE__ */ new Map([
|
|
5893
|
+
["book_restaurant", BOOK_RESTAURANT],
|
|
5894
|
+
["anuma_book_restaurant", BOOK_RESTAURANT],
|
|
5895
|
+
["anumapaymentsmcp-anuma_book_restaurant", BOOK_RESTAURANT],
|
|
5896
|
+
["cancel_reservation", CANCEL_RESERVATION],
|
|
5897
|
+
["anuma_cancel_reservation", CANCEL_RESERVATION],
|
|
5898
|
+
["anumapaymentsmcp-anuma_cancel_reservation", CANCEL_RESERVATION]
|
|
5899
|
+
]);
|
|
5900
|
+
function confirmRequirement(action) {
|
|
5901
|
+
if (typeof action !== "string") return void 0;
|
|
5902
|
+
return CONFIRM_REQUIRED_FIELDS.get(action.trim().toLowerCase());
|
|
5903
|
+
}
|
|
5904
|
+
function missingConfirmFields(action, parameters) {
|
|
5905
|
+
const requirement = confirmRequirement(action);
|
|
5906
|
+
if (!requirement) return [];
|
|
5907
|
+
const shown = /* @__PURE__ */ new Set();
|
|
5908
|
+
for (const parameter of Array.isArray(parameters) ? parameters : []) {
|
|
5909
|
+
const { name, value } = parameter ?? {};
|
|
5910
|
+
if (typeof name === "string" && typeof value === "string" && value.trim()) shown.add(name);
|
|
5911
|
+
}
|
|
5912
|
+
return requirement.fields.filter((field10) => !shown.has(field10));
|
|
5913
|
+
}
|
|
5800
5914
|
|
|
5801
5915
|
// src/lib/storage/mcpImages.ts
|
|
5802
5916
|
var IMAGE_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
@@ -8615,13 +8729,13 @@ var StreamSmoother = class {
|
|
|
8615
8729
|
/**
|
|
8616
8730
|
* Add text to the buffer. If smoothing is disabled, passes through immediately.
|
|
8617
8731
|
*/
|
|
8618
|
-
push(
|
|
8619
|
-
if (this.destroyed || !
|
|
8732
|
+
push(text13) {
|
|
8733
|
+
if (this.destroyed || !text13) return;
|
|
8620
8734
|
if (!this.enabled) {
|
|
8621
|
-
this.callback(
|
|
8735
|
+
this.callback(text13);
|
|
8622
8736
|
return;
|
|
8623
8737
|
}
|
|
8624
|
-
this.buffer +=
|
|
8738
|
+
this.buffer += text13;
|
|
8625
8739
|
this.ensureTimer();
|
|
8626
8740
|
}
|
|
8627
8741
|
/**
|
|
@@ -8632,9 +8746,9 @@ var StreamSmoother = class {
|
|
|
8632
8746
|
if (this.destroyed) return;
|
|
8633
8747
|
this.stopTimer();
|
|
8634
8748
|
if (this.buffer.length > 0) {
|
|
8635
|
-
const
|
|
8749
|
+
const text13 = this.buffer;
|
|
8636
8750
|
this.buffer = "";
|
|
8637
|
-
this.callback(
|
|
8751
|
+
this.callback(text13);
|
|
8638
8752
|
}
|
|
8639
8753
|
this.resolveDrain();
|
|
8640
8754
|
}
|
|
@@ -8701,9 +8815,9 @@ var StreamSmoother = class {
|
|
|
8701
8815
|
const currentSpeed = this.getCurrentSpeed(elapsed);
|
|
8702
8816
|
const charsThisTick = Math.max(1, Math.round(currentSpeed * (TICK_INTERVAL / 1e3)));
|
|
8703
8817
|
const toRelease = Math.min(charsThisTick, this.buffer.length);
|
|
8704
|
-
const
|
|
8818
|
+
const text13 = this.buffer.slice(0, toRelease);
|
|
8705
8819
|
this.buffer = this.buffer.slice(toRelease);
|
|
8706
|
-
this.callback(
|
|
8820
|
+
this.callback(text13);
|
|
8707
8821
|
if (this.buffer.length === 0) {
|
|
8708
8822
|
this.stopTimer();
|
|
8709
8823
|
this.resolveDrain();
|
|
@@ -8907,6 +9021,7 @@ function getToolName(tool) {
|
|
|
8907
9021
|
}
|
|
8908
9022
|
function toolsAfterConfirmation(apiTools, executionResults) {
|
|
8909
9023
|
const members = /* @__PURE__ */ new Set();
|
|
9024
|
+
let keepConfirm = false;
|
|
8910
9025
|
for (const r of executionResults) {
|
|
8911
9026
|
if (r.name !== CONFIRM_TOOL_NAME) continue;
|
|
8912
9027
|
const answer = r.result;
|
|
@@ -8914,11 +9029,12 @@ function toolsAfterConfirmation(apiTools, executionResults) {
|
|
|
8914
9029
|
const setName = CONFIRMED_ACTION_TOOL_SETS.get(answer.action.trim().toLowerCase());
|
|
8915
9030
|
const set = BUILT_IN_TOOL_SETS.find((s) => s.name === setName);
|
|
8916
9031
|
for (const member of set?.members ?? []) members.add(member);
|
|
9032
|
+
if (missingConfirmFields(answer.action, answer.parameters).length > 0) keepConfirm = true;
|
|
8917
9033
|
}
|
|
8918
9034
|
if (!apiTools.some((t) => members.has(getToolName(t) ?? ""))) return void 0;
|
|
8919
9035
|
return apiTools.filter((t) => {
|
|
8920
9036
|
const name = getToolName(t) ?? "";
|
|
8921
|
-
return members.has(name) || name ===
|
|
9037
|
+
return members.has(name) || name === TOOL_SEARCH_TOOL_NAME || keepConfirm && name === CONFIRM_TOOL_NAME;
|
|
8922
9038
|
});
|
|
8923
9039
|
}
|
|
8924
9040
|
var STREAM_RESUMABLE_HEADER = "X-Stream-Resumable";
|
|
@@ -9124,9 +9240,9 @@ async function runToolLoop(options) {
|
|
|
9124
9240
|
messages = await redactBatch(messages);
|
|
9125
9241
|
if (preProcessors?.length) {
|
|
9126
9242
|
try {
|
|
9127
|
-
const
|
|
9128
|
-
if (
|
|
9129
|
-
const embedding = await generateEmbedding(
|
|
9243
|
+
const text13 = extractLastUserText(messages);
|
|
9244
|
+
if (text13.length > 0) {
|
|
9245
|
+
const embedding = await generateEmbedding(text13, {
|
|
9130
9246
|
apiKey: headers?.["X-API-Key"],
|
|
9131
9247
|
getToken: token ? () => Promise.resolve(token) : void 0,
|
|
9132
9248
|
baseUrl
|
|
@@ -9134,7 +9250,7 @@ async function runToolLoop(options) {
|
|
|
9134
9250
|
const results = await Promise.all(
|
|
9135
9251
|
preProcessors.map(async (p) => {
|
|
9136
9252
|
try {
|
|
9137
|
-
return await p({ prompt:
|
|
9253
|
+
return await p({ prompt: text13, embedding, signal: combinedSignal });
|
|
9138
9254
|
} catch (err) {
|
|
9139
9255
|
console.warn("[runToolLoop] pre-processor failed:", err);
|
|
9140
9256
|
return void 0;
|
|
@@ -9293,11 +9409,11 @@ async function runToolLoop(options) {
|
|
|
9293
9409
|
}
|
|
9294
9410
|
});
|
|
9295
9411
|
accumulator = createStreamAccumulator(model || void 0);
|
|
9296
|
-
contentSmoother = new StreamSmoother((
|
|
9297
|
-
if (emitData) emitData(
|
|
9412
|
+
contentSmoother = new StreamSmoother((text13) => {
|
|
9413
|
+
if (emitData) emitData(text13);
|
|
9298
9414
|
}, smoothing);
|
|
9299
|
-
thinkingSmoother = new StreamSmoother((
|
|
9300
|
-
if (emitThinking) emitThinking(
|
|
9415
|
+
thinkingSmoother = new StreamSmoother((text13) => {
|
|
9416
|
+
if (emitThinking) emitThinking(text13);
|
|
9301
9417
|
}, smoothing);
|
|
9302
9418
|
let chunksEmittedDownstream = false;
|
|
9303
9419
|
try {
|
|
@@ -9802,11 +9918,11 @@ Executing tool: ${toolInfo}
|
|
|
9802
9918
|
}
|
|
9803
9919
|
});
|
|
9804
9920
|
currentAccumulator = createStreamAccumulator(model || void 0);
|
|
9805
|
-
contContentSmoother = new StreamSmoother((
|
|
9806
|
-
if (emitData) emitData(
|
|
9921
|
+
contContentSmoother = new StreamSmoother((text13) => {
|
|
9922
|
+
if (emitData) emitData(text13);
|
|
9807
9923
|
}, smoothing);
|
|
9808
|
-
contThinkingSmoother = new StreamSmoother((
|
|
9809
|
-
if (emitThinking) emitThinking(
|
|
9924
|
+
contThinkingSmoother = new StreamSmoother((text13) => {
|
|
9925
|
+
if (emitThinking) emitThinking(text13);
|
|
9810
9926
|
}, smoothing);
|
|
9811
9927
|
let chunksEmittedDownstream = false;
|
|
9812
9928
|
try {
|
|
@@ -10033,11 +10149,11 @@ async function resumeStream(options) {
|
|
|
10033
10149
|
} = options;
|
|
10034
10150
|
const strategy = getStrategy(handle.apiType);
|
|
10035
10151
|
const accumulator = createStreamAccumulator(handle.model || void 0);
|
|
10036
|
-
const contentSmoother = new StreamSmoother((
|
|
10037
|
-
if (onData) onData(
|
|
10152
|
+
const contentSmoother = new StreamSmoother((text13) => {
|
|
10153
|
+
if (onData) onData(text13);
|
|
10038
10154
|
}, smoothing);
|
|
10039
|
-
const thinkingSmoother = new StreamSmoother((
|
|
10040
|
-
if (onThinking) onThinking(
|
|
10155
|
+
const thinkingSmoother = new StreamSmoother((text13) => {
|
|
10156
|
+
if (onThinking) onThinking(text13);
|
|
10041
10157
|
}, smoothing);
|
|
10042
10158
|
const idleController = new AbortController();
|
|
10043
10159
|
let watchdog;
|
|
@@ -10278,19 +10394,19 @@ function createWebSearchPreProcessor(options = {}) {
|
|
|
10278
10394
|
|
|
10279
10395
|
// src/lib/db/appFiles/models.ts
|
|
10280
10396
|
import { Model as Model2 } from "@nozbe/watermelondb";
|
|
10281
|
-
import { date, readonly, text } from "@nozbe/watermelondb/decorators";
|
|
10397
|
+
import { date, readonly, text as text2 } from "@nozbe/watermelondb/decorators";
|
|
10282
10398
|
var AppFile = class extends Model2 {
|
|
10283
10399
|
};
|
|
10284
10400
|
AppFile.table = "app_files";
|
|
10285
10401
|
AppFile.associations = {};
|
|
10286
10402
|
__decorateClass([
|
|
10287
|
-
|
|
10403
|
+
text2("conversation_id")
|
|
10288
10404
|
], AppFile.prototype, "conversationId", 2);
|
|
10289
10405
|
__decorateClass([
|
|
10290
|
-
|
|
10406
|
+
text2("path")
|
|
10291
10407
|
], AppFile.prototype, "path", 2);
|
|
10292
10408
|
__decorateClass([
|
|
10293
|
-
|
|
10409
|
+
text2("content")
|
|
10294
10410
|
], AppFile.prototype, "content", 2);
|
|
10295
10411
|
__decorateClass([
|
|
10296
10412
|
readonly,
|
|
@@ -10444,7 +10560,7 @@ async function decryptConversationTitle(encryptedTitle, address) {
|
|
|
10444
10560
|
|
|
10445
10561
|
// src/lib/db/chat/models.ts
|
|
10446
10562
|
import { Model as Model3 } from "@nozbe/watermelondb";
|
|
10447
|
-
import { date as date2, field, json, text as
|
|
10563
|
+
import { date as date2, field, json, text as text3 } from "@nozbe/watermelondb/decorators";
|
|
10448
10564
|
var Message = class extends Model3 {
|
|
10449
10565
|
};
|
|
10450
10566
|
Message.table = "history";
|
|
@@ -10456,19 +10572,19 @@ __decorateClass([
|
|
|
10456
10572
|
field("message_id")
|
|
10457
10573
|
], Message.prototype, "messageId", 2);
|
|
10458
10574
|
__decorateClass([
|
|
10459
|
-
|
|
10575
|
+
text3("conversation_id")
|
|
10460
10576
|
], Message.prototype, "conversationId", 2);
|
|
10461
10577
|
__decorateClass([
|
|
10462
|
-
|
|
10578
|
+
text3("role")
|
|
10463
10579
|
], Message.prototype, "role", 2);
|
|
10464
10580
|
__decorateClass([
|
|
10465
|
-
|
|
10581
|
+
text3("content")
|
|
10466
10582
|
], Message.prototype, "content", 2);
|
|
10467
10583
|
__decorateClass([
|
|
10468
|
-
|
|
10584
|
+
text3("model")
|
|
10469
10585
|
], Message.prototype, "model", 2);
|
|
10470
10586
|
__decorateClass([
|
|
10471
|
-
|
|
10587
|
+
text3("image_model")
|
|
10472
10588
|
], Message.prototype, "imageModel", 2);
|
|
10473
10589
|
__decorateClass([
|
|
10474
10590
|
json("files", (raw) => raw)
|
|
@@ -10486,7 +10602,7 @@ __decorateClass([
|
|
|
10486
10602
|
json("vector", (raw) => raw)
|
|
10487
10603
|
], Message.prototype, "vector", 2);
|
|
10488
10604
|
__decorateClass([
|
|
10489
|
-
|
|
10605
|
+
text3("embedding_model")
|
|
10490
10606
|
], Message.prototype, "embeddingModel", 2);
|
|
10491
10607
|
__decorateClass([
|
|
10492
10608
|
json("chunks", (raw) => raw)
|
|
@@ -10504,25 +10620,25 @@ __decorateClass([
|
|
|
10504
10620
|
field("was_stopped")
|
|
10505
10621
|
], Message.prototype, "wasStopped", 2);
|
|
10506
10622
|
__decorateClass([
|
|
10507
|
-
|
|
10623
|
+
text3("error")
|
|
10508
10624
|
], Message.prototype, "error", 2);
|
|
10509
10625
|
__decorateClass([
|
|
10510
10626
|
json("thought_process", (raw) => raw)
|
|
10511
10627
|
], Message.prototype, "thoughtProcess", 2);
|
|
10512
10628
|
__decorateClass([
|
|
10513
|
-
|
|
10629
|
+
text3("thinking")
|
|
10514
10630
|
], Message.prototype, "thinking", 2);
|
|
10515
10631
|
__decorateClass([
|
|
10516
|
-
|
|
10632
|
+
text3("parent_message_id")
|
|
10517
10633
|
], Message.prototype, "parentMessageId", 2);
|
|
10518
10634
|
__decorateClass([
|
|
10519
|
-
|
|
10635
|
+
text3("feedback")
|
|
10520
10636
|
], Message.prototype, "feedback", 2);
|
|
10521
10637
|
__decorateClass([
|
|
10522
10638
|
json("tool_call_events", (raw) => raw)
|
|
10523
10639
|
], Message.prototype, "toolCallEvents", 2);
|
|
10524
10640
|
__decorateClass([
|
|
10525
|
-
|
|
10641
|
+
text3("origin")
|
|
10526
10642
|
], Message.prototype, "origin", 2);
|
|
10527
10643
|
var Conversation = class extends Model3 {
|
|
10528
10644
|
};
|
|
@@ -10532,13 +10648,13 @@ Conversation.associations = {
|
|
|
10532
10648
|
projects: { type: "belongs_to", key: "project_id" }
|
|
10533
10649
|
};
|
|
10534
10650
|
__decorateClass([
|
|
10535
|
-
|
|
10651
|
+
text3("conversation_id")
|
|
10536
10652
|
], Conversation.prototype, "conversationId", 2);
|
|
10537
10653
|
__decorateClass([
|
|
10538
|
-
|
|
10654
|
+
text3("title")
|
|
10539
10655
|
], Conversation.prototype, "title", 2);
|
|
10540
10656
|
__decorateClass([
|
|
10541
|
-
|
|
10657
|
+
text3("project_id")
|
|
10542
10658
|
], Conversation.prototype, "projectId", 2);
|
|
10543
10659
|
__decorateClass([
|
|
10544
10660
|
date2("created_at")
|
|
@@ -10559,13 +10675,13 @@ ConversationSummary.associations = {
|
|
|
10559
10675
|
conversations: { type: "belongs_to", key: "conversation_id" }
|
|
10560
10676
|
};
|
|
10561
10677
|
__decorateClass([
|
|
10562
|
-
|
|
10678
|
+
text3("conversation_id")
|
|
10563
10679
|
], ConversationSummary.prototype, "conversationId", 2);
|
|
10564
10680
|
__decorateClass([
|
|
10565
|
-
|
|
10681
|
+
text3("summary")
|
|
10566
10682
|
], ConversationSummary.prototype, "summary", 2);
|
|
10567
10683
|
__decorateClass([
|
|
10568
|
-
|
|
10684
|
+
text3("summarized_up_to")
|
|
10569
10685
|
], ConversationSummary.prototype, "summarizedUpTo", 2);
|
|
10570
10686
|
__decorateClass([
|
|
10571
10687
|
field("token_count")
|
|
@@ -10734,16 +10850,16 @@ async function deleteConversationSummaryOp(ctx, conversationId) {
|
|
|
10734
10850
|
|
|
10735
10851
|
// src/lib/db/conversationMemory/models.ts
|
|
10736
10852
|
import { Model as Model4 } from "@nozbe/watermelondb";
|
|
10737
|
-
import { date as date3, field as field2, readonly as readonly2, text as
|
|
10853
|
+
import { date as date3, field as field2, readonly as readonly2, text as text4 } from "@nozbe/watermelondb/decorators";
|
|
10738
10854
|
var ConversationMemory = class extends Model4 {
|
|
10739
10855
|
};
|
|
10740
10856
|
ConversationMemory.table = "conversation_memory";
|
|
10741
10857
|
ConversationMemory.associations = {};
|
|
10742
10858
|
__decorateClass([
|
|
10743
|
-
|
|
10859
|
+
text4("conversation_id")
|
|
10744
10860
|
], ConversationMemory.prototype, "conversationId", 2);
|
|
10745
10861
|
__decorateClass([
|
|
10746
|
-
|
|
10862
|
+
text4("memory_id")
|
|
10747
10863
|
], ConversationMemory.prototype, "memoryId", 2);
|
|
10748
10864
|
__decorateClass([
|
|
10749
10865
|
field2("score")
|
|
@@ -10813,12 +10929,12 @@ async function clearConversationMemoriesOp(ctx, conversationId) {
|
|
|
10813
10929
|
|
|
10814
10930
|
// src/lib/db/entities/models.ts
|
|
10815
10931
|
import { Model as Model5 } from "@nozbe/watermelondb";
|
|
10816
|
-
import { date as date4, field as field3, readonly as readonly3, text as
|
|
10932
|
+
import { date as date4, field as field3, readonly as readonly3, text as text5 } from "@nozbe/watermelondb/decorators";
|
|
10817
10933
|
var Entity = class extends Model5 {
|
|
10818
10934
|
};
|
|
10819
10935
|
Entity.table = "entity";
|
|
10820
10936
|
__decorateClass([
|
|
10821
|
-
|
|
10937
|
+
text5("canonical_name")
|
|
10822
10938
|
], Entity.prototype, "canonicalName", 2);
|
|
10823
10939
|
__decorateClass([
|
|
10824
10940
|
field3("kind")
|
|
@@ -10834,10 +10950,10 @@ var MemoryEntity = class extends Model5 {
|
|
|
10834
10950
|
};
|
|
10835
10951
|
MemoryEntity.table = "memory_entity";
|
|
10836
10952
|
__decorateClass([
|
|
10837
|
-
|
|
10953
|
+
text5("memory_id")
|
|
10838
10954
|
], MemoryEntity.prototype, "memoryId", 2);
|
|
10839
10955
|
__decorateClass([
|
|
10840
|
-
|
|
10956
|
+
text5("entity_id")
|
|
10841
10957
|
], MemoryEntity.prototype, "entityId", 2);
|
|
10842
10958
|
__decorateClass([
|
|
10843
10959
|
field3("user_id")
|
|
@@ -11245,7 +11361,7 @@ import {
|
|
|
11245
11361
|
|
|
11246
11362
|
// src/lib/db/media/models.ts
|
|
11247
11363
|
import { Model as Model6 } from "@nozbe/watermelondb";
|
|
11248
|
-
import { date as date5, field as field4, json as json2, readonly as readonly4, text as
|
|
11364
|
+
import { date as date5, field as field4, json as json2, readonly as readonly4, text as text6 } from "@nozbe/watermelondb/decorators";
|
|
11249
11365
|
var Media = class extends Model6 {
|
|
11250
11366
|
};
|
|
11251
11367
|
Media.table = "media";
|
|
@@ -11254,37 +11370,37 @@ Media.associations = {
|
|
|
11254
11370
|
conversations: { type: "belongs_to", key: "conversation_id" }
|
|
11255
11371
|
};
|
|
11256
11372
|
__decorateClass([
|
|
11257
|
-
|
|
11373
|
+
text6("media_id")
|
|
11258
11374
|
], Media.prototype, "mediaId", 2);
|
|
11259
11375
|
__decorateClass([
|
|
11260
|
-
|
|
11376
|
+
text6("wallet_address")
|
|
11261
11377
|
], Media.prototype, "walletAddress", 2);
|
|
11262
11378
|
__decorateClass([
|
|
11263
|
-
|
|
11379
|
+
text6("message_id")
|
|
11264
11380
|
], Media.prototype, "messageId", 2);
|
|
11265
11381
|
__decorateClass([
|
|
11266
|
-
|
|
11382
|
+
text6("conversation_id")
|
|
11267
11383
|
], Media.prototype, "conversationId", 2);
|
|
11268
11384
|
__decorateClass([
|
|
11269
|
-
|
|
11385
|
+
text6("name")
|
|
11270
11386
|
], Media.prototype, "name", 2);
|
|
11271
11387
|
__decorateClass([
|
|
11272
|
-
|
|
11388
|
+
text6("mime_type")
|
|
11273
11389
|
], Media.prototype, "mimeType", 2);
|
|
11274
11390
|
__decorateClass([
|
|
11275
|
-
|
|
11391
|
+
text6("media_type")
|
|
11276
11392
|
], Media.prototype, "mediaType", 2);
|
|
11277
11393
|
__decorateClass([
|
|
11278
11394
|
field4("size")
|
|
11279
11395
|
], Media.prototype, "size", 2);
|
|
11280
11396
|
__decorateClass([
|
|
11281
|
-
|
|
11397
|
+
text6("role")
|
|
11282
11398
|
], Media.prototype, "role", 2);
|
|
11283
11399
|
__decorateClass([
|
|
11284
|
-
|
|
11400
|
+
text6("model")
|
|
11285
11401
|
], Media.prototype, "model", 2);
|
|
11286
11402
|
__decorateClass([
|
|
11287
|
-
|
|
11403
|
+
text6("source_url")
|
|
11288
11404
|
], Media.prototype, "sourceUrl", 2);
|
|
11289
11405
|
__decorateClass([
|
|
11290
11406
|
json2("dimensions", (raw) => raw)
|
|
@@ -11308,15 +11424,15 @@ __decorateClass([
|
|
|
11308
11424
|
|
|
11309
11425
|
// src/lib/db/memoryVault/models.ts
|
|
11310
11426
|
import { Model as Model7 } from "@nozbe/watermelondb";
|
|
11311
|
-
import { date as date6, field as field5, readonly as readonly5, text as
|
|
11427
|
+
import { date as date6, field as field5, readonly as readonly5, text as text7 } from "@nozbe/watermelondb/decorators";
|
|
11312
11428
|
var VaultMemory = class extends Model7 {
|
|
11313
11429
|
};
|
|
11314
11430
|
VaultMemory.table = "memory_vault";
|
|
11315
11431
|
__decorateClass([
|
|
11316
|
-
|
|
11432
|
+
text7("content")
|
|
11317
11433
|
], VaultMemory.prototype, "content", 2);
|
|
11318
11434
|
__decorateClass([
|
|
11319
|
-
|
|
11435
|
+
text7("scope")
|
|
11320
11436
|
], VaultMemory.prototype, "scope", 2);
|
|
11321
11437
|
__decorateClass([
|
|
11322
11438
|
field5("kind")
|
|
@@ -11418,7 +11534,7 @@ __decorateClass([
|
|
|
11418
11534
|
|
|
11419
11535
|
// src/lib/db/project/models.ts
|
|
11420
11536
|
import { Model as Model8 } from "@nozbe/watermelondb";
|
|
11421
|
-
import { date as date7, field as field6, text as
|
|
11537
|
+
import { date as date7, field as field6, text as text8 } from "@nozbe/watermelondb/decorators";
|
|
11422
11538
|
var Project = class extends Model8 {
|
|
11423
11539
|
};
|
|
11424
11540
|
Project.table = "projects";
|
|
@@ -11426,10 +11542,10 @@ Project.associations = {
|
|
|
11426
11542
|
conversations: { type: "has_many", foreignKey: "project_id" }
|
|
11427
11543
|
};
|
|
11428
11544
|
__decorateClass([
|
|
11429
|
-
|
|
11545
|
+
text8("project_id")
|
|
11430
11546
|
], Project.prototype, "projectId", 2);
|
|
11431
11547
|
__decorateClass([
|
|
11432
|
-
|
|
11548
|
+
text8("name")
|
|
11433
11549
|
], Project.prototype, "name", 2);
|
|
11434
11550
|
__decorateClass([
|
|
11435
11551
|
date7("created_at")
|
|
@@ -11443,29 +11559,29 @@ __decorateClass([
|
|
|
11443
11559
|
|
|
11444
11560
|
// src/lib/db/savedTools/models.ts
|
|
11445
11561
|
import { Model as Model9 } from "@nozbe/watermelondb";
|
|
11446
|
-
import { date as date8, field as field7, json as json3, readonly as readonly6, text as
|
|
11562
|
+
import { date as date8, field as field7, json as json3, readonly as readonly6, text as text9 } from "@nozbe/watermelondb/decorators";
|
|
11447
11563
|
var sanitizeParameters = (raw) => raw ?? {};
|
|
11448
11564
|
var SavedTool = class extends Model9 {
|
|
11449
11565
|
};
|
|
11450
11566
|
SavedTool.table = "saved_tools";
|
|
11451
11567
|
SavedTool.associations = {};
|
|
11452
11568
|
__decorateClass([
|
|
11453
|
-
|
|
11569
|
+
text9("name")
|
|
11454
11570
|
], SavedTool.prototype, "name", 2);
|
|
11455
11571
|
__decorateClass([
|
|
11456
|
-
|
|
11572
|
+
text9("display_name")
|
|
11457
11573
|
], SavedTool.prototype, "displayName", 2);
|
|
11458
11574
|
__decorateClass([
|
|
11459
|
-
|
|
11575
|
+
text9("description")
|
|
11460
11576
|
], SavedTool.prototype, "description", 2);
|
|
11461
11577
|
__decorateClass([
|
|
11462
11578
|
json3("parameters", sanitizeParameters)
|
|
11463
11579
|
], SavedTool.prototype, "parameters", 2);
|
|
11464
11580
|
__decorateClass([
|
|
11465
|
-
|
|
11581
|
+
text9("html")
|
|
11466
11582
|
], SavedTool.prototype, "html", 2);
|
|
11467
11583
|
__decorateClass([
|
|
11468
|
-
|
|
11584
|
+
text9("conversation_id")
|
|
11469
11585
|
], SavedTool.prototype, "conversationId", 2);
|
|
11470
11586
|
__decorateClass([
|
|
11471
11587
|
readonly6,
|
|
@@ -11480,40 +11596,40 @@ __decorateClass([
|
|
|
11480
11596
|
|
|
11481
11597
|
// src/lib/db/settings/models.ts
|
|
11482
11598
|
import { Model as Model10 } from "@nozbe/watermelondb";
|
|
11483
|
-
import { text as
|
|
11599
|
+
import { text as text10 } from "@nozbe/watermelondb/decorators";
|
|
11484
11600
|
var ModelPreference = class extends Model10 {
|
|
11485
11601
|
};
|
|
11486
11602
|
ModelPreference.table = "modelPreferences";
|
|
11487
11603
|
__decorateClass([
|
|
11488
|
-
|
|
11604
|
+
text10("wallet_address")
|
|
11489
11605
|
], ModelPreference.prototype, "walletAddress", 2);
|
|
11490
11606
|
__decorateClass([
|
|
11491
|
-
|
|
11607
|
+
text10("models")
|
|
11492
11608
|
], ModelPreference.prototype, "models", 2);
|
|
11493
11609
|
|
|
11494
11610
|
// src/lib/db/userPreferences/models.ts
|
|
11495
11611
|
import { Model as Model11 } from "@nozbe/watermelondb";
|
|
11496
|
-
import { field as field8, text as
|
|
11612
|
+
import { field as field8, text as text11 } from "@nozbe/watermelondb/decorators";
|
|
11497
11613
|
var UserPreference = class extends Model11 {
|
|
11498
11614
|
};
|
|
11499
11615
|
UserPreference.table = "userPreferences";
|
|
11500
11616
|
__decorateClass([
|
|
11501
|
-
|
|
11617
|
+
text11("wallet_address")
|
|
11502
11618
|
], UserPreference.prototype, "walletAddress", 2);
|
|
11503
11619
|
__decorateClass([
|
|
11504
|
-
|
|
11620
|
+
text11("nickname")
|
|
11505
11621
|
], UserPreference.prototype, "nickname", 2);
|
|
11506
11622
|
__decorateClass([
|
|
11507
|
-
|
|
11623
|
+
text11("occupation")
|
|
11508
11624
|
], UserPreference.prototype, "occupation", 2);
|
|
11509
11625
|
__decorateClass([
|
|
11510
|
-
|
|
11626
|
+
text11("description")
|
|
11511
11627
|
], UserPreference.prototype, "description", 2);
|
|
11512
11628
|
__decorateClass([
|
|
11513
|
-
|
|
11629
|
+
text11("models")
|
|
11514
11630
|
], UserPreference.prototype, "models", 2);
|
|
11515
11631
|
__decorateClass([
|
|
11516
|
-
|
|
11632
|
+
text11("personality")
|
|
11517
11633
|
], UserPreference.prototype, "personality", 2);
|
|
11518
11634
|
__decorateClass([
|
|
11519
11635
|
field8("created_at")
|
|
@@ -11524,15 +11640,15 @@ __decorateClass([
|
|
|
11524
11640
|
|
|
11525
11641
|
// src/lib/db/vaultFolders/models.ts
|
|
11526
11642
|
import { Model as Model12 } from "@nozbe/watermelondb";
|
|
11527
|
-
import { date as date9, field as field9, readonly as readonly7, text as
|
|
11643
|
+
import { date as date9, field as field9, readonly as readonly7, text as text12 } from "@nozbe/watermelondb/decorators";
|
|
11528
11644
|
var VaultFolder = class extends Model12 {
|
|
11529
11645
|
};
|
|
11530
11646
|
VaultFolder.table = "vault_folders";
|
|
11531
11647
|
__decorateClass([
|
|
11532
|
-
|
|
11648
|
+
text12("name")
|
|
11533
11649
|
], VaultFolder.prototype, "name", 2);
|
|
11534
11650
|
__decorateClass([
|
|
11535
|
-
|
|
11651
|
+
text12("scope")
|
|
11536
11652
|
], VaultFolder.prototype, "scope", 2);
|
|
11537
11653
|
__decorateClass([
|
|
11538
11654
|
readonly7,
|
|
@@ -11548,7 +11664,7 @@ __decorateClass([
|
|
|
11548
11664
|
field9("is_system")
|
|
11549
11665
|
], VaultFolder.prototype, "isSystem", 2);
|
|
11550
11666
|
__decorateClass([
|
|
11551
|
-
|
|
11667
|
+
text12("context")
|
|
11552
11668
|
], VaultFolder.prototype, "context", 2);
|
|
11553
11669
|
|
|
11554
11670
|
// src/lib/db/schema.ts
|
|
@@ -13940,22 +14056,35 @@ async function vaultMemoryRawToStored(raw, walletAddress, signMessage, embeddedW
|
|
|
13940
14056
|
return stored2;
|
|
13941
14057
|
}
|
|
13942
14058
|
async function getAllVaultMemoriesOp(ctx, options) {
|
|
13943
|
-
const
|
|
14059
|
+
const results = await ctx.vaultMemoryCollection.query(...vaultListConditions(ctx, options), ...vaultListOrder(options)).unsafeFetchRaw();
|
|
14060
|
+
return mapInBatches(
|
|
14061
|
+
results,
|
|
14062
|
+
(raw) => vaultMemoryRawToStored(raw, ctx.walletAddress, ctx.signMessage, ctx.embeddedWalletSigner)
|
|
14063
|
+
);
|
|
14064
|
+
}
|
|
14065
|
+
function vaultListConditions(ctx, options) {
|
|
14066
|
+
return [
|
|
13944
14067
|
...baseVaultConditions(ctx, options),
|
|
13945
14068
|
...options?.scopes?.length ? [Q8.where("scope", Q8.oneOf(options.scopes))] : [],
|
|
13946
14069
|
...visibilityConditions(options?.visibility),
|
|
13947
14070
|
...levelConditions(options?.levels),
|
|
13948
14071
|
...options?.kinds?.length ? [Q8.where("kind", Q8.oneOf(options.kinds))] : [],
|
|
13949
14072
|
...options?.folderId !== void 0 ? [Q8.where("folder_id", options.folderId)] : [],
|
|
13950
|
-
...options?.factTypes?.length ? [Q8.where("fact_type", Q8.oneOf(options.factTypes))] : []
|
|
14073
|
+
...options?.factTypes?.length ? [Q8.where("fact_type", Q8.oneOf(options.factTypes))] : []
|
|
14074
|
+
];
|
|
14075
|
+
}
|
|
14076
|
+
function vaultListOrder(options) {
|
|
14077
|
+
return [
|
|
13951
14078
|
Q8.sortBy(options?.since ? "updated_at" : "created_at", Q8.desc),
|
|
13952
14079
|
...options?.limit !== null && options?.limit !== void 0 && options.limit > 0 ? [Q8.take(options.limit)] : []
|
|
13953
14080
|
];
|
|
13954
|
-
|
|
13955
|
-
|
|
13956
|
-
|
|
13957
|
-
|
|
13958
|
-
|
|
14081
|
+
}
|
|
14082
|
+
async function getVaultMemoryProjectionsOp(ctx, options) {
|
|
14083
|
+
const results = await ctx.vaultMemoryCollection.query(...vaultListConditions(ctx, options), ...vaultListOrder(options)).unsafeFetchRaw();
|
|
14084
|
+
return results.map((raw) => ({
|
|
14085
|
+
...vaultMemoryRawToRankable(raw),
|
|
14086
|
+
topicsUserManaged: raw.topics_user_managed === true || raw.topics_user_managed === 1
|
|
14087
|
+
}));
|
|
13959
14088
|
}
|
|
13960
14089
|
function vaultMemoryRawToRankable(raw) {
|
|
13961
14090
|
return {
|
|
@@ -16144,7 +16273,7 @@ Which item numbers should be flagged?`,
|
|
|
16144
16273
|
if (parsed === null) return empty;
|
|
16145
16274
|
return { flagged: parseFlagged(parsed, scope.length) };
|
|
16146
16275
|
}
|
|
16147
|
-
function parseFlagged(parsed,
|
|
16276
|
+
function parseFlagged(parsed, count2) {
|
|
16148
16277
|
const out = /* @__PURE__ */ new Set();
|
|
16149
16278
|
if (typeof parsed !== "object" || parsed === null) return out;
|
|
16150
16279
|
const list = parsed.poisoned;
|
|
@@ -16152,7 +16281,7 @@ function parseFlagged(parsed, count) {
|
|
|
16152
16281
|
for (const raw of list) {
|
|
16153
16282
|
const n = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : NaN;
|
|
16154
16283
|
if (!Number.isInteger(n)) continue;
|
|
16155
|
-
if (n >= 1 && n <=
|
|
16284
|
+
if (n >= 1 && n <= count2) out.add(n - 1);
|
|
16156
16285
|
}
|
|
16157
16286
|
return out;
|
|
16158
16287
|
}
|
|
@@ -16638,8 +16767,8 @@ var STOPWORDS = /* @__PURE__ */ new Set([
|
|
|
16638
16767
|
"user",
|
|
16639
16768
|
"users"
|
|
16640
16769
|
]);
|
|
16641
|
-
function tokenize(
|
|
16642
|
-
const m =
|
|
16770
|
+
function tokenize(text13) {
|
|
16771
|
+
const m = text13.toLowerCase().match(TOKEN_RE);
|
|
16643
16772
|
if (!m) return [];
|
|
16644
16773
|
return m.filter((t) => !STOPWORDS.has(t));
|
|
16645
16774
|
}
|
|
@@ -18163,14 +18292,14 @@ async function retainWithPersistence(content, ctx, options = {}) {
|
|
|
18163
18292
|
);
|
|
18164
18293
|
}
|
|
18165
18294
|
if (options.consolidateOptions) {
|
|
18166
|
-
const
|
|
18167
|
-
if (
|
|
18168
|
-
if ("done" in
|
|
18169
|
-
if ("create" in
|
|
18295
|
+
const outcome2 = await tryConsolidate(trimmed, ctx, options, prepared);
|
|
18296
|
+
if (outcome2) {
|
|
18297
|
+
if ("done" in outcome2) return outcome2.done;
|
|
18298
|
+
if ("create" in outcome2) {
|
|
18170
18299
|
consolidationDecidedCreate = true;
|
|
18171
18300
|
} else {
|
|
18172
|
-
supersedeTargetIds =
|
|
18173
|
-
supersedeContent =
|
|
18301
|
+
supersedeTargetIds = outcome2.supersede;
|
|
18302
|
+
supersedeContent = outcome2.content;
|
|
18174
18303
|
}
|
|
18175
18304
|
}
|
|
18176
18305
|
}
|
|
@@ -18836,12 +18965,12 @@ async function extractAndRetain(messages, retainCtx, options) {
|
|
|
18836
18965
|
if (failedWrites > 0) {
|
|
18837
18966
|
log.warn(`[memory/extract] ${failedWrites} of ${filtered.length} candidates failed to retain`);
|
|
18838
18967
|
}
|
|
18839
|
-
const
|
|
18968
|
+
const outcome2 = exhaustedEmpty ? "empty-after-retry" : filtered.length > 0 ? "extracted" : droppedAfterRedaction ? "dropped-after-redaction" : "no-facts";
|
|
18840
18969
|
return {
|
|
18841
18970
|
candidates: succeededCandidates,
|
|
18842
18971
|
results,
|
|
18843
18972
|
failedCount: failedWrites,
|
|
18844
|
-
outcome,
|
|
18973
|
+
outcome: outcome2,
|
|
18845
18974
|
quarantined: quarantinedInfo,
|
|
18846
18975
|
funnel: {
|
|
18847
18976
|
rawCandidateCount,
|
|
@@ -19071,7 +19200,7 @@ function createAutoExtractor(options) {
|
|
|
19071
19200
|
...options.retainCtx,
|
|
19072
19201
|
embeddingOptions: {
|
|
19073
19202
|
...options.retainCtx.embeddingOptions,
|
|
19074
|
-
maskInput: (
|
|
19203
|
+
maskInput: (text13) => piiRedactor.maskText(text13)
|
|
19075
19204
|
}
|
|
19076
19205
|
} : options.retainCtx;
|
|
19077
19206
|
function processTurn(messages, conversationId) {
|
|
@@ -19104,7 +19233,7 @@ function createAutoExtractor(options) {
|
|
|
19104
19233
|
const t0 = Date.now();
|
|
19105
19234
|
void (async () => {
|
|
19106
19235
|
try {
|
|
19107
|
-
const { candidates, results, failedCount, outcome, failure, funnel, timings, model } = await extractAndRetain(window2, retainCtx, {
|
|
19236
|
+
const { candidates, results, failedCount, outcome: outcome2, failure, funnel, timings, model } = await extractAndRetain(window2, retainCtx, {
|
|
19108
19237
|
extract,
|
|
19109
19238
|
...options.minConfidence !== void 0 && { minConfidence: options.minConfidence },
|
|
19110
19239
|
...options.entityCtx !== void 0 && { entityCtx: options.entityCtx },
|
|
@@ -19121,7 +19250,7 @@ function createAutoExtractor(options) {
|
|
|
19121
19250
|
onQuarantined: (info) => options.onMemoryQuarantined?.({ ...info, conversationId })
|
|
19122
19251
|
}
|
|
19123
19252
|
});
|
|
19124
|
-
if (
|
|
19253
|
+
if (outcome2 !== "empty-after-retry" && failedCount === 0) {
|
|
19125
19254
|
const advancedTo = window2[window2.length - 1].id;
|
|
19126
19255
|
stateFor(conversationId).watermark = advancedTo;
|
|
19127
19256
|
persistCursor(conversationId, messages, advancedTo, contiguous);
|
|
@@ -19140,7 +19269,7 @@ function createAutoExtractor(options) {
|
|
|
19140
19269
|
failedCount,
|
|
19141
19270
|
durationMs: Date.now() - t0,
|
|
19142
19271
|
conversationId,
|
|
19143
|
-
outcome,
|
|
19272
|
+
outcome: outcome2,
|
|
19144
19273
|
funnel,
|
|
19145
19274
|
timings,
|
|
19146
19275
|
model,
|
|
@@ -20802,12 +20931,12 @@ ${JSON.stringify(
|
|
|
20802
20931
|
function parseAnswer(body, base, parseSchema) {
|
|
20803
20932
|
if (typeof body !== "object" || body === null) return base;
|
|
20804
20933
|
const obj = body;
|
|
20805
|
-
const
|
|
20934
|
+
const text13 = extractCompletionContent(obj) ?? "";
|
|
20806
20935
|
const usage = obj.usage;
|
|
20807
20936
|
let structuredOutput;
|
|
20808
|
-
if (parseSchema &&
|
|
20937
|
+
if (parseSchema && text13) {
|
|
20809
20938
|
try {
|
|
20810
|
-
structuredOutput = JSON.parse(extractJsonCandidate(
|
|
20939
|
+
structuredOutput = JSON.parse(extractJsonCandidate(text13));
|
|
20811
20940
|
} catch (err) {
|
|
20812
20941
|
getLogger().warn("[memory/reflect] structured output was not valid JSON", {
|
|
20813
20942
|
err: err instanceof Error ? err.message : String(err)
|
|
@@ -20817,7 +20946,7 @@ function parseAnswer(body, base, parseSchema) {
|
|
|
20817
20946
|
const promptTokens = usage?.prompt_tokens ?? usage?.input_tokens ?? 0;
|
|
20818
20947
|
const completionTokens = usage?.completion_tokens ?? usage?.output_tokens ?? 0;
|
|
20819
20948
|
return {
|
|
20820
|
-
text:
|
|
20949
|
+
text: text13,
|
|
20821
20950
|
...structuredOutput !== void 0 && { structuredOutput },
|
|
20822
20951
|
basedOn: base.basedOn,
|
|
20823
20952
|
usage: {
|
|
@@ -21048,6 +21177,7 @@ function createLocalMemoryStore(options) {
|
|
|
21048
21177
|
};
|
|
21049
21178
|
const vaultCache = options.vaultCache ?? createVaultEmbeddingCache();
|
|
21050
21179
|
const ownedBy = userId !== void 0 ? [Q15.where("user_id", userId)] : [];
|
|
21180
|
+
const linksOwnedBy = userId === void 0 ? [] : options.allowUnscopedRows ? [Q15.or(Q15.where("user_id", userId), Q15.where("user_id", null))] : [Q15.where("user_id", userId)];
|
|
21051
21181
|
const watchedColumns = [
|
|
21052
21182
|
"content",
|
|
21053
21183
|
"scope",
|
|
@@ -21090,6 +21220,29 @@ function createLocalMemoryStore(options) {
|
|
|
21090
21220
|
},
|
|
21091
21221
|
memoriesByTopics: (names) => getMemoriesByEntityNamesOp(entityCtx, names),
|
|
21092
21222
|
topicsByMemories: (memoryIds) => getEntitiesByMemoryIdsOp(entityCtx, memoryIds),
|
|
21223
|
+
listTopics: async () => {
|
|
21224
|
+
const links = await entityCtx.memoryEntityCollection.query(...linksOwnedBy).fetch();
|
|
21225
|
+
const members = /* @__PURE__ */ new Map();
|
|
21226
|
+
for (const link of links) {
|
|
21227
|
+
const entityId = String(link.entityId);
|
|
21228
|
+
const set = members.get(entityId) ?? /* @__PURE__ */ new Set();
|
|
21229
|
+
set.add(String(link.memoryId));
|
|
21230
|
+
members.set(entityId, set);
|
|
21231
|
+
}
|
|
21232
|
+
const entities = userId === void 0 ? await entityCtx.entityCollection.query().fetch() : members.size ? await entityCtx.entityCollection.query(Q15.where("id", Q15.oneOf([...members.keys()]))).fetch() : [];
|
|
21233
|
+
const byName = /* @__PURE__ */ new Map();
|
|
21234
|
+
for (const entity of entities) {
|
|
21235
|
+
const count2 = members.get(entity.id)?.size ?? 0;
|
|
21236
|
+
const existing = byName.get(entity.canonicalName);
|
|
21237
|
+
byName.set(entity.canonicalName, {
|
|
21238
|
+
name: entity.canonicalName,
|
|
21239
|
+
kind: existing?.kind ?? entity.kind ?? null,
|
|
21240
|
+
memoryCount: (existing?.memoryCount ?? 0) + count2
|
|
21241
|
+
});
|
|
21242
|
+
}
|
|
21243
|
+
return [...byName.values()].sort((a, b) => a.name.localeCompare(b.name));
|
|
21244
|
+
},
|
|
21245
|
+
listProjections: (listOptions) => getVaultMemoryProjectionsOp(vaultCtx, listOptions),
|
|
21093
21246
|
create: async (input) => {
|
|
21094
21247
|
const created = await createVaultMemoryOp(vaultCtx, input);
|
|
21095
21248
|
if (input.embedding === void 0) embedInBackground(created);
|
|
@@ -21151,7 +21304,6 @@ function createLocalMemoryStore(options) {
|
|
|
21151
21304
|
);
|
|
21152
21305
|
const subscriptions = [memories.subscribe(afterFirst())];
|
|
21153
21306
|
if (subscribeOptions?.topics) {
|
|
21154
|
-
const linksOwnedBy = userId === void 0 ? [] : options.allowUnscopedRows ? [Q15.or(Q15.where("user_id", userId), Q15.where("user_id", null))] : [Q15.where("user_id", userId)];
|
|
21155
21307
|
subscriptions.push(
|
|
21156
21308
|
entityCtx.memoryEntityCollection.query(...linksOwnedBy).observe().subscribe(afterFirst())
|
|
21157
21309
|
);
|
|
@@ -21561,6 +21713,31 @@ async function createRemoteMemoryPersistence(options) {
|
|
|
21561
21713
|
throw new Error("Invalid nearby candidate response");
|
|
21562
21714
|
return result;
|
|
21563
21715
|
};
|
|
21716
|
+
const fetchQueryPage = async (queryOptions) => {
|
|
21717
|
+
const { signal, ...query } = queryOptions;
|
|
21718
|
+
if (query.limit !== void 0 && (!Number.isInteger(query.limit) || query.limit < 1 || query.limit > 200))
|
|
21719
|
+
throw new Error("Page limit must be 1\u2013200");
|
|
21720
|
+
for (const [key, max] of queryListLimits) {
|
|
21721
|
+
const values = query[key];
|
|
21722
|
+
if (values && values.length > max)
|
|
21723
|
+
throw new Error(`Query ${key} accepts at most ${max} entries (got ${values.length})`);
|
|
21724
|
+
}
|
|
21725
|
+
const page = await request(
|
|
21726
|
+
"/memories/query",
|
|
21727
|
+
{
|
|
21728
|
+
method: "POST",
|
|
21729
|
+
body: JSON.stringify(
|
|
21730
|
+
Object.fromEntries(
|
|
21731
|
+
queryFields.filter((key) => query[key] !== void 0).map((key) => [key, query[key]])
|
|
21732
|
+
)
|
|
21733
|
+
)
|
|
21734
|
+
},
|
|
21735
|
+
signal
|
|
21736
|
+
);
|
|
21737
|
+
if (!record(page) || !Array.isArray(page.items) || page.next_cursor !== void 0 && typeof page.next_cursor !== "string" || page.changes_cursor !== void 0 && typeof page.changes_cursor !== "string")
|
|
21738
|
+
throw new Error("Invalid nearby private-memory page");
|
|
21739
|
+
return page;
|
|
21740
|
+
};
|
|
21564
21741
|
const candidateSet = async (embedding, candidateOptions = {}) => {
|
|
21565
21742
|
const result = await fetchCandidates(embedding, candidateOptions, true);
|
|
21566
21743
|
if (!Number.isSafeInteger(result.total_count) || result.total_count < 0 || !Number.isSafeInteger(result.unavailable_count) || result.unavailable_count < 0)
|
|
@@ -21639,34 +21816,27 @@ async function createRemoteMemoryPersistence(options) {
|
|
|
21639
21816
|
return Promise.all(result.items.map((item, i) => decodeCommitted(item, prepared[i])));
|
|
21640
21817
|
},
|
|
21641
21818
|
query: async (queryOptions = {}) => {
|
|
21642
|
-
const
|
|
21643
|
-
if (query.limit !== void 0 && (!Number.isInteger(query.limit) || query.limit < 1 || query.limit > 200))
|
|
21644
|
-
throw new Error("Page limit must be 1\u2013200");
|
|
21645
|
-
for (const [key, max] of queryListLimits) {
|
|
21646
|
-
const values = query[key];
|
|
21647
|
-
if (values && values.length > max)
|
|
21648
|
-
throw new Error(`Query ${key} accepts at most ${max} entries (got ${values.length})`);
|
|
21649
|
-
}
|
|
21650
|
-
const page = await request(
|
|
21651
|
-
"/memories/query",
|
|
21652
|
-
{
|
|
21653
|
-
method: "POST",
|
|
21654
|
-
body: JSON.stringify(
|
|
21655
|
-
Object.fromEntries(
|
|
21656
|
-
queryFields.filter((key) => query[key] !== void 0).map((key) => [key, query[key]])
|
|
21657
|
-
)
|
|
21658
|
-
)
|
|
21659
|
-
},
|
|
21660
|
-
signal
|
|
21661
|
-
);
|
|
21662
|
-
if (!record(page) || !Array.isArray(page.items) || page.next_cursor !== void 0 && typeof page.next_cursor !== "string" || page.changes_cursor !== void 0 && typeof page.changes_cursor !== "string")
|
|
21663
|
-
throw new Error("Invalid nearby private-memory page");
|
|
21819
|
+
const page = await fetchQueryPage(queryOptions);
|
|
21664
21820
|
return {
|
|
21665
21821
|
...await decodeAll(page.items),
|
|
21666
21822
|
...page.next_cursor !== void 0 && { next_cursor: page.next_cursor },
|
|
21667
21823
|
...page.changes_cursor !== void 0 && { changes_cursor: page.changes_cursor }
|
|
21668
21824
|
};
|
|
21669
21825
|
},
|
|
21826
|
+
queryMetadata: async (queryOptions = {}) => {
|
|
21827
|
+
const page = await fetchQueryPage(queryOptions);
|
|
21828
|
+
return {
|
|
21829
|
+
items: page.items.map((item) => {
|
|
21830
|
+
const {
|
|
21831
|
+
memory: { content: _content, kind_value: _kindValue, ...memory },
|
|
21832
|
+
version,
|
|
21833
|
+
server_updated_at
|
|
21834
|
+
} = memoryRecord(item);
|
|
21835
|
+
return { memory, version, server_updated_at };
|
|
21836
|
+
}),
|
|
21837
|
+
...page.next_cursor !== void 0 && { next_cursor: page.next_cursor }
|
|
21838
|
+
};
|
|
21839
|
+
},
|
|
21670
21840
|
candidateSet,
|
|
21671
21841
|
candidates: async (embedding, candidateOptions = {}) => decodeAll((await fetchCandidates(embedding, candidateOptions, false)).items)
|
|
21672
21842
|
};
|
|
@@ -22017,10 +22187,10 @@ function createRemoteMemoryPipeline(options) {
|
|
|
22017
22187
|
factSource: {
|
|
22018
22188
|
graphRanking: options.graphRanking,
|
|
22019
22189
|
temporalRanking: options.temporalRanking,
|
|
22020
|
-
search: async (
|
|
22021
|
-
const prepared = await prepare(
|
|
22190
|
+
search: async (text13, searchOptions) => {
|
|
22191
|
+
const prepared = await prepare(text13, searchOptions);
|
|
22022
22192
|
const ranked = await rankPreparedVaultCandidates(
|
|
22023
|
-
|
|
22193
|
+
text13,
|
|
22024
22194
|
prepared,
|
|
22025
22195
|
embeddingOptions,
|
|
22026
22196
|
searchOptions
|
|
@@ -22057,6 +22227,19 @@ function createRemoteMemoryPipeline(options) {
|
|
|
22057
22227
|
|
|
22058
22228
|
// src/lib/memory/store/remoteStore.ts
|
|
22059
22229
|
import { v7 as uuidv76 } from "uuid";
|
|
22230
|
+
function projection({ memory }) {
|
|
22231
|
+
return {
|
|
22232
|
+
uniqueId: memory.memory_id,
|
|
22233
|
+
scope: memory.scope,
|
|
22234
|
+
folderId: memory.folder_id ?? null,
|
|
22235
|
+
embedding: memory.embedding?.length ? JSON.stringify(memory.embedding) : null,
|
|
22236
|
+
embeddingModel: memory.embedding_model ?? null,
|
|
22237
|
+
createdAt: new Date(memory.created_at),
|
|
22238
|
+
updatedAt: new Date(memory.updated_at),
|
|
22239
|
+
lastObservedAt: memory.last_observed_at ?? null,
|
|
22240
|
+
topicsUserManaged: memory.topics_user_managed ?? false
|
|
22241
|
+
};
|
|
22242
|
+
}
|
|
22060
22243
|
function relevant(change, options) {
|
|
22061
22244
|
return options.includeDeleted ? change === "membership" : change !== "embedding" || !!options.embeddings;
|
|
22062
22245
|
}
|
|
@@ -22091,6 +22274,9 @@ function bounded(filters, key) {
|
|
|
22091
22274
|
if (!values || values.length <= MAX_QUERY_FILTER) return [filters];
|
|
22092
22275
|
return chunks(values, MAX_QUERY_FILTER).map((chunk) => ({ ...filters, [key]: chunk }));
|
|
22093
22276
|
}
|
|
22277
|
+
function maxOf(options) {
|
|
22278
|
+
return options.limit && options.limit > 0 ? options.limit : Infinity;
|
|
22279
|
+
}
|
|
22094
22280
|
function chunks(values, size) {
|
|
22095
22281
|
const out = [];
|
|
22096
22282
|
for (let i = 0; i < values.length; i += size) out.push(values.slice(i, i + size));
|
|
@@ -22162,26 +22348,49 @@ function createRemoteMemoryStore(options) {
|
|
|
22162
22348
|
for (const subscriber of [...subscribers])
|
|
22163
22349
|
if (relevant(change, subscriber.options)) safely(subscriber.onChange);
|
|
22164
22350
|
};
|
|
22165
|
-
const
|
|
22351
|
+
const pages = async (read, filters, max = Infinity) => {
|
|
22166
22352
|
const records = [];
|
|
22167
22353
|
let cursor2;
|
|
22168
22354
|
do {
|
|
22169
|
-
const page = await
|
|
22355
|
+
const page = await read({
|
|
22170
22356
|
...filters,
|
|
22171
22357
|
limit: Math.min(200, Math.max(1, max - records.length)),
|
|
22172
22358
|
...cursor2 && { cursor: cursor2 }
|
|
22173
22359
|
});
|
|
22174
|
-
warnFailed(page.failed);
|
|
22360
|
+
if (page.failed) warnFailed(page.failed);
|
|
22175
22361
|
records.push(...page.items);
|
|
22176
22362
|
cursor2 = page.next_cursor;
|
|
22177
22363
|
} while (cursor2 && records.length < max);
|
|
22178
22364
|
return records.slice(0, max);
|
|
22179
22365
|
};
|
|
22180
|
-
const
|
|
22366
|
+
const decrypted = (options2) => persistence.query(options2);
|
|
22367
|
+
const metadata = (options2) => persistence.queryMetadata(options2);
|
|
22368
|
+
const enumerate = (filters, max = Infinity) => pages(decrypted, filters, max);
|
|
22369
|
+
const enumerateIds = async (read, ids, filters) => (await Promise.all(
|
|
22181
22370
|
chunks([...new Set(ids)], MAX_QUERY_IDS).map(
|
|
22182
|
-
(memory_ids) =>
|
|
22371
|
+
(memory_ids) => pages(read, { ...filters, memory_ids })
|
|
22183
22372
|
)
|
|
22184
22373
|
)).flat();
|
|
22374
|
+
const listFilters = (listOptions) => ({
|
|
22375
|
+
...stateFilters(listOptions),
|
|
22376
|
+
include_embeddings: true,
|
|
22377
|
+
order: listOptions.since ? "updated" : "created",
|
|
22378
|
+
...listOptions.scopes?.length && { scopes: listOptions.scopes },
|
|
22379
|
+
...listOptions.factTypes?.length && { fact_types: listOptions.factTypes },
|
|
22380
|
+
...listOptions.visibility?.length && { visibility: listOptions.visibility },
|
|
22381
|
+
...listOptions.since && { updated_after: listOptions.since.getTime() }
|
|
22382
|
+
});
|
|
22383
|
+
const listRows = async (read, listOptions, filters, max) => {
|
|
22384
|
+
const variants = bounded(filters, "scopes").flatMap((f) => bounded(f, "fact_types"));
|
|
22385
|
+
if (!listOptions.memoryIds && variants.length === 1) return pages(read, filters, max);
|
|
22386
|
+
const fetched = await Promise.all(
|
|
22387
|
+
variants.map(
|
|
22388
|
+
(variant) => listOptions.memoryIds ? enumerateIds(read, listOptions.memoryIds, variant) : pages(read, variant, max)
|
|
22389
|
+
)
|
|
22390
|
+
);
|
|
22391
|
+
const time = (row) => filters.order === "updated" ? row.memory.updated_at : row.memory.created_at;
|
|
22392
|
+
return [...new Map(fetched.flat().map((r) => [r.memory.memory_id, r])).values()].sort((a, b) => time(b) - time(a) || (a.memory.memory_id < b.memory.memory_id ? 1 : -1)).slice(0, max);
|
|
22393
|
+
};
|
|
22185
22394
|
const queues = /* @__PURE__ */ new Map();
|
|
22186
22395
|
const serialized = (id, task) => {
|
|
22187
22396
|
const run = (queues.get(id) ?? Promise.resolve()).then(task, task);
|
|
@@ -22223,12 +22432,15 @@ function createRemoteMemoryStore(options) {
|
|
|
22223
22432
|
};
|
|
22224
22433
|
const newRow = (input) => {
|
|
22225
22434
|
const now = Date.now();
|
|
22226
|
-
const scope = input
|
|
22435
|
+
const { level, scope } = resolveCreateLevel(input);
|
|
22436
|
+
assertValidKindLevel(input.kind, level);
|
|
22227
22437
|
return {
|
|
22228
22438
|
memory_id: uuidv76(),
|
|
22229
22439
|
content: input.content,
|
|
22230
22440
|
scope,
|
|
22231
|
-
level
|
|
22441
|
+
level,
|
|
22442
|
+
...input.kind !== void 0 && input.kind !== null && { kind: input.kind },
|
|
22443
|
+
...typeof input.kindValue === "string" && { kind_value: input.kindValue },
|
|
22232
22444
|
created_at: now,
|
|
22233
22445
|
updated_at: now,
|
|
22234
22446
|
is_deleted: false,
|
|
@@ -22257,6 +22469,30 @@ function createRemoteMemoryStore(options) {
|
|
|
22257
22469
|
return records.map((record2) => stored(record2.memory));
|
|
22258
22470
|
};
|
|
22259
22471
|
const asStored = (record2) => record2 ? stored(record2.memory) : null;
|
|
22472
|
+
const withKnownKinds = async (topics) => {
|
|
22473
|
+
const unkinded = [
|
|
22474
|
+
...new Set(topics.filter((t) => !t.kind).map((t) => normalizeEntityName(t.name)))
|
|
22475
|
+
];
|
|
22476
|
+
if (unkinded.length === 0) return topics;
|
|
22477
|
+
const kinds = /* @__PURE__ */ new Map();
|
|
22478
|
+
for (const names of chunks(unkinded, MAX_QUERY_TOPICS)) {
|
|
22479
|
+
for (const { memory } of await pages(metadata, {
|
|
22480
|
+
topics: names,
|
|
22481
|
+
include_archived: true,
|
|
22482
|
+
include_quarantined: true,
|
|
22483
|
+
include_superseded: true
|
|
22484
|
+
})) {
|
|
22485
|
+
for (const topic of parseTopics(memory.topics) ?? []) {
|
|
22486
|
+
const name = normalizeEntityName(topic.name);
|
|
22487
|
+
if (topic.kind && !kinds.has(name)) kinds.set(name, topic.kind);
|
|
22488
|
+
}
|
|
22489
|
+
}
|
|
22490
|
+
}
|
|
22491
|
+
return topics.map((topic) => {
|
|
22492
|
+
const kind = topic.kind ?? kinds.get(normalizeEntityName(topic.name));
|
|
22493
|
+
return kind ? { ...topic, kind } : topic;
|
|
22494
|
+
});
|
|
22495
|
+
};
|
|
22260
22496
|
const everyState = {
|
|
22261
22497
|
include_deleted: true,
|
|
22262
22498
|
include_archived: true,
|
|
@@ -22333,30 +22569,34 @@ function createRemoteMemoryStore(options) {
|
|
|
22333
22569
|
});
|
|
22334
22570
|
};
|
|
22335
22571
|
return {
|
|
22336
|
-
list: async (listOptions = {}) =>
|
|
22337
|
-
|
|
22338
|
-
|
|
22339
|
-
|
|
22340
|
-
|
|
22341
|
-
|
|
22342
|
-
|
|
22343
|
-
|
|
22344
|
-
|
|
22345
|
-
|
|
22346
|
-
|
|
22347
|
-
|
|
22348
|
-
|
|
22349
|
-
|
|
22350
|
-
|
|
22351
|
-
|
|
22352
|
-
|
|
22353
|
-
|
|
22354
|
-
|
|
22355
|
-
|
|
22356
|
-
|
|
22357
|
-
|
|
22358
|
-
|
|
22359
|
-
|
|
22572
|
+
list: async (listOptions = {}) => (await listRows(decrypted, listOptions, listFilters(listOptions), maxOf(listOptions))).map(
|
|
22573
|
+
(r) => stored(r.memory)
|
|
22574
|
+
),
|
|
22575
|
+
listProjections: async (listOptions = {}) => (await listRows(metadata, listOptions, listFilters(listOptions), maxOf(listOptions))).map(
|
|
22576
|
+
projection
|
|
22577
|
+
),
|
|
22578
|
+
listTopics: async () => {
|
|
22579
|
+
const topics = /* @__PURE__ */ new Map();
|
|
22580
|
+
for (const { memory } of await pages(metadata, {
|
|
22581
|
+
include_archived: true,
|
|
22582
|
+
include_quarantined: true,
|
|
22583
|
+
include_superseded: true
|
|
22584
|
+
})) {
|
|
22585
|
+
for (const topic of parseTopics(memory.topics) ?? []) {
|
|
22586
|
+
const name = normalizeEntityName(topic.name);
|
|
22587
|
+
if (!name) continue;
|
|
22588
|
+
const entry = topics.get(name) ?? {
|
|
22589
|
+
name,
|
|
22590
|
+
kind: null,
|
|
22591
|
+
memoryCount: 0,
|
|
22592
|
+
members: /* @__PURE__ */ new Set()
|
|
22593
|
+
};
|
|
22594
|
+
entry.kind ?? (entry.kind = topic.kind ?? null);
|
|
22595
|
+
entry.members.add(memory.memory_id);
|
|
22596
|
+
topics.set(name, entry);
|
|
22597
|
+
}
|
|
22598
|
+
}
|
|
22599
|
+
return [...topics.values()].map(({ members, ...topic }) => ({ ...topic, memoryCount: members.size })).sort((a, b) => a.name.localeCompare(b.name));
|
|
22360
22600
|
},
|
|
22361
22601
|
get: async (id) => asStored(await live(id)),
|
|
22362
22602
|
listArchived: async () => (await enumerate({ archived_only: true, order: "archived", include_embeddings: true })).map(
|
|
@@ -22365,10 +22605,10 @@ function createRemoteMemoryStore(options) {
|
|
|
22365
22605
|
memoriesByTopics: async (names) => {
|
|
22366
22606
|
const wanted = new Set(names.map(normalizeEntityName).filter(Boolean));
|
|
22367
22607
|
const out = /* @__PURE__ */ new Map();
|
|
22368
|
-
const
|
|
22608
|
+
const pages2 = await Promise.all(
|
|
22369
22609
|
chunks([...wanted], MAX_QUERY_TOPICS).map((topics) => enumerate({ topics }))
|
|
22370
22610
|
);
|
|
22371
|
-
for (const { memory } of
|
|
22611
|
+
for (const { memory } of pages2.flat()) {
|
|
22372
22612
|
const matched = [...canonicalTopics(memory)].filter((name) => wanted.has(name));
|
|
22373
22613
|
if (matched.length) out.set(memory.memory_id, new Set(matched));
|
|
22374
22614
|
}
|
|
@@ -22376,7 +22616,7 @@ function createRemoteMemoryStore(options) {
|
|
|
22376
22616
|
},
|
|
22377
22617
|
topicsByMemories: async (memoryIds) => {
|
|
22378
22618
|
const out = /* @__PURE__ */ new Map();
|
|
22379
|
-
for (const { memory } of await enumerateIds(memoryIds, {
|
|
22619
|
+
for (const { memory } of await enumerateIds(decrypted, memoryIds, {
|
|
22380
22620
|
include_archived: true,
|
|
22381
22621
|
include_superseded: true,
|
|
22382
22622
|
include_quarantined: true
|
|
@@ -22409,15 +22649,26 @@ function createRemoteMemoryStore(options) {
|
|
|
22409
22649
|
update: async (id, patch) => {
|
|
22410
22650
|
const saved = await mutate(id, "edit", (memory) => {
|
|
22411
22651
|
if (memory.superseded_by) return null;
|
|
22652
|
+
const level = patch.level !== void 0 ? patch.level : patch.scope !== void 0 ? levelForScopeChange({ level: memory.level, scope: memory.scope }, patch.scope) : resolveMemoryLevel(memory.level, memory.scope);
|
|
22653
|
+
const kind = patch.kind !== void 0 ? patch.kind : memory.kind;
|
|
22654
|
+
assertValidKindLevel(kind, level);
|
|
22412
22655
|
memory.content = patch.content;
|
|
22413
22656
|
memory.updated_at = Date.now();
|
|
22414
|
-
if (patch.
|
|
22415
|
-
memory.level =
|
|
22416
|
-
|
|
22417
|
-
|
|
22418
|
-
|
|
22657
|
+
if (patch.level !== void 0) {
|
|
22658
|
+
memory.level = level;
|
|
22659
|
+
memory.scope = scopeForLevel(level);
|
|
22660
|
+
} else if (patch.scope !== void 0) {
|
|
22661
|
+
memory.level = level;
|
|
22419
22662
|
memory.scope = patch.scope;
|
|
22420
22663
|
}
|
|
22664
|
+
if (patch.kind !== void 0) {
|
|
22665
|
+
if (patch.kind === null) delete memory.kind;
|
|
22666
|
+
else memory.kind = patch.kind;
|
|
22667
|
+
}
|
|
22668
|
+
if (patch.kindValue !== void 0) {
|
|
22669
|
+
if (patch.kindValue === null) delete memory.kind_value;
|
|
22670
|
+
else memory.kind_value = patch.kindValue;
|
|
22671
|
+
}
|
|
22421
22672
|
if (patch.factType !== void 0) memory.fact_type = patch.factType ?? void 0;
|
|
22422
22673
|
if (patch.eventTime !== void 0) {
|
|
22423
22674
|
memory.event_time_start = patch.eventTime?.start ?? void 0;
|
|
@@ -22472,16 +22723,19 @@ function createRemoteMemoryStore(options) {
|
|
|
22472
22723
|
notify("edit", [await persistence.put(memory, record2)]);
|
|
22473
22724
|
return true;
|
|
22474
22725
|
}),
|
|
22475
|
-
setTopics: async (memoryId, topics) =>
|
|
22476
|
-
await
|
|
22477
|
-
|
|
22478
|
-
|
|
22479
|
-
|
|
22480
|
-
|
|
22481
|
-
|
|
22482
|
-
|
|
22726
|
+
setTopics: async (memoryId, topics) => {
|
|
22727
|
+
const chosen = await withKnownKinds(topicInputs(topics, "user"));
|
|
22728
|
+
return asStored(
|
|
22729
|
+
await mutate(memoryId, "edit", (memory) => ({
|
|
22730
|
+
...memory,
|
|
22731
|
+
topics: serializeTopics(mergeTopics([], chosen)),
|
|
22732
|
+
topics_user_managed: true,
|
|
22733
|
+
topics_updated_at: Date.now()
|
|
22734
|
+
}))
|
|
22735
|
+
);
|
|
22736
|
+
},
|
|
22483
22737
|
addTopics: async (memoryId, topics) => {
|
|
22484
|
-
const added = topicInputs(topics, "auto");
|
|
22738
|
+
const added = await withKnownKinds(topicInputs(topics, "auto"));
|
|
22485
22739
|
const saved = await mutate(memoryId, "edit", (memory) => ({
|
|
22486
22740
|
...memory,
|
|
22487
22741
|
topics: serializeTopics(mergeTopics(parseTopics(memory.topics) ?? [], added)),
|
|
@@ -22908,8 +23162,8 @@ async function synthesizeFacet(facet, ctx, options, prior) {
|
|
|
22908
23162
|
memories
|
|
22909
23163
|
});
|
|
22910
23164
|
const noEvidence = result.basedOn.memoryIds.length === 0;
|
|
22911
|
-
const { text:
|
|
22912
|
-
if (!
|
|
23165
|
+
const { text: text13, legitimateEmpty } = extractFacetText(result.structuredOutput);
|
|
23166
|
+
if (!text13 && !legitimateEmpty && !noEvidence) {
|
|
22913
23167
|
getLogger().warn(
|
|
22914
23168
|
"[memory/synthesizeProfile] facet synthesis returned degraded-empty; using fallback section",
|
|
22915
23169
|
{ facet: facet.key, recalledCount: result.basedOn.memoryIds.length }
|
|
@@ -22919,12 +23173,12 @@ async function synthesizeFacet(facet, ctx, options, prior) {
|
|
|
22919
23173
|
const section = {
|
|
22920
23174
|
key: facet.key,
|
|
22921
23175
|
label: facet.label,
|
|
22922
|
-
text:
|
|
23176
|
+
text: text13,
|
|
22923
23177
|
sourceMemoryIds: result.basedOn.memoryIds,
|
|
22924
23178
|
generatedAt: Date.now()
|
|
22925
23179
|
};
|
|
22926
|
-
if (options.redactor &&
|
|
22927
|
-
const redacted = await options.redactor.redactTextAsync(
|
|
23180
|
+
if (options.redactor && text13) {
|
|
23181
|
+
const redacted = await options.redactor.redactTextAsync(text13);
|
|
22928
23182
|
section.text = redacted.text;
|
|
22929
23183
|
}
|
|
22930
23184
|
if (!legitimateEmpty && !noEvidence) {
|
|
@@ -23437,10 +23691,10 @@ function createDurableAutoExtractor(options) {
|
|
|
23437
23691
|
const counted = error instanceof BatchFailureError || error instanceof LockedSourcesError && error.persistentIds.length > 0;
|
|
23438
23692
|
if (!counted) return false;
|
|
23439
23693
|
const prior = sessionFailures.get(job.id);
|
|
23440
|
-
const
|
|
23441
|
-
sessionFailures.set(job.id, { head, count });
|
|
23694
|
+
const count2 = prior?.head === head ? prior.count + 1 : 1;
|
|
23695
|
+
sessionFailures.set(job.id, { head, count: count2 });
|
|
23442
23696
|
const terminal = error instanceof BatchFailureError && error.terminal;
|
|
23443
|
-
if (!terminal &&
|
|
23697
|
+
if (!terminal && count2 < MAX_ATTEMPTS) return false;
|
|
23444
23698
|
skippedThisSession.add(job.id);
|
|
23445
23699
|
const now = clock();
|
|
23446
23700
|
const lastCounted = failedAtOf(job, head);
|
|
@@ -23744,7 +23998,7 @@ async function verifyFactSupport(items, options) {
|
|
|
23744
23998
|
}
|
|
23745
23999
|
const maxEvidenceChars = Math.max(1, options.maxEvidenceChars ?? DEFAULT_MAX_EVIDENCE_CHARS);
|
|
23746
24000
|
const redactor = resolvePiiRedactor(options.piiRedaction ?? true);
|
|
23747
|
-
const safe = async (
|
|
24001
|
+
const safe = async (text13) => redactor ? (await redactor.redactTextAsync(text13)).text : text13;
|
|
23748
24002
|
let truncatedCount = 0;
|
|
23749
24003
|
const parts = [];
|
|
23750
24004
|
for (const [i, item] of items.entries()) {
|
|
@@ -23801,7 +24055,7 @@ Which item numbers are supported?`,
|
|
|
23801
24055
|
}
|
|
23802
24056
|
return supported;
|
|
23803
24057
|
}
|
|
23804
|
-
function parseSupported(parsed,
|
|
24058
|
+
function parseSupported(parsed, count2) {
|
|
23805
24059
|
if (typeof parsed !== "object" || parsed === null) return null;
|
|
23806
24060
|
const list = parsed.supported;
|
|
23807
24061
|
if (!Array.isArray(list)) return null;
|
|
@@ -23809,7 +24063,7 @@ function parseSupported(parsed, count) {
|
|
|
23809
24063
|
for (const raw of list) {
|
|
23810
24064
|
const n = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : NaN;
|
|
23811
24065
|
if (!Number.isInteger(n)) continue;
|
|
23812
|
-
if (n >= 1 && n <=
|
|
24066
|
+
if (n >= 1 && n <= count2) out.add(n - 1);
|
|
23813
24067
|
}
|
|
23814
24068
|
return out;
|
|
23815
24069
|
}
|
|
@@ -23860,7 +24114,7 @@ async function verifyMemoriesForPublish(memories, sources, options) {
|
|
|
23860
24114
|
);
|
|
23861
24115
|
const pending = [];
|
|
23862
24116
|
for (const { index, uniqueId, content, ids } of withinBudget) {
|
|
23863
|
-
const evidence = ids.map((id) => resolved.get(id) ?? null).filter((
|
|
24117
|
+
const evidence = ids.map((id) => resolved.get(id) ?? null).filter((text13) => text13 !== null);
|
|
23864
24118
|
const dropped = ids.length - evidence.length;
|
|
23865
24119
|
if (ids.some((id) => unreadable.has(id))) {
|
|
23866
24120
|
results[index] = {
|
|
@@ -24363,22 +24617,22 @@ function normalizeManualFactType(value) {
|
|
|
24363
24617
|
function isSharedScope(scope) {
|
|
24364
24618
|
return scope === "shared";
|
|
24365
24619
|
}
|
|
24366
|
-
async function notifyWritten(options, input,
|
|
24620
|
+
async function notifyWritten(options, input, outcome2) {
|
|
24367
24621
|
try {
|
|
24368
|
-
await options?.onWritten?.({ input, outcome });
|
|
24622
|
+
await options?.onWritten?.({ input, outcome: outcome2 });
|
|
24369
24623
|
} catch {
|
|
24370
24624
|
}
|
|
24371
24625
|
}
|
|
24372
|
-
function describeWriteOutcome(
|
|
24373
|
-
switch (
|
|
24626
|
+
function describeWriteOutcome(outcome2) {
|
|
24627
|
+
switch (outcome2.action) {
|
|
24374
24628
|
case "create":
|
|
24375
|
-
return `Memory saved successfully (ID: ${
|
|
24629
|
+
return `Memory saved successfully (ID: ${outcome2.memoryId}).`;
|
|
24376
24630
|
case "update":
|
|
24377
24631
|
case "supersede":
|
|
24378
|
-
return `Memory saved successfully (ID: ${
|
|
24632
|
+
return `Memory saved successfully (ID: ${outcome2.memoryId}); it replaces an earlier version of this fact.`;
|
|
24379
24633
|
case "merge":
|
|
24380
24634
|
case "skip":
|
|
24381
|
-
return `The vault already holds this fact (ID: ${
|
|
24635
|
+
return `The vault already holds this fact (ID: ${outcome2.memoryId}); it was noted as re-observed. Nothing new was created \u2014 do not save it again.`;
|
|
24382
24636
|
case "suppressed":
|
|
24383
24637
|
return "Not saved: this matches a memory the user previously deleted. Do not re-save it.";
|
|
24384
24638
|
}
|
|
@@ -24484,9 +24738,9 @@ function createMemoryVaultTool(vaultCtx, options, embeddingOptions, cache) {
|
|
|
24484
24738
|
...folderId !== void 0 && { folderId },
|
|
24485
24739
|
...factType !== void 0 && { factType }
|
|
24486
24740
|
};
|
|
24487
|
-
const
|
|
24488
|
-
await notifyWritten(options, input,
|
|
24489
|
-
return describeWriteOutcome(
|
|
24741
|
+
const outcome2 = await options.write(input);
|
|
24742
|
+
await notifyWritten(options, input, outcome2);
|
|
24743
|
+
return describeWriteOutcome(outcome2);
|
|
24490
24744
|
}
|
|
24491
24745
|
const created = await createVaultMemoryOp(vaultCtx, {
|
|
24492
24746
|
content,
|
|
@@ -24775,10 +25029,10 @@ async function exportMarkdownToPdf(markdown, options) {
|
|
|
24775
25029
|
function lineHeightMm(fontSizePt) {
|
|
24776
25030
|
return ptToMm(fontSizePt) * lineHeight;
|
|
24777
25031
|
}
|
|
24778
|
-
function renderWrappedText(
|
|
25032
|
+
function renderWrappedText(text13, x, maxW, fontSizePt, fontStyle = "normal", fontFamily = "Helvetica") {
|
|
24779
25033
|
doc.setFont(fontFamily, fontStyle);
|
|
24780
25034
|
doc.setFontSize(fontSizePt);
|
|
24781
|
-
const lines = doc.splitTextToSize(
|
|
25035
|
+
const lines = doc.splitTextToSize(text13, maxW);
|
|
24782
25036
|
const lh = lineHeightMm(fontSizePt);
|
|
24783
25037
|
for (const line of lines) {
|
|
24784
25038
|
ensureSpace(lh);
|
|
@@ -24860,10 +25114,10 @@ async function exportMarkdownToPdf(markdown, options) {
|
|
|
24860
25114
|
const lh = lineHeightMm(opts.fontSize);
|
|
24861
25115
|
for (let i = 0; i < items.length; i++) {
|
|
24862
25116
|
const prefix = ordered ? `${(listToken.start || 1) + i}. ` : "\u2022 ";
|
|
24863
|
-
const
|
|
25117
|
+
const text13 = tokensToPlainText(items[i].tokens);
|
|
24864
25118
|
ensureSpace(lh);
|
|
24865
25119
|
doc.text(prefix, opts.margins.left, cursorY);
|
|
24866
|
-
const listLines = doc.splitTextToSize(
|
|
25120
|
+
const listLines = doc.splitTextToSize(text13, itemW);
|
|
24867
25121
|
for (const line of listLines) {
|
|
24868
25122
|
ensureSpace(lh);
|
|
24869
25123
|
doc.text(line, indentX, cursorY);
|
|
@@ -24875,12 +25129,12 @@ async function exportMarkdownToPdf(markdown, options) {
|
|
|
24875
25129
|
}
|
|
24876
25130
|
case "blockquote": {
|
|
24877
25131
|
const bqToken = token;
|
|
24878
|
-
const
|
|
25132
|
+
const text13 = tokensToPlainText(bqToken.tokens ?? []);
|
|
24879
25133
|
const indentX = opts.margins.left + SPACING.QUOTE_INDENT;
|
|
24880
25134
|
const quoteW = cw - SPACING.QUOTE_INSET;
|
|
24881
25135
|
doc.setFont("Helvetica", "italic");
|
|
24882
25136
|
doc.setFontSize(opts.fontSize);
|
|
24883
|
-
const bqLines = doc.splitTextToSize(
|
|
25137
|
+
const bqLines = doc.splitTextToSize(text13, quoteW);
|
|
24884
25138
|
const lh = lineHeightMm(opts.fontSize);
|
|
24885
25139
|
const blockH = bqLines.length * lh;
|
|
24886
25140
|
ensureSpace(Math.min(blockH, 20));
|
|
@@ -24916,8 +25170,8 @@ async function exportMarkdownToPdf(markdown, options) {
|
|
|
24916
25170
|
doc.setFont("Helvetica", fontStyle);
|
|
24917
25171
|
doc.setFontSize(tableFontSize);
|
|
24918
25172
|
const cellLines = cells.map((cell) => {
|
|
24919
|
-
const
|
|
24920
|
-
return doc.splitTextToSize(
|
|
25173
|
+
const text13 = tokensToPlainText(cell.tokens);
|
|
25174
|
+
return doc.splitTextToSize(text13, cellContentW);
|
|
24921
25175
|
});
|
|
24922
25176
|
const maxLines = Math.max(1, ...cellLines.map((l) => l.length));
|
|
24923
25177
|
ensureSpace(maxLines * lh + SPACING.SM);
|
|
@@ -25144,13 +25398,13 @@ async function withPdfDocument(pdfDataUrl, fn) {
|
|
|
25144
25398
|
}
|
|
25145
25399
|
}
|
|
25146
25400
|
function joinPdfTextItems(items) {
|
|
25147
|
-
let
|
|
25401
|
+
let text13 = "";
|
|
25148
25402
|
for (const item of items) {
|
|
25149
25403
|
if (!("str" in item)) continue;
|
|
25150
25404
|
const { str, hasEOL } = item;
|
|
25151
|
-
|
|
25405
|
+
text13 += str + (hasEOL ? "\n" : " ");
|
|
25152
25406
|
}
|
|
25153
|
-
return
|
|
25407
|
+
return text13.replace(/[ \t]+\n/g, "\n").trim();
|
|
25154
25408
|
}
|
|
25155
25409
|
function computeRenderScale(width, height) {
|
|
25156
25410
|
const longest = Math.max(width, height);
|
|
@@ -25170,7 +25424,7 @@ async function extractPdfPageTexts(pdfDataUrl) {
|
|
|
25170
25424
|
}
|
|
25171
25425
|
async function extractTextFromPdf(pdfDataUrl) {
|
|
25172
25426
|
const pageTexts = await extractPdfPageTexts(pdfDataUrl);
|
|
25173
|
-
return pageTexts.filter((
|
|
25427
|
+
return pageTexts.filter((text13) => text13.trim()).join("\n\n");
|
|
25174
25428
|
}
|
|
25175
25429
|
async function renderPdfPages(pdfDataUrl, maxPages, pageNumbers) {
|
|
25176
25430
|
return withPdfDocument(pdfDataUrl, async (pdf) => {
|
|
@@ -25212,8 +25466,8 @@ var MAX_IMAGE_PAGES = 20;
|
|
|
25212
25466
|
var MIN_PAGE_TEXT_CHARS = 20;
|
|
25213
25467
|
function selectPdfImagePages(pageTexts, maxImagePages = MAX_IMAGE_PAGES) {
|
|
25214
25468
|
const needImage = [];
|
|
25215
|
-
pageTexts.forEach((
|
|
25216
|
-
if (
|
|
25469
|
+
pageTexts.forEach((text13, index) => {
|
|
25470
|
+
if (text13.trim().length < MIN_PAGE_TEXT_CHARS) needImage.push(index + 1);
|
|
25217
25471
|
});
|
|
25218
25472
|
const limit = Math.max(0, maxImagePages);
|
|
25219
25473
|
return { rendered: needImage.slice(0, limit), omitted: needImage.slice(limit) };
|
|
@@ -25272,10 +25526,10 @@ var PdfProcessor = class {
|
|
|
25272
25526
|
textError
|
|
25273
25527
|
);
|
|
25274
25528
|
}
|
|
25275
|
-
const
|
|
25529
|
+
const text13 = (pageTexts ?? []).filter((t) => t.trim()).join("\n\n");
|
|
25276
25530
|
const { rendered, omitted } = pageTexts ? selectPdfImagePages(pageTexts) : { rendered: [], omitted: [] };
|
|
25277
25531
|
if (pageTexts && rendered.length === 0 && omitted.length === 0) {
|
|
25278
|
-
return
|
|
25532
|
+
return text13.trim() ? { extractedText: text13, format: "plain" } : null;
|
|
25279
25533
|
}
|
|
25280
25534
|
let renderedPages;
|
|
25281
25535
|
let pageCount = pageTexts?.length;
|
|
@@ -25288,7 +25542,7 @@ var PdfProcessor = class {
|
|
|
25288
25542
|
pageCount = result.pageCount;
|
|
25289
25543
|
}
|
|
25290
25544
|
} catch (imageError) {
|
|
25291
|
-
if (!
|
|
25545
|
+
if (!text13.trim()) {
|
|
25292
25546
|
logger.error("[PdfProcessor] Image conversion also failed:", imageError);
|
|
25293
25547
|
throw imageError;
|
|
25294
25548
|
}
|
|
@@ -25300,7 +25554,7 @@ var PdfProcessor = class {
|
|
|
25300
25554
|
const included = new Set(imagePages);
|
|
25301
25555
|
const needImage = pageTexts ? [...rendered, ...omitted] : Array.from({ length: pageCount ?? 0 }, (_, i) => i + 1);
|
|
25302
25556
|
const omittedPages = needImage.filter((n) => !included.has(n)).sort((a, b) => a - b);
|
|
25303
|
-
if (images.length === 0 && !
|
|
25557
|
+
if (images.length === 0 && !text13.trim()) {
|
|
25304
25558
|
logger.warn("[PdfProcessor] Image conversion also returned empty");
|
|
25305
25559
|
return null;
|
|
25306
25560
|
}
|
|
@@ -25309,9 +25563,9 @@ var PdfProcessor = class {
|
|
|
25309
25563
|
);
|
|
25310
25564
|
const imageNote = buildPdfImageNote(file.name, imagePages, omittedPages, pageCount);
|
|
25311
25565
|
return {
|
|
25312
|
-
extractedText:
|
|
25566
|
+
extractedText: text13.trim() ? `${imageNote}
|
|
25313
25567
|
|
|
25314
|
-
${
|
|
25568
|
+
${text13}` : imageNote,
|
|
25315
25569
|
format: "plain",
|
|
25316
25570
|
imageDataUrls: images.length > 0 ? images : void 0,
|
|
25317
25571
|
metadata: {
|
|
@@ -25473,16 +25727,16 @@ var TextProcessor = class {
|
|
|
25473
25727
|
async process(file) {
|
|
25474
25728
|
try {
|
|
25475
25729
|
const arrayBuffer = await dataUrlToArrayBuffer(file.dataUrl);
|
|
25476
|
-
const
|
|
25477
|
-
if (!
|
|
25730
|
+
const text13 = decodeText(new Uint8Array(arrayBuffer));
|
|
25731
|
+
if (!text13.trim()) {
|
|
25478
25732
|
return null;
|
|
25479
25733
|
}
|
|
25480
25734
|
return {
|
|
25481
|
-
extractedText:
|
|
25735
|
+
extractedText: text13,
|
|
25482
25736
|
format: this.resolveFormat(file),
|
|
25483
25737
|
metadata: {
|
|
25484
25738
|
byteLength: arrayBuffer.byteLength,
|
|
25485
|
-
characterCount:
|
|
25739
|
+
characterCount: text13.length
|
|
25486
25740
|
}
|
|
25487
25741
|
};
|
|
25488
25742
|
} catch (error) {
|
|
@@ -25543,8 +25797,8 @@ var WordProcessor = class {
|
|
|
25543
25797
|
/**
|
|
25544
25798
|
* Count words in text
|
|
25545
25799
|
*/
|
|
25546
|
-
countWords(
|
|
25547
|
-
return
|
|
25800
|
+
countWords(text13) {
|
|
25801
|
+
return text13.split(/\s+/).filter((w) => w.length > 0).length;
|
|
25548
25802
|
}
|
|
25549
25803
|
};
|
|
25550
25804
|
|
|
@@ -25781,13 +26035,13 @@ function truncationMarker2(kept, total, fileName) {
|
|
|
25781
26035
|
return `
|
|
25782
26036
|
[truncated: showing the first ${kept} of ${total} characters of ${fileName}]`;
|
|
25783
26037
|
}
|
|
25784
|
-
function truncateText(
|
|
25785
|
-
if (
|
|
26038
|
+
function truncateText(text13, limit, fileName) {
|
|
26039
|
+
if (text13.length <= limit) return { text: text13, truncated: false };
|
|
25786
26040
|
let end = Math.max(0, limit);
|
|
25787
|
-
const code =
|
|
26041
|
+
const code = text13.charCodeAt(end - 1);
|
|
25788
26042
|
if (end > 0 && code >= 55296 && code <= 56319) end--;
|
|
25789
26043
|
return {
|
|
25790
|
-
text: `${
|
|
26044
|
+
text: `${text13.slice(0, end)}${truncationMarker2(end, text13.length, fileName)}`,
|
|
25791
26045
|
truncated: true
|
|
25792
26046
|
};
|
|
25793
26047
|
}
|
|
@@ -25951,13 +26205,13 @@ async function preprocessFiles(files, options = {}) {
|
|
|
25951
26205
|
Math.max(0, MAX_TOTAL_IMAGES - allImageUrls.length)
|
|
25952
26206
|
);
|
|
25953
26207
|
allImageUrls.push(...images.slice(0, keptImages));
|
|
25954
|
-
const
|
|
25955
|
-
const fitsWhole =
|
|
25956
|
-
const limit = fitsWhole ?
|
|
26208
|
+
const text13 = rewriteImageNote(result, file.name, keptImages);
|
|
26209
|
+
const fitsWhole = text13.length <= Math.min(maxExtractedCharsPerFile, remaining);
|
|
26210
|
+
const limit = fitsWhole ? text13.length : Math.min(
|
|
25957
26211
|
maxExtractedCharsPerFile,
|
|
25958
|
-
remaining - truncationMarker2(
|
|
26212
|
+
remaining - truncationMarker2(text13.length, text13.length, file.name).length
|
|
25959
26213
|
);
|
|
25960
|
-
const capped = truncateText(
|
|
26214
|
+
const capped = truncateText(text13, Math.max(0, limit), file.name);
|
|
25961
26215
|
const formattedContent = formatExtractedContent(file.name, capped.text, result.format);
|
|
25962
26216
|
totalChars += separatorLength + formattedContent.length;
|
|
25963
26217
|
extractedTexts.push(formattedContent);
|
|
@@ -26199,11 +26453,11 @@ function createGetAuthenticatedUserTool(getAccessToken, requestAccess) {
|
|
|
26199
26453
|
};
|
|
26200
26454
|
}
|
|
26201
26455
|
var MAX_RESPONSE_SIZE = 1e5;
|
|
26202
|
-
function truncate(
|
|
26203
|
-
if (
|
|
26204
|
-
return
|
|
26456
|
+
function truncate(text13, maxLen) {
|
|
26457
|
+
if (text13.length <= maxLen) return text13;
|
|
26458
|
+
return text13.slice(0, maxLen) + `
|
|
26205
26459
|
|
|
26206
|
-
... (truncated, ${
|
|
26460
|
+
... (truncated, ${text13.length - maxLen} characters omitted)`;
|
|
26207
26461
|
}
|
|
26208
26462
|
function createGitHubApiTool(getAccessToken, requestAccess) {
|
|
26209
26463
|
return {
|
|
@@ -26251,16 +26505,16 @@ IMPORTANT: For write operations (POST, PUT, PATCH, DELETE), always confirm with
|
|
|
26251
26505
|
method,
|
|
26252
26506
|
body: body ? JSON.stringify(body) : void 0
|
|
26253
26507
|
});
|
|
26254
|
-
const
|
|
26508
|
+
const text13 = await resp.text();
|
|
26255
26509
|
if (!resp.ok) {
|
|
26256
|
-
return `Error: GitHub API ${method} ${path} returned ${resp.status}: ${truncate(
|
|
26510
|
+
return `Error: GitHub API ${method} ${path} returned ${resp.status}: ${truncate(text13, 500)}`;
|
|
26257
26511
|
}
|
|
26258
26512
|
try {
|
|
26259
|
-
const data = JSON.parse(
|
|
26513
|
+
const data = JSON.parse(text13);
|
|
26260
26514
|
const json4 = JSON.stringify(data);
|
|
26261
26515
|
return truncate(json4, MAX_RESPONSE_SIZE);
|
|
26262
26516
|
} catch {
|
|
26263
|
-
return truncate(
|
|
26517
|
+
return truncate(text13, MAX_RESPONSE_SIZE);
|
|
26264
26518
|
}
|
|
26265
26519
|
} catch (err) {
|
|
26266
26520
|
if (err instanceof DOMException && err.name === "AbortError") {
|
|
@@ -26922,10 +27176,10 @@ function formatObjectAttr(obj) {
|
|
|
26922
27176
|
});
|
|
26923
27177
|
return `{ ${entries.join(", ")} }`;
|
|
26924
27178
|
}
|
|
26925
|
-
function isSafeJsxText(
|
|
26926
|
-
if (/[<>{}&]/.test(
|
|
26927
|
-
if (/\n/.test(
|
|
26928
|
-
if (/^\s|\s$/.test(
|
|
27179
|
+
function isSafeJsxText(text13) {
|
|
27180
|
+
if (/[<>{}&]/.test(text13)) return false;
|
|
27181
|
+
if (/\n/.test(text13)) return false;
|
|
27182
|
+
if (/^\s|\s$/.test(text13)) return false;
|
|
26929
27183
|
return true;
|
|
26930
27184
|
}
|
|
26931
27185
|
function getId(node) {
|
|
@@ -30509,9 +30763,9 @@ New lines of conversation:
|
|
|
30509
30763
|
{new_lines}
|
|
30510
30764
|
|
|
30511
30765
|
New summary:`;
|
|
30512
|
-
function estimateTokens(
|
|
30513
|
-
if (!
|
|
30514
|
-
return Math.ceil(
|
|
30766
|
+
function estimateTokens(text13) {
|
|
30767
|
+
if (!text13) return 0;
|
|
30768
|
+
return Math.ceil(text13.length / 4);
|
|
30515
30769
|
}
|
|
30516
30770
|
var PER_MESSAGE_OVERHEAD_TOKENS = 4;
|
|
30517
30771
|
var MAX_MESSAGES_PER_SUMMARIZATION = 20;
|
|
@@ -30571,14 +30825,14 @@ function splitMessagesAtThreshold(messages, tokenThreshold, minWindowMessages) {
|
|
|
30571
30825
|
}
|
|
30572
30826
|
async function redactSummaryPrompt(prompt, redactor, onPiiRedacted) {
|
|
30573
30827
|
if (!redactor) return prompt;
|
|
30574
|
-
const { text:
|
|
30828
|
+
const { text: text13, matches } = await redactor.redactTextAsync(prompt);
|
|
30575
30829
|
if (matches.length > 0 && onPiiRedacted) {
|
|
30576
30830
|
try {
|
|
30577
30831
|
onPiiRedacted(matches);
|
|
30578
30832
|
} catch {
|
|
30579
30833
|
}
|
|
30580
30834
|
}
|
|
30581
|
-
return
|
|
30835
|
+
return text13;
|
|
30582
30836
|
}
|
|
30583
30837
|
async function progressiveSummarize(options) {
|
|
30584
30838
|
const {
|
|
@@ -30891,14 +31145,14 @@ var MaskScopedEmbeddingCache = class extends Map {
|
|
|
30891
31145
|
this.inner = inner;
|
|
30892
31146
|
this.masked = masked;
|
|
30893
31147
|
}
|
|
30894
|
-
key(
|
|
30895
|
-
return `${this.masked ? "m" : "r"}:${
|
|
31148
|
+
key(text13) {
|
|
31149
|
+
return `${this.masked ? "m" : "r"}:${text13}`;
|
|
30896
31150
|
}
|
|
30897
|
-
get(
|
|
30898
|
-
return this.inner.get(this.key(
|
|
31151
|
+
get(text13) {
|
|
31152
|
+
return this.inner.get(this.key(text13));
|
|
30899
31153
|
}
|
|
30900
|
-
set(
|
|
30901
|
-
this.inner.set(this.key(
|
|
31154
|
+
set(text13, value) {
|
|
31155
|
+
this.inner.set(this.key(text13), value);
|
|
30902
31156
|
return this;
|
|
30903
31157
|
}
|
|
30904
31158
|
};
|
|
@@ -31548,11 +31802,11 @@ function useChatStorage(options) {
|
|
|
31548
31802
|
[piiRedaction, currentConversationId]
|
|
31549
31803
|
);
|
|
31550
31804
|
const maskForEmbedding = useCallback5(
|
|
31551
|
-
(
|
|
31805
|
+
(text13) => isPiiRedactor(resolvedPiiRedaction) ? resolvedPiiRedaction.maskText(text13) : text13,
|
|
31552
31806
|
[resolvedPiiRedaction]
|
|
31553
31807
|
);
|
|
31554
31808
|
const maskEmbeddingInput = useMemo4(
|
|
31555
|
-
() => isPiiRedactor(resolvedPiiRedaction) ? (
|
|
31809
|
+
() => isPiiRedactor(resolvedPiiRedaction) ? (text13) => resolvedPiiRedaction.maskText(text13) : void 0,
|
|
31556
31810
|
[resolvedPiiRedaction]
|
|
31557
31811
|
);
|
|
31558
31812
|
const vaultEmbeddingOptions = useMemo4(
|
|
@@ -32283,7 +32537,7 @@ function useChatStorage(options) {
|
|
|
32283
32537
|
return {
|
|
32284
32538
|
callRedactor: redactor,
|
|
32285
32539
|
callPiiRedaction: forInnerSend,
|
|
32286
|
-
maskForCall: (
|
|
32540
|
+
maskForCall: (text13) => redactor ? redactor.maskText(text13) : text13
|
|
32287
32541
|
};
|
|
32288
32542
|
};
|
|
32289
32543
|
const resolveThoughtProcess = () => finalizeThoughtProcess(getThoughtProcess?.() || thoughtProcess);
|
|
@@ -34624,13 +34878,13 @@ function useOCR() {
|
|
|
34624
34878
|
const result = await Tesseract.recognize(image, language);
|
|
34625
34879
|
pageTexts.push(result.data.text);
|
|
34626
34880
|
}
|
|
34627
|
-
const
|
|
34628
|
-
if (!
|
|
34881
|
+
const text13 = pageTexts.join("\n\n");
|
|
34882
|
+
if (!text13.trim()) {
|
|
34629
34883
|
getLogger().warn(`No text found in OCR source ${filename || "unknown"}`);
|
|
34630
34884
|
return null;
|
|
34631
34885
|
}
|
|
34632
34886
|
return `[Context from OCR attachment ${filename || "unknown"}]:
|
|
34633
|
-
${
|
|
34887
|
+
${text13}`;
|
|
34634
34888
|
} catch (err) {
|
|
34635
34889
|
getLogger().error(`Failed to process OCR for ${file.filename || "unknown"}:`, err);
|
|
34636
34890
|
return null;
|
|
@@ -34673,13 +34927,13 @@ function usePdf() {
|
|
|
34673
34927
|
const contexts = await Promise.all(
|
|
34674
34928
|
pdfFiles.map(async (file) => {
|
|
34675
34929
|
try {
|
|
34676
|
-
const
|
|
34677
|
-
if (!
|
|
34930
|
+
const text13 = await extractTextFromPdf(file.url);
|
|
34931
|
+
if (!text13.trim()) {
|
|
34678
34932
|
getLogger().warn(`No text found in PDF ${file.filename}`);
|
|
34679
34933
|
return null;
|
|
34680
34934
|
}
|
|
34681
34935
|
return `[Context from PDF attachment ${file.filename}]:
|
|
34682
|
-
${
|
|
34936
|
+
${text13}`;
|
|
34683
34937
|
} catch (err) {
|
|
34684
34938
|
getLogger().error(`Failed to process PDF ${file.filename}:`, err);
|
|
34685
34939
|
return null;
|
|
@@ -36209,14 +36463,14 @@ function useVoice(options) {
|
|
|
36209
36463
|
recognition.interimResults = false;
|
|
36210
36464
|
recognition.lang = options?.language ?? "";
|
|
36211
36465
|
recognition.onresult = (event) => {
|
|
36212
|
-
let
|
|
36466
|
+
let text13 = "";
|
|
36213
36467
|
for (let i = 0; i < event.results.length; i++) {
|
|
36214
36468
|
const result = event.results[i];
|
|
36215
36469
|
if (result && result.isFinal && result[0]) {
|
|
36216
|
-
|
|
36470
|
+
text13 += result[0].transcript + " ";
|
|
36217
36471
|
}
|
|
36218
36472
|
}
|
|
36219
|
-
nativeTextRef.current =
|
|
36473
|
+
nativeTextRef.current = text13.trim();
|
|
36220
36474
|
};
|
|
36221
36475
|
recognition.onerror = (event) => {
|
|
36222
36476
|
if (event.error !== "aborted" && event.error !== "no-speech") {
|
|
@@ -36680,6 +36934,7 @@ export {
|
|
|
36680
36934
|
extractFacts,
|
|
36681
36935
|
extractFileIds,
|
|
36682
36936
|
extractMCPImageUrls,
|
|
36937
|
+
extractReservationReceipts,
|
|
36683
36938
|
fileExists,
|
|
36684
36939
|
findById,
|
|
36685
36940
|
findMatchingTools,
|