@anuma/sdk 7.5.0 → 7.6.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 +72 -10
- package/dist/expo/index.d.mts +26 -1
- package/dist/expo/index.d.ts +26 -1
- package/dist/expo/index.mjs +72 -10
- package/dist/react/index.cjs +72 -10
- package/dist/react/index.d.mts +26 -1
- package/dist/react/index.d.ts +26 -1
- package/dist/react/index.mjs +72 -10
- package/dist/server/index.cjs +72 -10
- package/dist/server/index.d.mts +26 -1
- package/dist/server/index.d.ts +26 -1
- package/dist/server/index.mjs +72 -10
- package/package.json +1 -1
package/dist/expo/index.cjs
CHANGED
|
@@ -24128,6 +24128,43 @@ function createDurableAutoExtractor(options) {
|
|
|
24128
24128
|
return "private";
|
|
24129
24129
|
}
|
|
24130
24130
|
};
|
|
24131
|
+
async function fromSource(call) {
|
|
24132
|
+
let timeout;
|
|
24133
|
+
try {
|
|
24134
|
+
return await Promise.race([
|
|
24135
|
+
call,
|
|
24136
|
+
new Promise((_resolve, reject) => {
|
|
24137
|
+
timeout = setTimeout(
|
|
24138
|
+
() => reject(new Error("Message source did not answer in time")),
|
|
24139
|
+
options.sourceTimeoutMs ?? 3e4
|
|
24140
|
+
);
|
|
24141
|
+
})
|
|
24142
|
+
]);
|
|
24143
|
+
} finally {
|
|
24144
|
+
if (timeout !== void 0) clearTimeout(timeout);
|
|
24145
|
+
}
|
|
24146
|
+
}
|
|
24147
|
+
async function loadFromSource(source, conversationId, ids) {
|
|
24148
|
+
const byId = new Map(
|
|
24149
|
+
(await fromSource(source.load(conversationId, ids))).map((m) => [m.id, m])
|
|
24150
|
+
);
|
|
24151
|
+
return ids.map((id) => {
|
|
24152
|
+
const message = byId.get(id);
|
|
24153
|
+
return message ? {
|
|
24154
|
+
uniqueId: message.id,
|
|
24155
|
+
messageId: message.seq,
|
|
24156
|
+
conversationId,
|
|
24157
|
+
role: message.role,
|
|
24158
|
+
content: message.content
|
|
24159
|
+
} : null;
|
|
24160
|
+
});
|
|
24161
|
+
}
|
|
24162
|
+
async function sourcesEligible(conversationId, ids) {
|
|
24163
|
+
const source = options.messageSource?.(conversationId);
|
|
24164
|
+
if (source)
|
|
24165
|
+
return await fromSource(source.status(conversationId)) === "ready" && (await loadFromSource(source, conversationId, ids)).every(Boolean);
|
|
24166
|
+
return await storage.conversationsCollection.query(import_watermelondb24.Q.where("conversation_id", conversationId), import_watermelondb24.Q.where("is_deleted", false)).fetchCount() > 0 && await storage.messagesCollection.query(import_watermelondb24.Q.where("conversation_id", conversationId), import_watermelondb24.Q.where("id", import_watermelondb24.Q.oneOf(ids))).fetchCount() === ids.length;
|
|
24167
|
+
}
|
|
24131
24168
|
function schedule(delay) {
|
|
24132
24169
|
if (disposed) return;
|
|
24133
24170
|
if (running || timer !== void 0) {
|
|
@@ -24156,7 +24193,7 @@ function createDurableAutoExtractor(options) {
|
|
|
24156
24193
|
...options.retainCtx,
|
|
24157
24194
|
vaultCtx: {
|
|
24158
24195
|
...vault,
|
|
24159
|
-
canWrite: async () => !disposed && !cancelled && await
|
|
24196
|
+
canWrite: async () => !disposed && !cancelled && await sourcesEligible(conversationId, ids) && (!vault.canWrite || await vault.canWrite()) && !disposed && !cancelled
|
|
24160
24197
|
}
|
|
24161
24198
|
},
|
|
24162
24199
|
extract: { ...options.extract, ...model !== void 0 && { model } },
|
|
@@ -24297,6 +24334,7 @@ function createDurableAutoExtractor(options) {
|
|
|
24297
24334
|
wakeRequested = false;
|
|
24298
24335
|
let retry = false;
|
|
24299
24336
|
let scheduleAfterSuccess = false;
|
|
24337
|
+
let sourceWaiting = false;
|
|
24300
24338
|
try {
|
|
24301
24339
|
await writes;
|
|
24302
24340
|
const pending = await jobs.query(import_watermelondb24.Q.where("owner_key", owner), import_watermelondb24.Q.where("message_ids", import_watermelondb24.Q.notEq("[]"))).fetch();
|
|
@@ -24307,23 +24345,37 @@ function createDurableAutoExtractor(options) {
|
|
|
24307
24345
|
const attempted = attempts.get(job.id) ?? 0;
|
|
24308
24346
|
if (attempted >= MAX_ATTEMPTS || skippedThisSession.has(job.id) || awaitingKey.has(job.id))
|
|
24309
24347
|
continue;
|
|
24348
|
+
const conversationId = String(job._getRaw("conversation_id"));
|
|
24349
|
+
const source = options.messageSource?.(conversationId);
|
|
24350
|
+
let sourceStatus;
|
|
24351
|
+
if (source) {
|
|
24352
|
+
try {
|
|
24353
|
+
sourceStatus = await fromSource(source.status(conversationId));
|
|
24354
|
+
} catch (error) {
|
|
24355
|
+
reportError(error, conversationId);
|
|
24356
|
+
sourceStatus = "later";
|
|
24357
|
+
}
|
|
24358
|
+
if (sourceStatus === "later") {
|
|
24359
|
+
sourceWaiting = true;
|
|
24360
|
+
continue;
|
|
24361
|
+
}
|
|
24362
|
+
}
|
|
24310
24363
|
if (processed >= MAX_JOBS_PER_PASS) {
|
|
24311
24364
|
scheduleAfterSuccess = true;
|
|
24312
24365
|
break;
|
|
24313
24366
|
}
|
|
24314
24367
|
processed++;
|
|
24315
|
-
const conversationId = String(job._getRaw("conversation_id"));
|
|
24316
24368
|
const epochAtRead = keyEpoch;
|
|
24317
24369
|
let ids = [];
|
|
24318
24370
|
let loaded = [];
|
|
24319
24371
|
try {
|
|
24320
|
-
const
|
|
24321
|
-
if (!
|
|
24372
|
+
const present = source ? sourceStatus === "ready" : await storage.conversationsCollection.query(import_watermelondb24.Q.where("conversation_id", conversationId), import_watermelondb24.Q.where("is_deleted", false)).fetchCount() > 0;
|
|
24373
|
+
if (!present) {
|
|
24322
24374
|
await database.write(() => job.destroyPermanently());
|
|
24323
24375
|
continue;
|
|
24324
24376
|
}
|
|
24325
24377
|
ids = idsOf(job).slice(0, 20);
|
|
24326
|
-
loaded = await Promise.all(ids.map((id) => getMessageOp(storage, id)));
|
|
24378
|
+
loaded = source ? await loadFromSource(source, conversationId, ids) : await Promise.all(ids.map((id) => getMessageOp(storage, id)));
|
|
24327
24379
|
const missing = ids.filter((_id, index) => loaded[index] === null);
|
|
24328
24380
|
if (missing.length) {
|
|
24329
24381
|
if (attempted < MAX_ATTEMPTS - 1)
|
|
@@ -24367,7 +24419,7 @@ function createDurableAutoExtractor(options) {
|
|
|
24367
24419
|
);
|
|
24368
24420
|
continue;
|
|
24369
24421
|
}
|
|
24370
|
-
const locked = loaded.filter(
|
|
24422
|
+
const locked = source ? [] : loaded.filter(
|
|
24371
24423
|
(message) => !!message && isEncrypted(message.content)
|
|
24372
24424
|
);
|
|
24373
24425
|
if (locked.length) {
|
|
@@ -24455,6 +24507,7 @@ function createDurableAutoExtractor(options) {
|
|
|
24455
24507
|
wakeRequested = false;
|
|
24456
24508
|
if (retry || scheduleAfterSuccess || woken)
|
|
24457
24509
|
schedule(retry ? options.retryDelayMs ?? 3e4 : 0);
|
|
24510
|
+
else if (sourceWaiting) schedule(options.retryDelayMs ?? 3e4);
|
|
24458
24511
|
}
|
|
24459
24512
|
}
|
|
24460
24513
|
function dispose() {
|
|
@@ -24489,7 +24542,8 @@ function createDurableAutoExtractor(options) {
|
|
|
24489
24542
|
(candidate) => candidate._getRaw("scope") === scope && (candidate._getRaw("folder_id") ?? null) === folderId
|
|
24490
24543
|
);
|
|
24491
24544
|
const positions = new Map(ids.map((id, index) => [id, index]));
|
|
24492
|
-
const
|
|
24545
|
+
const fromSourceConversation = options.messageSource?.(conversationId) !== void 0;
|
|
24546
|
+
const watermarks = fromSourceConversation ? [] : existing.flatMap((prior) => {
|
|
24493
24547
|
const watermark = prior._getRaw("watermark");
|
|
24494
24548
|
return typeof watermark === "string" && watermark ? [watermark] : [];
|
|
24495
24549
|
});
|
|
@@ -24507,11 +24561,16 @@ function createDurableAutoExtractor(options) {
|
|
|
24507
24561
|
r._setRaw("watermark_seq", null);
|
|
24508
24562
|
});
|
|
24509
24563
|
}
|
|
24510
|
-
const rows = await storage.messagesCollection.query(import_watermelondb24.Q.where("id", import_watermelondb24.Q.oneOf(ids))).fetch();
|
|
24564
|
+
const rows = fromSourceConversation ? [] : await storage.messagesCollection.query(import_watermelondb24.Q.where("id", import_watermelondb24.Q.oneOf(ids))).fetch();
|
|
24511
24565
|
const foreignRows = new Set(
|
|
24512
24566
|
rows.filter((row) => row._getRaw("conversation_id") !== conversationId).map((row) => row.id)
|
|
24513
24567
|
);
|
|
24514
24568
|
const sequences = /* @__PURE__ */ new Map();
|
|
24569
|
+
if (fromSourceConversation) {
|
|
24570
|
+
for (const message of messages)
|
|
24571
|
+
if (message.seq !== void 0 && message.seq > 0)
|
|
24572
|
+
sequences.set(message.id, message.seq);
|
|
24573
|
+
}
|
|
24515
24574
|
for (const row of rows) {
|
|
24516
24575
|
if (foreignRows.has(row.id)) continue;
|
|
24517
24576
|
const sequence = Number(row._getRaw("message_id"));
|
|
@@ -24544,14 +24603,17 @@ function createDurableAutoExtractor(options) {
|
|
|
24544
24603
|
reportError(error, conversationId);
|
|
24545
24604
|
}
|
|
24546
24605
|
}
|
|
24547
|
-
|
|
24606
|
+
const ordered = fromSourceConversation && ids.every((id) => sequences.has(id));
|
|
24607
|
+
if (boundary < 0 && !ordered && existing.some(
|
|
24608
|
+
(prior) => idsOf(prior).length > 0 || seqOf(prior) !== void 0 || fromSourceConversation && !!prior._getRaw("watermark")
|
|
24609
|
+
)) {
|
|
24548
24610
|
reportError(
|
|
24549
24611
|
new Error("Extraction boundary unresolved; skipped rather than re-observing"),
|
|
24550
24612
|
conversationId
|
|
24551
24613
|
);
|
|
24552
24614
|
return;
|
|
24553
24615
|
}
|
|
24554
|
-
const start = boundary >= 0 ? boundary + 1 : Math.max(0, ids.length - Math.max(1, options.windowSize ?? 6));
|
|
24616
|
+
const start = boundary >= 0 ? boundary + 1 : fromSourceConversation ? 0 : Math.max(0, ids.length - Math.max(1, options.windowSize ?? 6));
|
|
24555
24617
|
if (start >= ids.length) return;
|
|
24556
24618
|
const ownWatermark = job?._getRaw("watermark");
|
|
24557
24619
|
const atOwnWatermark = !!job && boundary >= 0 && failedSessionsOf(job, String(ownWatermark)) < MAX_FAILED_SESSIONS && (ids[boundary] === ownWatermark || sequences.get(ids[boundary]) !== void 0 && sequences.get(ids[boundary]) === seqOf(job));
|
package/dist/expo/index.d.mts
CHANGED
|
@@ -4987,6 +4987,8 @@ interface AutoExtractMessage {
|
|
|
4987
4987
|
id: string;
|
|
4988
4988
|
role: "user" | "assistant";
|
|
4989
4989
|
content: string;
|
|
4990
|
+
/** Position in the conversation, for a conversation outside local chat history. */
|
|
4991
|
+
seq?: number;
|
|
4990
4992
|
}
|
|
4991
4993
|
/**
|
|
4992
4994
|
* A named entity extracted from the conversation, with an optional
|
|
@@ -10111,6 +10113,21 @@ declare function shouldRecallMemory(query: string): boolean;
|
|
|
10111
10113
|
* legitimate empty search with unrelated vault contents. */
|
|
10112
10114
|
declare function assembleMemoryContext(options: MemoryContextOptions): Promise<MemoryContextResult>;
|
|
10113
10115
|
|
|
10116
|
+
/** A message a {@link ExtractionMessageSource} resolves from a queued id. */
|
|
10117
|
+
interface ExtractionSourceMessage {
|
|
10118
|
+
id: string;
|
|
10119
|
+
role: "user" | "assistant";
|
|
10120
|
+
content: string;
|
|
10121
|
+
/** Position in the conversation; must increase with send order. */
|
|
10122
|
+
seq: number;
|
|
10123
|
+
}
|
|
10124
|
+
/** `ready` runs the job, `later` leaves it queued without counting an attempt, `gone` drops it. */
|
|
10125
|
+
type ExtractionSourceStatus = "ready" | "later" | "gone";
|
|
10126
|
+
/** Resolves queued ids for a conversation that does not live in local chat history. */
|
|
10127
|
+
interface ExtractionMessageSource {
|
|
10128
|
+
status(conversationId: string): Promise<ExtractionSourceStatus>;
|
|
10129
|
+
load(conversationId: string, ids: string[]): Promise<ExtractionSourceMessage[]>;
|
|
10130
|
+
}
|
|
10114
10131
|
interface DurableAutoExtractorOptions extends Omit<CreateAutoExtractorOptions, "scope"> {
|
|
10115
10132
|
/**
|
|
10116
10133
|
* Scope for facts retained from newly queued turns. Pass an accessor to have
|
|
@@ -10149,6 +10166,14 @@ interface DurableAutoExtractorOptions extends Omit<CreateAutoExtractorOptions, "
|
|
|
10149
10166
|
batchTimeoutMs?: number;
|
|
10150
10167
|
/** Clock for the failed-session spacing. Defaults to `Date.now`. */
|
|
10151
10168
|
now?: () => number;
|
|
10169
|
+
/**
|
|
10170
|
+
* Message source for a conversation outside local chat history, or `undefined`
|
|
10171
|
+
* for history. Jobs still store only ids; the source resolves them at drain
|
|
10172
|
+
* time and is re-checked before every write.
|
|
10173
|
+
*/
|
|
10174
|
+
messageSource?: (conversationId: string) => ExtractionMessageSource | undefined;
|
|
10175
|
+
/** Ceiling on one `status` or `load` call of a message source. Defaults to 30 seconds. */
|
|
10176
|
+
sourceTimeoutMs?: number;
|
|
10152
10177
|
}
|
|
10153
10178
|
/** Durable client extraction. Call once per authenticated database session.
|
|
10154
10179
|
* Resumes pending jobs on creation, reads bounded batches from encrypted
|
|
@@ -11496,4 +11521,4 @@ interface UseChatStorageResult extends BaseUseChatStorageResult {
|
|
|
11496
11521
|
*/
|
|
11497
11522
|
declare function useChatStorage(options: UseChatStorageOptions): UseChatStorageResult;
|
|
11498
11523
|
|
|
11499
|
-
export { type AutoExtractMessage, type AutoExtractor, type Budget, CHUNKS_DISCARDED_ORIGIN, type CachedChunkVectors, type CachedServerTools, Conversation as ChatConversation, Message as ChatMessage, type ChatRole, type ChunkSearchStats, type ChunkVectorCache, type ChunkingOptions, type ConsolidationAction, type ConsolidationFallbackReason, type ConversationMemoryInput, ConversationMemory as ConversationMemoryModel, type ConversationMemoryOperationsContext, type CreateAutoExtractorOptions, type CreateConversationOptions, type CreateDecaySweeperOptions, type CreateMessageOptions, type CreateVaultFolderOptions, type CreateVaultMemoryOptions, type CryptoPriceClassification, type CryptoPricePreProcessorOptions, DEFAULT_CACHE_EXPIRATION_MS, DEFAULT_CHUNK_CACHE_SIZE, DEFAULT_CHUNK_OVERLAP, DEFAULT_CHUNK_SIZE, DEFAULT_DECAY_POLICY, DEFAULT_MAX_CLASSIFIER_CALLS_PER_SWEEP, DEFAULT_MIN_CHUNK_SIZE, DEFAULT_PROFILE_FACETS, DEFAULT_PROFILE_FACT_TYPE_WEIGHTS, DEFAULT_PROFILE_PROOF_ALPHA, DEFAULT_PROFILE_TREND_MULTIPLIERS, DEFAULT_VAULT_CACHE_SIZE, DatabaseManager, type DatabaseManagerLogger, type DatabaseManagerOptions, type DecayCandidateRaw, type DecayClassifier, type DecayInput, type DecayPolicy, type DecaySweepResult, type DecaySweeper, type DecayVerdict, type DurableAutoExtractorOptions, ENTITY_FANOUT, type EmbeddedWalletSignerFn, type EmbeddingRepairOptions, type EmbeddingRepairResult, EncryptionKeyMissingError, type ExtractFactsOptions, type ExtractOutcome, type ExtractedCandidate, type ExtractedEntity, type ExtractionCursorStore, type ExtractionFunnel, type ExtractionTimings, type FactType, type FileMetadata, type FileProcessingReason, type FileProcessingStatus, type FlushResult, type GetConversationsPageOptions, type GetMessagesPageOptions, type GraphTraversalOptions, HARD_DELETE_WINDOW_MS, INFERENCE_ID_HEADER, type InjectionClassifierOptions, type InjectionReason, type LazyStoredConversation, type LlmDecayClassifierOptions, type LlmNeighborRefinerOptions, type LocalMemoryStoreOptions, type Logger, LoggerProvider, type LoggerProviderProps, MAX_HOPS, MEDIUM_TTL_MS, MEMORY_KINDS, MEMORY_LEVELS, type ManualFactType, type MemoriesNeedingTopicExtraction, type MemoryContextItem, type MemoryContextLane, type MemoryContextOptions, type MemoryContextResult, type MemoryCreate, type MemoryDecay, type MemoryDecaySweeperOptions, type EmbeddingOptions as MemoryEngineEmbeddingOptions, type MemoryEngineResult, type MemoryEngineSearchOptions, type MemoryExtractedEvent, MemoryKeyError, type MemoryKeyRing, type MemoryKind, type MemoryLevel, MemoryLevelError, type MemoryListOptions, type MemoryMaintenance, type MemoryMigrationOptions, type MemoryMigrationProgress, type MemoryMigrationResult, type MemoryMigrationSkip, type MemoryQuarantinedEvent, type MemoryRecallOptions, type MemoryRetainOptions, type MemoryStore, type MemorySubscribeOptions, type MemoryToVerify, type MemoryTopic, type MemoryTopicBacklog, type MemoryTopicMaintenance, type MemoryUpdate, type MemoryVaultSearchOptions, type MemoryVaultToolOptions, type MemoryVerification, type MessageRedactionResult, type MessageSkeleton, NEVER_TTL_MS, NODE_BUDGET, NOTION_OAUTH_CONFIG, type NeighborRefiner, type NotionAuthUrlParams, type NotionClientRegistration, type NotionExchangeCodeParams, type NotionMcpCaller, type NotionOAuthEndpoints, type NotionPKCEChallenge, type NotionRefreshTokenParams, type NotionTokenResponse, type NowSource, type ObservationTrend, type ObservationTrendInput, PAST_EVENT_GRACE_MS, PII_PATTERNS, PROFILE_DOC_VERSION, type PhotoIngestResult, type PhotoMediaRef, type PiiCategory, type PiiMatch, type PiiPattern, PiiRedactor, type PiiRedactorOptions, type PlatformStorage, type PortalLlmAuth, type PortalLlmFailure, type PortalLlmFailureReason, type ProfileConfigFingerprint, type ProfileDoc, type ProfileFacet, type ProfileFacetKey, type ProfileSalienceInput, type ProfileSection, type PromptPreProcessor, type PromptPreProcessorContext, type PublishedPhotoMemory, type QuantizedEmbedding, type QuarantinedMemoryInfo, QueueManager, type QueueStatus, RECALL_MAX_LIMIT, RECALL_TOOL_NAME, type RankableVaultMemory, type RankedMemory, type RankedProfileCandidate, type RecallContext, type RecallDegradation, type RecallDiagnostics, type RecallEmptyReason, type RecallOptions, type RecallResult, type RecallTelemetryCallbacks, type RecallToolCallbacks, type RecallToolOptions, type RecallTruncation, type RecencyOptions, type RedactionResult, type ReflectOptions, type ReflectResult, type RemoteMemoryCandidateOptions, type RemoteMemoryDecodeFailure, RemoteMemoryError, type RemoteMemoryListOptions, type RemoteMemoryMetadataPage, type RemoteMemoryMetadataRecord, type RemoteMemoryPage, RemoteMemoryPartialCreateError, type RemoteMemoryPersistence, type RemoteMemoryPersistenceOptions, type RemoteMemoryPipeline, type RemoteMemoryPipelineOptions, type RemoteMemoryQueryOptions, type RemoteMemoryQueryPage, type RemoteMemoryReadFilters, type RemoteMemoryRecord, type RemoteMemoryRow, type RemoteMemoryStoreOptions, type RequestEncryptionKeyOptions, RerankerUnavailableError, type ReservationReceipt, type ResumeStreamOptions, type ResumeStreamResult, type ResumeStreamWithStorageResult, type RetainAction, type RetainContext, type RetainOptions, type RetainResult, type RetainSource, SDK_SCHEMA_VERSION, SHORT_TTL_MS, STREAM_RESUMABLE_HEADER, type ScoreBreakdown, type ScoreProfileSalienceOptions, type ScreenResult, type ScreenedCandidate, type SearchSource, type SendMessageWithStorageArgs, type SendMessageWithStorageDetachedResult, type SendMessageWithStorageResult, type ServerToolsOptions, type ServerToolsResponse, type SignMessageFn, type StockPriceClassification, type StockPricePreProcessorOptions, type ChatCompletionUsage as StoredChatCompletionUsage, type StoredConversation, type StoredConversationMemory, type StoredMessage, type StoredMessageWithSimilarity, type StoredTopic, type StoredVaultFolder, VaultFolder as StoredVaultFolderModel, type StoredVaultMemory, VaultMemory as StoredVaultMemoryModel, StreamExpiredError, type StreamMetaEvent, type StreamResumeHandle, type StreamSmoothingConfig, type SynthesizeProfileOptions, TOOL_RESULT_ORIGIN, TOPICS_EXTRACTION_VERSION, TOPIC_EXTRACTION_BATCH_SIZE, TOPIC_SALIENCE_WEIGHTS, TREND_RECENT_WINDOW_DAYS, TREND_STALE_WINDOW_DAYS, type TextChunk, type TopicExtractOptions, type TopicExtractionBatchDiagnostics, type TopicExtractionInput, type TopicExtractionRunResult, type TopicSalience, type TopicSkipReason, type TurnCompleteEvent, type TurnSkippedEvent, type UncheckedReason, type UnverifiableReason, type UpdateVaultFolderOptions, type UpdateVaultMemoryOptions, type UseChatStorageOptions, type UseChatStorageResult, type UseCreditsOptions, type UseCreditsResult, type UseModelsOptions, type UseModelsResult, VAULT_SIZE_HOP_CAP, type VaultEmbeddingCache, type VaultEmbeddingExpectation, type VaultFolderOperationsContext, type VaultMemoryKind, type VaultMemoryOperationsContext, type VaultMemoryProjection, type VaultMemoryVisibility, type VaultMemoryWriter, type VaultSaveOperation, type VaultSearchResult, type VaultWriteAction, type VaultWriteInput, type VaultWriteOutcome, type VerificationSources, type VerifyMemoriesForPublishOptions, WalletPoller, type WeatherClassification, type WeatherPreProcessorOptions, type WebSearchClassification, type WebSearchPreProcessorOptions, type WriteFailureReason, addConversationMemoriesOp, archiveVaultMemoryOp, assembleMemoryContext, attachFileContextToLastUserMessage, backfillMemoryTopicsOp, buildAttachedFilesText, buildNotionAuthUrl, capHopsForDensity, chatStorageMigrations, chatStorageSchema, chunkAndEmbedAllMessages, chunkAndEmbedMessage, chunkText, classifyCryptoPrice, classifyCryptoPriceBatch, classifyDecay, classifyInjectionCandidates, classifyObservationTrend, classifyStockPrice, classifyStockPriceBatch, classifyWeather, classifyWeatherBatch, classifyWebSearch, classifyWebSearchBatch, clearAllEncryptionKeys, clearAllEncryptionState, clearConversationMemoriesOp, clearEncryptionKey, clearLazyTitleCache, clearModelsCache, clearServerToolsCache, consoleLogger, conversationMemoryToStored, cosineInt8, createAutoExtractor, createChunkVectorCache, createCryptoPricePreProcessor, createDecaySweeper, createDurableAutoExtractor, createLlmDecayClassifier, createLlmNeighborRefiner, createLocalMemoryStore, createMemoryEngineTool, createMemoryVaultSearchTool, createMemoryVaultTool, createMessageSourceResolver, createNotionProxyTools, createNotionTools, createPlatformCursorStore, createRecallTool, createRemoteMemoryPersistence, createRemoteMemoryPipeline, createRemoteMemoryStore, createStockPricePreProcessor, createStreamingDeAnonymizer, createVaultEmbeddingCache, createVaultFolderOp, createVaultMemoriesBatchOp, createVaultMemoryOp, createWeatherPreProcessor, createWebSearchPreProcessor, decodeChunkVector, decryptConversationTitle, deleteAllVaultMemoriesForUserOp, deleteMessageOp, deleteVaultFolderOp, deleteVaultMemoryOp, dequantizeEmbedding, deriveKeyFromSignatureBytes, deriveMemoryKeyRing, discoverNotionOAuthEndpoints, eagerEmbedContent, embedAllMessages, embedMessage, encodeChunkVector, encryptToolCallEventsOp, ensureDefaultFoldersOp, exchangeNotionCode, extractAndLinkEntitiesForMemoriesOp, extractAndRetain, extractEntitiesForMemories, extractFacts, extractReservationReceipts, formatFileProcessingNotes, generateConversationId, generateEmbedding, generateEmbeddings, generateNotionPKCE, getAllVaultFoldersOp, getAllVaultMemoriesOp, getAllVaultMemoryContentsOp, getCachedServerTools, getConversationMemoriesOp, getConversationsByProjectLazyOp, getConversationsLazyOp, getConversationsPageOp, getDecayCandidatesRawOp, getLogger, getMemoriesNeedingTopicExtractionOp, getServerTools, getUnfiledVaultMemoriesOp, getVaultFolderMemoryCountOp, getVaultMemoriesByIdsOp, getVaultMemoryOp, getVaultRankingProjectionsOp, hardDeleteDecayedOp, hasEncryptionKey, ingestPublishedPhotoMemoriesOp, injectionSignatureCatalog, isAttachedFilesText, isDegradedTopicSkip, isEncrypted, isPiiRedactor, isRerankerAvailable, maskScopedEmbeddingCache, memoryCipher, migrateMemoriesToRemote, moveMemoriesToFolderOp, noopLogger, onKeyAvailable, parseMedia, preEmbedVaultMemories, primaryTopic, quantizeEmbedding, queueManager, rankProfileCandidates, recall, reencryptMemoryField, reflect, refreshEncryptionKeyIfMatches, refreshNotionAccessToken, registerNotionClient, relinkMemoryTopicsOp, requestEncryptionKey, resolvePiiRedactor, restoreVaultMemoryOp, resumeStream, retain, scoreProfileSalience, screenCandidatesForInjection, sdkMigrations, sdkModelClasses, sdkSchema, searchVaultMemories, seedEncryptionKeys, setLogger, setMemoryVisibilityOp, shouldChunkMessage, shouldRecallMemory, stampTopicsExtractedAtOp, streamCancelPath, streamReplayPath, stripLegacyChunkTextOp, summarizeObservationTrends, supersedeVaultMemoryOp, synthesizeProfile, topicWeight, traverseGraphLane, ttlForType, updateVaultFolderContextOp, updateVaultFolderOp, updateVaultMemoryEmbeddingOp, updateVaultMemoryOp, upsertMessageOp, useChat, useChatStorage, useCredits, useEncryption, useModels, verifyMemoriesForPublish, xhrTransport };
|
|
11524
|
+
export { type AutoExtractMessage, type AutoExtractor, type Budget, CHUNKS_DISCARDED_ORIGIN, type CachedChunkVectors, type CachedServerTools, Conversation as ChatConversation, Message as ChatMessage, type ChatRole, type ChunkSearchStats, type ChunkVectorCache, type ChunkingOptions, type ConsolidationAction, type ConsolidationFallbackReason, type ConversationMemoryInput, ConversationMemory as ConversationMemoryModel, type ConversationMemoryOperationsContext, type CreateAutoExtractorOptions, type CreateConversationOptions, type CreateDecaySweeperOptions, type CreateMessageOptions, type CreateVaultFolderOptions, type CreateVaultMemoryOptions, type CryptoPriceClassification, type CryptoPricePreProcessorOptions, DEFAULT_CACHE_EXPIRATION_MS, DEFAULT_CHUNK_CACHE_SIZE, DEFAULT_CHUNK_OVERLAP, DEFAULT_CHUNK_SIZE, DEFAULT_DECAY_POLICY, DEFAULT_MAX_CLASSIFIER_CALLS_PER_SWEEP, DEFAULT_MIN_CHUNK_SIZE, DEFAULT_PROFILE_FACETS, DEFAULT_PROFILE_FACT_TYPE_WEIGHTS, DEFAULT_PROFILE_PROOF_ALPHA, DEFAULT_PROFILE_TREND_MULTIPLIERS, DEFAULT_VAULT_CACHE_SIZE, DatabaseManager, type DatabaseManagerLogger, type DatabaseManagerOptions, type DecayCandidateRaw, type DecayClassifier, type DecayInput, type DecayPolicy, type DecaySweepResult, type DecaySweeper, type DecayVerdict, type DurableAutoExtractorOptions, ENTITY_FANOUT, type EmbeddedWalletSignerFn, type EmbeddingRepairOptions, type EmbeddingRepairResult, EncryptionKeyMissingError, type ExtractFactsOptions, type ExtractOutcome, type ExtractedCandidate, type ExtractedEntity, type ExtractionCursorStore, type ExtractionFunnel, type ExtractionMessageSource, type ExtractionSourceMessage, type ExtractionSourceStatus, type ExtractionTimings, type FactType, type FileMetadata, type FileProcessingReason, type FileProcessingStatus, type FlushResult, type GetConversationsPageOptions, type GetMessagesPageOptions, type GraphTraversalOptions, HARD_DELETE_WINDOW_MS, INFERENCE_ID_HEADER, type InjectionClassifierOptions, type InjectionReason, type LazyStoredConversation, type LlmDecayClassifierOptions, type LlmNeighborRefinerOptions, type LocalMemoryStoreOptions, type Logger, LoggerProvider, type LoggerProviderProps, MAX_HOPS, MEDIUM_TTL_MS, MEMORY_KINDS, MEMORY_LEVELS, type ManualFactType, type MemoriesNeedingTopicExtraction, type MemoryContextItem, type MemoryContextLane, type MemoryContextOptions, type MemoryContextResult, type MemoryCreate, type MemoryDecay, type MemoryDecaySweeperOptions, type EmbeddingOptions as MemoryEngineEmbeddingOptions, type MemoryEngineResult, type MemoryEngineSearchOptions, type MemoryExtractedEvent, MemoryKeyError, type MemoryKeyRing, type MemoryKind, type MemoryLevel, MemoryLevelError, type MemoryListOptions, type MemoryMaintenance, type MemoryMigrationOptions, type MemoryMigrationProgress, type MemoryMigrationResult, type MemoryMigrationSkip, type MemoryQuarantinedEvent, type MemoryRecallOptions, type MemoryRetainOptions, type MemoryStore, type MemorySubscribeOptions, type MemoryToVerify, type MemoryTopic, type MemoryTopicBacklog, type MemoryTopicMaintenance, type MemoryUpdate, type MemoryVaultSearchOptions, type MemoryVaultToolOptions, type MemoryVerification, type MessageRedactionResult, type MessageSkeleton, NEVER_TTL_MS, NODE_BUDGET, NOTION_OAUTH_CONFIG, type NeighborRefiner, type NotionAuthUrlParams, type NotionClientRegistration, type NotionExchangeCodeParams, type NotionMcpCaller, type NotionOAuthEndpoints, type NotionPKCEChallenge, type NotionRefreshTokenParams, type NotionTokenResponse, type NowSource, type ObservationTrend, type ObservationTrendInput, PAST_EVENT_GRACE_MS, PII_PATTERNS, PROFILE_DOC_VERSION, type PhotoIngestResult, type PhotoMediaRef, type PiiCategory, type PiiMatch, type PiiPattern, PiiRedactor, type PiiRedactorOptions, type PlatformStorage, type PortalLlmAuth, type PortalLlmFailure, type PortalLlmFailureReason, type ProfileConfigFingerprint, type ProfileDoc, type ProfileFacet, type ProfileFacetKey, type ProfileSalienceInput, type ProfileSection, type PromptPreProcessor, type PromptPreProcessorContext, type PublishedPhotoMemory, type QuantizedEmbedding, type QuarantinedMemoryInfo, QueueManager, type QueueStatus, RECALL_MAX_LIMIT, RECALL_TOOL_NAME, type RankableVaultMemory, type RankedMemory, type RankedProfileCandidate, type RecallContext, type RecallDegradation, type RecallDiagnostics, type RecallEmptyReason, type RecallOptions, type RecallResult, type RecallTelemetryCallbacks, type RecallToolCallbacks, type RecallToolOptions, type RecallTruncation, type RecencyOptions, type RedactionResult, type ReflectOptions, type ReflectResult, type RemoteMemoryCandidateOptions, type RemoteMemoryDecodeFailure, RemoteMemoryError, type RemoteMemoryListOptions, type RemoteMemoryMetadataPage, type RemoteMemoryMetadataRecord, type RemoteMemoryPage, RemoteMemoryPartialCreateError, type RemoteMemoryPersistence, type RemoteMemoryPersistenceOptions, type RemoteMemoryPipeline, type RemoteMemoryPipelineOptions, type RemoteMemoryQueryOptions, type RemoteMemoryQueryPage, type RemoteMemoryReadFilters, type RemoteMemoryRecord, type RemoteMemoryRow, type RemoteMemoryStoreOptions, type RequestEncryptionKeyOptions, RerankerUnavailableError, type ReservationReceipt, type ResumeStreamOptions, type ResumeStreamResult, type ResumeStreamWithStorageResult, type RetainAction, type RetainContext, type RetainOptions, type RetainResult, type RetainSource, SDK_SCHEMA_VERSION, SHORT_TTL_MS, STREAM_RESUMABLE_HEADER, type ScoreBreakdown, type ScoreProfileSalienceOptions, type ScreenResult, type ScreenedCandidate, type SearchSource, type SendMessageWithStorageArgs, type SendMessageWithStorageDetachedResult, type SendMessageWithStorageResult, type ServerToolsOptions, type ServerToolsResponse, type SignMessageFn, type StockPriceClassification, type StockPricePreProcessorOptions, type ChatCompletionUsage as StoredChatCompletionUsage, type StoredConversation, type StoredConversationMemory, type StoredMessage, type StoredMessageWithSimilarity, type StoredTopic, type StoredVaultFolder, VaultFolder as StoredVaultFolderModel, type StoredVaultMemory, VaultMemory as StoredVaultMemoryModel, StreamExpiredError, type StreamMetaEvent, type StreamResumeHandle, type StreamSmoothingConfig, type SynthesizeProfileOptions, TOOL_RESULT_ORIGIN, TOPICS_EXTRACTION_VERSION, TOPIC_EXTRACTION_BATCH_SIZE, TOPIC_SALIENCE_WEIGHTS, TREND_RECENT_WINDOW_DAYS, TREND_STALE_WINDOW_DAYS, type TextChunk, type TopicExtractOptions, type TopicExtractionBatchDiagnostics, type TopicExtractionInput, type TopicExtractionRunResult, type TopicSalience, type TopicSkipReason, type TurnCompleteEvent, type TurnSkippedEvent, type UncheckedReason, type UnverifiableReason, type UpdateVaultFolderOptions, type UpdateVaultMemoryOptions, type UseChatStorageOptions, type UseChatStorageResult, type UseCreditsOptions, type UseCreditsResult, type UseModelsOptions, type UseModelsResult, VAULT_SIZE_HOP_CAP, type VaultEmbeddingCache, type VaultEmbeddingExpectation, type VaultFolderOperationsContext, type VaultMemoryKind, type VaultMemoryOperationsContext, type VaultMemoryProjection, type VaultMemoryVisibility, type VaultMemoryWriter, type VaultSaveOperation, type VaultSearchResult, type VaultWriteAction, type VaultWriteInput, type VaultWriteOutcome, type VerificationSources, type VerifyMemoriesForPublishOptions, WalletPoller, type WeatherClassification, type WeatherPreProcessorOptions, type WebSearchClassification, type WebSearchPreProcessorOptions, type WriteFailureReason, addConversationMemoriesOp, archiveVaultMemoryOp, assembleMemoryContext, attachFileContextToLastUserMessage, backfillMemoryTopicsOp, buildAttachedFilesText, buildNotionAuthUrl, capHopsForDensity, chatStorageMigrations, chatStorageSchema, chunkAndEmbedAllMessages, chunkAndEmbedMessage, chunkText, classifyCryptoPrice, classifyCryptoPriceBatch, classifyDecay, classifyInjectionCandidates, classifyObservationTrend, classifyStockPrice, classifyStockPriceBatch, classifyWeather, classifyWeatherBatch, classifyWebSearch, classifyWebSearchBatch, clearAllEncryptionKeys, clearAllEncryptionState, clearConversationMemoriesOp, clearEncryptionKey, clearLazyTitleCache, clearModelsCache, clearServerToolsCache, consoleLogger, conversationMemoryToStored, cosineInt8, createAutoExtractor, createChunkVectorCache, createCryptoPricePreProcessor, createDecaySweeper, createDurableAutoExtractor, createLlmDecayClassifier, createLlmNeighborRefiner, createLocalMemoryStore, createMemoryEngineTool, createMemoryVaultSearchTool, createMemoryVaultTool, createMessageSourceResolver, createNotionProxyTools, createNotionTools, createPlatformCursorStore, createRecallTool, createRemoteMemoryPersistence, createRemoteMemoryPipeline, createRemoteMemoryStore, createStockPricePreProcessor, createStreamingDeAnonymizer, createVaultEmbeddingCache, createVaultFolderOp, createVaultMemoriesBatchOp, createVaultMemoryOp, createWeatherPreProcessor, createWebSearchPreProcessor, decodeChunkVector, decryptConversationTitle, deleteAllVaultMemoriesForUserOp, deleteMessageOp, deleteVaultFolderOp, deleteVaultMemoryOp, dequantizeEmbedding, deriveKeyFromSignatureBytes, deriveMemoryKeyRing, discoverNotionOAuthEndpoints, eagerEmbedContent, embedAllMessages, embedMessage, encodeChunkVector, encryptToolCallEventsOp, ensureDefaultFoldersOp, exchangeNotionCode, extractAndLinkEntitiesForMemoriesOp, extractAndRetain, extractEntitiesForMemories, extractFacts, extractReservationReceipts, formatFileProcessingNotes, generateConversationId, generateEmbedding, generateEmbeddings, generateNotionPKCE, getAllVaultFoldersOp, getAllVaultMemoriesOp, getAllVaultMemoryContentsOp, getCachedServerTools, getConversationMemoriesOp, getConversationsByProjectLazyOp, getConversationsLazyOp, getConversationsPageOp, getDecayCandidatesRawOp, getLogger, getMemoriesNeedingTopicExtractionOp, getServerTools, getUnfiledVaultMemoriesOp, getVaultFolderMemoryCountOp, getVaultMemoriesByIdsOp, getVaultMemoryOp, getVaultRankingProjectionsOp, hardDeleteDecayedOp, hasEncryptionKey, ingestPublishedPhotoMemoriesOp, injectionSignatureCatalog, isAttachedFilesText, isDegradedTopicSkip, isEncrypted, isPiiRedactor, isRerankerAvailable, maskScopedEmbeddingCache, memoryCipher, migrateMemoriesToRemote, moveMemoriesToFolderOp, noopLogger, onKeyAvailable, parseMedia, preEmbedVaultMemories, primaryTopic, quantizeEmbedding, queueManager, rankProfileCandidates, recall, reencryptMemoryField, reflect, refreshEncryptionKeyIfMatches, refreshNotionAccessToken, registerNotionClient, relinkMemoryTopicsOp, requestEncryptionKey, resolvePiiRedactor, restoreVaultMemoryOp, resumeStream, retain, scoreProfileSalience, screenCandidatesForInjection, sdkMigrations, sdkModelClasses, sdkSchema, searchVaultMemories, seedEncryptionKeys, setLogger, setMemoryVisibilityOp, shouldChunkMessage, shouldRecallMemory, stampTopicsExtractedAtOp, streamCancelPath, streamReplayPath, stripLegacyChunkTextOp, summarizeObservationTrends, supersedeVaultMemoryOp, synthesizeProfile, topicWeight, traverseGraphLane, ttlForType, updateVaultFolderContextOp, updateVaultFolderOp, updateVaultMemoryEmbeddingOp, updateVaultMemoryOp, upsertMessageOp, useChat, useChatStorage, useCredits, useEncryption, useModels, verifyMemoriesForPublish, xhrTransport };
|
package/dist/expo/index.d.ts
CHANGED
|
@@ -4987,6 +4987,8 @@ interface AutoExtractMessage {
|
|
|
4987
4987
|
id: string;
|
|
4988
4988
|
role: "user" | "assistant";
|
|
4989
4989
|
content: string;
|
|
4990
|
+
/** Position in the conversation, for a conversation outside local chat history. */
|
|
4991
|
+
seq?: number;
|
|
4990
4992
|
}
|
|
4991
4993
|
/**
|
|
4992
4994
|
* A named entity extracted from the conversation, with an optional
|
|
@@ -10111,6 +10113,21 @@ declare function shouldRecallMemory(query: string): boolean;
|
|
|
10111
10113
|
* legitimate empty search with unrelated vault contents. */
|
|
10112
10114
|
declare function assembleMemoryContext(options: MemoryContextOptions): Promise<MemoryContextResult>;
|
|
10113
10115
|
|
|
10116
|
+
/** A message a {@link ExtractionMessageSource} resolves from a queued id. */
|
|
10117
|
+
interface ExtractionSourceMessage {
|
|
10118
|
+
id: string;
|
|
10119
|
+
role: "user" | "assistant";
|
|
10120
|
+
content: string;
|
|
10121
|
+
/** Position in the conversation; must increase with send order. */
|
|
10122
|
+
seq: number;
|
|
10123
|
+
}
|
|
10124
|
+
/** `ready` runs the job, `later` leaves it queued without counting an attempt, `gone` drops it. */
|
|
10125
|
+
type ExtractionSourceStatus = "ready" | "later" | "gone";
|
|
10126
|
+
/** Resolves queued ids for a conversation that does not live in local chat history. */
|
|
10127
|
+
interface ExtractionMessageSource {
|
|
10128
|
+
status(conversationId: string): Promise<ExtractionSourceStatus>;
|
|
10129
|
+
load(conversationId: string, ids: string[]): Promise<ExtractionSourceMessage[]>;
|
|
10130
|
+
}
|
|
10114
10131
|
interface DurableAutoExtractorOptions extends Omit<CreateAutoExtractorOptions, "scope"> {
|
|
10115
10132
|
/**
|
|
10116
10133
|
* Scope for facts retained from newly queued turns. Pass an accessor to have
|
|
@@ -10149,6 +10166,14 @@ interface DurableAutoExtractorOptions extends Omit<CreateAutoExtractorOptions, "
|
|
|
10149
10166
|
batchTimeoutMs?: number;
|
|
10150
10167
|
/** Clock for the failed-session spacing. Defaults to `Date.now`. */
|
|
10151
10168
|
now?: () => number;
|
|
10169
|
+
/**
|
|
10170
|
+
* Message source for a conversation outside local chat history, or `undefined`
|
|
10171
|
+
* for history. Jobs still store only ids; the source resolves them at drain
|
|
10172
|
+
* time and is re-checked before every write.
|
|
10173
|
+
*/
|
|
10174
|
+
messageSource?: (conversationId: string) => ExtractionMessageSource | undefined;
|
|
10175
|
+
/** Ceiling on one `status` or `load` call of a message source. Defaults to 30 seconds. */
|
|
10176
|
+
sourceTimeoutMs?: number;
|
|
10152
10177
|
}
|
|
10153
10178
|
/** Durable client extraction. Call once per authenticated database session.
|
|
10154
10179
|
* Resumes pending jobs on creation, reads bounded batches from encrypted
|
|
@@ -11496,4 +11521,4 @@ interface UseChatStorageResult extends BaseUseChatStorageResult {
|
|
|
11496
11521
|
*/
|
|
11497
11522
|
declare function useChatStorage(options: UseChatStorageOptions): UseChatStorageResult;
|
|
11498
11523
|
|
|
11499
|
-
export { type AutoExtractMessage, type AutoExtractor, type Budget, CHUNKS_DISCARDED_ORIGIN, type CachedChunkVectors, type CachedServerTools, Conversation as ChatConversation, Message as ChatMessage, type ChatRole, type ChunkSearchStats, type ChunkVectorCache, type ChunkingOptions, type ConsolidationAction, type ConsolidationFallbackReason, type ConversationMemoryInput, ConversationMemory as ConversationMemoryModel, type ConversationMemoryOperationsContext, type CreateAutoExtractorOptions, type CreateConversationOptions, type CreateDecaySweeperOptions, type CreateMessageOptions, type CreateVaultFolderOptions, type CreateVaultMemoryOptions, type CryptoPriceClassification, type CryptoPricePreProcessorOptions, DEFAULT_CACHE_EXPIRATION_MS, DEFAULT_CHUNK_CACHE_SIZE, DEFAULT_CHUNK_OVERLAP, DEFAULT_CHUNK_SIZE, DEFAULT_DECAY_POLICY, DEFAULT_MAX_CLASSIFIER_CALLS_PER_SWEEP, DEFAULT_MIN_CHUNK_SIZE, DEFAULT_PROFILE_FACETS, DEFAULT_PROFILE_FACT_TYPE_WEIGHTS, DEFAULT_PROFILE_PROOF_ALPHA, DEFAULT_PROFILE_TREND_MULTIPLIERS, DEFAULT_VAULT_CACHE_SIZE, DatabaseManager, type DatabaseManagerLogger, type DatabaseManagerOptions, type DecayCandidateRaw, type DecayClassifier, type DecayInput, type DecayPolicy, type DecaySweepResult, type DecaySweeper, type DecayVerdict, type DurableAutoExtractorOptions, ENTITY_FANOUT, type EmbeddedWalletSignerFn, type EmbeddingRepairOptions, type EmbeddingRepairResult, EncryptionKeyMissingError, type ExtractFactsOptions, type ExtractOutcome, type ExtractedCandidate, type ExtractedEntity, type ExtractionCursorStore, type ExtractionFunnel, type ExtractionTimings, type FactType, type FileMetadata, type FileProcessingReason, type FileProcessingStatus, type FlushResult, type GetConversationsPageOptions, type GetMessagesPageOptions, type GraphTraversalOptions, HARD_DELETE_WINDOW_MS, INFERENCE_ID_HEADER, type InjectionClassifierOptions, type InjectionReason, type LazyStoredConversation, type LlmDecayClassifierOptions, type LlmNeighborRefinerOptions, type LocalMemoryStoreOptions, type Logger, LoggerProvider, type LoggerProviderProps, MAX_HOPS, MEDIUM_TTL_MS, MEMORY_KINDS, MEMORY_LEVELS, type ManualFactType, type MemoriesNeedingTopicExtraction, type MemoryContextItem, type MemoryContextLane, type MemoryContextOptions, type MemoryContextResult, type MemoryCreate, type MemoryDecay, type MemoryDecaySweeperOptions, type EmbeddingOptions as MemoryEngineEmbeddingOptions, type MemoryEngineResult, type MemoryEngineSearchOptions, type MemoryExtractedEvent, MemoryKeyError, type MemoryKeyRing, type MemoryKind, type MemoryLevel, MemoryLevelError, type MemoryListOptions, type MemoryMaintenance, type MemoryMigrationOptions, type MemoryMigrationProgress, type MemoryMigrationResult, type MemoryMigrationSkip, type MemoryQuarantinedEvent, type MemoryRecallOptions, type MemoryRetainOptions, type MemoryStore, type MemorySubscribeOptions, type MemoryToVerify, type MemoryTopic, type MemoryTopicBacklog, type MemoryTopicMaintenance, type MemoryUpdate, type MemoryVaultSearchOptions, type MemoryVaultToolOptions, type MemoryVerification, type MessageRedactionResult, type MessageSkeleton, NEVER_TTL_MS, NODE_BUDGET, NOTION_OAUTH_CONFIG, type NeighborRefiner, type NotionAuthUrlParams, type NotionClientRegistration, type NotionExchangeCodeParams, type NotionMcpCaller, type NotionOAuthEndpoints, type NotionPKCEChallenge, type NotionRefreshTokenParams, type NotionTokenResponse, type NowSource, type ObservationTrend, type ObservationTrendInput, PAST_EVENT_GRACE_MS, PII_PATTERNS, PROFILE_DOC_VERSION, type PhotoIngestResult, type PhotoMediaRef, type PiiCategory, type PiiMatch, type PiiPattern, PiiRedactor, type PiiRedactorOptions, type PlatformStorage, type PortalLlmAuth, type PortalLlmFailure, type PortalLlmFailureReason, type ProfileConfigFingerprint, type ProfileDoc, type ProfileFacet, type ProfileFacetKey, type ProfileSalienceInput, type ProfileSection, type PromptPreProcessor, type PromptPreProcessorContext, type PublishedPhotoMemory, type QuantizedEmbedding, type QuarantinedMemoryInfo, QueueManager, type QueueStatus, RECALL_MAX_LIMIT, RECALL_TOOL_NAME, type RankableVaultMemory, type RankedMemory, type RankedProfileCandidate, type RecallContext, type RecallDegradation, type RecallDiagnostics, type RecallEmptyReason, type RecallOptions, type RecallResult, type RecallTelemetryCallbacks, type RecallToolCallbacks, type RecallToolOptions, type RecallTruncation, type RecencyOptions, type RedactionResult, type ReflectOptions, type ReflectResult, type RemoteMemoryCandidateOptions, type RemoteMemoryDecodeFailure, RemoteMemoryError, type RemoteMemoryListOptions, type RemoteMemoryMetadataPage, type RemoteMemoryMetadataRecord, type RemoteMemoryPage, RemoteMemoryPartialCreateError, type RemoteMemoryPersistence, type RemoteMemoryPersistenceOptions, type RemoteMemoryPipeline, type RemoteMemoryPipelineOptions, type RemoteMemoryQueryOptions, type RemoteMemoryQueryPage, type RemoteMemoryReadFilters, type RemoteMemoryRecord, type RemoteMemoryRow, type RemoteMemoryStoreOptions, type RequestEncryptionKeyOptions, RerankerUnavailableError, type ReservationReceipt, type ResumeStreamOptions, type ResumeStreamResult, type ResumeStreamWithStorageResult, type RetainAction, type RetainContext, type RetainOptions, type RetainResult, type RetainSource, SDK_SCHEMA_VERSION, SHORT_TTL_MS, STREAM_RESUMABLE_HEADER, type ScoreBreakdown, type ScoreProfileSalienceOptions, type ScreenResult, type ScreenedCandidate, type SearchSource, type SendMessageWithStorageArgs, type SendMessageWithStorageDetachedResult, type SendMessageWithStorageResult, type ServerToolsOptions, type ServerToolsResponse, type SignMessageFn, type StockPriceClassification, type StockPricePreProcessorOptions, type ChatCompletionUsage as StoredChatCompletionUsage, type StoredConversation, type StoredConversationMemory, type StoredMessage, type StoredMessageWithSimilarity, type StoredTopic, type StoredVaultFolder, VaultFolder as StoredVaultFolderModel, type StoredVaultMemory, VaultMemory as StoredVaultMemoryModel, StreamExpiredError, type StreamMetaEvent, type StreamResumeHandle, type StreamSmoothingConfig, type SynthesizeProfileOptions, TOOL_RESULT_ORIGIN, TOPICS_EXTRACTION_VERSION, TOPIC_EXTRACTION_BATCH_SIZE, TOPIC_SALIENCE_WEIGHTS, TREND_RECENT_WINDOW_DAYS, TREND_STALE_WINDOW_DAYS, type TextChunk, type TopicExtractOptions, type TopicExtractionBatchDiagnostics, type TopicExtractionInput, type TopicExtractionRunResult, type TopicSalience, type TopicSkipReason, type TurnCompleteEvent, type TurnSkippedEvent, type UncheckedReason, type UnverifiableReason, type UpdateVaultFolderOptions, type UpdateVaultMemoryOptions, type UseChatStorageOptions, type UseChatStorageResult, type UseCreditsOptions, type UseCreditsResult, type UseModelsOptions, type UseModelsResult, VAULT_SIZE_HOP_CAP, type VaultEmbeddingCache, type VaultEmbeddingExpectation, type VaultFolderOperationsContext, type VaultMemoryKind, type VaultMemoryOperationsContext, type VaultMemoryProjection, type VaultMemoryVisibility, type VaultMemoryWriter, type VaultSaveOperation, type VaultSearchResult, type VaultWriteAction, type VaultWriteInput, type VaultWriteOutcome, type VerificationSources, type VerifyMemoriesForPublishOptions, WalletPoller, type WeatherClassification, type WeatherPreProcessorOptions, type WebSearchClassification, type WebSearchPreProcessorOptions, type WriteFailureReason, addConversationMemoriesOp, archiveVaultMemoryOp, assembleMemoryContext, attachFileContextToLastUserMessage, backfillMemoryTopicsOp, buildAttachedFilesText, buildNotionAuthUrl, capHopsForDensity, chatStorageMigrations, chatStorageSchema, chunkAndEmbedAllMessages, chunkAndEmbedMessage, chunkText, classifyCryptoPrice, classifyCryptoPriceBatch, classifyDecay, classifyInjectionCandidates, classifyObservationTrend, classifyStockPrice, classifyStockPriceBatch, classifyWeather, classifyWeatherBatch, classifyWebSearch, classifyWebSearchBatch, clearAllEncryptionKeys, clearAllEncryptionState, clearConversationMemoriesOp, clearEncryptionKey, clearLazyTitleCache, clearModelsCache, clearServerToolsCache, consoleLogger, conversationMemoryToStored, cosineInt8, createAutoExtractor, createChunkVectorCache, createCryptoPricePreProcessor, createDecaySweeper, createDurableAutoExtractor, createLlmDecayClassifier, createLlmNeighborRefiner, createLocalMemoryStore, createMemoryEngineTool, createMemoryVaultSearchTool, createMemoryVaultTool, createMessageSourceResolver, createNotionProxyTools, createNotionTools, createPlatformCursorStore, createRecallTool, createRemoteMemoryPersistence, createRemoteMemoryPipeline, createRemoteMemoryStore, createStockPricePreProcessor, createStreamingDeAnonymizer, createVaultEmbeddingCache, createVaultFolderOp, createVaultMemoriesBatchOp, createVaultMemoryOp, createWeatherPreProcessor, createWebSearchPreProcessor, decodeChunkVector, decryptConversationTitle, deleteAllVaultMemoriesForUserOp, deleteMessageOp, deleteVaultFolderOp, deleteVaultMemoryOp, dequantizeEmbedding, deriveKeyFromSignatureBytes, deriveMemoryKeyRing, discoverNotionOAuthEndpoints, eagerEmbedContent, embedAllMessages, embedMessage, encodeChunkVector, encryptToolCallEventsOp, ensureDefaultFoldersOp, exchangeNotionCode, extractAndLinkEntitiesForMemoriesOp, extractAndRetain, extractEntitiesForMemories, extractFacts, extractReservationReceipts, formatFileProcessingNotes, generateConversationId, generateEmbedding, generateEmbeddings, generateNotionPKCE, getAllVaultFoldersOp, getAllVaultMemoriesOp, getAllVaultMemoryContentsOp, getCachedServerTools, getConversationMemoriesOp, getConversationsByProjectLazyOp, getConversationsLazyOp, getConversationsPageOp, getDecayCandidatesRawOp, getLogger, getMemoriesNeedingTopicExtractionOp, getServerTools, getUnfiledVaultMemoriesOp, getVaultFolderMemoryCountOp, getVaultMemoriesByIdsOp, getVaultMemoryOp, getVaultRankingProjectionsOp, hardDeleteDecayedOp, hasEncryptionKey, ingestPublishedPhotoMemoriesOp, injectionSignatureCatalog, isAttachedFilesText, isDegradedTopicSkip, isEncrypted, isPiiRedactor, isRerankerAvailable, maskScopedEmbeddingCache, memoryCipher, migrateMemoriesToRemote, moveMemoriesToFolderOp, noopLogger, onKeyAvailable, parseMedia, preEmbedVaultMemories, primaryTopic, quantizeEmbedding, queueManager, rankProfileCandidates, recall, reencryptMemoryField, reflect, refreshEncryptionKeyIfMatches, refreshNotionAccessToken, registerNotionClient, relinkMemoryTopicsOp, requestEncryptionKey, resolvePiiRedactor, restoreVaultMemoryOp, resumeStream, retain, scoreProfileSalience, screenCandidatesForInjection, sdkMigrations, sdkModelClasses, sdkSchema, searchVaultMemories, seedEncryptionKeys, setLogger, setMemoryVisibilityOp, shouldChunkMessage, shouldRecallMemory, stampTopicsExtractedAtOp, streamCancelPath, streamReplayPath, stripLegacyChunkTextOp, summarizeObservationTrends, supersedeVaultMemoryOp, synthesizeProfile, topicWeight, traverseGraphLane, ttlForType, updateVaultFolderContextOp, updateVaultFolderOp, updateVaultMemoryEmbeddingOp, updateVaultMemoryOp, upsertMessageOp, useChat, useChatStorage, useCredits, useEncryption, useModels, verifyMemoriesForPublish, xhrTransport };
|
|
11524
|
+
export { type AutoExtractMessage, type AutoExtractor, type Budget, CHUNKS_DISCARDED_ORIGIN, type CachedChunkVectors, type CachedServerTools, Conversation as ChatConversation, Message as ChatMessage, type ChatRole, type ChunkSearchStats, type ChunkVectorCache, type ChunkingOptions, type ConsolidationAction, type ConsolidationFallbackReason, type ConversationMemoryInput, ConversationMemory as ConversationMemoryModel, type ConversationMemoryOperationsContext, type CreateAutoExtractorOptions, type CreateConversationOptions, type CreateDecaySweeperOptions, type CreateMessageOptions, type CreateVaultFolderOptions, type CreateVaultMemoryOptions, type CryptoPriceClassification, type CryptoPricePreProcessorOptions, DEFAULT_CACHE_EXPIRATION_MS, DEFAULT_CHUNK_CACHE_SIZE, DEFAULT_CHUNK_OVERLAP, DEFAULT_CHUNK_SIZE, DEFAULT_DECAY_POLICY, DEFAULT_MAX_CLASSIFIER_CALLS_PER_SWEEP, DEFAULT_MIN_CHUNK_SIZE, DEFAULT_PROFILE_FACETS, DEFAULT_PROFILE_FACT_TYPE_WEIGHTS, DEFAULT_PROFILE_PROOF_ALPHA, DEFAULT_PROFILE_TREND_MULTIPLIERS, DEFAULT_VAULT_CACHE_SIZE, DatabaseManager, type DatabaseManagerLogger, type DatabaseManagerOptions, type DecayCandidateRaw, type DecayClassifier, type DecayInput, type DecayPolicy, type DecaySweepResult, type DecaySweeper, type DecayVerdict, type DurableAutoExtractorOptions, ENTITY_FANOUT, type EmbeddedWalletSignerFn, type EmbeddingRepairOptions, type EmbeddingRepairResult, EncryptionKeyMissingError, type ExtractFactsOptions, type ExtractOutcome, type ExtractedCandidate, type ExtractedEntity, type ExtractionCursorStore, type ExtractionFunnel, type ExtractionMessageSource, type ExtractionSourceMessage, type ExtractionSourceStatus, type ExtractionTimings, type FactType, type FileMetadata, type FileProcessingReason, type FileProcessingStatus, type FlushResult, type GetConversationsPageOptions, type GetMessagesPageOptions, type GraphTraversalOptions, HARD_DELETE_WINDOW_MS, INFERENCE_ID_HEADER, type InjectionClassifierOptions, type InjectionReason, type LazyStoredConversation, type LlmDecayClassifierOptions, type LlmNeighborRefinerOptions, type LocalMemoryStoreOptions, type Logger, LoggerProvider, type LoggerProviderProps, MAX_HOPS, MEDIUM_TTL_MS, MEMORY_KINDS, MEMORY_LEVELS, type ManualFactType, type MemoriesNeedingTopicExtraction, type MemoryContextItem, type MemoryContextLane, type MemoryContextOptions, type MemoryContextResult, type MemoryCreate, type MemoryDecay, type MemoryDecaySweeperOptions, type EmbeddingOptions as MemoryEngineEmbeddingOptions, type MemoryEngineResult, type MemoryEngineSearchOptions, type MemoryExtractedEvent, MemoryKeyError, type MemoryKeyRing, type MemoryKind, type MemoryLevel, MemoryLevelError, type MemoryListOptions, type MemoryMaintenance, type MemoryMigrationOptions, type MemoryMigrationProgress, type MemoryMigrationResult, type MemoryMigrationSkip, type MemoryQuarantinedEvent, type MemoryRecallOptions, type MemoryRetainOptions, type MemoryStore, type MemorySubscribeOptions, type MemoryToVerify, type MemoryTopic, type MemoryTopicBacklog, type MemoryTopicMaintenance, type MemoryUpdate, type MemoryVaultSearchOptions, type MemoryVaultToolOptions, type MemoryVerification, type MessageRedactionResult, type MessageSkeleton, NEVER_TTL_MS, NODE_BUDGET, NOTION_OAUTH_CONFIG, type NeighborRefiner, type NotionAuthUrlParams, type NotionClientRegistration, type NotionExchangeCodeParams, type NotionMcpCaller, type NotionOAuthEndpoints, type NotionPKCEChallenge, type NotionRefreshTokenParams, type NotionTokenResponse, type NowSource, type ObservationTrend, type ObservationTrendInput, PAST_EVENT_GRACE_MS, PII_PATTERNS, PROFILE_DOC_VERSION, type PhotoIngestResult, type PhotoMediaRef, type PiiCategory, type PiiMatch, type PiiPattern, PiiRedactor, type PiiRedactorOptions, type PlatformStorage, type PortalLlmAuth, type PortalLlmFailure, type PortalLlmFailureReason, type ProfileConfigFingerprint, type ProfileDoc, type ProfileFacet, type ProfileFacetKey, type ProfileSalienceInput, type ProfileSection, type PromptPreProcessor, type PromptPreProcessorContext, type PublishedPhotoMemory, type QuantizedEmbedding, type QuarantinedMemoryInfo, QueueManager, type QueueStatus, RECALL_MAX_LIMIT, RECALL_TOOL_NAME, type RankableVaultMemory, type RankedMemory, type RankedProfileCandidate, type RecallContext, type RecallDegradation, type RecallDiagnostics, type RecallEmptyReason, type RecallOptions, type RecallResult, type RecallTelemetryCallbacks, type RecallToolCallbacks, type RecallToolOptions, type RecallTruncation, type RecencyOptions, type RedactionResult, type ReflectOptions, type ReflectResult, type RemoteMemoryCandidateOptions, type RemoteMemoryDecodeFailure, RemoteMemoryError, type RemoteMemoryListOptions, type RemoteMemoryMetadataPage, type RemoteMemoryMetadataRecord, type RemoteMemoryPage, RemoteMemoryPartialCreateError, type RemoteMemoryPersistence, type RemoteMemoryPersistenceOptions, type RemoteMemoryPipeline, type RemoteMemoryPipelineOptions, type RemoteMemoryQueryOptions, type RemoteMemoryQueryPage, type RemoteMemoryReadFilters, type RemoteMemoryRecord, type RemoteMemoryRow, type RemoteMemoryStoreOptions, type RequestEncryptionKeyOptions, RerankerUnavailableError, type ReservationReceipt, type ResumeStreamOptions, type ResumeStreamResult, type ResumeStreamWithStorageResult, type RetainAction, type RetainContext, type RetainOptions, type RetainResult, type RetainSource, SDK_SCHEMA_VERSION, SHORT_TTL_MS, STREAM_RESUMABLE_HEADER, type ScoreBreakdown, type ScoreProfileSalienceOptions, type ScreenResult, type ScreenedCandidate, type SearchSource, type SendMessageWithStorageArgs, type SendMessageWithStorageDetachedResult, type SendMessageWithStorageResult, type ServerToolsOptions, type ServerToolsResponse, type SignMessageFn, type StockPriceClassification, type StockPricePreProcessorOptions, type ChatCompletionUsage as StoredChatCompletionUsage, type StoredConversation, type StoredConversationMemory, type StoredMessage, type StoredMessageWithSimilarity, type StoredTopic, type StoredVaultFolder, VaultFolder as StoredVaultFolderModel, type StoredVaultMemory, VaultMemory as StoredVaultMemoryModel, StreamExpiredError, type StreamMetaEvent, type StreamResumeHandle, type StreamSmoothingConfig, type SynthesizeProfileOptions, TOOL_RESULT_ORIGIN, TOPICS_EXTRACTION_VERSION, TOPIC_EXTRACTION_BATCH_SIZE, TOPIC_SALIENCE_WEIGHTS, TREND_RECENT_WINDOW_DAYS, TREND_STALE_WINDOW_DAYS, type TextChunk, type TopicExtractOptions, type TopicExtractionBatchDiagnostics, type TopicExtractionInput, type TopicExtractionRunResult, type TopicSalience, type TopicSkipReason, type TurnCompleteEvent, type TurnSkippedEvent, type UncheckedReason, type UnverifiableReason, type UpdateVaultFolderOptions, type UpdateVaultMemoryOptions, type UseChatStorageOptions, type UseChatStorageResult, type UseCreditsOptions, type UseCreditsResult, type UseModelsOptions, type UseModelsResult, VAULT_SIZE_HOP_CAP, type VaultEmbeddingCache, type VaultEmbeddingExpectation, type VaultFolderOperationsContext, type VaultMemoryKind, type VaultMemoryOperationsContext, type VaultMemoryProjection, type VaultMemoryVisibility, type VaultMemoryWriter, type VaultSaveOperation, type VaultSearchResult, type VaultWriteAction, type VaultWriteInput, type VaultWriteOutcome, type VerificationSources, type VerifyMemoriesForPublishOptions, WalletPoller, type WeatherClassification, type WeatherPreProcessorOptions, type WebSearchClassification, type WebSearchPreProcessorOptions, type WriteFailureReason, addConversationMemoriesOp, archiveVaultMemoryOp, assembleMemoryContext, attachFileContextToLastUserMessage, backfillMemoryTopicsOp, buildAttachedFilesText, buildNotionAuthUrl, capHopsForDensity, chatStorageMigrations, chatStorageSchema, chunkAndEmbedAllMessages, chunkAndEmbedMessage, chunkText, classifyCryptoPrice, classifyCryptoPriceBatch, classifyDecay, classifyInjectionCandidates, classifyObservationTrend, classifyStockPrice, classifyStockPriceBatch, classifyWeather, classifyWeatherBatch, classifyWebSearch, classifyWebSearchBatch, clearAllEncryptionKeys, clearAllEncryptionState, clearConversationMemoriesOp, clearEncryptionKey, clearLazyTitleCache, clearModelsCache, clearServerToolsCache, consoleLogger, conversationMemoryToStored, cosineInt8, createAutoExtractor, createChunkVectorCache, createCryptoPricePreProcessor, createDecaySweeper, createDurableAutoExtractor, createLlmDecayClassifier, createLlmNeighborRefiner, createLocalMemoryStore, createMemoryEngineTool, createMemoryVaultSearchTool, createMemoryVaultTool, createMessageSourceResolver, createNotionProxyTools, createNotionTools, createPlatformCursorStore, createRecallTool, createRemoteMemoryPersistence, createRemoteMemoryPipeline, createRemoteMemoryStore, createStockPricePreProcessor, createStreamingDeAnonymizer, createVaultEmbeddingCache, createVaultFolderOp, createVaultMemoriesBatchOp, createVaultMemoryOp, createWeatherPreProcessor, createWebSearchPreProcessor, decodeChunkVector, decryptConversationTitle, deleteAllVaultMemoriesForUserOp, deleteMessageOp, deleteVaultFolderOp, deleteVaultMemoryOp, dequantizeEmbedding, deriveKeyFromSignatureBytes, deriveMemoryKeyRing, discoverNotionOAuthEndpoints, eagerEmbedContent, embedAllMessages, embedMessage, encodeChunkVector, encryptToolCallEventsOp, ensureDefaultFoldersOp, exchangeNotionCode, extractAndLinkEntitiesForMemoriesOp, extractAndRetain, extractEntitiesForMemories, extractFacts, extractReservationReceipts, formatFileProcessingNotes, generateConversationId, generateEmbedding, generateEmbeddings, generateNotionPKCE, getAllVaultFoldersOp, getAllVaultMemoriesOp, getAllVaultMemoryContentsOp, getCachedServerTools, getConversationMemoriesOp, getConversationsByProjectLazyOp, getConversationsLazyOp, getConversationsPageOp, getDecayCandidatesRawOp, getLogger, getMemoriesNeedingTopicExtractionOp, getServerTools, getUnfiledVaultMemoriesOp, getVaultFolderMemoryCountOp, getVaultMemoriesByIdsOp, getVaultMemoryOp, getVaultRankingProjectionsOp, hardDeleteDecayedOp, hasEncryptionKey, ingestPublishedPhotoMemoriesOp, injectionSignatureCatalog, isAttachedFilesText, isDegradedTopicSkip, isEncrypted, isPiiRedactor, isRerankerAvailable, maskScopedEmbeddingCache, memoryCipher, migrateMemoriesToRemote, moveMemoriesToFolderOp, noopLogger, onKeyAvailable, parseMedia, preEmbedVaultMemories, primaryTopic, quantizeEmbedding, queueManager, rankProfileCandidates, recall, reencryptMemoryField, reflect, refreshEncryptionKeyIfMatches, refreshNotionAccessToken, registerNotionClient, relinkMemoryTopicsOp, requestEncryptionKey, resolvePiiRedactor, restoreVaultMemoryOp, resumeStream, retain, scoreProfileSalience, screenCandidatesForInjection, sdkMigrations, sdkModelClasses, sdkSchema, searchVaultMemories, seedEncryptionKeys, setLogger, setMemoryVisibilityOp, shouldChunkMessage, shouldRecallMemory, stampTopicsExtractedAtOp, streamCancelPath, streamReplayPath, stripLegacyChunkTextOp, summarizeObservationTrends, supersedeVaultMemoryOp, synthesizeProfile, topicWeight, traverseGraphLane, ttlForType, updateVaultFolderContextOp, updateVaultFolderOp, updateVaultMemoryEmbeddingOp, updateVaultMemoryOp, upsertMessageOp, useChat, useChatStorage, useCredits, useEncryption, useModels, verifyMemoriesForPublish, xhrTransport };
|
package/dist/expo/index.mjs
CHANGED
|
@@ -22461,6 +22461,43 @@ function createDurableAutoExtractor(options) {
|
|
|
22461
22461
|
return "private";
|
|
22462
22462
|
}
|
|
22463
22463
|
};
|
|
22464
|
+
async function fromSource(call) {
|
|
22465
|
+
let timeout;
|
|
22466
|
+
try {
|
|
22467
|
+
return await Promise.race([
|
|
22468
|
+
call,
|
|
22469
|
+
new Promise((_resolve, reject) => {
|
|
22470
|
+
timeout = setTimeout(
|
|
22471
|
+
() => reject(new Error("Message source did not answer in time")),
|
|
22472
|
+
options.sourceTimeoutMs ?? 3e4
|
|
22473
|
+
);
|
|
22474
|
+
})
|
|
22475
|
+
]);
|
|
22476
|
+
} finally {
|
|
22477
|
+
if (timeout !== void 0) clearTimeout(timeout);
|
|
22478
|
+
}
|
|
22479
|
+
}
|
|
22480
|
+
async function loadFromSource(source, conversationId, ids) {
|
|
22481
|
+
const byId = new Map(
|
|
22482
|
+
(await fromSource(source.load(conversationId, ids))).map((m) => [m.id, m])
|
|
22483
|
+
);
|
|
22484
|
+
return ids.map((id) => {
|
|
22485
|
+
const message = byId.get(id);
|
|
22486
|
+
return message ? {
|
|
22487
|
+
uniqueId: message.id,
|
|
22488
|
+
messageId: message.seq,
|
|
22489
|
+
conversationId,
|
|
22490
|
+
role: message.role,
|
|
22491
|
+
content: message.content
|
|
22492
|
+
} : null;
|
|
22493
|
+
});
|
|
22494
|
+
}
|
|
22495
|
+
async function sourcesEligible(conversationId, ids) {
|
|
22496
|
+
const source = options.messageSource?.(conversationId);
|
|
22497
|
+
if (source)
|
|
22498
|
+
return await fromSource(source.status(conversationId)) === "ready" && (await loadFromSource(source, conversationId, ids)).every(Boolean);
|
|
22499
|
+
return await storage.conversationsCollection.query(Q9.where("conversation_id", conversationId), Q9.where("is_deleted", false)).fetchCount() > 0 && await storage.messagesCollection.query(Q9.where("conversation_id", conversationId), Q9.where("id", Q9.oneOf(ids))).fetchCount() === ids.length;
|
|
22500
|
+
}
|
|
22464
22501
|
function schedule(delay) {
|
|
22465
22502
|
if (disposed) return;
|
|
22466
22503
|
if (running || timer !== void 0) {
|
|
@@ -22489,7 +22526,7 @@ function createDurableAutoExtractor(options) {
|
|
|
22489
22526
|
...options.retainCtx,
|
|
22490
22527
|
vaultCtx: {
|
|
22491
22528
|
...vault,
|
|
22492
|
-
canWrite: async () => !disposed && !cancelled && await
|
|
22529
|
+
canWrite: async () => !disposed && !cancelled && await sourcesEligible(conversationId, ids) && (!vault.canWrite || await vault.canWrite()) && !disposed && !cancelled
|
|
22493
22530
|
}
|
|
22494
22531
|
},
|
|
22495
22532
|
extract: { ...options.extract, ...model !== void 0 && { model } },
|
|
@@ -22630,6 +22667,7 @@ function createDurableAutoExtractor(options) {
|
|
|
22630
22667
|
wakeRequested = false;
|
|
22631
22668
|
let retry = false;
|
|
22632
22669
|
let scheduleAfterSuccess = false;
|
|
22670
|
+
let sourceWaiting = false;
|
|
22633
22671
|
try {
|
|
22634
22672
|
await writes;
|
|
22635
22673
|
const pending = await jobs.query(Q9.where("owner_key", owner), Q9.where("message_ids", Q9.notEq("[]"))).fetch();
|
|
@@ -22640,23 +22678,37 @@ function createDurableAutoExtractor(options) {
|
|
|
22640
22678
|
const attempted = attempts.get(job.id) ?? 0;
|
|
22641
22679
|
if (attempted >= MAX_ATTEMPTS || skippedThisSession.has(job.id) || awaitingKey.has(job.id))
|
|
22642
22680
|
continue;
|
|
22681
|
+
const conversationId = String(job._getRaw("conversation_id"));
|
|
22682
|
+
const source = options.messageSource?.(conversationId);
|
|
22683
|
+
let sourceStatus;
|
|
22684
|
+
if (source) {
|
|
22685
|
+
try {
|
|
22686
|
+
sourceStatus = await fromSource(source.status(conversationId));
|
|
22687
|
+
} catch (error) {
|
|
22688
|
+
reportError(error, conversationId);
|
|
22689
|
+
sourceStatus = "later";
|
|
22690
|
+
}
|
|
22691
|
+
if (sourceStatus === "later") {
|
|
22692
|
+
sourceWaiting = true;
|
|
22693
|
+
continue;
|
|
22694
|
+
}
|
|
22695
|
+
}
|
|
22643
22696
|
if (processed >= MAX_JOBS_PER_PASS) {
|
|
22644
22697
|
scheduleAfterSuccess = true;
|
|
22645
22698
|
break;
|
|
22646
22699
|
}
|
|
22647
22700
|
processed++;
|
|
22648
|
-
const conversationId = String(job._getRaw("conversation_id"));
|
|
22649
22701
|
const epochAtRead = keyEpoch;
|
|
22650
22702
|
let ids = [];
|
|
22651
22703
|
let loaded = [];
|
|
22652
22704
|
try {
|
|
22653
|
-
const
|
|
22654
|
-
if (!
|
|
22705
|
+
const present = source ? sourceStatus === "ready" : await storage.conversationsCollection.query(Q9.where("conversation_id", conversationId), Q9.where("is_deleted", false)).fetchCount() > 0;
|
|
22706
|
+
if (!present) {
|
|
22655
22707
|
await database.write(() => job.destroyPermanently());
|
|
22656
22708
|
continue;
|
|
22657
22709
|
}
|
|
22658
22710
|
ids = idsOf(job).slice(0, 20);
|
|
22659
|
-
loaded = await Promise.all(ids.map((id) => getMessageOp(storage, id)));
|
|
22711
|
+
loaded = source ? await loadFromSource(source, conversationId, ids) : await Promise.all(ids.map((id) => getMessageOp(storage, id)));
|
|
22660
22712
|
const missing = ids.filter((_id, index) => loaded[index] === null);
|
|
22661
22713
|
if (missing.length) {
|
|
22662
22714
|
if (attempted < MAX_ATTEMPTS - 1)
|
|
@@ -22700,7 +22752,7 @@ function createDurableAutoExtractor(options) {
|
|
|
22700
22752
|
);
|
|
22701
22753
|
continue;
|
|
22702
22754
|
}
|
|
22703
|
-
const locked = loaded.filter(
|
|
22755
|
+
const locked = source ? [] : loaded.filter(
|
|
22704
22756
|
(message) => !!message && isEncrypted(message.content)
|
|
22705
22757
|
);
|
|
22706
22758
|
if (locked.length) {
|
|
@@ -22788,6 +22840,7 @@ function createDurableAutoExtractor(options) {
|
|
|
22788
22840
|
wakeRequested = false;
|
|
22789
22841
|
if (retry || scheduleAfterSuccess || woken)
|
|
22790
22842
|
schedule(retry ? options.retryDelayMs ?? 3e4 : 0);
|
|
22843
|
+
else if (sourceWaiting) schedule(options.retryDelayMs ?? 3e4);
|
|
22791
22844
|
}
|
|
22792
22845
|
}
|
|
22793
22846
|
function dispose() {
|
|
@@ -22822,7 +22875,8 @@ function createDurableAutoExtractor(options) {
|
|
|
22822
22875
|
(candidate) => candidate._getRaw("scope") === scope && (candidate._getRaw("folder_id") ?? null) === folderId
|
|
22823
22876
|
);
|
|
22824
22877
|
const positions = new Map(ids.map((id, index) => [id, index]));
|
|
22825
|
-
const
|
|
22878
|
+
const fromSourceConversation = options.messageSource?.(conversationId) !== void 0;
|
|
22879
|
+
const watermarks = fromSourceConversation ? [] : existing.flatMap((prior) => {
|
|
22826
22880
|
const watermark = prior._getRaw("watermark");
|
|
22827
22881
|
return typeof watermark === "string" && watermark ? [watermark] : [];
|
|
22828
22882
|
});
|
|
@@ -22840,11 +22894,16 @@ function createDurableAutoExtractor(options) {
|
|
|
22840
22894
|
r._setRaw("watermark_seq", null);
|
|
22841
22895
|
});
|
|
22842
22896
|
}
|
|
22843
|
-
const rows = await storage.messagesCollection.query(Q9.where("id", Q9.oneOf(ids))).fetch();
|
|
22897
|
+
const rows = fromSourceConversation ? [] : await storage.messagesCollection.query(Q9.where("id", Q9.oneOf(ids))).fetch();
|
|
22844
22898
|
const foreignRows = new Set(
|
|
22845
22899
|
rows.filter((row) => row._getRaw("conversation_id") !== conversationId).map((row) => row.id)
|
|
22846
22900
|
);
|
|
22847
22901
|
const sequences = /* @__PURE__ */ new Map();
|
|
22902
|
+
if (fromSourceConversation) {
|
|
22903
|
+
for (const message of messages)
|
|
22904
|
+
if (message.seq !== void 0 && message.seq > 0)
|
|
22905
|
+
sequences.set(message.id, message.seq);
|
|
22906
|
+
}
|
|
22848
22907
|
for (const row of rows) {
|
|
22849
22908
|
if (foreignRows.has(row.id)) continue;
|
|
22850
22909
|
const sequence = Number(row._getRaw("message_id"));
|
|
@@ -22877,14 +22936,17 @@ function createDurableAutoExtractor(options) {
|
|
|
22877
22936
|
reportError(error, conversationId);
|
|
22878
22937
|
}
|
|
22879
22938
|
}
|
|
22880
|
-
|
|
22939
|
+
const ordered = fromSourceConversation && ids.every((id) => sequences.has(id));
|
|
22940
|
+
if (boundary < 0 && !ordered && existing.some(
|
|
22941
|
+
(prior) => idsOf(prior).length > 0 || seqOf(prior) !== void 0 || fromSourceConversation && !!prior._getRaw("watermark")
|
|
22942
|
+
)) {
|
|
22881
22943
|
reportError(
|
|
22882
22944
|
new Error("Extraction boundary unresolved; skipped rather than re-observing"),
|
|
22883
22945
|
conversationId
|
|
22884
22946
|
);
|
|
22885
22947
|
return;
|
|
22886
22948
|
}
|
|
22887
|
-
const start = boundary >= 0 ? boundary + 1 : Math.max(0, ids.length - Math.max(1, options.windowSize ?? 6));
|
|
22949
|
+
const start = boundary >= 0 ? boundary + 1 : fromSourceConversation ? 0 : Math.max(0, ids.length - Math.max(1, options.windowSize ?? 6));
|
|
22888
22950
|
if (start >= ids.length) return;
|
|
22889
22951
|
const ownWatermark = job?._getRaw("watermark");
|
|
22890
22952
|
const atOwnWatermark = !!job && boundary >= 0 && failedSessionsOf(job, String(ownWatermark)) < MAX_FAILED_SESSIONS && (ids[boundary] === ownWatermark || sequences.get(ids[boundary]) !== void 0 && sequences.get(ids[boundary]) === seqOf(job));
|