@anuma/sdk 1.2.2 → 1.3.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 +316 -194
- package/dist/expo/index.d.mts +64 -2
- package/dist/expo/index.d.ts +64 -2
- package/dist/expo/index.mjs +234 -117
- package/dist/react/index.cjs +403 -281
- package/dist/react/index.d.mts +64 -2
- package/dist/react/index.d.ts +64 -2
- package/dist/react/index.mjs +276 -159
- package/dist/server/index.cjs +437 -388
- package/dist/server/index.d.mts +4 -1
- package/dist/server/index.d.ts +4 -1
- package/dist/server/index.mjs +312 -263
- package/package.json +1 -1
package/dist/react/index.cjs
CHANGED
|
@@ -2919,49 +2919,49 @@ var init_operations = __esm({
|
|
|
2919
2919
|
});
|
|
2920
2920
|
|
|
2921
2921
|
// src/lib/memoryEngine/chunking.ts
|
|
2922
|
-
function splitIntoSentences(
|
|
2922
|
+
function splitIntoSentences(text12) {
|
|
2923
2923
|
const sentenceRegex = /[.!?]+[\s"')}\]]*(?=\s|$)/g;
|
|
2924
2924
|
const sentences = [];
|
|
2925
2925
|
let lastIndex = 0;
|
|
2926
2926
|
let match;
|
|
2927
|
-
while ((match = sentenceRegex.exec(
|
|
2927
|
+
while ((match = sentenceRegex.exec(text12)) !== null) {
|
|
2928
2928
|
const endIndex = match.index + match[0].length;
|
|
2929
|
-
const sentence =
|
|
2929
|
+
const sentence = text12.slice(lastIndex, endIndex).trim();
|
|
2930
2930
|
if (sentence) {
|
|
2931
2931
|
sentences.push(sentence);
|
|
2932
2932
|
}
|
|
2933
2933
|
lastIndex = endIndex;
|
|
2934
2934
|
}
|
|
2935
|
-
const remaining =
|
|
2935
|
+
const remaining = text12.slice(lastIndex).trim();
|
|
2936
2936
|
if (remaining) {
|
|
2937
2937
|
sentences.push(remaining);
|
|
2938
2938
|
}
|
|
2939
2939
|
return sentences;
|
|
2940
2940
|
}
|
|
2941
|
-
function chunkText(
|
|
2941
|
+
function chunkText(text12, options) {
|
|
2942
2942
|
const {
|
|
2943
2943
|
chunkSize = DEFAULT_CHUNK_SIZE,
|
|
2944
2944
|
chunkOverlap: requestedOverlap = DEFAULT_CHUNK_OVERLAP,
|
|
2945
2945
|
minChunkSize = DEFAULT_MIN_CHUNK_SIZE
|
|
2946
2946
|
} = options ?? {};
|
|
2947
2947
|
const chunkOverlap = Math.min(requestedOverlap, chunkSize - 1);
|
|
2948
|
-
if (
|
|
2948
|
+
if (text12.length <= chunkSize) {
|
|
2949
2949
|
return [
|
|
2950
2950
|
{
|
|
2951
|
-
text:
|
|
2951
|
+
text: text12.trim(),
|
|
2952
2952
|
startOffset: 0,
|
|
2953
|
-
endOffset:
|
|
2953
|
+
endOffset: text12.length
|
|
2954
2954
|
}
|
|
2955
2955
|
];
|
|
2956
2956
|
}
|
|
2957
|
-
const sentences = splitIntoSentences(
|
|
2957
|
+
const sentences = splitIntoSentences(text12);
|
|
2958
2958
|
const chunks = [];
|
|
2959
2959
|
let currentChunkSentences = [];
|
|
2960
2960
|
let currentChunkStart = 0;
|
|
2961
2961
|
let currentOffset = 0;
|
|
2962
2962
|
for (let i = 0; i < sentences.length; i++) {
|
|
2963
2963
|
const sentence = sentences[i];
|
|
2964
|
-
let sentenceStart =
|
|
2964
|
+
let sentenceStart = text12.indexOf(sentence, currentOffset);
|
|
2965
2965
|
if (sentenceStart === -1) {
|
|
2966
2966
|
sentenceStart = currentOffset;
|
|
2967
2967
|
}
|
|
@@ -3008,7 +3008,7 @@ function chunkText(text11, options) {
|
|
|
3008
3008
|
if (overlapSentences.length > 0) {
|
|
3009
3009
|
currentChunkSentences = [...overlapSentences, sentence];
|
|
3010
3010
|
const overlapText = overlapSentences[0];
|
|
3011
|
-
const overlapStart =
|
|
3011
|
+
const overlapStart = text12.lastIndexOf(overlapText, currentOffset);
|
|
3012
3012
|
currentChunkStart = overlapStart === -1 ? sentenceStart : overlapStart;
|
|
3013
3013
|
} else {
|
|
3014
3014
|
currentChunkSentences = [sentence];
|
|
@@ -3028,18 +3028,18 @@ function chunkText(text11, options) {
|
|
|
3028
3028
|
chunks.push({
|
|
3029
3029
|
text: chunkText2,
|
|
3030
3030
|
startOffset: currentChunkStart,
|
|
3031
|
-
endOffset:
|
|
3031
|
+
endOffset: text12.length
|
|
3032
3032
|
});
|
|
3033
3033
|
}
|
|
3034
3034
|
}
|
|
3035
3035
|
if (chunks.length === 0) {
|
|
3036
|
-
const trimmedText =
|
|
3036
|
+
const trimmedText = text12.trim();
|
|
3037
3037
|
if (trimmedText.length > 0) {
|
|
3038
3038
|
return [
|
|
3039
3039
|
{
|
|
3040
3040
|
text: trimmedText,
|
|
3041
3041
|
startOffset: 0,
|
|
3042
|
-
endOffset:
|
|
3042
|
+
endOffset: text12.length
|
|
3043
3043
|
}
|
|
3044
3044
|
];
|
|
3045
3045
|
}
|
|
@@ -3100,10 +3100,10 @@ function embeddingErrorFrom(response) {
|
|
|
3100
3100
|
const message = typeof response.error === "object" && response.error && "error" in response.error ? response.error.error : "API embedding failed";
|
|
3101
3101
|
return new EmbeddingHttpError(message, response.response?.status);
|
|
3102
3102
|
}
|
|
3103
|
-
async function generateEmbedding(
|
|
3103
|
+
async function generateEmbedding(text12, options) {
|
|
3104
3104
|
const { baseUrl = BASE_URL, getToken, apiKey, model, cache } = options;
|
|
3105
3105
|
if (cache) {
|
|
3106
|
-
const cached = cache.get(
|
|
3106
|
+
const cached = cache.get(text12);
|
|
3107
3107
|
if (cached) return cached;
|
|
3108
3108
|
}
|
|
3109
3109
|
let headers;
|
|
@@ -3124,7 +3124,7 @@ async function generateEmbedding(text11, options) {
|
|
|
3124
3124
|
body: {
|
|
3125
3125
|
// Mask PII from the request body only — the cache above still keys on
|
|
3126
3126
|
// the original `text`, so callers keep their original values.
|
|
3127
|
-
input: options.maskInput ? options.maskInput(
|
|
3127
|
+
input: options.maskInput ? options.maskInput(text12) : text12,
|
|
3128
3128
|
model: model ?? DEFAULT_API_EMBEDDING_MODEL
|
|
3129
3129
|
},
|
|
3130
3130
|
headers
|
|
@@ -3144,7 +3144,7 @@ async function generateEmbedding(text11, options) {
|
|
|
3144
3144
|
});
|
|
3145
3145
|
}
|
|
3146
3146
|
if (cache) {
|
|
3147
|
-
cache.set(
|
|
3147
|
+
cache.set(text12, embedding);
|
|
3148
3148
|
}
|
|
3149
3149
|
return embedding;
|
|
3150
3150
|
}
|
|
@@ -3716,15 +3716,15 @@ var init_redactor = __esm({
|
|
|
3716
3716
|
* (sequential, per-pattern) and the async {@link collectRegexSpans} (span)
|
|
3717
3717
|
* paths so the detection rules live in exactly one place.
|
|
3718
3718
|
*/
|
|
3719
|
-
findMatches(
|
|
3719
|
+
findMatches(text12, pattern) {
|
|
3720
3720
|
const regex = new RegExp(pattern.regex.source, pattern.regex.flags);
|
|
3721
3721
|
const found = [];
|
|
3722
3722
|
let m;
|
|
3723
|
-
while ((m = regex.exec(
|
|
3723
|
+
while ((m = regex.exec(text12)) !== null) {
|
|
3724
3724
|
const value = m[0];
|
|
3725
3725
|
if (pattern.validate && !pattern.validate(value)) continue;
|
|
3726
3726
|
if (pattern.context) {
|
|
3727
|
-
const before =
|
|
3727
|
+
const before = text12.slice(Math.max(0, m.index - 40), m.index);
|
|
3728
3728
|
if (!pattern.context.test(before)) continue;
|
|
3729
3729
|
}
|
|
3730
3730
|
found.push({ match: value, index: m.index });
|
|
@@ -3740,9 +3740,9 @@ var init_redactor = __esm({
|
|
|
3740
3740
|
* earlier patterns, so an earlier (more specific) pattern claims a region
|
|
3741
3741
|
* before a later one can — placeholders are inert and match no pattern.
|
|
3742
3742
|
*/
|
|
3743
|
-
scan(
|
|
3743
|
+
scan(text12, makeReplacement) {
|
|
3744
3744
|
const matches = [];
|
|
3745
|
-
let redacted =
|
|
3745
|
+
let redacted = text12;
|
|
3746
3746
|
for (const pattern of this.patterns) {
|
|
3747
3747
|
const found = this.findMatches(redacted, pattern);
|
|
3748
3748
|
if (found.length === 0) continue;
|
|
@@ -3763,8 +3763,8 @@ var init_redactor = __esm({
|
|
|
3763
3763
|
* Scan and redact PII from a single text string, using numbered, reversible
|
|
3764
3764
|
* placeholders ([EMAIL_1], …) tracked on this instance.
|
|
3765
3765
|
*/
|
|
3766
|
-
redactText(
|
|
3767
|
-
return this.scan(
|
|
3766
|
+
redactText(text12) {
|
|
3767
|
+
return this.scan(text12, (category, value) => this.getPlaceholder(category, value));
|
|
3768
3768
|
}
|
|
3769
3769
|
/**
|
|
3770
3770
|
* Mask PII with unnumbered, NON-reversible tokens ([EMAIL], [SSN], …) without
|
|
@@ -3773,8 +3773,8 @@ var init_redactor = __esm({
|
|
|
3773
3773
|
* embeddings endpoint while staying deterministic, so the same content always
|
|
3774
3774
|
* masks identically and search stays consistent across conversations.
|
|
3775
3775
|
*/
|
|
3776
|
-
maskText(
|
|
3777
|
-
return this.scan(
|
|
3776
|
+
maskText(text12) {
|
|
3777
|
+
return this.scan(text12, (category) => `[${category}]`).text;
|
|
3778
3778
|
}
|
|
3779
3779
|
// ───────────────────────────────────────────────────────────────────────
|
|
3780
3780
|
// Async (regex + NER) path. Mirrors the sync API but additionally folds in
|
|
@@ -3784,10 +3784,10 @@ var init_redactor = __esm({
|
|
|
3784
3784
|
// ───────────────────────────────────────────────────────────────────────
|
|
3785
3785
|
/** All regex matches as spans on the ORIGINAL text (priority 0). Uses the
|
|
3786
3786
|
* same {@link findMatches} guards as the sync scan. */
|
|
3787
|
-
collectRegexSpans(
|
|
3787
|
+
collectRegexSpans(text12) {
|
|
3788
3788
|
const spans = [];
|
|
3789
3789
|
this.patterns.forEach((pattern, patternIndex) => {
|
|
3790
|
-
for (const { match, index } of this.findMatches(
|
|
3790
|
+
for (const { match, index } of this.findMatches(text12, pattern)) {
|
|
3791
3791
|
spans.push({
|
|
3792
3792
|
start: index,
|
|
3793
3793
|
end: index + match.length,
|
|
@@ -3806,16 +3806,16 @@ var init_redactor = __esm({
|
|
|
3806
3806
|
* of "Stripe") from producing a corrupting partial placeholder like
|
|
3807
3807
|
* `[ORG_1]e`.
|
|
3808
3808
|
*/
|
|
3809
|
-
normalizeNerSpans(
|
|
3809
|
+
normalizeNerSpans(text12, raw) {
|
|
3810
3810
|
if (!Array.isArray(raw)) return [];
|
|
3811
3811
|
const out = [];
|
|
3812
3812
|
raw.forEach((s, i) => {
|
|
3813
3813
|
if (!Number.isFinite(s.start) || !Number.isFinite(s.end)) return;
|
|
3814
|
-
let start = Math.max(0, Math.min(Math.trunc(s.start),
|
|
3815
|
-
let end = Math.max(0, Math.min(Math.trunc(s.end),
|
|
3814
|
+
let start = Math.max(0, Math.min(Math.trunc(s.start), text12.length));
|
|
3815
|
+
let end = Math.max(0, Math.min(Math.trunc(s.end), text12.length));
|
|
3816
3816
|
if (end <= start) return;
|
|
3817
|
-
while (start > 0 && isWordChar(
|
|
3818
|
-
while (end <
|
|
3817
|
+
while (start > 0 && isWordChar(text12[start - 1])) start--;
|
|
3818
|
+
while (end < text12.length && isWordChar(text12[end])) end++;
|
|
3819
3819
|
const category = String(s.category ?? "").trim();
|
|
3820
3820
|
if (!category) return;
|
|
3821
3821
|
out.push({ start, end, category, priority: 1, order: i });
|
|
@@ -3824,10 +3824,10 @@ var init_redactor = __esm({
|
|
|
3824
3824
|
}
|
|
3825
3825
|
/** Run the configured detector defensively: failures degrade to regex-only
|
|
3826
3826
|
* (fail-open on detection, not on protection) with a one-time warning. */
|
|
3827
|
-
async detectNerSpans(
|
|
3827
|
+
async detectNerSpans(text12) {
|
|
3828
3828
|
if (!this.nerDetector) return [];
|
|
3829
3829
|
try {
|
|
3830
|
-
return this.normalizeNerSpans(
|
|
3830
|
+
return this.normalizeNerSpans(text12, await this.nerDetector.detect(text12));
|
|
3831
3831
|
} catch (err) {
|
|
3832
3832
|
this.warnNerFailure(err);
|
|
3833
3833
|
return [];
|
|
@@ -3860,11 +3860,11 @@ var init_redactor = __esm({
|
|
|
3860
3860
|
* in pattern then document order, matching the sync scan's numbering). The
|
|
3861
3861
|
* string is then EMITTED in document order.
|
|
3862
3862
|
*/
|
|
3863
|
-
rebuildSpans(
|
|
3863
|
+
rebuildSpans(text12, spans, makeReplacement) {
|
|
3864
3864
|
const placeholderByStart = /* @__PURE__ */ new Map();
|
|
3865
3865
|
const matches = [];
|
|
3866
3866
|
for (const s of spans) {
|
|
3867
|
-
const value =
|
|
3867
|
+
const value = text12.slice(s.start, s.end);
|
|
3868
3868
|
const placeholder = makeReplacement(s.category, value);
|
|
3869
3869
|
placeholderByStart.set(s.start, placeholder);
|
|
3870
3870
|
matches.push({ category: s.category, original: value, placeholder });
|
|
@@ -3873,16 +3873,16 @@ var init_redactor = __esm({
|
|
|
3873
3873
|
let result = "";
|
|
3874
3874
|
let cursor = 0;
|
|
3875
3875
|
for (const s of emitOrder) {
|
|
3876
|
-
result +=
|
|
3876
|
+
result += text12.slice(cursor, s.start) + (placeholderByStart.get(s.start) ?? "");
|
|
3877
3877
|
cursor = s.end;
|
|
3878
3878
|
}
|
|
3879
|
-
result +=
|
|
3879
|
+
result += text12.slice(cursor);
|
|
3880
3880
|
return { text: result, matches };
|
|
3881
3881
|
}
|
|
3882
3882
|
/** Merge regex + NER spans for `text` into a resolved, non-overlapping set. */
|
|
3883
|
-
async detectAllSpans(
|
|
3884
|
-
const nerPromise = this.detectNerSpans(
|
|
3885
|
-
const regexSpans = this.collectRegexSpans(
|
|
3883
|
+
async detectAllSpans(text12) {
|
|
3884
|
+
const nerPromise = this.detectNerSpans(text12);
|
|
3885
|
+
const regexSpans = this.collectRegexSpans(text12);
|
|
3886
3886
|
const ner = await nerPromise;
|
|
3887
3887
|
return this.resolveOverlaps([...regexSpans, ...ner]);
|
|
3888
3888
|
}
|
|
@@ -3891,11 +3891,11 @@ var init_redactor = __esm({
|
|
|
3891
3891
|
* unstructured PII (the configured {@link NerDetector}) with numbered,
|
|
3892
3892
|
* reversible placeholders. With no detector, identical to `redactText`.
|
|
3893
3893
|
*/
|
|
3894
|
-
async redactTextAsync(
|
|
3895
|
-
if (!this.nerDetector) return this.redactText(
|
|
3896
|
-
const spans = await this.detectAllSpans(
|
|
3894
|
+
async redactTextAsync(text12) {
|
|
3895
|
+
if (!this.nerDetector) return this.redactText(text12);
|
|
3896
|
+
const spans = await this.detectAllSpans(text12);
|
|
3897
3897
|
return this.rebuildSpans(
|
|
3898
|
-
|
|
3898
|
+
text12,
|
|
3899
3899
|
spans,
|
|
3900
3900
|
(category, value) => this.getPlaceholder(category, value)
|
|
3901
3901
|
);
|
|
@@ -3904,10 +3904,10 @@ var init_redactor = __esm({
|
|
|
3904
3904
|
* Async counterpart to {@link maskText}: stateless `[CATEGORY]` masking over
|
|
3905
3905
|
* regex + NER matches. With no detector, identical to `maskText`.
|
|
3906
3906
|
*/
|
|
3907
|
-
async maskTextAsync(
|
|
3908
|
-
if (!this.nerDetector) return this.maskText(
|
|
3909
|
-
const spans = await this.detectAllSpans(
|
|
3910
|
-
return this.rebuildSpans(
|
|
3907
|
+
async maskTextAsync(text12) {
|
|
3908
|
+
if (!this.nerDetector) return this.maskText(text12);
|
|
3909
|
+
const spans = await this.detectAllSpans(text12);
|
|
3910
|
+
return this.rebuildSpans(text12, spans, (category) => `[${category}]`).text;
|
|
3911
3911
|
}
|
|
3912
3912
|
/**
|
|
3913
3913
|
* Async counterpart to {@link redactMessages}. Text parts are redacted
|
|
@@ -3993,9 +3993,9 @@ var init_redactor = __esm({
|
|
|
3993
3993
|
* {@link restoreForStorage} instead, which tolerates the mangled echoes the
|
|
3994
3994
|
* extraction models produce.
|
|
3995
3995
|
*/
|
|
3996
|
-
deAnonymize(
|
|
3997
|
-
if (!
|
|
3998
|
-
let restored =
|
|
3996
|
+
deAnonymize(text12) {
|
|
3997
|
+
if (!text12.includes("[")) return text12;
|
|
3998
|
+
let restored = text12;
|
|
3999
3999
|
for (const [placeholder, original] of this.placeholderToValue) {
|
|
4000
4000
|
if (restored.includes(placeholder)) {
|
|
4001
4001
|
restored = restored.split(placeholder).join(original);
|
|
@@ -4020,15 +4020,15 @@ var init_redactor = __esm({
|
|
|
4020
4020
|
* - `unresolved` is derived from the lookup miss during this pass, not from a
|
|
4021
4021
|
* regex re-scan of the output — so it can't trip over a restored value.
|
|
4022
4022
|
*/
|
|
4023
|
-
restoreForStorage(
|
|
4023
|
+
restoreForStorage(text12) {
|
|
4024
4024
|
if (this.storagePattern === void 0) this.storagePattern = this.buildStoragePattern();
|
|
4025
4025
|
if (!this.storagePattern || this.placeholderToValue.size === 0) {
|
|
4026
|
-
return { text:
|
|
4026
|
+
return { text: text12, unresolved: false };
|
|
4027
4027
|
}
|
|
4028
4028
|
this.storageLookup ?? (this.storageLookup = this.buildStorageLookup());
|
|
4029
4029
|
const { exact, ci, ciCollisions } = this.storageLookup;
|
|
4030
4030
|
let unresolved = false;
|
|
4031
|
-
const restored =
|
|
4031
|
+
const restored = text12.replace(
|
|
4032
4032
|
this.storagePattern,
|
|
4033
4033
|
(match, bracketed, bare) => {
|
|
4034
4034
|
const body = bracketed ?? bare ?? "";
|
|
@@ -5138,8 +5138,8 @@ var init_rrf = __esm({
|
|
|
5138
5138
|
});
|
|
5139
5139
|
|
|
5140
5140
|
// src/lib/memoryVault/bm25.ts
|
|
5141
|
-
function tokenize(
|
|
5142
|
-
const m =
|
|
5141
|
+
function tokenize(text12) {
|
|
5142
|
+
const m = text12.toLowerCase().match(TOKEN_RE);
|
|
5143
5143
|
if (!m) return [];
|
|
5144
5144
|
return m.filter((t) => !STOPWORDS.has(t));
|
|
5145
5145
|
}
|
|
@@ -6972,6 +6972,7 @@ __export(index_exports, {
|
|
|
6972
6972
|
ChartTooltipContent: () => ChartTooltipContent,
|
|
6973
6973
|
ChatConversation: () => Conversation,
|
|
6974
6974
|
ChatMessage: () => Message,
|
|
6975
|
+
ConversationMemoryModel: () => ConversationMemory,
|
|
6975
6976
|
DEFAULT_BACKUP_FOLDER: () => DEFAULT_BACKUP_FOLDER,
|
|
6976
6977
|
DEFAULT_CACHE_EXPIRATION_MS: () => DEFAULT_CACHE_EXPIRATION_MS,
|
|
6977
6978
|
DEFAULT_CHUNK_OVERLAP: () => DEFAULT_CHUNK_OVERLAP,
|
|
@@ -7026,6 +7027,7 @@ __export(index_exports, {
|
|
|
7026
7027
|
WatermelonChatStorageAdapter: () => WatermelonChatStorageAdapter,
|
|
7027
7028
|
WordProcessor: () => WordProcessor,
|
|
7028
7029
|
ZipProcessor: () => ZipProcessor,
|
|
7030
|
+
addConversationMemoriesOp: () => addConversationMemoriesOp,
|
|
7029
7031
|
appFileToStored: () => appFileToStored,
|
|
7030
7032
|
backfillMemoryEntityUserIdsOp: () => backfillMemoryEntityUserIdsOp,
|
|
7031
7033
|
chatStorageMigrations: () => chatStorageMigrations,
|
|
@@ -7045,6 +7047,7 @@ __export(index_exports, {
|
|
|
7045
7047
|
clearAllEncryptionState: () => clearAllEncryptionState,
|
|
7046
7048
|
clearAllKeyPairs: () => clearAllKeyPairs,
|
|
7047
7049
|
clearCalendarToken: () => clearCalendarToken,
|
|
7050
|
+
clearConversationMemoriesOp: () => clearConversationMemoriesOp,
|
|
7048
7051
|
clearDriveToken: () => clearDriveToken,
|
|
7049
7052
|
clearDropboxToken: () => clearToken,
|
|
7050
7053
|
clearEncryptionKey: () => clearEncryptionKey,
|
|
@@ -7057,6 +7060,7 @@ __export(index_exports, {
|
|
|
7057
7060
|
clearNotionToken: () => clearNotionToken,
|
|
7058
7061
|
clearServerToolsCache: () => clearServerToolsCache,
|
|
7059
7062
|
consoleLogger: () => consoleLogger,
|
|
7063
|
+
conversationMemoryToStored: () => conversationMemoryToStored,
|
|
7060
7064
|
cosineInt8: () => cosineInt8,
|
|
7061
7065
|
createAutoExtractor: () => createAutoExtractor,
|
|
7062
7066
|
createCryptoPricePreProcessor: () => createCryptoPricePreProcessor,
|
|
@@ -7139,6 +7143,7 @@ __export(index_exports, {
|
|
|
7139
7143
|
getAudioOp: () => getAudioOp,
|
|
7140
7144
|
getCachedServerTools: () => getCachedServerTools,
|
|
7141
7145
|
getCalendarAccessToken: () => getCalendarAccessToken,
|
|
7146
|
+
getConversationMemoriesOp: () => getConversationMemoriesOp,
|
|
7142
7147
|
getConversationsByProjectLazyOp: () => getConversationsByProjectLazyOp,
|
|
7143
7148
|
getConversationsByProjectOp: () => getConversationsByProjectOp,
|
|
7144
7149
|
getConversationsLazyOp: () => getConversationsLazyOp,
|
|
@@ -9192,13 +9197,13 @@ var StreamSmoother = class {
|
|
|
9192
9197
|
/**
|
|
9193
9198
|
* Add text to the buffer. If smoothing is disabled, passes through immediately.
|
|
9194
9199
|
*/
|
|
9195
|
-
push(
|
|
9196
|
-
if (this.destroyed || !
|
|
9200
|
+
push(text12) {
|
|
9201
|
+
if (this.destroyed || !text12) return;
|
|
9197
9202
|
if (!this.enabled) {
|
|
9198
|
-
this.callback(
|
|
9203
|
+
this.callback(text12);
|
|
9199
9204
|
return;
|
|
9200
9205
|
}
|
|
9201
|
-
this.buffer +=
|
|
9206
|
+
this.buffer += text12;
|
|
9202
9207
|
this.ensureTimer();
|
|
9203
9208
|
}
|
|
9204
9209
|
/**
|
|
@@ -9209,9 +9214,9 @@ var StreamSmoother = class {
|
|
|
9209
9214
|
if (this.destroyed) return;
|
|
9210
9215
|
this.stopTimer();
|
|
9211
9216
|
if (this.buffer.length > 0) {
|
|
9212
|
-
const
|
|
9217
|
+
const text12 = this.buffer;
|
|
9213
9218
|
this.buffer = "";
|
|
9214
|
-
this.callback(
|
|
9219
|
+
this.callback(text12);
|
|
9215
9220
|
}
|
|
9216
9221
|
this.resolveDrain();
|
|
9217
9222
|
}
|
|
@@ -9278,9 +9283,9 @@ var StreamSmoother = class {
|
|
|
9278
9283
|
const currentSpeed = this.getCurrentSpeed(elapsed);
|
|
9279
9284
|
const charsThisTick = Math.max(1, Math.round(currentSpeed * (TICK_INTERVAL / 1e3)));
|
|
9280
9285
|
const toRelease = Math.min(charsThisTick, this.buffer.length);
|
|
9281
|
-
const
|
|
9286
|
+
const text12 = this.buffer.slice(0, toRelease);
|
|
9282
9287
|
this.buffer = this.buffer.slice(toRelease);
|
|
9283
|
-
this.callback(
|
|
9288
|
+
this.callback(text12);
|
|
9284
9289
|
if (this.buffer.length === 0) {
|
|
9285
9290
|
this.stopTimer();
|
|
9286
9291
|
this.resolveDrain();
|
|
@@ -9642,9 +9647,9 @@ async function runToolLoop(options) {
|
|
|
9642
9647
|
messages = await redactBatch(messages);
|
|
9643
9648
|
if (preProcessors?.length) {
|
|
9644
9649
|
try {
|
|
9645
|
-
const
|
|
9646
|
-
if (
|
|
9647
|
-
const embedding = await generateEmbedding(
|
|
9650
|
+
const text12 = extractLastUserText(messages);
|
|
9651
|
+
if (text12.length > 0) {
|
|
9652
|
+
const embedding = await generateEmbedding(text12, {
|
|
9648
9653
|
apiKey: headers?.["X-API-Key"],
|
|
9649
9654
|
getToken: token ? () => Promise.resolve(token) : void 0,
|
|
9650
9655
|
baseUrl
|
|
@@ -9652,7 +9657,7 @@ async function runToolLoop(options) {
|
|
|
9652
9657
|
const results = await Promise.all(
|
|
9653
9658
|
preProcessors.map(async (p) => {
|
|
9654
9659
|
try {
|
|
9655
|
-
return await p({ prompt:
|
|
9660
|
+
return await p({ prompt: text12, embedding, signal: combinedSignal });
|
|
9656
9661
|
} catch (err) {
|
|
9657
9662
|
console.warn("[runToolLoop] pre-processor failed:", err);
|
|
9658
9663
|
return void 0;
|
|
@@ -9805,11 +9810,11 @@ async function runToolLoop(options) {
|
|
|
9805
9810
|
}
|
|
9806
9811
|
});
|
|
9807
9812
|
accumulator = createStreamAccumulator(model || void 0);
|
|
9808
|
-
contentSmoother = new StreamSmoother((
|
|
9809
|
-
if (emitData) emitData(
|
|
9813
|
+
contentSmoother = new StreamSmoother((text12) => {
|
|
9814
|
+
if (emitData) emitData(text12);
|
|
9810
9815
|
}, smoothing);
|
|
9811
|
-
thinkingSmoother = new StreamSmoother((
|
|
9812
|
-
if (emitThinking) emitThinking(
|
|
9816
|
+
thinkingSmoother = new StreamSmoother((text12) => {
|
|
9817
|
+
if (emitThinking) emitThinking(text12);
|
|
9813
9818
|
}, smoothing);
|
|
9814
9819
|
let chunksEmittedDownstream = false;
|
|
9815
9820
|
try {
|
|
@@ -10277,11 +10282,11 @@ Executing tool: ${toolInfo}
|
|
|
10277
10282
|
}
|
|
10278
10283
|
});
|
|
10279
10284
|
currentAccumulator = createStreamAccumulator(model || void 0);
|
|
10280
|
-
contContentSmoother = new StreamSmoother((
|
|
10281
|
-
if (emitData) emitData(
|
|
10285
|
+
contContentSmoother = new StreamSmoother((text12) => {
|
|
10286
|
+
if (emitData) emitData(text12);
|
|
10282
10287
|
}, smoothing);
|
|
10283
|
-
contThinkingSmoother = new StreamSmoother((
|
|
10284
|
-
if (emitThinking) emitThinking(
|
|
10288
|
+
contThinkingSmoother = new StreamSmoother((text12) => {
|
|
10289
|
+
if (emitThinking) emitThinking(text12);
|
|
10285
10290
|
}, smoothing);
|
|
10286
10291
|
let chunksEmittedDownstream = false;
|
|
10287
10292
|
try {
|
|
@@ -10483,11 +10488,11 @@ async function resumeStream(options) {
|
|
|
10483
10488
|
} = options;
|
|
10484
10489
|
const strategy = getStrategy(handle.apiType);
|
|
10485
10490
|
const accumulator = createStreamAccumulator(handle.model || void 0);
|
|
10486
|
-
const contentSmoother = new StreamSmoother((
|
|
10487
|
-
if (onData) onData(
|
|
10491
|
+
const contentSmoother = new StreamSmoother((text12) => {
|
|
10492
|
+
if (onData) onData(text12);
|
|
10488
10493
|
}, smoothing);
|
|
10489
|
-
const thinkingSmoother = new StreamSmoother((
|
|
10490
|
-
if (onThinking) onThinking(
|
|
10494
|
+
const thinkingSmoother = new StreamSmoother((text12) => {
|
|
10495
|
+
if (onThinking) onThinking(text12);
|
|
10491
10496
|
}, smoothing);
|
|
10492
10497
|
const idleController = new AbortController();
|
|
10493
10498
|
let watchdog;
|
|
@@ -10821,10 +10826,10 @@ var cryptoPriceCentroid = [0.025576787463333337, 0.0017598020599999997, -0.01339
|
|
|
10821
10826
|
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];
|
|
10822
10827
|
|
|
10823
10828
|
// src/lib/chat/preProcessor.ts
|
|
10824
|
-
function wrapAsUserText(prefix,
|
|
10825
|
-
if (!
|
|
10829
|
+
function wrapAsUserText(prefix, text12) {
|
|
10830
|
+
if (!text12 || !text12.trim()) return [];
|
|
10826
10831
|
return [{ role: "user", content: [{ type: "text", text: `${prefix}
|
|
10827
|
-
${
|
|
10832
|
+
${text12}` }] }];
|
|
10828
10833
|
}
|
|
10829
10834
|
|
|
10830
10835
|
// src/lib/chat/preProcessorMath.ts
|
|
@@ -12056,9 +12061,9 @@ New lines of conversation:
|
|
|
12056
12061
|
{new_lines}
|
|
12057
12062
|
|
|
12058
12063
|
New summary:`;
|
|
12059
|
-
function estimateTokens(
|
|
12060
|
-
if (!
|
|
12061
|
-
return Math.ceil(
|
|
12064
|
+
function estimateTokens(text12) {
|
|
12065
|
+
if (!text12) return 0;
|
|
12066
|
+
return Math.ceil(text12.length / 4);
|
|
12062
12067
|
}
|
|
12063
12068
|
var PER_MESSAGE_OVERHEAD_TOKENS = 4;
|
|
12064
12069
|
var MAX_MESSAGES_PER_SUMMARIZATION = 20;
|
|
@@ -12118,14 +12123,14 @@ function splitMessagesAtThreshold(messages, tokenThreshold, minWindowMessages) {
|
|
|
12118
12123
|
}
|
|
12119
12124
|
async function redactSummaryPrompt(prompt, redactor, onPiiRedacted) {
|
|
12120
12125
|
if (!redactor) return prompt;
|
|
12121
|
-
const { text:
|
|
12126
|
+
const { text: text12, matches } = await redactor.redactTextAsync(prompt);
|
|
12122
12127
|
if (matches.length > 0 && onPiiRedacted) {
|
|
12123
12128
|
try {
|
|
12124
12129
|
onPiiRedacted(matches);
|
|
12125
12130
|
} catch {
|
|
12126
12131
|
}
|
|
12127
12132
|
}
|
|
12128
|
-
return
|
|
12133
|
+
return text12;
|
|
12129
12134
|
}
|
|
12130
12135
|
async function progressiveSummarize(options) {
|
|
12131
12136
|
const {
|
|
@@ -13157,8 +13162,8 @@ function parseAmzDate(raw) {
|
|
|
13157
13162
|
const match = raw.match(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/);
|
|
13158
13163
|
if (!match) return null;
|
|
13159
13164
|
const [, y, mo, d, h, mi, s] = match;
|
|
13160
|
-
const
|
|
13161
|
-
return isNaN(
|
|
13165
|
+
const date10 = /* @__PURE__ */ new Date(`${y}-${mo}-${d}T${h}:${mi}:${s}Z`);
|
|
13166
|
+
return isNaN(date10.getTime()) ? null : date10;
|
|
13162
13167
|
}
|
|
13163
13168
|
function isR2UrlExpired(sourceUrl, createdAt) {
|
|
13164
13169
|
try {
|
|
@@ -14460,7 +14465,7 @@ function createAutoExtractor(options) {
|
|
|
14460
14465
|
...options.retainCtx,
|
|
14461
14466
|
embeddingOptions: {
|
|
14462
14467
|
...options.retainCtx.embeddingOptions,
|
|
14463
|
-
maskInput: (
|
|
14468
|
+
maskInput: (text12) => piiRedactor.maskText(text12)
|
|
14464
14469
|
}
|
|
14465
14470
|
} : options.retainCtx;
|
|
14466
14471
|
function processTurn(messages, conversationId) {
|
|
@@ -14585,9 +14590,9 @@ function formatRecallResult(memories) {
|
|
|
14585
14590
|
return `[${i + 1}] fact (id: ${m.id}${eventSuffix})
|
|
14586
14591
|
${m.content}`;
|
|
14587
14592
|
}
|
|
14588
|
-
const
|
|
14593
|
+
const date10 = m.createdAt.toISOString().slice(0, 10);
|
|
14589
14594
|
const who = m.role === "assistant" ? "assistant" : "user";
|
|
14590
|
-
return `[${i + 1}] conversation excerpt (${who}, ${
|
|
14595
|
+
return `[${i + 1}] conversation excerpt (${who}, ${date10})
|
|
14591
14596
|
${m.content}`;
|
|
14592
14597
|
});
|
|
14593
14598
|
return `Found ${memories.length} relevant memories:
|
|
@@ -14787,19 +14792,19 @@ function parseAnswer(body, base, parseSchema) {
|
|
|
14787
14792
|
if (typeof body !== "object" || body === null) return base;
|
|
14788
14793
|
const obj = body;
|
|
14789
14794
|
const choices = obj.choices;
|
|
14790
|
-
let
|
|
14795
|
+
let text12 = "";
|
|
14791
14796
|
if (Array.isArray(choices) && choices.length > 0) {
|
|
14792
14797
|
const message = choices[0].message;
|
|
14793
14798
|
if (typeof message === "object" && message !== null) {
|
|
14794
14799
|
const content = message.content;
|
|
14795
|
-
if (typeof content === "string")
|
|
14800
|
+
if (typeof content === "string") text12 = content;
|
|
14796
14801
|
}
|
|
14797
14802
|
}
|
|
14798
14803
|
const usage = obj.usage;
|
|
14799
14804
|
let structuredOutput;
|
|
14800
|
-
if (parseSchema &&
|
|
14805
|
+
if (parseSchema && text12) {
|
|
14801
14806
|
try {
|
|
14802
|
-
structuredOutput = JSON.parse(extractJsonCandidate(
|
|
14807
|
+
structuredOutput = JSON.parse(extractJsonCandidate(text12));
|
|
14803
14808
|
} catch (err) {
|
|
14804
14809
|
getLogger().warn("[memory/reflect] structured output was not valid JSON", {
|
|
14805
14810
|
err: err instanceof Error ? err.message : String(err)
|
|
@@ -14807,7 +14812,7 @@ function parseAnswer(body, base, parseSchema) {
|
|
|
14807
14812
|
}
|
|
14808
14813
|
}
|
|
14809
14814
|
return {
|
|
14810
|
-
text:
|
|
14815
|
+
text: text12,
|
|
14811
14816
|
...structuredOutput !== void 0 && { structuredOutput },
|
|
14812
14817
|
basedOn: base.basedOn,
|
|
14813
14818
|
usage: {
|
|
@@ -15360,10 +15365,10 @@ var PdfProcessor = class {
|
|
|
15360
15365
|
async process(file) {
|
|
15361
15366
|
const logger = getLogger();
|
|
15362
15367
|
try {
|
|
15363
|
-
const
|
|
15364
|
-
if (
|
|
15368
|
+
const text12 = await extractTextFromPdf(file.dataUrl);
|
|
15369
|
+
if (text12 && text12.trim().length > 0) {
|
|
15365
15370
|
return {
|
|
15366
|
-
extractedText:
|
|
15371
|
+
extractedText: text12,
|
|
15367
15372
|
format: "plain"
|
|
15368
15373
|
};
|
|
15369
15374
|
}
|
|
@@ -15446,16 +15451,16 @@ var TextProcessor = class {
|
|
|
15446
15451
|
async process(file) {
|
|
15447
15452
|
try {
|
|
15448
15453
|
const arrayBuffer = await dataUrlToArrayBuffer(file.dataUrl);
|
|
15449
|
-
const
|
|
15450
|
-
if (!
|
|
15454
|
+
const text12 = new TextDecoder("utf-8", { fatal: false }).decode(arrayBuffer);
|
|
15455
|
+
if (!text12.trim()) {
|
|
15451
15456
|
return null;
|
|
15452
15457
|
}
|
|
15453
15458
|
return {
|
|
15454
|
-
extractedText:
|
|
15459
|
+
extractedText: text12,
|
|
15455
15460
|
format: this.resolveFormat(file),
|
|
15456
15461
|
metadata: {
|
|
15457
15462
|
byteLength: arrayBuffer.byteLength,
|
|
15458
|
-
characterCount:
|
|
15463
|
+
characterCount: text12.length
|
|
15459
15464
|
}
|
|
15460
15465
|
};
|
|
15461
15466
|
} catch (error) {
|
|
@@ -15519,8 +15524,8 @@ var WordProcessor = class {
|
|
|
15519
15524
|
/**
|
|
15520
15525
|
* Count words in text
|
|
15521
15526
|
*/
|
|
15522
|
-
countWords(
|
|
15523
|
-
return
|
|
15527
|
+
countWords(text12) {
|
|
15528
|
+
return text12.split(/\s+/).filter((w) => w.length > 0).length;
|
|
15524
15529
|
}
|
|
15525
15530
|
};
|
|
15526
15531
|
|
|
@@ -17444,11 +17449,11 @@ function useChatStorage(options) {
|
|
|
17444
17449
|
[piiRedaction, currentConversationId]
|
|
17445
17450
|
);
|
|
17446
17451
|
const maskForEmbedding = (0, import_react5.useCallback)(
|
|
17447
|
-
(
|
|
17452
|
+
(text12) => isPiiRedactor(resolvedPiiRedaction) ? resolvedPiiRedaction.maskText(text12) : text12,
|
|
17448
17453
|
[resolvedPiiRedaction]
|
|
17449
17454
|
);
|
|
17450
17455
|
const maskEmbeddingInput = (0, import_react5.useMemo)(
|
|
17451
|
-
() => isPiiRedactor(resolvedPiiRedaction) ? (
|
|
17456
|
+
() => isPiiRedactor(resolvedPiiRedaction) ? (text12) => resolvedPiiRedaction.maskText(text12) : void 0,
|
|
17452
17457
|
[resolvedPiiRedaction]
|
|
17453
17458
|
);
|
|
17454
17459
|
const vaultEmbeddingOptions = (0, import_react5.useMemo)(
|
|
@@ -18144,7 +18149,7 @@ function useChatStorage(options) {
|
|
|
18144
18149
|
return {
|
|
18145
18150
|
callRedactor: redactor,
|
|
18146
18151
|
callPiiRedaction: forInnerSend,
|
|
18147
|
-
maskForCall: (
|
|
18152
|
+
maskForCall: (text12) => redactor ? redactor.maskText(text12) : text12
|
|
18148
18153
|
};
|
|
18149
18154
|
};
|
|
18150
18155
|
const resolveThoughtProcess = () => finalizeThoughtProcess(getThoughtProcess?.() || thoughtProcess);
|
|
@@ -18969,7 +18974,7 @@ Based on these results, continue with the task.`;
|
|
|
18969
18974
|
}
|
|
18970
18975
|
|
|
18971
18976
|
// src/lib/db/schema.ts
|
|
18972
|
-
var
|
|
18977
|
+
var import_watermelondb20 = require("@nozbe/watermelondb");
|
|
18973
18978
|
var import_migrations2 = require("@nozbe/watermelondb/Schema/migrations");
|
|
18974
18979
|
|
|
18975
18980
|
// src/lib/db/appFiles/models.ts
|
|
@@ -18996,184 +19001,205 @@ __decorateClass([
|
|
|
18996
19001
|
(0, import_decorators4.date)("updated_at")
|
|
18997
19002
|
], AppFile.prototype, "updatedAt", 2);
|
|
18998
19003
|
|
|
18999
|
-
// src/lib/db/
|
|
19004
|
+
// src/lib/db/conversationMemory/models.ts
|
|
19000
19005
|
var import_watermelondb13 = require("@nozbe/watermelondb");
|
|
19001
19006
|
var import_decorators5 = require("@nozbe/watermelondb/decorators");
|
|
19002
|
-
var
|
|
19007
|
+
var ConversationMemory = class extends import_watermelondb13.Model {
|
|
19008
|
+
};
|
|
19009
|
+
ConversationMemory.table = "conversation_memory";
|
|
19010
|
+
ConversationMemory.associations = {};
|
|
19011
|
+
__decorateClass([
|
|
19012
|
+
(0, import_decorators5.text)("conversation_id")
|
|
19013
|
+
], ConversationMemory.prototype, "conversationId", 2);
|
|
19014
|
+
__decorateClass([
|
|
19015
|
+
(0, import_decorators5.text)("memory_id")
|
|
19016
|
+
], ConversationMemory.prototype, "memoryId", 2);
|
|
19017
|
+
__decorateClass([
|
|
19018
|
+
(0, import_decorators5.field)("score")
|
|
19019
|
+
], ConversationMemory.prototype, "score", 2);
|
|
19020
|
+
__decorateClass([
|
|
19021
|
+
import_decorators5.readonly,
|
|
19022
|
+
(0, import_decorators5.date)("created_at")
|
|
19023
|
+
], ConversationMemory.prototype, "createdAt", 2);
|
|
19024
|
+
|
|
19025
|
+
// src/lib/db/entities/models.ts
|
|
19026
|
+
var import_watermelondb14 = require("@nozbe/watermelondb");
|
|
19027
|
+
var import_decorators6 = require("@nozbe/watermelondb/decorators");
|
|
19028
|
+
var Entity = class extends import_watermelondb14.Model {
|
|
19003
19029
|
};
|
|
19004
19030
|
Entity.table = "entity";
|
|
19005
19031
|
__decorateClass([
|
|
19006
|
-
(0,
|
|
19032
|
+
(0, import_decorators6.text)("canonical_name")
|
|
19007
19033
|
], Entity.prototype, "canonicalName", 2);
|
|
19008
19034
|
__decorateClass([
|
|
19009
|
-
(0,
|
|
19035
|
+
(0, import_decorators6.field)("kind")
|
|
19010
19036
|
], Entity.prototype, "kind", 2);
|
|
19011
19037
|
__decorateClass([
|
|
19012
|
-
|
|
19013
|
-
(0,
|
|
19038
|
+
import_decorators6.readonly,
|
|
19039
|
+
(0, import_decorators6.date)("created_at")
|
|
19014
19040
|
], Entity.prototype, "createdAt", 2);
|
|
19015
19041
|
__decorateClass([
|
|
19016
|
-
(0,
|
|
19042
|
+
(0, import_decorators6.date)("updated_at")
|
|
19017
19043
|
], Entity.prototype, "updatedAt", 2);
|
|
19018
|
-
var MemoryEntity = class extends
|
|
19044
|
+
var MemoryEntity = class extends import_watermelondb14.Model {
|
|
19019
19045
|
};
|
|
19020
19046
|
MemoryEntity.table = "memory_entity";
|
|
19021
19047
|
__decorateClass([
|
|
19022
|
-
(0,
|
|
19048
|
+
(0, import_decorators6.text)("memory_id")
|
|
19023
19049
|
], MemoryEntity.prototype, "memoryId", 2);
|
|
19024
19050
|
__decorateClass([
|
|
19025
|
-
(0,
|
|
19051
|
+
(0, import_decorators6.text)("entity_id")
|
|
19026
19052
|
], MemoryEntity.prototype, "entityId", 2);
|
|
19027
19053
|
__decorateClass([
|
|
19028
|
-
(0,
|
|
19054
|
+
(0, import_decorators6.field)("user_id")
|
|
19029
19055
|
], MemoryEntity.prototype, "userId", 2);
|
|
19030
19056
|
__decorateClass([
|
|
19031
|
-
|
|
19032
|
-
(0,
|
|
19057
|
+
import_decorators6.readonly,
|
|
19058
|
+
(0, import_decorators6.date)("created_at")
|
|
19033
19059
|
], MemoryEntity.prototype, "createdAt", 2);
|
|
19034
19060
|
|
|
19035
19061
|
// src/lib/db/project/models.ts
|
|
19036
|
-
var
|
|
19037
|
-
var
|
|
19038
|
-
var Project = class extends
|
|
19062
|
+
var import_watermelondb15 = require("@nozbe/watermelondb");
|
|
19063
|
+
var import_decorators7 = require("@nozbe/watermelondb/decorators");
|
|
19064
|
+
var Project = class extends import_watermelondb15.Model {
|
|
19039
19065
|
};
|
|
19040
19066
|
Project.table = "projects";
|
|
19041
19067
|
Project.associations = {
|
|
19042
19068
|
conversations: { type: "has_many", foreignKey: "project_id" }
|
|
19043
19069
|
};
|
|
19044
19070
|
__decorateClass([
|
|
19045
|
-
(0,
|
|
19071
|
+
(0, import_decorators7.text)("project_id")
|
|
19046
19072
|
], Project.prototype, "projectId", 2);
|
|
19047
19073
|
__decorateClass([
|
|
19048
|
-
(0,
|
|
19074
|
+
(0, import_decorators7.text)("name")
|
|
19049
19075
|
], Project.prototype, "name", 2);
|
|
19050
19076
|
__decorateClass([
|
|
19051
|
-
(0,
|
|
19077
|
+
(0, import_decorators7.date)("created_at")
|
|
19052
19078
|
], Project.prototype, "createdAt", 2);
|
|
19053
19079
|
__decorateClass([
|
|
19054
|
-
(0,
|
|
19080
|
+
(0, import_decorators7.date)("updated_at")
|
|
19055
19081
|
], Project.prototype, "updatedAt", 2);
|
|
19056
19082
|
__decorateClass([
|
|
19057
|
-
(0,
|
|
19083
|
+
(0, import_decorators7.field)("is_deleted")
|
|
19058
19084
|
], Project.prototype, "isDeleted", 2);
|
|
19059
19085
|
|
|
19060
19086
|
// src/lib/db/savedTools/models.ts
|
|
19061
|
-
var
|
|
19062
|
-
var
|
|
19087
|
+
var import_watermelondb16 = require("@nozbe/watermelondb");
|
|
19088
|
+
var import_decorators8 = require("@nozbe/watermelondb/decorators");
|
|
19063
19089
|
var sanitizeParameters = (raw) => raw ?? {};
|
|
19064
|
-
var SavedTool = class extends
|
|
19090
|
+
var SavedTool = class extends import_watermelondb16.Model {
|
|
19065
19091
|
};
|
|
19066
19092
|
SavedTool.table = "saved_tools";
|
|
19067
19093
|
SavedTool.associations = {};
|
|
19068
19094
|
__decorateClass([
|
|
19069
|
-
(0,
|
|
19095
|
+
(0, import_decorators8.text)("name")
|
|
19070
19096
|
], SavedTool.prototype, "name", 2);
|
|
19071
19097
|
__decorateClass([
|
|
19072
|
-
(0,
|
|
19098
|
+
(0, import_decorators8.text)("display_name")
|
|
19073
19099
|
], SavedTool.prototype, "displayName", 2);
|
|
19074
19100
|
__decorateClass([
|
|
19075
|
-
(0,
|
|
19101
|
+
(0, import_decorators8.text)("description")
|
|
19076
19102
|
], SavedTool.prototype, "description", 2);
|
|
19077
19103
|
__decorateClass([
|
|
19078
|
-
(0,
|
|
19104
|
+
(0, import_decorators8.json)("parameters", sanitizeParameters)
|
|
19079
19105
|
], SavedTool.prototype, "parameters", 2);
|
|
19080
19106
|
__decorateClass([
|
|
19081
|
-
(0,
|
|
19107
|
+
(0, import_decorators8.text)("html")
|
|
19082
19108
|
], SavedTool.prototype, "html", 2);
|
|
19083
19109
|
__decorateClass([
|
|
19084
|
-
(0,
|
|
19110
|
+
(0, import_decorators8.text)("conversation_id")
|
|
19085
19111
|
], SavedTool.prototype, "conversationId", 2);
|
|
19086
19112
|
__decorateClass([
|
|
19087
|
-
|
|
19088
|
-
(0,
|
|
19113
|
+
import_decorators8.readonly,
|
|
19114
|
+
(0, import_decorators8.date)("created_at")
|
|
19089
19115
|
], SavedTool.prototype, "createdAt", 2);
|
|
19090
19116
|
__decorateClass([
|
|
19091
|
-
(0,
|
|
19117
|
+
(0, import_decorators8.date)("updated_at")
|
|
19092
19118
|
], SavedTool.prototype, "updatedAt", 2);
|
|
19093
19119
|
__decorateClass([
|
|
19094
|
-
(0,
|
|
19120
|
+
(0, import_decorators8.field)("is_deleted")
|
|
19095
19121
|
], SavedTool.prototype, "isDeleted", 2);
|
|
19096
19122
|
|
|
19097
19123
|
// src/lib/db/settings/models.ts
|
|
19098
|
-
var
|
|
19099
|
-
var
|
|
19100
|
-
var ModelPreference = class extends
|
|
19124
|
+
var import_watermelondb17 = require("@nozbe/watermelondb");
|
|
19125
|
+
var import_decorators9 = require("@nozbe/watermelondb/decorators");
|
|
19126
|
+
var ModelPreference = class extends import_watermelondb17.Model {
|
|
19101
19127
|
};
|
|
19102
19128
|
ModelPreference.table = "modelPreferences";
|
|
19103
19129
|
__decorateClass([
|
|
19104
|
-
(0,
|
|
19130
|
+
(0, import_decorators9.text)("wallet_address")
|
|
19105
19131
|
], ModelPreference.prototype, "walletAddress", 2);
|
|
19106
19132
|
__decorateClass([
|
|
19107
|
-
(0,
|
|
19133
|
+
(0, import_decorators9.text)("models")
|
|
19108
19134
|
], ModelPreference.prototype, "models", 2);
|
|
19109
19135
|
|
|
19110
19136
|
// src/lib/db/userPreferences/models.ts
|
|
19111
|
-
var
|
|
19112
|
-
var
|
|
19113
|
-
var UserPreference = class extends
|
|
19137
|
+
var import_watermelondb18 = require("@nozbe/watermelondb");
|
|
19138
|
+
var import_decorators10 = require("@nozbe/watermelondb/decorators");
|
|
19139
|
+
var UserPreference = class extends import_watermelondb18.Model {
|
|
19114
19140
|
};
|
|
19115
19141
|
UserPreference.table = "userPreferences";
|
|
19116
19142
|
__decorateClass([
|
|
19117
|
-
(0,
|
|
19143
|
+
(0, import_decorators10.text)("wallet_address")
|
|
19118
19144
|
], UserPreference.prototype, "walletAddress", 2);
|
|
19119
19145
|
__decorateClass([
|
|
19120
|
-
(0,
|
|
19146
|
+
(0, import_decorators10.text)("nickname")
|
|
19121
19147
|
], UserPreference.prototype, "nickname", 2);
|
|
19122
19148
|
__decorateClass([
|
|
19123
|
-
(0,
|
|
19149
|
+
(0, import_decorators10.text)("occupation")
|
|
19124
19150
|
], UserPreference.prototype, "occupation", 2);
|
|
19125
19151
|
__decorateClass([
|
|
19126
|
-
(0,
|
|
19152
|
+
(0, import_decorators10.text)("description")
|
|
19127
19153
|
], UserPreference.prototype, "description", 2);
|
|
19128
19154
|
__decorateClass([
|
|
19129
|
-
(0,
|
|
19155
|
+
(0, import_decorators10.text)("models")
|
|
19130
19156
|
], UserPreference.prototype, "models", 2);
|
|
19131
19157
|
__decorateClass([
|
|
19132
|
-
(0,
|
|
19158
|
+
(0, import_decorators10.text)("personality")
|
|
19133
19159
|
], UserPreference.prototype, "personality", 2);
|
|
19134
19160
|
__decorateClass([
|
|
19135
|
-
(0,
|
|
19161
|
+
(0, import_decorators10.field)("created_at")
|
|
19136
19162
|
], UserPreference.prototype, "createdAt", 2);
|
|
19137
19163
|
__decorateClass([
|
|
19138
|
-
(0,
|
|
19164
|
+
(0, import_decorators10.field)("updated_at")
|
|
19139
19165
|
], UserPreference.prototype, "updatedAt", 2);
|
|
19140
19166
|
|
|
19141
19167
|
// src/lib/db/vaultFolders/models.ts
|
|
19142
|
-
var
|
|
19143
|
-
var
|
|
19144
|
-
var VaultFolder = class extends
|
|
19168
|
+
var import_watermelondb19 = require("@nozbe/watermelondb");
|
|
19169
|
+
var import_decorators11 = require("@nozbe/watermelondb/decorators");
|
|
19170
|
+
var VaultFolder = class extends import_watermelondb19.Model {
|
|
19145
19171
|
};
|
|
19146
19172
|
VaultFolder.table = "vault_folders";
|
|
19147
19173
|
__decorateClass([
|
|
19148
|
-
(0,
|
|
19174
|
+
(0, import_decorators11.text)("name")
|
|
19149
19175
|
], VaultFolder.prototype, "name", 2);
|
|
19150
19176
|
__decorateClass([
|
|
19151
|
-
(0,
|
|
19177
|
+
(0, import_decorators11.text)("scope")
|
|
19152
19178
|
], VaultFolder.prototype, "scope", 2);
|
|
19153
19179
|
__decorateClass([
|
|
19154
|
-
|
|
19155
|
-
(0,
|
|
19180
|
+
import_decorators11.readonly,
|
|
19181
|
+
(0, import_decorators11.date)("created_at")
|
|
19156
19182
|
], VaultFolder.prototype, "createdAt", 2);
|
|
19157
19183
|
__decorateClass([
|
|
19158
|
-
(0,
|
|
19184
|
+
(0, import_decorators11.date)("updated_at")
|
|
19159
19185
|
], VaultFolder.prototype, "updatedAt", 2);
|
|
19160
19186
|
__decorateClass([
|
|
19161
|
-
(0,
|
|
19187
|
+
(0, import_decorators11.field)("is_deleted")
|
|
19162
19188
|
], VaultFolder.prototype, "isDeleted", 2);
|
|
19163
19189
|
__decorateClass([
|
|
19164
|
-
(0,
|
|
19190
|
+
(0, import_decorators11.field)("is_system")
|
|
19165
19191
|
], VaultFolder.prototype, "isSystem", 2);
|
|
19166
19192
|
__decorateClass([
|
|
19167
|
-
(0,
|
|
19193
|
+
(0, import_decorators11.text)("context")
|
|
19168
19194
|
], VaultFolder.prototype, "context", 2);
|
|
19169
19195
|
|
|
19170
19196
|
// src/lib/db/schema.ts
|
|
19171
|
-
var SDK_SCHEMA_VERSION =
|
|
19172
|
-
var sdkSchema = (0,
|
|
19197
|
+
var SDK_SCHEMA_VERSION = 35;
|
|
19198
|
+
var sdkSchema = (0, import_watermelondb20.appSchema)({
|
|
19173
19199
|
version: SDK_SCHEMA_VERSION,
|
|
19174
19200
|
tables: [
|
|
19175
19201
|
// Chat storage tables
|
|
19176
|
-
(0,
|
|
19202
|
+
(0, import_watermelondb20.tableSchema)({
|
|
19177
19203
|
name: "history",
|
|
19178
19204
|
columns: [
|
|
19179
19205
|
{ name: "message_id", type: "number" },
|
|
@@ -19210,7 +19236,7 @@ var sdkSchema = (0, import_watermelondb19.appSchema)({
|
|
|
19210
19236
|
// JSON stringified LlmapiToolCallEvent[]
|
|
19211
19237
|
]
|
|
19212
19238
|
}),
|
|
19213
|
-
(0,
|
|
19239
|
+
(0, import_watermelondb20.tableSchema)({
|
|
19214
19240
|
name: "conversations",
|
|
19215
19241
|
columns: [
|
|
19216
19242
|
{ name: "conversation_id", type: "string", isIndexed: true },
|
|
@@ -19223,7 +19249,7 @@ var sdkSchema = (0, import_watermelondb19.appSchema)({
|
|
|
19223
19249
|
]
|
|
19224
19250
|
}),
|
|
19225
19251
|
// Project storage table
|
|
19226
|
-
(0,
|
|
19252
|
+
(0, import_watermelondb20.tableSchema)({
|
|
19227
19253
|
name: "projects",
|
|
19228
19254
|
columns: [
|
|
19229
19255
|
{ name: "project_id", type: "string", isIndexed: true },
|
|
@@ -19234,7 +19260,7 @@ var sdkSchema = (0, import_watermelondb19.appSchema)({
|
|
|
19234
19260
|
]
|
|
19235
19261
|
}),
|
|
19236
19262
|
// Settings storage tables (deprecated - use userPreferences)
|
|
19237
|
-
(0,
|
|
19263
|
+
(0, import_watermelondb20.tableSchema)({
|
|
19238
19264
|
name: "modelPreferences",
|
|
19239
19265
|
columns: [
|
|
19240
19266
|
{ name: "wallet_address", type: "string", isIndexed: true },
|
|
@@ -19242,7 +19268,7 @@ var sdkSchema = (0, import_watermelondb19.appSchema)({
|
|
|
19242
19268
|
]
|
|
19243
19269
|
}),
|
|
19244
19270
|
// Unified user preferences storage
|
|
19245
|
-
(0,
|
|
19271
|
+
(0, import_watermelondb20.tableSchema)({
|
|
19246
19272
|
name: "userPreferences",
|
|
19247
19273
|
columns: [
|
|
19248
19274
|
// Identity
|
|
@@ -19261,7 +19287,7 @@ var sdkSchema = (0, import_watermelondb19.appSchema)({
|
|
|
19261
19287
|
]
|
|
19262
19288
|
}),
|
|
19263
19289
|
// Memory vault storage
|
|
19264
|
-
(0,
|
|
19290
|
+
(0, import_watermelondb20.tableSchema)({
|
|
19265
19291
|
name: "memory_vault",
|
|
19266
19292
|
columns: [
|
|
19267
19293
|
{ name: "content", type: "string" },
|
|
@@ -19293,7 +19319,7 @@ var sdkSchema = (0, import_watermelondb19.appSchema)({
|
|
|
19293
19319
|
]
|
|
19294
19320
|
}),
|
|
19295
19321
|
// Entity table — canonical names extracted from auto-extraction (W5).
|
|
19296
|
-
(0,
|
|
19322
|
+
(0, import_watermelondb20.tableSchema)({
|
|
19297
19323
|
name: "entity",
|
|
19298
19324
|
columns: [
|
|
19299
19325
|
{ name: "canonical_name", type: "string", isIndexed: true },
|
|
@@ -19303,7 +19329,7 @@ var sdkSchema = (0, import_watermelondb19.appSchema)({
|
|
|
19303
19329
|
]
|
|
19304
19330
|
}),
|
|
19305
19331
|
// Many-to-many join: which memories reference which entities.
|
|
19306
|
-
(0,
|
|
19332
|
+
(0, import_watermelondb20.tableSchema)({
|
|
19307
19333
|
name: "memory_entity",
|
|
19308
19334
|
columns: [
|
|
19309
19335
|
{ name: "memory_id", type: "string", isIndexed: true },
|
|
@@ -19313,7 +19339,7 @@ var sdkSchema = (0, import_watermelondb19.appSchema)({
|
|
|
19313
19339
|
]
|
|
19314
19340
|
}),
|
|
19315
19341
|
// Vault folder organization
|
|
19316
|
-
(0,
|
|
19342
|
+
(0, import_watermelondb20.tableSchema)({
|
|
19317
19343
|
name: "vault_folders",
|
|
19318
19344
|
columns: [
|
|
19319
19345
|
{ name: "name", type: "string" },
|
|
@@ -19326,7 +19352,7 @@ var sdkSchema = (0, import_watermelondb19.appSchema)({
|
|
|
19326
19352
|
]
|
|
19327
19353
|
}),
|
|
19328
19354
|
// Conversation summary cache for progressive history summarization
|
|
19329
|
-
(0,
|
|
19355
|
+
(0, import_watermelondb20.tableSchema)({
|
|
19330
19356
|
name: "conversation_summaries",
|
|
19331
19357
|
columns: [
|
|
19332
19358
|
{ name: "conversation_id", type: "string", isIndexed: true },
|
|
@@ -19339,7 +19365,7 @@ var sdkSchema = (0, import_watermelondb19.appSchema)({
|
|
|
19339
19365
|
]
|
|
19340
19366
|
}),
|
|
19341
19367
|
// Media library storage (images, videos, audio, documents)
|
|
19342
|
-
(0,
|
|
19368
|
+
(0, import_watermelondb20.tableSchema)({
|
|
19343
19369
|
name: "media",
|
|
19344
19370
|
columns: [
|
|
19345
19371
|
// Identity
|
|
@@ -19375,7 +19401,7 @@ var sdkSchema = (0, import_watermelondb19.appSchema)({
|
|
|
19375
19401
|
]
|
|
19376
19402
|
}),
|
|
19377
19403
|
// ── App files ─────────────────────────────────────────────────────────
|
|
19378
|
-
(0,
|
|
19404
|
+
(0, import_watermelondb20.tableSchema)({
|
|
19379
19405
|
name: "app_files",
|
|
19380
19406
|
columns: [
|
|
19381
19407
|
{ name: "conversation_id", type: "string", isIndexed: true },
|
|
@@ -19386,7 +19412,7 @@ var sdkSchema = (0, import_watermelondb19.appSchema)({
|
|
|
19386
19412
|
]
|
|
19387
19413
|
}),
|
|
19388
19414
|
// ── Saved tools ──────────────────────────────────────────────────────
|
|
19389
|
-
(0,
|
|
19415
|
+
(0, import_watermelondb20.tableSchema)({
|
|
19390
19416
|
name: "saved_tools",
|
|
19391
19417
|
columns: [
|
|
19392
19418
|
{ name: "name", type: "string" },
|
|
@@ -19400,6 +19426,16 @@ var sdkSchema = (0, import_watermelondb19.appSchema)({
|
|
|
19400
19426
|
{ name: "updated_at", type: "number" },
|
|
19401
19427
|
{ name: "is_deleted", type: "boolean", isIndexed: true }
|
|
19402
19428
|
]
|
|
19429
|
+
}),
|
|
19430
|
+
// ── Conversation memories (panel persistence) ────────────────────────
|
|
19431
|
+
(0, import_watermelondb20.tableSchema)({
|
|
19432
|
+
name: "conversation_memory",
|
|
19433
|
+
columns: [
|
|
19434
|
+
{ name: "conversation_id", type: "string", isIndexed: true },
|
|
19435
|
+
{ name: "memory_id", type: "string", isIndexed: true },
|
|
19436
|
+
{ name: "score", type: "number" },
|
|
19437
|
+
{ name: "created_at", type: "number", isIndexed: true }
|
|
19438
|
+
]
|
|
19403
19439
|
})
|
|
19404
19440
|
]
|
|
19405
19441
|
});
|
|
@@ -19860,6 +19896,23 @@ var sdkMigrations = (0, import_migrations2.schemaMigrations)({
|
|
|
19860
19896
|
columns: [{ name: "topics_user_managed", type: "boolean", isOptional: true }]
|
|
19861
19897
|
})
|
|
19862
19898
|
]
|
|
19899
|
+
},
|
|
19900
|
+
// v34 -> v35: conversation_memory table. Records which vault memories a
|
|
19901
|
+
// conversation drew on (ids + score only) so the conversation-level Memories
|
|
19902
|
+
// panel survives reload. Additive create — no existing data touched.
|
|
19903
|
+
{
|
|
19904
|
+
toVersion: 35,
|
|
19905
|
+
steps: [
|
|
19906
|
+
(0, import_migrations2.createTable)({
|
|
19907
|
+
name: "conversation_memory",
|
|
19908
|
+
columns: [
|
|
19909
|
+
{ name: "conversation_id", type: "string", isIndexed: true },
|
|
19910
|
+
{ name: "memory_id", type: "string", isIndexed: true },
|
|
19911
|
+
{ name: "score", type: "number" },
|
|
19912
|
+
{ name: "created_at", type: "number", isIndexed: true }
|
|
19913
|
+
]
|
|
19914
|
+
})
|
|
19915
|
+
]
|
|
19863
19916
|
}
|
|
19864
19917
|
]
|
|
19865
19918
|
});
|
|
@@ -19876,11 +19929,12 @@ var sdkModelClasses = [
|
|
|
19876
19929
|
ModelPreference,
|
|
19877
19930
|
UserPreference,
|
|
19878
19931
|
SavedTool,
|
|
19879
|
-
AppFile
|
|
19932
|
+
AppFile,
|
|
19933
|
+
ConversationMemory
|
|
19880
19934
|
];
|
|
19881
19935
|
|
|
19882
19936
|
// src/lib/db/manager.ts
|
|
19883
|
-
var
|
|
19937
|
+
var import_watermelondb21 = require("@nozbe/watermelondb");
|
|
19884
19938
|
var DESTRUCTIVE_MIGRATION_VERSION = 8;
|
|
19885
19939
|
var webPlatformStorage = {
|
|
19886
19940
|
getItem: (key) => localStorage.getItem(key),
|
|
@@ -19958,7 +20012,7 @@ var DatabaseManager = class {
|
|
|
19958
20012
|
walletAddress
|
|
19959
20013
|
});
|
|
19960
20014
|
const adapter = this.createAdapter(dbName, sdkSchema, sdkMigrations);
|
|
19961
|
-
this.database = new
|
|
20015
|
+
this.database = new import_watermelondb21.Database({
|
|
19962
20016
|
adapter,
|
|
19963
20017
|
modelClasses: sdkModelClasses
|
|
19964
20018
|
});
|
|
@@ -20034,7 +20088,7 @@ function useDatabaseManager(walletAddress, manager) {
|
|
|
20034
20088
|
}
|
|
20035
20089
|
|
|
20036
20090
|
// src/lib/db/project/operations.ts
|
|
20037
|
-
var
|
|
20091
|
+
var import_watermelondb22 = require("@nozbe/watermelondb");
|
|
20038
20092
|
init_operations();
|
|
20039
20093
|
|
|
20040
20094
|
// src/lib/db/project/types.ts
|
|
@@ -20066,15 +20120,15 @@ async function createProjectOp(ctx, opts, defaultName = "New Project") {
|
|
|
20066
20120
|
return projectToStored(created);
|
|
20067
20121
|
}
|
|
20068
20122
|
async function getProjectOp(ctx, id) {
|
|
20069
|
-
const results = await ctx.projectsCollection.query(
|
|
20123
|
+
const results = await ctx.projectsCollection.query(import_watermelondb22.Q.where("project_id", id), import_watermelondb22.Q.where("is_deleted", false)).fetch();
|
|
20070
20124
|
return results.length > 0 ? projectToStored(results[0]) : null;
|
|
20071
20125
|
}
|
|
20072
20126
|
async function getProjectsOp(ctx) {
|
|
20073
|
-
const results = await ctx.projectsCollection.query(
|
|
20127
|
+
const results = await ctx.projectsCollection.query(import_watermelondb22.Q.where("is_deleted", false), import_watermelondb22.Q.sortBy("created_at", import_watermelondb22.Q.desc)).fetch();
|
|
20074
20128
|
return results.map(projectToStored);
|
|
20075
20129
|
}
|
|
20076
20130
|
async function updateProjectNameOp(ctx, id, name) {
|
|
20077
|
-
const results = await ctx.projectsCollection.query(
|
|
20131
|
+
const results = await ctx.projectsCollection.query(import_watermelondb22.Q.where("project_id", id), import_watermelondb22.Q.where("is_deleted", false)).fetch();
|
|
20078
20132
|
if (results.length > 0) {
|
|
20079
20133
|
await ctx.database.write(async () => {
|
|
20080
20134
|
await results[0].update((proj) => {
|
|
@@ -20086,7 +20140,7 @@ async function updateProjectNameOp(ctx, id, name) {
|
|
|
20086
20140
|
return false;
|
|
20087
20141
|
}
|
|
20088
20142
|
async function updateProjectOp(ctx, id, opts) {
|
|
20089
|
-
const results = await ctx.projectsCollection.query(
|
|
20143
|
+
const results = await ctx.projectsCollection.query(import_watermelondb22.Q.where("project_id", id), import_watermelondb22.Q.where("is_deleted", false)).fetch();
|
|
20090
20144
|
if (results.length > 0) {
|
|
20091
20145
|
await ctx.database.write(async () => {
|
|
20092
20146
|
await results[0].update((proj) => {
|
|
@@ -20098,7 +20152,7 @@ async function updateProjectOp(ctx, id, opts) {
|
|
|
20098
20152
|
return false;
|
|
20099
20153
|
}
|
|
20100
20154
|
async function deleteProjectOp(ctx, id) {
|
|
20101
|
-
const results = await ctx.projectsCollection.query(
|
|
20155
|
+
const results = await ctx.projectsCollection.query(import_watermelondb22.Q.where("project_id", id), import_watermelondb22.Q.where("is_deleted", false)).fetch();
|
|
20102
20156
|
if (results.length > 0) {
|
|
20103
20157
|
await ctx.database.write(async () => {
|
|
20104
20158
|
await results[0].update((proj) => {
|
|
@@ -20111,18 +20165,18 @@ async function deleteProjectOp(ctx, id) {
|
|
|
20111
20165
|
}
|
|
20112
20166
|
async function getProjectConversationsOp(ctx, projectId) {
|
|
20113
20167
|
const results = await ctx.conversationsCollection.query(
|
|
20114
|
-
|
|
20115
|
-
|
|
20116
|
-
|
|
20168
|
+
import_watermelondb22.Q.where("project_id", projectId),
|
|
20169
|
+
import_watermelondb22.Q.where("is_deleted", false),
|
|
20170
|
+
import_watermelondb22.Q.sortBy("created_at", import_watermelondb22.Q.desc)
|
|
20117
20171
|
).fetch();
|
|
20118
20172
|
return results.map(conversationToStoredRaw);
|
|
20119
20173
|
}
|
|
20120
20174
|
async function getProjectConversationCountOp(ctx, projectId) {
|
|
20121
|
-
return await ctx.conversationsCollection.query(
|
|
20175
|
+
return await ctx.conversationsCollection.query(import_watermelondb22.Q.where("project_id", projectId), import_watermelondb22.Q.where("is_deleted", false)).fetchCount();
|
|
20122
20176
|
}
|
|
20123
20177
|
|
|
20124
20178
|
// src/react/useFiles.ts
|
|
20125
|
-
var
|
|
20179
|
+
var import_watermelondb23 = require("@nozbe/watermelondb");
|
|
20126
20180
|
var import_react7 = require("react");
|
|
20127
20181
|
init_logger();
|
|
20128
20182
|
init_useEncryption();
|
|
@@ -20142,7 +20196,7 @@ function useFiles(options) {
|
|
|
20142
20196
|
setIsLoading(true);
|
|
20143
20197
|
try {
|
|
20144
20198
|
const coll = database.get("media");
|
|
20145
|
-
await coll.query(
|
|
20199
|
+
await coll.query(import_watermelondb23.Q.take(1)).fetch();
|
|
20146
20200
|
setMediaCollection(coll);
|
|
20147
20201
|
setIsReady(true);
|
|
20148
20202
|
} catch (error) {
|
|
@@ -20550,7 +20604,7 @@ function useFiles(options) {
|
|
|
20550
20604
|
}
|
|
20551
20605
|
|
|
20552
20606
|
// src/react/useProjects.ts
|
|
20553
|
-
var
|
|
20607
|
+
var import_watermelondb24 = require("@nozbe/watermelondb");
|
|
20554
20608
|
var import_react8 = require("react");
|
|
20555
20609
|
init_logger();
|
|
20556
20610
|
function useProjects(options) {
|
|
@@ -20573,7 +20627,7 @@ function useProjects(options) {
|
|
|
20573
20627
|
conversations: convColl?.table
|
|
20574
20628
|
});
|
|
20575
20629
|
getLogger().debug("[useProjects] Running test query on projects table...");
|
|
20576
|
-
const testResult = await projColl.query(
|
|
20630
|
+
const testResult = await projColl.query(import_watermelondb24.Q.take(1)).fetch();
|
|
20577
20631
|
getLogger().debug(
|
|
20578
20632
|
"[useProjects] Test query succeeded, found",
|
|
20579
20633
|
testResult.length,
|
|
@@ -20660,7 +20714,7 @@ function useProjects(options) {
|
|
|
20660
20714
|
if (!projectsCollection) {
|
|
20661
20715
|
return;
|
|
20662
20716
|
}
|
|
20663
|
-
const subscription = projectsCollection.query(
|
|
20717
|
+
const subscription = projectsCollection.query(import_watermelondb24.Q.where("is_deleted", false)).observe().subscribe((records) => {
|
|
20664
20718
|
setProjects(records.map(projectToStored));
|
|
20665
20719
|
});
|
|
20666
20720
|
return () => subscription.unsubscribe();
|
|
@@ -20783,7 +20837,7 @@ function useProjects(options) {
|
|
|
20783
20837
|
}
|
|
20784
20838
|
|
|
20785
20839
|
// src/lib/db/settings/operations.ts
|
|
20786
|
-
var
|
|
20840
|
+
var import_watermelondb25 = require("@nozbe/watermelondb");
|
|
20787
20841
|
function modelPreferenceToStored(preference) {
|
|
20788
20842
|
return {
|
|
20789
20843
|
uniqueId: preference.id,
|
|
@@ -20792,12 +20846,12 @@ function modelPreferenceToStored(preference) {
|
|
|
20792
20846
|
};
|
|
20793
20847
|
}
|
|
20794
20848
|
async function getModelPreferenceOp(ctx, walletAddress) {
|
|
20795
|
-
const results = await ctx.modelPreferencesCollection.query(
|
|
20849
|
+
const results = await ctx.modelPreferencesCollection.query(import_watermelondb25.Q.where("wallet_address", walletAddress)).fetch();
|
|
20796
20850
|
return results.length > 0 ? modelPreferenceToStored(results[0]) : null;
|
|
20797
20851
|
}
|
|
20798
20852
|
async function setModelPreferenceOp(ctx, walletAddress, models) {
|
|
20799
20853
|
const result = await ctx.database.write(async () => {
|
|
20800
|
-
const results = await ctx.modelPreferencesCollection.query(
|
|
20854
|
+
const results = await ctx.modelPreferencesCollection.query(import_watermelondb25.Q.where("wallet_address", walletAddress)).fetch();
|
|
20801
20855
|
if (results.length > 0) {
|
|
20802
20856
|
const preference = results[0];
|
|
20803
20857
|
await preference.update((pref) => {
|
|
@@ -20815,7 +20869,7 @@ async function setModelPreferenceOp(ctx, walletAddress, models) {
|
|
|
20815
20869
|
return modelPreferenceToStored(result);
|
|
20816
20870
|
}
|
|
20817
20871
|
async function deleteModelPreferenceOp(ctx, walletAddress) {
|
|
20818
|
-
const results = await ctx.modelPreferencesCollection.query(
|
|
20872
|
+
const results = await ctx.modelPreferencesCollection.query(import_watermelondb25.Q.where("wallet_address", walletAddress)).fetch();
|
|
20819
20873
|
if (results.length === 0) return false;
|
|
20820
20874
|
await ctx.database.write(async () => {
|
|
20821
20875
|
await results[0].destroyPermanently();
|
|
@@ -20824,11 +20878,11 @@ async function deleteModelPreferenceOp(ctx, walletAddress) {
|
|
|
20824
20878
|
}
|
|
20825
20879
|
|
|
20826
20880
|
// src/lib/db/settings/schema.ts
|
|
20827
|
-
var
|
|
20828
|
-
var settingsStorageSchema = (0,
|
|
20881
|
+
var import_watermelondb26 = require("@nozbe/watermelondb");
|
|
20882
|
+
var settingsStorageSchema = (0, import_watermelondb26.appSchema)({
|
|
20829
20883
|
version: 1,
|
|
20830
20884
|
tables: [
|
|
20831
|
-
(0,
|
|
20885
|
+
(0, import_watermelondb26.tableSchema)({
|
|
20832
20886
|
name: "modelPreferences",
|
|
20833
20887
|
columns: [
|
|
20834
20888
|
{ name: "wallet_address", type: "string", isIndexed: true },
|
|
@@ -20839,7 +20893,7 @@ var settingsStorageSchema = (0, import_watermelondb25.appSchema)({
|
|
|
20839
20893
|
});
|
|
20840
20894
|
|
|
20841
20895
|
// src/lib/db/vaultFolders/operations.ts
|
|
20842
|
-
var
|
|
20896
|
+
var import_watermelondb27 = require("@nozbe/watermelondb");
|
|
20843
20897
|
function folderToStored(folder) {
|
|
20844
20898
|
return {
|
|
20845
20899
|
uniqueId: folder.id,
|
|
@@ -20864,7 +20918,7 @@ async function createVaultFolderOp(ctx, opts) {
|
|
|
20864
20918
|
return folderToStored(created);
|
|
20865
20919
|
}
|
|
20866
20920
|
async function getAllVaultFoldersOp(ctx) {
|
|
20867
|
-
const results = await ctx.vaultFolderCollection.query(
|
|
20921
|
+
const results = await ctx.vaultFolderCollection.query(import_watermelondb27.Q.where("is_deleted", false), import_watermelondb27.Q.sortBy("created_at", import_watermelondb27.Q.desc)).fetch();
|
|
20868
20922
|
return results.map(folderToStored);
|
|
20869
20923
|
}
|
|
20870
20924
|
async function updateVaultFolderOp(ctx, id, opts) {
|
|
@@ -20881,7 +20935,7 @@ async function updateVaultFolderOp(ctx, id, opts) {
|
|
|
20881
20935
|
})
|
|
20882
20936
|
);
|
|
20883
20937
|
if (scopeChanged) {
|
|
20884
|
-
const memories = await ctx.vaultMemoryCollection.query(
|
|
20938
|
+
const memories = await ctx.vaultMemoryCollection.query(import_watermelondb27.Q.where("folder_id", id), import_watermelondb27.Q.where("is_deleted", false)).fetch();
|
|
20885
20939
|
for (const memory of memories) {
|
|
20886
20940
|
updates.push(
|
|
20887
20941
|
memory.prepareUpdate((r) => {
|
|
@@ -20903,7 +20957,7 @@ async function deleteVaultFolderOp(ctx, id) {
|
|
|
20903
20957
|
const record = await ctx.vaultFolderCollection.find(id);
|
|
20904
20958
|
if (record.isDeleted) return false;
|
|
20905
20959
|
await ctx.database.write(async () => {
|
|
20906
|
-
const memories = await ctx.vaultMemoryCollection.query(
|
|
20960
|
+
const memories = await ctx.vaultMemoryCollection.query(import_watermelondb27.Q.where("folder_id", id), import_watermelondb27.Q.where("is_deleted", false)).fetch();
|
|
20907
20961
|
const preparedMemories = memories.map(
|
|
20908
20962
|
(memory) => memory.prepareUpdate((r) => {
|
|
20909
20963
|
r._setRaw("folder_id", null);
|
|
@@ -20972,7 +21026,7 @@ async function updateVaultFolderContextOp(ctx, id, context) {
|
|
|
20972
21026
|
}
|
|
20973
21027
|
}
|
|
20974
21028
|
async function getVaultFolderMemoryCountOp(ctx, folderId) {
|
|
20975
|
-
return await ctx.vaultMemoryCollection.query(
|
|
21029
|
+
return await ctx.vaultMemoryCollection.query(import_watermelondb27.Q.where("folder_id", folderId), import_watermelondb27.Q.where("is_deleted", false)).fetchCount();
|
|
20976
21030
|
}
|
|
20977
21031
|
|
|
20978
21032
|
// src/lib/db/vaultFolders/defaults.ts
|
|
@@ -21022,7 +21076,7 @@ init_types3();
|
|
|
21022
21076
|
var import_react9 = require("react");
|
|
21023
21077
|
|
|
21024
21078
|
// src/lib/db/userPreferences/operations.ts
|
|
21025
|
-
var
|
|
21079
|
+
var import_watermelondb28 = require("@nozbe/watermelondb");
|
|
21026
21080
|
function userPreferenceToStored(preference) {
|
|
21027
21081
|
return {
|
|
21028
21082
|
uniqueId: preference.id,
|
|
@@ -21037,7 +21091,7 @@ function userPreferenceToStored(preference) {
|
|
|
21037
21091
|
};
|
|
21038
21092
|
}
|
|
21039
21093
|
async function getUserPreferenceOp(ctx, walletAddress) {
|
|
21040
|
-
const results = await ctx.userPreferencesCollection.query(
|
|
21094
|
+
const results = await ctx.userPreferencesCollection.query(import_watermelondb28.Q.where("wallet_address", walletAddress)).fetch();
|
|
21041
21095
|
return results.length > 0 ? userPreferenceToStored(results[0]) : null;
|
|
21042
21096
|
}
|
|
21043
21097
|
async function createUserPreferenceOp(ctx, opts) {
|
|
@@ -21057,7 +21111,7 @@ async function createUserPreferenceOp(ctx, opts) {
|
|
|
21057
21111
|
return userPreferenceToStored(created);
|
|
21058
21112
|
}
|
|
21059
21113
|
async function updateUserPreferenceOp(ctx, walletAddress, opts) {
|
|
21060
|
-
const results = await ctx.userPreferencesCollection.query(
|
|
21114
|
+
const results = await ctx.userPreferencesCollection.query(import_watermelondb28.Q.where("wallet_address", walletAddress)).fetch();
|
|
21061
21115
|
if (results.length === 0) return null;
|
|
21062
21116
|
const preference = results[0];
|
|
21063
21117
|
await ctx.database.write(async () => {
|
|
@@ -21085,7 +21139,7 @@ async function updateUserPreferenceOp(ctx, walletAddress, opts) {
|
|
|
21085
21139
|
async function setUserPreferenceOp(ctx, walletAddress, opts) {
|
|
21086
21140
|
const now = Date.now();
|
|
21087
21141
|
const result = await ctx.database.write(async () => {
|
|
21088
|
-
const results = await ctx.userPreferencesCollection.query(
|
|
21142
|
+
const results = await ctx.userPreferencesCollection.query(import_watermelondb28.Q.where("wallet_address", walletAddress)).fetch();
|
|
21089
21143
|
if (results.length > 0) {
|
|
21090
21144
|
const preference = results[0];
|
|
21091
21145
|
await preference.update((pref) => {
|
|
@@ -21133,7 +21187,7 @@ async function updateModelsOp(ctx, walletAddress, models) {
|
|
|
21133
21187
|
return updateUserPreferenceOp(ctx, walletAddress, { models });
|
|
21134
21188
|
}
|
|
21135
21189
|
async function deleteUserPreferenceOp(ctx, walletAddress) {
|
|
21136
|
-
const results = await ctx.userPreferencesCollection.query(
|
|
21190
|
+
const results = await ctx.userPreferencesCollection.query(import_watermelondb28.Q.where("wallet_address", walletAddress)).fetch();
|
|
21137
21191
|
if (results.length === 0) return false;
|
|
21138
21192
|
await ctx.database.write(async () => {
|
|
21139
21193
|
await results[0].destroyPermanently();
|
|
@@ -21148,9 +21202,9 @@ async function migrateFromModelPreferencesOp(ctx, walletAddress) {
|
|
|
21148
21202
|
if (existing) {
|
|
21149
21203
|
return existing;
|
|
21150
21204
|
}
|
|
21151
|
-
const modelResults = await ctx.modelPreferencesCollection.query(
|
|
21205
|
+
const modelResults = await ctx.modelPreferencesCollection.query(import_watermelondb28.Q.where("wallet_address", walletAddress)).fetch();
|
|
21152
21206
|
const personalityKey = `${walletAddress}_personality_settings`;
|
|
21153
|
-
const personalityResults = await ctx.modelPreferencesCollection.query(
|
|
21207
|
+
const personalityResults = await ctx.modelPreferencesCollection.query(import_watermelondb28.Q.where("wallet_address", personalityKey)).fetch();
|
|
21154
21208
|
if (modelResults.length === 0 && personalityResults.length === 0) {
|
|
21155
21209
|
return null;
|
|
21156
21210
|
}
|
|
@@ -21192,11 +21246,11 @@ async function migrateFromModelPreferencesOp(ctx, walletAddress) {
|
|
|
21192
21246
|
}
|
|
21193
21247
|
|
|
21194
21248
|
// src/lib/db/userPreferences/schema.ts
|
|
21195
|
-
var
|
|
21196
|
-
var userPreferencesStorageSchema = (0,
|
|
21249
|
+
var import_watermelondb29 = require("@nozbe/watermelondb");
|
|
21250
|
+
var userPreferencesStorageSchema = (0, import_watermelondb29.appSchema)({
|
|
21197
21251
|
version: 1,
|
|
21198
21252
|
tables: [
|
|
21199
|
-
(0,
|
|
21253
|
+
(0, import_watermelondb29.tableSchema)({
|
|
21200
21254
|
name: "userPreferences",
|
|
21201
21255
|
columns: [
|
|
21202
21256
|
// Identity
|
|
@@ -21256,7 +21310,7 @@ var SLIDER_CONFIG = [
|
|
|
21256
21310
|
];
|
|
21257
21311
|
|
|
21258
21312
|
// src/react/userSettingsStore.ts
|
|
21259
|
-
var
|
|
21313
|
+
var import_watermelondb30 = require("@nozbe/watermelondb");
|
|
21260
21314
|
var EMPTY_SNAPSHOT = Object.freeze({
|
|
21261
21315
|
modelPreference: null,
|
|
21262
21316
|
userPreference: null,
|
|
@@ -21318,7 +21372,7 @@ async function startLoad(entry, walletAddress) {
|
|
|
21318
21372
|
}
|
|
21319
21373
|
function startObserve(entry, walletAddress) {
|
|
21320
21374
|
let isInitialEmission = true;
|
|
21321
|
-
entry.observeSub = entry.storageCtx.userPreferencesCollection.query(
|
|
21375
|
+
entry.observeSub = entry.storageCtx.userPreferencesCollection.query(import_watermelondb30.Q.where("wallet_address", walletAddress)).observeWithColumns([
|
|
21322
21376
|
"nickname",
|
|
21323
21377
|
"occupation",
|
|
21324
21378
|
"description",
|
|
@@ -21572,7 +21626,7 @@ function useSettings(options) {
|
|
|
21572
21626
|
}
|
|
21573
21627
|
|
|
21574
21628
|
// src/lib/db/appFiles/operations.ts
|
|
21575
|
-
var
|
|
21629
|
+
var import_watermelondb31 = require("@nozbe/watermelondb");
|
|
21576
21630
|
|
|
21577
21631
|
// src/utils/paths.ts
|
|
21578
21632
|
function normalizePath(p) {
|
|
@@ -21598,7 +21652,7 @@ async function putAppFileOp(ctx, conversationId, path, content) {
|
|
|
21598
21652
|
const normalized = normalizePath(path);
|
|
21599
21653
|
const now = Date.now();
|
|
21600
21654
|
const result = await ctx.database.write(async () => {
|
|
21601
|
-
const existing = await ctx.appFilesCollection.query(
|
|
21655
|
+
const existing = await ctx.appFilesCollection.query(import_watermelondb31.Q.where("conversation_id", conversationId), import_watermelondb31.Q.where("path", normalized)).fetch();
|
|
21602
21656
|
if (existing.length > 0) {
|
|
21603
21657
|
await existing[0].update((f) => {
|
|
21604
21658
|
f._setRaw("content", content);
|
|
@@ -21618,11 +21672,11 @@ async function putAppFileOp(ctx, conversationId, path, content) {
|
|
|
21618
21672
|
}
|
|
21619
21673
|
async function getAppFileOp(ctx, conversationId, path) {
|
|
21620
21674
|
const normalized = normalizePath(path);
|
|
21621
|
-
const results = await ctx.appFilesCollection.query(
|
|
21675
|
+
const results = await ctx.appFilesCollection.query(import_watermelondb31.Q.where("conversation_id", conversationId), import_watermelondb31.Q.where("path", normalized)).fetch();
|
|
21622
21676
|
return results.length > 0 ? appFileToStored(results[0]) : null;
|
|
21623
21677
|
}
|
|
21624
21678
|
async function getAppFilesOp(ctx, conversationId) {
|
|
21625
|
-
const results = await ctx.appFilesCollection.query(
|
|
21679
|
+
const results = await ctx.appFilesCollection.query(import_watermelondb31.Q.where("conversation_id", conversationId)).fetch();
|
|
21626
21680
|
return results.map(appFileToStored);
|
|
21627
21681
|
}
|
|
21628
21682
|
async function getAppFileMapOp(ctx, conversationId) {
|
|
@@ -21633,7 +21687,7 @@ async function getAppFileMapOp(ctx, conversationId) {
|
|
|
21633
21687
|
}
|
|
21634
21688
|
async function deleteAppFileOp(ctx, conversationId, path) {
|
|
21635
21689
|
const normalized = normalizePath(path);
|
|
21636
|
-
const results = await ctx.appFilesCollection.query(
|
|
21690
|
+
const results = await ctx.appFilesCollection.query(import_watermelondb31.Q.where("conversation_id", conversationId), import_watermelondb31.Q.where("path", normalized)).fetch();
|
|
21637
21691
|
if (results.length === 0) return false;
|
|
21638
21692
|
await ctx.database.write(async () => {
|
|
21639
21693
|
await results[0].destroyPermanently();
|
|
@@ -21641,7 +21695,7 @@ async function deleteAppFileOp(ctx, conversationId, path) {
|
|
|
21641
21695
|
return true;
|
|
21642
21696
|
}
|
|
21643
21697
|
async function deleteAllAppFilesOp(ctx, conversationId) {
|
|
21644
|
-
const results = await ctx.appFilesCollection.query(
|
|
21698
|
+
const results = await ctx.appFilesCollection.query(import_watermelondb31.Q.where("conversation_id", conversationId)).fetch();
|
|
21645
21699
|
if (results.length === 0) return;
|
|
21646
21700
|
await ctx.database.write(async () => {
|
|
21647
21701
|
const batch = results.map((file) => file.prepareDestroyPermanently());
|
|
@@ -21649,8 +21703,71 @@ async function deleteAllAppFilesOp(ctx, conversationId) {
|
|
|
21649
21703
|
});
|
|
21650
21704
|
}
|
|
21651
21705
|
|
|
21706
|
+
// src/lib/db/conversationMemory/operations.ts
|
|
21707
|
+
var import_watermelondb32 = require("@nozbe/watermelondb");
|
|
21708
|
+
var MAX_PER_CONVERSATION = 200;
|
|
21709
|
+
function conversationMemoryToStored(row) {
|
|
21710
|
+
return {
|
|
21711
|
+
uniqueId: row.id,
|
|
21712
|
+
conversationId: row.conversationId,
|
|
21713
|
+
memoryId: row.memoryId,
|
|
21714
|
+
score: row.score,
|
|
21715
|
+
createdAt: row.createdAt
|
|
21716
|
+
};
|
|
21717
|
+
}
|
|
21718
|
+
async function addConversationMemoriesOp(ctx, conversationId, items) {
|
|
21719
|
+
if (!conversationId || items.length === 0) return;
|
|
21720
|
+
const now = Date.now();
|
|
21721
|
+
await ctx.database.write(async () => {
|
|
21722
|
+
const existing = await ctx.conversationMemoryCollection.query(import_watermelondb32.Q.where("conversation_id", conversationId), import_watermelondb32.Q.sortBy("created_at", import_watermelondb32.Q.asc)).fetch();
|
|
21723
|
+
const seen = new Set(existing.map((r) => r.memoryId));
|
|
21724
|
+
const batchSeen = /* @__PURE__ */ new Set();
|
|
21725
|
+
const deduped = [];
|
|
21726
|
+
for (const it of items) {
|
|
21727
|
+
if (!it.memoryId || seen.has(it.memoryId) || batchSeen.has(it.memoryId)) continue;
|
|
21728
|
+
batchSeen.add(it.memoryId);
|
|
21729
|
+
deduped.push(it);
|
|
21730
|
+
}
|
|
21731
|
+
if (deduped.length === 0) return;
|
|
21732
|
+
const keptNew = deduped.length > MAX_PER_CONVERSATION ? deduped.slice(deduped.length - MAX_PER_CONVERSATION) : deduped;
|
|
21733
|
+
const keepExistingCount = MAX_PER_CONVERSATION - keptNew.length;
|
|
21734
|
+
const pruneCount = Math.max(0, existing.length - keepExistingCount);
|
|
21735
|
+
const toPrune = existing.slice(0, pruneCount);
|
|
21736
|
+
const ops = [
|
|
21737
|
+
...toPrune.map((r) => r.prepareDestroyPermanently()),
|
|
21738
|
+
// Stagger created_at by index within the batch: a turn records several
|
|
21739
|
+
// memories at once, so a single shared timestamp would make their order
|
|
21740
|
+
// ambiguous under the created_at sort (getConversationMemoriesOp, the cap
|
|
21741
|
+
// prune). `now + i` keeps insertion order stable and stays well below the
|
|
21742
|
+
// next turn's timestamp.
|
|
21743
|
+
...keptNew.map(
|
|
21744
|
+
(it, i) => ctx.conversationMemoryCollection.prepareCreate((r) => {
|
|
21745
|
+
r._setRaw("conversation_id", conversationId);
|
|
21746
|
+
r._setRaw("memory_id", it.memoryId);
|
|
21747
|
+
r._setRaw("score", it.score);
|
|
21748
|
+
r._setRaw("created_at", now + i);
|
|
21749
|
+
})
|
|
21750
|
+
)
|
|
21751
|
+
];
|
|
21752
|
+
await ctx.database.batch(...ops);
|
|
21753
|
+
});
|
|
21754
|
+
}
|
|
21755
|
+
async function getConversationMemoriesOp(ctx, conversationId) {
|
|
21756
|
+
if (!conversationId) return [];
|
|
21757
|
+
const rows = await ctx.conversationMemoryCollection.query(import_watermelondb32.Q.where("conversation_id", conversationId), import_watermelondb32.Q.sortBy("created_at", import_watermelondb32.Q.asc)).fetch();
|
|
21758
|
+
return rows.map(conversationMemoryToStored);
|
|
21759
|
+
}
|
|
21760
|
+
async function clearConversationMemoriesOp(ctx, conversationId) {
|
|
21761
|
+
if (!conversationId) return;
|
|
21762
|
+
await ctx.database.write(async () => {
|
|
21763
|
+
const rows = await ctx.conversationMemoryCollection.query(import_watermelondb32.Q.where("conversation_id", conversationId)).fetch();
|
|
21764
|
+
if (rows.length === 0) return;
|
|
21765
|
+
await ctx.database.batch(...rows.map((r) => r.prepareDestroyPermanently()));
|
|
21766
|
+
});
|
|
21767
|
+
}
|
|
21768
|
+
|
|
21652
21769
|
// src/lib/db/savedTools/operations.ts
|
|
21653
|
-
var
|
|
21770
|
+
var import_watermelondb33 = require("@nozbe/watermelondb");
|
|
21654
21771
|
function savedToolToStored(tool) {
|
|
21655
21772
|
return {
|
|
21656
21773
|
uniqueId: tool.id,
|
|
@@ -21683,7 +21800,7 @@ async function createSavedToolOp(ctx, opts) {
|
|
|
21683
21800
|
return savedToolToStored(created);
|
|
21684
21801
|
}
|
|
21685
21802
|
async function getAllSavedToolsOp(ctx) {
|
|
21686
|
-
const results = await ctx.savedToolsCollection.query(
|
|
21803
|
+
const results = await ctx.savedToolsCollection.query(import_watermelondb33.Q.where("is_deleted", false), import_watermelondb33.Q.sortBy("created_at", import_watermelondb33.Q.desc)).fetch();
|
|
21687
21804
|
return results.map(savedToolToStored);
|
|
21688
21805
|
}
|
|
21689
21806
|
async function getSavedToolByIdOp(ctx, uniqueId) {
|
|
@@ -21991,10 +22108,10 @@ async function exportMarkdownToPdf(markdown, options) {
|
|
|
21991
22108
|
function lineHeightMm(fontSizePt) {
|
|
21992
22109
|
return ptToMm(fontSizePt) * lineHeight;
|
|
21993
22110
|
}
|
|
21994
|
-
function renderWrappedText(
|
|
22111
|
+
function renderWrappedText(text12, x, maxW, fontSizePt, fontStyle = "normal", fontFamily = "Helvetica") {
|
|
21995
22112
|
doc.setFont(fontFamily, fontStyle);
|
|
21996
22113
|
doc.setFontSize(fontSizePt);
|
|
21997
|
-
const lines = doc.splitTextToSize(
|
|
22114
|
+
const lines = doc.splitTextToSize(text12, maxW);
|
|
21998
22115
|
const lh = lineHeightMm(fontSizePt);
|
|
21999
22116
|
for (const line of lines) {
|
|
22000
22117
|
ensureSpace(lh);
|
|
@@ -22076,10 +22193,10 @@ async function exportMarkdownToPdf(markdown, options) {
|
|
|
22076
22193
|
const lh = lineHeightMm(opts.fontSize);
|
|
22077
22194
|
for (let i = 0; i < items.length; i++) {
|
|
22078
22195
|
const prefix = ordered ? `${(listToken.start || 1) + i}. ` : "\u2022 ";
|
|
22079
|
-
const
|
|
22196
|
+
const text12 = tokensToPlainText(items[i].tokens);
|
|
22080
22197
|
ensureSpace(lh);
|
|
22081
22198
|
doc.text(prefix, opts.margins.left, cursorY);
|
|
22082
|
-
const listLines = doc.splitTextToSize(
|
|
22199
|
+
const listLines = doc.splitTextToSize(text12, itemW);
|
|
22083
22200
|
for (const line of listLines) {
|
|
22084
22201
|
ensureSpace(lh);
|
|
22085
22202
|
doc.text(line, indentX, cursorY);
|
|
@@ -22091,12 +22208,12 @@ async function exportMarkdownToPdf(markdown, options) {
|
|
|
22091
22208
|
}
|
|
22092
22209
|
case "blockquote": {
|
|
22093
22210
|
const bqToken = token;
|
|
22094
|
-
const
|
|
22211
|
+
const text12 = tokensToPlainText(bqToken.tokens ?? []);
|
|
22095
22212
|
const indentX = opts.margins.left + SPACING.QUOTE_INDENT;
|
|
22096
22213
|
const quoteW = cw - SPACING.QUOTE_INSET;
|
|
22097
22214
|
doc.setFont("Helvetica", "italic");
|
|
22098
22215
|
doc.setFontSize(opts.fontSize);
|
|
22099
|
-
const bqLines = doc.splitTextToSize(
|
|
22216
|
+
const bqLines = doc.splitTextToSize(text12, quoteW);
|
|
22100
22217
|
const lh = lineHeightMm(opts.fontSize);
|
|
22101
22218
|
const blockH = bqLines.length * lh;
|
|
22102
22219
|
ensureSpace(Math.min(blockH, 20));
|
|
@@ -22132,8 +22249,8 @@ async function exportMarkdownToPdf(markdown, options) {
|
|
|
22132
22249
|
doc.setFont("Helvetica", fontStyle);
|
|
22133
22250
|
doc.setFontSize(tableFontSize);
|
|
22134
22251
|
const cellLines = cells.map((cell) => {
|
|
22135
|
-
const
|
|
22136
|
-
return doc.splitTextToSize(
|
|
22252
|
+
const text12 = tokensToPlainText(cell.tokens);
|
|
22253
|
+
return doc.splitTextToSize(text12, cellContentW);
|
|
22137
22254
|
});
|
|
22138
22255
|
const maxLines = Math.max(1, ...cellLines.map((l) => l.length));
|
|
22139
22256
|
ensureSpace(maxLines * lh + SPACING.SM);
|
|
@@ -22350,13 +22467,13 @@ function useOCR() {
|
|
|
22350
22467
|
const result = await import_tesseract.default.recognize(image, language);
|
|
22351
22468
|
pageTexts.push(result.data.text);
|
|
22352
22469
|
}
|
|
22353
|
-
const
|
|
22354
|
-
if (!
|
|
22470
|
+
const text12 = pageTexts.join("\n\n");
|
|
22471
|
+
if (!text12.trim()) {
|
|
22355
22472
|
getLogger().warn(`No text found in OCR source ${filename || "unknown"}`);
|
|
22356
22473
|
return null;
|
|
22357
22474
|
}
|
|
22358
22475
|
return `[Context from OCR attachment ${filename || "unknown"}]:
|
|
22359
|
-
${
|
|
22476
|
+
${text12}`;
|
|
22360
22477
|
} catch (err) {
|
|
22361
22478
|
getLogger().error(`Failed to process OCR for ${file.filename || "unknown"}:`, err);
|
|
22362
22479
|
return null;
|
|
@@ -22400,13 +22517,13 @@ function usePdf() {
|
|
|
22400
22517
|
const contexts = await Promise.all(
|
|
22401
22518
|
pdfFiles.map(async (file) => {
|
|
22402
22519
|
try {
|
|
22403
|
-
const
|
|
22404
|
-
if (!
|
|
22520
|
+
const text12 = await extractTextFromPdf(file.url);
|
|
22521
|
+
if (!text12.trim()) {
|
|
22405
22522
|
getLogger().warn(`No text found in PDF ${file.filename}`);
|
|
22406
22523
|
return null;
|
|
22407
22524
|
}
|
|
22408
22525
|
return `[Context from PDF attachment ${file.filename}]:
|
|
22409
|
-
${
|
|
22526
|
+
${text12}`;
|
|
22410
22527
|
} catch (err) {
|
|
22411
22528
|
getLogger().error(`Failed to process PDF ${file.filename}:`, err);
|
|
22412
22529
|
return null;
|
|
@@ -22650,14 +22767,14 @@ function useVoice(options) {
|
|
|
22650
22767
|
recognition.interimResults = false;
|
|
22651
22768
|
recognition.lang = options?.language ?? "";
|
|
22652
22769
|
recognition.onresult = (event) => {
|
|
22653
|
-
let
|
|
22770
|
+
let text12 = "";
|
|
22654
22771
|
for (let i = 0; i < event.results.length; i++) {
|
|
22655
22772
|
const result = event.results[i];
|
|
22656
22773
|
if (result && result.isFinal && result[0]) {
|
|
22657
|
-
|
|
22774
|
+
text12 += result[0].transcript + " ";
|
|
22658
22775
|
}
|
|
22659
22776
|
}
|
|
22660
|
-
nativeTextRef.current =
|
|
22777
|
+
nativeTextRef.current = text12.trim();
|
|
22661
22778
|
};
|
|
22662
22779
|
recognition.onerror = (event) => {
|
|
22663
22780
|
if (event.error !== "aborted" && event.error !== "no-speech") {
|
|
@@ -24221,9 +24338,9 @@ async function pushConversationToDropbox(database, conversationId, userAddress,
|
|
|
24221
24338
|
const filename = `${conversationId}.json`;
|
|
24222
24339
|
const existingFile = await findDropboxFile(token, filename, backupFolder);
|
|
24223
24340
|
if (existingFile) {
|
|
24224
|
-
const { Q:
|
|
24341
|
+
const { Q: Q18 } = await import("@nozbe/watermelondb");
|
|
24225
24342
|
const conversationsCollection = database.get("conversations");
|
|
24226
|
-
const records = await conversationsCollection.query(
|
|
24343
|
+
const records = await conversationsCollection.query(Q18.where("conversation_id", conversationId)).fetch();
|
|
24227
24344
|
if (records.length > 0) {
|
|
24228
24345
|
const conversation = conversationToStoredRaw(records[0]);
|
|
24229
24346
|
const localUpdated = conversation.updatedAt.getTime();
|
|
@@ -24261,9 +24378,9 @@ async function pushConversationToDropbox(database, conversationId, userAddress,
|
|
|
24261
24378
|
}
|
|
24262
24379
|
async function performDropboxExport(database, userAddress, token, deps, onProgress, backupFolder = DEFAULT_BACKUP_FOLDER) {
|
|
24263
24380
|
await deps.requestEncryptionKey(userAddress);
|
|
24264
|
-
const { Q:
|
|
24381
|
+
const { Q: Q18 } = await import("@nozbe/watermelondb");
|
|
24265
24382
|
const conversationsCollection = database.get("conversations");
|
|
24266
|
-
const records = await conversationsCollection.query(
|
|
24383
|
+
const records = await conversationsCollection.query(Q18.where("is_deleted", false)).fetch();
|
|
24267
24384
|
const conversations = records.map(conversationToStoredRaw);
|
|
24268
24385
|
const total = conversations.length;
|
|
24269
24386
|
if (total === 0) {
|
|
@@ -24904,9 +25021,9 @@ async function pushConversationToDrive(database, conversationId, userAddress, to
|
|
|
24904
25021
|
const filename = `${conversationId}.json`;
|
|
24905
25022
|
const existingFile = await findDriveFile(activeToken, folderId, filename);
|
|
24906
25023
|
if (existingFile) {
|
|
24907
|
-
const { Q:
|
|
25024
|
+
const { Q: Q18 } = await import("@nozbe/watermelondb");
|
|
24908
25025
|
const conversationsCollection = database.get("conversations");
|
|
24909
|
-
const records = await conversationsCollection.query(
|
|
25026
|
+
const records = await conversationsCollection.query(Q18.where("conversation_id", conversationId)).fetch();
|
|
24910
25027
|
if (records.length > 0) {
|
|
24911
25028
|
const conversation = conversationToStoredRaw(records[0]);
|
|
24912
25029
|
const localUpdated = conversation.updatedAt.getTime();
|
|
@@ -24959,9 +25076,9 @@ async function performGoogleDriveExport(database, userAddress, token, deps, onPr
|
|
|
24959
25076
|
return { success: false, uploaded: 0, skipped: 0, total: 0 };
|
|
24960
25077
|
}
|
|
24961
25078
|
const { token: activeToken } = folderResult;
|
|
24962
|
-
const { Q:
|
|
25079
|
+
const { Q: Q18 } = await import("@nozbe/watermelondb");
|
|
24963
25080
|
const conversationsCollection = database.get("conversations");
|
|
24964
|
-
const records = await conversationsCollection.query(
|
|
25081
|
+
const records = await conversationsCollection.query(Q18.where("is_deleted", false)).fetch();
|
|
24965
25082
|
const conversations = records.map(conversationToStoredRaw);
|
|
24966
25083
|
const total = conversations.length;
|
|
24967
25084
|
if (total === 0) {
|
|
@@ -25546,9 +25663,9 @@ async function pushConversationToICloud(database, conversationId, userAddress, d
|
|
|
25546
25663
|
const filename = `${conversationId}.json`;
|
|
25547
25664
|
const existingFile = await findICloudFile(filename);
|
|
25548
25665
|
if (existingFile) {
|
|
25549
|
-
const { Q:
|
|
25666
|
+
const { Q: Q18 } = await import("@nozbe/watermelondb");
|
|
25550
25667
|
const conversationsCollection = database.get("conversations");
|
|
25551
|
-
const records = await conversationsCollection.query(
|
|
25668
|
+
const records = await conversationsCollection.query(Q18.where("conversation_id", conversationId)).fetch();
|
|
25552
25669
|
if (records.length > 0) {
|
|
25553
25670
|
const conversation = conversationToStoredRaw(records[0]);
|
|
25554
25671
|
const localUpdated = conversation.updatedAt.getTime();
|
|
@@ -25578,9 +25695,9 @@ async function pushConversationToICloud(database, conversationId, userAddress, d
|
|
|
25578
25695
|
}
|
|
25579
25696
|
async function performICloudExport(database, userAddress, deps, onProgress) {
|
|
25580
25697
|
await deps.requestEncryptionKey(userAddress);
|
|
25581
|
-
const { Q:
|
|
25698
|
+
const { Q: Q18 } = await import("@nozbe/watermelondb");
|
|
25582
25699
|
const conversationsCollection = database.get("conversations");
|
|
25583
|
-
const records = await conversationsCollection.query(
|
|
25700
|
+
const records = await conversationsCollection.query(Q18.where("is_deleted", false)).fetch();
|
|
25584
25701
|
const conversations = records.map(conversationToStoredRaw);
|
|
25585
25702
|
const total = conversations.length;
|
|
25586
25703
|
if (total === 0) {
|
|
@@ -27875,11 +27992,11 @@ function createGetAuthenticatedUserTool(getAccessToken, requestAccess) {
|
|
|
27875
27992
|
};
|
|
27876
27993
|
}
|
|
27877
27994
|
var MAX_RESPONSE_SIZE = 1e5;
|
|
27878
|
-
function truncate(
|
|
27879
|
-
if (
|
|
27880
|
-
return
|
|
27995
|
+
function truncate(text12, maxLen) {
|
|
27996
|
+
if (text12.length <= maxLen) return text12;
|
|
27997
|
+
return text12.slice(0, maxLen) + `
|
|
27881
27998
|
|
|
27882
|
-
... (truncated, ${
|
|
27999
|
+
... (truncated, ${text12.length - maxLen} characters omitted)`;
|
|
27883
28000
|
}
|
|
27884
28001
|
function createGitHubApiTool(getAccessToken, requestAccess) {
|
|
27885
28002
|
return {
|
|
@@ -27927,16 +28044,16 @@ IMPORTANT: For write operations (POST, PUT, PATCH, DELETE), always confirm with
|
|
|
27927
28044
|
method,
|
|
27928
28045
|
body: body ? JSON.stringify(body) : void 0
|
|
27929
28046
|
});
|
|
27930
|
-
const
|
|
28047
|
+
const text12 = await resp.text();
|
|
27931
28048
|
if (!resp.ok) {
|
|
27932
|
-
return `Error: GitHub API ${method} ${path} returned ${resp.status}: ${truncate(
|
|
28049
|
+
return `Error: GitHub API ${method} ${path} returned ${resp.status}: ${truncate(text12, 500)}`;
|
|
27933
28050
|
}
|
|
27934
28051
|
try {
|
|
27935
|
-
const data = JSON.parse(
|
|
28052
|
+
const data = JSON.parse(text12);
|
|
27936
28053
|
const json4 = JSON.stringify(data, null, 2);
|
|
27937
28054
|
return truncate(json4, MAX_RESPONSE_SIZE);
|
|
27938
28055
|
} catch {
|
|
27939
|
-
return truncate(
|
|
28056
|
+
return truncate(text12, MAX_RESPONSE_SIZE);
|
|
27940
28057
|
}
|
|
27941
28058
|
} catch (err) {
|
|
27942
28059
|
if (err instanceof DOMException && err.name === "AbortError") {
|
|
@@ -28609,10 +28726,10 @@ function formatObjectAttr(obj) {
|
|
|
28609
28726
|
});
|
|
28610
28727
|
return `{ ${entries.join(", ")} }`;
|
|
28611
28728
|
}
|
|
28612
|
-
function isSafeJsxText(
|
|
28613
|
-
if (/[<>{}&]/.test(
|
|
28614
|
-
if (/\n/.test(
|
|
28615
|
-
if (/^\s|\s$/.test(
|
|
28729
|
+
function isSafeJsxText(text12) {
|
|
28730
|
+
if (/[<>{}&]/.test(text12)) return false;
|
|
28731
|
+
if (/\n/.test(text12)) return false;
|
|
28732
|
+
if (/^\s|\s$/.test(text12)) return false;
|
|
28616
28733
|
return true;
|
|
28617
28734
|
}
|
|
28618
28735
|
function getId(node) {
|
|
@@ -29403,6 +29520,7 @@ function renderAnumaJsx(jsx3) {
|
|
|
29403
29520
|
ChartTooltipContent,
|
|
29404
29521
|
ChatConversation,
|
|
29405
29522
|
ChatMessage,
|
|
29523
|
+
ConversationMemoryModel,
|
|
29406
29524
|
DEFAULT_BACKUP_FOLDER,
|
|
29407
29525
|
DEFAULT_CACHE_EXPIRATION_MS,
|
|
29408
29526
|
DEFAULT_CHUNK_OVERLAP,
|
|
@@ -29457,6 +29575,7 @@ function renderAnumaJsx(jsx3) {
|
|
|
29457
29575
|
WatermelonChatStorageAdapter,
|
|
29458
29576
|
WordProcessor,
|
|
29459
29577
|
ZipProcessor,
|
|
29578
|
+
addConversationMemoriesOp,
|
|
29460
29579
|
appFileToStored,
|
|
29461
29580
|
backfillMemoryEntityUserIdsOp,
|
|
29462
29581
|
chatStorageMigrations,
|
|
@@ -29476,6 +29595,7 @@ function renderAnumaJsx(jsx3) {
|
|
|
29476
29595
|
clearAllEncryptionState,
|
|
29477
29596
|
clearAllKeyPairs,
|
|
29478
29597
|
clearCalendarToken,
|
|
29598
|
+
clearConversationMemoriesOp,
|
|
29479
29599
|
clearDriveToken,
|
|
29480
29600
|
clearDropboxToken,
|
|
29481
29601
|
clearEncryptionKey,
|
|
@@ -29488,6 +29608,7 @@ function renderAnumaJsx(jsx3) {
|
|
|
29488
29608
|
clearNotionToken,
|
|
29489
29609
|
clearServerToolsCache,
|
|
29490
29610
|
consoleLogger,
|
|
29611
|
+
conversationMemoryToStored,
|
|
29491
29612
|
cosineInt8,
|
|
29492
29613
|
createAutoExtractor,
|
|
29493
29614
|
createCryptoPricePreProcessor,
|
|
@@ -29570,6 +29691,7 @@ function renderAnumaJsx(jsx3) {
|
|
|
29570
29691
|
getAudioOp,
|
|
29571
29692
|
getCachedServerTools,
|
|
29572
29693
|
getCalendarAccessToken,
|
|
29694
|
+
getConversationMemoriesOp,
|
|
29573
29695
|
getConversationsByProjectLazyOp,
|
|
29574
29696
|
getConversationsByProjectOp,
|
|
29575
29697
|
getConversationsLazyOp,
|